CN109803277A - 数据包处理的方法和设备 - Google Patents
数据包处理的方法和设备 Download PDFInfo
- Publication number
- CN109803277A CN109803277A CN201711136518.8A CN201711136518A CN109803277A CN 109803277 A CN109803277 A CN 109803277A CN 201711136518 A CN201711136518 A CN 201711136518A CN 109803277 A CN109803277 A CN 109803277A
- Authority
- CN
- China
- Prior art keywords
- variable
- value
- timer
- packet
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 243
- 238000012545 processing Methods 0.000 title claims abstract description 94
- 238000011084 recovery Methods 0.000 claims description 87
- 238000004891 communication Methods 0.000 claims description 41
- 230000001960 triggered effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 46
- 238000010586 diagram Methods 0.000 description 34
- 230000006870 function Effects 0.000 description 34
- 230000003111 delayed effect Effects 0.000 description 12
- 230000002441 reversible effect Effects 0.000 description 6
- 238000003672 processing method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种数据包处理的方法和设备,该方法包括:接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,如果第一定时器在运行,停止并重置第一定时器,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;该接收设备将第一变量的值设置为第二变量的值,该第一变量指示该接收设备期望的下一个接收到的数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。本申请提供的数据包处理的方法,可以解决在PDCP重建或者数据恢复后,由于重排序定时器开启的太早而可能导致的产生丢包的问题,提高了数据传输的准确性和数据传输的效率,提高用户体验。
Description
技术领域
本申请涉及通信领域,更为具体的,涉及一种数据包处理的方法和设备。
背景技术
在空口传输中,虽然数据包在发射端空口是按序发出,但由于多个混合自动重传请求(Hybrid Automatic Repeat request,HARQ)进程的并行运行,在接收端接收的顺序很有可能是乱序的。在长期演进系统(Long Term Evolution,LTE)中层2协议栈中的无线链路控制(Radio Link Control,RLC)负责进行将接收到的乱序的数据包进行重排序,递交给其上层的分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)层。在第5代移动通信(the 5th Generation,5G)新空口(New Radio,NR)中,层2协议栈中的RLC层不再具有重排序功能,而由层2协议栈中的PDCP层负责对接收到的乱序的数据包进行重排序。
在确认模式(Acknowledge Mode,AM)下的数据无线承载(Data Radio Bearer,DRB)需要保证在PDCP重建时或者数据恢复时不丢包,由于需要保证按序递交,在重建时将保留当前已经收到的乱序的数据包以及数据包的编号。在NR PDCP发生重建时,可能会产生丢包的问题,严重影响了数据传输的准确性,降低了数据传输的效率,用户体验差。
发明内容
本申请提供一种数据包处理的方法和设备,可以解决在PDCP重建或者数据恢复后,由于重排序定时器开启的太早而可能导致的产生丢包的问题,提高了数据传输的准确性和数据传输的效率,提高用户体验。
第一方面,提供了一种数据包处理的方法,包括:接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置第一定时器,或者只停止第一定时器,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;该接收设备将第一变量的值设置为第二变量的值,该第一变量指示该接收设备期望的下一个接收到的数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
第一方面提供的数据包处理的方法,在PDCP实体重建时或数据恢复时,如果第一定时在在运行时,将第一定时器停止并重置(或归零),或者只将第一定时器停止,并将第一变量的值设置为第二变量的值。或者,在PDCP实体重建时或数据恢复时,如果第一定时器正在运行,将第一定时器停止并重置,或者只第一定时器停止,并在PDCP实体重建时或数据恢复时,将第一变量的值设置为第二变量的值。这样,在重建或者数据恢复后,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,避免了PDCP实体重建时或数据恢复时的丢包,即可以避免重建后未发出的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
在第一方面的一种可能的实现方式中,该方法还包括:该接收设备接收数据包;在第三变量的值大于或者等于该第一变量的值的情况下,该接收设备将该第一变量的值更新为第四变量的值,其中,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。在该实现方式中,可以根据接收设备实际接收到的数据包的情况,来更新第一变量的值,可以使得第一变量更符合其物理定义,即接收设备期待接收到的下一个数据包。同时,提高了数据包传输和递交的准确性和效率,提高用户体验。
在第一方面的一种可能的实现方式中,该方法还包括:在该PDCP实体重建时或数据恢复时,该接收设备将第五变量的值设置为该停止并重置第一定时器时该第二变量的值,或者将第五变量的值设置为停止第一定时器时该第二变量的值,或者设置为该停止并重置第一定时器时该第一变量的值,或者设置为停止第一定时器时该第一变量的值,或者设置为该第五变量的初始值,或者保持不变,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
在第一方面的一种可能的实现方式中,该方法还包括:如果该接收设备被上层配置发送PDCP状态报告,在该接收设备将该第一变量的值设置为该第二变量的值之前,生成该PDCP状态报告;或者,如果该接收设备被上层配置发送PDCP状态报告,根据该PDCP实体重建前或数据恢复前的该第一变量的值及该第二变量的值,生成该PDCP状态报告。
在第一方面的一种可能的实现方式中,该方法还包括:如果该接收设备被上层配置发送PDCP状态报告,在该接收设备将该第一变量的值设置为该第二变量的值之前,生成该PDCP状态报告中的比特地图;或者,如果该接收设备被上层配置发送PDCP状态报告,根据该PDCP实体重建前或数据恢复前的该第一变量的值及该第二变量的值,生成该PDCP状态报告中的比特地图。
在第一方面的一种可能的实现方式中,该方法还包括:在该第一定时器不在运行、并且该第二变量的值小于该第一变量的值的情况下,该接收设备开启该第一定时器。
在第一方面的一种可能的实现方式中,该方法还包括:在该第一定时器不在运行、并且该第二变量的值小于该第一变量的值的情况下,该接收设备将第五变量的值更新为该第一变量的值,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
在第一方面的一种可能的实现方式中,该第一定时器为重排序定时器。
在第一方面的一种可能的实现方式中,该方法还包括:在该第一定时器超时的情况下,该接收设备对数据包进行递交。
在第一方面的一种可能的实现方式中,该方法还包括:在该第三变量的值等于该第二变量的值的情况下,该接收设备对数据包进行递交。
在第一方面的一种可能的实现方式中,该接收设备接收数据包,包括:该接收设备的分组数据汇聚协议PDCP实体接收数据包。
在第一方面的一种可能实现的方式中,该第一变量为RX_NEXT,该第二变量为RX_DELIV,该第三变量为RCVD_COUNT,该第五变量为RX_REORD,该第一定时器为t-Reordering。
第二方面,提供了一种数据包处理的方法,包括:接收设备接收数据包;在第三变量的值大于或者等于第一变量的值的情况下,该接收设备将该第一变量的值更新为第四变量的值,其中,该第一变量指示该接收设备期望的下一个接收到的数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该接收设备接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
第二方面提供的数据包处理的方法,可以根据接收设备实际接收到的数据包的情况,来更新第一变量的值,可以使得第一变量更符合其物理定义,即将第一变量更新为接收设备期待接收到的下一个数据包的计数值。同时,提高了数据包传输和递交的准确性和效率,提高用户体验。
在第二方面的一种可能的实现方式中,该方法还包括:该接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,如果第一定时器正在运行,停止并重置该第一定时器,或者只停止该第一定时器,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
在第二方面的一种可能的实现方式中,该方法还包括:该接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,该接收设备将第一变量的值设置为第二变量的值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
在第二方面的一种可能的实现方式中,该方法还包括:如果该接收设备被上层配置发送PDCP状态报告,在该接收设备将该第一变量的值设置为该第二变量的值之前,生成该PDCP状态报告;或者,如果该接收设备被上层配置发送PDCP状态报告,根据该PDCP实体重建前或数据恢复前的该第一变量的值及该第二变量的值,生成该PDCP状态报告。
在第二方面的一种可能的实现方式中,该方法还包括:如果该接收设备被上层配置发送PDCP状态报告,在该接收设备将该第一变量的值设置为该第二变量的值之前,生成该PDCP状态报告中的比特地图;或者,如果该接收设备被上层配置发送PDCP状态报告,根据该PDCP实体重建前或数据恢复前的该第一变量的值及该第二变量的值,生成该PDCP状态报告中的比特地图。
在第二方面的一种可能的实现方式中,该方法还包括:在第一定时器不在运行、并且第二变量的值小于该第一变量的值的情况下,该接收设备将第五变量的值更新为该第一变量的值,其中,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值,该第五变量指示触发启动该第一定时器时的数据包的计数值。
在第二方面的一种可能的实现方式中,该方法还包括:该方法还包括:在该第一定时器不在运行、并且该第二变量的值小于该第一变量的值的情况下,该接收设备开启该第一定时器,其中,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
在第二方面的一种可能的实现方式中,该接收设备接收数据包,包括:该接收设备的分组数据汇聚协议PDCP实体接收数据包。
在第二方面的一种可能的实现方式中,该第一定时器为重排序定时器。
在第二方面的一种可能的实现方式中,该方法还包括:在该第一定时器超时的情况下,该接收设备对数据包进行递交。
在第二方面的一种可能的实现方式中,该方法还包括:在该第三变量的值等于该第二变量的值情况下,该接收设备对数据包进行递交。
在第二方面的一种可能实现的方式中,第一变量为RX_NEXT,第二变量为RX_DELIV,第三变量为RCVD_COUNT,第五变量为RX_REORD表示,该第一定时器为t-Reordering。
第三方面,提供了一种数据包处理的方法,包括:接收设备接收数据包;在由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行,并且第二变量的值小于第一变量的值的情况下,该接收设备开启第一定时器;或者,在不是由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行,并且第二变量的值小于第一变量的值的情况下,该接收设备开启第一定时器;其中,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
第三方面提供的数据包处理的方法,通过改变第一定时器的开启条件,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,可以避免因为重建PDCP实体重建或数据恢复导致的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
在第三方面的一种可能的实现方式中,该方法还包括:在PDCP实体重建时或数据恢复时,如果第一定时器正在运行,将第一定时器停止并重置,或者只将第一定时器停止。
在第三方面的一种可能的实现方式中,该方法还包括:该接收设备将第五变量的值更新为该第一变量的值,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
在第三方面的一种可能的实现方式中,该方法还包括:在第三变量的值大于或者等于第一变量的值的情况下,该接收设备将该第一变量的值更新为第四变量的值,其中,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
在第三方面的一种可能的实现方式中,该方法还包括:在该PDCP实体重建时或数据恢复时,该接收设备将第五变量的值更新为该停止并重置第一定时器时该第二变量的值,或者将第五变量的值更新为停止第一定时器时该第二变量的值,或者更新为该停止并重置第一定时器时该第一变量的值,或者更新为停止第一定时器时该第一变量的值,或者更新为该第五变量的初始值,或者保持不变,该第五变量指示触发启动该第一定时器时的数据包的计数值。
在第三方面的一种可能的实现方式中,该第一定时器为重排序定时器。
在第三方面的一种可能的实现方式中,该方法还包括:在该第一定时器超时的情况下,该接收设备对数据包进行递交。
在第三方面的一种可能的实现方式中,该方法还包括:在该第三变量的值等于该第二变量的值的情况下,该接收设备对数据包进行递交。
在第三方面的一种可能的实现方式中,该接收设备接收数据包,包括:该接收设备的分组数据汇聚协议PDCP实体接收数据包。
在第三方面的一种可能实现的方式中,第一变量为RX_NEXT,第二变量为RX_DELIV,第三变量为RCVD_COUNT,第五变量为RX_REORD,该第一定时器为t-Reordering。
第四方面,提供了一种数据包处理的方法,包括:接收设备接收数据包;在第一定时器不在运行、第二变量的值小于第一变量的值、并且该第一变量的值等于第三变量的值加一的情况下,该接收设备开启该第一定时器,其中,该第一变量指示该接收设备期望的下一个接收到的数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
第四方面提供的数据包处理的方法,在接收设备接收到数据包后,通过改变第一定时器的开启条件,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,可以避免因为重建PDCP实体重建或数据恢复导致的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
在第四面的一种可能的实现方式中,该方法还包括:在PDCP实体重建时或数据恢复时,如果第一定时器正在运行,将第一定时器停止并重置,或者只将第一定时器停止。
在第四面的一种可能的实现方式中,在该第一定时器不在运行、第二变量的值小于第一变量的值、并且该第一变量的值等于第三变量的值加一的情况下,该接收设备将第五变量的值更新为第一变量的值,该第五变量指示触发启动该第一定时器时的数据包的计数值。
在第四面的一种可能的实现方式中,该方法还包括:在该第一定时器超时的情况下,该接收设备对数据包进行递交。
在第四面的一种可能的实现方式中,该方法还包括:在该第三变量的值等于该第二变量的值情况下,该接收设备对数据包进行递交。
在第四面的一种可能的实现方式中,该第一定时器为重排序定时器。
在第四面的一种可能的实现方式中,该接收设备接收数据包,包括:该接收设备的分组数据汇聚协议PDCP实体接收数据包。
在第四方面的一种可能实现的方式中,第一变量为RX_NEXT,第二变量为RX_DELIV,第三变量为RCVD_COUNT,第五变量为RX_REORD,该第一定时器为t-Reordering。
第五方面,提供一种数据包处理的方法,包括:接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置第一定时器,或者只将第一定时器停止,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;所述接收设备将第六变量的值设置为第二变量的值,所述第六变量用于指示所述接收设备在所述PDCP实体重建后或数据恢复后接收到的数据包中最大的计数值加一,或者所述第六变量用于指示大于所述接收设备在所述PDCP实体重建后或数据恢复后接收到的数据包中的最大的计数值、并且为第一个未递交给上层的数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
第五方面提供的数据包处理的方法,在PDCP实体重建时或数据恢复时,将第一定时器停止并重置(归零),或者只将第一定时器停止,并引入了新的变量(第六变量),将该第六变量的值设置为第二变量的值。在PDCP实体重建后或数据恢复后,利用该第六变量代替第一变量的作用,即根据第六变量、第二变量和第一定时器对数据包进行递交。在重建或者数据恢复后,避免了第一定时器在未出现收到乱序包造成的开启,避免了因为第一定时器开启的过早造成的丢包问题。同时,避免了PDCP实体重建时或数据恢复时的丢包,即可以避免重建后未发出的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
在第五方面的一种可能的实现方式中,该方法还包括:在该PDCP实体重建或数据恢复时,如果第一定时器正在运行,将第一定时器停止并重置,或者只将第一定时器停止。
在第五方面的一种可能的实现方式中,该方法还包括:在该PDCP实体重建或数据恢复时,将该第六变量的值设置为该第二变量的值。
在第五方面的一种可能的实现方式中,该方法还包括:该接收设备接收数据包;在该第六变量的值小于或者等于第一变量的值,或者该第六变量的值小于或者等于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于该第六变量的值的情况下,该接收设备将该第六变量的值更新为第四变量的值,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示该第三变量的值加一,或者该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。在该实现方式中,在PDCP实体重建后或数据恢复后,在该第六变量的值小于或者等于第一变量的值,或者该第六变量的值小于或者等于第一变量的值加偏置值的情况下,利用该第六变量代替第一变量的作用,即根据第六变量、第二变量和第一定时器对数据包进行递交。在该第六变量的值大于第一变量的值,或者该第六变量的大于第一变量的值加偏置值的情况下,继续利用第一变量、第二变量和第一定时器对数据包进行递交。在重建或者数据恢复后,保证了第一定时器不在未接到乱序包的情况下开启,避免了PDCP实体重建或数据恢复后由于该第一定时器超时造成的丢包,提高用户体验。
在第五方面的一种可能的实现方式中,该方法还包括:该接收设备接收数据包;在该第六变量的值大于第一变量的值,或者该第六变量的值大于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于该第一变量的值的情况下,该接收设备将该第一变量的值更新为第四变量的值,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示该第三变量的值加一,或者该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
在第五方面的一种可能的实现方式中,该方法还包括:在该PDCP实体重建时或数据恢复时,该接收设备将第五变量的值设置为该停止并重置第一定时器时该第二变量的值,或者将第五变量的值设置为停止第一定时器时该第二变量的值,或者设置为该停止并重置第一定时器时该第一变量的值,或者设置为停止第一定时器时该第一变量的值,或者设置为该停止并重置第一定时器时该第六变量的值,或者设置为停止并重第一定时器时该第六变量的值,或者设置为该第五变量的初始值,或者保持不变,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
在第五方面的一种可能的实现方式中,该方法还包括:在该第六变量的值小于或者等于该第一变量的值,或者该第六变量的值小于或者等于该第一变量的值加该偏置值的情况下,并且,在该第一定时器不在运行、该第二变量的值小于该第六变量的值的情况下,该接收设备开启该第一定时器。
在第五方面的一种可能的实现方式中,该方法还包括:在该第六变量的值小于或者等于该第一变量的值,或者该第六变量的值小于或者等于该第一变量的值加偏置值的情况下,并且,在该第一定时器不在运行、该第二变量的值小于该第六变量的值的情况下,该接收设备将第五变量的值更新为该第六变量的值,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
在第五方面的一种可能的实现方式中,该方法还包括:在该第一定时器超时的情况下,该接收设备对数据包进行递交。
在第五方面的一种可能的实现方式中,该方法还包括:在该第三变量的值等于该第二变量的值的情况下,该接收设备对数据包进行递交。
在第五方面的一种可能的实现方式中,该第一定时器为重排序定时器。
在第五方面的一种可能的实现方式中,该接收设备接收数据包,包括:该接收设备的分组数据汇聚协议PDCP实体接收数据包。
在第五方面的一种可能实现的方式中,第一变量为RX_NEXT,第二变量为RX_DELIV,第三变量为RCVD_COUNT,第五变量为RX_REORD,该第一定时器为t-Reordering。
在第五方面的一种可能的实现方式中,该偏置值为零或正值。
第六方面,提供了一种数据包处理的方法,包括:接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,如果第一定时器在在运行时,停止并重置第一定时器或只停止第一定时器,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
第六方面提供的数据包处理的方法,在PDCP实体重建时或数据恢复时,如果第一定时器在运行时,将第一定时器停止并重置(或归零),或者只将第一定时器停止,避免由于PDCP重建期间定时器超时,造成丢包。提高了数据传输的准确性和数据传输的效率,提高用户体验。
在第六方面的一种可能的实现方式中,该方法还包括:该接收设备将第一变量的值设置为第二变量的值,该第一变量指示该接收设备期望接收到的下一个数据包的计数值或序列号,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值或者序列号,或该第二变量指示最近一个递交给上层的数据包的计数值或者序列号加一。
在第六方面的一种可能的实现方式中,在PDCP实体重建前或数据恢复前,该PDCP实体使用重排序功能,并且在PDCP实体重建后或数据恢复后,该PDCP连接两个确认模式AM的无线链路控制RLC实体的情况下,该终端设备停止并重置第一定时器或只停止第一定时器。
在第六方面的一种可能的实现方式中,该第一定时器为重排序定时器。
第七方面,提供了一种接收设备,包括处理器、存储器和收发器,用于支持该接收设备执行上述方法中相应的功能。处理器、存储器和收发器通过通信连接,存储器存储指令,收发器用于在处理器的驱动下执行具体的信号收发,该处理器用于调用该指令实现上述第一方面及其各种实现方式中的数据包处理的方法。
第八方面,提供了一种接收设备,包括处理模块、存储模块和收发模块,用于支持接收设备执行上述第一方面或第一方面的任意可能的实现方式中的接收设备的功能,功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或者多个与上述功能相对应的模块。
第九方面,提供了一种接收设备,包括处理器、存储器和收发器,用于支持该接收设备执行上述方法中相应的功能。处理器、存储器和收发器通过通信连接,存储器存储指令,收发器用于在处理器的驱动下执行具体的信号收发,该处理器用于调用该指令实现上述第二方面及其各种实现方式中的数据包处理的方法。
第十方面,提供了一种接收设备,包括处理模块、存储模块和收发模块,用于支持接收设备执行上述第二方面或第二方面的任意可能的实现方式中的接收设备的功能,功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或者多个与上述功能相对应的模块。
第十一方面,提供了一种接收设备,包括处理器、存储器和收发器,用于支持该接收设备执行上述方法中相应的功能。处理器、存储器和收发器通过通信连接,存储器存储指令,收发器用于在处理器的驱动下执行具体的信号收发,该处理器用于调用该指令实现上述第三方面及其各种实现方式中的数据包处理的方法。
第十二方面,提供了一种接收设备,包括处理模块、存储模块和收发模块,用于支持接收设备执行上述第三方面或第三方面的任意可能的实现方式中的接收设备的功能,功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或者多个与上述功能相对应的模块。
第十三方面,提供了一种接收设备,包括处理器、存储器和收发器,用于支持该接收设备执行上述方法中相应的功能。处理器、存储器和收发器通过通信连接,存储器存储指令,收发器用于在处理器的驱动下执行具体的信号收发,该处理器用于调用该指令实现上述第四方面及其各种实现方式中的数据包处理的方法。
第十四方面,提供了一种接收设备,包括处理模块、存储模块和收发模块,用于支持接收设备执行上述第四方面或第四方面的任意可能的实现方式中的接收设备的功能,功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或者多个与上述功能相对应的模块。
第十五方面,提供了一种接收设备,包括处理器、存储器和收发器,用于支持该接收设备执行上述方法中相应的功能。处理器、存储器和收发器通过通信连接,存储器存储指令,收发器用于在处理器的驱动下执行具体的信号收发,该处理器用于调用该指令实现上述第五方面及其各种实现方式中的数据包处理的方法。
第十六方面,提供了一种接收设备,包括处理模块、存储模块和收发模块,用于支持接收设备执行上述第五方面或第五方面的任意可能的实现方式中的接收设备的功能,功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或者多个与上述功能相对应的模块。
第十七方面,提供了一种接收设备,包括处理器、存储器和收发器,用于支持该接收设备执行上述方法中相应的功能。处理器、存储器和收发器通过通信连接,存储器存储指令,收发器用于在处理器的驱动下执行具体的信号收发,该处理器用于调用该指令实现上述第六方面及其各种实现方式中的数据包处理的方法。
第十八方面,提供了一种接收设备,包括处理模块、存储模块和收发模块,用于支持接收设备执行上述第六方面或第六方面的任意可能的实现方式中的接收设备的功能,功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或者多个与上述功能相对应的模块。
第十九方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行上述第一方面至第六方面,或第一方面至第六方面中的任一种可能的实现方式的方法的指令。
第二十方面,提供了一种系统芯片,包括:处理单元和通信单元,该处理单元,该处理单元可执行计算机指令,以使该终端内的芯片执行上述第一方面至第六方面,或第一方面至第六方面中的任一种可能的实现方式的方法。
附图说明
图1是适用于本申请的数据包处理的方法的通信系统的示意图。
图2是图2是数据包的计数值(COUNT)结构的示意性结构图。
图3是图3是数据包的递交以及各个变量更新过程的示意图。
图4是本申请一个实施例PDCP重建前接收到的数据包的示意图。
图5是本申请一个实施例的数据包处理的方法的示意性流程图。
图6是本申请另一个实施例的数据包处理的方法的示意性流程图。
图7是本申请一个实施例的数据包处理的方法的示意性流程图。
图8是本申请另一个实施例的数据包处理的方法的示意性流程图。
图9是本申请一个实施例的数据包处理的方法的示意性流程图。
图10是本申请另一个实施例的数据包处理的方法的示意性流程图。
图11是本申请一个实施例的数据包处理的方法的示意性流程图。
图12是本申请另一个实施例的数据包处理的方法的示意性流程图。
图13是本申请又一个实施例的数据包处理的方法的示意性流程图。
图14是本申请又一个实施例的数据包处理的方法的示意性流程图。
图15是本申请另一个实施例的接收设备的示意性框图。
图16是本申请一个实施例的接收设备的示意性框图。
图17是本申请另一个实施例的接收设备的示意性框图。
图18是本申请一个实施例的接收设备的示意性框图。
图19是本申请另一个实施例的接收设备的示意性框图。
图20是本申请一个实施例的接收设备的示意性框图。
图21是本申请另一个实施例的接收设备的示意性框图。
图22是本申请一个实施例的接收设备的示意性框图。
图23是本申请另一个实施例的接收设备的示意性框图。
图24是本申请一个实施例的接收设备的示意性框图。
图25是本申请另一个实施例的接收设备的示意性框图。
图26是本申请另一个实施例的接收设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(GlobalSystem of Mobile communication,GSM)系统、码分多址(Code Division MultipleAccess,CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long TermEvolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal MobileTelecommunication System,UMTS)、全球互联微波接入(Worldwide Interoperabilityfor Microwave Access,WiMAX)通信系统、未来的第五代(5th Generation,5G)系统或新无线(New Radio,NR)等。
本申请实施例中的接收设备可以是终端设备,该终端设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(Public Land Mobile Network,PLMN)中的终端设备等,本申请实施例对此并不限定。
本申请实施例中的接收设备还可以是网络设备,网络设备可以是用于与终端设备通信的设备,该网络设备可以是全球移动通讯(Global System of Mobilecommunication,GSM)系统或码分多址(Code Division Multiple Access,CDMA)中的基站(Base Transceiver Station,BTS),也可以是宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)系统中的基站(NodeB,NB),还可以是LTE系统中的演进型基站(Evolutional NodeB,eNB或eNodeB),还可以是云无线接入网络(Cloud Radio AccessNetwork,CRAN)场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来5G网络中的网络设备或者未来演进的PLMN网络中的网络设备等,本申请实施例并不限定。
图1是适用于本申请的数据包递交的方法的通信系统的示意图。如图1所示,该通信系统100包括网络设备102,网络设备102可包括多个天线例如,天线104、106、108、110、112和114。另外,网络设备102可附加地包括发射机链和接收机链,本领域普通技术人员可以理解,它们均可包括与信号发送和接收相关的多个部件(例如处理器、调制器、复用器、编码器、解复用器或天线等)。
网络设备102可以与多个终端设备(例如终端设备116和终端设备122)通信。然而,可以理解,网络设备102可以与类似于终端设备116或122的任意数目的终端设备通信。终端设备116和122可以是,例如蜂窝电话、智能电话、便携式电脑、手持通信设备、手持计算设备、卫星无线电装置、全球定位系统、PDA和/或用于在无线通信系统100上通信的任意其它适合设备。
如图1所示,终端设备116与天线112和114通信,其中天线112和114通过前向链路118向终端设备116发送信息,并通过反向链路120从终端设备116接收信息。此外,终端设备122与天线104和106通信,其中天线104和106通过前向链路124向终端设备122发送信息,并通过反向链路126从终端设备122接收信息。
例如,在FDD系统中,例如,前向链路118可利用与反向链路120所使用的不同频带,前向链路124可利用与反向链路126所使用的不同频带。
再例如,在TDD系统和全双工(full duplex)系统中,前向链路118和反向链路120可使用共同频带,前向链路124和反向链路126可使用共同频带。
被设计用于通信的每个天线(或者由多个天线组成的天线组)和/或区域称为网络设备102的扇区。例如,可将天线组设计为与网络设备102覆盖区域的扇区中的终端设备通信。在网络设备102通过前向链路118和124分别与终端设备116和122进行通信的过程中,网络设备102的发射天线可利用波束成形来改善前向链路118和124的信噪比。此外,与网络设备通过单个天线向它所有的终端设备发送信号的方式相比,在网络设备102利用波束成形向相关覆盖区域中随机分散的终端设备116和122发送信号时,相邻小区中的移动设备会受到较少的干扰。
在给定时间,网络设备102、终端设备116或终端设备122可以是无线通信发送装置和/或无线通信接收装置。当发送数据时,无线通信发送装置可对数据进行编码以用于传输。具体地,无线通信发送装置可获取(例如生成、从其它通信装置接收、或在存储器中保存等)要通过信道发送至无线通信接收装置的一定数目的数据比特。这种数据比特可包含在数据的传输块(或多个传输块)中,传输块可被分段以产生多个码块。
此外,该通信系统100可以是PLMN网络或者设备与设备(device-to-device,D2D)网络或者机器与机器(machine to machine,M2M)网络或者其他网络,图1只是举例的简化示意图,网络中还可以包括其他网络设备,图1中未予以画出。
在空口传输中,虽然数据包(服务数据单元)在发射端(发送设备)空口是按序发出,但由于多个HARQ进程的并行运行,在接收端(接收设备)接收的顺序很有可能是乱序的。数据包在发射端的PDCP层加上序列号(Sequence Number,SN),PDCP的接收实体会利用SN进行重排序和重复检测,保证顺序提交以及检测重复的包。发射端与接收端同时还需要维护着相同的超帧号(Hyper Frame Number,HFN),使用HFN目的是为了限制空口上传输序列号的比特数。SN和HFN和起来组成了数据包的计数(COUNT)值。每一个数据包都有一个COUNT值,发射端(发送设备)空口就是按照数据包的COUNT值从小到大的顺序进行发送的。发出发射端需要维护发送的SN不超过总SN数的一半,以免造成帧号混乱。同样的,接收端也将以SN数一半的长度为接收窗。在接收端,收到的数据包也可能是乱序的,但是,将接收到的数据包向上层递交时,是按照COUNT值的顺序按序递交的。
图2是数据包的计数值(COUNT)结构的示意性结构图。从图2中可以看出,数据包的COUNT值由SN字段和HFN字段组成,其中,HFN字段部分的比特数(bit)和SN字段部分的比特数(bit)之和为32比特,即数据包中COUNT字段为32比特。
在5G NR中,接收设备的PDCP实体依据数据包(服务数据单元)的COUNT值对接收到的数据包进行重排序。其排序及递交过程如下:
接收到一个数据包后,首先根据其SN号及当前的HFN,推断出当前接收到的COUNT值(received count,RCVD_COUNT)。
判断接收到的数据包的COUNT值是否在有效的接收窗内:即是否大于等于下一个将要递交的COUNT值(received deliver,RX_DELIV),并且小于RX_DELIV+SN总数/2。若不在有效的接收窗内,就会丢掉接收到的数据包。若在有效的接收窗内,会将将有效的数据包存在PDCP层,然后按序递交。
其中,涉及排序的变量有四个:
RCVD_COUNT:当前接收到的服务数据单元(Service Data Unit,SDU)或协议数据单元(Protocol Data Unit,PDU)的COUNT值。
RX_DELIV:仍在等待的、第一个未递交给上层的SDU或PDU的COUNT值。
RX_NEXT(receive next,RX_NEXT):当前期待的下一个接收到的PDCP SDU或PDU的COUNT值(当前接收到的最大的COUNT值加一)。
RX_REORD(receive reorder,RX_REORD):开启重排序定时器(t-reordering)时的RX_NEXT值。重排序定时器在接收侧的AM下、RLC实体检查下层传送的RLC协议数据单元(Protocol Data Unit,PDU)或者数据包是否丢失时使用。
具体的递交过程以及变量的更新过程如下:
如果当前接收的SDU的RCVD_COUNT≥RX_NEXT,则更新RX_NEXT的取值到RCVD_COUNT+1。
如果配置为乱序递交(out of order delivery),则递交该PDCP层已经存储的SDU给上层。
如果当前接收的SDU的RCVD_COUNT=RX_DELIV,则将相关数据包按升序向上递交。即将所有存储的SDU的COUNT值从该RX_DELIV开始、并且连续的SDU都递交给上层。并更新RX_DELIV到第一个未递交的SDU的COUNT,且该COUNT≥RX_DELIV。
如果t-Reordering正在运行,并且RX_DELIV≥RX_REORD,则停止并重置t-Reordering。
如果t-Reordering不在运行(包括由于以上情况导致的停止),并且RX_DELIV<RX_NEXT,则更新RX_REORD到RX_NEXT,并开启t-Reordering。
下面将以图3为例进行说明。图3是数据包(例如,PDU或者SDU)接收过程中,数据包的递交以及各个变量更新过程的示意图。图中3每个小长方形代表一个数据包,上面的数据代表数据包的计数值,从第一行至第八行为按照时间的顺序(接收到数据包的先后顺序),图3所示的接收到的数据包的顺序为:0,3,5,6,1,2。
在图3中,数据包(服务数据单元)的COUNT值为0至7,假设COUNT值从0至7为一个有效的接收窗口。首先,第一行中,接收设备还没有接收到数据包,因此,RCVD_COUNT为0,RX_DELIV为0,RX_REORD为0,RX_NEXT也为0。由于没有乱序,重排序定时器处于停止状态。
在第二行中,接收设备接收到0号数据包,即RCVD_COUNT为0,RX_REORD为0,由于需要保证按序递交,而0号包刚好是第一个数据包,因此,将0号包递交给上层,此时,RX_DELIV更新为1,RX_NEXT也更新1。
在第三行中,当接收设备接收到3号数据包时,RCVD_COUNT更新为3,由于数据包发送时是按照数据包计数值从小到大的顺序发送的,因此,证明1号数据包和2号数据包已经发送出去了,只是目前接收设备还没有接收到。此时,由于3号数据包之前的1号数据包和2号数据包还没有收到,证明出现了乱序,此时,RX_DELIV还为1,而RX_NEXT也更新为4,符合重排序定时器开启的条件(RX_DELIV<RX_NEXT),因此,重排序定时器启动。RX_REORD的值为4。
在第四行中,当接收设备接收到5号数据包时,RX_DELIV还为1,RX_REORD的值还为4,RCVD_COUNT更新为5,而RX_NEXT也更新为6。不满足RX_DELIV≥RX_REORD,因此,重排序定时器继续处于运行状态(假设重排序定时器没有超时)。
在第五行中,当接收设备接收到6号数据包时,RX_DELIV还为1,RX_REORD的值还为4,RCVD_COUNT更新为6,而RX_NEXT也更新为7。也不满足RX_DELIV≥RX_REORD,因此,重排序定时器继续处于运行状态(假设重排序定时器没有超时)。
在第六行中,当接收设备接收到1号数据包时,即RCVD_COUNT更新为1,由于0号数据包已经递交,而1号数据包正是按序递交的第二个,因此,会将1号数据包递交。此时,RX_DELIV更新为2,RX_REORD的值还为4,而RX_NEXT还为7。也不满足RX_DELIV≥RX_REORD,因此,重排序定时器继续处于运行状态(假设重排序定时器没有超时)。
在第七行中,当接收设备接收到2号数据包时,即RCVD_COUNT更新为2,由于0和1号数据包已经递交,而2号数据包和3号数据包正是按序递交的第三个和第四个,因此,会将2号数据包和3号数据包递交。由于重排序定时器是在接收到第一个乱序的数据包(3号数据包)时开启的,当第一个乱序的数据包之前的数据包都接收到后,证明可以将第一个乱序的数据包之前的所有数据包按序递交。因此,重排序定时器将关闭。之后,RX_DELIV更新为4。
此时,如第八行中所示,RX_DELIV更新为4,而RX_NEXT还为7。满足RX_DELIV<RX_NEXT,因此,将重排序定时器开启。RX_REORD的值为7。实质为目前4至6号数据包没有递交,但是6和5号数据包早于4号数据包先收到了,相当于又收到了乱序的数据包,因此,重排序定时器又会启动。
针对重排序定时器的开启,其将会在第一个乱序到达的数据包到达时开启,并且在开启时乱序数据包前面的数据包全部接收到(递交给上层时)时关闭(假设这个时间段内重排序定时器没有超时)。例如,如图3所示的流程中,如0号数据包后,3号数据包到达时开启,当1和2号数据包到达后重排序定时器会停止。该重排序定时器是用于等待那些已经发出的包而设置的。在数据包已经发出一段时间后,接收设备仍没收到(即重排序定时器超时),接收数据包的PDCP实体将把重排序定时器开启时接收的数据包及之前的所有数据包均上交,即使之前仍有数据包未接收到。例如,如图3所示,第五行中,当接收设备接收到6号数据包时,重排序定时器超时,那么接收设备会将3号数据包之前的数据包(包括3号数据包)都递交给上层,即使此时1和2号数据包还没有收到。意味着1和2号数据包将会丢包。
在AM模式下的DRB需要保证在PDCP在重建时不丢包,由于需要保证按序递交,在重建时将保留当前已经收到的乱序数据包以及其编号(计数值)。在NR PDCP发生重建过程中,例如,对于一个终端设备而言,从源基站切换到目标基站,重排序定时器若不停止,将可能在PDCP重建结束前发生超时,重建结束后直接导致丢包。即使PDCP重建时,重排序定时器停止并且重置,如果PDCP重建前该重排序定时器处于运行状态,在PDCP重建后,根据重排序定时器的开启方式,可能会在接收到第一个数据包时开启。数据恢复过主要是发送端的PDCP对已经发出但未收到的数据包进行的重传的过程。针对接收端PDCP来说,当发送端发生数据恢复时,接收端会再次收到之前没收到的数据包,如果重排序定时器开启并超时,将导致丢包将会产生以下问题:
如果接收到的数据包不是乱序,则重排序定时器的开启将导致后续未传输(发送)的数据包必须在定时器超时前传输完成,否则造成丢包。
如果接收到的数据包是乱序,但到达数据包不在停止重排序定时器时RX_NEXT之后,则重排序定时器的开启将导致乱序的数据包之后未传输(发送)的数据包必须在定时器超时前传输完成,否则造成丢包。
以图4为例进行说明。图4是本申请一个实施例PDCP重建前接收到的数据包的示意图。如图4所示,在PDCP重建前,如果接收设备已经接收到的数据包为0,6,4。RX_DELIV为1,RX_NEXT为7,RX_REORD为7,PDCP重建时,停止并重置重排序定时器。在PDCP重建后,如果收到的第一个数据包为1号数据包(不乱序),RX_DELIV更新为2,由于当前RX_DELIV=2<RX_NEXT=7,重排序定时器将开启,由于目标基站还未将2、3、5号数据包发出,但却要求在重排序定时器超时前传输完成(接收到2、3、5号数据包),因此,将造成2、3、5号数据包丢包。
在PDCP重建或者数据恢复后,如果收到的第一个包为3号数据包(乱序),RX_DELIV的值还为1,RX_NEXT的值还为7。由于RX_DELIV=1<RX_NEXT=7,重排序定时器将开启,并且5号数据包虽然还未发出,但却要求在定时器超时前传输完成,因此,如果不能在定时器超时前传输完成,将造成5号数据包丢包。
基于上述问题,本申请提供了一种数据包处理的方法,可以解决在PDCP重建或者数据恢复后,由于重排序定时器开启的太早而可能导致的产生丢包的问题,提高了数据传输的准确性和数据传输的效率,提高用户体验。
下面结合图5详细说明本申请提供的数据包处理的方法,图5是本申请一个实施例的数据包处理的方法200的示意性流程图,该方法200可以应用在图1所示的场景中,当然也可以应用在其他通信场景中,本申请实施例在此不作限制。
如图5所示,该方法200包括:
S210,接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,如果第一定时器在运行,停止并重置第一定时器,或者只将第一定时器停止。该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
S220,该接收设备将第一变量的值设置为第二变量的值,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
本申请实施例提供的数据包处理的方法,由于在AM模式下的DRB需要保证在PDCP在重建时不丢包,因此,在PDCP实体重建时或数据恢复时,如果第一定时器在运行,将第一定时器停止并重置,或者只第一定时器停止,并将第一变量的值设置为第二变量的值。或者,在PDCP实体重建时或数据恢复时,如果第一定时器正在运行,将第一定时器停止并重置,或者只将第一定时器停止,并在PDCP实体重建时或数据恢复时,将第一变量的值设置为第二变量的值。该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。这样,在重建或者数据恢复后,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,避免了PDCP实体重建时或数据恢复时的丢包,即可以避免重建后未发出的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
下面将结合图4所示的例子来说明本申请实施例的方法200。
在S210中,假设在分组数据汇聚协议PDCP实体重建前或数据恢复前,接收设备已经接收到的数据包为0、6、4号数据包,此时,第一定时器处于运行状态。该第一定时器(以重排序定时器为例进行说明)用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。此时,分组数据汇聚协议PDCP实体发生重建时或数据恢复,因此,停止并重置第一定时器,即将该第一定时器停止,并将定时器的数值归零。或者只将第一定时器停止。此时,第一变量(下文以RX_NEXT为例进行说明)为7,第二变量(下文以RX_DELIV为例进行说明)为1。
应理解,在分组数据汇聚协议PDCP实体发生重建时或数据恢复时,即使第一定时器不在运行,也会将第一变量的值设置为第二变量的值。
在S220中,接收设备将第一变量的值设置为第二变量的值,即将RX_NEXT的值设置为1。即经过变量值的设置后,第一变量和第二变量都为1,即RX_NEXT=1,RX_DELIV=1。
在PDCP实体重建后或数据恢复后,如果收到的第一个数据包为1号数据包(不乱序),此时,将RX_NEXT更新为2,将RX_DELIV更新为2。第一定时器开启的条件为:RX_DELIV<RX_NEXT,因此,第一定时器不会开启。即接收设备会继续接收2、3和5号数据包。2、3和5号数据包不用和1和2号数据包一起递交,即不用和现有技术一样(现有技术会导致第一定时器的开启),等到第一定时器超时前传输完成(第一定时器未开启)。明显的降低了2、3和5号数据包丢包的可能性。
在PDCP重建或者数据恢复后,如果收到的第一个包为3号数据包(乱序),第二变量(RX_DELIV)还为1,此时,RX_NEXT将更新为5,符合第一定时器开启的条件,因此,第一定时器将开启。由于接收到的是3号数据包,证明1和2号数据包已经发出了(按序发送),只是接收设备没有接收到。因此,在第一定时器超时前,如果收到了1和2号数据包,会将1至3号数据包递交,那么就不会产生丢包。而不用和现有技术一样,5号数据包虽然还未发出,但却要求在第一定时器超时前传输完成。不用等还没有发出的5号数据包的到来。即第一定时器超时前只需要递交已经发送出的数据包,不用递交还没有发送出的数据包。避免了还没有发送出的数据包产生的丢包问题。
可选的,作为一个实施例,如图6所示,该方法200还包括:
S230,该接收设备接收数据包。
S240,在第三变量的值大于或者等于该第一变量的值的情况下,该接收设备将该第一变量的值更新为第四变量的值,其中,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
具体而言,接收设备接收数据包可以在分组数据汇聚协议PDCP实体重建前或数据恢复前,也可以在分组数据汇聚协议PDCP实体重建后或数据恢复后。
假如在该PDCP实体重建后或数据恢复后,该接收设备接收数据包,结合图4所示的例子,假设接收到的第一个数据包的计数值(COUNT)为2,即第三变量(下文以RCVD_COUNT为例进行说明)的值为2。此时,第一变量(RX_NEXT)的值为1,因此,第三变量的值大于该第一变量的值,此时,会将第一变量的值更新为3,即将第三变量的值更新为第四变量的值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。例如,当接收到2号数据包后,已经接收到的数据包为0、2、4和6号数据包,第三变量的值为2,那么,大于该第三变量的值并且为第一个未接收到的数据包的计数值就为3,即第四变量的值为3,因此,会将该第一变量的值由1更新为第四变量的值3。
又例如,结合图4所示的例子。假如在该PDCP实体重建前或数据恢复前,假设接收到的第一个数据包的计数值(COUNT)为3,即第三变量(相当于RCVD_COUNT)的值为3。此时,第一变量(RX_NEXT)的值为1,因此,第三变量的值大于该第一变量的值,此时,会将第一变量的值更新为5。当接收到3号数据包后,已经接收到的数据包为0、3、4和6号数据包,即大于该第三变量的值并且为第一个未接收到的数据包的计数值就为5,即第四变量的值为5,因此,会将将该第一变量的值由1更新为第四变量的值5。
或者,该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。具体的,结合图4所示的例子。例如,在该PDCP实体重建后或数据恢复后,假设接收到的第一个数据包的计数值(COUNT)为2,即第三变量(相当于RCVD_COUNT)的值为2。此时,第一变量(RX_NEXT)的值为1。因此,第三变量的值大于该第一变量的值。该PDCP实体已接收到的数据包的计数值为0、2、4和6,在已经收到的数据包的计数值中,从2开始,与2连续的没有,那么2就是那个最大的,在2的基础上加一,便得到3,即该第一变量的值由1更新为第四变量的值3。
又例如,结合图4所示的例子。在该PDCP实体重建后或数据恢复后,假设接收到第一个的数据包的计数值(COUNT)为3,即第三变量(相当于RCVD_COUNT)的值为3。此时,第一变量(RX_NEXT)的值为1。因此,第三变量的值大于该第一变量的值。该PDCP实体已接收到的数据包的计数值为0、3、4和6,在已经收到的数据包的计数值中,从3开始,与3连续为4,并且4是与3连续并且最大的那个计数值,因此,在4的基础上加一,便得到5,即该第一变量的值由1更新为第四变量的值5。
本申请实施例提供的数据包处理的方法,可以根据接收设备实际接收到的数据包的情况,来更新第一变量(RX_NEXT)的值,可以使得第一变量更符合其物理定义,即接收设备期待接收到的下一个数据包。同时,提高了数据包传输和递交的准确性和效率,提高用户体验。
可选的,作为一个实施例,该方法200还包括:
S250,如果该接收设备被上层配置发送PDCP状态报告,在该接收设备将该第一变量的值设置为该第二变量的值之前,生成PDCP状态报告中的比特地图;或者,
如果该接收设备被上层配置发送PDCP状态报告,根据该PDCP实体重建前或数据恢复前的该第一变量的值及该第二变量的值,生成PDCP状态报告中的比特地图。
具体而言,对于在AM模式下的DRB,在PDCP实体重建或数据恢复时可能需要发送PDCP状态报告。PDCP状态报告包括两部分内容,第一部分为第一个丢失的数据包的计数值(first missed count),如果该接收设备被上层配置发送PDCP状态报告,那么该PDCP状态报告始终包括该第一部分的内容。第二部分为比特地图(bit map),bit map中每一比特代表一个数据包的状态,例如,0代表没有收到,1代表收到。该PDCP状态报告是否包括该第二部分的判断条件为:第一变量(RX_NEXT)的值>第二变量(RX_DELIV)的值的情况下,该PDCP状态报告包括该第二部分。如果满足这个条件,生成PDCP状态报告(包括第一部分和第二部分)并向上层发送该PDCP状态报告。由于PDCP重建时或数据恢复时改变了RX_NEXT的值,因此,需要利用PDCP实体重建前或数据恢复前RX_NEXT和RX_DELIV值进行比较,或者在将该第一变量的值设置为该第二变量的值之前。利用设置之前的第一变量的值和该第二变量的值进行判断,确定生成的PDCP状态报告是否包括该第二部分的内容。
以图4所示的例子说明。在PDCP实体重建前或者数据恢复前,接收设备已经接收到的数据包为0,6,4。此时,RX_DELIV为1,RX_NEXT为7。该接收设备被上层配置发送PDCP状态报告。接收设备停止并重置第一定时器,或者只将第一定时器停止。并将第一变量的值设置为第二变量的值,即将RX_NEXT的值设置为1。经过变量值的设置后,第一变量和第二变量都为1,即RX_NEXT=1,RX_DELIV=1。在这种情况下,需要利用该接收设备将该第一变量的值设置为该第二变量的值之前,或者该PDCP实体重建前或数据恢复前,第一变量和第二变量的值,确定是否该PDCP状态报告是否包括该第二部分的内容(bit map)。该接收设备将该第一变量的值设置为该第二变量的值之前,或者该PDCP实体重建前或数据恢复前,第一变量(RX_DELIV)的值为1,第二变量(RX_NEXT)的值为7。RX_NEXT>RX_DELIV,满足条件,即生成的PDCP状态报告包括该第二部分的内容(bit map),该bit map可以为:10001010,1代表接收到,0代表没有接收到。也包括该第一部分的内容,即第一个丢失的数据包的计数值为1。
可选的,作为一个实施例,该方法200还包括:
S260,在该PDCP实体重建时或数据恢复时,该接收设备将第五变量的值设置为该停止并重置第一定时器时该第二变量的值,或者设置为停止第一定时器时该第二变量的值,或者设置为该停止并重置第一定时器时该第一变量的值,或者设置为停止第一定时器时该第一变量的值,或者设置为该第五变量的初始值,或者保持不变,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
具体而言,在该PDCP实体重建时或数据恢复时,由于要停止并重置第一定时器,或者只停止第一定时器,因此,在停止并重置第一定时器后,或者在停止第一定时器后,会将第五变量(下文以RX_REORD为例进行说明)的值设置为该停止并重置第一定时器时该第二变量(RX_DELIV)的值,或者设置为停止第一定时器时该第二变量的值,或者设置为该停止并重置第一定时器时该第一变量(RX_NEXT)的值,或者设置为停止第一定时器时该第一变量的值,或者设置为该第五变量的初始值0,或者保持不变。
下面将以图4所示为例进行说明。
假设在分组数据汇聚协议PDCP实体重建前或数据恢复前,接收设备已经接收到的数据包为0、6、4号数据包,第一定时器处于运行状态。此时,RX_REORD=RX_NEXT=7,RX_DELIV=1。将第一定时器停止并重置,或者只将第一定时器停止,并将第一变量的值设置为第二变量的值后,该第一变量RX_NEXT的值为1,因此,会将第五变量RX_REORD的值设置为该停止并重置第一定时器时(或者只停止该第一定时器时)该第二变量RX_DELIV的值,即为1,或者,将第五变量RX_REORD的值设置为该停止并重置第一定时器时(或者只停止该第一定时器时)该第一变量RX_NEXT的值,即为7,或者,设置为该第五变量的初始值0,或者保持不变,即保持原来的7。通过在PDCP实体重建时或数据恢复时,该接收设备设置第五变量RX_REORD的值,相当于在下一次定时器再开启时将定时器开启前第五变量RX_REORD的值归零,即相当于没有乱序的数据包接收到。可以灵活的设置RX_REORD的值。
应理解,在本申请实施例中,在该PDCP实体重建时或数据恢复时,该接收设备还可以将第五变量的值设置为其他值,本申请实施例在此不作限制。
可选的,作为一个实施例,该方法200还包括:
S270,在该第一定时器不在运行、并且该第二变量的值小于该第一变量的值的情况下,该接收设备开启该第一定时器。
具体而言,在第一定时器不在运行,并且第二变量(RX_DELIV)的值小于第一变量(RX_NEXT)的值,证明有乱序的包接收到,例如,以图4所示的为例进行说明,即重建前或者数据恢复前已经接收到的数据包为0、6、4号数据包,假设该第一定时器是由于在PDCP重建或者数据恢复停止的,即RX_NEXT=1,RX_DELIV=1,假设重建后接收到3号数据包,此时,第一变量更新为5,第二变量还为1,满足第二变量的值小于该第一变量的值,即本应该先收到的为1号数据包和2号数据包,但是现在3号数据包先收到了,因此存在乱序,此时,第一定时器将开启,第一定时器的开启是为了等待1和2号数据包接收到。并会将RX_REORD的值更新为RX_NEXT的值,即将RX_REORD的值更新为5。假设在第一定时器超时前,1和2号数据包已经接收到了,那么,将5号数据包之前的数据包(1至4号数据包)递交给上层。假设在第一定时器超时前,1和/或2号数据包还没有接收到,那么,在第一定时器超时情况下,会将5号数据包之前的数据包(3号数据包)递交,此时,意味着1和/或2号数据包丢包。
可选的,作为一个实施例,该方法200还包括:
S280,在该第一定时器不在运行、并且该第二变量的值小于该第一变量的值的情况下,该接收设备将第五变量的值更新为该第一变量的值,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
具体而言,在第一定时器不在运行,并且第二变量(RX_DELIV)的值小于第一变量(RX_NEXT)的值,证明有乱序的数据包接收到,此时,会开启第一定时器,并且,会将第五变量(相当于RX_REORD)的值更新为该第一变量的值,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
例如,假设已经接收到的数据包为0号数据包,即RX_NEXT=1,RX_DELIV=1,RX_REORD为0,假设之后第一个接收到3号数据包,此时,第一变量RX_NEXT更新为4,第二变量RX_DELIV还为1,满足第二变量的值小于该第一变量的值,即本应该先收到的为1号数据包和2号数据包,但是现在3号数据包先收到了,因此存在乱序,此时,第一定时器将开启,第一定时器的开启是为了等待1和2号数据包接收到。此时将RX_REORD的值更新为RX_NEXT的值,即将RX_REORD的值更新为4。假设在第一定时器超时前,1和2号数据包已经接收到了,那么,接收设备将4号数据包之前的数据包(1至3号数据包)递交给上层。假设在第一定时器超时前,1和/或2号数据包还没有接收到,那么,在第一定时器超时,接收设备将4号数据包之前的数据包(3号数据包)递交,此时,意味着1和2号数据包丢包。
可选的,该第一定时器为重排序定时器,或者该第一定时器可以是实现用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序的其他定时器,本申请实施例在此不作限制。
可选的,作为一个实施例,该方法200还包括:
S290,在该第一定时器超时的情况下,该接收设备对数据包进行递交。
具体而言,由于第一定时器是用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。第一定时器会在第一个乱序到达的数据包到达时开启,并且在开启时乱序数据包前面的数据包全部接收到(递交给上层时)时关闭(假设这个时间段内重排序定时器没有超时)。在该第一定时器超时的情况下,接收数据包的PDCP实体将把重排序定时器开启时接收的数据包及之前的所有数据包均上交,即使之前仍有数据包未接收到。例如,如图3所示,第五行中,当接收设备接收到6号数据包时,第一定时器超时,那么接收设备会将3号数据包之前的数据包(包括3号数据包)都递交给上层,即使此时1和2号数据包还没有收到。意味着1和2号数据包将会丢包。
又例如,假设已经接收到的数据包为0号数据包,假设之后第一个接收到3号数据包,此时,第一定时器将开启,第一定时器的开启是为了等待1和2号数据包接收到。假设在第一定时器超时前,1和2号数据包已经接收到了,那么,接收设备将3号数据包之前的数据包(1至3号数据包)递交给上层。假设在第一定时器超时前,1和/或2号数据包还没有接收到,那么,在第一定时器超时的情况下,接收设备将3号数据包之前的数据包(3号数据包)递交,此时,意味着1和2号数据包丢包。可选的,作为一个实施例,该方法200还包括:
可选的,作为一个实施例,该方法200还包括:
在该第三变量的值等于该第二变量的值的情况下,该接收设备对数据包进行递交。
具体而言,第三变量(RCVD_COUNT)的值等于该第二变量(RX_DELIV)的值的情况下,证明当前接收到的这个数据包不是乱序,则可以将该数据包递交给上层。
例如,假设已经接收到的数据包为0号数据包,即RX_NEXT=1,RX_DELIV=1,假设之后第一个接收到1号数据包,即RCVD_COUNT=RX_DELIV=1,此时,就可以将该1号数据包进行递交。
又例如,图3所示的第八行中,RX_DELIV为4,而RX_NEXT为7。满足RX_DELIV<RX_NEXT,因此,将重排序定时器开启。RX_REORD的值为7。实质为目前4至6号数据包没有递交,但是6和5号数据包早于4号数据包先收到了,相当于又收到了乱序的数据包,因此,第一定时器又会启动,假设之后收到4号数据包,即RCVD_COUNT=RX_DELIV=4,由于5和6号数据包已经接收到了,因此,就可以将4至6号数据包递交给上层。
本申请实施例提供的数据包处理的方法,在分组数据汇聚协议PDCP实体重建时或数据恢复时,将第一定时器停止并重置,或者只停止该第一定时器,并将第一变量的值设置为第二变量的值,这样,在重建或者数据恢复后,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,可以避免重建后未发出的数据包的丢包问题。在后续的接收到数据包后,可以根据该第一定时器、第三变量和第二变量对数据包进行递交。提高了数据传输的准确性和数据传输的效率,提高用户体验。
应理解,在本申请各个实施例中,该接收设备接收数据包可以包括:接收设备的分组数据汇聚协议PDCP实体接收数据包,或者是该接收设备的其他实体或者单元接收数据包,本申请实施例在此不作限制。
还应理解,在本申请各个实施例中,第一变量、第二变量、第三变量、第四变量和第五变量只是为了区分不同类型的变量。其名称还可以为其他名称,而不应对本申请实施例造成任何限制。
本申请实施例还提供一种数据包处理的方法,如图7所示,该方法300包括:
S310,接收设备接收数据包。
S320,在第三变量的值大于或者等于第一变量的值的情况下,该接收设备将该第一变量的值更新为第四变量的值,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该接收设备接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
具体而言,在接收设备正常接收数据包的过程中,包括在分组数据汇聚协议PDCP实体重建前或数据恢复前、在分组数据汇聚协议PDCP实体重建后或数据恢复后接收数据包的过程中,虽然数据包在发射端(发送设备)空口是按序(按照COUNT值从小到大的顺序)发出,但由于多个HARQ进程的并行运行,在接收设备接收的顺序很有可能是乱序的。在接收设备接收到数据包后。结合图4所示的例子,在该PDCP实体重建后或数据恢复后,假设接收到的第一个数据包的计数值(COUNT)为2,即第三变量(相当于RCVD_COUNT)的值为2。此时,由于将第一变量的值设置为第一而变量的值,即第一变量(RX_NEXT)的值为1,因此,第三变量的值大于该第一变量的值,此时,会将第一变量的值更新为3,即将第三变量的值更新为第四变量的值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。例如,当接收到2号数据包后,已经接收到的数据包为0、2、4和6号数据包,第三变量的值为2,那么,大于该第三变量的值并且为第一个未接收到的数据包的计数值就为3,即第四变量的值为3,因此,会将将该第一变量的值由1更新为第四变量的值3。
又例如,假设已经接收到的数据包为0、3号数据包,此时,RX_NEXT更新为4,RX_DELIV的值为1,假设此时接收到5号数据包,即第三变量(相当于RCVD_COUNT)的值为5。由于接收数据包之前第一变量(RX_NEXT)的值为4,因此,第三变量的值大于该第一变量的值,此时,会将第一变量的值更新为6。即当接收到5号数据包后,已经接收到的数据包为0、3、5数据包,即大于该第三变量的值并且为第一个未接收到的数据包的计数值就为6,即第四变量的值为6,因此,会将该第一变量的值由4更新为第四变量的值6。
或者,该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。具体的,结合图4所示的例子。例如,在该PDCP实体重建后或数据恢复后,假设接收到的第一个数据包的计数值(COUNT)为2,即第三变量(相当于RCVD_COUNT)的值为2。此时,第一变量(RX_NEXT)的值为1。因此,第三变量的值大于该第一变量的值。该PDCP实体已接收到的数据包的计数值为0、2、4和6,在已经收到的数据包的计数值中,从2开始,与2连续的没有,那么2就是那个最大的,在2的基础上加一,便得到3,即该第一变量的值由1更新为第四变量的值3。
又例如,假设已经接收到的数据包为0、3号数据包,此时,RX_NEXT为4,RX_DELIV的值为1,第一定时器处于运行状态,假设此时接收到5号数据包,即第三变量(相当于RCVD_COUNT)的值为5。此时,第一变量(RX_NEXT)的值为4,因此,第三变量的值大于该第一变量的值,此时,会将第一变量的值更新为6。即当接收到5号数据包后,该终端设备已经接收到的数据包(PDCP实体中已经存储的数据包)的计数值为0、3、5,在已经收到的数据包的计数值中,从5开始,与5连续的没有,那么5就是那个最大的,在6的基础上加一,便得到6,即该第一变量的值由4更新为第四变量的值6。
本申请实施例提供的数据包处理的方法,可以根据接收设备实际接收到的数据包的情况,来更新第一变量(RX_NEXT)的值,可以使得第一变量更符合其物理定义,即将第一变量更新为接收设备期待接收到的下一个数据包的计数值。同时,提高了数据包传输和递交的准确性和效率,提高用户体验。
可选的,作为一个实施例,如图8所示,该方法300还包括:
S330,在第一定时器不在运行、并且第二变量的值小于该第一变量的值的情况下,该接收设备将第五变量的值更新为该第一变量的值,其中,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值,该第五变量指示触发启动该第一定时器时的数据包的计数值。
具体而言,在该第一定时器不在运行的时候,并且第二变量(RX_DELIV)的值小于该第一变量(RX_NEXT)的值的情况下,证明此时有乱序的数据包接收到。此时,会开启第一定时器,并且,会将第五变量(相当于RX_REORD)的值更新为该第一变量的值,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
例如,假设已经接收到的数据包为0号数据包,即RX_NEXT=1,RX_DELIV=1,RX_REORD为0,第一定时器处于停止状态。假设之后第一个接收到3号数据包,此时,第一变量RX_NEXT更新为4,第二变量RX_DELIV还为1,满足第二变量的值小于该第一变量的值,即本应该先收到的为1号数据包和2号数据包,但是现在3号数据包先收到了,因此存在乱序,此时,第一定时器将开启,第一定时器的开启是为了等待1和2号数据包接收到。此时将RX_REORD的值更新为RX_NEXT的值,即将RX_REORD的值更新为4。假设在第一定时器超时前,1和2号数据包已经接收到了,那么,接收设备将4号数据包之前的数据包(1至3号数据包)递交给上层。假设在第一定时器超时前,1和/或2号数据包还没有接收到,那么,在第一定时器超时,接收设备将4号数据包之前的数据包(3号数据包)递交,此时,意味着1和2号数据包丢包。
可选的,该第一定时器为重排序定时器,或者该第一定时器可以是实现用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序的其他定时器,本申请实施例在此不作限制。
可选的,作为一个实施例,该方法300还包括:
S340,该接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置该第一定时器,或者停止该第一定时器,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
S350,该接收设备将第一变量的值设置为第二变量的值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
具体而言,由于在AM模式下的DRB需要保证在PDCP在重建时不丢包,因此,在PDCP实体重建时或数据恢复时,如果第一定时器在运行,将第一定时器停止并重置,或者停止该第一定时器,并将第一变量的值设置为第二变量的值。或者,在PDCP实体重建时或数据恢复时,如果第一定时器正在运行,将第一定时器停止并重置,或者停止该第一定时器,并在PDCP实体重建时或数据恢复时,将第一变量的值设置为第二变量的值。该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。这样,在重建或者数据恢复后,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,避免了PDCP实体重建时或数据恢复时的丢包,即可以避免重建后未发出的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
可选的,作为一个实施例,该方法300还包括:
S360,如果该接收设备被上层配置发送PDCP状态报告,在该接收设备将该第一变量的值设置为该第二变量的值之前,生成PDCP状态报告中的比特地图;或者,
如果该接收设备被上层配置发送PDCP状态报告,根据该PDCP实体重建前或数据恢复前的该第一变量的值及该第二变量的值,生成PDCP状态报告中的比特地图。
可选的,作为一个实施例,该方法300还包括:
S370,在该第一定时器不在运行、并且该第二变量的值小于该第一变量的值的情况下,该接收设备开启该第一定时器。
具体而言,在第一定时器不在运行,并且第二变量(RX_DELIV)的值小于第一变量(RX_NEXT)的值,证明有乱序的包接收到,例如,以图4所示的为例进行说明,即重建前或者数据恢复前已经接收到的数据包为0、6、4号数据包,假设该第一定时器是由于在PDCP重建或者数据恢复停止的,并且,在重建的过程中将RX_NEXT设置为RX_DELIV的值。即RX_NEXT=1,RX_DELIV=1,假设重建后接收到3号数据包,此时,第一变量更新为5,第二变量还为1,满足第二变量的值小于该第一变量的值,即本应该先收到的为1号数据包和2号数据包,但是现在3号数据包先收到了,因此存在乱序,此时,第一定时器将开启,第一定时器的开启是为了等待1和2号数据包接收到。并会将RX_REORD的值更新为RX_NEXT的值,即将RX_REORD的值更新为5。假设在第一定时器超时前,1和2号数据包已经接收到了,那么,将5号数据包之前的数据包(1至4号数据包)递交给上层。假设在第一定时器超时前,1和/或2号数据包还没有接收到,那么,在第一定时器超时情况下,会将5号数据包之前的数据包(3号数据包)递交,此时,意味着1和/或2号数据包丢包。
可选的,作为一个实施例,该方法300还包括:
S380,在该第一定时器超时的情况下,该接收设备对数据包进行递交。
可选的,作为一个实施例,该方法300还包括:
S390,在该第三变量的值等于该第二变量的值情况下,该接收设备对数据包进行递交。
应理解,步骤S350至S390,与方法200中对应的步骤类似,在此不在赘述。
本申请实施例提供的数据包处理的方法,在接收到数据包后,根据数据包的计数值。可以根据接收设备实际接收到的数据包的情况,来更新第一变量(RX_NEXT)的值,即在第三变量(RCVD_COUNT)的值大于或者等于第一变量(RX_NEXT)的值的情况下,该接收设备将该第一变量的值更新为大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该将该第一变量的值更新为该接收设备接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。可以使得第一变量更符合其物理定义,即将第一变量更新为接收设备期待接收到的下一个数据包的计数值。在后续的接收到数据包后,可以根据该第一定时器、第三变量和第一变量对数据包进行递交。提高了数据传输的准确性和数据传输的效率,提高用户体验。
应理解,在本申请各个实施例中,该接收设备接收数据包可以包括:接收设备的分组数据汇聚协议PDCP实体接收数据包,或者是该接收设备的其他实体或者单元接收数据包,本申请实施例在此不作限制。
本申请实施例还提供一种数据包处理的方法,如图9所示,该方法400包括:
S410,接收设备接收数据包。
S420,在由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行、第二变量的值小于第一变量的值、并且该第一变量的值与该PDCP实体重建前或数据恢复前该第一变量的值不同的情况下,该接收设备开启第一定时器;
或者,在不是由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行,并且第二变量的值小于第一变量的值的情况下,该接收设备开启第一定时器;
其中,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
本申请实施例提供的数据包处理的方法,通过改变第一定时器的开启条件,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,可以避免因为重建PDCP实体重建或数据恢复导致的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
下面将结合图4所示的例子来说明本申请实施例的方法400。
在S410中,接收设备接收数据包,接收设备接收数据包可以在分组数据汇聚协议PDCP实体重建前或数据恢复前,也可以在分组数据汇聚协议PDCP实体重建后或数据恢复后。
假设在分组数据汇聚协议PDCP实体重建前或数据恢复前,接收设备已经接收到的数据包为0、6、4号数据包,第一定时器处于运行状态。该第一定时器(相当于重排序定时器)用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。此时,分组数据汇聚协议PDCP实体发生重建时或数据恢复,因此,如果停止并重置第一定时器,即将该第一定时器停止,并将定时器的数值归零。或者只停止该第一定时器。此时,第一变量(相当于RX_NEXT)为7,第二变量(相当于RX_DELIV)为1。
在S420中,假设在PDCP实体重建后或数据恢复后,收到的第一个数据包为1号数据包(不乱序),RX_NEXT还为7,将RX_DELIV更新为2,或者如果收到的第一个数据包为3号数据包,此时,RX_NEXT还为7,将RX_DELIV还为1。第一定时器开启的条件为:在该第一定时器由于该PDCP实体重建或数据恢复导致的停止、第二变量的值小于第一变量的值、并且该第一变量的值与该PDCP实体重建前或数据恢复前该第一变量的值不同。首先,是由于该PDCP实体重建或数据恢复导致的该第一定时器不在运行,第一个条件满足。其次,第二变量(RX_DELIV)的值小于第一变量(RX_NEXT)的值,第二个条件满足,最后,该第一变量(RX_NEXT)的值与该PDCP实体重建前或数据恢复前该第一变量的值是相同的,都为7,因此,第三个条件不满足,因此,第一定时器将不会开启,即会等到第一个来到的数据包的计数值(COUNT)大于或者等于7时第一定时器才会开启。实质为在接收到7号数据包之前的数据包,第一定时器都不会开启。即在将重建前接收到的最大计数值包之前的所有乱序的数据包补全之前,第一定时器都不会开启。而不用和现有技术一样,在接收到3号数据包之后第一定时器就开启,从而导致5号数据包丢包的问题避免了还没有发送出的数据包产生的丢包问题。
又例如,在S420中,在PDCP实体重建后或数据恢复后或者PDCP实体重建后或数据恢复前,接收设备接收数据包,假设已经接收设备已经接收到的数据包为0和1号数据包,第一定时器(相当于重排序定时器)处于关闭状态。此时,第一变量(相当于RX_NEXT)为2,第二变量(相当于RX_DELIV)为2。如果收到的第一个数据包为4号数据包,则RX_NEXT更新为5,将RX_DELIV为2。这种情况下,不是由于该PDCP实体重建或数据恢复导致的该第一定时器不在运行,并且第二变量(RX_DELIV)的值小于第一变量(RX_NEXT)的值的情况下,符合第一定时器开启的条件。因此开启第一定时器。提高了数据传输的准确性和数据传输的效率,提高用户体验。
可选的,作为一个实施例,该方法400还包括:
S430,该接收设备将第五变量的值更新为该第一变量的值,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
具体而言,在该第一定时器开启的时候,证明有乱序的数据包接收到。会将第五变量(相当于RX_REORD)的值更新为该第一变量(RX_NEXT)的值,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
结合图4的例子说明,假设重建后或者数据恢复后第一个接收到的数据包为7号数据包,即RX_NEXT=8,RX_DELIV=1,符合第一定时器开启的条件,第一定时器开启。此时将RX_REORD的值更新为RX_NEXT的值,即将RX_REORD的值更新为8。假设在第一定时器超时前,8数据包之前的所有数据包已经接收到了,那么,接收设备将8号数据包之前的所有数据包递交给上层。假设在第一定时器超时前,8号数据包之前还有部分收据包还没有接收到,那么,在第一定时器超时,接收设备将8号数据包之前的数据包递交,此时,意味着没有接收到的数据包会丢包。
可选的,该第一定时器为重排序定时器,或者该第一定时器可以是实现用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序的其他定时器,本申请实施例在此不作限制。
可选的,作为一个实施例,该方法400还包括:
S440,在第三变量的值大于或者等于第一变量的值的情况下,该接收设备将该第一变量的值更新为第四变量的值,其中,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
可选的,作为一个实施例,该方法400还包括:
S450,在该PDCP实体重建时或数据恢复时,该接收设备将第五变量的值更新为该停止并重置第一定时器时该第二变量的值,或者更新为停止第一定时器时该第二变量的值,或者更新为该停止并重置第一定时器时该第一变量的值,或者更新为停止第一定时器时该第一变量的值,或者更新为该第五变量的初始值,或者保持不变,该第五变量指示触发启动该第一定时器时的数据包的计数值。
可选的,作为一个实施例,该方法400还包括:
在该PDCP实体重建时或数据恢复时,如果该第一定时器正在运行,该接收设备停止并重置该第一定时器,或者只停止该第一定时器时。
可选的,作为一个实施例,该方法400还包括:
S460,在该第一定时器超时的情况下,该接收设备对数据包进行递交。
可选的,作为一个实施例,该方法400还包括:
S470,在该第三变量的值等于该第二变量的值的情况下,该接收设备对数据包进行递交。
可选的,作为一个实施例,该接收设备接收数据包,包括:该接收设备的分组数据汇聚协议PDCP实体接收数据包。
应理解,上述步骤S440至S470,与方法300或者方法200中对应的步骤类似,对应描述可参考上述的描述。在此不在赘述。
还应理解,在本申请各个实施例中,该接收设备接收数据包可以包括:接收设备的分组数据汇聚协议PDCP实体接收数据包,或者是该接收设备的其他实体或者单元接收数据包,本申请实施例在此不作限制。
本申请实施例提供的数据包处理的方法,由于在AM模式下的DRB需要保证在PDCP在重建时不丢包,因此在PDCP实体重建时或数据恢复时,停止并重置第一定时器,或者只停止第一定时器,通过改变第一定时器的开启条件,在重建或者数据恢复后,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,可以避免因为重建PDCP实体重建或数据恢复导致的数据包的丢包问题。在后续的接收到数据包后,可以根据该第一定时器、第三变量和第一变量对数据包进行递交。提高了数据传输的准确性和数据传输的效率,提高用户体验。
本申请实施例还提供一种数据包处理的方法,如图10所示,该方法500包括:
S510,接收设备接收数据包。
S520,在第一定时器不在运行、第二变量的值小于第一变量的值、并且该第一变量的值等于第三变量的值加一的情况下,该接收设备开启该第一定时器,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
本申请实施例提供的数据包处理的方法,在接收设备接收到数据包后,通过改变第一定时器的开启条件,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,可以避免因为重建PDCP实体重建或数据恢复导致的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
具体而言,在接收设备正常接收数据包的过程中,结合图4所示的例子,假设该第一定时器是由于该PDCP实体重建或数据恢复导致的停止。第一变量(相当于RX_NEXT)为7,第二变量(相当于RX_DELIV)为1。在该PDCP实体重建后或数据恢复后,假设接收到的第一个数据包的计数值(COUNT)为3,即第三变量(相当于RCVD_COUNT)的值为3。第一定时器开启的条件为:第一定时器不在运行、第二变量的值小于第一变量的值、并且该第一变量的值等于第三变量的值加一。首先,该第一定时器是不在运行的,第一个条件满足。其次,第二变量(RX_DELIV)的值小于第一变量(RX_NEXT)的值,第二个条件满足,最后,该第一变量(RX_NEXT)的值7不等于第三变量的值3加一。因此,第三个条件不满足,因此,第一定时器将不会开启,即会等到第一个来到的数据包的计数值(COUNT)大于或者等于7时第一定时器才会开启。实质为在接收到6号数据包之前的数据包,第一定时器都不会开启。即在将重建前接收到的最大计数值包之前的所有乱序的数据包补全之前,第一定时器都不会开启。而不用和现有技术一样,在接收到3号数据包之后第一定时器就开启,从而导致5号数据包丢包的问题。
又例如,接收设备已经接收到的数据包为0和1号数据包,第一定时器(相当于重排序定时器)处于关闭状态。此时,第一变量(相当于RX_NEXT)为2,第二变量(相当于RX_DELIV)为2,如果之后收到的第一个数据包为4号数据包,即第三变量(相当于RCVD_COUNT)的值为4,则RX_NEXT更新为5,将RX_DELIV为2。这种情况下,由于该第一定时器处于停止状态,第二变量(RX_DELIV)的值小于第一变量(RX_NEXT)的值,并且该第一变量的值5等于第三变量的值4加一的情况下,符合第一定时器开启的条件。因此开启第一定时器。可以避免因为乱序接收数据包的而造成的递交丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
可选的,作为一个实施例,该方法500还包括:
S530,该第一定时器不在运行、第二变量的值小于第一变量的值、并且该第一变量的值等于第三变量的值加一的情况下,该接收设备将第五变量的值更新为第一变量的值,该第五变量指示触发启动该第一定时器时的数据包的计数值。该第五变量指示触发启动该第一定时器时的数据包的计数值。
可选的,作为一个实施例,该方法500还包括:
S540,在该第一定时器超时的情况下,该接收设备对数据包进行递交。
可选的,作为一个实施例,该方法500还包括:
S550,在该第三变量的值等于该第二变量的值情况下,该接收设备对数据包进行递交。
可选的,作为一个实施例,该方法500还包括:
S560,在PDCP实体重建时或数据恢复时,如果第一定时器正在运行,将第一定时器停止并重置,或者只停止该第一定时器。
可选的,作为一个实施例,该接收设备接收数据包,包括:该接收设备的分组数据汇聚协议PDCP实体接收数据包。
可选的,该第一定时器为重排序定时器,或者该第一定时器可以是实现用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序的其他定时器,本申请实施例在此不作限制。
应理解,上述步骤S530至S560,与方法400或者方法300或者方法200中对应的步骤类似,对应描述可参考上述的描述。在此不在赘述。
还应理解,在本申请各个实施例中,该接收设备接收数据包可以包括:接收设备的分组数据汇聚协议PDCP实体接收数据包,或者是该接收设备的其他实体或者单元接收数据包,本申请实施例在此不作限制。
本申请实施例提供的数据包处理的方法,在接收设备接收到数据包后,通过改变第一定时器的开启条件,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,可以避免因为重建PDCP实体重建或数据恢复导致的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
本申请实施例还提供一种数据包处理的方法,如图11所示,该方法600包括:
S610,接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置第一定时器,或者只停止该第一定时器,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
S620,该接收设备将第六变量的值设置为第二变量的值,该第六变量用于指示该接收设备在该PDCP实体重建或数据恢复后接收到的数据包中最大的计数值加一,或者该第六变量用于指示大于该接收设备在该PDCP实体重建后或数据恢复后接收到的数据包的最大的计数值、并且为第一个未递交给上层的数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
下面将结合图4所示的例子来说明本申请实施例的方法600。
在S610中,假设在分组数据汇聚协议PDCP实体重建前或数据恢复前,接收设备已经接收到的数据包为0、6、4号数据包,第一定时器处于运行状态。该第一定时器(相当于重排序定时器)用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。此时,分组数据汇聚协议PDCP实体发生重建时或数据恢复,因此,停止并重置第一定时器,即将该第一定时器停止,并将定时器的数值归零。或者只停止该第一定时器。此时,第一变量(相当于RX_NEXT)为7,第二变量(相当于RX_DELIV)为1。
在S620中,接收设备第六变量的值设置为第二变量的值,该第六变量用于指示该接收设备在该PDCP实体重建或数据恢复后接收到的数据包中最大的计数值加一,已接收到的最大的数据包的计数值为6,即第六变量的值为7。或者,该第六变量用于指示大于该接收设备在该PDCP实体重建后或数据恢复后接收到的数据包的最大的计数值、并且为第一个未递交给上层的数据包的计数值,该PDCP实体重建后或数据恢复后接收到的数据包的最大的计数值为6,大于6并且为第一个未递交的数据包的计数值为7,即第六变量的值为7。将第六变量的值设置为第二变量的值,第六变量的值设置为1。
本申请实施例提供的数据包处理的方法,由于在AM模式下的DRB需要保证在PDCP在重建时不丢包,因此,在PDCP实体重建时或数据恢复时,将第一定时器停止并重置(归零),或者只停止该第一定时器。并引入了新的变量(第六变量),将该第六变量的值设置为第二变量的值。在PDCP实体重建后或数据恢复后,利用该第六变量代替第一变量的作用,即根据第六变量、第二变量和第一定时器对数据包进行递交。在重建或者数据恢复后,避免了第一定时器在未收到乱序数据包时开启,因此避免了因为第一定时器开启的过早造成的丢包问题。同时,避免了PDCP实体重建时或数据恢复时的丢包,即可以避免重建后未发出的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
可选的,作为一个实施例,如图12所示,该方法600还包括:
S630,在该PDCP实体重建后或数据恢复后,该接收设备接收数据包。
S640,在该第六变量的值小于或者等于第一变量的值,或者该第六变量的值小于或者等于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于该第六变量的值的情况下,该接收设备将该第六变量的值更新为第四变量的值,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示该第三变量的值加一,或者该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一,该偏置值为零或正值。
具体而言,在该PDCP实体重建后或数据恢复后,该接收设备接收数据包,假设接收到的第一个数据包的计数值(COUNT)为2,即第三变量(相当于RCVD_COUNT)的值为2。此时,第六变量的值为1,第一变量(RX_NEXT)为7。满足第六变量的值小于第一变量的值。并且,第三变量的值大于该第六变量的值,此时,会将第六变量的值更新为3,即将第三变量的值更新为第四变量的值,该第四变量指示该第三变量的值加一,或者,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。例如,当接收到2号数据包后,已经接收到的数据包为0、2、4和6号数据包,第三变量的值为2,那么,大于该第三变量的值并且为第一个未接收到的数据包的计数值就为3,即第四变量的值为3,因此,会将该第一变量的值由1更新为第四变量的值3。或者,该PDCP实体已接收到的数据包的计数值为0、2、4和6,在已经收到的数据包的计数值中,从2开始,与2连续的没有,那么2就是那个最大的,在2的基础上加一,便得到3,即该第六变量的值由1更新为第四变量的值3。
应理解,偏置值为零或正值。具体而言,该偏置值可以为0,即该第六变量的值小于或者等于第一变量的值7。或者,该偏置值可以为大于0的正数,例如,假设为2,结合图4所示的例子,在第六变量小于或者等于9的情况下,利用第六变量、第二变量和第三变量来控制第一定时器的开关。并对结合第一定时器对数据包进行递交。在该第六变量的大于第一变量的值,或者该第六变量的值大于第一变量的值加偏置值的情况下,利用利用第一变量、第二变量和第三变量来控制第一定时器的开关。并对结合第一定时器对数据包进行递交。
本申请实施例提供的数据包处理的方法,在PDCP实体重建时或数据恢复时,将第一定时器停止并重置(归零),或者只停止该第一定时器,并引入了新的变量(第六变量),将该第六变量的值设置为第二变量的值。在PDCP实体重建后或数据恢复后,在该第六变量的值小于或者等于第一变量的值,或者该第六变量的值小于或者等于第一变量的值加偏置值的情况下,利用该第六变量代替第一变量的作用,即根据第六变量、第二变量和第一定时器对数据包进行递交。在该第六变量的值大于第一变量的值,或者该第六变量的大于第一变量的值加偏置值的情况下,继续利用第一变量、第二变量和第一定时器对数据包进行递交。在重建或者数据恢复后,延缓了第一定时器开启的时间,避免了PDCP实体重建时或数据恢复时的丢包,即可以避免重建后未发出的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
可选的,作为一个实施例,如图13所示,该方法600还包括:
S650,在该第六变量的值大于第一变量的值,或者该第六变量的值大于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于该第一变量的值的情况下,该接收设备将该第一变量的值更新为第四变量的值,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示该第三变量的值加一,或者该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
本申请实施例提供的数据包处理的方法,在PDCP实体重建后或数据恢复后,在该第六变量的值小于或者等于第一变量的值,或者该第六变量的值小于或者等于第一变量的值加偏置值的情况下,利用该第六变量代替第一变量的作用,即根据第六变量、第二变量和第一定时器对数据包进行递交。在该第六变量的值大于第一变量的值,或者该第六变量的大于第一变量的值加偏置值的情况下,继续利用第一变量、第二变量和第一定时器对数据包进行递交。在重建或者数据恢复后,保证了第一定时器不在未接到乱序包的情况下开启,避免了PDCP实体重建或数据恢复后由于该第一定时器超时造成的丢包,提高用户体验。
可选的,作为一个实施例,该方法600还包括:
S660,在该PDCP实体重建时或数据恢复时,该接收设备将第五变量的值设置为该停止并重置第一定时器时该第二变量的值,或者设置为停止第一定时器时该第二变量的值,或者设置为该停止并重置第一定时器时该第一变量的值,或者设置为停止第一定时器时该第一变量的值,或者设置为该停止并重置第一定时器时该第六变量的值,或者设置为停止第一定时器时该第六变量的值,或者设置为该第五变量的初始值,或者保持不变,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
可选的,作为一个实施例,该方法600还包括:
S670,在该第六变量的值小于或者等于该第一变量的值,或者第六变量的值小于或者等于第一变量的值加该偏置的情况下,并且,在该第一定时器不在运行、该第二变量的值小于该第六变量的值的情况下,该接收设备开启该第一定时器。
可选的,作为一个实施例,该方法600还包括:
S680在该第六变量的值小于或者等于该第一变量的值,或者该第六变量的值小于或者等于该第一变量的值该加偏置值的情况下,并且,在该第一定时器不在运行、该第二变量的值小于该第六变量的值的情况下,该接收设备将第五变量的值更新为该第六变量的值,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
可选的,作为一个实施例,该方法600还包括:
S690,在该第一定时器超时的情况下,该接收设备对数据包进行递交。
可选的,作为一个实施例,该方法600还包括:
在该第三变量的值等于该第二变量的值的情况下,该接收设备对数据包进行递交。
可选的,作为一个实施例,该接收设备接收数据包,包括:该接收设备的分组数据汇聚协议PDCP实体接收数据包。
可选的,该第一定时器为重排序定时器,或者该第一定时器可以是实现用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序的其他定时器,本申请实施例在此不作限制。
应理解,在本申请各个实施例中,该接收设备接收数据包可以包括:接收设备的分组数据汇聚协议PDCP实体接收数据包,或者是该接收设备的其他实体或者单元接收数据包,本申请实施例在此不作限制。
还应理解,上述步骤650至S690,与方法500,或者方法400,或者方法300,或者方法200中对应的步骤类似,对应描述可参考上述的描述。在此不在赘述。
本申请还提供了一种数据包处理的方法,如图14所示,该方法700包括:
S710,接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,如果第一定时器在运行时,停止并重置第一定时器或只停止第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
本申请提供的数据包处理的方法,在PDCP实体重建时或数据恢复时,如果第一定时器在运行时,将第一定时器停止并重置(或归零),或者只将第一定时器停止,避免由于PDCP重建期间定时器超时,造成丢包。提高了数据传输的准确性和数据传输的效率,提高用户体验。
可选的,作为一个实施例,该方法还包括:该接收设备将第一变量的值设置为第二变量的值,该第一变量指示该接收设备期望接收到的下一个数据包的计数值或序列号,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值或者序列号,或该第二变量指示最近一个递交给上层的数据包的计数值或者序列号加一。
可选的,作为一个实施例:在PDCP实体重建前或数据恢复前,该PDCP实体使用重排序功能,并且在PDCP实体重建后或数据恢复后,该PDCP连接两个确认模式AM的无线链路控制RLC实体的情况下,该终端设备停止并重置第一定时器或只停止第一定时器。
可选的,作为一个实施例,该第一定时器为重排序定时器。
应理解,该方法中相应的步骤和上述方法200至方法600中相应的步骤类似,为了简洁,这里不再赘述。
还应理解,在本申请的各个实施例中,所有关于RX_NEXT>RX_DELIV的条件可以用“至少有一个存储的PDCP SDU”的条件代替。即当至少有一个存储的PDCP SDU时,满足RX_NEXT>RX_DELIV的条件。
还应理解,在本申请的各个实施例中,第一变量、第二变量、第三变量、第四变量、第五变量、第六变量都可以用数据包的计数值(COUNT)表示,也可以用数据包的序列号(sequence number)表示。如第一变量可以是接收设备期望接收到的下一个数据包的序列号(可以用Next_PDCP_RX_SN表示);第二变量可以是最近一个递交给上层的数据包的序列号(可以用Last_Submitted_PDCP_RX_SN表示)加一;第三变量可以是接收到的数据包的序列号等。例如,在PDCP重建后,停止并重置第一定时器,将第一变量的值设置为第二变量的值可以为:将Next_PDCP_RX_SN设置为Last_Submitted_PDCP_RX_SN。
还应理解,在本申请的各个实施例中,当PDCP使用重排序功能时发生重建,并且PDCP实体在重建后连接两个RLC AM实体的情况下,终端设备停止并重置第一定时器,并将Next_PDCP_RX_SN设置为Last_Submitted_PDCP_RX_SN。
还应理解,上述是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图1至图14,详细描述了本申请实施例的数据包处理的方法,下面将结合图15至图26,详细描述本申请实施例的接收设备。
图15是本申请一个实施例的接收设备的示意性框图。应理解,该接收设备可以指上述的接收设备,接收设备实施例与方法实施例相互对应,类似的描述可以参照方法实施例,图15所示的接收设备800可以用于执行对应于图6和图8中第一接收设备执行的步骤。该接收设备800包括:处理器810、存储器820和收发器830,处理器810、存储器820和收发器830通过通信连接,存储器820存储指令,处理器810用于执行存储器820存储的指令,收发器830用于在处理器810的驱动下执行具体的信号收发。
所述处理器810,用于在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置第一定时器,或者只停止第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;
所述处理器810还用于:将第一变量的值设置为第二变量的值,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
本申请提供的接收设备,在PDCP实体重建时或数据恢复时,如果第一定时在在运行时,将第一定时器停止并重置(或归零),或者只停止第一定时器,并将第一变量的值设置为第二变量的值。或者,在PDCP实体重建时或数据恢复时,如果第一定时器正在运行,将第一定时器停止并重置,或者只停止第一定时器,并在PDCP实体重建时或数据恢复时,将第一变量的值设置为第二变量的值。这样,在重建或者数据恢复后,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,避免了PDCP实体重建时或数据恢复时的丢包,即可以避免重建后未发出的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
接收设备800中的各个组件通过通信连接,即处理器810、存储器820和收发器830之间通过内部连接通路互相通信,传递控制和/或数据信号。本申请上述方法实施例可以应用于处理器中,或者由处理器实现上述方法实施例的步骤。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是中央处理器(centralprocessing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可选的,在本申请的另一个实施例中,该收发器830,用于接收数据包;该处理器810还用于:在第三变量的值大于或者等于该第一变量的值的情况下,将该第一变量的值更新为第四变量的值,其中,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
可选的,在本申请的另一个实施例中,该处理器810还用于:如果该接收设备被上层配置发送PDCP状态报告,在该处理器将该第一变量的值设置为该第二变量的值之前,生成PDCP状态报告中的比特地图;或者,如果该接收设备被上层配置发送PDCP状态报告,根据该PDCP实体重建前或数据恢复前的该第一变量的值及该第二变量的值,生成PDCP状态报告中的比特地图。
可选的,在本申请的另一个实施例中,该处理器810还用于:在该PDCP实体重建时或数据恢复时,将第五变量的值设置为该停止并重置第一定时器时该第二变量的值,或者将第五变量的值设置为停止第一定时器时该第二变量的值,或者设置为该停止并重置第一定时器时该第一变量的值,或者设置为停止第一定时器时该第一变量的值,或者设置为该第五变量的初始值,或者保持不变,其中,该第五变量指示触发启动该第一定时器时的数据包的计数值。
可选的,在本申请的另一个实施例中,该第一定时器为重排序定时器。
应注意,本申请实施例中,处理器810可以由处理模块实现,存储器820可以由存储模块实现,收发器830可以由收发模块实现,如图16所示,接收设备900可以包括处理模块910、存储模块920和收发模块930。
图15所示的接收设备800或图16所示的接收设备900能够实现前述图5和图6中接收设备执行的步骤,为避免重复,这里不再赘述。
图17示出了本申请一个实施例的接收设备1000的示意性框图。应理解,接收设备实施例与方法实施例相互对应,类似的描述可以参照方法实施例,如图17所示,该接收设备1000包括:处理器1010、存储器1020和收发器1030,处理器1010、存储器1020和收发器1030通过通信连接,存储器1020存储指令,处理器1010用于执行存储器1020存储的指令,收发器1030用于在处理器1010的驱动下执行具体的信号收发。
该收发器1030,用于接收数据包;
该处理器1010,用于在第三变量的值大于或者等于第一变量的值的情况下,所将该第一变量的值更新为第四变量的值,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该接收设备接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
本申请提供的接收设备,可以根据接收设备实际接收到的数据包的情况,来更新第一变量的值,可以使得第一变量更符合其物理定义,即将第一变量更新为接收设备期待接收到的下一个数据包的计数值。同时,提高了数据包传输和递交的准确性和效率,提高用户体验。
接收设备1000中的各个组件通过通信连接,即处理器1010、存储器1020和收发器1030之间通过内部连接通路互相通信,传递控制和/或数据信号。本申请上述方法实施例可以应用于处理器中,或者由处理器实现上述方法实施例的步骤。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是CPU,网络处理器NP或者CPU和NP的组合、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可选的,在本申请的另一个实施例中,该处理器1010还用于:
在第一定时器不在运行、并且第二变量的值小于该第一变量的值的情况下,将第五变量的值更新为该第一变量的值,其中,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值,该第五变量指示触发启动该第一定时器时的数据包的计数值。
可选的,在本申请的另一个实施例中,该处理器1010还用于:如果该接收设备被上层配置发送PDCP状态报告,在该处理器将该第一变量的值设置为该第二变量的值之前,生成PDCP状态报告中的比特地图;或者,如果该接收设备被上层配置发送PDCP状态报告,根据该PDCP实体重建前或数据恢复前的该第一变量的值及该第二变量的值,生成PDCP状态报告中的比特地图。
可选的,在本申请的另一个实施例中,该处理器1010还用于:
在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置所述第一定时器,或者只停止该第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;将第一变量的值设置为第二变量的值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
可选的,在本申请的另一个实施例中,该第一定时器为重排序定时器。
应注意,本申请实施例中,处理器1010可以由处理模块实现,存储器1020可以由存储模块实现,收发器1030可以由收发模块实现,如图18所示,接收设备1100可以包括处理模块1110、存储模块1120和收发模块1130。
图17所示的接收设备1000或图18所示的接收设备1100能够实现前述图7和图8中接收设备执行的步骤,为避免重复,这里不再赘述。
图19示出了本申请一个实施例的接收设备1200的示意性框图。应理解,接收设备实施例与方法实施例相互对应,类似的描述可以参照方法实施例,如图19所示,该接收设备1200包括:处理器1210、存储器1220和收发器1230,处理器1210、存储器1220和收发器1230通过通信连接,存储器1220存储指令,处理器1210用于执行存储器1220存储的指令,收发器1230用于在处理器1210的驱动下执行具体的信号收发。
该收发器1230,用于接收数据包;
该处理器1210,用于在由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行、第二变量的值小于第一变量的值、并且该第一变量的值与该PDCP实体重建前或数据恢复前该第一变量的值不同的情况下,该接收设备开启第一定时器;
或者,在不是由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行,并且第二变量的值小于第一变量的值的情况下,该接收设备开启第一定时器;其中,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
本申请提供的接收设备,通过改变第一定时器的开启条件,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,可以避免因为重建PDCP实体重建或数据恢复导致的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
接收设备1200中的各个组件通过通信连接,即处理器1210、存储器1220和收发器1230之间通过内部连接通路互相通信,传递控制和/或数据信号。本申请上述方法实施例可以应用于处理器中,或者由处理器实现上述方法实施例的步骤。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是CPU,网络处理器NP或者CPU和NP的组合、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可选的,在本申请的另一个实施例中,该处理器1210还用于:在该PDCP实体重建时或数据恢复时,如果该第一定时器正在运行,停止并重置该第一定时器,或者只停止该第一定时器。
可选的,在本申请的另一个实施例中,该第一定时器为重排序定时器。
应注意,本申请实施例中,处理器1210可以由处理模块实现,存储器1220可以由存储模块实现,收发器1230可以由收发模块实现,如图20所示,接收设备1300可以包括处理模块1310、存储模块1320和收发模块1330。
图19所示的接收设备1200或图20所示的接收设备1300能够实现前述图9中接收设备执行的步骤,为避免重复,这里不再赘述。
图21示出了本申请一个实施例的接收设备1400的示意性框图。应理解,接收设备实施例与方法实施例相互对应,类似的描述可以参照方法实施例,如图21所示,该接收设备1400包括:处理器1410、存储器1420和收发器1430,处理器1410、存储器1420和收发器1430通过通信连接,存储器1420存储指令,处理器1410用于执行存储器1420存储的指令,收发器1430用于在处理器1410的驱动下执行具体的信号收发。
该收发器1430,用于接收数据包;
该处理器1410,用于在第一定时器不在运行、第二变量的值小于第一变量的值、并且该第一变量的值等于第三变量的值加一的情况下,开启该第一定时器,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
本申请提供的接收设备,在接收设备接收到数据包后,通过改变第一定时器的开启条件,延缓了第一定时器开启的时间,避免了因为第一定时器开启的过早造成的丢包问题。同时,可以避免因为重建PDCP实体重建或数据恢复导致的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
接收设备1400中的各个组件通过通信连接,即处理器1410、存储器1420和收发器1430之间通过内部连接通路互相通信,传递控制和/或数据信号。本申请上述方法实施例可以应用于处理器中,或者由处理器实现上述方法实施例的步骤。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是CPU,网络处理器NP或者CPU和NP的组合、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可选的,在本申请的另一个实施例中,该处理器1410还用于:在该第一定时器不在运行、第二变量的值小于第一变量的值、并且该第一变量的值等于第三变量的值加一的情况下,将第五变量的值更新为第一变量的值,该第五变量指示触发启动该第一定时器时的数据包的计数值。
可选的,在本申请的另一个实施例中,该处理器1410还用于:在分组数据汇聚协议PDCP实体重建时或数据恢复时,如果该第一定时器正在运行,停止并重置该第一定时器,或者只停止该第一定时器。
可选的,在本申请的另一个实施例中,该第一定时器为重排序定时器。
应注意,本申请实施例中,处理器1410可以由处理模块实现,存储器1420可以由存储模块实现,收发器1430可以由收发模块实现,如图22所示,接收设备1500可以包括处理模块1510、存储模块1520和收发模块1530。
图21所示的接收设备1400或图22所示的接收设备1500能够实现前述图10中接收设备执行的步骤,为避免重复,这里不再赘述。
图23示出了本申请一个实施例的接收设备1600的示意性框图。应理解,接收设备实施例与方法实施例相互对应,类似的描述可以参照方法实施例,如图23所示,该接收设备1600包括:处理器1610、存储器1620和收发器1630,处理器1610、存储器1620和收发器1630通过通信连接,存储器1620存储指令,处理器1610用于执行存储器1620存储的指令,收发器1630用于在处理器1610的驱动下执行具体的信号收发。
该处理器1610,用于在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置第一定时器,或者只停止该第一定时器,该第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;
该处理器1610还用于:将第六变量的值设置为第二变量的值,该第六变量用于指示该接收设备在该PDCP实体重建后或数据恢复后接收到的数据包中最大的计数值加一,或者该第六变量用于指示大于该接收设备在该PDCP实体重建后或数据恢复后接收到的数据包中的最大的计数值、并且为第一个未递交给上层的数据包的计数值,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
本申请提供的接收设备,在PDCP实体重建时或数据恢复时,将第一定时器停止并重置(归零),或者只停止该第一定时器,并引入了新的变量(第六变量),将该第六变量的值设置为第二变量的值。在PDCP实体重建后或数据恢复后,利用该第六变量代替第一变量的作用,即根据第六变量、第二变量和第一定时器对数据包进行递交。在重建或者数据恢复后,避免了第一定时器在未出现收到乱序包造成的开启,避免了因为第一定时器开启的过早造成的丢包问题。同时,避免了PDCP实体重建时或数据恢复时的丢包,即可以避免重建后未发出的数据包的丢包问题。提高了数据传输的准确性和数据传输的效率,提高用户体验。
接收设备1600中的各个组件通过通信连接,即处理器1610、存储器1620和收发器1630之间通过内部连接通路互相通信,传递控制和/或数据信号。本申请上述方法实施例可以应用于处理器中,或者由处理器实现上述方法实施例的步骤。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是CPU,网络处理器NP或者CPU和NP的组合、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可选的,在本申请的另一个实施例中,该收发器1630,用于该接收设备接收数据包;该处理器1610还用于:在该第六变量的值小于或者等于第一变量的值,或者该第六变量的值小于或者等于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于该第六变量的值的情况下,将该第六变量的值更新为第四变量的值,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示该第三变量的值加一,或者该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
可选的,在本申请的另一个实施例中,该处理器1610。还用于:在该第六变量的值大于第一变量的值,或者该第六变量的值大于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于该第一变量的值的情况下,将该第一变量的值更新为第四变量的值,其中,该第一变量指示该接收设备期望接收到的下一个数据包的计数值,该第三变量指示该接收设备接收到的数据包的计数值,该第四变量指示该第三变量的值加一,或者该第四变量指示大于该第三变量的值并且为第一个未接收到的数据包的计数值,或者该第四变量指示该PDCP实体已接收到的数据包的计数值中,从该第三变量的值开始、连续并且为最大的计数值加一。
可选的,在本申请的另一个实施例中,该第一定时器为重排序定时器。
可选的,在本申请的另一个实施例中,该偏置值为零或正值
应注意,本申请实施例中,处理器1610可以由处理模块实现,存储器1620可以由存储模块实现,收发器1630可以由收发模块实现,如图23所示,接收设备1700可以包括处理模块1710、存储模块1720和收发模块1730。
图23所示的接收设备1600或图24所示的接收设备1700能够实现前述图11至13中接收设备执行的步骤,为避免重复,这里不再赘述。
图25是本申请一个实施例的接收设备的示意性框图。应理解,接收设备实施例与方法实施例相互对应,类似的描述可以参照方法实施例,图25所示的接收设备1800可以用于执行对应于图14中接收设备执行的步骤。该接收设备1800包括:处理器1810、存储器1820和收发器1830,处理器1810、存储器1820和收发器1830通过通信连接,存储器1820存储指令,处理器1810用于执行存储器1820存储的指令,收发器1830用于在处理器1810的驱动下执行具体的信号收发。
处理器1810,用于在分组数据汇聚协议PDCP实体重建时或数据恢复时,如果第一定时在在运行时,停止并重置第一定时器或只停止第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
本申请提供的接收设备,在PDCP实体重建时或数据恢复时,如果第一定时在运行时,将第一定时器停止并重置(或归零),或者只将第一定时器停止,避免由于PDCP重建期间定时器超时,造成丢包。提高了数据传输的准确性和数据传输的效率,提高用户体验。
可选的,在本申请的另一个实施例中,处理器1810,还用于将第一变量的值设置为第二变量的值,该第一变量指示该接收设备期望接收到的下一个数据包的计数值或序列号,该第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值或者序列号,或该第二变量指示最近一个递交给上层的数据包的计数值或者序列号加一。
可选的,在本申请的另一个实施例中,处理器1810,还用于:在PDCP实体重建前或数据恢复前,该PDCP实体使用重排序功能,在PDCP实体重建后或数据恢复后,该PDCP连接两个确认模式AM的无线链路控制RLC实体。
应注意,本申请实施例中,处理器1810可以由处理模块实现,存储器1820可以由存储模块实现,收发器1830可以由收发模块实现,如图26所示,接收设备1900可以包括处理模块1910、存储模块1920和收发模块1930。
图25所示的接收设备1800或图26所示的接收设备1900能够实现前述图14中接收设备执行的步骤,为避免重复,这里不再赘述。
本申请实施例还提供了一种计算机可读介质,用于存储计算机程序代码,该计算机程序包括用于执行上述图5至图14中本申请实施例的数据包处理的方法的指令。该可读介质可以是只读存储器(read-only memory,ROM)或随机存取存储器(random accessmemory,RAM),本申请实施例对此不做限制。
本申请实施例还提供了一种系统芯片,该系统芯片包括:处理单元和通信单元,该处理单元,例如可以是处理器,该通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行计算机指令,以使该终端内的芯片执行上述第一方面任意一项的数据包处理的方法。
可选地,该计算机指令被存储在存储单元中。
可选地,该存储单元为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是该终端内的位于该芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。其中,上述任一处提到的处理器,可以是一个CPU,微处理器,ASIC,或一个或多个用于控制上述第一种直连链路数据传输的方法的程序执行的集成电路。
应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
还应理解,本文中术语“和/或”以及“A或B中的至少一种”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read_Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (44)
1.一种数据包处理的方法,其特征在于,包括:
接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;
所述接收设备将第一变量的值设置为第二变量的值,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述接收设备被上层配置发送PDCP状态报告,在所述接收设备将所述第一变量的值设置为所述第二变量的值之前,生成所述PDCP状态报告;或者,
如果所述接收设备被上层配置发送PDCP状态报告,根据所述PDCP实体重建前或数据恢复前的所述第一变量的值及所述第二变量的值,生成所述PDCP状态报告。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述接收设备接收数据包;
在第三变量的值大于或者等于所述第一变量的值的情况下,所述接收设备将所述第一变量的值更新为第四变量的值,其中,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第四变量指示大于所述第三变量的值并且为第一个未接收到的数据包的计数值,或者所述第四变量指示所述PDCP实体已接收到的数据包的计数值中,从所述第三变量的值开始、连续并且为最大的计数值加一。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在所述PDCP实体重建时或数据恢复时,所述接收设备将第五变量的值设置为所述停止并重置第一定时器时所述第二变量的值,或者设置为所述停止并重置第一定时器时所述第一变量的值,或者设置为所述第五变量的初始值,或者保持不变,其中,所述第五变量指示触发启动所述第一定时器时的数据包的计数值。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一定时器为重排序定时器。
6.一种数据包处理的方法,其特征在于,包括:
接收设备接收数据包;
在第三变量的值大于或者等于第一变量的值的情况下,所述接收设备将所述第一变量的值更新为第四变量的值,其中,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第四变量指示大于所述第三变量的值并且为第一个未接收到的数据包的计数值,或者所述第四变量指示所述接收设备接收到的数据包的计数值中,从所述第三变量的值开始、连续并且为最大的计数值加一。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置所述第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;
所述接收设备将第一变量的值设置为第二变量的值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
如果所述接收设备被上层配置发送PDCP状态报告,在所述接收设备将所述第一变量的值设置为所述第二变量的值之前,生成所述PDCP状态报告;或者,
如果所述接收设备被上层配置发送PDCP状态报告,根据所述PDCP实体重建前或数据恢复前的所述第一变量的值及所述第二变量的值,生成所述PDCP状态报告。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述第一定时器为重排序定时器。
10.一种数据包处理的方法,其特征在于,包括:
接收设备接收数据包;
在由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行、第二变量的值小于第一变量的值、并且所述第一变量的值与所述PDCP实体重建前或数据恢复前所述第一变量的值不同的情况下,所述接收设备开启第一定时器;
或者,在不是由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行,并且第二变量的值小于第一变量的值的情况下,所述接收设备开启第一定时器;
其中,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在所述PDCP实体重建时或数据恢复时,如果所述第一定时器正在运行,所述接收设备停止并重置所述第一定时器。
12.根据权利要求10或11所述的方法,其特征在于,所述第一定时器为重排序定时器。
13.一种数据包处理的方法,其特征在于,包括:
接收设备接收数据包;
在第一定时器不在运行、第二变量的值小于第一变量的值、并且所述第一变量的值等于第三变量的值加一的情况下,所述接收设备开启所述第一定时器,其中,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
在所述第一定时器不在运行、第二变量的值小于第一变量的值、并且所述第一变量的值等于第三变量的值加一的情况下,所述接收设备将第五变量的值更新为第一变量的值,所述第五变量指示触发启动所述第一定时器时的数据包的计数值。
15.根据权利要求13或14所述方法,其特征在于,所述方法还包括:
在分组数据汇聚协议PDCP实体重建时或数据恢复时,如果所述第一定时器正在运行,所述接收设备停止并重置所述第一定时器。
16.根据权利要求13至15中任一项所述的方法,其特征在于,所述第一定时器为重排序定时器。
17.一种数据包处理的方法,其特征在于,包括:
接收设备在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;
所述接收设备将第六变量的值设置为第二变量的值,所述第六变量用于指示所述接收设备在所述PDCP实体重建后或数据恢复后接收到的数据包中最大的计数值加一,或者所述第六变量用于指示大于所述接收设备在所述PDCP实体重建后或数据恢复后接收到的数据包中的最大的计数值、并且为第一个未递交给上层的数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
所述接收设备接收数据包;
在所述第六变量的值小于或者等于第一变量的值,或者所述第六变量的值小于或者等于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于所述第六变量的值的情况下,所述接收设备将所述第六变量的值更新为第四变量的值,其中,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第四变量指示所述第三变量的值加一,或者所述第四变量指示大于所述第三变量的值并且为第一个未接收到的数据包的计数值,或者所述第四变量指示所述PDCP实体已接收到的数据包的计数值中,从所述第三变量的值开始、连续并且为最大的计数值加一。
19.根据权利要求17所述的方法,其特征在于,所述方法还包括:
所述接收设备接收数据包;
在所述第六变量的值大于第一变量的值,或者所述第六变量的值大于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于所述第一变量的值的情况下,所述接收设备将所述第一变量的值更新为第四变量的值,其中,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第四变量指示所述第三变量的值加一,或者所述第四变量指示大于所述第三变量的值并且为第一个未接收到的数据包的计数值,或者所述第四变量指示所述PDCP实体已接收到的数据包的计数值中,从所述第三变量的值开始、连续并且为最大的计数值加一。
20.根据权利要求18或19所述的方法,其特征在于,
所述偏置值为零或正值。
21.根据权利要求17至20中任一项所述的方法,其特征在于,所述第一定时器为重排序定时器。
22.一种接收设备,其特征在于,包括:其特征在于,包括处理器、收发器和存储器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,以控制所述收发器接收或发送信号;
所述处理器,用于在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;
所述处理器还用于:将第一变量的值设置为第二变量的值,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
23.根据权利要求22所述的接收设备,其特征在于,
所述处理器还用于:如果所述接收设备被上层配置发送PDCP状态报告,在所述处理器将所述第一变量的值设置为所述第二变量的值之前,生成所述PDCP状态报告;或者,如果所述接收设备被上层配置发送PDCP状态报告,根据所述PDCP实体重建前或数据恢复前的所述第一变量的值及所述第二变量的值,生成所述PDCP状态报告。
24.根据权利要求22或23所述的接收设备,其特征在于,
所述收发器,用于接收数据包;
所述处理器还用于:在第三变量的值大于或者等于所述第一变量的值的情况下,将所述第一变量的值更新为第四变量的值,其中,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第四变量指示大于所述第三变量的值并且为第一个未接收到的数据包的计数值,或者所述第四变量指示所述PDCP实体已接收到的数据包的计数值中,从所述第三变量的值开始、连续并且为最大的计数值加一。
25.根据权利要求22至24中任一项所述的接收设备,其特征在于,
所述处理器还用于:在所述PDCP实体重建时或数据恢复时,将第五变量的值设置为所述停止并重置第一定时器时所述第二变量的值,或者设置为所述停止并重置第一定时器时所述第一变量的值,或者设置为所述第五变量的初始值,或者保持不变,其中,所述第五变量指示触发启动所述第一定时器时的数据包的计数值。
26.根据权利要求22至25中任一项所述的方法,其特征在于,所述第一定时器为重排序定时器。
27.一种接收设备,其特征在于,包括:其特征在于,包括处理器、收发器和存储器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,以控制所述收发器接收或发送信号;
所述收发器,用于接收数据包;
所述处理器,用于在第三变量的值大于或者等于第一变量的值的情况下,所将所述第一变量的值更新为第四变量的值,其中,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第四变量指示大于所述第三变量的值并且为第一个未接收到的数据包的计数值,或者所述第四变量指示所述接收设备接收到的数据包的计数值中,从所述第三变量的值开始、连续并且为最大的计数值加一。
28.根据权利要求27所述的接收设备,其特征在于,所述处理器还用于:
在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置所述第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;
将第一变量的值设置为第二变量的值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
29.根据权利要求28所述的接收设备,其特征在于,
所述处理器还用于:如果所述接收设备被上层配置发送PDCP状态报告,在所述处理器将所述第一变量的值设置为所述第二变量的值之前,生成所述PDCP状态报告;或者,如果所述接收设备被上层配置发送PDCP状态报告,根据所述PDCP实体重建前或数据恢复前的所述第一变量的值及所述第二变量的值,生成所述PDCP状态报告。
30.根据权利要求27至29中任一项所述的接收设备,其特征在于,所述第一定时器为重排序定时器。
31.一种接收设备,其特征在于,包括:其特征在于,包括处理器、收发器和存储器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,以控制所述收发器接收或发送信号;
所述收发器,用于接收数据包;
所述处理器,用于在由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行、第二变量的值小于第一变量的值、并且所述第一变量的值与所述PDCP实体重建前或数据恢复前所述第一变量的值不同的情况下,所述接收设备开启第一定时器;
或者,在不是由于分组数据汇聚协议PDCP实体重建或数据恢复导致的第一定时器不在运行,并且第二变量的值小于第一变量的值的情况下,所述接收设备开启第一定时器;其中,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
32.根据权利要求31所述的接收设备,其特征在于,所述处理器还用于:在所述PDCP实体重建时或数据恢复时,如果所述第一定时器正在运行,停止并重置所述第一定时器。
33.根据权利要求31或32所述的接收设备,其特征在于,所述第一定时器为重排序定时器。
34.一种接收设备,其特征在于,包括:其特征在于,包括处理器、收发器和存储器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,以控制所述收发器接收或发送信号;
所述收发器,用于接收数据包;
所述处理器,用于在第一定时器不在运行、第二变量的值小于第一变量的值、并且所述第一变量的值等于第三变量的值加一的情况下,开启所述第一定时器,其中,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序。
35.根据权利要求34所述的接收设备,其特征在于,所述处理器还用于:
在所述第一定时器不在运行、第二变量的值小于第一变量的值、并且所述第一变量的值等于第三变量的值加一的情况下,将第五变量的值更新为第一变量的值,所述第五变量指示触发启动所述第一定时器时的数据包的计数值。
36.根据权利要求34或35所述的接收设备,其特征在于,所述处理器还用于:
在分组数据汇聚协议PDCP实体重建时或数据恢复时,如果所述第一定时器正在运行,停止并重置所述第一定时器。
37.根据权利要求34至36中任一项所述的接收设备,其特征在于,所述第一定时器为重排序定时器。
38.一种接收设备,其特征在于,包括:其特征在于,包括处理器、收发器和存储器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,以控制所述收发器接收或发送信号;
所述处理器,用于在分组数据汇聚协议PDCP实体重建时或数据恢复时,停止并重置第一定时器,所述第一定时器用于检测接收到的数据包的丢失,或者用于检测接收到的数据包是否存在乱序;
所述处理器还用于:将第六变量的值设置为第二变量的值,所述第六变量用于指示所述接收设备在所述PDCP实体重建后或数据恢复后接收到的数据包中最大的计数值加一,或者所述第六变量用于指示大于所述接收设备在所述PDCP实体重建后或数据恢复后接收到的数据包中的最大的计数值、并且为第一个未递交给上层的数据包的计数值,所述第二变量指示仍在等待的、第一个未递交给上层的数据包的计数值。
39.根据权利要求38所述的接收设备,其特征在于,
所述收发器,用于所述接收设备接收数据包;
所述处理器还用于:在所述第六变量的值小于或者等于第一变量的值,或者所述第六变量的值小于或者等于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于所述第六变量的值的情况下,将所述第六变量的值更新为第四变量的值,其中,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第四变量指示所述第三变量的值加一,或者所述第四变量指示大于所述第三变量的值并且为第一个未接收到的数据包的计数值,或者所述第四变量指示所述PDCP实体已接收到的数据包的计数值中,从所述第三变量的值开始、连续并且为最大的计数值加一。
40.根据权利要求38所述的接收设备,其特征在于,所述处理器还用于:
在所述第六变量的值大于第一变量的值,或者所述第六变量的值大于第一变量的值加偏置值的情况下,并且,在第三变量的值大于或者等于所述第一变量的值的情况下,将所述第一变量的值更新为第四变量的值,其中,所述第一变量指示所述接收设备期望接收到的下一个数据包的计数值,所述第三变量指示所述接收设备接收到的数据包的计数值,所述第四变量指示所述第三变量的值加一,或者所述第四变量指示大于所述第三变量的值并且为第一个未接收到的数据包的计数值,或者所述第四变量指示所述PDCP实体已接收到的数据包的计数值中,从所述第三变量的值开始、连续并且为最大的计数值加一。
41.根据权利要求39或40所述的接收设备,其特征在于,所述偏置值为零或正值。
42.根据权利要求38至41中任一项所述的接收设备,其特征在于,所述第一定时器为重排序定时器。
43.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序用于执行根据权利要求1至21中任一项所述的数据包处理的方法的指令。
44.一种系统芯片,包括处理单元和通信单元,该处理单元可执行计算机指令,以使该系统芯片执行根据权利要求1至21中任一项所述的数据包处理的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711136518.8A CN109803277B (zh) | 2017-11-16 | 2017-11-16 | 数据包处理的方法和设备 |
CN201880085767.5A CN111567000A (zh) | 2017-11-16 | 2018-10-28 | 数据包处理的方法和设备 |
PCT/CN2018/112278 WO2019095975A1 (zh) | 2017-11-16 | 2018-10-28 | 数据包处理的方法和设备 |
EP18879057.0A EP3720070A4 (en) | 2017-11-16 | 2018-10-28 | DATA PACKAGE PROCESSING PROCESS AND DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711136518.8A CN109803277B (zh) | 2017-11-16 | 2017-11-16 | 数据包处理的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109803277A true CN109803277A (zh) | 2019-05-24 |
CN109803277B CN109803277B (zh) | 2020-12-22 |
Family
ID=66540013
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711136518.8A Active CN109803277B (zh) | 2017-11-16 | 2017-11-16 | 数据包处理的方法和设备 |
CN201880085767.5A Pending CN111567000A (zh) | 2017-11-16 | 2018-10-28 | 数据包处理的方法和设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880085767.5A Pending CN111567000A (zh) | 2017-11-16 | 2018-10-28 | 数据包处理的方法和设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3720070A4 (zh) |
CN (2) | CN109803277B (zh) |
WO (1) | WO2019095975A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818630A (zh) * | 2019-07-12 | 2020-10-23 | 维沃移动通信有限公司 | 状态变量维护方法、装置及用户设备 |
CN114501537A (zh) * | 2022-01-26 | 2022-05-13 | Oppo广东移动通信有限公司 | 一种调整方法、电子设备及计算机存储介质 |
WO2022205062A1 (zh) * | 2021-03-31 | 2022-10-06 | 华为技术有限公司 | 一种数据处理的装置和方法 |
WO2024067365A1 (zh) * | 2022-09-30 | 2024-04-04 | 华为技术有限公司 | 数据传输方法及装置 |
WO2024208024A1 (zh) * | 2023-04-07 | 2024-10-10 | 华为技术有限公司 | 通信方法和通信装置 |
CN114501537B (zh) * | 2022-01-26 | 2024-10-22 | Oppo广东移动通信有限公司 | 一种调整方法、电子设备及计算机存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117641444A (zh) * | 2022-08-09 | 2024-03-01 | 华为技术有限公司 | 数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686494A (zh) * | 2008-09-22 | 2010-03-31 | 大唐移动通信设备有限公司 | 一种分组数据汇聚协议层处理数据包的方法和装置 |
US8804742B2 (en) * | 2011-12-29 | 2014-08-12 | Lg Electronics Inc. | PDCP packet transmission method |
CN104935413A (zh) * | 2014-03-19 | 2015-09-23 | 夏普株式会社 | 分组数据汇聚协议pdcp实体及其执行的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104519524A (zh) * | 2013-09-26 | 2015-04-15 | 中兴通讯股份有限公司 | 一种基于多流传输的数据排序方法及接收装置 |
CN106063324B (zh) * | 2014-01-28 | 2019-10-11 | 寰发股份有限公司 | 重排序pdcp封包的方法以及用户设备 |
CN105101293A (zh) * | 2014-04-30 | 2015-11-25 | 夏普株式会社 | Pdcp发送实体、辅基站、用户设备及其方法 |
WO2016021820A1 (en) * | 2014-08-08 | 2016-02-11 | Lg Electronics Inc. | Method for processing a packet data convergence protocol re-ordering function at a user equipment in a dual connectivity system and device therefor |
EP3235220B1 (en) * | 2014-12-18 | 2021-04-28 | LG Electronics Inc. | Method for reconfiguring a pdcp reordering timer in a wireless communication system and device therefor |
US9999049B2 (en) * | 2015-08-31 | 2018-06-12 | Qualcomm Incorporated | Avoiding unnecessary protocol data unit (PDU) transmissions |
CN106357548B (zh) * | 2016-09-18 | 2019-06-11 | 京信通信系统(中国)有限公司 | Pdcp数据包的接收方法和系统 |
-
2017
- 2017-11-16 CN CN201711136518.8A patent/CN109803277B/zh active Active
-
2018
- 2018-10-28 WO PCT/CN2018/112278 patent/WO2019095975A1/zh unknown
- 2018-10-28 EP EP18879057.0A patent/EP3720070A4/en active Pending
- 2018-10-28 CN CN201880085767.5A patent/CN111567000A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686494A (zh) * | 2008-09-22 | 2010-03-31 | 大唐移动通信设备有限公司 | 一种分组数据汇聚协议层处理数据包的方法和装置 |
US8804742B2 (en) * | 2011-12-29 | 2014-08-12 | Lg Electronics Inc. | PDCP packet transmission method |
CN104935413A (zh) * | 2014-03-19 | 2015-09-23 | 夏普株式会社 | 分组数据汇聚协议pdcp实体及其执行的方法 |
Non-Patent Citations (2)
Title |
---|
3GPP: "3rd Generation Partnership Project;Technical Specification Group Radio Access Network;Evolved Universal Terrestrial Radio Access (E-UTRA);Packet Data Convergence Protocol (PDCP) specification (Release 14)", 《3GPP TS 36.323 V14.4.0》 * |
3GPP: "3rd Generation Partnership Project;Technical Specification Group Radio Access Network;NR;Packet Data Convergence Protocol (PDCP) specification(Release 15)", 《3GPP TS 38.323 V1.0.0》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818630A (zh) * | 2019-07-12 | 2020-10-23 | 维沃移动通信有限公司 | 状态变量维护方法、装置及用户设备 |
WO2022205062A1 (zh) * | 2021-03-31 | 2022-10-06 | 华为技术有限公司 | 一种数据处理的装置和方法 |
CN114501537A (zh) * | 2022-01-26 | 2022-05-13 | Oppo广东移动通信有限公司 | 一种调整方法、电子设备及计算机存储介质 |
CN114501537B (zh) * | 2022-01-26 | 2024-10-22 | Oppo广东移动通信有限公司 | 一种调整方法、电子设备及计算机存储介质 |
WO2024067365A1 (zh) * | 2022-09-30 | 2024-04-04 | 华为技术有限公司 | 数据传输方法及装置 |
WO2024208024A1 (zh) * | 2023-04-07 | 2024-10-10 | 华为技术有限公司 | 通信方法和通信装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111567000A (zh) | 2020-08-21 |
EP3720070A4 (en) | 2020-12-30 |
CN109803277B (zh) | 2020-12-22 |
WO2019095975A1 (zh) | 2019-05-23 |
EP3720070A1 (en) | 2020-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109803277B (zh) | 数据包处理的方法和设备 | |
CN111294153B (zh) | 传输数据的方法和设备 | |
US10736174B2 (en) | Network node and methods therein for packet data convergence protocol (PDCP) reordering | |
CN115190552A (zh) | 指示转发的数据的状态 | |
CN101779408A (zh) | 在移动通信系统中发送状态信息的方法及移动通信的接收机 | |
WO2018126449A1 (zh) | 数据传输窗口变换的方法及其装置、通信系统 | |
WO2019178854A1 (zh) | 重传处理的方法和装置 | |
TW201832504A (zh) | 傳輸回饋訊息的方法、終端設備和網路設備 | |
CN109392045B (zh) | 处理交递的装置及方法 | |
RU2762666C2 (ru) | Способ дублированной передачи и связанное с ним устройство | |
EP2465293A1 (en) | Handover method for reducing the amount of data forwarded to a target node | |
US20080056218A1 (en) | Method for transmitting multi-frame handover or assignment messages | |
EP3490182B1 (en) | Hybrid automatic repeat request method and system | |
CN111918335A (zh) | 处理数据包的方法和装置 | |
WO2019157712A1 (zh) | 通信方法、网络设备和终端设备 | |
KR20070080242A (ko) | 이동 통신 시스템에서 무선 링크 제어 엔티티를 리세트하는방법 및 이와 관련된 장치 | |
WO2019101122A1 (zh) | 传输数据的方法和装置 | |
WO2019061155A1 (zh) | 用于数据处理的方法、终端设备和网络设备 | |
CN113196715B (zh) | 减少新无线电中的分组数据汇聚协议(pdcp)处的延时 | |
CN113518401B (zh) | 无线通信方法、终端设备和网络设备 | |
CN108934044B (zh) | 数据包传输方法及设备 | |
WO2018195960A1 (zh) | 无线通信的方法和装置 | |
WO2018126450A1 (zh) | 无线通信的方法和设备 | |
WO2018127842A1 (en) | Lossless packet data convergence protocol sequence number change | |
WO2019014918A1 (zh) | 传输数据的方法和设备 |
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 |