CN109933695B - 一种层次化udf的芯片处理方法及装置 - Google Patents
一种层次化udf的芯片处理方法及装置 Download PDFInfo
- Publication number
- CN109933695B CN109933695B CN201910198214.7A CN201910198214A CN109933695B CN 109933695 B CN109933695 B CN 109933695B CN 201910198214 A CN201910198214 A CN 201910198214A CN 109933695 B CN109933695 B CN 109933695B
- Authority
- CN
- China
- Prior art keywords
- udf
- pipeline
- message
- stage
- index
- 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
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Processing (AREA)
Abstract
本发明揭示了一种层次化UDF的芯片处理装置及方法,所述装置包括芯片中包括报文解析器、UDF表和依次级联的多级流水线,每级流水线包括查找模块和处理模块,报文依次经过报文解析器和UDF表,查找得到一UDF索引送入多级流水线,每一级流水线根据前一级流水线的UDF索引从报文中抽取得到一UDF数据供本级流水线的查找模块使用,且每一级流水线的处理模块会查找得到一新的UDF索引,供后一级流水线的处理模块使用。本发明实现了层次化UDF的效果,UDF处理上更为精细。
Description
技术领域
本发明涉及一种UDF的实现方案,尤其是涉及一种层次化UDF的芯片处理方法及装置。
背景技术
结合图1所示,目前硬件中实现UDF(User DefinedField,用户自定义字段)的时候,在报文解析后,根据得到的解析结果(ParserResult)信息去查一个UDF表(UDFtable),查询结果会得到一个索引(Index),根据这个Index从预先配置的内存中读出配置,根据这个配置来决定怎么从报文中抽取出UDF数据(UDFdata);UDFdata一般是2Byte的单位,可以有8个或者16个,这个取决于硬件代价的权衡,然后这个UDFdata在硬件处理的各个阶段被使用。
但是上述方案存在以下缺点:1、UDF表一般是和报文解析器在一起,因此规格不会很大,从16条到512条这样的规格。2、UDF查找(Lookup)的时候,只有ParserResult,没有报文处理的信息,不能精确的按需使能UDF。3、一旦UDF被取出后,各个处理阶段都必须使用这个UDFdata,比如对于同一个报文,在不同阶段需要的UDFdata不一样就没法支持了。4、当需要复杂报文时,需要多级UDF处理时,第一级UDF查表处理后,需要出新的UDF控制信息,在第二级或更后面的阶段,使用新的UDFdata进行处理,目前的方案支持不了。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种层次化UDF的芯片处理装置及方法。
为实现上述目的,本发明提出如下技术方案:一种层次化UDF的芯片处理装置,芯片中包括报文解析器、UDF表和依次级联的多级流水线,每级流水线包括查找模块和处理模块,报文依次经过报文解析器和UDF表,查找得到一UDF索引送入多级流水线,每一级流水线根据前一级流水线的UDF索引从报文中抽取得到一UDF数据供本级流水线的查找模块使用,且每一级流水线的处理模块会查找得到一新的UDF索引,供后一级流水线的处理模块使用。
优选地,所述查找模块至少为隧道查找、流表查找、ACL查找模块中的一种。
优选地,所述UDF数据的数目和带宽至少为8个4Byte或8个2Byte或16个2Byte或16个4Byte。
优选地,所述报文解析器对报文解析后,得到一解析结果,根据所述解析结果查找所述UDF表得到所述UDF索引。
优选地,所述报文和解析结果会依次经过UDF表和多级流水线。
本发明还揭示了另外一种技术方案:一种层次化UDF的芯片处理方法,包括:
S1,报文依次经过报文解析器和UDF表,查找得到一UDF索引送入多级流水线;
S2,每一级流水线根据前一级流水线的UDF索引从报文中抽取得到一UDF数据供本级流水线的查找模块使用,且每一级流水线的处理模块会查找得到一新的UDF索引,供后一级流水线的处理模块使用。
优选地,S1中,报文解析器对报文解析后,得到一解析结果,根据所述解析结果查找所述UDF表得到所述UDF索引。
优选地,所述报文和解析结果会依次经过UDF表和多级流水线。
本发明的有益效果是:
1、UDF数据的抽取,可以在不同的流水线阶段进行,对于同一个报文,根据流水线的不同,可以选择抽取本流水线需要的UDFdata。
2、各个流水线阶段都可以使能UDF,这样可以结合报文信息和流水线处理信息来决定UDF的抽取,UDF处理上更为精细。
3、不同流水线都有各自的表项,这样能够借用流水线的表项来增大UDF的使能。
4、由于UDFdata可以参加本级流水线的处理,并且可以出下一级别UDF的使能,这样的架构下,支持了UDF的级联,实现层次化UDF的效果。
附图说明
图1是现有UDF处理装置的结构示意图;
图2是本发明装置的结构示意图;
图3是本发明方法的流程示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种层次化UDF的芯片处理装置及方法,通过Packet穿过芯片各个流水线阶段,各个流水线阶段抽取UDF,且各个流水线处理后出新的UDF使能,供下一级流水线使能UDF,实现了层次化UDF的效果。
结合图2所示,本发明所揭示的一种层次化UDF的芯片处理装置,包括芯片中包括报文解析器、UDF表和多级流水线,其中,报文解析器(parser)和UDF表(UDF Table)对报文的解析查找与现有相同,具体地,报文(packet)进入报文解析器后进行报文解析,解析得到一解析结果(ParserResult),该解析结果和报文被送入UDF表;根据该解析结果查找UDF表,会查找得到一个UDF索引(UDF Index0),这个UDF Index0索引会被送入后续的多级流水线,用于抽取UDF data。且上述解析结果和报文也会进入后续的多级流水线。
多级流水线依次级联,流水线的数目和类型不限,其与硬件设计有关。本实施例中,示意出了3个级联的flow处理流水线(流水线1~3),作为可替换的,也可以第一个流水线为隧道(tunnel)处理流水线,第二个流水线是流表(flow)处理流水线,第三个流水线是ACL处理流水线。当然也可根据需要级联其他功能的流水线。
每级流水线主要包括查找模块和处理模块,与上述流水线举例对应的,如可以包括隧道查找(tunnel lookup)模块和隧道处理(tunnel process)模块,或者包括流表查找(forward lookup)模块和流表处理(forwardprocess)模块,或者包括ACL查找(acllookup)模块和ACL处理(acl process)模块。
每个一级流水线根据前一级流水线的UDF索引从报文中抽取得到一UDF数据供本级流水线的查找模块使用,如流水线1根据UDF Index0从预先配置的内存中读出配置,并根据这个配置来决定怎么从报文中抽取出UDF data;UDF data的数目和带宽也是和硬件设计相关,带宽一般是2Byte的单位,数据可以有8个或者16个,这个取决于硬件代价的权衡。本实施例是8个2Byte,即UDF data{0…7}[15:0]。
且每一级流水线的处理模块会查找得到一新的UDF索引,供后一级流水线的处理模块使用,如流水线1根据取出的UDF data查找得到新的UDFIndex1,与UDF Index0一起送入选择器,经选择后送给后一级流水线使用。
同样的,流水线2根据UDF Index1或UDF Index0从预先配置的内存中读出配置,并根据这个配置来决定怎么从报文中抽取出UDF data,流水线2根据取出的UDF data查找得到新的UDF Index2,与UDF Index1一起送入选择器,经选择后送给后一级流水线3使用,流水线3的原理与流水线1、2同,这里不再赘述。
结合图3所示,本发明所揭示的一种次化UDF的芯片处理方法,包括以下步骤:
S1,报文依次经过报文解析器和UDF表,查找得到一UDF索引送入多级流水线。
S2,每一级流水线根据前一级流水线的UDF索引从报文中抽取得到一UDF数据供本级流水线的查找模块使用,且每一级流水线的处理模块会查找得到一新的UDF索引,供后一级流水线的处理模块使用。
步骤S1、S2的具体流程可参照上述装置中的介绍,这里也不再赘述。
本发明根据前一级流水线的UDF索引从报文中得到UDF数据,这个UDF数据会参与本级的查找处理。且本级的处理过程中,可以出新的UDF索引,这个UDF索引可以给流水线中下一级处理使用,实现了层次化UDF的效果。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (8)
1.一种层次化UDF的芯片处理装置,其特征在于,芯片中包括报文解析器、用户自定义字段UDF表和依次级联的多级流水线,每级流水线包括查找模块和处理模块,报文依次经过报文解析器和UDF表,查找得到一UDF索引送入多级流水线,每一级流水线根据前一级流水线的UDF索引从报文中抽取得到一UDF数据供本级流水线的查找模块使用,且每一级流水线的处理模块会查找得到一新的UDF索引,供后一级流水线的处理模块使用。
2.根据权利要求1所述的一种层次化UDF的芯片处理装置,其特征在于,所述查找模块至少为隧道查找、流表查找、ACL查找模块中的一种。
3.根据权利要求1所述的一种层次化UDF的芯片处理装置,其特征在于,所述UDF数据的数目和带宽至少为8个4Byte或8个2Byte或16个2Byte或16个4Byte。
4.根据权利要求1所述的一种层次化UDF的芯片处理装置,其特征在于,所述报文解析器对报文解析后,得到一解析结果,根据所述解析结果查找所述UDF表得到所述UDF索引。
5.根据权利要求4所述的一种层次化UDF的芯片处理装置,其特征在于,所述报文和解析结果会依次经过UDF表和多级流水线。
6.一种基于上述权利要求1~5任意一项所述装置的层次化UDF的芯片处理方法,其特征在于,包括:
S1,报文依次经过报文解析器和UDF表,查找得到一UDF索引送入多级流水线;
S2,每一级流水线根据前一级流水线的UDF索引从报文中抽取得到一UDF数据供本级流水线的查找模块使用,且每一级流水线的处理模块会查找得到一新的UDF索引,供后一级流水线的处理模块使用。
7.根据权利要求6所述的一种层次化UDF的芯片处理方法,其特征在于,S1中,报文解析器对报文解析后,得到一解析结果,根据所述解析结果查找所述UDF表得到所述UDF索引。
8.根据权利要求6所述的一种层次化UDF的芯片处理方法,其特征在于,所述报文和解析结果会依次经过UDF表和多级流水线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910198214.7A CN109933695B (zh) | 2019-03-15 | 2019-03-15 | 一种层次化udf的芯片处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910198214.7A CN109933695B (zh) | 2019-03-15 | 2019-03-15 | 一种层次化udf的芯片处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933695A CN109933695A (zh) | 2019-06-25 |
CN109933695B true CN109933695B (zh) | 2023-08-22 |
Family
ID=66987269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910198214.7A Active CN109933695B (zh) | 2019-03-15 | 2019-03-15 | 一种层次化udf的芯片处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933695B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105024985A (zh) * | 2014-04-30 | 2015-11-04 | 深圳市中兴微电子技术有限公司 | 一种报文处理方法及装置 |
CN106656948A (zh) * | 2015-10-28 | 2017-05-10 | 联发科技股份有限公司 | 数据分组修改方法和相关网络装置 |
CN107222496A (zh) * | 2017-06-29 | 2017-09-29 | 北京东土军悦科技有限公司 | 基于现场层设备的报文的安全策略匹配方法和现场层设备 |
CN108334321A (zh) * | 2017-01-18 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 程序代码的展示设备、方法及装置 |
CN108738022A (zh) * | 2018-07-04 | 2018-11-02 | 中国科学技术大学 | 一种无线通信网络移动管理方法及*** |
-
2019
- 2019-03-15 CN CN201910198214.7A patent/CN109933695B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105024985A (zh) * | 2014-04-30 | 2015-11-04 | 深圳市中兴微电子技术有限公司 | 一种报文处理方法及装置 |
CN106656948A (zh) * | 2015-10-28 | 2017-05-10 | 联发科技股份有限公司 | 数据分组修改方法和相关网络装置 |
CN108334321A (zh) * | 2017-01-18 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 程序代码的展示设备、方法及装置 |
CN107222496A (zh) * | 2017-06-29 | 2017-09-29 | 北京东土军悦科技有限公司 | 基于现场层设备的报文的安全策略匹配方法和现场层设备 |
CN108738022A (zh) * | 2018-07-04 | 2018-11-02 | 中国科学技术大学 | 一种无线通信网络移动管理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109933695A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019114240A (ja) | Sqlパケット分析を通じての異機種データベースのデータ複製および同期化エラー探知方法およびシステム | |
CN106709043A (zh) | 一种基于数据库日志的数据同步加载方法 | |
CN103488796B (zh) | 根据上下文输入的方法及移动终端 | |
CN102110132A (zh) | 统一资源定位符匹配查找方法、装置和网络侧设备 | |
CN100525450C (zh) | 一种实现霍夫曼译码的方法和装置 | |
CN107679152B (zh) | 基于多层信息联合索引的数据处理方法 | |
US20220343047A1 (en) | Method and system for processing simulation data | |
CN107707565B (zh) | 一种udf报文解析芯片 | |
CN112199935A (zh) | 数据的比对方法、装置、电子设备及计算机可读存储介质 | |
CN110362560B (zh) | 一种无业务主键数据在存储数据库时去重的方法 | |
CN109933695B (zh) | 一种层次化udf的芯片处理方法及装置 | |
CN105808688B (zh) | 基于人工智能的补全检索方法及装置 | |
CN104778252A (zh) | 索引的存储方法和装置 | |
CN110222121A (zh) | 一种基于CDC方式的SQL Server数据库增量同步实现方法及*** | |
CN112069305B (zh) | 数据筛选方法、装置及电子设备 | |
US8051060B1 (en) | Automatic detection of separators for compression | |
CN113157904A (zh) | 基于dfa算法的敏感词过滤方法及*** | |
CN109684438A (zh) | 一种具有父子层级结构检索数据的方法 | |
CN111211939A (zh) | 一种基于网络处理器实现流表高效计数的装置和方法 | |
JP2003224581A (ja) | 最長一致検索回路および方法およびプログラムおよび記録媒体 | |
CN112087389B (zh) | 一种报文匹配查表方法、***、存储介质和终端 | |
CN101977251A (zh) | 服务器端网址资源优化装置及其优化方法 | |
JP7133037B2 (ja) | メッセージ処理方法、装置およびシステム | |
CN114154494A (zh) | 一种消歧分词方法、***、装置及存储介质 | |
CN112019458A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Applicant after: Suzhou Shengke Communication Co.,Ltd. Address before: Unit 13 / 16, floor 4, building B, No. 5, Xinghan street, Suzhou Industrial Park, Suzhou, Jiangsu Province, 215000 Applicant before: CENTEC NETWORKS (SUZHOU) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |