已阅读5页,还剩60页未读, 继续免费阅读
(计算机应用技术专业论文)实时数据库日志模块订阅与发布机制研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 实时数据库系统除了用于采集、处理、保存、实时查询工业现场的海量生产 数据之外,还利用系统收集的各个重要事件、操作、运行状态和报警信息进行系 统错误分析和性能调优,从而实现对工业生产过程的监控。随着工业企业信息化 建设的不断发展,降低生产成本,优化生产过程已经成为提高企业竞争力的核心。 为了满足这一需求,目前多数的实时数据库产品都实现了各具特色的同志系统。 这些日志系统按照信息获取的方式大致分为两类:基于周期查询提供监控信息的 日志系统;主动及时发送监控信息的日志系统。前者是一种被动的信息获取方式, 由请求方驱动,不能保证及时获取信息;而后者由监控信息驱动,这种方式更能 满足实际监控过程的需要。订阅与发布通信模型用于实现由监控信息驱动的日志 系统。目前采用这种方式实现日志系统的实时数据库产品并不多,其中g ef a n u c 公司推出的i h i s t o r i a n 实时数据库产品实现了基于主题的订阅与发布模型。 本文实现了基于内容的订阅与发布模型,所作的主要工作如下: 在深入研究实时数据库体系结构的基础上完成了实时数据库同志系统的框架 设计、功能设计、接口设计:本文中的日志系统以订阅与发布功能为核心,实现 了针对实时数据库系统运行过程中产生的事件和报警的收集、订阅与发布、存储、 确认等功能点;以动态链接库的形式提供给实时数据库系统其它模块一个统一的c 语言形式的a p i 接口。 本文中的日志系统是实时数据库产品的一个模块。日志系统实现了基于内容 的订阅与发布模型,因此系统的表达能力好于i h i s t o r i a n 产品实现的基于主题的订 阅与发布模型,此外为方便用户获取事件和报警的统计信息,系统还提供了更加 详细的查询机制。主动、及时的信息发布方式与查询机制的结合使得我们的r 志 系统更加贴近实时数据库用户的需求。 关键词:实时数据库;中间件;订阅与发布 分类号:t p 3 1 9 a bs t r a c t t h er e a l ,t i m ed a t a b a s es y s t e mi su s e dt og a t h e r , p r o c e s s ,p r e s e r v ea n di n q u i r et h e l a r g ea m o u n to fi n d u s t r i a ls c e n e d a t a b e s i d e st h i s ,i ta l s oi m p l e m e n t se r r o ra n a l y s i sa n d p e r f o r m a n c eo p t i m i z a t i o nb ym a k i n g u s eo ft h ei m p o r t a n te v e n t sc o l l e c t e d ,t h ei n f o r m a - t i o no fo p e r a t i o n s ,r u n n i n gs t a t u sa n da l a r m s t h u si t sa b l et om o n i t o rt h ei n d u s t r i a l p r o d u c t i o np r o c e s s a st h eu n c e a s i n gd e v e l o p m e n to f i n f o r m a t i o nc o n s t r u c t i o ni ni n d u s - t r i a le n t e r p r i s e s ,r e d u c i n gt h ep r o d u c t i o nc o s ta n do p t i m i z i n gp r o d u c t i o np r o c e s sh a v e b e e nt h ec o r et oi m p r o v et h ee n t e r p r i s e s c o m p e t i t i v ep o w e r i no r d e rt om e e tt h i sn e e d , a tp r e s e n tm o s tr e a l t i m ed a t a b a s ep r o d u c t sh a v ei m p l e m e n t e dt h eu n i q u el o gs y s t e m s a c c o r d i n g t od i f f e r e n tw a y so fi n f o r m a t i o na c q u i s i t i o n ,l o gs y s t e m sa r ed i v i d e di n t ot w o k i n d s :s y s t e m so fi n q u i r i n gm o n i t o r i n gi n f o r m a t i o np e r i o d i c a l l ya n ds y s t e m so fs e n d i n g m o n i t o r i n gi n f o r m a t i o na c t i v e l y t h ef o r m e ro n e i sap a s s i v ei n f o r m a t i o na c q u i s i t i o n w a y ;b u tm el a t t e ro n ed r i v e nb y t h em o n i t o r i n gi n f o r m a t i o ns a t i s f i e st h ea c t u a lm o n i t o r i n gp r o c e s sb e t t e r s u b s c r i b e & p u b l i s hm o d e l i su s e di ns y s t e m so fs e n d i n gm o n i t o r i n g i n f o r m a t i o na c t i v e l y a tp r e s e n t ,l o gs y s t e m si m p l e m e n t e di n t h i sw a ya r en o tm a n y , i h i s t o r i a np r o d u c tp r o m o t e db yg ef a n u cc o r p o r a t i o nh a si m p l e m e n t e dt h es u b j e c t 。 b a s e ds u b s c r i b e & p u b l i s hm o d e l t h et h e s i sh a si m p l e m e n t e dc o n t e n t - b a s e ds u b s c r i b e & p u b l i s hm o d e l ,t h em a i nt a s k i sa sf o l l o w s :t h ea r c h i t e c t u r ed e s i g n ,f u n c t i o n a ld e s i g na n da p id e s i g no fl o gs y s t e mi n r e a l t i m ed a t a b a s ea r ec o m p l e t e d ;s u b s c r i b e & p u b l i s hi sa sa c o r eo ft h el o gs y s t e ma n d t h es y s t e mh a sa l s oi m p l e m e n t e dc o l l e c t i o n ,s u b s c r i b e & p u b l i s h ,p r e s e r v a t i o na n dc o n - f i r m a t i o no fa l a r m s ;t h es y s t e mp r o v i d e so t h e rm o d u l e si nr e a l - t i m ed a t a b a s ew i t hc a p i si nt h ef o r mo fd y n a m i cl i n kl i b r a r y t h el o gs y s t e mr e f e r r e dt oi n t h i st h e s i si sam o d u l eo fr e a l t i m ed a t a b a s e t h e s v s t e mh a si m p l e m e n t e dc o n t e n t b a s e dm o d e l t h e r e f o r e ,i t sb e t t e rt h a ni h i s t o r i a ni n t h ee x p r e s s i v e n e s sa b o u te v e n ta n ds u b s c r i p t i o nc o n d i t i o n t h es y s t e mh a sa l s op r o v t d e dt h em o r ed e t a i l e di n q u i r ym e c h a n i s mb yw h i c h u s e r sg a i nt h es t a t i s t i c a li n f o r m a t i o n o fe v e n ta n da l a r mc o n v e n i e n t l y i ng e n e r a l ,t h el o gs y s t e mi sm u c hc l o s e rt ot h ed e m a - n do fr e a l t i m ed a t a b a s eb s e r k e y w o r d s :r e a l t i m ed a t a b a s e ;m i d d l e w a r e ;s u b s c r i b e & p u b l i s h c l a s s n o :t p 3 1 9 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:文j 玉西 签字日期:如蜉年6 月3f 7 1 新签名:描娉代 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:刻玉荔签字日期:硼吕年乡月3 日 6 1 致谢 本论文是在我的导师黄厚宽教授的悉心指导下完成的。在我攻读硕士学位期 间,导师无论是在学习还是在生活上都给予我无微不至的关怀和帮助。同时黄老 师严谨的治学态度、渊博的学识、敏锐的洞察力、高度的责任心和平易近人的处 事方式也给我留下了深刻的印象,是我今后学习的榜样。在此衷心感谢两年以来 黄老师对我的关心和指导。 从论文的选题到论文的撰写,每一个环节都凝聚着林友芳老师的心血和智慧, 林老师对于我的科研工作和论文提出了许多的宝贵意见,在此感谢林老师在本论 文完成过程中给予的热情帮助。 在论文评审期间瞿有利老师对我的论文提出许多宝贵意见并给予我很大的帮 助,在此向瞿老师表示衷心的谢意。 感谢牛玲、李锦善、郭维维等同学,在实验室期间一直得到她们热情的帮助, 在此向她们表示衷心的谢意。 感谢北京三维力控科技有限公司的全体员工以及与我同为实习生的张冬练同 学,在力控半年的实习工作得到了他们热情无私的帮助和指导,使我体会到力控 这个大家庭的温暖。 最后也要感谢我的父母,这些年来他们一直默默无闻,在我背后鼓励我、支 持我、爱护我。他们的理解和支持使我能够在学校专心完成我的学业,在此衷心 的感谢他们。 1 引言 实时数据库作为全厂的综合数据平台,成功地实现了现场控制系统的过程生 产数据的集中,为企业的生产过程优化提供了基础的数据支持。由于现场控制系 统的实时数据反映了实际的生产状态,因此实时数据库仅仅实现实时数据的存储 是不够的,更关键的是如何利用这些数据反馈给生产过程,指导现场生产。其中 对报警和事件的订阅与发布机制是优化生产过程的重要方面,本课题正是在此背 景下提出,设计并实现适合工业企业的实时数据库订阅与发布机制,使得该实时 数据库系统能更好的优化生产过程,提高企业效益。 1 1o p c 技术现状 实时数据库作为全厂的综合数据平台,为先进控制软件提供基础数据支持, 在工业控制和自动化领域得到了广泛应用。而o p c 规范作为工业控制和生产自动 化领域中使用的硬件和软件的接口标准已经得到众多公司的支持。一批国际知名 的控制类公司如:a b b 、a s p e n t e c h 、e u r o t h e r m 、f o x b o r o 、h o n e y w e l l 、n a t i o n a l i n s t r u m e n t s 、s i e m e n s 、t o s h i b a 、j o h n s o n - y o k o g a w a 、g ef a n u c 等相继宣布支持 o p c 标准。鉴于o p c 正在成为业界标准,现在许多公司正在致力于利用o p c 规 范开发产品。 o p c ( o l ef o rp r o c e s sc o n t r 0 1 ) 规范是o p c 基金组织倡导的,工业控制和生 产自动化领域中使用的硬件和软件的接口标准。它是由全世界范围内自动化领域 中处于领导地位的硬件和软件开发商,在m i c r o s o f t 的协作下制定的,并且已经得 到越来越多的客户和硬软件制造商的认可。 o p c 技术作为一项工业标准在国内也得到了逐步推广和应用,2 0 0 0 年1 2 月 正式成立了中国o p c 促进会。目前,已有多家公司加入了o p c 基金会,成为其会 员单位,如北京华富惠通、北京华控、浙大中控、北京中瑞泰等【l 】。现在o p c 技 术有七个标准规范已经完成或者是在进行当中。 o p c 报警与事件处理规范( a l a r m sa n de v e n t ss p e c i f i c a t i o n ,简称a & e 规范) 是o p c 规范的一种,它制定了处理报警和事件的统一标准。现在随着工业过程控 制越来越快地发展,应用在实践中的自动化水平正处理着越来越多的信息【2 j ,日志 系统被用来显示需要立即采取措施的过程域。受关注的域包括( 但不限于) :设备 的安全限制,事件检测,非正常情况等等。除执行器以外,其它客户端软件可以 连接和记录报警和事件信息,以便以后审计和与其它历史数据比较。 事件与报警规范补充了但是独立于o p cd a 和o p ch d a 规范。它参考了o p c c o m m o n 规范,提供一种由服务器程序将现场报警和事件通知客户程序的机制, 使工控软件可以按照统一的标准处理现场的各种报警和事件。在订阅与发布机制 的设计中,重点参考了该规范。 1 2 课题提出的意义 实时数据库为企业进行先进控制、实时在线优化、生产过程管理等提供数据 支撑平刽引。在现代工业企业中,生产成本和设备安全是企业的核心关注点,也是 企业提高竞争力的关键,因此实时数据库作为厂级数据平台被广泛应用在构建厂 级信息监控系统中。它除了提供实时数据采集、查询等方面的功能,还能够对生 产过程进行监控。在实际的生产过程中,对报警和违法事件无论是判断延时还是 误判都可能对企业造成比较严重的经济损失。如果判断延时,真正的故障得不到 及时排除,可能会发生重大的生产事故;而误判将正常状态诊断为故障,会造成 不必要停机1 4 j 。因此,经营管理者希望通过实时数据库及时自动地得到全厂生产数 据和设备状态参数,以便对报警和违法事件能够及时准确地做出反应。而为了使 实时数据库能够一直及时准确地反映生产过程的报警和事件信息,就需要保证实 时数据库系统能够有比较快速准确的判断、通知机制。 本课题立足于这样的需求,在日志模块中以订阅与发布的通信机制实现报警 和事件信息的及时通知。它是一种主动及时的信息传递方式,通过发布报警和事 件的方法主动通知订阅者有新的数据可用【5 】。订阅与发布机制无需发送请求,也无 需建立连接,因此有效减少了网络通信量并节省了服务器资源,而且它还支持异 步通信。总体来讲,订阅与发布通信机制能够有效的保证消息传递的及时性。 1 3 主要工作 本文在深入研究订阅与发布通信机制和主要实时数据库产品日志系统实现的 基础上,参考o p ca & e 规范进行了日志模块总体设计,选取关系数据库m y s q l 作为历史报警和事件信息存储工具,选取o t l 作为数据库访问引擎,深入探讨了 报警和事件信息的查询,订阅与发布,报警信息确认等功能实现问题。采用v i s u a l s t u d i o2 0 0 5 开发工具,完成实时数据库日志模块设计、编码和测试工作。 希望作者的尝试可以为用户将订阅与发布机制应用于实时数据库产品中起到 一定的借鉴作用。 2 1 4 论文结构 论文组织结构如下: 第一章介绍了与实时数据库联系紧密的o p c 规范,本课题的意义以及所作的 主要工作; 第二章深入讨论了实时数据库系统特征以及与关系数据库的区别,并介绍其 应用与发展现状; 第三章对订阅与发布系统的研究现状进行介绍,将其与传统通信模型进行比 较,并且展望了订阅与发布系统的发展趋势; 第四章在基于实时数据库系统结构基础上,给出实时数据库同志模块的设计 思路并就其订阅与发布机制的设计以及订阅与发布的有关问题进行讨论; 第五章围绕实时数据库日志模块中订阅与发布的实现,介绍了开发平台,开 发工具,讨论了与订阅发布功能相关的数据结构和接口; 第六章对论文的整体工作进行总结,并且提出下一步工作目标。 3 2 实时数据库技术 实时数据库技术是数据库技术与实时技术两者在概念、技术、方法和机制无 缝结合的基础上产生【6 】,除了具有关系数据库系统的诸多特性以外,它的数据和事 务还具有与之相联系的时间限制。因此实时数据库系统的j 下确性不仅依赖于逻辑 结果还依赖于逻辑结果的产生时洲丌。数据的时间限制是指数据只在一定时间内有 效,超过时间期限的数据即为非有效数据;事务的时间限制是指事务必须在规定 的时间期限之内完成,超出时间期限未完成的事务可能会导致严重的后果。 实时数据库的概念很广,一般意义上的实时数据库,是指工业领域中使用的 软实时历史数据库。它能采集、处理、保存、实时查询工业现场中的海量生产数 据,并对工业生产过程进行监控。在某些领域内,关系数据库可以替代实时数据 库。但是,在处理海量的生产数据时,关系数据库在单位时间内的数据插入量、 历史数据的数据容量、查询速度等方面达不到性能要求,而这正是实时数据库的 用武之地。 2 1 实时数据库特征 实时数据库系统的主要目标是使尽量多的事务在规定的时间内完成,而不是 公平地分配系统资源,使得所有事务能得以执行。概括地讲,实时数据库系统有 如下特点m j : 1 ) 时间约束。实时数据库是其数据和事务都有明确的时问限制的数据库。实 时数据库系统中,具有时间约束的数据主要是来自于外部的动态数据,以 及由这些数据求导出的新的数据。数据库中的数据必须如实反映现场设备 的运行情况。 2 ) 事务调度。实时数据库系统的正确性不仅依赖于事务的逻辑结果,而且依 赖于该逻辑结果所产生的时间。事务调度既要考虑事务的执行时间,也要 考虑事务的截止期、紧迫程度等因素。 3 ) 数据存储。实时数据库主要承担系统所有实时数据的存储和管理,为相关 的功能提供快速、正确的实时信息。为了达到实时性,实时数据库在系统 运行过程中,应常驻内存,以保证读取速度。对于实时性要求不高的数据 可存放在外存。因此,在实时数据库设计时,要妥善处理时间与存储空间 的矛盾,以保证系统的实时性。 4 ) 数据压缩。在实际的数据存储中,实时数据库还要解决如何高效处理海量 4 数据的问题。如果数据被原封不动地存储势必需要大量磁盘空间以及耗费 大量的c p u 时间,因此必须对实时数据进行压缩存储。常用的压缩算法 有死区压缩和旋转门压缩。 2 2 实时数据库与关系数据库的异同 实时数据库系统设计的首要目标即满足于对事务的定时限制,是数据和事务 均具有定时特性或确定的定时限制的数据库系统,其基本原则是宁要部分正确而 及时的信息,也不要绝对正确但过时的信息。实时数据库系统的正确性基于逻辑 和时间两方面,其结合了数据库系统与实时系统两者的功能特性,既支持大量数 据共享,维护数据的一致性和完整性,又支持数据和事务的时间限制【9 】。其核心是 对大量的实时信息进行处理并存储,成年累月的数据将占据大量的硬盘空间,例 如对于1 万点的系统,每1 秒钟存储一次,每次单点占8 个字节,那么保存1 0 年 的数据量将有1 0 0 0 0 8 1 0 3 6 5 8 6 4 0 0 = - 2 5 2 2 8 8 0 0 0 0 0 0 0 0 字节,也就是2 3 t g b 。若 用8 0 g b 的硬盘存放,需要存放2 9 3 块硬盘。此外,每个需要处理的测点的值都 与时间相关,一秒钟之后的数据与一秒钟之前的数据可能就不一样了,因此,在 保存测点值的同时,必须通过某种方法将其对应的时间也记录起来【1 0 1 。 对于关系型数据库而言,它实现了永久数据管理,包括数据库的定义、存储、 维护等;有效的数据存取、各种数据操作、查询处理、存取方法、完整性检查; 事务管理、调度与并发控制、执行管理;存取控制、安全性检验;对数据库的可 靠性进行控制。其设计目标是维护数据的绝对j 下确性,保证系统的低代价并提供 友好的用户接口。这种数据库系统适于传统的商务和事务型应用,当运用于一些 实时性要求较强的生产过程控制如电力生产控制时,关系型数据库就受到了极大 的限制【9 】。这是因为一般关系型数据库是基于事务处理的,在处理失效后,还要回 滚作业,而工业监控系统需要面对的是数万点的实时数据以秒级的间隔存放数据, 关系数据库的速度不能满足要求。并且关系数据库提供的查询方式也不能满足实 时应用的需要。假定以1 秒为间隔存放数据,一周的数据总计6 0 4 8 0 0 组,但是 现要以6 0 秒为间隔取出其中1 0 0 8 0 组或者以等间隔原则取出8 8 8 8 组,标准s q l 语法就较难实现i l u j 。 实际上,实时数据库与关系数据库并不是对立的关系,在很多场合它们是可 以混合使用的。例如为了给用户提供管理控制体化的数据平台,可以将实时数 据库与管理类系统集成在一起,管理类系统一般都是采用关系数据库。这样的集 成能同时满足控制和管理类系统的要求。 2 3 实时数据库应用 本论文所讨论的实时数据库不仅采集生产现场的实时数据,还对保存在磁盘 上的历史数据进行管理,它具有以下功能: 1 ) 采集生产实时数据,把各装置的生产数据采集到计算机的信息系统中; 2 ) 加工采集过来的实时数据,对实时数据进行量程变换等初步处理; 3 ) 管理实时数据,处理实时报警; 4 ) 管理历史数据,提供趋势分析,历史查询等手段管理历史数据; 5 ) 对外提供数据接口,可以和关系数据库集成,提供管控一体化的平台; 6 ) 提供开发接口,用户可以在实时数据库上做二次开发。 实时数据库在国内的应用,是在工业企业信息化过程中,随着关系数据库应 用的局限性不断被发现的过程中,逐步使用和被用户认可的。实时数据库将数据 库的应用领域缩小,针对这个缩小的应用领域,它将数据库理论中的部分功能弱 化而将部分功能强化。例如,它弱化了数据库理论中的事务处理逻辑并且允许在 一定精度范围内的数据失真等。实时数据库弱化这些功能,用以实现高效的数据 插入和查询功能,以及实现较高的压缩比。实时数据库的应用集中在以下几个方 面: 1 ) 在生产装置运行过程中,实时数据库系统实时采集装置的运行数据,并通 过对生产过程的关键数据的监控和分析,随时掌握装置的运行状况,及时 处理出现的问题,使生产的运行状态保持平稳。通过对生产数据的检测和 分析,特别是对生产调度人员来说,可以及时地调整物料供应,减少能耗, 控制生产成本,提高企业经济效益。 2 ) 通过高效的压缩技术和海量存储技术,实时数据库能够保存大量的生产过 程历史数据。它可以帮助生产人员分析生产过程的变化规律,对生产过程 进行优化,还可以帮助生产人员分析和定位生产故障原因,制定相应的防 范措施。 3 ) 实时数据库系统与现场控制设备直接相连接,使企业管理层实时地得到来 自生产过程的实时数据,为管理信息系统的开发与应用提供了一个理想的 平台,实现管理控制一体化,使管理信息系统实时、高效地运行【1 1 1 。 2 4 实时数据库发展现状 随着经济体制的转变,国内的众多工业企业r 益感受到国际竞争带来的压力 与挑战12 1 。如何降低生产成本,优化生产过程实现企业信息化是提高企业竞争力 6 的核心。实时数据库在企业信息化建设中扮演着重要的角色,它能够提供高速、 及时的实时数据服务,能够有效地集成异构控制系统,提供分布式数据服务。它 在工厂控制层( 现场总线、集散控制系统等) 与管理信息系统m i s ( m a n a g e m e n t i n f o r m a t i o ns y s t e m ) 之间建立了实时数据连接,使企业生产过程控制与业务管理 相结合。同时它也为企业进行先进控制、实时在线优化、生产过程管理等提供数 据支撑平刽引。这与现代工业企业对现代化管理的需求一拍即合。 随着工业企业信息化建设的不断发展,越来越多的人们认识了实时数据库, 也理解了实时数据库所具备的其它产品无法替代的作用。实时数据库除了理论研 究日趋成熟外,在产品开发和应用上也有了丰富的成果。总体看来,开发这类产 品的厂家主要有三类:纯实时数据库厂家、由监控组态软件公司推出实时数据库 产品、由d c s ( 集散控制系统) 厂家推出实时数据库产品。比如美国o s l s o f i 公司 于2 0 世纪8 0 年底推出的实时数据库产品p i ( p l a n ti n f o r m a t i o ns y s t e m ) ,经过长达 2 0 多年的发展,在性能和实用性等方面得到了许多用户的认可。相对而言, a s p e n t e c h 公司的i n f o p l u s 2 1 产品的高端应用较多,在全球的市场份额相对要高 一些,除此还有美国h o n e y w e l l 公司的u n i f o r m a n c e ( p h d ) 系统;英国w o n d e r w a r e 公司的i n d u s t r i a ls q ls e r v e r 产品。而国内也相继出现了一系列实时数据库产品, 浙大中控推出的e s p i s y s 系统,中国国家电力公司自动化研究院的n s i s 系统等, 尽管这些产品和国外的同类产品相比,不论从功能上、性能上还是在体系结构设 计上都还存在着一定的差距,但是它们也有各自的优势所在,例如地缘优势、成 本优势、服务优势等。加上各公司在功能和性能上的不断改进,近年来这些产品 在国内的实时数据库市场上也占有越来越高的份额【i 。 7 3 订阅与发布系统概述 继上一章对实时数据库领域的简单介绍之后,这一章将从订阅与发布系统的 总体研究情况入手,介绍包括系统概念、订阅与发布系统的现有产品以及现有系 统的分类标准,并针对订阅与发布系统的主要研究问题从匹配算法和路由算法角 度进行论述,指明订阅与发布系统有待解决的开放问题以及订阅与发布系统的研 究趋势,最后就订阅与发布通信机制的特点与传统通信模型进行比较。 3 1 订阅与发布系统介绍 信息的订阅与发布机制作为一种通讯模式,广泛应用在分布式网络环境中。 目前已有的大规模分布式网络应用的体系结构通常为同步的c s 结构,例如 w w w 、c o r b a 、j 2 e e 、c o m + 等【i3 1 。这种体系架构多数基于一种请求应答机制, 即客户端在发送完请求后,就阻塞运行进程,直至收到服务器发回的应答。这种 机制由于通信双方存在紧耦合关系,已经不能满足大规模应用开发需要。而订阅 与发布交互模式由于具有异步、松散耦合的特点,越来越受到大规模应用开发的 关注。订阅与发布交互模式是由一些使用消息进行异步通讯的客户端组成,系统 使用消息把各个客户端的耦合度降低,客户端相当于生产者或和消费者。一个典 型的分布式订阅与发布系统如图3 1 所示,事件代理( b l ,晚风) 作为订阅发布 中间件,负责消息( p ) 的匹配和转发。生产者( 一,p 2 p n ) 向中间件发布消息, 消费者( 岛,& 品) 向中间件发出一个订阅条件,订阅条件用来描述消费者对系 统中感兴趣的消息,如果消费者对此类消息不再感兴趣则可取消订阅;而订阅与 发布中间件则保证将发布的消息及时准确地传送给对之感兴趣的消费者。我们称 消息的生产者为发布者,消息的消费者为订阅者。 现在已经有一些比较成功的订阅与发布工业产品和学术原型系统,除了在订 阅表达能力上有更进一步的提高外,还出现了支持移动环境( 移动客户端) 的订 阅与发布系统,如j e d i 、s i e n a ;部分支持订阅事件模式( 事件序列满足一定条 件才进行通知) 的系统,如j e d i 、s i e n a 、h e r m e s ;支持服务质量保证的系统如 j m s 、t i b 等;支持处理某些应用领域中近似匹配的要求( 一个事件部分地与某订 阅条件匹配) ,如基于模糊集理论和概率论的原型系统a t o p s s 。 消息中问件 s u b s c r i b e ( e ) 厂、 八 b i ) u m u 一m u 图3 1 订阅与发布系统简单模型 f i g u r e3 1t h es i m p l em o d e lo f s u b s c r i b e & p u b l i s hs y s t e m 3 2 订阅与发布系统分类 订阅与发布系统以及原型的多样性,使得它们彼此在基本性能上有很多不同, 也因此导致了订阅与发布系统有多种分类方式。例如,按照订阅者获取事件通知 的方式可以分为基于推的、基于拉的、以及二者混合的方式。在推的方式中,消 息自动发送到订阅者;在拉的方式中,由订阅者选择事件源。典型的系统如t i b 采用推的方式,j e d i 系统采用推和拉的混合方式。而按照事件模型又可以分为基 于元组、基于记录( 结构化记录和半结构化记录) 和基于对象的三种。但是这些 分类方法都不能完整描述所有的订阅与发布系统。目前最为流行的分类方法是按 照表达能力和拓扑结构进行分类。第3 2 1 节给出了一个按照表达能力的分类,第 3 2 2 节给出了按照拓扑结构的分类。 3 2 1基于数据模型和订阅模型的分类 数据模型定义了事件的数据结构,订阅模型定义了系统订阅条件的结构,二 者共同决定了系统的表达能力。订阅与发布系统按照数据模型和订阅模型可以分 为基于渠道的系统,基于主题的系统,基于内容的系统和基于类型的系统。其中, 9 基于内容的系统又分为基于元组的系统和基于记录的系统。 1 ) 基于渠道的系统 基于渠道的系统是第一代订阅与发布系统【2 】【1 4 】【1 5 1 。发布者按照渠道组织事件, 发布到渠道里的每一个事件都发送到订阅这个渠道的所有订阅者,事件的接收与 事件的内容无关。典型的基于渠道的订阅与发布系统是c o r b a 事件服务规澍1 6 1 , 其中的发布者和订阅者通过若干个渠道进行交互和异步通信。但是这类系统的缺 点也比较明显:第一,系统的表达能力有限。由于事件仅按照渠道分类,如果完 全匹配订阅者兴趣的渠道不存在,订阅者需要订阅多个渠道进行“与或”操作, 独立实现额外的过滤;第二,由发布者决定向哪个渠道发布事件,所以发布者和 订阅者之问没有完全解耦i l3 1 。 2 ) 基于主题的系统 基于主题的系统拓展了用于联系通信双方的渠道的概念,实现了发布者和订 阅者之间的完全解耦。事件根据主题进行分类,每个事件都有一个唯一的主题, 订阅者在订阅条件中指明感兴趣的主题,当指定主题下的事件出现时,会由系统 发送给相应的订阅者。一些产品的早期版本一般都是基于主题实现的,例如t i b 的早期版本,i b mm q s 甜e s 的早期版本。现在也存在一些支持主题的系统,有 b a y u e x t m ,s 嘶b e 【18 1 。后来,人们在此基础上又做了一些改进,提出了主题树【1 3 】 的概念,将主题组织成一种层次结构。订阅者可以订阅一个单独的主题a ,也可 以订阅其下所有的主题a 幸。基于主题的系统不关注事件的内部结构,只是使用一 维主题信息对事件分类,与基于渠道的系统相比,虽然它的表达能力有所提高但 是这也改变不了基于主题系统的本质。这类系统的表达能力仍旧有限,但是它不 涉及事件内部结构,因此不需要匹配算法,也易于实现高效的系统。 3 ) 基于内容的系统 基于内容的系统不要求事件属于一个特定的主题,它根据事件内容本身进行 分类,订阅者基于事件内容来指定订阅条件,订阅条件不受主题的限制,是目前 表达能力最好的系统【1 3 】,并成为近年来研究的热点。实验的原型系统包括e l v i n 1 9 1 , g r y p h o n 2 0 之1 1 ,s i e n a 2 2 五3 1 ,j e d i 2 4 1 。基于内容的订阅与发布系统与其它类型相比 更加灵活,它只为订阅者提供需要的事件信息,而且它能轻易的实现基于主题的 系统,反之则不能;但是事件和订阅条件之间的匹配问题给系统带来了新的负担, 所以匹配算法的效率必须很高。目前基于内容的订阅与发布系统分为两类:一类 是基于元组的系统,一类是基于记录的系统。 在基于元组的模型中,事件由元组表示,而元组是一个有序的属性集。所有 基于元组的模型都使用模板作为订阅机制,模板中包含通配符。模板中的属性和 事件中的属性按照位置进行匹配。由于匹配按照固定的模板进行,所以需要包括 l o 所有属性。典型的系统如j e d i ,它采用基于元组的模型,将事件表示为字符串元 组【2 5 1 ,第一个串是名称,其余的则是属性。由于匹配是按照位置进行的,模型的 灵活性受到一定的影响,但是这一模型的实现比较简单。 在基于记录的模型中,事件由指定的属性集组成。基于记录的模型分为两类: 结构化记录和半结构化记录。两者的区别是在结构化记录中一个名字对应一个属 性,而在半结构化记录中一个名字可以对应多个属性。下面讨论这两类模型。 在结构化记录模型中,由“属性一数值”对的结构化记录表示事件。订阅条 件利用属性名在属性上建立约束。典型系统如s i e n a ,它的每个原子约束条件只 涉及其中的一个属性,属于平面模式;而其它系统如e l v i n 则允许在使用运算符连 接的多个属性上进行判断,属于层次模式。在这类系统中,每个约束在事件中都 定义了一个存在量词,即如果事件中不具备订阅条件中的某个些属性时,事件与 订阅条件是不匹配的。 而半结构化记录模型是结构化记录模型的范化,由于数据自身包含数据模式, 它常被称为自描述结构。现在最好的半结构化记录模型是x m l 3 】。其中的每个事 件都是一个x m l 文档,订阅条件一般是x p a t h 路径表达式。订阅条件表示为对 x m l 文档结构的约束以及元素和属性的约束。典型的基于x m l 的系统如 h e r m e s 2 6 】,其表达能力比基于结构化记录的系统有很大的提高。但是基于这种模 型的系统,订阅者必须预先知道被发布的x m l 文档所遵从的x m ls c h e m a ,才能 根据该s c h e m a 定义订阅条件,而且这一领域基于内容的路由方法仍需要进一步深 入研究【1 3 】。 基于内容的订阅与发布系统已经取得长足的发展,但是事件和订阅条件之间 的匹配算法以及分布环境下基于内容的路由算法等一系列开放问题仍有待于深入 研究。 4 ) 基于类型的系统 在基于类型的订阅与发布系统中,事件根据类型进行分类,每个事件属于一 个特定类型,事件中封装了属性和方法。订阅者通过指定事件的类型实现订阅。 这种系统在属性上的约束类似于基于内容的系统,而在类型上的过滤又类似于基 于主题的系统,其表达能力介于二者之间。由于这类系统很难找出不同订阅条件 之间的共性,因此很难设计出高效的匹配算法,系统的效率较低。 3 2 2 基于拓扑结构的分类 订阅与发布系统由一个或多个事件代理以及一组异步通讯的客户端组成,客 户端既可以是发布者也可以是订阅者,而事件代理则承担订阅条件管理,事件匹 配,事件传播等关键功能。有效的事件传播依赖于事件代理的拓扑结构,事件代 理的拓扑结构在实现上可分为集中式和分布式【2 7 1 。在集中式拓扑结构中,发布者 和订阅者都连接到集中的事件代理上;在分布式拓扑结构中多个事件代理互相连 接,协同为客户端提供服务。下面将基于事件代理作为独立的事件代理服务器对 外提供服务来讨论订阅与发布基于拓扑结构的分类。 1 _ ) 星型( 集中式) 拓扑模型 星型拓扑结构中,发布者和订阅者之间存在一个单一的事件代理。如图3 2 所 示,代理( s ) 接收来自发布者( 尸l ,岛户n ) 发布的消息并将消息转发给订阅者( 岛, & s ) 。这种结构缺乏扩展性,并且由于事件代理端负载较大,容易形成性能瓶 颈。但是因为只有一台代理,这种拓扑模型不需要复杂的路由算法,实现简单。 图3 2 集中式拓扑 f i g u r e3 2c e n t r a l i z e dt o p o l o g y 2 ) 层次拓扑模型 在层次拓扑结构中事件代理的连接按照层次关系组织。如图3 3 所示,每一个 事件代理( 蜀,& ,s 3 ,s 4 ,砖) 都为很多客户端服务。客户端( c l ,c 2 ,c 3 ,c 4 ,c 5 ,6 6 ) 可以是发布者也可以是订阅者。在这种拓扑结构里面服务器服务器,服务器客户 端使用相同协议。节点将订阅条件和收到的事件向根节点层层传递,途中将事件 转发到关注此事件的子树中。这种拓扑结构的缺点是越是上层的节点负载就越大, 容易形成性能瓶颈,并且一个节点的失败会导致与它相连的子节点断连,产生单 点故障,但是扩展性有所提高。j e d i 系统,g r y p h o n 系统采用了层次拓扑结构。 1 2 图3 3 层次拓扑模型 f i g u r e3 3h i e r a r c h i c a lt o p o l o g y 3 1 坏型拓扑模型 在环型拓扑结构中,如图3 4 所示,事件代理服务器( 蜀,& ,岛,& ) 组成一个 环形图,各服务器之间是平等关系。服务器之间采用双向通信协议交换订阅和通 知。服务器服务器的协议和服务器客户的协议因类型和交换的信息数量而有所不 同。而与之相似的无环拓扑结构,其中任何事件服务器之间只有一条路径,信息 双向传送。基于无环拓扑结构的系统能够比较容易实现路由算法优化f 2 8 】。 4 ) 一般图拓扑模型 一般图结构可以看成是环型拓扑结构的泛化,如图3 5 所示。它进一步取消了 所有代理之间只有一个环的约束,通过在代理之间增加冗余路径,克服了单点故 障,但是结果就是增加了路由算法选择最佳路径的复杂性。 图3 4 环形拓扑模型 f i g u r e3 4r i n gt o p o l o g y 图3 5 图拓扑模型 f i g u r e3 5i r r e g u l a rp o l y g o nt o p o l o g y 1 4 5 ) p 2 p 拓扑模型 p 2 p 网络具有分散控制、容错和自组织等优点,因此构建于其上的订阅与发布 系统对节点故障和拓扑结构的变化有很好的适应能力【2 引。p 2 p 拓扑模型分为两类, 分别是纯的p 2 p 拓扑模型和混合的p 2 p 拓扑模型。在纯的p 2 p 拓扑模型中,每个 节点都既是一个订阅者又是一个发布者,没有服务器节点和客户端节点之分, s c r i b e 系统实现了纯的p 2 p 拓扑模型;在混合型的p 2 p 拓扑模型中,节点都是事 件代理,客户端在模型之外,h e r m e s 系统实现了混合的p 2 p 拓扑模型。p 2 p 拓扑 模型支持节点的动态加入和退出。 3 3 订阅与发布系统的研究现状 早期的基于主题的订阅与发布系统已经有很多成熟的产品广泛应用于银行、 证券、制造业、企业信息化各个领域【2 引。随着学术界和工业界理论研究的不断深 入,订阅与发布技术已经开始在移动通信环境,普适计算,过程控制系统领域中 有所应用。 上一节中,我们提到基于内容的订阅与发布系统是近年来研究的热点,这里 我们以基于内容的订阅与发布系统为核心,就其实现的关键问题进行讨论。最后, 我们将会对其它方面的研究情况进行总结。 为了高效地实现基于内容的订阅与发布系统,有2 个关键问题需要解决: 1 ) 如何高效的找到与给定事件相匹配的所有订阅条件; 2 ) 系统可能运行在广域网环境下,发布者、订阅者和事件的数量都很大,事 件代理组成一个分布式的拓扑结构来提高系统的扩展性,如何找到一条合 适的路径将事件从发布者路由至订阅者。 3 3 1订阅与发布系统匹配算法 订阅与发布系统匹配算法用于找到与给定事件匹配的所有订阅条件,算法依 赖于系统数据模型( 订阅模型和事件模型) 。通常数据模型的表达能力越好,即能 够更加具体的表达用户感兴趣的事件,则匹配算法就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 膀胱资料课件
- 2026年新安法模拟试卷带答案
- 2026年拉伸试验考试模拟试卷及参考答案
- 2026年网络安全工程师(渗透测试)水平认证综合测试模拟试卷及参考答案
- 2026年财务人员考试模拟试卷带答案
- 2026年包装厂考试模拟试卷带答案
- 2026年教师招聘美术模拟试卷及参考答案
- 2026年社工理论模拟试卷带答案
- 2026年救护伤员模拟试卷及参考答案
- 2026年遴选法官模拟试卷及答案
- 基于多因素协同的喷涂机器人喷枪轨迹优化策略与应用研究
- 药品qa培训课件
- 项目合作佣金协议书范本
- 农村土地承包合同书
- 艺术品交易市场建设合同
- UL1977标准中文版-2019连接器UL中文版标准
- 公共图书馆情绪疗愈空间设计研究:动因、现状与实现机制
- 肺部疾病护理查房
- 有趣的汉字《甲骨文》课件
- 心理咨询中的认知重构技巧
- 第9章 语义分割
评论
0/150
提交评论