一种报文入队方法、装置、网络芯片及存储介质与流程

xiaoxiao2026-07-25  27


本发明涉及通信,特别是涉及一种报文入队方法、装置、网络芯片及存储介质。


背景技术:

1、相关技术中,网络芯片中的入队管理单元在接收到报文后,需要向网络芯片中的地址分配单元发送enq(enqueue request,入队请求)消息,请求为报文分配地址,之后地址分配单元向入队管理单元返回enq res(enqueue request response,入队请求响应)消息,向入队管理单元反馈为该报文所分配的地址,入队管理单元基于所分配的地址将报文入队。

2、然而,enq消息以及enq res消息的发送均需要耗费一定的时间,若网络芯片接收到的报文数量较多,入队管理单元与地址分配单元需要频繁进行多次消息的交互,消耗较长的时间,使得报文的处理时延较长。


技术实现思路

1、本发明实施例的目的在于提供一种报文入队方法、装置、网络芯片及存储介质,以减少报文的处理时延。具体技术方案如下:

2、在本发明实施例的第一方面,首先提供了一种报文入队方法,应用于网络芯片中的入队管理单元,所述方法包括:

3、在接收目标报文的情况下,确定所述目标报文所属的目标队列;

4、判断是否存在属于所述目标队列的有效报文;其中,所述有效报文为:未接收到地址分配单元针对该报文的入队请求响应enq res消息的报文;

5、若不存在,则向所述地址分配单元发送针对所述目标报文的入队请求enq消息,以使得所述地址分配单元反馈所述enq消息请求分配的地址数量个地址;其中,所述enq消息中携带的请求分配的地址数量为:该enq消息针对的报文的数量;

6、若存在,则暂存所述目标报文,在所述地址分配单元反馈enq res消息,或暂存的报文数量达到预设数量的情况下,向所述地址分配单元发送针对当前暂存的所有报文的一个enq消息,以使得所述地址分配单元反馈所述enq消息请求分配的地址数量个地址;

7、在接收到所述地址分配单元反馈的enq res消息后,基于该enq res消息中携带的地址,将所述目标报文入队。

8、在一种可能的实施例中,所述判断是否存在属于所述目标队列的有效报文;若不存在,则向所述地址分配单元发送针对所述目标报文的enq消息;若存在,则暂存所述目标报文,在所述地址分配单元反馈enq res消息,或暂存的报文数量达到预设数量的情况下,向所述地址分配单元发送针对当前暂存的所有报文的一个enq消息;在接收到所述地址分配单元反馈的enq res消息后,基于该enq res消息中携带的地址,将所述目标报文入队,包括:

9、判断所述目标队列是否存在取值为第一取值的有效标识;其中,有效标识包含于所记录的对应目标队列的映射关系中,不同的映射关系对应不同的报文,有效标识的取值为第一取值表示:未接收到针对所对应报文的enq res消息,否则表示已接收到针对所对应报文的enq res消息;

10、若不存在,则向地址分配单元发送一次针对所述目标报文的enq消息,并记录所述目标队列对应的第一映射关系;其中,所述第一映射关系为:取值为所述目标报文的标识的起始标识、取值为所述第一取值的有效标识、取值为第二取值的发送标识、取值为所述目标报文的标识的终止标识之间的映射关系,发送标识的取值为第二取值表示已向所述地址分配单元发送针对拼包报文的enq消息,否则,表示未向所述地址分配单元发送针对拼包报文的enq消息,所述拼包报文为:从所述起始标识指示的报文至所述终止标识指示的报文之间接收到的报文;

11、若存在,且不存在目标发送标识,则记录所述目标队列对应的第二映射关系;其中,所述第二映射关系为取值为所述目标报文的标识的起始标识、取值为所述第一取值的有效标识、取值为非第二取值的发送标识、取值为所述目标报文的标识的终止标识之间的映射关系,所述目标发送标识为:对应所述目标队列的取值为非第二取值的发送标识;

12、若存在,并存在所述目标发送标识,则将包含所述目标发送标识的映射关系中的终止标识更新为所述目标报文的标识,若更新后拼包报文的数量达到预设报文数量,则向所述地址分配单元发送一次针对该映射关系对应的拼包报文的enq消息,以请求所述地址分配单元为所述拼包报文分配所述预设报文数量个地址,并将拼包报文对应的映射关系中的发送标识的取值更新为第二取值;

13、若接收到针对目标队列的enq res消息,则将enq res消息针对的报文所对应的有效标识的取值更新为非第一取值,并在存在第三映射关系的情况下,发送针对所述第三映射关系对应的拼包报文的enq消息;其中,所述第三映射关系中包含的有效标识的取值为第一取值,包含的发送标识的取值非第二取值;

14、基于所接收到的enq res消息中包含的地址,将该enq res消息对应的报文入队。

15、在一种可能的实施例中,所述方法还包括:

16、在发送报文对应的enq消息后,记录该报文的标识。

17、在一种可能的实施例中,所述目标报文的长度不低于预设报文长度。

18、在本发明实施例的第二方面,还提供了一种报文入队方法,应用于网络芯片中的地址分配单元,所述方法包括:

19、接收入队管理单元发送的携带有请求分配的地址数量的入队请求enq消息;

20、为报文分配所述地址数量个地址;

21、向所述入队管理单元发送包含所分配的地址的入队请求响应enq res消息,以使得所述入队管理单元基于enq res消息中包含的地址,将报文入队。

22、在本发明实施例的第三方面,还提供了一种报文入队装置,应用于网络芯片中的入队管理单元,所述装置包括:

23、队列确定模块,用于在接收目标报文的情况下,确定所述目标报文所属的目标队列;

24、报文判断模块,用于判断是否存在属于所述目标队列的有效报文;其中,所述有效报文为:未接收到地址分配单元针对该报文的入队请求响应enq res消息的报文;

25、第一发送模块,用于若不存在,则向所述地址分配单元发送针对所述目标报文的入队请求enq消息,以使得所述地址分配单元反馈所述enq消息请求分配的地址数量个地址,所述enq消息中携带的请求分配的地址数量为:该enq消息针对的报文的数量;

26、第二发送模块,用于若存在,则暂存所述目标报文,在所述地址分配单元反馈enqres消息,或暂存的报文数量达到预设数量的情况下,向所述地址分配单元发送针对当前暂存的所有报文的一个enq消息,以使得所述地址分配单元反馈所述enq消息请求分配的地址数量个地址;

27、报文入队模块,用于在接收到所述地址分配单元反馈的enq res消息后,基于该enq res消息中携带的地址,将所述目标报文入队。

28、在一种可能的实施例中,所述报文判断模块、第一发送模块、第二发送模块、报文入队模块,具体用于:

29、判断所述目标队列是否存在取值为第一取值的有效标识;其中,有效标识包含于所记录的对应目标队列的映射关系中,不同的映射关系对应不同的报文,有效标识的取值为第一取值表示:未接收到针对所对应报文的enq res消息,否则表示已接收到针对所对应报文的enq res消息;

30、若不存在,则向地址分配单元发送一次针对所述目标报文的enq消息,并记录所述目标队列对应的第一映射关系;其中,所述第一映射关系为:取值为所述目标报文的标识的起始标识、取值为所述第一取值的有效标识、取值为第二取值的发送标识、取值为所述目标报文的标识的终止标识之间的映射关系,发送标识的取值为第二取值表示已向所述地址分配单元发送针对拼包报文的enq消息,否则,表示未向所述地址分配单元发送针对拼包报文的enq消息,所述拼包报文为:从所述起始标识指示的报文至所述终止标识指示的报文之间接收到的报文;

31、若存在,且不存在目标发送标识,则记录所述目标队列对应的第二映射关系;其中,所述第二映射关系为取值为所述目标报文的标识的起始标识、取值为所述第一取值的有效标识、取值为非第二取值的发送标识、取值为所述目标报文的标识的终止标识之间的映射关系,所述目标发送标识为:对应所述目标队列的取值为非第二取值的发送标识;

32、若存在,并存在所述目标发送标识,则将包含所述目标发送标识的映射关系中的终止标识更新为所述目标报文的标识,若更新后拼包报文的数量达到预设报文数量,则向所述地址分配单元发送一次针对该映射关系对应的拼包报文的enq消息,以请求所述地址分配单元为所述拼包报文分配所述预设报文数量个地址,并将拼包报文对应的映射关系中的发送标识的取值更新为第二取值;

33、若接收到针对目标队列的enq res消息,则将enq res消息针对的报文所对应的有效标识的取值更新为非第一取值,并在存在第三映射关系的情况下,发送针对所述第三映射关系对应的拼包报文的enq消息;其中,所述第三映射关系中包含的有效标识的取值为第一取值,包含的发送标识的取值非第二取值;

34、基于所接收到的enq res消息中包含的地址,将该enq res消息对应的报文入队。

35、在一种可能的实施例中,所述装置还包括:

36、标识记录模块,用于在发送报文对应的enq消息后,记录该报文的标识。

37、在一种可能的实施例中,所述目标报文的长度不低于预设报文长度。

38、在本发明实施例的第四方面,还提供了一种报文入队装置,应用于网络芯片中的地址分配单元,所述装置包括:

39、消息接收模块,用于接收入队管理单元发送的携带有请求分配的地址数量的入队请求enq消息;

40、地址分配模块,用于为报文分配所述地址数量个地址;

41、第三发送模块,用于向所述入队管理单元发送包含所分配的地址的入队请求响应enq res消息,以使得所述入队管理单元基于enq res消息中包含的地址,将报文入队。

42、在本发明实施例的第五方面,还提供了一种网络芯片,所述网络芯片中的入队管理单元用于实现上述第一方面任一所述的方法步骤。

43、在本发明实施例的第六方面,还提供了一种网络芯片,所述网络芯片中的地址分配单元用于实现上述第二方面所述的方法步骤。

44、在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面任一所述的方法步骤。

45、本发明实施例有益效果:

46、本发明实施例提供的报文入队方法,由于入队管理单元在存在属于目标队列的有效报文的情况下,对暂存的目标报文进行拼包操作,并向地址分配单元发送针对当前暂存的所有报文的一个enq消息,enq消息中携带的请求分配的地址数量为该enq消息针对的报文的数量,因此,地址分配单元可以一次为当前暂存的所有报文分配地址,并且,针对当前暂存的所有报文,地址分配单元也只会向入队管理单元返回一次enq res消息,避免了入队管理单元与地址分配单元之间频繁的消息交互,从而减少了报文的处理时延。

47、当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。


技术特征:

1.一种报文入队方法,其特征在于,应用于网络芯片中的入队管理单元,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述判断是否存在属于所述目标队列的有效报文,包括:

3.根据权利要求1所述的方法,其特征在于,所述若不存在,则向所述地址分配单元发送针对所述目标报文的入队请求enq消息,以使得所述地址分配单元反馈所述enq消息请求分配的地址数量个地址,包括:

4.根据权利要求1所述的方法,其特征在于,所述若存在,则暂存所述目标报文,在所述地址分配单元反馈enq res消息,或暂存的报文数量达到预设数量的情况下,向所述地址分配单元发送针对当前暂存的所有报文的一个enq消息,以使得所述地址分配单元反馈所述enq消息请求分配的地址数量个地址,包括:

5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述在接收到所述地址分配单元反馈的enq res消息后,基于该enq res消息中携带的地址,将所述目标报文入队,包括:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1-7中任一项所述的方法,其特征在于,所述目标报文的长度不低于预设报文长度。

9.一种报文入队方法,其特征在于,应用于网络芯片中的地址分配单元,所述方法包括:

10.一种报文入队装置,其特征在于,应用于网络芯片中的入队管理单元,所述装置包括:

11.一种报文入队装置,其特征在于,应用于网络芯片中的地址分配单元,所述装置包括:

12.一种网络芯片,其特征在于,所述网络芯片中的入队管理单元用于实现权利要求1-8任一所述的方法步骤。

13.一种网络芯片,其特征在于,所述网络芯片中的地址分配单元用于实现权利要求9所述的方法步骤。

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8或9任一所述的方法步骤。


技术总结
本发明实施例提供了一种报文入队方法、装置、网络芯片及存储介质。涉及通信技术领域,应用于网络芯片中的入队管理单元。上述方法包括:在接收目标报文的情况下,确定目标报文所属的目标队列;判断是否存在属于目标队列的有效报文;若不存在,则向地址分配单元发送针对目标报文的ENQ消息;若存在,则暂存目标报文,在地址分配单元反馈ENQ Res消息,或暂存的报文数量达到预设数量的情况下,向地址分配单元发送针对当前暂存的所有报文的一个ENQ消息;在接收到地址分配单元反馈的ENQ Res消息后,基于该ENQ Res消息中携带的地址,将目标报文入队。应用本发明实施例提供的方案能够减少报文的处理时延。

技术研发人员:王健松
受保护的技术使用者:格创通信(浙江)有限公司
技术研发日:
技术公布日:2024/9/23
转载请注明原文地址:https://www.famiwei.com/read-9025195.html

最新回复(0)