CN116340105A - 任务的监控方法、监控系统与电子设备 - Google Patents

任务的监控方法、监控系统与电子设备 Download PDF

Info

Publication number
CN116340105A
CN116340105A CN202310323575.6A CN202310323575A CN116340105A CN 116340105 A CN116340105 A CN 116340105A CN 202310323575 A CN202310323575 A CN 202310323575A CN 116340105 A CN116340105 A CN 116340105A
Authority
CN
China
Prior art keywords
task
monitoring
target
tasks
target task
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
CN202310323575.6A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310323575.6A priority Critical patent/CN116340105A/zh
Publication of CN116340105A publication Critical patent/CN116340105A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring 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

任务的监控方法、监控系统与电子设备
技术领域
本申请实施例涉及云计算领域,具体而言,涉及一种任务的监控方法、监控系统与电子设备。
背景技术
随着科技的进步与时代的发展,人类进入了一个全新的时代,即云计算时代。云计算是与信息技术、软件以及互联网相关的一种服务,这种计算资源共享池叫做“云”。云计算把许多计算资源集合起来,为用户提供一种云服务。随着业务的不断拓展,云服务使用者在云服务提供商处,购买或使用较多的虚拟资源。对于云服务使用者来说,每一个虚拟资源相当于一个服务器。而实际的应用过程中,服务器运行着各种各样的服务、任务、程序等等。
对于云服务提供商来说,大数量的服务器以及对应着的大数量的任务以及程序等等,监控其的运行状态是一件较为复杂的事情。
因此,亟需一种能够对任务进行统一监控的方法。
发明内容
本申请实施例提供了一种任务的监控方法、监控系统与电子设备,以至少解决相关技术中难以对云计算中的多个任务进行统一监控的问题。
根据本申请的一个实施例,提供了一种任务的监控方法,包括:监控步骤,对任务列表中的多个任务进行遍历,以得到目标任务,所述目标任务的当前监控程序数量小于最大监控程序数量以及任务状态为待扫描状态;创建步骤,基于所述目标任务的任务类型,创建监控所述目标任务的子进程,所述任务类型包括以下之一:本地任务、远程任务;控制步骤,控制所述子进程执行所述目标任务的监控命令,以对所述目标任务进行监控,所述监控命令用于对目标功能进行监控,所述目标功能为所述目标任务对应的服务器的功能,且所述目标功能包括以下之一:网络状态、服务器状态。
在一个示例性实施例中,所述任务列表以链表的形式进行存储,对任务列表中的多个任务进行遍历,以得到目标任务,包括:每间隔第一预定时间,从所述任务列表中的第一个所述任务开始,确定第一个所述任务的任务状态是否为待扫描状态;在第一个所述任务的任务状态为待扫描状态的情况下,确定第一个所述任务的所述当前监控程序数量是否小于所述最大监控程序数量,在第一个所述任务的任务状态不为待扫描状态的情况下,对下一个所述任务进行判断,直到对所述任务列表中的所有任务均遍历完成;在第一个所述任务的所述当前监控程序数量小于所述最大监控程序数量的情况下,将第一个所述任务确定为所述目标任务,在第一个所述任务的所述当前监控程序数量大于或者等于所述最大监控程序数量的情况下,则对下一个所述任务进行判断,直到对所述任务列表中的所有任务均遍历完成。
在一个示例性实施例中,基于所述目标任务的任务类型,创建监控所述目标任务的子进程,包括:在所述目标任务的任务类型为所述本地任务的情况下,确定与所述目标任务的IP地址是否相同,在相同的情况下,创建监控所述目标任务的所述子进程,在不相同的情况下,依次执行所述监控步骤、所述创建步骤以及所述控制步骤至少一次;在所述目标任务的任务类型为所述远程任务的情况下,创建监控所述目标任务的所述子进程,并控制所述子进程执行目标动作,所述目标动作包括以下之一:通过SSH登录所述目标任务对应的服务、所述子进程监测所述目标任务的IP地址、所述子进程监测所述目标任务的端口号。
在一个示例性实施例中,控制所述子进程执行所述目标任务的监控命令,以对所述目标任务进行监控,包括:控制所述子进程间隔第二预定时间执行一次所述目标任务的监控命令;在未监控到所述目标任务异常的情况下,继续控制所述子进程间隔预定时间执行一次所述目标任务的监控命令;在连续预定次数监控到所述目标任务异常的情况下,对所述目标任务的当前错误数量进行更新并停止对所述目标任务进行监测。
在一个示例性实施例中,在控制所述子进程间隔第二预定时间执行一次所述目标任务的监控命令之后,所述监控方法还包括:确定所述目标任务的所述当前错误数量是否大于或者等于最大错误数量;在所述目标任务的所述当前错误数量大于或者等于所述最大错误数量的情况下,执行所述目标任务对应的错误处理动作,所述错误处理动作至少包括以下之一:邮件通知、短信通知、日志记录、电话通知;在所述目标任务的所述当前错误数量小于所述最大错误数量的情况下,控制所述目标任务对应的所述子进程继续对所述目标任务进行监测。
在一个示例性实施例中,在连续预定次数监控到所述目标任务异常的情况下,对所述目标任务的当前错误数量进行更新并停止对所述目标任务进行监测之后,所述监控方法还包括:对监控系统的当前监测任务的数量进行更新,并继续依次执行所述监控步骤、所述创建步骤以及所述控制步骤至少一次。
在一个示例性实施例中,在对任务列表中的多个任务进行遍历,以得到目标任务之前,所述监控方法还包括:确定监控系统的当前监测任务的数量是否大于或者等于最大监测数量;在所述监控系统的所述当前监测任务的数量大于或者等于所述最大监测数量的情况下,不再对所述任务列表中的多个所述任务进行遍历;在所述监控系统的所述当前监测任务的数量小于所述最大监测数量的情况下,对所述任务列表中的多个所述任务进行遍历。
在一个示例性实施例中,在控制所述子进程执行所述目标任务的监控命令,以对所述目标任务进行监控之后,所述监控方法还包括:对所述目标任务的时间戳链表进行更新,所述时间戳链表至少包括所述子进程的ID以及所述子进程创建的时间戳;基于所述目标任务的所述时间戳链表,对所述目标任务的所述当前监控程序数量进行校验;在所述目标任务的所述时间戳链表中的监测程序的数量与所述当前监控程序数量不相同的情况下,将所述时间戳链表中的监测程序的数量更新为所述当前监控程序数量。
根据本申请的另一个实施例,提供了一种任务的监控系统,所述监控系统包括多个发布者模块、中间平台,多个订阅者模块,所述发布者模块用于将任务发布至所述中间平台,所述中间平台用于对包括多个所述任务的任务列表进行维护,所述订阅者模块,用于监控步骤,对任务列表中的多个任务进行遍历,以得到目标任务,所述目标任务的当前监控程序数量小于最大监控程序数量以及任务状态为待扫描状态;所述订阅者模块,还用于创建步骤,基于所述目标任务的任务类型,创建监控所述目标任务的子进程,所述任务类型包括以下之一:本地任务、远程任务;所述订阅者模块,还用于执行控制步骤,控制所述子进程执行所述目标任务的监控命令,以对所述目标任务进行监控,所述监控命令用于对目标功能进行监控,所述目标功能为所述目标任务对应的服务器的功能,且所述目标功能包括以下之一:网络状态、服务器状态。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一种方法实施例中的步骤。
通过本申请,首先,通过对任务列表中的多个任务进行遍历,得到当前监控程序数量小于最大监控程序数量且任务状态为待扫描状态的目标任务;之后,基于该目标任务的任务类型,创建监控该目标任务的子进程;最后,通过对子进程进行控制,以实现对目标任务监控。在该实施例中,目标任务为当前监控程序数量小于最大监控程序数量且任务状态为待扫描状态的一个任务,也就是说,本方案实现了多个监控程序对目标任务进行监控,这样可以避免了单一的监控程序对目标任务进行监控,而导致的误报问题。同时,通过确定符合要求的目标任务,并创建对应的子程序以对目标任务监控,这样较为简单地实现了对多个任务同时进行监控,解决了相关技术中难以对云计算中的多个任务进行统一监控的问题,保证了使用者的维护工作量较少。
附图说明
图1是本申请实施例提供的一种任务的监控方法的移动终端的硬件结构框图;
图2是本申请实施例提供的一种任务的监控方法的流程示意图;
图3是本申请实施例提供的一种任务的监控系统的结构框图;
图4是本申请实施例提供的一种具体实施例的任务的监控系统的结构示意图;
图5是本申请实施例提供的一种具体的订阅者模块获取目标任务以及监测目标任务的流程图。
上述附图包括以下附图标记:
102、处理器;104、存储器;106、传输设备;108、输入输出设备;100、发布者模块;200、中间平台;300、订阅者模块;301、第一订阅者模块;302、第二订阅者模块;303、第三订阅者模块;304、第四订阅者模块;400、第一服务器;500、第二服务器;600、第一目标任务;601、第二目标任务;602、第三目标任务;603、第四目标任务。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种任务的监控方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的任务的监控方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的任务的监控方法,该监控方法应用在监控系统中。图2是根据本申请实施例的任务的监控方法的流程图,如图2所示,该流程图包括如下步骤:
步骤S202,监控步骤,对任务列表中的多个任务进行遍历,以得到目标任务,上述目标任务的当前监控程序数量小于最大监控程序数量以及任务状态为待扫描状态;
具体地,上述的任务列表中包括多个上述任务,而上述每一个任务均包括如下信息:当前监控程序数量、最大监控程序数量、任务状态、任务类型以及监控命令等等。当然,并不限于上述所列举的信息,还可以包括其他任何合适的信息。例如,每一个任务还可以包括任务ID,这样方便对任务进行进一步地管理。
另外,上述所提及的当前监控程序数量,即为已经监控该任务的监控程序或者监控模块的数量;上述所提及的最大监控程序数量,即为该任务最多被多少个监控程序或者多个监控模块监控的数量。上述所提及的任务状态可以为待扫描状态、无需扫描状态以及正在扫描中,即指该任务是否需要被监控程序或者监控模块发现。例如,待扫描状态为需要被监控程序或者监控模块发现,无需扫描状态为无需被监控程序或者监控模块发现,正在扫描中为已经被监控程序或者监控模块发现。
步骤S204,创建步骤,基于上述目标任务的任务类型,创建监控上述目标任务的子进程,上述任务类型包括以下之一:本地任务、远程任务;
在实际的应用过程中,上述本地任务为监控程序或者监控模块只能在本地监控的任务;上述远程任务,监控程序或者监控模块可以在本地进行监控,也可以进行远程监控。
步骤S206,控制步骤,控制上述子进程执行上述目标任务的监控命令,以对上述目标任务进行监控,上述监控命令用于对目标功能进行监控,上述目标功能为上述目标任务对应的服务器的功能,且上述目标功能包括以下之一:网络状态、服务器状态。
在上述步骤S206中,上述监控命令即为采用什么命令或者方式对任务进行检测或者监控。
具体地,上述网络状态可以为防火墙状态,上述服务器状态可以为服务器是否启动的状态。
通过上述的实施例,首先,通过对任务列表中的多个任务进行遍历,得到当前监控程序数量小于最大监控程序数量且任务状态为待扫描状态的目标任务;之后,基于该目标任务的任务类型,创建监控该目标任务的子进程;最后,通过对子进程进行控制,以实现对目标任务监控。在该实施例中,目标任务为当前监控程序数量小于最大监控程序数量且任务状态为待扫描状态的一个任务,也就是说,本方案实现了多个监控程序对目标任务进行监控,这样可以避免了单一的监控程序对目标任务进行监控,而导致的误报问题。同时,通过确定符合要求的目标任务,并创建对应的子程序以对目标任务监控,这样较为简单地实现了对多个任务同时进行监控,解决了相关技术中难以对云计算中的多个任务进行统一监控的问题,保证了使用者的维护工作量较少。
为了较为准确和快速地得到满足条件的目标任务,在一些实施例中,上述步骤S202还可以通过以下方式实现。具体地,上述任务列表以链表的形式进行存储,上述步骤S202还包括步骤S2021、步骤S2022以及步骤S2023。其中,步骤S2021,每间隔第一预定时间,从上述任务列表中的第一个上述任务开始,确定第一个上述任务的任务状态是否为待扫描状态;步骤S2022,在第一个上述任务的任务状态为待扫描状态的情况下,确定第一个上述任务的上述当前监控程序数量是否小于上述最大监控程序数量,在第一个上述任务的任务状态不为待扫描状态的情况下,对下一个上述任务进行判断,直到对上述任务列表中的所有任务均遍历完成;步骤S2023,在第一个上述任务的上述当前监控程序数量小于上述最大监控程序数量的情况下,将第一个上述任务确定为上述目标任务,在第一个上述任务的上述当前监控程序数量大于或者等于上述最大监控程序数量的情况下,则对下一个上述任务进行判断,直到对上述任务列表中的所有任务均遍历完成。
具体地,上述的方案中,每间隔第一预定时间,便对任务列表中的多个任务从头到尾的逐一遍历。首先,从第一个任务开始,查看该任务的status字段(即上述所提及任务状态)。如果第一个任务的任务状态为无需扫描状态或者正在扫描中,则继续遍历下一条任务。如果第一个任务的任务状态为待扫描状态,则判断Maxnum字段(即上述所提及到的最大监控程序数量)和Currentnum字段(即上述所提及到的当前监控程序数量)是否相等。如果Maxnum字段与Currentnum字段的数值相等,则表明已有足够的监测程序或者监测模块对该任务进行监测,无需再增加监测程序或者监测模块,则继续获取任务列表中的下一条任务;如果Currentnum字段的数值小于Maxnum字段的数值,则表明仍需要监测程序或者监测模块对任务进行监测。
在实际的应用过程中,上述第一预定时间可以根据实际的情况进行灵活的设置。在本申请中,并不对上述第一预定时间的大小进行限制。本申请的一种具体的实施例中,上述第一预定时间可以为10秒。
另外,上述任务列表中的多个任务并不限于通过链表的形式进行存储,还可以以数组的形式对多个任务进行存储。当然,在以链表的形式对多个任务进行存储的情况下,具体地可以通过单向链表、双向链表或者循环链表的形式进行存储。而具体的使用哪一种存储方式,可以根据对应的监控系统的监控需求进行灵活的设置。
在一些具体的实现过程中,上述步骤S204还可以通过如下步骤来实现:在上述目标任务的任务类型为上述本地任务的情况下,确定与上述目标任务的IP地址是否相同,在相同的情况下,创建监控上述目标任务的上述子进程,在不相同的情况下,依次执行上述监控步骤、上述创建步骤以及上述控制步骤至少一次;在上述目标任务的任务类型为上述远程任务的情况下,创建监控上述目标任务的上述子进程,并控制上述子进程执行目标动作,上述目标动作包括以下之一:通过SSH(安全外壳协议,Secure Shell,简称SSH)登录上述目标任务对应的服务、上述子进程监测上述目标任务的IP(互联网协议地址,InternetProtocol Address,简称IP)地址、上述子进程监测上述目标任务的端口号。在实际的应用过程中,对于任务类型为本地任务的任务,其只能通过任务所在的服务器上的监测程序进行监测,故通过确定监测程序或者监测模块的IP地址与该目标任务的IP地址是否相同,来确定是否可以对该目标任务进行监测。在相同的情况下,则创建监测该目标任务的子进程,若不相同,则重新对任务列表进行遍历,以再次得到目标任务。对于任务类型为远程任务的目标任务,其可以通过在目标任务所在的服务器上的监测程序或者监测模块,或者远程的监测程序或者监测模块进行监测,则可以控制创建的子进程执行目标动作,从而进一步地实现对目标任务的监测,进一步地实现了对多个任务进行统一的监控,进一步地减少了使用者的维护工作。
为了较为及时地发现异常的目标任务,在一些实现方式上,上述步骤S206还可以通过以下步骤来实现:控制上述子进程间隔第二预定时间执行一次上述目标任务的监控命令;在未监控到上述目标任务异常的情况下,继续控制上述子进程间隔预定时间执行一次上述目标任务的监控命令;在连续预定次数监控到上述目标任务异常的情况下,对上述目标任务的当前错误数量进行更新并停止对上述目标任务进行监测,即及时地对该目标任务的异常情况进行上报,后续可以进一步地较为快速地确定出该目标任务的当前错误数量是否大于或者等于最大错误数量。
在上述的实施例中,上述第二预定时间的大小可以根据实际的情况进行灵活的设置。在本申请中,并不对上述第二定时间的大小进行限制。当然,在实际的应用过程中,上述第二预定时间的大小也可以为使用者进行设置的。
在上述的实施例中,连续监控到目标任务异常的次数可以为三次,当然,也不限于为三次,也可以为其他的任何合适的次数。
本申请的一种实施例中,在控制上述子进程间隔第二预定时间执行一次上述目标任务的监控命令之后,上述监控方法还包括:确定上述目标任务的上述当前错误数量是否大于或者等于最大错误数量;在上述目标任务的上述当前错误数量大于或者等于上述最大错误数量的情况下,执行上述目标任务对应的错误处理动作,上述错误处理动作至少包括以下之一:邮件通知、短信通知、日志记录、电话通知;在上述目标任务的上述当前错误数量小于上述最大错误数量的情况下,控制上述目标任务对应的上述子进程继续对上述目标任务进行监测。在该方案中,在目标任务的当前错误数量大于或者等于最大错误数量的情况下,执行对应的错误处理动作,这样可以使得使用者及时知晓服务器的异常情况下,在目标任务的当前错误数量小于最大错误数量的情况下,则继续对目标任务进行监测,这样可以进一步地降低误报率。
在实际的应用过程中,上述错误处理动作并不限于上述所提及的邮件通知、短信通知、日志记录、电话通知等等,还可以执行其他的处理动作,例如,发出报警等等。当然,上述错误处理动作还可以为使用者自行设置的。
具体地,在监控系统停止对其监控的目标任务进行监控之后,则需要及时对其他的当前监测任务的数量进行更新,例如,在停止监控后,将当前监测任务的数量减去一个,在开始对目标任务进行监控的情况下,则将当前监测任务的数量增加一个,这样可以及时地知晓监控系统当前监测任务的数量,故本申请另一种的实施例中,在连续预定次数监控到上述目标任务异常的情况下,对上述目标任务的当前错误数量进行更新并停止对上述目标任务进行监测之后,上述监控方法还包括:对监控系统的当前监测任务的数量进行更新,并继续依次执行上述监控步骤、上述创建步骤以及上述控制步骤至少一次,这样进一步地实现了对任务的统一监控。
为了较为简单地确定出监控系统是否还可以增加新的目标任务的监测,故本申请的又一种实施例中,在对任务列表中的多个任务进行遍历,以得到目标任务之前,上述监控方法还包括:确定监控系统的当前监测任务的数量是否大于或者等于最大监测数量;在上述监控系统的上述当前监测任务的数量大于或者等于上述最大监测数量的情况下,不再对上述任务列表中的多个上述任务进行遍历;在上述监控系统的上述当前监测任务的数量小于上述最大监测数量的情况下,对上述任务列表中的多个上述任务进行遍历。
在一些实施例中,在控制上述子进程执行上述目标任务的监控命令,以对上述目标任务进行监控之后,上述监控方法还包括:对上述目标任务的时间戳链表进行更新,上述时间戳链表至少包括上述子进程的ID以及上述子进程创建的时间戳;基于上述目标任务的上述时间戳链表,对上述目标任务的上述当前监控程序数量进行校验;在上述目标任务的上述时间戳链表中的监测程序的数量与上述当前监控程序数量不相同的情况下,将上述时间戳链表中的监测程序的数量更新为上述当前监控程序数量,这样保证了目标任务的当前监测程序的数量较为准确,进一步地降低了误报率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例上述的方法。
在本实施例中还提供了一种任务的监控系统,该监控系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本申请实施例的任务的监控系统的结构示意图,如图3所示,该监控系统包括多个发布者模块100、中间平台200,多个订阅者模块300,上述发布者模块100用于将任务发布至上述中间平台200,上述中间平台200用于对包括多个上述任务的任务列表进行维护,
上述订阅者模块300,用于监控步骤,对任务列表中的多个任务进行遍历,以得到目标任务,上述目标任务的当前监控程序数量小于最大监控程序数量以及任务状态为待扫描状态;
具体地,上述的任务列表中包括多个上述任务,而上述每一个任务均包括如下信息:当前监控程序数量、最大监控程序数量、任务状态、任务类型以及监控命令等等。当然,并不限于上述所列举的信息,还可以包括其他任何合适的信息。例如,每一个任务还可以包括任务ID,这样方便对任务进行进一步地管理。
另外,上述所提及的当前监控程序数量,即为已经监控该任务的监控程序或者监控模块的数量;上述所提及的最大监控程序数量,即为该任务最多被多少个监控程序或者多个监控模块监控的数量。上述所提及的任务状态可以为待扫描状态、无需扫描状态以及正在扫描中,即指该任务是否需要被监控程序或者监控模块发现。例如,待扫描状态为需要被监控程序或者监控模块发现,无需扫描状态为无需被监控程序或者监控模块发现,正在扫描中为已经被监控程序或者监控模块发现。
另外,上述所提及到的监测程序或者监控模块均可以称之为订阅者模块。
上述订阅者模块,还用于创建步骤,基于上述目标任务的任务类型,创建监控上述目标任务的子进程,上述任务类型包括以下之一:本地任务、远程任务;
在实际的应用过程中,上述本地任务为监控程序或者监控模块只能在本地监控的任务;上述远程任务,监控程序或者监控模块可以在本地进行监控,也可以进行远程监控。
上述订阅者模块300,还用于执行控制步骤,控制上述子进程执行上述目标任务的监控命令,以对上述目标任务进行监控,上述监控命令用于对目标功能进行监控,上述目标功能为上述目标任务对应的服务器的功能,且上述目标功能包括以下之一:网络状态、服务器状态。
上述监控命令即为采用什么命令或者方式对任务进行检测或者监控。
具体地,上述网络状态可以为防火墙状态,上述服务器状态可以为服务器是否启动的状态。
通过上述的实施例,订阅者模块通过对任务列表中的多个任务进行遍历,得到当前监控程序数量小于最大监控程序数量且任务状态为待扫描状态的目标任务;再基于该目标任务的任务类型,创建监控该目标任务的子进程;并通过对子进程进行控制,以实现对目标任务监控。在该监控系统中,目标任务为当前监控程序数量小于最大监控程序数量且任务状态为待扫描状态的一个任务,也就是说,本监控系统实现了多个监控程序对目标任务进行监控,这样可以避免了单一的监控程序对目标任务进行监控,而导致的误报问题。同时,通过确定符合要求的目标任务,并创建对应的子程序以对目标任务监控,这样较为简单地实现了对多个任务同时进行监控,解决了相关技术中难以对云计算中的多个任务进行统一监控的问题,保证了使用者的维护工作量较少。
在上述的监控系统中,如图3所示,该监控系统包括多个发布者模块100、中间平台200以及多个订阅者模块300,上述发布者模块100用于将任务发布至上述中间平台200,上述中间平台200用于对包括多个上述任务的任务列表进行维护,上述订阅者模块300用于从中间平台200维护的任务列表中获取目标任务,并目标任务进行监测。在该监控系统中为了避免单一监控任务,导致的误报问题,实现了通过多个订阅者模块300对一个目标任务进行检测。例如,如图4所示,第一订阅者模块301以及第二订阅者模块302对第一服务器400中的第一目标任务600进行监测。第二订阅者模块302、第三订阅者模块303以及第四订阅者模块304对第一服务器400中的第二目标任务601进行监测。第三订阅者模块303以及第四订阅者模块304对第二服务器500中的第三目标任务602进行监测。第四订阅者模块304对第二服务器500中的第四目标任务603进行监测。另外,需要说明的是,上述图4所示的实施例中,并不是限于三个订阅者模块同时对第二目标任务601进行监测。对于其中一个任务,在被监测的订阅者模块未达到最大监控程序数量的情况下,则在订阅者模块进行遍历时,该任务可以及时地被订阅者模块进行选择。
具体地,在使用者通过发布者模块发布待监测的任务时,使用者发送的任务需要携带以下字段:Type字段(任务类型)、IP地址字段(任务所属的IP地址)、Port字段(该任务所属的端口号)、Command字段(监控命令)、Time字段(任务的监测频率)、Maxnum字段(最大监控程序数量)、Errornum字段(最大错误数量)以及Errorhandle字段(错误处理动作)。其中,Command字段为使用者定制的任务监控命令,如监控防火墙的状态,Command字段可为“systemctl status firewalld”;如判断主机是否启动的状态,Command字段可为“pingxx.xx.xx.xx”。Errorhandle字段,为错误处理动作。当中间平台监测到该任务的当前错误数量大于或者等于最大错误数量的情况下,如何处理。例如,可以是发送邮件通知、短信通知等等,也可不做任何操作,仅记录日志,具体可以基于不同的任务的敏感程度发送邮件通知、短信通知、记录日志等。
具体地,中间平台可以以链表的方式,维护一个任务列表。使用者通过发布者模块,将待监控的任务发布到中间平台上,等待订阅者模块获取任务信,并对任务进行监控,以获取任务状态。对于上述任务列表,任务列表中的各个任务均包括如下内容:ID字段(任务的ID)、Status字段(任务状态)、Type字段(任务类型)、IP地址字段(任务所属的IP地址)、Port字段(该任务所属的端口号)、Command字段(监控命令)、Time字段(任务的监测频率)、Maxnum字段(最大监控程序数量)、Currentnum字段(当前监控程序数量)、Errornum字段(最大错误数量)、Currenterror字段(当前错误数量)、Errorhandle字段(错误处理动作),例如,skip(跳过,不做任何处理)、log(记录日志)、callback(调用回调函数进行任务异常信息的报告,如邮件通知、短信通知等);Timestamp字段(时间戳链表),其用于记录最近Maxnum*3次的监测程序的IP+子进程ID+时间戳;Next(下一条任务的地址)。链表的下一条数据,最后一条数据指向NULL。对于中间平台设置有一个定时任务,每隔第三预定时间,遍历一遍任务列表中的所有任务,以判断任务的状态。判断的内容包括:
1)、判断Currenterror字段的数值是否已超过Errornum字段的数值。如果已超过,则判定此任务出现状态异常,调用Errorhandle做错误处理,并更新Status字段为无需扫描;
2)、根据Timestamp信息,判定实际对任务进程监测的监测程序数量,如果监测程序数量与Currentnum字段不一致,则更新Currentnum字段为实际监测程序数量。
具体地,订阅者模块负责对任务进行实际的状态监测,并报告给中间平台。订阅者模块可以任意部署,既可以部署在发布者模块所在主机上,也可以部署在中间平台所在主机上,还可以部署在任务所在主机上。订阅者模块存在很多个,故需要多地部署,多个订阅者模块对任务进行监测,这样可以避免单一监测程序故障导致的单点误报问题。订阅者模块存在两类定时任务:获取任务定时任务和任务监测定时任务。
对于获取任务定时任务,订阅者模块用于每间隔第一预定时间,从上述任务列表中的第一个上述任务开始,确定第一个上述任务的任务状态是否为待扫描状态;在第一个上述任务的任务状态为待扫描状态的情况下,确定第一个上述任务的上述当前监控程序数量是否小于上述最大监控程序数量,在第一个上述任务的任务状态不为待扫描状态的情况下,对下一个上述任务进行判断,直到对上述任务列表中的所有任务均遍历完成;在第一个上述任务的上述当前监控程序数量小于上述最大监控程序数量的情况下,将第一个上述任务确定为上述目标任务,在第一个上述任务的上述当前监控程序数量大于或者等于上述最大监控程序数量的情况下,则对下一个上述任务进行判断,直到对上述任务列表中的所有任务均遍历完成,这样可以使得订阅者模块(也即为监测程序或者检测模块)可以较为准确和快速地得到满足条件的目标任务。
具体地,上述的方案中,每间隔第一预定时间,便对任务列表中的多个任务从头到尾的逐一遍历。首先,从第一个任务开始,查看该任务的status字段(即上述所提及任务状态)。如果第一个任务的任务状态为无需扫描状态或者正在扫描中,则继续遍历下一条任务。如果第一个任务的任务状态为待扫描状态,则判断Maxnum字段(即上述所提及到的最大监控程序数量)和Currentnum字段(即上述所提及到的当前监控程序数量)是否相等。如果Maxnum字段与Currentnum字段的数值相等,则表明已有足够的监测程序或者监测模块对该任务进行监测,无需再增加监测程序或者监测模块,则继续获取任务列表中的下一条任务;如果Currentnum字段的数值小于Maxnum字段的数值,则表明仍需要监测程序或者监测模块对任务进行监测。
在实际的应用过程中,上述第一预定时间可以根据实际的情况进行灵活的设置。在本申请中,并不对上述第一预定时间的大小进行限制。本申请的一种具体的实施例中,上述第一预定时间可以为10秒。
另外,上述任务列表中的多个任务并不限于通过链表的形式进行存储,还可以以数组的形式对多个任务进行存储。当然,在以链表的形式对多个任务进行存储的情况下,具体地可以通过单向链表、双向链表或者循环链表的形式进行存储。而具体的使用哪一种存储方式,可以根据对应的监控系统的监控需求进行灵活的设置。
对于任务监测定时任务,具体过程如下:订阅者模块用于在上述目标任务的任务类型为上述本地任务的情况下,确定与上述目标任务的IP地址是否相同,在相同的情况下,创建监控上述目标任务的上述子进程,在不相同的情况下,依次执行上述监控步骤、上述创建步骤以及上述控制步骤至少一次;在上述目标任务的任务类型为上述远程任务的情况下,创建监控上述目标任务的上述子进程,并控制上述子进程执行目标动作,上述目标动作包括以下之一:通过SSH登录上述目标任务对应的服务、上述子进程监测上述目标任务的IP地址、上述子进程监测上述目标任务的端口号。在实际的应用过程中,对于任务类型为本地任务的任务,其只能通过任务所在的服务器上的监测程序进行监测,故通过确定监测程序或者监测模块的IP地址与该目标任务的IP地址是否相同,来确定是否可以对该目标任务进行监测。在相同的情况下,则创建监测该目标任务的子进程,若不相同,则重新对任务列表进行遍历,以再次得到目标任务。对于任务类型为远程任务的目标任务,其可以通过在目标任务所在的服务器上的监测程序或者监测模块,或者远程的监测程序或者监测模块进行监测,则可以控制创建的子进程执行目标动作,从而进一步地实现对目标任务的监测,进一步地实现了对多个任务进行统一的监控,进一步地减少了使用者的维护工作。
为了较为及时地发现异常的目标任务,订阅者模块控制上述子进程间隔第二预定时间执行一次上述目标任务的监控命令;在未监控到上述目标任务异常的情况下,继续控制上述子进程间隔预定时间执行一次上述目标任务的监控命令;在连续预定次数监控到上述目标任务异常的情况下,对上述目标任务的当前错误数量进行更新并停止对上述目标任务进行监测,即及时地对该目标任务的异常情况进行上报,后续可以进一步地较为快速地确定出该目标任务的当前错误数量是否大于或者等于最大错误数量。
在上述的实施例中,上述第二预定时间的大小可以根据实际的情况进行灵活的设置。在本申请中,并不对上述第二定时间的大小进行限制。当然,在实际的应用过程中,上述第二预定时间的大小也可以为使用者进行设置的。
在上述的实施例中,连续监控到目标任务异常的次数可以为三次,当然,也不限于为三次,也可以为其他的任何合适的次数。
中间平台用于在控制上述子进程间隔第二预定时间执行一次上述目标任务的监控命令之后,确定上述目标任务的上述当前错误数量是否大于或者等于最大错误数量;在上述目标任务的上述当前错误数量大于或者等于上述最大错误数量的情况下,执行上述目标任务对应的错误处理动作,上述错误处理动作至少包括以下之一:邮件通知、短信通知、日志记录、电话通知;在上述目标任务的上述当前错误数量小于上述最大错误数量的情况下,控制上述目标任务对应的上述子进程继续对上述目标任务进行监测。在该方案中,在目标任务的当前错误数量大于或者等于最大错误数量的情况下,执行对应的错误处理动作,这样可以使得使用者及时知晓服务器的异常情况下,在目标任务的当前错误数量小于最大错误数量的情况下,则继续对目标任务进行监测,这样可以进一步地降低误报率。
在实际的应用过程中,上述错误处理动作并不限于上述所提及的邮件通知、短信通知、日志记录、电话通知等等,还可以执行其他的处理动作,例如,发出报警等等。当然,上述错误处理动作还可以为使用者自行设置的。
具体地,在监控系统停止对其监控的目标任务进行监控之后,则需要及时对其他的当前监测任务的数量进行更新,例如,在停止监控后,将当前监测任务的数量减去一个,在开始对目标任务进行监控的情况下,则将当前监测任务的数量增加一个,这样可以及时地知晓监控系统当前监测任务的数量,故订阅者模块还用于在连续预定次数监控到上述目标任务异常的情况下,对上述目标任务的当前错误数量进行更新并停止对上述目标任务进行监测之后,对自身的当前监测任务的数量进行更新,并继续依次执行上述监控步骤、上述创建步骤以及上述控制步骤至少一次,这样进一步地实现了对任务的统一监控。
为了较为简单地确定出订阅者模块是否还可以增加新的目标任务的监测,订阅者模块还用于在对任务列表中的多个任务进行遍历,以得到目标任务之前,确定自身的当前监测任务的数量是否大于或者等于最大监测数量;在上述当前监测任务的数量大于或者等于上述最大监测数量的情况下,不再对上述任务列表中的多个上述任务进行遍历;在上述当前监测任务的数量小于上述最大监测数量的情况下,对上述任务列表中的多个上述任务进行遍历。
中间平台还用于在控制上述子进程执行上述目标任务的监控命令,以对上述目标任务进行监控之后,对上述目标任务的时间戳链表进行更新,上述时间戳链表至少包括上述子进程的ID以及上述子进程创建的时间戳;基于上述目标任务的上述时间戳链表,对上述目标任务的上述当前监控程序数量进行校验;在上述目标任务的上述时间戳链表中的监测程序的数量与上述当前监控程序数量不相同的情况下,将上述时间戳链表中的监测程序的数量更新为上述当前监控程序数量,这样保证了目标任务的当前监测程序的数量较为准确,进一步地降低了误报率。
本申请的一种具体的实施例中,如图5所示,订阅者模块执行获取任务定时任务以及任务监测定时任务的具体过程如下:
步骤S1:一个订阅者模块在获取任务前,先判断自身的当前监测任务的数量Tasknum,是否已经超过最大监测数量MaxTaskNum(最大监测数量可配置)。如果已等于或超过,则该订阅者模块不再获取任务,否则继续去中间平台获取目标任务。
步骤S2:该订阅者模块在中间平台维护的任务列表中,按顺序从头到尾一条条遍历任务。在获取到第一个任务后,先查看该任务的Status字段,如果Status字段为无需扫描或正在扫描中,获取下一条任务信息;如果status字段为待扫描状态,则判断该任务的Maxnum字段和Currentnum字段是否相等。如果相等,则表明已有足够的订阅者模块(即称之为监测程序或者监测模块)对任务进行监测,无需再增加订阅者模块,并继续获取任务列表中的下一条任务;如果Currentnum字段小于Maxnum字段的数值,则表明仍需要订阅者模块对该任务进行监测,故将该任务确定为目标任务。
步骤S3:订阅者模块判断该目标任务的任务类型,即Type字段。如果任务类型为本地任务,则表明该任务只能通过任务所在服务器上的订阅者模块进行监测,这种情况下便需要订阅者模块判断自身的IP地址和目标任务所在的服务的IP地址是否相同,如果相同则对其进行监测,如果不同,则继续从中间平台维护的任务列表中获取任务。如果目标任务的任务类型为远程任务,则表明该目标任务可以既可以通过本地,也通过远程的方式进行监测,故订阅者模块可以的子进程可以执行目标动作,即使用SSH登录目标任务所在服务器,或者监测目标任务的IP地址,或者监测目标任务的Port。
步骤S4:获取到待监测的目标任务的相关信息后,订阅者模块创建一个子进程,且每隔time字段定义的时间,执行一次Command命令。执行完成后,根据目标任务的ID字段,找到中间平台的任务列表中的该条任务的Timestamp字段并进行回写,这样中间平台能够判断具体有多少个订阅者模块对任务进行监测。如果任务状态正常,则继续该目标任务进行循环监测;如果连续三次目标任务异常,则订阅者模块判定任务异常,并回写目标任务的Currenterror字段,以Currenterror字段加1的方式进行实现,报告中间平台该目标任务对应任务异常,这样当Currenterror字段值大于或者等于Errornum字段值时,中间平台则能够判定该目标任务确实存在异常了。
步骤S5:当订阅者模块报告该目标任务异常后,则不再对该目标任务进行监测;同时,将自身已经获取到的当前监测任务的数量Tasknum减1,继续去中间平台获取任务,并进行下一轮任务的监测。
本申请的任务的监控系统,为一个多发布者多订阅者的任务监控管理系统,即通过发布者-订阅者模式,并定制监控条件的方式,来管理待监控的多个任务的状态。使用者在使用的时候,将监控条件通过发布者模块发布到中间平台上,订阅者模块在中间平台上获取监控条件,执行监控命令,达到监控任务的目的。本申请的监控系统使用多路监控的方式,可避免单一监控任务带来的误报问题;以及实现了同时对多任务进行监控,大大减少了使用者的维护工作。具有以下有益效果:
1)、误报率低。多个订阅者模块同时对目标任务进行监测,避免了单一监测程序(即订阅者模块)故障导致的单点误报问题。
2)、便利性高。同时对多任务进行监控,大大减少了使用者的维护工作。
3)、可扩展性高。本申请的监控系统,通过管理服务器资源的插件的框架,以自定义任务信息的方式来提供任务监测的功能,只要符合中间平台任务信息框架的要求,均可以本申请的监控系统所识别并执行任务监测。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一种方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一种方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种任务的监控方法,其特征在于,包括:
监控步骤,对任务列表中的多个任务进行遍历,以得到目标任务,所述目标任务的当前监控程序数量小于最大监控程序数量以及任务状态为待扫描状态;
创建步骤,基于所述目标任务的任务类型,创建监控所述目标任务的子进程,所述任务类型包括以下之一:本地任务、远程任务;
控制步骤,控制所述子进程执行所述目标任务的监控命令,以对所述目标任务进行监控,所述监控命令用于对目标功能进行监控,所述目标功能为所述目标任务对应的服务器的功能,且所述目标功能包括以下之一:网络状态、服务器状态。
2.根据权利要求1所述的监控方法,其特征在于,所述任务列表以链表的形式进行存储,对任务列表中的多个任务进行遍历,以得到目标任务,包括:
每间隔第一预定时间,从所述任务列表中的第一个所述任务开始,确定第一个所述任务的任务状态是否为待扫描状态;
在第一个所述任务的任务状态为待扫描状态的情况下,确定第一个所述任务的所述当前监控程序数量是否小于所述最大监控程序数量,在第一个所述任务的任务状态不为待扫描状态的情况下,对下一个所述任务进行判断,直到对所述任务列表中的所有任务均遍历完成;
在第一个所述任务的所述当前监控程序数量小于所述最大监控程序数量的情况下,将第一个所述任务确定为所述目标任务,在第一个所述任务的所述当前监控程序数量大于或者等于所述最大监控程序数量的情况下,则对下一个所述任务进行判断,直到对所述任务列表中的所有任务均遍历完成。
3.根据权利要求1所述的监控方法,其特征在于,基于所述目标任务的任务类型,创建监控所述目标任务的子进程,包括:
在所述目标任务的任务类型为所述本地任务的情况下,确定与所述目标任务的IP地址是否相同,在相同的情况下,创建监控所述目标任务的所述子进程,在不相同的情况下,依次执行所述监控步骤、所述创建步骤以及所述控制步骤至少一次;
在所述目标任务的任务类型为所述远程任务的情况下,创建监控所述目标任务的所述子进程,并控制所述子进程执行目标动作,所述目标动作包括以下之一:通过SSH登录所述目标任务对应的服务、所述子进程监测所述目标任务的IP地址、所述子进程监测所述目标任务的端口号。
4.根据权利要求1所述的监控方法,其特征在于,控制所述子进程执行所述目标任务的监控命令,以对所述目标任务进行监控,包括:
控制所述子进程间隔第二预定时间执行一次所述目标任务的监控命令;
在未监控到所述目标任务异常的情况下,继续控制所述子进程间隔预定时间执行一次所述目标任务的监控命令;
在连续预定次数监控到所述目标任务异常的情况下,对所述目标任务的当前错误数量进行更新并停止对所述目标任务进行监测。
5.根据权利要求4所述的监控方法,其特征在于,在控制所述子进程间隔第二预定时间执行一次所述目标任务的监控命令之后,所述监控方法还包括:
确定所述目标任务的所述当前错误数量是否大于或者等于最大错误数量;
在所述目标任务的所述当前错误数量大于或者等于所述最大错误数量的情况下,执行所述目标任务对应的错误处理动作,所述错误处理动作至少包括以下之一:邮件通知、短信通知、日志记录、电话通知;
在所述目标任务的所述当前错误数量小于所述最大错误数量的情况下,控制所述目标任务对应的所述子进程继续对所述目标任务进行监测。
6.根据权利要求4所述的监控方法,其特征在于,在连续预定次数监控到所述目标任务异常的情况下,对所述目标任务的当前错误数量进行更新并停止对所述目标任务进行监测之后,所述监控方法还包括:
对监控系统的当前监测任务的数量进行更新,并继续依次执行所述监控步骤、所述创建步骤以及所述控制步骤至少一次。
7.根据权利要求1至5中任意一项所述的监控方法,其特征在于,在对任务列表中的多个任务进行遍历,以得到目标任务之前,所述监控方法还包括:
确定监控系统的当前监测任务的数量是否大于或者等于最大监测数量;
在所述监控系统的所述当前监测任务的数量大于或者等于所述最大监测数量的情况下,不再对所述任务列表中的多个所述任务进行遍历;
在所述监控系统的所述当前监测任务的数量小于所述最大监测数量的情况下,对所述任务列表中的多个所述任务进行遍历。
8.根据权利要求1至5中任意一项所述的监控方法,其特征在于,在控制所述子进程执行所述目标任务的监控命令,以对所述目标任务进行监控之后,所述监控方法还包括:
对所述目标任务的时间戳链表进行更新,所述时间戳链表至少包括所述子进程的ID以及所述子进程创建的时间戳;
基于所述目标任务的所述时间戳链表,对所述目标任务的所述当前监控程序数量进行校验;
在所述目标任务的所述时间戳链表中的监测程序的数量与所述当前监控程序数量不相同的情况下,将所述时间戳链表中的监测程序的数量更新为所述当前监控程序数量。
9.一种任务的监控系统,其特征在于,所述监控系统包括多个发布者模块、中间平台,多个订阅者模块,所述发布者模块用于将任务发布至所述中间平台,所述中间平台用于对包括多个所述任务的任务列表进行维护,
所述订阅者模块,用于监控步骤,对任务列表中的多个任务进行遍历,以得到目标任务,所述目标任务的当前监控程序数量小于最大监控程序数量以及任务状态为待扫描状态;
所述订阅者模块,还用于创建步骤,基于所述目标任务的任务类型,创建监控所述目标任务的子进程,所述任务类型包括以下之一:本地任务、远程任务;
所述订阅者模块,还用于执行控制步骤,控制所述子进程执行所述目标任务的监控命令,以对所述目标任务进行监控,所述监控命令用于对目标功能进行监控,所述目标功能为所述目标任务对应的服务器的功能,且所述目标功能包括以下之一:网络状态、服务器状态。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至8任一项中所述的任务的监控方法的步骤。
CN202310323575.6A 2023-03-29 2023-03-29 任务的监控方法、监控系统与电子设备 Pending CN116340105A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310323575.6A CN116340105A (zh) 2023-03-29 2023-03-29 任务的监控方法、监控系统与电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310323575.6A CN116340105A (zh) 2023-03-29 2023-03-29 任务的监控方法、监控系统与电子设备

Publications (1)

Publication Number Publication Date
CN116340105A true CN116340105A (zh) 2023-06-27

Family

ID=86880363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310323575.6A Pending CN116340105A (zh) 2023-03-29 2023-03-29 任务的监控方法、监控系统与电子设备

Country Status (1)

Country Link
CN (1) CN116340105A (zh)

Similar Documents

Publication Publication Date Title
US7587638B2 (en) Method and system for generating and monitoring variable load on an application under test
CN106406993A (zh) 一种定时任务管理方法和系统
CN111343009B (zh) 服务告警通知方法及装置、存储介质、电子设备
CN112422684B (zh) 目标消息的处理方法及装置、存储介质、电子装置
CN112202635B (zh) 链路的监控方法、装置、存储介质以及电子装置
GB2418755A (en) Error handling using a structured state tear down
CN104065526A (zh) 一种服务器故障报警的方法和装置
CN115811537A (zh) 资源调整方法、装置、计算机设备和存储介质
US10122602B1 (en) Distributed system infrastructure testing
CN110572315A (zh) 一种信息交互的方法及装置、机器人、存储介质
EP1622310A2 (en) Administration system for network management systems
CN100359865C (zh) 一种检测方法
CN116340105A (zh) 任务的监控方法、监控系统与电子设备
CN116955232A (zh) 一种基于控制系统的硬件识别方法和装置
CN112650815B (zh) 环境数据的同步方法及装置、存储介质及电子装置
CN112437146B (zh) 一种设备状态同步方法、装置及系统
CN114116906A (zh) 数据同步方法、装置、电子装置和存储介质
CN112306845B (zh) 一种并发测试方法、装置、设备及介质
CN113032054A (zh) 一种服务执行方法、装置、存储介质及电子装置
CN109947630B (zh) 一种故障告示方法、装置及存储介质
CN115543491A (zh) 微服务处理方法和装置
CN113965447A (zh) 一种在线云诊断方法、装置、系统、设备及存储介质
CN112799856A (zh) 一种用于获取数据的方法及装置
CN112769889B (zh) 服务数据的推送方法、装置、存储介质以及电子装置
CN116955093B (zh) 一种cpu状态监控方法、装置、系统、设备及存储介质

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