CN112737941B - Network flow scheduling method, device and computer readable medium - Google Patents
Network flow scheduling method, device and computer readable medium Download PDFInfo
- Publication number
- CN112737941B CN112737941B CN202011519000.4A CN202011519000A CN112737941B CN 112737941 B CN112737941 B CN 112737941B CN 202011519000 A CN202011519000 A CN 202011519000A CN 112737941 B CN112737941 B CN 112737941B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- network
- array
- sequence
- reference number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/626—Queue scheduling characterised by scheduling criteria for service slots or service orders channel conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention provides a network flow scheduling method, a network flow scheduling device and a computer readable medium. The method comprises the following steps: determining at least two network flows which need to be transmitted currently and are in sequence; determining a proportional relation of the number of data packets contained in the at least two network flows; obtaining a reference number according to a proportional coefficient corresponding to each network flow in the proportional relation and creating a scheduling array according to the reference number; filling the sequence numbers of the at least two network flows as elements into the scheduling array in sequence, wherein the number of the sequence numbers of each network flow in the scheduling array is the same as the number of data packets contained in the sequence numbers; obtaining a scheduling result through a randomization algorithm according to the scheduling array; and transmitting the at least two network flows according to the scheduling result. The scheme of the invention can realize fair scheduling of network flow.
Description
Technical Field
The present invention relates to the field of network transmission, and in particular, to a method and an apparatus for network stream scheduling, and a computer readable medium.
Background
On the same physical port, a user may configure many streams in order to simulate a real network environment with high degree of discretization and randomization. For scheduling of a large number of flows, a commonly used scheduling method at present is sequential scheduling or interspersed scheduling according to a proportional relation of flows.
However, whether sequential scheduling or interspersed scheduling is adopted, the first scheduled flow is always the first flow, and from the perspective of fairness and randomness, such a scheduling method cannot realize fair scheduling.
Therefore, there is a need for a method to achieve fair scheduling of network flows.
Disclosure of Invention
The embodiment of the invention provides a network flow scheduling method, a network flow scheduling device and a computer readable medium, which can realize fair scheduling of network flows.
In a first aspect, an embodiment of the present invention provides a network stream transmission scheduling method, including:
determining at least two network flows which need to be transmitted currently and are in sequence;
determining a proportional relation of the number of data packets contained in the at least two network flows;
obtaining a reference number according to a proportional coefficient corresponding to each network flow in the proportional relation and creating a scheduling array according to the reference number;
filling the sequence numbers of the at least two network flows as elements into the scheduling array in sequence, wherein the number of the sequence numbers of each network flow in the scheduling array is the same as the number of data packets contained in the sequence numbers;
obtaining a scheduling result through a randomization algorithm according to the scheduling array;
and transmitting the at least two network flows according to the scheduling result.
Preferably, the first and second electrodes are formed of a metal,
the obtaining a reference number according to the scaling factor corresponding to each network flow in the proportional relationship and creating a scheduling array according to the reference number includes:
rounding each of the scaling coefficients;
adding each of the proportional coefficients to obtain a reference number;
creating the scheduling array with the element number being the value of the reference number.
Preferably, the first and second electrodes are formed of a metal,
the obtaining of the scheduling result through a randomization algorithm according to the scheduling array includes:
s1: the position of each element in the scheduling array is represented by A [ n ], wherein n is more than or equal to 0 and less than or equal to a-1, and a is the numerical value of the reference number initially;
s2: generating a random number in an interval of [0, a-1], and randomly determining an element exchange position with an element with the position of A [ a-1] from the scheduling array according to the value of the random number;
s3: judging whether the value of a-1 is larger than a/2, if so, executing the step S1 by taking the value of a-1 as a; and if not, taking the position of each current element as the scheduling result.
Preferably, the first and second electrodes are formed of a metal,
the transmitting the at least two network flows according to the scheduling result includes:
determining the sequence number sequence of the at least two network flows in each element in the scheduling result, and determining the transmission sequence of the at least two network flows;
Determining the number of unit data packets with the proportionality coefficient of 1 according to the proportionality coefficients of the at least two network flows;
and transmitting the at least two network flows according to the transmission sequence, wherein the data packets of the unit number of packets of the network flow corresponding to the element at the current position are transmitted in each transmission.
Preferably, the first and second electrodes are formed of a metal,
the transmitting the at least two network flows comprises:
detecting the network transmission quality of all transmission paths reaching a target server;
selecting and recording a plurality of alternative transmission paths in all the transmission paths according to the network transmission quality;
when a target network flow pointing to the target server is received, selecting a target transmission path from a plurality of recorded alternative transmission paths according to a user side identifier carried in the target network flow;
and transmitting the network traffic through the target transmission path.
In a second aspect, an embodiment of the present invention provides a network stream transmission scheduling apparatus based on the network stream transmission scheduling method provided in any of the first aspects, including:
a determining unit, configured to determine at least two network flows that need to be transmitted currently and are in sequence; determining a proportional relation of the number of data packets contained in the at least two network flows;
A creating unit, configured to obtain a reference number according to a scaling coefficient corresponding to each network flow in the proportional relationship, and create a scheduling array according to the reference number;
the processing unit is used for filling the serial numbers of the at least two network flows as elements into the scheduling array in sequence, wherein the number of the serial numbers of each network flow in the scheduling array is the same as the number of data packets contained in the network flow; obtaining a scheduling result through a randomization algorithm according to the scheduling array;
and transmitting the at least two network flows according to the scheduling result.
Preferably, the first and second electrodes are formed of a metal,
the creating unit, when executing the reference number obtained according to the scaling factor corresponding to each network flow in the proportional relationship and creating the scheduling array according to the reference number, specifically executes:
rounding each of the scaling coefficients;
adding each of the proportional coefficients to obtain a reference number;
creating the scheduling array with the element number being the value of the reference number.
Preferably, the first and second electrodes are formed of a metal,
the processing unit, when executing the scheduling result obtained by the randomization algorithm according to the scheduling array, specifically executes:
S1: the position of each element in the scheduling array is represented by an A [ n ], wherein n is more than or equal to 0 and less than or equal to a-1, and a is the numerical value of the reference number initially;
s2: generating a random number in an interval of [0, a-1], and randomly determining an element exchange position with an element with the position of A [ a-1] from the scheduling array according to the value of the random number;
s3: judging whether the value of a-1 is larger than a/2, if so, executing the step S1 by taking the value of a-1 as a; and if not, taking the position of each current element as the scheduling result.
In a third aspect, an embodiment of the present invention provides a network stream transmission scheduling apparatus, including: at least one memory and at least one processor;
the at least one memory to store a machine readable program;
the at least one processor is configured to invoke the machine-readable program to perform the method provided in any of the above first aspects.
In a fourth aspect, the present invention provides a computer-readable medium, where computer instructions are stored on the computer-readable medium, and when executed by a processor, the computer instructions cause the processor to perform the method provided in any one of the above first aspects.
The embodiment of the invention provides a network flow scheduling method, a network flow scheduling device and a computer readable medium. According to the technical scheme, in order to realize fair scheduling, at least two network flows which need to be transmitted currently and are in sequence are determined at first, and the proportional relation of the number of data packets contained in each of the at least two network flows is determined; obtaining a reference number according to a proportional coefficient corresponding to each network flow in the proportional relationship, and creating a scheduling array according to the reference number; filling the sequence numbers of the at least two network flows as elements into the scheduling array in sequence, wherein the number of the sequence numbers of each network flow in the scheduling array is the same as the number of data packets contained in the sequence numbers; obtaining a scheduling result through a randomization algorithm according to the scheduling array; and transmitting the at least two network flows according to the scheduling result. Therefore, the scheme provided by the invention realizes better simulation of the discrete and random characteristics of the Ethernet flow by setting the scheduling array, achieves the uniformity of scheduling of each flow by introducing a randomization algorithm, and schedules any flow with equal probability in one round of scheduling, thereby realizing fair scheduling of network flow.
Drawings
In order to more clearly illustrate the embodiments or technical solutions of the present invention, the drawings used in the embodiments or technical solutions in the prior art are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a flowchart of a network flow scheduling method according to an embodiment of the present invention;
fig. 2 is a schematic diagram of a network flow scheduling apparatus according to an embodiment of the present invention.
Detailed Description
To make the objects, technical solutions and advantages of the embodiments of the present invention clearer and more complete, the technical solutions in the embodiments of the present invention will be described below with reference to the drawings in the embodiments of the present invention, it is obvious that the described embodiments are some, but not all embodiments of the present invention, and based on the embodiments of the present invention, all other embodiments obtained by a person of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
As previously mentioned, on the same physical port, a user may configure many streams in order to simulate a real network environment with a high degree of discretization and randomization. For scheduling of a large number of flows, a commonly used scheduling method at present is sequential scheduling or interspersed scheduling according to a proportional relation of flows.
However, whether sequential scheduling or interspersed scheduling is adopted, the first scheduled flow is always the first flow, and from the perspective of fairness and randomness, such a scheduling method cannot realize fair scheduling.
Therefore, there is a need for a method to achieve fair scheduling of network flows.
The following describes a network flow scheduling method, an apparatus and a computer-readable medium according to various embodiments of the present invention in detail with reference to the accompanying drawings.
As shown in fig. 1, an embodiment of the present invention provides a network stream transmission scheduling method, which includes the following steps:
step 101: determining at least two network flows which need to be transmitted currently and are in sequence;
step 102: determining a proportional relation of the number of data packets contained in the at least two network flows;
step 103: obtaining a reference number according to a proportional coefficient corresponding to each network flow in the proportional relation and creating a scheduling array according to the reference number;
Step 104: filling the sequence numbers of the at least two network flows as elements into the scheduling array in sequence, wherein the number of the sequence number of each network flow in the scheduling array is the same as the number of the data packets contained in the sequence number;
step 105: obtaining a scheduling result through a randomization algorithm according to the scheduling array;
step 106: and transmitting the at least two network flows according to the scheduling result.
According to the technical scheme, in order to realize fair scheduling, at least two network flows which need to be transmitted currently and are in sequence are determined, and the proportional relation of the number of data packets contained in each of the at least two network flows is determined; obtaining a reference number according to a proportional coefficient corresponding to each network flow in the proportional relation and creating a scheduling array according to the reference number; filling the sequence numbers of the at least two network flows as elements into the scheduling array in sequence, wherein the number of the sequence numbers of each network flow in the scheduling array is the same as the number of data packets contained in the sequence numbers; obtaining a scheduling result through a randomization algorithm according to the scheduling array; and transmitting the at least two network flows according to the scheduling result. Therefore, the scheme provided by the invention realizes better simulation of the discrete and random characteristics of the Ethernet flow by setting the scheduling array, achieves the uniformity of scheduling of each flow by introducing a randomization algorithm, and schedules any flow with equal probability in one round of scheduling, thereby realizing fair scheduling of network flow.
For example, for scheduling of a large number of flows, a commonly used scheduling method at present is sequential scheduling or interspersed scheduling according to a proportional relationship of flows. Assume that there are three network flows, denoted as S1, S2, S3. According to the proportional relation between the packet length and the flow of the user, software is supposed to calculate that the ratio of the packets transmitted by the users in one round of scheduling is 1: 3: 5.
for sequential scheduling, the scheduling order of the three streams is S1, S2, S2, S2, S3, S3, S3, S3, S3.
And for the punctured scheduling, the scheduling order of the three streams is S1, S2, S3, S2, S3, S2, S3, S3, S3.
It can be seen that no matter which scheduling method, the first scheduled flow is always the first flow S1, and from the perspective of fairness and randomness, such scheduling method is not very optimal.
In an embodiment of the present invention, the obtaining a reference number according to a scaling factor corresponding to each network flow in the proportional relationship and creating a scheduling array according to the reference number includes:
rounding each of the scaling factors;
adding each of the proportional coefficients to obtain a reference number;
creating the scheduling array with the element number being the value of the reference number.
Specifically, the set packet length and the traffic proportion set by the user for each network flow can be read through software, the number of data packets included in each network flow is obtained according to each reserved packet length and the proportion of occupied bandwidth, and the proportional relation of the number is obtained. And rounding the proportional relation to obtain the proportional relation in a positive integer form, and adding the proportional coefficients corresponding to the network flows to obtain the reference number. And according to the value of the reference number, creating a scheduling array with the element number as the value of the reference number. For example, the network flows to be transmitted are S1 and S2, respectively, and the ratio of the packets of the two network flows is 1: and 3, the reference number is 1+ 3-4, and a scheduling array with 4 elements is created.
In an embodiment of the present invention, the obtaining a scheduling result through a randomization algorithm according to the scheduling array includes:
s1: the position of each element in the scheduling array is represented by an A [ n ], wherein n is more than or equal to 0 and less than or equal to a-1, and a is the numerical value of the reference number initially;
s2: generating a random number in an interval of [0, a-1], and randomly determining an element exchange position with an element with the position of A [ a-1] from the scheduling array according to the value of the random number;
s3: judging whether the value of a-1 is larger than a/2, if so, executing the step S1 by taking the value of a-1 as a; and if not, taking the position of each current element as the scheduling result.
Specifically, a random number is obtained through a proportional relationship of network flows, an array with numerical elements of the random number is created, the number of times that each network flow needs to be scheduled is sequentially arranged, the position of each element is assumed to be represented by a [ n ], where n is greater than or equal to 0 and less than or equal to a-1, a is initially the numerical value of the reference number, for example, the network flows to be transmitted are S1 and S2, respectively, and a proportional relationship of data packets of the two network flows is 1: 3, after filling in the reference array, the reference array is: S1S 2S 2S 2. A random number in the interval [0, a-1] is generated, and an element is selected from the array to be exchanged with A [ a-1] according to the value of the random number. A random number in the interval [0, a-2] is generated, and an element is selected from the array to be exchanged with A [ a-2] according to the value of the random number. Since the elements in the scheduling array are the positions where the swapping is performed, the above swapping step is repeated until [ a/2] is performed, and thus all the elements are randomly positioned. Even if a is odd, the elements which are left without position exchange finally are not moved due to the calculation of the randomization algorithm, and the randomness characteristic is still met.
In an embodiment of the present invention, the transmitting the at least two network flows according to the scheduling result includes:
determining the sequence number sequence of the at least two network flows in each element in the scheduling result, and determining the transmission sequence of the at least two network flows;
determining the number of unit data packets with the proportionality coefficient of 1 according to the proportionality coefficients of the at least two network flows;
and transmitting the at least two network flows according to the transmission sequence, wherein the data packets of the unit number of packets of the network flow corresponding to the element at the current position are transmitted in each transmission.
Specifically, since the packet ratios of the network flows are proportional, there is a least common divisor of one packet number, i.e., a unit packet number corresponding to a proportionality coefficient of 1. Each time the transmission sequence of a certain network flow is reached, packet transmission may be performed by the number of unit packets.
An ethernet tester is a dedicated test instrument for generating ethernet network traffic for injection into a device under test and for obtaining information about the device under test by analyzing ethernet frames returned from the device under test.
Network flow: stream. In the context of a network tester, network flow refers to a unit of traffic that can be independently counted and detected. Different network flows have different network flow numbers and share the same physical network port in a time sharing manner.
On the same physical port, in order to simulate a real network environment with high discretization and randomization, a user may configure many network flows and want to achieve as fair scheduling as possible among the network flows. Fair scheduling means that any network flow is authorized to appear at any position in a round of scheduling as long as the traffic proportion relation among the network flows is ensured to be correct.
In an embodiment of the present invention, the transmitting the at least two network flows includes:
detecting the network transmission quality of all transmission paths reaching a target server;
selecting and recording a plurality of alternative transmission paths in all the transmission paths according to the network transmission quality;
when a target network flow pointing to the target server is received, selecting a target transmission path from a plurality of recorded alternative transmission paths according to a user side identifier carried in the target network flow;
and transmitting the network traffic through the target transmission path.
The network state parameters at least include transmission delay, transmission packet loss rate, load of all node devices on the transmission path and bandwidth utilization rate.
In implementation, in the process of detecting the network transmission quality of each transmission path reaching the target server, a current network state parameter of each transmission path may be detected, where the network state parameter may at least include transmission delay, transmission packet loss rate, and load and bandwidth utilization rate of all node devices on the transmission path. The network state parameters can be selected in advance by technicians and can effectively reflect the network transmission quality of the transmission path, meanwhile, each network state parameter can be respectively provided with a preset threshold and a quality influence weight, only when the network state parameter is larger than the corresponding preset threshold, the transmission path can be used for transmitting the network flow, and the quality influence weight can reflect the influence of each network state parameter on the network transmission quality in a numerical mode. Therefore, after the network state parameters of each transmission path are detected, the network transmission quality value of each transmission path can be determined according to the network state parameters, the preset threshold corresponding to each network state parameter and the quality influence weight corresponding to each network state parameter. Specifically, each network state parameter of one transmission path may be subtracted from a corresponding preset threshold, the obtained difference is multiplied by a corresponding quality influence weight, and then all the products are accumulated to obtain the network transmission quality value of the transmission path. Therefore, through a parameter numeralization mode, the quality of the network transmission quality of each transmission path can be judged more intuitively, conveniently and accurately through a plurality of network state parameters.
The following describes the implementation of the network stream transmission scheduling method in detail by way of example.
Assume that there are three streams, denoted as S1, S2, S3. According to the proportional relation between the packet length and the flow of the user, the software is supposed to calculate that in one round of scheduling, the ratio of the number of the packets transmitted by the users is 1: 3: 5.
1. according to the proportional relation of the number of the data packets of S1, S2 and S3, adding to obtain a reference number of 5+3+ 1-9;
2. an array A with the length of 9 is created, and the flow to be scheduled is filled into the scheduling array in the sequence of S1, S2 and S3, namely nine elements of S1S 2S 2S 2S 3S 3S 3S 3S 3.
3. Any one of the 9 elements is exchanged with S3 at the A [8] position. Assuming A [1] is chosen, the probability of A [1] occurring at the 9 th position A [8] is 1/9, since it is arbitrarily chosen from 9 elements.
4. Once A8 is fixed, any number from A0-A7 is exchanged for A7, assuming A4 is selected. We see the probability that A4 occurs at the A7 position. Since the first round was selected to be a [1], a [4] escaped the first round with a probability of 8/9, and in the remaining 8 numbers it was arbitrarily selected, so the probability of being selected is 1/8, so its probability of appearing at the a [7] position is 8/9 × 1/8 — 1/9.
5. And repeating the processes to complete one round of scheduling.
The above process has demonstrated fairness of this scheduling method through randomization and probability theory. By scheduling in this manner, the first scheduled stream is not necessarily S1. Each element of S1, S2, S3 is arranged at the same probability to a random position in the reference array, and since the number of unit packets for which the scaling factor is 1 has been determined, the number of packets transmitted per network flow at the time of being scheduled is the same, and therefore the time taken for each transmission is the same.
As shown in fig. 2, an embodiment of the present invention provides a network stream transmission scheduling apparatus based on the network stream transmission scheduling method provided in any one of the foregoing embodiments, including:
a determining unit 201, configured to determine at least two network flows that currently need to be transmitted and are in sequence; determining a proportional relation of the number of data packets contained in the at least two network flows;
a creating unit 202, configured to obtain a reference number according to a scaling coefficient corresponding to each network flow in the proportional relationship, and create a scheduling array according to the reference number;
a processing unit 203, configured to fill the sequence numbers of the at least two network flows as elements into the scheduling array in sequence, where the number of the sequence number of each network flow in the scheduling array is the same as the number of data packets included in the sequence number; obtaining a scheduling result through a randomization algorithm according to the scheduling array;
And transmitting the at least two network flows according to the scheduling result.
In an embodiment of the present invention, when the creating unit 202 executes the obtaining of the reference number according to the scaling factor corresponding to each network flow in the proportional relationship and creates the scheduling array according to the reference number, specifically executes:
rounding each of the scaling factors;
adding each of the proportional coefficients to obtain a reference number;
creating the scheduling array with the element number being the value of the reference number.
In an embodiment of the present invention, when the processing unit 403 executes the scheduling result obtained by the randomization algorithm according to the scheduling array, specifically executes:
s1: the position of each element in the scheduling array is represented by A [ n ], wherein n is more than or equal to 0 and less than or equal to a-1, and a is the numerical value of the reference number initially;
s2: generating a random number in an interval of [0, a-1], and randomly determining an element exchange position with an element with the position of A [ a-1] from the scheduling array according to the value of the random number;
s3: judging whether the value of a-1 is larger than a/2, if so, executing the step S1 by taking the value of a-1 as a; and if not, taking the position of each current element as the scheduling result.
It should be understood that the schematic structure in the embodiment of the present invention does not form a specific limitation on the network stream transmission scheduling apparatus. In other embodiments of the invention, the network streaming scheduler may comprise more or fewer components than shown, or some components may be combined, some components may be split, or a different arrangement of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The above information interaction and execution process between the units in the network stream transmission scheduling apparatus are based on the same concept as the method embodiment of the present invention, and specific contents may refer to the description in the method embodiment of the present invention, and are not described herein again.
The present invention also provides a computer-readable medium storing instructions for causing a computer to perform a network stream transmission scheduling method as described herein. Specifically, a system or an apparatus equipped with a storage medium on which software program codes that realize the functions of any of the above-described embodiments are stored may be provided, and a computer (or a CPU or MPU) of the system or the apparatus is caused to read out and execute the program codes stored in the storage medium.
In this case, the program code itself read from the storage medium can realize the functions of any of the above-described embodiments, and thus the program code and the storage medium storing the program code constitute a part of the present invention.
Examples of the storage medium for supplying the program code include a floppy disk, a hard disk, a magneto-optical disk, optical disks (e.g., CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD + RW), magnetic tape, a nonvolatile memory card, and a ROM. Alternatively, the program code may be downloaded from a server computer by a communications network.
Further, it should be clear that the functions of any one of the above-described embodiments may be implemented not only by executing the program code read out by the computer, but also by causing an operating system or the like operating on the computer to perform a part or all of the actual operations based on instructions of the program code.
Further, it is to be understood that the program code read out from the storage medium is written to a memory provided in an expansion board inserted into the computer or to a memory provided in an expansion unit connected to the computer, and then causes a CPU or the like mounted on the expansion board or the expansion unit to perform part or all of the actual operations based on instructions of the program code, thereby realizing the functions of any of the above-described embodiments.
The various embodiments of the invention have at least the following advantages:
1. the scheme provided by the invention realizes better simulation of the discrete and random characteristics of the Ethernet flow by setting the scheduling array, achieves the uniformity of scheduling of each flow by introducing a randomization algorithm, and schedules any flow with equal probability in one round of scheduling, thereby realizing fair scheduling of network flows.
2. In the embodiment of the invention, a fair scheduling method is realized through randomization and probability theory, and the scheduling method can better simulate the discrete and random characteristics of Ethernet traffic.
3. In the embodiment of the invention, the quality of the network transmission quality of each transmission path can be judged more intuitively, conveniently and accurately by a plurality of network state parameters in a parameter numeralization mode.
It should be noted that not all steps and modules in the above flows and system structure diagrams are necessary, and some steps or modules may be omitted according to actual needs. The execution order of the steps is not fixed and can be adjusted as required. The system structure described in the above embodiments may be a physical structure or a logical structure, that is, some modules may be implemented by the same physical entity, or some modules may be implemented by a plurality of physical entities, or some components in a plurality of independent devices may be implemented together.
In the above embodiments, the hardware unit may be implemented mechanically or electrically. For example, a hardware element may comprise permanently dedicated circuitry or logic (such as a dedicated processor, FPGA or ASIC) to perform the corresponding operations. The hardware elements may also comprise programmable logic or circuitry, such as a general purpose processor or other programmable processor, that may be temporarily configured by software to perform the corresponding operations. The specific implementation (mechanical, or dedicated permanent, or temporarily set) may be determined based on cost and time considerations.
While the invention has been shown and described in detail in the drawings and in the preferred embodiments, the invention is not limited to the embodiments disclosed, and those skilled in the art will appreciate that various combinations of code auditing means in the various embodiments described above may be employed to obtain further embodiments of the invention, which are also within the scope of the invention.
Claims (10)
1. The network flow transmission scheduling method is characterized by comprising the following steps:
determining at least two network flows which need to be transmitted currently and are in sequence;
determining a proportional relation of the number of data packets contained in the at least two network flows;
Obtaining a reference number according to a proportional coefficient corresponding to each network flow in the proportional relationship, and creating a scheduling array according to the reference number;
filling the sequence numbers of the at least two network flows as elements into the scheduling array in sequence, wherein the number of the sequence number of each network flow in the scheduling array is the same as the number of the data packets contained in the sequence number;
obtaining a scheduling result through a randomization algorithm according to the scheduling array;
and transmitting the at least two network flows according to the scheduling result.
2. The method of claim 1,
the obtaining a reference number according to the scaling factor corresponding to each network flow in the proportional relationship and creating a scheduling array according to the reference number includes:
rounding each of the scaling coefficients;
adding each of the proportional coefficients to obtain a reference number;
creating the scheduling array with the element number being the value of the reference number.
3. The method of claim 2,
the obtaining of the scheduling result through a randomization algorithm according to the scheduling array includes:
s1: the position of each element in the scheduling array is represented by A [ n ], wherein n is more than or equal to 0 and less than or equal to a-1, and a is the numerical value of the reference number initially;
S2: generating a random number in an interval of [0, a-1], and randomly determining an element exchange position with an element with the position of A [ a-1] from the scheduling array according to the value of the random number;
s3: judging whether the value of a-1 is larger than a/2, if so, executing the step S1 by taking the value of a-1 as a; and if not, taking the position of each current element as the scheduling result.
4. The method of claim 3,
the transmitting the at least two network flows according to the scheduling result includes:
determining the sequence number sequence of the at least two network flows in each element in the scheduling result, and determining the transmission sequence of the at least two network flows;
determining the number of unit data packets with the proportionality coefficient of 1 according to the proportionality coefficients of the at least two network flows;
and transmitting the at least two network flows according to the transmission sequence, wherein the data packets of the unit number of packets of the network flow corresponding to the element at the current position are transmitted in each transmission.
5. The method of claim 1,
the transmitting the at least two network flows comprises:
detecting the network transmission quality of all transmission paths reaching a target server;
Selecting and recording a plurality of alternative transmission paths in all the transmission paths according to the network transmission quality;
when a target network flow pointing to the target server is received, selecting a target transmission path from a plurality of recorded alternative transmission paths according to a user side identifier carried in the target network flow;
and transmitting the network traffic through the target transmission path.
6. The network stream transmission scheduling apparatus according to any one of claims 1 to 5, comprising:
a determining unit, configured to determine at least two network flows that need to be transmitted currently and are in sequence; determining a proportional relation of the number of data packets contained in the at least two network flows;
the creating unit is used for obtaining a reference number according to the proportional coefficient corresponding to each network flow in the proportional relationship and creating a scheduling array according to the reference number;
the processing unit is used for filling the sequence numbers of the at least two network flows as elements into the scheduling array in sequence, wherein the number of the sequence numbers of each network flow in the scheduling array is the same as the number of data packets contained in the sequence numbers; obtaining a scheduling result through a randomization algorithm according to the scheduling array;
And transmitting the at least two network flows according to the scheduling result.
7. The apparatus of claim 6,
the creating unit, when executing the reference number obtained according to the scaling factor corresponding to each network flow in the proportional relationship and creating the scheduling array according to the reference number, specifically executes:
rounding each of the scaling factors;
adding each of the proportional coefficients to obtain a reference number;
creating the scheduling array with the element number being the value of the reference number.
8. The apparatus of claim 7,
the processing unit, when executing the scheduling result obtained by the randomization algorithm according to the scheduling array, specifically executes:
s1: the position of each element in the scheduling array is represented by A [ n ], wherein n is more than or equal to 0 and less than or equal to a-1, and a is the numerical value of the reference number initially;
s2: generating a random number in an interval of [0, a-1], and randomly determining an element exchange position with an element with the position of A [ a-1] from the scheduling array according to the value of the random number;
s3: judging whether the value of a-1 is larger than a/2, if so, executing the step S1 by taking the value of a-1 as a; and if not, taking the position of each current element as the scheduling result.
9. A network flow transmission scheduling apparatus, comprising: at least one memory and at least one processor;
the at least one memory to store a machine readable program;
the at least one processor, configured to invoke the machine readable program, to perform the method of any of claims 1 to 5.
10. Computer readable medium, characterized in that it has stored thereon computer instructions which, when executed by a processor, cause the processor to carry out the method of any one of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011519000.4A CN112737941B (en) | 2020-12-21 | 2020-12-21 | Network flow scheduling method, device and computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011519000.4A CN112737941B (en) | 2020-12-21 | 2020-12-21 | Network flow scheduling method, device and computer readable medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112737941A CN112737941A (en) | 2021-04-30 |
CN112737941B true CN112737941B (en) | 2022-05-24 |
Family
ID=75604131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011519000.4A Active CN112737941B (en) | 2020-12-21 | 2020-12-21 | Network flow scheduling method, device and computer readable medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112737941B (en) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1203688C (en) * | 2003-05-16 | 2005-05-25 | 上海交通大学 | Fluid track dispatching method |
US9237086B2 (en) * | 2008-05-30 | 2016-01-12 | Genband Us Llc | Methods and apparatus for network traffic distribution based on random number values |
CN102035737A (en) * | 2010-12-08 | 2011-04-27 | 北京交通大学 | Adaptive load balancing method and device based on cognitive network |
CN102752202B (en) * | 2012-06-29 | 2015-03-11 | 华为技术有限公司 | Queue scheduling method and system |
US9336058B2 (en) * | 2013-03-14 | 2016-05-10 | International Business Machines Corporation | Automated scheduling management of MapReduce flow-graph applications |
CN103338159B (en) * | 2013-06-19 | 2016-08-10 | 华为技术有限公司 | Polling dispatching implementation method and device |
CN104125167A (en) * | 2014-07-24 | 2014-10-29 | 海信集团有限公司 | Flow control method and device |
CN108306717B (en) * | 2018-01-30 | 2019-03-15 | 平安科技(深圳)有限公司 | Data transmission method, server and storage medium |
CN110061929B (en) * | 2019-03-10 | 2021-12-28 | 天津大学 | Data center load balancing method for asymmetric network |
CN110290178A (en) * | 2019-05-30 | 2019-09-27 | 厦门网宿有限公司 | A kind of dispatching method of data flow, electronic equipment and storage medium |
-
2020
- 2020-12-21 CN CN202011519000.4A patent/CN112737941B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN112737941A (en) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100098087A1 (en) | Traffic Generator Using Parallel Coherent Transmit Engines | |
CN105379220B (en) | For correcting the method and integrated circuit related with same of the timestamp in multichannel communication multiple telecommunication link | |
US20080107104A1 (en) | Generic Packet Generation | |
US20140126387A1 (en) | Endpoint selection in a network test system | |
CN107508719A (en) | Measure the method, apparatus and network node of network delay | |
JP2009514293A (en) | Router and routing network | |
CN112714041B (en) | TTE switch capacity test method, device and computer readable medium | |
US8654654B2 (en) | Traffic distribution control | |
US20040095885A1 (en) | Priority queuing method and apparatus | |
CN106911927B (en) | Method and device for evaluating experience quality of network video user and DPI equipment | |
CN111416765A (en) | Interactive message processing method and device | |
CN112737941B (en) | Network flow scheduling method, device and computer readable medium | |
CN110147410A (en) | Data verification method, system, device and equipment in a kind of piece of chain type account book | |
CN109871332A (en) | Method, device and equipment for generating multifunctional ammeter communication protocol test case | |
US6434718B1 (en) | Error protection method and error protection device | |
CN110019974A (en) | Implementation method and device are bored under chart | |
US6597694B1 (en) | System and method for generating bulk calls and emulating applications | |
CN106535241B (en) | Dynamic network simulation method and device | |
CN106453064B (en) | A kind of message propagating method, device, server and system | |
US20130339538A1 (en) | Generating packets with low overhead or selectable sequence number generation | |
CN103731360B (en) | A kind of ethernet mac frame data processing method and processing device | |
KR20170134493A (en) | Content placement, scaling, and telemetry | |
KR101964854B1 (en) | Method and apparatus for generating numeric authentication code | |
CN114124761B (en) | Electronic device, system, method and medium for bandwidth consistency verification | |
Ivanovici | Computer Network Emulation for Quality of Experience Assessment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |