CN112817808B - 一种计算机集群维护任务管理方法及系统 - Google Patents
一种计算机集群维护任务管理方法及系统 Download PDFInfo
- Publication number
- CN112817808B CN112817808B CN201911126393.XA CN201911126393A CN112817808B CN 112817808 B CN112817808 B CN 112817808B CN 201911126393 A CN201911126393 A CN 201911126393A CN 112817808 B CN112817808 B CN 112817808B
- Authority
- CN
- China
- Prior art keywords
- task
- maintenance
- tasks
- computer
- template
- 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.)
- Active
Links
- 238000012423 maintenance Methods 0.000 title claims abstract description 308
- 238000007726 management method Methods 0.000 title description 36
- 238000013515 script Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000003860 storage Methods 0.000 claims description 31
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 22
- 238000009434 installation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000005057 finger movement Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种计算机集群维护任务管理方法及系统,涉及计算机技术领域,所述方法包括:将每个用于维护任务的任务脚本及所述任务脚本所要调用的资源进行模块化处理,得到每个维护任务对应的任务模块,并将每个维护任务对应的任务模块保存在网络侧服务器上;计算机集群的目标计算机从网络侧服务器获取用于维护计算机的任务模板;计算机集群的目标计算机根据已获取的任务模板,确定待执行的所有维护任务的执行队列;计算机集群的目标计算机按照执行队列中的维护任务顺序,从网络侧服务器依次迭代调用所述执行队列中每个维护任务对应的任务模块,从而通过依次迭代调用任务模块中的任务脚本及对应资源,实现自动化维护任务。
Description
技术领域
本发明实施例涉及计算机技术领域,特别涉及一种计算机集群维护任务管理方法及系统。
背景技术
企业信息技术(Information Technology,IT)部门主要负责计算机操作系统、应用程序部署以及相关调试优化、排除故障等日常维护工作,以传统人工方式进行维护需要投入大量的人力和时间,不仅工作效率很低,而且人工操作难于避免疏忽错漏,使维护质量处于较低的水平,对不断更新的业务应用需求很难做出及时有效的响应。
如图1所示,执行一个安装程序setup.exe,其图形界面同时也是一个人机交互界面,IT人员需要用鼠标点击图形按钮“下一步”,也就是用手工方式进行安装操作。实际上,图1的安装程序还有一个原厂商赋予的“命令行”形式setup.exe–s,允许在不出现人机交互界面,即省略点击“下一步”的情况下,进行静默安装。将上述这条参数命令保存到一个脚本中,只要执行这个脚本,就可以自动完成安装过程。
部分软件厂商针对其所销售的软件产品,向企业客户的IT人员提供一些计算机脚本或批处理程序(以下统称脚本),可以帮助客户简化安装步骤。部分IT人员也会自己编写一些脚本来执行经常重复进行的维护操作。如果能将常用的软件以及系统维护操作都编写成脚本来执行,可以有效地简化日常维护工作。即便如此,IT人员仍然普遍手工(鼠标点击)执行脚本,使得这种简化仅仅达到“半自动化”的程度,离完全的自动化操作还有很大的距离。
进一步说,对计算机所做的各种操作,理论上都可以转化为程序命令来完成,例如,如图2所示,将一项IT维护任务所包含的维护操作步骤,经过逻辑拆解后全部转化为程序命令1、2…n,编写为一个用于该项维护任务的专用脚本,称为“任务脚本”,这个转化过程称为“维护任务脚本化”。这是实现计算机集群全面自动化维护的基础技术储备。
维护任务脚本化,实质上将执行维护任务的操作,转换为执行任务脚本的操作。一般有两种执行脚本的方式:
(1)鼠标点击,是最简单常用的脚本执行方式。由于鼠标点击仍然是人工方式,IT人员必须到达现场在计算机上逐台点击执行,所以仅能在一定程度上减少工作量(手指动作)。如果需要执行多项维护任务,IT人员必须等待前一个任务脚本执行完毕,才能执行下一个任务脚本,也很难达到显著节省操作时间的效果。另外,任务脚本及其所需调用的各种资源(安装程序、数据文件等)分散保存在IT人员随身携带的存储介质(移动硬盘、优盘等)中,很难做到集中管理和同步更新,从整体看执行效果仍然会存在因人而异的偏差。由此可见,单纯实现脚本化,并不能彻底解决IT自动化维护的问题。
(2)程序调用,即允许从一个计算机程序或脚本中调用执行另外的脚本。例如,编写一个最简单的脚本,依次对已有的所有任务脚本写一条调用语句,那么只需要让这个新的脚本自动执行起来(例如设置为操作系统开机启动项),就可以将所有的维护任务全部自动执行一遍。但是,这里有一个显而易见的问题,一个企业的IT维护任务可能有数百项之多,维护工作并不是每一次都简单地把所有的维护任务全部执行一遍。如何设计一个管理系统,能够根据每次需要执行的维护任务,通过程序自动选择它们所对应的任务脚本并加以调用执行,就是解决问题的关键。
简而言之,非常需要建立一套针对脚本化维护任务的管理系统,彻底地简化IT维护工作,最大限度地取代人工方式。
发明内容
本发明实施例提供一种计算机集群维护任务管理方法及系统,解决自动化执行维护任务的问题。
本发明实施例提供的一种计算机集群维护任务管理方法,所述方法包括:
将每个用于维护任务的任务脚本及所述任务脚本所要调用的资源进行模块化处理,得到每个维护任务对应的任务模块,并将每个维护任务对应的任务模块保存在网络侧服务器上;
计算机集群的目标计算机从网络侧服务器获取用于维护计算机的任务模板;
计算机集群的目标计算机根据已获取的任务模板,确定待执行的所有维护任务的执行队列;
计算机集群的目标计算机按照执行队列中的维护任务顺序,从网络侧服务器依次迭代调用所述执行队列中每个维护任务对应的任务模块,从而通过依次迭代调用任务模块中的任务脚本及对应资源,实现自动化维护任务。
本发明实施例提供的一种计算机集群维护任务管理系统,所述系统包括:
网络侧服务器,用于将每个用于维护任务的任务脚本及所述任务脚本所要调用的资源进行模块化处理,得到每个维护任务对应的任务模块,并保存每个维护任务对应的任务模块;
计算机集群中每台目标计算机,用于从网络侧服务器获取用于维护计算机的任务模板,并根据已获取的任务模板,确定待执行的所有维护任务的执行队列,以及按照执行队列中的维护任务顺序,从网络侧服务器依次迭代调用所述执行队列中每个维护任务对应的任务模块,从而通过依次迭代调用任务模块中的任务脚本及对应资源,实现自动化维护任务。
本发明实施例提供的一种计算机集群维护任务管理方法和系统将每个用于维护任务的任务脚本及所述任务脚本所要调用的资源进行模块化处理,得到每个维护任务对应的任务模块,并将每个维护任务对应的任务模块保存在网络侧服务器上,计算机集群中每台目标计算机,用于从网络侧服务器获取用于维护计算机的任务模板,并根据已获取的任务模板,确定待执行的所有维护任务的执行队列,以及按照执行队列中的维护任务顺序,从网络侧服务器依次迭代调用所述执行队列中每个维护任务对应的任务模块,从而通过依次迭代调用任务模块中的任务脚本及对应资源,实现自动化维护任务,从而真正实现全面自动化操作,达到高标准、高质量、高效率的维护水平,尤其适用于计算机集群达到数千台以上规模的大型企业。
附图说明
图1是已有技术安装程序的图像界面示意图;
图2是已有技术执行一项IT维护任务的流程示意图;
图3是本发明实施例提供的一种计算机集群维护任务管理方法的流程示意图;
图4是本发明实施例提供的一种计算机集群维护任务管理系统的架构图;
图5是本发明实施例提供的目标计算机执行的全部维护任务示意图;
图6是本发明实施例提供的任务模块示意图;
图7是本发明实施例提供的更新任务示意图;
图8是本发明实施例提供的更新任务模块示意图。
具体实施方式
以下结合附图对本发明实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本发明,并不用于限定本发明。
图3是本发明实施例提供的一种计算机集群维护任务管理方法的流程示意图,如图3所示,所述方法可以包括:
步骤S101:将每个用于维护任务的任务脚本及所述任务脚本所要调用的资源进行模块化处理,得到每个维护任务对应的任务模块,并将每个维护任务对应的任务模块保存在网络侧服务器上;
每个维护任务对应的任务模块以维护任务的任务编号命名;
步骤S102:计算机集群的目标计算机从网络侧服务器获取用于维护计算机的任务模板;
步骤S103:计算机集群的目标计算机根据已获取的任务模板,确定待执行的所有维护任务的执行队列;
步骤S104:计算机集群的目标计算机按照执行队列中的维护任务顺序,从网络侧服务器依次迭代调用所述执行队列中每个维护任务对应的任务模块,从而通过依次迭代调用任务模块中的任务脚本及对应资源,实现自动化维护任务。
在第一实施例中,所述的任务模板可以包括基本任务模板,具体地说,步骤S102包括:计算机集群的目标计算机从网络侧服务器获取用于维护计算机的基本任务模板,该基本任务模板包括按序排列的基本维护任务的任务编号,所述基本维护任务为需要在目标计算机上执行一次且在未出现异常的情况下不再重复执行的维护任务。此时,步骤S103包括:计算机集群的目标计算机对已获取的基本任务模板进行解析,得到基本任务模板中记录的按序排列的所有基本维护任务的任务编号,并查询自身保存的任务记录,得到在前已执行的基本维护任务的任务编号,然后根据所述基本任务模板中记录的所有基本维护任务的任务编号和任务记录中保存的在前已执行的基本维护任务的任务编号,确定基本任务模板中待执行的基本维护任务,具体地说,通过比较所述基本任务模板中记录的所有基本维护任务的任务编号和任务记录中保存的在前已执行的基本维护任务的任务编号,将所述基本任务模板中记录的新的基本维护任务作为待执行的基本维护任务,并按序组合成基本任务队列,以便加入到执行队列中。
在第二实施例中,所述任务模板还可以包括常用任务模板,具体地说,步骤S102包括:在计算机集群的目标计算机从网络侧服务器获取用于维护计算机的基本任务模板的同时,从网络侧服务器获取用于维护计算机的常用任务模板,所述常用任务模板包括周期序号和按序排列的常用维护任务的任务编号,所述常用维护任务为在目标计算机上重复执行的维护任务。此时,步骤S103包括:计算机集群的目标计算机对已获取的常用任务模板进行解析,得到常用任务模板中记录的周期序号和按序排列的所有常用维护任务的任务编号,并查询自身保存的周期记录,得到在前已执行的常用维护任务对应的周期序号,然后将常用任务模板中记录的周期序号与周期记录中保存的在前已执行的常用维护任务对应的周期序号进行匹配,若不匹配,则将常用任务模板中记录的所有常用维护任务的任务编号按序组合成常用任务队列,以便加入到执行队列中,并置于所述执行队列中的基本任务队列之后。
在第三实施例中,所述任务模板还可以包括更新任务模板,具体地说,步骤S102包括:在计算机集群的目标计算机从网络侧服务器获取用于维护计算机的基本任务模板的同时,从网络侧服务器获取用于维护计算机的更新任务模板,所述更新任务模板包括在目标计算机上执行的更新维护任务的任务编号及对应的更新梯次,所述更新维护任务为在目标计算机上需要在更新时调用不同更新梯次的资源的维护任务。此时,步骤S103包括:计算机集群的目标计算机对已获取的更新任务模板进行解析,得到更新任务模板中记录的按序排列的所有更新维护任务的任务编号及对应的更新梯次,并在自身保存的更新记录中按序查询更新任务模板中每个更新维护任务的任务编号对应的更新梯次,若在更新记录中未找到更新维护任务的任务编号对应的更新梯次,则将所述更新维护任务的任务编号及对应的更新梯次组合成更新任务队列,以便加入到执行队列中,并置于执行队列中的常用任务队列之后。
需要说明的是,由于更新维护任务需要在更新时调用不同更新梯次的资源,因而需要在步骤S101中得到的任务模块中建立以更新梯次命名的次级任务模块,以更新梯次命名的次级任务模块包括该梯次更新时需要调用的资源(即不同版本的安装程序或数据文件等)。
将每个用于维护任务的任务脚本及所述任务脚本所要调用的资源进行模块化处理,得到每个维护任务对应的任务模块,并将每个维护任务对应的任务模块保存在网络侧服务器上
在第四实施例中,所述任务模板还可以包括单点任务模板,具体地说,步骤S102包括:在计算机集群的目标计算机从网络侧服务器获取用于维护计算机的基本任务模板的同时,从网络侧服务器获取用于维护计算机的单点任务模板,所述单点任务模板包括单点维护任务的任务编号及执行该单点维护任务的指定目标计算机的标识,所述单点维护任务为在指定目标计算机上执行的维护任务。此时,步骤S103包括:计算机集群的目标计算机对已获取的单点任务模板进行解析,得到单点维护任务的任务编号及执行该单点维护任务的指定目标计算机的标识,并判断所述执行该单点维护任务的指定目标计算机的标识是否与本机的标识一致,若一致,则计算机集群的目标计算机将单点任务模板中记录的单点维护任务组合成单点任务队列,以便加入到执行队列中,并置于所述执行队列中的更新任务队列之后。
具体实现时,计算机集群的目标计算机通过任务调度,将基本任务队列、常用任务队列、更新任务队列和单点任务队列整合成一个执行队列。
需要说明的是,考虑到维护任务之间可能存在关联,因而需要预先建立用于信息交换的临时存储区,这样在执行维护任务期间,可以将执行维护任务时生成的数据保存到临时存储区,以便在执行后续维护任务时,从临时存储区调用该数据,作为执行参数。
本实施例强化了维护任务脚本化的作用,将企业IT人工操作的成功经验和成熟步骤,通过命令脚本的形式固化下来,从而使IT维护工作真正具备了严格可靠的操作标准,消除了人工操作容易疏忽错漏的隐患。IT人员在实践中不断总结和改进维护技术,同样可以通过编写任务脚本并进行模块化封装的形式继承下来,因而可以不断巩固和提高IT维护工作的质量水平。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
图4是本发明实施例提供的一种计算机集群维护任务管理系统的架构图,如图4所示,本实施例的计算机集群维护任务管理系统,设计为客户端/服务器(Client/Server,C/S)架构。计算机集群中的每一台计算机,称为目标计算机。在目标计算机上运行本实施例提供的系统的客户端程序(Client),通过局域网共同访问网络侧任务管理系统服务器(Server),简称网络侧服务器。其中:
网络侧服务器,用于将每个用于维护任务的任务脚本及所述任务脚本所要调用的资源进行模块化处理,得到每个维护任务对应的任务模块,并保存每个维护任务对应的任务模块;
计算机集群的每台目标计算机,用于从网络侧服务器获取用于维护计算机的任务模板,并根据已获取的任务模板,确定待执行的所有维护任务的执行队列,以及按照执行队列中的维护任务顺序,从网络侧服务器依次迭代调用所述执行队列中每个维护任务对应的任务模块,从而通过依次迭代调用任务模块中的任务脚本及对应资源,实现自动化维护任务。
在上述系统架构的基础上,本实施例的系统执行以下步骤:
一、信息采集与目标识别
本实施例提供的系统的客户端程序在目标计算机上运行,首先对所在计算机进行信息采集。该系统将所在计算机系统中具有唯一性的识别信息,作为目标计算机的唯一标识或称为目标ID。例如,计算机名、MAC地址、主机序列号等,都是具有唯一性的标识信息。可以通过采集其中的一种或多种的组合,作为目标ID。该系统将目标ID作为对计算机集群中的任一计算机进行目标识别的唯一凭证。
二、任务模板与任务队列
计算机集群从第一台计算机开始建设起,随着时间的推移和新计算机的不断加入,IT人员要根据企业日常业务发展所不断产生的需求,对计算机集群中的全部计算机展开持续的维护工作,包括但不限于操作系统、应用软件、驱动程序等的安装、卸载、更新、升级,网络参数、注册表项、防火墙等的设置,系统服务、协议、端口的启停等复杂多样的维护任务。每当产生新的业务需求,IT人员就要从某一个时间节点开始的一个任务周期中,对计算机集群中的全部计算机进行一轮维护工作,通常包含一项或多项维护任务。如表1所示的维护工作示意表。
表1.维护工作示意表
任务周期 | 维护任务 | 任务编号 |
1 | 安装驱动程序,安装防病毒软件 | A01,A02 |
2 | 安装安全补丁,设置防火墙 | B01,B02 |
3 | 安装办公软件,安装研发软件 | C01,C02 |
如果以字母和数字组合形式的任务编号(A01,A02等)分别表示各项维护任务,则上例中对目标计算机执行的全部维护任务,可以使用图5表示,本实施例将表1中的全部维护任务用各自的任务编号组成图5所示的序列来表示,称为任务模板:[A01][A02][B01][B02][C01][C02]。
任务模板表示IT实际工作层面的维护任务需求。在已完成过往各个周期的维护任务的基础上,当进入当前维护周期时,为满足任务模板所包含的全部任务要求,在目标计算机上将要执行的维护任务序列,称为当前周期的任务队列,或简称任务队列。如上例中进入第3周期时,将要执行的任务队列则为:[C01][C02]。从另一个方面看,上述第3周期的任务队列也可以看作整个任务模板“减去”第1周期及第2周期中已经执行过的任务队列的“剩余”项,即:[C01][C02]=[A01][A02][B01][B02][C01][C02]-[A01][A02]-[B01][B02]。由此可见,上述所定义的任务模板和任务队列等概念,其所包含的以任务编号为代表的任务项,可以进行逻辑“加减”运算,因而特别适合利用计算机程序来进行逻辑处理。
本实施例将通过编制计算机程序构建一个任务管理系统,在目标计算机上根据任务模板自动生成待执行的任务队列,然后按照任务队列从网络侧服务器端依次调用任务模块,从而实现完全自动化执行维护任务的目标。
三、任务模块
本实施例采用程序调用任务脚本的方法,需要将任务脚本及其所调用的资源进行集中存储和模块化封装。例如,在网络侧服务器端建立共享存储空间,以维护任务的任务编号为名称建立独立存储单元,分别存储所对应的任务脚本及其所调用资源,本实施例将这一过程称为模块化封装。每一个存储单元被封装成为一个任务模块,任务编号是任务模块的唯一标识,任务脚本是任务模块的调用接口。所有的任务模块组成了一个任务库,便于集中管理,为计算机集群提供统一的访问入口。如图6所示的任务模块示意图。
本实施例的任务管理系统依据IT人员为计算机集群定义的任务模板,确定目标计算机需要执行的任务队列,从任务库中选择并调用对应任务模块,完成自动化执行过程。在本实施例中,调用任务模块和执行任务模块的描述,都应理解为在程序中通过索引任务编号找到并调用任务脚本,以及通过执行任务脚本调用相关资源的过程。
四、任务分类
在IT实际工作中,维护操作繁杂多样。采用编制程序(脚本)的方法来模拟和替代人工操作,应当根据操作的特点对各种维护任务进行适当地分类,以便按照不同任务类型分别建立管理调度策略(或规则),并运用编程技术进行逻辑运算、筛选组合和迭代调用等程序运作,进而构建一个模拟现实进行任务调度并执行的自动化任务管理系统。
本实施例根据任务调度方式的特点,可以将维护任务分为基本任务、常用任务、更新任务和单点任务4个类型,并分别建立管理调度策略(或规则)。
(一)基本任务
大部分维护任务需要在目标计算机上至少执行一次,并且在不出现异常的情况下不再重复执行,这一类维护任务称为基本任务(或称基本维护任务)。例如安装一个应用软件,安装完成以后,正常情况下可以一直使用,在后续的任务周期中不需要再次重复安装。
基本任务管理调度策略(或规则)如下:
1、IT人员在网络侧服务器端定义一个任务序列,由全部任务周期中所有需要执行的基本任务的任务编号组成,称为基本任务模板。
2、在一个新的任务周期启动时,如果需要执行以往任务周期中未执行过的基本任务,IT人员应在网络侧服务器端所定义的基本任务模板中添加本轮需要执行的新的基本任务的任务编号,即:
基本任务模板=前基本任务模板+新基本任务
3、IT人员改变基本任务模板,对其添加未执行过的基本任务,即可视为触发计算机集群启动新一轮任务周期的信号之一。
4、在目标计算机中建立“任务记录”,以便任务管理系统执行完成一个任务模块后,将其任务编号记录下来。
5、在目标计算机上运行的本系统客户端程序定期进行任务模板检索,从网络侧服务器端获取任务模板,从所获取的基本任务模板中去掉任务记录中已有记录的基本任务,将其余值定义为基本任务队列,即:
基本任务队列=基本任务模板-已记录任务
需要说明的是,若本次检索任务模板并去掉已记录任务后所得到的基本任务队列为空,属于正常取值结果,说明没有需要执行的基本任务。
6、基本任务模板是一个全周期任务模板。每一个任务周期中所执行的基本任务,应继续保留在基本任务模板中。直到从某个任务周期开始,某一个或某几个基本任务不需要在加入集群的新计算机上执行时,应当从基本任务模板中删除。此规则将保证在任意周期中加入集群的新计算机能够“补齐”其加入之前的各个任务周期中需要执行的基本任务。
(二)常用任务
有一些维护任务经常需要重复执行,特点是简单重复执行同一个任务模块,即每次均执行同一任务脚本及调用相同资源。这一类维护任务本质上属于基本任务,因为需要反复执行,所以本实施例另称为常用任务(或常用维护任务)。例如,需要定期采集计算机状态信息,或者经常需要进行磁盘清理、性能优化等日常维护任务。
常用任务管理调度策略(或规则)如下:
1、在一个新的任务周期启动时,IT人员在网络侧服务器端定义一个由本轮维护周期需要执行的常用任务的任务编号组成的任务序列,并将本轮周期序号绑定于这个任务序列,称为常用任务模板,即:常用任务模板=本周期常用任务序列@周期序号。
2、IT人员定义一个绑定了新周期序号的常用任务模板,即可视为触发计算机集群启动新一轮任务周期的信号之一。
3、在目标计算机中建立“周期记录”,以便任务管理系统执行完成常用任务后,将本轮周期序号记录下来。
4.、在目标计算机上运行的本系统客户端程序定期进行任务模板检索,从网络侧服务器端获取任务模板,从所获取的常用任务模板中分别解析出周期序号和任务序列,首先检索比较周期记录,如确定所解析出的周期序号为新值,则将所解析出的任务序列定义为常用任务队列;反之,如确定周期序号不为新值,则忽略所解析出的任务序列,而将常用任务队列定义为空值。即:常用任务队列=新周期序号下的常用任务序列。
(三)更新任务
有些业务应用系统在安装、运行一段时间以后,需要进行升级或更新,例如软件版本升级或者数据文件更新等,特点是每次更新需要调用不同版本的安装程序或数据文件。这一类维护任务称为更新任务(或称更新维护任务)。更新任务往往与企业业务发展紧密关联,因而具有较高的维护权重,在系统设计上,应当充分体现更新操作的任务属性,以便对更新升级的进阶梯次进行垂直管理。
如图7所示,更新任务与基本任务具有明显的不同。更新任务在不断升级的各个进阶梯次上需要调用不同的资源,从而实现更新后的变化。本实施例将更新任务的这一属性称为更新梯次。例如,在执行某个应用软件的初次安装任务时,可定义其更新梯次为0;在执行该应用软件的第一次更新任务时,可定义其更新梯次为1,以此类推。
相应地,如图8所示,在对更新任务对应的任务模块进行模块化封装时,在网络侧服务器端共享存储空间中以任务编号命名的存储单元中,需要建立以更新梯次命名的次级存储单元,分别存储各个更新梯次中所要调用的资源(不同版本的安装程序、数据文件等)。同时在同一个任务脚本框架下设计诸如循环迭代等程序结构,借助于更新梯次逐级递增的变化,正确索引并调用与更新梯次相关联的安装程序或数据文件,达到更新操作的任务目标。
更新任务管理调度策略(或规则)如下:
1、IT人员在网络侧服务器端定义一个任务序列,由全部任务周期中所有需要执行的更新任务的任务编号分别绑定各自的更新梯次作为其中的任务项,组合成为更新任务模板。例如:更新任务模板=任务编号A#更新梯次+任务编号B#更新梯次+……
2、在一个新的任务周期启动时,如果需要执行以往任务周期中未执行过的更新任务,IT人员应在网络侧服务器端所定义的更新任务模板中添加本轮需要执行的新的更新任务的任务编号并绑定其初始更新梯次的任务项,例如:更新任务模板=前更新任务模板+新更新任务#0。如果需要执行以往周期中执行过的更新任务的新一轮更新梯次,则应在网络侧服务器端所定义的更新任务模板中将该任务的原有任务项绑定新的更新梯次,例如:任务编号#0→任务编号#1。
3、IT人员改变更新任务模板,对其添加未执行过的任务项,或改变任一任务项所绑定的更新梯次,即可视为触发计算机集群启动新一轮任务周期的信号之一。
4、在目标计算机中建立“更新记录”,以便任务管理系统执行完成一个更新任务后,将其任务编号和更新梯次一并记录下来。
5、在目标计算机上运行的本系统客户端程序定期进行任务模板检索,从网络侧服务器端获取任务模板,从所获取的更新任务模板中依次获取各个任务项,每获取一个任务项分别从其中解析出任务编号和更新梯次,首先检索比较更新记录中同一任务编号所对应的更新梯次记录,如确定所解析出的更新梯次为新值,则将当前所获取的任务项加入到更新任务队列中;反之,如确定更新梯次不为新值,则忽略当前所获取的任务项。以此类推,直到获取更新任务模板中的最后一个任务项后,得到本轮需要执行的更新任务队列,即:更新任务队列=更新任务模板–无梯次差异任务项。
6、更新任务模板也是一个全周期任务模板。每一个任务周期中所执行的更新任务,应绑定各自最近的更新梯次,作为任务项继续保留在更新任务模板中。直到从某个任务周期开始,某一个或某几个更新任务不再需要继续执行更新,同时也不需要在加入集群的新计算机上执行初始安装时,应当从更新任务模板中删除。此规则将保证在任意周期中加入集群的新计算机能够“补齐”其加入之前各个更新任务所达到的更新梯次。
(四)单点任务
上述三类维护任务都是要求计算机集群的所有计算机同步执行的。在实际工作中,有的任务模块在个别目标计算机上执行时,有可能出现异常情况,例如某台计算机安装应用程序失败,IT人员仅需对这一台计算机重新执行一次安装操作,不必对整个计算机集群全部重新安装。IT人员对指定的目标计算机单独执行一些维护任务,用于重新安装或调试修复等目的,这一类维护任务称为单点任务。单点任务的目标计算机,必须以其目标ID来确定,这也是本系统在检索任务模板之前必须首先进行目标识别以便获取目标ID的主要原因。例如,以计算机名或MAC地址作为目标ID,即可在计算机集群所在网络内唯一确定需要执行单点任务的目标计算机。
单点任务管理调度策略(或规则)如下:
1、IT人员在网络侧服务器端定义一个需要对单台目标计算机所执行的维护任务的任务编号组成的任务序列,并绑定该计算机的目标ID,组合成为单点任务模板,即:
单点任务模板=任务序列@目标ID
2、可以同时定义多个单点任务模板,分别指向不同的目标计算机,并且允许单点任务序列各不相同。
3、在目标计算机上运行的本系统客户端程序定期进行任务模板检索,从网络侧服务器端获取任务模板,从所获取的单点任务模板中分别解析出目标ID和任务序列,首先检索比较本机目标ID,如确定二者相同,即目标ID匹配,则将所解析出的任务序列定义为单点任务队列;反之,如目标ID不匹配,则忽略所解析出的任务序列,而将单点任务队列定义为空值。即:
单点任务队列=目标ID匹配的任务序列
4、本系统客户端程序对目标计算机执行完成所有单点任务后,应当删除网络侧服务器端所提供的绑定该计算机目标ID的单点任务模板,以避免该计算机重复检索到同一单点任务模板,进而不必要地重复执行单点任务。
5、单点任务不受任务周期限制,可以随时针对指定的目标计算机定义新的单点任务模板,令其在一个任务周期中多次执行单点任务。
IT人员按照上述分类规则,在网络侧服务器端,将需要执行的维护任务分类定义为相应的任务模板,允许计算机集群中的所有计算机进行检索。按照4种任务分类可定义基本任务模板、常用任务模板、更新任务模板和单点任务模板的至少之一。
五、任务调度
本实施例提供的系统的客户端程序在目标计算机上运行,定期检索网络侧服务器端所定义的所有任务模板。
按照上述分类管理调度规则,分别从各个分类任务模板中筛选或解析出需要执行的任务序列,整合成为一个待执行的任务队列,这一过程称为任务调度。经过任务调度整合得到的任务队列,称为执行队列,即:
执行队列=基本任务+常用任务+更新任务+单点任务
如判断执行队列不为空值,说明至少有一个任务模块需要执行。如判断执行队列为空值,说明没有任何任务模块需要执行,则返回继续进行定期模板检索。
六、任务执行
本实施例提供的系统的客户端程序获得非空的执行队列,则开始执行其中所包含的任务模块。按照执行队列中排列的任务项,依次迭代调用网络侧服务器端任务库中的对应任务模块,即依次通过任务编号执行对应的任务脚本,并调用对应的资源,完成对应的维护任务。
特别地,所有更新任务需要根据任务项解析出更新梯次,从对应的子存储空间调用更新资源来执行。
本系统的客户端程序在目标计算机上运行,通过目标识别、模板检索、任务调度和任务执行等流程,达到完全自动化执行维护任务的目标。
七、信息交换
有些维护任务之间存在关联,需要交换特定的信息,或者前一维护任务的执行结果会影响后一维护任务的执行方式。处理好任务模块之间的这种关联关系,对于实现完全自动化执行维护任务非常重要。
在目标计算机上建立临时存储空间作为“信息交换区”,用于保存任务模块之间需要传递的信息。例如,在执行队列中要求先执行任务A,后执行任务B,任务A所生成的某项数据,需要作为任务B的执行参数。为此,在任务A脚本中设计输出命令将生成的数据信息保存到信息交换区,在任务B脚本中设计读取命令从信息交换区获取所需数据信息,代入后续命令的执行参数,完成所要求的维护任务。
八、任务日志
本实施例的任务管理系统在自动化执行维护任务过程中,目标计算机现场没有IT人员值守,任务执行结果必须反馈至网络侧服务器端,自动生成任务日志,供IT人员准确掌握任务执行情况。任务日志是自动化维护方式最大限度取代人工操作的必要条件,也是对自动化维护进行任务审计的重要凭证。
任务日志可以包括但不限于以下三个维度的日志:
(一)集群台账
计算机集群总台账,汇总所有执行自动化维护的目标计算机信息,利于IT人员掌握计算机集群整体状况。这些信息由任务管理系统程序以列表形式输出,包括但不限于计算机目标ID、任务管理系统启动时间、执行队列等必要信息。
(二)任务台账
以任务编号命名,对每一个任务模块生成一份任务台账,汇总记录所有执行该项维护任务的目标计算机信息,利于IT人员掌握单项维护任务执行状况。这些信息由任务脚本以列表形式输出,包括但不限于计算机目标ID、关键操作步骤对应的脚本命令返回代码(反映操作成功或失败的执行结果)、操作过程中产生的重要数据等必要信息。
(三)单机日志
以目标ID命名,集群中的每一台计算机生成一份单机日志,汇总记录该机在历次自动化维护过程中的详细信息,建立单机全周期维护档案。这些信息由任务管理系统程序和各项维护任务的任务脚本以文本形式共同输出,包括但不限于任务管理系统启动时间、执行队列,各项维护任务所调用资源的版本信息、重要操作步骤对应的脚本命令返回代码,以及能够帮助IT人员详细掌握任务执行情况所需要反馈的各种过程数据等必要信息。
IT人员通过“集群台账”,可以得到集群中全部计算机的设备清单。通过“任务台账”,可以汇总统计维护任务在集群中每一台计算机上的执行结果。如发现任务台账中有失败记录,通过该记录所对应的计算机目标ID,找到以该目标ID所命名的“单机日志”,检查详细操作记录,从而快速分析、掌握失败原因,及时排除故障。
本实施例针对计算机集群日常维护的工作场景,在假设已经实现维护任务脚本化的基础上,通过模块化封装和任务分类调度,构建起一个维护任务管理系统,该系统能够根据任务需求,自动选择对应的任务模块并加以调用执行,实现自动化执行维护任务的目的。
应用实例
企业计算机集群中的某2台计算机,在连续3个任务周期中,通过本发明的任务管理系统执行自动化维护任务。
假设这2台计算机的目标ID分别PC1和PC2,3个任务周期的序号分别为X、Y、Z,基本任务、常用任务、更新任务和单点任务这4种任务类型分别以B(Basic)、R(Repeat)、U(Update)、S(Single)表示。
其中PC1代表集群中的大多数计算机,在工作日正常开机工作,历经每一个维护周期并且都执行了当期的维护任务。通过PC1的实例,说明本发明的任务管理系统如何对企业计算机集群整体进行同步的自动化任务管理。
其中PC2代表一个特例,其在完成X周期的维护任务后,由于员工出差或休假等原因,在Y周期中一直处于关机状态,未执行Y周期的维护任务。直到进入Z周期,员工重新回到岗位开机工作后,PC2借助全周期任务模板的“补缺”能力,以及IT人员设置单点任务的措施,补齐错过的Y周期维护任务以及完成Z周期的维护任务。这在企业实际工作环境中是很常见同时也很重要的典型维护场景。通过PC2的实例,说明企业计算机集群中因各种原因错过整体同步维护的部分计算机,如何在本发明的任务管理系统所设计的异步处理机制下,最终回归到与集群整体同步管理的轨道,充分体现本系统的自动化管理优势。
需要说明的是,本应用实例中所描述的任何类型的任务模板,均指网络侧服务器端的任务模板,以下不再重复说明。
本应用实例中各个任务周期的任务模板以及目标计算机的执行队列和任务记录如下表2所示。
表2.各任务周期的任务模板及目标计算机的执行队列和任务记录表
【X周期】
对整个计算机集群执行新的基本任务B1,无其它任务需求。
X周期基本任务模板=[B1]。
PC1执行X周期任务过程如下:
PC1获取本机目标ID。
PC1检索任务模板。
PC1获取基本任务模板,检索本地任务记录确定无B1记录,故得到的基本任务队列=[B1]
PC1获取其它任务模板均为空值。
PC1经任务调度,整合得到的执行队列=[B1]
PC1将本机目标ID和执行队列等信息输出到集群台账。
PC1按照执行队列,调用并执行任务编号为B1的任务模块。
PC1在执行B1任务模块过程中,将过程信息输出到本机单机日志。
PC1在执行B1任务模块完成时,将目标ID和执行结果输出到B1任务日志。
PC1在执行B1任务模块完成后,将任务编号B1记入本地任务记录。
PC1将周期序号X记入本地周期记录。
PC1执行X周期任务完成。
PC2执行X周期任务过程与PC1相同,在此不再赘述。
至此,PC1和PC2代表集群中的全部计算机同步完成X周期的维护任务。
【Y周期】
对整个计算机集群执行新的基本任务B2,常用任务R1,更新任务U1的第1梯次更新U1#1,无单点任务需求。
Y周期的基本任务模板=[B1][B2],常用任务模板=[R1]@Y,更新任务模板=[U1#1]。
PC1执行Y周期任务过程如下:
PC1获取本机目标ID。
PC1检索任务模板。
PC1获取基本任务模板,检索本地任务记录确定有B1记录而无B2记录,故去掉B1,得到的基本任务队列=[B2];
PC1获取常用任务模板,解析出任务周期Y和常用任务序列[R1],检索本地周期记录确定无Y记录,故常用任务序列[R1]有效,得到的常用任务队列=[R1];
PC1获取更新任务模板,从任务项[U1#1]解析出更新任务U1和更新梯次#1,检索本地更新记录确定无U1记录,故更新任务[U1#1]有效,得到的更新任务队列=[U1#1];
PC1获取单点任务模板为空值。
PC1经任务调度,整合得到执行队列=[B2][R1][U1#1];
PC1将本机目标ID和执行队列等信息输出到集群台账。
PC1按照执行队列,依次调用并执行任务编号为B2、R1、U1的任务模块。特别地,在执行更新任务U1时调用其中更新梯次#1的资源。
PC1执行B2、R1、U1任务模块过程中,将过程信息输出到本机单机日志。
PC1执行B2、R1、U1任务模块完成时,将执行结果分别输出到B2、R1、U1任务日志。
PC1执行B2、R1、U1任务模块完成后,将任务编号B2、R1、U1记入本地任务记录,将更新任务U1的任务编号和更新梯次U1#1同时计入本地更新记录。
PC1将周期序号Y记入本地周期记录。
PC1执行Y周期任务完成。
至此,PC1代表集群中的大部分计算机同步完成Y周期的维护任务。
PC2未开机,未与集群同步执行Y周期的维护任务。
【Z周期】
对整个计算机集群执行新的基本任务B3,更新任务U1的第2梯次更新U1#2,仅对PC2追加执行单点任务R1,无常用任务需求。
Z周期的基本任务模板=[B1][B2][B3],更新任务模板=[U1#2],单点任务模板=[R1]@PC2。
PC1执行Z周期任务过程如下:
PC1获取本机目标ID。
PC1检索任务模板。
PC1获取基本任务模板,检索本地任务记录确定有B1、B2记录而无B3记录,故去掉B1、B2,得到的基本任务队列=[B3]。
PC1获取常用任务模板为空值。
PC1获取更新任务模板,从任务项[U1#2]解析出更新任务U1和更新梯次#2,检索本地更新记录确定有U1记录,且所记录更新梯次#1低于模板更新梯次#2,故更新任务[U1#2]有效,得到的更新任务队列=[U1#2]。
PC1获取单点任务模板,解析出任务序列[R1]和目标ID(PC2),确定与本机目标ID(PC1)不匹配,故忽略单点任务序列。
PC1经任务调度,整合得到的执行队列=[B3][U1#2]。
PC1将本机目标ID和执行队列等信息输出到集群台账。
PC1按照执行队列,依次调用并执行任务编号为B3、U1的任务模块。特别地,PC1在执行更新任务U1时调用其中更新梯次#2的资源。
PC1执行B3、U1任务模块过程中,将过程信息输出到本机单机日志。
PC1执行B3、U1任务模块完成时,将执行结果分别输出到B3、U1任务日志。
PC1执行B3、U1任务模块完成后,将任务编号B3、U1记入本地任务记录,将PC1更新任务U1的任务编号和更新梯次U1#2同时计入本地更新记录。
PC1将周期序号Z记入本地周期记录。
PC1执行Z周期任务完成。
PC2执行Z周期任务过程如下:
PC2获取本机目标ID。
PC2检索任务模板。
PC2获取基本任务模板,检索本地任务记录确定有B1记录而无B2、B3记录,故去掉B1,得到的基本任务队列=[B2][B3]。
PC2获取常用任务模板为空值。
PC2获取更新任务模板,从任务项[U1#2]解析出更新任务U1和更新梯次#2,检索本地更新记录确定无U1记录,故更新任务[U1#2]有效,得到的更新任务队列=[U1#2]。
PC2获取单点任务模板,解析出单点任务序列[R1]和目标ID(PC2),确定与本机目标ID(PC2)匹配,故单点任务序列[R1]有效,得到的单点任务队列=[R1]。
PC2删除与本机匹配的单点任务模板,避免重复执行单点任务。
PC2经任务调度,整合得到的执行队列=[B2][B3][U1#2][R1]。
PC2将本机目标ID和执行队列等信息输出到集群台账。
PC2按照执行队列,依次调用并执行任务编号为B2、B3、U1、R1的任务模块。特别地,在执行更新任务U1时调用其中更新梯次#2的资源。
PC2执行B2、B3、U1、R1任务模块过程中,将过程信息输出到本机单机日志。
PC2执行B2、B3、U1、R1任务模块完成时,将执行结果分别输出到B2、B3、U1、R1任务日志。
PC2执行B2、B3、U1、R1任务模块完成后,将任务编号B2、B3、U1、R1记入本地任务记录,将更新任务U1的任务编号和更新梯次U1#2同时计入本地更新记录。
PC2将周期序号Z记入本地周期记录。
PC2执行Z周期任务完成。
至此,PC2追加完成了在Y周期中因未开机所错过的维护任务,并同时完成了Z周期的维护任务。PC2与PC1达到同步状态。PC1和PC2代表集群中的全部计算机重新达成同步任务管理。
一些著名IT厂商(例如微软、蓝代斯克等公司)在市场上推出的桌面计算机管理类的商业软件,一般也具有一定的应用软件部署功能,这类产品普遍价格昂贵,因此拥有大规模计算机集群的企业采购投入巨大,成本需要数百万元以上,然而这类产品的应用软件部署能力较为有限,一般仅能对部分特定软件类型或原厂商自家软件产品进行一定程度上的自动化部署,远远不能达到帮助企业IT实现全面自动化维护的目的,而本发明可以在相对较低的研发投入前提下,达成企业计算机集群同步自动化执行维护任务的目标,取得高标准、高质量和高效率三个方面的飞跃,具体地说,针对大型企业计算机集群IT维护的实际工作场景,覆盖各种类型的应用软件部署以及繁杂多样的调试维护操作,构建了一个脚本化维护任务的自动管理运行平台,最大限度地取代人工操作,实现全面自动化维护的目标,开启了一种全新的无人值守自动化工作模式,是一个具有里程碑意义的解决方案,同时可以带来显著的经济效益。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种计算机集群维护任务管理方法,其特征在于,所述方法包括:
对于每个维护任务,将该维护任务所包含的维护操作步骤进行逻辑拆解后全部转化为程序命令,编写为一个用于该维护任务的专用脚本,称为任务脚本,以将执行每个维护任务的操作转换为执行每个维护任务的任务脚本的操作;其中,维护任务分为基本任务、常用任务、更新任务和单点任务,所述基本任务为需要在目标计算机上执行一次且在未出现异常的情况下不再重复执行的维护任务,所述常用任务为在目标计算机上重复执行的维护任务,所述更新任务为在目标计算机上需要在更新时调用不同更新梯次的资源的维护任务,所述单点任务为在指定目标计算机上执行的维护任务;
在网络侧服务器上建立共享存储空间,对于每个维护任务,在所述共享存储空间中建立以该维护任务的任务编号为名称的独立存储单元,在该维护任务的独立存储单元中存储该维护任务的任务脚本和所要调用的资源,由此该维护任务的独立存储单元被封装成为该维护任务的任务模块,该维护任务的任务脚本是该维护任务的任务模块的调用接口,所有的任务模块组成任务库;
在需要对计算机集群的全部计算机进行一轮维护工作时,确定本轮维护工作的任务周期中计算机集群执行的全部维护任务的任务编号组成的序列,称为该任务周期的任务模板;其中,任务模板包括与基本任务、常用任务、更新任务和单点任务分别对应的基本任务模板、常用任务模板、更新任务模板和单点任务模板;
计算机集群的目标计算机从网络侧服务器获取该任务周期的任务模板,并根据该任务周期的任务模板中全部维护任务的任务编号和在前各个任务周期的执行完成的维护任务的任务编号,确定该任务周期待执行的所有维护任务的任务编号组成的序列,称为执行队列;
计算机集群的目标计算机按照执行队列中的维护任务的任务编号的顺序,从网络侧服务器的所述共享存储空间的所述任务库中通过索引所述执行队列中每个维护任务的任务编号找到每个维护任务的任务模块,并通过执行已找到的每个维护任务的任务模块中的任务脚本,调用每个维护任务的任务模块中的资源,从而通过依次迭代调用所述执行队列中每个维护任务的任务模块中的任务脚本及对应资源,实现自动化维护任务。
2.根据权利要求1所述的方法,其特征在于,所述计算机集群的目标计算机从网络侧服务器获取该任务周期的任务模板包括:
计算机集群的目标计算机从网络侧服务器获取用于维护计算机的基本任务模板,该基本任务模板包括按序排列的基本维护任务的任务编号。
3.根据权利要求2所述的方法,其特征在于,所述计算机集群的目标计算机根据该任务周期的任务模板中全部维护任务的任务编号和在前各个任务周期的执行完成的维护任务的任务编号,确定该任务周期待执行的所有维护任务的任务编号组成的序列,称为执行队列包括:
计算机集群的目标计算机对已获取的基本任务模板进行解析,得到基本任务模板中记录的按序排列的所有基本维护任务的任务编号;
计算机集群的目标计算机查询在前各个任务周期的维护任务执行完成后自身保存的任务记录,得到在前已执行的基本维护任务的任务编号;
计算机集群的目标计算机根据所述基本任务模板中记录的所有基本维护任务的任务编号和任务记录中保存的在前已执行的基本维护任务的任务编号,确定基本任务模板中待执行的基本维护任务的任务编号,并将基本任务模板中待执行的基本维护任务的任务编号按序组合成基本任务队列,以便加入到执行队列中。
4.根据权利要求3所述的方法,其特征在于,所述计算机集群的目标计算机从网络侧服务器获取该任务周期的任务模板还包括:
在计算机集群的目标计算机从网络侧服务器获取用于维护计算机的基本任务模板的同时,从网络侧服务器获取用于维护计算机的常用任务模板,所述常用任务模板包括周期序号和按序排列的常用维护任务的任务编号。
5.根据权利要求4所述的方法,其特征在于,所述计算机集群的目标计算机根据该任务周期的任务模板中全部维护任务的任务编号和在前各个任务周期的执行完成的维护任务的任务编号,确定该任务周期待执行的所有维护任务的任务编号组成的序列,称为执行队列还包括:
计算机集群的目标计算机对已获取的常用任务模板进行解析,得到常用任务模板中记录的周期序号和按序排列的所有常用维护任务的任务编号;
计算机集群的目标计算机查询在前各个任务周期的维护任务执行完成后自身保存的周期记录,得到在前已执行的常用维护任务对应的周期序号;
计算机集群的目标计算机将常用任务模板中记录的周期序号与周期记录中保存的在前已执行的常用维护任务对应的周期序号进行匹配;
若不匹配,则计算机集群的目标计算机将常用任务模板中记录的所有常用维护任务的任务编号按序组合成常用任务队列,以便加入到执行队列中,并置于所述执行队列中的基本任务队列之后。
6.根据权利要求5所述的方法,其特征在于,所述计算机集群的目标计算机从网络侧服务器获取该任务周期的任务模板还包括:
在计算机集群的目标计算机从网络侧服务器获取用于维护计算机的基本任务模板的同时,从网络侧服务器获取用于维护计算机的更新任务模板,所述更新任务模板包括在目标计算机上执行的更新维护任务的任务编号及对应的更新梯次。
7.根据权利要求6所述的方法,其特征在于,所述计算机集群的目标计算机根据该任务周期的任务模板中全部维护任务的任务编号和在前各个任务周期的执行完成的维护任务的任务编号,确定该任务周期待执行的所有维护任务的任务编号组成的序列,称为执行队列还包括:
计算机集群的目标计算机对已获取的更新任务模板进行解析,得到更新任务模板中记录的按序排列的所有更新维护任务的任务编号及对应的更新梯次;
计算机集群的目标计算机在在前各个任务周期的维护任务执行完成后自身保存的更新记录中按序查询更新任务模板中每个更新维护任务的任务编号对应的更新梯次;
若在更新记录中未找到更新维护任务的任务编号对应的更新梯次,则将所述更新维护任务的任务编号及对应的更新梯次组合成更新任务队列,以便加入到执行队列中,并置于执行队列中的常用任务队列之后。
8.根据权利要求7所述的方法,其特征在于,所述计算机集群的目标计算机从网络侧服务器获取该任务周期的任务模板还包括:
在计算机集群的目标计算机从网络侧服务器获取用于维护计算机的基本任务模板的同时,从网络侧服务器获取用于维护计算机的单点任务模板,所述单点任务模板包括单点维护任务的任务编号及执行该单点维护任务的指定目标计算机的标识。
9.根据权利要求8所述的方法,其特征在于,所述计算机集群的目标计算机根据该任务周期的任务模板中全部维护任务的任务编号和在前各个任务周期的执行完成的维护任务的任务编号,确定该任务周期待执行的所有维护任务的任务编号组成的序列,称为执行队列还包括:
计算机集群的目标计算机对已获取的单点任务模板进行解析,得到单点维护任务的任务编号及执行该单点维护任务的指定目标计算机的标识;
计算机集群的目标计算机判断所述执行该单点维护任务的指定目标计算机的标识是否与本机的标识一致;
若一致,则计算机集群的目标计算机将单点任务模板中记录的单点维护任务组合成单点任务队列,以便加入到执行队列中,并置于所述执行队列中的更新任务队列之后。
10.一种计算机集群维护任务管理系统,其特征在于,所述系统包括:
网络侧服务器,用于对于每个维护任务,将该维护任务所包含的维护操作步骤进行逻辑拆解后全部转化为程序命令,编写为一个用于该维护任务的专用脚本,称为任务脚本,以将执行每个维护任务的操作转换为执行每个维护任务的任务脚本的操作,维护任务分为基本任务、常用任务、更新任务和单点任务,所述基本任务为需要在目标计算机上执行一次且在未出现异常的情况下不再重复执行的维护任务,所述常用任务为在目标计算机上重复执行的维护任务,所述更新任务为在目标计算机上需要在更新时调用不同更新梯次的资源的维护任务,所述单点任务为在指定目标计算机上执行的维护任务;建立共享存储空间,对于每个维护任务,在所述共享存储空间中建立以该维护任务的任务编号为名称的独立存储单元,在该维护任务的独立存储单元中存储该维护任务的任务脚本和所要调用的资源,由此该维护任务的独立存储单元被封装成为该维护任务的任务模块,该维护任务的任务脚本是该维护任务的任务模块的调用接口;在需要对计算机集群的全部计算机进行一轮维护工作时,确定本轮维护工作的任务周期中计算机集群执行的全部维护任务的任务编号组成的序列,称为该任务周期的任务模板;其中,任务模板包括与基本任务、常用任务、更新任务和单点任务分别对应的基本任务模板、常用任务模板、更新任务模板和单点任务模板;
计算机集群的每台目标计算机,用于从网络侧服务器获取该任务周期的任务模板,并根据该任务周期的任务模板中全部维护任务的任务编号和在前各个任务周期的执行完成的维护任务的任务编号,确定该任务周期待执行的所有维护任务的任务编号组成的序列,称为执行队列,以及按照执行队列中的维护任务的任务编号的顺序,从网络侧服务器的所述共享存储空间中通过索引所述执行队列中每个维护任务的任务编号找到每个维护任务的任务模块,并通过执行已找到的每个维护任务的任务模块中的任务脚本,调用每个维护任务的任务模块中的资源,从而通过依次迭代调用所述执行队列中每个维护任务的任务模块中的任务脚本及对应资源,实现自动化维护任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911126393.XA CN112817808B (zh) | 2019-11-18 | 2019-11-18 | 一种计算机集群维护任务管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911126393.XA CN112817808B (zh) | 2019-11-18 | 2019-11-18 | 一种计算机集群维护任务管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817808A CN112817808A (zh) | 2021-05-18 |
CN112817808B true CN112817808B (zh) | 2024-04-19 |
Family
ID=75852250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911126393.XA Active CN112817808B (zh) | 2019-11-18 | 2019-11-18 | 一种计算机集群维护任务管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817808B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115401694A (zh) * | 2022-08-31 | 2022-11-29 | 歌尔股份有限公司 | 三轴机械手的控制方法、装置、终端设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183520A (zh) * | 2015-09-21 | 2015-12-23 | 赵伟 | 计算机软件远程自动化装调方法及系统 |
CN106844043A (zh) * | 2016-12-29 | 2017-06-13 | 北京五八信息技术有限公司 | 集群任务的处理方法和装置 |
CN107480041A (zh) * | 2016-06-07 | 2017-12-15 | 中兴通讯股份有限公司 | 一种大数据的任务自动化测试方法和系统 |
CN109144744A (zh) * | 2017-06-28 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 任务处理系统、方法和装置 |
CN109634733A (zh) * | 2018-12-13 | 2019-04-16 | 成都四方伟业软件股份有限公司 | 任务调度管理方法、装置及运维管理服务器 |
CN109783214A (zh) * | 2018-12-29 | 2019-05-21 | 广州供电局有限公司 | 任务调度控制系统 |
CN110321202A (zh) * | 2018-03-29 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 任务处理方法及装置 |
-
2019
- 2019-11-18 CN CN201911126393.XA patent/CN112817808B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183520A (zh) * | 2015-09-21 | 2015-12-23 | 赵伟 | 计算机软件远程自动化装调方法及系统 |
CN107480041A (zh) * | 2016-06-07 | 2017-12-15 | 中兴通讯股份有限公司 | 一种大数据的任务自动化测试方法和系统 |
CN106844043A (zh) * | 2016-12-29 | 2017-06-13 | 北京五八信息技术有限公司 | 集群任务的处理方法和装置 |
CN109144744A (zh) * | 2017-06-28 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 任务处理系统、方法和装置 |
CN110321202A (zh) * | 2018-03-29 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 任务处理方法及装置 |
CN109634733A (zh) * | 2018-12-13 | 2019-04-16 | 成都四方伟业软件股份有限公司 | 任务调度管理方法、装置及运维管理服务器 |
CN109783214A (zh) * | 2018-12-29 | 2019-05-21 | 广州供电局有限公司 | 任务调度控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112817808A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540335B2 (en) | Solution to generate a scriptset for an automated database migration | |
CN1326044C (zh) | 一种基于脚本解释工具的自动化软件测试系统 | |
CN102236672B (zh) | 一种数据导入方法及装置 | |
Baier et al. | Bridging abstraction layers in process mining by automated matching of events and activities | |
CN110019138B (zh) | 一种基于Zabbix的传输表空间自动迁移方法和系统 | |
CN103441900A (zh) | 集中式跨平台自动化测试系统及其控制方法 | |
US20080177711A1 (en) | Build Automation and Verification for Modular Servers | |
CN112817808B (zh) | 一种计算机集群维护任务管理方法及系统 | |
US20050144596A1 (en) | Method and apparatus for parallel action processing | |
Gonultas et al. | Run-time calculation of COSMIC functional size via automatic installment of measurement code into Java business applications | |
CN117422434A (zh) | 一种智慧运维调度平台 | |
CN113641739B (zh) | 一种基于Spark的智能数据转换方法 | |
CN111782618B (zh) | 一种数据同步系统 | |
CN113687927A (zh) | Flume任务调度配置方法、装置、设备及存储介质 | |
CN101281624B (zh) | 管理软件的导入方法、预置管理软件的硬件及其导入方法 | |
CN111177239B (zh) | 一种基于hdp大数据集群的统一日志处理方法及系统 | |
CN116400950A (zh) | 一种基于版本控制的DevOps元流水线系统 | |
CN115951970A (zh) | 一种异构多仿真软件集成开发环境 | |
CN111708677B (zh) | 一种云计算环境下的云硬盘使用量采集方法 | |
CN114661693A (zh) | 数据审计的实现方法、存储介质、电子设备及系统 | |
US8631391B2 (en) | Method and a system for process discovery | |
CN113568842A (zh) | 一种批量任务自动化测试方法及系统 | |
CN112613792A (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
Tadano et al. | Automatic synthesis of SRN models from system operation templates for availability analysis | |
CN117591132B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |