报文转发方法、装置、设备及存储介质与流程
未命名
07-13
阅读:127
评论:0
1.本公开涉及数据传输技术领域,尤其涉及一种报文转发方法、装置、设备及存储介质。
背景技术:
2.数据处理单元(data processing unit,dpu)是一种以数据为中心、i/o密集型、采用软件定义技术路线支撑基础设施资源层虚拟化,具备提升计算系统效率、降低整体系统的总拥有成本,并提高数据处理效能、降低其他计算芯片性能损耗的新一代计算芯片。
3.在dpu上处理报文转发,能够解放中央处理器cpu的算力,让cpu全力聚焦在业务应用上。但是目前的卸载流程,可以根据报文的特点,选择走慢速转发路径或快速转发路径,可能导致在先接收的报文的转发速度慢于在后接收的报文的转发速度,造成报文转发乱序,影响数据传输质量。
技术实现要素:
4.为了解决上述技术问题,本公开提供了一种报文转发方法、装置、设备及存储介质。
5.本公开实施例的第一方面提供了一种报文转发方法,该方法包括:
6.响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号;
7.在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一待处理报文对应的第一转发规则,转发第一待处理报文。
8.本公开实施例的第二方面提供了一种报文转发装置,该装置包括:
9.分配模块,用于响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号;
10.转发模块,用于在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一待处理报文对应的第一转发规则,转发第一待处理报文。
11.本公开实施例的第三方面提供了一种计算机设备,该设备包括:
12.存储器和处理器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,可以实现上述第一方面的报文转发方法。
13.本公开实施例的第四方面提供了一种计算机可读存储介质,存储介质中存储有计算机程序,当计算机程序被处理器执行时,可以实现上述第一方面的报文转发方法。
14.本公开实施例提供的技术方案与现有技术相比具有如下优点:
15.本公开实施例,通过响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号;在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一待处理报文对应的第一转发规则,转发第一待处理报文,可以为接收到的每个报文分配接收序列号,并在发
送序列号与接收序列号相同时进行报文转发,可以实现报文的按序转发,提高数据传输质量。
附图说明
16.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
17.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1是本公开实施例提供的一种报文转发方法的流程图;
19.图2是本公开实施例提供的另一种报文转发方法的流程图;
20.图3是本公开实施例提供的又一种报文转发方法的流程图;
21.图4是本公开实施例提供的再一种报文转发方法的流程图;
22.图5是本公开实施例提供的再一种报文转发方法的流程图;
23.图6是本公开实施例提供的一种报文转发装置的结构示意图;
24.图7是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
25.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
26.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
27.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
28.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
29.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
30.数据处理单元dpu是一种以数据为中心、i/o密集型、采用软件定义技术路线支撑基础设施资源层虚拟化,具备提升计算系统效率、降低整体系统的总拥有成本,并提高数据处理效能、降低其他计算芯片性能损耗的新一代计算芯片。
31.在dpu上处理报文转发,能够解放中央处理器cpu的算力,让cpu全力聚焦在业务应用上。但是目前的卸载流程,可以根据报文的特点,选择走慢速转发路径或快速转发路径,可能导致在先接收的报文的转发速度慢于在后接收的报文的转发速度,造成报文转发乱序,影响数据传输质量。例如,首个接收到的报文会上送到dpu上的片上系统(system on chip,soc),由soc中运行的开放虚拟交换机(openvswitch,ovs)应用程序从报文对应的上层应用中获取报文的转发规则,并将报文的转发规则存储至dpu的存储单元中,然后根据报文的转发规则转发该报文,即走慢速转发流程转发报文,而后续报文在dpu中匹配到转发规则后会走快速转发流程转发报文,报文被dpu直接处理转发(无需经过soc),比慢速转发流程快很多,导致在先接收的报文的转发速度慢于在后接收的报文的转发速度,造成报文转发乱序。
32.针对相关技术在报文转发方面存在的缺陷,本公开实施例提供了一种报文转发方法、装置、设备及存储介质,可以为接收到的每个报文分配接收序列号,并在发送序列号与接收序列号相同时,才会进行报文转发,可以实现报文的按序转发,提高数据传输质量。
33.本公开实施例提供的报文转发方法,可以由一种计算机设备来执行,该设备可以被理解为任意一种具有处理能力和计算能力的设备,该设备中设置有数据处理单元dpu,通过dpu实现报文的转发,该设备可以包括但不限于诸如服务器(例如云服务器)、智能手机、笔记本电脑、平板电脑(pad)、车载终端、可穿戴设备等的移动终端,以及诸如数字tv、台式计算机等的固定电子设备。
34.为了更好的理解本公开实施例的发明构思,下面结合示例性的实施例对本公开实施例的技术方案进行说明。
35.图1是本公开实施例提供的一种报文转发方法的流程图,如图1所示,本实施例提供的报文转发方法包括如下步骤:
36.步骤110、响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号。
37.本公开实施例中,每个报文都有对应的转发规则,转发规则可以理解为报文对应的上层应用根据报文的配置信息制定的转发该报文的规则,可以包括转发方式、转发链路、转发速度等,报文的配置信息可以包括报文中携带的源ip、目的ip、源mac端口号、目的mac端口号等与报文的传输相关的信息,报文的配置信息与报文的转发规则一一对应。
38.计算机设备中预先构建有接收序列表,接收序列表中包括报文的索引信息和索引信息对应的接收表项,接收表项中包括接收序列号,报文的索引信息与接收序列号一一对应。接收序列表可以为哈希计算构建的哈希(hash)表,其中,键(key)为报文的索引信息,值(value)为接收序列号。报文的索引信息可以理解为表示报文特征或类型的信息,同一索引信息对应的报文的报文特征或报文类型相同,报文的索引信息可以根据用户需要进行设定,例如,可以是报文对应的转发规则、报文配置信息中的一个或多个等,这里不作具体限定。接收序列号可以理解为按照同一索引信息对应的报文的接收顺序为报文分配的序列号,例如,首个接收的a索引信息对应的报文的接收序列号可以设为000,第二个接收的a索引信息对应的报文的接收序列号可以设为001,第三个接收的a索引信息对应的报文的接收序列号可以设为002,依次类推,为a索引信息对应的每个报文分配接收序列号。由此,接收序列号可以表示报文的接收顺序。
39.本公开实施例中,计算机设备中的数据处理单元dpu在接收到第一待处理报文时,可以响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,其中,目标接收序列号可以理解为第一待处理报文中的目标索引信息对应的接收序列号。例如,若目标索引信息对应的当前接收序列号为001,则响应于接收到第一待处理报文,计算机设备中的数据处理单元dpu可以在目标索引信息对应的当前接收序列号001的基础上,为第一待处理报文分配目标接收序列号002。
40.在一些实施例中,在为第一待处理报文分配目标接收序列号之后,可以将目标接收序列号添加到第一待处理报文中的系统处理信息(sysmeta)中。
41.步骤120、在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一待处理报文对应的第一转发规则,转发第一待处理报文。
42.本公开实施例中,发送序列号可以理解为按照同一索引信息对应的报文的转发顺序为报文分配的序列号,例如,首个转发的a索引信息对应的报文的接收序列号可以设为000,第二个转发的a索引信息对应的报文的接收序列号可以设为001,第三个转发的a索引信息对应的报文的接收序列号可以设为002,依次类推,为a索引信息对应的每个报文分配发送序列号。由此,发送序列号可以表示报文的转发时机和转发顺序。计算机设备中预先构建有发送序列表,发送序列表中包括报文的索引信息和索引信息对应的发送表项,发送表项中包括发送序列号,报文的索引信息与发送序列号一一对应。发送序列表可以为哈希计算构建的哈希表,其中,键(key)为报文的索引信息,值(value)为发送序列号。
43.本公开实施例中,计算机设备在为第一待处理报文分配目标接收序列号之后,可以监测目标索引信息对应的当前发送序列号与目标接收序列号是否相同,当目标索引信息对应的当前发送序列号与目标接收序列号相同时,说明此时第一待处理报文到了转发的时机,可以对第一待处理报文进行转发,则计算机设备可以获取第一待处理报文对应的第一转发规则,基于第一待处理报文对应的第一转发规则,转发第一待处理报文。例如,若目标索引信息对应的第一待处理报文的目标接收序列号为001,目标索引信息对应的当前发送序列号为001,则目标索引信息对应的当前发送序列号与目标接收序列号相同,此时可以基于第一待处理报文对应的第一转发规则,转发第一待处理报文。
44.本公开实施例,通过响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号;在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一待处理报文对应的第一转发规则,转发第一待处理报文,可以为接收到的每个报文分配接收序列号,并在发送序列号与接收序列号相同时进行报文转发,可以实现报文的按序转发,提高数据传输质量。
45.图2是本公开实施例提供的一种报文转发方法的流程图,如图2所示,本实施例提供的报文转发方法包括如下步骤:
46.步骤210、响应于接收到第一待处理报文,从第一待处理报文中提取目标索引信息。
47.本公开实施例中,计算机设备中的数据处理单元dpu在接收到第一待处理报文时,可以响应于接收到第一待处理报文,从第一待处理报文中提取目标索引信息。
48.步骤220、查找目标索引信息对应的当前接收序列号是否存在,若存在,执行步骤
230-240,若不存在,执行步骤250-270。
49.本公开实施例中,在获得第一待处理报文对应的目标索引信息之后,计算机设备可以查找目标索引信息对应的当前接收序列号是否存在。
50.在一些实施例中,报文的索引信息与接收表项一一对应,即每个索引信息对应一个接收表项,每个接收表项中包括一个接收序列号。在获得第一待处理报文对应的目标索引信息之后,计算机设备可以查找目标索引信息对应的目标接收表项是否存在,即可查找目标索引信息对应的当前接收序列号是否存在。
51.若目标索引信息对应的当前接收序列号存在,执行步骤230-240,若目标索引信息对应的当前接收序列号不存在,执行步骤250-270。
52.步骤230、若目标索引信息对应的当前接收序列号存在,则将当前接收序列号确定为第一待处理报文对应的目标接收序列号。
53.本公开实施例中,若目标索引信息对应的当前接收序列号存在,则计算机设备可以将当前接收序列号确定为第一待处理报文对应的目标接收序列号。
54.在一些实施例中,若目标索引信息对应的目标接收表项存在,则计算机设备可以将目标接收表项中的当前接收序列号确定为第一待处理报文对应的目标接收序列号。
55.步骤240、对目标索引信息对应的当前接收序列号进行递增。
56.本公开实施例中,在将目标索引信息对应的当前接收序列号确定为第一待处理报文对应的目标接收序列号之后,计算机设备可以对目标索引信息对应的当前接收序列号进行递增,以更新目标索引信息对应的当前接收序列号。
57.例如,若目标索引信息对应的当前接收序列号存在,此时目标索引信息对应的当前接收序列号为002,则计算机设备可以将目标索引信息对应的当前接收序列号002确定为第一待处理报文对应的目标接收序列号,然后对当前接收序列号002进行递增,将当前接收序列号更新为003。
58.步骤250、若目标索引信息对应的当前接收序列号不存在,则创建目标索引信息对应的当前接收序列号,并将预设接收序列号确定为当前接收序列号。
59.本公开实施例中,若目标索引信息对应的当前接收序列号不存在,说明第一待处理报文为首个接收的目标索引信息对应的待处理报文,则计算机设备可以创建目标索引信息对应的当前接收序列号,并将预设接收序列号作为当前接收序列号。其中,预设接收序列号可以理解为首个接收的目标索引信息对应的报文的接收序列号,预设接收序列号可以根据需要进行设定,例如,可以是001,这里不作具体限定。
60.在一些实施例中,若目标索引信息对应的目标接收表项不存在,说明第一待处理报文为接收的目标索引信息对应的首个待处理报文,则计算机设备可以创建目标索引信息对应的目标接收表项,并将预设接收序列号作为目标接收表项的当前接收序列号。
61.步骤260、将目标索引信息对应的当前接收序列号确定为第一待处理报文对应的目标接收序列号。
62.本公开实施例中,在创建目标索引信息对应的当前接收序列号,并将预设接收序列号作为当前接收序列号之后,计算机设备可以将目标索引信息对应的当前接收序列号确定为第一待处理报文对应的目标接收序列号。
63.步骤270、对目标索引信息对应的当前接收序列号进行递增。
64.本公开实施例中,在将目标索引信息对应的当前接收序列号确定为第一待处理报文对应的目标接收序列号之后,计算机设备可以对目标索引信息对应的当前接收序列号进行递增。
65.例如,若目标索引信息对应的当前接收序列号不存在,则创建目标索引信息对应的当前接收序列号,并将预设接收序列号001作为当前接收序列号;将当前接收序列号001确定为第一待处理报文对应的目标接收序列号,然后对当前接收序列号001进行递增,将当前接收序列号更新为002。
66.步骤280、在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一待处理报文对应的第一转发规则,转发第一待处理报文。
67.本公开实施例中的步骤可以参考上述步骤120的内容,这里不再赘述。
68.由此,可以为接收到的每个报文分配接收序列号,并在发送序列号与接收序列号相同时进行报文转发,可以实现报文的按序转发,提高数据传输质量。
69.图3是本公开实施例提供的一种报文转发方法的流程图,如图3所示,本实施例提供的报文转发方法包括如下步骤:
70.步骤310、响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号。
71.本公开实施例中的步骤310的内容可以参考上述步骤110的内容,这里不再赘述。
72.步骤320、判断目标索引信息对应的当前发送序列号与目标接收序列号是否相同。
73.本公开实施例中,在为第一待处理报文分配目标接收序列号之后,计算机设备可以判断目标索引信息对应的当前发送序列号与目标接收序列号是否相同。
74.步骤330、若相同,则基于第一转发规则转发第一待处理报文,并对当前发送序列号进行递增。
75.本公开实施例中,若目标索引信息对应的当前发送序列号与目标接收序列号相同,说明此时第一待处理报文到了转发的时机,可以对第一待处理报文进行转发,则计算机设备可以基于第一待处理报文对应的第一转发规则,转发第一待处理报文,并对目标索引信息对应的当前发送序列号进行递增。
76.例如,若目标索引信息对应的当前发送序列号002与目标接收序列号002相同,则计算机设备可以基于第一待处理报文对应的第一转发规则,转发第一待处理报文,并对当前发送序列号002进行递增,将当前发送序列号更新为003。
77.步骤340、若不同,则将第一待处理报文存储至缓存报文库中,并在缓存报文库中查找与当前发送序列号相同的接收序列号对应的第二待处理报文。
78.本公开实施例中,若目标索引信息对应的当前发送序列号与目标接收序列号不同,说明此时第一待处理报文还不到转发的时机,不可以对第一待处理报文进行转发,则计算机设备可以将第一待处理报文存储至缓存报文库中,并在缓存报文库中查找与目标索引信息对应的当前发送序列号相同的接收序列号对应的第二待处理报文。
79.步骤350、基于第二待处理报文对应的第二转发规则,转发第二待处理报文,并对当前发送序列号进行递增。
80.本公开实施例中,在缓存报文库中查找到与当前发送序列号相同的接收序列号对应的第二待处理报文,说明此时第二待处理报文到了转发的时机,可以对第二待处理报文
进行转发,则计算机设备可以获取第二待处理报文对应的第二转发规则,基于第二转发规则,转发第二待处理报文,并对目标索引信息对应的当前发送序列号进行递增。
81.由此,可以为接收到的每个报文分配接收序列号,并在发送序列号与接收序列号相同时进行报文转发,可以实现报文的按序转发,提高数据传输质量。
82.图4是本公开实施例提供的一种报文转发方法的流程图,如图4所示,本实施例提供的报文转发方法包括如下步骤:
83.步骤410、响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号。
84.本公开实施例中的步骤410的内容可以参考上述步骤110的内容,这里不再赘述。
85.步骤420、查找目标索引信息对应的当前发送序列号是否存在,若存在,执行步骤430,若不存在,执行步骤440-450。
86.本公开实施例中,在为第一待处理报文分配目标接收序列号之后,计算机设备可以查找目标索引信息对应的当前发送序列号是否存在。
87.在一些实施例中,报文的索引信息与发送表项一一对应,即每个索引信息对应一个发送表项,每个发送表项中包括一个发送序列号。在为第一待处理报文分配目标接收序列号之后,计算机设备可以查找目标索引信息对应的目标发送表项是否存在,即查找目标索引信息对应的当前发送序列号是否存在。
88.若目标索引信息对应的当前发送序列号存在,执行步骤430,若目标索引信息对应的当前发送序列号不存在,执行步骤440-450。
89.步骤430、若存在,则在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一转发规则转发第一待处理报文,并对当前发送序列号进行递增。
90.本公开实施例中,若目标索引信息对应的当前发送序列号存在,说明第一待处理报文不是首次发送的目标索引信息对应的待处理报文,则计算机设备可以判断目标索引信息对应的当前发送序列号与第一待处理报文的目标接收序列号是否相同,在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一转发规则转发第一待处理报文,并对当前发送序列号进行递增。
91.步骤440、若不存在,则创建目标索引信息对应的当前发送序列号,将目标接收序列号确定为当前发送序列号。
92.本公开实施例中,若目标索引信息对应的当前发送序列号不存在,说明第一待处理报文属于首次发送的目标索引信息对应的待处理报文,第一待处理报文到了转发的时机,可以对第一待处理报文进行转发,则计算机设备可以将第一待处理报文对应的目标接收序列号确定为目标索引信息对应的当前发送序列号,此时目标索引信息对应的当前发送序列号与目标接收序列号相同。
93.步骤450、基于第一转发规则转发第一待处理报文,并对当前发送序列号进行递增。
94.本公开实施例中,在将目标接收序列号确定为当前发送序列号之后,计算机设备可以基于第一转发规则转发第一待处理报文,并对当前发送序列号进行递增。
95.例如,若目标索引信息对应的当前发送序列号不存在,则计算机设备可以将第一待处理报文对应的目标接收序列号001确定为目标索引信息对应的当前发送序列号,此时
目标索引信息对应的当前发送序列号为001,目标索引信息对应的目标接收序列号也为001,目标索引信息对应的当前发送序列号与目标接收序列号相同,计算机设备可以基于第一转发规则转发第一待处理报文,并对当前发送序列号001进行递增,将目标索引信息对应的当前发送序列号更新为002。
96.由此,可以为接收到的每个报文分配接收序列号,并在发送序列号与接收序列号相同时进行报文转发,可以实现报文的按序转发,提高数据传输质量。
97.图5是本公开实施例提供的一种报文转发方法的流程图,如图5所示,本实施例提供的报文转发方法包括如下步骤:
98.步骤510、响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号。
99.本公开实施例中的步骤510的内容可以参考上述步骤110的内容,这里不再赘述。
100.步骤520、在目标索引信息对应的当前发送序列号与目标接收序列号相同时,查找数据处理单元dpu中是否存在第一待处理报文对应的第一转发规则,若存在,执行步骤530,若不存在,执行步骤540-550。
101.本公开实施例中,在目标索引信息对应的当前发送序列号与目标接收序列号相同时,计算机设备可以查找数据处理单元dpu中是否存在第一待处理报文对应的第一转发规则。
102.步骤530、若存在,则将第一待处理报文确定为快转报文,基于第一转发规则,转发第一待处理报文。
103.本公开实施例中,若数据处理单元dpu中存在第一待处理报文对应的第一转发规则,则计算机设备可以将第一待处理报文确定为快转报文,基于第一转发规则,直接转发第一待处理报文。
104.步骤540、若不存在,则将第一待处理报文确定为慢转报文,基于慢转报文对应的软件转发流程获取第一转发规则。
105.本公开实施例中,若数据处理单元dpu中不存在第一待处理报文对应的第一转发规则,则计算机设备可以将第一待处理报文确定为慢转报文,并基于慢转报文对应的软件转发流程,通过dpu中的片上系统soc中运行的开放虚拟交换机ovs应用程序从第一待处理报文对应的上层应用中获取第一待处理报文的第一转发规则,并将第一转发规则存储至dpu的存储单元中。
106.步骤550、基于第一转发规则,转发第一待处理报文。
107.本公开实施例中,在获取到第一待处理报文的第一转发规则之后,计算机设备中的dpu可以基于第一转发规则,转发第一待处理报文。
108.由此,可以为接收到的每个报文分配接收序列号,并在发送序列号与接收序列号相同时进行报文转发,可以实现报文的按序转发,提高数据传输质量。
109.在本公开的一些实施例中,报文的索引信息与接收表项一一对应,接收表项中包括一个接收序列号,报文的索引信息与发送表项一一对应,发送表项中包括一个发送序列号,各个接收表项组成了接收列表,各个发送表项组成了发送列表,计算机设备还可以为接收序列表和发送序列表中各表项设置时间戳,记录各表项的使用时间,然后监测各表项的使用时间是否大于预设阈值,将使用时间大于预设阈值的表项进行删除。其中,预设阈值可
以根据需要进行设定,这里不作具体限定。由此,可以对老化的表项及时进行删除,节约存储资源,高序列表的利用率。
110.图6是本公开实施例提供的一种报文转发装置的结构示意图,该装置可以被理解为上述计算机设备或者上述计算机设备中的部分功能模块。如图6所示,该报文转发装置600可以包括:
111.分配模块610,用于响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号;
112.转发模块620,用于在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一待处理报文对应的第一转发规则,转发第一待处理报文。
113.可选的,上述分配模块610,可以包括:
114.提取子模块,用于响应于接收到第一待处理报文,从第一待处理报文中提取目标索引信息;
115.第一查找子模块,用于查找目标索引信息对应的当前接收序列号是否存在;
116.第一确定子模块,用于若目标索引信息对应的当前接收序列号存在,则将当前接收序列号确定为第一待处理报文对应的目标接收序列号;
117.第一递增子模块,用于对当前接收序列号进行递增。
118.可选的,上述分配模块610,可以包括:
119.第一创建子模块,用于若目标索引信息对应的当前接收序列号不存在,则创建目标索引信息对应的当前接收序列号,并将预设接收序列号确定为当前接收序列号;
120.第二确定子模块,用于将当前接收序列号确定为第一待处理报文对应的目标接收序列号;
121.第二递增子模块,用于对当前接收序列号进行递增。
122.可选的,上述转发模块620,可以包括:
123.判断子模块,用于判断当前发送序列号与目标接收序列号是否相同;
124.第一转发子模块,用于若相同,则基于第一转发规则转发第一待处理报文,并对当前发送序列号进行递增;
125.存储子模块,用于若不同,则将第一待处理报文存储至缓存报文库中,并在缓存报文库中查找与当前发送序列号相同的接收序列号对应的第二待处理报文;
126.第二转发子模块,用于基于第二待处理报文对应的第二转发规则,转发第二待处理报文,并对当前发送序列号进行递增。
127.可选的,上述转发模块620,可以包括:
128.第二查找子模块,用于查找目标索引信息对应的当前发送序列号是否存在;
129.第三转发子模块,用于若存在,则在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一转发规则转发第一待处理报文,并对当前发送序列号进行递增;
130.第二创建子模块,用于若不存在,则创建目标索引信息对应的当前发送序列号,将目标接收序列号确定为当前发送序列号;
131.第四转发子模块,用于基于第一转发规则转发第一待处理报文,并对当前发送序列号进行递增。
132.可选的,上述转发模块620,可以包括:
133.第三查找子模块,用于在目标索引信息对应的当前发送序列号与目标接收序列号相同时,查找数据处理单元dpu中是否存在第一待处理报文对应的第一转发规则;
134.第五转发子模块,用于若存在,则将第一待处理报文确定为快转报文,基于第一转发规则,转发第一待处理报文;
135.获取子模块,用于若不存在,则将第一待处理报文确定为慢转报文,基于慢转报文对应的软件转发流程获取第一转发规则;
136.第六转发子模块,用于基于第一转发规则,转发第一待处理报文。
137.可选的,报文的索引信息与接收表项一一对应,接收表项中包括一个接收序列号,报文的索引信息与发送表项一一对应,发送表项中包括一个发送序列号,上述报文转发装置600可以包括:
138.监测模块,用于监测各表项的使用时间是否大于预设阈值;
139.删除模块,用于将使用时间大于预设阈值的表项进行删除。
140.本公开实施例提供的报文转发装置可以实现上述任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
141.本公开实施例还提供一种计算机设备,该计算机设备包括处理器和存储器,其中,存储器中存储有计算机程序,当该计算机程序被该处理器执行时可以实现上述任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
142.本公开实施例中的计算机设备可以被理解为任意一种具有处理能力和计算能力的设备,该设备中设置有数据处理单元dpu,通过dpu实现报文的转发,该设备可以包括但不限于诸如服务器(例如云服务器)、智能手机、笔记本电脑、平板电脑(pad)、车载终端、可穿戴设备等的移动终端,以及诸如数字tv、台式计算机等的固定电子设备。
143.图7是本公开实施例提供的一种计算机设备的结构示意图,如图7所示,计算机设备700可以包括处理器710和存储器720,其中,存储器720中存储有计算机程序721,当该计算机程序721被该处理器710执行时可以实现上述任一实施例提供的方法,其执行方式和有益效果类似,在这里不再赘述。
144.当然,为了简化,图7中仅示出了该计算机设备700中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口、输入装置和输出装置等的组件。除此之外,根据具体应用情况,计算机设备700还可以包括任何其他适当的组件。
145.本公开实施例提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,当该计算机程序被处理器执行时,可以实现上述任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
146.上述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
147.上述计算机程序可以以一种或多种程序设计语言的任意组合来编写用于执行本
公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算机设备上部分在远程计算机设备上执行、或者完全在远程计算机设备或服务器上执行。
148.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
149.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
150.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种报文转发方法,其特征在于,包括:响应于接收到第一待处理报文,为所述第一待处理报文分配目标接收序列号,所述目标接收序列号为所述第一待处理报文中的目标索引信息对应的接收序列号;在所述目标索引信息对应的当前发送序列号与所述目标接收序列号相同时,基于所述第一待处理报文对应的第一转发规则,转发所述第一待处理报文。2.根据权利要求1所述的方法,其特征在于,所述响应于接收到第一待处理报文,为所述第一待处理报文分配目标接收序列号,包括:响应于接收到第一待处理报文,从所述第一待处理报文中提取所述目标索引信息;查找所述目标索引信息对应的当前接收序列号是否存在;若所述目标索引信息对应的当前接收序列号存在,则将所述当前接收序列号确定为所述第一待处理报文对应的目标接收序列号;对所述当前接收序列号进行递增。3.根据权利要求2所述的方法,其特征在于,所述查找所述目标索引信息对应的当前接收序列号是否存在之后,所方法还包括:若所述目标索引信息对应的当前接收序列号不存在,则创建所述目标索引信息对应的当前接收序列号,并将预设接收序列号确定为所述当前接收序列号;将所述当前接收序列号确定为所述第一待处理报文对应的目标接收序列号;对所述当前接收序列号进行递增。4.根据权利要求1所述的方法,其特征在于,所述在所述目标索引信息对应的当前发送序列号与所述目标接收序列号相同时,基于所述第一待处理报文对应的第一转发规则,转发所述第一待处理报文,包括:判断所述当前发送序列号与所述目标接收序列号是否相同;若相同,则基于所述第一转发规则转发所述第一待处理报文,并对所述当前发送序列号进行递增;若不同,则将所述第一待处理报文存储至缓存报文库中,并在缓存报文库中查找与所述当前发送序列号相同的接收序列号对应的第二待处理报文;基于所述第二待处理报文对应的第二转发规则,转发所述第二待处理报文,并对所述当前发送序列号进行递增。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述在所述目标索引信息对应的当前发送序列号与所述目标接收序列号相同时,基于所述第一转发规则转发所述第一待处理报文,包括:查找所述目标索引信息对应的当前发送序列号是否存在;若存在,则在所述目标索引信息对应的当前发送序列号与所述目标接收序列号相同时,基于所述第一转发规则转发所述第一待处理报文,并对所述当前发送序列号进行递增;若不存在,则创建所述目标索引信息对应的当前发送序列号,将所述目标接收序列号确定为所述当前发送序列号;基于所述第一转发规则转发所述第一待处理报文,并对所述当前发送序列号进行递增。6.根据权利要求1所述的方法,其特征在于,所述在所述目标索引信息对应的当前发送
序列号与所述目标接收序列号相同时,基于所述第一待处理报文对应的第一转发规则,转发所述第一待处理报文,包括:在所述目标索引信息对应的当前发送序列号与所述目标接收序列号相同时,查找数据处理单元dpu中是否存在所述第一待处理报文对应的第一转发规则;若存在,则将所述第一待处理报文确定为快转报文,基于所述第一转发规则,转发所述第一待处理报文;若不存在,则将所述第一待处理报文确定为慢转报文,基于所述慢转报文对应的软件转发流程获取所述第一转发规则;基于所述第一转发规则,转发所述第一待处理报文。7.根据权利要求1所述的方法,其特征在于,报文的索引信息与接收表项一一对应,所述接收表项中包括一个接收序列号,报文的索引信息与发送表项一一对应,所述发送表项中包括一个发送序列号,所述方法还包括:监测各所述表项的使用时间是否大于预设阈值;将所述使用时间大于预设阈值的表项进行删除。8.一种报文转发装置,其特征在于,包括:分配模块,用于响应于接收到第一待处理报文,为所述第一待处理报文分配目标接收序列号,所述目标接收序列号为所述第一待处理报文中的目标索引信息对应的接收序列号;转发模块,用于在所述目标索引信息对应的当前发送序列号与所述目标接收序列号相同时,基于所述第一待处理报文对应的第一转发规则,转发所述第一待处理报文。9.一种计算机设备,其特征在于,包括:存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,实现如权利要求1-7中任一项所述的报文转发方法。10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-7中任一项所述的报文转发方法。
技术总结
本公开涉及一种报文转发方法、装置、设备及存储介质。本公开实施例,通过响应于接收到第一待处理报文,为第一待处理报文分配目标接收序列号,目标接收序列号为第一待处理报文中的目标索引信息对应的接收序列号;在目标索引信息对应的当前发送序列号与目标接收序列号相同时,基于第一待处理报文对应的第一转发规则,转发第一待处理报文,可以为接收到的每个报文分配接收序列号,并在发送序列号与接收序列号相同时进行报文转发,可以实现报文的按序转发,提高数据传输质量。提高数据传输质量。提高数据传输质量。
技术研发人员:王雅巍 黄明亮
受保护的技术使用者:中科驭数(北京)科技有限公司
技术研发日:2023.03.28
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:激光加工装置的制作方法 下一篇:一种便于安装的纺织品耐静水压测试仪的制作方法
