Detailed Description
As described in the background, in order to ensure the reliability of link data transmission, the base station device generally employs AM mode transmission. In the data transmission process, the sending end adds necessary control protocol overhead on the high-level data and then transmits the data, and ensures the data to be transmitted to the peer entity. Because the RLC layer of the receiving end has an automatic repeat request (ARQ) capability, if the RLC layer of the receiving end receives an erroneous RLC message or the received RLC message is incomplete, the RLC layer of the transmitting end is notified to retransmit the erroneous RLC message or the RLC message which is not received. And the receiving end processes the received data of the sending end on the RLC layer based on the RLC protocol and transmits the processed data to the PDCP layer, and sends a status report to the sending end according to the received data, and requires the sending end to repeatedly transmit the data which is not received until the data is received.
Through analysis, in the conventional technology, although the data transmission in the AM mode of the RLC layer can ensure the characteristic that the data is retransmitted until the data is received by the opposite terminal through the ARQ capability, the influence of air interface resources, transmission links, transmission delay and a TCP retransmission protocol of the whole system is not considered in the retransmission process. Especially, when the air interface environment is poor, the uplink data service usually has the phenomenon of message loss. According to the RLC protocol, the RLC sending end performs retransmission according to the feedback information of the RLC receiving end. However, the loss of the uplink data packet, especially the FTP upload service, is discovered by the TCP receiving end in the network server and triggers the fast retransmission request of the TCP layer. Therefore, the retransmission of the TCP protocol and the retransmission of the RLC protocol have the scenes of mutual competition and collision, thereby causing unnecessary transmission resource waste and reducing the overall transmission efficiency.
Especially in the commercial deployment of the base station, poor air interface environment, abnormal configuration of the core network device or the transmission network device may cause a great reduction in transmission performance, and an aggravated situation of air interface packet loss or overtime packet loss of the base station may result in a continuous request for retransmission, thereby increasing the transmission load of the base station and requiring more air interface resources. When the maximum retransmission is reached, the transmission air interface link is abnormal, the probability of competitive retransmission of the TCP protocol and the RLC protocol is further increased, and the user rate experience is seriously influenced.
Based on this, the application provides a data retransmission method, which is used for controlling the retransmission of the RLC data in the base station, relieving the deterioration of a data transmission link caused by the shortage of air interface resources due to the excessive repeated transmission of the same RLC uplink message under the condition of poor air interface environment, solving the problem of TCP and RLC competitive retransmission, inhibiting the phenomenon of air interface link abnormity caused by the maximum retransmission of the RLC, and improving the data transmission performance of a mobile communication network.
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The data retransmission method provided by the present application can be applied to the application environment shown in fig. 1 a. Referring to fig. 1a, the network server 110 is connected to the base station 120 through a network, and the base station 120 is connected to the terminal 130 through an air interface. The uplink data transmission link direction is as follows: terminal 110, base station 120, and network server 130; the downlink data transmission link direction is as follows: network server 110, base station 120, terminal 130.
In the embodiment of the present application, in the transmission direction of the uplink data transmission link, the terminal 130 sends a data unit to the base station 120, and the base station 120 is used for processing air interface and network data exchange and forwarding. The base station data transmission processing roughly relates to main protocols such as MAC, RLC, PDCP, GTP and the like. In the normal data transmission process, the PDCP layer, the RLC layer and the MAC layer of the base station store data transmitted from a higher layer in a buffer queue, and then perform corresponding protocol processing on data units in the buffer queue and transmit the data units to a lower layer. Terminal 130 may communicate with one or more core networks via a Radio Access Network (RAN), and terminal 130 may refer to a User Equipment (UE), an Access terminal, a subscriber unit, a subscriber station, a mobile station, a remote terminal, a mobile device, a User terminal, a wireless communication device, a User agent, or a User Equipment. An access terminal may be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), a handheld device with Wireless communication capability, a computing device, or other processing device connected to a Wireless modem, a vehicle-mounted device, a wearable device, etc.
Based on the application environment shown in fig. 1a, please refer to fig. 1b, which exemplarily provides an LTE wireless communication air interface Protocol stack according to an embodiment of the present invention, which sequentially includes a tunneling Protocol (GPRS Turning Protocol, GTP), a Packet Data Convergence Protocol (PDCP) Layer, a Radio Link Control (RLC) Layer, a Media Access Control (MAC) Layer, and a Physical Link Layer (PHY).
In one embodiment, as shown in fig. 2a, a data retransmission method is provided, which is described by taking the method as an example applied to the base station in fig. 1a, and includes the following steps:
s210, reading the packet loss information of the unprocessed RLC uplink lost message.
The message refers to a data unit exchanged and transmitted in the network. The message contains complete data information to be sent, and the message is very inconsistent in length, unlimited in length and variable. In the aspect of uplink data service, the RLC sending end is located on the terminal, the RLC receiving end is located on the base station, and the two ends are in a peer-to-peer relationship. The RLC sending end writes an RLC identifier, which may be, for example, an RLC Serial Number (RLC Serial Number), in the RLC header of each RLC PDU. When the air interface environment is poor, the uplink data service usually has the condition of losing the message, the RLC uplink lost message is provided with packet loss information, the packet loss information is used for marking the record of the lost message, and the packet loss information includes an RLC packet loss identifier and the first packet loss time. The RLC packet loss identifier may be an SN of the lost packet, and the first packet loss time refers to a time when the lost packet corresponding to the RLC packet loss identifier is found for the first time.
Specifically, the RLC sending end sends an uplink packet to the RLC receiving end, and when the uplink packet is lost, the RLC receiving end records packet loss information of the RLC uplink lost packet to obtain a series of packet loss information. In order to avoid unnecessary retransmission, a series of packet loss information is correspondingly detected and processed, and the packet loss information of the RLC uplink lost message has two states of processed state and unprocessed state. And reading the packet loss information of the unprocessed RLC uplink lost message to obtain an RLC packet loss identifier and a first packet loss moment.
S220, determining the retransmission time consumption of the RLC uplink lost message corresponding to the RLC packet loss identifier according to the first packet loss time and the current time.
Specifically, the RLC sending end sends an uplink packet to the RLC receiving end, and when the uplink packet is lost, records a time when the RLC uplink lost packet is lost for the first time and an RLC packet loss identifier of the RLC uplink lost packet to obtain a time when the packet is lost for the first time. And in the process of retransmitting the RLC uplink lost message, calculating the time difference between the first packet loss moment and the current moment, and determining the retransmission time consumption of the RLC uplink lost message corresponding to the RLC packet loss identifier.
And S230, if the retransmission time consumption is larger than the preset time delay value, sending a request for stopping retransmitting the RLC uplink lost message corresponding to the RLC packet loss identifier.
The selection of the preset time delay value is related to the quality of retransmission control, the preset time delay value is too large and cannot achieve the effect of retransmission control, too small, too much data are discarded to increase the retransmission burden of a TCP layer in a network server, and meanwhile, the user experience of a user can be influenced, so that the setting of the preset time delay value can be determined according to the actual situation, and the specific numerical value of the preset time delay value is not limited.
Specifically, the time difference between the first packet loss time and the current time is calculated, so that the retransmission time consumption of the RLC uplink lost packet corresponding to the RLC packet loss identifier is determined, the retransmission time consumption is compared with a preset time delay value, when the retransmission time consumption is greater than the preset time delay value, it can be considered that a fast retransmission request of a TCP layer in the network server has been triggered, and in order to avoid the waste of transmission resources, the RLC receiving end forcibly sends a request for stopping retransmission of the RLC uplink lost packet corresponding to the RLC packet loss identifier to the RLC sending end.
In this embodiment, please refer to fig. 2b, a retransmission control module is disposed on the RLC layer to control retransmission of RLC layer data. Further, if the retransmission time consumption is greater than the preset time delay value, sending a request for stopping retransmitting the RLC uplink lost packet corresponding to the RLC packet loss identifier, including:
and if the retransmission time consumption is larger than the preset time delay value, according to the RLC packet loss identification, sending confirmation receiving information corresponding to the RLC packet loss identification to the sending end to stop retransmitting the RLC uplink lost message, and deleting packet loss information of the RLC uplink lost message.
The receiving end sends a transmission control character to the sending end in data communication, and the transmission control character is used for indicating that the sent data is received without errors. The Acknowledgement receipt information may be an ACK (Acknowledgement character). Specifically, when the retransmission time is longer than the preset delay value, it may be considered that a fast retransmission request of the TCP layer in the network server has been triggered, and the RLC retransmission may be stopped. And according to the RLC packet loss identification, the RLC receiving end forcibly sends the receiving confirmation information to the RLC sending end, so that the RLC sending end does not send the RLC uplink loss message to the RLC receiving end any more. Therefore, the processing of the packet loss information of the current RLC uplink lost packet is completed, and the packet loss information of the RLC uplink lost packet can be deleted in order to avoid occupying too much space by the packet loss information.
In this embodiment, in consideration of unnecessary retransmission existing in a retransmission process, the packet loss information of an unprocessed RLC uplink lost packet is read to obtain an RLC packet loss identifier and a first packet loss time, so that the retransmission time consumption of the RLC uplink lost packet corresponding to the RLC packet loss identifier is determined according to the first packet loss time and the current time, then the retransmission time consumption is compared with a preset time delay value, and when the retransmission time consumption is greater than the preset time delay value, it is determined that a fast retransmission request of a TCP layer in a network server has been triggered, and an RLC receiving end forcibly sends a request for stopping retransmission of the RLC uplink lost packet corresponding to the RLC packet loss identifier to an RLC sending end. Therefore, the RLC data transmission process is continuously pushed forward, unnecessary repeated transmission is reduced, the waste of transmission resources is avoided, and the utilization efficiency of the transmission resources of the uplink service is improved. Furthermore, considering the fast retransmission request of the TCP layer of the network server, the method relieves the competition between the retransmission of the RLC and the retransmission of the TCP, and improves the overall transmission efficiency.
In one embodiment, as shown in fig. 3, reading packet loss information of an unprocessed RLC uplink loss packet includes the following steps:
s310, periodically detecting whether packet loss information of the unprocessed RLC uplink lost message exists.
And S320, if the packet loss information exists, reading the packet loss information of the unprocessed RLC uplink lost message in the RLC layer uplink buffer queue.
The periodic detection of whether the packet loss information of the unprocessed RLC uplink lost message exists or not can be realized through a preset periodic timer. The period may be set according to actual conditions, such as every millisecond. Specifically, the RLC sending end sends an uplink packet to the RLC receiving end, stores the received uplink packet in an RLC layer uplink buffer queue, and records packet loss information of an RLC uplink lost packet. And the periodic timer waits for the packet loss information of the unprocessed RLC uplink lost message to be executed once per period and periodically detects whether the packet loss information exists. If the packet loss information exists, reading the packet loss information of the unprocessed RLC uplink lost message to obtain an RLC packet loss identifier and a first packet loss moment.
In one embodiment, referring to fig. 4, before periodically detecting whether there is packet loss information of an unprocessed RLC uplink loss packet, the method further includes the following steps:
and S410, receiving an uplink data message sent by the MAC layer.
S420, whether the RLC uplink lost message exists in the RLC layer uplink buffer queue is detected.
S430, if yes, obtaining the packet loss identification of the RLC uplink lost message.
S440, judging whether the RLC uplink lost message occurs for the first time according to the packet loss identifier of the RLC uplink lost message.
S450, if yes, determining the time when the RLC uplink lost message occurs for the first time as the first packet loss moment, and storing packet loss information of the RLC uplink lost message.
The RLC sending end sends an uplink message to the RLC receiving end, and the RLC receiving end processes data of the sending end and the receiving end on the PHY layer based on a PHY protocol and transmits the data to the MAC layer. Then, the MAC layer processes the data of the transmitting end and the receiving end based on the MAC protocol and transmits the processed data to the RLC layer, and the RLC layer receives the uplink data message and stores the uplink data message in an uplink buffer queue of the RLC layer.
The RLC sending end and the RLC receiving end both set an RLC sliding window, the number of units is 512 according to an RLC protocol, the RLC sending end fills an RLC SN in an RLC header of each RLC PDU, and then the RLC SN is placed in a corresponding position in the sending sliding window. The RLC PDU after transmission cannot be immediately deleted from the transmission sliding window, and is buffered until the corresponding status report acknowledgement is received. And the RLC receiving end places the received RLC PDU at a corresponding position of the receiving sliding window according to the SN of the received RLC PDU so as to sequence the received RLC PDUs. In the uplink buffer queue of the RLC layer, the RLC receiving end can easily know the uplink loss message SN of the RLC in the current receiving sliding window according to the sequencing condition of the receiving sliding window.
And if the RLC uplink lost message exists in the RLC layer uplink cache queue, acquiring a packet loss identifier of the RLC uplink lost message. Therefore, whether the RLC uplink lost message occurs in the RLC layer uplink buffer queue for the first time can be judged according to the packet loss identifier of the RLC uplink lost message. And if the first occurrence is detected, determining the first occurrence time of the RLC uplink lost message as the first packet loss time, and recording the first packet loss time. Thus, the packet loss identifier and the first packet loss moment of the RLC uplink lost packet, namely packet loss information, are obtained. And storing the packet loss information of the RLC uplink lost message so as to detect and process the packet loss information subsequently.
It should be noted that, if the RLC uplink packet in the RLC layer uplink buffer queue is complete, that is, there is no RLC uplink lost packet, the RLC receiving end sends a reception confirmation message corresponding to the packet loss identifier of the RLC uplink lost packet to the RLC sending end, so as to notify the RLC sending end of completing reception. If the RLC uplink lost message does not appear for the first time, the RLC receiving end sends negative receiving information corresponding to the packet loss identification of the RLC uplink lost message to the RLC sending end to request the RLC sending end to send the RLC uplink lost message again.
In one embodiment, the data retransmission method provided by the present application further includes: and if the retransmission time consumption is not more than the preset time delay value, according to the RLC packet loss identifier, sending negative acknowledgement received information corresponding to the RLC packet loss identifier to the sending end to request retransmission of the RLC uplink lost message.
The negative acknowledgement received information refers to a transmission control character sent by the receiving end to the sending end in data communication, and is used for indicating that the sent data is not completely received or wrong data is received. The negative Acknowledgement receipt information may be NACK (No Acknowledgement character). Specifically, when the retransmission time is not greater than the preset delay value, it may be considered that a fast retransmission request of the TCP layer in the network server is not triggered, and then RLC retransmission may be requested. And according to the RLC packet loss identification, the RLC receiving end sends negative acknowledgement received information to the RLC sending end, so that the RLC sending end continues to send an RLC uplink lost message corresponding to the RLC packet loss identification to the RLC receiving end.
In one embodiment, the predetermined delay value is the product of the adjustment factor and the network delay value. Referring to fig. 5a, the measurement of the network delay value includes the following steps:
s510, acquiring an uplink data message of the RLC layer, wherein the uplink data message comprises a source address and a target address.
S520, according to the source address and the target address, an ICMP request message is established.
S530, sending ICMP request message to GTP layer.
And S540, receiving the downlink data message sent by the GTP layer.
S550, according to the ICMP request message, screening the corresponding ICMP response message from the downlink data message.
And S560, calculating the network delay value according to the ICMP request message and the ICMP response message.
In this embodiment, the preset delay value is related to the network delay value, and the adjustment coefficient is set according to the actual situation, so as to ensure that the set preset delay value conforms to the actual situation, and avoid the preset delay value from being too large or too small. The network delay value refers to the time between the time the ICMP request message begins to leave the PDCP layer and the time the ICMP response message enters the PDCP layer.
Specifically, the RLC sending end sends an uplink message to the RLC receiving end, the RLC receiving end sends the uplink message to the network server, and the source address is the IP address of the RLC sending end, namely the source address is the terminal IP address; the destination address is the IP address of the RLC receiving end, i.e. the destination address is the IP address of the network server. The IP addresses of the network servers have diversity, and the RLC receiving end constructs different ICMP request messages according to different network server IP addresses and terminal IP addresses, sends the ICMP request messages to a GTP layer of the receiving end and forwards the ICMP request messages. And different network servers receive the corresponding ICMP request message, respond to the ICMP request message, and generate and send a downlink data message. The downlink data message comprises a terminal IP address and an IP address of the network server. In the downlink data packet, the IP address of the terminal is used as the destination address, and the IP address of the network server is used as the source address.
The GTP layer of the receiving end receives the downlink data message for analysis and then sends the downlink data message to the PDCP layer of the sending receiving end. And in the PDCP layer, according to the ICMP request message, screening an ICMP response message corresponding to the ICMP request message from the downlink data message. Because the ICMP request message carries the sending time stamp and the ICMP response message carries the arrival time stamp, the network delay value can be calculated according to the ICMP request message and the ICMP response message.
Further, a plurality of corresponding delay values are obtained according to the plurality of ICMP links, so that a series of operations can be performed according to the plurality of corresponding delay values, for example, an average operation can be performed on the plurality of corresponding delay values, and the obtained average value of the delay values is determined as the network delay value. For example, a plurality of corresponding delay values are calculated by using a weighted average method, and the obtained result is determined as a network delay value.
In this embodiment, please refer to fig. 5b, a delay measurement module is disposed in the PDCP layer, and the network delay between the network server and the base station is calculated by the delay measurement module, so as to control the retransmission of the RLC layer data by referring to the obtained network delay.
In this embodiment, a network delay value is calculated, the preset delay value is related to the network delay value, and the network delay value is used as a reference for data retransmission, so that retransmission of a TCP protocol layer in a network server is considered when RLC data is retransmitted, a mutual contention conflict between TCP retransmission and RLC retransmission is alleviated, unnecessary retransmission of uplink data is reduced, and corresponding air interface transmission resources are saved. The embodiment evaluates the retransmission request triggering time of the TCP protocol layer in the network server based on the network delay, and is used for responding to the current RLC retransmission request. And for the RLC data retransmission which consumes more time than the preset time delay value, forcibly responding to the completion of the receiving and advancing the RLC transmission.
In an embodiment, the present application provides a method for retransmitting data, which is described by taking the method as an example applied to the base station in fig. 1a, please refer to fig. 6, and the method for retransmitting data includes the following steps:
s610, receiving the uplink data message sent by the MAC layer.
S620, detecting whether the RLC uplink lost message exists in the RLC layer uplink buffer queue.
S630, if the packet loss identifier exists, acquiring the packet loss identifier of the RLC uplink lost message.
S640, judging whether the RLC uplink lost message appears for the first time according to the packet loss identifier of the RLC uplink lost message.
S650, if yes, determining the time when the RLC uplink lost message appears for the first time as the first packet loss time, and storing packet loss information of the RLC uplink lost message, wherein the packet loss information comprises a packet loss identifier and the first packet loss time.
S660, periodically detecting whether packet loss information of the unprocessed RLC uplink lost message exists.
And S670, if the packet loss information exists, reading the packet loss information of the unprocessed RLC uplink lost message in an RLC layer uplink buffer queue.
S680, determining the retransmission time consumption of the RLC uplink lost message corresponding to the RLC packet loss identifier according to the first packet loss time and the current time.
And S690, judging whether the retransmission time consumption is larger than a preset time delay value.
S691, if the retransmission time consumption is larger than the preset time delay value, according to the RLC packet loss identification, sending confirmation receiving information corresponding to the RLC packet loss identification to the sending end to stop retransmitting the RLC uplink lost message, and deleting packet loss information of the RLC uplink lost message.
And S692, if the retransmission time consumption is not greater than the preset time delay value, according to the RLC packet loss identifier, sending negative acknowledgement receiving information corresponding to the RLC packet loss identifier to the sending end to request retransmission of the RLC uplink lost message.
In this embodiment, in consideration of unnecessary retransmission in the retransmission process, packet loss information of the RLC uplink lost packet is recorded and stored, where the packet loss information includes a packet loss identifier and a first packet loss time. Processing the packet loss confidence to control data retransmission, namely reading an RLC packet loss identifier and a first packet loss moment of an RLC uplink lost message which is not processed, determining retransmission time consumption of the RLC uplink lost message corresponding to the RLC packet loss identifier according to the first packet loss moment and a current moment, then comparing the retransmission time consumption with a preset time delay value, and when the retransmission time consumption is larger than the preset time delay value, considering that a fast retransmission request of a TCP layer in a network server is triggered, and forcibly sending a request for stopping retransmitting the RLC uplink lost message corresponding to the RLC packet loss identifier to an RLC sending end by an RLC receiving end. Therefore, the RLC data transmission process is continuously pushed forward, unnecessary repeated transmission is reduced, the waste of transmission resources is avoided, and the utilization efficiency of the transmission resources of the uplink service is improved. Furthermore, considering the fast retransmission request of the TCP layer of the network server, the method relieves the competition between the retransmission of the RLC and the retransmission of the TCP, and improves the overall transmission efficiency.
In one embodiment, as shown in fig. 7, a data retransmission method is provided, and this embodiment is illustrated by applying this method to the communication link in fig. 1 a. The method comprises the following steps:
step 701, the terminal sends an uplink data message to the base station.
Step 702, the PHY layer of the base station processes the uplink data packet based on the PHY protocol and transmits the uplink data packet to the MAC layer.
And step 703, the MAC layer of the base station processes the uplink data packet based on the MAC protocol and transmits the uplink data packet to the RLC layer.
Step 704, detecting whether there is RLC uplink lost message in the RLC layer uplink buffer queue.
Step 705, if not, the base station sends the received uplink message SN corresponding ACK to the terminal.
Step 706, the terminal receives the corresponding ACK, and the terminal finishes sending the corresponding uplink data packet to the base station.
And 707, if there is an RLC uplink missing message in the RLC layer uplink buffer queue, obtaining a packet loss identifier SN of the RLC uplink missing message.
Step 708, determine whether the RLC uplink lost packet occurs for the first time.
Step 709, if not, the base station sends NACK corresponding to the uplink missing message SN to the terminal.
Step 710, the terminal receives the corresponding NACK, and retransmits the corresponding uplink lost packet to the base station.
Step 711, if yes, determining the time when the RLC uplink lost packet occurs for the first time as the first packet loss time.
And step 712, storing the packet loss information of the RLC uplink lost packet in the RLC layer uplink buffer queue.
Step 713, the cycle timer waits.
Step 714, periodically detecting whether there is packet loss information of unprocessed RLC uplink lost messages
And 715, if the packet loss information exists, reading the packet loss information of the unprocessed RLC uplink lost message.
And 716, determining the retransmission time consumption of the RLC uplink lost message corresponding to the RLC packet loss identifier according to the first packet loss time and the current time.
Step 717, determining whether the retransmission time is greater than a predetermined time delay value.
And step 718, if the value is larger than the threshold value, the base station sends an ACK corresponding to the uplink loss message SN to the terminal.
Step 719, the terminal receives the corresponding ACK, and the terminal stops sending the corresponding uplink loss packet to the base station.
And 720, if not, the base station sends NACK corresponding to the current uplink loss message SN to the terminal.
In step 721, the terminal receives the corresponding NACK, and the terminal retransmits the corresponding uplink loss packet to the base station.
And step 722, deleting the record of the current packet loss information after the current packet loss information is processed.
Step 723, the uplink data packet is processed and transmitted to the PDCP layer based on the RLC protocol, and the PDCP layer processes the uplink data packet conventionally.
Step 724, according to the source address and the destination address, the ICMP request message is established.
Step 725, sending the ICMP request message to the GTP layer.
Step 726, sending an ICMP request message to the network server.
Step 727, the network server responds to the received ICMP request message.
Step 728, the network server sends the downlink data packet to the base station.
Step 729, the downlink data packet is processed based on the GTP protocol and transmitted to the PDCP layer.
Step 730, the PDCP layer receives the downlink data packet sent by the GTP layer.
Step 731, according to the ICMP request message, screening the corresponding ICMP response message from the downlink data message.
Step 732, calculating a network delay value according to the ICMP request message and the ICMP response message.
It should be understood that although the various steps in the flowcharts of fig. 2a, 3, 5a, 6, 7 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2a, 3, 5a, 6, and 7 may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of performing the sub-steps or stages is not necessarily sequential, but may be performed alternately or alternatingly with other steps or at least some of the sub-steps or stages of other steps.
In an embodiment, the present application provides a data retransmission apparatus, as shown in fig. 8, the data retransmission apparatus 800 includes a packet loss information reading module 810, a retransmission time-consuming determining module 820, and a retransmission regulation and control module 830, where;
a packet loss information reading module 810, configured to read packet loss information of an unprocessed RLC uplink lost packet, where the packet loss information includes an RLC packet loss identifier and a first packet loss time;
a retransmission time-consuming determining module 820, configured to determine, according to the first packet loss time and the current time, retransmission time-consuming of the RLC uplink lost packet corresponding to the RLC packet loss identifier;
and a retransmission regulation and control module 830, configured to send a request for stopping retransmission of the RLC uplink lost packet corresponding to the RLC packet loss identifier if the retransmission time consumption is greater than the preset time delay value.
In an embodiment, as shown in fig. 9, the data retransmission apparatus further includes a packet loss information detecting module 910, configured to periodically detect whether there is packet loss information of an unprocessed RLC uplink lost packet.
In one embodiment, as shown in fig. 10, the data retransmission apparatus further includes a network delay measuring module 1010, configured to measure a network delay value, including: acquiring an uplink data message of an RLC layer, wherein the uplink data message comprises a source address and a target address; establishing an ICMP request message according to a source address and a target address; sending ICMP request message to GTP layer; receiving a downlink data message sent by a GTP layer; screening a corresponding ICMP response message from a downlink data message according to the ICMP request message; and calculating a network delay value according to the ICMP request message and the ICMP response message.
For specific limitations of the data retransmission apparatus, reference may be made to the above limitations of the data retransmission method, which is not described herein again. All or part of each module in the data retransmission device can be realized by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent of a processor in the network device, or can be stored in a memory in the network device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, referring to fig. 11, the present application provides a network device, including a memory 1110 and a processor 1120, where the memory 1110 stores a computer program, and the processor 1120 implements the following steps when executing the computer program:
reading packet loss information of an unprocessed RLC uplink lost message, wherein the packet loss information comprises an RLC packet loss identifier and a first packet loss moment;
determining the retransmission time consumption of the RLC uplink lost message corresponding to the RLC packet loss identifier according to the first packet loss moment and the current moment;
and if the retransmission time consumption is larger than the preset time delay value, sending a request for stopping retransmitting the RLC uplink lost message corresponding to the RLC packet loss identifier.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of:
reading packet loss information of an unprocessed RLC uplink lost message, wherein the packet loss information comprises an RLC packet loss identifier and a first packet loss moment;
determining the retransmission time consumption of the RLC uplink lost message corresponding to the RLC packet loss identifier according to the first packet loss moment and the current moment;
and if the retransmission time consumption is larger than the preset time delay value, sending a request for stopping retransmitting the RLC uplink lost message corresponding to the RLC packet loss identifier.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.