CN108234087A - Data transmission method and transmitting terminal - Google Patents

Data transmission method and transmitting terminal Download PDF

Info

Publication number
CN108234087A
CN108234087A CN201611201236.7A CN201611201236A CN108234087A CN 108234087 A CN108234087 A CN 108234087A CN 201611201236 A CN201611201236 A CN 201611201236A CN 108234087 A CN108234087 A CN 108234087A
Authority
CN
China
Prior art keywords
sequence number
packet
data packet
data
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611201236.7A
Other languages
Chinese (zh)
Other versions
CN108234087B (en
Inventor
武庆华
閤先军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201611201236.7A priority Critical patent/CN108234087B/en
Publication of CN108234087A publication Critical patent/CN108234087A/en
Application granted granted Critical
Publication of CN108234087B publication Critical patent/CN108234087B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1858Transmission or retransmission of more than one copy of acknowledgement message

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The present invention provides a kind of data transmission method and transmitting terminal applied to transmitting terminal.To receiving terminal, transmitted data packet includes data sequence number and transmits Sequence Number the transmitting terminal transmission data packet.A confirmation packet can be generated, and obtain transmitting Sequence Number for the data packet after the receiving terminal receives the data packet, the confirmation packet is sent after acquired transmitting Sequence Number is wrapped added to the confirmation to the transmitting terminal.The transmitting terminal receives the confirmation packet that the receiving terminal is sent, and according to, with the presence or absence of retransmission data packet, the retransmission data packet is the data packet for needing to retransmit in the data packet for confirming transmitting Sequence Number in packet and determining to be sent before the data packet.If so, the transmitting terminal then obtains the data packet of the repeating transmission and sends the data packet of the repeating transmission to the receiving terminal, the transmission sequence to transmit Sequence Number as the retransmission data packet of the retransmission data packet.So, it is possible to reduce Retransmission timeout promotes the efficiency of data transmission.

Description

Data transmission method and transmitting terminal
Technical field
The present invention relates to computer realm, more particularly to a kind of data transmission method and transmitting terminal.
Background technology
TCP is the core protocol of modern network transmission, and loss recovery is the key that in TCP transmission performance, is particularly being sent out When the data flow that sending end and receiving terminal are transmitted is shorter or under scene that packet loss is larger, the efficiency of loss recovery directly determines Transmission performance.
Retransmission timeout is the important mechanisms that Transmission Control Protocol ensures data reliability, and principle is to send a data Packet is switched on a timer later, within a certain period of time if not obtaining the confirmation of transmitted data packet (Acknowledge, ACK) message, then data are just retransmitted, until sending successfully.However the time of Retransmission timeout (Retransmission Timeout, RTO) is longer (to be defined as 1 second, minimum 200 in linux kernel realization in Transmission Control Protocol Millisecond).In addition, due to during packet loss is restored by Retransmission timeout, new data packet will not be transmitted, so when can lead to this section Between handling capacity be reduced to 0, and after Retransmission timeout, the congestion window of data transmission is reduced to 1, enters slow start stage, therefore Excessive Retransmission timeout can cause throughput degradation, serious to increase the stream deadline.
Invention content
The embodiment of the present invention provides a kind of method of data transmission, for by the way that Retransmission timeout is reduced or avoided, being promoted and being passed Defeated efficiency.
First aspect of the embodiment of the present invention provides a kind of data transmission method applied to transmitting terminal.The transmitting terminal can be with Transmitting data stream is to receiving terminal.By performing the method, the transmitting terminal transmission data packet to receiving terminal, transmitted data packet It including data sequence number and transmits Sequence Number, data packet transmitted by the data sequence number expression is suitable in the data flow Sequence, described transmit Sequence Number represent the transmission sequence of the data packet.It can be produced after the receiving terminal receives the data packet Raw one confirms packet, and obtain transmitting Sequence Number for the data packet, and acquired transmitting Sequence Number is confirmed packet added to described After send and described confirm packet to the transmitting terminal.The transmitting terminal receives the confirmation packet that the receiving terminal is sent, and according to described Confirm with the presence or absence of retransmission data packet in the data packet for determining to be sent before the data packet that transmits Sequence Number in packet, it is described Retransmission data packet is the data packet for needing to retransmit.If so, the data packet that the transmitting terminal then obtains the repeating transmission is concurrent The data packet of the repeating transmission is sent to the receiving terminal, the hair to transmit Sequence Number as the retransmission data packet of the retransmission data packet Send sequence.
Transmitting terminal is transmitted Sequence Number by the way that the data packet of transmission is given to add, and after receiving terminal receives the data packet, meeting Transmitting Sequence Number in the data packet is obtained, and acquired is transmitted Sequence Number added to confirming in packet, in this way, transmitting terminal Whether continuously the data packet lost can be determined according to transmitting Sequence Number in wrapping is confirmed and determine the data for needing to retransmit Packet can effectively reduce the Retransmission timeout of data in this way.
Before receiving terminal and transmitting terminal carry out data transmission, need to establish and connect, establish connect when, transmitting terminal can be The first instruction of addition information in the connection packet of receiving terminal is sent to, to indicate that the data packet that the receiving terminal is sent includes the hair Sequence number is sent, in this way, the receiving terminal includes the instruction information in the received connection packet of judgement, and itself sends really When recognizing packet and also including described transmit Sequence Number, a response bag, and the second instruction of addition information in the response bag can be generated, with Indicate that the confirmation transmitted by the receiving terminal includes the confirmation and wraps transmitting Sequence Number for corresponding data packet, the transmitting terminal The response bag that the receiving terminal is sent is received, if the response bag includes the second instruction information, is subsequently sending institute It transmits Sequence Number described in addition when stating data packet.
By when transmitting terminal and receiving terminal are established and connected, told pair by the first instruction information and the second instruction information Side, the data transfer mode to transmit Sequence Number is added in local terminal support in the packet, in this way, when carrying out data transmission, you can Addition transmits Sequence Number in the packet, to reduce the Retransmission timeout of data.
Described according in the data packet for confirming transmitting Sequence Number in wrapping and determining to be sent before the data packet During with the presence or absence of retransmission data packet, transmit Sequence Number according to judge that the currently received top n for confirming packet confirms packet first In whether include discontinuous packet for the first time, it is described discontinuously wrap for the first time transmit Sequence Number and this discontinuously packet front one is really for the first time It is discontinuous to recognize transmitting Sequence Number for packet, the N is retransmission threshold value, and is the natural number more than 1, if including judgement currently connects It is described heavy whether transmit Sequence Number and the difference to transmit Sequence Number discontinuously wrapped for the first time of the confirmation packet of receipts are more than or equal to Threshold value N is passed, if it is greater, then there are retransmission data packets in the data packet sent before determining the data packet.
In this way, re-transmission data packet can be identified in time, avoid under some scenes, retransmitting data packet can not effectively be known Not, so as to can only be retransmitted by way of Retransmission timeout, so, provide the efficiency of data transmission.
After the data packet to the receiving terminal is sent, the data sequence number of the data packet and the transmission sequence are recorded Mapping relations between row number in this way in the data packet for obtaining the repeating transmission, can determine the packet discontinuous for the first time first Transmit Sequence Number and transmit Sequence Number with what is lacked between the transmitting Sequence Number of the previous confirmation packet discontinuously wrapped for the first time, Thus can according to identified missing transmit Sequence Number and the data sequence number of the data packet and the transmission sequence Mapping relations between number obtain the data sequence number for retransmitting data packet, then according to obtaining the data sequence number Retransmit data packet.
It can be quickly found out re-transmission data packet in this way, improve the efficiency of data re-transmission.
Second aspect of the embodiment of the present invention provides a kind of data transmission method applied to receiving terminal, and the receiving terminal receives The data packet that transmitting terminal is sent, the data packet include data sequence number and transmit Sequence Number, and the data sequence number represents Sequence of the transmitted data packet in the data flow, described transmit Sequence Number represent the transmission sequence of the data packet, then It generates one and confirms packet, and obtain transmitting Sequence Number for the data packet, acquired is transmitted Sequence Number added to the confirmation Sent after packet it is described confirm packet to the transmitting terminal so that the transmitting terminal according to it is described confirm in packet transmit Sequence Number it is determining With the presence or absence of retransmission data packet in the data packet sent before the data packet, the retransmission data packet is needs to retransmit Data packet.If so, the transmitting terminal then obtains the data packet of the repeating transmission and sends the data packet of the repeating transmission to described Receiving terminal.
The third aspect of the embodiment of the present invention provides a kind of transmitting terminal, the transmitting terminal transmitting data stream to receiving terminal.It is described Transmitting terminal includes sending module, confirms module and retransmission module.The sending module is for transmission data packet to receiving terminal, institute Transmission data packet includes data sequence number and transmits Sequence Number, and data packet is in the data transmitted by the data sequence number expression Sequence in stream, described transmit Sequence Number represent the transmission sequence of the data packet so that the receiving terminal receive it is described After data packet, generate one and confirm packet, and obtain transmitting Sequence Number for the data packet, acquired transmitting Sequence Number is added to The confirmation packet is sent after the confirmation packet to the transmitting terminal.The confirmation module is sent really for receiving the receiving terminal Recognize packet, whether there is weight according in the data packet for confirming transmitting Sequence Number in packet and determining to be sent before the data packet Data packet is sent out, the retransmission data packet is the data packet for needing to retransmit.The retransmission module is used to obtain the repeating transmission Data packet simultaneously sends the data packet of the repeating transmission to the receiving terminal, and the retransmission data packet transmits Sequence Number as the repeating transmission The transmission sequence of data packet.
The transmitting terminal further includes link block, and the link block is described for sending connection packet to the receiving terminal Connection includes the first instruction information, and the first instruction information indicates that the data packet that the receiving terminal is sent includes the transmission Sequence number, so that the receiving terminal includes the instruction information, and the confirmation itself sent in the received connection packet of judgement When packet also includes described transmit Sequence Number, a response bag is generated, the response bag includes the second instruction information, second instruction Information indicates that the confirmation transmitted by the receiving terminal includes the confirmation and wraps transmitting Sequence Number for corresponding data packet;It is additionally operable to The response bag that the receiving terminal is sent is received, if the response bag includes the second instruction information, is subsequently sending institute It transmits Sequence Number described in addition when stating data packet.
It is described to confirm that module is confirming that transmitting Sequence Number in wrapping determines what is sent before the data packet according to described When whether there is retransmission data packet in data packet, currently received confirmation packet is judged specifically for transmitting Sequence Number according to Top n confirms whether include discontinuous packet for the first time in packet, it is described discontinuously wrap for the first time transmit Sequence Number it is discontinuous for the first time with this Packet front one confirms that transmitting Sequence Number for packet is discontinuous, and the N is retransmission threshold value, and is the natural number more than 1;If packet It includes, judges whether transmitting Sequence Number for currently received confirmation packet be big with the difference to transmit Sequence Number discontinuously wrapped for the first time In equal to the retransmission threshold value N;If it is greater, then in the data packet sent before determining the data packet, there are retransmission datas Packet.
The record includes that logging modle can also be included, for after the data packet to the receiving terminal is sent, remembering Record the data packet data sequence number and it is described transmit Sequence Number between mapping relations, the retransmission module is described in acquisition During the data packet of repeating transmission, it is specifically used for:Determine it is described discontinuously wrap for the first time transmit Sequence Number and discontinuously wrapped for the first time with described It is previous confirm packet transmit Sequence Number between lack transmit Sequence Number;According to identified missing transmit Sequence Number and institute State data packet data sequence number and it is described transmit Sequence Number between mapping relations obtain it is described retransmit data packet data sequence Row number;The re-transmission data packet is obtained according to the data sequence number.
The technical solution provided through the embodiment of the present invention, transmitting terminal send sequence by the way that the data packet of transmission is given to add Number, and after receiving terminal receives the data packet, transmitting Sequence Number in the data packet can be obtained, and by acquired transmission Sequence number, which is added to, to be confirmed in packet, in this way, transmitting terminal can be according to confirming transmitting Sequence Number and whether continuously determine to lose in wrapping The data packet of mistake and the determining data packet for needing to retransmit can effectively reduce the Retransmission timeout of data in this way.
Description of the drawings
In order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, to embodiment or will show below There is attached drawing needed in technology description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this Some embodiments of invention, for those of ordinary skill in the art, without having to pay creative labor, may be used also To obtain other attached drawings according to these attached drawings.
Fig. 1 is the schematic diagram of data transmission under the scene for retransmitting loss of data in the prior art.
After Fig. 2 loses for continuous data in the prior art, and there is the schematic diagram of data transmission under the scene of loss of data.
Fig. 3 is the Organization Chart of data transmission system provided in an embodiment of the present invention and the structure chart of transmitting terminal and receiving terminal.
Fig. 4 is the flow chart of data transmission method provided in an embodiment of the present invention.
After Fig. 5 loses for continuous data in the embodiment of the present invention, and there is the signal of data transmission under the scene of loss of data Figure.
Fig. 6 is the schematic diagram of data transmission under the scene that loss of data is retransmitted in the embodiment of the present invention.
Fig. 7 is the module map of the transmitting terminal in the embodiment of the present invention.
Specific embodiment
Below in conjunction with the attached drawing in the embodiment of the present invention, the technical solution in the embodiment of the present invention is carried out clear, complete Site preparation describes, it is clear that described embodiment is only part of the embodiment of the present invention, instead of all the embodiments.It is based on Embodiment in the present invention, those of ordinary skill in the art are obtained every other without creative efforts Embodiment shall fall within the protection scope of the present invention.
According to transmission control protocol/Internet Protocol (Transmission Control Protocol/ Internet Protocol, TCP/IP), transmitting data stream is divided into multiple data packets between receiving terminal and transmitting terminal, When these data packets are transmitted, each data packet can include a data sequence number, to indicate its position in the data flow, When receiving terminal receives a data packet, received data packet can be directed to and reply a confirmation packet (Acknowledge Package, ACK package) to transmitting terminal, which includes No. ACK, this No. ACK is receiving terminal received data The data sequence number of packet adds 1, transmitting terminal to be told to have received a data packet before this No. ACK, it is now desired to receive Be data sequence number be the data packet of No. ACK.When receiving terminal sends and confirms packet, if the number for the data packet being currently received It not being continuous according to sequence number and the sequence number of the previous data packet received, that is, the data packet sent out after illustrating first is had received, And the data packet first sent out is it is possible that lose, at this point, confirm packet No. ACK transmitted by receiving terminal and the data packet being currently received No. ACK of the data packet being previously received it is consistent.If the data packet that receiving terminal is successfully received also is not that described may lose The packet of mistake, the then data packet being successfully received confirm that No. ACK in packet still maintains constant, it is known that the coating that may be lost Until receiving.In transmitting terminal, if continuously receiving three (for pre-set retransmission threshold value, may be set to be other values) No. ACK consistent confirmation packet, then can determine that the data packet of the Serial No. ARC number may lose, and need Fast retransmission, then weigh Pass the data.As shown in Figure 1, data packet seq1, seq2, seq3, seq4, seq5, seq6, seq7 are sent out in sequence by transmitting terminal It send to receiving terminal, receiving terminal can send confirmation packet ACK2 to transmitting terminal when receiving data packet seq1.If data packet seq2 loses It losing, then receiving terminal is receiving subsequent data packets seq3, seq4 of seq2, still can send ACK2 to transmitting terminal, and In ACK2 carry SACK3 and SACK4, represent data packet seq3, seq4 had received, transmitting terminal discovery receive three it is identical ACK2 after, then according to confirm wrap in the SACK information that includes determine the data packet seq2 retransmitted, and retransmit data packet seq2. But before receiving terminal receives seq2, the confirmation packet of data packet seq5, seq6, seq7 have been sent from, if so according to The mode that above-mentioned trigger data retransmits can trigger the Fast retransmission of a seq2 again, in this way, the multiple re-transmission of seq2 is may result in, Communication resources are wasted, so in the prior art to data after a Fast retransmission, will not generally restart second soon Speed retransmits.In this way, if the data packet seq2 of first time Fast retransmission is lost again, can only cause to count by Retransmission timeout According to efficiency of transmission than relatively low.
If in addition, as shown in Fig. 2, during data transmission, lost there are three continuous data packet, such as Seq2, seq3, seq4, it is follow-up also to be lost there are one data packet seq7 again, then after receiving terminal receives data packet seq5, seq6, One confirmation comprising ACK2 and SACK information of each data packet transmission can be directed to wrap to transmitting terminal, transmitting terminal is receiving three After the ACK2 repeated, you can the re-transmission of trigger data packet seq2, seq3, seq4.And wrapped due to retransmitting the confirmation of data packet No. ACK will not repeat, then will not trigger data packet seq7 re-transmission, so as to cause the Retransmission timeout of seq7.
As it can be seen that existing Fast retransmission method has data-bag lost again after loss of data and continuous data packet loss is retransmitted Scene under, may all lead to the Retransmission timeout of data packet, so as to influence the efficiency of transmission of data.
In embodiments of the present invention, it is transmitted Sequence Number by increasing by one to data packet, i.e., each data are in addition to having one Except the data sequence number of the sequence of a designation date packet, further include one and transmit Sequence Number, transmit Sequence Number according to transmission Sequence is ranked up, and after the data of loss are retransmitted, is transmitted Sequence Number i.e. according to this re-transmission in sequence is sent Order is ranked up, and after receiving terminal receives data packet, can obtain transmitting Sequence Number in data packet, and by acquired hair Sequence number is sent to be added to confirm in packet, in this way, transmit Sequence Number continuous situation of the transmitting terminal in the confirmation packet received, you can Judge whether to need to carry out data re-transmission, even if having data-bag lost again later retransmitting loss of data and data packet and continuously losing When, the data packet of loss can also be retransmitted in time, so as to reduce Retransmission timeout, improve the efficiency of transmission of data. Scheme provided by the present invention is described below in conjunction with specific embodiment.
As shown in figure 3, the Organization Chart for data Transmission system of the embodiment of the present invention.The data Transmission system includes sending End 30 and receiving terminal 31, the transmitting terminal 30 are connect with receiving terminal 31 by network 32.The communication protocol of network 32 is TCP/IP Agreement.The transmitting terminal 30 can be server, and the receiving terminal 31 can be client, and the receiving terminal 31 can be to transmission 30 transmission data access requests are held, the transmitting terminal 30 responds the data access request of receiving terminal 31, the receiving terminal 31 is visited The data transmission asked is to the receiving terminal 31.
The transmitting terminal 30 is similar with the hardware configuration of the receiving terminal 31, is illustrated by taking transmitting terminal 30 as an example below. The transmitting terminal 30 includes central processing unit (Central processing unit, CPU) 301, memory 302, interface 303.Application program 304 is stored in the memory 302.The CPU performs the application program 304 in the memory 302 To provide corresponding function for the transmitting terminal 30, for example, the CPU, which performs the application program 304, realizes number shown in Fig. 4 According to transmission method, so as to which transmitting terminal be made to carry out data transmission with receiving terminal.
It according to ICP/IP protocol, before the transmitting terminal 30 is communicated with receiving terminal 31, needs first to establish connection, in the company of foundation When connecing, the side for initiating the connection request adds in a table in synchronization (synchronize, SYN) packet (alternatively referred to as connection packet) Show that connection initiator supports the identification field namely the first instruction information of Osseq mechanism.The Osseq mechanism is the present invention The data repeating method that embodiment is provided, related Osseq mechanism will be described in detail below.The field can be added in In the reserved field of SYN packets.It can also be transmitting terminal that the side for initiating request, which can be receiving terminal, for the convenience of description, below It will illustrate so that transmitting terminal 30 initiates the connection request as an example.
After the SYN packets for receiving the transmission of transmitting terminal 30, if receiving terminal 31 is found at the reserved field of the SYN The first instruction information, and when itself also supports the OSSeq mechanism then sends a response bag to the transmitting terminal 30, And the response bag includes the second instruction information and indicates that the receiving terminal 31 also supports the OSSeq mechanism.In this way, in both sides all When confirming the support OSSeq mechanism, then the OSSeq mechanism can be used in follow-up carry out data transmission.
In the data packet transmitted by the OSSeq mechanism other than data sequence number, further include and transmit Sequence Number, For the data sequence number for representing sequence of the data packet in the data flow transmitted, described transmit Sequence Number represents institute The transmission sequence of data packet is stated, described transmit Sequence Number can also be arranged at the reserved field of the data packet.
The method for illustrating to carry out data transmission by the SSeq mechanism below in conjunction with Fig. 4.
Step S401, the transmitting terminal sequence transmission data packet to the receiving terminal, can be described in transmission data packet It transmits Sequence Number, and record data sequence number and the correspondence to transmit Sequence Number described in being added in data packet.
Step S402, the receiving terminal receive the data packet, generate one and confirm packet, and obtain the hair in the data packet Sequence number is sent, the confirmation packet is sent after acquired transmitting Sequence Number is wrapped added to the confirmation to the transmitting terminal.
Step S403, the transmitting terminal receive the confirmation packet, obtain transmitting Sequence Number in the confirmation packet.
Step S404, the transmitting terminal judge that the confirmation packet is first confirmation packet of institute's transmitting data stream.Such as Fruit is first and confirms packet, then performs step S405, confirms packet if not first, then performs step S407.
Step S405, according to first data packet for transmitting Sequence Number and judging in the whether described data flow of the confirmation packet It is corresponding to confirm packet, if it is, return to step S403, confirms if it is not, then explanation is described before wrapping corresponding data packet Data may lose, then perform step S406, confirm packet as discontinuous packet for the first time using described, discontinuous for the first time wrap is Transmitting Sequence Number in being wrapped for confirmation is discontinuous with transmitting Sequence Number for the confirmation packet of front one, herein, if first true It is not transmitting Sequence Number for first data packet in data flow to recognize transmitting Sequence Number for packet, also serves as discontinuously wrapping for the first time.
Step S407, the transmitting terminal judge that the currently received top n for confirming packet confirms in packet whether include the head Secondary discontinuous packet, if do not included, return to step S403, if including, it is retransmission threshold value to perform step S408, the N, And it is the natural number more than 1.
Step S408 judges transmitting Sequence Number and the transmission sequence discontinuously wrapped for the first time for currently received confirmation packet Number difference whether be more than or equal to the retransmission threshold value N, if it is not greater, then return to step S403, if it is greater, then performing step Rapid S409.
Step S409, determine it is described discontinuously wrap for the first time transmit Sequence Number with it is described discontinuously wrap for the first time it is previous really Transmitting Sequence Number of lacking is recognized between the transmitting Sequence Number of packet.If it should be noted that the packet discontinuous for the first time is to send It terminates first received and confirms packet, can give tacit consent to 0 transmitting Sequence Number as the previous confirmation packet discontinuously wrapped for the first time.
Step S410, according to identified missing transmit Sequence Number and when transmission data, is recorded transmit Sequence Number with The data sequence number for the data packet that Relation acquisition is lost between data sequence number.
Step S411 obtains lost data packets, and retransmit the lost data packets according to the data sequence number, is retransmitted Data packet be retransmit data packet.It can also add in and transmit Sequence Number in institute's data packet, and update the number for retransmitting data packet Correspondence according to sequence number and between transmitting Sequence Number.
The technical solution provided by above-described embodiment, transmitting terminal are transmitted Sequence Number by the way that the data packet of transmission is given to add, And after receiving terminal receives the data packet, transmitting Sequence Number in the data packet can be obtained, and by acquired transmission sequence Row number, which is added to, to be confirmed in packet, in this way, transmitting terminal can transmit Sequence Number whether continuously determine loss in confirmation packet Data packet and determine to need the data packet that retransmits, can effectively reduce the Retransmission timeout of data in this way.
The application of above-mentioned data transmission method is introduced below in conjunction with Fig. 5 and example shown in fig. 6.
As shown in figure 5, data packet seq1, seq2, seq3, seq4, seq5, seq6, seq7 are sent to by transmitting terminal first Receiving terminal.In transmitting terminal transmission data packet, one can be added to transmit Sequence Number to each data packet, add the number to transmit Sequence Number Seq1 (1), seq2 (2), seq3 (3), seq4 (4), seq5 (5), seq6 (6), seq7 (7) can be expressed as according to packet, wherein including Digital representation in number transmits Sequence Number.Seq2, seq3, seq4 and seq7 are lost during data packet is sent.It is connecing After receiving end receives data packet, transmitting Sequence Number in data packet will be obtained from the data packet received, and by acquisition It transmits Sequence Number added to confirming in packet, for example, receiving terminal has received data packet seq1 (1), seq5 (5), seq6 (6), then Transmitting Sequence Number for each data packet received is confirmed added to each data packet is corresponding in packet, adds transmission sequence Number confirmation packet for Ack2 (1), Ack2 (5), Ack2 (6), it should be noted that due to receive data packet seq5 (5) and Before seq6 (6), data packet seq2 (2) is there are no receiving, so No. Ack in the confirmation packet transmitted by receiving terminal is still 2. After transmitting terminal receives the confirmation packet, judge that received confirmation packet is first and confirms packet, if first Confirm Bao Ze further determine that it is described confirm transmitting Sequence Number in packet whether first data packet transmit Sequence Number, if It is then to illustrate that the confirmation packet is that first data packet is corresponding and confirms packet, if it is not, then illustrating that current confirmation packet corresponds to number The data-bag lost sent before according to packet.For example, in present embodiment, the transmission sequence in the first confirmation packet received Number it is 1, then illustrates that first data packet is not lost.If the confirmation packet that transmitting terminal is received is not the of institute's transmitting data stream One confirm packet, then the transmitting terminal judge it is currently received confirm packet and it is currently received confirm packet top n confirm wrap in Whether continuous transmit Sequence Number, in the present embodiment, the N be the threshold value that triggering retransmits, when described currently received true Recognize packet and currently received discontinuous, the then further current reception of judgement that transmits Sequence Number for confirming the top n wrapped and confirming in wrapping Confirmation packet and first appear transmit Sequence Number it is discontinuous confirm packet between the difference to transmit Sequence Number whether be more than etc. In a preset value M, wherein, M=N-1.For example, in the present embodiment, the N=2 receives confirmation packet in the transmitting terminal After Ack2 (1), since front confirms packet not yet, and it is 1 to transmit Sequence Number, then first data packet to transmit Sequence Number does not have Lose, when receive confirm packet Ack2 (5) after, then since therein transmit Sequence Number 51 does not connect with transmitting Sequence Number for front Continuous, then the Ack2 (5) is discontinuously to wrap for the first time, after confirmation packet Ack2 (6) are received, then judges Ack (6) and Ack (6) two before confirm packet is whether to have the packet discontinuous for the first time in Ack2 (1) and Ack2 (5), due to the Ack2 (5) For discontinuous packet for the first time, then continue to judge transmitting Sequence Number and the i.e. Ack2 of packet (5) discontinuous for the first time for the Ack2 (6) Whether the difference between transmitting Sequence Number is more than or equal to 1, due to 6-5=1, so meet the condition retransmitted, it is discontinuous for the first time to wrap That is 5 previous confirmation packet Ack2 (1) the transmission sequences with the i.e. Ack2 of packet (5) discontinuous for the first time that transmit Sequence Number of Ack2 (5) What is lacked between row number 1 transmits Sequence Number, i.e., 2,3,4, then according to the sequence number and transmission data of the missing when establish The correspondence to transmit Sequence Number with the data sequence number of data packet finds 2,3, the 4 corresponding data that transmit Sequence Number of missing Sequence number, and find data packet seq2, seq3, seq4 according to the data sequence number and retransmitted, during repeating transmission, addition sends sequence Row number makes the data packet of repeating transmission become seq2 (8), seq3 (9), seq4 (10), and establish transmitting Sequence Number for each data packet With the correspondence of data sequence number.After receiving terminal receives seq2 (8), seq3 (9), seq4 (10), can send Ack3 (8), Ack4 (9), Ack5 (10) after transmitting terminal receives Ack4 (9), transmit Sequence Number 9 with existing in the first two confirmation packet Discontinuously packet seq2 (8), and the difference between transmitting Sequence Number with what is discontinuously wrapped for the first time is equal to 1, then triggers re-transmission for the first time, And it is 7, and the 7 corresponding data packet seq7 that transmit Sequence Number of missing are retransmitted to determine that missing transmits Sequence Number, so, it can It can also be by Fast retransmission, without waiting until Retransmission timeout, so as to improve number so as to continuously lose the data lost after data According to the efficiency of transmission.
It in addition, can in the loss of data of first time Fast retransmission in conjunction with the data repeating method that Fig. 6 definition graphs 4 are provided Again by Fast retransmission, after avoiding Fast retransmission loss of data in the prior art, Retransmission timeout can only be carried out, so as to improve The efficiency of data transmission.
As shown in fig. 6, transmitting terminal send add in transmit Sequence Number data packet seq1 (1), seq2 (2), seq3 (3), Seq4 (4), seq5 (5), seq6 (6), seq7 (7) to receiving terminal, seq2 (2) loses in transmission process, then is receiving termination After receiving data packet, the corresponding confirmation packet of each data packet can be sent successively to transmitting terminal, when transmitting terminal receives seq4's (4) After confirming packet ACK (4), the re-transmission (method of triggering please refers to the associated description of Fig. 5) of seq2 (2), the data of re-transmission can be triggered It wraps as seq2 (8), after data packet seq2 (8) re-transmissions, and has received data packet seq5 (5), seq6 (6), seq7 (7) really Recognize packet ACK2 (5), ACK2 (6), ACK2 (7), by then passing through whether the trigger data packet that transmits Sequence Number retransmits, so, at this point, Even if having had received the ARC2 of three repetitions, but since the transmitting Sequence Number for confirmation packet received is continuous, so Will not trigger data retransmit, so avoid unnecessary re-transmission, in this way, subsequent data packet seq8 (9), seq9 (10), Seq10 (11) is sent to after receiving terminal, transmitting terminal can according to receiving terminal send confirmation packet ACK2 (9), ACK2 (10), ACK2 (11) triggers the Fast retransmission of Seq2, so as to avoid in the prior art after first time Fast retransmission loss of data, only Data packet can be retransmitted by way of Retransmission timeout, so as to improve the efficiency of data transmission.
Fig. 7 is the module map of transmitting terminal provided in an embodiment of the present invention.The transmitting terminal 70 includes link block 701, hair It send module 702, logging modle 703, confirm module 704 and retransmission module 705.The link block 701 is wrapped for sending connection To the receiving terminal, the connection includes the first instruction information, and the first instruction information indicates what the receiving terminal was sent Data packet transmits Sequence Number described in including, so that the receiving terminal includes the instruction letter in the received connection packet of judgement Breath, and when the confirmation packet itself sent also includes described transmit Sequence Number, a response bag is generated, the response bag includes second and refers to Show information, the second instruction information indicates that the confirmation packet transmitted by the receiving terminal includes the confirmation and wraps corresponding data packet Transmit Sequence Number;It is additionally operable to receive the response bag that the receiving terminal is sent, if the response bag includes second instruction Information then transmits Sequence Number when subsequently sending the data packet described in addition.
The sending module 702 includes data sequence number and hair for transmission data packet to receiving terminal, transmitted data packet Send sequence number, sequence of the data packet in the data flow transmitted by the data sequence number expression, the table that transmits Sequence Number Show the transmission sequence of the data packet, so that the receiving terminal, which after the data packet is received, generates one, confirms packet, and obtain The data packet transmits Sequence Number, and the confirmation packet is sent after acquired transmitting Sequence Number is wrapped added to the confirmation extremely The transmitting terminal, specific transmission process can refer to step S401 and S402 in Fig. 4.
The logging modle 703 is used for after transmitting terminal sends the data packet to the receiving terminal, records the data The data sequence number of packet and it is described transmit Sequence Number between mapping relations.
It is described to confirm that module 704 is used to receive the confirmation packet that the receiving terminal is sent, according to the transmission confirmed in packet Sequence number determines that the retransmission data packet is needs with the presence or absence of retransmission data packet in the data packet sent before the data packet The data packet to be retransmitted.The confirmation module is in the data packet sent before determining the data packet with the presence or absence of repeating transmission During data packet, transmit Sequence Number according to judge that the currently received top n for confirming packet confirms in packet whether include head first Secondary discontinuous packet, it is described discontinuously wrap for the first time transmit Sequence Number and this discontinuously packet front one confirms transmission sequence of packet for the first time Row number is discontinuous, and the N is retransmission threshold value, and is the natural number more than 1;If including judging currently received confirmation packet It transmits Sequence Number with whether the difference to transmit Sequence Number discontinuously wrapped for the first time is more than or equal to the retransmission threshold value N;If It is more than, it is determined that there are retransmission data packets in the data packet sent before the data packet.Step in specifically please referring to Fig.4 The description of S404 to S408.
The retransmission module 705 is used to obtain the data packet of the repeating transmission and send the data packet of the repeating transmission to connect to described Receiving end, the transmission sequence to transmit Sequence Number as the retransmission data packet of the retransmission data packet.In the number for obtaining the repeating transmission During according to packet, the retransmission module 705 determine first it is described discontinuously wrap for the first time transmit Sequence Number and the packet discontinuous for the first time The transmitting Sequence Number of previous confirmation packet between lack transmit Sequence Number;According to identified missing transmit Sequence Number and The data sequence number of the data packet and it is described transmit Sequence Number between mapping relations obtain it is described retransmit data packet data Sequence number;The re-transmission data packet is obtained according to the data sequence number.Step S409 in specifically please referring to Fig.4 is to S411's Description.
The data backup device and method provided above to the embodiment of the present invention is described in detail, used herein Specific case is expounded the principle of the present invention and embodiment, to understand the explanation of above example is only intended to helping The method and its core concept of the present invention;Meanwhile for those of ordinary skill in the art, thought according to the present invention is having There will be changes in body embodiment and application range, in conclusion the content of the present specification should not be construed as to the present invention Limitation.

Claims (8)

1. a kind of data transmission method, applied to transmitting terminal, the transmitting terminal transmitting data stream to receiving terminal, the method packet It includes:
Transmission data packet is to receiving terminal, and transmitted data packet includes data sequence number and transmits Sequence Number, the data sequence number Sequence of the data packet transmitted by expression in the data flow, described transmit Sequence Number represent the transmission sequence of the data packet, So that the receiving terminal, which after the data packet is received, generates one, confirms packet, and obtain transmitting Sequence Number for the data packet, The confirmation packet is sent after acquired transmitting Sequence Number is wrapped added to the confirmation to the transmitting terminal;
Receive the confirmation packet that the receiving terminal is sent;
It whether there is weight according in the data packet for confirming transmitting Sequence Number in packet and determining to be sent before the data packet Data packet is sent out, the retransmission data packet is the data packet for needing to retransmit;
If so, it then obtains the data packet of the repeating transmission and sends the data packet of the repeating transmission to the receiving terminal, the repeating transmission The transmission sequence to transmit Sequence Number as the retransmission data packet of data packet.
2. data transmission method as described in claim 1, which is characterized in that in transmission data packet to receiving terminal foregoing description side Method further includes:
Connection packet is sent to the receiving terminal, the connection includes the first instruction information, the first instruction information instruction institute The data packet for stating receiving terminal transmission transmits Sequence Number including described, so that the receiving terminal wraps in received connection packet is judged It includes the instruction information, and when the confirmation packet itself sent also includes described transmit Sequence Number, generates a response bag, the response Include the second instruction information, the second instruction information indicates that the confirmation packet transmitted by the receiving terminal includes the confirmation and wraps Corresponding data packet transmits Sequence Number;
The response bag that the receiving terminal is sent is received, if the response bag includes the second instruction information, in rear supervention It send and transmits Sequence Number described in addition during the data packet.
3. data transmission method as described in claim 1, which is characterized in that described according to the transmission sequence confirmed in packet It number determines in the data packet sent before the data packet with the presence or absence of retransmission data packet, including:
Judge that whether the currently received top n for confirming packet is confirmed in packet including discontinuous for the first time according to described transmit Sequence Number Packet, it is described discontinuously wrap for the first time transmit Sequence Number and this discontinuously packet front one confirms that transmitting Sequence Number for packet does not connect for the first time Continuous, the N is retransmission threshold value, and is the natural number more than 1;
If including, judge it is currently received confirm packet transmit Sequence Number with it is described discontinuously wrap for the first time transmit Sequence Number Whether difference is more than or equal to the retransmission threshold value N;
If it is greater, then in the data packet sent before determining the data packet, there are retransmission data packets.
4. data transmission method as claimed in claim 3, which is characterized in that the method further includes:
After the data packet to the receiving terminal is sent, the data sequence number for recording the data packet transmits Sequence Number with described Between mapping relations;
The data packet for obtaining the repeating transmission includes:
That is discontinuously wrapped for the first time described in determining transmits Sequence Number and the transmission sequence of previous confirmation packet discontinuously wrapped for the first time What is lacked between row number transmits Sequence Number;
According to identified missing transmit Sequence Number and the data sequence number of the data packet and it is described transmit Sequence Number between Mapping relations obtain it is described retransmit data packet data sequence number;
The re-transmission data packet is obtained according to the data sequence number.
5. a kind of transmitting terminal, the transmitting terminal transmitting data stream to receiving terminal, including:
Sending module, for transmission data packet to receiving terminal, transmitted data packet includes data sequence number and transmits Sequence Number, institute Sequence of the data packet in the data flow transmitted by data sequence number expression is stated, described transmit Sequence Number represents the data packet Transmission sequence so that the receiving terminal is after the data packet is received, generates one and confirm packet, and obtain the data packet It transmits Sequence Number, the confirmation packet is sent after acquired transmitting Sequence Number is wrapped added to the confirmation to the transmitting terminal;
Confirm module, for receiving the confirmation packet that the receiving terminal is sent, transmitting Sequence Number in the confirmation packet is determining With the presence or absence of retransmission data packet in the data packet sent before the data packet, the retransmission data packet is needs to retransmit Data packet;
Retransmission module, it is described for obtaining the data packet of the repeating transmission and sending the data packet of the repeating transmission to the receiving terminal The transmission sequence to transmit Sequence Number as the retransmission data packet of retransmission data packet.
6. transmitting terminal as claimed in claim 5, which is characterized in that further include:
Link block, for sending connection packet to the receiving terminal, the connection includes the first instruction information, and described first refers to Show that the data packet that information indicates that the receiving terminal is sent transmits Sequence Number including described, so that the receiving terminal is judging to be received Connection packet include the instruction information, and when the confirmation packet itself sent also includes described transmit Sequence Number, generate a sound It should wrap, the response bag includes the second instruction information, and the second instruction information indicates the confirmation packet transmitted by the receiving terminal Confirm transmitting Sequence Number for the corresponding data packet of packet including described;It is additionally operable to receive the response bag that the receiving terminal is sent, if institute It states response bag and includes the second instruction information, then transmit Sequence Number described in addition when subsequently sending the data packet.
7. transmitting terminal as claimed in claim 5, which is characterized in that described to confirm module according to the transmission confirmed in wrapping When sequence number determines to whether there is retransmission data packet in the data packet sent before the data packet, it is specifically used for:
Judge that whether the currently received top n for confirming packet is confirmed in packet including discontinuous for the first time according to described transmit Sequence Number Packet, it is described discontinuously wrap for the first time transmit Sequence Number and this discontinuously packet front one confirms that transmitting Sequence Number for packet does not connect for the first time Continuous, the N is retransmission threshold value, and is the natural number more than 1;
If including, judge it is currently received confirm packet transmit Sequence Number with it is described discontinuously wrap for the first time transmit Sequence Number Whether difference is more than or equal to the retransmission threshold value N;
If it is greater, then in the data packet sent before determining the data packet, there are retransmission data packets.
8. transmitting terminal as claimed in claim 7, which is characterized in that further include:
Logging modle, for after the data packet to the receiving terminal is sent, record the data sequence number of the data packet with It is described transmit Sequence Number between mapping relations;
The retransmission module is specifically used in the data packet for obtaining the repeating transmission:
That is discontinuously wrapped for the first time described in determining transmits Sequence Number and the transmission sequence of previous confirmation packet discontinuously wrapped for the first time What is lacked between row number transmits Sequence Number;
According to identified missing transmit Sequence Number and the data sequence number of the data packet and it is described transmit Sequence Number between Mapping relations obtain it is described retransmit data packet data sequence number;
The re-transmission data packet is obtained according to the data sequence number.
CN201611201236.7A 2016-12-22 2016-12-22 Data transmission method and sending end Active CN108234087B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611201236.7A CN108234087B (en) 2016-12-22 2016-12-22 Data transmission method and sending end

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611201236.7A CN108234087B (en) 2016-12-22 2016-12-22 Data transmission method and sending end

Publications (2)

Publication Number Publication Date
CN108234087A true CN108234087A (en) 2018-06-29
CN108234087B CN108234087B (en) 2021-08-03

Family

ID=62657107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611201236.7A Active CN108234087B (en) 2016-12-22 2016-12-22 Data transmission method and sending end

Country Status (1)

Country Link
CN (1) CN108234087B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147197A (en) * 2019-12-30 2020-05-12 北京奇艺世纪科技有限公司 Data transmission method and system
CN111385069A (en) * 2018-12-27 2020-07-07 广州市百果园信息技术有限公司 Data transmission method and computer equipment
CN111698510A (en) * 2020-05-22 2020-09-22 北京大米科技有限公司 Data processing method and device and electronic equipment
CN113286000A (en) * 2021-05-21 2021-08-20 国网河北省电力有限公司 Data receiving and transmitting method and device applied to power unidirectional transmission system
CN114257350A (en) * 2021-12-31 2022-03-29 广东省教育研究院 Transmission quality optimization method, device and transmission system
CN114443095A (en) * 2022-01-21 2022-05-06 佛山市钒音科技有限公司 Air conditioner upgrading method and air conditioner
WO2023151484A1 (en) * 2022-02-08 2023-08-17 华为技术有限公司 Data processing method, device and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101588225A (en) * 2009-06-25 2009-11-25 杭州再灵电子科技有限公司 Quick retransmission technique based on packet switching network
CN102664718A (en) * 2012-04-28 2012-09-12 大唐移动通信设备有限公司 Wireless side TCP (Transmission Control Protocol) data retransmission method and equipment
CN103503357A (en) * 2011-03-04 2014-01-08 黑莓有限公司 Controlling network device behavior
US20140201318A1 (en) * 2011-09-28 2014-07-17 Open Text S.A. System and method for data transfer, including protocols for use in data transfer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101588225A (en) * 2009-06-25 2009-11-25 杭州再灵电子科技有限公司 Quick retransmission technique based on packet switching network
CN103503357A (en) * 2011-03-04 2014-01-08 黑莓有限公司 Controlling network device behavior
US20140201318A1 (en) * 2011-09-28 2014-07-17 Open Text S.A. System and method for data transfer, including protocols for use in data transfer
CN102664718A (en) * 2012-04-28 2012-09-12 大唐移动通信设备有限公司 Wireless side TCP (Transmission Control Protocol) data retransmission method and equipment

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385069A (en) * 2018-12-27 2020-07-07 广州市百果园信息技术有限公司 Data transmission method and computer equipment
CN111147197A (en) * 2019-12-30 2020-05-12 北京奇艺世纪科技有限公司 Data transmission method and system
CN111147197B (en) * 2019-12-30 2022-06-21 北京奇艺世纪科技有限公司 Data transmission method and system
CN111698510A (en) * 2020-05-22 2020-09-22 北京大米科技有限公司 Data processing method and device and electronic equipment
CN113286000A (en) * 2021-05-21 2021-08-20 国网河北省电力有限公司 Data receiving and transmitting method and device applied to power unidirectional transmission system
CN114257350A (en) * 2021-12-31 2022-03-29 广东省教育研究院 Transmission quality optimization method, device and transmission system
CN114443095A (en) * 2022-01-21 2022-05-06 佛山市钒音科技有限公司 Air conditioner upgrading method and air conditioner
WO2023151484A1 (en) * 2022-02-08 2023-08-17 华为技术有限公司 Data processing method, device and system

Also Published As

Publication number Publication date
CN108234087B (en) 2021-08-03

Similar Documents

Publication Publication Date Title
CN108234087A (en) Data transmission method and transmitting terminal
CN108494782B (en) Data transmission method based on UDP (user Datagram protocol), terminal equipment and storage medium
JP4017652B2 (en) Data transmission method and data transmission apparatus
US6310892B1 (en) Reliable connectionless network protocol
JP2002534907A (en) Communication device and communication method
CN112436994B (en) Data transmission method and electronic equipment
WO1998042108A1 (en) Method for implementing a transport layer protocol for wireless packet data delivery
CN101369877B (en) Wireless transmission control protocol processing method and equipment
KR102046792B1 (en) Method of transporting data from sending node to destination node
US20060271680A1 (en) Method For Transmitting Window Probe Packets
GB2519491A (en) Method and system for increasing data flow transmission
US20030108044A1 (en) Stateless TCP/IP protocol
US20110141904A1 (en) Method and apparatus for transmitting packets of a two-way passenger data stream
CN104104608B (en) Receive the method and device of message
CN102857354A (en) Method, device and system for reporting alarm information
WO2020147453A1 (en) Data transmission method and related apparatus
CN108322836A (en) A kind of method and device of data transmission
CN101325539B (en) Dependable communication method for LAN
CN113840342B (en) Data forwarding and retransmitting method and device
CN112565441A (en) Data communication method and electronic equipment
CN108234089B (en) Method and system for low latency communication
CN104580171B (en) The transmission method of Transmission Control Protocol, device and system
CN114390054A (en) Core network acceleration method, electronic equipment and computer storage medium
CN116436570A (en) Data transmission method, device, equipment and computer readable storage medium
JP2003060735A (en) Device for testing communication protocol

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant