CN115695563A - 一种通信方法、装置及设备 - Google Patents
一种通信方法、装置及设备 Download PDFInfo
- Publication number
- CN115695563A CN115695563A CN202110866746.0A CN202110866746A CN115695563A CN 115695563 A CN115695563 A CN 115695563A CN 202110866746 A CN202110866746 A CN 202110866746A CN 115695563 A CN115695563 A CN 115695563A
- Authority
- CN
- China
- Prior art keywords
- buffer
- data packet
- data
- compression
- communication device
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- 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/04—Protocols for data compression, e.g. ROHC
-
- 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/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种通信方法、装置及设备,通过该方法,通信系统可以对压缩侧使用的目标压缩方式,以及目标压缩buffer进行配置;相应的,也可以对解压侧使用的目标解压方式,以及目标解压buffer进行配置。因此,通过本方法,通信系统可以根据业务特征、数据包的数据特征,灵活地配置压缩侧的目标压缩方式、解压侧的解压方式,以及配置压缩侧的目标压缩buffer、解压侧的目标解压buffer,从而可以提高通信系统中数据压缩的灵活性,进而可以提高数据压缩效率,最终提高通信系统的数据传输效率和资源利用率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法、装置及设备。
背景技术
在通信领域,传输的数据可能数据量巨大,且存在各种冗余,为了提高数据传输效率和资源的利用率,通常采用压缩算法对待传输的数据进行压缩。
目前应用在通信领域中的压缩机制包括:上行数据压缩(uplink datacompression,UDC)机制、鲁棒头压缩(robust header compression,RoHC)机制、以太网头压缩(Ethernet header compression,EHC)机制。其中,UDC机制是利用压缩缓存(buffer)中存储的内容实现数据包的压缩,并且每次利用压缩buffer对数据包进行压缩后,都会利用原始数据包内容对压缩buffer进行更新。而RoHC机制和EHC机制均是对数据包头进行压缩。
然而,目前的压缩机制不灵活,无法适应各种复杂多变的情况,进而影响数据压缩效率。
发明内容
本申请提供一种通信方法、装置及设备,用于提高通信系统中数据压缩的灵活性,从而提高数据压缩效率。
第一方面,本申请实施例提供了一种通信方法,该方法可以应用于作为压缩侧的第一通信设备中,该方法包括以下步骤:
第一通信设备获取压缩配置信息;其中,所述压缩配置信息包含:压缩方式指示信息和压缩缓存buffer配置信息,所述压缩方式指示信息用于指示所述第一通信设备对数据包进行压缩处理的目标压缩方式,所述压缩buffer配置信息用于配置目标压缩buffer;之后,所述第一通信设备根据所述压缩buffer配置信息,对所述目标压缩buffer进行配置;当获取第一数据包后,采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包;最后,所述第一通信设备向第二通信设备发送所述第二数据包。
通过该方法,通信系统可以对压缩侧使用的目标压缩方式,以及目标压缩buffer进行配置。因此,通过本方法,通信系统可以根据业务特征、数据包的数据特征,灵活地配置压缩侧的目标压缩方式、压缩侧的目标压缩buffer,从而可以提高通信系统中数据压缩的灵活性,进而可以提高数据压缩效率,最终提高通信系统的数据传输效率和资源利用率。
在一种可能的设计中,所述目标压缩方式为基于动态buffer的压缩方式;所述目标压缩buffer为动态buffer;在该情况下,所述第一通信设备可以具体通过以下步骤,对所述第一数据包进行压缩,生成第二数据包:
所述第一通信设备根据所述第一数据包中包含的数据内容和所述动态压缩buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包;之后根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容。
通过该设计,通信系统可以配置压缩侧使用基于动态buffer的压缩方式。
在一种可能的设计中,所述压缩buffer配置信息用于指示所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容。
通过该设计,所述第一通信设备可以根据所述压缩buffer配置信息,配置所述动态buffer的大小或初始数据内容。
在一种可能的设计中,所述目标压缩方式为基于静态buffer的压缩方式;所述目标压缩buffer为静态buffer;在该情况下,所述第一通信设备可以具体通过以下步骤,对所述第一数据包进行压缩,生成第二数据包:
所述第一通信设备根据所述第一数据包中包含的数据内容和所述静态buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包。
通过该设计,通信系统可以配置压缩侧使用基于静态buffer的压缩方式。另外,通信系统可以将在数据包中高频出现的数据内容作为静态数据内容配置到静态buffer中,这样压缩侧在使用静态buffer对数据包进行压缩时,可以提高数据包的压缩率。
在一种可能的设计中,所述压缩buffer配置信息用于指示所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
通过该设计,所述第一通信设备可以根据所述压缩buffer配置信息,配置所述静态buffer的大小或静态数据内容。
在一种可能的设计中,所述目标压缩方式为基于静态buffer和动态buffer的增强压缩方式;所述目标压缩buffer包含静态buffer和动态buffer;在该情况下,所述第一通信设备可以具体通过以下几种实现方式,对所述第一数据包进行压缩,生成第二数据包:
实现方式1:根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域包含的数据内容和所述动态buffer中存储的数据内容,对所述第二域进行压缩,生成压缩后的所述第二域;其中,所述第一数据包由所述第一域和所述第二域组成;根据压缩后的所述第一域和压缩后的所述第二域,组成所述第二数据包;根据所述第一数据包中所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式2:根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域包含的数据内容和组合buffer中存储的数据内容,对所述第二域进行压缩,生成压缩后的所述第二域;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成,所述第一数据包由所述第一域和所述第二域组成;根据压缩后的所述第一域和压缩后的所述第二域,组成所述第二数据包;根据所述第一数据包中所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式3:根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域的第一数据段包含的数据内容和所述静态buffer中存储的数据内容,对所述第一数据段进行压缩,生成压缩后的所述第一数据段;根据所述第一数据包中所述第二域的第二数据段包含的数据内容和所述动态buffer中存储的数据内容,对所述第二数据段进行压缩,生成压缩后的所述第二数据段;其中,所述第一数据包由所述第一域和所述第二域组成,所述第二域由所述第一数据段和所述第二数据段组成;根据压缩后的所述第一域、压缩后的所述第一数据段,以及压缩后的所述第二数据段,组成所述第二数据包;根据所述第一数据包中所述第二域的所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式4:根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域包含的数据内容和第一buffer中存储的数据内容,对所述第二域进行压缩,生成压缩后的所述第二域;其中,所述第一buffer为所述静态buffer或所述动态buffer,所述第一数据包由所述第一域和所述第二域组成;根据压缩后的所述第一域和压缩后的所述第二域,组成所述第二数据包;当所述第一压缩buffer为所述动态buffer时,根据所述第一数据包中所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式5:根据所述第一数据包中包含的数据内容和组合buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成;根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式6:根据所述第一数据包中包含的数据内容和第一buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包;其中,所述第一buffer为所述静态buffer或所述动态buffer;当所述第一压缩buffer为所述动态buffer时,根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式7:
根据所述第一数据包中第一数据段包含的数据内容和第一buffer中存储的数据内容,对第一数据段进行压缩,生成压缩后的所述第一数据段;根据所述第一数据包中第二数据段包含的数据内容和第二buffer中存储的数据内容,对所述第二数据段进行压缩,生成压缩后的所述第二数据段;其中,所述第一buffer为所述压缩buffer中的所述静态buffer,所述第二buffer为所述压缩buffer中的所述动态buffer;又或者所述第一buffer为所述压缩buffer中的所述动态buffer,所述第二buffer为所述压缩buffer中的所述静态buffer;所述第一数据包由所述第一数据段和所述第二数据段等至少两个数据段组成;根据压缩后的所述第一数据段,以及压缩后的所述第二数据段,组成第二数据包;当所述第一buffer为所述动态buffer时,根据所述第一数据包中所述第一数据段包含的数据内容,更新所述动态buffer中存储的数据内容;当所述第二buffer为所述动态buffer时,根据所述第一数据包中所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容。
通过该设计,通信系统可以配置压缩侧使用增强压缩方式的情况下,具体采用上述一种实现方式进行压缩。因此,通信系统可以根据业务特征、数据包的数据特征,灵活地配置压缩侧所使用的实现方式,从而可以进一步提高通信系统中数据压缩的灵活性,进而可以提高数据压缩效率,最终提高通信系统的数据传输效率和资源利用率。
在一种可能的设计中,所述压缩配置信息中还包括:第一指示信息,所述第一指示信息用于指示数据包中至少一个第一组成部分对应的第一buffer类型;
其中,任一个第一组成部分对应的第一buffer类型用于指示所述第一通信设备使用所述目标压缩buffer中属于所述第一buffer类型的buffer对所述第一组成部分进行压缩;任一个第一组成部分为以下任一项:数据包、数据包中的第一数据段、数据包中的第二数据段、数据包中的第一域、数据包中的第二域、数据包中第二域的第一数据段、数据包中第二域的第二数据段。
通过该设计,所述第一通信设备可以根据该第一指示信息确定具体的压缩策略,从而实现对数据包的压缩。即通信系统可以根据该第一指示信息配置第一通信设备的压缩策略(即以上任一种实现方式中的压缩策略)。
在一种可能的设计中,所述第一通信设备还可以向所述第二通信设备发送第二指示信息,所述第二指示用于指示所述第二数据包中至少一个第二组成部分对应的第二buffer类型;
其中,任一个第二组成部分对应的第二buffer类型用于指示所述第二通信设备使用所述第二buffer类型的buffer对所述第二组成部分进行解压;任一个第二组成部分为以下任一项:所述第二数据包、所述第二数据包中的第一数据段、所述第二数据包中的第二数据段、所述第二数据包中的第一域、所述第二数据包中的第二域,所述第二数据包中第二域的第一数据段、所述第二数据包中第二域的第二数据段。
可选的,所述第一通信设备可以在第二数据包中携带所述第二指示信息。
通过该设计,所述第一通信设备可以将压缩策略对应的解压策略通知给第二通信设备,从而保证第二通信设备能够成功对接收到的数据包进行解压。
在一种可能的设计中,所述第一域为包头,所述第二域为有效载荷;或者所述第一域为有效载荷,所述第二域为包头。
在一种可能的设计中,所述压缩buffer配置信息用于指示:所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容,以及所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
通过该设计,所述第一通信设备可以根据所述压缩buffer配置信息,配置所述静态buffer的大小或静态数据内容,以及配置动态buffer的大小或初始数据内容。
在一种可能的设计中,所述第一通信设备可以通过以下方式,获取压缩配置信息:
方式一:接收来自所述第二通信设备或第三通信设备的所述压缩配置信息;
方式二:获取保存的所述压缩配置信息。
通过该设计,通信系统可以通过第一通信设备自身、第二通信设备,或第三通信设备对第一通信设备的压缩方式和压缩buffer进行配置。
在一种可能的设计中,在接收来自所述第二通信设备或第三通信设备的所述压缩配置信息之前,所述第一通信设备还可以向所述第二通信设备或所述第三通信设备发送压缩能力信息,所述压缩能力信息用于表示所述第一通信设备的压缩能力。
通过该设计,第二通信设备或第三通信设备还可以根据第一通信设备的压缩能力生成所述压缩配置信息。
在一种可能的设计中,所述压缩能力信息包括以下至少一项:
支持的压缩方式、能够进行压缩处理的数据传输方向、支持配置压缩处理的无线承载的数量或信息、支持配置压缩buffer的总大小阈值、支持配置每种buffer类型的buffer的大小阈值。
在一种可能的设计中,所述第一通信设备还可以执行以下步骤:
接收来自所述第二通信设备或所述第三通信设备的buffer更新信息,所述buffer更新信息用于调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容;
根据所述buffer更新信息,更新所述目标压缩buffer;
在获取第三数据包后,采用所述目标压缩方式根据更新后的所述目标压缩buffer对所述第三数据包进行压缩,生成第四数据包;
向所述第二通信设备发送所述第四数据包。
通过该设计,通信系统还可以对第一通信设备中的目标压缩buffer进行更新(调整大小和/或存储内容),以使更新后的目标压缩buffer能够适应变化的业务,从而保证数据包的压缩率。
在一种可能的设计中,在更新目标压缩buffer的场景中,在接收来自所述第二通信设备或所述第三通信设备的buffer更新信息之前,所述第一通信设备可以接收来自所述第二通信设备或所述第三通信设备的停止压缩指令;然后根据所述停止压缩指令,停止根据所述目标压缩buffer对数据包进行压缩。在更新目标压缩buffer之后,接收来自所述第二通信设备或所述第三通信设备的启动压缩指令,这样所述第一通信设备开始使用更新后的目标压缩buffer对数据包进行压缩。
通过该设计,通信系统可以通过向第一通信设备发送停止压缩指令和启动压缩指令来指示第一通信设备停止和启动压缩操作。该设计可以明确第一通信设备停止压缩的时间,以及使用更新后的目标压缩buffer的时间,因此,该方法可以解决第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer不一致,导致数据包无法成功解压,最终导致数据包传输失败的问题。
在一种可能的设计中,所述buffer更新信息中还包括:第三指示信息;所述第三指示信息用于指示使用更新后的所述目标压缩buffer进行压缩的数据包;所述第三数据包为所述第三指示信息所指示的数据包。所述第一通信设备可以在首次接收到该第三指示信息所指示的数据包时,更新目标压缩buffer,并使用更新后的目标压缩buffer对之后的数据包进行压缩。
通过该设计,通信系统可以通过指定数据包指示第一通信设备更新目标压缩buffer的时间,从而可以明确第一通信设备使用更新后的目标压缩buffer进行压缩的数据包。因此,该设计也可以解决第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer不一致,导致数据包无法成功解压,最终导致数据包传输失败的问题。
在一种可能的设计中,所述第四数据包中还包括第四指示信息,所述第四指示信息用于指示所述第四数据包为所述第一通信设备使用更新后的所述目标压缩buffer进行压缩生成的。
通过该设计,第一通信设备还可以通过第四指示信息指示使用更新后的目标压缩buffer进行压缩的数据包。这样第二通信设备即在接收到包含第四指示信息的数据包时,即可以使用更新后的目标解压buffer进行解压,从而解决解决第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer不一致的问题。
在一种可能的设计中,所述第一通信设备为终端设备,所述第二通信设备为基站;或者
所述第一通信设备为基站,所述第二通信设备为终端设备;或者
所述第一通信设备和所述第二通信设备为不同的终端设备;或者
所述第一通信设备为终端设备,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为终端设备;或者
所述第一通信设备为基站,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为基站;
所述第一通信设备和所述第二通信设备为不同的核心网设备。
在一种可能的设计中,当所述第一通信设备为基站,接入所述基站的终端设备切换到目标基站时,第一通信设备还可以向所述目标基站发送压缩buffer的状态信息,所述压缩buffer的状态信息用于指示当前所述目标压缩buffer的大小和/或存储的数据内容。
通过该设计,第一通信设备可以通知目标基站源基站侧维护的压缩buffer的状态,以使目标基站可以快速地根据该buffer的状态信息,在本地配置大小和数据内容相同的压缩buffer,从而可以接替源基站的压缩工作。
在一种可能的设计中,当所述第一通信设备为终端设备,所述终端设备切换到目标基站时,所述第一通信设备还可以接收来自所述目标基站的第五指示信息,所述第五指示信息用于指示清空或维持所述目标压缩buffer,或者调整所述目标压缩buffer的大小,或者更新所述目标压缩buffer存储的数据内容。
通过该设计,目标基站在根据获取的源基站的buffer的状态信息,在本地配置解压buffer的情况下,还可以决定是否需要对解压buffer的内容进行更新、清空或维持。当目标基站决定对解压buffer进行更新、清空或维持时,那么为了使解压buffer和压缩buffer保持完全一致,目标基站还可以指示终端设备来对压缩buffer执行相同的处理。
第二方面,本申请实施例提供了一种通信方法,该方法可以应用于作为解压侧的第二通信设备中,该方法包括以下步骤:
第二通信设备获取解压配置信息;其中,所述解压配置信息包含:解压方式指示信息和解压缓存buffer配置信息,其中,所述解压方式指示信息用于指示所述第二通信设备对数据包进行解压处理的目标解压方式,所述解压buffer配置信息用于配置目标解压buffer;然后,根据所述解压buffer配置信息,对所述目标解压buffer进行配置;在接收来自第一通信设备的第二数据包后,所述第二通信设备采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包;其中,所述第二数据包为所述第一通信设备对所述第一数据包进行压缩生成的。
通过该方法,通信系统可以对解压侧使用的目标解压方式,以及目标解压buffer进行配置。因此,通过本方法,通信系统可以根据业务特征、数据包的数据特征,灵活地配置压缩侧的目标压缩方式、压缩侧的目标压缩buffer,以及相应的配置解压侧的目标解压方式,解压侧的目标解压buffer,从而可以提高通信系统中数据压缩的灵活性,进而可以提高数据压缩效率,最终提高通信系统的数据传输效率和资源利用率。
在一种可能的设计中,所述目标解压方式为基于动态buffer的解压方式;所述目标解压buffer为动态buffer;在该情况下,所述第二通信设备可以通过以下步骤,对所述第二数据包进行解压,生成第一数据包时:
根据所述第二数据包中包含的数据内容和所述动态buffer中存储的数据内容,对所述第二数据包进行解压,生成所述第一数据包;根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容。
通过该设计,通信系统可以配置解压侧使用基于动态buffer的解压方式。
在一种可能的设计中,所述解压buffer配置信息用于指示所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容。
通过该设计,所述第二通信设备可以根据所述解压buffer配置信息,配置所述动态buffer的大小或初始数据内容。
在一种可能的设计中,所述目标解压方式为基于静态buffer的解压方式;所述目标解压buffer为静态buffer;在该情况下,所述第二通信设备可以通过以下步骤,对所述第二数据包进行解压,生成第一数据包:
根据所述第二数据包中包含的数据内容和所述静态buffer中存储的数据内容,对所述第二数据包进行解压,生成第一数据包。
通过该设计,通信系统可以配置解压侧使用基于静态buffer的解压方式。
在一种可能的设计中,所述解压buffer配置信息用于指示所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
通过该设计,所述第二通信设备可以根据所述解压buffer配置信息,配置所述静态buffer的大小或静态数据内容。
在一种可能的设计中,所述目标解压方式为基于静态buffer和动态buffer的增强解压方式;所述目标解压buffer包含静态buffer和动态buffer;在该情况下,所述第二通信设备可以具体通过以下几种实现方式,对所述第二数据包进行解压,生成第一数据包:
实现方式1:根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域包含的数据内容和所述动态buffer中存储的数据内容,对所述第二域进行解压,生成解压后的所述第二域;其中,所述第二数据包由所述第一域和所述第二域组成;根据解压后的所述第一域和解压后的所述第二域,组成所述第一数据包;根据解压后的所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式2:根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域包含的数据内容和组合buffer中存储的数据内容,对所述第二域进行解压,生成解压后的所述第二域;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成,所述第二数据包由所述第一域和所述第二域组成;根据解压后的所述第一域和解压后的所述第二域,组成所述第一数据包;根据解压后的所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式3:根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域的第一数据段包含的数据内容和所述静态buffer中存储的数据内容,对所述第一数据段进行解压,生成解压后的所述第一数据段;根据所述第二数据包中所述第二域的第二数据段包含的数据内容和所述动态buffer中存储的数据内容,对所述第二数据段进行解压,生成解压后的所述第二数据段;其中,所述第二数据包由所述第一域和所述第二域组成,所述第二域由所述第一数据段和所述第二数据段组成;根据解压后的所述第一域、解压后的所述第一数据段,以及解压后的所述第二数据段,组成所述第一数据包;根据解压后的所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式4:根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域包含的数据内容和第一buffer中存储的数据内容,对所述第二域进行解压,生成解压后的所述第二域;其中,所述第一buffer为所述静态buffer或所述动态buffer,所述第一数据包由所述第一域和所述第二域组成;根据解压后的所述第一域和解压后的所述第二域,组成所述第一数据包;当所述第一buffer为所述动态buffer时,根据解压后的所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式5:根据所述第二数据包中包含的数据内容和组合buffer中存储的数据内容,对所述第二数据包进行解压,生成所述第一数据包;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成;根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式6:根据所述第二数据包中包含的数据内容和第一buffer中存储的数据内容,对所述第二数据包进行解压,生成所述第一数据包;其中,所述第一buffer为所述静态buffer或所述动态buffer;当所述第一buffer为所述动态buffer时,根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;
实现方式7:
根据所述第二数据包中的第一数据段包含的数据内容和第一buffer中存储的数据内容,对第一数据段进行解压,生成解压后的所述第一数据段;根据所述第一数据包中的第二数据段包含的数据内容和第二buffer中存储的数据内容,对所述第二数据段进行解压,生成解压后的所述第二数据段;其中,所述第一buffer为所述解压buffer中的所述静态buffer,所述第二buffer为所述解压buffer中的所述动态buffer;又或者所述第一buffer为所述解压buffer中的所述动态buffer,所述第二buffer为所述解压buffer中的所述静态buffer;所述第二数据包由所述第一数据段和所述第二数据段等至少两个数据段组成;根据解压后的所述第一数据段,以及解压后的所述第二数据段,组成第二数据包;当所述第一buffer为所述动态buffer时,根据解压后的所述第一数据段包含的数据内容,更新所述动态buffer中存储的数据内容;当所述第二buffer为所述动态buffer时,根据解压后的所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容。
通过该设计,通信系统可以配置解压侧使用增强解压方式的情况下,具体采用上述一种实现方式进行压缩。因此,通信系统可以根据业务特征、数据包的数据特征,灵活地配置压缩侧所使用的实现方式,以及对应的解压侧所使用的实现方式,从而可以进一步提高通信系统中数据压缩的灵活性,进而可以提高数据压缩效率,最终提高通信系统的数据传输效率和资源利用率。
在一种可能的设计中,所述解压配置信息中还包括:第六指示信息,所述第六指示信息用于指示数据包中至少一个第三组成部分对应的第三buffer类型;
其中,任一个第三组成部分对应的第三buffer类型用于指示所述第二通信设备使用所述目标解压buffer中属于所述第三buffer类型的buffer对所述第三组成部分进行解压;任一个第三组成部分为以下任一项:数据包、数据包中的第一数据段、数据包中的第二数据段、数据包中的第一域、数据包中的第二域、数据包中第二域的第一数据段、数据包中第二域的第二数据段。
通过该设计,所述第二通信设备可以根据该第六指示信息确定具体的解压策略,从而实现对数据包的解压。即通信系统可以根据该第六指示信息配置第二通信设备的解压策略。
在一种可能的设计中,所述方法还包括:接收来自所述第一通信设备的第二指示信息,所述第二指示用于指示所述第二数据包中至少一个第二组成部分对应的第二buffer类型;
其中,任一个第二组成部分对应的第二buffer类型用于指示所述第二通信设备使用所述目标解压buffer中属于所述第二buffer类型的buffer对所述第二组成部分进行解压;任一个第二组成部分为以下任一项:所述第二数据包、所述第二数据包中的第一数据段、所述第二数据包中的第二数据段、所述第二数据包中的第一域、所述第二数据包中的第二域,所述第二数据包中第二域的第一数据段、所述第二数据包中第二域的第二数据段。
通过该设计,所述第一通信设备可以将压缩策略对应的解压策略通知给第二通信设备,从而保证第二通信设备能够成功对接收到的数据包进行解压。
在一种可能的设计中,所述第一域为包头,所述第二域为有效载荷;或者所述第一域为有效载荷,所述第二域为包头。
在一种可能的设计中,所述解压buffer配置信息用于指示:所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容,以及所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
通过该设计,所述第二通信设备可以根据所述解压buffer配置信息,配置所述静态buffer的大小或静态数据内容,以及配置动态buffer的大小或初始数据内容。
在一种可能的设计中,所述第二通信设备可以通过以下方式,获取解压配置信息:
方式一:接收来自所述第一通信设备或第三通信设备的所述解压配置信息;或者
方式二:获取保存的所述解压配置信息。
通过该设计,通信系统可以通过第一通信设备、第二通信设备自身,或第三通信设备对第二通信设备的解压方式和解压buffer进行配置。
在一种可能的设计中,在接收来自第一通信设备的第二数据包之前,所述第二通信设备还可以向所述第一通信设备发送压缩配置信息;其中,所述压缩配置信息包含:压缩方式指示信息和压缩缓存buffer配置信息,所述压缩方式指示信息用于指示所述第一通信设备对数据包进行压缩处理的目标压缩方式,所述压缩buffer配置信息用于配置对数据包进行压缩时所使用的目标压缩buffer;所述目标压缩方式与所述目标解压方式相对应,所述目标压缩buffer与所述目标解压buffer的配置相同。
通过该设计,所述第二通信设备还可以配置第一通信设备的压缩方式和压缩buffer。
在一种可能的设计中,在向所述第一通信设备发送压缩配置信息之前,所述第二通信设备还可以通过如下步骤,生成所述压缩配置信息:
接收来自所述第一通信设备的压缩能力信息,所述压缩能力信息用于表示所述第一通信设备的压缩能力;然后根据所述压缩能力信息,生成所述压缩配置信息。
通过该设计,所述第二通信设备可以根据第一通信设备的压缩能力,生成压缩配置信息。
在一种可能的设计中,所述压缩能力信息包括以下至少一项:
支持的压缩方式、能够进行压缩处理的数据传输方向、支持配置压缩处理的无线承载的数量或信息、支持配置压缩buffer的总大小阈值、支持配置每种buffer类型的buffer的大小阈值。
在一种可能的设计中,所述第二通信设备还可以执行以下步骤:
更新所述目标解压buffer;
向所述第一通信设备发送buffer更新信息,所述buffer更新信息用于指示所述第一通信设备调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容;
在接收来自所述第一通信设备的第四数据包后,采用所述目标解压方式根据更新后的所述目标解压buffer对所述第四数据包进行解压,生成第三数据包;其中,所述第四数据包为所述第一通信设备对所述第三数据包进行压缩生成的。
通过该设计,通信系统还可以对第二通信设备中的目标解压buffer进行更新(调整大小和/或存储内容),并且为了实现目标解压buffer与目标压缩buffer完全一致,第二通信设备还可以指示第一通信设备对目标压缩buffer更新,从而以使更新后的目标压缩buffer、目标解压buffer能够适应变化的业务,从而保证数据包的压缩率。
在一种可能的设计中,在向所述第一通信设备发送buffer更新信息之前,所述第二通信设备还可以向所述第一通信设备发送停止压缩指令;其中,所述停止压缩指令用于指示所述第一通信设备停止使用所述目标压缩buffer对数据包进行压缩。
通过该设计,第二通信设备可以通过停止压缩指令,指示第一通信设备停止压缩的时间。
在一种可能的设计中,所述buffer更新信息中还包括:第三指示信息;所述第三指示信息用于指示使用更新后的所述目标压缩buffer进行压缩的数据包;所述第三数据包为所述第三指示信息所指示的数据包。
通过该设计,所述第二通信设备可以通过指定数据包指示第一通信设备更新目标压缩buffer的时间,从而可以明确第一通信设备使用更新后的目标压缩buffer进行压缩的数据包。因此,该设计也可以解决第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer不一致,导致数据包无法成功解压,最终导致数据包传输失败的问题。
在一种可能的设计中,所述第四数据包中还包括第四指示信息,所述第四指示信息用于指示所述第四数据包为所述第一通信设备使用更新后的所述目标压缩buffer进行压缩生成的。
通过该设计,第一通信设备还可以通过第四指示信息指示使用更新后的目标压缩buffer进行压缩的数据包。这样第二通信设备即在接收到包含第四指示信息的数据包时,即可以使用更新后的目标解压buffer进行解压,从而解决第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer不一致的问题。
在一种可能的设计中,所述第一通信设备为终端设备,所述第二通信设备为基站;或者
所述第一通信设备为基站,所述第二通信设备为终端设备;或者
所述第一通信设备和所述第二通信设备为不同的终端设备;或者
所述第一通信设备为终端设备,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为终端设备;或者
所述第一通信设备为基站,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为基站;
所述第一通信设备和所述第二通信设备为不同的核心网设备。
在一种可能的设计中,当所述第二通信设备为基站,接入所述基站的终端设备切换到目标基站时,所述第二通信设备还可以向所述目标基站发送解压buffer的状态信息,所述解压buffer的状态信息用于指示当前所述目标解压buffer的大小和/或存储的数据内容。
通过该设计,第二通信设备可以通知目标基站源基站侧维护的解压buffer的状态,以使目标基站可以快速地根据该buffer的状态信息,在本地配置大小和数据内容相同的解压buffer,从而可以接替源基站的压缩工作。
在一种可能的设计中,当所述第二通信设备为终端设备,所述终端设备切换到目标基站时,所述第二通信设备还可以接收来自所述目标基站的第七指示信息,所述第七指示信息用于指示清空或维持所述目标解压buffer,或者调整所述目标解压buffer的大小,或者更新所述目标解压buffer存储的数据内容。
通过该设计,目标基站在根据获取的源基站的buffer的状态信息,在本地配置压缩buffer的情况下,还可以决定是否需要对压缩buffer的内容进行更新、清空或维持。当目标基站决定对压缩buffer进行更新、清空或维持时,那么为了使解压buffer和压缩buffer保持完全一致,目标基站还可以指示终端设备来对解压buffer执行相同的处理。
第三方面,本申请实施例提供了一种通信装置,包括用于执行以上任一方面中各个步骤的单元。
第四方面,本申请实施例提供了一种通信设备,包括至少一个处理元件和至少一个存储元件,其中该至少一个存储元件用于存储程序和数据,该至少一个处理元件用于读取并执行存储元件存储的程序和数据,以使得本申请以上任一方面提供的方法被实现。
第五方面,本申请实施例提供了一种通信系统,包括:用于执行第一方面提供的方法的第一通信设备,用于执行第二方面提供的方法的第二通信设备。
第六方面,本申请实施例还提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述任一方面提供的方法。
第七方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被计算机执行时,使得所述计算机执行上述任一方面提供的方法。
第八方面,本申请实施例还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,执行上述任一方面提供的方法。
第九方面,本申请实施例还提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机装置实现上述任一方面提供的方法。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
上述第三方面至第九方面中任一方面可以达到的技术效果可以参照上述第一方面或第二方面中任一方面中任一种可能设计可以达到的技术效果说明,重复之处不予论述。
附图说明
图1为本申请实施例提供的一种基于动态buffer的压缩/解压方式的示意图;
图2为本申请实施例提供的一种基于静态buffer的压缩/解压方式的示意图;
图3A为本申请实施例提供的组合buffer的拼接方式的示意图;
图3B为本申请实施例提供的未组合的动态buffer和静态buffer的示意图;
图4为本申请实施例提供的一种组合buffer的更新方式的示意图;
图5为本申请实施例提供的一种通信系统的架构示意图;
图6为本申请实施例提供的一种通信方法的流程图;
图7为本申请实施例提供的一种更新静态buffer的静态数据内容的示意图;
图8为本申请实施例提供的一种更新静态buffer的大小的示意图;
图9为本申请实施例提供的一种通信实例流程图;
图10为本申请实施例提供的另一种通信实例流程图;
图11为本申请实施例提供的再一种通信实例流程图;
图12为本申请实施例提供的又一种通信实例流程图;
图13为本申请实施例提供的一种通信装置的结构图;
图14为本申请实施例提供的一种通信设备的结构图。
具体实施方式
本申请提供一种通信方法、装置及设备,用于提高通信系统中数据压缩的灵活性,从而提高数据压缩效率。其中,方法、装置设备是基于同一技术构思的,由于解决问题的原理相似,因此装置、设备与方法的实施可以相互参见,重复之处不再赘述。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、通信设备,泛指具有通信功能的设备。示例性的,所述通信设备可以但不限于为终端设备、接入网(access network)设备、接入点、核心网设备、数据网络中的服务器等。
2)、AN设备,是移动通信系统中将终端设备接入到无线网络的设备。AN设备作为无线接入网中的节点,还可以称为基站、无线接入网(radio access network,RAN)节点(或设备)、接入点(access point,AP)。
目前,一些AN设备的举例为:新一代节点B(generation Node B,gNB)、传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(base stationcontroller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,homeevolved NodeB,或home Node B,HNB),或基带单元(base band unit,BBU)等。
另外,在一种网络结构中,所述AN设备可以包括集中单元(centralized unit,CU)节点和分布单元(distributed unit,DU)节点。这种结构将长期演进(long termevolution,LTE)系统中eNB的协议层拆分开,部分协议层的功能放在CU集中控制,剩下部分或全部协议层的功能分布在DU中,由CU集中控制DU。
3)、终端设备,是一种向用户提供语音和/或数据连通性的设备。终端设备又可以称为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobileterminal,MT)等。
例如,终端设备可以为具有无线连接功能的手持式设备、车载设备等。目前,一些终端设备的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、智能销售终端(point of sale,POS)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、各类智能仪表(智能水表、智能电表、智能燃气表)等。
4)、核心网设备,是移动通信系统中核心网部分中包含的网元。核心网设备能够将终端设备接续到不同的数据网络,以及计费、移动性管理、会话管理、用户面转发等业务。在不同制式的移动通信系统中,具有相同功能的核心网设备的名称可以存在差异。然而,本申请实施例不限定具有每个功能的核心网设备的具体名称。
例如,在第4代(4th generation,4G)移动通信系统(即长期演进(long termevolution,LTE)中,负责接入控制、安全控制和信令协调等功能的网元称为移动性管理实体(Mobile management entity,MME);作为本地移动管理锚点的网元为服务网关(servinggateway,S-GW);作为外部数据网络的切换的锚点、负责IP地址分配的网元为分组数据网络(packet data network,PDN)网关(PDN gateway,P-GW);存储用户相关数据和签约数据的网元为归属签约服务器(home subscriber server,HSS);负责策略、计费功能的网元称为策略与计费控制规则功能(policy and charging rule function,PCRF)网元。
又例如,在第5代(5th generation,5G)移动通信系统中,按照具体的逻辑功能划分,核心网可以分为控制面(control plane,CP)和用户面(user plane,UP)。其中,核心网中负责控制面功能的网元可以统称为控制面网元,负责用户面功能的网元可以统称为用户面网元。具体的,在用户面,作为数据网络的接口、负责用户面数据转发等功能的网元为用户面功能(user plane function,UPF)网元。在控制面中,负责接入控制、移动性管理功能的网元称为接入和移动性管理功能(access and mobility management function,AMF)网元;负责会话管理、控制策略的执行的网元称为会话管理功能(session managementfunction,SMF)网元;负责管理签约数据、用户接入授权等功能的网元称为统一数据管理(unified data management,UDM)网元;测负责计费、策略控制功能的网元称为策略控制功能(Policy and charging function,PCF)网元;负责传输应用侧对网络侧的需求的应用功能(application function,AF)网元。
5)、buffer的大小,用于计量buffer的存储容量,其单位可以为比特(bit)、字节(Byte)、千字节(KByte)、兆字节(MByte)等。
6)、“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请中所涉及的多个,是指两个或两个以上。至少一个,是指一个或一个以上。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面先对本申请实施例涉及的几种压缩/解压方式的基本原理进行介绍。
1、基于动态buffer(dynamic buffer)的压缩/解压方式。
压缩侧需要维护压缩buffer,解压侧需要维护解压buffer。压缩buffer和解压buffer的类型均为动态buffer(即buffer中存储的数据内容会随着对数据包进行压缩/解压缩处理而发生动态变化)。为了保证解压侧能够成功解压数据包,对一个数据包进行压缩处理时压缩侧维护的压缩buffer,与对该数据包生成的压缩数据包进行解压处理时解压侧维护的解压buffer需要保持内容相同,即大小和存储的数据内容均相同。
压缩侧的压缩流程:压缩侧根据待压缩的原始数据包所包含的数据内容、压缩buffer中存储的数据内容,判断压缩buffer和原始数据包是否包含相同的至少一个数据段(任一个数据段的数据量大于1)。若判断压缩buffer和原始数据包中均存在目标数据段,则压缩侧利用该目标数据段在压缩buffer中的位置信息和长度信息来替换该原始数据包中的目标数据段,得到压缩数据包。最后压缩侧将压缩数据包发送给解压侧。
解压侧的解压流程:
与上述压缩流程对应的,解压侧接收到压缩数据包后,基于该压缩数据包中包含的目标数据段的位置信息和长度信息,在解压buffer中提取出该目标数据段,从而最终恢复原始数据包。
通过以上压缩流程和解压流程的描述可知,压缩侧对一个原始数据包进行压缩时使用的压缩buffer、解压侧对相应的压缩数据包进行解压时使用的解压buffer,二者存储的数据内容必须完全一致,才能保证解压侧正确解压恢复出原始数据包。
为了实现压缩侧的压缩buffer和解压侧的解压buffer动态变化,压缩侧每对一个原始数据包进行压缩后,会利用该原始数据包中的数据内容对该压缩buffer中存储的数据内容进行更新,可以理解为将原始数据包中的数据内容推入基于先入先出(first inputfirst output,FIFO)操作的压缩buffer。在该压缩buffer的大小固定的情况下,之前保存在压缩buffer中的数据可能会被推出buffer。同样的,解压侧每对一个压缩数据包进行解压恢复原始数据包之后,会利用该原始数据包中的数据内容对该解压buffer存储的数据内容进行更新,具体更新方式与压缩侧相同,此处不再赘述。
需要说明的是,本申请不限定数据段的物理形式。可选的,数据段可以为比特序列(至少两位),或者为字符串(至少两个字符)。并且,本申请也不限定在一个原始数据包中查找到的目标数据段的数量,即不限定原始数据包中能够进行压缩的数据段的数量。
另外,为了提高压缩效率、提高资源利用率,压缩侧在压缩buffer和原始数据包中查找的目标数据段的长度应该尽量长。例如,当压缩侧在压缩buffer和原始数据包中查找到数据量为2的目标数据段,那么压缩侧继续在压缩buffer和原始数据包中查找数据量为3的目标数据段;若未查找到,则压缩侧停止查找,对查找到的该数据量为2的目标数据段进行压缩;若查找到数据量为3的目标数据段,则压缩侧继续增加数据量,……,直至压缩侧查不到当前数据量的目标数据段时,对最后的已查找到的数据量最大的目标数据段进行压缩。
以下以图1为例,对本压缩/解压方式进行举例说明:
在压缩侧的压缩buffer中存储的数据内容为“abcdefgh”,到达压缩侧的待压缩的原始数据包(数据包A)中包含的数据内容为“bcd”,参阅图1中的(1)所示。压缩侧根据压缩buffer和原始数据包中的数据内容查找到二者存在相同的字符串“bcd”,该字符串在压缩buffer中的起始位置相对于压缩buffer的起始位置的偏移量为6(用二进制比特序列表示,位置信息可以表示为110),该字符串的长度为3(用二进制比特序列表示,长度信息可以表示为011),参阅图1中的(1)中压缩buffer内的加粗字符串。因此可以用6位比特序列“110011”来替换原始数据中的“bcd”,即压缩后的数据包(数据包B)包含的数据内容为“110011”,参阅图1中的(2)所示。另外,压缩后,压缩侧将数据包A中的数据内容推入到压缩buffer,压缩buffer存储的数据内容更新为“defghbcd”,参阅图1中的(2)所示。
在解压侧压缩buffer中存储的数据内容为“adcdefgh”,接收到包含压缩信息“110011”的数据包B,参阅图1中的(3)所示。解压侧根据数据包B中的压缩信息“110011”中包含的位置信息“110”和长度信息“011”,确定该压缩信息指示的字符串的起始位置相对于解压buffer的起始位置的偏移量为6,长度为3。因此,解压侧可以根据该压缩信息中的位置信息和长度信息,从所述解压buffer中的查找到字符串“bcd”,参阅图1中的(3)中解压buffer内的加粗字符串。因此,压缩侧可以用查找到的字符串“bcd”来替换数据包B中的压缩信息“110011”,最终解压侧可以恢复出数据包A(包含的数据内容为“bcd”),参阅图1中的(4)所示。另外,解压后,解压侧将数据包A中的数据内容推入到解压buffer,解压buffer存储的数据内容更新为“defghbcd”,参阅图1中的(4)所示。
2、基于静态buffer(fix buffer)的压缩/解压方式。
与方式1相同的,压缩侧需要维护压缩buffer,解压侧需要维护解压buffer。压缩buffer和解压buffer的类型均为静态buffer(即buffer中存储的数据内容不会随着每个数据包的压缩/解压而发生动态变化,但是可通过一定方式进行更新)。为了保证解压侧能够解压数据包成功,在对一个数据包进行压缩时以及对相应压缩数据包进行解压时,压缩侧维护的压缩buffer和解压侧维护的解压buffer需要保持相同,即大小和存储的数据内容均相同。
压缩侧的压缩流程、解压侧的解压流程均与方式1中对应的流程类似,不同的是:在压缩侧对原始数据包进行压缩后无需对压缩buffer进行更新,在解压侧对压缩数据包进行解压后也无需对解压buffer进行更新。
同样的,压缩侧对一个原始数据包进行压缩时使用的压缩buffer、解压侧对相应的压缩数据包进行解压时使用的解压buffer,二者存储的数据内容必须完全一致,才能保证解压侧正确解压恢复出原始数据包。为了保证二者完全一致,可以由同一设备对压缩buffer、解压buffer中存储的数据内容进行配置。例如:压缩侧配置自身的压缩buffer,并配置解压侧的解压buffer。又例如:解压侧配置自身的解压buffer,并配置压缩侧的压缩buffer。再例如,第三方管理设备分别对压缩侧的压缩buffer和解压侧的解压buffer进行配置。总之,需要保证二者的大小和存储的数据内容必须完全相同。
示例性的,本压缩/解压方式的具体过程可以参考图2所示,与图1中的过程不同的是,如图2中的(2)所示,压缩侧对数据包A进行压缩后,不对该压缩buffer进行更新;如图2中的(4)所示,解压侧对数据包B进行解压得到数据包A后,也不对解压buffer进行更新。
3、基于静态buffer和动态buffer的增强压缩/解压方式。
与前两种方式相同的,压缩侧需要维护压缩buffer,解压侧需要维护解压buffer。压缩buffer和解压buffer中均包含两种类型的buffer:静态buffer和动态buffer。为了保证解压侧能够解压数据包成功,在对一个数据包进行压缩时以及对相应压缩数据包进行解压时,压缩侧维护的压缩buffer和解压侧维护的解压buffer需要保持相同,即大小和存储的数据内容均相同,具体包括:压缩buffer中的静态buffer与解压buffer中的静态buffer的大小和存储的数据内容相同;压缩buffer中的动态buffer与解压buffer中的动态buffer的大小和存储的数据内容相同。
由于压缩buffer和解压buffer中均存在两种类型的buffer,因此,在本方式中,压缩侧的压缩过程、解压侧的解压过程的具体实现方式可以更加灵活。下面以待压缩的原始数据包记为第一数据包,压缩数据包记为第二数据包为例说明,本申请实施例可以但不限于通过以下几种实现方式实现本方式:
实现方式1:数据包对应动态buffer和静态buffer。在对数据包进行压缩/解压时,压缩侧和解压侧可以将动态buffer和静态buffer进行组合,形成组成buffer;然后再使用该组合buffer对该数据包进行压缩/解压。
压缩侧的压缩流程:压缩侧根据第一数据包中包含的数据内容和组合buffer中存储的数据内容,对第一数据包进行压缩,生成第二数据包;其中,该组合buffer由压缩buffer中的静态buffer和动态buffer组合生成。最后压缩侧根据第一数据包中包含的数据内容,更新压缩buffer中的动态buffer中存储的数据内容。
解压侧的解压流程:解压侧接收到第二数据包后,根据第二数据包中包含的数据内容和组合buffer中存储的数据内容,对第二数据包进行解压,生成第一数据包;其中,该组合buffer由解压buffer中的静态buffer和动态buffer组合生成。最后解压侧根据第一数据包中包含的数据内容,更新解压buffer中的动态buffer中存储的数据内容。
压缩侧和解压侧组合拼接对应的组合buffer的方式,以及更新动态buffer的方式可以参考以下实现方式3中的相关介绍,此处不再赘述。
实现方式2:数据包由两个部分组成:第一域和第二域。每个域固定对应不同类型的buffer:第一域对应静态buffer,第二域对应动态buffer。
压缩侧的压缩流程:压缩侧根据第一数据包中第一域包含的数据内容和压缩buffer中的静态buffer中存储的数据内容,对第一域进行压缩,生成压缩后的第一域;根据第一数据包中第二域包含的数据内容和压缩buffer中的动态buffer中存储的数据内容,对第二域进行压缩,生成压缩后的第二域。压缩侧根据第一数据包中第二域包含的数据内容,更新压缩buffer中的动态buffer中存储的数据内容。压缩侧根据压缩后的第一域和压缩后的第二域,组成第二数据包。
解压侧的压缩流程:解压侧接收到第二数据包后,根据第二数据包中第一域包含的数据内容和解压buffer中的静态buffer中存储的数据内容,对第一域进行解压,生成解压后的第一域;根据第二数据包中第二域包含的数据内容和解压buffer中的动态buffer中存储的数据内容,对第二域进行解压,生成解压后的第二域。解压侧根据解压后的第二域包含的数据内容,更新解压buffer中的动态buffer中存储的数据内容。解压侧根据解压后的第一域和解压后的第二域,组成第一数据包。
实现方式3:数据包由两个部分组成:第一域和第二域。每个域固定对应不同类型的buffer:第一域对应静态buffer,第二域对应动态buffer和静态buffer。在对第二域进行压缩/解压时,压缩侧和解压侧可以将动态buffer和静态buffer进行组合,形成组合buffer;然后再使用该组合buffer对该第二域进行压缩/解压。
压缩侧的压缩流程:压缩侧根据第一数据包中第一域包含的数据内容和压缩buffer中的静态buffer中存储的数据内容,对第一域进行压缩,生成压缩后的第一域;根据第一数据包中第二域包含的数据内容和组合buffer中存储的数据内容,对第二域进行压缩,生成压缩后的第二域,此时该组合buffer由压缩buffer中的静态buffer和动态buffer组成。压缩侧根据第一数据包中第二域包含的数据内容,更新压缩buffer中的动态buffer中存储的数据内容。压缩侧根据压缩后的第一域和压缩后的第二域,组成第二数据包。
解压侧的压缩流程:解压侧接收到第二数据包后,根据第二数据包中第一域包含的数据内容和解压buffer中的静态buffer中存储的数据内容,对第一域进行解压,生成解压后的第一域;根据第二数据包中第二域包含的数据内容和组合buffer中存储的数据内容,对第二域进行解压,生成解压后的第二域;此时,该组合buffer由解压buffer中的静态buffer和动态buffer组成。解压侧根据解压后的第二域包含的数据内容,更新解压buffer中的动态buffer中存储的数据内容。解压侧根据解压后的第一域和解压后的第二域,组成第一数据包。
示例性的,压缩侧可以但不限于通过以下两种方式,将压缩buffer中的静态buffer和动态buffer进行组合,生成组合buffer:
拼接方式1:参阅图3A中的(1)所示,压缩侧可以将压缩buffer中的静态buffer拼接在动态buffer的前面,即将静态buffer的结束位置拼接到动态buffer的起始位置之前的相邻位置。
拼接方式2:参阅图3A中的(2)所示,压缩侧可以将压缩buffer中的动态buffer拼接在静态buffer的前面,即将动态buffer的结束位置拼接到静态buffer的起始位置之前的相邻位置。
由于压缩侧的压缩buffer与解压侧的解压buffer需要完全一致,因此,压缩侧和解压侧生成组合buffer采用的拼接方式也必须一致。因此,解压侧将解压buffer中的静态buffer和动态buffer进行组合生成组合buffer的过程可以参考以上两种拼接方式,此处不再赘述。
需要说明的是,具体的对每个组成部分进行压缩/解压步骤可以参考以上两种方式,此处不再赘述。
还需要说明的是,当压缩侧采用组合buffer对原始数据包中的第一组成部分进行压缩时,在压缩后只利用原始数据包中的第一组成部分对组合buffer中的动态buffer进行更新,即将原始数据包中的第一组成部分推入动态buffer中。在该情况下,组合buffer中的动态buffer中可能有部分数据被推出,但是静态压缩buffer不受影响,参阅图4所示。同理,当解压侧采用组合buffer对压缩数据包中的某个组成部分进行解压时,在解压后只利用解压后的该组成部分对组合buffer中的动态buffer进行更新。
实现方式4:数据包由两个部分组成:第一域和第二域。每个域固定对应不同类型的buffer:第一域对应静态buffer,第二域对应动态buffer和静态buffer。进一步的,第二域由第一数据段和第二数据段等至少两个数据段组成,并且第一数据段对应静态buffer,第二数据段对应动态buffer。
可选的,在实现方式中,第二域中每个数据段对应的buffer类型可以是压缩侧确定的,也可以是预先配置的,本申请对此不作限定。此外,关于第二域如何划分为至少一个或多个数据段,本申请对此不作限定。
当第二域中每个数据段对应的buffer类型为压缩侧决定时,压缩侧还可以向解压侧发送指示数据包中每个数据段对应的buffer类型的指示信息。例如,所述压缩侧可以在每个压缩数据包中携带该指示信息。
压缩侧的压缩流程:压缩侧根据第一数据包中第一域包含的数据内容和压缩buffer中的静态buffer中存储的数据内容,对第一域进行压缩,生成压缩后的第一域;根据第一数据包中第二域的第一数据段包含的数据内容和压缩buffer中的静态buffer中存储的数据内容,对第一数据段进行压缩,生成压缩后的第一数据段;根据第一数据包中第二域的第二数据段包含的数据内容和压缩buffer中的动态buffer中存储的数据内容,对第二数据段进行压缩,生成压缩后的第二数据段。压缩侧根据压缩后的第一域、压缩后的第一数据段,以及压缩后的第二数据段,组成第二数据包。最后,压缩侧根据第一数据包中第二域的第二数据段包含的数据内容,更新动态buffer中存储的数据内容。
解压侧的解压流程:解压侧接收到第二数据包后,根据所述第二数据包中第一域包含的数据内容和解压buffer中的静态buffer中存储的数据内容,对第一域进行解压,生成解压后的第一域;根据第二数据包中第二域的第一数据段包含的数据内容和解压buffer中的静态buffer中存储的数据内容,对第一数据段进行解压,生成解压后的第一数据段;根据第二数据包中第二域的第二数据段包含的数据内容和解压buffer中的动态buffer中存储的数据内容,对第二数据段进行解压,生成解压后的第二数据段。解压侧根据解压后的第一域、解压后的第一数据段,以及解压后的第二数据段,组成第一数据包。最后,解压侧根据解压后的第二数据段包含的数据内容,更新解压buffer中的动态buffer中存储的数据内容。
实现方式5:数据包由两个部分组成:第一域和第二域。每个域固定对应不同类型的buffer:第一域对应静态buffer,第二域对应动态buffer和静态buffer。进一步的,在对第二域进行压缩时,压缩侧可以自行在动态buffer和静态buffer中选择一种类型的buffer对该第二域进行压缩,或者由解压侧或第三方管理设备将第二域对应的buffer类型配置给所述压缩侧。
需要说明的是,在压缩侧的第二域对应的一种buffer类型不是解压侧配置的情况下,压缩侧或第三方管理设备还需要将第二域对应的一种buffer类型配置给所述解压侧,以保证压缩侧和解压侧采用相同的类型的buffer对第二域进行压缩和解压。
例如,当第二域对应的buffer类型是由压缩侧自行确定或第三方管理设备配置时,压缩侧可以向解压侧发送用于指示第二域对应的buffer类型的指示信息。示例性的,压缩侧可以在每个压缩数据包中携带该指示信息。又例如,当第二域对应的buffer类型是由解压侧配置时,压缩侧则不必发送该指示信息。
压缩侧的压缩流程:压缩侧根据第一数据包中第一域包含的数据内容和压缩buffer中的静态buffer中存储的数据内容,对第一域进行压缩,生成压缩后的第一域;根据第一数据包中第二域包含的数据内容和压缩buffer中的第一buffer中存储的数据内容,对第二域进行压缩,生成压缩后的第二域。其中,所述第一buffer为压缩buffer中的静态buffer或动态buffer,具体可以由压缩侧、解压侧或第三方管理设备配置。压缩侧根据压缩后的第一域和压缩后的第二域,组成第二数据包。当所述第一压缩buffer为压缩buffer中的动态buffer时,压缩侧根据第一数据包中第二域包含的数据内容,更新压缩buffer中的动态buffer中存储的数据内容。
解压侧的解压流程:解压侧接收到第二数据包后,根据第二数据包中第一域包含的数据内容和解压buffer中的静态buffer中存储的数据内容,对第一域进行解压,生成解压后的第一域;根据第二数据包中第二域包含的数据内容和解压buffer中的第一buffer中存储的数据内容,对第二域进行解压,生成解压后的第二域。其中,所述第一buffer为解压buffer中的静态buffer或动态buffer,具体可以由解压侧、压缩侧或者第三方管理设备配置。解压侧根据解压后的第一域和解压后的第二域,组成第一数据包。当所述第一buffer为解压buffer中的动态buffer时,根据解压后的第二域包含的数据内容,更新解压buffer中的动态buffer中存储的数据内容。
实现方式6:数据包视为一个整体,数据包对应动态buffer和静态buffer。与实现方式5类似的,在对某个数据包进行压缩时,压缩侧可以在自行在动态buffer和静态buffer中选择一种类型的buffer对该数据包进行压缩,或者由解压侧或第三方管理设备将该数据包(或者一类数据包,或者设定时间内接收的数据包)对应的buffer类型配置给所述压缩侧。
需要说明的是,在压缩侧的该数据包对应的一种buffer类型不是解压侧配置的情况下,压缩侧或第三方管理设备还需要将该数据包对应的一种buffer类型配置给所述解压侧,以保证压缩侧和解压侧采用相同的类型的buffer对数据包进行压缩和解压。
例如,当数据包对应的buffer类型是由压缩侧自行确定或第三方管理设备配置时,压缩侧可以向解压侧发送用于指示数据包对应的buffer类型的指示信息。示例性的,压缩侧可以在每个压缩数据包中携带该指示信息。又例如,当数据包对应的buffer类型是由解压侧配置时,压缩侧则不必发送该指示信息。
压缩侧的压缩流程:压缩侧根据第一数据包中包含的数据内容和压缩buffer中的第一buffer中存储的数据内容,对第一数据包进行压缩,生成第二数据包。其中,所述第一buffer为压缩buffer中的静态buffer或动态buffer,具体可以由压缩侧、解压侧或第三方管理设备配置。当第一压缩buffer为压缩buffer中的动态buffer时,压缩侧根据第一数据包中包含的数据内容,更新压缩buffer中的动态buffer中存储的数据内容。
解压侧的解压流程:解压侧接收到第二数据包后,根据第二数据包中包含的数据内容和第一buffer中存储的数据内容,对第二数据包进行解压,生成第一数据包。其中,所述第一buffer为解压buffer中的静态buffer或动态buffer,具体可以由解压侧、压缩侧或第三方管理设备配置。当第一buffer为解压buffer中的动态buffer时,解压侧根据第一数据包中包含的数据内容,更新解压buffer中的动态buffer中存储的数据内容。
实现方式7:数据包由第一数据段和第二数据段等至少两个数据段组成。压缩侧可以自行为每个数据段选择对应的buffer类型,或者由解压侧或第三方管理设备将每个数据段对应的buffer类型配置给压缩侧。当然,不同数据段可以对应相同或不同的buffer类型。
需要说明的是,在压缩侧的数据包中每个数据段对应的buffer类型不是解压侧配置的情况下,压缩侧或第三方管理设备还需要将数据包中每个数据段对应的buffer类型配置给解压侧,以保证压缩侧和解压侧采用相同的buffer类型对每个数据段进行压缩和解压。
例如,当数据包中每个数据段对应的buffer类型是由压缩侧自行确定或第三方管理设备配置时,压缩侧可以向解压侧发送用于指示数据包中每个数据段对应的buffer类型的指示信息。示例性的,压缩侧可以在每个压缩数据包中携带该指示信息。又例如,当数据包中每个数据段对应的buffer类型是由解压侧配置时,压缩侧则不必发送该指示信息。
压缩侧的压缩流程:压缩侧根据第一数据包中的第一数据段包含的数据内容和压缩buffer中的第一buffer中存储的数据内容,对第一数据段进行压缩,生成压缩后的第一数据段;根据第一数据包中的第二数据段包含的数据内容和压缩buffer中的第二buffer中存储的数据内容,对第二数据段进行压缩,生成压缩后的第二数据段。压缩侧根据压缩后的第一数据段,以及压缩后的第二数据段,组成第二数据包。当第一buffer为动态buffer时,压缩侧根据第一数据包中的第一数据段包含的数据内容,更新动态buffer中存储的数据内容;当第二buffer为动态buffer时,压缩侧根据第一数据包中的第二数据段包含的数据内容,更新动态buffer中存储的数据内容。其中,第一buffer为压缩buffer中的静态buffer,第二buffer为压缩buffer中的动态buffer;又或者第一buffer为压缩buffer中的动态buffer,第二buffer为压缩buffer中的静态buffer。
解压侧的解压流程:解压侧接收到第二数据包后,根据第二数据包中的第一数据段包含的数据内容和解压buffer中的第一buffer中存储的数据内容,对第一数据段进行解压,生成解压后的第一数据段;根据第二数据包中的第二数据段包含的数据内容和解压buffer中的第二buffer中存储的数据内容,对第二数据段进行解压,生成解压后的第二数据段。解压侧根据解压后的第一数据段,以及解压后的第二数据段,组成第一数据包。当第一buffer为动态buffer时,解压侧解压后的第一数据段包含的数据内容,更新解压buffer中的动态buffer中存储的数据内容;当第二buffer为动态buffer时,解压侧根据解压后的第二数据段包含的数据内容,更新解压buffer中的动态buffer中存储的数据内容。其中,第一buffer为解压buffer中的静态buffer,第二buffer为解压buffer中的动态buffer;又或者第一buffer为解压buffer中的动态buffer,第二buffer为解压buffer中的静态buffer。
应注意,本申请对数据包的组成方式不作限定。上述第一域和第二域,以及第二域中的第一数据段和第二数据段,可以根据数据包的格式或者数据特征等具体划分。示例性的,第一域可以为包头,第二域可以为有效载荷。又例如,第一域为有效载荷,第二域为包头。根据数据包的种类的不同,包头的格式也不相同,示例性的,数据包的包头可以包括以太网帧头、网络协议(internet protocol,IP)头、传输控制协议(transmission controlprotocol,TCP)头、用户数据报协议(user datagram protocol,UDP)头、实时传输协议(real-time transport protocol,RTP)头、服务数据适配协议(service data adaptationprotocol,SDAP)头等中的一个或多个。
另外,与实现方式1和实现方式3不同的是,其他实现方式中,静态buffer和动态buffer是两个分离、独立的buffer,如图3B所示。
下面将结合附图,对本申请实施例进行详细描述。
图5示出了本申请实施例提供的通信方法适用的一种可能的通信系统的架构。参阅图1所示,所述通信系统包括三部分:终端设备、移动通信系统、数据网络(data network,DN)。
终端设备,为用户侧能够接收和发射无线信号的实体,需要通过移动通信系统中的AN设备接入网络。终端设备可以为各种为用户提供语音和/或数据连通性的设备,例如图5所示,终端设备可以为车载设备、VR眼镜、智能手机等。
移动通信网络,为终端设备提供接入服务和端到端的连接服务。终端设备可以通过移动通信网络访问DN,实现具体业务。其中,所述移动通信网络又可以包括接入网(access network,AN)和核心网(core network,CN)两部分。其中,接入网主要负责终端设备的无线接入功能。核心网用于将终端设备接续到DN中,并负责终端设备计费、移动性管理、会话管理、用户面转发等业务。
部署在接入网中的具体网络设备为AN设备,具体可以负责无线接入、空口侧的无线资源管理、服务质量(quality of service,QoS)管理、数据压缩和加密、用户面数据转发等功能。
核心网中包含多个核心网设备,分别实现不同的核心网功能。在不同的制式的移动通信系统中,核心网部署的核心网可能存在差异,并且具有相同功能的核心网设备的名称也可能存在差异。
示例性的,在5G移动通信系统中,按照具体的逻辑功能划分,核心网可以分为控制面(control plane,CP)和用户面(user plane,UP)。那么核心网中负责控制面功能的网元可以统称为控制面网元,负责用户面功能的网元可以统称为用户面网元。如前述对核心网设备的解释说明,用户面网元包含UPF网元(简称为UPF)。而控制面网元包括:AMF网元(简称为AMF)、SMF网元(简称为SMF)、UDM网元(简称为UDM)、PCF网元(简称为PCF),以及AF网元(简称为AF)等。
DN,也可以称为分组数据网络(packet data network,PDN),是位于移动通信网络之外的网络。DN中可以在至少一个服务器内部署多种业务,为终端设备提供数据和/或语音等服务。其中,移动通信网络可以接入至少一个DN,同一个DN也可以被至少一个移动通信网络接入。例如,所述DN可以是分组数据网络(packet data network,PDN),如因特网(Internet)、IP多媒体业务(IP Multi-media Service,IMS)网络、某些应用专用的数据网络(例如腾讯视频的数据网络)、以太网、IP本地网络等,本申请对此不作限定。
可选的,图5所示的通信系统可以支持侧行链路(sidelink)通信技术。sidelink通信技术是一种终端设备之间能够直连的近场通信技术,又称为近距离服务(proximityservices,ProSe)通信技术,或D2D通信技术。在该通信系统中,所处地理位置较近,且支持sidelink通信的多个终端设备可以组成一个sidelink通信系统(还可以称为sidelink通信子系统,sidelink系统等)。在该sidelink通信系统中,两个终端设备(又称为sidelink设备)之间可以通过直连链路(sidelink连接)进行通信。sidelink通信技术可以支持AN设备覆盖范围内、AN设备覆盖范围外和AN设备部分覆盖场景下的广播、组播和单播传输。
在图5所示的通信系统中,针对不同的应用场景,可以组成不同的sidelink通信系统。例如,在用户驾驶汽车的场景中,用户的智能手机可以与安装在汽车上的车载设备组成一个sidelink通信系统,如图所示。又例如,在用户使用VR眼镜观看影片的场景中,用户的智能手机可以与VR眼镜组成一个sidelink通信系统,如图所示。在其他场景中,还可以不同汽车之间的车载设备组成一个sidelink通信系统,或者,不同汽车上的手机组成一个sidelink通信系统。
需要理解的是,移动通信系统或DN中的以上各网元既可以是在专用硬件上实现的网络元件,也可以是在专用硬件上运行的软件实例,或者是在虚拟化平台(例如云平台)上虚拟化功能的实例。此外,本申请实施例并不限定通信系统中各个网元的分布形式,可选的,以上各个网元可以分别部署在不同的物理设备中,或者多个网元融合在同一物理设备中。
另外,图1所示的通信系统中各个通信设备之间可以通过相应的接口实现交互,部分网元可以采用服务化接口的方式实现,本申请对此不作限定。示例性的,如图1所示,其中,AN设备和终端设备之间可以通过空中接口(即Uu接口)连接,从而实现AN设备和终端设备之间的通信(这种通信可以简称Uu通信,或者蜂窝网通信)。邻近的终端设备之间可以通过近距业务通信接口5(ProSe communication 5,PC5)接口,建立直连链路sidelink连接,组成sidelink通信系统。
其中,无论是Uu接口还是PC5接口,均包含控制面协议栈和用户面协议栈。其中,用户面协议栈中均至少包含以下协议层:物理(physical,PHY)层、MAC层、无线链路控制(radio link control,RLC)层和分组数据汇聚协议(packet data convergenceprotocol,PDCP)层、服务数据适配协议(service data adaptation protocol,SDAP)层;控制面协议栈中至少包含以下协议层:物理层、MAC层、RLC层、PDCP层、无线资源控制(radioresource control,RRC)层。每个协议栈通过对应的协议栈实体来实现该协议栈的功能。
还需要指出的是,如图5所示的通信系统作为一个示例,并不对本申请实施例提供的方法适用的通信系统构成限定。总之,本申请实施例提供的方法,适用于各种类型和制式的通信系统或应用场景中。例如:4G移动通信系统、5G移动通信系统、6G移动通信系统、未来新一代移动通信系统、无线保真(Wireless-Fidelity,Wi-Fi)系统、车到万物(vehicle toeverything,V2X)系统、长期演进-车联网(LTE-vehicle,LTE-V)系统、车到车(vehicle tovehicle,V2V)系统、车联网系统、机器类通信(Machine Type Communications,MTC)系统、物联网(internet of things,IoT)系统、长期演进-机器到机器(LTE-machine tomachine,LTE-M)系统、机器到机器(machine to machine,M2M)系统,以及各种DN网络、分布式存储系统等,本申请实施例不予限定。
通过以上对几种压缩/解压方式的基本原理的介绍,在静态buffer中固定配置数据包中频繁出现的数据段,可以明显提高数据包的压缩率。另外,在使用动态buffer进行压缩时,相邻两个数据包中存在相同的数据段时也可以提高数据包的压缩率。然而,在不同场景中的通信系统中传输的数据包的数据特征存在差异,同一通信系统的不同时间段内传输的数据包的数据特征也可能存在差异。
例如,终端设备连接多个采集器,并将每个采集器采集的数据上报给基站的场景中,终端设备针对同一个采集器生成的数据包的包头(header)基本相同,有效载荷(payload)也比较相似;但是终端设备针对不同采集器生成的数据包差异较大。
又例如,压缩侧在一段时间内生成的数据包的有效载荷基本相同,在另一段时间内生成的数据包的有效载荷差异较大。
再例如,压缩侧在实现某个业务时生成的数据包的包头基本相同,相邻两个数据包的有效载荷存在部分相似的数据段。
显然,通信系统中建立通信连接的两个通信设备之间传输的数据包中的数据内容是灵活多变的,因此,若采用目前的UDC机制、RoHC机制、EHC机制等几种压缩机制进行压缩,可能会影响该两个通信设备之间的数据压缩效率,无法达到提高数据传输效率和资源利用率的效果。
基于此,为了提高通信系统中数据压缩的灵活性,从而可以提高数据压缩效率,最终提高通信系统的数据传输效率和资源利用率,本申请实施例提供了一种通信方法。该方法可以适用于如图5所示的通信系统在内的各种通信系统中的建立通信连接的两个通信设备。例如,该方法可以应用于sidelink通信系统中的两个终端设备,终端设备与AN设备,AN设备与核心网设备,核心网中的两个核心网设备,核心网设备与DN中的服务器,或DN中的两个服务器之间。
下面参阅图6所示的流程图,分阶段对所述通信方法进行详细说明。为了便于区分,本申请实施例中将压缩侧记为第一通信设备,将解压侧记为第二通信设备,将第三方管理设备记为第三通信设备。
S601a-S604为配置压缩方式、解压方式、压缩buffer和解压buffer的过程。
S601:第一通信设备获取压缩配置信息。其中,所述压缩配置信息包含:压缩方式指示信息和压缩缓存buffer配置信息;所述压缩方式指示信息用于指示所述第一通信设备对数据包进行压缩处理的目标压缩方式,所述压缩buffer配置信息用于配置所述第一通信设备的目标压缩buffer。
S602:所述第一通信设备根据所述压缩配置信息,对所述目标压缩buffer进行配置。
S603:第二通信设备获取解压配置信息。其中,所述解压配置信息包含:解压方式指示信息和解压缓存buffer配置信息,其中,所述解压方式指示信息用于指示所述第二通信设备对数据包进行解压处理的目标解压方式,所述解压buffer配置信息用于配置所述第二通信设备的目标解压buffer。
S604:根据所述解压buffer配置信息,对所述目标解压buffer进行配置。
应注意,本申请不限定S601与S603的执行顺序。另外,本申请实施例也可以只执行步骤S601和S602,或只执行步骤S603和S604。
通过前述对几种压缩/解压方式的基本原理的介绍可知,第一通信设备的目标压缩buffer和第二通信设备的目标解压buffer需要保持完全一致(类型一致、大小一致,存储的数据内容一致)。因此,在通信系统中一般由同一设备对压缩buffer和解压buffer进行配置。可选的,在本申请实施例中,所述目标压缩buffer和所述目标解压buffer可以由第一通信设备、第二通信设备,或者第三通信设备触发配置的,即S601中的压缩配置信息、S603中的解压配置信息可以是第一通信设备、第二通信设备或者第三通信设备生成的,本申请对此不作限定。
基于此,第一通信设备或第二通信设备可以但不限于通过以下几种实施方式,获取压缩配置信息或解压配置信息。
第一种实施方式:第一通信设备配置目标压缩buffer和目标解压buffer。
在本实施方式中,第一通信设备生成解压配置信息,并向第二通信设备发送所述解压配置信息。可选的,所述第一通信设备可以根据用户配置,或者以下至少一项或任意组合生成所述解压配置信息:第一通信设备的压缩能力信息,第二通信设备的解压能力信息,当前待压缩的数据包的数据特征,压缩需求,以及数据传输效率需求等,本申请对此不作限定。
其中,如图所示,在本实施方式中,所述第二通信设备可以通过S601b向所述第一通信设备发送所述第二通信设备的解压能力信息;即所述第一通信设备可以通过S601b接收来自所述第二通信设备的解压能力信息。
相应的,第一通信设备需配置目标压缩buffer,其中,目标压缩buffer的大小和初始数据内容需与为第二通信设备配置的目标解压buffer的大小和初始数据内容保持一致。在执行S603时,所述第二通信设备接收来自所述第一通信设备的所述解压配置信息。这样,第二通信设备可以根据解压配置信息配置所述目标解压buffer的大小和初始数据内容。
第二种实施方式:第二通信设备配置目标压缩buffer和目标解压buffer。
在本实施方式中,第二通信设备生成压缩配置信息,并向第一通信设备发送所述压缩配置信息。可选的,所述第二通信设备可以根据用户配置,或者以下至少一项或任意组合生成所述压缩配置信息:第一通信设备的压缩能力信息,第二通信设备的解压能力信息,当前待压缩的数据包的数据特征,压缩需求,以及数据传输效率需求等,本申请对此不作限定。
其中,如图所示,在本实施方式中,所述第一通信设备可以通过S601a向所述第二通信设备发送所述第一通信设备的压缩能力信息。而所述第二通信设备可以通过S601a接收来自所述第一通信设备的压缩能力信息。
相应的,所述第二通信设备需要配置目标解压buffer,其中,所述目标解压buffer的大小和初始数据内容需与为第一通信设备配置的目标压缩buffer的大小和初始数据内容保持一致。在执行S601时,所述第一通信设备接收来自所述第二通信设备的所述压缩配置信息。这样,所述第一通信设备可以根据所述压缩配置信息配置所述目标压缩buffer的大小和初始数据内容。
第三种实施方式中,第三通信设备配置目标压缩buffer和目标解压buffer。
在本实施方式中,第三通信设备生成压缩配置信息和解压配置信息;然后向所述第一通信设备发送所述压缩配置信息,向所述第二通信设备发送所述解压配置信息。可选的,所述第三通信设备可以根据用户配置,或者以下至少一项或任意组合生成所述压缩配置信息和所述解压配置信息:第一通信设备的压缩能力信息,第二通信设备的解压能力信息,当前待压缩的数据包的数据特征,压缩需求,以及数据传输效率需求等,本申请对此不作限定。
其中,如图所示,在本实施方式中,所述第一通信设备可以通过S601a向所述第三通信设备发送所述第一通信设备的压缩能力信息;所述第二通信设备可以通过S601b向所述第三通信设备发送所述第二通信设备的解压能力信息。因此,第三通信设备可以通过S601a接收来自所述第一通信设备的压缩能力信息,通过S601b接收来自所述第二通信设备的解压能力信息。
相应的,在执行S601时,所述第一通信设备接收来自所述第三通信设备的所述压缩配置信息。在执行S603时,所述第二通信设备接收来自所述第三通信设备的所述解压配置信息。
需要说明的是,在上述三种实施方式中,所述第一通信设备的压缩能力信息用于表征所述第一通信设备的压缩能力,可以但不限于包括以下至少一项或任意组合:
支持的压缩方式、能够进行压缩处理的数据传输方向、支持配置压缩处理的无线承载的数量或信息、支持配置压缩buffer的总大小阈值、支持配置每种buffer类型的buffer的大小阈值。
所述第二通信设备的解压能力信息用于表征所述第二通信设备的解压能力,可以但不限于包括以下至少一项或任意组合:
支持的解压方式、能够进行解压处理的数据传输方向、支持配置解压处理的无线承载的数量或信息、支持配置解压buffer的总大小阈值、支持配置每种buffer类型的buffer的大小阈值。
下面针对每种压缩/解压方式,对上述步骤中涉及的压缩配置信息和/或解压配置信息进行具体说明。
第一种实施方式:基于动态buffer的压缩/解压方式。
压缩配置信息:
压缩配置信息中的压缩方式指示信息指示的目标压缩方式为基于动态buffer的压缩方式;所述压缩buffer配置信息配置的目标压缩buffer为动态buffer。
在本实施方式中,所述压缩buffer配置信息用于指示该动态buffer的大小和/或填充到该动态buffer的初始数据内容。
可选的,所述初始数据内容可以为空,或者为预配置的数据字典。可选的,所述压缩buffer配置信息中可以包含该初始数据内容,或者包含指示该初始数据内容的指示信息。
类似的,所述压缩buffer配置信息中可以包含该动态buffer的大小,或者包含指示该动态buffer的大小的指示信息。
解压配置信息:
解压配置信息中的解压方式指示信息指示的目标解压方式为基于动态buffer的解压方式;所述解压buffer配置信息配置的目标解压buffer为动态buffer。
在本实施方式中,所述解压buffer配置信息用于指示该动态buffer的大小和/或填充到该动态buffer的初始数据内容。
与压缩buffer配置信息类似的,所述解压buffer配置信息中可以包含该初始数据内容,或者包含指示该初始数据内容的指示信息;所述解压buffer配置信息中可以包含该动态buffer的大小,或者包含指示该动态buffer的大小的指示信息。
需要说明的是,为了保证目标压缩buffer和目标解压buffer保持完全一致,所述压缩buffer配置信息所指示的动态buffer的大小与所述解压buffer配置信息所指示的动态buffer的大小相同;所述压缩buffer配置信息所指示的动态buffer的初始数据内容与所述解压buffer配置信息所指示的动态buffer的初始内容相同。
第二种实施方式:基于静态buffer的压缩/解压方式。
压缩配置信息:
压缩配置信息中的压缩方式指示信息指示的目标压缩方式为基于静态buffer的压缩方式;所述压缩buffer配置信息配置的目标压缩buffer为静态buffer。
在本实施方式中,所述压缩buffer配置信息用于指示该静态buffer的大小和/或填充到该静态buffer的静态数据内容。
可选的,所述静态数据内容为预配置的数据字典。可选的,所述压缩buffer配置信息中可以包含该静态数据内容,或者包含指示该静态数据内容的指示信息。
类似的,所述压缩buffer配置信息中可以包含该静态buffer的大小,或者包含指示该静态buffer的大小的指示信息。
解压配置信息:
解压配置信息中的解压方式指示信息指示的目标解压方式为基于静态buffer的解压方式;所述解压buffer配置信息配置的目标解压buffer为静态buffer。
在本实施方式中,所述解压buffer配置信息用于指示该静态buffer的大小和/或填充到该静态buffer的静态数据内容。
与压缩buffer配置信息类似的,所述解压buffer配置信息中可以包含该静态数据内容,或者包含指示该静态数据内容的指示信息;所述解压buffer配置信息中可以包含该静态buffer的大小,或者包含指示该静态buffer的大小的指示信息。
需要说明的是,为了保证目标压缩buffer和目标解压buffer保持完全一致,所述压缩buffer配置信息所指示的静态buffer的大小与所述解压buffer配置信息所指示的静态buffer的大小相同;所述压缩buffer配置信息所指示的静态buffer的静态数据内容与所述解压buffer配置信息所指示的静态buffer的静态内容相同。
第三种实施方式:基于静态buffer和动态buffer的增强压缩/解压方式。
压缩配置信息:
压缩配置信息中的压缩方式指示信息指示的目标压缩方式为基于静态buffer和动态buffer的增强压缩方式;所述压缩buffer配置信息配置的目标压缩buffer包含静态buffer和动态buffer。
在本实施方式中,所述压缩buffer配置信息用于指示该动态buffer的大小和/或填充到该动态buffer的初始数据内容,以及该静态buffer的大小和/或填充到该静态buffer的静态数据内容。
可选的,所述初始数据内容可以为空,或者为预配置的数据字典。所述静态数据内容可以为预配置的数据字典。
可选的,所述压缩buffer配置信息中可以包含该初始数据内容,或者包含指示该初始数据内容的指示信息。所述压缩buffer配置信息中可以包含该静态数据内容,或者包含指示该静态数据内容的指示信息。
类似的,所述压缩buffer配置信息中可以包含该动态buffer的大小,或者包含指示该动态buffer的大小的指示信息。所述压缩buffer配置信息可以包含该静态buffer的大小,或者包含指示该静态buffer的大小的指示信息。
另外,所述压缩buffer配置信息还可以通过大小比例的方式指示动态buffer的大小和静态buffer的大小,具体指示方式本申请实施例不作限定。例如,压缩buffer配置信息指示总buffer大小,以及动态buffer占总buffer的比例和/或静态buffer占总buffer的大小比例。又例如,压缩buffer配置信息指示总buffer大小,以及动态buffer和静态buffer之间的大小比例。再例如,压缩buffer配置信息指示一种buffer类型的buffer的大小,以及动态buffer和静态buffer之间的大小比例。
解压配置信息:
解压配置信息中的解压方式指示信息指示的目标解压方式为基于静态buffer和动态buffer的增强解压方式;所述解压buffer配置信息配置的目标解压buffer包含静态buffer和动态buffer。
在本实施方式中,所述解压buffer配置信息用于指示该动态buffer的大小和/或填充到该动态buffer的初始数据内容,以及该静态buffer的大小和/或填充到该静态buffer的静态数据内容。
与压缩buffer配置信息类似的,所述解压buffer配置信息中可以包含该初始数据内容,或者包含指示该初始数据内容的指示信息;所述解压buffer配置信息中可以包含该静态数据内容,或者包含指示该静态数据内容的指示信息;所述解压buffer配置信息中可以包含该动态buffer的大小,或者包含指示该动态buffer的大小的指示信息;所述解压buffer配置信息可以包含该静态buffer的大小,或者包含指示该静态buffer的大小的指示信息。
需要说明的是,为了保证目标压缩buffer和目标解压buffer保持完全一致,所述压缩buffer配置信息所指示的动态buffer的大小与所述解压buffer配置信息所指示的动态buffer的大小相同;所述压缩buffer配置信息所指示的动态buffer的初始数据内容与所述解压buffer配置信息所指示的动态buffer的初始内容相同;所述压缩buffer配置信息所指示的静态buffer的大小与所述解压buffer配置信息所指示的静态buffer的大小相同;所述压缩buffer配置信息所指示的静态buffer的静态数据内容与所述解压buffer配置信息所指示的静态buffer的静态内容相同。
应了解,在以上三种实施方式中,所述压缩配置信息和所述解压配置信息还可以指示其他与压缩/解压相关的其他信息。
例如,在第一通信设备和第二通信设备之间能够建立多个无线承载(或无线链路、无线连接、传输信道等)进行数据包传输的情况下,所述压缩配置信息还可以指示支持压缩处理的目标无线承载(即第一通信设备对通过该目标无线承载发送的数据包进行压缩处理);同理,所述解压配置信息还可以指示支持解压处理的目标无线承载(即第二通信设备对通过该目标无线承载接收的数据包进行解压处理)。
还需要说明的是,在以上三种实施方式中,当所述压缩配置信息是根据所述第一通信设备的压缩能力信息配置时,所述压缩配置信息中配置的压缩方式和配置的压缩buffer需要符合该压缩能力信息。例如:所述压缩配置信息中的压缩方式指示信息所指示的目标压缩方式属于第一通信设备支持的压缩方式;所述压缩buffer配置信息指示的目标压缩buffer中所有buffer类型的buffer的总大小小于或等于第一通信设备支持配置压缩buffer的总大小阈值;所述压缩buffer配置信息指示的目标压缩buffer中每种buffer类型的大小均小于或等于第一通信设备支持该buffer类型的buffer的大小阈值;第一通信设备向第二通信设备进行数据传输的方法符合第一通信设备能够进行压缩处理的数据传输方向;该压缩配置信息所指示的目标无线承载属于第一通信设备支持配置压缩处理的无线承载。
类似的,在以上三种实施方式中,当所述解压配置信息是根据所述第二通信设备的解压能力信息配置时,所述解压配置信息中配置的解压方式和配置的解压buffer需要符合该解压能力信息。例如:所述解压配置信息中的解压方式指示信息所指示的目标解压方式属于第二通信设备支持的解压方式;所述解压buffer配置信息指示的目标解压buffer中所有buffer类型的buffer的总大小小于或等于第二通信设备支持配置解压buffer的总大小阈值;所述解压buffer配置信息指示的目标解压buffer中每种buffer类型的大小均小于或等于第二通信设备支持该buffer类型的buffer的大小阈值;第一通信设备向第二通信设备进行数据传输的方法符合第二通信设备能够进行解压处理的数据传输方向;该解压配置信息所指示的目标无线承载属于第二通信设备支持配置解压处理的无线承载。
综上,以上步骤可以保证第一通信设备可以配置目标压缩buffer,第二通信设备配置目标解压buffer,并保证目标压缩buffer和目标解压buffer完全一致,从而为之后第一通信设备和第二通信设备之间进行数据包的传输做好准备。
进一步的,通信系统可以将在数据包中高频出现的数据内容配置到静态buffer中,从而可以提高数据包的数据压缩率。
S605-S607为传输数据包的过程。
S605:所述第一通信设备在获取第一数据包后,采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包。
可选的,所述第一通信设备可以但不限于通过以下方式获取所述第一数据包:
方式一:接收来自其他通信设备的所述第一数据包;
方式二:生成所述第一数据包;
方式三:自上层实体接收到所述第一数据包。例如,当由第一通信设备中PDCP实体执行压缩操作时,所述第一数据包可以为SDAP实体发送给PDCP实体的。
S606:所述第一通信设备向所述第二通信设备发送所述第二数据包。
需要说明的是,当所述压缩配置信息还可以指示支持压缩处理的目标无线承载时,所述第一数据包为所述目标无线承载所对应的业务的业务数据包,且所述第二通信设备可以通过所述目标无线承载向所述第二通信设备发送所述第二数据包。
S607:所述第二通信设备在接收来自所述第一通信设备的所述第二数据包后,采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包。
在本申请实施例中,所述第一通信设备对所述第一数据包进行压缩的过程可以参考前述几种压缩方式中流程,所述第二通信设备对所述第二数据包进行解压的过程也可以参考前述几种解压方式中的流程,此处不再展开描述。
需要注意的是,当第一通信设备采用基于静态buffer和动态buffer的增强压缩方式对第一数据包进行压缩,第二通信设备采用基于静态buffer和动态buffer的增强解压方式对第二数据包进行解压的情况下,由于涉及多种buffer类型,因此,可以预先设置数据包中每个组成部分使用哪种buffer类型进行压缩/解压。基于此,本申请实施例还提供了以下实施方式:
第一种实施方式:为了指示数据包中每个组成部分应使用哪种buffer类型进行压缩,所述压缩配置信息中还可以包含第一指示信息。所述第一指示信息指示数据包中至少一个组成部分对应的buffer类型;其中,任一个组成部分对应的buffer类型用于指示所述第一通信设备使用所述目标压缩buffer中属于该buffer类型的buffer对该组成部分进行压缩;任一个组成部分为以下任一项:(整个)数据包、数据包中的第一数据段、数据包中的第二数据段、数据包中的第一域、数据包中的第二域、数据包中第二域的第一数据段、数据包中第二域的第二数据段。
这样,所述第一通信设备在执行S605对第一数据包进行压缩时,可以根据所述第一指示信息,确定在对每个组成部分压缩时应使用的buffer类型,从而可以使用该buffer类型对该组成部分进行压缩。
第二种实施方式:与第一种实施方式类似的,为了指示数据包中每个组成部分应使用哪种buffer类型进行解压,所述解压配置信息还可以包含第二指示信息。所述第二指示信息用于指示数据包中至少一个组成部分对应的buffer类型;其中,任一个组成部分对应的buffer类型用于指示所述第二通信设备使用所述目标解压buffer中属于该buffer类型的buffer对该组成部分进行解压;任一个组成部分为以下任一项:(整个)数据包、数据包中的第一数据段、数据包中的第二数据段、数据包中的第一域、数据包中的第二域、数据包中第二域的第一数据段、数据包中第二域的第二数据段。
这样,所述第二通信设备在执行S607对第二数据包进行解压时,可以根据所述第二指示信息,确定在对每个组成部分解压时应使用的buffer类型,从而可以使用该buffer类型对该组成部分进行解压。
第三种实施方式:数据包中每个组成部分应使用哪种buffer类型进行压缩/解压为所述第一通信设备和所述第二通信设备预先协商好的,或者为协议规定的,或者为用户配置的,本申请对此不作限定。
第四种实施方式:当第一通信设备通过以上第一种、第三种实施方式,或者其他方式,又或者自行确定数据包中每个组成部分对应的buffer类型之后,可以向第二通信设备发送第三指示信息,所述第三指示信息用于指示第一通信设备向第二通信设备发送的数据包(包含第二数据包)中至少一个组成部分对应的buffer类型;其中,任一个组成部分对应的buffer类型用于指示所述第二通信设备使用所述目标解压buffer中属于该buffer类型的buffer对该组成部分进行解压;任一个组成部分为以下任一项:(整个)数据包、数据包中的第一数据段、数据包中的第二数据段、数据包中的第一域、数据包中的第二域,数据包中第二域的第一数据段、数据包中第二域的第二数据段。
例如,在前述第三种压缩/解压方式中的第4种和第6种实现方式中,第一通信设备自行确定至少一个组成部分对应的buffer类型后,可以通过本实施方式,将解压策略(即每个组成部分对应哪种buffer类型进行解压)通过第三指示信息通知给第二通信设备。
可选的,所述第一通信设备可以在发送数据包之前向所述第二通信设备发送所述第三指示信息,还可以在采用该对应方式对数据包进行压缩后,还可以在压缩后的数据包中携带该第三指示信息。例如,所述一通信设备可以在第二数据包中携带该第三指示信息。
当第一通信设备在每个数据包中携带第三指示信息时,所述第二通信设备在接收到每个数据包时,可以根据该数据包中包含的第三指示信息,对该数据包中的每个组成部分使用对应的buffer类型进行解压。通过这种方式,第一通信设备可以以数据包为粒度动态调整针对每个数据包的压缩策略(即每个组成部分对应哪种buffer类型进行压缩),并且可以将对应的解压策略通知给第二通信设备,从而可以保证第二通信设备能够成功对接收到的数据包进行解压。因此,该实施方式可以进一步实现数据压缩的灵活性。
在一种实施方式中,压缩buffer配置信息或解压buffer配置信息可以指示针对动态buffer类型或静态buffer类型配置多个buffer。例如,第一通信设备可以针对某个组成部分进行压缩时,灵活地在属于该组成部分对应的buffer类型的多个buffer中选择一个buffer进行压缩;并且可以通知第二通信设备该组成部分具体采用哪个buffer压缩的(应使用哪个buffer进行解压)。
综上,以上步骤可以实现第一通信设备和第二通信设备之间传输的数据包的压缩和解压,保证数据包的传输效率。
S608-S611为目标压缩buffer和目标解压buffer同步更新的过程。
由于业务的变化,数据包的数据特征也会发生变化,之前配置的静态buffer的大小和静态数据内容,动态buffer的大小可能不再适应数据特征已经发生变化的数据包。如果目标压缩buffer和目标解压buffer不更新,很可能会降低数据包的压缩率,进而影响数据包的传输效率和资源利用率。综上,本申请实施例可以通过以下S608-S611,适应性同步调整目标压缩buffer和目标解压buffer,从而保证数据包的压缩率、数据包的传输效率和资源利用率。
S608:所述第一通信设备更新目标压缩buffer。具体的,S608具体可以包括以下至少一项或任意组合:调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容。
S609:所述第二通信设备更新目标解压buffer。与S608类似的,S609具体也可以包括以下至少一项或任意组合:调整所述目标解压buffer的大小,和/或,更新所述目标解压buffer存储的数据内容。
应注意,本申请不限定S608和S609的执行顺序。
与配置所述目标压缩buffer和所述目标解压buffer类似的,为了保证目标压缩buffer和目标解压buffer保持完全一致,因此,在通信系统中一般由同一设备触发更新。可选的,在本申请实施例中,所述目标压缩buffer和所述目标解压buffer可以由第一通信设备、第二通信设备,或者第三通信设备触发配置的。
可选的,触发更新目标压缩buffer和目标解压buffer的设备与配置目标压缩buffer和目标解压buffer的设备可以为同一设备,也可以为不同的设备,本申请对此不作限定。
基于此,第一通信设备和第二通信设备可以但不限于通过以下几种实施方式,更新目标压缩buffer和目标解压buffer。
第一种实施方式:第二通信设备触发更新目标解压buffer。
在本实施方式,第二通信设备可以根据数据压缩需求、数据特征、用户配置等,更新目标解压buffer。所述目标解压buffer的更新操作可以包括:调整所述目标解压buffer的大小,和/或,更新所述目标解压buffer存储的数据内容。
之后,为了保证目标压缩buffer和目标解压buffer保持完全一致,所述第二通信设备可以根据目标解压buffer的更新操作,生成第一buffer更新信息。然后所述第二通信设备通过S608a向第一通信设备发送所述第一buffer更新信息,即第一通信设备可以通过S608a接收来自所述第二通信设备的第一buffer更新信息。这样,在执行S608时,所述第一通信设备可以根据第一buffer更新信息,更新目标压缩buffer。
其中,所述第一buffer更新信息用于指示所述第一通信设备调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容。应注意,所述第一buffer更新信息所指示的更新操作应使更新后的目标压缩buffer与更新后的目标解压buffer一致。
第二种实施方式:第一通信设备触发更新压缩buffer。
在本实施方式中,第一通信设备可以根据数据压缩需求、数据特征、用户配置等,更新目标压缩buffer。所述目标压缩buffer的更新操作可以包括:调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容。
之后,为了保证目标压缩buffer和目标解压buffer保持完全一致,所述第一通信设备可以根据目标压缩buffer的更新动作,生成第二buffer更新信息。然后所述第一通信设备通过S609a向第二通信设备发送所述第二buffer更新信息,即第二通信设备可以通过S609a接收来自所述第一通信设备的第二buffer更新信息。这样,在执行S609时,所述第二通信设备可以根据第二buffer更新信息,更新目标解压buffer。
其中,所述第二buffer更新信息用于指示所述第二通信设备调整所述目标解压buffer的大小,和/或,更新所述目标解压buffer存储的数据内容。应注意,所述第二buffer更新信息所指示的更新操作应使更新后的目标解压buffer与更新后的目标压缩buffer一致。
第三种实施方式:第三通信设备触发更新压缩buffer。
在本实施方式中,第三通信设备可以根据数据压缩需求、数据特征、用户配置等,触发更新目标解压buffer和/或目标压缩buffer,即生成第一缓存更新信息和/或第二缓存更新信息。然后,第三通信设备通过S608a向第一通信设备发送第一缓存更新信息,和/或,通过S609a向第二通信设备发送第二缓存更新信息。
其中,所述第一buffer更新信息用于指示所述第一通信设备调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容。所述第二buffer更新信息用于指示所述第二通信设备调整所述目标解压buffer的大小,和/或,更新所述目标解压buffer存储的数据内容。应注意,所述第一buffer更新信息所指示的更新操作应与所述第二buffer更新信息所指示的更新操作完全一致,才能使更新后的目标解压buffer与更新后的目标压缩buffer一致。
可选的,当第三通信设备仅向第一通信设备发送第一缓存更新信息时,第一通信设备在接收到第一缓存更新信息后,还可以根据第一缓存更新信息所指示的更新操作,生成第二缓存更新信息,并通过S609a向第二通信设备发送第二缓存更新信息。
可选的,当第三通信设备仅向第二通信设备发送第二缓存更新信息时,第二通信设备在接收到第二缓存更新信息后,还可以根据第二缓存更新信息所指示的更新操作,生成第一缓存更新信息,并通过S608a向第一通信设备发送第一缓存更新信息。
第一通信设备可以通过S608a接收来自所述第三通信设备或第二通信设备的第一buffer更新信息。这样,在执行S608时,所述第一通信设备可以根据第一buffer更新信息,更新目标压缩buffer。
第二通信设备可以通过S609a接收来自所述第三通信设备或第一通信设备的第二buffer更新信息。这样,在执行S609时,所述第二通信设备可以根据第二buffer更新信息,更新目标解压buffer。
第四种实施方式:第四通信设备触发更新压缩buffer。本实施方式与第三种实施方式相同,具体过程可以参考第三种实施方式中的描述。不同的是,第四通信设备可以为除第一通信设备、第二通信设备、第三通信设备以外的其他通信设备,本申请对此不作限定。
在以上几种实施方式中,当第一通信设备是根据接收的其他通信设备(例如,第二通信设备、第三通信设备或第四通信设备)的第一buffer更新信息更新目标压缩buffer的情况下,在成功更新目标压缩buffer之后,第一通信设备还可以通过S608b向该其他通信设备发送第一buffer更新确认消息,以通知该其他通信设备目标压缩buffer已成功更新。
类似的,当第二通信设备是根据接收的其他通信设备(第一通信设备、第三通信设备或第四通信设备)的第二buffer更新信息更新目标解压buffer的情况下,在成功更新目标解压buffer之后,第二通信设备还可以通过S609b向该其他通信设备发送第二buffer更新确认消息,以通知该其他通信设备目标解压buffer已成功更新。
可选的,在以上几种实施方式中,所述第一buffer更新信息或所述第二buffer更新信息可以但不限于通过以下几种实现方式指示具体的更新操作:
第一种实现方式:当目标压缩buffer和目标解压buffer中包含静态buffer时,所述第一buffer更新信息或所述第二buffer更新信息中可以用于指示更新到该静态buffer的静态数据内容。
情况一:所述第一buffer更新信息或所述第二buffer更新信息可以指示更新到静态buffer的全部静态数据内容。此时,所述第一buffer更新信息或所述第二buffer更新信息中可以包含该静态buffer更新后的全部静态数据内容,又或者包含指示该全部静态数据内容的指示信息。
这样,第一通信设备可以根据接收到第一buffer更新信息指示的全部静态数据内容,更新目标压缩buffer中的静态buffer。同理,第二通信设备也可以根据接收到第二buffer更新信息指示的全部静态数据内容,更新目标解压buffer中的静态buffer。
情况二:所述第一buffer更新信息或所述第二buffer更新信息可以指示更新到该静态buffer的部分静态数据内容。此时,所述第一buffer更新信息或所述第二buffer更新信息中可以包含需要更新到静态buffer的数据段,又或者包含指示需要更新到静态buffer的数据段的指示信息。
另外,所述第一buffer更新信息或所述第二buffer更新信息中还可以指示位置偏移值(offset)。该位置偏移值可以是相对于该静态buffer的起始位置或结束位置的位置偏移。具体的,所述第一buffer更新信息或所述第二buffer更新信息中可以包含该位置偏移值,或者包含指示该位置偏移值的指示信息。
这样,第一通信设备可以根据接收到第一buffer更新信息指示位置偏移值和数据段,从目标压缩buffer中的静态buffer的该位置偏移值开始,将该数据段推入到该静态buffer中。同理,第二通信设备可以根据接收到第二buffer更新信息指示位置偏移值和数据段,从目标解压buffer中的静态buffer的该位置偏移值开始,将该数据段推入到该静态buffer中。
示例性的,参阅图7所示,第一buffer更新信息携带了需要更新到静态buffer的目标字符串,以及该目标字符串对应的位置偏移值(offset=0)(相对于该静态buffer的起始位置的位置偏移),则第一通信设备从该静态buffer的起始位置开始的N个字符替换为该目标字符串,其中,N为该目标字符串的长度。
第二种实现方式:当目标压缩buffer和目标解压buffer中包含静态buffer时,所述第一buffer更新信息或所述第二buffer更新信息中可以用于指示调整静态buffer的大小,以及大小调整后静态buffer中的静态数据内容。
情况一:所述第一buffer更新信息或所述第二buffer更新信息可以指示减小静态buffer的大小。此时,所述第一buffer更新信息或所述第二buffer更新信息中可以包含静态buffer的目标大小,或者包含指示该目标大小的指示信息;或者所述第一buffer更新信息或所述第二buffer更新信息中可以包含静态buffer的目标减值,或者包含指示该目标减值的指示信息。
可选的,第一buffer更新信息或所述第二buffer更新信息还可以指示减小静态buffer的方式,例如,从原静态buffer的起始位置或结束位置开始减小。
可选的,第一buffer更新信息或所述第二buffer更新信息还可以指示基于原静态buffer中的静态数据内容确定大小调整后静态buffer中的静态数据内容的方式。例如,保留原静态buffer中的前面目标大小的静态数据内容,或者保留原静态buffer中的最后目标大小的静态数据内容。
可选的,第一buffer更新信息或第二buffer更新信息中还可以包含大小调整后静态buffer中的静态数据内容。
情况二:所述第一buffer更新信息或所述第二buffer更新信息可以指示增大静态buffer的大小。此时,所述第一buffer更新信息或所述第二buffer更新信息中可以包含静态buffer的目标大小,或者包含指示该目标大小的指示信息;或者所述第一buffer更新信息或所述第二buffer更新信息中可以包含静态buffer的目标增值,或者包含指示该目标增值的指示信息。
可选的,第一buffer更新信息或所述第二buffer更新信息还可以指示增大静态buffer的方式,例如,从原静态buffer的起始位置或结束位置开始增大。
可选的,第一buffer更新信息或所述第二buffer更新信息还可以指示基于原静态buffer中的静态数据内容确定大小调整后静态buffer中的静态数据内容的方式。例如,保留原静态buffer中的静态数据内容,且静态buffer中增大部分存储的静态数据内容置为全1或全0。
又或者,所述第一buffer更新信息或所述第二buffer更新信息还可以包含或指示静态buffer中新增buffer部分存储的静态数据内容。
再或者,第一通信设备和第二通信设备默认静态buffer中新增buffer部分存储的静态数据内容置为全1或全0。
示例性的,参阅图8中的(1)所示,第一buffer更新信息指示静态buffer的大小由4kBytes缩小为2kBytes,则第一通信设备可以原静态buffer中最前面2KBytes的数据内容保持为更新后静态buffer中的数据内容。又例如,参阅图8中的(2)所示,第一buffer更新信息指示静态buffer的大小由2kBytes扩大为4kBytes,则第一通信设备可以将原静态buffer中的数据内容保持为更新后的静态buffer中前2kBytes内容,更新后的静态buffer中新增buffer部分重置为全0/1值。
第三种实现方式:当目标压缩buffer和目标解压buffer中包含动态buffer时,所述第一buffer更新信息或所述第二buffer更新信息中可以用于指示调整该动态buffer的大小,以及大小调整后动态buffer中的初始数据内容,具体描述可以参考第二种实现方式中调整静态buffer的大小的描述,此处不再赘述。
另外,在更新目标压缩buffer和目标解压buffer的过程,为了解决第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer不一致,导致数据包无法成功解压,最终导致数据包传输失败的问题,本申请实施例还可以通过以下几种实施方式解决:
第一种实施方式:在更新目标压缩buffer的过程中,由触发更新的设备指示停止对数据包进行压缩。本实施方式具体包括以下步骤:
S608c:当第一通信设备是根据接收的其他通信设备(例如,第二通信设备、第三通信设备或第四通信设备)的第一buffer更新信息的情况下,在执行S608a之前,所述第一通信设备还可以接收来自该其他通信设备的停止压缩指令。该停止压缩指令用于指示第一通信设备停止使用目标压缩buffer对数据包进行压缩。
在接收到该停止压缩指令后,所述第一通信设备根据所述停止压缩指令,可以但不限于通过以下方式停止根据所述目标压缩buffer对数据包进行压缩:
方式一:在接收到该停止压缩指令之后,若第一通信设备获取到新的数据包,那么所述第一通信设备可以缓存该数据包,待目标压缩buffer更新完成后,再使用更新后的目标压缩buffer对该数据包进行压缩。
方式二:在接收到该停止压缩指令之后,若第一通信设备获取到新的数据包,那么所述第一通信设备可以不对该数据包进行压缩,而是向第二通信设备发送该数据包。
S608d:在第一通信设备根据第一缓存更新信息更新目标压缩buffer之后,(可选的,在第一通信设备向该其他通信设备发送第一缓存更新确认消息之后)所述第一通信设备接收来自该其他通信设备的启动压缩指令。该启动压缩指令用于指示所述第一通信设备开始使用更新后的所述目标压缩buffer对数据包进行压缩。
应注意,在本实施方式中,S608d为可选步骤,即所述第一通信设备还可以在更新目标压缩buffer之后,直接开始使用更新后的所述目标压缩buffer对数据包进行压缩。
在本实施方式中,第二通信设备可以在更新目标解压buffer之后,即可以使用更新后的目标解压buffer对接收的数据包进行解压。这样,第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer会保持一致,从而保证数据包能够成功解压。
第二种实施方式:在更新目标压缩buffer的过程中,由触发更新的设备在第一buffer更新信息中指示使用更新后的所述目标压缩buffer进行压缩的数据包。本实施方式具体包括以下步骤:
S608c:当第一通信设备是根据接收的其他通信设备(例如,第二通信设备、第三通信设备或第四通信设备)的第一buffer更新信息的情况下,在执行S608a之前,所述第一通信设备还可以接收来自该其他通信设备的停止压缩指令。该停止压缩指令用于指示第一通信设备停止使用目标压缩buffer对数据包进行压缩。具体过程可以参考第一种实施方式对该步骤的描述,此处不再赘述。
可选的,S608c为可选的步骤。所述第一通信设备还可以在接收到第一buffer更新信息后,主动停止使用目标压缩buffer对数据包进行压缩。
另外,在所述第一buffer更新信息中还可以包含第四指示信息。所述第四指示信息用于指示使用更新后的所述目标压缩buffer进行压缩的数据包。所述第一通信设备可以在首次接收到该第四指示信息所指示的数据包时,更新目标压缩buffer,并使用更新后的目标压缩buffer对第四指示信息所指示的数据包进行压缩。例如,第一通信设备在后续步骤S610中使用更新后的目标压缩buffer压缩的第三数据包即为所述第四指示信息所指示的数据包。
进一步的,在所述第二buffer更新信息中还可以包含第五指示信息。所述第五指示信息用于指示使用更新后的所述目标解压buffer进行解压的数据包。所述第二通信设备可以在首次接收到该第五指示信息所指示的数据包时,更新目标解压buffer,并使用更新后的目标解压buffer对第五指示信息所指示的数据包进行解压。例如,第二通信设备在后续步骤S611接收的第四数据包即为该第五指示信息所指示的数据包。
需要说明的是,当第一buffer更新信息中包含第四指示消息,第二buffer更新信息中包含第五指示信息时,所述第四指示消息所指示的数据包与所述第五指示消息所指示的数据包承载相同的数据内容(即所述第五指示消息所指示的数据包为第四指示消息所指示的数据包压缩得到的)。
例如,所述第四指示信息可以包含用于可以携带开始使用更新后的目标压缩buffer进行压缩的数据包的起始序列号(sequence number,SN)或起始计数(count)值。这样,当第一通信设备获取到数据包的SN或count值大于或等于第四指示信息中包含的起始SN或起始count值时,所述第一通信设备使用更新后的目标压缩buffer对该数据包进行压缩。
又例如,所述第五指示信息也可以包含开始使用更新后的目标解压buffer进行解压的数据包的起始SN或起始计数值。这样,当第二通信设备接收到的数据包的SN或count值大于或等于第五指示信息中包含的起始SN或起始count值时,所述第二通信设备使用更新后的目标解压buffer对该数据包进行解压。应注意,第四指示信息中包含的起始SN或起始count值与第五指示信息中包含的起始SN或起始count值相同。
通过本实施方式,第二通信设备在更新目标解压buffer之后,即可以使用更新后的目标解压buffer对接收的数据包进行解压,或者使用更新后的目标解压buffer对接收的、第五指示信息所指示的数据包进行解压。这样,第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer会保持一致,从而保证数据包能够成功解压。
第三种实施方式:在更新目标压缩buffer的过程中,第一通信设备可以指示第二通信设备使用更新后的目标解压buffer。本实施方式具体包括以下步骤:
S608c:当第一通信设备是根据接收的其他通信设备(例如,第二通信设备、第三通信设备或第四通信设备)的第一buffer更新信息的情况下,在执行S608a之前,所述第一通信设备还可以接收来自该其他通信设备的停止压缩指令。该停止压缩指令用于指示第一通信设备停止使用目标压缩buffer对数据包进行压缩。具体过程可以参考第一种实施方式对该步骤的描述,此处不再赘述。
可选的,S608c为可选的步骤。所述第一通信设备还可以在接收到第一buffer更新信息后,主动停止使用目标压缩buffer对数据包进行压缩。
在一种实现方式中,所述第一通信设备可以自行确定更新目标压缩buffer的时间,并在更新目标压缩buffer之后,(可选的,在S608b或S608d之后)直接开始使用更新后的所述目标压缩buffer对数据包进行压缩,并向第二通信设备发送启动解压指令。所述启动解压指令用于指示第二通信设备开始使用更新后的所述目标解压buffer对接收的数据包进行解压。
通过本实现方式,所述第二通信设备可以在更新目标解压buffer,在接收到启动解压指令之后,可以使用更新后的目标解压buffer对接收的数据包进行解压。这样,第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer会保持一致,从而保证数据包能够成功解压。
在另一种实现方式中,所述第一通信设备可以自行确定更新目标压缩buffer的时间,并在更新目标压缩buffer之后,(可选的,在S608b或S608d之后)直接开始使用更新后的所述目标压缩buffer对数据包进行压缩,并在压缩后的数据包中携带第六指示信息。所述第六指示信息用于指示该数据包为所述第一通信设备使用更新后的所述目标压缩buffer进行压缩生成的,或者指示第二通信设备使用更新后的目标解压buffer对该数据包进行解压。
通过本实现方式,所述第二通信设备可以在更新目标解压buffer,在接收到包含第六指示信息的数据包时,可以使用更新后的目标解压buffer对接收的该数据包进行解压。这样,第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer会保持一致,从而保证数据包能够成功解压。
综上,以上步骤可以保证第一通信设备的目标压缩buffer和第二通信设备的目标解压buffer同步更新,并保持一致。进一步的,第一通信设备压缩时使用的目标压缩buffer与第二通信设备解压时使用的目标解压buffer会保持一致,从而保证数据包能够成功解压。
S610-S612为目标压缩buffer和目标解压buffer更新后传输数据包的过程。
S610:所述第一通信设备在获取第三数据包后,采用所述目标压缩方式根据更新后的所述目标压缩buffer对第三数据包进行压缩,生成第四数据包。
S611:所述第一通信设备向所述第二通信设备发送所述第四数据包。
S612:所述第二通信设备在接收来自所述第一通信设备的所述第四数据包后,采用所述目标解压方式根据更新后的所述目标解压buffer对所述第四数据包进行解压,生成第三数据包。
本过程的步骤,可以参考前述步骤S605-S607,以及前述几种压缩/解压方式中流程,此处不再展开描述。
还需要说明的是,在本申请实施例提供的方法中,当第一通信设备或第二通信设备的通信功能由另一个通信设备接替时,第一通信设备或第二通信设备还可以向该另一个通信设备发送自身维护的buffer的状态信息,以使该另一个通信设备能够快速地配置压缩buffer或解压buffer,从而可以避免重新配置buffer带来的信令开销和时延,能够尽快实现其通信功能,保证业务的连续性。
示例性的,在主备模式中,第一通信设备作为主设备运行异常的情况下,第一通信设备可以向备设备发送压缩buffer的状态信息,所述压缩buffer的状态信息用于指示当前目标压缩buffer的大小和/或存储的数据内容。这样,备设备可以快速地根据该压缩buffer的状态信息配置目标压缩buffer,进而可以接替第一通信设备,使用配置好的目标压缩buffer对数据包进行压缩,并向第二通信设备发送压缩后的数据包。
又例如,在主备模式中,第二通信设备作为主设备运行异常的情况下,第二通信设备也可以向备设备发送解压buffer的状态信息,所述解压buffer的状态信息用于指示当前目标解压buffer的大小和/或存储的数据内容。这样,备设备可以快速地根据该解压buffer的状态信息配置目标解压buffer,进而可以接替第二通信设备,使用配置好的目标解压buffer对接收的数据包进行解压。
再例如,在第一通信设备为基站的情况下,当其服务的对象(终端设备)发生小区切换,终端设备切换到目标基站时,第一通信设备还需要向目标基站发送压缩buffer的状态信息,所述压缩buffer的状态信息用于指示当前目标压缩buffer的大小和/或存储的数据内容。这样,目标基站可以快速地根据该压缩buffer的状态信息配置目标压缩buffer,进而可以接替源基站(即第一通信设备),使用配置好的目标压缩buffer对数据包进行压缩,并向第二通信设备发送压缩后的数据包。
又例如,在第二通信设备为基站的情况下,当其服务的对象(终端设备)发生小区切换,终端设备切换到目标基站时,第二通信设备还需要向目标基站发送解压buffer的状态信息,所述解压buffer的状态信息用于指示当前目标解压buffer的大小和/或存储的数据内容。这样,目标基站可以快速地根据该解压buffer的状态信息配置目标解压buffer,进而可以接替源基站(即第二通信设备),使用配置好的目标解压buffer对接收的数据包进行解压。
在本过程中,作为接替第一通信设备的通信设备也可以对配置的目标压缩buffer的大小和/或存储的数据内容进行更新、清空或维持,更新后可以通知对端(第二通信设备)对目标解压buffer进行更新、清空或维持。
同理,作为接替第二通信设备的通信设备也可以对配置的目标解压buffer的大小和/或存储的数据内容进行更新、清空或维持,更新后可以通知对端(第一通信设备)对目标压缩buffer进行更新、清空或维持。
其中,通知对端更新目标解压buffer或目标压缩buffer的过程可以参考以上步骤S608-S611中的过程。
最后,应注意的是,在本申请实施例提供的压缩配置信息、解压配置信息等一些包含多项内容的信息,这些内容可以同时发送,也可以分批次发送;另外,一个信息中包含的这些内容可以由同一个通信设备配置,也可以由不同的通信设备配置,本申请对此不作限定。
应了解,本申请实施例并不对本申请提供的通信方法构成限定,在本实施例的基础上增加步骤,减少步骤,或者在某个步骤的基础上进行改动的其他实施例也在本申请提供的方法的范围内。
综上,本申请实施例提供了一种通信方法,通过该方法通信系统可以对压缩侧使用的目标压缩方式,以及目标压缩buffer进行配置;相应的,也可以对解压侧使用的目标解压方式,以及目标解压buffer进行配置。因此,通过本方法,通信系统可以根据业务特征、数据包的数据特征,灵活地配置压缩侧的目标压缩方式、解压侧的解压方式,以及配置压缩侧的目标压缩buffer、解压侧的目标解压buffer,从而可以提高通信系统中数据压缩的灵活性,进而可以提高数据压缩效率,最终提高通信系统的数据传输效率和资源利用率。
基于以上图6所示的实施例,针对不同的阶段,本申请还提供了以下几种实例。其中,以下实例是5G移动通信系统中的UE和gNB为例进行说明的。在以下实例中,由gNB作为配置管理设备,负责配置压缩方式、压缩buffer等,以及负责更新buffer等。下面参考图9-12,分别对不同阶段中UE和gNB的执行步骤进行详细说明。
图9为gNB配置压缩方式、压缩buffer的过程。
S901:UE向gNB发送压缩能力信息,以通知gNB自身支持的压缩方式。
可选的,UE可以通过UE能力消息(例如,UECapabilityInformation消息)向gNB上报压缩能力信息。
所述压缩能力信息可以指示以下压缩方式中的至少一种:基于动态buffer的压缩方式、基于静态buffer的压缩方式,基于静态buffer和动态buffer的增强压缩方式(简称为增强压缩方式)。
本实例以所述压缩能力信息指示UE支持增强压缩方式为例进行说明。
在一种实现方式中,UE能力消息中可以增加一个扩展字段,用于指示UE支持的压缩方式。例如,UECapabilityInformation消息中包含eDataCompression字段时,或包含eDataCompression字段且为该eDataCompression字段取值为第一取值(如取值为“true”)时,表示UE支持增强压缩机制;反之,当UECapabilityInformation消息中未包含eDataCompression字段,或者包含eDataCompression字段且该eDataCompression字段取值为第二取值(如取值为“false”)时,表示UE不支持增强压缩机制。
在本实现方式中,增强压缩机制可以针对于指定数据传输方向。
例如,增强压缩机制仅针对上行方向时,UE上报指示支持增强压缩方式的压缩能力信息时,表示UE仅支持配置该增强压缩方式进行上行数据压缩。
又例如,增强压缩机制仅针对于下行方向时,UE上报指示支持增强压缩方式的压缩能力信息时,表示UE仅支持配置该增强压缩方式进行下行数据解压缩。
再例如,增强压缩机制可以适用于上行方向和下行方向时,UE上报指示支持增强压缩方式的压缩能力信息时,表示UE支持配置该增强压缩方式进行上行数据压缩和下行数据解压缩。
在另一种实现方式中,UE可以在UE能力信息中对上行增强压缩方式和下行增强压缩方式分别上报能力信息。
例如,UECapabilityInformation消息中包含eUplinkDataCompression字段时,或包含eUplinkDataCompression字段且为该eUplinkDataCompression字段取值为第一取值(如取值为“true”)时,表示UE支持上行方向的增强压缩方式;反之,表示UE不支持上行方向的增强压缩方式。
又例如,UECapabilityInformation消息中包含eDownlinkDataCompression字段时,或包含eDownlinkDataCompression字段且该eDownlinkDataCompression字段取值为第一取值(如取值为“true”),时表示UE支持下行方向的增强压缩机制;反之,表示UE不支持下行方向的增强压缩机制。
在又一种实施方式中,S901中的压缩能力信息还可以包含如下能力信息中的一种或多种:
UE支持配置每种压缩方式(即增强压缩方式)的DRB的总个数(和标识);
UE/每个DRB所支持的配置压缩buffer(静态buffer+动态buffer)的总大小阈值;
UE/每个DRB所支持配置静态buffer的大小阈值;
UE/每个DRB所支持配置动态buffer的大小阈值。
S902:gNB根据UE上报的压缩能力信息,为UE配置压缩方式以及压缩buffer。gNB通过压缩配置信息将压缩方式以及压缩buffer的信息通知给UE。
应注意,gNB为UE配置的压缩buffer与为自身为该UE维护的解压buffer完全一致。
可选的,gNB可以通过RRC消息向UE发送所述压缩配置信息。
示例性的,该压缩配置信息可以指示为UE或UE的目标DRB配置的压缩方式为以下压缩方式中的一种:基于动态buffer的压缩方式、基于静态buffer的压缩方式,增强压缩方式。
以下仅以压缩配置信息指示为UE或UE的目标DRB配置增强压缩方式为例,即使能增强压缩方式。gNB可以基于UE上报的压缩能力信息,为UE或UE的目标DRB配置上行方向和/或下行方向的增强压缩机制。
当gNB为UE或UE的目标DRB配置增强压缩方式时,还可以通过压缩配置消息指示压缩buffer中静态buffer的大小和动态buffer的大小。例如:gNB分别指示两种buffer类型的大小(以Bytes或KBytes为单位的大小值);或gNB指示一个总压缩buffer大小以及一个比例值,其中,总压缩buffer为静态buffer和动态buffer的总大小,该比例值为静态buffer或动态buffer在总buffer大小中所占的比例,或该比例值为静态buffer的大小与动态buffer大小的比值。
可选的,gNB还可以在压缩配置信息中分别指示静态buffer和动态buffer的初始状态信息,即初始推入静态buffer的字典和初始推入动态buffer的字典。例如,任一种buffer类型可以配置为如下初始状态:初始数据内容为空、初始数据内容为1,或初始数据内容采用预配置的字典。
示例性的,gNB可以将在数据包中高频出现的数据内容设置为静态buffer的预配置字典,这样,UE在使用静态buffer中存储的数据内容对数据包进行压缩时,可以提高数据包的压缩率。
通过本实例,UE可以向gNB上报压缩能力信息,以通知gNB自身的压缩能力,从而使gNB可以根据UE的压缩能力,为UE配置压缩方式和压缩buffer。
图10为UE和gNB之间传输数据包的过程。本实例以gNB为UE的目标DRB配置上行方向的增强压缩方式为例进行说明。
S1001:UE在获得目标DRB的第一数据包后,采用增强压缩方式根据压缩buffer中的静态buffer和动态buffer对所述第一数据包进行压缩,生成第二数据包。
S1002:UE通过目标DRB向gNB发送所述第二数据包。
S1003:gNB在通过目标DRB接收来自UE的所述第二数据包后,采用增强解压方式解压buffer中的静态buffer和动态buffer对所述第二数据包进行解压,生成第一数据包。
在本申请实施例中,UE的压缩过程,以及gNB的解压过程可以参考前述第3种增强压缩/解压方式中任一种实现方式中的相应流程,此处不再展开描述。
通过本实例,UE可以使用静态buffer和动态buffer结合的增强压缩方式对数据包进行压缩,可以提高UE对数据包进行压缩处理的灵活性。另外,由于UE采用该增强压缩方式进行数据包压缩,gNB可以将在数据包中高频出现的数据内容作为静态数据内容配置到静态buffer中,这样UE在使用静态buffer对数据包进行压缩时,可以提高数据包的压缩率。
图11为gNB更新压缩buffer的过程。为了适应业务的变化,压缩buffer中的静态buffer需要进行更新,以保证数据包的压缩率。本实例以gNB更新UE的压缩buffer中的静态buffer为例进行说明。应注意,本实例可以用于更新前述第二种和第三种压缩/解压方式中的静态buffer。
S1101:gNB向UE发送停止压缩指令。
在一种实现方式中,该停止压缩指令可以通过RRC消息承载。例如,当具体的压缩操作是UE的分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)实体执行时,当UE的RRC实体接收到该指令后,RRC实体通知PDCP实体停止压缩操作。
在另一种实现方式中,该停止压缩指令也可以通过媒介访问控制(medium accesscontrol,MAC)控制元素(control element,CE)承载。当UE接收到该MAC CE后,通知到PDCP实体停止压缩操作。
在又一种实现方式中,该停止压缩指令还可以通过PDCP控制(control)协议数据单元(protocol data unit,PDU),或无线链路控制(radio link control,RLC)controlPDU进行承载,或下行控制信息(downlink control information,DCI)承载。
可选的,该停止压缩指令中可以携带DRB标识或逻辑信道(logical channel,LCH)标识,用于指示UE针对该DRB标识对应的目标DRB或LCH标识关联的目标DRB中的数据包停止压缩。
其中,DRB标识可以是DRB ID,或者UE的所有DRB中已配置支持压缩操作的至少一个DRB按照DRB ID升序或降序排列之后的索引值(例如DRB 3,DRB 5,DRB 6配置支持压缩操作,则可以分别用index 1,index2,index3作为对应的DRB标识)。类似的,LCH标识可以是LCH ID,或者UE的所有DRB中已配置支持压缩操作的至少一个DRB按照关联的LCH ID升序或降序排列之后的索引值。
UE接收到该停止压缩指令后即停止对数据包进行压缩处理操作,后续数据包可以不进行压缩处理操作即可发送给gNB。例如UE可以在数据包的压缩包头中指示该数据包为非压缩数据包。
S1102:(可选步骤)UE向gNB发送停止压缩确认消息。该消息用于通知gNB UE已成功接收到停止压缩指令并停止进行数据压缩。
可选的,该停止压缩确认消息可以通过RRC消息承载,也可以通过PDCP controlPDU,或RLC control PDU,或MAC CE,或上行控制信息(uplink control information,UCI)承载。
S1103:gNB向UE发送buffer更新信息。
可选的,所述buffer更新信息令可以通过RRC消息、PDCP control PDU、RLCcontrol PDU,或MAC CE等消息进行承载。
可选的,buffer更新信息可以指示更新静态buffer的大小和/或静态buffer中的静态数据内容,具体可以参考图6所示的实施例中更新buffer的过程中的描述。
可选的,所述buffer更新信息中可以包括需要更新到静态buffer的全部静态数据内容。UE接收到该buffer更新信息后,可以将buffer更新信息中包含的全部静态数据内容,更新至静态buffer中。
可选的,所述buffer更新信息中可以包括需要更新到静态buffer的部分静态数据内容,以及位置偏移值(offset)。该位置偏移值是相对于静态buffer的起始位置或结束位置的位置偏移值。这样,UE即可根据该位置偏移值,在静态buffer中找到起始更新位置,然后在该起始更新位置开始将该部分静态数据内容更新至静态buffer中。
例如,所述buffer更新信息中可以包括需要更新到静态buffer的字符串,以及位置偏移值。当UE接收到该指令后,将静态buffer中从offset位置开始的字符内容替换为该buffer更新信息中的字符串,具体过程可以参考图7所示。
S1104:(可选步骤)UE向gNB发送buffer更新确认消息。该消息用于告知gNB UE已成功进行了buffer更新操作。
可选的,该buffer更新确认消息可以通过RRC消息承载,也可以通过PDCP controlPDU,或RLC control PDU,或MAC CE进行承载。
S1105:gNB向UE发送启动压缩指令。
可选的,该启动压缩指令可以通过RRC消息、PDCP control PDU、RLC controlPDU、MAC CE,或DCI等进行承载。
可选的,与停止压缩指令类似的,该启动压缩指令中也可以携带DRB标识,或LCH标识,用于指示UE可以针对该DRB标识对应的目标DRB或LCH标识关联的目标DRB中的数据包开始压缩。
UE接收到该启动压缩指令后,即可使用更新后的压缩buffer(包含更新后的静态buffer)开始对目标DRB中的数据包进行压缩。
S1106:(可选步骤)UE向gNB发送启动压缩确认消息。该指令用于告知gNB UE已成功接收了启动压缩指令,并开始进行压缩操作。
可选的,该启动压缩确认消息可以通过RRC消息、PDCP control PDU、RLC controlPDU、MAC CE,或UCI等进行承载。
应注意,图11所示的过程是以UE作为压缩侧,gNB作为解压侧来描述的。如果gNB作为压缩侧,UE作为解压侧,则可以无需步骤1101、1102、1105,以及1106,即gNB自行控制停止/启动压缩操作即可,无需告知给UE。UE接收到1103的buffer更新指令,按照1103的描述对解压buffer中的静态buffer进行更新即可。
此外,上述过程还可以用于更改静态buffer和/或动态buffer的大小。以更改静态buffer的大小为例:
在1103中发送的buffer更新指令中,gNB可以指示新的静态buffer的大小,对于大小更改过的静态buffer的静态数据内容,可以重置为全0/1值,也可以利用原静态buffer中存储的数据内容进行填充,具体方式可以参考图6所示的实施例中S608-S611中的描述,以及图8所示,此处不再赘述。
基于图11所示的实例,本申请还提供了另外几种更新压缩buffer的实例:
在一个实例中,相对于图11所示的示例,不同的是,无需步骤1101、1102、1105,以及1106,即进行buffer更新操作过程中UE无需停止压缩操作。具体的,在1103中,gNB向UE发送的buffer更新指令中,还可以携带数据包的SN或count值,指示UE从该SN或count值对应的PDCP SDU开始,根据buffer更新信息执行buffer更新操作,并对后续的PDCP SDU利用更新后的压缩buffer执行压缩操作。
在一个示例中,相对于图11所示的示例,不同的是,无需步骤1101、1102、1105,以及1106,也无需在buffer更新信息中携带SN或count值,而是UE可以自行选择执行buffer更新的时刻,更新完成后,使用更新后的压缩buffer对数据包进行压缩;并且通过在该数据包中携带指示字段告知gNB该数据包是使用更新后的压缩buffer进行压缩的。
在一种实现方式中,UE可以在数据包的PDCP头或压缩头中携带1比特的指示字段U。当gNB接收的当前数据包中U字段的取值与前一个数据包(不考虑SN翻转时,SN小于且最接近当前数据包的接收数据包)中U字段的取值相比发生了翻转,则表示UE使用更新后的压缩buffer对该当前数据包进行压缩;如果当前数据包中的U字段的取值与前一个数据包中U字段的取值相比没有翻转,则表示UE没有使用更新后的压缩buffer对该当前数据包进行压缩。
图12为UE从源gNB切换到目标gNB过程中,目标gNB可以获知解压buffer的状态。应注意,本实例可以用于前述三种压缩/解压方式中的压缩buffer或解压buffer。
S1201:在UE从源gNB切换到目标gNB过程中,源gNB可以向目标gNB发送buffer的状态信息。所述buffer的状态信息指示当前所述源gNB侧维护的解压buffer的大小和/或存储的数据内容。
该步骤用于通知目标gNB源gNB侧维护的解压buffer的状态,以使目标gNB可以快速地根据该buffer的状态信息,在本地配置大小和数据内容相同的解压buffer,从而可以接替源gNB的解压工作。
S1202:目标gNB向UE发送切换命令(Handover command)以通知UE切换成功。可选的,目标gNB可以在切换命令中携带buffer状态指示,以指示UE侧的压缩buffer的状态。
可选的,目标gNB可以在获取源gNB的buffer的状态信息,可以决定是否需要对解压buffer的内容进行更新、清空或维持。目标gNB决定对解压buffer进行更新、清空或维持,那么为了使解压buffer和压缩buffer保持完全一致,目标gNB还可以通过该buffer状态指示来指示UE来对压缩buffer执行相同的处理。
例如,Handover command中携带了bufferContinue字段时,指示UE维持当前压缩buffer的状态不变;否则指示UE将当前压缩buffer中的数据内容进行重置(例如置为全0/1)。
需要说明的是,以上过程是以UE为压缩侧,gNB为解压侧来描述的。若gNB是压缩侧,该buffer的状态信息则指示当前所述源gNB侧维护的压缩buffer的大小和/或存储的数据内容。此外。上述过程可以针对整个解压buffer或压缩buffer执行,来可以针对解压buffer和压缩buffer中的一种buffer类型(静态buffer或动态buffer)执行,本申请对此不作限定。
例如,本实例可以用于前述第二种和第三种压缩/解压方式中的静态buffer。又例如,本实例还可以用于前述第一种和第三种压缩/解压方式中的动态buffer;并且,在一般情况下,目标gNB可以重置动态buffer中的数据内容,以保证压缩侧和解压侧的动态buffer一致。
需要说明的是,在图6,图9-12所示的具体实施例中,可以选择部分步骤进行实施,还可以调整图示中步骤的顺序进行实施,本申请对此不做限定。应理解,执行图示中的部分步骤、调整步骤的顺序或相互结合进行具体实施,均落在本申请的保护范围内。
可以理解的是,为了实现上述实施例中功能,第一通信设备和第二通信设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
基于相同的技术构思,本申请还提供了一种通信装置,该装置的结构如图13所示,包括通信单元1301和处理单元1302。所述通信装置1300可以应用于图5所示的通信系统中建立通信连接的两个通信设备,并可以实现以上实施例以及实例提供的通信方法。可选的,所述通信装置1300的物理表现形式可以为一种通信设备,例如核心网设备、终端设备、AN设备等;或者所述通信装置可以能够实现通信设备的功能的其他装置,例如通信设备内部的处理器或芯片等。具体的,该通信装置1300可以为现场可编程门阵列(field-programmablegate array,FPGA)、复杂可编程逻辑器件(complex programmable logic device,CPLD)、专用集成电路(application specific intergrated circuits,ASIC),或片上系统(System on a chip,SOC)等一些可编程的芯片。
下面对所述装置1300中的各个单元的功能进行介绍。
所述通信单元1301,用于接收和发送数据。
当所述通信装置1300应用于通过物理连接实现通信的通信设备(例如核心网设备、服务器等)时,所述通信单元1301可以通过物理接口、通信模块、通信接口、输入输出接口实现。所述通信装置1300可以通过该通信单元1301连接网线或电缆,进而与其他设备建立物理连接。
当所述通信装置1300应用于通过无线连接实现通信的通信设备(例如终端设备、AN设备等)时,所述通信单元1301可以通过收发器实现,例如,移动通信模块。
在一种实施方式中,所述通信装置应用于图6所示的实施例中的第一通信设备(即压缩侧)。所述处理单元1302,用于:
获取压缩配置信息;其中,所述压缩配置信息包含:压缩方式指示信息和压缩缓存buffer配置信息,所述压缩方式指示信息用于指示所述第一通信设备对数据包进行压缩处理的目标压缩方式,所述压缩buffer配置信息用于配置目标压缩buffer;
根据所述压缩buffer配置信息,对所述目标压缩buffer进行配置;
在获取第一数据包后,采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包;
通过所述通信单元1301向第二通信设备发送所述第二数据包。
在一种实现方式中,所述目标压缩方式为基于动态buffer的压缩方式;所述目标压缩buffer为动态buffer;
所述处理单元1302,在采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包时,具体用于:
根据所述第一数据包中包含的数据内容和所述动态压缩buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包;
根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容。
在一种实现方式中,所述压缩buffer配置信息用于指示所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容。
在一种实现方式中,所述目标压缩方式为基于静态buffer的压缩方式;所述目标压缩buffer为静态buffer;
所述处理单元1302,在采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包时,具体用于:
根据所述第一数据包中包含的数据内容和所述静态buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包。
在一种实现方式中,所述压缩buffer配置信息用于指示所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
在一种实现方式中,所述目标压缩方式为基于静态buffer和动态buffer的增强压缩方式;所述目标压缩buffer包含静态buffer和动态buffer;
所述处理单元1302,在采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包时,具体用于:
根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域包含的数据内容和所述动态buffer中存储的数据内容,对所述第二域进行压缩,生成压缩后的所述第二域;其中,所述第一数据包由所述第一域和所述第二域组成;根据压缩后的所述第一域和压缩后的所述第二域,组成所述第二数据包;根据所述第一数据包中所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域包含的数据内容和组合buffer中存储的数据内容,对所述第二域进行压缩,生成压缩后的所述第二域;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成,所述第一数据包由所述第一域和所述第二域组成;根据压缩后的所述第一域和压缩后的所述第二域,组成所述第二数据包;根据所述第一数据包中所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域的第一数据段包含的数据内容和所述静态buffer中存储的数据内容,对所述第一数据段进行压缩,生成压缩后的所述第一数据段;根据所述第一数据包中所述第二域的第二数据段包含的数据内容和所述动态buffer中存储的数据内容,对所述第二数据段进行压缩,生成压缩后的所述第二数据段;其中,所述第一数据包由所述第一域和所述第二域组成,所述第二域由所述第一数据段和所述第二数据段组成;根据压缩后的所述第一域、压缩后的所述第一数据段,以及压缩后的所述第二数据段,组成所述第二数据包;根据所述第一数据包中所述第二域的所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域包含的数据内容和第一buffer中存储的数据内容,对所述第二域进行压缩,生成压缩后的所述第二域;其中,所述第一buffer为所述静态buffer或所述动态buffer,所述第一数据包由所述第一域和所述第二域组成;根据压缩后的所述第一域和压缩后的所述第二域,组成所述第二数据包;当所述第一压缩buffer为所述动态buffer时,根据所述第一数据包中所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中包含的数据内容和组合buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成;根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中包含的数据内容和第一buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包;其中,所述第一buffer为所述静态buffer或所述动态buffer;当所述第一压缩buffer为所述动态buffer时,根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中的第一数据段包含的数据内容和第一buffer中存储的数据内容,对第一数据段进行压缩,生成压缩后的所述第一数据段;根据所述第一数据包中的第二数据段包含的数据内容和第二buffer中存储的数据内容,对所述第二数据段进行压缩,生成压缩后的所述第二数据段;其中,所述第一buffer为所述压缩buffer中的所述静态buffer,所述第二buffer为所述压缩buffer中的所述动态buffer;又或者所述第一buffer为所述压缩buffer中的所述动态buffer,所述第二buffer为所述压缩buffer中的所述静态buffer;所述第一数据包由所述第一数据段和所述第二数据段等至少两个数据段组成;根据压缩后的所述第一数据段,以及压缩后的所述第二数据段,组成第二数据包;当所述第一buffer为所述动态buffer时,根据所述第一数据包中所述第一数据段包含的数据内容,更新所述动态buffer中存储的数据内容;当所述第二buffer为所述动态buffer时,根据所述第一数据包中的所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容。
在一种实现方式中,所述压缩配置信息中还包括:第一指示信息,所述第一指示信息用于指示数据包中至少一个第一组成部分对应的第一buffer类型;
其中,任一个第一组成部分对应的第一buffer类型用于指示所述第一通信设备使用所述目标压缩buffer中属于所述第一buffer类型的buffer对所述第一组成部分进行压缩;任一个第一组成部分为以下任一项:数据包、数据包中的第一数据段、数据包中的第二数据段、数据包中的第一域、数据包中的第二域、数据包中第二域的第一数据段、数据包中第二域的第二数据段。
在一种实现方式中,所述处理单元1302,还用于:
通过所述通信单元1301向所述第二通信设备发送第二指示信息,所述第二指示用于指示所述第二数据包中至少一个第二组成部分对应的第二buffer类型;
其中,任一个第二组成部分对应的第二buffer类型用于指示所述第二通信设备使用所述第二buffer类型的buffer对所述第二组成部分进行解压;任一个第二组成部分为以下任一项:所述第二数据包、所述第二数据包中的第一数据段、所述第二数据包中的第二数据段、所述第二数据包中的第一域、所述第二数据包中的第二域,所述第二数据包中第二域的第一数据段、所述第二数据包中第二域的第二数据段。
在一种实现方式中,所述第一域为包头,所述第二域为有效载荷;或者所述第一域为有效载荷,所述第二域为包头。
在一种实现方式中,所述压缩buffer配置信息用于指示:所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容,以及所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
在一种实现方式中,所述处理单元1302,在获取压缩配置信息时,具体用于:
通过所述通信单元1301接收来自所述第二通信设备或第三通信设备的所述压缩配置信息;或者
获取保存的所述压缩配置信息。
在一种实现方式中,所述处理单元1302,还用于:
在通过所述通信单元1301接收来自所述第二通信设备或第三通信设备的所述压缩配置信息之前,通过所述通信单元1301向所述第二通信设备或所述第三通信设备发送压缩能力信息,所述压缩能力信息用于表示所述第一通信设备的压缩能力。
在一种实现方式中,所述压缩能力信息包括以下至少一项:
支持的压缩方式、能够进行压缩处理的数据传输方向、支持配置压缩处理的无线承载的数量或信息、支持配置压缩buffer的总大小阈值、支持配置每种buffer类型的buffer的大小阈值。
在一种实现方式中,所述处理单元1302,还用于:
通过所述通信单元1301接收来自所述第二通信设备或所述第三通信设备的buffer更新信息,所述buffer更新信息用于调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容;
根据所述buffer更新信息,更新所述目标压缩buffer;
在获取第三数据包后,采用所述目标压缩方式根据更新后的所述目标压缩buffer对所述第三数据包进行压缩,生成第四数据包;
通过所述通信单元1301向所述第二通信设备发送所述第四数据包。
在一种实现方式中,所述处理单元1302,还用于:
在通过所述通信单元1301接收来自所述第二通信设备或所述第三通信设备的buffer更新信息之前,通过所述通信单元1301接收来自所述第二通信设备或所述第三通信设备的停止压缩指令;
根据所述停止压缩指令,停止根据所述目标压缩buffer对数据包进行压缩;
在采用所述目标压缩方式根据更新后的所述目标压缩buffer对所述第三数据包进行压缩之前,通过所述通信单元1301接收来自所述第二通信设备或所述第三通信设备的启动压缩指令。
在一种实现方式中,所述buffer更新信息中还包括:第三指示信息;所述第三指示信息用于指示使用更新后的所述目标压缩buffer进行压缩的数据包;
所述第三数据包为所述第三指示信息所指示的数据包。
在一种实现方式中,所述第四数据包中还包括第四指示信息,所述第四指示信息用于指示所述第四数据包为所述第一通信设备使用更新后的所述目标压缩buffer进行压缩生成的。
在一种实现方式中,所述第一通信设备为终端设备,所述第二通信设备为基站;或者
所述第一通信设备为基站,所述第二通信设备为终端设备;或者
所述第一通信设备和所述第二通信设备为不同的终端设备;或者
所述第一通信设备为终端设备,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为终端设备;或者
所述第一通信设备为基站,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为基站;
所述第一通信设备和所述第二通信设备为不同的核心网设备。
在一种实现方式中,当所述第一通信设备为基站,接入所述基站的终端设备切换到目标基站时,所述处理单元1302,还用于:
通过所述通信单元1301向所述目标基站发送压缩buffer的状态信息,所述压缩buffer的状态信息用于指示当前所述目标压缩buffer的大小和/或存储的数据内容。
在一种实现方式中,当所述第一通信设备为终端设备,所述终端设备切换到目标基站时,所述处理单元1302,还用于:
通过所述通信单元1301接收来自所述目标基站的第五指示信息,所述第五指示信息用于指示清空或维持所述目标压缩buffer,或者调整所述目标压缩buffer的大小,或者更新所述目标压缩buffer存储的数据内容。
在一种实施方式中,所述通信装置应用于图6所述的实施例中的第二通信设备(即解压侧)。所述处理单元1302,用于:
获取解压配置信息;其中,所述解压配置信息包含:解压方式指示信息和解压缓存buffer配置信息,其中,所述解压方式指示信息用于指示所述第二通信设备对数据包进行解压处理的目标解压方式,所述解压buffer配置信息用于配置目标解压buffer;
根据所述解压buffer配置信息,对所述目标解压buffer进行配置;
在通过所述通信单元1301接收来自第一通信设备的第二数据包后,采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包;其中,所述第二数据包为所述第一通信设备对所述第一数据包进行压缩生成的。
在一种实现方式中,所述目标解压方式为基于动态buffer的解压方式;所述目标解压buffer为动态buffer;
所述处理单元1302,在采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包时,具体用于:
根据所述第二数据包中包含的数据内容和所述动态buffer中存储的数据内容,对所述第二数据包进行解压,生成所述第一数据包;
根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容。
在一种实现方式中,所述解压buffer配置信息用于指示所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容。
在一种实现方式中,所述目标解压方式为基于静态buffer的解压方式;所述目标解压buffer为静态buffer;
所述处理单元1302,在采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包时,具体用于:
根据所述第二数据包中包含的数据内容和所述静态buffer中存储的数据内容,对所述第二数据包进行解压,生成第一数据包。
在一种实现方式中,所述解压buffer配置信息用于指示所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
在一种实现方式中,所述目标解压方式为基于静态buffer和动态buffer的增强解压方式;所述目标解压buffer包含静态buffer和动态buffer;
所述处理单元1302,在采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包时,具体用于:
根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域包含的数据内容和所述动态buffer中存储的数据内容,对所述第二域进行解压,生成解压后的所述第二域;其中,所述第二数据包由所述第一域和所述第二域组成;根据解压后的所述第一域和解压后的所述第二域,组成所述第一数据包;根据解压后的所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域包含的数据内容和组合buffer中存储的数据内容,对所述第二域进行解压,生成解压后的所述第二域;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成,所述第二数据包由所述第一域和所述第二域组成;根据解压后的所述第一域和解压后的所述第二域,组成所述第一数据包;根据解压后的所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域的第一数据段包含的数据内容和所述静态buffer中存储的数据内容,对所述第一数据段进行解压,生成解压后的所述第一数据段;根据所述第二数据包中所述第二域的第二数据段包含的数据内容和所述动态buffer中存储的数据内容,对所述第二数据段进行解压,生成解压后的所述第二数据段;其中,所述第二数据包由所述第一域和所述第二域组成,所述第二域由所述第一数据段和所述第二数据段组成;根据解压后的所述第一域、解压后的所述第一数据段,以及解压后的所述第二数据段,组成所述第一数据包;根据解压后的所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域包含的数据内容和第一buffer中存储的数据内容,对所述第二域进行解压,生成解压后的所述第二域;其中,所述第一buffer为所述静态buffer或所述动态buffer,所述第一数据包由所述第一域和所述第二域组成;根据解压后的所述第一域和解压后的所述第二域,组成所述第一数据包;当所述第一buffer为所述动态buffer时,根据解压后的所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中包含的数据内容和组合buffer中存储的数据内容,对所述第二数据包进行解压,生成所述第一数据包;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成;根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中包含的数据内容和第一buffer中存储的数据内容,对所述第二数据包进行解压,生成所述第一数据包;其中,所述第一buffer为所述静态buffer或所述动态buffer;当所述第一buffer为所述动态buffer时,根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中的第一数据段包含的数据内容和第一buffer中存储的数据内容,对第一数据段进行解压,生成解压后的所述第一数据段;根据所述第一数据包中的第二数据段包含的数据内容和第二buffer中存储的数据内容,对所述第二数据段进行解压,生成解压后的所述第二数据段;其中,所述第一buffer为所述解压buffer中的所述静态buffer,所述第二buffer为所述解压buffer中的所述动态buffer;又或者所述第一buffer为所述解压buffer中的所述动态buffer,所述第二buffer为所述解压buffer中的所述静态buffer;所述第二数据包由所述第一数据段和所述第二数据段等至少两个数据段组成;根据解压后的所述第一域、解压后的所述第一数据段,以及解压后的所述第二数据段,组成第二数据包;当所述第一buffer为所述动态buffer时,根据解压后的所述第一数据段包含的数据内容,更新所述动态buffer中存储的数据内容;当所述第二buffer为所述动态buffer时,根据解压后的所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容。
在一种实现方式中,所述解压配置信息中还包括:第六指示信息,所述第六指示信息用于指示数据包中至少一个第三组成部分对应的第三buffer类型;
其中,任一个第三组成部分对应的第三buffer类型用于指示所述第二通信设备使用所述目标解压buffer中属于所述第三buffer类型的buffer对所述第三组成部分进行解压;任一个第三组成部分为以下任一项:数据包、数据包中的第一数据段、数据包中的第二数据段、数据包中的第一域、数据包中的第二域、数据包中第二域的第一数据段、数据包中第二域的第二数据段。
在一种实现方式中,所述处理单元1302,还用于:
通过所述通信单元1301接收来自所述第一通信设备的第二指示信息,所述第二指示用于指示所述第二数据包中至少一个第二组成部分对应的第二buffer类型;
其中,任一个第二组成部分对应的第二buffer类型用于指示所述第二通信设备使用所述目标解压buffer中属于所述第二buffer类型的buffer对所述第二组成部分进行解压;任一个第二组成部分为以下任一项:所述第二数据包、所述第二数据包中的第一数据段、所述第二数据包中的第二数据段、所述第二数据包中的第一域、所述第二数据包中的第二域,所述第二数据包中第二域的第一数据段、所述第二数据包中第二域的第二数据段。
在一种实现方式中,所述第一域为包头,所述第二域为有效载荷;或者所述第一域为有效载荷,所述第二域为包头。
在一种实现方式中,所述解压buffer配置信息用于指示:所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容,以及所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
在一种实现方式中,所述处理单元1302,在获取解压配置信息时,具体用于:
通过所述通信单元1301接收来自所述第一通信设备或第三通信设备的所述解压配置信息;或者
获取保存的所述解压配置信息。
在一种实现方式中,所述处理单元1302,还用于:
在通过所述通信单元1301接收来自第一通信设备的第二数据包之前,通过所述通信单元1301向所述第一通信设备发送压缩配置信息;其中,所述压缩配置信息包含:压缩方式指示信息和压缩缓存buffer配置信息,所述压缩方式指示信息用于指示所述第一通信设备对数据包进行压缩处理的目标压缩方式,所述压缩buffer配置信息用于配置对数据包进行压缩时所使用的目标压缩buffer;所述目标压缩方式与所述目标解压方式相对应,所述目标压缩buffer与所述目标解压buffer的配置相同。
在一种实现方式中,所述处理单元1302,还用于:
在通过所述通信单元1301向所述第一通信设备发送压缩配置信息之前,通过所述通信单元1301接收来自所述第一通信设备的压缩能力信息,所述压缩能力信息用于表示所述第一通信设备的压缩能力;
根据所述压缩能力信息,生成所述压缩配置信息。
在一种实现方式中,所述压缩能力信息包括以下至少一项:
支持的压缩方式、能够进行压缩处理的数据传输方向、支持配置压缩处理的无线承载的数量或信息、支持配置压缩buffer的总大小阈值、支持配置每种buffer类型的buffer的大小阈值。
在一种实现方式中,所述处理单元1302,还用于:
更新所述目标解压buffer;
通过所述通信单元1301向所述第一通信设备发送buffer更新信息,所述buffer更新信息用于指示所述第一通信设备调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容;
在通过所述通信单元1301接收来自所述第一通信设备的第四数据包后,采用所述目标解压方式根据更新后的所述目标解压buffer对所述第四数据包进行解压,生成第三数据包;其中,所述第四数据包为所述第一通信设备对所述第三数据包进行压缩生成的。
在一种实现方式中,所述处理单元1302,还用于:
在通过所述通信单元1301向所述第一通信设备发送buffer更新信息之前,通过所述通信单元1301向所述第一通信设备发送停止压缩指令;其中,所述停止压缩指令用于指示所述第一通信设备停止使用所述目标压缩buffer对数据包进行压缩。
在一种实现方式中,所述buffer更新信息中还包括:第三指示信息;所述第三指示信息用于指示使用更新后的所述目标压缩buffer进行压缩的数据包;
所述第三数据包为所述第三指示信息所指示的数据包。
在一种实现方式中,所述第四数据包中还包括第四指示信息,所述第四指示信息用于指示所述第四数据包为所述第一通信设备使用更新后的所述目标压缩buffer进行压缩生成的。
在一种实现方式中,所述第一通信设备为终端设备,所述第二通信设备为基站;或者
所述第一通信设备为基站,所述第二通信设备为终端设备;或者
所述第一通信设备和所述第二通信设备为不同的终端设备;或者
所述第一通信设备为终端设备,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为终端设备;或者
所述第一通信设备为基站,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为基站;
所述第一通信设备和所述第二通信设备为不同的核心网设备。
在一种实现方式中,当所述第二通信设备为基站,接入所述基站的终端设备切换到目标基站时,所述处理单元1302,还用于:
通过所述通信单元1301向所述目标基站发送解压buffer的状态信息,所述解压buffer的状态信息用于指示当前所述目标解压buffer的大小和/或存储的数据内容。
在一种实现方式中,当所述第二通信设备为终端设备,所述终端设备切换到目标基站时,所述处理单元1302,还用于:
通过所述通信单元1301接收来自所述目标基站的第七指示信息,所述第七指示信息用于指示清空或维持所述目标解压buffer,或者调整所述目标解压buffer的大小,或者更新所述目标解压buffer存储的数据内容。
需要说明的是,本申请以上实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于相同的技术构思,本申请还提供了一种通信设备,所述通信设备可以应用于如图5所示的通信系统中建立通信连接的两个通信设备,可以实现以上实施例以及实例提供的通信方法,具有图13所示的通信装置的功能。参阅图14所示,所述通信设备1400包括:通信模块1401、处理器1402以及存储器1403。其中,所述通信模块1401、所述处理器1402以及所述存储器1403之间相互连接。
可选的,所述通信模块1401、所述处理器1402以及所述存储器1403之间通过总线1404相互连接。所述总线1404可以是外设部件互连标准(peripheral componentinterconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述通信模块1401,用于接收和发送数据,实现与其他设备之间的通信交互。例如,当所述通信设备1400应用于通过物理连接实现通信的通信设备(如核心网设备、服务器等)时,所述通信模块1401可以通过物理接口、通信模块、通信接口、输入输出接口实现。又例如,当所述通信设备1400应用于通过无线连接实现通信的通信设备(例如终端设备、AN设备等)时,所述通信模块1401还可以通过收发器实现。
在一种实施方式中,所述通信设备1400可以为图6所示的实施例中的第一通信设备。处理器1402,用于:
获取压缩配置信息;其中,所述压缩配置信息包含:压缩方式指示信息和压缩缓存buffer配置信息,所述压缩方式指示信息用于指示所述第一通信设备对数据包进行压缩处理的目标压缩方式,所述压缩buffer配置信息用于配置目标压缩buffer;
根据所述压缩buffer配置信息,对所述目标压缩buffer进行配置;
在获取第一数据包后,采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包;
通过所述通信模块1401向第二通信设备发送所述第二数据包。
另一种实施方式中,所述通信设备1400可以为图6所示的实施例中的第二通信设备。所述处理器1402,用于:
获取解压配置信息;其中,所述解压配置信息包含:解压方式指示信息和解压缓存buffer配置信息,其中,所述解压方式指示信息用于指示所述第二通信设备对数据包进行解压处理的目标解压方式,所述解压buffer配置信息用于配置目标解压buffer;
根据所述解压buffer配置信息,对所述目标解压buffer进行配置;
在通过所述通信模块1401接收来自第一通信设备的第二数据包后,采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包;其中,所述第二数据包为所述第一通信设备对所述第一数据包进行压缩生成的。
需要说明的是,本实施例不对所述处理器1402的具体功能进行详细描述,所述处理器1402的具体功能可以参考以上实施例以及实例提供的通信方法中的描述,以及图13所示实施例中对所述通信装置1300的具体功能描述,此处不再赘述。
所述存储器1403,用于存放程序指令和数据等。具体地,程序指令可以包括程序代码,该程序代码包括计算机操作指令。存储器1403可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器1402执行存储器1403所存放的程序指令,并使用所述存储器1403中存储的数据,实现上述功能,从而实现上述实施例提供的通信方法。
可以理解,本申请图14中的存储器1403可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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 Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
基于以上实施例,本申请实施例还提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行以上实施例提供的通信方法。
基于以上实施例,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被计算机执行时,使得计算机执行以上实施例提供的通信方法。
其中,存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
基于以上实施例,本申请实施例还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,实现以上实施例提供的通信方法。
基于以上实施例,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机装置实现以上实施例中业务设备、转发设备或站点设备所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
综上所述,本申请实施例提供了一种通信方法、装置及设备。该方案中,通信系统可以对压缩侧使用的目标压缩方式,以及目标压缩buffer进行配置;相应的,也可以对解压侧使用的目标解压方式,以及目标解压buffer进行配置。因此,通过本方法,通信系统可以根据业务特征、数据包的数据特征,灵活地配置压缩侧的目标压缩方式、解压侧的解压方式,以及配置压缩侧的目标压缩buffer、解压侧的目标解压buffer,从而可以提高通信系统中数据压缩的灵活性,进而可以提高数据压缩效率,最终提高通信系统的数据传输效率和资源利用率。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (30)
1.一种通信方法,应用于第一通信设备,其特征在于,包括:
获取压缩配置信息;其中,所述压缩配置信息包含:压缩方式指示信息和压缩缓存buffer配置信息,所述压缩方式指示信息用于指示所述第一通信设备对数据包进行压缩处理的目标压缩方式,所述压缩buffer配置信息用于配置目标压缩buffer;
根据所述压缩buffer配置信息,对所述目标压缩buffer进行配置;
在获取第一数据包后,采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包;
向第二通信设备发送所述第二数据包。
2.如权利要求1所述的方法,其特征在于,所述目标压缩方式为基于动态buffer的压缩方式;所述目标压缩buffer为动态buffer;
采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包,包括:
根据所述第一数据包中包含的数据内容和所述动态压缩buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包;
根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容。
3.如权利要求1所述的方法,其特征在于,所述目标压缩方式为基于静态buffer的压缩方式;所述目标压缩buffer为静态buffer;
采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包,包括:
根据所述第一数据包中包含的数据内容和所述静态buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包。
4.如权利要求1所述的方法,其特征在于,所述目标压缩方式为基于静态buffer和动态buffer的增强压缩方式;所述目标压缩buffer包含静态buffer和动态buffer;
采用所述目标压缩方式根据所述目标压缩buffer对所述第一数据包进行压缩,生成第二数据包,包括:
根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域包含的数据内容和所述动态buffer中存储的数据内容,对所述第二域进行压缩,生成压缩后的所述第二域;其中,所述第一数据包由所述第一域和所述第二域组成;根据压缩后的所述第一域和压缩后的所述第二域,组成所述第二数据包;根据所述第一数据包中所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域包含的数据内容和组合buffer中存储的数据内容,对所述第二域进行压缩,生成压缩后的所述第二域;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成,所述第一数据包由所述第一域和所述第二域组成;根据压缩后的所述第一域和压缩后的所述第二域,组成所述第二数据包;根据所述第一数据包中所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域的第一数据段包含的数据内容和所述静态buffer中存储的数据内容,对所述第一数据段进行压缩,生成压缩后的所述第一数据段;根据所述第一数据包中所述第二域的第二数据段包含的数据内容和所述动态buffer中存储的数据内容,对所述第二数据段进行压缩,生成压缩后的所述第二数据段;其中,所述第一数据包由所述第一域和所述第二域组成,所述第二域由所述第一数据段和所述第二数据段组成;根据压缩后的所述第一域、压缩后的所述第一数据段,以及压缩后的所述第二数据段,组成所述第二数据包;根据所述第一数据包中所述第二域的所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行压缩,生成压缩后的所述第一域;根据所述第一数据包中第二域包含的数据内容和第一buffer中存储的数据内容,对所述第二域进行压缩,生成压缩后的所述第二域;其中,所述第一buffer为所述静态buffer或所述动态buffer,所述第一数据包由所述第一域和所述第二域组成;根据压缩后的所述第一域和压缩后的所述第二域,组成所述第二数据包;当所述第一压缩buffer为所述动态buffer时,根据所述第一数据包中所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中包含的数据内容和组合buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成;根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第一数据包中包含的数据内容和第一buffer中存储的数据内容,对所述第一数据包进行压缩,生成第二数据包;其中,所述第一buffer为所述静态buffer或所述动态buffer;当所述第一buffer为所述动态buffer时,根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容。
5.如权利要求4所述的方法,其特征在于,所述第一域为包头,所述第二域为有效载荷;或者所述第一域为有效载荷,所述第二域为包头。
6.如权利要求4或5所述的方法,其特征在于,所述压缩buffer配置信息用于指示:所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容,以及所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
7.如权利要求1-6任一项所述的方法,其特征在于,获取压缩配置信息,包括:
接收来自所述第二通信设备或第三通信设备的所述压缩配置信息;或者
获取保存的所述压缩配置信息。
8.如权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
接收来自所述第二通信设备或所述第三通信设备的buffer更新信息,所述buffer更新信息用于调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容;
根据所述buffer更新信息,更新所述目标压缩buffer;
在获取第三数据包后,采用所述目标压缩方式根据更新后的所述目标压缩buffer对所述第三数据包进行压缩,生成第四数据包;
向所述第二通信设备发送所述第四数据包。
9.如权利要求8所述的方法,其特征在于,在接收来自所述第二通信设备或所述第三通信设备的buffer更新信息之前,所述方法还包括:
接收来自所述第二通信设备或所述第三通信设备的停止压缩指令;
根据所述停止压缩指令,停止根据所述目标压缩buffer对数据包进行压缩;
在采用所述目标压缩方式根据更新后的所述目标压缩buffer对所述第三数据包进行压缩之前,所述方法还包括:
接收来自所述第二通信设备或所述第三通信设备的启动压缩指令。
10.如权利要求8所述的方法,其特征在于,所述buffer更新信息中还包括:第三指示信息;所述第三指示信息用于指示使用更新后的所述目标压缩buffer进行压缩的数据包;
所述第三数据包为所述第三指示信息所指示的数据包。
11.如权利要求8-10任一项所述的方法,其特征在于,所述第四数据包中还包括第四指示信息,所述第四指示信息用于指示所述第四数据包为所述第一通信设备使用更新后的所述目标压缩buffer进行压缩生成的。
12.如权利要求1-11任一项所述的方法,其特征在于,所述第一通信设备为终端设备,所述第二通信设备为基站;或者
所述第一通信设备为基站,所述第二通信设备为终端设备;或者
所述第一通信设备和所述第二通信设备为不同的终端设备;或者
所述第一通信设备为终端设备,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为终端设备;或者
所述第一通信设备为基站,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为基站;
所述第一通信设备和所述第二通信设备为不同的核心网设备。
13.一种通信方法,应用于第二通信设备,其特征在于,包括:
获取解压配置信息;其中,所述解压配置信息包含:解压方式指示信息和解压缓存buffer配置信息,其中,所述解压方式指示信息用于指示所述第二通信设备对数据包进行解压处理的目标解压方式,所述解压buffer配置信息用于配置目标解压buffer;
根据所述解压buffer配置信息,对所述目标解压buffer进行配置;
在接收来自第一通信设备的第二数据包后,采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包;其中,所述第二数据包为所述第一通信设备对所述第一数据包进行压缩生成的。
14.如权利要求13所述的方法,其特征在于,所述目标解压方式为基于动态buffer的解压方式;所述目标解压buffer为动态buffer;
采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包,包括:
根据所述第二数据包中包含的数据内容和所述动态buffer中存储的数据内容,对所述第二数据包进行解压,生成所述第一数据包;
根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容。
15.如权利要求13所述的方法,其特征在于,所述目标解压方式为基于静态buffer的解压方式;所述目标解压buffer为静态buffer;
采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包,包括:
根据所述第二数据包中包含的数据内容和所述静态buffer中存储的数据内容,对所述第二数据包进行解压,生成第一数据包。
16.如权利要求13所述的方法,其特征在于,所述目标解压方式为基于静态buffer和动态buffer的增强解压方式;所述目标解压buffer包含静态buffer和动态buffer;
采用所述目标解压方式根据所述目标解压buffer对所述第二数据包进行解压,生成第一数据包,包括:
根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域包含的数据内容和所述动态buffer中存储的数据内容,对所述第二域进行解压,生成解压后的所述第二域;其中,所述第二数据包由所述第一域和所述第二域组成;根据解压后的所述第一域和解压后的所述第二域,组成所述第一数据包;根据解压后的所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域包含的数据内容和组合buffer中存储的数据内容,对所述第二域进行解压,生成解压后的所述第二域;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成,所述第二数据包由所述第一域和所述第二域组成;根据解压后的所述第一域和解压后的所述第二域,组成所述第一数据包;根据解压后的所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域的第一数据段包含的数据内容和所述静态buffer中存储的数据内容,对所述第一数据段进行解压,生成解压后的所述第一数据段;根据所述第二数据包中所述第二域的第二数据段包含的数据内容和所述动态buffer中存储的数据内容,对所述第二数据段进行解压,生成解压后的所述第二数据段;其中,所述第二数据包由所述第一域和所述第二域组成,所述第二域由所述第一数据段和所述第二数据段组成;根据解压后的所述第一域、解压后的所述第一数据段,以及解压后的所述第二数据段,组成所述第一数据包;根据解压后的所述第二数据段包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中第一域包含的数据内容和所述静态buffer中存储的数据内容,对所述第一域进行解压,生成解压后的所述第一域;根据所述第二数据包中第二域包含的数据内容和第一buffer中存储的数据内容,对所述第二域进行解压,生成解压后的所述第二域;其中,所述第一buffer为所述静态buffer或所述动态buffer,所述第一数据包由所述第一域和所述第二域组成;根据解压后的所述第一域和解压后的所述第二域,组成所述第一数据包;当所述第一buffer为所述动态buffer时,根据解压后的所述第二域包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中包含的数据内容和组合buffer中存储的数据内容,对所述第二数据包进行解压,生成所述第一数据包;其中,所述组合buffer由所述静态buffer和所述动态buffer组合生成;根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容;或者
根据所述第二数据包中包含的数据内容和第一buffer中存储的数据内容,对所述第二数据包进行解压,生成所述第一数据包;其中,所述第一buffer为所述静态buffer或所述动态buffer;当所述第一buffer为所述动态buffer时,根据所述第一数据包中包含的数据内容,更新所述动态buffer中存储的数据内容。
17.如权利要求16所述的方法,其特征在于,所述第一域为包头,所述第二域为有效载荷;或者所述第一域为有效载荷,所述第二域为包头。
18.如权利要求16或17所述的方法,其特征在于,所述解压buffer配置信息用于指示:所述动态buffer的大小和/或填充到所述动态buffer的初始数据内容,以及所述静态buffer的大小和/或填充到所述静态buffer的静态数据内容。
19.如权利要求13-18任一项所述的方法,其特征在于,获取解压配置信息,包括:
接收来自所述第一通信设备或第三通信设备的所述解压配置信息;或者
获取保存的所述解压配置信息。
20.如权利要求13-19任一项所述的方法,其特征在于,在接收来自第一通信设备的第二数据包之前,所述方法还包括:
向所述第一通信设备发送压缩配置信息;其中,所述压缩配置信息包含:压缩方式指示信息和压缩缓存buffer配置信息,所述压缩方式指示信息用于指示所述第一通信设备对数据包进行压缩处理的目标压缩方式,所述压缩buffer配置信息用于配置对数据包进行压缩时所使用的目标压缩buffer;所述目标压缩方式与所述目标解压方式相对应,所述目标压缩buffer与所述目标解压buffer的配置相同。
21.如权利要求13-20任一项所述的方法,其特征在于,所述方法还包括:
更新所述目标解压buffer;
向所述第一通信设备发送buffer更新信息,所述buffer更新信息用于指示所述第一通信设备调整所述目标压缩buffer的大小,和/或,更新所述目标压缩buffer存储的数据内容;
在接收来自所述第一通信设备的第四数据包后,采用所述目标解压方式根据更新后的所述目标解压buffer对所述第四数据包进行解压,生成第三数据包;其中,所述第四数据包为所述第一通信设备对所述第三数据包进行压缩生成的。
22.如权利要求21所述的方法,其特征在于,在向所述第一通信设备发送buffer更新信息之前,所述方法还包括:
向所述第一通信设备发送停止压缩指令;其中,所述停止压缩指令用于指示所述第一通信设备停止使用所述目标压缩buffer对数据包进行压缩。
23.如权利要求21所述的方法,其特征在于,所述buffer更新信息中还包括:第三指示信息;所述第三指示信息用于指示使用更新后的所述目标压缩buffer进行压缩的数据包;
所述第三数据包为所述第三指示信息所指示的数据包。
24.如权利要求21-23任一项所述的方法,其特征在于,所述第四数据包中还包括第四指示信息,所述第四指示信息用于指示所述第四数据包为所述第一通信设备使用更新后的所述目标压缩buffer进行压缩生成的。
25.如权利要求13-24任一项所述的方法,其特征在于,所述第一通信设备为终端设备,所述第二通信设备为基站;或者
所述第一通信设备为基站,所述第二通信设备为终端设备;或者
所述第一通信设备和所述第二通信设备为不同的终端设备;或者
所述第一通信设备为终端设备,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为终端设备;或者
所述第一通信设备为基站,所述第二通信设备为核心网设备;或者
所述第一通信设备为核心网设备,所述第二通信设备为基站;
所述第一通信设备和所述第二通信设备为不同的核心网设备。
26.一种通信装置,应用于第一通信设备,其特征在于,包括:
通信单元,用于接收和发送数据;
处理单元,用于通过所述通信单元,执行如权利要求1-12任一项所述的方法。
27.一种通信装置,应用于第二通信设备,其特征在于,包括:
通信单元,用于接收和发送数据;
处理单元,用于通过所述通信单元,执行如权利要求13-25任一项所述的方法。
28.一种通信系统,其特征在于,包括:
第一通信设备,用于实现如权利要求1-12任一项所述的方法;
第二通信设备,用于实现如权利要求13-25任一项所述的方法。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1-25任一项所述的方法。
30.一种芯片,其特征在于,所述芯片与存储器耦合,所述芯片读取所述存储器中存储的计算机程序,执行权利要求1-25任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866746.0A CN115695563A (zh) | 2021-07-29 | 2021-07-29 | 一种通信方法、装置及设备 |
PCT/CN2022/098153 WO2023005452A1 (zh) | 2021-07-29 | 2022-06-10 | 一种通信方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866746.0A CN115695563A (zh) | 2021-07-29 | 2021-07-29 | 一种通信方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115695563A true CN115695563A (zh) | 2023-02-03 |
Family
ID=85058604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110866746.0A Pending CN115695563A (zh) | 2021-07-29 | 2021-07-29 | 一种通信方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115695563A (zh) |
WO (1) | WO2023005452A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801902A (zh) * | 2023-02-09 | 2023-03-14 | 北京特立信电子技术股份有限公司 | 一种网络访问请求数据的压缩方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200091B (zh) * | 2013-01-17 | 2021-10-01 | 华为技术有限公司 | 一种数据包处理方法和装置 |
CN104283777B (zh) * | 2013-07-03 | 2018-08-21 | 华为技术有限公司 | 报文压缩的方法和装置 |
JP2015201057A (ja) * | 2014-04-09 | 2015-11-12 | 富士通株式会社 | 制御装置、再圧縮制御方法、及びプログラム |
CN112398790B (zh) * | 2019-08-15 | 2021-11-19 | 华为技术有限公司 | 通信方法、装置和计算机可读存储介质 |
-
2021
- 2021-07-29 CN CN202110866746.0A patent/CN115695563A/zh active Pending
-
2022
- 2022-06-10 WO PCT/CN2022/098153 patent/WO2023005452A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801902A (zh) * | 2023-02-09 | 2023-03-14 | 北京特立信电子技术股份有限公司 | 一种网络访问请求数据的压缩方法 |
CN115801902B (zh) * | 2023-02-09 | 2023-04-11 | 北京特立信电子技术股份有限公司 | 一种网络访问请求数据的压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2023005452A1 (zh) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109526252B (zh) | 无线接入网节点、无线终端、核心网节点及其方法 | |
EP4145869A1 (en) | Bearer configuration method and apparatus, context information management method and apparatus, releasing method and apparatus, and device | |
RU2754950C1 (ru) | Преобразование контекста сеанса | |
US11553540B2 (en) | Data processing method and device | |
US20160234851A1 (en) | Data transmission apparatus and method | |
CN112423340B (zh) | 一种用户面信息上报方法及装置 | |
US20190357105A1 (en) | Method and apparatus for reducing interruption delay, and user device | |
CN113507718B (zh) | 通信方法和通信装置 | |
EP3735028A1 (en) | Communication method for deterministic transmission and related apparatus | |
EP3267721A1 (en) | Air-interface protocol stack configuration method, and data transmission method and device | |
US11206580B2 (en) | Communication method and communications apparatus | |
EP3664507A1 (en) | Communication method, base station, terminal device and system | |
CN110740023B (zh) | 控制信令的发送方法及装置、服务基站、存储介质 | |
US20240179560A1 (en) | Communication method and communication apparatus | |
JP6754900B2 (ja) | 無線通信システム、ユーザ装置、無線基地局及び無線通信方法 | |
WO2023005452A1 (zh) | 一种通信方法、装置及设备 | |
CN108617026B (zh) | Gtp传输通道的配置方法及装置 | |
US20230254729A1 (en) | Migration method and apparatus for iab-node | |
US20210352486A1 (en) | Data transmission method and communications apparatus | |
CN113115361A (zh) | 以太网帧头压缩处理方法、装置、芯片及计算机程序 | |
CN115278930A (zh) | Ma pdu会话的处理方法及其用户设备 | |
WO2023102938A1 (zh) | 无线通信方法和通信设备 | |
JP7434663B2 (ja) | データ圧縮方法、装置及び記憶媒体 | |
WO2024082361A1 (en) | Method and apparatus of data transmission | |
CN114342462B (zh) | 无线通信方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |