CN110300069B - Data transmission method, optimization device and system - Google Patents
Data transmission method, optimization device and system Download PDFInfo
- Publication number
- CN110300069B CN110300069B CN201810240673.2A CN201810240673A CN110300069B CN 110300069 B CN110300069 B CN 110300069B CN 201810240673 A CN201810240673 A CN 201810240673A CN 110300069 B CN110300069 B CN 110300069B
- Authority
- CN
- China
- Prior art keywords
- data
- scheduled
- scheduling
- message
- feedback information
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application discloses a data transmission method, an optimization device and a system, and belongs to the technical field of data transmission. The method comprises the following steps: the data optimization device receives feedback information sent by the data scheduling device, wherein the feedback information is used for reflecting the scheduling condition of the data scheduling device for the data message to be scheduled; configuring a target bandwidth according to the feedback information, wherein the target bandwidth is a rated data volume sent to the data scheduling device by the data optimization device in unit time; and sending the optimized data message to be scheduled to the data scheduling device based on the configured target bandwidth, wherein the optimized data message to be scheduled is the data message subjected to flow acceleration processing by the data optimization device. The method and the device effectively improve the utilization rate of the bandwidth, can ensure the effective transmission of other data messages, and further improve the flexibility of data transmission based on the TCP. The application is used for data transmission.
Description
Technical Field
The present invention relates to the field of data transmission technologies, and in particular, to a data transmission method, an optimization apparatus, and a system.
Background
The Transmission Control Protocol (TCP) is a connection-oriented, reliable and byte stream-based transport layer communication Protocol. When data transmission is performed based on a TCP protocol, due to the influence of factors such as bandwidth limitation and signal attenuation, the transmitted data may have situations such as packet loss and delay, so that the throughput of a TCP connection performing data transmission is reduced, and data transmission for high throughput application is influenced. Wherein the throughput rate of the TCP connection refers to an average transmission rate of data successfully transmitted through the TCP connection per unit time.
In the related art, data of a high-throughput application is screened out from data to be transmitted, and the data is subjected to flow acceleration processing (usually including data optimization processing such as deduplication to reduce the data amount), and then the data subjected to the flow acceleration processing is transmitted to a queue scheduler, so that data transmission with a large data amount is realized on a small bandwidth, the actual throughput of a TCP connection is improved, and data transmission of the high-throughput application is realized, for example: the size of data to be transmitted applied by a certain high throughput rate is 100 million, after the data is subjected to flow acceleration processing, the size of the data subjected to acceleration processing is 10 million, and then the data to be transmitted can be transmitted on a bandwidth of 10 bits/second (bit/s), so that the data transmission with larger data volume is realized on a smaller bandwidth. The queue scheduler is used for adding data to be transmitted into the scheduling queue and distributing data volume for data transmission to the scheduling queue so as to realize data transmission of the data to be transmitted.
Generally, the data to be transmitted of the TCP control system further includes data that does not need to be processed in an accelerated manner (i.e. data that needs to be transmitted in a conventional manner, which will be referred to as other data hereinafter for simplicity of description). In data transmission, in order to ensure effective transmission of data and other data of the high throughput application, a bandwidth threshold is generally configured for the accelerated data, so as to limit a bandwidth occupied by the accelerated data in a data transmission process to be not more than the bandwidth threshold, and transmit other data by using a bandwidth not occupied by the accelerated data, thereby ensuring that the data and other data of the high throughput application can be transmitted.
However, current TCP-based data transmission is less flexible.
Disclosure of Invention
The application provides a data transmission method, an optimization device and a system, which can solve the problem of lower data transmission flexibility based on TCP in the related technology, and the technical scheme provided by the application is as follows:
in a first aspect, the present application provides a data transmission method, including: the data optimization device receives feedback information sent by the data scheduling device, wherein the feedback information is used for reflecting the scheduling condition of the data scheduling device for the data message to be scheduled; configuring a target bandwidth according to the feedback information, wherein the target bandwidth is a rated data volume sent to the data scheduling device by the data optimization device in unit time; and sending the optimized data message to be scheduled to the data scheduling device based on the configured target bandwidth, wherein the optimized data message to be scheduled is the data message subjected to flow acceleration processing by the data optimization device.
According to the data transmission method, the data optimization device configures the target bandwidth according to the feedback information sent by the data scheduling device, and the feedback information is used for reflecting the scheduling condition of the data scheduling device on the data message to be scheduled, compared with the related technology, the data optimization device can adjust the rated data volume sent to the data scheduling device in unit time according to the real condition of the network, the optimized data message to be scheduled can be restrained from excessively occupying the bandwidth, the optimized data message to be scheduled can fully utilize the unoccupied bandwidth, the utilization rate of the bandwidth is effectively improved, the effective transmission of other data messages can be guaranteed, and the data transmission flexibility based on the TCP is further improved.
The implementation of configuring the target bandwidth according to the feedback information may include: when the feedback information represents that a parameter value required by a queue to be scheduled of the data scheduling device is larger than a rated parameter value of the data scheduling device, reducing the target bandwidth, wherein the parameter value is bandwidth or queue length; and when the feedback information represents that the parameter value required by the queue to be scheduled of the data scheduling device is smaller than the rated parameter value of the data scheduling device, increasing the target bandwidth.
And, in order to ensure effective transmission of the optimized data packet to be scheduled, when the parameter value required by the feedback information representing the queue to be scheduled of the data scheduling apparatus is greater than the rated parameter value of the data scheduling apparatus, reducing the target bandwidth includes: when the feedback information represents that a parameter value required by a queue to be scheduled of the data scheduling device is larger than a rated parameter value of the data scheduling device, if a target data message comprises a data message sent to the data scheduling device by the data optimization device, reducing the target bandwidth, wherein the target data message is the data message exceeding the rated parameter value in the queue to be scheduled.
When the target data message comprises a data message sent by the data optimization device to the data scheduling device, it can be determined that the data scheduling device cannot perform effective scheduling actually due to the fact that the bandwidth occupied by the optimized data message to be scheduled is too large, so that the target bandwidth can be reduced, the bandwidth occupied by the optimized data message to be scheduled is reduced, and the data scheduling device can be further ensured to perform effective scheduling on the optimized data message to be scheduled and other data messages.
Optionally, before the sending, to the data scheduling apparatus, the optimized data packet to be scheduled based on the configured target bandwidth, the method further includes: receiving a data message to be accelerated sent by a data distribution device; and carrying out flow acceleration processing on the data message to be accelerated to obtain an optimized data message to be scheduled.
Further, after the traffic acceleration processing is performed on the data packet to be accelerated, the method further includes: and adding an optimization mark for the optimized data message to be scheduled, wherein the optimization mark is used for distinguishing the optimized data message to be scheduled from other data messages.
As a possible implementation manner, the optimization flag is carried in the description information corresponding to the optimized data packet to be scheduled.
Optionally, if the target data packet includes a data packet sent by the data optimization device to the data scheduling device, the method includes: and when the description information corresponding to the target data message carries an optimization mark, determining that the target data message comprises the data message sent by the data optimization device to the data scheduling device, wherein the optimization mark is a mark added after the flow acceleration processing is performed on the data message to be accelerated.
In a second aspect, the present application provides a data transmission method, including: the data scheduling device acquires the scheduling condition of the data message to be scheduled by the data scheduling device; and sending feedback information to the data optimization device based on the scheduling condition, wherein the feedback information is used for configuring a target bandwidth for the data optimization device, and the target bandwidth is the rated data volume sent to the data scheduling device by the data optimization device in unit time.
According to the data transmission method, the data optimization device configures the target bandwidth according to the feedback information sent by the data scheduling device, and the feedback information is used for reflecting the scheduling condition of the data scheduling device on the data message to be scheduled, compared with the related technology, the data optimization device can adjust the rated data volume sent to the data scheduling device in unit time according to the real condition of the network, the optimized data message to be scheduled can be restrained from excessively occupying the bandwidth, the optimized data message to be scheduled can fully utilize the unoccupied bandwidth, the utilization rate of the bandwidth is effectively improved, the effective transmission of other data messages can be guaranteed, and the data transmission flexibility based on the TCP is further improved.
In a possible implementation manner, the bandwidth required by the queue to be scheduled of the data scheduling apparatus and the rated bandwidth of the data scheduling apparatus characterize the scheduling condition; the sending feedback information to the data optimization device based on the scheduling condition includes: when the bandwidth required by the queue to be scheduled is larger than the rated bandwidth, sending feedback information representing that the bandwidth required by the queue to be scheduled is larger than the rated bandwidth to the data optimization device; and when the bandwidth required by the queue to be scheduled is smaller than the rated bandwidth, sending feedback information representing that the bandwidth required by the queue to be scheduled is smaller than the rated bandwidth to the data optimization device.
In another possible implementation manner, a message discarding condition of a queue to be scheduled of the data scheduling apparatus represents the scheduling condition; the sending feedback information to the data optimization device based on the scheduling condition includes: when the message of the queue to be scheduled is discarded, sending feedback information representing that the queue length required by the queue to be scheduled is larger than the queue length available to the data scheduling device to the data optimization device; and when the message discarding does not occur in the queue to be scheduled, sending feedback information representing that the queue length required by the queue to be scheduled is smaller than the queue length available to the data scheduling device to the data optimization device.
When the data scheduling device cannot effectively schedule the data messages in the queue to be scheduled, the data scheduling device discards some messages in the queue to be scheduled, so that the scheduling condition of the data scheduling device on the data can be reflected by at least one of the bandwidth required by the queue to be scheduled, the queue length of the queue to be scheduled, message discarding information and a message discarding rate, and therefore, the feedback information includes: the scheduling method comprises the steps of determining at least one of a bandwidth required by a queue to be scheduled, a queue length of the queue to be scheduled, message discarding information and a message discarding rate, wherein the message discarding information is used for representing whether message discarding occurs in the queue to be scheduled or not, and the message discarding rate is the ratio of the number of discarded messages in the queue to be scheduled to the total number of messages in the queue to be scheduled.
In a third aspect, the present application provides a data optimization apparatus, comprising: the first receiving module is used for receiving feedback information sent by the data scheduling device, wherein the feedback information is used for reflecting the scheduling condition of the data scheduling device for the data message to be scheduled; a configuration module, configured to configure a target bandwidth according to the feedback information, where the target bandwidth is a rated data amount sent by the data optimization device to the data scheduling device in a unit time; and the sending module is used for sending the optimized data message to be scheduled to the data scheduling device based on the configured target bandwidth, wherein the optimized data message to be scheduled is the data message subjected to flow acceleration processing by the data optimization device.
When the feedback information represents that a parameter value required by a queue to be scheduled of the data scheduling device is greater than a rated parameter value of the data scheduling device, the configuration module reduces the target bandwidth, wherein the parameter value is bandwidth or queue length; and when the feedback information represents that the parameter value required by the queue to be scheduled of the data scheduling device is smaller than the rated parameter value of the data scheduling device, increasing the target bandwidth.
Further, the configuration module is configured to: when the feedback information represents that a parameter value required by a queue to be scheduled of the data scheduling device is larger than a rated parameter value of the data scheduling device, if a target data message comprises a data message sent to the data scheduling device by the data optimization device, reducing the target bandwidth, wherein the target data message is the data message exceeding the rated parameter value in the queue to be scheduled.
Optionally, the apparatus further comprises: the second receiving module is used for receiving the data message to be accelerated sent by the data shunting device; and the processing module is used for carrying out flow acceleration processing on the data message to be accelerated to obtain the optimized data message to be scheduled.
Further, the apparatus further comprises: and the marking module is used for adding an optimization mark to the optimized data message to be scheduled, wherein the optimization mark is carried in the description information corresponding to the optimized data message to be scheduled.
Optionally, the configuration module is configured to: and when the description information corresponding to the target data message carries an optimization mark, determining that the target data message comprises the data message sent by the data optimization device to the data scheduling device, wherein the optimization mark is a mark added after the flow acceleration processing is performed on the data message to be accelerated.
According to the data optimization device, the target bandwidth is configured according to the feedback information sent by the data scheduling device, and the feedback information is used for reflecting the scheduling condition of the data scheduling device to the data message to be scheduled by the data scheduling device.
In a fourth aspect, the present application provides an apparatus for data scheduling, the apparatus comprising: the obtaining module is used for obtaining the scheduling condition of the data message to be scheduled by the data scheduling device; and a sending module, configured to send feedback information to the data optimization device based on the scheduling condition, where the feedback information is used for the data optimization device to configure a target bandwidth, and the target bandwidth is a rated data amount sent by the data optimization device to the data scheduling device in unit time.
In a possible implementation manner, the bandwidth required by the queue to be scheduled of the data scheduling apparatus and the rated bandwidth of the data scheduling apparatus characterize the scheduling condition, and the sending module is configured to: when the bandwidth required by the queue to be scheduled is larger than the rated bandwidth, sending feedback information representing that the bandwidth required by the queue to be scheduled is larger than the rated bandwidth to the data optimization device; and when the bandwidth required by the queue to be scheduled is smaller than the rated bandwidth, sending feedback information representing that the bandwidth required by the queue to be scheduled is smaller than the rated bandwidth to the data optimization device.
In another possible implementation manner, a message discarding condition of a queue to be scheduled of the data scheduling apparatus represents the scheduling condition, and the sending module is configured to: when the message of the queue to be scheduled is discarded, sending feedback information representing that the queue length required by the queue to be scheduled is larger than the queue length available to the data scheduling device to the data optimization device; and when the message discarding does not occur in the queue to be scheduled, sending feedback information representing that the queue length required by the queue to be scheduled is smaller than the queue length available to the data scheduling device to the data optimization device.
Wherein the feedback information comprises: the scheduling method comprises the steps of determining at least one of a bandwidth required by a queue to be scheduled, a queue length of the queue to be scheduled, message discarding information and a message discarding rate, wherein the message discarding information is used for representing whether message discarding occurs in the queue to be scheduled or not, and the message discarding rate is the ratio of the number of discarded messages in the queue to be scheduled to the total number of messages in the queue to be scheduled.
According to the data scheduling device, the target bandwidth is configured through the data optimization device according to the feedback information sent by the data scheduling device, and the feedback information is used for reflecting the scheduling condition of the data scheduling device on the data messages to be scheduled to the data scheduling device.
In a fifth aspect, the present application provides a TCP control system, comprising: data scheduling means and data optimisation means as claimed in any one of the third aspects; the data scheduling device is configured to obtain a scheduling condition of a data packet to be scheduled by the data scheduling device, and send feedback information to the data optimizing device based on the scheduling condition, where the feedback information is used for the data optimizing device to configure a target bandwidth, and the target bandwidth is a rated data volume sent by the data optimizing device to the data scheduling device in unit time.
Optionally, the system further comprises: and the data distribution device is used for sending the data message to be accelerated to the data optimization device in the data message to be sent and sending other data messages except the data message to be accelerated to the data scheduling device.
Optionally, the TCP control system is integrated in a communication device in the form of software.
Optionally, the TCP control system comprises: a traffic accelerator and a queue scheduler; the data optimization device is integrated in the flow accelerator; the data scheduling means is integrated in the queue scheduler.
In a sixth aspect, the present application provides a data optimization apparatus, comprising: a processor; a memory for storing executable instructions of the processor; wherein the processor is configured to: receiving feedback information sent by a data scheduling device, wherein the feedback information is used for reflecting the scheduling condition of a data message to be scheduled by the data scheduling device; configuring a target bandwidth according to the feedback information, wherein the target bandwidth is a rated data volume sent to the data scheduling device by the data optimization device in unit time; and sending the optimized data message to be scheduled to the data scheduling device based on the configured target bandwidth, wherein the optimized data message to be scheduled is the data message to be scheduled which is optimized by the data optimizing device.
In a seventh aspect, the present application provides a data scheduling apparatus, including: a processor; a memory for storing executable instructions of the processor; wherein the processor is configured to: acquiring the scheduling condition of a data message to be scheduled by the data scheduling device; and sending feedback information to the data optimization device based on the scheduling condition, wherein the feedback information is used for configuring a target bandwidth for the data optimization device, and the target bandwidth is the rated data volume sent to the data scheduling device by the data optimization device in unit time.
In an eighth aspect, the present application provides a storage medium, wherein instructions, when executed by a processor of a terminal, enable the terminal to perform the data transmission method according to any one of the first aspect or the second aspect.
Drawings
Fig. 1 is a schematic diagram of a general congestion control method;
fig. 2A is a schematic view of an application scenario of a data transmission method according to an exemplary embodiment of the present application;
fig. 2B is a schematic view of an application scenario of a data transmission method according to an exemplary embodiment of the present application;
FIG. 3 is a flow chart of a data transmission method provided by an exemplary embodiment of the present application;
FIG. 4 is a schematic diagram illustrating a reduction of a target bandwidth in a data transmission process according to an exemplary embodiment of the present application;
FIG. 5 is a schematic diagram illustrating a principle of increasing a target bandwidth in a data transmission process according to an exemplary embodiment of the present application;
FIG. 6A is a block diagram of a data optimization device provided in an exemplary embodiment of the present application;
FIG. 6B is a block diagram of another data optimization device provided in an exemplary embodiment of the present application;
fig. 7 is a block diagram of a data scheduling apparatus according to an exemplary embodiment of the present application;
FIG. 8 is a schematic structural diagram of a data optimization apparatus according to an exemplary embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of a data scheduling apparatus according to an exemplary embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
When data transmission is performed based on the TCP protocol, when network resources (e.g., bandwidth or network resources such as a cache of a switching node) available in a transmission system in a certain transmission period cannot meet network resources required for data transmission, performance of the network may be degraded, that is, a network may be congested. To this end, the TCP protocol generally adopts a congestion control method to solve the problem, the congestion control method controls the amount of data injected into the network by controlling the size of a congestion window to avoid congestion of the network, and the main principle of the congestion control method is as follows: if the network has no congestion, increasing the size of a congestion window; and if the network is congested, reducing the size of a congestion window, wherein the congestion window is used for limiting the maximum data quantity which can be sent by the data sending end at each time. The congestion control method mainly comprises the following steps: slow start (also called slow start), congestion avoidance, fast retransmission and fast recovery.
As shown in fig. 1, the principle of the slow start procedure and the congestion avoidance procedure is:
when the size of the congestion window is smaller than the initial slow start threshold value, a slow start process is executed, and when the size of the congestion window is larger than the initial slow start threshold value, a congestion avoidance process is executed. Wherein the initial size of the congestion window is 1. During the slow start process, the size of the congestion window is increased by multiple times each transmission turn (i.e. when all data messages allowed to be sent by the congestion window are sent out and the determination information of the last byte of all the sent data messages is received). When the congestion window is greater than or equal to the initial slow start threshold, a congestion avoidance procedure is started to be performed, and the size of the congestion window is increased by 1 every time a transmission turn passes.
And, whether in the execution of the slow start process or the congestion avoidance process, whenever the network has a congestion phenomenon, the slow start threshold is updated, and the updated slow start threshold is reduced to half the size of the congestion window when the congestion phenomenon occurs, and the size of the congestion window is updated to 1, and the execution of the slow start algorithm is restarted.
The principle of the fast retransmission process and the fast recovery process is as follows:
in the fast retransmission process, when a data receiving end receives out-of-sequence data message segments, repeated confirmation information can be sent to a data sending end, the repeated confirmation information does not need to be sent after all data messages are received, when the data sending end receives three repeated confirmation information, network congestion can be considered to occur, meanwhile, an updated slow start threshold value is set to be half of the size of a current congestion window, the size of the congestion window is reduced to be half of the size of the current congestion window, and then a congestion avoidance algorithm is executed.
In the process of fast recovery, the number of data packets transmitted in the network is constant, only when the 'old' data packet leaves the network, the 'new' data packet can be sent to enter the network, and if the data sending end receives a repeated confirmation message, a data packet is considered to leave the network, and the congestion window is added by 1.
According to the implementation process of the congestion control method, the following steps are shown: the congestion control method is characterized in that the size of a congestion window is adjusted according to a heuristic principle, the congestion window exponentially increases in a slow start stage, but the rapid increase is blind, namely, network congestion is caused once the congestion window excessively increases; in the congestion avoidance stage, the increase of the congestion window tends to be conservative, which easily causes the waste of bandwidth.
Although, on the basis of the congestion control method, there are methods in the related art for adjusting the transmission rate based on the conditions of packet loss, delay and the like, adjusting the transmission rate by an intelligent analysis technique, and designing a new congestion control method to replace the conventional congestion control method for adjusting the transmission rate, these methods for adjusting the transmission rate are not sensitive to packet loss and delay, and there are cases where the congestion window reduces the bandwidth slowly or excessively, resulting in a low bandwidth utilization rate.
In addition, in order to ensure effective transmission of a data packet applied at a high throughput rate and a data packet that does not need to be accelerated (that is, other data packets except the data packet to be accelerated in the data packet to be transmitted, which is referred to as other data packets for simplicity and convenience in description), a bandwidth threshold is usually configured for the data packet after being accelerated in the related art, so as to limit the bandwidth occupied by the data packet after being accelerated in the data packet transmission process to be not more than the bandwidth threshold, and transmit other data packets by using the bandwidth not occupied by the data packet after being accelerated, thereby ensuring that the data packet applied at the high throughput rate and other data packets can be transmitted. However, the bandwidth threshold is generally a fixed value, and the bandwidth threshold cannot be configured according to the actual bandwidth usage, so that the utilization efficiency of the bandwidth is low, and idle and waste of the bandwidth are caused, which is specifically represented as: when the set bandwidth threshold is large, the data packet after accelerated processing may occupy too much bandwidth of other data packets (e.g., data packet with higher priority), so that transmission processes of other data packets are affected; when the set bandwidth threshold is small, and when the bandwidth required by other data messages is small, the data messages after accelerated processing cannot use the unoccupied bandwidth, so that the idle and waste of the bandwidth are caused. Therefore, it is desirable to provide a data transmission method to improve the utilization of the bandwidth.
In view of the above, an exemplary embodiment of the present application provides a data transmission method, which can configure a bandwidth threshold of a TCP optimization function according to an actual bandwidth usage situation when data transmission is performed based on a TCP protocol, so as to improve a bandwidth utilization rate and further improve flexibility of data transmission based on the TCP. Please refer to fig. 2A, which illustrates a schematic diagram of an implementation environment related to a data transmission method provided in an exemplary embodiment of the present application. As shown in fig. 2A, the implementation environment may include: a TCP control system 110, a first terminal 120, and a second terminal 130.
The first terminal 120 and the second terminal 130 may be a smart phone, a computer, a multimedia player, an electronic reader, or a wearable device, and the like, connections between the TCP control system 110 and the first terminal 120 and between the TCP control system 110 and the second terminal 130 may be established through a wired network or a wireless network, in a communication process between the first terminal 120 and the second terminal 130, a data packet sent by a data sending end needs to be forwarded by the TCP control system 110 to be sent to a data receiving end, wherein both the first terminal 120 and the second terminal 130 may be used as the data sending end and the data receiving end, and the first terminal 120 and the second terminal 130 may not be used as the data sending end and the data receiving end at the same time.
Further, in order to achieve efficient transmission of data packets, the TCP control system 110 is configured with a function of performing queue scheduling on the data packets, and in order to improve the throughput rate of the TCP connection performing data packet transmission, the TCP control system 110 is further configured with a function of performing traffic acceleration on the data packets. Accordingly, with continued reference to fig. 2A, the TCP control system 110 may include: the data scheduling method includes a data optimizing device 1101 and a data scheduling device 1102, where the data optimizing device is configured to perform traffic acceleration processing on a data packet to be accelerated, send the data packet to be scheduled after the traffic acceleration processing to the data scheduling device, and configure a target bandwidth according to feedback information sent by the data scheduling device, the data scheduling device is configured to schedule the data packet sent to the data scheduling device, obtain a scheduling condition of the data packet to be scheduled, and send the feedback information to the data optimizing device according to the scheduling condition, where the target bandwidth is a rated data volume sent by the data optimizing device to the data scheduling device in unit time.
In addition, referring to fig. 2B, the TCP control system 110 may further include a data offloading device 1103, where the data offloading device 1103 is configured to, after receiving a data packet to be sent by a data sending end, screen out a data packet to be accelerated in the data packet to be sent, send the data packet to be accelerated to the data optimizing device 1101, and send other data packets except the data packet to be accelerated in the data packet to be sent to the data scheduling device 1102.
The flow acceleration function, the queue scheduling function, and the data splitting function may be implemented in the form of a hardware unit or a software unit, or in the form of a hardware and software functional unit. Moreover, functional units for implementing the respective functions may be integrated in one processing unit, or each unit may be physically included alone, or two or more units may be integrated in one unit. The exemplary embodiment of the present application describes the implementation of the above-mentioned traffic acceleration function and queue scheduling function in several following implementation manners:
in a first implementation manner, when two hardware units are used to implement the traffic acceleration function and the queue scheduling function, respectively, the TCP control system 110 may include: the system comprises a traffic accelerator and a queue scheduler, wherein the traffic accelerator is used for performing traffic acceleration processing on data messages to be accelerated, the queue scheduler is used for scheduling the data messages to be sent, and the traffic accelerator and the queue scheduler can be connected in a wired or wireless manner, at this time, a data optimization device 1101 can be integrated in the traffic accelerator, and a data scheduling device 1102 can be integrated in the queue scheduler.
The implementation process of implementing the flow acceleration function through the flow accelerator and implementing the queue scheduling function through the queue scheduler includes:
after receiving the data packet to be accelerated sent by the data offloading device, the traffic accelerator may perform traffic acceleration processing on the data packet to be accelerated, and send the data packet to be scheduled (i.e., the optimized data packet to be scheduled) after the traffic acceleration processing to the queue scheduler according to the configured target bandwidth, and after receiving the optimized data packet to be scheduled and other data packets sent by the data offloading device, the queue scheduler may, according to the description information of the optimized data packet to be scheduled and other data packets, for example: and outputting the information such as the output port, the sending priority, the user identity identification and the like, and dividing the other data messages and the optimized data message to be scheduled into different scheduling queues so as to realize the transmission of the data message.
In a second implementation manner, when the traffic acceleration function and the queue scheduling function are implemented in the form of hardware plus software functional units, the TCP control system 110 may be integrated in a communication device in the form of software, for example: the instructions in the memory may be executable by a processor in the communication device to implement the integration of the data optimization means and the data scheduling means. In this implementation, the data optimization apparatus and the data scheduling apparatus may be two separate software modules, or may be integrated into one software module. In this second implementation manner, the flow acceleration function is implemented by the integrated data optimization device, and the implementation process of implementing the queue scheduling function by the integrated data scheduling device refers to the implementation process in the first implementation manner, which is not described herein again.
Fig. 3 is a flowchart of a data transmission method provided in an exemplary embodiment of the present application, which is described in the exemplary embodiment of the present application by taking the data transmission method as an example when the data transmission method is applied to the TCP control system shown in fig. 2B, and as shown in fig. 3, the data transmission method may include:
step 301, the data offloading device receives a to-be-sent data message sent by a data sending end.
The data packet to be sent by the data sending end may include data packets related to multiple applications, and the data packets related to multiple applications include: and determining the data message (namely the data message to be accelerated) and other data messages needing to be subjected to the traffic acceleration processing based on a preset traffic acceleration strategy. The flow acceleration strategy can be formulated according to actual needs.
Step 302, the data distribution device sends the data message to be accelerated in the data message to be sent to the data optimization device based on a preset flow acceleration strategy, and sends other data messages to the data scheduling device.
After receiving the data message to be sent, the data distribution device can screen out the data message to be accelerated and other data messages in the data message to be sent based on a preset flow acceleration strategy, and then send the data message to be accelerated to the data optimization device, so that the data optimization device can accelerate the flow of the data message, and send other data messages to the data scheduling device, so that the data scheduling device can schedule the data message.
For example, the data packets to be sent received by the data offloading device include data packets related to a certain mail application and a certain chat application, and based on a preset traffic acceleration policy, it may be determined that: the data message related to the mail application is a data message to be accelerated, and the data message related to the chat application is other data messages, then the data distribution device can send the data message to be accelerated to the data optimization device, and send the other data messages to the data scheduling device.
And 303, the data optimization device performs flow acceleration processing on the data message to be accelerated to obtain an optimized data message to be scheduled, and adds an optimization mark to the optimized data message to be scheduled.
After receiving the data message to be accelerated, the data optimization device can perform flow acceleration processing on the data message to be accelerated according to a preset flow acceleration algorithm to obtain an optimized data message to be scheduled, and adds an optimization mark to the optimized data message to be scheduled to mark the data message as the data message subjected to flow acceleration processing. Optionally, the optimization flag may be carried in description information corresponding to the optimized data packet to be scheduled.
And step 304, the data optimization device sends the optimized data message to be scheduled to the data scheduling device.
Step 305, the data scheduling device schedules the optimized data packet to be scheduled and other data packets, so as to send the data packet to be sent to the data receiving end.
After the data scheduling device receives the optimized data packet to BE scheduled and other data packets, the data scheduling device may divide all the received data packets into an Expedited Forwarding (EF) queue, an Assured Forwarding (AF) queue, and a Best Effort (BE) queue according to description information of the data packets, respectively, to obtain different queues to BE scheduled, and perform traffic scheduling for the different queues to BE scheduled according to a rated bandwidth configured for the data scheduling device by a TCP control system, so as to implement transmission of the data packets in the queues to BE scheduled.
Step 306, the data scheduling device obtains the scheduling condition of the data scheduling device for the data packet to be scheduled.
Generally, the scheduling condition of the data scheduling apparatus to the data packet to be scheduled can be reflected by information such as bandwidth and queue length, for example: when the bandwidth required by the queue to be scheduled is greater than the rated bandwidth of the data scheduling device, the data scheduling device cannot perform dequeuing operations on all data messages in the queue to be scheduled based on the rated bandwidth, or when the queue length of the queue to be scheduled is greater than the available queue length of the data scheduling device, the data scheduling device cannot perform dequeuing operations on all data messages in the queue to be scheduled based on the available queue length, that is, the data scheduling device cannot perform effective scheduling on the data messages in the queue to be scheduled. Therefore, the data scheduling device can determine the scheduling condition of the data scheduling device for the data messages to be scheduled according to the queue length of the queue to be scheduled and the required bandwidth, and the data messages sent by the data optimization device can be in the priority forwarding queue, the guaranteed forwarding queue or the best effort queue, so that the scheduling condition of the data scheduling device for all the received data messages to be scheduled can reflect the scheduling condition of the data scheduling device for the data messages sent by the data optimization device.
And 307, the data scheduling device sends feedback information to the data optimization device based on the scheduling condition, wherein the feedback information is used for the data optimization device to configure the target bandwidth.
The target bandwidth is a rated data volume which is transmitted to the data scheduling device in a unit time by the data optimization device.
When the data scheduling device cannot effectively schedule the data messages in the queue to be scheduled, the data scheduling device discards some data messages in the queue to be scheduled. Therefore, the scheduling condition of the data scheduling apparatus for the data packet to be scheduled may be reflected by at least one of the bandwidth required by the queue to be scheduled, the queue length of the queue to be scheduled, the packet discard information, and the packet discard rate, that is, the feedback information may include any one or more of the following: the bandwidth required by the queue to be scheduled, the queue length of the queue to be scheduled, the message discarding information and the message discarding rate. The message discarding information is used for representing whether the message discarding occurs in the queue to be scheduled, and the message discarding rate is the ratio of the number of discarded messages in the queue to be scheduled to the total number of messages in the queue to be scheduled. It should be noted that, the data optimization device may store a rated bandwidth of the data scheduling device and/or an available queue length of the data scheduling device, and when the data optimization device receives the feedback information, the data optimization device may determine a scheduling condition of the data scheduling device for the data packet to be scheduled according to the rated bandwidth and/or the available queue length.
Further, the feedback information may further include: and feeding back information such as the name of the information receiving end, the type of the current queue, and an Identifier (ID) of the message stream. The type of the current queue is used for indicating the current queue belongs to one of a priority forwarding queue, a guaranteed forwarding queue and a best effort queue. The message flow ID is used to indicate a message flow in which a currently transmitted message is located when the message is transmitted in a message flow form. When the feedback information comprises the type of the current queue, the feedback information is used for representing the scheduling condition of the data scheduling device on the queue to be scheduled indicated by the current queue; when the feedback information includes the data packet flow ID, the feedback information is used to indicate a scheduling condition of the data scheduling apparatus for the queue to be scheduled indicated by the data packet flow ID.
Optionally, according to an implementation manner reflecting the scheduling condition, there may be a plurality of implementation manners in which the data scheduling apparatus sends the feedback information to the data optimizing apparatus based on the scheduling condition, and the exemplary embodiment of the present application is described by taking the following two implementation manners as examples:
in a first implementation manner, the data scheduling apparatus sends feedback information representing the scheduling condition to the data optimizing apparatus according to the scheduling condition of the data packet to be scheduled, so that the data optimizing apparatus configures the target bandwidth according to the scheduling condition.
The implementation manner can comprise the following steps: when the scheduling condition representation data scheduling device can not effectively schedule the data messages in the queue to be scheduled, sending feedback information representing that the data messages can not be effectively scheduled to the data optimization device; and when the scheduling condition representation data scheduling device can effectively schedule the data messages in the queue to be scheduled, sending feedback information representing effective scheduling to the data optimization device.
The scheduling condition may be reflected by a bandwidth or a queue length, for example: when the bandwidth required by the queue to be scheduled is greater than the rated bandwidth of the data scheduling device, or when the queue length required by the queue to be scheduled is greater than the available queue length of the data scheduling device, it indicates that the data scheduling device cannot perform effective scheduling on the data messages in the queue to be scheduled, and at this time, the data scheduling device can send feedback information representing the scheduling situation to the data scheduling device, so that the data optimization device can configure the target bandwidth according to the scheduling situation.
In a second implementation manner, the data scheduling device sends feedback information indicating to increase or decrease the target bandwidth to the data optimization device according to the scheduling condition of the data packet to be scheduled, so that the data optimization device directly configures the target bandwidth according to the feedback information, the process that the data optimization device judges how to adjust the target bandwidth based on the feedback information sent by the data scheduling device can be reduced, and further, the consumption of system resources is reduced.
In a third implementation manner, the data scheduling device selects whether to send feedback information to the data optimization device according to the scheduling condition of the data message to be scheduled.
The implementation manner can comprise the following steps: when the scheduling condition indicates that the data scheduling device cannot effectively schedule the data messages in the queue to be scheduled, sending feedback information to the data optimization device; when the scheduling condition representation data scheduling device can schedule the data messages in the queue to be scheduled, the feedback information does not need to be sent to the data optimization device.
In this implementation manner, when the data optimization device receives the feedback information sent to it by the data scheduling device, it can be determined that the data scheduling device cannot perform effective scheduling on the data packets in the queue to be scheduled under the current target bandwidth, and the target bandwidth needs to be reduced, so that the data packets of the information sent to the data optimization device by the data scheduling device can be reduced, and further, the system resource consumption is reduced.
Furthermore, there are various information transmission methods for the data scheduling apparatus to transmit the feedback information, for example: the data scheduling device may send a piece of feedback information to the data optimization device based on the scheduling result of each queue to be scheduled by the data scheduling device, where the feedback information is used to reflect the scheduling condition of the corresponding scheduling queue by the data scheduling device; or, the data scheduling apparatus may send a piece of feedback information to the data optimizing apparatus based on the scheduling result of the data scheduling apparatus to the plurality of queues to be scheduled, where the feedback information is used to reflect the overall scheduling condition of the data scheduling apparatus to the plurality of queues to be scheduled; or, the data scheduling apparatus may periodically send feedback information to the data optimization apparatus, where the feedback information is used to reflect the scheduling conditions of all queues to be scheduled that are scheduled by the data scheduling apparatus within the period time.
In practical application, the feedback information generated by the data scheduling device can also be sent to the data optimization device through a message in the TCP control system. Or after the data scheduling apparatus generates the feedback information, the feedback information may be stored to a preset position, and the data optimization apparatus may periodically read the feedback information at the preset position, or the data optimization apparatus may read the feedback information at the preset position before sending the optimized data packet to be scheduled to the data scheduling apparatus each time, so as to configure the target bandwidth according to the feedback information.
And 308, configuring the target bandwidth by the data optimization device according to the feedback information.
In practical applications, the data optimization device configuring the target bandwidth according to the feedback information may include at least the following three cases:
in the first case, when the parameter value required by the feedback information characterizing the queue to be scheduled of the data scheduling device is smaller than the rated parameter value of the data scheduling device, the target bandwidth is increased.
Wherein the parameter value may be a bandwidth or a queue length. When the parameter value required by the queue to be scheduled is smaller than the rated parameter value of the data scheduling device, it indicates that under the current target bandwidth, the data scheduling device can effectively schedule the data message and other data messages which are sent by the data optimization device and have accelerated flow, that is, the available bandwidth of the data scheduling device still has abundant bandwidth, and at this time, the target bandwidth can be increased to increase the bandwidth occupied by the optimized data message to be scheduled, so that more optimized data messages to be scheduled can be transmitted based on the increased bandwidth, and the utilization rate of the bandwidth is further increased.
In the second case, when the parameter value required by the queue to be scheduled of the feedback information representation data scheduling device is equal to the rated parameter value of the data scheduling device, the target bandwidth is kept unchanged, or the target bandwidth is reduced in a small range, so as to prevent network congestion caused by the increase of the flow of other data messages in the subsequent transmission process, and further ensure the effective transmission of the data messages.
In practical implementation, when the parameter value required by the queue to be scheduled of the feedback information representation data scheduling device is equal to the rated parameter value of the data scheduling device, the target bandwidth may also be selected to be appropriately increased according to a preset configuration policy, which is not specifically limited herein.
And in the third situation, when the parameter value required by the feedback information representation queue to be scheduled of the data scheduling device is larger than the rated parameter value of the data scheduling device, reducing the target bandwidth.
In an implementation manner, when the parameter value required by the queue to be scheduled is greater than the rated parameter value of the data scheduling device, it indicates that the data scheduling device cannot perform effective scheduling on the data packet in the queue to be scheduled, and the data optimization device may limit the maximum bandwidth occupied by the optimized data packet to be scheduled by reducing the target bandwidth, so that the total bandwidth occupied by the optimized data packet to be scheduled and other data packets sent to the data scheduling device is reduced, thereby ensuring that the data scheduling device performs effective scheduling on the optimized data packet to be scheduled and other data packets.
In another implementation manner, in order to ensure effective transmission of the optimized data packet to be scheduled, when the parameter value required by the feedback information characterizing the queue to be scheduled of the data scheduling device is greater than the rated parameter value of the data scheduling device, if the target data packet includes the data packet sent by the data optimization device to the data scheduling device, the data optimization device may reduce the target bandwidth, so as to reduce the bandwidth occupied by the optimized data packet to be scheduled, thereby ensuring that the data scheduling device can effectively schedule the optimized data packet to be scheduled and other data packets. And the target data message is a data message exceeding a rated parameter value in the queue to be scheduled.
After the data optimization device performs flow acceleration processing on the data message to be accelerated, an optimization mark is added to the optimized data message to be scheduled, the optimization mark can be carried in description information corresponding to the optimized data message to be scheduled, when the data scheduling device performs scheduling operation on a queue to be scheduled, the description information can be used for judging that the description information corresponding to the target data message carries the optimization mark, and the judgment result is sent to the data optimization module through feedback information, so that the data optimization module can judge whether the target data message comprises the data message sent by the data optimization device to the data scheduling device, and judge whether to perform operation of reducing the target bandwidth based on the information.
For example, referring to fig. 4, a message a1, a message a2, and a message A3 represent optimized data messages to be scheduled, after the data optimization apparatus sends the message a1, the message a2, and the message A3 to the data scheduling apparatus, the message a1 and the message A3 are successfully transmitted to the data receiving end through scheduling by the data scheduling apparatus, and the message a2 is discarded; the message B1, the message B2 and the message B3 represent other data messages sent by the data offloading device to the data scheduling device, after the data offloading device sends the message B1, the message B2 and the message B3 to the data scheduling device, the message B1 and the message B2 are successfully transmitted to the data receiving end through the scheduling of the data scheduling device, the message B3 is discarded, the data scheduling device sends feedback information M1 representing that the bandwidth required by a queue to be scheduled is larger than the rated bandwidth to the data optimizing device according to the scheduling condition, the data optimizing device reduces the target bandwidth according to the feedback information M1, according to the reduced target bandwidth, the data optimizing device sends optimized data messages A4 and A5 to be scheduled to the data scheduling device, and the data offloading device sends other data messages B4 and B5 to the data scheduling device, after the scheduling of the data scheduling device, the message a4, the message a5, the message B4, and the message B5 are all successfully transmitted to the data receiving end, and therefore, effective transmission of data messages can be achieved by configuring a target bandwidth according to the feedback information.
Referring to fig. 5, a message C1 and a message C2 represent optimized data messages to be scheduled, and after the data optimization device sends the message C1 and the message C2 to the data scheduling device, the message C1 and the message C2 are both successfully transmitted to the data receiving end through the scheduling of the data scheduling device; the message D1 represents other data messages sent by the data shunting device to the data scheduling device, after the data shunting device sends the message D1 to the data scheduling device, the message D1 is successfully transmitted to the data receiving end through the scheduling of the data scheduling device, the data scheduling device sends feedback information M2 representing that the bandwidth required by the queue to be scheduled is less than the rated bandwidth to the data optimizing device according to the scheduling condition, the data optimizing device increases the target bandwidth according to the feedback information M2, according to the increased target bandwidth, the data optimizing device sends optimized data messages C3, C4 and C5 to the data scheduling device, the data shunting device sends other data messages D2 to the data scheduling device, and after the scheduling of the data scheduling device, the message C3, the message C4, the message C5 and the message D2 are all successfully transmitted to the data receiving end, therefore, after the target bandwidth is configured according to the feedback information, the effective transmission of the data message can be realized.
Step 309, the data optimization device sends the optimized data message to be scheduled to the data scheduling device based on the configured target bandwidth.
After the data optimization device configures the target bandwidth, the data optimization device may continue to send the optimized data packet to be scheduled to the data scheduling device based on the configured target bandwidth, so as to implement transmission of the optimized data packet to be scheduled.
It should be noted that: the data transmission method provided by the above embodiment may also be used in other scenarios, where the other scenarios satisfy: the output capacity of the output node is a fixed value, the sum of the output quantities of all the input nodes is not more than the fixed value, and when the input nodes output to the output node, the maximum output quantity of at least one input node in the input nodes is not more than the corresponding preset output threshold value.
In summary, in the data transmission method provided in the exemplary embodiment of the present application, the data optimization device configures the target bandwidth according to the feedback information sent by the data scheduling device, and because the feedback information is used to reflect the scheduling condition of the data scheduling device on the data packet to be scheduled, compared with the related art, the data optimization device can adjust the rated data amount sent by the data optimization device to the data scheduling device in unit time according to the real condition of the network, so as to suppress the optimized data packet to be scheduled from excessively occupying the bandwidth, and enable the optimized data packet to be scheduled to fully utilize the unoccupied bandwidth, thereby effectively improving the utilization rate of the bandwidth, and ensuring the effective transmission of other data packets, thereby improving the flexibility of data transmission based on TCP.
It should be noted that, the order of the steps of the data transmission method provided in the embodiment of the present invention may be appropriately adjusted, and the steps may also be increased or decreased according to the circumstances, and any method that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included in the protection scope of the present invention, and therefore, the details are not described again.
The following are embodiments of an apparatus of the present application that may be used to perform embodiments of the methods of the present application. For details which are not disclosed in the embodiments of the apparatus of the present application, reference is made to the embodiments of the method of the present application.
Referring to fig. 6A, which shows a block diagram of a data optimization apparatus 600 according to an exemplary embodiment of the present application, as shown in fig. 6A, the data optimization apparatus 600 may include:
the first receiving module 601 is configured to receive feedback information sent by the data scheduling apparatus, where the feedback information is used to reflect a scheduling condition of the data scheduling apparatus for a data packet to be scheduled.
A configuring module 602, configured to configure a target bandwidth according to the feedback information, where the target bandwidth is a rated data amount sent by the data optimizing apparatus to the data scheduling apparatus in a unit time.
A sending module 603, configured to send the optimized data packet to be scheduled to the data scheduling apparatus based on the configured target bandwidth, where the optimized data packet to be scheduled is a data packet subjected to traffic acceleration processing by the data optimizing apparatus.
In summary, the data optimization device provided in the exemplary embodiment of the present application configures a target bandwidth according to feedback information sent by the data scheduling device, and because the feedback information is used to reflect a scheduling condition of the data scheduling device on a data packet to be scheduled, compared with the related art, a nominal data amount sent by the data optimization device to the data scheduling device in a unit time can be adjusted according to a real condition of a network, so that the optimized data packet to be scheduled can be inhibited from excessively occupying the bandwidth, and the optimized data packet to be scheduled can fully utilize an unoccupied bandwidth, thereby effectively improving a utilization rate of the bandwidth, ensuring effective transmission of other data packets, and further improving flexibility of data transmission based on TCP.
Optionally, a configuration module 602, configured to:
and when the parameter value required by the feedback information representation queue to be scheduled of the data scheduling device is larger than the rated parameter value of the data scheduling device, reducing the target bandwidth, wherein the parameter value is the bandwidth or the queue length.
And when the parameter value required by the feedback information representation queue to be scheduled of the data scheduling device is smaller than the rated parameter value of the data scheduling device, increasing the target bandwidth.
Further, a module 602 is configured to:
when the parameter value required by the feedback information representation data scheduling device to be scheduled queue is larger than the rated parameter value of the data scheduling device, if the target data message comprises the data message sent by the data optimization device to the data scheduling device, the target bandwidth is reduced, and the target data message is the data message exceeding the rated parameter value in the queue to be scheduled.
Optionally, as shown in fig. 6B, the data optimization apparatus 600 may further include:
the second receiving module 604 is configured to receive a data packet to be accelerated sent by the data offloading device.
The processing module 605 is configured to perform traffic acceleration processing on the data packet to be accelerated, so as to obtain an optimized data packet to be scheduled.
Optionally, as shown in fig. 6B, the data optimization apparatus 600 may further include:
the marking module 606 is configured to add an optimization mark to the optimized data packet to be scheduled, where the optimization mark is carried in description information corresponding to the optimized data packet to be scheduled.
Optionally, a configuration module 602, configured to:
and when the description information corresponding to the target data message carries the optimization mark, determining that the target data message comprises the data message sent by the data optimization device to the data scheduling device, and the optimization mark is a mark added after the flow acceleration processing is carried out on the data message to be accelerated.
In summary, the data optimization device provided in the exemplary embodiment of the present application configures a target bandwidth according to feedback information sent by the data scheduling device, and because the feedback information is used to reflect a scheduling condition of the data scheduling device on a data packet to be scheduled, compared with the related art, a nominal data amount sent by the data optimization device to the data scheduling device in a unit time can be adjusted according to a real condition of a network, so that the optimized data packet to be scheduled can be inhibited from excessively occupying the bandwidth, and the optimized data packet to be scheduled can fully utilize an unoccupied bandwidth, thereby effectively improving a utilization rate of the bandwidth, ensuring effective transmission of other data packets, and further improving flexibility of data transmission based on TCP.
Referring to fig. 7, which shows a block diagram of a data scheduling apparatus 700 according to an exemplary embodiment of the present application, as shown in fig. 7, the data scheduling apparatus 700 may include:
an obtaining module 701, configured to obtain a scheduling condition of a data packet to be scheduled by the data scheduling apparatus.
A sending module 702, configured to send feedback information to the data optimizing apparatus based on the scheduling condition, where the feedback information is used for the data optimizing apparatus to configure a target bandwidth, and the target bandwidth is a rated data amount sent by the data optimizing apparatus to the data scheduling apparatus in unit time.
To sum up, in the data scheduling apparatus provided in the exemplary embodiment of the present application, the data optimization apparatus configures the target bandwidth according to the feedback information sent by the data scheduling apparatus, and the feedback information is used to reflect the scheduling condition of the data scheduling apparatus on the data packet to be scheduled by the data scheduling apparatus, compared with the related art, the data optimization apparatus can adjust the rated data amount sent by the data optimization apparatus to the data scheduling apparatus in unit time according to the real condition of the network, so that the optimized data packet to be scheduled can be inhibited from excessively occupying the bandwidth, the optimized data packet to be scheduled can fully utilize the unoccupied bandwidth, the utilization rate of the bandwidth is effectively improved, effective transmission of other data packets can be ensured, and the flexibility of data transmission based on the TCP is improved.
Optionally, the bandwidth required by the queue to be scheduled of the data scheduling apparatus and the rated bandwidth of the data scheduling apparatus characterize the scheduling condition, and the sending module is configured to:
and when the bandwidth required by the queue to be scheduled is greater than the rated bandwidth, sending feedback information representing that the bandwidth required by the queue to be scheduled is greater than the rated bandwidth to the data optimization device.
And when the bandwidth required by the queue to be scheduled is less than the rated bandwidth, sending feedback information representing that the bandwidth required by the queue to be scheduled is less than the rated bandwidth to the data optimization device.
Optionally, a message discarding condition of a queue to be scheduled of the data scheduling apparatus represents a scheduling condition, and the sending module is configured to:
and when the message of the queue to be scheduled is discarded, sending feedback information representing that the queue length required by the queue to be scheduled is larger than the queue length available for the data scheduling device to the data optimization device.
And when the message discarding does not occur in the queue to be scheduled, sending feedback information representing that the queue length required by the queue to be scheduled is smaller than the queue length available for the data scheduling device to the data optimization device.
Optionally, the feedback information may include: the scheduling method comprises the steps that at least one of bandwidth required by a queue to be scheduled, queue length of the queue to be scheduled, message discarding information and a message discarding rate is obtained, the message discarding information is used for representing whether message discarding occurs in the queue to be scheduled or not, and the message discarding rate is the ratio of the number of discarded messages in the queue to be scheduled to the total number of messages in the queue to be scheduled.
To sum up, in the data scheduling apparatus provided in the exemplary embodiment of the present application, the data optimization apparatus configures the target bandwidth according to the feedback information sent by the data scheduling apparatus, and the feedback information is used to reflect the scheduling condition of the data scheduling apparatus on the data packet to be scheduled by the data scheduling apparatus, compared with the related art, the data optimization apparatus can adjust the rated data amount sent by the data optimization apparatus to the data scheduling apparatus in unit time according to the real condition of the network, so that the optimized data packet to be scheduled can be inhibited from excessively occupying the bandwidth, the optimized data packet to be scheduled can fully utilize the unoccupied bandwidth, the utilization rate of the bandwidth is effectively improved, effective transmission of other data packets can be ensured, and the flexibility of data transmission based on the TCP is improved.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described apparatuses and modules may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
The exemplary embodiment of the present application also provides a data optimization apparatus 800, as shown in fig. 8, the data optimization apparatus 800 includes a processor 810, a communication interface 820 and a memory 830. The processor 810, the communication interface 820 and the memory 830 are connected to each other by a bus 840.
The bus 840 may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 8, but this is not intended to represent only one bus or type of bus.
The memory 830 is used for storing target bandwidth, caching data packets, and the like.
The processor 810 may be a hardware chip, and is directly implemented as a flow accelerator to complete the functions of the data optimization apparatus in the data transmission method provided in the embodiment of the present application. The hardware chip may be an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. The PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof.
The exemplary embodiment of the present application also provides a data scheduling apparatus 900, as shown in fig. 9, the data scheduling apparatus 900 includes a processor 910, a communication interface 920 and a memory 930. The processor 910, the communication interface 920, and the memory 930 are interconnected via a bus 940.
The bus 940 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in FIG. 9, but this does not indicate only one bus or one type of bus.
The memory 930 is used to store nominal bandwidth, queues to be scheduled, etc.
The processor 910 may be a hardware chip, and is directly implemented as a queue scheduler to complete the functions of the data scheduling apparatus in the data transmission method provided in the embodiment of the present application. The hardware chip may be an application specific integrated circuit ASIC, a PLD, or a combination thereof. The PLD may be a complex programmable logic device CPLD, FPGA, GAL or any combination thereof.
The processor 910 may also be a general-purpose processor, such as a CPU, NP, or a combination of CPU and NP. Accordingly, the memory 930 is further used for storing program instructions, and the processor 910 invokes the program instructions stored in the memory 930, so as to perform one or more steps in the data transmission method provided in the embodiment of the present application, or in alternative embodiments, enable the data scheduling apparatus 900 to implement the function of the data scheduling apparatus in the data transmission method.
The exemplary embodiment of the present application further provides a TCP control system, where the TCP control system is a system related to the data transmission method provided in the exemplary embodiment of the present application, and the TCP control system may include: the data scheduling device is used for scheduling the data messages sent to the data scheduling device, acquiring the scheduling condition of the data messages to be scheduled, and sending feedback information to the data optimization device according to the scheduling condition.
In one implementation, the TCP control system is integrated in a communication device in software. Illustratively, the communication device may be a router or a switch, etc.
In another implementation, the TCP control system may include: the device comprises a flow accelerator and a queue scheduler, wherein the data optimization device is integrated in the flow accelerator, and the data scheduling device is integrated in the queue scheduler.
Optionally, the system may further include: and the data distribution device is used for sending the data message to be accelerated to the data optimization device in the data message to be sent, and sending other data messages except the data message to be accelerated in the data message to be sent to the data scheduling device.
In addition, the TCP control system may further include: and the control component is used for controlling whether the data transmission method provided by the exemplary embodiment of the application needs to be implemented or not and controlling which data needs to be subjected to accelerated processing.
It should be noted that the TCP control system may be deployed inside a device or among multiple devices to automatically adjust the target bandwidth according to the real-time network status. For example, the TCP control system may be deployed on a Customer Premises Equipment (CPE) at an exit of an enterprise branch network, and since the CPE device is characterized by a broadband connected to an operator, when a Wide Area Network (WAN) interface (i.e., an interface connected to a line of the operator) of the CPE is converged from a local area network to the wide area network, when the TCP control system is deployed on the CPE, it is able to both provide utilization of the wide area network bandwidth by a network domain network and ensure effective transmission of data. The local area network is a network formed by enterprise branch networks.
Exemplary embodiments of the present application also provide a storage medium, which may be a non-volatile computer-readable storage medium, and when instructions in the storage medium are executed by a processor of a terminal, the terminal is enabled to perform the data transmission method provided by the exemplary embodiments of the present application.
The exemplary embodiments of the present application also provide a computer program product containing instructions that, when run on a computer, cause the computer to perform the data transmission method provided by the exemplary embodiments of the present application.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only an example of the present application and should not be taken as limiting the present application, and any modifications, equivalents, improvements and the like that are made within the principles of the present application should be included in the scope of the present application.
Claims (14)
1. A method of data transmission, comprising:
the data optimization device receives feedback information sent by the data scheduling device, wherein the feedback information is used for reflecting the scheduling condition of the data scheduling device for the data message to be scheduled;
configuring a target bandwidth according to the feedback information, wherein the target bandwidth is a rated data volume sent to the data scheduling device by the data optimization device in unit time;
based on the configured target bandwidth, sending an optimized data message to be scheduled to the data scheduling device, wherein the optimized data message to be scheduled is a data message subjected to flow acceleration processing by the data optimization device;
the configuring the target bandwidth according to the feedback information includes:
when the feedback information represents that a parameter value required by a queue to be scheduled of the data scheduling device is larger than a rated parameter value of the data scheduling device, reducing the target bandwidth, wherein the parameter value is bandwidth or queue length;
and when the feedback information represents that the parameter value required by the queue to be scheduled of the data scheduling device is smaller than the rated parameter value of the data scheduling device, increasing the target bandwidth.
2. The method of claim 1, wherein the reducing the target bandwidth when the feedback information indicates that the parameter value required by the queue to be scheduled of the data scheduling apparatus is greater than a rated parameter value of the data scheduling apparatus comprises:
when the feedback information represents that a parameter value required by a queue to be scheduled of the data scheduling device is larger than a rated parameter value of the data scheduling device, if a target data message comprises a data message sent to the data scheduling device by the data optimization device, reducing the target bandwidth, wherein the target data message is the data message exceeding the rated parameter value in the queue to be scheduled.
3. The method according to claim 1 or 2, wherein before the sending the optimized data packet to be scheduled to the data scheduling apparatus based on the configured target bandwidth, the method further comprises:
receiving a data message to be accelerated sent by a data distribution device;
and carrying out flow acceleration processing on the data message to be accelerated to obtain an optimized data message to be scheduled.
4. The method according to claim 3, wherein after the traffic acceleration processing of the data packet to be accelerated, the method further comprises:
and adding an optimization mark to the optimized data message to be scheduled, wherein the optimization mark is carried in the description information corresponding to the optimized data message to be scheduled.
5. The method according to claim 2, wherein the step of, if the target data packet includes a data packet sent by the data optimization device to the data scheduling device, including:
and when the description information corresponding to the target data message carries an optimization mark, determining that the target data message comprises the data message sent by the data optimization device to the data scheduling device, wherein the optimization mark is a mark added after the flow acceleration processing is performed on the data message to be accelerated.
6. An apparatus for data optimization, the apparatus comprising:
the first receiving module is used for receiving feedback information sent by the data scheduling device, wherein the feedback information is used for reflecting the scheduling condition of the data scheduling device for the data message to be scheduled;
a configuration module, configured to configure a target bandwidth according to the feedback information, where the target bandwidth is a rated data amount sent by the data optimization device to the data scheduling device in a unit time;
the sending module is used for sending the optimized data message to be scheduled to the data scheduling device based on the configured target bandwidth, wherein the optimized data message to be scheduled is the data message subjected to flow acceleration processing by the data optimizing device;
the configuration module is configured to:
when the feedback information represents that a parameter value required by a queue to be scheduled of the data scheduling device is larger than a rated parameter value of the data scheduling device, reducing the target bandwidth, wherein the parameter value is bandwidth or queue length;
and when the feedback information represents that the parameter value required by the queue to be scheduled of the data scheduling device is smaller than the rated parameter value of the data scheduling device, increasing the target bandwidth.
7. The apparatus of claim 6, wherein the configuration module is configured to:
when the feedback information represents that a parameter value required by a queue to be scheduled of the data scheduling device is larger than a rated parameter value of the data scheduling device, if a target data message comprises a data message sent to the data scheduling device by the data optimization device, reducing the target bandwidth, wherein the target data message is the data message exceeding the rated parameter value in the queue to be scheduled.
8. The apparatus of claim 6 or 7, further comprising:
the second receiving module is used for receiving the data message to be accelerated sent by the data shunting device;
and the processing module is used for carrying out flow acceleration processing on the data message to be accelerated to obtain the optimized data message to be scheduled.
9. The apparatus of claim 8, further comprising:
and the marking module is used for adding an optimization mark to the optimized data message to be scheduled, wherein the optimization mark is carried in the description information corresponding to the optimized data message to be scheduled.
10. The apparatus of claim 7, wherein the configuration module is configured to:
and when the description information corresponding to the target data message carries an optimization mark, determining that the target data message comprises the data message sent by the data optimization device to the data scheduling device, wherein the optimization mark is a mark added after the flow acceleration processing is performed on the data message to be accelerated.
11. A TCP control system, said system comprising: data scheduling means and data optimisation means as claimed in any one of claims 6 to 10;
the data scheduling device is configured to obtain a scheduling condition of a data packet to be scheduled by the data scheduling device, and send feedback information to the data optimizing device based on the scheduling condition, where the feedback information is used for the data optimizing device to configure a target bandwidth, and the target bandwidth is a rated data volume sent by the data optimizing device to the data scheduling device in unit time.
12. The system of claim 11, further comprising: and the data distribution device is used for sending the data message to be accelerated to the data optimization device in the data message to be sent and sending other data messages except the data message to be accelerated to the data scheduling device.
13. A computer-readable storage medium having instructions stored therein, which when executed by a processor, cause the processor to perform the data transmission method of any one of claims 1 to 5.
14. A computer program product comprising instructions which, when run on a computer, cause the computer to perform the data transmission method of any one of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810240673.2A CN110300069B (en) | 2018-03-22 | 2018-03-22 | Data transmission method, optimization device and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810240673.2A CN110300069B (en) | 2018-03-22 | 2018-03-22 | Data transmission method, optimization device and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110300069A CN110300069A (en) | 2019-10-01 |
CN110300069B true CN110300069B (en) | 2022-03-29 |
Family
ID=68025687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810240673.2A Active CN110300069B (en) | 2018-03-22 | 2018-03-22 | Data transmission method, optimization device and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110300069B (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113290A (en) * | 2014-09-17 | 2017-08-29 | 阿普福米克斯有限公司 | Service quality is provided to data-center applications |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992120B2 (en) * | 2015-10-21 | 2018-06-05 | Citrix Systems, Inc. | System and method for rate-based packet transmission over a network |
-
2018
- 2018-03-22 CN CN201810240673.2A patent/CN110300069B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113290A (en) * | 2014-09-17 | 2017-08-29 | 阿普福米克斯有限公司 | Service quality is provided to data-center applications |
Also Published As
Publication number | Publication date |
---|---|
CN110300069A (en) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8467295B2 (en) | System and methods for distributed quality of service enforcement | |
US11637786B1 (en) | Multi-destination traffic handling optimizations in a network device | |
Hamdi et al. | Performance evaluation of active queue management algorithms in large network | |
CN113973085B (en) | Congestion control method and device | |
US11799803B2 (en) | Packet processing method and apparatus, communications device, and switching circuit | |
WO2021148020A1 (en) | Service class adjustment method, apparatus, device and storage medium | |
US20080298397A1 (en) | Communication fabric bandwidth management | |
US20170171099A1 (en) | Congestion estimation for multi-priority traffic | |
CN101547159A (en) | Method and device for preventing network congestion | |
US7843825B2 (en) | Method and system for packet rate shaping | |
CN110266604B (en) | Air interface bandwidth self-adaptive control method, device and communication equipment | |
US20190075058A1 (en) | Weighted fair queueing using severity-based window in reliable packet delivery network | |
WO2021143913A1 (en) | Congestion control method, apparatus and system, and storage medium | |
WO2023116611A1 (en) | Queue control method and apparatus | |
CN110300069B (en) | Data transmission method, optimization device and system | |
CN113765796B (en) | Flow forwarding control method and device | |
Abdel-jaber et al. | Modelling BLUE Active Queue Management using Discrete-time Queue. | |
EP1414213B1 (en) | Packet classifier and processor in a telecommunication router | |
CN112311678B (en) | Method and device for realizing message distribution | |
Ceco et al. | Performance comparison of active queue management algorithms | |
CN115022227B (en) | Data transmission method and system based on circulation or rerouting in data center network | |
CN108173776A (en) | Message forwarding method and device, computer readable storage medium | |
CN114221916A (en) | Method and system for flushing forwarding queue of switching chip | |
Sada et al. | A Priority-Based Self-Adaptive Random Early Detection Algorithm in IoT Gateways | |
WO2024049442A1 (en) | An efficient mechanism to process qualitative packets in a router |
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 |