[发明专利]一种降低消息中间件网络负载的消息传递方法有效
申请号: | 201010184227.8 | 申请日: | 2010-05-24 |
公开(公告)号: | CN101917332A | 公开(公告)日: | 2010-12-15 |
发明(设计)人: | 干红华;姜建生;赵晨;俞弘;廖兰新 | 申请(专利权)人: | 宁波东海蓝帆科技有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/08;H04L1/00 |
代理公司: | 宁波奥圣专利代理事务所(普通合伙) 33226 | 代理人: | 程晓明 |
地址: | 315040 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 降低 消息 中间件 网络 负载 传递 方法 | ||
技术领域
本发明涉及一种优化网络性能的消息传递方法,尤其是涉及一种基于XML(Extensible Markup Language,可扩展标记语言)相似性原理的可降低消息中间件网络负载的消息传递方法。
背景技术
消息中间件(MOM,Message Oriented Middleware)是一种提供松散耦合的灵活方式来集成应用程序的机制。它基于消息队列的存储-转发机制,并提供特有的异步传输机制,能够基于消息传输和异步事务处理实现应用整合与数据交换。
消息中间件有两种消息传递模式:点对点模式和发布/订阅模式。点对点模式用于消息生产者和消息消费者之间点到点的通信,消息生产者将消息发送到由某个名字标识的特定的消息消费者。发布/订阅模式中定义了内容节点,消息发布者可以向内容结点发布消息,消息订阅者可以向内容结点订阅消息,而在发布/订阅模式中这些内容节点被称为主题,主题使得消息发布者和消息订阅者保持互相独立,两者不需要接触即可保证消息的传送。
目前,大多数消息中间件均支持多种数据格式消息的传输,如字节流、输入输出流、Map键值以及XML文本等。在这些数据格式之中,由于XML文本具有开放性、简单性以及互操作性等优点,因此XML文本为MOM消息传输中最主要的数据格式。然而,XML文本是一种基于文本的数据,大量XML文本数据格式的消息将导致严重的网络负载,降低了传输效率。
随着互联网技术的快速发展,物联网产业链被重新提出,移动互联网技术成为了物联网发展的基础条件。消息中间件的部署也从传统的互联网延伸到了移动设备上。作为移动互联网上网络传输的性能瓶颈,网络带宽变得尤为宝贵。探索一种降低网络负载的消息传递方法成为了必要。
针对XML文本数据格式的消息传输效率低下的问题,目前相关研究人员提出了多种方法来优化网络性能。总体来说,目前的多种优化网络性能的方法可归纳为以下几种:(1)改变数据格式为二进制:如转化为XML文本可序列化对象、用Gzip等压缩算法进行二进制压缩和采用Map键值对等;(2)消息队列的缓存:通过结合新接收到的消息和缓存在消息队列中的消息,来产生完整的消息,其中新接收的消息记录着与上一条消息的不同点,因而可以减少网络流量。
上述两种网络性能的优化方法有效地减少了消息中间件消息传输过程中的网络流量,但仍然存在一些缺点,具体如下:上述第(1)种方法通过采用压缩等技术来减小用于传输的消息的数据大小,但该方法并没有改变原消息(压缩之前)的数据大小,当网络中含有大量相似的消息时,该方法的效果十分有限;上述第(2)种方法主要强调优化单个消息生产者与消息消费者之间点对点的传输,只考虑了同一消息消费者的一条消息与上一条消息的相似性,并没有考虑同一消息生产者发给多个消息消费者的消息也具有相似性。
发明内容
本发明所要解决的技术问题是提供一种能够有效降低中间件的网络负载,降低带宽耗损的消息传递方法。
本发明解决上述技术问题所采用的技术方案为:一种降低消息中间件网络负载的消息传递方法,包括以下步骤:
①组建一个基于XML文本数据格式消息传递的消息中间件,该消息中间件包括至少两个消息队列服务器,将每个消息队列服务器作为一个节点,在每个节点中设置具有能够根据目标节点的地址决定下一跳节点的地址且支持消息拆包和封包功能的应用层路由模式;
②在每个节点中设置一个用于计算消息收集时间的第一计时模块和一个用于计算消息等待时间的第二计时模块,在第一计时模块中设置一个最长原始消息收集时间,在第二计时模块中设置一个最长原始消息等待时间,每个节点接收消息生产者或者上一个节点发出的多条原始消息,当消息收集时间大于最长原始消息收集时间时,认为原始消息已经被收集了足够长的时间,节点完成一次消息收集,或当消息等待时间大于最长原始消息等待时间时,认为原始消息等待超时,节点完成一次消息收集;在此,假设消息生产者具有一个或多个功能,消息生产者的每个功能具有一个消息模板,对于消息生产者的同一个功能发出的多条原始消息结构基本相同;
③定义当前完成一次消息收集的节点为当前节点;
④计算当前节点中所有原始消息的结构相似度,并根据结构相似度对所有原始消息进行一次分类,得到多个同类原始消息集;
⑤当前节点根据每个同类原始消息集中各个原始消息的下一跳节点的地址,对每个同类原始消息集中的所有原始消息进行二次分类,得到多个同类原始消息子集,每个同类原始消息子集中的各条原始消息具有共同的下一跳节点的地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波东海蓝帆科技有限公司,未经宁波东海蓝帆科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010184227.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:安装基板及其制造方法
- 下一篇:等离子处理装置及其加热设备和等离子处理方法