一种分布交互式仿真系统中的数据匹配方法

文档序号:6373526阅读:176来源:国知局
专利名称:一种分布交互式仿真系统中的数据匹配方法
技术领域
本发明属于仿真数据分发技术领域,具体涉及一种能够高效地找到与给定仿真数据相匹配的所有订阅的方法。
背景技术
仿真数据分发技术是构建分布交互式仿真系统的一项关键技术。主要负责分布式仿真过程中仿真节点之间的通信。随着仿真规模的扩大和对仿真性能要求的提高,分 布交互式仿真系统对可扩展性、容错性、网络负载和实时性的要求越来越高。传统的通信模式多采用较为简单的数据过滤机制,过滤效果差且耦合度高,而发布/订阅模式采用基于兴趣的数据过滤机制,可有效减轻网络负载,增强实时性,且具有松耦合和多点通信的特点,其通信的参与者在空间、时间和控制流上完全解耦,已在分布交互式仿真领域得到了广泛应用,例如高层体系结构(HLA)、试验训练使能体系结构(TENA)等。此外,OMG的DDS标准也采用了基于主题的发布/订阅通信模式。在发布/订阅通信模型中,信息的生产者称为发布者,信息的消费者称为订阅者,发布者与订阅者之间所交互的信息称为事件。发布者将事件发送给事件代理,订阅者向事件代理发送订阅条件,表示对哪些事件感兴趣,而事件代理则保证将事件及时、可靠地分发给所有对其感兴趣的订阅者。分布交互式仿真系统中的仿真数据匹配问题就是对于一个发布者发布的仿真数据,尽可能高效地找到所有与之相匹配的订阅条件。仿真数据匹配算法设计的目标主要包括匹配的时间效率、匹配的空间效率和订阅维护的效率。对于大型分布交互式仿真系统来说,系统中存在着成千上万,甚至上百万个订阅和事件,此时匹配算法的性能将变得非常重要,不仅影响着系统的实时性,而且会制约整个系统的扩展。传统的事件匹配算法就是对于新发布的事件遍历所有的订阅,并依次进行匹配。除此之外,现有基于MAP的事件匹配算法一般分为两个阶段预处理阶段和匹配阶段。预处理阶段主要进行订阅条件或谓词的组织管理,而匹配阶段负责将事件与组织好的谓词或订阅条件集合进行匹配。根据是否区分谓词和订阅条件的组织管理,目前的匹配算法主要分为两类其中一类算法不区分谓词与订阅条件的组织管理,采用单一的数据结构存储谓词和订阅条件。此类算法采用的数据结构主要有树形结构、图和订阅覆盖关系集等。其中基于树形结构的代表性算法有Gough等的基于搜索树的算法(K. J. Gough andG. Smith. Efficient recognition ofevents in distributed systems. ProceedingsofACSC-18,1995.)和 Aguilera 等的基于并行搜索树的算法(M. K. Aguilera, R. Ε· Strom, D.C.Sturmanj Μ. Astley, and Τ.D.Chandra. Matching events in a content-basedsubscription system. Eighteenth ACM Symposium on Principles of DistributedComputing(P0DC,99),1999.);基于图的算法有Campailla等的基于二叉判定图(BDD,binary decisions diagrams)的算法(Campai I la A,Chaki S,Clarke E,et al. EfficientFiltering in Publish/Subscribe Systems Using Binary Decision Diagrams.The23rd International Conference on Software Engineering, 2001.)和 Li G 等使用订阅的历史信息和谓词间的逻辑关系改进后的BDD算法(Li G,Huo S, Jacobsen H. AUnified Approach to Routing, Covering and Merging in Publish/Subscribe SystemsBased on Modified Binary Decision Diagrams. The 25th International Conferenceon Distributed Computing Systems, 2005. 6.);基于订阅覆盖关系集的有 Carzaniga将订阅条件组织为偏序集(Partially Ordered SET,P0SET)后的匹配算法(CarzanigaA,Rosenblum D S,WolfA L. Design and Evaluation of a Wide-area Event NotificationService. ACM Transaction on Computer Systems,2001,19 (3):332-383.)。第二类则区分谓词和订阅条件的组织管理,釆用不同的数据结构分别存储谓词和订阅条件。目前在这方面的研究较多,其中具有代表性的是谓词计数算法(YAN T W,GARC H. Index structures for selective dissemination of information underthe Boolean model. ACM Trans Database System, 1994,19(2) : 332-334. ) 在谓词计数算法基础上,Hanson算法将最具选择性的谓词根据其属性组织成区间搜索树(HANSONEj CHAAB0UNI Mj KIM C. A predicate matching algorithm for database rule systems.International Conference of the ACM SIGMOD. 1990:271-280· ) ;Fabret 等根据称为入口谓词的公共谓词来组织订阅条件簇(FABRET F,A JACOBSEN, LIBAT F. Filteringalgorithms and implementation for very fast publish/subscribe systems.International Conference of the ACM SIGM0D. 2001. ) ;Carzaniga 等米用索引结构存储管理谓词(Carzaniga A, Wolf A L. Forwarding in a content based network. Proc of ACMSIGCOMM 2003. 2003:163-174.);而潘亦等利用一种称为“谓词关系树”的结构组织谓词(潘亦、张凯隆、潘金贵.基于谓词式覆盖技术的发布/订购机制及算法研究.计算机研究与发展,2011,48(5) :765-777. ) 此外,近些年有人基于硬件性能来加速事件匹配过程。Fabret提出釆用硬件缓存技术来加快事件匹配;Fairoukh提出利用多处理器机器性能釆用三种方式并行执行事件的匹配(Amer Farroukhj Elias Ferzlij Naweed Tajuddinj and Hans-ArnoJacobsen. Parallel Event Processing for Content-Based Publish/SubscribeSystems. Proceeding of the Third ACM International Conference on DistributedEvent-Based System, 2009. ) ;K. H. Tsoi等则直接釆用可配置的高性能平台来进行匹配(K. H. Tsoij I. PapagiannisjM. MigliavaccajW. Luk and P. Pietzuch. Acceleratingpublish/subscribe matching on reconfigurable supercomputing platform. Many-Coreand Reconfigurable Supercomputing Conference,2010.);而 Alessandro Margara 提出基于 GPU 的事件匹配算法(Alessandro Margara, Gianpaolo Cugola. High PerformanceContent-Based Matching Using GPUs.Proceeding of the5th ACM InternationalConference on Distributed Event-Based System, 2011:183-194.)。上述算法均为精确匹配算法,而近些年有人对近似匹配算法进行了研究。Liu等开发了一个支持近似匹配的原型系统A-ToPSS,建立支持模糊表达的事件模型和订阅模型,并使用模糊集理论和概率论来处理订阅和事件的近似匹配(Liu H, Jacobsen HA. A-ToPSS:Apublish/subscribe system supporting imperfect information processing.Proc. ofthe 30th Int’ I Conf. on Very Large Databases. 2004.)。在分布交互式仿真系统中,仿真节点之间通信的数据主要包括两类数据实体信息数据和实体交互数据。数据类型在仿真开始前已确定,仿真过程中不会动态创建新的数据类型。同时,仿真节点在仿真过程中较为稳定,订阅的添加和删除也不太频繁,但仿真数据的产生有一定突发性,对仿真数据匹配算法时间效率要求较高。仿真过程中系统对交互数据的匹配比较简单,根据数据类型进行匹配即可,而对实体信息数据的匹配需要同时考虑实体的类型和属性。本发明只涉及实体信息数据的订阅与匹配。考虑到分布交互式仿真中交互的实体信息数据的属性个数跨度较大,从十几个到上百个,目前已有算法中的一些处理不太适用。基于搜索树的算法的空间复杂度较高,特别是属性个数较多时系统将会不堪重负,而基于并行搜索树 的算法在不等谓词测试的时候表现较差,基于BDD的算法中BDD的构建复杂度较高,Carzaniga算法在订阅之间覆盖度较低时匹配效率低下,而谓词计数算法没有利用谓词之间的相关性,并存在大量冗余的匹配操作。另外,仿真节点不考虑使用高性能计算平台,基于硬件加速的方法也不太适用。因此,在分析上述算法的基础上,同时结合仿真数据的特点,可以通过特殊的数据结构来高效地组织订阅和谓词,这一点在提高仿真数据匹配的时间效率和空间效率的潜力是巨大的。

发明内容
为了克服仿真数据匹配的时间效率和空间效率问题,本发明结合仿真数据特点,提出了一种分布交互式仿真系统中的数据匹配方法,综合考虑谓词之间的相关性和订阅条件所属模式之间的覆盖关系,在保证匹配正确性的前提下,在仿真数据匹配的时间和空间上明显优于经典的谓词计数算法,使得通过匹配查找与仿真数据相匹配的所有订阅成为了一项实用技术。本发明的技术方案如下一种分布交互式仿真系统中的数据匹配方法,包括以下步骤一、接收到新发布的订阅条件之后,首先将订阅条件插入订阅条件索引集。之后遍历订阅条件中的每一个谓词,依次插入多索引结构。最后将订阅条件的模式插入模式关系集。二、接收到新发布的仿真数据之后,初始化匹配成功结果集和不匹配的谓词集合为空,并设置订阅条件位向量为0,即默认全部匹配成功。三、对于数据中的每一个属性,在多索引结构中查找与该属性相关的匹配不成功的所有谓词,之后在位向量中设置这些谓词关联的订阅集所对应的所有位为1,即匹配不成功。四、在模式关系集中查找所有与该仿真数据模式相同或被其覆盖的所有模式集合,依次遍历所有模式相关的订阅条件,如果相关的位为0,则意味着匹配成功,否则匹配不成功。由此可得到所有的相匹配的订阅条件。上述基于模式覆盖的仿真数据匹配方法,具有如下新的订阅存储结构和匹配思路
a)利用多索引结构组织和存储谓词,并提出模式关系集来存储管理订阅条件;b)利用谓词不匹配可导致其所属订阅条件不匹配的特性进行匹配。上述的订阅存储结构和匹配思路是发明人经过艰辛的研究设计出来的,以下将详细描述以上的订阅存储结构和匹配思路。首先给出本发明中涉及到的相关定义每一个仿真数据或订阅条件必须属于一个特定的实体信息类型,即主题。在此基础上,仿真数据由多个〈属性,类型,值〉三元组来表示,谓词即〈属性,类型,操作符,值>四元组,而订阅条件表示为多个谓词的合取式,即谓词Γ谓词2'··。此外,模式定义为〈属性I,属性2,…〉多兀组,其中每一个仿真数据或订阅条件属于且只属于某一个模式。如果模式A中包含模式B中所有的属性,则说A覆盖B。 属性信息共有五种类型枚举类型、布尔类型、整数类型、浮点类型和字符串类型等。谓词中的操作符包括“=”(等于)、“!=,,(不等于)、“>”(大于)、“>=”(大于等于)、“〈”(小于)、“〈=”(小于等于)、“[”(前缀)、“]”(后缀)和(子串)等,其中“[”、“]”和
只存在于字符串操作中,而对于枚举类型来说只存在“=”和“ !=”两种操作符,布尔类型只存在“=”操作符。其次描述本发明中使用的主要数据结构,见图I :本发明使用到了订阅条件索引集、订阅条件位向量、多索引结构和模式关系集,下面对其进行逐一介绍订阅条件索引集此索引集为每一订阅条件分配唯一的编号,建立编号与订阅条件之间的一一对应关系。本方法可通过该编号快速索引到对应的订阅条件。订阅条件位向量此位向量的每一位存储相应编号订阅条件的匹配结果。如果订阅条件与仿真数据匹配不成功,则设置此位为1,否则将设置为O。多索引结构此多索引结构存储每一个实体类型即主题对应的所有的谓词。该结构按照主题、属性类型、操作符和属性名来组织,第一级索引为主题;第二级索引为属性类型,包括布尔类型、枚举类型、整型、浮点型和字符串型;第三级索引为操作符,包括上述九种操作符;第四级为属性名称;最后一级存储类型、操作符和属性均相同的谓词对应的多个值,其中枚举类型、整型和浮点类型的数值用AVL树来存储,字符串中前缀操作使用前缀树存储,后缀操作用后缀树来存储,其他操作同样用AVL树来存储;该值对应的结点同时还关联着包含此谓词的订阅条件的集合。此外,鉴于每一级索引的取值均在一个固定的范围,均可采用Hash表的形式存储。模式关系集模式关系集存储所有与订阅条件相关的模式,并且每一个模式与一个符合此模式的订阅条件集合相关联。关系集依据模式之间的覆盖关系进行组织。图2显示了一个模式关系集合的例子。考虑到仿真过程中数据类型保持不变,模式关系集中模式可采用位向量表示,位向量中每一位对应于一个属性,如果某一位为“ I ”,则表示存在对应的属性,否则不存在。因此模式之间的覆盖关系判定可以采用位或运算来进行,对于模式A和模式B,如果“A或B”结果为A,则说明A覆盖B ;如果结果为B,则说明B覆盖A ;否则说明A与B之间没有覆盖关系。例如如果模式A为11001,模式B为10001,A|B BP 11001110001=11001为A则说明A覆盖B;如果模式A为11001,模式B为01011,A|B即110011 01011=11011则说明A与B之间没有覆盖关系。使用模式关系集匹配过程中,如果遇到节点模式与仿真数据模式不相同并且不存在覆盖关系,则无需遍历该节点的子节点,从而可加速模式集的匹配过程。最后,本发明采用一种新的匹配思路,即利用谓词不匹配可导致其所属订阅条件不匹配的特性进行匹配。由订阅条件定义出发,订阅条件为多个谓词之间的合取,于是订阅条件中一个谓词匹配不成功,即可导致整个订阅匹配的不成功。在匹配方法初始化时,把位向量中所有订阅条件相关的位设置为0,即默认全部匹配成功,而在匹配的第一阶段,查找所有与仿真数据属性相关的匹配不成功的谓词,并将谓词关联的订阅条件设置为1,即不成功。此时存在的问题就是那些属性与仿真数据属性无关的订阅显示的匹配结果仍然为成功,这时如果直接对订阅集进行遍历将会导致错误的匹配结果。于是在匹配的第二阶段,本发明只测试满足下面 条件的订阅其模式与仿真数据模式相同或者被仿真数据模式覆盖,相应位为O的订阅条件则匹配成功。因此这种匹配思路在保证匹配正确性的同时,也提高了匹配的时间效率。本发明的优点和积极效果本发明在性能上的优势主要体现在(I)从匹配不成功的谓词出发,一个谓词匹配不成功即可导致订阅条件匹配不成功,从而消除订阅条件测试时多余的谓词判断;(2)采用多索引结构加快谓词的查找定位,值存储采用AVL树、前缀后缀树或Hash表等结构,进一步加速了谓词的匹配过程;(3)采用模式关系集消除无关订阅的匹配,只关心与仿真数据模式相同或有覆盖关系的订阅条件;(4)采用多索引结构统一管理谓词,如果多个订阅条件中存在同一个谓词,谓词只会被存储一次,同时采用位向量存储订阅条件的匹配结果,进一步减少了本发明的内存消耗。


图I是本发明中使用到的主要数据结构;图2是本发明涉及的模式关系集的例子,箭头表示覆盖关系;图3是本发明的方法与采用谓词计数算法的方法在仿真数据属性个数变化范围固定而订阅条件个数变化时时间性能的比较;图4是本发明的方法与采用谓词计数算法的方法在仿真数据属性个数变化范围固定而订阅条件个数变化时空间性能的比较;图5是本发明的方法与采用谓词计数算法的方法在订阅条件个数固定而仿真数据属性个数变化范围变化时时间性能的比较。
具体实施例方式第一步,接收到新发布的订阅条件之后,首先将订阅条件插入订阅条件索引集。之后遍历订阅条件中的每一个谓词,依次插入多索引结构。最后将订阅条件的模式插入模式关系集。第二步,接收到新发布的仿真数据之后,初始化匹配成功结果集和不匹配的谓词集合为空,并设置订阅条件位向量为0,即默认全部匹配成功。第三步,对于数据中的每一个属性,在多索引结构中查找与该属性相关的匹配不成功的所有谓词,之后在位向量中设置这些谓词关联的订阅集所对应的所有位为1,即匹配不成功。第四步,在模式关系集中查找所有与该仿真数据模式相同或被其覆盖的所有模式集合,依次遍历所有模式相关的订阅条件,如果相关的位为0,则意味着匹配成功,否则匹配不成功。由此可得到所有的相匹配的订阅条件。其中涉及到的数据结构具体设计如下订阅条件索引集此索引集采用索引的方式存储编号与订阅条件之间的一一对应关系。订阅条件位向量此位向量的每一位存储相 应编号订阅条件的匹配结果。如果订阅条件与仿真数据匹配不成功,则设置此位为1,否则将设置为O。多索引结构此多索引结构存储每一个实体类型即主题对应的所有的谓词。该结构按照主题、属性类型、操作符和属性名来组织,第一级索引为主题;第二级索引为属性类型,包括布尔类型、枚举类型、整型、浮点型和字符串型;第三级索引为操作符,包括上述九种操作符;第四级为属性名称;最后一级存储类型、操作符和属性均相同的谓词对应的多个值,其中枚举类型、整型和浮点类型的数值用AVL树来存储,字符串中前缀操作使用前缀树存储,后缀操作用后缀树来存储,其他操作同样用AVL树来存储;该值对应的结点同时还关联着包含此谓词的订阅条件的集合。此外,鉴于每一级索引的取值均在一个固定的范围,均可采用Hash表的形式存储。模式关系集模式关系集存储所有与订阅条件相关的模式,并且每一个模式与一个符合此模式的订阅条件集合相关联。关系集依据模式之间的覆盖关系进行组织。模式关系集中的模式可米用位向量表不,位向量中每一位对应于一个属性,如果某一位为“1”,则表示存在对应的属性,否则不存在。因此模式之间的覆盖关系判定可以采用位或运算来进行,对于模式A和模式B,如果“A或B”结果为A,则说明A覆盖B ;如果结果为B,则说明B覆盖A ;否则说明A与B之间没有覆盖关系。本发明主要应用于分布交互式仿真领域的数据分发,具体涉及一种能够高效地找到与给定仿真数据相匹配的所有订阅的方法。下面举例进行说明其具体实施方式
。对于某分布交互式仿真系统,仿真地空作战的场景,其中一些仿真节点模拟飞机模型,一些节点模拟地面部队模型。对于某模拟地面部队模型的仿真节点,需要订阅满足这样条件的数据高度大于5000Km并且速度大于400km/h的飞机,则需要发布订阅条件为〈type, string, =, Flight>'<height, integer, >, 5000>'<velocity, integer, >, 400> ;而对于某模拟飞机模型的仿真节点发布高度为SOOOKm速度为400Km/h的飞机数据,则可表示发布的仿真数据为〈type, string, Flight>'<height, integer,8000>'<velocity, integer,400〉。仿真节点发布仿真数据至代理节点之后,代理节点需要解决的问题就是如何高效地找到与该飞机数据匹配的所有订阅条件,显然对于上述飞机数据来说,上述订阅条件是不匹配的。代理节点调用本发明中的方法可以解决此问题,其具体实施步骤如下第一步,接收到新发布的订阅条件之后,首先将订阅条件插入订阅条件索引集。之后遍历订阅条件中的每一个谓词,依次插入多索引结构。最后将订阅条件的模式插入模式关系集。对于上例中订阅条件为〈type, string, =,Flight>"<height, integer,>,5000>'<velocity, integer, >,400〉,其中的谓词分别为〈type, string, =, Flight〉、〈height, integer, >,5000〉和〈velocity, integer, >,400〉,订阅条件的模式为〈type,height, velocity第二步,接收到新发布的仿真数据之后,初始化匹配成功结果集和不匹配的谓词集合为空,并设置订阅条件位向量为0,即默认全部匹配成功。第三步,对于数据中的每一个属性,在多索引结构中查找与该属性相关的匹配不成功的所有谓词,之后在位向量中设置这些谓词关联的订阅集所对应的所有位为1,即匹配不成功。第四步,在模式关系集中查找所有与该仿真数据模式相同或被其覆盖的所有模式集合,依次遍历所有模式相关的订阅条件,如果相关的位为0,则意味着匹配成功,否则匹配不成功。由此可得到所有的相匹配的订阅条件。 发明人设计实验对基于模式覆盖的仿真数据匹配方法和谓词计数算法的时空性能进行了比较。实验是在具有Intel (R)Core (TM) 2Duo2. 93GHz处理器、2GB内存、WindowsXP SP2操作系统的PC机上进行的。实验结果中的每一个数据点的获得都是在多次测量取平均值之后得到的。参照仿真数据的特点,假设系统中存在20种对象类型即主题,每一种主题中存在10 100个属性,同时每一种主题的属性名称与个数固定,每一属性均可采用枚举值来表示。属性的类型中整数类型和浮点类型共占50%,枚举类型和布尔类型共占20%,字符串类型占30%。每一个属性出现在订阅条件中的概率相等,每一个订阅条件包含的谓词个数为10 20个。其中各种类型的数值均在大小为10000的相应类型的样本空间中随机选取。此外,保证每次实验选出的数据匹配成功率为50%。根据上述参数情况开展两组实验,实验一记录当仿真数据包含属性的个数变化范围固定时,随着订阅条件数量的增加,仿真数据匹配消耗的时间和空间变化情况;实验二记录当订阅条件数量固定时,随着仿真数据中包含属性的个数变化范围的扩大,仿真数据匹配消耗的时间变化情况。实验一中,设定每一个仿真数据包含属性的个数为10 100个,插入的订阅条件数量从1000个增长到10000个,每隔1000采一次样,记录匹配1000个仿真数据所消耗的时间和空间,实验结果见图3和图4。实验二中,设定订阅条件的个数为1000,仿真数据包含属性的个数变化范围从[10,20]逐渐扩展到[10,100],每扩展10采一次样,记录匹配1000个仿真数据所消耗的时间,实验结果见图5。由实验一的实验结果可知,本发明由于高效地存储和管理谓词和有效利用模式关系组织订阅条件,时空效率明显高于谓词计数算法,特别是在订阅条件个数较多的时候。当系统中包含有10000条订阅时,本发明比谓词计数算法在时间开销上低了 83. 4%,在空间开销上低了 33. 92% ;而由实验二的实验结果可知,随着仿真数据包含属性的个数变化范围逐渐扩大,本发明匹配仿真数据所消耗的时间增加较为平缓,而谓词计数算法所消耗的时间变化较大,有着大幅度的增加。综上,对于包含多种主题,并且主题中属性个数跨度较大的仿真数据领域,本发明更加适合。
权利要求
1.ー种分布交互式仿真系统中的数据匹配方法,其特征在于包括以下步骤 (1)接收到新发布的订阅条件之后,首先将订阅条件插入订阅条件索引集;之后遍历订阅条件中的每ー个谓词,依次插入多索引结构;最后将订阅条件的模式插入模式关系集; (2)接收到新发布的仿真数据之后,初始化匹配成功结果集和不匹配的谓词集合为空,并设置订阅条件位向量为O,即默认全部匹配成功; (3)对于仿真数据中的每ー个属性,在多索引结构中查找与该属性相关的匹配不成功的所有谓词,之后在位向量中设置这些谓词关联的订阅集所对应的所有位为1,即匹配不成功; (4)在模式关系集中查找所有与该仿真数据模式相同或被其覆盖的所有模式集合,依次遍历所有模式相关的订阅条件,如果相关的位为O,则意味着匹配成功,否则匹配不成功;由此得到所有的相匹配的订阅条件。
2.如权利要求I所述的数据匹配方法,其特征在于,所述步骤(I)中采用的多索引结构,其按照主题、属性类型、操作符和属性名来组织管理谓词,具体如下 第一级索引为主題; 第二级索引为属性类型,包括布尔类型、枚举类型、整型、浮点型和字符串型; 第三级索引为操作符,包括等干“=”、不等干“!=”、大干“〉”、大于等于“>=”、小于“ < ”、小于等于“ く=”、前缀“[”、后缀“]”和子串“丨”九种操作符; 第四级为属性名称,最后ー级存储类型、操作符和属性均相同的谓词对应的多个值,其中枚举类型、整型和浮点类型的数值用AVL树来存储,字符串中前缀操作使用前缀树存储,后缀操作用后缀树来存储,其他包括等干,大于,大于等干,小干,小于等于,子串操作同样用AVL树来存储;每一个值对应的结点同时还关联着包含此谓词的订阅条件的集合;每ー级索引采用Hash表的形式存储。
3.如权利要求I所述的数据匹配方法,其特征在于,所述步骤(I)中采用的模式关系集,其依据模式之间的覆盖关系进行组织,具体如下 模式关系集中模式采用位向量表示,位向量中每一位对应于ー个属性,如果某一位为“ 1”,则表示存在对应的属性,否则不存在;模式之间的覆盖关系判定采用位与运算来进行,对于模式A和模式B,如果“A与B”结果为A,则说明A覆盖B ;如果结果为B,则说明B覆盖A ;否则说明A与B之间没有覆盖关系。
4.如权利要求I所述的数据匹配方法,其特征在于,其采用的匹配思路是利用谓词不匹配可导致其所属订阅条件不匹配的特性进行匹配,具体为 (a)在匹配初始化时,把位向量中所有订阅条件相关的位设置为O,即默认全部匹配成功; (b)在匹配第一阶段,查找所有与仿真数据属性相关的匹配不成功的谓词,并将谓词关联的订阅条件设置为1,即不成功; (c)匹配的第二阶段,测试满足下面条件的订阅其模式与仿真数据模式相同或者被仿真数据模式覆盖,相应位为O的订阅条件则匹配成功。
全文摘要
本发明提出一种分布交互式仿真系统中的数据匹配方法,仿真节点接收到新发布的订阅条件后,根据其谓词将其插入多索引结构,并根据其模式将其插入模式关系集。仿真节点接收到新发布的仿真数据后,根据仿真数据中的每一个属性,在多索引结构中查找与该属性相关的匹配不成功的所有谓词,并设置谓词所属的订阅条件为匹配不成功,之后在模式关系集中查找所有与该仿真数据模式相同或被其覆盖的所有模式集合,依次遍历集合相关的订阅条件,最终得到所有相匹配的订阅条件。
文档编号G06F17/30GK102819569SQ20121025006
公开日2012年12月12日 申请日期2012年7月18日 优先权日2012年7月18日
发明者王海波, 屈树谦, 吕品, 郑昌文 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1