CN112615701A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN112615701A CN112615701A CN202011644118.XA CN202011644118A CN112615701A CN 112615701 A CN112615701 A CN 112615701A CN 202011644118 A CN202011644118 A CN 202011644118A CN 112615701 A CN112615701 A CN 112615701A
- Authority
- CN
- China
- Prior art keywords
- data packet
- sequence number
- data
- target
- sent
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1628—List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种数据处理方法及装置,其中,该方法包括:确定目标数据包的类型为传输控制协议TCP报文到达确认ACK;将目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,目标序列号小于初始序列号;按照序列号从小到大的顺序发送待发送数据包队列中的各个数据包。通过该方法,有利于提高下行数据的传输速率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据处理方法及装置。
背景技术
终端设备成功接收到下行数据后,会回复接入网设备一个TCP ACK数据包,该TCPACK数据包可以表示已经确认接收到该TCP ACK数据包对应的确认号之前的所有下行数据。这样接入网设备就确定需要发送至终端设备的下行数据都已成功送达。
目前,上下行数据可以同时传输,通常上行传输速率比下行低很多,下行数据对应的上行TCP ACK数据包可能会被上行数据业务阻挡。这样就会导致TCP ACK数据包延迟发送,进一步地,会导致下行数据的传输速率降低。
发明内容
本申请公开了一种数据处理方法及装置,有利于提高下行数据的传输速率。
第一方面,本申请实施例提供了一种数据处理方法及装置,应用于终端设备包括的分组数据汇聚协议PDCP实体,该方法包括:
确定目标数据包的类型为传输控制协议TCP报文到达确认ACK;
将目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,目标序列号小于初始序列号;
按照序列号从小到大的顺序发送待发送数据包队列中的各个数据包。
在一实施方式中,上述目标序列号为待发送数据包队列中待发送的第一个数据包的序列号。
在一实施方式中,该方法还包括:针对待发送数据包队列中除目标数据包以外的各个数据包,更新数据包的序列号,更新后数据包的序列号为更新前的数据包的序列号与1之和。
在一实施方式中,类型为TCP ACK的数据包包括确认号;该方法还包括:确定待发送数据包队列中与目标数据包匹配的第一数据包,第一数据包与目标数据包属于同一数据流,第一数据包中的确认号小于目标数据包中的确认号;将第一数据包从待发送数据包队列中删除。
在一实施方式中,类型为TCP ACK的数据包包括确认号;该方法还包括:上述目标序列号为第二数据包的序列号;第二数据包为待发送数据包队列中与目标数据包匹配的数据包,其中,第二数据包与目标数据包属于同一数据流,第二数据包中的确认号小于目标数据包中的确认号。
在一实施方式中,该方法还包括:将第二数据包从待发送数据包队列中删除。
第二方面,本申请实施例提供了一种数据处理装置,包括:
确定单元,用于确定目标数据包中包括的数据分组的类型为传输控制协议报文到达确认TCP ACK类型;
修改单元,用于将目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,目标序列号小于初始序列号;
传输单元,用于按照序列号从小到大的顺序发送待发送数据包队列中的各个数据包。
在一实施方式中,目标序列号为待发送数据包队列中待发送的第一个数据包的序列号。
第三方面,本申请实施例提供了一种数据处理装置,包括处理器、存储器和通信接口,处理器、存储器和通信接口相互连接,其中,存储器用于存储计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行如第一方面描述的数据处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有一条或多条指令,一条或多条指令适于由处理器加载并执行如第一方面描述的数据处理方法。
第五方面,本申请实施例提供了一种芯片,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,以如第一方面描述的数据处理方法。
第六方面,本申请实施例提供了一种芯片模组,该芯片模组包括如第五方面描述的芯片。
本申请实施例中,PDCP实体可以确定目标数据包的类型为传输控制协议TCP报文到达确认ACK;将目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,目标序列号小于初始序列号;按照序列号从小到大的顺序发送待发送数据包队列中的各个数据包。通过该方法,有利于提高下行数据的传输速率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的TCP ACK的结构示意图;
图2为本申请实施例提供的一种无线通信网络的架构示意图;
图3为本申请实施例提供的一种无线通信的数据流向示意图;
图4为本申请实施例提供的一种数据处理方法的流程示意图;
图5为本申请实施例提供的一种确定目标序列号的方法示意图;
图6为本申请实施例提供的另一种确定目标序列号的方法示意图;
图7为本申请实施例提供的一种数据处理装置的单元示意图;
图8为本申请实施例提供的一种数据处理装置的实体结构简化示意图;
图9为本申请实施例提供的一种数据处理装置的芯片简化示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当……时"或"响应于确定"。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
为了能够更好地理解本申请实施例,下面对本申请实施例涉及的专业术语进行介绍:
传输控制协议(Transmission Control Protocol,TCP):是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。
分组数据汇聚协议(Packet Data Convergence Protocol,PDCP):PDCP层属于无线接口协议栈的第二层,处理控制平面上的无线资源管理(Radio Resource Control,RRC)消息以及用户平面上的因特网协议(IP)包。在用户平面上,PDCP子层得到来自上层的IP数据分组后,可以对IP数据分组进行头压缩和加密,然后递交到无线链路控制协议(RLC)子层。PDCP子层还向上层提供按序提交和重复分组检测功能。在控制平面,PDCP子层为上层RRC提供信令传输服务,并实现RRC信令的加密和一致性保护,以及在反方向上实现RRC信令的解密和一致性检查。PDCP实***于PDCP层。对于一个终端设备,可以定义多个PDCP实体。每个用于携带用户平面数据的PDCP实体可以配置使用头压缩技术,每个PDCP实体携带一个无线承载的数据。
TCP报文到达确认(Acknowledge,ACK):是对接收到的数据的最高序列号的确认,并向发送端返回一个下次接收时期望的TCP数据包的序列号(Ack Number)。例如,终端设备发送的当前数据序号是400,数据长度是100,则接入网设备收到后会返回一个确认号是501的确认号给终端设备。TCP ACK的结构可以如图1所示,确认号占用32位,终端设备和接入网设备都可以发送,Ack=Seq+1,其中该Seq即序列号,且是下行数据的序列号,并非本申请实施例中的序列号。需要说明的是,在本申请实施例中,TCP ACK可以是一个专用于回复确认号ACK的数据包,也可以是在一个携带其他数据的TCP数据包,该携带其他数据的TCP数据包中添加有ACK的信息。
序列号(Sequence Number,SN):在PDCP实体中,SN编号可以是数据包的发送序列号,PDCP层可以根据每个数据包的SN编号来发送每个数据包。这样,接入网设备或终端设备中的接收方就可以保证顺序提交或检测重复的数据包。需要说明的是,SN编号存在一个最大值,该最大值是根据相关的协议确定的,当SN编号达到最大值后,该达到最大值的SN编号的下一个SN编号将会从0开始重新排列。例如,若该最大值为232-1,那么SN编号为232-1的下一个SN编号则为0。在本申请实施例中,涉及到对SN编号的加减运算,均满足该运算法则。
为了能够更好地理解本申请实施例,下面对本申请实施例可应用的网络架构进行说明。
请参见图2,图2为本申请实施例提供了一种无线通信网络的架构示意图。该无线通信网络架构中包括终端设备和接入网设备。接入网设备可以部署服务小区,服务小区的个数可以是一个或一个以上,本申请实施例以服务小区为一个为例。在服务小区中可以分布多种信道,以传输不同的业务。终端设备和接入网设备都可以包括各自的PDCP实体,PDCP实***于PDCP层中,终端设备和接入网设备可以通过PDCP实体进行IP包头压缩与解压缩、数据与信令的加密和解密,以及信令的完整性保护等操作。PDCP实体可以对PDCP层中的数据进行处理,这些数据可以是数据分组,即数据包,这些数据包可以来自该设备的中高层,如IP层等。PDCP实体可以将中高层发送过来的数据包进行编号处理,即给每个数据包分配一个SN编号,然后根据各个数据包的SN编号分别发送各个数据包。如图3所示为一种无线通信的数据流向示意图,终端设备的PDCP实体可以接收终端设备的网络层,即中高层发送的数据,PDCP实体处理完该数据后,可以将其发送给RLC实体,RLC层再对PDCP实体发送的数据进行处理并发送给MAC实体,以此类推。当接入网设备的物理层接收到终端设备的物理层发送的信息后,可以对该信息进行解调、解码等操作,逐步发送至接入网设备的PCDP实体、网络层等。这样就实现了无线通信的数据交换。
需要说明的是,在本申请实施例中,每个协议层均可以对应有各自的实体,例如,RLC层对应RLC实体。各协议层对应的实体所执行的步骤在该协议层中完成。例如,PDCP实体所执行的步骤在PDCP层中完成。
本申请实施例中所涉及的接入网设备,是网络侧的一种用于发射或接收信号的实体,可以用于将收到的空中帧与网络协议(internet protocol,IP)分组进行相互转换,作为终端设备与接入网的其余部分之间的路由器,其中接入网的其余部分可以包括IP网络等。接入网设备还可以协调对空中接口的属性管理。例如,接入网设备可以是LTE中的演进型基站(evolutional Node B,eNB或e-NodeB),还可以是新无线控制器(new radiocontroller,NR controller),可以是5G***中的gNode B(gNB),可以是集中式网元(centralized unit),可以是新无线基站,可以是射频拉远模块,可以是微基站,可以是中继(relay),可以是分布式网元(distributed unit),可以是接收点(transmissionreception point,TRP)或传输点(transmission point,TP)或者任何其它无线接入设备,但本申请实施例不限于此。
本申请实施例中涉及的终端设备,是用户侧的一种用于接收或发射信号的实体。终端设备可以是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。终端设备也可以是连接到无线调制解调器的其他处理设备。终端设备可以与无线接入网(radio access network,RAN)进行通信。终端设备也可以称为无线终端、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobilestation)、移动台(mobile)、远程站(remote station)、接入点(access point)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device)、或用户设备(user equipment,UE)等等。终端设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,终端设备还可以是个人通信业务(personal communication service,PCS)电话、无绳电话、会话发起协议(session initiation protocol,SIP)话机、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、等设备。常见的终端设备例如包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、车辆、路边设备、飞行器、可穿戴设备,例如智能手表、智能手环、计步器等,但本申请实施例不限于此。以下对本申请所提供的通信方法及相关设备进行详细地介绍。
为了能够提高下行数据的传输速率,本申请实施例提供了一种数据处理方法及装置,下面进一步对本申请实施例提供的数据处理方法及装置进行详细介绍。
请参见图4,图4为本申请实施例提供了一种数据处理方法的流程示意图。该方法可以应用于终端设备包括的PDCP实体中,当PDCP实体执行该数据处理方法时,可以包括以下步骤:
410、确定目标数据包的类型为传输控制协议TCP报文到达确认ACK。
PDCP实体可以在检测到类型为TCP ACK的数据包时确定该数据包为目标数据包。其中,该目标数据包可以来自终端设备的中高层。PDCP实体可以在确定该目标数据包后,就自动为其分配一个序列号(SN编号),该序列号称为初始序列号。该初始序列号是根据已经占用的序列号来确定的。例如,序列号已经被使用到了400,那么当PDCP实体确定该目标数据包为TCP ACK,就可以自动为其分配序列号为401,该401就是目标数据包的初始序列号。
420、将目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,该目标序列号小于初始序列号。
在一种可能的实现方式中,该目标序列号可以是该待发送数据包队列中的待发送的第一个数据包的序列号。PDCP实体中,待发送数据包队列中各个数据包的序列号是由小到大排列的,也就是说,PDCP实体可以将该目标数据包放在待发送数据包队列中的最前面。那么相应地,待发送数据包队列中的其他数据包的序列号都会因为该目标数据包的序列号的修改而产生相应的变动。PDCP实体可以针对待发送数据包队列中除该目标数据包以外的各个数据包,更新数据包的序列号,更新后数据包的序列号为更新前的数据包的序列号与1之和。
例如,如图5所示为一种确定目标序列号的方法示意图。该示意图中包括待发送数据包队列。在该待发送数据包队列中,PDCP实体已将序列号为0~99的数据包都发送出去,且序列号为100~400的数据目前正处于待发送状态。当PDCP实体确定了一个目标数据包为TCP ACK,PDCP实体就会自动分配的初始序列号就应该为401,即排到该待发送数据包队列的最后。考虑到应及时发送该目标数据包,PDCP实体此时应目标数据包的序列号由初始序列号修改为目标序列号。该目标序列号可以是待发送数据包队列中待发送的第一个数据包的序列号,即100。此时,PDCP实体可以将该目标数据包的序列号设置为100,相应地,将其他的所有的待发送数据的序列号均向后顺移一个单位。如,原先序列号为100的数据包顺移后为101,原先序列号为210的数据包顺移为211,原先序列号为400的数据包顺移为401,以此类推。这样PDCP实体可以在下一次就将该目标数据包发送出去,不需要排队到序列号为100~400的数据包之后,即不需要排队在初始序列号401处。
在一种可能的实现方式中,PDCP实体可以针对待发送数据包队列中的各个数据包,更新数据包的序列号,更新后数据包的序列号为更新前的数据包的序列号与1之和。此时该待发送数据包队列中的待发送的第一个数据包的位置则空出,PDCP实体可以将该第一个数据包的位置对应的序列号确定为该目标数据包的目标序列号。换言之,PDCP实体也可以先将待发送数据包队列中的除该目标数据包的序列号都进行加1运算,则可以留出待发送数据包队列中待发送的第一个数据包的位置,该第一个数据包的位置则可以为目标序列号。
在一种可能的实现方式中,若待发送数据包队列中不存在待发送的数据包,那么PDCP实体确认的目标数据包的初始序列号则与目标序列号相同。
在一种可能的实现方式中,类型为TCP ACK的数据包包括确认号;该确认号用于指示终端设备期待接收到的下一个数据包的数据序号,确认号携带于上行数据中,数据序号携带于下行数据中。PDCP实体可以确定待发送数据包队列中与该目标数据包匹配的第一数据包,其中该第一数据包与目标数据包属于同一数据流,且第一数据包中的确认号小于目标数据包的确认号。那么PDCP实体就可以将该第一数据包从待发送数据包队列中删除。删除该第一数据包,PDCP实体可以对该待发送数据包队列中的其他的数据包的序列号进行相应地变动,例如将该第一数据包之后的数据包的序列号进行减1的运算。这是因为,该目标数据包较第一数据包更新,目标数据包的确认号可以指示接收到的下行数据中序列号为该目标数据包中的确认号之前的所有数据,第一数据包可以指示接收到的下行数据中序列号为该第一数据包中确认号之前的所有数据。这样目标数据包的确认号所指示的范围就可以覆盖第一数据包的确认号所指示的范围。
举例来说,若第一数据包的序列号为200,第一数据包的确认号为101,目标数据包的确认号为301,待发送数据包队列中各个数据包的序列号分布为100~400。那么PDCP实体可以确定序列号100为该目标数据包的目标序列号,进一步地,通过对比发现第一数据包的确认号(101)小于目标数据包的确认号(301)。说明,目标数据包的确认号可以指示接收到了下行数据中序列号为300之前的数据,第一数据包的确认号可以指示接收到了下行数据中序列号为100之前的数据。那么当PDCP实体确认了目标数据包更优先发送时,就可以将第一数据包删除,因为此时的第一数据包的作用已失效。
在一种可能的实现方式中,类型为TCP ACK的数据包包括确认号。PDCP实体可以从待发送数据包队列中确定该目标数据包匹配的第二数据包,该第二数据包与目标数据包属于同一数据流,且第二数据包中的确认号小于目标数据包的确认号。那么PDCP实体就可以将该第二数据包的序列号确定为该目标数据的目标序列号。这是因为,该目标数据包较第二数据包更新,目标数据包的确认号可以指示接收到的下行数据中序列号为该目标数据包中的确认号之前的所有数据,第二数据包可以指示接收到的下行数据中序列号为该第二数据包中的确认号之前的所有数据。这样目标数据包的确认号所指示的范围就覆盖了第二数据包的确认号所指示的范围。PDCP实体在确定目标序列号为第二数据包的序列号后,可以将该第二数据包从该待发送数据包队列中删除。通过这种方式,一方面,可以确保优先发送新TCP ACK数据包(即目标数据包),从而有利于缩短回环时间(Round Trip Time,RTT);另一方面,无需更改未被替换的待发送数据包(包括旧TCP ACK数据包(即第二数据包)和/或非TCP ACK数据包)的序列号,有利于降低开销。
需要说明的是,当与目标数据包匹配的第二数据包的个数为一个以上时,PDCP实体可以将其中序列号最小的第二数据包的序列号确定为目标序列号。
例如,如图6所示为另一种确定目标序列号的方法示意图,其中,该图中包括目标数据包1(TCP ACK4)和目标数据包2(TCP ACK5)。TCP ACK1是该TCP ACK5所匹配的数据包(即TCP ACK5对应的第二数据包1),TCP ACK5中的确认号大于TCP ACK1的确认号,且TCPACK1和TCP ACK5属于同一数据流,即第一数据流。在该例子中,TCP ACK1的在待发送数据包队列中的序列号为101,TCP ACK2的序列号为100,TCP ACK3的序列号为102。PDCP实体可以在确定TCP ACK5为TCP ACK后,自动确定该TCP ACK5的初始序列号为401。当PDCP实体确定与TCP ACK5匹配的TCP ACK1后,则可以将TCP ACK1的序列号确定为TCP ACK5的目标序列号。则PDCP实体可以将TCP ACK5的序列号由初始序列号(401)修改为目标序列号(101),并且PDCP实体可以将TCP ACK1从待发送数据包队列中删除。
又例如,图6中,TCP ACK2和TCP ACK3是TCP ACK4所匹配的数据包(即TCP ACK2和TCP ACK3都是TCP ACK4对应的第二数据包2,第二数据包2的个数为2个),TCP ACK4中的确认号大于TCP ACK2和TCP ACK3的确认号,且TCP ACK2、TCP3和TCP ACK4属于同一数据流,即第二数据流。PDCP实体可以在确定TCP ACK4为TCP ACK后,自动确定该TCP ACK4的初始序列号为402。当PDCP实体确定与TCP ACK4匹配的TCP ACK2和TCP ACK3后,则可以确定TCP ACK2和TCP ACK3中序列号较小的TCP ACK的序列号为目标序列号。由于TCP ACK2的序列号(100)小于TCP ACK3的序列号(102),那么PDCP实体就会确定TCP ACK4的目标序列号为TCP ACK2的序列号,即100。并且,PDCP实体还可以将TCP ACK2和TCP ACK3均从该待发送数据包队列中删除。
需要说明的是,属于不同数据流的数据包的确认号是独立的,不同数据流的ACK不会互相干扰。如上述举例中,TCP ACK5与TCP ACK2不属于同一数据流,那么PDCP实体不会将TCP ACK2的序列号作为TCP ACK5的目标序列号,也不会将TCP ACK1的序列号作为TCP ACK4的目标序列号。
在一种可能的实现方式中,PDCP实体可以先从待发送数据包队列中确定该目标数据包匹配的第二数据包,将该第二数据包删除,再确定该第二数据包的序列号为目标数据包的目标序列号。换言之,PDCP实体也可以先将待发送数据包队列中的第二数据包删除,再确定该第二数据包对应的序列号为目标数据包的目标序列号。若第二数据包的个数为一个以上,则PDCP实体可以先删除待发送数据包队列中的所有第二数据包,再确定待发送数据包队列中空出的位置中序列号最小的位置对应的序列号为目标序列号。
430、按照序列号从小到大的顺序发送待发送数据包队列中的各个数据包。
待发送数据包队列中的各个数据包是以从小到大的序列号进行排列的,PDCP实体可以根据该从小到大的顺序发送数据包队列中的各个数据包,这样,就可以实现让目标数据包进行优先发送。
通过本申请实施例,PDCP实体可以在确定目标数据包的类型为TCP ACK后,将目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,其中,该目标序列号小于初始序列号。当PDCP实体按照序列号从小到大的顺序发送待发送数据包队列中的各个数据包时,目标序列号的目标数据包就可以相较于初始序列号的目标数据包得到优先发送。目标数据包得到优先发送后,就可以降低TCP ACK数据包的发送延迟,使得接入网设备可以及时确定终端设备已经接收到了已发送的下行数据,这样就可以避免对已送达的下行数据进行重传,从而有利于提高下行数据的传输速率。
请参见图7,图7为本申请实施例提供的在数据处理装置的单元示意图。图7所示的数据处理装置可以用于执行上述图4所描述的方法实施例中的部分或全部功能。该装置可以是终端设备,也可以是终端设备中的装置,或者是能够和终端设备匹配使用的装置。
该装置的逻辑结构可包括:确定单元710、修改单元720和传输单元730,可选的,该装置还可以包括删除单元740。当该装置被应用于终端设备时:
确定单元710,用于确定目标数据包中包括的数据分组的类型为传输控制协议报文到达确认TCP ACK类型;
修改单元720,用于将所述目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,所述目标序列号小于所述初始序列号;
传输单元730,用于按照序列号从小到大的顺序发送所述待发送数据包队列中的各个数据包。
在一种可能的实现方式中,上述目标序列号为待发送数据包队列中待发送的第一个数据包的序列号。
在一种可能的实现方式中,所述修改单元720还用于针对待发送数据包队列中除目标数据包以外的各个数据包,更新数据包的序列号,更新后数据包的序列号为更新前的数据包的序列号与1之和。
在一种可能的实现方式中,类型为TCP ACK的数据包包括确认号;上述确定单元710还用于确定待发送数据包队列中与目标数据包匹配的第一数据包,第一数据包与目标数据包属于同一数据流,第一数据包中的确认号小于目标数据包中的确认号;删除单元740,用于将第一数据包从待发送数据包队列中删除。
在一种可能的实现方式中,类型为TCP ACK的数据包包括确认号;上述目标序列号为第二数据包的序列号;第二数据包为待发送数据包队列中与目标数据包匹配的数据包,其中,第二数据包与目标数据包属于同一数据流,第二数据包中的确认号小于目标数据包中的确认号。
在一种可能的实现方式中,上述删除单元740还用于将第二数据包从待发送数据包队列中删除。
请参见图8,图8为本申请实施例提供的一种数据处理装置的实体结构简化示意图,该装置包括处理器810、存储器820和通信接口830,该处理器810、存储器820以及通信接口830通过一条或多条通信总线连接。该数据处理装置还可以是芯片、或芯片模组等。
处理器810被配置为支持数据处理装置执行图4中方法相应的功能。应理解,本申请实施例中,所述处理器810可以为中央处理单元(central processing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器820用于存储程序代码等。本申请实施例中的存储器820可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electrically EPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(static RAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
通信接口830用于收发数据、信息或消息等,也可以描述为收发器、收发电路等。
在本申请实施例中,当该数据处理装置应用于终端设备时,该处理器810调用存储器820中存储的程序代码以执行以下操作:
处理器810调用存储器820中存储的程序代码确定目标数据包中包括的数据分组的类型为传输控制协议报文到达确认TCP ACK类型;
处理器810调用存储器820中存储的程序代码将所述目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,所述目标序列号小于所述初始序列号;
控制通信接口830按照序列号从小到大的顺序发送所述待发送数据包队列中的各个数据包。
在一种可能的实现方式中,上述目标序列号为待发送数据包队列中待发送的第一个数据包的序列号。
在一种可能的实现方式中,所处理器810调用存储器820中存储的程序代码针对待发送数据包队列中除目标数据包以外的各个数据包,更新数据包的序列号,更新后数据包的序列号为更新前的数据包的序列号与1之和。
在一种可能的实现方式中,类型为TCP ACK的数据包包括确认号;处理器810调用存储器820中存储的程序代码确定待发送数据包队列中与目标数据包匹配的第一数据包,第一数据包与目标数据包属于同一数据流,第一数据包中的确认号小于目标数据包中的确认号;处理器810调用存储器820中存储的程序代码将第一数据包从待发送数据包队列中删除。
在一种可能的实现方式中,类型为TCP ACK的数据包包括确认号;上述目标序列号为第二数据包的序列号;第二数据包为待发送数据包队列中与目标数据包匹配的数据包,其中,第二数据包与目标数据包属于同一数据流,第二数据包中的确认号小于目标数据包中的确认号。
在一种可能的实现方式中,处理器810调用存储器820中存储的程序代码将第二数据包从待发送数据包队列中删除。
关于上述实施例中描述的装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
请参见图9,图9为本申请实施例提供的一种数据处理装置的芯片简化示意图,该芯片中包括处理器910和数据接口920。该芯片可以用于处理如图4中方法相应的功能。该芯片可以是如图8所示的数据处理装置,也可以包含于如图8所示的数据处理装置中。该芯片也可以包含于芯片模组中。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例处理设备中的单元可以根据实际需要进行合并、划分和删减。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态存储盘Solid State Disk(SSD))等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种数据处理方法,其特征在于,应用于终端设备包括的分组数据汇聚协议PDCP实体,所述方法包括:
确定目标数据包的类型为传输控制协议TCP报文到达确认ACK;
将所述目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,所述目标序列号小于所述初始序列号;
按照序列号从小到大的顺序发送所述待发送数据包队列中的各个数据包。
2.根据权利要求1所述的方法,其特征在于,所述目标序列号为所述待发送数据包队列中待发送的第一个数据包的序列号。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
针对待发送数据包队列中除所述目标数据包以外的各个数据包,更新所述数据包的序列号,更新后所述数据包的序列号为更新前的所述数据包的序列号与1之和。
4.根据权利要求1或2所述的方法,其特征在于,类型为所述TCP ACK的数据包包括确认号;所述方法还包括:
确定所述待发送数据包队列中与所述目标数据包匹配的第一数据包,所述第一数据包与所述目标数据包属于同一数据流,所述第一数据包中的确认号小于所述目标数据包中的确认号;
将所述第一数据包从所述待发送数据包队列中删除。
5.根据权利要求1所述的方法,其特征在于,类型为所述TCP ACK的数据包包括确认号;
所述目标序列号为第二数据包的序列号;
所述第二数据包为所述待发送数据包队列中与所述目标数据包匹配的数据包,其中,所述第二数据包与所述目标数据包属于同一数据流,所述第二数据包中的确认号小于所述目标数据包中的确认号。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述第二数据包从所述待发送数据包队列中删除。
7.一种数据处理装置,其特征在于,包括:
确定单元,用于确定目标数据包中包括的数据分组的类型为传输控制协议报文到达确认TCP ACK类型;
修改单元,用于将所述目标数据包在待发送数据包队列中的序列号由初始序列号修改为目标序列号,所述目标序列号小于所述初始序列号;
传输单元,用于按照序列号从小到大的顺序发送所述待发送数据包队列中的各个数据包。
8.根据权利要求7所述的装置,其特征在于,所述目标序列号为所述待发送数据包队列中待发送的第一个数据包的序列号。
9.一种数据处理装置,其特征在于,包括处理器、存储器和通信接口,所述处理器、所述存储器和所述通信接口相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至6中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1至6中任一项所述的数据处理方法。
11.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至6中任一项所述的数据处理方法。
12.一种芯片模组,其特征在于,该芯片模组包括如权利要求11所述的芯片。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011644118.XA CN112615701B (zh) | 2020-12-30 | 2020-12-30 | 一种数据处理方法及装置 |
PCT/CN2021/142145 WO2022143684A1 (zh) | 2020-12-30 | 2021-12-28 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011644118.XA CN112615701B (zh) | 2020-12-30 | 2020-12-30 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112615701A true CN112615701A (zh) | 2021-04-06 |
CN112615701B CN112615701B (zh) | 2023-02-14 |
Family
ID=75253270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011644118.XA Active CN112615701B (zh) | 2020-12-30 | 2020-12-30 | 一种数据处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112615701B (zh) |
WO (1) | WO2022143684A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535224A (zh) * | 2021-07-20 | 2021-10-22 | 广州小鹏汽车科技有限公司 | 数据管理方法及其装置、电子设备和可读存储介质 |
CN114585019A (zh) * | 2022-05-05 | 2022-06-03 | 深圳国人无线通信有限公司 | 一种5g下行tcp的ack包防拥塞方法、基站、终端与*** |
WO2022143684A1 (zh) * | 2020-12-30 | 2022-07-07 | 展讯半导体(成都)有限公司 | 一种数据处理方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006283A (zh) * | 2010-10-21 | 2011-04-06 | 意法·爱立信半导体(北京)有限公司 | 数据传输的方法和装置 |
CN102420684A (zh) * | 2011-11-04 | 2012-04-18 | 展讯通信(上海)有限公司 | Tcp数据流的处理方法以及通信设备 |
CN102457986A (zh) * | 2010-10-29 | 2012-05-16 | 联芯科技有限公司 | 终端的上行数据传输方法及终端 |
CN104093170A (zh) * | 2014-06-10 | 2014-10-08 | 北京创毅视讯科技有限公司 | 基于tcp的数据传输方法和tcp代理装置 |
CN106209325A (zh) * | 2015-04-30 | 2016-12-07 | 中兴通讯股份有限公司 | 一种tcp ack报文处理方法及装置 |
CN108259475A (zh) * | 2016-12-29 | 2018-07-06 | 西普霍特公司 | 处理传输控制协议会话中的分组的***和方法 |
CN110999221A (zh) * | 2017-06-08 | 2020-04-10 | 海恩尼斯港研究公司 | 具有修改通知的动态tcp流处理 |
US20200153594A1 (en) * | 2018-11-13 | 2020-05-14 | Samsung Electronics Co., Ltd. | Methods and systems for transmission of tcp ack packets |
CN111800499A (zh) * | 2020-06-30 | 2020-10-20 | 北京百度网讯科技有限公司 | 一种数据传输方法、装置及电子设备 |
CN111865828A (zh) * | 2020-07-24 | 2020-10-30 | 展讯通信(上海)有限公司 | 数据传输方法、***、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763314B (zh) * | 2014-01-06 | 2017-01-11 | 南京信息工程大学 | 实际部署的跌倒检测***中用户层数据的处理方法及装置 |
US10499411B2 (en) * | 2016-11-04 | 2019-12-03 | Mediatek Inc. | Method and apparatus for data transmission enhancements in mobile communications |
US10511992B2 (en) * | 2016-12-19 | 2019-12-17 | Qualcomm Incorporated | Prioritizing packets in wireless communications |
CN109600853B (zh) * | 2017-09-30 | 2021-03-05 | 华为技术有限公司 | 一种上行数据传输方法及装置 |
CN112615701B (zh) * | 2020-12-30 | 2023-02-14 | 展讯半导体(成都)有限公司 | 一种数据处理方法及装置 |
-
2020
- 2020-12-30 CN CN202011644118.XA patent/CN112615701B/zh active Active
-
2021
- 2021-12-28 WO PCT/CN2021/142145 patent/WO2022143684A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006283A (zh) * | 2010-10-21 | 2011-04-06 | 意法·爱立信半导体(北京)有限公司 | 数据传输的方法和装置 |
CN102457986A (zh) * | 2010-10-29 | 2012-05-16 | 联芯科技有限公司 | 终端的上行数据传输方法及终端 |
CN102420684A (zh) * | 2011-11-04 | 2012-04-18 | 展讯通信(上海)有限公司 | Tcp数据流的处理方法以及通信设备 |
CN104093170A (zh) * | 2014-06-10 | 2014-10-08 | 北京创毅视讯科技有限公司 | 基于tcp的数据传输方法和tcp代理装置 |
CN106209325A (zh) * | 2015-04-30 | 2016-12-07 | 中兴通讯股份有限公司 | 一种tcp ack报文处理方法及装置 |
CN108259475A (zh) * | 2016-12-29 | 2018-07-06 | 西普霍特公司 | 处理传输控制协议会话中的分组的***和方法 |
CN110999221A (zh) * | 2017-06-08 | 2020-04-10 | 海恩尼斯港研究公司 | 具有修改通知的动态tcp流处理 |
US20200153594A1 (en) * | 2018-11-13 | 2020-05-14 | Samsung Electronics Co., Ltd. | Methods and systems for transmission of tcp ack packets |
CN111800499A (zh) * | 2020-06-30 | 2020-10-20 | 北京百度网讯科技有限公司 | 一种数据传输方法、装置及电子设备 |
CN111865828A (zh) * | 2020-07-24 | 2020-10-30 | 展讯通信(上海)有限公司 | 数据传输方法、***、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
LG ELECTRONICS INC.: ""R2-1701463 Prioritizing TCP ACK transmission"", 《3GPP TSG_RAN\WG2_RL2》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022143684A1 (zh) * | 2020-12-30 | 2022-07-07 | 展讯半导体(成都)有限公司 | 一种数据处理方法及装置 |
CN113535224A (zh) * | 2021-07-20 | 2021-10-22 | 广州小鹏汽车科技有限公司 | 数据管理方法及其装置、电子设备和可读存储介质 |
CN114585019A (zh) * | 2022-05-05 | 2022-06-03 | 深圳国人无线通信有限公司 | 一种5g下行tcp的ack包防拥塞方法、基站、终端与*** |
Also Published As
Publication number | Publication date |
---|---|
CN112615701B (zh) | 2023-02-14 |
WO2022143684A1 (zh) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112615701B (zh) | 一种数据处理方法及装置 | |
US8988994B2 (en) | System and method for creating logical radio link control (RLC) and medium access control (MAC) protocol data units (PDUs) in mobile communication system | |
CN109983740B (zh) | 数据传输方法 | |
JP7258882B2 (ja) | 方法及び装置 | |
US20170222943A1 (en) | Method and apparatus for reordering | |
CN110944358B (zh) | 数据传输方法和设备 | |
CN110463239B (zh) | 数据传输的方法、终端设备和网络设备 | |
WO2019213922A1 (zh) | 中继网络中节点间转发数据的方法和网络节点 | |
CN114979839A (zh) | 一种传输控制协议代理方法及通信装置 | |
JPWO2018127985A1 (ja) | 無線通信装置、無線通信システム、および無線通信方法 | |
WO2017219216A1 (zh) | 一种数据传输方法、相关设备及*** | |
US8073012B2 (en) | Method and related apparatus for handling packet discard in a wireless communications system | |
JP7502691B2 (ja) | 無線通信装置、無線通信方法、及び無線通信システム | |
EP3200526B1 (en) | Data transmission method and device | |
WO2019214619A1 (zh) | 一种数据处理的方法及设备 | |
CN109756306B (zh) | 信息传输方法和通信设备 | |
US9246638B2 (en) | Method and apparatus for polling transmission status in a wireless communications system | |
CN113541895B (zh) | 一种数据传输方法及相关装置 | |
WO2022036601A1 (zh) | 一种上报终端能力的方法及装置、终端、网络设备 | |
WO2021087729A1 (zh) | 一种指示解压缩对象的方法及装置、通信设备 | |
JP2009135931A (ja) | 最大受信状態変数を設定する方法及び通信装置 | |
CN114846774A (zh) | 一种通信方法及装置 | |
US20090042514A1 (en) | Transmission method, transmission device and computer program | |
US9794930B1 (en) | Method and apparatus for packet data unit processing for retransmission | |
WO2023123515A1 (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 |