CN104917591A - 一种适用于单向有损链路的卫星网络数据包压缩方法 - Google Patents

一种适用于单向有损链路的卫星网络数据包压缩方法 Download PDF

Info

Publication number
CN104917591A
CN104917591A CN201510317567.6A CN201510317567A CN104917591A CN 104917591 A CN104917591 A CN 104917591A CN 201510317567 A CN201510317567 A CN 201510317567A CN 104917591 A CN104917591 A CN 104917591A
Authority
CN
China
Prior art keywords
fingerprint
data packets
raw data
history buffer
compressor reducer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510317567.6A
Other languages
English (en)
Other versions
CN104917591B (zh
Inventor
李少宾
冯海林
黄雷君
张俊祥
张亚生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 54 Research Institute
Zhejiang A&F University ZAFU
Original Assignee
CETC 54 Research Institute
Zhejiang A&F University ZAFU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 54 Research Institute, Zhejiang A&F University ZAFU filed Critical CETC 54 Research Institute
Priority to CN201510317567.6A priority Critical patent/CN104917591B/zh
Publication of CN104917591A publication Critical patent/CN104917591A/zh
Application granted granted Critical
Publication of CN104917591B publication Critical patent/CN104917591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables

Abstract

本发明公开一种适用于单向有损链路的卫星网络数据包压缩传输方法,涉及基于TCP/IP协议族的卫星通信网络技术领域。本发明方法在单向链路上,压缩器维护一个历史缓冲区,用于存储先前未经压缩的数据包。发送端压缩器通过用较短的、含有唯一标识的压缩描述符替换原始数据包和历史缓冲区中数据包的相同字节节串,达到数据包压缩的目的;接收端解压器通过还替还压缩数据包中的压缩描述符,解压还原压缩数据包为原始数据包。发送端压缩设置历史缓冲区中相同字节串出现频次的门限阈值,只有超过门限阈值的重复字节串才会被压缩,通过提高阈值降低解压失败的概率。接收端解压器的历史缓冲区与发送端压缩器的历史缓冲区不需要保持同步和内容一致。

Description

一种适用于单向有损链路的卫星网络数据包压缩方法
技术领域
本发明涉及基于TCP/IP协议族的卫星通信网络技术领域,具体涉及在单向有损卫星链路上传输IP数据包的压缩传输方法。本发明所公开的方法同样适用于地面蜂窝移动通信链路及其他有线链路或无线链路。
背景技术
基于TCP/IP协议族的卫星通信网络其优点在于业务接入方便,组网灵活,适用范围广;缺点在于业务接入采用IP数据包进行封装与承载而引入了包头开销;而且,通常情况下,所传输的业务中存在大量重复冗余数据。因此,如果能够有效消减链路传输中的冗余数据,则可以节约链路带宽资源,提高链路带宽利用率和业务接入的容量。
对于TCP/IP网络,数据传输以IP数据包为单位,消减传输冗余的一种方法是采用数据包压缩技术,基本原理在于找出数据包中的重复字节串,并采用较短的字符替换重复字节串,从而达到消减重复冗余和数据压缩的目的。根据压缩所利用的历史信息来区分,可分为基于单包的数据压缩和基于会话的数据压缩。基于单包的数据压缩,例如IETF规范“RFC 3173IP Payload Compression Protocol(IPComp)”,每个数据包的压缩都是独立的,不利用历史数据;压缩后每个数据包的解压不依赖于历史状态,传输过程中数据包的丢失不会影响其他数据包的解压;数据包的乱序到达亦不会影响解压的正确性。基于单包的数据压缩只是消减了单个数据包内的重复冗余,没有消减数据包之间的重复冗余,因此在压缩效果上一般低于基于会话的数据压缩。基于会话的数据包压缩充分利用多个数据包之间,甚至不同TCP/UDP流之间的冗余性,能够挖掘更多的重复冗余数据,压缩效果更优。基于会话的数据包压缩技术利用了历史缓冲区构建(描述符,重复字节串)的二维映射字典,压缩后的数据包之间不再相互独立,解压器需要维持与压缩器同步一致的映射字典,才能对压缩包进行正确解压。传输过程中压缩数据包的丢失会导致双方的历史缓冲区失去同步,因此必须采用一定的机制进行修复。例如,对于双向的通信链路,解压器可通过返向链路向压缩器发送反馈消息,以维护解压器和压缩器两端历史缓冲区的同步;但对于单向传输的卫星链路,则需要设计一种能够容忍链路误码和丢包且不需要反馈的机制以实现数据包的正确压缩和解压。
发明内容
本发明的目的在于避免背景技术中的不足之处而提供一种适合于单向有损链路的卫星网络数据包压缩方法。本发明方法接收端解压器的历史缓冲区与发送端压缩器的历史缓冲区不需要保持同步和内容一致;本发明的解压器和压缩器不需要反馈机制,可以有效压缩单向链路之上的IP数据包,同时不会因为链路之上的个别数据包丢失而造成解压器端大量数据包的解压失败。
为解决上述技术问题,本发明通过以下技术方案来实现。
一种适合于单向有损链路的卫星网络数据包压缩方法包括以下步骤:
(1)发送端压缩器启动,并建立一个历史缓冲区的存储区域;接收端解压器启动,并建立一个历史缓冲区的存储区域;
(2)发送端压缩器接收来自于地面IP网的原始数据包;
(3)发送端压缩器将原始数据包变换为压缩数据包:发送端压缩器查找其历史缓冲区和原始数据包中所有的相同字节串;当每个相同的字节串在历史缓冲区中重复出现的频次大于等于设定的门限阈值时,则在压缩数据包中用压缩描述符替换原始数据包中的相同字节串;原始数据包中能够在历史缓冲区找到但在历史缓冲区中重复出现频次小于设定门限阈值条件的相同字节串,以及在历史缓冲区中找不到的其他字节串则在压缩数据包中保持不变;所述的压缩描述符含有唯一标识、其长度比原始数据包的字符串短;
(4)发送端压缩器通过卫星将压缩数据包转发到接收端解压器;
(5)接收端解压器接收来自发送端压缩器的压缩数据包并将压缩数据包解压还原为原始数据包:对于压缩数据包中有压缩描述符的字节串,接收端解压器识别所有压缩描述符,在其历史缓冲区中查找每个压缩描述符所对应的重复字节串,并用找到的重复字节串对应替换压缩数据包中的每个压缩描述符;对于没有压缩描述符的字节串,则在原始数据包中保持不变;
(6)接收端解压器将解压还原的原始数据包转发到地面IP网。
其中,所述的发送端压缩器和接收端解压器的历史缓冲区中均存储数据包和指纹索引表,发送端压缩器的历史缓冲区中存储的数据包为发送端压缩器接收到的原始数据包,接收端解压器的历史缓冲区中存储的数据包为接收端解压器解压还原出来的原始数据包。
其中,所述的卫星网络数据包压缩传输方法还包括:发送端压缩器和接收端解压器以相同的方式更新各自的历史缓冲区,具体为:
历史缓冲区中每个原始数据包均关联一个指纹引用计数器R,表示指纹索引表中指向该原始数据包的指纹索引表项的数目;当有新的原始数据包进入到历史缓冲区时且新的原始数据包和历史缓冲区中已有的原始数据包中有相同字节串时,则指纹索引表项中的指针指向新进入的原始数据包,历史缓冲区中已有的原始数据包的指纹引用计数器R减1;历史缓冲区中每个指纹索引表项关联一个超时定时器,当某个指纹表项的超时定时器到期时,则其指向的原始数据包的指纹引用计数器R减1;当原始数据包的指纹引用计数器R减少为0时,则将原始数据包从历史缓冲区中移除,并释放其占用的存储空间。
其中,所述的步骤(3)具体为:
(301)发送端压缩器将原始数据包P的副本P′存入到其历史缓冲区中;
(302)发送端压缩器计算原始数据包P中字节串的所有指纹,获得指纹集合{F};
(303)发送端压缩器读取指纹集合(F)中当前处理的指纹fi
(304)发送端压缩器判断指纹Fi是否存在于其历史缓冲区的指纹索引表中,若不存在则执行步骤(305),否则转入(306);
(305)发送端压缩器将指纹Fi存入到其历史缓冲区的指纹索引表中,并建立指纹Fi到原始数据包副本P′的映射关系,转入步骤(311);
(306)发送端压缩器在其历史缓冲区的指纹索引表中找出指纹Fi所对应的表项P′i
(307)发送端压缩器判断指纹Fi与指纹索引表项F′i所对应的字节串是否相同,若相同则执行步骤(308),否则转入步骤(311);
(308)发送端压缩器更新历史缓冲区的指纹索引表项F′i
(309)发送端压缩器判断指纹索引表项F′i中指纹计数器值c是否大于等于预设的门限阈值,若大于等于预设的门限阈值则执行步骤(310),否则转入步骤(311);
(310)发送端压缩器生成指纹Fi所对应的压缩描述符Di,并暂存到压缩描述符集合{D}中;
(311)发送端压缩器判断指纹集合{F}中的指纹是否已全部处理完,若全部处理完,则执行步骤(312),否则,将下一指纹更新为当前处理的指纹Fi,转入步骤(303);
(312)发送端压缩器判断压缩描述符集合{D}是否为空,若不为空,则执行步骤(313),否则转入步骤(316);
(313)发送端压缩器依次处理压缩描述符集合{D}中各压缩描述符Di的覆盖区域的重叠部分;
(314)发送端压缩器用压缩描述符Di替换原始数据包P中的各字节串,得到压缩后的数据包P1
(315)发送端压缩器输出压缩数据包P1,发送端压缩器将原始数据包变换为压缩数据包的处理结束;
(316)发送端压缩器输出原始数据包P,发送端压缩器将原始数据包变换为压缩数据包的处理结束。
其中,所述的指纹为原始数据包中从任一位置开始的固定长度字节串的哈希值,从指纹可以唯一地索引到所对应的原始数据包和原始数据包中的字节串;对于同一原始数据包中能够生成相同指纹的多个不同的字节串,发送端压缩器只为首次出现的字节串建立指纹索引;对于多个原始数据包中能够生成相同指纹的多个不同的字节串,发送端压缩器亦只为首次出现的字节串建立指纹索引。
其中,所述的指纹索引表中每个表项中包含一个指纹值F、指纹计数器c、首部可扩展区域长度h和尾部可扩展区域长度t以及指向原始数据包的指针PTR;其中,指纹计数器的值表示该指纹所对应的字节串在历史缓冲区中各个原始数据包中出现的频次,首部可扩展区域长度的值和尾部可扩展区域长度的值为历史缓冲区中以指纹所对应的字节串为中心的所有重复出现的字节串的交集中去除该字节串之后的剩余部分的首部长度值和尾部长度值。
其中,所述的每个压缩描述符均包括作为唯一标识的指纹以及指纹所对应的字节串的首部可扩展区域长度和尾部可扩展区域长度。
其中,步骤(5)具体为:
(501)接收端解压器识别和读取压缩数据包中的当前处理的压缩描述符Di
(502)接收端解压器提取压缩描述符Di中的指纹Fi、首部可扩展区域长度值h和尾部可扩展区域长度值t;
(503)接收端解压器判断指纹Fi是否存在于其历史缓冲区的指纹索引表中,若不存在,则执行步骤(504),否则转入步骤(505);
(504)接收端解压器对压缩数据包的解压失败,丢掉压缩数据包,接收端解压器将压缩数据包变换为原始数据包的处理结束;
(505)接收端解压器在其历史缓冲区的指纹索引表中找出指纹Fi所对应的表项以及表项所指向的原始数据包副本P′;
(506)接收端解压器用字节串P′(x′-h,x′+L+t)替换压缩数据包中的压缩描述符Di;其中,P′(x′-h,x′+L+t)表示原始数据包副本P′从第x′-h字节到第x′+L+t字节的字节串,x′为长度为L的字节串在原始数据包副本P′中的位置,h为首部可扩展区域长度和t为尾部可扩展区域长度;
(507)接收端解压器判断压缩数据包中是否还有其他压缩描述符,若还有,则将下一压缩描述符更新为当前处理的压缩描述符Di,转入步骤(501),否则执行步骤(508);
(508)接收端解压器将压缩数据包解压还原为原始数据包P;
(509)接收端解压器将原始数据包P的副本P′存入到其历史缓冲区中;
(510)接收端解压器计算原始数据包P中字节串的所有指纹,获得指纹集合{F};
(511)接收端解压器读取指纹集合{F}中的当前处理的指纹Fi
(512)接收端解压器判断指纹Fi是否存在于其历史缓冲区的指纹索引表中,若不存在则执行步骤(513),否则,转入步骤(514);
(513)接收端解压器将指纹Fi存入到其历史缓冲区的指纹索引表中,并建立指纹Fi到原始数据包副本P′的映射关系,转入步骤(516);
(514)接收端解压器判断指纹Fi与指纹索引表项F′i所对应的字节串是否相同,若相同则执行步骤(515),否则转入步骤(516);
(515)接收端解压器更新历史缓冲区的指纹索引表项F′i,执行步骤(516);
(516)接收端解压器判断指纹集合{F}中的指纹是否已全部处理完,若全部处理完,则接收端解压器将压缩数据包变换为原始数据包的处理结束,否则将下一指纹更新为当前处理的指纹Fi,转入步骤(511)。
其中,所述的步骤(308)和(515)中更新历史缓冲区的指纹索引表项F′i的具体为:
更新后,指纹计数器c=c0+1;
更新后,首部可扩展区域长度值h为字节串P0(x0-h0,x0)与字节串P′(0,x)从右往左匹配所得到的最大相同字节串的长度;
更新后,尾部可扩展区域长度值t为字节串P0(x0+L,x0+L+t0)与字节串P′(x+L,S)从左往右匹配所得到的最大相同字节串的长度;
更新后,指针PTR指向原始数据包副本P′,原始数据包副本P′的指纹引用计数器值R加1,旧数据包P0的指纹引用计数器值R减1,如果旧数据包P0的指纹引用计数器值R降为0,则从历史缓冲区中删除旧数据包P0
其中,c0为更新前指纹索引表项F′i的指纹计数器的值,x0为更新前长度为L的字节串在原始数据包P中的位置,h0为更新前首部可扩展区域长度,t0为更新前尾部可扩展区域长度,指针PTR指向的旧数据包为P0;P(u,v)表示原始数据包P中从第u字节到第v-1字节的字节串;x为指纹Fi所对应的固定长度字节串在原始数据包副本P′中的起始位置,S为原始数据包副本P′的长度。
其中,接收端解压器的历史缓冲区与发送端压缩器的历史缓冲区不需要保持同步和内容一致。
与一般的基于会话的数据包压缩方法相比,本发明具有以下优点:
(1)接收端解压器的历史缓冲区与发送端压缩器的历史缓冲区不需要保持同步和内容一致。原始数据包中的一个字节串只有在压缩器的历史缓冲区中重复出现多次且出现的频次达到或超过设定门限阈值的条件时才会被替换为对应的压缩描述符,而在解压器的历史缓冲区中,原始数据包中的一个字节串只要出现一次,则压缩数据包中对应于该字节串的压缩描述符均可以被解压器识别和替换为该字节串。
(2)解压器和压缩器不需要反馈机制,可以有效压缩单向链路之上的IP数据包,同时不会因为链路之上的个别数据包丢失而造成解压器端大量数据包的解压失败。发送端压缩设置历史缓冲区中相同字节串出现频次的门限阈值,只有超过门限阈值的重复字节串才会被压缩,通过提高阈值可降低解压失败的概率。
附图说明
图1为本发明的一种适用于单向有损链路的卫星网络数据包压缩方法部署应用的简化模型;
图2为本发明的历史缓冲区中指纹索引表和原始数据包的映射示例;
图3为本发明的数据包中固定长度的字节串进行指纹哈希计算所用参量的关系示例;
图4为本发明的发送端压缩器对原始数据包进行压缩处理的示例流程;
图5为本发明的接收端解压器对压缩数据包进行解压处理的示例流程。
具体实施方式
下面结合附图和实施例对本发明做进一步详细的描述。
图1为一种适用于单向有损链路的卫星网络数据包压缩方法部署应用的简化模型,适用于点到点的骨干网、点到多点的星型网和多点到多点的网状网等组网应用中。压缩器和解压器位于卫星终端中,执行数据包压缩方法。当然,该方法亦可应用于无返向通路或无反馈机制的双向链路。
在一个卫星组网应用示例中,卫星终端100A和100B通过卫星200的中继转发进行通信。卫星终端100A将来自网络LAN1的IP数据包发往上行卫星链路之前,由发送端压缩器101A对数据包进行压缩,压缩后的数据包经卫星200转发之后,由卫星终端100B接收,接收端解压器101B对压缩包进行解压,解压后的数据包转发到网络LAN2。发送端压缩器101A为待发送的原始数据包计算数个指纹,每个指纹对应于数据包中某个位置开始的一个固定长度的字节串,假设长度为L。在本发明的一个实施例中,对于一个长度为S字节的数据包,总共可以提取(S-L+1)个长度为L字节的子字节串,不失一般性,可假设S≥L。发送端压缩器采用Rabin指纹方法为每个子字节串计算一个哈希值,并选取哈希值符合一定特征的指纹作为数据包的索引,例如32的整数倍的指纹。
一种适合于单向有损链路的卫星网络数据包压缩方法,其特征在于包括以下步骤:
(1)发送端压缩器启动,并建立一个历史缓冲区的存储区域;接收端解压器启动,并建立一个历史缓冲区的存储区域;
发送端压缩器和接收端解压器的历史缓冲区中均存储数据包和指纹索引表;发送端压缩器的历史缓冲区中存储的数据包为发送端压缩器接收到的原始数据包,接收端解压器的历史缓冲区中存储的数据包为接收端解压器解压还原出来的原始数据包。
(2)发送端压缩器接收来自于地面IP网的原始数据包;
(3)发送端压缩器将原始数据包变换为压缩数据包;
图4图示了在本发明的一个实施例中发送端压缩器对原始数据包进行压缩处理的示例流程,假设发送端压缩器当前待压缩的原始数据包为P,则步骤(3)具体为:
(301)发送端压缩器将原始数据包P的副本P′存入到其历史缓冲区中,原始数据包副本P′对应的指纹引用计数器R值初始化为0;
(302)发送端压缩器计算原始数据包P中字节串的所有指纹,获得指纹集合{F};
(303)发送端压缩器读取指纹集合{F}中当前处理的指纹为Fi
(304)发送端压缩器判断指纹Fi是否存在于其历史缓冲区的指纹索引表中,若不存在则执行步骤(305),否则转入(306);
(305)发送端压缩器将指纹Fi存入到其历史缓冲区的指纹索引表中,建立指纹Fi到原始数据包副本P′的映射关系,Fi所在索引项中的c=1,x为Fi所对应的固定长度字节串在P′中的起始位置,h为P′中该固定长度字节串之前的长度,即h=x,t为P′中该固定长度字节串之后的长度,即t=S-x-L;P′对应的指纹引用计数器R值加1;转入步骤(311);
(306)发送端压缩器在其历史缓冲区的指纹索引表中找出指纹Fi所对应的表项F′i
(307)发送端压缩器判断指纹Fi与指纹索引表项F′i所对应的字节串是否相同,若相同则执行步骤(308),否则转入步骤(311);
(308)发送端压缩器更新历史缓冲区的指纹索引表项F′i
假设F′i所在的索引项原各项数据为c=c0,x=x0,h=h0,t=t0,指针指向的原数据包为P0。令P(u,v)表示数据包P中从第u字节到第v字节(不包括v)的子字节串。则更新后,c=c0+1,x设为Fi所对应的固定长度字节串在P′中的起始位置,h为P0(x0-h0,x0)与P′(0,x)从右往左匹配所得到的最大相同字节串的长度,t为P0(x0+L,x0+L+t0)与P′(x+L,S)从左往右匹配所得到的最大相同字节串的长度,其中S为P′的长度。更新后,F′i所在的索引项指向P′。P′的指纹计数器值R加1。P0的指纹计数器值减1,如果P0的指纹计数器值降为0,则从压缩器的历史缓冲区中删除P0
(309)发送端压缩器判断指纹索引表项F′i中计数器值c是否大于等于预设的门限阈值,若大于等于预设的门限阈值则执行步骤(310),否则转入步骤(311);
(310)发送端压缩器生成指纹Fi所对应的压缩描述符Di(Di的内容包括Fi、x、h和t的值),并暂存到压缩描述符集合{D}中;
(311)发送端压缩器判断指纹集合{F}中的指纹是否已全部处理完,若全部处理完,则执行步骤(312),否则将下一指纹更新为当前处理的指纹Fi,转入步骤(303);
(312)发送端压缩器判断压缩描述符集合{D}是否为空,若不为空,则执行步骤(313),否则转入步骤(316);
(313)发送端压缩器依次处理压缩描述符集合{D}中各压缩描述符Di的覆盖区域的重叠部分;
(314)发送端压缩器用压缩描述符Di替换原始数据包P中的各字节串,得到压缩后的数据包P1
(315)发送端压缩器输出压缩数据包P1,发送端压缩器将原始数据包变换为压缩数据包的处理结束;
(316)发送端压缩器输出原始数据包P,发送端压缩器将原始数据包变换为压缩数据包的处理结束。
(4)发送端压缩器通过卫星将压缩数据包转发到接收端解压器;
(5)接收端解压器接收来自发送端压缩器的压缩数据包并将压缩数据包解压还原为原始数据包;
图5图示了在本发明的一个实施例中接收端解压器对压缩数据包进行解压处理的示例流程,具体步骤为:
(501)接收端解压器识别和读取压缩数据包中的当前处理的压缩描述符Di
(502)接收端解压器提取压缩描述符Di中的指纹Fi、首部可扩展区域长度值h和尾部可扩展区域长度值t;
(503)接收端解压器判断指纹Fi是否存在于其历史缓冲区的指纹索引表中,若不存在,则执行步骤(504),否则转入步骤(505);
(504)接收端解压器对压缩数据包的解压失败,丢掉压缩数据包,接收端解压器将压缩数据包变换为原始数据包的处理结束;
(505)接收端解压器在其历史缓冲区的指纹索引表中找出指纹指纹Fi所对应的表项(F′i,c′,x′,h′,t′)以及表项所指向的原始数据包P′;
(506)接收端解压器用字节串P′(x′-h,x′+L+t)替换压缩数据包中的压缩描述符Di
(507)接收端解压器判断压缩数据包中是否还有压缩描述符Di,若还有压缩描述符Di,则将下一压缩描述符更新为当前处理的压缩描述符Di,转入步骤(501),否则执行步骤(508);
(508)接收端解压器将压缩数据包解压还原为原始数据包P;
(509)接收端解压器将原始数据包P的副本P′存入到其历史缓冲区中;
(510)接收端解压器计算原始数据包P中字节串的所有指纹,获得指纹集合{F};
(511)接收端解压器读取指纹集合{F}中的当前处理的指纹Fi
(512)接收端解压器判断指纹Fi是否存在于其历史缓冲区的指纹索引表中,若不存在则执行步骤(513),否则转入(514);
(513)接收端解压器将指纹Fi存入到其历史缓冲区的指纹索引表中,并建立指纹Fi到原始数据包副本P′的映射关系,转入步骤(516);
(514)接收端解压器判断指纹Fi与指纹索引表项F′i所对应的字节串是否相同,若相同则执行步骤(515),否则转入步骤(516);
(515)接收端解压器更新历史缓冲区的指纹索引表项F′i
(516)接收端解压器判断指纹集合{F}中的指纹是否已全部处理完,若全部处理完,则接收端解压器将压缩数据包变换为原始数据包的处理结束,否则将下一指纹更新为当前处理的指纹Fi,转入步骤(511)。
图2图示了在本发明的一个实施例中历史缓冲区中指纹索引表与原始数据包的映射关系。指纹索引表和原始数据包均存储在历史缓冲区中。指纹索引表中的每一个指纹包括指纹值F,指纹出现的频次计数器c,指纹所对应固定长度字节串在相应数据包中的起始位置x,指纹所对应固定长度字节串首部可扩展区域长度h和尾部可扩展区域长度t,及指向相应数据包的指针PTR。F1201、F2202、F3203这三个指纹均从数据包A210中提取。其中,F1201对应于数据包A210的第x1字节开始的固定长度字节串,而且该数据包中(x1-h1)字节到(x1+L+t1)字节之间的字节串已在不同的数据包(包括数据包A210)中出现了c1次。解压器只要收到这些数据包中的任何一个,就可以根据指纹值F1及h1和t1的值从解压器的历史缓冲区中找到对应长度为(h1+L+t1)的字节串。F2202和F3203指纹对应于数据包A210的另外两个不同位置上的字节串。数据包A210的指纹引用计数器R211表示指纹索引表中对应于该数据包的指纹表项数,例如在图2中,R211=3。若压缩器从新的一个数据包中提取出指纹值F1,且其对应的固定长度字节串与数据包A210中指纹F1所对应的固定长度字节串相同,则指纹索引表中F1201将指向新的数据包,而数据包A210的指纹引用计数器R211将降为2。当指纹引用计数器R211降为0时,压缩器从其历史缓冲区中移除数据包A210,并释放其占据的存储空间。
图3图示了原始数据包中某一固定长度的字节串进行指纹哈希计算所用参量的关系示例,x为长度为L的字节串在数据包中的起始位置,h为数据包中x-1位置开始从右往左匹配所得到的最大相同字节串的长度,t为数据包中L+x位置从左往右匹配所得到的最大相同字节串的长度,数据包的长度为S。
由于历史缓冲区的实际物理存储空间有限,因此发送端压缩器和接收端解压器的历史缓冲区均需要包含指纹和数据包的删除更新机制。在本发明的一个实施例中,指纹索引表中每个指纹均关联一个时间戳,表示该指纹最近一次被引用的时间。如果一个指纹超过预设的时间没有被引用,则将它从指纹索引表中删除。当一个数据包所关联的所有指纹被删除时,该数据包亦从历史缓冲区中删除。每一个历史数据包也关联一个时间戳,表示该数据包存入历史缓冲区的时间。当历史数据包在历史缓冲区的时间超过一个预设的时间时,将它从历史缓冲区中删除,其关联的所有指纹也被删除。压缩器和解压器采用同样的指纹和数据包删除机制,并采用相同的时间戳机制。
在某些情况上,链路误码会导致误包成簇出现。如果重复字节串出现在短时间范围内的几个数据包中,那么这几个数据包在从压缩器到解压器的链路上可能都会因误包而被丢弃。因此,在本发明的一个实施例中,压缩器对重复字节串的统计施加一个时间阈值,对于时间间隔低于这一时间阈值的两个重复字节串,如果历史缓冲区中相应指纹的频次尚未达到阈值,那么第二个字节串不会被统计。只有当时间间隔超过时间阈值时,第二个字节串才会被统计。相应指纹频次达到阈值后,对重复字节串的压缩不受时间阈值的限制。
图4所示的压缩流程中,压缩器将所有待发送的原始数据包都用于历史的更新。压缩器处理后的数据包,可能一部分字节串被压缩,而另一部分字节串单纯用于更新历史缓冲区中的指纹数据。如果这样的数据包在解压器端解压失败,则解压器历史的更新也会受到影响,可能进一步导致后续数据包的解压失败。因此,在本发明的一个实施例中,被压缩过的数据包不用作历史的更新,只有没有被压缩的数据包才用作历史的更新。在此基础上,还可以作进一步扩展,即由压缩器决定一个数据包是否用于历史的更新,在发送的数据包中增加一个标志位,用于通知解压器是否将该数据包用于历史的更新。比如,当压缩器历史缓冲区中某个指纹对应的固定长度字节串其首尾可扩展区域较大,而新数据包的加入会大幅度地缩小其首尾可扩展区域时,压缩器可以不用此数据包来更新历史,以维持原重复字节串的总长度。压缩器将此信息通过数据包中的一个标志位传递给解压器,以维持这样一条原则:解压器用于更新历史的数据包集合总是压缩器用于更新历史的数据包集合的子集。
另外,在某些极端的情况下,若用于更新指纹Fi的k个数据包均未被解压器正确接收,则后续数据包中如果对Fi对应的字节串进行了压缩,解压器均不能成功解压,从而会造成实际丢包率的扩大。为控制实际丢包率的扩大,在本发明的一个实施例中,为压缩器对重复字节串的压缩次数设置了阈值,当一个重复字节串被压缩n次后,则不再压缩,以让相应的指纹超时删除。
(6)接收端解压器将解压还原的原始数据包转发到地面IP网;
完成单向有损链路的卫星网络数据包压缩传输。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于包括以下步骤:
(1)发送端压缩器启动,并建立一个历史缓冲区的存储区域;接收端解压器启动,并建立一个历史缓冲区的存储区域;
(2)发送端压缩器接收来自于地面IP网的原始数据包;
(3)发送端压缩器将原始数据包变换为压缩数据包:发送端压缩器查找其历史缓冲区和原始数据包中所有的相同字节串;当每个相同的字节串在历史缓冲区中重复出现的频次大于等于设定的门限阈值时,则在压缩数据包中用压缩描述符替换原始数据包中的相同字节串;原始数据包中能够在历史缓冲区找到但在历史缓冲区中重复出现频次小于设定门限阈值条件的相同字节串,以及在历史缓冲区中找不到的其他字节串则在压缩数据包中保持不变;所述的压缩描述符含有唯一标识、其长度比原始数据包的字符串短;
(4)发送端压缩器通过卫星将压缩数据包转发到接收端解压器;
(5)接收端解压器接收来自发送端压缩器的压缩数据包并将压缩数据包解压还原为原始数据包:对于压缩数据包中有压缩描述符的字节串,接收端解压器识别所有压缩描述符,在其历史缓冲区中查找每个压缩描述符所对应的重复字节串,并用找到的重复字节串对应替换压缩数据包中的每个压缩描述符;对于没有压缩描述符的字节串,则在原始数据包中保持不变;
(6)接收端解压器将解压还原的原始数据包转发到地面IP网。
2.根据权利要求1所述的一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于:
所述的发送端压缩器和接收端解压器的历史缓冲区中均存储数据包和指纹索引表,发送端压缩器的历史缓冲区中存储的数据包为发送端压缩器接收到的原始数据包,接收端解压器的历史缓冲区中存储的数据包为接收端解压器解压还原出来的原始数据包。
3.根据权利要求1所述的一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于:卫星网络数据包压缩传输方法还包括:发送端压缩器和接收端解压器以相同的方式更新各自的历史缓冲区,具体为:
历史缓冲区中每个原始数据包均关联一个指纹引用计数器R,表示指纹索引表中指向该原始数据包的指纹索引表项的数目;当有新的原始数据包进入到历史缓冲区时且新的原始数据包和历史缓冲区中已有的原始数据包中有相同字节串时,则指纹索引表项中的指针指向新进入的原始数据包,历史缓冲区中已有的原始数据包的指纹引用计数器R减1;历史缓冲区中每个指纹索引表项关联一个超时定时器,当某个指纹表项的超时定时器到期时,则其指向的原始数据包的指纹引用计数器R减1;当原始数据包的指纹引用计数器R减少为0时,则将原始数据包从历史缓冲区中移除,并释放其占用的存储空间。
4.根据权利要求1所述的一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于所述的步骤(3)具体为:
(301)发送端压缩器将原始数据包P的副本P′存入到其历史缓冲区中;
(302)发送端压缩器计算原始数据包P中字节串的所有指纹,获得指纹集合{F};
(303)发送端压缩器读取指纹集合{F}中当前处理的指纹Fi
(304)发送端压缩器判断指纹Fi是否存在于其历史缓冲区的指纹索引表中,若不存在则执行步骤(305),否则转入(306);
(305)发送端压缩器将指纹Fi存入到其历史缓冲区的指纹索引表中,并建立指纹Fi到原始数据包副本P′的映射关系,转入步骤(311);
(306)发送端压缩器在其历史缓冲区的指纹索引表中找出指纹Fi所对应的表项F′i
(307)发送端压缩器判断指纹Fi与指纹索引表项F′i所对应的字节串是否相同,若相同则执行步骤(308),否则转入步骤(311);
(308)发送端压缩器更新历史缓冲区的指纹索引表项F′i
(309)发送端压缩器判断指纹索引表项F′i中指纹计数器值c是否大于等于预设的门限阈值,若大于等于预设的门限阈值则执行步骤(310),否则转入步骤(311);
(310)发送端压缩器生成指纹Fi所对应的压缩描述符Di,并暂存到压缩描述符集合{D}中;
(311)发送端压缩器判断指纹集合{F}中的指纹是否已全部处理完,若全部处理完,则执行步骤(312),否则,将下一指纹更新为当前处理的指纹Fi,转入步骤(303);
(312)发送端压缩器判断压缩描述符集合{D}是否为空,若不为空,则执行步骤(313),否则转入步骤(316);
(313)发送端压缩器依次处理压缩描述符集合{D}中各压缩描述符Di的覆盖区域的重叠部分;
(314)发送端压缩器用压缩描述符Di替换原始数据包P中的各字节串,得到压缩后的数据包P1
(315)发送端压缩器输出压缩数据包P1,发送端压缩器将原始数据包变换为压缩数据包的处理结束;
(316)发送端压缩器输出原始数据包P,发送端压缩器将原始数据包变换为压缩数据包的处理结束。
5.根据权利要求4所述的一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于:
所述的指纹为原始数据包中从任一位置开始的固定长度字节串的哈希值,从指纹可以唯一地索引到所对应的原始数据包和原始数据包中的字节串;对于同一原始数据包中能够生成相同指纹的多个不同的字节串,发送端压缩器只为首次出现的字节串建立指纹索引;对于多个原始数据包中能够生成相同指纹的多个不同的字节串,发送端压缩器亦只为首次出现的字节串建立指纹索引。
6.根据权利要求4所述的一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于:
所述的指纹索引表中每个表项中包含一个指纹值F、指纹计数器c、首部可扩展区域长度h和尾部可扩展区域长度t以及指向原始数据包的指针PTR;其中,指纹计数器的值表示该指纹所对应的字节串在历史缓冲区中各个原始数据包中出现的频次,首部可扩展区域长度的值和尾部可扩展区域长度的值为历史缓冲区中以指纹所对应的字节串为中心的所有重复出现的字节串的交集中去除该字节串之后的剩余部分的首部长度值和尾部长度值。
7.根据权利要求1所述的一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于:所述的每个压缩描述符均包括作为唯一标识的指纹以及指纹所对应的字节串的首部可扩展区域长度和尾部可扩展区域长度。
8.根据权利要求1所述的一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于步骤(5)具体为:
(501)接收端解压器识别和读取压缩数据包中的当前处理的压缩描述符Di
(502)接收端解压器提取压缩描述符Di中的指纹Fi、首部可扩展区域长度值h和尾部可扩展区域长度值t;
(503)接收端解压器判断指纹Fi是否存在于其历史缓冲区的指纹索引表中,若不存在,则执行步骤(504),否则转入步骤(505);
(504)接收端解压器对压缩数据包的解压失败,丢掉压缩数据包,接收端解压器将压缩数据包变换为原始数据包的处理结束;
(505)接收端解压器在其历史缓冲区的指纹索引表中找出指纹Fi所对应的表项以及表项所指向的原始数据包副本P′;
(506)接收端解压器用字节串P′(x′-h,x′+L+t)替换压缩数据包中的压缩描述符Di;其中,P′(x′-h,x′+L+t)表示原始数据包副本P′从第x′-h字节到第x′+L+t字节的字节串,x′为长度为L的字节串在原始数据包副本P′中的位置,h为首部可扩展区域长度和t为尾部可扩展区域长度;
(507)接收端解压器判断压缩数据包中是否还有其他压缩描述符,若还有,则将下一压缩描述符更新为当前处理的压缩描述符Di,转入步骤(501),否则执行步骤(508);
(508)接收端解压器将压缩数据包解压还原为原始数据包P;
(509)接收端解压器将原始数据包P的副本P′存入到其历史缓冲区中;
(510)接收端解压器计算原始数据包P中字节串的所有指纹,获得指纹集合{F};
(511)接收端解压器读取指纹集合{F}中的当前处理的指纹Fi
(512)接收端解压器判断指纹Fi是否存在于其历史缓冲区的指纹索引表中,若不存在则执行步骤(513),否则,转入步骤(514);
(513)接收端解压器将指纹Fi存入到其历史缓冲区的指纹索引表中,并建立指纹Fi到原始数据包副本P′的映射关系,转入步骤(516);
(514)接收端解压器判断指纹Fi与指纹索引表项F′i所对应的字节串是否相同,若相同则执行步骤(515),否则转入步骤(516);
(515)接收端解压器更新历史缓冲区的指纹索引表项F′i,执行步骤(516);
(516)接收端解压器判断指纹集合{F}中的指纹是否已全部处理完,若全部处理完,则接收端解压器将压缩数据包变换为原始数据包的处理结束,否则将下一指纹更新为当前处理的指纹Fi,转入步骤(511)。
9.根据权利要求4或8所述的一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于所述的步骤(308)和(515)中更新历史缓冲区的指纹索引表项F′i的具体为:
更新后,指纹计数器c=c0+1;
更新后,首部可扩展区域长度值h为字节串P0(x0-h0,x0)与字节串P′(0,x)从右往左匹配所得到的最大相同字节串的长度;
更新后,尾部可扩展区域长度值t为字节串P0(x0+L,x0+L+t0)与字节串P′(x+L,S)从左往右匹配所得到的最大相同字节串的长度;
更新后,指针PTR指向原始数据包副本P′,原始数据包副本P′的指纹引用计数器值R加1,旧数据包P0的指纹引用计数器值R减1,如果旧数据包P0的指纹引用计数器值R降为0,则从历史缓冲区中删除旧数据包P0
其中,c0为更新前指纹索引表项F′i的指纹计数器的值,x0为更新前长度为L的字节串在原始数据包P中的位置,h0为更新前首部可扩展区域长度,t0为更新前尾部可扩展区域长度,指针PTR指向的旧数据包为P0;P(u,v)表示原始数据包P中从第u字节到第v-1字节的字节串;x为指纹Fi所对应的固定长度字节串在原始数据包副本P′中的起始位置,S为原始数据包副本P′的长度。
10.根据权利要求1所述的一种适合于单向有损链路的卫星网络数据包压缩传输方法,其特征在于:接收端解压器的历史缓冲区与发送端压缩器的历史缓冲区不需要保持同步和内容一致。
CN201510317567.6A 2015-06-11 2015-06-11 一种适用于单向有损链路的卫星网络数据包压缩方法 Active CN104917591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510317567.6A CN104917591B (zh) 2015-06-11 2015-06-11 一种适用于单向有损链路的卫星网络数据包压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510317567.6A CN104917591B (zh) 2015-06-11 2015-06-11 一种适用于单向有损链路的卫星网络数据包压缩方法

Publications (2)

Publication Number Publication Date
CN104917591A true CN104917591A (zh) 2015-09-16
CN104917591B CN104917591B (zh) 2018-03-23

Family

ID=54086327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510317567.6A Active CN104917591B (zh) 2015-06-11 2015-06-11 一种适用于单向有损链路的卫星网络数据包压缩方法

Country Status (1)

Country Link
CN (1) CN104917591B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033189A (zh) * 2018-06-27 2018-12-18 阿里巴巴集团控股有限公司 链路结构日志的压缩方法、装置、服务器及可读存储介质
CN109088851A (zh) * 2018-06-22 2018-12-25 杭州海兴电力科技股份有限公司 用电信息采集的数据压缩方法
CN109743361A (zh) * 2018-12-14 2019-05-10 西安电子科技大学 一种内容增量交换网的数据处理方法、通信网络平台
CN110266571A (zh) * 2019-06-17 2019-09-20 珠海格力电器股份有限公司 提高can总线数据传输可靠性的方法、装置和计算机设备
CN111683050A (zh) * 2020-05-12 2020-09-18 航天东方红卫星有限公司 一种基于小卫星遥测特性的数据压缩方法及系统
CN114449041A (zh) * 2021-12-30 2022-05-06 东软集团股份有限公司 数据传输方法、装置、存储介质及电子设备
CN115834504A (zh) * 2022-11-04 2023-03-21 电子科技大学 一种基于axi总线的数据压缩/解压缩方法及装置
CN116132499A (zh) * 2023-02-10 2023-05-16 北京优特捷信息技术有限公司 调用链的压缩方法、装置、计算机设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1760831A (zh) * 2004-10-11 2006-04-19 佛山市顺德区顺达电脑厂有限公司 手持式电子装置的操作系统执行方法
US20060209615A1 (en) * 2003-09-30 2006-09-21 Sony Corporation Data reproduction device and method, and program
CN1949670A (zh) * 2005-10-10 2007-04-18 中兴通讯股份有限公司 一种数据压缩及解压缩方法
CN102694554A (zh) * 2011-01-19 2012-09-26 三星电子株式会社 数据压缩设备、其操作方法以及包括该设备的数据处理装置
CN102882879A (zh) * 2012-10-08 2013-01-16 中国电子科技集团公司第五十四研究所 一种适用于卫星信道的ip数据压缩传输方法
CN103379136A (zh) * 2012-04-17 2013-10-30 中国移动通信集团公司 一种日志采集数据压缩方法、解压缩方法及装置
US20140189040A1 (en) * 2012-12-27 2014-07-03 Akamai Technologies, Inc. Stream-based data deduplication with cache synchronization
CN104221003A (zh) * 2012-05-17 2014-12-17 阿卡麦科技公司 利用异步数据词典在多租户共享的基础设施中的基于流的重复数据删除

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060209615A1 (en) * 2003-09-30 2006-09-21 Sony Corporation Data reproduction device and method, and program
CN1760831A (zh) * 2004-10-11 2006-04-19 佛山市顺德区顺达电脑厂有限公司 手持式电子装置的操作系统执行方法
CN1949670A (zh) * 2005-10-10 2007-04-18 中兴通讯股份有限公司 一种数据压缩及解压缩方法
CN102694554A (zh) * 2011-01-19 2012-09-26 三星电子株式会社 数据压缩设备、其操作方法以及包括该设备的数据处理装置
CN103379136A (zh) * 2012-04-17 2013-10-30 中国移动通信集团公司 一种日志采集数据压缩方法、解压缩方法及装置
CN104221003A (zh) * 2012-05-17 2014-12-17 阿卡麦科技公司 利用异步数据词典在多租户共享的基础设施中的基于流的重复数据删除
CN102882879A (zh) * 2012-10-08 2013-01-16 中国电子科技集团公司第五十四研究所 一种适用于卫星信道的ip数据压缩传输方法
US20140189040A1 (en) * 2012-12-27 2014-07-03 Akamai Technologies, Inc. Stream-based data deduplication with cache synchronization

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109088851A (zh) * 2018-06-22 2018-12-25 杭州海兴电力科技股份有限公司 用电信息采集的数据压缩方法
CN109088851B (zh) * 2018-06-22 2021-08-13 杭州海兴电力科技股份有限公司 用电信息采集的数据压缩方法
CN109033189A (zh) * 2018-06-27 2018-12-18 阿里巴巴集团控股有限公司 链路结构日志的压缩方法、装置、服务器及可读存储介质
CN109033189B (zh) * 2018-06-27 2021-08-24 创新先进技术有限公司 链路结构日志的压缩方法、装置、服务器及可读存储介质
CN109743361B (zh) * 2018-12-14 2021-07-02 西安电子科技大学 一种内容增量交换网的数据处理方法、通信网络平台
CN109743361A (zh) * 2018-12-14 2019-05-10 西安电子科技大学 一种内容增量交换网的数据处理方法、通信网络平台
CN110266571A (zh) * 2019-06-17 2019-09-20 珠海格力电器股份有限公司 提高can总线数据传输可靠性的方法、装置和计算机设备
CN110266571B (zh) * 2019-06-17 2020-11-03 珠海格力电器股份有限公司 提高can总线数据传输可靠性的方法、装置和计算机设备
CN111683050A (zh) * 2020-05-12 2020-09-18 航天东方红卫星有限公司 一种基于小卫星遥测特性的数据压缩方法及系统
CN111683050B (zh) * 2020-05-12 2022-02-01 航天东方红卫星有限公司 一种基于小卫星遥测特性的数据压缩方法及系统
CN114449041A (zh) * 2021-12-30 2022-05-06 东软集团股份有限公司 数据传输方法、装置、存储介质及电子设备
CN115834504A (zh) * 2022-11-04 2023-03-21 电子科技大学 一种基于axi总线的数据压缩/解压缩方法及装置
CN116132499A (zh) * 2023-02-10 2023-05-16 北京优特捷信息技术有限公司 调用链的压缩方法、装置、计算机设备及存储介质
CN116132499B (zh) * 2023-02-10 2023-09-26 北京优特捷信息技术有限公司 调用链的压缩方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN104917591B (zh) 2018-03-23

Similar Documents

Publication Publication Date Title
CN104917591A (zh) 一种适用于单向有损链路的卫星网络数据包压缩方法
US8243757B2 (en) MAC header compression using a pointer
US9294589B2 (en) Header compression with a code book
US8718098B2 (en) Method for compressing and decompressing time stamp and equipment thereof
EP2854359B1 (en) Compression and decompression methods of ethernet header and corresponding devices
US8817821B2 (en) Method and device for user datagram protocol packet compression and decompression
CN101568144B (zh) 一种适用于无线自组织网络的报头压缩方法
US8872677B2 (en) Method and apparatus for compressing data-carrying signals
CN100446514C (zh) 以分组流传输数据分组的方法及其装置
CN101237419A (zh) 航空电信网空地通信中的报头压缩方法
CN104967498A (zh) 一种基于历史的卫星网络数据包压缩传输方法
WO2013149587A1 (zh) 一种压缩和解压缩以太网报文的方法及网元设备
CN105052040A (zh) 多流压缩与解压的方法与系统
US11765086B2 (en) Wireless traffic optimization for ISM radios
CN104811265B (zh) 基带帧的封装方法及解封装方法
US9350592B2 (en) Decompressing method and apparatus
CN102006295A (zh) 基于atm承载ip语音的数据压缩方法
CN109361613B (zh) 一种变电站的通信方法及服务器
CN108737349B (zh) 一种语音数据包的处理方法及装置
Huang et al. Redundancy Elimination on Unidirectional Lossy Links
US10892886B2 (en) Communications systems, methods and devices
WO2001067715A1 (en) Pre-verification of checksums used with checksum-based header compression
CN115988093A (zh) 面向自组网在mtu限制内拼凑报文的通信方法及系统
CN101895548A (zh) 鲁棒性头压缩中一种列表压缩方法及装置
CN111507072A (zh) 基于健壮性头压缩的压缩端与解压缩端及其数据处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant