压缩方法、解压方法、压缩装置和解压装置的制造方法

文档序号:10660860阅读:429来源:国知局
压缩方法、解压方法、压缩装置和解压装置的制造方法
【专利摘要】本发明公开了一种压缩方法、解压方法、压缩装置和解压装置。该压缩方法包括:第一通信设备确定第一报文头的长度;该第一通信设备根据该第一报文头的长度,从窗口中获取与该第一报文头长度相同的第二报文头;该第一通信设备通过将该第一报文头的每个字符和该第二报文头相同位置处的每个字符进行比较,获取该第一报文头的压缩信息;该第一通信设备向第二通信设备发送该压缩信息。因此,本发明的压缩方法和压缩装置能够简化压缩过程,缩短压缩时延;相应的本发明的解压方法和解压装置能够缩短解压时延。
【专利说明】
压缩方法、解压方法、压缩装置和解压装置
技术领域
[0001] 本发明涉及通信技术领域,并且更具体地,涉及压缩方法、解压方法、压缩装置和 解压装置。
【背景技术】
[0002] 对报文头进行压缩是提高数据传输效率的一种有效手段,通过压缩报文头可以增 加报文中有效净荷的比重,在给定时间内传输更多的数据包。鲁棒性头压缩(Robust Header Compress ion,简称为"R0HC")为现有技术中头部压缩的一种常用技术手段。采用 R0HC算法对报文头进行压缩时,主要步骤包括:解析待压缩报文头中的所有字段;根据该所 有每个字段的属性,使用去重标记或差值的方法与上下文进行匹配;根据匹配结果输出编 码后的字段与标记。虽然,该R0H0压缩可以有效对抗压缩器和解压缩器之间的丢包现象,但 是采用该R0HC算法对报文头进行压缩时需要对报文头进行全解析,并根据所有字段中每种 字段的属性去匹配相应的字段从而进行压缩,该方法导致压缩复杂度高,压缩时延长。

【发明内容】

[0003] 本发明实施例提供一种压缩方法、解压方法、压缩装置和解压装置,能够简化压缩 过程,以便于缩短压缩时延。
[0004] 第一方面,提供一种压缩方法,该压缩方法包括:第一通信设备确定第一报文头的 长度;该第一通信设备根据该第一报文头的长度,从窗口中获取与该第一报文头长度相同 的第二报文头;该第一通信设备通过将该第一报文头的每个字符和该第二报文头相同位置 处的每个字符进行比较,获取该第一报文头的压缩信息;该第一通信设备向第二通信设备 发送该压缩信息。
[0005] 该第一通信设备无需解析该第一报文头的所有字段,仅需获取第一报文头的长 度,并根据该长度获取第二报文头,通过将第一报文头和第二报文头进行字符比较获取该 第一报文头的压缩信息,能够简化压缩过程,缩短压缩时延。
[0006] 可选地,该压缩信息包括指示信息,该指示信息用于指示该第一报文头的长度。
[0007] 进一步地,该压缩方法还包括,该第一通信设备确定第二报文头的长度;该第一通 信设备根据该第二报文头的长度,从初始窗口中查找与该第二报文头长度相同的该第二报 文头的压缩上下文;若查找到该压缩上下文,该第一通信设备通过将该压缩上下文替换为 该第二报文头,将该初始窗口更新为该窗口;若未查找到该压缩上下文,该第一通信设备通 过存储该第二报文头,将该初始窗口更新为该窗口。
[0008] 结合第一方面,在第一方面的第一种可能的实现方式中,该第一通信设备通过将 该第一报文头的每个字符和该第二报文头相同位置处的每个字符进行比较,获取该第一报 文头的压缩信息,包括:该第一通信设备通过将该第一报文头的每个字符和该第二报文头 相同位置处的每个字符进行比较,获取该第一报文头的第一差异数据信息,该第一差异数 据信息用于指示该第一报文头的每个字符和该第二报文头相同位置处的每个字符是否相 同;该第一通信设备根据该第一差异数据信息,获取该第一报文头的压缩信息。
[0009] 该第一通信设备可以根据该第一差异数据信息对该第一报文头进行压缩,能够提 高该压缩方法的兼容性和扩展性。另外,该第一通信设备获取该第一差异数据信息,以便于 该第一通信设备根据该第一差异数据信息进行二次去重,能够提高报文头的压缩效率。
[0010] 可选地,该第一差异数据信息可以用于指示该第一报文头和该第二报文头之间位 置相同且内容相同的每个相同字符的位置,或该第一差异数据信息可以用于指示该第一报 文头和该第二报文头之间位置相同且内容不同的每个差异字符的位置。
[0011] 可选地,该第一差异数据信息可以用于指示第一报文头和第二报文头之间相同区 域的位置以及相同区域包括的相同字符的数量,或该第一差异数据信息用于指示该第一报 文头和第二报文头之间差异区域的位置以及差异区域包括的差异字符的数量。
[0012] 结合第一方面或第一方面的上述可能的实现方式,在第一方面的第二种可能的实 现方式中,该第一通信设备存储有该第二报文头的第二差异数据信息,该第二差异数据信 息用于指示该第二报文头的每个字符和该第二报文头的压缩上下文相同位置处的每个字 符是否相同,该第一通信设备根据该第一差异数据信息,获取该第一报文头的压缩信息,包 括:该第一通信设备确定该第一差异数据信息和该第二差异数据信息是否相同;若该第一 差异数据信息和该第二差异数据信息相同,该第一通信设备获取该第一报文头的压缩信 息,该压缩信息包括二次去重标识和按序排列的第一报文头包括的与该第二报文头位置相 同且内容不同的差异字符,该二次去重标识用于指示该第一差异数据信息和该第二差异数 据信息相同。
[0013] 如果第一差异数据信息和第二差异数据信息相同,该第一通信设备可以对该第一 报文头进行二次压缩,能够进一步提高第一报文头的压缩率。
[0014] 进一步地,若该第一差异数据信息和该第二差异数据信息不相同,该第一通信设 备输出的压缩信息可以包括去重标识、按序排列的长度编码和第一报文头包括的与该第二 报文头位置相同且内容不同的差异字符,该去重标识用于指示该第一差异数据信息和该第 二差异数据信息不相同。
[0015] 需要说明的是,如果第一差异数据信息和第二差异数据信息相同,该第一通信设 备获取的压缩信息可以不包括长度编码(二次去重标识可以代替长度编码),从而能能够提 高压缩率。
[0016] 结合第一方面或第一方面的上述可能的实现方式,在第一方面的第三种可能的实 现方式中,该第一差异数据信息包括按序排列的第一数量信息和第二数量信息,该第一数 量信息用于指示由该第一报文头和该第二报文头之间位置相同且内容相同的相同字符组 成的相同区域包括的该相同字符的数量;该第二数量信息用于指示由该第一报文头和该第 二报文头之间位置相同且内容不同的差异字符组成的差异区域包括的该差异字符的数量。
[0017] 该第一差异数据信息包括按序排列的两种数量信息,可以简单且直观的呈现第一 报文头的每个字符和第二报文头相同位置处每个字符的内容是否相同,以便于第一通信设 备根据第一差异数据信息对第一报文头进行压缩。
[0018] 结合第一方面或第一方面的上述可能的实现方式,在第一方面的第四种可能的实 现方式中,该压缩信息包括按序排列的长度编码和第一报文头包括的与该第二报文头位置 相同且内容不同的差异字符,该长度编码用于指示由第一报文头和第二报文头之间位置相 同且内容相同的相同字符组成的相同区域包括的该相同字符的数量。
[0019] 相较于字段压缩,该压缩方法采用字符压缩,并且该压缩信息包括按序排列的长 度编码以及差异字符,不但可以提高压缩率,同时该方法简单易操作,与现有技术兼容性 好。
[0020] 结合第一方面或第一方面的上述可能的实现方式,在第一方面的第五种可能的实 现方式中,该第一通信设备根据该第一报文头的长度,从窗口中获取与该第一报文头长度 相同的第二报文头,包括:该第一通信设备根据该第一报文头的长度,获取与该第一报文头 长度相同的第二报文头对应的索引号;该第一通信设备根据该索引号,从该查找表中获取 该索引号对应的索引地址;该第一通信设备根据该索引地址,从窗口中获取该第二报文头, 该压缩信息包括该索引号、该索引地址或用于指示该第一报文头长度的指示信息。
[0021] 该第一通信设备通过索引号获取第二报文头,可以提高第一通信设备获取第二报 文头的效率,缩短压缩时延。同时,该第一通信设备无需复杂的编码,只需要将索引号、索引 地址、或指示信息等作为压缩信息的一部分发送给第二通信设备,就可以使第二通信设备 获取第二报文头。不但可以简化编码过程,同时索引号等信息占用的比特位较小,可以提高 压缩率。
[0022] 结合第一方面或第一方面的上述可能的实现方式,在第一方面的第六种可能的实 现方式中,该第一通信设备通过将该窗口中的第二报文头替换为该第一报文头,更新该窗 口;该第一通信设备根据该长度对应的报文头作为压缩上下文的频率,确定该第一报文头 对应的索引号在索引表中的位置。
[0023] 两个报文头的压缩时间越接近,关联性越高,及时更新窗口有利于提高后续报文 头的压缩率。根据某一个长度的报文头作为压缩上下文的使用率,确定该长度的报文头对 应的索引号在索引表中的位置,可以使第一通信设备可以快速获取使用频率高的报文头, 从而提高第一通信设备获取压缩上下文的效率。
[0024] 结合第一方面或第一方面的上述可能的实现方式,在第一方面的第七种可能的实 现方式中,该压缩方法还包括:该第一通信设备获取该第一报文头的扩展字段,该扩展字段 包括该第一报文头中除长度字段以外的至少一种字段;该第一通信设备根据该第一报文头 的长度,从窗口中获取与该第一报文头的长度相同的第二报文头,包括:该第一通信设备根 据该第一报文头的长度和该扩展字段,从窗口中获取与该第一报文头长度相同且包括的扩 展字段与该第一报文头的扩展字段相同的第二报文头。
[0025] 该第一通信设备在获取第二报文头时,根据第一报文头的长度和第一报文头的扩 展字段获取的第二报文头,与第一报文头的匹配度更高,从而可以进一步提高第一报文头 的压缩率。
[0026] 第二方面,提供一种解压方法,该解压方法包括:第二通信设备接收第一通信设备 发送的第一报文头的压缩信息;该第二通信设备根据该压缩信息,从窗口中获取与该第一 报文头长度相同的第二报文头;该第二通信设备根据该压缩信息和该第二报文头,获取该 第一报文头。
[0027] 结合第二方面,在第二方面的第一种可能实现方式中,该第二通信设备存储有该 第二报文头的第二差异数据信息,该第二差异数据信息用于指示该第二报文头的每个字符 和该第二报文头的压缩上下文相同位置处的每个字符是否相同;该压缩信息包括二次去重 标识和按序排列的第一报文头包括的与该第二报文头位置相同且内容不同的差异字符,该 二次去重标识用于指示第一报文头的第一差异数据信息和该第二差异数据信息相同;该第 二通信设备根据该压缩信息和该第二报文头,获取该第一报文头,包括:该第二通信设备根 据该二次去重标识获取该第二差异数据信息,该第二通信设备根据该第二差异数据信息、 该差异字符和该第二报文头,获取该第一报文头。
[0028] 结合第二方面或第二方面的上述可能的实现方式,在第二方面的第二种可能的实 现方式中,该第二差异数据信息包括按序排列的第一数量信息和第二数量信息,该第一数 量信息用于指示由第二报文头和该压缩上下文之间位置相同且内容相同的相同字符组成 的相同区域包括的该相同字符的数量;该第二数量信息用于指示由该第二报文头和该压缩 上下文之间位置相同且内容不同的差异字符组成的差异区域包括的差异字符的数量。
[0029] 结合第二方面或第二方面的上述可能的实现方式,在第二方面的第三种可能的实 现方式中,该压缩信息包括按序排列的长度编码和该第一报文头包括的与该第二报文头位 置相同且内容不同的差异字符,该长度编码用于指示由第一报文头和第二报文头之间位置 相同且内容相同的相同字符组成的相同区域包括的该相同字符的数量;该第二通信设备根 据该压缩信息和该第二报文头,获取该第一报文头,包括:该第二通信设备根据该长度编 码、该差异字符和该第二报文头,获取该第一报文头。
[0030] 结合第二方面或第二方面的上述可能的实现方式,在第二方面的第四种可能的实 现方式中,该解压方法还包括:该第二通信设备根据该压缩信息中该长度编码和该差异字 符的排序,获取该第一报文头的第一差异数据信息;该第二通信设备存储该第一差异数据 信息,以用于后续待压缩报文头的解压。
[0031] 该第二通信设备可以将该第一差异数据信息进行存储,以便于该第二通信设备对 后续报文头进行解压,可以缩短解压时延。
[0032] 结合第二方面或第二方面的上述可能的实现方式,在第二方面的第五种可能的实 现方式中,该压缩信息包括用于指示该第一报文头长度的指示信息,该第二通信设备根据 该压缩信息,从窗口中获取与该第一报文头长度相同的第二报文头,包括:该第二通信设备 根据该指示信息,从该窗口中获取该第二报文头;或该第二通信设备存储有查找表,该查找 表包括该第二报文头对应的索引号和该索引号对应的索引地址;该压缩信息包括该第二报 文头对应的索引号,该第二通信设备根据该压缩信息,从窗口中获取与该第一报文头长度 相同的第二报文头,包括:该第二通信设备根据该索引号,从该查找表中获取该索引号对应 的索引地址,该第二通信设备根据该索引地址,从该窗口中获取该第二报文头;或该压缩信 息包括该索引地址,该第二通信设备根据该压缩信息,从窗口中获取与该第一报文头长度 相同的第二报文头,包括:该第二通信设备根据该索引地址,从该窗口中获取该第二报文 头。
[0033] 压缩信息可以包括用于获取第二报文头的多种信息,以便于第二通信设备根据该 压缩信息获取第二报文头,从而能提高第二通信设备获取第二报文头的效率。
[0034] 结合第二方面或第二方面的上述可能的实现方式,在第二方面的第六种可能的实 现方式中,该解压方法还包括:该第二通信设备通过将该窗口中的第二报文头替换为该第 一报文头,更新该窗口;该第二通信设备根据该长度对应的报文头作为压缩上下文的频率, 确定该第一报文头对应的索引号在索引表中的位置。
[0035] 结合第二方面或第二方面的上述可能的实现方式,在第二方面的第七种可能的实 现方式中,该第二通信设备从窗口中获取与该第一报文头长度相同的第二报文头,包括:该 第二通信设备从窗口中获取与该第一报文头长度相同且包括的扩展字段与该第一报文头 的扩展字段相同的第二报文头。
[0036] 第三方面,提供一种压缩装置,用于执行第一方面或第一方面的任意可能的实现 方式中的方法。具体地,该压缩装置包括用于执行第一方面或第一方面的任意可能的实现 方式中的方法的模块和/或单元。
[0037] 第四方面,提供一种解压装置,用于执行第二方面或第二方面的任意可能的实现 方式中的方法。具体地,该压缩装置包括用于执行第二方面或第二方面的任意可能的实现 方式中的方法的模块和/或单元。
[0038] 第五方面,提供一种压缩设备,该压缩设备包括:发送器、存储器、处理器和总线系 统。其中,发送器、存储器和处理器通过总线系统相连,发送器用于发送压缩信息,存储器用 于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储 的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方 法。
[0039] 第六方面,提供一种解压设备,该解压设备包括:接收器、存储器、处理器和总线系 统。其中,接收器、存储器和处理器通过总线系统相连,接收器用于接收压缩信息,存储器用 于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储 的指令时,该执行使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方 法。
[0040] 第七方面,提供了一种计算机存储介质,用于存储计算机程序,该计算机程序包括 用于获取第一方面或第一方面的任意可能的实现方式中的方法的指令。
[0041 ]第八方面,提供了一种计算机存储介质,用于存储计算机程序,该计算机程序包括 用于获取第二方面或第二方面的任意可能的实现方式中的方法的指令。
[0042] 基于上述技术方案,本发明实施例的压缩方法和压缩装置可以简化压缩过程,缩 短压缩时延;相应的本发明实施例的解压方法和解压装置可以简化解压过程。
【附图说明】
[0043] 图1是根据本发明实施例的压缩方法的示意性流程图。
[0044] 图2是根据本发明实施例的压缩方法的另一示意性流程图。
[0045] 图3是根据本发明实施例的第一报文头和第二报文头的结构示意图。
[0046] 图4是根据本发明实施例的第二报文头和第二报文头的压缩上下文的结构示意 图。
[0047] 图5是根据本发明另一实施例的第二报文头和第二报文头的压缩上下文的结构示 意图。
[0048] 图6是根据本发明实施例的解压方法的示意性流程图
[0049] 图7是根据本发明实施例的压缩装置的示意性框图。
[0050] 图8是根据本发明实施例的解压装置的示意性框图。
[0051 ]图9是根据本发明实施例的压缩设备的示意性框图。
[0052]图10是根据本发明实施例的解压设备的示意性框图。
【具体实施方式】
[0053]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发 明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实 施例,都应属于本发明保护的范围。
[0054] 在本说明书中使用的术语"部件"、"模块"、"系统"等用于表示计算机相关的实体、 硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理 器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计 算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行 线程中,部件可位于一个计算机上和/或分布在两个或更多个计算机之间。此外,这些部件 可从在上面存储有各种数据信息的各种计算机可读介质执行。部件可例如根据具有一个或 多数量据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件 的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
[0055] 另外,本发明的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程 技术的制品。本申请中使用的术语"制品"涵盖可从任何计算机可读器件、载体或介质访问 的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或 磁带等),光盘(例如,压缩盘(Compact Disk,简称"CD")、数字通用盘(Digital Versatile Disk,简称"DVD")等),智能卡和闪存器件(例如,可擦写可编程只读存储器(Erasable Programmable Read-Only Memory,简称"EPROM")、卡、棒或钥匙驱动器等)。另外,本文描述 的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语"机 器可读介质"可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种 其它介质。
[0056] 应理解,本发明的技术方案,可以应用于各种通信系统,例如:GSM,码分多址 (CDMA,Code Division Multiple Access)系统,宽带码分多址(WCDMA,Wideband Code Division Multiple Access Wireless),通用分组无线业务(GPRS,General Packet Radio Service),长期演进(LTE,Long Term Evolution)等。
[0057] 还应理解,本发明结合通信设备描述了各个实施例。其中,该通信设备可以是用于 发射或接收信号的各种设备。例如该通信设备可以是终端设备,该终端设备也可以称为用 户设备(User Equipment,简称"UE")、接入终端、用户单元、用户站、移动站、移动台、远方 站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。接入终端可 以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,简称"SIP")电 话、无线本地环路(Wireless Local Loop,简称"WLL")站、个人数字处理(Personal Digital Assistant,简称"PDA")、具有无线通信功能的手持设备、计算设备或连接到无线 调制解调器的其它处理设备、车载设备、可穿戴设备以及未来5G网络中的终端设备。
[0058] 该通信设备还可以是网络侧设备等用于与移动设备通信的设备,网络侧设备可以 是全球移动通讯(Global System of Mobile communication,简称"GSM")或码分多址 (Code Division Multiple Access,简称 "CDMA")中的基站(Base Transceiver Station, 简称"BTS"),也可以是宽带码分多址(Wideband Code Division Multiple Access,简称 "WCDMA")中的基站(NodeB,简称"NB"),还可以是LTE中的eNB或演进型基站(Evolutional Node B,简称"eNodeB"),或者中继站或接入点,或者车载设备、可穿戴设备以及未来5G网络 中的网络侧设备。该终端设备还可以是路由器等设备。
[0059]图1是根据本发明实施例的方法100的示意性流程图。如图1所示,该方法100包括: [0060] S110、第一通信设备确定第一报文头的长度;
[0061] 具体而言,第一通信设备可以通过多种方式确定第一报文头的长度。例如,该第一 通信设备可以根据相应的协议获取该第一报文头的长度字段,进而根据该长度字段获取该 第一报文头的长度。例如,对于网络之间互连的协议(Internet Protocol,简称为"IP")报 文头而言,长度字段位于IP报文头4-7bit位置;该第一通信设备可以根据协议获取该IP报 文头4-7bit的长度字段,从而获取该第一报文头的长度。又例如,该第一通信设备在获取到 第一报文头的压缩指示时,可以获取协议调用的参数,该参数中可以包括用于指示该第一 报文头长度的长度指示信息,从而该第一通信设备可以获知该第一报文头的长度。
[0062] S120、该第一通信设备根据该第一报文头的长度,从窗口中获取与该第一报文头 长度相同的第二报文头;
[0063] 具体而言,长度相同的两个报文头相似性较高。因此,该第一通信设备可以从窗口 中获取与第一报文头长度相同的第二报文头作为该第一报文头的压缩上下文。例如,该第 一报文头的长度为16个字符,该第一通信设备可以从窗口中获取长度也为16个字符的第二 报文头。
[0064] 应理解,该压缩上下文可以是指对报文头进行压缩时的压缩对比信息(也可以称 之为参考信息)。该窗口可以认为是该压缩上下文的集合,换句话说,该窗口中可以存储至 少一个压缩上下文。这些概念都为本领域技术人员所公知的技术,这里不再赘述。
[0065] 可选地,作为示例而非限定的,该第一通信设备根据该第一报文头的长度,从窗口 中获取与该第一报文头长度相同的第二报文头,可以包括:该第一通信设备根据该第一报 文头的长度,获取与该第一报文头长度相同的第二报文头的索引号;该第一通信设备根据 该索引号,从该查找表中获取该索引号对应的索引地址;该第一通信设备根据该索引地址, 从窗口中获取该第二报文头,该压缩信息包括该索引号、该索引地址或用于指示该第一报 文头长度的指示信息。
[0066] 具体而言,该第一通信设备可以存储有索引表,该索引表包括索引号和索引号对 应的索引地址。其中,每个索引号对应一个长度的报文头。该第一通信设备确定该第一报文 头的长度后,可以获取与第一报文头长度相同的第二报文头对应的索引号。该第一通信设 备可以根据该第二报文头对应的索引号,从该查找表中获取第二报文头对应的索引号的索 引地址;从而该第一通信设备可以根据该索引地址,从窗口中获取该第二报文头。例如,该 索引表可以如表1所示。
[0067] 表 1

[0070] 如表1所示,该索引表可以包括索引号和索引地址两部分,每个索引号对应一个长 度的报文头。假设,该第一报文头的长度为16个字符,长度为17个字符的报文头A对应的索 引号为LenO,长度为18个字符的报文头B对应的索引号为Lenl,长度为16个字符的报文头C 对应的索引号为Len2等。第一通信设备确定该第一报文头的长度后,可以确定该Len2对应 的报文头为第二报文头,进而可以从查找表中获取Len2对应的索引地址Dis2,并根据该索 引地址从窗口中获取该第二报文头。该第一通信设备通过该索引表从窗口中获取该第二报 文头可以缩短获取第二报文头的时间,从而缩短压缩时延。
[0071] 需要说明的是,以上列举的索引表仅为示例性说明,不应对本发明构成任何限定。 还需要说明的是,以上列举的索引号仅为示例性说明。例如,长度为17个字符的报文头A对 应的索引号可以为"LenO"也可以为"0"还可以为其他类型的标识,本发明在此不做限定。 [0072]还需要说明的是,以上列举的第一通信设备通过查找索引表,从窗口中获取第二 报文头仅为示例性说明,不应对本发明构成任何限定,本发明也不应限于此。第一通信设备 还可以通过其他方式获取该第二报文头,例如,该第一通信设备还可以通过遍历窗口的方 法获取该第二报文头。
[0073] S130、该第一通信设备通过将该第一报文头的每个字符和该第二报文头相同位置 处的每个字符进行比较,获取该第一报文头的压缩信息。
[0074] 具体而言,该第一通信设备获取该第二报文头后,可以将第一报文头和第二报文 头进行比较,从而根据该第一报文头和第二报文头之间的位置相同且内容相同的相同字符 和位置相同且内容不同的差异字符对该第一报文头进行压缩,从而获取该第一报文头的压 缩信息。换句话说,该第一通信设备可以将第一报文头和第二报文头进行逐字符对位比较, 进而获取第一报文头的压缩信息。
[0075] 应理解,在本发明实施例中该第一通信设备可以将第一报文头的第i个字符和第 二报文头相同位置的第i个字符进行比较,从而根据比较结果对该第一报文头进行压缩,以 用于获取该第一报文头的压缩信息。其中i = 1、…、N。
[0076] S140、该第一通信设备向第二通信设备发送该压缩信息。
[0077] 具体而言,该第一通信设备获取该第一报文头的压缩信息后,可以向第二通信设 备发送该压缩信息,因此,本发明实施例提供的压缩方法仅需确定该第一报文头的长度,进 而将与第一报文头长度相同的第二报文头作为该第一报文头的压缩上下文,对该第一报文 头进行压缩。该压缩方法1〇〇无需对该第一报文头的所有字段进行解析,可以简化压缩过 程,缩短压缩时延。进一步地,由于第一报文头和第二报文头的长度相同,可以实现全字段 对齐,从而进行逐字符对位比较的压缩。相较于现有技术中的字段进行压缩,该压缩方法 100可以实现字符压缩,能够提高压缩效率。
[0078] 需要说明的是,在本发明实施例提供的压缩方法100中,该第一通信设备通过第一 报文头和第二报文头的比较对第一报文头进行字符压缩,是本发明一种优选的实施方式。 进一步地,该第一通信设备获取该第二报文头后,还可以通过其他方式对该第一报文头进 行压缩(例如比特压缩),本发明在此不做限定。
[0079] 以上,结合图1详细说明了根据本发明实施例的方法100。在该方法100中,该第一 通信设备可以从该窗口中获取该第二报文头。事实上,该第一通信设备从窗口中获取该第 二报文头之前,该第一通信设备需要将该第二报文头存储于该窗口中。以下结合图2详细说 明该第一通信设备存储该第二报文的过程。
[0080] 可选地,在该第一通信设备从窗口中获取第二报文头之前,该方法100还包括:
[0081 ] S101、该第一通信设备确定该第二报文头的长度;
[0082] S102、该第一通信设备根据该第二报文头的长度,从初始窗口中查找与该第二报 文头长度相同的该第二报文头的压缩上下文;
[0083]若查找到该第二报文头的压缩上下文,执行
[0084] S103、该第一通信设备通过将该压缩上下文替换为该第二报文头,将该初始窗口 更新为该窗口;
[0085] 若未查找到该第二报文头的压缩上下文,执行
[0086] S104、该第一通信设备通过存储该第二报文头,将该初始窗口更新为该窗口。
[0087] 具体而言,该第一通信设备可以通过存储该第二报文头获取该窗口。通常情况下, 第一通信设备需要对该第二报文头进行压缩处理,才会对获得包括该第二报文头的窗口。 例如,第一通信设备在压缩第二报文头时,可以首先确定该第二报文头的长度,然后根据该 第二报文头的长度从初始窗口中查找与该第二报文头长度相同的第二报文头的压缩上下 文。为了简洁,可以假设该第二报文头的压缩上下文为第三报文头。该第一通信设备获取该 存储第二报文头的窗口可以至少包括以下两种情况:
[0088]情况一、若该第一通信设备查找到该第三报文头,该第一通信设备可以根据该第 三报文头对该第一报文头进行压缩,并通过将该第三报文头替换为该第二报文头,将该初 始窗口更新为该窗口。
[0089]情况二、若该第一通信设备未查找到该第三报文头,该第一通信设备通过存储该 第二报文头,将该初始窗口更新为该窗口。
[0090] 不论初始窗口中是否包括第三报文头(即第二报文头的压缩上下文),该第一通信 设备都可以通过存储第二报文头的方式,将该初始窗口更新为该窗口,从而使得该第一通 信设备在压缩第一报文时可以从该窗口中获取与该第一报文头长度相同的第二报文头。
[0091] 进一步地,若该第一通信设备在初始窗口中未查找到与第二报文头长度相同的第 二报文头的压缩上下文,该第一通信设备可以创建该第二报文头在查找表中的索引号以及 索引地址等信息,并在窗口中为该第二报文头开辟存储空间。需要说明的是,为了防止窗口 中存储的报文头被该第二报文头覆盖,可以根据窗口中每种长度的报文头的使用频率,调 整窗口中存储的报文头的位置,也可以调整第二报文头存储在窗口中的位置。例如,可以通 过调整窗口中压缩上下文的位置,将使用频率较低的压缩上下文覆盖,也可以通过设置第 二报文头存储在窗口中的位置,将使用频率较低的压缩上下文覆盖。
[0092] 应理解,通常情况下,窗口和初始窗口包括的报文为经过压缩而存储的报文。换句 话说,若该窗口包括第二报文头,该第二报文头很可能也经历过压缩过程。因此,该第一通 信设备获取该窗口的过程也可能是该第二报文头的压缩过程。
[0093] 上文结合了图2详细描述了如何获取该包括第二报文头的窗口,以下,结合图3和 图4详细说明根据本发明实施例的方法100中该第一通信设备根据该第二报文头对第二报 文头进行压缩的过程。
[0094] 可选地,在本发明实施例提供的压缩方法100中,第一通信设备将第一报文头和第 二报文头进行比较后,可以采用不同的方式获得压缩信息,进而方式压缩方式不同,获取的 压缩信息也可以不相同。该第一通信设备通过将该第一报文头的每个字符和该第二报文头 相同位置处的每个字符进行比较,获取该第一报文头的压缩信息,可以至少包括以下三种 实现方式:
[0095]方式一、该第一通信设备将第一报文头和第二报文头进行比较,输出的压缩信息 包括按序排列的长度编码和第一报文头包括的与该第二报文头位置相同且内容不同的差 异字符,该长度编码用于指示由第一报文头和第二报文头之间位置相同且内容相同的相同 字符组成的相同区域包括的该相同字符的数量。
[0096] 具体而言,该第一通信设备将第一报文头和第二报文头比较,输出压缩信息。例 如,假设该第一报文头和第二报文头的示意图如图3所示,该第一报文头的前四个字符和该 第二报文头的前四个字符相同,该前四个相同字符可以组成一个相同区域,从而该长度编 码中的第一个长度编码可以用于指示第一个相同区域包括四个相同字符。该第一报文头的 第五、六和十一个字符与第二报文头相同位置上的字符不相同,因此,该"g"、"e"和"f"为该 第一报文头的三个差异字符。该第一通信设备获取的该第一报文头的压缩信息可以包括表 2所示的编码信息。
[0097] 表 2
[0099] 如表3所示,该第一个"l+vlen(4)"可以用于指示第一个相同区域包括四个相同字 符。其中"Γ为一个比特的标记位,可以用于指示相同区域,该vlen(4)可以包括一个长度编 码,该长度编码可以用于指示该第一个相同区域包括四个相同字符。该"Ο+g"用于指示差异 字符为"g"。其中,"〇"为一个比特的标记位,可以用于指示差异字符。同理,该第一通信设备 获取的压缩信息可以包括按序排列的长度编码和差异字符。
[0100] 需要说明的是,作为一个比特的标记位,"Γ和"〇"所指示的内容可以根据协议设 定。例如,可以将"Γ设定为指示相同区域,或者将"Γ设定为指示差异字符。还需要说明的 是,若该第一报文头和该第二报文头有N个相同区域,根据相同区域在第一报文头中的位 置,由于第一报文头和第二报文头的长度固定且相同,输出的压缩信息中长度编码的数量 可以是N个也可以是N-1个,本发明不在此限定。
[0101] 还需要说明的是,该压缩信息包括的差异字符为第一报文头包括的与第二报文头 位置相同且内容不同的所有差异字符。
[0102] 还需要说明的是,该压缩信息中长度编码和差异字符的排序跟第一报文头相同区 域的位置和差异字符的位置有关。
[0103] 方式二、该第一通信设备可以通过将该第一报文头的每个字符和该第二报文头相 同位置处的每个字符进行比较,获取第一报文头的第一差异数据信息。其中,该第一差异数 据信息可以用于指示该第一报文头的每个字符和该第二报文头相同位置处的每个字符是 否相同。换句话说,该第一差异数据信息可以用于指示该第一报文头的第i个字符和该第二 报文头相同位置处的第i个字符是否相同,i = l、…、N。
[0104] 进一步地,该第一差异数据信息可以包括按序排列的第一数量信息和第二数量信 息,该第一数量信息用于指示由该第一报文头和该第二报文头之间位置相同且内容相同的 相同字符组成的相同区域包括的该相同字符的数量;该第二数量信息用于指示由第一报文 头和第二报文头之间位置相同且内容不同的差异字符组成的差异区域包括的差异字符的 数量。例如,假设第一报文头和第二报文头如图3所示,该第一差异数据信息可以如表3所 不。
[0105] 表3
[0107] 如表3所示,该第一报文头中前四个字符为相同字符组成的一个相同区域(第一个 相同区域),该第一个相同区域包括四个相同字符,该第一报文头中第五个和第六个字符为 差异字符组成的一个差异区域(第二个差异区域),该第二个差异区域包括两个差异字符。 同理,该第一报文头中第七至十个字符为相同字符组成的第二个相同区域,该第一报文头 的第十一个字符为第一差异字符组成的第二个差异区域。由于该第一报文头一共有十六个 字符,从该第一差异数据信息中还可以获知该第一报文头第十二至十六字符也为第三个相 同区域。为了简化该第一差异数据信息,可以省略该最后一个相同区域。
[0108] 可选地,作为示例而非限定地,该第一差异数据信息还可以用于指示该第一报文 头和该第二报文头位置相同且内容相同的每个相同字符位置,或该第一差异数据信息可以 用于指示该第一报文头和该第二报文头之间位置相同且内容不同的每个差异字符的位置。
[0109] 可选地,作为示例而非限定地,该第一差异数据信息可以用于指示第一报文头和 第二报文头之间相同区域的位置以及相同区域包括的相同字符的数量,或该第一差异数据 信息可以用于指示该第二报文头和第二报文头之间差异区域的位置以及差异区域包括的 差异字符的数量。
[0110]该第一通信设备可以根据该第一差异数据信息,获取压缩信息,其中,该压缩信息 可以包括按序排列的长度编码和第一报文头包括的与该第二报文头位置相同且内容不同 的差异字符。
[0111]需要说明的是,方式二和方式一的差别在于,方式二需要获取该第一报文头的第 一差异数据信息,进而根据该第一差异数据信息获取该压缩信息,而方式一直接将第一报 文头和第二报文头比较,获取该压缩信息。
[0112] 还需要说明的是,在方式二中的长度编码以及差异字符等可以参见方式一中的相 关描述,此处不再赘述。还需要说明的是,方式二中长度编码和差异字符的排序还可以和第 一差异数据信息相关。
[0113] 方式三、该第一通信设备存储有该第二报文头的第二差异数据信息。其中,报文头 的差异数据信息可以用于指示该报文头的每个字符和该报文头的压缩上下文相同位置处 的每个字符是否相同。例如,该第二差异数据信息用于指示第二报文头的每个字符和第二 报文头的压缩上下文相同位置处的每个字符是否相同;该第一差异数据信息用于指示第一 报文头的每个字符和第一报文头的压缩上下文(在本发明实施例中,该第一报文头的压缩 上下文为第二报文头)相同位置处的每个字符是否相同。其中,该第二差异数据信息的相关 描述可以参见第一差异数据信息的相关描述,本发明不在此赘述。
[0114] 该第一通信设备通过将该第一报文头的每个字符和该第二报文头相同位置处的 每个字符进行比较,获取该第一报文头的第一差异数据信息后,将该第一差异数据信息和 该第二差异数据信息进行比较,确定该第一差异数据信息和第二差异数据信息是否相同。 [0115]若该第一差异数据信息和该第二差异数据信息相同,该第一通信设备输出的压缩 信息包括二次去重标识和按序排列的第一报文头包括的与该第二报文头位置相同且内容 不同的差异字符,该二次去重标识用于指示该第一差异数据信息和该第二差异数据信息相 同。例如,假设第一报文头和第二报文头的结构图如图3所示,该第一差异数据信息可以如 表2所示。该第二报文头和该第二报文头的压缩上下文的结构图如图4所示,该第二差异数 据信息也可以如表2所示。此时,该第一差异数据信息和该第二差异数据信息相同,该第一 通信设备获取的压缩信息可以包括表4所示的编码信息。
[0116]表4
[0118]其中,表4中第一行的"Γ为二次去重标识,该第一通信设备可以将第一差异数据 信息和第二差异数据信息进行比较,如果该第一差异数据信息和第二差异数据信息相同, 相对于方式一和方式二而言,该第一通信设备获取的压缩信息不包括长度编码,可以进一 步提高第一报文头的压缩率。
[0119]需要说明的是,该第一通信设备可以根据需要对该第一差异数据信息进行存储, 以便于后续报文头的压缩。
[0120]还需要说明的是,以上列举的二次去重标识仅为示例性说明,不应对本发明构成 任何限定。例如,该二次去重标识还可以是"〇"等其他标识。
[0121]若该第一差异数据信息和该第二差异数据信息不相同,该第一通信设备输出的压 缩信息可以包括去重标识、按序排列的长度编码和第一报文头包括的与该第二报文头位置 相同且内容不同的差异字符,去重标识用于指示该第一差异数据信息和该第二差异数据信 息不相同。
[0122] 例如,假设第一报文头和第二报文头如图3所示,该第一差异数据信息可以如表2 所示。该第二报文头和该第二报文头的压缩上下文如图5所示,该第二差异数据信息可以如 表5所示。
[0123] 表5
[0125] 此时,该第一差异数据信息和该第二差异数据信息不相同,该第一通信设备获取 的压缩信息可以包括表6所示的编码信息。
[0126] 表6
[0128] 其中,表6中第一行的"0"为去重标识,该第一通信设备可以将第一差异数据信息 和第二差异数据信息进行比较,如果该第一差异数据信息和第二差异数据信息不相同,该 第一通信设备输出的压缩信息包括该去重标识、按序排列的长度编码和按序排列的差异字 符。
[0129] 可选地,作为示例而非限定地,该第一通信设备获取压缩信息后,会向第二通信设 备发送该压缩信息,为了保证该第二通信设备接收到该压缩信息后可以快速获取到该压缩 信息对应的压缩上下文(即获取第二报文头)该压缩信息还可以包括:上文列举的索引号、 索引地址或用于指示第一报文头长度的指示信息,以便于该第二通信设备接收到该索引 号、索引地址和指示信息后可以快速获取该第二报文头。
[0130] 第一通信设备在编码压缩信息时,仅需在压缩信息中添加索引号、索引地址或指 示信息等,就可以使第二通信设备获取第二报文头,简化了编码过程。进一步地,相较于字 典压缩法中长度距离对的编码方法,该压缩方法100可以仅在压缩信息中添加第二报文头 的索引号等标识即可,无需复杂的编码过程,不但可以缩短压缩时延还可以提高压缩率。
[0131] 可选地,作为示例而非限定地,该第一通信设备从窗口中获取该第二报文头后,可 以通过将该窗口中的第二报文头替换为该第一报文头,更新该窗口;该第一通信设备根据 该长度对应的报文头作为压缩上下文的频率,确定该第一报文头的索引号第一报文头对应 的索引号第一报文头对应的索引号在索引表中的位置。可选地,该第一通信设备可以将该 第一报文头的索引号第一报文头对应的索引号置于索引表的首位。
[0132] 两个报文头的压缩时间越接近,两个报文头的关联性越高。因此,及时更新窗口, 有利于提高后续报文头的压缩率。同时,可以将第一报文头的索引号第一报文头对应的索 引号第一报文头对应的索引号置于索引表的首位,如果后续压缩报文的长度与该第一报文 头的长度相同,该第一通信设备可以快速获取该第一报文头的索引号第一报文头对应的索 引号第一报文头对应的索引号,以便于缩短压缩时延。
[0133] 例如,当前该第二报文头对应的索引号为表1所示的Len2,当该第一通信设备获取 该第二报文头后,可以通过存储第一报文头对该第二报文头进行覆盖,此时原本属于第二 报文头对应的索引号Len2此时可以对应第一报文头(由于第一报文头和第二报文头的长度 相同),该第一通信设备可以将Len2更新到索引表的顶部位置,如表7所示。
[0134] 表7
[0136] 如表7所示,由于压缩时间越接近,两个报文头的关联度越高。由于第一报文头的 关联度与后续待压缩报文头的关联度较高,该第一通信设备可以将该第一报文头对应的索 引号更新至索引表的顶部,如果后续待压缩报文头的长度与第一报文头的长度相同,该第 一通信设备可以快速获取该第一报文头的索引号,从而快速获取该第一报文头。
[0137] 上文结合图1至图5描述了,该第一通信设备可以基于第一报文头的长度从窗口中 获取与第一报文头长度相同的第二报文头作为该第一报文头的压缩上下文。可选地,为了 进一步地提高压缩率,该压缩方法1〇〇还可以包括:该第一通信设备获取该第一报文头的扩 展字段,该扩展字段包括该第一报文头中除长度字段以外的至少一种字段;该第一通信设 备根据该第一报文头的长度,从窗口中获取与该第一报文头的长度相同的第二报文头,包 括:该第一通信设备根据该第一报文头的长度和该扩展字段,从窗口中获取与该第一报文 头长度相同且包括的扩展字段与该第一报文头的扩展字段相同的第二报文头。
[0138] 具体而言,为了进一步提高第一报文头和第二报文头的匹配度(即增加第一报文 头和第二报文头相同字符的数量),该第一通信设备在获取第二报文时不但需要获取该第 一报文头的长度,还需要获取该第一报文头的扩展字段,从而基于该长度和该扩展字段获 取的第二报文头与第一报文头的相似性更高,从而可以提高第一报文头的压缩率。
[0139] 此时,若该第一通信设备存储有索引表,假设该扩展字段为应用层端口号,该索引 表可以如表8所示。
[0140] 表8
[0142] 如表8所示,该索引表可以包括索引号和索引地址两部分。其中,该索引号可以包 括第一索引号和第二索引号。每个第一索引号对应某个长度的报文头,每个第二索引号对 应某个应用层端口号的报文头。以该第一报文头的长度为16个字符,该第一报文头的应用 层端口号为TFTP69UDP为例,假设,索引号LenO对应长度为17个字符的报文头,Len2对应长 度为16个字符的报文头。Num3对应的应用层端口号为HTTP 80tcp的报文头,Num4对应的应 用层端口号为TFTP69UDP的报文头,Num5对应的应用层端口号为0NS53的报文头。该第一通 信设备通过查找索引表可以获取索引号为Lenl和Num4对应的索引地址Dis4,以用于该第一 通信设备根据该Dis4。
[0143] 需要说明的是,该第一通信设备根据第一报文的长度和该第一报文头的扩展字段 获取第二报文头之后进行压缩的过程与上述第一通信设备根据第一报文头的长度获取该 第二报文头的压缩过程类似,不在此赘述。
[0144] 还需要说明的是,以上列举的索引表、索引号、第一差异数据信息、第二差异数据 信息、去重标识和二次去重标识仅为示例性说明,不应对本发明构成任何限定。
[0145] 上文结合图1至图5描述了一种压缩方法,下面结合图6描述与该压缩方法对应的 解压方法200。
[0146] 图6是根据本发明实施例的解压方法200的示意性流程图。如图6所示,该解压方法 200包括:
[0147] S210、第二通信设备接收第一通信设备发送的第一报文头的压缩信息;
[0148] S220、该第二通信设备根据该压缩信息,从窗口中获取与该第一报文头长度相同 的第二报文头;
[0149] S230、该第二通信设备根据该压缩信息和该第二报文头,获取该第一报文头。
[0150] 具体而言,该第二通信设备接收该压缩信息后,可以根据该压缩信息获取与第一 报文头长度相同的第二报文头。进而根据该压缩信息以及该第二报文头获取该第一报文。 其中,该第一报文头获取该第二报文头的方法由多种。
[0151] 例如,该压缩信息可以包括用于指示该第一报文头长度的指示信息,该第二通信 设备根据该压缩信息,从窗口中获取与该第一报文头长度相同的第二报文头,包括:该第二 通信设备根据该指示信息,从该窗口中获取该第二报文头。
[0152] 具体而言,该压缩信息可以包括指示信息,该第二通信设备获取该指示信息后可 以从窗口中获取与该第一报文头长度相同的第二报文头。具体的获取方法可以参见上文第 一通信设备获取第二报文头的方法,此处不再赘述。
[0153] 又例如,该第二通信设备存储有查找表,该查找表包括该第二报文头对应的索引 号和该索引号对应的索引地址;该压缩信息包括该第二报文头对应的索引号,该第二通信 设备根据该压缩信息,从窗口中获取与该第一报文头长度相同的第二报文头,包括:该第二 通信设备根据该索引号,从该查找表中获取该索引号对应的索引地址,该第二通信设备根 据该索引地址,从该窗口中获取该第二报文头。
[0154] 具体而言,该压缩信息包括第二报文头对应的索引号,该第二通信设备可以根据 该索引号获取相应的索引地址,从而根据该索引地址,从窗口中获取该第二报文头。
[0155] 再例如,该压缩信息包括该索引地址,该第二通信设备根据该压缩信息,从窗口中 获取与该第一报文头长度相同的第二报文头,包括:该第二通信设备根据该索引地址,从该 窗口中获取该第二报文头
[0156] 具体而言,该压缩信息包括索引地址,该第二通信设备接收到该压缩信息后,可以 根据该索引地址直接获取该第二报文头。
[0157] 需要说明的是,以上列举的第二通信设备获取该第二报文头的方法仅为示例性说 明,任何获取与待压缩报文头长度相同的压缩上下文的解压方法均落入本发明的保护范 围。
[0158] 因此,本发明实施例的解压方法,获取与第一报文头长度相同的第二报文头对该 第一报文头的压缩信息进行解压,能够简化解压过程,缩短解压时延。进一步地,该压缩信 息可以包括索引号、指示信息以及索引地址等用于第二通信设备获取该第二报文头的信 息,不但可以简化编码过程,还可以提高压缩率。
[0159] 基于第一通信设备不同的压缩方式,该第二通信设备接收的压缩信息的有多种。
[0160] 例如,在本发明实施例中,作为示例而非限定的,该压缩信息包括二次去重标识和 按序排列的第一报文头包括的与该第二报文头位置相同且内容不同的差异字符,该二次去 重标识用于指示第一报文头的第一差异数据信息和第二报文头的第二差异数据信息相同。 该第二通信设备存储有该第二报文头的第二差异数据信息,该第二差异数据信息用于指示 该第二报文头的每个字符和该第二报文头的压缩上下文相同位置处的每个字符是否相同。 该第二通信设备根据该压缩信息和该第二报文头,获取该第一报文头,包括:该第二通信设 备根据该二次去重标识,获取该第二差异数据信息,该第二通信设备根据该第二差异数据 信息、该差异字符和该第二报文头,获取该第一报文头。
[0161] 具体而言,该压缩信息中包括二次去重标识,该第二通信设备可以根据该二次去 重标识获知该第一差异数据信息和该第二差异数据信息相同,因此该第二通信设备可以获 取该第二差异数据信息,从而该第二通信设备可以根据该第二差异数据信息和第二报文头 对该压缩信息进行解压。可选地,该第二差异数据信息包括按序排列的第一数量信息和第 二数量信息,该第一数量信息用于指示由第二报文头和该压缩上下文之间位置相同且内容 相同的相同字符组成的相同区域包括的该相同字符的数量;该第二数量信息用于指示由该 差异字符组成的差异区域包括的差异字符的数量。例如,假设该第二差异数据信息如表2所 示,该第二通信设备获取该压缩信息以及第二差异数据信息后,可以获得该第一报文头。
[0162] 又例如,在本发明实施例中,作为示例而非限定的,该压缩信息包括按序排列的长 度编码和该第一报文头包括的与该第二报文头位置相同且内容不同的差异字符,该长度编 码用于指示由第一报文头和第二报文头之间位置相同且内容相同的相同字符组成的相同 区域包括的该相同字符的数量;该第二通信设备根据该压缩信息和该第二报文头,获取该 第一报文头,包括:该第二通信设备根据该长度编码、该差异字符和该第二报文头,获取该 第一报文头。可选地,该压缩信息还可以包括去重标识,该去重标识用于指示该第一报文头 的第一差异数据信息和第二报文头的差异数据信息不同。
[0163] 具体而言,该第二通信设备接收到该压缩信息后,可以根据压缩信息中该长度编 码和该差异字符的排列顺序或位置,获取该第一报文头。进一步地,该第二通信设备还可以 根据该长度编码和该差异字符的排列顺序或位置获取该第一报文头的第一差异数据信息; 该第二通信设备存储该第一差异数据信息。该第二通信设备可以存储第一差异数据信息, 以便于在后续报文头的压缩过程中可以是该第一差异数据信息。该第一通信设备通过压缩 第一报文头可以获取该第一报文头的第一差异数据信息,进行存储。相应的该第二报文头 可以通过解压该第一报文头的压缩信息,获取该第一报文头的第一差异数据信息,进行存 储。
[0164] 可选地,该解压方法还包括:该第二通信设备通过将该窗口中的第二报文头替换 为该第一报文头,更新该窗口;该第二通信设备根据该长度对应的报文头作为压缩上下文 的频率,确定该第一报文头对应的索引号在索引表中的位置。
[0165] 具体而言,由于两个报文头的压缩时间越接近,两个报文头的相似度越高。因此, 该第一通信设备在压缩第一报文头的时候会更新窗口,与之相应的,该第二通信设备在解 压第一报文头的压缩信息时,也需要通过存储该第一报文头更新该窗口,以便于对后续报 文头进行解压。
[0166] 应理解,本发明实施例中,该第一通信设备存储的窗口和第二通信设备存储的窗 口具有一致性。换句话说,第一通信设备存储的窗口与第二通信设备存储的窗口相同;第一 通信设备存储的初始窗口与第二通信设备存储的初始窗口相同。
[0167] 在本发明实施例中,作为示例而非限定的,该第二通信设备从窗口中获取与该第 一报文头长度相同的第二报文头,包括:该第二通信设备从窗口中获取与该第一报文头长 度相同且包括的扩展字段与该第一报文头的扩展字段相同的第二报文头。
[0168] 具体而言,第二通信设备获取的第二报文头跟第一通信设备获取的第二报文头具 有一致性,第一报文头基于何种条件获取该第二报文头,相应的该第二通信设备也会获取 相同条件的第二报文头。
[0169] 因此,本发明实施例提供的压缩方法可以缩短压缩时延。与之相应的,本发明实施 例提供的解压方法仅需获取第二报文头可以缩短解压时延,简化解压过程。
[0170] 应理解,上述解压方法200和上述压缩方法100可以是相对应的,因此上述索引表、 索引号、第一差异数据信息、第二差异数据信息、二次去重等可以参见图1至图5所示的实施 例中的相关描述,此处不再赘述。
[0171] 以上结合图1至图6描述了压缩方法和解压方法,下面结合图7和图8描述压缩装置 和解压装置。
[0172] 图7示出了根据本发明实施例的压缩装置的示意性框图。如图7所示,该压缩装置 300包括:
[0173] 确定模块310,用于确定第一报文头的长度;
[0174] 获取模块320,用于根据该第一报文头的长度,从窗口中获取与该第一报文头长度 相同的第二报文头;
[0175] 该获取模块320还用于通过将该第一报文头的每个字符和该第二报文头相同位置 处的每个字符进行比较,获取该第一报文头的压缩信息;
[0176] 发送模块330,用于向通信设备发送该压缩信息。
[0177] 因此,该压缩装置300无需对该第一报文头的所有字段进行解析,可以简化压缩过 程,缩短压缩时延。进一步地,由于第一报文头和第二报文头的长度相同,可以实现全字段 对齐,从而进行逐字符对位比较的压缩。相较于现有技术中的字段进行压缩,该压缩装置 300可以实现字符压缩,能够提高压缩效率。
[0178] 可选地,该获取模块320具体用于:
[0179] 通过将该第一报文头的每个字符和该第二报文头相同位置处的每个字符进行比 较,获取该第一报文头的第一差异数据信息,该第一差异数据信息用于指示该第一报文头 的每个字符和该第二报文头相同位置处的每个字符是否相同;
[0180]根据该第一差异数据信息,获取该第一报文头的压缩信息。
[0181]可选地,该压缩装置300存储有该第二报文头的第二差异数据信息,该第二差异数 据信息用于指示该第二报文头的每个字符和该第二报文头的压缩上下文相同位置处的每 个字符是否相同,该获取模块320具体用于:确定该第一差异数据信息和该第二差异数据信 息是否相同;
[0182] 若该第一差异数据信息和该第二差异数据信息相同,获取该第一报文头的压缩信 息,该压缩信息包括二次去重标识和按序排列的第一报文头包括的与该第二报文头位置相 同且内容不同的差异字符,该二次去重标识用于指示该第一差异数据信息和该第二差异数 据信息相同。
[0183] 可选地,该第一差异数据信息包括按序排列的第一数量信息和第二数量信息,该 第一数量信息用于指示由该第一报文头和该第二报文头之间位置相同且内容相同的相同 字符组成的相同区域包括的该相同字符的数量;该第二数量信息用于指示由该第一报文头 和该第二报文头之间位置相同且内容不同的差异字符组成的差异区域包括的该差异字符 的数量。
[0184] 可选地,该获取模块320获取的压缩信息包括按序排列的长度编码和第一报文头 包括的与该第二报文头位置相同且内容不同的差异字符,该长度编码用于指示由第一报文 头和第二报文头之间位置相同且内容相同的相同字符组成的相同区域包括的该相同字符 的数量。
[0185] 可选地,该获取模块320具体用于:根据该第一报文头的长度,获取与该第一报文 头长度相同的第二报文头对应的索引号;根据该索引号,从该查找表中获取该索引号对应 的索引地址;根据该索引地址,从窗口中获取该第二报文头,该压缩信息包括该索引号、该 索引地址或用于指示该第一报文头长度的指示信息。
[0186] 可选地,该压缩装置300还包括:更新模块,用于通过将该窗口中的第二报文头替 换为该第一报文头,更新该窗口;该确定模块310还用于根据该长度对应的报文头作为压缩 上下文的频率,确定该第一报文头对应的索引号在索引表中的位置。
[0187] 可选地,该获取模块320还用于获取该第一报文头的扩展字段,该扩展字段包括该 第一报文头中除长度字段以外的至少一种字段;
[0188] 该获取模块320具体用于根据该第一报文头的长度和该扩展字段,从窗口中获取 与该第一报文头长度相同且包括的扩展字段与该第一报文头的扩展字段相同的第二报文 头。
[0189]因此,该压缩装置300无需解析第一报文头的所有字段,仅需获取该第一报文头的 长度获取第二报文头可以简化压缩过程,缩短压缩时延。进一步,该压缩装置还可以基于该 第一报文头的长度和扩展字段获取该第二报文头从而进一步提高第一报文的压缩率。并且 该压缩装置300还可以对该第一报文头进行二次压缩,进一步提高压缩率。更进一步地,该 第一通信设备在压缩时无需复杂的编码仅需将该索引号、索引地址或指示信息发送给第二 通信设备就可以使第二通信设备获取该第二报文头,能够简化编码过程。
[0190]需要说明的是上述索引表、索引号、第一差异数据信息等可以参见图1至图5所示 的实施例中的相关描述,此处不再赘述。
[0191] 还需要说明的是上述压缩装置可以对应于上述压缩方法或解压方法中的第一通 信设备,该压缩装置中的通信设备可以对应于上述压缩方法或解压方法中的第二通信设 备。
[0192] 图8示出了本发明实施例的解压装置的示意性框图,如图8所示,该解压装置400包 括:
[0193] 接收模块410,用于接收通信设备发送的第一报文头的压缩信息;
[0194] 获取模块420,用于根据该压缩信息,从窗口中获取与该第一报文头长度相同的第 二报文头;
[0195] 该获取模块420还用于根据该压缩信息和该第二报文头,获取该第一报文头。
[0196] 因此,该解压装置400仅需根据压缩信息获取与第一报文头长度相同的第二报文 头,从而根据该第二报文头对该压缩信息进行解压,可以缩短压缩时延。
[0197] 可选地,该解压装置400存储有该第二报文头的第二差异数据信息,该第二差异数 据信息用于指示该第二报文头的每个字符和该第二报文头的压缩上下文相同位置处的每 个字符是否相同;该压缩信息包括二次去重标识和按序排列的第一报文头包括的与该第二 报文头位置相同且内容不同的差异字符,该二次去重标识用于指示该第一差异数据信息和 该第二差异数据信息相同;
[0198] 该获取模块420还用于根据该二次去重标识,获取该第二差异数据信息;该获取模 块420具体用于根据该第二差异数据信息、该差异字符和该第二报文头,获取该第一报文 头。
[0199] 可选地,该第二差异数据信息包括按序排列的第一数量信息和第二数量信息,该 第一数量信息用于指示由第二报文头和该压缩上下文之间位置相同且内容相同的相同字 符组成的相同区域包括的该相同字符的数量;该第二数量信息用于指示由该第二报文头和 该压缩上行文之间位置相同且内容不同的差异字符组成的差异区域包括的差异字符的数 量。
[0200] 可选地,该压缩信息包括按序排列的长度编码和该第一报文头包括的与该第二报 文头位置相同且内容不同的差异字符,该长度编码用于指示由第一报文头和第二报文头之 间位置相同且内容相同的相同字符组成的相同区域包括的该相同字符的数量;
[0201] 该获取模块420具体用于根据该长度编码、该差异字符和该第二报文头,获取该第 一报文头。
[0202] 可选地,该获取模块420还用于根据该压缩信息中该长度编码和该差异字符的排 序,获取该第一报文头的第一差异数据信息;该解压装置400还包括存储模块,该存储模块 用于存储该第一差异数据信息,以用于后续待压缩报文头的压缩。
[0203]可选地,该压缩信息包括用于指示该第一报文头长度的指示信息,该获取模块420 具体用于根据该指示信息,从该窗口中获取该第二报文头;或
[0204] 该解压装置400存储有查找表,该查找表包括该第二报文头对应的索引号和该索 引号对应的索引地址;该压缩信息包括该第二报文头对应的索引号,该获取模块420具体用 于根据该索引号,从该查找表中获取该索引号对应的索引地址,根据该索引地址,从该窗口 中获取该第二报文头;或该压缩信息包括该索引地址,该获取模块420具体用于根据该索引 地址,从该窗口中获取该第二报文头。
[0205] 可选地,该解压装置400还包括:更新模块,该更新模块用于通过将该窗口中的第 二报文头替换为该第一报文头,更新该窗口;确定模块,该确定模块用于根据该长度对应的 报文头作为压缩上下文的频率,确定该第一报文头对应的索引号在索引表中的位置。
[0206] 可选地,该获取模块420具体用于从窗口中获取与该第一报文头长度相同且包括 的扩展字段与该第一报文头的扩展字段相同的第二报文头。
[0207]因此,上述压缩装置300可以缩短压缩时延,与之相应的该解压装置300可以仅需 获取一个第二报文头对该压缩信息进行解压可以缩短解压时延。
[0208]需要说明的是上述索引表、索引号、第一差异数据信息等可以参见图1至图5所示 的实施例中的相关描述,此处不再赘述。
[0209] 还需要说明的是上述解压装置可以对应于上述压缩方法或解压方法中的第二通 信设备,该解压装置中的通信设备可以对应于上述压缩方法或解压方法中的第一通信设 备。
[0210] 以上结合图7和图8描述了压缩装置和解压装置,以下结合图9和图10描述压缩设 备和解压设备。
[0211] 图9示出了根据本发明实施例的压缩设备的示意性框图。如图9所示,该压缩设备 500包括:
[0212] 发送器510、存储器520、处理器530和总线系统540。其中,发送器510、存储器520和 处理器530通过总线系统540相连,发送器510用于发送压缩信息,存储器520用于存储指令, 该处理器530用于执行该存储器520存储的指令,该处理器530具体用于:
[0213] 确定第一报文头的长度;根据该第一报文头的长度,从窗口中获取与该第一报文 头长度相同的第二报文头;通过将该第一报文头的每个字符和该第二报文头相同位置处的 每个字符进行比较,获取该第一报文头的压缩信息;向通信设备发送该压缩信息。
[0214] 因此,该压缩设备无需对该第一报文头的所有字段进行解析,可以简化压缩过程, 缩短压缩时延。进一步地,由于第一报文头和第二报文头的长度相同,可以实现全字段对 齐,从而进行逐字符对位比较的压缩。相较于现有技术中的字段进行压缩,该压缩设备500 可以实现字符压缩,能够提高压缩效率。
[0215] 可选地,该处理器530具体用于:通过将该第一报文头的每个字符和该第二报文头 相同位置处的每个字符进行比较,获取该第一报文头的第一差异数据信息,该第一差异数 据信息用于指示该第一报文头的每个字符和该第二报文头相同位置处的每个字符是否相 同;根据该第一差异数据信息,获取该第一报文头的压缩信息。
[0216] 可选地,该压缩设备500存储有该第二报文头的第二差异数据信息,该第二差异数 据信息用于指示该第二报文头的每个字符和该第二报文头的压缩上下文相同位置处的每 个字符是否相同,该处理器530具体用于:确定该第一差异数据信息和该第二差异数据信息 是否相同;
[0217] 若该第一差异数据信息和该第二差异数据信息相同,获取该第一报文头的压缩信 息,该压缩信息包括二次去重标识和按序排列的第一报文头包括的与该第二报文头位置相 同且内容不同的差异字符,该二次去重标识用于指示该第一差异数据信息和该第二差异数 据信息相同。
[0218] 可选地,该第一差异数据信息包括按序排列的第一数量信息和第二数量信息,该 第一数量信息用于指示由该第一报文头和该第二报文头之间位置相同且内容相同的相同 字符组成的相同区域包括的该相同字符的数量;该第二数量信息用于指示由该第一报文头 和该第二报文头之间位置相同且内容不同的差异字符组成的差异区域包括的该差异字符 的数量。
[0219]可选地,该处理器530获取的压缩信息包括按序排列的长度编码和第一报文头包 括的与该第二报文头位置相同且内容不同的差异字符,该长度编码用于指示由第一报文头 和第二报文头之间位置相同且内容相同的相同字符组成的相同区域包括的该相同字符的 数量。
[0220]可选地,该处理器530具体用于:根据该第一报文头的长度,获取与该第一报文头 长度相同的第二报文头对应的索引号;根据该索引号,从该查找表中获取该索引号对应的 索引地址;根据该索引地址,从窗口中获取该第二报文头,该压缩信息包括该索引号、该索 引地址或用于指示该第一报文头长度的指示信息。
[0221] 可选地,该处理器530还用于:通过将该窗口中的第二报文头替换为该第一报文 头,更新该窗口;根据该长度对应的报文头作为压缩上下文的频率,确定该第一报文头对应 的索引号在索引表中的位置。
[0222] 可选地,该处理器530还用于获取该第一报文头的扩展字段,该扩展字段包括该第 一报文头中除长度字段以外的至少一种字段;
[0223]该处理器530具体用于根据该第一报文头的长度和该扩展字段,从窗口中获取与 该第一报文头长度相同且包括的扩展字段与该第一报文头的扩展字段相同的第二报文头。
[0224] 因此,该压缩设备500无需解析第一报文头的所有字段,仅需获取该第一报文头的 长度获取第二报文头可以简化压缩过程,缩短压缩时延。进一步,该压缩设备500还可以基 于该第一报文头的长度和扩展字段获取该第二报文头从而进一步提高第一报文的压缩率。 并且该压缩设备500还可以对该第一报文头进行二次压缩,进一步提高压缩率。
[0225] 需要说明的是上述索引表、索引号、第一差异数据信息等可以参见图1至图5所示 的实施例中的相关描述,此处不再赘述。还需要说明的是上述压缩设备可以对应于上述压 缩方法或解压方法中的第一通信设备,该压缩设备中的通信设备可以对应于上述压缩方法 或解压方法中的第二通信设备。
[0226] 应理解,在本发明实施例中,该处理器530可以是中央处理单元(Central Processing Unit,简称为"CPU"),该处理器530还可以是其他通用处理器、数字信号处理器 (DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门 或者晶体管逻辑器件、分立硬件列件等。通用处理器可以是微处理器或者该处理器也可以 是任何常规的处理器等。
[0227] 该存储器520可以包括只读存储器和随机存取存储器,并向处理器530提供指令和 数据。存储器520的一部分还可以包括非易失性随机存取存储器。例如,存储器520还可以存 储设备类型的信息。
[0228] 该总线系统540除包括数据总线之外,还可以包括电源总线、控制总线和状态信号 总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统540。
[0229] 在实现过程中,上述方法的各步骤可以通过处理器530中的硬件的集成逻辑电路 或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处 理器执行完成,或者用处理器中的硬件及软件模块列合执行完成。软件模块可以位于随机 存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领 域成熟的存储介质中。该存储介质位于存储器520,处理器530读取存储器520中的信息,结 合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0230] 图10示出了本发明实施例的解压设备600的示意性框图,如图10所示,该解压设备 600包括:
[0231] 接收器610、存储器620、处理器630和总线系统640。其中,接收器610、存储器620和 处理器630通过总线系统640相连,接收器610用于接收压缩信息,存储器620用于存储指令, 该处理器630用于执行该存储器620存储的指令,该处理器630具体用于:
[0232] 接收通信设备发送的第一报文头的压缩信息;根据该压缩信息,从窗口中获取与 该第一报文头长度相同的第二报文头;根据该压缩信息和该第二报文头,获取该第一报文 头。
[0233] 因此,该解压设备600仅需根据压缩信息获取与第一报文头长度相同的第二报文 头,从而根据该第二报文头对该压缩信息进行解压,可以缩短解压时延。
[0234] 可选地,该解压设备600存储有该第二报文头的第二差异数据信息,该第二差异数 据信息用于指示该第二报文头的每个字符和该第二报文头的压缩上下文相同位置处的每 个字符是否相同;
[0235] 该压缩信息可以包括二次去重标识和按序排列的第一报文头包括的与该第二报 文头位置相同且内容不同的差异字符,该二次去重标识用于指示第二报文头的第一差异数 据信息和该第二差异数据信息相同;
[0236]该处理器630具体用于根据该二次去重标识,获取该第二差异数据信息;该处理器 630具体用于根据该第二差异数据信息、该差异字符和该第二报文头,获取该第一报文头。
[0237] 可选地,该第二差异数据信息包括按序排列的第一数量信息和第二数量信息,该 第一数量信息用于指示由第二报文头和该压缩上下文之间位置相同且内容相同的相同字 符组成的相同区域包括的该相同字符的数量;该第二数量信息用于指示由该差异字符组成 的差异区域包括的差异字符的数量。
[0238] 可选地,该压缩信息包括按序排列的长度编码和按序排列的该第一报文头包括的 与该第二报文头位置相同且内容不同的差异字符,该长度编码用于指示由第一报文头和第 二报文头之间位置相同且内容相同的相同字符组成的相同区域包括的该相同字符的数量; [0239]该处理器630具体用于根据该长度编码、该差异字符和该第二报文头,获取该第一 报文头。
[0240] 可选地,该处理器630还用于根据该压缩信息中该长度编码和该差异字符的排列 顺序或位置,获取该第一报文头的第一差异数据信息;
[0241]该处理器630还用于存储该第一差异数据信息,以用于后续待压缩报文头的压缩。 [0242]可选地,该压缩信息包括用于指示该第一报文头长度的指示信息,该处理器630具 体用于根据该指示信息,从该窗口中获取该第二报文头;或
[0243]该处理设备600存储有查找表,该查找表包括该第二报文头对应的索引号和该索 引号对应的索引地址;该压缩信息包括该第二报文头对应的索引号,该处理器630具体用于 根据该索引号,从该查找表中获取该索引号对应的索引地址,根据该索引地址,从该窗口中 获取该第二报文头;或
[0244] 该压缩信息包括该索引地址,该处理器630具体用于根据该索引地址,从该窗口中 获取该第二报文头。
[0245] 可选地,该处理器630还用于:通过将该窗口中的第二报文头替换为该第一报文 头,更新该窗口;根据该长度对应的报文头作为压缩上下文的频率,确定该第一报文头对应 的索引号在索引表中的位置。
[0246]可选地,该处理器630具体用于从窗口中获取与该第一报文头长度相同且包括的 扩展字段与该第一报文头的扩展字段相同的第二报文头。
[0247] 因此,上述压缩设备500可以缩短压缩时延,与之相应的该解压设备600仅需获取 一个第二报文头对该压缩信息进行解压可以缩短解压时延。
[0248] 需要说明的是上述索引表、索引号、第一差异数据信息等可以参见图1至图5所示 的实施例中的相关描述,此处不再赘述。
[0249] 还需要说明的是上述解压设备600可以对应于上述压缩方法或解压方法中的第二 通信设备,该解压设备600中的通信设备可以对应于上述压缩方法或解压方法中的第一通 信设备。
[°250] 应理解,在本发明实施例中,该处理器630可以是中央处理单元(Central Processing Unit,简称为"CPU"),该处理器630还可以是其他通用处理器、数字信号处理器 (DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门 或者晶体管逻辑器件、分立硬件列件等。通用处理器可以是微处理器或者该处理器也可以 是任何常规的处理器等。
[0251]该存储器620可以包括只读存储器和随机存取存储器,并向处理器630提供指令和 数据。存储器620的一部分还可以包括非易失性随机存取存储器。例如,存储器620还可以存 储设备类型的信息。
[0252] 该总线系统640除包括数据总线之外,还可以包括电源总线、控制总线和状态信号 总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统640。
[0253] 在实现过程中,上述方法的各步骤可以通过处理器630中的硬件的集成逻辑电路 或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处 理器执行完成,或者用处理器中的硬件及软件模块列合执行完成。软件模块可以位于随机 存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领 域成熟的存储介质中。该存储介质位于存储器620,处理器630读取存储器620中的信息,结 合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0254] 应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺 序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施 过程构成任何限定。
[0255] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单 元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件 和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的列成及步骤。这 些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专 业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不 应认为超出本发明的范围。
[0256] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系 统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0257] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以 通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划 分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或列件可 以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论 的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或 通信连接,也可以是电的,机械的或其它的形式连接。
[0258]上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案 的目的。
[0259] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的 单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0260] 上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用 时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上 或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式 体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机 设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例该方法的全部 或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程 序代码的介质。
[0261] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替 换,这些修改或替换都应涵盖在本发明的保护范围之内,因此,本发明的保护范围应以权利 要求的保护范围为准。
【主权项】
1. 一种压缩方法,其特征在于,所述压缩方法包括: 第一通信设备确定第一报文头的长度; 所述第一通信设备根据所述第一报文头的长度,从窗口中获取与所述第一报文头长度 相同的第二报文头; 所述第一通信设备通过将所述第一报文头的每个字符和所述第二报文头相同位置处 的每个字符进行比较,获取所述第一报文头的压缩信息; 所述第一通信设备向第二通信设备发送所述压缩信息。2. 根据权利要求1所述的压缩方法,其特征在于,所述第一通信设备通过将所述第一报 文头的每个字符和所述第二报文头相同位置处的每个字符进行比较,获取所述第一报文头 的压缩信息,包括: 所述第一通信设备通过将所述第一报文头的每个字符和所述第二报文头相同位置处 的每个字符进行比较,获取所述第一报文头的第一差异数据信息,所述第一差异数据信息 用于指示所述第一报文头的每个字符和所述第二报文头相同位置处的每个字符是否相同; 所述第一通信设备根据所述第一差异数据信息,获取所述第一报文头的压缩信息。3. 根据权利要求2所述的压缩方法,其特征在于,所述第一通信设备存储有所述第二报 文头的第二差异数据信息,所述第二差异数据信息用于指示所述第二报文头的每个字符和 所述第二报文头的压缩上下文相同位置处的每个字符是否相同,所述第一通信设备根据所 述第一差异数据信息,获取所述第一报文头的压缩信息,包括: 所述第一通信设备确定所述第一差异数据信息和所述第二差异数据信息是否相同; 若所述第一差异数据信息和所述第二差异数据信息相同,所述第一通信设备获取所述 第一报文头的压缩信息,所述压缩信息包括二次去重标识和按序排列的所述第一报文头包 括的与所述第二报文头位置相同且内容不同的差异字符,所述二次去重标识用于指示所述 第一差异数据信息和所述第二差异数据信息相同。4. 根据权利要求2或3所述的压缩方法,其特征在于,所述第一差异数据信息包括按序 排列的第一数量信息和第二数量信息,所述第一数量信息用于指示由所述第一报文头和所 述第二报文头之间位置相同且内容相同的相同字符组成的相同区域包括的所述相同字符 的数量;所述第二数量信息用于指示由所述第一报文头和所述第二报文头之间位置相同且 内容不同的差异字符组成的差异区域包括的所述差异字符的数量。5. 根据权利要求1或2所述的压缩方法,其特征在于,所述压缩信息包括按序排列的长 度编码和所述第一报文头包括的与所述第二报文头位置相同且内容不同的差异字符,所述 长度编码用于指示由所述第一报文头和所述第二报文头之间位置相同且内容相同的相同 字符组成的相同区域包括的所述相同字符的数量。6. 根据权利要求1至5中任一项所述的压缩方法,其特征在于,所述第一通信设备根据 所述第一报文头的长度,从窗口中获取与所述第一报文头长度相同的第二报文头,包括: 所述第一通信设备根据所述第一报文头的长度,获取与所述第一报文头长度相同的第 二报文头对应的索引号; 所述第一通信设备根据所述索引号,从所述查找表中获取所述索引号对应的索引地 址; 所述第一通信设备根据所述索引地址,从窗口中获取所述第二报文头,所述压缩信息 包括所述索引号、所述索引地址或用于指示所述第一报文头长度的指示信息。7. 根据权利要求1至6中任一项所述的压缩方法,其特征在于,所述压缩方法还包括: 所述第一通信设备通过将所述窗口中的第二报文头替换为所述第一报文头,更新所述 窗口; 所述第一通信设备根据所述长度对应的报文头作为压缩上下文的频率,确定所述第一 报文头对应的索引号在索引表中的位置。8. 根据权利要求1至7中任一项所述的压缩方法,其特征在于,所述压缩方法还包括:所 述第一通信设备获取所述第一报文头的扩展字段,所述扩展字段包括所述第一报文头中除 长度字段以外的至少一种字段; 所述第一通信设备根据所述第一报文头的长度,从窗口中获取与所述第一报文头的长 度相同的第二报文头,包括: 所述第一通信设备根据所述第一报文头的长度和所述扩展字段,从窗口中获取与所述 第一报文头长度相同且包括的扩展字段与所述第一报文头的扩展字段相同的第二报文头。9. 一种解压方法,其特征在于,所述解压方法包括: 第二通信设备接收第一通信设备发送的第一报文头的压缩信息; 所述第二通信设备根据所述压缩信息,从窗口中获取与所述第一报文头长度相同的第 二报文头; 所述第二通信设备根据所述压缩信息和所述第二报文头,获取所述第一报文头。10. 根据权利要求9所述的解压方法,其特征在于,所述第二通信设备存储有所述第二 报文头的第二差异数据信息,所述第二差异数据信息用于指示所述第二报文头的每个字符 和所述第二报文头的压缩上下文相同位置处的每个字符是否相同; 所述压缩信息包括二次去重标识和按序排列的所述第一报文头包括的与所述第二报 文头位置相同且内容不同的差异字符,所述二次去重标识用于指示所述第一报文头的第一 差异数据信息和所述第二差异数据信息相同; 所述第二通信设备根据所述压缩信息和所述第二报文头,获取所述第一报文头,包括: 所述第二通信设备根据所述二次去重标识,获取所述第二差异数据信息; 所述第二通信设备根据所述第二差异数据信息、所述差异字符和所述第二报文头,获 取所述第一报文头。11. 根据权利要求10所述的解压方法,其特征在于,所述第二差异数据信息包括按序排 列的第一数量信息和第二数量信息,所述第一数量信息用于指示由所述第二报文头和所述 压缩上下文之间位置相同且内容相同的相同字符组成的相同区域包括的所述相同字符的 数量;所述第二数量信息用于指示由所述第二报文头和所述压缩上下文之间位置相同且内 容不同的差异字符组成的差异区域包括的差异字符的数量。12. 根据权利要求9所述的解压方法,其特征在于,所述压缩信息包括按序排列的长度 编码和所述第一报文头包括的与所述第二报文头位置相同且内容不同的差异字符,所述长 度编码用于指示由所述第一报文头和所述第二报文头之间位置相同且内容相同的相同字 符组成的相同区域包括的所述相同字符的数量; 所述第二通信设备根据所述压缩信息和所述第二报文头,获取所述第一报文头,包括: 所述第二通信设备根据所述长度编码、所述差异字符和所述第二报文头,获取所述第 一报文头。13. 根据权利要求12所述的解压方法,其特征在于,所述解压方法还包括:所述第二通 信设备根据所述压缩信息中所述长度编码和所述差异字符的排序,获取所述第一报文头的 第一差异数据信息; 所述第二通信设备存储所述第一差异数据信息,以用于后续待压缩报文头的解压。14. 根据权利要求9至13中任一项所述的解压方法,其特征在于,所述压缩信息包括用 于指示所述第一报文头长度的指示信息,所述第二通信设备根据所述压缩信息,从窗口中 获取与所述第一报文头长度相同的第二报文头,包括:所述第二通信设备根据所述指示信 息,从所述窗口中获取所述第二报文头;或 所述第二通信设备存储有查找表,所述查找表包括所述第二报文头对应的索引号和所 述索引号对应的索引地址;所述压缩信息包括所述第二报文头对应的索引号,所述第二通 信设备根据所述压缩信息,从窗口中获取与所述第一报文头长度相同的第二报文头,包括: 所述第二通信设备根据所述索引号,从所述查找表中获取所述索引号对应的索引地址,所 述第二通信设备根据所述索引地址,从所述窗口中获取所述第二报文头;或 所述压缩信息包括所述第二报文头对应的索引地址,所述第二通信设备根据所述压缩 信息,从窗口中获取与所述第一报文头长度相同的第二报文头,包括:所述第二通信设备根 据所述索引地址,从所述窗口中获取所述第二报文头。15. 根据权利要求9至14中任一项所述的解压方法,其特征在于,所述解压方法还包括: 所述第二通信设备通过将所述窗口中的第二报文头替换为所述第一报文头,更新所述 窗口; 所述第二通信设备根据所述长度对应的报文头作为压缩上下文的频率,确定所述第一 报文头对应的索引号在索引表中的位置。16. 根据权利要求9至15中任一项所述的解压方法,其特征在于,所述第二通信设备从 窗口中获取与所述第一报文头长度相同的第二报文头,包括: 所述第二通信设备从窗口中获取与所述第一报文头长度相同且包括的扩展字段与所 述第一报文头的扩展字段相同的第二报文头。17. -种压缩装置,其特征在于,所述压缩装置包括: 确定模块,用于确定第一报文头的长度; 获取模块,用于根据所述第一报文头的长度,从窗口中获取与所述第一报文头长度相 同的第二报文头; 所述获取模块还用于通过将所述第一报文头的每个字符和所述第二报文头相同位置 处的每个字符进行比较,获取所述第一报文头的压缩信息; 发送模块,用于向通信设备发送所述压缩信息。18. 根据权利要求17所述的压缩装置,其特征在于,所述获取模块具体用于: 通过将所述第一报文头的每个字符和所述第二报文头相同位置处的每个字符进行比 较,获取所述第一报文头的第一差异数据信息,所述第一差异数据信息用于指示所述第一 报文头的每个字符和所述第二报文头相同位置处的每个字符是否相同; 根据所述第一差异数据信息,获取所述第一报文头的压缩信息。19. 根据权利要求18所述压缩装置,其特征在于,所述压缩装置存储有所述第二报文头 的第二差异数据信息,所述第二差异数据信息用于指示所述第二报文头的每个字符和所述 第二报文头的压缩上下文相同位置处的每个字符是否相同,所述获取模块具体用于: 确定所述第一差异数据信息和所述第二差异数据信息是否相同; 若所述第一差异数据信息和所述第二差异数据信息相同,获取所述第一报文头的压缩 信息,所述压缩信息包括二次去重标识和按序排列的所述第一报文头包括的与所述第二报 文头位置相同且内容不同的差异字符,所述二次去重标识用于指示所述第一差异数据信息 和所述第二差异数据信息相同。20. 根据权利要求18或19所述的压缩装置,其特征在于,所述第一差异数据信息包括按 序排列的第一数量信息第二数量信息,所述第一数量信息用于指示由所述第一报文头和所 述第二报文头之间位置相同且内容相同的相同字符组成的相同区域包括的所述相同字符 的数量;所述第二数量信息用于指示由所述第一报文头和所述第二报文头之间位置相同且 内容不同的差异字符组成的差异区域包括的所述差异字符的数量。21. 根据权利要求17或18所述的压缩装置,其特征在于,所述获取模块获取的压缩信息 包括按序排列的长度编码和所述第一报文头包括的与所述第二报文头位置相同且内容不 同的差异字符,所述长度编码用于指示由第一报文头和第二报文头之间位置相同且内容相 同的相同字符组成的相同区域包括的所述相同字符的数量。22. 根据权利要求17至21中任一项所述的压缩装置,其特征在于,所述获取模块具体用 于: 根据所述第一报文头的长度,获取与所述第一报文头长度相同的第二报文头对应的索 引号; 根据所述索引号,从所述查找表中获取所述索引号对应的索引地址; 根据所述索引地址,从窗口中获取所述第二报文头,所述压缩信息包括所述索引号、所 述索引地址或用于指示所述第一报文头长度的指示信息。23. 根据权利要求17至22中任一项所述的压缩装置,其特征在于,所述压缩装置还包 括: 更新模块,用于通过将所述窗口中的第二报文头替换为所述第一报文头,更新所述窗 P; 所述确定模块还用于根据所述长度对应的报文头作为压缩上下文的频率,确定所述第 一报文头对应的索引号在索引表中的位置。24. 根据权利要求17至23中任一项所述的压缩装置,其特征在于,所述获取模块还用于 获取所述第一报文头的扩展字段,所述扩展字段包括所述第一报文头中除长度字段以外的 至少一种字段; 所述获取模块具体用于根据所述第一报文头的长度和所述扩展字段,从窗口中获取与 所述第一报文头长度相同且包括的扩展字段与所述第一报文头的扩展字段相同的第二报 文头。25. -种解压装置,其特征在于,所述解压装置包括: 接收模块,用于接收通信设备发送的第一报文头的压缩信息; 获取模块,用于根据所述压缩信息,从窗口中获取与所述第一报文头长度相同的第二 报文头; 所述获取模块还用于根据所述压缩信息和所述第二报文头,获取所述第一报文头。26. 根据权利要求25所述的解压装置,其特征在于,所述解压装置存储有所述第二报文 头的第二差异数据信息,所述第二差异数据信息用于指示所述第二报文头的每个字符和所 述第二报文头的压缩上下文相同位置处的每个字符是否相同; 所述压缩信息包括二次去重标识和按序排列的第一报文头包括的与所述第二报文头 位置相同且内容不同的差异字符,所述二次去重标识用于指示所述第一差异数据信息和所 述第二差异数据信息相同; 所述获取模块具体用于根据所述二次去重标识,获取所述第二差异数据信息;所述获 取模块还用于根据所述第二差异数据信息、所述差异字符和所述第二报文头,获取所述第 一报文头。27. 根据权利要求26所述的解压装置,其特征在于,所述第二差异数据信息包括按序排 列的第一数量信息和第二数量信息,所述第一数量信息用于指示由所述第二报文头和所述 压缩上下文之间位置相同且内容相同的相同字符组成的相同区域包括的所述相同字符的 数量;所述第二数量信息用于指示由所述第二报文头和所述压缩上行文之间位置相同且内 容不同的差异字符组成的差异区域包括的差异字符的数量。28. 根据权利要求25所述的解压装置,其特征在于,所述压缩信息包括按序排列的长度 编码和所述第一报文头包括的与所述第二报文头位置相同且内容不同的差异字符,所述长 度编码用于指示由所述第一报文头和所述第二报文头之间位置相同且内容相同的相同字 符组成的相同区域包括的所述相同字符的数量; 所述获取模块具体用于根据所述长度编码、所述差异字符和所述第二报文头,获取所 述第一报文头。29. 根据权利要求28所述的解压装置,其特征在于,所述获取模块还用于根据所述压缩 信息中所述长度编码和所述差异字符的排序,获取所述第一报文头的第一差异数据信息; 所述解压装置还包括存储模块,所述存储模块用于存储所述第一差异数据信息,以用 于后续待压缩报文头的压缩。30. 根据权利要求25至29中任一项所述的解压装置,其特征在于,所述压缩信息包括用 于指示所述第一报文头长度的指示信息,所述获取模块具体用于根据所述指示信息,从所 述窗口中获取所述第二报文头;或 所述解压设备存储有查找表,所述查找表包括所述第二报文头对应的索引号和所述索 引号对应的索引地址;所述压缩信息包括所述第二报文头对应的索引号,所述获取模块具 体用于根据所述索引号,从所述查找表中获取所述索引号对应的索引地址,根据所述索引 地址,从所述窗口中获取所述第二报文头;或 所述压缩信息包括所述索引地址,所述获取模块具体用于根据所述索引地址,从所述 窗口中获取所述第二报文头。31. 根据权利要求25至30中任一项所述的解压装置,其特征在于,所述解压装置还包 括: 更新模块,用于通过将所述窗口中的第二报文头替换为所述第一报文头,更新所述窗 P; 确定模块,用于根据所述长度对应的报文头作为压缩上下文的频率,确定所述第一报 文头对应的索引号在索引表中的位置。32.根据权利要求25至31中任一项所述的解压装置,其特征在于,所述获取模块具体用 于从窗口中获取与所述第一报文头长度相同且包括的扩展字段与所述第一报文头的扩展 字段相同的第二报文头。
【文档编号】H04L29/06GK106027521SQ201610338100
【公开日】2016年10月12日
【申请日】2016年5月19日
【发明人】柯继伟, 何欢, 潘玉彪
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1