第三代移动通信系统包数据聚合协议报头压缩的实现方法

文档序号:7685977阅读:126来源:国知局
专利名称:第三代移动通信系统包数据聚合协议报头压缩的实现方法
技术领域
本发明涉及第三代移动通信领域,特别涉及移动通信网络系统数据压缩技术领域,具体 是指一种第三代移动通信系统包数据聚合协议报头压缩的实现方法。
背景技术
随着无线通信和因特网应用的发展,无线接入因特网已得到了日益广泛的应用。在传统 上,因特网用户是通过局域网(例如以太网)或者ADSL/光纤这样的有线网络接入的。这些有 线网络经过多年的发展,其信号传输媒介已经比较可靠,差错率较小。而无线网络的传输媒 介为空间电磁波,它的传输特性与有线网络有很大差异,具体表现在
(1)差4告率高;
(2 )传输延迟大;
(3)带宽有限。
因特网应用使用TCP/IP协议族,所有的应用数据都以IP包的形式在网络中传递。由于 IP包都有头部,因此造成一些开销,在某些情况下开销会很大。图l表示了一个承载语音数 据的RTP包。
请参阅图1所示,语音数据作为RTP包的净荷,RTP包是UDP包的净荷,UDP包又是 IP包的净荷。每个IP包都有至少20字节的头部,UDP包有8字节的头部,RTP包有12字 节的头部,三种头部一共占了 40字节,而语音净荷的长度也只有几十字节,因而头部开销很 大。
为解决IP头部开销的问题,人们提出了很多IP头部压缩算法,而健壮报头压缩(ROHC, RFC3095 )就是针对无线网络环境提出的一种,它被应用在UMTS系统中。
首先,根据网络信道配置和传输质量,RFC3095定义了 3种工作模式单向模式、双向 优化模式和双向可靠模式。在单向模式下,RFC3095头压缩器认为没有反馈通道,因此只会 按单向信道的特性发送数据。在双向优化模式下,头压缩器与头解压器之间存在双向信道, 同时头压缩器会按照提高压缩效率的原则进行工作。在双向可靠模式下,头压缩器与头解压 器之间存在双向信道,并且头压缩器会依照提高传输可靠性的原则工作。
6在每种模式下,压缩器和解压器都分别具有三个状态。
压缩器的三个工作状态是IR (Initialization and Refresh,初始化和刷新)、FO ( First Order, 一阶)和SO ( Second Order, 二阶),请参阅图2所示。
在IR状态下,压缩器只发送完整的IP头信息;FO状态下,压缩器压缩部分头信息;SO 状态下,压缩器做最优化的压缩。三种状态的级别由低到高依次为IR、 FO和SO。刚开始压 缩器工作在IR状态,然后根据通信状况逐渐提高级别。
解压器的三个状态为NC (No Context)、 SC ( Static Context)和FC ( Full Context),请参 阅图3所示。
NC状态下,解压器还没解压成功一个IP包头,即解压器还未得到完整的IP头信息;当 解压器得到一个完整的IP头信息之后,转入FC状态;当解压器遇到连续解压失败的情况后, 会返回SC状态。
在每种模式下都有上述3种状态,但每种状态下的行为和状态迁移的条件却因模式而异。 其中,图4给出了三种模式下压缩器的情况,对于解压器的情况类似,本发明中不再——示 出。
头压缩器/解压器在工作过程中,需要根据接收到的反馈、当前模式和系统策略决定切换 到什么状态,以及切换到什么模式。
综上所述,RFC3095共有三种工作模式,每种冲莫式下的压缩器和解压器又有三种状态, 各种状态和模式在一定条件又需要相互切换,因此情况比较复杂,实现中非常需要一种实现 方法很好地应对这种复杂性。

发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够实现复杂状况下的包数据 聚合压缩工作模式和工作状态灵活切换、过程快捷方便、运行效率较高、工作性能稳定可靠、 适用范围较为广泛的第三代移动通信系统包数据聚合协议报头压缩的实现方法。
为了实现上述的目的,本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方 法如下
该第三代移动通信系统包数据聚合协议报头压缩的实现方法,所述的系统中包括数据发 送端的头压缩器和数据接收端的头解压器,其主要特点是,所述的方法包括头压缩器数据压 缩处理操作和头解压器数据解压处理操作,所述的头压缩器数据压缩处理操作包括以下步骤 (Al )头压缩器进行头压缩流对象初始化操作;
7(A2)在进行数据发送过程中,头压缩器根据所接收到的反馈信息、头压缩器的当前工 作模式、头压缩器的当前工作状态和系统预设的策略进行头压缩流对象工作状态转移处理操
作;
(A3)在进行数据发送过程中,头压缩器根据所接收到的反馈信息、头压缩器的当前工 作模式、头压缩器的当前工作状态和系统预设的策略进行头压缩流对象工作模式转移处理操 作;
所述的头解压器数据解压处理操作包括以下步骤 (Bl )头解压器进行头解压缩流对象初始化操作;
(B2)在进行数据接收过程中,头解压器根据所接收到的反馈信息、头解压器的当前工 作模式、头解压器的当前工作状态和系统预设的策略进行头解压缩流对象工作状态转移处理 操作;
(B3)在进行数据接收过程中,头解压器根据所接收到的反馈信息、头解压器的当前工 作模式、头解压器的当前工作状态和系统预设的策略进行头解压缩流对象工作模式转移处理 操作。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩流对象初始化操
作,包括以下步骤
(All )设置头压缩流对象中的当前工作模式对象成员为单向工作模式对象;
(A12)初始化该单向工作模式对象,将该单向工作模式对象中的当前工作状态对象成
员设置为头压缩器单向模式初始化和刷新状态对象。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩流对象工作状态
转移处理操作,包括以下步骤
(A21 )根据所述的头压缩器的当前工作模式初始化转换后工作状态对象;
(A22 )将所述的头压缩流对象中的当前工作模式对象成员的当前工作状态对象成员设
置为所述的转换后工作状态对象;
(A23)从头压缩器中删除原工作状态对象。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩器的当前工作模 式为可以单向工作模式、双向优化工作模式或者双向可靠工作模式。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的初始化转换后工作状态 对象,包括以下步骤
(A2U)如果头压缩器的当前工作模式为单向工作模式,则初始化该转换后工作状态对象为头压缩器单向模式初始化和刷新状态对象、头压缩器单向模式一阶状态对象或者头压缩 器单向模式二阶状态对象;
(A212)如果头压缩器的当前工作模式为双向优化工作模式,则初始化该转换后工作状 态对象为头压缩器双向优化模式初始化和刷新状态对象、头压缩器双向优化模式一阶状态对 象或者头压缩器双向优化模式二阶状态对象;
(A213)如果头压缩器的当前工作模式为双向可靠工作模式,则初始化该转换后工作状 态对象为头压缩器双向可靠模式初始化和刷新状态对象、头压缩器双向可靠模式一阶状态对 象或者头压缩器双向可靠模式二阶状态对象。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩流对象工作模式 转移处理操作,包括以下步骤
(A31)初始化头压缩器转换后工作模式对象;
(A32 )将头压缩流对象中的当前工作模式对象成员设置为头压缩器转换后工作模式对
象;
(A33 )从头压缩器中删除原头压缩器工作模式对象。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的初始化头压缩器转换后 工作模式对象,具体为
可以初始化该头压缩器转换后工作模式对象为头压缩器单向工作模式对象、头压缩器双 向优化工作模式对象或者头压缩器双向可靠工作模式对象。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压缩流对象初始化 操作,包括以下步骤
(B11 )设置头解压缩流对象中的当前工作模式对象成员为单向工作模式对象; (B12)初始化该单向工作模式对象,将该单向工作模式对象中的当前工作状态对象成 员设置为头解压器单向模式初始化和刷新状态对象。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压缩流对象工作状 态转移处理操作,包括以下步骤
(B21 )根据所述的头解压器的当前工作模式初始化转换后工作状态对象; (B22 )将所述的头解压缩流对象中的当前工作模式对象成员的当前工作状态对象成员 设置为所述的转换后工作状态对象;
(B23 )从头解压器中删除原工作状态对象。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压器的当前工作模式为可以单向工作模式、双向优化工作模式或者双向可靠工作模式。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的初始化转换后工作状态 对象,包括以下步骤
(B211)如果头解压器的当前工作模式为单向工作模式,则初始化该转换后工作状态对 象为头解压器单向模式无上下文状态对象、头解压器单向模式静态上下文状态对象或者头解 压器单向模式全上下文状态对象;
(B212)如果头解压器的当前工作模式为双向优化工作模式,则初始化该转换后工作状 态对象为头解压器双向优化模式无上下状态对象、头解压器双向优化^f莫式静态上下文状态对 象或者头解压器双向优化模式全上下文状态对象;
(B213)如果头解压器的当前工作模式为双向可靠工作模式,则初始化该转换后工作状 态对象为头解压器双向可靠模式无上下状态对象、头解压器双向可靠模式静态上下文状态对 象或者头解压器双向可靠^f莫式全上下文状态对象。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压缩流对象工作模 式转移处理操作,包括以下步骤
(B31)初始化头解压器转换后工作模式对象;
(B32 )将头解压缩流对象中的当前工作模式对象成员设置为头解压器转换后工作模式
对象;
(B33 )从头解压器中删除原头解压器工作模式对象。
该第三代移动通信系统包数据聚合协议报头压缩的实现方法中的初始化头解压器转换后
工作模式对象,具体为
可以初始化该头解压器转换后工作模式对象为头解压器单向工作模式对象、头解压器双 向优化工作模式对象或者头解压器双向可靠工作模式对象。
采用了该发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法,由于其中使 用了软件设计模式中的状态模式,使得其完全实现了在复杂状况下的头压缩工作模式和工作 状态的灵活切换,同时头压缩器和头解压器的各个工作模式的各个工作状态下的行为被隔离 到各自相应的类中,使得彼此之间互不千扰,并且使系统的构造、调试和维护较为容易,不 仅如此,本发明的实现方法的执行过程快捷方便,系统运行效率较高,工作性能稳定可靠, 适用范围较为广泛,为第三代移动通信技术的进一步发展奠定了坚实的基础。


图1为现有技术中的RTP包结构示意图。 图2是现有技术中的RFC3095压缩器的3个状态。 图3为现有技术中的RFC3095解压器的3个状态。 图4为现有技术中的RFC3095的3种工作模式。
图5为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的RFC3095 压缩器的模式类图。
图6为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的RFC3095 压缩器单向模式的类图。
图7为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的RFC3095 压缩器优化模式的类图。
图8为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的RFC3095 压缩器可靠模式的类图。
图9为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的RFC3095 解压器的模式类图。
图10为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的 RFC3095解压器单向模式的类图。
图11为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的 RFC3095解压器优化模式的类图。
图12为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的 RFC3095解压器可靠模式的类图。
图13为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩 流的初始化流程图。
图14为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩 器从IR状态转移到FO状态的流程图。
图15为本发明的第三代移动通信系统包数据聚合协议"R头压缩的实现方法中的头压缩 器从IR状态转移到SO状态的流程图。
图16为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩 器从SO状态转移到FO状态的流程图。
图17为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩 器从FO状态转移到SO状态的流程图。
11图18为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩 器从FO状态转移到IR状态的流程图。
图19为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩 器从SO状态转移到IR状态的流程图。
图20为本发明的第三代移动通信系统包数据聚合协议^R头压缩的实现方法中的头压缩 器从单向模式转移到双向优化模式的流程图。
图21为头压缩器从双向优化模式转移到双向可靠模式的流程图。
图22为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩 器从双向可靠模式转移到双向优化模式的流程图。
图23为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩 器从双向优化模式转移到单向模式的流程图。
图24为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头压缩 器从双向可靠模式转移到单向模式的流程图。
图25为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压 器的初始化流程。
图26为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压 器乂人NC状态转移到FC状态的流程图。
图27为本发明的第三代移动通信系统包数据聚合协议^^头压缩的实现方法中的头解压 器从FC状态转移到SC状态的流程图。
图28为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压 器从SC状态转移到FC状态的流程图。
图29为本发明的第三代移动通信系统包数据聚合协议"R头压缩的实现方法中的头解压 器从SC状态转移到NC状态的流程图。
图30为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压 器从单向模式转移到双向优化模式的流程图。
图31为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压 器从双向优化模式转移到双向可靠模式的流程图。
图32为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压 器从双向可靠模式转移到双向优化模式的流程图。
图33为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压器从双向优化模式转移到单向模式的流程图。
图34为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压 器从单向模式转移到双向可靠模式的流程图。
图35为本发明的第三代移动通信系统包数据聚合协议报头压缩的实现方法中的头解压 器从双向可靠模式转移到单向模式的流程图。
具体实施例方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。 本发明的方法主要涉及3GPPUMTS网络的终端和接入网设备中包数据聚合协议(PDCP )
的RFC3095算法的实现方法。
请参阅图5至图35所示,该第三代移动通信系统包数据聚合协议报头压缩的实现方法,
所述的系统中包括数据发送端的头压缩器和数据接收端的头解压器,其主要特点是,所述的
方法包括头压缩器数据压缩处理操作和头解压器数据解压处理操作,所述的头压缩器数据压
缩处理操作包括以下步骤
(1) 头压缩器进行头压缩流对象初始化操作,包括以下步骤
(a) 设置头压缩流对象中的当前工作模式对象成员为单向工作模式对象;
(b) 初始化该单向工作模式对象,将该单向工作模式对象中的当前工作状态对象成 员设置为头压缩器单向模式初始化和刷新状态对象;
(2) 在进行数据发送过程中,头压缩器根据所接收到的反馈信息、头压缩器的当前工作 模式、头压缩器的当前工作状态和系统预设的策略进行头压缩流对象工作状态转移处理操作, 包括以下步骤
U)根据所述的头压缩器的当前工作模式初始化转换后工作状态对象;该当前工作 模式为可以单向工作模式、双向优化工作模式或者双向可靠工作模式;该初始化转换 后工作状态对象,包括以下步骤
(i) 如果头压缩器的当前工作模式为单向工作模式,则初始化该转换后工作状态 对象为头压缩器单向模式初始化和刷新状态对象、头压缩器单向模式一阶状态对 象或者头压缩器单向模式二阶状态对象;
(ii) 如果头压缩器的当前工作模式为双向优化工作模式,则初始化该转换后工 作状态对象为头压缩器双向优化^f莫式初始化和刷新状态对象、头压缩器双向优化 模式一阶状态对象或者头压缩器双向优化模式二阶状态对象;
13(iii)如果头压缩器的当前工作模式为双向可靠工作模式,则初始化该转换后工 作状态对象为头压缩器双向可靠模式初始化和刷新状态对象、头压缩器双向可靠 模式一 阶状态对象或者头压缩器双向可靠模式二阶状态对象; (b )将所述的头压缩流对象中的当前工作模式对象成员的当前工作状态对象成员设 置为所述的转换后工作状态对象; (c)从头压缩器中删除原工作状态对象; (3 )在进行数据发送过程中,头压缩器根据所接收到的反馈信息、头压缩器的当前工作 模式、头压缩器的当前工作状态和系统预设的策略进行头压缩流对象工作模式转移处理操作, 包括以下步骤
(a) 初始化头压缩器转换后工作模式对象,具体为
可以初始化该头压缩器转换后工作模式对象为头压缩器单向工作模式对象、头压 缩器双向优化工作模式对象或者头压缩器双向可靠工作模式对象;
(b) 将头压缩流对象中的当前工作模式对象成员设置为头压缩器转换后工作模式对 象;
(c )从头压缩器中删除原头压缩器工作模式对象; 所述的头解压器数据解压处理操作包括以下步骤
(1) 头解压器进行头解压缩流对象初始化才喿作,包括以下步骤
(a) 设置头解压缩流对象中的当前工作模式对象成员为单向工作模式对象;
(b) 初始化该单向工作模式对象,将该单向工作模式对象中的当前工作状态对象成 员设置为头解压器单向模式初始化和刷新状态对象;
(2) 在进行数据接收过程中,头解压器根据所接收到的反馈信息、头解压器的当前工作 模式、头解压器的当前工作状态和系统预设的策略进行头解压缩流对象工作状态转移处理操 作,包括以下步骤
(a)根据所述的头解压器的当前工作模式初始化转换后工作状态对象,该当前工作 模式为可以单向工作模式、双向优化工作模式或者双向可靠工作模式,该初始化转换 后工作状态对象,包括以下步骤
(i) 如果头解压器的当前工作模式为单向工作模式,则初始化该转换后工作状态 对象为头解压器单向模式无上下文状态对象、头解压器单向模式静态上下文状态 对象或者头解压器单向模式全上下文状态对象;
(ii) 如果头解压器的当前工作模式为双向优化工作模式,则初始化该转换后工作状态对象为头解压器双向优化模式无上下状态对象、头解压器双向优化模式静 态上下文状态对象或者头解压器双向优化^f莫式全上下文状态对象; (iii)如果头解压器的当前工作模式为双向可靠工作模式,则初始化该转换后工 作状态对象为头解压器双向可靠模式无上下状态对象、头解压器双向可靠才莫式静 态上下文状态对象或者头解压器双向可靠;f莫式全上下文状态对象; (b )将所述的头解压缩流对象中的当前工作模式对象成员的当前工作状态对象成员 设置为所述的转换后工作状态对象; (c)从头解压器中删除原工作状态对象; (3)在进行数据接收过程中,头解压器根据所接收到的反馈信息、头解压器的当前工作 模式、头解压器的当前工作状态和系统预设的策略进行头解压缩流对象工作模式转移处理操 作,包括以下步骤(a)初始化头解压器转换后工作模式对象,具体为可以初始化该头解压器转换后工作模式对象为头解压器单向工作模式对象、头解 压器双向优化工作模式对象或者头解压器双向可靠工作模式对象; (b )将头解压缩流对象中的当前工作模式对象成员设置为头解压器转换后工作模式 对象;(c)从头解压器中删除原头解压器工作模式对象; 在实际使用当中,通过观察分析三种工作模式和三种状态下压缩器和解压器的行为,可 以发现它们存在以下共同点在不同的工作模式和状态下,压缩器/解压器与系统其余部分的交互是基本相同的;压缩 器接受上层用户的头压缩请求,执行压缩过程,给出头压缩后的SDU,同时也接收解压器传 来的反馈;解压器从对端接收头压缩之后的数据包,执行解压缩过程,将解压缩后的SDU传 递给上层客户,同时向对端返回适当的响应。不同工作模式/工作状态下压缩器/解压器的不同主要存在于下面几个方面 *发送和接收的数据包的内容和格式不同; *发送和接收数据的策略和状态转移的条件不同。 基于这一分析,本发明提出使用软件设计模式中的状态模式实现RFC3095算法。状态模 式可以参见以下文献Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,《Design Patterns — Elements of Reusable Object-Oriented Software》。15本发明的实现方法使用面向对象的软件设计方法,设计了 一族类,其对应的UML( Unified Model Language,通用建模语言)类图请参见图5所示。其中,头压缩器模式类(RFC3095—CompressorMode )为头压缩器三种操作模式的基类, 它为三种模式定义了统一的接口。它包含如下的成员头压缩函数(compress)实现头压缩, 反馈处理函数(processFeedback )实现来自头解压器的反馈信息的处理,模式初始化函数 (enterMode)实现进入相应操作模式的初始化处理。状态切换函数(changeState )实现从一 个状态切换到另一个的处理过程。这四个成员函数均为虚函数。从RFC3095_CompressorMode类派生出三个具体的操作模式类头压缩器单向模式类 (RFC3095—CompressorU_Mode ),头压缩器双向优化模式类(RFC3095_CompressorO—Mode ) 和头压缩器双向可靠模式类(RFC3095_CompressorR—Mode ),分别表示单向模式,双向优化 模式和双向可靠模式。这三个类均重写基类的上述虚函数,实现各个模式下的特有行为。类似地,在每种操作模式下,都存在三种状态;同样,这三种状态下压缩器要做的操作 也类似,因此可以再次运用状态模式。相应地,头解压器的各种模式也是基于一个基类头解压器模式类 (RFC3095—DecompressorMode )。这个类包含下面的成员头解压缩函数(decompress)完 成头解压缩过程,状态切换函数(changeState)完成头解压缩器的处理,模式初始化函数 (enterMode)完成进入才莫式的初始化过程。从头解压器模式类派生出3 个类头解压器单向模式类 (RFC3095—DecompressorU—Mode ), 头解压器双向 <尤 4匕才莫式类 (RFC3095_DecompressorO—Mode ), 头解压器双向可靠模式类 (RFC3095—DecompressorR—Mode )。这3个类分别对应头解压器的单向才莫式,双向优化才莫式 和双向可靠模式。它们各自重写基类的3个虚函数,实现各自的特殊处理。RFC3095压缩器将IP包分为包流(packet stream ),因此本发明用头压缩流对象 (RFC3095—CompressorStream对象)代表压缩器中的一个包流。因为每个包流都可能处于前 述的三种工作模式中的一种模式下,所以头压缩流对象和某种头压缩模式对象(RFC3095_CompressorMode )相关联,如下面代码所示class RFC3095一CompressorStream { 一 public:int compress (DataHandle—t i叩utData, DataHandle_t* pOutputData) void changeMode (RFC30 95—CompMode—e newMode) private:RFC30 95_CompressorMode* m—pCurrentMode; } _ _头压缩流类提供了如下成员函数compress:压缩函数,此函数对指定的IP包进行RFC3095头压缩; changeMode:改变模式,当模式发生变化时,此函数被调用。 头压缩模式类是所有压缩器模式类的虚基类,它提供了以下虚函数class RFC3095_C〇mpress〇rM〇cie { _ public:virtual int compress(DataHandle_t inputData, DataHandle—t* pOutputData)=〇; virtual int processFeedback (DataHandle—t feedback) = O,' virtual void enterMode (void)= 〇' virtual void changeState(RFC3095_State—e newState) = 0; protected:RFC3〇95_C〇mpress〇rStream* m—pStream;如以上代码所示,头压缩模式类是虚基类,是不可以被实例化的。所有具体的模式类均为头压缩模式类的派生类,例如class RFC3095—CompressorU—Mode : public RFC3095—CompressorMode public:virtual int compress (DataHandle_t inputData, DataHandle—t* pOutputData),' virtual int processFeedback (DataHandle t feedback) virtual void enterMode (void)virtual void changeState(RFC3095—State—e newState); private:RFC3095—CompressorU— ModeState* m—pCurState,. 这些派生类都重写基类的虚函数,实现各自特殊的处理。因为头压缩流对象在某一时刻必然处于某种模式下,所以它与 一个具体的模式类对象关 联,头压缩流对象的当前模式成员(m__pCurrentMode)即用于记录这种关联关系。在每种模 式下,RFC3095的压缩处理不同,头压缩流类通过调用当前模式对象来执行头压缩。请参阅图13所示,为头压缩流的初始化过程。其过程为(1) 设置当前模式对象成员(m_pCurrentMode)为单向模式对象;(2) 初始化单向模式对象,将其当前状态成员(m_pCurState)设置为头压缩器单向模 式IR状态对象。头压缩流在每种模式下都处于一种状态,因而模式对象也与一个状态对象关联,以头压 缩器单向模式类(RFC3095_CompressorU—Mode )为例,其m_pCurState成员即为当前状态对象的指针。不同的状态,其头压缩过程不同,因此模式对象会使用相应的状态对象压缩包头int RFC3095—CompressorU—Mode::compress(DataHandle—t inputData,DataHandle—pOutputData){ —return m—pCurState-〉compress(inputData, pOutputData);状态对象实现实际的压缩/解压缩操作,同一种模式下的三种状态用同一基类的三个派生类表示,如图6、 7、 8、 10、 11、 12所示。基类定义了状态类的接口函数,以RFC3095—CompressorU—ModeState为例class RFC3095—CompressorU—ModeState { — —public:virtual int compress (DataHandle一t inputData, DataHandle_t* pOutputData) = ' virtual int processFeedback (DataHandle—t feedback) = 0,' virtual void enterState(void) = 0; protected:RFC30 95—CompressorU—Mode* m—pMode; " — — —与RFC3095 CompressorMode和RFC3095_DecompressorMode类似,三种才莫式下的状态 基类也都是虚基类。它们的派生类实现其虚函数,进行真正的RFC3095头压缩和解压缩处理。 图14描述了头压缩器(在任何才莫式下)从IR状态转移到FO状态的流程,其过程为 (1 )初始化FO状态对象。根据当前所处的模式,此FO状态对象可能是压缩器单向模 式FO状态对象,压缩器双向优化模式FO状态对象或压缩器双向可靠模式FO状态对象; (2 )将当前模式对象的当前状态对象设置为前一步中初始化的FO状态对象; (3 )清除现有的IR状态对象。图15描述了头压缩器从IR状态转移到SO状态的流程图,过程如下 (1 )初始化SO状态对象。根据当前所处的模式,此SO状态对象可能是压缩器单向模 式SO状态对象,压缩器双向优化模式SO状态对象或压缩器双向可靠模式SO状态对象; (2)将当前模式对象的当前状态对象设置为前一步中初始化的SO状态对象; (3 )清除现有的IR状态对象。图16描述了头压缩器从SO状态转移到FO状态的流程图,过程如下 (1 )初始化FO状态对象。根据当前所处的模式,此FO状态对象可能是压缩器单向模 式FO状态对象,压缩器双向优化模式FO状态对象或压缩器双向可靠模式FO状态对象; (2)将当前模式对象的当前状态对象设置为前一步中初始化的FO状态对象; (3 )清除现有的SO状态对象。图17描述了头压缩器从FO状态转移到SO状态的流程图,过程如下 (1 )初始化SO状态对象。根据当前所处的模式,此SO状态对象可能是压缩器单向模 式SO状态对象,压缩器双向优化模式SO状态对象或压缩器双向可靠模式SO状态对象; (2)将当前模式对象的当前状态对象设置为前一步中初始化的SO状态对象; (3 )清除现有的FO状态对象。图18描述了头压缩器从FO状态转移到IR状态的流程图,过程如下 (1 )初始化IR状态对象。根据当前所处的模式,此IR状态对象可能是压缩器单向模式IR状态对象,压缩器双向优化模式IR状态对象或压缩器双向可靠模式IR状态对象; (2)将当前模式对象的当前状态对象设置为前一步中初始化的IR状态对象; (3 )清除现有的FO状态对象。图19描述了头压缩器从SO状态转移到IR状态的流程图,过程如下 (1 )初始化IR状态对象。根据当前所处的模式,此IR状态对象可能是压缩器单向模式 IR状态对象,压缩器双向优化模式IR状态对象或压缩器双向可靠模式IR状态对象;(2) 将当前模式对象的当前状态对象设置为前一步中初始化的IR状态对象; (3 )清除现有的SO状态对象。图20描述了头压缩器从单向模式转移到双向优化模式的流程图,过程如下 (1 )初始化头压缩器双向优化模式对象;(2 )将头压缩流的当前模式对象设置为前一步中初始化的双向优化模式对象; (3 )清除现有的头压缩器单向模式对象。图21描述了头压缩器从双向优化模式转移到双向可靠模式的流程图,过程如下 (1 )初始化头压缩器双向可靠模式对象;(2 )将头压缩流的当前模式对象设置为前一步中初始化的双向可靠模式对象; (3 )清除现有的头压缩器双向优化模式对象。图22描述了头压缩器从双向可靠模式转移到双向优化模式的流程图,过程如下 (1 )初始化头压缩器双向优化模式对象;(2 )将头压缩流的当前模式对象设置为前一步中初始化的双向优化模式对象;(3) 清除现有的头压缩器双向可靠模式对象。图23描述了头压缩器从双向优化模式转移到单向模式的流程图,过程如下 (1)初始化头压缩器单向模式对象;(2 )将头压缩流的当前模式对象设置为前一步中初始化的单向模式对象; (3 )清除现有的头压缩器双向优化模式对象。图24描述了头压缩器从双向可靠模式转移到单向模式的流程图,过程如下 (1 )初始化头压缩器单向模式对象;(2 )将头压缩流的当前模式对象设置为前一步中初始化的单向模式对象; (3)清除现有的头压缩器双向可靠模式对象。图9是头解压缩器的模式类图。与头压缩器类似,每个头解压器流对象也与一个头解压 器模式对象关联;头解压缩的3种模式对应的类也派生自一个基类头解压器模式19(RFC3095—DecompressorMode )。
与头压缩器相似,每种头解压器模式下都有3种状态,它们分别用3个状态类表示。图 10、图11和图12分别描绘了 3种头解压模式下的状态类。 图25为头解压缩流的初始化过程。其过程为 (1 )设置当前模式对象成员为头解压器单向模式对象;
(2 )初始化单向模式对象,将其当前状态成员设置为头解压缩器单向模式NC状态对象。 图26是头解压器从NC状态转移到FC状态的流程图,其过程为
(1) 初始化FC状态对象。根据当前所处的模式,此FC状态对象可能是头解压器单向 模式FC状态对象,头解压器双向优化模式FC状态对象或头解压器双向可靠模式FC状态对 象;
(2) 将当前模式对象的当前状态对象设置为前一步中初始化的FC状态对象; (3 )清除现有的NC状态对象。
图27是头解压器从FC状态转移到SC状态的流程图,其过程为
(1 )初始化SC状态对象。根据当前所处的模式,此SC状态对象可能是头解压器单向 模式SC状态对象,头解压器双向优化模式SC状态对象或头解压器双向可靠模式SC状态对
象;
(2)将当前模式对象的当前状态对象设置为前一步中初始化的SC状态对象; (3 )清除现有的FC状态对象。
图28是头解压器从SC状态转移到FC状态的流程图,其过程为
(1 )初始化FC状态对象。根据当前所处的模式,此FC状态对象可能是头解压器单向 模式FC状态对象,头解压器双向优化模式FC状态对象或头解压器双向可靠模式FC状态对
象;
(2)将当前模式对象的当前状态对象设置为前一步中初始化的FC状态对象; (3 )清除现有的SC状态对象;
图29是头解压器从SC状态转移到NC状态的流程图,其过程为 (1 )初始化NC状态对象。根据当前所处的模式,此NC状态对象可能是头解压器单向
模式NC状态对象,头解压器双向优化模式NC状态对象或头解压器双向可靠模式NC状态
对象;
(2 )将当前模式对象的当前状态对象设置为前一步中初始化的NC状态对象; (3 )清除现有的SC状态对象;图30描述了头解压器从单向模式转移到双向优化模式的流程图,过程如下 (1 )初始化头解压器双向优化模式对象;
(2 )将头解压流的当前模式对象设置为前一步中初始化的双向优化模式对象; (3 )清除现有的头解压器单向模式对象。
图31描述了头解压器从双向优化模式转移到双向可靠模式的流程图,过程如下 (1 )初始化头解压缩器双向可靠模式对象;
(2) 将头解压缩流的当前模式对象设置为前一步中初始化的双向可靠模式对象; (3 )清除现有的头解压缩器双向优化模式对象。
图32描述了头解压器从双向可靠模式转移到双向优化模式的流程图,过程如下 (1 )初始化头解压缩器双向优化模式对象;
(2 )将头解压缩流的当前模式对象设置为前一步中初始化的双向优化模式对象; (3 )清除现有的头解压缩器双向可靠模式对象。
图33描述了头解压器从双向优化模式转移到单向模式的流程图,过程如下 (1 )初始化头解压缩器单向模式对象;
(2 )将头解压缩流的当前模式对象设置为前一步中初始化的单向模式对象; (3 )清除现有的头解压缩器双向优化模式对象;
图34描述了头解压器从单向模式转移到双向可靠模式的流程图,过程如下 (1 )初始化头解压缩器双向可靠模式对象;
(2 )将头解压缩流的当前模式对象设置为前一步中初始化的双向可靠模式对象;
(3) 清除现有的头解压缩器单向模式对象;
图35描述了头解压器从双向可靠模式转移到单向模式的流程图,过程如下 (1 )初始化头解压缩器单向模式对象;
(2 )将头解压缩流的当前模式对象设置为前一步中初始化的单向模式对象; (3)清除现有的头解压缩器双向可靠模式对象。
采用了上述的第三代移动通信系统包数据聚合协议报头压缩的实现方法,由于其中使用 了软件设计模式中的状态模式,使得其完全实现了在复杂状况下的包数据聚合压缩工作模式 和工作状态的灵活切换,同时头压缩器和头解压器的各个工作;漠式的各个工作状态下的行为 被隔离到各自相应的类中,使得彼此之间互不干扰,并且使系统的构造、调试和维护较为容 易,不仅如此,本发明的实现方法的执行过程快捷方便,系统运行效率较高,工作性能稳定 可靠,适用范围较为广泛,为第三代移动通信技术的进一步发展奠定了坚实的基础。
21在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种 修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限 制性的。
权利要求
1、一种第三代移动通信系统包数据聚合协议报头压缩的实现方法,所述的系统中包括数据发送端的头压缩器和数据接收端的头解压器,其特征在于,所述的方法包括头压缩器数据压缩处理操作和头解压器数据解压处理操作,所述的头压缩器数据压缩处理操作包括以下步骤(A1)头压缩器进行头压缩流对象初始化操作;(A2)在进行数据发送过程中,头压缩器根据所接收到的反馈信息、头压缩器的当前工作模式、头压缩器的当前工作状态和系统预设的策略进行头压缩流对象工作状态转移处理操作;(A3)在进行数据发送过程中,头压缩器根据所接收到的反馈信息、头压缩器的当前工作模式、头压缩器的当前工作状态和系统预设的策略进行头压缩流对象工作模式转移处理操作;所述的头解压器数据解压处理操作包括以下步骤(B1)头解压器进行头解压缩流对象初始化操作;(B2)在进行数据接收过程中,头解压器根据所接收到的反馈信息、头解压器的当前工作模式、头解压器的当前工作状态和系统预设的策略进行头解压缩流对象工作状态转移处理操作;(B3)在进行数据接收过程中,头解压器根据所接收到的反馈信息、头解压器的当前工作模式、头解压器的当前工作状态和系统预设的策略进行头解压缩流对象工作模式转移处理操作。
2、 根据权利要求1所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法,其 特征在于,所述的头压缩流对象初始化操作,包括以下步骤(All )设置头压缩流对象中的当前工作模式对象成员为单向工作模式对象;(A12)初始化该单向工作模式对象,将该单向工作模式对象中的当前工作状态对象成员设置为头压缩器单向模式初始化和刷新状态对象。
3 、根据权利要求1所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法,其特征在于,所述的头压缩流对象工作状态转移处理操作,包括以下步骤(A21 )根据所述的头压缩器的当前工作模式初始化转换后工作状态对象;(A22 )将所述的头压缩流对象中的当前工作模式对象成员的当前工作状态对象成员设置为所述的转换后工作状态对象;(A23 )从头压缩器中删除原工作状态对象。
4、根据权利要求3所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法,其 特征在于,所述的头压缩器的当前工作模式为单向工作模式、双向优化工作模式或者双向可 靠工作模式。
5 、根据权利要求4所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法,其 特征在于,所述的初始化转换后工作状态对象,包括以下步骤(A211)如果头压缩器的当前工作沖莫式为单向工作模式,则初始化该转换后工作状态对 象为头压缩器单向模式初始化和刷新状态对象、头压缩器单向模式一阶状态对象或者头压缩 器单向才莫式二阶状态对象;(A212 )如果头压缩器的当前工作模式为双向优化工作模式,则初始化该转换后工作状 态对象为头压缩器双向优化^t式初始化和刷新状态对象、头压缩器双向优化^f莫式一阶状态对 象或者头压缩器双向优化模式二阶状态对象;(A213)如果头压缩器的当前工作模式为双向可靠工作模式,则初始化该转换后工作状 态对象为头压缩器双向可靠模式初始化和刷新状态对象、头压缩器双向可靠模式一阶状态对 象或者头压缩器双向可靠模式二阶状态对象。 '
6、 根据权利要求1所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法,其 特征在于,所述的头压缩流对象工作模式转移处理操作,包括以下步骤(A31)初始化头压缩器转换后工作模式对象;(A32 )将头压缩流对象中的当前工作模式对象成员设置为头压缩器转换后工作模式对象;(A33 )从头压缩器中删除原头压缩器工作模式对象。
7、 根据权利要求6所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法,其 特征在于,所述的初始化头压缩器转换后工作模式对象,具体为初始化该头压缩器转换后工作^^式对象为头压缩器单向工作^t式对象、头压缩器双向优 化工作模式对象或者头压缩器双向可靠工作模式对象。
8、 根据权利要求1所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法,其 特征在于,所述的头解压缩流对象初始化操作,包括以下步骤(B11 )设置头解压缩流对象中的当前工作模式对象成员为单向工作模式对象;(B12)初始化该单向工作模式对象,将该单向工作模式对象中的当前工作状态对象成员设置为头解压器单向模式初始化和刷新状态对象。
9、 根据权利要求1所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法,其 特征在于,所述的头解压缩流对象工作状态转移处理操作,包括以下步骤(B21 )根据所述的头解压器的当前工作模式初始化转换后工作状态对象; (B22 )将所述的头解压缩流对象中的当前工作模式对象成员的当前工作状态对象成员 设置为所述的转换后工作状态对象;(B23)从头解压器中删除原工作状态对象。
10、 根据权利要求9所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法, 其特征在于,所述的头解压器的当前工作模式为单向工作模式、双向优化工作模式或者双向 可靠工作模式。
11、 根据权利要求10所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法, 其特征在于,所述的初始化转换后工作状态对象,包括以下步骤(B211)如果头解压器的当前工作模式为单向工作模式,则初始化该转换后工作状态对 象为头解压器单向模式无上下文状态对象、头解压器单向模式静态上下文状态对象或者头解 压器单向模式全上下文状态对象;(B212)如果头解压器的当前工作模式为双向优化工作模式,则初始化该转换后工作状 态对象为头解压器双向优化模式无上下状态对象、头解压器双向优化模式静态上下文状态对 象或者头解压器双向优化模式全上下文状态对象;(B213 )如果头解压器的当前工作模式为双向可靠工作模式,则初始化该转换后工作状 态对象为头解压器双向可靠模式无上下状态对象、头解压器双向可靠模式静态上下文状态对 象或者头解压器双向可靠^t式全上下文状态对象。
12、 根据权利要求1所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法, 其特征在于,所述的头解压缩流对象工作模式转移处理操作,包括以下步骤(B31)初始化头解压器转换后工作^f莫式对象;(B32 )将头解压缩流对象中的当前工作模式对象成员设置为头解压器转换后工作模式对象;(B33 )从头解压器中删除原头解压器工作模式对象。
13、 根据权利要求12所述的第三代移动通信系统包数据聚合协议报头压缩的实现方法, 其特征在于,所述的初始化头解压器转换后工作;漠式对象,具体为初始化该头解压器转换后工作模式对象为头解压器单向工作模式对象、头解压器双向优化工作^f莫式对象或者头解压器双向可靠工作;漢式对象
全文摘要
本发明涉及一种第三代移动通信系统包数据聚合协议报头压缩的实现方法,头压缩器数据压缩处理操作包括进行头压缩流对象初始化操作、进行头压缩流对象工作状态转移处理操作、进行头压缩流对象工作模式转移处理操作,头解压器数据解压处理操作包括进行头解压缩流对象初始化操作、进行头解压缩流对象工作状态转移处理操作、进行头解压缩流对象工作模式转移处理操作。采用该种第三代移动通信系统包数据聚合协议报头压缩的实现方法,实现了头压缩工作模式、状态灵活切换,头压缩器和头解压器互不干扰,构造、调试和维护容易,执行过程快捷方便,系统运行效率高,工作性能稳定可靠,适用范围广,为第三代移动通信技术的进一步发展奠定了坚实的基础。
文档编号H04L29/06GK101651655SQ200810041588
公开日2010年2月17日 申请日期2008年8月12日 优先权日2008年8月12日
发明者张子屹 申请人:上海摩波彼克半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1