CN101431476B - 一种基于消息队列的数据传输方法、服务器及系统 - Google Patents
一种基于消息队列的数据传输方法、服务器及系统 Download PDFInfo
- Publication number
- CN101431476B CN101431476B CN2008102396012A CN200810239601A CN101431476B CN 101431476 B CN101431476 B CN 101431476B CN 2008102396012 A CN2008102396012 A CN 2008102396012A CN 200810239601 A CN200810239601 A CN 200810239601A CN 101431476 B CN101431476 B CN 101431476B
- Authority
- CN
- China
- Prior art keywords
- message
- packets
- queue
- message packets
- unit
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于消息队列的数据传输服务器及系统,包括:消息队列单元,接收应用设备端或者其他数据传输服务器发送的消息数据包,其中包含能够识别返回信息的消息标识字段;消息队列单元包括传输队列和缓冲队列;传输队列用于接收其他数据传输服务器发来的消息数据包;缓冲队列用于接收应用设备端发来的消息数据包;数据包获取单元,用于从消息队列中获取消息数据包;数据包处理单元,用于根据消息数据包的地址信息和预存储的路由配置信息对消息数据包进行路由配置;消息队列单元通过发送消息队列将路由配置后的消息数据包传输给目的应用端。以提供一种可靠的消息数据包转发机制,使消息数据包能够根据自身的一个路由属性随意分发和返回。
Description
技术领域
本发明关于计算机网络的数据传输技术,具体的讲是关于一种基于消息队列的数据传输方法、服务器及系统。
背景技术
对于具有分支机构的大型企业或单位而言,由于其业务种类繁多,因此会存在各种不同的业务应用系统。为了实现各个分支结构之间的数据通信需要一个复杂的网络关系进行支撑,从而使网络之间的消息数据能够顺利、可靠的分发到相应的目的地。
在现有技术中,基于IP地址的消息数据转发是常用的数据传输方式,也有些应用系统之间是根据IP地址建立HTTP连接进行消息数据的传递和分发。然而在实现本发明的过程中发明人发现,基于IP地址的消息数据转发需要目标与IP地址的一一对应关系的支持,也就是说相对于一个目标,发起方就需要知道一个IP地址,这样只能进行点对点的消息数据转发;并且应用程序知道目标后,需要对消息数据传输的可靠性进行控制,这样便增加了应用程序的负担。而且,如果要修改或者新增应用系统,就需要重新部署调整应用布局,导致灵活性和扩展性较差。
在现有技术中,基于中间件的消息数据转发也是一种数据传输方式,这种消息数据转发一般这样实现:当发送方应用程序将消息发送到中间件客户端后,中间件消息接收进程(MessageReceiver)执行消息接收操作(MessageReceiving)。如果消息接收成功,与之合作的消息分发进程(MessageDispatcher)通过消息通道将消息分发(MessageDispatching)到与之对应的中间件服务器端。然而在实现本发明的过程中发明人发现,这种基于中间件的分发方式将消息的可靠传递交给了中间件来完成,但是如何利用中间件分发却没有完善的方案,只是简单的利用中间件本身的特性进行分发,这样对于分发数量大、分支节点深的情况,中间件就无法完成。
发明内容
为了克服现有技术的缺陷,本发明实施例提供了一种基于消息队列的数据传输方法、服务器及系统。以提供一种可靠的消息数据包转发机制,使消息数据包能够根据自身的一个路由属性随意分发和返回。
本发明实施例的目的之一是:提供一种基于消息队列的数据传输服务器,该服务器包括:消息队列单元,用于接收应用设备端或者其他数据传输服务器发送的消息数据包,所述消息数据包由包头和包体组成;所述的包体包括消息数据内容,所述的包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收其他数据传输服务器发来的消息数据包;所述缓冲队列用于接收应用设备端发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包传输给目的应用端。
本发明实施例的目的之一是:提供一种基于消息队列的数据传输系统,该系统包括:源应用设备、数据传输服务器和目的应用设备,所述的数据传输服务器分别与所述的源应用设备和目的应用设备相连接;所述的源应用设备生成消息数据包,并将该消息数据包发送给所述的数据传输服务器,所述消息数据包由包头和包体组成;所述的包体包括消息数据内容,所述的包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;所述的数据传输服务器包括:消息队列单元,用于接收所述源应用设备发送的消息数据包;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收其他数据传输服务器发来的消息数据包;所述缓冲队列用于接收所述源应用设备发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包传输给目的应用设备;所述的目的应用设备从所述的发送消息队列获取所述的路由配置后的消息数据包。
本发明实施例的目的之一是:提供一种基于消息队列的数据传输系统,该系统包括:源应用设备、区域数据传输服务器和中心数据传输服务器,所述的源应用设备通过所述的区域数据传输服务器与所述的中心数据传输服务器相连接;所述的源应用设备生成消息数据包,并将该消息数据包发送给所述的区域数据传输服务器,所述消息数据包由包头和包体组成;所述的包体包括消息数据内容,所述的包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;所述的区域数据传输服务器包括:消息队列单元,用于通过接收消息队列接收源应用端发送的消息数据包;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收其他数据传输服务器发来的消息数据包;所述缓冲队列用于接收所述源应用设备发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包传输给所述的中心数据传输服务器;所述的中心数据传输服务器包括:消息队列单元,用于接收所述的区域数据传输服务器发送的消息数据包;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收所述区域数据传输服务器发来的消息数据包;所述缓冲队列用于接收所述源应用设备端发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包转发。
本发明实施例的目的之一是:提供一种基于消息队列的数据传输系统,该系统包括:目的应用设备、区域数据传输服务器和中心数据传输服务器,所述的目的应用设备通过所述区域数据传输服务器与所述中心数据传输服务器相连接;所述的中心数据传输服务器包括:消息队列单元,用于接收源应用设备或者其他数据传输服务器发来的消息数据包,所述消息数据包由包头和包体组成;所述的包体包括消息数据内容,所述的包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收所述其他数据传输服务器发来的消息数据包;所述缓冲队列用于接收所述源应用设备端发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包转发;所述的区域数据传输服务器包括:消息队列单元,用于接收所述中心数据传输服务器转发的消息数据包,所述消息数据包由包头和包体组成;所述的包体包括消息数据内容,所述的包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收所述中心数据传输服务器发来的消息数据包;所述缓冲队列用于接收源应用设备端发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包转发;所述的目的应用设备从所述区域数据传输服务器的发送消息队列获取所述的路由配置后的消息数据包。
本发明实施例的有益效果在于,使消息数据包透明的分发到各个目的应用,消息转发到众多分支后,能够及时追踪。并且利用消息队列实现跨区域跨平台的数据传输,消息数据包能够根据自身的一个路由属性随意分发和返回。特别是对于分支属性复杂、分支数量繁多和分支机构层次深的消息数据包转发,本发明实施例能够体现出简单、高效的技术特点。
附图说明
图1为本发明实施例1的系统组成的树形结构图;
图2为本发明实施例数据传输服务器的结构图;
图3为本发明实施例消息数据包的数据结构图;
图4为本发明实施例消息队列的消息链表图;
图5为本发明实施例系统的数据传输流程图;
图6为本发明实施例系统基于消息队列的数据传输示意图;
图7为本发明实施例数据传输服务器的处理流程图;
图8为本发明实施例2的系统组成的树形结构图;
图9为本发明实施例3的系统组成的树形结构图。
具体实施方式
下面结合附图说明本发明的具体实施方式。
实施例一
在计算机数据传输的通信网络中,按照区域建立分层次的树形网络拓扑结构,并将负责数据通信的服务器与业务应用设备相分离。如图1所示,为本实施例的一种基于消息队列的数据传输系统,该系统包括:中心服务器、区域服务器和应用设备。一个中心服务器可以和n个区域服务器相连接(n为正整数),一个区域服务器可以和n个应用设备相连接(n为正整数)。各区域服务器都经上一层的总中心服务器进行连接和数据转发,并不直接相连;应用设备可再分为应用前端设备、应用后端设备,应用前端设备为消息数据的发送方,应用后端设备为消息数据的接收方。
如图2所示,中心服务器100包括:消息队列单元101用于通过接收消息队列接收源应用端发送的消息数据包;数据包获取单元102用于从所述的接收消息队列中获取所述的消息数据包;数据包处理单元103用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;消息队列单元101通过发送消息队列将路由配置后的消息数据包传输给目的应用端。
如图5所示,本实施例的基于消息队列的数据传输方法,区域服务器1通过接收消息队列接收应用端1发送的消息数据包;从所述的接收消息队列中获取所述的消息数据包;根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;通过发送消息队列将路由配置后的消息数据包传输给中心服务器。中心服务器从所述的接收消息队列中获取所述的消息数据包;根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;通过发送消息队列将路由配置后的消息数据包传输给区域服务器2。区域服务器2通过接收消息队列接收中心服务器发送的消息数据包;从所述的接收消息队列中获取所述的消息数据包;根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;通过发送消息队列将路由配置后的消息数据包传输给应用端2。
区域服务器与中心服务器100的功能相同,该区域服务器包括:消息队列单元,用于通过接收消息队列接收所述中心数据传输服务器转发的消息数据包;数据包获取单元,用于从所述的接收消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包转发;所述的目的应用设备从所述区域数据传输服务器的发送消息队列获取所述的路由配置后的消息数据包。
中心服务器和区域服务器均为通信服务器,在中心服务器和区域服务器间建立一种消息分发和管理机制,在该处理机制下,中心服务器和区域服务器之间通过队列到队列的通信来进行部署,数据传递不依赖中间件来分发处理,而是由专门的消息交易传递转发模块(MTTS)来管理。
如图6所示,MTTS分别分布于中心服务器601和区域服务器(602,603)上,MTTS由以下几部份组成:
交换中心,由数据包处理单元和一组消息队列组成,数据包处理单元主要完成从消息队列接收、拆分、分发数据包,并执行数据包命令等处理操作;消息队列根据分工的不同,可进一步分为传输队列和缓冲队列,传输队列负责各数据交换服务器之间消息的接收和分发;缓冲队列负责数据交换服务器与应用系统设备之间消息数据的接收与分发。当传输队列接收到消息数据包时,如果是属于本区域应用数据包,则把该数据包存储到数据缓冲池;如果不属于本区域应用数据包,则进行数据转发。
数据缓冲池,接收交换中心分发的数据,并将消息队列数据进行处理和存储,并同时启动消息数据到达提醒,通知目的地应用系统进行读取;消息队列数据可驻留在内存或磁盘上,直到它们被目的应用设备读走。
数据存储模块:负责存储登记消息路由参数配置文件、消息接收转发日志等,如:交换中心与所辖地区对照关系表、消息队列路由匹配参数表、消息包错误日志表等。
MTTS还具有以下管理功能:
交易跟踪,类似于IP网的TRACERT功能,可跟踪查询每笔数据传输业务从起点到终点的全过程。交换中心上的MTTS会对消息的包头进行解析,如果是发现包头是含有调试信息指令,则MTTS在转发给下一个节点的同时也会向回(即源头)发一笔路由信息的调试信息,这样,如果想追踪一笔消息,只要消息头设置调试指令,每到一个节点,节点都会返回一条调试信息,表示已经经过了这个节点。最终,在源头的调试屏幕上打出来就是经过的一条条路由信息。
远程监视和远程配置,可查询和配置远程站点的参数配置信息。如果从源头想知道某个节点路由配置是否正确,从源头向节点发送命令消息。(消息包头的地址信息还是APPID,表示要到那个节点,不过消息头里面加上查看的命令)。当该节点收到该查看节点信息的消息的。节点就会根据命令消息的地址信息,把配置信息按原路发送回去。在源头就能收到节点返回的配置信息,实现远程监视和配置的目的。
在该通信机制下,通信信息数据包由地址和内容两部份组成,分别存放于消息体的不同位置,从而使传输过程中只查看地址信息,不对内容进行任何处理。
在该通信机制下,参与数据交换的业务应用系统只需正确填写地址信息即可,不需关心传输过程的细节。地址信息包括收件地址和发件地址,地址信息存放在消息包头的ApplicationID字段,每个地址由以下部份组成:(1)地区代号,包含接受方和发送方的地区号,用于定位到具体的交换基站,相当于邮编。(2)应用号,为每个应用定义不重复的代码,相当于门牌号。
图3示出了消息路由应用ID(ApplicationID)的规则。
在总中心及区域中心建立数据交换服务器,每个服务器上部署MTTS路由软件。其中,A、B、C、D代表要接入本发明系统中的各前端应用。各前端应用把请求消息发送到总中心后,就不用关心后面的处理。这些前端应用的责任只是放入消息,和等待总中心返回消息。
在应用部署中,总中心主要负责接收消息请求,它与前端区域中心和后端区域中心联系,把消息请求分发给区域中心处理或者分发给总中心后端应用系统。区域中心则将消息请求转发给总中心,或者直接转给属于本区域中心的应用后端。
例如:区域中心1的E应用要传递一个消息数据到区域中心2的F应用,E应用只需要将消息数据所对应的目的地区、目的应用相应代号写入消息包头地址信息,区域中心1根据该数据包头的地址信息,并结合区域中心所登记的路由配置信息,自动转发到总中心,总中心接收到该消息数据包后,再根据自身登记的路由配置信息,自动转到区域中心2,区域中心2根据消息包头会自动转发到F应用对应的处理服务器上。参与交换的E应用只需正确填写地址信息即可,不需关心传输过程的细节。
下面分阶段详细说明一个完整的消息数据传输的处理过程:
(一)数据从应用前端(起点)到区域中心数据交换服务器1:应用前端发起数据传输请求,生成消息数据包,并把数据包通过传输队列发送给区域中心数据交换服务器(如果该应用前端连接的是总中心数据交换服务器,则直接到总中心数据交换服务器),数据包内容如下:
消息内容:需传输的业务数据信息;
消息包头:消息的包头放入的是消息数据的路由信息,也就是APPID,APPID的形成过程大致如下:应用前端首先根据自身应用中的具体的业务要求数据生成目的地地区号、目的地应用系统,并填充APPID的接收方地区号、接收方应用号字段,再把自身应用系统所属于的地区号、应用系统编号填充APPID的源地区号和源应用系统编号字段。
如图4所示,举例如下:在A地区(属于区域中心1)的应用前端A1需传输一笔业务数据到B地区(属于区域中心2)的应用后端B1进行处理,则APPID的目的地地区号字段填写的就是B的地区代号“BXXX”,APPID的目的应用字段填写的就是B1应用对应的代码号“B1YY”,APPID的源地区号字段填写的就是A的地区代号“AZZZ”,APPID的源应用字段填写的就是A1应用对应的代码号“A1WW”。这样应用前端的路由信息就拼装为:BXXXB1YYAZZZZA1WW,放在发出消息数据包的包头路由标识字段。
消息唯一标识:应用前端随机计算出一个唯一的消息标识ID字段,放在消息的包头的消息标识字段,备以后接收返回消息时能唯一识别是这条消息的返回消息。
(二)总中心换服务器处理步骤(如图7所示):
步骤S101:总中心数据交换服务器从缓冲队列里面读取消息包;
步骤S102:总中心数据交换服务器拆分请求消息包的包头和消息内容;
步骤S103:总中心数据交换服务器判断包头的APPID是否有空,如果APPID不为空,则进行拆分出目的地址、源地址及路由的相关信息,执行步骤S105;否则执行步骤S104;
步骤S104:总中心数据交换服务器对数据包进行解包,写数据包错误日志,丢弃该数据包,处理结束。
步骤S105:总中心数据交换服务器根据APPID的后缀是否含有命令字符“###”,判断是否命令消息还是简单的转发消息;如果是命令消息(例如:交易跟踪等命令消息),则执行步骤S106,否则,如果是转发消息,则执行步骤S107;
步骤S106:总中心数据交换服务器执行命令消息###后面的命令指令操作,再执行步骤S107;
步骤S107:总中心数据交换服务器进行路由匹配,根据本地路由参数配置文件和APPID的目的地址、目的地应用、源地址、源应用进行路由匹配,匹配方法说明如下:
总中心根据目标地区号访问“交换中心与所辖地区对照关系表”,如果目的地区属于其它区域中心地区,则转发给相应的区域中心,如果是本交换中心所辖地区,则再进行以下“消息队列路由匹配参数表”的匹配判断:
如图7所示,地区AZZZ的应用系统A1WW发送数据到地区BXXX的应用系统B1YY,在消息路由参数表可以匹配上Route1路由,则将该数据消息写入路由消息队列1111。
如果路由参数表匹配成功,则执行步骤S109,否则,执行步骤S108;
步骤S108:总中心数据交换服务器附上错误码,把源地址和目的地址交换,把源当作目的进行原路返回路由;提示前端路由失败,结束处理。
步骤S109:总中心数据交换服务器把消息数据包向目的区域中心,或者将数据包写入本交换中心所辖目的地区对应的消息队列(进一步的,还可以触发一个消息到达提醒通知),处理结束。
实施例二
如图8所示,为本发明实施例的利用消息队列实现跨区域跨平台的数据传输系统,该系统基于消息交易传递转发软件(MTTS)来管理,由总中心服务器、区域服务器、业务应用设备组成。其中,总中心服务器可直接与业务应用设备相连接。
总中心数据交换服务器连接各区域中心数据交换服务器和应用设备,负责接收和转发消息请求,并把请求数据分发给区域中心数据交换服务器或者总中心的应用后端处理。
区域中心数据交换服务器主要完成消息请求向后给其他区域中心或总中心服务器转发,或者直接转给接入本区域中应用后端处理。
业务应用系统装置是消息数据的发送方和消息数据的最终接收使用方,如果是发起方可以称为应用前端,如果是最终接收方可以成为应用后端。
该系统利用交换中心服务器队列到队列通信方式的特性进行部署,交换中心服务器与业务应用系统装置以MTTS作为重要基础组件进行数据的接收与发送,各接入业务应用系统装置处于平等的地位,当需要新增一个业务应用系统,只要将给系统服务器接入到某个交换中心节点就可以完成系统的通信部署。
实施例三
如图9所示,为本发明实施例的利用消息队列实现跨区域跨平台的数据传输系统,该系统基于MTTS来管理,由总中心服务器、区域服务器、业务应用设备组成。其中,该系统的配置结构可以根据需要进行扩展,例如:交换中心还可以继续往下延伸,根据需要可以接出多层次的区域中心数据交换服务器,每个区域中心数据交换服务器再接入业务应用系统装置。
本实施例的利用消息队列实现跨区域跨平台的数据传输系统建立在图2所描述的服务器基础上,在该系统中,数据的传输从开始到结束只和树型网络结构中应用前端、应用后端所处的位置相关,如一个三层的树型结构,整个传输可划分为四个处理阶段:(1)数据从应用前端(起点)到区域中心数据交换服务器1(如果该应用前端连接的是总中心数据交换服务器,则直接到总中心数据交换服务器);(2)数据从区域中心数据交换服务器1到总中心数据交换服务器;(3)数据从总中心数据交换服务器到区域中心数据交换服务器2;(4)数据从区域中心数据交换服务器2到应用后端(终点)。
应用后端处理:应用后端处理系统在接收到通讯交换中心传来的消息数据到达的触发提醒后,从本应用系统所对应的缓存队列中读出所属消息数据,再完成后台的业务处理。
当应用后端完成业务处理后,可以把处理结果处理形成一个含有结果的返回消息包(包格式同前面描述的统一消息包格式),沿原路由相反方向再返还给应用前端,其处理流程和方法与发送消息数据完全一致。
本发明实施例使消息数据包透明的分发到各个目的应用,消息转发到众多分支后,能够及时追踪。并且利用消息队列实现跨区域跨平台的数据传输,消息数据包能够根据自身的一个路由属性随意分发和返回。特别是对于分支属性复杂、分支数量繁多和分支机构层次深的消息数据包转发,本发明实施例能够体现出简单、高效的技术特点。
以上仅为本发明的较佳实施例,非因此局限本发明的权利要求,运用本发明说明书及图示内容所作的等效结构变化,均同理包含在本发明的范围内。
Claims (7)
1.一种基于消息队列的数据传输服务器,其特征是,所述的服务器包括:
消息队列单元,用于接收应用设备端或者其他数据传输服务器发送的消息数据包,所述消息数据包由包头和包体组成;所述包体包括消息数据内容,所述包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;
其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列
用于接收其他数据传输服务器发来的消息数据包;所述缓冲队列用于接收
应用设备端发来的消息数据包;
数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;
数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;
所述的消息队列单元通过发送消息队列将路由配置后的消息数据包传输给目的应用端。
2.如权利要求1所述的服务器,其特征是,所述的数据包处理单元拆分所述消息数据包的包头和消息内容;判断包头的地址信息是否为空,如果不为空,则从所述的地址信息中拆分出该消息数据包的路由信息;如果为空,则进行消息数据包错误记录,并丢弃该消息数据包。
3.如权利要求2所述的服务器,其特征是,所述的数据包处理单元判断所述路由信息是命令消息还是转发消息,如果为命令消息,则执行命令消息中命令指令的操作;如果为转发消息,则根据本地路由参数配置文件和包头的目的地区号、目的应用号、源地区号和源应用号进行路由匹配。
4.如权利要求3所述的服务器,其特征是,所述的数据包处理单元判断所述的路由匹配是否成功,如果不成功,则生成路由失败信息,并将该路由失败信息反馈给源应用端;如果成功,则把消息数据包向目的应用端发送。
5.一种基于消息队列的数据传输系统,其特征是,所述的系统包括:源应用设备、数据传输服务器和目的应用设备,所述的数据传输服务器分别与所述的源应用设备和目的应用设备相连接;
所述的源应用设备生成消息数据包,并将该消息数据包发送给所述的数据传输服务器,所述消息数据包由包头和包体组成;所述包体包括消息数据内容,所述包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;
所述的数据传输服务器包括:消息队列单元,用于接收所述源应用设备发送的消息数据包;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收其他数据传输服务器发来的消息数据包;所述缓冲队列用于接收所述源应用设备端发来的消息数据包;
数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包传输给目的应用设备;
所述的目的应用设备从所述的发送消息队列获取所述的路由配置后的消息数据包。
6.一种基于消息队列的数据传输系统,其特征是,所述的系统包括:源应用设备、区域数据传输服务器和中心数据传输服务器,所述的源应用设备通过所述的区域数据传输服务器与所述的中心数据传输服务器相连接;
所述的源应用设备生成消息数据包,并将该消息数据包发送给所述的区域数据传输服务器,所述消息数据包由包头和包体组成;所述包体包括消息数据内容,所述包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;
所述的区域数据传输服务器包括:消息队列单元,用于通过接收消息队列接收源应用端发送的消息数据包;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收其他数据传输服务器发来的消息数据包;所述缓冲队列用于接收所述源应用设备发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包传输给所述的中心数据传输服务器;
所述的中心数据传输服务器包括:消息队列单元,用于接收所述的区域数据传输服务器发送的消息数据包;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收所述区域数据传输服务器发来的消息数据包;所述缓冲队列用于接收所述源应用设备端发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包转发。
7.一种基于消息队列的数据传输系统,其特征是,所述的系统包括:目的应用设备、区域数据传输服务器和中心数据传输服务器,所述的目的应用设备通过所述区域数据传输服务器与所述中心数据传输服务器相连接;
所述的中心数据传输服务器包括:消息队列单元,用于接收源应用设备或者其他数据传输服务器发来的消息数据包,所述消息数据包由包头和包体组成;所述包体包括消息数据内容,所述包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收所述其他数据传输服务器发来的消息数据包;所述缓冲队列用于接收所述源应用设备端发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包转发;
所述的区域数据传输服务器包括:消息队列单元,用于接收所述中心数据传输服务器转发的消息数据包,所述消息数据包由包头和包体组成;所述的包体包括消息数据内容,所述的包头包括目的地区号、目的应用号、源地区号和源应用号;其中,所述消息数据包的包头中还包含随机生成的能够识别返回信息的消息标识ID字段;其中,所述消息队列单元包括:传输队列和缓冲队列;所述传输队列用于接收所述中心数据传输服务器发来的消息数据包;所述缓冲队列用于接收源应用设备端发来的消息数据包;数据包获取单元,用于从所述的消息队列中获取所述的消息数据包;数据包处理单元,用于根据所述消息数据包的地址信息和预存储的路由配置信息对所述的消息数据包进行路由配置;所述的消息队列单元通过发送消息队列将路由配置后的消息数据包转发;
所述的目的应用设备从所述区域数据传输服务器的发送消息队列获取所述的路由配置后的消息数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102396012A CN101431476B (zh) | 2008-12-12 | 2008-12-12 | 一种基于消息队列的数据传输方法、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102396012A CN101431476B (zh) | 2008-12-12 | 2008-12-12 | 一种基于消息队列的数据传输方法、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101431476A CN101431476A (zh) | 2009-05-13 |
CN101431476B true CN101431476B (zh) | 2012-04-18 |
Family
ID=40646649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102396012A Active CN101431476B (zh) | 2008-12-12 | 2008-12-12 | 一种基于消息队列的数据传输方法、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101431476B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271139A (zh) * | 2011-09-05 | 2011-12-07 | 盛趣信息技术(上海)有限公司 | 基于c/s架构的通讯系统及通信方法 |
CN103136139A (zh) * | 2011-11-30 | 2013-06-05 | 英业达科技有限公司 | 现场可更换单元信息的读取方法及写入方法 |
CN103248557A (zh) * | 2012-02-07 | 2013-08-14 | 北京糯米网科技发展有限公司 | 用于消息收发的方法和设备 |
CN104540105B (zh) * | 2014-12-31 | 2017-12-26 | 北京无线天利移动信息技术股份有限公司 | 一种移动信息上行及下行传递方法及系统 |
CN105843911B (zh) * | 2016-03-24 | 2019-05-17 | 新浪网技术(中国)有限公司 | 数据缓存实现方法、系统及数据服务器 |
CN106789732B (zh) * | 2016-11-21 | 2019-08-06 | 华胜信泰信息产业发展有限公司 | 基于消息队列的路由建立方法及系统 |
CN106878171B (zh) * | 2016-12-30 | 2020-03-13 | 晶赞广告(上海)有限公司 | 一种用于多数据源的流式数据处理方法及装置 |
CN108848031A (zh) * | 2018-06-14 | 2018-11-20 | 深圳金证引擎科技有限公司 | 信息传输方法及装置 |
CN110912814A (zh) * | 2019-10-22 | 2020-03-24 | 苏宁云计算有限公司 | 一种接口数据的分发方法及装置 |
CN111181976B (zh) * | 2019-12-31 | 2022-06-24 | 深圳云天励飞技术股份有限公司 | 基于消息队列的行列权限管理的方法系统、电子设备及存储介质 |
CN113257404B (zh) * | 2021-05-12 | 2023-06-23 | 山东志盈医学科技有限公司 | 病理远程会诊的通信方法及平台 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677948A (zh) * | 2004-04-01 | 2005-10-05 | 华为技术有限公司 | 一种网络路由控制方法 |
-
2008
- 2008-12-12 CN CN2008102396012A patent/CN101431476B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677948A (zh) * | 2004-04-01 | 2005-10-05 | 华为技术有限公司 | 一种网络路由控制方法 |
Non-Patent Citations (1)
Title |
---|
谢希仁.计算机网络.《计算机网络》.大连理工大学出版社,2004,(第4版),168页最后一段至171页最后一段,182页最后一段至186. * |
Also Published As
Publication number | Publication date |
---|---|
CN101431476A (zh) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101431476B (zh) | 一种基于消息队列的数据传输方法、服务器及系统 | |
CN101529809B (zh) | 链路状态协议控制的网络中路由选择信息的分布式存储 | |
US10701011B2 (en) | Re-routing incoming email for a multi-tenant database system | |
CN107317842A (zh) | 基于ndn的区块链同步方法和装置 | |
CN101674255B (zh) | 一种企业服务总线的消息转发方法、服务器及其系统 | |
CN106559340A (zh) | 具有小多径或单径转发状态的以信息为中心的网络 | |
CN105872008A (zh) | 用于信息中心网络中的基于自适应命名的点播内容交换的系统和方法 | |
CN102065136B (zh) | 一种p2p网络安全数据传输方法及其系统 | |
CN104052667A (zh) | 报文处理方法及设备 | |
JP2016525825A (ja) | ルーティング及び転送の方法、装置、及びシステム | |
CN101136943A (zh) | 一种实现扩展Diameter协议应用的系统及方法 | |
CN101425958A (zh) | 一种p2p叠加网中请求应答方法、装置和系统 | |
CN102984223A (zh) | 一种消息发送方法、网络设备及系统 | |
CN104486327A (zh) | 页面与长连接服务器间的通信方法及客户端 | |
CN105515980A (zh) | 一种内容中心网络按需距离矢量路由方法 | |
CN101803289B (zh) | 基于适合度的路由 | |
CN102404818A (zh) | 一种卫星网络路由表的生成与更新方法 | |
CN102124702B (zh) | 消息路由平台 | |
KR101978951B1 (ko) | 서비스 데이터의 처리 | |
US8799212B2 (en) | Repository synchronization in a ranked repository cluster | |
CN112910785A (zh) | 一种基于ndn的边缘计算路由表建立与使用方法 | |
TWI306707B (en) | Methods for constructing multi-point-link interactive environments using based on point-to-point connections in wireless networks | |
CA2481099A1 (en) | Exchange infrastructure system and method | |
JPWO2008105030A1 (ja) | バックアップ装置 | |
CN106101201A (zh) | 一种ndn中基于重定向和重写的可扩展任播方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |