System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 消息传输方法、装置、设备及存储介质制造方法及图纸_技高网

消息传输方法、装置、设备及存储介质制造方法及图纸

技术编号:40927495 阅读:5 留言:0更新日期:2024-04-18 14:50
本公开提供了一种消息传输方法、装置、设备及存储介质,可以应用于消息传输技术领域。该方法包括:响应于接收到由发送端发送的报文消息,对报文消息进行处理;其中,处理后的报文消息包括传输标识符;将处理后的报文消息分配至多个消息队列中的一个消息队列;基于轮询操作从多个消息队列中依次读取报文消息;将读取到的报文消息发送至接收端;响应于报文消息发送成功,基于报文消息的传输标识符确定回执发送方式,并基于确定的回执发送方式向发送端发送回执;其中,回执发送方式包括同步发送和异步发送。

【技术实现步骤摘要】

本公开涉及消息传输,尤其涉及一种消息传输方法、装置、设备、存储介质及程序产品。


技术介绍

1、消息队列作为一种信息传输中间件技术,可以有效实现报文下拍戏的传递。当前金融系统通常采用传统的消息队列通信机制,即点对点的消息队列通信机制。

2、在传统消息队列通信机制中,发送端和接收端的消息发送是建立在预先设定的单一队列之上的,若该单一队列接收方出现连接问题或消息队列服务失败,则会造成发送端消息堆积且整个消息通道不可用,造成金融系统通信故障、导致交易失败。此外,在传统消息队列通信机制中,消息传输是单向的,无法同时兼容需要双向消息回执的同步交易和单向异步交易场景。


技术实现思路

1、鉴于上述问题,本公开提供了消息传输方法、装置、设备、介质和程序产品。

2、根据本公开的第一个方面,提供了一种消息传输方法,包括:响应于接收到由发送端发送的报文消息,对报文消息进行处理;其中,处理后的报文消息包括传输标识符;将处理后的报文消息分配至多个消息队列中的一个消息队列;基于轮询操作从多个消息队列中依次读取报文消息;将读取到的报文消息发送至接收端;响应于报文消息发送成功,基于报文消息的传输标识符确定回执发送方式,并基于确定的回执发送方式向发送端发送回执;其中,回执发送方式包括同步发送和异步发送。

3、根据本公开的实施例,基于轮询操作从多个消息队列中读取报文消息,包括:将多个消息队列存储在map容器中;基于消息队列在map容器中的存储顺序,向消息队列分配下标值;其中,下标值与消息队列呈唯一映射关系;基于消息队列的下标值从多个队列消息中确定目标消息队列;读取目标消息队列中的报文消息。

4、根据本公开的实施例,基于消息队列的下标值从多个队列消息中确定目标消息队列,包括:获取轮询操作的动作值;其中,每执行一次轮询操作,轮询操作的动作值就会进行一次累加;将map容器中与动作值相同的下标值对应的消息队列确定为目标消息队列。

5、根据本公开的实施例,在轮询操作的动作值等于map容器长度值的情况下,响应于执行轮询操作,将轮询操作的动作值归零,并重新开始累加。

6、根据本公开的实施例,将读取到的报文消息发送至接收端,包括:由目标消息队列向接收端发送连接请求,建立消息队列与接收端间的连接关系;基于连接关系向接收端发送报文消息。

7、根据本公开的实施例,该消息传输方法还包括:接收报文消息发送结果;在报文消息发送结果为发送失败的情况下,将报文消息发送至其他消息队列进行报文消息的重新发送。

8、根据本公开的实施例,响应于报文消息发送成功,基于报文消息的传输标识符确定回执发送方式,包括:读取报文消息中的传输标识符;在传输标识符含义为异步发送的情况下,结束当前消息传输过程;在传输标识符含义为同步发送的情况下,监听接收端的消息处理情况并查找报文消息的消息回执,将消息回执发送至发送端。

9、本公开的第二方面提供了一种消息传输装置,包括:处理模块,用于响应于接收到由发送端发送的报文消息,对报文消息进行处理;其中,处理后的报文消息包括传输标识符;分配模块,用于将处理后的报文消息分配至多个消息队列中的一个消息队列;读取模块,用于基于轮询操作从多个消息队列中依次读取报文消息;发送模块,用于将读取到的报文消息发送至接收端;以及回执模块,用于响应于报文消息发送成功,基于报文消息的传输标识符确定回执发送方式,并基于确定的回执发送方式向发送端发送回执;其中,回执发送方式包括同步发送和异步发送。

10、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。

11、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。

12、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。

13、本公开提供的消息传输方法、装置、设备、介质及程序产品,通过设置多个消息队列,并基于轮询操作从多个消息队列中依次读取报文消息,实现消息传输的高可用和负载均衡。且在报文消息中加入传输标识符,实现请求的同步等待或异步结束,达到同时兼容单向异步消息及双向同步消息的目的,以拓宽业务场景。

本文档来自技高网...

【技术保护点】

1.一种消息传输方法,其特征在于,包括:

2.根据权利要求1所述的消息传输方法,其特征在于,所述基于轮询操作从所述多个消息队列中读取所述报文消息,包括:

3.根据权利要求2所述的消息传输方法,其特征在于,所述基于所述消息队列的下标值从所述多个队列消息中确定目标消息队列,包括:

4.根据权利要求3所述的消息传输方法,其特征在于,在所述轮询操作的动作值等于所述map容器长度值的情况下,响应于执行所述轮询操作,将所述轮询操作的动作值归零,并重新开始累加。

5.根据权利要求1所述的消息传输方法,其特征在于,所述将读取到的报文消息发送至接收端,包括:

6.根据权利要求5所述的消息传输方法,其特征在于,还包括:

7.根据权利要求1所述的消息传输方法,其特征在于,所述响应于所述报文消息发送成功,基于所述报文消息的传输标识符确定回执发送方式,包括:

8.一种消息传输装置,其特征在于,包括:

9.一种电子设备,包括:

10.一种计算机可读存储介质,其上存储有可执行指令,其特征在于,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。

11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。

...

【技术特征摘要】

1.一种消息传输方法,其特征在于,包括:

2.根据权利要求1所述的消息传输方法,其特征在于,所述基于轮询操作从所述多个消息队列中读取所述报文消息,包括:

3.根据权利要求2所述的消息传输方法,其特征在于,所述基于所述消息队列的下标值从所述多个队列消息中确定目标消息队列,包括:

4.根据权利要求3所述的消息传输方法,其特征在于,在所述轮询操作的动作值等于所述map容器长度值的情况下,响应于执行所述轮询操作,将所述轮询操作的动作值归零,并重新开始累加。

5.根据权利要求1所述的消息传输方法,其特征在于,所述将读取到的报文消息发送至接收端,包括:<...

【专利技术属性】
技术研发人员:陈继淼
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

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

1