A priority queue management method and system

By setting priority queues and weights in satellite terminals to manage L3 to L2 data, the total amount and delay problems in traditional methods are solved, and efficient and low-latency data transmission is achieved.

CN116192771BActive Publication Date: 2025-02-14SPACE ENG NETWORK TECH DEV (HANGZHOU) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310147941.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-09
Publication Date
2025-02-14
Estimated Expiration
2043-02-09

AI Technical Summary

Technical Problem

When processing reverse L3 to L2 data, traditional satellite terminals fail to effectively control the total amount and delay of data, and do not prioritize, resulting in low transmission efficiency.

Method used

The priority queue management method is adopted, by setting the priority and weight of different queues, the total amount of data at the link layer and network layer is limited, and the link layer data packets are encapsulated and sent.

Benefits of technology

The total amount of data from L3 to L2 is effectively controlled, real-time data and timely transmission of high-priority data is ensured, delay is reduced, and transmission efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116192771B_ABST
    Figure CN116192771B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention discloses a priority queue management method and system. In a specific implementation, the method includes setting priorities and weights of different queues; limiting the total amount of data in the link layer and the total amount of data in the network layer according to bandwidth allocation; encapsulating link layer data packets, and sending data between the network layer and the link layer. This implementation effectively controls the total amount of data from the network layer to the link layer; and by setting priorities and weights, it ensures the timely sending of real-time data and high-priority data, reducing delays; and by efficiently encapsulating link layer data packets, it reasonably uses bandwidth physical resources to effectively segment and reassemble packets, thereby improving transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and more specifically, to a priority queue management method and system. Background Art

[0002] When the satellite terminal processes data from the reverse network layer (L3) to the link layer (L2), the limited bandwidth physical resources (Burst) need to send different types of data, including interactive data, media streams, large file data, real-time voice and video data, and control signaling data.

[0003] However, different types of data have different requirements for transmission delay. Therefore, it is necessary to prioritize different types of data and use different processing for different priorities through scheduling. At the same time, for different priorities, it is necessary to ensure that the proportion of data sent meets the set proportion. Therefore, for different data queues, it is necessary to ensure that high-priority data is sent first, and at the same time, it is necessary to ensure that the sending rate of different types of data is sent according to the set proportion at the statistical level.

[0004] In view of the problem that the total amount of L2 or L3 data is not controlled in the traditional method, priority allocation is not made or real-time and non-real-time data are not distinguished, resulting in the problem that delay cannot be guaranteed and transmission efficiency is low, the present invention proposes a priority queue management method and system to solve the L2 data delay problem. Summary of the invention

[0005] The object of the present invention is to provide a priority queue management method and system to solve at least one of the problems existing in the prior art.

[0006] In order to achieve the above object, the present invention adopts the following technical solutions:

[0007] A first aspect of the present invention provides a priority queue management method, the method comprising:

[0008] Set priorities and weights for different queues;

[0009] Limit the total amount of data in the link layer and the total amount of data in the network layer based on bandwidth allocation;

[0010] The link layer data packet is encapsulated, and data is sent between the network layer and the link layer.

[0011] Optionally, setting priorities for different queues further includes separately setting a non-real-time data priority queue and a real-time data priority queue at the link layer, and separately setting a non-real-time data priority queue and a real-time data priority queue at the network layer; wherein the non-real-time data priority queue is configured to send data in a weighted ratio, and the real-time data priority queue is configured to send data by priority and preemptive sending methods.

[0012] Optionally, the non-real-time data priority queue includes an interactive data priority queue, a media stream data priority queue and a file data priority queue.

[0013] Optionally, the real-time data priority queue includes a real-time voice and video data priority queue, a first real-time control signaling priority queue and a second real-time control signaling priority queue; wherein the real-time voice and video data priority queue is configured to send data in a "send as much as possible" manner.

[0014] Optionally, configuring the non-real-time data priority queue to send data in a weighted ratio further includes using a third algorithm to control the length of the non-real-time data priority queue, and using a second algorithm to allocate the length of the bandwidth occupied by the non-real-time data priority queue according to the weighted ratio.

[0015] Optionally, the encapsulation of the link layer data packet further includes segmenting the data packet and transmitting the data packet through multiple physical resources.

[0016] Optionally, limiting the total amount of data in the link layer and the total amount of data in the network layer according to bandwidth allocation includes causing the terminal to send a bandwidth request through a first algorithm; wherein the bandwidth request includes the summary sum of the priority queue data of the link layer and the priority queue data of the network layer.

[0017] Optionally, the third algorithm includes controlling the amount of data enqueued in the link layer priority queue by measuring the size of free space in the link layer priority queue based on the bandwidth allocation obtained by the terminal.

[0018] Optionally, the second algorithm includes dividing the sending buffer by length according to the non-real-time data priority queue according to a weight ratio to obtain multiple segments of space; wherein each segment of the space allows the real-time data priority queue to occupy it.

[0019] A second aspect of the present invention provides a priority queue management system, the system comprising

[0020] Priority and weight setting unit, used to set the priority and weight of different queues;

[0021] A bandwidth allocation unit, used to limit the total amount of data in the link layer and the total amount of data in the network layer according to the bandwidth allocation;

[0022] The encapsulation unit is used to encapsulate the link layer data packet and send the data between the network layer and the link layer.

[0023] The beneficial effects of the present invention are as follows:

[0024] The present invention discloses a priority queue management method, which effectively controls the total amount of data from L3 to L2; ensures the timely transmission of real-time data and high-priority data by setting priorities and weights, thereby reducing delays; and through efficient encapsulation of L2 data packets, reasonably uses bandwidth physical resources to effectively segment and reassemble packets, thereby improving transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The specific implementation modes of the present invention are further described in detail below in conjunction with the accompanying drawings.

[0026] Figure 1 A flow chart of a priority queue management method provided by an embodiment of the present invention is shown.

[0027] Figure 2 A schematic diagram showing the relationship between a dequeue and a burst buff provided in an embodiment of the present invention is shown.

[0028] Figure 3 The encapsulation flow chart provided by the embodiment of the present invention is shown.

[0029] Figure 4 A schematic diagram showing the relationship among Superframe, Frame, Burst and Slot provided in an embodiment of the present invention is shown.

[0030] Figure 5 A structural block diagram of a priority queue management system provided by an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0031] In order to explain the present invention more clearly, the present invention is further described below in conjunction with embodiments and drawings. Similar components in the drawings are represented by the same reference numerals. It should be understood by those skilled in the art that the content specifically described below is illustrative rather than restrictive, and the protection scope of the present invention should not be limited thereto.

[0032] The forward and reverse satellite links of the remote terminal have the characteristic of unequal bandwidth. The bandwidth of the forward satellite link is relatively abundant, while the bandwidth of the reverse link is relatively scarce. Therefore, the reverse link uses multi-frequency time division multiple access (MF-TDMA) to improve the service capacity of the remote terminal.

[0033] The process of two-way data communication between the remote terminal and the IP gateway via the satellite network. The data request of the remote terminal is transmitted to the IP gateway via the reverse link through the satellite network. The IP gateway returns the request data obtained from the Internet network to the remote terminal via the forward link. In order to improve the TCP / IP performance in the satellite link environment, PEP servers are deployed on both the user terminal side and the IP gateway side to achieve TCP acceleration.

[0034] The remote terminal reverse data link layer (DLL) is located below the network layer, providing multiplexing functions for various data messages in the network layer to achieve reliable and efficient data transmission services. The data link layer (DLL) is divided into the satellite link control (SLC) sublayer and the media access control (MAC) sublayer. Among them, the satellite link control (SLC) sublayer is responsible for providing data message transmission control between the remote terminal and the IP gateway in the star network and between the remote terminals in the mesh network; the media access control (MAC) sublayer is responsible for actual data transmission, wireless resources and media access control application.

[0035] The traditional satellite terminal does not control the total amount of L2 or L3 data in processing reverse L3 to L2 data, does not allocate priorities, or does not distinguish between real-time and non-real-time data, resulting in problems such as unguaranteed delays and low transmission efficiency.

[0036] In view of this, an embodiment of the present invention provides a priority queue management method, which includes setting priorities and weights of different queues; limiting the total amount of data in the link layer and the total amount of data in the network layer according to bandwidth allocation; encapsulating link layer data packets, and sending data between the network layer and the link layer.

[0037] Specifically, Figure 1 A flow chart of a priority queue management method provided by an embodiment of the present invention is shown.

[0038] In one possible implementation, setting priorities for different queues further includes separately setting a non-real-time data priority queue and a real-time data priority queue at the link layer, and separately setting a non-real-time data priority queue and a real-time data priority queue at the network layer; wherein the non-real-time data priority queue is configured to send data in a weighted ratio, and the real-time data priority queue is configured to send data by priority and preemptive sending methods.

[0039] In a possible implementation, the non-real-time data priority queue includes an interactive data priority queue, a media stream data priority queue, and a file data priority queue.

[0040] In one possible implementation, the real-time data priority queue includes a real-time voice and video data priority queue, a first real-time control signaling priority queue, and a second real-time control signaling priority queue; wherein the real-time voice and video data priority queue is configured to send data in a manner of sending as much as possible.

[0041] Specifically, the L2 data of this embodiment includes interactive data, media stream data, large file data, real-time voice and video data, and control signaling, which can be divided into six queues in order of priority, namely, a high priority real-time control signaling queue ctrlmsg queue; a high priority real-time voice data queue voip queue; a second highest priority real-time control signaling queue pri0 queue; non-real-time data is divided into pri1 queue, pri2 queue and pri3queue according to different data types.

[0042] Among them, ctrlmsg queue, voip queue and pri0 queue are real-time data queues, and data is sent as much as possible; while pri1 queue, pri2 queue and pri3 queue are non-real-time data queues, and their data is sent according to the weight ratio of the Dequeueing allocation algorithm (the second algorithm).

[0043] Incomplete queue is also included, which is used to store the fragmented packets to be sent. Figure 2 A schematic diagram showing the relationship between a dequeue and a burst buff provided in an embodiment of the present invention is shown.

[0044] The length of the existing send buffer Burst Buff is variable, and its space is pre-divided into three lengths of PRI1, PRI2, and PRI3 according to the Dequeueing allocation algorithm. The high-priority queue is dequeued first in a crowding manner, and the purpose of crowding out the send buffer in proportion is achieved by crowding out the low-priority data space.

[0045] In one possible implementation, configuring the non-real-time data priority queue to send data according to a weight ratio further includes using a third algorithm to control the length of the non-real-time data priority queue, and using a second algorithm to allocate the length of the bandwidth occupied by the non-real-time data priority queue according to the weight ratio.

[0046] Specifically, assume that at time frame t, the bandwidth allocated to the terminal is S(t) (in slots). The number of information bits in each slot is represented as b0 (in bytes), and W is used i Indicates the corresponding weight of the priority data, Indicates the current queue length of link layer priority type i, i = 1,...,M, M is the number of priorities, and the default value is M = 3.

[0047] The queue service process is represented as follows (in slots):

[0048] For priority 1 (interactive data), the following number of slots are allocated:

[0049]

[0050] For priority 2 (media stream data), the following number of slots are allocated:

[0051]

[0052] For priority 3 (large file data), the following number of slots are allocated:

[0053]

[0054] If there are still remaining slots, that is, ΔS(t) = S(t) - S1(t) - S2(t) - S3(t) > 0, ΔS(t) is allocated to data of different priorities in the order of priority from 1 to 3. The allocation process ends when all remaining slots are allocated or there is no more redundant link layer data.

[0055] Finally, the slots allocated to each priority level are converted into bytes as the buffer length allocated by the queue.

[0056] In a possible implementation, encapsulating the link layer data packet further includes segmenting the data packet and transmitting the data packet through multiple physical resources.

[0057] Specifically, before transmitting data packets (L3 PDU) of different priorities, the terminal needs to encapsulate the data packets. The encapsulated data packets are transmitted through the Burst allocated to the terminal by RCM. In order to reasonably use physical resources (Burst), if the size of the data packet is appropriate, one Burst will usually encapsulate multiple data packets. If the encapsulated data packet exceeds the length of a Burst, the data packet will be segmented and the data packet will be transmitted through multiple Bursts. At the receiving end, the segmented data packets are reassembled and finally restored to the original data packet. The encapsulation process is divided into two stages. The first stage is called the satellite link control (SLC) stage, which implements the segmentation of data packets and the encapsulation of SLC data packets. The second stage is called the medium access control (MAC) stage, which implements the reliable transmission of data packets and the encapsulation of MAC data packets. One Burst encapsulates one MAC data packet, and one MAC data packet may encapsulate multiple SLC data packets.

[0058] MAC data packets are divided into non-pre-allocated channel (Aloha) MAC data packets and pre-allocated channel (Allocated) MAC data packets according to the different communication channels used. The remote terminal uses burst to transmit the upper layer protocol data (L3 PDU) in reverse. The length of the upper layer protocol data (L3 PDU) varies. At the same time, the burst transmission bandwidth of the terminal also changes with time. In order to efficiently and fully utilize the burst bandwidth resources, the upper layer protocol data (L3 PDU) needs to be segmented as necessary to fully utilize the burst bandwidth resources.

[0059] like Figure 3The encapsulation flow chart provided by an embodiment of the present invention is shown. For example, there are four upper-layer protocol data units (PDU1, PDU2, PDU3, PDU4), and the terminal uses three Bursts to transmit the four protocol data units (PDUs), wherein PDU1 segment 1 (PDU1) uses a Burst for data transmission, and the corresponding SLC layer and MAC layer respectively perform data encapsulation and encapsulate the corresponding headers. Segment 2 (PDU1) of PDU1 and PDU2, segment 1 (PDU3) of PDU3 use a Burst for data transmission. Corresponding to three different PDU parts, the SLC layer encapsulates three SLC headers, and the MAC layer encapsulates a MAC header. Segment 2 (PDU3) of PDU3 and PDU4 use a Burst for data transmission. Corresponding to two different PDU parts, the SLC layer encapsulates two SLC headers, and the MAC layer encapsulates a MAC header. Since the upper-layer protocol data unit (PDU) data cannot completely fill the third Burst, the terminal uses Padding data for filling.

[0060] The encapsulated MAC data packet will finally be written into the buffer for encoding and transmission by the physical layer.

[0061] In one possible implementation, limiting the total amount of data in the link layer and the total amount of data in the network layer based on bandwidth allocation includes causing the terminal to send a bandwidth request through a first algorithm; wherein the bandwidth request includes the summary sum of the priority queue data of the link layer and the priority queue data of the network layer.

[0062] Specifically, in order to implement bandwidth resource allocation for the RCM reverse channel, the remote terminal must send an RCM bandwidth request (Backlog Reporting), which contains the summary of all priority data, including the priority queue data of the link layer (L2) and the priority queue data of the network layer (L3).

[0063] At the link layer (L2), for each priority type, there is a queue with a limited length to store data. These priority types of data include interactive data, media stream data, and large file data. The size of data that the network layer (L3) can write to the link layer (L2) depends on the data occupancy of the current queue of the link layer (L2).

[0064] At the network layer (L3), there are three types of written traffic data, namely the so-called spoofed TCP data stream (corresponding to the PEP TCP queue), the non-spoofed data stream (corresponding to the NON-PEP TCP) and the UDP data stream. Each data stream includes three types of priority data. Different types of traffic data and traffic data from different data sources are multiplexed in the priority queue of the link layer (L2), and then the data is transmitted via the satellite modulation equipment.

[0065] Assume that there are M priority types (M=3 by default), and each priority type has multiple data flows.

[0066] Using N i Represents the number of data flows of the i-th priority type, i=1,...,M.

[0067] Use q ij Indicates the queue length of priority type i and data flow j, i = 1, ..., M, j = 1, ..., N i .

[0068] use Indicates the total length of the summary queue of the deceptive TCP data flow, k=1.

[0069] use and Respectively represent the total length of the summary queue of non-deceptive TCP data flow and UDP data flow, i = 1, ..., M. In addition, the deceptive TCP data flow will be multiplexed in the PEP sending queue according to the priority.

[0070] Using Q PEP,i Indicates the aggregate queue length of PEP priority queue i.

[0071] Limited by the underlying design and implementation, the queue lengths stored in these L3 queues may vary, but the total amount of data of each priority level is controlled by the flow control algorithm.

[0072] For each priority type i, i=1,...,M, the total amount of queue data at the network layer (L3) is expressed as follows (in bytes):

[0073]

[0074] The total amount of queued data at the network layer (L3) is expressed as follows (in bytes):

[0075]

[0076] Using X iRepresents the PEP window size of priority i, i=1,...,M.

[0077] Use T0 to represent the reporting period for backlog data, and use T RTT Indicates the RTT time (in frames or ms).

[0078] Using R plan Indicates the transmission service rate (in bytes / frame).

[0079] Then for priority i, the maximum data capacity that L3 can write to L2 is determined by the following formula:

[0080]

[0081] Note: The PEP window size is an input value of the algorithm, which comes from the PEP system.

[0082] Similarly, using Indicates the total amount of queue data of L2 priority i, i = 1,...,M. The total data capacity of the L2 queue (in bytes) can be expressed as:

[0083]

[0084] Using T a Indicates the average fairness period used in bandwidth resource allocation. The default value is T a =4frames.

[0085] The fairness cycle enables the reverse direction to obtain multiple frames of bandwidth resources, thus ensuring that the terminal can perform data transmission with a large burst size.

[0086] Taking into account the L2 / L3 layer data traffic and transmission service rate, the terminal backlog report of priority i can be expressed as follows (i=1,...,M):

[0087]

[0088] Where T R ≥max(T a ,T0), and this value can be configured.

[0089] If there are additional bandwidth resources, RCM can allocate more bandwidth resources than the transmission service rate to the terminal for data transmission.

[0090] In summary, the vector expression of the terminal backlog data (Backlog) report can be expressed as:

[0091]

[0092] The following discusses several topics related to the Terminal Backlog report:

[0093] The first theme is T R Assume that the terminal has sufficient traffic data and the backlog data (Backlog) report is provided by T R Decide.

[0094] In some cases, you can set T a is 4 frames, T0 is 8 to 16 frames. In other cases, set T R It is also reasonable to set it to 8 to 16 frames and T0 to 1 frame.

[0095] Another topic is that periodic reporting of backlog data and "on-demand reporting" can be used at the same time. When there is a significant change in the backlog data, especially when there is a significant change in the priority 1 backlog data, the terminal can immediately send a backlog report. "On-demand reporting" can be limited to only when the priority 1 data changes and the data growth exceeds 1 / 2 of the L2 queue limit.

[0096] In a possible implementation, the third algorithm includes controlling the amount of data enqueued in the link layer priority queue by measuring the size of the free space of the link layer priority queue based on the bandwidth allocation obtained by the terminal.

[0097] Specifically, based on the actual bandwidth allocation obtained by the terminal, by dynamically measuring the free space size of the L2 queue, the amount of data entering the L2 queue can be better controlled. In this way, when severe congestion occurs at the terminal, data packet loss in the L2 queue can be well reduced, thereby reducing the L2 packet loss rate.

[0098] When a terminal starts up, the L2 queue size is determined by its transmission service rate setting (plan rate) and fairness period (Fairness Period).

[0099] Set the fairness period to 8 frames and the plan rate to R. plan (Unit: bytes / frame), the buffer size of each priority queue is the data volume equivalent to the corresponding transmission service rate (planrate) of 8 frames.

[0100] 8*R planSet to the upper limit of the L2 queue size.

[0101] The amount of data that L3 can write to the L2 queue (which can be written based on a time interval of 40ms per frame or based on the arrival of packets) can be determined as follows:

[0102] The calculation formula of the queue size is adjusted using a calculation ratio, ratio = C Avg (t) / R plan , that is, the ratio value = average bandwidth allocation / transmission service rate setting of the terminal.

[0103] Note C Avg (t) and R plan The units are bytes / frame, and t is the time value in frames.

[0104] Set K max and K min The upper and lower limits of the L2 queue size can be configured (in frames of rate plan). Use q to represent the dynamic queue size (in frames of rate plan, i.e. the number of frames of a certain transmission service rate setting value), where q is a decimal value.

[0105] The calculated ratio r is

[0106] r = min[1, C Avg (t) / R plan ]

[0107] The calculation formula of q is

[0108] q=K min +r*(K max -K min )

[0109] The value of q is generally rounded to 0.1.

[0110] After determining the calculation method of q, the dynamic queue size of the L2 priority queue in bytes is determined by the following formula:

[0111]

[0112] Among them, i=1,2,3.

[0113] The default L2 queue upper and lower limits are: K max =8 and K min =4. The initial value of the queue size is K max .

[0114] After determining the calculation method of the L2 dynamic queue size, the amount of data that can be written from L3 to L2 for each priority level is calculated using the following formula:

[0115]

[0116] Among them, i=1,2,3.

[0117] In a possible implementation, the second algorithm includes dividing the sending buffer by length according to the non-real-time data priority queue according to the weight ratio to obtain multiple segments of space; wherein each segment of the space allows the real-time data priority queue to occupy it.

[0118] Specifically, Figure 4 A schematic diagram showing the relationship among Superframe, Frame, Burst and Slot provided in an embodiment of the present invention is shown.

[0119] Before transmitting packets of different priorities (L3 PDU), the terminal needs to encapsulate the packets. The encapsulated packets are transmitted through the terminal's Burst. In order to reasonably use physical resources (Burst), if the size of the packet is appropriate, usually one Burst will encapsulate multiple packets. If the encapsulated packet exceeds the length of a Burst, the packet will be segmented and transmitted through multiple Bursts.

[0120] The terminal sets the sending buffer area according to the obtained Burst bandwidth allocation, and each priority queue shares the buffer; when a packet enters the queue, the remaining amount of the currently available buffer space is determined; the priority of the data frame stored in the current buffer space is determined; and high priority packets are guaranteed to enter the buffer area under restricted conditions.

[0121] The basic space division of the shared buffer is set through the algorithm; the three low-priority queues are used to calculate the space length of the buffer respectively according to the data length bytes in the queue and the preset ratio.

[0122] When high-priority data needs to occupy buffer space, the high-priority data queue length and the occupied buffer length calculated by the low-priority queue are added together, and the buffer space of the lower-priority data is occupied;

[0123] When writing to the buffer space, data is dequeued from the high priority queue first. According to the calculated occupied buffer length, data is dequeued until it is full. When the high priority queue is empty and the buffer is not full, data is dequeued from the low priority queue and written to the buffer.

[0124] The processing premise of this algorithm is that the length of the high-priority queue is limited, and it is at least one order of magnitude longer than the length of the low-priority queue. Therefore, the high-priority queue can be given priority in occupying the buffer and the low-priority buffer space can be compressed step by step, ensuring the real-time transmission of high-priority data. At the same time, the low-priority buffer space ratio is also guaranteed in the time dimension of multiple frames.

[0125] Because the buffer length is a finite value, the tail packet may be split into two parts. The front part is written into the buffer, and the back part will be saved in the incomplete queue. The incomplete queue will be set to a high priority and will be sent first when the send buffer is reset next time.

[0126] In other algorithms, it is often necessary to prejudge the frame length of the data frame. Because the random length of the frame will increase the complexity when judging how to queue the data frame, it cannot guarantee the real-time nature of high-priority data and the configurability of the overall queue data sending ratio.

[0127] In order to ensure low-latency transmission of real-time data, different types of data are classified and stored in different data queues. The length of each queue is counted separately, and the number of bytes increases when each queue is entered and decreases when each queue is exited.

[0128] When sending data, three cycles are performed with prii, i = 1, 2, 3;

[0129] Each time, the total length of the ctrlmsg queue, voip queue, and pri0 queue is accumulated, and the sum of the length and prii is written as writebytes. If the value is greater than zero, the queues are dequeued in order of priority. Each time a packet is dequeued, the remaining data length of the dequeued queue is modified, and the packet length is subtracted from writebytes. When writebytes is less than or equal to 0, the current loop ends and the next loop begins.

[0130] The priority queue management method disclosed in this embodiment effectively controls the total amount of data from L3 to L2; and ensures the timely transmission of real-time data and high-priority data by setting priorities and weights, thereby reducing delays; and through efficient encapsulation of L2 data packets, reasonably uses bandwidth physical resources to effectively segment and reassemble packets, thereby improving transmission efficiency.

[0131] This patent provides an efficient and low-latency queue management method that can ensure the timely delivery of high-priority data and ensure that the delivery rates of different types of data meet the set ratios.

[0132] Another embodiment of the present invention provides a priority queue management system, which includes a priority and weight setting unit for setting the priorities and weights of different queues; a bandwidth allocation unit for limiting the total amount of data in the link layer and the total amount of data in the network layer according to the bandwidth allocation; and an encapsulation unit for encapsulating link layer data packets and sending data between the network layer and the link layer.

[0133] Specifically, Figure 5 A structural block diagram of a priority queue management system provided by an embodiment of the present invention is shown.

[0134] The priority queue management system disclosed in this embodiment effectively controls the total amount of data from L3 to L2; and ensures the timely transmission of real-time data and high-priority data by setting priorities and weights, thereby reducing delays; and through efficient encapsulation of L2 data packets, reasonably uses bandwidth physical resources to effectively segment and reassemble packets, thereby improving transmission efficiency.

[0135] In the description of the present invention, it should be noted that the terms "upper", "lower", etc. indicate positions or positional relationships based on the positions or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific position, be constructed and operated in a specific position, and therefore cannot be understood as a limitation on the present invention. Unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be a connection between the two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to the specific circumstances.

[0136] It should also be noted that, in the description of the present invention, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.

[0137] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not limitations on the embodiments of the present invention. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is impossible to list all the embodiments here. All obvious changes or modifications derived from the technical solution of the present invention are still within the protection scope of the present invention.

Claims

1. A priority queue management method, characterized in that: The method includes Set priorities and weights for different queues; Limit the total amount of data in the link layer and the total amount of data in the network layer based on bandwidth allocation; Encapsulating link layer data packets and transmitting data between the network layer and the link layer; The setting of priorities of different queues further includes setting a non-real-time data priority queue and a real-time data priority queue at the link layer, and setting a non-real-time data priority queue and a real-time data priority queue at the network layer; wherein the non-real-time data priority queue is configured to send data in a weighted ratio, and the real-time data priority queue is configured to send data in a priority and squeezed sending manner; The non-real-time data priority queue is configured to send data in a weighted ratio, further comprising controlling the length of the non-real-time data priority queue by using a third algorithm, and allocating the length of the bandwidth occupied by the non-real-time data priority queue by using a second algorithm according to the weighted ratio; The third algorithm includes controlling the amount of data enqueued in the link layer priority queue by measuring the free space size of the link layer priority queue based on the bandwidth allocation obtained by the terminal; The second algorithm includes dividing the sending buffer by length according to the non-real-time data priority queue according to the weight ratio to obtain multiple segments of space; wherein each segment of the space allows the real-time data priority queue to occupy it; Limiting the total amount of data in the link layer and the total amount of data in the network layer according to bandwidth allocation includes causing the terminal to send a bandwidth request through a first algorithm; wherein the bandwidth request includes the summary sum of the priority queue data of the link layer and the priority queue data of the network layer.

2. The priority queue management method according to claim 1, characterized in that: The non-real-time data priority queue includes an interactive data priority queue, a media stream data priority queue and a file data priority queue.

3. The priority queue management method according to claim 1, characterized in that: The real-time data priority queue includes a real-time voice and video data priority queue, a first real-time control signaling priority queue and a second real-time control signaling priority queue; wherein the real-time voice and video data priority queue is configured to send data in a manner of sending as much as possible.

4. The priority queue management method according to claim 1, characterized in that: The encapsulation of the link layer data packet further includes segmenting the data packet and transmitting the data packet through multiple physical resources.

5. A priority queue management system, characterized in that: The system includes Priority and weight setting unit, used to set the priority and weight of different queues; A bandwidth allocation unit, used to limit the total amount of data in the link layer and the total amount of data in the network layer according to the bandwidth allocation; An encapsulation unit, used to encapsulate link layer data packets and send data between the network layer and the link layer; The setting of priorities of different queues further includes setting a non-real-time data priority queue and a real-time data priority queue at the link layer, and setting a non-real-time data priority queue and a real-time data priority queue at the network layer; wherein the non-real-time data priority queue is configured to send data in a weighted ratio, and the real-time data priority queue is configured to send data in a priority and squeezed sending manner; The non-real-time data priority queue is configured to send data in a weighted ratio, further comprising controlling the length of the non-real-time data priority queue by using a third algorithm, and allocating the length of the bandwidth occupied by the non-real-time data priority queue by using a second algorithm according to the weighted ratio; The third algorithm includes controlling the amount of data enqueued in the link layer priority queue by measuring the free space size of the link layer priority queue based on the bandwidth allocation obtained by the terminal; The second algorithm includes dividing the sending buffer by length according to the non-real-time data priority queue according to the weight ratio to obtain multiple segments of space; wherein each segment of the space allows the real-time data priority queue to occupy it; Limiting the total amount of data in the link layer and the total amount of data in the network layer according to bandwidth allocation includes causing the terminal to send a bandwidth request through a first algorithm; wherein the bandwidth request includes the summary sum of the priority queue data of the link layer and the priority queue data of the network layer.

Citation Information

Patent Citations

  • Queue scheduling method based on multiple priorities

    CN104079501A

  • Industrial internet time delay optimization method based on time-sensitive software defined network

    CN114666280A