CN114640725A - 数据传输方法及电子设备 - Google Patents
数据传输方法及电子设备 Download PDFInfo
- Publication number
- CN114640725A CN114640725A CN202210494112.1A CN202210494112A CN114640725A CN 114640725 A CN114640725 A CN 114640725A CN 202210494112 A CN202210494112 A CN 202210494112A CN 114640725 A CN114640725 A CN 114640725A
- Authority
- CN
- China
- Prior art keywords
- entity
- control information
- packet loss
- tcp
- loss control
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1806—Go-back-N protocols
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- 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
- H04W28/04—Error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供了一种数据传输方法及电子设备。在该方法中,电子设备基于TCP/IP技术和蜂窝无线通信技术进行无线通信,当电子设备进行上行数据传输时,PDCP实体会根据接收到的丢包控制信息,对匹配的上行冗余数据包进行丢包处理,以此降低上行数据的拥塞程度,提升用户上网体验。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法及电子设备。
背景技术
使用手机等无线终端上网,已经成为人们生活中不可或缺的部分。
当用户基于4G、5G蜂窝网络上网时,由于一些因素可能会导致上行数据速率受限。上行数据速率受限容易导致TCP(Transmission Control Protocol,传输控制协议)数据包超时重传,从而加剧上行数据传输的拥塞程度,使用户上网更加卡顿,影响了用户的上网体验。
发明内容
为了解决上述技术问题,本申请实施例提供一种数据传输方法及电子设备。在该方法中,电子设备基于TCP/IP技术和蜂窝无线通信技术进行无线通信,当电子设备进行上行数据传输时,PDCP实体会根据接收到的丢包控制信息,对匹配的上行冗余数据包进行丢包处理,以此降低上行数据的拥塞程度,提升用户上网体验。
第一方面,本申请实施例提供一种数据传输方法。该方法应用于电子设备中,电子设备基于TCP/IP技术和蜂窝无线通信技术进行无线通信。其中,该方法具体包括:电子设备的分组数据汇聚协议PDCP实体接收目标丢包控制信息,根据目标丢包控制信息,对匹配的上行数据包进行丢包处理。这样,PDCP实体会将一些冗余的上行数据包丢弃,不再对其进行上行调度,降低了上行数据的拥塞程度,提升用户上网体验。
其中,目标丢包控制信息用于指示PDCP实体将冗余的上行数据包丢弃。
根据第一方面,目标丢包控制信息的封装格式符合TCP/IP协议。这样,PDCP实体无需以自定义的方式对其进行解析,与其他TCP/IP数据包统一处理即可,简化了PCDP实体的操作。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:TCP实体在发送与目标数据包对应的重传数据包之后,接收到目标数据包的确认信息;TCP实体根据重传数据包的信息,生成初始丢包控制信息,并发送至IP实体;IP实体对初始丢包控制信息进行封装,得到目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体。
由于超时或其他原因,如果电子设备的客户端TCP实体在对某数据包进行重传后又收到了该数据包的ACK,则与该数据包对应的重传数据包均为冗余数据包,会增加PDCP实体上行数据的拥塞程度。由此,如果电子设备的客户端TCP实体在对某数据包进行重传后又收到了该数据包的ACK,则根据重传数据包的信息生成丢包控制信息,并经IP实体发送到对应的PDCP实体,以使PDCP实体基于丢包控制信息进行上行数据丢包处理,降低上行数据的拥塞程度,提升用户上网体验。
其中,目标数据包指的是任意一个数据包。示例性的,目标数据包的确认信息可以是ACK(确认)。
其中,初始丢包控制信息符合TCP协议。
初始丢包控制信息中至少可以包括:消息类型、待丢弃数据包列表长度和待丢弃数据包列表。
初始丢包控制信息中待丢弃数据包的信息可以包括:端口信息(目的端口和源端口)和序列号。
初始丢包控制信息中还可以包括TCP连接复位标志;其中,TCP连接复位标志用于指示TCP连接是否发生异常复位。
初始丢包控制信息中还可以包括传输协议类型,传输协议类型为TCP。
其中,目标丢包控制信息中至少可以包括:消息类型、待丢弃数据包列表长度和待丢弃数据包列表。
目标丢包控制信息中待丢弃数据包的信息可以包括:IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号。
目标丢包控制信息中还可以包括TCP连接复位标志;其中,TCP连接复位标志用于指示TCP连接是否发生异常复位。
目标丢包控制信息中还可以包括传输协议类型,传输协议类型为TCP。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:TCP实体在检测到TCP连接异常时,对TCP连接进行复位;TCP实体根据复位的TCP连接信息,生成初始丢包控制信息,并发送至IP实体;IP实体对初始丢包控制信息进行封装,得到目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体。
如果客户端TCP实体检测到TCP连接异常,则会触发TCP连接异常复位,则该异常复位的TCP连接下未确认的数据包均为冗余数据包,会增加无线终端的PDCP实体上行数据的拥塞程度。由此,如果UE的客户端TCP实体检测到TCP连接异常并触发复位,则根据复位的TCP连接信息生成丢包控制信息,并经IP实体发送到对应的PDCP实体,以使PDCP实体基于丢包控制信息进行丢包处理,降低上行数据的拥塞程度,提升用户上网体验。
其中,关于初始丢包控制信息和目标丢包控制信息的解释可以参见前述,在此不再赘述。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:TCP实体在接收到对端TCP实体发送的TCP连接复位数据包;TCP实体根据TCP连接复位数据包,生成初始丢包控制信息,并发送至IP实体;IP实体对初始丢包控制信息进行封装,得到目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体。
如果服务端TCP实体检测到TCP连接异常,则会触发TCP连接异常复位,则该异常复位的TCP连接下客户端TCP实体发送的数据包均为冗余数据包,会增加无线终端的PDCP实体上行数据的拥塞程度。由此,如果UE的客户端TCP实体接收到TCP连接复位数据包,则根据该TCP连接复位数据包生成丢包控制信息,经IP实体发送到对应的PDCP实体,以使PDCP实体基于丢包控制信息进行丢包处理,降低上行数据的拥塞程度,提升用户上网体验。
其中,关于初始丢包控制信息和目标丢包控制信息的解释可以参见前述,在此不再赘述。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:在PDCP实体的数量为多个时,IP实体将目标丢包控制信息发送至PDCP实体,可以包括:IP实体将目标丢包控制信息发送至NAS实体;NAS实体将目标丢包控制信息发送至匹配的一个PDCP实体。
由于目标丢包控制信息符合TCP/IP协议,则IP实体可以将目标丢包控制信息发送至NAS实体进行过滤,以通过NAS实体将丢包控制信息发送至匹配的一个PDCP实体。这样,在丢包控制信息的封装格式符合TCP/IP协议时,可以通过NAS实体对丢包控制信息进行传输过滤,能够提高丢包控制信息传输的精准度,避免将丢包控制信息发送至不匹配的PDCP实体进行处理造成资源浪费的问题。
根据第一方面,或者以上第一方面的任意一种实现方式,目标丢包控制信息的封装格式为自定义的。这样,目标丢包控制信息的封装格式比较灵活。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:TCP实体在发送与目标数据包对应的重传数据包之后,接收到目标数据包的确认信息;TCP实体根据重传数据包的信息,生成目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体。
由于超时或其他原因,如果电子设备的客户端TCP实体在对某数据包进行重传后又收到了该数据包的ACK,则与该数据包对应的重传数据包均为冗余数据包,会增加PDCP实体上行数据的拥塞程度。由此,如果电子设备的客户端TCP实体在对某数据包进行重传后又收到了该数据包的ACK,则根据重传数据包的信息生成丢包控制信息,并直接发送到对应的PDCP实体,以使PDCP实体基于丢包控制信息进行上行数据丢包处理,降低上行数据的拥塞程度,提升用户上网体验。
其中,关于目标丢包控制信息的解释可以参见前述,在此不再赘述。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:TCP实体在检测到TCP连接异常时,对TCP连接进行复位;TCP实体根据复位的TCP连接信息,生成目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体。
如果客户端TCP实体检测到TCP连接异常,则会触发TCP连接异常复位,则该异常复位的TCP连接下未确认的数据包均为冗余数据包,会增加无线终端的PDCP实体上行数据的拥塞程度。由此,如果UE的客户端TCP实体检测到TCP连接异常并触发复位,则根据复位的TCP连接信息生成丢包控制信息,并直接发送到对应的PDCP实体,以使PDCP实体基于丢包控制信息进行丢包处理,降低上行数据的拥塞程度,提升用户上网体验。
其中,关于目标丢包控制信息的解释可以参见前述,在此不再赘述。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:TCP实体在接收到对端TCP实体发送的TCP连接复位数据包;TCP实体根据TCP连接复位数据包,生成目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体。
其中,对端TCP实体指的是服务端实体。
如果服务端TCP实体检测到TCP连接异常,则会触发TCP连接异常复位,则该异常复位的TCP连接下客户端TCP实体发送的数据包均为冗余数据包,会增加无线终端的PDCP实体上行数据的拥塞程度。由此,如果UE的客户端TCP实体接收到TCP连接复位数据包,则根据该TCP连接复位数据包生成丢包控制信息,并直接发送到对应的PDCP实体,以使PDCP实体基于丢包控制信息进行丢包处理,降低上行数据的拥塞程度,提升用户上网体验。
其中,关于目标丢包控制信息的解释可以参见前述,在此不再赘述。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:在PDCP实体的数量为多个时,TCP实体将目标丢包控制信息发送至PDCP实体,可以包括:TCP实体将目标丢包控制信息发送至每个PDCP实体。
由于目标丢包控制信息为自定义格式,则TCP实体需要将目标丢包控制信息发送至每个PDCP实体,以使各个PDCP实体根据接收到的丢包控制信息进行上行数据包的丢弃处理,确保了冗余的上行数据包能够被成功丢弃。
根据第一方面,或者以上第一方面的任意一种实现方式,PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理,可以包括:PDCP实体将与待丢弃数据包列表匹配的上行数据包进行丢包处理。
根据第一方面,或者以上第一方面的任意一种实现方式,PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理,可以包括:在TCP连接复位标志指示TCP连接发生异常复位时,PDCP实体将与异常复位的TCP连接对应的上行数据包进行丢包处理;在TCP连接复位标志指示TCP连接未发生异常复位时,PDCP实体将与待丢弃数据包列表匹配的上行数据包进行丢包处理。
第二方面,本申请实施例提供一种电子设备。该电子设备包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行如第一方面以及第一方面中任意一项的数据传输方法。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供一种计算机可读存储介质。该计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行第一方面以及第一方面中任意一项的数据传输方法。
第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请实施例提供一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面或第一方面中任意一项的数据传输方法。
第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1为示例性示出的通信系统架构示意图;
图2为示例性示出的5G通信系统的一种架构示意图;
图3为示例性示出的5G通信系统的另一种架构示意图;
图4为示例性示出的5G新空口的无线协议栈;
图5为示例性示出的从应用客户端到应用服务端的上行数据传输流程示意图;
图6为示例性示出的应用场景示意图;
图7为示例性示出的应用客户端与服务端之间的数据交互流程;
图8为示例性示出的丢包控制信息的封装格式;
图9为本申请实施例提供的各模块的交互示意图;
图10为本申请实施例提供的PDCP实体根据丢包控制信息丢弃冗余数据包的流程示意图;
图11为本申请实施例提供的丢包控制信息的传输流程示意图;
图12为本申请实施例提供的各模块的交互示意图;
图13为本申请实施例提供的丢包控制信息的传输流程示意图;
图14为本申请实施例提供的各模块的交互示意图;
图15为本申请实施例提供的各模块的交互示意图;
图16为本申请实施例提供的各模块的交互示意图;
图17为本申请实施例提供的各模块的交互示意图;
图18为本申请实施例提供的数据传输方法的流程示意图;
图19为示例性示出的电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
本申请实施例提供的技术方案适用于3G通信系统、4G通信系统、5G通信系统、5G以上的通信系统,以及后续演进的支持第三代合作伙伴计划(3rd Generation PartnershipProject,3GPP)协议版本的通信系统,例如:CDMA(Code Division Multiple Access,码分多址)系统、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)系统、CDMA(Code Division Multiple Access,码分多址)2000系统、TD-SCDMA(Time Division-Synchronization Code Division Multiple Access,时分同步码分多址)系统、LTE(LongTerm Evolution,长期演进系统),FDD(Frequency Division Duplex,频分双工)-LTE系统、TDD(Time Division Duplex,时分双工)-LTE系统、5G NR(New Radio,新空口)系统等,本申请实施例对此不进行限定。
图1示例性的示出了一种通信系统系统架构的示意图。如图1所示,该系统架构可以包括:终端设备10、接入网设备20和核心网设备30。
终端设备10可以指UE(User Equipment,用户设备),例如智能手机、平板电脑、笔记本电脑、智能可穿戴设备、PDA(Personal Digital Assistant,个人数字助理)等。终端设备10还可以是接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端等无线通信设备,本申请实施例对此并不限定。
接入网设备20是一种部署在接入网中用以为终端设备10提供无线通信功能的设备。接入网设备20可以包括各种形式的宏基站,微基站,中继站,接入点等等。在采用不同的无线接入技术的系统中,具备接入网设备功能的设备的名称可能会有所不同,例如在5G NR系统中,称为gNodeB或者gNB。随着通信技术的演进,“接入网设备”这一名称可能会变化。为方便描述,上述为终端设备10提供无线通信功能的装置可以统称为接入网设备。
核心网设备30是指可以为终端设备10提供会话管理、移动性关系、策略管理、安全认证等功能的设备。示例性的,核心网设备30可以包括第一核心网设备和第二核心网设备,其中,第一核心网设备负责终端设备10的接入管理和移动性管理,第二核心网设备负责终端设备10的会话管理。可选的,在5G NR系统中,第一核心网设备可以实现AMF(Access andMobility Management Function,接入和移动性管理功能),第二核心网设备可以实现SMF(Session Management Function,会话管理功能)。
下述以5G NR系统为例,对本申请实施例提供的技术方案进行详细解释说明。
图2示例性的示出了5G NR系统的架构示意图。如图2所示,该系统架构可以包括:UE、无线接入网(Radio Access Network,RAN)、核心网和以及数据网络(Data Network,DN)。终端设备可以通过无线空口连接到运营商部署的无线接入网,继而通过核心网连接到数据网络。
其中,UE、RAN、Core是系统架构的主要成分,逻辑上它们可以分为用户面和控制面两部分,控制面负责移动网络的管理,用户面负责业务数据的传输。
UE:是移动用户与网络交互的入口,能够提供基本的计算能力、存储能力,向用户显示业务窗口,接受用户操作输入。UE采用下一代空口技术,与RAN建立信号连接、数据连接,从而传输控制信号和业务数据到移动网络。
RAN:类似于传统网络里面的基站,部署在靠近UE的位置,为特定区域的授权用户提供入网功能,并能够根据用户的级别,业务的需求等使用不同质量的传输隧道传输用户数据。RAN能够管理自身的资源,合理利用,按需为UE提供接入服务,把控制信号和用户数据在UE和核心网之间转发。
Core:负责维护移动网络的签约数据,管理移动网络的网元,为UE提供会话管理、移动性管理、策略管理、安全认证等功能。在UE附着的时候,为UE提供入网认证;在UE有业务请求时,为UE分配网络资源;在UE移动的时候,为UE更新网络资源;在UE空闲的时候,为UE提供快恢复机制:在UE去附着的时候,为UE释放网络资源;在UE有业务数据时,为UE提供数据路由功能,如转发上行数据到DN:或者从DN接收UE下行数据,转发到RAN,从而发送给UE。
DN:可对应于多种不同的业务领域,例如IMS(IP Multimedia Core NetworkSubsystem,IP多媒体网络子系统)、互联网(Internet)、第三方应用相关的业务领域等,主要用于为终端设备提供多种数据业务服务,其中可以包含例如服务器(如第三方的应用服务器)、路由器、网关等网络设备。
图3是在图2的基础上确定的详细架构。其中,核心网用户面包括UPF(User PlaneFunction,用户面功能);核心网控制面包括AUSF(Authentication Server Function,认证服务器功能)、AMF、SMF、NSSF(Network Slice Selection Function,网络切片选择功能)、NEF(Network Exposure Function,网络开放功能)、NRF(NF Repository Function,网络功能仓储功能)、UDM(Unified Data Management,统一数据管理)、PCF(Policy ControlFunction,策略控制功能),以及AF(Application Function,应用功能)。这些功能实体的功能简述如下:
UPF实体:根据SMF的路由规则执行用户数据包转发;
AUSF实体:执行UE的安全认证;
AMF实体:UE接入管理和移动性管理;
SMF实体:UE会话管理;
NSSF实体:为UE选择网络切片;
NEF实体:以北向API接口的方式向第三方开放网络功能;
NRF实体:为其他网元提供网络功能实体信息的存储功能和选择功能;
UDM实体:用户签约上下文管理;
PCF实体:用户策略管理;
AF实体:用户应用管理。
在图3所示系统架构中,N1接口为UE与AMF之间的参考点;N2接口为RAN和AMF的参考点,用于NAS(Non-Access Stratum,非接入层)消息的发送等;N3接口为RAN和UPF之间的参考点,用于传输用户面的数据等;N4接口为SMF和UPF之间的参考点,用于传输例如N3连接的隧道标识信息、数据缓存指示信息,以及下行数据通知消息等信息;N6接口为UPF和DN之间的参考点,用于传输用户面的数据等。
无线接口协议栈主要分三层,分别为网络层(Layer 3)、数据链路层(Layer 2)和物理层(Layer 1)。其中,网络层(Layer 3)包含NAS层和RRC(Radio Resource Control,无线资源控制)层,数据链路层(Layer 2)包括SDAP(Service Data Adaptation Protocol,服务数据适配协议)层、PDCP(Packet Data Convergence Protocol,分组数据汇聚协议)层、RLC(Radio Link Control,无线链路层控制)层和MAC(Medium Access Control,媒体接入控制)层,物理层(Layer 1)包括PHY(Physical,物理)层。
NR无线协议栈分为两个平面:用户面和控制面。用户面协议栈即用户数据传输采用的协议簇,控制面协议栈即系统的控制信令传输采用的协议簇。图4中(1)和(2)分别示出了NR用户面和控制面的协议栈。如图4中(1)所示,NR用户面协议从上到下依次是:SDAP层、PDCP层、RLC层、MAC层和PHY层;如图4中(2)所示,NR控制面协议从上到下依次为:NAS层、RRC层、PDCP层、RLC层、MAC层和PHY层。其中,UE所有的协议栈都位于UE内,而在网络侧,NAS层不位于基站gNB上,而是在核心网的AMF实体上。这些协议层的功能简述如下:
SDAP层:直接承载IP数据包,只用于用户面;负责QoS(Quality of Service,服务质量)流与DRB(Data Radio Bearer,数据无线承载)之间的映射,为数据包添加QFI(QoSflow ID)标记。
PDCP层:用户面IP头压缩;加密/解密(控制面/用户面);控制面完整性校验,用户面选择性校验;排序和复制检测;分流路由功能(gNodeB的PDCP)。
RLC层:透明模式(Transparent Mode,TM)、非确认模式(Unacknowledged Mode,UM)、确认模式(Acknowledged Mode,AM);分段和重组(UM/AM);纠错(只针对AM,ARQ)。
MAC层:资源调度,逻辑信道和传输信道之间的映射,复用/解复用,HARQ(上下行异步),串联/分段。
PHY层:错误检测、FEC(Forward Error Correction,前向纠错)加密解密、速率匹配、物理信道的映射、调整和解调、频率同步和时间同步、无线测量、MIMO(Multiple InMultiple Out,多进多出)处理、射频处理。
NAS层:UE与AMF之间的连接和移动控制。
RRC层:处理UE与NR之间的所有信令(用户和基站之间的消息),包括系统消息、准入控制、安全管理、小区重选、测量上报、切换和移动性、NAS消息传输、无线资源管理等。
图5示出了从应用客户端到应用服务端的上行数据传输流程。当用户使用的应用基于TCP/IP协议和蜂窝无线通信技术上网时,应用客户端和应用服务端之间需要创建TCP连接。参照图5,响应于用户操作,应用客户端向应用服务端发送数据时,数据在UE的应用层被创建,并交由客户端TCP实体和IP实体进行传输。所有IP数据包会汇聚到PDCP实体,由PDCP实体完成加密、完整性保护等操作,发送给RCL实体,并经过RLC实体、MAC实体和PHY实体(L1实体)处理后经空中接口发送给gNB。gNB经空中接口接收到上行数据,经PHY实体(L1实体)、MAC实体以及RLC实体处理,将数据传输到本端PDCP实体。然后,gNB将数据经核心网设备、数据网络设备路由到应用服务器。应用服务器接收到上行数据,经应用服务器的PHY实体、数据链路层实体、服务端IP实体将数据传输到服务端TCP实体,并最传输到应用服务端,至此完成应用客户端到应用服务端的上行数据传输。本流程未尽详细解释之处可以参照已有技术,在此不再赘述。
关于从应用服务端到应用客户端的下行数据传输流程,可以参照上述上行数据传输流程的逆向流程,在此不再赘述。
当用户基于蜂窝网络上网时,由于一些因素可能会导致上行数据速率受限。上行数据速率受限容易导致TCP数据包超时重传,从而加剧上行数据传输的拥塞程度,使用户上网更加卡顿,影响了用户的上网体验。
在一种应用场景下,例如用户上下班高峰期的地铁场景,上网用户较多且比较密集,参照图6所示,每个UE的蜂窝上行速率会受限。此时,由于蜂窝上行速率受限,应用客户端TCP连接发送的上行数据在PDCP层发送队列中容易长时间得不到上行调度。应用客户端TCP实体在发送报文后,如果未接收到应用服务端TCP实体反馈的确认(ACK),则会触发超时重传该上行报文,并将该重传报文再次经IP实体发送给PDCP实体,继而通过空中接口向gNB传输,从而加剧了上行数据的拥塞程度,使用户的上网体验更加卡顿。
如图7所示为各模块的交互示意图。参照图7,应用客户端与服务端之间的数据传输流程,具体包括:
S101, UE的应用客户端和应用服务器的应用服务端之间建立TCP连接。
UE的应用客户端和应用服务器的应用服务端之间发送数据之前,应用客户端和应用服务端之间需要建立TCP连接。
其中,应用客户端与应用服务端之间可以使用三次握手协议建立TCP连接。示例性的,应用客户端发送一个SYN包给应用服务端,应用服务端收到SYN包后,发送一个带ACK(确认)和SYN(Synchronize Sequence Numbers,同步序列编号)标志的包给应用客户端,应用客户端发送一个带ACK标志的包给应用服务端,握手动作完成,以此完成应用客户端和应用服务端之间TCP连接的建立。
每个应用客户端与应用服务端之间可以建立多个TCP连接,以传输与连接相应对的数据。以某聊天应用客户端为例,该应用客户端与应用服务端之间建立的TCP连接可以包括:与用户登录对应的TCP连接、与数据管理对应的TCP连接,以及与各个聊天用户对应的TCP连接等。
S102, UE的应用客户端将业务数据发送至客户端TCP/IP实体处理。
响应于用户对应用客户端的操作,UE的应用客户端向客户端TCP/IP实体发送业务数据,以通过客户端TCP/IP实体进行处理。
其中,客户端TCP/IP实体处理业务数据,指的是依次通过客户端TCP实体和客户端IP实体进行数据处理。在本申请各实施例中部分描述处,将客户端TCP实体和客户端IP实体简称为客户端TCP/IP实体。
客户端TCP实体将将上层应用业务数据分片并加上端口号封装成数据段,发送到客户端IP实体。客户端IP实体将TCP层数据加上源端和目的端的逻辑(IP)地址封装成数据包。
S103, 客户端TCP/IP实体向UE的PDCP实体发送数据包1。
客户端TCP/IP实体,也即客户端TCP实体和客户端IP实体,将处理后生成的各个IP数据包发送至UE的PDCP实体进行发送。其中,多个TCP连接传输的数据包都会汇聚到UE的PDCP实体进行发送。下述以其中一个IP数据包的传输为例进行解释说明,在此暂且将传输的这个数据包称之为数据包1。
需要说明的是,UE端PDCP实体的数量为一个或多个。通常,针对同一个应用程序,多个TCP连接传输的数据包会汇聚到同一个PDCP实体进行传输。
S104, UE的PDCP实体经过空中接口向gNB发送数据包1。
PDCP实体将读取到的数据封装为PDCP PDU(Protocol Data Unit,协议数据单元)后,发送给RLC实体,并经过RLC实体、MAC实体和PHY实体后发送到空中接口。
其中,PDCP实体可以将读取到的数据作为PDCP SDU(Service Data Unit,业务数据单元),之后将PDCP SDU加上PDCP序列号生成PDCP PDU,并将PDCP PDU发送给RLC实体。RLC实体对PDCP PDU进行封装,得到RLC PDU并发送给MAC实体。MAC实体对RLC PDU进行封装,得到MAC PDU并发送给PHY实体。PHY实体将接收的MAC PDU经过空中接口发送给gNB。
S105, gNB接收数据包1,并将数据包1经核心网和数据网络发送至应用服务器。
gNB经空中接口接收数据包1,数据包1经过PHY实体、MAC实体和RLC实体发送至PDCP实体。进而,gNB将数据包1经核心网和数据网络路由至应用服务器。关于上行数据经核心网和数据网络传输的相关解释说明可以参照已有技术,在此不再赘述。
S106, 应用服务器的服务端TCP/IP实体接收到数据包1,经数据网络和核心网向gNB发送数据包1的ACK。
应用服务器接收到数据包1,数据包1经过PHY实体、数据链路层实体、IP实体发送到TCP实体。由于接收端实体对已成功接收到的数据包会回一个相应的确认(ACK),故应用服务器的服务端TCP接收到数据包1之后,会向对端TCP实体(也即客户端TCP实体)发送针对数据包1的ACK。
数据包1的ACK经过IP实体、数据链路层实体、PHY实体向数据网络发送,进而通过核心网向gNB发送。关于下行数据经数据网络和核心网中传输的相关解释可以参照已有技术,在此不再赘述。
S107, 应用服务器的服务端TCP/IP实体将业务数据发送至应用服务器的应用服务端。
应用服务器的服务端TCP在经过IP实体接收到数据包1之后,对数据包1进行解封装,并将相应的业务数据发送到应用服务端,以使应用服务端进行相应的处理,例如是发送与业务数据对应的反馈数据。
需要指出的是,若应用客户端发送的业务数据被划分为多个数据包进行发送,则服务端TCP实体在接收到与该业务数据对应的所有数据包之后,再将相应的业务数据发送至应用服务端。
本实施例对S106和S107的执行顺序不做限定。
S108, gNB接收到数据包1的ACK,经空中接口将数据包1的ACK向UE发送。
gNB经空中接口将数据包1的ACK向UE发送时,数据包1的ACK依次经过PDCP实体、RLC实体、MAC实体和PHY实体向空中接口发送,在此不再赘述。
S109, UE接收到数据包1的ACK,数据包1的ACK经PDCP实体发送至客户端TCP/IP实体。
UE经空中接口接收到数据包1的ACK,数据包1的ACK经过PHY实体、MAC实体、RLC实体传输到PDCP实体,再经PDCP实体传输到客户端TCP/IP实体。也即,数据包1的ACK最终经客户端IP实体传输至客户端TCP实体。
至此,客户端TCP实体在发送数据包1之后,接收到对端TCP实体(也即服务端实体)反馈的针对数据包1的ACK。由此,客户端TCP实体确认数据包1传输成功。
需要说明的是,在TCP/IP协议中,数据在上下行传输的各阶段,数据命名不同,包括数据段、数据报、数据帧等。在本申请实施例中,为了明确传输以及重传的数据,统一称之为数据包,未详尽解释的流程可以参照已有技术,在此不再赘述。
然而,空中接口可能会存在拥塞问题,在UE的PDCP实体生成的PDCP PDU得到上行发送机会前,UE的TCP实体会由于长时间未收到对端TCP实体针对数据包的ACK,对该数据包进行重传,也即UE的TCP实体会向IP实体发送与数据包相同的重传数据包。也即,如果发送端实体在合理的RTT(Round-Trip Time,往返时延)内未接收到确认,那么对应的数据包就被假设为已丢失,相应的数据包将会被进行重传。
示例性的,参照图7,如果客户端TCP在合理的RTT内未接收到数据包1的ACK,则认为数据包1丢失,并将数据包1进行重传,暂且将重传的数据包1称之为数据包1'。如果客户端TCP在合理的RTT内也未接收到数据包1'的ACK,则认为数据包1'丢失,并将数据包1'进行重传,暂且将重传的数据包1'称之为数据包1''。如果客户端TCP在合理的RTT内仍未接收到数据包1''的ACK,则认为数据包1''丢失,并将数据包1''进行重传,暂且将重传的数据包1''称之为数据包1'''。其中,在多个数据包都丢失的情况下,客户端TCP会认为TCP连接异常,并向底层发送复位数据包。
TCP数据包超时重传,无疑会加剧上行数据传输的拥塞程度,使用户上网更加卡顿,从而影响了用户的上网体验。
需要注意的是,上述流程中仅描述了数据包ACK作为应用服务器到UE的下行数据的传输,关于业务数据的反馈数据作为应用服务器到UE的下行数据的传输,也是类似的,在此不再赘述。另外,上述流程仅是对基于蜂窝技术的TCP/IP数据发送和接收过程的简述,未详尽解释的流程可以参照已有技术,在此不再赘述。
在一种实施方式中,针对由于TCP数据包超时重传导致的上行数据传输拥塞问题,PDCP实体会将超时未传输的数据包丢弃,以减少上行数据包的数量。
其中,当TCP实体向PDCP实体发送TCP数据包时,TCP数据包携带超时时间标记,该超时时间标记是根据当前时间(例如TCP实体的组包时间)和超时重传定时器的时长确定的。如果在当前时间到达超时时间标记对应的时间时,TCP实体仍没有接收到针对该TCP数据包的ACK,则TCP实体会重传该TCP数据包。PDCP实体接到TCP数据包后,在每次上行组包的时候,都会根据当前时间和数据包中携带的超时时间标记判断该数据包是否已被超时重传。如果当前时间已经超过数据包中携带的超时时间标记对应的时间,则PDCP实体判断出该数据包已经被超时重传,并丢弃该数据包,等待与该数据包对应的重传数据包。
例如,TCP实体向PDCP实体发送数据包1,数据包1中携带超时时间标记。PDCP实体接收到数据包1后,在对数据包1进行上行组包时,根据当前时间与数据包1中携带的超时时间标记对应的时间判断数据包1是否被超时重传。如果当前时间超过数据包1中携带的超时时间标记对应的时间,则PDCP实体丢弃数据包1,不再对数据包1进行上行组包。此时,TCP实体已重传数据包1,暂且称之为数据包1'。当PDCP实体接收到数据包1'后,在对数据包1'进行上行组包时,依然会根据当前时间与数据包1'中携带的超时时间标记对应的时间判断数据包1'是否被超时重传。若当前时间超过数据包1'中携带的超时时间标记对应的时间,则PDCP实体依旧会丢弃数据包1',继续等待与该数据包对应的重传数据包,以此类推。
然而,在网络拥塞的情况下,PDCP实体丢弃数据包会导致该数据包被延迟调度发送,进而导致传输到服务端TCP实体的数据包是乱序的,只有与业务数据对应的全部数据包到服务端TCP实体,应用服务端才可以根据相应的业务数据对应用客户端进行响应。由此,PDCP实体丢弃超时数据包无法真正改善用户使用体验。同时,在超时重传的数据包(如数据包1')获得PDCP实体的上行调度时,有可能再次触发了客户端TCP重传对应的数据包(如与数据包1'对应的数据包1''),从而导致本应被PDCP实体上行调度的超时重传数据包(数据包1')再次无法获取调度,极大地影响了用户上网体验。
本申请实施例提供了一种数据传输方法。具体的,电子设备(无线终端)基于TCP/IP协议和蜂窝无线通信技术与基站通信时,如果PDCP实体接收到丢包控制信息,则根据丢包控制信息进行上行数据丢包处理,以此丢弃冗余的上行数据包,降低上行数据的拥塞程度,提升用户上网体验。
在一种应用场景中,如果客户端TCP实体在重传某数据包后又接收到了该数据包的ACK,则客户端TCP实体向无线终端的PDCP实体发送丢包控制信息,以使无线终端的PDCP实体丢弃与该数据包对应的重传数据包;在另一种应用场景中,如果服务端TCP实体触发了TCP连接复位,则客户端TCP实体向无线终端的PDCP实体发送丢包控制信息,以使无线终端的PDCP实体丢弃与该TCP连接对应的数据包;在又一种应用场景中,如果客户端TCP实体触发了TCP连接复位,则客户端TCP实体向无线终端的PDCP实体发送丢包控制信息,以使无线终端的PDCP实体丢弃与该TCP连接对应的数据包。
丢包控制信息包括但不限于:消息类型、待丢弃数据包列表长度、待丢弃数据包列表。其中,消息类型可以是用于表示丢包控制信息的标识;待丢弃数据包指的是无线终端的PDCP实体需要丢弃的数据包;待丢弃数据包列表长度可以理解为待丢弃数据包列表的长度或者待丢弃数据包的数量等;待丢弃数据包列表指的是包括每个待丢弃数据包信息的列表,例如是包括每个待丢弃数据包的seqNum(序列号)的列表。
除了待丢弃数据包的seqNum,丢包控制信息中还可以包括但不限于:待丢弃数据包括的IP类型、IP目的地址、IP源地址、目的端口、源端口等。
另外,丢包控制信息中还可以包括TCP连接复位标志(RstFlag)。其中,TCP连接复位标志用于表示TCP连接是否异常复位。示例性的,当RstFlag为TURE时,表示TCP连接异常复位,当RstFlag为FALSE时,表示TCP连接未异常复位。
另外,丢包控制信息中还可以包括数据包的传输协议类型。其中,该传输协议类型为TCP。
下述以UE向gNB传输上行数据为例对本申请提供的数据传输方法进行解释说明。
场景一
在本应用场景中,由于超时或其他原因,UE的客户端TCP实体在对某数据包进行重传后又收到了该数据包的ACK,则可以根据重传数据包的seqNum生成丢包控制信息,发送到对应的PDCP实体,以使PDCP实体在接收到丢包控制信息之后,基于丢包控制信息进行丢包处理。
在一种实施方式中,丢包控制信息的封装格式符合TCP/IP协议。示例性的,丢包控制信息的封装格式可以如图8所示。其中,丢包控制信息的IP头部包括重传数据包的IP类型、IP目的地址、IP源地址等,丢包控制信息的TCP头部包括重传数据包的目的端口、源端口等,丢包控制信息的数据部分包括重传数据包的seqNum。丢包控制信息中的消息类型字段可以设置在丢包控制信息的IP头部或TCP头部的保留位,本申请对此不做限定。丢包控制信息中的RstFlag字段也可以设置在丢包控制信息的IP头部或TCP头部的保留位,本申请对此也不做限定。
在本场景中,丢包控制信息中的RstFlag可以设置为FALSE,用于指示TCP连接未异常复位。
在本实施方式中,客户端TCP/IP实体与无线终端的PDCP实体之间的交互,不仅包括数据的传输,还包括丢包控制信息的传输。其中,丢包控制信息用于指示无线终端的PDCP实体对相关数据包进行丢包处理。丢包控制信息的传输方向为由TCP/IP实体向PDCP实体发送。
如图9所示为各模块的交互示意图。参照图9,应用客户端与服务端之间的数据传输流程,具体包括:
S201, UE的应用客户端和应用服务器的应用服务端之间建立TCP连接。
S202, UE的应用客户端将业务数据发送至客户端TCP/IP实体处理。
S203, 客户端TCP/IP实体向UE的PDCP实体发送数据包1。
S204, 客户端TCP/IP实体在数据包1超时时,向UE的PDCP实体重新发送数据包1'。
其中,S204可以具体为客户端TCP实体在数据包1超时时,也即超时未接收到数据包1的ACK时,经过IP实体向UE的PDCP实体重传数据包1,在此将重传数据包称之为数据包1'。
S205, 客户端TCP/IP实体在数据包1'超时时,向UE的PDCP实体重新发送数据包1''。
其中,S205可以具体为客户端TCP实体在数据包1'超时时,也即超时未接收到数据包1'的ACK时,经过IP实体向UE的PDCP实体重传数据包1',在此将重传数据包称之为数据包1''。
S206, UE的PDCP实体经空中接口向gNB发送数据包1。
由于多个TCP连接传输的数据包都会汇聚到UE的PDCP实体进行发送,故UE的PDCP实体在接收到数据包之后,会将数据包作为SDU加入本PDCP实体的PDCP缓存队列等待上行调度。而由于蜂窝上行速率受限,数据包1可能在PDCP缓存队列中长时间得不到上行调度。
在数据包1被上行调度之前,PDCP缓存队列中至少包括数据包1、数据包1'和数据包1''。其中,这三个数据包是相同的。
当数据包1被上行调度时,PDCP实体生成与数据包1对应的PDCP PDU,经空中接口向gNB发送数据包1。在数据包1被上行调度之后,PDCP缓存队列中至少包括数据包1'和数据包1''。
本实施例对S204-S206的执行顺序不做限定。
S207, gNB接收数据包1,并将数据包1经核心网和数据网络发送至应用服务器。
S208, 应用服务器的服务端TCP/IP实体接收到数据包1,经数据网络和核心网向gNB发送数据包1的ACK。
S209, 应用服务器的服务端TCP/IP实体将业务数据发送至应用服务器的应用服务端。
本实施例对S208和S209的执行顺序不做限定。
S210, gNB接收到数据包1的ACK,经空中接口将数据包1的ACK向UE发送。
S211, UE接收到数据包1的ACK,数据包1的ACK经PDCP实体发送至客户端TCP/IP实体。
S212, 客户端TCP/IP实体向应用客户端发送反馈信息。
其中,S212可以具体为客户端TCP实体经IP实体接收到数据包1的ACK时,向应用客户端发送反馈信息。此处,反馈信息用于向应用客户端指示业务数据已成功发送至应用服务端。
需要指出的是,若应用客户端发送的业务数据被划分为多个数据包进行发送,则服务端TCP实体可以在接收到与该业务数据对应的所有数据包的ACK时,向应用客户端发送反馈信息,以指示相应的业务数据已成功发送至应用服务端。
S213, 客户端TCP/IP实体检测到数据包1被超时重传。
其中,S213可以具体为客户端TCP实体检测数据包1是否被超时重传。
客户端TCP实体在收到数据包1的ACK时,检测数据包1是否被超时重传。如果检测到数据包1被超时重传,则客户端TCP实体继续执行S214,否则本流程结束。关于TCP实体检测数据包是否被超时重传的方法,可以参照已有技术,在此不再赘述。
本实施例对S212和S213的执行顺序不做限定。
S214, 客户端TCP/IP实体向UE的PDCP实体发送丢包控制信息。
其中,S214可以具体为客户端TCP实体经IP实体向UE的PDCP实体发送丢包控制信息。
在客户端TCP实体检测到数据包1被超时重传时,则根据与数据包1对应的重传数据包信息生成丢包控制信息。其中,与数据包1对应的重传数据包可能是一个或多个,客户端TCP实体是根据与数据包1对应的所有重传数据包信息生成丢包控制信息。
在本申请实施例中,客户端TCP实体可以根据与数据包1对应的重传数据包的seqNum生成丢包控制信息,并将丢包控制信息发送至IP实体进行封装,以使IP实体将丢包控制信息发送至UE的PDCP实体。
其中,客户端TCP实体生成的丢包控制信息可以称之为初始丢包控制信息,至少包括待丢弃数据包的端口信息(目的端口和源端口)和序列号;经IP实体封装后的丢包控制信息可以称之为目标丢包控制信息,至少包括待丢弃数据包的IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号。
示例性的,参照图8,客户端TCP实体将与数据包1对应的重传数据包的端口信息,包括目的端口、源端口等填充至TCP头部相应的字段中,将与数据包1对应的重传数据包的数量填充至丢包控制信息中数据部分的待丢弃数据包列表长度字段,将与数据包1对应的重传数据包的seqNum填充至丢包控制信息中数据部分的待丢弃数据包列表中。示例性的,客户端TCP实体还可以将丢包控制信息的消息类型填充到TCP头部保留位中预设的消息类型字段中。示例性的,客户端TCP实体还可以将RstFlag字段值(如FALSE)填充到TCP头部保留位中的RstFlag字段中。示例性的,客户端TCP实体还可以将传输协议类型字段值(如TCP)填充到TCP头部保留位中的传输协议类型字段中。参照图9,在本实施方式中,与数据包1对应的重传数据包为数据包1'和数据包1'',则丢包控制信息中丢弃数据包列表长度字段值为2,待丢弃数据包列表中为数据包1'和数据包1''的seqNum。
客户端TCP实体将填充TCP头部和数据部分的丢包控制信息发送至IP实体,IP实体在为丢包控制信息封装IP头部后,将丢包控制信息发送至UE的PDCP实体。其中,IP实体在IP头部添加与数据包1对应的重传数据包的IP信息,包括IP类型、IP目的地址、IP源地址等。关于丢包控制信息IP头部和TCP头部的其他字段,可以与TCP/IP协议相同,本申请对此不做限定。
客户端TCP在对数据包1进行超时重传后,例如发送与数据包1对应的重传数据包1'和1''。在一种可能的情形中,由于某些原因客户端TCP实体未接收到数据包1的ACK,而接收到数据包1'的ACK。此时,客户端TCP实体检测到数据包1'被超时重传,则会根据与数据包1'对应的重传数据包信息生成丢包控制信息,也即根据数据包1''的信息生成丢包控制信息。此时,丢包控制信息中丢弃数据包列表长度字段值为1,待丢弃数据包列表中为数据包1''的seqNum。
S215, UE的PDCP实体根据丢包控制信息丢弃冗余数据包。
UE的PDCP实体在接收到数据包后,对其进行解析,当根据消息类型字段值确定该数据包为丢包控制信息时,不将该数据包作为SDU存入PDCP缓存队列,而是基于该丢包控制信息丢弃PDCP缓存队列中相应的冗余数据包。
UE的PDCP实体在接收到丢包控制信息之后,遍历PDCP缓存队列中的每个SDU,并根据丢包控制信息判断是否需要将SDU在PDCP缓存队列中删除,也即对SDU进行丢包处理。
如图10所示,UE的PDCP实体根据丢包控制信息丢弃冗余数据包的流程,可以包括如下步骤:
S301, PDCP实体判断丢包控制信息中RstFlag是否为FALSE,若是,则执行S302,若否,则执行S307。
在本实施例中,丢包控制信息中RstFlag为FALSE时,表示TCP连接未异常复位,此时TCP实体生成的丢包控制信息用于指示PDCP实体丢弃重传数据包,以降低上行数据的拥塞程度。若丢包控制信息中RstFlag不为FALSE,例如丢包控制信息中RstFlag为TRUE,表示TCP连接异常复位,此时TCP实体生成的丢包控制信息用于指示PDCP实体丢弃异常复位的TCP连接下的所有数据包,以降低上行数据的拥塞程度。
S302, PDCP实体获取丢包控制信息中的IP信息、传输协议类型信息、端口信息和seqNum信息。
S303, PDCP实体按顺序在PDCP缓存队列中获取一个SDU作为当前SDU。
S304, PDCP实体判断当前SDU的IP信息、传输协议类型信息、端口信息和seqNum是否与丢包控制信息中对应的信息相同,若是,则执行S305,若否,则执行306。
其中,IP信息包括IP类型、IP目的地址、IP源地址,传输协议类型信息为Tcp,端口信息包括目的端口、源端口。
在丢包控制信息中的RstFlag为FALSE时,如果某个SDU的IP类型、IP目的地址、IP源地址、传输协议类型、目的端口、源端口与丢包控制信息中相应的信息相同,且该SUD的seqNum与待丢弃数据包列表中某个数据包的seqNum相同,则PDCP实体从PDCP缓存队列中丢弃该SDU。
需要指出的是,如果丢包控制信息中不包括传输协议类型信息,则S304可以调整为PDCP实体判断当前SDU的IP信息、端口信息和seqNum是否与丢包控制信息中对应的信息相同,若是,则执行S305,若否,则执行306。
在本应用场景中,丢包控制信息中的RstFlag为FALSE。由于客户端TCP实体在重传某数据包后又接收到了该数据包的ACK,则该数据包的重传数据包为冗余数据包。客户端TCP实体向无线终端的PDCP实体发送丢包控制信息,以使无线终端的PDCP实体丢弃与该数据包对应的重传数据包,以此避免PDCP实体上行调度冗余数据包加剧上行数据拥塞的问题。
S305, PDCP实体将当前SDU在PDCP缓存队列中删除。
S306, PDCP实体判断是否遍历完PDCP缓存队列中的所有SDU,若否,则返回执行S303,若是则流程结束。
接续前述示例,在数据包1被上行调度之后,PDCP缓存队列中至少包括数据包1'和数据包1''。PDCP实体接收到的丢包控制信息中待丢弃数据包列表中包括数据包1'和数据包1''的seqNum,则PDCP实体将其PDCP缓存队列中的数据包1'和数据包1''丢弃。
S307, PDCP实体获取丢包控制信息中的IP信息、传输协议类型信息和端口信息。
其中,IP信息包括IP类型、IP目的地址、IP源地址,传输协议类型信息为Tcp,端口信息包括目的端口、源端口。
S308, PDCP实体按顺序在PDCP缓存队列中获取一个SDU作为当前SDU。
S309, PDCP实体判断当前SDU的IP信息、传输协议类型信息和端口信息是否与丢包控制信息中应的信息相同,若是,则执行S305,若否,则执行310。
在丢包控制信息中的RstFlag不为FALSE时,例如丢包控制信息中RstFlag为TRUE,如果某个SDU的IP类型、IP目的地址、IP源地址、传输协议类型、目的端口、源端口与丢包控制信息中相应的信息相同,则PDCP实体从PDCP缓存队列中丢弃该SDU。
需要指出的是,如果丢包控制信息中不包括传输协议类型信息,则S309可以调整为PDCP实体判断当前SDU的IP信息和端口信息是否与丢包控制信息中应的信息相同,若是,则执行S305,若否,则执行310。
可选的,S307也可以调整为PDCP实体获取丢包控制信息中的IP信息、传输协议类型信息、端口信息和seqNum信息,相应的,S309也可以调整为PDCP实体判断当前SDU的IP信息、传输协议类型信息、端口信息和seqNum是否与丢包控制信息中对应的信息相同,若是,则执行S305,若否,则执行310。
S310, PDCP实体判断是否遍历完PDCP缓存队列中的所有SDU,若否,则返回执行S308,若是则流程结束。
上述流程未尽详细解释之处可以参照前述,在此不再赘述。
在一种示例中,PDCP实体的数量为多个,则客户端TCP/IP实体发送的符合TCP/IP协议的丢包控制信息可以发送至NAS实体进行过滤,以通过NAS实体将丢包控制信息发送至匹配的一个PDCP实体。这样,在丢包控制信息的封装格式符合TCP/IP协议时,可以通过NAS实体对丢包控制信息进行传输过滤,能够提高丢包控制信息传输的精准度,避免将丢包控制信息发送至不匹配的PDCP实体进行处理造成资源浪费的问题。
示例性的,如图11所示,丢包控制信息的传输流程可以包括:
S401, 客户端TCP/IP实体将丢包控制信息发送至NAS实体。
客户端TCP实体经IP实体向NAS实体发送丢包控制信息。
S402, NAS实体解析丢包控制信息,匹配目标PDCP实体,若目标PDCP实体为第一PDCP实体,则执行S403,若目标PDCP实体为第二PDCP实体,则执行S403',若目标PDCP实体为第三PDCP实体,则执行S403''。
NAS实体接收到丢包控制信息后,对其进行解析,并根据丢包控制信息中的IP信息确定与该丢包控制信息匹配的PDCP实体。
其中,NAS实体还可以对丢包控制信息进行其他操作,可以参照已有技术,在此不再赘述。
S403, NAS实体向第一PDCP实体发送丢包控制信息。
S404, 第一PDCP实体根据丢包控制信息丢弃冗余数据包。
S403', NAS实体向第二PDCP实体发送丢包控制信息。
S404', 第二PDCP实体根据丢包控制信息丢弃冗余数据包。
S403'', NAS实体向第二PDCP实体发送丢包控制信息。
S404'', 第二PDCP实体根据丢包控制信息丢弃冗余数据包。
其中,图11中以三个PDCP实体为例示出。当NAS实体确定与该丢包控制信息匹配的PDCP实体为其中一个PDCP实体时,则将丢包控制信息发送至该匹配的PDCP实体,以使该PDCP实体根据接收到的丢包控制信息进行冗余数据包丢弃处理。其中,PDCP实体根据丢包控制信息丢弃冗余数据包的流程可以参照前述,在此不再赘述。
在另一种实施方式中,丢包控制信息的封装格式为自定义格式,本申请对此不做限定。丢包控制信息包括但不限于:消息类型、待丢弃数据包列表长度、待丢弃数据包列表。其中,丢包控制信息中还包括RstFlag。在本实施方式中,丢包控制信息中包括重传数据包的IP类型、IP目的地址、IP源地址、目的端口、源端口和seqNum,丢包控制信息中的RstFlag可以设置为FALSE,用于指示TCP连接未异常复位。
在本实施方式中,客户端TCP实体与无线终端的PDCP实体之间进行交互,由TCP实体向PDCP实体发送丢包控制信息。在一些实现方式中,客户端TCP实体与PDCP实体设置于终端CPU不同的核中,例如客户端TCP实体设置于A核(A核用作应用处理器),PDCP实体设置于C核(C核用作调制解调处理器)。由此,在本实施方式中,可以通过核间通信实现丢包控制信息的传输。
如图12所示为各模块的交互示意图。参照图12,应用客户端与服务端之间的数据传输流程,具体包括:
S501, UE的应用客户端和应用服务器的应用服务端之间建立TCP连接。
S502, UE的应用客户端将业务数据发送至客户端TCP实体处理。
S503, 客户端TCP实体经IP实体向UE的PDCP实体发送数据包1。
S504, 客户端TCP实体在数据包1超时时,经IP实体向UE的PDCP实体重新发送数据包1'。
S505, 客户端TCP实体在数据包1'超时时,经IP实体向UE的PDCP实体重新发送数据包1''。
S506, UE的PDCP实体经空中接口向gNB发送数据包1。
S507, gNB接收数据包1,并将数据包1经核心网和数据网络发送至应用服务器。
S508, 应用服务器的服务端TCP/IP实体接收到数据包1,经数据网络和核心网向gNB发送数据包1的ACK。
S509, 应用服务器的服务端TCP/IP实体将业务数据发送至应用服务器的应用服务端。
本实施例对S508和S509的执行顺序不做限定。
S510, gNB接收到数据包1的ACK,经空中接口将数据包1的ACK向UE发送。
S511, UE接收到数据包1的ACK,数据包1的ACK经PDCP实体、IP实体发送至客户端TCP实体。
S512, 客户端TCP实体向应用客户端发送反馈信息。
S513, 客户端TCP实体检测到数据包1被超时重传。
本实施例对S512和S513的执行顺序不做限定。
S514, 客户端TCP实体向UE的PDCP实体发送丢包控制信息。
在客户端TCP实体检测到数据包1被超时重传时,则根据与数据包1对应的重传数据包信息生成丢包控制信息。此时,客户端TCP实体生成的丢包控制信息可以称之为目标丢包控制信息,至少包括待丢弃数据包的IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号。
其中,丢包控制信息中至少可以包括:消息类型、待丢弃数据包列表长度和待丢弃数据包列表;丢包控制信息中待丢弃数据包的信息包括:IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号;丢包控制信息中还可以包括TCP连接复位标志;其中,TCP连接复位标志用于指示TCP连接是否发生异常复位;丢包控制信息中还可以包括传输协议类型,传输协议类型为TCP。
关于丢包控制信息未尽详细解释之处可以参见前述,在此不再赘述。
在本实施方式中,丢包控制信息由客户端TCP实体直接发送至UE的PDCP实体,无需经过IP实体。其中,丢包控制信息可以作为控制信令由客户端TCP实体所在CPU核(用于应用处理器的A核)发送至PDCP实体所在的CPU核(用作调制解调处理器的C核)。
在一种实现方式中,丢包控制信息可以基于无线接口层(Radio InterfaceLayer,RIL)实现传输。其中, RIL可以提供移动通讯核心和无线之间通讯的控制接口。RIL在Android 中的实现分为RILJ和RILC两部分,RILJ属于Framework(框架)层中的Java部分,RILC属于HAL层中的C/C++部分。在本实现方式中,A核中的TCP实体可以调用RILJ中的相关方法将丢包控制信息发送给RILC,RILC再将丢包控制信息传递给C核中的PDCP实体。
S515, UE的PDCP实体根据丢包控制信息丢弃冗余数据包。
上述流程未尽详细解释之处可以参照前述,在此不再赘述。
在一种示例中,PDCP实体的数量为多个,则客户端TCP实体发送的自定义封装格式的丢包控制信息需要发送至每个PDCP实体。此时,每个PDCP实体都需要执行根据丢包控制信息丢弃冗余数据包的操作。
示例性的,如图13所示,丢包控制信息的传输流程可以包括:
S601, 客户端TCP实体向第一PDCP实体发送丢包控制信息。
S602, 客户端TCP实体向第二PDCP实体发送丢包控制信息。
S603, 客户端TCP实体向第三PDCP实体发送丢包控制信息。
在TCP实体生成的丢包控制信息为自定义格式时,NAS实体无法实现对丢包控制信息的过滤以使将丢包控制信息发送至匹配的一个PDCP实体。故,此时TCP实体需要向每个PDCP实体发送丢包控制信息,以使每个PDCP实体均根据丢包控制信息进行冗余数据包丢弃处理。
可选的,TCP实体向每个PDCP实体发送丢包控制信息,也可以具体为TCP实体将丢包控制信息发送至NAS实体,NAS实体再将丢包控制信息发送至每个PDCP实体。其中,NAS实体还可以对丢包控制信息进行其他操作,可以参照已有技术,在此不再赘述。
S604, 第一PDCP实体根据丢包控制信息丢弃冗余数据包。
S605, 第一PDCP实体根据丢包控制信息丢弃冗余数据包。
S606, 第一PDCP实体根据丢包控制信息丢弃冗余数据包。
其中,图13中以三个PDCP实体为例示出。每个PDCP实体在接收丢包控制信息之后,根据丢包控制信息对各自的PDCP缓存队列中的冗余数据包进行丢弃处理。其中,PDCP实体根据丢包控制信息丢弃冗余数据包的流程可以参照前述,在此不再赘述。
在本应用场景中,由于超时或其他原因,如果UE的客户端TCP实体在对某数据包进行重传后又收到了该数据包的ACK,则与该数据包对应的重传数据包均为冗余数据包,会增加PDCP实体上行数据的拥塞程度。由此,如果UE的客户端TCP实体在对某数据包进行重传后又收到了该数据包的ACK,则根据重传数据包的seqNum生成丢包控制信息,发送到对应的PDCP实体,以使PDCP实体基于丢包控制信息进行丢包处理,降低上行数据的拥塞程度,提升用户上网体验。
场景二
在本应用场景中,如果服务端TCP实体触发了TCP连接复位,则客户端TCP实体在接收到TCP连接复位(RST)数据包后,则根据RST数据包生成丢包控制信息,发送到对应的PDCP实体,以使PDCP实体在接收到丢包控制信息之后,基于丢包控制信息进行丢包处理。
在一种实施方式中,丢包控制信息的封装格式符合TCP/IP协议。示例性的,丢包控制信息的封装格式可以如图8所示。其中,丢包控制信息的IP头部包括异常复位TCP连接(也即异常复位TCP连接下的数据包)的IP类型、IP目的地址、IP源地址等,丢包控制信息的TCP头部包括异常复位TCP连接(也即异常复位TCP连接下的数据包)的目的端口、源端口等。丢包控制信息的数据部分可以包括异常复位TCP连接下的数据包的seqNum。丢包控制信息中的消息类型字段可以设置在丢包控制信息的IP头部或TCP头部的保留位,本申请对此不做限定。丢包控制信息中的RstFlag字段可以设置在丢包控制信息的IP头部或TCP头部的保留位,本申请对此也不做限定。在本场景中,丢包控制信息中的RstFlag可以设置为TRUE,用于指示TCP连接异常复位。
在本实施方式中,客户端TCP/IP实体与无线终端的PDCP实体之间的交互,不仅包括数据的传输,还包括丢包控制信息的传输。其中,丢包控制信息用于指示无线终端的PDCP实体对相关数据包进行丢包处理。丢包控制信息的传输方向为由TCP/IP实体向PDCP实体发送。
如图14所示为各模块的交互示意图。参照图14,应用客户端与服务端之间的数据传输流程,具体包括:
S701, UE的应用客户端和应用服务器的应用服务端之间建立TCP连接。
S702, UE的应用客户端将业务数据发送至客户端TCP/IP实体处理。
S703, 客户端TCP/IP实体向UE的PDCP实体发送数据包1。
S704, 客户端TCP/IP实体向UE的PDCP实体发送数据包2。
S705, 客户端TCP/IP实体向UE的PDCP实体发送数据包3。
客户端TCP实体将将上层应用业务数据分片并加上端口号封装成数据段,发送到客户端IP实体。客户端IP实体将TCP层数据加上源端和目的端的逻辑(IP)地址封装成数据包。在本示例中,应用客户端发送的业务数据被划分为三个数据包(数据包1、2、3)进行传输。
在数据包1、2、3被上行调度之前,PDCP缓存队列中至少包括数据包1、数据包2和数据包3。
S706, 服务端TCP/IP实体检测到TCP连接异常。
其中,S706可以具体为服务端TCP实体检测到TCP连接异常。TCP连接异常的原因有多种,可以参见已有技术,在此不再赘述。
在服务端TCP实体检测到TCP连接异常时,触发TCP连接异常复位。
S707, 服务端TCP/IP实体经核心网和数据网络向gNB发送TCP连接RST数据包。
示例性的,TCP连接RST数据包可以包括但不限于TCP连接的端口信息和IP信息。
S708, gNB接收到TCP连接RST数据包,经空中接口将RST数据包向UE发送。
S709,UE接收到TCP连接RST数据包,TCP连接RST数据包经PDCP实体发送至客户端TCP/IP实体。
S710, 客户端TCP/IP实体向应用客户端发送反馈信息。
其中,S710可以具体为客户端TCP实体经IP实体接收到TCP连接RST数据包时,向应用客户端发送反馈信息。此处,反馈信息用于向应用客户端指示TCP连接异常复位。
S711, 客户端TCP/IP实体向UE的PDCP实体发送丢包控制信息。
其中,S711可以具体为客户端TCP实体经IP实体向UE的PDCP实体发送丢包控制信息。
客户端TCP实体经IP实体接收到TCP连接RST数据包时,根据该数据包生成丢包控制信息,其中,该丢包控制信息用于指示将异常复位的TCP连接的所有数据包丢弃。
在本申请实施例中,客户端TCP实体可以根据TCP连接RST数据包生成丢包控制信息,并将丢包控制信息发送至IP实体进行封装,以使IP实体将丢包控制信息发送至UE的PDCP实体。
其中,客户端TCP实体生成的丢包控制信息可以称之为初始丢包控制信息,至少包括待丢弃数据包的端口信息(目的端口和源端口)和序列号;经IP实体封装后的丢包控制信息可以称之为目标丢包控制信息,至少包括待丢弃数据包的IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号。
示例性的,参照图8,客户端TCP实体将异常复位的TCP连接的端口信息,包括目的端口、源端口等填充至TCP头部相应的字段中,将RstFlag字段值(如TRUE)填充到TCP头部保留位中的RstFlag字段中。示例性的,客户端TCP实体还可以将异常复位的TCP连接下所有未确认的上行数据包的数量填充至丢包控制信息中数据部分的待丢弃数据包列表长度字段,将异常复位的TCP连接下所有未确认的上行数据包的seqNum填充至丢包控制信息中数据部分的待丢弃数据包列表中。示例性的,客户端TCP实体还可以将丢包控制信息的消息类型填充到TCP头部保留位中预设的消息类型字段中。示例性的,客户端TCP实体还可以将传输协议类型字段值(如TCP)填充到TCP头部保留位中的传输协议类型字段中。参照图14,在本实施方式中,异常复位的TCP连接下所有未确认的上行数据包为数据包1、数据包2和数据包3,则丢包控制信息中丢弃数据包列表长度字段值为3,待丢弃数据包列表中为数据包1、数据包2和数据包3的seqNum。
客户端TCP实体将填充TCP头部和数据部分的丢包控制信息发送至IP实体,IP实体在为丢包控制信息封装IP头部后,将丢包控制信息发送至UE的PDCP实体。其中,IP实体在IP头部添加异常复位的TCP连接的IP信息,包括IP类型、IP目的地址、IP源地址等。关于丢包控制信息IP头部和TCP头部的其他字段,可以与TCP/IP协议相同,本申请对此不做限定。
本实施例对S710和S711的执行顺序不做限定。
S712, UE的PDCP实体根据丢包控制信息丢弃冗余数据包。
UE的PDCP实体在接收到数据包后,对其进行解析,当根据消息类型字段值确定该数据包为丢包控制信息时,不将该数据包作为SDU存入PDCP缓存队列,而是基于该丢包控制信息丢弃PDCP缓存队列中相应的冗余数据包。
UE的PDCP实体在接收到丢包控制信息之后,遍历PDCP缓存队列中的每个SDU,并根据丢包控制信息判断是否需要将SDU在PDCP缓存队列中删除,也即对SDU进行丢包处理。
其中,PDCP实体根据丢包控制信息丢弃冗余数据包的流程可以参照如图10所示的流程,在此不再赘述。
接续前述示例,由于异常复位TCP连接下的数据包1、2、3均没有被上行调度,则PDCP缓存队列中至少包括数据包1、2、3。PDCP实体接收到的丢包控制信息中RstFlag为TRUE,则PDCP实体将其PDCP缓存队列中该异常TCP连接下的所有数据包丢弃,也即丢弃数据包1、2、3。可选的,PDCP实体也可以根据丢包控制信息中待丢弃数据包列表中seqNum,将数据包1、2、3在PDCP缓存队列中删除。
在本应用场景中,丢包控制信息中的RstFlag为TRUE。由于服务端TCP连接异常复位,则客户端TCP实体不会再接收到该TCP连接下的各个数据包的ACK,这些数据包为冗余数据包。客户端TCP实体向无线终端的PDCP实体发送丢包控制信息,以使无线终端的PDCP实体丢弃该TCP连接下的数据包,以此避免PDCP实体上行调度冗余数据包加剧上行数据拥塞的问题。
上述流程未尽详细解释之处可以参照前述,在此不再赘述。
在一种示例中,PDCP实体的数量为多个,则客户端TCP/IP实体发送的符合TCP/IP协议的丢包控制信息可以发送至NAS实体进行过滤,以通过NAS实体将丢包控制信息发送至匹配的一个PDCP实体。这样,在丢包控制信息的封装格式符合TCP/IP协议时,可以通过NAS实体对丢包控制信息进行传输过滤,能够提高丢包控制信息传输的精准度,避免将丢包控制信息发送至不匹配的PDCP实体进行处理造成资源浪费的问题。
关于此种情形下,丢包控制信息的传输流程可以参照图11所示,详见前述,在此不再赘述。
在另一种实施方式中,丢包控制信息的封装格式为自定义格式,本申请对此不做限定。丢包控制信息包括但不限于:消息类型、待丢弃数据包列表长度、待丢弃数据包列表。其中,丢包控制信息中还包括RstFlag。在本实施方式中,丢包控制信息中可以包括异常复位TCP连接(也即异常复位TCP连接下的数据包)的IP类型、IP目的地址、IP源地址、目的端口、源端口,还可以包括异常复位TCP连接下的数据包的seqNum,丢包控制信息中的RstFlag可以设置为TRUE,用于指示TCP连接异常复位。
在本实施方式中,客户端TCP实体与无线终端的PDCP实体之间进行交互,由TCP实体向PDCP实体发送丢包控制信息。在一些实现方式中,客户端TCP实体与PDCP实体设置于终端CPU不同的核中,例如客户端TCP实体设置于A核(A核用作应用处理器),PDCP实体设置于C核(C核用作调制解调处理器)。由此,在本实施方式中,可以通过核间通信实现丢包控制信息的传输。
如图15所示为各模块的交互示意图。参照图15,应用客户端与服务端之间的数据传输流程,具体包括:
S801, UE的应用客户端和应用服务器的应用服务端之间建立TCP连接。
S802, UE的应用客户端将业务数据发送至客户端TCP实体处理。
S803, 客户端TCP实体经IP实体向UE的PDCP实体发送数据包1。
S804, 客户端TCP实体经IP实体向UE的PDCP实体发送数据包2。
S805, 客户端TCP实体经IP实体向UE的PDCP实体发送数据包3。
S806, 服务端TCP/IP实体检测到TCP连接异常。
其中,S806可以具体为服务端TCP实体检测到TCP连接异常。TCP连接异常的原因有多种,可以参见已有技术,在此不再赘述。
服务端TCP实体检测到TCP连接异常时,触发TCP连接复位。
S807, 服务端TCP/IP实体经核心网和数据网络向gNB发送TCP连接RST数据包。
S808, gNB接收到TCP连接RST数据包,经空中接口将RST数据包向UE发送。
S809,UE接收到TCP连接RST数据包,TCP连接RST数据包经PDCP实体、IP实体发送至客户端TCP实体。
S810, 客户端TCP实体向应用客户端发送反馈信息。
S811, 客户端TCP实体向UE的PDCP实体发送丢包控制信息。
客户端TCP实体经IP实体接收到TCP连接RST数据包时,根据该数据包生成丢包控制信息,其中,该丢包控制信息用于指示将异常复位的TCP连接的所有数据包丢弃。此时,客户端TCP实体生成的丢包控制信息可以称之为目标丢包控制信息,至少包括待丢弃数据包的IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号。
其中,丢包控制信息中至少可以包括:消息类型、待丢弃数据包列表长度和待丢弃数据包列表;丢包控制信息中待丢弃数据包的信息包括:IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号;丢包控制信息中还可以包括TCP连接复位标志;其中,TCP连接复位标志用于指示TCP连接是否发生异常复位;丢包控制信息中还可以包括传输协议类型,传输协议类型为TCP。
关于丢包控制信息未尽详细解释之处可以参见前述,在此不再赘述。
在本实施方式中,丢包控制信息由客户端TCP实体直接发送至UE的PDCP实体,无需经过IP实体。其中,丢包控制信息可以作为控制信令由客户端TCP实体所在CPU核(用于应用处理器的A核)发送至PDCP实体所在的CPU核(用作调制解调处理器的C核)。
在一种实现方式中,丢包控制信息可以基于无线接口层(Radio InterfaceLayer,RIL)实现传输。其中, RIL可以提供移动通讯核心和无线之间通讯的控制接口。RIL在Android 中的实现分为RILJ和RILC两部分,RILJ属于Framework(框架)层中的Java部分,RILC属于HAL层中的C/C++部分。在本实现方式中,A核中的TCP实体可以调用RILJ中的相关方法将丢包控制信息发送给RILC,RILC再将丢包控制信息传递给C核中的PDCP实体。
本实施例对S810和S811的执行顺序不做限定。
S812, UE的PDCP实体根据丢包控制信息丢弃冗余数据包。
其中,PDCP实体根据丢包控制信息丢弃冗余数据包的流程可以参照如图10所示的流程,在此不再赘述。
上述流程未尽详细解释之处可以参照前述,在此不再赘述。
在一种示例中,PDCP实体的数量为多个,则客户端TCP实体发送的自定义封装格式的丢包控制信息需要发送至每个PDCP实体。此时,每个PDCP实体都需要执行根据丢包控制信息丢弃冗余数据包的操作。
关于此种情形下,丢包控制信息的传输流程可以参照图13所示,详见前述,在此不再赘述。
在本应用场景中,如果服务端TCP实体检测到TCP连接异常,则会触发TCP连接异常复位,则该异常复位的TCP连接下客户端TCP实体发送的数据包均为冗余数据包,会增加无线终端的PDCP实体上行数据的拥塞程度。由此,如果UE的客户端TCP实体接收到TCP连接RST数据包,则根据该TCP连接RST数据包生成丢包控制信息,发送到对应的PDCP实体,以使PDCP实体基于丢包控制信息进行丢包处理,降低上行数据的拥塞程度,提升用户上网体验。
场景三
在本应用场景中,如果客户端TCP实体触发了TCP连接复位,则客户端TCP实体会生成丢包控制信息,发送到对应的PDCP实体,以使PDCP实体在接收到丢包控制信息之后,基于丢包控制信息进行丢包处理。
在一种实施方式中,丢包控制信息的封装格式符合TCP/IP协议。示例性的,丢包控制信息的封装格式可以如图8所示。其中,丢包控制信息的IP头部包括异常复位TCP连接(也即异常复位TCP连接下的数据包)的IP类型、IP目的地址、IP源地址等,丢包控制信息的TCP头部包括异常复位TCP连接(也即异常复位TCP连接下的数据包)的目的端口、源端口等。丢包控制信息的数据部分可以包括异常复位TCP连接下的数据包的seqNum。丢包控制信息中的消息类型字段可以设置在丢包控制信息的IP头部或TCP头部的保留位,本申请对此不做限定。丢包控制信息中的RstFlag字段可以设置在丢包控制信息的IP头部或TCP头部的保留位,本申请对此也不做限定。在本场景中,丢包控制信息中的RstFlag可以设置为TRUE,用于指示TCP连接异常复位。
在本实施方式中,客户端TCP/IP实体与无线终端的PDCP实体之间的交互,不仅包括数据的传输,还包括丢包控制信息的传输。其中,丢包控制信息用于指示无线终端的PDCP实体对相关数据包进行丢包处理。丢包控制信息的传输方向为由TCP/IP实体向PDCP实体发送。
如图16所示为各模块的交互示意图。参照图16,应用客户端与服务端之间的数据传输流程,具体包括:
S901,UE的应用客户端和应用服务器的应用服务端之间建立TCP连接。
S902, UE的应用客户端将业务数据发送至客户端TCP/IP实体处理。
S903,客户端TCP/IP实体向UE的PDCP实体发送数据包1。
S904, 客户端TCP/IP实体向UE的PDCP实体发送数据包2。
S905, 客户端TCP/IP实体向UE的PDCP实体发送数据包3。
在数据包1、2、3被上行调度之前,PDCP缓存队列中至少包括数据包1、数据包2和数据包3。
S906, UE的PDCP实体经空中接口向gNB发送数据包1。
在数据包1被上行调度之后,PDCP缓存队列中至少包括数据包2和数据包3。
S907, gNB接收数据包1,并将数据包1经核心网和数据网络发送至应用服务器。
S908, 应用服务器的服务端TCP/IP实体将业务数据发送至应用服务器的应用服务端。
应用服务器的服务端TCP/IP实体在接收到数据包1时,经数据网络和核心网向gNB发送数据包1的ACK。
S909, 客户端TCP/IP实体检测到TCP连接异常。
其中,S909可以具体为客户端TCP实体检测到TCP连接异常。TCP连接异常的原因有多种,可以参见已有技术,在此不再赘述。
在客户端TCP实体检测到TCP连接异常时,触发TCP连接异常复位。
S910, 客户端TCP/IP实体向应用客户端发送反馈信息。
其中,S910可以具体为客户端TCP实体在检测到TCP连接异常时向应用客户端发送反馈信息。此处,反馈信息用于向应用客户端指示TCP连接异常复位。
S911, 客户端TCP/IP实体向UE的PDCP实体发送丢包控制信息。
其中,S911可以具体为客户端TCP实体经IP实体向UE的PDCP实体发送丢包控制信息。
客户端TCP在检测到TCP连接异常并触发异常复位后,根据该异常复位的TCP连接生成丢包控制信息,其中,该丢包控制信息用于指示将异常复位的TCP连接的所有数据包丢弃。
在本申请实施例中,客户端TCP实体可以根据异常复位的TCP连接的信息生成丢包控制信息,并将丢包控制信息发送至IP实体进行封装,以使IP实体将丢包控制信息发送至UE的PDCP实体。
其中,客户端TCP实体生成的丢包控制信息可以称之为初始丢包控制信息,至少包括待丢弃数据包的端口信息(目的端口和源端口)和序列号;经IP实体封装后的丢包控制信息可以称之为目标丢包控制信息,至少包括待丢弃数据包的IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号。
示例性的,参照图8,客户端TCP实体将异常复位的TCP连接的端口信息,包括目的端口、源端口等填充至TCP头部相应的字段中,将RstFlag字段值(如TRUE)填充到TCP头部保留位中的RstFlag字段中。示例性的,客户端TCP实体还可以将异常复位的TCP连接下所有未确认的上行数据包的数量填充至丢包控制信息中数据部分的待丢弃数据包列表长度字段,将异常复位的TCP连接下所有未确认的上行数据包的seqNum填充至丢包控制信息中数据部分的待丢弃数据包列表中。示例性的,客户端TCP实体还可以将丢包控制信息的消息类型填充到TCP头部保留位中预设的消息类型字段中。示例性的,客户端TCP实体还可以将传输协议类型字段值(如TCP)填充到TCP头部保留位中的传输协议类型字段中。
参照图16,假设客户端TCP实体接收到数据包1的ACK,则异常复位的TCP连接下所有未确认的上行数据包为数据包2和数据包3,丢包控制信息中丢弃数据包列表长度字段值为2,待丢弃数据包列表中为数据包2和数据包3的seqNum;假设客户端TCP实体未接收到数据包1的ACK,则异常复位的TCP连接下所有未确认的上行数据包为数据包1、数据包2和数据包3,丢包控制信息中丢弃数据包列表长度字段值为3,待丢弃数据包列表中为数据包1、数据包2和数据包3的seqNum。
客户端TCP实体将填充TCP头部和数据部分的丢包控制信息发送至IP实体,IP实体在为丢包控制信息封装IP头部后,将丢包控制信息发送至UE的PDCP实体。其中,IP实体在IP头部添加异常复位的TCP连接的IP信息,包括IP类型、IP目的地址、IP源地址等。关于丢包控制信息IP头部和TCP头部的其他字段,可以与TCP/IP协议相同,本申请对此不做限定。
S912, UE的PDCP实体根据丢包控制信息丢弃冗余数据包。
UE的PDCP实体在接收到数据包后,对其进行解析,当根据消息类型字段值确定该数据包为丢包控制信息时,不将该数据包作为SDU存入PDCP缓存队列,而是基于该丢包控制信息丢弃PDCP缓存队列中相应的冗余数据包。
UE的PDCP实体在接收到丢包控制信息之后,遍历PDCP缓存队列中的每个SDU,并根据丢包控制信息判断是否需要将SDU在PDCP缓存队列中删除,也即对SDU进行丢包处理。
其中,PDCP实体根据丢包控制信息丢弃冗余数据包的流程可以参照如图10所示的流程,在此不再赘述。
接续前述示例,参照图16,由于异常复位TCP连接下的数据包2、3均没有被上行调度,则PDCP缓存队列中至少包括数据包2、3。PDCP实体接收到的丢包控制信息中RstFlag为TRUE,则PDCP实体将其PDCP缓存队列中该异常TCP连接下的所有数据包丢弃,也即丢弃数据包2、3。可选的,PDCP实体也可以根据丢包控制信息中待丢弃数据包列表中seqNum,将数据包2、3在PDCP缓存队列中删除。
在本应用场景中,丢包控制信息中的RstFlag为TRUE。由于客户端TCP连接异常复位,则客户端TCP实体无法成功接收到该TCP连接下的各个数据包的ACK,这些数据包为冗余数据包。客户端TCP实体向无线终端的PDCP实体发送丢包控制信息,以使无线终端的PDCP实体丢弃该TCP连接下的数据包,以此避免PDCP实体上行调度冗余数据包加剧上行数据拥塞的问题。
S913, 客户端TCP/IP实体向UE的PDCP实体发送TCP连接RST数据包。
在TCP连接RST数据包被上行调度之前,PDCP缓存队列中至少包括TCP连接RST数据包。
本实施例对S910、S911和S913的执行顺序不做限定。
S914, UE的PDCP实体经空中接口向gNB发送TCP连接RST数据包。
S915, gNB接收TCP连接RST数据包,并将TCP连接RST数据包经核心网和数据网络发送至应用服务器。
S916, 应用服务器的服务端TCP/IP实体接收到TCP连接RST数据包,向应用服务端发送反馈信息。
其中,S916可以具体为服务端TCP实体经IP实体接收到TCP连接RST数据包时,向应用服务端发送反馈信息。此处,反馈信息用于向应用服务端指示TCP连接异常复位。
上述流程未尽详细解释之处可以参照前述,在此不再赘述。
在一种示例中,PDCP实体的数量为多个,则客户端TCP/IP实体发送的符合TCP/IP协议的丢包控制信息可以发送至NAS实体进行过滤,以通过NAS实体将丢包控制信息发送至匹配的一个PDCP实体。这样,在丢包控制信息的封装格式符合TCP/IP协议时,可以通过NAS实体对丢包控制信息进行传输过滤,能够提高丢包控制信息传输的精准度,避免将丢包控制信息发送至不匹配的PDCP实体进行处理造成资源浪费的问题。
关于此种情形下,丢包控制信息的传输流程可以参照图11所示,详见前述,在此不再赘述。
在另一种实施方式中,丢包控制信息的封装格式为自定义格式,本申请对此不做限定。丢包控制信息包括但不限于:消息类型、待丢弃数据包列表长度、待丢弃数据包列表。其中,丢包控制信息中还包括RstFlag。在本实施方式中,丢包控制信息中可以包括异常复位TCP连接(也即异常复位TCP连接下的数据包)的IP类型、IP目的地址、IP源地址、目的端口、源端口,还可以包括异常复位TCP连接下的数据包的seqNum,丢包控制信息中的RstFlag可以设置为TRUE,用于指示TCP连接异常复位。
在本实施方式中,客户端TCP实体与无线终端的PDCP实体之间进行交互,由TCP实体向PDCP实体发送丢包控制信息。在一些实现方式中,客户端TCP实体与PDCP实体设置于终端CPU不同的核中,例如客户端TCP实体设置于A核(A核用作应用处理器),PDCP实体设置于C核(C核用作调制解调处理器)。由此,在本实施方式中,可以通过核间通信实现丢包控制信息的传输。
如图17所示为各模块的交互示意图。参照图17,应用客户端与服务端之间的数据传输流程,具体包括:
S1001,UE的应用客户端和应用服务器的应用服务端之间建立TCP连接。
S1002, UE的应用客户端将业务数据发送至客户端TCP实体处理。
S1003,客户端TCP实体经IP实体向UE的PDCP实体发送数据包1。
S1004,客户端TCP实体经IP实体向UE的PDCP实体发送数据包2。
S1005,客户端TCP实体经IP实体向UE的PDCP实体发送数据包3。
S1006, UE的PDCP实体经空中接口向gNB发送数据包1。
S1007, gNB接收数据包1,并将数据包1经核心网和数据网络发送至应用服务器。
S1008, 应用服务器的服务端TCP/IP实体将业务数据发送至应用服务器的应用服务端。
应用服务器的服务端TCP/IP实体在接收到数据包1时,经数据网络和核心网向gNB发送数据包1的ACK。
S1009, 客户端TCP实体检测到TCP连接异常。
客户端TCP实体检测到TCP连接异常时,触发TCP连接复位。
S1010, 客户端TCP实体向应用客户端发送反馈信息。
S1011, 客户端TCP实体向UE的PDCP实体发送丢包控制信息。
客户端TCP实体在触发TCP连接复位之后,根据异常复位的TCP连接生成丢包控制信息,其中,该丢包控制信息用于指示将异常复位的TCP连接的所有数据包丢弃。此时,客户端TCP实体生成的丢包控制信息可以称之为目标丢包控制信息,至少包括待丢弃数据包的IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号。
其中,丢包控制信息中至少可以包括:消息类型、待丢弃数据包列表长度和待丢弃数据包列表;丢包控制信息中待丢弃数据包的信息包括:IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号;丢包控制信息中还可以包括TCP连接复位标志;其中,TCP连接复位标志用于指示TCP连接是否发生异常复位;丢包控制信息中还可以包括传输协议类型,传输协议类型为TCP。
关于丢包控制信息未尽详细解释之处可以参见前述,在此不再赘述。
在本实施方式中,丢包控制信息由客户端TCP实体直接发送至UE的PDCP实体,无需经过IP实体。其中,丢包控制信息可以作为控制信令由客户端TCP实体所在CPU核(用于应用处理器的A核)发送至PDCP实体所在的CPU核(用作调制解调处理器的C核)。
在一种实现方式中,丢包控制信息可以基于无线接口层(Radio InterfaceLayer,RIL)实现传输。其中, RIL可以提供移动通讯核心和无线之间通讯的控制接口。RIL在Android 中的实现分为RILJ和RILC两部分,RILJ属于Framework(框架)层中的Java部分,RILC属于HAL层中的C/C++部分。在本实现方式中,A核中的TCP实体可以调用RILJ中的相关方法将丢包控制信息发送给RILC,RILC再将丢包控制信息传递给C核中的PDCP实体。
本实施例对S1010和S1011的执行顺序不做限定。
S1012, UE的PDCP实体根据丢包控制信息丢弃冗余数据包。
其中,PDCP实体根据丢包控制信息丢弃冗余数据包的流程可以参照如图10所示的流程,在此不再赘述。
S1013, 客户端TCP经IP实体向UE的PDCP实体发送TCP连接RST数据包。
S1014, UE的PDCP实体经空中接口向gNB发送TCP连接RST数据包。
S1015, gNB接收TCP连接RST数据包,并将TCP连接RST数据包经核心网和数据网络发送至应用服务器。
S1016,应用服务器的服务端TCP/IP实体接收到TCP连接RST数据包,向应用服务端发送反馈信息。
上述流程未尽详细解释之处可以参照前述,在此不再赘述。
在一种示例中,PDCP实体的数量为多个,则客户端TCP实体发送的自定义封装格式的丢包控制信息需要发送至每个PDCP实体。此时,每个PDCP实体都需要执行根据丢包控制信息丢弃冗余数据包的操作。
关于此种情形下,丢包控制信息的传输流程可以参照图13所示,详见前述,在此不再赘述。
如果客户端TCP实体检测到TCP连接异常,则会触发TCP连接异常复位,则该异常复位的TCP连接下未确认的数据包均为冗余数据包,会增加无线终端的PDCP实体上行数据的拥塞程度。由此,如果UE的客户端TCP实体检测到TCP连接异常并触发复位,则根据该TCP连接RST数据包生成丢包控制信息,发送到对应的PDCP实体,以使PDCP实体基于丢包控制信息进行丢包处理,降低上行数据的拥塞程度,提升用户上网体验。
本申请实施例提供了一种数据传输方法,应用于电子设备中,该电子设备基于TCP/IP技术和蜂窝无线通信技术进行无线通信。如图18所示,该数据传输方法包括如下步骤:
S1101,PDCP实体接收目标丢包控制信息。
其中,目标丢包控制信息中至少可以包括:消息类型、待丢弃数据包列表长度和待丢弃数据包列表。
目标丢包控制信息中待丢弃数据包的信息可以包括:IP信息(IP类型、IP目的地址和IP源地址)、端口信息(目的端口和源端口)和序列号。
目标丢包控制信息中还可以包括TCP连接复位标志;其中,TCP连接复位标志用于指示TCP连接是否发生异常复位。
目标丢包控制信息中还可以包括传输协议类型,传输协议类型为TCP。
S1102,PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理。
可选的,PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理,可以具体为:PDCP实体将与待丢弃数据包列表匹配的上行数据包进行丢包处理。
可选的,PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理,可以具体为:
获取目标丢包控制信息中的TCP连接复位标志;
在TCP连接复位标志指示TCP连接发生异常复位时,PDCP实体将与异常复位的TCP连接对应的上行数据包进行丢包处理;
在TCP连接复位标志指示TCP连接未发生异常复位时,PDCP实体将与待丢弃数据包列表匹配的上行数据包进行丢包处理。
这样,当电子设备进行上行数据传输时,PDCP实体会根据接收到的丢包控制信息,对匹配的上行冗余数据包进行丢包处理,以此降低上行数据的拥塞程度,提升用户上网体验。
在一种可选的实施方式中,目标丢包控制信息的封装格式符合TCP/IP协议。
在一种示例中,TCP实体在发送与目标数据包对应的重传数据包之后,接收到目标数据包的确认信息;TCP实体根据重传数据包的信息,生成初始丢包控制信息,并发送至IP实体;IP实体对初始丢包控制信息进行封装,得到目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体;PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理。
在另一种示例中,TCP实体在检测到TCP连接异常时,对TCP连接进行复位;TCP实体根据复位的TCP连接信息,生成初始丢包控制信息,并发送至IP实体;IP实体对初始丢包控制信息进行封装,得到目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体;PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理。
在又一种示例中,TCP实体在接收到对端TCP实体发送的TCP连接复位数据包;TCP实体根据TCP连接复位数据包,生成初始丢包控制信息,并发送至IP实体;IP实体对初始丢包控制信息进行封装,得到目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体;PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理。
可选的,当PDCP实体的数量为多个时,IP实体将目标丢包控制信息发送至PDCP实体,可以具体为:IP实体将目标丢包控制信息发送至NAS实体;NAS实体将目标丢包控制信息发送至匹配的一个PDCP实体。
在另一种可选的实施方式中,目标丢包控制信息的封装格式为自定义的。
在一种示例中,TCP实体在发送与目标数据包对应的重传数据包之后,接收到目标数据包的确认信息;TCP实体根据重传数据包的信息,生成目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体;PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理。
在另一种示例中,TCP实体在检测到TCP连接异常时,对TCP连接进行复位;TCP实体根据复位的TCP连接信息,生成目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体;PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理。
在又一种示例中,TCP实体在接收到对端TCP实体发送的TCP连接复位数据包;TCP实体根据TCP连接复位数据包,生成目标丢包控制信息,并将目标丢包控制信息发送至PDCP实体;PDCP实体根据目标丢包控制信息,对匹配的上行数据包进行丢包处理。
可选的,当PDCP实体的数量为多个时,TCP实体将目标丢包控制信息发送至PDCP实体,可以具体为:TCP实体将目标丢包控制信息发送至每个PDCP实体。
此处未尽详细解释之处可以参见前述实施例,在此不再赘述。
如图19所示为电子设备100的结构示意图。可选地,电子设备100可以称为终端,也可以称为终端设备,终端可以是手机,终端也可以是可穿戴式电子设备,例如可以是智能手表等,本申请不做限定。需要说明的是,电子设备100的结构示意图可以适用于上述应用场景中提及的UE(如手机)。应该理解的是,图19所示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图19中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,加速度传感器,温度传感器,运动传感器,气压传感器,磁传感器,距离传感器,接近光传感器,指纹传感器,触摸传感器,环境光传感器,骨传导传感器等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),5G 新空口(New Radio,NR),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(globalpositioning system ,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite basedaugmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理,使得电子设备100实现本申请实施例中的数据传输方法。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。在一些实施例中,电子设备100可以设置多个扬声器170A。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏194。电子设备100也可以根据压力传感器的检测信号计算触摸的位置。
触摸传感器,也称“触控面板”。触摸传感器可以设置于显示屏194,由触摸传感器与显示屏194组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。
按键190包括开机键(或称电源键),音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息。
可以理解的是,电子设备为了实现本申请实施例中的数据传输方法,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的数据传输方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据传输方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的数据传输方法。
其中,本实施例提供的电子设备(如手机等)、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (18)
1.一种数据传输方法,其特征在于,应用于电子设备中,所述电子设备基于TCP/IP技术和蜂窝无线通信技术进行无线通信,所述方法包括:
分组数据汇聚协议PDCP实体接收目标丢包控制信息;
所述PDCP实体根据所述目标丢包控制信息,对匹配的上行数据包进行丢包处理。
2.根据权利要求1所述的方法,其特征在于,所述目标丢包控制信息的封装格式符合TCP/IP协议。
3.根据权利要求2所述的方法,其特征在于,还包括:
TCP实体在发送与目标数据包对应的重传数据包之后,接收到所述目标数据包的确认信息;
所述TCP实体根据所述重传数据包的信息,生成初始丢包控制信息,并发送至IP实体;
所述IP实体对所述初始丢包控制信息进行封装,得到所述目标丢包控制信息,并将所述目标丢包控制信息发送至所述PDCP实体。
4.根据权利要求2所述的方法,其特征在于,还包括:
TCP实体在检测到TCP连接异常时,对所述TCP连接进行复位;
所述TCP实体根据复位的TCP连接信息,生成初始丢包控制信息,并发送至IP实体;
所述IP实体对所述初始丢包控制信息进行封装,得到所述目标丢包控制信息,并将所述目标丢包控制信息发送至所述PDCP实体。
5.根据权利要求2所述的方法,其特征在于,还包括:
TCP实体在接收到对端TCP实体发送的TCP连接复位数据包;
所述TCP实体根据所述TCP连接复位数据包,生成初始丢包控制信息,并发送至IP实体;
所述IP实体对所述初始丢包控制信息进行封装,得到所述目标丢包控制信息,并将所述目标丢包控制信息发送至所述PDCP实体。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述PDCP实体的数量为多个;
所述IP实体将所述目标丢包控制信息发送至所述PDCP实体,包括:
所述IP实体将所述目标丢包控制信息发送至NAS实体;
所述NAS实体将所述目标丢包控制信息发送至匹配的一个所述PDCP实体。
7.根据权利要求1所述的方法,其特征在于,所述目标丢包控制信息的封装格式为自定义的。
8.根据权利要求7所述的方法,其特征在于,还包括:
TCP实体在发送与目标数据包对应的重传数据包之后,接收到所述目标数据包的确认信息;
所述TCP实体根据所述重传数据包的信息,生成目标丢包控制信息,并将所述目标丢包控制信息发送至所述PDCP实体。
9.根据权利要求7所述的方法,其特征在于,还包括:
TCP实体在检测到TCP连接异常时,对所述TCP连接进行复位;
所述TCP实体根据复位的TCP连接信息,生成目标丢包控制信息,并将所述目标丢包控制信息发送至所述PDCP实体。
10.根据权利要求7所述的方法,其特征在于,还包括:
TCP实体在接收到对端TCP实体发送的TCP连接复位数据包;
所述TCP实体根据所述TCP连接复位数据包,生成目标丢包控制信息,并将所述目标丢包控制信息发送至所述PDCP实体。
11.根据权利要求8-10任一项所述的方法,其特征在于,所述PDCP实体的数量为多个;
所述TCP实体将所述目标丢包控制信息发送至所述PDCP实体,包括:
所述TCP实体将所述目标丢包控制信息发送至每个所述PDCP实体。
12.根据权利要求1或2或7所述的方法,其特征在于,所述目标丢包控制信息至少包括:消息类型、待丢弃数据包列表长度和待丢弃数据包列表。
13.根据权利要求12所述的方法,其特征在于,所述目标丢包控制信息中待丢弃数据包的信息包括:IP信息、端口信息和序列号。
14.根据权利要求12所述的方法,其特征在于,所述PDCP实体根据所述目标丢包控制信息,对匹配的上行数据包进行丢包处理,包括:
所述PDCP实体将与所述待丢弃数据包列表匹配的上行数据包进行丢包处理。
15.根据权利要求12所述的方法,其特征在于,所述目标丢包控制信息还包括:TCP连接复位标志;其中,所述TCP连接复位标志用于指示TCP连接是否发生异常复位。
16.根据权利要求15所述的方法,其特征在于,所述PDCP实体根据所述目标丢包控制信息,对匹配的上行数据包进行丢包处理,包括:
在所述TCP连接复位标志指示TCP连接发生异常复位时,所述PDCP实体将与异常复位的TCP连接对应的上行数据包进行丢包处理;
在所述TCP连接复位标志指示TCP连接未发生异常复位时,所述PDCP实体将与所述待丢弃数据包列表匹配的上行数据包进行丢包处理。
17.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1-16中任一项所述的数据传输方法。
18.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-16中任一项所述的数据传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215184.4A CN115695583B (zh) | 2022-05-08 | 2022-05-08 | 数据传输方法及电子设备 |
CN202210494112.1A CN114640725B (zh) | 2022-05-08 | 2022-05-08 | 数据传输方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210494112.1A CN114640725B (zh) | 2022-05-08 | 2022-05-08 | 数据传输方法及电子设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211215184.4A Division CN115695583B (zh) | 2022-05-08 | 2022-05-08 | 数据传输方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640725A true CN114640725A (zh) | 2022-06-17 |
CN114640725B CN114640725B (zh) | 2022-09-27 |
Family
ID=81953164
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211215184.4A Active CN115695583B (zh) | 2022-05-08 | 2022-05-08 | 数据传输方法及电子设备 |
CN202210494112.1A Active CN114640725B (zh) | 2022-05-08 | 2022-05-08 | 数据传输方法及电子设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211215184.4A Active CN115695583B (zh) | 2022-05-08 | 2022-05-08 | 数据传输方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN115695583B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103167553A (zh) * | 2011-12-13 | 2013-06-19 | 华为技术有限公司 | 用于无线通信的方法和装置以及基站 |
CN109348508A (zh) * | 2013-11-11 | 2019-02-15 | 华为技术有限公司 | 数据传输方法及装置 |
CN109417716A (zh) * | 2017-06-16 | 2019-03-01 | 联发科技(新加坡)私人有限公司 | 移动通信中处理数据重复的方法和装置 |
US20190200259A1 (en) * | 2016-05-03 | 2019-06-27 | Lg Electronics Inc. | Method for transmitting and receiving data in wireless communication system, and device for supporting same |
US20190200273A1 (en) * | 2017-12-22 | 2019-06-27 | Nokia Technologies Oy | Flushing PDCP Packets To Reduce Network Load In Multi-Connectivity Scenarios |
US20190306745A1 (en) * | 2018-04-03 | 2019-10-03 | Samsung Electronics Co., Ltd. | Method and apparatus for controlling data receiving rate in mobile communication system |
US20200235869A1 (en) * | 2017-03-24 | 2020-07-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and Methods for Removal of Duplicated Packets for Transmission |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103052173B (zh) * | 2011-10-13 | 2015-08-19 | 华为技术有限公司 | 传输控制协议链路的数据处理方法和装置 |
CN107787009B (zh) * | 2016-08-26 | 2022-09-27 | 中兴通讯股份有限公司 | 拥塞处理方法、装置及系统 |
EP3520470A4 (en) * | 2016-09-30 | 2020-05-20 | Intel Corporation | PDCP, RLC HANDLING IN A SHARED DC CARRIER |
WO2018200565A1 (en) * | 2017-04-24 | 2018-11-01 | Motorola Mobility Llc | Duplicating pdcp pdus for a radio bearer |
KR20200033166A (ko) * | 2018-09-19 | 2020-03-27 | 삼성전자주식회사 | 무선 통신 시스템에서 데이터를 송수신하는 방법 및 장치 |
CN110138680B (zh) * | 2019-05-08 | 2022-08-23 | 京信网络系统股份有限公司 | Pdcp队列的报文丢弃处理方法、装置和基站设备 |
CN114126084A (zh) * | 2020-08-26 | 2022-03-01 | 中兴通讯股份有限公司 | 数据处理方法、基站、终端及存储介质 |
-
2022
- 2022-05-08 CN CN202211215184.4A patent/CN115695583B/zh active Active
- 2022-05-08 CN CN202210494112.1A patent/CN114640725B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103167553A (zh) * | 2011-12-13 | 2013-06-19 | 华为技术有限公司 | 用于无线通信的方法和装置以及基站 |
CN109348508A (zh) * | 2013-11-11 | 2019-02-15 | 华为技术有限公司 | 数据传输方法及装置 |
US20190200259A1 (en) * | 2016-05-03 | 2019-06-27 | Lg Electronics Inc. | Method for transmitting and receiving data in wireless communication system, and device for supporting same |
US20200235869A1 (en) * | 2017-03-24 | 2020-07-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and Methods for Removal of Duplicated Packets for Transmission |
CN109417716A (zh) * | 2017-06-16 | 2019-03-01 | 联发科技(新加坡)私人有限公司 | 移动通信中处理数据重复的方法和装置 |
US20190200273A1 (en) * | 2017-12-22 | 2019-06-27 | Nokia Technologies Oy | Flushing PDCP Packets To Reduce Network Load In Multi-Connectivity Scenarios |
US20190306745A1 (en) * | 2018-04-03 | 2019-10-03 | Samsung Electronics Co., Ltd. | Method and apparatus for controlling data receiving rate in mobile communication system |
Non-Patent Citations (1)
Title |
---|
TCL: "R2-1804294 Interaction between PDCP and RLC Entities for duplication in NR-NR DC", 《3GPP TSG-RAN2#101BIS》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115695583A (zh) | 2023-02-03 |
CN114640725B (zh) | 2022-09-27 |
CN115695583B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519632B (zh) | 投屏方法及设备 | |
WO2023011376A1 (zh) | 一种北斗通信系统中密钥更新方法、系统及相关装置 | |
JP2020515086A (ja) | 電子機器及び無線通信方法 | |
WO2023011380A1 (zh) | 一种北斗通信系统中多帧融合传输方法及相关装置 | |
US20210289430A1 (en) | Electronic device and method for controlling same | |
EP4369632A1 (en) | Outbound data transmission method and system in beidou communication system, and related apparatus | |
WO2023011362A1 (zh) | 一种北斗通信系统中出站传输控制方法、系统及相关装置 | |
CN109451525B (zh) | 一种拥塞判断的方法及装置 | |
WO2023011379A1 (zh) | 一种北斗通信系统中入站传输控制方法、系统及相关装置 | |
CN112399476A (zh) | 一种数据包传输方法、终端设备及网络设备 | |
WO2023011478A1 (zh) | 一种北斗通信系统中的数据压缩方法、系统及相关装置 | |
CN114640725B (zh) | 数据传输方法及电子设备 | |
WO2024168823A1 (zh) | 信息处理方法及装置、通信设备及存储介质 | |
WO2023088009A1 (zh) | 一种数据传输的方法及通信装置 | |
CN115706603A (zh) | 北斗通信系统中紧凑传输方法、系统及相关装置 | |
CN114765831A (zh) | 上行资源预申请的方法及相关设备 | |
WO2023011377A1 (zh) | 一种北斗通信系统中应用层回执传输方法、系统及装置 | |
CN113812201B (zh) | 数据传输方法、装置及通信设备 | |
WO2023226662A1 (zh) | 通信方法、通信装置和通信系统 | |
CN118353880A (zh) | 语音通信方法、装置、设备及计算机存储介质 | |
CN113453274B (zh) | 一种上行数据的分流方法及终端 | |
WO2024114243A1 (zh) | 上行传输方法及终端设备 | |
WO2024027674A1 (zh) | 通信方法、设备及存储介质 | |
WO2024207772A1 (zh) | 一种通信方法及终端设备 | |
WO2022141025A1 (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 |