CN108199865A - 一种基于发布订阅的路由服务实现方法 - Google Patents
一种基于发布订阅的路由服务实现方法 Download PDFInfo
- Publication number
- CN108199865A CN108199865A CN201711292454.0A CN201711292454A CN108199865A CN 108199865 A CN108199865 A CN 108199865A CN 201711292454 A CN201711292454 A CN 201711292454A CN 108199865 A CN108199865 A CN 108199865A
- Authority
- CN
- China
- Prior art keywords
- message
- route service
- distribution subscription
- connection
- network
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于计算机系统软件专业技术领域,提供一种基于发布订阅的路由服务实现方法。在分布式网络环境中涉及到多种网络协议,不同协议间不能直接进行通讯。本发明在发布订阅机制的基础上,设计了路由服务,能够基于发布订阅机制进行消息转发,能够实现不同协议之间的消息转换,并提供有效的扩展机制支持不同的协议。解决了跨网络系统间消息交互的问题,有效地提高了应用软件的开发效率,减少了软件系统升级过程中新老系统兼容所面临的问题。本发明的特点是基于发布订阅的消息路由机制,实现有效的数据转发;不同协议间的消息转换;灵活、可扩展的协议适配模型,能够有支持多种不同的网络传输协议。
Description
技术领域
本发明属于计算机系统软件专业技术领域,提供一种基于发布订阅的路由服务实现方法。
背景技术
在分布式系统环境中,系统的构建过程中涉及到多种网络,系统间的消息传递不能直接进行,需要进行消息转发和消息转换,由于网络资源的多样性,消息转发和消息转换缺少一种统一的方式,开发出的具备消息转发和消息转换功能的软件可移植性差、复用度低。据此,提出了一种基于发布订阅的路由服务实现方法,提供了基于发布订阅的消息路由机制;实现了不同协议间的消息转换;具备灵活、可扩展的协议适配模型,可支持多种网络协议。
发明内容
本发明的目的是设计一种基于发布订阅方式的路由服务,消息转发采用发布订阅的模式实现,基于统一的消息结构实现不同协议间的消息转换,支持网络协议的扩展,为分布式系统间的信息交互提供统一的路由服务,减少系统信息融合的工作量,降低分布式应用程序的开发难度,提升软件开发效率。
本发明的具体技术解决方案如下:
一种基于发布订阅的路由服务实现方法,包括以下步骤:
步骤1、确定配置数据。使用该方法进行消息交互时,需要配置数据指定路由服务与应用之间建立连接所使用的网络协议、网络连接参数,以及消息路由信息。网络协议是指JMS、TCP、DDS等具体的协议类型;网络连接参数是指建立连接所需要的参数,例如:当底层网络是以太网时,需要IP地址、端口建立连接;消息路由信息包括消息名称、消息类型名、源、目的属性。
步骤2、实现路由服务相关对象。针对不同网络的特点,设计了适配器、连接、流读者、流写者四个对象用于支持不同网络协议的转换。适配器作为一个管理对象,提供创建连接、流读者、流写者等对象的接口。连接对象提供创建连接、销毁连接的接口,用于建立路由服务与发送端、接收端的网络连接。流读者提供读操作接口,路由服务用它从发送端获取输入消息。流写者提供写操作接口,路由服务用它将消息发送到接收端。
步骤3、消息转换。不同网络协议对消息的组织形式不同,为了实现多种协议之间的转换,需要建立统一的消息格式,所有的消息由两部分组成,消息头和消息内容。消息头包括:消息名称、消息结构信息、消息成员属性。消息名称是消息的逻辑标识;消息结构信息是对消息结构体的描述,包括消息类型名称、消息结构体中成员个数,消息对应的内存大小;消息成员属性包括消息结构体中每一个成员的类型,对应的内存大小。消息内容是实际消息体。
步骤4、消息转发。当路由服务从发送端接收到消息后,对消息进行解析获取消息名称,消息类型名称,从配置数据中查找订阅该消息的接收端信息,向所有订阅该消息的接收端发送消息。
本发明具有的优点:
该发明有效支持了分布式系统间的消息转发,为应用程序提供基于发布订阅的路由服务,采用发布订阅机制进行消息交互的应用程序不需要考虑网络协议对发布订阅机制的支持与否,都可以通过路由服务进行消息的发布订阅。
该发明有效支持了不同协议间的消息转换,为应用程序提供透明的消息转换机制,应用程序不再考虑网络协议的差异,有效降低了应用软件的设计复杂度。
基于发布订阅的路由服务具有可扩展性,适用于多种不同的网络,当需要支持新的网络时,只需要针对具体网络封装适配器、连接、流读者、流写者等对象的操作接口便可以支持。
附图说明
图1为本发明结构示意图;
图2为消息转发过程示意图;
图3为消息结构示意图;
图4路由服务示意图。
具体实施方式
下面具体介绍本发明技术方案:
1、应用程序使用该方法进行消息交互时,首先要确定配置数据,通过配置数据指定路由服务与应用之间建立连接所使用的网络协议、网络连接参数,以及消息路由信息。网络协议是指JMS、TCP、DDS等具体的协议类型;网络连接参数是指建立连接所需要的参数,例如当底层网络是以太网是,需要IP地址、端口建立连接;消息路由信息包括消息名称、消息类型名、源、目的属性。
2、路由服务进行消息路由需要两方面功能支持,包括消息转换、消息转发:
2.1、消息转换。不同网络协议对消息的组织形式不同,为了实现多种协议之间的转换,需要建立统一的消息格式,所有的消息由两部分组成,消息头和消息内容。消息头包括:消息名称、消息结构信息、消息成员属性。消息名称是消息的逻辑标识;消息结构信息是对消息结构体的描述,包括消息类型名称、消息结构体中成员个数,消息对应的内存大小;消息成员属性包括消息结构体中每一个成员的类型,对应的内存大小。
2.2、消息转发。当路由服务从发送端接收到消息后,对消息进行解析获取消息名称,消息类型名称,从配置数据中查找订阅该消息的接收端信息,向所有订阅该消息的接收端发送消息。
3、针对不同网络的特点,设计了适配器、连接、流读者、流写者等四个对象用于支持不同网络协议的扩展。
适配器作为一个管理对象,提供创建连接、流读者、流写者等对象的接口。
连接对象提供创建连接、销毁连接的接口,用于建立路由服务与发送端、接收端的网络连接。
流读者提供读操作接口,路由服务用它从发送端获取输入消息。
流写者提供写操作接口,路由服务用它将消息发送到接收端。
需要对新的网络进行适配时,只需实现相应的接口并注册到路由服务中即可。
以下结合图2、图3,对基于发布订阅的路由服务实现方法进行详细说明,该实例中包括JMS、DDS、TCP三种协议,底层网络为以太网:
1)部署路由服务的配置数据,配置数据包括:网络协议、网络连接参数,以及消息路由信息。网络协议包括:JMS、DDS、TCP,由于三种协议都建立在以太网之上,网络参数则使用IP地址、端口号。消息路由信息包括,消息名称Messages_A,消息类型名Type_A。JMS作为发送端,DDS、TCP作为接收端。
2)路由服务根据配置数据与发送端、接收端建立连接。即,使用JMS适配器创建与发送端的连接;使用DDS适配器创建与DDS接收端的连接,使用TCP适配器创建与TCP接收端的连接。
3)路由服务使用不同的适配器分别创建JMS流读者,DDS流写者,TCP流写者。
4)发送端按照统一消息结构,组织消息,发送到路由服务。
5)路由服务使用JMS流读者获取输入消息,并进行解析,获取消息名称、消息类型名。
6)根据消息名称、消息类型名,从配置数据中查找订阅该消息的接收端。
7)路由服务使用DDS流写者和TCP流写者,将接收到的消息发送到DDS接收端和TCP接收端。
Claims (2)
1.一种基于发布订阅的路由服务实现方法,其特征在于,包括以下步骤:
步骤1、确定配置数据;使用该方法进行消息交互时,需要配置数据指定路由服务与应用之间建立连接所使用的网络协议、网络连接参数,以及消息路由信息;网络连接参数是指建立连接所需要的参数,消息路由信息包括消息名称、消息类型名、源、目的属性;
步骤2、实现路由服务相关对象;针对不同网络的特点,设计了适配器、连接、流读者、流写者四个对象用于支持不同网络协议的转换;适配器作为一个管理对象,提供创建连接、流读者、流写者等对象的接口;连接对象提供创建连接、销毁连接的接口,用于建立路由服务与发送端、接收端的网络连接;流读者提供读操作接口,路由服务用它从发送端获取输入消息;流写者提供写操作接口,路由服务用它将消息发送到接收端;
步骤3、消息转换;不同网络协议对消息的组织形式不同,为了实现多种协议之间的转换,需要建立统一的消息格式,所有的消息由两部分组成,消息头和消息内容;消息头包括:消息名称、消息结构信息、消息成员属性;消息名称是消息的逻辑标识;消息结构信息是对消息结构体的描述,包括消息类型名称、消息结构体中成员个数,消息对应的内存大小;消息成员属性包括消息结构体中每一个成员的类型,对应的内存大小;消息内容是实际消息体;
步骤4、消息转发;当路由服务从发送端接收到消息后,对消息进行解析获取消息名称,消息类型名称,从配置数据中查找订阅该消息的接收端信息,向所有订阅该消息的接收端发送消息。
2.根据权利要求1所述的一种基于发布订阅的路由服务实现方法,其特征在于:所述网络协议为JMS、TCP、DDS。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711292454.0A CN108199865A (zh) | 2017-12-07 | 2017-12-07 | 一种基于发布订阅的路由服务实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711292454.0A CN108199865A (zh) | 2017-12-07 | 2017-12-07 | 一种基于发布订阅的路由服务实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108199865A true CN108199865A (zh) | 2018-06-22 |
Family
ID=62573747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711292454.0A Pending CN108199865A (zh) | 2017-12-07 | 2017-12-07 | 一种基于发布订阅的路由服务实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108199865A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109510748A (zh) * | 2018-12-29 | 2019-03-22 | 北京润科通用技术有限公司 | 节点及节点交互方法和系统 |
CN109547243A (zh) * | 2018-11-16 | 2019-03-29 | 南京华讯方舟通信设备有限公司 | 一种基于dds的跨网段通信方法 |
CN109600381A (zh) * | 2018-12-18 | 2019-04-09 | 浩云科技股份有限公司 | 一种接口适配方法、装置及系统 |
CN109639665A (zh) * | 2018-12-06 | 2019-04-16 | 上海航天计算机技术研究所 | 基于多通信介质扩展发布订阅系统传输协议的方法 |
CN112291325A (zh) * | 2020-10-23 | 2021-01-29 | 上海豹云网络信息服务有限公司 | 一种消息的处理方法、装置及计算机系统 |
CN112468574A (zh) * | 2020-11-25 | 2021-03-09 | 中国工商银行股份有限公司 | 应用服务发布订阅机制的处理方法、装置及系统 |
CN112688998A (zh) * | 2020-12-17 | 2021-04-20 | 中国航空工业集团公司成都飞机设计研究所 | 一种可配置带权限的主数据订阅推送方法 |
CN112866294A (zh) * | 2021-03-15 | 2021-05-28 | 中国电子科技集团公司第十五研究所 | 一种多协议适配方法、装置及可读存储介质 |
US11265399B2 (en) | 2019-07-12 | 2022-03-01 | Coupang Corp. | Systems and methods for interfacing networks using a unified communication scheme |
CN115037807A (zh) * | 2022-06-10 | 2022-09-09 | 湖南大学 | 一种工业机器人服务总线上集成dds协议的方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453710A (zh) * | 2008-12-24 | 2009-06-10 | 中国移动通信集团北京有限公司 | 一种异构业务系统间消息转换的方法及装置 |
CN101969475A (zh) * | 2010-11-15 | 2011-02-09 | 张军 | 基于云计算的商业数据可控分发与融合应用系统 |
CN102938731A (zh) * | 2012-11-22 | 2013-02-20 | 北京锐易特软件技术有限公司 | 一种基于代理缓存适配模型的交换集成装置及方法 |
CN103430493A (zh) * | 2011-03-17 | 2013-12-04 | 康尔福盛303公司 | 可升级的通信系统 |
CN103957188A (zh) * | 2014-03-24 | 2014-07-30 | 浪潮集团山东通用软件有限公司 | 一种对称的双向解耦的企业服务描述方法及服务调度系统 |
CN104811475A (zh) * | 2015-03-27 | 2015-07-29 | 深圳市华运国际物流有限公司 | 基于Restful技术构建的企业服务总线中间件 |
US20160028780A1 (en) * | 2014-07-22 | 2016-01-28 | Nemrude Verzano | Managed Device-to-Device Communication in Business Computing Systems |
CN106716404A (zh) * | 2014-09-24 | 2017-05-24 | 甲骨文国际公司 | 计算机子网内的代理服务器 |
-
2017
- 2017-12-07 CN CN201711292454.0A patent/CN108199865A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453710A (zh) * | 2008-12-24 | 2009-06-10 | 中国移动通信集团北京有限公司 | 一种异构业务系统间消息转换的方法及装置 |
CN101969475A (zh) * | 2010-11-15 | 2011-02-09 | 张军 | 基于云计算的商业数据可控分发与融合应用系统 |
CN103430493A (zh) * | 2011-03-17 | 2013-12-04 | 康尔福盛303公司 | 可升级的通信系统 |
CN102938731A (zh) * | 2012-11-22 | 2013-02-20 | 北京锐易特软件技术有限公司 | 一种基于代理缓存适配模型的交换集成装置及方法 |
CN103957188A (zh) * | 2014-03-24 | 2014-07-30 | 浪潮集团山东通用软件有限公司 | 一种对称的双向解耦的企业服务描述方法及服务调度系统 |
US20160028780A1 (en) * | 2014-07-22 | 2016-01-28 | Nemrude Verzano | Managed Device-to-Device Communication in Business Computing Systems |
CN106716404A (zh) * | 2014-09-24 | 2017-05-24 | 甲骨文国际公司 | 计算机子网内的代理服务器 |
CN104811475A (zh) * | 2015-03-27 | 2015-07-29 | 深圳市华运国际物流有限公司 | 基于Restful技术构建的企业服务总线中间件 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547243A (zh) * | 2018-11-16 | 2019-03-29 | 南京华讯方舟通信设备有限公司 | 一种基于dds的跨网段通信方法 |
CN109547243B (zh) * | 2018-11-16 | 2021-12-03 | 南京华讯方舟通信设备有限公司 | 一种基于dds的跨网段通信方法 |
CN109639665A (zh) * | 2018-12-06 | 2019-04-16 | 上海航天计算机技术研究所 | 基于多通信介质扩展发布订阅系统传输协议的方法 |
CN109639665B (zh) * | 2018-12-06 | 2020-11-24 | 上海航天计算机技术研究所 | 基于多通信介质扩展发布订阅系统传输协议的方法 |
CN109600381A (zh) * | 2018-12-18 | 2019-04-09 | 浩云科技股份有限公司 | 一种接口适配方法、装置及系统 |
CN109600381B (zh) * | 2018-12-18 | 2021-11-12 | 浩云科技股份有限公司 | 一种接口适配方法、装置及系统 |
CN109510748B (zh) * | 2018-12-29 | 2021-06-29 | 北京润科通用技术有限公司 | 节点及节点交互方法和系统 |
CN109510748A (zh) * | 2018-12-29 | 2019-03-22 | 北京润科通用技术有限公司 | 节点及节点交互方法和系统 |
US11265399B2 (en) | 2019-07-12 | 2022-03-01 | Coupang Corp. | Systems and methods for interfacing networks using a unified communication scheme |
CN112291325A (zh) * | 2020-10-23 | 2021-01-29 | 上海豹云网络信息服务有限公司 | 一种消息的处理方法、装置及计算机系统 |
CN112468574A (zh) * | 2020-11-25 | 2021-03-09 | 中国工商银行股份有限公司 | 应用服务发布订阅机制的处理方法、装置及系统 |
CN112468574B (zh) * | 2020-11-25 | 2022-10-18 | 中国工商银行股份有限公司 | 应用服务发布订阅机制的处理方法、装置及系统 |
CN112688998A (zh) * | 2020-12-17 | 2021-04-20 | 中国航空工业集团公司成都飞机设计研究所 | 一种可配置带权限的主数据订阅推送方法 |
CN112688998B (zh) * | 2020-12-17 | 2023-03-14 | 中国航空工业集团公司成都飞机设计研究所 | 一种可配置带权限的主数据订阅推送方法 |
CN112866294A (zh) * | 2021-03-15 | 2021-05-28 | 中国电子科技集团公司第十五研究所 | 一种多协议适配方法、装置及可读存储介质 |
CN115037807A (zh) * | 2022-06-10 | 2022-09-09 | 湖南大学 | 一种工业机器人服务总线上集成dds协议的方法及系统 |
CN115037807B (zh) * | 2022-06-10 | 2023-08-18 | 湖南大学 | 一种工业机器人服务总线上集成dds协议的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108199865A (zh) | 一种基于发布订阅的路由服务实现方法 | |
CN103746911B (zh) | 一种sdn网络结构及其通信方法 | |
CN111565113B (zh) | 用于sdn控制器的灵活以太网网络拓扑抽象方法及系统 | |
CN108810086A (zh) | 一种基于mqtt消息协议的智能设备通讯平台 | |
EP2405608B1 (en) | Performing path-orientated systems management | |
CN113411215B (zh) | 基于opc ua的时间敏感网络集中用户配置方法及系统 | |
CN104184663A (zh) | 基于软件定义网络和一体化标识网络的通信方法和装置 | |
CN108289061B (zh) | 基于sdn的业务链拓扑系统 | |
CN106789606A (zh) | 一种网络通信系统、其管理方法及通信方法 | |
CN105075191B (zh) | 无线网络数据处理装置和无线网络系统 | |
CN104956629B (zh) | 软件定义网络中的事件分发方法,控制设备和处理器 | |
CN104243589B (zh) | 一种基于北斗rdss/rnss的运营服务平台系统及方法 | |
CN105827439B (zh) | 实现无线设备自组网的方法 | |
CN104734949B (zh) | 一种实现流表配置的方法及装置 | |
CN101222437B (zh) | 在二层交换网络中透传bpdu报文的方法和系统 | |
CN108093041A (zh) | 单通道vdi代理服务系统及实现方法 | |
CN104243303B (zh) | 一种自治系统环路组网中发送更新报文的方法和装置 | |
CN103796191A (zh) | 向用户终端发送数据的方法、装置及终端 | |
CN103379151B (zh) | 一种流量交换方法、装置及系统 | |
CN113965470B (zh) | 一种航空信息网络实验仿真系统 | |
JPWO2019240158A1 (ja) | 通信システム及び通信方法 | |
KR101673755B1 (ko) | Dds 기반의 사물 인터넷의 네트워크와 지그비 네트워크와의 연동 시스템 및 그 방법 | |
CN105635223A (zh) | 用于同步网络状态的方法及装置 | |
CN101695169B (zh) | 运营支持系统数据的远端维护方法及系统、远端开户代理 | |
CN110474781A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180622 |
|
RJ01 | Rejection of invention patent application after publication |