CN116841653A - 运维作业的执行方法、装置、处理器及电子设备 - Google Patents

运维作业的执行方法、装置、处理器及电子设备 Download PDF

Info

Publication number
CN116841653A
CN116841653A CN202310659579.1A CN202310659579A CN116841653A CN 116841653 A CN116841653 A CN 116841653A CN 202310659579 A CN202310659579 A CN 202310659579A CN 116841653 A CN116841653 A CN 116841653A
Authority
CN
China
Prior art keywords
execution
function
cluster list
target cluster
script
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.)
Pending
Application number
CN202310659579.1A
Other languages
English (en)
Inventor
张志成
许明珍
董杰
申屠鹏会
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310659579.1A priority Critical patent/CN116841653A/zh
Publication of CN116841653A publication Critical patent/CN116841653A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/20Administration of product repair or maintenance

Abstract

本申请公开了一种运维作业的执行方法、装置、处理器及电子设备,该方法应用于金融科技领域,该方法包括:获取来自客户端的调用指令;响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。通过本申请,解决了集群管理效率低的技术问题。

Description

运维作业的执行方法、装置、处理器及电子设备
技术领域
本申请涉及金融科技领域,具体而言,涉及一种运维作业的执行方法、装置、处理器及电子设备。
背景技术
在传统方案中,运维作业只能对所有已导入的集群进行全量维护执行,不支持有选择性地分批执行集群,缺失日志记录,无法返回每个集群的执行结果,从而导致不能准确查看运维作业情况的问题,不利于统一维护使用,存在集群管理效率低的技术问题。
针对集群管理效率低的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种运维作业的执行方法、装置、处理器及电子设备,以解决集群管理效率低的技术问题。
为了实现上述目的,根据本申请的一个方面,提供了一种运维作业的执行方法,该方法包括:获取来自客户端的调用指令;响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。
进一步地,该方法还包括:预先设定预定义函数,其中,预定义函数至少包括以下之一:多集群执行脚本、灰度任务管理脚本和自定义处理脚本,其中,多集群执行脚本用于确定运行执行函数的目标集群列表,灰度任务管理脚本用于实时获取执行日志,自定义处理脚本用于获取客户端的执行需求。
进一步地,基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业,包括:基于预定义函数中的多集群执行脚本,确定目标集群列表和与目标集群列表对应的执行函数;在目标集群列表中执行与执行函数对应的运维作业。
进一步地,基于预定义函数中的多集群执行脚本,确定目标集群列表,包括:响应于多集群执行脚本中存在指定的集群列表,将指定的集群列表确定为目标集群列表;或响应于多集群执行脚本中未存在指定的集群列表,将运维作业所处目录中的集群列表确定为目标集群列表。
进一步地,该方法还包括:获取目标集群列表中执行运维作业的执行结果;将执行结果记录在执行日志中,其中,执行日志用于表示运维作业的历史执行情况。
进一步地,该方法还包括:响应于预定义函数中的灰度任务管理脚本,获取当前运维作业下的执行日志,并将执行日志下发至客户端中。
进一步地,该方法还包括:获取目标集群列表中运维作业的执行状态;通过预定义函数中的打印函数,将执行状态打印至客户端中。
为了实现上述目的,根据本申请的另一方面,提供了一种运维作业的执行装置,该装置包括:获取单元,用于获取来自客户端的调用指令;调用单元,用于响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;执行单元,用于基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。
进一步地,该装置还包括:设定单元,用于预先设定预定义函数,其中,预定义函数至少包括以下之一:多集群执行脚本、灰度任务管理脚本和自定义处理脚本,其中,多集群执行脚本用于确定运行执行函数的目标集群列表,灰度任务管理脚本用于实时获取执行日志,自定义处理脚本用于获取客户端的执行需求。
进一步地,执行单元包括:确定子单元,用于基于预定义函数中的多集群执行脚本,确定目标集群列表和与目标集群列表对应的执行函数;执行子单元,用于在目标集群列表中执行与执行函数对应的运维作业。
进一步地,确定子单元包括:响应于多集群执行脚本中存在指定的集群列表,将指定的集群列表确定为目标集群列表;或响应于多集群执行脚本中未存在指定的集群列表,将运维作业所处目录中的集群列表确定为目标集群列表。
进一步地,该装置还包括:第一获取单元,用于获取目标集群列表中执行运维作业的执行结果;记录单元,用于将执行结果记录在执行日志中,其中,执行日志用于表示运维作业的历史执行情况。
进一步地,该装置还包括:第二获取单元,用于响应于预定义函数中的灰度任务管理脚本,获取当前运维作业下的执行日志,并将执行日志下发至客户端中。
进一步地,该装置还包括:第三获取单元,用于获取目标集群列表中运维作业的执行状态;打印单元,用于通过预定义函数中的打印函数,将执行状态打印至客户端中。
为了实现上述目的,根据本申请的一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项运维作业的执行方法。
为了实现上述目的,根据本申请的一个方面,提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项运维作业的执行方法。
通过本申请,采用以下步骤:获取来自客户端的调用指令;响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。也即,在本申请实施例中,通过预定义函数设定执行运维作业的至少一集群,得到目标集群列表,响应于客户端的调用指令,调用设置好的预定义函数,基于预定义函数确定执行函数,以执行运维作业,从而达到了提高集群管理效率的技术效果,解决了集群管理效率低的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种运维作业的执行方法的流程图;
图2是根据本申请实施例提供的一种运维作业汇总目录的示意图;
图3是根据本申请实施例提供的一种运行执行脚本的流程图;
图4是根据本申请实施例提供的另一种运维作业汇总目录的示意图;
图5是根据本申请实施例提供的另一种运行执行脚本的流程图;
图6是根据本申请实施例提供的一种运维作业的执行装置的示意图;
图7是根据本申请实施例提供的一种运维作业的执行电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息、用户的交易信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据、处理的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
运维作业,可以指对集群和特定节点执行特定运维处理的程序;
集群,可以为一组松散集成的计算机软件或硬件连接起来高度紧密地协作完成计算工作的容器。
实施例一
下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例提供的一种运维作业的执行方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取来自客户端的调用指令。
在本实施例一中,可以获取来自客户端的调用指令。其中,客户端可以为提供本地服务的程序,比如,可以为浏览器,还可以为手机端和电脑端等,此处仅为举例说明,不对客户端的类型做具体限制。调用指令可以为客户端发出的用于调用函数的指令,比如,可以为调用预定义函数的指令,此处仅为举例说明,不对调用函数的内容做具体限制。
可选地,客户端可以通过点击浏览器界面的控件的方式发出调用指令。服务器可以获取来自客户端的调用指令。
步骤S104,响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数。
在本实施例一中,当获取到来自客户端的调用指令时,响应于获取到的调用指令,可以调用预定义函数。其中,预定义函数可以用于确定目标集群列表,并且可以为目标集群列表调用执行函数,预定义函数可以为程序语言中提供的已定义好的函数,可以直接被程序调用,无需再次编写,比如,可以为主函数(main函数),此处仅为举例说明,不对预定义函数的内容做具体限制。目标集群列表可以为执行运维作业的集群列表,可以为根据实际需求选择的集群列表。执行函数(ansible_work)可以为设定执行运维作业的目标集群列表的函数,可以用于控制目标集群列表执行运维作业,比如,可以为执行命令、多集群执行函数(clusters_ansible_work)等,此处仅为举例说明,不对执行函数的内容做具体限制。
举例而言,当获取到来自浏览器界面的调用main函数的调用指令时,响应于获取到的调用指令,调用main函数。基于main函数可以确定执行运维作业的目标集群列表,同时,可以为目标集群列表调用执行函数。
该实施例通过调用的预定义函数,可以确定目标集群列表,并且可以为目标集群列表调用执行函数,以执行运维作业,避免了不支持拆分多个集群多条流水线并发执行,从而达到了提高集群管理效率的技术效果,解决了集群管理效率低的技术问题。
步骤S106,基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。
在本实施例一中,基于调用的预定义函数,可以在目标集群列表中执行与执行函数对应的运维作业。其中,运维作业(xxx.Work.yml)可以为对集群和特定节点执行特定运维处理的程序,可以用于完成软件开发、补丁升级和程序更新等。
可选地,通过执行函数,可以根据实际需要设定好执行运维作业的目标集群列表。当执行运维作业时,通过预定义函数,可以确定目标集群列表且为目标集群列表调用执行函数,调用的执行函数可以用于控制目标集群列表执行运维作业。
综上所述,本申请实施例一提供的运维作业的执行方法,通过获取来自客户端的调用指令;响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。也即,在本申请实施例中,通过预定义函数设定执行运维作业的至少一集群,得到目标集群列表,响应于客户端的调用指令,调用设置好的预定义函数,基于预定义函数确定执行函数,以执行运维作业,从而达到了提高集群管理效率的技术效果,解决了集群管理效率低的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。
作为一种可选的实施例,该方法还包括:预先设定预定义函数,其中,预定义函数至少包括以下之一:多集群执行脚本、灰度任务管理脚本和自定义处理脚本,其中,多集群执行脚本用于确定运行执行函数的目标集群列表,灰度任务管理脚本用于实时获取执行日志,自定义处理脚本用于获取客户端的执行需求。
在该实施例中,可以预先设定预定义函数,预先设定的预定义函数至少可以包括以下之一:多集群执行脚本、灰度任务管理脚本和自定义处理脚本。其中,多集群执行脚本可以用于确定运行执行函数的目标集群列表,又可以称为公共执行脚本(common_main.sh),公共执行脚本可以定义日志打印函数(比如,log_info和log_error等)。灰度任务管理脚本可以用于实时获取执行日志,比如,可以为结果上报灰度任务管理.sh,此处仅为举例说明,不对灰度任务管理脚本的内容做具体限制。自定义处理脚本可以用于获取客户端的执行需求,可以为根据实际需要设定的脚本,可以用于对主函数进行扩展处理。
可选地,预定义函数可以为已定义好的,可直接使用的函数。预定义函数至少可以包括多集群执行脚本、灰度任务管理脚本、自定义处理脚本和返回执行结果函数。其中,返回执行结果函数可以用于请求返回执行运维作业的结果。
举例而言,可以通过执行命令(source命令)导入公共执行脚本,从而加载公共框架的预定义函数。
该实施例通过预先设定预定义函数,当获取到来自客户端的调用指令时,可以直接通过程序调用已定义好的预定义函数,无需再次编写预定义函数,以达到提高工作效率的目的。此外,可以在预先设定的预定义函数中添加自定义处理脚本,从而实现了提供公共可扩展能力的技术效果。
作为一种可选的实施例,基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业,包括:基于预定义函数中的多集群执行脚本,确定目标集群列表和与目标集群列表对应的执行函数;在目标集群列表中执行与执行函数对应的运维作业。
在该实施例中,当获取到来自客户端的调用指令时,响应于获取到的调用指令,可以调用预定义函数,可以获取预定义函数中的多集群执行脚本。通过获取的预定义函数中的多集群执行脚本,可以确定目标集群列表和与目标集群列表对应的执行函数。通过确定的与目标集群列表对应的执行函数,可以在目标集群列表中执行与执行函数对应的运维作业。
可选地,通过预定义函数中的多集群执行脚本,可以确定目标集群列表和与目标集群列表对应的执行函数。通过确定的目标集群列表和与目标集群列表对应的执行函数,多集群执行脚本可以对确定的目标集群列表的每个集群运行执行函数。
该实施例通过确定的目标集群列表和与目标集群列表对应的执行函数,在目标集群列表中执行与执行函数对应的运维作业,以达到支持拆分多个集群多条流水线并发执行的目的,从而解决了不支持拆分多个集群多条流水线并发执行的技术问题。
作为一种可选的实施例,基于预定义函数中的多集群执行脚本,确定目标集群列表,包括:响应于多集群执行脚本中存在指定的集群列表,将指定的集群列表确定为目标集群列表;或响应于多集群执行脚本中未存在指定的集群列表,将运维作业所处目录中的集群列表确定为目标集群列表。
在该实施例中,通过获取的预定义函数中的多集群执行脚本,当获取的多集群执行脚本中存在指定的集群列表时,响应于多集群执行脚本中存在指定的集群列表,可以将指定的集群列表确定为目标集群列表。当获取的多集群执行脚本中未存在指定的集群列表时,可以将运维作业所处目录中的集群列表确定为目标集群列表。
可选地,多集群执行脚本可以解析执行脚本(run.sh)入参指定的集群列表。当执行脚本未指定集群列表时,多集群执行脚本可以自动查找当前执行脚本上层目录中的集群清单,并默认执行脚本的集群列表为运维作业所在目录下的所有集群。当执行脚本指定集群列表时,多集群执行脚本可以将指定的集群列表确定为目标集群列表。
作为一种可选的实施例,该方法还包括:获取目标集群列表中执行运维作业的执行结果;将执行结果记录在执行日志中,其中,执行日志用于表示运维作业的历史执行情况。
在该实施例中,可以获取目标集群列表中执行运维作业的执行结果。当获取到目标集群列表中执行运维作业的执行结果后,可以将执行结果记录在执行日志中。其中,执行日志可以用于表示运维作业的历史执行情况,可以为执行运维作业时记录的日志,可以用ansible.log表示。
可选地,多集群执行脚本可以对确定的目标集群列表的每个集群运行执行函数,同时执行函数的标准输出、错误输出和重定输出到每个集群下的在执行日志中。多集群执行脚本可以收集记录每个集群执行运维作业的执行结果,并将收集到的执行结果进行汇总返回,并记录在执行日志中。
该实施例通过将获取的目标集群列表中执行运维作业的执行结果记录在执行日志中,从而解决了在执行运维作业时,由于缺失良好的日志记录,导致不利于对问题进行分析的技术问题,以达到在执行运维作业出现问题时,可以通过查询日志记录,快速分析并解决问题的目的。
作为一种可选的实施例,该方法还包括:响应于预定义函数中的灰度任务管理脚本,获取当前运维作业下的执行日志,并将执行日志下发至客户端中。
在该实施例中,当获取到来自客户端的调用指令时,响应于获取到的调用指令,可以调用预定义函数,可以获取预定义函数中的灰度任务管理脚本。当获取到预定义函数中的灰度任务管理脚本时,响应于获取到的预定义函数中的灰度任务管理脚本,可以获取当前运维作业下的执行日志,并将执行日志下发至客户端中。
可选地,预定义函数中的灰度任务管理脚本可以自动检测当前运维作业下的执行日志。当灰度任务管理脚本检测到当前运维作业下的执行日志时,灰度任务管理脚本可以获取当前运维作业下的执行日志,并将获取到的执行日志下发至客户端中,用户可以在客户端中查看执行日志的上报详情。
作为一种可选的实施例,该方法还包括:获取目标集群列表中运维作业的执行状态;通过预定义函数中的打印函数,将执行状态打印至客户端中。
在该实施例中,可以获取目标集群列表中运维作业的执行状态,通过预定义函数中的打印函数,可以将获取到的运维作业的执行状态打印至客户端中。其中,执行状态可以为在目标集群列表中执行运维作业的状态,可以用数字表示,比如,可以为0,表示在目标集群列表中运维作业的执行状态均为成功。还可以为1,表示在目标集群列表中运维作业的执行状态存在失败,此处仅为举例说明,不对执行状态的确定表示做具体限制。
由于传统方案没有接入灰度任务管理平台,存在不能准确查看运维作业情况的问题。在该实施例中,通过预定义函数中的打印函数,将获取的目标集群列表中运维作业的执行状态打印至客户端中,用户可以在客户端中通过查看执行状态,从而实现准确判断运维作业情况的技术效果。
在本申请实施例中,通过获取来自客户端的调用指令;响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。也即,在本申请实施例中,通过预定义函数设定执行运维作业的至少一集群,得到目标集群列表,响应于客户端的调用指令,调用设置好的预定义函数,基于预定义函数确定执行函数,以执行运维作业,从而达到了提高集群管理效率的技术效果,解决了集群管理效率低的技术问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例二
目前,在传统方案中,运维作业只能对所有已导入的集群进行全量维护执行,不支持有选择性地分批执行集群,缺失日志记录,无法返回每个集群的执行结果。同时由于没有接入灰度任务管理平台,存在不能准确查看运维作业情况的问题,或者运维作业在部分执行脚本中自行实现,但却各自持有一份上报的逻辑,不利于统一维护使用,存在集群管理效率低的技术问题。
由于传统方案不支持有选择性地分批执行集群,从而存在集群管理效率低的技术问题,为解决上述问题,本申请实施例提出了一种运维作业的执行方法,通过获取来自客户端的调用指令;响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业,从而达到了提高集群管理效率的技术效果,解决了集群管理效率低的技术问题。
下面对该方法进行进一步的介绍。
图2是根据本申请实施例提供的一种传统方案的运维作业汇总目录的示意图,如图2所示,该传统方案的运维作业汇总目录包含运维作业1、运维作业2和运维作业3,每个运维作业中均包含目录文件(task目录),目录文件中包含当前进程所运行的每一个线程的相关信息,比如,包含执行脚本和运维作业,每个运维作业中还包含集群A的目录、集群B的目录和集群C的目录,每个集群的目录中均包含计算机文件(hosts)。
图3是根据本申请实施例提供的一种传统方案的执行脚本的执行流程图,如图3所示,该传统方案的执行脚本的执行流程可以包括如下步骤:用户在流水线脚本(Shell)中运行执行脚本,且不支持任何参数。
步骤S302,查找上级目录中所有导入的集群
在上述步骤S302中,在执行脚本中通过查找命令(find命令)查找上级目录中所有导入的集群。
步骤S304,循环所有集群,执行运维作业。
在上述步骤S304中,通过循环语句(for循环)循环所有导入的集群,并指定集群中计算机文件执行运维作业。
在本申请实施例中,客户端可以通过点击浏览器界面的控件的方式发出调用指令。服务器可以获取来自客户端的调用指令。响应于调用指令,可以调用预定义函数。预先设定预定义函数,预先设定的预定义函数至少可以包括以下之一:多集群执行脚本、灰度任务管理脚本和自定义处理脚本。预定义函数还可以包括返回执行结果函数,返回执行结果函数可以用于返回执行运维作业的结果。
图4是根据本申请实施例提供的一种新方案的运维作业汇总目录的示意图,如图4所示,该新方案的运维作业汇总目录,在传统方案的运维作业汇总目录的基础上,在每个集群的目录中增加了执行日志,以达到在执行运维作业出现问题时,可以通过查询日志记录,快速分析并解决问题的目的。还增加了公共执行脚本,以及灰度任务管理脚本。公共执行脚本可以定义公共日志打印函数,以供执行脚本使用。
在本申请实施例中,可以解析执行脚本入参指定的集群列表,当未指定集群列表时,可以自动查找当前执行脚本上层目录中的集群清单,并默认集群列表为运维作业所在目录下的所有集群。通过确定的目标集群列表和与目标集群列表对应的执行函数,可以在每个集群中运行执行函数。同时执行函数标准输出、错误输出和重定输出到集群下的执行日志。可以收集记录每个集群执行运维作业的执行结果,并将收集记录到的执行结果进行汇总返回。灰度任务管理脚本可以自动检测当前运维作业下的执行日志,并将检测到的执行日志上报详情。可以获取目标集群列表中运维作业的执行状态,通过预定义函数中的打印函数,可以将获取到的运维作业的执行状态打印至客户端中。
图5是根据本申请实施例提供的一种新方案的执行脚本的执行流程图,如图5所示,该新方案的执行脚本的执行流程可以包括如下步骤:
步骤S502,导入公共执行脚本。
在上述步骤S502中,通过执行命令(source命令)导入公共执行脚本,从而加载了公共框架的预定义函数。
步骤S504,定义执行函数,执行运维作业。
在上述步骤S504中,定义执行函数,集群名作为入参,其中编写了当前作业的主要逻辑,该逻辑为对集群中计算机文件执行运维作业。
步骤S506,执行预定义函数。
在上述步骤S506中,执行main函数。
在本申请实施例中,通过通用公共的支持自选多集群分批执行的框架,运维作业只需要进行极少的修改,就可以接入该框架,从而实现了同一个运维作业支持拆分多条流水线并发执行的效果,并由框架自动记录所有集群的结果到执行日志中,以及正确反馈最终多集群的执行状态,并且自动上报到灰度任务管理平台的功能也加入到公共框架中,去除了大量冗余代码,实现了运维作业能力的统一增强,提升了管理效率,降低了维护成本,从而实现了提高集群管理效率的效果,解决了集群管理效率低的问题。
在本申请实施例中,通过获取来自客户端的调用指令;响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。也即,在本申请实施例中,通过预定义函数设定执行运维作业的至少一集群,得到目标集群列表,响应于客户端的调用指令,调用设置好的预定义函数,基于预定义函数确定执行函数,以执行运维作业,从而达到了提高集群管理效率的技术效果,解决了集群管理效率低的技术问题。
实施例三
本申请实施例三还提供了一种运维作业的执行装置,需要说明的是,本申请实施例三的运维作业的执行装置可以用于执行本申请实施例一所提供的用于运维作业的执行方法。以下对本申请实施例三提供的运维作业的执行装置进行介绍。
图6是根据本申请实施例三的运维作业的执行装置的示意图。如图6所示,该装置可以包括:获取单元602、调用单元604和执行单元606。
获取单元602,用于获取来自客户端的调用指令。
调用单元604,用于响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数。
执行单元606,用于基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。
本申请实施例三提供的运维作业的执行装置,通过获取单元602获取来自客户端的调用指令,调用单元604响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数,执行单元606基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业,解决了集群管理效率低的问题。通过预定义函数设定执行运维作业的至少一集群,响应于客户端的调用指令,调用设置好的预定义函数,以基于预定义函数设定的内容执行运维作业,达到了提高集群管理效率的效果。
可选地,在本申请实施例三提供的运维作业的执行装置中,上述的装置还包括:设定单元,用于预先设定预定义函数,其中,预定义函数至少包括以下之一:多集群执行脚本、灰度任务管理脚本和自定义处理脚本,其中,多集群执行脚本用于确定运行执行函数的目标集群列表,灰度任务管理脚本用于实时获取执行日志,自定义处理脚本用于获取客户端的执行需求。
可选地,在本申请实施例三提供的运维作业的执行装置中,上述的执行单元606包括:确定子单元,用于基于预定义函数中的多集群执行脚本,确定目标集群列表和与目标集群列表对应的执行函数;执行子单元,用于在目标集群列表中执行与执行函数对应的运维作业。
可选地,在本申请实施例三提供的运维作业的执行装置中,上述的确定子单元包括:响应于多集群执行脚本中存在指定的集群列表,将指定的集群列表确定为目标集群列表;或响应于多集群执行脚本中未存在指定的集群列表,将运维作业所处目录中的集群列表确定为目标集群列表。
可选地,在本申请实施例三提供的运维作业的执行装置中,上述的装置还包括:第一获取单元,用于获取目标集群列表中执行运维作业的执行结果;记录单元,用于将执行结果记录在执行日志中,其中,执行日志用于表示运维作业的历史执行情况。
可选地,在本申请实施例三提供的运维作业的执行装置中,上述的装置还包括:第二获取单元,用于响应于预定义函数中的灰度任务管理脚本,获取当前运维作业下的执行日志,并将执行日志下发至客户端中。
可选地,在本申请实施例三提供的运维作业的执行装置中,上述的装置还包括:第三获取单元,用于获取目标集群列表中运维作业的执行状态;打印单元,用于通过预定义函数中的打印函数,将执行状态打印至客户端中。
所述运维作业的执行装置包括处理器和存储器,上述的获取单元602、调用单元604和执行单元606等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高交易人员的工作效率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例四提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现运维作业的执行方法。
本发明实施例五提供了一种处理器,处理器用于运行程序,其中,程序运行时执行运维作业的执行方法。
如图7所示,本发明实施例六提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取来自客户端的调用指令;响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。
处理器执行程序时还实现以下步骤:上述的方法还包括:预先设定预定义函数,其中,预定义函数至少包括以下之一:多集群执行脚本、灰度任务管理脚本和自定义处理脚本,其中,多集群执行脚本用于确定运行执行函数的目标集群列表,灰度任务管理脚本用于实时获取执行日志,自定义处理脚本用于获取客户端的执行需求。
处理器执行程序时还实现以下步骤:基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业,包括:基于预定义函数中的多集群执行脚本,确定目标集群列表和与目标集群列表对应的执行函数;在目标集群列表中执行与执行函数对应的运维作业。
处理器执行程序时还实现以下步骤:基于预定义函数中的多集群执行脚本,确定目标集群列表,包括:响应于多集群执行脚本中存在指定的集群列表,将指定的集群列表确定为目标集群列表;或响应于多集群执行脚本中未存在指定的集群列表,将运维作业所处目录中的集群列表确定为目标集群列表。
处理器执行程序时还实现以下步骤:上述的方法还包括:获取目标集群列表中执行运维作业的执行结果;将执行结果记录在执行日志中,其中,执行日志用于表示运维作业的历史执行情况。
处理器执行程序时还实现以下步骤:上述的方法还包括:响应于预定义函数中的灰度任务管理脚本,获取当前运维作业下的执行日志,并将执行日志下发至客户端中。
处理器执行程序时还实现以下步骤:上述的方法还包括:获取目标集群列表中运维作业的执行状态;通过预定义函数中的打印函数,将执行状态打印至客户端中。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取来自客户端的调用指令;响应于调用指令,调用预定义函数,其中,预定义函数用于确定目标集群列表且为目标集群列表调用执行函数;基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:上述的方法还包括:预先设定预定义函数,其中,预定义函数至少包括以下之一:多集群执行脚本、灰度任务管理脚本和自定义处理脚本,其中,多集群执行脚本用于确定运行执行函数的目标集群列表,灰度任务管理脚本用于实时获取执行日志,自定义处理脚本用于获取客户端的执行需求。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:基于预定义函数,在目标集群列表中执行与执行函数对应的运维作业,包括:基于预定义函数中的多集群执行脚本,确定目标集群列表和与目标集群列表对应的执行函数;在目标集群列表中执行与执行函数对应的运维作业。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:基于预定义函数中的多集群执行脚本,确定目标集群列表,包括:响应于多集群执行脚本中存在指定的集群列表,将指定的集群列表确定为目标集群列表;或响应于多集群执行脚本中未存在指定的集群列表,将运维作业所处目录中的集群列表确定为目标集群列表。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:上述的方法还包括:获取目标集群列表中执行运维作业的执行结果;将执行结果记录在执行日志中,其中,执行日志用于表示运维作业的历史执行情况。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:上述的方法还包括:响应于预定义函数中的灰度任务管理脚本,获取当前运维作业下的执行日志,并将执行日志下发至客户端中。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:上述的方法还包括:获取目标集群列表中运维作业的执行状态;通过预定义函数中的打印函数,将执行状态打印至客户端中。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种运维作业的执行方法,其特征在于,包括:
获取来自客户端的调用指令;
响应于所述调用指令,调用预定义函数,其中,所述预定义函数用于确定目标集群列表且为所述目标集群列表调用执行函数;
基于所述预定义函数,在所述目标集群列表中执行与所述执行函数对应的运维作业。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预先设定所述预定义函数,其中,所述预定义函数至少包括以下之一:多集群执行脚本、灰度任务管理脚本和自定义处理脚本,其中,所述多集群执行脚本用于确定运行所述执行函数的目标集群列表,所述灰度任务管理脚本用于实时获取执行日志,所述自定义处理脚本用于获取所述客户端的执行需求。
3.根据权利要求1所述的方法,其特征在于,基于所述预定义函数,在所述目标集群列表中执行与所述执行函数对应的所述运维作业,包括:
基于所述预定义函数中的多集群执行脚本,确定所述目标集群列表和与所述目标集群列表对应的所述执行函数;
在所述目标集群列表中执行与所述执行函数对应的所述运维作业。
4.根据权利要求3所述的方法,其特征在于,基于所述预定义函数中的所述多集群执行脚本,确定所述目标集群列表,包括:
响应于所述多集群执行脚本中存在指定的集群列表,将指定的所述集群列表确定为所述目标集群列表;或
响应于所述多集群执行脚本中未存在指定的所述集群列表,将所述运维作业所处目录中的所述集群列表确定为所述目标集群列表。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标集群列表中执行所述运维作业的执行结果;
将所述执行结果记录在执行日志中,其中,所述执行日志用于表示所述运维作业的历史执行情况。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述预定义函数中的灰度任务管理脚本,获取当前运维作业下的执行日志,并将所述执行日志下发至所述客户端中。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标集群列表中所述运维作业的执行状态;
通过所述预定义函数中的打印函数,将所述执行状态打印至所述客户端中。
8.一种运维作业的执行装置,其特征在于,包括:
获取单元,用于获取来自客户端的调用指令;
调用单元,用于响应于所述调用指令,调用预定义函数,其中,所述预定义函数用于确定目标集群列表且为所述目标集群列表调用执行函数;
执行单元,用于基于所述预定义函数,在所述目标集群列表中执行与所述执行函数对应的运维作业。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的方法。
CN202310659579.1A 2023-06-05 2023-06-05 运维作业的执行方法、装置、处理器及电子设备 Pending CN116841653A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310659579.1A CN116841653A (zh) 2023-06-05 2023-06-05 运维作业的执行方法、装置、处理器及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310659579.1A CN116841653A (zh) 2023-06-05 2023-06-05 运维作业的执行方法、装置、处理器及电子设备

Publications (1)

Publication Number Publication Date
CN116841653A true CN116841653A (zh) 2023-10-03

Family

ID=88159033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310659579.1A Pending CN116841653A (zh) 2023-06-05 2023-06-05 运维作业的执行方法、装置、处理器及电子设备

Country Status (1)

Country Link
CN (1) CN116841653A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117312042A (zh) * 2023-12-01 2023-12-29 之江实验室 计算机集群的运维方法和计算机集群的运维系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117312042A (zh) * 2023-12-01 2023-12-29 之江实验室 计算机集群的运维方法和计算机集群的运维系统

Similar Documents

Publication Publication Date Title
US9535754B1 (en) Dynamic provisioning of computing resources
CN110515795B (zh) 一种大数据组件的监控方法、装置、电子设备
CN108255708B (zh) 测试环境中访问生产文件的方法、装置、存储介质及设备
CN110764998B (zh) 基于Django框架的数据比对方法、装置、设备及存储介质
CN108038039A (zh) 记录日志的方法及微服务系统
CN116841653A (zh) 运维作业的执行方法、装置、处理器及电子设备
US20190149571A1 (en) Method and device for repairing page vulnerability
CN113987401A (zh) 网络通用日志的记录方法、装置、存储介质及处理器
CN114329281A (zh) 渲染服务器、网页渲染方法及装置
CN108268369B (zh) 测试数据获取方法及装置
CN113094238A (zh) 一种业务系统异常监控方法及装置
CN114691445A (zh) 集群故障处理方法、装置、电子设备及可读存储介质
CN112631763A (zh) 一种主机程序的程序变更方法及装置
CN111435327B (zh) 一种日志记录的处理方法、装置及系统
CN116541198A (zh) 容器修复方法、装置、计算机存储介质及电子设备
CN116185706A (zh) 数据备份方法、装置、计算及存储介质及电子设备
CN115757138A (zh) 脚本异常原因的确定方法、装置、存储介质以及电子设备
CN115794220A (zh) 软件源迁移方法、装置和系统、计算设备和可读存储介质
CN112631929A (zh) 测试用例生成方法、装置、存储介质及电子设备
KR101737575B1 (ko) 자동 생성된 sql 구문 기반의 데이터 검증 방법 및 장치
CN114372027A (zh) 数据处理方法、装置、处理器及电子设备
CN116362681A (zh) 作业批量执行方法、装置、存储介质以及电子设备
CN117827683A (zh) 服务器检测方法、装置、存储介质及电子设备
CN114629788A (zh) 配置信息的更新方法、系统、存储介质和电子装置
CN114884807A (zh) 链路日志生成方法、装置、物联网平台及存储介质

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