一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统技术方案

技术编号:19549210 阅读:34 留言:0更新日期:2018-11-24 21:33
本发明专利技术涉及一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统。该方法包括:1)在不同的管理机站部署基于云消息中间件的节点,由各个所述节点构成消息传输网络;2)在所述消息传输网络的各节点中部署基于数据内容的流触发器;3)通过所述消息传输网络实现跨IDC的数据交换,并通过所述流触发器实现面向内容的数据交换。本发明专利技术可以高效、稳定的进行跨IDC数据交换,同时利用基于内容的流触发器进行数据订阅,能根据数据内容进行按需转发,使消费者可以自主决定数据的流向并细粒度地获得所需的数据,提高了网络传输的质量,减小了网络负担。本发明专利技术提供的多种工作模式均能稳定使用,能够支撑起不同的应用场景。

A Data Exchange Method and Cloud Message Middleware System Based on Data Content Oriented Cloud Message Middleware

The invention relates to a data exchange method and a cloud message middleware system based on data content oriented cloud message middleware. The method includes: 1) deploying nodes based on cloud message middleware in different management stations, which constitute a message transmission network; 2) deploying data content-based flow triggers in each node of the message transmission network; 3) realizing cross-IDC data exchange through the message transmission network, and through the description. Flow trigger implements content-oriented data exchange. The invention can exchange data across IDC efficiently and stably, and use content-based flow trigger to subscribe to data, and can forward data on demand according to data content, so that consumers can decide the direction of data independently and obtain the required data in fine granularity, thus improving the quality of network transmission and reducing network negative. Dan. The various working modes provided by the invention can be used stably and can support different application scenarios.

【技术实现步骤摘要】
一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统
本专利技术属于信息
,具体涉及一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统。
技术介绍
现有消息中间件采用发布/订阅模式(Pub/Sub),在企业级产品中,主要有以下几种:(1)IBMMQSeries:支持多种平台上的部署;提供多种API接口;一个话题(Topic)的订阅可以发送给多个订阅者;可以处理复杂的通信协议;为重要的消息提供可靠的、一次且仅一次(Exactly-once)的传递。(2)SonicMQ:支持点对点和发布/订阅模式。接口兼容性较好,可以与其他的数据系统之间建立连接,支持负载均衡,可搭建消息中间件集群;为重要的消息提供可靠的、一次且仅一次(Exactly-once)的传递。(3)MicrosoftMSMQ:支持消息路由;支持消息的优先级;支持多种消息传输的协议;兼容IBM的消息队列;为重要的消息提供可靠的、至少一次(At-least-once)的传递;支持对消息的认证和加密,为安全性提供保障。在开源项目中,RabbitMQ和Apachekafka是最常见的两种消息中间件。其中RabbitMQ是基于AMQP实现的消息中间件。AMQP是一个提供统一消息服务的应用层标准,只要遵循AMQP设计,就可以达到跨平台,跨编程语言的消息通信;不需要特殊的信道,简化拓扑结构,降低系统成本的同时提高性能。AMQP支持多种消息模式,包括请求响应模式(点对点),发布/订阅模式,轮询调度模式,可以满足多种不同的需求。Apachekafka是分布式、可分区的发布/订阅消息系统。生产者(Producer)将数据的id,操作类型,关键字(key)封装为model,即消息,发布到kafka的消息队列中,消费者主动从kafka中读取这个model,解析出model所指代的数据后,直接、主动地从生产者读取需要的数据。即使消息被消费,消息仍然不会被立即删除,会根据配置的要求,保留一定的时间之后删除,故消息持久化存储在kafka中,允许消费者多次消费取用,提高了系统的容错性。对生产者而言,只需要发布model,不需要上传完整的消息,所以发布的效率可以很高。上述现有技术存在以下缺陷:(1)不支持高效的跨IDC(InternetDataCenter,互联网数据中心)消息交换:现有消息队列数据是集中的,交换过程并不带来数据物理上的移动和复制,生产者生产的消息进入消息队列中等待消费,生产者与消费者交换的是“同一个队列”的数据,在同一数据中心的交换能力很强,但不能简单的应用到跨地区消息交换的场景;(2)不支持面向内容的数据交换:现有消息队列数据是命名的,数据的订阅必须依赖于生产者对数据的主题(Topic)划分,消费者只能根据主题而不能根据内容获得数据,消费者在数据内容上高度耦合于生产者,无法进行细粒度的数据筛选,容易造成数据冗余且难以动态扩展订阅关系,不能满足面向内容的复杂的数据交换需求。
技术实现思路
本专利技术针对上述问题,提供一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统,可以高效、稳定的进行跨IDC数据交换,同时能根据数据内容进行按需转发,提高了网络传输的质量,减小了网络负担。本专利技术采用的技术方案如下:一种基于面向数据内容的云消息中间件的数据交换方法,包括以下步骤:1)在不同的管理机站部署基于云消息中间件的节点,由各个所述节点构成消息传输网络;2)在所述消息传输网络的各节点中部署基于数据内容的流触发器;3)通过所述消息传输网络实现跨IDC的数据交换,并通过所述流触发器实现面向内容的数据交换。进一步地,所述管理机站包括子管理机站和主管理机站,所述子管理机站部署工作节点,所述主管理机站部署主节点;所述工作节点集成云消息中间件的消息处理模块Worker,各工作节点按一定的拓扑互相连接,承载业务数据的传输功能;所述主节点集成云消息中间件的消息处理模块Worker和管理模块Master,对消息传输网络中的所有节点进行管理;所述流触发器部署于所述消息处理模块Worker中。进一步地,所述流触发器以键-值对的形式设置需要触发的内容,并绑定操作函数,当数据流触发所述流触发器后,使用对应的操作函数对数据进行处理。进一步地,当网络环境为受限网络时,所述消息传输网络退化为树状结构的传输网络,所述树状结构的传输网络中实现以下四种消息转发模式:a)路由工作模式:逻辑上不互联的两个节点,通过中间的节点进行消息的路由,从而实现跨IDC的消息路由,同时源节点、目的节点、中间节点均能够对过路消息进行审计;b)触发工作模式:通过可动态的订制消息特征的流触发器,对特定数据进行过滤筛选,从而触发订制的操作;c)分发工作模式:由逻辑上级节点对下属的节点下达内容基本一致的任务命令或者状态监测命令时,只向直属下级节点发送,由直属下级节点本地复制并群发给多个非直属下级节点,以减小网络负担;d)汇聚工作模式:由逻辑下级节点向上级节点反馈内容基本一致的业务数据或者状态数据,通过路由路径向上级节点汇聚,由直属上级节点进行复制并转发给非直属上级节点,以减小网络负担。进一步地,当节点作为过路的中间节点时,根据业务系统的需求来配置本地是否需要对过路消息进行解析和业务处理,如果需要,则将消息转入业务系统处理;如果不需要,则过路消息在工作节点处直接审计和转发。一种面向数据内容的云消息中间件系统,包括部署于不同的管理机站的基于云消息中间件的节点,各个所述节点构成消息传输网络;所述消息传输网络的各节点中部署基于数据内容的流触发器;所述消息传输网络实现跨IDC的数据交换,并通过所述流触发器实现面向内容的数据交换。进一步地,所述管理机站包括子管理机站和主管理机站,所述子管理机站部署工作节点,所述主管理机站部署主节点;所述工作节点集成云消息中间件的消息处理模块Worker,各工作节点按一定的拓扑互相连接,承载业务数据的传输功能;所述主节点集成云消息中间件的消息处理模块Worker和管理模块Master,对消息传输网络中的所有节点进行管理;所述流触发器部署于所述消息处理模块Worker中。进一步地,所述消息处理模块Worker包括:消息路由子模块:负责在各个管理机站之间进行跨IDC的消息路由、审计和推送;流触发器:是可动态的订制消息特征的触发器,负责对特定数据进行过滤筛选,从而触发指定的操作;消息分发和汇聚子模块:负责在网络环境为受限网络时,针对内容基本相同的数据通过分发和汇聚的工作模式,实现一对多的数据传输,减小网络负担;本地处理子模块:负责当消息流转的终点是本地的管理机站时,在工作节点中对消息进行处理,通过局域网交付业务系统处理。进一步地,所述流触发器以键-值对的形式设置需要触发的内容,并绑定操作函数,当数据流触发所述流触发器后,使用对应的操作函数对数据进行处理。进一步地,所述工作节点和所述主节点中还设有监管模块Supervisor,其是消息处理模块Worker的监管程序,负责进程守护、回收内存和杀死僵尸进程,以保证消息处理模块Worker的程序进程的稳定性。本专利技术的技术关键点在于:a)云消息中间件组成的数据传输网络,并在应用层实现消息的路由转发模型;b)集成面向数据内容的流触发器本文档来自技高网
...

【技术保护点】
1.一种基于面向数据内容的云消息中间件的数据交换方法,其特征在于,包括以下步骤:1)在不同的管理机站部署基于云消息中间件的节点,由各个所述节点构成消息传输网络;2)在所述消息传输网络的各节点中部署基于数据内容的流触发器;3)通过所述消息传输网络实现跨IDC的数据交换,并通过所述流触发器实现面向内容的数据交换。

【技术特征摘要】
1.一种基于面向数据内容的云消息中间件的数据交换方法,其特征在于,包括以下步骤:1)在不同的管理机站部署基于云消息中间件的节点,由各个所述节点构成消息传输网络;2)在所述消息传输网络的各节点中部署基于数据内容的流触发器;3)通过所述消息传输网络实现跨IDC的数据交换,并通过所述流触发器实现面向内容的数据交换。2.根据权利要求1所述的方法,其特征在于,所述管理机站包括子管理机站和主管理机站,所述子管理机站部署工作节点,所述主管理机站部署主节点;所述工作节点集成云消息中间件的消息处理模块Worker,各工作节点按一定的拓扑互相连接,承载业务数据的传输功能;所述主节点集成云消息中间件的消息处理模块Worker和管理模块Master,对消息传输网络中的所有节点进行管理;所述流触发器部署于所述消息处理模块Worker中。3.根据权利要求1或2所述的方法,其特征在于,所述流触发器以键-值对的形式设置需要触发的内容,并绑定操作函数,当数据流触发所述流触发器后,使用对应的操作函数对数据进行处理。4.根据权利要求1所述的方法,其特征在于,当网络环境为受限网络时,所述消息传输网络退化为树状结构的传输网络,所述树状结构的传输网络中实现以下四种消息转发模式:a)路由工作模式:逻辑上不互联的两个节点,通过中间的节点进行消息的路由,从而实现跨IDC的消息路由,同时源节点、目的节点、中间节点均能够对过路消息进行审计;b)触发工作模式:通过可动态的订制消息特征的流触发器,对特定数据进行过滤筛选,从而触发订制的操作;c)分发工作模式:由逻辑上级节点对下属的节点下达内容基本一致的任务命令或者状态监测命令时,只向直属下级节点发送,由直属下级节点本地复制并群发给多个非直属下级节点,以减小网络负担;d)汇聚工作模式:由逻辑下级节点向上级节点反馈内容基本一致的业务数据或者状态数据,通过路由路径向上级节点汇聚,由直属上级节点进行复制并转发给非直属上级节点,以减小网络负担。5.根据权利要求1所述的方法,其特征在于,当节点作为过路的中间节点时,根据业务系统的需求来...

【专利技术属性】
技术研发人员:陈小军张闯时金桥丁宏文新王大魁胡兰兰王文安
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1