一种分布式应用系统之间的消息传递方法和消息中间件系统技术方案

技术编号:13884310 阅读:129 留言:0更新日期:2016-10-23 18:49
一种分布式应用程序之间的消息中间件系统及传递消息的方法,该系统包括,发送方,接收方,组,接口函数,其特征在于,所述组里面的节点由一个主成员与一个及以上个从成员构成,所述主成员使用全局唯一的名称建立组,在建组的同时设定该组共有包括主成员在内的N个成员,从成员使用唯一的名称加入某个已经建立好的组,并在加入的时候为自己指定一个不会重复的序号。

【技术实现步骤摘要】

本专利技术涉及网络通信技术,尤其涉及一种分布式应用系统之间的消息传递方法和消息中间件系统
技术介绍
消息中间件(message oriented middleware)是指支持与保障分布式应用程序之间同步/异步收发消息的中间件。消息是分布式应用之间进行数据交换的基本信息单位,分布式应用程序之间的通信接口由消息中间件提供。具体的说,消息中间件就是进程或线程之间的数据通信中间件,提供任务(进程或线程)间数据传输的统一服务,无论任务在什么物理位置,无论通信载体是什么。目前,消息中间件已经广泛应用于各类分布式应用系统之中。例如,在采用多DSP阵列结构的并行信号处理系统中,消息中间件就发挥了巨大作用。并行信号处理系统的应用开发主要是多处理器开发,并行任务的分配方法。在以往的多处理器开发调试中,软硬件结合紧密,支撑软件功能简单,系统开放性不够,通信不够灵活等问题,最终导致系统功能和性能受限,开发周期和开发费用上升。为满足新时期阵列信号处理系统对网络化、一体化的需求,阵列信号处理系统内部应配置消息中间件,用于屏蔽内部数据网络和网络协议的细节与异构,将复杂的底层处理工作和具体的工程应用分开,通过简单的接口函数建立信息和控制通道,从而使工程技术人员可以专心应用层的设计实现,摆脱不得不对底层硬件系统进行深入研究的困境。
技术实现思路
(1)要解决的技术问题本专利技术的主要目的在于提供一种基于组的消息传递方法和消息中间件,以屏蔽内部数据网络和网络协议的细节与异构。(2)技术方案本专利技术提供一种分布式应用程序之间的消息中间件系统,包括,发送方,接收方,组,接口函数,其特征在于,所述组里面的节点由一个主成员与一个及以上个从成员构成,所述主成员使用全局唯一的名称建立组,在建组的同时设定该组共有包括主成员在内的N个成员,从成员使用唯一的名称加入某个已经建立好的组,并在加入的时候为自己指定一个不会重复的序号。本专利技术还提供一种利用上述消息中间件系统进行分布式应用程序之间消息传递的方法,包括以下步骤:1)首先人为设定一个主成员,由主成员创建一个组,并设定包括主成员在内的组成员个数;2)主成员在线程内部创建了一个栅障(Barrier)以确保在从成员在加入组时成员间的同步,然后调用栅障等待的API函数挂起本线程,直到所有的成员都创建或加入组;3)从成员加入已经创建好的组,在加入的同时在内部获取已创建的栅障的标识符,获取栅障标识符成功后调用栅障等待的API函数挂起本线程,直到所有的成员都创建或加入组时,释放本线程;4)接收方发起数据传输过程,向发送方发送消息,内容为接收方设备的ID、数据接收首地址、接收数据长度;5)发送方成功接收到消息后,根据报文内容向接收方的接收首地址发送指定长度的数据,该数据长度取各个接收数据长度与发送数据长度的最小值;6)数据发送完成后接收方进入SRIO门铃中断,在中断服务程序内部发送事件给接收线程;7)接收线程接收到发送方对应事件后返回,结束接收过程。针对系统对消息中间件点对点、一对多、多对一的数据通信要求,该消息中间件引入了组的概念。将两个及以上节点之间的数据传输组成的数据链路网定义为一个组,并将一向多发的数据通信形式称为组播,多向一发称为会集。在一个组里面的节点由一个主成员与一个及以上个从成员构成。主成员负责使用全局唯一的名称建立一个组,在建组的同时设定该组共有N个成员(含主成员)。从成员使用唯一的名称加入某个已经建立好的组,并在加入的时候为自己指定一个不会重复的序号(1~N-1)。该消息中间件组的概念存在一个限制条件,即一个组内只有一个主成员,只允许主成员与从成员之间进行数据传输,从成员与从成员之间不能进行直接的数据传输。组的创建过程为:首先人为设定一个主成员,由主成员创建一个组,并设定组成员个数(含主成员),在内部创建了一个栅障(Barrier)以确保在从成员在加入组时成员间的同步,然后调用栅障等待的API函数挂起本线程,直到所有的成员都创建或加入组时即可释放;从成员加入已经创建好的组,在加入的同时在内部获取已创建的栅障的标识符,获取栅障标识符成功后调用栅障等待的API函数即可挂起本线程,直到所有的成员都创建或加入组即可释放。创建、加入组时的同步机制框图参见图1。在该消息中间件的设计中,点对点通信是组通信的一个特例,即一个通信组中只包含两个节点,其中一个是组的主成员,另一个是从成员。在这里组播通信以及数据会集通信天然地退化为点对点通信。同时,消息中间件对三种物理链路(RapidIO、千兆以太网、共享存储区)进行了抽象和统一,使用一套相同的数据收发函数实现不同类型的数据通信业务,而不像MPI(Message Passing Interface)那样需要为点对点、组播以及数据会集设计不同类型的收发函数。(3)有益效果在用户在调用消息中间件的接口函数创建组时,既可以指定物理链路(SRIO、千兆以太网、共享存储器以及自动链路选择),也可以选择传输模式(大数据、短消息以及缺省模式)。采用统一的接口函数支持点对点、一对多的组播以及多对一的会集三种不同通信模式,在中间件的API函数内部判断选择正确的传输模式,支持跨核、跨芯片以及跨机箱的操作。附图说明图1为组创建过程的程序框图;图2为SRIO点对点数据收发过程示意图;图3为SRIO组播数据收发示意图;图4为会集数据收发示意图;图5为范例一数据通信拓扑结构图;图6为范例二数据通信拓扑结构图;图7为双向通信拓扑结构图。具体实施方式该消息中间件支持三种物理通信链路(SRIO、千兆以太网、共享存储器),下面以SRIO链路为例讲述点对点、一对多的组播及多对一的会集三种通信方式,千兆以太网及共享存储器链路下的这三种通信方式类似,不再赘述。点对点的数据传输过程由接收方发起,接收方先向发送方发送一条SRIO短消息,内容为接收方的SRIO设备ID号、接收首地址、接收数据长度。发送方成功接收到短消息后根据报文内容即可向接收方的接收首地址发送指定长度的数据,该数据长度取接收数据长度与发送数据长度的最小值。数据发送完成后接收方会进入SRIO门铃中断,在中断内部发送事件给接收线程,接收线程接收到了事件后返回,结束接收过程。面向SRIO的点对点数据发送、接收同步机制框图参见图2。一对多的组播方式下,数据传输过程由多个接收方发起,首先各个接收方向发送方分别发送一条SRIO短消息,报文内容为接收方SRIO设备的ID、数据接收首地址、接收数据长度。发送方在成功接收到所有接收方发出的短消息后,根据各自报文内容向各个接收方定的接收首地址发送指定长度的数据,该数据长度取各个接收数据长度与发送数据长度的最小值。所有数据都发送完成后各个接收方会进入SRIO门铃中断,在中断服务程序内部发送事件给接收线程,接收线程接收到事件后返回,结束接收过程。面向SRIO的一对多数据发送、接收同步机制框图参见图3。多对一的数据会集方式下,数据传输过程由接收方发起,先向各个发送方分别发送一条SRIO短消息,报文内容为接收方SRIO设备的ID、数据接收首地址、接收数据长度。各个发送方成功接收到短消息后,根据报文内容向接收方的接收首地址发送指定长度的数据,该数据长度取各个接收数据长度与发送数据长度的最小值。数据发送完成后接收方会进入S本文档来自技高网...

【技术保护点】
一种分布式应用系统之间的消息中间件系统,包括,发送方,接收方,组,接口函数,其特征在于,所述组里面的节点由一个主成员与一个及以上个从成员构成,所述主成员使用全局唯一的名称建立组,在建组的同时设定该组共有包括主成员在内的N个成员,从成员使用唯一的名称加入某个已经建立好的组,并在加入的时候为自己指定一个不会重复的序号。

【技术特征摘要】
1.一种分布式应用系统之间的消息中间件系统,包括,发送方,接收方,组,接口函数,其特征在于,所述组里面的节点由一个主成员与一个及以上个从成员构成,所述主成员使用全局唯一的名称建立组,在建组的同时设定该组共有包括主成员在内的N个成员,从成员使用唯一的名称加入某个已经建立好的组,并在加入的时候为自己指定一个不会重复的序号。2.一种如权利要求1所述一种分布式应用系统之间的消息中间件系统,其特征在于,消息中间件对RapidIO、千兆以太网、共享存储区三种物理链路进行了抽象和统一,采用统一的接口函数支持点对点、一对多的组播以及多对一的会集三种不同通信模式,在API函数内部判断选择正确的传输模式,包括大数据、短消息以及缺省模式。3.一种如权利要求2所述一种分布式应用系统之间的消息中间件系统,其特征在于,所述中间件系统安装于计算板上,所述节点为DSP芯片。4.一种如权利要求3所述一种分布式应用系统之间的消息中间件系统,其特征在于,所述中间件系统包括8个节点,分别位于计算板1和计算板2上,分别为计算板1上的DSP0-1、DSP1-1、DSP2-1和DSP3-1计算板2上的DSP0-2、DSP1-2、DSP2-2和DSP3-2;建立六个组,组名称分别为Group1、Group2、Group3、Group4、Group5和Group6,Group1由计算板1的DSP0-1、DSP1-1、DSP2-1和DSP3-1四个成员组成,其中DSP0-1是通信组的主成员,采用数据组播的形式由DSP0-1向其余三个成员发送数据,Group2、Group3和Group4分别由两块计算板的DSP1-1、DSP1-2,DSP2-1、DSP2-2,DSP3-1、DSP3-2组成,其中计算板2的三个节点是通信组的主成员,采用点对点的形式由计算板1的节点向计算板2的相应节点发送数据,Group5由计算板2的DSP0-2、DSP1-2、DSP2-2和DSP3-2四个成员组成,其中DSP3-2是通信组的主成...

【专利技术属性】
技术研发人员:程彩
申请(专利权)人:北京中科海讯数字科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1