本发明专利技术公开了一种基于双层守护机制的客户端监控方法、装置及系统,其中,该方法包括:获取客户端状态数据,状态数据包括以下之一:崩溃数据、异常数据;将状态数据发送给管理端,以便于管理端根据异常数据对客户端进行相应的运维管理操作;当状态数据为崩溃数据时,将客户端进行恢复操作;以及接收来自第二层守护进程的监控操作,以便于第二层守护进程进行守护操作。通过本发明专利技术,可以实现更好的系统可用性。
【技术实现步骤摘要】
基于双层守护机制的客户端监控方法、装置及系统
本专利技术涉及计算机领域,具体涉及一种基于双层守护机制的客户端监控方法、装置及系统。
技术介绍
守护进程(一种运行程序),也就是通常说的daemon进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。Linux(一种操作系统)大多数服务器进程就是用守护进程实现的,例如日志进程syslogd、web服务器httpd、邮件服务器sendmail和数据库服务器mysqld。LinuxDaemon守护进程常常在系统引导装入时启动,在系统关闭时终止。守护进程最大的特点是运行在后台,与终端无连接,除非特殊情况下,用户不能操作守护进程。在Linux系统中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到整个系统关闭时才退出。传统服务器都是采用单层守护进程保护的方式,这种机制虽然在程序崩溃(或称为挂掉)或异常退出的时候可以利用守护进程拉起(或称为恢复)。如图1所示,守护进程(daemon进程)在不断的监视程序的状态,当程序崩溃后守护进程就可以拉起程序。基于守护进程的保护机制工作流程大致如下:1、程序和守护进程启动。2、程序给守护进程发送心跳来表示自己存在,守护进程接收程序心跳。3、当守护进程在一段时间没有接收到程序的心跳时表示程序可能崩溃。4、守护进程检查程序状态,如果程序挂掉则将程序拉起。但是,目前的基于守护进程的保护机制存在如下问题:1、当程序内部仅有异常而没有崩溃时,守护进程无法识别,这时候并不能使异常程序恢复。2、守护进程虽然能监控程序的状态,但是无法有效监控程序的其他性能指标,对于复杂的程序仅监控其状态不能满足要求。3、系统异常崩溃被重启后,基本上没有痕迹,不便于分析进程挂掉的原因,从而导致解决异常问题的效率较低。4、守护进程能将崩溃的程序拉起,但是当守护进程也崩溃时,就无法对程序进行继续守护,该守护进程也无法被其他程序拉起,这使得系统不具有高可用性。
技术实现思路
有鉴于此,本专利技术提供一种基于双层守护机制的客户端监控方法、装置及系统,以解决上述提及的至少一个问题。根据本专利技术的第一方面,提供一种基于双层守护机制的客户端监控方法,该方法包括:获取客户端状态数据,所述状态数据包括以下之一:崩溃数据、异常数据;将所述状态数据发送给管理端,以便于所述管理端根据所述异常数据对所述客户端进行相应的运维管理操作;当所述状态数据为崩溃数据时,将所述客户端进行恢复操作;以及接收来自第二层守护进程的监控操作,以便于所述第二层守护进程进行守护操作。具体地,将所述状态数据发送给管理端包括:将所述状态数据以状态码形式通过心跳操作发送给所述管理端。根据本专利技术的第二方面,提供一种基于双层守护机制的客户端监控装置,该装置包括:状态数据获取单元,用于获取客户端状态数据,所述状态数据包括以下之一:崩溃数据、异常数据;状态数据发送单元,用于将所述状态数据发送给管理端,以便于所述管理端根据所述异常数据对所述客户端进行相应的运维管理操作;恢复操作单元,用于当所述状态数据为崩溃数据时,将所述客户端进行恢复操作;以及监控接收单元,用于接收来自第二层守护进程的监控操作,以便于所述第二层守护进程进行守护操作。其中,状态数据发送单元具体用于:将所述状态数据以状态码形式通过心跳操作发送给所述管理端。根据本专利技术的第三方面,提供一种基于双层守护机制的客户端监控系统,该系统包括:包括上述装置的第一层守护进程、第二层守护进程、客户端、管理端,其中,所述第二层守护进程对所述第一层守护进程进行监控操作,以便于在所述第一层守护进程崩溃时进行守护操作;所述管理端通过接收来自所述装置的客户端的状态数据对客户端进行相应的运维管理操作或者作业数据采集操作。具体地,所述管理端包括:状态数据接收单元,用于接收来自所述装置的客户端的状态数据;作业数据采集单元,用于在所述状态数据为非崩溃数据和异常数据时,采集所述客户端的作业数据;黑名单发送单元,用于将预先配置的黑名单发送给所述客户端,以维护所述客户端的安全运行;运维管理通知单元,用于在所述状态数据为异常数据时,进行运维管理通知操作,以便于通知运维人员解决客户端问题。上述第二层守护进程包括:监控单元,用于监控所述第一层守护进程的状态数据;恢复操作单元,用于当所述第一层守护进程的状态数据为崩溃数据时,将所述第一层守护进程进行恢复操作。优选地,第二层守护进程还包括:更新单元,用于对所述第一层守护进程进行更新操作。根据本专利技术的第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。根据本专利技术的第五方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。由上述技术方案可知,通过将获取的客户端状态数据发送给管理端,管理端可以根据状态数据对客户端进行相应的运维管理操作或者作业数据采集操作,并且根据状态数据可以方便后续的性能分析,同时,通过接收来自第二层守护进程的监控操作,可以实现第二层守护进程对第一层守护进程的守护操作,从而可以克服传统的单层守护进程崩溃时无法继续保护系统的问题,通过本技术方案,可以实现更好的系统可用性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是传统的单层守护进程保护方式示意图;图2是根据本专利技术实施例的基于双层守护机制的客户端监控方法的流程图;图3是根据本专利技术实施例的基于双层守护机制的客户端监控系统的结构框图;图4是根据本专利技术实施例的客户端监控装置11的结构框图;图5是根据本专利技术实施例的第二层守护进程2的结构框图;图6是根据本专利技术实施例的第二层守护进程2的优选结构框图;图7是根据本专利技术实施例的管理端4的结构框图;图8是根据本专利技术实施例的基于双层守护机制的客户端监控系统的示例架构框图;图9是根据本专利技术实施例的电子设备的示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。由于图1所示的传统守护进程无法识别程序内部是异常状本文档来自技高网...
【技术保护点】
1.一种基于双层守护机制的客户端监控方法,其特征在于,所述方法包括:/n获取客户端状态数据,所述状态数据包括以下之一:崩溃数据、异常数据;/n将所述状态数据发送给管理端,以便于所述管理端根据所述异常数据对所述客户端进行相应的运维管理操作;/n当所述状态数据为崩溃数据时,将所述客户端进行恢复操作;以及/n接收来自第二层守护进程的监控操作,以便于所述第二层守护进程进行守护操作。/n
【技术特征摘要】
1.一种基于双层守护机制的客户端监控方法,其特征在于,所述方法包括:
获取客户端状态数据,所述状态数据包括以下之一:崩溃数据、异常数据;
将所述状态数据发送给管理端,以便于所述管理端根据所述异常数据对所述客户端进行相应的运维管理操作;
当所述状态数据为崩溃数据时,将所述客户端进行恢复操作;以及
接收来自第二层守护进程的监控操作,以便于所述第二层守护进程进行守护操作。
2.根据权利要求1所述的方法,其特征在于,将所述状态数据发送给管理端包括:
将所述状态数据以状态码形式通过心跳操作发送给所述管理端。
3.一种基于双层守护机制的客户端监控装置,其特征在于,所述装置包括:
状态数据获取单元,用于获取客户端状态数据,所述状态数据包括以下之一:崩溃数据、异常数据;
状态数据发送单元,用于将所述状态数据发送给管理端,以便于所述管理端根据所述异常数据对所述客户端进行相应的运维管理操作;
恢复操作单元,用于当所述状态数据为崩溃数据时,将所述客户端进行恢复操作;以及
监控接收单元,用于接收来自第二层守护进程的监控操作,以便于所述第二层守护进程进行守护操作。
4.根据权利要求3所述的装置,其特征在于,所述状态数据发送单元具体用于:
将所述状态数据以状态码形式通过心跳操作发送给所述管理端。
5.一种基于双层守护机制的客户端监控系统,其特征在于,所述系统包括:包括权利要求3或4所述装置的第一层守护进程、第二层守护进程、客户端、管理端,其中,<...
【专利技术属性】
技术研发人员:刘志升,杨涛,才鑫,
申请(专利权)人:中国建设银行股份有限公司,建信金融科技有限责任公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。