公开/公告号CN104461574A
专利类型发明专利
公开/公告日2015-03-25
原文格式PDF
申请/专利权人 上海斐讯数据通信技术有限公司;
申请/专利号CN201410834219.1
申请日2014-12-23
分类号G06F9/44;
代理机构上海光华专利事务所;
代理人高园园
地址 201616 上海市松江区思贤路3666号
入库时间 2023-12-18 08:05:40
法律状态公告日
法律状态信息
法律状态
2020-03-10
未缴年费专利权终止 IPC(主分类):G06F9/451 授权公告日:20180619 终止日期:20181223 申请日:20141223
专利权的终止
2018-06-19
授权
授权
2015-09-02
实质审查的生效 IPC(主分类):G06F9/44 申请日:20141223
实质审查的生效
2015-03-25
公开
公开
技术领域
本发明涉及通信的技术领域,特别是涉及一种基于XML的命令行及其命令行程序的处理方法。
背景技术
可扩展标记语言(Extensible Markup Language,XML),是标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
XML可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言;非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
命令行作为一种应用很广泛的设备管理方案,广泛应用于交换机、路由器等设备中。大多数厂家的命令行实现方案基本相同,就是将命令行数据与命令行程序合并在命令行进程中,如图1所示。
将命令行数据与命令行程序合并在命令行进程中有着很明显的优缺点。
优点:程序结构简单,不依赖于其他模块。
缺点:命令行进程在初始化的时候需要将所有的命令行数据都装载到内存中,所消耗的内存太高。
像交换机、路由器这类设备,往往要给多个用户提供命令行登陆。这就需要交换机开启多个命令行进程,所消耗的内存也就更高。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于XML的命令行及其命令行程序的处理方法,用于解决现有技术命令行所消耗的内存过高的问题。
为实现上述目的及其他相关目的,本发明提供一种基于XML的命令行,包括命令行数据装载模块和命令行程序;所述命令行数据装载模块用于对存储于XML配置文件的命令行数据进行装载;所述命令行程序用于动态解析XML配置文件中命令行数据,并执行程序。
根据上述的基于XML的命令行,其中:所述命令行程序包括程序部分和解析部分。
进一步地,根据上述的基于XML的命令行,其中:所述解析部分用于动态解析XML配置文件中的命令行数据。
进一步地,根据上述的基于XML的命令行,其中:所述程序部分用于结合解析出的命令行数据,执行程序。
同时,本发明还提供一种根据上述任一所述的基于XML的命令行的命令行程序的处理方法,包括以下步骤:
步骤S1、等待用户输入顶层命令;
步骤S2、装载XML配置文件,解析XML配置文件中的顶层命令;
步骤S3、判断XML配置文件中的顶层命令中是否存在用户输入的顶层命令,若否,转入
步骤S4;若是,转入步骤S5;
步骤S4、提示用户,该顶层命令不存在,流程结束;
步骤S5、装载该顶层命令的命令行树;
步骤S6、等待用户输入完整命令后,执行该命令,流程结束。
根据上述的命令行程序的处理方法,其中:所述步骤S6中,在执行该命令时,还包括以下步骤:动态解析XML配置文件中命令行数据。
如上所述,本发明的基于XML的命令行及其命令行程序的处理方法,具有以下有益效果:
(1)将命令行数据存储到XML配置文件中,在命令行程序中增加解析XML配置文件的模块,使得命令行程序能够在运行时动态加载命令行数据;
(2)有效地减少了命令行进程所消耗的内存。
附图说明
图1显示为现有技术中的命令行的结构示意图;
图2显示为本发明的基于XML的命令行的结构示意图;
图3显示为本发明的命令行程序的处理方法的流程图。
元件标号说明
1 命令行数据装载模块
2 命令行程序
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的基于XML的命令行中,将命令行数据存储到XML配置文件中,在命令行程序中增加解析XML配置文件的模块,使得命令行程序能够在运行时动态加载命令行数据,从而有效地减少了命令行进程所消耗的内存。
如图2所示,本发明的基于XML的命令行包括命令行数据装载模块1和命令行程序2两部分。
命令行数据装载模块1用于对存储于XML配置文件的命令行数据进行装载。
命令行程序2包括程序部分和解析部分,用于动态解析XML配置文件中命令行数据,并执行程序。
其中,解析部分用于动态解析XML配置文件中的命令行数据。
程序部分用于结合解析出的命令行数据,执行程序。
因此,在本发明的基于XML的命令行中,实现了命令行的数据与程序的分离,并增加了对存储在XML配置文件中的命令行数据的装载模块。
需要说明的是,如何装载和解析XML配置文件中的数据已经是很成熟的技术,为本领域技术人员所公知。故此处不再赘述。
如图3所示,本发明的命令行程序的处理方法包括以下步骤:
步骤S1、等待用户输入顶层命令。
步骤S2、装载XML配置文件,解析XML配置文件中的顶层命令。
步骤S3、判断XML配置文件中的顶层命令中是否存在用户输入的顶层命令,若否,转入步骤S4;若是,转入步骤S5。
步骤S4、提示用户,该顶层命令不存在,流程结束。
步骤S5、装载该顶层命令的命令行树。
步骤S6、等待用户输入完整命令后,执行该命令,流程结束。
其中,在执行该命令时,还包括以下步骤:动态解析XML配置文件中命令行数据。即命令行程序在运行时,动态解析XML配置文件中的命令行数据,并结合解析出的命令行数据,执行程序。
综上所述,本发明的基于XML的命令行及其命令行程序的处理方法将命令行数据存储到XML配置文件中,在命令行程序中增加解析XML配置文件的模块,使得命令行程序能够在运行时动态加载命令行数据;有效地减少了命令行进程所消耗的内存。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
机译: 一种用于计算机程序的控制器,该控制器执行多个调度程序以启用来自终端仿真器或用户程序的选择性图形用户界面(GUI)控制和命令行(TTY)控制。 (用于运行多个线程的计算机程序的控制器,可从终端仿真器或用户程序启用选择性图形用户界面(GUI)控制和命令行(TTY)控制)
机译: 使用XML对象进行项目空间的命令行管理的系统和方法
机译: 从XML规范提供命令行界面语法的方法和系统