脚本驱动软件构建方法和装置制造方法及图纸

技术编号:6974619 阅读:164 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种脚本驱动软件构建方法和装置。涉及软件开发领域;解决了现有脚本平台依赖性强、执行效率低下的问题。该方法包括:构建脚本解释器和脚本执行器,所述脚本解释器和脚本执行器组成脚本驱动软件。本发明专利技术提供的技术方案,适用于软件工程。

【技术实现步骤摘要】

本专利技术涉及软件开发领域,尤其涉及一种增强软件产品可维护性的脚本驱动软件构建方法和装置
技术介绍
在软件工程领域,软件维护周期是软件生命周期中持续时间最长的阶段,占到整个生命周期的70%,而其维护成本占到总成本的约80%。目前,很多技术方法用于增强软件的可维护性,其目的是通过最小的成本适应用户的变化。这些方法包括:A)结构化技术;B)使用更高级的开发语言;C)使用例行程序包; D)使用脚本等。其中,方法A和B针对源码级维护。采用方法A和B方法,当业务流程发生改变,需要要对原有软件的部分代码作更换。方法C只允许在特定的系统上使用。在某些情况下, 如某些操作系统下,或在嵌入式硬件环境下,无法实现。使用方法D,即使用脚本构造软件, 可以做到在一般系统上,灵活改变软件的功能,达到维护扩充的目的。
技术实现思路
本专利技术提供了一种脚本驱动软件构建方法和装置,解决了现有脚本平台依赖性强、执行效率低下的问题。一种脚本驱动软件构建方法,包括构建脚本解释器和脚本执行器,所述脚本解释器和脚本执行器组成脚本驱动软件。进一步的,所述构建脚本解释器和脚本执行器包括如下步骤构建一个文本解析工具,所述文本解析工具用于完成对脚本的解析与转换,生成二进制数据文件,所述文本解析工具即为所述脚本解释器;构建一个从二进制数据文件中识别节点描述符,并根据所述节点描述符执行描述符里的可执行命令的工具,该工具即为所述脚本执行器。进一步的,上述脚本驱动软件构建方法还包括使用所述脚本解释器将脚本解析成可被所述脚本执行器执行的二进制数据文件;使用所述脚本执行器执行所述二进制数据文件。进一步的,所述使用所述脚本解释器将脚本解析成可被所述脚本执行器执行的二进制数据文件的步骤具体为使用所述脚本解释器将脚本解析成由多个节点描述符构成的二进制数据文件,所述节点描述符包含所述脚本中的可执行命令的命令引用信息、命令参数信息和跳转控制信肩、ο进一步的,使用所述脚本执行器执行所述二进制数据文件包括如下步骤确定当前节点描述符的偏移,根据该偏移,获取当前节点描述符;执行所述当前节点描述符对应的可执行命令;根据所述可执行命令的执行结果和所述当前节点描述符的跳转控制信息,确定下一当前节点描述符。进一步的,上述脚本驱动软件构建方法还包括将软件业务流程分解为多个原子操作,并将这些原子操作分别封闭成独立的可执行命令;根据预置的语法规则,调用所述可执行命令构建脚本,所述预置的语法规则包括可执行命令的引用方式、参数的传递表示和判断与跳转控制表示。本专利技术还提供了一种脚本驱动软件构建装置,包括编译模块,用于构建脚本解释器和脚本执行器,所述脚本解释器和脚本执行器组成脚本驱动软件。进一步的,所述编译模块包括解释器构建单元,用于构建一个文本解析工具,所述文本解析工具用于完成对脚本的解析与转换,生成二进制数据文件,所述文本解析工具即为所述脚本解释器;执行器构建单元,用于构建一个从二进制数据文件中识别节点描述符,并根据所述节点描述符执行描述符里的可执行命令的工具,该工具即为所述脚本执行器。进一步的,上述脚本驱动软件构建装置还包括执行模块,用于使用所述脚本解释器将脚本解析成可被所述脚本执行器执行的二进制数据文件,使用所述脚本执行器执行所述二进制数据文件。进一步的,上述脚本驱动软件构建装置还包括运行期库维护模块,用于将软件业务流程分解为多个原子操作,并将这些原子操作分别封闭成独立的可执行命令。本专利技术提供了一种脚本驱动软件构建方法和装置,在需要在某一平台上运行脚本时,构建脚本解释器和脚本执行器,所述脚本解释器和脚本执行器组成脚本驱动软件,实现了根据平台灵活构建脚本驱动软件,脚本可跨平台运行;并将脚本解释器和脚本执行器分离,提高了脚本执行的效率。附图说明图1为本专利技术的实施例一提供的一种脚本驱动软件构建方法的流程图;图2为本专利技术的实施例二提供的一种脚本驱动软件构建方法的流程图;图3为图2中步骤201的具体流程图;图4为本专利技术实施例所使用的命令管理实体的结构示意图;图5为图2中步骤202的具体流程图;图6为本专利技术的实施例所使用的二进制的数据文件格式示意图;图7为图2中步骤204的具体流程图。具体实施例方式目前,使用脚本构造软件的方法存在以下不足1、一般的脚本语言需要庞大的支持平台,即必须安装虚拟机或解释执行引擎,而支持平台本身又依赖于特定的操作系统平台;2、一般的脚本所使用的解释执行平台都是边解释边执行的,解释工作占用脚本的运行时间,尤其是在嵌入式系统中,脚本的这种边解释边执行的方式造成脚本的执行效率低下。为了解决上述问题,本专利技术的实施例提供了一种脚本驱动软件构建方法,解决了脚本执行过程中平台依赖性强、执行效率低下的问题。本专利技术的实施例提供的基于节点描述符的脚本解释执行方法,不依赖于任何第三方平台,在对脚本解释完成后再执行,其执行效率接近于直接代码运行水平。下面结合附图,对本专利技术的实施例提供的脚本驱动软件构建方法进行说明。如图1所示,使用本专利技术的实施例提供的脚本驱动软件构建方法执行脚本的流程包括步骤101、将软件业务流程分解为多个原子操作,并将这些原子操作分别封装成独立的可执行命令;其中,将所述原子操作分别封装成独立的可执行命令包括将每个原子操作分别实现为一个独立的可执行例程,并统一管理这些例程的名字,入口向量,参数表描述信息等命令信息。管理方法包括生成一张索引表,或者注册到一个命令管理实体,及其他方法。 在脚本执行时通过根据可执行命令的名称查找获取相应的命令信息。步骤102、使用所述可执行命令,构建脚本;本专利技术实施例中,首先需要约定一套语法规则,遵循此语法规则,使用所述的可执行命令书写脚本,构建特定的业务流程。其中,所述的语法规则用以完成将所述可执行命令表示成节点描述符。为此,所述语法规则需要包括三个方面命令引用方式,命令参数的传递表示,判断与跳转控制表示。具体的语法规则可按照实际使用情况配置调整,只要能满足本专利技术实施例需求的语法规则,均在本专利技术实施例的保护范围之内。步骤103、构建脚本解释器和脚本执行器;本步骤主要包括以下两方面1、构建一个文本解析工具,所述文本解析工具用于完成对脚本的解析与转换,生成二进制数据文件,所述文本解析工具即为所述脚本解释器;将脚本解析成二进制数据文件,包括对脚本中,对命令引用的识别,命令参数的确定和对跳转控制的识别。识别的结果表示为一个二进制的节点描述符,这一二进制的节点描述符包括此节点在二进制文件中的偏移,此节点包含的命令的入口向量,此命令的参数,此命令执行结果为真和假时的跳转分支的偏移。最后将二进制的结点描述符数据写入一个二进制数据文件。2、构建一个从二进制数据文件中识别节点描述符,并根据所述节点描述符执行描述符里的可执行命令的工具,该工具即为所述脚本执行器。上述脚本解释器和脚本执行器构成了脚本驱动软件,在脚本驱动软件构成后,即可通过该软件运行脚本,具体流程参见以下步骤。步骤104、使用所述脚本解释器将脚本解析成可被所述脚本执行器执行的二进制数据文件;步骤105、使用所述脚本执行器执行所述二进制数据文件;本步骤具体包括1、开始执行时,根据脚本解释器解析获得的二进制数据文件,脚本执行器初始化一组上下文信息,确定当前节点描述符的偏移;2、若当前节点描述符的偏移指示为流程结本文档来自技高网...

【技术保护点】
1.一种脚本驱动软件构建方法,其特征在于,包括:构建脚本解释器和脚本执行器,所述脚本解释器和脚本执行器组成脚本驱动软件。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘福财
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

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

1