基于LUT的字符串协议解析方法及装置制造方法及图纸

技术编号:6977533 阅读:332 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了基于LUT的字符串协议解析方法及装置。该方法包括:按照预设的字符串协议,对字符串命令包进行解析,获取解析结果;根据所述解析结果查找对应的执行函数。采用本发明专利技术,可以使字符串命令的组织架构有层次感,各条命令格式统一、规范。在通信协议解析的过程中只需按一定的算法查表找到对应的命令,即可执行对应的函数,从而实现过程简单高效,移植方便,可读性好。另外,可根据需要随时增加新的执行函数,不需修改原有的执行函数,从而保证系统的稳定性和可扩展性。

【技术实现步骤摘要】

本专利技术涉及字符串命令的解析方法,尤其涉及一种基于LUT(L00k-Up-Table,显示查找表)的字符串协议解析方法及装置。
技术介绍
在新型功放项目中,为了提高产品的竞争力和可扩展性,采用了最前沿的软件无线电技术,在信号链路设计中使用了 FPGA(Field Programmable Gate Array,现场可编程门阵列)、DPD (Digital Predistortion,数字预失真)、ADC (Analog-to-Digital Converter,模拟/数字转换器)等大量数字芯片,因此,在产品项目调试中,PC机调试界面 GUI必须实现对数字板上的FPGA、DPD、ADC等数字芯片的大量操作,从机数字板监控软件需要解析和处理大量的字符串命令。现在技术中通过将收到的字符串与所有的命令字逐一比较,在相应的case中进行处理。该方法在一个函数中用switch-case结构来实现,这个实现函数较为庞大,查找效率较低,可扩展性较差。目前,现有的字符串命令解析方法,定义不够严格,存在较大的安全隐患,而且实现方法过于复杂,效率不高,可扩展性和移植性不好。
技术实现思路
为了解决上述技术问题,本专利技术提供了基于LUT的字符串协议解析方法及装置, 能够使命令的解析过程具有查找高效、移植方便、可读性好等优点。本专利技术提供的基于LUT的字符串协议解析方法,包括按照预设的字符串协议,对字符串命令包进行解析,获取解析结果;根据所述解析结果查找对应的执行函数。相应地,本专利技术还提供了基于LUT的字符串协议解析装置,包括协议解析单元,用于按照预设的字符串协议,对字符串命令包进行解析,获取解析结果;函数存储单元,用于存储与字符串命令相应的执行函数;连接在所述协议解析单元和所述函数存储单元之间的命令处理单元,用于根据所述解析结果查找对应的执行函数,执行命令。实施本专利技术,具有如下有益效果字符串命令的组织架构有层次感,各条命令格式统一、规范。本专利技术设计了一个字符串协议,它是一个命令集,用于保存所有的字符串命令及其执行函数指针。在通信协议解析的过程中只需按一定的算法查表找到对应的命令,即可执行对应的函数,从而实现过程简单高效,移植方便,可读性好。另外,本专利技术将解析过程分为两个部分协议解析和命令处理。 协议解析部分按照约定的字符串协议,较为固定,移植时不需修改。命令处理部分根据协议解析的结果,进入相应的执行函数,对每个命令进行详细的处理,此部分可根据需要随时增加新的执行函数,不需修改原有的执行函数,从而保证系统的稳定性和可扩展性。附图说明图1是新型功放系统的通信拓扑图2是本专利技术基于LUT的字符串协议解析方法的流程图; 图3是本专利技术基于LUT的字符串协议解析方法的具体流程4是本专利技术基于LUT的字符串协议解析装置示意图; 图5是本专利技术基于LUT的字符串协议解析装置的实施例示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述。图1是新型功放系统的通信拓扑图。在新型功放系统中,PC机调试界面GUI必须实现对数字板上的数字芯片的大量操作,从机数字板监控软件需要解析和处理大量的字符串命令。图2是本专利技术基于LUT的字符串协议解析方法的流程图,包括 SlOl 按照预设的字符串协议,对字符串命令包进行解析,获取解析结果。需要说明的是,对于现有技术,通过将收到的字符串与一个函数中所有的命令字行处逐一比较后进行相应的操作。该函数用switch-case结构来实现,命令的解析在相应的case中处理。故此,该函数较为庞大,查找效率较低,可扩展性较差。为此,本专利技术设计了一种新的基于LUT的字符串协议解析方法。与现有技术不同在于该方法将解析过程分拆成两个部分协议解析和命令处理。如图2所示,协议解析部分是按照约定的字符串协议,负责对通信包中的字符串命令进行转义解析,具体包括命令字识别、参数校对等。最后,获取解析结果。协议解释部分是精简化的字符串协议,固定于系统内,移植时不需修改,从而保证系统的稳定性。S102 根据所述解析结果查找对应的执行函数。需要说明的是,命令处理部分是根据获取的解析结果,进入相应的执行函数,对每个命令进行详细的处理。此部分是一个执行函数对应一个字符串命令,可根据需要随时增加新的执行函数,不需修改原有的执行函数,保证系统原来的稳定性。从而实现了字符串命令的组织架构有层次感,各条命令格式统一、规范,程序的执行过程直观、高效等优点。图3是本专利技术基于LUT的字符串协议解析方法的具体流程图,图3与图2相比, 图3是具体细化的流程步骤。S201 将预设的字符串协议存储在查找表内,所述预设的字符串协议包括预设的字符串命令及其执行函数的指针。为了实现所述字符串协议,本专利技术设计了一个查找表,用于保存所有的字符串命令及其执行函数的指针。在计算机科学中,查找表是用简单的查询操作替换运行时计算的数组或者associative array这样的数据结构。由于从内存中提取数值经常要比复杂的计算速度快很多,所以这样得到的速度提升是很显著的。表格中每一行是一个命令体,对应一个字符串命令。该命令体包含了此命令的参数、执行函数的指针、用法示例等重要信息。 优选地,本实施例的所述命令体通过一个struct型的数据结构来实现。S202:按照预设的字符串协议,对字符串命令包进行解析,获取解析结果。优选地,该struct型的数据结构包含以下几个元素命令字、参数个数范围、执行函数的指针、驱动名称、扩展名和用法示例等。在实施过程中,串口或网口在不断地接收PC 机GUI或主机的命令数据,但只对其中符合通信协议的有效命令数据进行解析。对于无效的命令数据,从机监控软件将丢弃。对字符串命令包进行解析时,根据有效字符串的命令字,查表找到此表中的命令体。获得命令体相应的元素的解析结果。S203 根据所述解析结果查找对应的执行函数。命令处理过程,根据该命令体中执行函数的指针,找到其对应执行函数并运行。S204 运行所述执行函数,获取函数运行的处理数据,生成回包。执行命令的过程是根据协议解析的结果,找到执行函数的指针进入相应的执行函数,对每条命令进行相应的处理。获取函数运行的处理数据,并将数据按照一定的格式生成回包,由协议解析部分负责返回给PC机⑶I或主机。创建字符串命令及其执行函数,并将新创建的字符串命令及其执行函数的指针增加入所述字符串协议。技术开发人员根据需要进行扩展新的字符串命令时,主要的工作重点和难点皆在于此。这也是本专利技术的创新之处。将新创建的字符串命令及其执行函数的指针增加入所述字符串协议,解析过程只需对查找表进行操作,屏蔽了具体命令的执行,清晰明了,易于理解。另一方面,对于技术开发人员来说,可以不关心具体的解析过程,如果需要扩展新的字符串命令,只须在表中增加一条命令体放入所述字符串协议的查找表中,同时编写一个对应的执行函数加入命令解析部分即可,从而达到扩展方便的效果。图4是本专利技术基于LUT的字符串协议解析装置示意图,包括协议解析单元,用于按照预设的字符串协议,对字符串命令包进行解析,获取解析结^ ο函数存储单元,用于存储与字符串命令相应的执行函数。连接在所述协议解析单元和所述函数存储单元之间的命令处理单元,用于根据所述解析结果查找对应本文档来自技高网...

【技术保护点】
1.基于LUT的字符串协议解析方法,其特征在于,包括:按照预设的字符串协议,对字符串命令包进行解析,获取解析结果;根据所述解析结果查找对应的执行函数。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄健安刘雪峰
申请(专利权)人:京信通信系统中国有限公司
类型:发明
国别省市:81

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

1