CN1329818C - 基于纯文本的命令脚本文件的人机命令实现方法 - Google Patents
基于纯文本的命令脚本文件的人机命令实现方法 Download PDFInfo
- Publication number
- CN1329818C CN1329818C CNB03110004XA CN03110004A CN1329818C CN 1329818 C CN1329818 C CN 1329818C CN B03110004X A CNB03110004X A CN B03110004XA CN 03110004 A CN03110004 A CN 03110004A CN 1329818 C CN1329818 C CN 1329818C
- Authority
- CN
- China
- Prior art keywords
- command
- parameter
- statement
- sql
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
一种基于纯文本的命令脚本文件的人机命令实现方法,包括命令定义脚本、命令生成和执行解析,具体包括:由命令生成器产生包含命令集的脚本文件使得命令参数的解析方式被定义成一段SQL语句并保存在该脚本文件中;在命令生成和执行解析过程中,将对上述包含命令行参数的SQL脚本文件的SQL语句进行解析并将结果送到命令执行模块中。利用本发明的方法,对于任一条人机命令,其命令参数的解析任务可全部定义在一个文本文件中,命令的开发、维护和升级都只是对命令定义脚本文件的增加、修改,不同的人机命令开发都可使用相同的人机命令执行器及生成器,使得命令的生成、维护、升级等都大大简化,加快了开发速度,减少日常维护量,实现了跨产品的执行代码的完全可重用。
Description
技术领域
本发明涉及通讯领域中基于数据库的应用技术,具体涉及在应用***中通过行式人机命令进行数据库操作维护管理的人机命令的实现技术,更具体地说,涉及一种基于纯文本的命令脚本文件的人机命令实现方法即对输入命令参数进行自动解析的方法。
背景技术
行式人机命令方式是交换机类较大型的通讯产品现有的操作维护模式之一。目前,常用的实现方法是在一个可执行程序中对每一条人机命令单独开发相应的处理模块,命令的具体实现依赖特定的操作***以及特定的编程语言。这种实现方式不利于应用的扩展,实现及修改的工作量大、开发周期长,且日常程序的维护、升级都十分困难。为了对人机命令的输入参数进行解析,现有技术是对每一条不同的命令分别编写代码,对其参数进行检查和解析,最终编译生成可执行文件。这样的缺点是工作量大,代码重用率很低,维护、升级困难。
发明内容
本发明要解决的技术问题是克服现有技术中实现人机命令工作量大,维护、升级困难的缺点,解决现有技术中代码重用率低的问题。
本发明上述技术问题这样解决,构造一种基于纯文本的命令脚本文件的人机命令实现方法,包括命令定义脚本、命令生成和执行解析三个部分,其特征在于,在所述命令定义脚本时,由命令生成器产生包含命令集的脚本文件使得命令参数的解析方式被定义成一段SQL语句并保存在该脚本文件中;在所述命令生成和所述执行解析过程中,将对上述包含命令行参数的SQL脚本文件的SQL语句进行解析并将结果送到命令执行模块中。
在本发明提出的基于纯文本的命令脚本文件的人机命令实现方法中,包括以下步骤:1)命令执行模块从命令行取出所有参数名称及参数值;2)根据参数的类型将每个参数转换成一个SQL参数声明并初始化;3)从相应命令脚本中取出SQL语句字符串;4)将第2步的字符串***到第3步命令脚本取出的SQL字符串的头部;5)命令脚本中的SQL语句可以直接使用命令行输入的参数名称及数值,并进行解析生成解析用的SQL语句;6)将该SQL语句提交到数据库服务器去执行,执行结果写入描述表;7)命令执行模块读取描述表的记录,得到参数解析的SQL语句执行结果,如果所述执行结果错误则终止流程,否则继续下一步操作。
在本发明提出的基于纯文本的命令脚本文件的人机命令实现方法中,所述命令执行模块从命令行取出所有参数名称及参数值,可以通过一个函数完成命令行的语法检查并分离出命令编号及命令参数,并根据命令编号找到预先定义的命令脚本。
在本发明提出的基于纯文本的命令脚本文件的人机命令实现方法中,在所述根据参数的类型将每个参数转换成一个SQL参数声明并初始化步骤中,参数类型在脚本中指定,参数的初始值就是用户在命令行中输入的相应参数值,如命令行中包含可选参数,且用户没有输入可选参数项,则该可选参数的初始值填入该参数的缺省值,缺省值在命令脚本中预定义。
在本发明提出的基于纯文本的命令脚本文件的人机命令实现方法中,所述将步骤2)形成的有关SQL声明及初始化的字符串***到步骤3)命令脚本字符串的头部,可将用户输入的参数传入到预定义的SQL脚本中,使用户输入的参数名称及参数值可以被SQL语句所解析。
在本发明提出的基于纯文本的命令脚本文件的人机命令实现方法中,所述数据库***预先定义的传递SQL语句的执行结果的描述表,至少包含语句执行情况字段和语句执行描述字段,所述SQL脚本中预定义了对传入参数的解析方式及解析结果的描述,所述命令执行模块向数据库服务器提交上面的SQL脚本语句,使参数解析的结果写入所述语句执行情况字段和语句执行描述字段。
实施本发明提供的基于纯文本的命令脚本文件的人机命令实现方法进行参数自解析,具有以下有益效果:对于任一条人机命令,对命令参数的解析任务可以全部定义在一个文本文件中,也就是说不同命令的输入参数都由其对应的脚本部分自解析,不同命令的开发、维护和升级都只是对命令定义脚本文件的增加、修改,不同产品的人机命令开发都可以使用相同的人机命令执行器及生成器。命令的生成、维护、升级等工作都大大简化,大大加快了开发速度,减少日常维护量,并实现了跨产品的执行代码的完全可重用。
附图说明
图1是描述基于纯文本的命令脚本文件的人机命令实现方法的模块框图;
图2利用本发明基于纯文本的命令脚本文件的人机命令实现方法中实现参数自解析的流程示意图。
具体实施方式
结合附图1,说明本发明基于纯文本的命令脚本文件的人机命令实现方法。如图1所示,命令生成器101,用于产生包含命令集的脚本文件102,在框103开始对脚本文件进行消息处理线程,有多个命令时,则在命令队列104。命令处理线程105中,在框106中取得命令行,在框107中进行语法检查,在框108中,结合来自命令集102的设置进行权限检查,在框109中,通过与数据库112的交互,进行参数解析,该部分为本发明方法的重点所在。在框110中,与其它操作处理模块配合进行其他操作,将处理结果送到结果链表114,陪数据库***112在框115中进行结果翻译,形成结果字符串116,与框107、108、109、110产生的结果一样,送到命令结果输出模块117,最后在框118中完成命令字符串接收和返回,接收是指送到终端设备,返回是将来自终端设备的命令字符返回到消息处理线程103。
结合图2,进一步详细说明实现参数自解析的每一步骤。
1)命令执行模块从命令行(框203)取出所有参数名称及参数值(框204),可以通过一个函数完成命令行的语法检查并分离出命令编号及命令参数,并根据命令编号找到预先定义的命令脚本(框201);
2)根据参数的类型将每个参数转换成一个SQL参数声明并初始化(框205)。其中参数类型在脚本中指定,参数的初始值就是用户在命令行中输入的相应参数值,如命令行中包含可选参数,且用户没有输入可选参数项,则该可选参数的初始值填入该参数的缺省值,缺省值在命令脚本中预定义(框202);
3)从相应命令脚本中取出参数解析及命令处理SQL语句字符串(框206);
4)将第2步产生的字符串***到第3步命令脚本字符串的头部,这样用户输入的参数就传入到了预定义的SQL脚本中,使用户输入的参数名称及参数值可以被SQL语句所解析(框206);
5)命令脚本中预定义的SQL语句可以直接使用从命令行传入的参数名称及数值,并进行解析。由于SQL语言同其他编程语言一样,具有变量、流程控制、函数等特性,可以完成任何逻辑编程操作;
6)数据库***预先定义一个描述表来传递SQL语句的执行结果,表中至少应包含语句执行情况(下面以A字段表示),语句执行描述(下面以B字段表示)等字段,SQL脚本中预定义了对传入参数的解析方式及解析结果的描述(框206);
7)命令执行模块向数据库服务器提交上面的SQL脚本语句,使参数解析的结果写入描述表的A字段和B字段(框207);
8)命令执行模块读取描述表的记录,得到参数解析的结果,并根据结果决定命令的执行流程,即错误终止或继续下一步操作,如框208所示。
从上可见,为实现某种具体操作的命令参数进行合法性检查及边界检查,特别是为了对用户屏蔽数据库***及具体业务的实现细节,针对用户的命令行输入参数往往与实际需要的操作参数不是直接相关的,因此涉及到对命令行输入参数的自解析。本发明根据SQL语言面向纯文本无需编译的特点,将参数的解析方式定义成一段SQL语句并保存为一个脚本文件,这样在命令执行时只要嵌入相应定义的语句就可得到想要的结果。这样对命令参数的解析任务就可以全部定义在一个文本文件中,也就是说不同命令的输入参数都是由其对应的脚本部分自解析的,命令的生成、维护、升级等工作都大大简化。实现的关键是命令行参数到SQL脚本的输入,以及SQL解析结果到命令执行模块的输出,也就是说关键是在SQL脚本与命令解析模块的交互上。同时,人机命令执行器模块可以预留与客户端GUI(图形用户界面的简称)应用程序的接口,使开发基于人机命令的GUI应用程序有了一个良好的基础。
Claims (4)
1、一种基于纯文本的命令脚本文件的人机命令实现方法,其特征在于,包括以下步骤:
1)从命令行取出所有参数名称及参数值;
2)参数声明SQL语句:根据取出的参数类型,将每个参数转换成一个SQL参数声明并初始化;
3)参数解析SQL语句:
a)从相应命令脚本中取出SQL语句字符串;
b)将所述步骤2)形成的参数声明SQL语句的字符串***到所述步骤a)取出的SQL语句字符串的头部;
c)命令脚本中的SQL语句使用命令行输入的参数名称及数值和预定义的对传入参数的解析方式生成解析用的SQL语句;
4)将该SQL语句提交到数据库服务器去执行,执行结果写入描述表;
5)命令执行模块读取该描述表的记录,得到参数解析的SQL语句执行结果,如果所述执行结果错误则终止流程,否则继续下一步操作。
2、根据权利要求1所述方法,其特征在于,所述命令执行模块从命令行取出所有参数名称及参数值,通过一个函数完成命令行的语法检查并分离出命令编号及命令参数,并根据命令编号找到预先定义的命令脚本。
3、根据权利要求1所述方法,其特征在于,在所述根据参数的类型将每个参数转换成一个SQL参数声明并初始化步骤中,参数类型在脚本中指定,参数的初始值就是用户在命令行中输入的相应参数值,如命令行中包含可选参数,且用户没有输入可选参数项,则该可选参数的初始值填入该参数的缺省值,缺省值在命令脚本中预定义。
4、根据权利要求1所述方法,其特征在于,所述数据库***预先定义的传递SQL语句的执行结果的描述表,至少包含语句执行情况字段和语句执行描述字段,SQL脚本中预定义了对传入参数的解析方式及解析结果的描述,所述命令执行模块向数据库服务器提交上面的SQL脚本语句,使参数解析的结果写入所述语句执行情况字段和语句执行描述字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB03110004XA CN1329818C (zh) | 2002-11-14 | 2003-03-31 | 基于纯文本的命令脚本文件的人机命令实现方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN02145473.6 | 2002-11-14 | ||
CN02145473 | 2002-11-14 | ||
CNB03110004XA CN1329818C (zh) | 2002-11-14 | 2003-03-31 | 基于纯文本的命令脚本文件的人机命令实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1501235A CN1501235A (zh) | 2004-06-02 |
CN1329818C true CN1329818C (zh) | 2007-08-01 |
Family
ID=34276040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB03110004XA Expired - Lifetime CN1329818C (zh) | 2002-11-14 | 2003-03-31 | 基于纯文本的命令脚本文件的人机命令实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1329818C (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835502B (zh) * | 2005-03-18 | 2010-07-28 | 华为技术有限公司 | 一种通过消息实现实体间控制的方法 |
CN101136780A (zh) * | 2007-09-12 | 2008-03-05 | 华为技术有限公司 | 获取用户命令信息的方法、***及用户命令注册的装置 |
CN101140540B (zh) * | 2007-10-19 | 2010-10-13 | 中兴通讯股份有限公司 | 一种自动监控磁阵故障的方法和*** |
CN101339504B (zh) * | 2008-08-08 | 2011-05-11 | 中兴通讯股份有限公司 | 一种基于文本的人机命令输出格式检查方法 |
CN102880471B (zh) * | 2012-09-24 | 2018-06-08 | 中兴通讯股份有限公司 | 基于命令行的命令执行方法及命令行操作*** |
CN103092970A (zh) * | 2013-01-24 | 2013-05-08 | 华为技术有限公司 | 一种数据库操作方法及设备 |
CN104346378B (zh) * | 2013-07-31 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 一种实现复杂数据处理的方法、装置及*** |
CN105700899A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种人机命令脚本更新方法及装置 |
CN106843822B (zh) * | 2015-12-07 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种执行代码生成方法及设备 |
CN107025102B (zh) * | 2016-02-01 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 一种基于规则文件的决策方法和*** |
CN107315576A (zh) * | 2016-04-26 | 2017-11-03 | 中兴通讯股份有限公司 | 一种动态扩展软件流程的方法和*** |
CN106021071A (zh) * | 2016-05-04 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种监控sql运行过程的方法和*** |
CN109408395A (zh) * | 2018-11-09 | 2019-03-01 | 伟创力电子技术(苏州)有限公司 | 基于txt文件的解析测试*** |
CN113282609A (zh) * | 2021-06-11 | 2021-08-20 | 东莞市盟大塑化科技有限公司 | 一种基于大数据技术的智能解析数据的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311320B1 (en) * | 1998-12-07 | 2001-10-30 | Lsi Logic Corporation | Alterable scripting tool and method |
-
2003
- 2003-03-31 CN CNB03110004XA patent/CN1329818C/zh not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311320B1 (en) * | 1998-12-07 | 2001-10-30 | Lsi Logic Corporation | Alterable scripting tool and method |
Also Published As
Publication number | Publication date |
---|---|
CN1501235A (zh) | 2004-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1329818C (zh) | 基于纯文本的命令脚本文件的人机命令实现方法 | |
CN102375731B (zh) | 一种免编码集成应用软件平台*** | |
EP2530583B1 (en) | Computer-implemented method, system and computer program product for displaying a user interface component | |
CN100433013C (zh) | 一种通过树型结构展现数据的方法及*** | |
CN101887370B (zh) | 创建***用户界面的方法及装置 | |
CN101359290A (zh) | 一种基于元数据的定制业务单据的方法及装置 | |
CN110069246A (zh) | 一种Java Web应用快速开发的平台***及其应用 | |
CN103441900A (zh) | 集中式跨平台自动化测试***及其控制方法 | |
WO2004070527A2 (en) | System and method of executing and controlling workflow processes | |
CN106407170A (zh) | 数据报表快速生成方法及*** | |
CN108694214A (zh) | 数据报表的生成方法、生成装置、可读介质及电子设备 | |
CN106648587A (zh) | 一种基于注解的Web应用代码生成方法 | |
CN112148343B (zh) | 规则发布方法、装置及终端设备 | |
CN101470601A (zh) | 一种零编码生成应用软件的方法及生成平台 | |
CN103593456A (zh) | 表单自定义设计方法及装置 | |
CN101882263B (zh) | 基于算法综合集成的演示与验证一体化*** | |
CN101170568B (zh) | 一种Telnet命令自动生成及批量执行方法 | |
CN104657274A (zh) | 软件界面测试方法及装置 | |
CN102567517A (zh) | 发布数据库数据的装置和方法 | |
JP2001325098A (ja) | アプリケーションプログラムの作成方法、データベース操作方法、項目オブジェクト管理方法、モジュール動作制御方法ならびにデータベース操作方法、項目オブジェクト管理方法およびモジュール動作制御方法を実現するためのプログラムを記録したコンピュータ可読な記録媒体 | |
Studio | User's Guide | |
CN112328231A (zh) | python字典和结构体间的快速转换方法 | |
CN104731804A (zh) | 一种建立通用查询框架的方法及装置 | |
CN103399746B (zh) | 一种便于二次开发的信息管理***及开发方法 | |
CN100426731C (zh) | 一种对人机命令中二维表的输出解析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20051014 Address after: Shenzhen Nanshan District hi tech Industrial Park Science and technology south road Zhongxing building law department Applicant after: ZTE Corp. Address before: No. 396, Shanghai, Guilin Road Applicant before: Shenzhen ZTE Co.,Ltd. Shanghai Second Research Institute |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20070801 |