CN101184056A - 一种分布式企业服务总线消息交换方法 - Google Patents

一种分布式企业服务总线消息交换方法 Download PDF

Info

Publication number
CN101184056A
CN101184056A CNA2007101567014A CN200710156701A CN101184056A CN 101184056 A CN101184056 A CN 101184056A CN A2007101567014 A CNA2007101567014 A CN A2007101567014A CN 200710156701 A CN200710156701 A CN 200710156701A CN 101184056 A CN101184056 A CN 101184056A
Authority
CN
China
Prior art keywords
message
service
container
jms
isp
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
Application number
CNA2007101567014A
Other languages
English (en)
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNA2007101567014A priority Critical patent/CN101184056A/zh
Publication of CN101184056A publication Critical patent/CN101184056A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种分布式企业服务总线消息交换方法,步骤如下:(1)部署到企业服务总线上的组件之间必须以消息的方式进行交换,且该消息必须按照一定的格式进行构造,组件在发送消息时设置同步或异步发送、消息的交换模式和是否需要持久化,***为每个服务提供一个用于接收消息的队列;(2)当服务消费者发送服务请求之后,其所在的容器必须根据消息中设定的地址信息对消息进行路由,确定服务提供者;(3)根据服务提供者所处的容器,采用不同的消息交换方法。本发明有益的效果是:支持同步/异步的消息发送方式;提供消息持久化的功能;当消息交换的双方位于同一容器时,采用优化策略,提高消息交换效率。

Description

一种分布式企业服务总线消息交换方法
技术领域
本发明涉及消息交换方法,主要是一种分布式企业服务总线消息交换方法。
背景技术
“企业服务总线”作为应用***的连接中枢,是构筑SOA(Service Oriented Architecture,面向服务架构)为基础的企业信息***的必要元素。企业服务总线的定义可以简单的理解为:由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。通过企业服务总线实现应用***的快速接入,并通过更高级的事件、流程处理能力,能够很好的将企业信息***与实际业务协调起来,在保证原有投资的条件下,实现更加灵活和敏捷的企业信息***改造。
在分布式的企业服务总线中,服务的提供者和消费者可以以组件的形式部署到装有企业服务总线容器(以下简称容器)的任意一个网络节点上,并通过消息的形式实现交互。而消息必须被封装成规范的消息交换形式后,经过容器的路由功能,才能完成在消费者和提供者之间传递。
消息交换作为企业服务总线的核心功能,为部署到企业服务总线上的服务提供可靠的交互机制。传统的消息交换方法一般采用远程过程调用(RPC)技术,降低***开发的复杂度,但该技术只支持同步调用,且消息交换双方的调用接口是紧耦合的。目前比较流行的消息交换方法是采用面向消息中间件(MOM),其可以支持消息的同步/异步传递和事件驱动的体系架构,同时提供消息持久化的功能。
消息交换的性能是决定分布式企业服务总线的性能主要因素之一,而单纯的采用面向消息中间件技术对整个***的性能有较大的影响。当消息交换的双方都处于分布式环境中的同一节点时,通过面向消息中间件(如JMS)传递消息性能损失较大,这正是本发明所要解决的问题。
发明内容
本发明要解决上述技术所存在的缺陷,提供一种高效的、可靠的、支持同步/异步的分布式企业服务总线消息交换方法。
本发明解决其技术问题所采用的技术方案:这种分布式企业服务总线消息交换方法,步骤如下:
(1)、部署到企业服务总线上的组件之间必须以消息的方式进行交换,且该消息必须按照一定的格式进行构造,组件在发送消息时设置同步或异步发送、消息的交换模式和是否需要持久化,***为每个服务提供一个用于接收消息的队列;
(2)、当服务消费者发送服务请求之后,其所在的容器必须根据消息中设定的地址信息对消息进行路由,确定服务提供者;
(3)、根据服务提供者所处的容器,采用不同的消息交换方法,服务消费者和提供者之间的消息交换可分成两种情况:
参与消息交换的两个组件位于分布式环境中的同一节点时,即位于同一容器时,消息不需要通过JMS服务器,而是直接被保存到目标服务对应的消息队列中;若该消息需要持久化,则将其保存到文件***中,通过这种优化策略,可以显著的提高消息交换的效率。
参与消息交换的两个服务位于分布式环境中的不同节点时,即位于不同容器时,消息被封装成JMS的消息对象,并通过JMS服务器发送到以目标服务名称命名的JMS队列中,当JMS的消息消费者在接收到消息后,会将消息保存到目标服务的消息队列中。该过程中的消息持久化是由JMS服务器实现的。
本发明有益的效果是:
■支持同步/异步的消息发送方式;
■提供消息持久化的功能;
■当消息交换的双方位于同一容器时,采用优化策略,提高消息交换效率。
附图说明
图1规范化消息交换结构图;
图2同一容器中的消息交换图;
图3不同容器间的消息交换图。
具体实施方式
下面结合附图和实施例对本发明作进一步介绍:
图1描述了规范化消息交换中包括的内容。
1)服务消费者在发送消息前,必须将规范化的消息放到消息交换中,然后设定服务提供者的地址(可以是服务端点、服务名称或接口名称),以及在属性中设定采用的传递方式(同步或异步)。
2)在服务消费者将消息发出后,其所在的容器将对消息进行路由。如果服务消费者指定的地址信息为服务名称或接口名称,则消息路由服务将查找对应的服务端点,并将该端点信息保存到服务端点中。接着,将服务端点对应的组件名称设为服务提供者ID,将服务消费者的名称设为服务消费者ID。其中组件命名方式是由组件所在的容器名和用户定义的组件名串连而成。
图2描述了服务消费者和提供者在同一个容器中时的消息交换方式:
1)在服务消费者构造好规范化的消息交换后,可以通过对应的消息传输通道将消息发送出去。
2)服务消费者所在的容器发现有消息发出后,首先判断消息发送的方式是同步还是异步:若是异步发送,则新启动一个线程,否则继续执行。接着,调用消息交换模块的消息路由服务功能。在消息路由过程中,容器根据服务信息注册表中的相关信息,确定目标端点和服务提供者。
3)在确定服务提供者后,比较服务提供者ID中组件所在的容器名和服务消费者所在的容器名是否相同。若相同,则在本地容器中查找服务提供者,并将消息交换直接保存到其对应的消息传输通道中的消息队列中,同时将消息持久化。
4)服务提供者在处理消息之后,可以将返回信息放到原有的消息交换中,并直接发出。
5)容器在接收到返回消息后,可以根据消息交换中的服务消费者ID,在本地查找服务消费者,并将消息返回到服务消费者对应的消息传输通道的消息队列中。
图3描述了服务消费者和提供者在不同容器中时的消息交换方式:
1)在组件启动之前,容器都将用其名字为其创建一个JMS的消息队列,并将该队列保存到JMS消息代理中。
2)组件在发送消息后,服务消费者所在的容器经过上述的路由过程,确定服务提供者位于其它容器上。此时,消息路由服务通过JMS消息代理,将规范化消息封装成JMS的消息对象。然后以服务提供者ID作为目标地址,通过JMS服务器(JTangMQ)将消息发送出去。
3)服务提供者对应的JMS消息队列在接收到消息后,将消息还原成规范化的消息,并将其保存到服务提供者对应的消息传输通道中的消息队列中。
4)服务提供者在处理消息之后,可以将返回信息放到原有的消息交换中,并直接发出。
5)容器在接收到返回消息后,将消息交给JMS消息代理。JMS消息代理根据服务消费者ID,以相同的机制,通过JMS服务器,将消息返回到服务消费者对应的JMS消息队列中。
6)最后,服务消费者对应的JMS消息队列在接收到消息时,将消息返回到服务消费者对应的消息传输通道中的消息队列中。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (6)

1.一种分布式企业服务总线消息交换方法,其特征在于:步骤如下:
(1)、部署到企业服务总线上的组件之间必须以消息的方式进行交换,***为每个服务提供一个用于接收消息的队列;
(2)、当服务消费者发送服务请求之后,其所在的容器必须根据消息中设定的地址信息对消息进行路由,确定服务提供者;
(3)、根据服务提供者所处的容器,采用不同的消息交换方法,服务消费者和提供者之间的消息交换可分成两种情况:
参与消息交换的两个组件位于分布式环境中的同一节点时,即位于同一容器时,消息不需要通过JMS服务器,而是直接被保存到目标服务对应的消息队列中;
参与消息交换的两个服务位于分布式环境中的不同节点时,即位于不同容器时,消息被封装成JMS的消息对象,并通过JMS服务器发送到以目标服务名称命名的JMS队列中,当JMS的消息消费者在接收到消息后,会将消息保存到目标服务的消息队列中。
2.根据权利要求1所述的分布式企业服务总线消息交换方法,其特征在于:组件在发送消息时设置同步或异步发送、消息的交换模式和是否需要持久化。
3.根据权利要求1或2所述的分布式企业服务总线消息交换方法,其特征在于:参与消息交换的两个组件位于分布式环境中的同一节点时,即位于同一容器时,若该消息需要持久化,则将其保存到文件***中。
4.根据权利要求1所述的分布式企业服务总线消息交换方法,其特征在于:服务消费者和提供者在同一个容器中时的消息交换方式具体步骤如下:
1)在服务消费者构造好规范化的消息交换后,通过对应的消息传输通道将消息发送出去;
2)服务消费者所在的容器发现有消息发出后,首先判断消息发送的方式是同步还是异步:若是异步发送,则新启动一个线程,否则继续执行;接着,调用消息交换模块的消息路由服务功能,在消息路由过程中,容器根据服务信息注册表中的相关信息,确定目标端点和服务提供者;
3)在确定服务提供者后,比较服务提供者ID中组件所在的容器名和服务消费者所在的容器名是否相同;若相同,则在本地容器中查找服务提供者,并将消息交换直接保存到其对应的消息传输通道中的消息队列中,同时将消息持久化;
4)服务提供者在处理消息之后,将返回信息放到原有的消息交换中,并直接发出;
5)容器在接收到返回消息后,可以根据消息交换中的服务消费者ID,在本地查找服务消费者,并将消息返回到服务消费者对应的消息传输通道的消息队列中。
5.根据权利要求1所述的分布式企业服务总线消息交换方法,其特征在于:服务消费者和提供者在不同容器中时的消息交换方式具体步骤如下:
1)在组件启动之前,容器都将用其名字为其创建一个JMS的消息队列,并将该队列保存到JMS消息代理中;
2)组件在发送消息后,服务消费者所在的容器经过上述的路由过程,确定服务提供者位于其它容器上,此时,消息路由服务通过JMS消息代理,将规范化消息封装成JMS的消息对象,然后以服务提供者ID作为目标地址,通过JMS服务器将消息发送出去;
3)服务提供者对应的JMS消息队列在接收到消息后,将消息还原成规范化的消息,并将其保存到服务提供者对应的消息传输通道中的消息队列中;
4)服务提供者在处理消息之后,将返回信息放到原有的消息交换中,并直接发出;
5)容器在接收到返回消息后,将消息交给JMS消息代理,JMS消息代理根据服务消费者ID,以相同的机制,通过JMS服务器,将消息返回到服务消费者对应的JMS消息队列中;
6)最后,服务消费者对应的JMS消息队列在接收到消息时,将消息返回到服务消费者对应的消息传输通道中的消息队列中。
6.根据权利要求1所述的分布式企业服务总线消息交换方法,其特征在于:规范化消息交换中包括的内容:
1)服务消费者在发送消息前,将规范化的消息放到消息交换中,然后设定服务提供者的地址,以及在属性中设定采用的传递方式,即同步或异步;
2)在服务消费者将消息发出后,其所在的容器将对消息进行路由;如果服务消费者指定的地址信息为服务名称或接口名称,则消息路由服务将查找对应的服务端点,并将该端点信息保存到服务端点中;接着,将服务端点对应的组件名称设为服务提供者ID,将服务消费者的名称设为服务消费者ID,其中组件命名方式是由组件所在的容器名和用户定义的组件名串连而成。
CNA2007101567014A 2007-12-04 2007-12-04 一种分布式企业服务总线消息交换方法 Pending CN101184056A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007101567014A CN101184056A (zh) 2007-12-04 2007-12-04 一种分布式企业服务总线消息交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007101567014A CN101184056A (zh) 2007-12-04 2007-12-04 一种分布式企业服务总线消息交换方法

Publications (1)

Publication Number Publication Date
CN101184056A true CN101184056A (zh) 2008-05-21

Family

ID=39449144

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101567014A Pending CN101184056A (zh) 2007-12-04 2007-12-04 一种分布式企业服务总线消息交换方法

Country Status (1)

Country Link
CN (1) CN101184056A (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964763A (zh) * 2010-09-30 2011-02-02 北京神州泰岳软件股份有限公司 消息处理方法
CN102024234A (zh) * 2010-06-04 2011-04-20 西本新干线股份有限公司 电子交易服务平台
CN102025651A (zh) * 2010-06-04 2011-04-20 西本新干线股份有限公司 应用于企业服务总线的事件驱动方法
CN101674255B (zh) * 2008-09-12 2012-01-11 北京东方通科技股份有限公司 一种企业服务总线的消息转发方法、服务器及其***
CN102364921A (zh) * 2011-11-21 2012-02-29 携程计算机技术(上海)有限公司 企业服务总线的实现方法、设备及相应的平台
CN102404404A (zh) * 2011-09-07 2012-04-04 航天科工仿真技术有限责任公司 一种分布式web应用与远程设备消息通信方法
CN101510838B (zh) * 2009-02-26 2012-07-04 北京北纬点易信息技术有限公司 实现持久化数据队列的方法
CN102571933A (zh) * 2011-12-22 2012-07-11 中国电子科技集团公司第十五研究所 可靠消息传输方法
CN102594695A (zh) * 2012-03-08 2012-07-18 北京神州数码思特奇信息技术股份有限公司 一种企业服务总线的消息路由方法及***
CN101610288B (zh) * 2009-06-16 2012-08-22 浙江大学 一种企业服务总线智能路由方法
CN103067272A (zh) * 2012-12-30 2013-04-24 山东中创软件工程股份有限公司 一种消息路由保证方法及***
CN104363431A (zh) * 2014-12-09 2015-02-18 国家电网公司 一种视觉图像多点监控联动调控***
CN104811475A (zh) * 2015-03-27 2015-07-29 深圳市华运国际物流有限公司 基于Restful技术构建的企业服务总线中间件
CN104935616A (zh) * 2014-03-18 2015-09-23 华为技术有限公司 一种数据处理方法、设备和esb***
CN105630574A (zh) * 2015-12-21 2016-06-01 中国电子科技网络信息安全有限公司 一种基于容器的消息队列总线管理***及方法
CN105959192A (zh) * 2015-12-28 2016-09-21 ***股份有限公司 一种服务总线之间服务迁移的方法和设备
CN106131175A (zh) * 2016-07-01 2016-11-16 微梦创科网络科技(中国)有限公司 一种信息获取、信息推送方法和设备
CN106201616A (zh) * 2016-07-12 2016-12-07 中国电子科技集团公司第二十八研究所 一种柔性化的组件异步信息分发方法
CN106250254A (zh) * 2016-07-21 2016-12-21 腾讯科技(深圳)有限公司 一种任务处理方法及***
CN107454132A (zh) * 2016-03-31 2017-12-08 阿里巴巴集团控股有限公司 支持多租户的网络传输的方法和设备
CN108234541A (zh) * 2016-12-14 2018-06-29 陕西省地方电力(集团)有限公司 一种企业总线平台的服务管理方法及***
CN112527530A (zh) * 2020-12-21 2021-03-19 北京百度网讯科技有限公司 消息处理方法、装置、设备、存储介质及计算机程序产品
CN115277745A (zh) * 2022-06-24 2022-11-01 湖南大学 一种支持异步调度的服务总线编排***及方法

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674255B (zh) * 2008-09-12 2012-01-11 北京东方通科技股份有限公司 一种企业服务总线的消息转发方法、服务器及其***
CN101510838B (zh) * 2009-02-26 2012-07-04 北京北纬点易信息技术有限公司 实现持久化数据队列的方法
CN101610288B (zh) * 2009-06-16 2012-08-22 浙江大学 一种企业服务总线智能路由方法
CN102025651A (zh) * 2010-06-04 2011-04-20 西本新干线股份有限公司 应用于企业服务总线的事件驱动方法
CN102024234A (zh) * 2010-06-04 2011-04-20 西本新干线股份有限公司 电子交易服务平台
CN102024234B (zh) * 2010-06-04 2014-03-12 西本新干线电子商务有限公司 电子交易服务平台
CN102025651B (zh) * 2010-06-04 2012-07-25 西本新干线电子商务有限公司 应用于企业服务总线的事件驱动方法
CN101964763A (zh) * 2010-09-30 2011-02-02 北京神州泰岳软件股份有限公司 消息处理方法
CN101964763B (zh) * 2010-09-30 2013-04-24 北京神州泰岳软件股份有限公司 消息处理方法
CN102404404A (zh) * 2011-09-07 2012-04-04 航天科工仿真技术有限责任公司 一种分布式web应用与远程设备消息通信方法
CN102404404B (zh) * 2011-09-07 2017-07-28 航天科工仿真技术有限责任公司 一种分布式web应用与远程设备消息通信方法
CN102364921A (zh) * 2011-11-21 2012-02-29 携程计算机技术(上海)有限公司 企业服务总线的实现方法、设备及相应的平台
CN102571933A (zh) * 2011-12-22 2012-07-11 中国电子科技集团公司第十五研究所 可靠消息传输方法
CN102594695A (zh) * 2012-03-08 2012-07-18 北京神州数码思特奇信息技术股份有限公司 一种企业服务总线的消息路由方法及***
CN102594695B (zh) * 2012-03-08 2015-02-11 北京思特奇信息技术股份有限公司 一种企业服务总线的消息路由方法及***
CN103067272A (zh) * 2012-12-30 2013-04-24 山东中创软件工程股份有限公司 一种消息路由保证方法及***
CN104935616A (zh) * 2014-03-18 2015-09-23 华为技术有限公司 一种数据处理方法、设备和esb***
WO2015139461A1 (zh) * 2014-03-18 2015-09-24 华为技术有限公司 一种数据处理方法、设备和esb***
CN104363431A (zh) * 2014-12-09 2015-02-18 国家电网公司 一种视觉图像多点监控联动调控***
CN104811475A (zh) * 2015-03-27 2015-07-29 深圳市华运国际物流有限公司 基于Restful技术构建的企业服务总线中间件
CN105630574A (zh) * 2015-12-21 2016-06-01 中国电子科技网络信息安全有限公司 一种基于容器的消息队列总线管理***及方法
CN105959192B (zh) * 2015-12-28 2019-01-01 ***股份有限公司 一种服务总线之间服务迁移的方法和设备
CN105959192A (zh) * 2015-12-28 2016-09-21 ***股份有限公司 一种服务总线之间服务迁移的方法和设备
CN107454132A (zh) * 2016-03-31 2017-12-08 阿里巴巴集团控股有限公司 支持多租户的网络传输的方法和设备
CN106131175A (zh) * 2016-07-01 2016-11-16 微梦创科网络科技(中国)有限公司 一种信息获取、信息推送方法和设备
CN106131175B (zh) * 2016-07-01 2019-05-21 微梦创科网络科技(中国)有限公司 一种信息获取、信息推送方法和设备
CN106201616A (zh) * 2016-07-12 2016-12-07 中国电子科技集团公司第二十八研究所 一种柔性化的组件异步信息分发方法
CN106201616B (zh) * 2016-07-12 2019-11-26 南京莱斯电子设备有限公司 一种柔性化的组件异步信息分发方法
CN106250254A (zh) * 2016-07-21 2016-12-21 腾讯科技(深圳)有限公司 一种任务处理方法及***
CN106250254B (zh) * 2016-07-21 2019-02-22 腾讯科技(深圳)有限公司 一种任务处理方法及***
CN108234541A (zh) * 2016-12-14 2018-06-29 陕西省地方电力(集团)有限公司 一种企业总线平台的服务管理方法及***
CN112527530A (zh) * 2020-12-21 2021-03-19 北京百度网讯科技有限公司 消息处理方法、装置、设备、存储介质及计算机程序产品
CN112527530B (zh) * 2020-12-21 2024-02-23 北京百度网讯科技有限公司 消息处理方法、装置、设备、存储介质及计算机程序产品
CN115277745A (zh) * 2022-06-24 2022-11-01 湖南大学 一种支持异步调度的服务总线编排***及方法

Similar Documents

Publication Publication Date Title
CN101184056A (zh) 一种分布式企业服务总线消息交换方法
CN106453288B (zh) 一种支持异步模式的分布式微服务框架***及其实现方法
CN101656737B (zh) 一种实现多协议接入的方法及接口平台
CN101820435B (zh) 分布式网络处理***的mac地址表项信息同步方法及装置
CN101022431A (zh) 接口网关及接口网关的数据处理方法
US20050081095A1 (en) Method of setting backup of home location register
CN101009588B (zh) 配置分布式代理服务器信息的方法及***
CN101277434A (zh) 利用综合的sip视频监控***平台操控前端设备的方法
CN110134534A (zh) 基于nio针对大数据分布式***进行消息处理优化的***及方法
CN102404404A (zh) 一种分布式web应用与远程设备消息通信方法
CN110224972A (zh) 一种面向多协议多类型设备接入***、方法及装置
CN101753339B (zh) 一种实现多点控制单元会议备份功能的方法及***
CN101621516B (zh) 一种企业服务总线与外部Web服务的交互方法
WO2005046120A1 (fr) Procede pour redondance de donnees d'enregistreur de localisation nominale (hlr)
CN1972276B (zh) 一种协议访问管理方法和***
CN101364924A (zh) 一种基于企业服务总线的数据采集自适应体系结构
CN101141474B (zh) 一种基于超文本传输协议的通讯***及方法
CN101339520B (zh) 一种将ejb接入企业服务总线的方法
CN1487706B (zh) 企业即时通信的方法、***和控制流程
CN113259408B (zh) 数据传输方法和***
CN107911462A (zh) 基于ActiveMQ的大批量数据同步方法
CN101499931A (zh) 基于分布式环境的功能扩展方法和***
CN103092951A (zh) 一种基于信息展现层的通用数据交换方法及***
CN103905498A (zh) 服务信息管理方法及服务信息管理***
CN102130807A (zh) 一种个人互联网中实现实时动态组网时的设备发现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080521