WO2022111596A1 - Procédé et appareil de mesure de flux de données - Google Patents

Procédé et appareil de mesure de flux de données Download PDF

Info

Publication number
WO2022111596A1
WO2022111596A1 PCT/CN2021/133234 CN2021133234W WO2022111596A1 WO 2022111596 A1 WO2022111596 A1 WO 2022111596A1 CN 2021133234 W CN2021133234 W CN 2021133234W WO 2022111596 A1 WO2022111596 A1 WO 2022111596A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
stream
flow
measurement value
storage space
Prior art date
Application number
PCT/CN2021/133234
Other languages
English (en)
Chinese (zh)
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 华为技术有限公司
Publication of WO2022111596A1 publication Critical patent/WO2022111596A1/fr

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/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a method and apparatus for data flow measurement.
  • the data flow measurement plays a crucial role in analyzing the quality of communication links and formulating various communication strategies.
  • the data flow measurement may include measurement of the number of packets of the data flow, measurement of the number of bytes of the data flow, and the like.
  • the sketch algorithm is widely used in traffic measurement.
  • a sketch data table with m rows and n columns is set up, each grid in the sketch data table corresponds to a bucket, each data row in the sketch data table corresponds to a hash function, and each data row corresponds to a hash function different.
  • a data packet is received, for each data row of the sketch data table, use the hash function corresponding to the data row to perform hash calculation with the flow identifier corresponding to the data packet, and the obtained hash result is used for the target data packet.
  • the measurements of are accumulated into the bucket corresponding to the hash result in the row of data.
  • the measurement value of the data flow recorded in each bucket of the sketch data table is the sum of the measurement values corresponding to the flow IDs with the same hash result.
  • the specified flow ID is hashed with the hash function corresponding to each data row, and m buckets that record the measurement value corresponding to the specified flow ID can be determined. Then, the minimum measurement value recorded in the m buckets is taken as the measurement value corresponding to the specified flow identifier.
  • the error of the measured value of any data stream obtained through the sketch data table is related to the sum of the measured values of all data streams recorded in the sketch data table. The greater the error in the measurement value.
  • the embodiment of the present application provides a method and device for measuring data flow, which can solve the problem of large error in the measurement value of data flow in the related art.
  • the technical solution is as follows:
  • a data flow measurement method is provided, the method is applied to a network device, and the method includes:
  • the flow identifier can be set according to actual requirements and used to uniquely identify a data stream.
  • the flow identifier can be the source address and destination address carried in the data packet of the data stream, and for example, The flow identifier may also be quintuple information carried in the data packet of the data flow.
  • a data stream includes multiple data packets, and the measurement value of the data stream is the sum of the measurement values of all the data packets included in the data stream.
  • the measurement value may be the number of data packets included in the data stream, and may also be the total number of bytes of the data packets included in the data stream, and so on.
  • the above-mentioned first data stream may also be referred to as a large stream, and a large stream is relative to a data storage space.
  • the target data table is used to record data such as the flow identifier of the data flow, the measurement value of the data flow, and the like.
  • the target data table may be a sketch data table.
  • Each data row of the target data table may correspond to a first eigenvalue calculation function, and different data rows correspond to different first eigenvalue functions.
  • the first feature value calculation function may be a hash function.
  • the first eigenvalue calculation function corresponding to the data row can have m types of calculation results, where m is the number of columns of the target data table, that is, the data storage space corresponding to each data row number.
  • Each of the m types of calculation results corresponds to one data storage space of the data row, that is, the m types of calculation results correspond to the m data storage spaces one-to-one.
  • the data storage space may also be called a bucket, and in the case that the target data table is a sketch data table, the data storage space corresponding to the target data table may be called a sketch bucket.
  • the data flow to which the data packet belongs is a large flow, and if it is a large flow, its flow identification and measurement value are recorded separately, which can make the large flow
  • the measurements are relatively accurate. And since the measured values of the large flow are recorded separately, only the measured values of the data flow other than the large flow can be recorded in the target data table. In this way, because the number of recorded data flows is reduced, when restoring the measured values of these data flows , the accuracy of the obtained measurements is also relatively high.
  • a data flow measurement method is provided, the method is used in a network device, and the method includes:
  • the measurement value of the target data stream is determined based on the measurement value of the target data packet , recorded in the data storage space, including:
  • the flow identifier and measurement value of the first data flow are not recorded in the data storage space, then determine that the target data flow is the first data flow corresponding to the data storage space, and use the measurement value of the target data packet as the measurement of the target data flow value, take the stream identifier of the target data stream as the stream identifier of the first data stream corresponding to the data storage space, and record the stream identifier of the target data and the measurement value in the data storage space correspondingly.
  • the measurement value of the target data packet is The value is accumulated to the measured value of the first data stream recorded in the data storage space.
  • the stream identifier and measurement value of the first data stream are recorded in the data storage space, and the stream identifier of the target data stream is different from the stream identifier of the first data stream recorded in the data storage space, determine whether the data storage space has The comparison measurement value is recorded. If there is no comparison measurement value recorded, the measurement value of the target packet is recorded in the data storage space as the comparison measurement value corresponding to the data storage space. If the comparison measurement value is recorded, the target The measurements of the data packets are accumulated on the comparison measurements recorded in the data storage space.
  • the target data stream is determined to be the first data stream corresponding to the data storage space, and the data storage
  • the flow identification of the first data flow recorded in the space is updated to the flow identification of the target data flow
  • the measured value of the first data flow recorded in the data storage space is updated to the measured value of the target data packet
  • the measured value of the first data flow recorded in the data storage space is updated.
  • the recorded comparison measurement is updated to 0.
  • the first data stream A that enters the data storage space for recording can be considered as a large stream of the data storage space.
  • the second data stream B After the second data stream B enters the data storage space, if the measurement value of the data stream B is greater than the measurement value of the data stream A, then replace the large stream of the data storage space with the data stream B. Next, when After the third data stream C enters the data storage space, compare the measured values of the data stream C and the data stream B to determine whether to replace the large stream.
  • the measurement value of the data stream B is not greater than the measurement value of the data stream A, it is considered that the data stream A is still the large stream of the data storage space.
  • the third data stream C enters the data storage space, Compare the measurement value of data stream A and the sum of the measurement values of data stream B and data stream C, if the sum of the measurement values is greater than the measurement value of data stream A, replace the large stream of the data storage space with data stream C , if the sum of the measured values is not greater than the measured value of data stream A, it is considered that data stream A is still a large stream in the data storage space.
  • the flow identifier and measurement value of the first data stream are recorded in the data storage space, and the flow identifier of the target data stream is the same as the first data stream recorded in the data storage space.
  • the flow identification of the data flow is different, and the method also includes:
  • the target data stream is not the first data stream corresponding to the data storage space, based on the target data
  • the measurement value of the packet, in the target data table records the measurement value of the target data stream.
  • the measured value and the flow identifier are recorded correspondingly. If it is determined that the target data flow is not a large flow, other methods are used to record in the target data table. In this way, when the measurement value of the non-large flow is subsequently restored, it is not affected by the measurement value of the large flow, so that the finally obtained statistical measurement value of the non-large flow is more accurate.
  • the controller sends the storage space identifier of the data storage space, the flow identifier of the first data stream recorded in the data storage space, and the measurement value of the first data stream.
  • the flow identifier corresponding to the target data packet is sent to the controller as the flow identifier of the second data stream device.
  • the second data stream may also be referred to as a non-large stream.
  • the locally stored target data table is sent to the controller, and the locally stored target data table is initialized.
  • the flow identifier and measurement value of the replaced large flow are uploaded to the controller, so that the subsequent controller can calculate the large flow.
  • a measure of the flow total when it is determined that the target data stream is not a large stream, the stream identifier of the target data stream is uploaded to the controller, so that the subsequent controller can know which data stream needs to be calculated by the optimization algorithm in the target data table.
  • the controller can restore the measured value of the data flow, which can effectively save the processing resources of the network equipment. And after the report, the local related data of the network device can be deleted, saving storage resources.
  • the method before sending the flow ID corresponding to the target data packet as the flow ID of the second data flow to the controller, the method further includes: determining that the flow ID corresponding to the target data packet is not sent to the controller The controller sends the flow ID corresponding to the target data packet, and records the flow ID corresponding to the target data packet.
  • the flow identifier corresponding to the target data packet is not sent to the controller, and the flow identifier corresponding to the target data packet is recorded, including:
  • the flow identifiers of non-large flows may not be recorded directly, but Bloom filtering may be used.
  • the Bloom Filter implements the recording of non-large flow measurements. Specifically, a Bloom Filter can be set, and before recording or sending a non-large stream stream identifier, you can first determine whether the stream identifier is recorded in the Bloom Filter, and if the stream identifier is not recorded, then record the stream identifier. or send. After recording or sending the stream identifier of the non-large stream, the stream identifier can be recorded in the Bloom Filter.
  • a Bloom Filter can be set for each data storage space in the target data table, or a Bloom Filter can be set for a target data table.
  • the Bloom Filter can be stored in the corresponding data storage space.
  • the corresponding flow ID of the non-large flow can be determined first. Whether the stream identifier is recorded in the Bloom Filter stored in the data storage space of the data storage space, after recording or sending the stream identifier of the non-large stream, the stream identifier can be recorded in the Bloom Filter stored in the corresponding data storage space.
  • recording the measurement value of the target data stream including:
  • the accumulation coefficient corresponding to the target data flow is determined, and the measurement value of the target data packet is multiplied by the accumulation coefficient to obtain the adjusted measurement value of the target data packet.
  • the adjusted measurement value of the target data packet is accumulated to the measurement value of the second data stream recorded in the data storage space.
  • the second data stream may be referred to as a non-large stream.
  • the target data table in addition to corresponding to a first eigenvalue calculation function, it may also correspond to a second eigenvalue calculation function.
  • the second feature value calculation function may also be a hash function, and the second feature value calculation function corresponding to each data row is different.
  • the value to be calculated corresponding to the target data packet can be input into the data storage space In the second eigenvalue calculation function corresponding to the data row, the accumulation coefficient corresponding to the stream identifier is obtained. Among them, the accumulation coefficient can be a decimal. Then, the measured value of the target data packet is multiplied by the accumulation coefficient to obtain the adjusted measured value of the target data packet. Finally, the adjusted measurement of the target packet is accumulated to the measurement of the non-large flow recorded in the data storage space.
  • recording the measurement value of the target data stream including:
  • an accumulation coefficient corresponding to the target data flow is determined, and the measurement value of the target data packet is multiplied by the accumulation coefficient, The adjusted measurement value of the target data packet is obtained, and the adjusted measurement value of the target data packet is accumulated to the measurement value of the data flow recorded in the data storage space.
  • a data flow measurement method applied to a network device, and the method includes:
  • the target data packet Receive the target data packet, and determine the first data storage space corresponding to the target data flow to which the target data packet belongs in the corresponding first data table based on the third feature value calculation function and the flow identifier corresponding to the target data packet. If the target data stream is a large stream corresponding to the first data storage space, determine the measurement value of the target data stream based on the measurement value of the target data packet, and record it in the first data storage space . If the target data stream is not the first data stream corresponding to the first data storage space, the measurement value of the target data stream is recorded in the target data table based on the measurement value of the target data packet.
  • the measurement value of the target data stream is determined based on the measurement value of the target data packet , recorded in the first data storage space, including:
  • the first data storage space is empty, determine that the target data flow is the first data flow corresponding to the first data storage space, and use the measurement value of the target data packet as the measurement of the target data flow value, take the stream identifier of the target data stream as the stream identifier of the first data stream corresponding to the first data storage space, and record the stream identifier and measurement value of the target data correspondingly in the first data storage space middle.
  • the measurement value of the target data packet is Accumulated to the measured value of the first data stream recorded in the first data storage space.
  • the first data storage space is not empty and the stream identifier of the target data stream is different from the stream identifier of the first data stream recorded in the first data storage space, it is determined that the first data storage space is in the first data storage space. Whether a comparison measurement value is recorded, if no comparison measurement value is recorded, the measurement value of the target data packet is recorded in the first data storage space as the comparison measurement value corresponding to the first data storage space, if If the comparison measurement value is recorded, the measurement value of the target data packet is accumulated on the comparison measurement value recorded in the first data storage space.
  • the target data stream is determined to be the first data storage space
  • the measurement value of the data stream is updated to the measurement value of the target data packet, and the comparison measurement value recorded in the first data storage space is updated to 0.
  • the The method also includes:
  • the first data stream corresponding to the space records the measurement value of the target data stream in the target data table based on the measurement value of the target data packet.
  • recording the measurement value of the target data stream including:
  • the target data table For each data row of the target data table, based on the first feature value calculation function corresponding to the data row and the flow identifier corresponding to the target data packet, determine that the target data flow to which the target data packet belongs is in the data row In the second data storage space corresponding to the data row, based on the second feature value calculation function corresponding to the data row and the flow identifier of the target data packet, determine the accumulation coefficient corresponding to the target data flow, and calculate the value of the target data packet. The measured value is multiplied by the accumulation coefficient to obtain the adjusted measured value of the target data packet, and the adjusted measured value of the target data packet is accumulated to the measured value of the second data stream recorded in the second data storage space .
  • the method further includes :
  • the method further includes:
  • Methods also include:
  • the locally stored first data table and the target data table are sent to the controller, and the locally stored first data table and the target data table are initialized.
  • the method before sending the flow identifier corresponding to the target data packet as the flow identifier of the second data stream to the controller, the method further includes:
  • the flow identifier corresponding to the target data packet is not sent to the controller, and the flow identifier corresponding to the target data packet is recorded, including:
  • a data flow measurement method is provided, the method is applied to a controller, and the method includes:
  • the measurement values of the first data stream recorded in the target data table are filtered to obtain the first measurement value of each first data stream recorded in the target data table .
  • the measured values of the first data streams corresponding to the same storage space identifier and the same stream identifier are accumulated to obtain a second received stream identifier corresponding to each first data stream. Measurements.
  • the second measurement value of the first data stream corresponding to the same flow identifier is screened to obtain the received value of each first data stream.
  • the flow identifies the corresponding third measurement value.
  • the first measurement value corresponding to the same stream identifier is Accumulate with the third measurement value to obtain the statistical measurement value corresponding to the stream identifier of each first data stream. Based on the received flow identification of the second data flow and the target data table, a statistical measurement value corresponding to the flow identification of each second data flow is determined.
  • the measured values of the first data stream corresponding to the same flow identifier are screened to obtain the measured values of the first data stream recorded in the target data table.
  • First measurements for each first data stream including:
  • the maximum measured value of the first data stream corresponding to the same flow identifier is taken as the first measured value of the first data stream corresponding to the same stream identifier.
  • the second measurement value of the first data stream corresponding to the same stream identifier is screened to obtain each received first data stream.
  • the third measurement value corresponding to the flow identifier of the flow including:
  • the maximum second measurement value of the first data stream corresponding to the same flow identifier is used as the first data stream corresponding to the same stream identifier.
  • determining the statistical measurement value corresponding to the flow identifier of each second data stream based on the received stream identifier of the second data stream and the target data table including:
  • the data storage For each data storage space in the target data table, based on the first eigenvalue calculation function corresponding to the data row where the data storage space is located, the data storage The stream identifier of the second data stream corresponding to the space, and based on the second eigenvalue calculation function corresponding to the data row where the data storage space is located, determine the accumulation coefficient corresponding to the stream identifier of each second data stream corresponding to the data storage space .
  • the statistical measurement value corresponding to the stream identifier of each second data stream corresponding to the data storage space is multiplied by the corresponding accumulation coefficient as an unknown, and the accumulation is performed, and the measurement value of the data stream recorded in the data storage space is used as the accumulation result. , to obtain the target equation corresponding to the data storage space.
  • a target equation group is formed. Based on a linear optimization algorithm, taking the minimum sum of the statistical measurement values corresponding to the received flow identifiers of the second data stream as the optimization objective, solving the objective equation system to obtain the statistical measurement values corresponding to the flow identifiers of each second data stream .
  • the method further includes: in the obtained statistical measurement value corresponding to the flow ID of the first data stream and the statistical measurement value corresponding to the flow ID of the second data stream, assigning the corresponding same flow ID The measured values are accumulated to obtain the total measured value corresponding to each flow identifier.
  • a data flow measurement method is provided, the method is applied to a controller, and the method includes:
  • the network device Receive the flow identifier of the first data stream, the corresponding measurement value and the storage space identifier of the corresponding data storage space, the stream identifier of the second data stream, and the target data table sent by the network device.
  • the measured values of the first data stream recorded in the target data table are filtered to obtain the first measured value of each first data stream recorded in the target data table.
  • the measured values of the first data streams corresponding to the same storage space identifier and the same stream identifier are accumulated to obtain a second received stream identifier corresponding to each first data stream. Measurements.
  • the second measurement value corresponding to the stream identifier of the first data stream corresponding to the same flow identifier is screened to obtain each received first data stream.
  • the flow identification of a data flow corresponds to the third measurement value.
  • the first measurement value corresponding to the same stream identifier and the third measurement value corresponding to the same stream identifier The two measurement values are accumulated to obtain a statistical measurement value corresponding to the stream identifier of each first data stream.
  • the measurement value of the data stream recorded in each data storage space in the target data table, and the obtained statistical measurement value corresponding to the stream identifier of each first data stream determine each The statistical measurement values corresponding to the flow identifiers of the two data streams.
  • the measured value of the data stream recorded in each of the data storage spaces in the target data table, and each obtained first data stream is determined, and the statistical measurement value corresponding to the flow identifier of each second data stream is determined, including:
  • the accumulation coefficient corresponding to the stream identifier of each first data stream corresponding to the data storage space is determined based on the second eigenvalue calculation function corresponding to the data row where the data storage space is located. Multiply the statistical measurement value corresponding to the flow identifier of each first data stream corresponding to the data storage space by the corresponding accumulation coefficient to obtain the adjusted statistical measurement value corresponding to the flow identifier of each first data stream corresponding to the data storage space .
  • the stream identifier of the second data stream corresponding to the data storage space is determined, and based on the received stream identifier of the second data stream.
  • the second eigenvalue calculation function corresponding to the data row where the data storage space is located determines the accumulation coefficient corresponding to the stream identifier of each second data stream corresponding to the data storage space.
  • the statistical measurement value corresponding to the flow identification of each second data stream corresponding to the data storage space is multiplied by the corresponding accumulation coefficient as an unknown, and the adjustment statistical measurement corresponding to the flow identification of each first data flow corresponding to the data storage space
  • the values are added, and the measured value of the data stream recorded in the data storage space is used as the accumulation result to obtain the target equation corresponding to the data storage space pair.
  • a target equation group is formed. Based on a linear optimization algorithm, taking the minimum sum of the statistical measurement values corresponding to the received flow identifiers of the second data stream as the optimization objective, solving the objective equation system to obtain the statistical measurement values corresponding to the flow identifiers of each second data stream .
  • a data flow measurement method is provided, the method is applied to a controller, and the method includes:
  • the measurement values corresponding to the same flow identifier are accumulated to obtain the statistical measurement value corresponding to the stream identifier of each first data stream .
  • a statistical measurement value corresponding to the stream identifiers of each second data stream is determined.
  • determining a statistical measurement value corresponding to the stream identifier of each second data stream including:
  • the target data table For each data storage space in the target data table, based on the first eigenvalue calculation function corresponding to the data row where the data storage space is located, in the received stream identifier of the second data stream, determine the corresponding data
  • the stream identifier of at least one target second data stream in the storage space, and the accumulation coefficient corresponding to the stream identifier of each target second data stream is determined based on the second feature value calculation function corresponding to the data row where the data storage space is located.
  • the statistical measurement value corresponding to the stream identifier of each target second data stream in the stream identifiers of the at least one target second data stream is multiplied by the corresponding accumulation coefficient as an unknown, and the accumulation is performed, and the data storage space is recorded.
  • the measured value of the data stream is used as the accumulation result to obtain the target equation;
  • a target equation group is formed. Based on a linear optimization algorithm, taking the minimum sum of the statistical measurement values corresponding to the received flow identifiers of the second data stream as the optimization objective, solving the objective equation system to obtain the statistical measurement values corresponding to the flow identifiers of each second data stream .
  • the method further includes:
  • the measurement values corresponding to the same flow ID are accumulated to obtain the total measurement value corresponding to each flow ID value.
  • an apparatus for measuring data flow which is used to execute the first aspect or any possible implementation manner of the first aspect.
  • the apparatus includes a module for performing the first aspect or any possible implementation manner of the first aspect.
  • an apparatus for data flow measurement which is used to execute the second aspect or any possible implementation manner of the second aspect.
  • the apparatus includes a module for performing the second aspect or any possible implementation manner of the second aspect.
  • an apparatus for measuring data flow is provided, which is used to execute the third aspect or any possible implementation manner of the third aspect.
  • the apparatus includes a module for performing the third aspect or any possible implementation manner of the third aspect.
  • a data flow measurement apparatus which is used to perform the fourth aspect or any possible implementation manner of the fourth aspect.
  • the apparatus includes a module for performing the fourth aspect or any possible implementation manner of the fourth aspect.
  • an apparatus for measuring data flow which is used to execute the fifth aspect or any possible implementation manner of the fifth aspect.
  • the apparatus includes a module for performing the fifth aspect or any possible implementation manner of the fifth aspect.
  • a twelfth aspect provides an apparatus for measuring data flow, which is used to execute the sixth aspect or any possible implementation manner of the sixth aspect.
  • the apparatus includes a module for performing the sixth aspect or any possible implementation manner of the sixth aspect.
  • a thirteenth aspect provides a network device, the network device comprising a processor and a memory, wherein:
  • the memory stores instructions that are executed by the processor to implement the method of any of the first, second and third aspects above.
  • a fourteenth aspect provides a controller, the controller comprising a processor and a memory, wherein:
  • the memory stores instructions that are executed by the processor to implement the method of any one of the fourth, fifth and sixth aspects above.
  • a fifteenth aspect provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and the instructions are loaded and executed by a processor to implement any one of the first to sixth aspects above. The method described in one aspect.
  • a sixteenth aspect provides a computer program product, the computer program product includes instructions, the instructions are loaded and executed by a processor to implement the method according to any one of the first to sixth aspects .
  • a seventeenth aspect provides a data flow measurement system, the system includes a network device and a controller, wherein:
  • the network device is configured to execute the method according to the first aspect
  • the controller is configured to perform the method as described in the fourth aspect above.
  • a data flow measurement system includes a network device and a controller, wherein:
  • the network device is configured to execute the method according to the second aspect
  • the controller is adapted to perform the method of the fifth aspect above.
  • a nineteenth aspect provides a data flow measurement system, the system includes a network device and a controller, wherein:
  • the network device is configured to execute the method according to the third aspect
  • the controller is configured to perform the method as described in the sixth aspect above.
  • a processor for executing the methods described in the first to sixth aspects.
  • the process of sending data and receiving data in the above method can be understood as the process of outputting the above-mentioned data by the processor and the process of receiving the above-mentioned input data by the processor.
  • the processor When outputting the above-mentioned data, the processor outputs the above-mentioned data to the transceiver for transmission by the transceiver. After the above-mentioned data is output by the processor, other processing may be required before reaching the transceiver.
  • the transceiver receives the above-mentioned data and inputs it into the processor. Further, after the transceiver receives the above-mentioned data, the above-mentioned data may need to be processed in other ways before being input to the processor.
  • the flow identifier and measurement value of the first data stream, the identifier of the second data stream, and the target data table mentioned in the aforementioned method can be understood as the processor outputting the stream identifier of the first data stream. and measurement values, the identification of the second data stream, the target data table.
  • receiving the stream identifier and measurement value of the first data stream, the identifier of the second data stream, and the target data table can be understood as the processor receiving the stream identifier and measurement value of the input first data stream, the identifier of the second data stream, target data sheet.
  • the above-mentioned processor may be a processor specially used to execute these methods, or may be a processor that executes computer instructions in a memory to execute these methods, such as a general-purpose processor.
  • the above-mentioned memory can be a non-transitory (non-transitory) memory, such as a read-only memory (Read Only Memory, ROM), which can be integrated with the processor on the same chip, or can be set on different chips respectively.
  • ROM read-only memory
  • the embodiment does not limit the type of the memory and the setting manner of the memory and the processor.
  • an embodiment of the present application provides a chip system, the chip system includes a processor and an interface, where the interface is used to obtain a program or an instruction, and the processor is used to call the program or instruction to implement the above-mentioned
  • the function involved in any one of the first aspect to the sixth aspect for example, determining or processing the data involved in the above-mentioned method, and the data may be a measurement value, a flow identification, and the like.
  • the chip system further includes a memory for storing necessary program instructions and data of the network device.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • FIG. 1 is a flowchart of a method for measuring data flow provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of a target data table provided by an embodiment of the present application.
  • FIG. 3 is a flowchart of a method for judging a large flow provided by an embodiment of the present application
  • FIG. 4 is a schematic diagram of a target data table provided by an embodiment of the present application.
  • FIG. 5 is a flowchart of a method for measuring data flow provided by an embodiment of the present application.
  • FIG. 6 is a flowchart of a method for determining a measurement value corresponding to a flow identifier of a non-large flow provided by an embodiment of the present application;
  • FIG. 7 is a flowchart of a method for measuring data flow provided by an embodiment of the present application.
  • FIG. 8 is a flowchart of a method for measuring data flow provided by an embodiment of the present application.
  • FIG. 9 is a flowchart of a method for determining a measurement value corresponding to a flow identifier of a non-large flow provided by an embodiment of the present application.
  • FIG. 10 is a flowchart of a method for measuring data flow provided by an embodiment of the present application.
  • FIG. 11 is a flowchart of a method for measuring data flow provided by an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of an apparatus for data flow measurement provided by an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of an apparatus for data flow measurement provided by an embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of a controller provided by an embodiment of the present application.
  • the embodiment of the present application provides a data flow measurement method, and the method can be implemented by a network device.
  • the network device may be a device for receiving and forwarding data packets, such as a router, a switch, and the like.
  • the network device can calculate and record the measurements of the received packets.
  • after a data packet is received it is necessary to determine whether the data flow to which the data packet belongs is a large flow, and if it is a large flow, the flow identification and measurement value of the flow are recorded separately, so that the measurement value of the large flow can be is relatively accurate. And since the measured values of the large flow are recorded separately, only the measured values of the data flow other than the large flow can be recorded in the target data table. In this way, because the number of recorded data flows is reduced, when restoring the measured values of these data flows , the accuracy of the obtained measurements is also relatively high.
  • the data flow measurement method provided by the embodiment of the present application can be applied in scenarios such as network security and forwarding policy planning.
  • a denial of service (Denial of Service, DOS) attack can be detected through data flow measurement.
  • DOS Delivery of Service
  • a network device can obtain data flow data by executing the data flow measurement method provided by the embodiments of the present application. If there are a large number of data packets sent to a certain destination address within a period of time, it can be preliminarily determined that the host corresponding to the destination address may have been attacked by DOS, and further Take appropriate defenses.
  • an embodiment of the present application provides a data flow measurement method, and a processing flow of the method may include the following steps:
  • Step 101 receiving the target data packet, for each data row of the target data table, based on the first feature value calculation function corresponding to the data row and the flow identifier corresponding to the target data packet, determine that the target data stream to which the target data packet belongs is in the data.
  • the corresponding data storage space in the row is not limited to the first feature value calculation function corresponding to the data row and the flow identifier corresponding to the target data packet.
  • the flow identifier can be set according to actual requirements and used to uniquely identify a data stream.
  • the flow identifier can be the source address and destination carried in the data packet of the data stream.
  • the flow identifier can also be the data of the data stream.
  • a data stream includes multiple data packets, and the measurement value of the data stream is the sum of the measurement values of all the data packets included in the data stream.
  • the target data table is used to record data such as the flow identifier of the data flow, the measurement value of the data flow, and the like.
  • the target data table may be a sketch data table.
  • Each data row of the target data table may correspond to a first eigenvalue calculation function, and different data rows correspond to different first eigenvalue functions.
  • the first feature value calculation function may be a hash function.
  • the first eigenvalue calculation function corresponding to the data row can have m types of calculation results, where m is the number of columns of the target data table, that is, the data storage space corresponding to each data row number.
  • m is the number of columns of the target data table, that is, the data storage space corresponding to each data row number.
  • Each of the m types of calculation results corresponds to one data storage space of the data row, that is, the m types of calculation results correspond to the m data storage spaces one-to-one.
  • the data storage space may also be called a bucket, and in the case that the target data table is a sketch data table, the data storage space corresponding to the target data table may be called a sketch bucket.
  • the network device when receiving a data packet, determines the data storage space corresponding to the data flow in the target data table to which the data packet belongs. That is, it is determined in which data storage spaces corresponding to the target data table the measurement value of the data packet needs to be recorded.
  • the currently received data packet is referred to as a target data packet
  • the data stream to which the data packet belongs is referred to as a target data stream.
  • the corresponding data storage space in the data row of the data stream to which the target data packet belongs can be determined separately.
  • the determination method can be as follows:
  • the flow identifier corresponding to the target data packet is preprocessed to obtain the value to be calculated.
  • the preprocessing may be converting the stream identifier into a binary number, and correspondingly, the value to be calculated is a binary number corresponding to the stream identifier.
  • the value to be calculated is input into the first eigenvalue calculation function to obtain an output result corresponding to the flow identifier.
  • the data storage space corresponding to the output result corresponding to the stream identifier is determined.
  • the output result of the first feature value calculation function is the storage space identifier of the data storage space, and the storage space identifier of each data storage space of the target data table is different.
  • the storage space identifier can be a number, for example, 1, 2, 3, and so on.
  • the flow identifier corresponding to the target data packet is K 1
  • the measurement value is V 1
  • the first eigenvalue calculation function corresponding to the first data row of the target data table is h 1
  • the second data row corresponds to The first eigenvalue calculation function of is h 1
  • the first eigenvalue calculation function corresponding to the mth data row is h m .
  • Preprocess K 1 to obtain the value to be calculated, and then substitute the value to be calculated into h 1 , h 1 ?? h m respectively, and obtain m output results, each data result corresponds to a data storage corresponding to the target data table space.
  • Step 102 if the target data stream is the first data stream corresponding to the data storage space, then based on the measurement value of the target data packet, determine the measurement value of the target data stream and record it in the data storage space.
  • the first data stream may also be referred to as a large stream.
  • the first data stream is hereinafter referred to as a large stream.
  • the measurement value can be set according to actual needs.
  • the measurement value may be the number of data packets included in the data stream, and, for example, the measurement value may also be the total number of bytes of data packets included in the data stream, and so on.
  • the network device may calculate measurements on the data packet. After the data storage space corresponding to the target data stream is determined, the measurement value of the target data packet can be recorded in different ways according to whether the target data stream is a large stream. For each data storage space corresponding to the determined target data stream, the method of judging whether the target data stream is a large stream and recording the measured value of the target data packet can be referred to in FIG. 3, which may specifically include the following steps:
  • This step is to determine whether the target data packet is the first data packet that enters the data storage space for recording after the data storage space is initialized. It should be noted here that the initialization of the data storage space is performed at the end of each measurement period, and specifically, the data recorded in the data storage space may be deleted. Then, the above-mentioned "judging whether the target data packet is the first data packet to enter the data storage space for recording after the data storage space is initialized" is to judge whether the target data packet is the first data packet in the current measurement period. Data packets that entered this data storage space for recording.
  • the flow identifier and measurement value of the large flow are not recorded in the data storage space, then determine that the target data flow is the large flow corresponding to the data storage space, and use the measurement value of the target data packet as the measurement value of the target data flow,
  • the stream identifier of the target data stream is used as the stream identifier of the first data stream corresponding to the data storage space, and the stream identifier of the target data and the measurement value are correspondingly recorded in the data storage space.
  • the target data packet is the first data packet to enter the data storage space for recording after the data storage space is initialized, that is, the , the target data packet is the first data packet that enters the data storage space for recording in the current measurement period.
  • the target data stream can be regarded as a large stream, and the measured values of the target data stream can be recorded in the data storage space.
  • the flow ID corresponding to the target data packet is K 1
  • the measurement value is V 1
  • the flow ID and measurement value of the large flow are not recorded in the data storage space, then the flow ID of the large flow is recorded as K 1 , and the The measurement of the large current is recorded as V 1 .
  • the flow identifier and measurement value of the large flow are recorded in the data storage space, it means that there are other data packets entering the data storage space for recording before the target data packet. In this case, it is possible to continue to determine whether the target data stream to which the target data packet belongs is a recorded large stream.
  • the flow ID of the target data flow is the same as the flow ID of the large flow recorded in the data storage space, it means that there are other data packets belonging to the target data flow entering the data storage space for recording before the target data packet, and the target data flow is recorded in the data storage space.
  • a data stream is a large stream corresponding to the data storage space. In this case, the recorded measurements of the mass flow can be updated.
  • the flow ID corresponding to the target data packet is K 1
  • the measurement value is V 1
  • the flow ID with a large flow recorded in the data storage space is K 1
  • the measurement value is V
  • the measurement value V 1 of the target data packet is accumulated to the recorded large flow measurement value V, that is, the large flow measurement value V is updated to (V+V 1 ).
  • the target data packet is the first data packet to enter the data storage space for recording after the data storage space is initialized, except for the data packets of the recorded large flow, that is, The target data packet is the first data packet that enters the data storage space for recording in the current measurement period, except for the recorded data packets of the large flow.
  • the measured value of the target data packet can be used as the comparative measured value corresponding to the data storage space.
  • the comparison measurement value is recorded as V 1 .
  • a comparative measurement value is recorded, it means that before the target data packet, other data packets other than the recorded large flow data packets enter the data storage space for recording. In this case, the recorded comparative measurements can be updated.
  • the flow identifier corresponding to the target data packet is K 1
  • the measurement value is V 1
  • the comparison measurement value C is recorded in the data storage space.
  • the measurement value V 1 of the target packet is accumulated to the recorded comparison measurement value C, ie, the comparison measurement value C is updated to (C+V 1 ).
  • the accumulated comparative measurement value recorded in the data storage space is greater than the measurement value of the large flow recorded in the data storage space, it means that the currently recorded large flow is no longer a large flow. In this case, it is necessary to take the data flow to which the target data packet belongs as a new large flow, and update the flow identifier of the large flow, the measured value of the large flow and the comparative measured value recorded in the data storage space.
  • the flow identifier corresponding to the target data packet is K 1
  • the measured value is V 1
  • the comparative measurement value is updated from C to (C+ V1 ) .
  • the target data flow to which the target data packet belongs is regarded as a new large flow
  • the flow identifier of the large flow is updated as K 1 , update the measured value of large flow to V 1 . Since no other packets have been received after the target packet at this time, the comparison measurement value is updated to 0.
  • Step 103 If the target data stream is not the first data stream corresponding to the data storage space, record the measurement value of the target data stream in the target data table based on the measurement value of the target data packet.
  • the target data flow to which the target data packet belongs is not the large flow corresponding to the data storage space.
  • the flow identifier corresponding to the target data packet is K 1
  • the measured value is V 1
  • the comparative measurement value is updated from C to (C+ V1 ) . If the updated comparative measurement value (C+V 1 ) is not greater than the recorded measurement value V of the large flow, it can be determined that the target data flow to which the target data packet belongs is not the large flow corresponding to the data storage space.
  • Method 1 Based on the second eigenvalue calculation function corresponding to the data row where the data storage space is located and the flow identifier of the target data packet, determine the accumulation coefficient corresponding to the target data flow, and multiply the measurement value of the target data packet by the accumulation coefficient, The adjusted measurement value of the target data packet is obtained, and the adjusted measurement value of the target data packet is accumulated to the non-large flow measurement value recorded in the data storage space.
  • the measured value of the non-large flow can also be recorded.
  • each data row of the target data table in addition to corresponding to a first eigenvalue calculation function, it may also correspond to a second eigenvalue calculation function.
  • the second feature value calculation function may also be a hash function, and the second feature value calculation function corresponding to each data row is different.
  • the value to be calculated corresponding to the target data packet can be input into the data storage space In the second eigenvalue calculation function corresponding to the data row, the accumulation coefficient corresponding to the stream identifier is obtained.
  • the accumulation coefficient can be a decimal. It should be noted here that the value to be calculated corresponding to the target data packet may be obtained by preprocessing when determining the data storage space corresponding to the data stream to which the target data packet belongs.
  • the measured value of the target data packet is multiplied by the accumulation coefficient to obtain the adjusted measured value of the target data packet.
  • the adjusted measurement of the target packet is accumulated to the measurement of the non-large flow recorded in the data storage space.
  • the first data row of the target data table also corresponds to a second eigenvalue calculation function g 1
  • the second data row also corresponds to a second eigenvalue function g2
  • the mth data row also corresponds to a second eigenvalue calculation function gm.
  • Preprocess K 1 to obtain the value to be calculated, and substitute the value to be calculated into h 1 , h 2 ?? h m respectively, and obtain m output results
  • each data result corresponds to a data storage space corresponding to the target data table.
  • the values to be calculated are substituted into g1, g2...gm, respectively, to obtain m cumulative coefficients.
  • the second method is to directly accumulate the measured value of the target data packet to the measured value of the non-large flow recorded in the data storage space.
  • the flow corresponding to the target data packet is identified as K 1 and the measurement value is V 1
  • the measurement value V 1 of the target data packet is accumulated to the recorded measurement value of the non-large flow, that is, the recorded measurement value of the non-large flow is
  • the value D is updated to (D+V 1 ).
  • Controllers can be network devices such as routers and switches, terminal devices such as mobile phones, desktop computers, notebook computers, and tablet computers, and cloud devices such as single servers and server clusters.
  • step S1029 when it is determined that the accumulated comparative measurement value recorded in the data storage space is greater than the measurement value of the large flow recorded in the data storage space, the flow of the large flow currently recorded in the data storage space is Measured values for identification and mass flow are retrieved for storage.
  • step 103 after it is determined that the target data flow is not a large flow corresponding to the data storage space, the flow identifier corresponding to the target data packet may be recorded as a non-large flow flow identifier.
  • the locally stored target data table can be taken out and stored in another storage space, and the currently stored target data table can be initialized.
  • step S1029 after it is determined that the accumulated comparative measurement value recorded in the data storage space is greater than the measurement value of the large flow recorded in the data storage space, the storage space identifier of the data storage space can be identified. , The flow identifier of the large flow currently recorded in the data storage space and the measured value of the large flow are correspondingly sent to the controller.
  • step 103 after it is determined that the target data flow is not a large flow corresponding to the data storage space, the flow identifier corresponding to the target data packet may be sent to the controller as a non-large flow flow identifier.
  • the locally stored target data table can be sent to the controller and initialized.
  • a Bloom Filter can be set before recording or sending the non-large stream flow ID. Before recording or sending the non-large stream flow ID, you can first determine whether the flow ID is recorded in the Bloom Filter. If the stream ID is not recorded, then record or send the stream ID. After recording or sending the stream identifier of the non-large stream, the stream identifier can be recorded in the Bloom Filter. The usage of Bloom Filter is described below:
  • Bloom Filter is essentially a data structure consisting of a long array and multiple hash functions.
  • each hash function in the Bloom Filter can be used to calculate the hash value of the stream ID respectively. Then, dispose of 1 at the position corresponding to the above hash value in the array of the Bloom Filter.
  • you need to query whether a stream ID is recorded in the Bloom Filter you must first use each hash function in the Bloom Filter to calculate a hash value of the stream ID, and then query the Bloom Filter array Whether the position corresponding to the calculated hash value is 1, if it is all 1, it means that the Bloom Filter has recorded the element, if it is not all 1, it means that the Bloom Filter has not recorded the element.
  • a Bloom Filter can be set for each data storage space in the target data table, or a Bloom Filter can be set for a target data table.
  • the Bloom Filter can be stored in the corresponding data storage space.
  • the corresponding flow ID of the non-large flow can be determined first. Whether the stream identifier is recorded in the Bloom Filter stored in the data storage space of the data storage space, after recording or sending the stream identifier of the non-large stream, the stream identifier can be recorded in the Bloom Filter stored in the corresponding data storage space.
  • the data flow to which the data packet belongs is a large flow, and if it is a large flow, its flow identification and measurement value are recorded separately, so that the measurement value of the large flow can be recorded. is relatively accurate. And since the measured values of the large flow are recorded separately, only the measured values of the data flow other than the large flow can be recorded in the target data table. In this way, because the number of recorded data flows is reduced, when restoring the measured values of these data flows , the accuracy of the obtained measurements is also relatively high.
  • the controller implements the measurement value recovery of the data flow to be described below.
  • the method in which the device realizes the recovery of the measured value of the data stream is similar to the method in which the controller realizes the recovery of the measured value of the data stream, and will not be repeated here. It should be noted here that the measurement value recovery of the data flow is a part of the data flow measurement.
  • the method for the controller to realize the measurement recovery of the data flow may include the following steps:
  • Step 201 Receive the flow identifier of the large flow, the corresponding measurement value and the storage space identifier of the corresponding data storage space, the flow identifier of the large flow, and the target data table sent by the network device.
  • Step 202 in the measured values of the large flow recorded in the target data table, filter the measured values of the large flow corresponding to the same flow identification to obtain the first measured value of each large flow recorded in the target data table.
  • the measured value of any data packet is recorded in the target data table, it is to be recorded in the corresponding data storage space of each data row, then, in the target data table, there may be multiple data
  • the measurement values of the same large flow are recorded in the storage space.
  • Method 1 Among the measured values of the large flow recorded in the target data table, the maximum measured value of the large flow corresponding to the same flow identification is used as the first measured value of the large flow.
  • V 1 , V 2 , and V 3 are respectively recorded in the three data storage spaces of the target data table. Compare the magnitudes of V 1 , V 2 , and V 3 , and take the largest measured value among them as the first measured value of the large flow K 1 .
  • Method 2 Among the measured values of the large flow recorded in the target data table, the average value of the measured values of the large flow corresponding to the same flow identification is used as the first measured value of the large flow.
  • V 1 , V 2 , and V 3 are respectively recorded in the three data storage spaces of the target data table. Calculate the average value of V 1 , V 2 , V 3 Will as the first measurement of the large flow K1.
  • Method 3 Among the measured values of the large flow recorded in the target data table, any measured value of the large flow corresponding to the same flow identification is used as the first measured value of the large flow.
  • V 1 , V 2 , and V 3 are respectively recorded in the three data storage spaces of the target data table. Any value of V 1 , V 2 , and V 3 is randomly selected as the first measurement value of the large flow K 1 .
  • Step 203 In the received measured values of the large flow, accumulate the measured values of the large flows corresponding to the same storage space identifier and the same flow identifier to obtain a second measured value corresponding to the received flow identifier of each large flow.
  • the network device when the network device records the measurement value of the large flow in the target data table, it may occur that a large flow has been replaced many times in the same data storage space, and after each replacement, the measurement of the large flow values are sent to the controller.
  • the controller will receive multiple measurement values of the large flow corresponding to the data storage space (that is, receive multiple measurement values corresponding to the same storage space ID and the same flow ID), and these measurement values are actually the The measurement values of the large flow at different times in the measurement period, in order to count the measurement values of the large flow in the measurement period, these measurement values may be accumulated to obtain the second measurement value of the large flow.
  • the measurement value may be regarded as the second measurement value of the large flow.
  • Step 204 In the received second measurement value corresponding to the flow identifier of each first data stream, filter the second measurement value of the first data stream corresponding to the same stream identifier to obtain each received first data stream.
  • the flow identification of the data flow corresponds to the third measurement value.
  • the controller will receive multiple measurement values of the large flow corresponding to multiple data storage spaces (that is, receiving measurement values of multiple large flows corresponding to different storage space identifiers and the same flow identifier). In this case, it is possible to filter the measurement values of the large streams received corresponding to different storage space identifiers and the same stream identifier.
  • the screening method may be the same as the screening method for the measurement value of the large flow recorded in the target data table in the above step 202, and several are also listed below for description.
  • Method 1 In the received second measurement values corresponding to the flow identifiers of the major streams, the largest second measurement value of the major streams corresponding to the same flow identifier is used as the third measurement value of the major stream.
  • V 4 , V 5 , and V 6 there are three second measurement values V 4 , V 5 , and V 6 corresponding to different storage space identifiers. Compare the magnitudes of V 4 , V 5 , and V 6 , and take the largest second measurement value as the third measurement value of the large flow K 2 .
  • Method 2 In the received second measurement values corresponding to the flow identifiers of the major streams, the average value of the second measurement values of the major streams corresponding to the same flow identifier is used as the third measurement value of the major stream.
  • V 4 , V 5 , and V 6 are recorded in the three data storage spaces of the target data table, respectively. Calculate the average value of V 4 , V 5 , V 6 Will as the first measurement of the large flow K2 .
  • Method 3 In the received second measurement values corresponding to the flow identifiers of the major streams, use any second measurement value of the major stream corresponding to the same flow identifier as the third measurement value of the major stream.
  • V 4 , V 5 , and V 6 are recorded in the three data storage spaces of the target data table, respectively. Any value of V 4 , V 5 , and V 6 is randomly selected as the third measurement value of the large flow K 2 .
  • Step 205 In the first measurement value of each large flow recorded in the target data table and the third measurement value corresponding to the received flow identification of each large flow, compare the first measurement value and the second measurement value corresponding to the same flow identification. The measurement values are accumulated to obtain the statistical measurement value corresponding to the flow ID of each large flow.
  • the network device may intermittently receive data packets belonging to the same data stream, then the following situation may occur: the data stream is first judged as a large flow, then replaced by other data flows, and finally judged as a large flow flow and continue until the end of a measurement period.
  • the flow identification of the data flow will be sent to the controller as a measure of the large flow, and the data flow will also be recorded as a large flow in the target data table sent to the controller.
  • the first measurement value and the third measurement value of the large flow corresponding to the same flow identification are accumulated as the statistical measurement value corresponding to the flow identification of the large flow.
  • the first measurement value or the second measurement value of the large flow is used as the statistical measurement value of the large flow.
  • Step 206 Based on the received flow identifiers of the non-large flows and the target data table, determine the statistical measurement value corresponding to the flow identifiers of each non-large flow.
  • the method for determining the statistical measured value corresponding to the stream identifier of each non-large stream can refer to FIG. 6, Specifically, the following steps may be included:
  • the flow identifier of the non-large flow is preprocessed to obtain a value to be calculated.
  • the value to be calculated is then input into the first eigenvalue calculation function corresponding to each data row to obtain a plurality of output results corresponding to the stream identifier. Then, determine the data storage space corresponding to each output result. In this way, the stream identifier of the non-large stream corresponding to each data storage space can be determined.
  • the measured value of the non-large flow recorded in one data storage space of the target data table is Y
  • the three non-large flows corresponding to the data storage space are K 7 , K 8 , and K 9 .
  • the accumulation coefficients of K 7 , K 8 , and K 9 are obtained by using the second eigenvalue calculation function corresponding to the data row where the data storage space is located, respectively, as X 7 , X 8 and X 9 .
  • the three statistical measurements of non-large currents are the unknowns V 7 , V 8 and V 9 .
  • the linear optimization algorithm may be a branch and bound method, a cut plane method, a Monte Carlo method, and the like.
  • the method for determining the statistical measurement value corresponding to the flow identifier of each non-large stream may be as follows:
  • the data storage space corresponding to the non-large stream stream identifier in each data row is determined through the first eigenvalue calculation function corresponding to each data row of the target data table. Then, the minimum value among the measured values of the non-large flow recorded in the determined storage spaces is determined as the statistical measurement value corresponding to the flow identifier of the non-large flow, that is, the statistical measurement value of the non-large flow .
  • the measurement values corresponding to the same flow IDs are accumulated to obtain each The flow ID corresponds to the total measurement value.
  • the finally obtained measurement value of the large flow is relatively accurate.
  • the measured value of non-large flow is recorded in the target data table, this part of the measured value does not include the measured value of large flow, so the finally calculated measured value of each non-large flow is also relatively accurate.
  • an embodiment of the present application further provides a method for measuring data flow, and the processing flow of the method may include the following steps:
  • Step 301 receiving the target data packet, for each data row of the target data table, based on the first eigenvalue calculation function corresponding to the data row and the flow identifier corresponding to the target data packet, determine the target data stream to which the target data packet belongs.
  • step 301 The specific implementation manner of this step 301 is the same as or similar to the specific implementation manner of the above-mentioned step 101, and will not be repeated here.
  • Step 302 Based on the measurement value corresponding to the target data packet, record the measurement value of the target data stream in the data storage space.
  • Method 1 Based on the second eigenvalue calculation function corresponding to the data row where the data storage space is located and the flow identifier of the target data packet, determine the accumulation coefficient corresponding to the target data flow, and multiply the measurement value of the target data packet by the accumulation coefficient, The adjusted measurement value of the target data packet is obtained, and the adjusted measurement value of the target data packet is accumulated to the measurement value of the data flow recorded in the data storage space.
  • each data row of the target data table in addition to corresponding to a first eigenvalue calculation function, it may also correspond to a second eigenvalue calculation function.
  • the second feature value calculation function may also be a hash function, and the second feature value calculation function corresponding to each data row is different.
  • the to-be-calculated value corresponding to the target data packet may be input into the data storage first.
  • the accumulation coefficient corresponding to the stream identifier is obtained.
  • the accumulation coefficient can be a decimal.
  • the measured value of the target data packet is multiplied by the accumulation coefficient to obtain the adjusted measured value of the target data packet.
  • the adjusted measurement of the target packet is accumulated to the measurement of the data flow recorded in the data storage space.
  • the flow identifier corresponding to the target data packet is K 1 , and the measured value is V 1 .
  • K 1 is calculated by using the second eigenvalue calculation function, and the obtained accumulation coefficient is X 1 .
  • the adjusted measurement value X 1 *V 1 of the target packet is calculated.
  • the adjusted measured value X 1 *V 1 of the target data packet is accumulated to the measured value of the recorded data stream, that is, the measured value E of the recorded data stream is updated to (E+X 1 *V 1 ).
  • the second method is to directly accumulate the measured value of the target data packet to the measured value of the data stream recorded in the data storage space.
  • the flow corresponding to the target data packet is identified as K 1 and the measurement value is V 1 , and the measurement value V 1 of the target data packet is accumulated to the measurement value of the recorded data flow, that is, the measurement value E of the recorded data flow is added. Update to (E+V 1 ).
  • Step 303 If the target data stream is the first data stream corresponding to the data storage space, determine the measurement value of the target data stream based on the measurement value of the target data packet, and record it in the data storage space.
  • this step 303 is the same as or similar to the specific implementation of the above-mentioned step 102, and will not be repeated here.
  • the measurement value of the data flow (including the large flow and the non-large flow) is recorded in the target data table instead of only the measurement value of the non-large flow.
  • the measurement value of the non-large flow is recorded in the target data table instead of only the measurement value of the non-large flow.
  • the measurement value of the non-large flow can be obtained according to the measured value of the recorded data flow and the separately recorded measurement value of the large flow. Therefore, , the technical effect that can be achieved by the above-mentioned embodiment shown in FIG. 1 can also be achieved.
  • the method for the controller to restore the measurement value of the data flow may include the following steps:
  • Step 401 Receive the flow identifier of the large flow, the corresponding measurement value and the storage space identifier of the corresponding data storage space, the flow identifier of the large flow, and the target data table sent by the network device.
  • Step 402 In the measured values of the large flows recorded in the target data table, filter the measured values of the large flows corresponding to the same flow identification to obtain the first measured value of each large flow recorded in the target data table.
  • step 402 The specific implementation manner of this step 402 is the same as or similar to the specific implementation manner of the above-mentioned step 202, and will not be repeated here.
  • Step 403 In the received measured values of the large flow, accumulate the measured values of the large flows corresponding to the same storage space identifier and the same flow identifier to obtain a second measured value corresponding to the received flow identifier of each large flow.
  • Step 404 In the received second measurement value corresponding to the flow identifier of each large stream, filter the second measurement value of the first data stream corresponding to the same stream identifier to obtain the received flow of each large stream. A corresponding third measurement value is identified.
  • step 404 is the same as or similar to the specific implementation manner of the above-mentioned step 204, and will not be repeated here.
  • Step 405 In the first measurement value of each large flow recorded in the target data table and the third measurement value corresponding to the received flow identification of each large flow, compare the first measurement value and the second measurement value corresponding to the same flow identification. The measurement values are accumulated to obtain the statistical measurement value corresponding to the flow ID of each large flow.
  • step 405 The specific implementation manner of this step 405 is the same as or similar to the specific implementation manner of the above-mentioned step 205, and will not be repeated here.
  • Step 406 based on the received flow identification of the non-large flow, the measured value of the data flow recorded in each data storage space in the target data table, and the obtained statistical measurement value corresponding to the flow identification of each large flow, determine each non-large flow.
  • the flow ID of the large flow corresponds to the statistical measurement value.
  • the method for determining the measurement value corresponding to the flow identifier of each non-large stream can refer to FIG. It includes the following steps:
  • the large flow corresponding to each data storage space in the target data table includes the large flow corresponding to the flow identification of the large flow recorded in the data storage space and the storage space identification corresponding to the data storage space sent by the network device.
  • the flow ID of the big flow corresponds to the big flow.
  • the data storage space 1 of the target data table records the flow identifier K 1 of the large stream, wherein the data storage space 1 refers to the data storage space whose storage space identifier is 1 .
  • the stream identifier K 2 of the large stream corresponding to the storage space identifier 1 is received. Therefore, the two large streams corresponding to the data storage space 1 are K 1 and K 2 respectively.
  • the accumulated coefficients of K 1 and K 2 are obtained as X 1 and X 1 respectively.
  • the three non-large streams corresponding to the data storage space 1 of the target data table are K 3 , K 4 , and K 5 .
  • the accumulation coefficients of K 3 , K 4 , and K 5 are obtained by using the second eigenvalue calculation function corresponding to the data row where the data storage space is located, as X 3 , X 4 and X 5 , respectively.
  • the measured value of the data flow recorded in the data storage space 1 of the target data table is E 1
  • the corresponding large flows are K 1 and K 2
  • the corresponding non-large flows are K 3 , K 4 , and K 5 , K 1
  • the accumulation coefficients corresponding to , K 2 , K 3 , K 4 , and K 5 are X 1 , X2 , X 3 , X 4 and X 5 , respectively.
  • the statistical measurements of the three non-large currents K 3 , K 4 , and K 5 are the unknowns V 3 , V 4 , and V 5 , respectively, the following equations can be established:
  • the linear optimization algorithm may be a branch and bound method, a cut plane method, a Monte Carlo method, and the like.
  • the large flow is the corresponding recorded flow identification and measurement value, thus, the finally obtained measurement value of the large flow is relatively accurate. And even if not only the measured value of the non-large flow is recorded in the target data table, the measured value of the non-large flow can be obtained according to the measured value of the recorded data flow and the measured value of the large flow. Therefore, the technical effect achieved by the above-mentioned embodiment shown in FIG. 5 can also be achieved.
  • an embodiment of the present application further provides a method for measuring data flow, and the processing flow of the method may include the following steps:
  • Step 501 Receive the target data packet, and determine the data storage space corresponding to the target data flow to which the target data packet belongs in the corresponding first data table based on the third feature value calculation function and the flow identifier corresponding to the target data packet.
  • the first data table may be a hash table
  • the third feature value calculation function may be a hash function
  • the first data table is a third feature value calculation function.
  • the third eigenvalue calculation function may have n kinds of calculation results, where n is the number of columns of the first data table, that is, the number of data storage spaces corresponding to the first data table.
  • n is the number of columns of the first data table, that is, the number of data storage spaces corresponding to the first data table.
  • Each of the m types of calculation results corresponds to one data storage space, that is, the m types of calculation results are in one-to-one correspondence with the m data storage spaces.
  • the data storage space may also be referred to as a bucket, and when the target data table is a hash table, the data storage space corresponding to the first data table may be referred to as a hash bucket.
  • the network device when receiving a data packet, determines the corresponding data storage space in the first data table of the data flow to which the data packet belongs. That is, it is determined in which data storage space corresponding to the first data table the measurement value of the data packet needs to be recorded.
  • the currently received data packet is referred to as a target data packet
  • the data stream to which the data packet belongs is referred to as a target data stream.
  • Determining the data storage space corresponding to the target data stream in the first data table may include the following methods:
  • the flow identifier corresponding to the target data packet is preprocessed to obtain the value to be calculated.
  • the preprocessing may be converting the stream identifier into a binary number, and correspondingly, the value to be calculated is the binary number corresponding to the stream identifier.
  • the value to be calculated is input into the third eigenvalue calculation function to obtain an output result corresponding to the flow identifier.
  • the data storage space corresponding to the output result corresponding to the stream identifier is determined.
  • Step 502 If the target data stream is a large stream corresponding to the data storage space, determine the measurement value of the target data stream based on the measurement value of the target data packet, and record it in the data storage space.
  • this step 502 is the same as or similar to the specific implementation of the above-mentioned step 102, and will not be repeated here.
  • the flow identifier of the large flow, the measured value of the large flow and the comparative measured value recorded in the data storage space corresponding to the target data table, in this step 502, are corresponding to the first data table.
  • Step 503 If the target data stream is not a large stream corresponding to the data storage space, record the measurement value of the target data stream in the target data table based on the measurement value of the target data packet.
  • this step 503 is the same as or similar to the specific implementation of the above-mentioned step 103, and will not be repeated here. It should be noted that the difference between this step 503 and the specific implementation of the above-mentioned step 103 is that: this step 503 needs to first determine the target data stream according to the first eigenvalue calculation function corresponding to each data row of the target data table. The data storage space corresponding to each data row. Then, based on the measurement value of the target data packet, the measurement value of the target data stream is determined and recorded in the data storage space. In addition, in this step 503, only one Bloom Filter is required to record the flow identifier of the non-large flow.
  • the data flow measurement method shown in FIG. 5 also needs to store the data locally.
  • the first data table is fetched and stored in other storage space, or sent to the controller. It is also necessary to initialize the currently stored first data table. Initializing the currently stored first data table may be to delete the data recorded in the first data table.
  • the data flow to which the data packet belongs is a large flow, and if it is a large flow, its flow identification and measurement value are recorded separately, so that the measurement value of the large flow can be recorded. is relatively accurate. And since the measured values of the large flow are recorded separately, only the measured values of the data flow other than the large flow can be recorded in the target data table. In this way, because the number of recorded data flows is reduced, when restoring the measured values of these data flows , the accuracy of the obtained measurements is also relatively high.
  • the method for the controller to restore the measurement value of the data flow may include the following steps:
  • Step 601 Receive the flow identifier and measurement value of the large flow, the flow identifier of the non-large flow, the target data table and the first data table sent by the network device.
  • Step 602 Accumulate the measurement values corresponding to the same flow identifier in the received measurement value of the large flow and the measurement value recorded in the first data table to obtain a statistical measurement value corresponding to the flow identifier of each large flow.
  • the network device may intermittently receive data packets belonging to the same data stream, then the following situation may occur: the data stream is first judged as a large flow, then replaced by other data flows, and finally judged as a large flow flow and continue until the end of a measurement period.
  • the flow identification of the data flow will be sent to the controller as a measurement value of the large flow, and the data flow will also be recorded as a large flow in the first data table sent to the controller.
  • the measured value of the large flow corresponding to the same flow identification can be calculated from the received measured value of the large flow and the measured value of the large flow recorded in the first data table. It is accumulated with the intermediate measurement value as the statistical measurement value corresponding to the flow ID of the large flow.
  • Step 603 Based on the received flow identifiers of the non-large flows and the target data table, determine the statistical measurement value corresponding to the flow identifiers of each non-large flow.
  • this step 603 is the same as or similar to the specific implementation of the above-mentioned step 204, and will not be repeated here.
  • the finally obtained measurement value of the large flow is relatively accurate.
  • the measured value of non-large flow is recorded in the target data table, this part of the measured value does not include the measured value of large flow, so the finally calculated measured value of each non-large flow is also relatively accurate.
  • an embodiment of the present application also provides an apparatus for measuring data flow.
  • the apparatus includes a receiving module 710 and a recording module 720 .
  • the apparatus for data measurement can perform a variety of different data measurement methods.
  • the functions implemented by the receiving module 710 and the recording module 720 can also be different.
  • the transceiver module 710 is configured to receive a target data packet, and for each data row of the target data table, determine the target data based on the first feature value calculation function corresponding to the data row and the flow identifier corresponding to the target data packet The data storage space corresponding to the target data stream to which the packet belongs in the data row. Exemplarily, the transceiver module 710 is configured to perform step 101 .
  • the processing module 720 is configured to, if the target data stream is the first data stream corresponding to the data storage space, determine the measurement value of the target data stream based on the measurement value of the target data packet, and record it in the in the data storage space; if the target data stream is not the first data stream corresponding to the data storage space, then based on the measurement value of the target data packet, record the measurement value of the target data stream in the target data table .
  • the processing module 720 is configured to execute step 102 and step 103 .
  • the data flow to which the data packet belongs is a large flow, and if it is a large flow, its flow identification and measurement value are recorded separately, so that the measurement value of the large flow can be recorded. is relatively accurate. And since the measured values of the large flow are recorded separately, only the measured values of the data flow other than the large flow can be recorded in the target data table. In this way, because the number of recorded data flows is reduced, when restoring the measured values of these data flows , the accuracy of the obtained measurements is also relatively high.
  • the transceiver module 710 is configured to receive a target data packet, and for each data row of the target data table, determine the target data based on the first feature value calculation function corresponding to the data row and the flow identifier corresponding to the target data packet
  • the target data stream to which the packet belongs is in the data storage space corresponding to the data row.
  • the transceiver module 710 is configured to perform step 301 .
  • the processing module 720 is configured to, based on the measurement value corresponding to the target data packet, record the measurement value of the target data stream in the data storage space; if the target data stream is the first data stream corresponding to the data storage space For a data stream, the measurement value of the target data stream is determined based on the measurement value of the target data packet and recorded in the data storage space.
  • the processing module 720 is configured to execute steps 302 and 303 .
  • the measurement value of the data flow (including the large flow and the non-large flow) is recorded in the target data table instead of only the measurement value of the non-large flow.
  • the measurement value of the non-large flow is recorded in the target data table instead of only the measurement value of the non-large flow.
  • the measurement value of the non-large flow can be obtained according to the measured value of the recorded data flow and the separately recorded measurement value of the large flow. Therefore, , the technical effect that can be achieved by the above-mentioned embodiment shown in FIG. 1 can also be achieved.
  • an embodiment of the present application further provides an apparatus for measuring data flow.
  • the apparatus includes a receiving module 810 and a computing module 820 .
  • the apparatus for data measurement can perform a variety of different data measurement methods.
  • the functions implemented by the receiving module 810 and the computing module 820 can also be different. The following describes the functions implemented by the receiving module 810 and the computing module 820 when the apparatus for data flow measurement executes different data measurement methods.
  • the receiving module 810 is configured to receive the flow identifier of the first data stream and the corresponding measurement value, the stream identifier of the second data stream, and the target data table sent by the network device. Exemplarily, the receiving module 810 may be used to perform step 201 .
  • the processing module 820 is configured to filter the measured values of the first data stream corresponding to the same stream identifier among the measured values of the first data stream recorded in the target data table, and obtain each first data stream recorded in the target data table.
  • a first measurement value of a data stream; in the received measurement values of the first data stream, the measurement values of the first data streams corresponding to the same storage space identifier and the same stream identifier are accumulated to obtain each received first data stream.
  • the processing module 820 can be used to execute any of steps 201-206.
  • the finally obtained measurement value of the large flow is relatively accurate.
  • the measured value of non-large flow is recorded in the target data table, this part of the measured value does not include the measured value of large flow, so the finally calculated measured value of each non-large flow is also relatively accurate.
  • the receiving module 810 is configured to receive the stream identifier of the first data stream, the corresponding measurement value and the storage space identifier of the corresponding data storage space, the stream identifier of the second data stream, and the target data table sent by the network device. Exemplarily, the receiving module 810 is configured to perform step 401 .
  • the calculation module 820 is configured to screen the measured values of the first data stream corresponding to the same stream identifier in the measured values of the first data stream recorded in the target data table, and obtain each first data stream recorded in the target data table.
  • a first measurement value of a data stream; in the received measurement values of the first data stream, the measurement values of the first data streams corresponding to the same storage space identifier and the same stream identifier are accumulated to obtain each received first data stream.
  • the second measurement value corresponding to the stream identifier of the data stream; in the received second measurement value corresponding to the stream identifier of each first data stream, the second measurement value corresponding to the stream identifier of the first data stream corresponding to the same stream identifier is The measurement value is screened to obtain a third measurement value corresponding to the stream identifier of each first data stream received; the first measurement value of each first data stream recorded in the target data table and each received In the third measurement value corresponding to the flow ID of the first data stream, the first measurement value and the second measurement value corresponding to the same flow ID are accumulated to obtain a statistical measurement value corresponding to the flow ID of each first data stream; based on The received flow identifier of the second data stream, the measured value of the data stream recorded in each data storage space in the target data table, and the obtained statistical measurement value corresponding to the stream identifier of each first data stream, determine each The statistical measurement value corresponding to the flow identifier of the second data flow.
  • the processing module 820 can be used to perform any one of
  • the large flow is the corresponding recorded flow identification and measurement value, thus, the finally obtained measurement value of the large flow is relatively accurate. And even if not only the measured value of the non-large flow is recorded in the target data table, the measured value of the non-large flow can be obtained according to the measured value of the recorded data flow and the measured value of the large flow. Therefore, the technical effect achieved by the above-mentioned embodiment shown in FIG. 5 can also be achieved.
  • the network device 900 may be a network device that executes any of the above methods in FIGS. 1 , 7 and 10 .
  • the network device 900 includes at least one processor 901 , internal connections 902 , memory 903 and at least one transceiver 904 .
  • the network device 900 is an apparatus with a hardware structure, and can be used to implement the functional modules in the apparatus shown in FIG. 12 .
  • the recording module 720 in the apparatus shown in FIG. 12 can be implemented by calling the code in the memory 903 by the at least one processor 901, and the receiving module 710 in the apparatus shown in FIG. 12 can be implemented by the at least one processor 901 Transceiver 904 is implemented.
  • processor 901 may be a general-purpose central processing unit (central processing unit, CPU), a network processor (network processor, NP), a microprocessor, an application-specific integrated circuit (application-specific integrated circuit, ASIC) , or one or more integrated circuits used to control the execution of the program of this application.
  • CPU central processing unit
  • NP network processor
  • ASIC application-specific integrated circuit
  • the internal connection 902 described above may include a path to transfer information between the above described components.
  • the internal connection 902 is a single board or a bus or the like.
  • the above transceiver 904 is used to communicate with other devices or communication networks.
  • the above-mentioned memory 903 can be a read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, a random access memory (random access memory, RAM) or other types of storage devices that can store information and instructions.
  • types of dynamic storage devices which can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), or other optical storage, CD-ROM storage (including compact discs, laser discs, compact discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or capable of carrying or storing desired program code in the form of instructions or data structures and capable of being accessed by Any other medium accessed by the computer without limitation.
  • the memory can exist independently and be connected to the processor through a bus.
  • the memory can also be integrated with the processor.
  • the memory 903 is used for storing the application program code for executing the solution of the present application, and the execution is controlled by the processor 901.
  • the processor 901 is configured to execute the application program code stored in the memory 903, and cooperate with at least one transceiver 904, so that the network device 900 realizes the functions in this application.
  • the processor 901 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 14 .
  • the network device 900 may include multiple processors, for example, the processor 901 and the processor 907 in FIG. 14 .
  • Each of these processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • an embodiment of the present application provides a schematic diagram of a controller 1000 .
  • the controller 1000 may be a controller that performs any of the methods of FIGS. 5 , 8 and 11 described above.
  • the controller 1000 includes at least one processor 1001 , internal connections 1002 , memory 1003 and at least one transceiver 1004 .
  • the controller 1000 is a device with a hardware structure, which can be used to implement the functional modules in the device shown in FIG. 13 .
  • the computing module 720 in the apparatus shown in FIG. 13 can be implemented by calling the code in the memory 1003 by the at least one processor 1001, and the receiving module 810 in the apparatus shown in FIG. 13 can be implemented by the at least one processor 1001 Transceiver 1004 is implemented.
  • processor 1001 may be a general-purpose central processing unit (central processing unit, CPU), network processor (network processor, NP), microprocessor, application-specific integrated circuit (application-specific integrated circuit, ASIC) , or one or more integrated circuits used to control the execution of the program of this application.
  • CPU central processing unit
  • NP network processor
  • ASIC application-specific integrated circuit
  • the internal connection 1002 described above may include a path to transfer information between the aforementioned components.
  • the internal connection 1002 is a single board or a bus or the like.
  • the above transceiver 1004 is used to communicate with other devices or communication networks.
  • the above-mentioned memory 1003 can be a read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, a random access memory (random access memory, RAM) or other types of storage devices that can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • Types of dynamic storage devices which can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), or other optical storage, CD-ROM storage (including compact discs, laser discs, compact discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or capable of carrying or storing desired program code in the form of instructions or data structures and capable of being accessed by Any other medium accessed by the computer, but not limited to this.
  • the memory can exist independently and be connected to the processor through a bus.
  • the memory can also be integrated with the processor.
  • the memory 1003 is used for storing the application program code for executing the solution of the present application, and the execution is controlled by the processor 1001 .
  • the processor 1001 is configured to execute the application program code stored in the memory 1003, and cooperate with at least one transceiver 1004, so that the controller 1000 can realize the functions in this application.
  • the processor 1001 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 15 .
  • the controller 1000 may include multiple processors, such as the processor 1001 and the processor 1007 in FIG. 15 .
  • processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • Embodiments of the present application further provide a computer-readable storage medium, where instructions or programs are stored in the computer-readable storage medium, and the instructions or programs are loaded and executed by a processor to implement the data flow measurement provided by the embodiments of the present application. method.
  • Embodiments of the present application also provide a computer program product, where the computer program product includes instructions, and the instructions are loaded and executed by a processor to implement the data flow measurement method provided by the embodiments of the present application.
  • An embodiment of the present application further provides a chip system, where the chip system includes a processor and an interface, where the interface is used to obtain a program or an instruction, and the processor is used to call the program or instruction to implement or support a terminal device to implement any of the above
  • the functions involved in the method embodiments for example, determine or process the data involved in the above method, and the data may be measured values, flow identifiers, and the like.
  • the chip system further includes a memory for storing necessary program instructions and data of the terminal device.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • the computer program product includes one or more computer instructions, and when the computer program instructions are loaded and executed on a device, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission to another website site, computer, server, or data center by wire (eg, coaxial cable, optical fiber, digital subscriber line) or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that the device can access, or a data storage device such as a server, data center, or the like that includes an integration of one or more available media.
  • the usable medium may be a magnetic medium (such as a floppy disk, a hard disk, and a magnetic tape, etc.), an optical medium (such as a digital video disk (Digital Video Disk, DVD), etc.), or a semiconductor medium (such as a solid-state disk, etc.).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Sont divulgués dans un mode de réalisation de la présente demande, un procédé et un appareil de mesure de flux de données, qui appartiennent au champ technique de communication. Le procédé est applicable à des dispositifs de réseau, et consiste : à recevoir un paquet de données cible, et pour chaque rangée de données d'une table de données cible, sur la base d'une première fonction de calcul de valeur de caractéristique et d'un identifiant de flux qui correspond au paquet de données cible, à déterminer un espace de stockage de données correspondant dans les rangées de données pour un flux de données cible auquel appartient le paquet de données cible ; si le flux de données cible est un premier flux de données qui correspond à l'espace de stockage de données, alors, sur la base d'une valeur de mesure du paquet de données cible, à déterminer la valeur de mesure du flux de données cible, et à l'enregistrer dans l'espace de stockage de données ; et si le flux de données cible n'est pas le premier flux de données qui correspond à l'espace de stockage de données, alors, sur la base de la valeur de mesure du paquet de données cible, à enregistrer la valeur de mesure du flux de données cible dans la table de données cible. À l'aide de la présente demande, des erreurs dans la valeur de mesure d'un flux de données peuvent être relativement petites.
PCT/CN2021/133234 2020-11-30 2021-11-25 Procédé et appareil de mesure de flux de données WO2022111596A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011383567.3 2020-11-30
CN202011383567.3A CN114584493A (zh) 2020-11-30 2020-11-30 数据流测量的方法和装置

Publications (1)

Publication Number Publication Date
WO2022111596A1 true WO2022111596A1 (fr) 2022-06-02

Family

ID=81753764

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/133234 WO2022111596A1 (fr) 2020-11-30 2021-11-25 Procédé et appareil de mesure de flux de données

Country Status (2)

Country Link
CN (1) CN114584493A (fr)
WO (1) WO2022111596A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109861881A (zh) * 2019-01-24 2019-06-07 大连理工大学 一种基于三层Sketch架构的大象流检测方法
CN110019250A (zh) * 2019-03-06 2019-07-16 清华大学 基于哈希函数的网络测量方法和计算机可读存储介质
WO2020019270A1 (fr) * 2018-07-27 2020-01-30 Nokia Solutions And Networks Oy Procédé, dispositif et système d'analyse de trafic de réseau
CN110830322A (zh) * 2019-09-16 2020-02-21 北京大学 一种基于近似零误差的概率测量数据结构Sketch的网络流量测量方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020019270A1 (fr) * 2018-07-27 2020-01-30 Nokia Solutions And Networks Oy Procédé, dispositif et système d'analyse de trafic de réseau
CN109861881A (zh) * 2019-01-24 2019-06-07 大连理工大学 一种基于三层Sketch架构的大象流检测方法
CN110019250A (zh) * 2019-03-06 2019-07-16 清华大学 基于哈希函数的网络测量方法和计算机可读存储介质
CN110830322A (zh) * 2019-09-16 2020-02-21 北京大学 一种基于近似零误差的概率测量数据结构Sketch的网络流量测量方法和系统

Also Published As

Publication number Publication date
CN114584493A (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
JP7039685B2 (ja) トラフィック測定方法、デバイス、およびシステム
EP3353952B1 (fr) Gestion de groupes de serveurs
JP5534481B2 (ja) 通信品質監視システム、通信品質監視方法、及び記憶媒体
JP6116072B2 (ja) ネットワークフローを処理リソースにアライメントするための技術
US9197566B2 (en) Information processing method, recording medium, and information processing apparatus
US20210218808A1 (en) Small Message Aggregation
US20220038374A1 (en) Microburst detection and management
US11405319B2 (en) Tool port throttling at a network visibility node
US8091007B2 (en) Detection of duplicate packets
US20200067783A1 (en) Graph-based network management
US20180167337A1 (en) Application of network flow rule action based on packet counter
CN111726299A (zh) 流量均衡方法及装置
WO2022247308A1 (fr) Procédé et appareil de mesure de débit, et dispositif associé
CN107896196B (zh) 一种分配报文的方法和装置
WO2022111596A1 (fr) Procédé et appareil de mesure de flux de données
CN103825963B (zh) 虚拟服务迁移方法
WO2017209669A1 (fr) Procédé et nœud de réseau destinés au traitement de paquets au protocole de transmission de commande de flux
CN113472591B (zh) 一种业务性能的确定方法及装置
CN109831385B (zh) 一种消息处理方法、装置及电子设备
JP2011048504A (ja) 認証サーバ間の負荷分散方法及び装置及びプログラム
JP7359299B2 (ja) パケット識別装置、パケット識別方法およびパケット識別プログラム
CN112511449A (zh) 一种报文流乱序检测方法、报文处理方法及装置
US20240171498A1 (en) Detecting in-transit inband telemetry packet drops
CN113452614B (zh) 一种报文处理方法和装置
WO2022049751A1 (fr) Dispositif de mesure de nombre de connexions, procédé et programme

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: 21897096

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21897096

Country of ref document: EP

Kind code of ref document: A1