CN110187986B - 一种命令管理方法、系统、装置及计算机可读存储介质 - Google Patents
一种命令管理方法、系统、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110187986B CN110187986B CN201910469716.9A CN201910469716A CN110187986B CN 110187986 B CN110187986 B CN 110187986B CN 201910469716 A CN201910469716 A CN 201910469716A CN 110187986 B CN110187986 B CN 110187986B
- Authority
- CN
- China
- Prior art keywords
- function
- target
- information
- command line
- packaging
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 44
- 230000006870 function Effects 0.000 claims abstract description 176
- 238000004806 packaging method and process Methods 0.000 claims abstract description 124
- 238000012545 processing Methods 0.000 claims abstract description 70
- 238000005538 encapsulation Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Abstract
本发明公开了一种命令管理方法,首先读取目标封装函数所需的命令行信息和对应命令行信息执行结果的处理策略,并利用预设引擎模板将命令行信息和对应的处理策略信息生成目标封装函数。由于预设引擎模板是根据不同命令行封装函数的通用逻辑设定的引擎模板,因此,在需要生成目标封装函数时,只需要确定该目标封装函数对应的配置信息即可,而无需再通过手动编程的方式将命令行及处理策略一一生成目标封装函数,从而可以有效减少封装命令行的工作量。本申请还提供了一种命令管理系统、装置及计算机可读存储介质,同样可以实现上述技术效果。
Description
技术领域
本发明涉及计算机技术,更具体地说,涉及一种命令管理方法、系统、装置及计算机可读存储介质。
背景技术
目前,在自动化测试技术中,通常需要远程操作服务端来执行大量的命令,每一个命令的返回结果都需要测试人员编写相应的代码对其进行处理,耗时耗力,增加了测试人员的工作量,使得自动化测试在后期的编写成本大大提高、可维护性大大降低。
为解决这个问题,可以对命令进行封装,提高命令的复用性和可用性,但是一旦命令过多,需要封装的方法或者API就会成正比的增加,这无疑加大了前期自动化工作封装命令行的工作量。
因此,如何减少封装命令的工作量,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种命令管理方法、系统、装置及计算机可读存储介质,已解决如何减少封装命令的工作量的问题。
为实现上述目的,本发明实施例提供了如下技术方案:
一种命令管理方法,包括:
读取目标封装函数对应的配置信息;所述配置信息包括命令行信息以及处理策略信息,所述处理策略信息为所述命令行信息的执行结果对应的处理策略;
利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数;所述预设引擎模板为预先根据不同命令行封装函数的通用逻辑设定的引擎模板。
可选地,所述处理策略信息包括:
对所述执行结果不进行处理,目标封装函数的函数返回值为空;
和/或,将所述执行结果作为目标封装函数的函数返回值;
和/或,确定所述执行结果与预设正则表达式的匹配结果,并将所述执行结果与预设正则表达式的匹配结果作为目标封装函数的函数返回值,所述匹配结果为所述执行结果与预设正则表达式相匹配的内容。
可选地,当所述目标封装函数包括至少两个时,所述利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数之后,还包括:
将所有所述目标封装函数写入同一文件。
可选地,所述利用预设引擎模板 对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数之后,还包括:
接收客户端通过RPC发送的目标封装函数的执行指令;
利用所述执行指令执行所述目标封装函数。
为实现上述目的,本申请还提供一种命令管理系统,包括:
配置文件读取模块,用于读取目标封装函数对应的配置信息;所述配置信息包括命令行信息以及处理策略信息,所述处理策略信息为所述命令行信息的执行结果对应的处理策略;
封装函数生成模块,用于利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数;所述预设引擎模板为预先根据不同命令行封装函数的通用逻辑设定的引擎模板。
可选地,所述处理策略信息包括:
对所述执行结果不进行处理,目标封装函数的函数返回值为空;
和/或,将所述执行结果作为目标封装函数的函数返回值;
和/或,确定所述执行结果与预设正则表达式的匹配结果,并将所述执行结果与预设正则表达式的匹配结果作为目标封装函数的函数返回值,所述匹配结果为所述执行结果与预设正则表达式相匹配的内容。
可选地,当所述目标封装函数包括至少两个时,所述系统还包括:
写入模块,用于利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数之后,将所有所述目标封装函数写入同一文件。
可选地,所述系统还包括:
执行指令接收模块,用于接收客户端通过RPC发送的目标封装函数的执行指令;
执行模块,用于利用所述执行指令执行所述目标封装函数。
为实现上述目的,本申请还提供一种命令管理装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如任一项所述命令管理方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如任一项所述命令管理方法的步骤。
通过以上方案可知,本发明提供的一种命令管理方法,包括:读取目标封装函数对应的配置信息;所述配置信息包括命令行信息以及处理策略信息,所述处理策略信息为所述命令行信息的执行结果对应的处理策略;利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数;所述预设引擎模板为预先根据不同命令行封装函数的通用逻辑设定的引擎模板。通过上述方法,在需要生成目标封装函数时,只需要确定该目标封装函数对应的配置信息即可,而无需再通过手动编程的方式一一来生成目标封装函数,从而可以有效减少封装命令行的工作量。本申请还提供了一种命令管理系统、装置及计算机可读存储介质,同样可以实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种命令管理方法流程图;
图2为本发明实施例公开的一种具体的命令管理方法流程图;
图3为本发明实施例公开的一种具体的命令管理方法流程图;
图4为本发明实施例公开的一种命令管理系统结构示意图;
图5为本发明实施例公开的一种命令管理系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种命令管理方法、系统、装置及计算机可读存储介质,已解决如何减少封装命令的工作量的问题。
参见图1,本发明实施例提供的一种命令管理方法,具体包括:
S101,读取目标封装函数对应的配置信息;所述配置信息包括命令行信息以及处理策略信息,所述处理策略信息为所述命令行信息的执行结果对应的处理策略。
需要说明的是,在现有技术中,一般对命令行进行封装时,其封装函数中需要包括要执行的命令行,以及对命令行执行结果的处理方式,并通过编写代码的方式根据编程规则将其封装为封装函数。
在本方案中,只需设定配置信息,配置信息中只需要包括命令行信息和命令行信息的执行结果对应的处理策略,而无需进行对命令行逐一进行编程处理。
S102,利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数;所述预设引擎模板为预先根据不同命令行封装函数的通用逻辑设定的引擎模板。
需要说明的是,引擎模板是为了使文件内容与业务数据分离产生的一种技术,可以生成特定格式的文档,目前该技术用于web开发中,生成标准的html文档。其原理是在模板中使用固定名称的占位符来标识需要更改的字符,在生成最终文档的过程中,通过模板引擎针对不同名称占位符传入不同参数达到生成不同文档的目的。
在本方案中,预先利用引擎模板技术生成对应命令行封装函数的一套引擎模板,该引擎模板是预先根据不同命令行封装函数的通用逻辑设定的引擎模板其中,用不同名称的占位符分别标识命令行信息与对应的处理策略信息。因此,利用同一引擎模板,向其中的占位符传入不同的命令行信息与对应的处理策略信息时,即可生成不同的封装函数,而无需每次都重新根据不同的命令行信息与对应的处理策略信息进行复杂的编程,才能得到封装函数。由此可见,本申请实施例提供的一种命令管理方法,首先读取目标封装函数所需的命令行信息和对应命令行信息执行结果的处理策略,并利用预设引擎模板将命令行信息和对应的处理策略信息生成目标封装函数。由于预设引擎模板是根据不同命令行封装函数的通用逻辑设定的引擎模板,因此,在需要生成目标封装函数时,只需要确定该目标封装函数对应的配置信息即可,而无需再通过手动编程的方式生成目标封装函数,从而可以有效减少封装命令行的工作量。
在前述实施例的基础上,本实施例对技术方案作出进一步的优化与说明,具体如下:
本申请实施例中,所述处理策略信息包括:
对所述执行结果不进行处理,目标封装函数的函数返回值为空;
和/或,将所述执行结果作为目标封装函数的函数返回值;
和/或,确定所述执行结果与预设正则表达式的匹配结果,并将所述执行结果与预设正则表达式的匹配结果作为目标封装函数的函数返回值,所述匹配结果为所述执行结果与预设正则表达式相匹配的内容。
需要说明的是,对命令行信息执行结果的处理策略具体可以包括以下三种:第一种是对命令行信息执行结果不进行处理,这是针对设置类的命令行而言,这种命令行的执行结果无需进行数据获取,只需要确定命令行是否下发成功即可,例如命令行信息为设置服务器的某种状态,只需确定该命令行是否下发至服务器即可。因此对于此种命令行,不对执行结果进行任何处理。
第二种是将命令行信息的执行结果作为目标封装函数的函数返回值,这是针对获取数据类的命令行而言,例如命令行信息是获取某种数据,则这种命令行信息的执行结果即是获取到的数据,获取到的数据可以直接作为封装函数的函数返回值。需要说明的是,函数的返回值是指调用或者执行该函数后,得到的函数的执行结果,因此,在调用或执行该目标封装函数时,即可获取到命令行信息的执行结果。
第三种是基于第二种之上,当命令行信息是针对获取数据类的命令行时,在获取到某种数据后,还需要确定所述执行结果与预设正则表达式的匹配结果,并将所述执行结果与预设正则表达式的匹配结果作为目标封装函数的函数返回值。
具体地,对于上述第二种处理策略,即执行结果作为目标封装函数的函数返回值,还可以进一步设定正则表达式,例如,命令行信息用于获取网络信息,执行结果就是获取到的网络信息,包括IP地址、域名、端口号等信息,但是实际想要使用的数据只有IP地址,也就是说只需要IP地址作为目标封装函数的返回值,则可以设置处理策略为:将执行结果的预设正则表达式匹配结果作为目标封装函数的返回值,预设正则表达式匹配结果就是与IP地址的正则表达式匹配的内容。
因此,当命令行信息是用于获取数据的命令行时,为了使命令行执行结果,即获取到的数据更加精确,还可以通过设置正则表达式在所有的数据中筛选出符合要求的数据。需要说明的是,正则表达式是一套逻辑公式,在这套逻辑公式中事先定义好一些特定的字符或者字符组合,这些字符或者字符组合可以对数据进行匹配,例如,定义一套对应IP地址信息的规则:
“((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))”
满足该规则的数据即为IP地址,利用该规则即可对执行结果中的数据进行筛选,筛选出IP地址。
在封装函数生成过程中,可以为多条命令行信息分别设置对应的配置信息,然后自动生成对应的多个封装函数。在一个具体的实施方式中,当目标封装函数包括至少两个时,所述利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数之后,还包括:
将所有所述目标封装函数写入同一文件。
为了方便对所有目标封装函数的使用与管理,可以将所有目标封装函数写入同一文件,从而可以将所有的目标封装函数以一个文件的形式导入不同的项目进行使用,使封装函数具有更好的可移植性。
参见图2,当需要生成多个目标封装函数时,具体的命令管理方法可以参见以下步骤:
S201,将至少两个配置信息保存至变量。
需要说明的是,这里的变量也可以理解为一个保存有多个配置信息的列表。
S202,判断变量中是否还存在配置文件,若是,执行S203,若否,执行S204。
S203,读取一个配置信息。
S204,利用预设引擎模板对当前配置信息中的命令行信息以及所述处理策略信息进行封装,生成目标封装函数。
S205,将当前配置信息从所述变量中移除,返回S202。
S206,将所有所述目标封装函数写入同一文件。
需要说明的是,可以在得到所有配置信息对应的目标封装函数后统一将所有目标封装函数写入同一文件,也可以在每得到一个目标封装函数后,就将该目标封装函数写入上述文件。
下面对本申请实施例提供的一种具体的命令管理方法进行介绍,下文描述的一种具体的命令管理方法与上述任一实施例可以相互参照。
参见图3,本申请实施例提供的一种具体的命令管理方法,具体包括:
S301,读取目标封装函数对应的配置信息;所述配置信息包括命令行信息以及处理策略信息,所述处理策略信息为所述命令行信息的执行结果对应的处理策略。
S302,利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数;所述预设引擎模板为预先根据不同命令行封装函数的通用逻辑设定的引擎模板。
其中S301、S302具体可以参见上述实施例中S101、S102,在本方案中将不再进行赘述。
S303,接收客户端通过RPC发送的目标封装函数的执行指令。
在现有技术中,由于Linux系统中通常都会有运行有SSH(安全外壳协议)服务,SSH是专为远程登录会话和其他网络服务提供安全性的协议,用户可以通过SSH方式远程操作主机。因此,执行命令行的封装函数时,通常是远程用户利用SSH服务,向保存有封装函数的服务器发送指令,从而使服务器执行封装函数。但是,利用SSH协议进行连接时,没有对网络传输的内容进行压缩,导致报文过大,传输效率慢,并且SSH通常具有身份验证功能,导致执行一条指令的时间较长。
在本方案中,预先在客户端与服务器中均安装有RPC(Remote Procedure Call,远程过程调用协议)程序,从而服务器即可利用RPC程序接收客户端通过RPC协议发送的目标封装函数的执行指令。
RPC在发送数据时,无需身份验证,并且可以对传输的信息进行压缩,因此可以有效提高执行指令与封装函数执行结果的传输效率,提高远程操作的效率。
S304,利用所述执行指令执行所述目标封装函数。
由此可见,本申请实施例提供的一种具体的命令管理方法,利用RPC进行目标封装函数执行指令的传输,可以有效提高执行指令与封装函数执行结果的传输效率,提高远程操作的效率。
下面对本申请实施例提供的一种具体示例进行介绍,其中“#”为注释符号:
如果配置信息生成如下列表,该列表中仅有一份配置信息:
struct_list = [
{
name: show_vrouter, #名称为show_vrouter
cli: show vrouter {0} #命令行为show vrouter {0}
operation: get #配置策略为获取,即将所述执行结果作为目标封装函数的函数返回值
reg:
}
]
引擎模板具体为:
{% for struct in struct_list %} # 循环遍历上述列表
# 一条配置生成一个函数
def {{struct["name"]}}(self, *args): # struct["name"]即为占位符,占位符使用{{ }}进行标识,程序运行中会替换为配置信息中的show_vrouter,
cli_tmp = {{struct["cli"]}} # struct["cli"]即为占位符,占位符使用{{ }}进行标识,程序运行中会替换为配置信息中的show vrouter {0}
cli = cli_tmp.format(*args)
rlt = self.rpc_client.execute_popen(self.bin_path, cli) # 使用rpc调用远程主机的命令
{% if struct['operation'] == set %}# 如果处理策略是设置,即对执行结果不处理
if rlt.code == 0:
return True
else:
return False
{% endif %}# 如果处理策略是获取,即将所述执行结果作为目标封装函数的函数返回值
{% if struct['operation'] == get %}
{% if struct["reg"] != '' %}
return re.findall({{struct["reg"]}}, rlt)
{% endif %}
{% if struct["reg"] == '' %}
return rlt
{% endif %}
{% endif %}
{% if struct['operation'] == match %}# 如果操作类型是匹配,即,确定所述执行结果与预设正则表达式的匹配结果,并将执行结果与预设正则表达式的匹配结果作为目标封装函数的函数返回值
if re.match({{struct["reg"]}}, rlt):
return True
else:
return False
{% endif %}
{% endfor %}
那么对应生成的函数为
def show_vrouter(self, *args):
cli_tmp = "show vrouter {0}"
cli = cli_tmp.format(*args)
rlt = self.rpc_client.execute_popen(self.bin_path, cli)
return rlt
下面对本申请实施例提供的一种命令管理系统进行介绍,下文描述的一种命令管理系统与上述任一实施例可以相互参照。
参见图4,本申请实施例提供的一种命令管理系统,具体包括:
配置文件读取模块401,用于读取目标封装函数对应的配置信息;所述配置信息包括命令行信息以及处理策略信息,所述处理策略信息为所述命令行信息的执行结果对应的处理策略;
封装函数生成模块402,用于利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数;所述预设引擎模板为预先根据不同命令行封装函数的通用逻辑设定的引擎模板。
在一个具体的实施方式中,所述处理策略信息包括:
对所述执行结果不进行处理,目标封装函数的函数返回值为空;
和/或,将所述执行结果作为目标封装函数的函数返回值;
和/或,确定所述执行结果与预设正则表达式的匹配结果,并将所述执行结果与预设正则表达式的匹配结果作为目标封装函数的函数返回值,所述匹配结果为所述执行结果与预设正则表达式相匹配的内容。
在一个具体的实施方式中,当所述目标封装函数包括至少两个时,所述系统还包括:
写入模块,用于利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数之后,将所有所述目标封装函数写入同一文件。
在一个具体的实施方式中,所述系统还包括:
执行指令接收模块,用于接收客户端通过RPC发送的目标封装函数的执行指令;
执行模块,用于利用所述执行指令执行所述目标封装函数。
本实施例的命令管理系统用于实现前述的命令管理方法,因此命令管理系统中的具体实施方式可见前文中的命令管理方法的实施例部分,例如,配置文件读取模块401,封装函数生成模块402,分别用于实现上述命令管理方法中步骤S101,S102,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
下面对本申请实施例提供的一种命令管理装置进行介绍,下文描述的一种命令管理装置与上述任一实施例可以相互参照。
参见图5,本申请实施例提供的一种命令管理装置,具体包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时实现上述任一命令管理方法的步骤。
具体的,存储器100包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为区块链节点设备提供计算和控制能力,可以实现以下步骤:
读取目标封装函数对应的配置信息;所述配置信息包括命令行信息以及处理策略信息,所述处理策略信息为所述命令行信息的执行结果对应的处理策略;
利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数;所述预设引擎模板为预先根据不同命令行封装函数的通用逻辑设定的引擎模板。在一些具体的实施例中,所述处理策略信息包括:
对所述执行结果不进行处理,目标封装函数的函数返回值为空;
和/或,将所述执行结果作为目标封装函数的函数返回值;
和/或,确定所述执行结果与预设正则表达式的匹配结果,并将所述执行结果与预设正则表达式的匹配结果作为目标封装函数的函数返回值,所述匹配结果为所述执行结果与预设正则表达式相匹配的内容。
在一些具体的实施例中,当所述目标封装函数包括至少两个时,所述处理器200执行所述存储器100中保存的计算机子程序时,具体可以实现以下步骤:
将所有所述目标封装函数写入同一文件。
在一些具体的实施例中,所述处理器200执行所述存储器100中保存的计算机子程序时,具体可以实现以下步骤:
接收客户端通过RPC发送的目标封装函数的执行指令;
利用所述执行指令执行所述目标封装函数。
进一步的,本实施例中的区块链节点设备,还可以包括:
输入接口300,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器100中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器200中,以便处理器200利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口300具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口400,用于将处理器200产生的各种数据输出至与其相连的终端设备,以便于与输出接口400相连的其他终端设备能够获取到处理器200产生的各种数据。本实施例中,所述输出接口400具体可以包括但不限于USB接口、串行接口等。
通讯单元500,用于和其他节点之间建立远程连接进行数据传输。
键盘600,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器700,用于对交易数据封装过程的相关信息进行实时显示,以便于用户及时地了解当前交易数据封装情况。
鼠标800,可以用于协助用户输入数据并简化用户的操作。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory ,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
1.一种命令管理方法,其特征在于,包括:
读取目标封装函数对应的配置信息;所述配置信息包括命令行信息以及处理策略信息,所述处理策略信息为所述命令行信息的执行结果对应的处理策略;
利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数;所述预设引擎模板为预先根据不同命令行封装函数的通用逻辑设定的引擎模板;
当所述目标封装函数包括至少两个时,所述利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数之后,还包括:
将所有所述目标封装函数写入同一文件;
接收客户端通过RPC发送的目标封装函数的执行指令;
利用所述执行指令执行所述目标封装函数;
所述处理策略信息包括:
对所述执行结果不进行处理,目标封装函数的函数返回值为空;
和将所述执行结果作为目标封装函数的函数返回值;
和确定所述执行结果与预设正则表达式的匹配结果,并将所述执行结果与预设正则表达式的匹配结果作为目标封装函数的函数返回值,所述匹配结果为所述执行结果与预设正则表达式相匹配的内容。
2.一种命令管理系统,其特征在于,包括:
配置文件读取模块,用于读取目标封装函数对应的配置信息;所述配置信息包括命令行信息以及处理策略信息,所述处理策略信息为所述命令行信息的执行结果对应的处理策略;
封装函数生成模块,用于利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数;所述预设引擎模板为预先根据不同命令行封装函数的通用逻辑设定的引擎模板;
当所述目标封装函数包括至少两个时,所述系统还包括:
写入模块,用于利用预设引擎模板对所述命令行信息以及所述处理策略信息进行封装,生成目标封装函数之后,将所有所述目标封装函数写入同一文件;
执行指令接收模块,用于接收客户端送的目标封装函数的执行指令;
执行模块,用于利用所述执行指令执行所述目标封装函数;
所述处理策略信息包括:
对所述执行结果不进行处理,目标封装函数的函数返回值为空;
和将所述执行结果作为目标封装函数的函数返回值;
和确定所述执行结果与预设正则表达式的匹配结果,并将所述执行结果与预设正则表达式的匹配结果作为目标封装函数的函数返回值,所述匹配结果为所述执行结果与预设正则表达式相匹配的内容。
3.一种命令管理装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述命令管理方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述命令管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910469716.9A CN110187986B (zh) | 2019-05-31 | 2019-05-31 | 一种命令管理方法、系统、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910469716.9A CN110187986B (zh) | 2019-05-31 | 2019-05-31 | 一种命令管理方法、系统、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110187986A CN110187986A (zh) | 2019-08-30 |
CN110187986B true CN110187986B (zh) | 2023-12-29 |
Family
ID=67719548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910469716.9A Active CN110187986B (zh) | 2019-05-31 | 2019-05-31 | 一种命令管理方法、系统、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110187986B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110650037B (zh) * | 2019-09-06 | 2023-03-14 | 中盈优创资讯科技有限公司 | 异构网络设备配置方法及装置 |
CN110784359B (zh) * | 2019-10-31 | 2022-06-21 | 四川天邑康和通信股份有限公司 | 一种家庭网关语音状态的一键诊断方法 |
CN114996716A (zh) * | 2022-06-15 | 2022-09-02 | 中国电信股份有限公司 | 基于插件的漏洞处理方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775979A (zh) * | 2016-12-13 | 2017-05-31 | 郑州云海信息技术有限公司 | 调度器调用方法及系统 |
CN106909361A (zh) * | 2015-12-23 | 2017-06-30 | 任子行网络技术股份有限公司 | 基于模版引擎的web开发方法和装置 |
CN109634686A (zh) * | 2018-12-17 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种通过bmc远程配置服务器状态的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11151102B2 (en) * | 2016-10-28 | 2021-10-19 | Atavium, Inc. | Systems and methods for data management using zero-touch tagging |
-
2019
- 2019-05-31 CN CN201910469716.9A patent/CN110187986B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909361A (zh) * | 2015-12-23 | 2017-06-30 | 任子行网络技术股份有限公司 | 基于模版引擎的web开发方法和装置 |
CN106775979A (zh) * | 2016-12-13 | 2017-05-31 | 郑州云海信息技术有限公司 | 调度器调用方法及系统 |
CN109634686A (zh) * | 2018-12-17 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种通过bmc远程配置服务器状态的方法和系统 |
Non-Patent Citations (2)
Title |
---|
"批量生成自动化测试脚本-python";水一年;《 https://www.cnblogs.com/yao-zhang/p/10237544.html 》;20190130;第1-3页 * |
"模板引擎使用-自动生成代码";文彬0L0;《 https://www.jianshu.com/p/45997d974960 》;20161231;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110187986A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110187986B (zh) | 一种命令管理方法、系统、装置及计算机可读存储介质 | |
US20060265469A1 (en) | XML based scripting framework, and methods of providing automated interactions with remote systems | |
CN110249307A (zh) | 用于在区块链上执行原生合约的系统和方法 | |
CN109614147B (zh) | 一种phy寄存器读写方法和装置 | |
CN112039824B (zh) | 通信方法、系统、设备及计算机可读存储介质 | |
US11150896B2 (en) | Automated generation of service definitions for message queue application clients | |
WO2018210096A1 (zh) | 一种基于规则引擎的规则配置方法、终端、设备以及存储介质 | |
CN108363588B (zh) | 实现web与原生功能交互的方法、电子装置及可读存储介质 | |
CN106326099B (zh) | 一种用于程序跟踪的方法、装置及电子设备 | |
CN110278272B (zh) | 模拟Socket请求的通用方法 | |
CN112073465A (zh) | 一种基于sftp传输的动态脱敏方法与设备 | |
US20170235943A1 (en) | Application Access Control Method and Apparatus | |
CN113900633A (zh) | 物联网场景的低代码开发方法及装置、存储介质、开发平台 | |
CN110866240A (zh) | 智能密码钥匙调用方法和系统 | |
CN107451435B (zh) | 一种硬件加密机的管控方法、管控机及管控系统 | |
CN114827249A (zh) | 网格代理扩展的方法和装置 | |
CN113918245A (zh) | 一种数据调用方法、装置、设备及计算机可读存储介质 | |
CN113626295A (zh) | 压测数据的处理方法、系统及计算机可读存储介质 | |
CN112732533B (zh) | 工业监控软件运行脚本程序的方法、装置和可读介质 | |
CN114466047B (zh) | 物联网设备便捷接入物联网平台的方法、平台、设备及介质 | |
KR102588266B1 (ko) | 로봇과 인공지능 서비스 간의 자동화 통신 장치 및 이를 이용한 방법 | |
KR101249449B1 (ko) | 웹 플랫폼 검증 도구 생성 장치 및 그 제어방법 | |
CN111124923B (zh) | 运行状态查询方法、装置、服务器设备及存储介质 | |
CN110119356B (zh) | 程序的测试方法和装置 | |
KR101869377B1 (ko) | 네트워크 시그너처들 사이 또는 시그너처 페어들 사이의 의존도를 분석하는 기계어 분석 장치 및 기계어 분석 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |