CN116049498A - 数据处理方法、装置、电子设备及可读存储介质 - Google Patents
数据处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116049498A CN116049498A CN202211737631.2A CN202211737631A CN116049498A CN 116049498 A CN116049498 A CN 116049498A CN 202211737631 A CN202211737631 A CN 202211737631A CN 116049498 A CN116049498 A CN 116049498A
- Authority
- CN
- China
- Prior art keywords
- matching
- data
- data packet
- state
- information
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000032683 aging Effects 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据处理方法、装置、电子设备及可读存储介质,应用于电子信息技术领域,所述数据处理方法应用于数据平面,包括:获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括匹配表项关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包。本申请解决了数据包的流状态记录效率低的技术问题。
Description
技术领域
本申请涉及电子信息技术领域,尤其涉及一种数据处理方法、装置、电子设备及可读存储介质。
背景技术
目前,采用Openflow协议作为SDN(Software Defined Network,软件定义网络)事实上的南向接口标准,Openflow网络包括Openflow交换机和Openflow控制器,Openflow交换机又称为数据平面,Openflow控制器又称为控制平面,控制平面负责执行各种交换和路由协议,并下发流表到数据平面,数据平面负责查找流表,对于匹配流表的包,根据流表指示执行修改包和转发包的动作,对于未匹配流表的包,这里称为首包,则需要上送到控制平面,由控制平面产生新的流表项,并下发到数据平面。
由于数据包处理时功能受限(例如,防火墙的TCP连接状态跟踪、流表的老化、流量统计、流量限速等功能),需要在流表中记录流状态(流状态指该条流历史包信息的记录),而数据平面不具备记录流状态功能,因此,数据平面处理数据包后需要将数据包发送至控制平面,并通过控制平面记录流状态,而当数据包的数量较多时,数据平面需要频繁向控制平面发送数据包,容易出现控制平面和数据平面之间的转发接口流量压力较大的情况,且占用了控制平面大量的CPU计算资源,从而导致数据包的流状态记录效率低。
发明内容
本申请的主要目的在于提供一种数据处理方法、装置、电子设备及可读存储介质,旨在解决现有技术中数据包的流状态记录效率低的技术问题。
为实现上述目的,本申请提供一种数据处理方法,应用于数据平面,所述数据处理方法包括:
获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;
根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括匹配表项关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;
若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包。
可选地,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之前,还包括:
获取各数据包对应的数据关键字、对应的执行动作信息和各所述数据包所属的数据流的当前数据流状态;
根据各所述数据关键字、各所述执行动作信息、各所述当前数据流状态以及各所述数据关键字对应的索引信息,生成所述预设匹配表,其中,所述预设匹配表由第一格式代码编写。
可选地,所述预设匹配表对应的编写格式通过编译器由第一格式转换为第二格式。
可选地,所述匹配结果包括匹配类型和匹配内容,
所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤包括:
若所述预设匹配表中存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配成功类型,并将所述预设匹配表中所述目标表项关键字对应的匹配表项内容作为所述匹配内容;
若所述预设匹配表中不存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配失败类型。
可选地,所述匹配结果包括匹配内容,
所述根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包的步骤包括:
执行所述匹配内容,得到执行结果;
根据所述执行结果,生成所述目标数据包的数据流状态,并根据所述数据流状态对所述目标数据包所属的数据流进行状态改写;
根据所述匹配内容,对所述目标数据包对应的包头信息和对应的元数据信息进行更新,得到处理数据包。
可选地,所述根据所述数据流状态对所述目标数据包所属的数据流进行状态改写的步骤包括:
获取预设状态表,其中,所述预设状态表包括匹配表项索引和匹配表项状态之间的一一对应关系;
根据所述目标数据包对应的匹配表项索引和所述数据流状态,对所述匹配表项状态进行更新,以对所述目标数据包所属的数据流进行状态改写。
可选地,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之后,还包括:
获取预设时间间隔和各数据包对应的历史处理信息,所述历史处理信息为对各所述数据包所属的数据流的状态改写以及更新处理的过程信息;
根据所述预设时间间隔和所述历史处理信息,对各所述数据包对应的数据流状态进行定期更新。
为实现上述目的,本申请还提供一种数据处理装置,所述数据处理装置应用于数据平面,所述数据处理装置包括:
获取模块,用于获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;
匹配模块,用于根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括数据关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;
处理模块,用于若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包。
可选地,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之前,所述数据处理装置还用于:
获取各数据包对应的数据关键字、对应的执行动作信息和各所述数据包所属的数据流的当前数据流状态;
根据各所述数据关键字、各所述执行动作信息、各所述当前数据流状态以及各所述数据关键字对应的索引信息,生成所述预设匹配表,其中,所述预设匹配表由第一格式代码编写。
可选地,所述预设匹配表对应的编写格式通过编译器由第一格式转换为第二格式。
可选地,所述匹配结果包括匹配类型和匹配内容,所述匹配模块还用于:
若所述预设匹配表中存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配成功类型,并将所述预设匹配表中所述目标表项关键字对应的匹配表项内容作为所述匹配内容;
若所述预设匹配表中不存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配失败类型。
可选地,所述匹配结果包括匹配内容,所述处理模块还用于:
执行所述匹配内容,得到执行结果;
根据所述执行结果,生成所述目标数据包的数据流状态,并根据所述数据流状态对所述目标数据包所属的数据流进行状态改写;
根据所述匹配内容,对所述目标数据包对应的包头信息和对应的元数据信息进行更新,得到处理数据包。
可选地,所述处理模块还用于:
获取预设状态表,其中,所述预设状态表包括匹配表项索引和匹配表项状态之间的一一对应关系;
根据所述目标数据包对应的匹配表项索引和所述数据流状态,对所述匹配表项状态进行更新,以对所述目标数据包所属的数据流进行状态改写。
可选地,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之后,所述数据处理装置还用于:
获取预设时间间隔和各数据包对应的历史处理信息,所述历史处理信息为对各所述数据包所属的数据流的状态改写以及更新处理的过程信息;
根据所述预设时间间隔和所述历史处理信息,对各所述数据包对应的数据流状态进行定期更新。
本申请还提供一种电子设备,所述电子设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述数据处理方法的程序,所述数据处理方法的程序被处理器执行时可实现如上述的数据处理方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有实现数据处理方法的程序,所述数据处理方法的程序被处理器执行时实现如上述的数据处理方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的数据处理方法的步骤。
本申请提供了一种数据处理方法、装置、电子设备及可读存储介质,相比于通过数据平面处理数据包后需要发送至Openflow网络的控制平面,并通过控制平面记录流状态的方法,本申请应用于数据平面,通过获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括匹配表项关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包,通过预设匹配表,从而可实现通过数据平面进行数据包的状态记录,避免了当数据包的数量较多时,数据平面需要频繁向控制平面发送数据包,容易出现控制平面和数据平面之间的转发接口流量压力较大的情况,且占用了控制平面大量的CPU计算资源的技术缺陷,从而提高了数据包的流状态记录效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申5请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请数据处理方法第一实施例的流程示意图;
图2为所述数据处理方法中一编码器转换格式的流程示意图;
图3为数据处理方法的一场景的连接示意图;
图4为本申请实施例中数据处理方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
0为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合本
申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本申请保护的范围。
实施例一
本申请实施例提供一种数据处理方法,在本申请数据处理方法的第一实施例中,参照图1,应用于数据平面,所述数据处理方法包括:
步骤S10,获取目标数据包对应的数据信息,其中,所述数据信息包括包0头信息和元数据信息;
步骤S20,根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括匹配表项关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;
步骤S30,若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包。
在本实施例中,需要说明的是,所述包头信息至少包括数据包各协议层的协议字段和协议字段的有效标志位中的一种,所述元数据信息至少包括数据包的输入端口号、输出端口号、包长、优先级、多播组号以及用户自定义的包信息中的一种。所述数据平面可以为Openflow网络的可编程数据平面。
示例性地,步骤S10至步骤S30包括:获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;根据所述包头信息和/或所述元数据信息,生成所述目标数据包对应的数据关键字,根据所述数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括匹配表项关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包;若所述匹配结果对应的匹配类型为匹配失败,则从数据队列中获取新的数据包,作为所述目标数据包,并返回执行步骤:获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息,直至所述匹配结果对应的匹配类型为匹配成功。
作为一种示例,所述根据所述包头信息和/或所述元数据信息,生成所述目标数据包对应的数据关键字的步骤包括:获取P4代码的数据关键字表达式,根据所述数据关键字表达式,将包头信息协议字段和/或元数据信息字段映射为所述目标数据包对应的数据关键字。
通过应用于Openflow网络的可编程数据平面,从而可实现通过可编程数据平面进行数据包的状态记录,从而提高了数据包的流状态记录效率。
可选地,在所述若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包的步骤之前,还包括:
所述数据平面还包括包头与元数据寄存器模块,通过所述包头与元数据寄存器模块对所述包头信息和所述元数据信息进行打拍。
通过对所述包头信息和所述元数据信息进行打拍,以将打拍后输出的包头信息和元数据信息与查找表模块输出的匹配结果信号时序对齐。
其中,在步骤S20中,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之前,还包括:
步骤A10,获取各数据包对应的数据关键字、对应的执行动作信息和各所述数据包所属的数据流的当前数据流状态;
步骤A20,根据各所述数据关键字、各所述执行动作信息、各所述当前数据流状态以及各所述数据关键字对应的索引信息,生成所述预设匹配表,其中,所述预设匹配表由第一格式代码编写。
在本实施例中,需要说明的是,所述执行动作信息为逻辑运算和/或算术运算的执行过程信息。所述第一格式代码可以为P4代码,由于其具备可灵活添加新协议、增加网络新功能和便于移植等诸多优势,较传统固定功能的数据平面比较,提高了数据包处理的可移植性。
作为一种示例,步骤A10至步骤A20包括:所述数据平面包括CPU配置模块,计算P4代码中的所述数据关键字和所述执行动作信息的位宽和,定义相同位宽的查找表项写数据信号和读数据信号,计算传递给外部对象write_entry的所有状态变量的位宽和,其中,所述外部对象用于执行状态表的写操作,另外在P4代码中定义一个或多个局部变量,并在动作语句块中将当前计算的流状态值赋值给这些局部变量,接着调用外部对象write_entry,将赋值后的局部变量做为参数传递给外部对象write_entry,P4编译器识别到这些传递给外部对象write_entry的局部变量后,可知这些局部变量是匹配动作表的状态变量,需要在执行动作后,将这些状态变量写入状态表中。定义相同位宽的状态表项写数据信号和读数据信号,计算表项大小的位宽,定义相同位宽的查找表项和状态表项索引号,配置至所述CPU配置模块。
其中,所述预设匹配表对应的编写格式通过编译器由第一格式转换为第二格式。
可以理解的是,为提高上述数据包处理的可移植性,通常采用P4代码,但是,由于P4代码是高级语言,目前大部分数据平面无法直接执行P4代码,为解决上述缺陷,需要将P4代码转换为第二格式。
在本实施例中,需要说明的是,所述第二格式为可进行数据包状态流改写的格式,所述第二格式可以为RTL代码,例如Verilog代码。
可选地,所述编译器还可将所述数据信息、所述数据关键字、所述匹配结果对应的编写格式由第一格式转换为第二格式。
作为一种示例,将所述数据关键字对应的编写格式由第一格式转换为第二格式的步骤可以为:计算P4代码中所述数据关键字对应的关键字位宽,通过将RTL代码中所述数据关键字对应的位宽设置为所述关键字位宽,以将所述数据关键字对应的编写格式由所述P4代码转换为所述RTL代码。
作为一种示例,当所述第二格式为所述Verilog代码时,将P4代码中定义的除扫描动作语句块之外的每一个动作语句块都转换为一个Verilog的阻塞赋值语句块,其中,所述扫描动作语句块为区别于上述动作语句块名称的新动作语句块,扫描动作语句块的功能包括通过调用外部对象set_scan_time来设置定时的时间间隔,传递给外部对象set_scan_time的参数就是时间间隔值,其单位可以为毫秒、秒、分钟或者小时,在扫描动作语句块中可对定时读取的状态变量进行算术运算或者逻辑运算,并将运算的结果赋值给新的状态变量,最后调用外部对象scan_write_entry,将新的状态变量做为参数传递给外部对象scan_write_entry,P4编译器识别到动作语句块调用了外部对象scan_write_entry后,可知该动作语句块是定时读取状态表项后所执行的动作,需要在执行动作后,将更新后的状态变量写入状态表中。将P4语言的运算符号转换为Verilog语言的运算符号,将P4代码的变量名转换为Verilog代码的信号名。生成匹配成功类型或者匹配失败类型或者匹配表项索引号或者匹配表项内容输入信号,这四个信号来自查找表模块。生成输入的匹配状态信号,该信号来自状态表模块。生成输出的新包头信息、新元数据信息、新状态信号,Verilog阻塞赋值语句的运算结果被赋值给这三个输出信号,也就是动作执行的目的是为了产生新包头信息、新元数据信息、新状态信号。生成输出的表项索引号,该信号来自输入的匹配表项索引号。
作为一种示例,参照图2,图2为所述数据处理方法中一编码器转换格式的流程示意图,图2包括第一格式下的预设匹配表(图示的带状态匹配动作表P4代码)、第二格式下的预设匹配表(图示的带状态匹配动作表RTL代码)、编译器(图示的P4编译器),通过编译器和预先设计的子模块RTL代码,将第一格式下的预设匹配表转换为第二格式下的预设匹配表,通过FPGA编译器对第二格式下的预设匹配表编译得到二进制配置文件,并将二进制配置文件加载至FPGA。
其中,所述匹配结果包括匹配类型和匹配内容,在步骤S20中,所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤包括:
步骤S21,若所述预设匹配表中存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配成功类型,并将所述预设匹配表中所述目标表项关键字对应的匹配表项内容作为所述匹配内容;
步骤S22,若所述预设匹配表中不存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配失败类型。
示例性地,步骤S21至步骤S22包括:获取预设匹配方法,根据所述预设匹配方法,判断所述预设匹配表中是否存在与所述数据关键字相匹配的目标表项关键字,若所述预设匹配表中存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配成功类型,并将所述预设匹配表中所述目标表项关键字对应的匹配表项内容作为所述匹配内容;若所述预设匹配表中不存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配失败类型。
作为一种示例,所述模糊匹配方法还可以为三元匹配方法,当所述预设匹配方法为所述三元匹配方法时,计算P4代码中所述数据关键字对应的关键字位宽,定义相同位宽的查找关键字输入信号,计算P4代码中所述数据关键字和执行动作信息的位宽和,定义相同位宽的匹配表项内容输出信号,输出的匹配表项索引号位宽与CPU配置模块中的查找表项索引号位宽相同,例如,实例化TCAM查找表模块。
作为一种示例,当所述预设匹配方法为精确匹配方法时,所述判断所述预设匹配表中是否存在与所述数据关键字相匹配的目标表项关键字的步骤包括:对所述预设匹配表进行查询,判断所述预设匹配表是否存在与所述数据关键字相同的目标表项关键字,例如,实例化HASH查找表模块。
作为一种示例,计算传递给外部对象write_entry的各状态变量的位宽和,定义相同位宽的匹配状态输出信号和写状态输入信号,输入的匹配表项索引号和状态表索引号位宽与CPU配置模块中的查找表项索引号位宽相同。
可选地,根据所述预设匹配方法,确定所述包头与元数据寄存器模块对应的打拍级数参数;根据所述打拍级数参数对所述包头信息和所述元数据信息进行打拍,例如,当所述预设匹配方法为所述精确匹配方法时,对应的HASH查找表模块需要3个时钟周期完成表项查找,则需要将打拍级数参数值设置为3。
本申请实施例提供了一种数据处理方法,相比于通过数据平面处理数据包后需要发送至Openflow网络的控制平面,并通过控制平面记录流状态的方法,本申请实施例应用于数据平面,通过获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括匹配表项关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包,通过预设匹配表,从而可实现通过数据平面进行数据包的状态记录,避免了当记录流的状态时,数据平面需要频繁向控制平面发送数据包,容易出现控制平面和数据平面之间的转发接口流量压力较大的情况,且占用了控制平面大量的CPU计算资源的技术缺陷,从而提高了数据包的流状态记录效率。
实施例二
进一步地,基于本申请第一实施例,在本申请另一实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。在此基础上,其中,在步骤S30中,所述匹配结果包括匹配内容,
所述根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包的步骤包括:
步骤S31,执行所述匹配内容,得到执行结果;
步骤S32,根据所述执行结果,生成所述目标数据包的数据流状态,并根据所述数据流状态对所述目标数据包所属的数据流进行状态改写;
步骤S33,根据所述匹配内容,对所述目标数据包对应的包头信息和对应的元数据信息进行更新,得到处理数据包。
作为一种示例,写表项模块收到动作执行模块送来的新状态信号、表项索引号后,设置状态表写信号为高电平,将新状态信号赋值给写状态信号,表项索引号赋值给状态表索引号,状态表模块收到上述信号后,将新状态信号写入状态表项,完成状态表中状态字段的更新。
其中,在步骤S32中,所述根据所述数据流状态对所述目标数据包所属的数据流进行状态改写的步骤包括:
步骤B10,获取预设状态表,其中,所述预设状态表包括匹配表项索引和匹配表项状态之间的一一对应关系;
步骤B20,根据所述目标数据包对应的匹配表项索引和所述数据流状态,对所述匹配表项状态进行更新,以对所述目标数据包所属的数据流进行状态改写。
其中,在步骤S30中,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之后,还包括:
步骤S40,获取预设时间间隔和各数据包对应的历史处理信息,所述历史处理信息为对各所述数据包所属的数据流的状态改写以及更新处理的过程信息;
步骤S50,根据所述预设时间间隔和所述历史处理信息,对各所述数据包对应的数据流状态进行定期更新。
作为一种示例,定时遍历读取所有状态表项中的状态信号,P4编译器将外部对象set_scan_time的参数做为定时时间间隔配置到表项扫描模块,表项扫描模块中的计时器计时到该时间间隔后,通过扫描读信号通知状态表模块读取索引号为0的状态表项。状态表模块通过扫描读信号将读到的状态信号送给表项扫描模块,表项扫描模块按照逻辑运算、算术运算表达式计算新的状态信号,并将新状态信号通过扫描写数据传递给状态表模块,另外通过扫描写信号将写状态表索引号传递给状态表模块,写状态表索引号同样为0,由状态表模块将新状态信号回写到状态表项中。接着表项扫描模块发起对索引号为1的状态表项的读取,状态信号的更新,以及状态信号的回写,直到对所有状态表项都进行了读取和回写,本轮状态表项的扫描结束,等待计时器计时满足定时时间间隔,开始下一轮的状态表项扫描。
作为一种示例,表项扫描模块中的逻辑运算、算术运算表达式由P4编译器生成,P4编译器分析扫描动作语句块中的动作代码,将由P4编写的逻辑运算、算术运算表达式转换为RTL代码编写的运算表达式。表项扫描模块中的其他功能是预先设计的,包括计时器的计时,定时读取状态表项,状态表项索引号的累加,通过扫描写信号和扫描写数据将更新状态信号送给状态表模块。
可选地,所述对各所述数据包对应的数据流状态进行定期更新可用于流量限速、查找表老化、用户上网流量计费等功能的应用。
作为一种示例,对于流量限速的应用,定义状态表中的状态变量为匹配包计数,定义查找表中的动作数据为包数量门限值,设置定时扫描状态表项的时间间隔为1秒钟。当输入包信息匹配查找表时,如果匹配包计数小于包数量门限值,则包正常转发,并且将匹配包计数累加1,如果匹配包计数大于或等于包数量门限值,则包丢弃,匹配包计数不变,这样匹配查找表的流可以正常转发包数量门限值这么多的包。当数字电路定时扫描读取到状态表项后,将状态表项中的匹配包计数清0,这样匹配查找表的流又可以正常转发包数量门限值这么多的包。通过上述输入包和定时时间两个维度对匹配包计数的更新,实现了匹配查找表的流每秒钟发送固定数量包的流量限速功能。
作为一种示例,对于查找表老化的应用,定义状态表中的状态变量为表项老化状态,预先定义三个表项老化状态值,分别为活跃状态alive、半活跃状态half_alive、老化状态ageout,设置定时扫描状态表项的时间间隔为10分钟。当输入包信息匹配查找表时,将状态表项中的状态变量更新为活跃状态alive。当数字电路定时扫描读取到该状态表项时,发现状态变量为活跃状态alive,则将状态变量更新为半活跃状态half_alive。在10分钟后的下次扫描前,如果输入包再次匹配该查找表,则状态变量再次被更新为活跃状态alive。但如果在下次扫描前,输入包未匹配该查找表,则在下一次数字电路定时扫描时,状态变量将被更新为老化状态ageout,数字电路将会删除该查找表。通过上述输入包和定时时间两个维度对状态变量的更新,实现了查找表20分钟内未匹配输入包信息从而被老化的功能。
作为一种示例,对于用户上网流量计费的应用,定义查找表的匹配关键字为源IP地址,每一个源IP地址代表一个上网的用户,状态表中的状态变量为匹配包字节计数,设置定时扫描状态表项的时间间隔为1分钟。当输入包信息匹配查找表时,将输入包字节长度累加到状态表中的匹配包字节计数,这样就可以基于源IP地址统计网络设备转发包的字节数。数字电路每隔1分钟扫描读取一次状态表项,将状态表项中的匹配包字节计数通过消息包发送给服务器,然后将匹配包字节计数清0,这样服务器就可以得到某个源IP主机在1分钟内发送的包字节数量,并根据包字节数量对用户的上网流量进行计费。
可选地,CPU配置模块用于对查找表项和状态表项的配置,包括对查找表模块和状态表模块的读操作和写操作。CPU对查找表项的读写操作采用间接访问方式,软件将需要配置的查找表项内容写入CPU配置模块内部的写数据寄存器,然后写CPU配置模块的查找表项索引号寄存器和读写选择寄存器,最后写CPU配置模块的查找表项访问启动标志位。其中查找表项内容包括匹配关键字、动作码和动作数据。CPU配置模块检测到查找表项访问启动标志位有效后,按照软件配置的表项索引号和表项内容对查找表模块进行读、写操作。CPU对状态表项的读写操作也采用间接访问方式,软件将需要配置的状态表项内容写入CPU配置模块内部的写数据寄存器,然后写CPU配置模块的状态表项索引号寄存器和读写选择寄存器,最后写CPU配置模块的状态表项访问启动标志位。其中状态表项内容包括传递给外部对象write_entry的各状态变量,在数字电路中,这些P4代码定义的状态变量被称为状态信号,CPU配置模块检测到状态表项访问启动标志位有效后,按照软件配置的表项索引和表项内容对状态表模块进行读、写操作。
作为一种示例,参照图3,图3为数据处理方法的一场景的连接示意图,首先获取目标数据对应的包头信息和元数据信息,通过查找关键字构造模块根据包头信息和元数据信息生成目标数据对应的查找关键字,通过包头与元数据寄存器模块对包头信息和元数据信息进行打拍,并将打拍后的包头信息和元数据信息发送至动作执行模块;通过查找表模块根据查找关键字进行匹配,得到匹配结果,其中,匹配结果对应的匹配类型包括匹配成功或者匹配失败,匹配结果包括匹配表项内容和匹配表项索引号,状态表模块使用输入的匹配表项索引号读取状态表项,将状态表项内容做为匹配状态信号输出到动作执行模块,当匹配类型为匹配成功时,通过动作执行模块根据匹配表项内容、匹配状态信号、匹配表项索引号、包头信息和元数据信息,生成目标数据对应的新包头信息、新元数据信息、新状态信号和表项索引号,并将新状态信号和表项索引号发送至写表项模块;通过写表项模块根据新状态信号和表项索引号,确定目标数据对应的状态表写信号、状态表索引号和写状态信号,并将状态表写信号、状态表索引号和写状态信号发送至状态表模块;状态表模块检测到输入的状态表写信号有效时,将写状态信号写入状态表索引号指示的状态表项;通过CPU配置模块可对状态表模块中的状态表项进行读写访问;通过表项扫描模块定时对状态表模块中的状态表项进行扫描以及状态更新。
本申请实施例提供了一种数据处理方法,相比于通过数据平面处理数据包后需要发送至Openflow网络中的控制平面,并通过控制平面记录流状态的方法,本申请实施例应用于数据平面,通过获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括匹配表项关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包,通过预设匹配表,从而可实现通过数据平面进行数据包的状态记录,避免了当数据包的数量较多时,数据平面需要频繁向控制平面发送数据包,容易出现控制平面和数据平面之间的转发接口流量压力较大的情况,且占用了控制平面大量的CPU计算资源的技术缺陷,从而提高了数据包的流状态记录效率。
实施例三
本申请实施例还提供一种数据处理装置,所述数据处理装置应用于数据平面,所述数据处理装置包括:
获取模块,用于获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;
匹配模块,用于根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,5所述预设匹配表包括数据关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;
处理模块,用于若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包。
0可选地,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之前,所述数据处理装置还用于:
获取各数据包对应的数据关键字、对应的执行动作信息和各所述数据包所属的数据流的当前数据流状态;
5根据各所述数据关键字、各所述执行动作信息、各所述当前数据流状态
以及各所述数据关键字对应的索引信息,生成所述预设匹配表,其中,所述预设匹配表由第一格式代码编写。
可选地,所述预设匹配表对应的编写格式通过编译器由第一格式转换为第二格式。
0可选地,所述匹配结果包括匹配类型和匹配内容,所述匹配模块还用于:
若所述预设匹配表中存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配成功类型,并将所述预设匹配表中所述目标表项关键字对应的匹配表项内容作为所述匹配内容;
若所述预设匹配表中不存在与所述数据关键字相匹配的目标表项关键5字,则判定所述目标数据包对应的匹配类型为匹配失败类型。
可选地,所述匹配结果包括匹配内容,所述处理模块还用于:
执行所述匹配内容,得到执行结果;
根据所述执行结果,生成所述目标数据包的数据流状态,并根据所述数据流状态对所述目标数据包所属的数据流进行状态改写;
0根据所述匹配内容,对所述目标数据包对应的包头信息和对应的元数据信息进行更新,得到处理数据包。
可选地,所述处理模块还用于:
获取预设状态表,其中,所述预设状态表包括匹配表项索引和匹配表项状态之间的一一对应关系;
根据所述目标数据包对应的匹配表项索引和所述数据流状态,对所述匹配表项状态进行更新,以对所述目标数据包所属的数据流进行状态改写。
可选地,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之后,所述数据处理装置还用于:
获取预设时间间隔和各数据包对应的历史处理信息,所述历史处理信息为对各所述数据包所属的数据流的状态改写以及更新处理的过程信息;
根据所述预设时间间隔和所述历史处理信息,对各所述数据包对应的数据流状态进行定期更新。
本申请提供的数据处理装置,采用上述实施例中的数据处理方法,解决了数据包的流状态记录效率低的技术问题。与现有技术相比,本申请实施例提供的数据处理装置的有益效果与上述实施例提供的数据处理方法的有益效果相同,且该数据处理装置中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
实施例四
本申请实施例提供一种电子设备,所述电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例中的数据处理方法。
下面参考图4,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有电子设备操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
通常,以下***可以连接至I/O接口:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种***的电子设备,但是应理解的是,并不要求实施或具备所有示出的***。可以替代地实施或具备更多或更少的***。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
本申请提供的电子设备,采用上述实施例中的数据处理方法,解决了数据包的流状态记录效率低的技术问题。与现有技术相比,本申请实施例提供的电子设备的有益效果与上述实施例提供的数据处理方法的有益效果相同,且该电子设备中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
实施例五
本实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例中的数据处理方法的方法。
本申请实施例提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的***、***或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、***或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括匹配表项关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本申请提供的计算机可读存储介质,存储有用于执行上述数据处理方法的计算机可读程序指令,解决了数据包的流状态记录效率低的技术问题。与现有技术相比,本申请实施例提供的计算机可读存储介质的有益效果与上述实施提供的数据处理方法的有益效果相同,在此不做赘述。
实施例六
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的数据处理方法的步骤。
本申请提供的计算机程序产品解决了数据包的流状态记录效率低的技术问题。与现有技术相比,本申请实施例提供的计算机程序产品的有益效果与上述实施例提供的数据处理方法的有益效果相同,在此不做赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (10)
1.一种数据处理方法,其特征在于,应用于数据平面,所述数据处理方法包括:
获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;
根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括匹配表项关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;
若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包。
2.如权利要求1所述数据处理方法,其特征在于,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之前,还包括:
获取各数据包对应的数据关键字、对应的执行动作信息和各所述数据包所属的数据流的当前数据流状态;
根据各所述数据关键字、各所述执行动作信息、各所述当前数据流状态以及各所述数据关键字对应的索引信息,生成所述预设匹配表,其中,所述预设匹配表由第一格式代码编写。
3.如权利要求1所述数据处理方法,其特征在于,所述预设匹配表对应的编写格式通过编译器由第一格式转换为第二格式。
4.如权利要求1所述数据处理方法,其特征在于,所述匹配结果包括匹配类型和匹配内容,
所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤包括:
若所述预设匹配表中存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配成功类型,并将所述预设匹配表中所述目标表项关键字对应的匹配表项内容作为所述匹配内容;
若所述预设匹配表中不存在与所述数据关键字相匹配的目标表项关键字,则判定所述目标数据包对应的匹配类型为匹配失败类型。
5.如权利要求1所述数据处理方法,其特征在于,所述匹配结果包括匹配内容,
所述根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包的步骤包括:
执行所述匹配内容,得到执行结果;
根据所述执行结果,生成所述目标数据包的数据流状态,并根据所述数据流状态对所述目标数据包所属的数据流进行状态改写;
根据所述匹配内容,对所述目标数据包对应的包头信息和对应的元数据信息进行更新,得到处理数据包。
6.如权利要求5所述数据处理方法,其特征在于,所述根据所述数据流状态对所述目标数据包所属的数据流进行状态改写的步骤包括:
获取预设状态表,其中,所述预设状态表包括匹配表项索引和匹配表项状态之间的一一对应关系;
根据所述目标数据包对应的匹配表项索引和所述数据流状态,对所述匹配表项状态进行更新,以对所述目标数据包所属的数据流进行状态改写。
7.如权利要求1所述数据处理方法,其特征在于,在所述根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果的步骤之后,还包括:
获取预设时间间隔和各数据包对应的历史处理信息,所述历史处理信息为对各所述数据包所属的数据流的状态改写以及更新处理的过程信息;
根据所述预设时间间隔和所述历史处理信息,对各所述数据包对应的数据流状态进行定期更新。
8.一种数据处理装置,其特征在于,应用于数据平面,所述数据处理装置包括:
获取模块,用于获取目标数据包对应的数据信息,其中,所述数据信息包括包头信息和元数据信息;
匹配模块,用于根据所述包头信息和所述元数据信息共同对应的数据关键字,与预设匹配表进行匹配,得到所述目标数据包对应的匹配结果,其中,所述预设匹配表包括数据关键字、匹配表项索引以及匹配表项内容之间的一一对应关系;
处理模块,用于若所述匹配结果对应的匹配类型为匹配成功,则根据所述匹配结果,对所述目标数据包所属的数据流进行状态改写以及所述目标数据包的更新处理,得到处理数据包。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有实现数据处理方法的程序,所述实现数据处理方法的程序被处理器执行以实现如权利要求1至7中任一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211737631.2A CN116049498A (zh) | 2022-12-30 | 2022-12-30 | 数据处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211737631.2A CN116049498A (zh) | 2022-12-30 | 2022-12-30 | 数据处理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116049498A true CN116049498A (zh) | 2023-05-02 |
Family
ID=86133169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211737631.2A Pending CN116049498A (zh) | 2022-12-30 | 2022-12-30 | 数据处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049498A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116197919A (zh) * | 2023-05-06 | 2023-06-02 | 曜石机器人(上海)有限公司 | 机器人控制***及控制方法 |
-
2022
- 2022-12-30 CN CN202211737631.2A patent/CN116049498A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116197919A (zh) * | 2023-05-06 | 2023-06-02 | 曜石机器人(上海)有限公司 | 机器人控制***及控制方法 |
CN116197919B (zh) * | 2023-05-06 | 2023-07-25 | 曜石机器人(上海)有限公司 | 机器人控制***及控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7454662B2 (ja) | 情報送信方法、装置、読み取り可能な記憶媒体及び電子装置 | |
WO2021082584A1 (zh) | 消息交互方法、装置、可读介质及电子设备 | |
CN108718347B (zh) | 一种域名解析方法、***、装置及存储介质 | |
US20220138074A1 (en) | Method, electronic device and computer program product for processing data | |
WO2020026018A1 (zh) | 文件的下载方法、装置、设备/终端/服务器及存储介质 | |
CN110233880A (zh) | Udp数据包的传输方法、***、介质和电子设备 | |
CN116049498A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN104808991A (zh) | 一种终端处理方法 | |
US11709619B2 (en) | Method, electronic device, and computer program product for processing data | |
CN113596017A (zh) | 一种协议解析方法、装置、软网关和存储介质 | |
CN113595927A (zh) | 一种旁路模式下镜像流量的处理方法和装置 | |
CN111435318A (zh) | 应用程序的dex优化方法及终端 | |
CN111405007B (zh) | Tcp会话管理方法、装置、存储介质及电子设备 | |
US11962929B2 (en) | Method, apparatus, and device for configuring video special effect, and storage medium | |
CN104809049A (zh) | 一种终端 | |
CN109068170B (zh) | 一种弹幕消息的存储方法、装置、终端和存储介质 | |
CN108595973B (zh) | 指令确定方法、设备控制方法、装置和*** | |
CN110947182A (zh) | 事件应对方法、装置、游戏终端及介质 | |
US20240120991A1 (en) | Method and apparatus for synchronizing time by parsing satellite navigation data | |
CN107342981B (zh) | 传感器数据的传输方法及装置、虚拟现实头戴设备 | |
CN113965915B (zh) | 数据处理方法和电子设备 | |
WO2019140565A1 (zh) | 云存储命令管理方法及*** | |
US11303566B2 (en) | Method, electronic device, and computer program product for data processing | |
US10841877B2 (en) | Method of task scheduling in a wireless sensor network | |
CN111258754A (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 |