一种无线传感网事务协调方法

文档序号:7889637阅读:203来源:国知局
专利名称:一种无线传感网事务协调方法
技术领域
本发明涉及无线传感网的数据管理一致性,具体涉及无线传感网保证数据一致性的事务协调方法。
背景技术
WSN (Wireless Sensor Networks,无线传感网)是一种分布式的环境,一般由基站和传感器两种类型的节点构成,随着WSN应用领域的多样性和复杂性,WSN不再仅仅以查询处理为主,也涉及到了对传感器元信息的更新操作,对于分布式环境下的数据更新,就需要事务处理技术支持来保证数据的一致性,另外WSN多以连续性的查询为主,即一些周期性的持续性的查询,对WSN的更新操作可能会影响连续查询结果的正确性,所以通过无线传感网事务协调方法来保证数据一致性。协调多个参与结点的数据更新以及协调更新与查询操作的串行执行是无线传感网事务处理的核心技术。无线传感网事务包括更新事务和查询事务两种,本发明通过协调者时间触发器Tc和参与者时间触发器Tp对协调者和参与者的协调过程进行控制,参与者通过向协调者发送CONFLICT报文报告冲突,协调者通过广播 CANCEL报文来取消更新结果。即使在协调过程中有节点出现故障,也不会影响结果的一致性。

发明内容
技术问题本发明的目的在于提供一种无线传感网事务协调方法,通过协调方法保证参与节点数据更新的原子性以及查询事务、更新事务并发执行结果的一致性。技术方法本发明包括状态集、事件集、协调者协调过程和参与者协调过程。协调方法涉及协调者和参与者两方参与,通过无线传感网事务协调方法来保证协调结果的一致性。I. 一种无线传感网事务协调方法,其特征在于该协调方法包括状态集、事件集、 协调者协调过程和参与者协调过程,其协调方法按如下步骤进行
1.)基站为协调者,传感器节点为参与者;
协调者的状态集为{初始化状态,消息收集状态,已提交状态,已取消状态};参与者的状态集为{初始化状态,提交中状态,取消中状态,已提交状态,已取消状态},
协调者和参与者协调过程中的事件集包括{协调者定时器事件,参与者定时器事件, 报文发送事件,报文接收事件},
协调者和参与者协调过程中发送和接收的报文集包括{事务上下文报文,确认报文, 冲突报文,取消报文};
2.)协调者最初处于初始化状态,协调者的初始化过程具体为a.基站作为协调者会根据需求通知事务管理器开启一个全局事务,一个全局事务用一个随机数来标识,事务涉及的内容包括事务标识、事务上下文即事务要进行的操作、该事务包含的参与者集合;b. 准入并发控制阶段,协调者即基站端主要应解决读一写造成的冲突,如一个查询事务正在
4执行,此时又开启了一个更新事务,那么这时需要进行冲突检测;具体操作如下事务管理器初始化该事务后,会把事务送入准入并发控制模块,准入并发控制模块检查更新事务要修改的元信息与正在执行的查询事务查询的数据是否存在关联,如果存在关联,则正在执行的查询事务与该更新事务相冲突,更新事务被挂起,被送入事务冲突队列等待,查询事务执行完成后,会触发事务管理器检查事务冲突队列,重启被挂起的事务,如果不存在关联, 则进入初始化状态,发送事务上下文报文;
3.)当协调者报文发送事件到达时,协调者根据发送的报文内容进行分类处理,具体操作为a.若为事务上下文报文,则协调者广播事务上下文至各参与者,同时开启协调者定时器,用于控制协调者的事务状态转换,接着协调者进入消息收集状态;b.若为取消报文,则协调者广播取消报文至各参与者,并直接取消定时器事件,接着协调者进入事务已取消状态;
4.)当协调者报文接收事件到达时,协调者根据接收到的报文内容进行分类处理,具体操作为a.若为确认报文,如果协调者处于消息收集状态,则协调者仍然处于消息收集状态,继续收集参与者发来的消息,并等待协调者定时器事件的触发,如果协调者处于其他状态,则不作任何处理;b.若为冲突报文,则说明某一参与者遇到事务冲突,整个全局事务需要撤销操作来保证最终结果的一致性,此时协调者会广播取消报文至各参与者,并取消协调者定时器事件,协调者进入事务已取消状态,事务结束;
5.)当协调者定时器事件到达时,若协调者一直没收到冲突报文,收到的只是参与者发来的确认报文,意味着所有参与者都没有遇到冲突,事务可以进行提交,协调者转入事务已提交状态;另外若协调者一直没有收到某个参与者的确认报文或冲突报文,则事务仍然正常提交,原因在于此种情况为参与者失效,而无线传感网为自组织型网络,会通过网络自组织协调剔除失效的节点,所以事务协调结果仍然保持一致性状态;
6.)当参与者报文接收事件到达时,参与者根据接收到的报文内容进行分类处理,具体操作为a.若为事务上下文报文,则参与者开始进入事务初始化状态,同时启动参与者定时器,用于控制事务最终的状态转换;参与者初始化完成后,需要进行传感器端的冲突验证,传感器由于自身的特性也可能会自发修改元信息,如电量低于30%时自动把采样率调整为原来的一半,所以传感器上可能存在写一写冲突;如一个事务准备修改一个数据,而在验证阶段发现当前活动的事务与该事务修改同样的数据,这时两个事务存在冲突,该事务需要暂停,具体操作如下参与者通过对比当前事务操作的数据集和正在执行的事务操作的数据集,即检查两个事务是否在修改同一份数据,若是则说明当前事务遇到冲突,否则事务正常执行;遇到冲突的参与者向协调者发送冲突报文,没有冲突的参与者向协调者发送确认报文;b.若为取消报文,则参与者会把当前事务的状态标志置为取消中状态,参与者进入取消中状态,等待参与者定时器事件触发;
7.)当参与者报文发送事件到达时,参与者根据发送的报文内容进行分类处理,具体操作为a.若为确认报文,则参与者进入提交中状态;b.若为冲突报文,则参与者进入取消中状态;
8.)当参与者定时器事件到达时,检测相应参与者事务状态标志,若参与者事务状态为取消中状态,则参与者转入已取消状态,否则参与者转入已提交状态。有益效果本事务协调方法能够简化事务协调流程,有效处理传感网内事务冲突,通过触发机制避免事务频繁重启,保证无线传感网数据一致性,适应无线传感网的特点。


图I适用的WSN网络结构图,
图2协调者状态转换图,
图3参与者状态转换图,
图4协调者事务协调流程图,
图5参与者事务协调流程图,
图6事务处理模块内部结构图。
具体实施例方式无线传感网事务协调方法表示为一个五元组(SI,S2,E, Al, A2),其中SI代表协调者的状态集,S2代表参与者的状态集,E代表协调过程中的事件集,Al表示协调者协调过程,A2表示参与者协调过程。本发明的无线传感网事务协调方法按如下步骤进行
1.)基站为协调者,传感器节点为参与者;
2.)协调者的状态集为{初始化状态,消息收集状态,已提交状态,已取消状态};参与者的状态集为{初始化状态,提交中状态,取消中状态,已提交状态,已取消状态};
3.)协调者和参与者协调过程中的事件集包括{协调者定时器事件,参与者定时器事件,报文发送事件,报文接收事件};
4.)协调者和参与者协调过程中发送和接收的报文集包括{事务上下文报文,确认报文,冲突报文,取消报文};
5.)协调者最初处于初始化状态,协调者的初始化过程具体为a.基站作为协调者会根据需求通知事务管理器开启一个全局事务,一个全局事务用一个随机数来标识,事务涉及的内容包括事务标识、事务上下文即事务要进行的操作、该事务包含的参与者集合。b. 准入并发控制阶段,协调者即基站端主要应解决读一写造成的冲突,如一个查询事务正在执行,此时又开启了一个更新事务,那么这时需要进行冲突检测。具体操作如下事务管理器初始化该事务后,会把事务送入准入并发控制模块,准入并发控制模块检查更新事务要修改的元信息与正在执行的查询事务查询的数据是否存在关联,如果存在关联,则正在执行的查询事务与该更新事务相冲突,更新事务被挂起,被送入事务冲突队列等待,查询事务执行完成后,会触发事务管理器检查事务冲突队列,重启被挂起的事务,如果不存在关联, 则进入初始化状态,发送事务上下文报文;
6.)当协调者报文发送事件到达时,协调者根据发送的报文内容进行分类处理,具体操作为a.若为事务上下文报文,则协调者广播事务上下文至各参与者,同时开启协调者定时器,用于控制协调者的事务状态转换,接着协调者进入消息收集状态。b.若为取消报文,则协调者广播取消报文至各参与者,并直接取消定时器事件,接着协调者进入事务已取消状态;
7.)当协调者报文接收事件到达时,协调者根据接收到的报文内容进行分类处理,具体操作为a.若为确认报文,如果协调者处于消息收集状态,则协调者仍然处于消息收集
6状态,继续收集参与者发来的消息,并等待协调者定时器事件的触发,如果协调者处于其他状态,则不作任何处理。b.若为冲突报文,则说明某一参与者遇到事务冲突,整个全局事务需要撤销操作来保证最终结果的一致性,此时协调者会广播取消报文至各参与者,并取消协调者定时器事件,协调者进入事务已取消状态,事务结束;
8.)当协调者定时器事件到达时,若协调者一直没收到冲突报文,收到的只是参与者发来的确认报文,意味着所有参与者都没有遇到冲突,事务可以进行提交,协调者转入事务已提交状态。另外若协调者一直没有收到某个参与者的确认报文或冲突报文,则事务仍然正常提交,原因在于此种情况为参与者失效,而无线传感网为自组织型网络,会通过网络自组织协调剔除失效的节点,所以事务协调结果仍然保持一致性状态;
9.)当参与者报文接收事件到达时,参与者根据接收到的报文内容进行分类处理,具体操作为a.若为事务上下文报文,则参与者开始进入事务初始化状态,同时启动参与者定时器,用于控制事务最终的状态转换。参与者初始化完成后,需要进行传感器端的冲突验证,传感器由于自身的特性也可能会自发修改元信息,如电量低于30%时自动把采样率调整为原来的一半,所以传感器上可能存在写一写冲突。如一个事务准备修改一个数据,而在验证阶段发现当前活动的事务与该事务修改同样的数据,这时两个事务存在冲突,当前事务需要暂停。具体操作如下参与者通过对比当前事务操作的数据集和正在执行的事务操作的数据集,即检查两个事务是否在修改同一份数据,若是则说明当前事务遇到冲突,否则事务正常执行。遇到冲突的参与者向协调者发送冲突报文,没有冲突的参与者向协调者发送确认报文。b.若为取消报文,则参与者会把当前事务的状态标志置为取消中状态,参与者进入取消中状态,等待参与者定时器事件触发;
10.)当参与者报文发送事件到达时,参与者根据发送的报文内容进行分类处理,具体操作为a.若为确认报文,则参与者进入提交中状态。b.若为冲突报文,则参与者进入取消中状态;
11.)当参与者定时器事件到达时,检测相应参与者事务状态标志,若参与者事务状态为取消中状态,则参与者转入已取消状态,否则参与者转入已提交状态;
在图I中,描述本事务提交协议适用的WSN网络结构图,是一个平面的网络结构,只包含基站和传感器两种类型节点。在图2和图3中,椭圆代表一个状态,带实心圆圈的箭头代表事务启动,实线箭头代表状态的转换由报文发送事件或报文接收事件触发,虚线箭头代表状态转换由定时器触发,实线箭头上‘/’前面的内容代表接收到的报文,‘/’后面的内容代表发送的报文,Tc、Tp分别代表协调者、参与者定时器。在图2中,描述了无线传感网事务协调方法的协调者状态转换图,从最初的初始化状态,经历消息收集状态并最终进入已提交或已取消状态。在图3中,描述了无线传感网事务协调方法的参与者状态转换图,从收到协调者的事务上下文,进入初始化状态,然后转入提交中或取消中状态并最终进入已提交或已取消状态。在图4中,描述了无线传感网事务协调方法的协调者事务执行流程图,从初始化全局事务,进行并发冲突验证,接着广播事务上下文,以及最后在定时器的控制下最终事务提交或撤销。在图5中,描述了无线传感网事务协调方法的参与者事务执行流程图, 从接收到协调者的事务上下文报文,冲突验证,接着向协调者反馈确认或冲突报文,最终在定时器的控制下事务提交或者撤销。在图6中,描述了整个事务控制模块的内部结构,事务管理器管理事务的生命周期,包括初始化、验证、执行、销毁等,事务管理器开启的事务会送
7入准入/并发控制模块进行验证,通过验证才会进入事务队列,等待被调度执行,发生冲突的事务会送入事务冲突队列,暂停执行,一个事务结束会触发事务管理器检查冲突队列,重启被挂起的事务。I、基站为协调者,传感器节点为参与者;
2、协调者状态集SI
协调者状态集 SI 包括{initial, collecting, committed, canceled},其中 initial :初始化状态,collecting :消息收集状态,committed :已提交状态,canceled :已取消状态;
3、参与者状态集S2
参与者状态集S2包括{initial, committing, canceling, committed, canceled}, 其中initial :初始化状态,committing :提交中状态,canceling :取消中状态,committed 已提交状态,canceled :已取消状态;
4、事件集E
协调者和参与者协调过程中的事件集E包括{Tc,Tp,报文发送事件,报文接收事件}, 其中Tc :协调者定时器事件,Tp :参与者定时器事件;
5、事务协调过程中的报文集
协调者和参与者协调过程中发送和接收的报文集包括{TCTX,ACK, CONFLICT, CANCEL},其中TCTX :事务上下文,ACK :确认报文,CONFLICT :冲突报文,CANCEL :取消报文;
6、协调者事务协调过程Al
第一步协调者发起一个全局事务WSNT,WSNT为一个三元组(TID,TCTX, P),TID代表事务标识,TCTX代表事务上下文,P代表参与者集合;
第二步事务TID进入准入并发控制模块进行验证,通过与事务执行队列中的事务进行对比,检查更新事务的数据集与查询事务的目标数据是否存在关联,如查询事务正在查询温度统计测量值,更新事务要更新传感器温度计量单位元信息即两个事务不相容,当前的更新事务必须暂停;
第三步事务TID若通过第二步验证,则进入事务执行阶段,协调者进入initial状态, 协调者通过广播的形式把事务上下文TCTX发送至各参与者,同时启动一个协调者定时器 Tc控制事务提交或撤销。若没有通过第二步验证,事务TID会被暂停,进入事务冲突队列, 等待事务管理器被触发再次调度,重新进入第二步;
第四步协调者转入collecting状态,接收各参与者反馈的消息;
第五步若协调者收到任一参与者发送的CONFLICT报文,则广播CANCEL报文到各个参与者,并撤销定时器事件,取消事务提交,协调者转入canceled状态。为了保证参与者都能收到CANCEL报文,收到CANCEL报文的参与者同时也向自己的邻居转发CANCEL报文。如果协调者没有收到CONFLICT报文,则协调者定时器触发时,协调者转入committed状态,提交事务,事务执行结束;
7、参与者事务协调过程A2
第一步参与者节点收到协调者广播的事务上下文TCTX ;
第二步参与者进入initial状态,参与者根据TCTX初始化事务,启动一个参与者定时器Tp控制事务状态转换;第三步参与者进行传感器端的冲突验证,当前事务操作的数据集和活动事务操作的数据集进行比较,即检查两个事务是否在准备修改同一份数据。如果不是修改同一份数据, 则验证通过;
第四步通过第三步冲突验证则参与者进入事务提交准备阶段,即将要更新的信息准备好,此时并没有发生数据的真正改变,准备好的参与者向协调者ACK信息,转入 committing状态。若未通过第三步冲突验证,则参与者向协调者发送CONFLICT报文,转入 canceling 状态;
第五步如果参与者处于committing状态时,收到CANCEL报文,则转入canceling状态;如果参与者处于canceling状态时,收到CANCEL报文,则仍处于canceling状态;
第六步参与者定时器Tp触发时,如果参与者处于committing状态,则转入 committed状态,事务正常提交;如果参与者处于canceling状态,则转入committed状态, 事务被取消,数据不会更新。无线传感网事务协调方法验证示例
I、无冲突存在情况假定基站发起更新事务时,不存与之相冲突的事务,并且分布在每个传感器上的本地事务也不存在冲突,本事务协调方法通过协调协调者和各参与者进行事务提交,有效的保证了 WSN数据一致性。2、传感器节点存在冲突情况假定基站发起更新事务,基站广播事务上下文至各参与者,此时某个参与者检测到冲突存在,这时这个参与者会向协调者发送CONFLICT报文,协调者收到CONFLICT报文后,向所有参与者发送CANCEL报文,所有参与者收到CANCEL 报文后,取消所做的更新操作,保证了数据一致性。3、基站上连续查询事务与更新事务并发冲突情况假定基站正在运行一个连续查询事务,查询一段时间内的温度统计测量值,此时又发起一个更新事务,准备更改部分节点的温度测量单位,这时更新事务进入准入并发控制模块进行验证,通过与事务执行队列中的事务进行对比,检查更新事务的数据集与查询事务的目标数据是否存在关联,发现存在关联,则更新事务被暂停,进入事务冲突队列,等待查询事务提交后,事务管理器在事务冲突队列中唤醒等待的更新事务,实现相关联的查询和更新的串行执行,保证了数据一致性。
权利要求
1. 一种无线传感网事务协调方法,其特征在于该协调方法包括状态集、事件集、协调者协调过程和参与者协调过程,其协调方法按如下步骤进行.1.)基站为协调者,传感器节点为参与者;协调者的状态集为{初始化状态,消息收集状态,已提交状态,已取消状态};参与者的状态集为{初始化状态,提交中状态,取消中状态,已提交状态,已取消状态};协调者和参与者协调过程中的事件集包括{协调者定时器事件,参与者定时器事件, 报文发送事件,报文接收事件};协调者和参与者协调过程中发送和接收的报文集包括{事务上下文报文,确认报文, 冲突报文,取消报文};.2.)协调者最初处于初始化状态,协调者的初始化过程具体为a.基站作为协调者会根据需求通知事务管理器开启一个全局事务,一个全局事务用一个随机数来标识,事务涉及的内容包括事务标识、事务上下文即事务要进行的操作、该事务包含的参与者集合;b. 准入并发控制阶段,协调者即基站端主要应解决读一写造成的冲突,如一个查询事务正在执行,此时又开启了一个更新事务,那么这时需要进行冲突检测;具体操作如下事务管理器初始化该事务后,会把事务送入准入并发控制模块,准入并发控制模块检查更新事务要修改的元信息与正在执行的查询事务查询的数据是否存在关联,如果存在关联,则正在执行的查询事务与该更新事务相冲突,更新事务被挂起,被送入事务冲突队列等待,查询事务执行完成后,会触发事务管理器检查事务冲突队列,重启被挂起的事务,如果不存在关联, 则协调者进入初始化状态,发送事务上下文报文;.3.)当协调者报文发送事件到达时,协调者根据发送的报文内容进行分类处理,具体操作为a.若为事务上下文报文,则协调者广播事务上下文至各参与者,同时开启协调者定时器,用于控制协调者的事务状态转换,接着协调者进入消息收集状态;b.若为取消报文,则协调者广播取消报文至各参与者,并直接取消定时器事件,接着协调者进入事务已取消状态;.4.)当协调者报文接收事件到达时,协调者根据接收到的报文内容进行分类处理,具体操作为a.若为确认报文,如果协调者处于消息收集状态,则协调者仍然处于消息收集状态,继续收集参与者发来的消息,并等待协调者定时器事件的触发,如果协调者处于其他状态,则不作任何处理;b.若为冲突报文,则说明某一参与者遇到事务冲突,整个全局事务需要撤销操作来保证最终结果的一致性,此时协调者会广播取消报文至各参与者,并取消协调者定时器事件,协调者进入事务已取消状态,事务结束;.5.)当协调者定时器事件到达时,若协调者一直没收到冲突报文,收到的只是参与者发来的确认报文,意味着所有参与者都没有遇到冲突,事务可以进行提交,协调者转入事务已提交状态;另外若协调者一直没有收到某个参与者的确认报文或冲突报文,则事务仍然正常提交,原因在于此种情况为参与者失效,而无线传感网为自组织型网络,会通过网络自组织协调剔除失效的节点,所以事务协调结果仍然保持一致性状态;.6.)当参与者报文接收事件到达时,参与者根据接收到的报文内容进行分类处理,具体操作为a.若为事务上下文报文,则参与者开始进入事务初始化状态,同时启动参与者定时器,用于控制事务最终的状态转换;参与者初始化完成后,需要进行传感器端的冲突验证,传感器由于自身的特性也可能会自发修改元信息,如电量低于30%时自动把采样率调整为原来的一半,所以传感器上可能存在写一写冲突;如一个事务准备修改一个数据,而在验证阶段发现当前活动的事务与该事务修改同样的数据,这时两个事务存在冲突,该事务需要暂停,具体操作如下参与者通过对比当前事务操作的数据集和正在执行的事务操作的数据集,即检查两个事务是否在修改同一份数据,若是则说明当前事务遇到冲突,否则事务正常执行;遇到冲突的参与者向协调者发送冲突报文,没有冲突的参与者向协调者发送确认报文;b.若为取消报文,则参与者会把当前事务的状态标志置为取消中状态,参与者进入取消中状态,等待参与者定时器事件触发;7.)当参与者报文发送事件到达时,参与者根据发送的报文内容进行分类处理,具体操作为a.若为确认报文,则参与者进入提交中状态;b.若为冲突报文,则参与者进入取消中状态;8.)当参与者定时器事件到达时,检测相应参与者事务状态标志,若参与者事务状态为取消中状态,则参与者转入已取消状态,否则参与者转入已提交状态。
全文摘要
一种无线传感网事务协调方法具体涉及WSN(WirelessSensorNetworks,无线传感网)分布式环境下更新事务、查询事务并发执行,所提出的协调方法能够保证WSN更新事务原子性、数据一致性。该协调方法主要包括状态集、事件集、协调者协调过程和参与者协调过程。在开始时,协调者和参与者都处于初始化Initial状态,在协调过程中,协调者和参与者通过报文发送事件、报文到达事件以及定时器事件触发完成事务协调过程,最终保证应用数据一致性。
文档编号H04W24/00GK102595446SQ20121003634
公开日2012年7月18日 申请日期2012年2月17日 优先权日2012年2月17日
发明者张可, 管有庆 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1