Data processing method and device, electronic equipment and storage medium

By using a sliding window mechanism and sequence number difference scheduling in redundant transmission between low-Earth orbit satellites and terrestrial networks, the data processing problem under out-of-order and high-volume impacts was solved, achieving efficient and stable data transmission.

CN121864702APending Publication Date: 2026-04-14STATE GRID INFORMATION & TELECOMM GRP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-01
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively handle out-of-order issues caused by latency and jitter differences in redundant transmission between low-Earth orbit satellite networks and terrestrial networks. This leads to repeated reception, out-of-order data packets, and inefficient window management under high traffic loads, making data misjudgment or loss more likely.

Method used

A fixed-size sliding window mechanism is adopted. By dynamically scheduling the first and second pointers and combining the sequence number difference of the data packets, the span of the sliding window is adjusted, avoiding large-scale copying of memory data, improving computational efficiency, and resisting drastic changes in network latency.

Benefits of technology

It improves the stability and efficiency of data processing, avoids algorithm crashes or performance drops, and ensures the reliability of communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121864702A_ABST
    Figure CN121864702A_ABST
Patent Text Reader

Abstract

One or more embodiments of the invention provide a data processing method and device, electronic equipment and a storage medium. The method comprises the following steps: receiving a data packet; determining a first serial number corresponding to the data packet; determining positions pointed by a first pointer and a second pointer in a sliding window through the sliding window with a fixed size, and determining a second serial number and a third serial number corresponding to the positions; in response to determining that the first serial number is greater than the third serial number, calculating a difference value between the first serial number and the third serial number; and scheduling the first pointer and the second pointer according to the difference value, wherein the second pointer points to a position corresponding to the first serial number.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of communication technology, and more particularly to a data processing method, apparatus, electronic device, and storage medium. Background Technology

[0002] It should be noted that the above description of the technical background is only for the purpose of providing a clear and complete explanation of the technical solutions of the present invention and facilitating understanding by those skilled in the art. It should not be assumed that the above technical solutions are known to those skilled in the art simply because they have been described in the background section of this invention.

[0003] With the development of communication technology, redundant transmission technology, in which data is sent concurrently through two independent physical links, has become a research hotspot to ensure communication reliability in remote areas, maritime and air scenarios, and emergency situations. The fusion of multiple links can improve stability by complementing the advantages of wide coverage, low latency, and high bandwidth, but it also causes problems such as repeated reception, out-of-order data packets, and processing efficiency issues in high-speed scenarios.

[0004] Related technologies often employ sequence number comparison or timeout loss techniques to address issues such as duplicate packet identification caused by redundant transmission. The core idea is to filter data through sequence number verification or time thresholds to achieve basic deduplication and reception management.

[0005] However, the relevant technologies are unable to cope with the serious out-of-order problems caused by the difference in latency and jitter between the two links. Under the impact of large traffic, the window management efficiency is low and data misjudgment or loss is easy to occur. Summary of the Invention

[0006] In view of the above, the purpose of one or more embodiments of this disclosure is to provide a data processing method, apparatus, electronic device and storage medium to solve the problems mentioned in the background art.

[0007] To achieve the above objectives, the first aspect of this disclosure provides a data processing method, comprising: Receive data packets; Determine the first sequence number corresponding to the data packet; The positions pointed to by the first and second pointers within the sliding window of a fixed size are determined, and the second and third serial numbers corresponding to the positions are determined. In response to determining that the first sequence number is greater than the second sequence number, the difference between the first sequence number and the second sequence number is calculated; The first pointer and the second pointer are scheduled according to the difference, with the first pointer pointing to the position corresponding to the first sequence number.

[0008] Optionally, it also includes: In response to determining that the first sequence number of the data packet is less than the third sequence number, the data packet is discarded.

[0009] Optionally, it also includes: In response to determining that the first sequence number is greater than the third sequence number and less than the second sequence number, the state of the target position corresponding to the first sequence number within the sliding window is determined; In response to the target location's status being "received", the data packet is discarded.

[0010] Optionally, it also includes: In response to determining that the target location is not received, the data packet is received and written to the target location; Update the status of the target location to "received".

[0011] Optionally, the position within the sliding window represents a storage unit of the buffer.

[0012] Optionally, the buffer is a circular buffer; In response to the sliding window call, the data in the storage unit within the time window is deleted.

[0013] Optionally, the data packets may be received via a low-Earth orbit satellite communication network and / or a terrestrial communication network.

[0014] A second aspect of this disclosure provides a data processing apparatus, comprising: The receiving module is configured to receive data packets; The first determining module is configured to determine the first sequence number corresponding to the data packet; The second determining module is configured to determine the positions pointed to by the first and second pointers within a sliding window of a fixed size, and to determine the second and third sequence numbers corresponding to the positions. The calculation module is configured to calculate the difference between the first sequence number and the second sequence number in response to determining that the first sequence number is greater than the second sequence number; The scheduling module is configured to schedule the first pointer and the second pointer according to the difference, wherein the first pointer points to the position corresponding to the first sequence number.

[0015] A third aspect of this disclosure provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the program, implements the method as described in the first aspect.

[0016] In a fourth aspect, this disclosure provides a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method as described in the first aspect.

[0017] As can be seen from the above, the data processing method, apparatus, electronic device and storage medium provided in this disclosure slides based on the span of the difference between the first sequence number corresponding to the data packet and the first pointer of the sliding window, which avoids a large amount of copying of memory data and improves the computational efficiency; and avoids algorithm crashes or performance drops caused by drastic changes in communication link delay, thus improving communication stability. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in one or more embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the accompanying drawings described below are only one or more embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a flowchart illustrating a data processing method according to one or more embodiments of this disclosure; Figure 2 This is a schematic diagram of the structure of a data processing apparatus according to one or more embodiments of the present disclosure; Figure 3 This is a schematic diagram of the hardware structure of an electronic device according to one or more embodiments of this disclosure. Detailed Implementation

[0020] To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.

[0021] It should be noted that, unless otherwise defined, the technical or scientific terms used in one or more embodiments of this disclosure should have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms "first," "second," and similar words used in one or more embodiments of this disclosure do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed following the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0022] As described in the background section, with the development of communication technology, a single communication network may experience interruptions or instability due to obstruction, signal attenuation, or network congestion.

[0023] Among related technologies, a redundant transmission technical solution is proposed, which integrates multiple communication networks to realize the advantages of multiple communication networks and avoids interruption or instability that may occur in a single communication network due to obstruction, signal attenuation or network congestion.

[0024] However, this technical solution has created new technical problems: the receiving end repeatedly receives the same data packets, and it is necessary to identify and discard duplicate packets, otherwise it will lead to errors in the upper layer applications; due to the huge differences in transmission latency and jitter characteristics between low-Earth orbit satellite networks and terrestrial networks, the order in which data packets arrive at the receiving end may be completely different from the order in which they were sent.

[0025] Furthermore, related technologies propose methods for comparing data packet sequence numbers to avoid duplicate reception or out-of-order delivery.

[0026] However, due to low computational efficiency, the related technologies still suffer from a sharp decline in performance or even failure when faced with out-of-order and large-span packet sequences. Under high traffic surges, window management is inefficient and prone to misjudgment or data loss.

[0027] Therefore, one or more embodiments of this disclosure propose a data processing method that avoids large-scale copying of memory data through a large-span window sliding mechanism, thereby improving computational efficiency and avoiding algorithm crashes or performance drops caused by drastic changes in network latency.

[0028] refer to Figure 1 The data processing method of one or more embodiments disclosed herein includes the following steps: Step S101: Receive data packets.

[0029] A data packet is a unit of data in TCP / IP protocol communication. In embodiments of this disclosure, the data packet can be transmitted via double-chaining. That is, the sending end copies the data packet into two packets and transmits them to the receiving end through different communication networks to avoid omissions or mistransmissions.

[0030] In some embodiments, considering that low-Earth orbit (LEO) satellite communication networks have wide coverage but high transmission latency, while terrestrial communication networks have low latency and high bandwidth but limited coverage, LEO satellite communication networks and terrestrial communication networks, as well as terrestrial communication networks and LEO satellite communication networks, are complementary in characteristics. A dual-link transmission can be achieved by using "LEO satellite communication network + terrestrial communication network".

[0031] Therefore, the data packet can be received via a low-Earth orbit satellite communication network and / or a terrestrial communication network.

[0032] Step S102: Determine the first sequence number corresponding to the data packet.

[0033] In the embodiments of this disclosure, each data packet corresponds to a first sequence number. Specifically, when the sending end sends a data packet to the receiving end, it can copy the same data packet into two and assign the same globally monotonically increasing first sequence number to the two identical data packets.

[0034] Step S103: Determine the positions pointed to by the first and second pointers within the sliding window using a fixed-size sliding window, and determine the second and third sequence numbers corresponding to those positions.

[0035] In the embodiments of this disclosure, data sent by the sending end is received based on a sliding window mechanism. The sliding window represents a dynamically sliding window, and the left and right boundaries of the sliding window can be represented by a first pointer and a second pointer.

[0036] Since each position in the sliding window corresponds to the location where the receiving end places the data packet after receiving it, and each position also corresponds to a sequence number, each position in the sliding window corresponds to a sequence number.

[0037] For example, assuming the sliding window includes N positions, corresponding to positions 1 to n of the received data packet, then position i in the sliding window corresponds to position i and the sequence number of that position.

[0038] Therefore, the left boundary position pointed to by the first pointer corresponds to a second sequence number of a left boundary position, and the right boundary position pointed to by the second pointer corresponds to a third sequence number of a right boundary position.

[0039] It should be noted that in this embodiment of the disclosure, the sequence number of the data packet and the sequence number of the location are obtained by monotonically increasing based on the same string.

[0040] In other words, when the first data packet is received, the first sequence number of the first received data packet is used as the window base address.

[0041] For example, suppose that the data packet and the position are both obtained based on the same string 0000, that is, the first sequence number of the first data packet sent by the sender is 0000, and the sequence number of the first position where the receiver places the data packet is also 0000. At this time, the first pointer points to the corresponding position, and the second sequence number of the position pointed to by the first pointer is also 0000.

[0042] Step S104: In response to determining that the first serial number is greater than the second serial number, calculate the difference between the first serial number and the second serial number.

[0043] Step S105: Schedule the first pointer and the second pointer according to the difference, with the first pointer pointing to the position corresponding to the first sequence number.

[0044] In related technologies, the receiving end distinguishes between received and acknowledged data and received but unacknowledged data based on a first pointer (i.e., the left pointer) and a second pointer (the right pointer). Specifically, after receiving a data packet, the receiving end first places the data packets in order according to their first sequence number, and then sends an acknowledgment of receipt back to the sending end. Each time the receiving end sends an acknowledgment message for a data packet, the first pointer is moved to the placement position of the next data packet. That is, the first pointer always points to the oldest unacknowledged data packet. The second pointer moves along with the first pointer, restricting only data within the sliding window that can be received but unacknowledged. If data packets have been placed from the position pointed to by the second pointer to the position pointed to by the first pointer, no new data packets are received.

[0045] For example, suppose the sender needs to send data packets 1-20 to the receiver. After receiving data packets 1-20, the receiver places them in positions 1-20 respectively, and the sliding window size is 5. The receiver has received data packets 1-6, of which data packets 1-4 have sent acknowledgment messages to the sender. Since the receiver has received data packets 1-4 and sent acknowledgment messages, but data packets 5-6 have not yet sent acknowledgment messages, the first pointer points to the position of data packet 5 (i.e., position 5), and the second pointer points to position 10 based on the first pointer.

[0046] If an acknowledgment message for data packet 5 is sent at this point, the first pointer will point to the oldest unacknowledged data packet, i.e., the position of data packet 6, and the second pointer will point to position 11 based on the first pointer. Considering the size of the sliding window and the positions occupied by data packets with unacknowledged receipt messages, without sending any more acknowledgment messages, the receiving end can only receive four more sequentially connected data packets at this point.

[0047] In other words, if the sender sends data packets 7-10 at this point, the receiver can still receive them. However, if the sender sends data packet 15, the receiver cannot receive it because the packet's position is outside the sliding window range.

[0048] In other words, when faced with network transmission delays or jitter, the relevant technologies may be unable to receive the latest messages, leading to data loss.

[0049] In the process of developing this disclosure, the inventors discovered that the aforementioned problem arises because related technologies, in order to ensure that an acknowledgment message is sent for each received data, restrict the position of the first pointer. Simultaneously, to ensure a fixed size for the sliding window, the second pointer is restricted to only follow the first pointer, thus limiting the scheduling of the sliding window. Furthermore, this leads to data loss under conditions of high traffic surges or network jitter.

[0050] In this embodiment of the present disclosure, the second pointer can not only follow the movement of the first pointer, but also dynamically adjust the position of the second pointer according to the relationship between the first sequence number corresponding to the received data packet and the third sequence number corresponding to the second pointer.

[0051] In this case, the position pointed to by the first pointer changes according to the position pointed to by the second pointer.

[0052] Specifically, in this embodiment of the present disclosure, after receiving a data packet, the receiving end determines the size of the first sequence number corresponding to the data packet and the third sequence number corresponding to the position pointed to by the second pointer.

[0053] When it is determined that the first sequence number is greater than the third sequence number, it means that an outdated data packet has been received, which may be caused by a large traffic surge or network jitter. At this time, in order to ensure that the newly sent data packet is received, the sliding window is directly jumped, and the second pointer is directly moved to the position where the sequence number is equal to the first sequence number.

[0054] That is, in this embodiment of the present disclosure, in response to determining that the first sequence number is greater than the third sequence number, the difference between the first sequence number and the third sequence number is calculated; the first pointer and the second pointer are scheduled according to the difference, and the second pointer points to the position corresponding to the first sequence number.

[0055] When a data packet is received that exceeds the current sliding window's range, sliding the window can improve its resilience against large data inflows and network jitter. Furthermore, directly calculating the offset of the sliding window and adjusting its position over large spans, instead of sliding element by element, can improve data processing efficiency.

[0056] In some embodiments, when the difference is greater than the window size, that is, when the sequence number jumps significantly, it can be considered that a long-term network interruption and subsequent recovery has occurred. In this case, the sliding window can be reset directly, and the first sequence number of the currently received data packet can be used as the base address of the sliding window.

[0057] In some embodiments, in response to determining that the first sequence number is greater than the second sequence number and less than the third sequence number, the state of the target position corresponding to the first sequence number within the sliding window is determined.

[0058] In other words, when it is determined that the first sequence number of the received data packet is within the sliding window, it is determined whether it can be written to the corresponding position in the sliding window.

[0059] In a redundant transmission mechanism scenario, the receiving end may receive multiple data packets with the same sequence number.

[0060] For example, in a dual-link transmission scenario, the sending end needs to transmit the same data (corresponding to the same sequence number) through two different links, and the receiving end will receive the same data corresponding to the same sequence number transmitted by the two links respectively.

[0061] Therefore, in some embodiments of this disclosure, when the status of the target position corresponding to the first sequence number in the sliding window is determined to be received, it means that the data packet corresponding to the first sequence number has been received and there is no need to receive it again, so the data packet can be discarded directly.

[0062] In other embodiments, when it is determined that the status of the target location corresponding to the first sequence number within the sliding window is "not received", it means that the data packet corresponding to the first sequence number has not been received yet. The data packet is then recorded at the target location corresponding to the first sequence number, and the status of the target location is updated to "received".

[0063] In some embodiments, when a data packet with a first sequence number less than a second sequence number is received, the data packet is discarded.

[0064] When a data packet with a first sequence number less than a second sequence number is received, it can be considered an expired retransmission packet or an extremely late packet. Therefore, it can be determined as a duplicate reception and can be discarded.

[0065] In some embodiments, the data packets can be stored in a cache and submitted to the upper-layer application according to preset rules, and then delivered to the downstream data service terminal.

[0066] In some embodiments, a circular buffer can be used to store data packets. That is, a fixed-size circular array is used to buffer data packets within a sliding window and record the packet reception status. The core idea is to avoid dynamic memory allocation by cyclically reusing fixed-size memory blocks, thus achieving low-latency, high-throughput data transmission. A circular buffer can further improve computational efficiency.

[0067] It is important to note that when using a circular buffer to cache data packets, all cached data within the sliding window needs to be deleted when the sliding window is moved.

[0068] It is understandable that this method can be executed by any device, equipment, platform, or cluster of devices with computing and processing capabilities.

[0069] It should be noted that the methods of one or more embodiments of this disclosure can be executed by a single device, such as a computer or server. The methods of this embodiment can also be applied in a distributed scenario, where multiple devices cooperate to complete the process. In such a distributed scenario, one of these devices may execute only one or more steps of the methods of one or more embodiments of this disclosure, and the multiple devices will interact with each other to complete the method described.

[0070] It should be noted that the above description pertains to specific embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims may be performed in a different order than those shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired results. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0071] Based on the same inventive concept, corresponding to any of the methods in the above embodiments, this disclosure also provides a data processing apparatus. For example... Figure 2 As shown, the device includes: Receiver module 11 is configured to receive data packets; The first determining module 12 is configured to determine the first sequence number corresponding to the data packet; The second determining module 13 is configured to determine the position pointed to by the first pointer and the second pointer within the sliding window through a sliding window of fixed size, and to determine the second serial number and the third serial number corresponding to the position; The calculation module 14 is configured to calculate the difference between the first sequence number and the second sequence number in response to determining that the first sequence number is greater than the second sequence number; The scheduling module 15 is configured to schedule the first pointer and the second pointer according to the difference, wherein the first pointer points to the position corresponding to the first sequence number; Update module 16 is configured to delete the data stored at the location within the time window.

[0072] In some embodiments, it is also configured to: In response to determining that the first sequence number of the data packet is less than the second sequence number, the data packet is discarded.

[0073] In some embodiments, it is also configured to: In response to determining that the first sequence number is greater than the second sequence number and less than the third sequence number, the state of the target position corresponding to the first sequence number within the sliding window is determined; In response to the target location's status being "received", the data packet is discarded.

[0074] In some embodiments, it is also configured to: In response to determining that the target location is not received, the data packet is received and written to the target location; Update the status of the target location to "received".

[0075] In some embodiments, it is also configured to: The position within the sliding window represents a storage unit in the buffer.

[0076] In some embodiments, it is also configured to: The buffer is a circular buffer; In response to the sliding window call, the data in the storage unit within the time window is deleted.

[0077] In some embodiments, it is also configured to: The data packets are received via low-Earth orbit satellite communication networks and / or terrestrial communication networks.

[0078] For ease of description, the above apparatus is described in terms of its functions, divided into various modules. Of course, when implementing one or more embodiments of this disclosure, the functions of each module can be implemented in one or more software and / or hardware.

[0079] The apparatus described above is used to implement the corresponding methods in the foregoing embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0080] Figure 3This embodiment illustrates a more specific hardware structure of an electronic device, which may include a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, memory 1020, input / output interface 1030, and communication interface 1040 are interconnected internally via the bus 1050.

[0081] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this disclosure.

[0082] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other applications. When the technical solutions provided in the embodiments of this disclosure are implemented by software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.

[0083] The input / output interface 1030 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components within the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touchscreens, microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.

[0084] The communication interface 1040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0085] Bus 1050 includes a pathway for transmitting information between various components of the device, such as processor 1010, memory 1020, input / output interface 1030, and communication interface 1040.

[0086] It should be noted that although the above-described device only shows the processor 1010, memory 1020, input / output interface 1030, communication interface 1040, and bus 1050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this disclosure, and not necessarily all the components shown in the figures.

[0087] The electronic devices described above are used to implement the corresponding methods in the foregoing embodiments and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0088] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0089] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this disclosure (including the claims) is limited to these examples; within the framework of this disclosure, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of one or more embodiments of this disclosure as described above, which are not provided in detail for the sake of brevity.

[0090] Additionally, to simplify the description and discussion, and to avoid obscuring one or more embodiments of this disclosure, the provided drawings may or may not show well-known power / ground connections to integrated circuit (IC) chips and other components. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring one or more embodiments of this disclosure, and this also takes into account the fact that the details of implementation of these block diagram apparatuses are highly dependent on the platform on which one or more embodiments of this disclosure will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuitry) are set forth to describe exemplary embodiments of this disclosure, it will be apparent to those skilled in the art that one or more embodiments of this disclosure may be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.

[0091] Although this disclosure has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.

[0092] This disclosure includes one or more embodiments intended to cover all such substitutions, modifications, and variations falling within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A data processing method, characterized in that, include: Receive data packets; Determine the first sequence number corresponding to the data packet; The positions pointed to by the first and second pointers within the sliding window of a fixed size are determined, and the second and third serial numbers corresponding to the positions are determined. In response to determining that the first sequence number is greater than the third sequence number, the difference between the first sequence number and the third sequence number is calculated; The first pointer and the second pointer are scheduled according to the difference, with the second pointer pointing to the position corresponding to the first sequence number.

2. The method according to claim 1, characterized in that, Also includes: In response to determining that the first sequence number of the data packet is less than the second sequence number, the data packet is discarded.

3. The method according to claim 1, characterized in that, Also includes: In response to determining that the first sequence number is greater than the second sequence number and less than the third sequence number, the state of the target position corresponding to the first sequence number within the sliding window is determined; In response to the target location's status being "received", the data packet is discarded.

4. The method according to claim 3, characterized in that, Also includes: In response to determining that the target location is not received, the data packet is received and written to the target location; Update the status of the target location to "received".

5. The method according to claim 1, characterized in that, The position within the sliding window represents a storage unit in the buffer.

6. The method according to claim 5, characterized in that, The buffer is a circular buffer; In response to the sliding window call, the data in the storage unit within the time window is deleted.

7. The method according to claim 1, characterized in that, The data packets are received via low-Earth orbit satellite communication networks and / or terrestrial communication networks.

8. A data processing apparatus, characterized in that, include: The receiving module is configured to receive data packets; The first determining module is configured to determine the first sequence number corresponding to the data packet; The second determining module is configured to determine the positions pointed to by the first and second pointers within a sliding window of a fixed size, and to determine the second and third sequence numbers corresponding to the positions. The calculation module is configured to calculate the difference between the first sequence number and the second sequence number in response to determining that the first sequence number is greater than the second sequence number; The scheduling module is configured to schedule the first pointer and the second pointer according to the difference, wherein the first pointer points to the position corresponding to the first sequence number.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executed by the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 7.

10. A non-transitory computer-readable storage medium, characterized in that, The non-transitory computer-readable storage medium stores computer instructions for causing the computer to perform the method of any one of claims 1 to 7.