Methods for extracting business characteristics, methods for scheduling service quality, equipment, and media.
By extracting service characteristic fields from IP data streams and calculating service characteristic statistics, the problem of lack of service characteristic identification in traditional access networks has been solved, thereby improving QoS scheduling and user experience and promoting the intelligence of wireless networks.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZTE CORP
- Filing Date
- 2021-08-23
- Publication Date
- 2026-07-03
AI Technical Summary
Traditional access networks lack service feature identification and accurate service quality assurance mechanisms, which cannot meet the needs of network intelligent evolution.
By extracting service characteristic fields of Internet Protocol (IP) data streams, including features such as data block size and arrival delay, service characteristic statistics are calculated to determine the service type of the IP data stream and perform QoS scheduling.
It enables the identification of service characteristics and QoS scheduling of IP data streams, improves the user's service quality experience, and realizes the intelligence of wireless networks.
Smart Images

Figure CN115915290B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication technology, and in particular to a method for extracting service features, a method for scheduling quality of service, an electronic device, and a computer-readable medium. Background Technology
[0002] Identifying the service characteristics of the access network and scheduling Quality of Service (QoS) based on these characteristics is of great significance for ensuring network service quality and improving user experience.
[0003] However, due to network architecture limitations, traditional access networks often lack service feature identification and accurate service quality assurance mechanisms, which cannot meet the needs of network intelligent evolution. Summary of the Invention
[0004] This disclosure provides a method for extracting business features, a service quality scheduling method, an electronic device, and a computer-readable medium.
[0005] In a first aspect, embodiments of this disclosure provide a method for extracting business features, including:
[0006] Extract the service characteristic fields of Internet Protocol (IP) data streams;
[0007] The service characteristics of the IP data stream are determined based on the service characteristic fields, and the service characteristics characterize the QoS requirements of the IP data stream.
[0008] In some embodiments, determining the service characteristics of the IP data stream based on the service characteristic field includes:
[0009] Determine the data block characteristics of at least one data block in the IP data stream based on the business characteristic field;
[0010] Calculate the data block feature statistics based on the data block characteristics of each data block, and use them as the service characteristics of the IP data stream.
[0011] In some embodiments, the data block characteristics include the data block size and arrival delay; the service characteristic fields extracted from the Internet Protocol (IP) data stream include:
[0012] Extract the timestamp of the GET request message and the timestamp of the starting data packet of the data block;
[0013] When the data block includes an HTTP / 1.1 field or an HTTP / 1.0 field, the content length field is extracted, which represents the data block size of the data block;
[0014] When the data block does not include the HTTP / 1.1 and HTTP / 1.0 fields, extract the size information of all data packets in the data block.
[0015] In some embodiments, before extracting the timestamp of the request GET message and the timestamp of the starting data packet of the data block, extracting the service characteristic fields of the Internet Protocol (IP) data stream further includes:
[0016] The GET message is identified based on the GET field;
[0017] Extract the values of the SEQ and LEN fields from the GET message;
[0018] The first data packet whose ACK field value is equal to the sum of the SEQ field value and the LEN field value after the GET message is determined as the starting data packet.
[0019] In some embodiments, before extracting the timestamp of the request GET message and the timestamp of the starting data packet of the data block, extracting the service characteristic fields of the Internet Protocol (IP) data stream further includes:
[0020] The GET message is identified based on the GET field;
[0021] The first data packet whose length is greater than the preset length after the GET message is determined as the starting data packet.
[0022] In some embodiments, the data block feature statistics include data block size statistics and arrival delay statistics; calculating the data block feature statistics based on the data block characteristics of each data block includes:
[0023] Based on the data block size and arrival delay of the at least one data block, at least one service feature table is generated, and each data block corresponds to a service feature table entry in the service feature table.
[0024] When the preset statistical conditions are met, the average value of the data block size in the business feature table is calculated to obtain the statistical value of the data block size; the average value of the arrival delay in the business feature table is calculated to obtain the statistical value of the arrival delay.
[0025] In some embodiments, calculating data block feature statistics based on the data block features of each data block further includes:
[0026] Determine the number of business feature entries in the business feature table;
[0027] When the number of business feature entries in the business feature table reaches a preset threshold, it indicates that the preset statistical conditions are met.
[0028] In some embodiments, calculating data block feature statistics based on the data block features of each data block further includes:
[0029] Start the timer;
[0030] When the timer reaches the preset time threshold, it indicates that the preset statistical conditions are met.
[0031] In some embodiments, determining the service characteristics of the IP data stream based on the service characteristic field includes:
[0032] The service type of the IP data stream is determined based on the service characteristic fields.
[0033] Calculate the data block statistical characteristics of the data blocks in the IP data stream based on the service type of the IP data stream;
[0034] The service characteristics of the IP data stream are determined based on the statistical characteristics of the data blocks.
[0035] In some embodiments, determining the service type of the IP data stream based on the service characteristic field includes:
[0036] Calculate the message statistical characteristics of the message based on the business characteristic fields;
[0037] The service type of the IP data stream is determined based on the statistical characteristics of the messages.
[0038] In some embodiments, the service feature field includes packet information of packets in the IP data stream; calculating the statistical characteristics of the packets based on the service feature field includes:
[0039] Generate a message information table based on the message information of at least one message;
[0040] Based on the message size information of each message in the message information table, calculate the expected value of the message size in the message information table to obtain the message statistical characteristics;
[0041] Determining the service type of IP data streams based on the aforementioned message statistical characteristics includes:
[0042] Compare the message statistical characteristics with the message size threshold;
[0043] When the message statistical characteristics exceed the message size threshold, the service type of the IP data stream is one of the first type of service, the second type of service, and the first non-periodic service.
[0044] When the message statistical characteristics do not exceed the message size threshold, the service type of the IP data stream is one of the third type of service, the fourth type of service, or the second non-periodic service.
[0045] In some embodiments, the service characteristic field further includes data block information of data blocks in the IP data stream; when the service type of the IP data stream is one of Category 3 service, Category 4 service, or Category 2 non-periodic service, calculating the data block statistical characteristics of the data blocks in the IP data stream based on the service type of the IP data stream includes:
[0046] Generate a data block information table based on the data block information of multiple data blocks;
[0047] Based on the data block interval information of multiple data blocks in the data block information table, calculate the standard deviation of the data block interval in the data block information table to obtain the statistical characteristics of the data blocks;
[0048] Determining the service characteristics of the IP data stream based on the statistical characteristics of the data blocks includes:
[0049] Compare the standard deviation of the data block interval with the standard deviation threshold of the data block interval;
[0050] When the standard deviation of the data block interval exceeds the threshold of the standard deviation of the data block interval, the service type of the IP data stream is the second non-periodic service;
[0051] The bandwidth characteristics and maximum packet size characteristics of IP data streams with service type 2 non-periodic service are calculated to obtain the service characteristics;
[0052] When the standard deviation of the data block interval does not exceed the threshold of the standard deviation of the data block interval, the service type of the IP data stream is either a third-class service or a fourth-class service;
[0053] The service characteristics are obtained by calculating the periodicity, data block size, bandwidth, and maximum packet size of IP data streams that are of the third or fourth service type.
[0054] In some embodiments, the service characteristic field further includes data block information of data blocks in the IP data stream; when the service type of the data stream is one of a first type of service, a second type of service, or a first non-periodic service, calculating the data block statistical characteristics of the data blocks in the IP data stream according to the service type of the IP data stream includes:
[0055] Generate a data block information table based on the data block information of multiple data blocks;
[0056] Based on the data block size information of multiple data blocks in the data block information table, calculate the standard deviation of the data block size in the data block information table to obtain the statistical characteristics of the data blocks;
[0057] Determining the service characteristics of the IP data stream based on the statistical characteristics of the data blocks includes:
[0058] The service type of the IP data stream is determined based on the standard deviation of the data block size.
[0059] The service characteristics are determined by clustering based on the service type of the IP data stream.
[0060] In some embodiments, determining the service type of the IP data stream based on the standard deviation of the data block size includes:
[0061] The standard deviation of the data block size is compared with the first standard deviation threshold of the data block size and the second standard deviation threshold of the data block size.
[0062] When the standard deviation of the data block size is greater than the second standard deviation threshold of the data block size, the service type of the IP data stream is the first non-periodic service;
[0063] When the standard deviation of the data block size is less than the second standard deviation threshold of the data block size and greater than the first standard deviation threshold of the data block size, the service type of the IP data stream is the first type of service;
[0064] When the standard deviation of the data block size is less than the first standard deviation threshold of the data block size, the service type of the IP data stream is the second type of service.
[0065] In some embodiments, when the service type of the IP data stream is a first type of service, determining the service characteristics by clustering based on the service type of the IP data stream includes:
[0066] The data block information of multiple data blocks in the data block information table is clustered according to the data block size information to obtain the first clustering result;
[0067] The business characteristics are determined based on the first clustering result.
[0068] In some embodiments, when the service type of the IP data stream is a second type of service, determining the service characteristics by clustering based on the service type of the IP data stream includes:
[0069] The data block information of multiple data blocks in the data block information table is clustered according to the data block interval information to obtain a second clustering result;
[0070] The business characteristics are determined based on the second clustering result.
[0071] In some embodiments, determining the service type of the IP data stream based on the service characteristic field includes:
[0072] The service type of the IP data stream is determined based on the service type field in the service characteristic field.
[0073] Secondly, embodiments of this disclosure provide a Quality of Service (QoS) scheduling method, including:
[0074] QoS scheduling is performed based on the service characteristics of the data stream, wherein the service characteristics are extracted according to any of the service characteristic extraction methods described in the first aspect of the present disclosure.
[0075] Thirdly, embodiments of this disclosure provide an electronic device, including:
[0076] One or more processors;
[0077] A memory having stored one or more programs that, when executed by one or more processors, cause the one or more processors to implement any of the service feature extraction methods according to the first aspect of the present disclosure and / or any of the QoS scheduling methods according to the second aspect of the present disclosure.
[0078] One or more I / O interfaces are connected between the processor and the memory and configured to enable information interaction between the processor and the memory.
[0079] Fourthly, embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements a method for extracting any of the service features described in the first aspect of this disclosure and / or a QoS scheduling method described in the second aspect of this disclosure.
[0080] This disclosure provides a method for extracting service quality characteristics, a service quality scheduling method based on the extraction method, an electronic device capable of implementing the extraction method and the service quality scheduling method, and a computer-readable medium storing the implementation of the extraction method and the service quality scheduling method. In the service characteristic extraction method provided by this disclosure, service characteristic fields are extracted by analyzing IP data streams. Then, based on the service characteristic fields, service characteristics that characterize the data service corresponding to the IP data stream and the service quality requirements of that data service are determined. In the service quality scheduling method provided by this disclosure, network QoS scheduling can be performed based on these service characteristics, thereby effectively improving the user's QoS experience and realizing intelligent wireless networks centered on user equipment and services. Attached Figure Description
[0081] Figure 1 This is a flowchart of a method for extracting business features according to an embodiment of this disclosure;
[0082] Figure 2This is a flowchart of some steps in another method for extracting business features in this embodiment of the disclosure;
[0083] Figure 3 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0084] Figure 4 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0085] Figure 5 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0086] Figure 6 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0087] Figure 7 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0088] Figure 8 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0089] Figure 9 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0090] Figure 10 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0091] Figure 11 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0092] Figure 12 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0093] Figure 13 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0094] Figure 14 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0095] Figure 15 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0096] Figure 16 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0097] Figure 17 This is a flowchart of some steps in another method for extracting business features in this disclosure embodiment;
[0098] Figure 18 This is a flowchart of a service quality scheduling method according to an embodiment of this disclosure;
[0099] Figure 19 This is a block diagram of an electronic device according to an embodiment of the present disclosure;
[0100] Figure 20 This is a block diagram of the composition of a computer-readable medium according to an embodiment of the present disclosure. Detailed Implementation
[0101] To enable those skilled in the art to better understand the technical solutions of this disclosure, the following detailed description of the business feature extraction method, service quality scheduling method, electronic device, and computer-readable medium provided in this disclosure is provided in conjunction with the accompanying drawings.
[0102] Exemplary embodiments will be described more fully below with reference to the accompanying drawings; however, these exemplary embodiments may be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will enable those skilled in the art to fully understand the scope of this disclosure.
[0103] Where there is no conflict, the various embodiments of this disclosure and the features thereof in the embodiments may be combined with each other.
[0104] As used herein, the term “and / or” includes any and all combinations of one or more related enumerated entries.
[0105] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. As used herein, the singular forms “a” and “the” are also intended to include the plural forms unless the context clearly indicates otherwise. It will also be understood that when the terms “comprising” and / or “made of” are used in this specification, the presence of the stated feature, integral, step, operation, element, and / or component is specified, but the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof is not excluded.
[0106] Unless otherwise specified, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so defined herein.
[0107] Firstly, referring to Figure 1 This disclosure provides a method for extracting business features, including:
[0108] S100, Extract the business characteristic fields of the Internet Protocol (IP) data stream;
[0109] S200. Determine the service characteristics of the IP data stream based on the service characteristic fields, wherein the service characteristics characterize the QoS requirements of the IP data stream.
[0110] In this embodiment of the disclosure, the IP data stream can be either a periodic data service IP data stream or an aperiodic data service data stream. This embodiment of the disclosure does not impose any special limitations on this. The data service can be any one of video services, high-bandwidth services, high-bandwidth low-latency services, low-latency high-reliability services, etc. This embodiment of the disclosure also does not impose any special limitations on this.
[0111] In this embodiment of the disclosure, the service characteristics of the IP data stream determined in step S200 can characterize the service features of the data service corresponding to the IP data stream and can characterize the QoS requirements required by the data service. Thus, QoS scheduling can be performed based on the service characteristics of the IP data stream determined in step S200 to ensure the quality of the data service.
[0112] In this embodiment of the disclosure, the service characteristic field is determined based on service characteristics. The service characteristic field can be a field carried by the IP data stream itself, or it can be calculated based on fields carried by the IP data stream. This embodiment of the disclosure does not impose any special limitations on this.
[0113] In this embodiment, the service feature fields corresponding to periodic data services and the service feature fields corresponding to non-periodic data services may be the same or different. This embodiment does not impose any special limitations on this. In some embodiments, periodic and non-periodic data services can also be identified, and then the corresponding service feature fields are extracted in step S100 based on the identification results.
[0114] In the service feature extraction method provided in this embodiment, service feature fields are extracted by analyzing IP data streams, and then service features are determined based on the service feature fields. The service features can characterize the characteristics of the data service corresponding to the IP data stream and the service quality requirements of the data service, thereby providing a basis and support for network QoS scheduling, effectively improving the user's QoS experience, and realizing intelligent wireless network centered on user equipment and services.
[0115] In some embodiments, for non-periodic data services, the characteristics of data blocks are extracted as the service characteristics of the IP data stream of the non-periodic data service. Here, a data block consists of consecutive non-zero messages or data packets.
[0116] Accordingly, in some embodiments, reference is made to Figure 2 Step S200 includes:
[0117] S210. Determine the data block characteristics of at least one data block in the IP data stream based on the service characteristic field;
[0118] S220. Calculate the data block feature statistics based on the data block characteristics of each data block, and use them as the service characteristics of the IP data stream.
[0119] This disclosure does not specifically limit the characteristics of data blocks in its embodiments. For example, for non-periodic services such as video services, high-bandwidth services, high-bandwidth low-latency services, and low-latency high-reliability services, the arrival delay and / or size of the data block are used as data block characteristics. In this disclosure, each data block corresponds to a GET message. The arrival delay of the data block refers to the delay between the arrival time of the first data packet (starting data packet) of the data block and the arrival time of the GET message; the data block size refers to the sum of the sizes of all data packets in the data block.
[0120] In some embodiments of this disclosure, the IP data stream carries a Content-Length field, the value of which indicates the size of the data block. The size of the data block can be determined by extracting the Content-Length field carried by the IP data stream. In other cases, the IP data stream does not carry a Content-Length field, and the size of the data block can be determined by extracting the size information of each data packet in the data block.
[0121] Accordingly, in some embodiments, reference is made to Figure 3 The data block characteristics include the data block size and arrival delay; step S100 includes:
[0122] S110. Extract the timestamp of the GET request message and the timestamp of the starting data packet of the data block;
[0123] S120. When the data block includes an HTTP / 1.1 field or an HTTP / 1.0 field, extract the content length field, whereby the content length field represents the data block size.
[0124] S130. When the data block does not include the HTTP / 1.1 field and the HTTP / 1.0 field, extract the size information of all data packets in the data block.
[0125] It should be noted that in step S110, the timestamp of the GET message and the timestamp of the starting data packet of the data block are determined, and the arrival delay of the data block can be obtained by subtracting them.
[0126] It should also be noted that in IP data streams, the content length field corresponds to the HTTP / 1.1 or HTTP / 1.0 field; that is, if the IP data stream carries an HTTP / 1.1 or HTTP / 1.0 field, it also carries a content length field. The HTTP / 1.1 or HTTP / 1.0 field has a fixed format and is located at the beginning of the Transmission Control Protocol (TCP) payload, making it easier to identify than the content length field. In step S120, extracting the content length field determines the data block size; in step S130, the size information of all data blocks is extracted, and the data block size can be obtained by summing them.
[0127] In some embodiments, it is necessary to first identify the GET message and the starting data packet of the data block. In some implementations, the GET message is identified through the GET field. The data block corresponding to the GET message follows the GET message; the starting data block of the data block is identified after the GET message is identified.
[0128] This disclosure does not impose special limitations on how to identify the starting packet of a data block after a GET message is detected. In some embodiments, the starting data packet of the data block is determined based on the correspondence between the values of the SEQ and LEN fields in the GET message and the values of the ACK field in the data packet.
[0129] In some embodiments, refer to Figure 4 Before extracting the timestamp of the GET request message and the timestamp of the starting data packet of the data block, step S100 further includes:
[0130] S141. Identify the GET message based on the GET field;
[0131] S142. Extract the values of the SEQ field and LEN field from the GET message;
[0132] S143. The first data packet whose ACK field value is equal to the sum of the SEQ field value and the LEN field value after the GET message is determined as the starting data packet.
[0133] It should be noted that after a GET message, all data packets whose ACK field value equals the sum of the SEQ and LEN field values are data packets corresponding to that GET message's data block. Therefore, after obtaining the sum of the SEQ and LEN field values, all data packets in the data block can be identified through the ACK field, and the data block size can be obtained by summing the sizes of the individual data packets.
[0134] In some embodiments, the start packet and end packet (last packet) of a data block are determined based on the packet length.
[0135] Accordingly, in some embodiments, reference is made to Figure 5 Before extracting the timestamp of the GET request message and the timestamp of the starting data packet of the data block, step S100 further includes:
[0136] S151. Identify the GET message based on the GET field;
[0137] S152. The first data packet with a length greater than a preset length following the GET message is determined as the starting data packet.
[0138] In some embodiments, the end data packet of the data block can be further identified. For example, data packets with a length less than a second preset length and greater than a third preset length are identified as end data packets. The data block size can be obtained by summing the sizes of all data packets between the start data packet and the end data packet.
[0139] In some embodiments, refer to Figure 6 The data block characteristic statistics include data block size statistics and arrival delay statistics; step S220 includes:
[0140] S221. Generate at least one service feature table based on the data block size and arrival delay of the at least one data block, wherein each data block corresponds to a service feature table entry in the service feature table;
[0141] S222. When the preset statistical conditions are met, calculate the average value of the data block size in the business feature table to obtain the statistical value of the data block size; calculate the average value of the arrival delay in the business feature table to obtain the statistical value of the arrival delay.
[0142] In some embodiments, refer to Figure 7 Step S220 further includes:
[0143] S223. Determine the number of business feature entries in the business feature table; when the number of business feature entries in the business feature table reaches a preset threshold, it indicates that the preset statistical condition is met.
[0144] In some embodiments, the preset quantity threshold is the capacity of the business feature table. This disclosure does not impose a specific limitation on the preset quantity threshold; for example, the preset quantity threshold may be 10,000.
[0145] In some embodiments, refer to Figure 8 Step S220 further includes:
[0146] S224. Start the timer; when the timer reaches the preset time threshold, it indicates that the preset statistical conditions are met.
[0147] The embodiments disclosed herein can also be used to extract service characteristics of IP data streams for periodic services.
[0148] Accordingly, in some embodiments, reference is made to Figure 9 Step S200 includes:
[0149] S230. Determine the service type of the IP data stream based on the service characteristic field;
[0150] S240. Calculate the data block statistical characteristics of the data blocks in the IP data stream according to the service type of the IP data stream;
[0151] S250. Determine the service characteristics of the IP data stream based on the statistical characteristics of the data block.
[0152] In some embodiments, refer to Figure 10 Step S230 includes:
[0153] S231. Calculate the message statistical characteristics of the message based on the business characteristic fields;
[0154] S232. Determine the service type of the IP data stream based on the statistical characteristics of the message.
[0155] In some embodiments, refer to Figure 11 The service characteristic field includes packet information of the packets in the IP data stream; step S231 includes:
[0156] S2311. Generate a message information table based on the message information of at least one message;
[0157] S2312. Based on the message size information of each message in the message information table, calculate the expected value of the message size in the message information table to obtain the message statistical characteristics;
[0158] Step S232 includes:
[0159] S2321. Compare the message statistical characteristics with the message size threshold; when the message statistical characteristics exceed the message size threshold, the service type of the IP data stream is one of the first type of service, the second type of service, and the first non-periodic service; when the message statistical characteristics do not exceed the message size threshold, the service type of the IP data stream is one of the third type of service, the fourth type of service, and the second non-periodic service.
[0160] It should be noted that, in the embodiments disclosed herein, the first type of service is a high-bandwidth service, characterized by multiple data block sizes; the second type of service is a high-bandwidth low-latency service, characterized by multiple data block intervals; the third type of service is an uplink low-latency high-reliability service, characterized by periodic small packets; the fourth type of service is a downlink low-latency high-reliability service, characterized by periodic small packets; the first aperiodic service and the second aperiodic service do not have obvious characteristics.
[0161] In some embodiments, refer to Figure 12 The service characteristic field further includes data block information of data blocks in the IP data stream; when the service type of the IP data stream is one of the third type of service, the fourth type of service, or the second non-periodic service, step S240 includes:
[0162] S241. Generate a data block information table based on the data block information of multiple data blocks;
[0163] S242. Based on the data block interval information of multiple data blocks in the data block information table, calculate the standard deviation of the data block interval in the data block information table to obtain the statistical characteristics of the data blocks;
[0164] Step S250 includes:
[0165] S251. Compare the standard deviation of the data block interval with the threshold of the standard deviation of the data block interval;
[0166] When the standard deviation of the data block interval exceeds the threshold of the standard deviation of the data block interval, the service type of the IP data stream is the second non-periodic service;
[0167] S252. Calculate the bandwidth characteristics and maximum packet size characteristics of the IP data stream with the service type of the second non-periodic service to obtain the service characteristics.
[0168] When the standard deviation of the data block interval does not exceed the threshold of the standard deviation of the data block interval, the service type of the IP data stream is either a third-class service or a fourth-class service;
[0169] S253. Calculate the periodicity, data block size, bandwidth, and maximum packet size characteristics of IP data streams with service types of Category 3 or Category 4 to obtain the service characteristics.
[0170] In some embodiments, refer to Figure 13 The service characteristic field further includes data block information of data blocks in the IP data stream; when the service type of the data stream is one of the first type of service, the second type of service, or the first non-periodic service, step S240 includes:
[0171] S243. Generate a data block information table based on the data block information of multiple data blocks;
[0172] S244. Based on the data block size information of multiple data blocks in the data block information table, calculate the standard deviation of the data block size in the data block information table to obtain the statistical characteristics of the data blocks;
[0173] Step S250 includes:
[0174] S254. Determine the service type of the IP data stream based on the standard deviation of the data block size;
[0175] S255. Determine the service characteristics by clustering based on the service type of the IP data stream.
[0176] In some embodiments, refer to Figure 14 Step S254 includes:
[0177] S2541. Compare the standard deviation of the data block size with the first standard deviation threshold of the data block size and the second standard deviation threshold of the data block size.
[0178] When the standard deviation of the data block size is greater than the second standard deviation threshold of the data block size, the service type of the IP data stream is the first non-periodic service;
[0179] When the standard deviation of the data block size is less than the second standard deviation threshold of the data block size and greater than the first standard deviation threshold of the data block size, the service type of the IP data stream is the first type of service;
[0180] When the standard deviation of the data block size is less than the first standard deviation threshold of the data block size, the service type of the IP data stream is the second type of service.
[0181] In some embodiments, refer to Figure 15 When the service type of the IP data stream is a first-class service, step S255 includes:
[0182] S2551. Cluster the data block information of multiple data blocks in the data block information table according to the data block size information to obtain the first clustering result;
[0183] S2552. Determine the business characteristics based on the first clustering result.
[0184] In some embodiments, refer to Figure 16 When the service type of the IP data stream is a second type of service, step S255 includes:
[0185] S2553. Cluster the data block information of multiple data blocks in the data block information table according to the data block interval information to obtain a second clustering result;
[0186] S2554. Determine the business characteristics based on the second clustering result.
[0187] In some embodiments, refer to Figure 17 Step S230 includes:
[0188] S233. Determine the service type of the IP data stream based on the service type field in the service feature field.
[0189] Secondly, referring to Figure 18 This disclosure provides a Quality of Service (QoS) scheduling method, including:
[0190] S300. Perform QoS scheduling based on the service characteristics of the data stream, wherein the service characteristics are extracted according to any of the service characteristic extraction methods described in the first aspect of the present disclosure.
[0191] In the QoS scheduling method provided in the embodiments of this disclosure, the QoS scheduling of the network can be performed based on the service characteristics extracted by the extraction method provided in the first aspect of the embodiments of this disclosure, thereby effectively improving the user's QoS experience and realizing the intelligentization of the wireless network centered on user equipment and services.
[0192] Thirdly, referring to Figure 19 This disclosure provides an electronic device, which includes:
[0193] One or more processors 101;
[0194] The memory 102 stores one or more programs, which, when executed by one or more processors, enable the one or more processors to implement any of the service feature extraction methods described in the first aspect of the present disclosure and / or any of the QoS scheduling methods described in the second aspect of the present disclosure.
[0195] One or more I / O interfaces 103 are connected between the processor and the memory and configured to enable information exchange between the processor and the memory.
[0196] The processor 101 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 102 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read / write interface) 103 is connected between the processor 101 and the memory 102, enabling information exchange between the processor 101 and the memory 102, including but not limited to a data bus (Bus).
[0197] In some embodiments, the processor 101, memory 102, and I / O interface 103 are interconnected via bus 104, and thus connected to other components of the computing device.
[0198] Fourthly, refer to Figure 20 This disclosure provides a computer-readable medium having a computer program stored thereon. When the program is executed by a processor, it implements any of the service feature extraction methods described in the first aspect of this disclosure and / or any of the QoS scheduling methods described in the second aspect of this disclosure.
[0199] To enable those skilled in the art to more clearly understand the technical solutions provided by the embodiments of this disclosure, the technical solutions provided by the embodiments of this disclosure will be described in detail below through specific embodiments:
[0200] Example 1
[0201] This embodiment proposes a feature extraction method for non-periodic data services, including: identifying and extracting specified fields in the data stream, calculating the service features of the data stream based on the identification and extraction results, and outputting statistical results.
[0202] This includes extracting and identifying specific fields in the data stream, such as: identifying the IP 5-tuple, GET field, HTTP / 1.1 field, start-of-block message, end-of-block message, and arrival time of the message corresponding to each specific field in the data stream.
[0203] The process involves calculating the business characteristics of the data stream based on the extracted and identified feature fields. This includes: calculating the arrival delay of the data block based on the arrival time of the GET message and the arrival time of the data block start message; directly extracting the data block size based on the HTTP / 1.1 or HTTP / 1.0 field and the Content-Length field in the message; cumulatively calculating the data block size based on the data block start message and the data block end message; and calculating the duration of the data block based on the difference between the arrival time of the data block start message and the arrival time of the data block end message.
[0204] The output statistics include: using statistical methods, classifying and summarizing all received data packets based on the IP 5-tuple to generate a service characteristic table. The service characteristic table contains multiple records for the current service flow, each record including data block arrival delay and data block size.
[0205] Optionally, when the service characteristic table is full, the average arrival delay and data block size of the data blocks in the service characteristic table are calculated to obtain the statistical results, which are the service characteristics of the current IP data flow.
[0206] Optionally, when the timer expires, the average of the arrival delay and data block size of the data blocks already in the service characteristic table is calculated to obtain the statistical results, i.e., the service characteristics of the current IP data stream.
[0207] Example 2
[0208] This embodiment proposes a feature extraction method for periodic data services, including: extracting IP data packets, calculating packet statistical features and comparing them with thresholds, calculating data block statistical features according to service type, comparing data block statistical features with thresholds, distinguishing service types and selecting appropriate clustering methods for clustering, performing statistics according to the clustering results, and outputting statistical results.
[0209] The extraction of IP data packets includes writing IP data packet information into a packet information table. This packet information table contains information such as packet sequence number, packet arrival time, packet size, and packet direction.
[0210] The process of calculating message statistical characteristics and comparing them with thresholds includes: extracting and calculating the statistical values of messages in the message information table, comparing them with message size thresholds, and initially distinguishing the service type. If the message size threshold is exceeded, it is classified as a Category I service, Category II service, or non-periodic service; if the message size threshold is not exceeded, it is classified as a Category III service, Category IV service, or non-periodic service.
[0211] The first type of service is a high-bandwidth service, characterized by multiple data block sizes.
[0212] The second type of service is a high-bandwidth, low-latency service, characterized by multiple data block intervals.
[0213] The third type of service is an uplink low-latency, high-reliability service, characterized by periodic small message patterns.
[0214] The fourth type of service is a downlink low-latency, high-reliability service, characterized by periodic small message patterns.
[0215] The non-periodic business has no obvious characteristics.
[0216] The statistical characteristics of data blocks calculated by business type include:
[0217] For Category 1, Category 2, or non-periodic business, generate a corresponding data block information table, extract data block size information, and calculate statistical values of data block size, including but not limited to: expected value of data block size and standard deviation of data block size; for Category 3, Category 4, or non-periodic business, generate a corresponding data block information table, extract data block interval information, and calculate statistical values of data block interval, including but not limited to: expected value of data block interval and standard deviation of data block interval.
[0218] This includes comparing the statistical characteristics of data blocks with thresholds to distinguish business types and selecting appropriate clustering methods, including:
[0219] The standard deviation of the data block interval is compared with a threshold. If it does not exceed the threshold, it is classified as either Category 3 or Category 4 service. The expected values of the data block size, bandwidth, and maximum packet size are then calculated for both Category 3 and Category 4 services, and the expected value of the data block interval is extracted as the service characteristic output of the data stream. If it exceeds the threshold, it is classified as a non-periodic service. The data block size and data block interval are set to 0, and the bandwidth and maximum packet size are calculated as the service characteristic output of the data stream.
[0220] Also includes:
[0221] The standard deviation of the data block size is compared with a threshold of two. If it does not exceed the threshold, it is classified as either Category I or Category II service. If it exceeds the threshold, it is classified as a non-periodic service. The data block size and data block interval are set to 0. The bandwidth and maximum packet size are calculated and used as the service characteristics output for the data stream.
[0222] Also includes:
[0223] The standard deviation of the data block size is compared with a threshold of one standard deviation of the data block size. If it does not exceed the threshold, it is classified as a second type of business, and a data block information table for the second type of business is generated, which is then clustered according to the data block interval. If it exceeds the threshold of one standard deviation of the data block size, it is classified as a first type of business, and a data block information table for the first type of business is generated, which is then clustered according to the data block size.
[0224] The process involves statistical analysis based on clustering results, outputting the following statistical results: For Category I services, based on the data block size clustering results, the expected values of the data block size and data block interval for each cluster are calculated, along with the bandwidth and maximum packet size, which are then used as the service characteristics output for the data stream. For Category II services, based on the data block interval clustering results, the expected values of the data block size and data block interval for each cluster are calculated, along with the bandwidth and maximum packet size, which are then used as the service characteristics output for the data stream. For non-periodic services, the data block size and data block interval are set to 0, and the bandwidth and maximum packet size are calculated as the service characteristics output for the data stream.
[0225] Example 3
[0226] This embodiment provides a method for identifying non-periodic business characteristics, which includes an online analysis module, an offline module, and a prediction module.
[0227] In this embodiment, the input is the raw IP data stream. The input IP data stream is copied: one copy goes to the online analysis module, and the other goes to the offline module; the output is the service characteristics of the IP data stream, including data block size and data arrival latency.
[0228] Online analysis module: performs real-time packet parsing, identifies GET fields in messages, identifies HTTP / 1.1 fields in messages, extracts packet size information, and reads the predicted arrival time from the offline analysis module;
[0229] Offline module: Identifies GET fields in messages, HTTP / 1.1 fields in messages, and the first and last packets of data blocks; extracts or calculates data block size information; calculates the time interval between GET messages and the first packet of a data packet; and establishes and maintains a business feature database.
[0230] Prediction module: Outputs data block size (obtained by parsing special fields or calculation); outputs the latency between the GET request and the first packet of the data packet (obtained by calculation).
[0231] Business Feature Base: Composed of multiple business feature tables, a typical business feature table structure is shown in Table 1:
[0232] Table 1
[0233]
[0234] The business characteristics table includes the following:
[0235] • App IP + App port + protocol combination: The server IP address resolved from the IP 5-tuple in the packet.
[0236] +Server port number +Protocol number. In the same business feature table, the App IP + App port + protocol are the same. The capacity of each table is denoted as tableLength, with a default value of 10000, meaning the business feature table can record 10000 analysis records from the same business flow. Let the number of business feature tables be tableNum. Then the capacity of the entire feature database is: number of tables tableNum × capacity of each table tableLength;
[0237] • Data size: The size of the data block corresponding to the current GET request;
[0238] •Delay: The time delay between the current GET request and the first packet of the corresponding data block;
[0239] • APP tag: Used to identify the video APP to which the business flow belongs;
[0240] Business characteristic table update: adopts first-in-first-out method, newly received data is written to the end of the table, and a maximum of 10,000 records are dynamically maintained;
[0241] The GET field in an HTTP message: The GET keyword is located in the first three bytes of the HTTP message. Its ASCII encoding is 474554 (hexadecimal). An HTTP message is packaged into a TCP message after adding a TCP header, and a TCP message is packaged into an IP message after adding an IP header. The IPv6 header is 40 bytes long, the IPv4 header is 20 bytes long, and the TCP header is 20 bytes long.
[0242] When identifying the GET field, if it is an IPv6 packet, you can check whether bytes 61 to 63 of the IPv6 packet are 474554 (hexadecimal); if it is an IPv4 packet, you can check whether bytes 41 to 43 of the IPv6 packet are 474554 (hexadecimal).
[0243] HTTP / 1.1 field in the message: Start parsing the data packets from the next message after the GET message. If the packet payload includes the 'HTTP / 1.1' field, it means that it carries data block size information. Extract the value of the Content-Length field in the payload, which corresponds to the data block size of this GET request.
[0244] The ASCII encoding of HTTP / 1.1 is 48 54 54 50 2f 31 2e 31 (hexadecimal), located in the first 8 bytes of the TCP payload. Similar to the identification method for GET fields, for IPv6 packets, you can check if bytes 61 to 68 of the IPv6 packet are 48 54 54 50 2f 31 2e 31. For IPv4 packets, you can check if bytes 61 to 68 of the IPv4 packet are 48 54 54 50 2f 31 2e 31.
[0245] First packet of data block: The following two methods can be used to identify the first packet of data block:
[0246] Method 1:
[0247] The data packets are traversed and parsed starting from the next packet after the GET message. If the packet length is greater than 1400 bytes, the current packet is considered to be the first packet of a data block.
[0248] Method 2:
[0249] Step 1: Extract the values of the Seq and Len fields from the GET message, and sum the two values. Here, Seq is the TCP segment sequence number, and Len is the IP message total length field, including the header and data length.
[0250] Step 2: Start traversing and parsing data packets from the next packet after the GET packet. When the value of the Ack field in the packet is found to be equal to the sum of the values of the Seq field and Len field in the GET packet in Step 1, the current packet is considered to be the first packet of the data block.
[0251] Data block end packet: There are two methods to identify the data block end packet:
[0252] Method 1:
[0253] The data packets are traversed and parsed starting from the next message after the GET data. If the packet length is greater than 150 bytes but less than 1000 bytes, it is considered to be the end of the current data block.
[0254] Method 2:
[0255] Step 1: Extract the values of the Seq and Len fields from the GET message, and sum the two values. Here, Seq is the TCP segment sequence number, and Len is the IP message total length field, including the header and data length.
[0256] Step 2: Start traversing and parsing data packets from the next packet after the GET packet. When a packet is found to have an Ack field value equal to the sum of the Seq and Len field values of the GET packet in Step 1, mark all data packets that meet the above condition. The last data packet is the data block tail packet.
[0257] Data block size: Corresponding to the data size field in Table 1, there are two calculation methods:
[0258] Method 1 (the message payload includes the 'HTTP / 1.1' field):
[0259] Read the Content-Length field value directly from the data packet payload. This value corresponds to the data block size of this GET request.
[0260] Method 2 (the message payload does not include the 'HTTP / 1.1' field):
[0261] The summation of all data packets between the first and last packets of the current data block corresponds to the size of the data block in this GET request.
[0262] Data arrival delay: corresponding to the delay field in Table 1, obtain the timestamp of each GET packet in the current IP flow and the timestamp of the first packet corresponding to that GET, and subtract them to obtain the data block delay.
[0263] Expected values for data block size and latency: When Table 1 is created, a timer `tableUPdateTimer` (default: 60s) will be started. If this timer times out, the following processing will be performed:
[0264] Clear the timer tableUPdateTimer to 0, then restart it;
[0265] Calculate the average of all data sizes in the current Table 1, and update the current data block size statistic avg_size.
[0266] Calculate the average value of all delays in Table 1 and update the current data delay statistics value avg_delay.
[0267] Example 4
[0268] This embodiment provides a feature extraction method for periodic services, the method including:
[0269] Extract IP data packets, calculate packet statistical features and compare them with thresholds, calculate data block statistical features according to service type, compare data block statistical features with thresholds to further distinguish service types, select appropriate clustering methods to cluster, perform statistics according to clustering results, and output statistical results.
[0270] The extraction of IP data packets includes writing IP data packet information into a packet information table. This packet information table records the captured raw packet information, including packet arrival sequence number (pktNo), packet arrival time (pktTstp), packet size (pktSize), and packet direction (pktDir). Here, pktDir indicates the packet transmission direction, with the upper line being UL and the lower line being DL.
[0271] The message information table consists of 10 data sections, each with a section capacity (default: 1000). Each time, one data section is captured from the IP data stream, and the table is filled with 10 data sections. Once the table is full, if a new data section is captured, the data section with the smallest number in the table (section 1) is discarded, and the new data section is added to the end of the table. A typical structure of the message information table is shown in Table 2.
[0272] Table 2
[0273]
[0274] The calculation of message statistical characteristics and comparison with thresholds includes:
[0275] When the message information table is full, calculations are performed based on the message information in the table. Optionally, when the timer expires and the message information table is not full, calculations are performed based on the existing message information in the table. The calculation method is as follows:
[0276] Extract non-zero values from the message size field `pktSize` in the message information table, calculate the expected value `pktSizeNAvg` of the extracted non-zero messages, and compare it with the message size threshold `pktSizeThr` (default: 200 bytes) to initially distinguish the service type. If `pktSizeNAvg` exceeds the message size threshold `pktSizeThr`, it is classified as a Category I service, Category II service, or non-periodic service; if it does not exceed the message size threshold, it is classified as a Category III service, Category IV service, or non-periodic service.
[0277] The first type of service is a high-bandwidth service, characterized by multiple data block sizes. Examples include video surveillance and live streaming services.
[0278] The second type of service is a high-bandwidth, low-latency service characterized by multiple data block intervals. For example, high-definition images captured by cameras on a production line are uploaded to a server for real-time quality inspection.
[0279] The third type of service is a low-latency, high-reliability uplink service, characterized by periodic small message transmissions. Examples include data uploads from sensors on production lines or in industrial parks.
[0280] The fourth type of service is a low-latency, high-reliability downlink service, characterized by periodic small message segments. For example, a production line may issue operation control commands to control the operation of a robotic arm.
[0281] The non-periodic services are those with indistinct periodicity and lack periodic characteristics, such as noise and interference.
[0282] The statistical characteristics of data blocks calculated by business type include:
[0283] For Category 1, Category 2, or non-periodic business, generate a data block information table, extract data block size information, and calculate statistical values of data block size, including but not limited to: expected data block size (dbSizeAvg) and standard deviation of data block size (dbSizeStd); for Category 3, Category 4, or non-periodic business, generate the corresponding data block information table, extract data block interval information, and calculate statistical values of data block interval, including but not limited to: expected data block interval (dbItvlAvg) and standard deviation of data block interval (dbItvlStd).
[0284] The data block information table records data block information, where each data block consists of consecutive non-zero packets. Data block information includes the data block number (dbNo), start time (dbStart), end time (dbEnd), data block size (dbSize), data block interval (dbItvl), and data block duration (dbDu). dbStart is the message time of the first packet in the data block, and dbEnd is the message time of the last packet in the data block. When constructing the data block information table, the following five types of data block information tables are generated according to the service type ID (serviceTypeID) tag (service types are 0 to 4):
[0285] serviceTypeID=0 indicates non-periodic service;
[0286] serviceTypeID=1, first type of service;
[0287] serviceTypeID=2, second type of service;
[0288] serviceTypeID=3, third type of service;
[0289] serviceTypeID=4, fourth type of service;
[0290] Table 3 shows the data block information table for the first type of service (serviceTypeID=1):
[0291] Table 3
[0292]
[0293] The start time of the data block is the arrival time of the first packet of the data block. The arrival time of the first packet of the data block can be determined in the following way:
[0294] For both Type I and Type II services: If the message length is greater than bPktThr (default: 1468 bytes), it is considered the first packet of a data block. Record the time of the first packet of the data block as dbStart.
[0295] For Category 3 and 4 services: If the length of three consecutive packets is greater than sPktThr (default: 64 bytes), the first packet in the three consecutive packets is determined to be the first packet of the data block. Record the time of the first packet of the data block as dbStart.
[0296] The end time of the data block is the arrival time of the data block tail packet. The arrival time of the data block tail packet can be determined in the following way:
[0297] After identifying the first packet of a data block, the traversal begins from the next packet following the first packet:
[0298] For Category 1 and Category 2 services: If the message length is less than bPktThr (default: 1468 bytes), it is determined to be a data block end packet. Record the data block end packet time dbEnd.
[0299] For Category 3 and 4 services: If the message length is not greater than sPktThr (default: 64 bytes), it is determined to be a data block end packet. Record the data block end packet time dbEnd.
[0300] The data block size (dbSize) is the sum of the sizes of multiple consecutive packets that meet the conditions. In this embodiment, the data block size is obtained by summing the lengths of all data packets between the first packet and the last packet of the current data block.
[0301] The data block interval (dbItvl) is obtained by subtracting the first packet times of two adjacent data blocks.
[0302] The data block duration (dbDu) is the time when the last packet of the same data block arrives minus the time when the first packet of the data block arrives.
[0303] This involves comparing the statistical characteristics of data blocks with thresholds to further differentiate business types, including:
[0304] The standard deviation of the data block interval, dbItvlStd, is compared with the threshold of the standard deviation of the data block interval, dbItvlStdThr. If dbItvlStd does not exceed the threshold dbItvlStdThr, it is classified as either Category 3 or Category 4 service. Category 3 service is uplink service, and Category 4 service is downlink service. The feature calculation methods for both categories are the same. The feature calculation methods are as follows:
[0305] Periodic characteristics: The expected value dbItvlAvg of the data block interval is extracted as the periodic characteristics of the data stream, and the output method is shown in Table 4.
[0306] Table 4
[0307]
[0308] Data block size feature: The expected value of the data block size, dbSizeAvg, is extracted as the data block size feature of the data stream, and the output method is shown in Table 5.
[0309] Table 5
[0310]
[0311] Bandwidth characteristics: The bandwidth value is the total amount of data (total data packets) generated by the corresponding service type, calculated in 2000ms increments. The average of these bandwidth values is then used to obtain the bandwidth characteristics of the data stream. The output format is shown in Table 6.
[0312] Table 6
[0313]
[0314] Maximum packet size feature: By traversing the data packet statistics table and finding the maximum pktSize value for the corresponding service type of message, the maximum packet size feature of the data stream is obtained. The output format is shown in Table 7.
[0315] Table 7
[0316]
[0317] If dbItvlStd exceeds the threshold dbItvlStdThr, it is considered a non-periodic service, and its characteristics are calculated as follows:
[0318] Periodicity characteristic: 0. Output method is shown in Table 4.
[0319] Data block size characteristic: 0. Output method is shown in Table 5.
[0320] Bandwidth characteristics: The bandwidth value is calculated by statistically averaging the amount of data generated by non-periodic services in 2000ms increments. The output method is shown in Table 6.
[0321] Maximum packet size feature: By traversing the data packet statistics table and finding the maximum pktSize value for the corresponding non-periodic service type of message, the maximum packet size feature of the data stream is obtained. The output format is shown in Table 7.
[0322] Also includes:
[0323] The standard deviation of the data block size, dbSizeStd, is compared with the standard deviation threshold of the data block size, dbSizeStdThr2 (default: 2*pktSizeNAvg). If dbSizeStd does not exceed dbSizeStdThr2, it is classified as either Category I or Category II business, requiring further evaluation. If it exceeds dbSizeStdThr2, it is classified as non-periodic business, and its characteristics are calculated as follows:
[0324] Periodicity characteristic: 0. Output method is shown in Table 4.
[0325] Data block size characteristic: 0. Output method is shown in Table 5.
[0326] Bandwidth characteristics: The bandwidth value is calculated by statistically averaging the amount of data generated by non-periodic services in 2000ms increments. The output method is shown in Table 6.
[0327] Maximum packet size feature: By traversing the data packet statistics table and finding the maximum pktSize value for the corresponding non-periodic service type of message, the maximum packet size feature of the data stream is obtained. The output format is shown in Table 7.
[0328] This involves selecting an appropriate clustering method, performing clustering, and then statistically analyzing the clustering results to output the statistical results. This includes:
[0329] The standard deviation of the data block size, dbSizeStd, is compared with the standard deviation threshold of the data block size, dbSizeStdThr1 (default: 0.5 * pktSizeNAvg). If dbSizeStd does not exceed dbSizeStdThr1, it is classified as a second-category business, and a second-category business data block information table is generated, clustering is performed according to the data block interval dbItvl. If dbSizeStd exceeds dbSizeStdThr1, it is classified as a first-category business, and a first-category business data block information table is generated, clustering is performed according to the data block size dbSize.
[0330] Unsupervised clustering is used. For the first type of business, clustering is performed based on the data block size dbSize. In this embodiment, the first type of business has 2 cycles, and the k-means algorithm is used to count the labels corresponding to each data block size dbSize, generating a new statistical table. Each new statistical table records the statistical data of the current data block size dbSize's category and cluster center, where the cluster center is the expected value of dbSize.
[0331] The k-means algorithm uses the python sklearn.cluster.KMeans function, with the nclusters parameter set to 2 and the other parameters left as default.
[0332] For the second type of business, clustering is performed on dbItvl. Since the number of periods is unknown, the mean_shift algorithm is used for clustering, and the number of clusters is the number of periods. The labels corresponding to each data block interval dbItvl are counted, generating a new statistical table. Each new statistical table records the statistical data of the current data block interval dbItvl's category and cluster center, where the cluster center is the expected value of dbItvl.
[0333] The mean_shift algorithm uses the python sklearn.cluster.MeanShift function with default parameters.
[0334] For the first type of service, clustering is performed based on the data block size dbSize. For each cluster, the expected value of the data block interval dbItvl, dbItvlAvg, is calculated as the periodicity feature, and the output format of the periodicity feature is shown in Table 4. For each cluster, the cluster center is used as the data block size feature, and the output format of the data block size feature is shown in Table 5. For each cluster, the amount of data generated within 2000ms is counted as the bandwidth value. The average of the multiple bandwidth values is calculated to obtain the bandwidth feature, and the output format of the bandwidth feature is shown in Table 6. For each cluster, the maximum pktSize value of the corresponding service type message in the data packet statistics table is traversed to obtain the maximum packet size feature of the data stream, and the output format of the maximum packet size feature is shown in Table 7.
[0335] For the second type of service, clustering is performed based on the data block interval dbItvl. For each cluster, the cluster center is used as the periodicity feature, and the output format of the periodicity feature is shown in Table 4. For each cluster, the expected value of the data block size dbSize, dbSizeAvg, is calculated as the data block size feature, and the output format of the data block size feature is shown in Table 5. For each cluster, the amount of data generated within 2000ms is counted as the bandwidth value. The average of the multiple bandwidth values is calculated to obtain the bandwidth feature, and the output format of the bandwidth feature is shown in Table 6. For each cluster, the maximum pktSize value of the corresponding service type message in the data packet statistics table is traversed to obtain the maximum packet size feature of the data stream, and the output format of the maximum packet size feature is shown in Table 7.
[0336] For non-periodic services, the data block interval statistical value is set to 0 as the periodic characteristic, and the output format of the periodic characteristic is shown in Table 4. The data block size statistical value is set to 0 as the data block size characteristic, and the output format of the data block size is shown in Table 5. The amount of data generated within 2000ms is the bandwidth value. The average of the multiple bandwidth values is calculated to obtain the bandwidth characteristic, and the output format of the bandwidth characteristic is shown in Table 6. The maximum pktSize value of the corresponding service type message is traversed in the data packet statistics table to obtain the maximum packet size characteristic of the data stream, and the output format of the maximum packet size characteristic is shown in Table 7.
[0337] It will be understood by those skilled in the art that all or some of the steps, systems, or apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, it is well known to those skilled in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0338] Example embodiments have been disclosed herein, and while specific terminology has been used, it is for illustrative purposes only and should be construed as such, and is not intended to be limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in connection with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in connection with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this disclosure as set forth by the appended claims.
Claims
1. A method for extracting business features, comprising: Extract the service characteristic fields of Internet Protocol (IP) data streams; The data block characteristics of at least one data block in the IP data stream are determined based on the service characteristic field, wherein the data block characteristics include the data block size and arrival delay of the data block; Based on the data block characteristics of each data block, a data block characteristic statistical value is calculated as the service characteristic of the IP data stream. The data block characteristic statistical value includes a data block size statistical value and an arrival delay statistical value. The service characteristic represents the QoS requirements of the IP data stream. The extraction of service characteristic fields from the Internet Protocol (IP) data stream includes: extracting the timestamp of the GET request message and the timestamp of the starting data packet of the data block.
2. The extraction method according to claim 1, wherein, The extraction of service characteristic fields from Internet Protocol (IP) data streams also includes: When the data block includes an HTTP / 1.1 field or an HTTP / 1.0 field, the content length field is extracted, which represents the data block size of the data block; When the data block does not include the HTTP / 1.1 and HTTP / 1.0 fields, extract the size information of all data packets in the data block.
3. The extraction method according to claim 2, wherein, Before extracting the timestamp of the GET request message and the timestamp of the starting data packet of the data block, the extraction of the service characteristic fields of the Internet Protocol (IP) data stream also includes: The GET message is identified based on the GET field; Extract the values of the SEQ and LEN fields from the GET message; The first data packet whose ACK field value is equal to the sum of the SEQ field value and the LEN field value after the GET message is determined as the starting data packet.
4. The extraction method according to claim 2, wherein, Before extracting the timestamp of the GET request message and the timestamp of the starting data packet of the data block, the extraction of the service characteristic fields of the Internet Protocol (IP) data stream also includes: The GET message is identified based on the GET field; The first data packet whose length is greater than the preset length after the GET message is determined as the starting data packet.
5. The extraction method according to any one of claims 2 to 4, wherein, The step of calculating data block feature statistics based on the data block features of each data block includes: Based on the data block size and arrival delay of the at least one data block, at least one service feature table is generated, and each data block corresponds to a service feature table entry in the service feature table. When the preset statistical conditions are met, the average value of the data block size in the business feature table is calculated to obtain the statistical value of the data block size; the average value of the arrival delay in the business feature table is calculated to obtain the statistical value of the arrival delay.
6. The extraction method according to claim 5, wherein, Calculating data block feature statistics based on the data block features of each of the aforementioned data blocks also includes: Determine the number of business feature entries in the business feature table; When the number of business feature entries in the business feature table reaches a preset threshold, it indicates that the preset statistical conditions are met.
7. The extraction method according to claim 5, wherein, Calculating data block feature statistics based on the data block features of each of the aforementioned data blocks also includes: Start the timer; When the timer reaches the preset time threshold, it indicates that the preset statistical conditions are met.
8. The extraction method according to claim 1, wherein, Determining the service characteristics of the IP data stream based on the aforementioned service characteristic fields includes: The service type of the IP data stream is determined based on the service characteristic fields. Calculate the data block statistical characteristics of the data blocks in the IP data stream based on the service type of the IP data stream; The service characteristics of the IP data stream are determined based on the statistical characteristics of the data blocks.
9. The extraction method according to claim 8, wherein, Determining the service type of the IP data stream based on the aforementioned service characteristic fields includes: Calculate the message statistical characteristics of the message based on the business characteristic fields; The service type of the IP data stream is determined based on the statistical characteristics of the messages.
10. The extraction method according to claim 9, wherein, The service characteristic field includes packet information of the packets in the IP data stream; the statistical characteristics of the packets calculated based on the service characteristic field include: Generate a message information table based on the message information of at least one message; Based on the message size information of each message in the message information table, calculate the expected value of the message size in the message information table to obtain the message statistical characteristics; Determining the service type of IP data streams based on the aforementioned message statistical characteristics includes: Compare the message statistical characteristics with the message size threshold; When the message statistical characteristics exceed the message size threshold, the service type of the IP data stream is one of the first type of service, the second type of service, and the first non-periodic service. When the message statistical characteristics do not exceed the message size threshold, the service type of the IP data stream is one of the third type of service, the fourth type of service, or the second non-periodic service.
11. The extraction method according to claim 10, wherein, The service characteristic field also includes data block information of data blocks in the IP data stream; when the service type of the IP data stream is one of the third type of service, the fourth type of service, or the second non-periodic service, the data block statistical characteristics of the data blocks in the IP data stream are calculated according to the service type of the IP data stream, including: Generate a data block information table based on the data block information of multiple data blocks; Based on the data block interval information of multiple data blocks in the data block information table, calculate the standard deviation of the data block interval in the data block information table to obtain the statistical characteristics of the data blocks; Determining the service characteristics of the IP data stream based on the statistical characteristics of the data blocks includes: Compare the standard deviation of the data block interval with the standard deviation threshold of the data block interval; When the standard deviation of the data block interval exceeds the threshold of the standard deviation of the data block interval, the service type of the IP data stream is the second non-periodic service; The bandwidth characteristics and maximum packet size characteristics of IP data streams with service type 2 non-periodic service are calculated to obtain the service characteristics; When the standard deviation of the data block interval does not exceed the threshold of the standard deviation of the data block interval, the service type of the IP data stream is either a third-class service or a fourth-class service; The service characteristics are obtained by calculating the periodicity, data block size, bandwidth, and maximum packet size of IP data streams that are of the third or fourth service type.
12. The extraction method according to claim 10, wherein, The service characteristic field also includes data block information of data blocks in the IP data stream; when the service type of the data stream is one of the first type of service, the second type of service, or the first non-periodic service, the calculation of data block statistical characteristics of data blocks in the IP data stream based on the service type of the IP data stream includes: Generate a data block information table based on the data block information of multiple data blocks; Based on the data block size information of multiple data blocks in the data block information table, calculate the standard deviation of the data block size in the data block information table to obtain the statistical characteristics of the data blocks; Determining the service characteristics of the IP data stream based on the statistical characteristics of the data blocks includes: The service type of the IP data stream is determined based on the standard deviation of the data block size. The service characteristics are determined by clustering based on the service type of the IP data stream.
13. The extraction method according to claim 12, wherein, The service type of the IP data stream is determined based on the standard deviation of the data block size, including: The standard deviation of the data block size is compared with the first standard deviation threshold of the data block size and the second standard deviation threshold of the data block size. When the standard deviation of the data block size is greater than the second standard deviation threshold of the data block size, the service type of the IP data stream is the first non-periodic service; When the standard deviation of the data block size is less than the second standard deviation threshold of the data block size and greater than the first standard deviation threshold of the data block size, the service type of the IP data stream is the first type of service; When the standard deviation of the data block size is less than the first standard deviation threshold of the data block size, the service type of the IP data stream is the second type of service.
14. The extraction method according to claim 13, wherein, When the service type of the IP data stream is a first-class service, the service characteristics are determined by clustering based on the service type of the IP data stream, including: The data block information of multiple data blocks in the data block information table is clustered according to the data block size information to obtain the first clustering result; The business characteristics are determined based on the first clustering result.
15. The extraction method according to claim 13, wherein, When the service type of the IP data stream is a second type of service, the service characteristics are determined by clustering based on the service type of the IP data stream, including: The data block information of multiple data blocks in the data block information table is clustered according to the data block interval information to obtain a second clustering result; The business characteristics are determined based on the second clustering result.
16. The extraction method according to claim 8, wherein, Determining the service type of the IP data stream based on the aforementioned service characteristic fields includes: The service type of the IP data stream is determined based on the service type field in the service characteristic field.
17. A Quality of Service (QoS) scheduling method, comprising: QoS scheduling is performed based on the service characteristics of the data stream, wherein the service characteristics are extracted by the service characteristic extraction method according to any one of claims 1 to 16.
18. An electronic device comprising: One or more processors; A memory having stored one or more programs thereon, which, when executed by the one or more processors, cause the one or more processors to implement the service feature extraction method according to any one of claims 1 to 16 or the QoS scheduling method according to claim 17. One or more I / O interfaces are connected between the processor and the memory and configured to enable information interaction between the processor and the memory.
19. A computer-readable medium having a computer program stored thereon, the program, when executed by a processor, implementing the method for extracting service features according to any one of claims 1 to 16 or the QoS scheduling method according to claim 17.