CN116366563A - Data transmission method, system, electronic equipment and storage medium - Google Patents

Data transmission method, system, electronic equipment and storage medium Download PDF

Info

Publication number
CN116366563A
CN116366563A CN202310263737.1A CN202310263737A CN116366563A CN 116366563 A CN116366563 A CN 116366563A CN 202310263737 A CN202310263737 A CN 202310263737A CN 116366563 A CN116366563 A CN 116366563A
Authority
CN
China
Prior art keywords
tokens
packet
request
window
bandwidth
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.)
Pending
Application number
CN202310263737.1A
Other languages
Chinese (zh)
Inventor
杨明
侯叶飞
谢龙
王永
汪江波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202310263737.1A priority Critical patent/CN116366563A/en
Publication of CN116366563A publication Critical patent/CN116366563A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/525Queue scheduling by attributing bandwidth to queues by redistribution of residual bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling

Landscapes

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

Abstract

The application provides a data transmission method, a system, electronic equipment and a storage medium, wherein the method comprises the following steps: periodically refreshing the flow rate limit of each P4 device according to the historical statistical information of the P4 device cluster, wherein the flow rate limit comprises the number of tokens in a window, and the number of tokens in the window is used for representing the residual bandwidth size of the P4 device; setting default request ordering of each P4 device according to communication delay among the P4 devices; responding to an external data packet request, if the token number in a window corresponding to a first P4 device of the P4 device cluster is higher than a token number early warning line, subtracting the token number consumed by the external data packet from the token number of the first P4 device and processing the external data packet request according to the residual token number; otherwise, the first P4 device processes according to the default packet loss strategy. The method and the device do not depend on frequent control plane adjustment, can limit access traffic rate from the public network on finer time granularity, and do not affect high-speed data packet forwarding service of the P4 data plane.

Description

Data transmission method, system, electronic equipment and storage medium
Technical Field
The application belongs to the technical field of data transmission, and particularly relates to a data transmission method, a data transmission system, electronic equipment and a storage medium.
Background
With the development of software defined networking technologies (Software Defined Network, SDN), the programmable data plane (data plane) enables cloud network developers to develop custom protocols in a top-down manner. Protocol independent programming packet processor (Programming Protocol-independent Packet Processors, P4) languages are widely used in development. P4 may describe the forwarding behavior of the programmed data plane (data plane), providing a standardized way to describe how data packets are handled on a target-independent architecture. The P4 programmable switch has high performance, high throughput, can offload network stack operations and server workloads, and has a high degree of functional flexibility. Numerous cloud vendors have also introduced cloud gateway products based on P4 programmable switches. The cloud gateway is located between a virtual private cloud (Virtual Private Cloud, VPC) and a public network in a cloud network, and its main functions include: switching and forwarding between the underlying physical network and the upper virtual network, providing traffic shaping, etc. For the speed limiting problem of the multi-activity P4 programmable switch gateway, the problems of insufficient precision and uneven speed limiting exist at present.
Disclosure of Invention
In view of the above-mentioned shortcomings of the related art, the present application provides a data transmission method, system, electronic device and storage medium, which can provide a self-adaptive reliable bandwidth limiting service in an uneven access traffic environment, and at the same time, do not affect normal processing and forwarding of legal data packets on P4 devices.
In a first aspect, the present application provides a data transmission method, including: periodically refreshing the flow rate limit of each P4 device according to the historical statistical information of the P4 device cluster, wherein the flow rate limit comprises the number of tokens in a window, and the number of tokens in the window is used for representing the residual bandwidth size of the P4 device;
setting default request ordering of each P4 device according to communication delay among the P4 devices;
responding to an external data packet request, if the token number in a window corresponding to a first P4 device of the P4 device cluster is higher than a token number early warning line, subtracting the token number consumed by the external data packet from the token number of the first P4 device and processing the external data packet request according to the residual token number; otherwise, the first P4 device processes according to the default packet loss strategy.
Further, in some embodiments of the present application, subtracting the number of tokens consumed by the external data packet from the number of tokens of the first P4 device and processing the external data packet request according to the remaining number of tokens specifically includes:
if the residual token number of the first P4 device is higher than the token number early warning line, the first P4 device forwards an external data packet request;
otherwise, the first P4 device sends a bandwidth request packet to the second P4 device according to the default request sequence.
Further, in some embodiments of the present application, the method further comprises: responsive to the first P4 device sending bandwidth request packets to the second P4 device in a default request ordering,
if the number of tokens in the window of the second P4 device meets the bandwidth request packet, the second P4 device sends a bandwidth response packet to the first P4 device;
otherwise, the second P4 device judges whether the number of tokens in the window is higher than a token number early warning line.
Further, in some embodiments of the present application, the second P4 device determines whether the number of tokens in the window is higher than the token number early warning line:
if yes, the second P4 device sends a bandwidth request packet to the third P4 device according to the default request sequence and sends a bandwidth response packet to the first P4 device;
if not, the second P4 device discards the bandwidth request packet sent by the first P4 device.
Further, in some embodiments of the present application, the data transmission method further includes that the first P4 device receives a bandwidth response packet sent by the second P4 device, and the number of tokens in a window of the first P4 device increases the number of tokens corresponding to the bandwidth response packet.
Further, in some embodiments of the present application, the method further includes: the default packet loss strategy is as follows:
if the number of tokens in the window of the P4 device is lower than the token number early warning line, checking whether the bandwidth request is overtime:
if the bandwidth request is not overtime, discarding the data packet according to probability;
otherwise, the packet is discarded directly.
Further, in some embodiments of the present application, the probability is:
Figure BDA0004134671500000031
wherein Q is packet loss probability, i is a positive integer, and represents the sequence number of the P4 device in the P4 device cluster, d i The token number early warning line is the ith P4 device, k is the token number in the window and the token number early warning line d i The difference, representing the number of tokens sent over the alert line, b represents the exponent progressive factor, h i Is a loose factor for adjusting the expected value of the final number of superhair packets.
In a second aspect, the present application provides a data transmission system comprising:
the bandwidth limiting module is used for periodically refreshing the flow rate limit of each P4 device according to the historical statistical information of the P4 device cluster, wherein the flow rate limit comprises the number of tokens in a window, and the number of tokens in the window is used for representing the residual bandwidth size of the P4 device;
the bandwidth forwarding module is used for setting default request ordering of each P4 device according to communication delay among the P4 devices;
and the bandwidth response module is used for responding to the external data packet request, if the number of tokens in the window corresponding to the first P4 device of the P4 device cluster is higher than the token number early warning line, subtracting the number of tokens consumed by the external data packet from the token number of the first P4 device, otherwise, processing the first P4 device according to the default packet loss strategy.
In a third aspect, there is provided an electronic device comprising:
a processor, a memory, wherein,
the memory is used for storing a computer program,
the processor is configured to call and run the computer program from the memory, so that the electronic device performs the method of the electronic device described above.
In a fourth aspect, there is provided a computer storage medium having instructions stored therein which, when run on a computer, cause the computer to perform the method of the above aspects.
Therefore, the data processing method in the application forwards the external data access request according to the token number of the P4 devices through the default request ordering among the P4 devices, and performs packet loss processing according to the default probability, and does not depend on frequent control plane adjustment, so that the flow rate of accessing the VPC from the public network can be limited on finer time granularity, and meanwhile, the high-speed data packet forwarding service of the P4 data plane (data layer) is not influenced. Compared with other speed limiting methods which do not depend on control surface adjustment, the speed limiting method has higher accuracy.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the related art, the drawings that are required to be used in the description of the embodiments or the related technologies will be briefly described below, and it will be obvious to those skilled in the art that other drawings may be obtained according to these drawings without inventive effort.
Fig. 1 is a schematic diagram of a related art data plane P4 network management cluster current limiting application scenario;
FIG. 2 is a related art data center network control plane and data plane analysis architecture;
FIG. 3 is a schematic diagram of a data transmission method in some embodiments of the present application;
FIG. 4 is an overall flow chart of a data transmission method in some embodiments of the present application;
FIG. 5 is an internal flow chart of a data transmission method in some embodiments of the present application;
FIG. 6 is a simulation diagram of the effect of applying the data transmission method of the present application;
FIG. 7 is a schematic block diagram of a data transmission system of one embodiment of the present application;
fig. 8 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to better understand the technical solutions in the present application, the following description will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art based on the embodiments herein without making any inventive effort, shall fall within the scope of the present application.
Some of the relevant abbreviations and key terms in this application are defined as follows:
GW (Gateway);
SDN (Software Defined Network );
p4 (Programming Protocol-independent Packet Processors, protocol independent programming packet processor);
VPC (Virtual Private Cloud );
RL (Rate Limiting), traffic Rate limit);
GRD (Global Random Drop, global random packet loss method);
with the development of software defined networking technologies (Software Defined Network, SDN), the programmable data plane (data plane) enables cloud network developers to develop custom protocols in a top-down manner. Protocol independent programming packet processor (Programming Protocol-independent Packet Processors, P4) languages are widely used in development. P4 may describe the forwarding behavior of the programmed data plane (data plane), providing a standardized way to describe how data packets are handled on a target-independent architecture. The P4 programmable switch has high performance, high throughput, can offload network stack operations and server workloads, and has a high degree of functional flexibility. Numerous cloud vendors have also introduced cloud gateway products based on P4 programmable switches.
Fig. 1 is a schematic diagram of a related art data plane P4 network management cluster current limiting application scenario. As shown in fig. 1, the cloud gateway is located between the virtual private cloud (Virtual Private Cloud, VPC) and the public network in the cloud network, and its main functions include: switching and forwarding between the underlying physical network and the upper virtual network, providing traffic shaping, etc. For the speed limiting problem of the multi-activity P4 programmable switch gateway, the problems of insufficient precision and uneven speed limiting exist at present. The challenge is to adjust the forwarding behavior of each P4 device in time according to the traffic variation. Traffic from the VPC to the public network is generally easy to be uniformly distributed to each multi-active P4 device through load balancing, but traffic from the public network to the interior of the VPC needs to be routed to a certain P4 device, so that the traffic is unevenly distributed on each P4 device, and a traffic model is difficult to estimate in advance, so that accurate current limiting through a distributed method is difficult.
Fig. 2 is a related art data center network control plane and data plane analysis architecture. As shown in fig. 2, under the existing SDN framework, the network is divided into a control plane (control layer) and a data plane (data layer). The control plane (control layer) may communicate with the P4 programmable switch cluster through the management network and dynamically adjust its forwarding behavior to achieve rate limiting. However, this communication takes a long time, and the information timeliness is delayed, so that it is difficult to accurately implement the rate limiting function of the multi-active P4 device at a fine time granularity.
On the other hand, the distributed rate limiting method in the related art, the global random packet loss (Global Random Drop, GRD) method proposed in the related art, faces the challenge of inaccurate regulation and control in the case that it is difficult to estimate the traffic access characteristics in advance, as shown in fig. 6 (b). While the distributed current limiting method applied to the cluster of the general server (such as x 86), in some related technologies, a synchronous message is required to inform the traffic state of each node, so that the rate limitation is inaccurate at a finer time granularity. The control protocol of the method is divided into a token bucket module, a message processing module and a synchronization module, the protocol logic is complex, the implementation of P4 is not friendly, and the method is not suitable for commercial P switch equipment designed for high-speed forwarding.
Fig. 3 is a schematic diagram of a data transmission method according to some embodiments of the present application, fig. 4 is an overall flowchart of the data transmission method according to some embodiments of the present application, and fig. 5 is an internal flowchart of the data transmission method according to some embodiments of the present application. As shown in fig. 3, the improvement of the related art speed limiting method and the distributed speed limiting method of the general server cluster can be divided into two stages:
the first stage, during system initialization, the control plane splits the flow rate limit R into R according to the historical statistical information collected from each P4 device 1 ,R 2 ,…,R N Respectively issuing to N P4 devices in the form of a flow table. Wherein R is 1 ,R 2 ,…,R N The sum is R. The control plane pushes a default request ordering P for each P4 device in the form of a flow table 1 ,P 2 ,…,P N 。P i Is the ordering of the other N-1P 4 devices than push device i. The lower the delay of communication between a P4 device and device i, the more it is at P i The more forward the middle.
In the second stage, each P4 device processes access traffic from the public network to the VPC according to a local speed limiting algorithm. In this phase, the control plane monitors the system for a long period of time T, re-splits the traffic based on the statistics
Figure BDA0004134671500000071
R。
As shown in fig. 4, the local speed limiting algorithm of each P4 device in the second stage is described in detail as follows:
first, a timer timeout s is set i . Limiting the local speed by R based on token bucket speed limiting method i Refinement to token bucket window time t i (t i Greater than 2s i But much smaller than T) and the number of tokens in the window K) i (in P4 programming, token count statistics are implemented in the form of a counter, one token corresponding to 1 byte). In addition, a warning line d is arranged i If the number of tokens is lower than the early warning line, the P4 device is triggered to send a bandwidth request packet.
Second, consider a packet coming in from the P4 device ingress:
if the data packet is required to be subjected to rate monitoring, continuing to execute the third step;
if the data packet is a bandwidth request packet from other devices, jumping to a fourth step;
if the data packet is a response packet of the bandwidth request packet sent by the user, the fifth step is skipped.
Third step, on one hand, if the number of tokens in the token counter is still higher than the pre-warning line d i The number of tokens consumed by the received packet is subtracted from the token counter and the packet is forwarded. If the number of the remaining tokens is found to be smaller than the early warning line d i Then order P locally i The middle-front W P4 device multicasts the bandwidth request packet and starts the local timer. The number of tokens required is specified in the bandwidth request packet and is equal to the number of tokens
Figure BDA0004134671500000072
H j Is the total number of tokens that have been allowed to be consumed by the packet within the current window. Its transmitting source is the equipment j generating alarm, and its target is ordering P j In (may be implemented in P4 in multicast form).
On the other hand, if the number of tokens in the token counter is already greater than the pre-warning line d at the time of receipt of the data packet i Low, it is checked first whether the timer has timed out. If the timer has not expired, the packet is discarded with probability Q, which can be set to mimic the strategy of active queue management, such as a packet loss function
Figure BDA0004134671500000081
Where k is a counter and d i The difference, representing the number of tokens sent beyond the alert line, b represents an exponential progression factor, the smaller b, the more sensitive the system is to alerts,the packet loss probability is faster increased to (1), h i Is a loose factor that is set to adjust the expected value of the final number of superhair packets. If the timer has expired, the packet is discarded directly.
It should be noted that, because the P4 device is not good at performing real number operation, the implementation of the packet loss policy is that the value of the continuous function (1) is calculated by the controller at the point in the first stage and is issued to each P4 device in the form of a flow table, and when the network function is developed on the P4 device, it is inconvenient to implement floating point operation, complex branch judgment, loop control, and the like. Therefore, the packet loss function (1) is calculated by the controller according to the Latin hypercube sampling according to the change characteristics of (1) in the first stage. The result of the sampling calculation is distributed to each P4 device in the form of a table while the controller issues the flow table. The P4 device also adopts a Match-Action form to quickly check a pre-calculated probability table to determine whether to discard the data packet. In other words, s of each P4 device can be made i 、t i 、d i And h i The parameters are determined by the controller in a first stage based on historical information. Ordering is also delivered to the P4 forwarding devices by setting the form of multicast packets. When random discarding is performed, an algorithm for generating random numbers is needed, and a hash method adopting a P4 pipeline can be used for realizing the random number generation algorithm with approximately uniform distribution.
Finally, because the control plane will periodically initialize the system and will need to collect historical data to determine new rounds of method parameters, an efficient data acquisition mechanism must be provided. The data plane network information summarizing and analyzing method can be based on a network monitoring system (such as Barefoot Deep Insight and the like) which is deployed together with the P4 equipment.
Fourth, as shown in fig. 5, the device i receives the bandwidth request packet from the device j. If i is enough to meet the requirement of j, a response packet is sent, the sending source is device i, the target is device j, and the packet contains the number of the receiving tokens
Figure BDA0004134671500000091
And order
Figure BDA0004134671500000092
If i itself remains insufficient in number of tokens to meet j's requirement but does not reach the alert line d i Then only d is reserved i A token, the rest X i The token is received by j, and the response packet is sent and set
K i =K i -X i
At the same time, similar to the third step, order P locally i The middle-front W P4 device multicasts the bandwidth request packet and starts the local timer. If i remains below the alert line, the request packet is discarded and not acknowledged.
Fifth, the device i receives the reply packet of the bandwidth request packet sent before itself, wherein the reply packet contains the number X of the reception tokens, and then the token counter is increased by X, and the token counter is made to be the same as the reply packet
K i =K i +X i .
It should be further noted that the data transmission method in the present application should make adjustments in implementation when facing P4 devices with different architectures (Architecture).
Fig. 6 is a simulation diagram of the effect of applying the data transmission method of the present application. The blue line is the total traffic (9 Gbps) of the Internet access data center intranet, the black line is the speed limit requirement (3 Gbps) of the gateway, and the red line is the actual traffic after the speed limit of the gateway. In fig. 6 (a), in the case of random multipoint access by clients, the gateway speed limit is performed by using the GRD method, so that the effect is ideal. In the case of single point access by the client, the GRD method is used to limit the speed of the gateway in fig. 6 (b), which is not effective, mainly because it is limited by a single point. Fig. 6 (c) shows that the effect is ideal when the gateway speed limit is performed by using the method in the case of random multipoint clients. In fig. 6 (d), in the case of client single point access, the gateway speed limit is performed by using the method of the present application, and the effect is ideal.
The method and the device do not depend on frequent control plane adjustment, so that the traffic rate of accessing the VPC from the public network can be limited on finer time granularity, and meanwhile, the high-speed data packet forwarding service of the P4 data plane (data layer) is not affected. Compared with other speed limiting methods which do not depend on control surface adjustment, the speed limiting method has higher accuracy.
According to another aspect of the embodiments of the present application, there is also provided a system for implementing the above data transmission method, as shown in fig. 7, the system 200 includes:
a bandwidth limiting module 210, configured to periodically update a traffic rate limit of each P4 device according to historical statistics of the P4 device cluster, where the traffic rate limit includes a number of tokens in a window, and the number of tokens in the window is used to represent a remaining bandwidth size of the P4 device;
a bandwidth forwarding module 220, configured to set a default request ordering of each P4 device according to a communication delay between each P4 device;
the bandwidth response module 230 is configured to respond to the external data packet request, if the number of tokens in the window corresponding to the first P4 device of the P4 device cluster is higher than the token number early warning line, subtracting the number of tokens consumed by the external data packet from the token number of the first P4 device, otherwise, the first P4 device processes according to the default packet loss policy.
Fig. 8 is a schematic structural diagram of an electronic device 300 according to an embodiment of the present application, where the electronic device 300 may be used to execute the data transmission method according to the embodiment of the present application.
Wherein the electronic device 300 may include: a processor 310, a memory 320 and a communication unit 330. The components may communicate via one or more buses, and those skilled in the art will appreciate that the structure of the server as shown in the figures is not limiting of the application, as it may be a bus-like structure, a star-like structure, or include more or fewer components than shown, or a combination of certain components, or a different arrangement of components.
The memory 320 may be used to store the execution instructions of the processor 310, and the memory 320 may be implemented by any type or combination of volatile or nonvolatile memory electronics, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk. The execution of the instructions in memory 320, when executed by processor 310, enables electronic device 300 to perform some or all of the steps in the method embodiments described below.
Processor 310 is a control center for the storage of electronic devices, connects various portions of the overall electronic device using various interfaces and lines, and performs various functions of the electronic device and/or processes data by running or executing software programs and/or modules stored in memory 320, and invoking data stored in memory. The processor may be comprised of an integrated circuit (Integrated Circuit, simply referred to as an IC), for example, a single packaged IC, or may be comprised of a plurality of packaged ICs connected to the same function or different functions. For example, the processor 310 may include only a central processing unit (Central Processing Unit, simply CPU). In the embodiment of the application, the CPU may be a single operation core or may include multiple operation cores.
A communication unit 330 for establishing a communication channel so that the storage electronic device can communicate with other electronic devices. Receiving user data sent by other electronic devices or sending the user data to the other electronic devices.
The present application also provides a computer storage medium in which a program may be stored, which program may include some or all of the steps in the embodiments provided herein when executed. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), a random-access memory (random access memory, RAM), or the like.
Therefore, the preemption optimization method based on the divide-and-conquer idea is provided to improve the realizability, running speed and stability of the algorithm; according to the allocation scheme of the virtual machines in the server cluster on the host machines, a resource preemption formula of a single host machine and a resource preemption formula of the server cluster are provided; according to the occupation condition of the virtual machine to the host machine and the resource use condition of the host machine, a preemptive contribution degree formula of the single virtual machine to the host machine is provided; according to the general scene of offline preemption optimization, an acceleration convergence method of a preemption optimization algorithm is provided. The technical effects achieved by this embodiment may be referred to above, and will not be described herein.
It will be apparent to those skilled in the art that the techniques in the embodiments of the present application may be implemented in software plus the necessary general hardware platform. Based on such understanding, the technical solutions in the embodiments of the present application may be embodied essentially or in a part contributing to the related art in the form of a software product stored in a storage medium, such as a U-disc, a removable hard disk, a Read-Only Memory (ROM), a random-access Memory (RAM, random Access Memory), a magnetic disk or an optical disk, or other various media capable of storing program code, including several instructions for causing a computer electronic device (which may be a personal computer, a server, or a second electronic device, a network electronic device, etc.) to perform all or part of the steps of the data transmission method described in the embodiments of the present application.
The same or similar parts between the various embodiments in this specification are referred to each other. In particular, for the electronic device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference should be made to the description of the method embodiments for the matters.
In the several embodiments provided herein, it should be understood that the disclosed systems, and methods may be implemented in other ways. For example, the system embodiments described above are merely illustrative, e.g., the division of the elements is merely a logical functional division, and there may be additional divisions when actually implemented, e.g., multiple elements or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interface, system or unit indirect coupling or communication connection, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
Although the present application has been described in detail with reference to the accompanying drawings in connection with the preferred embodiments, the present application is not limited thereto. Various equivalent modifications and substitutions may be made by those skilled in the art without departing from the spirit and substance of the present application, and these modifications and substitutions should be within the scope of the present application/within the technical scope of the present application as disclosed by any person skilled in the art, and the present application is intended to cover all such modifications and substitutions as fall within the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

1. A data transmission method, comprising:
periodically refreshing the flow rate limit of each P4 device according to the historical statistical information of the P4 device cluster, wherein the flow rate limit comprises the number of tokens in a window, and the number of tokens in the window is used for representing the residual bandwidth size of the P4 device;
setting default request ordering of each P4 device according to communication delay among the P4 devices;
responding to an external data packet request, if the token number in a window corresponding to a first P4 device of the P4 device cluster is higher than a token number early warning line, subtracting the token number consumed by the external data packet from the token number of the first P4 device and processing the external data packet request according to the residual token number; otherwise, the first P4 device processes according to the default packet loss strategy.
2. The data transmission method according to claim 1, wherein subtracting the number of tokens consumed by the external data packet from the number of tokens of the first P4 device and processing the external data packet request according to the remaining number of tokens specifically comprises:
if the residual token number of the first P4 device is higher than the token number early warning line, the first P4 device forwards an external data packet request;
otherwise, the first P4 device sends a bandwidth request packet to the second P4 device according to the default request sequence.
3. The data transmission method according to claim 2, characterized in that the method further comprises: responsive to the first P4 device sending bandwidth request packets to the second P4 device in a default request ordering,
if the number of tokens in the window of the second P4 device meets the bandwidth request packet, the second P4 device sends a bandwidth response packet to the first P4 device;
otherwise, the second P4 device judges whether the number of tokens in the window is higher than a token number early warning line.
4. The data transmission method according to claim 3, wherein the second P4 device determines whether the number of tokens in its window is higher than a token number warning line:
if yes, the second P4 device sends a bandwidth request packet to the third P4 device according to the default request sequence and sends a bandwidth response packet to the first P4 device;
if not, the second P4 device discards the bandwidth request packet sent by the first P4 device.
5. The data transmission method according to one of claims 2 to 4, wherein the data transmission method further comprises the step that the first P4 device receives a bandwidth response packet sent by the second P4 device, and the number of tokens in a window of the first P4 device increases by the number of tokens corresponding to the bandwidth response packet.
6. The data transmission method according to claim 1, further comprising: the default packet loss strategy is as follows:
if the number of tokens in the window of the P4 device is lower than the token number early warning line, checking whether the bandwidth request is overtime:
if the bandwidth request is not overtime, discarding the data packet according to probability;
otherwise, the packet is discarded directly.
7. The data transmission method of claim 6, wherein the probability is:
Figure FDA0004134671480000021
wherein Q is packet loss probability, i is a positive integer, and represents the sequence number of the P4 device in the P4 device cluster, d i The token number early warning line is the ith P4 device, k is the token number in the window and the token number early warning line d i The difference, representing the number of tokens sent over the alert line, b represents the exponent progressive factor, h i Is a loose factor for adjusting the expected value of the final number of superhair packets.
8. A data transmission system, comprising:
the bandwidth limiting module is used for periodically refreshing the flow rate limit of each P4 device according to the historical statistical information of the P4 device cluster, wherein the flow rate limit comprises the number of tokens in a window, and the number of tokens in the window is used for representing the residual bandwidth size of the P4 device;
the bandwidth forwarding module is used for setting default request ordering of each P4 device according to communication delay among the P4 devices;
and the bandwidth response module is used for responding to the external data packet request, if the number of tokens in the window corresponding to the first P4 device of the P4 device cluster is higher than the token number early warning line, subtracting the number of tokens consumed by the external data packet from the token number of the first P4 device, otherwise, processing the first P4 device according to the default packet loss strategy.
9. An electronic device, comprising:
a processor;
a memory for storing execution instructions of the processor;
wherein the processor is configured to perform the method of any of claims 1-7.
10. A computer readable storage medium storing a computer program, which when executed by a processor implements the method of any one of claims 1-7.
CN202310263737.1A 2023-03-12 2023-03-12 Data transmission method, system, electronic equipment and storage medium Pending CN116366563A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310263737.1A CN116366563A (en) 2023-03-12 2023-03-12 Data transmission method, system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310263737.1A CN116366563A (en) 2023-03-12 2023-03-12 Data transmission method, system, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116366563A true CN116366563A (en) 2023-06-30

Family

ID=86927213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310263737.1A Pending CN116366563A (en) 2023-03-12 2023-03-12 Data transmission method, system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116366563A (en)

Similar Documents

Publication Publication Date Title
US10447594B2 (en) Ensuring predictable and quantifiable networking performance
EP3516833B1 (en) Methods, systems, and computer readable media for discarding messages during a congestion event
US11582163B2 (en) System for early system resource constraint detection and recovery
Chen et al. Reinforcement learning–based QoS/QoE‐aware service function chaining in software‐driven 5G slices
US11032205B2 (en) Flow control method and switching device
US20080019274A1 (en) Notifying network applications of receive overflow conditions
EP2838243B1 (en) Capability aggregation and exposure method and system
US10419965B1 (en) Distributed meters and statistical meters
JP7313480B2 (en) Congestion Avoidance in Slice-Based Networks
US10536385B2 (en) Output rates for virtual output queses
CN113364809A (en) Offloading network data to perform load balancing
US8780723B2 (en) Communication system and communication apparatus
M. Abdelmoniem et al. Reducing latency in multi-tenant data centers via cautious congestion watch
CN113328906B (en) Flow real-time monitoring method and device, storage medium and electronic equipment
CN111343290A (en) Cloud platform system with load balancing function
Khan et al. RecFlow: SDN-based receiver-driven flow scheduling in datacenters
CN116366563A (en) Data transmission method, system, electronic equipment and storage medium
Jarma et al. Dynamic service contract enforcement in service-oriented networks
Zhang et al. LearningCC: An online learning approach for congestion control
CN114338479B (en) Communication method, device and system
Meng et al. Demystifying and Mitigating TCP Capping
US20210216348A1 (en) Management of virtual machine applications based on resource usage by networking processes of a hypervisor
Chen et al. Transmission delay simulation for edge computing network with service integrating mode
He et al. Accurate and fast congestion feedback in MEC-enabled RDMA datacenters
CN116627642A (en) Method, apparatus, device and medium for managing access request of application

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