[发明专利]一种采用形式化描述语言进行RapidIO协议解码的方法在审
申请号: | 201410345168.6 | 申请日: | 2014-07-14 |
公开(公告)号: | CN104104680A | 公开(公告)日: | 2014-10-15 |
发明(设计)人: | 黄文南;胡亚平 | 申请(专利权)人: | 中国电子科技集团公司第四十一研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266555 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采用 形式化 描述 语言 进行 rapidio 协议 解码 方法 | ||
技术领域
本发明涉及协议测试分析领域,特别涉及一种RapidIO网络协议解码方法。
背景技术
RapidIO为一种高速串行总线,广泛应用于嵌入式系统内部芯片到芯片、板到板的互联。近年来,RapidIO成为电信、通讯以及嵌入式系统内的芯片与芯片之间,板与板之间的背板互连的主要技术。
RapidIO协议为二进制协议,在网络协议测试中,经常需要对接收到的RapidIO数据帧进行协议分析,对协议内容进行解码。由于RapidIO技术更新很快,伴随其协议格式会不断升级,因此协议解码程序的可扩展性是首要考虑的问题。
目前常用的协议解码技术为插件技术,将协议的解码程序做成插件,当协议更新时,需要重新更改相应的协议解码插件程序。此种方法具有一定的灵活性,无需更改主程序,只需更新插件即可。但是每当协议更新时,都需重新修改插件程序,并对用户进行软件升级服务。
而采用形式化语言描述协议帧,并以此为驱动脚本进行协议解码的方法更加灵活,可扩展性更好。每当协议升级时,用户根据简单的形式化语言的语法规则就可修改协议格式脚本,实现升级协议的解码,无需对任何程序进行修改,节省了软件升级的成本。
目前通信系统中常用ASN.1抽象语法标记语言及SDL语言进行通信协议的描述。现有的这些语言对于描述RapidIO协议而言,显得规则复杂、庞大,需要用户花费很多时间进行学习,也意味着协议的词法与语法分析过程会很繁琐。如何设计一种形式化语言,简单明了,用户一看就能掌握,又可充分描述RapidIO协议帧格式是一个需要解决的技术难题。
发明内容
为解决上述技术难题,本发明提出一种采用形式化描述语言进行RapidIO协议解码的方法。
本发明的技术方案是这样实现的:
一种采用形式化描述语言进行RapidIO协议解码的方法,包括以下步骤:
步骤(a),按照语法规则,以文本方式描述RapidIO协议格式,生成脚本文件;
步骤(b),RapidIO协议解码程序读入脚本文件进行合法性检查,并生成中间文件;
步骤(c),进行词法与语法分析,先分析主语句,再分析协议格式中的子语句,创建语法树的一个节点信息结构,以节点名为索引,节点信息为内容插入哈希表中,形成树状结构的协议信息单元哈希表;
步骤(d),读入RapidIO原始数据帧,遍历协议信息单元哈希表,根据节点信息动态创建解码树;
步骤(e),遍历解码树将RapidIO解码结果显示出来。
可选地,步骤(a)中的语法规则定义为:
语法规则1:
形式语言的单词种类有四种:基本字、标识符、常数与界符;
语法规则2:
帧协议格式由主语句构成,主语句又包括多个子语句;
语法规则3:
主语句有三种:CtrlSymbol、Header、Payload;CtlSymbol主语句描述RapdidIO的控制符;Header主语句描述RapidIO帧头;Payload主语句描述净荷;
以“//”开头的为注释语句;
子语句包括:value、state、case、flag、set语句。
可选地,所述语法规则1中,基本字、标识符、常数与界符具体为:
基本字:CtlSymbol,Header,Payload,value,state,flag,case,name,set;
标识符:用户定义的变量名;
常数:整数;
界符:{}、“”、//。
可选地,所述语法规则2中:子语句包括表达式、标识符、字符串。
可选地,所述表达式有name表达式、enum表达式、label表达式、字符串表达式、数学表达式。
可选地,所述步骤(c)中,节点信息包括:协议域的描述信息、起始位置、开始比特与结束比特位置、子节点名。
本发明的有益效果是:
(1)定义了一种易学、简单的形式化语言来描述RapidlO协议帧,并以文本方式形成脚本文件,以此脚本为驱动实现协议解码;
(2)当协议升级时,用户可以根据此形式化语言简单的语法规则,自己修改协议的脚本文件,即可实现新协议的解码,无需更改任何其它程序,节省了软件升级的成本。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第四十一研究所,未经中国电子科技集团公司第四十一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410345168.6/2.html,转载请声明来源钻瓜专利网。