WO2016107180A1 - 网络数据流类型检测方法及装置 - Google Patents

网络数据流类型检测方法及装置 Download PDF

Info

Publication number
WO2016107180A1
WO2016107180A1 PCT/CN2015/086515 CN2015086515W WO2016107180A1 WO 2016107180 A1 WO2016107180 A1 WO 2016107180A1 CN 2015086515 W CN2015086515 W CN 2015086515W WO 2016107180 A1 WO2016107180 A1 WO 2016107180A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
similarity
current data
historical data
mode
Prior art date
Application number
PCT/CN2015/086515
Other languages
English (en)
French (fr)
Inventor
陈志堂
耿彦辉
普帕帕斯卡
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP15874869.9A priority Critical patent/EP3176981B1/en
Publication of WO2016107180A1 publication Critical patent/WO2016107180A1/zh
Priority to US15/465,757 priority patent/US10333854B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/556Logarithmic or exponential functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour

Definitions

  • Embodiments of the present invention relate to the field of network data routing, and more particularly, to a network data stream type detecting method and apparatus, and a network data routing method and apparatus thereof.
  • An effective method to solve the above problem combines the global state of the network, selects the best route for each data stream, distributes the data flow evenly to the entire network, avoids network congestion, and achieves network load balancing.
  • the number of data streams in the data center is huge, and each of the data streams to be forwarded is route optimized, the computational complexity is huge, and the practicability is low.
  • 90% of the traffic in the entire network comes from the elephant stream and the number of elephant streams only accounts for 10% of the total network traffic. If we can choose the best route for the elephant stream, we can already optimize the performance of the entire data center network.
  • the dynamic routing planning for the elephant stream, the best path for it, requires us to distinguish the elephant stream from the mouse stream.
  • the initial screening is performed by setting a flow table, which generally includes the number of ports, or an IP address, and a transmission protocol. If one If the flow information matches one of the flow tables or matches all the items in the flow table, the data flow is forwarded to the traffic statistics module for traffic statistics. If the traffic of the flow exceeds a certain threshold, this is considered to be large. Like the stream, the routing module picks the best path for it.
  • this method requires a preset threshold, and the determination result cannot adapt to dynamic network changes, resulting in inaccurate judgment results.
  • the embodiment of the invention provides a network data stream type detecting method and device, which can determine the type of the network data stream in real time and can improve the accuracy of the judgment.
  • an embodiment of the present invention provides a data stream type detecting method, where the method includes:
  • the current data At least one mode similarity of the stream is in one-to-one correspondence with the mode vector of the at least one historical data, and the pattern vector of the historical data stream is pre-stored in the database;
  • the length of the data stream is in one-to-one correspondence with the at least one historical data stream pattern vector;
  • the comparing the at least one feature dimension in the mode vector of the current data stream and the corresponding feature in the at least one historical data stream mode vector a dimension to obtain at least one mode similarity of the current data stream including:
  • the at least A pattern similarity corresponds to the at least one historical data stream.
  • the estimating the at least one feature dimension in the mode vector of the current data stream and the at least A distance metric between corresponding feature dimensions in a pattern vector of a historical data stream including:
  • a distance metric of the address of the IP passes through the source IP address in a mode vector of the current data stream and a source in a pattern vector of the historical data stream IP address estimation, or by the destination IP address in the mode vector of the current data stream and the destination IP address in the pattern vector of the historical data stream, or by the mode of the current data stream
  • the source IP address and the destination IP address in the vector are estimated with a source IP address and a destination IP address in a pattern vector of the historical data stream; a distance metric of the port passes a pattern of the current data stream
  • the server port in the vector is estimated with a server port in a pattern vector of the historical data stream, or by a mode of the current data stream
  • the client port in the vector is estimated
  • the estimating the feature dimension similarity corresponding to the at least one feature dimension in the mode vector of the current data stream according to the distance metric includes:
  • the distance metric of the IP address is obtained by the following formula:
  • x 1, ip is the source IP address or destination IP address of the current data stream
  • x 2, ip is the source IP address or destination IP address of the historical data stream
  • d ip (x 1, ip , x 2, ip ) is a distance metric of the IP address
  • LPL (x 1, ip , x 2, ip ) is the source IP address or destination IP address of the current data stream and the source IP of the historical data stream The longest prefix match length between the address or destination IP address;
  • the distance metric of the port is obtained by the following formula:
  • x 1 port is the server port or client port of the current data stream
  • x 2 port is the server port or client port of the historical data stream
  • d prt (x 1,port ,x 2,port ) is The distance metric of the port , the ⁇ port (x) is obtained by the following formula:
  • ⁇ port (x) is a value assigned to the server port or the range of the client port
  • x is the value of the server port or the client port.
  • the distance metric of the transmission time is obtained by the following formula:
  • x 1, t represents the transmission time of the current data stream
  • x 2, t represents the transmission time of the historical data stream
  • d t (x 1, t , x 2, t ) represents the distance metric of the transmission time
  • the distance metric of the transmission protocol is obtained by the following formula:
  • x 1, prtcl is the transport protocol used by the current data stream
  • x 2 the protocol used by the prtcl historical data stream
  • d prtcl is the distance metric of the transport protocol.
  • the distance metric according to the IP address, the distance metric of the port, the a distance metric of the transmission time and a distance metric of the transmission protocol respectively estimating an IP address similarity, a port similarity, a transmission time similarity, and a transmission protocol corresponding to the at least one feature dimension in the mode vector of the current data stream Similarity, including:
  • the rule is based on the distance metric of the IP address, the distance metric of the port, the distance metric of the sending time, and the distance metric of the transmission protocol.
  • the distance metric according to the IP address, a distance metric of the port, a distance metric of the transmission time, and a distance metric of the transmission protocol respectively estimating an IP address similarity, port similarity, corresponding to the at least one feature dimension in the mode vector of the current data stream, Send time similarity and transport protocol similarity, including:
  • k f (x 1,f , x 2,f , ⁇ f ) is the feature dimension similarity
  • x 1,f is a feature of the at least one feature dimension in the pattern vector of the current data stream a dimension
  • x 2, f is a feature dimension of a pattern vector of the historical data stream corresponding to one of the at least one feature dimension in a pattern vector of the current data stream
  • ⁇ f is the at least one feature
  • the similarity function parameter of a feature dimension in the dimension, the parameter value determines the speed at which the similarity function decreases as the distance metric increases, and determines the weight of the dimension feature in the data stream length prediction.
  • F is a feature dimension in the pattern vector of the current data stream and a dimension corresponding to the feature dimension corresponding to the pattern vector of the historical data stream.
  • the acquiring, according to the feature dimension similarity, acquiring at least one of the current data streams Pattern similarity including:
  • the at least one feature dimension corresponding to the mode vector of the current data stream is Weight of the feature dimension similarity corresponding to at least one feature dimension in the pattern vector of the current data stream Combining the at least one mode similarity of the current data stream after combining, including,
  • K(x 1 , x 2 , ⁇ m ) is the at least one mode similarity of the current data stream
  • x 1 is the current data stream
  • x 2 is the historical data stream
  • ⁇ m is determining the similarity
  • the parameter of the amplitude, and ⁇ m ⁇ , ⁇ is a trained vector representing the transmission behavior pattern of the historical data stream in the network
  • k f (x 1, f , x 2, f , ⁇ f ) is the feature dimension similarity
  • x 1, f a feature dimension of the at least one feature dimension in the pattern vector of the current data stream
  • x 2,f is the at least one of the pattern vector of the historical data stream and the pattern vector of the current data stream a feature dimension corresponding to one feature dimension in a feature dimension
  • ⁇ f is a feature dimension similarity function parameter of the at least one feature dimension
  • the parameter value controls a speed at which the similarity function decreases as the distance metric increases.
  • the at least one mode similarity according to the current data stream and the corresponding at least one The length of the historical data stream predicts the current data stream length, including:
  • the at least one mode similarity according to the current data flow Length-weighted combining of the at least one historical data stream corresponding to the at least one mode similarity to predict a length of the current data stream, including predicting a length of the current data stream by the following formula:
  • w i is a weighting factor whose size depends on the i-th mode similarity in at least one mode similarity of the current data stream
  • the i-th mode similarity is the current data a mode similarity between a pattern vector of the stream and a pattern vector of the i-th historical data stream in the at least one historical data stream
  • y i being the ith historical data stream in the at least one historical data stream length.
  • the weighting factor w i is obtained by using the following formula in the ninth possible implementation manner of the first aspect,
  • g is a prediction model
  • K(x * , x i , ⁇ ) is the i-th mode similarity
  • is a trained vector representing a transmission behavior pattern of the historical data stream in the network
  • x * is a mode vector of the current data stream
  • x i is a mode vector of an i-th historical data stream in the at least one historical data stream.
  • the prediction model g is real-time according to a mode vector and a length of the newly acquired historical data stream. Update.
  • the eleventh possible implementation manner of the first aspect Determining a length weighted combination of the at least one historical data stream corresponding to the at least one mode similarity to predict a length of the current data stream, including predicting a length of the current data stream by using the following formula:
  • x * is a mode vector of the current data stream
  • Xm is a pattern vector of a subset of historical data streams of the at least one historical data stream, the subset comprising m historical data streams
  • K(x * , X m ) represents a mode similarity between the current data stream and the subset of historical data streams
  • K mn , K mm , K nm are submodules in the pattern similarity matrix K of the historical data stream
  • the i-th row of the pattern similarity matrix K of the historical data stream, the j-th column element represents the mode similarity of the i-th historical data stream and the j-th historical data stream in the historical data stream subset
  • y is The stream length of the historical data stream, Expressed as the model noise variance.
  • the formula for current data stream length prediction The real-time update of the pattern vector and length based on the newly acquired historical data stream is:
  • the threshold is updated in real time according to the newly obtained historical data stream.
  • the threshold value is real-time updated according to the newly obtained historical data stream by using the following steps,
  • an embodiment of the present invention provides a data stream type detecting apparatus, including:
  • An information obtaining module configured to acquire a header of a first data packet of a current data stream, and obtain a mode vector of the current data stream from the header, where the mode vector includes at least one feature dimension, and the at least one feature The dimension is selected from the following: the source IP address, the server port, the destination IP address, the client port, and the current data stream. Transmitting time, and a combination of information of a transport protocol used by the current data;
  • a mode similarity calculation module configured to compare the at least one feature dimension in the mode vector of the current data stream and the corresponding feature dimension in the mode vector of the at least one historical data stream to obtain the current data stream At least one mode similarity, at least one mode similarity of the current data stream is in one-to-one correspondence with a mode vector of the at least one historical data, and a pattern vector of the historical data stream is pre-stored in a database;
  • the data stream length prediction module predicts a current data stream length according to at least one mode similarity of the current data stream and a length of the corresponding at least one historical data stream, where a length of the at least one historical data stream is pre-stored in the database, And the length of the at least one historical data stream is in one-to-one correspondence with the at least one historical data stream mode vector;
  • the data stream type detecting module is configured to compare the predicted current data stream length and a preset threshold, and determine, according to the comparison result, that the current data stream is a big data stream or a small data stream.
  • the mode similarity calculation module includes:
  • a distance measuring unit configured to estimate a distance metric between the at least one feature dimension in the mode vector of the current data stream and a corresponding feature dimension in the mode vector of the at least one historical data stream;
  • a feature dimension similarity estimating unit configured to estimate, according to the distance metric, a feature dimension similarity corresponding to the at least one feature dimension in the mode vector of the current data stream;
  • a mode similarity obtaining unit configured to acquire, according to the feature dimension similarity, at least one mode similarity of the current data stream, where the at least one mode similarity corresponds to the at least one historical data stream.
  • the distance estimating unit is specifically configured to: separately estimate the mode in the mode vector of the current data stream a distance metric between the feature dimension and the corresponding feature dimension in the mode vector of the at least one historical data stream, a distance metric of the port, a distance metric of the port, a distance metric of the transmission time, and a distance metric of the transmission protocol;
  • the distance metric of the IP address is estimated by the source IP address in the mode vector of the current data stream and the source IP address in the pattern vector of the historical data stream, or by the mode of the current data stream
  • the destination IP address in the vector is estimated with a destination IP address in a pattern vector of the historical data stream, or the source IP address and the destination IP in a pattern vector of the current data stream An address and a source IP address and a destination IP address in a pattern vector of the historical data stream; a distance metric of the port through the current data stream Estimating the server port in the vector vector with
  • the feature dimension similarity estimating unit is specifically configured to estimate, according to the distance metric of the IP address, the distance metric of the port, the distance metric of the sending time, and the distance metric of the transmission protocol, respectively The IP address similarity, the port similarity, the transmission time similarity, and the transmission protocol similarity corresponding to the at least one feature dimension in the mode vector of the current data stream.
  • the distance metric of the IP address is obtained by using the following formula:
  • x 1, ip is the source IP address or destination IP address of the current data stream
  • x 2, ip is the source IP address or destination IP address of the historical data stream
  • d ip (x 1, ip , x 2, ip ) is a distance metric of the IP address
  • LPL (x 1, ip , x 2, ip ) is the source IP address or destination IP address of the current data stream and the source IP of the historical data stream The longest prefix match length between the address or destination IP address;
  • the distance metric of the port is obtained by the following formula:
  • x 1 port is the server port or client port of the current data stream
  • x 2 port is the server port or client port of the historical data stream
  • d prt (x 1,port ,x 2,port ) is The distance metric of the port , the ⁇ port (x) is obtained by the following formula:
  • ⁇ port (x) is a value assigned to the server port or the range of the client port
  • x is the value of the server port or the client port.
  • the distance metric of the transmission time is obtained by the following formula:
  • x 1, t represents the transmission time of the current data stream
  • x 2, t represents the transmission time of the historical data stream
  • d t (x 1, t , x 2, t ) represents the distance metric of the transmission time
  • the distance metric of the transmission protocol is obtained by the following formula:
  • x 1, prtcl is the transport protocol used by the current data stream
  • x 2 the protocol used by the prtcl historical data stream
  • d prtcl (x 1, prtcl , x 2, prtcl ) is the distance metric of the transport protocol.
  • the feature dimension similarity estimating unit is specifically configured to follow the distance of the feature dimension
  • the smaller the metric, the higher the similarity of the feature dimension, and the current data is estimated according to the distance metric of the IP address, the distance metric of the port, the distance metric of the sending time, and the distance metric of the transmission protocol.
  • the feature dimension similarity estimating unit is specifically configured to:
  • k f (x 1,f , x 2,f , ⁇ f ) is the feature dimension similarity
  • x 1,f is a feature of the at least one feature dimension in the pattern vector of the current data stream a dimension
  • x 2, f is a feature dimension of a pattern vector of the historical data stream corresponding to one of the at least one feature dimension in a pattern vector of the current data stream
  • ⁇ f is the at least one feature
  • the similarity function parameter of a feature dimension in the dimension, the parameter value determines the speed at which the similarity function decreases as the distance metric increases, and determines the weight of the dimension feature in the data stream length prediction.
  • F is a feature dimension in the pattern vector of the current data stream and a dimension corresponding to the feature dimension corresponding to the pattern vector of the historical data stream.
  • the mode similarity acquiring unit is specifically configured to:
  • the mode similarity acquiring unit by using the following formula, weighting and combining the current data Obtaining the at least one mode similarity of the current data stream by the feature dimension similarity corresponding to the at least one feature dimension of the stream pattern vector:
  • K(x 1 , x 2 , ⁇ m ) is the at least one mode similarity of the current data stream
  • x 1 is the current data stream
  • x 2 is the historical data stream
  • ⁇ m is determining the similarity
  • the parameter of the amplitude, and ⁇ m ⁇ , ⁇ is a trained vector representing the transmission behavior pattern of the historical data stream in the network
  • k f (x 1, f , x 2, f , ⁇ f ) is the feature dimension similarity
  • x 1, f a feature dimension of the at least one feature dimension in the pattern vector of the current data stream
  • x 2,f is the at least one of the pattern vector of the historical data stream and the pattern vector of the current data stream a feature dimension corresponding to one feature dimension in a feature dimension
  • ⁇ f is a feature dimension similarity function parameter of the at least one feature dimension
  • the parameter value controls a speed at which the similarity function decreases as the distance metric increases.
  • the data stream length prediction module is specifically configured to:
  • the data stream length prediction module is specifically configured to:
  • w i is a weighting factor whose size depends on the i-th mode similarity in at least one mode similarity of the current data stream
  • the i-th mode similarity is the current data a mode similarity between a pattern vector of the stream and a pattern vector of the i-th historical data stream in the at least one historical data stream
  • y i being the ith historical data stream in the at least one historical data stream length.
  • the weighting factor w i is obtained by using the following formula
  • g is a prediction model
  • K(x * , x i , ⁇ ) is the i-th mode similarity
  • is a trained vector representing a transmission behavior pattern of the historical data stream in the network
  • x * is a mode vector of the current data stream
  • x i is a mode vector of an i-th historical data stream in the at least one historical data stream.
  • the prediction model g is based on a pattern vector of the newly acquired historical data stream and The length is updated in real time.
  • the data stream length prediction module is specifically configured to:
  • x * is a mode vector of the current data stream
  • Xm is a pattern vector of a subset of historical data streams of the at least one historical data stream, the subset comprising m historical data streams
  • K(x * , X m ) represents a mode similarity between the current data stream and the subset of historical data streams
  • K mn , K mm , K nm are submodules in the pattern similarity matrix K of the subset of historical data streams
  • the i-th row of the pattern similarity matrix K of the subset of historical data streams, the j-th column element represents a pattern similarity between the i-th historical data stream and the j-th historical data stream in the subset of historical data streams
  • y is the stream length of the historical data stream, Expressed as the model noise variance.
  • the formula for current data stream length prediction The real-time update of the pattern vector and length based on the newly acquired historical data stream is:
  • the data stream type detecting module is further configured to use the newly obtained historical data.
  • the stream updates the threshold in real time.
  • the data stream type detecting module is specifically configured to: the data based on the historical data stream The stream length sample establishes a cumulative distribution function, and the preset threshold is obtained according to the cumulative distribution function, wherein the historical data stream includes the at least one historical data corresponding to at least one mode similarity of the current data stream flow;
  • the feature extraction is performed on the header of the first data packet of the data stream, and then the mode similarity between the current data stream and the historical data stream in the database is calculated, and the new model is predicted according to the mode similarity and the length of the historical data stream.
  • the length of the data stream Determine whether the new data stream is a big data stream by comparing the predicted length with the threshold. Compared with the prior art, it is not required to directly perform traffic statistics on the data stream, and not only can realize the type of data in real time, but also can improve the accuracy of the judgment, so that the data stream can be obtained after receiving the first data packet. Size It is estimated to provide a reliable basis for real-time path planning.
  • FIG. 1 is a schematic diagram of a data transmission network architecture for deploying a type determining method of a network data stream according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a method for detecting a network data stream type according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a method for acquiring a mode similarity in a network data stream type detecting method according to an embodiment of the present invention
  • FIG. 4 is a function curve diagram for estimating feature dimension similarity in a network data stream type detecting method according to an embodiment of the present invention
  • FIG. 5 is a schematic flowchart of a logic process of data stream length prediction in a network data stream type detecting method according to an embodiment of the present invention
  • FIG. 6 is a schematic flowchart of a method for updating a threshold of data stream length prediction in a network data stream type detecting method according to an embodiment of the present disclosure
  • FIG. 7 is a structural block diagram of a data stream type detecting apparatus according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of test results of a data stream type detecting method and apparatus according to an embodiment of the present invention.
  • the method for judging the type of network data stream provided by the present invention can be deployed and implemented in the data transmission network 100 as described in FIG.
  • the data transmission network 100 includes a central control server 110, a source server 120, a network switch 130, a transmission network 140, a client device 150, a prediction server 160, and a training server 170.
  • the central control server 110 is a core processing device of the transmission network 100, and is connected to the network switch 130, the transmission network 140, the client device 150, the prediction server 160, and the training server 170, respectively, for connecting with the network switch 130.
  • the transmission network 140, the training server 170 and the prediction server 160 exchange information. Instruction delivery and network data transmission.
  • the source server 120, the network switch 130, the transmission network 140, the client device 150, the training server 170, and the prediction server 160 can be connected to each other according to different service requirements and functional requirements, and information and instructions are exchanged. The function and composition of each device will be described in detail below.
  • the central control server 110 is mainly composed of main components such as a processor, a memory, and a data interface.
  • the processor mainly performs a corresponding processing function by calling a processing program stored in the storage device, and the data interface is mainly responsible for each device inside the central server 110. Data is transmitted and received between the central processing server 110 and external components.
  • the processor may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or Other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA Field Programmable Gate Array
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the steps in the method disclosed in the embodiment of the present invention may be directly implemented as a hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read only memory or an electrically erasable programmable memory, a register, etc. In the storage medium.
  • the central control server 110 receives the routing request reported by the network switch 130 through the data interface, where the routing request includes current data flow information to be routed, and sends the current data flow information in the routing request to the prediction through the data interface.
  • Server 160 The prediction server 160 transmits the length prediction information of the current data stream to the central control server 110 according to the information of the current data stream, and the central processing unit of the central control server 110 calls the pre-stored processing program in the memory according to the current data returned by the prediction server 160.
  • the length prediction information of the stream determines the type of the current data stream and calculates an optimal transmission path that matches the type of the current data stream, and then the central control server 110 configures a route for the current data stream according to the optimal transmission path. And sending the configured route to the network switch 130.
  • the central control server 110 is further configured to collect historical data flow information of the completed route reported by the network switch 130 through its data interface, and send the historical data flow information to the training server 170.
  • the source server 120 is mainly composed of main components such as a processor, a memory, and a data interface.
  • the processor is mainly used to send data stored in the memory to the client device 150 through the network switch 130 and the transmission network 140 through the data interface.
  • the network switch 130 whose main task is to extract the header of the first data packet of the data stream for the data stream newly entering the network, that is, the current data stream, and report it to the central control server 110, wait for and calculate and configure according to the central control server 110.
  • the route forwards the packets of the current data stream.
  • network switch 130 will also collect The collection of the historical data stream information of the route is completed and reported to the central control server 110.
  • the historical data stream information includes a pattern vector of the historical data stream and a corresponding data length.
  • the transmission network 140 is composed of a transmission cable and a plurality of network nodes, and is mainly used for data transmission according to an instruction of the network switch 130.
  • the client device 150 is composed of a main component such as a processor, a memory, and a data interface.
  • the processor is mainly configured to send a data request of the client to the source server 120 through the data interface and the network switch 130, and pass the source server 120 through the network switch 130.
  • the data content transmitted by the transport network 140 is stored in the memory.
  • the prediction server 160 may be a separate processing device, for example, composed of a separate processor, a memory, and a data interface.
  • the processor is mainly used to call a processing program stored in the memory to receive current data received through the data interface.
  • the streamed information is processed to predict the length of the current data stream and sent to the central control server 110 via the data interface via the length prediction information.
  • the information of the current data stream is from the central control server 110.
  • the prediction server 160 may also be a working unit attached to the central control server 110, that is, share the same memory and data interface with the central control server 110, but adopt different processors. At this time, the prediction server 160 and the central unit Data transfer between the control servers 110 is primarily accomplished through a data bus internal to the central control server 110.
  • the prediction server 160 may also share the same processor with the central control server 110, which may be synchronized (parallel processing) or asynchronous (time-sharing processing) by using different processing resources in the processor. Processing, or asynchronous (time-sharing) processing using the same processing resources in the processor.
  • the prediction server 160 can also be implemented by a virtual machine, that is, the central control server 110 uses its own processor, memory, and data interface to simulate a function with a complete hardware system by calling a program stored in the memory. A complete computer system running in a completely isolated environment that can independently perform all of the work required to predict server 160 without affecting the operation of central control server 110 itself. It will be appreciated that the predictive server 160 can be further simplified to a software program stored in the memory of the central control server 110 that is invoked by the central control server 110 at an appropriate time to implement the data length prediction function described above.
  • the training server 170 may be an independent processing device, and is composed of a main component such as a processor, a memory, and a data interface.
  • the processor is mainly used to call the storage and the training program in the memory to process the historical data stream information to obtain Optimizing the data length prediction parameters, and transmitting the optimized data length prediction parameters to the prediction server 160, the prediction server 160 will perform prediction of the data length according to the optimized data length prediction parameters, and further, the training server 170 is further configured according to The newly obtained historical data information is used to update the data length prediction parameters to ensure that the prediction server 160 can adjust the prediction result in real time according to the change of the network data flow.
  • the training server 170 can also be a work order attached to the central control server 110.
  • the unit that is, the same memory and data interface as the central control server 110, but using different processors, at this time, the data transmission between the training server 170 and the central control server 110 is mainly completed by the data bus inside the central control server 110.
  • the training server 170 may also share the same processor with the central control server 110, which may be synchronous (parallel processing) or asynchronous (time-sharing processing) data processing by using different processing resources of the processor. Or asynchronous (time-sharing) data processing using the same processing resources in the processor.
  • the training server 170 can also be implemented by a virtual machine, that is, the central control server 110 uses its own processor, memory, and data interface to simulate a function with a complete hardware system by calling a program stored in the memory.
  • training server 170 can be further simplified as a software program stored in the memory of the central control server 110, which is invoked by the central control server 110 at an appropriate time to achieve the optimization of the data length prediction parameters described above. And live updates.
  • the above is a hardware environment for implementing the network data stream type detection of the present invention, but it should be noted that the above hardware environment is not the only way to implement the present invention, and may be dynamically adjusted according to hardware resources and service requirements, that is, data transmission requirements.
  • the central control server 110, the network switch 130, the prediction server 160, and the training server 170 are centralized in one data control center to improve processing efficiency.
  • the method of the present invention can be deployed and implemented based on the application environment described above.
  • the network data stream type detecting method of the present invention will be described below with reference to the accompanying drawings.
  • FIG. 2 is a schematic flowchart of a method for detecting a network data stream type according to an embodiment of the present invention.
  • S201 Acquire a header of a first data packet of a current data flow of the network, and obtain a mode vector of the current data flow from the header, where the mode vector includes at least one feature dimension, and the at least one feature dimension is selected from the group consisting of And including a source IP address of the current data stream, a server port, a destination IP address, a client port, a current data stream sending time, and A combination of information of a transport protocol used by the current data.
  • the first packet header of the new data stream is acquired by the network switch 130.
  • the main purpose of obtaining the header is to extract a key role in predicting the length of the data stream.
  • the characteristic information that plays a key role in predicting the length of the data stream includes a source IP address of the current data stream, a server port, a destination IP address, and a client port.
  • the current data stream send time (Start Time), the transport protocol used by the current data stream (Protocol).
  • feature information is extracted mainly because there are some specific user lines in the data center network.
  • some source IP addresses may periodically send large data streams using certain transport protocols to certain destination IP addresses through certain ports, correspondingly, feature information closely related to this particular behavior pattern. It can be collected as an identifier of a data stream type, individually or in combination, that is, any two, three or four are combined with each other, or all, as a basic element for determining the type of the current data stream, and are collected.
  • the pattern vector can be expressed as ⁇ src ip, src prt, dest ip, dest prt, prtcl, t ⁇ , where src ip is the source IP address of the data stream (current data stream and historical data stream), src prt For the server port of the data stream (current data stream and historical data stream), dest ip is the destination IP address of the data stream (current data stream and historical data stream), and dest prt is the data stream (current data stream and historical data stream) Client port, prtcl is the protocol used by the data stream (current data stream and historical data stream), and t is the time sent by the data stream (current data stream and historical data stream).
  • S203 comparing at least one feature dimension in the current data stream mode vector and a corresponding feature dimension in the at least one historical data stream mode vector to obtain a mode similarity of the at least one current data stream, where the at least one current data stream is The pattern similarity is in one-to-one correspondence with the at least one historical data pattern vector, and the historical data stream pattern vector is pre-stored in the database.
  • This step may be performed by the prediction server 160.
  • the prediction server 160 compares the acquired pattern vector of the current data stream with the pattern vector of the historical data stream stored in the database, the comparison being the pattern of the current data stream.
  • the feature dimension in the vector is compared with the feature dimension in the pattern vector of the historical data stream to obtain feature dimension similarity for each of the compared feature dimensions, and is obtained by the feature dimension similarity / estimating at least one mode similarity of the current data stream.
  • At least one mode similarity of the current data stream indicating a similarity between a mode vector of the current data stream and a mode vector of a certain historical data stream in the at least one historical data stream.
  • the historical data stream pattern vector is pre-stored in the database, and the database storing the historical data stream pattern vector may be located on the network server or in the host performing the step, such as the memory of the prediction server 160.
  • the pattern similarity can be obtained as follows:
  • step S203 of the present invention a specific implementation manner of step S203 of the present invention is required. However, it is necessary to declare that the following implementation is only an implementation manner of implementing step S203, and those skilled in the art may construct based on the revelation given by S203. Different implementations of the various embodiments are also considered to be part of the present invention.
  • the present invention needs to quantitatively analyze the current data stream and the historical data stream, and the specific manner is to data flow
  • the feature dimension in the pattern vector is compared with the corresponding feature dimension in the pattern vector of the historical data stream, and the distance metric is used to represent the comparison result, which can be understood as a representation of the degree of similarity between the compared objects. Value, quantized constraint, or equation.
  • the mode vector of the current data stream includes at least one feature dimension, and the at least one feature dimension is selected from a source IP address including the current data stream.
  • a server port, a destination IP address, a client port, a current data stream transmission time, and a protocol used by the current data corresponding to, estimating current A distance metric between at least one feature dimension of the pattern vector of the data stream and a corresponding feature dimension of the pattern vector of the at least one historical data stream, specifically, estimating a source IP address and a historical data stream in a pattern vector of the current data stream a measure of the distance between the source IP addresses in the pattern vector, or / and, a distance metric between the server port in the pattern vector of the current data stream and the server port in the pattern vector of the historical data stream, or / and, Estimating the destination IP address in the pattern vector of the current data stream and the destination IP address in the pattern vector of the historical data stream a distance metric between the addresses, or / and, a distance metric between the client port in the pattern vector of the current data stream and the client port in the pattern vector of the historical data stream, or / and, the mode vector of the current data stream is estimated a distance
  • the distance metric between the at least one feature dimension of the current data stream and the corresponding feature dimension in the pattern vector of the historical data stream includes: a distance metric of the IP address, a distance metric of the port, and a sending time.
  • Distance metric distance metric for the transport protocol.
  • the distance metric can be understood as a value, a constraint relationship, or an equation for expressing the degree of similarity between objects being compared", which can be understood as a measure of the current
  • the distance metric can be understood as a value, a constraint relationship, or an equation for expressing the degree of similarity between objects being compared" which can be understood as a measure of the current
  • the above feature dimensions can be freely combined according to requirements in different scenarios to obtain the best mode similarity.
  • the IP address pair (source IP address and destination IP address) can be combined with the transport protocol used by the current data to obtain mode similarity, or destination IP address pair, port pair (server port and client port). And a combination of transport protocols used by the current data to obtain pattern similarity and the like.
  • the following describes how to obtain the distance metric of the IP address, the distance metric of the port, the distance metric of the transmission time, and the distance metric of the transmission protocol.
  • the IP address represents the physical address or logical address of the aforementioned source server 120 or client device 150.
  • the IP address belongs to the same subdomain, that is, the source server 120 of the network subnet (Subnetwork).
  • the client device 150 may have the same or similar network data transmission mode, and the data streams sent by the source server 120 or the client device 150 having similar network transmission modes may be similar in length, that is, the length similarity probability is relatively large. . Therefore, the similarity between the current data stream IP address (source address and destination address) and the IP address of the historical data stream can be utilized as a feature dimension similarity measure, that is, the distance metric of the IP address, and the data stream length prediction is performed.
  • IP address is a 32-bit binary string.
  • LPL (x 1, ip , x 2, ip ) as the longest prefix length of the two IP addresses.
  • X 1, ip , X 2, ip represent the source IP address or destination IP address of the current data stream, and the source IP address or destination IP address of the historical data stream, X 1, ip , X 2, ip
  • the distance metric defining two IP addresses is:
  • the length of the data stream sent by different applications often has different characteristics, and different applications may send data through different range of port numbers. Therefore, the transmit port of the data stream can usually be used to estimate the length of the data stream.
  • the network port is usually a 16-bit binary string with a value ranging from 0 to 65535.
  • the present invention uses the port segmentation method commonly used in the field to describe the distance metric of the port, but it should be noted that the present invention is not limited. In this port segmentation method. According to Scott E. Coull, Fabian Monrose et al., "On measuring the Similarity of Network Hosts: Pitfalls, New Metrics, and Empirical Analyses” (Chinese translation: Similarity measures on web hosts: traps, new measures and experience) The analysis shows that we usually divide the port addresses into the following different groups according to the IANA port list:
  • the common port (well-known) is more closely related to the registered port than the dynamic port (dynamically), because they are often used to send a certain Data for specific services.
  • the present invention uses the method proposed by Scott E. Coull, Fabian Monrose, et al. to implement the distance metric of the port, but it should be noted that the method is only one implementation of the port distance metric, and the present invention can use other The implementation of the port to achieve the distance metric, for example, because the network port is a 16-bit string, we can also use the distance metric of the IP address to calculate the distance between the two network ports.
  • the distance metric of the port is obtained by the following formula:
  • x 1, port , x 2, port respectively represent a server port or a client port of the current data stream, that is, the aforementioned source server 120 port, or a port of the client device 150, and a server port or a client port of the historical data stream.
  • the x 1,port ,x 2,port are not necessarily defined as the server port or client port representing the current data stream, and the server port or client port of the data stream, which can represent any two data. The server port or client port of the stream.
  • ⁇ port (x) is a value assigned to the server port or the range of the client port
  • x is the server port or client port value
  • the user sends data to the network, or the server sends data to the user through the network
  • the send time is a simple integer variable, so the distance measure of the send time can be simply defined as the absolute value of the difference between the two send times.
  • d t is the distance metric of the transmission time
  • x 1,t , x 2,t are the transmission time of the current data stream and the transmission time of the historical data stream, respectively.
  • the distance measure of the protocol can be defined as:
  • x 1, prtcl is the transport protocol vector used by the current data stream
  • x 2 the protocol vector used by the prtcl historical data stream
  • d prtcl (x 1, prtcl , x 2, prtcl ) is the distance of the transport protocol
  • 2 is the two norm of the difference of the two transport protocol vectors.
  • the distance metric of the above protocol can only be 0 or
  • the similarity of the different dimensional features that is, the feature dimension similarity, can be calculated according to the obtained distance metric.
  • the plurality of feature dimensions of the current data stream may be used to calculate Corresponding feature dimension similarity, that is, after step S301, further includes the steps of:
  • S303 estimating, according to a distance metric between the at least one feature dimension of the acquired mode vector of the current data stream and the corresponding feature dimension in the mode vector of the at least one historical data stream, estimating the mode vector in the current data stream.
  • Feature dimension similarity corresponding to at least one feature dimension.
  • the basic rule for estimating the similarity degree of the feature dimension based on the distance dimension of the feature dimension is that the smaller the distance metric of the feature dimension is, the higher the feature dimension similarity is. On the contrary, the larger the distance metric of the feature dimension is, the feature dimension is. The lower the similarity. Therefore, the exponential descent function shown in FIG. 4 can be used as a function for calculating the similarity degree of the feature dimension.
  • the abscissa represents the distance metric of the feature dimension
  • the ordinate represents the feature dimension similarity
  • FIG. 4 The curve/straight line reflects the relationship between the distance metric of the feature dimension and the similarity of the feature dimension.
  • the curve ⁇ of the curve/line represents the rate of decline of the feature dimension similarity as the distance metric increases.
  • the different curves/lines in Figure 4 represent the relationship between the distance metrics of different feature dimensions and the similarity of feature dimensions.
  • curve A represents the relationship between the distance metric of the IP address and its corresponding IP address similarity
  • curve B represents the relationship between the port distance metric and its corresponding port similarity.
  • the feature dimension similarity of the corresponding feature dimension based distance metric can be defined by the following function:
  • k f is a feature dimension similarity
  • d f is a feature dimension measure
  • ⁇ f represents a similarity function parameter of a feature dimension of the at least one feature dimension, the parameter value controlling the similarity function
  • f is a certain feature dimension, ie,
  • src ip is the source IP address of the data stream (current data stream and historical data stream)
  • src prt is the server port of the data stream (current data stream and historical data stream)
  • dest ip is the data stream (current data stream and historical data stream)
  • Destination IP address dest prt is the client port of the data stream (current data stream and historical data stream)
  • prtcl is the protocol used by the data stream (current data stream and historical data stream)
  • t is the data stream (current data)
  • F is the mode vector of the current data stream and the dimension corresponding to the feature dimension in the pattern vector of the historical data stream, that is, corresponding to the source IP address, server port, destination IP address, and client respectively.
  • Port the transport protocol used by the data stream, and the time the data stream was sent.
  • the similarity function of the IP address is:
  • x 1, ip , x 2, ip are two source IP addresses or two destination IP addresses
  • d ip (x 1, ip , x 2, ip ) is the distance metric of the two IP addresses
  • ⁇ ip is A parameter that controls the rate at which the IP address similarity function decreases with the IP address distance.
  • x 1,port ,x 2,port are two server ports or two client ports
  • d port (x 1,port ,x 2,port ) is the distance metric of the two ports.
  • ⁇ port is a parameter that controls the speed at which the port similarity function decreases with the port distance metric.
  • x 1,prtcl ,x 2,prtcl are the protocols used by the two data streams
  • d prtcl (x 1,prtcl ,x 2,prtcl ) is the distance metric of the two ports
  • ⁇ prtcl is the control port similarity function with the port Distance The parameter that measures the rate of descent.
  • the user may have a periodic big data stream transmission mode, which is a very important behavior pattern, and this behavior pattern requires us to actively identify and capture, so as to improve the feature dimension similarity estimation for the behavior pattern.
  • the accuracy Therefore, for the dimension of time, the similarity definition described above can be used instead of the above similarity definition, which has an automatic capture of the transmission period (if any).
  • k t is the transmission time similarity of the data stream (current data stream and historical data stream)
  • d t is the distance metric of the transmission time of the data stream
  • ⁇ at and ⁇ pt represent the aperiodic and period in the transmission behavior mode Sexual weight.
  • the relative magnitude between ⁇ at and ⁇ pt depends on the aperiodicity of the user's transmission mode, which is more pronounced periodically. The period on which the data stream is sent on behalf of the user.
  • the feature dimension similarity estimating method may further include the following steps:
  • the feature dimension similarity may be used independently or in combination as a factor of the length estimation of the subsequent current data stream, and if used alone, according to at least one feature dimension of the pattern vector of the current data stream.
  • the feature dimension similarity corresponding to the feature dimension with the highest weight among the feature dimensions is used as the mode similarity of the current data stream; if used in combination, two or more feature dimensions are similar
  • the weight corresponding to at least one feature dimension of the pattern vector of the current data stream is weighted and combined as a pattern similarity of the current data stream, wherein at least the pattern vector of the current data stream
  • the weight corresponding to a feature dimension refers to the measure of the magnitude of the impact of different feature dimensions on the accuracy of the judgment in the current data stream type detection.
  • the weights of the feature dimensions of different features are also different.
  • the weights corresponding to each feature dimension can be obtained by analyzing the model obtained by training, or by expert knowledge.
  • the present invention adopts a combination manner to fuse the plurality of feature dimension similarities.
  • the mode similarity of the current data stream is obtained, thereby further improving the estimation accuracy of the similarity, thereby improving the accuracy of the current data stream length estimation.
  • each feature dimension in the data stream pattern vector has an impact on the estimation of the stream length
  • the features of the different dimensions have different weights when predicting the length of the stream.
  • the range of pattern similarity of different dimensions is also different. Therefore, it is necessary to solve the problem of how to integrate different feature dimensions and automatically weigh the importance of different feature dimensions.
  • the fusion of different dimensions of information is achieved by the similarity function as follows, and the purpose of automatically weighing the weights of different feature dimensions is also achieved.
  • K(x 1 , x 2 , ⁇ m ) is the mode similarity after fusion, that is, the mode similarity of the current data stream
  • ⁇ m is the amplitude parameter of the mode similarity function
  • ⁇ m ⁇ the parameters in the ⁇ can be obtained through model training, specifically, by maximizing the likelihood of the historical data stream data or minimizing the prediction error of the historical data stream. Therefore, the parameter vector ⁇ represents the data transmission behavior pattern of the entire network and is adaptive.
  • the present invention can perform current data flow by pattern similarity
  • the length prediction that is, after the step S203, the method of the present invention further includes the following steps:
  • S205 Predict the current data stream length according to at least one mode similarity of the current data stream and a length of the corresponding at least one historical data stream, where a length of the at least one historical data stream is pre-stored in the database, and The length of the at least one historical data stream is in one-to-one correspondence with the at least one historical data stream pattern vector.
  • the degree of similarity between the mode vector of the current data prediction data stream and the pattern vector of the plurality of historical data streams depends on at least one mode similarity to the current data stream.
  • the corresponding historical data stream has only one length, and correspondingly, the weight is 1, and the above weighted combination only needs to implement weighting. There is no need to implement a combination, ie, in this case, the length of the historical data stream can be directly the predicted value of the length of the current data stream.
  • FIG. 5 which shows the flow of data length of the predicted basic logic process, wherein, X * is to be predicted, the current data in the first packet header stream pattern vector, X 1 ⁇ X n historical data stream mode vector.
  • K(X * , X 1 , ⁇ ) ⁇ K(X * , X n , ⁇ ) is the pattern similarity between the pattern vector of the current data stream and the pattern vector of the historical data stream, that is, the current data stream Mode similarity
  • y 1 ⁇ y n is the length of the historical data stream
  • w i is a weighting factor whose size depends on the similarity between the mode vector of the current data stream and the ith historical data stream pattern vector, ie, the size thereof depends on at least one mode similarity of the current data stream.
  • An i-th mode similarity the i-th mode similarity being a mode similarity between a mode vector of the current data stream and a mode vector of an i-th historical data stream in the at least one historical data stream
  • y i is the length of the i-th historical data stream in the at least one historical data stream and can be obtained by the following function:
  • the function g has a number of different implementations. Different implementations represent different models and different model interpretations. In general, we can implement functions using Gaussian Process Regression or Nadaraya-Watson Estimator. Gaussian Process Regression (Gaussian Process) Regression) describes how to predict the length of the current data by the function g, that is, to predict the length of the current data stream by predicting the model g. It should be noted that the present invention is not limited to the prediction model based on Gaussian process regression, and the present invention can also Implemented using other predictive models.
  • K(X, X) represents the pattern similarity matrix of the historical data stream
  • K(x * , X) represents the pattern similarity between the current data stream to be predicted and the historical data stream; here, they determine the joint Gaussian distribution Covariance matrix.
  • X * is the pattern vector of the current data stream
  • C is the covariance matrix of the joint Gaussian distribution, obtained from the similarity between the current data stream pattern vector and the historical data stream pattern vector.
  • the variance of the conditional probability distribution is:
  • K mm , K nm , K mn are sub-modules of matrix K as follows:
  • the Gaussian process regression model is an implementation method for implementing the current data stream length prediction of the present invention.
  • the current data stream length to be predicted can be obtained by some weighted combination of the lengths of the historical data streams, and the weight of each historical data stream length is determined by The similarity between the mode vector of the current data stream and the pattern vector of the historical data stream is determined.
  • the data stream length prediction value of the current data stream to be predicted is a historical data stream.
  • the weighted combination of the data stream lengths is obtained, and the weight vector w T is the similarity determination between the pattern vector of the current data stream and the pattern vector of the historical data stream, as follows:
  • the 3 ⁇ confidence interval of the predicted value refers to the 99.73% confidence interval in the Gaussian distribution, that is, the probability that the current data stream of the current data stream to be predicted falls within this interval is 99.73%, as shown below:
  • the setting of the confidence interval is mainly to improve the current data stream length prediction, high accuracy, and high robustness.
  • this interval can provide some confidence in our predictions. For example, when the confidence interval is narrow, our prediction of the prediction value is more accurate, because it means that the fluctuation range of the prediction value is relatively small.
  • the main parameters of the above-mentioned Gaussian process regression-based prediction model are derived from the pattern similarity between the current data stream and the historical data stream, and the pattern similarity is usually obtained by different feature dimension similarities as described above, and different features.
  • the invention proposes to train the prediction model through the historical data stream samples, optimize the parameters of the model, and use the optimized parameters for the prediction of the current data stream length.
  • K is a pattern similarity matrix of the historical data stream
  • the elements of the i-th row and the j-th column represent the pattern similarity of the historical data stream i and the historical data stream j.
  • I is an identity matrix of the same dimension as K.
  • y is the length of the historical data stream.
  • the model parameters can then be optimized by maximizing the likelihood of the training samples. For example, we can use the steepest gradient drop to construct an iterative formula for the parameters, as shown below:
  • the prediction model of the data stream length can be continuously updated with new training samples, so that the prediction model can more accurately predict the length of the current data stream.
  • the update of the prediction model of the data stream length can be implemented as follows:
  • the n+1th training sample that is, the historical data stream
  • the information of the new historical data stream will be included in the prediction model, and the parameters of the prediction model need to be modified.
  • the present invention proposes a Gaussian process model based on Reduced Rank Approximation combined with Woodbury matrix inversion identity to implement an online update scheme based on a new training sample model.
  • the main implementation is to approximate the entire historical data stream set by a subset of the historical data stream set, which is implemented by the following formula:
  • x * is the mode vector of the current data stream to be predicted
  • X m is a mode vector of a subset of the historical data stream, the subset contains m historical data streams, which can be randomly selected in the historical data stream
  • (x * , Xm ) represents the mode similarity of the current data stream to be predicted and the selected subset of historical data streams.
  • K mn , K mm , K nm are sub-modules of the historical data stream pattern similarity matrix K, the i-th row of the historical data stream pattern similarity matrix K, and the j-th column element represents the pattern of the historical data stream i and the historical data stream j Similarity
  • y is the stream length of the historical data stream
  • the online update of the prediction model based on the new training sample can be realized as follows: First, we use the following expression to describe the prediction model when there are n historical samples.
  • the prediction model of the data stream length can be expressed as:
  • length prediction can be performed based on the updated prediction model:
  • the data stream can be dynamically changed according to the change of the data flow of the network, and the prediction of the data stream length is more accurate.
  • the data stream length prediction function g can also be implemented by the Nadaraya-Watson Estimator.
  • the principle is to use the kernel probability density function estimation (Kernel Density Estimation) to estimate the data flow length conditional probability distribution function based on the data flow pattern vector.
  • kernel Density Estimation Kernel Density Estimation
  • x * is the mode vector of the current data stream to be predicted
  • f * is the length of the current data stream to be predicted.
  • the Nadaraya-Watson estimator also predicts the length of the current data stream to be predicted by a weighted combination of historical data streams, with a weight of
  • Gaussian process regression and Nadaraya-Watson estimator can be used as examples of training prediction models.
  • the principle is to use the weighted combination of the length of the historical data stream to make predictions, but different methods use the unused weight calculation formula.
  • the type of the current data stream may be determined according to the length of the data stream and the preset threshold value. That is, the present invention further includes the following steps after the step S205:
  • the pre-data stream is a big data stream or a small data stream.
  • the current data stream is mainly obtained by comparing the predicted current data stream length and the threshold value. If it is greater than the threshold value, the current data stream is considered to be a large data stream (Larger data flow), otherwise, it is considered to be small. data flow. It should be noted that if the length of the current data stream is measured by using different metrics, for example, by using a segmentation method, for example, when the current data stream length is X bits, the current data stream length is recorded as M, and the current data is recorded.
  • the determination manner may be reversed, that is, if less than the threshold value, the current data stream is considered to be a large data stream (Larger data). Flow) (for the sake of consistency, replace with large data flow), otherwise, it is considered a small data stream.
  • the present invention proposes a method for real-time correction and update of the threshold according to the status of the historical data flow in the network. Please refer to FIG. 6 for the modification of the threshold. And updates include the following steps:
  • S601 establishes a cumulative distribution function based on the data stream length samples of the historical data, and obtains the preset threshold according to the cumulative distribution function;
  • S602 corrects the cumulative distribution function and the preset threshold according to the data stream length sample of the newly acquired historical data stream.
  • the length y n of n historical data streams is collected.
  • the feature extraction is performed on the header of the first data packet of the data stream, and then the mode similarity between the current data stream and the historical data stream in the database is calculated, and the new model is predicted according to the mode similarity and the length of the historical data stream.
  • the length of the data stream Determine whether the new data stream is a big data stream by comparing the predicted length with the threshold.
  • FIG. 7 is a structural block diagram of a data stream type detecting apparatus according to an embodiment of the present invention.
  • the apparatus shown in FIG. 7 is capable of executing the steps of FIG. 2, FIG. 3, and FIG. 6, which are the data stream type detecting methods of the present invention.
  • the data stream type detecting means 700 shown in Fig. 7 can be implemented by being arranged in the data transmission network as shown in Fig. 1.
  • the data stream type detecting apparatus 700 includes:
  • An information obtaining module 710 configured to acquire a header of a first data packet of a current data stream of the network, and obtain a mode vector of the current data stream from the header, where the mode vector includes at least one feature dimension, where The at least one feature dimension is selected from a source IP address including a current data stream, a server port, a destination IP address, and a client port.
  • the current data stream transmission time, and the information combination of the transport protocol used by the current data is selected from a source IP address including a current data stream, a server port, a destination IP address, and a client port.
  • the information obtaining module 710 the primary user obtains related information for predicting the length of the current data stream, that is, the header of the first data packet of the data stream, and the information obtaining module 710 may be specifically the network switch 130 in FIG.
  • a function module is implemented by the network switch 130.
  • the information obtaining module 710 can also be independent software or a hardware execution module with autonomous detection and reporting capability, which is disposed in the network node, and the execution module can be When the new data stream arrives, the information acquisition function is started to obtain the information of the required data stream, and the obtained information is reported to the next processing module, and all the steps and functions described in S201 can be implemented.
  • a mode similarity calculation module 730 configured to compare at least one feature dimension of the current data stream mode vector and a corresponding feature dimension of the at least one historical data stream mode vector to obtain a pattern similar to the at least one current data stream Degree, the pattern similarity of the at least one current data stream is in one-to-one correspondence with the at least one historical data pattern vector, and the historical data stream pattern vector is pre-stored in the database.
  • the mode vector of the current data stream is transmitted to the mode.
  • the similarity calculation module 730, the mode similarity calculation module 730 will perform the calculation of the mode similarity according to the information fed back by the information acquisition module 710.
  • the mode similarity calculation module 730 can be executed by the prediction server 160 in FIG. 1, that is, by the processor in the prediction server 160 calling a calculation program storing the mode similarity in the memory to calculate the mode according to the mode vector. Similarity.
  • the mode similarity calculation module 730 can also be an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, a discrete gate or a transistor logic device, and a discrete device. Hardware components are implemented.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the mode similarity calculation module 730 specifically includes:
  • the distance measuring unit 731 is configured to estimate a distance metric between the at least one feature dimension of the mode vector of the current data stream and the corresponding feature dimension in the mode vector of the at least one historical data stream;
  • the feature dimension similarity estimating unit 733 is configured to estimate the current distance according to a distance metric between the at least one feature dimension of the acquired current data stream and the corresponding feature dimension in the pattern vector of the at least one historical data stream. Feature dimension similarity corresponding to the at least one feature dimension in the pattern vector of the data stream;
  • the mode similarity obtaining unit 735 is configured to acquire at least one mode similarity of the current data stream according to the feature dimension similarity.
  • the data type detecting module 700 of the present invention further includes:
  • the data stream length prediction module 750 is configured to predict the current data stream length according to the at least one mode similarity of the current data stream and the length of the corresponding at least one historical data stream, where the length of the at least one historical data stream is pre-existing In the database, the length of the at least one historical data stream is in one-to-one correspondence with the at least one historical data stream mode vector.
  • the data stream length prediction module 750 may perform the prediction of the data stream length according to the mode similarity.
  • the specific prediction process may refer to the specific method in step S205 in the foregoing method. Introduction, this module can implement all the steps and functions introduced in S205.
  • the data stream length prediction module 750 can be executed by the central control server 110 in FIG. 1, that is, by the processor in the prediction server 110 calling a calculation program storing the mode similarity in the memory to calculate according to the mode vector. Pattern similarity.
  • the mode similarity calculation module 710 can also be an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, a discrete gate or a transistor logic device, and a discrete device. Hardware components are implemented.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • Hardware components are implemented.
  • the data stream type detecting module 770 is configured to compare the predicted current data stream length with a preset threshold, and determine, according to the comparison result, that the current data stream is a big data stream or a small data stream.
  • the data stream determining module 770 compares the data stream length with the threshold value to determine the data.
  • the module can implement all the steps and functions introduced in S207.
  • the data stream type detecting apparatus 700 of the present invention performs feature extraction on the header of the first data packet of the data stream, and then calculates the mode similarity between the current data stream and the historical data stream in the database, according to the mode similarity and history.
  • the length of the data stream predicting the length of the new data stream. Determine whether the new data stream is a big data stream by comparing the predicted length with the threshold.
  • it is not required to directly perform traffic statistics on the data stream, and not only can realize the type of data in real time, but also can improve the accuracy of the judgment, so that the data stream can be obtained after receiving the first data packet. Estimation of size, thus providing a reliable basis for real-time path planning.
  • FIG. 8 is a schematic diagram of results of data stream type detection by using a data stream type detecting method and apparatus provided by an embodiment of the present invention.
  • the curve connected by a star represents the true flow length of the data stream during the test
  • the curve connected by the dot represents the data flow obtained by the prediction model in the method and apparatus of the present invention during the test.
  • the predicted value of the length It can be seen from the test results that the method and apparatus provided by the present invention
  • the model prediction results used are in good agreement with the length of the real data stream.
  • the black dotted line is the threshold that distinguishes between the big data stream (the elephant stream) and the small data stream (the mouse stream).
  • the classification of big data stream and small data stream according to the threshold value is 97.87%.
  • the true positive rate indicates that the real big data stream is accurately classified as the proportion of big data stream, while the false positive rate is 5.78%. Indicates that small data streams are incorrectly classified as large data streams. From this result, the method and apparatus of the present invention can detect the type of data stream very accurately.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), A variety of media that can store program code, such as a disk or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供,一种数据流类型检测方法,其包括:获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量;比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度;根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度;以及比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。本发明通过检测数据流的第一个数据包的报头即可实现数据流的类型的检测,能够实时判断网络数据流的类型并且能够提高判断的精度。

Description

网络数据流类型检测方法及装置 技术领域
本发明实施例涉及网络数据路由领域,并且更具体地,涉及网络数据流类型检测方法及装置及其应用的网络数据路由方法及装置。
背景技术
最近研究表明,数据中心网络中,大概90%的数据流属于突发的,持续时间短,流长度很小的小数据流(small data flow),也称老鼠流(mice flow);而只有10%的数据流属于持续时间长,流长度巨大的大数据流(large data flow),也称大象流(elephant flow)。大象流虽然其数量只占整个网络数据流数目的10%,然而大象流的流量(比如数据包数目,或者是数据流字节总数)却占了整个数据中心网络总流量的的90%。由于现有路由算法(比如Equal Cost Muti-Path,ECMP)多数利用网络的局部信息,对数据流进行路由转发。因而这些大象流的路径很有可能出现重叠现象,即是不同的大象流使用同一网络链路。由于网络链路带宽有限,当多个大象流使用同一链路时,就会出现网络拥塞(congestion)的情况。相反地,一些链路却处于低利用率甚至是闲置状态。网络拥塞的出现,严重降低了这个网络的运行性能,特别是对于一些对延迟十分敏感的数据流,比如语音通信等。
解决上述问题的有效方法结合网络的全局状态,为每一个数据流选取最佳路由,将数据流平均分布到整个网络中,避免网络拥塞,实现网络负载平衡。然而,数据中心的数据流数目巨大,对每一个待转发的数据流进行路由优化,计算复杂度巨大,其可实行性低。而我们知道,整个网络有90%的流量来源于大象流并且大象流的数目只占整个网络数据流总数的10%。如果我们能够为大象流选取最佳路由,就已经可以很好地优化整个数据中心网络的性能。而针对大象流进行动态路由规划,为其选取最佳路径,要求我们能够将大象流和老鼠流区分开来。目前存在一些技术手段,可用于区分大象流和老鼠流。比如,周期性的轮询(periodic polling),这是一种简单直接的辨识大象流的方案。其原理是对有待辨识的流进行统计,比如当该流的流量超过一定阈值,或者当该流的持续时间超过一定阈值时,我们就认为该数据流为大象流。然而,由于网络中数据流的数量巨大,如果对每一个数据流都进行流量统计,其时间和空间开销都是十分巨大的,即判定结果有一定的滞后性,并且需要很大的缓存空间。此外,在一种改进方案中则根据一些先验知识,对数据流进行初步筛选,对符合筛选条件的数据流进行流量统计。一般是通过设置流表进行初步筛选,流表一般包括端口数,或者是IP地址,传输协议。如果一个 流的信息与流表的其中某一项匹配,或者是与流表的所有项目匹配,则该数据流被转发到流量统计模块进行流量统计,若该流的流量超过一定阈值,这认为是大象流,路由模块则为其选取最佳路径。然而这种方法需要预先设定阈值,判定结果无法适应动态的网络变化而导致判断结果不精确。
发明内容
本发明实施例提供一种网络数据流类型检测方法及装置,能够实时判断网络数据流的类型并且能够提高判断的精度。
第一方面,本发明实施例提供,一种数据流类型检测方法,所述方法,包括:
获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前数据流的,源IP地址(Source IP Address),服务器端口(Server Port),目的地IP地址(Destination IP Address),客户端口(Client Port),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合;
比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度,所述当前数据流的至少一个模式相似度与所述至少一个历史数据的模式向量一一对应,所述历史数据流的模式向量预存在数据库中;
根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应;以及
比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
结合第一方面,在第一方面的第一种可能的实现方式中,所述比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流模式向量中对应的特征维度,以获取所述当前数据流的至少一个模式相似度,包括:
估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度;
根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,所述至少 一个模式相似度与所述至少一个历史数据流一一对应。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量,包括:
分别估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的,IP地址的距离度量,端口的距离度量,发送时间的距离度量,以及传输协议的距离度量;其中,所述IP的地址的距离度量通过所述当前数据流的模式向量中的所述源IP地址与所述历史数据流的模式向量中的源IP地址估算,或者,通过所述当前数据流的模式向量中的所述目的地IP地址与所述历史数据流的模式向量中的目的地IP地址估算,或者,通过所述当前数据流的模式向量中的所述源IP地址和所述目的地IP地址与所述历史数据流的模式向量中的源IP地址和目的地IP地址估算;所述端口的距离度量通过所述当前数据流的模式向量中的所述服务器端口与所述历史数据流的模式向量中的服务器端口估算,或者通过所述当前数据流的模式向量中的所述客户端口与所述历史数据流的模式向量中的客户端口估算,或者通过所述当前数据流的模式向量中的所述服务器端口及所述客户端口与所述历史数据流的模式向量中服务器端口的客户端口估算;所述发送时间的距离度量通过所述当前数据流的模式向量中的所述当前数据流发送时间与所述历史数据流的模式向量中的历史数据流发送时间估算;所述传输协议的距离度量通过所述当前数据流的模式向量中的所述当前数据所使用的传输协议与所述历史数据流的模式向量中的历史数据所使用的传输协议估算;
对应地,所述根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度包括:
根据,所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,
所述IP地址的距离度量通过如下公式获取:
Figure PCTCN2015086515-appb-000001
其中,x1,ip为所述当前数据流的源IP地址或者目的地IP地址,x2,ip为所述历史数据流的源IP地址或者目的地IP地址,dip(x1,ip,x2,ip)为所述IP地址的距离度量, LPL(x1,ip,x2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目的IP地址之间最长前缀匹配长度;
所述端口的距离度量通过如下公式获取:
Figure PCTCN2015086515-appb-000002
其中,x1,port为所述当前数据流的服务器端口或客户端口,x2,port为所述历史数据流的服务器端口或客户端口,dprt(x1,port,x2,port)为所述端口的距离度量,所述δport(x)通过如下公式获取:
Figure PCTCN2015086515-appb-000003
其中,δ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地址相似度,端口相似度,发送时间相似度以及传输协议相似度;
Figure PCTCN2015086515-appb-000004
其中,kf(x1,f,x2,ff)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所占权重,
Figure PCTCN2015086515-appb-000005
其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第六种可能的实现方式中所述根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,包括:
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度相似度作为所述当前数据流的所述至少一个模式相似度;或,
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第七种可能的实现方式中所述根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权 组合后作为所述当前数据流的所述至少一个模式相似度,包括,
通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:
Figure PCTCN2015086515-appb-000006
K(x1,x2m)为所述当前数据流的所述至少一个模式相似度,x1为所述当前数据流,x2为所述历史数据流,θm为决定相似度幅度的参数,且,θm∈Θ,
Figure PCTCN2015086515-appb-000007
Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,kf(x1,f,x2,ff)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,
Figure PCTCN2015086515-appb-000008
其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第七种可能的实现方式中所述根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,包括:
根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少一个模式相似度决定。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第八种可能的实现方式中所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测当前数据流的长度,包括,通过如下的公式来预测当前数据流的长度:
Figure PCTCN2015086515-appb-000009
其中,
Figure PCTCN2015086515-appb-000010
为所预测当前数据流的长度,wi为权重因子,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第九种可能的实现方式中所述的加权因子wi通过如下公式来获取,
wi=g(K(x*,xi,Θ))
其中,g为预测模型,K(x*,xi,Θ)为所述第i个模式相似度,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,
Figure PCTCN2015086515-appb-000011
x*为所述当前数据流的模式向量,xi为所述至少一个历史数据流中的第i个历史数据流的模式向量。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十种可能的实现方式中所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更新。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十一种可能的实现方式中所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测当前数据流的长度,包括,通过如下的公式来预测当前数据流的长度:
Figure PCTCN2015086515-appb-000012
其中,x*为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历史数据流子集的模式向量,该子集包含m个历史数据流;K(x*,Xm)表示所述当前数据流与所历史数据流子集的模式相似度,Kmn,Kmm,Knm为所述历史数据流的模式相似度矩阵K中的子模块,
Figure PCTCN2015086515-appb-000013
Figure PCTCN2015086515-appb-000014
Figure PCTCN2015086515-appb-000015
所述历史数据流的模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,
Figure PCTCN2015086515-appb-000016
表示为模型噪声方差。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述用于当前数据流长度预测的公式
Figure PCTCN2015086515-appb-000017
根据新获取到的历史数据流的模式向量及长度实时更新为:
Figure PCTCN2015086515-appb-000018
其中,
Figure PCTCN2015086515-appb-000019
Figure PCTCN2015086515-appb-000020
Figure PCTCN2015086515-appb-000021
Figure PCTCN2015086515-appb-000022
Figure PCTCN2015086515-appb-000023
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十三种可能的实现方式中,所述阈值根据新获得的历史数据流实时更新。
结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第十四种可能的实现方式中,所述阈值根据新获得的历史数据流实时更新通过如下步骤实现,
基于历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的阈值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相对应的所述至少一个历史数据流;
根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设的阈值。
第二方面,本发明实施例提供一种数据流类型检测装置,其包括:
信息获取模块,用于获取当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前数据流的,源IP地址(Source IP Address),服务器端口(Server Port),目的地IP地址(Destination IP Address),客户端口(Client Port),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合;
模式相似度计算模块,用于比较所述当前数据流的模式向量中的所述至少一个特征维度以及至少一个历史数据流的模式向量中对应的特征维度,以获取所述当前数据流的 至少一个模式相似度,所述当前数据流的至少一个模式相似度与所述至少一个历史数据的模式向量一一对应,所述历史数据流的模式向量预存在数据库中;
数据流长度预测模块,根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应;以及
数据流类型检测模块,用于比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
结合第二方面,在第二方面的第一种可能的实现方式中,所述模式相似度计算模块包括:
距离度量单元,用于估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
特征维度相似度估算单元,用于根据所述距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度;
模式相似度获取单元,用于根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,所述至少一个模式相似度与所述至少一个历史数据流一一对应。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述距离估算单元具体用于:分别估算所述当前数据流的模式向量中的所述至少一个特征维度与所述至少一个历史数据流的模式向量中对应的特征维度之间的,IP地址的距离度量,端口的距离度量,发送时间的距离度量,以及传输协议的距离度量;其中,所述IP的地址的距离度量通过所述当前数据流的模式向量中的所述源IP地址与所述历史数据流的模式向量中的源IP地址估算,或者,通过所述当前数据流的模式向量中的所述目的地IP地址与所述历史数据流的模式向量中的目的地IP地址估算,或者,通过所述当前数据流的模式向量中的所述源IP地址和所述目的地IP地址与所述历史数据流的模式向量中的源IP地址和目的地IP地址估算;所述端口的距离度量通过所述当前数据流的模式向量中的所述服务器端口与所述历史数据流的模式向量中的服务器端口估算,或者通过所述当前数据流的模式向量中的所述客户端口与所述历史数据流的模式向量中的客户端口估算,或者通过所述当前数据流的模式向量中的所述服务器端口及所述客户端口与所述历史数据流的模式向量中服务器端口的客户端口估算;所述发送时间的距离度量通过所述当前数据流的模式向量中的所述当前数据流发送时间与所述历史数据流的模式向量中的历史数据流发送时间估算;所述传输协议的距离度量通过所述当前数据流的模式 向量中的所述当前数据所使用的传输协议与所述历史数据流的模式向量中的历史数据所使用的传输协议估算;
对应地,所述特征维度相似度估算单元具体用于,根据,所述IP地址的距离度量、所述端口的距离度量、所述发送时间的距离度量及传输协议的距离度量,分别估算与所述当前数据流的模式向量中的所述至少一个特征维度相对应的IP地址相似度,端口相似度,发送时间相似度以及传输协议相似度。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述IP地址的距离度量通过如下公式获取:
Figure PCTCN2015086515-appb-000024
其中,x1,ip为所述当前数据流的源IP地址或者目的地IP地址,x2,ip为所述历史数据流的源IP地址或者目的地IP地址,dip(x1,ip,x2,ip)为所述IP地址的距离度量,LPL(x1,ip,x2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目的IP地址之间最长前缀匹配长度;
所述端口的距离度量通过如下公式获取:
Figure PCTCN2015086515-appb-000025
其中,x1,port为所述当前数据流的服务器端口或客户端口,x2,port为所述历史数据流的服务器端口或客户端口,dprt(x1,port,x2,port)为所述端口的距离度量,所述δport(x)通过如下公式获取:
Figure PCTCN2015086515-appb-000026
其中,δ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地址相似度,端口相似度,发送时间相似度以及传输协议相似度;
Figure PCTCN2015086515-appb-000027
其中,kf(x1,f,x2,ff)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所占权重,
Figure PCTCN2015086515-appb-000028
其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述模式相似度获取单元,具体用于:
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度 相似度作为所述当前数据流的所述至少一个模式相似度;或,
根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第七种可能的实现方式中,所述模式相似度获取单元,通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:
Figure PCTCN2015086515-appb-000029
K(x1,x2m)为所述当前数据流的所述至少一个模式相似度,x1为所述当前数据流,x2为所述历史数据流,θm为决定相似度幅度的参数,且,θm∈Θ,
Figure PCTCN2015086515-appb-000030
Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,kf(x1,f,x2,ff)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,
Figure PCTCN2015086515-appb-000031
其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第八种可能的实现方式中,数据流长度预测模块,具体用于:
根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少一个模式相似度决定。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第九种可能的实现方式中,所述数据流长度预测模块,具体用于,
通过如下的公式来预测当前数据流的长度:
Figure PCTCN2015086515-appb-000032
其中,
Figure PCTCN2015086515-appb-000033
为所预测当前数据流的长度,wi为权重因子,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十种可能的实现方式中,所述的加权因子wi通过如下公式来获取,
wi=g(K(x*,xi,Θ))
其中,g为预测模型,K(x*,xi,Θ)为所述第i个模式相似度,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,
Figure PCTCN2015086515-appb-000034
x*为所述当前数据流的模式向量,xi为所述至少一个历史数据流中的第i个历史数据流的模式向量。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十一种可能的实现方式中,所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更新。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十二种可能的实现方式中,所述数据流长度预测模块具体用于,
通过如下的公式来预测当前数据流的长度:
Figure PCTCN2015086515-appb-000035
其中,x*为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历史数据流子集的模式向量,该子集包含m个历史数据流;K(x*,Xm)表示所述当前数据流与所历史数据流子集的模式相似度,Kmn,Kmm,Knm为所述历史数据流子集的模式相似度矩阵K中的子模块,
Figure PCTCN2015086515-appb-000036
Figure PCTCN2015086515-appb-000037
Figure PCTCN2015086515-appb-000038
所述历史数据流子集的模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,
Figure PCTCN2015086515-appb-000039
表示为模型噪声方差。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十三种可能的实现方式中,所述用于当前数据流长度预测的公式
Figure PCTCN2015086515-appb-000040
根据新获取到的历史数据流的模式向量及长度实时更新为:
Figure PCTCN2015086515-appb-000041
其中,
Figure PCTCN2015086515-appb-000042
Figure PCTCN2015086515-appb-000043
Figure PCTCN2015086515-appb-000044
Figure PCTCN2015086515-appb-000045
Figure PCTCN2015086515-appb-000046
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十四种可能的实现方式中,所述数据流类型检测模块,还用于根据新获得的历史数据流实时更新所述阈值。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十五种可能的实现方式中,所述数据流类型检测模块具体用于,基于历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的阈值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相对应的所述至少一个历史数据流;
根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设的阈值。
本发明中通过对数据流第一个数据包的报头进行特征提取,然后计算当前数据流与数据库中的历史数据流之间的模式相似度,根据模式相似度与历史数据流的长度,预测新数据流的长度。通过比较预测长度和阈值,确定新数据流是否为大数据流。和现有技术相比不需要对数据流直接进行流量统计,不仅能够实现实时判断数据的类型,同时能够实现提高判断的精度,从而能够在接收到第一个数据包时后便能够获得数据流大小的 估计,从而为实现实时地路径规划提供可靠的依据。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图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与外部组件之间的数据收发。所述的处理器,可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明以下实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法中的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,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地址(Source IP Address),服务器端口(Server Port),目的地IP地址(Destination IP Address),客户端口(Client Port),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合。
在一个新数据流,即当前数据流被侦测之后,该新数据流的第一个数据包报头将被网络交换机130获取,获取所述报头的主要目的是提取对预测数据流长度有关键作用的至少一个特征信息。其中,对预测数据流长度有关键作用的特征信息包括当前数据流的源IP地址(Source IP Address),服务器端口(Server Port),目的地IP地址(Destination IP Address),客户端口(Client Port),当前数据流发送时间(Start Time),当前数据流使用的传输协议(Protocol)。
这些特征信息之所以被提取,主要因为是在数据中心网络中,存在一些特定用户行 为模式,比如,某些源IP地址可能通过某些端口定期地向某些目的地IP地址发送使用某种传输协议的大数据流,对应地,与这种特定的行为模式密切相关的特征信息可以作为一种数据流类型的标示符,单独地,或者自由组合地,即任意两个、三个或四个相互组合,亦或全体,作为判定当前数据流的类型的基础要素,而被收集于模式向量中,该模式向量可以表示为{src ip,src prt,dest ip,dest prt,prtcl,t},其中src ip为数据流(当前数据流以及历史数据流)源IP地址,src prt为数据流(当前数据流以及历史数据流)的服务器端口,dest ip为数据流(当前数据流以及历史数据流)的目的地IP地址,dest prt为数据流(当前数据流以及历史数据流)的客户端口,prtcl为数据流(当前数据流以及历史数据流)所使用的协议,t为数据流(当前数据流以及历史数据流)发送的时间。
S203比较所述当前数据流模式向量中的至少一个特征维度以及至少一个历史数据流模式向量中的对应的特征维度,以获取至少一个当前数据流的模式相似度,所述至少一个当前数据流的模式相似度与所述至少一个历史数据模式向量一一对应,所述历史数据流模式向量预存在数据库中。
该步骤可以由预测服务器160执行,具体,预测服务器160通过将所获取的当前数据流的模式向量与存储在数据库中的历史数据流的模式向量进行比较,所述比较是将当前数据流的模式向量中的特征维度与所述历史数据流的模式向量中的特征维度进行比较,从而获得针对所述每个被比较过的特征维度的特征维度相似度,并通过所述特征维度相似度来获得/估算所述当前数据流的至少一个模式相似度。所述当前数据流的至少一个模式相似度,表示所述当前数据流的模式向量与所述至少一个历史数据流中的某个历史数据流的模式向量之间的相似度。其中,所述历史数据流模式向量预存在数据库中,且存储所述历史数据流模式向量的数据库可以位于网络服务器上,也可以位于执行该步骤的主机中,如预测服务器160的存储器中。
具体地,模式相似度可以通过如下的方式获取:
请参照图3,为本发明步骤S203的一种具体的实现方式,但需要声明,如下实施方式仅仅是实现步骤S203的一种实现方式,本领域技术人员基于S203所给出的启示,可以构造出多种实施方式不同的实现方式,其也应该被认为是本发明的一部分。
S301,估算当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
为了能够客观的反映出所述当前数据流与历史数据流之间的相互关系,即,相似度,本发明中需要对当前数据流和历史数据流做定量的分析,其具体的方式是将当前数据流 的模式向量中的特征维度与历史数据流的模式向量中的对应的特征维度进行比较,并用距离度量来表示比较结果,所述距离度量可以理解为用于表述被比较客体之间的相似程度的值、量化的约束关系、或者方程式。如本发明步骤S201中描述,所述的当前数据流的模式向量包括的至少一个特征维度,所述至少一个特征维度来选自于包括所述当前数据流的源IP地址(Source IP Address),服务器端口(Server Port),目的地IP地址(Destination IP Address),客户端口(Client Port),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(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地址的最长前缀匹配长度(Longest Prefix Length)。
例如在下面给出的例子中,
x1,ip:1100 0010,1010 0110,0000 0000,0000 0000
x2,ip:1100 0010,1010 1010,0000 0000,0000 0001
其中,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地址的距离度量为:
Figure PCTCN2015086515-appb-000047
上述距离度量满足以下四个性质:
非负性:dip(x1,ip,x2,ip)≥0
不可区分者的同一性:dip(x1,ip,x2,ip)=0 iff x1,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。本发明采用本领域常用的端口分段方法来对端口的距离度量进行说明,但需要注意的是,本发明不局限 于这种端口分段方法。根据Scott E.Coull,Fabian Monrose等人发表的名为《On measuring the Similarity of Network Hosts:Pitfalls,New Metrics,and Empirical Analyses》(中文译名:关于网络主机的相似度度量:陷阱,新测度以及经验分析)的文章表明,我们通常将端口地址根据IANA端口列表,分为以下不同的组别:
常见端口(well-known):0~1023
已注册端口(registered):1024~49151
动态端口(dynamic):49152~65535
根据Scott E.Coull,Fabian Monrose等人的文章,相比较于动态端口(dynamic),常见端口(well-known)和已注册端口(registered)更加接近,因为统计上来说,他们往往用来发送某些特定服务的数据。
本发明使用Scott E.Coull,Fabian Monrose,等人提出的方法来实现端口的距离度量,但是,需要注意的是,该方法仅仅是实现端口距离度量的一种实现方式,而本发明可以用其他的实现方式来实现端口的距离度量,例如由于网络端口是一个16比特的字符串,我们也可以使用IP地址的距离度量的方法来计算两个网络端口的距离。
根据Scott E.Coull,Fabian Monrose等人提出的方法,端口的距离度量通过如下的公式来获取:
Figure PCTCN2015086515-appb-000048
其中,x1,port,x2,port分别代表当前数据流的服务器端口或客户端口,即,前述的源服务器120端口,或者客户端设备150的端口,以及历史数据流的服务器端口或客户端口。需要注意的是,所述的x1,port,x2,port并不现定于代表当前数据流的服务器端口或者客户端口,以及数据流的服务器端口或者客户端口,其可以代表任意两个数据流的服务器端口或者客户端口。
参数δport(x)的取值通过如下公式来获取:
Figure PCTCN2015086515-appb-000049
其中,δ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,例如在以下例子中,如果数据流使用的是第二种传输协议,则该数据流所使用的协议向量表示为:
Figure PCTCN2015086515-appb-000050
对应地,协议的距离度量为可以定义为:
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或者
Figure PCTCN2015086515-appb-000051
获取上述不同维度的距离度量之后,便可根据所获取的距离度量计算不同维度特征的相似度,即特征维度相似度。
在步骤S301中所获得的当前数据流的多个特征维度与历史数据流之间的对应的多个特征维度之间的距离度量之后,可以用来计算所述当前数据流的多个特征维度所对应的特征维度相似度,即,继步骤S301之后,还包括步骤:
S303根据所获取的当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度。
请参阅图4,基于特征维度的距离度量来估算特征维度相似度的基本规则是,特征维度的距离度量越小则特征维度相似度越高,相反,特征维度的距离度量越大,则特征维度相似度则越低。因此,图4中所示的指数下降函数便可以作为计算所述特征维度相似度的一种函数,图4中,横坐标表示特征维度的距离度量,纵坐标表示特征维度相似度,而图4中的曲线/直线反映了特征维度的距离度量和特征维度相似度之间的关系,其中,曲线/直线的参数θ则代表了随着距离度量的增加,特征维度相似度的下降速度。图4中不同的曲线/直线则代表不同的特征维度的距离度量和特征维度相似度之间的关系,比如曲线A代表IP地址的距离度量与其对应的IP地址相似度之间的关系,曲线B代表端口距离度量及与其对应的端口相似度之间的关系。
而对应的基于特征维度的距离度量的特征维度相似度可以通过如下函数来定义:
Figure PCTCN2015086515-appb-000052
其中,kf为特征维度相似度,df为特征维度度量,θf代表所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值控制了所述相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,而f为表示某个特征维度,即,
Figure PCTCN2015086515-appb-000053
其中src ip为数据流(当前数据流以及历史数据流)源IP地址,src prt为数据流(当前数据流以及历史数据流)的服务器端口,dest ip为数据流(当前数据流以及历史数据流)的目的地IP地址,dest prt为数据流(当前数据流以及历史数据流)的客户端口,prtcl为数据流(当前数据流以及历史数据流)所使用的协议,t为数据流(当前数据流以及历 史数据流)发送的时间,F为当前数据流的模式向量及历史数据流的模式向量中的特征维度所对应的维度,即,分别对应于源IP地址,服务器端口,目的地IP地址,客户端口,数据流所使用的传输协议,以及数据流的发送时间。
具体地,通过上述的函数,可以得到:
IP地址的相似度函数为:
Figure PCTCN2015086515-appb-000054
其中x1,ip,x2,ip为两个源IP地址或是两个目的地IP地址,dip(x1,ip,x2,ip)为两个IP地址的距离度量,θip为控制IP地址相似度函数随IP地址距离度量下降速度的参数。
端口的相似度函数为:
Figure PCTCN2015086515-appb-000055
其中x1,port,x2,port为两个服务器端口或是两个客户端口,dport(x1,port,x2,port)为两个端口的距离度量。θport为控制端口相似度函数随端口距离度量下降速度的参数。
协议的相似度函数为:
Figure PCTCN2015086515-appb-000056
其中x1,prtcl,x2,prtcl为两个数据流使用的协议,dprtcl(x1,prtcl,x2,prtcl)为两个端口的距离度量,θprtcl为控制端口相似度函数随端口距离度量下降速度的参数。
此外,用户可能存在周期性的大数据流发送模式,这是一种很重要的行为模式,而这种行为模式需要我们主动的去识别和捕捉,从而能够针对该行为模式提高特征维度相似度估算的准确性。因此,对时间这个维度可以使用如下的相似度定义来替代上述的相似度定义,该定义具有发送周期(假如存在)的自动捕获。
Figure PCTCN2015086515-appb-000057
其中,kt为数据流(当前数据流及历史数据流)的发送时间相似度,dt为数据流的发送时间的距离度量,θat及θpt代表了发送行为模式中非周期性与周期性的权重。θat及θpt两者之间的相对大小取决于用户发送模式中非周期性,周期性哪一个更明显,
Figure PCTCN2015086515-appb-000058
代表 用户发送数据流的周期。
通过以上的特征维度相似度的估算方式便可以获取各个不同的特征维度相似度。
因此,在上述的步骤S303之后,特征维度相似度估算方法还可以包括如下步骤:
S305,根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度。
在该步骤中,上述的特征维度相似度可以独立地或组合地使用作为后续的当前数据流的长度估算的因子,若单独使用,则根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述特征维度中权重最高的特征维度所对应的特征维度相似度作为所述当前数据流的模式形似度;若组合使用,则将两个及两个以上的特征维度相似度的根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,经过加权组合后作为所述当前数据流的模式相似度,其中,所述当前数据流的模式向量中的至少一个特征维度所对应的权重指的是不同特征维度在进行当前数据流类型检测中对判断准确性影响的大小的度量。其中针对不同应用场景,不同特征的特征维度的权重也不同,每个特征维度所对应的权重可以通过对训练得到的模型进行分析获取,也可以通过专家知识获得。为了能综合考虑影响所述当前数据流长度的各个特征维度,在上述的所有的特征维度相似度都通过估算获取的前提下,本发明中采用组合的方式来融合上述多个特征维度相似度来获得当前数据流的模式相似度,以此,来进一步提高相似度的估算精度,进而提高当前数据流长度估算的精度。
具体地,虽然数据流模式向量中每一个特征维度都对数据流长度的估计有影响,但是不同维度的特征在预测数据流长度时所占具的权重各不相同。同时,不同维度的模式相似度取值范围也有所不同,因此,就需要解决如何融合不同的特征维度的信息,并且自动权衡不同特征维度所起的重要性的问题。本发明中通过如下的相似度函数来实现融合不同维度的信息,同时还能够实现自动权衡不同特征维度的权重的目的。
Figure PCTCN2015086515-appb-000059
其中,K(x1,x2m)为融合后的模式相似度,即,当前数据流的模式相似度,θm为模式相似度函数的幅度参数,θm∈Θ,
Figure PCTCN2015086515-appb-000060
其中,Θ中的参数可以通过模型训练得到,具体地,通过最大化历史数据流数据的似然度或者是最小化历史数据流的预测误差来得到。因此,参数向量Θ代表了整个网络的数据传输行为模式,具有自适应性。
当获取到前数据流的模式相似度之后,本发明便可通过模式相似度进行当前数据流 的长度预测,即,在所述步骤S203之后,本发明的方法还包括如下步骤:
S205,根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测所述当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应。
将利用所获取的所述当前数据流的至少一个模式相似度以及其对应的至少一个历史数据流的长度来预测当前数据流的长度,其预测的基本原则为,根据所述当前数据流的至少一个模式相似度,将与该至少一个模式相似度对应的历史数据流的长度的通过加权组合来预测所述当前数据流的长度,其中,所述历史数据流的长度在进行加权组合时的权重取决于当前数据预测数据流的模式向量与多个历史数据流的模式向量之间的相似度,即取决与所述当前数据流的至少一个模式相似度。需要注意的是,若当前数据流仅取一个模式相似度,则所对应的历史数据流的长度也仅为一个,对应地,所述权重就为1,而上述的加权组合仅仅需要实现加权而不需要实现组合,即,这种情况下,历史数据流的长度可以直接最为当前数据流的长度的预测值。
请参阅图5,该图表示了数据流长度预测的基本逻辑过程,其中,X*为待预测当前数据流的第一个数据包报头的模式向量,X1~Xn为历史数据流的模式向量。K(X*,X1,Θ)~K(X*,Xn,Θ)为当前数据流的模式向量与历史数据流的模式向量之间的模式相似度,即所述的当前数据流的模式相似度,y1~yn为历史数据流的长度,
Figure PCTCN2015086515-appb-000061
为所预测当前数据流的长度,其通过以下公式获取:
Figure PCTCN2015086515-appb-000062
其中,wi为权重因子,其大小取决于当前数据流的模式向量与第i个历史数据流模式向量之间的相似度,即,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度并可以通过如下的函数来获取:
wi=g(K(x*,xi,Θ))
函数g有多种不同的实现方式。不同的实现方式代表了不同的模型以及不同的模型诠释。通常,我们可以用高斯过程回归(Gaussian Process Regression)或者Nadaraya-Watson估计器(Nadaraya-Watson Estimator)来实现函数。下面以高斯过程回归(Gaussian Process  Regression)来介绍如何通过函数g预测当前数据的长度,即通过预测模型g来实现当前数据流的长度预测,需要说明的是本发明并不局限于基于高斯过程回归的预测模型,本发明还可以采用其他的预测模型来实现。
我们将归一化的当前数据流长度
Figure PCTCN2015086515-appb-000063
和历史数据流长度y1~yn看成是随机变量,这些变量服从如下的联合高斯分布。
Figure PCTCN2015086515-appb-000064
这里K(X,X)表示历史数据流的模式相似度矩阵;K(x*,X)表示待预测的当前数据流与历史数据流的模式相似度;在这里,它们确定了联合高斯分布的协方差矩阵(covariance matrix)。
其中,X=[x1 … xn]为历史数据流的模式向量;y=[y1 … yn]T为历史数据流的长度,X*为当前数据流的模式向量,
Figure PCTCN2015086515-appb-000065
为待预测当前数据流的长度,C为联合高斯分布的协方差矩阵,由当前数据流模式向量与历史数据流模式向量之间的相似度得到。
根据如上所述的联合高斯分布函数,我们可以获得关于待预测当前数据流长度的条件概率分布函数:
Figure PCTCN2015086515-appb-000066
其中,条件概率分布的均值为:
Figure PCTCN2015086515-appb-000067
条件概率分布的方差为:
Figure PCTCN2015086515-appb-000068
通常,我们可以用条件概率分布的均值作为我们对新数据流长度的预测,即:
Figure PCTCN2015086515-appb-000069
其中,x*为待预测的当前数据流的模式向量;X为历史数据流的模式向量;因此K(x*,X)表示待预测的当前数据流与所选取的历史数据流的模式相似度。历史数据流模式相似度矩阵K的第i行,第j列元素表示的是第i个历史数据流与第j个历史数据流的模式相似度。y为历史数据流的数据流长度。Kmm,Knm,Kmn为矩阵K的子模块,如下所示:
Figure PCTCN2015086515-appb-000070
Figure PCTCN2015086515-appb-000071
Figure PCTCN2015086515-appb-000072
高斯过程回归模型是实现本发明的当前数据流长度预测的一个实施方式,待预测的当前数据流长度可以用历史数据流的长度的某种加权组合得到,而每个历史数据流长度的权重由当前数据流的模式向量与历史数据流的模式向量之间的相似度决定。
Figure PCTCN2015086515-appb-000073
从上面这个公式可以看到,待预测的当前数据流的数据流长度预测值为历史数据流
的数据流长度的加权组合得到,而权重向量wT为当前数据流的模式向量与历史数据流的模式向量之间的相似度确定,如下所示:
Figure PCTCN2015086515-appb-000074
除此之外,我们还可以获得预测值的3σ置信区间,3σ置信区间指的是高斯分布里面99.73%的置信区间,就是说待预测的当前数据流的数据流长度落在这个区间的概率为99.73%,如下所示:
Figure PCTCN2015086515-appb-000075
该置信区间的设置,主要目的在于提高当前数据流长度预测的,高准确率,以及高鲁棒性。此外,这个区间可以提供一些我们对预测值的置信度,比如当置信区间比较窄的时候,我们对预测值的预测更加准确,因为这意味着预测值的波动范围比较小。当同时有多个待预测的数据流需要预测并加以路由时,我们就可以根据这个置信区间提供的信息进行排序,对置信区间小的数据流优先选择路由,因为其预测的数据流长度波动性小。上述的基于高斯过程回归的预测模型的主要参数来自于当前数据流与历史数据流之间的模式相似度,而如前所述模式相似度通常由不同的特征维度相似度得到,而不同的特征维度相似度在当前数据流长度预测过程中所起到的作用并不相同,有些比较轻,而有些则比较重,因此,为了能够得到最优的预测模型,例如基于高斯过程回归的预测模型,本发明提出通过历史数据流样本来训练预测模型,优化模型的参数,将优化好的参数用于当前数据流长度的预测中。
通常我们可以通过最大似然估计或者是最小化模型预测误差来训练模型,优化模型参数。比如,假设我们使用高斯过程回归模型(Gaussian Process Regression)来实现函数g,那么我们就可以通过最大化历史数据的似然度来优化模型的参数,具体过程如下:
根据基于高斯过程回归的预测模型,我们可以获得训练样本的似然度函数,如下所示:
Figure PCTCN2015086515-appb-000076
这里,K为历史数据流的模式相似度矩阵,其第i行,第j列的元素表示历史数据流i和历史数据流j的模式相似度。I是与K同维度的单位矩阵。
Figure PCTCN2015086515-appb-000077
为预测模型噪声方差。y为历史数据流的长度。
接着,可以通过最大化训练样本的似然度来优化模型参数。比如,我们可以利用最陡梯度下降的方式来构建参数的迭代公式,如下所示:
Figure PCTCN2015086515-appb-000078
其中,
Figure PCTCN2015086515-appb-000079
α=K-1y。
此外,在整个网络运行过程中,不断有数据流到达目的地。当数据流到达目的地时,我们可以通过某种方式知道这个数据流真实的数据流长度,比如可以通过读取openflow交换机的计数器状态获取或者是通过sflow技术获得。这个时候,我们获得了这个数据流的模式向量和真实数据流长度的组合。这个组合成为了我们模型的新的训练样本。
为了使模型能够更好地适应整个网络的动态变化,数据流长度的预测模型可以利用新的训练样本去不断地更新,从而使预测模型能更准确地预测当前数据流的长度。
具体地,数据流长度的预测模型的更新,可以通过如下方式来实现:
假设在t时刻,收集并计算了n个历史数据流的信息(Xn,yn),其中Xn是历史数据流的模式向量,yn是历史数据流的长度。根据下式,可以获得预测模型的最优参数:
Figure PCTCN2015086515-appb-000080
当在t+1时刻,第n+1个训练样本,即历史数据流,到达时,该新的历史数据流的信息将被纳入预测模型中,则需要对预测模型的参数做出修改。
Xn+1=[Xn xn+1]
Figure PCTCN2015086515-appb-000081
Figure PCTCN2015086515-appb-000082
计算log p(yn+1|Xn+1,Θ)时,需要对矩阵Kn+1求逆,其计算复杂度为O((n+1)3),其中,
Figure PCTCN2015086515-appb-000083
为n+1个历史数据流的模式相似度矩阵。
由于新的训练样本不断产生,且数量巨大,如果每一次有新训练样本到达时,我们都做上述操作,其时间复杂度十分巨大。所以有必要提出一种高效,在线,计算复杂度低的方案去实现预测模型的实时在线更新。因此,本发明提出一种基于降秩近似(Reduced Rank Approximation)结合Woodbury矩阵求逆恒等式(Woodbury matrix inversion identity)的高斯过程模型的方案,实现基于新的训练样本的模型在线更新方案,该方法的主要实现方式为,通过历史数据流集合中的部分子集来近似整个历史数据流集合,其通过如下的公式来实现:
Figure PCTCN2015086515-appb-000084
其中,x*为待预测的当前数据流的模式向量;Xm为历史数据流的一个子集的模式向量,该子集包含m个历史数据流,可以在历史数据流中随机选取所得;K(x*,Xm)表示待预测的当前数据流与所选取的历史数据流子集的模式相似度。Kmn,Kmm,Knm为历史数据流模式相似度矩阵K的子模块,历史数据流模式相似度矩阵K的第i行,第j列元素表示历史数据流i与历史数据流j的模式相似度,y为历史数据流的流长度,
Figure PCTCN2015086515-appb-000085
Figure PCTCN2015086515-appb-000086
Figure PCTCN2015086515-appb-000087
相比原始的预测模型
Figure PCTCN2015086515-appb-000088
计算复杂度从O(n3)降低为O(m2n)m<<n,可见,采用上述的降秩近似后,模型训练的复杂度极大的降低,也使得基于新训练样本的预测模型在线更新更为简便。
而基于新的训练样本的预测模型的在线更新,可以通过如下方式来实现:首先,我们用如下表达式描述在历史样本有n个的时候的预测模型。
令,
Figure PCTCN2015086515-appb-000089
则,数据流长度的预测模型可以表示为:
Figure PCTCN2015086515-appb-000090
当第n+1个数据流样本到来的时候,我们需要相应地将αn更新为αn+1
Figure PCTCN2015086515-appb-000091
接着,利用Woodbury矩阵求逆恒等式(Woodbury matrix inversion identity),推导获得如下的更新公式:
Figure PCTCN2015086515-appb-000092
Figure PCTCN2015086515-appb-000093
Figure PCTCN2015086515-appb-000094
Figure PCTCN2015086515-appb-000095
当新的数据流需要进行长度预测时,则可以根据更新后的预测模型进行长度预测:
Figure PCTCN2015086515-appb-000096
通过上述的参数优化及模型在先更新可以使得对数据流能够根据网络的数据流的变化而动态的变化,对数据流长度的预测更加的准确。
此外,数据流长度预测函数g也可以通过Nadaraya-Watson估计器(Nadaraya-Watson Estimator)来实现。其原理是利用核概率密度函数估计(Kernel Density Estimation)去估计基于数据流模式向量的数据流长度条件概率分布函数。如下所示:
Figure PCTCN2015086515-appb-000097
其中x*是待预测的当前数据流的模式向量,f*为待预测的当前数据流的长度。而它们的联合概率密度函数可以通过核概率密度函数估计的方法获得,如下所示:
Figure PCTCN2015086515-appb-000098
这里,K(x*,xi)的定义与上述相似度函数的定义类似。因此,我们可以得到:
Figure PCTCN2015086515-appb-000099
我们可以看到,Nadaraya-Watson估计器也是通过历史数据流的加权组合来预测当前待预测数据流的长度,其权重为
Figure PCTCN2015086515-appb-000100
如上所述,高斯过程回归和Nadaraya-Watson估计器均可以作为训练预测模型的实施实例。其原理都是利用历史数据流的长度的加权组合来做预测,只是,不同的方法使用不用的权重计算公式。
在通过步骤S205预测得到所述当前数据流长度后,则可以根据该数据流的长度与预设的阈值比较而确定当前数据流的类型,即,本发明在步骤S205后进一步包括如下步骤:
S207,比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当 前数据流为大数据流或者小数据流。
在本步骤中,判定当前数据流的类型的主要通过比较预测得到的当前数据流的长度以及阈值,如果大于阈值则认为当前数据流为大数据流(Larger data Flow),反之,则认为是小数据流。值得注意的是,若所述当前数据流的长度采用不同度量方式计量,例如在用分段方式来计量,例如当前数据流长度为X比特时,则将当前数据流长度记录M,而当前数据流长度为Y比特时,X>Y,则将当前数据流长度记录N,N<M,则所述的判定方式可以相反,即,如果小于阈值则认为当前数据流为大数据流(Larger data Flow)(为了前后文保持一致,替换为large data flow),反之,则认为是小数据流。
为了能够实现阈值能够实时的反应网络中传输的数据的状况,本发明提出对所述阀值根据网络中的历史数据流的状况进行实时修正及更新的方法,请参阅图6,该阈值的修改及更新包括如下步骤:
S601基于历史数据的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的阈值;
S602根据新获取的历史数据流的数据流长度样本,修正累积分布函数及所述预设的阈值。
比如,收集了n个历史数据流的长度yn。根据这些历史数据流长度值建立一个累计分布函数Cyn(y)。假设整个网络中,占p%比例的数据流为小数据流(老鼠流),通过计算Cyn(yTH)=p%,即,
Figure PCTCN2015086515-appb-000101
(p%)来获取所述预设的阈值。
当第n+1个数据流样本达到时,我们就相应地修改累计分布函数为Cyn+1(y),并更新阈值
Figure PCTCN2015086515-appb-000102
本发明中通过对数据流第一个数据包的报头进行特征提取,然后计算当前数据流与数据库中的历史数据流之间的模式相似度,根据模式相似度与历史数据流的长度,预测新数据流的长度。通过比较预测长度和阈值,确定新数据流是否为大数据流。和现有技术相比不需要对数据流直接进行流量统计,不仅能够实现实时判断数据的类型,同时能够实现提高判断的精度,从而能够在接收到第一个数据包时后便能够获得数据流大小的估计,从而为实现实时地路径规划提供可靠的依据。
图7是根据本发明实施例提供的数据流类型检测装置的结构框图。图7所示的装置能够执行图2,图3,及图6,即本发明所述的数据流类型检测方法,所包含的各个步骤。如图7所示数据流类型检测装置700可以设置在如图1中所示的数据传输网络中来实现。
所述数据流类型检测装置700包括:
信息获取模块710,其用于,获取网络当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量,所述模式向量包括至少一个特征维度,所述至少一个特征维度选自于包括所述当前数据流的源IP地址(Source IP Address),服务器端口(Server Port),目的地IP地址(Destination IP Address),客户端口(Client Port),所述当前数据流发送时间,以及所述当前数据所使用的传输协议(Protocol)的信息组合。
该信息获取模块710,主要用户获取用于预测当前数据流的长度的相关信息,即,数据流的第一个数据包的包头,该信息获取模块710具体可以是图1中的网络交换机130中的一个功能模块,即通过网络交换机130来实现,此外,该信息获取模块710也可以是设置在网络节点中的具有自主探测和上报能力的独立的软件、或者硬件执行模块,该执行模块能够在新的数据流到来时,启动信息获取功能,来获取所需要的数据流的信息,并将所获取的信息上报给下一个处理模块,并可以实现S201中所介绍的全部步骤及功能。
模式相似度计算模块730,该模块用于比较所述当前数据流模式向量中的至少一个特征维度以及至少一个历史数据流模式向量中的对应的特征维度,以获取至少一个当前数据流的模式相似度,所述至少一个当前数据流的模式相似度与所述至少一个历史数据模式向量一一对应,所述历史数据流模式向量预存在数据库中。
当信息获取模块710获取到网络当前数据流的第一个数据包的报头,并从所述报头中获取所述当前数据流的模式向量后,该当前数据流的模式向量将会被传输至模式相似度计算模块730,模式相似度计算模块730将根据信息获取模块710所反馈的信息进行模式相似度的计算,其具体的计算过程请参阅前述方法中对步骤S203的介绍,该模块可以实现S203中所介绍的全部步骤及功能。其中,模式相似度计算模块730可以通过图1中的预测服务器160执行,即,通过预测服务器160中的处理器调用存储与存储器中的模式相似度的计算程序来根据所述的模式向量计算模式相似度。此外,模式相似度计算模块730也可以通过集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件来实现。该模式相似度计算模块730具体还包括:
距离度量单元731,用于估算当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量;
特征维度相似度估算单元733,用于根据所获取的当前数据流的模式向量中的至少一个特征维度与至少一个历史数据流的模式向量中对应的特征维度之间的距离度量,估算所述当前数据流的模式向量中的所述至少一个特征维度所对应的特征维度相似度;以及
模式相似度获取单元735,用于根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度。
本发明的数据类型检测模块700还包括:
数据流长度预测模块750,用于根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测所述当前数据流长度,所述至少一个历史数据流的长度预存在所述数据库中,且所述至少一个历史数据流的长度与所述至少一个历史数据流模式向量一一对应。
该数据流长度预测模块750在模式相似度计算模块730计算得到模式相似度之后,变可以根据该模式相似度来进行数据流长度的预测,具体的预测过程可以参照上述方法中对步骤S205的具体介绍,该模块可以实现S205中所介绍的全部步骤及功能。其中,数据流长度预测模块750可以通过图1中的中央控制服务器110执行,即,通过预测服务器110中的处理器调用存储与存储器中的模式相似度的计算程序来根据所述的模式向量计算模式相似度。此外,模式相似度计算模块710也可以通过集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件来实现。
数据流类型检测模块770,该模块用于比较预测的所述当前数据流长度及预设的阈值,并根据比较结果判断所述当前数据流为大数据流或者小数据流。
当所述数据流长度预测模块750将所预测的当前数据流的数据流长度反馈至该数据流类型检测模块770之后,该数据流判断模块770根据该数据流长度和阈值进行比较,从而判断数据流的类型,其具体的比较过程可以参照本发明方法中对步骤S207的介绍,该模块可以实现S207中所介绍的全部步骤及功能。
本发明的数据流类型检测装置700,通过对数据流第一个数据包的报头进行特征提取,然后计算当前数据流与数据库中的历史数据流之间的模式相似度,根据模式相似度与历史数据流的长度,预测新数据流的长度。通过比较预测长度和阈值,确定新数据流是否为大数据流。和现有技术相比不需要对数据流直接进行流量统计,不仅能够实现实时判断数据的类型,同时能够实现提高判断的精度,从而能够在接收到第一个数据包时后便能够获得数据流大小的估计,从而为实现实时地路径规划提供可靠的依据。
请参阅图8,为采用本发明实施例提供的数据流类型检测方法及装置进行数据流类型检测的结果示意图。其中,以星状连接的曲线代表为测试过程中数据流的真实流长度,而以圆点装连接的曲线代表为测试过程中数据流经过本发明的方法及装置中的预测模型得到的数据流长度的预测值。从该测试结果可以看出,本发明的提供的方法及装置中采 用的模型预测结果与真实数据流的长度非常吻合。而黑色虚线是区分大数据流(大象流)和小数据流(老鼠流)的阈值。根据阈值进行大数据流和小数据流的分类,其真阳性率为97.87%,真阳性率表示真实大数据流被准确分类为大数据流的比例,而假阳性率为5.78%,假阳性率表示小数据流被错误地分类为大数据流的。从该结果来看,本发明的方法及装置可以非常准确的检测数据流的类型。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、 磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内,因此本发明的保护范围应以权利要求的保护范围为准。

Claims (32)

  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地址的距离度量通过如下公式获取:
    Figure PCTCN2015086515-appb-100001
    其中,x1,ip为所述当前数据流的源IP地址或者目的地IP地址,x2,ip为所述历史数据流的源IP地址或者目的地IP地址,dip(x1,ip,x2,ip)为所述IP地址的距离度量,LPL(x1,ip,x2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目的IP地址之间最长前缀匹配长度;
    所述端口的距离度量通过如下公式获取:
    Figure PCTCN2015086515-appb-100002
    其中,x1,port为所述当前数据流的服务器端口或客户端口,x2,port为所述历史数据流的服务 器端口或客户端口,dprt(x1,port,x2,port)为所述端口的距离度量,所述δport(x)通过如下公式获取:
    Figure PCTCN2015086515-appb-100003
    其中,δ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地址相似度,端口相似度,发送时间相似度以及传输协议相似度;
    Figure PCTCN2015086515-appb-100004
    其中,kf(x1,f,x2,ff)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所占权重,
    Figure PCTCN2015086515-appb-100005
    其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
  7. 如权利要求2至6任意一项所述的方法,其特征在于,所述根据所述特征维度相似度来获取所述当前数据流的至少一个模式相似度,包括:
    根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度相似度作为所述当前数据流的所述至少一个模式相似度;或,
    根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度。
  8. 如权利要求7所述的方法,其特征在于,所述根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度,包括,
    通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:
    Figure PCTCN2015086515-appb-100006
    K(x1,x2m)为所述当前数据流的所述至少一个模式相似度,x1为所述当前数据流,x2为所述历史数据流,θm为决定相似度幅度的参数,且,θm∈Θ,
    Figure PCTCN2015086515-appb-100007
    Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,kf(x1,f,x2,ff)为所述特征维度相似度,x1,f为所述当前数据流的 模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,
    Figure PCTCN2015086515-appb-100008
    其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
  9. 如权利要求1至8任意一项所述的方法,其特征在于,所述根据所述当前数据流的至少一个模式相似度以及对应的至少一个历史数据流的长度预测当前数据流长度,包括:
    根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少一个模式相似度决定。
  10. 如权利要求9所述的方法,其特征在于,所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测当前数据流的长度,包括,
    通过如下的公式来预测当前数据流的长度:
    Figure PCTCN2015086515-appb-100009
    其中,
    Figure PCTCN2015086515-appb-100010
    为所预测当前数据流的长度,wi为权重因子,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度。
  11. 如权利要求10所述的方法,其特征在于,所述的加权因子wi通过如下公式来获取,
    wi=g(K(x*,xi,Θ))
    其中,g为预测模型,K(x*,xi,Θ)为所述第i个模式相似度,Θ为经训练得到的代 表网络中的所述历史数据流的传输行为模式的向量,
    Figure PCTCN2015086515-appb-100011
    x*为所述当前数据流的模式向量,xi为所述至少一个历史数据流中的第i个历史数据流的模式向量。
  12. 如权利要求11所述的方法,其特征在于,所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更新。
  13. 如权利要求9所述的方法,其特征在于,所述根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测当前数据流的长度,包括,
    通过如下的公式来预测当前数据流的长度:
    Figure PCTCN2015086515-appb-100012
    其中,x*为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历史数据流子集的模式向量,该子集包含m个历史数据流;K(x*,Xm)表示所述当前数据流与所述历史数据流子集的模式相似度,Kmn,Kmm,Knm为所述历史数据流的模式相似度矩阵K中的子模块,
    Figure PCTCN2015086515-appb-100013
    Figure PCTCN2015086515-appb-100014
    Figure PCTCN2015086515-appb-100015
    所述历史数据流的模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,
    Figure PCTCN2015086515-appb-100016
    表示为模型噪声方差。
  14. 如权利要求9所述的方法,其特征在于,所述用于当前数据流长度预测的公式
    Figure PCTCN2015086515-appb-100017
    根据新获取到的历史数据流的模式向量及长度实时更新为:
    Figure PCTCN2015086515-appb-100018
    其中,
    Figure PCTCN2015086515-appb-100019
    Figure PCTCN2015086515-appb-100020
    Figure PCTCN2015086515-appb-100021
    Figure PCTCN2015086515-appb-100022
    Figure PCTCN2015086515-appb-100023
  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地址的距离度量通过如下公式获取:
    Figure PCTCN2015086515-appb-100024
    其中,x1,ip为所述当前数据流的源IP地址或者目的地IP地址,x2,ip为所述历史数据 流的源IP地址或者目的地IP地址,dip(x1,ip,x2,ip)为所述IP地址的距离度量,LPL(x1,ip,x2,ip)为所述当前数据流的源IP地址或者目的地IP地址与所述历史数据流的源IP地址或者目的IP地址之间最长前缀匹配长度;
    所述端口的距离度量通过如下公式获取:
    Figure PCTCN2015086515-appb-100025
    其中,x1,port为所述当前数据流的服务器端口或客户端口,x2,port为所述历史数据流的服务器端口或客户端口,dprt(x1,port,x2,port)为所述端口的距离度量,所述δport(x)通过如下公式获取:
    Figure PCTCN2015086515-appb-100026
    其中,δ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地址相似度,端口相似度,发送时间相似度以及传输协议相似度;
    Figure PCTCN2015086515-appb-100027
    其中,kf(x1,f,x2,ff)为所述特征维度相似度,x1,f为所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中的某一特征维度的相似度函数参数,该参数数值决定了所述相似度函数随着距离度量增大而下降的速度,同时决定了该维度特征在数据流长度预测中所占权重,
    Figure PCTCN2015086515-appb-100028
    其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
  23. 如权利要求18至22任意一项所述的装置,其特征在于,所述模式相似度获取单元,具体用于:
    根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度中权重最高的所述特征维度所对应的特征维度相似度作为所述当前数据流的所述至少一个模式相似度;或,
    根据所述当前数据流的模式向量中的至少一个特征维度所对应的权重,将所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度加权组合后作为所述当前数据流的所述至少一个模式相似度。
  24. 如权利要求23所述的装置,其特征在于,所述模式相似度获取单元,通过如下公式来加权组合所述当前数据流的模式向量中的至少一个特征维度所对应的特征维度相似度来获取所述当前数据流的所述至少一个模式相似度:
    Figure PCTCN2015086515-appb-100029
    K(x1,x2m)为所述当前数据流的所述至少一个模式相似度,x1为所述当前数据流,x2为所述历史数据流,θm为决定相似度幅度的参数,且,θm∈Θ,
    Figure PCTCN2015086515-appb-100030
    Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,kf(x1,f,x2,ff)为所述特征维度相似度,x1,f为所述当前数据流的 模式向量中的所述至少一个特征维度中一个特征维度,x2,f为所述历史数据流的模式向量中与所述当前数据流的模式向量中的所述至少一个特征维度中一个特征维度对应的特征维度,θf为所述至少一个特征维度中某一特征维度相似度函数参数,该参数数值控制了相似度函数随着距离度量增大而下降的速度,同时控制了该维度特征在数据流长度预测中所占权重,
    Figure PCTCN2015086515-appb-100031
    其中,F为所述当前数据流的模式向量中的特征维度及所述历史数据流的模式向量中对应的所述特征维度所对应的维度。
  25. 如权利要求17至24任意一项所述的装置,其特征在于,数据流长度预测模块,具体用于:
    根据所述当前数据流的至少一个模式相似度,将与所述至少一个模式相似度对应的所述至少一个历史数据流的长度加权组合以预测所述当前数据流的长度,其中,所述历史数据流的长度在进行所述加权组合时的权重由与所述至少一个历史数据流对应的所述至少一个模式相似度决定。
  26. 如权利要求25所述的装置,其特征在于,所述数据流长度预测模块,具体用于,
    通过如下的公式来预测当前数据流的长度:
    Figure PCTCN2015086515-appb-100032
    其中,
    Figure PCTCN2015086515-appb-100033
    为所预测当前数据流的长度,wi为权重因子,其大小取决于当前数据流的至少一个模式相似度中的第i个模式相似度,所述第i个模式相似度为所述当前数据流的模式向量与所述至少一个历史数据流中的第i个历史数据流的模式向量之间的模式相似度,yi为所述至少一个历史数据流中的所述第i个历史数据流的长度。
  27. [根据细则91更正 16.09.2015] 
    如权利要求26所述的装置,其特征在于,所述的加权因子wi通过如下公式来获取,
    wi=g(K(x*,xi,Θ))
    其中,g为预测模型,K(x*,xi,Θ)为所述第i个模式相似度,Θ为经训练得到的代表网络中的所述历史数据流的传输行为模式的向量,
    Figure PCTCN2015086515-appb-100034
    x*为所述当前数据流的模式向量,xi为所述至少一个历史数据流中的第i个历史数据流的模式向量。
  28. 如权利要求27所述的装置,其特征在于,所述预测模型g根据新获取到的历史数据流的模式向量及长度实时更新。
  29. 如权利要求25所述的装置,其特征在于,所述数据流长度预测模块具体用于,
    通过如下的公式来预测当前数据流的长度:
    Figure PCTCN2015086515-appb-100035
    其中,x*为所述当前数据流的模式向量;Xm为所述至少一个历史数据流的一个历史数据流子集的模式向量,该子集包含m个历史数据流;K(x*,Xm)表示所述当前数据流与所历史数据流子集的模式相似度,Kmn,Kmm,Knm为所述历史数据流子集的模式相似度矩阵K中的子模块,
    Figure PCTCN2015086515-appb-100036
    Figure PCTCN2015086515-appb-100037
    Figure PCTCN2015086515-appb-100038
    所述历史数据流子集的模式相似度矩阵K的第i行,第j列元素表示的是所述历史数据流子集中第i个历史数据流与第j个历史数据流的模式相似度,y为历史数据流的流长度,
    Figure PCTCN2015086515-appb-100039
    表示为模型噪声方差。
  30. 如权利要求29所述的装置,其特征在于,所述用于当前数据流长度预测的公式
    Figure PCTCN2015086515-appb-100040
    根据新获取到的历史数据流的模式向量及长度实时更新为:
    Figure PCTCN2015086515-appb-100041
    其中,
    Figure PCTCN2015086515-appb-100042
    Figure PCTCN2015086515-appb-100043
    Figure PCTCN2015086515-appb-100044
    Figure PCTCN2015086515-appb-100045
  31. 如权利要求11至30任意一项所述的装置,其特征在于,所述数据流类型检测模块,还用于根据新获得的历史数据流实时更新所述阈值。
  32. 如权利要求31所述的装置,其特征在于,所述数据流类型检测模块具体用于,基于历史数据流的数据流长度样本建立累积分布函数,根据所述累积分布函数得到所述预设的阈值,其中所述历史数据流包括与所述当前数据流的至少一个模式相似度相对应的所述至少一个历史数据流;
    根据新获取的历史数据流的数据流长度样本,修正所述累积分布函数及所述预设的阈值。
PCT/CN2015/086515 2015-01-04 2015-08-10 网络数据流类型检测方法及装置 WO2016107180A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
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 (2)

Application Number Priority Date Filing Date Title
CN201510003825.3 2015-01-04
CN201510003825.3A CN105827472B (zh) 2015-01-04 2015-01-04 网络数据流类型检测方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/465,757 Continuation US10333854B2 (en) 2015-01-04 2017-03-22 Method and apparatus for detecting type of network data flow

Publications (1)

Publication Number Publication Date
WO2016107180A1 true WO2016107180A1 (zh) 2016-07-07

Family

ID=56284125

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/086515 WO2016107180A1 (zh) 2015-01-04 2015-08-10 网络数据流类型检测方法及装置

Country Status (4)

Country Link
US (1) US10333854B2 (zh)
EP (1) EP3176981B1 (zh)
CN (1) CN105827472B (zh)
WO (1) WO2016107180A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789440A (zh) * 2017-01-03 2017-05-31 北京泛讯信息技术有限公司 一种ip包包头检测方法及装置
CN113486585A (zh) * 2021-07-06 2021-10-08 新智数字科技有限公司 设备剩余使用寿命预测方法、装置、电子设备及存储介质
TWI763261B (zh) * 2021-01-19 2022-05-01 瑞昱半導體股份有限公司 數據流分類裝置
CN115134276A (zh) * 2022-05-12 2022-09-30 亚信科技(成都)有限公司 一种挖矿流量检测方法及装置
CN115988574A (zh) * 2023-03-15 2023-04-18 阿里巴巴(中国)有限公司 基于流表的数据处理方法、***、设备和存储介质

Families Citing this family (23)

* Cited by examiner, † Cited by third party
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
US10523536B2 (en) * 2015-10-26 2019-12-31 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
WO2018076243A1 (zh) * 2016-10-27 2018-05-03 华为技术有限公司 一种查找方法及装置
CN106506395A (zh) * 2016-11-28 2017-03-15 迈普通信技术股份有限公司 一种业务流调度方法及装置
CN108322320B (zh) * 2017-01-18 2020-04-28 华为技术有限公司 业务生存性分析方法及装置
CN106850344B (zh) * 2017-01-22 2019-10-29 中国人民解放军信息工程大学 基于流梯度导向的加密流量识别方法
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
CN109063777B (zh) * 2018-08-07 2019-12-03 北京邮电大学 网络流量分类方法、装置及实现装置
CN109379762B (zh) * 2018-09-10 2021-09-14 中国联合网络通信集团有限公司 一种随机信号数据统计方法和***
CN109474540B (zh) * 2018-09-12 2022-06-10 奇安信科技集团股份有限公司 一种识别opc流量的方法及装置
CN109450672B (zh) * 2018-10-22 2020-09-18 网宿科技股份有限公司 一种识别带宽需求突发的方法和装置
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
CN112861894A (zh) * 2019-11-27 2021-05-28 华为技术有限公司 一种数据流分类方法、装置及***
CN113992561A (zh) * 2020-07-10 2022-01-28 华为技术有限公司 一种报文处理方法及装置
US20220086183A1 (en) * 2020-09-15 2022-03-17 Bank Of America Corporation Enhanced network security based on inter-application data flow diagrams
CN114021151B (zh) * 2021-11-17 2022-07-01 山东云天安全技术有限公司 基于Summary长度特征预测工控网漏洞的***
CN114363061A (zh) * 2021-12-31 2022-04-15 深信服科技股份有限公司 一种异常流量检测方法、***、存储介质和终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459554A (zh) * 2008-12-30 2009-06-17 成都市华为赛门铁克科技有限公司 数据流检测的方法和装置
CN101741744A (zh) * 2009-12-17 2010-06-16 东南大学 一种网络流量识别方法
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 (4)

* Cited by examiner, † Cited by third party
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
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459554A (zh) * 2008-12-30 2009-06-17 成都市华为赛门铁克科技有限公司 数据流检测的方法和装置
CN101741744A (zh) * 2009-12-17 2010-06-16 东南大学 一种网络流量识别方法
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)

* Cited by examiner, † Cited by third party
Title
See also references of EP3176981A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789440A (zh) * 2017-01-03 2017-05-31 北京泛讯信息技术有限公司 一种ip包包头检测方法及装置
CN106789440B (zh) * 2017-01-03 2020-11-03 北京泛讯信息技术有限公司 一种ip包包头检测方法及装置
TWI763261B (zh) * 2021-01-19 2022-05-01 瑞昱半導體股份有限公司 數據流分類裝置
CN113486585A (zh) * 2021-07-06 2021-10-08 新智数字科技有限公司 设备剩余使用寿命预测方法、装置、电子设备及存储介质
CN115134276A (zh) * 2022-05-12 2022-09-30 亚信科技(成都)有限公司 一种挖矿流量检测方法及装置
CN115134276B (zh) * 2022-05-12 2023-12-08 亚信科技(成都)有限公司 一种挖矿流量检测方法及装置
CN115988574A (zh) * 2023-03-15 2023-04-18 阿里巴巴(中国)有限公司 基于流表的数据处理方法、***、设备和存储介质
CN115988574B (zh) * 2023-03-15 2023-08-04 阿里巴巴(中国)有限公司 基于流表的数据处理方法、***、设备和存储介质

Also Published As

Publication number Publication date
EP3176981B1 (en) 2018-11-21
US20170195240A1 (en) 2017-07-06
CN105827472B (zh) 2019-08-20
EP3176981A4 (en) 2017-08-09
US10333854B2 (en) 2019-06-25
EP3176981A1 (en) 2017-06-07
CN105827472A (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
WO2016107180A1 (zh) 网络数据流类型检测方法及装置
Yu et al. Software-defined latency monitoring in data center networks
EP4082174B1 (en) System and method for estimation of quality of experience (qoe) for video streaming
JP5750714B2 (ja) 計算機システム、仮想サーバ配置方法及び配置制御装置
Yan et al. A survey of traffic classification in software defined networks
US10237192B2 (en) Apparatus and system for optimizing communication networks
US10924418B1 (en) Systems and methods for fast detection of elephant flows in network traffic
WO2014090075A1 (en) System and method for estimating an effective bandwidth
Koohanestani et al. An analytical model for delay bound of OpenFlow based SDN using network calculus
US8149826B2 (en) Method and system for profiling and learning application networking behavior
CN109952743B (zh) 用于低内存和低流量开销大流量对象检测的***和方法
Hayes et al. Shared bottleneck detection for coupled congestion control for RTP media
Sood et al. Control layer resource management in SDN-IoT networks using multi-objective constraint
US10841192B1 (en) Estimating data transfer performance improvement that is expected to be achieved by a network optimization device
Jurkiewicz Boundaries of flow table usage reduction algorithms based on elephant flow detection
JPWO2015182629A1 (ja) 監視システム、監視装置及び監視プログラム
Gómez et al. Traffic classification in IP networks through Machine Learning techniques in final systems
WO2021147370A1 (zh) 故障检测模型的训练方法、装置及***
CN108141377B (zh) 网络流早期分类
CN111901237B (zh) 源路由选路方法及***、相关设备及计算机可读存储介质
Hagos et al. Classification of delay-based TCP algorithms from passive traffic measurements
WO2021147371A1 (zh) 故障检测方法、装置及***
WO2020245948A1 (ja) 要求通信品質推定装置、要求通信品質推定方法、及びプログラム
Silva et al. Enhancing traffic sampling scope and efficiency
Rao et al. Detecting outliers in network transfers with feature extraction

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15874869

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015874869

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015874869

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE