网络数据流类型检测方法及装置的制造方法

文档序号:10473568阅读:587来源:国知局
网络数据流类型检测方法及装置的制造方法
【专利摘要】本发明实施例提供,一种数据流类型检测方法,其包括:获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量;比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度;根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度;以及比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。本发明通过检测数据流的第一个数据包的报头即可实现数据流的类型的检测,能够实时判断网络数据流的类型并且能够提高判断的精度。
【专利说明】
网络数据流类型检测方法及装置
技术领域
[0001] 本发明实施例涉及网络数据路由领域,并且更具体地,涉及网络数据流类型检测 方法及装置及其应用的网络数据路由方法及装置。
【背景技术】
[0002] 最近研究表明,数据中必网络中,大概90%的数据流属于突发的,持续时间短, 流长度很小的小数据流(small data flow),也称老鼠流(mice flow);而只有10%的数 据流属于持续时间长,流长度巨大的大数据流(large data flow),也称大象流(ele地ant flow)。大象流虽然其数量只占整个网络数据流数目的10 %,然而大象流的流量(比如数 据包数目,或者是数据流字节总数)却占了整个数据中必网络总流量的的90%。由于现 有路由算法(比如Equal Cost Muti-Path, ECM巧多数利用网络的局部信息,对数据流进 行路由转发。因而送些大象流的路径很有可能出现重叠现象,即是不同的大象流使用同 一网络链路。由于网络链路带宽有限,当多个大象流使用同一链路时,就会出现网络拥塞 (congestion)的情况。相反地,一些链路却处于低利用率甚至是闲置状态。网络拥塞的出 现,严重降低了送个网络的运行性能,特别是对于一些对延迟十分敏感的数据流,比如语音 通信等。
[0003] 解决上述问题的有效方法结合网络的全局状态,为每一个数据流选取最佳路由, 将数据流平均分布到整个网络中,避免网络拥塞,实现网络负载平衡。然而,数据中必的数 据流数目巨大,对每一个待转发的数据流进行路由优化,计算复杂度巨大,其可实行性低。 而我们知道,整个网络有90%的流量来源于大象流并且大象流的数目只占整个网络数据流 总数的10%。如果我们能够为大象流选取最佳路由,就已经可W很好地优化整个数据中必 网络的性能。而针对大象流进行动态路由规划,为其选取最佳路径,要求我们能够将大象 流和老鼠流区分开来。目前存在一些技术手段,可用于区分大象流和老鼠流。比如,周期性 的轮询(periodic polling),送是一种简单直接的辨识大象流的方案。其原理是对有待辨 识的流进行统计,比如当该流的流量超过一定阔值,或者当该流的持续时间超过一定阔值 时,我们就认为该数据流为大象流。然而,由于网络中数据流的数量巨大,如果对每一个数 据流都进行流量统计,其时间和空间开销都是十分巨大的,即判定结果有一定的滞后性,并 且需要很大的缓存空间。此外,在一种改进方案中则根据一些先验知识,对数据流进行初步 筛选,对符合筛选条件的数据流进行流量统计。一般是通过设置流表进行初步筛选,流表一 般包括端口数,或者是IP地址,传输协议。如果一个流的信息与流表的其中某一项匹配,或 者是与流表的所有项目匹配,则该数据流被转发到流量统计模块进行流量统计,若该流的 流量超过一定阔值,送认为是大象流,路由模块则为其选取最佳路径。然而送种方法需要预 先设定阔值,判定结果无法适应动态的网络变化而导致判断结果不精确。

【发明内容】

[0004] 本发明实施例提供一种网络数据流类型检测方法及装置,能够实时判断网络数据 流的类型并且能够提高判断的精度。
[0005] 第一方面,本发明实施例提供,一种数据流类型检测方法,所述方法,包括:
[0006] 获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的 模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述 当前数据流的,源IP地址(Source IP A(Mress),服务器端口(Server化;Tt),目的地IP地 址值estination IP A(Mress),客户端口(Client化的),所述当前数据流发送时间,W及 所述当前数据所使用的传输协议(Protocol)的信息组合;
[0007] 比较所述当前数据流的模式向量中的所述至少一个特征维度W及至少一个历史 数据流的模式向量中对应的特征维度,W获取所述当前数据流的至少一个模式相似度,所 述当前数据流的至少一个模式相似度与所述至少一个历史数据的模式向量一一对应,所述 历史数据流的模式向量预存在数据库中;
[0008] 根据所述当前数据流的至少一个模式相似度W及对应的至少一个历史数据流的 长度预测当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述 至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应;W及
[0009] 比较预测的所述当前数据流长度及预设的阔值,并根据比较结果判断所述当前数 据流为大数据流或者小数据流。
[0010] 结合第一方面,在第一方面的第一种可能的实现方式中,所述比较所述当前数据 流的模式向量中的所述至少一个特征维度W及至少一个历史数据流模式向量中对应的特 征维度,W获取所述当前数据流的至少一个模式相似度,包括:
[0011] 估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历 史数据流的模式向量中对应的特征维度之间的距离度量;
[0012] 根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度 所对应的特征维度相似度;
[0013] 根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,所述至 少一个模式相似度与所述至少一个历史数据流一一对应。
[0014] 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,所述估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史 数据流的模式向量中对应的特征维度之间的距离度量,包括:
[0015] 分别估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一 个历史数据流的模式向量中对应的特征维度之间的,IP地址的距离度量,端口的距离度量, 发送时间的距离度量,W及传输协议的距离度量;其中,所述IP的地址的距离度量通过所 述当前数据流的模式向量中的所述源IP地址与所述历史数据流的模式向量中的源IP地址 估算,或者,通过所述当前数据流的模式向量中的所述目的地IP地址与所述历史数据流的 模式向量中的目的地IP地址估算,或者,通过所述当前数据流的模式向量中的所述源IP地 址和所述目的地IP地址与所述历史数据流的模式向量中的源IP地址和目的地IP地址估 算;所述端口的距离度量通过所述当前数据流的模式向量中的所述服务器端口与所述历史 数据流的模式向量中的服务器端口估算,或者通过所述当前数据流的模式向量中的所述客 户端口与所述历史数据流的模式向量中的客户端口估算,或者通过所述当前数据流的模式 向量中的所述服务器端口及所述客户端口与所述历史数据流的模式向量中服务器端口的 客户端口估算;所述发送时间的距离度量通过所述当前数据流的模式向量中的所述当前数 据流发送时间与所述历史数据流的模式向量中的历史数据流发送时间估算;所述传输协议 的距离度量通过所述当前数据流的模式向量中的所述当前数据所使用的传输协议与所述 历史数据流的模式向量中的历史数据所使用的传输协议估算;
[0016] 对应地,所述根据所述距离度量,估算所述当前数据流的模式向量中的所述至少 一个特征维度所对应的特征维度相似度包括:
[0017] 根据,所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量 及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维 度相对应的IP地址相似度,端口相似度,发送时间相似度W及传输协议相似度。
[0018] 结合第一方面的第二种可能的实现方式,在第一方面的第H种可能的实现方式 中,
[0019] 所述IP地址的距离度量通过如下公式获取:
[0020]
[002。 其中,Xi,。为所述当前数据流的源IP地址或者目的地IP地址,X 2,。为所述历 史数据流的源IP地址或者目的地IP地址,dipX2,ip)为所述IP地址的距离度量, LPL (Xi, 1P,X2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源 IP地址或者目的IP地址之间最长前缀匹配长度;
[0022] 所述端口的距离度量通过如下公式获取:
[0023]
[0024] 其中,Xi,PMt为所述当前数据流的服务器端口或客户端口,X2,PMt为所述历史数据 流的服务器端口或客户端口,CU (Xi,p"t,X2,PDft)为所述端口的距离度量,所述6 PMt(X)通过 如下公式获取:
[00 巧]
[0026] 其中,5p"t(x)为所述服务器端口或者客户端口所属范围类型赋值,X为所述服务 器端口或者客户端口数值,
[0027] 所述发送时间的距离度量通过如下公式获取:
[002引 dt(Xi,t,X2,t) =
[002引其中,Xi,康示当前数据流的发送时间,X2,康示历史数据流的发送时间, dt(Xi,t,X2,t)表示所述发送时间的距离度量;
[0030] 所述传输协议的距离度量通过如下公式获取:
[00引]dpr化 1 (Xl'pr化 1, X2, prhi)-义1, 口,化i_Xi, 口,化i 2
[0032] 其中,Xi,Pftd为当前数据流所使用的传输协议,X 2,PfW历史数据流所使用的协议, cUl (Xl,prw,X2,prtJ为所述传输协议的距离度量。结合第一方面的第二种或第S种可能的 实现方式,在第一方面的第四种可能的实现方式中所述根据所述IP地址的距离度量、所述 端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前 数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送 时间相似度W及传输协议相似度,具体包括:
[0033] 遵循特征维度的距离度量越小则特征维度相似度越高的规则,根据所述IP地址 的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别 估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度, 端口相似度,发送时间相似度W及传输协议相似度。
[0034] 结合第一方面的第二种至第四种可能的实现方式中的任意一种实施方式,在第一 方面的第五种可能的实现方式中所述根据所述IP地址的距离度量、所述端口的距离度量、 所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量 中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度W及传 输协议相似度,包括:
[0035] 通过如下公式获取所述IP地址相似度,端口相似度,发送时间相似度W及传输协 议相似度;
[0036]

[0037] 其中,kf(Xi,f,如,0 f)为所述特征维度相似度,Xiif为所述当前数据流的模式向量 中的所述至少一个特征维度中一个特征维度,X2,f为所述历史数据流的模式向量中与所述 当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,0 f 为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述 相似度函数护^?心^^^=^^了该维度特征在数据流长度预测 中所占权重, i中,F为所述当前数据流的模式 向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
[0038] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第六种可 能的实现方式中所述根据所述特征维度相似度来获取所述当前数据流的至少一个模式相 似度,包括:
[0039] 根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当 前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维 度相似度作为所述当前数据流的所述至少一个模式相似度;或,
[0040] 根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当 前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所 述当前数据流的所述至少一个模式相似度。
[0041] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第走种可 能的实现方式中所述根据所述当前数据流的模式向量中的至少一个特征维度所对应的权 重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组 合后作为所述当前数据流的所述至少一个模式相似度,包括,
[0042] 通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所 对应的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:
[0043]
[0044] K(Xi,X2, 0m)为所述当前数据流的所述至少一个模式相似度,Xi为所述 当前数据流,X2为所述历史数据流,0 m为决定相似度幅度的参数,且,0 mE 0,
?为经训练得到的代表网络中的所述历史数据流的 传输行为模式的向量,kf(Xij,X2,f,0f)为所述特征维度相似度,Xiif为所述当前数据流的模 式向量中的所述至少一个特征维度中一个特征维度,X2,f为所述历史数据流的模式向量中 与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维 度,e f为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似 度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占 权重,
其中,F为所述当前数据流的模式向量中 的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
[0045] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第走种可 能的实现方式中所述根据所述当前数据流的至少一个模式相似度W及对应的至少一个历 史数据流的长度预测当前数据流长度,包括:
[0046] 根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应 的所述至少一个历史数据流的长度加权组合W预测所述当前数据流的长度,其中,所述历 史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述 至少一个模式相似度决定。
[0047] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第八种可 能的实现方式中所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式 相似度对应的所述至少一个历史数据流的长度加权组合W预测当前数据流的长度,包括, 通过如下的公式来预测马前数据流的长度:
[0048]
[0049] 其中,义为所预测当前数据流的长度,Wi为权重因子,其大小取决于当前数据流的 至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的 模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似 度,为所述至少一个历史数据流中的所述第i个历史数据流的长度。
[0050] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第九种可 能的实现方式中所述的加权因子Wi通过如下公式来获取,
[0051] Wi= g〇((x *,Xi, ?))
[005引其中,g为预测模型,K(x,,Xi,0)为所述第i个模式相似度,?为经训练得到的代 表网络中的所述历史数据流的传输行为模式的向量,
^为所述当前数据流的模式向量,X 1为所述至少一个历史数据流中的第i个历史数据流的 模式向量。
[0053] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十种可 能的实现方式中所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更新。
[0054] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十一种 可能的实现方式中所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模 式相似度对应的所述至少一个历史数据流的长度加权组合W预测当前数据流的长度,包 括,通过如下的公式夹预测当前数据流的长度:
[00 巧]
[0056] 其中,^为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历 史数据流子集的模式向量,该子集包含m个历史数据流;K(XwXm)表示所述当前数据流与所 历史数据流子集的模式相似度,Km。,IU,K?为所述历史数据流的模式相似度矩阵K中的子 模块
所述历史数据流的 模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据 流与第j个历史数据流的模式相似度,y为历史数据流的流长度,而2表示为模型噪声方差。
[0057] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一 方面的第十二种可能的实现方式中,所述用于当前数据流长度预测的公式 辰据新获取到的历史数据流的模式向量及长度实 时更新为:

[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十H种 可能的实现方式中,所述阔值根据新获得的历史数据流实时更新。
[0066] 结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十四种 可能的实现方式中,所述阔值根据新获得的历史数据流实时更新通过如下步骤实现,
[0067] 基于历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得 到所述预设的阔值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相 对应的所述至少一个历史数据流;
[0068] 根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设 的阔值。
[0069] 第二方面,本发明实施例提供一种数据流类型检测装置,其包括:
[0070] 信息获取模块,用于获取当前数据流的第一个数据包的报头,并从所述报头中获 取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征 维度选自于包括所述当前数据流的,源IP地址(Source IP A(Mress),服务器端口(Server 化的),目的地IP地址值estination IP A(Mress),客户端口(Client化的),所述当前数 据流发送时间,W及所述当前数据所使用的传输协议(Protocol)的信息组合;
[0071] 模式相似度计算模块,用于比较所述当前数据流的模式向量中的所述至少一个特 征维度W及至少一个历史数据流的模式向量中对应的特征维度,W获取所述当前数据流的 至少一个模式相似度,所述当前数据流的至少一个模式相似度与所述至少一个历史数据的 模式向量一一对应,所述历史数据流的模式向量预存在数据库中;
[0072] 数据流长度预测模块,根据所述当前数据流的至少一个模式相似度W及对应的至 少一个历史数据流的长度预测当前数据流长度,所述至少一个历史数据流的长度预存在所 述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一 对应;W及
[0073] 数据流类型检测模块,用于比较预测的所述当前数据流长度及预设的阔值,并根 据比较结果判断所述当前数据流为大数据流或者小数据流。
[0074] 结合第二方面,在第二方面的第一种可能的实现方式中,所述模式相似度计算模 块包括:
[0075] 距离度量单元,用于估算所述当前数据流的模式向量中的所述至少一个特征维度 与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
[0076] 特征维度相似度估算单元,用于根据所述距离度量,估算所述当前数据流的模式 向量中的所述至少一个特征维度所对应的特征维度相似度;
[0077] 模式相似度获取单元,用于根据所述特征维度相似度来获取所述当前数据流的至 少一个模式相似度,所述至少一个模式相似度与所述至少一个历史数据流一一对应。
[0078] 结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式 中,所述距离估算单元具体用于;分别估算所述当前数据流的模式向量中的所述至少一个 特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的,IP地址的距离 度量,端口的距离度量,发送时间的距离度量,W及传输协议的距离度量;其中,所述IP的 地址的距离度量通过所述当前数据流的模式向量中的所述源IP地址与所述历史数据流的 模式向量中的源IP地址估算,或者,通过所述当前数据流的模式向量中的所述目的地IP地 址与所述历史数据流的模式向量中的目的地IP地址估算,或者,通过所述当前数据流的模 式向量中的所述源IP地址和所述目的地IP地址与所述历史数据流的模式向量中的源IP 地址和目的地IP地址估算;所述端口的距离度量通过所述当前数据流的模式向量中的所 述服务器端口与所述历史数据流的模式向量中的服务器端口估算,或者通过所述当前数据 流的模式向量中的所述客户端口与所述历史数据流的模式向量中的客户端口估算,或者通 过所述当前数据流的模式向量中的所述服务器端口及所述客户端口与所述历史数据流的 模式向量中服务器端口的客户端口估算;所述发送时间的距离度量通过所述当前数据流的 模式向量中的所述当前数据流发送时间与所述历史数据流的模式向量中的历史数据流发 送时间估算;所述传输协议的距离度量通过所述当前数据流的模式向量中的所述当前数据 所使用的传输协议与所述历史数据流的模式向量中的历史数据所使用的传输协议估算;
[0079] 对应地,所述特征维度相似度估算单元具体用于,根据,所述IP地址的距离度量、 所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述 当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度, 发送时间相似度W及传输协议相似度。
[0080] 结合第二方面的第二种可能的实现方式,在第二方面的第H种可能的实现方式 中,所述IP地址的距离度量通过如下公式获取:
[0081]
[008引其中,Xi,。为所述当前数据流的源IP地址或者目的地IP地址,X 2,。为所述历 史数据流的源IP地址或者目的地IP地址,dipX2,ip)为所述IP地址的距离度量, LPL (Xi, 1P,X2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源 IP地址或者目的IP地址之间最长前缀匹配长度;
[0083] 所述端口的距离度量通过如下公式获取:

[00财其中,Xi,PMt为所述当前数据流的服务器端口或客户端口,X2,PMt为所述历史数据 流的服务器端口或客户端口,CU (Xi,p"t,X2,PDft)为所述端口的距离度量,所述6 PMt(X)通过 如下公式巧取?
[0086]
[0087] 其中,6p"t(x)为所述服务器端口或者客户端口所属范围类型赋值,X为所述服务 器端口或者客户端口数值,
[0088] 所述发送时间的距离度量通过如下公式获取:
[008引 dt(Xi,t,X2,t) =
[0090] 其中,Xi,康示当前数据流的发送时间,X 2,康示历史数据流的发送时间, dt(Xi,t,X2,t)表示所述发送时间的距离度量;
[0091] 所述传输协议的距离度量通过如下公式获取:
[0092] dpr化 1 (Xi'pr化 1, X2, prhi)-义1, 口,化i_Xi, 口,化i 2
[0093] 其中,Xi,PfW为当前数据流所使用的传输协议,X 2,PfW历史数据流所使用的协议, cUl (Xl,prtcl,X2,prtci)为所述传输协议的距离度量。
[0094] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第四种可 能的实现方式中,所述特征维度相似度估算单元,具体用于,遵循特征维度的距离度量越小 则特征维度相似度越高的规则,根据所述IP地址的距离度量、所述端口的距离度量、所述 发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的 所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度W及传输协 议相似度。
[0095] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第五种可 能的实现方式中,所所述特征维度相似度估算单元,具体用于:
[0096] 通过如下公式获取所述IP地址相似度,端口相似度,发送时间相似度W及传输协 议相似度;
[0097]

[009引其中,kf (Xi,f,X2,f,0f)为所述特征维度相似度,Xiif为所述当前数据流的模式向量 中的所述至少一个特征维度中一个特征维度,X2,f为所述历史数据流的模式向量中与所述 当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,0 f 为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述 相似度函数^由^'阳^ ^^县+廚+ ^下^隐日片^击I*同W?化由:了该维度特征在数据流长度预测 中所占权重 其中,F为所述当前数据流的模式 向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
[0099] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第六种可 能的实现方式中,所述模式相似度获取单元,具体用于:
[0100] 根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当 前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维 度相似度作为所述当前数据流的所述至少一个模式相似度;或,
[0101] 根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当 前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所 述当前数据流的所述至少一个模式相似度。
[0102] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第走种可 能的实现方式中,所述模式相似度获取单元,通过如下公式来加权组合所述当前数据流的 模式向量中的至少一个特征维度所对应的特征维度相似度来获取所述当前数据流的所述 至少一个模式相似度:
[0103]
[0104] K(Xi,X2, 0m)为所述当前数据流的所述至少一个模式相似度,Xi为所述 当前数据流,X2为所述历史数据流,0 m为决定相似度幅度的参数,且,0 mE 0,
为经训练得到的代表网络中的所述历史数据流的
传输行为模式的向量,kf (Xi,f,^f,0f)为所述特征维度相似度,Xiif为所述当前数据流的模 式向量中的所述至少一个特征维度中一个特征维度,X2,f为所述历史数据流的模式向量中 与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维 度,e f为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似 度函|^ '心^ S 了该维度特征在数据流长度预测中所占 权重, 其中,F为所述当前数据流的模式向量中 的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
[0105] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第八种可 能的实现方式中,数据流长度预测模块,具体用于:
[0106] 根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应 的所述至少一个历史数据流的长度加权组合W预测所述当前数据流的长度,其中,所述历 史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述 至少一个模式相似度决定。
[0107] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第九种可 能的实现方式中,所述数据流长度预测模块,具体用于,
[010引通巧化下的公式来预测当前数据流的长度:
[0109]
[0110] 其中,1为所预测当前数据流的长度,Wi为权重因子,其大小取决于当前数据流 的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流 的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相 似度,为所述至少一个历史数据流中的所述第i个历史数据流的长度。
[0111] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十种可 能的实现方式中,所述的加权因子Wi通过如下公式来获取,
[011引 Wi=邑化(X *,Xi, ?))
[011引其中,g为预测模型,K(x,,Xi,0)为所述第i个模式相似度,?为经训练得到的代 表网络中的所述历史数据流的传输行为模式的向量, I: ^为所述当前数据流的模式向量,X 1为所述至少一个历史数据流中的第i个历史数据流的 模式向量。
[0114] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十一种 可能的实现方式中,所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更 新。
[0115] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十二种 可能的实现方式中,所述数据流长度预测模块具体用于,
[0116] 通过如下的公式来预测当前数据流的长度:
[0117]
[0118] 其中,X,为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历 史数据流子集的模式向量,该子集包含m个历史数据流;KUw Xm)表示所述当前数据流与所 历史数据流子集的模式相似度,Km。,IU,K?为所述历史数据流子集的模式相似度矩阵K中 的子模块,
斤述历史数据 流子集的模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个 历史数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,表示为模型 噪声方差。
[0119] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二 方面的第十H种可能的实现方式中,所述用于当前数据流长度预测的公式
根据新获取到的历史数据流的模式向量及长度实 时更新为:
[0120]
[0121]
[0122]
[0123]
[0124]
[0125]
[0126]
[0127] 结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十四种 可能的实现方式中,所述数据流类型检测模块,还用于根据新获得的历史数据流实时更新 所述阔值。
[012引结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十五种 可能的实现方式中,所述数据流类型检测模块具体用于,基于历史数据流的数据流长度样 本建立累积分布函数,根据所述累积分布函数得到所述预设的阔值,其中所述历史数据流 包括与所述当前数据流的至少一个模式相似度相对应的所述至少一个历史数据流;
[0129] 根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设 的阔值。
[0130] 本发明中通过对数据流第一个数据包的报头进行特征提取,然后计算当前数据流 与数据库中的历史数据流之间的模式相似度,根据模式相似度与历史数据流的长度,预测 新数据流的长度。通过比较预测长度和阔值,确定新数据流是否为大数据流。和现有技术 相比不需要对数据流直接进行流量统计,不仅能够实现实时判断数据的类型,同时能够实 现提高判断的精度,从而能够在接收到第一个数据包时后便能够获得数据流大小的估计, 从而为实现实时地路径规划提供可靠的依据。
【附图说明】
[0131] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使 用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据送些附图获得其他 的附图。
[0132] 图1是部署本发明实施例提供的网络数据流的类型判断方法的数据传输网络架 构图;
[0133] 图2是本发明实施例提供的网络数据流类型检测方法的示意性流程图;
[0134] 图3是本发明实施例提供的网络数据流类型检测方法中获取模式形似度的方法 的示意性流程图;
[0135] 图4是本发明实施例提供的网络数据流类型检测方法中用于估算特征维度相似 度的函数曲线图;
[0136] 图5是本发明实施例提供的网络数据流类型检测方法中数据流长度预测的逻辑 过程的示意性流程图;
[0137] 图6是本发明实施例提供的网络数据流类型检测方法中数据流长度预测的阔值 的更新方法的示意性流程图;
[013引图7是本发明实施例提供的数据流类型检测装置的结构框图;
[0139] 图8是本发明实施例提供的数据流类型检测方法及装置的测试结果示意图。
【具体实施方式】
[0140] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明 中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施 例,都应属于本发明保护的范围。
[0141] 本发明所提供的网络数据流的类型的判断方法可W在如图1所述的数据传输网 络100中部署和实施。所述数据传输网络100包括有中央控制服务器110,源服务器120, 网络交换机130,传输网络140,客户端设备150,预测服务器160,及训练服务器170。
[0142] 所述中央控制服务器110为所述传输网络100的核必处理设备,其分别与网络交 换机130,传输网络140,客户端设备150,预测服务器160及训练服务器170相互连接,用于 与网络交换机130,传输网络140,训练服务器170及预测服务器160进行信息交流,指令传 递及网络数据传输。同时,源服务器120,网络交换机130,传输网络140,客户端设备150, 训练服务器170及预测服务器160之间可W根据不同的业务需求及功能需求相互连接,进 行信息及指令的交互。W下,将详细介绍各个设备的功能及组成。
[0143] 中央控制服务器110主要由处理器、存储器及数据接口等主要部件组成,处理器 主要通过调用存储在存储设备中的处理程序W完成相应处理功能,而数据接口则主要负 责中央服务器110内部的各个器件之间W及中央处理服务器110与外部组件之间的数据 收发。所述的处理器,可W是通用处理器、数字信号处理器值igital Si即al Processor, DSP)、专用集成电路(Application Specific Integrated Cir州it, ASIC)、现成可编程口 阵列(Field Programm油Ie Gate Array, FPGA)或者其他可编程逻辑器件、分立口或者晶 体管逻辑器件、分立硬件组件。可W实现或者执行本发明W下实施例中的公开的各方法、 步骤及逻辑框图。通用处理器可W是微处理器或者该处理器也可W是任何常规的处理器 等。结合本发明实施例所公开的方法中的步骤可W直接体现为硬件译码处理器执行完成, 或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可W位于随机存取存储器 (Random Access Memoir,RAM)、闪存、只读存储器巧ead-Only Memoir,ROM)、可编程只读存 储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
[0144] 所述中央控制服务器110通过数据接口接受网络交换机130上报的路由请求,该 路由请求中包括了将要路由的当前数据流信息,并将所述路由请求中的当前数据流信息通 过数据接口发送至预测服务器160。预测服务器160根据当前数据流的信息,将当前数据 流的长度预测信息发送给中央控制服务器110,中央控制服务器110的中央处理器将调用 存储器中预存的处理程序,根据预测服务器160返回的当前数据流的长度预测信息确定当 前数据流的类型,并计算与当前数据流的类型匹配的最优的传输路径,随后,中央控制服务 器110将根据所述最优的传输路配置针对当前数据流的路由,并将配置好的路由发送给网 络交换机130。此外,所述中央控制服务器110还用于通过其数据接口收集由所述网络交换 机130上报的已经完成路由的历史数据流信息,并将所述历史数据流信息发送至所述的训 练服务器170。
[0145] 源服务器120主要由处理器、存储器及数据接口等主要部件组成,处理器主要用 于通过数据接口将存储在存储器内的数据经过网络交换机130及传输网络140发送给客户 端设备150。
[0146] 网络交换机130,其主要任务是对新进入网络的数据流,即当前数据流,提取数据 流第一个数据包的报头,并上报给中央控制服务器110,等待并根据中央控制服务器110计 算和配置的路由对当前数据流的数据包进行转发。同时,网络交换机130还将收集已完成 路由的历史数据流信息的收集,并上报给中央控制服务器110。其中,所述历史数据流信息 包括历史数据流的模式向量W及对应的数据长度。
[0147] 传输网络140,其由传输线缆和多个网络节点构成,主要用于根据网络交换机130 的指令进行数据传输。
[0148] 客户端设备150,由处理器、存储器及数据接口等主要部件组成,处理器主要用于 将客户的数据请求通过数据接口及网络交换机130发送至源服务器120,并将源服务器120 通过网络交换机130及传输网络140发送的数据内容存储在存储器中。
[0149] 预测服务器160,可W是独立的处理设备,例如由独立的处理器,存储器,数据接口 组成,所述处理器主要用于调用存储在所述存储器中的处理程序对通过数据接口接收到的 当前数据流的信息进行处理,W对当前数据流的长度进行预测,并经长度预测信息通过数 据接口发送至中央控制服务器110。其中,所述当前数据流的信息来自于中央控制服务器 110。此外,预测服务器160,也可W是依附于中央控制服务器110的一个工作单元,即与中 央控制服务器110共用相同存储器,数据接口,但采用不同的处理器,此时,预测服务器160 与所述中央控制服务器110之间的数据传输主要通过中央控制服务器110内部的数据总线 完成。此外,所述预测服务器160也可W和中央控制服务器110共用相同的处理器,所述 共用的方式可W是通过利用处理器中不同的处理资源进行同步(并行处理)或者异步(分 时处理)数据处理,或者是利用处理器中相同的处理资源进行异步(分时处理)处理。此 夕F,所述预测服务器160也可W通过虚拟机来实现,即由中央控制服务器110利用自身的处 理器,存储器,数据接口,通过调用存储在存储器中的程序模拟出具有完整的硬件系统功能 的、运行在一个完全隔离环境中的完整计算机系统,该计算机系统可W独立完成所有预测 服务器160所需完成的工作而不影响中央控制服务器110自身的运行。可W理解,所述预 测服务器160可W进一步简化为存储在中央控制服务器110的存储器中的一个软件程序, 该软件程序由中央控制服务器110在适合的时机调用,W实现上述的数据长度预测功能。
[0150] 训练服务器170,可W是独立的处理设备,由处理器、存储器及数据接口等主要部 件组成,所述处理器主要用于调用存储与所述存储器中的训练程序对历史数据流信息进行 处理W得到优化的数据长度预测参数,并将所述优化后的数据长度预测参数发送给预测服 务器160,预测服务器160将根据优化的数据长度预测参数来进行数据长度的预测,此外, 该训练服务器170还根据新获得的历史数据信息来更新数据长度预测参数从而保证预测 服务器160能够根据网络数据流的变化情况,实时的调整预测的结果。与预测服务器160 相同,所述训练服务器170也可W是依附于中央控制服务器110的一个工作单元,即与中央 控制服务器110共用相同存储器,数据接口,但采用不同的处理器,此时,训练服务器170与 中央控制服务器110之间的数据传输主要通过中央控制服务器110内部的数据总线完成。 此外,训练服务器170也可W和中央控制服务器110共用相同的处理器,所述共用的方式 可W是通过利用处理器的不同的处理资源进行同步(并行处理)或者异步(分时处理)的 数据处理,或者是利用处理器中相同的处理资源进行异步(分时处理)数据处理。此外,训 练服务器170也可W通过虚拟机来实现,即由中央控制服务器110利用自身的处理器,存储 器,数据接口,通过调用存储在所述存储器中的程序模拟出具有完整的硬件系统功能的、运 行在一个完全隔离环境中的完整计算机系统,该计算机系统可W独立完成所有训练服务器 170所需完成的工作。可W理解,训练服务器170可W进一步简化为存储在中央控制服务 器110的存储器中的一个软件程序,该软件程序由所述中央控制服务器110在适合的时机 调用,W实现上述的数据长度预测参数的优化及实时更新。
[0151] W上为实现本发明网络数据流类型检测的硬件环境,但需要注意的是,上述硬件 环境并不是执行本发明的唯一方式,其可W根据硬件资源,W及业务需求,即数据传输需求 动态的调整,例如将央控制服务器110,网络交换机130,预测服务器160及训练服务器170 集中在一个数据控制中必,W提高处理效率。
[0152] 目P,本发明的方法可W基于上述的应用环境来进行部署及实施。W下将结合附图 来介绍本发明网络数据流类型检测方法。
[0153] 图2是根据本发明实施例提供的网络数据流类型检测方法的示意性流程图。
[0154] S201,获取网络当前数据流的第一个数据包的报头,并从所述报头中获取所述当 前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自 于包括所述当前数据流的源IP地址(Source IP A(Mress),服务器端口(Server化;Tt),目 的地IP地址值estination IP A(Mress),客户端口(Client化的),所述当前数据流发送 时间,W及所述当前数据所使用的传输协议(Protocol)的信息组合。
[0155] 在一个新数据流,即当前数据流被侦测之后,该新数据流的第一个数据包报头将 被网络交换机130获取,获取所述报头的主要目的是提取对预测数据流长度有关键作用的 至少一个特征信息。其中,对预测数据流长度有关键作用的特征信息包括当前数据流的源 IP 地址(Source IP A(Mress),服务器端口(Server 化;Tt),目的地 IP 地址值estination IP A(Mress),客户端口(Client化的),当前数据流发送时间(Start Time),当前数据流使 用的传输协议(Protocol)。
[0156] 送些特征信息之所W被提取,主要因为是在数据中必网络中,存在一些特定用户 行为模式,比如,某些源IP地址可能通过某些端口定期地向某些目的地IP地址发送使用某 种传输协议的大数据流,对应地,与送种特定的行为模式密切相关的特征信息可W作为一 种数据流类型的标示符,单独地,或者自由组合地,即任意两个、H个或四个相互组合,亦或 全体,作为判定当前数据流的类型的基础要素,而被收集于模式向量中,该模式向量可W表 示为{s;rcip,s;rcp;rt,destip,destp;rt,p;rtcl,t},其中s;rcip为数据流(当前数据流 W及历史数据流)源IP地址,src Pd为数据流(当前数据流W及历史数据流)的服务器 端口,dest ip为数据流(当前数据流W及历史数据流)的目的地IP地址,dest Pd为数 据流(当前数据流W及历史数据流)的客户端口,Pdcl为数据流(当前数据流W及历史 数据流)所使用的协议,t为数据流(当前数据流W及历史数据流)发送的时间。
[0157] S203比较所述当前数据流模式向量中的至少一个特征维度W及至少一个历史数 据流模式向量中的对应的特征维度,W获取至少一个当前数据流的模式相似度,所述至少 一个当前数据流的模式相似度与所述至少一个历史数据模式向量一一对应,所述历史数据 流模式向量预存在数据库中。
[015引该步骤可W由预测服务器160执行,具体,预测服务器160通过将所获取的当前数 据流的模式向量与存储在数据库中的历史数据流的模式向量进行比较,所述比较是将当前 数据流的模式向量中的特征维度与所述历史数据流的模式向量中的特征维度进行比较,从 而获得针对所述每个被比较过的特征维度的特征维度相似度,并通过所述特征维度相似度 来获得/估算所述当前数据流的至少一个模式相似度。所述当前数据流的至少一个模式相 似度,表示所述当前数据流的模式向量与所述至少一个历史数据流中的某个历史数据流的 模式向量之间的相似度。其中,所述历史数据流模式向量预存在数据库中,且存储所述历史 数据流模式向量的数据库可W位于网络服务器上,也可W位于执行该步骤的主机中,如预 测服务器160的存储器中。
[0159] 具体地,模式相似度可W通过如下的方式获取:
[0160] 请参照图3,为本发明步骤S203的一种具体的实现方式,但需要声明,如下实施方 式仅仅是实现步骤S203的一种实现方式,本领域技术人员基于S203所给出的启示,可W构 造出多种实施方式不同的实现方式,其也应该被认为是本发明的一部分。
[0161] S301,估算当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流 的模式向量中对应的特征维度之间的距离度量;
[0162] 为了能够客观的反映出所述当前数据流与历史数据流之间的相互关系,即,相似 度,本发明中需要对当前数据流和历史数据流做定量的分析,其具体的方式是将当前数据 流的模式向量中的特征维度与历史数据流的模式向量中的对应的特征维度进行比较,并用 距离度量来表示比较结果,所述距离度量可W理解为用于表述被比较客体之间的相似程度 的值、量化的约束关系、或者方程式。如本发明步骤S201中描述,所述的当前数据流的模式 向量包括的至少一个特征维度,所述至少一个特征维度来选自于包括所述当前数据流的源 IP 地址(Source IP A(Mress),月良务器端口(Server F*o;rt),目的地 IP 地址值estination IP A(Mress),客户端口(Client化的),所述当前数据流发送时间,W及所述当前数据所使 用的传输协议(Protocol),对应,估算当前数据流的模式向量中的至少一个特征维度与至 少一个历史数据流的模式向量中对应的特征维度之间的距离度量,具体为,估算当前数据 流的模式向量中的源IP地址与历史数据流的模式向量中的源IP地址之间的距离度量,或 者/和,估算当前数据流的模式向量中的服务器端口与历史数据流的模式向量中的服务器 端口之间的距离度量,或者/和,估算当前数据流的模式向量中的目的地IP地址与历史数 据流的模式向量中的目的地IP地址之间的距离度量,或者/和,估算当前数据流的模式向 量中的客户端口与历史数据流的模式向量中的客户端口之间的距离度量,或者/和,估算 当前数据流的模式向量中的前数据流发送时间与历史数据流的模式向量中的历史数据流 发送时间之间的距离度量,或者/和,估算当前数据流的模式向量中的所述当前数据所使 用的传输协议与历史数据流的模式向量中的历史数据所使用的传输协议之间的距离度量。
[0163] 对应地,所述当前数据流的模式向量中的至少一个特征维度与历史数据流的模式 向量中对应的特征维度之间的距离度量包括;IP地址的距离度量、端口的距离度量、发送 时间的距离度量、传输协议的距离度量。此外,如前述的定义,"所述距离度量可W理解为用 于表述被比较的客体之间的相似程度的值、约束关系、或者方程式"可W 了解,所述每个特 征维度均可W作为衡量当前数据流的在某一个方面与历史数据流的相似度,因此,上述的 特征维度在不同的场景中,可根据需求自由的组合,W获取最佳的模式相似度。比如,IP地 址对(源IP地址和目的地IP地址)可W和当前数据所使用的传输协议(Protocol)组合 来获取模式相似度,或者,目的地IP地址对,端口对(服务器端口和客户端口),W及所述当 前数据所使用的传输协议(Protocol)组合来获取模式相似度等。
[0164] W下将介绍如何获取所述的IP地址的距离度量、端口的距离度量、发送时间的距 离度量、传输协议的距离度量。
[0165] IP地址的距离度量
[0166] IP地址代表了前述的源服务器120或者客户端设备150的物理地址或者是逻辑地 址。在数据中必网络中,IP地址属于同一子域,即,网络子网(Subnetwork)的源服务器120 或者客户端设备150可能拥有相同或者是相似的网络数据发送模式,而送些具有相似的网 络发送模式的源服务器120或者客户端设备150发送的数据流长度可能比较相似,即,长度 相似概率较大。因此,可W利用当前数据流IP地址(源地址及目的地地址)与历史数据流 的IP地址的相似性作为一种特征维度相似度度量,即,IP地址的距离度量,进行数据流长 度预测。
[0167] 通常IP地址为32比特的二进制字符串,我们定义LPLUi,ip,X2,ip)为两个IP地址 的最长前缀匹配长度(longest Prefix Length)。
[016引例如在下面给出的例子中,
[0169] X, .,:1100 0010. 1010 0110,0000 0000,0000 0000
[0170] Xo'.r:1100 0010. 1010 1010,0000 0000,0000 OOOl
[O^m] 其中,Xi,X2,。分别代表当前数据流的源IP地址或者目的地IP地址,W及历史数 据流的源IP地址或者目的地IP地址,Xi,X2,。的最长匹配前缀为11000010, 1010,因此, 送两个IP地址的最长前缀匹配长度LPL(Xi,ip,X2,ip) = 12。需要注意的是, 不局限于代表当前数据流的源IP地址或者目的地IP地址,W及历史数据流的源IP地址或 者目的地IP地址,其可W代表任意两个数据流的IP地址。
[0172] 定3两个IP化化的距离麽畳力:
[0173]
[0174] 上述距离度量满足W下四个性质:
[017 引非负性;dip(Xi,ip,X2,ip) >0
[0176] 不可区分者的同一性;dip(Xi,ip,X2,ip) = 0 iff Xiiip= X2,ip
[0177] 对称性;d。(Xi,。,而,IP) = d。(?, IP, Xi, ip)
[0178] S角不等性;d。(Xi,。,X3, ip)《d。(Xi,。,而,ip) +d。(?, ip, X3, ip)
[0179] 端口的距离度量
[0180] 不同的应用程序发送的数据流长度往往具有不同的特点,而不同的应用程序可能 通过不同范围的端口号进行数据的发送。因此,数据流的发送端口通常可W用来估计数据 流的长度。
[0181] 网络端口通常为16比特的二进制字符串,其数值范围为0~65535。本发明采 用本领域常用的端口分段方法来对端口的距离度量进行说明,但需要注意的是,本发明不 局限于送种端口分段方法。根据Scott E. Coull, F油ian Monrose等人发表的名为《化 measuring the Similarity of Network Hosts:PitfalIs, New Metrics, and Empirical Analyses》(中文译名;关于网络主机的相似度度量:陷阱,新测度W及经验分析)的文章 表明,我们通常将端口地址根据IANA端口列表,分为W下不同的组别:
[018引 常见端口(weU-known) :0 ~1023
[0183] 已注册端口(registered) : 1024 ~49151
[0184] 动态端口(dynamic) :49152 ~65535
[018引 根据Scott E. Coull, F油ian Monrose等人的文章,相比较于动态端口(dynamic), 常见端口(weU-known)和已注册端口(registered)更加接近,因为统计上来说,他们往往 用来发送某些特定服务的数据。
[0186] 本发明使用Scott E. Coull, F油ian Monrose,等人提出的方法来实现端口的距离 度量,但是,需要注意的是,该方法仅仅是实现端口距离度量的一种实现方式,而本发明可 W用其他的实现方式来实现端口的距离度量,例如由于网络端口是一个16比特的字符串, 我们也可W使用IP地址的距离度量的方法来计算两个网络端口的距离。
[0187] 根据Scott E. Coull, F油ian Monrose等人提出的方法,端口的距离度量通过如下 的公式来获取:
[018 引
[018引其中,Xi,p"t,X2,PDft分别代表当前数据流的服务器端口或客户端口,即,前述的源服 务器120端口,或者客户端设备150的端口,W及历史数据流的服务器端口或客户端口。需 要注意的是,所述的Xi,并不现定于代表当前数据流的服务器端口或者客户端口, W及数据流的服务器端口或者客户端口,其可W代表任意两个数据流的服务器端口或者客 户端口。
[0190] 参数5 PWt(X)的取值通过如下公式来获取:
[0191]
[019引其中,5p"t (X)为所述服务器端口或者客户端口所属范围类型赋值,,X为所述服 务器端口或者客户端口数值。
[0193] 发送时间的距离度量
[0194] 由于用户发送数据到网络中,或者服务器通过网络向用户发送数据,都可能存在 某种时间上的模式,比如绝大部分的大数据可能集中在某些时段内发送,因为用户或者服 务器可能考虑到在某些时间段内,网络的数据传输比较少,可W使用的数据传输链路带宽 比较大;或者是用户或服务器在大数据流(大象流)发送时间上存在一定的周期性模式。 因此,数据流的发送时间,即数据流的发送时间的距离度量可W用来估计数据流的大小。
[0195] 发送时间是一个简单的整数型变量,因此发送时间的距离度量可W简单定义为两 个发送时间的差值绝对值。
[01 9 引 dt(Xi,t,X2,t) =
[0197] 其中,dt即为发送时间的距离度量,X I,t,X2,t分别为当前数据流的发送时间和历史 数据流的发送时间。
[0198] 传输协议的距离度量
[0199] 数据流使用的传输协议往往也可用来估计该数据流的长度,比如,大数据流(大 象流)往往会采用TCP协议来传输,而一些小的数据流往往会采用UDP协议来传输。假设, 在整个网络数据流中,总共有N种不同的传输协议,比如Pdcl =如心,…PwK我们用一 个N维的0-1向量来表示某个数据流使用的协议。当该数据流使用的是第i种传输协议, 则该向量的第i维为1,而其他维度均为0,例如在W下例子中,如果数据流使用的是第二 种传输协议,则该数据流所使用的协议向量表示为:
[0200]
[0201] 对应地,协议的距离度量为可W定义为:
[020引 dp"ci (Xi,p"ci, X2, p"ci) - Xi,p"ci-Xi,p"ci 2
[020引其中,Xi,PfW为当前数据流所使用的传输协议向量,X 2,pft。历史数据流所使用的协 议向量,dprtei(Xi,prtei,X2,prtJ为所述传输协议的距离度量,I |Xi,prtel-Xi,prtelll2为所述两个传 输协议向量的差值的二范数。
[0204] 由于数据流使用过的协议是采用的0-1表示,因此,上述协议的距离度量取值只 能为0或者。
[0205] 获取上述不同维度的距离度量之后,便可根据所获取的距离度量计算不同维度特 征的相似度,即特征维度相似度。
[0206] 在步骤S301中所获得的当前数据流的多个特征维度与历史数据流之间的对应的 多个特征维度之间的距离度量之后,可W用来计算所述当前数据流的多个特征维度所对应 的特征维度相似度,即,继步骤S301之后,还包括步骤:
[0207] S303根据所获取的当前数据流的模式向量中的至少一个特征维度与至少一个历 史数据流的模式向量中对应的特征维度之间的距离度量,估算所述当前数据流的模式向量 中的所述至少一个特征维度所对应的特征维度相似度。
[020引请参阅图4,基于特征维度的距离度量来估算特征维度相似度的基本规则是,特征 维度的距离度量越小则特征维度相似度越高,相反,特征维度的距离度量越大,则特征维度 相似度则越低。因此,图4中所示的指数下降函数便可W作为计算所述特征维度相似度的 一种函数,图4中,横坐标表示特征维度的距离度量,纵坐标表示特征维度相似度,而图4中 的曲线/直线反映了特征维度的距离度量和特征维度相似度之间的关系,其中,曲线/直线 的参数0则代表了随着距离度量的增加,特征维度相似度的下降速度。图4中不同的曲线 /直线则代表不同的特征维度的距离度量和特征维度相似度之间的关系,比如曲线A代表1P地址的距离度量与其对应的IP地址相似度之间的关系,曲线B代表端口距离度量及与其 对应的端口相似度之间的关系。
[0209] 而对应的基于特征维度的距离度量的特征维度相似度可W通过如下函数来定义:
其中,kf为特征维度相似度,df为特征维度度量,0 f代 表所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值控制了所述 相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中 所占权重,而f为表示某个特征维度,即,
[0210]
[0211] 其中src ip为数据流(当前数据流W及历史数据流)源IP地址,src Pd为数 据流(当前数据流W及历史数据流)的服务器端口,dest ip为数据流(当前数据流W及 历史数据流)的目的地IP地址,dest Pd为数据流(当前数据流W及历史数据流)的客 户端口,Pdcl为数据流(当前数据流W及历史数据流)所使用的协议,t为数据流(当前 数据流W及历史数据流)发送的时间,F为当前数据流的模式向量及历史数据流的模式向 量中的特征维度所对应的维度,即,分别对应于源IP地址,服务器端口,目的地IP地址,客 户端口,数据流所使用的传输协议,W及数据流的发送时间。
[0212] 具体地,通过上述的函数,可W得到:
[0213] IP地址的相似度函数为:
[0214]
[0215] 其中Xiiip,而,IP为两个源IP地址或是两个目的地IP地址,dip (Xi,。,X2,ip)为两个IP 地址的距离度量,0。为控制IP地址相似度函数随IP地址距离度量下降速度的参数。
[0216] 端口的相似度函数为:
[0217]
[021引其中X2,p"t为两个服务器端口或是两个客户端口,dp"t(Xi,pert,X2,p"t)为两个 端口的距离度量。0 PMt为控制端口相似度函数随端口距离度量下降速度的参数。
[0219] 协议的相似度函数为:
[0220]
[0221] 其中Xi,prtcl,X2,prtcl为两个数据流使用的协议,dprtci(Xl,prtcl,X2,prtci)为两个端口的 距离度量,0 PfW为控制端口相似度函数随端口距离度量下降速度的参数。
[0222] 此外,用户可能存在周期性的大数据流发送模式,送是一种很重要的行为模式,而 送种行为模式需要我们主动的去识别和捕捉,从而能够针对该行为模式提高特征维度相似 度估算的准确性。因此,对时间送个维度可W使用如下的相似度定义来替代上述的相似度 定义,该定义具有发送周期(假如存在)的自动捕获。
[0223]
[0224] 其中,kt为数据流(当前数据流及历史数据流)的发送时间相似度,d t为数据流 的发送时间的距离度量,0。,及0 Pt代表了发送行为模式中非周期性与周期性的权重。0 及Qpt两者之间的相对大小取决于用户发送模式中非周期性,周期性哪一个更明显,听代 表用户发送数据流的周期。
[0225] 通过W上的特征维度相似度的估算方式便可W获取各个不同的特征维度相似度。
[0226] 因此,在上述的步骤S303之后,特征维度相似度估算方法还可W包括如下步骤:
[0227] S305,根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度。 [022引在该步骤中,上述的特征维度相似度可W独立地或组合地使用作为后续的当前数 据流的长度估算的因子,若单独使用,则根据所述当前数据流的模式向量中的至少一个特 征维度所对应的权重,将所述特征维度中权重最高的特征维度所对应的特征维度相似度作 为所述当前数据流的模式形似度;若组合使用,则将两个及两个W上的特征维度相似度的 根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,经过加权组合后作 为所述当前数据流的模式相似度,其中,所述当前数据流的模式向量中的至少一个特征维 度所对应的权重指的是不同特征维度在进行当前数据流类型检测中对判断准确性影响的 大小的度量。其中针对不同应用场景,不同特征的特征维度的权重也不同,每个特征维度所 对应的权重可W通过对训练得到的模型进行分析获取,也可W通过专家知识获得。为了能 综合考虑影响所述当前数据流长度的各个特征维度,在上述的所有的特征维度相似度都通 过估算获取的前提下,本发明中采用组合的方式来融合上述多个特征维度相似度来获得当 前数据流的模式相似度,W此,来进一步提高相似度的估算精度,进而提高当前数据流长度 估算的精度。
[0229] 具体地,虽然数据流模式向量中每一个特征维度都对数据流长度的估计有影响, 但是不同维度的特征在预测数据流长度时所占具的权重各不相同。同时,不同维度的模式 相似度取值范围也有所不同,因此,就需要解决如何融合不同的特征维度的信息,并且自动 权衡不同特征维度所起的重要性的问题。本发明中通过如下的相似度函数来实现融合不同 维度的信鳥.同时坏能够选现白动极街不同賠征维度的权重的目的。
[0230]
[0231] 其中,K (XI,而,0 m)为融合后的模式相似度,即,当前数据流的模式相似度,Sm为 模式相似度函数的幅度参数,
;中,?中的 参数可W通过模型训练得到,具体地,通过最大化历史数据流数据的似然度或者是最小化 历史数据流的预测误差来得到。因此,参数向量?代表了整个网络的数据传输行为模式, 具有自适应性。
[0232] 当获取到前数据流的模式相似度之后,本发明便可通过模式相似度进行当前数据 流的长度预测,即,在所述步骤S203之后,本发明的方法还包括如下步骤:
[0233] S205,根据所述当前数据流的至少一个模式相似度W及对应的至少一个历史数据 流的长度预测所述当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库 中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应。
[0234] 将利用所获取的所述当前数据流的至少一个模式相似度W及其对应的至少一个 历史数据流的长度来预测当前数据流的长度,其预测的基本原则为,根据所述当前数据流 的至少一个模式相似度,将与该至少一个模式相似度对应的历史数据流的长度的通过加权 组合来预测所述当前数据流的长度,其中,所述历史数据流的长度在进行加权组合时的权 重取决于当前数据预测数据流的模式向量与多个历史数据流的模式向量之间的相似度,即 取决与所述当前数据流的至少一个模式相似度。需要注意的是,若当前数据流仅取一个模 式相似度,则所对应的历史数据流的长度也仅为一个,对应地,所述权重就为1,而上述的加 权组合仅仅需要实现加权而不需要实现组合,即,送种情况下,历史数据流的长度可W直接 最为当前数据流的长度的预测值。
[0235] 请参阅图5,该图表示了数据流长度预测的基本逻辑过程,其中,山为待预测当前 数据流的第一个数据包报头的模式向量,Xi~X。为历史数据流的模式向量。KOU Xi, 0)~ K促,X。,0)为当前数据流的模式向量与历史数据流的模式向量之间的模式相似度,即所述 的当前数据流的模式相似度,yi~y。为历史数据流的长度,为所预测当前数据流的长 度,其通过W下公式获取:
[0236]
[0237] 其中,Wi为权重因子,其大小取决于当前数据流的模式向量与第i个历史数据流模 式向量之间的相似度,即,其大小取决于当前数据流的至少一个模式相似度中的第i个模 式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据 流中的第i个历史数据流的模式向量之间的模式相似度,为所述至少一个历史数据流中 的所述第i个历史数据流的长度并可W通过如下的函数来获取:
[023引 Wi= g化(X *,Xi, ?))
[0239] 函数g有多种不同的实现方式。不同的实现方式代表了不同的模型W及不同 的模型讫释。通常,我们可W用高斯过程回归(Gaussian Process Regression)或者 化daraya-Watson估计器(化daraya-Watson Estimator)来实现函数。下面W高斯过程回 归(Gaussian Process Regression)来介绍如何通过函数g预测当前数据的长度,即通过 预测模型g来实现当前数据流的长度预测,需要说明的是本发明并不局限于基于高斯过程 回归的预测模型,本发明还可W采用其他的预测模型来实现。
[0240] 我们将归一化的当前数据流长度义和历史数据流长度yi~y。看成是随机变量,送 些变量服从如下的联合高斯分布。
[0241]
[0242] 送里K佑讶表示历史数据流的模式相似度矩阵;K(^,讶表示待预测的当前 数据流与历史数据流的模式相似度;在送里,它们确定了联合高斯分布的协方差矩阵 (covariance matrix)。
[0243] 其中,X= [Xi…xj为历史数据流的模式向量;y= [yi…yjT为历史数据流的 长度,山为当前数据流的模式向量,J:为待预测当前数据流的长度,C为联合高斯分布的协 方差矩阵,由当前数据流模式向量与历史数据流模式向量之间的相似度得到。
[0244] 根据如上所述的联合高斯分布函数,我们可W获得关于待预测当前数据流长度的 条件概率分布函数:
[0245]
[0246] 宜出_泉化腑奈^麻6々怡I估责.
[0247]
[024引条件概率分布的方差为:
[0249]
[0250] 通常,我们可W用条件概率分布的均值作为我们对新数据流长度的预测,即:
[0巧 1]
[0巧引其中,X,为待预测的当前数据流的模式向量;X为历史数据流的模式向量;因此 K(^,讶表示待预测的当前数据流与所选取的历史数据流的模式相似度。历史数据流模式 相似度矩阵K的第i行,第j列元素表示的是第i个历史数据流与第j个历史数据流的模 式相似度。y为历史数据流的数据流长度。Kmm, K。。,Km。为矩阵K的子模块,如下所示:
[0 巧 3]
[0254] 高斯过程回归模型是实现本发明的当前数据流长度预测的一个实施方式,待预测 的当前数据流长度可W用历史数据流的长度的某种加权组合得到,而每个历史数据流长度 的权重由当前数据流的模式向量与历史数据流的模式向量之间的相似度决定。
[0 巧 5]
[0256] 从上面送个公式可W看到,待预测的当前数据流的数据流长度预测值为历史数据 流的数据流长度的加权组合得到,而权重向量wT为当前数据流的模式向量与历史数据流的 模式向量之间的相似度确定,如下所示:
[0 巧 7]
[0巧引除此之外,我们还可W获得预测值的3 O置信区间,3 O置信区间指的是高斯分布 里面99. 73%的置信区间,就是说待预测的当前数据流的数据流长度落在送个区间的概率 为99. 73%,如下所示:
[0 巧 9]
[0260] 该置信区间的设置,主要目的在于提高当前数据流长度预测的,高准确率,W及高 鲁棒性。此外,送个区间可W提供一些我们对预测值的置信度,比如当置信区间比较窄的时 候,我们对预测值的预测更加准确,因为送意味着预测值的波动范围比较小。当同时有多个 待预测的数据流需要预测并加 W路由时,我们就可W根据送个置信区间提供的信息进行排 序,对置信区间小的数据流优先选择路由,因为其预测的数据流长度波动性小。上述的基于 高斯过程回归的预测模型的主要参数来自于当前数据流与历史数据流之间的模式相似度, 而如前所述模式相似度通常由不同的特征维度相似度得到,而不同的特征维度相似度在当 前数据流长度预测过程中所起到的作用并不相同,有些比较轻,而有些则比较重,因此,为 了能够得到最优的预测模型,例如基于高斯过程回归的预测模型,本发明提出通过历史数 据流样本来训练预测模型,优化模型的参数,将优化好的参数用于当前数据流长度的预测 中。
[0261] 通常我们可W通过最大似然估计或者是最小化模型预测误差来训练模型,优化模 型参数。比如,假设我们使用高斯过程回归模型(Gaussian Process Regression)来实现 函数g,郝么我们就可W通过最大化历史数据的似然度来优化模型的参数,具体过程如下:
[0262] 根据基于高斯过程回归的预测模型,我们可W获得训练样本的似然度函数,如下 所示:
[0263]
[0264] 送里,K为历史数据流的模式相似度矩阵,其第i行,第j列的元素表示历史数据流 i和历史数据流j的模式相似度。!是与K同维度的单位矩阵。巧^为预测模型噪声方差。 y为历史数据流的长度。
[0265] 接着,可W通过最大化训练样本的似然度来优化模型参数。比如,我们可W利用最 睹梯度下陈的方式来构律参敬的巧代公式,如下所示:
[0266]
[0267]
[026引此外,在整个网络运行过程中,不断有数据流到达目的地。当数据流到达目的 地时,我们可W通过某种方式知道送个数据流真实的数据流长度,比如可W通过读取 openf low交换机的计数器状态获取或者是通过Sf low技术获得。送个时候,我们获得了送 个数据流的模式向量和真实数据流长度的组合。送个组合成为了我们模型的新的训练样 本。
[0269] 为了使模型能够更好地适应整个网络的动态变化,数据流长度的预测模型可W利 用新的训练样本去不断地更新,从而使预测模型能更准确地预测当前数据流的长度。
[0270] 具体地,数据流长度的预测模型的更新,可W通过如下方式来实现:
[0271] 假设在t时刻,收集并计算了 n个历史数据流的信息化,y。),其中X。是历史数据 流的模式^甚"旦ffi**r*田、凉乂*日据下式,可W获得预测模型的最优参数:
[0272]
[027引当在t+1时刻,第n+1个训练样本,即历史数据流,到达时,该新的历史数据流的信 息将被绅入補咖I腊巧申.耐I雷巧对補咖I腊巧的参数做出修改。
[0274]
[0275]
[027引计算log P知110)时,需要对矩阵町4求逆,其计算复杂度为0( (n+1) 3),其 中,
^ n+1个历史数据流的模式相似度矩阵。
[0277] 由于新的训练样本不断产生,且数量巨大,如果每一次有新训练样本到达时,我们 都做上述操作,其时间复杂度十分巨大。所W有必要提出一种高效,在线,计算复杂度低的 方案去实现预测模型的实时在线更新。因此,本发明提出一种基于降秩近似巧e化ced Rank Approximation)结合Woodbury 失巨阵求逆恒等式(Woodbury matrix inversion identity) 的高斯过程模型的方案,实现基于新的训练样本的模型在线更新方案,该方法的主要实现 方式为,通过历史数据流集合中的部分子集来近似整个历史数据流集合,其通过如下的公 式来实现:
[027引
[0279] 其中,X,为待预测的当前数据流的模式向量;Xm为历史数据流的一个子集的模式 向量,该子集包含m个历史数据流,可W在历史数据流中随机选取所得;K (?, Xm)表示待预 测的当前数据流与所选取的历史数据流子集的模式相似度。Km。,IU,K?为历史数据流模式 相似度矩阵K的子模块,历史数据流模式相似度矩阵K的第i行,第j列元素表示历史数据 流i与历史数据流j的模式相似度,y为历史数据流的流长度,

0
[0280] 相比原始的预测模型 计算复杂度从〇(n3)降低为 j 0(m2n)m<<n,可见,采用上述的降秩近似后,模型训练的复杂度极大的降低,也使得基于 新训练样本的预测模型在线更新更为简便。
[0281] 而基于新的训练样本的预测模型的在线更新,可W通过如下方式来实现:首先,我 们用如下表达式描述在历史样本有n个的时候的预测模型。
[0282] '则,数据流长度的预测模型可W表示为:
[0283] 9[0284] 当笠 n+1个敬据流挣太到来的时候,我们需要相应地将a。更新为a W。[02财
接着,利用Woodbury矩阵求逆恒等式(Woodbury matrix inversion identity),推导获得如下的更新公式:
[0286]
[0287]
[028引
[0289]
[0290] 当新的数据流需要进行长度预测时,则可W根据更新后的预测模型进行长度预 测;
[0291]
[0292] 通过上述的参数优化及模型在先更新可W使得对数据流能够根据网络的数据流 的变化而动态的变化,对数据流长度的预测更加的准确。
[029引此外,数据流长度预测函数g也可W通过化daraya-Watson估计器 (化daraya-Watson Estimator)来实现。其原理是利用核概率密度函数估计化ernel Density Estimation)去估计基于数据流模式向量的数据流长度条件概率分布函数。如下 所示:
[0294]
[0295] 其中^是待预测的当前数据流的模式向量,为待预测的当前数据流的长度。而 它们的联会概莖密麽尿I骄而W诵讨核概莖密度函数估计的方法获得,如下所示:
[0296]
[0297] 送里,K故,Xi)的定义与上述相似度函数的定义类似。因此,我们可W得到:
[0298:
[0299] 我们可W看到,化daraya-Watson估计器也是通过历史数据流的加权组合来预测 当前待预测数据流的长度,其权重为
[0300] 如上所述,高斯过程回归和化daraya-Watson估计器均可W作为训练预测模型的 实施实例。其原理都是利用历史数据流的长度的加权组合来做预测,只是,不同的方法使用 不用的权重计算公式。
[0301] 在通过步骤S205预测得到所述当前数据流长度后,则可W根据该数据流的长度 与预设的阔值比较而确定当前数据流的类型,即,本发明在步骤S205后进一步包括如下步 骤:
[0302] S207,比较预测的所述当前数据流长度及预设的阔值,并根据比较结果判断所述 当前数据流为大数据流或者小数据流。
[0303] 在本步骤中,判定当前数据流的类型的主要通过比较预测得到的当前数据流的长 度W及阔值,如果大于阔值则认为当前数据流为大数据流化arger data Flow),反之,则认 为是小数据流。值得注意的是,若所述当前数据流的长度采用不同度量方式计量,例如在用 分段方式来计量,例如当前数据流长度为X比特时,则将当前数据流长度记录M,而当前数 据流长度为Y比特时,X〉Y,则将当前数据流长度记录N,N<M,则所述的判定方式可W相反, 目P,如果小于阔值则认为当前数据流为大数据流化arger data Flow)(为了前后文保持一 致,替换为large data flow),反之,则认为是小数据流。
[0304] 为了能够实现阔值能够实时的反应网络中传输的数据的状况,本发明提出对所述 阀值根据网络中的历史数据流的状况进行实时修正及更新的方法,请参阅图6,该阔值的修 改及更新包括如下步骤:
[0305] S601基于历史数据的数据流长度样本建立累积分布函数,根据所述累积分布函数 得到所述预设的阔值;
[0306] S602根据新获取的历史数据流的数据流长度样本,修正累积分布函数及所述预设 的阔值。
[0307] 比如,收集了 n个历史数据流的长度y。。根据送些历史数据流长度值建立一个累 计分布函数C,.0')。假设整个网络中,占 P%比例的数据流为小数据流(老鼠流),通过计算
来获取所述预设的阔值。
[030引当第n+1个数据流样本达到时,我们就相应地修改累计分布函数为.(.V),并更 新阔值
[0309] 本发明中通过对数据流第一个数据包的报头进行特征提取,然后计算当前数据流 与数据库中的历史数据流之间的模式相似度,根据模式相似度与历史数据流的长度,预测 新数据流的长度。通过比较预测长度和阔值,确定新数据流是否为大数据流。和现有技术 相比不需要对数据流直接进行流量统计,不仅能够实现实时判断数据的类型,同时能够实 现提高判断的精度,从而能够在接收到第一个数据包时后便能够获得数据流大小的估计, 从而为实现实时地路径规划提供可靠的依据。
[0310] 图7是根据本发明实施例提供的数据流类型检测装置的结构框图。图7所示的装 置能够执行图2,图3,及图6,即本发明所述的数据流类型检测方法,所包含的各个步骤。如 图7所示数据流类型检测装置700可W设置在如图1中所示的数据传输网络中来实现。
[0311] 所述数据流类型检测装置700包括:
[0312] 信息获取模块710,其用于,获取网络当前数据流的第一个数据包的报头,并从所 述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至 少一个特征维度选自于包括所述当前数据流的源IP地址(Source IP A(Mress),服务器端 口(Server F*o;rt),目的地 IP 地址值 estination IP A(Mress),客户端口(Client Port), 所述当前数据流发送时间,W及所述当前数据所使用的传输协议(Protocol)的信息组合。
[0313] 该信息获取模块710,主要用户获取用于预测当前数据流的长度的相关信息,即, 数据流的第一个数据包的包头,该信息获取模块710具体可W是图1中的网络交换机130 中的一个功能模块,即通过网络交换机130来实现,此外,该信息获取模块710也可W是设 置在网络节点中的具有自主探测和上报能力的独立的软件、或者硬件执行模块,该执行模 块能够在新的数据流到来时,启动信息获取功能,来获取所需要的数据流的信息,并将所获 取的信息上报给下一个处理模块,并可W实现S201中所介绍的全部步骤及功能。
[0314] 模式相似度计算模块730,该模块用于比较所述当前数据流模式向量中的至少一 个特征维度W及至少一个历史数据流模式向量中的对应的特征维度,W获取至少一个当前 数据流的模式相似度,所述至少一个当前数据流的模式相似度与所述至少一个历史数据模 式向量一一对应,所述历史数据流模式向量预存在数据库中。
[0315] 当信息获取模块710获取到网络当前数据流的第一个数据包的报头,并从所述报 头中获取所述当前数据流的模式向量后,该当前数据流的模式向量将会被传输至模式相似 度计算模块730,模式相似度计算模块730将根据信息获取模块710所反馈的信息进行模 式相似度的计算,其具体的计算过程请参阅前述方法中对步骤S203的介绍,该模块可W实 现S203中所介绍的全部步骤及功能。其中,模式相似度计算模块730可W通过图1中的预 测服务器160执行,即,通过预测服务器160中的处理器调用存储与存储器中的模式相似度 的计算程序来根据所述的模式向量计算模式相似度。此外,模式相似度计算模块730也可 W通过集成电路(Application Specific Integrated Cir州it,ASIC)、现成可编程口阵列 (Field Programm油Ie Gate Array, FPGA)或者其他可编程逻辑器件、分立口或者晶体管逻 辑器件、分立硬件组件来实现。该模式相似度计算模块730具体还包括:
[0316] 距离度量单元731,用于估算当前数据流的模式向量中的至少一个特征维度与至 少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
[0317] 特征维度相似度估算单元733,用于根据所获取的当前数据流的模式向量中的至 少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量,估 算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度;W及 [031引模式相似度获取单元735,用于根据所述特征维度相似度来获取所述当前数据流 的至少一个模式相似度。
[0319] 本发明的数据类型检测模块700还包括:
[0320] 数据流长度预测模块750,用于根据所述当前数据流的至少一个模式相似度W及 对应的至少一个历史数据流的长度预测所述当前数据流长度,所述至少一个历史数据流的 长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流 模式向量一一对应。
[0321] 该数据流长度预测模块750在模式相似度计算模块730计算得到模式相似度之 后,变可W根据该模式相似度来进行数据流长度的预测,具体的预测过程可W参照上述方 法中对步骤S205的具体介绍,该模块可W实现S205中所介绍的全部步骤及功能。其中, 数据流长度预测模块750可W通过图1中的中央控制服务器110执行,即,通过预测服务器 110中的处理器调用存储与存储器中的模式相似度的计算程序来根据所述的模式向量计算 模式相似度。此外,模式相似度计算模块710也可W通过集成电路(Application Specific Integrated Cir州it,ASIC)、现成可编程口阵列(Field Programm油Ie Gate Array'FPGA) 或者其他可编程逻辑器件、分立口或者晶体管逻辑器件、分立硬件组件来实现。
[0322] 数据流类型检测模块770,该模块用于比较预测的所述当前数据流长度及预设的 阔值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
[0323] 当所述数据流长度预测模块750将所预测的当前数据流的数据流长度反馈至该 数据流类型检测模块770之后,该数据流判断模块770根据该数据流长度和阔值进行比较, 从而判断数据流的类型,其具体的比较过程可W参照本发明方法中对步骤S207的介绍,该 模块可W实现S207中所介绍的全部步骤及功能。
[0324] 本发明的数据流类型检测装置700,通过对数据流第一个数据包的报头进行特征 提取,然后计算当前数据流与数据库中的历史数据流之间的模式相似度,根据模式相似度 与历史数据流的长度,预测新数据流的长度。通过比较预测长度和阔值,确定新数据流是否 为大数据流。和现有技术相比不需要对数据流直接进行流量统计,不仅能够实现实时判断 数据的类型,同时能够实现提高判断的精度,从而能够在接收到第一个数据包时后便能够 获得数据流大小的估计,从而为实现实时地路径规划提供可靠的依据。
[0325] 请参阅图8,为采用本发明实施例提供的数据流类型检测方法及装置进行数据流 类型检测的结果示意图。其中,W星状连接的曲线代表为测试过程中数据流的真实流长 度,而W圆点装连接的曲线代表为测试过程中数据流经过本发明的方法及装置中的预测模 型得到的数据流长度的预测值。从该测试结果可W看出,本发明的提供的方法及装置中 采用的模型预测结果与真实数据流的长度非常吻合。而黑色虚线是区分大数据流(大象 流)和小数据流(老鼠流)的阔值。根据阔值进行大数据流和小数据流的分类,其真阳性 率为97. 87%,真阳性率表示真实大数据流被准确分类为大数据流的比例,而假阳性率为 5. 78%,假阳性率表示小数据流被错误地分类为大数据流的。从该结果来看,本发明的方法 及装置可W非常准确的检测数据流的类型。
[0326] 本领域普通技术人员可W意识到,结合本文中所公开的实施例描述的各示例的单 元及算法步骤,能够W电子硬件、或者计算机软件和电子硬件的结合来实现。送些功能究竟 W硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员 可W对每个特定的应用来使用不同方法来实现所描述的功能,但是送种实现不应认为超出 本发明的范围。
[0327] 所属领域的技术人员可W清楚地了解到,为描述的方便和简洁,上述描述的系统、 装置和单元的具体工作过程,可W参考前述方法实施例中的对应过程,在此不再赏述。
[032引在本申请所提供的几个实施例中,应该理解到,所掲露的系统、装置和方法,可W 通过其它的方式实现。例如,W上所描述的装置实施例仅仅是示意性的,例如,所述单元的 划分,仅仅为一种逻辑功能划分,实际实现时可W有另外的划分方式,例如多个单元或组件 可W结合或者可W集成到另一个系统,或一些特征可W忽略,或不执行。另一点,所显示或 讨论的相互之间的禪合或直接禪合或通信连接可W是通过一些接口,装置或单元的间接禪 合或通信连接,可W是电性,机械或其它的形式。
[0329] 所述作为分离部件说明的单元可W是或者也可W不是物理上分开的,作为单元显 示的部件可W是或者也可W不是物理单元,即可W位于一个地方,或者也可W分布到多个 网络单元上。可W根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0330] 另外,在本发明各个实施例中的各功能单元可W集成在一个处理单元中,也可W 是各个单元单独物理存在,也可W两个或两个W上单元集成在一个单元中。
[0331] 所述功能如果W软件功能单元的形式实现并作为独立的产品销售或使用时,可W 存储在一个计算机可读取存储介质中。基于送样的理解,本发明的技术方案本质上或者说 对现有技术做出贡献的部分或者该技术方案的部分可WW软件产品的形式体现出来,该 计算机软件产品存储在一个存储介质中,包括若干指令用W使得一台计算机设备(可W 是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例 所述方法的全部或部分步骤。而前述的存储介质包括;U盘、移动硬盘、只读存储器(ROM, ReacHDnly Memo巧)、随机存取存储器(RAM, Random Access Memo巧)、磁碟或者光盘等各种 可W存储程序代码的介质。
[0332] W上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明掲露的技术范围内,可轻易想到的变化或替换,都应 涵盖在本发明的保护范围之内,因此本发明的保护范围应W权利要求的保护范围为准。
【主权项】
1. 一种数据流类型检测方法,其特征在于,所述方法,包括: 获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式 向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前 数据流的,源IP地址(Source IP Address),服务器端口(Server Port),目的地IP地址 (Destination IP Address),客户端口(Client Port),所述当前数据流发送时间,以及所 述当前数据所使用的传输协议(Protocol)的信息组合; 比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据 流的模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度,所述当 前数据流的至少一个模式相似度与所述至少一个历史数据的模式向量一一对应,所述历史 数据流的模式向量预存在数据库中; 根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度 预测当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少 一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应;以及 比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流 为大数据流或者小数据流。2. 如权利要求1所述的方法,其特征在于,所述比较所述当前数据流的模式向量中的 所述至少一个特征维度以及至少一个历史数据流模式向量中对应的特征维度,以获取所述 当前数据流的至少一个模式相似度,包括: 估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数 据流的模式向量中对应的特征维度之间的距离度量; 根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对 应的特征维度相似度; 根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,所述至少一 个模式相似度与所述至少一个历史数据流一一对应。3. 如权利要求2所述的方法,其特征在于,所述估算所述当前数据流的模式向量中的 所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的 距离度量,包括: 分别估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历 史数据流的模式向量中对应的特征维度之间的,IP地址的距离度量,端口的距离度量,发送 时间的距离度量,以及传输协议的距离度量;其中,所述IP的地址的距离度量通过所述当 前数据流的模式向量中的所述源IP地址与所述历史数据流的模式向量中的源IP地址估 算,或者,通过所述当前数据流的模式向量中的所述目的地IP地址与所述历史数据流的模 式向量中的目的地IP地址估算,或者,通过所述当前数据流的模式向量中的所述源IP地 址和所述目的地IP地址与所述历史数据流的模式向量中的源IP地址和目的地IP地址估 算;所述端口的距离度量通过所述当前数据流的模式向量中的所述服务器端口与所述历史 数据流的模式向量中的服务器端口估算,或者通过所述当前数据流的模式向量中的所述客 户端口与所述历史数据流的模式向量中的客户端口估算,或者通过所述当前数据流的模式 向量中的所述服务器端口及所述客户端口与所述历史数据流的模式向量中服务器端口的 客户端口估算;所述发送时间的距离度量通过所述当前数据流的模式向量中的所述当前数 据流发送时间与所述历史数据流的模式向量中的历史数据流发送时间估算;所述传输协议 的距离度量通过所述当前数据流的模式向量中的所述当前数据所使用的传输协议与所述 历史数据流的模式向量中的历史数据所使用的传输协议估算;对应地,所述根据所述距离 度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似 度包括: 根据,所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传 输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相 对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。4. 如权利要求3所述的方法,其特征在于, 所述IP地址的距离度量通过如下公式获取:其中,1P为所述当前数据流的源IP地址或者目的地IP地址,X 2,1P为所述历史数据流 的源IP地址或者目的地IP地址,dip (Xl, 1P,x2,1P)为所述IP地址的距离度量,LPL (Xl, 1P,x2,1P) 为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目 的IP地址之间最长前缀匹配长度; 所述端口的距离度量通过如下公式获取:其中,为所述当前数据流的服务器端口或客户端口,x2_t为所述历史数据流的 服务器端口或客户端口,(1_〇^_,&_)为所述端口的距离度量,所述3_〇〇通过如下 公式获取:其中,\_(χ)为所述服务器端口或者客户端口所属范围类型赋值,X为所述服务器端 口或者客户端口数值, 所述发送时间的距离度量通过如下公式获取: dt (Xl, t) X2, t) 一 Xl, t_X2, t 其中,Xlit表示当前数据流的发送时间,x&t表示历史数据流的发送时间,dt(x lit,x2,t) 表示所述发送时间的距离度量; 所述传输协议的距离度量通过如下公式获取: dprtcl (Xl, prtcl,乂2, prtci) I -^-1, prtcl ^-1, prtcl I I 2 其中,x^tel为当前数据流所使用的传输协议,x2#tel历史数据流所使用的协议, dptcl (Xl^tcl,Xbtci)为所述传输协议的距离度量。5. 如权利要求3或4所述的方法,其特征在于,所述根据所述IP地址的距离度量、所述 端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前 数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送 时间相似度以及传输协议相似度,具体包括:遵循特征维度的距离度量越小则特征维度相 似度越高的规则,根据所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距 离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个 特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。6. 如权利要求3或4或5所述的方法,其特征在于,所述根据所述IP地址的距离度量、 所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述 当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度, 发送时间相似度以及传输协议相似度,包括:通过如下公式获取所述IP地址相似度,端口 相似度,发送时间相似度以及传输协议相似度;其中,kf(xlif,x2if,0f)为所述特征维度相似度, Xl f为所述当前数据流的模式向量中的 所述至少一个特征维度中一个特征维度,x2ifS所述历史数据流的模式向量中与所述当前 数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,Θ f为所 述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似 度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所其中,F为所述当前数据流的模式向量 中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。7. 如权利要求2至6任意一项所述的方法,其特征在于,所述根据所述特征维度相似度 来获取所述当前数据流的至少一个模式相似度,包括: 根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数 据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度相 似度作为所述当前数据流的所述至少一个模式相似度;或, 根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数 据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当 前数据流的所述至少一个模式相似度。8. 如权利要求7所述的方法,其特征在于,所述根据所述当前数据流的模式向量中的 至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所 对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度,包 括, 通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应 的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:K(Xl,x2, ej为所述当前数据流的所述至少一个模式相似度,~为所述当 前数据流,χ2为所述历史数据流,θ n为决定相似度幅度的参数,且,θ ne Θ, 0 = (K<r,rt %t 0, w为经训练得到的代表网络中的所述历史数据流的 传输行为模式的向量,kf(xlif,x2if,0f)为所述特征维度相似度, Xlif为所述当前数据流的模 式向量中的所述至少一个特征维度中一个特征维度,X2if为所述历史数据流的模式向量中 与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维 度,Θ £为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似 度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占^其中,F为所述当前数据流的模式向量中 的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。9. 如权利要求1至8任意一项所述的方法,其特征在于,所述根据所述当前数据流的至 少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,包括: 根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所 述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数 据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少 一个模式相似度决定。10. 如权利要求9所述的方法,其特征在于,所述根据所述当前数据流的至少一个模式 相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以 预测当前数据流的长度,包括, 通过如下的公式来预测当前数据流的长度:其中,/.为所预测当前数据流的长度,Wl为权重因子,其大小取决于当前数据流的至少 一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式 向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi 为所述至少一个历史数据流中的所述第i个历史数据流的长度。11. 如权利要求10所述的方法,其特征在于,所述的加权因子w 1通过如下公式来获取, w;= g(K(x xi; Θ)) 其中,g为预测模型,K(X>N,Xl,〇)为所述第i个模式相似度,〇为经训练得到的代表网 络中的所述历史数据流的传输行为模式的向量,= …也心xj r 所述当前数据流的模式向量,Xl为所述至少一个历史数据流中的第i个历史数据流的模式 向量。12. 如权利要求11所述的方法,其特征在于,所述预测模型g根据新获取到的历史数据 流的模式向量及长度实时更新。13. 如权利要求9所述的方法,其特征在于,所述根据所述当前数据流的至少一个模式 相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以 预测当前数据流的长度,包括, 通过如下的公式来预测当前数据流的长度: I = K^,xrll )\K,m Knm + a^Kmm 其中,^为所述当前数据流的模式向量;x"为所述至少一个历史数据流的一个历史数 据流子集的模式向量,该子集包含m个历史数据流;KUmXJ表示所述当前数据流与所述历 史数据流子集的模式相似度,!U,K m,Κηηι为所述历史数据流的模式相似度矩阵K中的子模,所述历史数据流的模 式相似度矩阵Κ的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据流 与第j个历史数据流的模式相似度,y为历史数据流的流长度,表示为模型噪声方差。14. 如权利要求9所述的方法,其特征在于,所述用于当前数据流长度预测的公式 .天+〇^_n,y根据新获取到的历史数据流的模式向量及长度实 时更新为:15. 如权利要求1至14任意一项所述的方法,其特征在于,所述阈值根据新获得的历史 数据流实时更新。16. 如权利要求15所述的方法,其特征在于,所述阈值根据新获得的历史数据流实时 更新通过如下步骤实现, 基于历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所 述预设的阈值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相对应 的所述至少一个历史数据流; 根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设的阈 值。17. -种数据流类型检测装置,其特征在于,所述装置,包括: 信息获取模块,用于获取当前数据流的第一个数据包的报头,并从所述报头中获取 所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维 度选自于包括所述当前数据流的,源IP地址(Source IP Address),服务器端口(Server Port),目的地 IP 地址(Destination IP Address),客户端口(Client Port),所述当前数 据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合; 模式相似度计算模块,用于比较所述当前数据流的模式向量中的所述至少一个特征维 度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的至少 一个模式相似度,所述当前数据流的至少一个模式相似度与所述至少一个历史数据的模式 向量一一对应,所述历史数据流的模式向量预存在数据库中; 数据流长度预测模块,根据所述当前数据流的至少一个模式相似度以及对应的至少 一个历史数据流的长度预测当前数据流长度,所述至少一个历史数据流的长度预存在所述 数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对 应;以及 数据流类型检测模块,用于比较预测的所述当前数据流长度及预设的阈值,并根据比 较结果判断所述当前数据流为大数据流或者小数据流。18. 如权利要求17所述的装置,其特征在于,所述模式相似度计算模块包括:距离度量 单元,用于估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历 史数据流的模式向量中对应的特征维度之间的距离度量;特征维度相似度估算单元,用于 根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的 特征维度相似度; 模式相似度获取单元,用于根据所述特征维度相似度来获取所述当前数据流的至少一 个模式相似度,所述至少一个模式相似度与所述至少一个历史数据流一一对应。19. 如权利要求18所述的装置,其特征在于,所述距离估算单元具体用于:分别估算 所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模 式向量中对应的特征维度之间的,IP地址的距离度量,端口的距离度量,发送时间的距离度 量,以及传输协议的距离度量;其中,所述IP的地址的距离度量通过所述当前数据流的模 式向量中的所述源IP地址与所述历史数据流的模式向量中的源IP地址估算,或者,通过所 述当前数据流的模式向量中的所述目的地IP地址与所述历史数据流的模式向量中的目的 地IP地址估算,或者,通过所述当前数据流的模式向量中的所述源IP地址和所述目的地IP 地址与所述历史数据流的模式向量中的源IP地址和目的地IP地址估算;所述端口的距离 度量通过所述当前数据流的模式向量中的所述服务器端口与所述历史数据流的模式向量 中的服务器端口估算,或者通过所述当前数据流的模式向量中的所述客户端口与所述历史 数据流的模式向量中的客户端口估算,或者通过所述当前数据流的模式向量中的所述服务 器端口及所述客户端口与所述历史数据流的模式向量中服务器端口的客户端口估算;所述 发送时间的距离度量通过所述当前数据流的模式向量中的所述当前数据流发送时间与所 述历史数据流的模式向量中的历史数据流发送时间估算;所述传输协议的距离度量通过所 述当前数据流的模式向量中的所述当前数据所使用的传输协议与所述历史数据流的模式 向量中的历史数据所使用的传输协议估算; 对应地,所述特征维度相似度估算单元具体用于,根据,所述IP地址的距离度量、所述 端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前 数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送 时间相似度以及传输协议相似度。20. 如权利要求19所述的装置,其特征在于, 所述IP地址的距离度量通过如下公式获取:其中,1P为所述当前数据流的源IP地址或者目的地IP地址,X 2,1P为所述历史数据流 的源IP地址或者目的地IP地址,dip (Xl, 1P,x2,1P)为所述IP地址的距离度量,LPL (Xl, 1P,x2,1P) 为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目 的IP地址之间最长前缀匹配长度; 所述端口的距离度量通过如下公式获取:其中,为所述当前数据流的服务器端口或客户端口,x2_t为所述历史数据流的 服务器端口或客户端口,(1_〇^_,&_)为所述端口的距离度量,所述3_〇〇通过如下 公式获取:其中,\_(χ)为所述服务器端口或者客户端口所属范围类型赋值,X为所述服务器端 口或者客户端口数值, 所述发送时间的距离度量通过如下公式获取: dt (Xl, t) X2, t) 一 Xl, t_X2, t 其中,Xlit表示当前数据流的发送时间,x&t表示历史数据流的发送时间,dt(x lit,x2,t) 表示所述发送时间的距离度量; 所述传输协议的距离度量通过如下公式获取: dprtcl (Xl, prtcl,乂2, prtci) I -^-1, prtcl ^-1, prtcl I I 2 其中,x^tel为当前数据流所使用的传输协议,x2#tel历史数据流所使用的协议, dptcl (Xl^tcl,Xbtci)为所述传输协议的距离度量。21. 如权利要求19或20所述的装置,其特征在于,所述特征维度相似度估算单元,具体 用于,遵循特征维度的距离度量越小则特征维度相似度越高的规则,根据所述IP地址的距 离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算 与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口 相似度,发送时间相似度以及传输协议相似度。22. 如权利要求19或20或21所述的装置,其特征在于,所述特征维度相似度估算单 元,具体用于: 通过如下公式获取所述IP地址相似度,端口相似度,发送时间相似度以及传输协议相 似度;其中,kf(xlif,x2if,0f)为所述特征维度相似度, Xlif为所述当前数据流的模式向量中的 所述至少一个特征维度中一个特征维度,X2ifS所述历史数据流的模式向量中与所述当前 数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,Θ f为所 述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似 度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所其中,F为所述当前数据流的模式向量 中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。23. 如权利要求18至22任意一项所述的装置,其特征在于,所述模式相似度获取单元, 具体用于: 根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数 据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度相 似度作为所述当前数据流的所述至少一个模式相似度;或,根据所述当前数据流的模式向 量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征 维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似 度。24. 如权利要求23所述的装置,其特征在于,所述模式相似度获取单元,通过如下公式 来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度 来获取所述当前数据流的所述至少一个模式相似度:K(Xl,x2, 9J为所述当前数据流的所述至少一个模式相似度,~为所述当 前数据流,x2为所述历史数据流,θ n为决定相似度幅度的参数,且,Θ ne Θ, ? = -H,叼_|,Θ为经训练得到的代表网络中的所述历史数据流的 传输行为模式的向量,kf(xlif,x2if,0f)为所述特征维度相似度, Xl f为所述当前数据流的模 式向量中的所述至少一个特征维度中一个特征维度,x2if为所述历史数据流的模式向量中 与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维 度,Θ £为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似 度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占其中,F为所述当前数据流的模式向量中 的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。25. 如权利要求17至24任意一项所述的装置,其特征在于,数据流长度预测模块,具体 用于: 根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所 述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数 据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少 一个模式相似度决定。26. 如权利要求25所述的装置,其特征在于,所述数据流长度预测模块,具体用于, 通过如下的公式来预测当前数据流的长度:其中,?:为所预测当前数据流的长度,Wl为权重因子,其大小取决于当前数据流的至少 一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式 向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi 为所述至少一个历史数据流中的所述第i个历史数据流的长度。27. 如权利要求26所述的装置,其特征在于,所述的加权因子w 1通过如下公式来获取, w;= g(K(x xi; Θ)) 其中,g为预测模型,K(X>N,Xl,〇)为所述第i个模式相似度,〇为经训练得到的代表网 络中的所述历史数据流的传输行为模式的向量,? = …gr ~为 所述当前数据流的模式向量,X1为所述至少一个历史数据流中的第i个历史数据流的模式 向量。28. 如权利要求27所述的装置,其特征在于,所述预测模型g根据新获取到的历史数据 流的模式向量及长度实时更新。29. 如权利要求25所述的装置,其特征在于,所述数据流长度预测模块具体用于, 通过如下的公式来预测当前数据流的长度: 二火(X,,X,m, + 〇;太_ ]-1 其中,^为所述当前数据流的模式向量;X"为所述至少一个历史数据流的一个历史数 据流子集的模式向量,该子集包含m个历史数据流;KO^XJ表示所述当前数据流与所历史 数据流子集的模式相似度,Km,K m,Κηηι为所述历史数据流子集的模式相似度矩阵K中的子所述历史数据流子 集的模式相似度矩阵Κ的第i行,第j列元素表示的是所述历史数据流子集中第i个历史 数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,#表示为模型噪声 方差。30. 如权利要求29所述的装置,其特征在于,所述用于当前数据流长度预测的公式 根据新获取到的历史数据流的模式向量及长度实 时更新为:31. 如权利要求11至30任意一项所述的装置,其特征在于,所述数据流类型检测模块, 还用于根据新获得的历史数据流实时更新所述阈值。32. 如权利要求31所述的装置,其特征在于,所述数据流类型检测模块具体用于,基于 历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的 阈值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相对应的所述至 少一个历史数据流; 根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设的阈 值。
【文档编号】H04L12/26GK105827472SQ201510003825
【公开日】2016年8月3日
【申请日】2015年1月4日
【发明人】陈志堂, 耿彦辉, 帕斯卡·普帕
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1