[发明专利]一种多线程的监控方法及装置有效
申请号: | 201210023963.4 | 申请日: | 2012-02-03 |
公开(公告)号: | CN103246589A | 公开(公告)日: | 2013-08-14 |
发明(设计)人: | 陈炳锐;赖福琪;方彬浩 | 申请(专利权)人: | 京信通信系统(中国)有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭红丽 |
地址: | 510663 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线程 监控 方法 装置 | ||
技术领域
本发明涉及多线程技术领域,尤其涉及一种多线程的监控方法及装置。
背景技术
随着科技的发展,对系统的功能需求越来越多,系统的复杂度也随之倍增,为了满足系统的功能性需求,会在系统中使用多线程技术。在一个复杂的多线程系统中,线程间通信和线程同步等工作在整个系统中占有相当大的比例,并且,线程在提供服务当中经常会发生线程死琐或线程异常退出等情况。如果某线程异常,即未能正常提供服务,但其它线程仍然向该线程发送消息请求,这样就很容易造成任务缓冲溢出影响业务服务,进而导致系统崩溃,大大地影响了系统的可靠性。
目前,为了防止系统中的线程发生上述情况,一般采用下述方式对系统中的多线程进行监控:设定一线程为监控线程,其它线程为被监控线程;监控线程设置一个定时器,定时事件一到,向所有的被监控线程发送点名消息,以获知每个线程的工作状态;每个被监控线程收到点名消息后,实时回应点名应答消息,以报道本线程的工作状态和其它信息;当被监控线程发生点名应答超时时,监控线程累加被监控线程的超时次数,当超时次数超过预设值时,便将被监控线程变为做僵死状态,同时通知系统的主控线程。
上述对线程的监控方法存在以下缺点:由于未对监控线程进行监控,不能保证监控线程正常工作,如果监控线程本身出现异常,无法将异常线程通知到系统,系统就无法得知异常线程的存在,从而影响了系统的可靠性。
发明内容
本发明实施例提供了一种多线程的监控方法及装置,用以解决现有的多线程监控方法可靠性不高的问题。
本发明实施例提供了一种多线程的监控方法,包括:
全局可用性管理器监控至少一个本地可用性管理器的运行状态;所述本地可用性管理器用于监控向其注册的服务线程的运行状态;
所述全局可用性管理器在确定本地可用性管理器异常运行时,对所述本地可用性管理器进行恢复操作。
本发明实施例提供了一种多线程的监控装置,包括:
全局可用性管理器,用于监控至少一个本地可用性管理器的运行状态,在确定本地可用性管理器异常运行时,对所述本地可用性管理器进行恢复操作;
至少一个本地可用性管理器,用于监控向其注册的服务线程的运行状态。
本发明实施例的有益效果包括:
本发明实施例提供的一种多线程的监控方法及装置,全局可用性管理器监控至少一个本地可用性管理器的运行状态,在确定本地可用性管理器异常运行时,对本地可用性管理器进行恢复操作;其中,本地可用性管理器用于监控向其注册的服务线程的运行状态。由于采用全局可用性管理器监控本地可用性管理器、本地可用性管理器监控服务线程的两级监控结构,可以有效地监控服务线程,避免服务线程和监控线程都出现异常时,系统无法得知异常服务线程的存在,导致系统无法正常提供正常服务的情况,提高了系统的可靠性。
附图说明
图1为本发明实施例提供的多线程的监控方法的流程图;
图2为本发明实施例提供的全局可用性管理器监控本地可用性管理器的运行状态的流程图;
图3为本发明实施例提供的本地可用性管理器监控服务线程的运行状态的流程图;
图4为本发明实施例提供的实例的示意图;
图5为本发明实施例提供多线程的监控装置的结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的多线程的监控方法及装置的具体实施方式进行详细地说明。
本发明实施例提供的一种多线程的监控方法,如图1所示,具体流程包括以下步骤:
S101、全局可用性管理器监控至少一个本地可用性管理器的运行状态;其中,该本地可用性管理器用于监控向其注册的服务线程的运行状态;
S102、全局可用性管理器判断本地可用性管理器是否正常运行;若确定本地可用性管理器正常运行,转向步骤S101;若确定本地可用性管理器异常运行,执行步骤S103;
S103、全局可用性管理器对本地可用性管理器进行恢复操作;转向步骤S101。
下面对上述各步骤的具体实现方式进行详细的说明。
具体地,在执行本发明实施例提供的上述多线程监控的步骤S101之前,还需要进行设定监控任务的操作,例如:初始化全局可用性管理器,创建用于存储本地可用性管理器的心跳信息的记录单元,初始化本地可用性管理器,创建服务线程等。服务线程在启动前,可以向本地可用性管理器提供监控操作接口等注册信息,这样,本地可用性管理器就可以使用监控操作接口监控该服务线程的运行状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京信通信系统(中国)有限公司,未经京信通信系统(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210023963.4/2.html,转载请声明来源钻瓜专利网。