Data reordering method and device, medium and electronic equipment

By constructing data packets in the wireless ad hoc network and determining the reordering entity and processing method according to the control header field, the problem of transmission path changes destroying data order is solved, and more efficient and reliable data transmission is achieved.

CN119584198APending Publication Date: 2025-03-07BEIJING HEFENG TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411486961.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-23
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

The orderliness of end-to-end data services in wireless ad hoc networks are easily destroyed by changes in transmission paths, resulting in ineffectiveness of data transmission and waste of resources.

Method used

By constructing data packets, including control header fields and data loads, determining the reordering entity and its attribute information based on the control header fields, and then determining the processing method of data loads, realizing the reordering and delivery of data packets.

Benefits of technology

Eliminate invalid reordering caused by changes in transmission paths, improve the effectiveness, real-time and reliability of service data transmission, and reduce resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119584198A_ABST
    Figure CN119584198A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of communication, and relates to a data reordering method and device, a storage medium and electronic equipment. The method comprises the following steps: constructing a data packet, wherein the data packet comprises a control header field and a data load; determining a reordering entity according to the control header field, wherein the reordering entity comprises entity attribute information; and determining a processing mode of the data load according to the control header field and the attribute information, and reordering and transmitting the data packets according to the processing mode. According to the method, the wireless bearing capacity can be taken into consideration when the data packet is constructed, invalid reordering caused by sending end cache packet loss is eliminated, the problem of resource waste is solved, the reordering entity is determined through the data packet, interactive abnormity of service establishment, adjustment and release is eliminated, the effectiveness, the real-time performance and the reliability of service data transmission are improved, and the user experience is improved. And the data packets are reordered and transmitted according to the determined data processing mode, so that the robustness of reordering processing is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure belongs to the field of communication technology, and in particular, relates to a data reordering method, a data reordering device, a computer-readable storage medium, and an electronic device. Background Art

[0002] Wireless ad hoc network is a special self-organizing, peer-to-peer, multi-hop, wireless mobile network. It consists of a group of mobile nodes with wireless transceivers, does not rely on preset infrastructure, and has the characteristics of temporary networking, rapid deployment, no control center, and strong anti-destruction. These characteristics make wireless ad hoc network have broad application prospects in military, emergency communications, temporary network construction, etc.

[0003] However, the orderliness of the end-to-end data services in wireless ad hoc networks will be destroyed by changes in the transmission path, the effectiveness of data transmission cannot be guaranteed, and it is very easy to cause a waste of resources. Summary of the invention

[0004] In order to overcome the problems existing in the related art, the present disclosure provides a data reordering method, a data reordering device, a computer-readable storage medium and an electronic device.

[0005] According to a first aspect of an embodiment of the present disclosure, a data reordering method is provided, the method comprising: Constructing a data packet, the data packet comprising a control header field and a data payload; Determine a reordering entity according to the control header field, the reordering entity including the entity attribute information; A processing method for the data payload is determined according to the control header field and the attribute information, so as to reorder and transmit the data packets according to the processing method.

[0006] Optionally, determining the reordering entity according to the control header field includes: When it is determined according to the control header field that the reordering entity does not exist, creating the reordering entity and updating the entity attribute information; or When it is determined according to the control header field that there is a reordering entity, the entity attribute information is updated.

[0007] Optionally, the entity attribute information includes a receiving time and a receiving time interval of the data packet; Before determining the processing mode of the data payload according to the control header field and the attribute information, the method further includes: Determining a transmission path of the data packet according to the control header field; The receiving time interval corresponding to the transmission path is determined according to the receiving time of the data packet.

[0008] Optionally, the control header field includes a reordering sequence number, and the entity attribute information includes an expected sequence number; The determining, according to the control header field and the attribute information, a processing method of the data payload includes: When the reordering sequence number is the same as the expected sequence number, determining that the processing mode of the data load is a sequential processing mode; or When the reordering sequence number is different from the expected sequence number, it is determined that the processing mode of the data load is a disorder processing mode.

[0009] Optionally, the reordering and transmitting the data packets according to the processing manner includes: When the processing mode of the data payload is a sequential processing mode, setting the expected sequence number, and transferring the current control header field and the data payload; The storage set of the data packet is traversed to empty the storage set by passing the control header field and the data payload.

[0010] Optionally, the reordering and transmitting the data packets according to the processing manner includes: When the processing mode of the data load is an out-of-order processing mode, determining a storage set of the data packet; When the storage set is empty, resetting the expected sequence number, and transferring the control header field and the data payload; or When the storage set is not empty, a reordering timer is set according to the entity attribute information and the control header field, so as to reorder and transmit the data packet by using the reordering timer.

[0011] Optionally, the reordering and transmitting the data packets by using the reordering timer includes: The control header field and the data payload are passed and the expected sequence number is set.

[0012] According to a second aspect of an embodiment of the present disclosure, a data reordering device is provided, including: A packet body construction module is configured to construct a data packet, wherein the data packet includes a control header field and a data payload; an entity determination module, configured to determine a reordering entity according to the control header field, wherein the reordering entity includes the entity attribute information; The data processing module is configured to determine a processing method for the data load according to the control header field and the attribute information, so as to reorder and transmit the data packets according to the processing method.

[0013] According to a third aspect of an embodiment of the present disclosure, a non-temporary computer-readable storage medium is provided, on which computer program instructions are stored. When the program instructions are executed by a processor, the steps of any one of the methods provided in the first aspect of the present disclosure are implemented.

[0014] According to a fourth aspect of an embodiment of the present disclosure, there is provided an electronic device, including: processor; a memory for storing processor-executable instructions; The processor is configured to: execute the executable instructions to implement the steps of any one of the methods provided in the first aspect of the present disclosure.

[0015] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects: In the method and apparatus provided by the exemplary embodiments of the present disclosure, the construction of data packets can take into account the wireless bearer capacity, eliminate the invalid reordering caused by packet loss at the transmitting end buffer, and solve the problem of resource waste. Furthermore, the end-to-end reordering entity is determined by the data packet, eliminating the interactive anomalies of service establishment, adjustment, and release, greatly improving the effectiveness, real-time and reliability of service data transmission. Furthermore, the data packets are reordered and transmitted according to the determined data processing method, which improves the robustness of the reordering process.

[0016] Other features and advantages of the present disclosure will be described in detail in the following detailed description.

[0017] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The accompanying drawings are used to provide a further understanding of the present disclosure and constitute a part of the specification. Together with the following specific embodiments, they are used to explain the present disclosure but do not constitute a limitation of the present disclosure. In the accompanying drawings: Figure 1 The interface diagram schematically shows a method for destroying business orderliness in the related art; Figure 2 A schematic diagram of a data reordering method in an exemplary embodiment of the present disclosure is schematically shown; Figure 3 A schematic diagram schematically shows the structure of a data packet constructed in an exemplary embodiment of the present disclosure; Figure 4 A schematic diagram of a process of determining a reordering entity in an exemplary embodiment of the present disclosure is schematically shown; Figure 5 A schematic diagram schematically shows a flow chart of a method for determining entity attribute information in an exemplary embodiment of the present disclosure; Figure 6 A schematic diagram schematically shows a flow chart of a processing method for determining data load in an exemplary embodiment of the present disclosure; Figure 7 A schematic diagram schematically shows a flow chart of a sequential processing method in an exemplary embodiment of the present disclosure; Figure 8 A schematic diagram schematically shows a flow chart of an out-of-order processing method in an exemplary embodiment of the present disclosure; Fig. 9 A schematic diagram of management of end-to-end reordering entities based on EDU driving in an application scenario in an exemplary embodiment of the present disclosure is schematically shown; Fig.10 A schematic diagram schematically illustrates a flow chart of an end-to-end data reordering processing method in an application scenario in an exemplary embodiment of the present disclosure; Fig.11 A schematic diagram schematically illustrates a flow chart of a method for processing a timeout of a reordering timer in an application scenario in an exemplary embodiment of the present disclosure; Fig.12 A schematic diagram of the structure of a target detection device in an exemplary embodiment of the present disclosure is schematically shown; Fig.13 An electronic device for implementing a data reordering method in an exemplary embodiment of the present disclosure is schematically shown; Fig.14 Another electronic device for implementing a data reordering method in an exemplary embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0019] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0020] It should be noted that all actions of acquiring signals, information or data in the present disclosure are carried out in compliance with the relevant data protection laws and policies of the country where the device is located and with the authorization given by the owner of the corresponding device.

[0021] The orderliness of end-to-end data services in wireless ad hoc networks can be disrupted by changes in the transmission path. Figure 1 The following is a schematic diagram showing an interface of a method for destroying business orderliness in the related art, such as Figure 1 As shown, there are three transmission paths from node 1 to node 4.

[0022] First, node 1 transmits data packets 1, 2, and 3 to node 4 through transmission path 1. As the topology changes, transmission path 2 replaces transmission path 1 and becomes the optimal path. At this time, node 1 transmits data packets 4 and 5 to node 4 through transmission path 2.

[0023] Due to the different wireless transmission resource allocation ratios of relay nodes 2 and 3 on transmission paths 1 and 2, data packets 4 and 5 may arrive at node 4 faster than data 3.

[0024] When the optimal path 3 appears, node 1 transmits the remaining data packets 6, 7, and 8 to node 4 via transmission path 3. Since there is no relay node on transmission path 3, data packets 6, 7, and 8 may reach node 4 faster than data packets 4 and 5.

[0025] The Internet Engineering Task Force (IETF) provides several end-to-end data transmission protocols based on IP (Internet Protocol) for different application services, such as UDP (User Datagram Protocol), TCP (Transmission Control Protocol), RTP (Real-time Transport Protocol), UDT (UDP-based Data Transfer Protocol), SCTP (Stream Control Transmission Protocol), etc.

[0026] If they are directly introduced into the end-to-end data transmission of wireless ad hoc networks, the following problems will be introduced: 1. The end-to-end data transmission of wireless ad hoc networks is a transport layer protocol similar to IP. Although the IP protocol provides multiple functions such as routing, integrity detection, priority and segment reassembly, it lacks the reordering function; 2. The end-to-end data transmission protocol at the application layer needs to open the sending and receiving sockets in advance whether there is data or not, which causes a waste of resources; 3. Providing reliable data stream transmission connection protocols, such as TCP, UDT and SCTP, although they solve the end-to-end disorder problem, the business needs to complete the handshake mechanism when creating and releasing the connection. Once the control interaction passes through the multi-hop transmission of the wireless ad hoc network, it will not only affect the real-time performance of the business, but also greatly undermine the stability of the business when the interaction is abnormal; 4. UDP and RTP provide a data transmission solution that does not require a connection. However, UDP, like IP, does not process out-of-order packets. Although RTP has the ability to process out-of-order packets, it cannot distinguish whether the out-of-order packets are caused by wireless transmission packet loss or transmission path switching. Once wireless transmission introduces packet loss, it will greatly affect the real-time performance of end-to-end services. 5. According to the RTP reordering principle, when a data packet falls outside the receiving window because it cannot be reached within the specified time due to transmission path switching, it will be discarded. At the same time, the specified duration is fixed. Therefore, if there is still out-of-order data after the timer times out, it is necessary to restart the timer with a fixed timeout length, and the timeout length cannot be dynamically adjusted according to the received data, thereby reducing the real-time performance of end-to-end service transmission.

[0027] The present disclosure provides a data reordering method. Figure 2 is a flow chart of a data reordering method according to an exemplary embodiment. Figure 2 As shown, the method may at least include the following steps: Step S210: Construct a data packet, which includes a control header field and a data payload.

[0028] Step S220: Determine the reordering entity according to the control header field, where the reordering entity includes entity attribute information.

[0029] Step S230: Determine a processing method for the data payload according to the control header field and the attribute information, so as to reorder and transmit the data packets according to the processing method.

[0030] In the exemplary embodiments of the present disclosure, the construction of data packets can take into account the wireless bearer capacity, eliminate the invalid reordering caused by packet loss at the sending end buffer, and solve the problem of resource waste. Furthermore, the end-to-end reordering entity is determined by the data packet, eliminating the interactive anomalies of service establishment, adjustment, and release, greatly improving the effectiveness, real-time and reliability of service data transmission. Furthermore, the data packets are reordered and transmitted according to the determined data processing method, which improves the robustness of the reordering process.

[0031] The following is a detailed description of each step of the data reordering method.

[0032] In step S210, a data packet is constructed, the data packet including a control header field and a data payload.

[0033] In an exemplary embodiment of the present disclosure, an Ethernet unicast data packet entering the air interface transmission is encapsulated into an end-to-end data transmission unit (EDU) suitable for a wireless ad hoc network. The EDU control header contains the content of the service and reordering attributes, which affects the performance of the end-to-end reordering entity management and processing strategy, so how to construct the EDU control header is particularly important.

[0034] It is worth noting that only those Ethernet unicast packets multiplexed on the wireless resource transmission block can be constructed into EDUs. Because if all Ethernet unicast packets entering the transmission buffer are constructed into EDUs, once the wireless resources cannot carry all the transmission buffer data, some timed-out EDUs will be discarded. Each EDU carries a reordering sequence number (RSN), and the end-to-end reordering entity of the destination node cannot distinguish whether the RSN discontinuity is caused by the switching of the transmission path or by sending excessive traffic. If it is caused by sending excessive traffic, invalid reordering processing will be introduced.

[0035] Figure 3 A schematic diagram of the structure of the constructed data packet is shown, such as Figure 3As shown in the figure, the addition of the control header field includes 1) adding the source address and destination address of the data (similar to the source and destination of IP) to the end-to-end data attribution indication area, which is convenient for data transmission path selection on the one hand and can be used as the unique index of the end-to-end reordering entity of the destination node on the other hand; 2) The length indication area indicates the total length of the EDU transmission block, which is the sum of the control header and the data payload length; 3) In order to ensure the correctness of the received EDU, an integrity protection area is added. The value assignment method is similar to the UDP checksum. The difference is that the checksum is calculated using the EDU control header and part of the data payload content. For example, the first 3 bytes, the middle 1 byte, the tail 2 bytes of the data payload content are taken, etc., to improve the verification efficiency while ensuring the accuracy of the verification; 4) End-to-end reordering strategy indication area: The reordering service indication is used to indicate whether the EDU is to be end-to-end reordered. For example, the UDP protocol based on packet transmission generally carries services that are related to the previous and next packets, so end-to-end reordering is required. The TCP and SCTP protocols based on stream transmission have their own sorting mechanism or ICMP (Internet Control Message The Internet Control Message Protocol (ICMP) protocol carries unrelated services before and after the packets, so there is no need for end-to-end reordering; the reordering sequence number (RSN) indicator determines the end-to-end reordering processing behavior. This field is a mandatory item for EDUs that need to be reordered, and is optional for non-reordered EDUs (but it is generally recommended to add it to facilitate the location of wireless ad hoc network data transmission bugs (faults). Therefore, both non-reordered and reordered EDUs will maintain their own RSNs, and the assignment formula is: RSN = (RSN + 1) % RSN_MAX; the service packet sending interval Si indicator is optional. This field is only added in the reordering EDU in units of us (microseconds). This item is used to control the rate at which the receiving end sends to the APP (Application) to avoid packet loss caused by data bursts after reordering and application receive buffer overflow. In addition, the data payload content is the Ethernet unicast data packet that needs to be transmitted.

[0036] Therefore, the end-to-end EDU packet is similar to the IP packet, and the header overhead contains several basic items: sending and receiving addresses, packet sequence number and header integrity detection; the data payload content is an Ethernet packet of various service types. Among them, the header overhead also increases the flexibility to expand the indication area of ​​service characteristics.

[0037] In step S220, a reordering entity is determined according to the control header field, and the reordering entity includes entity attribute information.

[0038] In an exemplary embodiment of the present disclosure, after a data packet is constructed, a reordering entity may be determined according to a control header field in the data packet.

[0039] Prior to this, the integrity protection area of ​​the EDU is verified. If it fails, the EDU packet is discarded, and if it succeeds, it proceeds to the next step.

[0040] Check whether the destination address is this node, if not, forward the EDU and proceed to the next step.

[0041] Check whether the reordering service indication requires reordering, otherwise send the EDU directly to the application layer and proceed to the next step.

[0042] Use the source address in the EDU as an index to query whether the end-to-end reordering entity exists. If not, proceed to step S410. If yes, proceed to step S420.

[0043] Figure 4 A flow chart of a method for determining a reordering entity is shown, such as Figure 4 As shown, the method may at least include the following steps: In step S410, when it is determined according to the control header field that there is no reordering entity, a reordering entity is created and entity attribute information is updated.

[0044] When it is determined according to the control header field that the reordering entity does not exist, an end-to-end reordering entity is created, and a key context of the entity is constructed as entity attribute information.

[0045] Specifically, it includes a life cycle Tl, which is used to release the entity when it times out; and a time Rt for recording the time of receiving the EDU, which can be used to count the receiving time interval, initialized to S I ; The basic reordering timeout Tr is set to 1s; the reordering related sequence number, VR_RSN is the minimum sequence number expected to be received, initialized to -1, VH_RSN is the maximum sequence number expected to be received, initialized to -1; the EDU transmission path routerId and the receiving time interval statistics Rsi corresponding to each routerId are used to determine the timeout of the reordering timer; the set of EDUs that need to be reordered; data receiving FIFO (First Input First Output, first in first out queue).

[0046] In step S420, when it is determined according to the control header field that a reordering entity exists, the entity attribute information is updated.

[0047] When the control header field determines that there is a reordering entity, each time an EDU packet is received, the Tl of the end-to-end reordering entity is extended, and the RSN, transmission path ID (Identity), S I EDU attributes are passed to the end-to-end reordering process.

[0048] In addition, if no EDU packet is received within the life cycle T1, the end-to-end reordering entity will be released.

[0049] The creation process of the end-to-end reordering entity is completed by parsing the EDU control header, and the release process is completed through the entity timeout detection mechanism. The advantage of this is that the connection establishment and release are triggered by data, eliminating the abnormality of the handshake mechanism. In addition, a reordering entity will be established only when the EDU needs to be reordered, and the EDU that does not need to be reordered does not need to create a reordering entity, saving program and resource overhead.

[0050] In step S230, a processing method of the data payload is determined according to the control header field and the attribute information, so that the data packets are reordered and transmitted according to the processing method.

[0051] In an exemplary embodiment of the present disclosure, before determining the processing method of the data load, required entity attribute information may also be determined.

[0052] In an optional embodiment, the entity attribute information includes the receiving time and receiving time interval of the data packet. Figure 5 A flow chart of a method for determining entity attribute information is shown, such as Figure 5 As shown, the method may at least include the following steps: In step S510, the transmission path of the data packet is determined according to the control header field.

[0053] The transmission path of the EDU is determined by the source address and destination address in the control header field. If it is inconsistent with the previous transmission path, the transmission path ID value will be adjusted. The modification method is: routerId=routerId+1, initialized to 0.

[0054] In step S520, a receiving time interval corresponding to the transmission path is determined according to the receiving time of the data packet.

[0055] Record Rt = the time interval between the current EDU reception and the last EDU reception, and calculate the Rsi corresponding to the current routerId through Rt. Among them, the initial value = Si, and the calculation formula Rsi = 2*Rsi / 3+Rt / 3.

[0056] In an optional embodiment, the control header field includes a reordering sequence number, and the entity attribute information includes an expected sequence number; Figure 6 A flow chart of a method for determining data load is shown, such as Figure 6 As shown, the method may at least include the following steps: In step S610, when the reordering sequence number is the same as the expected sequence number, determining that the processing mode of the data load is a sequential processing mode.

[0057] It is determined whether the RSN, i.e. the reordering sequence number, is the same as the VR_RSN, i.e. the expected sequence number. If they are the same, it is determined that the processing mode of the data load is the sequential processing mode.

[0058] It is worth noting that when VR_RSN=-1, any RSN received is considered the same.

[0059] In step S620, when the reordering sequence number is different from the expected sequence number, it is determined that the processing method of the data load is a disorder processing method.

[0060] It is determined whether the RSN, i.e. the reordering sequence number, is the same as the VR_RSN, i.e. the expected sequence number. If they are not the same, it is determined that the processing mode of the data load is the out-of-order processing mode.

[0061] It is worth noting that when VR_RSN=-1, any RSN received is considered the same.

[0062] In an alternative embodiment, Figure 7 A flow chart showing a sequential processing method is shown in FIG. Figure 7 As shown, the method may at least include the following steps: In step S710, when the processing mode of the data load is a sequential processing mode, the expected sequence number is set, and the current control header field and the data load are transferred.

[0063] Specifically, VR_RSN=(RSN+1)%RSN_MAX is set, and the EDU data content and Si are passed to the receive data FIFO.

[0064] In step S720, the storage set of the data packet is traversed to empty the storage set by transferring the control header field and the data payload.

[0065] Traverse the EDU storage set. Specifically, if the RSN corresponding to the first EDU is stored = VR_RSN, the data content of the EDU is passed to the data receiving FIFO and deleted from the storage set, and VR_RSN = (RSN + 1)% RSN_MAX is adjusted, and then the storage set is continued to be traversed; the traversal condition is that the storage set is cleared or the RSN corresponding to the first EDU is greater than VR_RSN; when the storage set is empty, first set VH_RSN = VR_RSN, and then if the reordering timer is turned on, it will be turned off.

[0066] In an alternative embodiment, Figure 8 A flow chart of out-of-order processing is shown, such as Figure 8 As shown, the method may at least include the following steps: In step S810, when the processing mode of the data load is a disorderly processing mode, a storage set of the data packet is determined.

[0067] In step S820, when the storage set is empty, the expected sequence number is reset, and the control header field and data payload are transferred.

[0068] When the EDU storage set is empty, first reset VR_RSN and VH_RSN to (RSN+1)%RSN_MAX, then pass the data content of the EDU to the data receive FIFO, and finally exit the processing.

[0069] In step S830, when the storage set is not empty, a reordering timer is set according to the entity attribute information and the control header field, so as to reorder and transmit the data packets using the reordering timer.

[0070] When the EDU storage set is not empty, determine whether RSN is in the receiving window [VR_RSN, VR_RSN+RSN_MAX / 2). If not, discard and exit processing. Otherwise, determine whether RSN has been received. If yes, discard and exit processing. Otherwise, store the EDU in the storage set in ascending order, determine whether RSN is greater than or equal to VH_RSN. If it enters the update VH_RSN=(RSN+1)%RSN_MAX, determine whether the reordering timer is turned on, and exit processing if it is turned on. Otherwise, it can be confirmed that the disorder is caused by the change of the transmission path, and the reordering timer time needs to be appropriately extended = 3*Rsi of the transmission path corresponding to the EDU, and exit processing. It is worth noting that it will not be extended indefinitely. When the extended timeout is greater than 1.5 times Tr, the extension will stop.

[0071] Turn on the reordering timer, and its timeout can be adjusted by comparing the current and previously recorded transmission paths. If the currently recorded transmission path is consistent with the previously recorded transmission path, it means that the disorder is caused by transmission packet loss and there is no need to wait for other disordered packets, so a short timeout is set = (VH_RSN-VR_RSN) * Rsi; if the currently recorded transmission path is inconsistent with the previously recorded transmission path, it means that the disorder is caused by packet loss caused by path changes and other disordered packets need to be waited for, so a long timeout is set = 5 * (VH_RSN-VR_RSN) * Rsi. Among them, Rsi is the receiving statistical interval of the transmission path corresponding to VR_RSN, and when the timeout is greater than Tr, it will be adjusted to Tr.

[0072] In an optional embodiment, a control header field is passed along with the data payload, and the desired sequence number is set.

[0073] Specifically, all EDU data contents in the EDU storage set are passed to the data receiving FIFO and cleared; VR_RSN is set to VH_RSN; the sender will maintain a period of time each time the EDU transmission path is switched, and the reordering timing will be extended when the transmission path change is found. Therefore, if the desired EDU cannot be received during this period of time, it means that it has been lost in transmission, so simplifying the restart timer exception process improves the robustness of the reordering processing.

[0074] The process of data receiving FIFO is that when the number of data packets in FIFO is <= n, it is sent to APP according to the sending interval of Si; when the number of data packets in FIFO is > n, data is sent to APP according to the sending interval of 1.2*Si, and the sending interval will not be adjusted to Si until the number of data packets in FIFO is 0.

[0075] The data reordering method in the embodiment of the present disclosure is described in detail below in conjunction with an application scenario.

[0076] Fig. 9 FIG. 4 shows a schematic diagram of the management of the end-to-end reordering entity based on the EDU driver in the application scenario, such as Fig. 9 As shown, in step S910, it is determined whether the integrity check is successful.

[0077] Verify the integrity protection area of ​​the EDU. If it fails, discard the EDU packet. If it succeeds, proceed to the next step.

[0078] In step S920, it is determined whether the destination address is the current node.

[0079] Check whether the destination address is this node, if not, forward the EDU and proceed to the next step.

[0080] In step S930, it is detected whether the reordering service indication requires reordering.

[0081] Check whether the reordering service indication requires reordering, otherwise send the EDU directly to the application layer and proceed to the next step.

[0082] In step S940, the source address is used as an index to query whether an end-to-end reordering entity exists.

[0083] Use the source address in the EDU as an index to query whether the end-to-end reordering entity exists. If not, proceed to step S950. If yes, proceed to step S960.

[0084] In step S950, an end-to-end reordering entity is created and key entity context content is constructed: 1. Time related: life cycle Tl, time for receiving EDU Rt, basic reordering timeout Tr; 2. Reordering sequence number related: VR_RSN, VH_RSN; 3. EDU set that needs to be reordered; 4. Current receiving sequence number RSN; 5. Data receiving FIFO.

[0085] Specifically, create an end-to-end reordering entity and construct the key context of the entity: 1), the life cycle Tl is used for timeout release of the entity; 2), the time Rt recorded for receiving the EDU can be used to count the receiving time interval, initialized to SI; 3), the basic reordering timeout Tr is set to 1s; 4), the reordering related sequence number (similar to the two key parameters of the 4G RLC Um receiving window (a time window for receiving data in the RLC UM mode)), VR_RSN is the minimum sequence number expected to be received, initialized to -1, and VH_RSN is the maximum sequence number expected to be received, also initialized to -1; 5), the EDU transmission path routerId and the receiving time interval statistics Rsi corresponding to each routerId, to determine the timeout of the reordering timer; 6), the set of EDUs that need to be reordered; 7), data receiving FIFO.

[0086] In step S960, the life cycle is updated to maintain the end-to-end reordering entity; I Wait for the EDU attributes to complete the end-to-end reordering process.

[0087] Each time an EDU packet is received, the Tl of the end-to-end reordering entity is extended, and the RSN, transmission path ID, S I EDU attributes are passed to the end-to-end reordering process.

[0088] The end-to-end reordering process can ensure that the received EDUs can be sent to the APP in an orderly manner according to the order of the RSNs.

[0089] In step S970, if no EDU packet is received within the life cycle, the end-to-end reordering entity will be released accordingly.

[0090] Fig.10 A flow chart of an end-to-end data reordering processing method in an application scenario is shown, Fig.10 As shown, in step S1001, the transmission path of the EDU is determined by the source address and the destination address; when it is detected that the current transmission path is inconsistent with the previous EDU transmission path, the routerId is modified.

[0091] The transmission path of the EDU is determined by the source address and destination address in the control header field. If it is inconsistent with the previous transmission path, the transmission path ID value will be adjusted. The modification method is: routerId=routerId+1, initialized to 0.

[0092] In step S1002, input parameters: EDU current RSN; service sending interval S I , routerId, EDU data content (data).

[0093] EDU attributes such as RSN, service sending interval S I , transmission path ID, bearer data content, etc. are used as input parameters for end-to-end reordering processing.

[0094] In step S1003, Rsi is calculated according to the current receiving time interval Rt.

[0095] Record Rt = the time interval between the current EDU reception and the last EDU reception, and calculate the Rsi corresponding to the current routerId through Rt. Among them, the initial value = Si, and the calculation formula Rsi = 2*Rsi / 3+Rt / 3.

[0096] In step S1004, it is determined whether RSN is equal to VR_RSN.

[0097] It is worth noting that when VR_RSN=-1, any RSN received is considered the same.

[0098] In step S1005, VR_RSN=(RSN+1)%RSN_MAX is set; the data and Si of the EDU are passed to the data receiving FIFO; the EDU storage set is traversed: after storing the RSN=VR_RSN corresponding to the first EDU, the data of the EDU is passed to the data receiving FIFO and deleted from the storage set, and VR_RSN=(RSN+1)%RSN_MAX is set at the same time, and then the EDU storage set is continued to be traversed; the traversal stop condition is that the storage set is cleared or the RSN corresponding to the first EDU stored is greater than VR_RSN.

[0099] Specifically, the sequential processing method includes: 1) setting VR_RSN=(RSN+1)%RSN_MAX; 2) passing the EDU data content and Si to the receiving data FIFO; 3) traversing the EDU storage set: a) storing the RSN=VR_RSN corresponding to the first EDU, then passing the data content of the EDU to the data receiving FIFO, and deleting it from the storage set, while adjusting VR_RSN=(RSN+1)%RSN_MAX, and then continuing to traverse the storage set; b) stopping the traversal condition is that the storage set is cleared or the RSN corresponding to the first EDU stored is greater than VR_RSN; c) when the storage set is empty, first set VH_RSN=VR_RSN, and then if the reordering timer is turned on, it will be turned off.

[0100] In step S1006, it is determined whether the EDU storage set is empty.

[0101] In step S1007, VR_RSN and VH_RSN=(RSN+1)%RSN_MAX are reset; and the data and Si of the EDU are transferred to the data receiving FIFO.

[0102] The EDU storage set is empty. First, reset VR_RSN and VH_RSN to (RSN+1)%RSN_MAX. Secondly, pass the data content of the EDU to the data receive FIFO, and finally exit the processing.

[0103] In step S1008, it is determined whether the RSN is within the receiving window [VR_RSN, VR_RSN+RSN_MAX / 2).

[0104] In step S1009, discard.

[0105] When RSN is not within the receiving window [VR_RSN, VR_RSN+RSN_MAX / 2), it is discarded and the processing is exited.

[0106] In step S1010, it is determined whether the RSN has been received.

[0107] When RSN is within the receiving window [VR_RSN, VR_RSN+RSN_MAX / 2), determine whether the RSN has been received. If the RSN has been received, discard it and exit the process.

[0108] In step S1011, the EDUs are stored in a storage set in ascending order.

[0109] If the RSN has not been received, the EDU is stored in the storage set in ascending order.

[0110] In step S1012, it is determined whether RSN is greater than or equal to VH_RSN.

[0111] In step S1013, due to the disorder caused by the change of the transmission path, the reordering timer needs to be extended, and the extension time = 3*Rsi of the transmission path corresponding to the EDU.

[0112] When RSN is less than VH_RSN, it can be confirmed that the disorder is caused by the change of the transmission path, and the reordering timer time needs to be appropriately extended = 3*Rsi of the transmission path corresponding to the EDU, and then exit the process. It is worth noting that it will not be extended indefinitely. When the extended timeout is greater than 1.5 times of Tr, it will stop extending.

[0113] In step S1014 , VH_RSN=(RSN+1)%RSN_MAX is updated.

[0114] When RSN is greater than or equal to VH_RSN, update VH_RSN = (RSN+1)%RSN_MAX.

[0115] In step S1015, it is determined whether the end-to-end reordering timer is turned on.

[0116] In step S1016, a reordering timer is started, and the timeout period can be adjusted by comparing the current transmission path with the previously recorded transmission path.

[0117] In step S1017, it is determined whether the two are consistent.

[0118] In step S1018, the transmission path change causes disorder. To wait for other disordered packets to arrive, the timeout period is longer = 5*(VH_RSN-VR_RSN)*Rsi (where Rsi is the reception statistics interval of the transmission path corresponding to VR_RSN) If the currently recorded transmission path is inconsistent with the previously recorded transmission path, it means that the disorder is caused by packet loss due to the shortened path, and it is necessary to wait for other disordered packets, so the long timeout is set = 5 * VH_RSN-VR_RSN) * Rsi. Among them, Rsi is the receiving statistical interval of the transmission path corresponding to VR_RSN. When the timeout is greater than Tr, it will be adjusted to Tr.

[0119] In step S1019, the transmission disorder caused by packet loss has a shorter timeout period = (VH_RSN-VR_RSN)*Rsi.

[0120] If the currently recorded transmission path is consistent with the previously recorded transmission path, it means that the disorder is caused by transmission packet loss. There is no need to wait for other disordered packets, so a short timeout period = (VH_RSN-VR_RSN)*Rsi is set.

[0121] Fig.11 A schematic diagram of a process for processing a timeout of a reordering timer in an application scenario is shown. Fig.11 As shown, in step S1110, all EDUs in the EDU storage set are transferred to the data receiving FIFO and cleared; VR_RSN is set to VH_RSN.

[0122] Specifically, all EDU data contents in the EDU storage set are passed to the data receiving FIFO and cleared; VR_RSN is set to VH_RSN; the sender will maintain a period of time each time the EDU transmission path is switched, and the reordering timing will be extended when the transmission path change is found. Therefore, if the desired EDU cannot be received during this period of time, it means that it has been lost in transmission, so simplifying the restart timer exception process improves the robustness of the reordering processing.

[0123] The process of data receiving FIFO is that when the number of data packets in FIFO is <= n, it is sent to APP according to the sending interval of Si; when the number of data packets in FIFO is > n, data is sent to APP according to the sending interval of 1.2*Si, and the sending interval will not be adjusted to Si until the number of data packets in FIFO is 0.

[0124] In an exemplary embodiment of the present disclosure, policy attribute parameters are added to the data content to drive end-to-end reordering entity management, eliminating interactive anomalies in service establishment, adjustment, and release, and greatly improving the effectiveness and reliability of service data transmission; The end-to-end reordering process can distinguish the disorder caused by wireless transmission packet loss or transmission path switching, ensuring the orderliness of service transmission while improving the real-time performance of transmission; The construction of end-to-end data packets takes into account the radio bearer capacity, eliminating invalid reordering caused by packet loss at the sender buffer; The timeout period of the end-to-end reordering timer can be dynamically adjusted according to the packet transmission path and receiving time interval, greatly improving the real-time performance of the reordering process; The data receiving FIFO dynamically adjusts the rate sent to the APP application according to the receiving status and service sending interval, thereby ensuring that the APP application will not suffer packet loss due to receiving overflow caused by data burst after reordering, thus ensuring the reliability of data transmission; By designing a suitable end-to-end data transmission mechanism, the reordering timer restart mechanism is simplified and the robustness of the reordering process is improved.

[0125] In addition, in an exemplary embodiment of the present disclosure, a data reordering device is also provided. Fig.12 FIG. 4 shows a schematic diagram of the structure of a data reordering device. Fig.12 As shown, the data reordering device 1200 may include: a package body construction module 1210, an entity determination module 1220 and a data processing module 1230. Among them: The packet body construction module 1210 is configured to construct a data packet, wherein the data packet includes a control header field and a data payload; An entity determination module 1220, configured to determine a reordering entity according to the control header field, the reordering entity including the entity attribute information; The data processing module 1230 is configured to determine a processing method for the data payload according to the control header field and the attribute information, so as to reorder and transmit the data packets according to the processing method.

[0126] In an exemplary embodiment of the present invention, the entity determination module 1220 is configured to: When it is determined according to the control header field that the reordering entity does not exist, creating the reordering entity and updating the entity attribute information; or When it is determined according to the control header field that there is a reordering entity, the entity attribute information is updated.

[0127] In an exemplary embodiment of the present invention, the entity attribute information includes the receiving time and receiving time interval of the data packet; The data reordering device 1200 is further configured to: Determining a transmission path of the data packet according to the control header field; The receiving time interval corresponding to the transmission path is determined according to the receiving time of the data packet.

[0128] In an exemplary embodiment of the present invention, the control header field includes a reordering sequence number, and the entity attribute information includes an expected sequence number; The data processing module 1230 is configured to: When the reordering sequence number is the same as the expected sequence number, determining that the processing mode of the data load is a sequential processing mode; or When the reordering sequence number is different from the expected sequence number, it is determined that the processing mode of the data load is a disorder processing mode.

[0129] In an exemplary embodiment of the present invention, the data processing module 1230 is configured to: When the processing mode of the data payload is a sequential processing mode, setting the expected sequence number, and transferring the current control header field and the data payload; The storage set of the data packet is traversed to empty the storage set by passing the control header field and the data payload.

[0130] In an exemplary embodiment of the present invention, the data processing module 1230 is configured to: When the storage set is empty, resetting the expected sequence number, and transferring the control header field and the data payload; or When the storage set is not empty, a reordering timer is set according to the entity attribute information and the control header field, so as to reorder and transmit the data packet by using the reordering timer.

[0131] In an exemplary embodiment of the present invention, the data processing module 1230 is configured to: The control header field and the data payload are passed and the expected sequence number is set.

[0132] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0133] Fig.13 FIG. 1 is a block diagram of an electronic device 1300 according to an exemplary embodiment. Fig.13 As shown, the electronic device 1300 may include: a processor 1301 , a memory 1302 . The electronic device 1300 may also include one or more of a multimedia component 1303 , an input / output (I / O) interface 1304 , and a communication component 1305 .

[0134] The processor 1301 is used to control the overall operation of the electronic device 1300 to complete all or part of the steps in the above-mentioned data reordering method. The memory 1302 is used to store various types of data to support the operation of the electronic device 1300. For example, these data may include instructions for any application or method used to operate on the electronic device 1300, and application-related data, such as contact data, sent and received messages, pictures, audio, video, etc. The memory 1302 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (Static Random Access Memory, referred to as SRAM), electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, referred to as EEPROM), erasable programmable read-only memory (Erasable Programmable Read-Only Memory, referred to as EPROM), programmable read-only memory (Programmable Read-Only Memory, referred to as PROM), read-only memory (Read-Only Memory, referred to as ROM), magnetic memory, flash memory, magnetic disk or optical disk. The multimedia component 1303 may include a screen and an audio component. The screen may be, for example, a touch screen, and the audio component is used to output and / or input audio signals. For example, the audio component may include a microphone, which is used to receive external audio signals. The received audio signal may be further stored in the memory 1302 or sent through the communication component 1305. The audio component also includes at least one speaker for outputting audio signals. The I / O interface 1304 provides an interface between the processor 1301 and other interface modules, and the above-mentioned other interface modules may be keyboards, mice, buttons, etc. These buttons may be virtual buttons or physical buttons. The communication component 1305 is used for wired or wireless communication between the electronic device 1300 and other devices. Wireless communication, such as Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G, 4G, NB-IOT, eMTC, or other 5G, etc., or a combination of one or more of them, is not limited here. Therefore, the corresponding communication component 1305 may include: Wi-Fi module, Bluetooth module, NFC module, etc.

[0135] In an exemplary embodiment, the electronic device 1300 can be implemented by one or more application specific integrated circuits (ASIC), digital signal processors (DSP), digital signal processing devices (DSPD), programmable logic devices (PLD), field programmable gate arrays (FPGA), controllers, microcontrollers, microprocessors or other electronic components to execute the above-mentioned data reordering method.

[0136] In another exemplary embodiment, a computer-readable storage medium including program instructions is also provided, and when the program instructions are executed by a processor, the steps of the above-mentioned data reordering method are implemented. For example, the computer-readable storage medium may be the above-mentioned memory 1302 including program instructions, and the above-mentioned program instructions may be executed by the processor 1301 of the electronic device 1300 to complete the above-mentioned data reordering method.

[0137] Fig.14 1 is a block diagram of an electronic device 1400 according to an exemplary embodiment. For example, the electronic device 1400 may be provided as a server. Fig.14 The electronic device 1400 includes a processor 1422, which may be one or more, and a memory 1432 for storing a computer program executable by the processor 1422. The computer program stored in the memory 1432 may include one or more modules each corresponding to a set of instructions. In addition, the processor 1422 may be configured to execute the computer program to perform the above-mentioned data reordering method.

[0138] In addition, the electronic device 1400 may further include a power supply component 1426 and a communication component 1450, wherein the power supply component 1426 may be configured to perform power management of the electronic device 1400, and the communication component 1450 may be configured to implement communication of the electronic device 1400, for example, wired or wireless communication. In addition, the electronic device 1400 may further include an input / output (I / O) interface 1458. The electronic device 1400 may operate based on an operating system stored in the memory 1432.

[0139] In another exemplary embodiment, a computer-readable storage medium including program instructions is also provided, and when the program instructions are executed by a processor, the steps of the above-mentioned data reordering method are implemented. For example, the non-transitory computer-readable storage medium can be the above-mentioned memory 1432 including program instructions, and the above-mentioned program instructions can be executed by the processor 1422 of the electronic device 1400 to complete the above-mentioned data reordering method.

[0140] In another exemplary embodiment, a computer program product is further provided. The computer program product includes a computer program executable by a programmable device. The computer program has a code portion for executing the above data reordering method when executed by the programmable device.

[0141] The preferred embodiments of the present disclosure are described in detail above in conjunction with the accompanying drawings; however, the present disclosure is not limited to the specific details in the above embodiments. Within the technical concept of the present disclosure, a variety of simple modifications can be made to the technical solution of the present disclosure, and these simple modifications all fall within the protection scope of the present disclosure.

[0142] It should also be noted that the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, the present disclosure will not further describe various possible combinations.

[0143] In addition, various embodiments of the present disclosure may be arbitrarily combined, and as long as they do not violate the concept of the present disclosure, they should also be regarded as the contents disclosed by the present disclosure.

Claims

1. A data reordering method, characterized in that: The method comprises: Constructing a data packet, the data packet comprising a control header field and a data payload; Determine a reordering entity according to the control header field, the reordering entity including the entity attribute information; A processing method for the data payload is determined according to the control header field and the attribute information, so as to reorder and transmit the data packets according to the processing method.

2. The data reordering method according to claim 1, characterized in that: The determining the reordering entity according to the control header field comprises: When it is determined according to the control header field that the reordering entity does not exist, creating the reordering entity and updating the entity attribute information; or When it is determined according to the control header field that there is a reordering entity, the entity attribute information is updated.

3. The data reordering method according to claim 1, characterized in that: The entity attribute information includes the receiving time and receiving time interval of the data packet; Before determining the processing mode of the data payload according to the control header field and the attribute information, the method further includes: Determining a transmission path of the data packet according to the control header field; The receiving time interval corresponding to the transmission path is determined according to the receiving time of the data packet.

4. The data reordering method according to claim 1, characterized in that: The control header field includes a reordering sequence number, and the entity attribute information includes an expected sequence number; The determining, according to the control header field and the attribute information, a processing method of the data payload includes: When the reordering sequence number is the same as the expected sequence number, determining that the processing mode of the data load is a sequential processing mode; or When the reordering sequence number is different from the expected sequence number, it is determined that the processing mode of the data load is a disorder processing mode.

5. The data reordering method according to claim 4, characterized in that: The reordering and transmitting the data packets according to the processing method includes: When the processing mode of the data payload is a sequential processing mode, setting the expected sequence number, and transferring the current control header field and the data payload; The storage set of the data packet is traversed to empty the storage set by passing the control header field and the data payload.

6. The data reordering method according to claim 4, characterized in that: The reordering and transmitting the data packets according to the processing method includes: When the processing mode of the data load is an out-of-order processing mode, determining a storage set of the data packet; When the storage set is empty, resetting the expected sequence number, and transferring the control header field and the data payload; or When the storage set is not empty, a reordering timer is set according to the entity attribute information and the control header field, so as to reorder and transmit the data packet by using the reordering timer.

7. The data reordering method according to claim 6, characterized in that: The step of reordering and transmitting the data packets by using the reordering timer comprises: The control header field and the data payload are passed and the expected sequence number is set.

8. A data reordering device, characterized in that: include: A packet body construction module is configured to construct a data packet, wherein the data packet includes a control header field and a data payload; an entity determination module, configured to determine a reordering entity according to the control header field, wherein the reordering entity includes the entity attribute information; The data processing module is configured to determine a processing method for the data load according to the control header field and the attribute information, so as to reorder and transmit the data packets according to the processing method.

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

10. An electronic device, characterized in that: include: a memory having a computer program stored thereon; A processor, configured to execute the computer program in the memory to implement the steps of the method according to any one of claims 1 to 7.