本公开属于计算机领域,具体涉及一种报文解析方法、相关装置及介质。
背景技术:
1、当前环境下,大数据和高带宽需求、实时性和低延迟要求、网络安全问题,以及多样化的应用场景和设备都是当下环境中需要加速网络报文处理的主要原因。通过加速网络报文处理,可以提高网络性能和吞吐量,降低延迟,满足日益增长的数据处理和通信需求。
2、而传统的实现方式中,cpu在接收到对应的解析报文后需要对解析报文中的报文头部的报文类型进行判断,并根据判断结果调用对应的报文类型的处理函数,进一步,在反馈给上层应用时,需要重新根据报文头部中的五元组计算其哈希值来确定报文反馈给上层应用的解析后的网络数据的内存地址空间,因此仍然需要cpu进行大量的判断以及计算操作。当网络数据量较大时会影响整个主设备的业务运行速率。
技术实现思路
1、为解决上述问题,本公开实施例提出一种网络报文解析方法、计算机设备及可读存储介质,它能减少对主设备的算力占用,提高主设备对网络报文的处理能力。
2、本公开的第一方面提出一种报文解析方法,用于与主设备配套使用的加速卡,包括:
3、接收目标设备向所述主设备发送的目标报文;
4、从所述目标报文提取解析关键信息;
5、借助于所述加速卡与所述主设备之间已有的第一机制,将所述解析关键信息添加到所述第一机制对应的机制消息中,存储到所述主设备的预定存储区域,使得所述主设备不用从所述目标报文中解析出所述解析关键信息,而是从所述预定存储区域读取所述解析关键信息,并利用所述解析关键信息解析所述目标报文。
6、在本公开的一些实施方式中,解析关键信息包括所述目标报文的报文类型;
7、所述利用所述解析关键信息解析所述目标报文,包括:
8、根据所述报文类型,选取报文处理函数;
9、利用选取的所述报文处理函数,对所述目标报文进行处理,得到处理后报文。
10、在本公开的一些实施方式中,解析关键信息包括所述目标报文的五元组哈希值;
11、所述利用所述解析关键信息解析所述目标报文,还包括:
12、根据所述五元组哈希值,查找五元组哈希值与内存地址对照表,得到所述目标报文存储到的所述内存地址;
13、将所述处理后报文存储到所述内存地址。
14、在本公开的一些实施方式中,从所述目标报文提取解析关键信息,包括:
15、从所述目标报文的头部中提取所述报文类型;
16、从所述目标报文中提取所述网络报文的五元组,并对所述五元组进行摘要计算得到所述五元组哈希值。
17、在本公开的一些实施方式中,第一机制是缓存描述符机制,所述第一机制对应的所述机制消息是所述缓存描述符;
18、所述将所述解析关键信息添加到所述第一机制对应的机制消息中,包括:将所述解析关键信息添加到所述缓存描述符中。
19、在本公开的一些实施方式中,第一机制是报文尾部机制,所述第一机制对应的所述机制消息是所述目标报文的尾部;
20、所述将所述解析关键信息添加到所述第一机制对应的机制消息中,包括:将所述解析关键信息添加到所述目标报文的所述尾部。
21、在本公开的一些实施方式中,预定存储区域包括多个存储单元的环形缓存器、和指向所述存储单元的存储单元指针;
22、所述从所述预定存储区域读取所述解析关键信息,包括:从所述存储单元指针指向的所述存储单元中,读取所述解析关键信息,并将所述存储单元指针加1。
23、在本公开的一些实施方式中,将所述解析关键信息添加到所述第一机制对应的机制消息中还包括:
24、判断所述网络报文头部的自定义区域的可用数据空间是否满足所述报文类型和所述五元组的哈希值的存储空间需要;
25、响应于所述判断结果不满足,将所述五元组的哈希值和/或所述报文类型添加到所述网络报文的数据部的预定区域。
26、本公开的另一方面还提出一种报文解析系统,用于与主设备配套使用的加速卡,包括:
27、报文接收模块,用于接收目标设备向所述主设备发送的目标报文;
28、报文解析模块,用于从所述目标报文提取解析关键信息;
29、报文传输模块,用于借助于所述加速卡与所述主设备之间已有的第一机制,将所述解析关键信息添加到所述第一机制对应的机制消息中,存储到所述主设备的预定存储区域,使得所述主设备不用从所述目标报文中解析出所述解析关键信息,而是从所述预定存储区域读取所述解析关键信息,并利用所述解析关键信息解析所述目标报文。
30、本公开的又一方面还提出一种专用数据处理器,其特征在于,包括:
31、存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,实现上述实施方式中任意一项所述方法的步骤。
32、本公开的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
33、通过本公开实施例提出的一种网络报文解析方法、计算机设备及可读存储介质,与现有技术主设备需要从接收到的目标报文解析出解析关键信息,并据此解析目标报文的方案相比,由加速卡拦截目标设备向主设备发送的目标报文,从中提取出解析关键信息,并借助于加速卡与主设备之间已有的第一机制,将解析关键信息添加到第一机制对应的机制消息中,存储到主设备的预定存储区域。这样,主设备就不用从目标报文解析出解析关键信息,而是可以从预定存储区域存储的机制消息直接得到解析关键信息,并据此来解析目标报文,可大大降低主设备端在解析目标报文时的处理流程以及计算量,减少对主设备的算力占用,提高主设备对网络报文的处理能力。
1.一种报文解析方法,用于与主设备配套使用的加速卡,其特征在于,包括:
2.根据权利要求1所述的报文解析方法,其特征在于,所述解析关键信息包括所述目标报文的报文类型;
3.根据权利要求2所述的报文解析方法,其特征在于,所述解析关键信息包括所述目标报文的五元组哈希值;
4.根据权利要求3所述的报文解析方法,其特征在于,所述从所述目标报文提取解析关键信息,包括:
5.根据权利要求1所述的报文解析方法,其特征在于,所述第一机制是缓存描述符机制,所述第一机制对应的所述机制消息是所述缓存描述符;
6.根据权利要求1所述的报文解析方法,其特征在于,所述第一机制是报文尾部机制,所述第一机制对应的所述机制消息是所述目标报文的尾部;
7.根据权利要求1所述的报文解析方法,其特征在于,所述预定存储区域包括多个存储单元的环形缓存器、和指向所述存储单元的存储单元指针;
8.一种报文解析系统,用于与主设备配套使用的加速卡,其特征在于,包括:
9.一种专用数据处理器,其特征在于,包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述报文解析方法的步骤。