【技术实现步骤摘要】
多进程多线程的监控方法、装置、计算机设备及介质
[0001]本专利技术涉及进程线程监控
,特别涉及一种多进程多线程的监控方法、装置、计算机设备及介质。
技术介绍
[0002]在大型计算机应用系统中,往往存在大量的任务需要处理。在具体实现中,会把任务分解到多个进程去处理,同时每个进程中又包含多个线程。进程实现了系统资源、故障的分离和功能的分割,线程又实现了进程内部任务的并行处理。这些进程和线程协同完成既定的功能。在复杂的多进程多线程系统中,难免会遇到某个进程异常退出,某个线程阻塞、陷入死循环等异常。如果没有相应的监控机制,会导致系统处于长时间部分功能或全部功能失效的状态。
[0003]公开号为CN1996257A、申请号为CN200610170566.4、公开日为2009年09月23日的中国专利中公开了一种对进程进行监控的方法和系统,该方法主要包括:在子进程退出时,系统向所述子进程的父进程发送指定信号,所述指定信号包括进程标识,一个进程标识对应一个子进程;所述父进程根据接收到的所述指定信号识别出所述退出的子进程。 ...
【技术保护点】
【技术特征摘要】
1.一种多进程多线程的监控方法,其特征在于,包括:在主进程中设置第一心跳线程,在各个子进程中设置第二心跳线程和监控线程;通过所述第一心跳线程按照预设心跳周期,向所有子进程的第二心跳线程发送心跳请求,并为每个所述子进程设置对应的预设响应时长;在每个所述子进程中,所述监控线程与所述子进程中的多个工作线程分别进行通信,来监控各个所述工作线程的运行状态,并根据各个所述工作线程的运行状态,判断所述工作线程隶属的子进程的第一运行状态;响应于所述心跳请求,每个所述子进程的第二心跳线程将心跳响应信息发送至所述主进程,其中,所述心跳响应信息包含所述第二心跳线程所属的所述子进程的所述第一运行状态;所述第一心跳线程根据在每个所述子进程对应的预设响应时长内对所述心跳响应信息的接收情况和所述心跳响应信息包括的所述第一运行状态,判断每个所述子进程的最终运行状态。2.如权利要求1所述的多进程多线程的监控方法,其特征在于,所述第一心跳线程根据在每个所述子进程对应的预设响应时长内对所述心跳响应信息的接收情况和所述心跳响应信息包括的所述第一运行状态,判断每个所述子进程的最终运行状态,包括:若所述第一心跳线程在每个所述子进程对应的预设响应时长内接收到所述心跳响应消息,且所述心跳响应消息中的所述第一运行状态为正常,则判断每个所述子进程的最终运行状态为正常;若所述第一心跳线程在每个所述子进程对应的预设响应时长内接收到所述心跳响应消息,且所述心跳响应信息中的所述第一运行状态为故障,则判断每个所述子进程的最终运行状态为故障;若所述第一心跳线程在第一阈值数量个每个所述子进程对应的预设响应时长内未接收到所述心跳响应消息,则判断每个所述子进程的最终运行状态为故障。3.如权利要求2所述的多进程多线程的监控方法,其特征在于,若所述第一心跳线程在第一阈值数量个每个所述子进程对应的预设响应时长内未接收到所述心跳响应消息,则判断每个所述子进程的最终运行状态为故障,包括:所述第一心跳线程为每个所述子进程开启一个心跳超时计数器,当在每个所述子进程对应的预设响应时长内接收到所述心跳响应消息,且所述心跳响应消息中的所述第一运行状态为正常,则对每个所述子进程对应的心跳超时计数器清零;当在每个所述子进程对应的预设响应时长内未接收到所述心跳响应消息,则对每个所述子进程对应的心跳超时计数器加1,当每个所述子进程对应的心跳超时计数器的数值超过所述第一阈值时,判断每个所述子进程的最终运行状态为故障。4.如权利要求1所述的多进程多线程的监控方法,其特征在于,所述监控线程与所述子进程中的多个工作线程分别进行通信,来监控各个所述工作线程的运行状态,并根据各个所述工作线程的运行状态,判断所述工作线程隶属的子进程的第一运行状态,包括:为每个所述工作线程设置对应的共享计数器;每个所述工作线程按照对应的第一预设周期,对自身对应的所述共享计数器清零;所述监控线程按照第二...
【专利技术属性】
技术研发人员:马业龙,陈岚,龚锐,程建伟,
申请(专利权)人:武汉极目智能技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。