CN115842792B - 一种数据处理方法、装置、存储介质及电子设备 - Google Patents

一种数据处理方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN115842792B
CN115842792B CN202310178066.9A CN202310178066A CN115842792B CN 115842792 B CN115842792 B CN 115842792B CN 202310178066 A CN202310178066 A CN 202310178066A CN 115842792 B CN115842792 B CN 115842792B
Authority
CN
China
Prior art keywords
data
processing
data frame
byte
analysis model
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
CN202310178066.9A
Other languages
English (en)
Other versions
CN115842792A (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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202310178066.9A priority Critical patent/CN115842792B/zh
Publication of CN115842792A publication Critical patent/CN115842792A/zh
Application granted granted Critical
Publication of CN115842792B publication Critical patent/CN115842792B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书公开了一种数据处理方法、装置、存储介质及电子设备,本说明书实施例在交换芯片接收到数据帧之后,通过部署在数据处理单元的数据解析模型,对数据帧进行解析,并根据解析结果,确定出针对数据帧的处理策略,交换芯片按照处理策略,对数据帧进行处理。由于数据解析模型是通过随机生成的数据帧和各网络设备之间传输的数据帧训练得到的,因此,数据解析模型能够学习到解析不同报文协议的数据帧的能力,并且数据解析模型能快速确定出针对不同报文协议的数据帧的处理策略,从而提高了交换机处理数据帧的适用性。

Description

一种数据处理方法、装置、存储介质及电子设备
技术领域
本说明书涉及网络通信技术领域,尤其涉及一种数据处理方法、装置、存储介质及电子设备。
背景技术
在数据处理过程中,可以通过数据链路层的交换机,对数据进行转发。
现有技术中,交换机中的传统交换芯片可以基于固有的报文协议,对接收到的数据帧进行解析,若交换芯片无法解析出数据帧,则将数据帧发送至数据处理单元,并通过数据处理单元预先定义的报文协议,对数据帧进行解析,得到解析结果,并根据解析结果,确定出针对数据帧的处理策略。
然而,数据处理单元能够解析出的数据帧的报文协议是预先定义,对于未预先定义的报文协议的数据帧,无法得到解析结果,从而无法确定出处理策略,这样降低了交换机处理数据帧的适用性。
发明内容
本说明书实施例提供一种数据处理方法、装置、存储介质及电子设备,以部分解决上述现有技术存在的问题。
本说明书实施例采用下述技术方案:
本说明书提供的一种数据处理方法,所述方法应用于交换机,所述交换机至少包括:交换芯片和部署有数据解析模型的数据处理单元,所述方法包括:
通过所述交换芯片,接收待处理的数据帧;
将所述数据帧发送给部署有数据解析模型的数据处理单元,其中,所述数据解析模型是通过随机生成的数据帧以及各网络设备之间传输的数据帧训练得到的;
通过所述数据解析模型,对所述数据帧进行解析,得到解析结果,并根据解析结果,确定出针对所述数据帧的处理策略;
通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧,并将所述目标数据帧发送给所述交换芯片;
通过所述交换芯片,对所述目标数据帧进行解析,得到所述处理策略,并按照所述处理策略,对所述目标数据帧进行处理。
可选地,所述交换机还包括:控制单元;
在将所述数据帧发送给部署有数据解析模型的数据处理单元之前,所述方法还包括:
通过所述控制单元,获取各网络设备之间传输的数据帧以及随机生成的数据帧,作为各数据样本,以及确定所述各数据样本各自对应的处理标签;
将所述各数据样本随机分成两个集合,一个集合内的数据样本作为训练数据,另一个集合内的数据样本作为测试数据;
基于各训练数据,构建数据解析模型;
将各测试数据输入待训练的数据解析模型,以通过所述数据解析模型,针对每个测试数据,对该测试数据进行解析,得到该测试数据对应的解析结果,并根据该测试数据对应的解析结果,预测出该测试数据对应的待优化处理策略;
以每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异最小化为目标,对所述数据解析模型进行训练。
可选地,基于各训练数据,构建数据解析模型,具体包括:
针对每个训练数据,基于预设字节长度,对该训练数据进行分割,得到各字节段;
对所述各字节段进行解析,得到每个字节段的解析结果;
针对每个字节段,以该字节段的解析结果为节点,构建针对该字节段的决策树,所述决策树包含有至少一个数据样本中位于该字节段的解析结果、所述至少一个数据样本对应的处理标签以及至少一个处理标签各自对应的累积量;
根据构建的针对每个字节段的决策树,构建数据解析模型。
可选地,对该测试数据进行解析,得到该测试数据对应的解析结果,具体包括:
基于预设字节长度,对该测试数据进行分割,得到各字节段;
对所述各字节段进行解析,得到每个字节段的解析结果;
根据该测试数据对应的解析结果,预测出该测试数据对应的待优化处理策略,具体包括:
针对该测试数据的每个字节段,将该字节段的解析结果与该字节段的决策树中的各节点进行匹配,确定出与该字节段的解析结果相匹配的节点,作为目标节点;
将所述目标节点中存储的处理标签以及所述处理标签对应的累积量作为该字节段的决策树的输出结果;
根据该测试数据中每个字节段的决策树的输出结果,将累积量最大的处理标签确定为该测试数据对应的待优化处理策略。
可选地,以每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异最小化为目标,对所述数据解析模型进行训练,具体包括:
确定每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异;
根据所述差异,确定出所述数据解析模型预测每个测试数据的处理策略的准确率;
以最大化所述准确率为目标,对所述数据解析模型包含的每个决策树中每个处理标签对应的累积量进行调整,以训练所述数据解析模型。
可选地,所述方法还包括:
在训练完所述数据解析模型之后,通过所述控制单元,向所述数据处理单元发送连接请求,以使所述数据处理单元基于所述连接请求,与所述控制单元建立连接;
在所述数据处理单元与所述控制单元建立连接之后,通过所述控制单元,将训练完的所述数据解析模型发送给所述数据处理单元,以使所述数据处理单元部署接收到的数据解析模型。
可选地,所述方法还包括:
在所述数据处理单元部署所述数据解析模型之后,通过所述数据处理单元,向所述控制单元返回部署成功信息;
在所述控制单元接收到所述部署成功信息之后,通过所述控制单元,向所述交换芯片发送配置信息,以使所述交换芯片基于接收到的配置信息,将所述交换芯片与所述数据处理单元之间的两个数据通道分别配置在不同的VLAN范围内,并在每个VLAN信息下配置用于转发数据帧的端口。
可选地,对所述数据帧进行解析,得到解析结果,并根据解析结果,确定出针对所述数据帧的处理策略,具体包括:
将所述数据帧输入所述数据解析模型,以通过所述数据解析模型,基于预设字节长度,对所述数据帧进行分割,得到各字节段,对所述各字节段进行解析,得到每个字节段对应的解析结果;
针对每个字节段,将该字节段的解析结果与该字节段的决策树中的各节点进行匹配,确定出与该字节段的解析结果相匹配的节点,作为匹配节点;
将所述匹配节点中存储的处理策略以及所述处理策略对应的累积量作为该字节段的决策树的输出结果;
根据每个字节段的决策树的输出结果,将累积量最大的处理策略确定为所述数据帧的处理策略。
可选地,所述处理策略包括:丢弃、重定向、转发。
可选地,通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧,具体包括:
若通过所述数据解析模型确定出针对所述数据帧的处理策略,通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧;
若未通过所述数据解析模型确定出针对所述数据帧的处理策略,通过所述数据处理单元,将所述数据帧丢弃。
可选地,将所述处理策略对应的标识信息,封装到所述数据帧中,具体包括:
在所述数据帧的指定字段中增加所述处理策略对应的标识信息。
可选地,所述方法还包括:
在所述数据帧的指定字段中增加重定向的VLAN信息。
可选地,所述指定字段包括:VLAN字段。
可选地,在所述数据帧的指定字段中增加所述处理策略对应的标识信息,具体包括:
在所述数据帧的VLAN字段的VID中的高四位增加所述处理策略对应的标识信息。
可选地,在所述数据帧的指定字段中增加重定向的虚拟局域网VLAN信息,具体包括:
在所述数据帧的VLAN字段的VID中的低八位增加重定向的VLAN信息。
可选地,按照所述处理策略,对所述目标数据帧进行处理,具体包括:
若所述处理策略为丢弃,则将所述目标数据帧丢弃;
若所述处理策略为转发,则将所述目标数据帧发送给预先配置的指定端口;
若所述处理策略为重定向,则将所述目标数据帧发送给与重定向的VLAN信息对应的端口。
本说明书提供的一种数据处理装置,包括:
接收模块,用于通过交换芯片,接收待处理的数据帧;
发送模块,用于将所述数据帧发送给部署有数据解析模型的数据处理单元,其中,所述数据解析模型是通过随机生成的数据帧以及各网络设备之间传输的数据帧训练得到的;
确定模块,用于通过所述数据解析模型,对所述数据帧进行解析,得到解析结果,并根据解析结果,确定出针对所述数据帧的处理策略;
封装模块,用于通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧,并将所述目标数据帧发送给所述交换芯片;
处理模块,用于通过所述交换芯片,对所述目标数据帧进行解析,得到所述处理策略,并按照所述处理策略,对所述目标数据帧进行处理。
本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据处理方法。
本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据处理方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
本说明书实施例中在交换芯片接收到数据帧之后,通过部署在数据处理单元的数据解析模型,对数据帧进行解析,并根据解析结果,确定出针对数据帧的处理策略,交换芯片按照处理策略,对数据帧进行处理。由于数据解析模型是通过随机生成的数据帧和各网络设备之间传输的数据帧训练得到的,因此,数据解析模型能够学习到解析不同报文协议的数据帧的能力,并且数据解析模型能快速确定出针对不同报文协议的数据帧的处理策略,从而提高了交换机处理数据帧的适用性。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书实施例提供的数据处理方法的流程示意图;
图2为本说明书实施例提供的交换机的结构示意图;
图3为本说明书实施例提供的数据帧的帧结构示意图;
图4为本说明书实施例提供的处理策略、标识信息、数据样本之间的对应关系的示意图;
图5为本说明书实施例提供的第一字节段的决策树的示意图;
图6为本说明书实施例提供的数据处理装置结构示意图;
图7为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
本说明书提供的数据处理方法旨在通过数据解析模型,对不同报文协议的数据帧进行解析,并确定出不同报文协议的数据帧的处理策略,以使交换芯片按照处理策略,对数据帧进行处理。
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书实施例提供的数据处理方法的流程示意图,包括:
S100:通过所述交换芯片,接收待处理的数据帧。
在本说明书实施例中,交换机至少由交换芯片、控制单元、数据处理单元构成。其中,交换芯片用于对数据帧进行转发、丢弃、重定向等处理。控制单元用于训练数据解析模型,并给交换芯片发送用于与数据处理单元建立通信的配置信息。配置信息中至少包含有虚拟局域网(Virtual Local Area Network,VLAN)信息。数据处理单元用于部署数据解析模型,并基于数据解析模型对数据帧进行解析,并确定出针对数据帧的处理策略。
另外,交换芯片与控制单元之间存在用于传输配置信息的第一控制通道,控制单元与数据处理单元之间存在用于传输数据解析模型的第二控制通道,交换芯片与数据处理单元之间存在用于传输数据帧的两个数据通道,其中,一个数据通道用于交换芯片向数据处理单元传输数据,另一个数据通道用于数据处理单元向交换芯片传输数据。
基于上述对交换芯片、控制单元和数据处理单元之间的连接结构的描述,本说明书实施例提供交换机的结构示意图,如图2所示。
需要说明的是,交换机中的控制单元可以运行SONiC系统,交换芯片可以是CTC8180交换芯片,数据处理单元可以采用兆芯COMe核心板的中央处理器(centralprocessing unit,CPU),并且数据处理单元可以运行Ubuntu系统。当控制单元运行SONiC系统时,控制单元可以通过第一控制通道,采用SONiC_CLI、REDIS-CLI、CTC_SHELL等方式,向交换芯片发送控制信息,控制信息中携带有配置信息。控制单元与数据处理单元通过第二控制通道进行通信的方式至少包括:Socket通信、HTTP通信、JMS、WebService等。
在本说明书实施例中,在用户执行业务的过程中,可以通过交换机中的交换芯片接收待处理的数据帧。其中,接收到的待处理的数据帧可以是指传统报文协议的数据帧,也可以是指自定义报文协议的数据帧。自定义报文协议的数据帧是指数据帧的字段是用户自定义的。
S102:将所述数据帧发送给部署有数据解析模型的数据处理单元,其中,所述数据解析模型是通过随机生成的数据帧以及各网络设备之间传输的数据帧训练得到的。
在本说明书实施例中,在交换芯片接收到待处理的数据帧之后,可以通过交换芯片与数据处理单元之间的数据通道,将待处理的数据帧发送给数据处理单元。其中,数据处理单元中部署有数据解析模型,数据解析模型是通过随机生成的数据帧以及各网络设备之间传输的数据帧所训练得到的。网络设备至少包括:交换机、路由器、主机等。数据解析模型可以是:支持向量机、决策树、随机森林模型等。其中,可以通过打流仪设备随机生成数据帧。
除了将待处理的数据帧直接发送给数据处理单元之外,可以在交换芯片接收到待处理的数据帧之后,判断交换芯片是否能对待处理的数据帧进行解析,若交换芯片无法解析出接收到的数据帧,可以通过交换芯片与数据处理单元之间的数据通道,将待处理的数据帧发送给数据处理单元。
S104:通过所述数据解析模型,对所述数据帧进行解析,得到解析结果,并根据解析结果,确定出针对所述数据帧的处理策略。
在数据处理单元接收到交换芯片发送的待处理的数据帧之后,可以通过数据处理单元中部署的数据解析模型,对待处理的数据帧进行解析,得到解析结果,并根据解析结果,确定出待处理的数据帧对应的处理策略。其中,处理策略至少包括:丢弃、转发、重定向等。
具体的,将待处理的数据帧输入到数据解析模型中,以通过数据解析模型,基于预设字节长度,对待处理的数据帧进行分割,得到各字节段,对各字节段进行解析,得到每个字节段对应的解析结果。根据待处理的数据帧中每个字节段的解析结果,确定出待处理的数据帧对应的处理策略。其中,预设字节长度可以是2个字节。解析结果可以是指由二进制数据格式构成的字符串。
在确定出待处理的数据帧对应的处理策略时,可以针对待处理的数据帧的每个字节段,将该字节段的解析结果与该字节段的决策树中的各节点进行匹配,确定出与该字节段的解析结果相匹配的节点,作为匹配节点。将匹配节点中存储的处理策略以及处理策略对应的累积量作为该字节段的决策树的输出结果。其中,该字节段的决策树中的每个节点存储有位于该字节段的解析结果、处理策略以及处理策略的累积量。针对每个节点,该节点存储的处理策略的累积量可以表示在训练数据解析模型时,该节点存储的解析结果所对应的处理策略在所有训练数据中出现的次数。处理策略的累积量越大,表示这个处理策略越可信。
根据每个字节段的决策树的输出结果,将累积量最大的处理策略确定为待处理的数据帧对应的处理策略。
在将该字节段的解析结果与该字节段的决策树中的各节点进行匹配时,针对该字节段的决策树中每个节点,可以将该字节段的解析结果与该字节段的决策树中该节点存储的解析结果进行比对,若该字节段的决策树中该节点存储的解析结果与该字节段的解析结果相同,则将该字节段的决策树中该节点作为候选节点。然后,根据每个候选节点存储的处理策略的累积量,从各候选节点中选择出处理策略的累积量最大的节点,作为与该字节段的解析结果相匹配的匹配节点。
在根据每个字节段的决策树的输出结果,将累积量最大的处理策略确定为待处理的数据帧对应的处理策略时,可以对每个字节段的决策树的输出结果进行统计,确定出每个处理策略对应的综合累积量,并将综合累积量最大的处理策略确定为待处理的数据帧对应的处理策略。
比如:数据帧的总字节为10个字节,预设字节长度为2个字节,可以将数据帧分割为5个字节段。针对每个字节段,对该字节段进行解析,得到该字节段对应的解析结果。若第一个字节段的解析结果为A,第二个字节段的解析结果为B,第三个字节段的解析结果为C,第四个字节段的解析结果为D,第五个字节段的解析结果为E。以第一字节段为例,确定出第一字节段的决策树的节点有:节点1、节点2和节点3。节点1存储有解析结果为A、处理策略为丢弃、累积量为3次,节点2存储有解析结果为F、处理策略为转发、累积量为2次,节点3存储有解析结果为A、处理策略为转发、累积量为5次。与第一字节段的解析结果A对应的候选节点为节点1和节点3,由于节点3中处理策略的累积量比节点1中的累积量大,所以,与第一字节段的解析结果相匹配的匹配节点为节点3,第一字节段的决策树的输出结果为转发、转发的累积量为5次。若第二字节段的决策树的输出结果为转发、转发的累积量为3次,第三字节段的决策树的输出结果为丢弃、丢弃的累积量为2次,第四字节段的决策树的输出结果为丢弃、丢弃的累积量为1次,第五字节段的决策树的输出结果为转发、转发的累积量为2次,则针对转发的处理策略,转发的综合累积量为10次,针对丢弃的处理策略,丢弃的综合累积量为3次,则确定出待处理的数据帧所对应的最终处理策略为转发。
需要说明的是,通过数据解析模型对数据帧进行解析,无需识别出数据帧每个字段的具体含义,只需根据解析出的二进制字符串确定出数据帧的处理策略即可。其中,每个字段的具体含义至少包括:报文类型、源地址、目的地址、帧长度等。
此外,若通过数据处理单元中的数据解析模型无法确定出针对待处理的数据帧的处理策略,可以通过数据处理单元,将待处理的数据帧丢弃。
另外,若通过数据处理单元中的数据解析模型确定出针对待处理的数据帧的处理策略为丢弃,数据处理单元可以直接将待处理的数据帧丢弃,也可以将数据帧返回给交换芯片,由交换芯片将数据帧丢弃。
S106:通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧,并将所述目标数据帧发送给所述交换芯片。
S108:通过所述交换芯片,对所述目标数据帧进行解析,得到所述处理策略,并按照所述处理策略,对所述目标数据帧进行处理。
在本说明书实施例中,在确定出待处理的数据帧对应的处理策略之后,可以通过数据处理单元,基于确定出的处理策略,对数据帧进行重新封装,得到重新封装后的数据帧,作为目标数据帧。然后,将目标数据帧发送给交换芯片,以使交换芯片对目标数据帧进行解析,得到针对数据帧的处理策略。通过交换芯片,按照处理策略,对目标数据帧进行处理。
在对数据帧进行重新封装时,可以将处理策略对应的标识信息,封装到数据帧中,得到目标数据帧。
具体的,可以在待处理的数据帧的指定字段中增加确定出的处理策略对应的标识信息。其中,指定字段可以是指VLAN字段。另外,每个处理策略对应唯一的标识信息,比如:丢弃的处理策略对应着0、转发的处理策略对应着1、重定向的处理策略对应着2等。
当处理策略为重定向时,可以在待处理的数据帧的指定字段中增加确定出的处理策略对应的标识信息以及重定向的VLAN信息。VLAN信息可以是指VLAN值。
当指定字段为VLAN字段时,可以在数据帧的VLAN字段的VID中的高四位增加确定出的处理策略对应的标识信息,在VID中的低八位增加重定向的VLAN信息。
本说明书实施例提供针对数据帧的帧结构示意图,如图3所示。在图3中,帧结构的VLAN字段的VID的高四位用于表示处理策略,VID的低八位用于表示重定向VLAN信息。
数据处理单元通过数据通道将目标数据帧发送给交换芯片之后,交换芯片接收目标数据帧,并对目标数据帧进行解析,得到针对目标数据帧的处理策略。然后,通过交换芯片,按照解析出的处理策略,对目标数据帧进行处理。
具体的,通过交换芯片,对目标数据帧中VLAN字段的VID进行解析。若VID的高四位为0,则确定处理策略为丢弃,若VID的高四位为1,则确定处理策略为转发,若VID的高四位为2,则确定处理策略为重定向。当处理策略为重定向时,需要将VID中的低八位解析出的信息,作为需要重定向的VLAN信息。
进一步,若处理策略为丢弃,则通过交换芯片,将目标数据帧丢弃。
若处理策略为转发,则将目标数据帧发送给预先配置的指定端口。其中,指定端口可以是指用于将目标数据帧转发给其他网络设备的端口。另外,指定端口是交换芯片基于控制单元发送给交换芯片的配置信息预先配置的。
若处理策略为重定向,则将目标数据帧发送给与重定向的VLAN信息对应的端口。
交换芯片在基于配置信息进行配置端口时,可以将配置信息中包含的当处理策略为转发时用于转发数据帧的预设端口作为指定端口,也可以针对配置信息中包含的每个VLAN信息,将该VLAN信息对应的端口作为基于该VLAN信息进行数据帧传输时用于转发数据帧的指定端口。
在第二种情况下,若交换芯片解析出处理策略为转发,需要先确定交换芯片与数据处理单元之间传输目标数据帧时所基于的VLAN信息,然后,将确定出的VLAN信息对应的端口作为指定端口,并将目标数据帧发送到指定端口。
需要说明的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
通过上述图1所示的方法可见,本说明书在交换芯片接收到数据帧之后,通过部署在数据处理单元的数据解析模型,对数据帧进行解析,并根据解析结果,确定出针对数据帧的处理策略,交换芯片按照处理策略,对数据帧进行处理。由于数据解析模型是通过随机生成的数据帧和各网络设备之间传输的数据帧训练得到的,因此,数据解析模型能够学习到解析不同报文协议的数据帧的能力,并且数据解析模型能够快速确定出针对不同报文协议的数据帧的处理策略,从而提高了交换机处理数据帧的适用性。
进一步的,在使用数据解析模型之前,需要对数据解析模型进行训练。
在训练数据解析模型之前需要准备用于训练的数据帧,并对每个数据帧进行打标。
通过控制单元,获取各网络设备之间传输的数据帧以及随机生成的数据帧,作为各数据样本,以及确定各数据样本各自对应的处理标签。
进一步,可以采用抓包工具获取各网络设备之间传输的数据帧以及随机生成的数据帧,作为各数据样本,抓包工具至少包括:WireShark、Microsoft Network Monitor等。另外,可以通过打流仪设备随机生成数据帧,即,随机生成的数据帧中每个字段所表达的具体含义是随机的,比如:随机生成的数据帧1中的第12-13字节表示报文类型,随机生成的数据帧2中的第12-13字节表示目的地址。打流仪设备至少包括:思博伦、IXIA、Xena的网络性能测试仪设备等。
此外,也可以在采用抓包工具获取到各数据帧之后,可以根据预设的过滤条件,从各数据帧中过滤掉至少部分的数据帧,并将剩下的数据帧,作为各数据样本。其中,预设的过滤条件至少包括:过滤掉数据帧长度不符合预设长度的数据帧、过滤掉必填字段为空的数据帧、过滤掉重复的数据帧中的至少一种。
在获取到各数据样本之后,可以针对每个数据样本,确定该数据样本与处理策略之间的对应关系,并将处理策略对应的标识信息作为该数据样本的处理标签。如图4所示。在图4中,以表格的储存形式,图4中的表1为各处理策略与标识信息之间的对应关系,图4中的表2为每个数据样本与处理策略的标识信息之间的映射关系。
接下来,对数据解析模型进行训练。
首先,可以将各数据样本随机分成两个集合,一个集合内的数据样本作为训练数据,另一个集合内的数据样本作为测试数据。其中,可以将80%的数据样本作为训练数据,20%的数据样本作为测试数据。
然后,基于各训练数据,构建数据解析模型。
具体的,针对每次迭代训练,可以从用于训练数据解析模型的集合中随机选取部分训练数据,然后,针对选取的部分训练数据中的每个训练数据,基于预设字节长度,对该训练数据进行分割,得到各字节段。对各字节段进行解析,得到每个字节段的解析结果。之后,针对每个字节段,以该字节段的解析结果为节点,构建针对该字节段的决策树,决策树包含有至少一个数据样本中位于该字节段的解析结果、至少一个数据样本对应的处理标签以及至少一个处理标签各自对应的累积量。其中,处理标签对应的累积量可以表示该处理标签出现的次数。
在构建针对该字节段的决策树时,针对每个训练数据,建立该训练数据位于该字节段的解析结果与该训练数据对应的处理标签之间的关联关系,作为该训练数据位于该字节段的映射关系。若该训练数据位于该字节段的映射关系与该字节段的决策树中已有节点存储的映射关系相匹配,将该字节段的决策树中与该训练数据相匹配的节点中存储的针对处理标签的累积量加一。若该训练数据位于该字节段的映射关系与该字节段的决策树中已有节点存储的映射关系不匹配,则在该字节段的决策树中新增节点,新增节点存储有该训练数据位于该字节段的映射关系以及该训练数据对应的处理标签的累积量,该训练数据对应的处理标签的累积量从一开始累加。其中,该字节段的决策树中每个节点存储有训练数据位于该字节段的解析结果与训练数据对应的处理标签之间的映射关系以及处理标签对应的累积量。如图5所示。
在图5中,以第一个字节段的决策树为例,有训练数据1、训练数据2和训练数据3。训练数据1位于第一个字节段的解析结果为a,训练数据1的处理标签为丢弃,训练数据2位于第一个字节段的解析结果为a,训练数据2的处理标签为丢弃,训练数据3位于第一个字节段的解析结果为b,训练数据3的处理标签为转发。假如第一个字节段的决策树刚开始未构建节点,在训练数据1输入时,直接在第一个字节段的决策树下构建节点A,节点A存储有解析结果a、丢弃、丢弃的累积量为1,在训练数据2输入时,由于训练数据2与节点A匹配,在节点A存储的丢弃的累积量加一,即,丢弃的累积量为2,在训练数据3输入时,由于训练数据3与节点A不匹配,在决策树下新增节点B,节点B存储有解析结果b、转发、转发的累积量为1。
在构建针对每个字节段的决策树之后,可以根据构建的针对每个字节段的决策树,构建数据解析模型。其中,数据解析模型可以是随机森林模型。
在构建数据解析模型之后,将各测试数据输入待训练的数据解析模型,以通过数据解析模型,针对每个测试数据,对该测试数据进行解析,得到该测试数据对应的解析结果,并根据该测试数据对应的解析结果,确定出该测试数据对应的待优化处理策略。以每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异最小化为目标,对数据解析模型进行迭代训练。
在确定该测试数据对应的待优化处理策略时,可以基于预设字节长度,对该测试数据进行分割,得到各字节段。对各字节段进行解析,得到每个字节段的解析结果。然后,针对该测试数据的每个字节段,将该字节段的解析结果与该字节段的决策树中的各节点进行匹配,确定出与该字节段的解析结果相匹配的节点,作为目标节点。之后,将目标节点中存储的处理标签以及处理标签对应的累积量作为该字节段的决策树的输出结果。根据该测试数据中每个字节段的决策树的输出结果,将累积量最大的处理标签确定为该测试数据对应的待优化处理策略。
在以每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异最小化为目标,对数据解析模型进行迭代训练时,可以先确定每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异,然后,根据每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异,确定数据解析模型预测出每个测试数据的处理策略的准确率。以最大化准确率为目标,对数据解析模型包含的每个决策树中每个处理标签对应的累积量进行调整,以训练数据解析模型。
其中,若准确率大于预设阈值,确定数据解析模型训练完成;若预设准确率不大于预设阈值,继续对数据解析模型进行迭代训练。
对数据解析模型进行迭代训练:重新从用于训练数据解析模型的集合中随机选取部分训练数据,并基于选取的部分训练数据,继续构建数据解析模型,并对继续构建的数据解析模型进行测试。
在对数据解析模型训练完成之后,可以通过控制单元与数据处理单元之间的第二控制通道,向数据处理单元发送连接请求。数据处理单元基于接收到的连接请求,与控制单元建立连接。
比如:当数据处理单元的IP配置为“0.0.0.0”,对外服务的端口配置为8001,数据处理单元能够与控制单元正常建立连接。
在数据处理单元与控制单元建立连接之后,通过控制单元与数据处理单元之间的第二控制通道,将训练完的数据解析模型发送给数据处理单元,以使数据处理单元部署接收到的数据解析模型。
由于数据处理单元和控制单元可以都是采用Python语言编写的,所以,数据处理单元和控制单元都可以引用Python内置的json库以及socket库。
具体的,通过控制单元,可以先将数据解析模型的模型参数转换成指定数据格式,得到转换后参数。其中,指定数据格式为JSON格式,模型参数可以是以对象的形式存储的。即,模型参数可以是指数据解析模型中每个节点存储的解析结果、处理策略、处理策略对应的累积量以及每个节点对应的父节点。
比如:控制单元可以调用json.dumps()接口将模型参数para_result_dict转换成JSON格式para_result_json。
然后,在数据处理单元与控制单元建立连接之后,通过控制单元调用指定函数,将转换后参数发送给数据处理单元。其中,指定函数可以是指Socket函数,Socket通信是一种基于TCP/UDP的二进制通讯方式,具有传输数据时间短、性能高、数据安全性强等优点。
数据处理单元接收到转换后参数之后,可以调用目标函数,对转换后参数进行还原,得到数据解析模型的模型参数,并基于模型参数,部署数据解析模型。其中,目标函数可以是指json函数。
由于收到的模型参数para_result_json为JSON格式,需调用json.loads(para_result_json),将JSON格式的para_result_json模型参数转换为para_result_dict。
在数据处理单元部署数据解析模型之后,通过数据处理单元,向控制单元返回部署成功信息。在控制单元接收到部署成功信息之后,通过控制单元,向交换芯片发送配置信息,以使交换芯片基于接收到的配置信息,将交换芯片与数据处理单元之间的两个数据通道分别配置在不同的VLAN范围内,并在每个VLAN信息下配置用于转发数据帧的端口。其中,配置信息至少包括:指示交换芯片将交换芯片向数据处理单元传输数据帧的数据通道和用于接收数据帧的端口配置到同一VLAN信息下、指示交换芯片将数据处理单元向交换芯片传输数据帧的数据通道和用于转发数据帧的端口配置到同一VLAN信息下、指示交换芯片监测数据处理单元向交换芯片传输数据帧的数据通道、指示交换芯片配置当处理策略为转发时转发数据帧的端口。需要说明的是,交换芯片向数据处理单元传输数据帧的数据通道和用于接收数据帧的端口配置到的同一VLAN信息,与数据处理单元向交换芯片传输数据帧的数据通道和用于转发数据帧的端口配置到的同一VLAN信息不重叠。
交换芯片在接收到配置信息之后,配置交换芯片与数据处理单元之间的数据通道的预加重。预加重是一种在发送端对输入信号高频分量进行补偿的信号处理方式,可以提高该通道链路信号的稳定性。
然后,开启数据通道的使能,使数据通道处于开启状态。
之后,可以将交换芯片向数据处理单元传输数据帧的数据通道的内部管理口配置在第一指定VLAN范围内,比如:1-100。针对这个数据通道的内部管理口,为第一指定VLAN范围内的每个VLAN信息配置对应的用于接收数据帧的端口,并将配置的端口添加到各自对应的VLAN信息下。也就是,针对每个VLAN信息,保存该VLAN信息、用于接收数据帧的端口、数据通道三者之间的对应关系。比如:将交换芯片向数据处理单元传输数据帧的数据通道的内部管理口和用于接收数据帧的端口1配置在VLAN1下,将交换芯片向数据处理单元传输数据帧的数据通道的内部管理口和用于接收数据帧的端口2配置在VLAN2下。
同样的,可以将数据处理单元向交换芯片传输数据帧的数据通道的内部管理口配置在第二指定VLAN范围内,比如:101-200。其中,第一指定VLAN范围与第二指定VLAN范围无重叠。针对这个数据通道的内部管理口,为第二指定VLAN范围内的每个VLAN信息配置对应的用于转发数据帧的端口,并将配置的端口添加到各自对应的VLAN信息下。也就是,针对每个VLAN信息,保存该VLAN信息、用于转发数据帧的端口、数据通道三者之间的对应关系。比如:将数据处理单元向交换芯片传输数据帧的数据通道的内部管理口和用于转发数据帧的端口5配置在VLAN105下,将数据处理单元向交换芯片传输数据帧的的数据通道的内部管理口和用于转发数据帧的端口6配置在VLAN106下。
这样,在用户执行业务过程中,可以根据数据处理单元与交换芯片之间传输目标数据帧时所基于的VLAN信息,确定出用于转发数据帧的端口,并将目标数据帧发送到该端口。
以上为本说明书实施例提供的数据处理方法,基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。
图6为本说明书实施例提供的一种数据处理装置的结构示意图,所述装置包括:
接收模块601,用于通过交换芯片,接收待处理的数据帧;
发送模块602,用于将所述数据帧发送给部署有数据解析模型的数据处理单元,其中,所述数据解析模型是通过随机生成的数据帧以及各网络设备之间传输的数据帧训练得到的;
确定模块603,用于通过所述数据解析模型,对所述数据帧进行解析,得到解析结果,并根据解析结果,确定出针对所述数据帧的处理策略;
封装模块604,用于通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧,并将所述目标数据帧发送给所述交换芯片;
处理模块605,用于通过所述交换芯片,对所述目标数据帧进行解析,得到所述处理策略,并按照所述处理策略,对所述目标数据帧进行处理。
可选地,所述装置还包括:训练模块606、部署模块607、配置模块608;
可选地,所述交换机还包括:控制单元;
训练模块606,用于在将所述数据帧发送给部署有数据解析模型的数据处理单元之前,通过所述控制单元,获取各网络设备之间传输的数据帧以及随机生成的数据帧,作为各数据样本,以及确定所述各数据样本各自对应的处理标签;将所述各数据样本随机分成两个集合,一个集合内的数据样本作为训练数据,另一个集合内的数据样本作为测试数据;基于各训练数据,构建数据解析模型;将各测试数据输入待训练的数据解析模型,以通过所述数据解析模型,针对每个测试数据,对该测试数据进行解析,得到该测试数据对应的解析结果,并根据该测试数据对应的解析结果,预测出该测试数据对应的待优化处理策略;以每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异最小化为目标,对所述数据解析模型进行训练。
可选地,所述训练模块606具体用于,针对每个训练数据,基于预设字节长度,对该训练数据进行分割,得到各字节段;对所述各字节段进行解析,得到每个字节段的解析结果;针对每个字节段,以该字节段的解析结果为节点,构建针对该字节段的决策树,所述决策树包含有至少一个数据样本中位于该字节段的解析结果、所述至少一个数据样本对应的处理标签以及至少一个处理标签各自对应的累积量;根据构建的针对每个字节段的决策树,构建数据解析模型。
可选地,所述训练模块606具体用于,基于预设字节长度,对该测试数据进行分割,得到各字节段;对所述各字节段进行解析,得到每个字节段的解析结果;针对该测试数据的每个字节段,将该字节段的解析结果与该字节段的决策树中的各节点进行匹配,确定出与该字节段的解析结果相匹配的节点,作为目标节点;将所述目标节点中存储的处理标签以及所述处理标签对应的累积量作为该字节段的决策树的输出结果;根据该测试数据中每个字节段的决策树的输出结果,将累积量最大的处理标签确定为该测试数据对应的待优化处理策略。
可选地,所述训练模块606具体用于,确定每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异;根据所述差异,确定出所述数据解析模型预测每个测试数据的处理策略的准确率;以最大化所述准确率为目标,对所述数据解析模型包含的每个决策树中每个处理标签对应的累积量进行调整,以训练所述数据解析模型。
部署模块607,用于在训练完所述数据解析模型之后,通过所述控制单元,向所述数据处理单元发送连接请求,以使所述数据处理单元基于所述连接请求,与所述控制单元建立连接;在所述数据处理单元与所述控制单元建立连接之后,通过所述控制单元,将训练完的所述数据解析模型发送给所述数据处理单元,以使所述数据处理单元部署接收到的数据解析模型。
配置模块608,用于在所述数据处理单元部署所述数据解析模型之后,通过所述数据处理单元,向所述控制单元返回部署成功信息;在所述控制单元接收到所述部署成功信息之后,通过所述控制单元,向所述交换芯片发送配置信息,以使所述交换芯片基于接收到的配置信息,将所述交换芯片与所述数据处理单元之间的两个数据通道分别配置在不同的虚拟局域网VLAN范围内,并在每个VLAN信息下配置用于转发数据帧的端口。
可选地,所述确定模块603具体用于,将所述数据帧输入所述数据解析模型,以通过所述数据解析模型,基于预设字节长度,对所述数据帧进行分割,得到各字节段,对所述各字节段进行解析,得到每个字节段对应的解析结果;针对每个字节段,将该字节段的解析结果与该字节段的决策树中的各节点进行匹配,确定出与该字节段的解析结果相匹配的节点,作为匹配节点;将所述匹配节点中存储的处理策略以及所述处理策略对应的累积量作为该字节段的决策树的输出结果;根据每个字节段的决策树的输出结果,将累积量最大的处理策略确定为所述数据帧的处理策略。
可选地,所述处理策略包括:丢弃、重定向、转发。
可选地,封装模块604具体用于,若通过所述数据解析模型确定出针对所述数据帧的处理策略,通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧;若未通过所述数据解析模型确定出针对所述数据帧的处理策略,通过所述数据处理单元,将所述数据帧丢弃。
可选地,封装模块604具体用于,在所述数据帧的指定字段中增加所述处理策略对应的标识信息。
可选地,封装模块604具体用于,在所述数据帧的指定字段中增加重定向的VLAN信息。
可选地,所述指定字段包括:VLAN字段。
可选地,封装模块604具体用于,在所述数据帧的VLAN字段的VID中的高四位增加所述处理策略对应的标识信息。
可选地,封装模块604具体用于,在所述数据帧的VLAN字段的VID中的低八位增加重定向的VLAN信息。
可选地,处理模块605具体用于,若所述处理策略为丢弃,则将所述目标数据帧丢弃;若所述处理策略为转发,则将所述目标数据帧发送给预先配置的指定端口;若所述处理策略为重定向,则将所述目标数据帧发送给与重定向的VLAN信息对应的端口。
本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述图1提供的数据处理方法。
基于图1所示的数据处理方法,本说明书实施例还提供了图7所示的电子设备的结构示意图。如图7,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的数据处理方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (19)

1.一种数据处理方法,其特征在于,所述方法应用于交换机,所述交换机至少包括:交换芯片和部署有数据解析模型的数据处理单元,所述方法包括:
通过所述交换芯片,接收待处理的数据帧;
将所述数据帧发送给部署有数据解析模型的数据处理单元,其中,所述数据解析模型是通过随机生成的数据帧以及各网络设备之间传输的数据帧训练得到的;
通过所述数据解析模型,对所述数据帧进行解析,得到解析结果,并根据解析结果,确定出针对所述数据帧的处理策略;
通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧,并将所述目标数据帧发送给所述交换芯片;
通过所述交换芯片,对所述目标数据帧进行解析,得到所述处理策略,并按照所述处理策略,对所述目标数据帧进行处理。
2.如权利要求1所述的方法,其特征在于,所述交换机还包括:控制单元;
在将所述数据帧发送给部署有数据解析模型的数据处理单元之前,所述方法还包括:
通过所述控制单元,获取各网络设备之间传输的数据帧以及随机生成的数据帧,作为各数据样本,以及确定所述各数据样本各自对应的处理标签;
将所述各数据样本随机分成两个集合,一个集合内的数据样本作为训练数据,另一个集合内的数据样本作为测试数据;
基于各训练数据,构建数据解析模型;
将各测试数据输入待训练的数据解析模型,以通过所述数据解析模型,针对每个测试数据,对该测试数据进行解析,得到该测试数据对应的解析结果,并根据该测试数据对应的解析结果,预测出该测试数据对应的待优化处理策略;
以每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异最小化为目标,对所述数据解析模型进行训练。
3.如权利要求2所述的方法,其特征在于,基于各训练数据,构建数据解析模型,具体包括:
针对每个训练数据,基于预设字节长度,对该训练数据进行分割,得到各字节段;
对所述各字节段进行解析,得到每个字节段的解析结果;
针对每个字节段,以该字节段的解析结果为节点,构建针对该字节段的决策树,所述决策树包含有至少一个数据样本中位于该字节段的解析结果、所述至少一个数据样本对应的处理标签以及至少一个处理标签各自对应的累积量;
根据构建的针对每个字节段的决策树,构建数据解析模型。
4.如权利要求2所述的方法,其特征在于,对该测试数据进行解析,得到该测试数据对应的解析结果,具体包括:
基于预设字节长度,对该测试数据进行分割,得到各字节段;
对所述各字节段进行解析,得到每个字节段的解析结果;
根据该测试数据对应的解析结果,预测出该测试数据对应的待优化处理策略,具体包括:
针对该测试数据的每个字节段,将该字节段的解析结果与该字节段的决策树中的各节点进行匹配,确定出与该字节段的解析结果相匹配的节点,作为目标节点;其中,该字节段的决策树包含有至少一个数据样本中位于该字节段的解析结果、所述至少一个数据样本对应的处理标签以及至少一个处理标签各自对应的累积量;
将所述目标节点中存储的处理标签以及所述处理标签对应的累积量作为该字节段的决策树的输出结果;
根据该测试数据中每个字节段的决策树的输出结果,将累积量最大的处理标签确定为该测试数据对应的待优化处理策略。
5.如权利要求4所述的方法,其特征在于,以每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异最小化为目标,对所述数据解析模型进行训练,具体包括:
确定每个测试数据对应的待优化处理策略与各自对应的处理标签之间的差异;
根据所述差异,确定出所述数据解析模型预测每个测试数据的处理策略的准确率;
以最大化所述准确率为目标,对所述数据解析模型包含的每个决策树中每个处理标签对应的累积量进行调整,以训练所述数据解析模型。
6.如权利要求2所述的方法,其特征在于,所述方法还包括:
在训练完所述数据解析模型之后,通过所述控制单元,向所述数据处理单元发送连接请求,以使所述数据处理单元基于所述连接请求,与所述控制单元建立连接;
在所述数据处理单元与所述控制单元建立连接之后,通过所述控制单元,将训练完的所述数据解析模型发送给所述数据处理单元,以使所述数据处理单元部署接收到的数据解析模型。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
在所述数据处理单元部署所述数据解析模型之后,通过所述数据处理单元,向所述控制单元返回部署成功信息;
在所述控制单元接收到所述部署成功信息之后,通过所述控制单元,向所述交换芯片发送配置信息,以使所述交换芯片基于接收到的配置信息,将所述交换芯片与所述数据处理单元之间的两个数据通道分别配置在不同的虚拟局域网VLAN范围内,并在每个VLAN信息下配置用于转发数据帧的端口。
8.如权利要求1所述的方法,其特征在于,对所述数据帧进行解析,得到解析结果,并根据解析结果,确定出针对所述数据帧的处理策略,具体包括:
将所述数据帧输入所述数据解析模型,以通过所述数据解析模型,基于预设字节长度,对所述数据帧进行分割,得到各字节段,对所述各字节段进行解析,得到每个字节段对应的解析结果;
针对每个字节段,将该字节段的解析结果与该字节段的决策树中的各节点进行匹配,确定出与该字节段的解析结果相匹配的节点,作为匹配节点;其中,该字节段的决策树中的每个节点存储有位于该字节段的解析结果、处理策略以及处理策略的累积量,针对每个节点,该节点存储的处理策略的累积量表示在训练所述数据解析模型时,该节点存储的解析结果所对应的处理策略在所有训练数据中出现的次数;
将所述匹配节点中存储的处理策略以及所述处理策略对应的累积量作为该字节段的决策树的输出结果;
根据每个字节段的决策树的输出结果,将累积量最大的处理策略确定为所述数据帧的处理策略。
9.如权利要求1所述的方法,其特征在于,所述处理策略包括:丢弃、重定向、转发。
10.如权利要求1所述的方法,其特征在于,通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧,具体包括:
若通过所述数据解析模型确定出针对所述数据帧的处理策略,通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧;
若未通过所述数据解析模型确定出针对所述数据帧的处理策略,通过所述数据处理单元,将所述数据帧丢弃。
11.如权利要求10所述的方法,其特征在于,将所述处理策略对应的标识信息,封装到所述数据帧中,具体包括:
在所述数据帧的指定字段中增加所述处理策略对应的标识信息。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
在所述数据帧的指定字段中增加重定向的VLAN信息。
13.如权利要求11或12所述的方法,其特征在于,所述指定字段包括:VLAN字段。
14.如权利要求13所述的方法,其特征在于,在所述数据帧的指定字段中增加所述处理策略对应的标识信息,具体包括:
在所述数据帧的VLAN字段的VID中的高四位增加所述处理策略对应的标识信息。
15.如权利要求13所述的方法,其特征在于,在所述数据帧的指定字段中增加重定向的虚拟局域网VLAN信息,具体包括:
在所述数据帧的VLAN字段的VID中的低八位增加重定向的VLAN信息。
16.如权利要求1所述的方法,其特征在于,按照所述处理策略,对所述目标数据帧进行处理,具体包括:
若所述处理策略为丢弃,则将所述目标数据帧丢弃;
若所述处理策略为转发,则将所述目标数据帧发送给预先配置的指定端口;
若所述处理策略为重定向,则将所述目标数据帧发送给与重定向的VLAN信息对应的端口。
17.一种数据处理装置,其特征在于,包括:
接收模块,用于通过交换芯片,接收待处理的数据帧;
发送模块,用于将所述数据帧发送给部署有数据解析模型的数据处理单元,其中,所述数据解析模型是通过随机生成的数据帧以及各网络设备之间传输的数据帧训练得到的;
确定模块,用于通过所述数据解析模型,对所述数据帧进行解析,得到解析结果,并根据解析结果,确定出针对所述数据帧的处理策略;
封装模块,用于通过所述数据处理单元,将所述处理策略对应的标识信息,封装到所述数据帧中,得到目标数据帧,并将所述目标数据帧发送给所述交换芯片;
处理模块,用于通过所述交换芯片,对所述目标数据帧进行解析,得到所述处理策略,并按照所述处理策略,对所述目标数据帧进行处理。
18.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-16任一项所述的方法。
19.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-16任一项所述的方法。
CN202310178066.9A 2023-02-20 2023-02-20 一种数据处理方法、装置、存储介质及电子设备 Active CN115842792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310178066.9A CN115842792B (zh) 2023-02-20 2023-02-20 一种数据处理方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310178066.9A CN115842792B (zh) 2023-02-20 2023-02-20 一种数据处理方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN115842792A CN115842792A (zh) 2023-03-24
CN115842792B true CN115842792B (zh) 2023-05-12

Family

ID=85580273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310178066.9A Active CN115842792B (zh) 2023-02-20 2023-02-20 一种数据处理方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN115842792B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565026A (zh) * 2021-02-20 2021-03-26 支付宝(杭州)信息技术有限公司 测试帧的生成方法、装置及设备
CN113132270A (zh) * 2021-03-11 2021-07-16 南京邢天网络技术有限公司 基于虚拟交换机的多协议兼容的数据交互方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209141A (zh) * 2012-01-17 2013-07-17 中兴通讯股份有限公司 一种交换芯片处理数据报文的方法及交换芯片
CN105391567B (zh) * 2014-09-05 2019-05-24 华为技术有限公司 流量管理实现方法、装置和网络设备
CN109995678B (zh) * 2017-12-29 2022-06-10 迈普通信技术股份有限公司 报文传输方法及装置
CN108521378A (zh) * 2018-04-23 2018-09-11 天津芯海创科技有限公司 异构协议报文的转发方法、装置和网络交换设备
CN109525495B (zh) * 2018-12-24 2022-03-11 广东浪潮大数据研究有限公司 一种数据处理装置、方法和fpga板卡
CN110177080A (zh) * 2019-04-18 2019-08-27 中国人民解放军战略支援部队信息工程大学 拟态交换机、网络设备及系统
CN110933001B (zh) * 2019-11-18 2020-11-27 清华大学 一种可扩展的可重构交换机包解析器基本处理单元结构
CN112671713B (zh) * 2020-11-30 2023-01-20 山东电力工程咨询院有限公司 一种sdn网络数据转发方法、sdn交换机、控制器及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565026A (zh) * 2021-02-20 2021-03-26 支付宝(杭州)信息技术有限公司 测试帧的生成方法、装置及设备
CN113132270A (zh) * 2021-03-11 2021-07-16 南京邢天网络技术有限公司 基于虚拟交换机的多协议兼容的数据交互方法及装置

Also Published As

Publication number Publication date
CN115842792A (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
US6636521B1 (en) Flexible runtime configurable application program interface (API) that is command independent and reusable
CN108696452B (zh) 一种容器级网络流量采集、网络质量标识方法、装置、系统
CN112039796B (zh) 数据包传输方法和装置、存储介质和电子设备
CN109743259B (zh) 一种网络的流量调度方法及装置
CN111801911B (zh) 业务功能链拥塞跟踪
US10592316B2 (en) Message processing method, apparatus, and system
CN111147403B (zh) 报文的处理方法及装置、存储介质和电子装置
CN113765857A (zh) 报文转发方法、装置、设备及存储介质
CN114584582B (zh) 一种车内报文处理方法、装置、车载终端及存储介质
CN111294235A (zh) 数据处理方法、装置、网关及可读存储介质
US9807204B2 (en) Optimized message processing
CN114064206A (zh) 一种访问边缘节点的pod方法、系统、设备及存储介质
CN112804147A (zh) 报文传输方法、通信装置和系统
KR20120062174A (ko) 다양한 특성의 패킷을 동적으로 처리하는 패킷 처리장치 및 방법
CN110768903A (zh) 优化网络连接的方法、装置、终端及存储介质
CN105763463B (zh) 一种链路探测报文的传输方法和装置
CN115842792B (zh) 一种数据处理方法、装置、存储介质及电子设备
CN113949667A (zh) 分段网络中的报文处理方法及节点设备
CN113595966B (zh) 串口通信控制、配置、测试方法、装置、电子设备和存储介质
CN112688924A (zh) 网络协议分析系统
CN111315026B (zh) 信道的选择方法、装置、网关及计算机可读存储介质
CN110099011B (zh) 一种实体网关接入虚拟家庭网关的方法及系统
US9979802B2 (en) Assembling response packets
CN116800663A (zh) 数据传输方法、数据传输装置、电子设备及存储介质
CN110035436A (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
GR01 Patent grant
GR01 Patent grant