A kind of data receiver method and device
Technical field
The present invention relates to wireless communication technology field, more particularly to a kind of data receiver method and device.
Background technology
Fig. 1 is user face protocol stack schematic diagram, as illustrated, in the data transmission procedure of existing GSM,
For the data transfer between UE (User Equipment, user equipment) and eNB (Evolution NodeB, evolution base station),
Generally go through PDCP (Packet Data Convergence Protocol, packet data polymerized agreement), RLC (Radio
Link Control, wireless spread-spectrum technology), MAC (Media Access Control, medium education) and PHY
The transmission of (Physical layer, physical layer), each layer is completed different data processings.PDCP mainly carries out safety operation
With a compressed and decompressed processing, such as encryption and integrity protection, ROHC (Robust Header Compression stalwartness heads
Compression/robustness header compression) compression and decompression etc.;RLC mainly completes the segmentation cascade of data and sequentially submitted and ARQ
(Automatic Repeat reQuest, automatic to require to repeat) data transfer guarantee;MAC mainly completes scheduling and Different Logic
The cascade processing and HARQ (Hybrid Automatic Repeat Request, mixed automatic repeat request) operations of channel;Thing
Reason layer is completed transmission block and sent into wrapping and eating dishes without rice or wine..
Fig. 2 is the radio protocol architecture schematic diagram of dual link, and in the framework of dual link, user data can be not
With shunting processing is carried out between eNB, as illustrated, for MeNB (Master eNB, master base station), SeNB (Secondary
ENB, prothetic group station) data processing, from two eNB of RLC and following progress processing respectively.
In the agreement of layer two in the processing procedure of data, rlc layer major function is to complete the segmentation of data, cascade and sequentially
Submit and ARQ.Rlc layer supports Three models:TM (Transparent Mode, transparent mode), UM (Unacknowledged
Mode, Unacknowledged Mode) and AM (Acknowledged Mode, affirmation mode) pattern.
Fig. 3 is processing schematic diagram of the rlc layer to AM mode datas, as illustrated, for RLC TM patterns, is in rlc layer
Transparent transmission, it is not necessary to increase RLC header (head), that is, RLC SN (Sequence Number, sequence need not be increased
Number).But for RLC UM and AM patterns, rlc layer to RLC SDU (Service Data Unit, Service Data Unit),
That is PDCP PDU (Protocol Data Unit, protocol Data Unit) carry out assembling and necessary segmentation, generation RLC PDU.
Each RLC PDU need distribution to be carried to SN, and by the SN in RLC PDU header.
The deficiencies in the prior art are:
After RLC eliminates data cascade function, lacked because reception only can be produced containing a RLC SDU in RLC PDU
Mouthful, the problem of causing to produce ambiguity.
The content of the invention
The invention provides a kind of data receiver method and device, to eliminate data cascade function in RLC, solve because
Reception breach only is produced containing a RLC SDU in RLC PDU, the problem of causing to produce ambiguity.
A kind of data receiver method is provided in the embodiment of the present invention, including:
When rlc layer receives PDU data:
The SN of the PDU data is n, is received if n is located within window, and SN variable is received higher than current highest, then:
If the PDU data received is first fragmented packets or medial section bag, the recorded highest of renewal receives SN
Variable be n;
If the PDU data received is complete, or when the PDU data received is last fragmented packets, renewal
The variable that highest receives SN is n+1.
In implementation, when rlc layer receives PDU data, including:
When receiving the either newest PDU of a newest complete PDU last fragmented packets, highest is received
SN variable update is n+1, and the SN continuously received peak remains m;
When receiving a newest PDU fragmented packets and the segmentation is not last fragmented packets, then highest is received
SN variable update is n, and the SN continuously received peak remains m;
Wherein, SN corresponding to the complete PDU or one newest newest PDU fragmented packets is n, first number to be received
It is m according to SN corresponding to bag.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
When rlc layer receives PDU data, further comprise:
When receiving PDU data, the segment information is updated.
In implementation, further comprise:
When the variable that highest receives SN is not equal to the SN continuously received peak, start the timer that reorders, Huo,Gen
When determining to exist reception breach according to the packet and segmentation situation stored in order caching, start the timer that reorders;
Wherein, when timer is reordered in startup, record the section corresponding to timer of reordering, the section lower boundary with
Window lower edge is the SN continuously received peak, and section coboundary is on the section corresponding to the resequencing timer of record
Border, the section coboundary record highest when a timer fires corresponding to resequencing timer receive SN variable, and, when after
Continuous when continuing to have the new bag receive, highest receives SN variable update, but the section coboundary corresponding to resequencing timer does not update.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
When timer is reordered in startup, further comprise:
Record this reorder interval value corresponding to timer when, record the segment information.
In implementation, further comprise:
When the segmentation of lower boundary is less than coboundary segmentation position, timer remains valid;
When lower boundary SN positions are equal to timer coboundary SN positions, determine whether to stop according to the particular location of segmentation
Resequencing timer;
When SN positions are more than timer coboundary SN positions, stop resequencing timer.
In implementation, further comprise:
When the timer times out or after being stopped, the SN of resequencing timer detection or the model of fragmented packets will be had already passed through
Enclose and be updated to the maximum data information for having already passed through detection of reordering.
In implementation, when the timer times out or after being stopped, further comprise:
Determine that other whether are also there are in receiving sequence receives breach, reorders regularly if it is present continuing startup
Device, record resequencing timer corresponding to section coboundary for when a timer fires highest receive SN variable, and, when after
Continuous when continuing to have the new bag receive, highest receives SN variable update, but the section coboundary corresponding to resequencing timer does not update.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
In timer expiry or when being stopped, further comprise:
It is updated to have already passed through inspection of reordering in the SN or the scopes of fragmented packets that will have already passed through resequencing timer detection
During the maximum data information of survey, the segment information is carried.
In implementation, further comprise:
The state report for the SN corresponding to fragmented packets that receiving terminal feedback receives to inform transmitting terminal highest to confirm.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
In receiving terminal condition report feedback, further comprise:
The segment information is carried in state report.
In implementation, the segment information is can offset information of the fragmented packets that have received of identity validation in original SDU.
In implementation, if the PDU data received is first fragmented packets or medial section bag, the segment information is equal to
Next fragment offset value for it is expected to receive segmentation;If the PDU data received is complete, or the PDU data received
When being last fragmented packets, the segment information is equal to 0.
A kind of data sink is provided in the embodiment of the present invention, including:
Receiving module, for receiving PDU data in rlc layer;
Processing module, for when rlc layer receives PDU data:
The SN of the PDU data is n, is received if n is located within window, and SN variable is received higher than current highest, then:
If the PDU data received is first fragmented packets or medial section bag, the recorded highest of renewal receives SN
Variable be n;
If the PDU data received is complete, or when the PDU data received is last fragmented packets, renewal
The variable that highest receives SN is n+1.
In implementation, processing module is further used for when rlc layer receives PDU data, including:
When receiving the either newest PDU of a newest complete PDU last fragmented packets, highest is received
SN variable update is n+1, and the SN continuously received peak remains m;
When receiving a newest PDU fragmented packets and the segmentation is not last fragmented packets, then highest is received
SN variable update is n, and the SN continuously received peak remains m;
Wherein, SN corresponding to the complete PDU or one newest newest PDU fragmented packets is n, first number to be received
It is m according to SN corresponding to bag.
In implementation, segment information is included in the variable that highest receives SN;
Processing module is further used for when rlc layer receives PDU data, when receiving PDU data, described point of renewal
Segment information.
In implementation, processing module is further used for when highest receives SN peak of the variable not equal to the SN continuously received
When, start the timer that reorders, or, determine to exist according to the packet and segmentation situation stored in order caching and receive breach
When, start the timer that reorders;
Wherein, when timer is reordered in startup, record the section corresponding to timer of reordering, the section lower boundary with
Window lower edge is the SN continuously received peak, and section coboundary is on the section corresponding to the resequencing timer of record
Border, the section coboundary record highest when a timer fires corresponding to resequencing timer receive SN variable, and, when after
Continuous when continuing to have the new bag receive, highest receives SN variable update, but the section coboundary corresponding to resequencing timer does not update.
In implementation, segment information is included in the variable that highest receives SN;
Processing module is further used for when timer is reordered in startup, is recording the section corresponding to timer of reordering
During value, the segment information is recorded.
In implementation, when processing module is further used for segmentation when lower boundary less than coboundary segmentation position, timer after
It is continuous effective;When SN positions are equal to timer coboundary SN positions, determine whether to stop resetting to determine according to the particular location of segmentation
When device;When SN positions are more than timer coboundary SN positions, stop resequencing timer.
In implementation, processing module is further used for that when the timer times out or after being stopped, it is fixed rearrangement will be had already passed through
When the SN of device detection or the scope of fragmented packets be updated to have already passed through the maximum data information of detection of reordering.
In implementation, processing module is further used for when the timer times out or after being stopped, determine be in receiving sequence
It is no also to there are other and receive breach, reorder timer, recorded corresponding to resequencing timer if it is present continuing startup
Section coboundary receives SN variable for highest when a timer fires, and, when subsequently continuing to have new bag to receive, highest connects
SN variable update is received, but the section coboundary corresponding to resequencing timer does not update.
In implementation, segment information is included in the variable that highest receives SN;
Processing module is further used in timer expiry or when being stopped, and will have already passed through resequencing timer detection
SN or the scope of fragmented packets when being updated to have already passed through the maximum data information for detection of reordering, carry the segmentation letter
Breath.
In implementation, processing module is further used for corresponding to the fragmented packets that feedback receives to inform transmitting terminal highest to confirm
SN state report.
In implementation, segment information is included in the variable that highest receives SN;
Processing module is further used for, in condition report feedback, the segment information being carried in state report.
In implementation, the segment information is can offset information of the fragmented packets that have received of identity validation in original SDU.
In implementation, if the PDU data received is first fragmented packets or medial section bag, the segment information is equal to
Next fragment offset value for it is expected to receive segmentation;If the PDU data received is complete, or the PDU data received
When being last fragmented packets, the segment information is equal to 0.
The present invention has the beneficial effect that:
Data cascade function is eliminated in RLC, be i.e. only contains a RLC SDU in RLC PDU.This mode, it can cause
If RLC AM reception state renewal and state report are reported and carried out according to original mode, it will certain ambiguity is produced,
That is, when having received only first segmentation or partial segments, it is the PDU SN=n that the highest of receiving terminal is received into variable update
Next n+1 when, now highest receive the variable SN=n+1 and SN=n actually received segmentation between, can exist receive
Breach.
That is, in RLC AM receiving terminals, in the maximum data information of record and feedback reception, highest SN is possible to first
Secondary transmission is segmented, in technical scheme provided in an embodiment of the present invention, due to when rlc layer receives PDU data, being somebody's turn to do
The SN of PDU data is n, is received if n is located within window, and SN variable is received higher than current highest, then:
If the PDU data received is first fragmented packets or medial section bag, the recorded highest of renewal receives SN
Variable be n;
If the PDU data received is complete, or when the PDU data received is last fragmented packets, renewal
The variable that highest receives SN is n+1.
So in this programme, after RLC eliminates data cascade function, variable SN and actual reception are received in highest
SN segmentation between be not in reception breach, will not produce ambiguity.
Further, due to adding the processing to segment information, thus can to the maximum data for being properly received and
The next data for it is expected to receive have and more accurately recorded, can ensure that can correctly feedback reception state, enable transmitting terminal
Understand correct reception state, avoid the meaningless re-transmission of transmitting terminal, ensure that the continuity and efficiency of data transfer.
Brief description of the drawings
Accompanying drawing described herein is used for providing a further understanding of the present invention, forms the part of the present invention, this hair
Bright schematic description and description is used to explain the present invention, does not form inappropriate limitation of the present invention.In the accompanying drawings:
Fig. 1 is user face protocol stack schematic diagram in background technology;
Fig. 2 is the radio protocol architecture schematic diagram of dual link in background technology;
Fig. 3 is processing schematic diagram of the rlc layer to AM mode datas in background technology;
Fig. 4 is data receiver method implementation process diagram in the embodiment of the present invention;
Fig. 5 is data sink structural representation in the embodiment of the present invention;
Fig. 6 is receiving device structural representation in the embodiment of the present invention.
Embodiment
Inventor notices during invention:
In the prior art, for receiving terminal, after a newest PDU or segmentation is received, will can receive
The highest at end receives next, the i.e. n+1 that variable update is the PDU SN=n.
But in GSM future development, in order to better meet user's request, significant increase network capacity and
Handling capacity, new air interface transmission mode, more network nodes, complicated network topology are introduced into 5G.In 5G networks, it is
The speed and convenience of increase pretreatment, eliminate data cascade function in RLC, i.e. only contain a RLC in RLC PDU
SDU.As long as that is, receive PDU, in spite of segmentation, the SN that will distribute to the RLC SDU adds 1, and this mode, meeting
So that if RLC AM reception state renewal and state report are reported and carried out according to original mode, it will produce certain discrimination
Justice, it is unfavorable for data transfer and feedback.It is described as follows:
After a newest PDU or segmentation is received, at this point for for SN=n this data, it is possible to only
First segmentation or partial segments are have received, and other segmentations are transmitted because the reasons such as resource or scheduling do not have, then
Between the segmentation that highest receives the variable SN=n+1 and SN=n actually received can now be found, can exist and receive breach, these
Breach is not due to caused by bust this or packet loss, therefore can not can be regarded as reception breach, is also not suitable for carrying out inspection of reordering
Survey or NACK (Negative Acknowledgement, NACK) state reporting.
The problem is in NR (next generation Radio, of future generation wireless) also without the scheme solved.
Based on this, the invention provides a kind of data receiver scheme, below in conjunction with the accompanying drawings to the specific embodiment party of the present invention
Formula illustrates.
Fig. 4 is data receiver method implementation process diagram, as illustrated, can include:
When rlc layer receives PDU data:
Step 401, the SN of the PDU data are n, if n receives SN's within reception window, and higher than current highest
Variable, then:
If step 402, the PDU data received are first fragmented packets or medial section bag, renewal is recorded most
The variable that height receives SN is n;
If step 403, the PDU data received are complete, or the PDU data received is last fragmented packets
When, the variable that renewal highest receives SN is n+1.
Specifically, RLC AM receiving terminals record highest receives SN variable, it is necessary to carry segment information, it is next to indicate
It is expected to receive the specific segmentation position of data, or when receiving newest SN fragmented packets, the record highest receives
SN variable remains the newest SN values received, rather than the SN+1.
First each scheme for being related to is illustrated from the angle of increase technical characteristic below, then provide again each combinations of features into
Example illustrate.
To be succinct, will be illustrated, but be readily understood by using following parameter in declarative procedure, in other systems or
When person changes the same or similar parameter of other functions into after system change, the present invention can also be implemented, certainly, in instances
The parameter can be also described more fully by specific implementation environment.Parameter is specific as follows:
Next_receive_SN is the variable that highest receives SN;
Con_receive_SN is the SN continuously received peak;
T_reorder_SN is the section coboundary corresponding to resequencing timer;
T_reorder_max is the scope for the SN or fragmented packets for having already passed through resequencing timer detection.
In implementation, when rlc layer receives PDU data, including:
When receiving the either newest PDU of a newest complete PDU last fragmented packets, by Next_
Receive_SN is updated to n+1, and Con_receive_SN remains m;
When receiving a newest PDU fragmented packets and the segmentation is not last fragmented packets, then by Next_
Receive_SN updates n, and Con_receive_SN remains m;
Wherein, SN corresponding to the complete PDU or one newest newest PDU fragmented packets is n, first number to be received
It is m according to SN corresponding to bag;
The Next_receive_SN is the variable that highest receives SN, and Con_receive_SN is the SN continuously received
Peak.
In implementation, it can further include:
Segment information is included in the variable that highest receives SN;
When rlc layer receives PDU data, further comprise:
When receiving PDU data, the segment information is updated.
In implementation, it can further include:
When Next_receive_SN is not equal to Con_receive_SN, start the timer that reorders, or, according to reception
When the packet and segmentation situation stored in caching determines to exist reception breach, start the timer that reorders;
Wherein, when timer is reordered in startup, record the section corresponding to timer of reordering, the section lower boundary with
Window lower edge is Con_receive_SN values, and section coboundary is the variable T_reorder_SN, T_reorder_ of record
The Next_receive_SN values of SN records when a timer fires, and, when subsequently continuing to there is new bag to receive, Next_
Receive_SN updates, but T_reorder_SN does not update;
Wherein, T_reorder_SN is the section coboundary corresponding to resequencing timer.
In implementation, it can further include:
Segment information is included in the variable that highest receives SN;
When timer is reordered in startup, further comprise:
Record this reorder interval value corresponding to timer when, record the segment information.
In implementation, it can further include:
When the segmentation of lower boundary is less than coboundary segmentation position, timer remains valid;
When SN positions are equal to timer coboundary SN positions, determine whether to stop resetting to determine according to the particular location of segmentation
When device;
When SN positions are more than timer coboundary SN positions, stop resequencing timer.
In implementation, it can further include:
When the timer times out or after being stopped, T_reorder_max is updated to have already passed through detection of reordering
The maximum data information, wherein, T_reorder_max is the scope for the SN or fragmented packets for having already passed through resequencing timer detection.
In specific implementation, for the maximum data information, in general this maximum data information is at or above current
The coboundary of timer, if being precisely a reception breach at coboundary, equal to coboundary, when coboundary and its up have
One section of data continuously received, then the maximum data information be equal to coboundary on first reception indentation, there data message.
In implementation, when the timer times out or after being stopped, further comprise:
Determine that other whether are also there are in receiving sequence receives breach, reorders regularly if it is present continuing startup
Device, record T_reorder_SN are Next_receive_SN values when a timer fires, and, continue there is new bag to connect when follow-up
Time receiving, Next_receive_SN renewals, but T_reorder_SN does not update.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
In timer expiry or when being stopped, further comprise:
When T_reorder_max to be updated to have already passed through to the maximum data information for detection of reordering, described point is carried
Segment information.
In implementation, further comprise:
The state report for the SN corresponding to fragmented packets that receiving terminal feedback receives to inform transmitting terminal highest to confirm.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
In receiving terminal condition report feedback, further comprise:
The segment information is carried in state report.
In implementation, the segment information is can offset information of the fragmented packets that have received of identity validation in original SDU.
In specific implementation, if the PDU data received is first fragmented packets or medial section bag, the segment information
Equal to next fragment offset value for it is expected to receive segmentation;If the PDU data received is complete, or the PDU received
When data are last fragmented packets, the segment information is equal to 0.
For example, when receiving the first segmentation or medial section, highest variable is equal to n, and segment information is equal to next
It is expected to receive the fragment offset value being segmented;It is 200 bytes that citing, which receives the first section length, at this time records highest and receives change
The segment information of amount is 200, it is meant that next byte received after 200;
When receiving segmentation to the end or complete PDU, then variable is equal to n+1, and segment information is equal to 0.
It will specifically be illustrated in instances by taking SO as an example.
Illustrated below with instantiation, AM and UM difference are that UM does not need feedback of status, it is only necessary to oneself dimension
Shield receives variable, and, also with regard to a poor PDU, specific embodiment is consistent, after the embodiment under knowing AM, is done for the two
Corresponding modification can obtain the implementation under UM, therefore will be illustrated below by taking AM as an example;Meanwhile parameter in example etc. mark and
Illustrate it is consistent in each example, such as Next_receive_SN, Con_receive_SN referred in embodiment 1 etc. exists
It is consistent in each example, therefore each parameter in example will not be illustrated individually again in each case.
Embodiment 1:
In this example, no packet drop is illustrated, variable does not record the implementation of segment information.
AM receiving terminal, it is necessary to safeguard following variable:
Next_receive_SN:The variable that highest receives SN is recorded, the highest SN being currently received is equal in LTE and is added
1, but because NR RLC eliminate cascade, thus the SN values of next packet that will be received be possible to be still equal to it is current
Highest SN values, only receive subsequent segment corresponding to current SN;
Con_receive_SN:The SN continuously received peak is recorded, that is, the lower boundary of window is received, on this border
Following part is the PDU continuously received, beyond window, it is not necessary to recording status;
T_reorder_SN:The section coboundary corresponding to T_reordering timers is recorded, lower boundary is under window
Border, i.e. Con_receive_SN;
T_reorder_max:Record has already passed through the SN of T_reordering timers detection or the scope of segmentation, is
The highest that may be embodied in state report confirms data message.
Several variables above, if still only including a kind of information of SN, variable is safeguarded and update mechanism needs generation one
A little changes:
For Next_receive_SN variables, if it is either newest to receive a newest complete PDU
PDU last fragmented packets, then Next_receive_SN be updated to SN values+1 corresponding to the newest complete PDU;If connect
It is not last segmentation to receive a newest PDU fragmented packets and the segmentation, then it is complete to be updated to this by Next_receive_SN
SN values corresponding to PDU.
Lower boundary Con_receive_SN variables for receiving window, the reception breach of first appearance is pointed to forever
Place.
It is exemplified below in the case where data order receives, how the two variables are updated:
The initial value of Next_receive_SN and Con_receive_SN variables is 0.When receiving first packet
When, the packet is a complete S DU, its SN=0 carried, illustrates that first data is properly received, then Next_receive_
SN updates SN=0 next, i.e. Next_receive_SN=1, and Con_receive_SN be updated to first it is to be received
The SN of packet, Con_receive_SN=1.Assuming that subsequently continuously it is properly received, then Next_receive_SN=7, and Con_
Receive_SN=7 (when occurring without reception breach, the two variables are equal), has subsequently received a SDU segmentation, should
SDU SN=7, and FI indicates that this is first segmentation, and now Next_receive_SN and Con_receive_SN variables are equal
Remain on as 7, rather than increase to 8, it is meant that next packet for wishing to receive is still other points of packet 7
Section.When receiving the second segmentation for the second time, two variables remain on, until when receiving last segmentation, by being segmented
Instruction FI represents that this is last segmentation, and now two variables of Next_receive_SN and Con_receive_SN are changed into
8, it is meant that next packet for it is expected to receive is 8.
Embodiment 2:
In this example, no packet drop is illustrated, variable records the implementation of segment information.
For receiving terminal variable, if except comprising SN in NR, while also comprising segmentation SO information, then consecutive order connects
Time receiving variable is safeguarded and update mechanism is as follows:
For Next_receive_SN variables, if it is either newest to receive a newest complete PDU
PDU last fragmented packets, then Next_receive_SN be updated to SN values+1 corresponding to the newest complete PDU, and SO=
0;If it is not last segmentation to receive a newest PDU fragmented packets and the segmentation, Next_receive_SN updates
For SN values corresponding to the complete PDU, and SO is recorded as next SO values for it is expected to receive segmentation, such as proper reception of
200 bytes, then the SO=200 bytes that next expectation receives.
Lower boundary Con_receive_SN variables for receiving window, the reception breach of first appearance is pointed to forever
Place, if necessary to record the segmentation position of breach, then record the SO values of breach.
It is exemplified below in the case where data order receives, how the two variables are updated:
The initial value of Next_receive_SN and Con_receive_SN variables is 0.When receiving first packet
When, the packet is a complete S DU, its SN=0 carried, illustrates that first data is properly received, then Next_receive_
SN updates SN=0 next, i.e. Next_receive_SN=1 and SO=0, and Con_receive_SN is updated to first
SN, Con_receive_SN=1 and the SO=0 of packet to be received.Assuming that be subsequently continuously properly received, then Next_
Receive_SN=7 and SO=0, and Con_receive_SN=7 and SO=0 (when occur without receive breach when, the two variables
It is equal), subsequently receive a SDU segmentation, the SN=7 of the SDU, and FI and indicated that this is first and is segmented, LI=200 words
Save, now Next_receive_SN and Con_receive_SN variables are remained on as 7, SO=200 bytes, rather than increasing
It is added to 8, it is meant that next packet for wishing to receive is still other segmentations of packet 7 from 200 bytes backward.When second
Secondary the SN of two variables is remained on, and SO is incremented by with the byte number of reception when receiving the second segmentation, until receiving to the end
During one segmentation, represent that this is last segmentation by segmentation instruction FI, now Next_receive_SN and Con_receive_
Two variable SN of SN are changed into 8 and SO=0, it is meant that next packet for it is expected to receive is 8.
Embodiment 3:
In this example, illustrate that startup is reordered timer, variable does not show the implementation of record segment information.
Embodiment 1,2 gives the example of simplest received in-order, but in actual reception, often due to link circuit condition is not
Good, out of order reception is unavoidable situation, when out of order reception is provided when receiving terminal variable does not record segment information, in this example
Processing mode.
In the case where generation is out of order, the renewal of window lower edge is unaffected, i.e., Con_receive_SN is equal to forever
The SN of an oldest data to be received, and Next_receive_SN renewal principles are with consistent in upper example, it is newest when receiving
Complete PDU or newest last segmentation PDU, then Next_receive_SN is updated to newest SN+1, and works as what is received
When latest segmentation is not last segmentation, now Next_receive_SN is updated to newest SN, if it find that Con_
Distance between receive_SN and Next_receive_SN be present, then it is assumed that centre occurs out of order.Such as Con_receive_
SN=0, Next_receive_SN=2, then it is middle to have reception breach, according to the packet and segmentation stored in order caching
Situation, it can know that those PDU or segmentation are out of order, start the timer that reorders.In addition, a kind of special mode, works as Con_
During receive_SN and Next_receive_SN equal, it is also possible to have and receive breach, such as the two is equal to 6, but it is slow
Only have the medial section of SN=6 this packet in depositing, SO=200, LI=300, then now [0-200] word before SN=6
Section and reception breach are, it is necessary to start the timer that reorders.
, it is necessary to record the section corresponding to timer of reordering, the section lower boundary and window when the timer that reorders starts
Mouthful lower boundary overlaps, that is, is Con_receive_SN values, and section coboundary is variable T_reorder_SN records, T_
The Next_receive_SN values of reorder_SN records when a timer fires, but subsequently when continuing to there is new bag to receive,
Next_receive_SN is constantly updated, but T_reorder_SN will not update, and record section coboundary is during timer is run
It is constant.And the lower boundary for recording section can constantly be updated as gap data is constantly filled, when SN positions
During more than timer coboundary SN positions, it was demonstrated that without breach is received, timer stops in section corresponding to timer;Work as SN
When position is equal to timer coboundary SN positions, it is necessary to judge segmentation particular location, such as caching in segmentation be sequentially,
Such as 0-500 bytes have received, then now can stop timer, if the segmentation 200-500 bytes of caching, still
Old breach, timer continue.When the segmentation of lower boundary is still below coboundary segmentation position, timer remains valid.
When the timer times out or after being stopped, T_reorder_max, which is updated to have already passed through, reorders detection most
High data message, generally more than first indentation, there after current T_reorder_SN.
When the timer times out or after being stopped, judge that other whether are also there are in receiving sequence receives breach, such as
Fruit has, then continues startup and reorder timer, and record T_reorder_SN is Next_receive_SN when a timer fires
Value.
For example, received before in order, such as two changes of Next_receive_SN and Con_receive_SN
Amount is 8, it is meant that next PDU for it is expected to receive SN=8, then, when receiving a PDU segmentation, shows SN=9, FI
For medial section, SO=200 bytes, LI=300 bytes, then now mean SN=8 PDU and SN=9, [0,200] word
The segmentation of section, generate and receive gap, think that its HARQ is retransmitted for the time being, now Con_receive_SN does not update, Next_
Receive_SN is updated to 9.Start the timer that reorders, record T_reorder_SN=9.
During timer is run, if SN=8 PDU is constantly have received, and point of SN=9 [0,200] byte
Section, then it is assumed that reset the breach corresponding to continuous timer and filled up, can stop resetting continuous timer.Con_receive_SN
Next indentation, there is updated to, Next_receive_SN is next expected data information of the maximum data received, when the two
Between still old gap, then restart the continuous timer of rearrangement and continue to wait receiving breach.
Embodiment 4:
In this example, illustrate that startup is reordered timer, variable records the implementation of segment information.
When receiving terminal variable records segment information, handling process during out of order reception is provided in this example.
In the case where generation is out of order, the renewal of window lower edge is unaffected, i.e., Con_receive_SN is equal to forever
The SN of an oldest data to be received, it is optional to record segmentation SO information if being related to segmentation.And Next_receive_SN
Update it is consistent in principle and upper example 2, when receiving newest complete PDU or newest last segmentation PDU, then Next_
Receive_SN is updated to newest SN+1, and when the latest segmentation received is not last segmentation, now Next_
Receive_SN is updated to newest SN, and records segment information, and it is expected to receive is probably partial data for next, SO=
0, if segment information, then SO is equal to the maximum byte location currently having been received by.If it find that Con_receive_
Distance between SN and Next_receive_SN be present, then it is assumed that centre occurs out of order.Such as Con_receive_SN=0,
Next_receive_SN=2, then it is middle to have reception breach, can according to the packet and segmentation situation stored in order caching
To know which PDU or segmentation are out of order, start the timer that reorders.In addition, a kind of special mode, works as Con_receive_
During SN and Next_receive_SN equal, it is also possible to have and receive breach, such as the two is equal to 6, but have one in caching
Individual segmentation SO=200, SO=0 corresponding to LI=300, Con_receive_SN, and SO=500, i.e., then now before SN=6
[0-200] byte is also to receive breach, it is necessary to start the timer that reorders.
, it is necessary to record the section corresponding to timer of reordering, the section lower boundary and window when the timer that reorders starts
Mouthful lower boundary overlaps, that is, is Con_receive_SN values and corresponding SO, and section coboundary for variable T_reorder_SN and
Corresponding SO records, T_reorder_SN and corresponding SO record Next_receive_SN and corresponding SO values when a timer fires,
But subsequently when continuing to have new bag to receive, Next_receive_SN and corresponding SO are constantly updated, but T_reorder_SN and right
SO is answered not update, record section coboundary is constant during timer is run.And the lower boundary for recording section can be with
Gap data to be constantly filled, constantly updated, when SN positions are more than timer coboundary SN positions, it was demonstrated that timing
Without breach is received, timer stops in section corresponding to device;When SN positions are equal to timer coboundary SN positions, it is necessary to
Judge the particular location of segmentation, such as the segmentation that the indicated segmentation of lower boundary is signified not less than coboundary, can be with equal, this
When can stop timer.And when the segmentation of lower boundary is still below coboundary segmentation position, timer remains valid.
When the timer times out or after being stopped, T_reorder_max, which is updated to have already passed through, reorders detection most
High data message, SO is carried, generally more than first indentation, there after current T_reorder_SN.
When the timer times out or after being stopped, judge that other whether are also there are in receiving sequence receives breach, such as
Fruit has, then continues startup and reorder timer, and record T_reorder_SN is Next_receive_SN when a timer fires
Value.
For example, received before in order, such as two changes of Next_receive_SN and Con_receive_SN
Amount is that 8, SO is 0, it is meant that next PDU for it is expected to receive SN=8, then, when receiving a PDU segmentation, is shown
SN=9, FI are medial section, SO=200 bytes, LI=300 bytes, then now mean SN=8 PDU and SN=9,
The segmentation of [0,200] byte, generate and receive gap, think that its HARQ is retransmitted for the time being, now Con_receive_SN does not update,
Next_receive_SN is updated to 9, SO=500.Start the timer that reorders, record T_reorder_SN=9, and SO=
500。
During timer is run, if SN=8 PDU is constantly have received, and point of SN=9 [0.200] byte
Section, then it is assumed that reset the breach corresponding to continuous timer and filled up, can stop resetting continuous timer.Con_receive_SN
Next indentation, there is updated to, Next_receive_SN is next expected data information of the maximum data received, when the two
Between still old gap, then restart the continuous timer of rearrangement and continue to wait receiving breach.
Embodiment 5:
In this example, the implementation of state report feedback is illustrated.
State report feedback mainly has two kinds, and a kind of is pure ACK_SN feedback, such as is triggered by Polling (poll)
, it is necessary to which feedback reception state, another kind are to detect packet loss, it is necessary to feed back NACK_SN list.
In state report, NACK_SN List are clear and definite, data in current cache and segmentation situation, can be clear and definite
Know which PDU or segmentation are still confiscated after timer detection of reordering, that is, be determined as packet loss, be included in
In NACK_list.
Be easier to cause ambiguity is ACK_SN carrying.There are two kinds of solutions:
One kind is when safeguarding that variable all carries SO information, can also now carry SO simultaneously in state report ACK_SN
Information, clearly to know the segmentation details having been received by;
Another kind is that SN information is only carried in state report ACK_SN, and unknown state is also at equivalent to the packet.
For example, ought the maximum data that now receiving terminal receives be SN=8 numbers, first segmentation [0-
200] byte.Now in feedback of status, it is impossible to ACK_SN is recorded as into 9 (existing protocol can be recorded as 9), because being recorded as 9
The received success of 8 numbers can be takeed for by transmitting terminal, other points of 8 numbers can not be carried in NACK_SN list
Section part [200, tail] byte, because this partial segments is not because packet loss, and is probably that transmitting terminal waits first
Secondary transmission, unnecessary re-transmission can be caused by being placed on rashly in NACK.Two kinds as mentioned above of more feasible mode, Yi Zhongshi
ACK_SN=8, and SO=200 is carried, indicate that first 200 byte is properly received, but other segmentations do not receive.Another kind is
Direct ACK_SN=8, indicate that the data do not receive completely, do not receive complete or do not receive entirely to then part, can be with
It is not required to distinguish.
In specific implementation, equal default size relation is wrap around (circular) situation for needing to consider SN in embodiment,
I.e. when across SN maximums, although because SN upsets become small value, in fact still greater than non-flip portion.For example, instantly
When border is 4000, its coboundary is (4000+2048) mould 4096=1952, and its window spans 4096 this SN maximum,
Although but it is very big positioned at 4000-4095 part definitely SN, they are still less than this section of 0-1952,0-1952 section
4096-6048 sections can be regarded as.
Based on same inventive concept, a kind of data sink is additionally provided in the embodiment of the present invention, due to the equipment solution
Certainly the principle of problem is similar to a kind of data receiver method, therefore the implementation of the equipment may refer to the implementation of method, repetition
Place repeats no more.
Fig. 5 is data sink structural representation, as illustrated, can include:
Receiving module 501, for receiving PDU data in rlc layer;
Processing module 502, for when rlc layer receives PDU data:
The SN of the PDU data is n, is received if n is located within window, and SN variable is received higher than current highest, then:
If the PDU data received is first fragmented packets or medial section bag, the recorded highest of renewal receives SN
Variable be n;
If the PDU data received is complete, or when the PDU data received is last fragmented packets, renewal
The variable that highest receives SN is n+1.
In implementation, processing module is further used for when rlc layer receives PDU data, including:
When receiving the either newest PDU of a newest complete PDU last fragmented packets, highest is received
SN variable update is n+1, and the SN continuously received peak remains m;
When receiving a newest PDU fragmented packets and the segmentation is not last fragmented packets, then highest is received
SN variable update is n, and the SN continuously received peak remains m;
Wherein, SN corresponding to the complete PDU or one newest newest PDU fragmented packets is n, first number to be received
It is m according to SN corresponding to bag.
In implementation, segment information is included in the variable that highest receives SN;
Processing module is further used for when rlc layer receives PDU data, when receiving PDU data, described point of renewal
Segment information.
In implementation, processing module is further used for when highest receives SN peak of the variable not equal to the SN continuously received
When, start the timer that reorders, or, determine to exist according to the packet and segmentation situation stored in order caching and receive breach
When, start the timer that reorders;
Wherein, when timer is reordered in startup, record the section corresponding to timer of reordering, the section lower boundary with
Window lower edge is the SN continuously received peak, and section coboundary is on the section corresponding to the resequencing timer of record
Border, the section coboundary record highest when a timer fires corresponding to resequencing timer receive SN variable, and, when after
Continuous when continuing to have the new bag receive, highest receives SN variable update, but the section coboundary corresponding to resequencing timer does not update.
In implementation, segment information is included in the variable that highest receives SN;
Processing module is further used for when timer is reordered in startup, is recording the section corresponding to timer of reordering
During value, the segment information is recorded.
In implementation, when processing module is further used for segmentation when lower boundary less than coboundary segmentation position, timer after
It is continuous effective;When SN positions are equal to timer coboundary SN positions, determine whether to stop resetting to determine according to the particular location of segmentation
When device;When SN positions are more than timer coboundary SN positions, stop resequencing timer.
In implementation, processing module is further used for that when the timer times out or after being stopped, it is fixed rearrangement will be had already passed through
When the SN of device detection or the scope of fragmented packets be updated to have already passed through the maximum data information of detection of reordering.
In implementation, processing module is further used for when the timer times out or after being stopped, determine be in receiving sequence
It is no also to there are other and receive breach, reorder timer, recorded corresponding to resequencing timer if it is present continuing startup
Section coboundary receives SN variable for highest when a timer fires, and, when subsequently continuing to have new bag to receive, highest connects
SN variable update is received, but the section coboundary corresponding to resequencing timer does not update.
In implementation, segment information is included in the variable that highest receives SN;
Processing module is further used in timer expiry or when being stopped, and will have already passed through resequencing timer detection
SN or the scope of fragmented packets when being updated to have already passed through the maximum data information for detection of reordering, carry the segmentation letter
Breath.
In implementation, processing module is further used for corresponding to the fragmented packets that feedback receives to inform transmitting terminal highest to confirm
SN state report.
In implementation, segment information is included in the variable that highest receives SN;
Processing module is further used for, in condition report feedback, the segment information being carried in state report.
In implementation, the segment information is can offset information of the fragmented packets that have received of identity validation in original SDU.
In specific implementation, if the PDU data received is first fragmented packets or medial section bag, the segment information
Equal to next fragment offset value for it is expected to receive segmentation;If the PDU data received is complete, or the PDU received
When data are last fragmented packets, the segment information is equal to 0.
For convenience of description, each several part of apparatus described above is divided into various modules with function or unit describes respectively.
Certainly, each module or the function of unit can be realized in same or multiple softwares or hardware when implementing of the invention.
When implementing technical scheme provided in an embodiment of the present invention, can implement as follows.
Fig. 6 is receiving device structural representation, as illustrated, equipment includes:
Processor 600, for reading the program in memory 620, perform following process:
When rlc layer receives PDU data:
The SN of the PDU data is n, is received if n is located within window, and SN variable is received higher than current highest, then:
If the PDU data received is first fragmented packets or medial section bag, the recorded highest of renewal receives SN
Variable be n;
If the PDU data received is complete, or when the PDU data received is last fragmented packets, renewal
The variable that highest receives SN is n+1;
Transceiver 610, for data to be received and sent under the control of processor 600, perform following process:
Needed to carry out data transmit-receive according to processor.
In implementation, when rlc layer receives PDU data, including:
When receiving the either newest PDU of a newest complete PDU last fragmented packets, highest is received
SN variable update is n+1, and the SN continuously received peak remains m;
When receiving a newest PDU fragmented packets and the segmentation is not last fragmented packets, then highest is received
SN variable update is n, and the SN continuously received peak remains m;
Wherein, SN corresponding to the complete PDU or one newest newest PDU fragmented packets is n, first number to be received
It is m according to SN corresponding to bag.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
When rlc layer receives PDU data, further comprise:
When receiving PDU data, the segment information is updated.
In implementation, further comprise:
When the variable that highest receives SN is not equal to the SN continuously received peak, start the timer that reorders, Huo,Gen
When determining to exist reception breach according to the packet and segmentation situation stored in order caching, start the timer that reorders;
Wherein, when timer is reordered in startup, record the section corresponding to timer of reordering, the section lower boundary with
Window lower edge is the SN continuously received peak, and section coboundary is on the section corresponding to the resequencing timer of record
Border, the section coboundary record highest when a timer fires corresponding to resequencing timer receive SN variable, and, when after
Continuous when continuing to have the new bag receive, highest receives SN variable update, but the section coboundary corresponding to resequencing timer does not update.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
When timer is reordered in startup, further comprise:
Record this reorder interval value corresponding to timer when, record the segment information.
In implementation, further comprise:
When the segmentation of lower boundary is less than coboundary segmentation position, timer remains valid;
When SN positions are equal to timer coboundary SN positions, determine whether to stop resetting to determine according to the particular location of segmentation
When device;
When SN positions are more than timer coboundary SN positions, stop resequencing timer.
In implementation, further comprise:
When the timer times out or after being stopped, the SN of resequencing timer detection or the model of fragmented packets will be had already passed through
Enclose and be updated to the maximum data information for having already passed through detection of reordering.
In implementation, when the timer times out or after being stopped, further comprise:
Determine that other whether are also there are in receiving sequence receives breach, reorders regularly if it is present continuing startup
Device, record resequencing timer corresponding to section coboundary for when a timer fires highest receive SN variable, and, when after
Continuous when continuing to have the new bag receive, highest receives SN variable update, but the section coboundary corresponding to resequencing timer does not update.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
In timer expiry or when being stopped, further comprise:
It is updated to have already passed through inspection of reordering in the SN or the scopes of fragmented packets that will have already passed through resequencing timer detection
During the maximum data information of survey, the segment information is carried.
In implementation, further comprise:
The state report for the SN corresponding to fragmented packets that receiving terminal feedback receives to inform transmitting terminal highest to confirm.
In implementation, further comprise:
Segment information is included in the variable that highest receives SN;
In receiving terminal condition report feedback, further comprise:
The segment information is carried in state report.
In implementation, the segment information is can offset information of the fragmented packets that have received of identity validation in original SDU.
In implementation, if the PDU data received is first fragmented packets or medial section bag, the segment information is equal to
Next fragment offset value for it is expected to receive segmentation;If the PDU data received is complete, or the PDU data received
When being last fragmented packets, the segment information is equal to 0.
Wherein, in figure 6, bus architecture can include the bus and bridge of any number of interconnection, specifically by processor 600
The various circuits for the memory that the one or more processors and memory 620 of representative represent link together.Bus architecture is also
Various other circuits of such as ancillary equipment, voltage-stablizer and management circuit or the like can be linked together, these are all
It is it is known in the art, therefore, no longer it is described further herein.EBI provides interface.Transceiver 610 can
To be multiple element, i.e., including transmitter and transceiver, there is provided for the list to be communicated over a transmission medium with various other devices
Member.Processor 600 is responsible for bus architecture and common processing, and memory 620 can store processor 600 and perform operation
When used data.
In summary, in technical scheme provided in an embodiment of the present invention, in RLC AM receiving terminals, connect in record and feedback
During the maximum data information of receipts, consider that highest SN is possible to transmit situation about being segmented for the first time, to avoid recording and feed back
It is not accurate enough, cause unnecessary re-transmission, major way is a kind of be the latest data that only receives for partial data either last
Can be next, other situations by next SN information updatings for it is expected to receive during individual segmentation, i.e., first be segmented or in
Between when being segmented, it is the next SN information for it is expected to receive to retain the SN received.Or received in the best expectation of record
While SN information, also record corresponding to segment information.So that the maximum data to being properly received and it is expected receive it is next
Individual data, have and more accurately record, and to guarantee correctly feedback reception state, transmitting terminal is understood correct reception
State, the meaningless re-transmission of transmitting terminal is avoided, ensure that the continuity and efficiency of data transfer.
The embodiment for being related to segment information specifically is additionally provided, such as:
If the variable that record highest receives SN includes segment information, the associated area corresponding to timer that reorders
Between the upper bound, it is also desirable to include segment information.
In state report, ACK_SN can also include segment information, be to inform the confirmation reception of transmitting terminal highest
Which segmentation.
In order to keep the uniformity that receiving terminal operates, record receives the variable of window lower edge, can also include segmentation letter
Breath, clearly to indicate which lower boundary be segmented specific to.
After receiving terminal variable includes segment information, the calculating for receiving window is had no effect on, window is received and is still come with SN
Calculate.
And additionally provide following example:
1) when continuously receiving, the processing scheme of segment information is not recorded;
2) when continuously receiving, the processing scheme of segment information is recorded;
3) when there is receiving breach, the processing scheme of segment information is not recorded;
4) when there is receiving breach, the processing scheme of segment information is recorded;
5) scheme of feedback of status.
It should be understood by those skilled in the art that, embodiments of the invention can be provided as method, system or computer program
Product.Therefore, the present invention can use the reality in terms of complete hardware embodiment, complete software embodiment or combination software and hardware
Apply the form of example.Moreover, the present invention can use the computer for wherein including computer usable program code in one or more
The shape for the computer program product that usable storage medium is implemented on (including but is not limited to magnetic disk storage and optical memory etc.)
Formula.
The present invention is the flow with reference to method according to embodiments of the present invention, equipment (system) and computer program product
Figure and/or block diagram describe.It should be understood that can be by every first-class in computer program instructions implementation process figure and/or block diagram
Journey and/or the flow in square frame and flow chart and/or block diagram and/or the combination of square frame.These computer programs can be provided
The processors of all-purpose computer, special-purpose computer, Embedded Processor or other programmable data processing devices is instructed to produce
A raw machine so that produced by the instruction of computer or the computing device of other programmable data processing devices for real
The device for the function of being specified in present one flow of flow chart or one square frame of multiple flows and/or block diagram or multiple square frames.
These computer program instructions, which may be alternatively stored in, can guide computer or other programmable data processing devices with spy
Determine in the computer-readable memory that mode works so that the instruction being stored in the computer-readable memory, which produces, to be included referring to
Make the manufacture of device, the command device realize in one flow of flow chart or multiple flows and/or one square frame of block diagram or
The function of being specified in multiple square frames.
These computer program instructions can be also loaded into computer or other programmable data processing devices so that counted
Series of operation steps is performed on calculation machine or other programmable devices to produce computer implemented processing, so as in computer or
The instruction performed on other programmable devices is provided for realizing in one flow of flow chart or multiple flows and/or block diagram one
The step of function of being specified in individual square frame or multiple square frames.
Obviously, those skilled in the art can carry out the essence of various changes and modification without departing from the present invention to the present invention
God and scope.So, if these modifications and variations of the present invention belong to the scope of the claims in the present invention and its equivalent technologies
Within, then the present invention is also intended to comprising including these changes and modification.