一种报文处理方法、装置、电子设备及存储介质与流程
- 国知局
- 2024-08-22 15:11:05
本发明实施例涉及芯片,特别是涉及一种报文处理方法、装置、电子设备及存储介质。
背景技术:
1、随着数字化时代的到来,云计算、物联网、人工智能等通信技术快速发展,这对进行报文处理的芯片的性能提出了更高的要求,也就是需要在芯片的有限功耗与面积下,尽可能提高芯片对报文的处理效率,以使得芯片能够以更高的报文处理效率来满足不同通信场景下的报文处理需求。
技术实现思路
1、本发明实施例的目的在于提供一种报文处理方法、装置、电子设备及存储介质,以提高对报文的处理效率。具体技术方案如下:
2、第一方面,本发明实施例提供了一种报文处理方法,应用于目标芯片,上述目标芯片包含不同通道分别对应的不同的缓存分配模块、输出调度模块以及各个通道共同对应的多个计算单元,不同计算单元对应不同的包头缓存,上述方法包括:
3、在目标通道接收到报文切片的情况下,若上述报文切片为包头数据,则上述目标通道对应的目标缓存分配模块向上述多个计算单元中的目标计算单元发送第一信息,并向上述目标通道对应的目标输出调度模块发送第一地址信息;
4、其中,上述包头数据为报文头中的数据;上述第一信息包含上述包头数据、上述第一地址信息;
5、上述目标计算单元将上述包头数据存储至第一位置,并对所存储的上述包头数据进行解析,向上述目标输出调度模块发送上述包头数据,其中,上述第一位置为:自身对应的包头缓存中上述第一地址信息表示的位置;
6、上述目标输出调度模块根据上述第一地址信息以及第二地址信息,确定包头数据与净荷数据的排列顺序,按照上述排列顺序组合上述包头数据与净荷数据,得到并输出完整的报文,其中,上述第二地址信息表示上述净荷数据的存储位置,上述净荷数据为:报文中除包头数据外的数据。
7、本发明一个实施例中,不同通道分别对应不同的净荷缓存,上述方法还包括:
8、若上述报文切片为净荷数据,且上述目标通道对应的目标净荷缓存能够容纳上述净荷数据,则上述目标缓存分配模块向上述目标输出调度模块发送第二信息,上述第二信息包含上述净荷数据以及上述第二地址信息;
9、上述目标输出调度模块将上述净荷数据存储至第二位置,上述第二位置为:上述目标净荷缓存中上述第二地址信息表示的位置。
10、本发明一个实施例中,不同通道分别对应不同的净荷缓存,上述方法还包括:
11、若上述报文切片为净荷数据,且上述目标通道对应的目标净荷缓存不能够容纳上述净荷数据,则上述目标缓存分配模块向上述目标计算单元发送第二信息,上述第二信息包含上述净荷数据以及上述第二地址信息;
12、上述目标计算单元将上述净荷数据存储至第三位置,上述第三位置为:上述目标计算单元对应的包头缓存中上述第二地址信息表示的位置。
13、本发明一个实施例中,上述缓存分配模块通过以下方式为不同计算单元分配所对应的包头缓存:
14、确定各个计算单元当前对应的包头缓存中空闲空间的大小;
15、按照第一原则,为各个计算单元分配所对应的包头缓存,上述第一原则为:计算单元当前对应的空闲空间越小,分配后的包头缓存数量的增量越大。
16、本发明一个实施例中,针对一个计算单元,该计算单元对应的包头缓存存在所属的通道,上述目标计算单元将上述包头数据存储至第一位置,包括:
17、上述目标计算单元将上述包头数据存储至属于上述目标通道的包头缓存中的第一位置。
18、本发明一个实施例中,针对每一计算单元,该计算单元通过以下方式调整该计算单元对应的包头缓存所属的通道:
19、接收各通道对应的缓存分配模块发送的包头缓存信息,每一通道对应的包头缓存信息表示空闲的目标包头缓存的数量,上述目标包头缓存为:属于该通道的包头缓存;
20、按照第二原则,为各个通道分配属于该通道的包头缓存,上述第二原则为:通道对应的包头缓存信息表示的数量越少,分配后该通道的包头缓存的数量增量越大。
21、第二方面,本发明实施例提供了一种报文处理装置,应用于目标芯片,上述目标芯片包含不同通道分别对应的不同的缓存分配模块、输出调度模块以及各个通道共同对应的多个计算单元,不同计算单元对应不同的包头缓存,上述装置包括:
22、第一发送模块,用于在目标通道接收到报文切片的情况下,若上述报文切片为包头数据,则上述目标通道对应的目标缓存分配模块向上述多个计算单元中的目标计算单元发送第一信息,并向上述目标通道对应的目标输出调度模块发送第一地址信息;
23、其中,上述包头数据为报文头中的数据;上述第一信息包含上述包头数据、上述第一地址信息;
24、解析与发送模块,用于上述目标计算单元将上述包头数据存储至第一位置,并对所存储的上述包头数据进行解析,向上述目标输出调度模块发送上述包头数据,其中,上述第一位置为:自身对应的包头缓存中上述第一地址信息表示的位置;
25、组合输出模块,用于上述目标输出调度模块根据上述第一地址信息以及第二地址信息,确定包头数据与净荷数据的排列顺序,按照上述排列顺序组合上述包头数据与净荷数据,得到并输出完整的报文,其中,上述第二地址信息表示上述净荷数据的存储位置,上述净荷数据为:报文中除包头数据外的数据。
26、本发明一个实施例中,不同通道分别对应不同的净荷缓存,上述装置还包括:
27、第二发送模块,用于若上述报文切片为净荷数据,且上述目标通道对应的目标净荷缓存能够容纳上述净荷数据,则上述目标缓存分配模块向上述目标输出调度模块发送第二信息,上述第二信息包含上述净荷数据以及上述第二地址信息;
28、第一存储模块,用于上述目标输出调度模块将上述净荷数据存储至第二位置,上述第二位置为:上述目标净荷缓存中上述第二地址信息表示的位置。
29、本发明一个实施例中,不同通道分别对应不同的净荷缓存,上述装置还包括:
30、第三发送模块,用于若上述报文切片为净荷数据,且上述目标通道对应的目标净荷缓存不能够容纳上述净荷数据,则上述目标缓存分配模块向上述目标计算单元发送第二信息,上述第二信息包含上述净荷数据以及上述第二地址信息;
31、第二存储模块,用于上述目标计算单元将上述净荷数据存储至第三位置,上述第三位置为:上述目标计算单元对应的包头缓存中上述第二地址信息表示的位置。
32、本发明一个实施例中,上述装置还包括:
33、确定模块,用于缓存分配模块确定各个计算单元当前对应的包头缓存中空闲空间的大小;
34、第一分配模块,用于缓存分配模块按照第一原则,为各个计算单元分配所对应的包头缓存,上述第一原则为:计算单元当前对应的空闲空间越小,分配后的包头缓存数量的增量越大。
35、本发明一个实施例中,针对一个计算单元,该计算单元对应的包头缓存存在所属的通道,上述解析与发送模块,具体用于:
36、上述目标计算单元将上述包头数据存储至属于上述目标通道的包头缓存中的第一位置,并对所存储的上述包头数据进行解析,向上述目标输出调度模块发送上述包头数据,其中,上述第一位置为:自身对应的包头缓存中上述第一地址信息表示的位置。
37、本发明一个实施例中,上述装置还包括:
38、接收模块,用于针对每一计算单元,该计算单元接收各通道对应的缓存分配模块发送的包头缓存信息,每一通道对应的包头缓存信息表示空闲的目标包头缓存的数量,上述目标包头缓存为:属于该通道的包头缓存;
39、第二分配模块,用于计算单元按照第二原则,为各个通道分配属于该通道的包头缓存,上述第二原则为:通道对应的包头缓存信息表示的数量越少,分配后该通道的包头缓存的数量增量越大。
40、第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
41、存储器,用于存放计算机程序;
42、处理器,用于执行存储器上所存放的程序时,实现第一方面任一的方法步骤。
43、第四方面,本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质内存储有计算机程序,上述计算机程序被处理器执行时实现第一方面任一的方法步骤。
44、本发明实施例有益效果:
45、由以上可见,在本发明实施例提供的方案中,若目标通道接收的报文切片为包头数据,则目标缓存分配模块将包头数据发送给目标计算单元。在目标计算单元完成对包头数据的解析,确定出包头数据所属的报文的路由信息后,目标输出调度模块将包头数据与净荷数据组合成完整的报文并输出。在这其中,目标芯片的各个通道共同对应多个计算单元,也就是计算单元是各通道共享的,则各计算单元各自对应的包头缓存也都有机会被不同的通道使用,一个通道能够使用为该通道服务的计算单元的包头缓存。由于各计算单元、包头缓存对各通道都是开放的,故目标芯片在处理报文的过程中能够充分调动各计算单元、包头缓存资源,能够提高对报文的处理效率。并且,由于不同计算单元对应不同的包头缓存,即一个计算单元正在使用的包头缓存不会被另一个计算单元同时使用,能够避免不同计算单元间对包头缓存的调度使用冲突。
本文地址:https://www.jishuxx.com/zhuanli/20240822/281531.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。