[发明专利]一种分布式企业服务总线消息交换方法无效
申请号: | 200710156701.4 | 申请日: | 2007-12-04 |
公开(公告)号: | CN101184056A | 公开(公告)日: | 2008-05-21 |
发明(设计)人: | 尹建伟;陈韩伟;金路;吴健;邓水光;李莹;吴朝晖 | 申请(专利权)人: | 浙江大学 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L12/56;H04L12/40 |
代理公司: | 杭州九洲专利事务所有限公司 | 代理人: | 陈继亮 |
地址: | 310027浙江省杭州市西湖区浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 企业 服务 总线 消息 交换 方法 | ||
技术领域
本发明涉及消息交换方法,主要是一种分布式企业服务总线消息交换方法。
背景技术
“企业服务总线”作为应用系统的连接中枢,是构筑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)在服务消费者构造好规范化的消息交换后,可以通过对应的消息传输通道将消息发送出去。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710156701.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在DRM中进行身份识别的方法
- 下一篇:密封下罗拉轴承