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

一种服务器自动化运维方法及相关产品

文献发布时间:2024-04-18 20:02:18


一种服务器自动化运维方法及相关产品

技术领域

本申请涉及服务器运维技术领域,特别是涉及一种服务器自动化运维方法及相关产品。

背景技术

各个行业在不断进行着数字化转型,与此同时信息技术(Internet Technology,IT)数字中心的规模变得越来越大,发挥的作用也越来越明显。因此,服务器运维工作的复杂度和难度的大大增加,如何更好地实现服务器的运维显得至关重要。

现有的服务器运维工作一般是基于人工进行的,该方法依靠技术人员有针对性地开展每一项服务器运维工作,具备一定的通用性,但由于服务器运维工作的复杂度和难度的大大增加,从而导致现有技术无法兼顾服务器运维的通用性和效率的问题。

因此,如何在保证服务器运维通用性的同时提高服务器运维的效率,是本领域技术人员急需解决的问题。

发明内容

基于上述问题,本申请实施例提供了一种服务器自动化运维方法及相关产品,基于自动化手段代替人工的服务器运维工作,能够兼顾服务器运维的通用性和效率。

第一方面,本申请实施例提供了一种服务器自动化运维方法,包括:

基于运维流程规则库,确定服务器的运维流程包;所述运维流程规则库中存储有与所述服务器对应的运维流程和执行所述运维流程需要调用的命令控件;确定所述运维流程包的执行策略;基于所述执行策略,执行所述运维流程包。如此,基于RPA技术代替人工的思想,构建运维流程规则库,并基于运维流程规则库确定服务器的运维流程包,最后基于对应的执行策略执行该运维流程包从而实现服务器的自动化运维。以RPA机器人替代人工从而提高了服务器运维的效率,另外,由于DBUS接口具备一定通用性,本申请实施例设计的RPA机器人由于是基于DBUS执行服务器运维的,故而也具备一定的通用性。

在一种可能的实现方式中,所述基于运维流程规则库,确定服务器的运维流程包之前,还包括:基于各个服务器运维工作对应的执行步骤构建运维流程标准;基于所述各个服务器运维工作对应的操作方法构建运维动作标准;基于所述运维流程标准和所述运维动作标准构建运维操作控件库;所述运维操作控件库包括:DBUS命令控件与运维操作类控件;基于所述运维流程标准和所述运维操作控件库构建运维流程规则库。本申请实施例基于服务器运维流程规则库开发RPA机器人的流程包以及对应的版本号,为此,本申请实施例引入了运维操作控件库用来存储执行各个服务器运维工作所需的DBUS命令控件与运维操作类控件,然后基于运维操作控件库和各个服务器运维工作对应的执行步骤构建运维流程规则库,通过涉及服务器运维工作之广以及DBUS的通用性,从而提高了本申请服务器运维的通用性。

在一种可能的实现方式中,所述基于所述各个服务器运维工作对应的操作方法构建运维动作标准,包括:将所述各个服务器运维工作对应的操作方法分别拆分为相关联的第一原子操作;为所述第一原子操作制定规范化的执行方法,并将所述执行方法设置为所述第一原子操作对应的运维动作标准;所述执行方法包括:所述第一原子操作的输入、输出、对应的DBUS命令以及标准化实施规则。本申请实施例将各个服务器运维工作对应的操作方法拆分为可以独立执行的最小动作,并为此制定规范化的执行方法,即定义服务器运维动作标准,从而使得后续构建的运维流程规则库更加细致精确,提高服务器自动化运维的准确性。

在一种可能的实现方式中,所述基于所述运维流程标准和所述运维动作标准构建运维操作控件库,包括:基于所述运维流程标准和所述运维动作标准,为所述第一原子操作开发对应的DBUS命令控件;基于所述运维流程标准和所述运维动作标准,为各个服务器运维工作中的重复类操作开发运维操作类控件;基于所述DBUS命令控件和所述运维操作类控件构建运维操作控件库。本申请实施例基于细化的运维流程标准和运维动作标准开发DBUS命令控件,同时为重复类操作开发服务器运维操作类控件,如此,基于DBUS命令控件和运维操作类控件构建的运维操作控件库会更加准确细致,提高了服务器自动化运维的准确性和通用性。

在一种可能的实现方式中,所述基于所述运维流程标准和所述运维动作标准,为所述第一原子操作开发对应的DBUS命令控件,包括:基于所述运维流程标准和所述运维动作标准,从DBUS接口定义表中查找与所述第一原子操作对应的连接名;基于所述连接名,将所述第一原子操作与对应的DBUS命令进行拼接;基于RPA设计平台,将拼接了所述DBUS命令的所述第一原子操作进行标准化封装,形成所述第一原子操作对应的DBUS命令控件。本申请实施例引入DBUS接口定义表,从DBUS接口定义表中查找与第一原子操作对应的DBUS命令并进行拼接和封装,基于此构建运维操作控件库并开发RPA机器人的流程包,从而提高了服务器运维的效率和通用性。

在一种可能的实现方式中,所述基于所述运维流程标准和所述运维动作标准,为各个服务器运维工作中的重复类操作开发运维操作类控件,包括:基于所述运维流程标准和所述运维动作标准,将各个服务器运维工作中的重复类操作转化为第二原子操作;基于RPA设计平台,对所述第二原子操作进行标准化封装,形成所述第二原子操作对应的运维操作类控件。本申请实施例为各个服务器运维工作中的重复类操作封装服务器运维操作类控件,并基于此构建运维操作控件库并开发RPA机器人的流程包,从而提高了服务器运维的效率和通用性。

在一种可能的实现方式中,所述基于所述运维流程标准和所述运维操作控件库构建运维流程规则库,包括:基于所述运维流程标准,从所述运维操作控件库中探索各个服务器运维工作所需的控件;按照所述运维流程标准对所述控件进行编排,形成RPA业务流程;基于所述RPA业务流程构建运维流程规则库。本申请实施例引入了涵盖控件全面的运维操作控件库,在构建运维流程规则库时,按照运维流程标准从中探索控件并进行编排,从而使运维流程规则库的构建更加准确和高效,同时提高了服务器自动化运维的准确性和高效性。

在一种可能的实现方式中,所述基于所述执行策略,执行所述运维流程包,包括:基于调度策略运行所述运维流程包;若在整个运行过程中均未发生异常,则实现所述服务器的自动化运维;若在运行过程中发生异常,则按照失败策略对运行流程进行调整,实现对所述服务器的自动化运维。本申请实施例引入了包括调度策略和失败策略的执行策略,设想了RPA机器人在运行流程包时可能发生的情况,并为不同情况设置了不同的应对方法,从而提高服务器自动化运维的灵活性以及高效性。

第二方面,本申请提供了一种服务器自动化运维装置,包括:第一确定模块,用于基于运维流程规则库,确定服务器的运维流程包;所述运维流程规则库中存储有与所述服务器对应的运维流程和执行所述运维流程需要调用的命令控件;第二确定模块,用于确定所述运维流程包的执行策略;执行模块,用于基于所述执行策略,执行所述运维流程包。

第三方面,本申请提供了一种服务器,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述服务器自动化运维方法的步骤。

从以上技术方案可以看出,相较于现有技术,本申请具有以下优点:

本申请首先基于运维流程规则库,确定服务器的运维流程包。其中,运维流程规则库中存储有与服务器对应的运维流程和执行运维流程需要调用的命令控件。然后确定运维流程包的执行策略;最后基于执行策略,执行运维流程包。如此,基于自动化手段代替人工进行服务器的自动运维工作,例如基于PRA技术代替人工,并通过涉及服务器运维工作之广且基于具备一定通用性的DBUS接口执行服务器运维的流程,提高了服务器运维的效率和通用性。

附图说明

图1为本申请实施例提供的一种服务器自动化运维方法的流程图;

图2为本申请实施例提供的一种RPA机器人执行失败策略的流程图;

图3为本申请实施例提供的一种服务器自动化运维装置的结构示意图;

图4为本申请实施例提供的一种服务器结构示意图。

具体实施方式

正如前文所述,现有的服务器运维方法无法同时兼顾服务器运维的通用性和效率。具体的,各个行业在不断进行着数字化转型,与此同时IT数字中心的规模变得越来越大,发挥的作用也越来越明显,已经成为影响企业持续发展的核心竞争力。但现有的服务器运维工作一般是基于人工进行的,随着服务器运维工作的复杂度和难度越来越大,人工运维成本以及人工运维的错误率也变得越来越高。尽管人工运维的方法可以依靠技术人员有针对性的开展每一项服务器运维工作,具备一定的通用性,但由于服务器运维工作的复杂度和难度的大大增加,从而导致现有技术无法兼顾服务器运维的通用性和效率的问题。

为解决上述问题,本申请提供了一种服务器自动化运维方法,包括:首先基于运维流程规则库,确定服务器的运维流程包。其中,运维流程规则库中存储有与服务器对应的运维流程和执行运维流程需要调用的命令控件。然后确定运维流程包的执行策略;最后基于执行策略,执行运维流程包。

如此,基于自动化技术代替人工进行服务器的自动运维工作,例如基于机器人流程自动化(Robotic Process Automation,RPA)技术代替人工,并通过涉及服务器运维工作之广且基于具备一定通用性的DBUS接口执行服务器运维的流程,提高了服务器运维的效率和通用性。

需要说明的是,本申请提供的一种服务器自动化运维方法及相关产品可应用于服务器运维技术领域。上述仅为示例,并不对本申请提供的一种服务器自动化运维方法及相关产品的应用领域进行限定。

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

在实际应用中,为了解决现有技术无法兼顾服务器运维的通用性和效率的问题。为此,本申请实施例提供了一种服务器自动化运维方法,基于自动化技术代替人工进行服务器的自动运维工作,例如基于PRA技术代替人工,并通过涉及服务器运维工作之广且基于具备一定通用性的DBUS接口执行服务器运维的流程,从而同时提高了服务器运维的效率和通用性。

RPA是一种软件技术,可以使软件机器人像人一样,在不同系统之间进行数据的录入、提取和验证等操作。RPA是用来替代人类员工实施基于规则的高度重复性工作的程序,而非实体存在的流程处理机器,又被称为“数字员工”,RPA机器人具有快速灵活部署、及时响应多种业务需求、大幅提升业务流程的运行效率以及无需人工参与的特点。

DBUS是针对桌面环境优化的进程间通信(interprocess communication,IPC)机制,用于进程间的通信或进程与内核的通信。最基本的D-Bus协议是一对一的通信协议。

图1为本申请实施例提供的一种服务器自动化运维方法的流程图。结合图1所示,本申请实施例提供的一种服务器自动化运维方法,可以包括:

S101:基于运维流程规则库,确定服务器的运维流程包;所述运维流程规则库中存储有与所述服务器对应的运维流程和执行所述运维流程需要调用的命令控件。

具体的,本申请实施例构建了一个运维流程规则库,在运维流程规则库中存储了各个服务器运维工作的运维流程以及具体实现方式,其中,具体实现方式就是执行运维流程所需要的DBUS命令控件。本申请实施例提供的服务器自动化运维装置可以为RPA机器人,而对于RPA机器人来说,需要预先根据服务器运维工作的不同从运维流程规则库中获取对应的运维流程和DBUS命令控件,然后组合成运维流程包(流程包+版本号的形式)进行存储。如此,当对服务器进行运维时,便可以根据具体的服务器运维工作,确定对应的运维流程包。

服务器运维工作包括:上下电操作、网络配置下发、部件管理、版本升级以及用户管理等。就一种流程包+版本号的形式进行举例,运维流程包可以是版本号为001的版本升级流程包。

在一些实施方式中,为了更好地控制RPA机器人运行对应的运维流程包,还需要结合运行过程中可能出现的情况为RPA机器人制定一些策略。具体的,为RPA机器人制定包括调度策略和失败策略的执行策略。其中,调度策略是控制RPA机器人按照哪种计划进行调度的,例如按时执行、周期性执行以及循环执行等。失败策略是控制RPA机器人在运行过程中遇到异常情况时如何进行处理,例如失败重复执行次数以及失败反馈相关的日志信息等。以版本升级为例,则采用周期性执行的调度策略,对于失败策略则设置为在RPA机器人执行失败后,机器人会重新执行发生错误的控件(DBUS命令控件或运维操作类控件),直到执行成功,或者执行次数超过10次。最后基于执行策略,控制RPA机器人运行流程包,实现对当前服务器运维工作的自动化运维。

其中,构建运维流程规则库的方式不尽相同,下面就一种可能的构建方式进行说明。

在一种情况下,基于运维流程规则库,确定服务器的运维流程包之前,还包括:

基于各个服务器运维工作对应的执行步骤构建运维流程标准;基于所述各个服务器运维工作对应的操作方法构建运维动作标准;

基于所述运维流程标准和所述运维动作标准构建运维操作控件库;所述运维操作控件库包括:DBUS命令控件与运维操作类控件;

基于所述运维流程标准和所述运维操作控件库构建运维流程规则库。

在实际应用中,本申请实施例利用现有人工对于各个服务器运维工作所进行的执行步骤和操作方法的架构,将人工执行调整为RPA机器人执行,并基于此来构建RPA机器人所能理解的运维流程标准和运维动作标准。以“版本升级”的服务器运维工作为例,若现有技术中人工执行步骤依次为启动、登录网管、确认版本、启动升级以及结果确认,则将该执行步骤作为RPA机器人进行版本升级对应的运维流程标准;若启动步骤对应的操作方法为“按照预设的调度方案,定期启动升级程序”,预设调度方案可以是一周一次等,则依据该操作方法来构建运维动作标准。如此,将各个服务器运维工作中常用作业流程的操作方法与执行步骤全部构建为可供RPA机器人进行理解和使用的的运维动作标准和运维流程标准。在此之后,基于运维动作标准和运维流程标准,构建相应的DBUS控件和运维操作类控件,并存储于运维操作控件库中。运维操作控件库可以想象为一个包含了所有服务器运维工作所需的执行控件的数据库。最后,根据每一个服务器运维工作,从运维操作控件库中查找对应的控件并按顺序进行打包存储,从而构成了运维流程规则库,运维流程规则库中存储有与服务器各个运维工作对应的运维流程和执行运维流程需要调用的命令控件。

另外,构建运维动作标准的方式不尽相同,下面就一种可能的构建方式进行说明。

在一种情况下,基于所述各个服务器运维工作对应的操作方法构建运维动作标准,包括:

将所述服务器运维工作对应的操作方法分别拆分为相关联的第一原子操作;

为所述第一原子操作制定规范化的执行方法,并将所述执行方法设置为所述第一原子操作对应的运维动作标准;

所述执行方法包括:所述第一原子操作的输入、输出、对应的DBUS命令以及标准化实施规则。

在实际应用中,为了使运维动作标准更加精细,本申请实施例将各个服务器运维工作中常用的标准操作方法拆分为相关联的原子操作,即第一原子操作,可以理解的是,每个原子操作是可以独立执行的最小动作。此处的第一原子操作只是为了区分该原子操作是对应该执行方法的,故此进行了指代。然后为了使RPA机器人可以读懂具体的操作方法,还需要对所有原子操作制定规范化的执行方法,为各个原子操作设置具体的输入、输出、对应的DBUS命令以及标准化实施规则。最后,将每个原子操作规范化的执行方法作为该原子操作对应的运维动作标准,从而实现运维动作标准的构建。以版本升级为例,启动升级步骤对应的操作方法可以是“调用DBUS命令控件进行版本包的确认与下载,自动下载配套的更新包”,对该操作方法进行拆分可能得到调用DBUS、版本包确认以及版本包下载等原子操作,本申请实施例为每一个原子操作设置对应的输入、输出、对应的DBUS命令以及标准化实施规则,从而使RPA机器人可以明确每一个原子操作具体的执行方法,即运维动作标准。对于DBUS命令的列举可以是,“dbus-daemon”用于启动并管理系统中的所有D-Bus会话;“qdbus”用于查询或调用D-Bus对象上的方法和属性等。

另外,由于构建运维操作控件库的方式不尽相同,下面就一种可能的构建方式进行说明。

在一种情况下,基于所述运维流程标准和所述运维动作标准构建运维操作控件库,包括:

基于所述运维流程标准和所述运维动作标准,为所述第一原子操作开发对应的DBUS命令控件;

基于所述运维流程标准和所述运维动作标准,为各个服务器运维工作中的重复类操作开发运维操作类控件;

基于所述DBUS命令控件和所述运维操作类控件构建运维操作控件库。

在实际应用中,构建的运维操作控件库用来存储所有服务器运维工作在自动化运行过程中所需要的执行控件。其中,执行控件分为DBUS命令控件和服务器运维操作类控件。其中,DBUS是针对桌面环境优化的进程间通信(interprocess communication,IPC)机制,用于进程间的通信或进程与内核的通信。DBUS一般分为两种类型,system bus(系统总线),用于系统(Linux)和用户程序之间进行通信和消息的传递;session bus(会话总线),用于桌面等用户程序之间进行通信。具体的,为了使运维动作标准更加精细,依然是以上述原子操作对应运维流程标准和运维动作标准为基础,基于RPA开发对应的DBUS命令控件和运维操作类控件。最后,所有控件一并存储于运维操作控件库,从而实现运维操作控件库的构建。

另外,由于开发DBUS命令控件的方式不尽相同,下面就一种可能的开发方式进行说明。

在一种情况下,针对如何开发DBUS命令控件。相应的,所述基于所述运维流程标准和所述运维动作标准,为所述第一原子操作开发对应的DBUS命令控件,包括:

基于所述运维流程标准和所述运维动作标准,从DBUS接口定义表中查找与所述第一原子操作对应的连接名;

基于所述连接名,将所述第一原子操作与对应的DBUS命令进行拼接;

基于RPA设计平台,将拼接了所述DBUS命令的所述第一原子操作进行标准化封装,形成所述第一原子操作对应的DBUS命令控件。

在实际应用中,结合上述示例解释的运维流程标准和运维动作标准的概念,本申请在开发原子操作对应的DBUS命令控件时,首先确定需要构建DBUS命令控件的原子操作。然后基于DBUS接口定义表,从DBUS接口定义表中查找各个原子操作对应的连接名。以版本升级为例,其中“网络时间协议(Network Time Protocol,NTP)使能状态开启”和“设置NTP服务器”这两个原子操作需要定义对应的DBUS命令控件,首先在DBUS接口定义表中查找“NTP使能状态开启”和“设置NTP服务器”对应的连接名(Bus Name),包括公共名(well-known names)与唯一名(Unique Connection Name),用于确定一个应用到消息总线的连接。如此,便确定了“NTP使能状态开启”和“设置NTP服务器”这两个原子操作的对应的唯一路径与接口方法,并基于此实现“NTP使能状态开启”和“设置NTP服务器”这两个原子操作对应的DBUS命令的拼接。最后基于RPA设计平台对拼接好的DBUS命令进行标准化封装,从而形成“NTP使能状态开启”和“设置NTP服务器”这两个原子操作对应DBUS命令控件。以此类推,直至将所有服务器运维工作中涉及的需要构建DBUS命令控件的原子操作都以这种方式构建完成对应的DBUS命令控件。

另外,由于开发服务器运维操作类控件的方式不尽相同,下面可以就一种可能的开发方式进行说明。

在一种情况下,基于所述运维流程标准和所述运维动作标准,为各个服务器运维工作中的重复类操作开发运维操作类控件,包括:

基于所述运维流程标准和所述运维动作标准,将正在使用的各个服务器运维工作中的重复类操作转化为第二原子操作;

基于RPA设计平台,对所述第二原子操作进行标准化封装,形成所述第二原子操作对应的运维操作类控件。

在实际应用中,各个服务器运维工作的业务流程所涉及到的操作方法可以被拆分为多个原子操作。为了方便RPA机器人能够读懂这些原子操作,则需要为这些原子操作制定规范化的执行方法,即构建原子操作对应的运维流程标准和运维动作标准。但为了使RPA机器人能够真正执行这些原子操作,则还需要为这些原子操作制定对应的执行控件。具体的,对于需要构建DBUS命令控件的原子操作通过上述给出的方法构建对应的DBUS命令控件。而对于另外一些重复类的操作方法,我们将其转换并定义为第二原子操作。此处的第二原子操作只是为了区分该原子操作是对应该执行方法的,故此进行了指代。然后基于RPA设计平台对第二原子操作进行标准化封装,从而形成对应的服务器运维操作类控件。需要注意的是,操作类控件包括但不限于外设(鼠标、键盘等)输入、信息抓取、特征比对以及数据发送等多种类别。以版本升级为例,其中的“登录网管”和“版本确定”这两个步骤被认定为重复类操作,那么将“登录网管”对应的具体操作方法:“设定自动执行周期读取用户名以及密码登录网管系统”转化为第二原子操作,然后按照上述方法进行封装,从而得到对应的“登录网管控件”;将“版本确定”对应的具体操作方法:“根据环境当前版本号,确认是否存在需要升级的目标版本”转化为第二原子操作,然后按照上述方法进行封装,从而得到对应的“确认版本控件”。可以理解的是,“登录网管控件”和“确认版本控件”都属于服务器运维操作类控件。

另外,由于构建运维流程规则库的方式不尽相同,下面就一种可能的构建方式进行说明。

在一种情况下,基于所述运维流程标准和所述运维操作控件库构建运维流程规则库,包括:

基于所述运维流程标准,从所述运维操作控件库中探索各个服务器运维工作所需的控件;

按照所述运维流程标准对所述控件进行编排,形成RPA业务流程;

基于所述RPA业务流程构建运维流程规则库。

在实际应用中,运维流程标准规定了各个服务器运维工作对应的所有执行动作的执行顺序。而运维操作控件库中则是存储了执行各个服务器运维工作所需的DBUS命令控件与运维操作类控件。在构建运维流程规则库时首先依据运维流程标准确定当前服务器运维工作的业务流程,然后基于业务流程中涉及的各个执行动作从运维操作控件库中探索各个执行动作对应的控件。然后按照运维流程标准对控件进行编排,从而形成基于RPA机器人的业务流程,并基于RPA业务流程构建运维流程规则库。举例来说,有某使用场景所需的业务流程A,即运维流程标准按执行顺序排序为登录基板管理控制器(Baseboard ManagementController,BMC)、采集日志、特征比对以及结果发送,那么基于DBUS接口的服务器自动化运维装置在构建便会运维流程规则库时便会,从运维操作控件库中搜索“登录BMC”、“采集日志”、“特征比对”以及“结果发送”这几个执行动作所需要的控件,然后按业务流程A的执行顺序对控件进行编排,从而形成RPA机器人对应的RPA业务流程。如此,对将所有使用场景对应的业务流程均以该方法生成RPA机器人对应的RPA业务流程,然后将所有的RPA业务流程进行整理并存储,从而实现了运维流程规则库的构建。

S102:确定所述运维流程包的执行策略。

在实际应用中,运维流程规则库的构建是利用RPA机器人实现服务器自动化运维的基础,其中存储有各个服务器运维工作对应的业务流程以及执行业务流程所需要的全部进程间通信机制DBUS命令控件和运维操作类控件。服务器运维时,当给到RPA机器人具体的场景时,RPA机器人可以从运维流程规则库进行查找,然后提取出一套与当前场景相对应的RPA业务流程,并进行执行,从而实现服务器自动化运维。不同服务器运维工作对应的RPA机器人的运维流程包可以全部根据上述方法进行生成并进行预存,如此一来,RPA机器人运行运维流程包实现对应场景的服务器运维工作时便可以直接搜索对应的运维流程包,而不用每次生成,提高了服务器运维效率。如何去执行场景对应的流程包还需要进行预设定,具体的,本申请实施例预先为RPA机器人制定了执行策略,不同的执行策略针对不同的运维场景。其中,执行策略包括调度策略以及失败策略,调度策略指的是RPA机器人按照哪种计划进行调度,例如按时执行、周期性执行、循环执行等。失败策略指的是RPA机器人运行过程中遇到异常情况下的处理方案,例如失败重复执行次数、失败反馈相关的日志信息等。以版本升级的服务器运维场景为例,采用的是周期性执行的调度策略。

S103:基于所述执行策略,执行所述运维流程包。

在实际应用中,预先为每种不同的服务器运维工作场景设置了RPA机器人所对应的执行策略。在进行服务器运维时,首先确定具体的服务器运维工作,然后控制RPA机器人以对应的执行策略,运行先前开发的与该服务器运维工作对应的流程包,从而实现对当前服务器运维工作的自动化运维。

另外,由于控制RPA机器人运行运维流程包的方式不尽相同,下面可以就一种可能的控制方式进行说明。

在一种情况下,基于所述执行策略,执行所述运维流程包,具体包括:

基于调度策略运行所述运维流程包;

若在整个运行过程中均未发生异常,则实现所述服务器运维工作的自动化运维;

若在运行过程中发生异常,则按照失败策略对运行流程进行调整,实现对所述服务器的自动化运维。

在实际应用中,每个不同的服务器运维场景都被开发了具体的RPA机器人的流程包以及对应的版本号。当确定了具体的服务器运维工作场景后,RPA机器人以对应的执行策略,运行先前开发的与该服务器运维工作对应的运维流程包,从而实现对当前服务器运维工作的自动化运维。以版本升级的服务器运维场景为例,采用的是周期性执行的调度策略,若在整个运维流程包的运行过程中均未发生运行异常的情况,则直至流程包运行完毕,实现了当前服务器运维工作的自动化运维。若在一次运维流程包的运行过程中发生了运行异常的情况,则会基于失败策略进行调整。以版本升级的服务器运维场景为例,失败策略可以设置为在RPA机器人执行失败后,RPA机器人会重新执行发生错误的控件,直到执行成功,或者执行次数超过10次。图2为本申请实施例提供的一种RPA机器人执行失败策略的流程图。结合图2所示,以版本升级的服务器运维场景为例,当RPA自动升级机器人发生运行异常的情况时,即流程包执行失败时,便会上报错误并定位具体失败控件,按照预设次数重新执行该控件。若在十次内,控件的执行结果变为成功,则继续执行业务流中后续的控件。若失败次数超过十次,则结束流程,手机RPA机器人的运行日志。

综上所述,本申请首先基于运维流程规则库,确定服务器的运维流程包。其中,运维流程规则库中存储有与服务器对应的运维流程和执行运维流程需要调用的命令控件。然后确定运维流程包的执行策略;最后基于执行策略,执行运维流程包。如此,基于RPA技术代替人工进行的服务器的自动运维工作,通过涉及服务器运维工作之广且基于具备一定通用性的DBUS接口执行服务器运维的流程,提高了服务器运维的效率和通用性。

基于上述实施例提供的一种服务器自动化运维方法,本申请实施例还提供了一种服务器自动化运维装置。下面分别结合实施例和附图,对该服务器自动化运维装置进行描述。

图3为本申请实施例提供的一种服务器自动化运维装置的结构示意图。结合图3所示,本申请实施例提供的服务器自动化运维装置200,包括:

第一确定模块201,用于基于运维流程规则库,确定服务器的运维流程包;所述运维流程规则库中存储有与所述服务器对应的运维流程和执行所述运维流程需要调用的命令控件;

第二确定模块202,用于确定所述运维流程包的执行策略;

执行模块203,用于基于所述执行策略,执行所述运维流程包。作为一种实施方式,针对如何构建运维流程规则库,上述服务器自动化运维装置200,还包括:第一构建模块、第二构建模块、第三构建模块以及第四构建模块;

第一构建模块,用于基于各个服务器运维工作对应的执行步骤构建运维流程标准;

第二构建模块,用于基于所述各个服务器运维工作对应的操作方法构建运维动作标准;

第三构建模块,用于基于所述运维流程标准和所述运维动作标准构建运维操作控件库;所述运维操作控件库包括:DBUS命令控件与运维操作类控件;

第四构建模块,用于基于所述运维流程标准和所述运维操作控件库构建运维流程规则库。

作为一种实施方式,针对如何构建运维动作标准,上述第二构建模块,具体用于:

将所述各个服务器运维工作对应的操作方法分别拆分为相关联的第一原子操作;

为所述第一原子操作制定规范化的执行方法,并将所述执行方法设置为所述第一原子操作对应的运维动作标准;

所述执行方法包括:所述第一原子操作的输入、输出、对应的DBUS命令以及标准化实施规则。

作为一种实施方式,针对如何构建运维操作控件库,上述第三构建模块,包括:第一开发子模块、第二开发子模块以及第三构建子模块;

第一开发子模块,用于基于所述运维流程标准和所述运维动作标准,为所述第一原子操作开发对应的DBUS命令控件;

第二开发子模块,用于基于所述运维流程标准和所述运维动作标准,为正在使用的各个服务器运维工作中的重复类操作开发服务器运维操作类控件;

第三构建子模块,用于基于所述DBUS命令控件和所述运维操作类控件构建运维操作控件库。

作为一种实施方式,针对如何为第一原子操作开发对应的DBUS命令控件,上述第一开发子模块,具体用于:

基于所述运维流程标准和所述运维动作标准,从DBUS接口定义表中查找与所述第一原子操作对应的连接名;

基于所述连接名,将所述第一原子操作与对应的DBUS命令进行拼接;

基于RPA设计平台,将拼接了所述DBUS命令的所述第一原子操作进行标准化封装,形成所述第一原子操作对应的DBUS命令控件。

作为一种实施方式,针对如何为各个服务器运维工作中的重复类操作开发服务器运维操作类控件,上述第二开发子模块,具体用于:

基于所述运维流程标准和所述运维动作标准,将各个服务器运维工作中的重复类操作转化为第二原子操作;

基于RPA设计平台,对所述第二原子操作进行标准化封装,形成所述第二原子操作对应的服务器运维操作类控件。

作为一种实施方式,针对如何构建运维流程规则库,上述第四构建模块,具体用于:

基于所述运维流程标准,从所述运维操作控件库中探索各个服务器运维工作所需的控件;

按照所述运维流程标准对所述控件进行编排,形成与RPA运维机器人对应的RPA业务流程;

基于所述RPA业务流程构建运维流程规则库。

作为一种实施方式,针对如何执行运维流程包,上述执行模块203,具体用于:

基于调度策略运行所运维述流程包;

若在整个运行过程中均未发生异常,则实现所述服务器的自动化运维;

若在运行过程中发生异常,则按照失败策略对运行流程进行调整,实现对所述服务器的自动化运维。

综上所述,本申请首先基于运维流程规则库,确定服务器的运维流程包。其中,运维流程规则库中存储有与服务器对应的运维流程和执行运维流程需要调用的命令控件。然后确定运维流程包的执行策略;最后基于执行策略,执行运维流程包。如此,基于RPA技术代替人工进行的服务器运维工作,通过涉及服务器运维工作之广且基于具备一定通用性的DBUS接口执行服务器运维的流程,提高了服务器运维的效率和通用性。

另外,本申请还提供了一种服务器,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述服务器自动化运维方法的步骤。

另外,本申请还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述服务器自动化运维方法的步骤。

图4为本申请实施例提供的一种服务器结构示意图,结合图4所示,服务器400包括处理器410和存储器420;其中,所述存储器420存储有计算机指令,所述处理器410用于执行所述计算机指令,使得服务器400执行上文所示基于DBUS接口的服务器自动化运维方法。

在一些实施例中,处理器410可以是CPU,还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。

在一些实施例中,存储器420可以易失性存储器(volatile memory)或非易失性存储器,例如寄存器等。具体地,易失性存储器是指当电源供应中断后,内部存放的数据便会丢失的存储器。其中,易失性存储器主要是随机存取存储器(random access memory,RAM),包括静态随机存取存储器(static RAM,SRAM)和动态随机存取存储器(dynamic RAM,DRAM)。非易失性存储器是指即使电源供应中断,内部存放的数据也不会因此丢失的存储器。常见的非易失性存储器包括只读存储器(read only memory,ROM)、光盘、磁盘、固态硬盘以及基于闪存(flash memory)技术的各种存储卡等。

在一些实施例中,存储器420具有可执行代码,存储器420执行该代码,实现基于DBUS接口的服务器自动化运维方法。

通信接口430用于与外部通信,例如通信接口430作为外部接口,外部接口接收创建虚拟机的请求,还可以通过通信接口430接收创建虚拟机需要的各项参数。

总线可以是外设部件互联标准(Peripheral Component Interconnect,PCI)总线,或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于理解,图4仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

应理解,上述服务器仅为示意性表述,在实际使用时,上述服务器可以是独立的物理服务器,也可以由多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN),以及大数据库和人工智能平台等基础云计算服务的云服务器。当上述服务器为由多个物理服务器构成的服务器集群,或者分布式系统时,多个物理服务器可以组成一个区块链,每个物理服务器为该区块链上的节点。服务区的物理类型可以机架服务器、高密服务器、GPU服务器、塔式服务器,还可以为刀片服务器、整机柜服务器等,本申请不具体限定。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种产品分享、有用评价识别、推送方法和服务器
  • 一种结构类产品专利半自动撰写方法、服务器及系统
  • 一种智能检测服务器产品标签方法
  • 一种服务器的保护方法、系统及相关装置
  • 一种智能互联网惯性导航方法及相关产品
  • 用于将至少一个IP数据包传输到IP地址的方法、用于解析主机名的相关方法、相关处理模块、移动设备、主机名解析服务器和计算机程序产品
  • 一种自动化运维管理方法、装置、服务器和存储介质
技术分类

06120116585505