运维管理方法和系统与流程

文档序号:22469739发布日期:2020-10-09 21:58阅读:202来源:国知局
运维管理方法和系统与流程

本申请实施例涉及运维管理技术领域,尤其涉及一种运维管理方法、系统、设备及计算机可读存储介质。



背景技术:

现有技术中,后台开发人员或运维人员通过运维平台或者运维软件,比如securecrt工具,对目标服务器组或者计算机集群执行运维操作,比如维护服务器配置以及线上系统服务时,都需要登录到不同服务器进行日志查询或执行脚本。在这个过程中,需要逐一登录到目标服务器组或者计算机集群中的每一个服务器,在不同服务器之间跳转与执行脚本在无形中耗费了大量的时间成本。与此同时,维护环境与服务的对应关系、维护服务与服务器的对应关系、维护服务器与登录密钥的对应关系的过程也十分繁琐。一旦发生变更,所有维护人员都需要进行通知,陷入简单、重复、低价值的检查与修改之中。

也就是说,现有的运维工具大多数并不支持快速、有效的批量登录,因此,运维繁杂度较高,运维效率较低。



技术实现要素:

本申请实施例的目的是提供一种运维管理方法、系统、计算机设备及计算机可读存储介质,用于解决运维工具不支持快速、有效的批量登录的问题。

本申请实施例的一个方面提供了一种运维管理方法,所述运维管理方法包括:获取待处理的运维指令,其中,所述运维指令中包括运维清单,所述运维清单中包括多条运维信息,各所述运维信息表征不同的运维节点,各所述运维信息记载对应运维节点的登录信息;根据所述运维指令逐条加载所述运维信息生成运维会话;运行所述运维会话,以根据各运维信息记载的登录信息登录不同的运维节点。

可选的,所述运维清单为excel运维清单表;所述运维信息包括:服务信息、服务器信息、登录账号和登录密钥。

可选的,所述方法还包括:通过调用python脚本的xlrd库来读取所述运维清单中的每一条运维信息。

可选的,所述读取所述运维清单中的每一条运维信息包括:通过字符串识别技术识别出所述运维清单中的所有运维信息;对所述运维清单中的所有运维信息执行去重和/或聚合。

可选的,所述根据所述运维指令逐条加载所述运维信息生成运维会话包括:根据每一条运维信息中的服务信息新建运维会话;校验所述服务信息中的内容及授权验证参数是否正确;当校验正确的话,将所述运维信息中的服务器信息、登录账号和登录密钥加载到所述运维会话。

可选的,所述方法还包括:判断已有运维会话是否包括所述所有运维信息中的第一运维信息;当已有运维会话包括所述第一运维信息时,将除去第一运维信息后的所有运维信息加载到运维会话。

可选的,所述方法还包括:获取所述运维指令中的操作指令,所述操作指令包括对相应运维节点的操作命令;根据所述操作命令对每一条运维信息对应的运维节点执行运维操作。

本申请实施例的一个方面又提供了一种运维管理系统,所述运维管理系统包括:接收模块,用于获取待处理的运维指令,其中,所述运维指令中包括运维清单,所述运维清单中包括多条运维信息,各所述运维信息表征不同的运维节点,各所述运维信息记载对应运维节点的登录信息;加载模块,用于根据所述运维指令逐条加载所述运维信息生成运维会话;运维模块,用于运行所述运维会话,以根据各运维信息记载的登录信息登录不同的运维节点。

本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现所述的运维管理方法的步骤。

本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行所述的运维管理方法的步骤。

本申请实施例提供的运维管理方法、系统、设备及计算机可读存储介质,可以获取待处理的运维指令,其中,所述运维指令中包括运维清单,所述运维清单中包括多条运维信息,各所述运维信息表征不同的运维节点,各所述运维信息记载对应运维节点的登录信息;然后根据所述运维指令逐条加载所述运维信息生成运维会话;最后运行所述运维会话,以根据各运维信息记载的登录信息登录不同的运维节点。通过这种方式,实现了在运维工具上快速、有效的批量登录并加载成运维会话,提升了运维效率。

附图说明

图1示意性示出了根据本申请实施例一的运维管理方法的应用环境图;

图2示意性示出了根据本申请实施例一的运维管理方法的流程图;

图3示意性示出了基于图2步骤s202的一示例性例子的方法流程图;

图4示意性示出了根据本申请实施例二的运维管理系统的框图;以及

图5示意性示出了根据本申请实施例三的适于实现运维管理方法的计算机设备的硬件架构示意图。

具体实施方式

为了使本申请实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请实施例,并不用于限定本申请实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。

需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请实施例要求的保护范围之内。

图1示意性示出了根据本申请实施例一的运维管理方法的环境应用示意图。在示例性的实施例中,所述环境应用示意图中包括计算机设备1和服务器组。其中:

计算机设备1,运行有运维工具的手机、便携设备,pc机或其他电子设备;服务器组2,可以是实现服务功能的服务器集群,或者其他电子设备集合;计算机设备1与服务器组2连接,用户通过计算机设备1上的运维工具实现对服务器组2的每一个服务器进执行运维操作和管理。

实施例一

图2示意性示出了根据本申请实施例一的运维管理方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备1为执行主体进行示例性描述。

如图2所示,该运维管理方法可以包括步骤s200~s204,其中:

步骤s200,获取待处理的运维指令,其中,所述运维指令中包括运维清单,所述运维清单中包括多条运维信息,各所述运维信息表征不同的运维节点,各所述运维信息记载对应运维节点的登录信息。

步骤s202,根据所述运维指令逐条加载所述运维信息生成运维会话。

步骤s204,运行所述运维会话,以根据各运维信息记载的登录信息登录不同的运维节点。

具体地,计算机设备1能够接收用户输入或者预先存储的运维指令,所述运维指令中包括运维清单,所述运维清单中包括多条运维信息,各所述运维信息表征不同的运维节点,各所述运维信息记载对应运维节点的登录信息。因此,计算机设备1能够从所述运维指令中读取所述运维指令中包括的运维清单,进而读取所述运维清单上的每一条运维信息。在本实施例中,用户根据计算机设备1提供的清单格式填写运维清单,所述运维清单包括至少一条运维信息。在一示例性例子中,所述运维清单为excel运维清单表,各所述运维信息表征不同的运维节点,各所述运维信息记载对应运维节点的登录信息。因此,所述运维信息至少包括:服务信息、服务器信息、登录账号和登录密钥。其中,服务信息和服务器信息表示运维节点;登录账号和登录密钥表示登录所述运维节点的登录信息。当然,在其他实施例中,所述运维清单也可以是其他文档或者表格形式,这里不做限制。然后,计算机设备1通过调用python脚本的xlrd库来读取所述运维清单中的每一条运维信息。

在本实施例中,计算机设备1通过调用预先设置的python脚本的xlrd库来对所述excel运维清单中的运维信息。其中,由于所述python脚本语言具有良好的兼容性,可以适配到绝大多数的运维工具,例如securecrt工具等。因此,可以利用python脚本实现扩展功能,并调用python脚本语言的xlrd库来逐一读取所述excel运维清单行、列中的文本信息。

例如,计算机设备1预先建立运维清单格式为excel表格式,也就是设置作为运维清单的所述excel表中的行和列的内容和含义,具体地,设置excel表中每一行的第一列表示服务信息,第二列表示服务器信息,第三列表示登录账号,第四列表示登录密钥。因此,用户可以建立一个excel表,然后在所述excel表中的每一行填写一条运维信息,从而形成excel运维清单,然后发送给计算机设备1。计算机设备1接收到所述excel运维清单后,则读取其中的运维信息。

计算机设备1读取所述运维清单上的每一条运维信息后,则可以进一步将所有运维信息加载到运维工具,生成运维会话,从而能够进一步对所述运维信息表征的运维节点执行对应的运维操作。

在一示例行实施例中,计算机设备1读取所述运维清单中的每一条运维信息包括:通过字符串识别技术识别出所述运维清单中的所有运维信息,对所述运维清单中的所有运维信息执行去重和/或聚合。在本实施例中,计算机设备1在获取到所述运维清单中的运维信息之后,则会通过字符串识别技术识别出所述运维清单中的所有运维信息,然后进一步对所述运维清单上的所有运维信息进行整理,包括去重聚合。由于在实际应用场景中,运维清单中包括的运维信息中的服务信息,服务器信息以及用户账号信息都非常多,难免会出现多个服务信息同时部署在同一台服务器,或者一个服务信息部署在多台服务器上,又或者同一用户登录不同的服务器的情况,因此,计算机设备1在将运维清单中的运维信息加载到运维工具的运维会话之前,还会对所有运维信息进行去重聚合以减少加载过程的繁杂度,提高加载效率。

例如,当计算机设备1读取到所述excel运维清单的运维信息之后,还会对所述excel运维清单中的行、列中的具体信息进行去重聚合。例如,对于excel表中的运维信息由上至下进行扫描,通过字符串识别技术,识别出每一条运维信息的字符串内容,将重复的字符串内容进行聚合:首先是对相同的服务信息进行去重聚合,然后再对服务器信息,登录账号、登录密钥都相同的服务信息进行去重聚合。当然,在对服务信息进行去重聚合的过程中,多行运维信息聚合成一行,那么这一行运维信息中的第二列,第三列和第四列中的服务器信息,登录账号和登录密钥都会变成多条,那么每一条服务器信息或登录账号或登录密钥之间,采用拼接符号,例如逗号进行拼接。在对服务器信息,登录账号、登录密钥都相同的服务信息进行去重聚合的过程中,多条服务信息聚合成一条,那么也需要使用到拼接符号对服务信息进行拼接,例如,服务信息之间采用破折号进行拼接。当然,在其他实施例中,也不限于通过字符串识别方式,也可以通过其他文字识别方式对运维信息进行识别,以及去重和聚合,这里不做限制。通过以上方式,可以精简所述运维清单中的重复的运维信息,得到简洁且完整的运维信息。

接着,计算机设备1将所有运维信息加载到运维工具的运维会话。如图3所示,在一示例性实施例中,计算机设备1根据所述运维指令逐条加载所述运维信息生成运维会话可以包括步骤s300~s304,其中:

步骤s300,根据每一条运维信息中的服务信息新建运维会话。

步骤s302,校验所述服务信息中的内容及授权验证参数是否正确。

步骤s304,当校验正确的话,将所述运维信息中的服务器信息、登录账号和登录密钥加载到所述运维会话。

当然,计算机设备1所述将所有运维信息加载到运维工具的运维会话的过程中,还会判断已有运维会话是否包括所述所有运维信息中的第一运维信息;当已有运维会话包括所述第一运维信息时,将除去第一运维信息后的所有运维信息加载到运维会话。

在一具体实施例中,例如,所述运维工具为securecrt工具,因此,计算机设备1根据预先建立的python登录脚本调用所述securecrt工具的api操作库,然后将去重聚合后的运维信息加载到所述securecrt工具的运维会话。具体的,计算机设备1先查询所述securecrt工具已登录的会话信息;然后将已登录的会话信息的每一条会话信息对应的服务信息、服务器信息、登录账号及登录密钥与所述运维信息中的每一条待加载运维信息中的服务信息、服务器信息、登录账号及登录密钥进行比较;如果与其中一条待加载运维信息相同,则不会再将该待加载运维信息加载到所述securecrt工具的会话进程,而是直接拷贝对应的已登录会话信息作为该待加载运维信息的会话信息。接着,计算机设备1通过调用所述securecrt工具的会话登录命令将其他运维信息加载到运维会话,包括:根据运维信息中的服务信息新建运维会话;然后校验该服务信息的其他参数是否正确,比如服务信息中的内容及授权验证等参数;正确的话,将该运维信息中的服务器信息,登录账号及登录密钥,加载到该新建运维会话。比如,计算机设备1可以将服务器信息,登录账号及登录密钥自动填充到该新建会话窗口中对应的输入框;最后,计算机设备1执行登录操作,从而启动运维会话的会话进程。

在一示例性例子中,当运维工具为securecrt工具时,运维节点为服务器时,计算机设备1通过所述python登录脚本调用所述securecrt工具的以下函数实现加载运维会话的目的:

1.使用crt.getscripttab().index获取打开会话信息的窗口;

2.使用crt.gettabcount()获取所有已打开的会话;

3.通过crt.gettab(i).session.connected判断是否存在已有登录会话;

4.如果存在已有登录会话,使用crt.gettab(i).clone()将会话拷贝一份,不进行重复的登录操作;

5.如果不存在已有登录会话,进入登录流程;

5.1使用crt.arguments.count,校验运维信息中包括的参数是否正确;

5.2使用crt.arguments.getarg(i).split(','),分别获取对应服务会话的服务器(ips)/登录账号(users)/登录密钥(passwords)

5.3使用crt.gettab(i).screen.send('ssh'+users[i]+'@'+ips[i]+'\r')分别向不同的服务器发送登录请求;

5.4使用crt.gettab(i).screen.waitforstrings(['password','yes/no'])判断是否是第一次登录需要输入yes的情况;

5.5如果不是的话,使用crt.gettab(i).screen.send(passwords[i]+'\r'),向服务器输入密码,登录上对应的服务器;

5.6如果是的话,先使用crt.gettab(i).screen.send('yes\r')向服务器输入yes,再使用crt.gettab(i).screen.send(passwords[i]+'\r')向服务器输入密码,登录上对应的服务器。

将所述运维清单的所有运维信息加载为对应的运维会话之后,计算机设备1还会获取所述运维指令中的操作指令,所述操作指令包括对相应运维节点的操作命令;然后根据所述操作命令对每一条运维信息对应的运维节点执行运维操作。在一示例性例子中,例如,计算机设备1通过调用所述securcrt工具的command(chat)window命令,启动运维操作窗口,然后接收用户对于所述运维操作的操作命令,比如用户在上面点右键选择sendcommandstoallsessions,那么,在输入框中的命令就会去到所有打开的会话中执行,从而实现批量执行脚本,从而实现对相应的运维节点的运维操作的功能。

综上所述,计算机设备1能够接收运维清单,然后读取所述运维清单中的每一条运维信息;最后将所有运维信息加载到运维工具的运维会话。通过这种方式,实现了在运维工具上快速、有效的批量登录并加载成运维会话,提升了运维效率。

实施例二

图4示意性示出了根据本申请实施例二的运维管理系统的框图,该运维管理系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。

如图4所示,该运维管理系统400可以包括接收模块410、加载模块420和运维模块430,其中:

接收模块410,用于获取待处理的运维指令,其中,所述运维指令中包括运维清单,所述运维清单中包括多条运维信息,各所述运维信息表征不同的运维节点,各所述运维信息记载对应运维节点的登录信息。

加载模块420,用于根据所述运维指令逐条加载所述运维信息生成运维会话。

运维模块430,用于运行所述运维会话,以根据各运维信息记载的登录信息登录不同的运维节点。

在示例性的实施例中,接收模块410,还用于:通过调用python脚本的xlrd库来读取所述运维清单中的每一条运维信息。所述运维清单为excel运维清单表;所述运维信息包括:服务信息、服务器信息、登录账号和登录密钥。

在示例性的实施例中,接收模块410,还用于:通过字符串识别技术识别出所述运维清单中的所有运维信息;对所述运维清单中的所有运维信息执行去重和/或聚合。

在示例性的实施例中,加载模块420,还用于:根据每一条运维信息中的服务信息新建运维会话;校验所述服务信息中的内容及授权验证参数是否正确;当校验正确的话,将所述运维信息中的服务器信息、登录账号和登录密钥加载到所述运维会话。以及,判断已有运维会话是否包括所述所有运维信息中的第一运维信息;当已有运维会话包括所述第一运维信息时,将除去第一运维信息后的所有运维信息加载到运维会话。

在示例性的实施例中,运维模块430,还用于获取所述运维指令中的操作指令,所述操作指令包括对相应运维节点的操作命令;根据所述操作命令对每一条运维信息对应的运维节点执行运维操作。

实施例三

图5示意性示出了根据本申请实施例三的适于实现运维管理方法的计算机设备1的硬件架构示意图。本实施例中,计算机设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是具有网关功能的机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,计算机设备1至少包括但不限于:可通过系统总线相互通信链接存储器510、处理器520、网络接口530。其中:

存储器510至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器510可以是计算机设备1的内部存储模块,例如该计算机设备1的硬盘或内存。在另一些实施例中,存储器510也可以是计算机设备1的外部存储设备,例如该计算机设备1上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,存储器510还可以既包括计算机设备1的内部存储模块也包括其外部存储设备。本实施例中,存储器510通常用于存储安装于计算机设备1的操作系统和各类应用软件,例如运维管理方法的程序代码等。此外,存储器510还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器520在一些实施例中可以是中央处理器(centralprocessingunit,简称为cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器520通常用于控制计算机设备1的总体操作,例如执行与计算机设备1进行数据交互或者通信相关的控制和处理等。本实施例中,处理器520用于运行存储器510中存储的程序代码或者处理数据。

网络接口530可包括无线网络接口或有线网络接口,该网络接口530通常用于在计算机设备1与其他计算机设备之间建立通信链接。例如,网络接口530用于通过网络将计算机设备1与外部终端相连,在计算机设备1与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,简称为gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。

需要指出的是,图5仅示出了具有部件510-530的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。

在本实施例中,存储于存储器510中的运维管理方法的程序代码还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器520)所执行,以完成本申请实施例。

实施例四

本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

接收提供方的目标基础组件的上架请求,获取所述上架请求中的组件集成方式;根据所述组件集成方式中包括的组件类别从标准规范中查找对应组件类别的组件集成规范发送给所述提供方;接收所述提供方基于所述组件集成规范对所述目标基础组件改造的待集成组件;及根据所述标准规范对所述待集成组件进行检查,并将检查合格的待集成组件上架到选购界面。

本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中运维管理方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。

显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。

以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。

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