Network performance measurement task scheduling method and apparatus, device, medium, and product
By employing a network performance measurement method based on a multi-level classifier and a bipartite graph structure, this method addresses the problem of existing technologies being unable to measure network performance with high precision and low overhead. It enables efficient separation and measurement of different service flows, thereby improving the accuracy of network performance evaluation and resource utilization.
Patent Information
- Application Number
- CN202411815977.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-11
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2044-12-11
AI Technical Summary
Existing network performance measurement methods cannot achieve high-precision, low-overhead measurement. Active measurement tools cannot accurately represent the status of each service flow, and passive measurement relies on the accurate collection and analysis of traffic data, which incurs high performance overhead.
Multiple classifiers are used and arranged according to priority. By judging whether the service flow meets the dwell conditions, it is dwelled in classifiers of different priorities. Multiprotocol tag exchange tags are added to the sending and receiving switches to record the number of data packets, calculate the packet loss rate, and construct a bipartite graph structure for resource allocation to avoid hash collisions.
It enables high-precision, low-overhead measurement of network performance indicators, accurately separates and measures service flows of different priorities, avoids resource waste, and improves the accuracy and efficiency of measurement.
Smart Images

Figure CN119652833B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of cloud computing technology, and in particular to a method, apparatus, device, medium and product for scheduling network performance measurement tasks. Background Technology
[0002] Currently, there are two main approaches to measuring network performance metrics for service flows: 1. Active Measurement: Active measurement involves proactively sending control messages or traffic to evaluate network performance and characteristics. In active measurement, testing devices or tools actively initiate network traffic and measure relevant performance metrics. However, active measurement tools have limitations; they cannot provide complete network performance evaluation and troubleshooting, and some terminals disable these tools. Furthermore, they can only characterize the overall network state and cannot accurately represent the state of each service flow, lacking fine-grained analysis. 2. Passive Measurement: Passive measurement evaluates network performance and characteristics by monitoring and analyzing existing network traffic. However, passive measurement is limited by existing traffic samples and relies on the accurate collection and analysis of traffic data, resulting in higher performance overhead. Summary of the Invention
[0003] This invention provides a method, apparatus, device, medium, and product for scheduling network performance measurement tasks, in order to solve the problem that existing methods cannot measure network performance indicators with high precision and low overhead.
[0004] To solve the above-mentioned technical problems, the present invention is implemented as follows:
[0005] In a first aspect, embodiments of the present invention provide a method for scheduling network performance measurement tasks, including:
[0006] The server acquires multiple service flows; the server includes multiple classifiers, each classifier corresponds to a priority, and the multiple classifiers are arranged in descending order of the priority.
[0007] The server determines whether the service flow meets the residency conditions of the first classifier; if the service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier; if the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier; wherein, for each classifier, if the service flow residing in the classifier no longer meets the residency conditions of the classifier, the service flow is sent to the classifier with the next higher priority.
[0008] The server distributes the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers.
[0009] Optionally, determining whether the service flow meets the dwell conditions of the first classifier includes:
[0010] If the difference between the arrival time of the current data packet of the service flow and the arrival time of the first packet of the service flow is less than the preset timeout threshold, then the dwell condition of the first classifier is satisfied.
[0011] Optionally, the server distributes the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers, including:
[0012] The server obtains the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set stores the statistical results of the data packets of the service flow;
[0013] The server constructs a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, as well as the mapping relationship of the service flow between the sending and receiving ends.
[0014] The server allocates resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, and obtains multiple service flow paths, wherein the sending end and receiving end in each of the service flow paths do not have hash collisions;
[0015] The server sends the service flows residing in the multiple classifiers to the sending switch according to the service flow path.
[0016] Secondly, embodiments of the present invention provide a network performance measurement task scheduling method, including:
[0017] The sending switch receives service flows residing in multiple classifiers according to the priority of multiple classifiers in the server. In the server, if the service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier; if the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier; wherein, for each classifier, if the service flow residing in the classifier no longer meets the residency conditions of the classifier, the service flow is sent to the classifier with the next higher priority.
[0018] The sending switch sends the service flow to the receiving switch.
[0019] Optionally, the sending switch sending the service flow to the receiving switch includes:
[0020] The transmitting switch adds a multiprotocol label switching tag to the service flow, and the multiprotocol label switching tag records the number of data packets in the service flow;
[0021] The sending switch sends a service flow with the added multiprotocol tag exchange tag to the receiving switch.
[0022] Thirdly, embodiments of the present invention provide a network performance measurement task scheduling method, including:
[0023] The receiving switch receives service flows sent by the sending switch. The service flows are distributed to the sending switch by the server according to the priority of multiple classifiers in the server. In the server, if the service flow meets the dwell threshold of the first classifier, the service flow is dwelled in the first classifier; if the service flow does not meet the dwell threshold of the first classifier, the service flow is sent to the second classifier. Among them, for each classifier, if the service flow dwelling in the classifier no longer meets the dwell condition of the classifier, the service flow is sent to the classifier with the next higher priority.
[0024] The receiving switch calculates the packet loss rate of the service flow.
[0025] Optionally, the service flow is a service flow with a multiprotocol label switching label added, and the multiprotocol label switching label records the number of data packets in the service flow;
[0026] The receiving switch calculates the packet loss rate of the service flow by including:
[0027] The receiving switch parses the multiprotocol label switching tag, obtains and records the number of data packets in the current service flow;
[0028] The receiving switch calculates the packet loss rate of the service flow based on the current number of data packets and the cumulative number of data packets of the service flow in the historical records.
[0029] Optionally, calculating the packet loss rate of the service flow based on the current number of data packets and the cumulative number of data packets in the service flow according to historical records includes:
[0030] The receiving switch calculates the difference between the current number of data packets and the cumulative number of data packets in the service flow;
[0031] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is 1, it indicates that no packet loss or out-of-order delivery has occurred, and the cumulative number of data packets in the service flow is updated to the current number of data packets.
[0032] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, it indicates that packet loss or out-of-order delivery has occurred, and the packet loss value is recorded according to the difference.
[0033] Optionally, if the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, it indicates that packet loss or out-of-order delivery has occurred, and the packet loss value is recorded according to the difference, including:
[0034] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is greater than 1, it indicates that packet loss has occurred. The cumulative number of data packets in the service flow is then updated to the current number of data packets, and the packet loss value is recorded based on the difference.
[0035] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is less than 1, it indicates that out-of-order packets have occurred. The cumulative number of data packets in the service flow will not be updated, and the packet loss value will be corrected based on the difference.
[0036] Fourthly, embodiments of the present invention provide a server, comprising:
[0037] An acquisition module is used to acquire multiple business flows; the server includes multiple classifiers, each classifier corresponds to a priority, and the multiple classifiers are arranged in descending order of the priority.
[0038] The first processing module is used to determine whether the service flow meets the dwell condition of the first classifier; if the service flow meets the dwell threshold of the first classifier, the service flow is dwelled in the first classifier; if the service flow does not meet the dwell threshold of the first classifier, the service flow is sent to the second classifier; wherein, for each classifier, if the service flow dwelling in the classifier no longer meets the dwell condition of the classifier, the service flow is sent to the classifier with the next higher priority.
[0039] The first sending module is used by the server to send the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers.
[0040] Optionally, the first processing module includes:
[0041] The first processing submodule is configured to satisfy the dwell condition of the first classifier if the difference between the arrival time of the current data packet of the service flow and the arrival time of the first packet of the service flow is less than a preset timeout threshold.
[0042] Optionally, the first sending module includes:
[0043] The second processing submodule is used by the server to obtain the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set stores the statistical results of the data packets of the service flow;
[0044] The third processing submodule is used by the server to construct a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, as well as the mapping relationship of the service flow at the sending end and the receiving end.
[0045] The fourth processing submodule is used by the server to allocate resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, so as to obtain multiple service flow paths, wherein the sending end and receiving end in each of the service flow paths do not have hash collisions;
[0046] The fifth processing submodule is used by the server to send the service flows residing in the multiple classifiers to the sending switch according to the service flow path.
[0047] Fifthly, embodiments of the present invention provide a transmitting-end switch, comprising:
[0048] The first receiving module is configured to receive service flows residing in multiple classifiers according to the priority of multiple classifiers in the server. In the server, if the service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier; if the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier; wherein, for each classifier, if the service flow residing in the classifier no longer meets the residency condition of the classifier, the service flow is sent to the classifier with the next higher priority.
[0049] The second sending module is used to send the service flow to the receiving switch.
[0050] Optionally, the second transmitting module includes:
[0051] The tag adding submodule is used to add multiprotocol tag switching tags to the service flow, wherein the multiprotocol tag switching tags record the number of data packets in the service flow;
[0052] The sending submodule is used to send service flows with the added multiprotocol tag switching label to the receiving switch.
[0053] Sixthly, embodiments of the present invention provide a receiving-end switch, comprising:
[0054] The second receiving module is used to receive service flows sent by the sending switch. The service flows are distributed to the sending switch by the server according to the priority of multiple classifiers in the server. In the server, if the service flow meets the dwell threshold of the first classifier, the service flow is dwelled in the first classifier; if the service flow does not meet the dwell threshold of the first classifier, the service flow is sent to the second classifier. For each classifier, if the service flow dwelling in the classifier no longer meets the dwell condition of the classifier, the service flow is sent to the classifier with the next higher priority.
[0055] The calculation module is used to calculate the packet loss rate of the service flow.
[0056] Optionally, the service flow is a service flow with a multiprotocol label switching label added, and the multiprotocol label switching label records the number of data packets in the service flow;
[0057] The computing module includes:
[0058] The first calculation submodule is used to parse the multiprotocol label switching label, obtain and record the number of data packets in the current service flow;
[0059] The second calculation submodule is used to calculate the packet loss rate of the service flow based on the current number of data packets and the cumulative number of data packets of the service flow in the historical records.
[0060] Optionally, the second calculation submodule includes:
[0061] The third calculation submodule is used to calculate the difference between the current number of data packets and the cumulative number of data packets in the service flow;
[0062] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is 1, it indicates that no packet loss or out-of-order delivery has occurred, and the cumulative number of data packets in the service flow is updated to the current number of data packets.
[0063] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, it indicates that packet loss or out-of-order delivery has occurred, and the packet loss value is recorded according to the difference.
[0064] Optionally, if the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, it indicates that packet loss or out-of-order delivery has occurred, and the packet loss value is recorded according to the difference, including:
[0065] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is greater than 1, it indicates that packet loss has occurred. The cumulative number of data packets in the service flow is then updated to the current number of data packets, and the packet loss value is recorded based on the difference.
[0066] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is less than 1, it indicates that out-of-order packets have occurred. The cumulative number of data packets in the service flow will not be updated, and the packet loss value will be corrected based on the difference.
[0067] In a seventh aspect, embodiments of the present invention provide an electronic device, including a processor, a memory, and a program or instructions stored in the memory and executable on the processor. When the program or instructions are executed by the processor, they implement the steps in the network performance measurement task scheduling method as described in any one of the first aspects, or implement the steps in the network performance measurement task scheduling method as described in any one of the second aspects, or implement the steps in the network performance measurement task scheduling method as described in any one of the third aspects.
[0068] Eighthly, embodiments of the present invention provide a readable storage medium storing a program or instructions that, when executed by a processor, implement the steps of the network performance measurement task scheduling method as described in any one of the first aspects, or implement the steps of the network performance measurement task scheduling method as described in any one of the second aspects, or implement the steps of the network performance measurement task scheduling method as described in any one of the third aspects.
[0069] Ninthly, embodiments of the present invention provide a computer program product including computer instructions that, when executed by a processor, implement the steps of the network performance measurement task scheduling method as described in any one of the first aspects, or implement the steps of the network performance measurement task scheduling method as described in any one of the second aspects, or implement the steps of the network performance measurement task scheduling method as described in any one of the third aspects.
[0070] In this invention, a server acquires multiple service flows. The server includes multiple classifiers, each corresponding to a priority level, and the multiple classifiers are arranged in descending order of priority. The server determines whether a service flow meets the residency condition of the first classifier. If the service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier. If the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier. For each classifier, if the service flow residing in the classifier no longer meets the classifier's residency condition, the service flow is sent to the next priority classifier. The server distributes the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers. By setting a higher priority measurement sequence for larger flows, the separation of large and small flows is achieved, enabling high-precision and low-overhead measurement of network performance indicators, thus solving the problem of existing methods that cannot measure network performance indicators with high precision and low overhead. Attached Figure Description
[0071] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0072] Figure 1 This is a flowchart illustrating a network performance measurement task scheduling method applied to a server, as provided in an embodiment of the present invention.
[0073] Figure 2 This is a schematic diagram of the classifier structure of a network performance measurement task scheduling method provided in an embodiment of the present invention;
[0074] Figure 3 This is a schematic diagram of the first classifier structure of a network performance measurement task scheduling method provided in this embodiment of the invention;
[0075] Figure 4 This is a schematic diagram of other classifier structures for a network performance measurement task scheduling method provided in an embodiment of the present invention;
[0076] Figure 5 This is a schematic diagram of a bipartite graph structure for a network performance measurement task scheduling method provided in an embodiment of the present invention;
[0077] Figure 6 This is a flowchart illustrating a network performance measurement task scheduling method provided in an embodiment of the present invention applied to a sending-end switch;
[0078] Figure 7 This is a schematic diagram of the sending-end switch structure of a network performance measurement task scheduling method provided in an embodiment of the present invention;
[0079] Figure 8 This is a flowchart illustrating a network performance measurement task scheduling method provided in an embodiment of the present invention applied to a receiving-end switch;
[0080] Figure 9 This is a schematic diagram of the receiving end switch structure of a network performance measurement task scheduling method provided in an embodiment of the present invention;
[0081] Figure 10 This is a schematic diagram of the structure of a server provided in an embodiment of the present invention;
[0082] Figure 11 This is a schematic diagram of the structure of a transmitting-end switch provided in an embodiment of the present invention;
[0083] Figure 12 This is a schematic diagram of the structure of a receiving-end switch provided in an embodiment of the present invention;
[0084] Figure 13 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0085] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0086] Please refer to Figure 1 This invention provides a method for scheduling network performance measurement tasks, comprising:
[0087] Step 11: The server obtains multiple service flows; the server includes multiple classifiers, each classifier corresponds to a priority, and the multiple classifiers are arranged in descending order of the priority;
[0088] In this embodiment of the invention, the following is used: Figure 2The hash table-like data structure shown simulates the timeout replacement function in the Least Frequently Used (LFU) strategy for differentiating network flows. This structure does not require a doubly linked list data structure, making it easy to implement on multiple platforms, including software and hardware. Specifically, each classifier stores three fields: flow ID, packet arrival time t, and flow size count cnt. Flows processed by the first classifier enter the next level classifier, i.e., the first-level priority module. If a hash collision occurs with an existing large flow, the smaller flow is passed to the second-level priority module. If a collision still exists in the second-level priority module, it continues to the next level priority module. The number of priority modules depends on the measurement equipment resources. Equipment with more measurement resources can support finer-grained flow priority division. Flows in the first-level priority module are assigned the highest measurement priority, followed by the second-level, and so on. By managing large and small flows separately, bottlenecks can be better identified and improved, avoiding resource waste.
[0089] Step 12: The server determines whether the service flow meets the residency conditions of the first classifier; if the service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier; if the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier; wherein, for each classifier, if the service flow residing in the classifier no longer meets the residency conditions of the classifier, the service flow is sent to the classifier with the next higher priority.
[0090] In this embodiment of the invention, optionally, determining whether the service flow meets the dwell condition of the first classifier includes:
[0091] If the difference between the arrival time of the current data packet of the service flow and the arrival time of the first packet of the service flow is less than the preset timeout threshold, then the dwell condition of the first classifier is satisfied.
[0092] In the embodiments of this invention, please refer to Figure 3The first classifier consists of a hash table based on an associative hash function h(·). Each hash bucket records information about the business flow: the arrival time t1 of the first packet of the first flow ID (f1), and the count value cnt1 of the first flow. The second flow is processed similarly. Furthermore, a dwell threshold, or timeout θ, represents the maximum dwell time of a flow in the classifier. After the timeout, the data flow is considered complete and will be sent to the next processing stage. The timeout θ is preset by the user. Assuming θ is 100 and the current data packet arrival time t is 200, the update principle of the first classifier is as follows: When a business flow arrives, the business flow ID is mapped to the classifier via the hash function h(·). Each column of the classifier can store business flows with hash collisions. The number of columns in the classifier data structure depends on the measurement resources on the device, requiring at least one column. If an empty hash bucket exists, the business flow ID and the current timestamp are directly placed into the hash bucket, and the flow size count cnt is set to 1. If a business flow ID is the same as the business flow ID in the hash bucket and the one stored there, such as... Figure 3 If f1 is found to be in the first priority module, and the current time 200-150=50 is less than the timeout θ, then the cnt value is updated to cnt=cnt+1. If the timeout θ has been exceeded, then the statistics of the business flow are updated to the first priority module. If there is no empty bucket but there is a timeout flow, such as when business flow f7 arrives, it is found that all hash buckets are occupied, but at this time the first packet arrival time of f3 is 2, and the dwell time 200-2=198 is greater than the timeout θ=100, then the data of f3 is expelled to the first priority module, and then the business flow ID, arrival time t and cnt of f7 are recorded. If there is neither an empty bucket nor a timeout flow, such as business flow f8, then the business flow is directly sent to the lowest priority module for recording.
[0093] For details, please refer to Figure 4When a data packet flows from the first classifier into a subsequent classifier, i.e., the priority module, the priority module updates according to the following rules: If the hash bucket is empty, as in the case of f1, the statistical data of f1 will be directly recorded in the current empty hash bucket; if the business flow ID stored in the hash bucket is the same as the current business flow ID, the cnt field will be incremented and updated; if a hash collision occurs, as in business flow f3, where f3 is found to be larger than f2, the statistical data of f2 will be migrated to the next priority module, and f3 will preempt the current hash bucket. If it is found to be smaller than the existing business flow, as in f5, where its size 35 is smaller than f5's 40, f5 will be moved to the next priority module for storage. The update principle of the next priority module is the same as that of the first-level priority module. Through the above business flow priority classification module, the business flows in the network are divided into different measurement priorities, with the business flows stored in the first-level priority module having the highest measurement priority, followed by the second-level, and so on. When measuring high-priority business flows, more measurement resources should be allocated to ensure measurement accuracy.
[0094] Step 13: The server sends the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers.
[0095] In this embodiment of the invention, the service flows residing in the multiple classifiers are distributed to the sending switch according to the priority of the multiple classifiers, so that the sending and receiving switches store the state of each service flow and complete the subsequent network performance measurement task.
[0096] In this embodiment of the invention, a server acquires multiple service flows. The server includes multiple classifiers, each corresponding to a priority level, and the multiple classifiers are arranged in descending order of priority. The server determines whether the service flow meets the residency condition of the first classifier. If the service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier. If the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier. For each classifier, if the service flow residing in the classifier no longer meets the classifier's residency condition, the service flow is sent to the next priority classifier. The server distributes the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers. By setting a higher priority measurement sequence for larger flows, the separation of large and small flows is achieved, enabling high-precision and low-overhead measurement of network performance indicators, thus solving the problem of existing methods that cannot measure network performance indicators with high precision and low overhead.
[0097] In this embodiment of the invention, optionally, the server distributes the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers, including:
[0098] The server obtains the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set stores the statistical results of the data packets of the service flow;
[0099] The server constructs a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, as well as the mapping relationship of the service flow between the sending and receiving ends.
[0100] The server allocates resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, and obtains multiple service flow paths, wherein the sending end and receiving end in each of the service flow paths do not have hash collisions;
[0101] The server sends the service flows residing in the multiple classifiers to the sending switch according to the service flow path.
[0102] In this embodiment of the invention, since the transceiver switch stores the state of each service flow and prepares to complete the subsequent network performance measurement task, hash collisions will inevitably occur. Faced with tens of thousands of service flows in the network, hash collisions will affect query efficiency. Service flows with the same path may generate hash collisions at both the transceiver and the receiving end, and service flows with different paths may also generate hash collisions at the sending or receiving end. Therefore, the server allocates resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure to avoid hash collisions.
[0103] Specifically, assume the network contains N edge nodes, each of which is equipped with a hash table for both the sending and receiving ends to store statistical results of data packets in the sending and receiving directions; the number of traffic flows in the network is n.
[0104] Treat the sending and receiving hash buckets as the left and right vertex sets G = (V) of the bipartite graph. S V R ,E), V S V represents the set of hash buckets of the sending-end switch; R This represents the set of hash buckets at the receiving end switch. Since each edge node may send and receive data packets, a hash table for both the sending and receiving ends is deployed on each edge node, but the sizes of the sending and receiving hash tables may differ. The edge set E represents the mapping relationship of service flows in the sending and receiving end hash buckets, with the number of edges being n. For the specific bipartite graph structure, please refer to [reference needed]. Figure 5 ;
[0105] Assuming there are P priority levels in the current business flow, and each measurement period is T, the edge set E is divided into P subsets according to priority: E1, E2...E P Simultaneously, the measurement period T is divided into P subsets according to priority: T1, T2...T P ; and the first bipartite graph G1 = (V S V R (E1) and an empty set M1;
[0106] The specific measurement procedure is as follows:
[0107] (1) For the set of left vertices V S Each vertex v s Select an unmatched vertex v r For the set of vertices on the left, V S Each vertex v s Select an unmatched vertex v r If vertex v r If no match is found, it means the maximum matching has been found, and the algorithm ends.
[0108] (2) If vertex v r Exists, from vertex v r Starting from the beginning, traverse each right vertex w adjacent to it; if vertex w is in the matching M1, find the left vertex x connected to w, and add x to the alternation tree (that is, add x to the current augmenting path);
[0109] (3) If vertex w is not in matching M1, it means that an augmenting path has been found, and v will be moved to the next position. r Matching with w, soon (v r Add ,w) to M1; remove x from the alternating tree and add v r Add it to the interlaced tree, then go to step (2) and continue to find the next unmatched vertex; repeat the above steps to find the maximum matching of the current bipartite subgraph; for the current bipartite subgraph, the maximum matching of the bipartite can be used to give the set of the most service flows supported by the measurement task under the current storage resources, and its time complexity is O = (Nn). The set of service flows can satisfy the requirement to perform measurement tasks at the same time without causing storage resource contention, but this will cause some service flows to be unable to obtain measurement resources and thus be unable to complete the measurement task. Step (3) The current M1 stores the set of service flows that need to be measured in the first priority service flow, and assigns the measurement tasks of these service flows to time slot T1;
[0110] (4) At this point, M1 may only contain a portion of the service flows from set E1. Therefore, for the remaining unassigned measurement task service flows E1∩M1, construct the second bipartite graph G2=(V S VR Then reset the empty set M2. Since there is a higher priority service flow E1∩M1 in the second bipartite graph G2 at this time, the edge set corresponding to these service flows is assigned the highest weight, and the edge set E2 is assigned the second-highest weight; the maximum weight matching solution set M2 is performed for the bipartite graph G2; for the service flows in set M2, the measurement time slot T2 is assigned.
[0111] (5) Through the above operations, it is ensured that service flows that are not assigned measurement tasks in the first time slot can also obtain measurement resources in the second time slot with priority. Service flows with lower priority should give up measurement resources to service flows with higher priority. For the newly obtained set M2, there may be service flows (E1∩M1∩M2)∪(E2∩M2) that were not processed in the previous solution. At this time, a new bipartite graph is constructed, and the third bipartite graph G3=(V S V R ,E3∪((E1∩M1∩M2)∪(E2∩M2)); For the third two-dimensional graph G3, solve for the maximum weight matching again and allocate time slot T3. Repeat the above operation until all time slots are allocated.
[0112] In this embodiment of the invention, service flows are prioritized based on their size before measurement tasks are allocated. This ensures that no resource conflicts occur during each measurement time slot, and guarantees that higher-priority service flows can obtain limited measurement resources. When the service flows in the service flow subset are subsequently sent to the SDN switch in batches, the SDN switch will add MPLS tags to the selected service flows according to the flow table of the sent service flows. For data packets that have not been assigned measurement tasks, MPLS tags will not be added, and the receiving end will not count them. This achieves resource allocation and scheduling for measurement tasks of service flows with different priorities, avoids resource waste, and ensures measurement resources for high-priority service flows.
[0113] Please refer to Figure 6 This invention provides a method for scheduling network performance measurement tasks, comprising:
[0114] Step 61: The sending switch receives the service flows residing in the multiple classifiers according to the priority of the multiple classifiers in the server. In the server, if the service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier; if the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier; wherein, for each classifier, if the service flow residing in the classifier no longer meets the residency condition of the classifier, the service flow is sent to the classifier with the next higher priority.
[0115] In this embodiment of the invention, in order to measure the packet loss rate of each service flow, it is necessary to count the number of data packets of each service flow on the sending switch and store the statistical results in a hash table. The sending switch is a Software Defined Network (SDN) switch.
[0116] Step 62: The sending switch sends the service flow to the receiving switch.
[0117] In this embodiment of the invention, optionally, the sending end switch sends the service flow to the receiving end switch, including:
[0118] The transmitting switch adds a multiprotocol label switching tag to the service flow, and the multiprotocol label switching tag records the number of data packets in the service flow;
[0119] The sending switch sends a service flow with the added multiprotocol tag exchange tag to the receiving switch.
[0120] In this embodiment of the invention, the measurement data structure of the transmitting switch is as follows: Figure 7 As shown, the specific implementation is as follows: When a service flow passes through the sending switch, the SDN switch first queries the hash table based on the five-tuple information of the current data packet. The hash table stores the five-tuple of the service flow and the number of data packets received by the current service flow. When the service flow arrives for the first time, the hash table information is initialized, and the number of data packets is set to 1. If the service flow information exists in the hash table, its data packet count is incremented by 1. When the data packet leaves the switch, the switch adds a Multi-Protocol Label Switching (MPLS) label to it and sets the Label field to the number of data packets in the service flow, count1. The data packet carrying MPLS will be transmitted in the network so that when the receiving switch receives the data packet, the SDN switch can parse the MPLS label and obtain the value carried by the Label.
[0121] In this embodiment of the invention, by setting up SDN switching devices at edge nodes, the edge nodes provide support for processing, parsing, and storing the measurement results of each service flow during passive measurement. This method uses SDN switches to add MPLS tags to data packets at the sending end, and uses the tags to number each data packet to complete the measurement of packet loss rate, thereby solving the problems of time synchronization and out-of-order data packets. Finally, the edge nodes are used to complete the statistics and storage of the packet loss rate of the service flow, avoiding the shortcomings of weak computing and storage capabilities of traditional SDN nodes, and facilitating the provision of necessary input for subsequent network management and control.
[0122] Please refer to Figure 8 This invention provides a method for scheduling network performance measurement tasks, comprising:
[0123] Step 81: The receiving switch receives the service flow sent by the sending switch. The service flow is distributed to the sending switch by the server according to the priority of multiple classifiers in the server. In the server, if the service flow meets the dwell threshold of the first classifier, the service flow is dwelled in the first classifier; if the service flow does not meet the dwell threshold of the first classifier, the service flow is sent to the second classifier; wherein, for each classifier, if the service flow dwelling in the classifier no longer meets the dwell condition of the classifier, the service flow is sent to the classifier with the next higher priority.
[0124] In this embodiment of the invention, the data structure of the receiving end is as follows: Figure 9 As shown, the receiving switch receives service flows sent by the sending switch. The receiving end parses the Label field in the MPLS data packet to obtain the current ID, and maintains a hash table. The hash table uses the service flow 5-tuple as the key value, and also maintains statistical information for each service flow, including two fields: Max... Id and Loss; where Max Id The cumulative number of data packets for the current service flow, with Loss calculated based on the previous ID and Max. Id The calculation results record the number of lost data packets. The receiving end dynamically updates these fields to ensure the accuracy of the measurement. Finally, after the statistics are completed, the receiving end removes the MPLS tags from the data packets to ensure the normal transmission of the service flow.
[0125] Step 82: The receiving switch calculates the packet loss rate of the service flow.
[0126] In this embodiment of the invention, optionally, the service flow is a service flow with a multiprotocol label switching tag added, and the multiprotocol label switching tag records the number of data packets in the service flow;
[0127] The receiving switch calculates the packet loss rate of the service flow by including:
[0128] The receiving switch parses the multiprotocol label switching tag, obtains and records the number of data packets in the current service flow;
[0129] The receiving switch calculates the packet loss rate of the service flow based on the current number of data packets and the cumulative number of data packets of the service flow in the historical records.
[0130] In this embodiment of the invention, optionally, calculating the packet loss rate of the service flow based on the current number of data packets and the cumulative number of data packets of the service flow in historical records includes:
[0131] The receiving switch calculates the difference between the current number of data packets and the cumulative number of data packets in the service flow;
[0132] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is 1, it indicates that no packet loss or out-of-order delivery has occurred, and the cumulative number of data packets in the service flow is updated to the current number of data packets.
[0133] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, it indicates that packet loss or out-of-order delivery has occurred, and the packet loss value is recorded according to the difference.
[0134] In this embodiment of the invention, optionally, the step of indicating packet loss or out-of-order delivery if the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, and recording the packet loss value based on the difference, includes:
[0135] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is greater than 1, it indicates that packet loss has occurred. The cumulative number of data packets in the service flow is then updated to the current number of data packets, and the packet loss value is recorded based on the difference.
[0136] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is less than 1, it indicates that out-of-order packets have occurred. The cumulative number of data packets in the service flow will not be updated, and the packet loss value will be corrected based on the difference.
[0137] In this embodiment of the invention, the specific measurement method of the receiving end is as follows: when the service flow f1 is being transmitted normally, the sending end will sequentially number the data packets, and the received data packets will be numbered 1, 2, 3... in sequence.
[0138] If a data packet is lost during transmission due to network congestion or anomalies, for example, data packet number 3 is lost, the receiving end will receive data packets numbered sequentially as 1, 2, 4, 5... The receiving end will always maintain the current data packet number as Id, and the received data structure will be updated as follows:
[0139] When the receiver Id = Max Id +1 indicates that the data packets arrived in order, and no packet loss or out-of-order delivery occurred. Update Max. Id The current ID;
[0140] When receiver ID > Max Id +1 indicates the arrival of data packet number 4 above. This means that a preceding data packet may have been lost, meaning that at least one preceding data packet is missing before the current data packet. In this case, Max is updated. Id =Id, Loss = Loss + Id - Max Id -1;
[0141] By recording the number of data packets received and their arrival order, the number of data packets received and lost at the current moment can be determined, thereby calculating the packet loss rate of the current service flow.
[0142] However, there are also cases where out-of-order delivery is not due to packet loss. That is, out-of-order delivery during the transmission of the service flow causes packet 3 to arrive after packet 4, leading to misjudgment. Therefore, this problem needs to be corrected.
[0143] When the receiver ID <Max Id +1 means that data packet number 3 above arrived out of order but was not lost. In this case, since the subsequent data packets have already updated Max... Id The value, so Id will appear. <Max Id +1 indicates that a data packet with a higher sequence number arrived earlier than the current data packet. Since the current data packet was sent earlier than the previous data packet at the sending end, it can be concluded that the current data packet is out of order. In this case, Loss = Loss - 1, Max... Id No updates are needed; by correcting the Loss value, we can reduce the impact of out-of-order packets on measurement accuracy and improve measurement accuracy.
[0144] In this embodiment of the invention, the number of data packets is carried using MPLS labels. This method offers better compatibility with current networks, and by uniquely numbering each data packet using MPLS, the receiving end can monitor and statistically analyze packet transmission, and calculate the packet loss rate. Furthermore, the receiving end can obtain the number of data packets sent in the current service flow by parsing the MPLS Label field. Based on the number of each data packet, it can even identify which packet was lost during transmission and which packets were out of order, thus avoiding inaccurate packet loss rate measurements caused by time synchronization issues and out-of-order packet transmission.
[0145] In this embodiment of the invention, a task scheduling strategy based on in-band measurement and separation of large and small flows overcomes the problems of high measurement overhead and insufficient applicability of measurement methods in complex networks. Furthermore, in the EKI-Plus project, which provides network isolation for tenants based on SDN, applying this solution to these SDN networks can provide fine-grained network performance indicators without increasing hardware equipment or occupying east-west bandwidth. This provides necessary input for network performance optimization and improves user experience without increasing costs. Many other products within our organization also rely on SDN networks and can benefit from this solution. Externally, many products also use SDN, whether in software-based SDN network architectures, programmable hardware switch-based network architectures, or hybrid complex network architectures. This solution provides a low-overhead, universally applicable measurement method, thereby reducing network performance measurement costs and improving product capabilities.
[0146] Please refer to Figure 10 This invention provides a server, comprising:
[0147] The acquisition module 101 is used to acquire multiple business flows; the server includes multiple classifiers, each classifier corresponds to a priority, and the multiple classifiers are arranged in descending order of the priority.
[0148] The first processing module 102 is used to determine whether the service flow meets the dwell condition of the first classifier; if the service flow meets the dwell threshold of the first classifier, then the service flow is dwelled in the first classifier; if the service flow does not meet the dwell threshold of the first classifier, then the service flow is sent to the second classifier; wherein, for each classifier, if the service flow dwelling in the classifier no longer meets the dwell condition of the classifier, the service flow is sent to the classifier with the next higher priority to dwell;
[0149] The first sending module 103 is used by the server to send the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers.
[0150] In this embodiment of the invention, optionally, the first processing module includes:
[0151] The first processing submodule is configured to satisfy the dwell condition of the first classifier if the difference between the arrival time of the current data packet of the service flow and the arrival time of the first packet of the service flow is less than a preset timeout threshold.
[0152] In this embodiment of the invention, optionally, the first sending module includes:
[0153] The second processing submodule is used by the server to obtain the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set stores the statistical results of the data packets of the service flow;
[0154] The third processing submodule is used by the server to construct a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, as well as the mapping relationship of the service flow at the sending end and the receiving end.
[0155] The fourth processing submodule is used by the server to allocate resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, so as to obtain multiple service flow paths, wherein the sending end and receiving end in each of the service flow paths do not have hash collisions;
[0156] The fifth processing submodule is used by the server to send the service flows residing in the multiple classifiers to the sending switch according to the service flow path.
[0157] The server provided in this embodiment of the invention can achieve Figure 1 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0158] Please refer to Figure 11 This invention provides a transmitting switch, comprising:
[0159] The first receiving module 111 is configured to receive service flows residing in multiple classifiers according to the priority of multiple classifiers in the server. In the server, if the service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier; if the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier; wherein, for each classifier, if the service flow residing in the classifier no longer meets the residency condition of the classifier, the service flow is sent to the classifier with the next higher priority.
[0160] The second sending module 112 is used to send the service flow to the receiving switch.
[0161] In this embodiment of the invention, optionally, the second sending module includes:
[0162] The tag adding submodule is used to add multiprotocol tag switching tags to the service flow, wherein the multiprotocol tag switching tags record the number of data packets in the service flow;
[0163] The sending submodule is used to send service flows with the added multiprotocol tag switching label to the receiving switch.
[0164] The transmitting switch provided in this embodiment of the invention can achieve Figure 6 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0165] Please refer to Figure 12 This invention provides a receiving-end switch, comprising:
[0166] The second receiving module 121 is used to receive service flows sent by the sending switch. The service flows are distributed to the sending switch by the server according to the priority of multiple classifiers in the server. In the server, if the service flow meets the dwell threshold of the first classifier, the service flow is dwelled in the first classifier; if the service flow does not meet the dwell threshold of the first classifier, the service flow is sent to the second classifier. Wherein, for each classifier, if the service flow dwelling in the classifier no longer meets the dwell condition of the classifier, the service flow is sent to the classifier with the next higher priority.
[0167] The calculation module 122 is used to calculate the packet loss rate of the service flow.
[0168] In this embodiment of the invention, optionally, the service flow is a service flow with a multiprotocol label switching tag added, and the multiprotocol label switching tag records the number of data packets in the service flow;
[0169] The computing module includes:
[0170] The first calculation submodule is used to parse the multiprotocol label switching label, obtain and record the number of data packets in the current service flow;
[0171] The second calculation submodule is used to calculate the packet loss rate of the service flow based on the current number of data packets and the cumulative number of data packets of the service flow in the historical records.
[0172] In this embodiment of the invention, optionally, the second calculation submodule includes:
[0173] The third calculation submodule is used to calculate the difference between the current number of data packets and the cumulative number of data packets in the service flow;
[0174] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is 1, it indicates that no packet loss or out-of-order delivery has occurred, and the cumulative number of data packets in the service flow is updated to the current number of data packets.
[0175] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, it indicates that packet loss or out-of-order delivery has occurred, and the packet loss value is recorded according to the difference.
[0176] In this embodiment of the invention, optionally, the step of indicating packet loss or out-of-order delivery if the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, and recording the packet loss value based on the difference, includes:
[0177] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is greater than 1, it indicates that packet loss has occurred. The cumulative number of data packets in the service flow is then updated to the current number of data packets, and the packet loss value is recorded based on the difference.
[0178] If the difference between the current number of data packets and the cumulative number of data packets in the service flow is less than 1, it indicates that out-of-order packets have occurred. The cumulative number of data packets in the service flow will not be updated, and the packet loss value will be corrected based on the difference.
[0179] The receiving switch provided in this embodiment of the invention can achieve Figure 8 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0180] This invention provides an electronic device 130, see [link to relevant documentation]. Figure 13 As shown, Figure 13 This is a schematic block diagram of an electronic device 130 according to an embodiment of the present invention, including a processor 131, a memory 132, and a program or instructions stored in the memory 132 and executable on the processor 131. When the program or instructions are executed by the processor, they implement the steps in any of the network performance measurement task scheduling methods of the present invention.
[0181] This invention provides a readable storage medium on which a program or instruction is stored. When the program or instruction is executed by a processor, it implements the various processes of the network performance measurement task scheduling method of any of the above embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0182] This application also provides a computer program product, including computer instructions, which, when executed by a processor, implement the above-described... Figure 1 or Figure 13 The various processes of the method embodiments shown can achieve the same technical effect, and will not be described again here to avoid repetition.
[0183] Computer-readable media include both permanent and non-permanent, removable and non-removable media, which can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0184] It should be noted that the collection, gathering, updating, analysis, processing, use, transmission, and storage of user personal information involved in this disclosed technical solution all comply with relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken to prevent unauthorized access to user personal information data and to safeguard user personal information security and network security.
[0185] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0186] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0187] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a service classification device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0188] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A method for scheduling network performance measurement tasks, characterized in that, include: The server acquires multiple service flows; the server includes multiple classifiers, each classifier corresponds to a priority, and the multiple classifiers are arranged in descending order of the priority. The server determines whether the service flow meets the dwell condition of the first classifier; If the service flow meets the dwell threshold of the first classifier, the service flow will remain in the first classifier; if the service flow does not meet the dwell threshold of the first classifier, the service flow will be sent to the second classifier; wherein, for each classifier, if the service flow residing in the classifier no longer meets the dwell condition of the classifier, the service flow will be sent to the classifier with the next higher priority. The server distributes the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers; The server distributes the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers, including: The server obtains the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set stores the statistical results of the data packets of the service flow; The server constructs a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, as well as the mapping relationship of the service flow between the sending and receiving ends. The server allocates resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, and obtains multiple service flow paths, wherein the sending end and receiving end in each of the service flow paths do not have hash collisions; The server sends the service flows residing in the multiple classifiers to the sending switch according to the service flow path.
2. The network performance measurement task scheduling method according to claim 1, characterized in that, The step of determining whether the service flow meets the dwell conditions of the first classifier includes: If the difference between the arrival time of the current data packet of the service flow and the arrival time of the first packet of the service flow is less than the preset timeout threshold, then the dwell condition of the first classifier is satisfied.
3. A method for scheduling network performance measurement tasks, characterized in that, include: The sending-end switch receives service flows residing in multiple classifiers from the server according to their priorities. If a service flow meets the retention threshold of the first classifier, it is retained in that classifier; otherwise, it is sent to the second classifier. For each classifier, if a service flow already residing in that classifier no longer meets its retention criteria, it is sent to the next classifier with the next higher priority. The server then sends the service flow packets residing in the multiple classifiers to the sending-end switch according to their priorities. The process includes: the server acquiring the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set storing statistical results of data packets of the service flow; the server constructing a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, and the mapping relationship of the service flow at the sending and receiving ends; the server allocating resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, obtaining multiple service flow paths, wherein the sending end and receiving end in each service flow path do not experience hash collisions; and the server distributing the service flows residing in the multiple classifiers to the sending switch according to the service flow paths. The sending switch sends the service flow to the receiving switch.
4. The network performance measurement task scheduling method according to claim 3, characterized in that, The sending end switch sends the service flow to the receiving end switch, including: The transmitting switch adds a multiprotocol label switching tag to the service flow, and the multiprotocol label switching tag records the number of data packets in the service flow; The sending switch sends a service flow with the added multiprotocol tag exchange tag to the receiving switch.
5. A method for scheduling network performance measurement tasks, characterized in that, include: The receiving switch receives service flows sent by the sending switch. These service flows are distributed to the sending switch by a server according to the priority of multiple classifiers within the server. Within the server, if the service flow meets the residency threshold of the first classifier, it resides in that classifier; if the service flow does not meet the residency threshold of the first classifier, it is sent to the second classifier. For each classifier, if the service flow already residing in that classifier no longer meets its residency conditions, it is sent to the next classifier with the next higher priority. The server distributes the service flows to the sending switch according to the priority of the multiple classifiers. The resident service flow includes: the server obtaining the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set storing the statistical results of the data packets of the service flow; the server constructing a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, and the mapping relationship of the service flow at the sending and receiving ends; the server allocating resources to the resident service flows in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, obtaining multiple service flow paths, wherein the sending end and receiving end in each service flow path do not have hash collisions; the server distributing the resident service flows in the multiple classifiers to the sending switch according to the service flow paths. The receiving switch calculates the packet loss rate of the service flow.
6. The network performance measurement task scheduling method according to claim 5, characterized in that, The service flow is a service flow with a multiprotocol label switching label added, and the multiprotocol label switching label records the number of data packets in the service flow; The receiving switch calculates the packet loss rate of the service flow by including: The receiving switch parses the multiprotocol label switching tag, obtains and records the number of data packets in the current service flow; The receiving switch calculates the packet loss rate of the service flow based on the current number of data packets and the cumulative number of data packets of the service flow in the historical records.
7. The network performance measurement task scheduling method according to claim 6, characterized in that, The step of calculating the packet loss rate of the service flow based on the current number of data packets and the cumulative number of data packets in the service flow according to historical records includes: The receiving switch calculates the difference between the current number of data packets and the cumulative number of data packets in the service flow; If the difference between the current number of data packets and the cumulative number of data packets in the service flow is 1, it indicates that no packet loss or out-of-order delivery has occurred, and the cumulative number of data packets in the service flow is updated to the current number of data packets. If the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, it indicates that packet loss or out-of-order delivery has occurred, and the packet loss value is recorded according to the difference.
8. The network performance measurement task scheduling method according to claim 7, characterized in that, If the difference between the current number of data packets and the cumulative number of data packets in the service flow is not 1, it indicates that packet loss or out-of-order delivery has occurred, and the packet loss value is recorded according to the difference, including: If the difference between the current number of data packets and the cumulative number of data packets in the service flow is greater than 1, it indicates that packet loss has occurred. The cumulative number of data packets in the service flow is then updated to the current number of data packets, and the packet loss value is recorded based on the difference. If the difference between the current number of data packets and the cumulative number of data packets in the service flow is less than 1, it indicates that out-of-order packets have occurred. The cumulative number of data packets in the service flow will not be updated, and the packet loss value will be corrected based on the difference.
9. A server, characterized in that, include: The acquisition module is used to acquire multiple business flows; The server includes multiple classifiers, each classifier has a priority, and the multiple classifiers are arranged in descending order of the priority. The first processing module is used to determine whether the service flow meets the dwell condition of the first classifier; if the service flow meets the dwell threshold of the first classifier, the service flow is dwelled in the first classifier; if the service flow does not meet the dwell threshold of the first classifier, the service flow is sent to the second classifier; wherein, for each classifier, if the service flow dwelling in the classifier no longer meets the dwell condition of the classifier, the service flow is sent to the classifier with the next higher priority. The first sending module is used by the server to send the service flows residing in the multiple classifiers to the sending end switch according to the priority of the multiple classifiers; The server distributes the service flows residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers, including: The server obtains the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set stores the statistical results of the data packets of the service flow; The server constructs a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, as well as the mapping relationship of the service flow between the sending and receiving ends. The server allocates resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, and obtains multiple service flow paths, wherein the sending end and receiving end in each of the service flow paths do not have hash collisions; The server sends the service flows residing in the multiple classifiers to the sending switch according to the service flow path.
10. A transmitting-end switch, characterized in that, include: The first receiving module is configured to receive service flows residing in multiple classifiers, distributed by the server according to the priority of multiple classifiers in the server. In the server, if a service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier; if the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier. Specifically, for each classifier, if a service flow residing in that classifier no longer meets the classifier's residency conditions, the service flow is sent to the next higher priority classifier. The server distributes the services residing in the multiple classifiers to the sending switch according to the priority of the multiple classifiers. The process includes: the server acquiring the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set storing statistical results of data packets of the service flow; the server constructing a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, and the mapping relationship of the service flow at the sending and receiving ends; the server allocating resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, obtaining multiple service flow paths, wherein the sending end and receiving end in each service flow path do not experience hash collisions; and the server distributing the service flows residing in the multiple classifiers to the sending switch according to the service flow paths. The second sending module is used to send the service flow to the receiving switch.
11. A receiving-end switch, characterized in that, include: The second receiving module is used to receive service flows sent by the sending-end switch. The service flows are distributed to the sending-end switch by the server according to the priority of multiple classifiers in the server. In the server, if the service flow meets the residency threshold of the first classifier, the service flow is resided in the first classifier; if the service flow does not meet the residency threshold of the first classifier, the service flow is sent to the second classifier. For each classifier, if the service flow residing in the classifier no longer meets the classifier's residency conditions, the service flow is sent to the next higher priority classifier. The server distributes the multiple classifiers to the sending-end switch according to their priority. The service flows residing in the server include: the server obtaining the hash bucket set of the sending switch and the hash bucket set of the receiving switch; the hash bucket set storing the statistical results of the data packets of the service flows; the server constructing a bipartite graph structure based on the hash bucket set of the sending switch and the hash bucket set of the receiving switch, and the mapping relationship of the service flows at the sending and receiving ends; the server allocating resources to the service flows residing in the multiple classifiers according to the priority of the multiple classifiers based on the bipartite graph structure, obtaining multiple service flow paths, wherein the sending end and receiving end in each service flow path do not have hash collisions; the server distributing the service flows residing in the multiple classifiers to the sending switch according to the service flow paths. The calculation module is used to calculate the packet loss rate of the service flow.
12. An electronic device, characterized in that, It includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor. When the program or instructions are executed by the processor, they implement the steps in the network performance measurement task scheduling method as described in any one of claims 1 or 2, or the steps in the network performance measurement task scheduling method as described in any one of claims 3 or 4, or the steps in the network performance measurement task scheduling method as described in any one of claims 5 to 8.
13. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps in the network performance measurement task scheduling method as described in any one of claims 1 or 2, or the steps in the network performance measurement task scheduling method as described in any one of claims 3 or 4, or the steps in the network performance measurement task scheduling method as described in any one of claims 5 to 8.
14. A computer program product, characterized in that, The method includes computer instructions that, when executed by a processor, implement the steps in the network performance measurement task scheduling method as described in any one of claims 1 or 2, or the steps in the network performance measurement task scheduling method as described in any one of claims 3 or 4, or the steps in the network performance measurement task scheduling method as described in any one of claims 5 to 8.
Citation Information
Patent Citations
Business flow identification method, device and system
CN106162754A
Service scheduling method and device, nonvolatile storage medium and electronic equipment
CN118785421A