CN107819831A - 一种基于metaq及mns的通用消息系统 - Google Patents
一种基于metaq及mns的通用消息系统 Download PDFInfo
- Publication number
- CN107819831A CN107819831A CN201710993310.1A CN201710993310A CN107819831A CN 107819831 A CN107819831 A CN 107819831A CN 201710993310 A CN201710993310 A CN 201710993310A CN 107819831 A CN107819831 A CN 107819831A
- Authority
- CN
- China
- Prior art keywords
- message
- mns
- module
- middleware
- metaq
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于metaq及mns的通用消息系统,包括通用消息客户端和通用消息服务端,其特征在于:所述通用消息客户端包括缓存主题与mns和metaq关系模块,均封装有metaq消息中间件特性和mns消息中间件特性的统一消息发送模块和统一消息消费模块。本发明同时封装了metaq消息中间件的特性和mns消息中间件的特性,即使不同的系统一个使用metaq消息中间件,另一个使用mns消息中间件,消息不需要做任何处理,直接使用客户端发送和消费消息则可实现跨系统直接通信。
Description
技术领域
本发明涉及通信技术领域,具体是指一种基于metaq及mns的通用消息系统。
背景技术
目前,应用程序体系结构向着多层结构的方向发展,而中间件技术为在这种异构分布式环境中建构应用系统,实现独立于硬件、操作系统、运行环境和开发环境的系统互联提供了强有力的支持。但是现有的消息中间件技术都是一个服务端对应一个客户端才能够实现消息通信,如果两个成熟的软件系统分别使用了不同消息中间件metaq和mns,那么两个系统之间是不能通过消息中间件的方式通信的,这就给人们带来很大的麻烦。
发明内容
本发明的目的在于克服不同的消息系统使用不同消息中间件的时候不能够完成消息通信的缺陷,提供一种基于metaq及mns的通用消息系统。
本发明的目的通过下述技术方案实现:一种基于metaq及mns的通用消息系统,包括通用消息客户端和通用消息服务端,所述通用消息客户端包括缓存主题与mns和metaq关系模块,均封装有metaq消息中间件特性和mns消息中间件特性的统一消息发送模块和统一消息消费模块;其中:
缓存主题与mns和metaq关系模块:用于从通用消息服务端获取主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,并将该数据缓存到本地内存;
统一消息发送模块:用于获取消息内容,根据消息内容确定消息所属的主题,并将消息发送给相应的主题,且根据缓存主题与mns和metaq关系模块所获取的数据,将消息内容发送给metaq消息中间件或mns消息中间件进行保存;
统一消息消费模块:用于向metaq消息中间件发送获取新消息请求和向通用消息服务端发送获取mns消息中间件的新消息请求,并接收通用消息服务端发送的不同主题的消息,且完成消息的消费;
所述通用消息服务端包括数据库,dlmessage-server模块,mns消息中间件以及metaq消息中间件;其中,
数据库:用于存储主题和metaq消息中间件关系及主题和mns消息中间件关系的数据;
dlmessage-server模块:用于为通用消息客户端提供主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,并作为通用消息客户端与mns消息中间件的消息传输中间组件。
进一步的,所述统一消息发送模块设置有同步发送模块和异步发送模块;所述统一消息发送模块采用同步发送的方式或异步发送的方式将消息内容发送给metaq消息中间件或mns消息中间件进行保存。
所述dlmessage-server模块包括主题与mns和metaq关系模块,发送消息模块以及接收消息模块;其中,
主题与mns和metaq关系模块:用于从数据库中获取主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,并将所述数据返回给缓存主题与mns和metaq关系模块;
发送消息模块:用于接收统一消息发送模块发送给mns消息中间件的消息,并将消息发送给mns消息中间件;
接收消息模块:用于接收统一消息消费模块发出的获取新消息的请求,根据请求向mns消息中间件获取消息,并将获取的消息发送给统一消息消费模块。
所述统一消息消费模块采用抽象类对metaq消息中间件特性和mns消息中间件特性进行封装。
所述统一消息消费模块采用轮询的方式分别向metaq消息中间件发送获取新消息请求和向通用消息服务端发送获取mns消息中间件的新消息请求。
本发明较现有技术相比,具有以下优点及有益效果:
(1)本发明同时封装了metaq消息中间件的特性和mns消息中间件的特性,即使不同的系统一个使用metaq消息中间件,另一个使用mns消息中间件,消息不需要做任何处理,直接使用客户端发送和消费消息则可实现跨系统直接通信。
(2)本发明的统一消息发送模块和统一消息消费模块使用统一的接口来匹配不同的消息中间件,其通用性更强。
附图说明
图1为本发明的整体结构图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式并不限于此。
实施例
如图1所示,本发明的基于metaq及mns的通用消息系统,包括通用消息客户端和通用消息服务端;该通用消息客户端集成在软件系统中。其中,如图1所示,该通用消息客户端包括缓存主题与mns和metaq关系模块,统一消息发送模块以及统一消息消费模块。
为了在使用不同消息中间件的不同消息系统之间能够直接通信,该统一消息发送模块和统一消息消费模块都封装有metaq消息中间件的特性和mns消息中间件的特性,因此即使不同的系统一个使用metaq消息中间件,另一个使用mns消息中间件,消息不需要做任何处理,直接使用客户端发送和消费消息则可实现跨系统直接通信。
具体的,缓存主题与mns和metaq关系模块:用于通过网络从通用消息服务端获取主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,并将该数据缓存到本地内存。
统一消息发送模块:该模块具有统一的消息发送接口,其用于获取用户编辑的消息内容,根据消息内容确定消息所属的主题,并将消息内容发送给相应的主题;同时,该统一消息发送模块还可以获取缓存主题与mns和metaq关系模块中主题与消息中间件关系的数据,根据主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,将消息内容发送给相应的metaq消息中间件或mns消息中间件进行保存。例如,当消息内容所属的主题是metaq消息中间件时,统一消息发送模块则将该消息内容发送给metaq消息中间件;反之,该消息内容所属的主题是mns消息中间件时,统一消息发送模块则将消息内容发送给mns消息中间件。
该统一消息发送模块封装了metaq消息中间件的特性和mns消息中间件的特性后具有统一的消息发送接口,其可以匹配不同的消息中间件,使本发明的通用消息系统的通用性更强。由于主题和消息中间件关系的数据是保存到通用消息服务端的,统一消息发送模块可直接从缓存主题与mns和metaq关系模块中获取主题与消息中间件的关系数据,而不需要每次发送消息都到服务端去查询主题与消息中间件的关系,这就极大的提高了通用消息系统的性能。
另外,如图1所示,该统一消息发送模块还设置有同步发送模块和异步发送模块,因此该统一消息发送模块可采用同步发送的方式或异步发送的方式将消息内容发送给metaq消息中间件或mns消息中间件进行保存。具体的,同步发送方式是指,发送消息时该统一消息发送模块会及时得到该消息是否发送成功的提示。异步发送方式是指,发送消息时该统一消息发送模块不会得到消息是否发送成功的提示。
统一消息消费模块:该模块采用抽象类对metaq消息中间件特性和mns消息中间件特性进行封装,其采用轮询的方式向通用消息服务端发送获取metaq消息中间件或mns消息中间件内的新消息请求,并接收通用消息服务端发送的不同主题的消息,且完成消息的消费,即执行消息内容。
所述通用消息服务端包括数据库,dlmessage-server模块,mns消息中间件以及metaq消息中间件。
具体的,数据库:用于存储主题和metaq消息中间件关系及主题和mns消息中间件关系的数据。
dlmessage-server模块:用于为通用消息客户端提供主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,并作为通用消息客户端与mns消息中间件的消息传输中间组件。
metaq消息中间件是一个高性能、高可用、可扩展的分布式消息中间件。mns消息中间件为阿里云消息服务mns消息中间件。
所述dlmessage-server模块包括主题与mns和metaq关系模块,发送消息模块以及接收消息模块;其中,
主题与mns和metaq关系模块:用于从数据库中获取主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,并将所述数据返回给缓存主题与mns和metaq关系模块。
发送消息模块:该模块是通用消息客户端与mns消息中间件的中间传输模块,其用于接收统一消息发送模块发送的消息内容,并将消息内容发送给mns消息中间件。
接收消息模块:其用于接收统一消息消费模块发出的获取新消息的请求,根据请求向mns消息中间件获取消息,并将获取的消息发送给统一消息消费模块。
在工作时,缓存主题与mns和metaq关系模块通过网络向主题与mns和metaq关系模块发送获取主题和metaq消息中间件关系及主题和mns消息中间件关系的数据请求,主题与mns和metaq关系模块接收到请求后从数据库获取数据,并将数据返回给缓存主题与mns和metaq关系模块。统一消息发送模块获取用户编辑的消息内容,根据消息内容确定消息所属的主题,并将消息内容发送给相应的主题,当消息内容所属的主题是metaq消息中间件的消息时,统一消息发送模块则将该消息内容发送给metaq消息中间件;当该消息内容所属的主题是mns消息中间件时,统一消息发送模块则将消息内容发送给发送消息模块,由发送消息模块将消息内容发送给mns消息中间件。同时,统一消息消费模块向接收消息模块发送获取新消息请求,接收消息模块收到请求后向mns消息中间件获取新消息,如mns消息中间件有新消息,接收消息模块则将获取的新消息返回给统一消息消费模块,统一消息消费模块则对消息进行消费;消息消费完成后,该统一消息消费模块则发送获取新消息请求给metaq消息中间件,如metaq消息中间件有新消息,该metaq消息中间件则将新消息返回给统一消息消费模块,统一消息消费模块对新消息进行消费;消息消费完成后,该统一消息消费模块再向接收消息模块发送获取新消息请求,如此轮询则实现采用不同消息中间件的不同系统之间的跨系统直接通信。
如上所述,便可很好的实施本发明。
Claims (5)
1.一种基于metaq及mns的通用消息系统,包括通用消息客户端和通用消息服务端,其特征在于:所述通用消息客户端包括缓存主题与mns和metaq关系模块,均封装有metaq消息中间件特性和mns消息中间件特性的统一消息发送模块和统一消息消费模块;其中:
缓存主题与mns和metaq关系模块:用于从通用消息服务端获取主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,并将该数据缓存到本地内存;
统一消息发送模块:用于获取消息内容,根据消息内容确定消息所属的主题,并将消息发送给相应的主题,且根据缓存主题与mns和metaq关系模块所获取的数据,将消息内容发送给metaq消息中间件或mns消息中间件进行保存;
统一消息消费模块:用于向metaq消息中间件发送获取新消息请求和向通用消息服务端发送获取mns消息中间件的新消息请求,并接收通用消息服务端发送的不同主题的消息,且完成消息的消费;
所述通用消息服务端包括数据库,dlmessage-server模块,mns消息中间件以及metaq消息中间件;其中,
数据库:用于存储主题和metaq消息中间件关系及主题和mns消息中间件关系的数据;
dlmessage-server模块:用于为通用消息客户端提供主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,并作为通用消息客户端与mns消息中间件的消息传输中间组件。
2.根据权利要求1所述的一种基于metaq及mns的通用消息系统,其特征在于:所述统一消息发送模块设置有同步发送模块和异步发送模块;所述统一消息发送模块采用同步发送的方式或异步发送的方式将消息内容发送给metaq消息中间件或mns消息中间件进行保存。
3.根据权利要求1所述的一种基于metaq及mns的通用消息系统,其特征在于:所述dlmessage-server模块包括主题与mns和metaq关系模块,发送消息模块以及接收消息模块;其中,
主题与mns和metaq关系模块:用于从数据库中获取主题和metaq消息中间件关系及主题和mns消息中间件关系的数据,并将所述数据返回给缓存主题与mns和metaq关系模块;
发送消息模块:用于接收统一消息发送模块发送给mns消息中间件的消息,并将消息发送给mns消息中间件;
接收消息模块:用于接收统一消息消费模块发出的获取新消息的请求,根据请求向mns消息中间件获取消息,并将获取的消息发送给统一消息消费模块。
4.根据权利要求1所述的一种基于metaq及mns的通用消息系统,其特征在于:所述统一消息消费模块采用抽象类对metaq消息中间件特性和mns消息中间件特性进行封装。
5.根据权利要求1所述的一种基于metaq及mns的通用消息系统,其特征在于:所述统一消息消费模块采用轮询的方式分别向metaq消息中间件发送获取新消息请求和向通用消息服务端发送获取mns消息中间件的新消息请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710993310.1A CN107819831B (zh) | 2017-10-23 | 2017-10-23 | 一种基于metaq及mns的通用消息系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710993310.1A CN107819831B (zh) | 2017-10-23 | 2017-10-23 | 一种基于metaq及mns的通用消息系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107819831A true CN107819831A (zh) | 2018-03-20 |
CN107819831B CN107819831B (zh) | 2020-09-01 |
Family
ID=61608428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710993310.1A Active CN107819831B (zh) | 2017-10-23 | 2017-10-23 | 一种基于metaq及mns的通用消息系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107819831B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388509A (zh) * | 2018-10-22 | 2019-02-26 | 上海朔羡网络科技有限公司 | 消息处理系统、方法、计算机设备及可读存储介质 |
CN112395114A (zh) * | 2020-12-07 | 2021-02-23 | 震坤行网络技术(南京)有限公司 | 用于处理消息的方法、计算设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040240458A1 (en) * | 2003-05-27 | 2004-12-02 | Sun Microsystems, Inc. | Method and system for messaging to a cluster |
CN102143198A (zh) * | 2010-09-30 | 2011-08-03 | 华为技术有限公司 | 消息传送方法、装置和系统 |
CN102521981A (zh) * | 2011-12-20 | 2012-06-27 | 青岛海信网络科技股份有限公司 | 一种基于消息中间件的交通态势计算方法 |
CN103166975A (zh) * | 2013-04-03 | 2013-06-19 | 上海航天测控通信研究所 | 一种dds通信系统 |
US20150046531A1 (en) * | 2012-03-26 | 2015-02-12 | Nec Corporation | Messaging system, topic management device, messaging method, and program |
CN107026917A (zh) * | 2017-06-16 | 2017-08-08 | 智者四海(北京)技术有限公司 | 用于消息推送的方法及系统 |
-
2017
- 2017-10-23 CN CN201710993310.1A patent/CN107819831B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040240458A1 (en) * | 2003-05-27 | 2004-12-02 | Sun Microsystems, Inc. | Method and system for messaging to a cluster |
CN102143198A (zh) * | 2010-09-30 | 2011-08-03 | 华为技术有限公司 | 消息传送方法、装置和系统 |
CN102521981A (zh) * | 2011-12-20 | 2012-06-27 | 青岛海信网络科技股份有限公司 | 一种基于消息中间件的交通态势计算方法 |
US20150046531A1 (en) * | 2012-03-26 | 2015-02-12 | Nec Corporation | Messaging system, topic management device, messaging method, and program |
CN103166975A (zh) * | 2013-04-03 | 2013-06-19 | 上海航天测控通信研究所 | 一种dds通信系统 |
CN107026917A (zh) * | 2017-06-16 | 2017-08-08 | 智者四海(北京)技术有限公司 | 用于消息推送的方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388509A (zh) * | 2018-10-22 | 2019-02-26 | 上海朔羡网络科技有限公司 | 消息处理系统、方法、计算机设备及可读存储介质 |
CN112395114A (zh) * | 2020-12-07 | 2021-02-23 | 震坤行网络技术(南京)有限公司 | 用于处理消息的方法、计算设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107819831B (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106230896B (zh) | 一种消息推送方法、装置及系统 | |
CN111580995B (zh) | 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统 | |
CN107093138B (zh) | 基于分布式无阻塞异步消息处理模式的拍卖竞价系统及其运行方法 | |
WO2015081786A1 (zh) | 订阅通知的实现方法和装置 | |
US20100115041A1 (en) | Creating a message readable by a plurality of heterogeneous recipients | |
CN112788074A (zh) | 数据发送方法、处理方法、接收方法及其设备、存储介质 | |
CN105827687A (zh) | 集群管理方法及其管理系统 | |
CN112532673B (zh) | 消息发送方法及装置、计算机可读存储介质、电子设备 | |
CN113031874B (zh) | 基于Kubernetes集群的缓存处理方法、装置、设备及存储介质 | |
CN102111419A (zh) | 一种基于消息中间件的客户端自动重连方法 | |
CN107819831B (zh) | 一种基于metaq及mns的通用消息系统 | |
CN100450105C (zh) | 一种基于java消息服务的同步消息接口实现方法 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN104410725A (zh) | Gpu的处理方法、系统以及基于gpu的dns解析方法和系统 | |
CN117896241A (zh) | 基于FPGA与RapidIO的DDS软硬件协同传输方法 | |
CN116800787A (zh) | 一种基于以太网通讯协议的车载通信方法及系统 | |
CN113973105B (zh) | 一种简化服务总线上soap消息的系统及方法 | |
US20100332604A1 (en) | Message selector-chaining | |
CN103428171A (zh) | 一种session的处理方法、应用服务器及系统 | |
CN114553956B (zh) | 基于uep中间件的数据传输方法和系统 | |
CN109766347B (zh) | 一种数据更新方法、装置、系统、计算机设备及存储介质 | |
CN108076111B (zh) | 一种在大数据平台中分发数据的系统及方法 | |
CN112187916B (zh) | 一种跨系统的数据同步方法与装置 | |
CN113225390B (zh) | 基于对象存储的代理方法及系统 | |
CN115242875A (zh) | 消息编码及解码方法、处理装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |