




已阅读5页,还剩46页未读, 继续免费阅读
(计算机应用技术专业论文)基于消息中间件的信息交换系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文 摘要 为了提高网络科技信息资源的利用率,降低信息资源管理的成本,本文将信息 交换技术引入到全国科技信息服务网项目中,建立一个可对分布式异构数据源节点 的资源进行有效共享的信息交换系统。本文的主要工作围绕消息中间件和j m s 技术 的研究展开,结合科技信息资源的特点和项目的实际情况,从模型研究、交换协议 和交换控制等方面给出了本系统中的信息交换模型,将可控、可信信息资源传输方 法应用于全国科技信息服务系统建设,支撑由国家科技信息资源中心、省级科技信 息服务节点共同构成的科技信息共享系统。 关键词:消息中间件,j m s ,信息交换模型,r s a i no r d e rt oe n h a n c et h eu t i l i z a t i o no fi n f o r m a t i o nt e c h n o l o g yn e t w o r kr e s o u r c e sa n d r e d u c et h ec o s to fi n f o r m a t i o nr e s o u r c e sm a n a g e m e n t ,t h ep a p e ri m p o r t st h et e c h n o l o g y o fi n f o r m a t i o ne x c h a n g e si n t ot h en a t i o n a ls c i e n c ea n dt e c h n o l o g yi n f o r m a t i o ns e r v i c e n e t w o r kp r o j e c t ,a n de s t a b l i s h e sa ni n f o r m a t i o ne x c h a n g es y s t e mf o rs h a r i n gr e s o u r c e s o fd i s t r i b u t e dh e t e r o g e n e o u sd a t as o u r c en o d ee f f e c t i v e l y t h ec o n t r i b u t i o n so ft h i sp a p e r a r em a i n l ya b o u tt h er e s e a r c ho fm e s s a g eo r i e n t e dm i d d l e w a r ea n dj m st e c h n o l o g y t h ep a p e rc o m b i n e st h ec h a r a c t e r i s t i c so ft e c h n o l o g yi n f o r m a t i o nr e s o u r c e sa n dt h e a c t u a ls i t u a t i o no fp r o j e c t ,d e s i g n st h ei n f o r m a t i o ne x c h a n g em o d e lf r o mt h em o d e l r e s e a r c h ,e x c h a n g ep r o t o c o la n de x c h a n g ec o n t r o l ,a n da p p l i e s c o n t r o l l a b l ea n d c r e d i t a b l em e t h o do fi n f o r m a t i o nt r a n s m i s s i o nt ot h ep r o je c tf o rs u p p o r t i n gt e c h n i c a l i n f o r m a t i o n - s h a r i n gs y s t e mc o n s i s to ft h en a t i o n a ls c i e n c ea n dt e c h n o l o g yi n f o r m a t i o n r e s o u r c ec e n t e ra n dt h ep r o v i n c i a ln o d e s m a w e i l i a n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db ya s s o c i a t ep r o f l ud o n g x i n k e yw o r d s :m e s s a g eo r i e n t e dm i d d l e w a r e ,j m s ,i n f o r m a t i o ne x c h a n g em o d e l , r s a 华北电力大学硕士学位论文 摘要 为了提高网络科技信息资源的利用率,降低信息资源管理的成本,本文将信息 交换技术引入到全国科技信息服务网项目中,建立一个可对分布式异构数据源节点 的资源进行有效共享的信息交换系统。本文的主要工作围绕消息中间件和j m s 技术 的研究展开,结合科技信息资源的特点和项目的实际情况,从模型研究、交换协议 和交换控制等方面给出了本系统中的信息交换模型,将可控、可信信息资源传输方 法应用于全国科技信息服务系统建设,支撑由国家科技信息资源中心、省级科技信 息服务节点共同构成的科技信息共享系统。 关键词:消息中间件,j m s ,信息交换模型,r s a i no r d e rt oe n h a n c et h eu t i l i z a t i o no fi n f o r m a t i o nt e c h n o l o g yn e t w o r kr e s o u r c e sa n d r e d u c et h ec o s to fi n f o r m a t i o nr e s o u r c e sm a n a g e m e n t ,t h ep a p e ri m p o r t st h et e c h n o l o g y o fi n f o r m a t i o ne x c h a n g e si n t ot h en a t i o n a ls c i e n c ea n dt e c h n o l o g yi n f o r m a t i o ns e r v i c e n e t w o r kp r o j e c t ,a n de s t a b l i s h e sa ni n f o r m a t i o ne x c h a n g es y s t e mf o rs h a r i n gr e s o u r c e s o fd i s t r i b u t e dh e t e r o g e n e o u sd a t as o u r c en o d ee f f e c t i v e l y t h ec o n t r i b u t i o n so ft h i sp a p e r a r em a i n l ya b o u tt h er e s e a r c ho fm e s s a g eo r i e n t e dm i d d l e w a r ea n dj m st e c h n o l o g y t h ep a p e rc o m b i n e st h ec h a r a c t e r i s t i c so ft e c h n o l o g yi n f o r m a t i o nr e s o u r c e sa n dt h e a c t u a ls i t u a t i o no fp r o j e c t ,d e s i g n st h ei n f o r m a t i o ne x c h a n g em o d e lf r o mt h em o d e l r e s e a r c h ,e x c h a n g ep r o t o c o la n de x c h a n g ec o n t r o l ,a n da p p l i e s c o n t r o l l a b l ea n d c r e d i t a b l em e t h o do fi n f o r m a t i o nt r a n s m i s s i o nt ot h ep r o je c tf o rs u p p o r t i n gt e c h n i c a l i n f o r m a t i o n - s h a r i n gs y s t e mc o n s i s to ft h en a t i o n a ls c i e n c ea n dt e c h n o l o g yi n f o r m a t i o n r e s o u r c ec e n t e ra n dt h ep r o v i n c i a ln o d e s m a w e i l i a n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db ya s s o c i a t ep r o f l ud o n g x i n k e yw o r d s :m e s s a g eo r i e n t e dm i d d l e w a r e ,j m s ,i n f o r m a t i o ne x c h a n g em o d e l , r s a 士= r i明明 本人郑重声明:此处所提交的硕士学位论文 基于消息中间件的信息交换系统的研 究与实现,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作 和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示了谢意。 学位论文作者签名: 墨聱鱼日 期:呈:! 呈:三 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播学 位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 雌 日期:州 导师签名: 华北电力大学硕士学位论文 1 1 本课题研究背景及意义 第一章引言 随着电子信息技术的迅猛发展,特别是i n t e r n e t 技术在世界范围内广泛应用, 信息化建设也已经成为了当前社会发展的焦点之一。不同的企业、不同的政府部门 根据自己服务群体的不同需求分别建立了相应的w e b 服务门户网站,把所有应用服 务资源都集中到一个统一的门户框架下,形成现如今信息量庞大、内容丰富、种类 繁多的信息服务体系,带动了社会经济的发展。 但是相应的在如此庞大的信息服务体系下也存在着一些问题,不同的组织常常 根据自身的情况与需要,采用不同的技术和体系架构来建立自己的信息系统,这些 分散开发或引进的信息系统,一般不会统一考虑数据标准或信息共享问题。伴随着 信息化建设的需要和具体应用层面的不断深入,需要将多系统、多平台、多结构的 众多业务部门互连在一起,异构的数据库间需要进行数据交换l l j 。例如在政务领域, 大量独立、分散、异构的信息系统存在于不同的政府职能部门;商务领域中,企业 内部e r p 、生产管理、财务、物资管理、销售管理等大量系统需要进行信息共享和 交换;企业之间与电子商务平台之间也存在着大量的数据交换需求。 在全国科技信息服务系统的建设过程中也面临着同样的问题。全国科技信息服 务系统主要包括国家科技信息资源中心节点,以及各地方根据地区化信息服务特点 建立的科技信息资源子节点。子节点为中心节点提供数据目录,同时根据中心节点 发布的信息资源联合目录,选择所要同步的信息资源发出同步请求,把中心节点服 务器上的信息资源同步到本地,通过装入系统把数据装入本地数据库,上述过程将 在信息交换服务的支持下进行。 本课题针对全国科技信息服务系统信息交换服务需求,研究基于消息中间件实 现信息交换服务系统,能为网络上数据的可靠交换提供支持,保证分布于不同计算 机上的数据的一致性,实现共性信息资源的统一管理,对有效的开展科技信息资源 服务,提高科技资源利用率有重要意义。 1 2 国内外研究应用现状 消息中间件【2 l 是目前中间件技术的发展热点,并已成为中间件领域中应用最广、 销售量最大的一类中间件产品,广泛地应用在会融、邮电、交通、政府等数据传输 频繁交易量大的行业。例如交通部海事局伞国水卜安全监督系统是一个覆盖全国2 0 华北电力大学硕士学位论文 多个沿海省、市的全国性项目,旨在实现沿海船舶、船员信息、通航环境信息等主 要海事信息的数字化以及船舶、船员、通航管理等主要业务处理的网络化。消息中 间件为全国水上安全监督系统提供了安全高效、可靠传输的通讯平台及应用开发平 厶 口o 自国外在9 0 年代提出了消息中间件的概念以来,经过十多年的发展,涌现了 诸多的消息中间件产品。在已有的消息中间件产品中,比较有影响的产品如i b m 的 m o s e r i e s 3 1 、b e ae l i n k 4 】等。1 9 9 3 年由东方通科技公司开发出了国内第一个消息 中间件产品t 0 n g l i n k q 【5 】,继这之后也出现了一些在国内应用相对比较广泛的 消息中间件产品,如金蝶i m t s 、北京中科国际的a 2 e m q 。然而国内外研究性组 织没有明确的对消息中间件的设计和开发提供统一的标准,各厂商按照各自的技术 优势设计实现软件产品,导致市场上消息中间件产品的兼容性出现了很大的问题。 由s u n 公司提出的j a v a 平台的消息服务接口规范j m s 【酬,它提供了一个通用的 消息模型,包括消息队列和发布订阅两种模式。目前已有一些成功的j m s 产品, 如p r o g r e s s 公司的s o n i c m o 7 】等。 结合消息中间件在提供异步消息系统,包括异构平台的数据交换,提供松耦合 的集成方式等优势,利用消息中间件技术实现基于w e b 服务的全国科技信息服务系 统的信息交换,是目前电子政务建设中数据交换方式的一种发展趋势,这也是本课 题研究的主要内容。 1 3 相关技术研究 伴随着分布式应用体系结构、多层应用框架的发展,越来越多的应用软件需要 在异构1 8 j 的网络平台上运行。同时,对原有应用的不断更新扩充和新应用的飞速增 多,使得诸多信息平台要面临重重困难。在分布式的异构环境中,诸如不同硬件平 台、不同操作系统、不同网络环境、不同的数据库使得这些系统的协同性很难得到 保证。这就促使了基于标准的、独立于异构环境的中间件应运而生,由此为屏蔽异 构问题的提供了有效的解决办法。 中间件【9 。1 0 l 是处于应用软件和系统软件之间的一类软件,它独立于硬件、操作 系统、数据库类型,使用系统软件所提供的基础服务,连接网络上应用系统的各个 部分或不同应用,从而为实现网络资源共享、互操作,高效地开发和集成复杂的应 用提供服务。它在分布式环境中的位置如图1 - 1 所示,中间件在整个分布式系统中 作为集成的“总线”,使得各种异构系统通过中间件有机的结合成一个整体。 2 华北电力大学硕士学位论文 用屡 中闯件 一一 a 班 a p i _ _ _ 赫_ _ - _ _ _ 一_ _ _ - 数据屡 固,园:固 :0 r a c l e s o l s e r v e r m y s q l _ _ _ _ _ _ 一_ 操作系 统堪 图1 - 1 分布式环境结构 纵观现今流行中间件的用途和应用的环境可归纳出中间件有如下特点: ( 1 ) 能满足企业应用的需求,提供三层结构应用开发和运行的平台,提供应 用开发框架,支持模块化开发; ( 2 ) 可屏蔽硬件环境、操作系统、数据库厂商运行; ( 3 ) 支持分布式计算,提供跨网络、硬件环境和操作系统平台透明的应用或 服务的交互功能; ( 4 ) 支持标准的协议; ( 5 ) 支持标准的接口。 鉴于应用系统可移植性和互操作性的实现,应用系统之间遵循统一的标准接口 显得尤为重要。其中,中间件已成为许多标准化工作的重要主要部分。对于应用软 件开发,中间件远比操作系统和网络服务更为重要,例如s u n 公司定制的用于面向 消息通信的应用程序接口j m s 。中间件提供的程序接口定义了一个相对稳定的高层 应用环境,不管底层的计算机硬件和系统软件如何更新,但是中间件对外的接口定 义始终保持不变,那么应用软件几乎不需任何修改,从而提高了企业在应用软件开 发和维护中的效率,进而大大节约成本。 根据中间件的特点、作用和应用领域来看,可以将中间件分为以下五大类: ( 1 ) 数据库中间件 众所周知,o d b c 和j d b c 是当前企业级应用中最常用到的数据访问组件,它 允许应用程序与本地或异地环境下的数据库实现连接,这便是数据库中间件的典型 实例。数据库中间件是企业级应用中应用最广泛、技术最成熟的一种中间件。 ( 2 ) 远程过程调用中i h j 件 1 华北电力大学硕士学位论文 远程过程调用是另外一种形式的中间件,它在客户服务器计算方面,比数据库 中间件又迈进了一步。r p c 沿用了大多数程序员都非常熟悉的编程模式,程序员如 同调用本地过程一样在程序中调用远程过程,启动远程过程的运行,然后将运行结 果返回给本地程序。此外,远程过程调用可以将程序的控制传递到远端的服务器中。 ( 3 ) 基于对象请求代理的中间件 对象请求代理是近年来才发展起来的一项新技术,它可以看作是和编程语言无 关的面向对象的r p c 应用,可视为从面向对象过渡到分布式计算的强大推动力量。 从管理和封装的模式上看,对象请求代理和远过程调用有些类似,不过对象请求代 理可包含比远过程调用和消息中间件更复杂的信息,并且适用于非结构化的或者非 关系型的数据。 目前有两种对象请求代理的标准,分别是c o r b a 和d c o m ,这两种标准是相 互竞争的,而且两者之间区别很大,这在一定程度上阻碍了对象请求代理中间件的 标准化进程。 ,( 4 ) 事务处理中间件 事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的速 度和可靠性要求而实现的。它给程序员提供了一个事务处理a p i ,程序员可以使用 这个程序接口编写高速而且可靠的分布式应用程序。 ( 5 ) 消息中间件 消息中间件是一种由消息传送机制或消息队列模式组成的中间件技术,利用高 效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系 统的集成。 通过中间件构建基本的通讯平台,向上层应用提供不同形式的通讯方式,屏蔽 异构平台的差异,并可在通讯平台上构筑提供不同领域内应用服务的各种框架。基 于中间件开发的应用具有良好的可扩充性、易管理性、高可用性和可移植性。它代 表了一种流行的应用模型,很多企业考虑到开发成本、服务通用性等方面纷纷采用 中间件技术来构建应用。现如今,中间件已经应用于越来越多的领域范围内,如电 信、金融、电子政务等,除企业应用之外,各种研究机构对中间件的创新和换代工 作也都付出巨大的努力也给中间件市场的发展带来了蓬勃生机。 1 3 1 消息中间件 在分布式应用中,完成不同系统间的数据传递通信可以有两种完全不同类型的 中间件来实现,一种是基于r p c 对象请求代理的中间件,包括r m i 、c o r b a 、 d c o m 1 1 州1 等,另外一种就是消息中间件( m o m ,m e s s a g eo r i e n t e dm i d d l e w a r e ) , 其中包括。基于r p c 的中间件包括r m i 、c o r b a 及d c o m ;消息中间件包括i b m l 华北电力大学硕士学位论文 m q s c r i c s 、w c b l o g i cj m s 、a c t i v c m q 及o p c n j m s 等。 1 3 1 1m o m 与r p c 比较 与r p c 方式相比较,m o m 在分布式环境通信中的优势有以下几点: ( 1 ) 与r p c 中间件技术不同,一般来说,m o m 并不要求系统具备一个可靠 的底部传输层,而是通过以消息的形式收发应用程序数据来连接运行于不同系统上 的应用程序。信息可以同步传送,也支持异步传送。在异步方式下,应用程序并不 需要消息即时即刻传送到对方,只是由消息中间件确保把信息以消息的方式传送到 适当的目的地,并且只传一次。 ( 2 ) m o m 通常都提供丰富的a p i 函数接口,可以支持c c + + 、j a v a 等流行编 程语言,方便在不同应用平台的开发,同时实际上也增强了消息中间件的跨平台能 力。 ( 3 ) m o m 对应用程序的架构没有约束。在复杂的异构应用平台下,通讯模块 之间不仅可以是一对一的关系,还可以进行一对多和多对多的通讯模式,甚至是上 述通讯模式的“综合体,多种通讯方式构架并没有增加应用平台间通讯的复杂性, 反而其多样的通讯模式很好地诠释了通用性。 ( 4 ) m o m 能够实现程序与网络复杂性相隔离,而屏蔽企业已有系统所处的不 同网络环境中,涉及不同的通信方式。程序在消息队列中存取消息,与此关联的全 部活动,如维护消息队列、处理网络重启和在网络中移动消息等是中间件的任务, 程序不直接与其它程序通话,不涉及网络通讯的复杂性。同时,消息中间件能够屏 蔽操作系统和网络协议的差异,因此便于为应用程序提供其它通讯机制,以满足不 同领域的需要。 总结起来,消息中间件属于多层结构应用的一种最基本的中间件,它能做到真 正跨平台的数据通信,满足异构平台设计与实现的数据通信要求。消息中间件利用 高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布 式系统的集成。通过提供消息传递和消息排队模型,实现分布环境下的平台节点扩 展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。 1 3 1 2m o m 原理 一个完整的m o m 主要由五大部分【1 s l 组成,分别是接口处理模块、消息队列、 队列管理、消息通道代理和安全管理,如图1 2 所示。其中接 j 处理模块负责处理 来自应用的服务请求,根据应用请求的类犁( 数据或控制) 分别进行不同的处理, 该模块具f i 名 服务、安全管理机状态查谄j 等功能,负责数额e 流的分割和组合,分 5 华北电力大学硕士学位论文 组的加密解密以及数据和消息之间的转换。队列管理器是消息中间件的核心,负责 创建和删除队列,控制队列的行为和调整优先级。消息通道代理( m c a ) x 6 】利用 网络提供通信机制,负责将消息投递给响应的消息队列,监测网络通道故障并完成 故障恢复工作。安全管理则负责对数据进行加密解密操作,向用户提供安全的消息 服务。 1 3 2j a v a 消息服务 图1 - 2 m o m 结构框架图 j a v a 消息服务( j m s ) 1 7 - 1 8 1 是一组j a v a 应用程序接1 :1 ( j a v aa p i ) ,它提供创建、 发送、接收、读取消息的服务,使得企业应用中异步发送和接收关键业务数据和事 件模块的编写变得更加容易。 j m s 由s u n 公司和它的合作伙伴设计的,第一个版本的j m s 规范于1 9 9 8 年8 6 华北电力大学硕士学位论文 月发布,经过几年的研究和不断更新发展,到2 0 0 2 年3 月1 8 日j m s 已经更新到相 对比较完善的v e r s i o n l 1 。 1 3 2 1j m s 定义 j m s 定义了一组公共的应用程序接口和相应语法,它提供创建、发送、接收、 读取消息的服务,目的是为消息系统客户提供一个固定的接口、相同的消息域,使 得上层应用程序无须顾及底层消息提供者,使应用服务与通讯平台之间实现松散耦 合,这样就可以实现应用程序能在不同的消息中间件产品之间移植。 j m s 声明了一些方便应用组件和消息传递系统之间的消息交换的接口,除此之 外还定义了在j a v a 企业系统中传递消息的规则。并且,j m s 客户机向m o m 服务器 上的目的地开放连接,然后在那个目的地上发送和接收消息。j m s 卸下了保证传送 ( g u a r a n t e e dd e l i v e r y ) 、消息通知( m e s s a g en o t i f i c a t i o n ) 、消息耐久性( m e s s a g e d u r a b i l i t y ) 以及消息传递系统中所有底层网络和路由问题的负担。j m s 和m o m 能 够很好地协同工作,因为它们都划清了消息传递客户机和服务器之间的责任界限。 j m s 支持两种基本的消息传递机制 1 9 - 2 1 l ,分别是点到点( p o i n t t o p o i n t m e s s a g i n g ,p t p ) 和发布订阅式( p u b l i s h - s u b s c r i b em e s s a g i n g ,p u b s u b ) 。 第一种是点到点的消息传递机制,如图1 3 所示。在这种机制下,消息的生产 者和消息的消费者是一一对应关系,消息由一个生产者发送,由唯一的一个消费者 接收。 p r o d u c e r l p r o d u c e r 2p r o d u c e r 3 m e 牛鲈tm e 士s c 2m e s l a g e 3 r ) 呻e ) m e s 扣e m e s s a g e 2 1 【土m e s 孵3 c o n s u m e r lc o n s u m e r 2 图1 - 3p t p 消息传递机制 点对点消息模式的特性有以下几点: ( 1 ) 每条消息仅有一个消费者。一个队列可能会附带有多个消费者,但有且只有 一个消费者将消费一个具体的消息。多个,i - p 办:肯可以向相同的队列发送消息。 7 华北电力大学硕士学位论文 ( 2 ) 消息的生产者与消费者间并没有严格的时间从属关系,一端发生故障不会影 响另一端的正常运行。生产者可以在任何时间发送一条消息到队列中;队列中的消息接 着可以在其时间限制用尽之前的任何时间被消费掉。为了让双方可以工作,唯一需要运 行的就是消息队列,j m s 客户( 生产者和消费者) 不需要同时运行,从而实现消息的异 步传输。 第二种是发布订阅式的消息传递机制,如图1 4 所示。在这种机制下,消息由 一个或多个发布者发送,由一个或多个订阅者接收。 叵 叶s e m e s溜e 1r is u b s c d b e 心 图1 - 4p u b s u b 消息传递机制 发布订阅模式的特点有以下几点: ( 1 ) 每条消息可以有多个消费者。作为消息目的地的消息主题( t o p i c ) 和消 息队列相似,同样遵守先进先出( f i f o ) 规则。多个制造者可以向一个主题发布消 息,主题将保持着消息直到把它们发送到消费者。消息主题允许匿名的消息订阅者。 ( 2 ) 发布者和订阅者之间有时间相关性。订阅者只能消费它们订阅之后发布 的消息,这种与时间的相关性和采用点对点模式发送的消息不同。但是可以通过创 建持久订阅,使未处于激活状态的订阅者接收系统发送的消息。 尽管以上这两种机制是j m s 的实际基础,很多人还是按照三种消息传递模型来 看待这项技术: ( 1 ) 一对一的消息传递( o n e t o o l l em e s s a g i n g ) 是一种点到点的模型。消息 由一个j m s 客户机( 发布者) 发送到服务器上的一个目的地,即一个队列( q u e u e ) 。 而另个j m s 客户机( 订阅者) 则呵以访i 、口j 这个队列,并从该服务器获取这条消息。 r 华北电力大学硕士学位论文 在队列中可以存放多条消息,但每次只能获取一条消息。 ( 2 ) 一对多的消息传递( o n e t o m a n ym e s s a g i n g ) 是一种发布订阅模型。这 里仍然是由一个j m s 客户机将一条消息发布到服务器上的一个目的地上,但是这次 这个目的地叫做一个主题( t o p i c ) 。这里关键的不同在于放在一个主题中的消息包 括了一个参数,这个参数定义了该消息的耐久性( 它能够在服务器上等待订阅者多 长时间) 。该消息将一直维持在主题中,直到这个主题的所有订阅者都取走了该消 息的一个副本,或者该消息的耐久性时间已到期,不管发生的是上述中的哪种情况, 该消息都将被从这个主题中删除。 ( 3 ) 多对多的消息传递( m a n y t o m a n ym e s s a g i n g ) ,这也是一种发布订阅模 型,同时还扩展了一对多的消息传递模型。除了支持多个订阅者外,该模型还支持 一个主题有多个发布者。多对多消息传递的一个很好的例子就是e m a i ll i s t s e r v e r : 多个发布者可以将多条消息投递到一个主题,而所有的订阅者将获取每一条消息。 消息收发系统是异步的,也就是说,j m s 客户机可以发送消息而不必等待回 应。客户机将消息发送给一个虚拟通道( 主题或队列) ,而其它j m s 客户机则预 订或监听这个虚拟通道。当j m s 客户机发送消息时,它并不等待回应。它执行发 送操作,然后继续执行下一条指令。消息可能最终转发到一个或许多个客户机,而 这些客户机都不需要做出回应。 、 1 3 2 2j m s 应用组成 一个j m s 应用程序由以下几部分组成: ( 1 ) j m s 客户端,发送和接收消息的客户端j a v a 程序; ( 2 ) 非j m s ( n o n j m s ) 客户机,旧的程序经常成为整个j m s 应用程序的一 部分,而且它们的包含应该在设计时预先考虑; ( 3 ) 消息,j m s 应用中在不同客户端传递的消息; ( 4 ) j m s 提供者,实现j m s 的消息系统,并且提供管理和控制功能,例如 w e b l o g i cs e r v e r 提供的j m s 服务器; ( 5 ) 受管对象,管理对象是预定义的j m s 对象,客户端使用这些预定义的对 象进行通信,例如连接工厂( c o n n e c t i o n f a c t o r y ) 。 1 3 2 3j m s 消息结构 消息是信息交换系统中连接消息服务器和各客户端之间的纽带。一条j m s 消息 是由许多元素组成的,这螳元素包括消息头( h e a d e r ) 、可选的消息属性( p r o p e r t i e s ) 和消息体( b o d y ) ,如倒1 5 所示。其中,h e a d e r 包含标准的、必小叮少的消息信 9 华北电力大学硕士学位论文 息,主要用于路由、寻址和消息识别;p r o p e r t i e s 包含标准的、特定于供应商或者 特定于应用程序的可选的消息信息,它是对消息头的补充,消息消费者可以利用消 息选择器( s e l e c t o r ) 对制定的属性的消息进行过滤;b o d y 部分包含了消息中的数 据和事件的内容,存放的是消息的有效负荷,消息类型决定了消息体中数据的结构 和组织,决定属于最简单消息( m e s s a g e ) 、文本消息( t e x t m e s s a g e ) 、流消息 ( s t r e a m m e s s a g e ) 、映射消息( m a p m e s s a g e ) 、对象消息( o b j e c t m e s s a g e ) 、字节流 消息( b y t e s m e s s a g e ) 其中的一种。 ( 目的地、传输方式、消息d 、时( 发送者客户m 、发送的应用系统消息,文本消息,流消息,映射消息,对 问戳、优先级、消息类型) 等m 消息、事务m ) 等可选属性 象消息,字节流消息 、- 、,、i ,、, 消息头消息属性消息体 图1 - 5j m s 消息结构图 系统为我们提供s e t p r o p e r t y 0 和g e t p r o p e r t y 0 方法以设置和获取 各种j a v a 类型的属性,称为消息的属性( p r o p e r t y ) 。 1 3 2 4j m s 优点 之所以采用j m s 来实现消息在平台、应用之间的传递,主要还是得利于j m s 自身所拥有的诸多优点,具体如下: ( 1 ) 平台无关性。j m s 是一种完全基于j a v a 技术而定义,因而它继承了j a v a 应用相同的这种特性。 ( 2 ) 采用j m s 技术的实现具有松耦合性,主要从运行状态和应用系统两个方 面予以体现: 运行状态的松耦合。在消息的传输过程中,所有涉及到的过程( 或运行的 线程) 都是松散联结的。当发送方向队列传送数据时,无须考虑接收进程是否存在, 因为消息的生产者和消费者的运行状态彼此是完全独立的,即使他们在不同的时间 运行,在基于消息持有化等技术的辅助下传输事务仍可成功。 应用系统的松耦合。消息技术产生了另一类的松耦合,即应用级别的松耦 合。j m s 是一个标准的a p i ,它不太可能随着时间而改变,且消息携带着业务接口 在各应用间传送,这样每个应用只需关心读消息和写消息,应用间的整合从便以接 口为中心转向以数据为中心。 由于j m s 应用彼此间并不直接进行通信,因此它是以数据为中心的应用,这种 应用提供了进程级别和应用级别解耦的,种结合。 i o 华北电力大学硕士学位论文 ( 3 ) 异步特性。发送用例向队列发送数据后,不用等待接收方的回复,因为 接收用例可以在任何有效的时间内从队列中获得数据。从发送方的角度来看,异步 消息意味着一个进程或线程向目的地发送消息后不希望得到任何回复;而从接收方 的角度来看,异步消息意味着它收到信息后,并不需要立即发送回复给发送者,从 而实现消息的异步传输。 ( 4 ) 可靠性。j m s 具有消息系统的可靠性。它可以选择把消息保存到持久存 储器,如数据库、本地文件中。可以在客户断开连接时保存消息,并在客户端重新 连接到服务时发送它们。 ( 5 ) 事务特性。在消息系统中包含回滚和提交两个概念,它们的存在确保了 消息系统的两个基本操作读消息和写消息能够顺利的完成。 在上述架构中,可以将异步接收用例和下一步处理作为一个事务的范围,这样 可确保所接收的数据全部进入后续的处理过程。如果在后续的处理过程中出现故 障,事务将无法提交,并被回滚,同时异步接收用例将重新从目的地中接收数据, 只有事务提交后,目的地中的数据才会被清除。 1 4 本文研究目标和内容 本文的研究目标:针对各节点间缺乏互连互通通道的问题,有效整合各种异构 系统中的资源,使其协调工作,通过分析基于消息中间件实现信息交换系统的原理, 抽象出信息交换模型,最终设计并实现安全、稳定、应用好的信息交换系统。 围绕上述目标,本文的主要研究内容和开发工作包括如下三个部分: ( 1 ) 建立信息交换模型: 基于信息交换模型展开了研究,并对信息交换过程中涉及的消息安全加密、消 息传输控制等关键技术点的实现进行了分析。 ( 2 ) 定义信息交换中的消息格式: 根据全国科技信息服务网的应用需求,定义一套基于x m l 的消息描述,给出 该描述模型的语法定义以及对模型的描述方法。 ( 3 ) 设计开发信息交换管理系统。 从体系结构、系统用例、消息模型、数据库设计等方面着手,完整、完善的设 计信息交换管理系统。信息交换管理系统主要用于实现各节点共性栏目资源的交换 以及信息交换中心的管理控制。 1 5 本文的组织结构 本文首先介绍了课题的研究背景、意义以及国内外消息中间件技术的研究和应 ll 华北电力大学硕士学位论文 用现状;其次介绍了消息中间件相关的技术和基于消息中间件的信息交换模型的研 究;接下来基于a c t i v c m q 进行了性能分析实验;最后详细介绍了信息交换系统的 总体设计和实现,并对系统的运行状态进行了展示。具体论文各章节的内容组织如 下: 在本文的引言中,介绍了消息中间件领域的相关技术,如消息中间件的原理、 j a v a 消息服务,以及消息中间件与其他分布式环境通信方式的比较。 在第二章信息交换模型研究中,首先对信息交换的概念进行了阐述,其次介绍 了信息交换模型和交换协议,并将信息交换过程中涉及的消息安全加密、消息传输 控制等关键技术点的实现进行了详细介绍分析。 在第三章基于a c t i v c m q 的实验分析中,从实验目的、实验环境、实验详细操 作、实验结果分析及结论五个方面入手,采集实验数据来进行分析,对a c t i v c m q 消息中间的性能进行准确的定位。 在第四章信息交换系统的设计与实现中,详细介绍了信息交换系统的体系结 构、系统用例、消息模型和数据库设计,最后对系统关键模块( 节点管理、任务管 理、栏目管理、日志管理、系统管理) 的功能界面予以展示。 在第五章对论文所做的工作予以总结,分析了本文的创新点,并总结了下一步 需要完善的工作。 1 2 华北电力大学硕士学位论文 第二章信息交换模型研究与设计 2 1 信息交换概念 在信息化建设过程中,各职能部门通常采用不同的技术和体系结构来构建自身 的信息系统,信息系统大多是相互独立的应用系统,使得跨平台数据共享与访问成 为困难。在系统集成和进一步开发的过程中,如何实现不同数据库、应用系统间数 据信息资源合并和共享、如何保护已经建立的资源、充分利用各部门已经使用的数 据库,实现不同数据库之间的连接、数据交换和数据共享,已经成为基于异构数据 库的管理信息系统开发是否成功的关键。因此,信息交换平台【2 2 - 冽应运而生。 信息在不同的信息实体之间交互的过程称为信息交换。信息交换平台狭义地可 理解即为信息在不同的信息实体之间交互提供服务的平台;广义地可理解为它是连 接两个或多个应用的接口平台,鉴于已存在系统的多样性和连接方式的复杂性,平 台可以提供多种接口,以适应多种连接方式和企业的各种平台。信息实体之间的信 息交互过程都无一例外的划分为三个阶段,即数据生成、数据传输和数据处理。各 种信息实体在每个阶段有各自的需求和规范,因而具体使用的技术和工作流程有很 大差别。 2 2 信息交换模型研究 本文所研究的信息交换模型体系结构主要分为五个层次,分别为表现层、控制 层、业务层、消息封装层、消息传输层。体系结构如图2 - 1 所示。 ( 1 ) 表现层 表现层主要用于为资源节点提供数据交换的配置接口,负责接受包括交换目的 地选择、交换栏目配置、数据字段约束条件选择、交换时间定制等输入,它直接与 信息交换系统管理员和节点管理员交互。 对信息交换系统管理员,表现层所提供的功能包括: 管理平台上的节点,包括添加、修改和删除; 管理资源信息的元数据,包括栏目及每个栏目中的字段的添加、修改和删 除; 管理当前正在执行的任务以及已经执行任务的历史信息。 对每个节点的管理员,表现层所提供的功能包括: 管理本节点资源信息的元数掘包括栏目及每个栏目中的字段的添加、修 1 3 华北电力大学硕士学位论文 改和删除; 创建与本节点相关的数据复制任务及策略; 管理与本节点相关的当前正在执行的任务以及已经执行任务的历史信息。 图2 - 1 信息交换模型体系结构图 ( 2 ) 控制层 控制层用于实现对通过表现层接口获取的参数进行封装,以消息的格式传递给 信息交换中心,通过定时、定量、定位功能接口完成对信息交换过程的控制。它负 责将获得的配置信息、传输命令通过自定义的x m l 2 4 】格式封装成数据交换请求命 令消息,并提交给信息交换中心用于语法语义检查【2 5 。2 6 l 、路由控制【2 7 1 、会话管理【冽 等功能,从而实现对整个信息交换过程的有效控制。 ( 3 ) 业务层 业务层是信息交换中心及信息交换节点的主要功能层,包括数据交换控制命令 语法语义检查、消息优先级排序、日志管理、数据获取服务、数据存储服务等功能 模块。在平台的该层中包括信息交换中心以及各信息交换节点。 信息交换中心的业务层主要实现对信息交换控制消息、信息资源消息等各种消 息进行语法语义的检查解析,对接收的消息依据消息重要程度以及表现层的配置进 行优先级排序处理,同时要对数据交换平台中用户登入、交换请求、交换数量、交 换时问等信息以同志的形式记录。 信息交换节点在业务层主要实现资源请求消息的语法语义检查,并提供对信息 交换肖点本地数据库的访问,根据交换条件拼装奁洵语句从数据库读取相关数据资 1 4 茬r 嘉 华北电力大学硕士学位论文 源,同时提供接收到的数据在交换节点本地数据库中的有效存储服务。 ( 4 ) 消息封装层 消息封装用于把一个或多个由应用程序定义的有效负载封装到单个消息构造 中。体系结构下的消息封装层主要用于将信息交换中心、信息交换节点之间交换过 程中所需的资源请求信息、综合响应信息、资源数据信息进行x m l 格式的封装, 以便于利用消息传输机制实现消息的可靠传递。这些用于交换通信、传输数据的消 息由消息头和消息负载两部分构成。 ( 5 ) 消息传输层 消息传输层主要实现从消息封
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南师范大学第一批专任教师公开招聘96人考前自测高频考点模拟试题及答案详解(全优)
- 2025江苏徐州经济技术开发区管理委员会招聘编制教师40人考前自测高频考点模拟试题及参考答案详解
- 2025年广东惠州市公安局惠城区分局第二批辅警招聘48人考前自测高频考点模拟试题完整答案详解
- 宁夏宁东泰华热电有限公司公开招聘工作人员11人笔试历年参考题库附带答案详解
- 2025重庆设计集团有限公司市政设计研究院招聘6人笔试历年参考题库附带答案详解
- 2025重庆市大足区国衡商贸股份有限公司招聘大足区环境卫生工作人员招聘42人笔试历年参考题库附带答案详解
- 2025重庆合川区招聘劳务派遣员工1人笔试历年参考题库附带答案详解
- 2025辽宁大连市引导基金管理有限责任公司招聘4人笔试历年参考题库附带答案详解
- 2025北京大学党委办公室校长办公室招聘模拟试卷及答案详解(各地真题)
- 2025贵州毕节市大健康集团有限公司第十三届贵州人才博览会招聘工作人员第二批及笔试历年参考题库附带答案详解
- DB32T3728-2020工业炉窑大气污染物排放标准
- 重大风险管控方案及措施客运站
- 基于STM32智能书桌设计
- 《北京市基本概况》课件
- 设备维保中的环境保护与能源管理
- 混合型脑性瘫痪的护理课件
- 眼科专业视野培训教材
- 青蓝工程教师成长档案
- 中建室内中庭墙面铝板、玻璃安装施工方案(改)
- 中秋佳节给客户的一封信(10篇)
- 学生心理健康档案表格
评论
0/150
提交评论