一种对人机命令中二维表的输出解析方法

文档序号:7933096阅读:267来源:国知局
专利名称:一种对人机命令中二维表的输出解析方法
技术领域
本发明涉及通讯领域中基于数据库的应用技术,具体涉及应用系统中通过行式人机命令进行数据库的操作维护管理的人机命令实现,更具体地说,涉及一种基于脚本文件的人机命令方案中对查询命令的输出进行解析的方法。
背景技术
行式人机命令方式是交换机类较大型的通讯产品应有的操作维护模式之一。目前常用的实现方法是在一个可执行程序中对每一条人机命令单独开发相应的处理模块,命令的具体实现依赖特定的操作系统以及特定的编程语言。这种方式不利于应用的扩展,实现的工作量大、开发周期长,且日常程序的维护、升级都十分困难。

发明内容
本发明要解决的技术问题是克服现有技术中工作量大,维护、升级困难的缺点,解决现有技术中代码重用率低的问题,使不同的人机命令输出的区别全部体现在命令脚本中,与解析执行程序无关。
本发明上述技术问题这样解决,构造一种对人机命令中二维表的输出解析方法,包括以下步骤1)以二维表解析方式对命令输出进行预定义并将之写入命令脚本;2)命令处理时获取命令输出的原始结果数据集;3)从命令脚本中取出相应的命令输出解析方式;4)命令执行模块根据预定义的格式对二维表的每一条记录中的每个字段分别处理、组合后,得到每个字段的输出字符串。
在按照本发明提供的对人机命令中二维表的输出解析方法中,还包括以下步骤命令执行模块根据每个字段预定义的显示方式、显示位置以及显示宽度将所有结果数据集的所有字段进行格式调整、排版和转换组合,最终转换成可打印的字符串输出。
在按照本发明提供的对人机命令中二维表的输出解析方法中,所述以二维表解析方式对命令输出进行预定义并将之写入命令脚本,包括以下几种对象的定义1)列字符串定义定义输出列名的描述、列显示宽度以及对应于解析方式的位域,只对字段值对应的位域进行解析;2)列字符串与二维表列的对应关系定义建立列字符串与二维表字段的映射,一个字段可以对应多个列字符串,这时每个列字符串对应字段的某一个位域;一个列字符串也可以对应多个字段;3)对应字段或字段中某一位域的解析方式定义包括解析方式、标称值、解析值及解析字符串。
在按照本发明提供的对人机命令中二维表的输出解析方法中,所述解析方式可以是1)不解析输出的解析字符串就是字段值;2)按字段值解析当字段值等于标称值时输出解析字符串;3)按位或位域解析当字段值&标称值=解析值时输出解析字符串;4)从字节数组中取值根据标称值定义起始位置,根据解析值定义输出的字节数,将该字节序列转换城字符串输出;5)从字节数组中取位标称值定义为字节位置,解析值定义为字段位,当存在相应的字段值位定义时,输出解析字符串;6)计算时间将内部由整型值表示的日期、时间转换位字符串输出;7)IP地址将字节数组转换为IP地址字符串输出;8)MAC地址将字节数组转换为MAC地址字符串输出。
在按照本发明提供的对人机命令中二维表的输出解析方法中,所述命令处理时获取命令输出的原始结果数据集,在没有结果数据集时,则直接返回。
实施本发明提供的一种对人机命令中二维表的输出解析方法,具有以下有益效果对于任一条人机命令,对命令输出的解析任务可以全部定义在一个文本文件中,也就是说不同命令的输出都由其对应的脚本部分自动解析,不同命令的开发、维护和升级都只是对命令定义脚本文件的增加、修改,不同产品的人机命令开发都可以使用相同的人机命令执行器及生成器。不同的人机命令输出的区别全部体现在命令脚本中,与解析执行程序无关。命令的生成、维护、升级等工作都大大简化,大大加快了开发速度,减少日常维护量,并实现了跨产品的执行代码的完全可重用。


图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。本发明方法涉及其中框117即命令结果输出部分的具体实现。
结合附图2,详细解析本发明方法的实施细节。
1.预定义命令输出的二维表解析方式脚本,包括一下几部分1)列字符串定义(框201)定义输出列名的描述、列显示宽度以及对应于解析方式的位域(只对字段值对应的位域进行解析);2)列字符串与二维表列的对应关系定义(框202)建立列字符串与二维表字段的映射,一个字段可以对应多个列字符串,这时每个列字符串对应字段的某一个位域;一个列字符串也可以对应多个字段;
3)对应字段或字段中某一位域的解析方式定义(框203)分为解析方式、标称值、解析值及解析字符串几部分,其中解析方式可以灵活定义,例如可以包括下列几项●不解析输出的解析字符串就是字段值;●按字段值解析当字段值等于标称值时输出解析字符串;●按位或位域解析当字段值&标称值=解析值时输出解析字符串;●从字节数组中取值根据标称值定义起始位置,根据解析值定义输出的字节数,将该字节序列转换城字符串输出;●从字节数组中取位标称值定义为字节位置,解析值定义为字段位,当存在相应的字段值位定义时,输出解析字符串;●计算时间将内部由整型值表示的日期、时间转换位字符串输出;● IP地址将字节数组转换为IP地址字符串输出;●MAC地址将字节数组转换为MAC地址字符串输出2.判断有无结果集(框205),如有则获取命令输出的原始结果数据集(框206),如果没有结果数据集则直接返回(框208);3.取出相应命令脚本中定义的输出解析方式(框204);4.命令执行模块根据预定义的格式对二维表的每一条记录中的每个字段分别处理、组合后即可得到每个字段的输出字符串(框207);5.命令执行模块根据每个字段预定义的显示方式、显示位置以及显示宽度将所有结果数据集的所有字段进行组合,最终转换成可打印的字符串输出(框209)。
如上所述,本发明采用的基于纯文本的命令脚本文件的人机命令解决方案分为命令定义脚本、命令生成和执行解析三部分。由于对命令的输出尤其是对于查询命令的输出进行了统一处理,任一条命令的输出格式和内容都可在命令脚本中预定义,命令执行模块只需从脚本中取出输出解析部分的定义并进行相应处理后即可返回最终执行结果。对于一个SQL查询或任何一种返回结果集的查询,查询结果都可以认为是一张或多张二维数据表。为了向用户屏蔽原始数据并输出易于理解的结果,利用本发明的方法,只需要描述二维表中的每个字段,并定义每个字段的输出列字符串及相应的列解析方式即可。同时,可通过预留与客户端GUI应用程序的接口,使开发基于人机命令的GUI(图形用户界面)应用程序有一个良好的基础。
权利要求
1.一种对人机命令中二维表的输出解析方法,其特征在于,包括以下步骤1)以二维表解析方式对命令输出进行预定义并将之写入命令脚本;2)命令处理时获取命令输出的原始结果数据集;3)从命令脚本中取出相应的命令输出解析方式;4)命令执行模块根据预定义的格式对二维表的每一条记录中的每个字段分别处理、组合后,得到每个字段的输出字符串。
2.根据权利要求1所述方法,其特征在于,还包括以下步骤命令执行模块根据每个字段预定义的显示方式、显示位置以及显示宽度将所有结果数据集的所有字段进行格式调整、排版和转换组合,最终转换成可打印的字符串输出。
3.根据权利要求1或2所述方法,其特征在于,所述以二维表解析方式对命令输出进行预定义并将之写入命令脚本,包括以下几种对象的定义1)列字符串定义定义输出列名的描述、列显示宽度以及对应于解析方式的位域,只对字段值对应的位域进行解析;2)列字符串与二维表列的对应关系定义建立列字符串与二维表字段的映射,一个字段可以对应多个列字符串,这时每个列字符串对应字段的某一个位域;一个列字符串也可以对应多个字段;3)对应字段或字段中某一位域的解析方式定义包括解析方式、标称值、解析值及解析字符串。
4.根据权利要求1或2所述方法,其特征在于,解析方式可以是1)不解析输出的解析字符串就是字段值;2)按字段值解析当字段值等于标称值时输出解析字符串;3)按位或位域解析当字段值&标称值=解析值时输出解析字符串;4)从字节数组中取值根据标称值定义起始位置,根据解析值定义输出的字节数,将该字节序列转换城字符串输出;5)从字节数组中取位标称值定义为字节位置,解析值定义为字段位,当存在相应的字段值位定义时,输出解析字符串;6)计算时间将内部由整型值表示的日期、时间转换位字符串输出;7)IP地址将字节数组转换为IP地址字符串输出;8)MAC地址将字节数组转换为MAC地址字符串输出。
5.根据权利要求1或2所述方法,其特征在于,所述命令处理时获取命令输出的原始结果数据集,在没有结果数据集时,则直接返回。
全文摘要
一种对人机命令中二维表的输出解析方法,包括以下步骤1)在命令定义脚本时,预定义命令输出的二维表解析方式脚本并将之写入命令脚本;2)在命令处理时,获取命令输出的原始结果数据集;3)取出相应命令脚本中定义的输出解析方式;4)命令执行模块根据预定义的格式对二维表的每一条记录中的每个字段分别处理、组合后,得到每个字段的输出字符串;这种对人机命令中二维表的输出解析方法,对不同命令的开发、维护和升级都只需对命令定义脚本文件增加、修改,而与人机命令执行器及生成器无关,使得命令生成、维护、升级等大大简化,也加快了开发速度,减少日常维护量,并实现了跨产品的执行代码的完全可重用。
文档编号H04L12/24GK1501625SQ0214547
公开日2004年6月2日 申请日期2002年11月14日 优先权日2002年11月14日
发明者谢海峰, 李强, 王刚 申请人:深圳市中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1