(计算机应用技术专业论文)ad+hoc网络中发布订阅系统路由算法的研究.pdf_第1页
(计算机应用技术专业论文)ad+hoc网络中发布订阅系统路由算法的研究.pdf_第2页
(计算机应用技术专业论文)ad+hoc网络中发布订阅系统路由算法的研究.pdf_第3页
(计算机应用技术专业论文)ad+hoc网络中发布订阅系统路由算法的研究.pdf_第4页
(计算机应用技术专业论文)ad+hoc网络中发布订阅系统路由算法的研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)ad+hoc网络中发布订阅系统路由算法的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学 硕士学位论文摘要 学科、专业:工科、计算机应用技术 研究方向:计算机通信与网间互联技术 作 指导老师:章韵副教授 题目:a dh o c 网络中发布订阅系统路由算法的研究 英文题目:r e s e a r c ho nr o u t i n ga l g o r i t hmo fp u b l i s h s u b s c r i b es y s t e m i na dh o cn e t w o r k s 关键字:发布订阅,a dh o c 网络,路由算法,匹配算法 k e y w o r d s :p u b l i s h s u b s c r i b e ,a dh o cn e t w o r k ,m a t c h i n ga l g o r i t h m , r o u t i n gp r o t o c o l 南京邮 乜人学颁j :研究生毕业论文摘要 摘要 发布订阅( p u b l i s h s u b s c r i b e ,p s ) 是种基于事件的通信范型,为分布式网络中系 统间的异步通汛提供了便捷的途径。随着a dh o c 网络技术的不断发展,发布订阅应用于 a dh o e 网络已成为发展趋势。路由协议对于整个发布订阅系统的效率、可靠性和可伸缩 性都有着重要的影响。 论文分析和探讨了基于内容的发布订阅系统的事件匹配策略及其相关算法。首先通过 一个预处理,把约束之问的“或”关系转变为“与”关系,然后建立多维索引结构,加快 匹配的速度,最后采用类似于计数法的思想,把订阅信息的约束数和匹配成功的约束数比 较,相等就说明事件匹配订阅信息成功。其次分析探讨了移动a dh o e 网络中的发布订阅 系统路由算法,针对现有移动a dh o c 网络中发布订阅系统路由算法可扩充性不好、可靠 性不高的问题,通过引入网络分区域技术,拓扑树维护算法,客户移动迁移算法,设计了 一种新型的面向移动a dh o e 网络的发布订阅系统路由算法,该算法能有效地解决发布 订阅系统在底层网络拓扑结构变化的情况下的平稳运行问题,让发布订阅系统中的匹配算 法不用考虑节点的移动性而只要注重事件的匹配效率。同时它也能控制了订阅消息的传 播,提高了系统的扩展性。用仿真验证了算法有效性和整体算法的可行性。 本文针对a dh o c 网络中支持发布订阅系统的路由算法进行初步研究,但求对推广发 布订阅系统的应用有一定价值。 关键字:发布订阅,a dh o c 网络,匹配算法,路由算法。 a b s t r a c t p u b l i s h s u b s c r i b e ( p s ) w h i c hi sac o m m u n i c a t i o nm o d e lb a s e do ne v e n tp r o v i d e s a c o n v e n l e n ta p p r o a c hf o ra s y n c h r o n o u sc o m m u n i c a t i o nb e t w e e na p p l i c a t i o n o nad i s t 曲u t e d n e t w o r k - a st h ea dh o cn e t w o r k t e c h n o l o g yc o n t i n u e st od e v e l o p ,i ti sat r e n dt h a t 印p l i e sp s s y s t e mt oa dh o cn e t w o r k r o u t i n gp r o t o c o lh a sa ni m p o r t a n te f f e c to nt h ee f f i c i e n c y ,r e l i a b i l i t v a n ds c a l a b i l i t yo fap ss y s t e m f i r s t l y , t h ee v e n t s m a t c h i n gs t r a t e g i e sa n dt h er e l a t e d a l g o r i t l n so fc o n t e n t - b a s e d p u b l i s h s u b s c r i b es y s t e ma r ea n a l y z e da n dd i s c u s s e d f i r s to f a l l ,t h er e l a t i o n s h i po fc o n s t r a i n si s c o n v e r t e df o r m “o r ”t o a n d b ya p r e p r o c e s s i n g a n dt h e nm u l t i d i m e n s i o n a li n d e x i n gs t m c t u r e 1 5c r e a t e dt os p e e du pe v e n tm a t c h i n gs p e e d f i n a l l y , b a s e do ns i m i l a rt o c o u n t i n gm e t h o do f i d e a s ,t h en u m b e ro fc o n s t r a i n t so ft h es u b s c r i p t i o ni n f o r m a t i o ni sc o m p a r e dw i t ht h en u m b e r o f t h es u c c e s s f u lm a t c h in gc o n s t r a i n t s i ft h e ya r e e q u a l ,t h a ti sm e a n tt oae v e n tm a t c h i n 2 s u b s c r i p t i o n s e c o n d l y , t h er o u t i n ga l g o r i t h mo fp u b l i s h s u b s c r i b es y s t e mb a s e do nm o b i l ea d h o cn e t w o r ki sd e e p l ya n a l y z e da n dd i s c u s s e d w es t u d i e dt h ef e a t u r ea n dm e c h a n i s mo fm a i n r o u t i n ga l g o r i t h m so na dh o cn e t w o r k i nv i e wo fp o o re x p a n s i b i l i t ya n ds t a b i l i t yo ft h er o u t i n g a l g o r i t h m sb a s e do nm o b il ea dh o cn e t w o r ki np u b l i s h s u b s c r i b es y s t e m ,w ed e s i g nan e wa d h o co r i e n t e d r o u t i n ga l g o r i t h mb yu s i n gn e t w o r k c l u s t e r i n gt e c h n i q u e ,b r o k e rn o d et r e e m a i n t e n a n c ea l g o r i t h ma n dc l i e n tr o u t i n gs w i t c ha l g o r i t h m t h en e w a l g o r i t h mt h ea l g o r i t c a ne f f e c t i v e l ys o l v et h ed i f f i c u l tp r o b l e mo f s t e a d yw o r kf o rp u b l i s h s u b s c r i b es y s t e mi nc a s eo f u n d e r l y i n gn e t w o r kt o p o l o g yi sc h a n g e d ,m a k i n gt h em a t c h i n ga l g o r i t h mp a y i n gm o r ea t t e n t i o n t om a t c h i n ge f f i c i e n c yo fe v e n ti n s t e a do ft h en o d em o b i l i t y i ts t i l lc o n t r o l sm e s s a g eb r o a d c a s t a n de n h a n c e st h e e x p a n s i b i l i t yo fp ss y s t e m t h ee f f e c t i v e n e s so ft h e a l g o r i t h l l la n dt h e f e a s i b i l i t yo ft h eo v e r a l la l g o r i t h ma r ev e r i f i e db ys i m u l a t i o n t h ep a p e rp r e s e n t sa ne l e m e n t a r ys t u d yf o rr o u t i n ga l g o r i t h m ss u p p o r tp u b l i s h s u b s c r i b e s y s t e mi na dh o cn e t w o r k s ,w ee x p e c tt h a to u ri n v e s t i g a t i o ni sv a l u a b ! ef o rs p r e a d i n gt h e a p p l i c a t i o no fp u b 】i s h s u b s c r i b es y s t e m s k e y w o r d :p u b l i s h s u b s c r i b e ,a dh o cn e t w o r k ,m a t c h i n ga l g o r i t h m ,r o u t i n ga l g o r i t h m 1 i 南京邮电大学颂i j 研究生毕业论义目录 目录 摘要i a b s t r a c t i i 目录i i i 第一章绪论l 1 1 研究背景1 1 1 1a dh o c 网络背景1 1 1 2 发布订阅系统的背景2 1 2 研究课题的提出3 1 3 本文的研究内容3 1 4 论文结构4 第二章发布订阅系统的相关技术5 2 1 消息中间件5 2 1 1 消息中间件的体系结构6 2 1 2 消息中问件的特点6 2 1 3 消息中间件的通信模式7 2 2 发布订阅系统概述8 2 2 1 发布订阅系统基本模型j j8 2 2 2 发布订阅系统分类1 4 2 2 3 发布订阅系统的拓扑结构:1 6 2 3 本章小结2 0 第三章基于内容的发布订阅系统的匹配算法2 1 3 1 可表达能力2 l 3 1 1 结 句化通知:2 2 3 1 2 过滤器“2 2 3 2 订阅语言和事件模型一2 3 3 3 事件匹配2 5 3 4 多维索引结构匹配算法2 6 3 4 1 约束之间关系统一2 6 3 4 2 订阅分解和约束合并2 6 3 4 3 取消订阅2 9 3 5 仿真与分析2 9 3 6 本章小结3 2 第四章a dh o c 网络中支持发布订阅系统的路由算法3 4 4 1a dh o c 网络中发布订阅系统模型3 4 4 2 a dh o c 网络。 的典型路由协议3 4 4 2 1c b r ,f t - c b r 和r a f t - c b r 算法3 4 4 2 2p s m r 协议3 7 4 2 3h d r p1 办议4 0 4 2 4 几种协议的比较4 l 4 3 一种新型使用代理节点树的c b r 协议4 2 4 3 1 协议的基本思想4 2 南京邮电人学颁l 到f 彳7 t 毕、世论文目录 4 3 2 协议的算法实现4 2 4 3 3 协议分析4 9 4 3 4 协议仿真4 9 4 3 5 评估c b r 的效益5 3 4 3 6 评估相对于m a o d v 的性能提升5 3 4 3 7 评估算法整体运行5 5 4 4 本章小结5 6 第五章总结与展望5 7 致谢5 8 参考文献5 9 已发表论文6 2 南京邮电人学硕i j 川亢生毕业论文 第一章绪论 1 1 研究背景 1 1 1a dh o c 网络背景 第一章绪论 人们经常提及的移动通信网络一般都是有中心的,要基于预设的网络设施才能运 行。例如,蜂窝移动通信系统要有基站的支持;无线局域网一般也工作在有a p 接入点 和有线骨干网的模式下。但对于有些特殊场合来晚,有中心的移动网络并不能胜任。 比如,战场上部队快速展丌和推进,地震或水灾后的营救等。这些场合的通信不能依 赖于任何预设的网络设施,而需要一种能够临时快速自动组网的移动网络。a dh o c 网 络可以满足这样的要求。 a dh o c 网络的前身是分组无线网( p a c k e tr a d i on e t w o r k ) 【1 】。对分组无线网的 研究源于军事通信的需要,并已经持续了近2 0 年。早在19 7 2 年,美国d a r p a ( d e f e n s e a d v a n c e dr e s e a r c hp r o j e c ta g e n c y ) 。就启动了分组无线网( p r n e t ,p a c k e tr a d i o n e tw o r k ) 项目,研究分组无线网在战场环境下数据通信中的应用。项目完成之后, d a p r a 又在19 9 3 年启动了高残存性自适应网络( s u r a n ,s u r v i v a b l ea d a p t i v e n e t w o r k ) 项目l n j 。研究如何将p r n e t 的成果加以扩展,以支持更大规模的网络,还 要开发能够适应战场快速变化环境下的自适应网络协议。1 9 9 4 年,d a r p a 又启动了 全球移动信息系统( g i o m o ,g l o b a lm o b i l ei n f o r m a t i o ns y s t e m s ) 项目【3 】。在分组无 线网已有成果的基础上对能够满足军事应用需要的、可快速展开、高抗毁性的移动信 息系统进行全面深入的研究,并一直持续至今。1 9 9 1 年成立的i e e e 8 0 2 11 标准委员 会采用了“a dh o c 网络”一词来描述这种特殊的对等式无线移动网络。 在a dh o c 网络中,节点具有报文转发能力,节点间的通信可能要经过多个中间节 点的转发,即经过多跳( m u l t i h o p ) ,这是a dh o c 网络与其他移动网络的最根本区别。 节点通过分层的网络协议和分布式算法相互协调,实现了网络的自动组织和运行。因 此它也被称为多跳无线网( m u l t i h o pw i r e l e s sn e t w o r k ) 、自组织网络( s e l fo r g a n i z e d n e t w o r k ) 或无固定设施的网络( 1 n f r a s t r u c t u r e i e s sn e t w o r k ) 。 南京邮电人学颁l j 研究宅毕业论文 第一章绪论 1 1 2 发布订阅系统的背景 随着网络、通信技术和i n t e r n e t 的飞速发展,软件系统的主要形态、运行方式、生产 方式和使用方式发生巨大的变化,软件系统之间逐渐构成一个开放协同的软件环境,软件 应用形态逐步从相对封闭、面向熟识用户群体和相对静念的紧耦合形式向开放、公共可访 问和动态协作的松耦合模式转变f 4 1 。分布计算中间件以解决异构网络环境下分布应用之间 的互操作为目标,可以屏蔽网络通信的实现细节,提高系统的可移植性,成为实现分布计 算的关键技术之一。新的软件应用形态打破了传统的分布计算中间件对应用环境的假设, 网络特性和状态的不确定性已经不是偶然现象,而是普遍存在的现象。软件应用形态的转 变对分布计算中问件在通信机制、松散耦合事务机制、工作流机制、安全机制、信息的发 现与共享机制等方面提出了新的挑战。通信机制是支撑分布计算中间件的关键技术,同步 通信机制具有的紧祸合特性在传统的分布对象中间件中得到了广泛应用,获得了极大的成 功,但是单一的同步通信机制已经不能完全满足具有开放性、分布性、协作性和动态性的 开放协同环境的需求。异步通信机制较好地刻画了开放协同环境中软构件之间的交互,更 适合于在开放协同的软件环境中使用,是支撑开放协同环垆、:。少的关键支撑机制之 o 通常提出从时叫解耦、空间解耦和控制流解耦三个方面来刻画通信机制( 也称为通信 范型) 的松耦合和异步能力1 5 】。所谓时间解耦是指交互双方并不需要同时处于活跃状态; 空间解耦是指交互双方交互时,并不需要相互了解,并不需要对方的地址;控制流解耦是 指交互双方在交互时,并不阻塞各自的控制流程。随着应用环境从局域、封闭和静态走向 广域、开放和动念,在通信机制上实现时间、空间和控制流解耦是必然的趋势。首先,从 性能的角度来讲,随着应用部署从局域走向广域,通信的延迟成数量级的增加,同步通信 机制所具有的时f u j 紧耦合特性会造成响应时间的增加;其次,在广域环境下,空间解耦具 有普遍性;最后,分布环境下多个管理域中的自主实体之间具有相对的独立性,这些自主 实体之间的交互存在时空不匹配是显然的,自主实体自身的控制流解耦具有重要意义。“发 布订阅”通信范型作为一科,异步通信机制,在时间、空间和控制流三个方面都提供了完全 的解耦特性,同时还具有匿名通信和一对多通信等特性,近年来得到了工业界和学术界的 普遍关注,已经成为研究的热点,许多标准中间件基于该范型提供了扩展和附加服务。i e e e 的i c d c s 国际会议从2 0 0 2 年丌始设置了名为d i s t r i b u t e de v e n t b a s e ds y s t e m 的w o r k s h o p , 用以交流p u b l i s h s u b s c r i b e 技术的最新研究成果和应用经验。 2 南京邮电大学顺i :j , ) f j u t - :毕q k 论义笫一章绪论 1 2 研究课题的提出 i n t e m e t 己经极大地改变了分布式系统的规模,对于下一代分布系统的最大挑战是大规 模信息驱动类应用的广。泛使用。它要求更加灵活的通信模型和系统,以便反映其动态和松 耦合的本质。传统的基于请求应答的点对点和同步通信模式适合于静态和小规模的应用, 不能满足其需求。基于内容的发布订阅模式被认为是解决这类应用的最佳体系结构,正引 起广泛的重视和研究。该模式的强大之处在于其将通信的双方从时间、空间和控制流上完 全解耦。 在分布式环境下,发自i 订阅系统一般由多个事件代理组成,这些事件代理共同构成一 个网络拓扑,它们负责选择适当的路径,将个事件从发布者传送到订阅者。如何使事件 沿着一种恰当的路径,高效、可靠地到达各相关的订阅者,这就是发布订阅系统路由协议 所要解决的问题。 在移动a dh o c 网络中,由于缺乏固定基础设施,以及客户的频繁移动,因而传统紧 耦合的客户服务器通信范型并不适用。发布订阅( p u b l i s s u b s c r i b e ,p s ) 系统【6 - 8 1 为信息的 发布者和接收者提供了解耦装置和选择性的信息分发路径,非常适合于移动网络的应用。 。 但是现有的基于内容的路由在移动a dh o c 网络( m o b i l e a dh o e n e t w o r k s ,m a n e t ) 中的执 行为发布订阅系统的交互带来了未知性,m a n e t 不依赖系统内部的操作,网络高度动态 具有灵活性,网络拓扑经常变化。因此研究移动a dh o c 网络中发布订阅系统的通信具有 迫切的必要性。 1 3 本文的研究内容 本文主要讲述了将a dh o e 网络和发布订阅系统结合起来,如何能让这个结合体能更 好地、更有效地运行。传统网络中发行订阅系统的路由算法己不能适应这种新的要求,因 为网络底层的拓扑结构是变化的。本文提出一种新的路由算法能适应这种动态的环境,这 个新的路由算法包括两个部分:事件匹配算法和维护拓扑树算法。 1 事件匹配算法。分析和探讨了基于内容的发布订阅系统的事件匹配策略及其相关 算法。在借鉴别人算法思想的基础上,通过一个预处理,把约束之间的“或 关系转变为 “与”关系,然后建立多维索引结构,加快匹配的速度,最后采用类似于计数法的思想, 把订阅信息的约束数和匹配成功的约束数比较,相等就说明事件匹配订阅信息成功。 2 维护拓扑树算法。分析探讨了移动a dh o e 网络中的发布订阅系统路由协议,针对 南京邮电人学顶 :研究生毕业论文第一章绪论 现有移动a dh o c 网络中发布订阅系统路由协议可扩充性不好、可靠性不高的问题,通过 引入网络分区域技术,拓扑树维护算法,客户移动迁移算法,设计了一种新型的面向移动 a dh o c 网络的发布订阅系统路由协议,该协议控制了订阅消息的传播,提高了系统的扩 展性。最后用仿真验证了算法有效性和整体算法的可行性。 1 4 论文结构 论文安排如下: 第一章绪论。阐述了本课题的提出和研究意义,概述了发布订阅系统及路由协议研 究现状。同时介绍了本论文的研究内容及各章节的安排。 第二章发布订阅系统的相关知识。本章简单地介绍了消息中间件的定义,体系结构, 特点,和通信模式,以及发布订阅系统的概述,解耦特性,分类,和拓扑结构。 第三章基于内容的发布订阅系统的匹配算法。介绍了传统网络中基于内容的发布订 阅系统事件匹配算法,在些基础上,提出了一种新型的事件匹配算法,并用仿真验证了它 的高效性。 。 第四章a dh o c 网络里支持发布订阅系统的路由算法。介绍了几种面向a dh o c 网络 的发布订阅系统路由协议。针对现有路由协议可扩充性不女了的问题,在吸收已有协议设计 思想的基础上,通过引入网络分区域技术、拓扑树维护算法、客户移动迁移算法,设计了 一种新型的面向移动a dh o c 网络的发布订阅系统路由协议。最后用仿真验证了算法的可 行性。 : 第五章总结与展望。总结了本文研究的主要内容和研究成果,阐述了需要进_ 步研 究的问题。 4 南京i l l g 电人学坝i 彬f 究,蔓毕业论义 第- 二章发布i h - 阅系统的相关技术 2 1 消息中间件 第二章发布订阅系统的相关技术 在了解消息中间件之前,这里先对所涉及到的一些相关术语进行解析,这些术语有同 步异步通信模式、消息和消息队列。 同步通信模式:应用程序向别的程序发送一个消息后需要等待结果的返回,再等待结 果的过程中程序处于阻塞状态,不能做任何事情【9 】。 异步通信模式:应用程序向别的程序发送信息后不需要等待结果的返回,而是发送后 立即返回【1 0 1 。 消息:消息从表面形式上看是由简单的位串或字符串组成,这些位串或字符串仅仅对 某个或某一类应用程序有意义【l l 】。一个消息除包含了应用程序处理所需的数据( 这些数据在 消息中一般称为消息体) 还应该包含其它成分,例如消息的发送、接收者,消息的一些控制 信息。 消息队列:消息队列是发送和接收消息的公用存储空间,可以存在于内存中或者是物 理文件中【1 2 】。消息队列为构造以同步方式实现的分布式应用提供了松耦合方法消息队列的 a p i 调用被嵌入到新的或现存的应用中,通过消息发送到内存或基于磁盘的队列或从它读 出而提供信息交换。消息队列可以放置在发送方、接收方所在的机器上,也可以单独放置 在另外一台机器上。j 下是由于消息队列在放置方式上的灵活性,形成了消息传递机制的可 靠性。 消息中间件( m o mm e s s a g e o r i e n t e dm i d d l e w a r e ) 就是一个消息系统【1 3 】,将信息以消 息的形式,从一个应用程序传送到另一个应用程序。这些消息可以异步方式发送,所以传 送者不需要等待响应。使用消息中问件编程采用的是消息中间件的a p i ,可以很好地扩展 到不同的操作系统和硬件平台上。消息中间件领域目i 的研究热点是基于异步通行模式的 消息中间件,异步消息中间件技术比同步消息中间件技术具有更强的容错性,在系统故障 时可以保证消息的讵常传输。 南京邮电人学硕l j 研究生毕业论文第- 二章发布i ;r 1 列系统的相关技术 2 1 1 消息中间件的体系结构 图2 一l 消息中i 司件 从图2 1 可以看出,消息中间件是一种特别的中间件,它支持通用消息在分布应用环 境中进行交换。在这个环境中数据以消息的形式进行交换,消息同时支持在分布的应用环 境中以同步或异步的方式进行交互。消息中问件系统通过提供目录服务,安全服务和管理 服务等支持消息来确保消息队列的可靠性。m o m 主要是基于客户机服务器结构的,通过 允许应用分布到不同的异构的平台来提高系统的互操作性和弹性,降低了开发多操作系统 和多网络协议的应用的复杂性,把丌发者和不同操作系统以及网络接口a p i 等函数的细 节问题隔离丌了。 m o m 使用队列来处理消息,这样可以确保在消息的发送方和消息的接收方没有同时 处于可用的情况下,消息依然可以被正确的处理;使用消息队列的另外一个优点是消息可 以以开发者所期望的顺序被取出,这样,m o m 就可以使用基于优先权和负载均衡调度算 法来处理消息以实现系统高效运行;使用消息队列还可以保存消息用于在系统发生错误的 时候进行恢复。 2 1 2 消息中间件的特点 使用消息队列中i l , j i , i c f f , j 应用程序不进行直接通信也无法保留任何状态信息,通信双方 的连接在任何时候都可能断丌,并且应用程序可能不知道这种情况的发生,而且还有另外 一些情况需要考虑,例如消息队列满的时候系统将如何处理、许多应用程序都访问一个消 息队列还是每个程序都有一个专门的消息队列等。因此使用消息队列中间件带来的好处 时,需要付出一定代价,但这些代价相对于它带来的好处是微不足道。消息队列中间件提 供消息的传递和消息排队模型,它可在分布式环境下扩展进程间的通信,并支持多通信协 6 南京邮l 【1 人学顾i7 i j f 究生毕业论义 第二章发布,订阅系统的相关技术 议、语言、应用程序、硬件和软件平台,概括起来它具有以下几个特点: 1 、提供多种通信方式:通信程序之间不仅可以是一对的关系,而且还可以进行一 对多、多对一,甚至是上述多种方式的组合。 2 、多平台多传输协议:能都运行在不同的操作系统和支持多种通信协议。 3 、松耦合结构及异步传输模型:通信程序不在网络上直接相互通话,而是间接地将 消息放入消息队列,消息接收程序在需要的时候从队列取出消息,所有它们不必同时运行。 通信程序把消息放入队列后不必等待消息的传输及结果的返回,通信是个异步的过程 【1 4 】 0 4 、保证消息传输:通信消息队列,可以对消息进行永久保存,对短暂的系统或网络 故障具有可恢复性,保证消息的可靠传输。 5 、队列内部排序:消息队列可以采用各种不同的排序方式对队列中的消息进行排序, 例如,它可以采用f i f o ( f i r s ti n p u tf i r s to u t p u t ,先入先出队列) 、按优先级排序,也可以按 用户定义的关键字段排序,这使得具有某种特征的消息能够被优先处理。 6 、流量控制:采用队列技术,可以方便控制发送、接收队列消息的存放个数和规则, 进而可以方便实现消息发送程序的发送进度,达到流量控制的目的。不同的消息队列中间 件产品有所区别,这种区别一般体现在消息队列中间件产品对消息队列和其它重要组成部 分的实现和特征上。例如,对于i b m 的m q s e r i e s ,用户可以通过相应的a p i 创建和删除 消息队列并对一个系统的消息队列或应用自己创建的消息队列进行控制:而t o n g l i n k q 没有提供相应的a p i 接口,无法实现用户对消息队列的操作。 2 1 3 消息中间件的通信模式 消息中问件既可以支持同步通信方式,也可以支持异步通信方式,但实际上它是一种 点到点的传输机制。虽然消息的传输最终都是基于点到点的,但消息中间件一般都提供两 种通信模型:点对点的传输模型和p u b s u b 模型【l5 1 。 点对点模型 点对点的传输模型种,允许多个发送者同时向一个接收者发送消息,但一个消息只能 发送一个接受者。点对点的传送模型一般建立在消息队列的基础上,每个接收节点对应一 个消息接收队列,发送者把消息发送到接收者的消息接收队列,接收者从自己的接收消息 队列读取消息。因为消息是发送到接收者的接收消息队列,而不是直接发送接收者,因此 允许接收者不必处于运行状态,而且接收者在需要消息的时候才会从接收队列读取消息。 7 南京邮电人学颂l : i j f ,) 生毕业论殳第二章发布,订c ;l j 系统的相关技术 图2 2 点对点通信模型 发布订阅模型 发布订阅允许一个或多个发送者同时向多个接收者发送消息,发送者和接收者之间的 消息传递通常交给发布服务器处理,因此彼此没有任何联系,即发送者不知道接受者的存 在,接收者也不知道消息的发送者是谁。在发布订阅系统中,通常把发送者、接受者称为 发布者和订阅者。发布者发布消息时,只需把发布的消息交给发布服务器即可。发布服务 器会根据消息的订阅情况,把消息发送给每一位订阅者。由于发布订阅方式更加智能有效, 实际上已称为异步消息中问件的事实标准。 2 2 发布,订阅系统概述 2 2 1 发布订阅系统基本模型 图2 - 3 发布- 订阅模型 发布订阅系统一般由生产者、消费者和事件通知服务组成。生产者和消费者分别是对 产生事件对象和消费事件对象的统称,事件通知服务即通常意义上的发布订阅中间件。构 建在发布订阅中问件之上的分布式系统称为基于事件的系统( e v e n t - b a s e ds y s t e m ) 。如图 2 4 所示,在发前i 订阅系统模型中,消费者以订阅( s u b s c r i p t i o n ) 的形式向事件通知服务 ( n o t i f i c a t i o ns e i c e ) 注册,表达对特定事件的兴趣。生产者发布事件( e v e n t ) 到事件通知服 8 回固 一 囤凝圈 南京邮i 【1 人学颁i j 硎彳宅毕业论义笫二章发布订阅系统的相关技术 务。事件通知月技务充当生产者和消费者的中介,负责订阅的管理,根据订阅过滤事件,并 以通失l l ( n o t i f i c a t i o n ) 的形式发送事件到感兴趣的消费者。 回辩 ( 互 - l q u 毫1 ) 帮 圃镙 图2 4 发布订阅系统模犁 1 事件和通知 事件是一个抽象和宽泛的概念,现实世界中的任何数据信息、情况变化、状态变迁都 可以表示为一个事件,比如证券交易市场上随时变化的股票信息,传感器网络中传感器节 点所采集的数据信息,分布式系统中系统组件的状态等等。此外,事件还可以表示触发动 作的条件,比如时间事件一在某个特定时刻到来的时候,产生代表这个时刻的事件,触发 相应的动作行为。所有这些事件的共同点是都可以被硬件设备或软件设施所感知,比如传 感器、系统组件,或者以人为的方式输入计算机系统,比如股票信息、新闻消息等。一个 具体的事件实例代表现实世界中的某个数据实体或者发生的某种情况,因此需要详细描述 这些数据信息。例如,一个股票事件需要指出股票名称、开盘价格、收盘价格、涨跌幅度 和所在证券交易所等信息;一个监测周边环境温度的传感器节点事件需要指出温度的采集 地点、采集时刻以及具体的温度值等信息。为了使消费者能够理解生产者产生的事件所表 达的信息含义,事件被表述为一些特定的数据结构,这个特定的数据结构称为事件模型。 广泛被采用的事件模型包括记录模型和对象模型等。通矢n ( n o t i f i c a t i o n ) 是相对于事件消费者 而言的,当事件被发送到事件通知服务后,通知服务将递送事件到感兴趣的消费者。由于 通知服务是以通知( n o t i f y ) 的方式告知消费者的,从这个意义上来说,把发送给消费者的信 息称为通矢l :l ( n o t i f i c a t i o n ) 。个通失l :l ( n o t i f i c a t i o n ) 通常是对一个事件的封装,包含描述事件 内容的数据或者直接包含事件实例。从所表达的内容来看,通知和事件并没有实质的差异, 确切地说,通知必须如实反映事件内容的原始含义。使用通知( n o t i f i c a t i o n ) 概念的目的是为 了突出事件的信息流向,即从通知服务到消费者,而不是从生产者到通知服务。在下面的 章节中,本文并不严格区分事件和通知概念的使用界线。 9 南京邮l 乜人学坝l :研究生毕业论文 第一二章发布订阅系统的相关技术 2 订阅 订阅者向通知服务提交订阅来表达对某种事件的兴趣。当一个事件被发布到通知服务 上,通知服务把这个事件同所有的订阅进行比较,找出其约束条件被该事件满足的订阅, 然后发送事件到订阅被匹配的订阅者。订阅相当于过滤条件,由通知服务负责执行过滤操 作。过滤的意义是相对的,对订阅来说,过滤的是不匹配的事件;对事件来说,过滤的是不 匹配的订阅。前者的意义比较重要,因为它表达了订阅者的兴趣。订阅与事件的匹配是一 个返回值为布尔量( b o o l e a nv a l u e ) 的操作,返回“t r u e ”或“f a l s e ,即订阅要么与事件匹配, 要么不匹配,不存在部分匹配的情况。订阅的过滤能力由事件模型和订阅模型共同决定, 即取决于事件的数据结构和订阅的过滤模式。最常见的订阅模型有基于通道的 ( c h a n n e l b a s e d ) 、基于主题的( t o p i c b a s e d ) 茅l l 基于内容的( c o n t e n t - b a s e d ) 模型。 3 生产者和消费者 在发布订阅系统中,一般称生产者为发布者,消费者为订阅者。发布者指任何产生事 件并发布事件的对象,消费者指任何接收事件并消费事件的对象。发布者发布事件到通知 服务,由通知服务决定事件的转发目的地。因此,发布者无需知道订阅者的具体地址信息, 订阅者的详细数目,也不关心有多少订阅者接收到事件。发布者的事件发布行为具有“f i r e 一a n d f o r g e t 的特点。 。 订阅者接收通知服务转发的事件。同样的,订阅者也不关心所消费事件的具体发布者, 也无需知道发布者的具体地址和详细数目。订阅者接收通知一般有两种模式:拉( p u l l ) 和推 ( p u s h ) 。p u l l 模式指订阅者主动到通知服务上获取事件。由于事件和订阅在时间上存在依赖 性1 6 j ,订阅者只能接收到注册订阅以后发布的事件,因此p u l l 模式需要订阅者以一种同步 的方式获取事件,与通知服务保持连接并等待事件的返回。显然,这种模式类似于 r e q u e s t r e p l y 通讯机制,订阅者与通知服务是紧耦合的。p u l l 模式一般见于订阅模型比较简 单的发布订阅系统【7 】【8 1 ,不适合具有复杂订阅模型的大规模发布订阅。 p u s h 模式是指通知服务主动发送事件到订阅者。订阅者注册订阅到通知服务后,即可 释放同通知服务之问的连接。当通知服务转发事件时,发起同感兴趣的订阅者之间的连接, 传送事件到订阅者。p u s h 模式减耦了订阅者和通知服务,是发布订阅系统的主要通知模式。 几乎所有的发布订阅趸统都实现了p u s h 通知模式1 1 6 】【1 7 】,实现p u l l 模式的系统往往也同时 实现p u s h 模式,反之则不然。 在发布者和通知服务之间也存在p u s h 和p u l l 模式。如图2 5 所示,c o r b a 事件服务 【1 8 】在发布者和通知服务、订阅者和通知服务之间分别实现了p u s h 、p u l l 模式。 1 0 南京邮 u 人学缈fl ? f i j 究生毕业论文 第二章发布订阅系统的相关技术 图2 - 5 实现p u l l 和p u s h 模式的c o r b a 事件服务 4 事件通知服务 事件通知服务( 简称通知服务) 即通常意义上的发布订阅中问件,也称为事件代l 里( e v e n t b r o k e r ) 或者蹴( p r o v i d e r ) 【6 】。作为发布者和订阅者的中介,通知服务负责管理订阅、过 滤事件以及发送事件到感兴趣的订阅者,从而解耦了发布者和订阅者。 最基本的通知服务必须对外提供四个功能接口,即发布( p u b l i s h ) 、订l 弼( s u b s c r i b e ) 、退 订( u n s u b s c r i b e ) 矛1 通矢n ( n o t i f y ) 。发稚者调用p u b l i s h 接口发送事件到通知服务;订阅者调用 s u b s c r i b e 接口向通知服务注册订阅,调用u n s u b s c r i b e 接1 :3 注销订阅;通知服务调用n o t i f y 接口发送匹配事件到订阅者。 通知服务的实现方式分为集中式和分布式两种结构。集中式结构只有一个通知服务, 所有的发布者和订阅者只同这个通知服务交互,订阅和事件都发往这个通知服务。集中式 结构的优点是实现简单,易于管理和维护,缺点是随着用户数量的增加,单个通知服务容 易成为性能瓶颈,因此不具备扩展性。分稚式的实现把多个通知服务以一定的拓扑结构, 比如星型、环型、无环图型和层次型,互相连接形成一个代理覆盖网络( b r o k e ro v e r l a y n e t w o r k ) ,事件和订阅在各代理之l 、日j 转发,发布者和订阅者连接到某个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论