消息传输系统的研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
消息传输系统的研究

消息传输系统的研究   摘要:针对目前软件系统之间的消息传输解决方案中存在的缺陷,提出了一种消息传输系统,并对其核心的路由单元进行了分析和设计。此外,建立了基于队列库的动态路由机制。该消息传输系统可支持多级分布式部署的软件系统之间的消息存储转发,且部署、维护、配置、集成都极其便捷。   关键词:消息传输;路由;队列   中图分类号:TP312 文献标识码:A DOI:10.3969/j.issn.1003-6970.2016.03.013   0引言   软件系统之间的消息传输有两种解决方案:一种解决方案为:数据传输由两个软件系统之间协调完成,常用方式有Web Service;一种方案为:建立独立的消息传输系统,作为各个软件系统之间进行消息(数据)传输的桥梁,类似邮局的功能。两种方式适用范围不同。第二种方式适用了业务量大,业务软件较多、部署结构复杂的情况。   目前,对于上述第二种实现方式,一般都采用商用的消息中间件来实现,如ActiveMQ、TLQ等。但无一例外的,都需要进行二次开发,且还需要在这些消息中间件上进行手动的配置(如建立收发队列)。如果面对软件系统多、部署情况复杂的情况,这种方式则表现出部署复杂、配置共工作量大、不易维护等缺点。   针对上述情况,本文提出了一种消息传输系统,并对核心的路由单元进行分析和设计。该系统可支持多级分布式部署的软件系统之间的消息存储转发,且部署、维护、配置、集成都极其便捷。   1系统构建   消息传输系统是按照分布式部署方式进行设计的,可根据实际情况进行部署,如可按“中央一省级”两级部署,也可按照“中央一省级一市级”三级部署。理论上,部署层级是无限制的。考虑到现实情况,按照三级部署基本可满足要求,其部署结构如图1所示。在整个传输系统中,有三个角色:消息发送方系统、消息接收方系统、消息传输系统。消息发送方系统通过消息传输系统提供的API将消息发送至消息传输系统的消息接收队列;消息传输系统监听发送队列情况,发现有新到的消息则将消息取出,并进行路由计算,如果是消息接收方为同一个域内的业务系统,则直接将消息插入到消息接收方的队列中;如果消息接收方是上级域或者是同级非同域的业务系统时,则把消息转发给上级消息传输系统,由上级传输系统按照上述逻辑继续进行消息的存储转发。消息接收方监听自己的队列中是否有消息,如果有,则取走消息进行消费。   2路由机制设计   2.1路由单元结构设计   消息传输系统中的路由单元由三部分组成:路由计算模块、策略库和消息转发模块。路由计算模块负责根据接收方地址与当前消息传输系统地址进行计算,得出策略代码,并根据策略代码查找策略库,得出下一跳地址;策略库中存储的路由策略;消息转发模块负责根据下一跳地址发送给指定的接收方。   整个路由过程流程为:   (1)消息传输系统中的消息监听单元负责监听本传输系统中本地队列中的输入队列,发现消息即将此消息传递给路由计算模块;   (2)路由计算模块获取消息,并对消息进行解析,取出消息接收方(一条消息可能有多个接收方),地址并与本传输系统的地址进行计算,得出策略代码;然后根据策略代码查询策略库,得出下一跳的地址;并将消息重新包装,传递给消息转发模块;   (3)消息转发模块根据下一跳的地址将消息发送给指定的接收方。   2.2定义   为方面后续的算法说明,做以下名称和符号的定义及说明   1)消息   在消息的格式中,本文仅关注核心的消息接收方部分的内容。消息接收方分为两部分:接收方列表Dperm、临时接收方列表Dtemp。Dperm是由消息发送方在发送消息时写入的,代表了当前消息的所有接收方。Dtemp是由消息传输系统在进行消息转发时写入的,代表了消息的临时接收方。Dperm和Dtemp都是一个数组,由接收方地址组成,如下所示:   2)域名   由于消息传输系统是按照行政级别的方式进行分级部署的,每一级的应用系统都通过本级的消息传输系统进行消息的收发。因此,需要对消息传输系统的管辖范围进行定义,这就是域名(domain)的概念,用符号Dom表示,取值为国家标准的域名库。域名通过点分制的字符串来描述,每一段代表了一个行政级别,如浙江省的域名zj.cn,石家庄的域名的sjz.he.cn   3)消息队列   每个消息传输系统在部署完成后都会初始化一部分消息队列。这些消息队列分为两类:业务应用队列和系统队列。业务应用队列是与该消息传输每一类队列又分为两个子类:IN队列和OUT队列。IN队列是接收消息的队列,即消息传输系统将消息放到接收方的IN队列,接收方负责监听此队列,并在消息来到时进行消费。OUT队列是发送消息的队列,消息发送方将消息发送至自己的OUT队列,消息传输系统负责监听所有的

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档