Communication scheduling method, device and storage medium
By adjusting the periodic mapping relationship between the receiving queue and the send queue in the DIP network, the problem of packet transmission abnormalities caused by insufficient frequency synchronization is solved, and the deterministic transmission of packets in the DIP network across the synchronization domain is realized, and the application scenarios are expanded.
Patent Information
- Application Number
- CN202011233487.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-06
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2040-11-06
AI Technical Summary
The prior art will not meet the strict deterministic service capability requirements in future 5G/6G networks, especially in DIP networks across synchronization domains. Inadequate frequency synchronization causes packets to appear in cycles that should not appear, resulting in the failure of the DIP mechanism.
By determining the second mapping relationship based on the first mapping relationship, adjusting the periodic mapping relationship between the receiving queue and the sending queue, ensuring that the message is transmitted within a suitable period, including modifying the sending queue corresponding to the receiving queue, and adopting the mapping mode of plus one, plus two, plus three or plus four modes to adapt to the frequency offset situation.
In DIP networks with frequency out of synchronization, deterministic transmission of packets is realized, the failure of the DIP mechanism is avoided, the application scenarios of deterministic networks are expanded, and the requirements for frequency synchronization across the entire network are reduced.
Smart Images

Figure CN114449586B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of networks, and in particular to a communication scheduling method, device and storage medium. Background Art
[0002] Specific scenarios in the future fifth-generation (B5G) and sixth-generation (6G) mobile communications, such as industrial control, telemedicine, and holographic communications, impose stringent deterministic service capability requirements that traditional IP forwarding cannot meet. Therefore, Deterministic Internet Protocol (DIP) networks are a key development trend in future networks, placing significant demands on DIP network message scheduling. Summary of the Invention
[0003] In view of this, the main purpose of the present invention is to provide a communication scheduling method, device and storage medium.
[0004] To achieve the above object, the technical solution of the present invention is achieved as follows:
[0005] An embodiment of the present invention provides a communication scheduling method, the method comprising:
[0006] Based on the first mapping relationship, determining a second mapping relationship;
[0007] Sending a message according to the second mapping relationship;
[0008] The corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle;
[0009] The queue mapping relationship is used to determine the sending queue corresponding to each receiving queue in at least one receiving queue in a corresponding period.
[0010] In the above solution, determining the second mapping relationship based on the first mapping relationship includes:
[0011] The sending queue corresponding to each receiving queue in the corresponding period in the first mapping relationship is modified to obtain the second mapping relationship.
[0012] In the above solution, the method further includes:
[0013] When it is determined that at least one of the following requirements is met, the second mapping relationship is determined based on the first mapping relationship:
[0014] Arrival of scheduled adjustment time;
[0015] The first scenario; the first scenario is that when the receiving queue receives a message, the sending queue corresponding to the receiving queue needs to send a message at the same time, and the message received by the receiving queue needs to be sent in the current sending cycle;
[0016] The second scenario; the second scenario is that when the sending queue sends a message, the receiving queue corresponding to the sending queue needs to receive the message at the same time, and the message received by the receiving queue needs to wait for the next sending cycle to be sent by the sending queue.
[0017] In the above solution, determining the second mapping relationship based on the first mapping relationship includes:
[0018] Corresponding to the first scenario, the first sending queue corresponding to the receiving queue is changed to the second sending queue; the second sending queue is the queue after the first sending queue;
[0019] Corresponding to the second scenario, the first sending queue corresponding to the receiving queue is modified to a second sending queue; the second sending queue is the previous queue of the first sending queue.
[0020] In the above solution, the corresponding mapping relationship includes: a queue mapping relationship corresponding to each cycle in at least three cycles;
[0021] The number of the cycles is related to the number of the sending queues;
[0022] The number of the cycles is related to the number of the receive queues.
[0023] In the above solution, the queue mapping relationship includes: a mapping mode;
[0024] The mapping mode represents a mode for determining the sending queue corresponding to each of the receiving queues.
[0025] In the above solution, the number of the mapping modes is related to the number of the cycles;
[0026] When the number of cycles is three, the mapping modes include: plus one mode, plus two mode, and plus three mode;
[0027] When the number of the cycles is four, the mapping modes include: plus one mode, plus two mode, plus three mode, and plus four mode.
[0028] An embodiment of the present invention provides a communication scheduling device, comprising:
[0029] A processing module, configured to determine a second mapping relationship based on the first mapping relationship;
[0030] A communication module, configured to send a message according to the second mapping relationship;
[0031] The corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle;
[0032] The queue mapping relationship represents the sending queue corresponding to each receiving queue in at least one receiving queue in a corresponding period.
[0033] In the above solution, the processing module is used to modify the sending queue corresponding to each receiving queue in the corresponding period in the first mapping relationship to obtain the second mapping relationship.
[0034] In the above solution, the processing module is configured to determine the second mapping relationship based on the first mapping relationship when at least one of the following requirements is met:
[0035] Arrival of scheduled adjustment time;
[0036] The first scenario; the first scenario is that when the receiving queue receives a message, the sending queue corresponding to the receiving queue needs to send a message at the same time, and the message received by the receiving queue needs to be sent in the current sending cycle;
[0037] The second scenario; the second scenario is that when the sending queue sends a message, the receiving queue corresponding to the sending queue needs to receive the message at the same time, and the message received by the receiving queue needs to wait for the next sending cycle to be sent by the sending queue.
[0038] In the above solution, the processing module is used to modify the first sending queue corresponding to the receiving queue to a second sending queue corresponding to the first scenario; the second sending queue is the next queue after the first sending queue;
[0039] Corresponding to the second scenario, the first sending queue corresponding to the receiving queue is modified to a second sending queue; the second sending queue is the previous queue of the first sending queue.
[0040] In the above solution, the corresponding mapping relationship includes: a queue mapping relationship corresponding to each cycle in at least three cycles;
[0041] The number of the cycles is related to the number of the sending queues;
[0042] The number of the cycles is related to the number of the receive queues.
[0043] In the above solution, the queue mapping relationship includes: a mapping mode;
[0044] The mapping mode represents a mode for determining the sending queue corresponding to each of the receiving queues.
[0045] In the above solution, the number of the mapping modes is related to the number of the cycles;
[0046] When the number of cycles is three, the mapping modes include: plus one mode, plus two mode, and plus three mode;
[0047] When the number of the cycles is four, the mapping modes include: plus one mode, plus two mode, plus three mode, and plus four mode.
[0048] An embodiment of the present invention provides a communication scheduling device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above communication scheduling methods when executing the program.
[0049] An embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of any one of the above communication scheduling methods.
[0050] An embodiment of the present invention provides a communication scheduling method, device and storage medium, the method comprising: determining a second mapping relationship based on a first mapping relationship; sending a message according to the second mapping relationship; the corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle; the queue mapping relationship is used to determine the sending queue corresponding to each of the at least one receiving queue in the corresponding cycle; in this way, scheduling from the first mapping relationship in a problem state to the second mapping relationship in a stable state, and ensuring that the data packet is transmitted within the appropriate cycle by adjusting the mapping relationship. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 The relationship between an existing IP scheduling mechanism and a DIP scheduling mechanism;
[0052] Figure 2 A schematic diagram of a CQF scheduling method;
[0053] Figure 3 This is a CQF forwarding delay effect diagram;
[0054] Figure 4 A schematic diagram of the CQF scheduling method in a two-queue scenario;
[0055] Figure 5 A schematic diagram of the CQF scheduling method in a three-queue scenario;
[0056] Figure 6 A schematic diagram of a DIP scheduling method;
[0057] Figure 7 A schematic diagram of an application of a DIP scheduling method;
[0058] Figure 8A schematic diagram of a circular queue of a local interface of a DIP;
[0059] FIG9( a ) is a schematic diagram showing an error caused by a clock frequency of a downstream node being slightly higher than that of an upstream node;
[0060] FIG9( b ) is a schematic diagram showing an error caused by a clock frequency of a downstream node being slightly lower than that of an upstream node;
[0061] Figure 10 A flow chart of a communication scheduling method provided by an embodiment of the present invention;
[0062] Figure 11 A schematic diagram of a transmission anomaly provided by an embodiment of the present invention;
[0063] Figure 12 A schematic diagram of a communication scheduling method for problem scenarios provided by an embodiment of the present invention;
[0064] Figure 13 A schematic diagram of another transmission abnormality provided by an embodiment of the present invention;
[0065] Figure 14 A schematic diagram of another communication scheduling method for problem scenarios provided by an embodiment of the present invention;
[0066] Figure 15 A schematic diagram illustrating analysis of asynchronous DIP according to an embodiment of the present invention;
[0067] Figure 16 A schematic diagram of a state description provided by an embodiment of the present invention;
[0068] Figure 17 A schematic diagram of another state description provided by an embodiment of the present invention;
[0069] Figure 18 A schematic structural diagram of a communication scheduling device provided by an embodiment of the present invention;
[0070] Figure 19 A schematic structural diagram of another communication scheduling device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0071] The present invention is further described in detail below with reference to the embodiments.
[0072] As mentioned above, DIP is a key development trend in future networks. Because traditional IP packets rely on statistical multiplexing and best-effort delivery, they cannot guarantee Service Level Agreement (SLA) metrics such as latency, bandwidth, and packet loss. 5G / 6G scenarios impose strict deterministic service capability requirements that traditional IP forwarding cannot meet. For example, telemedicine requires end-to-end latency less than 50ms and jitter less than 200us. To ensure relay protection accuracy in smart grid scenarios, one-way time differences must be less than 200us and jitter less than 50us.
[0073] Among related technologies, Time Sensitive Networking (TSN) technology, standardized by the Institute of Electrical and Electronics Engineers (IEEE), provides a series of standards for congestion control and queue scheduling. However, it is designed based on Ethernet local area networks. Some prerequisites such as time synchronization and flow-by-flow identification are unrealistic on large networks. Scalability and maintainability are the biggest challenges to achieving determinism in Layer 3 (L3) networks.
[0074] To this end, a DIP-based approach based on periodic scheduling has been proposed in related technologies in the hope of providing determinism in large-scale backbone networks. However, this approach lacks deployment practice and has some problems in terms of ease of maintenance. Figure 1 As shown in the figure, based on the existing IP scheduling technology and TSN related mechanisms, a DIP mechanism is proposed.
[0075] To explain the DIP mechanism in the prior art, the following first explains Cyclic Queuing and Forwarding (CQF) in the related art. CQF is a queue management method applied to deterministic networks in the related art.
[0076] The Time-Aware Shaper (TAS) defined in 802.1Qbv adds a gate to each queue. A queue is allowed to send packets only when the corresponding gate is open. The opening and closing of the gate is controlled by a circular schedule. For example, in time window 1, the table entry data is 00000001, indicating that the last queue in this time window is open and the other queues are closed. The advantage of this solution is that in scenarios where flows are relatively simple, the TAS mechanism can achieve the shortest transmission delay for data flows with stringent latency requirements (critical flows) through precise planning. However, there are also certain issues: the above solution requires time synchronization of all devices in the entire network, and each new critical flow that enters the network requires rescheduling the entire network.
[0077] Figure 2 A schematic diagram of a CQF scheduling method is shown in FIG. Figure 2 As shown, for example, a two-queue cycle can be used: Queue 2 and Queue 3 (or Queue 4 and Queue 5). Queue 2 and Queue 3 alternately open and close. When Queue 2 opens to transmit data, Queue 3 closes and receives data. Then, Queue 3 opens to transmit data, and Queue 2 closes and receives data. In this mechanism, critical flow frames are sent in segments (or cycles). The white frames in the figure must arrive within a specific time window and enter a specific queue (Queue 2 or Queue 4 in the figure). Within the same time window, Queue 3 or Queue 5 must complete transmission for the entire mechanism to operate properly. If link latency and processing latency are negligible relative to the cycle length, then for a specific critical flow, this mechanism can use only two buffers (for example, only Queue 2 and Queue 3 in the figure). Otherwise, the mechanism requires more queues (for example, Queue 2 and Queue 3, or Queue 4 and Queue 5 in the figure). If all devices in the network support CQF, then the critical flow message can enter a cycle at the network edge node, and then stay for about a cycle at each intermediate node. Therefore, the critical flow message can be forwarded deterministically and arrive at the peer network edge node in a fixed cycle. In the CQF mechanism, from the perspective of each message, the time it stays at each hop is about one cycle, but from the perspective of the entire CQF system, the total delay of a set of messages in a receiving cycle at each node is one cycle. It can be combined with Figure 3 As shown, Figure 3 This is a schematic diagram of the forwarding delay effect of CQF. Figure 3 The middle shadow is the forwarding effect diagram. In the case of two queues, a wave of packets is actually sent in cycle i and is required to arrive at the downstream in cycle i.
[0078] The application effect of CQF is as follows: CQF divides time into a periodic sequence, and the length of each period is t. Suppose there are three bridges (i.e., network nodes) A, B, and C, where B is downstream of A and C is downstream of B. CQF requires that the frame sent by A in the i-th period be forwarded by B in the (i + 1)-th period and then forwarded by C in the (i + 2)-th period, and so on. In this way, the maximum possible time interval from when A sends a frame to when B forwards the frame is close to 2t, and the minimum possible time interval is close to 0; when it reaches C, the maximum time interval is close to 3t, and the minimum possible time is close to t. Thus, the delay during the transmission process is related to the number of hops (N) and the period (t), and the delay is approximately: (N - 1)*t < delay < (N + 1)*t; the jitter generated is about one period, which means that once a message enters A, the time when it exits C must be a certain period, provided that each network node is operating normally. Therefore, the above CQF is applicable to scenarios where the link delay can be ignored relative to the period duration.
[0079] To sum up, the CQF solution has the following problems:
[0080] It requires the time synchronization of all devices in the network; the period length requirements of different services are different and it is not easy to integrate. If the end-to-end delay requirement is low, a shorter period length is required. However, if the period length is short, the number of messages that can be placed in one period is limited, and the number of supported services is restricted; it is not suitable for long-distance links, as long-distance links will reduce the network resource utilization rate.
[0081] In the related technology, a specific implementation method of CQF is provided. For example, two queues are adopted: queue 1 (denoted as queue1) and queue 2 (denoted as queue2). During the odd-period (such as the 1st, 3rd, 5th, etc.) cycle intervals, queue1 receives data packets (but does not send them), and queue2 sends all the data packets received during the previous even-period (such as the 2nd, 4th, 6th, etc.) cycle intervals (without receiving any data packets); during the even-period intervals, queue2 receives data packets from the input port (without sending them), and queue1 sends all the data packets received during the previous odd-period cycle interval (without receiving data packets), and so on in a loop.
[0082] The following provides the CQF solution in the two-queue scenario and the CQF solution in the three-queue scenario.
[0083] Figure 4 It is a schematic diagram of the CQF scheduling method in the two-queue scenario; as Figure 4As shown, in the case of negligible propagation delay, in a time-synchronized network, a message arrives at node 3 in cycle i and is sent in cycle i + 1. The single-node delay = t (the upper limit, i.e., the cycle duration). At this time, assume that the sending time of the message is ta (ti < ta < ti + 1), and the link delay d (0 < d < t, and d can be ignored). Then the arrival time is ta + d (ti < ta + d < ti + 1).
[0084] Circular queue: Two queues are required. The circular manner of the exit time window of node 3 is: 01, 10, 01,...; In cycle a, queue 1 receives and queue 2 sends. In cycle b, queue 1 sends and queue 2 receives (relatively, at the exit of node 1, in cycle a, queue 1 sends and queue 2 does not send).
[0085] For example of message forwarding, after node 1 accesses traffic 1 and performs shaping, it exits from queue1 in the first cycle (represented by cycle a in the figure); After node 2 accesses traffic 2 and performs shaping, it is sent from queue1 in cycle a; At ports 1 and 2 of node 3, in cycle a, it receives traffic 1 and traffic 2 from queue1, and sends traffic 1 and traffic 2 at port 3 in the next cycle (port 3 will temporarily block traffic 1 and traffic 2 and send them in the next cycle).
[0086] If when queue1 receives traffic in cycle a, it simultaneously receives a message of the second cycle (represented by cycle b in the figure) (and can identify it), it will be discarded.
[0087] For messages sent by queue1 in the same cycle, they will be aggregated, and the relevant resources should also be sufficient (that is, the total sending time of messages in each cycle on each port should not exceed the cycle length);
[0088] Effect on the entrance side: For services at edge nodes, such as node 1 and node 2, there are two options. They can choose to send from queue1 in cycle a or from queue2 in cycle b. Once selected and the path is determined, then for the corresponding cycle on intermediate nodes, such as node 3, it can be determined, and they are sent alternately in a cycle. The cycle of the exit node (such as node 3) is also determined.
[0089] Figure 5 It is a schematic diagram of a CQF scheduling method in a three-queue scenario; as Figure 5 As shown, for the case of longer propagation delay, but the longest does not exceed 1t, then the message arrives at B in cycles i and i + 1 and is sent in cycle i + 2. The single-node delay = 2t (the upper limit).
[0090] At this time, assume that the sending time of the message is ta (ti < ta < ti + 1), and the delay d (0 < d < t). Then the arrival is ta + d (ti < ta + d < ti + 1 + t).
[0091] Circular queue: Three queues are required, two for receiving and one for sending. The cycle of the time window of node 3 is: 010, 001, 100, 010, 001, 100, 010, 001..., and so on, where 0 represents receiving data and 1 represents sending data.
[0092] Figure 5 In the example, assuming a 10 km fiber delay of 50µs, and a cycle length of 100µs, the fiber link delay (d) < cycle length (t) is satisfied, but d cannot be ignored relative to t. In the figure, r refers to receive, and send (flag1) refers to queue1, which has collected a cycle's worth of messages (sourced from receive queue2 (which can be seen as the entry point for messages)). The send operation is executed in cycle a and is able to be completed.
[0093] Under normal circumstances, neither sending queue 1 nor receiving queue 2 would receive the message. However, during periods b and c, queue 2 receives the first and second parts of the flag1 message, respectively. r flag2(part1) indicates that when receiving the first part of the flag1 message, queue 2 receives the message. Upstream node 1 sends the message in period 2 (labeled as flag2). Upon receiving the message, queue 2 changes the flag to 1 based on node 3's mapping and sends it to the corresponding sending queue 1.
[0094] Based on the CQF scheduling method, we further proposed using a flag to identify the message period. This takes into account that messages within a period may appear in different downstream periods. Unless the downstream records the precise delay d and assumes that a wave of upstream messages arrives within t (which is a relatively stringent requirement, requiring precise time synchronization and maintaining an appropriate guard band), using a flag to identify messages can simplify the problem of determining the upstream message period. For example, when each upstream message is sent, it has an identifying flag according to the upstream period. This allows the downstream to understand the specific period information of these upstream messages when they are sent.
[0095] Taking packet forwarding as an example, node 1 receives traffic 1 and shapes it, sending it from queue 1 in the first cycle (indicated by cycle a in the figure). Node 2 receives traffic 2 and shapes it, sending it from queue 1 in cycle a. Node 3 receives traffic 1 and traffic 2 from queue 1 on ports 1 and 2 in cycle a or the second cycle (indicated by cycle b in the figure), and sends traffic 1 and traffic 2 from port 3 in the next cycle. (At this time, port 3 sends traffic in the third cycle (indicated by cycle c in the figure). The mapping rule is that the previous hop's cycle a is mapped to the cycle c, and mapping is done every other cycle.)
[0096] Related technologies also propose a DIP scheduling method. Unlike CQF scheduling, DIP scheduling no longer assumes time synchronization across the entire network, but instead assumes frequency synchronization across the entire network, and both methods support the DIP scheduling mechanism.
[0097] Because fiber optic latency cannot be ignored in large-scale, long-distance networks, more queues are set, for example, three queues. Unlike the CQF queues that rotate between sending and receiving, two cycles are used here to ensure that all packets in a cycle are received and then sent. That is, the three queues cooperate in a cycle. For example, the three cycles a, b, and c are set as follows:
[0098] a cycle: queue1 sending status, queue2 receiving status, queue3 receiving status;
[0099] b cycle: queue1 receiving status, queue2 sending status, queue3 receiving status;
[0100] c cycle: queue1 receiving status, queue2 receiving status, queue3 sending status;
[0101] The cycle continues.
[0102] When applied, the message enters a cycle at the network edge node and then stays at an intermediate node for about two cycles. In this way, the message of this critical flow can be forwarded deterministically and arrive at the peer network edge node within a fixed cycle.
[0103] Figure 6 The following figure shows a communication scheduling scheme using the DIP mechanism. Similar to the previous example, in addition to the delay variable d, a phase difference variable p is also included (because only frequency synchronization is assumed). In this case, the downstream device cannot be assumed to know the phase difference p. Instead, the downstream node can only use the flag for each traffic wave to understand the upstream transmission cycle to which the received traffic belongs.
[0104] like Figure 6 As shown, a wave of messages sent by upstream node 1 will be received by downstream node 3 within two cycles (calculated based on d, it should be received at i+2 and i+3. After considering p, the range will deviate, but overall, it will still be received by downstream node 3 within two cycles, because the width of the message group sent in the first cycle is t, and two cycles are used to determine that after the message group sent in the first cycle arrives, it will be sent in the next cycle).
[0105] The current DIP mechanism assumes fixed d and p, so the single-node delay is delay = 2t; it also requires three queues (two for receiving and one for sending), but the mapping between each two nodes is the same as before, and there are only three possible mapping relationships.
[0106] The DIP mechanism assumes that upon network startup, each interface is probed to determine the mapping relationship, which remains unchanged (based on the assumption of frequency synchronization). Once the link latency and phase offset caused by the probe message are determined, the mapping relationship can be determined. Each interface's three receive queues always receive two packets and pause one packet. This dual reception ensures that a full data stream is received. If a queue that should be paused receives a packet, the mechanism is considered to have a problem, and packet loss may occur (data packets must be flagged).
[0107] Figure 7 A schematic diagram of the application of a DIP scheduling method; Figure 7 As shown, node 1 sends a wave of messages with a period of a (the flag of the message = 1), which arrives at node 3 (node 3 uses the plus-two mapping mode for the message from node 1). These messages are received in period a and period b, and then the flag of the message sent is changed to 3; when it arrives at node 4, node 4 does not modify the flag of the message (or changes the flag, but the specific value remains the same as before).
[0108] Node 2 sends a wave of messages with period a (flag = 1), which arrive at node 3 (node 3 uses the plus-one mapping mode for the messages from node 2). Node 2 receives the messages in period c and period a, then changes the flag to 2 and sends the message in period b. The message arrives at node 4, and node 4 does not modify the flag of the message (or changes the flag, but the specific value remains the same as before).
[0109] Figure 8 A schematic diagram of the circular queue of the local interface of DIP; Figure 8As shown, the mapping relationship between the local interface's circular queue and the upstream (i.e., the relationship between the upstream transmission cycle and the downstream transmission cycle for a specific link) has three possible mappings: plus-one mapping, plus-two mapping, and plus-three mapping. When each DIP network device is configured for three cycles of equal length at startup, it selects a time point to begin the cycle. Therefore, even though the upstream and downstream cycles have the same length, there will still be a phase difference. Furthermore, the transmission delay between upstream and downstream also affects the mapping relationship between cycles.
[0110] In the first mapping relationship, a message from upstream node 1 in cycle a arrives at downstream node 3 in cycle a and is sent in cycle b. Correspondingly, the flag changes from 1 to 2, so this is recorded as an add-one mapping. On downstream node 3, there are three receiving queues, recorded as queue1, queue2, and queue3. (These three queues process messages by having messages carrying cycle identifier flag1 enter queue1; similarly, messages with flag2 enter queue2; and messages with flag3 enter queue3.) Because it is an add-one mapping, node 3 will modify the flag by adding 1 and then send it from the corresponding downstream interface. For example, if a message received from queue1 has its flag changed to 2, it will enter the downstream sending queue2 and wait for its own sending cycle (cycle b) to be sent.
[0111] The plus 2 and plus 3 mappings are handled similarly.
[0112] In view of the above, the related art lacks an adjustment mechanism in scenarios where two adjacent DIP nodes are not well frequency synchronized (e.g., across synchronization domains), such as shifting the upstream cycle arrival time to the right or left.
[0113] As shown in FIG9(a), it can be seen that the arrival time of the upstream cycle (such as the cycle represented by the dotted shadow) moves to the right; as shown in FIG9(b), it can be seen that the arrival time of the upstream cycle (such as the cycle represented by the dotted shadow) moves to the left.
[0114] To sum up, if the frequency synchronization of the DIP mechanism in the related art cannot be well guaranteed, after the upstream cycle arrival time moves to a certain extent or runs for a period of time according to a certain mapping relationship, the message will appear in the cycle where it should not appear. At this time, the DIP mechanism will report an error and then fail.
[0115] Based on this, the method provided in an embodiment of the present invention determines a second mapping relationship based on a first mapping relationship; sends a message according to the second mapping relationship; the corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle; the queue mapping relationship is used to determine the sending queue corresponding to each of the receiving queues in at least one receiving queue in the corresponding cycle.
[0116] The present invention will be further described in detail below with reference to the embodiments.
[0117] Figure 10 A flow chart of a communication scheduling method provided by an embodiment of the present invention; Figure 14 As shown, the method includes:
[0118] Step 1001: Determine a second mapping relationship based on the first mapping relationship;
[0119] Step 1002: Send a message according to the second mapping relationship;
[0120] The corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle;
[0121] The queue mapping relationship is used to determine the sending queue corresponding to each receiving queue in at least one receiving queue in a corresponding period.
[0122] In one embodiment, determining the second mapping relationship based on the first mapping relationship includes:
[0123] The sending queue corresponding to each receiving queue in the corresponding period in the first mapping relationship is modified to obtain the second mapping relationship.
[0124] The method is applied to a DIP node, which is a node in a DIP network, for example, a router used in the DIP network.
[0125] The message may be a data flow with strict delay requirements (called a critical flow).
[0126] In practical applications, considering the DIP mechanism in related technologies, if frequency synchronization between two adjacent DIP nodes is poor, the arrival time of upstream cycles may shift to a certain extent, causing messages to appear in cycles where they should not, causing the DIP mechanism to report an error and fail. To address this issue, the communication scheduling method described above is provided to transition from one mapping relationship (a first stable state, i.e., the first mapping relationship) to another stable state, i.e., the second mapping relationship. A method is also needed to determine the specific timing of transitioning to the second mapping relationship.
[0127] In one embodiment, the method further comprises:
[0128] When it is determined that at least one of the following requirements is met, the second mapping relationship is determined based on the first mapping relationship:
[0129] Arrival of scheduled adjustment time;
[0130] The first scenario; the first scenario is that when the receiving queue receives a message, the sending queue corresponding to the receiving queue needs to send a message at the same time, and the message received by the receiving queue needs to be sent in the current sending cycle;
[0131] The second scenario; the second scenario is that when the sending queue sends a message, the receiving queue corresponding to the sending queue needs to receive the message at the same time, and the message received by the receiving queue needs to wait for the next sending cycle to be sent by the sending queue.
[0132] Specifically, the receiving end can map the cycle identifier to the cycle identifier of the sending queue based on the cycle identifier carried in the message received by the receiving queue and the first mapping relationship, that is, determine the corresponding sending queue; however, there may be a situation where the time when the received message actually arrives at the receiving queue is different from the time when the received message should arrive at the receiving queue, which will cause the above-mentioned first scenario or second scenario; in this way, the node's receiving queue cannot complete the reception of the upstream message of one cycle within the expected two cycles (referring to the time when the received message should arrive at the receiving queue), and an error needs to be reported (as mentioned above, two cycles are used to ensure that the messages are received in full under the DIP mechanism, and the above situation indicates that they cannot be received in full, that is, the two cycles in which the messages should be received have not completed the reception work, and the specific reason is the above-mentioned drift problem).
[0133] Here, the time when the received message should arrive at the receiving queue refers to the estimated time when the message of the upstream deterministic service arrives at the receiving queue in the deterministic network according to the deterministic forwarding mechanism.
[0134] The message refers to the message transmitted in the DIP network.
[0135] With respect to the first scenario and the second scenario described above, the method provided by the embodiment of the present invention is used to enter another steady state, namely the second mapping relationship, from one mapping relationship (the first steady state).
[0136] Based on this, in one embodiment, determining the second mapping relationship based on the first mapping relationship includes:
[0137] Corresponding to the first scenario, the first sending queue corresponding to the receiving queue is changed to the second sending queue; the second sending queue is the queue after the first sending queue;
[0138] Corresponding to the second scenario, the first sending queue corresponding to the receiving queue is modified to a second sending queue; the second sending queue is the previous queue of the first sending queue.
[0139] In one embodiment, the corresponding mapping relationship includes: a queue mapping relationship corresponding to each cycle in at least three cycles;
[0140] The number of the cycles is related to the number of the sending queues;
[0141] The number of the cycles is related to the number of the receive queues.
[0142] For example, if the number of cycles is three, that is, in a three-cycle scenario, the number of sending queues is three and the number of receiving queues is also three;
[0143] The number of cycles is four, that is, in a four-cycle scenario, the number of sending queues is four and the number of receiving queues is also four.
[0144] In one embodiment, the queue mapping relationship includes: a mapping mode;
[0145] The mapping mode represents a mode for determining the sending queue corresponding to each of the receiving queues.
[0146] In one embodiment, the number of mapping modes is related to the number of cycles;
[0147] When the number of cycles is three, the mapping modes include: plus one mode, plus two mode, and plus three mode;
[0148] When the number of the cycles is four, the mapping modes include: plus one mode, plus two mode, plus three mode, and plus four mode.
[0149] According to the message cycle received by the receiving queue, the cycle identifier is mapped to the cycle identifier of the sending queue by adding one, two, three, or four, that is, determining the corresponding sending queue.
[0150] The following is a specific example using a three-cycle scenario.
[0151] First cycle: Send queue 1 is in the sending state, receive queue 2 is in the receiving state, and receive queue 3 is in the receiving state;
[0152] Second cycle: Receive queue 1 is in receiving state, send queue 2 is in sending state, and receive queue 3 is in receiving state;
[0153] The third cycle: receiving queue 1 receiving state, receiving queue 2 receiving state, sending queue 3 sending state;
[0154] The mapping mode is plus-one mode. Assume that the upstream send queue is one, and the downstream receive queues three and one receive a message. Based on the plus-one mode, it is determined that the send queue two will forward the message.
[0155] The upstream send queue is 1, and the downstream receive queues 1 and 2 receive a message. Based on the plus-two mode, send queue 3 is determined to forward the message.
[0156] The upstream sending queue is one, and the downstream receiving queues two and three receive a message. Based on the plus three mode, it is determined that the sending queue one will forward the message.
[0157] Corresponding to the first scenario, the first sending queue corresponding to the receiving queue is modified to the second sending queue, and the second sending queue is the queue after the first sending queue, which means that, assuming that the sending queue determined based on the first mapping relationship is sending queue two (that is, the first sending queue above), the sending queue is modified to sending queue three (that is, the second sending queue above); and if the determined sending queue is sending queue three, the sending queue is modified to sending queue one; and so on.
[0158] Corresponding to the second scenario, the first sending queue corresponding to the receiving queue is modified to the second sending queue, and the second sending queue is the previous queue of the first sending queue, which means that, assuming that the sending queue determined based on the first mapping relationship is sending queue two, the sending queue is modified to sending queue one; and if the determined sending queue is sending queue one, the sending queue is modified to sending queue three; and so on.
[0159] The method provided by the embodiment of the present invention proposes a mechanism that does not require strict synchronization of the frequencies of adjacent DIP nodes. When it is found that the message appears in a period where it should not appear, the DIP system enters an abnormal state, but does not crash. Instead, it determines the target steady state (a new period mapping relationship). The above scheme only needs to correct each queue cycle by cycle (T) in three cycles of a 3T duration (correct each queue in each cycle in turn, so only three cycles are required; if applied to a four-cycle scenario, four cycles can be used) to enter a new target steady state. When a frequency difference occurs between two devices, causing the period mapping relationship of the periodic DIP to change slowly, the method provided by the embodiment of the present invention converts the mapping relationship of the DIP into another steady state through a transition state.
[0160] Furthermore, before adjusting the cycle relationship, if traffic from two cycles needs to be merged, it is sufficient to confirm that the traffic from the two cycles can be merged and does not exceed the cycle capacity. For example, if packets from cycle 1 and the subsequent cycle 2 need to be merged, it is necessary to check whether the sum of the reserved bandwidth for cycle 1 and cycle 2 exceeds the bandwidth of the merged cycle. If not, the merge can proceed. This means that the merged cycle must be able to transmit all packets previously sent in cycles 1 and 2. This requires that packets from cycles 1 and 2 are not overcrowded relative to the number of packets that can be transmitted in a single cycle. Having sufficient free bandwidth in both cycles makes merging easier. Furthermore, in another implementation, if the combined packets from cycles 1 and 2 exceed the number that can be carried by a single cycle, the excess packets can be sent in a subsequent cycle. This cycle can be immediately following the merged cycle, or two transmission cycles apart (for a three-cycle cycle), or three transmission cycles apart (for a four-cycle cycle).
[0161] In an abnormal state, if a receive queue receives packets from a new cycle during the period in which the bound transmit queue is sending packets (i.e., the upstream cycle arrival time shifts forward as described above), the ingress trigger network device (PSFP, Per-Stream Filtering and Policing) must identify the new cycle and wait for the current cycle to end before allowing these packets to be sent to the backend bound transmit queue. PSFP stands for IEEE Std 802.1Qci Per-Stream Filtering and Policing, and is used at the ingress of DIP nodes. It supports per-stream or per-priority identification and processing; related processing includes marking and checking for arrival at the correct time.
[0162] It should be noted that current IEEE-defined high-speed Ethernet devices generally use free-oscillation clocks with an accuracy requirement of 100 ppb. Each interface supports locking based on the preamble of the packet header, which, to a certain extent, constitutes synchronous transmission. Using synchronous Ethernet technologies can improve synchronization accuracy, virtually eliminating frequency drift and ensuring the proper operation of DIP networks. Synchronous Ethernet requires a clock source with an accuracy of 4.6 ppb.
[0163] The methods provided by the embodiments of the present invention expand the current deterministic network scenarios for periodic DIP and reduce related limitations. For example, in large-scale cross-domain network scenarios, it is not possible to synchronize different networks to the same frequency source (clock source). However, the methods provided by the real-time examples of the present invention can enable data transmission of DIP across synchronization domains, even in simple IP networks with asynchronous frequencies (with an accuracy range of plus or minus 100 ppb).
[0164] Figure 11 A schematic diagram of a transmission anomaly provided by an embodiment of the present invention; Figure 11 The three tables in the lower middle section, from left to right, show the mapping relationships: original mapping relationship, abnormal mapping relationship, and target mapping relationship. The original mapping relationship is equivalent to the first mapping relationship mentioned above; the target mapping relationship is equivalent to the second mapping relationship determined based on the first mapping relationship.
[0165] Figure 11 The four figures in the upper middle section show that the period of the dotted shadows is shifting to the right. The first and second figures correspond to the original mapping relationship; the third figure has a problem and corresponds to the abnormal mapping relationship; the fourth figure corresponds to the target mapping relationship.
[0166] against Figure 11 In the situation shown, the upstream periodic messages have not yet been received, but node 3's sending queue 2 (queue 2) begins sending new messages (i.e., the upstream periodic arrival time shifts to the right); however, the messages already received by queue 2 will not all be sent at once, and the presence of several packets simultaneously sent and received will not disrupt the determinism of the DIP system. In the traditional DIP mechanism, if the PSFP detects an anomaly caused by the above-mentioned arrival time offset, it will discard the message, causing the DIP system to fail. In the mechanism provided by the embodiment of the present invention, the PSFP discovers the above-mentioned problem during inspection, but does not discard the packet. Instead, it enters the subsequent processing method, that is, from one steady state (i.e., the first mapping relationship) to another steady state (i.e., the second mapping relationship).
[0167] To address the above problem, using the method provided in the embodiment of the present invention, PSFP modifies the current mapping rule and changes the plus-one mapping to a plus-two mapping. Specifically, when the message of queue 1 starts a certain cycle a, the flag of the target queue is changed from f2 to f3 (indicating that it was originally sent to queue 2, but is modified to be sent to queue 3).
[0168] Combine Figure 12 The specific operation method is explained. Figure 12 The three tables in the lower middle section, from left to right, show the mapping relationships: original mapping relationship, transition mapping relationship, and target mapping relationship. The original mapping relationship is equivalent to the first mapping relationship mentioned above; the target mapping relationship is equivalent to the second mapping relationship determined based on the first mapping relationship.
[0169] Figure 12 In the three figures in the middle and upper part, the second figure corresponds to the abnormal mapping relationship; the third figure corresponds to the target mapping relationship;
[0170] The transition period will only last for 3T (one queue mapping relationship is adjusted every T). Figure 11 The table on the left (blank indicates no action) shows the actions during the transition period and the actions during the three periods of the target mapping relationship.
[0171] In the figure, the entrances correspond to receive queue 1 (receive q1), receive queue 2 (receive q2), and receive queue 3 (receive q3).
[0172] The egress corresponds to send queue 1 (recorded as send q1), send queue 2 (recorded as send q2), and send queue 3 (recorded as send q3).
[0173] In the following description, fx (x is 1, 2 or 3, indicating that the message sending period is the first period, the second period or the third period). Specifically, the message received by node 3 will carry the upstream period identification information, such as fx, which represents which upstream period the message is sent from. Node 3 determines the message sending period at this node based on the period mapping relationship on the interface where the message is received, and modifies the period identification information of the message at the same time.
[0174] qy (y is 1, 2 or 3) indicates that the period number corresponding to the queue (receiving queue or sending queue) is the first period, the second period or the third period. That is to say, receiving qy (y is 1, 2 or 3) can represent the receiving queue of the upstream first period, the receiving queue of the upstream second period, and the receiving queue of the upstream third period; correspondingly, sending qy (y is 1, 2 or 3) can represent the sending queue of the first period, the sending queue of the second period, and the sending queue of the third period. Specifically, at the entrance of node 3, if the corresponding period identification information is determined to be f1 based on the mapping relationship, then it enters the receiving q1, and the others are similar. At the exit of node 3, if the modified period identification information is f2, then it should enter the sending q2, and the others are similar. It should be noted that since the sending queues and receiving queues of different periods are preset (that is, the mapping relationship is determined), the corresponding sending queue can be determined according to the period identification information; therefore, when entering a new steady state, a new mapping relationship is determined. The specific operation method includes:
[0175] Step 01, associate receiving q1 to sending q3;
[0176] Specifically, at the end of the previous c cycle, send q2 is empty, send q3 is empty, and send q1 has some f1 messages (modified from f3); at this time, for receive q1, f2 is replaced by f3 (both predecessors are f1, that is, the received message f1 is changed to f3 according to the mapping table), and the message originally sent to send q2 is changed to send q3;
[0177] Step 02: Associate receiving q2 with sending q1;
[0178] Specifically, at the end of the previous a cycle, sending q2 is empty, sending q3 has some f3p1 messages (modified from f1), and sending q1 is empty; at this time, receiving q1 changes f1p2 to f3p2 and sends it to q3 (starting the stable cycle behavior), and for receiving q2, f3 is replaced by f1 (both predecessors are f2), and the message originally sent to sending q3 is changed to sending q1;
[0179] Step 03, associate receiving q3 with sending q2;
[0180] Specifically, at the end of the previous b cycle, sending q2 is empty, sending q3 has collected all f3 messages, and sending q1 has some f1p1 messages (modified from f2); at this time, sending q3 sends, sending q1 receives f2p2, and for q3, f1 is replaced by f2 (both predecessors are f3), and the message originally sent to sending q1 is changed to sending q2.
[0181] Figure 13 Schematic diagram of another transmission abnormality provided by an embodiment of the present invention; Figure 13 As shown, the sending cycle corresponding to the message of the upstream cycle has not been completed, and the sending queue q2 of node 3 (corresponding to the left-slashed part, and the dotted shaded part of this queue corresponds to the receiving queue q1) has a problem of needing to receive new messages (that is, the dotted shaded part corresponds to the receiving queue q1, and the message received by the receiving queue q1 will be mapped to the left-slashed part according to the addition of one, that is, the sending queue q2, and there will be a sending queue q2 in the three cycles before the left-slashed part, that is, the sending queue q2 is being used to send data at this time, that is, the arrival time of the message of the upstream a cycle at node 3 is shifted to the left, which brings problems); however, if there are only a few of these messages, and node 3 can recognize the boundaries of these messages, and they are not sent directly in this cycle, then they can also be received. In the traditional DIP mechanism, PSFP will detect these messages that should not appear and will discard the messages, making the DIP system invalid; in the mechanism of the present invention, PSFP will detect this problem and will not discard the messages, but will enter the following processing flow.
[0182] When PSFP detects this issue during inspection, it neither drops nor forwards the packet. Instead, it proceeds to the next processing step to achieve a stable state. Specifically, PSFP modifies the current mapping rule, changing the plus-one mapping to a plus-three mapping. Specifically, at the beginning of a certain cycle a, packets in queue 1 are changed from f2 to f1, and packets originally destined for queue 2 are now sent to queue 1.
[0183] Combine Figure 14 The specific operation method is explained. Figure 14The contents are explained as follows: In the first cycle of the transition cycle (which includes three cycles (i.e. 3T), and one queue is switched in each cycle), receiving q1 switches to sending q1. At this time, receiving q3 is still associated with sending q1. Sending q1 will send messages and receive messages at the same time. In the second transition cycle, because sending q1 is associated with two receiving queues, it will receive two groups of messages at the same time. Receiving q2 switches to sending q2, and sending q2 sends messages; in the third transition cycle, both sending q1 and sending q2 receive messages, receiving q3 switches to sending q3, and sends; in the first cycle of the target mapping relationship, sending q1 sends messages of two cycles at the same time, one from receiving q1 and the other from receiving q3.
[0184] Specific operation methods include:
[0185] Step 11: Associate receiving q1 with sending q1.
[0186] Specifically, at the end of the previous c cycle, sending q1 is full of data (changed from f3 to f1), sending q3 has some f3p1 messages (modified from f2p1 messages), and sending q2 is full of data (changed from f1 to f2); at this time, for sending q1 sending messages, sending q1 also receives some f1p1 messages (modified from f3p1 messages), but temporarily suppresses sending, and receiving q1 is associated with sending q1;
[0187] The full data here means that all the data from the upstream cycle has been collected.
[0188] Step 12: Switch the receiving q2 to the sending q2;
[0189] Specifically, at the end of the previous a cycle, sending q2 is full of data (changed from f1 to f2), sending q3 is full of data (modified from f2), and sending q1 has some f1p1 messages (modified from f3p1 messages); at this time, receiving q1 changes f1p1 to f1p1 (logically, it can also be considered unchanged) and sends it to sending q1. For sending messages sent by sending q2, receiving q2 is associated with sending q2;
[0190] Step 13: Switch the receiving q3 to the sending q3;
[0191] Specifically, at the end of the previous b cycle, sending q2 is empty, sending q3 is full of data, sending q1 has some f1p1 messages (modified from f1), and there are also messages of the entire cycle f1 (modified from f3); at this time, sending q3 is sent, receiving q3 is associated with sending q3, and sending q1 collects f1p2 (modified from f1). Note that at this time sending q1 has two cycles of traffic, one wave is modified from f1, and the other wave is modified from the previous f3.
[0192] It should be noted that, in the above, the period of the dotted shadow is recorded as period a, the period of the left oblique shadow is recorded as period b, and the period of the right oblique shadow is recorded as period c.
[0193] The causes of asynchronous DIP are further explained below.
[0194] Figure 15 Schematic diagram of the analysis of asynchronous DIP provided by the embodiment of the present invention; Figure 15 You can understand the reason why the downstream node's follower upstream node's sending cycle moves (such as the above a cycle moving left or right). The specific explanation is as follows:
[0195] In the mechanism of the present invention, based on the introduction of phase and frequency deviations, there are still three mapping relationships. Assuming that the propagation delay and phase difference are constant, each pair of neighbors needs to determine which of the three mapping relationships it is. Here, this relationship is considered to be relatively stable. Because of the frequency difference, after a period of time, the actual arrival time of the upstream cycle, such as the cycle of the dotted shadow, will be offset (the specific reason is that the actual frequency of node 1 and the actual frequency of node 3 may deviate); if the frequency of node 1 is lower than that of node 3, that is, the table of node 3 is faster and the cycle time of node 1 is longer, the dotted shadow will slowly move backward until it misses a cycle, causing the PSFP of the entrance to fail (the flag1 message that should have appeared in the c cycle and the a cycle did not arrive completely).
[0196] If the frequency of node 1 is higher than that of node 3, that is, the table of node 3 is slow and the cycle time 3 of node 3 is longer, the actual arrival time of the upstream cycle, such as the cycle with dotted shadows, will gradually move forward until a cycle is missed, causing the ingress PSFP to fail (the flag1 message that should have appeared in cycle c and cycle a appears in cycle b).
[0197] Figure 16 A schematic diagram of a state description provided by an embodiment of the present invention; Figure 16 The state of the send queue in three cycles of the transition mapping relationship and the state description chart of the send queue in the first three cycles of the target mapping relationship are shown in FIG.
[0198] When the period of the dotted shadow (i.e., period a) moves to the right, as mentioned above, it will enter an abnormal state and needs to go through a transition state to enter a new stable period, thereby maintaining a stable cycle for another period of time. After the previous analysis, it can be found that the adjustment mentioned above actually empties a period and no message is sent. This change has little impact on the overall DIP system.
[0199] Figure 17A schematic diagram of another state description provided by an embodiment of the present invention; Figure 17 The state of the send queue in three cycles of the transition mapping relationship and the state description chart of the send queue in the first three cycles of the target mapping relationship are shown in FIG.
[0200] When the dotted shadow period (i.e., period a) moves to the left (forward), as mentioned above, it enters an abnormal state and needs to go through a transition state to enter a new stable period, thereby maintaining a stable cycle for another period of time. After the previous analysis, it can be found that the adjustment mentioned above squeezes two sending periods into one period, and the messages of the two periods are sent simultaneously. The related impacts are relatively large, including:
[0201] Problem 1: During period a, there is a time period where packets are sent and received simultaneously, but the received packets cannot be sent. In this case, it is necessary to set the boundary between the previous and newly received packets, otherwise they cannot be distinguished.
[0202] The relevant solutions are as follows: Use a special field as an identifier, such as a clear identification message to indicate that this is a message of cycle a at the beginning of a new cycle;
[0203] Problem 2: Traffic aggregation occurs during period a between two transmitters, and it is unclear whether traffic overflow will occur.
[0204] The relevant solutions are as follows: it is necessary to reasonably monitor the resource utilization of each cycle and detect whether such possible mergers are allowed;
[0205] If the bandwidth does not exceed the a period, the packets are merged; if it exceeds the a period, the excess packets need to wait for 3T and be merged into the next a period to be sent, or an error is directly reported.
[0206] Figure 18 A schematic structural diagram of a communication scheduling device provided in an embodiment of the present invention; Figure 18 As shown, the device is applied to a DIP node; the device includes:
[0207] A processing module, configured to determine a second mapping relationship based on the first mapping relationship;
[0208] A communication module, configured to send a message according to the second mapping relationship;
[0209] The corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle;
[0210] The queue mapping relationship represents the sending queue corresponding to each receiving queue in at least one receiving queue in a corresponding period.
[0211] Specifically, the processing module is used to modify the sending queue corresponding to each receiving queue in the corresponding period in the first mapping relationship to obtain the second mapping relationship.
[0212] Specifically, the processing module is configured to determine the second mapping relationship based on the first mapping relationship when at least one of the following requirements is met:
[0213] Arrival of scheduled adjustment time;
[0214] The first scenario; the first scenario is that when the receiving queue receives a message, the sending queue corresponding to the receiving queue needs to send a message at the same time, and the message received by the receiving queue needs to be sent in the current sending cycle;
[0215] The second scenario; the second scenario is that when the sending queue sends a message, the receiving queue corresponding to the sending queue needs to receive the message at the same time, and the message received by the receiving queue needs to wait for the next sending cycle to be sent by the sending queue.
[0216] Specifically, the processing module is specifically configured to, corresponding to the first scenario, modify the first sending queue corresponding to the receiving queue to a second sending queue; the second sending queue is a queue subsequent to the first sending queue;
[0217] Corresponding to the second scenario, the first sending queue corresponding to the receiving queue is modified to a second sending queue; the second sending queue is the previous queue of the first sending queue.
[0218] Specifically, the corresponding mapping relationship includes: a queue mapping relationship corresponding to each cycle in at least three cycles;
[0219] The number of the cycles is related to the number of the sending queues;
[0220] The number of the cycles is related to the number of the receive queues.
[0221] Specifically, the queue mapping relationship includes: a mapping mode;
[0222] The mapping mode represents a mode for determining the sending queue corresponding to each of the receiving queues.
[0223] Specifically, the number of the mapping modes is related to the number of the cycles;
[0224] When the number of cycles is three, the mapping modes include: plus one mode, plus two mode, and plus three mode;
[0225] When the number of the cycles is four, the mapping modes include: plus one mode, plus two mode, plus three mode, and plus four mode.
[0226] It should be noted that the communication scheduling device provided in the above embodiment, when implementing the corresponding communication scheduling method, only uses the division of the above-mentioned program modules as an example. In actual applications, the above-mentioned processing can be assigned to different program modules as needed, that is, the internal structure of the server can be divided into different program modules to complete all or part of the processing described above. In addition, the device provided in the above embodiment and the embodiment of the corresponding method are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0227] Figure 19 A schematic diagram of the structure of a communication scheduling device provided by an embodiment of the present invention is shown in FIG. Figure 19 As shown, the communication scheduling device 190 includes: a processor 1901 and a memory 1902 for storing a computer program that can be run on the processor; when the processor 1901 is used to run the computer program, it executes: based on the first mapping relationship, determining the second mapping relationship; sending a message according to the second mapping relationship; the corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle; the queue mapping relationship is used to determine the sending queue corresponding to each of the receiving queues in at least one receiving queue in the corresponding cycle.
[0228] When the processor runs the computer program, the corresponding processes of the various methods of the embodiments of the present invention are implemented, which will not be described here for the sake of brevity.
[0229] In actual application, the communication scheduling device 190 may further include: at least one network interface 1903. The various components in the communication scheduling device 190 are coupled together via a bus system 1904. It is understood that the bus system 1904 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 1904 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Figure 19 In the figure, various buses are labeled as bus system 1904. There may be at least one processor 1901. The network interface 1903 is used for wired or wireless communication between the communication scheduling device 190 and other devices.
[0230] The memory 1902 in the embodiment of the present invention is used to store various types of data to support the operation of the communication scheduling device 190 .
[0231] The methods disclosed in the above embodiments of the present invention can be applied to or implemented by processor 1901. Processor 1901 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits in processor 1901 or by software instructions. Processor 1901 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc. Processor 1901 can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present invention can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium located in memory 1902. Processor 1901 reads information from memory 1902 and, in conjunction with its hardware, completes the steps of the above method.
[0232] In an exemplary embodiment, the communication scheduling device 190 can be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to execute the aforementioned method.
[0233] An embodiment of the present invention also provides a computer-readable storage medium having a computer program stored thereon; when the computer program is executed by a processor, the computer program executes: determining a second mapping relationship based on a first mapping relationship; sending a message according to the second mapping relationship; the corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle; the queue mapping relationship is used to determine the sending queue corresponding to each receiving queue in at least one receiving queue within the corresponding cycle.
[0234] When the computer program is executed by a processor, the corresponding processes of the various methods of the embodiments of the present invention are implemented, which will not be described in detail here for the sake of brevity.
[0235] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0236] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0237] In addition, all functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0238] Those skilled in the art will appreciate that all or part of the steps of the above-mentioned method embodiments may be implemented by hardware associated with program instructions, and the aforementioned program may be stored in a computer-readable storage medium. When the program is executed, the program executes the steps of the above-mentioned method embodiments. The aforementioned storage medium includes various media that can store program codes, such as mobile storage devices, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical disks.
[0239] Alternatively, if the above-mentioned integrated unit of the present invention is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the methods described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROM, RAM, magnetic disks or optical disks.
[0240] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0241] In addition, the technical solutions described in the embodiments of the present application can be arbitrarily combined without conflict.
[0242] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any modifications or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.
Claims
1. A communication scheduling method, characterized in that: The method comprises: Based on the first mapping relationship, determining a second mapping relationship; Sending a message according to the second mapping relationship; The corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle; The queue mapping relationship is used to determine a sending queue corresponding to each receiving queue in at least one receiving queue within a corresponding period; wherein determining the second mapping relationship based on the first mapping relationship includes: Corresponding to the first scenario, the first sending queue corresponding to the receiving queue is changed to the second sending queue; the second sending queue is the queue after the first sending queue; in the first scenario, when the receiving queue receives a message, the sending queue corresponding to the receiving queue needs to send a message at the same time, and the message received by the receiving queue needs to be sent in the current sending cycle; Corresponding to the second scenario, the first sending queue corresponding to the receiving queue is modified to the second sending queue; the second sending queue is the previous queue of the first sending queue; the second scenario is that when the sending queue sends a message, the receiving queue corresponding to the sending queue needs to receive the message at the same time, and the message received by the receiving queue needs to wait for the next sending cycle to be sent by the sending queue.
2. The method according to claim 1, characterized in that The method further comprises: When it is determined that at least one of the following requirements is met, the second mapping relationship is determined based on the first mapping relationship: Scene 1; Scene 2.
3. The method according to claim 1 or 2, characterized in that The corresponding mapping relationship includes: a queue mapping relationship corresponding to each cycle in at least three cycles; The number of the cycles is related to the number of the sending queues; The number of the cycles is related to the number of the receive queues.
4. The method according to claim 3, characterized in that The queue mapping relationship includes: a mapping mode; The mapping mode represents a mode for determining the sending queue corresponding to each of the receiving queues.
5. The method according to claim 4, characterized in that The number of the mapping modes is related to the number of the cycles; When the number of cycles is three, the mapping modes include: plus one mode, plus two mode, and plus three mode; When the number of the cycles is four, the mapping modes include: plus one mode, plus two mode, plus three mode, and plus four mode.
6. A communication scheduling device, characterized in that: The device comprises: A processing module, configured to determine a second mapping relationship based on the first mapping relationship; A communication module, configured to send a message according to the second mapping relationship; The corresponding mapping relationship includes a queue mapping relationship corresponding to each cycle in at least one cycle; The queue mapping relationship represents the sending queue corresponding to each receiving queue in at least one receiving queue in the corresponding period; wherein, The processing module is configured to modify, corresponding to the first scenario, the first sending queue corresponding to the receiving queue to a second sending queue; the second sending queue is a queue subsequent to the first sending queue; when the first scenario is that the receiving queue receives a message, the sending queue corresponding to the receiving queue needs to send a message at the same time, and the message received by the receiving queue needs to be sent in the current sending cycle; Corresponding to the second scenario, the first sending queue corresponding to the receiving queue is modified to the second sending queue; the second sending queue is the previous queue of the first sending queue; the second scenario is that when the sending queue sends a message, the receiving queue corresponding to the sending queue needs to receive the message at the same time, and the message received by the receiving queue needs to wait for the next sending cycle to be sent by the sending queue.
7. A communication scheduling device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps of the method according to any one of claims 1 to 5 are implemented.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
Message sending control method and device
CN110099013A
Periodic mapping method and network equipment
CN110868363A