掌桥专利:专业的专利平台
掌桥专利
首页

设备命令管理方法、装置、存储介质及电子设备

文献发布时间:2024-04-18 19:58:30


设备命令管理方法、装置、存储介质及电子设备

技术领域

本申请涉及计算机技术领域,特别涉及一种设备命令管理方法、装置、存储介质及电子设备。

背景技术

当今的通信装置通过安全设备(例如网关设备)进行数据传输,安全设备包含大量的可执行命令,以操控设备执行相关操作,使其具备业务处理功能。随着安全设备的设备类型和功能特性不断增加,安全设备的命令集规模也在逐渐增大,造成了安全设备的命令集的管理难度逐渐增加。

相关技术中,在对安全设备的命令集进行测试时,读取安全设备中预设的命令集,在该命令集中逐条提取命令下发给设备进行命令测试。该方式依赖于设备的命令集,设备依赖程度高,且在设备的命令集中的命令发生变化或者在命令遍历中断的情况下,需要重新从命令集的起始命令逐一开始遍历测试,从而降低了命令遍历效率。

发明内容

本申请实施例提供了一种设备命令管理方法、装置、存储介质及电子设备。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

第一方面,本申请实施例提供了一种设备命令管理方法,方法包括:

采集目标设备的命令信息,命令信息包括采集到的每个命令、每个命令的命令描述信息;

根据命令信息,识别各命令的命令属性;根据各命令的命令属性,构建命令节点,每个命令节点包括对应命令的命令节点标识及对应命令的命令描述信息;

根据命令节点,生成目标设备的命令信息树。

可选的,根据各命令的命令属性,构建命令节点,包括:

遍历各命令的命令属性,从各命令中识别出符合根命令属性的根命令及根命令下符合子命令属性的各级子命令;

根据根命令及根命令的命令描述信息,生成根命令对应的根命令节点;

根据各级子命令及各级子命令的命令描述信息,分别生成各级子命令对应的子命令节点。

可选的,根据命令节点,生成目标设备的命令信息树,包括:

在数据库中当前不存在目标设备的命令信息树的情况下,根据命令节点包括的根命令节点及各级子命令节点,生成目标设备的命令信息树。

可选的,根据命令节点,生成目标设备的命令信息树,包括:

在数据库中当前存在目标设备的命令信息树的情况下,确定当前存在的命令信息树中是否包含命令节点的命令节点标识;

如果否,基于命令属性,确定命令节点与当前存在的命令信息树中各节点之间的关联关系;基于关联关系,确定命令节点在命令信息树中的插入位置;在插入位置处插入命令节点;

如果是,基于命令节点的命令描述信息,更新当前存在的命令信息树中命令节点标识对应的节点的命令描述信息。

可选的,方法还包括:

接收命令遍历请求,确定命令遍历请求所指示的目标命令节点;

获取目标命令节点上存储的命令描述信息;

基于命令描述信息,提取目标命令节点对应的父命令、子命令的命令描述信息。

可选的,生成目标设备的命令信息树之后,还包括:

将目标设备的命令信息树拆分为多个子树;

在数据库中存储多个子树;

在接收到针对目标设备的命令信息树的读取请求时,在数据库中获取目标设备的多个子树,将多个子树合并为目标设备的命令信息树。

可选的,根据命令信息,识别各命令的命令属性之前,还包括:

根据每个命令的命令描述信息,分别判断每个命令是否符合预先配置的命令规则;

对不符合预先配置的命令规则的命令进行清除;

对于符合预先配置的命令规则的命令,执行根据命令信息识别各命令的命令属性的操作。

可选的,按照以下步骤生成预先配置的命令规则,包括:

在接收到规则配置指令的情况下,加载规则配置文件;

针对当前待配置的目标规则对应的目标规则类型,当规则配置文件中存在目标规则类型对应的历史规则内容且接收到针对客户端输入的规则内容时,根据接收的规则内容修改历史规则内容,得到目标规则类型对应的规则内容;或者,

当规则配置文件中不存在目标规则类型对应的历史规则内容且接收到针对客户端输入的规则内容时,将接收的规则内容确定为目标规则类型对应的规则内容;其中,

目标规则类型是各规则类型中的任意一个;

基于目标规则类型对应的规则内容,生成预先配置的命令规则。

可选的,方法还包括:

分别获取命令差异分析指令所指示的第一设备和第二设备的命令信息树;

遍历第一设备的命令信息树,以构建第一设备的哈希命令信息表;遍历第二设备的命令信息树,以构建第二设备的哈希命令信息表;

对第一设备的哈希命令信息表和第二设备的哈希命令信息表进行信息比对处理,生成第一设备与第二设备的命令信息差异报告。

可选的,对第一设备的哈希命令信息表和第二设备的哈希命令信息表进行信息比对处理,生成第一设备与第二设备的命令信息差异报告,包括:

在第一设备的哈希命令信息表中,确定第一设备中各命令的第一映射关系;

在第二设备的哈希命令信息表中,确定第二设备中各命令的第二映射关系;

在第一映射关系中,查询第一设备中各命令的全路径对应的命令节点标识,得到第一设备的命令节点标识;

在第二映射关系中,查询第二设备中各命令的全路径对应的命令节点标识,得到第二设备的命令节点标识;

根据第一设备的命令节点标识和第二设备的命令节点标识,分别读取第一设备的命令节点包含的命令描述信息和第二设备的命令节点包含的命令描述信息;

对比分析第一设备的命令节点包含的命令描述信息和第二设备的命令节点包含的命令描述信息,得到各命令的命令信息差异;

根据各命令的命令信息差异,生成命令信息差异报告。

可选的,遍历第一设备的命令信息树,以构建第一设备的哈希命令信息表,包括:

遍历第一设备的命令信息树,对于遍历到的每个命令节点,均生成从根命令节点至命令节点的节点路径;

对于每个命令节点,均存储命令节点的节点路径与命令节点标识之间的映射关系,得到第一设备的哈希命令信息表。

可选的,方法还包括:

接收命令查询请求,命令查询请求包括目标命令的命令节点标识及查询方向指示信息;

根据命令节点标识,在命令信息树中定位出目标命令对应的命令节点;

从命令节点开始查询查询方向指示信息所指示方向上的各个命令节点。

第二方面,本申请实施例提供了一种设备命令管理装置,装置包括:

采集模块,用于采集目标设备的命令信息,命令信息包括采集到的每个命令、每个命令的命令描述信息;

构建模块,用于根据命令信息,识别各命令的命令属性;根据各命令的命令属性,构建命令节点,每个命令节点包括对应命令的命令节点标识及对应命令的命令描述信息;

生成模块,用于根据命令节点,生成目标设备的命令信息树。

第三方面,本申请实施例提供一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步骤。

本申请实施例提供的技术方案可以包括以下有益效果:

在本申请实施例中,本申请通过采集目标设备的命令信息,以完成命令信息树构建,使得设备的全部命令信息存储于命令信息树,因此可直接基于该命令信息树进行命令集测试,摆脱了依赖于设备进行命令集测试的方式,同时树形结构支持节点回溯功能,在命令遍历中断的情况下,可以通过回溯到中断的命令节点继续遍历命令树,完成命令遍历,从而提升了命令遍历效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本申请实施例提供的一种设备命令管理方法的流程示意图;

图2是本申请提供的一种命令信息采集过程中使用的相关数据对象定义示意图;

图3是本申请提供的另一种命令信息采集过程中使用的相关数据对象定义示意图;

图4是本申请提供的一种命令规则配置过程的过程示意框图;

图5是本申请实施例提供的一种节点更新过程的过程示意框图;

图6是本申请实施例提供的一种命令信息树生成过程的流程示意图;

图7是本申请实施例提供的一种单命令路径记录方式示意图;

图8是本申请实施例提供的一种单命令路径值替换记录方式示意图;

图9是本申请实施例提供的一种命令差异化分析过程的过程示意框图;

图10是本申请实施例提供的一种设备命令管理装置的结构示意图;

图11是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

以下描述和附图充分地示出本申请的具体实施方案,以使本领域的技术人员能够实践它们。

应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

目前,在对安全设备的命令集进行测试时,读取安全设备中预设的命令集,在该命令集中逐条提取命令下发给设备进行命令测试。

本申请的发明人注意到,该方式依赖于设备的命令集,设备依赖程度高,且在设备的命令集中的命令发生变化或者在命令遍历中断的情况下,需要重新从命令集的起始命令逐一开始遍历测试,从而降低了命令遍历效率。

为了能够解决命令测试时设备依赖程度高且命令遍历效率低的问题,本申请发明人研究发现,通过采集目标设备的命令信息,以完成命令信息树构建,使得设备的全部命令信息存储于命令信息树,因此可直接基于该命令信息树进行命令集测试,摆脱了依赖于设备进行命令集测试的方式,同时树形结构支持节点回溯功能,在命令遍历中断的情况下,可以通过回溯到中断的命令节点继续遍历命令树,完成命令遍历,从而提升了命令遍历效率。

本申请提供了一种设备命令管理方法、装置、存储介质及电子设备,以解决上述相关技术问题中存在的问题。下面将结合附图1-附图9,对本申请实施例提供的设备命令管理方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的设备命令管理装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。

请参见图1,为本申请实施例提供了一种设备命令管理方法的流程示意图。如图1所示,本申请实施例的方法可以包括以下步骤:

S101,采集目标设备的命令信息,命令信息包括采集到的每个命令、每个命令的命令描述信息;

其中,目标设备是管理员在客户端上选择的所需进行命令管理的安全设备,该安全设备例如为网关设备,也可以是防火墙设备。命令信息是预先设置在安全设备中的可执行命令及该命令关联的命令描述信息。

在本申请实施例中,命令信息可以是主动采集,也可以是被动采集。

在一种可能的实现方式中,主动采集时,管理员通过在客户端上选择需进行命令管理的目标设备后,触发信息提交功能可生成命令信息采集指令,客户端此时响应于针对目标设备的命令信息采集指令,可采集目标设备的命令信息。

在另一种可能的实现方式中,被动采集时,当检测到接入了新的目标设备后,可自动触发命令信息采集指令,对该新的安全设备采集命令信息。

S102,根据命令信息,识别各命令的命令属性;根据各命令的命令属性,构建命令节点,每个命令节点包括对应命令的命令节点标识及对应命令的命令描述信息;

其中,命令属性与根节点和子节点对应。

在本申请实施例中,在根据命令信息,识别各命令的命令属性时,首先在命令信息中获取各命令的命令描述信息,该命令描述信息包括视图信息和参数信息,基于该视图信息和参数信息可识别各命令的命令属性。

其中,视图信息和参数信息用于表征各命令的命令属性为根命令属性或者子命令属性;参数信息的内容包含该参数信息所属命令的所有可用子命令。

在本申请实施例中,在根据各命令的命令属性,构建命令节点时,首先遍历各命令的命令属性,从各命令中识别出符合根命令属性的根命令及根命令下符合子命令属性的各级子命令;然后根据根命令及根命令的命令描述信息,生成根命令对应的根命令节点;最后根据各级子命令及各级子命令的命令描述信息,分别生成各级子命令对应的子命令节点。

具体的,在通过命令描述信息,生成命令节点时,首先对命令描述信息进行解析,得到解析数据;然后基于解析数据,对预定义信息节点模型中预设多个命令属性进行赋值,得到属性赋值结果;最后根据属性赋值结果进行对象初始化,得到命令节点。

其中,预定义信息节点模型例如图2和图3所示,预设多个命令属性例如图2所示的命令信息树节点数据对象类view、command、value等字段分别对应当前命令所在视图、当前完成命令以及当前命令中有值类型子命令时,替换的值模式值;例如图3所示的命令回显信息处理操作类cmds、msg等字段分别对应当前命令子命令对象化以及当前命令帮助文档回显信息。

S103,根据命令节点,生成目标设备的命令信息树。

在本申请实施例中,在根据命令节点,生成目标设备的命令信息树时,在数据库中当前不存在目标设备的命令信息树的情况下,根据命令节点包括的根命令节点及各级子命令节点,生成目标设备的命令信息树。

在本申请实施例中,在根据命令节点,生成目标设备的命令信息树时,首先在数据库中当前存在目标设备的命令信息树的情况下,确定当前存在的命令信息树中是否包含命令节点的命令节点标识;如果否,基于命令属性,确定命令节点与当前存在的命令信息树中各节点之间的关联关系;基于关联关系,确定命令节点在命令信息树中的插入位置;在插入位置处插入命令节点;如果是,基于命令节点的命令描述信息,更新当前存在的命令信息树中命令节点标识对应的节点的命令描述信息。

具体的,在生成命令信息树后,可基于任意信息节点完成父命令、子命令信息提取功能。首先接收命令遍历请求,确定命令遍历请求所指示的目标命令节点;然后获取目标命令节点上存储的命令描述信息;最后基于命令描述信息,提取目标命令节点对应的父命令、子命令的命令描述信息。

具体的,在生成目标设备的命令信息树之后,为提升命令信息树的存储和读取效率,命令信息树可按子树分治的方式存储,方便以多线程方式对命令信息树进行增删改查操作;也能够随时进行二次命令树信息采集操作,在读取时,动态完成分治命令树合并主树,便于命令信息树的遍历和信息节点提取使用。首先将目标设备的命令信息树拆分为多个子树;然后在数据库中存储多个子树;最后在接收到针对目标设备的命令信息树的读取请求时,在数据库中获取目标设备的多个子树,将多个子树合并为目标设备的命令信息树。

进一步地,在根据命令信息,识别各命令的命令属性之前,首先根据每个命令的命令描述信息,分别判断每个命令是否符合预先配置的命令规则;然后对不符合预先配置的命令规则的命令进行清除;最后对于符合预先配置的命令规则的命令,执行根据命令信息识别各命令的命令属性的操作。具体可根据每个命令的命令描述信息包括的视图信息和参数信息判断每个命令是否符合预先配置的命令规则。

具体的,按照以下步骤生成预先配置的命令规则,首先在接收到规则配置指令的情况下,加载规则配置文件;然后针对当前待配置的目标规则对应的目标规则类型,当规则配置文件中存在目标规则类型对应的历史规则内容且接收到针对客户端输入的规则内容时,根据接收的规则内容修改历史规则内容,得到目标规则类型对应的规则内容;或者,当规则配置文件中不存在目标规则类型对应的历史规则内容且接收到针对客户端输入的规则内容时,将接收的规则内容确定为目标规则类型对应的规则内容;其中,目标规则类型是各规则类型中的任意一个;最后基于目标规则类型对应的规则内容,生成预先配置的命令规则。

例如图4所示,图4是本申请提供的一种命令规则配置过程的过程示意框图,在进行规则配置时,首先加载配置模块,再提取所需配置的规则,然后判断规则处理模块是否已经提前注册,在注册的情况下,判断规则的规则格式是否正确,在正确的情况下将该规则进行响应并返回状态,以完成规则配置。

具体的,为提高设备命令管理的可维护性和可扩展性,同时也为了集中知识集,主要采用动态全局规则配置方式实现逻辑和数据的分离,全局规则按以下规则类型进行配置管理,举例如下:

(1)全局配置规则:全局配置;

[global] # 全局配置限制;

max-cmd-length= 255 # 限定最大命令组合长度;

aaa session-limit telnet"= 10# telnet会话并发数量限制,此预设值,会随配置的信息采集并发数,动态调整。

(2)命令值规则:预定义命令参数值模式,在遍历过程中进行识别处理;

[value] # 模式值分类;

int = ["INTEGER<(\d+).*(\d+)>", "<(-\d+)-(\d+)>", "<(\d+)>", "\S\S:\S\S", "<(\d+).*(\d+)>byte"] # 整型数据模式匹配;

date = ["MM/DD/YYYY", 'YYYY/MM/DD']# 日期格式;

同样的方式,定义:enum、mac、time、hex、string、ipv4和ipv6值类型模式规则定义。

(3)规避命令规则:防止命令执行导致当前工具异常退出操作;

[exclude] # 规避命令集;

quit = "quit"# 防止退出会话,结束命令递归遍历;

return = "return" # 退出当前视图,为避免退出会话,结束命令递归遍历;

reboot = "reboot" # 防止重启设备,导致并发任务收集命令文档失败。

(4)特殊视图管理规则:对意外进入非期望遍历视图,预定义退出命令;

[subview] ;

tclsh = "exit" # 退出当前tclsh视图;

python = "exit()" # 退出当前python视图;

ftp = "bye" # 退出当前ftp视图;

bash = "exit" # 退出当前bash shell视图。

(5)重复命令规则:防止命令组合空间过大,对命令组合作限制,即同一个命令在组合中的位置,不允许变化;

[rrepeat] ;

abr-summary= 2 # 组合命令从第2个开始,后续所有命令位置不允许变化;

aggregate = 3 # 组合命令从第3个开始,后续所有命令位置不允许变化;

anti-ddos= 3 # 组合命令从第3个开始,命令后续所有命令位置不允许变化。

(6)重复值规则:防止命令参数循环赋值,对赋值次数进行限制,默认情况:key-value;

[vrepeat];

once=["begin","by-linenum","sip-flood\s+.*\s+port",'subject-dn'] #命令只能赋值1次;

twice = ["copy", "csn", "description", "location", "service-date"] #命令只能赋值1次。

(7)命令依赖规则:当命令下发有先后顺序或依赖时,预定义相关依赖关系;[dependence];

xconnect-group = [["l2vpn enable"], ["end", "system-view"]]# 优先使能l2vpn;

vsi=[["l2vpn enable"], ["end", "system-view"]]# 优先使能l2vpn。

例如图5所示,图5是本申请提供的一种节点更新过程的过程示意框图,首先在数据库中当前不存在目标设备的命令信息树的情况下,根据命令节点包括的根命令节点及各级子命令节点,生成目标设备的命令信息树。在数据库中当前存在目标设备的命令信息树的情况下,确定当前存在的命令信息树中是否包含命令节点的命令节点标识;如果否,基于命令属性,确定命令节点与当前存在的命令信息树中各节点之间的关联关系;基于关联关系,确定命令节点在命令信息树中的插入位置;在插入位置处插入命令节点;如果是,基于命令节点的命令描述信息,更新当前存在的命令信息树中命令节点标识对应的节点的命令描述信息。

在本申请实施例中,构建的命令信息树具备树形结构特征,因此支持树形结构操作,如节点插入、更新、归并等操作,提升了命令遍历的灵活性。

例如图6所示,图6是本申请提供的一种命令信息树生成过程的流程示意图,首先通过起始命令判断目标设备中是否有子命令,在存在子命令的情况下,通过任务管理器中预先建立的多线程对不同的子命令采集命令信息,然后对每个命令信息进行解析,并基于解析的数据进行命令规则判定,在符合预设命令规则的情况下,可基于解析的数据建立命令信息树节点,其次基于该命令信息树节点建立命令信息树,建立过程中包括更新命令树节点,最后在所有命令处理结束的情况下,结束该流程。

其中,在目标设备的命令信息树建立完成后,可对目标设备的命令信息树进行持久化存储,存储方式包括单命令路径记录方式以及单命令路径值替换记录方式。单命令路径记录方式例如图7所示,单命令路径值替换记录方式例如图8所示。

在本申请实施例中,在持久化目标设备的命令信息树后,可基于该目标设备的命令信息树进行命令遍历验证,也可以基于不同目标设备的命令信息树进行命令差异化分析。

在本申请实施例中,在进行差异化分析时,首先分别获取命令差异分析指令所指示的第一设备和第二设备的命令信息树;然后遍历第一设备的命令信息树,以构建第一设备的哈希命令信息表;遍历第二设备的命令信息树,以构建第二设备的哈希命令信息表;其次对第一设备的哈希命令信息表和第二设备的哈希命令信息表进行信息比对处理,生成第一设备与第二设备的命令信息差异报告。

具体的,在对第一设备的哈希命令信息表和第二设备的哈希命令信息表进行信息比对处理,生成第一设备与第二设备的命令信息差异报告时,首先在第一设备的哈希命令信息表中,确定第一设备中各命令的第一映射关系;在第二设备的哈希命令信息表中,确定第二设备中各命令的第二映射关系;在第一映射关系中,查询第一设备中各命令的全路径对应的命令节点标识,得到第一设备的命令节点标识;

在第二映射关系中,查询第二设备中各命令的全路径对应的命令节点标识,得到第二设备的命令节点标识;然后根据第一设备的命令节点标识和第二设备的命令节点标识,分别读取第一设备的命令节点包含的命令描述信息和第二设备的命令节点包含的命令描述信息;其次对比分析第一设备的命令节点包含的命令描述信息和第二设备的命令节点包含的命令描述信息,得到各命令的命令信息差异;最后根据各命令的命令信息差异,生成命令信息差异报告。

具体的,在遍历第一设备的命令信息树,以构建第一设备的哈希命令信息表时,首先遍历第一设备的命令信息树,对于遍历到的每个命令节点,均生成从根命令节点至命令节点的节点路径;对于每个命令节点,均存储命令节点的节点路径与命令节点标识之间的映射关系,得到第一设备的哈希命令信息表。

进一步地,本申请支持正向、逆向和横向(当前节点的全部兄弟节点)命令信息树的遍历,快速查找和定位命令在命令信息树中的位置。首先接收命令查询请求,命令查询请求包括目标命令的命令节点标识及查询方向指示信息;然后根据命令节点标识,在命令信息树中定位出目标命令对应的命令节点;最后从命令节点开始查询查询方向指示信息所指示方向上的各个命令节点。

例如图9所示,图9是本申请提供的命令差异化分析过程的过程示意框图,首先对于命令差异化分析的第一设备和第二设备,先从数据库持久化存储的历史命令信息树中确定出第一设备命令树和第二设备命令树,然后根据第一设备命令树和第二设备命令树可构建出第一设备和第二设备各自的哈希命令信息表,最后基于第一设备和第二设备各自的哈希命令信息表进行对比分析,得出第一设备和第二设备的命令集差异表。

在本申请实施例中,本申请通过采集目标设备的命令信息,以完成命令信息树构建,使得设备的全部命令信息存储于命令信息树,因此可直接基于该命令信息树进行命令集测试,摆脱了依赖于设备进行命令集测试的方式,同时树形结构支持节点回溯功能,在命令遍历中断的情况下,可以通过回溯到中断的命令节点继续遍历命令树,完成命令遍历,从而提升了命令遍历效率。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图10,其示出了本申请一个示例性实施例提供的设备命令管理装置的结构示意图。该设备命令管理装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该装置1包括采集模块10、构建模块20、生成模块30。

采集模块10,用于采集目标设备的命令信息,命令信息包括采集到的每个命令、每个命令的命令描述信息;

构建模块20,用于根据命令信息,识别各命令的命令属性;根据各命令的命令属性,构建命令节点,每个命令节点包括对应命令的命令节点标识及对应命令的命令描述信息;

生成模块30,用于根据命令节点,生成目标设备的命令信息树。

可选的,构建模块20,包括:

属性遍历单元201,用于遍历各命令的命令属性,从各命令中识别出符合根命令属性的根命令及根命令下符合子命令属性的各级子命令;

根命令节点生成单元202,用于根据根命令及根命令的命令描述信息,生成根命令对应的根命令节点;

子命令节点生成单元203,用于根据各级子命令及各级子命令的命令描述信息,分别生成各级子命令对应的子命令节点。

可选的,生成模块30,包括:

命令节点标识确定模块,用于在数据库中当前存在目标设备的命令信息树的情况下,确定当前存在的命令信息树中是否包含命令节点的命令节点标识;

命令节点插入模块,如果否,用于基于命令属性,确定命令节点与当前存在的命令信息树中各节点之间的关联关系;基于关联关系,确定命令节点在命令信息树中的插入位置;在插入位置处插入命令节点;

命令节点更新模块,如果是,用于基于命令节点的命令描述信息,更新当前存在的命令信息树中命令节点标识对应的节点的命令描述信息。

可选的,该装置还包括:

命令信息树获取模块,用于分别获取命令差异分析指令所指示的第一设备和第二设备的命令信息树;

哈希命令信息表构建模块,用于遍历第一设备的命令信息树,以构建第一设备的哈希命令信息表;遍历第二设备的命令信息树,以构建第二设备的哈希命令信息表;

命令信息差异报告生成模块,用于对第一设备的哈希命令信息表和第二设备的哈希命令信息表进行信息比对处理,生成第一设备与第二设备的命令信息差异报告。

需要说明的是,上述实施例提供的设备命令管理装置在执行设备命令管理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的设备命令管理装置与设备命令管理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请实施例中,首先采集目标设备的命令信息,命令信息包括采集到的每个命令、每个命令的命令描述信息;然后根据命令信息,识别各命令的命令属性;其次根据各命令的命令属性,构建命令节点;最后根据命令节点,生成目标设备的命令信息树。本申请通过采集目标设备的命令信息,以完成命令信息树构建,使设备的全部命令信息存储于命令信息树,因此可基于该命令信息树进行命令集测试,摆脱了依赖于设备进行命令集测试,同时树形结构支持节点回溯功能,在命令遍历中断的情况下,可通过回溯到中断的命令节点继续遍历命令树,完成命令遍历,从而提升了命令遍历效率。

本申请还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的设备命令管理方法。

本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例的设备命令管理方法。

请参见图11,图11为一个实施例中电子设备的内部结构示意图,应用于电子设备。如图11所示,该电子设备包括通过装置总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该电子设备的非易失性存储介质存储有操作装置、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种数据传输方法。该电子设备的处理器用于提供计算和控制能力,支撑整个电子设备的运行。该电子设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种数据传输方法。该电子设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提出了一种电子设备,电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

采集目标设备的命令信息,命令信息包括采集到的每个命令、每个命令的命令描述信息;

根据命令信息,识别各命令的命令属性;根据各命令的命令属性,构建命令节点,每个命令节点包括对应命令的命令节点标识及对应命令的命令描述信息;

根据命令节点,生成目标设备的命令信息树。

在一个实施例中,处理器在执行根据各命令的命令属性,构建命令节点时,具体执行以下操作:

遍历各命令的命令属性,从各命令中识别出符合根命令属性的根命令及根命令下符合子命令属性的各级子命令;

根据根命令及根命令的命令描述信息,生成根命令对应的根命令节点;

根据各级子命令及各级子命令的命令描述信息,分别生成各级子命令对应的子命令节点。

在一个实施例中,处理器在执行根据命令节点,生成目标设备的命令信息树时,具体执行以下操作:

在数据库中当前不存在目标设备的命令信息树的情况下,根据命令节点包括的根命令节点及各级子命令节点,生成目标设备的命令信息树。

在一个实施例中,处理器在执行根据命令节点,生成目标设备的命令信息树时,具体执行以下操作:

在数据库中当前存在目标设备的命令信息树的情况下,确定当前存在的命令信息树中是否包含命令节点的命令节点标识;

如果否,基于命令属性,确定命令节点与当前存在的命令信息树中各节点之间的关联关系;基于关联关系,确定命令节点在命令信息树中的插入位置;在插入位置处插入命令节点;

如果是,基于命令节点的命令描述信息,更新当前存在的命令信息树中命令节点标识对应的节点的命令描述信息。

在一个实施例中,处理器还执行以下操作:

接收命令遍历请求,确定命令遍历请求所指示的目标命令节点;

获取目标命令节点上存储的命令描述信息;

基于命令描述信息,提取目标命令节点对应的父命令、子命令的命令描述信息。

在一个实施例中,处理器在执行生成目标设备的命令信息树之后,还执行以下操作:

将目标设备的命令信息树拆分为多个子树;

在数据库中存储多个子树;

在接收到针对目标设备的命令信息树的读取请求时,在数据库中获取目标设备的多个子树,将多个子树合并为目标设备的命令信息树。

在一个实施例中,处理器在执行根据命令信息,识别各命令的命令属性之前时,还执行以下操作:

根据每个命令的命令描述信息,分别判断每个命令是否符合预先配置的命令规则;

对不符合预先配置的命令规则的命令进行清除;

对于符合预先配置的命令规则的命令,执行根据命令信息识别各命令的命令属性的操作。

在一个实施例中,处理器在生成预先配置的命令规则时,具体执行以下操作:

在接收到规则配置指令的情况下,加载规则配置文件;

针对当前待配置的目标规则对应的目标规则类型,当规则配置文件中存在目标规则类型对应的历史规则内容且接收到针对客户端输入的规则内容时,根据接收的规则内容修改历史规则内容,得到目标规则类型对应的规则内容;或者,

当规则配置文件中不存在目标规则类型对应的历史规则内容且接收到针对客户端输入的规则内容时,将接收的规则内容确定为目标规则类型对应的规则内容;其中,

目标规则类型是各规则类型中的任意一个;

基于目标规则类型对应的规则内容,生成预先配置的命令规则。

在一个实施例中,处理器还执行以下操作:

分别获取命令差异分析指令所指示的第一设备和第二设备的命令信息树;

遍历第一设备的命令信息树,以构建第一设备的哈希命令信息表;遍历第二设备的命令信息树,以构建第二设备的哈希命令信息表;

对第一设备的哈希命令信息表和第二设备的哈希命令信息表进行信息比对处理,生成第一设备与第二设备的命令信息差异报告。

在一个实施例中,处理器在执行对第一设备的哈希命令信息表和第二设备的哈希命令信息表进行信息比对处理,生成第一设备与第二设备的命令信息差异报告时,具体执行以下操作:

在第一设备的哈希命令信息表中,确定第一设备中各命令的第一映射关系;

在第二设备的哈希命令信息表中,确定第二设备中各命令的第二映射关系;

在第一映射关系中,查询第一设备中各命令的全路径对应的命令节点标识,得到第一设备的命令节点标识;

在第二映射关系中,查询第二设备中各命令的全路径对应的命令节点标识,得到第二设备的命令节点标识;

根据第一设备的命令节点标识和第二设备的命令节点标识,分别读取第一设备的命令节点包含的命令描述信息和第二设备的命令节点包含的命令描述信息;

对比分析第一设备的命令节点包含的命令描述信息和第二设备的命令节点包含的命令描述信息,得到各命令的命令信息差异;

根据各命令的命令信息差异,生成命令信息差异报告。

在一个实施例中,处理器在执行遍历第一设备的命令信息树,以构建第一设备的哈希命令信息表时,具体执行以下操作:

遍历第一设备的命令信息树,对于遍历到的每个命令节点,均生成从根命令节点至命令节点的节点路径;

对于每个命令节点,均存储命令节点的节点路径与命令节点标识之间的映射关系,得到第一设备的哈希命令信息表。

在一个实施例中,处理器还执行以下操作:

接收命令查询请求,命令查询请求包括目标命令的命令节点标识及查询方向指示信息;

根据命令节点标识,在命令信息树中定位出目标命令对应的命令节点;

从命令节点开始查询查询方向指示信息所指示方向上的各个命令节点。

在本申请实施例中,首先采集目标设备的命令信息,命令信息包括采集到的每个命令、每个命令的命令描述信息;然后根据命令信息,识别各命令的命令属性;其次根据各命令的命令属性,构建命令节点;最后根据命令节点,生成目标设备的命令信息树。本申请通过采集目标设备的命令信息,以完成命令信息树构建,使设备的全部命令信息存储于命令信息树,因此可基于该命令信息树进行命令集测试,摆脱了依赖于设备进行命令集测试,同时树形结构支持节点回溯功能,在命令遍历中断的情况下,可通过回溯到中断的命令节点继续遍历命令树,完成命令遍历,从而提升了命令遍历效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,设备命令管理的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

相关技术
  • 多版本数据存储管理方法及装置、电子设备、存储介质
  • 集中式密码管理方法、装置、电子设备及计算机存储介质
  • 人力资源管理方法、装置、电子设备及存储介质
  • 智慧门店的管理方法、装置、电子设备及计算机存储介质
  • 一种AED电量管理方法、装置、电子设备及存储介质
  • 命令队列管理方法、装置、可读存储介质及电子设备
  • 命令队列管理方法、装置、可读存储介质及电子设备
技术分类

06120116497946