CN117998676A - 基于多通道的数据传输方法、终端设备以及目标网关 - Google Patents
基于多通道的数据传输方法、终端设备以及目标网关 Download PDFInfo
- Publication number
- CN117998676A CN117998676A CN202410211772.3A CN202410211772A CN117998676A CN 117998676 A CN117998676 A CN 117998676A CN 202410211772 A CN202410211772 A CN 202410211772A CN 117998676 A CN117998676 A CN 117998676A
- Authority
- CN
- China
- Prior art keywords
- field
- compressed
- packet
- header
- packet header
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 143
- 230000005540 biological transmission Effects 0.000 title claims abstract description 96
- 238000007906 compression Methods 0.000 claims abstract description 277
- 230000006835 compression Effects 0.000 claims abstract description 275
- 238000004891 communication Methods 0.000 claims abstract description 103
- 230000000875 corresponding effect Effects 0.000 claims description 33
- 230000006837 decompression Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 18
- 230000002596 correlated effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 24
- 230000006870 function Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 19
- 230000001133 acceleration Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000001413 cellular effect Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000012634 fragment Substances 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
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241000287828 Gallus gallus Species 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 208000015041 syndromic microphthalmia 10 Diseases 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种基于多通道的数据传输方法、终端设备以及目标网关,该方法涉及网络技术领域中的多通道传输技术领域,该方法适用于终端设备,该终端设备和目标网关之间建立有多个无线通信通道;该方法包括:终端设备发送压缩请求并接收包括响应消息,该响应消息包括参考消息;利用待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头;将该协议包头的压缩包头和该待发送数据包中除该协议包头之外的信息进行组合,得到目标数据包,并利用该多个无线通信通道中的无线通信通道向该目标网关发送该目标数据包,该方法能够降低协议包头的开销和提升数据传输的灵活性。
Description
技术领域
本申请实施例涉及网络技术领域中的多通道传输技术领域,并且更具体地,涉及多通道发送方法、多通道接收方法、发送端及接收端。
背景技术
通常情况下,应用(Application,APP)一般都运行在单一网络上,如第五代(5th-Generation,5G)移动通信网络或无线保真(Wireless Fidelity,WiFi)网络。然而,由于无线网络的信号波动、终端移动性切换等问题,单一无线网络的不稳定问题对一些时延敏感性的业务影响很大,比如,即时游戏(如MOBA和RTS类吃鸡游戏)随着时延的增大或抖动,用户的体验会明显下降;或者是远程医疗或机器人等,需要保证关键控制数据的传输可靠性,对网络不稳定导致业务终端是零容忍。
为了解决该技术问题,引入了多通道发送功能,例如5G+WIFi的双发功能。该双发功能的基本原理如下:
在上行方向上,终端设备会对上行数据包进行复制,并同时通过5G和WiFi通道发送给加速网关。如果加速网关接收到一个正确的上行数据包,那么该加速网关直接将该上行数据包发送给业务服务器。如果加速网关接收到两个正确的上行数据包,那么该加速网关需要进行去重处理,只需要向业务服务器发送一个上行数据包即可。在下行方向上,加速网关接收业务服务器发送的下行数据包。加速网关对下行数据包进行复制,并同时通过5G和WiFi通道发送给终端设备。如果终端设备接收到一个正确的上行数据包,那么终端设备无需进行其他操作。如果终端设备接收到两个正确的下行数据包,那么该终端设备需要进行去重处理,使得终端设备获得一个正确的下行数据包即可。
然而,采用双发对游戏业务进行加速时,通过测试发现:实际业务码流增加了不止2倍(双发原因),而是增加了近3倍,由此导致用户和云端服务的网络流量成本过高。
发明内容
本申请实施例提供了一种基于多通道的数据传输方法、终端设备以及目标网关,能够降低协议包头的开销和提升数据传输的灵活性。
第一方面,本申请实施例提供了一种基于多通道的数据传输方法,该方法适用于终端设备,该终端设备和目标网关之间建立有多个无线通信通道;该方法包括:
向该目标网关发送压缩请求,该压缩请求用于请求对待发送数据包中基于传输协议的协议包头进行压缩,该协议包头包括该传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括待压缩字段;
接收该目标网关发送的响应消息;该响应消息包括参考信息,该参考信息包括该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
利用该待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头;
将该协议包头的压缩包头和该待发送数据包中除该协议包头之外的信息进行组合,得到目标数据包,并利用该多个无线通信通道中的无线通信通道向该目标网关发送该目标数据包。
第二方面,本申请实施例提供了一种基于多通道的数据传输方法,该方法适用于目标网关,该目标网关和终端设备之间建立有多个无线通信通道;该方法包括:
接收该终端设备发送的压缩请求,该压缩请求用于请求对待发送数据包中基于传输协议的协议包头进行压缩,该协议包头包括该传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括待压缩字段;
基于该待压缩字段的压缩方式,确定该待压缩字段的参考信息;该参考信息包括该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
向该终端设备发送响应消息,该响应消息包括该参考信息;
利用该多个无线通信通道中的无线通信通道接收该终端设备发送的目标数据包;该目标数据包包括协议包头的压缩包头,该协议包头的压缩包头包括已压缩字段,该已压缩字段为该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩得到的字段;
利用与该待压缩字段的压缩方式匹配的解压缩方式,基于该参考信息对该已压缩字段进行解压缩,得到对该已压缩字段进行解压缩后的字段。
第三方面,本申请实施例提供了一种基于多通道的数据传输方法,该方法适用于目标网关,该目标网关和终端设备之间建立有多个无线通信通道;该方法包括:
基于待压缩字段的压缩方式,确定该待压缩字段的参考信息;该参考信息包括该目标网关利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
向该终端设备发送该参考信息;
获取待发送数据包;该待发送数据包的协议包头包括传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括该待压缩字段;
利用该待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头;
将该协议包头的压缩包头和该待发送数据包中除该协议包头之外的信息进行组合,得到目标数据包,并利用该多个无线通信通道中的无线通信通道向该终端设备发送该目标数据包。
第四方面,本申请实施例提供了一种基于多通道的数据传输方法,该方法适用于终端设备,该终端设备和目标网关之间建立有多个无线通信通道;该方法包括:
接收该目标网关发送的参考信息,该参考信息包括该目标网关利用待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
利用该多个无线通信通道中的无线通信通道接收该终端设备发送的目标数据包;该目标数据包包括协议包头的压缩包头,该协议包头的压缩包头包括已压缩字段,该已压缩字段为该目标网关利用该待压缩字段的压缩方式对该待压缩字段进行压缩得到的字段;
利用与该待压缩字段的压缩方式匹配的解压缩方式,基于该参考信息对该已压缩字段进行解压缩,得到对该已压缩字段进行解压缩后的字段。
第五方面,本申请实施例提供了一种终端设备,该终端设备和目标网关之间建立有多个无线通信通道;该终端设备包括:
发送单元,用于向该目标网关发送压缩请求,该压缩请求用于请求对待发送数据包中基于传输协议的协议包头进行压缩,该协议包头包括该传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括待压缩字段;
接收单元,用于接收该目标网关发送的响应消息;该响应消息包括参考信息,该参考信息包括该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
压缩单元,用于利用该待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头;
该发送单元还用于将该协议包头的压缩包头和该待发送数据包中除该协议包头之外的信息进行组合,得到目标数据包,并利用该多个无线通信通道中的无线通信通道向该目标网关发送该目标数据包。
第六方面,本申请实施例提供了一种目标网关,该目标网关和终端设备之间建立有多个无线通信通道;该目标网关包括:
接收单元,用于接收该终端设备发送的压缩请求,该压缩请求用于请求对待发送数据包中基于传输协议的协议包头进行压缩,该协议包头包括该传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括待压缩字段;
确定单元,用于基于该待压缩字段的压缩方式,确定该待压缩字段的参考信息;该参考信息包括该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
发送单元,用于向该终端设备发送响应消息,该响应消息包括该参考信息;
该接收单元还用于利用该多个无线通信通道中的无线通信通道接收该终端设备发送的目标数据包;该目标数据包包括协议包头的压缩包头,该协议包头的压缩包头包括已压缩字段,该已压缩字段为该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩得到的字段;
解压缩单元,用于利用与该待压缩字段的压缩方式匹配的解压缩方式,基于该参考信息对该已压缩字段进行解压缩,得到对该已压缩字段进行解压缩后的字段。
第七方面,本申请实施例提供了一种目标网关,该目标网关和终端设备之间建立有多个无线通信通道;该目标网关包括:
确定单元,用于基于待压缩字段的压缩方式,确定该待压缩字段的参考信息;该参考信息包括该目标网关利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
发送单元,用于向该终端设备发送该参考信息;
获取单元,用于获取待发送数据包;该待发送数据包的协议包头包括传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括该待压缩字段;
压缩单元,用于利用该待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头;
该发送单元还用于将该协议包头的压缩包头和该待发送数据包中除该协议包头之外的信息进行组合,得到目标数据包,并利用该多个无线通信通道中的无线通信通道向该终端设备发送该目标数据包。
第八方面,本申请实施例提供了一种终端设备,该终端设备和目标网关之间建立有多个无线通信通道;该终端设备包括:
接收单元,用于接收该目标网关发送的参考信息,该参考信息包括该目标网关利用待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
该接收单元还用于利用该多个无线通信通道中的无线通信通道接收该终端设备发送的目标数据包;该目标数据包包括协议包头的压缩包头,该协议包头的压缩包头包括已压缩字段,该已压缩字段为该目标网关利用该待压缩字段的压缩方式对该待压缩字段进行压缩得到的字段;
解压缩单元,用于利用与该待压缩字段的压缩方式匹配的解压缩方式,基于该参考信息对该已压缩字段进行解压缩,得到对该已压缩字段进行解压缩后的字段。
第九方面,本申请实施例提供了一种电子设备,包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上文涉及的第一方面至第四方面中任意方面所提供的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上文涉及的第一方面至第四方面中任意方面所提供的方法。
第七方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上文涉及的第一方面至第四方面中任意方面所提供的方法。
本申请提供的基于多通道的数据传输方法,终端设备利用待压缩字段的压缩方式,基于目标网关发送的参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头,一方面,可以降低协议包头的开销。另一方面,由于该终端设备基于目标网关发送的参考信息对该待压缩字段进行压缩,即以字段为粒度进行压缩且是通过目标网关进行调度的,能够提升数据传输的灵活性。
附图说明
图1是本申请实施例提供的***框架的示例。
图2是本申请实施例提供的***框架的另一示例。
图3是本申请实施例提供的基于多通道QUIC协议的协议栈的示例。
图4是本申请实施例提供的QUIC包头的结构的示例。
图5是本申请实施例提供的公共标识字段的结构的示例。
图6是本申请实施例提供的基于多通道的数据传输方法的示意性流程图。
图7是本申请实施例提供的协议包头的压缩包头的示例。
图8是本申请实施例提供的基于多通道的数据传输方法的另一示意性流程图。
图9是本申请实施例提供的终端设备基于参考信息压缩和解压缩协议包头的原理的示例。
图10是本申请实施例提供的目标网关基于参考信息压缩和解压缩协议包头的原理的示例。
图11是本申请实施例提供的终端设备的示意性框图。
图12是本申请实施例提供的目标网关的示意性框图。
图13是本申请实施例提供的目标网关的另一示意性框图。
图14是本申请实施例提供的终端设备的另一示意性框图。
图15是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请提供的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的方案可应用于物联网(The Internet of Things,IOT),IOT是指通过各种信息传感器、射频识别技术、全球定位***、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要检测、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各种可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
云物联(Cloud IOT)旨在将传统物联网中传感设备感知的信息和接受的指令连入互联网中,真正实现网络化,并通过云计算技术实现海量数据存储和运算,由于物联网的特性是物与物相连接,实时感知各个“物体”当前的运行状态,在这个过程中会产生大量的数据信息,如何将这些信息汇总,如何在海量信息中筛取有用信息为后续发展做决策支持,这些已成为影响物联网发展的关键问题,而基于“云计算”和“云存储”技术的“物联云”也因此成为物联网技术和应用的有力支持。
结合本申请提供的基于多通道的数据传输方法来说,用于执行该基于多通道的数据传输方法的接收端或发送端可以是物联网设备。
在介绍本申请技术方案之前,下面将对本申请技术方案的相关知识进行阐述。
无线网络(wireless network):是采用无线通信技术实现的网络,目前无线网络可以包括,但不限于:蜂窝网络和WiFi网络。
蜂窝网络(Cellular network):蜂窝网络又称移动网络(mobile network),是一种移动通信硬件架构,分为模拟蜂窝网络和数字蜂窝网络。由于构成网络覆盖的各通信基地台的信号覆盖呈六边形,从而使整个网络像一个蜂窝而得名,每一个六边形实际上就是一个基站。例如,蜂窝网络可以包括但不限于:全球移动通讯(Global System of Mobilecommunication,GSM)***、码分多址(Code Division Multiple Access,CDMA)***、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)***、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long Term Evolution,LTE)***、时分双工(Time Division Duplex,TDD)***、先进的长期演进(Advanced long termevolution,LTE-A)***、新无线(New Radio,NR)***、NR***的演进***、非授权频谱上的LTE(LTE-based access to unlicensed spectrum,LTE-U)***、非授权频谱上的NR(NR-based access to unlicensed spectrum,NR-U)***、通用移动通信***(UniversalMobile Telecommunication System,UMTS)等。
应理解的是,本申请实施例中的无线通信通道指的是采用无线网络技术的通道,其中,该无线通信通道也被称为无线通信链路,本申请对此不做限制。
超文本传输协议第2版(Hypertext Transfer Protocol 2,HTTP/2):HTTP/2可简称为h2(基于TLS/1.2或以上版本的加密连接)或h2c(非加密连接),是HTTP协议的第二个主要版本,使用于万维网。
HTTP/2shim:HTTP/2shim为带有shim的HTTP/2。
其中,shim是一个小型函数库,用于透明地拦截API调用,修改传递的参数、自身处理操作、或把操作重定向到其他地方。shim主要用于解决遗留应用程序在新版窗口(Windows)***上的兼容性问题,但shim也可用于其他方面。
安全传输层(Transport Layer Security,TLS):是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是安全套接层(Secure Socket Layer,SSL),它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。
快速UDP互联网连接(Quick UDP Internet Connection,QUIC):是一种基于UDP的低时延的互联网传输层协议。
QUIC主要为了解决传输控制协议(Transmission Control Protocol,TCP)在实际使用过程中遇到的一些问题的,如头部阻塞、拥塞控制效率低、互联网协议(InternetProtocol,IP)/接口(PORT)改变导致断连、3次握手开销、带外控制效率比较低。综上,QUIC基本上可以看成是替代TCP协议的一种传输协议。它基于用户数据报协议(User DatagramProtocol,UDP)之上,一般运行在用户态。QUIC的优点有:1-往返时延(Round-Trip Time,RTT)建立连接(有预共享密钥(pre-shared secret,PSK)缓存的情况下0-RTT直接发包);灵活的拥塞控制机制,可自由定制拥塞控制算法;多路复用,减轻了队头阻塞症状;支持连接迁移;相比TCP性能更优。
用户数据报协议(User Datagram Protocol,UDP):是一个简单的面向数据报的传输层(transport layer)协议,IETF RFC 768是UDP的正式规范。在TCP/IP模型中,UDP为网络层(network layer)以下和应用层(application layer)以上提供了一个简单的接口。UDP只提供数据的不可靠交付,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)。UDP在IP数据报的头部仅仅加入了复用和数据校验(字段)。由于缺乏可靠性,UDP应用一般必须允许一定量的丢包、出错和复制。
传输控制协议(Transmission Control Protocol,TCP):是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
互联网协议(Internet Protocol,IP):是用于分组交换数据网络的一种协议,其任务仅仅是根据源主机和目的主机的地址来传送数据。互联网协议定义了寻址方法和数据报的封装结构。
软件开发工具包(Software Development Kit,SDK):是一个覆盖面相当广泛的名词,可以理解为:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK。
开放式***互连(Open System Interconnect,OSI),其也可以称为OSI参考模型,是ISO组织研究的网络互连模型。该体系结构标准定义了网络互连的七层框架,即物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
OSI参考模型的各层传输的数据和控制信息具有多种格式,常用的信息格式包括帧、数据包、数据报、段、消息、元素和数据单元。信息交换发生在对等OSI层之间,在源设备中每一层把控制信息附加到数据中,而目的设备的每一层则对接收到的信息进行分析,并从数据中移去控制信息,下面是各信息单元的说明:
帧(frame):是一种信息单位,它的起始点和目的点都是数据链路层。
数据包(packet):也是一种信息单位,它的起始和目的地是网络层。
数据报(datagram):通常是指起始点和目的地都使用无连接网络服务的网络层的信息单元。
应当理解,报文是网络中交换与传输的数据单元(站点一次性要发送的数据块)。报文包含了将要发送的完整的数据信息,其长短不一致。报文在传输过程中会不断的封装成分组、包、帧,封装的方式就是添加一些控制信息组成的首部(包头)。例如,报文传输过程中,报文被分为多个报文段,每个报文段上加上TCP首部(主要包含端口、源端口)变为TCP报文段;网络层将TCP报文段加上IP数据包首部(主要包含目的IP,源IP)以将其变成数据包;数据链路层将数据包加上目标MAC与源MAC以及FCS,以将其变成MAC帧。物理层将帧(frame)变为比特流进行传输。
需要说明的是,本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
例如,本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。术语“至少一项”,仅仅是一种描述列举对象的组合关系,表示可以存在一项或多项,例如,以下中的至少一项:A、B、C,可以表示以下几种组合情况:单独存在A,单独存在B,单独存在C,同时存在A和B,同时存在A和C,同时存在B和C,同时存在A、B以及C。术语“多个”是指两个或两个以上。字符“/”,一般表示前后关联对象是一种“或”的关系。
再如,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。术语“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有关联关系。术语“预定义”或“预配置”可以在设备中预先保存相应的代码、表格或其他可用于指示的相关信息,也可以是指由协议约定。“协议”可以指本领域的标准协议。术语“在……时”可以被解释成为“如果”或“若”或“当……时”或“响应于”等类似描述。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”等类似描述。术语“第一”、“第二”、“第三”、“第四”、“第A”、“第B”等是用于区别不同对象,而不是用于描述特定顺序。术语“包括”和“具有”以及它们任何变形,意图在于覆盖不(或非)排他的包含。其中,数字视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。
下面将对本申请实施例所要解决的技术问题以及发明构思和应用场景进行说明。
图1是本申请实施例提供的***框架的示例。
如图1所示,网关与终端之间具有多个无线通信通道,并基于该多个无线通信通道进行数据传输的网关。
在上行传输中,业务APP发送数据包1和数据包2,加速APP对数据包1和游戏数据包2进行复制,并同时通过5G和WIFi链路发送给网关,网关进行去重处理,把正确收到的数据包发送给业务服务器。下行传输与上行传输类似。
其中,加速应用程序可以是安装在终端上的应用程序。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
当然,在其他可替代实施例中,也可以将加速应用程序安装在加速服务器,该加速服务器可以是独立于终端设备的服务器,例如,该加速服务器可以是运营商QoS加速服务器、运营商服务器、运营商QoS后台服务器等。加速服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础服务的云服务器。
网关也可以被称为多通道聚合玩网关、多链路聚合网关或者加速网关等等,本申请对此不做限制。
网关可以是独立网关,也可以是多个网关构成的网关集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础服务的云网关。
业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础服务的云服务器。
图2是本申请实施例提供的***框架的另一示例。
如图2所示,在游戏场景下,游戏APP发送游戏数据包1和游戏数据包2,游戏加速器APP对游戏数据包1和游戏数据包2进行复制,并同时通过5G和WIFi链路发送给游戏加速网关,游戏加速网关进行去重处理,把正确收到的游戏数据包发送给游戏服务器。
由于数据包同时在两个网络链路上进行发送,如游戏数据包1和游戏数据包2,因此,只要有任何一路数据包传输正确即可成功接收,从而降低网络时延和抖动,即通过消耗更多的网络资源来保证数据的传输时延性能和可靠性。
应理解的是,图1和图2所示的应用场景仅是一种示例性场景,本申请实施例对应用场景不做限制。例如,图1和图2仅示出了一个终端设备,实际上可以包括多个终端设备,并且图1和图2仅示出了两个传输通道,实际上,可以存在大于两个的任意数量的无线通信通道。例如,可以包括两个蜂窝通信通道和一个WiFi网络通道,一个蜂窝通信通道属于电信运营商A,另一个蜂窝通信通道属于电信运营商B。
基于多个无线通信通道的基础框架可以为基于多通道QUIC(Multi-path QUIC,MP-QUIC)协议的框架,MP-QUIC是单路QUIC的多路版本。MP-QUIC具备了报文封装、丢包恢复、缓冲(buffer)管理、多路径(path)管理等基础功能。
MP-QUIC是QUIC的扩展,MP-QUIC在设计时有以下几点考虑:
(1)、尽可能复用QUIC,比如重用QUIC的路径验证(path validation)和连接迁移(connection migration)机制。
(2)、完全使用与QUIC相同的报文头。
(3)、拥塞控制,RTT测量以及路径最大传输单元(Path Maximum TransmissionUnit,PMTU)探测是基于每物理链路实现的。
(4)、路径由IP四元组唯一标识。
图3是本申请实施例提供的基于多通道QUIC协议的协议栈的示例。
如图3所示,该基于多通道QUIC协议的协议栈可包括应用层、安全层、传输层以及网络层。
应用层是网络应用程序和网络协议存放的分层,因特网的应用层包括许多协议,例如支持万维网的HTTP协议,支持邮件的SMTP服务,支持文件传输的FTP。应用层协议分布在多个端***上,一个端***应用程序与另外一个端***应用程序交换信息分组,位于应用层的信息分组称为报文(message)。
安全(security)层在提供保密性和数据完整性。在这一层主要有两种传输协议TLS和QUIC。
运输层在应用程序断点之间传送应用程序报文,在这一层主要有两种传输协议:TCP和UDP。其中,TCP向它的应用程序提供了面向连接的服务,它能够控制并确认报文是否到达,并提供了拥塞机制来控制网络传输,因此当网络拥塞时,会抑制其传输速率。UDP协议向它的应用程序提供了无连接服务。它不具备可靠性的特征,没有流量控制,也没有拥塞控制。与TCP协议相比,UDP更为轻量,但是错误校验也要少得多,这意味着UDP往往效率更高(不经常跟服务器端通信查看数据包是否送达或者按序),但是可靠性比不上TCP。通常游戏、流媒体以及VoIP等应用均采用UDP,而网页、邮件、远程登录等大部分的应用均采用TCP。
网络层是负责将数据包或数据报(datagram)从一台主机移动到另一台主机的网络分层。网络层一个非常重要的协议是IP协议,所有具有网络层的因特网组件都必须运行IP协议,IP协议是一种网际协议,除了IP协议外,网络层还包括一些其他网际协议和路由选择协议,一般把网络层就称为IP层,由此可知IP协议的重要性。
值得注意的是,QUIC协议可以用于提供一种安全、多路复用的连接用来传输应用数据的可靠流,可靠应用数据使用流(STREAM)帧发送。但一些应用程序,尤其是那些需要传输实时数据的应用程序,更适合不可靠的传输数据。因此,相应的,QUIC扩展支持了不可靠的数据传输,即新定义了数据报(Datagram)帧类型。
通过QUIC传输不可靠的数据有如下优势:
(1)、可靠QUIC流和不可靠QUIC数据报间可以共享握手和认证,这样相比使用TLS/DTLS连接能减少握手时延。
(2)、QUIC使用了比DTLS握手更细致的丢包恢复机制,可使QUIC数据的丢包恢复更快。
(3)、QUIC数据报虽然不可靠,但可以支持确认,使应用程序可以知道是否已成功接收到数据报。
(4)、QUIC有拥塞控制机制。这些特性对于优化游戏应用和其他实时应用(如RTC类音频/视频流应用)非常有用。
然而,当基于MP-QUIC采用双发对游戏业务进行加速时,,通过测试发现:实际业务码流增加了不止2倍(双发原因),而是增加了近3倍,由此导致用户和云端服务的网络流量成本过高。分析其原因,是因为QUIC包中除了需要增加IP包头和UDP包头外,还需要增加QUIC包头。
图4是本申请实施例提供的QUIC包头的结构的示例。
如图4所示,QUIC包头具体包括公共包头(Common Header)和数据帧的包头,该数据帧可以是承载有数据报的流帧(Datagram Flow Frame)。其中,该公共包头包括公共标识(Flag)字段、连接标识(CID)字段、路径标识(PathID)字段、编号(PacketNumber)字段。数据帧的包头包括类型(Type)字段、流标识(FlowID)字段、长度(Length)字段、序号(SeqNum)字段、时间(Timestamp)字段以及偏移量(FragOffset)字段。
图5是本申请实施例提供的公共标识字段的结构的示例。
如图5所示,该公共标识字段包括8个比特,这8个比特的左边为高位,右边为低位。
其中,该公共标识字段中各个比特的属性如下:
比特0为版本协商相关标识,依据是客户端还是服务端发送而意义不同。当由客户端发送时,表示公共包头包括该客户端提议的QUIC版本。服务器通过发送不设置该位的包来表示同意版本。当这个位由服务器设置时,表示为版本协商报文(Version NegotiationPacket)。只有服务器会发送版本协商报文。
比特1是标识公共重置报文。公共重置报文是一种特殊报文。具体地,QUIC报文可分为特殊报文和普通报文。特殊报文又可分为两类:版本协商报文(Version NegotiationPackets)及公共重置报文(Public Reset Packets)。普通报文也可分为两类:帧(frame)报文及FEC(Forward Error Correction)报文。
比特2和比特3这两位表示报文中的连接标识(Connection ID,CID)的长度。CID用来标识一个连接,之所以使用CID而不使用四元组标识(源IP,源端口,目的IP,目的端口),是为了就算IP或者端口发生变化时,只要CID不变,这条连接依旧可以维持,上层业务逻辑感知不到变化,不会中断,也就不需要重连。
比特4和比特5这两位表示数据包编号的长度(例如字节数)。
比特6用于预留给多路径使用。
比特7未使用时必须为0。
该公共包头中除该公共序列标识字段之外的字段的属性如下:
CID字段:客户端随机选择的最大长度为64位的无符号整数,长度可变。
路径标识字段:标识多路路径。
编号字段:发送端发送的第一个包的序列号是1,随后的数据包中的序列号的都大于前一个包中的序列号。
此外,数据帧的包头中各个字段的属性如下:
类型字段:区分是否数据报流帧,0x30表示连接结束,0x31表示正常数据,0x33表示分片数据。
长度字段:指示数据报(Datagram Data)的长度,包含流标识(FlowID)字段、编号(SeqNum)字段、时间(Timestamp)字段、偏移量(FragOffset)等字段以及数据报的长度。
流标识字段:用来标识一条数据报所在的流(DatagramFlow),区分业务连接。
序号字段:用来标识发送的数据报的序号,在同一个DatagramFlow中唯一标识该数据报,用于接收端来判断数据报是否重复,进而用于接收到进行去重操作。
时间字段:用来标识发送数据报的时间,用于接收端来判断数据是否过期,用来丢弃过期数据报。
偏移值字段:根据分片的偏移量进行重组包,Type为0x31,FragOffset为0表示非分片包;Type为0x33,FragOffset为0表示分片首包;Type为0x31,FragOffset非0表示分片尾包。
值得注意的是,QUIC报文也可称为QUIC包,QUIC包的大小需要小于或等于最大长度以避免被分片。例如,QUIC包在IPV6下的最大长度为1350,在IPV4下的最大长度为1370。以最大长度为1500为例,如图4所示,QUIC包中除了需要增加IP包头和UDP包头外,还需要增加QUIC包头。其中,IP包头和UDP包头占据28个字节,QUIC包头的开销最大能达到32字节。然而,一般的游戏包都是小包业务,其负载(Payload)也就数十到上百字节,因此在此种小包场景下,QUIC包头的开销占比很高,如开销占比超过30%,因此需要进行包头压缩。
为了解决上述问题,本申请针对游戏等小包双发业务的场景下,提供可一种基于多通道(例如4G/5G+WIFi网络,或4G/5G+4G/5G网络)的数据传输方法,该基于多通道的数据传输方法对QUIC包头进行定制化裁剪,可以有效降低包头开销,并且不影响业务的实时性。具体地,该多通道数据传输方法能够解决在小包多发场景中MP-QUIC协议中包头太大导致***开销相比有效净荷(payload)而言过大的问题,从而节省流量,降低开销,本申请的主要发明构思包括:
(1)、在QUIC协议的公共包头中引入与压缩相关的字段。
(2)根据小包双发业务的特点,对QUIC包头进行定制化裁剪,降低包头开销。
(3)引入基准参考包头机制,避免错误传递影响。
值得注意的是,本申请提供的基于多通道的数据传输方法可应用于多通道聚合增强产品中,由于改善网络性能,尤其用于改善弱网(例如,障碍物较多或信号较差)环境下的加速性能,进而可以提升公司自研发的多通道聚合增强产品相对市场中的对手产品的竞争力。
图6是本申请实施例提供的基于多通道的数据传输方法100的示意性流程图,该方法100可以由终端设备和目标网关交互执行,该终端设备和该目标网关之间建立有多个无线通信通道。该终端设备可以是台式终端或移动终端,该移动终端具体可以是手机、平板电脑、笔记本电脑、车载终端等中的任意一种便携式设备。例如,该终端设备可以是如图1或图2所示的终端侧的设备。该目标网关可以是独立网关,也可以是多个网关构成的网关集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础服务的云网关。
如图6所示,该方法100可包括:
S110,终端设备向目标网关发送压缩请求,该压缩请求用于请求对待发送数据包中基于传输协议的协议包头进行压缩,该协议包头包括该传输协议的公共包头(例如如图4所示的公共包头)和承载有数据报的数据帧的包头(例如如图4所示的数据帧的包头),该公共包头和该数据帧的包头中的至少一项包括待压缩字段。
示例性地,该协议包头为QUIC的协议包头。
示例性地,该承载有数据报的数据帧可以是包括QUIC协议包头的数据帧。该承载有数据报的数据帧的类型可以是数据报(Datagram)帧类型,或者说,该承载有数据报的数据帧可以是Datagram帧,Datagram帧适用于传输没有流量控制或拥塞控制的数据。
示例性地,该待压缩字段包括如图4中的以下字段中的至少一项:连接标识(CID)字段、路径标识(PathID)字段、编号(PacketNumber)字段、类型(Type)字段、流标识(FlowID)字段、长度(Length)字段、序号(SeqNum)字段、时间(Timestamp)字段以及偏移量(FragOffset)字段。
S120,该目标网关基于该待压缩字段的压缩方式,确定该待压缩字段的参考信息;该参考信息包括该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息。
示例性地,该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩得到的字段为已压缩字段。
示例性地,该待压缩字段的压缩方式包括但不限于以下中的至少一项:
压缩方式1:对该待压缩字段的长度进行压缩的方式。
压缩方式2:使用的基准参考包中的参考字段对该待压缩字段进行压缩的压缩方式。该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该参考字段可以是该基准参考包中类型与该待压缩字段的类型相同的字段。例如,通过对基准参考包中的参考字段和待压缩字段进行算数计算的方式进行长度压缩的压缩方式。再如,使用的基准参考包中的参考字段省略待压缩字段的压缩方式。相应的,在解压缩时,也需要使用的基准参考包中的参考字段对该待解压缩字段进行解压缩。例如,可以通过对基准参考包中的参考字段和待解压缩字段进行算数计算(压缩过程中采用的算数计算过程的逆过程)的方式进行解压缩。再如,使用的基准参考包中的参考字段作为对待压缩字段进行解压缩后得到的字段。
压缩方式3:省略(即不发送或丢弃)该待压缩字段的压缩方式。
压缩方式4:利用该公共包头中的公共标识字段中的比特的属性包括该待压缩字段的属性的压缩方式。相当于,通过复用该公共标识字段中的比特来指示待压缩字段需要指示的信息,由此协议包头中可以不包括该待压缩字段,达到对该待压缩字段进行压缩的效果。
示例性地,该待压缩字段的压缩方式可以是与该待压缩字段对应的压缩方式。例如,该目标网关可基于映射关系将与该待压缩字段对应的压缩方式,确定为该压缩字段的压缩方式。该映射关系可以通过在协议中约定或存储在该终端设备中,该映射关系可以包括至少一个类型和至少一个压缩方式之间的对应关系,该至少一个类型可以是至少一个字段的名称或标识,该至少一个压缩方式包括但不限于上述压缩方式1~压缩方式4。
当然,在其他可替代实施例中,该待压缩字段的压缩方式也可以是除上述压缩方式之外的压缩方式,例如可以通过不参考该基准参考包通过预定义的压缩算法进行压缩的压缩方式,例如,可以将该压缩字段减去预定义的数值,本申请对此不作具体限定。
应当理解,本申请实施例对该基准参考包的确定方式不作具体限定。
例如,终端设备可以发送压缩请求之前向该目标网关发送未压缩数据包。这种情况下,若收到该终端设备发送的压缩请求,则可以通过该压缩请求的响应消息向终端设备发送针对该目标网关在接收该压缩请求之前收到的未压缩数据包的确认消息,以降低信令开销。该确认消息可包括未压缩数据包的协议包头中的全部信息,或该确认消息可以包括未压缩数据包的协议包头中的参考字段的信息。
再如,终端设备可以周期性的向该目标网关发送未压缩数据包。这种情况下,若收到该终端设备发送的压缩请求,则可以通过向终端设备发送针对未压缩数据包的确认消息。该确认消息可包括用于指示目标未压缩数据包的信息,该目标未压缩数据包即基准参考包。例如,该确认消息可包括目标未压缩数据包的协议包头中的全部信息,或该确认消息可以包括目标未压缩数据包的协议包头中的参考字段的信息。
在一些实施例中,该待压缩字段包括第一字段且该第一字段的压缩方式为对该第一字段的长度进行压缩的压缩方式时,该参考信息包括第一指示信息,该第一指示信息用于指示该第一字段的压缩字段的长度。
示例性地,该第一字段的压缩字段的长度为该终端设备利用该第一字段的压缩方式对该第一字段进行压缩后的长度。示例性地,该第一字段的长度大于该第一字段的压缩字段的长度,该第一字段的长度为不对该第一字段进行压缩时该第一字段的长度。
例如,该第一字段的长度为16比特、且该第一字段的压缩字段的长度为8比特时,相当于将第一字段的长度压缩了一半。再如,该第一字段的长度为24比特、且该第一字段的压缩字段的长度为8比特,相当于将该第一字段的长度压缩了2/3。
本实施例中,该第一字段的类型不同时,该第一字段的压缩字段的长度不同,由此能够提升该第一字段的压缩灵活性,进而提升了协议包头的压缩灵活性。
当然,在其他可替代实施例中,该第一指示信息也可以用于指示该第一字段的长度和该第一字段的压缩字段的长度之间的差值或比值,以降低该参考信息的开销,或者,该第一指示信息也可以通过其他方式指示该第一字段的压缩字段的长度,本申请对此不作具体限定。
在一些实施例中,该S120可包括:
该目标网关基于该第一字段的类型,确定该第一字段的压缩字段的长度;基于该第一字段的压缩字段的长度,确定该第一指示信息。
示例性地,该第一字段的类型可以是该第一字段的名称或该第一字段的标识。
示例性地,该目标网关可基于映射关系将与该第一字段的类型对应的长度确定方式,确定为该第一字段的压缩字段的长度确定方式。该映射关系可以通过在协议中约定或存储在该终端设备中,该映射关系可以包括至少一个类型和至少一个长度确定方式之间的对应关系,该至少一个类型可以是至少一个字段的名称或标识,该至少一个长度确定方式中不同的长度确定方式使用的信息不同。
在一些实施例中,该第一字段包括以下中的至少一项:该公共包头中的连接标识字段和该公共包头中的流标识字段,该连接标识字段用于标识基于该传输协议的传输连接,该流标识字段用于标识该数据报所在的流。
示例性地,该第一字段包括该连接标识字段时,该第一指示信息包括用于指示该连接标识字段的压缩字段的长度的信息;该第一字段包括该流标识字段时,该第一指示信息包括用于指示该流标识字段的压缩字段的长度的信息。
在一些实施例中,该S120可包括:
在该第一字段包括该连接标识字段的情况下,该目标网关基于该目标网关连接的对象的数量,确定连接标识字段的压缩字段的长度。
示例性地,该目标网关连接的对象的数量与该连接标识字段的压缩字段的长度正相关。换句话讲,该目标网关连接的对象的数量越大,则该连接标识字段的压缩字段的长度越大。
例如,该目标网关连接的对象的数量与该连接标识字段的压缩字段的长度的比值为预设数值,该预设数值可以是标准协议约定的数值或该目标网关存储的数值。再如,该目标网关连接的对象的数量与第一数值的比值为预设数值,该第一数值为该连接标识字段的压缩字段的长度和缩放参数的乘积,该缩放参数和该预设数值可以是标准协议约定的数值或该目标网关存储的数值。
示例性地,该目标网关连接的对象的数量小于预设阈值时,该目标网关确定该连接标识字段的压缩字段的长度为第一长度,否则,确定该连接标识字段的压缩字段的长度为第二长度。其中,该第一长度大于该第二长度,例如,该第一长度可以是8比特或其他数值,该第二长度可以是32比特或其他数值。
当然,在其他可替代实施例中,该目标网关也可以基于该目标网关的业务负载或其他参数,确定该连接标识字段的压缩字段的长度,本申请对此不作具体限定。
在一些实施例中,该S120可包括:
在该第一字段包括该流标识字段的情况下,该目标网关将该目标数据包中数据的业务类型对应的数值,确定为该流标识字段的压缩字段的长度。
示例性地,该目标数据包中数据的业务类型可以是该终端设备之前上报的业务类型或目标网关基于终端设备在该目标数据包之间发送的数据包确定的业务类型。该业务类型可以是业务场景类型或业务应用类型,该业务场景类型指基于业务适用的场景划分的类型,该业务应用类型指基于用于产生业务的应用程序的类型。
示例性地,该目标网关可基于映射关系,将该目标数据包中数据的业务类型对应的数值,确定为该流标识字段的压缩字段的长度。该映射关系包括至少一个业务类型和至少一个数值之间的对应关系。该映射关系可以是标准协议约定的信息或该目标网关存储的信息。
举例来说,该目标数据包中数据的业务类型为游戏业务类型时,可以将该游戏业务类型对应的数值,确定为该流标识字段对应的数值,确定为该流标识字段的压缩字段的长度。其中,该游戏业务类型对应的数值可以小于或等于预设阈值,该预设阈值可以是8或其他数值,该预设阈值可以是标准协议约定的数值或该目标网关存储的数值。
当然,在其他可替代实施例中,该目标网关也可以基于该对该终端设备的类型(例如是否为移动终端)等其他参数,确定该流标识字段的压缩字段的长度,本申请对此不作具体限定。
在一些实施例中,该待压缩字段包括至少一个字段且该至少一个字段的压缩方式为利用该终端设备使用的基准参考包中的至少一个参考字段将该至少一个字段压缩为目标字段的压缩方式时,该参考信息包括第二指示信息,该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该至少一个参考字段包括该基准参考包中类型与该至少一个字段中的字段的类型相同的字段,该第二指示信息用于指示该至少一个字段中的第二字段的长度,该第二字段的长度为对该第二字段进行压缩前的长度。
示例性地,终端设备可以发送压缩请求之前向该目标网关发送未压缩数据包。这种情况下,若收到该终端设备发送的压缩请求,则可以通过该压缩请求的响应消息向终端设备发送针对该目标网关在接收该压缩请求之前收到的未压缩数据包的确认消息,以降低信令开销。该确认消息可包括未压缩数据包的协议包头中的全部信息,或该确认消息可以包括未压缩数据包的协议包头中的参考字段的信息。
示例性地,终端设备可以周期性的向该目标网关发送未压缩数据包。这种情况下,若收到该终端设备发送的压缩请求,则可以通过向终端设备发送针对未压缩数据包的确认消息。该确认消息可包括用于指示目标未压缩数据包的信息,该目标未压缩数据包即基准参考包。例如,该确认消息可包括目标未压缩数据包的协议包头中的全部信息,或该确认消息可以包括目标未压缩数据包的协议包头中的参考字段的信息。
示例性地,该至少一个字段中不同的字段的长度相同或不同。例如,该至少一个字段中不同的字段的长度相同时,该至少一个字段中每一个字段的长度均等于该第二字段的长度。
示例性地,该目标字段的压缩字段的长度为该终端设备利用该至少一个字段的压缩方式对该至少一个字段进行压缩后的长度。示例性地,该目标字段的长度小于或等于该第二字段的长度,当然也可以大于该第二字段的长度。例如,该至少一个字段中的每一个字段的长度为16比特、且该目标字段的长度为16比特时,相当于将至少一个长度为16比特的字段压缩为一个长度为16比特的字段。
本实施例中,将待压缩字段中的至少一个字段合并压缩为目标字段,可以降低协议包头的开销。
当然,在其他可替代实施例中,该第二指示信息也可以用于指示该第二字段的长度和预设数值的差值或比值,以降低该参考信息的开销。该预设数值可以是标准协议约定的数值或该目标网关存储的数值。当然,该第二指示信息也可以通过其他方式来指示该第二字段的长度,本申请对此不作具体限定。
在一些实施例中,该S120可包括:
该目标网关基于该终端设备的网络延时的上限值和该终端设备的发包频率,确定该第二字段的长度;然后基于该第二字段的长度,确定该第二指示信息。
示例性地,该终端设备的网络延时的上限值可以是该终端设备上报的上限值或该目标网关测量的上限值。类似的,该终端设备的发包频率可以是该终端设备上报的发包频率或该目标网关测量的发包频率。
示例性地,该发包频率与该上限值的比值与该第二字段的长度负相关。换句话讲,该比值越大,则该第二字段的长度越小。
例如,该比值与该第二字段的长度的商为预设数值,该预设数值可以是标准协议约定的数值或该目标网关存储的数值。再如,该比值与第二数值的商为预设数值,该第二数值为该比值和缩放参数的乘积,该缩放参数和该预设数值可以是标准协议约定的数值或该目标网关存储的数值。
当然,在其他可替代实施例中,该目标网关也可以基于该终端设备的网络延时的上限值或该终端设备的发包频率,确定该第二字段的长度。例如,该终端设备的发包频率与该第二字段的长度负相关。再如,该终端设备的网络延时的上限值与该第二字段的长度正相关。该目标网关也可以基于该网络延时的下限值、该网络延时的平均值或其他参数,确定该第二字段的长度。本申请对此不作具体限定。
在一些实施例中,该待压缩字段包括第三字段且该第三字段的压缩方式为省略该第三字段的压缩方式时,该参考信息包括第三指示信息,该第三指示信息用于指示该第三字段。
示例性地,该第三字段为省略字段,说明该第三字段的压缩字段的长度为0。换句话说,该第三指示信息用于指示该第三字段为省略字段时,该协议包头的压缩包头不包括该第三字段。
例如,该第三字段的长度为16比特、且该第三字段为省略字段时,相当于将第三字段的长度压缩了16比特。再如,该第三字段的长度为24比特、且该第三字段为省略字段时,相当于将该第一字段的长度压缩了24比特。
本实施例中,将待压缩字段中的第三字段作为省略字段进行压缩,可以降低协议包头的开销。
当然,在其他可替代实施例中,该第三指示信息也可以用于指示需要进行压缩的字段或不需要进行压缩的字段,本申请对此不作具体限定。
在一些实施例中,该第三字段包括该数据帧的包头中的以下中的至少一项:类型字段和时间字段,该类型字段用于标识该数据帧的类型,该时间字段用于标识该目标数据包的发送时间。
示例性地,该第三字段包括该类型字段时,该第三指示信息包括用于指示该类型字段的信息;该第三字段包括该时间字段时,该第三指示信息包括用于指示该时间字段的信息。
在一些实施例中,该S120可包括:
在该终端设备启动包头压缩的场景下,确定该类型字段为省略字段;在该目标数据包中数据的业务类型为预定义的业务类型的情况下,确定该时间字段为省略字段;基于该类型字段和该时间字段中的省略字段,确定该第三指示信息。
示例性地,在该终端设备启动包头压缩的场景下,说明待压缩数据为正常数据,这种情况下,在不影响数据传输的基础上,该目标网关默认该类型字段为省略字段。
示例性地,在该目标数据包中数据的业务类型为预定义的业务类型的情况下,该目标网关默认确定该时间字段为省略字段。该目标数据包中数据的业务类型可以是该终端设备之前上报的业务类型或目标网关基于终端设备在该目标数据包之间发送的数据包确定的业务类型。该业务类型可以是业务场景类型或业务应用类型,该业务场景类型指基于业务适用的场景划分的类型,该业务应用类型指基于用于产生业务的应用程序的类型。例如,该预定义的业务类型可以是游戏业务类型。
示例性地,目标网关确定该类型字段为省略字段时,该第三指示信息包括用于指示该类型字段为省略字段的信息;该目标网关确定该时间字段为省略字段时,该第三指示信息包括用于指示该时间字段为省略字段的信息。
当然,在其他可替代实施例中,该目标网关也可以基于该业务类型确定该类型字段是否为省略字段,或该目标网关也可以在启动包头压缩的场景下,直接确定该时间字段为省略字段,本申请对此不作具体限定。
S130,该目标网关向该终端设备发送响应消息,该响应消息包括该参考信息。
示例性地,该目标网关可以通过该多个无线通信信道中任意一个无线通信信道向该终端设备发送该响应消息。
示例性地,该目标网关可以通过该多个无线通信信道向该终端设备发送多次该响应消息。
示例性地,该终端设备收到该响应消息后,可以向该目标网关发送未压缩数据包,例如,该目标网关发送的未压缩数据包可包含32字节的QUIC包头,并将QUIC包头的公共包头中的公共标识字段的预留的Bit7拿来使用,置为0,表示包头为未压缩的数据包。该目标网关收到该终端设备发送的未压缩数据包后,可将其作为基准参考包,并向该终端设备发送确认消息。该确认消息可包括基准参考包的协议包头中的全部信息,或该确认消息可以包括基准参考包的协议包头中的参考字段的信息。当然,在其他可替代实施例中,终端设备也可以在发送压缩请求之前向该目标网关发送未压缩数据包,或者在发送该压缩请求且等待接收该响应消息的过程中,向该目标网关发送未压缩数据包,甚至可以周期性的向该目标网关发送未压缩数据包,本申请对此不作具体限定。
值得注意的是,该终端设备收到该确认消息后,还可以针对该确认消息向该目标网关发送该确认消息的反馈消息,并接收该目标网关针对该反馈消息发送的确认消息,以确保该终端设备和该目标网关对该基准参考包的理解保持一致。
S140,该终端设备利用该待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头。
在一些实施例中,该待压缩字段包括第一字段且该第一字段的压缩方式为对该第一字段的长度进行压缩的压缩方式时,该参考信息包括第一指示信息且该已压缩字段包括该第一字段的压缩字段,该第一指示信息用于指示该第一字段的压缩字段的长度。在这种情况下,该S140可包括:
该终端设备基于该第一字段的类型,确定该协议包头的压缩包头是否包括该第一字段的压缩字段;在该协议包头的压缩包头包括该第一字段的压缩字段的情况下,基于该第一指示信息指示的长度,确定该第一字段的压缩字段的取值。
示例性地,该终端设备基于该第一字段的类型,确定该协议包头的压缩包头是否包括该第一字段的压缩字段;在该协议包头的压缩包头包括该第一字段的压缩字段的情况下,利用该待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段(例如,基于该第一指示信息指示的长度,确定该第一字段的压缩字段的取值),即该协议包头的压缩包头包括该第一字段的压缩字段;否则,利用省略该第一字段的压缩方式对该第一字段进行压缩,即该协议包头的压缩包头不包括该第一字段,也不包括该第一字段的压缩字段。
在一些实施例中,该第一字段包括以下中的至少一项:该公共包头中的连接标识字段和该公共包头中的流标识字段,该连接标识字段用于标识基于该传输协议的传输连接,该流标识字段用于标识该数据报所在的流。
示例性地,该待压缩字段包括连接标识字段且该连接标识字段的压缩方式为对该连接标识字段的长度进行压缩的压缩方式时,该已压缩字段包括该连接标识字段的压缩字段且该参考信息包括连接标识字段的指示信息,该连接标识字段的指示信息用于指示该连接标识字段的压缩字段的长度。
示例性地,该待压缩字段包括流标识字段且该流标识字段的压缩方式为对该流标识字段的长度进行压缩的压缩方式时,该已压缩字段包括该流标识字段的压缩字段且该参考信息包括流标识字段的指示信息,该流标识字段的指示信息用于指示该流标识字段的压缩字段的长度。
在一些实施例中,该S140可包括:
在该第一字段包括该连接标识字段的情况下,若该目标数据包的源互联网协议地址发生变化,则确定该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括该连接标识字段的压缩字段,否则,确定该公共包头的压缩包头不包括该连接标识字段的压缩字段。
当然,在其他可替代实施例中,该终端设备也可以通过其他方式对该连接标识字段进行压缩,本申请对此不作具体限定。
例如,该终端设备也可以在不考虑该目标数据包的源互联网协议地址的情况下,确定该协议包头的压缩包头是否包括该连接标识字段的压缩字段,本申请对此不作具体限定。例如,在该第一字段包括该连接标识字段的情况下,默认该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括该连接标识字段的压缩字段。
再如,该终端设备也可以在考虑该目标数据包的源互联网协议地址的情况下,确定是否对该协议包头是否进行压缩。例如,在该第一字段包括该连接标识字段的情况下,若该目标数据包的源互联网协议地址未发生变化,则确定该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括该连接标识字段的压缩字段,否则,确定不压缩该协议包头,并利用该多个无线通信信道中任意一个无线通信信道向该终端设备发送待发送数据包。
在一些实施例中,该S140可包括:
在该第一字段包括该流标识字段的情况下,默认该协议包头的压缩包头包括该数据帧的压缩包头且该数据帧的压缩包头包括该流标识字段的压缩字段。
当然,在其他可替代实施例中,也可以通过其他条件或参数确定该协议包头的压缩包头是否包括该流标识字段的压缩字段,本申请对此不作具体限定。
在一些实施例中,该待压缩字段包括至少一个字段且该至少一个字段的压缩方式为利用该终端设备使用的基准参考包中的至少一个参考字段将该至少一个字段压缩为目标字段的压缩方式时,该参考信息包括第二指示信息且该已压缩字段包括该目标字段,该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该至少一个参考字段包括该基准参考包中类型与该至少一个字段中的字段的类型相同的字段,该第二指示信息用于指示该至少一个字段中的第二字段的长度,该第二字段的长度为对该第二字段进行压缩前的长度。在这种情况下,该S140可包括:
基于该第二指示信息指示的长度,确定该至少一个字段中除该第二字段之外的字段的长度;基于该至少一个字段中各个字段的长度,确定该至少一个字段中各个字段的取值;基于该至少一个字段中各个字段的取值和该至少一个参考字段中各个参考字段的取值,确定该目标字段的取值。
示例性地,终端设备可将该第二字段的长度,确定为该至少一个字段中除该第二字段之外的字段的长度。
示例性地,终端设备可将该至少一个字段中各个字段的取值经过拼接后得到的值和该至少一个参考字段中各个参考字段的取值经过拼接后得到的值的差值,确定为该目标字段的取值。或者,终端设备可将该至少一个参考字段中各个字段的取值经过拼接后得到的值和该至少一个字段中各个参考字段的取值经过拼接后得到的值的差值,确定为该目标字段的取值。
在一些实施例中,该至少一个字段包括该公共包头中的编号字段和该数据帧的包头中的序号字段时,该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括该目标字段的取值,该至少一个参考字段包括该基准参考包中类型与该编号字段的类型相同的第一参考字段和该基准参考包中类型与该序号字段的类型相同的第二参考字段,该编号字段用于标识该待发送数据包的编号,该序号字段用于标识该数据报在流中的序号。这种情况下,该终端设备按照预定义的组合方式对该编号字段的取值和该序号字段的取值进行组合,得到待压缩的待压缩序列,以及按照该组合方式对该第一参考字段的取值和该第二参考字段的取值进行组合,得到该待压缩序列的参考序列;基于该待压缩序列和该参考序列的差值,确定该目标字段的取值。
示例性地,该第二字段可以是该编号字段或该序号字段。
示例性地,终端设备将待压缩序列减去该参考序列得到的差值,确定为该目标字段的取值。当然,在其他可替代实施例中,终端设备也可以将该参考序列减去待压缩序列得到的差值,确定为该目标字段的取值,本申请对此不作具体限定。
示例性地,该预定义的组合方式可以是标准协议约定的组合方式,也可以是该终端设备存储的组合方式。
示例性地,针对多个待组合字段,该预定义的组合方式可以以下组合方式:按照该多个待组合字段的排列顺序,获取该多个待组合字段中第i个二进制数值,得到对所述多个待组合字段的取值进行组合后的序列中的第i个中间序列。
例如,假设编号字段的二进制值为[PBitN,..,Pbit1],且序号字段的二进制值为[SBitN,...Sbit1],则可以组成待压缩序列为[SbitN,PbitN,…,Sbit1,Pbit1]。类似的,可以按同样的方式对该第一参考字段的取值和该第二参考字段的取值进行压缩,并得到该待压缩序列的参考序列;然后利用该待压缩序列减去该参考序列,得到该目标字段的取值。此时,该目标字段是针对该编号字段和该序号字段进行压缩得到的字段。
当然,在其他可替代实施例中,该至少一个字段还可以包括除编号字段和序号字段之外的字段。
在一些实施例中,该待压缩字段包括第三字段且该第三字段的压缩方式为省略该第三字段的压缩方式时,该参考信息包括第三指示信息且该协议包头的压缩包头不包括该第三字段,该第三指示信息用于指示该第三字段。
在一些实施例中,该第三字段包括该数据帧的包头中的以下中的至少一项:类型字段和时间字段,该类型字段用于标识该数据帧的类型,该时间字段用于标识该目标数据包的发送时间。
示例性地,该第三字段包括该类型字段时,该协议包头的压缩包头不包括该类型字段;该第三字段包括该时间字段时,该协议包头的压缩包头不包括该时间字段。
在一些实施例中,该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括公共标识字段,该公共标识字段包括以下中的至少一项:
用于指示该目标数据包是否为压缩包的比特;
用于指示该数据帧的压缩包头是否包括偏移字段的比特,该偏移字段用于指示该数据帧在流中的位置;
用于指示该数据帧的压缩包头是否包括长度字段的比特,该长度字段用于指示该数据帧的包头中的流标识字段的起始位置至该数据报的结束位置之间的总长度,该流标识字段用于标识该数据报所在的流;
该待压缩字段包括至少一个字段且该至少一个字段的压缩方式为利用该终端设备使用的基准参考包中的至少一个参考字段将该至少一个字段压缩为目标字段的压缩方式时,用于指示该协议包头的压缩包头是否包括用于指示该目标字段的长度的比特;该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该至少一个参考字段包括该基准参考包中类型与该至少一个字段中的字段的类型相同的字段;
用于指示该目标数据包是否采用该多个无线通信通道进行数据传输以及在采用该多个无线通信通道进行数据传输时用于指示该目标数据包使用的无线通信通道的比特;
用于指示是否基于该目标数据包更新该基准参考包的比特。
示例性地,该公共标识字段包括8个比特,该8个比特可包括:
用于指示该目标数据包是否为压缩包的1个比特;
用于指示该数据帧的压缩包头是否包括偏移字段的1个比特,该偏移字段用于指示该数据帧在流中的位置;
用于指示该数据帧的压缩包头是否包括长度字段的1个比特,该长度字段用于指示该数据帧的包头中的流标识字段的起始位置至该数据报的结束位置之间的总长度,该流标识字段用于标识该数据报所在的流;
该待压缩字段包括至少一个字段且该至少一个字段的压缩方式为利用该终端设备使用的基准参考包中的至少一个参考字段将该至少一个字段压缩为目标字段的压缩方式时,用于指示该协议包头的压缩包头是否包括用于指示该目标字段的长度的2个比特;该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该至少一个参考字段包括该基准参考包中类型与该至少一个字段中的字段的类型相同的字段;
用于指示该目标数据包是否采用该多个无线通信通道进行数据传输以及在采用该多个无线通信通道进行数据传输时用于指示该目标数据包使用的无线通信通道的2个比特;
用于指示是否基于该目标数据包更新该基准参考包的1个比特。
示例性地,该公共标识字段包括8个比特,且这8个比特的左边为高位,右边为低位时,该公共标识字段具体可包括:
(1)、公共标识字段的比特7置为1,标志为压缩包。
(2)、公共标识字段的比特0如果置为1,则表示在数据帧的压缩包头中的偏移值字段存在;否则表示不存在。
(3)、公共标识字段的比特1如果置为0,则表示在数据帧的压缩包头中长度字段长度为8比特,否则为16比特。
(4)、公共标识字段的比特2、比特3表示新增加的包头序号差值域(NumDiff)字段的长度,00表示为8bit,01表示为16bit,10表示为24bit,11表示为32bit。
(5)、公共标识字段的比特4,比特5表示多路径协议及路径标识(PathID),11表示非多路径协议,00表示PathID为0的通信通道,01表示PathID为1的通信通道,10表示PathID为2的通信通道。
(6)、公共标识字段的比特6如果置为1,则表示显式触发目标网关更新基准参考包。
S150,该终端设备将该协议包头的压缩包头和该待发送数据包中除该协议包头之外的信息进行组合,得到目标数据包。
示例性地,该终端设备将该协议包头的压缩包头与待发送数据包中的IP包头、待发送数据包中的UDP包头、以及待发送数据包中的负载进行组合,得到该目标数据包。
S160,该终端设备利用该多个无线通信通道中的无线通信通道向该目标网关发送该目标数据包。
示例性地,该多个无线通信通道包括但不限于一个或多个蜂窝网络通道和一个或多个WiFi网络通道。该蜂窝网络通道包括但不限于4G网络通道和5G网络通道。
S170,该目标网关利用与该待压缩字段的压缩方式匹配的解压缩方式,基于该参考信息对该已压缩字段进行解压缩,得到对该已压缩字段进行解压缩后的字段。
当然,该目标网关对该已压缩字段进行解压缩后,还可以可基于对该已压缩字段进行解压缩后的字段进行后续的解调处理,本申请对此不作具体限定。
在一些实施例中,该S170可包括:
在该协议包头的压缩包头不包括该连接标识字段的压缩字段的情况下,该目标网关将基准参考包中类型与该连接标识字段的类型相同的字段,确定为对该连接标识字段的压缩字段进行解压缩得到的字段;该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包。
示例性地,在该协议包头的压缩包头不包括该连接标识字段的压缩字段且该目标数据包的源互联网协议地址未发生变化的情况下,该目标网关将该基准参考包中类型与该连接标识字段的类型相同的字段的取值,确定为对该连接标识字段的压缩字段进行解压缩得到的字段的取值。也即是说,针对该连接标识字段,在终端设备通过省略的方式进行压缩时,目标网关需要利用该基准参考包进行恢复。
在一些实施例中,该待压缩字段包括至少一个字段且该至少一个字段的压缩方式为利用该终端设备使用的基准参考包中的至少一个参考字段将该至少一个字段压缩为目标字段的压缩方式时,该已压缩字段包括该目标字段且该参考信息包括第二指示信息,该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该至少一个参考字段包括该基准参考包中类型与该至少一个字段中的字段的类型相同的字段,该第二指示信息用于指示该至少一个字段中的第二字段的长度,该第二字段的长度为对该第二字段进行压缩前的长度;该至少一个字段包括该公共包头中的编号字段和该数据帧的包头中的序号字段时,该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括该目标字段的取值,该至少一个参考字段包括该基准参考包中类型与该编号字段的类型相同的第一参考字段和该基准参考包中类型与该序号字段的类型相同的第二参考字段,该编号字段用于标识该待发送数据包的编号,该序号字段用于标识该数据报在流中的序号;在这种情况下,该S170可包括:
按照预定义的组合方式,对该第一参考字段的取值和该第二参考字段的取值进行组合,得到参考序列;基于该参考序列与该目标字段的取值的和,确定该编号字段的取值和该序号字段的取值,并将该编号字段和该序号字段,确定为对该目标字段进行解压缩得到的字段。
示例性地,该终端设备按照预定义的组合方式对该编号字段的取值和该序号字段的取值进行组合,得到待压缩的待压缩序列,以及按照该组合方式对该第一参考字段的取值和该第二参考字段的取值进行组合,得到该待压缩序列的参考序列;基于该待压缩序列和该参考序列的差值,确定该目标字段的取值。相应的,该目标网关可以将该参考序列和该目标字段的取值相加,得到待拆分序列,然后按照与该预定义的组合方式对待拆分序列进行拆分,得到该编号字段和该序号字段。
例如,假设该目标网关可以将该参考序列和该目标字段的取值相加,得到待拆分序列为[SbitN,PbitN,…,Sbit1,Pbit1],则该目标网关按照与该预定义的组合方式对待拆分序列进行拆分,得到该编号字段和该序号字段;其中,该编号字段的二进制值为[PBitN,..,Pbit1],该序号字段的二进制值为[SBitN,...Sbit1]。
当然,在其他可替代实施例中,终端设备也可以将该参考序列减去待压缩序列得到的差值,确定为该目标字段的取值。这种情况下,该目标网关可以将该参考序列的取值减去该目标序列的取值,得到待拆分序列,进而按照与该预定义的组合方式对待拆分序列进行拆分,得到该编号字段和该序号字段。
应当理解,针对上文涉及的第一字段,由于终端设备是基于该第一字段的压缩字段的长度确定的该第一字段的取值,因此,该目标网关可以直接使用该第一字段的压缩字段的取值,即不存在对应的解压缩过程。类似的,针对上文涉及的第三字段,由于是通过省略的方式进行的压缩,因此,也不存在对应的解压缩过程。
综上可知,本实施例中,终端设备利用待压缩字段的压缩方式,基于目标网关发送的参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头,一方面,可以降低协议包头的开销。另一方面,由于该终端设备基于目标网关发送的参考信息对该待压缩字段进行压缩,即以字段为粒度进行压缩且是通过目标网关进行调度的,能够提升数据传输的灵活性。
此外,通过引入基准参考包的压缩方案中,还能够避免压缩方案中的错误传递现象,即,前面错误的数据包不会影响后续包的解调,从而同时也保证了时延性能。尤其是,对时延敏感性的要求较高的游戏场景,能够提升用户的游戏体验。
假设待发送数据包中的协议包头为UIC包头,其具体包括公共包头(CommonHeader)和数据帧的包头,该数据帧可以是承载有数据报的流帧(Datagram Flow Frame)。其中,该公共包头包括公共标识(Flag)字段、连接标识(CID)字段、路径标识(PathID)字段、编号(PacketNumber)字段。数据帧的包头包括类型(Type)字段、流标识(FlowID)字段、长度(Length)字段、序号(SeqNum)字段、时间(Timestamp)字段以及偏移量(FragOffset)字段。
其中,该协议包头中待压缩字段的压缩方式包括以下压缩方式:
压缩方式1:对该待压缩字段的长度进行压缩的方式。
压缩方式2:使用的基准参考包中的参考字段对该待压缩字段进行压缩的压缩方式。该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该参考字段可以是该基准参考包中类型与该待压缩字段的类型相同的字段。例如,通过对基准参考包中的参考字段和待压缩字段进行算数计算的方式进行长度压缩的压缩方式。再如,使用的基准参考包中的参考字段省略待压缩字段的压缩方式。相应的,在解压缩时,也需要使用的基准参考包中的参考字段对该待解压缩字段进行解压缩。例如,可以通过对基准参考包中的参考字段和待解压缩字段进行算数计算(压缩过程中采用的算数计算过程的逆过程)的方式进行解压缩。再如,使用的基准参考包中的参考字段作为对待压缩字段进行解压缩后得到的字段。
压缩方式3:省略(即不发送或丢弃)该待压缩字段的压缩方式。
压缩方式4:利用该公共包头中的公共标识字段中的比特的属性包括该待压缩字段的属性的压缩方式。相当于,通过复用该公共标识字段中的比特来指示待压缩字段需要指示的信息,由此协议包头中可以不包括该待压缩字段,达到对该待压缩字段进行压缩的效果。
假设该连接标识字段和该流标识字段采用上述压缩方式1进行压缩,该编号字段和该序列字段采用上述压缩方式2进行压缩,该类型字段和该时间字段采用上述压缩方式3进行压缩,该路径标识字段采用上述压缩方式4进行压缩,则该协议包头的压缩包头可包括如图7所示的公共包头的压缩包头和数据帧的压缩包头,其中,该公共包头的压缩包头包括公共标识字段和序号差值字段(即对编号字段和序号字段进行压缩得到的字段),该数据帧的压缩包头可包括长度字段和流标识字段。由此,可以显著降低QUIC包头开销,具体由压缩前的最大的32字节的包头,可以降低到4字节,开销降低了约88%。
图8是本申请实施例提供的基于多通道的数据传输方法200的示意性流程图,该方法200可以由终端设备和目标网关交互执行,该终端设备和该目标网关之间建立有多个无线通信通道。该终端设备可以是台式终端或移动终端,该移动终端具体可以是手机、平板电脑、笔记本电脑、车载终端等中的任意一种便携式设备。例如,该终端设备可以是如图1或图2所示的终端侧的设备。该目标网关可以是独立网关,也可以是多个网关构成的网关集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础服务的云网关。
如图8所示,该方法200可包括:
S210,该目标网关基于待压缩字段的压缩方式,确定该待压缩字段的参考信息;该参考信息包括该目标网关利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息。
S220,该目标网关向该终端设备发送该参考信息。
S230,该目标网关获取待发送数据包;该待发送数据包的协议包头包括传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括该待压缩字段。
S240,该目标网关利用该待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头。
S250,该目标网关将该协议包头的压缩包头和该待发送数据包中除该协议包头之外的信息进行组合,得到目标数据包。
S260,该目标网关利用该多个无线通信通道中的无线通信通道向该终端设备发送该目标数据包。
该目标数据包包括协议包头的压缩包头,该协议包头的压缩包头包括已压缩字段,该已压缩字段为该目标网关利用该待压缩字段的压缩方式对该待压缩字段进行压缩得到的字段。
S270,该终端设备利用与该待压缩字段的压缩方式匹配的解压缩方式,基于该参考信息对该已压缩字段进行解压缩,得到对该已压缩字段进行解压缩后的字段。
应当理解,该方法100是该终端设备和该目标网关之间进行上行通信的方法,该方法200是该终端设备和该目标网关之间进行下行通信的方法,不管是上行通信,还是下行通信,该目标网关都需要确定该参考信息并将该参考信息发送给终端设备,以便该终端设备基于该参考信息进行压缩或解压缩。因此,该方法200中的S210的相关内容可参考方法S120中描述的内容。类似的,下行通信中目标网关压缩待发送数据包的过程也可以参考上行通信中终端设备压缩待发送数据包的过程,即该方法200汇总的S240可参考方法100中的S140;下行通信中终端设备解压缩待解压缩数据包的过程也可以参考上行通信中目标网关解压缩待解压缩数据包的过程,即该方法200中的S270可参考方法100中的S170;为避免重复,此次不再进行赘述。
图9是本申请实施例提供的终端设备基于参考信息压缩和解压缩协议包头的原理的示例。
如图9所示,终端设备安装有加速应用程序且包括压缩/解压缩模块,由此,终端设备存在待发送数据包时,可以利用压缩/解压缩模块,基于参考信息对待发送数据包进行协议包头的压缩并得到目标数据包,然后向目标网关发送该目标数据包。类似的,该终端设备接收到待解压缩数据包时,可以利用压缩/解压缩模块,基于参考信息对待解压缩数据包进行协议包头的解压缩并得到目标数据包。
图10是本申请实施例提供的目标网关基于参考信息压缩和解压缩协议包头的原理的示例。
如图10所示,目标网关安装有加速应用程序且包括压缩/解压缩模块,由此,目标网关存在待发送数据包时,可以利用压缩/解压缩模块,基于参考信息对待发送数据包进行协议包头的压缩并得到目标数据包,然后向终端设备发送该目标数据包。类似的,该目标网关接收到待解压缩数据包时,可以利用压缩/解压缩模块,基于参考信息对待解压缩数据包进行协议包头的解压缩并得到目标数据包。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上文涉及的实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上文涉及的具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上文涉及的各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的装置进行说明。
图11是本申请实施例提供的终端设备300的示意性框图。其中,该终端设备300和目标网关之间建立有多个无线通信通道。
如图11所示,该终端设备300可包括:
发送单元310,用于向该目标网关发送压缩请求,该压缩请求用于请求对待发送数据包中基于传输协议的协议包头进行压缩,该协议包头包括该传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括待压缩字段;
接收单元320,用于接收该目标网关发送的响应消息;该响应消息包括参考信息,该参考信息包括该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
压缩单元330,用于利用该待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头;
该发送单元310还用于将该协议包头的压缩包头和该待发送数据包中除该协议包头之外的信息进行组合,得到目标数据包,并利用该多个无线通信通道中的无线通信通道向该目标网关发送该目标数据包。
在一些实施例中,该待压缩字段包括第一字段且该第一字段的压缩方式为对该第一字段的长度进行压缩的压缩方式时,该参考信息包括第一指示信息且该已压缩字段包括该第一字段的压缩字段,该第一指示信息用于指示该第一字段的压缩字段的长度;
其中,该压缩单元330具体用于:
基于该第一字段的类型,确定该协议包头的压缩包头是否包括该第一字段的压缩字段;
在该协议包头的压缩包头包括该第一字段的压缩字段的情况下,基于该第一指示信息指示的长度,确定该第一字段的压缩字段的取值。
在一些实施例中,该第一字段包括以下中的至少一项:该公共包头中的连接标识字段和该公共包头中的流标识字段,该连接标识字段用于标识基于该传输协议的传输连接,该流标识字段用于标识该数据报所在的流;
其中,该压缩单元330具体用于:
在该第一字段包括该连接标识字段的情况下,若该目标数据包的源互联网协议地址发生变化,则确定该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括该连接标识字段的压缩字段,否则,确定该公共包头的压缩包头不包括该连接标识字段的压缩字段;
在该第一字段包括该流标识字段的情况下,默认该协议包头的压缩包头包括该数据帧的压缩包头且该数据帧的压缩包头包括该流标识字段的压缩字段。
在一些实施例中,该待压缩字段包括至少一个字段且该至少一个字段的压缩方式为利用该终端设备使用的基准参考包中的至少一个参考字段将该至少一个字段压缩为目标字段的压缩方式时,该参考信息包括第二指示信息且该已压缩字段包括该目标字段,该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该至少一个参考字段包括该基准参考包中类型与该至少一个字段中的字段的类型相同的字段,该第二指示信息用于指示该至少一个字段中的第二字段的长度,该第二字段的长度为对该第二字段进行压缩前的长度;
其中,该压缩单元330具体用于:
基于该第二指示信息指示的长度,确定该至少一个字段中除该第二字段之外的字段的长度;
基于该至少一个字段中各个字段的长度,确定该至少一个字段中各个字段的取值;
基于该至少一个字段中各个字段的取值和该至少一个参考字段中各个参考字段的取值,确定该目标字段的取值。
在一些实施例中,该至少一个字段包括该公共包头中的编号字段和该数据帧的包头中的序号字段时,该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括该目标字段的取值,该至少一个参考字段包括该基准参考包中类型与该编号字段的类型相同的第一参考字段和该基准参考包中类型与该序号字段的类型相同的第二参考字段,该编号字段用于标识该待发送数据包的编号,该序号字段用于标识该数据报在流中的序号;
其中,该压缩单元330具体用于:
按照预定义的组合方式对该编号字段的取值和该序号字段的取值进行组合,得到待压缩的待压缩序列,以及按照该组合方式对该第一参考字段的取值和该第二参考字段的取值进行组合,得到该待压缩序列的参考序列;
基于该待压缩序列和该参考序列的差值,确定该目标字段的取值。
在一些实施例中,该待压缩字段包括第三字段且该第三字段的压缩方式为省略该第三字段的压缩方式时,该参考信息包括第三指示信息且该协议包头的压缩包头不包括该第三字段,该第三指示信息用于指示该第三字段,该第三字段包括该数据帧的包头中的以下中的至少一项:类型字段和时间字段,该类型字段用于标识该数据帧的类型,该时间字段用于标识该目标数据包的发送时间。
在一些实施例中,该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括公共标识字段,该公共标识字段包括以下中的至少一项:
用于指示该目标数据包是否为压缩包的比特;
用于指示该数据帧的压缩包头是否包括偏移字段的比特,该偏移字段用于指示该数据帧在流中的位置;
用于指示该数据帧的压缩包头是否包括长度字段的比特,该长度字段用于指示该数据帧的包头中的流标识字段的起始位置至该数据报的结束位置之间的总长度,该流标识字段用于标识该数据报所在的流;
该待压缩字段包括至少一个字段且该至少一个字段的压缩方式为利用该终端设备使用的基准参考包中的至少一个参考字段将该至少一个字段压缩为目标字段的压缩方式时,用于指示该协议包头的压缩包头是否包括用于指示该目标字段的长度的比特;该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该至少一个参考字段包括该基准参考包中类型与该至少一个字段中的字段的类型相同的字段;
用于指示该目标数据包是否采用该多个无线通信通道进行数据传输以及在采用该多个无线通信通道进行数据传输时用于指示该目标数据包使用的无线通信通道的比特;
用于指示是否基于该目标数据包更新该基准参考包的比特。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,终端设备300可以对应于执行本申请实施例的方法100中的相应主体,并且终端设备300中的各个单元分别为了实现方法100中的相应流程,为了简洁,在此不再赘述。
图12是本申请实施例提供的目标网关400的示意性框图。其中,该目标网关400和终端设备之间建立有多个无线通信通道。
如图12所示,该目标网关400可包括:
接收单元410,用于接收该终端设备发送的压缩请求,该压缩请求用于请求对待发送数据包中基于传输协议的协议包头进行压缩,该协议包头包括该传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括待压缩字段;
确定单元420,用于基于该待压缩字段的压缩方式,确定该待压缩字段的参考信息;该参考信息包括该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
发送单元430,用于向该终端设备发送响应消息,该响应消息包括该参考信息;
该接收单元410还用于利用该多个无线通信通道中的无线通信通道接收该终端设备发送的目标数据包;该目标数据包包括协议包头的压缩包头,该协议包头的压缩包头包括已压缩字段,该已压缩字段为该终端设备利用该待压缩字段的压缩方式对该待压缩字段进行压缩得到的字段;
解压缩单元440,用于利用与该待压缩字段的压缩方式匹配的解压缩方式,基于该参考信息对该已压缩字段进行解压缩,得到对该已压缩字段进行解压缩后的字段。
在一些实施例中,该待压缩字段包括第一字段且该第一字段的压缩方式为对该第一字段的长度进行压缩的压缩方式时,该参考信息包括第一指示信息且该已压缩字段包括该第一字段的压缩字段,该第一指示信息用于指示该第一字段的压缩字段的长度;
其中,该确定单元420具体用于:
基于该第一字段的类型,确定该第一字段的压缩字段的长度;
基于该第一字段的压缩字段的长度,确定该第一指示信息。
在一些实施例中,该第一字段包括以下中的至少一项:该公共包头中的连接标识字段和该公共包头中的流标识字段,该连接标识字段用于标识基于该传输协议的传输连接,该流标识字段用于标识该数据报所在的流;
其中,该确定单元420具体用于:
在该第一字段包括该连接标识字段的情况下,基于该目标网关连接的对象的数量,确定连接标识字段的压缩字段的长度;该目标网关连接的对象的数量与该连接标识字段的压缩字段的长度正相关;
在该第一字段包括该流标识字段的情况下,将该目标数据包中数据的业务类型对应的数值,确定为该流标识字段的压缩字段的长度。
在一些实施例中,该解压缩单元440具体用于:
在该协议包头的压缩包头不包括该连接标识字段的压缩字段的情况下,将基准参考包中类型与该连接标识字段的类型相同的字段,确定为对该连接标识字段的压缩字段进行解压缩得到的字段;该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包。
在一些实施例中,该待压缩字段包括至少一个字段且该至少一个字段的压缩方式为利用该终端设备使用的基准参考包中的至少一个参考字段将该至少一个字段压缩为目标字段的压缩方式时,该参考信息包括第二指示信息且该已压缩字段包括该目标字段,该基准参考包为该终端设备在发送该目标数据之前发送给该网关的且经过该网关确认过的未压缩数据包,该至少一个参考字段包括该基准参考包中类型与该至少一个字段中的字段的类型相同的字段,该第二指示信息用于指示该至少一个字段中的第二字段的长度,该第二字段的长度为对该第二字段进行压缩前的长度;
其中,该确定单元420具体用于:
基于该终端设备的网络延时的上限值和该终端设备的发包频率,确定该第二字段的长度;该发包频率与该上限值的比值与该第二字段的长度负相关;
基于该第二字段的长度,确定该第二指示信息。
在一些实施例中,该至少一个字段包括该公共包头中的编号字段和该数据帧的包头中的序号字段时,该协议包头的压缩包头包括该公共包头的压缩包头且该公共包头的压缩包头包括该目标字段的取值,该至少一个参考字段包括该基准参考包中类型与该编号字段的类型相同的第一参考字段和该基准参考包中类型与该序号字段的类型相同的第二参考字段,该编号字段用于标识该待发送数据包的编号,该序号字段用于标识该数据报在流中的序号;
其中,该解压缩单元440具体用于:
按照预定义的组合方式,对该第一参考字段的取值和该第二参考字段的取值进行组合,得到参考序列;
基于该参考序列与该目标字段的取值的和,确定该编号字段的取值和该序号字段的取值,并将该编号字段和该序号字段,确定为对该目标字段进行解压缩得到的字段。
在一些实施例中,该待压缩字段包括第三字段且该第三字段的压缩方式为省略该第三字段的压缩方式时,该参考信息包括第三指示信息且该协议包头的压缩包头不包括该第三字段,该第三指示信息用于指示该第三字段,该第三字段包括该数据帧的包头中的以下中的至少一项:类型字段和时间字段,该类型字段用于标识该数据帧的类型,该时间字段用于标识该目标数据包的发送时间;
其中,该确定单元420具体用于:
在该终端设备启动包头压缩的场景下,确定该类型字段为省略字段;
在该目标数据包中数据的业务类型为预定义的业务类型的情况下,确定该时间字段为省略字段;
基于该类型字段和该时间字段中的省略字段,确定该第三指示信息。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,目标网关400可以对应于执行本申请实施例的方法100中的相应主体,并且目标网关400中的各个单元分别为了实现方法100中的相应流程,为了简洁,在此不再赘述。
图13是本申请实施例提供的目标网关500的示意性框图。其中,该目标网关500和终端设备之间建立有多个无线通信通道。
如图13所示,该目标网关500可包括:
确定单元510,用于基于待压缩字段的压缩方式,确定该待压缩字段的参考信息;该参考信息包括该目标网关利用该待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
发送单元520,用于向该终端设备发送该参考信息;
获取单元530,用于获取待发送数据包;该待发送数据包的协议包头包括传输协议的公共包头和承载有数据报的数据帧的包头,该公共包头和该数据帧的包头中的至少一项包括该待压缩字段;
压缩单元540,用于利用该待压缩字段的压缩方式,基于该参考信息对该待压缩字段进行压缩,得到已压缩字段,并基于该已压缩字段确定该协议包头的压缩包头;
该发送单元520还用于将该协议包头的压缩包头和该待发送数据包中除该协议包头之外的信息进行组合,得到目标数据包,并利用该多个无线通信通道中的无线通信通道向该终端设备发送该目标数据包。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,目标网关500可以对应于执行本申请实施例的方法200中的相应主体,并且目标网关500中的各个单元分别为了实现方法200中的相应流程,为了简洁,在此不再赘述。
图14是本申请实施例提供的终端设备600的示意性框图。其中,该终端设备600和目标网关之间建立有多个无线通信通道。
如图14所示,该终端设备600可包括:
接收单元610,用于接收该目标网关发送的参考信息,该参考信息包括该目标网关利用待压缩字段的压缩方式对该待压缩字段进行压缩时使用的信息;
该接收单元610还用于利用该多个无线通信通道中的无线通信通道接收该终端设备发送的目标数据包;该目标数据包包括协议包头的压缩包头,该协议包头的压缩包头包括已压缩字段,该已压缩字段为该目标网关利用该待压缩字段的压缩方式对该待压缩字段进行压缩得到的字段;
解压缩单元620,用于利用与该待压缩字段的压缩方式匹配的解压缩方式,基于该参考信息对该已压缩字段进行解压缩,得到对该已压缩字段进行解压缩后的字段。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,终端设备600可以对应于执行本申请实施例的方法200中的相应主体,并且终端设备600中的各个单元分别为了实现方法200中的相应流程,为了简洁,在此不再赘述。
还应理解,本申请实施例涉及的终端设备或目标网关中的各个单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现,甚至,这些功能也可以由一个或多个其它单元协助实现。例如,终端设备或目标网关中的部分或全部合并为一个或若干个另外的单元。再如,终端设备或目标网关中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。再如,终端设备或目标网关也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的终端设备或目标网关,以及来实现本申请实施例的方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于电子设备中,并在其中运行,来实现本申请实施例的相应方法。换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上文涉及的方法实施例中的步骤。
图15是本申请实施例提供的电子设备700的示意结构图。
如图15所示,该电子设备700至少包括处理器710以及计算机可读存储介质720。其中,处理器710以及计算机可读存储介质720可通过总线或者其它方式连接。计算机可读存储介质720用于存储计算机程序721,计算机程序721包括计算机指令,处理器710用于执行计算机可读存储介质720存储的计算机指令。处理器710是电子设备700的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器710也可称为中央处理器(Central Processing Unit,CPU)。处理器710可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立元件门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质720可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器710的计算机可读存储介质。具体而言,计算机可读存储介质720包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
如图15所示,该电子设备700还可以包括收发器730。
其中,处理器710可以控制该收发器730与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器730可以包括发射机和接收机。收发器730还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备700中的各个组件通过总线***相连,其中,总线***除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。值得注意的是,该电子设备700可以是任意一种具有数据处理能力的电子设备;该计算机可读存储介质720中存储有第一计算机指令;由处理器710加载并执行计算机可读存储介质720中存放的第一计算机指令,以实现图1所示方法实施例中的相应步骤;具体实现中,计算机可读存储介质720中的第一计算机指令由处理器710加载并执行相应步骤,为避免重复,此处不再赘述。
根据本申请的另一方面,本申请实施例提供了一种芯片。该芯片可以是一种集成电路芯片,具有信号的处理能力,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。该芯片还可以称为***级芯片,***芯片,芯片***或片上***芯片等。该芯片可应用到各种能够安装芯片的电子设备中,使得安装有该芯片的设备能够执行本申请实施例中的公开的各方法或逻辑框图中的相应步骤。例如,该芯片可以是适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
根据本申请的另一方面,本申请实施例提供了一种计算机可读存储介质(Memory)。该计算机可读存储介质是计算机的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机中的内置存储介质,当然,也可以包括计算机所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备的操作***。该存储空间中存放了适于被处理器加载并执行的计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行本申请实施例中的公开的各方法或逻辑框图中的相应步骤。
根据本申请的另一方面,本申请实施例提供了一种计算机程序产品或计算机程序。该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的公开的各方法或逻辑框图中的相应步骤。换言之,当使用软件实现本申请提供的方案时,可以全部或部分地以计算机程序产品或计算机程序的形式实现。该计算机程序产品或计算机程序包括一个或多个计算机指令。在计算机上加载和执行这些计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。
值得注意的是,本申请涉及的计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。本申请涉及的计算机指令可以存储在计算机可读存储介质中,或者可以从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。换言之,专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请所保护的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的基本思想,其同样应当视为本申请所公开的内容。
Claims (20)
1.一种基于多通道的数据传输方法,其特征在于,所述方法适用于终端设备,所述终端设备和目标网关之间建立有多个无线通信通道;所述方法包括:
接收所述目标网关发送的参考信息,所述参考信息包括所述目标网关利用待压缩字段的压缩方式对所述待压缩字段进行压缩时使用的信息,所述待压缩字段的压缩方式为所述待压缩字段对应的压缩方式;
利用所述多个无线通信通道中的无线通信通道接收所述目标网关发送的目标数据包;所述目标数据包包括基于传输协议的协议包头的压缩包头,所述协议包头包括所述待压缩字段,所述协议包头的压缩包头包括已压缩字段,所述已压缩字段为对所述待压缩字段进行压缩得到的字段;
利用与所述待压缩字段的压缩方式匹配的解压缩方式,基于所述参考信息对所述已压缩字段进行解压缩,得到对所述已压缩字段进行解压缩后的字段。
2.根据权利要求1所述的方法,其特征在于,所述待压缩字段包括第一字段且所述第一字段的压缩方式为对所述第一字段的长度进行压缩的压缩方式时,所述参考信息包括第一指示信息且所述已压缩字段包括所述第一字段的压缩字段,所述第一指示信息用于指示所述第一字段的压缩字段的长度;
所述协议包头包括所述传输协议的公共包头和承载有数据报的数据帧的包头时,所述第一字段包括以下中的至少一项:所述公共包头中的连接标识字段和所述公共包头中的流标识字段,所述连接标识字段用于标识基于所述传输协议的传输连接,所述流标识字段用于标识所述数据报所在的流;
其中,所述利用与所述待压缩字段的压缩方式匹配的解压缩方式,基于所述参考信息对所述已压缩字段进行解压缩,得到对所述已压缩字段进行解压缩后的字段,包括:
在所述协议包头的压缩包头不包括所述连接标识字段的压缩字段的情况下,将基准参考包中类型与所述连接标识字段的类型相同的字段,确定为对所述连接标识字段的压缩字段进行解压缩得到的字段;所述基准参考包为所述终端设备在发送所述目标数据之前发送给所述网关的且经过所述网关确认过的未压缩数据包。
3.根据权利要求1所述的方法,其特征在于,所述待压缩字段包括至少一个字段且所述至少一个字段的压缩方式为利用所述终端设备使用的基准参考包中的至少一个参考字段将所述至少一个字段压缩为目标字段的压缩方式时,所述参考信息包括第二指示信息且所述已压缩字段包括所述目标字段,所述基准参考包为所述终端设备在发送所述目标数据之前发送给所述网关的且经过所述网关确认过的未压缩数据包,所述至少一个参考字段包括所述基准参考包中类型与所述至少一个字段中的字段的类型相同的字段,所述第二指示信息用于指示所述至少一个字段中的第二字段的长度,所述第二字段的长度为对所述第二字段进行压缩前的长度;
所述协议包头包括所述传输协议的公共包头和承载有数据报的数据帧的包头时,所述至少一个字段包括所述公共包头中的编号字段和所述数据帧的包头中的序号字段时,所述协议包头的压缩包头包括所述公共包头的压缩包头且所述公共包头的压缩包头包括所述目标字段的取值,所述至少一个参考字段包括所述基准参考包中类型与所述编号字段的类型相同的第一参考字段和所述基准参考包中类型与所述序号字段的类型相同的第二参考字段,所述编号字段用于标识所述目标数据包的编号,所述序号字段用于标识所述数据报在流中的序号;
其中,所述利用与所述待压缩字段的压缩方式匹配的解压缩方式,基于所述参考信息对所述已压缩字段进行解压缩,得到对所述已压缩字段进行解压缩后的字段,包括:
按照预定义的组合方式,对所述第一参考字段的取值和所述第二参考字段的取值进行组合,得到参考序列;
基于所述参考序列与所述目标字段的取值的和,确定所述编号字段的取值和所述序号字段的取值,并将所述编号字段和所述序号字段,确定为对所述目标字段进行解压缩得到的字段。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述协议包头包括公共包头,所述协议包头的压缩包头包括所述公共包头的压缩包头且所述公共包头的压缩包头包括公共标识字段,所述公共标识字段包括以下中的至少一项:
用于指示所述目标数据包是否为压缩包的比特;
用于指示所述数据帧的压缩包头是否包括偏移字段的比特,所述偏移字段用于指示所述数据帧在流中的位置;
用于指示所述数据帧的压缩包头是否包括长度字段的比特,所述长度字段用于指示所述数据帧的包头中的流标识字段的起始位置至所述数据报的结束位置之间的总长度,所述流标识字段用于标识所述数据报所在的流;
所述待压缩字段包括至少一个字段且所述至少一个字段的压缩方式为利用所述终端设备使用的基准参考包中的至少一个参考字段将所述至少一个字段压缩为目标字段的压缩方式时,用于指示所述协议包头的压缩包头是否包括用于指示所述目标字段的长度的比特;所述基准参考包为所述终端设备在发送所述目标数据之前发送给所述网关的且经过所述网关确认过的未压缩数据包,所述至少一个参考字段包括所述基准参考包中类型与所述至少一个字段中的字段的类型相同的字段;
用于指示所述目标数据包是否采用所述多个无线通信通道进行数据传输以及在采用所述多个无线通信通道进行数据传输时用于指示所述目标数据包使用的无线通信通道的比特;
用于指示是否基于所述目标数据包更新所述基准参考包的比特。
5.一种基于多通道的数据传输方法,其特征在于,所述方法适用于目标网关,所述目标网关和终端设备之间建立有多个无线通信通道;所述方法包括:
基于待压缩字段的压缩方式,确定所述待压缩字段的参考信息;所述参考信息包括所述目标网关利用所述待压缩字段的压缩方式对所述待压缩字段进行压缩时使用的信息,所述待压缩字段的压缩方式为所述待压缩字段对应的压缩方式;
向所述终端设备发送所述参考信息;
获取待发送数据包;所述待发送数据包的协议包头包括所述待压缩字段;
利用所述待压缩字段的压缩方式,基于所述参考信息对所述待压缩字段进行压缩,得到已压缩字段,并基于所述已压缩字段确定所述协议包头的压缩包头;
将所述协议包头的压缩包头和所述待发送数据包中除所述协议包头之外的信息进行组合,得到目标数据包,并利用所述多个无线通信通道中的无线通信通道向所述终端设备发送所述目标数据包。
6.根据权利要求5所述的方法,其特征在于,所述待压缩字段包括第一字段且所述第一字段的压缩方式为对所述第一字段的长度进行压缩的压缩方式时,所述参考信息包括第一指示信息且所述已压缩字段包括所述第一字段的压缩字段,所述第一指示信息用于指示所述第一字段的压缩字段的长度;
其中,所述基于所述待压缩字段的压缩方式,确定所述待压缩字段的参考信息,包括:
基于所述第一字段的类型,确定所述第一字段的压缩字段的长度;
基于所述第一字段的压缩字段的长度,确定所述第一指示信息;
其中,所述利用所述待压缩字段的压缩方式,基于所述参考信息对所述待压缩字段进行压缩,得到已压缩字段,包括:
基于所述第一字段的类型,确定所述协议包头的压缩包头是否包括所述第一字段的压缩字段;
在所述协议包头的压缩包头包括所述第一字段的压缩字段的情况下,基于所述第一指示信息指示的长度,确定所述第一字段的压缩字段的取值;
其中,所述协议包头包括所述传输协议的公共包头和承载有数据报的数据帧的包头时,所述第一字段包括以下中的至少一项:所述公共包头中的连接标识字段和所述公共包头中的流标识字段,所述连接标识字段用于标识基于所述传输协议的传输连接,所述流标识字段用于标识所述数据报所在的流;
其中,所述基于所述第一字段的类型,确定所述第一字段的压缩字段的长度,包括:
在所述第一字段包括所述连接标识字段的情况下,基于所述目标网关连接的对象的数量,确定所述连接标识字段的压缩字段的长度;所述目标网关连接的对象的数量与所述连接标识字段的压缩字段的长度正相关;
在所述第一字段包括所述流标识字段的情况下,将所述目标数据包中数据的业务类型对应的数值,确定为所述流标识字段的压缩字段的长度。
7.根据权利要求5所述的方法,其特征在于,所述待压缩字段包括至少一个字段且所述至少一个字段的压缩方式为利用所述终端设备使用的基准参考包中的至少一个参考字段将所述至少一个字段压缩为目标字段的压缩方式时,所述参考信息包括第二指示信息且所述已压缩字段包括所述目标字段,所述基准参考包为所述终端设备在发送所述目标数据之前发送给所述网关的且经过所述网关确认过的未压缩数据包,所述至少一个参考字段包括所述基准参考包中类型与所述至少一个字段中的字段的类型相同的字段,所述第二指示信息用于指示所述至少一个字段中的第二字段的长度,所述第二字段的长度为对所述第二字段进行压缩前的长度;
其中,所述基于所述待压缩字段的压缩方式,确定所述待压缩字段的参考信息,包括:
基于所述终端设备的网络延时的上限值和所述终端设备的发包频率,确定所述第二字段的长度;所述发包频率与所述上限值的比值与所述第二字段的长度负相关;
基于所述第二字段的长度,确定所述第二指示信息;
其中,所述利用所述待压缩字段的压缩方式,基于所述参考信息对所述待压缩字段进行压缩,得到已压缩字段,包括:
基于所述第二指示信息指示的长度,确定所述至少一个字段中除所述第二字段之外的字段的长度;
基于所述至少一个字段中各个字段的长度,确定所述至少一个字段中各个字段的取值;
基于所述至少一个字段中各个字段的取值和所述至少一个参考字段中各个参考字段的取值,确定所述目标字段的取值;
其中,所述协议包头包括所述传输协议的公共包头和承载有数据报的数据帧的包头时,所述至少一个字段包括所述公共包头中的编号字段和所述数据帧的包头中的序号字段时,所述协议包头的压缩包头包括所述公共包头的压缩包头且所述公共包头的压缩包头包括所述目标字段的取值,所述至少一个参考字段包括所述基准参考包中类型与所述编号字段的类型相同的第一参考字段和所述基准参考包中类型与所述序号字段的类型相同的第二参考字段,所述编号字段用于标识所述待发送数据包的编号,所述序号字段用于标识所述数据报在流中的序号;
其中,所述基于所述至少一个字段中各个字段的取值和所述至少一个参考字段中各个参考字段的取值,确定所述目标字段的取值,包括:
按照预定义的组合方式对所述编号字段的取值和所述序号字段的取值进行组合,得到待压缩的待压缩序列,以及按照所述组合方式对所述第一参考字段的取值和所述第二参考字段的取值进行组合,得到所述待压缩序列的参考序列;
基于所述待压缩序列和所述参考序列的差值,确定所述目标字段的取值。
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述协议包头包括公共包头,所述协议包头的压缩包头包括所述公共包头的压缩包头且所述公共包头的压缩包头包括公共标识字段,所述公共标识字段包括以下中的至少一项:
用于指示所述目标数据包是否为压缩包的比特;
用于指示所述数据帧的压缩包头是否包括偏移字段的比特,所述偏移字段用于指示所述数据帧在流中的位置;
用于指示所述数据帧的压缩包头是否包括长度字段的比特,所述长度字段用于指示所述数据帧的包头中的流标识字段的起始位置至所述数据报的结束位置之间的总长度,所述流标识字段用于标识所述数据报所在的流;
所述待压缩字段包括至少一个字段且所述至少一个字段的压缩方式为利用所述终端设备使用的基准参考包中的至少一个参考字段将所述至少一个字段压缩为目标字段的压缩方式时,用于指示所述协议包头的压缩包头是否包括用于指示所述目标字段的长度的比特;所述基准参考包为所述终端设备在发送所述目标数据之前发送给所述网关的且经过所述网关确认过的未压缩数据包,所述至少一个参考字段包括所述基准参考包中类型与所述至少一个字段中的字段的类型相同的字段;
用于指示所述目标数据包是否采用所述多个无线通信通道进行数据传输以及在采用所述多个无线通信通道进行数据传输时用于指示所述目标数据包使用的无线通信通道的比特;
用于指示是否基于所述目标数据包更新所述基准参考包的比特。
9.一种数据传输方法,其特征在于,包括:
发送或接收基准参考包,所述基准参考包为未压缩数据包;
基于所述基准参考包,对待发送数据包的协议包头进行压缩,得到所述协议包头的压缩包头;
基于所述协议包头的压缩包头和所述待发送数据包,得到目标数据包,并发送所述目标数据包。
10.根据权利要求9所述的方法,其特征在于,所述协议包头的压缩包头包括利用所述基准参考包中的至少一个参考字段对所述协议包头中的至少一个字段压缩得到的目标字段,所述至少一个参考字段包括所述基准参考包中类型与所述至少一个字段中的字段的类型相同的字段;
其中,所述基于所述基准参考包,对待发送数据包的协议包头进行压缩,得到所述协议包头的压缩包头,包括:
获取第二指示信息,所述第二指示信息用于指示所述至少一个字段中的第二字段的长度,所述第二字段的长度为对所述第二字段进行压缩前的长度;所述第二字段的长度基于终端设备的网络延时的上限值和所述终端设备的发包频率确定,所述发包频率与所述上限值的比值与所述第二字段的长度负相关;
基于所述第二指示信息指示的长度,确定所述至少一个字段中除所述第二字段之外的字段的长度;
基于所述至少一个字段中各个字段的长度,确定所述至少一个字段中各个字段的取值;
基于所述至少一个字段中各个字段的取值和所述至少一个参考字段中各个参考字段的取值,确定所述目标字段的取值。
11.根据权利要求10所述的方法,其特征在于,所述协议包头包括所述传输协议的公共包头和承载有数据报的数据帧的包头时,所述至少一个字段包括所述公共包头中的编号字段和所述数据帧的包头中的序号字段时,所述协议包头的压缩包头包括所述公共包头的压缩包头且所述公共包头的压缩包头包括所述目标字段的取值,所述至少一个参考字段包括所述基准参考包中类型与所述编号字段的类型相同的第一参考字段和所述基准参考包中类型与所述序号字段的类型相同的第二参考字段,所述编号字段用于标识所述待发送数据包的编号,所述序号字段用于标识所述数据报在流中的序号;
其中,所述基于所述至少一个字段中各个字段的取值和所述至少一个参考字段中各个参考字段的取值,确定所述目标字段的取值,包括:
按照预定义的组合方式对所述编号字段的取值和所述序号字段的取值进行组合,得到待压缩的待压缩序列,以及按照所述组合方式对所述第一参考字段的取值和所述第二参考字段的取值进行组合,得到所述待压缩序列的参考序列;
基于所述待压缩序列和所述参考序列的差值,确定所述目标字段的取值。
12.一种数据传输方法,其特征在于,包括:
接收或发送基准参考包,所述基准参考包为未压缩数据包;
接收目标数据包;
基于所述基准参考包,对所述目标数据包中协议包头的压缩包头进行解压缩,得到所述协议包头。
13.根据权利要求12所述的方法,其特征在于,所述基于所述基准参考包,对所述协议包头的压缩包头进行解压缩,得到所述协议包头,包括:
在所述协议包头的压缩包头不包括连接标识字段的压缩字段的情况下,将基准参考包中类型与所述连接标识字段的类型相同的字段,确定为对所述连接标识字段的压缩字段进行解压缩得到的字段,所述连接标识字段用于标识基于所述传输协议的传输连接。
14.根据权利要求12所述的方法,其特征在于,所述协议包头的压缩包头包括利用所述基准参考包中的至少一个参考字段对所述协议包头中的至少一个字段压缩得到的目标字段,所述至少一个参考字段包括所述基准参考包中类型与所述至少一个字段中的字段的类型相同的字段;
其中,所述基于所述基准参考包,对所述协议包头的压缩包头进行解压缩,得到所述协议包头,包括:
获取第二指示信息,所述第二指示信息用于指示所述至少一个字段中的第二字段的长度,所述第二字段的长度为对所述第二字段进行压缩前的长度;所述第二字段的长度基于终端设备的网络延时的上限值和所述终端设备的发包频率确定,所述发包频率与所述上限值的比值与所述第二字段的长度负相关;
基于所述第二指示信息指示的长度和所述至少一个参考字段,对所述目标字段进行解压缩,得到对所述至少一个字段;
其中,所述协议包头包括所述传输协议的公共包头和承载有数据报的数据帧的包头时,所述至少一个字段包括所述公共包头中的编号字段和所述数据帧的包头中的序号字段时,所述协议包头的压缩包头包括所述公共包头的压缩包头且所述公共包头的压缩包头包括所述目标字段的取值,所述至少一个参考字段包括所述基准参考包中类型与所述编号字段的类型相同的第一参考字段和所述基准参考包中类型与所述序号字段的类型相同的第二参考字段,所述编号字段用于标识所述目标数据包的编号,所述序号字段用于标识所述数据报在流中的序号;
其中,所述基于所述第二指示信息指示的长度和所述至少一个参考字段,对所述目标字段进行解压缩,得到对所述至少一个字段,包括:
按照预定义的组合方式,对所述第一参考字段的取值和所述第二参考字段的取值进行组合,得到参考序列;
基于所述参考序列与所述目标字段的取值的和,确定所述编号字段的取值和所述序号字段的取值,并将所述编号字段和所述序号字段,确定为对所述目标字段进行解压缩得到的字段。
15.一种终端设备,其特征在于,所述终端设备和目标网关之间建立有多个无线通信通道;所述终端设备包括:
接收单元,用于接收所述目标网关发送的参考信息,所述参考信息包括所述目标网关利用待压缩字段的压缩方式对所述待压缩字段进行压缩时使用的信息,所述待压缩字段的压缩方式为所述待压缩字段对应的压缩方式;
所述接收单元还用于利用所述多个无线通信通道中的无线通信通道接收所述目标网关发送的目标数据包;所述目标数据包包括基于传输协议的协议包头的压缩包头,所述协议包头包括待压缩字段,所述协议包头的压缩包头包括已压缩字段,所述已压缩字段为对所述待压缩字段进行压缩得到的字段;
解压缩单元,用于利用与所述待压缩字段的压缩方式匹配的解压缩方式,基于所述参考信息对所述已压缩字段进行解压缩,得到对所述已压缩字段进行解压缩后的字段。
16.一种目标网关,其特征在于,所述目标网关和终端设备之间建立有多个无线通信通道;所述目标网关包括:
确定单元,用于基于待压缩字段的压缩方式,确定所述待压缩字段的参考信息;所述参考信息包括所述目标网关利用所述待压缩字段的压缩方式对所述待压缩字段进行压缩时使用的信息,所述待压缩字段的压缩方式为所述待压缩字段对应的压缩方式;
发送单元,用于向所述终端设备发送所述参考信息;
获取单元,用于获取待发送数据包;所述待发送数据包的协议包头包括传输协议的公共包头和承载有数据报的数据帧的包头,所述公共包头和所述数据帧的包头中的至少一项包括所述待压缩字段;
压缩单元,用于利用所述待压缩字段的压缩方式,基于所述参考信息对所述待压缩字段进行压缩,得到已压缩字段,并基于所述已压缩字段确定所述协议包头的压缩包头;
所述发送单元还用于将所述协议包头的压缩包头和所述待发送数据包中除所述协议包头之外的信息进行组合,得到目标数据包,并利用所述多个无线通信通道中的无线通信通道向所述终端设备发送所述目标数据包。
17.一种压缩设备,其特征在于,包括:
通信单元,用于发送或接收基准参考包,所述基准参考包为未压缩数据包;
压缩单元,用于基于所述基准参考包,对待发送数据包的协议包头进行压缩,得到所述协议包头的压缩包头;
组合单元,用于基于所述协议包头的压缩包头和所述待发送数据包,得到目标数据包,并发送所述目标数据包。
18.一种解压缩设备,其特征在于,包括:
第一通信单元,用于接收或发送基准参考包,所述基准参考包为未压缩数据包;
第二通信单元,用于接收目标数据包;
解压缩单元,用于基于所述基准参考包,对所述目标数据包中协议包头的压缩包头进行解压缩,得到所述协议包头。
19.一种电子设备,其特征在于,包括:
处理器,适于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1至14中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行权利要求1至14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410211772.3A CN117998676A (zh) | 2023-10-11 | 2023-10-11 | 基于多通道的数据传输方法、终端设备以及目标网关 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311310905.4A CN117062257B (zh) | 2023-10-11 | 2023-10-11 | 基于多通道的数据传输方法、终端设备以及目标网关 |
CN202410211772.3A CN117998676A (zh) | 2023-10-11 | 2023-10-11 | 基于多通道的数据传输方法、终端设备以及目标网关 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311310905.4A Division CN117062257B (zh) | 2023-10-11 | 2023-10-11 | 基于多通道的数据传输方法、终端设备以及目标网关 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117998676A true CN117998676A (zh) | 2024-05-07 |
Family
ID=88657567
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410211772.3A Pending CN117998676A (zh) | 2023-10-11 | 2023-10-11 | 基于多通道的数据传输方法、终端设备以及目标网关 |
CN202311310905.4A Active CN117062257B (zh) | 2023-10-11 | 2023-10-11 | 基于多通道的数据传输方法、终端设备以及目标网关 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311310905.4A Active CN117062257B (zh) | 2023-10-11 | 2023-10-11 | 基于多通道的数据传输方法、终端设备以及目标网关 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117998676A (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102369753B (zh) * | 2009-05-19 | 2014-08-06 | 华为技术有限公司 | 语音包发送、接收的方法、装置和*** |
CN101998511B (zh) * | 2009-08-26 | 2013-04-24 | 华为技术有限公司 | 网络中继场景下的头压缩方法及装置 |
CN102413506B (zh) * | 2010-09-20 | 2015-04-15 | 华为技术有限公司 | 一种压缩方法与装置 |
CN102932844A (zh) * | 2012-11-28 | 2013-02-13 | 北京傲天动联技术有限公司 | 一种提升无线网络通信吞吐量的方法及网络节点装置 |
US9384204B2 (en) * | 2013-05-22 | 2016-07-05 | Amazon Technologies, Inc. | Efficient data compression and analysis as a service |
CN106941454A (zh) * | 2016-01-04 | 2017-07-11 | ***通信集团公司 | 一种数据压缩传输方法、终端及服务器 |
KR102596391B1 (ko) * | 2018-01-05 | 2023-11-01 | 삼성전자 주식회사 | 무선 통신 시스템에서 개선된 통신 성능을 위한 방법 및 장치 |
CN110167084B (zh) * | 2018-08-15 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 多通道数据传输方法及装置 |
CN115278772A (zh) * | 2021-04-30 | 2022-11-01 | 华为技术有限公司 | 一种通信方法及装置 |
CN115915265A (zh) * | 2021-08-05 | 2023-04-04 | 华为技术有限公司 | 通信方法及通信装置 |
-
2023
- 2023-10-11 CN CN202410211772.3A patent/CN117998676A/zh active Pending
- 2023-10-11 CN CN202311310905.4A patent/CN117062257B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN117062257B (zh) | 2024-02-09 |
CN117062257A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113411313B (zh) | 数据传输方法、装置和*** | |
US11570098B2 (en) | Systems, apparatuses and methods for cooperating routers | |
US9325764B2 (en) | Apparatus and method for transparent communication architecture in remote communication | |
KR100608844B1 (ko) | VoIP 서비스를 제공하는 무선통신 시스템 | |
US8122140B2 (en) | Apparatus and method for accelerating streams through use of transparent proxy architecture | |
CN109076017B (zh) | 用于路由信号的方法、路由设备和计算机可读存储介质 | |
US8446840B2 (en) | TCP proxy insertion and uninstall method, and service gateway device | |
KR20090056631A (ko) | 패킷 중계 노드의 패킷 재조립 시스템 및 방법 | |
US11909781B2 (en) | Secure and transparent transport of application level protocols to non-IP data delivery communication channels | |
CN113645189B (zh) | 一种通信方法、网络节点、存储介质及***芯片 | |
Liu et al. | Cross-layer design for UAV-based streaming media transmission | |
KR20090016393A (ko) | 이동통신 시스템에서 pdcp 계층의 제어 데이터 전송방법, 수신 방법, 그 송신장치 및 수신장치 | |
EP3539235B1 (en) | Systems, apparatuses and methods for cooperating routers | |
CN108429700B (zh) | 一种发送报文的方法及装置 | |
CN117062257B (zh) | 基于多通道的数据传输方法、终端设备以及目标网关 | |
US8811264B2 (en) | Relay station, communication system, and communication method | |
EP3345411A1 (en) | Computer program, computer-readable storage medium transmitting device, receiving device and methods performed therein for transferring background user data | |
WO2017143538A1 (zh) | 语音数据传输方法以及装置 | |
WO2021087729A1 (zh) | 一种指示解压缩对象的方法及装置、通信设备 | |
WO2020154872A1 (zh) | 一种传输控制协议加速方法和装置 | |
WO2017147754A1 (zh) | 数据包的压缩方法和装置 | |
WO2019203703A1 (en) | Apparatuses and methods for handling data packets | |
US20240007899A1 (en) | Tcp ack rate reduction in mobile communications | |
KR100745238B1 (ko) | 이동통신 단말기의 유선구간 오류 검출 시스템 및 방법 | |
Neupane | IP payload compression for higher throughput |
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 |