CN115941598A - 一种流表半卸载方法、设备及介质 - Google Patents

一种流表半卸载方法、设备及介质 Download PDF

Info

Publication number
CN115941598A
CN115941598A CN202310220123.5A CN202310220123A CN115941598A CN 115941598 A CN115941598 A CN 115941598A CN 202310220123 A CN202310220123 A CN 202310220123A CN 115941598 A CN115941598 A CN 115941598A
Authority
CN
China
Prior art keywords
flow table
identification information
forwarding device
message
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310220123.5A
Other languages
English (en)
Other versions
CN115941598B (zh
Inventor
常伟
余兆国
彭雪娇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Xingyun Zhilian Technology Co Ltd
Original Assignee
Zhuhai Xingyun Zhilian Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Xingyun Zhilian Technology Co Ltd filed Critical Zhuhai Xingyun Zhilian Technology Co Ltd
Priority to CN202310220123.5A priority Critical patent/CN115941598B/zh
Publication of CN115941598A publication Critical patent/CN115941598A/zh
Application granted granted Critical
Publication of CN115941598B publication Critical patent/CN115941598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种流表半卸载方法、设备及介质。方法包括:通过报文转发装置的硬件,接收报文数据包并且利用第一算法计算报文数据包的第一标识信息的第一计算结果,第一标识信息用于流表匹配,第一计算结果的长度小于第一标识信息的长度;上送第一计算结果到报文转发装置的软件;根据第一计算结果进行冲突检查以确定第一计算结果是否命中至少两个流表项,如果命中则确定存在冲突,如果未命中则确定不存在冲突;当确定不存在冲突时,对报文数据包执行与第一计算结果相匹配的流表项的流表处理操作,当确定存在冲突时,上送第一标识信息,然后对报文数据包执行与第一标识信息相匹配的流表项的流表处理操作。如此节省缓存资源也提高转发性能。

Description

一种流表半卸载方法、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种流表半卸载方法、设备及介质。
背景技术
随着数据中心、云计算、网络技术的发展以及应用,需要通过流表卸载相关加速技术来提升芯片转发性能。一种流表卸载相关加速技术是流表硬件卸载也叫流表全卸载,指的是将用户空间的软件流表卸载到硬件上,由硬件或者说通过内核空间直接进行流表匹配以及执行报文转发。但是,流表全卸载需要将完整的流表卸载到硬件的有限缓存中,因此只能容纳有限的流表规格。另一种流表卸载相关加速技术是流表半卸载,卸载到硬件的不是完整的流表,而是用于匹配的流表项键值,由硬件接收到报文后,通过卸载到硬件上的半卸载流表找到匹配的流表项键值,再由软件找到匹配的流表处理操作转发。现有技术中的流表半卸载,与流表全卸载共用硬件缓存,占用了原本可以用于全卸载流表条目的空间,另外面对较高的流表规格例如大数据、云计算应用中常见的百万量级的流表,在软硬件交互、老化、统计以及流程上都比较复杂和效率低下。
发明内容
本申请实施例提供了一种流表半卸载方法、设备及介质,用于解决现有技术中存在的问题。
第一方面,本申请提供了一种流表半卸载方法。所述流表半卸载方法包括:通过报文转发装置的硬件,接收报文数据包并且利用第一算法计算所述报文数据包的第一标识信息的第一计算结果,所述第一标识信息用于所述报文数据包的流表匹配,所述第一计算结果的长度小于所述第一标识信息的长度;通过所述报文转发装置的硬件,上送所述第一计算结果到所述报文转发装置的软件;通过所述报文转发装置的软件,根据所述第一计算结果进行冲突检查以确定所述第一计算结果是否命中至少两个流表项,如果命中则确定存在冲突,如果未命中则确定不存在冲突;当所述报文转发装置的软件确定不存在冲突时,通过所述报文转发装置的软件对所述报文数据包执行与所述第一计算结果相匹配的流表项的流表处理操作,当所述报文转发装置的软件确定存在冲突时,通过所述报文转发装置的硬件上送所述第一标识信息,然后通过所述报文转发装置的软件对所述报文数据包执行与所述第一标识信息相匹配的流表项的流表处理操作。
通过本申请的第一方面,节省了硬件的有限缓存资源也提高了有限的流表容量下的转发性能,也简化了软硬件交互、老化、统计等。
在本申请的第一方面的一种可能的实现方式中,所述流表半卸载方法还包括:在通过所述报文转发装置的硬件上送所述第一标识信息之后,通过所述报文转发装置的软件,基于所述第一标识信息,从所述报文转发装置的软转流表中检索与所述第一标识信息相匹配的流表项。
在本申请的第一方面的一种可能的实现方式中,所述流表半卸载方法还包括:当所述报文转发装置的软件在所述报文转发装置的软转流表中没有检索到与所述第一标识信息相匹配的流表项,通过所述报文转发装置的软件生成与所述第一标识信息相匹配的流表项以及添加与所述第一标识信息相匹配的流表项到所述报文转发装置的软转流表。
在本申请的第一方面的一种可能的实现方式中,当所述第一计算结果命中所述至少两个流表项时,利用所述第一算法计算所述至少两个流表项各自的标识信息得到的计算结果均为所述第一计算结果。
在本申请的第一方面的一种可能的实现方式中,所述至少两个流表项各自的标识信息与所述第一标识信息具有相同的内容组成。
在本申请的第一方面的一种可能的实现方式中,通过所述报文转发装置的软件,存储利用所述第一算法计算所述报文转发装置的软转流表中每一个流表项各自的标识信息得到的计算结果。
在本申请的第一方面的一种可能的实现方式中,所述至少两个流表项来自所述报文转发装置的软转流表。
在本申请的第一方面的一种可能的实现方式中,所述报文转发装置的软转流表中每一个流表项各自的标识信息与所述第一标识信息具有相同的内容组成。
在本申请的第一方面的一种可能的实现方式中,所述流表半卸载方法还包括:通过所述报文转发装置的硬件,接收另一报文数据包,以及根据所述报文转发装置的缓存状态,选择性地利用卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行所述另一报文数据包的标识信息匹配从而生成所述另一报文数据包的标记标识,然后上送所述标记标识到所述报文转发装置的软件;通过所述报文转发装置的软件,对所述另一报文数据包执行与所述标记标识相匹配的流表项的流表处理操作。
在本申请的第一方面的一种可能的实现方式中,当所述报文转发装置的缓存状态指示所述报文转发装置的空闲缓存小于第一预设阈值时,所述报文转发装置的硬件只利用卸载到所述报文转发装置的硬件的全卸载流表来进行所述另一报文数据包的标识信息匹配。
在本申请的第一方面的一种可能的实现方式中,当所述报文转发装置的缓存状态指示所述报文转发装置的空闲缓存小于第二预设阈值时,所述报文转发装置的硬件不利用卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行所述另一报文数据包的标识信息匹配。
在本申请的第一方面的一种可能的实现方式中,所述第一标识信息是所述报文数据包的key键值。
在本申请的第一方面的一种可能的实现方式中,所述报文数据包的所述键值包括以下至少一项:源机器地址、目的机器地址、VLAN信息、协议类型、源IP地址,目的IP地址、端口号。
在本申请的第一方面的一种可能的实现方式中,所述第一标识信息用于对所述报文数据包进行报文硬转的流表匹配。
在本申请的第一方面的一种可能的实现方式中,所述流表处理操作包括以下至少一项:转发、丢弃、排队、修改域。
在本申请的第一方面的一种可能的实现方式中,所述报文转发装置是网卡,所述报文转发装置的硬件对应所述网卡的内核空间,所述报文转发装置的软件对应所述网卡的用户空间。
在本申请的第一方面的一种可能的实现方式中,所述报文转发装置基于现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)或者数据处理器DPU实现。
在本申请的第一方面的一种可能的实现方式中,所述第一算法是第一加密算法,所述第一计算结果是对所述第一标识信息应用所述第一加密算法得到的密文。
在本申请的第一方面的一种可能的实现方式中,所述第一加密算法是以下任意一项:哈希算法、密码散列函数MD5算法、加密哈希SHA算法、散列消息鉴别码HMAC算法、数据加密标准DES算法、高级加密标准AES算法、RSA加密算法。
在本申请的第一方面的一种可能的实现方式中,所述第一算法是第一压缩算法,所述第一计算结果是对所述第一标识信息应用所述第一压缩算法得到的压缩结果。
第二方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种通过全卸载流表进行报文转发的网卡的示意图;
图2为一种通过半卸载流表进行报文转发的网卡的示意图;
图3为本申请实施例提供的一种流表半卸载方法的流程示意图;
图4为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例提供了一种流表半卸载方法、设备及介质,用于解决现有技术中存在的问题。其中,本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1为一种通过全卸载流表进行报文转发的网卡的示意图。流(flow)指的是同一时间经过同一网络中具有某种共同特征或属性的数据,例如可以将访问同一目的地址的数据视为一个流。流表(flow table)用于流表匹配,可以理解为针对特定流的策略表项的集合。流表中包括了一系列的流表项(flow entries)。同一流表项中可以包括多个动作用于指示对匹配该流表项的报文数据包执行哪种操作。通过流表匹配为报文或者数据包找到相应的流以及执行对应的转发操作,例如发送给对应的端口或者地址。流表匹配可以在软件上操作例如用户空间的操作系统,也可以在硬件上操作例如网卡的内核空间的数据路径模块。图1所示的网卡通过全卸载流表进行报文转发。如图1所示,第一宿主机100包括第一多层虚拟交换机(Open vSwitch,OVS)102和第一虚拟机104,第一芯片110包括第一匹配模块112和第一转发模块114。报文数据包被第一芯片110的第一匹配模块112接收后,第一匹配模块112通过卸载到第一芯片110的全卸载流表进行流表匹配,然后通过第一转发模块114进行报文转发。图1所示的网卡,将用户空间的软件流表卸载到硬件上也就是卸载到第一芯片110上,由硬件或者说通过内核空间直接进行流表匹配以及执行报文转发,从而避免了在用户态和内核态之间的切换也避免了上送和下发操作等。但是,流表全卸载需要将完整的流表卸载到硬件的有限缓存中,因此只能容纳有限的流表规格。
图2为一种通过半卸载流表进行报文转发的网卡的示意图。如图2所示,第二宿主机200包括第二多层虚拟交换机202和第二虚拟机204,第二芯片210包括第二匹配模块212和第二转发模块214。图2的通过半卸载流表进行报文转发的网卡,卸载到硬件也就是第二芯片210的不是完整的流表,而是用于匹配的流表项键(key)值和相应的标记标识(markID)。第二芯片210的第二匹配模块212接收到报文后,通过卸载到硬件上的半卸载流表进行键值匹配,找到相匹配的流表项键值以及查出相应的标记标识,然后上送标记标识到第二多层虚拟交换机202。接着,第二多层虚拟交换机202根据上送的标记标识直接匹配报文,也就是由软件找到匹配的流表处理操作,最后执行相应的转发,也即将报文软转到第二虚拟机204。这里,通过半卸载流表进行报文转发,需要将用于流表匹配的流表项键值和标记标识卸载到硬件上也就是第二芯片210上从而通过第二匹配模块212对接收的报文数据包进行键值匹配并查出相应的标记标识。对于流的首包,第二匹配模块212也就是硬件在进行键值匹配时未命中,这种情况下将流的首包或者报文首包上送到软件也就是第二多层虚拟交换机202,由第二多层虚拟交换机202从上送的报文首包中提取出其键值,然后根据其来生成相应的标记标识,再将报文首包的键值和标记标识卸载到硬件中,从而更新硬件的半卸载流表。如此,报文后续包被第二芯片210接收后,将会通过卸载到硬件上的半卸载流表进行键值匹配并且找到匹配的流表项键值。但是,图2所示的流表半卸载,将用于流表匹配的键值卸载到硬件中,与流表全卸载共用硬件缓存,占用了原本可以用于全卸载流表条目的空间。另外,流表半卸载仍通过硬件进行键值匹配并上送标记标识,因此面对较高的流表规格例如大数据、云计算应用中常见的百万量级的流表,在软硬件交互、老化、统计以及流程上都比较复杂和效率低下。
图3为本申请实施例提供的一种流表半卸载方法的流程示意图。如图3所示,所述流表半卸载方法包括以下步骤。
步骤S310:通过报文转发装置的硬件,接收报文数据包并且利用第一算法计算所述报文数据包的第一标识信息的第一计算结果,所述第一标识信息用于所述报文数据包的流表匹配,所述第一计算结果的长度小于所述第一标识信息的长度。
步骤S320:通过所述报文转发装置的硬件,上送所述第一计算结果到所述报文转发装置的软件。
步骤S330:通过所述报文转发装置的软件,根据所述第一计算结果进行冲突检查以确定所述第一计算结果是否命中至少两个流表项,如果命中则确定存在冲突,如果未命中则确定不存在冲突。
步骤S340:当所述报文转发装置的软件确定不存在冲突时,通过所述报文转发装置的软件对所述报文数据包执行与所述第一计算结果相匹配的流表项的流表处理操作,当所述报文转发装置的软件确定存在冲突时,通过所述报文转发装置的硬件上送所述第一标识信息,然后通过所述报文转发装置的软件对所述报文数据包执行与所述第一标识信息相匹配的流表项的流表处理操作。
参阅上述各个步骤,报文转发装置可以是例如网卡、芯片、网关或者任意具有报文转发功能的设备、装置或者系统,通过图3所示的流表半卸载方法可以提升报文转发装置的转发性能。其中,在步骤S310中,通过报文转发装置的硬件,接收报文数据包,报文数据包可能是报文首包也即某个流的首个被接收的数据包,也可能是报文后续包。通过硬件接收报文数据包,意味着区别于完全依赖软件转发报文的纯软转方式,因此可以利用报文转发装置的硬件来节省中央处理器算力以及提高转发速度。并且,在步骤S310中,利用第一算法计算所述报文数据包的第一标识信息的第一计算结果。这里,对报文数据包的第一标识信息的计算是通过报文转发装置的硬件进行的,可以通过例如现场可编程逻辑门阵列(field-programmable gate array,FPGA)或者其它可编程芯片,将第一算法的逻辑流程或者函数等通过报文转发装置的硬件实现。并且,所述第一标识信息用于所述报文数据包的流表匹配,所述第一计算结果的长度小于所述第一标识信息的长度。第一标识信息可以是例如流表项键值这样可用于流表匹配的有关信息,或者任意的可用于检索流表项的信息。考虑到硬件的缓存资源有限,因此将用于流表匹配的第一标识信息转换为第一计算结果,而且第一计算结果的长度小于第一标识信息的长度,这意味着不需要卸载完整的标识信息到硬件上就可以实现匹配。在一些实施例中,可以将第一算法当成映射函数、查找表、映射空间等,从而将第一标识信息映射到第一计算结果。例如第一算法可以是哈希算法,第一标识信息按照哈希算法进行哈希计算得到哈希值作为第一计算结果。再例如,第一算法可以是压缩算法,第一标识信息按照压缩算法进行压缩得到压缩结果作为第一计算结果。接着,在步骤S320,通过所述报文转发装置的硬件,上送所述第一计算结果到所述报文转发装置的软件。因此,相比于卸载流表项键值到硬件并上送标记标识的流表半卸载方案,图3所示的流表半卸载方法不需要卸载流表项键值而是利用第一算法计算出所述报文数据包的第一标识信息的第一计算结果并且上送第一计算结果,这样可以尽量节省硬件的有限缓存资源也提高了有限的流表容量下的转发性能。接着,在步骤S330中,通过所述报文转发装置的软件,根据所述第一计算结果进行冲突检查以确定所述第一计算结果是否命中至少两个流表项,如果命中则确定存在冲突,如果未命中则确定不存在冲突。这是因为在步骤S320中利用第一算法计算出所述报文数据包的第一标识信息的第一计算结果并且上送第一计算结果,而从第一标识信息到第一计算结果的映射可能会使得不同的流表项被映射到同一个计算结果。例如,利用哈希算法作为第一算法,使得第一标识信息按照哈希算法进行哈希计算得到哈希值作为第一计算结果,32位的哈希值可以用于标识40亿以上的数值,因此可以用于百万量级的流表的流表匹配,但是其中仍然有较小的概率存在冲突也即哈希冲突。为此,在步骤S330中通过报文转发装置的软件进行冲突检查,确定第一计算结果是否命中至少两个流表项,如果命中则意味着存在冲突,如果没有命中则意味着不存在冲突。这里,第一计算结果未命中至少两个流表项,只是代表不存在冲突,也可能是因为该报文数据包是流的首包或者报文首包。接着,在步骤S340,根据在步骤S330中进行冲突检查的结果,当所述报文转发装置的软件确定不存在冲突时,通过所述报文转发装置的软件对所述报文数据包执行与所述第一计算结果相匹配的流表项的流表处理操作。这意味着利用第一计算结果进行匹配检索从而识别与第一计算结果相匹配的流表项,进而执行该流表项的流表处理操作,例如进行报文软转等。相对的,有较小的概率存在冲突,存在冲突的情况下第一计算结果命中至少两个流表项,因此需要上送第一标识信息进行更全面的匹配检查。因此,在步骤S340,当所述报文转发装置的软件确定存在冲突时,通过所述报文转发装置的硬件上送所述第一标识信息,然后通过所述报文转发装置的软件对所述报文数据包执行与所述第一标识信息相匹配的流表项的流表处理操作。这意味着,存在冲突的情况下,需要额外的再上送第一标识信息,利用上送的第一标识信息进行匹配检索从而识别与所述第一标识信息相匹配的流表项,最后执行与所述第一标识信息相匹配的流表项的流表处理操作。考虑到出现冲突的概率较小,也就是说在步骤S330中确定存在冲突的概率较小,因此一般情况下,或者说大多数的报文数据包,最后是通过所述报文转发装置的软件对所述报文数据包执行与所述第一计算结果相匹配的流表项的流表处理操作。如此,相比于需要卸载完整流表到硬件的流表全卸载以及相比于需要卸载流表项键值到硬件的流表半卸载,本申请实施例提供的流表半卸载方法,不需要卸载完整流表也不需要卸载流表项键值,而是利用第一算法计算所述报文数据包的第一标识信息的第一计算结果,从而节省了硬件的有限缓存资源也提高了有限的流表容量下的转发性能;并且,通过进行冲突检查确保了使用第一计算结果来进行流表匹配的正确性,以及通过利用第一计算结果进行匹配检索,相比于进行流表项键值匹配,不仅可以应对百万量级的流表规格,而且流程上简单、效率高。进一步地,因为不需要通过硬件进行流表项键值匹配,而是仅通过硬件计算第一计算结果,使得相关的流表项的维护、老化、统计等都可以通过软件完成,这样也简化了软硬件交互、老化、统计等方面。进一步地,因为节省了硬件有限的缓存资源,使得可以该报文转发装置的硬件可以承载更多的全卸载流表,这样有利于保证流表容量较小的转发性能,也节省了硬件进行流表项键值匹配的算力资源。
在一种可能的实现方式中,所述流表半卸载方法还包括:在通过所述报文转发装置的硬件上送所述第一标识信息之后,通过所述报文转发装置的软件,基于所述第一标识信息,从所述报文转发装置的软转流表中检索与所述第一标识信息相匹配的流表项。在一些实施例中,所述流表半卸载方法还包括:当所述报文转发装置的软件在所述报文转发装置的软转流表中没有检索到与所述第一标识信息相匹配的流表项,通过所述报文转发装置的软件生成与所述第一标识信息相匹配的流表项以及添加与所述第一标识信息相匹配的流表项到所述报文转发装置的软转流表。如此,实现了基于第一标识信息进行匹配检索。
在一种可能的实现方式中,当所述第一计算结果命中所述至少两个流表项时,利用所述第一算法计算所述至少两个流表项各自的标识信息得到的计算结果均为所述第一计算结果。在一些实施例中,所述至少两个流表项各自的标识信息与所述第一标识信息具有相同的内容组成。在一些实施例中,通过所述报文转发装置的软件,存储利用所述第一算法计算所述报文转发装置的软转流表中每一个流表项各自的标识信息得到的计算结果。在一些实施例中,所述至少两个流表项来自所述报文转发装置的软转流表。在一些实施例中,所述报文转发装置的软转流表中每一个流表项各自的标识信息与所述第一标识信息具有相同的内容组成。如此,实现了针对第一计算结果的冲突检查。例如,假设第一算法是哈希算法,第一计算结果是对第一标识信息进行哈希计算得到的哈希值。则如果至少两个流表项各自的标识信息进行哈希计算得到是同样的哈希值,则意味着存在冲突。另外,与第一标识信息具有相同的内容组成,意味着相同类型和相同格式,例如第一标识信息是流表项键值则所述至少两个流表项各自的标识信息也都是流表项键值,也就具有相同的内容组成。
在一种可能的实现方式中,所述流表半卸载方法还包括:通过所述报文转发装置的硬件,接收另一报文数据包,以及根据所述报文转发装置的缓存状态,选择性地利用卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行所述另一报文数据包的标识信息匹配从而生成所述另一报文数据包的标记标识,然后上送所述标记标识到所述报文转发装置的软件;通过所述报文转发装置的软件,对所述另一报文数据包执行与所述标记标识相匹配的流表项的流表处理操作。在一些实施例中,当所述报文转发装置的缓存状态指示所述报文转发装置的空闲缓存小于第一预设阈值时,所述报文转发装置的硬件只利用卸载到所述报文转发装置的硬件的全卸载流表来进行所述另一报文数据包的标识信息匹配。在一些实施例中,当所述报文转发装置的缓存状态指示所述报文转发装置的空闲缓存小于第二预设阈值时,所述报文转发装置的硬件不利用卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行所述另一报文数据包的标识信息匹配。这里,针对另一报文数据包,利用全卸载流表或者半卸载流表在硬件上进行匹配。因此,将上述的图3所示的流表半卸载方法进一步拓展为可以利用已经卸载到硬件上的全卸载流表或者半卸载流表进行匹配检索,这样有助于提高对现有流表资源的利用。另外,根据所述报文转发装置的缓存状态,例如根据其所指示的所述报文转发装置的缓存与第一预设阈值之间的比较结果,可以选择性地利用或者不利用全卸载流表或者半卸载流表。这是因为报文转发装置的缓存状态,例如其硬件的缓存的空闲情况等,影响了整体的转发性能。当空闲缓存小于第一预设阈值时,这意味着需要将缓存资源尽量留给全卸载流表,也就是只利用卸载到所述报文转发装置的硬件的全卸载流表来进行所述另一报文数据包的标识信息匹配。另外,当空闲缓存进一步减少到小于第二预设阈值时,这时候意味着可能硬转流表已经满了,因此需要尽量通过本申请实施例提供的流表半卸载方式来进行报文转发,因此不利用卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行所述另一报文数据包的标识信息匹配。通过第一预设阈值和第二预设阈值,可以根据空闲缓存也即所述报文转发装置的缓存状态,来选择性地利用已有的流表资源,也就是卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行报文转发,有利于提高资源利用效率。
在一种可能的实现方式中,所述第一标识信息是所述报文数据包的key键值。在一种可能的实现方式中,所述报文数据包的所述键值包括以下至少一项:源机器地址、目的机器地址、VLAN信息、协议类型、源IP地址,目的IP地址、端口号。在一种可能的实现方式中,所述第一标识信息用于对所述报文数据包进行报文硬转的流表匹配。在一种可能的实现方式中,所述流表处理操作包括以下至少一项:转发、丢弃、排队、修改域。
在一种可能的实现方式中,所述报文转发装置是网卡,所述报文转发装置的硬件对应所述网卡的内核空间,所述报文转发装置的软件对应所述网卡的用户空间。在一种可能的实现方式中,所述报文转发装置基于现场可编程门阵列FPGA、专用集成电路ASIC或者数据处理器(data processing unit,DPU)实现。
在一种可能的实现方式中,所述第一算法是第一加密算法,所述第一计算结果是对所述第一标识信息应用所述第一加密算法得到的密文。在一些实施例中,所述第一加密算法是以下任意一项:哈希算法、密码散列函数MD5算法、加密哈希(Security HashAlgorithm,SHA)算法、散列消息鉴别码(Hash Message Authentication Code,HMAC)算法、数据加密标准(Data Encryption Standard,DES)算法、高级加密标准(AdvancedEncryption Standard,AES)算法、RSA加密算法。这里,加密算法,例如哈希算法,主要是对原始报文能做编码,从而更好的标识并且具有较低的冲突概率。加密算法可以将原始报文经过加密变成密文,密文长度可以是固定的也可以根据原始报文长度选择。其中,MD5算法是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值。SHA算法包括SHA-1算法,其输入消息长度小于264位而最终输出的结果值是160位;和SHA-256算法,其输入报文的最大长度不超过264位,输入按512位分组进行处理,产生的输出是一个256位的报文摘要。HMAC算法利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。DES算法把64位的明文输入块变为64位的密文输出块。AES密码分组大小和密钥大小可以为128位、192位和256位。
在一种可能的实现方式中,所述第一算法是第一压缩算法,所述第一计算结果是对所述第一标识信息应用所述第一压缩算法得到的压缩结果。压缩算法可以使得原始报文的长度变小,取决于压缩比。压缩算法不仅可以缩短原始报文的长度,使得查找更方便,还可以通过算法减少原始报文冲突率。例如,可以采用无损压缩算法,如差分编码、行程长度编码(Run LengthEncoding,RLE)、哈夫曼(Huffman)编码、串表压缩算法(Lempel-Ziv-Welch,LZW)编码、算术编码等。差分编码(differential encoding)指的是对数字数据流,除第一个元素外,将其中各元素都表示为各该元素与其前一元素的差的编码。RLE算法的原理就是用一个表示块数的属性加上一个数据块代表原来连续的若干块数据,从而达到节省存储空间的目的。Huffman编码是广泛地用于数据文件压缩的有效的编码方法。LZW编码通过建立一个字符串表,用较短的代码来表示较长的字符串来实现压缩。算术编码属于熵编码的一种重要的类型,其作用同变长编码等熵编码方法类似。
参见图4,图4是本申请实施例提供的一种计算设备的结构示意图,该计算设备400包括:一个或者多个处理器410、通信接口420以及存储器430。所述处理器410、通信接口420以及存储器430通过总线440相互连接。可选地,该计算设备400还可以包括输入/输出接口450,输入/输出接口450连接有输入/输出设备,用于接收用户设置的参数等。该计算设备400能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器410还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备400执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器410用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备400可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口420具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器410具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图4的计算设备400可以包括一个或者多个处理器410,并且多个处理器410可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器410可以构成处理器序列或者处理器阵列,或者多个处理器410之间可以分成主处理器和辅助处理器,或者多个处理器410之间可以具有不同的架构如采用异构计算架构。另外,图4所示的计算设备400,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备400可以包括比图4所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器410可以有多种具体实现形式,例如处理器410可以包括中央处理器(central processing unit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)、张量处理器(tensor processingunit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器410还可以是单核处理器或多核处理器。处理器410可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器410也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口420可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器430可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器430也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器430也可用于存储程序代码和数据,以便于处理器410调用存储器430中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备400可能包含相比于图4展示的更多或者更少的组件,或者有不同的组件配置方式。
总线440可以是快捷外围部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线440可以分为地址总线、数据总线、控制总线等。总线440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行上述方法实施例中的方法步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (22)

1.一种流表半卸载方法,其特征在于,所述流表半卸载方法包括:
通过报文转发装置的硬件,接收报文数据包并且利用第一算法计算所述报文数据包的第一标识信息的第一计算结果,所述第一标识信息用于所述报文数据包的流表匹配,所述第一计算结果的长度小于所述第一标识信息的长度;
通过所述报文转发装置的硬件,上送所述第一计算结果到所述报文转发装置的软件;
通过所述报文转发装置的软件,根据所述第一计算结果进行冲突检查以确定所述第一计算结果是否命中至少两个流表项,如果命中则确定存在冲突,如果未命中则确定不存在冲突;
当所述报文转发装置的软件确定不存在冲突时,通过所述报文转发装置的软件对所述报文数据包执行与所述第一计算结果相匹配的流表项的流表处理操作,
当所述报文转发装置的软件确定存在冲突时,通过所述报文转发装置的硬件上送所述第一标识信息,然后通过所述报文转发装置的软件对所述报文数据包执行与所述第一标识信息相匹配的流表项的流表处理操作。
2.根据权利要求1所述的流表半卸载方法,其特征在于,所述流表半卸载方法还包括:在通过所述报文转发装置的硬件上送所述第一标识信息之后,通过所述报文转发装置的软件,基于所述第一标识信息,从所述报文转发装置的软转流表中检索与所述第一标识信息相匹配的流表项。
3.根据权利要求2所述的流表半卸载方法,其特征在于,所述流表半卸载方法还包括:当所述报文转发装置的软件在所述报文转发装置的软转流表中没有检索到与所述第一标识信息相匹配的流表项,通过所述报文转发装置的软件生成与所述第一标识信息相匹配的流表项以及添加与所述第一标识信息相匹配的流表项到所述报文转发装置的软转流表。
4.根据权利要求1所述的流表半卸载方法,其特征在于,当所述第一计算结果命中所述至少两个流表项时,利用所述第一算法计算所述至少两个流表项各自的标识信息得到的计算结果均为所述第一计算结果。
5.根据权利要求4所述的流表半卸载方法,其特征在于,所述至少两个流表项各自的标识信息与所述第一标识信息具有相同的内容组成。
6.根据权利要求4所述的流表半卸载方法,其特征在于,通过所述报文转发装置的软件,存储利用所述第一算法计算所述报文转发装置的软转流表中每一个流表项各自的标识信息得到的计算结果。
7.根据权利要求6所述的流表半卸载方法,其特征在于,所述至少两个流表项来自所述报文转发装置的软转流表。
8.根据权利要求6所述的流表半卸载方法,其特征在于,所述报文转发装置的软转流表中每一个流表项各自的标识信息与所述第一标识信息具有相同的内容组成。
9.根据权利要求1所述的流表半卸载方法,其特征在于,所述流表半卸载方法还包括:
通过所述报文转发装置的硬件,接收另一报文数据包,以及根据所述报文转发装置的缓存状态,选择性地利用卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行所述另一报文数据包的标识信息匹配从而生成所述另一报文数据包的标记标识,然后上送所述标记标识到所述报文转发装置的软件;
通过所述报文转发装置的软件,对所述另一报文数据包执行与所述标记标识相匹配的流表项的流表处理操作。
10.根据权利要求9所述的流表半卸载方法,其特征在于,当所述报文转发装置的缓存状态指示所述报文转发装置的空闲缓存小于第一预设阈值时,所述报文转发装置的硬件只利用卸载到所述报文转发装置的硬件的全卸载流表来进行所述另一报文数据包的标识信息匹配。
11.根据权利要求10所述的流表半卸载方法,其特征在于,当所述报文转发装置的缓存状态指示所述报文转发装置的空闲缓存小于第二预设阈值时,所述报文转发装置的硬件不利用卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行所述另一报文数据包的标识信息匹配。
12.根据权利要求1至11中任一项所述的流表半卸载方法,其特征在于,所述第一标识信息是所述报文数据包的key键值。
13.根据权利要求12所述的流表半卸载方法,其特征在于,所述报文数据包的所述键值包括以下至少一项:源机器地址、目的机器地址、VLAN信息、协议类型、源IP地址,目的IP地址、端口号。
14.根据权利要求1至11中任一项所述的流表半卸载方法,其特征在于,所述第一标识信息用于对所述报文数据包进行报文硬转的流表匹配。
15.根据权利要求1至11中任一项所述的流表半卸载方法,其特征在于,所述流表处理操作包括以下至少一项:转发、丢弃、排队、修改域。
16.根据权利要求1至11中任一项所述的流表半卸载方法,其特征在于,所述报文转发装置是网卡,所述报文转发装置的硬件对应所述网卡的内核空间,所述报文转发装置的软件对应所述网卡的用户空间。
17.根据权利要求1至11中任一项所述的流表半卸载方法,其特征在于,所述报文转发装置基于现场可编程门阵列FPGA、专用集成电路ASIC或者数据处理器DPU实现。
18.根据权利要求1至11中任一项所述的流表半卸载方法,其特征在于,所述第一算法是第一加密算法,所述第一计算结果是对所述第一标识信息应用所述第一加密算法得到的密文。
19.根据权利要求18所述的流表半卸载方法,其特征在于,所述第一加密算法是以下任意一项:哈希算法、密码散列函数MD5算法、加密哈希SHA算法、散列消息鉴别码HMAC算法、数据加密标准DES算法、高级加密标准AES算法、RSA加密算法。
20.根据权利要求1至11中任一项所述的流表半卸载方法,其特征在于,所述第一算法是第一压缩算法,所述第一计算结果是对所述第一标识信息应用所述第一压缩算法得到的压缩结果。
21.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至20中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至20中任一项所述的方法。
CN202310220123.5A 2023-03-09 2023-03-09 一种流表半卸载方法、设备及介质 Active CN115941598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310220123.5A CN115941598B (zh) 2023-03-09 2023-03-09 一种流表半卸载方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310220123.5A CN115941598B (zh) 2023-03-09 2023-03-09 一种流表半卸载方法、设备及介质

Publications (2)

Publication Number Publication Date
CN115941598A true CN115941598A (zh) 2023-04-07
CN115941598B CN115941598B (zh) 2023-05-16

Family

ID=85822059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310220123.5A Active CN115941598B (zh) 2023-03-09 2023-03-09 一种流表半卸载方法、设备及介质

Country Status (1)

Country Link
CN (1) CN115941598B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506355A (zh) * 2023-06-27 2023-07-28 珠海星云智联科技有限公司 卸载流表存储的处理方法及相关装置
CN116886621A (zh) * 2023-09-07 2023-10-13 珠海星云智联科技有限公司 报文转发控制方法、dpu及相关设备
CN117520607A (zh) * 2024-01-05 2024-02-06 深圳星云智联科技有限公司 一种流表压缩方法、计算机设备及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020181740A1 (zh) * 2018-12-29 2020-09-17 长沙理工大学 一种高性能的openflow虚拟流表查找方法
CN112866111A (zh) * 2019-11-28 2021-05-28 北京京东尚科信息技术有限公司 流表管理的方法和装置
WO2021226948A1 (zh) * 2020-05-14 2021-11-18 深圳市欢太科技有限公司 基于开放虚拟软交换机ovs的数据包处理方法及设备
CN114531405A (zh) * 2020-10-31 2022-05-24 华为技术有限公司 一种流表处理方法及相关设备
CN115002028A (zh) * 2022-04-30 2022-09-02 济南浪潮数据技术有限公司 一种报文处理方法、装置及介质
CN115037575A (zh) * 2017-12-26 2022-09-09 华为技术有限公司 报文处理的方法和装置
CN115134315A (zh) * 2022-09-01 2022-09-30 珠海星云智联科技有限公司 报文转发方法及相关装置
CN115412512A (zh) * 2022-10-31 2022-11-29 浙江九州云信息科技有限公司 一种基于IPv6的多云跨网互通方法及装置
CN115484322A (zh) * 2022-07-29 2022-12-16 天翼云科技有限公司 数据包解封装卸载方法、装置、电子设备及存储介质
CN115567446A (zh) * 2022-07-07 2023-01-03 华为技术有限公司 报文转发方法、装置、计算设备及卸载卡

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037575A (zh) * 2017-12-26 2022-09-09 华为技术有限公司 报文处理的方法和装置
WO2020181740A1 (zh) * 2018-12-29 2020-09-17 长沙理工大学 一种高性能的openflow虚拟流表查找方法
CN112866111A (zh) * 2019-11-28 2021-05-28 北京京东尚科信息技术有限公司 流表管理的方法和装置
WO2021226948A1 (zh) * 2020-05-14 2021-11-18 深圳市欢太科技有限公司 基于开放虚拟软交换机ovs的数据包处理方法及设备
CN114531405A (zh) * 2020-10-31 2022-05-24 华为技术有限公司 一种流表处理方法及相关设备
CN115002028A (zh) * 2022-04-30 2022-09-02 济南浪潮数据技术有限公司 一种报文处理方法、装置及介质
CN115567446A (zh) * 2022-07-07 2023-01-03 华为技术有限公司 报文转发方法、装置、计算设备及卸载卡
CN115484322A (zh) * 2022-07-29 2022-12-16 天翼云科技有限公司 数据包解封装卸载方法、装置、电子设备及存储介质
CN115134315A (zh) * 2022-09-01 2022-09-30 珠海星云智联科技有限公司 报文转发方法及相关装置
CN115412512A (zh) * 2022-10-31 2022-11-29 浙江九州云信息科技有限公司 一种基于IPv6的多云跨网互通方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张柳霞: ""基于DPDK平台的虚拟交换机关键技术研究与实现"", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506355A (zh) * 2023-06-27 2023-07-28 珠海星云智联科技有限公司 卸载流表存储的处理方法及相关装置
CN116506355B (zh) * 2023-06-27 2023-09-05 珠海星云智联科技有限公司 卸载流表存储的处理方法及相关装置
CN116886621A (zh) * 2023-09-07 2023-10-13 珠海星云智联科技有限公司 报文转发控制方法、dpu及相关设备
CN116886621B (zh) * 2023-09-07 2023-12-19 珠海星云智联科技有限公司 报文转发控制方法、dpu及相关设备
CN117520607A (zh) * 2024-01-05 2024-02-06 深圳星云智联科技有限公司 一种流表压缩方法、计算机设备及介质
CN117520607B (zh) * 2024-01-05 2024-04-19 深圳星云智联科技有限公司 一种流表压缩方法、计算机设备及介质

Also Published As

Publication number Publication date
CN115941598B (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
CN115941598B (zh) 一种流表半卸载方法、设备及介质
US11309908B2 (en) Static dictionary-based compression hardware pipeline for data compression accelerator of a data processing unit
EP3493084B1 (en) Method for processing data in bloom filter and bloom filter
US10812630B2 (en) Merging techniques in data compression accelerator of a data processing unit
US8886680B2 (en) Deterministic finite automata graph traversal with nodal bit mapping
US20200159859A1 (en) History-based compression pipeline for data compression accelerator of a data processing unit
US7538695B2 (en) System and method for deflate processing within a compression engine
US9367645B1 (en) Network device architecture to support algorithmic content addressable memory (CAM) processing
US7814284B1 (en) Redundancy elimination by aggregation of multiple chunks
US7643505B1 (en) Method and system for real time compression and decompression
US20200162100A1 (en) Data striping for matching techniques in data compression accelerator of a data processing unit
JP3900435B2 (ja) データパケットのルーティング方法およびルーティング装置
US10997123B2 (en) Matching techniques in data compression accelerator of a data processing unit
US20200162101A1 (en) Hashing techniques in data compression accelerator of a data processing unit
US10922026B2 (en) Data processing unit having hardware-based range encoding and decoding
WO2023279964A1 (zh) 数据压缩方法、装置、计算设备及存储系统
US20210135685A1 (en) Compression engine with configurable search depths and window sizes
CN106933701A (zh) 用于数据备份的方法及设备
US20200394066A1 (en) Context value retrieval prior to or parallel with expansion of previous symbol for context-decoding in range decoder
CN115599757A (zh) 数据压缩方法、装置、计算设备及存储系统
SE1650426A1 (en) Variable-sized symbol entropy-based data compression
US8868584B2 (en) Compression pattern matching
US20190042354A1 (en) Technologies for error recovery in compressed data streams
CN113157445B (zh) 基于哈希运算和索引值比对的双向报文对称rss处理方法及系统
CN113079077B (zh) 基于队列实现的dpdk架构下隧道报文对称rss处理方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant