一种流表存储方法、装置、设备和计算机可读存储介质与流程

专利2023-07-21  119



1.本技术涉及数据管理技术领域,特别是涉及一种流表存储方法、装置、设备和计算机可读存储介质。


背景技术:

2.随着网络技术的快速发展,各网络设备厂商开始推出智能网卡,这是一种可以将开放虚拟交换标准(open vswitch,ovs)的数据面datapath,甚至是控制面ovs-vswitchd、ovs-dbserver都卸载到智能网卡的网络卸载方案,当数据面卸载到智能网卡后,ovs的数据快转功能由硬件e-switch来实现,同时用户态的流表也能进行卸载(offload),下发给e-switch从而提升数据转发的效率。
3.目前,大多数支持硬件卸载的智能网卡使用的软硬件流表同步信息都是基于流提取的key作为查找依据。为了保证key长度的统一,流表匹配项中ipv4(internet protocol version 4,互联网通信协议第四版)地址和ipv6(internet protocol version 6,互联网通信协议第六版)地址均采用一段128bit的空间存储。
4.而绝大部分网络中流表均为ipv4地址,ipv4地址只需占用32bit,这样会浪费96bit的存储空间。如果要卸载100万条流表,其中属于ipv6地址的流表在实际网络环境的总流表的占比一般不会超过10%,按照ipv6流表占比10%计算,会浪费90%*100万*96bit,大约10m的存储空间。
5.可见,如何节省流表占用的存储空间,是本领域技术人员需要解决的问题。


技术实现要素:

6.本技术实施例的目的是提供一种流表存储方法、装置、设备和计算机可读存储介质,可以节省流表占用的存储空间。
7.为解决上述技术问题,本技术实施例提供一种流表存储方法,包括:
8.获取待卸载流表;
9.在所述待卸载流表不为ipv6流表的情况下,将所述待卸载流表按照常规流表的格式存储至硬件芯片;其中,所述常规流表占用的存储空间小于ipv6流表占用的存储空间;
10.在所述待卸载流表为ipv6流表的情况下,在所述硬件芯片中记录所述待卸载流表的网络层ip地址以及对应的唯一标识,将所述唯一标识和所述待卸载流表中除所述网络层ip地址外的剩余信息按照所述常规流表的格式存储至所述硬件芯片。
11.可选地,所述在所述硬件芯片中记录所述待卸载流表的网络层ip地址以及对应的唯一标识包括:
12.将所述待卸载流表的网络层ip地址转换为radix树的形式存储至所述硬件芯片。
13.可选地,针对于所述待卸载流表是否为ipv6流表的判别过程,所述方法包括:
14.从所述待卸载流表中解析出协议字段;
15.依据所述协议字段,确定出所述待卸载流表的协议类型;其中,所述协议类型包括
ipv6和ipv4。
16.可选地,所述将所述待卸载流表按照常规流表的格式存储至硬件芯片包括:
17.按照ipv4流表中各字段占用的存储空间在所述硬件芯片上设置常规流表;其中,所述字段包括源端口、目的端口、源地址、目的地址和传输层协议;
18.将所述待卸载流表中各字段信息依次填写至所述常规流表中。
19.可选地,所述将所述唯一标识和所述待卸载流表中除所述网络层ip地址外的剩余信息按照所述常规流表的格式存储至所述硬件芯片包括:
20.按照ipv4流表中各字段占用的存储空间在所述硬件芯片上设置常规流表;其中,所述字段包括源端口、目的端口、源地址、目的地址和传输层协议;
21.将所述待卸载流表对应的唯一标识填写至所述常规流表中所述源地址和所述目的地址对应的字段中;
22.将所述待卸载流表中除所述网络层ip地址外的剩余信息按照字段类型依次填写至所述常规流表的对应字段中。
23.可选地,针对于所述唯一标识的确定过程,所述方法包括:
24.对所述待卸载流表的网络层ip地址进行哈希运算,得到唯一标识。
25.可选地,针对于所述唯一标识的确定过程,所述方法包括:
26.针对于每条所述待卸载流表生成随机数作为唯一标识。
27.本技术实施例还提供了一种流表存储装置,包括获取单元、第一存储单元、记录单元和第二存储单元;
28.所述获取单元,用于获取待卸载流表;
29.所述第一存储单元,用于在所述待卸载流表不为ipv6流表的情况下,将所述待卸载流表按照常规流表的格式存储至硬件芯片;其中,所述常规流表占用的存储空间小于ipv6流表占用的存储空间;
30.所述记录单元,用于在所述待卸载流表为ipv6流表的情况下,在所述硬件芯片中记录所述待卸载流表的网络层ip地址以及对应的唯一标识;
31.所述第二存储单元,用于将所述唯一标识和所述待卸载流表中除所述网络层ip地址外的剩余信息按照所述常规流表的格式存储至所述硬件芯片。
32.可选地,所述记录单元用于将所述待卸载流表的网络层ip地址转换为radix树的形式存储至所述硬件芯片。
33.可选地,针对于所述待卸载流表是否为ipv6流表的判别过程,所述装置还包括解析单元和确定单元;
34.所述解析单元,用于从所述待卸载流表中解析出协议字段;
35.所述确定单元,用于依据所述协议字段,确定出所述待卸载流表的协议类型;其中,所述协议类型包括ipv6和ipv4。
36.可选地,所述第一存储单元包括第一设置子单元和第一填写子单元;
37.所述第一设置子单元,用于按照ipv4流表中各字段占用的存储空间在所述硬件芯片上设置常规流表;其中,所述字段包括源端口、目的端口、源地址、目的地址和传输层协议;
38.所述第一填写子单元,用于将所述待卸载流表中各字段信息依次填写至所述常规
流表中。
39.可选地,所述第二存储单元包括第二设置子单元、第二填写子单元和第三填写子单元;
40.所述第二设置子单元,用于按照ipv4流表中各字段占用的存储空间在所述硬件芯片上设置常规流表;其中,所述字段包括源端口、目的端口、源地址、目的地址和传输层协议;
41.所述第二填写子单元,用于将所述待卸载流表对应的唯一标识填写至所述常规流表中所述源地址和所述目的地址对应的字段中;
42.所述第三填写子单元,用于将所述待卸载流表中除所述网络层ip地址外的剩余信息按照字段类型依次填写至所述常规流表的对应字段中。
43.可选地,针对于所述唯一标识的确定过程,所述装置还包括运算单元;
44.所述运算单元,用于对所述待卸载流表的网络层ip地址进行哈希运算,得到唯一标识。
45.可选地,针对于所述唯一标识的确定过程,所述装置还包括生成单元;
46.所述生成单元,用于针对于每条所述待卸载流表生成随机数作为唯一标识。
47.本技术实施例还提供了一种电子设备,包括:
48.存储器,用于存储计算机程序;
49.处理器,用于执行所述计算机程序以实现如上述流表存储方法的步骤。
50.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述流表存储方法的步骤。
51.由上述技术方案可以看出,获取待卸载流表;在待卸载流表不为ipv6流表的情况下,如果仍按照常规方式中ipv6流表对应的128bit的空间存储每条流表,会造成存储空间的浪费。为了节省流表占用的存储空间,可以重新设定流表的存储格式,存储格式可以以常规流表的方式呈现,常规流表占用的存储空间小于ipv6流表占用的存储空间。在待卸载流表不为ipv6流表的情况下,可以将待卸载流表按照常规流表的格式存储至硬件芯片。在待卸载流表为ipv6流表的情况下,由于常规流表占用的存储空间小于ipv6流表占用的存储空间,无法直接将ipv6流表按照常规流表的格式存储,考虑到ipv6流表中主要是网络层ip地址占用的存储空间较多,可以将ipv6流表的网络层ip地址独立于常规流表存储。因此在待卸载流表为ipv6流表的情况下,在硬件芯片中记录待卸载流表的网络层ip地址以及对应的唯一标识,将唯一标识和待卸载流表中除网络层ip地址外的剩余信息按照常规流表的格式存储至硬件芯片。在该技术方案中,通过重新设置小于ipv6流表占用存储空间的常规流表,可以极大的降低非ipv6流表所占用的存储空间。并且对于ipv6流表通过设置唯一标识,既可以实现ipv6流表中网络层ip地址与其它信息之间的关联,又可以将ipv6流表按照常规流表的方式存储。
附图说明
52.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
53.图1为本技术实施例提供的一种流表存储方法的流程图;
54.图2为本技术实施例提供的一种radix树的存储结构图;
55.图3为本技术实施例提供的一种多级hash的存储结构图;
56.图4为本技术实施例提供的一种流表存储装置的结构示意图;
57.图5为本技术实施例提供的一种电子设备的结构图。
具体实施方式
58.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本技术保护范围。
59.本技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
60.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。
61.接下来,详细介绍本技术实施例所提供的一种流表存储方法。图1为本技术实施例提供的一种流表存储方法的流程图,该方法包括:
62.s101:获取待卸载流表。
63.待卸载流表指的是需要迁移到硬件芯片上的流表。待卸载流表可以包含有多条流表,每条流表的处理方式类似,在本技术实施例中,均以一条待卸载流表为例展开说明。
64.传统方式中,会按照占用存储空间较高的ipv6流表对应的128bit的空间存储每条流表,但是对于ipv4流表而言,其只需占用32bit存储空间,如果仍按照128bit的空间存储每条ipv4流表,会造成存储空间的浪费。
65.为了降低流表在硬件芯片上占用的存储空间,可以重新设定流表的存储格式,存储格式可以以常规流表的方式呈现,常规流表占用的存储空间小于ipv6流表占用的存储空间,因此常规流表无法直接存储ipv6流表的数据,需要对ipv6流表的数据进行转换,才能实现在常规流表中存储。因此,在获取到待卸载流表后,需要识别待卸载流表是否为ipv6流表。
66.在具体实现中,可以从待卸载流表中解析出协议字段;依据协议字段,确定出待卸载流表的协议类型;其中,协议类型可以包括ipv6和ipv4。
67.不同类型的协议对应的协议字段有所不同。当协议字段为ipv6协议对应的字段时,说明待卸载流表为ipv6流表;当协议字段为ipv4协议对应的字段时,说明待卸载流表为ipv4流表。
68.s102:在待卸载流表不为ipv6流表的情况下,将待卸载流表按照常规流表的格式存储至硬件芯片。
69.考虑到实际应用中,流表中以ipv4流表居多,因此在本技术实施例中,可以按照ipv4流表中各字段占用的存储空间在硬件芯片上设置常规流表。其中,字段可以包括源端口、目的端口、源地址、目的地址和传输层协议。源地址和目的地址指的是网络层ip地址。
70.在待卸载流表不为ipv6流表的情况下,可以直接将待卸载流表中各字段信息依次填写至常规流表中。
71.s103:在待卸载流表为ipv6流表的情况下,在硬件芯片中记录待卸载流表的网络层ip地址以及对应的唯一标识,将唯一标识和待卸载流表中除网络层ip地址外的剩余信息按照常规流表的格式存储至硬件芯片。网络层ip地址对应的唯一标识为metadata。
72.在待卸载流表为ipv6流表的情况下,由于常规流表占用的存储空间小于ipv6流表占用的存储空间,无法直接将ipv6流表按照常规流表的格式存储。考虑到ipv6流表中主要是网络层ip地址占用的存储空间较多,因此在本技术实施例中,可以将ipv6流表的网络层ip地址独立于常规流表存储。
73.为了保证ipv6流表中网络层ip地址和其它信息的关联,可以针对于网络层ip地址设置唯一标识,在硬件芯片中记录待卸载流表的网络层ip地址以及对应的唯一标识,将唯一标识和待卸载流表中除网络层ip地址外的剩余信息按照常规流表的格式存储至硬件芯片。
74.在本技术实施例中,对于唯一标识的设置方式不做限定,可以对待卸载流表的网络层ip地址进行哈希运算,得到唯一标识。也可以针对于每条待卸载流表生成随机数作为唯一标识。
75.以按照ipv4流表中各字段占用的存储空间设置常规流表为例,对于ipv6流表的存储可以包括将待卸载流表对应的唯一标识填写至常规流表中源地址和目的地址对应的字段中;将待卸载流表中除网络层ip地址外的剩余信息按照字段类型依次填写至常规流表的对应字段中。
76.在本技术实施例中,对于每条ipv6流表,都需要存储网络层ip地址以及网络层ip地址对应的唯一标识。为了降低流表存储的条目数,在本技术实施例中,可以将待卸载流表的网络层ip地址转换为radix树的形式存储至硬件芯片。
77.通过将网络层ip地址转换为radix树,极大减少了流表的条目数,进一步提升了空间利用率。并且实现了对ipv6网络层ip地址的变相掩码,从而可以支持ipv6地址变相掩码匹配。
78.如图2所示为本技术实施例提供的一种radix树的存储结构图,图2中是以如下2条ipv6流表为例:1050:0:1:2:5:600:300c:326b/64action1;1050:0:1:2:5:600:300c:326b/96action2。采用radix树卸载流表可以将单个节点直接卸载到对应硬件芯片。并且当流量到来时,直接对对应节点的ipv6地址进行匹配即可。
79.采用radix树可以将所需卸载的多条流表合并成一个节点,比如要卸载1.2.3.0到1.2.3.255这256条流表,那就可以合并成一个节点1.2.3.0/24
80.需要说明的是,在本技术实施例中,对于ipv6流表的网络层ip地址也可以按照多级hash的方式存储。
81.图3为本技术实施例提供的一种多级hash的存储结构图,图3中是以如下2条ipv6流表为例:1050:0:1:2:5:600:300c:326b/64action1;1050:0:1:2:5:600:300c:326b/96action2。按照多级hash的方式存储,无法降低流表存储的条目数,但是可以支持数据的随机访问,便于网络层ip地址的管理。
82.由上述技术方案可以看出,获取待卸载流表;在待卸载流表不为ipv6流表的情况
下,如果仍按照常规方式中ipv6流表对应的128bit的空间存储每条流表,会造成存储空间的浪费。为了节省流表占用的存储空间,可以重新设定流表的存储格式,存储格式可以以常规流表的方式呈现,常规流表占用的存储空间小于ipv6流表占用的存储空间。在待卸载流表不为ipv6流表的情况下,可以将待卸载流表按照常规流表的格式存储至硬件芯片。在待卸载流表为ipv6流表的情况下,由于常规流表占用的存储空间小于ipv6流表占用的存储空间,无法直接将ipv6流表按照常规流表的格式存储,考虑到ipv6流表中主要是网络层ip地址占用的存储空间较多,可以将ipv6流表的网络层ip地址独立于常规流表存储。因此在待卸载流表为ipv6流表的情况下,在硬件芯片中记录待卸载流表的网络层ip地址以及对应的唯一标识,将唯一标识和待卸载流表中除网络层ip地址外的剩余信息按照常规流表的格式存储至硬件芯片。在该技术方案中,通过重新设置小于ipv6流表占用存储空间的常规流表,可以极大的降低非ipv6流表所占用的存储空间。并且对于ipv6流表通过设置唯一标识,既可以实现ipv6流表中网络层ip地址与其它信息之间的关联,又可以将ipv6流表按照常规流表的方式存储。
83.图4为本技术实施例提供的一种流表存储装置的结构示意图,包括获取单元41、第一存储单元42、记录单元43和第二存储单元44;
84.获取单元41,用于获取待卸载流表;
85.第一存储单元42,用于在待卸载流表不为ipv6流表的情况下,将待卸载流表按照常规流表的格式存储至硬件芯片;其中,常规流表占用的存储空间小于ipv6流表占用的存储空间;
86.记录单元43,用于在待卸载流表为ipv6流表的情况下,在硬件芯片中记录待卸载流表的网络层ip地址以及对应的唯一标识;
87.第二存储单元44,用于将唯一标识和待卸载流表中除网络层ip地址外的剩余信息按照常规流表的格式存储至硬件芯片。
88.可选地,记录单元用于将待卸载流表的网络层ip地址转换为radix树的形式存储至硬件芯片。
89.可选地,针对于待卸载流表是否为ipv6流表的判别过程,装置还包括解析单元和确定单元;
90.解析单元,用于从待卸载流表中解析出协议字段;
91.确定单元,用于依据协议字段,确定出待卸载流表的协议类型;其中,协议类型包括ipv6和ipv4。
92.可选地,第一存储单元包括第一设置子单元和第一填写子单元;
93.第一设置子单元,用于按照ipv4流表中各字段占用的存储空间在硬件芯片上设置常规流表;其中,字段包括源端口、目的端口、源地址、目的地址和传输层协议;
94.第一填写子单元,用于将待卸载流表中各字段信息依次填写至常规流表中。
95.可选地,第二存储单元包括第二设置子单元、第二填写子单元和第三填写子单元;
96.第二设置子单元,用于按照ipv4流表中各字段占用的存储空间在硬件芯片上设置常规流表;其中,字段包括源端口、目的端口、源地址、目的地址和传输层协议;
97.第二填写子单元,用于将待卸载流表对应的唯一标识填写至常规流表中源地址和目的地址对应的字段中;
98.第三填写子单元,用于将待卸载流表中除网络层ip地址外的剩余信息按照字段类型依次填写至常规流表的对应字段中。
99.可选地,针对于唯一标识的确定过程,装置还包括运算单元;
100.运算单元,用于对待卸载流表的网络层ip地址进行哈希运算,得到唯一标识。
101.可选地,针对于唯一标识的确定过程,装置还包括生成单元;
102.生成单元,用于针对于每条待卸载流表生成随机数作为唯一标识。
103.图4所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
104.由上述技术方案可以看出,获取待卸载流表;在待卸载流表不为ipv6流表的情况下,如果仍按照常规方式中ipv6流表对应的128bit的空间存储每条流表,会造成存储空间的浪费。为了节省流表占用的存储空间,可以重新设定流表的存储格式,存储格式可以以常规流表的方式呈现,常规流表占用的存储空间小于ipv6流表占用的存储空间。在待卸载流表不为ipv6流表的情况下,可以将待卸载流表按照常规流表的格式存储至硬件芯片。在待卸载流表为ipv6流表的情况下,由于常规流表占用的存储空间小于ipv6流表占用的存储空间,无法直接将ipv6流表按照常规流表的格式存储,考虑到ipv6流表中主要是网络层ip地址占用的存储空间较多,可以将ipv6流表的网络层ip地址独立于常规流表存储。因此在待卸载流表为ipv6流表的情况下,在硬件芯片中记录待卸载流表的网络层ip地址以及对应的唯一标识,将唯一标识和待卸载流表中除网络层ip地址外的剩余信息按照常规流表的格式存储至硬件芯片。在该技术方案中,通过重新设置小于ipv6流表占用存储空间的常规流表,可以极大的降低非ipv6流表所占用的存储空间。并且对于ipv6流表通过设置唯一标识,既可以实现ipv6流表中网络层ip地址与其它信息之间的关联,又可以将ipv6流表按照常规流表的方式存储。
105.图5为本技术实施例提供的一种电子设备的结构图,如图5所示,电子设备包括:存储器20,用于存储计算机程序;
106.处理器21,用于执行计算机程序时实现如上述实施例流表存储方法的步骤。
107.本实施例提供的电子设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
108.其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
109.存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多
个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的流表存储方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括windows、unix、linux等。数据203可以包括但不限于待卸载流表、待卸载流表中网络层ip地址对应的唯一标识等。
110.在一些实施例中,电子设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
111.本领域技术人员可以理解,图5中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件。
112.可以理解的是,如果上述实施例中的流表存储方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、磁碟或者光盘等各种可以存储程序代码的介质。
113.基于此,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述流表存储方法的步骤。
114.以上对本技术实施例所提供的一种流表存储方法、装置、设备和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
115.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
116.以上对本技术所提供的一种流表存储方法、装置、设备和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。

技术特征:
1.一种流表存储方法,其特征在于,包括:获取待卸载流表;在所述待卸载流表不为ipv6流表的情况下,将所述待卸载流表按照常规流表的格式存储至硬件芯片;其中,所述常规流表占用的存储空间小于ipv6流表占用的存储空间;在所述待卸载流表为ipv6流表的情况下,在所述硬件芯片中记录所述待卸载流表的网络层ip地址以及对应的唯一标识,将所述唯一标识和所述待卸载流表中除所述网络层ip地址外的剩余信息按照所述常规流表的格式存储至所述硬件芯片。2.根据权利要求1所述的流表存储方法,其特征在于,所述在所述硬件芯片中记录所述待卸载流表的网络层ip地址以及对应的唯一标识包括:将所述待卸载流表的网络层ip地址转换为radix树的形式存储至所述硬件芯片。3.根据权利要求1所述的流表存储方法,其特征在于,针对于所述待卸载流表是否为ipv6流表的判别过程,所述方法包括:从所述待卸载流表中解析出协议字段;依据所述协议字段,确定出所述待卸载流表的协议类型;其中,所述协议类型包括ipv6和ipv4。4.根据权利要求1所述的流表存储方法,其特征在于,所述将所述待卸载流表按照常规流表的格式存储至硬件芯片包括:按照ipv4流表中各字段占用的存储空间在所述硬件芯片上设置常规流表;其中,所述字段包括源端口、目的端口、源地址、目的地址和传输层协议;将所述待卸载流表中各字段信息依次填写至所述常规流表中。5.根据权利要求4所述的流表存储方法,其特征在于,所述将所述唯一标识和所述待卸载流表中除所述网络层ip地址外的剩余信息按照所述常规流表的格式存储至所述硬件芯片包括:按照ipv4流表中各字段占用的存储空间在所述硬件芯片上设置常规流表;其中,所述字段包括源端口、目的端口、源地址、目的地址和传输层协议;将所述待卸载流表对应的唯一标识填写至所述常规流表中所述源地址和所述目的地址对应的字段中;将所述待卸载流表中除所述网络层ip地址外的剩余信息按照字段类型依次填写至所述常规流表的对应字段中。6.根据权利要求1所述的流表存储方法,其特征在于,针对于所述唯一标识的确定过程,所述方法包括:对所述待卸载流表的网络层ip地址进行哈希运算,得到唯一标识。7.根据权利要求1所述的流表存储方法,其特征在于,针对于所述唯一标识的确定过程,所述方法包括:针对于每条所述待卸载流表生成随机数作为唯一标识。8.一种流表存储装置,其特征在于,包括获取单元、第一存储单元、记录单元和第二存储单元;所述获取单元,用于获取待卸载流表;所述第一存储单元,用于在所述待卸载流表不为ipv6流表的情况下,将所述待卸载流
表按照常规流表的格式存储至硬件芯片;其中,所述常规流表占用的存储空间小于ipv6流表占用的存储空间;所述记录单元,用于在所述待卸载流表为ipv6流表的情况下,在所述硬件芯片中记录所述待卸载流表的网络层ip地址以及对应的唯一标识;所述第二存储单元,用于将所述唯一标识和所述待卸载流表中除所述网络层ip地址外的剩余信息按照所述常规流表的格式存储至所述硬件芯片。9.一种电子设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如权利要求1至7任意一项所述流表存储方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述流表存储方法的步骤。

技术总结
本申请实施例公开了一种流表存储方法、装置、设备和计算机可读存储介质,获取待卸载流表。在待卸载流表不为IPv6流表时,将待卸载流表按照常规流表的格式存储至硬件芯片;常规流表占用的存储空间小于IPv6流表占用的存储空间。在待卸载流表为IPv6流表时,在硬件芯片中记录待卸载流表的网络层ip地址以及对应的唯一标识,将唯一标识和待卸载流表中除网络层ip地址外的剩余信息按照常规流表的格式存储至硬件芯片。通过设置常规流表,可以极大的降低非IPv6流表所占用的存储空间。并且对于IPv6流表通过设置唯一标识,既可以实现IPv6流表中网络层ip地址与其它信息之间的关联,又可以将IPv6流表按照常规流表的方式存储。IPv6流表按照常规流表的方式存储。IPv6流表按照常规流表的方式存储。


技术研发人员:李保国 钱情明 孙路遥
受保护的技术使用者:深圳星云智联科技有限公司
技术研发日:2022.06.24
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-4040.html

最新回复(0)