CN117540071B - 一种针对查找引擎的属性表项的配置方法和装置 - Google Patents

一种针对查找引擎的属性表项的配置方法和装置 Download PDF

Info

Publication number
CN117540071B
CN117540071B CN202410028028.XA CN202410028028A CN117540071B CN 117540071 B CN117540071 B CN 117540071B CN 202410028028 A CN202410028028 A CN 202410028028A CN 117540071 B CN117540071 B CN 117540071B
Authority
CN
China
Prior art keywords
information unit
information
effective
width
attribute table
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
Application number
CN202410028028.XA
Other languages
English (en)
Other versions
CN117540071A (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.)
Nanjing Huaxin Kesheng Technology Co ltd
Original Assignee
Nanjing Huaxin Kesheng 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 Nanjing Huaxin Kesheng Technology Co ltd filed Critical Nanjing Huaxin Kesheng Technology Co ltd
Priority to CN202410028028.XA priority Critical patent/CN117540071B/zh
Publication of CN117540071A publication Critical patent/CN117540071A/zh
Application granted granted Critical
Publication of CN117540071B publication Critical patent/CN117540071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种针对查找引擎的属性表项的配置方法、装置、计算机设备和存储介质,属于数据处理技术领域。所述方法包括:获取针对查找引擎的目标属性表项的配置信息;确定所述配置信息包含的每个信息单元的有效宽度;判断所述有效宽度之和是否大于CPU最大数据宽度;如果是,则采用贪婪匹配算法,根据所述有效宽度和所述CPU最大数据宽度对多个所述信息单元进行整合;按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分;基于拆分得到的新信息单元块配置所述查找引擎的目标属性表项。采用本方法能够通过上层软件实现针对查找引擎的硬件资源的任意长度的属性表项配置。

Description

一种针对查找引擎的属性表项的配置方法和装置
技术领域
本申请涉及数据处理技术领域,特别是涉及一种针对查找引擎的属性表项的配置方法、装置、计算机设备和存储介质。
背景技术
在网络中,存在着各种各样的报文,如IP报文、TCP报文、UDP报文等。网络处理器可以通过对报文进行解析、过滤和重排等操作,提高网络传输效率和数据处理能力。网络处理器在执行上述操作时,通常会使用查找引擎来实现对报文快速的匹配和分类。查找引擎的属性表项一般在设计硬件逻辑时已经确定,以便查找引擎可以根据这些属性表项进行快速的报文分类和处理加速。
在信息存储领域,不同的信息根据需要表达的含义,通常使用不同的位宽来表示。在设计硬件逻辑时,考虑到逻辑资源以及查找速度,各属性表项的长度,以及有效信息占用的位宽是可以任意指定的。当部署集成开发环境时,经常需要通过上层软件来完成各个属性表项的配置,由于上层软件实现的数据位宽依赖于CPU的最大数据宽度,且数据访问要字节对齐,而硬件逻辑实现的寄存器位宽可以为任意长度,两者之间的差异导致上层软件无法直接将有效信息下发查找引擎。
发明内容
基于此,有必要针对上述技术问题,提供一种针对查找引擎的属性表项的配置方法、装置、计算机设备和存储介质,以通过上层软件实现针对查找引擎的硬件资源的任意长度的属性表项配置。
第一方面,本申请提供了一种针对查找引擎的属性表项的配置方法。所述方法包括:
获取针对查找引擎的目标属性表项的配置信息;
确定所述配置信息包含的每个信息单元的有效宽度;
判断所述有效宽度之和是否大于CPU最大数据宽度;
如果是,则采用贪婪匹配算法,根据所述有效宽度和所述CPU最大数据宽度对多个所述信息单元进行整合;
按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分;
基于拆分得到的新信息单元块配置所述查找引擎的目标属性表项。
在其中一个实施例中,所述采用贪婪匹配算法,根据所述有效宽度和所述CPU最大数据宽度对多个所述信息单元进行整合,包括:
依次将所述有效宽度之和小于或等于所述CPU最大数据宽度的连续多个信息单元整合为一个信息单元块。
在其中一个实施例中,所述依次将所述有效宽度之和小于所述CPU最大数据宽度的连续多个信息单元整合为一个信息单元块,包括:
从所述配置信息的LSB开始,逐个将信息单元整合至一个信息单元块中,并累加信息单元的有效宽度;
判断累加得到的有效宽度之和是否小于所述CPU最大数据宽度;
如果小于,则继续整合下一信息单元,并累加下一信息单元的有效宽度;
如果不小于,则从当前信息单元开始整合新的信息单元块,并将有效宽度之和设为当前信息单元的有效宽度。
在其中一个实施例中,按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分,包括:
从整合得到的信息单元块的LSB开始,以所述CPU最大数据宽度为单位对齐,依次对所述信息单元块进行拆分。
在其中一个实施例中,所述从整合得到的信息单元块的LSB开始,以所述CPU最大数据宽度为单位对齐,依次对所述信息单元块进行拆分,包括:
利用所述CPU最大数据宽度减去当前信息单元块的有效长度,得到当前信息单元块的有效宽度与CPU最大数据宽度的对齐长度;
利用当前信息单元块的有效宽度减去所述对齐长度,得到当前信息单元块对齐到CPU最大数据宽度后的剩余有效长度;
将当前信息单元块的属性值右移对齐长度后,与所述剩余有效长度进行掩码操作得到当前信息单元块的低有效位;
将下个信息单元块的属性值左移所述剩余有效长度后,得到当前信息单元块的高有效位;
将低有效位与高有效位进行或运算得到一个拆分处理后的信息单元块。
在其中一个实施例中,所述获取针对查找引擎的目标属性表项的配置信息之后,还包括:
根据所述目标属性表项的配置标准位宽,检测所述配置信息的数据总宽度是否正常;
如果异常,则基于所述目标属性表项包含的各个信息单元的标准宽度,分别校验所述配置信息中各信息单元的数据宽度。
在其中一个实施例中,所述按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分之后,还包括:
如果所述目标属性表项为通用属性表项,则对应存储所述拆分得到的信息单元块和所述目标属性表项的配置信息;
当再次获取到所述目标属性表项同类别的相似属性表项的配置信息时,基于已存储的所述目标属性表项的配置信息和所述信息单元块,对所述相似属性表项进行信息单元块的配置。
第二方面,本申请还提供了一种针对查找引擎的属性表项的配置装置。所述装置包括:
信息获取模块,用于获取针对查找引擎的目标属性表项的配置信息;
位宽确定模块,用于确定所述配置信息包含的每个信息单元的有效宽度;
位宽判断模块,用于判断所述有效宽度之和是否大于CPU最大数据宽度;
信息整合模块,用于如果是,则采用贪婪匹配算法,根据所述有效宽度和所述CPU最大数据宽度对多个所述信息单元进行整合;
信息拆分模块,用于按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分;
属性配置模块,用于基于拆分得到的新信息单元块配置所述查找引擎的目标属性表项。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述针对查找引擎的属性表项的配置方法中的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述针对查找引擎的属性表项的配置方法中的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述针对查找引擎的属性表项的配置方法中的步骤。
采用本申请公开的针对查找引擎的属性表项的配置方法,针对查找引擎的属性表项的配置信息中不同数据宽度的多个信息单元,当一个配置信息中的连续信息单元的有效宽度之和超过CPU的最大数据宽度时,采用贪婪匹配原则,对属性表项的信息单元进行整合,再配合专门的拆分流程完成属性表项中的信息单元的位转换处理,最终生成与查找引擎的属性表项对应的配置信息。这样,在部署集成开发环境时,在软件层面以CPU最大数据宽度为基准,对硬件资源的配置信息进行数据位的转换,从而可以通过上层软件实现针对查找引擎的硬件资源的任意长度的属性表项配置。
附图说明
图1为一个实施例中针对查找引擎的属性表项的配置方法的流程示意图;
图2为一个实施例中对信息单元进行整合的流程示意图;
图3为一个实施例中对信息单元块进行拆分的流程示意图;
图4为一个实施例中针对查找引擎的属性表项的配置装置的结构框图;
图5为另一实施例中针对查找引擎的属性表项的配置装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在网络处理器的报文分类过程中,通常会使用查找引擎来实现快速的匹配和分类,查找引擎的属性表项可以用于描述和区分不同报文类型的属性或字段,常见的条目属性信息可以包括:
协议类型:指示报文所属的协议类型,如IPv4、IPv6、TCP、UDP等;
源IP地址和目标IP地址:用于匹配报文中的源IP地址和目标IP地址,以确定报文的源和目标;
源端口和目标端口:用于匹配报文中的源端口和目标端口,以确定报文的源和目标应用程序或服务;
VLAN标识:用于匹配报文中的VLAN标识,以实现虚拟局域网的划分;
特定标识符或标志位:用于匹配报文中的特定标识符或标志位,如TCP标志位、IP标识符等,以区分不同类型的报文;
网络流量特征:根据报文的流量特征,如数据包的大小、协议类型、时间戳等,来进行匹配和分类。
这些属性表项的配置信息可以在硬件逻辑设计过程中设置在硬件资源的寄存器中。取决于具体的应用场景和需求,不同的网络处理器和硬件资源具有不同的条目属性信息。
在部署集成开发环境时,如果需要对查找引擎的属性表项进行配置,可以通过上层软件来完成。然而,上层软件实现的数据位宽依赖于CPU最大数据宽度,且数据访问要字节对齐,而硬件逻辑实现的寄存器位宽可以为任意长度,两者之间的差异导致上层软件无法直接将有效信息下发查找引擎。现有技术中,通常采用位域结构实现CPU上针对位的处理,但是位域结构只能处理数据的有效宽度在CPU最大数据宽度之内的情况,无法处理多个连续字段位宽长度之和超过CPU最大数据宽度的情况。
针对上述情况,本申请实施例提供了一种针对查找引擎的属性表项的配置方法,该方法可以应用于任意数据处理设备上,该数据处理设备上可以部署有集成开发环境,在集成开发环境中可以通过上层软件对查找引擎的属性表项进行配置。在配置属性表项时,数据处理设备可以以信息单元为单位对配置信息进行数据位宽的调整,从而可以将调整后的信息单元配置在硬件资源中。
在一个实施例中,如图1所示,提供了一种针对查找引擎的属性表项的配置方法,包括以下步骤:
步骤102,获取针对查找引擎的目标属性表项的配置信息。
在实施中,在部署集成开发环境中,开发人员可以通过上层软件对查找引擎的属性表项进行配置。具体的,开发人员可以在数据处理设备中针对查找引擎的每个属性表项输入相应的配置信息,该配置信息额可以为属性表项对应的任意有效宽度的属性值。之后,数据处理设备可以对配置信息进行数据位的调整,以匹配CPU所支持的最大数据宽度。以目标属性表项为例,在本步骤中数据处理设备可以获取针对目标属性表项的配置信息。
步骤104,确定配置信息包含的每个信息单元的有效宽度。
在实施中,在获取到目标属性表项的配置信息后,数据处理设备可以将该配置信息解析至信息单位的维度,并确定其中包含的每个信息单元的有效宽度。其中,信息单元可以是预设的用于度量信息量的基本单位,其可以是任意长度;而信息单元的有效宽度可以是表示一个信息单元所需的实际位数。
步骤106,判断有效宽度之和是否大于CPU最大数据宽度。
在实施中,数据处理设备在确定了每个信息单元的有效宽度后,可以计算所有信息单元的有效宽度之和,并可以进一步判断有效宽度之和是否大于CPU最大数据宽度
步骤108,如果是,则采用贪婪匹配算法,根据有效宽度和CPU最大数据宽度对多个信息单元进行整合。
在实施中,如果配置信息包含的所有信息单元的有效宽度之和大于CPU最大数据宽度,数据处理设备则可以从数据位的层面对信息单元进行整合,即可以采用贪婪匹配算法,根据有效宽度和CPU最大数据宽度,对配置信息包含的多个信息单元进行整合,以重组得到信息单元块。当然,如果所有信息单元的有效宽度之和未大于CPU最大数据宽度,则可以基于配置信息直接完成查找引擎的目标属性表项的配置处理。
在一个实施例中,步骤108对多个信息单元的整合处理可以如下:依次将有效宽度之和小于或等于CPU最大数据宽度的连续多个信息单元整合为一个信息单元块。
在实施中,数据处理设备在对多个信息单元进行整合时,可以依次选取相邻的信息单元,将信息单元的有效宽度进行累加,当累加得到的有效宽度之和不小于CPU最大数据宽度时,可以将已累加的信息单元整合为一个信息单元块,并重新开始下一个信息单元块的整合处理。
具体的,上述信息单元块的整合流程可以参考如图2所示的步骤,可以包括如下步骤:
步骤1082,从配置信息的LSB开始,逐个将信息单元整合至一个信息单元块中,并累加信息单元的有效宽度。
其中,LSB(最低有效位,Least Significant Bit)计算机中二进制数的一种位数表示方式,通常用于表示二进制数的最右边的位。在二进制数中,每一位都有一个权重,LSB具有最小的权重,即2的0次方,相对而言,最高有效位(MSB,Most Significant Bit)通常用于表示二进制数的最左边的位,具有最大的权重,即2的n次方,其中n是二进制数的位数减1。举例来说,对于一个8位的二进制数,从左到右分别为 MSB、…、LSB,表示权重为 2^7、2^6、…、2^0 的位。
在实施中,在对配置信息的信息单元进行整合时,可以从配置信息的LSB开始,逐个将最右侧的信息单元整合至一个信息单元块中,并同时可以累加已整合的信息单元的有效宽度。
步骤1084,判断累加得到的有效宽度之和是否小于CPU最大数据宽度。
步骤1086,如果小于,则继续整合下一信息单元,并累加下一信息单元的有效宽度。
在实施中,如果一个信息单元块中信息单元的有效宽度之和小于CPU最大数据宽度,则可以依序继续将下一个信息单元整合至该信息单元块中,并可以累加下一信息单元的有效宽度至有效宽度之和。
步骤1088,如果不小于,则从当前信息单元开始整合新的信息单元块,并将有效宽度之和设为当前信息单元的有效宽度。
在实施中,如果一个信息单元块中信息单元的有效宽度之和不小于CPU最大数据宽度,则可以将当前信息单元从该信息单元块中独立出,即可以理解为当前的信息单元块已整合结束,可以从当前信息单元开始整合新的信息单元块,同时将记录的有效宽度之和重设为当前信息单元的有效宽度。
步骤110,按照CPU最大数据宽度对整合得到的信息单元块进行拆分。
在实施中,数据处理设备在对配置信息包含的多个信息单元进行整合后,可以再按照CPU最大数据宽度对整合得到的信息单元块进行拆分,以得到数据位宽与CPU最大数据宽度对齐的多个新信息单元块。
在一个实施例中,步骤110对信息单元块的拆分处理可以如下:从整合得到的信息单元块的LSB开始,以CPU最大数据宽度为单位对齐,依次对信息单元块进行拆分。
在实施中,数据处理设备在对整合得到的信息单元块进行拆分时,可以从整合得到的信息单元块的LSB开始,依次对信息单元块进行拆分,使得拆分后的信息单元块可以以CPU最大数据宽度为单位对齐。
具体的,上述信息单元块的拆分流程可以参考如图3所示的步骤,可以包括如下步骤:
步骤1102,利用CPU最大数据宽度减去当前信息单元块的有效长度,得到当前信息单元块的有效宽度与CPU最大数据宽度的对齐长度。
在实施中,在对信息单元块进行拆分时,可以从LSB开始逐个选取信息单元块,然后利用CPU最大数据宽度减去当前信息单元块(即选取的信息单元块)的有效长度,计算得到当前信息单元块的有效宽度也CPU最大数据宽度的对齐长度。
步骤1104,利用当前信息单元块的有效宽度减去对齐长度,得到当前信息单元块对齐到CPU最大数据宽度后的剩余有效长度。
步骤1106,将当前信息单元块的属性值右移对齐长度后,与剩余有效长度进行掩码操作得到当前信息单元块的低有效位。
其中,掩码操作是指在计算机中使用位运算的操作,在位运算中,掩码可以用于选择,修改或提取二进制位的特定部分,具体可以是位与操作、位或操作、位非操作、位异或操作等。在执行掩码操作时,可以引入与剩余有效长度等长的掩码,并将掩码与当前信息单元块的右移后的属性值进行掩码逻辑运算,从而可以得到当前信息单元块的低有效位。
步骤1108,将下个信息单元块的属性值左移剩余有效长度后,得到当前信息单元块的高有效位。
其中,下个信息单元块是相对当前信息单元块而言的,如果从LSB开始拆分信息单元块,那么下个信息单元块是当前信息单元块左侧相邻的信息单元块。
步骤1110,将低有效位与高有效位进行或运算得到一个拆分处理后的信息单元块。
在实施中,通过将低有效位和高有效位进行或运算,可以将步骤108整合生成的信息单元块拆分后,重新组合成一个完整的信息单元块。这种情况下,低有效位和高有效位可以表示信息单元块的不同部分,通过进行或运算可以将它们合并成一个整体。
步骤112,基于拆分得到的新信息单元块配置查找引擎的目标属性表项。
在实施中,数据处理设备拆分得到多个新信息单元块后,可以直接将新信息单元块配置在查找引擎的硬件资源中,以完成查找引擎的目标属性表项的配置处理。
在另一个实施例中,可以通过各个信息单元的标准宽度,对配置信息进行校验,相应的,步骤102之后可以存在如下处理:根据目标属性表项的配置标准位宽,检测配置信息的数据总宽度是否正常;如果异常,则基于目标属性表项包含的各个信息单元的标准宽度,分别校验配置信息中各信息单元的数据宽度。
在实施中,查找引擎的每个属性表项均可以对应有一个配置标准位宽,该配置标准位宽可以指示相关属性表项的数据宽度的合理范围。这样,在获取到目标属性表项的配置信息后,数据处理设备可以根据配置标准位宽对配置信息的数据总宽度进行检测,以判断数据总宽度是否正常。如果正常,则可以针对配置信息执行后续步骤104-112的处理;如果异常,则可以初步判定配置信息中存在错误内容,进而,数据处理设备可以基于目标属性表现包含的各个信息单元的标准宽度,从信息单元层面校验配置信息中各信息单元的数据宽度,以确定哪个信息单元包含错误的属性值。可以理解,在针对数据单元进行拆分和整合前,以信息单元为单位对配置信息进行检测,可以及时准确发现配置信息中的错误内容,以免影响后续的处理。
在另一个实施例中,可以缓存一些通用的配置信息的整合拆分结果,以减少对于相同配置信息的重复处理,相应的,可以存在如下处理:如果目标属性表项为通用属性表项,则对应存储拆分得到的信息单元块和目标属性表项的配置信息;当再次获取到目标属性表项同类别的相似属性表项的配置信息时,基于已存储的目标属性表项的配置信息和信息单元块,对相似属性表项进行信息单元块的配置。
在实施中,考虑到查找引擎的属性表项的配置信息基本固定,且可能存在两条以上属性值相同的属性表项,如不同类型的网络报文可能存在相同的目标IP地址或者相同的目标端口号,则可以将该属性表项设置为通用属性表项。这样,可以在对目标属性表项的配置信息进行整合拆分后,判断目标属性表项是否为通用属性表项。如果是通用属性表项,则可以将整合拆分前的原始的配置信息与整合拆分得到的所有信息单元块对应存储。基于此,当再次获取到其它属性表项的配置信息时,可以先判断该属性表项是否为与目标属性表项同类别的相似属性表项,如果是,则可以进一步判断相似属性表项的配置信息是否与目标属性表项的配置信息相同,从而可以判断是否可以直接利用目标属性表项的配置信息对应的多个信息单元块,对相似属性表项进行信息单元块的配置。
采用本申请公开的针对查找引擎的属性表项的配置方法,针对查找引擎的属性表项的配置信息中不同数据宽度的多个信息单元,当一个配置信息中的连续信息单元的有效宽度之和超过CPU的最大数据宽度时,采用贪婪匹配原则,对属性表项的信息单元进行整合,再配合专门的拆分流程完成属性表项中的信息单元的位转换处理,最终生成与查找引擎的属性表项对应的配置信息。这样,在部署集成开发环境时,在软件层面以CPU最大数据宽度为基准,对硬件资源的配置信息进行数据位的转换,从而可以通过上层软件实现针对查找引擎的硬件资源的任意长度的属性表项配置。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的针对查找引擎的属性表项的配置方法的针对查找引擎的属性表项的配置装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个电机转子角度确定装置实施例中的具体限定可以参见上文中对于针对查找引擎的属性表项的配置方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种针对查找引擎的属性表项的配置装置400,包括:信息获取模块402、位宽确定模块404、位宽判断模块406、信息整合模块408、信息拆分模块410和属性配置模块412,其中:
所述信息获取模块402,用于获取针对查找引擎的目标属性表项的配置信息;
所述位宽确定模块404,用于确定所述配置信息包含的每个信息单元的有效宽度;
所述位宽判断模块406,用于判断所述有效宽度之和是否大于CPU最大数据宽度;
所述信息整合模块408,用于如果是,则采用贪婪匹配算法,根据所述有效宽度和所述CPU最大数据宽度对多个所述信息单元进行整合;
所述信息拆分模块410,用于按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分;
所述属性配置模块412,用于基于拆分得到的新信息单元块配置所述查找引擎的目标属性表项。
在一个实施例中,所述信息整合模块408,具体用于:
依次将所述有效宽度之和小于或等于所述CPU最大数据宽度的连续多个信息单元整合为一个信息单元块。
在一个实施例中,所述信息整合模块408,具体用于:
从所述配置信息的LSB开始,逐个将信息单元整合至一个信息单元块中,并累加信息单元的有效宽度;
判断累加得到的有效宽度之和是否小于所述CPU最大数据宽度;
如果小于,则继续整合下一信息单元,并累加下一信息单元的有效宽度;
如果不小于,则从当前信息单元开始整合新的信息单元块,并将有效宽度之和设为当前信息单元的有效宽度。
在一个实施例中,所述信息拆分模块410,具体用于:
从整合得到的信息单元块的LSB开始,以所述CPU最大数据宽度为单位对齐,依次对所述信息单元块进行拆分。
在一个实施例中,所述信息拆分模块410,具体用于:
利用所述CPU最大数据宽度减去当前信息单元块的有效长度,得到当前信息单元块的有效宽度与CPU最大数据宽度的对齐长度;
利用当前信息单元块的有效宽度减去所述对齐长度,得到当前信息单元块对齐到CPU最大数据宽度后的剩余有效长度;
将当前信息单元块的属性值右移对齐长度后,与所述剩余有效长度进行掩码操作得到当前信息单元块的低有效位;
将下个信息单元块的属性值左移所述剩余有效长度后,得到当前信息单元块的高有效位;
将低有效位与高有效位进行或运算得到一个拆分处理后的信息单元块。
在一个实施例中,如图5所示,所述装置还包括位宽校验模块414,用于:
根据所述目标属性表项的配置标准位宽,检测所述配置信息的数据总宽度是否正常;
如果异常,则基于所述目标属性表项包含的各个信息单元的标准宽度,分别校验所述配置信息中各信息单元的数据宽度。
在一个实施例中,所述属性配置模块412,还用于:
如果所述目标属性表项为通用属性表项,则对应存储所述拆分得到的信息单元块和所述目标属性表项的配置信息;
当再次获取到所述目标属性表项同类别的相似属性表项的配置信息时,基于已存储的所述目标属性表项的配置信息和所述信息单元块,对所述相似属性表项进行信息单元块的配置。
上述针对查找引擎的属性表项的配置装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储属性表项的配置信息、预设掩码等。该计算机设备的输入/输出接口用于处理器与外部设备之间交换数据。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种针对查找引擎的属性表项的配置方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种针对查找引擎的属性表项的配置方法,其特征在于,所述方法包括:
获取针对查找引擎的目标属性表项的配置信息;
确定所述配置信息包含的每个信息单元的有效宽度;
判断所述有效宽度之和是否大于CPU最大数据宽度;
如果是,则依次将所述有效宽度之和小于或等于所述CPU最大数据宽度的连续多个信息单元整合为一个信息单元块;
按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分;
基于拆分得到的新信息单元块配置所述查找引擎的目标属性表项;
其中,信息单元是预设的用于度量信息量的任意长度的基本单位,信息单元的有效宽度是表示一个信息单元所需的实际位数。
2.根据权利要求1所述的方法,其特征在于,所述依次将所述有效宽度之和小于所述CPU最大数据宽度的连续多个信息单元整合为一个信息单元块,包括:
从所述配置信息的LSB开始,逐个将信息单元整合至一个信息单元块中,并累加信息单元的有效宽度;
判断累加得到的有效宽度之和是否小于所述CPU最大数据宽度;
如果小于,则继续整合下一信息单元,并累加下一信息单元的有效宽度;
如果不小于,则从当前信息单元开始整合新的信息单元块,并将有效宽度之和设为当前信息单元的有效宽度。
3.根据权利要求1所述的方法,其特征在于,按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分,包括:
从整合得到的信息单元块的LSB开始,以所述CPU最大数据宽度为单位对齐,依次对所述信息单元块进行拆分。
4.根据权利要求3所述的方法,其特征在于,所述从整合得到的信息单元块的LSB开始,以所述CPU最大数据宽度为单位对齐,依次对所述信息单元块进行拆分,包括:
利用所述CPU最大数据宽度减去当前信息单元块的有效长度,得到当前信息单元块的有效宽度与CPU最大数据宽度的对齐长度;
利用当前信息单元块的有效宽度减去所述对齐长度,得到当前信息单元块对齐到CPU最大数据宽度后的剩余有效长度;
将当前信息单元块的属性值右移对齐长度后,与所述剩余有效长度进行掩码操作得到当前信息单元块的低有效位;
将下个信息单元块的属性值左移所述剩余有效长度后,得到当前信息单元块的高有效位;
将低有效位与高有效位进行或运算得到一个拆分处理后的信息单元块。
5.根据权利要求1所述的方法,其特征在于,所述获取针对查找引擎的目标属性表项的配置信息之后,还包括:
根据所述目标属性表项的配置标准位宽,检测所述配置信息的数据总宽度是否正常;
如果异常,则基于所述目标属性表项包含的各个信息单元的标准宽度,分别校验所述配置信息中各信息单元的数据宽度。
6.根据权利要求1所述的方法,其特征在于,所述按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分之后,还包括:
如果所述目标属性表项为通用属性表项,则对应存储所述拆分得到的信息单元块和所述目标属性表项的配置信息;
当再次获取到所述目标属性表项同类别的相似属性表项的配置信息时,基于已存储的所述目标属性表项的配置信息和所述信息单元块,对所述相似属性表项进行信息单元块的配置。
7.一种针对查找引擎的属性表项的配置装置,其特征在于,所述装置包括:
信息获取模块,用于获取针对查找引擎的目标属性表项的配置信息;
位宽确定模块,用于确定所述配置信息包含的每个信息单元的有效宽度;
位宽判断模块,用于判断所述有效宽度之和是否大于CPU最大数据宽度;
信息整合模块,用于如果是,则依次将所述有效宽度之和小于或等于所述CPU最大数据宽度的连续多个信息单元整合为一个信息单元块;
信息拆分模块,用于按照所述CPU最大数据宽度对整合得到的信息单元块进行拆分;
属性配置模块,用于基于拆分得到的新信息单元块配置所述查找引擎的目标属性表项;
其中,信息单元是预设的用于度量信息量的任意长度的基本单位,信息单元的有效宽度是表示一个信息单元所需的实际位数。
8.根据权利要求7所述的装置,其特征在于,所述信息整合模块,具体用于:
从所述配置信息的LSB开始,逐个将信息单元整合至一个信息单元块中,并累加信息单元的有效宽度;
判断累加得到的有效宽度之和是否小于所述CPU最大数据宽度;
如果小于,则继续整合下一信息单元,并累加下一信息单元的有效宽度;
如果不小于,则从当前信息单元开始整合新的信息单元块,并将有效宽度之和设为当前信息单元的有效宽度。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202410028028.XA 2024-01-09 2024-01-09 一种针对查找引擎的属性表项的配置方法和装置 Active CN117540071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410028028.XA CN117540071B (zh) 2024-01-09 2024-01-09 一种针对查找引擎的属性表项的配置方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410028028.XA CN117540071B (zh) 2024-01-09 2024-01-09 一种针对查找引擎的属性表项的配置方法和装置

Publications (2)

Publication Number Publication Date
CN117540071A CN117540071A (zh) 2024-02-09
CN117540071B true CN117540071B (zh) 2024-04-02

Family

ID=89792292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410028028.XA Active CN117540071B (zh) 2024-01-09 2024-01-09 一种针对查找引擎的属性表项的配置方法和装置

Country Status (1)

Country Link
CN (1) CN117540071B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034127A (zh) * 2009-09-28 2011-04-27 上海易悠通信息科技有限公司 新型大容量二维条码与系统及其编解码方法和应用
CN103414603A (zh) * 2013-07-31 2013-11-27 清华大学 基于Hash折叠方法的Ipv6深度包检测方法
CN110889492A (zh) * 2019-11-25 2020-03-17 北京百度网讯科技有限公司 用于训练深度学习模型的方法和装置
CN117093509A (zh) * 2023-10-18 2023-11-21 上海为旌科技有限公司 一种基于贪婪算法的片上内存地址分配方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034127A (zh) * 2009-09-28 2011-04-27 上海易悠通信息科技有限公司 新型大容量二维条码与系统及其编解码方法和应用
CN103414603A (zh) * 2013-07-31 2013-11-27 清华大学 基于Hash折叠方法的Ipv6深度包检测方法
CN110889492A (zh) * 2019-11-25 2020-03-17 北京百度网讯科技有限公司 用于训练深度学习模型的方法和装置
CN117093509A (zh) * 2023-10-18 2023-11-21 上海为旌科技有限公司 一种基于贪婪算法的片上内存地址分配方法和系统

Also Published As

Publication number Publication date
CN117540071A (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
CN109617927B (zh) 一种匹配安全策略的方法及装置
CN109218301B (zh) 多协议间软件定义的帧头映射的方法和装置
US8543528B2 (en) Exploitation of transition rule sharing based on short state tags to improve the storage efficiency
CN110096363B (zh) 一种网络事件与进程的关联方法及装置
CN111614580B (zh) 一种数据转发方法、装置及设备
CN113946546B (zh) 异常检测方法、计算机存储介质及程序产品
CN115314319B (zh) 一种网络资产识别方法、装置、电子设备及存储介质
KR100456671B1 (ko) 네트워크 라우터의 고속 패킷 전달을 위한 병렬 룩업 엔진및 그 방법
CN117540071B (zh) 一种针对查找引擎的属性表项的配置方法和装置
CN113965367B (zh) 策略对象上限控制方法、系统、计算机及存储介质
CN116232894A (zh) 一种报文处理方法、报文处理装置及存储介质
CN113342275B (zh) 区块链节点存取数据的方法、设备和计算机可读存储介质
CN111683036B (zh) 数据存储方法、装置以及报文识别方法和装置
CN115955323A (zh) 一种网络安全态势感知方法、装置及电子设备
CN112737831A (zh) 一种固件升级包处理方法、装置、电子设备和存储介质
CN115499338B (zh) 数据处理方法、设备、介质及云网络观测系统
US10484304B2 (en) Determining actions to be immediately performed on a network packet with an application specific integrated circuit
CN111464455B (zh) 报文输出方法和装置
CN118041824B (zh) 测试旁路镜像功能的方法、装置、电子设备及存储介质
JP7359299B2 (ja) パケット識別装置、パケット識別方法およびパケット識別プログラム
CN114143083B (zh) 黑名单策略匹配方法、装置、电子设备及存储介质
CN116600031B (zh) 报文处理方法、装置、设备及存储介质
CN111106982B (zh) 一种信息过滤方法、装置、电子设备及存储介质
KR102229554B1 (ko) 해시 키 생성 방법 및 그 장치
US20230156035A1 (en) METHOD AND APPARATUS FOR DETECTING DDoS ATTACKS

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