CN112764945B - 消息中心服务中间件系统 - Google Patents
消息中心服务中间件系统 Download PDFInfo
- Publication number
- CN112764945B CN112764945B CN202110014312.8A CN202110014312A CN112764945B CN 112764945 B CN112764945 B CN 112764945B CN 202110014312 A CN202110014312 A CN 202110014312A CN 112764945 B CN112764945 B CN 112764945B
- Authority
- CN
- China
- Prior art keywords
- message
- module
- identification
- request parameters
- service middleware
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种消息中心服务中间件系统,包括服务中间件以及服务中间件提供的API接口模块,服务中间件包括数据识别模块、消息识别模块、通道连接模块、封装输出模块,其中API接口模块供调用方输入请求参数,并经数据识别模块识别、消息识别模块识别后,通过通道连接模块送入封装输出模块中对应通信类型的子模块,并由子模块按对应通讯协议封装后输出。本发明能够形成消息的统一发送,无须工作人员进行再设计,具有消息传输方便的优点。
Description
技术领域
本发明涉及计算机信息传输系统领域,具体是一种消息中心服务中间件系统。
背景技术
目前,云平台或各种大型服务程序一般都是由多个组成模块构成,每个组成模块在开发、运维时,都各自配置有工作人员负责相应工作,在工作过程中需要不同组成模块配置的工作人员随时通过计算机通讯,以交互程序形式的工作信息。常用的通讯方式有多种,如Websocket、Email、SMS、MQ(Message Queue)消息队列、非关系型数据库等,每种通讯方式都是基于各自的通讯协议实现通讯的。在实际工作过程中,某个工作人员基于一种通讯方式发送的工作消息,只能被其他基于相同通讯方式进行通讯的工作人员接收,若基于其他通讯方式进行通讯的工作人员想接收该工作消息,必须对工作消息进行转换,因此需要工作人员设计不同的转换程序,还需要设计不同的接口用于接入,无法形成工作信息的统一转换和发送。并且,即使是基于相同通讯方式发送工作消息,例如都是基于Websocket方式发送工作消息,但由于不同的工作人员使用Websocket通讯方式时对通讯数据的封装方式不同,因此接收方仍然存在无法直接理解识别发送方发送的工作消息的问题,仍然需要进一步的转换。上述工作消息的传输过程明显存在着传输不便的问题。
发明内容
本发明的目的是提供一种消息中心服务中间件系统,以解决程序开发和运维人员基于多种通讯方式交互程序工作信息时存在的传输不便的问题。
为了达到上述目的,本发明所采用的技术方案为:
消息中心服务中间件系统,包括服务中间件以及API接口模块,所述服务中间件包括数据识别模块、消息识别模块、通道连接模块、封装输出模块,其中:
所述API接口模块供调用方程序接入服务中间件;
所述服务中间件的数据识别模块设定可识别的请求参数的数据格式,所述服务中间件的消息识别模块设定请求参数的组成结构,所述请求参数的组成结构至少包含消息内容信息、消息通信类型信息和消息目的地信息,由调用方程序按设定的组成结构组合请求参数后再按设定的数据格式封装请求参数,并由调用方程序通过API接口模块向服务中间件发送封装后的请求参数;
所述服务中间件中,数据识别模块接收调用方程序发送的封装后的请求参数,并按设定的数据格式对封装的请求参数进行解析,解析后再由数据识别模块将请求参数转换为消息识别模块、通道连接模块、封装输出模块能够识别的数据格式,然后送入消息识别模块;
所述服务中间件中,消息识别模块基于设定的请求参数的组成结构对请求参数的组成结构进行识别,得到消息通信类型信息识别结果,并由消息识别模块将请求参数和消息通信类型信息识别结果送入至通道连接模块;
所述服务中间件中,封装输出模块包括多个不同通信类型的封装输出子模块,每个通信类型的封装输出子模块用于封装形成对应通讯协议的通讯数据后再输出通讯数据,所述通道连接模块连接消息识别模块和封装输出模块中任意一个封装输出子模块,由通道连接模块接收消息识别模块送出的请求参数和消息通信类型信息识别结果,并由通道连接模块基于消息通信类型信息识别结果将请求参数送入至对应通信类型的封装输出子模块,然后由封装输出子模块基于自身通信类型对应的通讯协议将请求参数封装为对应通讯协议的通讯数据,最后由封装输出子模块基于请求参数包含的消息目的地信息,将封装的通讯数据发送至消息目的地。
所述的消息中心服务中间件系统,所述API接口模块是基于HTTP协议构建的对外接口。
所述的消息中心服务中间件系统,所述数据识别模块设定可识别的请求参数的数据格式为JSON格式,由此调用方程序将请求参数封装为JSON格式数据。
所述的消息中心服务中间件系统,所述消息识别模块建立消息通信类型信息和识别参数的第一关联数据库,并将请求参数中的消息通信类型信息放入第一关联数据库中进行匹配,以得到对应的识别参数,然后由消息识别模块将识别参数作为消息通信类型信息识别结果送入至通道连接模块;
所述通道连接模块建立识别参数与各个封装输出子模块通信类型的第二关联数据库,通道连接模块将收到的识别参数放入第二关联数据库中进行匹配,以得到对应的通信类型,并由通道连接模块将消息识别模块送入的请求参数送入至对应通信类型的封装输出子模块。
所述的消息中心服务中间件系统,若调用方程序输入的请求参数的组合结构中不包含消息通信类型信息,则消息识别模块从第一关联数据库中指定任意一个识别参数或固定的一个识别参数作为识别结果送入至通道连接模块。
所述的消息中心服务中间件系统,所述封装输出模块中,至少包括Websocket通信类型的封装输出子模块、Email通信类型的封装输出子模块、SMS通信类型的封装输出子模块、MQ消息队列通信类型的封装输出子模块、TCP通信类型的封装输出子模块。
所述的消息中心服务中间件系统,所述服务中间件还包括消息存储数据库,所述消息存储数据库用于存储请求参数。
所述的消息中心服务中间件系统,所述消息识别模块设定的请求参数的组成结构还包括存储请求信息,消息识别模块基于设定的请求参数的组成结构对请求参数的组成结构进行识别时,还识别是否存在存储请求信息,若存在存储请求信息,则由消息识别模块将请求参数存储至消息存储数据库。
所述的消息中心服务中间件系统,所述消息识别模块识别存在存储请求信息时,先建立与消息存储数据库的连接,并预留请求参数副本;所述封装输出子模块发送完成后向消息识别模块输出指令参数,消息识别模块收到指令参数后将请求参数副本存储至消息存储数据库。
本发明中,通过API接口模块供云平台或各种大型服务程序中多个组成模块的调用方程序接入,能够将调用方程序的消息封装为调用方程序所选择的通信方式的通讯数据,并且按对应选择的通信方式发送至消息目的地,无须不同工作人员进行通讯设计,与现有技术相比,本发明具有以下优点:
1、节约每个模块开发团队的时间
因为统一了所有的消息发送组件,所以每个模块的开发团队,不必在自己的模块中去实现多套消息发送、查询、管理的业务,所以给每个开发团队都节约了很大的工作量。
2、统一消息格式
对于各个不同的消息协议,进行了统一化的消息格式封装,使前端和后端在开发中对接风格更统一、更简易。
3、模块之间消息交互更容易
因为形成了统一消息中间件,所以各个模块可以以围绕本产品为中心的方式,通过统一的API接口、统一的消息格式、统一的监听格式、统一的接收方式进行消息的交换。
4、统一的消息管理
所有消息的历史发送记录都统一在本产品中进行记录和管理。
5、降低开发门槛,节约企业人力成本
由于各种框架协议不同,所以对程序员的技术要求相对较高,本产品统一封装了消息功能之后,各个模块的开发人员不必去关心每个消息协议的内在原理,只需要以HTTP方式调用API即可发送各种不同协议类型的消息,使得不具备太多开发经验的人员也能胜任业务模块的开发。
附图说明
图1是本发明系统架构框图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
如图1所示,消息中心服务中间件系统,包括服务中间件以及API接口模块,所述服务中间件包括数据识别模块、消息识别模块、通道连接模块、封装输出模块,其中:
API接口模块是基于HTTP协议构建的对外接口,API接口模块供调用方程序接入服务中间件;
服务中间件的数据识别模块设定可识别的请求参数的数据格式,本发明中数据识别模块设定的请求参数的数据格式为JSON格式。
服务中间件的消息识别模块设定请求参数的组成结构,请求参数的组成结构至少包含消息内容信息、消息通信类型信息和消息目的地信息。其中:
消息通信类型信息可用URL后面增加路径参数的方式来表示,例如,/ws表示采用WebSocket协议发送,/email表示采用邮件协议发送,/mq表示采用消息中间件发送。
消息目的地信息针对不同的通信方式可用不同字段表示,例如,WebSocket协议发送消息,必须有【自定义URL后缀】字段;Email协议发送消息,必须有【接收人Email地址】字段;MQ协议发送消息,必须有【队列类型】、【队列地址】字段;SMS短信发送消息,必须有【接收人手机号】字段。
调用方程序按设定的组成结构组合请求参数后再按设定的JSON格式封装请求参数,并由调用方程序通过API接口模块向服务中间件发送封装后的请求参数。
服务中间件中,数据识别模块接收调用方程序发送的封装后的请求参数,并按设定的数据格式对封装的请求参数进行JSON串解析,解析后再由数据识别模块将请求参数转换为消息识别模块、通道连接模块、封装输出模块能够识别的数据格式,然后送入消息识别模块。
服务中间件中,消息识别模块基于设定的请求参数的组成结构对请求参数的组成结构进行识别,得到消息通信类型信息识别结果,并由消息识别模块将请求参数和消息通信类型信息识别结果送入至通道连接模块。
本发明中,消息识别模块建立消息通信类型信息和识别参数的第一关联数据库,并将请求参数中的消息通信类型信息放入第一关联数据库中进行匹配,以得到对应的识别参数,然后由消息识别模块将识别参数作为消息通信类型信息识别结果送入至通道连接模块。
若调用方程序输入的请求参数的组合结构中不包含消息通信类型信息,则消息识别模块从第一关联数据库中指定任意一个识别参数或固定的一个识别参数作为识别结果送入至通道连接模块。由此可在服务中间件中形成一个指定或默认的通讯协议,用于没有写入通信类型信息的请求参数的发送。
服务中间件中,封装输出模块包括多个不同通信类型的封装输出子模块,每个通信类型的封装输出子模块用于封装形成对应通讯协议的通讯数据后再输出通讯数据。
本发明中,封装输出模块中,至少包括Websocket通信类型的封装输出子模块、Email通信类型的封装输出子模块、SMS通信类型的封装输出子模块、MQ消息队列通信类型的封装输出子模块、TCP通信类型的封装输出子模块。其中:
Websocket通信类型的封装输出子模块中,基于的WebSocket协议是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议,本发明服务中间件实现了默认的WebSocket服务终端配置,提供了注册连接点、监听点和发送点的统一方式,调用方只需在请求参数中填写相关参数。WebSocket服务统一了注册点和收发点,统一了消息封装格式;
Email通信类型的封装输出子模块中,基于的SMTP协议主要负责底层的邮件系统如何将邮件从一台机器传至另外一台机器,本发明服务中间件的Email发送功能,默认以SMTP格式建立发送通道并提供简洁的参数配置。
SMS通信类型的封装输出子模块中,SMS功能基于多个常用的短信平台实现,如阿里、腾讯、华信等,同样以请求参数方式提供调用方选择填写。
MQ消息队列通信类型的封装输出子模块中,实现了RabbitMQ和Kafka两种方式,调用方可以在调用API接口时指定发送哪种类型组件的消息并可以灵活选择持久化类型参数。
TCP通信类型的封装输出子模块中,实现TCP809道路通信协议的部分自定义数据通信。
通道连接模块连接消息识别模块和封装输出模块中任意一个封装输出子模块,由通道连接模块接收消息识别模块送出的请求参数和消息通信类型信息识别结果,并由通道连接模块基于消息通信类型信息识别结果将请求参数送入至对应通信类型的封装输出子模块。
本发明中,通道连接模块建立识别参数与各个封装输出子模块通信类型的第二关联数据库,通道连接模块将收到的识别参数放入第二关联数据库中进行匹配,以得到对应的通信类型,并由通道连接模块将消息识别模块送入的请求参数送入至对应通信类型的封装输出子模块。
然后由封装输出子模块基于自身通信类型对应的通讯协议将请求参数封装为对应通讯协议的通讯数据,最后由封装输出子模块基于请求参数包含的消息目的地信息,将封装的通讯数据发送至消息目的地。
本发明中,服务中间件还包括消息存储数据库,消息存储数据库用于存储请求参数。
消息识别模块设定的请求参数的组成结构还包括存储请求信息,消息识别模块基于设定的请求参数的组成结构对请求参数的组成结构进行识别时,还识别是否存在存储请求信息,若存在存储请求信息,则由消息识别模块将请求参数存储至消息存储数据库。
具体的,消息识别模块识别存在存储请求信息时,先建立与消息存储数据库的连接,并预留请求参数副本;所述封装输出子模块发送完成后向消息识别模块输出指令参数,消息识别模块收到指令参数后将请求参数副本存储至消息存储数据库。
本发明所述的实施例仅仅是对本发明的优选实施方式进行的描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中工程技术人员对本发明的技术方案作出的各种变型和改进,均应落入本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。
Claims (9)
1.消息中心服务中间件系统,其特征在于:包括服务中间件以及API接口模块,所述服务中间件包括数据识别模块、消息识别模块、通道连接模块、封装输出模块,其中:
所述API接口模块供调用方程序接入服务中间件;
所述服务中间件的数据识别模块设定可识别的请求参数的数据格式,所述服务中间件的消息识别模块设定请求参数的组成结构,所述请求参数的组成结构至少包含消息内容信息、消息通信类型信息和消息目的地信息,由调用方程序按设定的组成结构组合请求参数后再按设定的数据格式封装请求参数,并由调用方程序通过API接口模块向服务中间件发送封装后的请求参数;
所述服务中间件中,数据识别模块接收调用方程序发送的封装后的请求参数,并按设定的数据格式对封装的请求参数进行解析,解析后再由数据识别模块将请求参数转换为消息识别模块、通道连接模块、封装输出模块能够识别的数据格式,然后送入消息识别模块;
所述服务中间件中,消息识别模块基于设定的请求参数的组成结构对请求参数的组成结构进行识别,得到消息通信类型信息识别结果,并由消息识别模块将请求参数和消息通信类型信息识别结果送入至通道连接模块;
所述服务中间件中,封装输出模块包括多个不同通信类型的封装输出子模块,每个通信类型的封装输出子模块用于封装形成对应通讯协议的通讯数据后再输出通讯数据,所述通道连接模块连接消息识别模块和封装输出模块中任意一个封装输出子模块,由通道连接模块接收消息识别模块送出的请求参数和消息通信类型信息识别结果,并由通道连接模块基于消息通信类型信息识别结果将请求参数送入至对应通信类型的封装输出子模块,然后由封装输出子模块基于自身通信类型对应的通讯协议将请求参数封装为对应通讯协议的通讯数据,最后由封装输出子模块基于请求参数包含的消息目的地信息,将封装的通讯数据发送至消息目的地。
2.根据权利要求1所述的消息中心服务中间件系统,其特征在于:所述API接口模块是基于HTTP协议构建的对外接口。
3.根据权利要求1所述的消息中心服务中间件系统,其特征在于:所述数据识别模块设定可识别的请求参数的数据格式为JSON格式,由此调用方程序将请求参数封装为JSON格式数据。
4.根据权利要求1所述的消息中心服务中间件系统,其特征在于:所述消息识别模块建立消息通信类型信息和识别参数的第一关联数据库,并将请求参数中的消息通信类型信息放入第一关联数据库中进行匹配,以得到对应的识别参数,然后由消息识别模块将识别参数作为消息通信类型信息识别结果送入至通道连接模块;
所述通道连接模块建立识别参数与各个封装输出子模块通信类型的第二关联数据库,通道连接模块将收到的识别参数放入第二关联数据库中进行匹配,以得到对应的通信类型,并由通道连接模块将消息识别模块送入的请求参数送入至对应通信类型的封装输出子模块。
5.根据权利要求4所述的消息中心服务中间件系统,其特征在于:若调用方程序输入的请求参数的组合结构中不包含消息通信类型信息,则消息识别模块从第一关联数据库中指定任意一个识别参数或固定的一个识别参数作为识别结果送入至通道连接模块。
6.根据权利要求1所述的消息中心服务中间件系统,其特征在于:所述封装输出模块中,至少包括Websocket通信类型的封装输出子模块、Email通信类型的封装输出子模块、SMS通信类型的封装输出子模块、MQ消息队列通信类型的封装输出子模块、TCP通信类型的封装输出子模块。
7.根据权利要求1所述的消息中心服务中间件系统,其特征在于:所述服务中间件还包括消息存储数据库,所述消息存储数据库用于存储请求参数。
8.根据权利要求7所述的消息中心服务中间件系统,其特征在于:所述消息识别模块设定的请求参数的组成结构还包括存储请求信息,消息识别模块基于设定的请求参数的组成结构对请求参数的组成结构进行识别时,还识别是否存在存储请求信息,若存在存储请求信息,则由消息识别模块将请求参数存储至消息存储数据库。
9.根据权利要求8所述的消息中心服务中间件系统,其特征在于:所述消息识别模块识别存在存储请求信息时,先建立与消息存储数据库的连接,并预留请求参数副本;所述封装输出子模块发送完成后向消息识别模块输出指令参数,消息识别模块收到指令参数后将请求参数副本存储至消息存储数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110014312.8A CN112764945B (zh) | 2021-01-06 | 2021-01-06 | 消息中心服务中间件系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110014312.8A CN112764945B (zh) | 2021-01-06 | 2021-01-06 | 消息中心服务中间件系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112764945A CN112764945A (zh) | 2021-05-07 |
CN112764945B true CN112764945B (zh) | 2023-08-01 |
Family
ID=75700195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110014312.8A Active CN112764945B (zh) | 2021-01-06 | 2021-01-06 | 消息中心服务中间件系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764945B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923107B (zh) * | 2021-10-14 | 2024-02-23 | 海南车智易通信息技术有限公司 | 即时通讯的多个通道自动切换方法、装置、设备及介质 |
CN114327831A (zh) * | 2021-12-30 | 2022-04-12 | 胜斗士(上海)科技技术发展有限公司 | 消息管理系统、方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811475A (zh) * | 2015-03-27 | 2015-07-29 | 深圳市华运国际物流有限公司 | 基于Restful技术构建的企业服务总线中间件 |
RU2658157C1 (ru) * | 2017-04-26 | 2018-06-19 | Закрытое акционерное общество "Восточный Ветер" | Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы |
CN110417782A (zh) * | 2019-07-30 | 2019-11-05 | 三体云智能科技有限公司 | 一种用于智能硬件消息传输的系统及方法 |
-
2021
- 2021-01-06 CN CN202110014312.8A patent/CN112764945B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811475A (zh) * | 2015-03-27 | 2015-07-29 | 深圳市华运国际物流有限公司 | 基于Restful技术构建的企业服务总线中间件 |
RU2658157C1 (ru) * | 2017-04-26 | 2018-06-19 | Закрытое акционерное общество "Восточный Ветер" | Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы |
CN110417782A (zh) * | 2019-07-30 | 2019-11-05 | 三体云智能科技有限公司 | 一种用于智能硬件消息传输的系统及方法 |
Non-Patent Citations (1)
Title |
---|
基于SGIP协议的短信告警网关的设计与实现;王超;;信息网络(Z2);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112764945A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101022431B (zh) | 接口网关及接口网关的数据处理方法 | |
CN112764945B (zh) | 消息中心服务中间件系统 | |
CN111737329A (zh) | 一种轨道交通统一数据采集平台 | |
CN105786913A (zh) | 一种面向云制造平台的erp集成数据库服务接口封装系统及方法 | |
CN107169069B (zh) | 分布式分级抽取多应用方法和数据抽取应用器 | |
KR20040028956A (ko) | 제1 애플리케이션과 제2 애플리케이션간 데이터를전송하도록 적응된 가변구성 커넥터 | |
CN112671697B (zh) | 综合监控系统的数据处理方法、装置和系统 | |
CN111294235A (zh) | 数据处理方法、装置、网关及可读存储介质 | |
US20180351889A1 (en) | Method and system for transferring messages between messaging systems | |
CN114338801B (zh) | 一种适用于智能量测设备的轻量级发布订阅方法及系统、设备、存储介质 | |
US11709722B2 (en) | Extensible communication framework and communication method supporting multiple communication protocols | |
CN106027534A (zh) | 一种基于Netty实现金融报文处理系统 | |
CN105827671A (zh) | 分布式使用、集中管理的系统平台以及门户服务器 | |
CN114416314A (zh) | 一种基于api网关的服务编排方法 | |
CN113824653A (zh) | 一种兼容多协议业务接入的方法和系统 | |
CN113890891A (zh) | 一种能源云网的数据共享交互方法和装置 | |
CN111866157B (zh) | 云服务网关及云服务内外请求格式转换方法 | |
CN112905273A (zh) | 一种服务调用方法和装置 | |
CN103595695A (zh) | 服务总线提供服务的方法及系统 | |
US8660989B2 (en) | Generic framework for application specific data exchange | |
CN115134361B (zh) | 一种自动驾驶软件平台的跨平台通信方法及装置 | |
CN114296985A (zh) | 大规模微服务集群场景下的全局异常处理方法和平台 | |
CN102523069A (zh) | 消息发送方法 | |
CN110708312A (zh) | 一种ats中消息传递的方法、系统和ats | |
CN114390067B (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 |