法律状态公告日
法律状态信息
法律状态
2018-12-14
授权
授权
2016-03-23
实质审查的生效 IPC(主分类):H04L12/24 申请日:20141124
实质审查的生效
2015-12-02
公开
公开
技术领域
本发明涉及一种能够在不可靠网络上传递事件间因果关系的分布式虚拟环境一致性控制方法。
背景技术
分布式虚拟环境(DVE:DistributedVirtualEnvironment)是在分布式网络技术与虚拟现实技术的基础上,研究各地多用户通过网络进行分布式实时交互、信息共享和仿真计算的技术领域,它通过分布在各地的计算节点与虚拟环境进行交互,共享虚拟环境的局部或全局数据信息,协同完成分布到多计算节点上的任务,给用户提供一种整体的、真实的、可沉浸的虚拟空间。
在分布式虚拟环境中,各结点事件间的因果关系对人们的观察和感受至关重要,正确的因果关系符合人们真实的经历与习惯。现实世界所有人观测到的都是原因事件总能发生在结果事件之前,不先产生相应的原因事件,结果事件就不可能发生,事件间的因果关系不需要刻意维护,自然能够得到保证。而在分布式虚拟环境中,由于网络传输的动态性,原因事件不一定能在结果事件之前到达进行观测的结点,此时需要等待原因事件传到,尽量在各结点保证原因事件能在结果事件之前发生,避免因果关系颠倒情况出现。
然而,由于分布式虚拟环境是对真实世界的模拟,参与仿真的计算结点在等待和处理事件时,所耗费的时间必须达到真实世界的实时性要求,不能无限制等待未及时传到的原因事件,其过程具有一定的时间期限,每个事件的等待时限由发送结点根据实际情况具体设置。在不可靠网络中,由于网络延迟抖动或消息传输丢失,会出现原因事件无法在结果事件等待时限结束前到达的情况,如果仍一直等待,将导致诸多已传到接收结点的后续结果事件被阻塞,不能在等待时限内得到及时处理,会引发更多的因果不一致情况。因此,通常认为不能及时传到的原因事件为失效事件,从而在不可靠网络中进行因果一致性维护的目的,就是要使全部已传到的事件间因果关系能够在当前结果事件的等待时限内得到维护。
现有的因果一致性控制方法主要是基于可靠网络提出的,认为各结点维护事件间因果关系时,原因事件一定能够在结果事件的等待时限内传到。针对不可靠网络进行研究的方法较少,主要通过传输局部因果关系作为控制信息来维护一致性,然而这样做虽然减少了传输开销,但只能维护结果事件和局部因果控制信息标记的原因事件间的因果关系,在未及时传到接收结点的原因事件较多时,通过结果事件的局部控制信息不足以保证能识别出已传到的全部原因事件,因而会出现原因事件在结果事件之后处理的不一致情况。
发明内容
本发明技术解决的问题是:针对不可靠网络上运行的分布式虚拟环境,克服现有技术的不足,提出了一种在部分原因事件失效的情况下,仍能够实时维护所有已传到接收结点的事件间因果关系的一致性控制方法。
本发明技术的解决方案是:在消息发送时,发送结点设置特定的消息格式,使接收结点出现原因事件失效情况后,通过对结点的缓存消息队列进行扫描,可从中标识已到达等待时限的事件为当前待处理结果事件,该事件能够被处理的条件是已传到的全部原因事件必须在它之前按照因果先后关系先处理完,因此可通过依次解析、比较各事件消息的n维离散时间,在缓存队列中识别出所有已传到的原因事件,并计算各离散时间点以确定它们的先后执行顺序,从而确保结果事件能在处理条件满足后得到正确执行,维护因果一致性。本发明技术可与传统方法结合使用,在没有原因事件失效时,接收结点可采用传统方法进行维护;一旦出现原因事件迟到或丢失的情况,即采用本发明技术传递因果关系,可有效降低传输和计算开销,保证分布式虚拟环境的实时性。本发明技术解决方案的具体步骤如下:
1)发送结点向外发送事件e时,按{e,DTM,tM,ΔTM}的格式设置消息M内容,其中e为事件本身,DTM为结点的n维离散时间,此外还额外携带了事件e的发送时刻tM与等待时限ΔTM;
2)接收结点si实时扫描其缓存消息队列MQ,队列中存放的是已接收但不满足处理条件的事件消息,结点si通过计算它的当前时钟t与任意消息M的tM判断是否有事件已到达或超过等待时限,即tM+ΔTM≤t是否成立;
3)如果发现存在e满足tM+ΔTM≤t,则e不能再继续等待已失效的原因事件,其消息M必须被si处理,但是e在MQ中可能存在仍未处理的原因事件,它们之间也存在因果关系,只有把e在MQ中缓存的全部原因事件消息先按照因果顺序处理完,si才能正确处理M,有效传递因果关系,因此,需要标记M,并将e作为当前待处理结果事件;
4)通过解析e的n维离散时间DTM,并与MQ中其他消息进行比较,可以判断MQ是否存在e的原因事件消息,若没有则直接执行6);
5)将判断后识别出的全部原因消息复制到新队列CQ,其中各消息离散时间值互不相同,离散时间值越小,说明该消息在因果关系中需要越早被处理,因此si经过计算从被标记的CQ找到M’,其DTM’是CQ中离散时间最小的,并处理M’,然后将其分别从CQ、MQ中删除,继续对CQ进行相同循环计算,直至CQ为空后,删除CQ,至此可保证e的全部原因事件已按正确的先后顺序依次被si处理;
6)si处理M,之后将M从MQ中删除,则e及其全部已传到原因事件间的因果关系在si得到了有效传递,维护了一致性,si重新返回对MQ实时扫描的状态。
与现有技术相比,采用本发明技术可获得以下好处:
①与主要应用于可靠网络的现有方法不同,本发明为不可靠网络上运行的分布式虚拟环境提供了一种有效的因果一致性控制方法,使接收结点即使在原因事件失效的情况下,也能够在结果事件的等待时限内传递因果关系,维护正确的因果事件顺序,并保证了虚拟环境的实时性;
②本发明采用n维离散时间作为控制信息来解析原因事件,可在事件失效情况下完整识别出已传到的全部原因事件,并保证其正确的先后执行顺序,从而避免了只能识别局部已传到原因事件、遗漏因果关系的不一致现象发生;
③本发明在技术上可作为独立控制模块实现,能够与现有方法良好结合使用,并降低传输与计算开销,有效扩展现有方法的使用范围。
附图说明
图1为本发明方法在分布式虚拟环境事件发送端设置的消息格式;
图2为本发明方法在分布式虚拟环境事件接收端的处理流程图;
图3为本发明方法与现有代表性方法的因果一致性控制效果对比图。
具体实施方式
分布式虚拟环境在不可靠网络上运行会遇到事件失效、事件间因果关系不一致的问题,为了有效解决该问题,本发明提出了一种能够在事件失效时传递结果事件与全部已传到原因事件间因果关系的一致性控制方法。
图1是为了实现本发明技术,在分布式虚拟环境事件发送端所需设置的消息格式,其中e是被发送事件本身,DTM是发送e时结点的n维离散时间,n是环境结点规模数,tM是e的发送时刻,ΔTM是e的等待时限。
图2是本发明技术在分布式虚拟环境接收端的处理流程图。其具体实施过程如下:
1.接收结点si对自己的消息缓存队列MQ进行实时循环监测,扫描MQ中是否有可处理事件消息,如果有,则采用现有方法进行处理,并继续监测;
2.如果没有,则需判断是否有事件失效,通过计算MQ是否存在满足tM+ΔTM≤t的消息,识别是否有消息已到达或超过等待极限,如果没有,则转1;
3.如果存在满足tM+ΔTM≤t的消息M,则标记M,那么其包含的事件e就是当前待处理的结果事件;
4.si分别对比M与MQ中其他消息的n维离散时间,判断MQ中是否含有满足DTother<DTM条件的消息,符合该条件的消息中含有e的原因事件,若没有识别出e的原因事件,则转13;
5.如果识别出e的原因事件,创建新队列CQ和临时消息变量Mtmp,将所有原因事件消息全部复制到CQ,并令Mtmp为空;
6.依次循环扫描CQ,查找当前CQ中离散时间最小的原因事件,记本次参与比较的原因事件消息为M’,如果取到的M’为空,则已到达CQ末尾,本次对CQ查找结束,转10;
7.如果还未查询到CQ末尾,判断Mtmp是否为空,若为空,则转9;
8.如果Mtmp已被赋值,则比较M’与Mtmp的n维离散时间,判断DTM’<DTMtmp是否成立,若不成立,则说明为了正确维护e原因事件间的因果关系,Mtmp中记录的消息需要被更早处理,继续比较CQ中下一个消息,转6;
9.如果成立或Mtmp为空,则说明M’需要被更早处理,重新对Mtmp赋值,令Mtmp=M’,继续比较CQ中下一个消息,转6;
10.此时Mtmp记录的是当前CQ中n维离散时间最小的原因事件消息,可以被直接处理,处理后在MQ、CQ中删除与Mtmp相应的事件消息,并将Mtmp置为空;
11.判断CQ中消息是否已经按顺序处理完,若还有未处理消息,转6;
12.如果CQ已经为空,则说明e已传到si的所有原因事件消息已经处理完毕,删除CQ、Mtmp;
13.MQ中已不存在e的原因事件,处理消息M,维护当前结果事件e与其原因事件间的因果关系一致性,然后将M从MQ中删除,转1。
图3是本发明方法与现有代表性方法的因果一致性控制效果对比图。实验环境由32台PC机组成,通过网络损伤仪动态模拟不可靠网络延迟特性。分布式虚拟环境设计为大规模空中对战场景,每架飞机由一个仿真计算结点控制,仿真结点均匀分布在各PC机上。实验用以对比的现有代表性方法分别为:无因果一致性控制情况下采用的接收序法,传统因果一致性控制的直接依赖法与事件失效情况下利用局部因果关系进行因果一致性控制的因果距离法。如图中横轴所示,实验分别对不同规模的结点进行了模拟,在各种规模下测试了本发明方法与现有方法的因果不一致度,其计算公式为:因果不一致度=因果不一致事件数/仿真事件总数,如图中纵轴所示。通过分析实验结果可知,由于本发明方法在维护常规情况下所有事件间因果关系的同时,还能在事件失效情况下识别出已传到的全部因果事件,有效传递因果关系,其因果不一致度在各个规模的实验中都是最低的,取得了良好的一致性控制效果。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
机译: 在传输设备的警报消息上附加表示不可靠性的标记的方法以及利用该不可靠性标记保持传输设备的警报消息之间的一致性的方法
机译: 不可靠网络上的低延迟通信的系统和方法
机译: 不可靠网络上使用传统商品硬件实时高清视频流的方法