终端协议栈信元处理方法及装置与流程

文档序号:11139720阅读:410来源:国知局
终端协议栈信元处理方法及装置与制造工艺

本发明涉及物联网领域,尤其涉及一种终端协议栈信元处理方法及装置。



背景技术:

随着物联网(Internet of Things,IoT)的发展,第三代合作伙伴计划(3rdGeneration Partnership Project,3GPP)在LTE中引入了机器类型通信(Machine Type Communication,MTC)技术,用于机器对机器(Machine to Machine,M2M)通信。

在无线通信技术上,3GPP在R12标准中引入了Cat.0、在R13标准中引入了低复杂度用户终端(Low Complexity User Equipment),应用于低成本、低功耗和低速率的M2M设备。

在现有技术中,LTE无线资源控制(Radio Resource Control,RRC)从R8标准后开始定义抽象语法标记(ASN.1)。R8标准后续的演进版本R9、R10、R11、R12以及R13都针对每个新功能新增了不同的ASN.1信元,导致ASN.1信元数目越来越多,转换成LTE MTC终端协议栈源代码的代码量(Code Size)也越来越大。



技术实现要素:

本发明实施例解决的如何降低LTE MTC终端协议栈代码量大小的问题。

为解决上述问题,本发明实施例提供一种终端协议栈信元处理方法,所述信元为抽象语法标记信元,所述方法包括:

获取所述终端协议栈中与所述终端不相关的信元,所述终端不相关的信元为所述终端不需要的信元;

当所述不相关的信元为下行信元时,将所述下行信元对应的解码结果丢弃;

当所述不相关的信元为上行信元时,获取所述上行信元的所属类型,并 根据所述上行信元的所属类型,判断是否执行编码操作。

可选的,所述根据所述上行信元的所属类型,判断是否执行编码操作,包括:当所述上行信元的所属类型为必选信元时,对所述上行信元执行编码操作;当所述上行信元的所属类型为可选信元时,禁止对所述上行信元执行编码操作。

可选的,所述不相关的信元的定义位置包括:根区与扩展区。

可选的,当所述信元的定义位置为扩展区时,所述信元包括:扩展项信元,扩展项信元中的子信元。

可选的,当所述信元为扩展项信元,且所述扩展项信元为上行信元时,禁止对所述扩展项信元执行编码操作。

可选的,当所述信元为扩展项信元中的子信元时,所述根据所述上行信元的所属类型,判断是否执行编码操作,包括:当所述子信元的所属类型为必选信元时,对所述子信元执行编码操作;当所述子信元的所属类型为可选信元时,禁止对所述子信元执行编码操作。

本发明实施例提供了一种终端协议栈信元处理装置,所述信元为抽象语法标记信元,所述装置包括:

获取单元,用于获取所述终端协议栈中与所述终端不相关的信元,所述终端不相关的信元为所述终端不需要的信元;

丢弃单元,用于当所述不相关的信元为下行信元时,将所述下行信元对应的解码结果丢弃;

编码操作判断单元,用于当所述不相关的信元为上行信元时,获取所述上行信元的所属类型,并根据所述上行信元的所属类型,判断是否执行编码操作。

可选的,所述编码操作判断单元用于:当所述上行信元的所属类型为必选信元时,对所述上行信元执行编码操作;当所述上行信元的所属类型为可选信元时,禁止对所述上行信元执行编码操作。

可选的,所述不相关的信元的定义位置包括:根区与扩展区。

可选的,当所述信元的定义位置为扩展区时,所述信元包括:扩展项信元,扩展项信元中的子信元。

可选的,所述编码操作判断单元用于:当所述信元为扩展项信元,且所述扩展项信元为上行信元时,禁止对所述扩展项信元执行编码操作。

可选的,当所述信元为扩展项信元中的子信元时,所述编码操作判断单元用于:当所述子信元的所属类型为必选信元时,对所述子信元执行编码操作;当所述子信元的所属类型为可选信元时,禁止对所述子信元执行编码操作。

与现有技术相比,本发明实施例的技术方案具有以下优点:

当不相关的信元为下行信元时,对不相关的信元解码后,不保存解码结果,因此可以减少码字长度。当不相关的信元为上行信元时,根据上行信元的所属类型来判断是否执行编码操作,也就是说,并未对所有的上行信元进行解码操作,因此同样可以减少码字长度。

附图说明

图1是本发明实施例中的一种终端协议栈信元处理方法的流程图;

图2是本发明实施例中的一种信元的定义位置为根区时的处理方法的流程图;

图3是本发明实施例中的一种信元的定义位置为扩展区时的处理方法的流程图;

图4是本发明实施例中的一种终端协议栈信元处理装置的结构示意图。

具体实施方式

在现有技术中,LTE无线资源控制(Radio Resource Control,RRC)从R8标准后开始定义抽象语法标记(Abstract Syntax Notation One,ASN.1)信元。R8标准后续的演进版本R9、R10、R11、R12以及R13都针对新功能新增了不同的ASN.1信元,因此ASN.1信元数目越来越多,导致转换成LTE MTC终端协议栈源代码的代码量也越来越大。

在本发明实施例中,首先获取与终端不相关的信元。当不相关的信元为 下行信元时,对不相关的信元解码后,不保存解码结果,因此可以减少码字长度。当不相关的信元为上行信元时,根据上行信元的所属类型来判断是否执行编码操作,也就是说,并未对所有的上行信元进行解码操作,因此同样可以减少码字长度。

为使本发明实施例的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

本发明实施例提供了一种终端协议栈信元处理方法,参照图1,以下通过具体步骤进行详细说明。

步骤S101,获取所述终端协议栈中与所述终端不相关的信元。

在具体实施中,终端可以为LTE MTC终端。获取到的与LTE MTC终端不相关的信元可以为ASN.1信元,ASN.1信元为定义在SEQUENCE和CHOICE中的信元。

在本发明实施例中,与LTE MTC终端不相关的ASN.1信元可以为:当前LTE MTC终端的协议栈中不需要的ASN.1信元,也即当前LTE MTC终端无需支持的功能所对应的ASN.1信元。

例如,在实际应用中可知,LTE MTC终端无需支持闭合用户组(Closed Subscriber Group,CSG)功能以及载波聚合(Carrier Aggregation,CA)功能,因此可以将CSG功能以及CA功能对应的ASN.1信元判定为与LTE MTC终端不相关的ASN.1信元。

可以预先对所有不相关的ASN.1信元进行整理,生成与LTE MTC终端对应的不相关ASN.1信元信息列表,不相关ASN.1信元信息列表中可以包括ASN.1信元名称、信元类型、信元隶属的ASN.1类型、信元所属类型以及信元的ASN.1定义位置等,其中:信元所属类型为:信元是可选的还是必选的;信元的ASN.1定义位置为:信元的ASN.1定义位置为根区还是扩展区。

在实际应用中,根区是指:ASN.1类型定义中扩展符号之前的部分,如果ASN.1类型定义没有扩展符号,则ASN.1类型定义全部属于根区。扩展区是指:ASN.1类型定义中扩展符号之后的部分,可能为空,即扩展符号之后无内容。

步骤S102,判断不相关的信元是否为下行信元。

在本发明实施例中,不相关的信元可能为上行信元,也可能为下行信元。当不相关的信元为下行信元时,执行步骤S103;否则,判定不相关的信元为上行信元,执行步骤S104。

步骤S103,将所述下行信元对应的解码结果丢弃。

在具体实施中,当不相关的信元为下行信元时,由于该下行信元与LTE MTC终端不相关,因此LTE MTC终端无需对该下行信元进行处理以生成相对应的代码变量。在解码函数进行解码的过程中,在对该下行信元解码后,丢弃该下行信元对应的解码结果。

例如,下行信元共占用字节1~字节8,解码函数对字节1~字节8进行解码操作后,丢弃字节1~字节8对应的解码结果。

可以理解的是,在实际应用中,在解码过程中,也可以直接跳过下行信元的解码信息位,即禁止对下行信元进行解码。例如,下行信元占用字节1~8,则解码函数跳过对字节1~8的解码操作,从字节9开始进行解码。

步骤S104,获取所述上行信元的所属类型,并根据所述上行信元的所属类型,判断是否执行编码操作。

在具体实施中,上行信元的所属类型可以为:可选和必选。可以根据上行信元的所属类型,来判定是否对上行信元执行编码操作。

在本发明实施例中,当上行信元为可选信元时,则无需对上行信元进行编码操作;当上行信元为必选信元时,则可以对上行信元进行编码操作。

由此可见,当不相关的ASN.1信元为下行ASN.1信元时,对不相关的ASN.1信元解码后,不保存解码结果,因此可以减少码字长度。当不相关的ASN.1信元为上行ASN.1信元时,根据上行ASN.1信元的所属类型来判断是否执行编码操作,也就是说,并不对所有的上行ASN.1信元进行解码操作,因此同样可以减少码字长度。

在实际应用中,当终端协议栈中的码字长度减小时,终端在运行时的内存负荷也会相应降低。

从本发明上述实施例中可知,信元的ASN.1定义位置可以为根区或扩展区。下面分别就信元的ASN.1定义位置为根区和扩展区为例,对本发明上述实施例中提供的终端协议栈信元处理方法进行说明。

参照图2,给出了本发明实施例中当信元的ASN.1定义位置为根区时处理方法流程图。

步骤S201,获取ASN.1定义位置为根区的不相关ASN.1信元。

步骤S202,判断ASN.1信元是否为下行信元。

在本发明实施例中,当ASN.1信元为下行信元时,执行步骤S203;否则,判定ASN.1信元为上行信元,执行步骤S204。

步骤S203,跳过ASN.1信元对应的解码信息位。

在本发明实施例中,当ASN.1信元为下行信元时,解码函数在解码过程中跳过ASN.1信元对应的解码信息位,即解码函数无需对ASN.1信元进行解码操作。或者解码函数对ASN.1信元进行解码操作,但并不保存ASN.1信元的结果,而是将解码结果丢弃。也就是说,当不相关的ASN.1信元为下行信元时,当解码函数的解码操作执行完成后,解码结果中并不存在ASN.1信元对应的解码结果,因此可以减少LTE MTC终端协议栈代码量。

步骤S204,判断ASN.1信元所属类型是否为必选。

在本发明实施例中,当ASN.1信元所属类型为必选时,执行步骤S205;否则,判定ASN.1信元所属类型为可选,执行步骤S206。

步骤S205,对ASN.1信元进行编码操作。

在本发明实施例中,当ASN.1信元为上行信元且为必选项时,在编码过程中,按照预设的协议进行编码操作。

步骤S206,禁止对ASN.1信元进行编码操作。

在本发明实施例中,由于LTE MTC终端协议栈并不需要该ASN.1信元,且ASN.1信元为可选项,因此无需生成与该ASN.1信元对应的代码,因此可以减少LTE MTC终端协议栈代码量。

参照图3,给出了本发明实施例中信元的ASN.1定义位置为扩展区时的处理方法流程图。

步骤S301,获取ASN.1定义位置为扩展区的不相关的ASN.1信元。

步骤S302,判断ASN.1信元是否为扩展项信元。

在实际应用中,扩展项信元可以定义为:扩展区域中由逗号“,”或[[…]]分割的整块ASN.1定义信元,[[…]]内部可能包括多个单独的ASN.1信元。当ASN.1信元为扩展项信元时,执行步骤S303;否则判定ASN.1信元为扩展项信元中的子信元,执行步骤S306。

步骤S303,判断ASN.1信元是否为下行信元。当ASN.1信元为下行信元时,执行步骤S304;否则,判定ASN.1信元为上行信元,执行步骤S305。

步骤S304,跳过ASN.1信元对应的解码信息位。

在本发明实施例中,由于LTE MTC终端协议栈并不需要整个扩展项信元,因此,整个扩展项信元的代码变量均无需生成,故无需生成扩展项信元的解码函数,只需根据ASN.1扩展项信元的定义,生成跳过该扩展项信元所占用的信息位的代码即可。

步骤S305,禁止对ASN.1信元进行编码操作。

在本发明实施例中,当扩展项信元为上行信元时,无需针对该扩展项信元生成对应的编码函数,也就是说,无需对ASN.1信元进行编码操作。

在本发明一实施例中,整个扩展区域可以包括多个扩展项,整个扩展区域在编码过程中可以预设生成一个位图(bitmap),每个bit位存在一一对应的扩展项信元。当bit位的值为0时,表示某个扩展项信元不存在,只需生成该扩展项信元对应的bitmap位为0的编码代码即可,从而实现无需对ASN.1信元进行编码操作。

步骤S306,判断扩展项信元中的子信元是否为下行信元。

在本发明实施例中,当扩展项信元中的子信元为下行信元时,执行步骤S307;否则,判定扩展项信元中的子信元为上行信元,执行步骤S308。

步骤S307,跳过子信元对应的解码信息位。

步骤S308,判断子信元所属类型是否为必选。

当子信元所属类型为必选时,执行步骤S309;否则,判定子信元所属类型为可选,执行步骤S310。

步骤S309,对子信元进行编码操作。

步骤S310,禁止对子信元进行编码操作。

在本发明实施例中,从上述内容可知,可以预先建立与LTE MTC终端协议栈不相关的ASN.1信元信息列表。可以逐次地对ASN.1信元信息列表中的ASN.1信元进行判断,当ASN.1信元信息列表中的ASN.1信元的定义位置为根区时,执行步骤S201~步骤S206;当ASN.1信元信息列表中的ASN.1信元的定义位置为扩展区时,执行步骤S301~步骤S310。

参照图4,本发明实施例提供了一种终端协议栈信元处理装置40,所述信元为抽象语法标记信元,包括:获取单元401、丢弃单元402以及编码操作判断单元403,其中:

获取单元401,用于获取所述终端协议栈中与所述终端不相关的信元,所述终端不相关的信元为所述终端不需要的信元;

丢弃单元402,用于当所述不相关的信元为下行信元时,将所述下行信元对应的解码结果丢弃;

编码操作判断单元403,用于当所述不相关的信元为上行信元时,获取所述上行信元的所属类型,并根据所述上行信元的所属类型,判断是否执行编码操作。

在具体实施中,所述编码操作判断单元403可以用于:当所述上行信元的所属类型为必选信元时,对所述上行信元执行编码操作;当所述上行信元的所属类型为可选信元时,禁止对所述上行信元执行编码操作。

在具体实施中,所述不相关的信元的定义位置可以包括:根区与扩展区。

在具体实施中,当所述信元的定义位置为扩展区时,所述信元可以包括:扩展项信元,扩展项信元中的子信元。

在具体实施中,所述编码操作判断单元403可以用于:当所述信元为扩 展项信元,且所述扩展项信元为上行信元时,禁止对所述扩展项信元执行编码操作。

在具体实施中,当所述信元为扩展项信元中的子信元时,所述编码操作判断单元403可以用于:当所述子信元的所属类型为必选信元时,对所述子信元执行编码操作;当所述子信元的所属类型为可选信元时,禁止对所述子信元执行编码操作。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1