一种对于软件执行改变的方法及其系统与流程

文档序号:16929694发布日期:2019-02-22 20:09阅读:272来源:国知局
一种对于软件执行改变的方法及其系统与流程

本申请涉及计算机领域,具体地,涉及一种对于软件执行改变的方法及其系统。



背景技术:

现有技术中,软件设施包括应用程序、操作系统、驱动程序等组件,或是一个或多个组件所依赖的应用服务器和数据库。当管理员想要对软件设施进行改变时,若利用自动化工具对其进行改变,则会增加对软件设施所做出的改变的增加,在另一种情况下,在执行改变命令时,通常依赖专家的介入,但是软件中各部件之间存在相互依赖,任何专家都不能了解其中的细节,因此,单纯依赖人工执行改变命令,耗费时间和经历,并且也会增加失误的可能性。



技术实现要素:

本申请提供了一种对于软件执行改变的方法及其系统,对于软件执行改变的方法具体包括以下步骤:接收改变命令;分析改变命令,确定与改变命令对应的执行代理;执行代理分解改变命令,完善信息并获得指令树;创建指令树所对应的任务流;执行任务流,完成对软件的改变。

如上的,其中,改变命令中包含请求改变的对象、类型、环境的数据信息。

如上的,其中,执行代理中包含数据参数,数据参数中包括将要执行的改变信息,每个数据参数与改变命令中的数据信息一一对应。

如上的,其中,若执行代理的数据参数与改变命令中的数据信息一一对应,确定执行代理是改变命令需要的执行代理;若未一一对应,继续查找。

如上的,其中,还包括,分析改变命令时判断改变命令是否有效,若改变命令无效则停止分析,并发送命令无效信号。

如上的,其中,执行代理中的每个数据参数中包含分解符,分解符唯一分解改变命令。

如上的,其中,每个数据参数中包括分解码和分解关键词,分解码与分解关键词组合形成分解符。

一种对于软件执行改变的系统,包括命令接收单元、命令分析单元、命令分解单元、任务流创建单元以及执行单元;命令接收单元用于接收改变命令;命令分析单元与命令接收单元连接,用于分析改变命令,获得改变命令的数据信息,并获得执行代理;命令分解单元与命令分析单元连接,用于通过执行代理分解改变命令,并获得指令树;任务流创建单元与命令分解单元连接,用于创建与指令树对应的任务流;执行单元与任务流创建单元连接,用于依据创建的任务流,执行改变命令。

如上的,其中,命令分解单元包括存储模块、调用模块;存储模块用于将查找到的执行代理存储在执行队列中;调用模块与存储模块连接,用于调用存储在执行队列中的执行代理,分解改变命令。

如上的,其中,命令分析单元包括数据参数比对模块以及执行代理查找模块;数据参数比对模块用于将改变命令的数据信息与执行代理的数据参数进行对比,并通过连接的执行代理查找模块查找到与改变命令对应的执行代理。

本申请具有以下有益效果:

(1)本申请提供的对于软件执行改变的方法及其系统能够自动并且快速的执行改变命令,无需手动改变,提高了改变命令的执行时间以及安全性。

(2)本申请提供的对于软件执行改变的方法及其系统能够快速识别改变命令是否有效,若无效则提供分析结果,避免无效的改变命令重复发送。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是根据本申请实施例提供的对软件执行改变的方法流程图;

图2是根据本申请实施例提供的指令树结构示意图;

图3是根据本申请实施例提供的软件执行改变的系统内部结构示意图;

图4是根据本申请实施例提供的软件执行改变的系统的子模块示意图;

图5是根据本申请实施例提供的软件执行改变的系统的又一子模块示意图。

具体实施方式

下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请是一种对于软件执行改变的方法及其系统。根据本申请,能够当用户或管理员请求对软件设施进行改变时,自动并且快速的执行改变命令,无需手动改变,提高了改变命令的执行时间以及安全性。

如图1所示为本申请提供的对软件执行改变的方法流程图。

步骤s110:接收改变命令。

具体地,改变命令中包含各种数据信息,例如请求改变的对象、类型、环境以及其他数据信息。

步骤s120:分析改变命令,确定与改变命令对应的执行代理。

示例性地,执行代理是一种预先设计的,并且计算机能够执行的程序或进程。能够将改变更令分解成多个子改变命令。

进一步地,执行代理中包含数据参数,数据参数中包括将要执行的改变信息,每个数据参数与改变命令中的数据信息一一对应。

示例性地,若改变命令change1中包括的数据信息为change_target(改变目标)、change_tape(改变类型)以及change_envioronment(改变环境);执行代理resolve1中包含的数据参数为re_change_target(执行的改变目标)、re_change_tape(执行的改变类型)以及re_change_envioronment(执行的改变环境),则change_target与re_change_target为对应关系,change_tape与re_change_tape为对应关系,change_envioronment与re_change_envioronment为对应关系,也就是说,改变命令中包含的数据信息需要与执行代理中的信息全部对应一致,才能确定该执行代理是改变命令所需要的执行代理,若有一个信息不对应,则进行继续查找。

进一步地,判断改变命令是否无效,若分析改变命令时出现改变命令无效的情况,则停止分析,发送命令无效信号,提示系统重新发送改变命令。

再进一步地,可以对无效的改变命令进行出错分析,判断改变命令中是否携带数据信息,若携带数据信息,则对数据信息进行一一排查分析,数据信息中的一个无效则可能导致整个改变命令的无效,最终得出改变命令的出错结果,并将出错结果发送给系统,防止系统再次发送错误的改变命令。

若判断出改变命令中未携带数据信息,则直接得出改变命令无效的结论,无需再分析原因。

步骤s130:执行代理分解改变命令,完善信息并获得指令树。

优选地,将查找到的执行代理存储在执行队列中,通过计算机中的执行引擎调用存储在执行队列中的执行代理,从而分解改变命令。

具体地,执行代理中的每个参数中包含分解改变命令的分解符,示例性地,执行代理resolve1的re_change_target、re_change_tape以及re_change_envioronment中的一个或多个数据参数中,分别包含分解码和/或分解关键词。多个数据参数中包含的分解码加上分解关键词构成整个的分解符。

优选地,分解码是能够分解改变命令的整数,不同的整数对应不同的改变程序,此处涉及的改变程序为现有技术能够提供的程序,而改变程序对应的数字则能够由系统预先进行设置,例如数字“2”对应的是对所有改变目标中的名称进行替换。

优选地,每个数据参数中包含一个分解码,作为另一个实施例,每个的数据参数中包含不同的子分解码。对子分解码进行相加最终得到分解码。

示例性地,分解关键词由关键词加“[]”组成,例如delete[drive:][path],代表的是删除的文件或文件集的位置和名称。

通过上述的分解码以及分解关键词组合,最终得到唯一分解改变命令的分解符,分解符同样是计算机能够执行的程序代码,每个分解符代表不同的程序代码。

示例性地,如分解符为“2:delete[drive:][path]”,根据分解符对应的程序代码将改变命令分解成多个子改变命令。

值得注意的是,当改变命令被分解成多个子命令时,子命令中也应当同改变命令一样包含同样类型的数据信息。

作为另一个实施例,当改变命令十分复杂时,可以将分解后的子改变命令继续分解,最终使得每一个子改变命令为一个最容易实现的程序,分多个步骤最终实现改变命令。

如图2所示,为本申请提供的指令树结构示意图,将子命令分解成多个子改变命令,如子改变命令1、子改变命令2、子改变命令3,进一步地,为每一个子改变命令完善信息,生成改变目标、改变类型以及改变环境等数据信息,并形成每一个改变命令的指令树。可以知道,改变命令可分解为多个子改变命令,不限为三个。

步骤s140:创建所述指令树所对应的任务流。

具体地,根据图2的指令树自动创建与指令树对应的任务流,任务流为计算机能够执行改变命令的程序代码。

在一种情况下,按照子改变命令的顺序依次执行,在另一种情况下,若子改变命令或数据参数中存在优先级,则按照优先级的顺序依次执行。优选地,子改变命令的优先级始终大于数据参数的优先级,例如子改变命令2存在优先级,子改变命令3中的数据参数同样存有优先级,依据子改变命令的优先级始终大于数据参数的优先级,优先执行子改变命令。

优选地,子改变命令的优先级由工作人员设置并且可被更改。

步骤s150:执行任务流,完成对软件的执行改变。

依据创建的任务流,按照一定顺序执行改变命令。

图3为本申请实施例提供的改变命令执行系统。

如图3所示,包括命令接收单元301、命令分析单元302、命令分解单元303、任务流创建单元304以及执行单元305。

如图4所示,命令分析单元302包括数据参数比对模块401以及执行代理查找模块402。优选地,还包括命令判断模块、无效信号发送模块以及出错分析模块。

如图5所示,命令分解单元303包括存储模块501、调用模块502。

命令接收单元301用于接收改变命令;

命令分析单元302与命令接收单元301连接,用于分析改变命令,获得改变命令的数据信息,其中的数据参数比对模块401用于将改变命令的数据信息与执行代理的数据参数进行对比,并通过与其连接的执行代理查找模块402查找到与改变命令对应的执行代理。

优选地,还包括命令判断模块,命令判断模块用于判断分析后的改变命令是否有效,若无效则调用无效信号发送模块发送无效信号,同时调用出错分析模块对无效的改变命令进行出错分析。

命令分解单元303与命令分析单元302连接,用于通过执行代理分解改变命令,并获得指令树。

进一步地,存储模块501用于将查找到的执行代理存储在执行队列中;调用模块502与存储模块501连接,用于调用存储在执行队列中的执行代理,从而分解改变命令。

任务流创建单元304与命令分解单元303连接,用于创建与指令树对应的任务流。

执行单元305与任务流创建单元304连接,用于依据创建的任务流,执行改变命令。

本申请具有以下有益效果:

(1)本申请提供的对于软件执行改变的方法及其系统能够自动并且快速的执行改变命令,无需手动改变,提高了改变命令的执行时间以及安全性。

(2)本申请提供的对于软件执行改变的方法及其系统能够快速识别改变命令是否有效,若无效则提供分析结果,避免无效的改变命令重复发送。

虽然当前申请参考的示例被描述,其只是为了解释的目的而不是对本申请的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本申请的范围。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1