A transmission stream bandwidth scheduling method, system, device and medium

By allocating transport streams based on MQTT topic priority in the MQTT over QUIC protocol, and using congestion control algorithm and linear planning of scheduling bandwidth, the challenge of transport stream bandwidth scheduling in the MQTT over QUIC protocol is solved, and efficient and adaptive network resource allocation is achieved.

CN119211161BActive Publication Date: 2025-04-04HANGZHOU YINGYUN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411442422.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-16
Publication Date
2025-04-04
Estimated Expiration
2044-10-16

AI Technical Summary

Technical Problem

How to reasonably schedule the transmission stream bandwidth based on MQTT over QUIC protocol to solve the challenge of multiplexing characteristics to congestion control algorithm.

Method used

By establishing an MQTT over QUIC connection, the data sent by the client application is obtained and the corresponding transport stream is allocated to the data based on the MQTT topic and its priority. Then, congestion control algorithm and linear planning are used to allocate bandwidth resources to each transmission stream to ensure the timely transmission of high-priority data.

Benefits of technology

It realizes adaptively adjusting the network resources occupied by different MQTT topic priority data according to network conditions and bandwidth fluctuations, avoiding key data blocking transmission due to the bandwidth consumption of important data, and solving the rationality of transmission stream bandwidth scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211161B_ABST
    Figure CN119211161B_ABST
Patent Text Reader

Abstract

The present application relates to a transmission stream bandwidth scheduling method, system, device and medium, wherein the method includes: establishing an MQTT over QUIC connection containing at least one transmission stream; obtaining data containing an MQTT topic sent by a client application; allocating corresponding transmission streams for data transmission based on the MQTT topic and the priority of the MQTT topic; and allocating corresponding bandwidth resources to each transmission stream through a congestion control algorithm and linear programming based on the MQTT topic priority of the data on each transmission stream. Through the present application, it is realized to apply linear programming and congestion control algorithms to multi-stream transmission scenarios of MQTT over QUIC, ensuring that key data will not be blocked from being sent because less important data consumes bandwidth, and solving the problem of how to reasonably schedule the bandwidth of transmission streams based on the MQTT over QUIC protocol.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data transmission, and in particular to a transmission stream bandwidth scheduling method, system, device and medium. Background Art

[0002] The MQTT (Message Queuing Telemetry Transport) protocol is a protocol widely used in intelligent connected applications such as the Internet of Things and the Internet of Vehicles. It is suitable for resource-constrained devices and low-bandwidth, high-latency or unstable network environments. The QUIC protocol focuses on improving the performance and security of network applications. Combining QUIC and MQTT protocols can significantly improve message transmission performance and reduce latency.

[0003] Although MQTT over QUIC has solved the problems of high reconnection handshake delay and head-of-line blocking of the original MQTT over TCP to a certain extent, the multiplexing feature it introduced has also posed new challenges to the original congestion control algorithms designed based on TCP. In other words, how to reasonably schedule the bandwidth of the transmission stream based on the MQTT over QUIC protocol is an urgent problem to be solved.

[0004] Currently, there is no effective solution to the problem of how to reasonably schedule the transmission stream bandwidth based on the MQTT over QUIC protocol in related technologies. Summary of the invention

[0005] The embodiments of the present application provide a transport stream bandwidth scheduling method, system, device and medium to at least solve the problem of how to reasonably schedule the transport stream bandwidth based on the MQTT over QUIC protocol in the related art.

[0006] In a first aspect, an embodiment of the present application provides a method for transport stream bandwidth scheduling, the method comprising:

[0007] Establishing an MQTT over QUIC connection, wherein the MQTT over QUIC connection includes at least one transport stream;

[0008] Obtaining data sent by a client application, wherein the data includes an MQTT topic;

[0009] Based on the MQTT topic and the priority of the MQTT topic, assign a corresponding transmission stream to the data for data transmission;

[0010] Based on the MQTT topic priority of the data on each transmission stream, corresponding bandwidth resources are allocated to each transmission stream through congestion control algorithm and linear programming.

[0011] In some embodiments, based on the MQTT topic and the priority of the MQTT topic, allocating a corresponding transmission stream for the data for data transmission includes:

[0012] Calculate a weight value of each transport stream in the MQTT over QUIC connection based on the priority of the MQTT topic;

[0013] Based on the MQTT topic, determining an MQTT topic to which no transmission stream has been allocated;

[0014] Based on the weight value of the transmission flow, a target transmission flow of the unallocated MQTT topic is determined, wherein the target transmission flow is used to transmit the data related to the MQTT topic.

[0015] In some embodiments, based on the priority of the MQTT topic, calculating the weight value of each transmission stream in the MQTT over QUIC connection includes:

[0016] By weight calculation formula , calculate the weight value of each transmission flow in the MQTT over QUIC connection, where W k is the weight value of the kth transmission flow, C is the remaining length of the message queue of the transmission flow, A is the total number of MQTT topics on the transmission flow, and a i is the priority of the i-th MQTT topic on the transport stream, V i is the transmitted data volume of the i-th MQTT topic on the transport stream.

[0017] In some embodiments, determining the target transmission flow of the unassigned MQTT topic based on the weight value of the transmission flow includes:

[0018] Determine a transmission stream with a maximum weight value from the transmission streams of the MQTT over QUIC connection, and use the transmission stream with the maximum weight value as the target transmission stream of the unassigned MQTT topic;

[0019] If the weight values ​​of the transport streams of the MQTT over QUIC connection are all negative, a new transport stream is created as the target transport stream of the unassigned MQTT topic.

[0020] In some embodiments, based on the MQTT topic priority of data on each transmission stream, allocating corresponding bandwidth resources to each transmission stream through a congestion control algorithm and linear programming includes:

[0021] Calculate the optimal sending rate of the MQTT over QUIC connection through a congestion control algorithm;

[0022] Based on the MQTT topic priority of the data on each transmission stream, corresponding bandwidth resources are allocated to each transmission stream through linear programming under the condition of satisfying the optimal sending rate and preset constraints.

[0023] In some embodiments, based on the MQTT topic priority of the data on each transmission stream, under the condition of satisfying the optimal sending rate and preset constraints, allocating corresponding bandwidth resources to each transmission stream through linear programming includes:

[0024] When the optimal transmission rate and the preset constraints are met and Under the condition of j is the bandwidth resource allocated to the jth transmission stream, B is the number of transmission streams, and Bw max For the total bandwidth resources; through linear planning, more bandwidth resources are allocated to the transmission flow carrying the data with high priority of the MQTT topic.

[0025] In some embodiments, allocating more bandwidth resources to the transmission stream carrying data with high MQTT topic priority through linear programming includes:

[0026] By linear programming, we can calculate the target The bandwidth resources of each transmission stream in the maximum case, where B is the number of transmission streams, α j is the MQTT topic priority to be transmitted on the jth transmission stream, α total is the sum of the priorities of the MQTT topics transmitted on the transport stream, X j is the bandwidth resource allocated to the jth transport stream.

[0027] In a second aspect, an embodiment of the present application provides a transport stream bandwidth scheduling system, the system is used to execute the method described in the first aspect above, the system includes an establishment module, an acquisition module, an allocation module and a scheduling module;

[0028] The establishing module is used to establish an MQTT over QUIC connection, wherein the MQTT over QUIC connection includes at least one transport stream;

[0029] The acquisition module is used to acquire data sent by the client application, wherein the data includes an MQTT topic;

[0030] The allocation module is used to allocate a corresponding transmission stream for the data for data transmission according to the MQTT topic and the priority of the MQTT topic;

[0031] The scheduling module is used to allocate corresponding bandwidth resources to each transmission stream according to the MQTT topic priority of the data on each transmission stream through a congestion control algorithm and linear programming.

[0032] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method described in the first aspect when executing the computer program.

[0033] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect above.

[0034] Compared with the related art, the embodiments of the present application provide a transmission stream bandwidth scheduling method, system, device and medium, wherein the method establishes an MQTT over QUIC connection, wherein the MQTT over QUIC connection includes at least one transmission stream; obtains data sent by a client application, wherein the data includes an MQTT topic; based on the MQTT topic and the priority of the MQTT topic, allocates corresponding transmission streams to the data for data transmission; based on the MQTT topic priority of the data on each transmission stream, allocates corresponding bandwidth resources to each transmission stream through a congestion control algorithm and linear programming, thereby realizing the application of linear programming and congestion control algorithms to the multi-stream transmission scenario of MQTT over QUIC, adaptively adjusting the network resources occupied by data of different MQTT topic priorities according to network conditions and bandwidth fluctuations, ensuring that key data will not be blocked from being sent because less important data consumes bandwidth, and solving the problem of how to reasonably schedule the transmission stream bandwidth based on the MQTT over QUIC protocol. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0036] Figure 1 is a flowchart of the steps of the transmission stream bandwidth scheduling method according to an embodiment of the present application;

[0037] Figure 2 It is a simplified flowchart of a transmission stream bandwidth scheduling method according to an embodiment of the present application;

[0038] Figure 3 is a flow chart of a method for scheduling bandwidth of a transport stream according to an embodiment of the present application;

[0039] Figure 4It is a schematic diagram of the internal structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0040] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application is described and illustrated below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments provided in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.

[0041] Obviously, the drawings described below are only some examples or embodiments of the present application. For ordinary technicians in this field, the present application can also be applied to other similar scenarios based on these drawings without creative work. In addition, it can also be understood that although the efforts made in this development process may be complicated and lengthy, for ordinary technicians in this field related to the content disclosed in this application, some changes in design, manufacturing or production based on the technical content disclosed in this application are just conventional technical means, and should not be understood as insufficient content disclosed in this application.

[0042] Reference to "embodiments" in this application means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those of ordinary skill in the art that the embodiments described in this application may be combined with other embodiments without conflict.

[0043] Unless otherwise defined, the technical terms or scientific terms involved in this application should be understood by people with ordinary skills in the technical field to which this application belongs. The words "one", "a", "a", "the" and the like involved in this application do not indicate a quantity limitation, and may indicate the singular or plural. The terms "include", "comprise", "have" and any of their variations involved in this application are intended to cover non-exclusive inclusions; for example, a process, method, system, product or device that includes a series of steps or modules (units) is not limited to the listed steps or units, but may also include steps or units that are not listed, or may also include other steps or units inherent to these processes, methods, products or devices. The words "connect", "connected", "coupled" and the like involved in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The "multiple" involved in this application refers to two or more. "And / or" describes the association relationship of associated objects, indicating that there may be three relationships, for example, "A and / or B" can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects before and after are in an "or" relationship. The terms "first", "second", "third", etc. involved in this application are only used to distinguish similar objects and do not represent a specific ordering of the objects.

[0044] The present application provides a method for scheduling bandwidth of a transmission stream. Figure 1 is a flow chart of the steps of the transmission stream bandwidth scheduling method according to an embodiment of the present application, such as Figure 1 As shown, the method comprises the following steps:

[0045] Step S102, establishing an MQTT over QUIC connection, wherein the MQTT over QUIC connection includes at least one transport stream;

[0046] It should be noted that the QUIC protocol (Quick UDP Internet Connections) is a new network communication protocol designed to meet the needs of more efficient, more secure and lower latency communications. The design goal of QUIC is to overcome the inefficiency of traditional network communications such as TCP and TLS in various scenarios. The QUIC protocol focuses on improving the performance and security of network applications. Combining QUIC with the MQTT protocol can significantly improve message transmission performance and reduce latency, which makes the MQTT over QUIC protocol the next generation standard transmission protocol, especially in scenarios such as the Internet of Things and the Internet of Vehicles that often face unstable and unreliable network environments. But at the same time, the multiplexing feature introduced by MQTT over QUIC also brings new challenges, for example: some urgent data needs to be sent as soon as possible to ensure the safe operation of vehicles or production. Although MQTT over QUIC can use an independent stream to transmit such urgent data, all streams still share bandwidth, and the data of each stream is sent alternately. Therefore, when other low-priority transmission streams send a giant data packet, they may still block high-priority streams for data transmission. Therefore, this embodiment proposes a transmission stream bandwidth scheduling method to solve this problem.

[0047] Step S104, obtaining data sent by the client application, wherein the data includes an MQTT topic;

[0048] It should be noted that Figure 2 FIG. 1 is a simplified flow chart of a method for scheduling bandwidth of a transport stream according to an embodiment of the present application. Figure 2 As shown, the steps marked with asterisks are key steps of the embodiments of the present application. Figure 3 is a flow chart of a method for scheduling bandwidth of a transport stream according to an embodiment of the present application, such as Figure 3 As shown in the figure, the MQTT protocol uses a publish / subscribe messaging model, and message routing is the key link. The core idea is to decouple the sender (publisher) of the message and the receiver (subscriber) of the message so that they do not need to contact each other directly. When a publisher publishes a message, it sends the message to the broker according to the topic (the MQTT topic is essentially a UTF-8 encoded string), and then the broker is responsible for routing the message to all subscribers who have subscribed to the relevant topic. When the multiplexing feature of the QUIC protocol is introduced, different topics can be mapped to different transport streams (QUIC Stream).

[0049] Step S106, based on the MQTT topic and the priority of the MQTT topic, assign a corresponding transmission stream to the data for data transmission;

[0050] Step S106 specifically includes the following steps:

[0051] Step S1061, based on the priority of the MQTT topic, calculating the weight value of each transmission flow in the MQTT over QUIC connection;

[0052] Step S1061 Specifically, the weight calculation formula is , calculate the weight value of each transmission flow in the MQTT over QUIC connection, where W k is the weight value of the kth transmission flow, C is the remaining length of the message queue of the transmission flow, A is the total number of MQTT topics on the transmission flow, and a i is the priority of the i-th MQTT topic on the transport stream, V i is the transmitted data volume of the i-th MQTT topic on the transport stream.

[0053] It should be noted that the purpose of this weight calculation formula is to consider the load weight value of the existing topic on the transmission flow and the historical traffic value consumed by the topic at the same time. In this way, the number and size of messages sent can be taken into account at the same time to avoid the transmission flow being too crowded due to ignoring the MQTT message behavior of sending large data packets. The buffer queue length: C is introduced as an important weight because one of the important goals in network congestion control is "no queuing". If a large number of queuing phenomena appear in the transmission flow, it means that the transmission flow is too crowded and the bandwidth allocation is about to be readjusted. In addition, if the weight value of each transmission flow is currently negative, it means that a new transmission flow needs to be created.

[0054] Step S1062, determining an MQTT topic to which no transmission stream has been allocated based on the MQTT topic, and determining a target transmission stream of the unallocated MQTT topic based on the weight value of the transmission stream, wherein the target transmission stream is used to transmit data related to the MQTT topic.

[0055] Specifically, step S1062 determines the transmission stream with the largest weight value from the transmission streams of the MQTT over QUIC connection, and uses the transmission stream with the largest weight value as the target transmission stream of the unassigned MQTT topic.

[0056] Step S108, based on the MQTT topic priority of the data on each transmission stream, corresponding bandwidth resources are allocated to each transmission stream through a congestion control algorithm and linear programming.

[0057] Step S108 specifically includes the following steps:

[0058] Step S1081, calculating the optimal sending rate of the MQTT over QUIC connection through a congestion control algorithm;

[0059] It should be noted that, unlike TCP, which implements the congestion control algorithm in kernel space, QUIC moves congestion control to user mode, making the algorithm pluggable and user-optimized. Therefore, QUIC is still an evolving protocol, unlike TCP, which has suffered from severe solidification. Similar to TCP, QUIC includes a current limiting mechanism to limit the amount of data that the sender can send per unit time. However, in the case of QUIC's multi-stream, separate limits are required for both individual and all combined streams.

[0060] Most of the existing congestion control algorithms are designed based on the characteristics of TCP, such as the two popular categories based on packet loss detection and delay measurement, including CUBIC, BBR, NewReno and Tahoe. QUIC does not introduce the concept of sliding windows like TCP, but adopts a flow control scheme based on "limit-base". The receiver gives a maximum number of bytes that it can process on a specific stream or the entire connection. The data sent by the sender cannot exceed these two (stream and connection) "limits". If the "limit" is reached, it is necessary to block and wait for the sender to increase the limit. Therefore, there are two levels of data flow control in QUIC: 1. Stream-based flow control, which prevents a single stream from consuming the entire connection's receiving buffer by limiting the amount of data that can be sent on a single stream. 2. Connection-based flow control, which prevents the sender from exceeding the receiver's connection buffer capacity by limiting the total number of bytes of stream data sent through each frame of the transmission stream on all streams.

[0061] It should be further explained that the congestion control algorithm in step S1081 is preferably the BBR congestion control algorithm. BBR assumes that the optimal state of the network can be achieved. It measures the propagation time of the network by measuring the bandwidth bottleneck at both ends of the network and recording the propagation time (ie, RTT) of the ACK packet of each message. Based on these statistical data, the maximum data delivery rate in the specified time window is measured. At the same time, after the optimal deliveryRate under the current real-time state is obtained through BBR, it can be brought into the following linear programming matrix as Bw for solution. However, it is not necessary to use BBR. Any congestion control algorithm that can calculate the current bandwidth resources in real time (such as CUBIC, NewReno, Tahoe mentioned above) can fill this step.

[0062] Step S1082, based on the MQTT topic priority of the data on each transmission stream, and under the condition of satisfying the optimal sending rate and preset constraints, corresponding bandwidth resources are allocated to each transmission stream through linear programming.

[0063] Step S1082 specifically, when the optimal transmission rate and preset constraints are met and Under the conditions:

[0064] By linear programming, we can calculate the target The bandwidth resources of each transmission stream in the maximum case, where B is the number of transmission streams, α j is the MQTT topic priority to be transmitted on the jth transmission stream, α total is the sum of the priorities of the MQTT topics transmitted on the transport stream, X j is the bandwidth resource allocated to the jth transmission stream, Bw max is the total bandwidth resource;

[0065] It should be noted that linear programming (LP) is a mathematical theory and method for solving the extreme value problem of a linear objective function under linear constraints in operations research. This embodiment combines and applies LP to the multi-stream transmission scenario of MQTT over QUIC, because this scenario is an optimization problem with clear constraints.

[0066] Further examples are needed to illustrate that, assuming that the total send buffer (bandwidth resource) is known to be Bw max =1024byte, currently four transport streams are created, but only three are running, then the α of the fourth transport stream that is not running 4 =0, no bandwidth will be allocated, X 4 =0. The priorities of the MQTT messages being sent by the other three transmission flows are α 1 , α 2 , α 3 Then α total = α 1 +α 2 +α 3 , the constraint is that all X 1 , X 2 , X 3 The sum of any single X j The total send buffer size cannot exceed 1024 bytes, and the priority weight α j / (α 1 +α 2 +α 3 ) and X j The sum of products is the largest. After solving by the simplex method, the bandwidth allocation values ​​for the three transmission flows can be obtained. The three transmission flows send data according to their respective limits until a new priority message enters the sending phase, or the congestion control module feedbacks bandwidth changes, and then continues to repeat this step.

[0067] Through the above steps S102 to S108 in the embodiment of the present application, linear programming and BBR congestion control algorithms are applied to the multi-stream transmission scenario of MQTT over QUIC. Compared with the practice of the prior art that the application layer, protocol layer and transport layer are processed independently, the present invention allows the application layer and the protocol layer to cooperate with each other to adaptively adjust the network resources occupied by data of different priorities according to network conditions and bandwidth fluctuations. Thereby solving the problem of reasonable and optimal allocation of network bandwidth in complex intelligent network applications such as the Internet of Things and the Internet of Vehicles. Ensure that critical production data will not be blocked from being sent because of bandwidth consumption by less important data. Allow upper-layer applications to simply allocate network resources by assigning different topic priorities to different messages. At the same time, the present invention is also compatible with traditional QUIC and MQTT protocols, and is still regarded as ordinary UDP traffic on the core network, without the need to modify the existing network.

[0068] It should be noted that the steps shown in the above process or the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0069] In some specific embodiments, the congestion control algorithm in step S1081 is preferably a BBR congestion control algorithm. BBR assumes that the optimal state of the network is achievable. It measures the propagation time of the network by measuring the bandwidth bottleneck at both ends of the network and recording the propagation time (ie, RTT) of the ACK packet of each message. Based on these statistical data, the maximum data delivery rate in the specified time window is measured. At the same time, after the optimal deliveryRate in the current real-time state is obtained through BBR, it can be brought into the linear programming matrix of step S1082 as Bw for solution.

[0070] In some specific embodiments, it is assumed that the total sending buffer (bandwidth resource) calculated by the congestion control algorithm in step S1081 is Bw max =1024byte, currently three transmission streams are created, and the priorities of the MQTT messages being sent by the three transmission streams are α 1 , α 2 , α 3 , the allocated bandwidth resource is X 1 , X 2 , X 3 , the constraints are: ① All X 1 , X 2 , X 3 The sum of any single X j The total send buffer cannot exceed 1024 bytes② so that the priority weight αj / (α 1 +α 2 +α 3 ) and X j The sum of the products is the largest. After solving the linear programming (such as the simplex method) in step S1082, the bandwidth allocation values ​​for the three transmission streams can be obtained. The three transmission streams send data according to their respective limits until a new priority message enters the sending phase, or the congestion control module feedbacks the bandwidth change, and then continues to repeat step S1082.

[0071] The embodiment of the present application provides a transport stream bandwidth scheduling system, which includes a creation module, an acquisition module, an allocation module and a scheduling module;

[0072] An establishment module is used to establish an MQTT over QUIC connection, wherein the MQTT over QUIC connection includes at least one transport stream;

[0073] The acquisition module is used to obtain the data sent by the client application, wherein the data includes the MQTT topic;

[0074] An allocation module is used to allocate corresponding transmission streams for data transmission according to MQTT topics and priorities of MQTT topics;

[0075] The scheduling module is used to allocate corresponding bandwidth resources to each transmission stream according to the MQTT topic priority of the data on each transmission stream through congestion control algorithm and linear programming.

[0076] Through the establishment module, acquisition module, allocation module and scheduling module in the embodiments of the present application, the linear programming and congestion control algorithms are applied to the multi-stream transmission scenario of MQTT over QUIC, and the network resources occupied by different MQTT topic priority data are adaptively adjusted according to network conditions and bandwidth fluctuations, ensuring that critical data will not be blocked from being sent because the bandwidth is consumed by less important data, thereby solving the problem of how to reasonably schedule the transmission stream bandwidth based on the MQTT over QUIC protocol.

[0077] It should be noted that the above modules can be functional modules or program modules, and can be implemented by software or hardware. For modules implemented by hardware, the above modules can be located in the same processor; or the above modules can be located in different processors in any combination.

[0078] This embodiment further provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0079] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0080] It should be noted that the specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementation modes, and this embodiment will not be described in detail here.

[0081] In addition, in combination with the transport stream bandwidth scheduling method in the above embodiment, the embodiment of the present application can provide a storage medium for implementation. The storage medium stores a computer program; when the computer program is executed by a processor, any transport stream bandwidth scheduling method in the above embodiment is implemented.

[0082] In one embodiment, a computer device is provided, which may be a terminal. The computer device includes a processor, a memory, a network interface, a display screen, and an input device connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, a transmission stream bandwidth scheduling method is implemented. The display screen of the computer device may be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device may be a touch layer covered on the display screen, or a key, trackball or touchpad provided on the housing of the computer device, or an external keyboard, touchpad or mouse, etc.

[0083] In one embodiment, Figure 4 is a schematic diagram of the internal structure of an electronic device according to an embodiment of the present application, such as Figure 4 As shown, an electronic device is provided, which may be a server, and its internal structure diagram may be as shown in Figure 4As shown. The electronic device includes a processor, a network interface, an internal memory and a non-volatile memory connected through an internal bus, wherein the non-volatile memory stores an operating system, a computer program and a database. The processor is used to provide computing and control capabilities, the network interface is used to communicate with an external terminal through a network connection, the internal memory is used to provide an environment for the operation of the operating system and the computer program, the computer program is executed by the processor to implement a transmission stream bandwidth scheduling method, and the database is used to store data.

[0084] Those skilled in the art will understand that Figure 4 The structure shown in the figure is merely a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the electronic device to which the scheme of the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.

[0085] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0086] Those skilled in the art should understand that the various technical features of the above-described embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the various technical features in the above-described embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0087] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. A method for transport stream bandwidth scheduling, characterized in that: The method comprises: Establishing an MQTT over QUIC connection, wherein the MQTT over QUIC connection includes at least one transport stream; Obtaining data sent by a client application, wherein the data includes an MQTT topic; Based on the MQTT topic and the priority of the MQTT topic, assign a corresponding transmission stream to the data for data transmission; Calculate the optimal sending rate of the MQTT over QUIC connection through a congestion control algorithm; Under the optimal transmission rate and preset constraints and Under the condition of j is the bandwidth resource allocated to the jth transmission stream, B is the number of transmission streams, and Bw max is the total bandwidth resource; the target bandwidth is calculated by linear programming The bandwidth resources of each transmission stream in the maximum case, where B is the number of transmission streams, α j is the MQTT topic priority to be transmitted on the jth transmission stream, α total is the sum of the priorities of the MQTT topics transmitted on the transport stream, X j is the bandwidth resource allocated to the jth transport stream.

2. The method according to claim 1, characterized in that Based on the MQTT topic and the priority of the MQTT topic, allocating a corresponding transmission stream for the data for data transmission includes: Calculate a weight value of each transport stream in the MQTT over QUIC connection based on the priority of the MQTT topic; Based on the MQTT topic, determining an MQTT topic to which no transmission stream has been allocated; Based on the weight value of the transmission flow, a target transmission flow of the unallocated MQTT topic is determined, wherein the target transmission flow is used to transmit the data related to the MQTT topic.

3. The method according to claim 2, characterized in that Based on the priority of the MQTT topic, calculating the weight value of each transmission stream in the MQTT over QUIC connection includes: By weight calculation formula , calculate the weight value of each transmission flow in the MQTT over QUIC connection, where W k is the weight value of the kth transmission flow, C is the remaining length of the message queue of the transmission flow, A is the total number of MQTT topics on the transmission flow, and a i is the priority of the i-th MQTT topic on the transport stream, V i is the transmitted data volume of the i-th MQTT topic on the transport stream.

4. The method according to claim 3, characterized in that Determining the target transmission flow of the unassigned MQTT topic based on the weight value of the transmission flow includes: Determine a transmission stream with a maximum weight value from the transmission streams of the MQTT over QUIC connection, and use the transmission stream with the maximum weight value as the target transmission stream of the unassigned MQTT topic; If the weight values ​​of the transport streams of the MQTT over QUIC connection are all negative, a new transport stream is created as the target transport stream of the unassigned MQTT topic.

5. A transport stream bandwidth scheduling system, characterized in that: The system is used to execute the method according to any one of claims 1 to 4, and the system comprises a establishing module, an acquiring module, an allocating module and a scheduling module; The establishing module is used to establish an MQTT over QUIC connection, wherein the MQTT over QUIC connection includes at least one transport stream; The acquisition module is used to acquire data sent by the client application, wherein the data includes an MQTT topic; The allocation module is used to allocate a corresponding transmission stream for the data for data transmission according to the MQTT topic and the priority of the MQTT topic; The scheduling module is used to allocate corresponding bandwidth resources to each transmission stream according to the MQTT topic priority of the data on each transmission stream through a congestion control algorithm and linear programming.

6. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to run the computer program to perform the method according to any one of claims 1 to 4.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.

Citation Information

Patent Citations

  • Network layer instruction priority control method and device and electronic equipment

    CN116896590A