[发明专利]基于序列号机制的消息保序方法在审
| 申请号: | 201910799268.9 | 申请日: | 2019-08-28 |
| 公开(公告)号: | CN112448898A | 公开(公告)日: | 2021-03-05 |
| 发明(设计)人: | 袁欣辉;林蓉芬;尹万旺;魏迪;杨金才;王丹云;宋超博 | 申请(专利权)人: | 无锡江南计算技术研究所 |
| 主分类号: | H04L12/863 | 分类号: | H04L12/863 |
| 代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
| 地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 序列号 机制 消息 方法 | ||
本发明公开一种基于序列号机制的消息保序方法,包括以下步骤:S1、每进行一次异步消息发送操作时,发送端将当前的发送序列号打包入包头,并将发送序列号加1;S2、接收端每成功接收一次异步消息,将当前的接收序列号和包头中携带的发送序列号进行比对;S3、成功处理按序到达的消息请求后,将接收端的消息序列号生成器的值加1,并对乱序到达队列内的元素查找是否有匹配当前接收序列号的元素;S4、如果认定为一次异步消息的乱序到达,将该次接收完成的消息缓冲区加入乱序到达队列,待后续消息到达并更新接收序列号后进行处理。本发明既可以有效保证通信通路的并发,也可以有效解决底层互连架构带来的消息序问题,同时序列号生成及匹配对于性能的影响非常小。
技术领域
本发明涉及一种基于序列号机制的消息保序方法,属于计算机技术领域。
背景技术
基于消息模型的消息编程规范通常会对通信双方的多次通信行为作出保序规定,以两个进程间的两次通信为例,源方发出的第一次消息,必须早于源方发出的第二次消息到达目的方地址空间,如果两次消息的目的地址相同,目的地址的最终内容必须由第二次消息写入。
由于底层消息部件逻辑机制设计或互连网络架构设计的原因,导致底层网络无法保证软件层面的消息按序到达,一方面,网络接口部件面向无连接协议进行设计,无法支撑多个通信对象间的连接关系,也就无法保证数据传输的顺序;另一方面,由于采用多套网络的复合互连网络架构,一对通信对象间存在多条物理通路,造成两点间传输的通信数据可能经由不同通信通路,自然也无法保证消息传输顺序;基于上述原因,如果在底层消息部件及互连架构无法满足编程规范的保序需求的前提下,需要上层通信支撑环境从软件层面保证消息通信的顺序。
基于无序网络结构保证点对点消息序,是通信支撑环境研究的重要内容之一。消息序最简单的实现方式是收发双方采用应答机制,发送端将消息数据发送给接收端并进入阻塞等待,接收端收到数据后,向发送端返回一个应答,接收端收到该应答后再进行后续通信过程。通过上述方式,保证通信双方在一个方向上的消息严格保序。但该技术的缺点也是显而易见的,首先,上述方法只能保证单条物理通道的消息序,多通道网络条件下,依然无法保证多条物理通道的消息序;其次,上述方法严格限制某一时刻通信通路中只能有一个消息处于飞行状态,后续消息必须等待前序消息应答才能发出,导致通信性能急剧下降,从而无法充分发挥网络性能。
发明内容
本发明的目的是提供一种基于序列号机制的消息保序方法,该基于序列号机制的消息保序方法既可以有效保证通信通路的并发,也可以有效解决底层互连架构带来的消息序问题,既可以有效实现用户消息序,同时序列号生成及匹配对于性能的影响非常小。
为达到上述目的,本发明采用的技术方案是:一种基于序列号机制的消息保序方法,包括以下步骤:
S1、面向每个通信通路,发送端配置有一个发送序列号生成器,每进行一次异步消息发送操作时,发送序列号生成器生成一发送序列号,发送端将当前的发送序列号打包入包头,并将发送序列号加1;
S2、面向每个通信通路,接收端配置有一个接收序列号生成器和一个乱序到达队列,接收端每成功接收一次异步消息,将当前的接收序列号和包头中携带的发送序列号进行比对,如果接收序列号与发送序列号相等,则认为是一次异步消息的成功按序到达,并对当前到达的消息请求进行处理;
S3、成功处理按序到达的消息请求后,将接收端的消息序列号生成器的值加1,并对乱序到达队列内的元素进行检索,查找是否有匹配当前接收序列号的元素,如果有,则重复S3中的上述过程,直至无法在乱序到达队列中找到与接收序列号匹配的元素为止;
S4、如果接收序列号小于包头中携带的发送序列号,说明当前消息提前到达接收端,则认定为一次异步消息的乱序到达,将该次接收完成的消息缓冲区加入乱序到达队列,待后续消息到达并更新接收序列号后进行处理。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910799268.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于异构众核处理器的卷积加速方法
- 下一篇:一种脱硫石膏循环利用的方法





