张冬梅 王 磊
(黑龙江八一农垦大学信息技术学院1,黑龙江 大庆 163319;北京工业大学机电学院2,北京 100022)
近年来,大量分布式应用的实现以基于发布/订购机制的信息按需分发作为基本的通信集成基础设施,如:用户和软件监控、工作流管理系统等。许多分布式实时应用都需要将数据迅速高效地传送到目的地,这就需要建立一个功能强大、融合多种处理机、健壮、高效的分布式实时通信网络系统[1-2]。为此,对象管理组织(object management group,OMG)提出了数据分发服务标准 (data distribution service,DDS)。该标准主要针对用户需要提供实时信息传送的系统[3]。
数据分发服务(data distribution service,DDS)是专门为高性能的数据分发而设计的一项新规范,目的在于提供一个能够清晰地定义数据分发服务的应用级接口,从而简化开发者的网络设计工作。2005年12月,修订后的版本v1.1正式推出,它在原有基础上做了进一步完善[4-5]。
DDS基于发布/订购模型构建了一个共享“全局数据空间”的概念[6-7],所有的数据对象都存储在于此空间。分布式节点通过“发布”操作将数据发送到全局数据空间共享,通过“订购”操作获取自己感兴趣的信息。
发布/订购模型如图1所示。
图1 发布/订购模型Fig.1 The publish/subscribing model
OMG-DDS规范中描述的以数据为中心的发布/订购按需分发模型为许多实时应用提供了解决方案,从小规模的区域信息管理到大规模分布控制系统的各个领域,都可以实现信息的实时可用性[8-9]。
按各平台在地理位置上的分散情况以及信息交互频繁程度,分布式网络系统可划分成不同的信息分发区域。各区域由一个区域信息中心负责本区域内各平台之间的信息交互。区域内平台可以是发布信息平台,也可以是订购信息平台,或同时兼具这两种平台的功能。各区域信息中心通过广域网传递区域间的信息交互,由此构成了区域和全局的两层按需分发框架。按需分层分发框架如图2所示。
图2 按需分层分发框架Fig.2 Framework of the on-demand hierarchical distribution
按需分层分发框架具体由以下几部分构成。
①网络基础设施,它是由Internet骨干网和各种局域网组成,通过路由器互联起来的分布式通信网络。
②区域信息中心,它是按地域分布的上层信息分发系统,为分布式网络提供信息分发服务;各区域信息中心间保持信息资源的共享和同步。当某个区域信息中心瘫痪时,不影响其他信息系统的信息分发和交互,从而提高了整个系统的可靠性和抗毁能力。
③信息中心代理,它位于信息发布平台和订购平台,是发布平台和订购平台的一个外壳,相当于一个本地应用系统和区域信息中心业务往来的中间服务,负责与信息中心交互。在以下内容中,均把信息中心代理作为信息发布和订购平台的一部分。
④信息发布平台,首先,信息发布平台接入本地区域信息中心获得身份认证授权,然后注册自己能提供的信息,包括能提供的信息类型、属性和内容等。受理发布信息的区域信息中心将发布信息录入信息发布表,作为与订购信息相匹配的信息源。
⑤信息订购平台,它接入信息中心获得身份认证授权后,就可向区域信息中心请求自己感兴趣的订购信息。受理此订购信息的区域信息中心将及时进入订购信息库,并与已有注册信息匹配。一旦匹配上(可与多个发布平台区配上),信息中心即向订购平台发送包括对方网络地址等信息的通告信息,订购平台此时作为主动方可以随时选择匹配上的发布平台发送请求信息,信息发送是“端对端”的。
区域信息交互是指区域信息中心和它所在区域的发布平台、订购平台之间的信息分发,区域信息交互关系如图3所示。
图3 区域信息交互关系Fig.3 Area information interaction
由于发布平台、订购平台和区域信息中心角色的不同,使其在信息分发系统中具有不同的作用。为了区分各平台之间的关系,易于彼此间的信息传递,各平台之间通过自身特定的分发行为进行交互。
①发布行为,它是发布平台向区域信息中心发布信息时的交互方式,包括“注册”新信息、“更新”已注册信息和“取消”已注册信息三种行为。
②订购行为,它是订购平台向区域信息中心订购信息的交互方式,分为持久、实时和退订三种行为。“持久”订购是对某信息的长期订购行为,分为两种情况,一种是周期性订购消息,另一种是当信息发生变化时的订购。
“实时”订购是请求信息必须在规定的时间内送达到本平台的订购行为,若超出此时间限制,则信息中心自动取消此订购信息。“退订”是当订购平台不再需要某信息,取消已订购信息的行为。当订购平台退订信息以后,区域信息中心就不会再将退订信息进行匹配。如果订购平台有多个订购请求,其他订购信息还是要进行匹配。
③响应行为,它是区域信息中心对发布行为和订购行为的应答方式。对发布行为的响应行为是允许和回拒。“允许”行为是区域信息中心对发布平台行为的许可,“回拒”则与之相反。对订购行为的响应行为是成功和失败。“成功”应答是区域信息中心已匹配出满足订购信息条件的发布信息,当没有符合订购限制条件的发布信息时,发出订购“失败”应答。
全局信息交互是指在不同区域内的发布和订购平台通过各自所在的区域信息中心进行的信息分发。全局信息交互关系如图4所示。
图4 全局信息交互关系Fig.4 Global information interaction
订购平台S向区域信息中心L-DC2发出订购请求信息,当L-DC2无法在本区域内匹配出满足条件的发布信息时,L-DC2就将此订购信息传递到广域网,并向其他区域信息中心订购满足条件的发布信息。此时,L-DC2相当于订购平台。一旦其他区域信息中心LDC1匹配出相应的发布信息,就向L-DC2回应匹配结果。最后,由订购平台S向发布平台P请求信息发送,完成全局信息交互。
发布和订购信息的数据模型是一个类型属性集合,属性和属性约束是一个四元组[10],即:
Attribute|Constraint= <T,N,O,V>发布信息和订购信息实例如表1所示。
表1 信息实例Tab.1 Information examples
每个属性包括的字段有属性类型(Type)、属性名称(Name)、操作符(Operator)和属性值(Value)。发布信息是属性的集合,即PI=∪Attribute,订购信息是属性约束的集合,即SI=∪Constraint。对于订购信息中的每一个属性α,当发布信息中至少存在一个属性β,使得α⊆β时,则称订购信息包含发布信息,即发布信息满足订购信息的订购条件。
发布平台过滤(publisher filtering,PF),PF表示发布者对发布信息的约束,简称发布过滤,其约束条件在通知分组中描述。某个发布过滤中可以有多个限定条件,发布信息的属性个数不能多于发布过滤的属性个数。
发布过滤PF是属性过滤AF(attribute filtering,AF)的集合,即:
若发布信息的数据空间为D,发布过滤的数据空间为PF,则下列属性条件成立:
式中:α∍pf表示发布信息的属性α满足发布过滤中属性pf。α∍pf至少满足:
式(1)~式(2)说明发布信息中的每一个属性都满足发布过滤中对应属性的约束条件。
订购平台过滤(subscriber filtering,SF)表示订购方对订购信息的约束,简称订购过滤。发布信息和订购过滤相匹配的条件是当且仅当发布信息满足订购过滤中的所有属性。
某个订购信息中可以有两个或多个限定属性条件,发布信息可以比订购过滤的属性个数多。
订购过滤SF是属性约束(constraint filtering,CF)的集合,即:
如果在某个发布过滤中包含多个具有相同属性名称的属性过滤,其操作符为 o1,o2,…,on,操作符对应的属性值为 v1,v2,…,vn,则对该属性来说,订购过滤是这多个属性过滤的交集。
当订购平台收到了发布平台发来的发布信息时,判断自己的订购过滤是否满足发布过滤的约束条件。判断条件是:若订购过滤的数据空间为SF,发布过滤的数据空间为PF,则下列属性条件成立。
式中:sf∍pf表示订购过滤中的属性sf满足发布过滤中的属性pf。sf∍pf满足:
式(4)~式(5)说明对于订购过滤中的每一个属性都满足发布过滤中对应属性的约束条件。
数据分发服务(DDS)为分布式网络系统实现高效、可靠的信息分发提供了有效的解决方案。通过建立以数据为中心的发布/订购模型,为大规模分布式网络系统构建了两层信息按需分发体系框架。同时,提出了区域和全局两层信息交互策略,并设计了发布/订购信息过滤方案。此框架的设计对于提高分布式系统的扩展性、解决系统的瓶颈问题提供了新的思路和方法。
[1]Petty M D,Paterson D J.Data distribution management issues for HLA implementations[C]//Proceedings of the Spring 2000 Simulation Interoperability Workshop,Orlando FL:SISO,2000.
[2]Carzaniga A,Rosenblum D S,Wolf A L.Achieving scalability and expressiveness in an Internet-scale event notification service[C]//Proceedings of the 19th Annual ACM Symposium on Principles of Distributed Computing,New York,NY,USA,2000:219 -227.
[3]OMG.Data distribution service for real-time systems specification[S].American:DDS Revision Task Force,2006.
[4]Schlesselman J M,Pardo-Castellote G,Farabaugh B.OMG data-distribution service(DDS):architectural update[C]//2004 IEEE Military Communications Conference,2004:961 -967.
[5]Sivaharan T,Blair G,Coulson G.Green:a configurable and re-configurable publish-subscibe middleware for pervasive computing[C]//proleedings of Distributed Objects and Applications 2005(DOA’05),Agia Napa,Cyprus,2005:732 -749.
[6]裘楷,沈栋,李娜,等.基于DCPS模型的数据分发服务DDS的研究[J].电子科技,2006(11):68-76.
[7]Katherine L M.DDM improvements for IEEE standard 1516[C]//Proceedings of the Spring 1999 Simulation Interoperability Worksshop,Orlando,1999.
[8]Burlingame,Gerardo P C,Hunt G A.DDS enabling global data[R].Real-Time Innovations,Inc,2004.
[9]刘国,周忠,吴威.发布/订购系统中基于重复属性判定的事件匹配算法研究[J].计算机研究与发展,2010(10):1690 -1699.
[10]赵建华,张同珍.基于Intranet的知识库系统匹配算法的研究与实现[J].微型电脑应用,2010(9):12-14.