Data forwarding method and device and storage medium
By adopting the joint forwarding method of PDCP module and TCP proxy functions in communication technology, the problem of packet loss on the forwarding link is solved, and the reliability of data transmission is significantly improved.
Patent Information
- Application Number
- CN202311149098.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-06
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2043-09-06
AI Technical Summary
In the prior art, packet loss on the forward link cannot be effectively avoided, resulting in unreliable data transmission.
The PDCP module and TCP proxy function jointly forwards the data confirmed by the TCP proxy function twice, one cached and transmitted through the PDCP module, and one cached and transmitted through the TCP proxy function.
It effectively avoids packet loss on the forward link and improves the reliability of data transmission.
Smart Images

Figure CN119583644A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data forwarding method, device and storage medium. Background Art
[0002] In the Transmission Control Protocol (TCP) proxy technology, the core is that the base station sends a TCP confirmation message (TCP Acknowledgement, TCP ACK) to the server on behalf of the terminal, stores the data in the base station cache, and then forwards it to the terminal. Since the confirmed data will be deleted in the server's sending cache, the base station needs to ensure that the proxy confirmed data is sent to the terminal "losslessly", otherwise it will cause service interruption. Summary of the invention
[0003] The present application aims to solve, at least to some extent, one of the technical problems in the related art that packet loss on the forwarding link cannot be effectively avoided, resulting in unreliable data transmission.
[0004] To this end, the present application proposes a data forwarding method, device and processor-readable storage medium. Due to the joint forwarding method of the PDCP module and the TCP proxy function, the data confirmed by the TCP proxy function is forwarded twice, once through the PDCP module cache transmission, and once through the TCP proxy function cache transmission, thereby effectively avoiding packet loss on the forwarding link and improving data transmission reliability.
[0005] The data forwarding method proposed in the first aspect of the embodiment of the present application is executed by the first base station, and the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module; including: in response to determining that the terminal needs to switch from the first base station to the second base station, determining the first data to be forwarded related to the TCP proxy function corresponding to the terminal in the TCP proxy module; determining the second data to be forwarded in the PDCP module; and forwarding the first data to be forwarded and the second data to be forwarded together to the second base station.
[0006] The data forwarding method proposed in the second aspect of the embodiment of the present application is executed by the second base station, including: receiving first data to be forwarded and second data to be forwarded sent by the first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to the TCP proxy function corresponding to the terminal in the TCP proxy module, and the second data to be forwarded belongs to the PDCP module; sending the first data to be forwarded and the second data to be forwarded to the terminal.
[0007] The data forwarding device proposed in the third aspect embodiment of the present application includes: a first determination unit, used to determine the first data to be forwarded related to the TCP proxy function corresponding to the terminal in the Transmission Control Protocol TCP proxy module of the first base station in response to determining that the terminal needs to switch from the first base station to the second base station; a second determination unit, used to determine the second data to be forwarded in the Packet Data Convergence Protocol PDCP module of the first base station; and a forwarding unit, used to forward the first data to be forwarded and the second data to be forwarded to the second base station together.
[0008] The data forwarding device proposed in the fourth aspect embodiment of the present application includes: a receiving unit, used to receive first data to be forwarded and second data to be forwarded sent by a first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to the TCP proxy function corresponding to the terminal in the TCP proxy module, and the second data to be forwarded belongs to the PDCP module; a sending unit, used to send the first data to be forwarded and the second data to be forwarded to the terminal.
[0009] The data forwarding device proposed in the fifth aspect embodiment of the present application includes: a memory, a transceiver, and a processor: the memory is used to store computer programs; the transceiver is used to send and receive data under the control of the processor; the processor is used to read the computer program in the memory and perform the following operations: in response to determining that the terminal needs to switch from the first base station to the second base station, determine the first data to be forwarded related to the TCP proxy function corresponding to the terminal in the TCP proxy module; determine the second data to be forwarded in the PDCP module; and forward the first data to be forwarded and the second data to be forwarded together to the second base station.
[0010] The data forwarding device proposed in the sixth aspect embodiment of the present application includes: a memory, a transceiver, and a processor: the memory is used to store computer programs; the transceiver is used to send and receive data under the control of the processor; the processor is used to read the computer program in the memory and perform the following operations: receiving first data to be forwarded and second data to be forwarded sent by a first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to the TCP proxy function corresponding to the terminal in the TCP proxy module, and the second data to be forwarded belongs to the PDCP module; the first data to be forwarded and the second data to be forwarded are sent to the terminal.
[0011] The processor-readable storage medium proposed in the seventh aspect embodiment of the present application stores a computer program, and the computer program is used to enable the processor to execute: the data forwarding method proposed in the first aspect embodiment of the present application, or the data forwarding method proposed in the second aspect embodiment of the present application.
[0012] The data forwarding method, device and processor-readable storage medium provided in the present application, in response to determining that the terminal needs to switch from the first base station to the second base station, determine the first data to be forwarded related to the TCP proxy function corresponding to the terminal in the TCP proxy module of the first base station, and determine the second data to be forwarded in the PDCP module of the first base station, and forward the first data to be forwarded and the second data to be forwarded to the second base station together. Due to the use of a joint forwarding method of the PDCP module and the TCP proxy function, the data confirmed by the TCP proxy function is forwarded twice, once via the PDCP module cache transmission, and once via the TCP proxy function cache transmission, thereby effectively avoiding packet loss on the forwarding link and improving data transmission reliability.
[0013] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0015] Figure 1 It is a flowchart of a data forwarding method proposed in an embodiment of the present application;
[0016] Figure 2 This is a schematic diagram of TCP message storage in an embodiment of the present application;
[0017] Figure 3 is a flowchart of a data forwarding method proposed in another embodiment of the present application;
[0018] Figure 4 This is a schematic diagram of the process of stopping the proxy before switching in an embodiment of the present application;
[0019] Figure 5 is a flowchart of a data forwarding method proposed in another embodiment of the present application;
[0020] Figure 6 This is a data flow diagram of TCP proxy data before and after terminal switching in an embodiment of the present application;
[0021] Figure 7 It is a structural diagram of a data forwarding device proposed in an embodiment of the present application;
[0022] Figure 8 is a structural schematic diagram of a data forwarding device proposed in another embodiment of the present application;
[0023] Fig. 9 It is a structural diagram of a data forwarding device proposed in another embodiment of the present application. DETAILED DESCRIPTION
[0024] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements with the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present application, and cannot be construed as limiting the present application. On the contrary, the embodiments of the present application include all changes, modifications and equivalents that fall within the spirit and connotation of the appended claims.
[0025] In the embodiments of the present application, the term "and / or" describes the association relationship of the associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.
[0026] In the embodiments of the present application, the term "plurality" refers to two or more than two, and other quantifiers are similar.
[0027] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0028] The technical solution provided in the embodiment of the present application can be applicable to a variety of systems, especially 5G systems. For example, the applicable system can be a global system of mobile communication (GSM) system, a code division multiple access (CDMA) system, a wideband code division multiple access (WCDMA) general packet radio service (GPRS) system, a long term evolution (LTE) system, a LTE frequency division duplex (FDD) system, a LTE time division duplex (TDD) system, an advanced long term evolution (LTE-A) system, a universal mobile telecommunication system (UMTS), a world-wide interoperability for microwave access (WiMAX) system, a 5G new radio (NR) system, etc. These various systems include terminals and network equipment. The system may also include a core network part, such as an evolved packet system (EPS), a 5G system (5GS), etc.
[0029] In the process of applying TCP proxy technology, there are two possibilities of data loss: air interface data loss and terminal wired side data loss. Among them, air interface data loss refers to data loss between the peer layers of the Packet Data Convergence Protocol (PDCP) of the base station and the terminal. Terminal wired side data loss refers to data loss between the wireless module and the wired TCP and / or Internet Protocol (IP) protocol stack. In the related technology, one is to forward the TCP proxy confirmation data through the Stream Control Transmission Protocol (SCTP) protocol stack; the other is to confirm the received forwarded data sequence number by the destination base station through the SCTP protocol stack to transmit a custom message; and there is another method by the destination base station through the user plane General Packet Radio Service (GPRS) tunnel protocol custom message to confirm the received forwarded data sequence number. Under these methods, none of them can effectively avoid packet loss on the forwarding link, resulting in unreliable data transmission.
[0030] The embodiment of the present application is precisely to solve the technical problem that the above-mentioned solutions cannot effectively avoid packet loss on the forwarding link, resulting in unreliable data transmission. A data forwarding method is provided. In response to determining that the terminal needs to switch from the first base station to the second base station, first data to be forwarded related to the TCP proxy function corresponding to the terminal in the TCP proxy module of the first base station is determined, and second data to be forwarded in the PDCP module of the first base station is determined, and the first data to be forwarded and the second data to be forwarded are forwarded together to the second base station. Due to the use of a joint forwarding method of the PDCP module and the TCP proxy function, the data confirmed by the TCP proxy function is forwarded twice, once via the PDCP module cache transmission, and once via the TCP proxy function cache transmission, thereby effectively avoiding packet loss on the forwarding link and improving data transmission reliability.
[0031] Figure 1 It is a flowchart of a data forwarding method proposed in an embodiment of the present application.
[0032] It should be noted that the executor of the data forwarding method of this embodiment is a data forwarding device, which can be implemented by software and / or hardware, and the device can be configured in a base station. The base station may be a first base station, and the first base station may refer to a source base station for terminal switching, that is, a base station that provides services to the terminal before the terminal switches. Correspondingly, the second base station refers to a destination base station for terminal switching, that is, a base station that provides services to the terminal after the terminal switches. In the embodiment of the present application, the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module.
[0033] S101: In response to determining that a terminal needs to be switched from a first base station to a second base station, first data to be forwarded related to a TCP proxy function corresponding to the terminal is determined in a TCP proxy module.
[0034] In some embodiments, the first base station may detect and determine that the terminal needs to be handed over from the first base station to the second base station. For example, a high layer (HL) of the first base station may sense the handover of the terminal.
[0035] In some embodiments, the wireless resource management module may notify the PDCP module that a specified user (an optional example of a terminal) is ready to switch, and then the PDCP module may notify the TCP proxy module to determine the data to be forwarded related to the TCP proxy function corresponding to the terminal from the TCP proxy module, and the data to be forwarded may be referred to as the first data to be forwarded. For example, the PDCP module may call the application programming interface (API) of the TCP proxy module to obtain all the first data to be forwarded of the terminal, and trigger the forwarding of the first data to be forwarded to the destination base station (an optional example of a second base station).
[0036] In some embodiments, the TCP proxy module can manage TCP proxy functions corresponding to multiple terminals respectively. In this embodiment of the present application, the first to-be-forwarded data related to the TCP proxy function corresponding to the terminal to be switched can be determined from the TCP proxy module.
[0037] In some embodiments, in order to accurately and quickly obtain the first data to be forwarded related to the TCP proxy function corresponding to the terminal in the TCP proxy module, the data cached in the TCP proxy module between the minimum TCP transmission sequence number (TSN) of the first TCP message and the maximum TSN of the first TCP message can also be used as the first data to be forwarded.
[0038] In some embodiments, the TCP message in the TCP proxy module may be referred to as a first TCP message, and the TCP message in the PDCP module may be referred to as a second TCP message.
[0039] In some embodiments, in order to accurately and quickly determine the second data to be forwarded in the PDCP module, the data cached in the PDCP module between the minimum TSN of the second TCP message and the maximum TSN of the second TCP message can also be used as the second data to be forwarded, wherein the minimum TSN of the second TCP message is greater than or equal to the minimum TSN of the first TCP message, and the maximum TSN of the second TCP message is equal to the maximum TSN of the first TCP message.
[0040] Therefore, the minimum TSN (eg, pdcp_min_tsn) stored in the PDCP module can be identified in the TCP proxy module, and the message data stored only in the TCP proxy module can be self-copied to ensure that this part of the data can be sent redundantly.
[0041] For example, during operation, the PDCP module can store data that has not been confirmed by the air interface, while the TCP proxy module can store data that has not been confirmed by the TCP and / or IP protocol stack of the terminal. Therefore, the data stored in the PDCP module is a subset of the data stored in the TCP proxy module. Figure 2 As shown, Figure 2 It is a schematic diagram of TCP message storage in an embodiment of the present application. Among them, pdcp_min_tsn represents the minimum TSN of the TCP message cached in the PDCP module (an optional example of the second TCP message), and proxy_min_tsn represents the minimum TSN of the TCP message cached in the TCP proxy module (an optional example of the first TCP message), wherein pdcp_min_tsn>=proxy_min_tsn. pdcp_max_tsn represents the maximum TSN of the TCP message cached in the PDCP module, and proxy_max_tsn represents the maximum TSN of the TCP message cached in the TCP proxy module. Since the TCP proxy module transparently transmits all messages with consecutive sequence numbers to the PDCP, pdcp_max_tsn=proxy_max_tsn.
[0042] S102: Determine second data to be forwarded in the PDCP module.
[0043] In some embodiments, the wireless resource management module may notify the PDCP module that a specified user (an optional example of a terminal) is ready to switch, and the data to be forwarded in the PDCP module may also be determined, and the data to be forwarded may be referred to as the second data to be forwarded. For example, the second data to be forwarded may be data in the cache of the PDCP module.
[0044] For example, the HL may notify the PDCP module of the user switching forwarding, which may trigger the PDCP module to forward the data in the module buffer to the destination base station.
[0045] S103: Forward the first data to be forwarded and the second data to be forwarded together to the second base station.
[0046] In some embodiments, after obtaining the first data to be forwarded related to the TCP proxy function corresponding to the terminal and the second data to be forwarded in the PDCP module, redundant transmission can be performed, that is, the first data to be forwarded and the second data to be forwarded are forwarded to the second base station together, thereby effectively avoiding packet loss on the forwarding link and improving data transmission reliability.
[0047] In some embodiments, in order to achieve redundant transmission and greatly improve the reliability of full-link transmission, a first part of the data to be forwarded can also be identified from the first data to be forwarded, wherein the first part of the data to be forwarded does not belong to the second data to be forwarded, and the first part of the data to be forwarded is copied to obtain the second part of the data to be forwarded, and the first data to be forwarded, the second part of the data to be forwarded and the second data to be forwarded are forwarded together to the second base station.
[0048] In some embodiments, in order to improve data forwarding efficiency, the TCP proxy module can transparently transmit the first data to be forwarded and the second part of the data to be forwarded to the PDCP module, and the PDCP module can forward the first data to be forwarded, the second part of the data to be forwarded and the second data to be forwarded together to the second base station.
[0049] See also above Figure 2 The first part of the data to be forwarded may be data stored only by the TCP proxy module, that is, the first part of the data to be forwarded is not data stored in the PDCP module, or the first part of the data to be forwarded does not belong to the second data to be forwarded.
[0050] For example, Figure 2 The second data to be forwarded between [pdcp_min_tsn, pdcp_max_tsn] in the PDCP module is forwarded. The first data to be forwarded in the TCP proxy module is forwarded independently. For example, the first data to be forwarded between [proxy_min_tsn, proxy_max_tsn] can be submitted to the PDCP module for forwarding. In addition, considering that there is still a possibility of packet loss between the interrupted wireless module and the IP protocol stack (such as due to reasons such as the TCP proxy module's cache being full), the TCP proxy module can copy the first part of the data to be forwarded in [proxy_min_tsn, pdcp_min_tsn] and submit it to the PDCP module. Therefore, the first part of the data to be forwarded in [proxy_min_tsn, pdcp_min_tsn] will also be forwarded twice.
[0051] In some embodiments, the first data to be forwarded in the TCP proxy module may be forwarded to the destination base station in the form of no PDCP message sequence number (Sequence Number, PDCP SN). In some embodiments, the non-continuous part of the message data cached in the TCP proxy module may not be forwarded because it has not been confirmed. In some embodiments, Figure 2 The pdcp_min_tsn shown in the figure can notify the TCP proxy module to update the pdcp_min_tsn after the PDCP module receives the forwarding preparation, receives the terminal confirmation to clear the message data, and calls the interface notification of the TCP proxy module.
[0052] In some embodiments, the second base station can send all forwarded message data to the terminal, thereby achieving redundant transmission between the air interface, the terminal wireless protocol stack, and the TCP and / or IP protocol stack, so that the transmission reliability of the entire link is guaranteed.
[0053] In this embodiment, in response to determining that the terminal needs to switch from the first base station to the second base station, the first data to be forwarded related to the TCP proxy function corresponding to the terminal in the TCP proxy module of the first base station is determined, and the second data to be forwarded in the PDCP module of the first base station is determined, and the first data to be forwarded and the second data to be forwarded are forwarded together to the second base station. Since a joint forwarding method of the PDCP module and the TCP proxy function is adopted, the data confirmed by the TCP proxy function is forwarded twice, once via the PDCP module cache transmission, and once via the TCP proxy function cache transmission, thereby effectively avoiding packet loss on the forwarding link and improving data transmission reliability.
[0054] Figure 3 It is a flowchart of a data forwarding method proposed in another embodiment of the present application.
[0055] It should be noted that the data forwarding method of this embodiment is executed by a data forwarding device, which can be implemented by software and / or hardware, and can be configured in a base station, wherein the base station can be a first base station.
[0056] S301: In response to determining that a terminal needs to be switched from a first base station to a second base station, first to-be-forwarded data related to a TCP proxy function corresponding to the terminal is determined in a TCP proxy module.
[0057] S302: Determine second data to be forwarded in the PDCP module.
[0058] For the description of S301 - S302 , please refer to the above embodiment, which will not be repeated here.
[0059] S303: Determine at least one TCP proxy thread in the TCP proxy module that corresponds to the TCP proxy function of the terminal.
[0060] In an embodiment of the present application, when the upper layer of the first base station senses that the terminal is about to switch, it can notify the TCP proxy module in advance to stop the proxy so as to close the cache of the TCP proxy module. This can ensure that the data is sent to the terminal through the air interface as much as possible before the upper layer is used to notify the terminal to forward the data, thereby effectively reducing the amount of data that needs to be forwarded reliably.
[0061] S304: Setting each TCP proxy thread to a first state, wherein the first state indicates delaying closing of the corresponding TCP proxy thread.
[0062] In some embodiments, a TCP proxy interface can be pre-configured for each terminal. The TCP proxy module can traverse all TCP proxy threads of the terminal in the TCP proxy interface of the closed terminal, and sequentially set the TCP proxy threads to a delayed closed state, and then enter the round trip time (RTT) smoothing phase. Among them, the delayed closed state is an optional example of the first state. For the description of the RTT smoothing phase, please refer to the following embodiments.
[0063] S305: Determine the first state start time corresponding to each TCP proxy thread.
[0064] Wherein, the first state start time refers to the time when the corresponding TCP proxy thread is set to the first state. For example, the first state start time can be, for example, the time when the corresponding TCP proxy thread starts to be in the first state. In some embodiments, the first state start time can be used to determine the timing of closing the corresponding TCP proxy thread.
[0065] S306: If the duration between the start time of the first state and the current time reaches a first duration threshold, the corresponding TCP proxy thread is set from the first state to the second state, wherein the second state is used to close the corresponding TCP proxy thread.
[0066] In some embodiments, if each TCP proxy thread is set to the first state, it can be continuously determined whether the duration between the start time of the first state and the current time reaches a first duration threshold, and if the first duration threshold is reached, the corresponding TCP proxy thread is set from the first state to the second state. In other words, if the duration between the start time of the first state and the current time reaches the first duration threshold, the corresponding TCP proxy thread can be triggered to be closed.
[0067] like Figure 4 As shown, Figure 4This is a schematic diagram of the process of stopping the proxy before switching in the embodiment of the present application. The wireless resource management module can notify the PDCP of the switching preparation of the designated user, and the PDCP module can call the API to close the TCP proxy of the designated user; trigger the TCP proxy module to close the TCP proxy switch of the designated user; notify the TCP proxy module when the PDCP clears the cache; and trigger the update of the corresponding pdcp_min_tsn; the wireless resource management module notifies the PDCP to switch the data; the PDCP calls the API to obtain the TCP proxy data to be switched; the TCP proxy obtains all thread data of the designated user; and the PDCP switches the obtained TCP proxy data to the opposite end.
[0068] For example, a half-frame number and time slot number timing mechanism can be maintained in a base station (e.g., a first base station), and this mechanism is used to complete RTT smoothing. Specifically: After the TCP proxy is closed, the context of the TCP proxy thread is set to the TCP proxy delayed closed state (an optional example of the first state), and the start time is set (the half-frame number and time slot number can be used as a measure), and a fixed delay duration of 100ms (milliseconds) is set. The TCP proxy timer module can periodically scan all links in the delayed closed state, compare the start time (an optional example of the start time of the first state) with the current time, and obtain the elapsed delay duration. If it exceeds the fixed delay duration (an optional example of the first duration threshold, the first duration threshold can be, for example, 100ms), the state of the TCP proxy thread is set to the TCP proxy closed state (an optional example of the second state).
[0069] S307: Forward the first data to be forwarded and the second data to be forwarded together to the second base station.
[0070] For the description of S307, please refer to the above embodiment, which will not be repeated here.
[0071] In this embodiment, in response to determining that the terminal needs to switch from the first base station to the second base station, the first data to be forwarded related to the TCP proxy function corresponding to the terminal in the TCP proxy module of the first base station is determined, and the second data to be forwarded in the PDCP module of the first base station is determined, and the first data to be forwarded and the second data to be forwarded are forwarded to the second base station together. Due to the use of a joint forwarding method of the PDCP module and the TCP proxy function, the data confirmed by the TCP proxy function is forwarded twice, once through the PDCP module cache transmission, and once through the TCP proxy function cache transmission, thereby effectively avoiding packet loss on the forwarding link and improving data transmission reliability. Before the terminal switches, it can effectively support reducing the amount of TCP proxy data that needs to be forwarded. It enables the first base station to promptly notify the TCP proxy module to stop the proxy, which can significantly reduce the number of TCP proxy confirmation messages that need to be forwarded, and can effectively improve the success rate of lossless switching and reduce switching delays.
[0072] In the embodiment of the present application, in order to effectively avoid server timeout retransmission, an RTT smoothing mechanism can be implemented. Optionally, the first base station can also receive first downlink data related to the TCP proxy thread sent by the server, wherein the first downlink data is the currently received downlink data, and delay sending a first response message related to the first downlink data to the server.
[0073] The TCP proxy thread refers to a TCP proxy thread that has been configured to be in the first state. In some embodiments, the downlink data sent by the server currently received by the first base station can be referred to as the first downlink data. The response message to be fed back to the server determined based on the first downlink data can be referred to as the first response message.
[0074] In an embodiment of the present application, the first base station may delay sending a first response message related to the first downlink data to the server to avoid server timeout retransmission. In some embodiments, the first base station may determine the sending time corresponding to the second response message, wherein the second downlink data related to the second response message is downlink unconfirmed data received before the first downlink data, and the duration between the receiving time of the second downlink data and the current time reaches the second duration threshold, if the duration between the current time and the sending time does not reach the third duration threshold, then the first response message related to the first downlink data is not sent to the server, and if the duration between the current time and the sending time reaches the third duration threshold, then the first response message related to the first downlink data is sent to the server.
[0075] In an embodiment of the present application, a third duration threshold is determined based on an initial loop time RTT, wherein the initial RTT is the duration between the time when the server sends the first downlink data to the first base station and the time when the server receives the first response message related to the first downlink data sent by the first base station, and the third duration threshold is an integer multiple of the initial RTT.
[0076] In the embodiment of the present application, the third duration threshold is gradually increased with the initial RTT as the step size until the corresponding TCP proxy thread is set to the second state.
[0077] For example, when the state of the TCP proxy thread is the TCP proxy delayed closed state, the ACK response can be delayed. For example, each time point of the feedback ACK can be recorded (the half-frame number and the time slot number can be used as a measure), and each time a downlink DATA is received (for example, data, an optional example of the first downlink data), it can trigger the judgment of the duration of the interval between the current time point and the time point of the last ACK return. If the duration of the interval exceeds RTT*N, the ACK is responded immediately, that is, the reduction of the response ACK is guaranteed to be greater than or equal to RTT*N, and only one message is confirmed each time, otherwise it will not be confirmed. Wherein, N is an integer, and RTT is the RTT value measured based on the first message (an optional example of the first downlink data) and the second message (an optional example of the first response message) of the TCP link establishment. In some embodiments, the value range of N can be analyzed as follows:
[0078] With RTT_LAST as the existing RTT value and RTT_NEW as the newly measured RTT value, RTT_NEW can be used to update RTT_LAST. The calculation method is as follows:
[0079] 3 / 4*RTT_LAST+1 / 4*RTT_NEW. If the RTT is doubled, retransmission is triggered, which corresponds to the following equation:
[0080] 3 / 4*RTT_LAST+1 / 4*RTT_NEW=2*RTT_LAST, we get: RTT_NEW=5*RTT_LAST.
[0081] It can be seen that when the step size increases to 5RTT, the RTT doubles, triggering timeout retransmission. Considering the smoothing rate and time, the step size increase is taken as RTT, and N is 1. It can be seen that if 10 ACKs are responded, the RTT can be increased to 7.2 times before smoothing, which can effectively avoid timeout retransmission.
[0082] Figure 5 It is a flowchart of a data forwarding method proposed in another embodiment of the present application.
[0083] It should be noted that the execution subject of the data forwarding method of this embodiment is a data forwarding device, which can be implemented by software and / or hardware, and can be configured in a base station. The base station can be a second base station. The second base station refers to the destination base station of the terminal switching, that is, the base station that provides services to the terminal after the terminal switching.
[0084] S501: Receive first data to be forwarded and second data to be forwarded sent by the first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to the TCP proxy function corresponding to the terminal in the TCP proxy module, and the second data to be forwarded belongs to the PDCP module.
[0085] S502: Send the first data to be forwarded and the second data to be forwarded to the terminal.
[0086] In this embodiment, the second base station can receive the first data to be forwarded and the second data to be forwarded sent by the first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to the TCP proxy function corresponding to the terminal in the TCP proxy module, the second data to be forwarded belongs to the PDCP module, and the first data to be forwarded and the second data to be forwarded are sent to the terminal. It can effectively avoid packet loss on the forwarding link and improve data transmission reliability.
[0087] In the above-mentioned embodiments of the present application, the protocol consistency can be maintained and the networking of base station devices from different manufacturers can be effectively compatible.
[0088] like Figure 6 As shown, Figure 6 It is a data flow diagram of TCP proxy data before and after the terminal switching in an embodiment of the present application. If the terminal switches, for example, the base station providing services to the terminal switches from the source base station to the destination base station, the source base station can forward the data to the destination base station, and the destination base station performs wireless protocol stack processing, which is PDCP, Radio Link Control (RadioLink Control, RLC), Media Acess Control (Media Acess Control, MAC) and Physical layer (Physical, PHY), and sends it to the terminal wireless protocol stack through the air interface. Then the terminal wireless protocol stack submits it to its TCP and / or IP protocol stack.
[0089] Figure 7 It is a structural diagram of a data forwarding device proposed in an embodiment of the present application.
[0090] like Figure 7 As shown, the data forwarding device 70 includes:
[0091] The first determining unit 701 is configured to determine, in response to determining that the terminal needs to be switched from the first base station to the second base station, first data to be forwarded related to a TCP proxy function corresponding to the terminal in a transmission control protocol TCP proxy module of the first base station.
[0092] The second determining unit 702 is configured to determine second data to be forwarded in a Packet Data Convergence Protocol (PDCP) module of the first base station.
[0093] The forwarding unit 703 is configured to forward the first data to be forwarded and the second data to be forwarded to the second base station.
[0094] In this embodiment, in response to determining that the terminal needs to switch from the first base station to the second base station, the first data to be forwarded related to the TCP proxy function corresponding to the terminal in the TCP proxy module of the first base station is determined, and the second data to be forwarded in the PDCP module of the first base station is determined, and the first data to be forwarded and the second data to be forwarded are forwarded together to the second base station. Since a joint forwarding method of the PDCP module and the TCP proxy function is adopted, the data confirmed by the TCP proxy function is forwarded twice, once via the PDCP module cache transmission, and once via the TCP proxy function cache transmission, thereby effectively avoiding packet loss on the forwarding link and improving data transmission reliability.
[0095] Figure 8 It is a structural diagram of a data forwarding device proposed in another embodiment of the present application.
[0096] like Figure 8 As shown, the data forwarding device 80 includes:
[0097] The receiving unit 801 is used to receive first data to be forwarded and second data to be forwarded sent by the first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to the TCP proxy function corresponding to the terminal in the TCP proxy module, and the second data to be forwarded belongs to the PDCP module.
[0098] The sending unit 802 is configured to send the first data to be forwarded and the second data to be forwarded to the terminal.
[0099] In this embodiment, the second base station can receive the first data to be forwarded and the second data to be forwarded sent by the first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to the TCP proxy function corresponding to the terminal in the TCP proxy module, the second data to be forwarded belongs to the PDCP module, and the first data to be forwarded and the second data to be forwarded are sent to the terminal. It can effectively avoid packet loss on the forwarding link and improve data transmission reliability.
[0100] It should be noted that the division of units in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional unit in each embodiment of the present application may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0101] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a processor-readable storage medium.
[0102] Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
[0103] It should be noted here that the above-mentioned device provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0104] Fig. 9 It is a structural diagram of a data forwarding device proposed in another embodiment of the present application.
[0105] See also Fig. 9 The data forwarding device 90 includes a memory 901, a transceiver 902, a processor 903 and a user interface 904: the memory 901 is used to store a computer program; the transceiver 902 is used to send and receive data under the control of the processor 903; the processor 903 is used to read the computer program in the memory 901 and perform the following operations:
[0106] In response to determining that the terminal needs to be switched from the first base station to the second base station, determining first to-be-forwarded data related to a TCP proxy function corresponding to the terminal in the TCP proxy module;
[0107] Determining second data to be forwarded in the PDCP module; and
[0108] The first data to be forwarded and the second data to be forwarded are forwarded together to the second base station.
[0109] Alternatively, the processor 903 is configured to read the computer program in the memory 901 and perform the following operations:
[0110] Receive first data to be forwarded and second data to be forwarded sent by a first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to a TCP proxy function corresponding to the terminal in the TCP proxy module, and the second data to be forwarded belongs to the PDCP module;
[0111] The first data to be forwarded and the second data to be forwarded are sent to the terminal.
[0112] In some embodiments of the present application, the processor 903 is further configured to:
[0113] The data cached in the TCP proxy module between the minimum TCP transmission sequence number TSN of the first TCP message and the maximum TSN of the first TCP message is used as the first data to be forwarded;
[0114] Wherein, determining the second data to be forwarded in the PDCP module includes:
[0115] The data between the minimum TSN of the second TCP message and the maximum TSN of the second TCP message cached in the PDCP module is used as the second data to be forwarded, wherein the minimum TSN of the second TCP message is greater than or equal to the minimum TSN of the first TCP message, and the maximum TSN of the second TCP message is equal to the maximum TSN of the first TCP message.
[0116] In some embodiments of the present application, the processor 903 is further configured to:
[0117] Identifying a first portion of the data to be forwarded from the first data to be forwarded, wherein the first portion of the data to be forwarded does not belong to the second data to be forwarded;
[0118] Copying the first part of the data to be forwarded to obtain a second part of the data to be forwarded;
[0119] The first data to be forwarded, the second part of the data to be forwarded, and the second data to be forwarded are forwarded together to the second base station.
[0120] In some embodiments of the present application, the processor 903 is further configured to:
[0121] The TCP proxy module transparently transmits the first data to be forwarded and the second part of the data to be forwarded to the PDCP module;
[0122] The PDCP module forwards the first data to be forwarded, the second part of the data to be forwarded, and the second data to be forwarded to the second base station.
[0123] In some embodiments of the present application, the processor 903 is further configured to:
[0124] Before forwarding the first data to be forwarded and the second data to be forwarded together to the second base station, determining at least one TCP proxy thread in the TCP proxy module that corresponds to the TCP proxy function of the terminal;
[0125] Each TCP proxy thread is set to a first state, wherein the first state indicates a delayed closing of the corresponding TCP proxy thread.
[0126] In some embodiments of the present application, the processor 903 is further configured to:
[0127] Determine a first state start time corresponding to each TCP proxy thread;
[0128] If the duration between the start time of the first state and the current time reaches a first duration threshold, the corresponding TCP proxy thread is set from the first state to the second state, wherein the second state is used to close the corresponding TCP proxy thread.
[0129] In some embodiments of the present application, the processor 903 is further configured to:
[0130] Receiving first downlink data related to the TCP proxy thread sent by the server, wherein the first downlink data is the downlink data currently received;
[0131] Delay sending a first response message related to the first downlink data to the server.
[0132] In some embodiments of the present application, the processor 903 is further configured to:
[0133] Determine a sending time corresponding to a second response message, wherein the second downlink data related to the second response message is downlink unconfirmed data received before the first downlink data, and the duration between the reception time of the second downlink data and the current time reaches a second duration threshold;
[0134] If the duration between the current time and the sending time does not reach the third duration threshold, not sending the first response message related to the first downlink data to the server;
[0135] If the duration between the current time and the sending time reaches a third duration threshold, a first response message related to the first downlink data is sent to the server.
[0136] In some embodiments of the present application, the processor 903 is further configured to:
[0137] A third duration threshold is determined based on the initial loop time RTT, wherein the initial RTT is the duration between the time when the server sends the first downlink data to the first base station and the time when the server receives the first response message related to the first downlink data sent by the first base station, and the third duration threshold is an integer multiple of the initial RTT.
[0138] In some embodiments of the present application, the third duration threshold is gradually increased with the initial RTT as a step size until the corresponding TCP proxy thread is set to the second state.
[0139] Among them, Fig. 9 In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically one or more processors represented by processor 903 and various circuits of memory represented by memory 901 are linked together. The bus architecture may also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface. The transceiver 902 may be a plurality of components, namely, a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium, which may include wireless channels, wired channels, optical cables, and other transmission media. For different user devices, the user interface 904 may also be an interface capable of externally and internally connecting required devices, and the connected devices include but are not limited to a keypad, a display, a speaker, a microphone, a joystick, and the like.
[0140] The processor 903 is responsible for managing the bus architecture and general processing, and the memory 901 can store data used by the processor 903 when performing operations.
[0141] Optionally, the processor 903 may be a CPU (central processing unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array) or a CPLD (Complex Programmable Logic Device), and the processor may also adopt a multi-core architecture.
[0142] The processor calls the computer program stored in the memory to execute any method provided in the embodiments of the present application according to the obtained executable instructions. The processor and the memory can also be arranged physically separately.
[0143] It should be noted here that the above-mentioned device provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0144] In order to implement the above-mentioned embodiment, the embodiment of the present application proposes a processor-readable storage medium, and the processor-readable storage medium stores a computer program, and the computer program is used to enable the processor to execute the data forwarding method.
[0145] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
[0146] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer executable instructions. These computer executable instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0147] These processor executable instructions may also be stored in a processor readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the processor readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0148] These processor-executable instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1A step that specifies a function in one or more boxes.
[0149] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
[0150] It should be noted that, in the description of this application, the terms "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or implying relative importance. In addition, in the description of this application, unless otherwise specified, the meaning of "plurality" is two or more.
[0151] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.
[0152] It should be understood that the various parts of the present application can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0153] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.
[0154] In addition, each functional unit in each embodiment of the present application may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
[0155] The storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk, etc.
[0156] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0157] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.
[0158] It should be noted that, in the description of this application, the terms "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or implying relative importance. In addition, in the description of this application, unless otherwise specified, the meaning of "plurality" is two or more.
[0159] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.
[0160] It should be understood that the various parts of the present application can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0161] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.
[0162] In addition, each functional unit in each embodiment of the present application may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
[0163] The storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk, etc.
[0164] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0165] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.
Claims
1. A data forwarding method, characterized in that: The method is executed by a first base station, wherein the first base station includes a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module; the method includes: In response to determining that the terminal needs to be switched from the first base station to the second base station, determining first to-be-forwarded data in the TCP proxy module that is related to a TCP proxy function corresponding to the terminal; determining second data to be forwarded in the PDCP module; and The first data to be forwarded and the second data to be forwarded are forwarded together to the second base station.
2. The method according to claim 1, characterized in that in, The determining of the first data to be forwarded in the TCP proxy module and related to the TCP proxy function corresponding to the terminal includes: The data cached in the TCP proxy module between the minimum TCP transmission sequence number TSN of the first TCP message and the maximum TSN of the first TCP message is used as the first data to be forwarded; The determining the second data to be forwarded in the PDCP module includes: The data between the minimum TSN of the second TCP message and the maximum TSN of the second TCP message cached in the PDCP module is used as the second data to be forwarded, wherein the minimum TSN of the second TCP message is greater than or equal to the minimum TSN of the first TCP message, and the maximum TSN of the second TCP message is equal to the maximum TSN of the first TCP message.
3. The method according to claim 1, characterized in that The forwarding the first data to be forwarded and the second data to be forwarded together to the second base station includes: identifying a first portion of the data to be forwarded from the first data to be forwarded, wherein the first portion of the data to be forwarded does not belong to the second data to be forwarded; Copying the first part of the data to be forwarded to obtain a second part of the data to be forwarded; The first data to be forwarded, the second part of the data to be forwarded, and the second data to be forwarded are forwarded together to the second base station.
4. The method according to claim 3, characterized in that The step of forwarding the first data to be forwarded, the second part of the data to be forwarded, and the second data to be forwarded together to the second base station includes: The TCP proxy module transparently transmits the first data to be forwarded and the second part of the data to be forwarded to the PDCP module; The PDCP module forwards the first data to be forwarded, the second part of the data to be forwarded, and the second data to be forwarded to the second base station.
5. The method according to claim 1, characterized in that Before forwarding the first data to be forwarded and the second data to be forwarded together to the second base station, the method further includes: Determine at least one TCP proxy thread in the TCP proxy module that corresponds to a TCP proxy function of the terminal; Each of the TCP proxy threads is set to a first state, wherein the first state indicates a delayed shutdown of the corresponding TCP proxy thread.
6. The method according to claim 5, characterized in that The method further comprises: Determine a first state start time corresponding to each of the TCP proxy threads; If the duration between the start time of the first state and the current time reaches a first duration threshold, the corresponding TCP proxy thread is set from the first state to a second state, wherein the second state is used to close the corresponding TCP proxy thread.
7. The method according to claim 6, characterized in that The method further comprises: Receiving first downlink data related to the TCP proxy thread sent by a server, wherein the first downlink data is currently received downlink data; Delay sending a first response message related to the first downlink data to the server.
8. The method according to claim 7, characterized in that The delaying sending a first response message related to the first downlink data to the server includes: Determine a sending time corresponding to a second response message, wherein the second downlink data related to the second response message is downlink unconfirmed data received before the first downlink data, and the duration between the reception time of the second downlink data and the current time reaches a second duration threshold; If the duration between the current time and the sending time does not reach a third duration threshold, not sending a first response message related to the first downlink data to the server; If the duration between the current time and the sending time reaches the third duration threshold, a first response message related to the first downlink data is sent to the server.
9. The method according to claim 8, characterized in that The method further comprises: The third duration threshold is determined based on the initial loop time RTT, wherein the initial RTT is the duration between the time when the server sends the first downlink data to the first base station and the time when the server receives the first response message related to the first downlink data sent by the first base station, and the third duration threshold is an integer multiple of the initial RTT.
10. The method according to claim 9, characterized in that The third duration threshold is gradually increased with the initial RTT as a step length until the corresponding TCP proxy thread is set to the second state.
11. A data forwarding method, characterized in that: The method is performed by the second base station, and includes: Receive first data to be forwarded and second data to be forwarded sent by a first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to a TCP proxy function corresponding to the terminal in the TCP proxy module, and the second data to be forwarded belongs to the PDCP module; The first data to be forwarded and the second data to be forwarded are sent to the terminal.
12. A data forwarding device, characterized in that: The device comprises: A first determining unit, configured to determine, in response to determining that the terminal needs to be switched from the first base station to the second base station, first to-be-forwarded data related to a TCP proxy function corresponding to the terminal in a transmission control protocol TCP proxy module of the first base station; A second determining unit, configured to determine second data to be forwarded in a Packet Data Convergence Protocol (PDCP) module of the first base station; and A forwarding unit is used to forward the first data to be forwarded and the second data to be forwarded to the second base station.
13. A data forwarding device, characterized in that: The device comprises: A receiving unit, configured to receive first data to be forwarded and second data to be forwarded sent by a first base station, wherein the first base station comprises: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to a TCP proxy function corresponding to the terminal in the TCP proxy module, and the second data to be forwarded belongs to the PDCP module; A sending unit is used to send the first data to be forwarded and the second data to be forwarded to the terminal.
14. A data forwarding device, characterized in that: It includes memory, transceiver and processor: memory is used to store computer programs; a transceiver, configured to transmit and receive data under the control of the processor; and a processor, configured to read the computer program in the memory and perform the following operations: In response to determining that the terminal needs to be switched from the first base station to the second base station, determining first to-be-forwarded data in the TCP proxy module that is related to a TCP proxy function corresponding to the terminal; Determining second data to be forwarded in the PDCP module; as well as The first data to be forwarded and the second data to be forwarded are forwarded together to the second base station.
15. The device according to claim 14, characterized in that The processor is further configured to: The data cached in the TCP proxy module between the minimum TCP transmission sequence number TSN of the first TCP message and the maximum TSN of the first TCP message is used as the first data to be forwarded; The determining the second data to be forwarded in the PDCP module includes: The data between the minimum TSN of the second TCP message and the maximum TSN of the second TCP message cached in the PDCP module is used as the second data to be forwarded, wherein the minimum TSN of the second TCP message is greater than or equal to the minimum TSN of the first TCP message, and the maximum TSN of the second TCP message is equal to the maximum TSN of the first TCP message.
16. The device according to claim 14, characterized in that The processor is further configured to: identifying a first portion of the data to be forwarded from the first data to be forwarded, wherein the first portion of the data to be forwarded does not belong to the second data to be forwarded; Copying the first part of the data to be forwarded to obtain a second part of the data to be forwarded; The first data to be forwarded, the second part of the data to be forwarded, and the second data to be forwarded are forwarded together to the second base station.
17. The device according to claim 16, characterized in that The processor is further configured to: The TCP proxy module transparently transmits the first data to be forwarded and the second part of the data to be forwarded to the PDCP module; The PDCP module forwards the first data to be forwarded, the second part of the data to be forwarded, and the second data to be forwarded to the second base station.
18. The device according to claim 14, characterized in that The processor is further configured to: Before forwarding the first data to be forwarded and the second data to be forwarded together to the second base station, determining at least one TCP proxy thread in the TCP proxy module that corresponds to the TCP proxy function of the terminal; Each of the TCP proxy threads is set to a first state, wherein the first state indicates a delayed shutdown of the corresponding TCP proxy thread.
19. The device according to claim 18, characterized in that The processor is further configured to: Determine a first state start time corresponding to each of the TCP proxy threads; If the duration between the start time of the first state and the current time reaches a first duration threshold, the corresponding TCP proxy thread is set from the first state to a second state, wherein the second state is used to close the corresponding TCP proxy thread.
20. The device according to claim 19, characterized in that The processor is further configured to: Receiving first downlink data related to the TCP proxy thread sent by a server, wherein the first downlink data is currently received downlink data; Delay sending a first response message related to the first downlink data to the server.
21. The device according to claim 20, characterized in that The processor is further configured to: Determine a sending time corresponding to a second response message, wherein the second downlink data related to the second response message is downlink unconfirmed data received before the first downlink data, and the duration between the reception time of the second downlink data and the current time reaches a second duration threshold; If the duration between the current time and the sending time does not reach a third duration threshold, not sending a first response message related to the first downlink data to the server; If the duration between the current time and the sending time reaches the third duration threshold, a first response message related to the first downlink data is sent to the server.
22. The device according to claim 21, characterized in that The processor is further configured to: The third duration threshold is determined based on the initial loop time RTT, wherein the initial RTT is the duration between the time when the server sends the first downlink data to the first base station and the time when the server receives the first response message related to the first downlink data sent by the first base station, and the third duration threshold is an integer multiple of the initial RTT.
23. The device according to claim 22, characterized in that The third duration threshold is gradually increased with the initial RTT as a step length until the corresponding TCP proxy thread is set to the second state.
24. A data forwarding device, characterized in that: It includes memory, transceiver and processor: memory is used to store computer programs; a transceiver, for transmitting and receiving data under the control of the processor; A processor is configured to read the computer program in the memory and perform the following operations: Receive first data to be forwarded and second data to be forwarded sent by a first base station, wherein the first base station includes: a transmission control protocol TCP proxy module and a packet data convergence protocol PDCP module, the first data to be forwarded belongs to a TCP proxy function corresponding to the terminal in the TCP proxy module, and the second data to be forwarded belongs to the PDCP module; The first data to be forwarded and the second data to be forwarded are sent to the terminal.
25. A processor-readable storage medium, characterized in that: The processor-readable storage medium stores a computer program, and the computer program is used to enable the processor to execute the data forwarding method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Proxy data processing method and device
CN111225422A
Transmission optimization method and system, electronic equipment and storage medium
CN115567977A
Methods and Apparatus for Handover Management of Transfer Control Protocol Proxy Communications
US20150296418A1
Apparatus, system, and method for preventing TCP connection interruption
US20170289872A1
Data migration method and apparatus
US20200029254A1