基于TrieBitmap的P4编译器关键字处理方法、装置、设备及介质制造方法及图纸

技术编号:38762574 阅读:16 留言:0更新日期:2023-09-10 10:35
本发明专利技术涉及计算机技术领域,公开了一种基于Trie Bitmap的P4编译器关键字处理方法、装置、设备及介质,包括:定义关键字标签,所述关键字标签用于源代码中,标识存储数据的数据结构、字段以及编译规则;编码器根据定义好的业务数据结构和所述转换规则生成存储结构;对所述存储数据进行操作。通过扩展P4语言的lpm关键字,引入trie bitmap算法后,在满足用户需求的情况下充分利用硬件资源,同时对于同一个硬件block,当prefix_base_len=28,tire_bitmap的层数配置为4时,可以同时涵盖prefix_len=28,29,30,31这四种情况,特别适合memory_size比较小的应用场景。比较小的应用场景。比较小的应用场景。

【技术实现步骤摘要】
基于Trie Bitmap的P4编译器关键字处理方法、装置、设备及介质


[0001]本专利技术涉及计算机
,尤其涉及一种基于Trie Bitmap的P4编译器关键字处理方法、装置、设备及介质。

技术介绍

[0002]P4语言中通过关键字lpm(longest prefix match)来支持可编程交换机的lpm相关的功能。但是lpm功能是一个硬件强相关的功能,每个厂商的P4编译器的lpm算法都有自己的特色。
[0003]专利技术人意识到,P4语言自带的lpm关键字只能指定某个字段是否是lpm,其他LPM查找需要的信息是无法表示出来的。

技术实现思路

[0004]本专利技术提供一种基于Trie Bitmap的P4编译器关键字处理方法、装置、计算机设备及介质。
[0005]第一方面,提供了一种基于Trie Bitmap的P4编译器关键字处理方法,包括:
[0006]定义关键字标签,所述关键字标签用于源代码中,标识存储数据的数据结构、字段以及编译规则;
[0007]编码器根据定义好的业务数据结构和所述转换规则生成存储结构和分配存储资源;
[0008]对所述存储数据进行操作。
[0009]在一些实施例中,所述数据的存储结构包括有顺序存储方法、链接存储方法、索引存储方法和散列存储方法。
[0010]在一些实施例中,所述关键字包括注解格式标识、全局标识和规则标识;
[0011]所述注解格式标识用于编码器转换识别的开始及结束;
[0012]所述全局标识用于所述编码器识别单条规则;
[0013]所述规则标识用于所述编码器识别不同的转换规则。
[0014]在一些实施例中,所述关键字通过添加注解的方式进行标识;其中,所述注解包括第一部分,用于表示LPM表是否使能关键字资源分配算法优化功能;第二部分用于表示table支持的前缀长度;第三部分用于指定表项分配的空间;第四部分用于指定LPM表所占用的存储空间大小。
[0015]在一些实施例中,还包括:
[0016]调用所述注解处理插件对所述目标注解进行错误检测,若检测到所述目标注解不满足注解协议,则调用所述P4编译器进行报错处理。
[0017]在一些实施例中,所述调用所述注解处理插件对所述目标注解进行错误检测,包括:
[0018]当所述注解处理插件检测到所述目标注解的编写格式不满足所述注解协议中的编写格式,或者,所述注解处理插件检测到所述目标注解存在错误拼写,或者,所述注解处理插件检测到所述目标注解中的注解参数的类型错误时,确定所述目标注解不满足所述注解协议。
[0019]在一些实施例中,所述对所述存储数据进行操作,包括:
[0020]通过SDK对数据的key进行hash计算,得到一个HASH值;
[0021]对得到的HASH值与LPM表大小做取余计算,从而得到Table内的编号;
[0022]根据Table分配的Block利用SDK在相应的服务器或网络设备上进行操作,完成基于复杂数据序列化的存储算法操作
[0023]第二方面,提供了一种基于Trie Bitmap的P4编译器关键字处理装置,包括:
[0024]定义单元,用于定义关键字标签,所述关键字标签用于源代码中,标识存储数据的数据结构、字段以及编译规则;
[0025]编译单元,用于编码器根据定义好的业务数据结构和所述转换规则生成存储结构和分配存储资源;
[0026]操作单元,用于对所述存储数据进行操作。
[0027]第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于Trie Bitmap的P4编译器关键字处理方法的步骤。
[0028]第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述基于Trie Bitmap的P4编译器关键字处理方法的步骤。
[0029]上述基于Trie Bitmap的P4编译器关键字处理方法、装置、计算机设备及存储介质所实现的方案中,可以通过定义关键字标签,所述关键字标签用于源代码中,标识存储数据的数据结构、字段以及编译规则;编码器根据定义好的业务数据结构和所述转换规则生成存储结构;对所述存储数据进行操作。在本专利技术中,通过扩展P4语言的lpm关键字,引入trie bitmap算法后,在满足用户需求的情况下充分利用硬件资源,同时对于同一个硬件block,当prefix_base_len=28,tire_bitmap的层数配置为4时,可以同时涵盖prefix_len=28,29,30,31这四种情况,特别适合memory_size比较小的应用场景。
附图说明
[0030]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0031]图1是本专利技术一实施例中基于Trie Bitmap的P4编译器关键字处理方法的一应用环境示意图;
[0032]图2是本专利技术一实施例中基于Trie Bitmap的P4编译器关键字处理方法的一流程示意图;
[0033]图3是本专利技术一实施例中基于Trie Bitmap的P4编译器关键字处理装置的一结构
示意图;
[0034]图4是本专利技术一实施例中计算机设备的一结构示意图;
[0035]图5是本专利技术一实施例中计算机设备的另一结构示意图。
具体实施方式
[0036]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0037]本专利技术实施例提供的基于Trie Bitmap的P4编译器关键字处理方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信。服务端可以通过定义关键字标签,所述关键字标签用于源代码中,标识存储数据的数据结构、字段以及编译规则;编码器根据定义好的业务数据结构和所述转换规则生成存储结构;对所述存储数据进行操作,在本专利技术中,介绍一种基于Trie Bitmap的lpm查到P4编译器中的设计,增加关键字标签。其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者网咯设备来实现。下面通过具体的实施例对本专利技术进行详细的描述。
[0038]请参阅图2所示,图2为本专利技术实施例提供的基于Trie Bitmap的P4编译器关键字处理方法的一个流程示意图,包括如下步骤:
[0039]S10、定义关键字标签,所述关键本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Trie Bitmap的P4编译器关键字处理方法,其特征在于,包括:定义关键字标签,所述关键字标签用于源代码中,标识存储数据的数据结构、字段以及编译规则;编码器根据定义好的业务数据结构和所述转换规则生成存储结构和分配存储资源;对所述存储数据进行操作。2.如权利要求1所述的基于Trie Bitmap的P4编译器关键字处理方法,其特征在于,所述数据的存储结构包括有顺序存储方法、链接存储方法、索引存储方法和散列存储方法。3.如权利要求1所述的基于Trie Bitmap的P4编译器关键字处理方法,其特征在于,所述关键字包括注解格式标识、全局标识和规则标识;所述注解格式标识用于编码器转换识别的开始及结束;所述全局标识用于所述编码器识别单条规则;所述规则标识用于所述编码器识别不同的转换规则。4.如权利要求1所述的基于Trie Bitmap的P4编译器关键字处理方法,其特征在于,所述关键字通过添加注解的方式进行标识;其中,所述注解包括第一部分,用于表示LPM表是否使能关键字资源分配算法优化功能;第二部分用于表示table支持的前缀长度;第三部分用于指定表项分配的空间;第四部分用于指定LPM表所占用的存储空间大小。5.如权利要求1所述的基于Trie Bitmap的P4编译器关键字处理方法,其特征在于,还包括:调用所述注解处理插件对所述目标注解进行错误检测,若检测到所述目标注解不满足注解协议,则调用所述P4编译器进行报错处理。6.如权利要求5任一项所述的基于Trie Bitmap的P4编译器关键字处理方法,其特征在于,所述调用所述注解处理插件对所述目标注解进行...

【专利技术属性】
技术研发人员:陈升严德春
申请(专利权)人:篆芯半导体南京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1