A data transmission method, device and communication node

By determining the forwarding priority of message data in the cyclic queue of the communication node and performing differentiated scheduling, the problem of cumbersome operation of data transmission methods in the prior art is solved, and efficient data transmission and Flexible delay management.

CN114500520BActive Publication Date: 2025-02-14CHINA MOBILE COMM LTD RES INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011257878.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-12
Publication Date
2025-02-14
Estimated Expiration
2040-11-12

AI Technical Summary

Technical Problem

In the prior art, the data transmission method has the problem of cumbersome operation and the inability to meet different delay requirements.

Method used

Differentiated scheduling is achieved by determining the forwarding priority of message data in the cyclic queue of the first communication node and sending message data to the cyclic queue of the second communication node in the order of priority from high to low.

Benefits of technology

Differentiated scheduling for aggregation flows are realized, ensuring that high real-time requirements and low real-time flows can be scheduled separately, meeting different delay requirements, and avoiding the need to re-plan the entire network when each new critical flow enters. Operation simplifies the operation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114500520B_ABST
    Figure CN114500520B_ABST
Patent Text Reader

Abstract

The present invention provides a data transmission method, device and communication node, wherein the data transmission method comprises: determining the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node; sending the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low; wherein the receiving queue corresponding to the data message with high forwarding priority is arranged before the receiving queue corresponding to the data message with low forwarding priority in the circular queue of the second communication node. This scheme well solves the problem that the data transmission method in the prior art is cumbersome in operation and cannot meet different delay requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technologies, and in particular to a data transmission method, device and communication node. Background Art

[0002] More and more applications such as AR (augmented reality) or (virtual reality) VR, precise industrial control, etc. have put forward strict and clear demands on the upper and lower bounds, or upper and lower bounds (i.e. jitter) of network latency. The "best effort" service capability provided by traditional networks can no longer meet these requirements.

[0003] Deterministic networks can ensure the certainty of latency, jitter, packet loss rate, etc., and provide the ultimate network bearer service. Based on this, the existing technology mainly provides two solutions: the first is the time-sensitive scheduling method; the second is the round-robin queue scheduling method.

[0004] For the first solution mentioned above, the time-sensitive scheduling method is to reserve the resources required for critical traffic, and then control the sending time of the queues in forwarding devices such as switches and / or routers to achieve the effect of sending messages in the expected sequence and time interval. However, this solution requires synchronization of all network devices. Every time a new critical flow enters, the schedule of the entire network needs to be re-planned, which is cumbersome and costly.

[0005] For the second solution mentioned above, circular queue scheduling is a simplified version of TAS (time-sensitive scheduling), which selects 2-3 queues for cyclical sending and receiving. Only one queue is allowed to send in each time period, and the other queues are in the state of receiving messages; this reduces the number of queues and makes operation and management more convenient. However, this solution requires flow aggregation and cannot meet the needs of flows with different latency requirements.

[0006] It can be seen from the above that the data transmission method in the prior art has the problems of complicated operation and inability to meet different delay requirements. Summary of the invention

[0007] The purpose of the present invention is to provide a data transmission method, device and communication node to solve the problem that the data transmission method in the prior art is complicated in operation and cannot meet different delay requirements.

[0008] In order to solve the above technical problem, an embodiment of the present invention provides a data transmission method, which is applied to a first communication node, and the method includes:

[0009] Determine the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node;

[0010] Sending the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low;

[0011] The receiving queue corresponding to the data message with a high forwarding priority is arranged before the receiving queue corresponding to the data message with a low forwarding priority in the circular queue of the second communication node.

[0012] Optionally, determining the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node includes:

[0013] The forwarding priority of each message data is determined according to the position area of ​​each message data in the current sending queue.

[0014] Optionally, determining the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue includes:

[0015] When the message data is located in the first-level location area, the forwarding priority of the message data is determined to be the first level.

[0016] Optionally, also include:

[0017] For packets with the same forwarding priority, they are sent to the corresponding receiving queues in a first-in-first-out manner; or,

[0018] For message data with the same forwarding priority, they are sent to the corresponding receiving queue in a first-in-last-out manner.

[0019] An embodiment of the present invention further provides a data transmission method, which is applied to a second communication node, and the method includes:

[0020] Receiving message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node;

[0021] According to the forwarding priority, the message data is stored accordingly;

[0022] Among them, the reception time of the message data with high forwarding priority is earlier than that of the message data with low forwarding priority, and the receiving queue corresponding to the message data with high forwarding priority is sorted before the receiving queue corresponding to the message data with low forwarding priority in the circular queue of the second communication node.

[0023] Optionally, storing the message data accordingly according to the forwarding priority includes:

[0024] According to the forwarding priority, the message data is stored in a corresponding location area in the receiving queue.

[0025] Optionally, storing the message data in a corresponding location area in a receiving queue according to the forwarding priority includes:

[0026] When the forwarding priority is the first level, the message data is stored in the first level location area in the receiving queue.

[0027] Optionally, also include:

[0028] For the message data with the same forwarding priority, they are stored in order according to the first-in-first-out method; or,

[0029] For message data with the same forwarding priority, they are stored in order according to the first-in-last-out method.

[0030] An embodiment of the present invention further provides a data transmission device, applied to a first communication node, the device comprising:

[0031] A first determining module, used to determine the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node;

[0032] A first sending module, configured to send the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low;

[0033] The receiving queue corresponding to the data message with a high forwarding priority is arranged before the receiving queue corresponding to the data message with a low forwarding priority in the circular queue of the second communication node.

[0034] Optionally, the first determining module includes:

[0035] The first determination submodule is used to determine the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue.

[0036] Optionally, determining the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue includes:

[0037] When the message data is located in the first-level location area, the forwarding priority of the message data is determined to be the first level.

[0038] Optionally, also include:

[0039] The second sending module is used to send the message data with the same forwarding priority to the corresponding receiving queue in a first-in-first-out manner; or

[0040] For message data with the same forwarding priority, they are sent to the corresponding receiving queue in a first-in-last-out manner.

[0041] An embodiment of the present invention further provides a data transmission device, applied to a second communication node, the device comprising:

[0042] A first receiving module, used to receive message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node;

[0043] A first storage module, used for storing the message data accordingly according to the forwarding priority;

[0044] Among them, the reception time of the message data with high forwarding priority is earlier than that of the message data with low forwarding priority, and the receiving queue corresponding to the message data with high forwarding priority is sorted before the receiving queue corresponding to the message data with low forwarding priority in the circular queue of the second communication node.

[0045] Optionally, the first storage module includes:

[0046] The first storage submodule is used to store the message data in a corresponding position area in a receiving queue according to the forwarding priority.

[0047] Optionally, storing the message data in a corresponding location area in a receiving queue according to the forwarding priority includes:

[0048] When the forwarding priority is the first level, the message data is stored in the first level location area in the receiving queue.

[0049] Optionally, also include:

[0050] The second storage module is used to sequentially store the message data with the same forwarding priority in a first-in-first-out manner; or

[0051] For message data with the same forwarding priority, they are stored in order according to the first-in-last-out method.

[0052] An embodiment of the present invention further provides a communication node, the communication node is a first communication node, and the communication node includes: a processor and a transceiver;

[0053] The processor is used to determine the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node;

[0054] Sending the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node through the transceiver in the order of the forwarding priority from high to low;

[0055] The receiving queue corresponding to the data message with a high forwarding priority is arranged before the receiving queue corresponding to the data message with a low forwarding priority in the circular queue of the second communication node.

[0056] Optionally, the processor is specifically configured to:

[0057] The forwarding priority of each message data is determined according to the position area of ​​each message data in the current sending queue.

[0058] Optionally, the processor is specifically configured to:

[0059] When the message data is located in the first-level location area, the forwarding priority of the message data is determined to be the first level.

[0060] Optionally, the processor is further configured to:

[0061] For message data with the same forwarding priority, the message data are sent to the corresponding receiving queue through the transceiver in a first-in-first-out manner; or,

[0062] For message data with the same forwarding priority, they are sent to the corresponding receiving queue through the transceiver in a first-in-last-out manner.

[0063] An embodiment of the present invention further provides a communication node, the communication node is a second communication node, and the communication node includes: a processor and a transceiver;

[0064] The processor is configured to receive, through the transceiver, message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node;

[0065] According to the forwarding priority, the message data is stored accordingly;

[0066] Among them, the reception time of the message data with high forwarding priority is earlier than that of the message data with low forwarding priority, and the receiving queue corresponding to the message data with high forwarding priority is sorted before the receiving queue corresponding to the message data with low forwarding priority in the circular queue of the second communication node.

[0067] Optionally, the processor is specifically configured to:

[0068] According to the forwarding priority, the message data is stored in a corresponding location area in the receiving queue.

[0069] Optionally, the processor is specifically configured to:

[0070] When the forwarding priority is the first level, the message data is stored in the first level location area in the receiving queue.

[0071] Optionally, the processor is further configured to:

[0072] For the message data with the same forwarding priority, they are stored in order according to the first-in-first-out method; or,

[0073] For message data with the same forwarding priority, they are stored in order according to the first-in-last-out method.

[0074] An embodiment of the present invention further provides a communication node, comprising a memory, a processor, and a program stored in the memory and executable on the processor; when the processor executes the program, the data transmission method on the first communication node side is implemented; or,

[0075] When the processor executes the program, the data transmission method on the second communication node side is implemented.

[0076] The embodiment of the present invention further provides a readable storage medium on which a program is stored, and when the program is executed by a processor, the steps in the data transmission method on the first communication node side are implemented; or,

[0077] When the program is executed by the processor, the steps in the above-mentioned data transmission method on the second communication node side are implemented.

[0078] The beneficial effects of the above technical solution of the present invention are as follows:

[0079] In the above scheme, the data transmission method determines the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node; sends the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low; wherein, the receiving queue corresponding to the data message with high forwarding priority is arranged before the receiving queue corresponding to the data message with low forwarding priority in the circular queue of the second communication node; it can realize differentiated scheduling for aggregated flows, ensure that the flows with high real-time requirements and the flows with low real-time requirements in the aggregated flows can be scheduled separately to meet different delay requirements; and avoid the need to re-plan the schedule for the entire network for each new critical flow entering, and the operation is simple; it well solves the problem that the data transmission method in the prior art is cumbersome to operate and cannot meet different delay requirements. BRIEF DESCRIPTION OF THE DRAWINGS

[0080] Figure 1 The data transmission method according to the embodiment of the present invention is shown in FIG. Figure 1 ;

[0081] Figure 2 The data transmission method according to the embodiment of the present invention is shown in FIG. Figure 2 ;

[0082] Figure 3 Schematic diagram of the stack scheduling mechanism of an embodiment of the present invention Figure 1 ;

[0083] Figure 4 Schematic diagram of the stack scheduling mechanism of an embodiment of the present invention Figure 2 ;

[0084] Figure 5 The structure of the data transmission device according to the embodiment of the present invention is shown in FIG. Figure 1 ;

[0085] Figure 6 The structure of the data transmission device according to the embodiment of the present invention is shown in FIG. Figure 2 ;

[0086] Figure 7 The communication node structure of the embodiment of the present invention is shown in FIG. Figure 1 ;

[0087] Figure 8 The communication node structure of the embodiment of the present invention is shown in FIG. Figure 2 . DETAILED DESCRIPTION

[0088] In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.

[0089] The present invention aims at the problem that the data transmission method in the prior art is complicated in operation and cannot meet different delay requirements, and provides a data transmission method applied to a first communication node, such as Figure 1 As shown, the method includes:

[0090] Step 11: Determine the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node;

[0091] Step 12: Send the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low; wherein, the receiving queue corresponding to the data message with high forwarding priority is arranged before the receiving queue corresponding to the data message with low forwarding priority in the circular queue of the second communication node.

[0092] Specifically, "the corresponding receiving queue in the circular queue of the second communication node" can also be understood as a waiting queue. The forwarding priority can also be called a forwarding priority level.

[0093] The data transmission method provided by the embodiment of the present invention determines the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node; sends the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low; wherein the receiving queue corresponding to the data message with high forwarding priority is arranged before the receiving queue corresponding to the data message with low forwarding priority in the circular queue of the second communication node; it can realize differentiated scheduling for aggregated (data) flows, ensure that the flows with high real-time requirements and the flows with low real-time requirements in the aggregated flows can be scheduled separately to meet different delay requirements; and avoid the need to re-plan the schedule for the entire network for each new critical flow entering, and the operation is simple; it well solves the problem that the data transmission method in the prior art is cumbersome to operate and cannot meet different delay requirements.

[0094] The step of determining the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node includes: determining the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue.

[0095] Specifically, determining the forwarding priority of each message data according to the position area of ​​each message data in the current sending queue includes: when the message data is located in the first-level position area, determining the forwarding priority of the message data to be the first level.

[0096] Furthermore, the data transmission method also includes: for message data with the same forwarding priority, sending them to the corresponding receiving queue in a first-in-first-out manner (i.e., queue scheduling); or, for message data with the same forwarding priority, sending them to the corresponding receiving queue in a first-in-last-out manner (i.e., stack scheduling).

[0097] The embodiment of the present invention also provides a data transmission method, which is applied to a second communication node, such as Figure 2 As shown, the method includes:

[0098] Step 21: receiving message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node;

[0099] Step 22: According to the forwarding priority, the message data is stored accordingly; wherein, the receiving time of the message data with a high forwarding priority is earlier than that of the message data with a low forwarding priority, and the receiving queue corresponding to the message data with a high forwarding priority is sorted in the circular queue of the second communication node before the receiving queue corresponding to the message data with a low forwarding priority.

[0100] Step 21 may specifically include: receiving message data and corresponding forwarding priority (of the message data) sent by the current sending queue in the circular queue of the first communication node to at least two receiving queues in the circular queue of the second communication node. The forwarding priority may also be called the forwarding priority level.

[0101] The data transmission method provided by the embodiment of the present invention receives message data and corresponding forwarding priorities sent by a first communication node to at least two receiving queues in a circular queue of the second communication node; according to the forwarding priority, the message data is correspondingly stored; wherein, the reception time of the message data with a high forwarding priority is earlier than that of the message data with a low forwarding priority, and the receiving queue corresponding to the message data with a high forwarding priority is sorted in the circular queue of the second communication node before the receiving queue corresponding to the message data with a low forwarding priority; it can support differentiated scheduling for aggregated flows, ensure that flows with high real-time requirements and flows with low real-time requirements in the aggregated flows can be scheduled separately to meet different delay requirements; and avoid the need to re-plan the schedule for the entire network for each new critical flow entering, and the operation is simple; it well solves the problem that the data transmission method in the prior art is cumbersome to operate and cannot meet different delay requirements.

[0102] The storing the message data in accordance with the forwarding priority includes: storing the message data in a corresponding position area in a receiving queue according to the forwarding priority. Here, the "receiving queue" can also be understood as a "receiving queue that receives the message data".

[0103] Specifically, storing the message data in a corresponding location area in a receiving queue according to the forwarding priority includes: when the forwarding priority is a first level, storing the message data in a first level location area in the receiving queue.

[0104] Furthermore, the data transmission method also includes: for message data with the same forwarding priority, sequentially storing them in a first-in-first-out manner (i.e., queue scheduling); or, for message data with the same forwarding priority, sequentially storing them in a first-in-last-out manner (i.e., stack scheduling).

[0105] The data transmission method provided by the embodiment of the present invention is further explained below in combination with multiple sides such as the first communication node and the second communication node. The first communication node is referred to as the upstream node, the circular queue of the first communication node is referred to as the upstream queue, the second communication node is referred to as the downstream node, and the circular queue of the second communication node is referred to as the downstream queue.

[0106] In view of the above technical problems, an embodiment of the present invention provides a data transmission method, which can be specifically implemented as a low-latency forwarding method based on circular stack scheduling: through stack scheduling, differentiated scheduling of aggregated flows is achieved to ensure that flows with high real-time requirements and flows with low real-time requirements in the aggregated flows can be scheduled separately. Among them, regarding queue scheduling: data is first-in-first-out; regarding stack scheduling: data is first-in-last-out.

[0107] First, the circular queue scheduling process is introduced as follows (assuming that the upstream queues include upstream queue 1, upstream queue 2, and upstream queue 3 in sequence, and the downstream queues include downstream queue 1, downstream queue 2, and downstream queue 3):

[0108] (1) Upstream queue 1 usually sends (messages) to downstream queue 3 at the beginning. During the sending process, downstream queue 3 may switch to downstream queue 2 and continue to receive messages from upstream queue 1.

[0109] (2) When the upstream queue 1 has completed sending, the downstream queue 2 is about to switch to the downstream queue 1 (it can also be understood that the upstream queue 1 can complete sending before the downstream queue 2 switches to the downstream queue 1).

[0110] It can be seen from the above that when the upstream queue 2 switches to the upstream queue 1 and starts sending, the downstream queue 2 has already finished receiving.

[0111] The following is an introduction to the solution provided by the embodiment of the present invention:

[0112] 1. Establish a queue in each forwarding device (a specific implementation of the above communication node) in a circular queue scheduling manner, which can be 3 queues: queue 1 is a sending queue, queue 2 is a queue to be sent (waiting queue), and queue 3 is a waiting queue; of course, there can also be multiple queues of 3: queue 1 is a sending queue, queue 2 is a queue to be sent (waiting queue), and queues 3 to the last queue are waiting queues;

[0113] 2. Reserve a portion of resources in each queue (specifically, the resources may be located at the rear portion of the queue) for forwarding high-speed messages (i.e., the data messages with high forwarding priority mentioned above) (the type of message may be carried, such as high-speed messages or deterministic messages (i.e., the data messages with low forwarding priority mentioned above), and specifically, the forwarding priority of the message may be carried, i.e., the priority level);

[0114] 3. The high-speed message of the upstream node is sent to the queue No. 2 of the downstream node (i.e., downstream queue 2), and the deterministic message of the upstream node is sent to the queue No. 3 of the downstream node (i.e., downstream queue 3); when the number of queues in the circular queue is more than 3, a rule can be set: it is stipulated that the high-speed message is sent to the first downstream queue, and the deterministic message is sent to the second downstream queue. The first downstream queue and the second downstream queue can be adjacent or non-adjacent, but the first downstream queue is before the second downstream queue in the sorting of the circular queue.

[0115] 4. For the scheduling mechanism of the circular queue: the queue is switched to stack scheduling (that is, the circular queue is combined with stack scheduling, namely the circular stack), that is, the No. 2 queue of the downstream node receives the high-speed message from the upstream node and stores it in the latter part of the queue resources. When the No. 2 queue is switched to the No. 1 queue, the high-speed message will be sent out first (last in, first out).

[0116] The following is an example of the solution provided by the embodiment of the present invention (taking the circular queue including 3 queues as an example):

[0117] (1) Some bandwidth resources are reserved at the end of the downstream queue 2 for forwarding high-real-time flows (i.e., high-speed messages).

[0118] (2) The first message (high-speed message) of the upstream queue 1 is directly sent to the end of the downstream queue 2.

[0119] (3) Downstream queue 2 is switched to a stack structure, that is, last-in-first-out (all messages in downstream queue 2 are in this order). When the first message of upstream queue 1 arrives at downstream queue 2, downstream queue 2 is switched to downstream queue 1, and the high-speed message of upstream queue 1 is sent out as soon as possible (specifically, with the highest priority, immediately), and the cycle continues.

[0120] In fact, the scheduling mechanism of the circular queues of all communication nodes can be switched to a stack structure with last-in-first-out to ensure seamless forwarding of high-speed messages.

[0121] Specifically, Figure 3 As shown (the queue scheduling mechanism is first-in-first-out, the stack scheduling mechanism is first-in-last-out, the forwarding node in the figure is the above-mentioned communication node, queue 1 is the sending queue, queue 2 is the queue to be sent (waiting queue), and queue 3 is the waiting queue):

[0122] For time period T1: the front part of the message (i.e., the part filled with slashes) of queue 1 of forwarding node A (queue scheduling) is sent to the front part of the resources (i.e., the part filled with slashes) of queue 2 of forwarding node B; the rear part of the message (i.e., the blank part) of queue 1 of forwarding node A is sent to the rear part of the resources (i.e., the blank part) of queue 3 of forwarding node B, and the rear part of the message (i.e., the blank part) of queue 3 of forwarding node A after switching to queue 1 is sent to the rear part of the resources (i.e., the blank part) of queue 2 of forwarding node B after switching to queue 3;

[0123] For time period T2: the first part of the message (i.e., the blank part) of queue 1 of forwarding node B (stack scheduling) is sent to the second part of the resources (i.e., the blank part) of queue 3 of forwarding node C; the second part of the message (i.e., the slash filled part) of queue 1 of forwarding node B is sent to the first part of the resources (i.e., the slash filled part) of queue 2 of forwarding node C; the first part of the message (i.e., the blank part) of queue 3 of forwarding node B after switching to queue 1 is sent to the second part of the message (i.e., the blank part) of queue 2 of forwarding node C after switching to queue 3. Among them, forwarding node C is also stack scheduled. Specifically, as Figure 4 As shown, stack scheduling causes the order of messages to be reversed at each node (specifically, the order of messages at the same level is reversed). T2 is updated once relative to T1's circular queue: queue 1 is updated to queue 3, queue 2 is updated to queue 1, and queue 3 is updated to queue 2; T3 is updated once relative to T2's circular queue.

[0124] The following is a delay and jitter analysis of the solution provided by the embodiment of the present invention:

[0125] (1) Analysis of deterministic flow (i.e. the above-mentioned deterministic message):

[0126] Latency: It is consistent with the traditional round-robin scheduling latency, that is, latency = queue switching period T × number of hops n;

[0127] Jitter: Every time a deterministic flow passes through a node, the order will be reversed, but it will not affect its forwarding mechanism. The difference between the minimum and maximum delays remains at 2T.

[0128] (2) Analysis of high priority flows (i.e., the above-mentioned high-speed messages):

[0129] Delay: The delay of each hop due to stack scheduling is packet length / interface rate. The overall delay = link delay + waiting delay × number of hops.

[0130] Jitter: This is the jitter caused by the uncertainty of the link itself. There is no jitter caused by other factors.

[0131] The implementation of this solution involves:

[0132] (1) It is necessary to carry priority or identify high-speed messages or deterministic messages (which can be performed by the network or UE), which can be carried in the traffic class field in the IPv6 message, as follows:

[0133] 1: high-speed message;

[0134] 2: Deterministic message;

[0135] Others: ordinary messages.

[0136] (2) Device support required:

[0137] The stack scheduling method is first-in, last-out;

[0138] Identify different types of messages.

[0139] As can be seen from the above, the solution provided by the embodiment of the present invention involves:

[0140] (1) Based on the original circular queue scheduling method, the queue structure is changed to a stack structure (i.e., a circular stack scheduling mechanism is adopted) to achieve low-latency forwarding of high-priority messages;

[0141] (2) The scheduling of the loop stack can divide the aggregated flows into different levels (high-speed messages, deterministic messages, etc.), realize the difference in latency and jitter (differentiated scheduling), and solve the problems caused by flow aggregation.

[0142] It can also be understood that this plan:

[0143] 1. A stack scheduling method is proposed. Existing circular queue schemes all use queue scheduling, which cannot meet the needs of differentiated message scheduling. This scheme establishes a stack scheduling mechanism to achieve low-latency forwarding of the highest priority message.

[0144] 2. The aggregated flows can be appropriately divided into different levels for scheduling. This solution can achieve the difference in latency and jitter through stack scheduling after the flow aggregation, solving the problems caused by flow aggregation.

[0145] In summary, in the solution provided by the embodiment of the present invention, a circular stack scheduling mechanism is established to ensure the forwarding of low-latency flows and separate them from relatively low-priority deterministic flows, thereby effectively solving the differentiated scheduling problem after (data) flow aggregation.

[0146] The embodiment of the present invention further provides a data transmission device, which is applied to a first communication node, such as Figure 5 As shown, the device comprises:

[0147] A first determining module 51, configured to determine the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node;

[0148] A first sending module 52, configured to send the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low;

[0149] The receiving queue corresponding to the data message with a high forwarding priority is arranged before the receiving queue corresponding to the data message with a low forwarding priority in the circular queue of the second communication node.

[0150] The data transmission device provided in the embodiment of the present invention determines the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node; sends the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low; wherein the receiving queue corresponding to the data message with high forwarding priority is arranged before the receiving queue corresponding to the data message with low forwarding priority in the circular queue of the second communication node; it can realize differentiated scheduling for aggregated (data) flows, ensure that the flows with high real-time requirements and the flows with low real-time requirements in the aggregated flows can be scheduled separately to meet different delay requirements; and avoid the need to re-plan the schedule for the entire network for each new critical flow entering, and the operation is simple; it well solves the problem that the data transmission method in the prior art is cumbersome to operate and cannot meet different delay requirements.

[0151] The first determination module includes: a first determination submodule, configured to determine the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue.

[0152] Specifically, determining the forwarding priority of each message data according to the position area of ​​each message data in the current sending queue includes: when the message data is located in the first-level position area, determining the forwarding priority of the message data to be the first level.

[0153] Furthermore, the data transmission device also includes: a second sending module, which is used to send message data with the same forwarding priority to the corresponding receiving queue in a first-in-first-out manner; or, to send message data with the same forwarding priority to the corresponding receiving queue in a first-in-last-out manner.

[0154] Among them, the implementation embodiments of the data transmission method on the first communication node side mentioned above are all applicable to the embodiments of the data transmission device and can achieve the same technical effect.

[0155] The embodiment of the present invention further provides a data transmission device, which is applied to a second communication node, such as Figure 6 As shown, the device comprises:

[0156] A first receiving module 61, configured to receive message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node;

[0157] A first storage module 62, configured to store the message data accordingly according to the forwarding priority;

[0158] Among them, the reception time of the message data with high forwarding priority is earlier than that of the message data with low forwarding priority, and the receiving queue corresponding to the message data with high forwarding priority is sorted before the receiving queue corresponding to the message data with low forwarding priority in the circular queue of the second communication node.

[0159] The data transmission device provided by the embodiment of the present invention receives message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node; stores the message data accordingly according to the forwarding priority; wherein the reception time of the message data with high forwarding priority is earlier than that of the message data with low forwarding priority, and the receiving queue corresponding to the message data with high forwarding priority is sorted in the circular queue of the second communication node before the receiving queue corresponding to the message data with low forwarding priority; it can support differentiated scheduling for aggregated flows, ensure that flows with high real-time requirements and flows with low real-time requirements in the aggregated flows can be scheduled separately to meet different delay requirements; and avoid the need to re-plan the schedule for the entire network for each new critical flow entering, and the operation is simple; it well solves the problem that the data transmission method in the prior art is cumbersome to operate and cannot meet different delay requirements.

[0160] The first storage module includes: a first storage submodule, which is used to store the message data in a corresponding position area in the receiving queue according to the forwarding priority.

[0161] Specifically, storing the message data in a corresponding location area in a receiving queue according to the forwarding priority includes: when the forwarding priority is a first level, storing the message data in a first level location area in the receiving queue.

[0162] Furthermore, the data transmission device also includes: a second storage module, which is used to sequentially store message data with the same forwarding priority in a first-in-first-out manner; or, sequentially store message data with the same forwarding priority in a first-in-last-out manner.

[0163] Among them, the implementation embodiments of the data transmission method on the second communication node side are all applicable to the embodiments of the data transmission device and can achieve the same technical effect.

[0164] The embodiment of the present invention further provides a communication node, wherein the communication node is a first communication node, such as Figure 7 As shown, the communication node includes: a processor 71 and a transceiver 72;

[0165] The processor 71 is used to determine the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node;

[0166] In descending order of the forwarding priority, the message data and the corresponding forwarding priority are sent to the corresponding receiving queue in the circular queue of the second communication node through the transceiver 72;

[0167] The receiving queue corresponding to the data message with a high forwarding priority is arranged before the receiving queue corresponding to the data message with a low forwarding priority in the circular queue of the second communication node.

[0168] The communication node provided in the embodiment of the present invention determines the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node; sends the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low; wherein the receiving queue corresponding to the data message with high forwarding priority is arranged before the receiving queue corresponding to the data message with low forwarding priority in the circular queue of the second communication node; it can realize differentiated scheduling for aggregated (data) flows, ensure that the flows with high real-time requirements and the flows with low real-time requirements in the aggregated flows can be scheduled separately to meet different delay requirements; and avoid the need to re-plan the schedule for the entire network for each new critical flow entering, and the operation is simple; it well solves the problem that the data transmission method in the prior art is cumbersome to operate and cannot meet different delay requirements.

[0169] The processor is specifically used to determine the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue.

[0170] Specifically, the processor is specifically configured to: when the message data is located in a first-level location area, determine that the forwarding priority of the message data is the first level.

[0171] Furthermore, the processor is also used to: send message data with the same forwarding priority to the corresponding receiving queue through the transceiver in a first-in-first-out manner; or, send message data with the same forwarding priority to the corresponding receiving queue through the transceiver in a first-in-last-out manner.

[0172] Among them, the implementation embodiments of the data transmission method on the first communication node side mentioned above are all applicable to the embodiments of the communication node and can achieve the same technical effect.

[0173] The embodiment of the present invention further provides a communication node, wherein the communication node is a second communication node, such as Figure 8 As shown, the communication node includes: a processor 81 and a transceiver 82;

[0174] The processor 81 is configured to receive, through the transceiver 82, message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node;

[0175] According to the forwarding priority, the message data is stored accordingly;

[0176] Among them, the reception time of the message data with high forwarding priority is earlier than that of the message data with low forwarding priority, and the receiving queue corresponding to the message data with high forwarding priority is sorted before the receiving queue corresponding to the message data with low forwarding priority in the circular queue of the second communication node.

[0177] The communication node provided in the embodiment of the present invention receives message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node; the message data is stored accordingly according to the forwarding priority; wherein the reception time of the message data with high forwarding priority is earlier than that of the message data with low forwarding priority, and the receiving queue corresponding to the message data with high forwarding priority is sorted in the circular queue of the second communication node before the receiving queue corresponding to the message data with low forwarding priority; it can support differentiated scheduling for aggregated flows, ensure that flows with high real-time requirements and flows with low real-time requirements in the aggregated flows can be scheduled separately to meet different delay requirements; and avoid the need to re-plan the schedule for the entire network for each new critical flow entering, and the operation is simple; it well solves the problem that the data transmission method in the prior art is cumbersome to operate and cannot meet different delay requirements.

[0178] The processor is specifically configured to: store the message data in a corresponding location area in a receiving queue according to the forwarding priority.

[0179] Specifically, the processor is specifically configured to: when the forwarding priority is the first level, store the message data in a first-level location area in a receiving queue.

[0180] Furthermore, the processor is also used to: sequentially store message data with the same forwarding priority in a first-in-first-out manner; or, sequentially store message data with the same forwarding priority in a first-in-last-out manner.

[0181] Among them, the implementation embodiments of the data transmission method on the second communication node side mentioned above are all applicable to the embodiments of the communication node and can achieve the same technical effect.

[0182] An embodiment of the present invention further provides a communication node, comprising a memory, a processor, and a program stored in the memory and executable on the processor; when the processor executes the program, the data transmission method on the first communication node side is implemented; or,

[0183] When the processor executes the program, the data transmission method on the second communication node side is implemented.

[0184] Among them, the implementation embodiments of the data transmission method on the first communication node side or the second communication node side are all applicable to the embodiments of the communication node and can also achieve the corresponding same technical effects.

[0185] The embodiment of the present invention further provides a readable storage medium, on which a program is stored, and when the program is executed by a processor, the steps in the data transmission method on the first communication node side are implemented; or,

[0186] When the program is executed by the processor, the steps in the above-mentioned data transmission method on the second communication node side are implemented.

[0187] Among them, the implementation embodiments of the data transmission method on the first communication node side or the second communication node side are all applicable to the embodiments of the readable storage medium, and can also achieve the corresponding same technical effects.

[0188] It should be noted that many functional components described in this specification are referred to as modules / sub-modules in order to more particularly emphasize the independence of their implementation methods.

[0189] In the embodiment of the present invention, module / submodule can be implemented with software so that it can be performed by various types of processors. For example, an executable code module of an identification can include one or more physical or logical blocks of computer instructions, for example, it can be constructed as an object, process or function. Nevertheless, the executable code of the identified module does not need to be physically located together, but can include different instructions stored in different positions, and when these instructions are logically combined together, it constitutes a module and realizes the specified purpose of this module.

[0190] In fact, executable code module can be a single instruction or many instructions, and can even be distributed on a plurality of different code segments, distributed among different programs, and distributed across a plurality of memory devices. Similarly, operating data can be identified in the module, and can be implemented and organized in the data structure of any appropriate type according to any appropriate form. The operating data can be collected as a single data set, or can be distributed in different locations (including on different storage devices), and can only be present on a system or network as an electronic signal at least in part.

[0191] When a module can be implemented by software, considering the level of existing hardware technology, a person skilled in the art can build a corresponding hardware circuit to implement the corresponding function of the module that can be implemented by software without considering the cost. The hardware circuit includes a conventional very large scale integration (VLSI) circuit or gate array and existing semiconductors such as logic chips, transistors, or other discrete components. The module can also be implemented by a programmable hardware device, such as a field programmable gate array, a programmable array logic, a programmable logic device, etc.

[0192] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary personnel in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A data transmission method, applied to a first communication node, characterized in that: The method comprises: Determine the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node; Sending the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low; The receiving queue corresponding to the data message with a high forwarding priority is arranged before the receiving queue corresponding to the data message with a low forwarding priority in the circular queue of the second communication node; The determining the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node includes: Determine the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue; The step of determining the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue includes: When the message data is located in a first-level location area, determining that the forwarding priority of the message data is the first level; The first communication node establishes three queues in a circular queue scheduling manner, wherein the first queue is a sending queue, the second queue is a queue to be sent, and the third queue is a waiting queue; The first communication node reserves a portion of resources in each queue as the first level location area.

2. The data transmission method according to claim 1, characterized in that: Also includes: For packets with the same forwarding priority, they are sent to the corresponding receiving queues in a first-in-first-out manner; or, For message data with the same forwarding priority, they are sent to the corresponding receiving queue in a first-in-last-out manner.

3. A data transmission method, applied to a second communication node, characterized in that: The method comprises: Receiving message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node; According to the forwarding priority, the message data is stored accordingly; The reception time of the message data with a high forwarding priority is earlier than that of the message data with a low forwarding priority, and the receiving queue corresponding to the message data with a high forwarding priority is arranged before the receiving queue corresponding to the message data with a low forwarding priority in the circular queue of the second communication node; The storing the message data accordingly according to the forwarding priority includes: According to the forwarding priority, storing the message data in a corresponding location area in a receiving queue; The storing the message data in a corresponding location area in a receiving queue according to the forwarding priority includes: When the forwarding priority is the first level, storing the message data in the first level location area in the receiving queue; The second communication node establishes three queues in a circular queue scheduling manner, wherein the first queue is a sending queue, the second queue is a queue to be sent, and the third queue is a waiting queue; The second communication node reserves a portion of resources in each queue as the first-level location area.

4. The data transmission method according to claim 3, characterized in that: Also includes: For packets with the same forwarding priority, they are stored in order according to the first-in-first-out method. or, For message data with the same forwarding priority, they are stored in order according to the first-in-last-out method.

5. A data transmission device, applied to a first communication node, characterized in that: The device comprises: A first determining module, used to determine the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node; A first sending module, configured to send the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node in the order of the forwarding priority from high to low; The receiving queue corresponding to the data message with a high forwarding priority is arranged before the receiving queue corresponding to the data message with a low forwarding priority in the circular queue of the second communication node; The first determining module includes: A first determination submodule, used to determine the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue; The step of determining the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue includes: When the message data is located in a first-level location area, determining that the forwarding priority of the message data is the first level; The first communication node establishes three queues in a circular queue scheduling manner, wherein the first queue is a sending queue, the second queue is a queue to be sent, and the third queue is a waiting queue; The first communication node reserves a portion of resources in each queue as the first level location area.

6. The data transmission device according to claim 5, characterized in that: Also includes: A second sending module is used to send the message data with the same forwarding priority to the corresponding receiving queue in a first-in-first-out manner; or For message data with the same forwarding priority, they are sent to the corresponding receiving queue in a first-in-last-out manner.

7. A data transmission device, applied to a second communication node, characterized in that: The device comprises: A first receiving module, used to receive message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node; A first storage module, used for storing the message data accordingly according to the forwarding priority; The reception time of the message data with a high forwarding priority is earlier than that of the message data with a low forwarding priority, and the receiving queue corresponding to the message data with a high forwarding priority is arranged before the receiving queue corresponding to the message data with a low forwarding priority in the circular queue of the second communication node; The first storage module comprises: A first storage submodule, used for storing the message data in a corresponding position area in a receiving queue according to the forwarding priority; The storing the message data in a corresponding location area in a receiving queue according to the forwarding priority includes: When the forwarding priority is the first level, storing the message data in the first level location area in the receiving queue; The second communication node establishes three queues in a circular queue scheduling manner, wherein the first queue is a sending queue, the second queue is a queue to be sent, and the third queue is a waiting queue; The second communication node reserves a portion of resources in each queue as the first-level location area.

8. The data transmission device according to claim 7, characterized in that: Also includes: The second storage module is used to sequentially store the message data with the same forwarding priority in a first-in-first-out manner; or, For message data with the same forwarding priority, they are stored in order according to the first-in-last-out method.

9. A communication node, the communication node being a first communication node, characterized in that: The communication node includes: a processor and a transceiver; The processor is used to determine the forwarding priority of each message data in the current sending queue in the circular queue of the first communication node; Sending the message data and the corresponding forwarding priority to the corresponding receiving queue in the circular queue of the second communication node through the transceiver in the order of the forwarding priority from high to low; The receiving queue corresponding to the data message with a high forwarding priority is arranged before the receiving queue corresponding to the data message with a low forwarding priority in the circular queue of the second communication node; The processor is specifically configured to: determine the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue; The step of determining the forwarding priority of each message data according to the location area of ​​each message data in the current sending queue includes: When the message data is located in a first-level location area, determining that the forwarding priority of the message data is the first level; The first communication node establishes three queues in a circular queue scheduling manner, wherein the first queue is a sending queue, the second queue is a queue to be sent, and the third queue is a waiting queue; The first communication node reserves a portion of resources in each queue as the first level location area.

10. A communication node, the communication node being a second communication node, characterized in that: The communication node includes: a processor and a transceiver; The processor is configured to receive, through the transceiver, message data and corresponding forwarding priorities sent by the first communication node to at least two receiving queues in the circular queue of the second communication node; According to the forwarding priority, the message data is stored accordingly; The reception time of the message data with a high forwarding priority is earlier than that of the message data with a low forwarding priority, and the receiving queue corresponding to the message data with a high forwarding priority is arranged before the receiving queue corresponding to the message data with a low forwarding priority in the circular queue of the second communication node; The processor is specifically configured to: store the message data in a corresponding location area in a receiving queue according to the forwarding priority; The storing the message data in a corresponding location area in a receiving queue according to the forwarding priority includes: When the forwarding priority is the first level, storing the message data in the first level location area in the receiving queue; The second communication node establishes three queues in a circular queue scheduling manner, wherein the first queue is a sending queue, the second queue is a queue to be sent, and the third queue is a waiting queue; The second communication node reserves a portion of resources in each queue as the first-level location area.

11. A communication node, comprising a memory, a processor, and a program stored in the memory and executable on the processor; characterized in that: When the processor executes the program, the data transmission method according to any one of claims 1 to 2 is implemented; or, When the processor executes the program, the data transmission method according to any one of claims 3 to 4 is implemented.

12. A readable storage medium having a program stored thereon, characterized in that: When the program is executed by a processor, the steps of the data transmission method according to any one of claims 1 to 2 are implemented; or, When the program is executed by a processor, the steps in the data transmission method according to any one of claims 3 to 4 are implemented.

Citation Information

Patent Citations

  • Data processing method and device and system

    CN103986666A

  • Packet transmission system having priority and method therefor

    CN1705295A