一种解码方法及装置制造方法及图纸

技术编号:13290623 阅读:131 留言:0更新日期:2016-07-09 09:12
本发明专利技术实施例公开了一种解码方法,所述方法包括:从标准协议文档中提取协议相关信息,并将所述协议相关信息以相应数据结构格式保存到数据库中;基于所述数据库所储存的信息对待解码的码流进行解码。同时,本发明专利技术实施例还公开了一种解码装置。

【技术实现步骤摘要】

本专利技术涉及通信协议领域中的编解码技术,具体涉及一种解码方法及装置
技术介绍
随着通信行业技术的快速发展,通信协议也随之不断更新,进而要求应用协议也需进行相应的更新。目前,对于标准协议文档的处理,大多是通过手动翻译将标准协议文档转换为C、C++等语言,而通过手动解码,不仅浪费了很多人力和时间,而且容易出错。因此,很多厂家根据自己的需求来分析标准协议文档,建立自身的编解码系统,以求实现对与自身相关的标准协议文档的自动化编解码;当标准协议文档升级时,通过建立的编解码系统直接读取标准协议文档,即可实现编解码库的升级,大大提高了编解码的效率。目前,针对抽象语法标记(AbstractSyntaxNotation,简称ASN)、中国智能物流骨干网(ChinaSmartLogisticNetwork,简称CSN)等协议的描述语言,均已有成熟的编解码系统,能方便地从这类协议文档中提取信息。但是,有些协议文档是以表格的形式描述协议信息的,例如24008x系列的协议文档,由于他们没有统一的语法及固定的格式,进而给自动提取这类协议信息带来了很多困难。
技术实现思路
有鉴于此,本专利技术实施例的主要目的在于提供一种解码方法及装置,能实现对以表格形式描述的协议文档的自动解码,提高解码效率。为达到上述目的,本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供了一种解码方法,所述方法包括:从标准协议文档中提取协议相关信息,并将所述协议相关信息以相应数据结构格式保存到数据库中;基于所述数据库所储存的信息对待解码的码流进行解码。优选地,所述协议相关信息至少包括:消息描述信息、信元描述信息、枚举描述信息。优选地,所述从标准协议文档中提取协议相关信息,并将所述协议相关信息以相应数据结构格式保存到数据库中,包括:预先设置第一存储格式;其中,所述第一存储格式包括消息描述表存储格式、信元描述表存储格式、枚举描述表存储格式、以及数组类型存储格式;读取所述标准协议文档,从所述协议文档中提取消息描述信息、信元描述信息、枚举描述信息;基于所述第一存储格式,将所述消息描述信息、所述信元描述信息、以及所述枚举描述信息以对应的存储格式存储到数据库中。优选地,所述基于所述数据库所储存的信息对待解码的码流进行解码,包括:接收待解码的码流后,从所述码流中获取解码所需相关参数;根据所述解码所需相关参数确定与所述码流对应的消息名称;以所述消息名称为关键字,获取与所述消息名称相对应的消息节点,循环解析消息下的子节点,并获取子节点的格式属性值,如果所述子节点的格式属性值为可选项,则跳转到可选项解码流程,否则进入必选项解码流程,直到码流结束或节点结束,当前消息解码结束。优选地,所述可选项解码流程,包括:首先获取可选项开始节点,每次解码可选项时,均从所述可选项开始节点开始,将实际通过当前码流获取的可选项标记值与数据库中的标准可选项标记值进行匹配,如果匹配成功,获取当前节点,调用必选项解码接口解码。优选地,所述必选项解码流程,包括:如果消息格式属性值中包含有长度信息,则先对所述长度信息进行解码,然后,将所述长度信息与标准长度信息进行比较,若所述长度信息在所述标准长度范围之内,则继续进行解码,否则,结束当前解码流程;如果消息格式属性值中不包含长度信息,则不需要对所述长度信息进行解码;直到解码长度为0,则当前消息解码结束。本专利技术实施例还提供了一种解码装置,所述解码装置包括提取模块和解码模块;其中,所述提取模块,用于从标准协议文档中提取协议相关信息,并将所述协议相关信息以相应数据结构格式保存到数据库中;所述解码模块,用于基于所述数据库所储存的信息对待解码的码流进行解码。优选地,所述协议相关信息至少包括:消息描述信息、信元描述信息、枚举描述信息。优选地,所述提取模块包括设置子模块、读取子模块和存储子模块;其中,所述设置子模块,用于预先设置第一存储格式;其中,所述第一存储格式包括消息描述表存储格式、信元描述表存储格式、枚举描述表存储格式、以及数组类型存储格式;所述读取子模块,用于读取所述标准协议文档,从所述协议文档中提取消息描述信息、信元描述信息、枚举描述信息;所述存储子模块,用于基于所述第一存储格式,将所述消息描述信息、所述信元描述信息、以及所述枚举描述信息以对应的存储格式存储到数据库中。优选地,所述解码模块包括获取子模块、确定子模块以及处理子模块;其中,所述获取子模块,用于接收待解码的码流后,从所述码流中获取解码所需相关参数;所述确定子模块,用于根据所述解码所需相关参数确定与所述码流对应的消息名称;所述处理子模块,用于以所述消息名称为关键字,获取与所述消息名称相对应的消息节点,循环解析消息下的子节点,并获取子节点的格式属性值,如果所述子节点的格式属性值为可选项,则跳转到可选项解码流程,否则进入必选项解码流程,直到码流结束或节点结束,当前消息解码结束。优选地,所述可选项解码流程,包括:首先获取可选项开始节点,每次解码可选项时,均从所述可选项开始节点开始,将实际通过当前码流获取的可选项标记值与数据库中标准可选项标记值进行匹配,如果匹配成功,获取当前节点,调用必选项解码接口解码。优选地,所述必选项解码流程,包括:如果消息格式属性值中包含有长度信息,则先对所述长度信息进行解码,然后,将所述长度信息与标准长度信息进行比较,若所述长度信息在所述标准长度范围之内,则继续进行解码,否则,结束当前解码流程;如果消息格式属性值中不包含长度信息,则不需要对所述长度信息进行解码;直到解码长度为0,则当前消息解码结束。本专利技术实施例提供的解码方法及装置,从标准协议文档中提取协议相关信息,并将所述协议相关信息以相应数据结构格式保存到数据库中;基于所述数据库所储存的信息对待解码的码流进行解码。如此,能够实现对以表格形式描述的协议文档的自动解码,解决了以表格形式描述的协议无法实现自动化解码的问题。另外,也提高了对以表格形式描述的协议文档的解码效率、进而也能提高解码库的维护和升级的效率。此外,本专利技术实施例所述方法尤其适用于对以表格形式描述的协议文档的解码,例如网络层协议文档。附图说明图1为本专利技术实施例提供的解码方法的流程示意图;图2为本专利技术实施例提供的消息描述表存储格式示意图;图3为本专利技术实施例提供的信元描述表存储格式本文档来自技高网...

【技术保护点】
一种解码方法,其特征在于,所述方法包括:从标准协议文档中提取协议相关信息,并将所述协议相关信息以相应数据结构格式保存到数据库中;基于所述数据库所储存的信息对待解码的码流进行解码。

【技术特征摘要】
1.一种解码方法,其特征在于,所述方法包括:
从标准协议文档中提取协议相关信息,并将所述协议相关信息以相应数据
结构格式保存到数据库中;
基于所述数据库所储存的信息对待解码的码流进行解码。
2.根据权利要求1所述的方法,其特征在于,所述协议相关信息至少包括:
消息描述信息、信元描述信息、枚举描述信息。
3.根据权利要求2所述的方法,其特征在于,所述从标准协议文档中提取
协议相关信息,并将所述协议相关信息以相应数据结构格式保存到数据库中,
包括:
预先设置第一存储格式;其中,所述第一存储格式包括消息描述表存储格
式、信元描述表存储格式、枚举描述表存储格式、以及数组类型存储格式;
读取所述标准协议文档,从所述协议文档中提取消息描述信息、信元描述
信息、枚举描述信息;
基于所述第一存储格式,将所述消息描述信息、所述信元描述信息、以及
所述枚举描述信息以对应的存储格式存储到数据库中。
4.根据权利要求2所述的方法,其特征在于,所述基于所述数据库所储存
的信息对待解码的码流进行解码,包括:
接收待解码的码流后,从所述码流中获取解码所需相关参数;
根据所述解码所需相关参数确定与所述码流对应的消息名称;
以所述消息名称为关键字,获取与所述消息名称相对应的消息节点,循环
解析消息下的子节点,并获取子节点的格式属性值,如果所述子节点的格式属
性值为可选项,则跳转到可选项解码流程,否则进入必选项解码流程,直到码
流结束或节点结束,当前消息解码结束。
5.根据权利要求4所述的方法,其特征在于,所述可选项解码流程,包括:
首先获取可选项开始节点,每次解码可选项时,均从所述可选项开始节点

\t开始,将实际通过当前码流获取的可选项标记值与数据库中的标准可选项标记
值进行匹配,如果匹配成功,获取当前节点,调用必选项解码接口解码。
6.根据权利要求4所述的方法,其特征在于,所述必选项解码流程,包括:
如果消息格式属性值中包含有长度信息,则先对所述长度信息进行解码,
然后,将所述长度信息与标准长度信息进行比较,若所述长度信息在所述标准
长度范围之内,则继续进行解码,否则,结束当前解码流程;如果消息格式属
性值中不包含长度信息,则不需要对所述长度信息进行解码;直到解码长度为
0,则当前消息解码结束。
7.一种解码装置,其特征在于,所述解码装置包括提取模块和解码模块;
其中,
所述提取模块,用...

【专利技术属性】
技术研发人员:许艳芳
申请(专利权)人:深圳市中兴微电子技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1