CN116506355B - 卸载流表存储的处理方法及相关装置 - Google Patents
卸载流表存储的处理方法及相关装置 Download PDFInfo
- Publication number
- CN116506355B CN116506355B CN202310760136.1A CN202310760136A CN116506355B CN 116506355 B CN116506355 B CN 116506355B CN 202310760136 A CN202310760136 A CN 202310760136A CN 116506355 B CN116506355 B CN 116506355B
- Authority
- CN
- China
- Prior art keywords
- flow table
- operation set
- hardware module
- unloading
- current
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 6
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/645—Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
- H04L45/655—Interaction between route computation entities and forwarding entities, e.g. for route determination or for flow table update
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种卸载流表存储的处理方法及相关装置,方法包括:确定多个流表中每个流表的匹配项的所述唯一流表标识,将每个流表的匹配项的唯一流表标识卸载到硬件模块,若当前卸载流表的操作集属于公用操作集合且硬件模块未存储有当前卸载流表的操作集,则将当前卸载流表的操作集卸载到硬件模块,若当前卸载流表的操作集不属于公用操作集合,则将当前卸载流表的操作集卸载到硬件模块。采用本申请实施例,能够实现在不影响硬件转发性能的基础上,将流表的匹配项的唯一流表标识卸载到硬件,以及公用部分操作集,有利于节省硬件的存储空间。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种卸载流表存储的处理方法及相关装置。
背景技术
随着云计算网络发展,数据流量剧增,通过多层虚拟交换机OVS实现数据转发的限制日益凸显。为了实现高性能业务转发需求,就需要专门的转发芯片来承载数据转发业务,OVS/OVS+DPDK数据转发卸载到硬件应运而生。
传统的流表卸载一般会存储三份流表信息:(1)OVS存储的匹配项key和操作集action;(2)驱动软件存储的匹配项key和操作集action;(3)硬件存储的匹配项key和操作集action;这三份流表信息本质上存储的都是报文特征和对应的动作,只是存储的格式不同,这样就存在存储信息浪费,占用大量存储空间的问题。
发明内容
本申请提供了一种卸载流表存储的处理方法及相关装置,能够实现在不影响硬件转发性能的基础上,将根据流表的匹配项计算出的唯一流表标识卸载到硬件,取代将流表的匹配项整个卸载到硬件,有利于节省硬件存储空间,同时公用部分操作集,硬件只存储一份公用的操作集,相对于存储每个流表的全部操作集,有利于节省硬件的存储空间。
第一方面,本申请提供了一种卸载流表存储的处理方法,应用于流表卸载系统,所述流表卸载系统包括硬件模块和驱动软件模块,所述硬件模块用于存储卸载到所述硬件模块的流表的操作集和匹配项的唯一流表标识;所述方法包括:
确定所述多个流表中每个流表的匹配项的所述唯一流表标识;
将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块;
确定所述多个流表的公用操作集合,所述公用操作集合包括至少一个第一操作集,所述第一操作集为所述多个流表的多个操作集中的任意一个;
判断当前卸载流表的操作集是否属于所述公用操作集合;
若判断出所述当前卸载流表的操作集属于所述公用操作集合,则判断所述硬件模块是否存储有所述当前卸载流表的操作集;
若判断出所述硬件模块存储有所述当前卸载流表的操作集,则不卸载所述当前卸载流表的操作集到所述硬件模块;
若判断出所述硬件模块未存储有所述当前卸载流表的操作集,则将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间,所述硬件模块的第一存储空间用于存储所述公用操作集合的所述至少一个第一操作集;
若判断出所述当前卸载流表的操作集不属于所述公用操作集合,则将所述当前卸载流表的操作集卸载到所述硬件模块的第二存储空间,所述硬件模块的第二存储空间用于存储所述多个流表的多个操作集中除所述至少一个第一操作集之外的至少一个第二操作集。
第二方面,本申请提供了一种卸载流表存储的处理装置,应用于流表卸载系统,所述流表卸载系统包括硬件模块和驱动软件模块,所述硬件模块用于存储卸载到所述硬件模块的流表的操作集和匹配项的唯一流表标识,所述装置包括:确定单元、卸载单元和判断单元,其中,
所述确定单元,用于确定多个流表中每个流表的匹配项的所述唯一流表标识;
所述卸载单元,用于将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块;
所述确定单元,还用于确定所述多个流表的公用操作集合,所述公用操作集合包括至少一个第一操作集,所述第一操作集为所述多个流表的多个操作集中的任意一个;
所述判断单元,用于判断当前卸载流表的操作集是否属于所述公用操作集合;
所述判断单元,还用于若判断出所述当前卸载流表的操作集属于所述公用操作集合,则判断所述硬件模块是否存储有所述当前卸载流表的操作集;若判断出所述硬件模块存储有所述当前卸载流表的操作集,则不卸载所述当前卸载流表的操作集到所述硬件模块;若判断出所述硬件模块未存储有所述当前卸载流表的操作集,则将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间,所述硬件模块的第一存储空间用于存储所述公用操作集合的所述至少一个第一操作集;
所述卸载单元,还用于若判断出所述当前卸载流表的操作集不属于所述公用操作集合,则将所述当前卸载流表的操作集卸载到所述硬件模块的第二存储空间,所述硬件模块的第二存储空间用于存储所述多个流表的多个操作集中除所述至少一个第一操作集之外的至少一个第二操作集。
第三方面,本申请提供了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如本申请第一方面方法中所描述的部分或全部步骤。
第四方面,本申请提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请第一方面方法中所描述的部分或全部步骤。
第五方面,本申请提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请第一方面方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请中,流表卸载系统可确定多个流表中每个流表的匹配项的唯一流表标识,进一步将每个流表的匹配项的唯一流表标识卸载到硬件模块,接着确定多个流表的公用操作集合,公用操作集合包括至少一个第一操作集,第一操作集为多个流表的多个操作集中的任意一个,接着判断当前卸载流表的操作集是否属于公用操作集合,进一步,若判断出当前卸载流表的操作集属于公用操作集合,则判断硬件模块是否存储有当前卸载流表的操作集,若判断出硬件模块存储有当前卸载流表的操作集,则不卸载当前卸载流表的操作集到硬件模块,而若判断出硬件模块未存储有当前卸载流表的操作集,则将当前卸载流表的操作集卸载到硬件模块的第一存储空间,硬件模块的第一存储空间用于存储公用操作集合的所述至少一个第一操作集,最后,若判断出当前卸载流表的操作集不属于公用操作集合,则将当前卸载流表的操作集卸载到硬件模块的第二存储空间,硬件模块的第二存储空间用于存储多个流表的多个操作集中除至少一个第一操作集之外的至少一个第二操作集。如此,能够实现在不影响硬件转发性能的基础上,将根据流表的匹配项计算出的唯一流表标识卸载到硬件,取代将流表的匹配项整个卸载到硬件,有利于节省硬件存储空间,同时公用部分操作集,硬件只存储一份公用的操作集,相对于存储每个流表的全部操作集,有利于节省硬件的存储空间,也有利于减少流表卸载时因为过多的存储步骤带来的复杂度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种卸载流表存储的处理系统的架构示意图;
图2是本申请实施例提供的一种卸载流表存储的处理方法的流程示意图;
图3是本申请实施例提供的一种电子设备的结构示意图;
图4是本申请实施例提供的一种卸载流表存储的处理装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为电子设备。在本申请中,上述电子设备可以为服务器。在本申请中,上述电子设备还可以包括芯片,例如,该芯片可包括DPU(DataProcessing Unit,数据处理器),DPU是一种以数据为中心构造的专用处理器,采用软件定义技术路线支撑基础设施层资源虚拟化,支持存储、安全、服务质量管理等基础设施层的功能,DPU最直接的作用是作为中央处理器(Central Processing Unit,CPU)的卸载引擎,接管网络虚拟化、硬件资源池化等基础设施层服务,释放CPU的算力到上层应用。
本申请提出一种卸载流表存储的处理方法及相关装置,下面进行详细说明。请参阅图1,图1是本申请实施例提供的一种卸载流表存储的处理系统的架构示意图,该系统架构可包括流表卸载系统100,所述流表卸载系统100包括硬件模块200和驱动软件模块300。
其中,硬件模块可以包括但不限于DPU,驱动软件模块可以包括但不限于嵌入式处理器(Embedded Central Processing Unit,ECPU)。
其中,硬件模块200包括有存储器,以提供给卸载到硬件模块200的操作集、唯一流表标识和匹配项提供空间存储,存储器可以包括但不限于随机存取存储器(Random AccessMemory,RAM)、双倍速率同步动态随机存储器(Double Date Rate Synchronous DynamicRandom Access Memory,DDR SDRAM)和三态内容寻址存储器(Ternary ContentAddressable Memory,TCAM),硬件模块200用于存储卸载到硬件模块的流表的操作集(action)和匹配项(key)的唯一流表标识,驱动软件模块300用于存储卸载流表的操作集和匹配项。
在一种可能的示例中,流表卸载系统100确定多个流表中每个流表的匹配项的唯一流表标识,进一步流表卸载系统100将每个流表的匹配项的唯一流表标识卸载到硬件模块,接着确定多个流表的公用操作集合,公用操作集合包括至少一个第一操作集,第一操作集为多个流表的多个操作集中的任意一个,接着流表卸载系统100判断当前卸载流表的操作集是否属于公用操作集合,进一步,流表卸载系统100若判断出当前卸载流表的操作集属于公用操作集合,则判断硬件模块是否存储有当前卸载流表的操作集,流表卸载系统100若判断出硬件模块存储有当前卸载流表的操作集,则不卸载当前卸载流表的操作集到硬件模块200,而若判断出硬件模块未存储有当前卸载流表的操作集,则将当前卸载流表的操作集卸载到硬件模块200的第一存储空间,硬件模块200的第一存储空间用于存储公用操作集合的所述至少一个第一操作集,最后,流表卸载系统100若判断出当前卸载流表的操作集不属于公用操作集合,则将当前卸载流表的操作集卸载到硬件模块200的第二存储空间,硬件模块200的第二存储空间用于存储多个流表的多个操作集中除至少一个第一操作集之外的至少一个第二操作集。如此,能够实现在不影响硬件转发性能的基础上,将根据流表的匹配项计算出的唯一流表标识卸载到硬件,取代将流表的匹配项整个卸载到硬件,有利于节省硬件存储空间,同时公用部分操作集,硬件只存储一份公用的操作集,相对于存储每个流表的全部操作集,有利于节省硬件的存储空间,也有利于减少流表卸载时因为过多的存储步骤带来的复杂度。
需要说明的是,在本申请中多个可指两个或两个以上,后续不再赘述。
请参阅图2,图2是本申请实施例提供的一种卸载流表存储的处理方法的流程示意图,应用于流表卸载系统,所述流表卸载系统包括硬件模块和驱动软件模块,所述硬件模块用于存储卸载到所述硬件模块的流表的操作集和匹配项的唯一流表标识,如图2所示,本卸载流表存储的处理方法包括以下操作。
S201、确定所述多个流表中每个流表的匹配项的所述唯一流表标识。
其中,流表是一张张的转发表(Forwarding Table),用于作为流转发的依据,每张流表都是由多个流表项(Flow Entry)组成,每张流表对应了网络传输的一条流。流是指在一段时间内经过同一个网络的一系列具有相同属性的顺序发送的报文(数据包)集合。其中,流表是从Linux操作系统中的流量控制工具(Traffic Control,简称TC)中卸载下来的,或者是在用户态下的数据路径快转流表下发到硬件缓存的流表或者硬转流表。每个流表可以包括匹配项(key)与操作集(action)之间的映射关系,匹配项可以包括多个报文头字段,所述多个报文头字段包括源地址、源端口号、目的地址、目的端口号、虚拟扩展局域网(Virtual Extensible LAN,VXLAN)、协议、外部虚拟局域网(Outer VLAN)、内部虚拟局域网(Inter VLAN)和虚拟端口(Virtual Port,vPort)中一项或多项。操作集可以包括转发操作以及在转发操作之间对与该操作集对应的报文所执行的全部其他操作。
其中,唯一流表标识(Unique flow identifier,Ufid)是一个固定长度的标识符,可以唯一标识一条流表,是根据flow流表的key,利用murmurhash算法计算出的一个128bit的hash值。一条流表有一个唯一的Ufid,唯一流表标识不会重复。
其中,唯一流表标识计算过程包括先产生一个32位的随机值,接着将该随机值、flow和flow len作为输入参数,重复flow len第一次数,例如:第一次数可以是16次,计算出k1、k2、h1和h2,其中k1和k2计算包括先取flow不同位置开始的第一数据(第一数据为固定长度64bit),然后将第一数据乘以第二数据后(第二数据为预设固定数据)再经过第二次数的移位得到k1和k2,h1的初始值和h2初始值都为前述随机值,进一步将h1的初始值和h2的初始值分别与k1和k2做多次位运算,得到位运算后的h1和h2的值,并接着根据flow len和进行位运算后的h1、h2的值重新计算h1和h2的值,再进一步将重新计算得到的h1和h2的值相互进行位运算和加和运算得到h1的最终值和h2的最终值,将h1的最终值作为128bit的hash值的低位64bit,将h2的最终值作为128bit的hash值的高位64bit,最终得到一个由h1的最终值和h2的最终值组成的hash值,将该hash值转为固定格式得到唯一流表标识Ufid。
S202、将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块。
其中,硬件模块包括但不限于DPU。
其中,将唯一流表标识卸载到硬件模块,硬件模块可存储卸载到硬件模块的唯一流表标识,以用于后续流表匹配,举例来说,唯一流表标识占用应用硬件的存储空间为128bit,而整个匹配项空间占用为几百bit,选择卸载唯一流表标识到硬件模块取代将整个匹配项卸载到硬件模块,有利于节省硬件的存储空间。
S203、确定所述多个流表的公用操作集合,所述公用操作集合包括至少一个第一操作集,所述第一操作集为所述多个流表的多个操作集中的任意一个。
其中,在实际卸载多个流表时,流表中的常见的报文编辑类动作的报文比较多,在卸载每个流表时都下发操作集,相同的报文编辑类动作的操作集action在硬件存储多份,会占用大量的硬件存储资源。因而,选择公用部分操作集,针对相同的编辑类动作的只下发一份存储在硬件模块。
S204、判断当前卸载流表的操作集是否属于所述公用操作集合。
S205、若判断出所述当前卸载流表的操作集属于所述公用操作集合,则判断所述硬件模块是否存储有所述当前卸载流表的操作集;若判断出所述硬件模块存储有所述当前卸载流表的操作集,则不卸载所述当前卸载流表的操作集到所述硬件模块;而若判断出所述硬件模块未存储有所述当前卸载流表的操作集,则将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间,所述硬件模块的第一存储空间用于存储所述公用操作集合的所述至少一个第一操作集。
其中,针对公用操作集合中的操作集只需要在硬件模块存储一份即可,因此判断出硬件模块存储有当前卸载流表的操作集,则不卸载当前卸载流表的操作集到硬件模块。
其中,可将公用操作集合中第一操作集和不属于公用操作集合的第二操作集分别存储在不同的存储区域,便于在使用到公用操作集合中的第一操作集时,直接从第一存储空间获取,有利于节省耗时。
S206、若判断出所述当前卸载流表的操作集不属于所述公用操作集合,则将所述当前卸载流表的操作集卸载到所述硬件模块的第二存储空间,所述硬件模块的第二存储空间用于存储所述多个流表的多个操作集中除所述至少一个第一操作集之外的至少一个第二操作集。
其中,多个操作集包括至少一个第一操作集和至少一个第二操作集在内的全部操作集。
可以看出,本申请实施例中,流表卸载系统可确定多个流表中每个流表的匹配项的唯一流表标识,进一步将每个流表的匹配项的唯一流表标识卸载到硬件模块,接着确定多个流表的公用操作集合,公用操作集合包括至少一个第一操作集,第一操作集为多个流表的多个操作集中的任意一个,接着判断当前卸载流表的操作集是否属于公用操作集合,进一步,若判断出当前卸载流表的操作集属于公用操作集合,则判断硬件模块是否存储有当前卸载流表的操作集,若判断出硬件模块存储有当前卸载流表的操作集,则不卸载当前卸载流表的操作集到硬件模块,而若判断出硬件模块未存储有当前卸载流表的操作集,则将当前卸载流表的操作集卸载到硬件模块的第一存储空间,硬件模块的第一存储空间用于存储公用操作集合的所述至少一个第一操作集,最后,若判断出当前卸载流表的操作集不属于公用操作集合,则将当前卸载流表的操作集卸载到硬件模块的第二存储空间,硬件模块的第二存储空间用于存储多个流表的多个操作集中除至少一个第一操作集之外的至少一个第二操作集。如此,能够实现在不影响硬件转发性能的基础上,将根据流表的匹配项计算出的唯一流表标识卸载到硬件,取代将流表的匹配项整个卸载到硬件,有利于节省硬件存储空间,同时公用部分操作集,硬件只存储一份公用的操作集,相对于存储每个流表的全部操作集,有利于节省硬件的存储空间,也有利于减少流表卸载时因为过多的存储步骤带来的复杂度。
在一个可能的示例中,在所述将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块之后,上述方法还可包括如下步骤:确定当前进行的流表匹配的匹配项的目标唯一流表标识;判断所述硬件模块是否存储有所述目标唯一流表标识;若判断出所述硬件模块存储有所述目标唯一流表标识,则确定所述当前进行的流表匹配成功匹配;若判断出所述硬件模块未存储有所述目标唯一流表标识,则确定所述当前进行的流表匹配未成功匹配。
其中,通过计算当前待匹配的匹配项的目标唯一流表标识,以及进一步通过判断硬件模块是否存储有该目标唯一流表标识来决定流表匹配成功与否,不需要对卸载流表进行压缩,也就不需要对卸载流表做hash,同时也不会面临hash冲突。
具体实现中,硬件模块在进行流表匹配时,流表卸载系统可计算出当前进行的流表匹配的匹配项的目标唯一流表标识,并检测判断在硬件模块是否已经存储有该目标唯一流表标识,若判断出硬件模块存储有目标唯一流表标识,则确定当前进行的流表匹配成功匹配,判断出硬件模块未存储有目标唯一流表标识,则确定当前进行的流表匹配未成功匹配。
可见,在本示例中,流表卸载系统可计算当前进行的流表匹配的匹配项的目标文件标识符,并通过判断硬件模块是否存储有目标文件标识符,来判断流表匹配是否成功,有利于节省硬件模块的存储空间,减少算hash的时间以及避免hash冲突产生。
在一个可能的示例中,所述确定所述多个流表的公用操作集合,上述方法可包括如下步骤:根据目标动作类型,从所述多个流表的多个操作集中筛选出所述至少一个第一操作集;建立包括所述至少一个第一操作集的集合,并将所述包括所述至少一个第一操作集的集合作为所述公用操作集合。
其中,可基于操作集的动作特征区分出不同动作类型,例如:编辑动作、转发动作、丢弃动作等,在此不做限定。
具体地,将属于目标动作类型的操作集从多个流表的多个操作集中筛选出来,得到至少一个第一操作集,将至少一个操作集组成的集合作为公用操作集合。
可见,在本示例中,可从多个操作集中筛选出至少一个第一操作集,将至少一个第一操作集组成的集合作为公用操作集合,有利于后续在硬件模块只存储一份公用操作集合,节省硬件模块的存储空间。
在一个可能的示例中,所述目标动作类型为编辑动作,编辑对象包括以下至少一种:源Mac、目的Mac、源IP、源port、目的port和目的IP。
其中,编辑对象包括但不限于源Mac、目的Mac、源IP、源port、目的port和目的IP,还可以是一些自定义的编辑动作,实际中不同厂商的自定义的编辑动作存在差异,因而在此不做限定。
在一个可能的示例中,在所述将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间之后,上述方法还可包括如下步骤:建立与所述公用操作集合中的每一第一操作集相关联的索引;确定当前进行流表转发所需使用的目标操作集;确定与所述目标操作集相关联的目标索引;根据所述目标索引,查询所述硬件模块存储的所述目标操作集。
其中,目标操作集为至少一个第一操作集中的任意一个,硬件模块可存储索引和公用操作集合中的第一操作集,索引和第一操作集相关联,每一第一操作集对应一个索引,索引空间占用小,举例来说,ipv6占用128bit,如果有10条流需要编辑ipv6,那么需要占用128*10bit=1280bit,而公用编辑ipv6的情况下,索引占用8bit,需要占用8*10+128bit=208bit,大大减少了硬件空间占用。
可见,在本示例中,通过建立公用操作集合中第一操作集的索引,硬件模块仅存储一份公用操作集合中的第一操作集和索引,有利于节省硬件模块的存储空间。
在一个可能的示例中,在所述建立与所述公用操作集合中的每一第一操作集相关联的索引之后,上述方法还可包括如下步骤:指示所述驱动软件模块存储所述公用操作集合中的第一操作集和与所述第一操作集相关联的索引。
其中,现有方案中驱动软件模块往往是存储有流表完整的匹配项和操作集,但实际在流表卸载过程中,流表都是通过硬件转发,所以此时驱动软件模块不再需要存储完整的操作集内容,只需要存储公用操作集合中第一操作集和索引的对应关系。通过驱动软件模块不再存储卸载流表的匹配项和具体的操作集,实际100万条流表完整的操作集可释放存储占用1G左右。
其中,驱动软件模块可用于进行初步过滤,因为驱动软件模块也存储有索引和第一操作集的对应关系,因此驱动软件模块可针对多个卸载的流表进行初步过滤,具体是判断驱动软件模块是否存储有当前卸载的流表的操作集,若判断出驱动软件模块已存储有当前卸载的流表的操作集,则不将该流表的操作集下发到硬件模块进行存储,实现对多个流表的初步过滤。
可见,在本示例中,可在流表卸载时,驱动软件模块仅存储第一操作集和索引的对应关系,不再存储完整的匹配项和操作集,能够节省驱动软件模块的存储空间。
在一个可能的示例中,所述第一操作集对应有操作集标识,在所述将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间之后,上述方法还可包括如下步骤:建立包括所述操作集标识和公用操作集合中第一操作集的对应关系的参考操作集合;确定当前进行流表转发所需使用的所述目标操作集;确定所述目标操作集的目标操作集标识;根据所述目标操作集标识,查询所述参考操作集合,获取所述目标操作集。
其中,硬件模块可存储参考标识集合,举例来说,第一操作集为编辑ipv6,其对应的操作集标识为IP1,则参考操作集合中的对应关系为IP1-编辑ipv6。
可见,在本示例中,流表卸载系统可建立包括操作集标识和公用操作集合中第一操作集对应关系的参考操作集合,取代存储多份重复的第一操作集,并通过硬件模块存储参考操作集合,实现在流表转发时通过查询参考操作集合获取第一操作集,有利于节省硬件的存储空间。
请参阅图3,图3是本申请实施例提供的一种电子设备的结构示意图,如图3所示,所述电子设备应用于流表卸载系统,所述流表卸载系统包括硬件模块和驱动软件模块,所述硬件模块用于存储卸载到所述硬件模块的流表的操作集和匹配项的唯一流表标识,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,上述一个或多个程序被配置由上述处理器执行以下步骤的指令:
确定所述多个流表中每个流表的匹配项的所述唯一流表标识;
将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块;
确定所述多个流表的公用操作集合,所述公用操作集合包括至少一个第一操作集,所述第一操作集为所述多个流表的多个操作集中的任意一个;
判断当前卸载流表的操作集是否属于所述公用操作集合;
若判断出所述当前卸载流表的操作集属于所述公用操作集合,则判断所述硬件模块是否存储有所述当前卸载流表的操作集;
若判断出所述硬件模块存储有所述当前卸载流表的操作集,则不卸载所述当前卸载流表的操作集到所述硬件模块;
若判断出所述硬件模块未存储有所述当前卸载流表的操作集,则将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间,所述硬件模块的第一存储空间用于存储所述公用操作集合的所述至少一个第一操作集;
若判断出所述当前卸载流表的操作集不属于所述公用操作集合,则将所述当前卸载流表的操作集卸载到所述硬件模块的第二存储空间,所述硬件模块的第二存储空间用于存储所述多个流表的多个操作集中除所述至少一个第一操作集之外的至少一个第二操作集。
可以看出,本申请实施例中,电子设备可确定多个流表中每个流表的匹配项的唯一流表标识,进一步将每个流表的匹配项的唯一流表标识卸载到硬件模块,接着确定多个流表的公用操作集合,公用操作集合包括至少一个第一操作集,第一操作集为多个流表的多个操作集中的任意一个,接着判断当前卸载流表的操作集是否属于公用操作集合,进一步,若判断出当前卸载流表的操作集属于公用操作集合,则判断硬件模块是否存储有当前卸载流表的操作集,若判断出硬件模块存储有当前卸载流表的操作集,则不卸载当前卸载流表的操作集到硬件模块,而若判断出硬件模块未存储有当前卸载流表的操作集,则将当前卸载流表的操作集卸载到硬件模块的第一存储空间,硬件模块的第一存储空间用于存储公用操作集合的所述至少一个第一操作集,最后,若判断出当前卸载流表的操作集不属于公用操作集合,则将当前卸载流表的操作集卸载到硬件模块的第二存储空间,硬件模块的第二存储空间用于存储多个流表的多个操作集中除至少一个第一操作集之外的至少一个第二操作集。如此,能够实现在不影响硬件转发性能的基础上,将根据流表的匹配项计算出的唯一流表标识卸载到硬件,取代将流表的匹配项整个卸载到硬件,有利于节省硬件存储空间,同时公用部分操作集,硬件只存储一份公用的操作集,相对于存储每个流表的全部操作集,有利于节省硬件的存储空间,也有利于减少流表卸载时因为过多的存储步骤带来的复杂度。
在一个可能的示例中,在所述将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块之后,上述程序还包括用于执行以下步骤的指令:
确定当前进行的流表匹配的匹配项的目标唯一流表标识;
判断所述硬件模块是否存储有所述目标唯一流表标识;
若判断出所述硬件模块存储有所述目标唯一流表标识,则确定所述当前进行的流表匹配成功匹配;
若判断出所述硬件模块未存储有所述目标唯一流表标识,则确定所述当前进行的流表匹配未成功匹配。
在一个可能的示例中,在所述确定所述多个流表的公用操作集合方面,上述程序包括用于执行以下步骤的指令:
根据目标动作类型,从所述多个流表的多个操作集中筛选出所述至少一个第一操作集;
建立包括所述至少一个第一操作集的集合,并将所述包括所述至少一个第一操作集的集合作为所述公用操作集合。
在一个可能的示例中,在所述将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间之后,上述程序还包括用于执行以下步骤的指令:
建立与所述公用操作集合中的每一第一操作集相关联的索引;
确定当前进行流表转发所需使用的目标操作集;
确定与所述目标操作集相关联的目标索引;
根据所述目标索引,查询所述硬件模块存储的所述目标操作集。
在一个可能的示例中,在所述建立与所述公用操作集合中的每一第一操作集相关联的索引之后,上述程序还包括用于执行以下步骤的指令:指示所述驱动软件模块存储所述公用操作集合中的第一操作集和与所述第一操作集相关联的索引。
在一个可能的示例中,所述第一操作集对应有操作集标识,在所述将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间之后,上述程序还包括用于执行以下步骤的指令:
建立包括所述操作集标识和公用操作集合中第一操作集的对应关系的参考操作集合;
确定当前进行流表转发所需使用的所述目标操作集;
确定所述目标操作集的目标操作集标识;
根据所述目标操作集标识,查询所述参考操作集合,获取所述目标操作集。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4给出了一种卸载流表存储的处理装置的功能单元组成框图,如图4所示,所述装置应用于流表卸载系统,所述流表卸载系统包括硬件模块和驱动软件模块,所述硬件模块用于存储卸载到所述硬件模块的流表的操作集和匹配项的唯一流表标识,该卸载流表存储的处理装置400可以包括:确定单元401、卸载单元402、判断单元403、通知单元404、查询单元405和指示单元406,其中,
所述确定单元401,用于确定多个流表中每个流表的匹配项的所述唯一流表标识;
所述卸载单元402,用于将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块;
所述确定单元401,还用于确定所述多个流表的公用操作集合,所述公用操作集合包括至少一个第一操作集,所述第一操作集为所述多个流表的多个操作集中的任意一个;
所述判断单元403,用于判断当前卸载流表的操作集是否属于所述公用操作集合;
所述判断单元403,还用于若判断出所述当前卸载流表的操作集属于所述公用操作集合,则判断所述硬件模块是否存储有所述当前卸载流表的操作集;若判断出所述硬件模块存储有所述当前卸载流表的操作集,则不卸载所述当前卸载流表的操作集到所述硬件模块;若判断出所述硬件模块未存储有所述当前卸载流表的操作集,则将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间,所述硬件模块的第一存储空间用于存储所述公用操作集合的所述至少一个第一操作集;
所述卸载单元402,还用于若判断出所述当前卸载流表的操作集不属于所述公用操作集合,则将所述当前卸载流表的操作集卸载到所述硬件模块的第二存储空间,所述硬件模块的第二存储空间用于存储所述多个流表的多个操作集中除所述至少一个第一操作集之外的至少一个第二操作集。
可以看出,本申请实施例描述的卸载流表存储的处理装置,可确定多个流表中每个流表的匹配项的唯一流表标识,进一步将每个流表的匹配项的唯一流表标识卸载到硬件模块,接着确定多个流表的公用操作集合,公用操作集合包括至少一个第一操作集,第一操作集为多个流表的多个操作集中的任意一个,接着判断当前卸载流表的操作集是否属于公用操作集合,进一步,若判断出当前卸载流表的操作集属于公用操作集合,则判断硬件模块是否存储有当前卸载流表的操作集,若判断出硬件模块存储有当前卸载流表的操作集,则不卸载当前卸载流表的操作集到硬件模块,而若判断出硬件模块未存储有当前卸载流表的操作集,则将当前卸载流表的操作集卸载到硬件模块的第一存储空间,硬件模块的第一存储空间用于存储公用操作集合的所述至少一个第一操作集,最后,若判断出当前卸载流表的操作集不属于公用操作集合,则将当前卸载流表的操作集卸载到硬件模块的第二存储空间,硬件模块的第二存储空间用于存储多个流表的多个操作集中除至少一个第一操作集之外的至少一个第二操作集。如此,能够实现在不影响硬件转发性能的基础上,将根据流表的匹配项计算出的唯一流表标识卸载到硬件,取代将流表的匹配项整个卸载到硬件,有利于节省硬件存储空间,同时公用部分操作集,硬件只存储一份公用的操作集,相对于存储每个流表的全部操作集,有利于节省硬件的存储空间,也有利于减少流表卸载时因为过多的存储步骤带来的复杂度。
在一个可能的示例中,在所述将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块之后,所述确定单元401具体用于:
确定当前进行的流表匹配的匹配项的目标唯一流表标识;
判断所述硬件模块是否存储有所述目标唯一流表标识;
若判断出所述硬件模块存储有所述目标唯一流表标识,则确定所述当前进行的流表匹配成功匹配;
若判断出所述硬件模块未存储有所述目标唯一流表标识,则确定所述当前进行的流表匹配未成功匹配。
在一个可能的示例中,在所述确定所述多个流表的公用操作集合方面,所述确定单元401具体用于:
根据目标动作类型,从所述多个流表的多个操作集中筛选出所述至少一个第一操作集;
建立包括所述至少一个第一操作集的集合,并将所述包括所述至少一个第一操作集的集合作为所述公用操作集合。
在一个可能的示例中,在所述将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间之后,所述查询单元405具体用于:
建立与所述公用操作集合中的每一第一操作集相关联的索引;
确定当前进行流表转发所需使用的目标操作集;
确定与所述目标操作集相关联的目标索引;
根据所述目标索引,查询所述硬件模块存储的所述目标操作集。
在一个可能的示例中,在所述建立与所述公用操作集合中的每一第一操作集相关联的索引之后,所述指示单元406具体用于:指示所述驱动软件模块存储所述公用操作集合中的第一操作集和与所述第一操作集相关联的索引。
在一个可能的示例中,在所述将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间之后,所述查询单元405具体用于:
建立包括所述操作集标识和所述公用操作集合中的第一操作集的对应关系的参考操作集合;
确定当前进行流表转发所需使用的所述目标操作集;
确定所述目标操作集的目标操作集标识;
根据所述目标操作集标识,查询所述参考操作集合,获取所述目标操作集。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述卸载流表存储的处理方法,因此可以达到与上述实现方法相同的效果。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
本申请实施例还提供一种芯片,该芯片包括处理器,可用于执行指令,在上述处理器执行指令的情况下,使得上述芯片可以实现上述方法实施例中记载的任一方法的部分或全部步骤。可选地,该芯片还可以包括通信接口,该通信接口可用于接收信号或者发送信号。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种卸载流表存储的处理方法,其特征在于,应用于流表卸载系统,所述流表卸载系统包括硬件模块和驱动软件模块,所述硬件模块用于存储卸载到所述硬件模块的流表的操作集和匹配项的唯一流表标识;所述方法包括:
确定多个流表中每个流表的匹配项的所述唯一流表标识;
将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块;
确定所述多个流表的公用操作集合,所述公用操作集合包括至少一个第一操作集,所述第一操作集为所述多个流表的多个操作集中的任意一个;
判断当前卸载流表的操作集是否属于所述公用操作集合;
若判断出所述当前卸载流表的操作集属于所述公用操作集合,则判断所述硬件模块是否存储有所述当前卸载流表的操作集;
若判断出所述硬件模块存储有所述当前卸载流表的操作集,则不卸载所述当前卸载流表的操作集到所述硬件模块;
若判断出所述硬件模块未存储有所述当前卸载流表的操作集,则将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间,所述硬件模块的第一存储空间用于存储所述公用操作集合的所述至少一个第一操作集;
若判断出所述当前卸载流表的操作集不属于所述公用操作集合,则将所述当前卸载流表的操作集卸载到所述硬件模块的第二存储空间,所述硬件模块的第二存储空间用于存储所述多个流表的多个操作集中除所述至少一个第一操作集之外的至少一个第二操作集。
2.根据权利要求1所述的方法,其特征在于,在所述将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块之后,所述方法还包括:
确定当前进行的流表匹配的匹配项的目标唯一流表标识;
判断所述硬件模块是否存储有所述目标唯一流表标识;
若判断出所述硬件模块存储有所述目标唯一流表标识,则确定所述当前进行的流表匹配成功匹配;
若判断出所述硬件模块未存储有所述目标唯一流表标识,则确定所述当前进行的流表匹配未成功匹配。
3.根据权利要求1所述的方法,其特征在于,所述确定所述多个流表的公用操作集合,包括:
根据目标动作类型,从所述多个流表的多个操作集中筛选出所述至少一个第一操作集;
建立包括所述至少一个第一操作集的集合,并将所述包括所述至少一个第一操作集的集合作为所述公用操作集合。
4.根据权利要求3所述的方法,其特征在于,所述目标动作类型为编辑动作,编辑对象包括以下至少一种:源Mac、目的Mac、源IP、源port、目的port和目的IP。
5.根据权利要求1所述的方法,其特征在于,在所述将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间之后,所述方法还包括:
建立与所述公用操作集合中的每一第一操作集相关联的索引;
确定当前进行流表转发所需使用的目标操作集;
确定与所述目标操作集相关联的目标索引;
根据所述目标索引,查询所述硬件模块存储的所述目标操作集。
6.根据权利要求5所述的方法,其特征在于,在所述建立与所述公用操作集合中的每一第一操作集相关联的索引之后,所述方法还包括:
指示所述驱动软件模块存储所述公用操作集合中的第一操作集和与所述第一操作集相关联的索引。
7.根据权利要求5所述的方法,其特征在于,所述第一操作集对应有操作集标识,在所述将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间之后,所述方法还包括:
建立包括所述操作集标识和所述公用操作集合中的第一操作集的对应关系的参考操作集合;
确定当前进行流表转发所需使用的所述目标操作集;
确定所述目标操作集的目标操作集标识;
根据所述目标操作集标识,查询所述参考操作集合,获取所述目标操作集。
8.一种卸载流表存储的处理装置,其特征在于,应用于流表卸载系统,所述流表卸载系统包括硬件模块和驱动软件模块,所述硬件模块用于存储卸载到所述硬件模块的流表的操作集和匹配项的唯一流表标识,所述装置包括:确定单元、卸载单元和判断单元,其中,
所述确定单元,用于确定多个流表中每个流表的匹配项的所述唯一流表标识;
所述卸载单元,用于将每个流表的匹配项的所述唯一流表标识卸载到所述硬件模块;
所述确定单元,还用于确定所述多个流表的公用操作集合,所述公用操作集合包括至少一个第一操作集,所述第一操作集为所述多个流表的多个操作集中的任意一个;
所述判断单元,用于判断当前卸载流表的操作集是否属于所述公用操作集合;
所述判断单元,还用于若判断出所述当前卸载流表的操作集属于所述公用操作集合,则判断所述硬件模块是否存储有所述当前卸载流表的操作集;若判断出所述硬件模块存储有所述当前卸载流表的操作集,则不卸载所述当前卸载流表的操作集到所述硬件模块;若判断出所述硬件模块未存储有所述当前卸载流表的操作集,则将所述当前卸载流表的操作集卸载到所述硬件模块的第一存储空间,所述硬件模块的第一存储空间用于存储所述公用操作集合的所述至少一个第一操作集;
所述卸载单元,还用于若判断出所述当前卸载流表的操作集不属于所述公用操作集合,则将所述当前卸载流表的操作集卸载到所述硬件模块的第二存储空间,所述硬件模块的第二存储空间用于存储所述多个流表的多个操作集中除所述至少一个第一操作集之外的至少一个第二操作集。
9.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310760136.1A CN116506355B (zh) | 2023-06-27 | 2023-06-27 | 卸载流表存储的处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310760136.1A CN116506355B (zh) | 2023-06-27 | 2023-06-27 | 卸载流表存储的处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116506355A CN116506355A (zh) | 2023-07-28 |
CN116506355B true CN116506355B (zh) | 2023-09-05 |
Family
ID=87320555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310760136.1A Active CN116506355B (zh) | 2023-06-27 | 2023-06-27 | 卸载流表存储的处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116506355B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428094A (zh) * | 2013-08-12 | 2013-12-04 | 杭州华三通信技术有限公司 | 开放流OpenFlow系统中的报文转发方法及装置 |
CN104426768A (zh) * | 2013-09-05 | 2015-03-18 | 华为技术有限公司 | 一种数据报文转发方法及装置 |
CN109962832A (zh) * | 2017-12-26 | 2019-07-02 | 华为技术有限公司 | 报文处理的方法和装置 |
CN110324245A (zh) * | 2018-03-31 | 2019-10-11 | 华为技术有限公司 | 一种基于集成流表转发报文的方法及装置 |
CN113328944A (zh) * | 2021-04-15 | 2021-08-31 | 新华三大数据技术有限公司 | 一种流表管理方法及装置 |
CN114697387A (zh) * | 2020-12-11 | 2022-07-01 | 中国联合网络通信集团有限公司 | 数据包传输方法、装置及存储介质 |
CN115150328A (zh) * | 2022-09-07 | 2022-10-04 | 珠海星云智联科技有限公司 | 一种流表硬件卸载方法、设备及介质 |
CN115277553A (zh) * | 2022-06-24 | 2022-11-01 | 深圳星云智联科技有限公司 | 一种流表存储方法、装置、设备和计算机可读存储介质 |
WO2023000630A1 (zh) * | 2021-07-23 | 2023-01-26 | 平安科技(深圳)有限公司 | 分布式路由方法、装置、设备及存储介质 |
CN115941598A (zh) * | 2023-03-09 | 2023-04-07 | 珠海星云智联科技有限公司 | 一种流表半卸载方法、设备及介质 |
CN116032837A (zh) * | 2022-12-22 | 2023-04-28 | 珠海星云智联科技有限公司 | 一种流表卸载方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11165692B2 (en) * | 2016-05-25 | 2021-11-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Packet forwarding using vendor extension in a software-defined networking (SDN) system |
US10462047B2 (en) * | 2017-04-10 | 2019-10-29 | Cisco Technology, Inc. | Service-function chaining using extended service-function chain proxy for service-function offload |
US10382346B2 (en) * | 2017-10-24 | 2019-08-13 | Cisco Technology, Inc. | Method and device for offloading processing of data flows |
US11831663B2 (en) * | 2019-10-10 | 2023-11-28 | Intel Corporation | Secure networking protocol optimization via NIC hardware offloading |
-
2023
- 2023-06-27 CN CN202310760136.1A patent/CN116506355B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428094A (zh) * | 2013-08-12 | 2013-12-04 | 杭州华三通信技术有限公司 | 开放流OpenFlow系统中的报文转发方法及装置 |
CN104426768A (zh) * | 2013-09-05 | 2015-03-18 | 华为技术有限公司 | 一种数据报文转发方法及装置 |
CN109962832A (zh) * | 2017-12-26 | 2019-07-02 | 华为技术有限公司 | 报文处理的方法和装置 |
CN115037575A (zh) * | 2017-12-26 | 2022-09-09 | 华为技术有限公司 | 报文处理的方法和装置 |
CN110324245A (zh) * | 2018-03-31 | 2019-10-11 | 华为技术有限公司 | 一种基于集成流表转发报文的方法及装置 |
CN113542125A (zh) * | 2018-03-31 | 2021-10-22 | 华为技术有限公司 | 一种基于集成流表转发报文的方法及装置 |
CN114697387A (zh) * | 2020-12-11 | 2022-07-01 | 中国联合网络通信集团有限公司 | 数据包传输方法、装置及存储介质 |
CN113328944A (zh) * | 2021-04-15 | 2021-08-31 | 新华三大数据技术有限公司 | 一种流表管理方法及装置 |
WO2023000630A1 (zh) * | 2021-07-23 | 2023-01-26 | 平安科技(深圳)有限公司 | 分布式路由方法、装置、设备及存储介质 |
CN115277553A (zh) * | 2022-06-24 | 2022-11-01 | 深圳星云智联科技有限公司 | 一种流表存储方法、装置、设备和计算机可读存储介质 |
CN115150328A (zh) * | 2022-09-07 | 2022-10-04 | 珠海星云智联科技有限公司 | 一种流表硬件卸载方法、设备及介质 |
CN116032837A (zh) * | 2022-12-22 | 2023-04-28 | 珠海星云智联科技有限公司 | 一种流表卸载方法及装置 |
CN115941598A (zh) * | 2023-03-09 | 2023-04-07 | 珠海星云智联科技有限公司 | 一种流表半卸载方法、设备及介质 |
Non-Patent Citations (1)
Title |
---|
OpenFlow交换机流表转发设计与实现;张俊帅;杨昊;;中国计量学院学报(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116506355A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112422393B (zh) | 可扩展虚拟局域网报文发送方法、计算机设备和可读介质 | |
CN106790675A (zh) | 一种集群内负载均衡方法、设备和系统 | |
CN113132202B (zh) | 一种报文传输方法及相关设备 | |
EP3190754A1 (en) | Method and apparatus for processing modified packet | |
CN103401773A (zh) | 一种实现板间通信的方法及网络设备 | |
CN114342332B (zh) | 一种通信方法、装置及系统 | |
EP3846397A1 (en) | Method for implementing data transmission, apparatus, and system | |
CN102307141B (zh) | 报文转发方法和设备 | |
CN118301056A (zh) | 分段路由方法及装置 | |
WO2021008591A1 (zh) | 数据传输方法、装置及系统 | |
WO2008101423A1 (fr) | Système et procédé de montage en pont | |
US20230006937A1 (en) | Packet flow identification with reduced decode operations | |
EP2953302B1 (en) | Service packet processing method, apparatus and system | |
US20230370899A1 (en) | Packet forwarding method, packet processing method, and device | |
CN107070719B (zh) | 一种设备管理方法和装置 | |
CN116506355B (zh) | 卸载流表存储的处理方法及相关装置 | |
CN112583736A (zh) | 一种信令报文分流方法、装置、设备及介质 | |
CN114079634A (zh) | 一种报文转发方法、装置及计算机可读存储介质 | |
CN113965525A (zh) | 一种负载均衡方法、装置、网络设备及系统 | |
CN116095197B (zh) | 数据传输方法及相关装置 | |
CN103581020A (zh) | 一种报文转发的方法、装置及系统 | |
EP4304144A1 (en) | Communication method and apparatus | |
CN115278395A (zh) | 一种网络交换设备、数据流处理控制方法及相关设备 | |
CN112929277B (zh) | 一种报文处理方法及装置 | |
CN106550397A (zh) | 用于传输无线数据的方法、装置及系统 |
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 |