网络业务识别方法及装置与流程

文档序号:20999746发布日期:2020-06-05 22:33阅读:323来源:国知局
网络业务识别方法及装置与流程
本发明实施例涉及互联网领域,尤其涉及一种网络业务识别方法及装置。
背景技术
:随着互联网的快速发展,网络承载业务的应用类型越来越多,从而网络监管和业务识别工作也日益复杂。对于网络运营商来说,高效成熟的网络业务识别技术,有利于流量计费和资源优化等工作的顺利进行。早期的网络业务识别方法是基于端口的识别方法,通过检测通信网络中各个交互的ip协议的端口号来进行识别,但是在动态分配端口的情况下以及对于加密的数据包,则无法进行识别处理。当前应用最广泛的网络业务识别方法为基于深度/动态流检测(deep/dynamicflowinspection,简称dfi)技术的方法。dfi技术的出现,很好的解决了对加密网络数据包无法解析的问题。与基于深度报文检测(deeppacketinspection,简称dpi)技术原理不同,dfi采用的是一种基于数据流特征的应用检测技术,利用不同业务类型体现在数据流上的特征状态各不同,且数据流行为特征不会因为加密而改变来实现。与dpi相比,dfi不仅可以识别加密的数据包,并且不用对数据包进行拆包,从而处理识别的速度更快。现有的网络业务识别方法,需通过人工定义的全局特征值来实现,如通过数据流的总包数、上行平均包大小、下行平均包大小、总时延以及邻包间隔时延等统计特征来对业务数据流的类型进行标识,没有考虑到数据流中数据包与数据包之间的联系,从而提取的特征中缺少了数据流的整体特征和数据包之间的上下文信息,识别结果必然不够准确。技术实现要素:为了解决上述问题,本发明实施例提供一种网络业务识别方法及装置。第一方面,本发明提供一种网络业务识别方法,包括:将业务数据流的特征数据输入至训练后的长短期记忆网络(longshorttermmemorynetworks,简称lstm)模型,输出与所述业务数据流对应的业务类型标签,所述lstm网络模型为基于样本数据流的特征数据以及预先确定的样本数据流业务类型标签进行训练后得到;根据lstm网络模型输出的业务类型标签,获取所述业务数据流的网络业务类型。第二方面,本发明提供一种网络业务识别装置,包括:输入模块,用于将业务数据流的特征数据输入至训练后的长短期记忆网络模型,输出与所述业务数据流对应的业务类型标签,所述长短期记忆网络模型为基于样本数据流的特征数据以及预先确定的样本数据流的业务类型标签进行训练后得到;输出模块,用于根据lstm网络模型输出的业务类型标签,获取所述业务数据流的业务类型。第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本发明第一方面网络业务识别方法的步骤。第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明第一方面网络业务识别方法的步骤。本发明实施例提供的网络业务识别方法,通过将业务数据流的特征数据输入至训练后的lstm网络模型,获取业务数据流的网络业务类型。由于该lstm网络模型是基于样本数据流的特征数据以及预先确定的数据流类型标签进行训练后得到,lstm网络模型具有特征的长期记忆和短期记忆,能够充分考虑数据流中各个数据包在时间维度上和空间维度上的特征,从而使数据流业务类型的识别更准确。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的网络业务识别方法流程图;图2为本发明实施例提供的lstm网络模型结构示意图;图3为本发明实施例提供的网络业务识别装置结构图;图4为本发明实施例提供的一种电子设备的实体结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。网络业务识别中基于dpi技术的识别方法具有一定的应用范围,dpi工作原理是在应用层中进行载荷匹配,根据不同的业务类型的流量对应的特征去识别对应的业务类型。通过读取数据包的载荷内容并对数据包进行重组,将重组的特征信息与已存在的数据流类型库进行比对,随后对识别成功的载荷内容进行签名。dpi技术大大提升了网络业务识别的准确率和精度,但是它无法解析加密的网络数据包,如在https协议下产生的数据包,由于每次需拆包处理,从而识别速度也相对较慢。dfi技术的出现,很好的解决了无法解析加密网络数据包的问题。与dpi相比,dfi不仅可以解析加密的数据包,并且不用对数据包进行拆包,处理识别的速度也比dpi快。dfi是过人工定义的全局特征值来实现,如通过总包数、上行平均包大小、下行平均包大小、总时延以及邻包间隔时延等统计特征来对业务流进行标识,但是dfi技术没有考虑到数据流中数据包与数据包之间的联系,从而提取的特征中缺少了数据流的整体特征和数据包之间的上下文信息,识别结果必然不够准确。为解决这一问题,本发明实施例提供一种网络业务识别方法,该方法可应用于上述网络业务识别的场景。该方法对应的执行主体可以为具备相应功能的交换机、路由器、计算机终端或服务器等设备,也可以为独立设置的装置或模块,本发明实施例对此不作具体限定。为了便于说明,本发明实施例以执行主体为交换机为例,对本发明实施例提供的网络业务识别方法进行阐述。图1为本发明实施例提供的网络业务识别方法流程图,如图所示,本发明实施例提供一种网络业务识别方法,包括:101,将业务数据流的特征数据输入至训练后的lstm网络模型,输出与业务数据流对应的业务类型标签,lstm网络模型为基于样本数据流的特征数据以及预先确定的样本数据流的业务类型标签进行训练后得到。在101中,业务数据流是本方法的识别对象,是存在于互联网中的待识别业务类型的数据流。lstm,是一种特殊的循环神经网络(recurrentneuralnetwork,简称rnn),能够学习到输入对象之间的长期依赖关系。由于数据流是多个数据包按照时间的先后顺序在互联网上进行传输的,本方法中应用的ltsm网络模型可以实现数据流的特征的长期记忆和短期记忆,从而能够充分考虑数据流中各个数据包在时间维度上(多个数据包的上下文特征)和空间维度上(多个数据包的全局特征和单个数据包的个体特征)的特征。样本数据流是预先已经获知其业务类型并以对应业务类型作为标签的数据流,每一样本数据流都预先提取了数据流的特征。一个数据流的定义是:具有相同用户ip地址和相同服务器ip地址的包序列,构成同一个数据流。数据流的特征数据是能够反应数据流特性的参数,包括但不限于:每一数据包的收发时刻、每一数据包的大小、收发端的端口号、传输速率以及延时抖动等。对于已知业务类型的数据流,通过ltsm不断对其时间维度和空间维度特征数据的学习,从而能够对具有相应特征的数据流和对应的类型进行关联,进而准确判断出数据流的类型。区别于现有技术,通过定义全局特征并进行统计来实现业务类型的判断,本方法充分考虑到了数据包之间的关联特征。102,根据lstm网络模型输出的业务类型标签,获取业务数据流的网络业务类型。lstm网络模型的数据流输出结果为业务数据流的业务类型标签,样本数据流中业务类型和标签的关联关系是已知的,根据该标签可获得业务数据流的业务类型。业务类型可包括但不限于即时通信、视频业务及网页浏览等。本发明实施例提供的网络业务识别方法,通过将业务数据流的特征数据输入至训练后的lstm网络模型,获取业务数据流的业务类型。由于该lstm网络模型是基于样本数据流的特征数据以及预先确定的数据流类型标签进行训练后得到,lstm网络模型具有特征的长期记忆和短期记忆,能够充分考虑数据流中各个数据包在时间维度上和空间维度上的特征,从而使数据流业务类型的识别更准确。为了准确获取样本数据流的业务类型,基于上述实施例的内容,作为一种可选实施例,将数据流输入至训练后的lstm模型之前,还包括:基于dpi技术获取样本数据流的业务类型,并对业务类型设置对应的标签。dpi工作原理是在应用层中进行载荷匹配,根据不同的业务类型的流量对应的特征去识别对应的业务类型。收到数据流后,先读取数据包的载荷内容并对包进行重组,将其重组特征信息与已存在的应用类别库进行比对,随后对比对成功的载荷内容进行签名。dpi技术大大提升了网络业务识别的准确率和精度。样本数据流中的数据包在用于模型的训练之前,经dpi技术获取相应的业务类型,并将相应的业务类型作为样本数据流的标签。本发明实施例提供的网络业务识别方法,基于dpi技术获取样本数据流的业务类型,并对业务类型设置对应的标签,能够得到具有准确数据流类型标签的样本数据流。考虑到需要获取足够多的样本数据,并从中提取特征数据,以制作足够大的用于训练的样本集,从而满足lstm深度学习算法对海量训练样本的需求。基于上述实施例的内容,作为一种可选实施例,样本数据流的特征数据以及业务数据流的特征数据均为基于dfi技术提取后得到的。采用dfi技术来提取输入数据流的特征数据,包括样本数据流的特征数据和业务数据流的特征数据。dfi技术对数据包的特征提取处理速度快,由于无需对数据包进行拆包,从而还具有能够处理加密数据包的特点。对于样本数据流和业务数据流,均采用dfi技术,提取相应的特征。传统的基于dfi的业务识别方法未考虑到数据流的时间维度上的特征,作为本实施例的优选实施例,本方法中,数据流的特征包括每一数据包的时刻特征。本发明实施例不对数据流中每一数据包的时刻特征的提取方法作具体限定,包括但不限于:将一个数据流中的所有数据包按照时间先后顺序排序,令第一个数据包的时间t0为第一个数据包的时间特征,并将其它数据包与第一个数据包的时间差值作为对应的其它数据包的时间特征。能够看出,每一数据包的时刻为与第一个数据包的相对时刻,对于其它特征可根据需求设置,如可包括每一数据包的大小等。样本数据流提取的特征用于训练,业务数据流提取的特征输入训练完成的lstm网络模型获取相应的业务类型。本发明实施例提供的网络业务识别方法,基于dfi技术,对样本数据流和业务数据流提取特征数据,解决了现有方法无法获取足够多的样本数据,以制作足够大的用于训练的样本集,能够满足lstm网络模型对海量训练样本的需求,从而使识别的业务类型更准确。基于上述实施例的内容,作为一种可选实施例,样本数据流的业务类型标签为与样本数据流业务类型对应的独热码(one-hotcode),相应地,根据长短时记忆神经网络模型输出的业务类型标签,获取业务数据流的业务类型包括:根据长短时记忆神经网络模型输出的独热码与数据流业务类型的对应关系,获取业务数据流的业务类型。为了便于实现lstm网络模型的输出结果和数据流类型之间的对应关系。样本数据流类型标签包括与样本数据流对应的数据流类型(如及时通信、视频业务、网页浏览等)与数据流类型对应的独热码,即将业务类型与独热码唯一对应,通过lstm网络模型输出相应的独热码可获取数据流的类型。构造数据流业务类型与独热码对应表,以7位独热码为例,业务类型与独热码的对应关系如表1所示。根据独热码的规则,n种业务需要n位的独热码来标识。若有新的业务类型出现,则对已有的业务类型对应表进行更新。表1业务类型独热码即时通信0000001视频0000010网页浏览0000100…………根据lstm网络模型输出的独热码,从表中查找到独热码与数据流类型的对应关系,即可获取业务数据流的业务类型。基于上述实施例的内容,作为一种可选实施例,特征数据包括:每一数据包的时刻,用户端口号、服务器端口号、上下行流量标记以及每一数据包大小。将样本数据流每一数据包的时刻、用户端口、服务器端口、上下行流量标记、每一数据包尺寸大小等五个特征组成五维向量作为特征数据,用于对lstm网络模型的训练,业务数据的识别过程也采取相同的特征数据。将每一数据包的时刻、用户端口、服务器端口、上下行流量标记、每一数据包尺寸大小作为特征数据,能够在计算量无需太大的条件下,有较高的准确率。基于上述实施例的内容,作为一种可选实施例,样本数据流包括训练集数据流和验证集数据流,相应地,将业务数据流的特征数据输入至训练后的长短时记忆神经网络模型之前,还包括:将训练集数据流的特征数据输入至长短时记忆神经网络,基于前向传播算法计算每个神经元输出值,并根据输出值,基于反向传播算法和梯度下降算法,更新长短时记忆神经网络模型中的权重,重复执行上述计算每个神经元输出值并更新权重的过程直至执行总数达到预设次数,将验证集数据流的特征数据输入至lstm网络模型并获取识别的准确率,重复执行上述计算每个神经元输出值并更新权重直至执行总次数达到预设次数,以及获取准确率的过程直至获取的准确率大于或等于预设阈值p;结束计算每个神经元输出值并更新权重的过程。图2为本发明实施例提供的lstm网络模型结构示意图,如图2所示,lstm网络模型包括输入门it、输出门ot、遗忘门ft、隐藏状态ht和细胞状态ct。其中,遗忘门确定需要从细胞状态中忘记的信息,输入门确定细胞状态中需要更新的信息,输出门确定需要输出的信息;lstm网络模型中的计算过程通过如下公式表示:it=σ(wxixt+whiht-1+wcict-1+bi);ft=σ(wxfxt+whfht-1+wcfct-1+bf);ct=ftct-1+ittanh(wxcxt+whcht-1+bc);ot=σ(wxoxt+whoht-1+wcoct+bo);ht=ottanh(ct);其中,it、ft、ot分别为t时刻输入门、遗忘门和输出门的计算方法;ct为t时刻记忆细胞的计算方法;ht为t时间点lstm网络的所有输出;σ和tanh分别表示sigmoid和双曲正切激活函数;wxi、whi、wci分别表示输入特征向量、隐藏层单元、单元激活向量与输入门之间的权重系数矩阵;wxf、whf、wcf分别为输入特征向量、隐藏层单元、单元激活向量与遗忘门之间的权重系数矩阵;wxo、who、wco分别表示输入特征向量、隐藏层单元、单元激活向量与输出门之间的权重系数矩阵;bi、bf、bo和bc分别表示输入门、遗忘门、输出门和细胞状态的偏置项。将样本数据流划分为训练集数据流和验证集数据流,如从样本数据流中随机抽取80%作为lstm网络的训练集数据流,剩余的20%样本数据流作为验证集数据流。将训练集数据流的特征数据输入至lstm神经网络,采用前向传播算法计算每个神经元的五个输,即根据上述公司计算it、ot、ft、ht和ct的值。并根据输出值,采用反向传播算法和梯度下降算法,更新长短时记忆神经网络模型中的权重,即权重系数矩阵中的权重值。反向传播中通过梯度下降算法迭代更新模型中的权重,同时计算每个神经元输出的误差值。其中,lstm的误差项的反向传播包括两个方向:一个是沿时间反向传播,另一个是将误差项向上一层神经元传播。根据相应的误差项,计算每个权重的梯度以更新权重。由于lstm网络模型训练是一个迭代过程,需要对训练出的模型进行验证以确定终止条件。设定对模型总共训练m次,设置一个预设次数m(m<m,m、m均为大于0的自然数),和反应期望准确率的预设阈值p(0<p<1)。重复计算每个神经元输出值并更新权重的过程直至预设次数m后,将验证集数据流的特征数据输入至lstm网络模型并获取其识别的准确率,若准确率大于或等于预设阈值p,则结束上述对模型的训练过程。若准确率小于预设阈值p,则继续重复m次的训练过程直至m次训练后的准确率大于或等于预设阈值p。通过循环训练和验证找出识别准确率大于或等于p的训练次数,则终止对模型的训练。基于上述实施例的内容,作为一种可选实施例,结束上述对模型的训练过程之后,将业务数据流的特征数据输入至训练后的lstm网络模型之前,还包括:将已知数据流类型的加密数据流作为测试集对lstm网络模型进行测试。将不能进行dpi检测业务类型的加密数据流作为lstm网络模型的测试集,测试集数据流的特征提取与样本数据流保持一致。将测试集数据流输入训练完成的lstm网络模型,若测试集的识别准确率能够达到预设要求,如大于或等于预设阈值p,则证明训练后的模型能满足精度要求。若测试集的识别准确率不能达到预设要求,则采用新的样本数据流继续对模型进行训练。本发明实施例提供的网络业务识别方法,通过将已知数据流类型的加密数据流作为测试集对lstm网络模型进行测试,进一步确保lstm网络模型输出结果的准确性。图3为本发明实施例提供的网络业务识别装置结构图,如图3所示,该网络业务识别装置包括:输入模块301和输入模块302。其中,输入模块301用于将业务数据流的特征数据输入至训练后的lstm网络模型,输出与所述业务数据流对应的业务类型标签,lstm网络模型是基于样本数据流的特征数据以及预先确定的数据流的业务类型标签进行训练后得到;输入模块302,用于根据lstm网络模型输出的业务类型标签,获取业务数据流的业务类型。输入模块301将业务数据流的特征数据输入至训练后的lstm网络模型。由于lstm网络模型是经样本数据流训练获得的,样本数据流是预先已经获知其业务类型并以对应业务类型作为标签的数据流,每一样本数据流都预先提取了数据流的特征。对于已知业务类型的数据流,通过ltsm不断对其时间维度和空间维度特征数据的学习,从而能够对具有相应特征的数据流和对应的类型进行关联,进而准确判断出数据流的类型。区别于现有技术,通过定义全局特征并进行统计来实现业务类型的判断,输入模块301中对业务数据流的特征数据在lstm网络模型中的处理,分考虑到了数据包之间的关联特征。输入模块302根据lstm网络模型的数据流输出结果,得到业务数据流的业务类型标签,样本数据流中业务类型和标签的关联关系是已知的,输入模块302根据该标签可获得业务数据流的业务类型。业务类型可包括但不限于即时通信、视频业务及网页浏览等。本发明实施例提供的网络业务识别装置,通过输入模块将业务数据流的特征数据输入至训练后的lstm网络模型,通过输出模块获取业务数据流的业务类型。由于该lstm网络模型是基于样本数据流的特征数据以及预先确定的数据流类型标签进行训练后得到,lstm网络模型具有特征的长期记忆和短期记忆,能够充分考虑数据流中各个数据包在时间维度上和空间维度上的特征,从而使数据流业务类型的识别更准确。本发明实施例提供的装置实施例是为了实现上述各方法实施例的,具体流程和详细内容请参照上述方法实施例,此处不再赘述。图4为本发明实施例提供的一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(communicationsinterface)402、存储器(memory)403和总线404,其中,处理器401,通信接口402,存储器403通过总线404完成相互间的通信。通信接口402可以用于电子设备的信息传输。处理器401可以调用存储器403中的逻辑指令,以执行包括如下的方法:将业务数据流的特征数据输入至训练后的lstm网络模型,输出与所述业务数据流对应的业务类型标签,lstm网络模型是基于样本数据流的特征数据以及预先确定的数据流的业务类型标签进行训练后得到;根据lstm网络模型输出的业务类型标签,获取业务数据流的业务类型。此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明上述各方法实施例的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述实施例所提供的网络业务识别方法,例如包括:将业务数据流的特征数据输入至训练后的lstm网络模型,输出与所述业务数据流对应的业务类型标签,lstm网络模型是基于样本数据流的特征数据以及预先确定的数据流类型标签进行训练后得到;根据lstm网络模型输出的业务类型标签,获取业务数据流的业务类型。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1