一种运维模板的生成方法和装置与流程

文档序号:25991518发布日期:2021-07-23 21:03阅读:57来源:国知局
一种运维模板的生成方法和装置与流程

本申请涉及计算机技术领域,特别是涉及一种运维模板的生成方法和一种运维模板的生成装置。



背景技术:

运维服务可以指对网络、服务器、服务等资源的生命周期进行运营与维护的服务。随着用户的网络、服务器、服务等资源的增加,运维服务的重要性相应的增大,而运维服务所要花费的时间也相应的增加。依靠人工对各种资源进行运维需要花费较多时间,且容易出现错误。



技术实现要素:

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种运维模板的生成方法和相应的一种运维模板的生成装置。

为了解决上述问题,本申请实施例公开了一种运维模板的生成方法,所述方法包括:

获取用户执行的运维操作的操作信息;

采用所述操作信息,确定所述运维操作之间的关联性;

采用所述运维操作之间的关联性,确定运维任务的执行流程;

采用所述执行流程,生成运维模板。

在本申请一种实施例中,所述操作信息包括顺序信息;

所述采用所述操作信息,确定所述运维操作之间的关联性的步骤,包括:

采用所述顺序信息,确定所述运维操作之间是否为连续操作,或,组合操作;

在所述运维操作之间为连续操作,或,组合操作的情况下,确定所述运维操作之间存在关联。

在本申请一种实施例中,所述操作信息包括资源调用信息,所述资源调用信息用于存储所述运维操作调用的预设资源;

所述采用所述操作信息,确定所述运维操作之间的关联性的步骤,包括:

采用所述运维操作的资源调用信息,确定所述运维操作之间是否调用相同的预设资源;

在所述运维操作之间调用相同的预设资源的情况下,确定所述运维操作之间存在关联。

在本申请一种实施例中,所述操作信息包括输入信息以及输出信息;

所述采用所述操作信息,确定所述运维操作之间的关联性的步骤,包括:

确定所述运维操作的输入信息是否为其他运维操作的输出信息;

在所述运维操作的输入信息为其他运维操作的输出信息的情况下,确定所述运维操作与所述其他运维操作存在关联。

在本申请一种实施例中,所述操作信息还包括配置信息;

在所述采用所述运维操作之间的关联性,确定运维任务的执行流程步骤之后,所述方法还包括:

采用所述配置信息,确定所述运维任务的动作指令。

在本申请一种实施例中,所述方法还包括:

采用所述用户的操作权限,确定所述运维模板的执行权限。

本申请实施例还公开一种运维模板的生成装置,所述装置包括:

获取模块,用于获取用户执行的运维操作的操作信息;

关联模块,用于采用所述操作信息,确定所述运维操作之间的关联性;

确定模块,用于采用所述运维操作之间的关联性,确定运维任务的执行流程;

生成模块,用于采用所述执行流程,生成运维模板。

在本申请一种实施例中,所述操作信息包括顺序信息;

所述关联模块包括:

顺序确定子模块,用于采用所述顺序信息,确定所述运维操作之间是否为连续操作,或,组合操作;

第一关联子模块,用于在所述运维操作之间为连续操作,或,组合操作的情况下,确定所述运维操作之间存在关联。

在本申请一种实施例中,所述操作信息包括资源调用信息,所述资源调用信息用于存储所述运维操作调用的预设资源;

所述关联模块包括:

资源确定子模块,用于采用所述运维操作的资源调用信息,确定所述运维操作之间是否调用相同的预设资源;

第二关联子模块,在所述运维操作之间调用相同的预设资源的情况下,确定所述运维操作之间存在关联。

在本申请一种实施例中,所述操作信息包括输入信息以及输出信息;

所述关联模块包括:

输入确定子模块,用于确定所述运维操作的输入信息是否为其他运维操作的输出信息;

第三关联子模块,用于在所述运维操作的输入信息为其他运维操作的输出信息的情况下,确定所述运维操作与所述其他运维操作存在关联。

在本申请一种实施例中,所述操作信息还包括配置信息;

所述装置还包括:

指令确定模块,用于采用所述配置信息,确定所述运维任务的动作指令。

在本申请一种实施例中,所述装置还包括:

权限确定模块,用于采用所述用户的操作权限,确定所述运维模板的执行权限。

本申请实施例还公开一种装置,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本申请实施例所述的一个或多个的方法。

本申请实施例还公开一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本申请实施例所述的一个或多个的方法。

本申请实施例包括以下优点:

通过本申请实施例的运维模板的生成方法,获取用户执行的运维操作的操作信息,采用所述操作信息,确定所述运维操作之间的关联性。可以基于运维操作之间的关联性,确定所述运维操作之间的操作顺序,以及所述运维操作中的有效操作,从而确定所述运维任务的执行流程,并基于所述运维任务的执行流程,生成运维模板。从而通过执行所述运维模板,可以完成与用户输入的至少一个运维操作具有相同效果的运维任务。实现无需用户自行编写运维模板,降低了运维模板的使用门槛,提高了运维服务的效率,且可靠性高。

附图说明

图1是本申请实施例的一种运维模板的生成方法实施例的步骤流程图;

图2是本申请实施例的一种运维控制台的示意图;

图3是本申请实施例的另一种运维控制台的示意图;

图4是本申请实施例的另一种运维模板的生成方法实施例的步骤流程图;

图5是本申请实施例的另一种运维模板的生成方法实施例的步骤流程图;

图6是本申请实施例的一种运维模板的生成装置实施例的结构框图;

图7是本申请实施例的另一种运维模板的生成装置实施例的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

在本申请实施例中,由于运维服务可以是若干固定动作的组合,用户可以设计若干固定动作的组合的运维模板,从而可以通过执行运维模板,执行若干固定动作,提高运维服务的效率。但是,对于一些用户来说,编写运维模板具有一定的难度,并且用户自行编写运维模板容易出现错误,导致运维模板利用率较低,且运维服务容易由于不正确的运维模板导致出现错误。由此,本申请通过获取用户执行的运维操作的操作信息,采用操作信息生成运维模板,无需用户自行编写运维模板,降低了运维模板的使用门槛,提高了运维服务的效率,且可靠性高。

参照图1,示出了本申请的一种运维模板的生成方法实施例的步骤流程图,具体可以包括如下步骤:

步骤101,获取用户执行的运维操作的操作信息;

在本申请实施例中,用户可以在预设的运维控制台执行至少一个运维操作,对网络、服务器、服务等资源进行运营以及维护。从而运维控制台可以获取至少一个用户执行的运维操作的操作信息。

在本申请实施例中,所述操作信息可以用于存储用户执行的运维操作。具体地,所述操作信息可以存储用户在运维控制台中通过点击按钮执行的运维操作、用户在运维控制台通过输入文字执行的运维操作等,本申请对此不做限制。

在具体实现中,所述运维控制台可以通过获取用户通过输入设备在运维控制台输入的运维操作,从而获取用户执行的运维操作的操作信息。所述输入设备可以为键盘、鼠标、麦克风等,本申请对此不做限制。

在本申请实施例中,所述运维控制台提供开始录制操作以及结束录制操作,用户可以执行所述开始录制操作,在执行了至少一个运维操作后,执行所述结束录制操作。将执行所述开始录制操作与执行所述结束录制操作之间,用户执行的至少一个运维操作的操作信息,作为用于生成运维模板的操作信息。

作为本申请的一种示例,如图2所示,图2可以为本申请实施例的一种运维控制台的示意图,所述运维控制台可以具有可视化的操作界面,所述操作界面上可以设置有开始录制按钮201以及结束录制按钮202,用户可以点击开始录制按钮201,其后执行至少一个运维操作后,点击结束录制按钮202。运维控制台可以将执行所述开始录制操作与执行所述结束录制操作之间,用户执行的至少一个运维操作的操作信息,作为用于生成运维模板的操作信息。

步骤102,采用所述操作信息,确定所述运维操作之间的关联性;

在本申请实施例中,所述运维控制台可以具有可视化的操作界面,用户在可视化的操作界面进行运维操作,从而完成运维任务。用户在可视化的操作界面的操作通常可以为点击按钮、输入文字等运维操作。对于运维控制台来说,用户的所述至少一个运维操作并非是一段计算机可理解的逻辑流程,而是基于可视化的操作界面执行的零散的动作,运维控制台无法直接基于所述运维操作得到计算机可理解的逻辑流程。因此,为了在运维控制台中还原用户的运维操作,需要采用所述操作信息,确定所述运维操作之间的关联性。

在本申请实施例中,所述运维操作之间的可以存在关联。具体地,在所述运维操作需要基于其他运维操作的基础上执行,则可以认为所述运维操作之间存在关联。在所述运维操作不需要基于其他运维操作的基础上执行,则可以认为所述运维操作之间不存在关联。

作为本申请的一种示例,运维操作a为点击“创建实例”按钮,运维操作b为点击“确认创建”按钮,则运维操作b是基于运维操作a的基础上才可以执行的,所述运维操作a与运维操作b之间可以存在关联。

作为本申请的一种示例,运维操作a为搜索“finance”,得到名称中带有“finance”的ecs(elasticcomputeservice,弹性计算服务)列表,运维操作b为搜索“economics”,得到名称中带有“economics”的ecs列表。所述运维操作b可以不基于运维操作a的基础上执行,所述运维操作a与运维操作b可以不存在关联。

步骤103,采用所述运维操作之间的关联性,确定运维任务的执行流程;

在本申请实施例中,可以基于所述运维操作之间的关联性,确定所述运维操作之间的操作顺序,以及所述运维操作中的有效操作。具体地,在所述运维操作需要基于其他运维操作的基础上执行的情况下,所述其他运维操作可以是操作顺序在所述运维操作之前的运维操作。在所述运维操作中可以存在不与其他任何运维操作存在关联的运维操作,则所述运维操作可以是可排除的冗余操作。

在本申请实施例中,所述运维操作可以向运维控制台请求获取信息,也可以向运维控制台输入信息,也可以基于向运维控制台输入的信息,生成向预设的网络设备发送的请求。可以将生成向预设的网络设备发送请求的运维操作,作为关键操作。可以将与所述关键操作存在关联的其他运维操作,作为有效操作,而将与关键操作不存在关联的其他运维操作,作为冗余操作。

作为本申请的一种示例,运维操作a为输入基础配置信息,运维操作b为点击“确认生成实例”按钮。其中,运维操作a可以为向运维控制台输入基础配置信息,而运维操作b可以基于向运维控制台输入的基础配置信息,生成一向预设服务器发送的实例生成请求。则所述运维操作b可以为关键操作。所述运维操作b基于运维操作a输入的基础配置信息执行,则所述运维操作a可以为有效操作。

在本申请实施例中,可以采用所述运维操作之间的操作顺序,以及所述运维操作中的有效操作,确定运维任务的执行流程。具体地,可以基于所述运维操作中有效操作,确定所述运维控制台对应需要执行的至少一个动作指令以及所述动作指令的配置信息,并基于所述运维操作中有效操作的操作顺序,确定所述至少一个动作指令的运行顺序,从而确定运维任务的执行流程。所述动作指令可以为所述运维操作对应的计算机可以理解的指令。例如,运维操作a为点击“确认创建实例”按钮,则所述运维操作a对应的动作指令可以为“runinstances”。

步骤104,采用所述执行流程,生成运维模板。

在本申请实施例中,可以采用所述执行流程,生成运维模板。所述运维模板中可以包括计算机可以理解的至少一个动作指令以及所述动作指令的配置信息。可以通过执行所述运维模板,完成与用户输入的至少一个运维操作具有相同效果的运维任务。

在本申请实施例中,所述运维控制台可以展示生成的运维模板。从而用户可以检查所述运维模板,并对所述运维模板进行修改,确保生成的模板符合用户运维需要。

作为本申请的一种示例,图3为本申请实施例的另一运维操作台的示意图。所述运维操作台可以采用json格式、yaml格式、以及可视化预览的方式,展示所述运维模板,从而用户可以采用多种方式了解运维模板的内容。用户可以运行所述运维模板,所述运维操作台可以存储所述运维模板的执行结果,并存储执行日志,便于用户检查运维任务的执行效果。

作为本申请的一种示例,用户可以执行以下运维动作:运维操作a:点击“创建实例”按钮、运维操作b:点击“确认创建”按钮,从而完成ecs实例的创建。其中,所述运维操作a用于在运维控制台展示实例创建的设置页面,运维操作b用于基于用户在设置页面中输入的信息,生成向预设的服务器发送实例创建请求,并获取预设的服务器返回的输出信息。则所述运维操作b可以为关键操作。所述运维操作b基于运维操作a展示的配置页面中用户输入的信息创建实例,则所述运维操作a与运维操作b存在关联。由于用户未在运维操作a展示的配置页面执行运维操作,输入配置信息,则所述运维操作a中展示的配置信息可以以默认值进行设置。由此,可以确定执行流程为:向预设的服务器发送创建实例请求,所述创建实例请求中包含的配置信息为默认值,获取预设的服务器返回的输出信息,最终运维模板可以向用户展示所述输出信息。则所述运维模板可以为:

其中,动作指令action的名称格式可以为acs::<name>。“acs::ecs::runinstances”,表示创建ecs实例。该创建esc实例的动作可以默认包括描述信息description以及配置信息properties,其中描述信息description可以由运维控制台预设,采用英文以及中文描述该动作指令的用途。配置信息properties可以由用户填写,包括镜像资源标识信息imageid、资源规格信息instancetype、安全组标识信息securitygroupid、虚拟交换机标识信息vswitchid、实例数量信息amount。由于用户未填写设置信息,各个配置信息的字段可以为默认值。动作指令“创建ecs实例”可以向预设的服务器发送创建ecs实例的请求,并获取预设服务器返回的输出信息outputs,输出信息outputs可以包括实例标识信息instanceid,实例标识信息instanceid可以包括服务器随机分配的字段“instanceids[0]”。最终运维模板可以向用户展示所述输出信息outputs,输出信息outputs可以包括字段“runinstances.instanceid”。

通过本申请实施例的运维模板的生成方法,获取用户执行的运维操作的操作信息,采用所述操作信息,确定所述运维操作之间的关联性。可以基于运维操作之间的关联性,确定所述运维操作之间的操作顺序,以及所述运维操作中的有效操作,从而确定所述运维任务的执行流程,并基于所述运维任务的执行流程,生成运维模板。从而通过执行所述运维模板,可以完成与用户输入的至少一个运维操作具有相同效果的运维任务。实现无需用户自行编写运维模板,降低了运维模板的使用门槛,提高了运维服务的效率,且可靠性高。

参照图4,示出了本申请的一种运维模板的生成方法实施例的步骤流程图,具体可以包括如下步骤:

步骤401,获取用户执行的运维操作的操作信息;

在本申请实施例中,用户可以在预设的运维控制台执行至少一个运维操作,对网络、服务器、服务等资源进行运营以及维护。从而运维控制台可以获取至少一个用户执行的运维操作的操作信息。

在本申请实施例中,所述操作信息可以用于存储用户执行的运维操作。具体地,所述操作信息可以存储用户在运维控制台中通过点击按钮执行的运维操作、用户在运维控制台通过输入文字执行的运维操作等,本申请对此不做限制。

在具体实现中,所述运维控制台可以通过获取用户通过输入设备在运维控制台输入的运维操作,从而获取用户执行的运维操作的操作信息。所述输入设备可以为键盘、鼠标、麦克风等,本申请对此不做限制。

在本申请实施例中,所述运维控制台提供开始录制操作以及结束录制操作,用户可以执行所述开始录制操作,在执行了至少一个运维操作后,执行所述结束录制操作。将执行所述开始录制操作与执行所述结束录制操作之间,用户执行的至少一个运维操作的操作信息,作为用于生成运维模板的操作信息。

步骤402,采用所述操作信息,确定所述运维操作之间的关联性;

在本申请实施例中,所述运维控制台可以具有可视化的操作界面,用户在可视化的操作界面进行运维操作,从而完成运维任务。用户在可视化的操作界面的操作通常可以为点击按钮、输入文字等运维操作。对于运维控制台来说,用户的所述至少一个运维操作并非是一段计算机可理解的逻辑流程,而是基于可视化的操作界面执行的零散的动作,运维控制台无法直接基于所述运维操作得到计算机可理解的逻辑流程。因此,为了在运维控制台中还原用户的运维操作,需要采用所述操作信息,确定所述运维操作之间的关联性。

在本申请实施例中,所述运维操作之间的可以存在关联。具体地,在所述运维操作需要基于其他运维操作的基础上执行,则可以认为所述运维操作之间存在关联。在所述运维操作不需要基于其他运维操作的基础上执行,则可以认为所述运维操作之间不存在关联。

在本申请的一种实施例中,所述操作信息包括顺序信息;

在本申请实施例中,所述顺序信息可以用于表示所述运维操作的操作顺序。具体地,所述顺序信息可以采用时间进行标记,例如,00:01、2019/06/06/12:00:01等;还可以采用次序进行标记,例如,步骤一、步骤二……步骤五,1、2……5等,本申请对此不做限制。

所述采用所述操作信息,确定所述运维操作之间的关联性的步骤,包括:

s11,采用所述顺序信息,确定所述运维操作之间是否为连续操作,或,组合操作;

在本申请实施例中,所述连续操作可以为操作顺序相邻的运维操作。操作顺序相邻的运维操作,可以认为运维操作之间可以存在一定的连续性,由此,可以将操作顺序相邻的运维操作作为连续操作。

在本申请实施例中,所述组合操作可以为以固定的顺序执行至少两个运维操作。在用户执行的若干运维操作中,可以存在至少两个运维操作以固定的顺序重复出现,由此,可以认为至少两个运维操作之间是相关的操作。从而可以将以固定的顺序重复出现的至少两个运维操作作为组合操作。

s12,在所述运维操作之间为连续操作,或,组合操作的情况下,确定所述运维操作之间存在关联。

在本申请实施例中,在所述运维操作之间为连续操作,或,组合操作的情况下,可以认为所述运维操作之间存在较强的相关性,由此,可以认为所述运维操作之间存在关联。

在本申请实施例中,连续操作可能存在在前的运维操作为误操作,在后的运维操作才是用户希望执行的运维操作,或者,连续操作之间是针对不同的资源进行的操作等情况,由此,可以基于所述操作信息,进一步确定所述连续操作之间是否存在明显的关联。例如,可以基于连续操作之间的调用的资源,进一步确定连续操作之间是否存在明显的关联。还可以基于连续操作之间是否相互依赖,即在先的运维操作的输出为在后的运维操作的输入,进一步确定连续操作之间是否存在明显的关联。还可以基于机器学习,确定所述连续操作是否存在明显的关联。从而进一步提高运维操作之间的关联性的判断准确度。

在本申请的一种实施例中,所述操作信息包括资源调用信息,所述资源调用信息用于存储所述运维操作调用的预设资源;

在本申请实施例中,所述运维操作可以调用至少一个预设资源。所述资源可以为网络、服务器、服务等,本申请对此不做限制。具体地,所述服务可以包括网络设备中预设的应用程序,例如,ecs(elasticcomputeservice,弹性计算服务)服务、rds(relationaldatabaseservice)服务、函数计算服务、通知服务等,本申请对此不做限制。所述网络设备中可以设置有应用程序的调用接口,所述运维操作可以所述调用接口,调用所述服务。

在本申请实施例中,所述操作信息还可以包括资源调用信息,所述资源调用信息可以用于存储所述运维操作调用的预设资源。

作为本申请的一种示例,若所述运维操作为创建ecs实例,则所述运维操作可以通过预设的调用接口,调用所述ecs服务,以创建ecs实例。

所述采用所述操作信息,确定所述运维操作之间的关联性的步骤,包括:

s21,采用所述运维操作的资源调用信息,确定所述运维操作之间是否调用相同的预设资源;

在本申请实施例中,所述运维操作可以调用至少一个资源,则所述运维操作的操作信息还可以包括资源调用信息。可以采用所述运维操作的资源调用信息,确定所述运维操作之间是否调用相同的资源。

s22,在所述运维操作之间调用相同的预设资源的情况下,确定所述运维操作之间存在关联。

在本申请实施例中,在所述运维操作之间调用相同的预设资源的情况下,可以认为所述运维操作皆为针对相同的资源的操作,则可以认为所述运维操作之间存在较强的相关性,由此,所述运维操作之间可以存在关联。

在本申请的一种实施例中,所述操作信息包括输入信息以及输出信息;

在本申请实施例中,所述运维操作可以用于针对预设资源输入信息,并获取所述资源返回的输出信息。从而所述运维操作的操作信息还可以包括输入信息以及输出信息。所述输入信息可以用于存储所述运维操作针对预设资源输入的信息。所述输出信息可以存储所述运维操作针对预设资源输出的信息。

所述采用所述操作信息,确定所述运维操作之间的关联性的步骤,包括:

s31,确定所述运维操作的输入信息是否为其他运维操作的输出信息;

在本申请实施例中,所述运维操作可以在其他运维操作输出的信息的基础上,进一步对输出的信息进行处理。从而所述运维操作可以将其他运维操作的输出信息作为所述运维操作的输入信息。由此,可以确定所述运维操作的输入信息是否为其他运维操作的输出信息。

s32,在所述运维操作的输入信息为其他运维操作的输出信息的情况下,确定所述运维操作与所述其他运维操作存在关联。

在本申请实施例中,在所述运维操作的输入信息为其他运维操作的输出信息的情况下,可以认为所述运维操作需要基于其他运维操作的输出信息执行,可以认为所述运维操作与所述其他运维操作存在较强的相关性,所述运维操作与所述其他运维操作存在关联。

步骤403,采用所述运维操作之间的关联性,确定运维任务的执行流程;

在本申请实施例中,可以基于所述运维操作之间的关联性,确定所述运维操作之间的操作顺序,以及所述运维操作中的有效操作。具体地,在所述运维操作需要基于其他运维操作的基础上执行的情况下,所述其他运维操作可以是操作顺序在所述运维操作之前的运维操作。在所述运维操作中可以存在不与其他任何运维操作存在关联的运维操作,则所述运维操作可以是可排除的冗余操作。

在本申请实施例中,所述运维操作可以向运维控制台请求获取信息,也可以向运维控制台输入信息,也可以基于向运维控制台输入的信息,生成向预设的网络设备发送的请求。可以将生成向预设的网络设备发送请求的运维操作,作为关键操作。可以将与所述关键操作存在关联的其他运维操作,作为有效操作,而将与关键操作不存在关联的其他运维操作,作为冗余操作。

作为本申请的一种示例,运维操作a为输入基础配置信息,运维操作b为点击“确认生成实例”按钮。其中,运维操作a可以为向运维控制台输入基础配置信息,而运维操作b可以基于向运维控制台输入的基础配置信息,生成一向预设服务器发送的实例生成请求。则所述运维操作b可以为关键操作。所述运维操作b基于运维操作a输入的基础配置信息执行,则所述运维操作a可以为有效操作。

在本申请实施例中,可以采用所述运维操作之间的操作顺序,以及所述运维操作中的有效操作,确定运维任务的执行流程。具体地,可以基于所述运维操作中有效操作,确定所述运维控制台对应需要执行的至少一个动作指令以及所述动作指令的配置信息,并基于所述运维操作中有效操作的操作顺序,确定所述至少一个动作指令的运行顺序,从而确定运维任务的执行流程。所述动作指令可以为所述运维操作对应的计算机可以理解的指令。例如,运维操作a为点击“确认创建实例”按钮,则所述运维操作a对应的动作指令可以为“runinstances”。

步骤404,采用所述配置信息,确定所述运维任务的动作指令;

在本申请实施例中,所述操作信息还可以包括配置信息。所述配置信息可以为所述运维操作针对预设资源进行配置的信息。所述运维操作可以对所述预设资源进行配置,从而实现预设资源的运营与维护。

在本申请实施例中,可以将所述运维任务的动作指令,设置为采用所述配置信息对所述预设资源进行配置。还可以基于机器学习,确定所述运维操作的所述配置信息的用途,并进一步确定所述运维任务的动作指令。

在本申请实施例中,所述配置信息可以是运维控制台根据具体场景为用户默认添加的信息,例如,区域参数,时间参数等。所述配置信息还可以是用户主动输入或者选择的信息,例如,创建的实例数量、云盘存储容量大小、对预设资源设置的状态、动作等。

在本申请实施例中,对于所述配置信息中需要根据具体场景为用户默认添加的参数,所述运维控制台基于预设的规则以及机器学习,在动作指令中进行相应的设置。

在本申请实施例中,对于用户主动输入或者选择的配置信息,所述运维控制台基于预设的规则以及机器学习,确定用户设置配置信息的用途,从而确定所述运维任务的动作指令。具体地,可以将动作指令设置为需要用户自行确定相应的配置。还可以基于运维操作的配置信息,将动作指令设置为实现运维操作中对预设资源进行相应配置的指令。则所述运维控制台需要确定所述运维操作中可能存在的判断规则以及相应的配置。

作为本申请的一种示例,用户可以在运维控制台执行以下动作:运维操作a:搜索“finance”,得到名称中带有“finance”的ecs(elasticcomputeservice,弹性计算服务)列表;运维操作b:对列表里处于running状态的ecs执行重启操作;运维操作c:对处于stopped状态的ecs执行启动操作。则对于所述运维操作台来说,其可以只是接收到了对若干ecs的重启动作以及启动动作。所述运维操作台需要基于预设规则以及机器学习,确定所述运维操作b中存在判断规则:判断列表中的ecs是否处于running状态,所述运维操作c中存在判断规则:判断列表中的ecs是否处于stopped状态。例如,所述运维操作台可以确定接受重启动作的若干台ecs的状态为running状态,从而确定可能存在判断规则:判断列表中的ecs是否处于running状态。从而所述运维控制台设置设置相应的动作指令,以实现判断列表中的ecs是否处于running状态,对处于stopped状态的ecs执行启动操作,以及,判断列表中的ecs是否处于stopped状态,对处于stopped状态的ecs执行启动操作。

步骤405,采用所述执行流程,生成运维模板。

在本申请实施例中,可以采用所述执行流程,生成运维模板。所述运维模板中可以包括计算机可以理解的至少一个动作指令以及所述动作指令的配置信息。可以通过执行所述运维模板,完成与用户输入的至少一个运维操作具有相同效果的运维任务。

在本申请实施例中,所述运维控制台可以展示生成的运维模板。从而用户可以检查所述运维模板,并对所述运维模板进行修改,确保生成的模板符合用户运维需要。

在本申请的一种实施例中,所述方法还包括:

s41,采用所述用户的操作权限,确定所述运维模板的执行权限。

在本申请实施例中,所述用户可以具有操作权限,为了避免运维模板在使用过程中,出现越权运行,导致运维工作出现意外的情况,可以将录制运维模板时,用户的操作权限,作为所述运维模板的执行权限。确保运维模板的正确运行。

通过本申请实施例的运维模板的生成方法,获取用户执行的运维操作的操作信息,采用所述操作信息,确定所述运维操作之间的关联性。可以基于运维操作之间的关联性,确定所述运维操作之间的操作顺序,以及所述运维操作中的有效操作,从而确定所述运维任务的执行流程,并基于所述运维任务的执行流程,生成运维模板。从而通过执行所述运维模板,可以完成与用户输入的至少一个运维操作具有相同效果的运维任务。实现无需用户自行编写运维模板,降低了运维模板的使用门槛,提高了运维服务的效率,且可靠性高。

参照图5,示出了本申请的一种运维模板的生成方法实施例的步骤流程图,所述方法应用于云运维平台,所述云运维平台包括网页控制前端以及服务器控制后端;

在本申请实施例中,所述云运维平台可以用于对基于互联网进行部署的云服务器进行运营以及维护。所述云运维平台可以包括网页控制前端以及服务器控制后端。所述网页控制前端可以用于展示云服务器的运行状态,并接受用户针对云服务器的运维操作。所述服务器控制后端可以用于响应用户的运维操作,对云服务器进行阴影以及维护。

所述方法具体可以包括如下步骤:

步骤501,所述网络控制前端获取用户执行的针对预设的云服务器的运维操作的操作信息,并将所述操作信息发送至所述服务器控制后端;

在本申请实施例中,用户可以通过网络与所述服务器控制后端通信,从而可以在用户的电子设备展示网络控制前端的操作界面。用户可以通过与电子设备连接的输入设备,在所述网络控制前端的操作界面执行至少一个针对预设的云服务器的运维操作。

在本申请实施例中,所述网络控制前端可以获取用户执行的针对预设的云服务器的运维操作的操作信息,并通过网络,将所述操作信息发送至所述服务器后端。所述操作信息可以存储用户在所述网络控制前端中通过点击按钮执行的运维操作、用户在所述网络控制前端通过输入文字执行的运维操作等,本申请对此不做限制。

在本申请实施例中,所述网络控制前端的操作界面可以提供开始录制按钮以及结束录制按钮。用户可以点击所述操作界面的开始录制按钮,并在所述网络控制前端执行至少一个运维操作后,点击所述操作界面的结束录制按钮。所述网络控制前端可以将点击所述开始录制按钮与点击所述结束录制按钮之间,用户执行的至少一个运维操作的操作信息,作为用于生成运维模板的操作信息。

步骤502,所述服务器控制后端采用所述操作信息,确定所述运维操作之间的关联性;

在本申请实施例中,由于用户在所述网络控制前端中,基于可视化的操作界面执行的零散的动作,所述服务器控制后端无法直接基于所述运维操作得到计算机可理解的逻辑流程。因此,为了在所述服务器控制后端中还原用户的运维操作,可以采用所述操作信息,确定所述运维操作之间的关联性。

在本申请实施例中,所述运维操作之间的可以存在关联。具体地,在所述运维操作需要基于其他运维操作的基础上执行,则可以认为所述运维操作之间存在关联。在所述运维操作不需要基于其他运维操作的基础上执行,则可以认为所述运维操作之间不存在关联。

在本申请一种实施例中,所述操作信息包括顺序信息;

在本申请实施例中,所述顺序信息可以用于表示所述运维操作的操作顺序。具体地,所述顺序信息可以采用时间进行标记,例如,00:01、2019/06/06/12:00:01等;还可以采用次序进行标记,例如,步骤一、步骤二……步骤五,1、2……5等,本申请对此不做限制。

所述服务器控制后端采用所述操作信息,确定所述运维操作之间的关联性的步骤,包括:

s51,所述服务器控制后端采用所述顺序信息,确定所述运维操作之间是否为连续操作,或,组合操作;

在本申请实施例中,所述连续操作可以为操作顺序相邻的运维操作。操作顺序相邻的运维操作,可以认为运维操作之间可以存在一定的连续性,由此,所述服务器控制后端可以将操作顺序相邻的运维操作作为连续操作。

在本申请实施例中,所述组合操作可以为以固定的顺序执行至少两个运维操作。在用户执行的若干运维操作中,可以存在至少两个运维操作以固定的顺序重复出现,由此,可以认为至少两个运维操作之间是相关的操作。所述服务器控制后端可以将以固定的顺序重复出现的至少两个运维操作作为组合操作。

s52,在所述运维操作之间为连续操作,或,组合操作的情况下,所述服务器控制后端确定所述运维操作之间存在关联。

在本申请实施例中,在所述运维操作之间为连续操作,或,组合操作的情况下,可以认为所述运维操作之间存在较强的相关性,由此,所述服务器控制后端可以认为所述运维操作之间存在关联。

在本申请实施例中,连续操作可能存在在前的运维操作为误操作,在后的运维操作才是用户希望执行的运维操作,或者,连续操作之间是针对不同的资源进行的操作等情况,由此,所述服务器控制后端可以基于所述操作信息,进一步确定所述连续操作之间是否存在明显的关联。

在本申请一种实施例中,所述操作信息包括资源调用信息,所述资源调用信息用于存储所述运维操作调用的预设资源;

在本申请实施例中,所述运维操作可以调用至少一个预设云服务器中的资源。具体地,所述资源可以包括云服务器中预设的应用程序,例如,ecs(elasticcomputeservice,弹性计算服务)服务、rds(relationaldatabaseservice)服务、函数计算服务、通知服务等,本申请对此不做限制。所述云服务器中可以设置有应用程序的调用接口,所述运维操作可以所述调用接口,调用所述服务。

在本申请实施例中,所述操作信息还可以包括资源调用信息,所述资源调用信息可以用于存储所述运维操作调用的预设资源。

所述服务器控制后端采用所述操作信息,确定所述运维操作之间的关联性的步骤,包括:

s61,所述服务器控制后端采用所述运维操作的资源调用信息,确定所述运维操作之间是否调用相同的预设资源;

在本申请实施例中,所述运维操作可以调用至少一个资源,则所述运维操作的操作信息还可以包括资源调用信息。所述服务器控制后端可以采用所述运维操作的资源调用信息,确定所述运维操作之间是否调用相同的资源。

s62,在所述运维操作之间调用相同的预设资源的情况下,所述服务器控制后端确定所述运维操作之间存在关联。

在本申请实施例中,在所述运维操作之间调用相同的预设资源的情况下,可以认为所述运维操作皆为针对相同的资源的操作,则可以认为所述运维操作之间存在较强的相关性,由此,所述服务器控制后端可以确定所述运维操作之间可以存在关联。

在本申请的一种实施例中,所述操作信息包括输入信息以及输出信息;

在本申请实施例中,所述运维操作可以用于针对预设资源输入信息,并获取所述资源返回的输出信息。从而所述运维操作的操作信息还可以包括输入信息以及输出信息。所述输入信息可以用于存储所述运维操作针对预设资源输入的信息。所述输出信息可以存储所述运维操作针对预设资源输出的信息。

所述采用所述操作信息,确定所述运维操作之间的关联性的步骤,包括:

s71,所述服务器控制后端确定所述运维操作的输入信息是否为其他运维操作的输出信息;

在本申请实施例中,所述运维操作可以在其他运维操作输出的信息的基础上,进一步对输出的信息进行处理。从而所述运维操作可以将其他运维操作的输出信息作为所述运维操作的输入信息。由此,所述服务器控制后端可以确定所述运维操作的输入信息是否为其他运维操作的输出信息。

s72,在所述运维操作的输入信息为其他运维操作的输出信息的情况下,所述服务器控制后端确定所述运维操作与所述其他运维操作存在关联。

在本申请实施例中,在所述运维操作的输入信息为其他运维操作的输出信息的情况下,可以认为所述运维操作需要基于其他运维操作的输出信息执行,可以认为所述运维操作与所述其他运维操作存在较强的相关性,所述服务器控制后端可以确定所述运维操作与所述其他运维操作存在关联。

步骤503,所述服务器控制后端采用所述运维操作之间的关联性,确定运维任务的执行流程;

在本申请实施例中,所述服务器控制后端可以采用基于所述运维操作之间的关联性,确定所述运维操作之间的操作顺序,以及所述运维操作中的有效操作。具体地,在所述运维操作需要基于其他运维操作的基础上执行的情况下,所述其他运维操作可以是操作顺序在所述运维操作之前的运维操作。在所述运维操作中可以存在不与其他任何运维操作存在关联的运维操作,则所述运维操作可以是可排除的冗余操作。

在本申请实施例中,所述运维操作可以向服务器控制后端请求获取信息,也可以向服务器控制后端输入信息,也可以通过服务器控制后端,向云服务器输入信息。可以将生成向云服务器发送请求的运维操作,作为关键操作。可以将与所述关键操作存在关联的其他运维操作,作为有效操作,而将与关键操作不存在关联的其他运维操作,作为冗余操作。

在本申请的一种实施例中,所述操作信息还包括配置信息;

在本申请实施例中,所述操作信息还可以包括配置信息。所述配置信息可以为所述运维操作针对云服务器中的资源进行配置的信息。所述运维操作可以对云服务器中的资源进行配置,从而实现对云服务器中的资源的运营与维护。

在所述采用所述运维操作之间的关联性,确定运维任务的执行流程步骤之后,所述方法还包括:

s81,所述服务器控制后端采用所述配置信息,确定所述运维任务的动作指令。

在本申请实施例中,所述服务器控制后端可以将所述运维任务的动作指令,设置为采用所述配置信息对所述云服务器中的资源进行配置。还可以基于机器学习,确定所述运维操作的所述配置信息的用途,并进一步确定所述运维任务的动作指令。

在本申请实施例中,所述配置信息可以是所述服务器控制后端根据具体场景为用户默认添加的信息,例如,区域参数,时间参数等。所述配置信息还可以是用户主动输入或者选择的信息,例如,创建的实例数量、云盘存储容量大小、对预设资源设置的状态、动作等。

在本申请实施例中,对于所述配置信息中需要根据具体场景为用户默认添加的参数,所述服务器控制后端基于预设的规则以及机器学习,在动作指令中进行相应的设置。

在本申请实施例中,对于用户主动输入或者选择的配置信息,所所述服务器控制后端基于预设的规则以及机器学习,确定用户设置配置信息的用途,从而确定所述运维任务的动作指令。具体地,可以将动作指令设置为需要用户自行确定相应的配置。还可以基于运维操作的配置信息,将动作指令设置为实现运维操作中对预设资源进行相应配置的指令。则所述服务器控制后端需要确定所述运维操作中可能存在的判断规则以及相应的配置。

步骤504,所述服务器控制后端采用所述执行流程,生成运维模板。

在本申请实施例中,所述服务器控制后端可以采用所述执行流程,生成运维模板。所述运维模板中可以包括计算机可以理解的至少一个动作指令以及所述动作指令的配置信息。从而所述服务器控制后端可以通过执行所述运维模板,完成与用户输入的至少一个运维操作具有相同效果的运维任务。

在本申请实施例中,所述服务器控制后端在生成运维模板之后,可以向所述网络控制前端发送所述运维模板。所述网络控制前端可以展示生成的运维模板,从而用户可以查看所述运维模板,并根据实际需要修改所述运维模板,确保生成的运维模板符合用户运维需要。

作为本申请的一种示例,用户可以在所述网络控制前端,向所述服务器控制后端发送执行运维模板的请求。所述服务器控制后端可以获取所述执行运维模板的请求,并采用所述运维模板,对至少一个预设的云服务器执行所述运维模板中包含的运维操作。

在本申请的一种实施例中,所述方法还包括:

s91,所述服务器控制后端采用所述用户的操作权限,确定所述运维模板的执行权限。

在本申请实施例中,所述用户可以具有操作权限,为了避免运维模板在使用过程中,出现越权运行,导致运维工作出现意外的情况,所述服务器控制后端可以将录制运维模板时,用户的操作权限,作为所述运维模板的执行权限。确保运维模板的正确运行。

通过本申请实施例的运维模板的生成方法,所述网络控制前端获取用户执行的针对预设的云服务器的运维操作的操作信息,并所述操作信息发送至服务器控制后端,所述服务器控制后端采用所述操作信息,确定所述运维操作之间的关联性。可以基于运维操作之间的关联性,确定所述运维操作之间的操作顺序,以及所述运维操作中的有效操作,从而确定所述运维任务的执行流程,并基于所述运维任务的执行流程,生成运维模板。从而服务器控制后端通过执行所述运维模板,可以完成与用户输入的至少一个运维操作具有相同效果的运维任务。实现无需用户自行编写运维模板,降低了运维模板的使用门槛,提高了运维服务的效率,且可靠性高。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

参照图6,示出了本申请的一种运维模板的生成装置实施例的结构框图,具体可以包括如下模块:

获取模块601,用于获取用户执行的运维操作的操作信息;

关联模块602,用于采用所述操作信息,确定所述运维操作之间的关联性;

确定模块603,用于采用所述运维操作之间的关联性,确定运维任务的执行流程;

生成模块604,用于采用所述执行流程,生成运维模板。

在本申请一种实施例中,所述操作信息包括顺序信息;

所述关联模块包括:

顺序确定子模块,用于采用所述顺序信息,确定所述运维操作之间是否为连续操作,或,组合操作;

第一关联子模块,用于在所述运维操作之间为连续操作,或,组合操作的情况下,确定所述运维操作之间存在关联。

在本申请一种实施例中,所述操作信息包括资源调用信息,所述资源调用信息用于存储所述运维操作调用的预设资源;

所述关联模块包括:

资源确定子模块,用于采用所述运维操作的资源调用信息,确定所述运维操作之间是否调用相同的预设资源;

第二关联子模块,在所述运维操作之间调用相同的预设资源的情况下,确定所述运维操作之间存在关联。

在本申请一种实施例中,所述操作信息包括输入信息以及输出信息;

所述关联模块包括:

输入确定子模块,用于确定所述运维操作的输入信息是否为其他运维操作的输出信息;

第三关联子模块,用于在所述运维操作的输入信息为其他运维操作的输出信息的情况下,确定所述运维操作与所述其他运维操作存在关联。

在本申请一种实施例中,所述操作信息还包括配置信息;

所述装置还包括:

指令确定模块,用于采用所述配置信息,确定所述运维任务的动作指令。

在本申请一种实施例中,所述装置还包括:

权限确定模块,用于采用所述用户的操作权限,确定所述运维模板的执行权限。

参照图7,示出了本申请的一种运维模板的生成装置实施例的结构框图,应用于云运维平台,所述云运维平台包括网页控制前端以及服务器控制后端;所述网页控制前端包括前端获取模块701;所述服务器控制后端包括后端关联模块702、后端确定模块703、以及后端生成模块704;

所述前端获取模块701用于获取用户执行的针对预设的云服务器的运维操作的操作信息,并将所述操作信息发送至所述服务器控制后端;

所述后端关联模块702用于采用所述操作信息,确定所述运维操作之间的关联性;

所述后端确定模块703用于采用所述运维操作之间的关联性,确定运维任务的执行流程;

所述后端生成模块704用于采用所述执行流程,生成运维模板。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请实施例还提供了一种装置,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本申请实施例所述的方法。

本申请实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本申请实施例所述的方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种运维模板的生成方法和一种运维模板的生成装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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