CN107920028B - Data packet sending method, device and equipment - Google Patents
Data packet sending method, device and equipment Download PDFInfo
- Publication number
- CN107920028B CN107920028B CN201711124129.3A CN201711124129A CN107920028B CN 107920028 B CN107920028 B CN 107920028B CN 201711124129 A CN201711124129 A CN 201711124129A CN 107920028 B CN107920028 B CN 107920028B
- Authority
- CN
- China
- Prior art keywords
- time period
- data packet
- bandwidth utilization
- sending
- utilization rate
- 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/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The embodiment of the application discloses a data packet sending method, which is characterized in that an actual bandwidth utilization rate is obtained according to the actual receiving flow of a data packet in a preset time period, if the actual bandwidth utilization rate is smaller than or equal to the preset bandwidth utilization rate, a historical time period is reduced to a first target time period to improve the receiving flow of the data packet in the preset time period, the historical time period is the time period adopted by the data packet which is sent recently, the first target time period is used as the current time period for sending the data packet, and the data packet received in the first target time period is sent. By reducing the time period of sending the data packet by the intermediate transmission node, namely reducing the time delay of the data packet, according to the communication protocol, the starting node can increase the flow of transmitting the data packet to the destination node in unit time, so that the flow of the data packet received by the intermediate transmission node in unit time is increased, and the purpose of improving the bandwidth utilization rate is further achieved.
Description
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method, an apparatus, and a device for sending a data packet.
Background
Network jitter refers to the delay variation of a data packet in the transmission process. Ideally, the delays of different packets during network transmission are the same. For some reasons, such as network congestion, different data packets have different delays, which is called network jitter. Network jitter affects the user's experience with Quality of service (QoS). In a specific application scenario, for example, a sudden pause occurs during the process of watching a video, which is caused by network jitter. It can be seen that the smaller the network jitter, the better the user experience.
In order to alleviate network jitter as much as possible, a currently common mode is that an intermediate transmission node forwarding a data packet sends the data packet in a fixed time period, that is, the data packets received in sequence in the previous time period are sent out in sequence in the next time period.
Although the above scheme solves the problem of network jitter well, when there are fewer packets to be sent in a time period, the bandwidth utilization is poor.
Disclosure of Invention
In order to solve the prior art, embodiments of the present application provide a data packet sending method, which improves bandwidth utilization while solving network jitter.
In one aspect, an embodiment of the present application provides a method for sending a data packet, where the method includes:
obtaining an actual bandwidth utilization rate according to actual receiving flow of the data packet in a preset time period;
if the actual bandwidth utilization rate is less than or equal to a preset bandwidth utilization rate, reducing a historical time period to a first target time period so as to improve the receiving flow of the data packet in the preset time period, wherein the historical time period is a time period adopted for recently sending the data packet;
and taking the first target time period as the current time period for sending the data packet, and sending the data packet received in the last first target time period.
Optionally, the historical time period is reduced to the amplitude of a first target time period, and the actual bandwidth utilization rate and the preset bandwidth utilization rate are determined.
Optionally, the reducing the historical time period to the amplitude of the first target time period includes, according to the actual bandwidth utilization and the preset bandwidth utilization:
and the historical time period is reduced to the amplitude of the first target time period, and the historical time period is determined according to the difference or the ratio of the actual bandwidth utilization rate and the preset bandwidth utilization rate.
Optionally, the data packet sending method further includes:
and if the actual bandwidth utilization rate is greater than the preset bandwidth utilization rate, the historical time period is taken as a first target time period for currently sending the data packet, and the data packet received in the previous historical time period is sent.
Optionally, the data packet sending method further includes:
taking the first target time period as a historical time period, returning to the execution step to obtain an actual bandwidth utilization rate according to actual receiving flow of the data packet in a preset time period so as to determine the time period of next current data packet transmission, and continuously executing preset times to obtain the corresponding time period of current data packet transmission each time;
and if the time period for sending the data packet at present corresponding to each time takes the first target time period as the time period for sending the data packet at present, sending the data packet received in the last second target time period by taking a second target time period as the time period for sending the data packet at present, wherein the duration of the second target time period is greater than that of the first target time period.
Optionally, the duration of the preset time period is equal to the duration of the historical time period.
Optionally, the actual received traffic of the data packet includes one or more of the following:
the actual number of received data packets and the actual amount of data packets received.
In a second aspect, an embodiment of the present application provides a data packet sending apparatus, where the apparatus includes:
the actual bandwidth utilization rate obtaining unit is used for obtaining the actual bandwidth utilization rate according to the actual receiving flow of the data packet in the preset time period;
a first target time period obtaining unit, configured to reduce a historical time period to a first target time period to improve a receiving flow of the data packet within the preset time period if the actual bandwidth utilization rate is less than or equal to a preset bandwidth utilization rate, where the historical time period is a time period used for recently sending the data packet;
and the first data packet sending unit is used for sending the data packet received in the last first target time period by taking the first target time period as the current time period for sending the data packet.
Optionally, the first target time period obtaining unit includes:
and the reduction amplitude determining subunit is configured to determine, according to the actual bandwidth utilization and the preset bandwidth utilization, an amplitude of reducing the historical time period to a first target time period.
Optionally, the reduction amplitude determining subunit includes:
and the amplitude reduction comparison determining subunit is configured to determine, according to a difference between the actual bandwidth utilization rate and the preset bandwidth utilization rate or a ratio therebetween, an amplitude of the historical time period reduced to the first target time period.
Optionally, the packet sending apparatus further includes:
and a second data packet sending unit, configured to send the data packet received in the last historical time period, with the historical time period as a first target time period for currently sending the data packet, if the actual bandwidth utilization rate is greater than the preset bandwidth utilization rate.
Optionally, the packet sending apparatus further includes:
a time period confirming unit, configured to activate an actual bandwidth utilization rate obtaining unit to determine a next time period for currently sending the data packet, so as to continuously execute preset times to obtain a corresponding time period for currently sending the data packet each time, where the first target time period is used as a historical time period;
a third data packet sending unit, configured to send the data packet received in the last second target time period with a second target time period as the current time period for sending the data packet if the corresponding time period for sending the data packet at each time takes the first target time period as the current time period for sending the data packet, where a duration of the second target time period is greater than a duration of the first target time period.
In a third aspect, an embodiment of the present application provides a data packet sending device, where the device includes: a processor and a memory for storing processor-executable instructions;
wherein the processor is configured to:
obtaining an actual bandwidth utilization rate according to actual receiving flow of the data packet in a preset time period;
if the actual bandwidth utilization rate is less than or equal to a preset bandwidth utilization rate, reducing a historical time period to a first target time period so as to improve the receiving flow of the data packet in the preset time period, wherein the historical time period is a time period adopted for recently sending the data packet;
and taking the first target time period as the current time period for sending the data packet, and sending the data packet received in the last first target time period.
According to the data packet sending method provided by the embodiment of the application, the actual bandwidth utilization rate is obtained according to the actual receiving flow of the data packet in the preset time period, if the actual bandwidth utilization rate is smaller than or equal to the preset bandwidth utilization rate, the historical time period is reduced to the first target time period so as to improve the receiving flow of the data packet in the preset time period, the historical time period is the time period adopted by the data packet which is sent recently, the first target time period is used as the current time period for sending the data packet, and the data packet received in the first target time period is sent.
According to the communication protocol, when the time delay of the data packet received by the destination node is reduced, the flow of the data packet transmitted to the destination node in unit time is increased by the starting node through the intermediate transmission node. Therefore, the data packet sending method provided by the application can increase the data packet flow received by the intermediate transmission node in unit time by reducing the time period of sending the data packet by the intermediate transmission node, namely reducing the time delay of the data packet, thereby achieving the purpose of improving the bandwidth utilization rate.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a flowchart of a method for sending a data packet according to an embodiment of the present application;
fig. 2 is a flowchart of another data packet sending method according to an embodiment of the present application;
fig. 3 is a block diagram of a data packet transmitting apparatus according to an embodiment of the present disclosure;
fig. 4 is a hardware architecture diagram of a packet forwarding device according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions of the present application better understood, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In order to reduce network jitter, improve network service quality, and improve bandwidth utilization, an embodiment of the present application provides a data packet sending method, see fig. 1, which is a flowchart of a data packet sending method provided in an embodiment of the present application, and the method includes the following steps:
step S101, obtaining the actual bandwidth utilization rate according to the actual receiving flow of the data packet in the preset time period.
Within the field of communications, a single message data may be divided into a plurality of data blocks, referred to as data packets, which may be transmitted along the same or different paths in the network and reassembled at the destination to form the message data. When a data packet is transmitted over a long distance, it needs to pass through many intermediate transmission nodes, such as gateways or routers, and after receiving one or more data packets, the intermediate transmission nodes transmit the data packets to the next intermediate transmission node or destination node.
In this embodiment, the actual receiving traffic of the data packet in the preset time period is first obtained, and then the actual bandwidth utilization rate is obtained according to the actual receiving traffic and the preset time period.
The preset time period may be a time period customized by a user, and the preset time period may be continuous, for example, a continuous time period of 500ms, or discontinuous, for example, the first 100ms and the last 100ms of 500 ms.
The duration of the preset time period may be fixed, for example, a unit time (such as one millisecond, one second, one minute, etc.), or may be non-fixed, for example, the duration of a historical time period, where the historical time period is a time period used by the intermediate transmission node to transmit the data packet most recently. For example, the historical time period of the last data packet transmission by the intermediate transmission node is 600ms, that is, the preset time period may be set to 600 ms.
And after the preset time period is determined, acquiring the actual receiving flow of the data packet in the preset time period. In this embodiment of the application, the actual receiving traffic may be the number of the received packets in a preset time period, or may be the data amount in the received packets in the preset time period, where the unit of the data amount is, for example, a bit (bit), a megabit (Mbit, abbreviated as Mb), and the like. For example, assume that n packets are actually received within a preset time period T, where the data amount of the ith (i-1, 2, …, n) packet is ri(bit), therefore, the data volume actually received in the preset time period T is the sum of the data volumes of the received data packets, that is, the sum is
In this embodiment, after the actual received traffic within the preset time period is obtained, the actual bandwidth utilization rate is obtained according to the actual received traffic and the preset time period. Specifically, the actual bandwidth utilization may be a ratio of a packet transmission rate to a total bandwidth of the system, and the parameter reflects a bandwidth utilization condition. Too low bandwidth utilization may result in wasted system resources.
Taking the gateway as an example, assume that the actual received traffic is T within the preset time period with the duration of TThe total bandwidth of the gateway is W (bit/s), and the actual bandwidth utilization rate is
Step S102, if the actual bandwidth utilization is less than or equal to a preset bandwidth utilization, reducing the historical time period to a first target time period, so as to improve the receiving flow of the data packet in the preset time period.
Since the bandwidth utilization rate is a quantity reflecting the bandwidth utilization condition, and information resources are wasted due to too low bandwidth utilization rate, a preset bandwidth utilization rate can be preset, and when the actual bandwidth utilization rate is less than or equal to the preset bandwidth utilization rate, the bandwidth utilization rate is improved.
In some communication protocols (e.g., TCP protocol), when the delay of a packet received by a destination node is reduced, an originating node may increase the flow rate of the packet transmitted to the destination node per unit time through an intermediate transmission node. Based on the communication protocol, the present embodiment reduces the history time period to the first target time period in order to improve the bandwidth utilization. Wherein the historical time period is a time period adopted for recently transmitting the data packet. The bandwidth utilization rate in the historical time period is the same as the actual bandwidth utilization rate and is lower than the preset bandwidth utilization rate. The first target time period is a period used by the intermediate transmission node to transmit the data packet at present, that is, the time length of the first target time period is set, and the intermediate transmission node transmits the data packet once.
After the process of reducing the historical time period to the first target time periodThe waiting time of the data packet at the middle transmission node is reduced, so the time delay of the data packet received by the destination node is correspondingly reduced, the speed of sending the data packet by the initial node is improved according to the network transmission protocol, the receiving flow of the data packet in the preset time period is improved, and the bandwidth utilization formula is usedUnder the condition that the total bandwidth of the gateway is not changed, the actual bandwidth utilization rate is correspondingly improved, so that the aim of improving the bandwidth utilization rate is fulfilled.
Taking the gateway in the above example as an example, assuming that the preset bandwidth utilization rate is 70%, when the actual bandwidth utilization rate α is not greater than 0.7 within the preset time period T, it indicates that the actual bandwidth utilization rate is low, the system bandwidth is not fully utilized, and the historical time period needs to be adjusted, that is, the historical time period is reduced to the first target time period, so as to increase the bandwidth utilization rate.
Step S103, using the first target time period as the current time period for sending the data packet, and sending the data packet received in the last first target time period.
After receiving the data packet, the intermediate transfer node may use the first target time period as a data packet transmission period, that is, a data packet received in a previous target time period is transmitted in a current target time period, for example, a data packet received in a jth (j ═ 1,2, …) target time period needs to be transmitted in a jth +1 target time period, where the number of transmitted data packets may be one or more.
For example, for a gateway, the target time period is 500ms, and it is assumed that two data packets are received within 0-500ms, specifically, a first data packet is received at 50ms, and a second data packet is received at 150ms, and the interval time is 100 ms. Then the two data packets are sent within 500ms-1000ms, and the second data packet is arranged behind the first data packet, so that the second data packet can be sent immediately after one data packet is sent, and the jitter phenomenon is effectively relieved.
In the prior art, a fixed time period is adopted to transmit data packets, although the jitter phenomenon is alleviated, when the flow of the data packets is small, the data packets are transmitted in the fixed time period, and when the number of the data packets to be transmitted in the time period is small, the bandwidth utilization rate is poor, so that the waste of network resources is caused.
According to the data packet sending method provided by the embodiment of the application, the actual bandwidth utilization rate is obtained according to the actual receiving flow of the data packet in the preset time period, if the actual bandwidth utilization rate is smaller than or equal to the preset bandwidth utilization rate, the historical time period is reduced to the first target time period so as to improve the receiving flow of the data packet in the preset time period, the historical time period is the time period adopted by the data packet which is sent recently, the first target time period is used as the current time period for sending the data packet, and the data packet received in the first target time period is sent. According to the communication protocol, when the time delay of the data packet received by the destination node is reduced, the flow of the data packet transmitted to the destination node in unit time is increased by the starting node through the intermediate transmission node. Therefore, the data packet sending method provided by the application can increase the data packet flow received by the intermediate transmission node in unit time by reducing the time period of sending the data packet by the intermediate transmission node, namely reducing the time delay of the data packet, thereby achieving the purpose of improving the bandwidth utilization rate.
Based on the foregoing embodiments, an embodiment of the present application provides another data packet sending method, and the embodiment is a specific implementation manner of the foregoing embodiments. Fig. 2 is a flowchart of another data packet sending method according to an embodiment of the present application, where the method includes the following steps:
step S201, obtaining an actual bandwidth utilization rate according to an actual receiving flow of the data packet in a preset time period.
This step can be referred to as step S101, and is not described herein.
Step S202, if the actual bandwidth utilization rate is less than or equal to the preset bandwidth utilization rate, determining that the historical time period is reduced to the amplitude of the first target time period according to the actual bandwidth utilization rate and the preset bandwidth utilization rate to obtain the first target time period, so as to improve the receiving flow of the data packet in the preset time period.
In one possible implementation manner, determining the amplitude of the historical time period reduced to the first target time period according to the actual bandwidth utilization rate and the preset bandwidth utilization rate may specifically be: and when the actual bandwidth utilization rate is less than or equal to the preset bandwidth utilization rate, reducing the historical time period by the fixed reduction amplitude to obtain a first target time period.
In another possible implementation manner, determining the amplitude of the historical time period reduced to the first target time period according to the actual bandwidth utilization and the preset bandwidth utilization specifically includes: and determining the amplitude of the historical time period reduced to the first target time period according to the difference or the ratio between the actual bandwidth utilization rate and the preset bandwidth utilization rate to obtain the first target time period. For example, it may be based on: the larger the difference between the actual bandwidth utilization rate and the preset bandwidth utilization rate is, the larger the reduction amplitude of the historical time period is, the closer the actual bandwidth utilization rate is to the preset bandwidth utilization rate, and the smaller the reduction amplitude is.
As an example, the value of the decrease in the historical time period may be proportional to the difference between the preset bandwidth utilization and the actual bandwidth utilization, e.g., the preset bandwidth utilization is 0.7 and the actual bandwidth utilization isThe value of the decrease in the historical time period may beWherein, C is a constant and can be set according to the actual situation. When the historical time period is T1Time, first target time period T2=T1-X。
Taking the gateway as an example, it is assumed that the number of actually received packets in the preset time period T of 500ms is 5, where the data amount of each packet is 0.5Mb, 0.7Mb, 0.3Mb, and 02Mb and 0.4Mb, therefore, the data volume actually received in 500ms is the sum of the data volumes of the data packets, i.e. 2.1Mb, the average traffic actually received in the preset time period is 4.2Mb/s, the total bandwidth of the gateway is assumed to be 10Mb/s, the actual bandwidth utilization rate is the ratio of the actually received average data traffic to the total bandwidth of the gateway, i.e. α is 4.2/10 is 0.42, since the actual bandwidth utilization rate in the current preset time is less than the preset bandwidth utilization rate 0.7, the historical time period can be reduced, assuming that C is 20, the reduction amount of the historical time period is obtained, i.e. X is (0.7-0.42)/20 is 0.14(s), and assuming that the historical time period is T1500ms, the target time period T2=T1-X=360ms。
In other embodiments of the present application, the magnitude of the decrease of the historical time period may also be other values, which are determined according to practical situations and are not limited herein.
Step S203, if the actual bandwidth utilization is greater than the preset bandwidth utilization, using the historical time period as a first target time period for currently sending the data packet.
In the embodiment of the present application, if the actual bandwidth utilization rate is greater than the preset bandwidth utilization rate, it indicates that the actual bandwidth utilization rate is higher, and the system bandwidth is fully utilized, and the historical time period is used as the target time period for currently sending the data packet, and the data packet received in the last historical time period is sent.
Step S204, using the first target time period as the current time period for sending the data packet, and sending the data packet received in the last first target time period.
This step can be referred to as step S104, and is not described herein.
Step S205, taking the first target time period as the historical time period, returning to step S201 to determine the next time period of currently transmitting the data packet, and continuously executing the preset number of times to obtain each time period of currently transmitting the data packet.
The process of determining the time period of the next current data packet transmission is similar to the time period of the current data packet transmission, and is not described herein again.
Step S206, if the time period of the current data packet transmission corresponding to each time is the first target time period, then the data packet received in the last second target time period is transmitted with the second target time period as the time period of the current data packet transmission. Wherein the duration of the second target time period is greater than the duration of the first target time period.
In this embodiment of the present application, if the time period for currently sending the data packet corresponding to each of the preset times of continuous execution all uses the first target time period as the time period for the current data packet, which indicates that the actual bandwidth utilization is always higher than the preset bandwidth utilization, the second target time period may be used as the time period for currently sending the data packet, and the data packet received in the last second target time period is sent. The duration of the second target time period is greater than the duration of the first target time period, that is, the first target time period is added to the second target time period, and the increase amplitude may be a preset fixed value or may be determined according to the durations of one or more historical time periods.
Because the time period of the data packet is for suppressing the network jitter, the realization of the network jitter effect is affected by a too small sending period, and the suppression of the network jitter can be better realized while the bandwidth utilization rate is ensured by adding the first target time period to the second target time period.
The embodiment of the application can not only improve the bandwidth utilization rate when the actual bandwidth utilization rate is lower, but also can realize better network jitter inhibition and balance between the actual bandwidth utilization rate and the bandwidth utilization rate when the bandwidth utilization rate is higher by increasing the time period and ensuring the bandwidth utilization rate.
Based on the data packet sending method provided by the above embodiment, the embodiment of the present application further provides a data packet sending device, and the working principle of the data packet sending device is described in detail below with reference to the accompanying drawings.
Referring to fig. 3, this figure is a block diagram of a data packet transmitting apparatus according to a third embodiment of the present application. The packet transmission apparatus provided in this embodiment includes:
an actual bandwidth utilization obtaining unit 110, configured to obtain an actual bandwidth utilization according to an actual receiving traffic of the data packet in a preset time period;
a first target time period obtaining unit 120, configured to reduce a historical time period to a first target time period to improve a receiving flow of the data packet within the preset time period if the actual bandwidth utilization is less than or equal to a preset bandwidth utilization, where the historical time period is a time period used for recently sending the data packet;
a first packet sending unit 130, configured to send the packet received in the last first target time period, with the first target time period as the current time period for sending the packet.
The embodiment of the application provides a data packet sending device obtains actual bandwidth utilization ratio according to the actual receiving flow of data packet in the preset time quantum, if actual bandwidth utilization ratio is less than or equal to preset bandwidth utilization ratio, then reduces historical time cycle to first target time cycle, in order to improve the data packet is in the receiving flow in the preset time quantum, historical time cycle is the latest sending the time cycle that the data packet adopted, with first target time cycle is as current sending the time cycle of data packet, send in last the data packet that receives in the first target time cycle. According to the communication protocol, when the time delay of the data packet received by the destination node is reduced, the flow of the data packet transmitted to the destination node in unit time is increased by the starting node through the intermediate transmission node. Therefore, the data packet sending device provided by the application can increase the data packet flow received by the intermediate transmission node in unit time by reducing the time period of sending the data packet by the intermediate transmission node, namely reducing the time delay of the data packet, thereby achieving the purpose of improving the bandwidth utilization rate.
Alternatively, the first target time period acquisition unit may include:
and the reduction amplitude determining subunit is configured to determine, according to the actual bandwidth utilization and the preset bandwidth utilization, an amplitude of reducing the historical time period to a first target time period.
Alternatively, the reduction amplitude determination subunit may include:
and the amplitude reduction comparison determining subunit is configured to determine, according to a difference between the actual bandwidth utilization rate and the preset bandwidth utilization rate or a ratio therebetween, an amplitude of the historical time period reduced to the first target time period. Optionally, the packet sending apparatus may further include:
and a second data packet sending unit, configured to send the data packet received in the last historical time period, with the historical time period as a first target time period for currently sending the data packet, if the actual bandwidth utilization rate is greater than the preset bandwidth utilization rate.
Optionally, the packet sending apparatus may further include:
a time period confirming unit, configured to activate an actual bandwidth utilization rate obtaining unit to determine a next time period for currently sending the data packet, so as to continuously execute preset times to obtain a corresponding time period for currently sending the data packet each time, where the first target time period is used as a historical time period;
a third data packet sending unit, configured to send the data packet received in the last second target time period with a second target time period as the current time period for sending the data packet if the corresponding time period for sending the data packet at each time takes the first target time period as the current time period for sending the data packet, where a duration of the second target time period is greater than a duration of the first target time period.
The data packet sending apparatus provided in the above embodiments may be applied to a device of a projection system or any electronic device with a processor, where the electronic device may be any electronic device existing, being developed, or developed in the future, including but not limited to: existing, developing or future developing desktop computers, laptop computers, mobile terminals (including smart phones, non-smart phones, various tablet computers), and the like. The device embodiments may be implemented by software, or by hardware, or by a combination of hardware and software. The software implementation is taken as an example, and is formed by reading corresponding computer program instructions in the storage into the memory for running through the processor of the projection system device or the electronic device with the processor as a logical means. From a hardware aspect, as shown in fig. 4, it is a hardware structure diagram of a device of a projection system or an electronic device with a processor where the data packet sending apparatus of the present invention is located, except for the processor, the memory, the network interface, and the storage shown in fig. 4, the data packet sending device or the electronic device with a processor where the apparatus is located in the embodiment may also include other hardware, such as a display, according to the actual function of the device, which is not described again.
The memory may store a logic instruction corresponding to the packet transmission method, the memory may be, for example, a non-volatile memory (non-volatile memory), the processor may call the logic instruction stored in the execution memory to execute the packet transmission method, and the display may display a process of transmitting the packet.
The function of the logic instruction corresponding to the data packet transmission method, if implemented in the form of a software functional module and sold or used as an independent product, may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
An embodiment of the present application provides a data packet sending device, where the device includes: a processor and a memory for storing processor-executable instructions;
wherein the processor is configured to:
obtaining an actual bandwidth utilization rate according to actual receiving flow of the data packet in a preset time period;
if the actual bandwidth utilization rate is less than or equal to a preset bandwidth utilization rate, reducing a historical time period to a first target time period so as to improve the receiving flow of the data packet in the preset time period, wherein the historical time period is a time period adopted for recently sending the data packet;
and taking the first target time period as the current time period for sending the data packet, and sending the data packet received in the last first target time period.
When introducing elements of various embodiments of the present invention, the articles "a," "an," "the," and "said" are intended to mean that there are one or more of the elements. The terms "comprising," "including," and "having" are intended to be inclusive and mean that there may be additional elements other than the listed elements.
It should be noted that, as one of ordinary skill in the art would understand, all or part of the processes of the above method embodiments may be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when executed, the computer program may include the processes of the above method embodiments. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the apparatus embodiment, since it is substantially similar to the method embodiment, it is relatively simple to describe, and reference may be made to some descriptions of the method embodiment for relevant points. The above-described apparatus embodiments are merely illustrative, and the units and modules described as separate components may or may not be physically separate. In addition, some or all of the units and modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
The foregoing is directed to embodiments of the present invention, and it is understood that various modifications and improvements can be made by those skilled in the art without departing from the spirit of the invention.
Claims (6)
1. A method for transmitting a data packet, the method comprising:
obtaining an actual bandwidth utilization rate according to actual receiving flow of the data packet in a preset time period;
if the actual bandwidth utilization rate is less than or equal to a preset bandwidth utilization rate, reducing a historical time period to a first target time period so as to improve the receiving flow of the data packet in the preset time period, wherein the historical time period is a time period adopted for recently sending the data packet; taking the first target time period as the current time period for sending the data packet, and sending the data packet received in the last first target time period;
if the actual bandwidth utilization rate is greater than the preset bandwidth utilization rate, the historical time period is taken as a first target time period for currently sending the data packet, and the data packet received in the previous historical time period is sent;
taking the first target time period as a historical time period, returning to the execution step to obtain an actual bandwidth utilization rate according to actual receiving flow of the data packet in a preset time period so as to determine the time period of next current data packet transmission, and continuously executing preset times to obtain the corresponding time period of current data packet transmission each time; and if the time period for sending the data packet at present corresponding to each time takes the first target time period as the time period for sending the data packet at present, sending the data packet received in the last second target time period by taking a second target time period as the time period for sending the data packet at present, wherein the duration of the second target time period is greater than that of the first target time period.
2. The method of claim 1, wherein the historical time period is reduced to a first target time period based on the actual bandwidth utilization and the predetermined bandwidth utilization.
3. The method of claim 2, wherein the historical time period is reduced to the magnitude of the first target time period, derived from the actual bandwidth utilization and the preset bandwidth utilization comprises:
and the historical time period is reduced to the amplitude of the first target time period, and the historical time period is determined according to the difference or the ratio of the actual bandwidth utilization rate and the preset bandwidth utilization rate.
4. The method of claim 1, wherein the duration of the preset time period is equal to the duration of the historical time period.
5. A packet transmission apparatus, comprising:
the actual bandwidth utilization rate obtaining unit is used for obtaining the actual bandwidth utilization rate according to the actual receiving flow of the data packet in the preset time period;
a first target time period obtaining unit, configured to reduce a historical time period to a first target time period to improve a receiving flow of the data packet within the preset time period if the actual bandwidth utilization rate is less than or equal to a preset bandwidth utilization rate, where the historical time period is a time period used for recently sending the data packet; a first data packet sending unit, configured to send the data packet received in a previous first target time period, with the first target time period as a current time period for sending the data packet;
a second data packet sending unit, configured to send the data packet received in the last historical time period, with the historical time period as a first target time period for currently sending the data packet, if the actual bandwidth utilization rate is greater than the preset bandwidth utilization rate;
a time period confirming unit, configured to activate an actual bandwidth utilization rate obtaining unit to determine a next time period for currently sending the data packet, so as to continuously execute preset times to obtain a corresponding time period for currently sending the data packet each time, where the first target time period is used as a historical time period; a third data packet sending unit, configured to send the data packet received in the last second target time period with a second target time period as the current time period for sending the data packet if the corresponding time period for sending the data packet at each time takes the first target time period as the current time period for sending the data packet, where a duration of the second target time period is greater than a duration of the first target time period.
6. A packet transmission apparatus, characterized in that the apparatus comprises: a processor and a memory for storing processor-executable instructions;
wherein the processor is configured to:
obtaining an actual bandwidth utilization rate according to actual receiving flow of the data packet in a preset time period;
if the actual bandwidth utilization rate is less than or equal to a preset bandwidth utilization rate, reducing a historical time period to a first target time period so as to improve the receiving flow of the data packet in the preset time period, wherein the historical time period is a time period adopted for recently sending the data packet;
taking the first target time period as the current time period for sending the data packet, and sending the data packet received in the last first target time period;
if the actual bandwidth utilization rate is greater than the preset bandwidth utilization rate, the historical time period is taken as a first target time period for currently sending the data packet, and the data packet received in the previous historical time period is sent;
taking the first target time period as a historical time period, returning to the execution step to obtain an actual bandwidth utilization rate according to actual receiving flow of the data packet in a preset time period so as to determine the time period of next current data packet transmission, and continuously executing preset times to obtain the corresponding time period of current data packet transmission each time; and if the time period for sending the data packet at present corresponding to each time takes the first target time period as the time period for sending the data packet at present, sending the data packet received in the last second target time period by taking a second target time period as the time period for sending the data packet at present, wherein the duration of the second target time period is greater than that of the first target time period.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711124129.3A CN107920028B (en) | 2017-11-14 | 2017-11-14 | Data packet sending method, device and equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711124129.3A CN107920028B (en) | 2017-11-14 | 2017-11-14 | Data packet sending method, device and equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107920028A CN107920028A (en) | 2018-04-17 |
CN107920028B true CN107920028B (en) | 2020-06-16 |
Family
ID=61895490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711124129.3A Active CN107920028B (en) | 2017-11-14 | 2017-11-14 | Data packet sending method, device and equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107920028B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020010507A1 (en) * | 2018-07-10 | 2020-01-16 | 深圳市大疆创新科技有限公司 | Method for adjusting communication link, communication device, and unmanned aerial vehicle |
CN109547360B (en) * | 2019-02-01 | 2022-02-15 | 中国联合网络通信集团有限公司 | Data transmission scheduling method and device |
CN110087195B (en) * | 2019-04-22 | 2021-12-10 | 希诺麦田技术(深圳)有限公司 | Method and device for transmitting data in wireless ad hoc network and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052043A (en) * | 2007-04-30 | 2007-10-10 | 北京策度集成电路设计有限公司 | TCP sending algorithm based on sending window and reciprocating time |
CN101589586A (en) * | 2007-01-22 | 2009-11-25 | 皇家飞利浦电子股份有限公司 | Recalculating airtime quota in WLAN to use up bandwidth |
CN101978621A (en) * | 2008-08-26 | 2011-02-16 | Sk电信有限公司 | System for measuring transmission bandwidth for media streaming and method for same |
CN102752076A (en) * | 2012-06-20 | 2012-10-24 | 华为技术有限公司 | Control method, device and computer system for data transmission |
CN104767591A (en) * | 2015-04-29 | 2015-07-08 | 北京奇艺世纪科技有限公司 | Data transmitting method and device |
CN106713166A (en) * | 2015-07-31 | 2017-05-24 | 华为技术有限公司 | Method and device for determining size of congestion window |
CN106961398A (en) * | 2017-05-26 | 2017-07-18 | 郑州云海信息技术有限公司 | The band width control method and device of a kind of distributed file system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140160945A1 (en) * | 2012-12-06 | 2014-06-12 | Accedian Networks Inc. | Using bandwidth measurements to adjust cir and eir on a sub-rate link |
-
2017
- 2017-11-14 CN CN201711124129.3A patent/CN107920028B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101589586A (en) * | 2007-01-22 | 2009-11-25 | 皇家飞利浦电子股份有限公司 | Recalculating airtime quota in WLAN to use up bandwidth |
CN101052043A (en) * | 2007-04-30 | 2007-10-10 | 北京策度集成电路设计有限公司 | TCP sending algorithm based on sending window and reciprocating time |
CN101978621A (en) * | 2008-08-26 | 2011-02-16 | Sk电信有限公司 | System for measuring transmission bandwidth for media streaming and method for same |
CN102752076A (en) * | 2012-06-20 | 2012-10-24 | 华为技术有限公司 | Control method, device and computer system for data transmission |
CN104767591A (en) * | 2015-04-29 | 2015-07-08 | 北京奇艺世纪科技有限公司 | Data transmitting method and device |
CN106713166A (en) * | 2015-07-31 | 2017-05-24 | 华为技术有限公司 | Method and device for determining size of congestion window |
CN106961398A (en) * | 2017-05-26 | 2017-07-18 | 郑州云海信息技术有限公司 | The band width control method and device of a kind of distributed file system |
Non-Patent Citations (1)
Title |
---|
网络控制系统变采样周期智能动态调度策略;沈艳,郭兵;《四川大学学报(工程科学版)》;20100131;第2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN107920028A (en) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109951347B (en) | Service identification method, device and network equipment | |
US8942096B2 (en) | Congestion-based traffic metering | |
US9185047B2 (en) | Hierarchical profiled scheduling and shaping | |
US11171862B2 (en) | Multi-subflow network transmission method and apparatus | |
CN107920028B (en) | Data packet sending method, device and equipment | |
US20170331757A1 (en) | Traffic control method, traffic control apparatus and server | |
WO2003015355A2 (en) | Method for supporting non-linear, highly scalable increase-decrease congestion control scheme | |
CN108696449B (en) | Data scheduling method and device | |
US11258717B2 (en) | Method for sending service packet, network device, and system | |
JP7487316B2 (en) | Service level configuration method and apparatus | |
US20230179534A1 (en) | Data packet scheduling method and related apparatus | |
CN104168212A (en) | Method and device for message sending | |
US20220103465A1 (en) | Multi-Subflow Network Transmission Method and Apparatus | |
Zhang et al. | Adaptive-acceleration data center TCP | |
CN109756464B (en) | Communication method, server and client | |
JP2007013449A (en) | Shaper control method, data communication system, network interface device and network repeating device | |
CN106789709B (en) | Load balancing method and device | |
CN109600316A (en) | Control the method and device of flow | |
Rahman et al. | Performance evaluation of a portable PABX system through developing new bandwidth optimization technique | |
Wu et al. | Low latency and efficient packet scheduling for streaming applications | |
Park et al. | Minimizing application-level delay of multi-path TCP in wireless networks: A receiver-centric approach | |
CN109905327B (en) | Wireless network data transmission method, sending end and receiving end | |
Briscoe | Rapid Signalling of Queue Dynamics | |
WO2019232681A1 (en) | Method for providing services and corresponding gateway, storage medium and computer program product | |
CN108282251B (en) | Link adjustment method and device and server |
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 |