CN107819831A - 一种基于metaq及mns的通用消息系统 - Google Patents

一种基于metaq及mns的通用消息系统 Download PDF

Info

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
Application number
CN201710993310.1A
Other languages
English (en)
Other versions
CN107819831B (zh
Inventor
任虹锦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Danlu Network Technology Co Ltd
Original Assignee
Chengdu Danlu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Danlu Network Technology Co Ltd filed Critical Chengdu Danlu Network Technology Co Ltd
Priority to CN201710993310.1A priority Critical patent/CN107819831B/zh
Publication of CN107819831A publication Critical patent/CN107819831A/zh
Application granted granted Critical
Publication of CN107819831B publication Critical patent/CN107819831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering 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的通用消息系统。
本发明的目的通过下述技术方案实现:一种基于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消息中间件的新消息请求。
CN201710993310.1A 2017-10-23 2017-10-23 一种基于metaq及mns的通用消息系统 Active CN107819831B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 智者四海(北京)技术有限公司 用于消息推送的方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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