CN105827472A - 网络数据流类型检测方法及装置 - Google Patents
网络数据流类型检测方法及装置 Download PDFInfo
- Publication number
- CN105827472A CN105827472A CN201510003825.3A CN201510003825A CN105827472A CN 105827472 A CN105827472 A CN 105827472A CN 201510003825 A CN201510003825 A CN 201510003825A CN 105827472 A CN105827472 A CN 105827472A
- Authority
- CN
- China
- Prior art keywords
- data stream
- similarity
- current data
- historical data
- pattern
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 28
- 239000013598 vector Substances 0.000 claims abstract description 337
- 230000005540 biological transmission Effects 0.000 claims description 151
- 238000000034 method Methods 0.000 claims description 89
- 238000005259 measurement Methods 0.000 claims description 32
- 239000011159 matrix material Substances 0.000 claims description 23
- 238000005315 distribution function Methods 0.000 claims description 20
- 230000001186 cumulative effect Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000007423 decrease Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 46
- 238000012549 training Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 22
- 241000406668 Loxodonta cyclotis Species 0.000 description 19
- 230000006399 behavior Effects 0.000 description 11
- 238000009826 distribution Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000000737 periodic effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 150000007524 organic acids Chemical class 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供,一种数据流类型检测方法,其包括:获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量;比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度;根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度;以及比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。本发明通过检测数据流的第一个数据包的报头即可实现数据流的类型的检测,能够实时判断网络数据流的类型并且能够提高判断的精度。
Description
技术领域
本发明实施例涉及网络数据路由领域,并且更具体地,涉及网络数据流类型检测方法及装置及其应用的网络数据路由方法及装置。
背景技术
最近研究表明,数据中心网络中,大概90%的数据流属于突发的,持续时间短,流长度很小的小数据流(smalldataflow),也称老鼠流(miceflow);而只有10%的数据流属于持续时间长,流长度巨大的大数据流(largedataflow),也称大象流(elephantflow)。大象流虽然其数量只占整个网络数据流数目的10%,然而大象流的流量(比如数据包数目,或者是数据流字节总数)却占了整个数据中心网络总流量的的90%。由于现有路由算法(比如EqualCostMuti-Path,ECMP)多数利用网络的局部信息,对数据流进行路由转发。因而这些大象流的路径很有可能出现重叠现象,即是不同的大象流使用同一网络链路。由于网络链路带宽有限,当多个大象流使用同一链路时,就会出现网络拥塞(congestion)的情况。相反地,一些链路却处于低利用率甚至是闲置状态。网络拥塞的出现,严重降低了这个网络的运行性能,特别是对于一些对延迟十分敏感的数据流,比如语音通信等。
解决上述问题的有效方法结合网络的全局状态,为每一个数据流选取最佳路由,将数据流平均分布到整个网络中,避免网络拥塞,实现网络负载平衡。然而,数据中心的数据流数目巨大,对每一个待转发的数据流进行路由优化,计算复杂度巨大,其可实行性低。而我们知道,整个网络有90%的流量来源于大象流并且大象流的数目只占整个网络数据流总数的10%。如果我们能够为大象流选取最佳路由,就已经可以很好地优化整个数据中心网络的性能。而针对大象流进行动态路由规划,为其选取最佳路径,要求我们能够将大象流和老鼠流区分开来。目前存在一些技术手段,可用于区分大象流和老鼠流。比如,周期性的轮询(periodicpolling),这是一种简单直接的辨识大象流的方案。其原理是对有待辨识的流进行统计,比如当该流的流量超过一定阈值,或者当该流的持续时间超过一定阈值时,我们就认为该数据流为大象流。然而,由于网络中数据流的数量巨大,如果对每一个数据流都进行流量统计,其时间和空间开销都是十分巨大的,即判定结果有一定的滞后性,并且需要很大的缓存空间。此外,在一种改进方案中则根据一些先验知识,对数据流进行初步筛选,对符合筛选条件的数据流进行流量统计。一般是通过设置流表进行初步筛选,流表一般包括端口数,或者是IP地址,传输协议。如果一个流的信息与流表的其中某一项匹配,或者是与流表的所有项目匹配,则该数据流被转发到流量统计模块进行流量统计,若该流的流量超过一定阈值,这认为是大象流,路由模块则为其选取最佳路径。然而这种方法需要预先设定阈值,判定结果无法适应动态的网络变化而导致判断结果不精确。
发明内容
本发明实施例提供一种网络数据流类型检测方法及装置,能够实时判断网络数据流的类型并且能够提高判断的精度。
第一方面,本发明实施例提供,一种数据流类型检测方法,所述方法,包括:
获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前数据流的,源IP地址(SourceIPAddress),服务器端口(ServerPort),目的地IP地址(DestinationIPAddress),客户端口(ClientPort),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合;
比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度,所述当前数据流的至少一个模式相似度与所述至少一个历史数据的模式向量一一对应,所述历史数据流的模式向量预存在数据库中;
根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应;以及
比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
结合第一方面,在第一方面的第一种可能的实现方式中,所述比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度,包括:
估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度;
根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,所述至少一个模式相似度与所述至少一个历史数据流一一对应。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量,包括:
分别估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的,IP地址的距离度量,端口的距离度量,发送时间的距离度量,以及传输协议的距离度量;其中,所述IP的地址的距离度量通过所述当前数据流的模式向量中的所述源IP地址与所述历史数据流的模式向量中的源IP地址估算,或者,通过所述当前数据流的模式向量中的所述目的地IP地址与所述历史数据流的模式向量中的目的地IP地址估算,或者,通过所述当前数据流的模式向量中的所述源IP地址和所述目的地IP地址与所述历史数据流的模式向量中的源IP地址和目的地IP地址估算;所述端口的距离度量通过所述当前数据流的模式向量中的所述服务器端口与所述历史数据流的模式向量中的服务器端口估算,或者通过所述当前数据流的模式向量中的所述客户端口与所述历史数据流的模式向量中的客户端口估算,或者通过所述当前数据流的模式向量中的所述服务器端口及所述客户端口与所述历史数据流的模式向量中服务器端口的客户端口估算;所述发送时间的距离度量通过所述当前数据流的模式向量中的所述当前数据流发送时间与所述历史数据流的模式向量中的历史数据流发送时间估算;所述传输协议的距离度量通过所述当前数据流的模式向量中的所述当前数据所使用的传输协议与所述历史数据流的模式向量中的历史数据所使用的传输协议估算;
对应地,所述根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度包括:
根据,所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,
所述IP地址的距离度量通过如下公式获取:
其中,x1,ip为所述当前数据流的源IP地址或者目的地IP地址,x2,ip为所述历史数据流的源IP地址或者目的地IP地址,dip(x1,ip,x2,ip)为所述IP地址的距离度量,LPL(x1,ip,x2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目的IP地址之间最长前缀匹配长度;
所述端口的距离度量通过如下公式获取:
其中,x1,port为所述当前数据流的服务器端口或客户端口,x2,port为所述历史数据流的服务器端口或客户端口,dprt(x1,port,x2,port)为所述端口的距离度量,所述δport(x)通过如下公式获取:
其中,δport(x)为所述服务器端口或者客户端口所属范围类型赋值,x为所述服务器端口或者客户端口数值,
所述发送时间的距离度量通过如下公式获取:
dt(x1,t,x2,t)=|x1,t-x2,t|
其中,x1,t表示当前数据流的发送时间,x2,t表示历史数据流的发送时间,dt(x1,t,x2,t)表示所述发送时间的距离度量;
所述传输协议的距离度量通过如下公式获取:
dprtcl(x1,prtcl,x2,prtcl)=||x1,prtcl-x1,prtcl||2
其中,x1,prtcl为当前数据流所使用的传输协议,x2,prtcl历史数据流所使用的协议,dprtcl(x1,prtcl,x2,prtcl)为所述传输协议的距离度量。结合第一方面的第二种或第三种可能的实现方式,在第一方面的第四种可能的实现方式中所述根据所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度,具体包括:
遵循特征维度的距离度量越小则特征维度相似度越高的规则,根据所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
结合第一方面的第二种至第四种可能的实现方式中的任意一种实施方式,在第一方面的第五种可能的实现方式中所述根据所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度,包括:
通过如下公式获取所述IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度;
其中,kf(x1,f,x2,f,θf)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所占权重,其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第六种可能的实现方式中所述根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,包括:
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度相似度作为所述当前数据流的所述至少一个模式相似度;或,
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第七种可能的实现方式中所述根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度,包括,
通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:
K(x1,x2,θm)为所述当前数据流的所述至少一个模式相似度,x1为所述当前数据流,x2为所述历史数据流,θm为决定相似度幅度的参数,且,θm∈Θ,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,kf(x1,f,x2,f,θf)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第七种可能的实现方式中所述根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,包括:
根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少一个模式相似度决定。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第八种可能的实现方式中所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测当前数据流的长度,包括,通过如下的公式来预测当前数据流的长度:
其中,为所预测当前数据流的长度,wi为权重因子,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第九种可能的实现方式中所述的加权因子wi通过如下公式来获取,
wi=g(K(x*,xi,Θ))
其中,g为预测模型,K(x*,xi,Θ)为所述第i个模式相似度,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,x*为所述当前数据流的模式向量,xi为所述至少一个历史数据流中的第i个历史数据流的模式向量。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十种可能的实现方式中所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更新。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十一种可能的实现方式中所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测当前数据流的长度,包括,通过如下的公式来预测当前数据流的长度:
其中,x*为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历史数据流子集的模式向量,该子集包含m个历史数据流;K(x*,Xm)表示所述当前数据流与所历史数据流子集的模式相似度,Kmn,Kmm,Knm为所述历史数据流的模式相似度矩阵K中的子模块, 所述历史数据流的模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,表示为模型噪声方差。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述用于当前数据流长度预测的公式根据新获取到的历史数据流的模式向量及长度实时更新为:
其中,
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十三种可能的实现方式中,所述阈值根据新获得的历史数据流实时更新。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十四种可能的实现方式中,所述阈值根据新获得的历史数据流实时更新通过如下步骤实现,
基于历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的阈值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相对应的所述至少一个历史数据流;
根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设的阈值。
第二方面,本发明实施例提供一种数据流类型检测装置,其包括:
信息获取模块,用于获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前数据流的,源IP地址(SourceIPAddress),服务器端口(ServerPort),目的地IP地址(DestinationIPAddress),客户端口(ClientPort),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合;
模式相似度计算模块,用于比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度,所述当前数据流的至少一个模式相似度与所述至少一个历史数据的模式向量一一对应,所述历史数据流的模式向量预存在数据库中;
数据流长度预测模块,根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应;以及
数据流类型检测模块,用于比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
结合第二方面,在第二方面的第一种可能的实现方式中,所述模式相似度计算模块包括:
距离度量单元,用于估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
特征维度相似度估算单元,用于根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度;
模式相似度获取单元,用于根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,所述至少一个模式相似度与所述至少一个历史数据流一一对应。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述距离估算单元具体用于:分别估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的,IP地址的距离度量,端口的距离度量,发送时间的距离度量,以及传输协议的距离度量;其中,所述IP的地址的距离度量通过所述当前数据流的模式向量中的所述源IP地址与所述历史数据流的模式向量中的源IP地址估算,或者,通过所述当前数据流的模式向量中的所述目的地IP地址与所述历史数据流的模式向量中的目的地IP地址估算,或者,通过所述当前数据流的模式向量中的所述源IP地址和所述目的地IP地址与所述历史数据流的模式向量中的源IP地址和目的地IP地址估算;所述端口的距离度量通过所述当前数据流的模式向量中的所述服务器端口与所述历史数据流的模式向量中的服务器端口估算,或者通过所述当前数据流的模式向量中的所述客户端口与所述历史数据流的模式向量中的客户端口估算,或者通过所述当前数据流的模式向量中的所述服务器端口及所述客户端口与所述历史数据流的模式向量中服务器端口的客户端口估算;所述发送时间的距离度量通过所述当前数据流的模式向量中的所述当前数据流发送时间与所述历史数据流的模式向量中的历史数据流发送时间估算;所述传输协议的距离度量通过所述当前数据流的模式向量中的所述当前数据所使用的传输协议与所述历史数据流的模式向量中的历史数据所使用的传输协议估算;
对应地,所述特征维度相似度估算单元具体用于,根据,所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述IP地址的距离度量通过如下公式获取:
其中,x1,ip为所述当前数据流的源IP地址或者目的地IP地址,x2,ip为所述历史数据流的源IP地址或者目的地IP地址,dip(x1,ip,x2,ip)为所述IP地址的距离度量,LPL(x1,ip,x2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目的IP地址之间最长前缀匹配长度;
所述端口的距离度量通过如下公式获取:
其中,x1,port为所述当前数据流的服务器端口或客户端口,x2,port为所述历史数据流的服务器端口或客户端口,dprt(x1,port,x2,port)为所述端口的距离度量,所述δport(x)通过如下公式获取:
其中,δport(x)为所述服务器端口或者客户端口所属范围类型赋值,x为所述服务器端口或者客户端口数值,
所述发送时间的距离度量通过如下公式获取:
dt(x1,t,x2,t)=|x1,t-x2,t|
其中,x1,t表示当前数据流的发送时间,x2,t表示历史数据流的发送时间,dt(x1,t,x2,t)表示所述发送时间的距离度量;
所述传输协议的距离度量通过如下公式获取:
dprtcl(x1,prtcl,x2,prtcl)=||x1,prtcl-x1,prtcl||2
其中,x1,prtcl为当前数据流所使用的传输协议,x2,prtcl历史数据流所使用的协议,dprtcl(x1,prtcl,x2,prtcl)为所述传输协议的距离度量。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述特征维度相似度估算单元,具体用于,遵循特征维度的距离度量越小则特征维度相似度越高的规则,根据所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所所述特征维度相似度估算单元,具体用于:
通过如下公式获取所述IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度;
其中,kf(x1,f,x2,f,θf)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所占权重,其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述模式相似度获取单元,具体用于:
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度相似度作为所述当前数据流的所述至少一个模式相似度;或,
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第七种可能的实现方式中,所述模式相似度获取单元,通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:
K(x1,x2,θm)为所述当前数据流的所述至少一个模式相似度,x1为所述当前数据流,x2为所述历史数据流,θm为决定相似度幅度的参数,且,θm∈Θ,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,kf(x1,f,x2,f,θf)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第八种可能的实现方式中,数据流长度预测模块,具体用于:
根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少一个模式相似度决定。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第九种可能的实现方式中,所述数据流长度预测模块,具体用于,
通过如下的公式来预测当前数据流的长度:
其中,为所预测当前数据流的长度,wi为权重因子,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十种可能的实现方式中,所述的加权因子wi通过如下公式来获取,
wi=g(K(x*,xi,Θ))
其中,g为预测模型,K(x*,xi,Θ)为所述第i个模式相似度,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,x*为所述当前数据流的模式向量,xi为所述至少一个历史数据流中的第i个历史数据流的模式向量。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十一种可能的实现方式中,所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更新。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十二种可能的实现方式中,所述数据流长度预测模块具体用于,
通过如下的公式来预测当前数据流的长度:
其中,x*为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历史数据流子集的模式向量,该子集包含m个历史数据流;K(x*,Xm)表示所述当前数据流与所历史数据流子集的模式相似度,Kmn,Kmm,Knm为所述历史数据流子集的模式相似度矩阵K中的子模块, 所述历史数据流子集的模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,表示为模型噪声方差。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十三种可能的实现方式中,所述用于当前数据流长度预测的公式根据新获取到的历史数据流的模式向量及长度实时更新为:
其中,
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十四种可能的实现方式中,所述数据流类型检测模块,还用于根据新获得的历史数据流实时更新所述阈值。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十五种可能的实现方式中,所述数据流类型检测模块具体用于,基于历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的阈值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相对应的所述至少一个历史数据流;
根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设的阈值。
本发明中通过对数据流第一个数据包的报头进行特征提取,然后计算当前数据流与数据库中的历史数据流之间的模式相似度,根据模式相似度与历史数据流的长度,预测新数据流的长度。通过比较预测长度和阈值,确定新数据流是否为大数据流。和现有技术相比不需要对数据流直接进行流量统计,不仅能够实现实时判断数据的类型,同时能够实现提高判断的精度,从而能够在接收到第一个数据包时后便能够获得数据流大小的估计,从而为实现实时地路径规划提供可靠的依据。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是部署本发明实施例提供的网络数据流的类型判断方法的数据传输网络架构图;
图2是本发明实施例提供的网络数据流类型检测方法的示意性流程图;
图3是本发明实施例提供的网络数据流类型检测方法中获取模式形似度的方法的示意性流程图;
图4是本发明实施例提供的网络数据流类型检测方法中用于估算特征维度相似度的函数曲线图;
图5是本发明实施例提供的网络数据流类型检测方法中数据流长度预测的逻辑过程的示意性流程图;
图6是本发明实施例提供的网络数据流类型检测方法中数据流长度预测的阈值的更新方法的示意性流程图;
图7是本发明实施例提供的数据流类型检测装置的结构框图;
图8是本发明实施例提供的数据流类型检测方法及装置的测试结果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
本发明所提供的网络数据流的类型的判断方法可以在如图1所述的数据传输网络100中部署和实施。所述数据传输网络100包括有中央控制服务器110,源服务器120,网络交换机130,传输网络140,客户端设备150,预测服务器160,及训练服务器170。
所述中央控制服务器110为所述传输网络100的核心处理设备,其分别与网络交换机130,传输网络140,客户端设备150,预测服务器160及训练服务器170相互连接,用于与网络交换机130,传输网络140,训练服务器170及预测服务器160进行信息交流,指令传递及网络数据传输。同时,源服务器120,网络交换机130,传输网络140,客户端设备150,训练服务器170及预测服务器160之间可以根据不同的业务需求及功能需求相互连接,进行信息及指令的交互。以下,将详细介绍各个设备的功能及组成。
中央控制服务器110主要由处理器、存储器及数据接口等主要部件组成,处理器主要通过调用存储在存储设备中的处理程序以完成相应处理功能,而数据接口则主要负责中央服务器110内部的各个器件之间以及中央处理服务器110与外部组件之间的数据收发。所述的处理器,可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明以下实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法中的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(RandomAccessMemory,RAM)、闪存、只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
所述中央控制服务器110通过数据接口接受网络交换机130上报的路由请求,该路由请求中包括了将要路由的当前数据流信息,并将所述路由请求中的当前数据流信息通过数据接口发送至预测服务器160。预测服务器160根据当前数据流的信息,将当前数据流的长度预测信息发送给中央控制服务器110,中央控制服务器110的中央处理器将调用存储器中预存的处理程序,根据预测服务器160返回的当前数据流的长度预测信息确定当前数据流的类型,并计算与当前数据流的类型匹配的最优的传输路径,随后,中央控制服务器110将根据所述最优的传输路配置针对当前数据流的路由,并将配置好的路由发送给网络交换机130。此外,所述中央控制服务器110还用于通过其数据接口收集由所述网络交换机130上报的已经完成路由的历史数据流信息,并将所述历史数据流信息发送至所述的训练服务器170。
源服务器120主要由处理器、存储器及数据接口等主要部件组成,处理器主要用于通过数据接口将存储在存储器内的数据经过网络交换机130及传输网络140发送给客户端设备150。
网络交换机130,其主要任务是对新进入网络的数据流,即当前数据流,提取数据流第一个数据包的报头,并上报给中央控制服务器110,等待并根据中央控制服务器110计算和配置的路由对当前数据流的数据包进行转发。同时,网络交换机130还将收集已完成路由的历史数据流信息的收集,并上报给中央控制服务器110。其中,所述历史数据流信息包括历史数据流的模式向量以及对应的数据长度。
传输网络140,其由传输线缆和多个网络节点构成,主要用于根据网络交换机130的指令进行数据传输。
客户端设备150,由处理器、存储器及数据接口等主要部件组成,处理器主要用于将客户的数据请求通过数据接口及网络交换机130发送至源服务器120,并将源服务器120通过网络交换机130及传输网络140发送的数据内容存储在存储器中。
预测服务器160,可以是独立的处理设备,例如由独立的处理器,存储器,数据接口组成,所述处理器主要用于调用存储在所述存储器中的处理程序对通过数据接口接收到的当前数据流的信息进行处理,以对当前数据流的长度进行预测,并经长度预测信息通过数据接口发送至中央控制服务器110。其中,所述当前数据流的信息来自于中央控制服务器110。此外,预测服务器160,也可以是依附于中央控制服务器110的一个工作单元,即与中央控制服务器110共用相同存储器,数据接口,但采用不同的处理器,此时,预测服务器160与所述中央控制服务器110之间的数据传输主要通过中央控制服务器110内部的数据总线完成。此外,所述预测服务器160也可以和中央控制服务器110共用相同的处理器,所述共用的方式可以是通过利用处理器中不同的处理资源进行同步(并行处理)或者异步(分时处理)数据处理,或者是利用处理器中相同的处理资源进行异步(分时处理)处理。此外,所述预测服务器160也可以通过虚拟机来实现,即由中央控制服务器110利用自身的处理器,存储器,数据接口,通过调用存储在存储器中的程序模拟出具有完整的硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,该计算机系统可以独立完成所有预测服务器160所需完成的工作而不影响中央控制服务器110自身的运行。可以理解,所述预测服务器160可以进一步简化为存储在中央控制服务器110的存储器中的一个软件程序,该软件程序由中央控制服务器110在适合的时机调用,以实现上述的数据长度预测功能。
训练服务器170,可以是独立的处理设备,由处理器、存储器及数据接口等主要部件组成,所述处理器主要用于调用存储与所述存储器中的训练程序对历史数据流信息进行处理以得到优化的数据长度预测参数,并将所述优化后的数据长度预测参数发送给预测服务器160,预测服务器160将根据优化的数据长度预测参数来进行数据长度的预测,此外,该训练服务器170还根据新获得的历史数据信息来更新数据长度预测参数从而保证预测服务器160能够根据网络数据流的变化情况,实时的调整预测的结果。与预测服务器160相同,所述训练服务器170也可以是依附于中央控制服务器110的一个工作单元,即与中央控制服务器110共用相同存储器,数据接口,但采用不同的处理器,此时,训练服务器170与中央控制服务器110之间的数据传输主要通过中央控制服务器110内部的数据总线完成。此外,训练服务器170也可以和中央控制服务器110共用相同的处理器,所述共用的方式可以是通过利用处理器的不同的处理资源进行同步(并行处理)或者异步(分时处理)的数据处理,或者是利用处理器中相同的处理资源进行异步(分时处理)数据处理。此外,训练服务器170也可以通过虚拟机来实现,即由中央控制服务器110利用自身的处理器,存储器,数据接口,通过调用存储在所述存储器中的程序模拟出具有完整的硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,该计算机系统可以独立完成所有训练服务器170所需完成的工作。可以理解,训练服务器170可以进一步简化为存储在中央控制服务器110的存储器中的一个软件程序,该软件程序由所述中央控制服务器110在适合的时机调用,以实现上述的数据长度预测参数的优化及实时更新。
以上为实现本发明网络数据流类型检测的硬件环境,但需要注意的是,上述硬件环境并不是执行本发明的唯一方式,其可以根据硬件资源,以及业务需求,即数据传输需求动态的调整,例如将央控制服务器110,网络交换机130,预测服务器160及训练服务器170集中在一个数据控制中心,以提高处理效率。
即,本发明的方法可以基于上述的应用环境来进行部署及实施。以下将结合附图来介绍本发明网络数据流类型检测方法。
图2是根据本发明实施例提供的网络数据流类型检测方法的示意性流程图。
S201,获取网络当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前数据流的源IP地址(SourceIPAddress),服务器端口(ServerPort),目的地IP地址(DestinationIPAddress),客户端口(ClientPort),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合。
在一个新数据流,即当前数据流被侦测之后,该新数据流的第一个数据包报头将被网络交换机130获取,获取所述报头的主要目的是提取对预测数据流长度有关键作用的至少一个特征信息。其中,对预测数据流长度有关键作用的特征信息包括当前数据流的源IP地址(SourceIPAddress),服务器端口(ServerPort),目的地IP地址(DestinationIPAddress),客户端口(ClientPort),当前数据流发送时间(StartTime),当前数据流使用的传输协议(Protocol)。
这些特征信息之所以被提取,主要因为是在数据中心网络中,存在一些特定用户行为模式,比如,某些源IP地址可能通过某些端口定期地向某些目的地IP地址发送使用某种传输协议的大数据流,对应地,与这种特定的行为模式密切相关的特征信息可以作为一种数据流类型的标示符,单独地,或者自由组合地,即任意两个、三个或四个相互组合,亦或全体,作为判定当前数据流的类型的基础要素,而被收集于模式向量中,该模式向量可以表示为{srcip,srcprt,destip,destprt,prtcl,t},其中srcip为数据流(当前数据流以及历史数据流)源IP地址,srcprt为数据流(当前数据流以及历史数据流)的服务器端口,destip为数据流(当前数据流以及历史数据流)的目的地IP地址,destprt为数据流(当前数据流以及历史数据流)的客户端口,prtcl为数据流(当前数据流以及历史数据流)所使用的协议,t为数据流(当前数据流以及历史数据流)发送的时间。
S203比较所述当前数据流模式向量中的至少一个特征维度以及至少一个历史数据流模式向量中的对应的特征维度,以获取至少一个当前数据流的模式相似度,所述至少一个当前数据流的模式相似度与所述至少一个历史数据模式向量一一对应,所述历史数据流模式向量预存在数据库中。
该步骤可以由预测服务器160执行,具体,预测服务器160通过将所获取的当前数据流的模式向量与存储在数据库中的历史数据流的模式向量进行比较,所述比较是将当前数据流的模式向量中的特征维度与所述历史数据流的模式向量中的特征维度进行比较,从而获得针对所述每个被比较过的特征维度的特征维度相似度,并通过所述特征维度相似度来获得/估算所述当前数据流的至少一个模式相似度。所述当前数据流的至少一个模式相似度,表示所述当前数据流的模式向量与所述至少一个历史数据流中的某个历史数据流的模式向量之间的相似度。其中,所述历史数据流模式向量预存在数据库中,且存储所述历史数据流模式向量的数据库可以位于网络服务器上,也可以位于执行该步骤的主机中,如预测服务器160的存储器中。
具体地,模式相似度可以通过如下的方式获取:
请参照图3,为本发明步骤S203的一种具体的实现方式,但需要声明,如下实施方式仅仅是实现步骤S203的一种实现方式,本领域技术人员基于S203所给出的启示,可以构造出多种实施方式不同的实现方式,其也应该被认为是本发明的一部分。
S301,估算当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
为了能够客观的反映出所述当前数据流与历史数据流之间的相互关系,即,相似度,本发明中需要对当前数据流和历史数据流做定量的分析,其具体的方式是将当前数据流的模式向量中的特征维度与历史数据流的模式向量中的对应的特征维度进行比较,并用距离度量来表示比较结果,所述距离度量可以理解为用于表述被比较客体之间的相似程度的值、量化的约束关系、或者方程式。如本发明步骤S201中描述,所述的当前数据流的模式向量包括的至少一个特征维度,所述至少一个特征维度来选自于包括所述当前数据流的源IP地址(SourceIPAddress),服务器端口(ServerPort),目的地IP地址(DestinationIPAddress),客户端口(ClientPort),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol),对应,估算当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量,具体为,估算当前数据流的模式向量中的源IP地址与历史数据流的模式向量中的源IP地址之间的距离度量,或者/和,估算当前数据流的模式向量中的服务器端口与历史数据流的模式向量中的服务器端口之间的距离度量,或者/和,估算当前数据流的模式向量中的目的地IP地址与历史数据流的模式向量中的目的地IP地址之间的距离度量,或者/和,估算当前数据流的模式向量中的客户端口与历史数据流的模式向量中的客户端口之间的距离度量,或者/和,估算当前数据流的模式向量中的前数据流发送时间与历史数据流的模式向量中的历史数据流发送时间之间的距离度量,或者/和,估算当前数据流的模式向量中的所述当前数据所使用的传输协议与历史数据流的模式向量中的历史数据所使用的传输协议之间的距离度量。
对应地,所述当前数据流的模式向量中的至少一个特征维度与历史数据流的模式向量中对应的特征维度之间的距离度量包括:IP地址的距离度量、端口的距离度量、发送时间的距离度量、传输协议的距离度量。此外,如前述的定义,“所述距离度量可以理解为用于表述被比较的客体之间的相似程度的值、约束关系、或者方程式”可以了解,所述每个特征维度均可以作为衡量当前数据流的在某一个方面与历史数据流的相似度,因此,上述的特征维度在不同的场景中,可根据需求自由的组合,以获取最佳的模式相似度。比如,IP地址对(源IP地址和目的地IP地址)可以和当前数据所使用的传输协议(Protocol)组合来获取模式相似度,或者,目的地IP地址对,端口对(服务器端口和客户端口),以及所述当前数据所使用的传输协议(Protocol)组合来获取模式相似度等。
以下将介绍如何获取所述的IP地址的距离度量、端口的距离度量、发送时间的距离度量、传输协议的距离度量。
IP地址的距离度量
IP地址代表了前述的源服务器120或者客户端设备150的物理地址或者是逻辑地址。在数据中心网络中,IP地址属于同一子域,即,网络子网(Subnetwork)的源服务器120或者客户端设备150可能拥有相同或者是相似的网络数据发送模式,而这些具有相似的网络发送模式的源服务器120或者客户端设备150发送的数据流长度可能比较相似,即,长度相似概率较大。因此,可以利用当前数据流IP地址(源地址及目的地地址)与历史数据流的IP地址的相似性作为一种特征维度相似度度量,即,IP地址的距离度量,进行数据流长度预测。
通常IP地址为32比特的二进制字符串,我们定义LPL(x1,ip,x2,ip)为两个IP地址的最长前缀匹配长度(LongestPrefixLength)。
例如在下面给出的例子中,
x1,ip:11000010,10100110,00000000,00000000
x2,ip:11000010,10101010,00000000,00000001
其中,X1,ip,X2,ip分别代表当前数据流的源IP地址或者目的地IP地址,以及历史数据流的源IP地址或者目的地IP地址,X1,ip,X2,ip的最长匹配前缀为11000010,1010,因此,这两个IP地址的最长前缀匹配长度LPL(x1,ip,x2,ip)=12。需要注意的是,x1,ip及x2,ip并不局限于代表当前数据流的源IP地址或者目的地IP地址,以及历史数据流的源IP地址或者目的地IP地址,其可以代表任意两个数据流的IP地址。
定义两个IP地址的距离度量为:
上述距离度量满足以下四个性质:
非负性:dip(x1,ip,x2,ip)≥0
不可区分者的同一性:dip(x1,ip,x2,ip)=0iffx1,ip=x2,ip
对称性:dip(x1,ip,x2,ip)=dip(x2,ip,x1,ip)
三角不等性:dip(x1,ip,x3,ip)≤dip(x1,ip,x2,ip)+dip(x2,ip,x3,ip)
端口的距离度量
不同的应用程序发送的数据流长度往往具有不同的特点,而不同的应用程序可能通过不同范围的端口号进行数据的发送。因此,数据流的发送端口通常可以用来估计数据流的长度。
网络端口通常为16比特的二进制字符串,其数值范围为0~65535。本发明采用本领域常用的端口分段方法来对端口的距离度量进行说明,但需要注意的是,本发明不局限于这种端口分段方法。根据ScottE.Coull,FabianMonrose等人发表的名为《OnmeasuringtheSimilarityofNetworkHosts:Pitfalls,NewMetrics,andEmpiricalAnalyses》(中文译名:关于网络主机的相似度度量:陷阱,新测度以及经验分析)的文章表明,我们通常将端口地址根据IANA端口列表,分为以下不同的组别:
常见端口(well-known):0~1023
已注册端口(registered):1024~49151
动态端口(dynamic):49152~65535
根据ScottE.Coull,FabianMonrose等人的文章,相比较于动态端口(dynamic),常见端口(well-known)和已注册端口(registered)更加接近,因为统计上来说,他们往往用来发送某些特定服务的数据。
本发明使用ScottE.Coull,FabianMonrose,等人提出的方法来实现端口的距离度量,但是,需要注意的是,该方法仅仅是实现端口距离度量的一种实现方式,而本发明可以用其他的实现方式来实现端口的距离度量,例如由于网络端口是一个16比特的字符串,我们也可以使用IP地址的距离度量的方法来计算两个网络端口的距离。
根据ScottE.Coull,FabianMonrose等人提出的方法,端口的距离度量通过如下的公式来获取:
其中,x1,port,x2,port分别代表当前数据流的服务器端口或客户端口,即,前述的源服务器120端口,或者客户端设备150的端口,以及历史数据流的服务器端口或客户端口。需要注意的是,所述的x1,port,x2,port并不现定于代表当前数据流的服务器端口或者客户端口,以及数据流的服务器端口或者客户端口,其可以代表任意两个数据流的服务器端口或者客户端口。
参数δport(x)的取值通过如下公式来获取:
其中,δport(x)为所述服务器端口或者客户端口所属范围类型赋值,,x为所述服务器端口或者客户端口数值。
发送时间的距离度量
由于用户发送数据到网络中,或者服务器通过网络向用户发送数据,都可能存在某种时间上的模式,比如绝大部分的大数据可能集中在某些时段内发送,因为用户或者服务器可能考虑到在某些时间段内,网络的数据传输比较少,可以使用的数据传输链路带宽比较大;或者是用户或服务器在大数据流(大象流)发送时间上存在一定的周期性模式。因此,数据流的发送时间,即数据流的发送时间的距离度量可以用来估计数据流的大小。
发送时间是一个简单的整数型变量,因此发送时间的距离度量可以简单定义为两个发送时间的差值绝对值。
dt(x1,t,x2,t)=|x1,t-x2,t|
其中,dt即为发送时间的距离度量,x1,t,x2,t分别为当前数据流的发送时间和历史数据流的发送时间。
传输协议的距离度量
数据流使用的传输协议往往也可用来估计该数据流的长度,比如,大数据流(大象流)往往会采用TCP协议来传输,而一些小的数据流往往会采用UDP协议来传输。假设,在整个网络数据流中,总共有N种不同的传输协议,比如Prtcl={p1,p2,…pN}。我们用一个N维的0-1向量来表示某个数据流使用的协议。当该数据流使用的是第i种传输协议,则该向量的第i维为1,而其他维度均为0,例如在以下例子中,如果数据流使用的是第二种传输协议,则该数据流所使用的协议向量表示为:
对应地,协议的距离度量为可以定义为:
dprtcl(x1,prtcl,x2,prtcl)=||x1,prtcl-x1,prtcl||2
其中,x1,prtcl为当前数据流所使用的传输协议向量,x2,prtcl历史数据流所使用的协议向量,dprtcl(x1,prtcl,x2,prtcl)为所述传输协议的距离度量,||x1,prtcl-x1,prtcl||2为所述两个传输协议向量的差值的二范数。
由于数据流使用过的协议是采用的0-1表示,因此,上述协议的距离度量取值只能为0或者
获取上述不同维度的距离度量之后,便可根据所获取的距离度量计算不同维度特征的相似度,即特征维度相似度。
在步骤S301中所获得的当前数据流的多个特征维度与历史数据流之间的对应的多个特征维度之间的距离度量之后,可以用来计算所述当前数据流的多个特征维度所对应的特征维度相似度,即,继步骤S301之后,还包括步骤:
S303根据所获取的当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度。
请参阅图4,基于特征维度的距离度量来估算特征维度相似度的基本规则是,特征维度的距离度量越小则特征维度相似度越高,相反,特征维度的距离度量越大,则特征维度相似度则越低。因此,图4中所示的指数下降函数便可以作为计算所述特征维度相似度的一种函数,图4中,横坐标表示特征维度的距离度量,纵坐标表示特征维度相似度,而图4中的曲线/直线反映了特征维度的距离度量和特征维度相似度之间的关系,其中,曲线/直线的参数θ则代表了随着距离度量的增加,特征维度相似度的下降速度。图4中不同的曲线/直线则代表不同的特征维度的距离度量和特征维度相似度之间的关系,比如曲线A代表IP地址的距离度量与其对应的IP地址相似度之间的关系,曲线B代表端口距离度量及与其对应的端口相似度之间的关系。
而对应的基于特征维度的距离度量的特征维度相似度可以通过如下函数来定义:其中,kf为特征维度相似度,df为特征维度度量,θf代表所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值控制了所述相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,而f为表示某个特征维度,即,
其中srcip为数据流(当前数据流以及历史数据流)源IP地址,srcprt为数据流(当前数据流以及历史数据流)的服务器端口,destip为数据流(当前数据流以及历史数据流)的目的地IP地址,destprt为数据流(当前数据流以及历史数据流)的客户端口,prtcl为数据流(当前数据流以及历史数据流)所使用的协议,t为数据流(当前数据流以及历史数据流)发送的时间,F为当前数据流的模式向量及历史数据流的模式向量中的特征维度所对应的维度,即,分别对应于源IP地址,服务器端口,目的地IP地址,客户端口,数据流所使用的传输协议,以及数据流的发送时间。
具体地,通过上述的函数,可以得到:
IP地址的相似度函数为:
其中x1,ip,x2,ip为两个源IP地址或是两个目的地IP地址,dip(x1,ip,x2,ip)为两个IP地址的距离度量,θip为控制IP地址相似度函数随IP地址距离度量下降速度的参数。
端口的相似度函数为:
其中x1,port,x2,port为两个服务器端口或是两个客户端口,dport(x1,port,x2,port)为两个端口的距离度量。θport为控制端口相似度函数随端口距离度量下降速度的参数。
协议的相似度函数为:
其中x1,prtcl,x2,prtcl为两个数据流使用的协议,dprtcl(x1,prtcl,x2,prtcl)为两个端口的距离度量,θprtcl为控制端口相似度函数随端口距离度量下降速度的参数。
此外,用户可能存在周期性的大数据流发送模式,这是一种很重要的行为模式,而这种行为模式需要我们主动的去识别和捕捉,从而能够针对该行为模式提高特征维度相似度估算的准确性。因此,对时间这个维度可以使用如下的相似度定义来替代上述的相似度定义,该定义具有发送周期(假如存在)的自动捕获。
其中,kt为数据流(当前数据流及历史数据流)的发送时间相似度,dt为数据流的发送时间的距离度量,θat及θpt代表了发送行为模式中非周期性与周期性的权重。θat及θpt两者之间的相对大小取决于用户发送模式中非周期性,周期性哪一个更明显,代表用户发送数据流的周期。
通过以上的特征维度相似度的估算方式便可以获取各个不同的特征维度相似度。
因此,在上述的步骤S303之后,特征维度相似度估算方法还可以包括如下步骤:
S305,根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度。
在该步骤中,上述的特征维度相似度可以独立地或组合地使用作为后续的当前数据流的长度估算的因子,若单独使用,则根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述特征维度中权重最高的特征维度所对应的特征维度相似度作为所述当前数据流的模式形似度;若组合使用,则将两个及两个以上的特征维度相似度的根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,经过加权组合后作为所述当前数据流的模式相似度,其中,所述当前数据流的模式向量中的至少一个特征维度所对应的权重指的是不同特征维度在进行当前数据流类型检测中对判断准确性影响的大小的度量。其中针对不同应用场景,不同特征的特征维度的权重也不同,每个特征维度所对应的权重可以通过对训练得到的模型进行分析获取,也可以通过专家知识获得。为了能综合考虑影响所述当前数据流长度的各个特征维度,在上述的所有的特征维度相似度都通过估算获取的前提下,本发明中采用组合的方式来融合上述多个特征维度相似度来获得当前数据流的模式相似度,以此,来进一步提高相似度的估算精度,进而提高当前数据流长度估算的精度。
具体地,虽然数据流模式向量中每一个特征维度都对数据流长度的估计有影响,但是不同维度的特征在预测数据流长度时所占具的权重各不相同。同时,不同维度的模式相似度取值范围也有所不同,因此,就需要解决如何融合不同的特征维度的信息,并且自动权衡不同特征维度所起的重要性的问题。本发明中通过如下的相似度函数来实现融合不同维度的信息,同时还能够实现自动权衡不同特征维度的权重的目的。
其中,K(x1,x2,θm)为融合后的模式相似度,即,当前数据流的模式相似度,θm为模式相似度函数的幅度参数,θm∈Θ,其中,Θ中的参数可以通过模型训练得到,具体地,通过最大化历史数据流数据的似然度或者是最小化历史数据流的预测误差来得到。因此,参数向量Θ代表了整个网络的数据传输行为模式,具有自适应性。
当获取到前数据流的模式相似度之后,本发明便可通过模式相似度进行当前数据流的长度预测,即,在所述步骤S203之后,本发明的方法还包括如下步骤:
S205,根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测所述当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应。
将利用所获取的所述当前数据流的至少一个模式相似度以及其对应的至少一个历史数据流的长度来预测当前数据流的长度,其预测的基本原则为,根据所述当前数据流的至少一个模式相似度,将与该至少一个模式相似度对应的历史数据流的长度的通过加权组合来预测所述当前数据流的长度,其中,所述历史数据流的长度在进行加权组合时的权重取决于当前数据预测数据流的模式向量与多个历史数据流的模式向量之间的相似度,即取决与所述当前数据流的至少一个模式相似度。需要注意的是,若当前数据流仅取一个模式相似度,则所对应的历史数据流的长度也仅为一个,对应地,所述权重就为1,而上述的加权组合仅仅需要实现加权而不需要实现组合,即,这种情况下,历史数据流的长度可以直接最为当前数据流的长度的预测值。
请参阅图5,该图表示了数据流长度预测的基本逻辑过程,其中,X*为待预测当前数据流的第一个数据包报头的模式向量,X1~Xn为历史数据流的模式向量。K(X*,X1,Θ)~K(X*,Xn,Θ)为当前数据流的模式向量与历史数据流的模式向量之间的模式相似度,即所述的当前数据流的模式相似度,y1~yn为历史数据流的长度,为所预测当前数据流的长度,其通过以下公式获取:
其中,wi为权重因子,其大小取决于当前数据流的模式向量与第i个历史数据流模式向量之间的相似度,即,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度并可以通过如下的函数来获取:
wi=g(K(x*,xi,Θ))
函数g有多种不同的实现方式。不同的实现方式代表了不同的模型以及不同的模型诠释。通常,我们可以用高斯过程回归(GaussianProcessRegression)或者Nadaraya-Watson估计器(Nadaraya-WatsonEstimator)来实现函数。下面以高斯过程回归(GaussianProcessRegression)来介绍如何通过函数g预测当前数据的长度,即通过预测模型g来实现当前数据流的长度预测,需要说明的是本发明并不局限于基于高斯过程回归的预测模型,本发明还可以采用其他的预测模型来实现。
我们将归一化的当前数据流长度和历史数据流长度y1~yn看成是随机变量,这些变量服从如下的联合高斯分布。
这里K(X,X)表示历史数据流的模式相似度矩阵;K(x*,X)表示待预测的当前数据流与历史数据流的模式相似度;在这里,它们确定了联合高斯分布的协方差矩阵(covariancematrix)。
其中,X=[x1…xn]为历史数据流的模式向量;y=[y1…yn]T为历史数据流的长度,X*为当前数据流的模式向量,为待预测当前数据流的长度,C为联合高斯分布的协方差矩阵,由当前数据流模式向量与历史数据流模式向量之间的相似度得到。
根据如上所述的联合高斯分布函数,我们可以获得关于待预测当前数据流长度的条件概率分布函数:
其中,条件概率分布的均值为:
条件概率分布的方差为:
通常,我们可以用条件概率分布的均值作为我们对新数据流长度的预测,即:
其中,x*为待预测的当前数据流的模式向量;X为历史数据流的模式向量;因此K(x*,X)表示待预测的当前数据流与所选取的历史数据流的模式相似度。历史数据流模式相似度矩阵K的第i行,第j列元素表示的是第i个历史数据流与第j个历史数据流的模式相似度。y为历史数据流的数据流长度。Kmm,Knm,Kmn为矩阵K的子模块,如下所示:
高斯过程回归模型是实现本发明的当前数据流长度预测的一个实施方式,待预测的当前数据流长度可以用历史数据流的长度的某种加权组合得到,而每个历史数据流长度的权重由当前数据流的模式向量与历史数据流的模式向量之间的相似度决定。
从上面这个公式可以看到,待预测的当前数据流的数据流长度预测值为历史数据流的数据流长度的加权组合得到,而权重向量wT为当前数据流的模式向量与历史数据流的模式向量之间的相似度确定,如下所示:
除此之外,我们还可以获得预测值的3σ置信区间,3σ置信区间指的是高斯分布里面99.73%的置信区间,就是说待预测的当前数据流的数据流长度落在这个区间的概率为99.73%,如下所示:
该置信区间的设置,主要目的在于提高当前数据流长度预测的,高准确率,以及高鲁棒性。此外,这个区间可以提供一些我们对预测值的置信度,比如当置信区间比较窄的时候,我们对预测值的预测更加准确,因为这意味着预测值的波动范围比较小。当同时有多个待预测的数据流需要预测并加以路由时,我们就可以根据这个置信区间提供的信息进行排序,对置信区间小的数据流优先选择路由,因为其预测的数据流长度波动性小。上述的基于高斯过程回归的预测模型的主要参数来自于当前数据流与历史数据流之间的模式相似度,而如前所述模式相似度通常由不同的特征维度相似度得到,而不同的特征维度相似度在当前数据流长度预测过程中所起到的作用并不相同,有些比较轻,而有些则比较重,因此,为了能够得到最优的预测模型,例如基于高斯过程回归的预测模型,本发明提出通过历史数据流样本来训练预测模型,优化模型的参数,将优化好的参数用于当前数据流长度的预测中。
通常我们可以通过最大似然估计或者是最小化模型预测误差来训练模型,优化模型参数。比如,假设我们使用高斯过程回归模型(GaussianProcessRegression)来实现函数g,那么我们就可以通过最大化历史数据的似然度来优化模型的参数,具体过程如下:
根据基于高斯过程回归的预测模型,我们可以获得训练样本的似然度函数,如下所示:
这里,K为历史数据流的模式相似度矩阵,其第i行,第j列的元素表示历史数据流i和历史数据流j的模式相似度。I是与K同维度的单位矩阵。为预测模型噪声方差。y为历史数据流的长度。
接着,可以通过最大化训练样本的似然度来优化模型参数。比如,我们可以利用最陡梯度下降的方式来构建参数的迭代公式,如下所示:
其中, α=K-1y。
此外,在整个网络运行过程中,不断有数据流到达目的地。当数据流到达目的地时,我们可以通过某种方式知道这个数据流真实的数据流长度,比如可以通过读取openflow交换机的计数器状态获取或者是通过sflow技术获得。这个时候,我们获得了这个数据流的模式向量和真实数据流长度的组合。这个组合成为了我们模型的新的训练样本。
为了使模型能够更好地适应整个网络的动态变化,数据流长度的预测模型可以利用新的训练样本去不断地更新,从而使预测模型能更准确地预测当前数据流的长度。
具体地,数据流长度的预测模型的更新,可以通过如下方式来实现:
假设在t时刻,收集并计算了n个历史数据流的信息(Xn,yn),其中Xn是历史数据流的模式向量,yn是历史数据流的长度。根据下式,可以获得预测模型的最优参数:
当在t+1时刻,第n+1个训练样本,即历史数据流,到达时,该新的历史数据流的信息将被纳入预测模型中,则需要对预测模型的参数做出修改。
计算logp(yn+1|Xn+1,Θ)时,需要对矩阵Kn+1求逆,其计算复杂度为O((n+1)3),其中, 为n+1个历史数据流的模式相似度矩阵。
由于新的训练样本不断产生,且数量巨大,如果每一次有新训练样本到达时,我们都做上述操作,其时间复杂度十分巨大。所以有必要提出一种高效,在线,计算复杂度低的方案去实现预测模型的实时在线更新。因此,本发明提出一种基于降秩近似(ReducedRankApproximation)结合Woodbury矩阵求逆恒等式(Woodburymatrixinversionidentity)的高斯过程模型的方案,实现基于新的训练样本的模型在线更新方案,该方法的主要实现方式为,通过历史数据流集合中的部分子集来近似整个历史数据流集合,其通过如下的公式来实现:
其中,x*为待预测的当前数据流的模式向量;Xm为历史数据流的一个子集的模式向量,该子集包含m个历史数据流,可以在历史数据流中随机选取所得;K(x*,Xm)表示待预测的当前数据流与所选取的历史数据流子集的模式相似度。Kmn,Kmm,Knm为历史数据流模式相似度矩阵K的子模块,历史数据流模式相似度矩阵K的第i行,第j列元素表示历史数据流i与历史数据流j的模式相似度,y为历史数据流的流长度,
相比原始的预测模型计算复杂度从O(n3)降低为O(m2n)m<<n,可见,采用上述的降秩近似后,模型训练的复杂度极大的降低,也使得基于新训练样本的预测模型在线更新更为简便。
而基于新的训练样本的预测模型的在线更新,可以通过如下方式来实现:首先,我们用如下表达式描述在历史样本有n个的时候的预测模型。
令,则,数据流长度的预测模型可以表示为:
当第n+1个数据流样本到来的时候,我们需要相应地将αn更新为αn+1。
接着,利用Woodbury矩阵求逆恒等式(Woodburymatrixinversionidentity),推导获得如下的更新公式:
当新的数据流需要进行长度预测时,则可以根据更新后的预测模型进行长度预测:
通过上述的参数优化及模型在先更新可以使得对数据流能够根据网络的数据流的变化而动态的变化,对数据流长度的预测更加的准确。
此外,数据流长度预测函数g也可以通过Nadaraya-Watson估计器(Nadaraya-WatsonEstimator)来实现。其原理是利用核概率密度函数估计(KernelDensityEstimation)去估计基于数据流模式向量的数据流长度条件概率分布函数。如下所示:
其中x*是待预测的当前数据流的模式向量,f*为待预测的当前数据流的长度。而它们的联合概率密度函数可以通过核概率密度函数估计的方法获得,如下所示:
这里,K(x*,xi)的定义与上述相似度函数的定义类似。因此,我们可以得到:
我们可以看到,Nadaraya-Watson估计器也是通过历史数据流的加权组合来预测当前待预测数据流的长度,其权重为
如上所述,高斯过程回归和Nadaraya-Watson估计器均可以作为训练预测模型的实施实例。其原理都是利用历史数据流的长度的加权组合来做预测,只是,不同的方法使用不用的权重计算公式。
在通过步骤S205预测得到所述当前数据流长度后,则可以根据该数据流的长度与预设的阈值比较而确定当前数据流的类型,即,本发明在步骤S205后进一步包括如下步骤:
S207,比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
在本步骤中,判定当前数据流的类型的主要通过比较预测得到的当前数据流的长度以及阈值,如果大于阈值则认为当前数据流为大数据流(LargerdataFlow),反之,则认为是小数据流。值得注意的是,若所述当前数据流的长度采用不同度量方式计量,例如在用分段方式来计量,例如当前数据流长度为X比特时,则将当前数据流长度记录M,而当前数据流长度为Y比特时,X>Y,则将当前数据流长度记录N,N<M,则所述的判定方式可以相反,即,如果小于阈值则认为当前数据流为大数据流(LargerdataFlow)(为了前后文保持一致,替换为largedataflow),反之,则认为是小数据流。
为了能够实现阈值能够实时的反应网络中传输的数据的状况,本发明提出对所述阀值根据网络中的历史数据流的状况进行实时修正及更新的方法,请参阅图6,该阈值的修改及更新包括如下步骤:
S601基于历史数据的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的阈值;
S602根据新获取的历史数据流的数据流长度样本,修正累积分布函数及所述预设的阈值。
比如,收集了n个历史数据流的长度yn。根据这些历史数据流长度值建立一个累计分布函数假设整个网络中,占p%比例的数据流为小数据流(老鼠流),通过计算 即, 来获取所述预设的阈值。
当第n+1个数据流样本达到时,我们就相应地修改累计分布函数为并更新阈值
本发明中通过对数据流第一个数据包的报头进行特征提取,然后计算当前数据流与数据库中的历史数据流之间的模式相似度,根据模式相似度与历史数据流的长度,预测新数据流的长度。通过比较预测长度和阈值,确定新数据流是否为大数据流。和现有技术相比不需要对数据流直接进行流量统计,不仅能够实现实时判断数据的类型,同时能够实现提高判断的精度,从而能够在接收到第一个数据包时后便能够获得数据流大小的估计,从而为实现实时地路径规划提供可靠的依据。
图7是根据本发明实施例提供的数据流类型检测装置的结构框图。图7所示的装置能够执行图2,图3,及图6,即本发明所述的数据流类型检测方法,所包含的各个步骤。如图7所示数据流类型检测装置700可以设置在如图1中所示的数据传输网络中来实现。
所述数据流类型检测装置700包括:
信息获取模块710,其用于,获取网络当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前数据流的源IP地址(SourceIPAddress),服务器端口(ServerPort),目的地IP地址(DestinationIPAddress),客户端口(ClientPort),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合。
该信息获取模块710,主要用户获取用于预测当前数据流的长度的相关信息,即,数据流的第一个数据包的包头,该信息获取模块710具体可以是图1中的网络交换机130中的一个功能模块,即通过网络交换机130来实现,此外,该信息获取模块710也可以是设置在网络节点中的具有自主探测和上报能力的独立的软件、或者硬件执行模块,该执行模块能够在新的数据流到来时,启动信息获取功能,来获取所需要的数据流的信息,并将所获取的信息上报给下一个处理模块,并可以实现S201中所介绍的全部步骤及功能。
模式相似度计算模块730,该模块用于比较所述当前数据流模式向量中的至少一个特征维度以及至少一个历史数据流模式向量中的对应的特征维度,以获取至少一个当前数据流的模式相似度,所述至少一个当前数据流的模式相似度与所述至少一个历史数据模式向量一一对应,所述历史数据流模式向量预存在数据库中。
当信息获取模块710获取到网络当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量后,该当前数据流的模式向量将会被传输至模式相似度计算模块730,模式相似度计算模块730将根据信息获取模块710所反馈的信息进行模式相似度的计算,其具体的计算过程请参阅前述方法中对步骤S203的介绍,该模块可以实现S203中所介绍的全部步骤及功能。其中,模式相似度计算模块730可以通过图1中的预测服务器160执行,即,通过预测服务器160中的处理器调用存储与存储器中的模式相似度的计算程序来根据所述的模式向量计算模式相似度。此外,模式相似度计算模块730也可以通过集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件来实现。该模式相似度计算模块730具体还包括:
距离度量单元731,用于估算当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
特征维度相似度估算单元733,用于根据所获取的当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度;以及
模式相似度获取单元735,用于根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度。
本发明的数据类型检测模块700还包括:
数据流长度预测模块750,用于根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测所述当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应。
该数据流长度预测模块750在模式相似度计算模块730计算得到模式相似度之后,变可以根据该模式相似度来进行数据流长度的预测,具体的预测过程可以参照上述方法中对步骤S205的具体介绍,该模块可以实现S205中所介绍的全部步骤及功能。其中,数据流长度预测模块750可以通过图1中的中央控制服务器110执行,即,通过预测服务器110中的处理器调用存储与存储器中的模式相似度的计算程序来根据所述的模式向量计算模式相似度。此外,模式相似度计算模块710也可以通过集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件来实现。
数据流类型检测模块770,该模块用于比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
当所述数据流长度预测模块750将所预测的当前数据流的数据流长度反馈至该数据流类型检测模块770之后,该数据流判断模块770根据该数据流长度和阈值进行比较,从而判断数据流的类型,其具体的比较过程可以参照本发明方法中对步骤S207的介绍,该模块可以实现S207中所介绍的全部步骤及功能。
本发明的数据流类型检测装置700,通过对数据流第一个数据包的报头进行特征提取,然后计算当前数据流与数据库中的历史数据流之间的模式相似度,根据模式相似度与历史数据流的长度,预测新数据流的长度。通过比较预测长度和阈值,确定新数据流是否为大数据流。和现有技术相比不需要对数据流直接进行流量统计,不仅能够实现实时判断数据的类型,同时能够实现提高判断的精度,从而能够在接收到第一个数据包时后便能够获得数据流大小的估计,从而为实现实时地路径规划提供可靠的依据。
请参阅图8,为采用本发明实施例提供的数据流类型检测方法及装置进行数据流类型检测的结果示意图。其中,以星状连接的曲线代表为测试过程中数据流的真实流长度,而以圆点装连接的曲线代表为测试过程中数据流经过本发明的方法及装置中的预测模型得到的数据流长度的预测值。从该测试结果可以看出,本发明的提供的方法及装置中采用的模型预测结果与真实数据流的长度非常吻合。而黑色虚线是区分大数据流(大象流)和小数据流(老鼠流)的阈值。根据阈值进行大数据流和小数据流的分类,其真阳性率为97.87%,真阳性率表示真实大数据流被准确分类为大数据流的比例,而假阳性率为5.78%,假阳性率表示小数据流被错误地分类为大数据流的。从该结果来看,本发明的方法及装置可以非常准确的检测数据流的类型。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内,因此本发明的保护范围应以权利要求的保护范围为准。
Claims (32)
1.一种数据流类型检测方法,其特征在于,所述方法,包括:
获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前数据流的,源IP地址(SourceIPAddress),服务器端口(ServerPort),目的地IP地址(DestinationIPAddress),客户端口(ClientPort),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合;
比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度,所述当前数据流的至少一个模式相似度与所述至少一个历史数据的模式向量一一对应,所述历史数据流的模式向量预存在数据库中;
根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应;以及
比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
2.如权利要求1所述的方法,其特征在于,所述比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度,包括:
估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度;
根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,所述至少一个模式相似度与所述至少一个历史数据流一一对应。
3.如权利要求2所述的方法,其特征在于,所述估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量,包括:
分别估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的,IP地址的距离度量,端口的距离度量,发送时间的距离度量,以及传输协议的距离度量;其中,所述IP的地址的距离度量通过所述当前数据流的模式向量中的所述源IP地址与所述历史数据流的模式向量中的源IP地址估算,或者,通过所述当前数据流的模式向量中的所述目的地IP地址与所述历史数据流的模式向量中的目的地IP地址估算,或者,通过所述当前数据流的模式向量中的所述源IP地址和所述目的地IP地址与所述历史数据流的模式向量中的源IP地址和目的地IP地址估算;所述端口的距离度量通过所述当前数据流的模式向量中的所述服务器端口与所述历史数据流的模式向量中的服务器端口估算,或者通过所述当前数据流的模式向量中的所述客户端口与所述历史数据流的模式向量中的客户端口估算,或者通过所述当前数据流的模式向量中的所述服务器端口及所述客户端口与所述历史数据流的模式向量中服务器端口的客户端口估算;所述发送时间的距离度量通过所述当前数据流的模式向量中的所述当前数据流发送时间与所述历史数据流的模式向量中的历史数据流发送时间估算;所述传输协议的距离度量通过所述当前数据流的模式向量中的所述当前数据所使用的传输协议与所述历史数据流的模式向量中的历史数据所使用的传输协议估算;对应地,所述根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度包括:
根据,所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
4.如权利要求3所述的方法,其特征在于,
所述IP地址的距离度量通过如下公式获取:
其中,x1,ip为所述当前数据流的源IP地址或者目的地IP地址,x2,ip为所述历史数据流的源IP地址或者目的地IP地址,dip(x1,ip,x2,ip)为所述IP地址的距离度量,LPL(x1,ip,x2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目的IP地址之间最长前缀匹配长度;
所述端口的距离度量通过如下公式获取:
其中,x1,port为所述当前数据流的服务器端口或客户端口,x2,port为所述历史数据流的服务器端口或客户端口,dprt(x1,port,x2,port)为所述端口的距离度量,所述δport(x)通过如下公式获取:
其中,δport(x)为所述服务器端口或者客户端口所属范围类型赋值,x为所述服务器端口或者客户端口数值,
所述发送时间的距离度量通过如下公式获取:
dt(x1,t,x2,t)=|x1,t-x2,t|
其中,x1,t表示当前数据流的发送时间,x2,t表示历史数据流的发送时间,dt(x1,t,x2,t)表示所述发送时间的距离度量;
所述传输协议的距离度量通过如下公式获取:
dprtcl(x1,prtcl,x2,prtcl)=||x1,prtcl-x1,prtcl||2
其中,x1,prtcl为当前数据流所使用的传输协议,x2,prtcl历史数据流所使用的协议,dprtcl(x1,prtcl,x2,prtcl)为所述传输协议的距离度量。
5.如权利要求3或4所述的方法,其特征在于,所述根据所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度,具体包括:遵循特征维度的距离度量越小则特征维度相似度越高的规则,根据所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
6.如权利要求3或4或5所述的方法,其特征在于,所述根据所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度,包括:通过如下公式获取所述IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度;
其中,kf(x1,f,x2,f,θf)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所占权重,其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
7.如权利要求2至6任意一项所述的方法,其特征在于,所述根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,包括:
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度相似度作为所述当前数据流的所述至少一个模式相似度;或,
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度。
8.如权利要求7所述的方法,其特征在于,所述根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度,包括,
通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:
K(x1,x2,θm)为所述当前数据流的所述至少一个模式相似度,x1为所述当前数据流,x2为所述历史数据流,θm为决定相似度幅度的参数,且,θm∈Θ,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,kf(x1,f,x2,f,θf)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
9.如权利要求1至8任意一项所述的方法,其特征在于,所述根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,包括:
根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少一个模式相似度决定。
10.如权利要求9所述的方法,其特征在于,所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测当前数据流的长度,包括,
通过如下的公式来预测当前数据流的长度:
其中,为所预测当前数据流的长度,wi为权重因子,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度。
11.如权利要求10所述的方法,其特征在于,所述的加权因子wi通过如下公式来获取,
wi=g(K(x*,xi,Θ))
其中,g为预测模型,K(x*,xi,Θ)为所述第i个模式相似度,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,x*为所述当前数据流的模式向量,xi为所述至少一个历史数据流中的第i个历史数据流的模式向量。
12.如权利要求11所述的方法,其特征在于,所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更新。
13.如权利要求9所述的方法,其特征在于,所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测当前数据流的长度,包括,
通过如下的公式来预测当前数据流的长度:
其中,x*为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历史数据流子集的模式向量,该子集包含m个历史数据流;K(x*,Xm)表示所述当前数据流与所述历史数据流子集的模式相似度,Kmn,Kmm,Knm为所述历史数据流的模式相似度矩阵K中的子模块, 所述历史数据流的模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,表示为模型噪声方差。
14.如权利要求9所述的方法,其特征在于,所述用于当前数据流长度预测的公式根据新获取到的历史数据流的模式向量及长度实时更新为:
其中,
15.如权利要求1至14任意一项所述的方法,其特征在于,所述阈值根据新获得的历史数据流实时更新。
16.如权利要求15所述的方法,其特征在于,所述阈值根据新获得的历史数据流实时更新通过如下步骤实现,
基于历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的阈值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相对应的所述至少一个历史数据流;
根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设的阈值。
17.一种数据流类型检测装置,其特征在于,所述装置,包括:
信息获取模块,用于获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前数据流的,源IP地址(SourceIPAddress),服务器端口(ServerPort),目的地IP地址(DestinationIPAddress),客户端口(ClientPort),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合;
模式相似度计算模块,用于比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度,所述当前数据流的至少一个模式相似度与所述至少一个历史数据的模式向量一一对应,所述历史数据流的模式向量预存在数据库中;
数据流长度预测模块,根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应;以及
数据流类型检测模块,用于比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
18.如权利要求17所述的装置,其特征在于,所述模式相似度计算模块包括:距离度量单元,用于估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;特征维度相似度估算单元,用于根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度;
模式相似度获取单元,用于根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,所述至少一个模式相似度与所述至少一个历史数据流一一对应。
19.如权利要求18所述的装置,其特征在于,所述距离估算单元具体用于:分别估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的,IP地址的距离度量,端口的距离度量,发送时间的距离度量,以及传输协议的距离度量;其中,所述IP的地址的距离度量通过所述当前数据流的模式向量中的所述源IP地址与所述历史数据流的模式向量中的源IP地址估算,或者,通过所述当前数据流的模式向量中的所述目的地IP地址与所述历史数据流的模式向量中的目的地IP地址估算,或者,通过所述当前数据流的模式向量中的所述源IP地址和所述目的地IP地址与所述历史数据流的模式向量中的源IP地址和目的地IP地址估算;所述端口的距离度量通过所述当前数据流的模式向量中的所述服务器端口与所述历史数据流的模式向量中的服务器端口估算,或者通过所述当前数据流的模式向量中的所述客户端口与所述历史数据流的模式向量中的客户端口估算,或者通过所述当前数据流的模式向量中的所述服务器端口及所述客户端口与所述历史数据流的模式向量中服务器端口的客户端口估算;所述发送时间的距离度量通过所述当前数据流的模式向量中的所述当前数据流发送时间与所述历史数据流的模式向量中的历史数据流发送时间估算;所述传输协议的距离度量通过所述当前数据流的模式向量中的所述当前数据所使用的传输协议与所述历史数据流的模式向量中的历史数据所使用的传输协议估算;
对应地,所述特征维度相似度估算单元具体用于,根据,所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
20.如权利要求19所述的装置,其特征在于,
所述IP地址的距离度量通过如下公式获取:
其中,x1,ip为所述当前数据流的源IP地址或者目的地IP地址,x2,ip为所述历史数据流的源IP地址或者目的地IP地址,dip(x1,ip,x2,ip)为所述IP地址的距离度量,LPL(x1,ip,x2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目的IP地址之间最长前缀匹配长度;
所述端口的距离度量通过如下公式获取:
其中,x1,port为所述当前数据流的服务器端口或客户端口,x2,port为所述历史数据流的服务器端口或客户端口,dprt(x1,port,x2,port)为所述端口的距离度量,所述δport(x)通过如下公式获取:
其中,δport(x)为所述服务器端口或者客户端口所属范围类型赋值,x为所述服务器端口或者客户端口数值,
所述发送时间的距离度量通过如下公式获取:
dt(x1,t,x2,t)=|x1,t-x2,t|
其中,x1,t表示当前数据流的发送时间,x2,t表示历史数据流的发送时间,dt(x1,t,x2,t)表示所述发送时间的距离度量;
所述传输协议的距离度量通过如下公式获取:
dprtcl(x1,prtcl,x2,prtcl)=||x1,prtcl-x1,prtcl||2
其中,x1,prtcl为当前数据流所使用的传输协议,x2,prtcl历史数据流所使用的协议,dprtcl(x1,prtcl,x2,prtcl)为所述传输协议的距离度量。
21.如权利要求19或20所述的装置,其特征在于,所述特征维度相似度估算单元,具体用于,遵循特征维度的距离度量越小则特征维度相似度越高的规则,根据所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
22.如权利要求19或20或21所述的装置,其特征在于,所述特征维度相似度估算单元,具体用于:
通过如下公式获取所述IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度;
其中,kf(x1,f,x2,f,θf)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所占权重,其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
23.如权利要求18至22任意一项所述的装置,其特征在于,所述模式相似度获取单元,具体用于:
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度相似度作为所述当前数据流的所述至少一个模式相似度;或,根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度。
24.如权利要求23所述的装置,其特征在于,所述模式相似度获取单元,通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:
K(x1,x2,θm)为所述当前数据流的所述至少一个模式相似度,x1为所述当前数据流,x2为所述历史数据流,θm为决定相似度幅度的参数,且,θm∈Θ,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,kf(x1,f,x2,f,θf)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
25.如权利要求17至24任意一项所述的装置,其特征在于,数据流长度预测模块,具体用于:
根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少一个模式相似度决定。
26.如权利要求25所述的装置,其特征在于,所述数据流长度预测模块,具体用于,
通过如下的公式来预测当前数据流的长度:
其中,为所预测当前数据流的长度,wi为权重因子,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度。
27.如权利要求26所述的装置,其特征在于,所述的加权因子wi通过如下公式来获取,
wi=g(K(x*,xi,Θ))
其中,g为预测模型,K(x*,xi,Θ)为所述第i个模式相似度,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,x*为所述当前数据流的模式向量,xi为所述至少一个历史数据流中的第i个历史数据流的模式向量。
28.如权利要求27所述的装置,其特征在于,所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更新。
29.如权利要求25所述的装置,其特征在于,所述数据流长度预测模块具体用于,
通过如下的公式来预测当前数据流的长度:
其中,x*为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历史数据流子集的模式向量,该子集包含m个历史数据流;K(x*,Xm)表示所述当前数据流与所历史数据流子集的模式相似度,Kmn,Kmm,Knm为所述历史数据流子集的模式相似度矩阵K中的子模块, 所述历史数据流子集的模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,表示为模型噪声方差。
30.如权利要求29所述的装置,其特征在于,所述用于当前数据流长度预测的公式根据新获取到的历史数据流的模式向量及长度实时更新为:
其中,
31.如权利要求11至30任意一项所述的装置,其特征在于,所述数据流类型检测模块,还用于根据新获得的历史数据流实时更新所述阈值。
32.如权利要求31所述的装置,其特征在于,所述数据流类型检测模块具体用于,基于历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的阈值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相对应的所述至少一个历史数据流;
根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设的阈值。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510003825.3A CN105827472B (zh) | 2015-01-04 | 2015-01-04 | 网络数据流类型检测方法及装置 |
PCT/CN2015/086515 WO2016107180A1 (zh) | 2015-01-04 | 2015-08-10 | 网络数据流类型检测方法及装置 |
EP15874869.9A EP3176981B1 (en) | 2015-01-04 | 2015-08-10 | Method and device for detecting the type of a network data flow |
US15/465,757 US10333854B2 (en) | 2015-01-04 | 2017-03-22 | Method and apparatus for detecting type of network data flow |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510003825.3A CN105827472B (zh) | 2015-01-04 | 2015-01-04 | 网络数据流类型检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105827472A true CN105827472A (zh) | 2016-08-03 |
CN105827472B CN105827472B (zh) | 2019-08-20 |
Family
ID=56284125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510003825.3A Active CN105827472B (zh) | 2015-01-04 | 2015-01-04 | 网络数据流类型检测方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10333854B2 (zh) |
EP (1) | EP3176981B1 (zh) |
CN (1) | CN105827472B (zh) |
WO (1) | WO2016107180A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506395A (zh) * | 2016-11-28 | 2017-03-15 | 迈普通信技术股份有限公司 | 一种业务流调度方法及装置 |
CN106850344A (zh) * | 2017-01-22 | 2017-06-13 | 中国人民解放军信息工程大学 | 基于流梯度导向的加密流量识别方法 |
CN108322320A (zh) * | 2017-01-18 | 2018-07-24 | 华为技术有限公司 | 业务生存性分析方法及装置 |
CN109063777A (zh) * | 2018-08-07 | 2018-12-21 | 北京邮电大学 | 网络流量分类方法、装置及实现装置 |
CN109379762A (zh) * | 2018-09-10 | 2019-02-22 | 中国联合网络通信集团有限公司 | 一种随机信号数据统计方法和系统 |
CN109474540A (zh) * | 2018-09-12 | 2019-03-15 | 北京奇安信科技有限公司 | 一种识别opc流量的方法及装置 |
WO2020082518A1 (zh) * | 2018-10-22 | 2020-04-30 | 网宿科技股份有限公司 | 一种识别带宽需求突发的方法和装置 |
WO2021104444A1 (zh) * | 2019-11-27 | 2021-06-03 | 华为技术有限公司 | 一种数据流分类方法、装置及系统 |
WO2022007649A1 (zh) * | 2020-07-10 | 2022-01-13 | 华为技术有限公司 | 一种报文处理方法及装置 |
CN115988574A (zh) * | 2023-03-15 | 2023-04-18 | 阿里巴巴(中国)有限公司 | 基于流表的数据处理方法、系统、设备和存储介质 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10263864B2 (en) * | 2015-08-13 | 2019-04-16 | Electronics And Telecommunications Research Institute | Apparatus and method for collecting adaptive flow statistics data in carrier network |
WO2017071730A1 (en) * | 2015-10-26 | 2017-05-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Length control for packet header sampling |
US10498654B2 (en) * | 2015-12-28 | 2019-12-03 | Amazon Technologies, Inc. | Multi-path transport design |
US9985904B2 (en) | 2015-12-29 | 2018-05-29 | Amazon Technolgies, Inc. | Reliable, out-of-order transmission of packets |
CN109906449B (zh) * | 2016-10-27 | 2021-07-20 | 华为技术有限公司 | 一种查找方法及装置 |
CN106789440B (zh) * | 2017-01-03 | 2020-11-03 | 北京泛讯信息技术有限公司 | 一种ip包包头检测方法及装置 |
CN107526667B (zh) * | 2017-07-28 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种指标异常检测方法、装置以及电子设备 |
JP2019097073A (ja) * | 2017-11-24 | 2019-06-20 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
US10476803B2 (en) * | 2017-12-18 | 2019-11-12 | Mellanox Technologies, Ltd. | Elephant flow detection in network access |
US10462060B2 (en) | 2018-02-14 | 2019-10-29 | Mellanox Technologies, Ltd. | Ability to detect unlimited elephant flows |
US10915420B2 (en) | 2018-12-03 | 2021-02-09 | At&T Intellectual Property I, L.P. | Events data structure for real time network diagnosis |
US10797805B1 (en) * | 2019-07-24 | 2020-10-06 | Cisco Technology, Inc. | Optimized frequency searching for simultaneously received packet detection |
US20220086183A1 (en) * | 2020-09-15 | 2022-03-17 | Bank Of America Corporation | Enhanced network security based on inter-application data flow diagrams |
TWI763261B (zh) * | 2021-01-19 | 2022-05-01 | 瑞昱半導體股份有限公司 | 數據流分類裝置 |
CN113486585A (zh) * | 2021-07-06 | 2021-10-08 | 新智数字科技有限公司 | 设备剩余使用寿命预测方法、装置、电子设备及存储介质 |
CN114021151B (zh) * | 2021-11-17 | 2022-07-01 | 山东云天安全技术有限公司 | 基于Summary长度特征预测工控网漏洞的系统 |
CN114363061A (zh) * | 2021-12-31 | 2022-04-15 | 深信服科技股份有限公司 | 一种异常流量检测方法、系统、存储介质和终端 |
CN115134276B (zh) * | 2022-05-12 | 2023-12-08 | 亚信科技(成都)有限公司 | 一种挖矿流量检测方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459554A (zh) * | 2008-12-30 | 2009-06-17 | 成都市华为赛门铁克科技有限公司 | 数据流检测的方法和装置 |
WO2012121635A1 (en) * | 2011-03-10 | 2012-09-13 | Telefonaktiebolaget L M Ericsson (Publ) | Hybrid congestion control |
CN104038389A (zh) * | 2014-06-19 | 2014-09-10 | 高长喜 | 多重应用协议识别方法和装置 |
CN104158753A (zh) * | 2014-06-12 | 2014-11-19 | 南京工程学院 | 基于软件定义网络的动态流调度方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070192863A1 (en) * | 2005-07-01 | 2007-08-16 | Harsh Kapoor | Systems and methods for processing data flows |
US7454499B2 (en) * | 2002-11-07 | 2008-11-18 | Tippingpoint Technologies, Inc. | Active network defense system and method |
CN101741744B (zh) * | 2009-12-17 | 2011-12-14 | 东南大学 | 一种网络流量识别方法 |
US8418249B1 (en) * | 2011-11-10 | 2013-04-09 | Narus, Inc. | Class discovery for automated discovery, attribution, analysis, and risk assessment of security threats |
US10038703B2 (en) * | 2014-07-18 | 2018-07-31 | The Regents Of The University Of Michigan | Rating network security posture and comparing network maliciousness |
-
2015
- 2015-01-04 CN CN201510003825.3A patent/CN105827472B/zh active Active
- 2015-08-10 EP EP15874869.9A patent/EP3176981B1/en active Active
- 2015-08-10 WO PCT/CN2015/086515 patent/WO2016107180A1/zh active Application Filing
-
2017
- 2017-03-22 US US15/465,757 patent/US10333854B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459554A (zh) * | 2008-12-30 | 2009-06-17 | 成都市华为赛门铁克科技有限公司 | 数据流检测的方法和装置 |
WO2012121635A1 (en) * | 2011-03-10 | 2012-09-13 | Telefonaktiebolaget L M Ericsson (Publ) | Hybrid congestion control |
CN104158753A (zh) * | 2014-06-12 | 2014-11-19 | 南京工程学院 | 基于软件定义网络的动态流调度方法及系统 |
CN104038389A (zh) * | 2014-06-19 | 2014-09-10 | 高长喜 | 多重应用协议识别方法和装置 |
Non-Patent Citations (1)
Title |
---|
周爱平等: "高速网络流量测量方法", 《软件学报》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506395A (zh) * | 2016-11-28 | 2017-03-15 | 迈普通信技术股份有限公司 | 一种业务流调度方法及装置 |
US11108619B2 (en) | 2017-01-18 | 2021-08-31 | Huawei Technologies Co., Ltd. | Service survivability analysis method and apparatus |
CN108322320A (zh) * | 2017-01-18 | 2018-07-24 | 华为技术有限公司 | 业务生存性分析方法及装置 |
CN106850344B (zh) * | 2017-01-22 | 2019-10-29 | 中国人民解放军信息工程大学 | 基于流梯度导向的加密流量识别方法 |
CN106850344A (zh) * | 2017-01-22 | 2017-06-13 | 中国人民解放军信息工程大学 | 基于流梯度导向的加密流量识别方法 |
CN109063777A (zh) * | 2018-08-07 | 2018-12-21 | 北京邮电大学 | 网络流量分类方法、装置及实现装置 |
CN109379762A (zh) * | 2018-09-10 | 2019-02-22 | 中国联合网络通信集团有限公司 | 一种随机信号数据统计方法和系统 |
CN109379762B (zh) * | 2018-09-10 | 2021-09-14 | 中国联合网络通信集团有限公司 | 一种随机信号数据统计方法和系统 |
CN109474540A (zh) * | 2018-09-12 | 2019-03-15 | 北京奇安信科技有限公司 | 一种识别opc流量的方法及装置 |
CN109474540B (zh) * | 2018-09-12 | 2022-06-10 | 奇安信科技集团股份有限公司 | 一种识别opc流量的方法及装置 |
WO2020082518A1 (zh) * | 2018-10-22 | 2020-04-30 | 网宿科技股份有限公司 | 一种识别带宽需求突发的方法和装置 |
WO2021104444A1 (zh) * | 2019-11-27 | 2021-06-03 | 华为技术有限公司 | 一种数据流分类方法、装置及系统 |
WO2022007649A1 (zh) * | 2020-07-10 | 2022-01-13 | 华为技术有限公司 | 一种报文处理方法及装置 |
CN115988574A (zh) * | 2023-03-15 | 2023-04-18 | 阿里巴巴(中国)有限公司 | 基于流表的数据处理方法、系统、设备和存储介质 |
CN115988574B (zh) * | 2023-03-15 | 2023-08-04 | 阿里巴巴(中国)有限公司 | 基于流表的数据处理方法、系统、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3176981A4 (en) | 2017-08-09 |
US20170195240A1 (en) | 2017-07-06 |
US10333854B2 (en) | 2019-06-25 |
CN105827472B (zh) | 2019-08-20 |
WO2016107180A1 (zh) | 2016-07-07 |
EP3176981B1 (en) | 2018-11-21 |
EP3176981A1 (en) | 2017-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105827472B (zh) | 网络数据流类型检测方法及装置 | |
Shafiq et al. | A machine learning approach for feature selection traffic classification using security analysis | |
CA3161839A1 (en) | System and method for estimation of quality of experience (qoe) for video streaming | |
US10237192B2 (en) | Apparatus and system for optimizing communication networks | |
WO2009118602A2 (en) | Available bandwidth estimation in a packet-switched communication network | |
CN106612511B (zh) | 一种基于支持向量机的无线网络吞吐量的评估方法及装置 | |
US11924051B2 (en) | Method and system for estimating network performance using machine learning and partial path measurements | |
Zhao et al. | A few-shot learning based approach to IoT traffic classification | |
CN109952743B (zh) | 用于低内存和低流量开销大流量对象检测的系统和方法 | |
Sanagavarapu et al. | Sdpredictnet-a topology based sdn neural routing framework with traffic prediction analysis | |
Yan et al. | Principal Component Analysis Based Network Traffic Classification. | |
CN113179172A (zh) | 故障检测模型的训练方法、装置及系统 | |
Tong et al. | Machine learning based root cause analysis for SDN network | |
CN110475244B (zh) | 终端管理方法、系统、装置、终端及存储介质 | |
Labonne et al. | Predicting bandwidth utilization on network links using machine learning | |
JP6662812B2 (ja) | 計算装置及び計算方法 | |
Sahay et al. | Traffic convergence detection in IoT LLNs: a multilayer perceptron based mechanism | |
Fida et al. | Bottleneck identification in cloudified mobile networks based on distributed telemetry | |
Silva et al. | Enhancing traffic sampling scope and efficiency | |
Yu et al. | Neural Network-Based Traffic Prediction Model with Adaptive Spatial-Temporal Analysis in NFV Networks | |
Savitha et al. | Random forest based intrusion detection system for AMI | |
JP7095624B2 (ja) | 識別装置及び識別プログラム | |
Prasad et al. | Computation on scheduling attacks and optimal resource utilisation in wireless sensor networks via optimisation techniques | |
Jain et al. | Congestion prediction in Internet of Things network using temporal convolutional network: A centralized approach | |
Tarutani et al. | Estimation of traffic amounts on all links by using the information from a subset of nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |