一种提供应用业务的方法、装置及电子设备的制造方法

文档序号:10654363阅读:355来源:国知局
一种提供应用业务的方法、装置及电子设备的制造方法
【专利摘要】本发明的实施例公开一种提供应用业务的方法、装置及电子设备。方法包括:在电子设备的管理集群系统中为应用程序构建两份应用程序节点;启动构建的所述两份应用程序节点,分别配置应用程序主节点以及应用程序备份节点;在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点;调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点,并设置为应用程序备份节点。应用本发明,可以提升提供应用业务的应用程序的可用性。
【专利说明】
一种提供应用业务的方法、装置及电子设备
技术领域
[0001]本发明涉及计算机通信可靠性技术,尤其涉及一种提供应用业务的方法、装置及电子设备。
【背景技术】
[0002]随着计算机通信以及互联网技术的不断发展,电子设备的应用越来越普遍,例如,智能移动电话、个人数字助理、掌上电脑以及台式机电脑得到了越来越广泛的应用,安装在电子设备中的各类计算机应用程序(APP,AppliCat1n)也越来越多。但是,随着应用程序在电子设备部署上线的运行过程中,会因为各种因素,例如,代码bug、磁盘空间不足、宕机、应用程序漏洞等导致应用程序中止运行或退出,造成基于该应用程序提供的应用业务中断,从而给应用业务的使用者带来不便,降低了用户的应用业务体验,也影响了应用程序营运商的口碑和形象。
[0003]为了保证计算机应用程序在异常时能够不中断应用业务的连续性,提升应用程序的可用性以及应用业务的连续性,目前,一般在电子设备中采用主/备应用程序备份的方式来提供应用业务,从而保障应用业务的高可用性。具体来说,通过在电子设备中为提供应用业务的同一应用程序部署两个实例,用以设置主应用程序以及备份应用程序,主应用程序对应主进程(应用程序主节点),备份应用程序对应备份进程(应用程序备份节点),应用程序主节点与应用程序备份节点通过心跳包进行心跳检测,其中,心跳包是在主节点与备份节点之间定时通知对方自己状态的一自定义的命令字,按照一定的时间间隔发送。当应用程序备份节点通过心跳检测监测到应用程序主节点因异常退出,应用程序备份节点自动成为应用程序主节点,用以接管应用程序主节点的所有应用业务,从而使得该应用程序仍然可以对外提供应用业务服务。
[0004]但该利用主/备应用程序提供应用业务的方法,在应用程序主节点因异常退出,应用程序备份节点自动成为应用程序主节点后,需要手动重新启动因异常退出的应用程序主节点,使之成为应用程序备份节点,以便在当前提供应用业务的节点发生异常后,能够及时接管因异常退出的节点。由于需要通过手动方式重启异常退出的节点(应用程序),因而,需要配备专门的运营维护人员,使得维护应用程序高可用性的代价大、成本较高;进一步地,如果运营维护人员未能及时重新启动因异常退出的节点(应用程序),在当前运行的节点也因异常退出时,将导致提供的应用业务中断,从而降低应用程序的可用性。

【发明内容】

[0005]有鉴于此,本发明实施例提供一种提供应用业务的方法、装置及电子设备,提升提供应用业务的应用程序的可用性。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,本发明实施例提供一种提供应用业务的方法,包括:
[0008]在电子设备的管理集群系统中为应用程序构建两份应用程序节点;
[0009]启动构建的所述两份应用程序节点,分别配置应用程序主节点以及应用程序备份节点;
[0010]在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节占.V ,
[0011]调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点,并设置为应用程序备份节点。
[0012]可选的,所述在电子设备的管理集群系统中为应用程序构建两份应用程序节点包括:
[0013]构建包含故障控制器、定时任务监控器、管理器以及监控节点器的管理集群系统,所述故障控制器、定时任务监控器以及监控节点器的数量为2,所述管理器的数量为I;
[0014]分别在两个监控节点器中为所述应用程序构建一应用程序节点;
[0015]分别在两个故障控制器中配置用于启动应用程序节点的命令行;
[0016]分别在两个定时任务监控器中配置用于启动故障控制器的命令行。
[0017]可选的,每一应用程序节点对应一故障控制器、一定时任务监控器以及一监控节点器,两份应用程序节点共享管理器。
[0018]可选的,所述分别配置应用程序主节点以及应用程序备份节点包括:
[0019]两个故障控制器分别获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令;
[0020]管理器接收选举通知指令,分别为两份应用程序节点创建对应的应用程序节点路径以进行选举,将选举结果信息分别通知两个故障控制器;
[0021 ]故障控制器接收选举结果信息,通知对应的监控节点器;
[0022]监控节点器将包含的应用程序节点置于管理器中为该应用程序节点创建的应用程序节点路径上,如果选举结果信息为选举成功,所述包含的应用程序节点成为应用程序主节点;如果选举结果信息为选举失败,所述包含的应用程序节点成为应用程序备份节点。
[0023]可选的,所述故障控制器包括:活跃备份选举器子模块,其中,在活跃备份选举器子模块中配置用于启动应用程序节点的命令行。
[0024]可选的,所述故障控制器还包括:健康监视器子模块以及心跳服务器子模块,所述监控节点器包括:健康子模块、心跳客户端子模块以及应用程序节点,所述获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令包括:
[0025]健康子模块定期查询应用程序节点状态,存储查询得到的应用程序节点状态;
[0026]健康监视器子模块与健康子模块交互,获取健康子模块中存储的应用程序节点状态,与自身存储的应用程序节点状态进行比较,当满足预先设置的选举策略时,向活跃备份选举器子模块输出选举通知指令;
[0027]活跃备份选举器子模块接收健康监视器子模块输出的选举通知指令,向管理器输出。
[0028]可选的,所述应用程序节点状态包括:未启动状态、启动成功未选举状态、应用程序主节点状态以及应用程序备份节点状态。
[0029]可选的,所述满足预先设置的选举策略包括:
[0030]如果健康监视器子模块中存储的应用程序节点状态为未启动状态,获取的应用程序节点状态为启动成功未选举状态,满足预先设置的选举策略。
[0031]可选的,所述满足预先设置的选举策略包括:
[0032]如果健康监视器子模块中存储的应用程序节点状态为应用程序主节点状态或应用程序备份节点状态,获取的应用程序节点状态为未启动状态,满足预先设置的选举策略。
[0033]可选的,所述在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点包括:
[0034]故障控制器监测监控节点器中应用程序主节点的状态,如果监听到应用程序主节点状态发生变化,向管理器输出选举切换指令;
[0035]管理器接收选举切换指令,删除管理器中为所述应用程序主节点创建的应用程序节点路径,将存储的应用程序备份节点路径作为应用程序主节点路径,并将包含选举成功的选举结果信息通知另一故障控制器;
[0036]所述另一故障控制器接收选举结果信息,通知对应的监控节点器;
[0037]监控节点器更新对应的应用程序节点状态。
[0038]可选的,所述设置为应用程序备份节点包括:
[0039]重新启动的应用程序节点对应的故障控制器获取应用程序节点重新启动,向管理器输出备份指令;
[0040]管理器接收备份指令,为重新启动的应用程序节点创建对应的应用程序备份节点路径,将备份结果信息通知故障控制器;
[0041 ]故障控制器接收备份结果信息,通知对应的监控节点器;
[0042]监控节点器将重新启动的应用程序节点置于管理器中为该应用程序节点创建的应用程序备份节点路径上,所述重新启动的应用程序节点成为应用程序备份节点。
[0043]可选的,所述方法还包括:
[0044]在定时任务监控器监测到对应的故障控制器发生异常后,通过所述管理器将所述应用程序备份节点设置为应用程序主节点;
[0045]定时任务监控器调用预先设置的用于启动所述故障控制器的命令行,启动异常的故障控制器。
[0046]可选的,所述在定时任务监控器监测到对应的故障控制器发生异常后,通过所述管理器将所述应用程序备份节点设置为应用程序主节点包括:
[0047]心跳客户端子模块从健康子模块获取应用程序节点状态,向心跳服务器子模块发送包含应用程序节点状态的心跳包;
[0048]心跳服务器子模块获取活跃备份选举器子模块状态,接收心跳客户端子模块发送的心跳包,向心跳客户端子模块返回包含活跃备份选举器子模块状态的心跳包响应;
[0049]心跳客户端子模块接收心跳包响应,获取活跃备份选举器子模块状态,如果获取的活跃备份选举器子模块处于未启动状态,而应用程序节点状态为应用程序主节点状态,触发将应用程序节点的当前状态修改为应用程序备份节点状态;
[0050]定时任务监控器监控活跃备份选举器子模块,如果活跃备份选举器子模块处于未启动状态,通过管理器将所述应用程序备份节点设置为应用程序主节点。
[0051]第二方面,本发明实施例提供一种提供应用业务的装置,包括:应用程序节点构建模块、配置模块、异常处理模块以及重启模块,其中,
[0052]应用程序节点构建模块,用于在电子设备的管理集群系统中为应用程序构建两份应用程序节点;
[0053]配置模块,用于启动构建的所述两份应用程序节点,分别配置应用程序主节点以及应用程序备份节点;
[0054]异常处理模块,用于在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点;
[0055]重启模块,用于调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点,并设置为应用程序备份节点。
[0056]可选的,所述应用程序节点构建模块包括:管理集群系统构建单元、应用程序节点构建单元、第一命令行配置单元以及第二命令行配置单元,其中,
[0057]管理集群系统构建单元,用于构建包含故障控制器、定时任务监控器、管理器以及监控节点器的管理集群系统,所述故障控制器、定时任务监控器以及监控节点器的数量为2,所述管理器的数量为I;
[0058]应用程序节点构建单元,用于分别在两个监控节点器中为所述应用程序构建一应用程序节点;
[0059]第一命令行配置单元,用于分别在两个故障控制器中配置用于启动应用程序节点的命令行;
[0060]第二命令行配置单元,用于分别在两个定时任务监控器中配置用于启动故障控制器的命令行。
[0061]可选的,每一应用程序节点对应一故障控制器、一定时任务监控器以及一监控节点器,两份应用程序节点共享管理器。
[0062]可选的,所述分别配置应用程序主节点以及应用程序备份节点包括:
[0063]两个故障控制器分别获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令;
[0064]管理器接收选举通知指令,分别为两份应用程序节点创建对应的应用程序节点路径以进行选举,将选举结果信息分别通知两个故障控制器;
[0065]故障控制器接收选举结果信息,通知对应的监控节点器;
[0066]监控节点器将包含的应用程序节点置于管理器中为该应用程序节点创建的应用程序节点路径上,如果选举结果信息为选举成功,所述包含的应用程序节点成为应用程序主节点;如果选举结果信息为选举失败,所述包含的应用程序节点成为应用程序备份节点。
[0067]可选的,所述故障控制器包括:活跃备份选举器子模块,其中,在活跃备份选举器子模块中配置用于启动应用程序节点的命令行。
[0068]可选的,所述故障控制器还包括:健康监视器子模块以及心跳服务器子模块,所述监控节点器包括:健康子模块、心跳客户端子模块以及应用程序节点,所述获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令包括:
[0069 ]健康子模块定期查询应用程序节点状态,存储查询得到的应用程序节点状态;
[0070]健康监视器子模块与健康子模块交互,获取健康子模块中存储的应用程序节点状态,与自身存储的应用程序节点状态进行比较,当满足预先设置的选举策略时,向活跃备份选举器子模块输出选举通知指令;[0071 ]活跃备份选举器子模块接收健康监视器子模块输出的选举通知指令,向管理器输出。
[0072]可选的,所述应用程序节点状态包括:未启动状态、启动成功未选举状态、应用程序主节点状态以及应用程序备份节点状态。
[0073]可选的,所述满足预先设置的选举策略包括:
[0074]如果健康监视器子模块中存储的应用程序节点状态为未启动状态,获取的应用程序节点状态为启动成功未选举状态,满足预先设置的选举策略。
[0075]可选的,所述满足预先设置的选举策略包括:
[0076]如果健康监视器子模块中存储的应用程序节点状态为应用程序主节点状态或应用程序备份节点状态,获取的应用程序节点状态为未启动状态,满足预先设置的选举策略。
[0077]可选的,所述异常处理模块包括:监听单元、切换单元、通知单元以及更新单元,其中,
[0078]监听单元,用于通知故障控制器监测监控节点器中应用程序主节点的状态,如果监听到应用程序主节点状态发生变化,向管理器输出选举切换指令;
[0079]切换单元,用于通知管理器接收选举切换指令,删除管理器中为所述应用程序主节点创建的应用程序节点路径,将存储的应用程序备份节点路径作为应用程序主节点路径,并将包含选举成功的选举结果信息通知另一故障控制器;
[0080]通知单元,用于通知所述另一故障控制器接收选举结果信息,通知对应的监控节点器;
[0081]更新单元,用于通知监控节点器更新对应的应用程序节点状态。
[0082]可选的,所述重启模块包括:调用单元、重启监测单元、创建单元、信息通知单元以及重配置单元,其中,
[0083]调用单元,用于调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点;
[0084]重启监测单元,用于重新启动的应用程序节点对应的故障控制器获取应用程序节点重新启动,向管理器输出备份指令;
[0085]创建单元,用于通知管理器接收备份指令,为重新启动的应用程序节点创建对应的应用程序备份节点路径,将备份结果信息通知故障控制器;
[0086]信息通知单元,用于通知故障控制器接收备份结果信息,通知对应的监控节点器;
[0087]重配置单元,用于通知监控节点器将重新启动的应用程序节点置于管理器中为该应用程序节点创建的应用程序备份节点路径上,所述重新启动的应用程序节点成为应用程序备份节点。
[0088]可选的,所述重启模块还包括:异常监测单元以及异常恢复单元,其中,
[0089]异常监测单元,用于在定时任务监控器监测到对应的故障控制器发生异常后,通过所述管理器将所述应用程序备份节点设置为应用程序主节点;
[0090]异常恢复单元,用于通知定时任务监控器调用预先设置的用于启动所述故障控制器的命令行,启动异常的故障控制器。
[0091]可选的,所述异常监测单元包括:心跳包子单元、心跳包响应子单元、解析子单元以及监控子单元,其中,
[0092]心跳包子单元,用于通知心跳客户端子模块从健康子模块获取应用程序节点状态,向心跳服务器子模块发送包含应用程序节点状态的心跳包;
[0093]心跳包响应子单元,用于通知心跳服务器子模块获取活跃备份选举器子模块状态,接收心跳客户端子模块发送的心跳包,向心跳客户端子模块返回包含活跃备份选举器子模块状态的心跳包响应;
[0094]解析子单元,用于通知心跳客户端子模块接收心跳包响应,获取活跃备份选举器子模块状态,如果获取的活跃备份选举器子模块处于未启动状态,而应用程序节点状态为应用程序主节点状态,触发将应用程序节点的当前状态修改为应用程序备份节点状态;
[0095]监控子单元,用于定时任务监控器监控活跃备份选举器子模块,如果活跃备份选举器子模块处于未启动状态,通过管理器将所述应用程序备份节点设置为应用程序主节点。
[0096]第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的提供应用业务的方法。
[0097]本发明实施例提供的提供应用业务的方法、装置及电子设备,通过在电子设备的管理集群系统中为应用程序构建两份应用程序节点;启动构建的所述两份应用程序节点,分别配置应用程序主节点以及应用程序备份节点;在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点;调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点,并设置为应用程序备份节点。这样,通过在Zookeeper集群系统注入用于启动应用程序节点的命令行,从而在应用程序主节点发生异常退出后,能够自动重启异常退出的应用程序节点,无需配备专门的运营维护人员,使得维护应用程序高可用性的代价小、成本较低,不会导致提供的应用业务中断,从而提升应用程序的可用性。
【附图说明】
[0098]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0099]图1为本发明实施例提供应用业务的方法流程示意图;
[0100]图2为本发明实施例在电子设备的管理集群系统中为应用程序构建两份应用程序节点的流程示意图;
[0101]图3为本发明实施例分别配置应用程序主节点以及应用程序备份节点的流程示意图;
[0102]图4为本发明实施例在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点的流程示意图;
[0103]图5为本发明实施例设置为应用程序备份节点的流程示意图;
[0104]图6为本发明实施例提供应用业务的装置结构示意图;
[0105]图7为本发明实施例的管理集群系统结构示意图;
[0106]图8为本发明实施例的管理集群系统另一结构示意图;
[0107]图9为本发明电子设备一个实施例的结构不意图。
【具体实施方式】
[0108]下面结合附图对本发明实施例进行详细描述。
[0109]应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0110]图1为本发明实施例提供应用业务的方法流程示意图。参见图1,该方法包括:
[0111]步骤11,在电子设备的管理集群系统中为应用程序构建两份应用程序节点;
[0?12]本步骤中,作为一可选实施例,管理集群系统为Zookeeper集群系统。Zookeeper集群系统是一个分布式、开放源码的分布式应用程序高可用协调服务,可以为分布式应用提供包括配置维护、名字服务、分布式同步、组服务等一致性服务,通过封装复杂易出错的关键服务,为计算机应用程序提供自动且及时的高可用性保证,配置简单,具有很好的通用性,从而可以将简单易用的接口和性能高效、功能稳定的系统提供给用户,使得用户能够基于Zookeeper实现通用的高可用性。
[0113]本发明实施例中,作为一可选实施例,图2为本发明实施例在电子设备的管理集群系统中为应用程序构建两份应用程序节点的流程示意图。参见图2,该流程包括:
[0114]步骤21,构建包含故障控制器、定时任务监控器、管理器以及监控节点器的管理集群系统,所述故障控制器、定时任务监控器以及监控节点器的数量为2,所述管理器的数量为I;
[0115]本步骤中,管理集群系统包括:第一故障控制器、第一定时任务监控器、第一监控节点器、第二故障控制器、第二定时任务监控器、第二监控节点器以及管理器,其中,
[0116]管理器分别与第一故障控制器以及第二故障控制器相连,第一故障控制器还分别与第一定时任务监控器、第一监控节点器相连,第二故障控制器还分别与第二定时任务监控器以及第二监控节点器相连。
[0117]步骤22,分别在两个监控节点器中为所述应用程序构建一应用程序节点;
[0118]本步骤中,在第一监控节点器中为所述应用程序构建第一应用程序节点,在第二监控节点器中为所述应用程序构建第二应用程序节点。
[0119]本发明实施例中,每一应用程序节点对应一故障控制器、一定时任务监控器以及一监控节点器,两份应用程序节点共享管理器。
[0120]步骤23,分别在两个故障控制器中配置用于启动应用程序节点的命令行;
[0121 ] 本步骤中,作为一可选实施例,故障控制器(HAFai1verControlIer)包括:活跃备份选举器子模块(ActiveStandbyElector)、健康监视器子模块(HealthMonitor)以及心跳服务器子模块(HeartbeatRPCServer),其中,在ActiveStandbyElector中配置用于启动应用程序节点的命令行。
[0122]本发明实施例中,HAFailoverController监控当前运行的应用程序(应用程序主节点)的健康状态。在电子设备启动时,参与选举当前运行的应用程序(应用程序节点),并通知选举的应用程序进行启动以提供应用业务;以及,预先配置用于启动应用程序节点的命令行,在应用程序节点因异常退出后,调用用于启动应用程序节点的命令行,启动应用程序节点。
[0123]步骤24,分别在两个定时任务监控器中配置用于启动故障控制器的命令行。
[0124]本步骤中,定时任务监控器(CrontabMonitor)中配置用于启动ActiveStandbyElector 的命令行。
[0125]步骤12,启动构建的所述两份应用程序节点,分别配置应用程序主节点以及应用程序备份节点;
[0126]本步骤中,利用故障控制器、监控节点器(MonitoredNode)以及管理器(Zooke印er),配置应用程序主节点以及应用程序备份节点。
[0127]作为一可选实施例,图3为本发明实施例分别配置应用程序主节点以及应用程序备份节点的流程示意图。参见图3,该流程包括:
[0128]步骤31,两个故障控制器分别获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令;
[0129]本步骤中,作为一可选实施例,监控节点器(MonitoredNode)包括:健康子模块(Heal thRPCServer)、心跳客户端子模块(HeartbeatRPCClient)以及应用程序节点(FreezablefforkeNode)。
[0130]作为一可选实施例,获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令包括:
[0131 ] Heal thRPCServer定期查询Freezab I eWorkerNode状态,存储查询得到的FreezableWorkerNode 状态;
[0132]Hea IthMon it or 与 Hea I thRPCServer 交互,获取 HealthRPCServer 中存储的FreezabI eWorkerNode状态,与自身存储的Freezabl eWorkerNode状态进行比较,当满足预先设置的选举策略时,向ActiveStandbyElector输出选举通知指令;
[0133]ActiveStandbyElector接收HealthMonitor输出的选举通知指令,向Zookeeper输出。
[0134]本发明实施例中,作为一可选实施例,FreezableWorkerNode状态包括:未启动状态(N0T_AL IVE )、启动成功未选举状态(AL I VE_UNKNWON)、应用程序主节点状态(AL I VE_ACTIVE)以及应用程序备份节点状态(ALIVE_STANDBY)。
[0135]本发明实施例中,未启动状态包括但不限于异常退出状态,例如,启动失败、应用程序主节点终止运行、应用程序备份节点终止运行、启动但未进行选举的应用程序节点终止运行等。
[0136]本发明实施例中,作为一可选实施例,如果电子设备启动应用程序节点失败,进入N0T_ALIVE ;或者,处于ALIVE_UNKNWON的应用程序节点终止运行(stop),进入N0T_ALIVE ;或者,处于ALIVE_UNKNWON的应用程序节点终止运行,进入N0T_ALIVE ;或者,处于ALIVE_STANDBY的应用程序备份节点终止运行,进入N0T_ALIVE;
[0137]如果电子设备启动应用程序节点成功,从N0T_ALIVE进入ALIVE_UNKNWON,如果处于ALIVE_UNKNWON的应用程序节点选举成功,进入ALIVE_ACTIVE ;如果选举失败,进入ALIVE_STANDBY;
[0138]在应用程序备份节点处于ALIVE_STANDBY的情形下,如果处于ALIVE_ACTIVE的应用程序主节点终止运行,该应用程序备份节点进入ALIVE_ACTIVE;在ALIVE_ACTIVE,如果故障控制器终止运行dead),进入ALIVE_STANDBY。
[0139]作为一可选实施例,如果HealthMonitor中存储的FreezableWorkerNode状态为未启动状态,获取的FreezableWorkerNode状态为启动成功未选举状态,满足预先设置的选举策略,从两个Freezab I eWorkerNode中,选举出一应用程序主节点以及一应用程序备份节点。
[0140]作为另一可选实施例,如果HealthMoni tor中存储的Freezabl eWorkerNode状态为应用程序主节点状态或应用程序备份节点状态,获取的FreezableWorkerNode状态为未启动状态,满足预先设置的选举策略,将应用程序备份节点选举成为应用程序主节点。
[0141 ] 本发明实施例中,在ActiveStandbyEIector接收HeaIthMonitor输出的选举通知指令之后,与Zookeeper交互创建应用程序节点路径以进行选举之前,还可以用于查询存储的选举状态标识,如果已存储的选举状态标识为非选举标识,执行所述与Zookeeper交互创建应用程序节点路径以进行选举。
[0142]本发明实施例中,当FreezableWokrerNode已经处于启动成功未选举状态(ALIVE_UNKNOWN),如果ActiveStandbyElector保存的选举状态标识为非选举标识,触发发起应用程序主节点/应用程序备份节点选举。
[0143]步骤32,管理器接收选举通知指令,分别为两份应用程序节点创建对应的应用程序节点路径以进行选举,将选举结果信息分别通知两个故障控制器;
[0144]本步骤中,作为一可选实施例,管理器采用争抢方式进行选举,即在管理器中,第一故障控制器以及第二故障控制器相互争抢创建应用程序节点路径,管理器确认先完成创建应用程序节点路径对应的故障控制器选举成功,相应创建的应用程序节点路径为应用程序主节点路径;则另一故障控制器选举失败,为该另一故障控制器相应创建的应用程序节点路径为应用程序备份节点路径。
[0145]本发明实施例中,Zookeeper接收第一ActiveStandbyElector、和/或,第二ActiveStandbyElector输出的选举通知指令,分别为第一ActiveStandbyElector、和/或,第二 ActiveStandbyElector创建对应的应用程序节点路径以进行选举,将选举结果信息分别通知第一Act iveStandbyEl ector、和/或,第二 Acti veStandbyElector。
[0146]本发明实施例中,作为一可选实施例,Zookeeper采用争抢方式进行选举,S卩第一Act iveStandbyEl ector以及第二 Act iveStandbyEl ector相互争抢创建应用程序节点路径,确认先完成创建应用程序节点路径对应的ActiveStandbyElector选举成功,相应创建的应用程序节点路径为应用程序主节点路径;则另一 Acti veStandbyElector选举失败,相应创建的应用程序节点路径为应用程序备份节点路径。
[0147]步骤33,故障控制器接收选举结果信息,通知对应的监控节点器;
[0148]步骤34,监控节点器将包含的应用程序节点置于管理器中为该应用程序节点创建的应用程序节点路径上,如果选举结果信息为选举成功,所述包含的应用程序节点成为应用程序主节点;如果选举结果信息为选举失败,所述包含的应用程序节点成为应用程序备份节点。
[0149]本步骤中,ActiveStandbyElector接收Zookeeper输出的选举结果信息,通知HealthRPCServer,如果选举结果信息为选举成功,HealthRPCServer将Freezab I eWorkerNode置于Zookeeper 中为该Act iveStandbyEl ector创建的应用程序主节点路径上,以使FreezableWorkerNode成为应用程序主节点,如果选举结果信息为选举失败,将Freezab I eWorkerNode 置于 Zookeeper 中为该 Act iveStandbyEl ector 创建的应用程序备份节点路径上,以使FreezableWorkerNode成为应用程序备份节点。
[0150]步骤13,在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点;
[0151]本步骤中,作为一可选实施例,图4为本发明实施例在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点的流程示意图。参见图4,该流程包括:
[0152]步骤41,故障控制器监测监控节点器中应用程序主节点的状态,如果监听到应用程序主节点状态发生变化,向管理器输出选举切换指令;
[0153]本步骤中,HealthMonitor定期获取 HealthRPCServer 存储的Freezab I eWorkerNode状态,如果获取的Freezab I eWorkerNode状态为未启动状态,向ActiveStandbyElector输出选举切换指令;
[0154]Act iveStandbyEl ector接收 HealthMoni tor输出的选举切换指令,向 Zookeeper 输出。
[0155]步骤42,管理器接收选举切换指令,删除管理器中为所述应用程序主节点创建的应用程序节点路径,将存储的应用程序备份节点路径作为应用程序主节点路径,并将包含选举成功的选举结果信息通知另一故障控制器;
[0156]本步骤中,Zookeeper如果接收到第一 ActiveStandbyElector 或第二Acti veStandbyElector输出的选举切换指令、和/或,监控到ActiveStandbyElector状态为未启动状态,删除Zookeeper中为第一 ActiveStandbyElector或第二Act iveStandbyEl ector创建的应用程序节点路径,将存储的为第二 Acti veStandbyElector或第一 Acti veStandbyElector创建的应用程序节点路径作为应用程序主节点路径,并将包含选举成功的选举结果信息通知第二ActiveStandbyElector或第一ActiveStandbyElector;
[0157]本发明实施例中,作为一可选实施例,在删除创建的应用程序节点路径后,如果该创建应用程序节点路径对应的Acti veStandbyElector重新启动,则触发再次进行选举,与前述争抢方式不同的是,在当前有应用程序主节点路径情况下,为该ActiveStandbyElector创建应用程序备份节点路径,以在应用程序主节点路径被删除时,接替被删除的应用程序主节点路径。
[0158]步骤43,所述另一故障控制器接收选举结果信息,通知对应的监控节点器;
[0159]步骤44,监控节点器更新对应的应用程序节点状态。
[0160]步骤14,调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点,并设置为应用程序备份节点。
[0161 ]本步骤中,ActiveStandbyElector调用预先配置的FreezableWorkerNode启动命令行,启动FreezableWorkerNode ο
[0162]作为一可选实施例,图5为本发明实施例设置为应用程序备份节点的流程示意图。参见图5,该流程包括:
[0163]步骤51,重新启动的应用程序节点对应的故障控制器获取应用程序节点重新启动,向管理器输出备份指令;
[0164]步骤52,管理器接收备份指令,为重新启动的应用程序节点创建对应的应用程序备份节点路径,将备份结果信息通知故障控制器;
[0165]步骤53,故障控制器接收备份结果信息,通知对应的监控节点器;
[0166]步骤54,监控节点器将重新启动的应用程序节点置于管理器中为该应用程序节点创建的应用程序备份节点路径上,所述重新启动的应用程序节点成为应用程序备份节点。
[0167]本发明实施例中,如果FreezableWorkerNode发生异常,例如,挂掉,HealthMonitor获知该信息,向ActiveStandbyElector输出节点路径删除通知指令(选举切换指令),Act iveStandbyEl ector通知Zookeeper删除对应的应用程序节点路径,Zookeeper在删除对应的应用程序节点路径后,将存储的为另一 Acti veStandbyElector创建的应用程序节点路径作为应用程序主节点路径,通知另一 ActiveStandbyElector。举例来说,假设第一FreezableWorkerNode处于应用程序备份节点状态(ALIVE_STANDBY),当处于应用程序主节点状态(ALI VE_ACT IVE)的第二 Freezab I eWorkerNode挂掉,第二 Act iveStandbyEl ector通知Zookeeper ,Zookeeper删除第二 Act iveStandbyEl ector对应的应用程序节点路径,进行选举,将为第一 Acti veStandbyElector创建的应用程序节点路径设置为应用程序主节点路径,并通知第一ActiveStandbyElector,第一ActiveStandbyElector 接收通知后,将第一Freezab I eWorkerNode设置为ALI VE_ACT IVE,即将第一Freezab I eWorkerNode 的状态从ALIVE_STANDBY 更新为 ALIVE_ACTIVE,从而接管挂掉的第二 FreezableWorkerNode 0
[0168]作为一可选实施例,该方法还可以包括:
[0169]在定时任务监控器监测到对应的故障控制器发生异常后,通过所述管理器将所述应用程序备份节点设置为应用程序主节点;
[0170]定时任务监控器调用预先设置的用于启动所述故障控制器的命令行,启动异常的故障控制器。
[0171]本发明实施例中,作为一可选实施例,在定时任务监控器监测到对应的故障控制器发生异常后,通过所述管理器将所述应用程序备份节点设置为应用程序主节点包括:
[0172]HeartbeatRPCCl ient从HeaI thRPCServer 获取Freezab I eWorkerNode状态,向HeartbeatRPCServer 发送包含 FreezableWorkerNode 状态的心跳包;
[0173]HeartbeatRPCServer 获取 Acti veStandbyElector 状态,接收 HeartbeatRPCClient发送的心跳包,向HeartbeatRPCClient返回包含Act iveStandbyEl ector状态的心跳包响应;
[0174]HeartbeatRPCClient 接收心跳包响应,获取 ActiveStandbyElector 状态,如果获取的ActiveStandbyElector处于未启动状态,而FreezableWorkerNode状态为应用程序主节点状态,触发将Fr eezab I eWorkerNode的当前状态修改为应用程序备份节点状态;
[0175]CrontabMoni tor监控 Acti veStandbyElector,如果 Act iveStandbyEl ector处于未启动状态,通过Zooke印er将所述应用程序备份节点设置为应用程序主节点。
[0176]本发明实施例中,CrontabMoni tor调用所述用于启动Act iveStandbyEl ector的命令行,启动 ActiveStandbyElector ο
[ΟΙ77] 本发明实施例中,FreezableWorkerNode在处于应用程序主节点状态时,提供应用程序服务。
[0178]本发明实施例中,通过在电子设备的管理集群系统中为应用程序构建两份应用程序节点;启动构建的所述两份应用程序节点,分别配置应用程序主节点以及应用程序备份节点;在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点;调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点,并设置为应用程序备份节点。这样,基于Zookeeper集群系统通用的高可用性,通过在Zookeeper集群系统注入用于启动应用程序节点的命令行,从而在应用程序主节点发生异常退出后,能够自动重启异常退出的应用程序节点,无需配备专门的运营维护人员,使得维护应用程序高可用性的代价小、成本较低,能为计算机应用程序提供自动且及时的高可用性保证,部署上线成本很低,配置简单,具有很好的通用性;进一步地,由于能够及时重新启动因异常退出的节点(应用程序),在当前运行的节点也因异常退出时,不会导致提供的应用业务中断,从而提升应用程序的可用性。
[0179]图6为本发明实施例提供应用业务的装置结构示意图。参见图6,该装置包括:应用程序节点构建模块61、配置模块62、异常处理模块63以及重启模块64,其中,
[0180]应用程序节点构建模块61,用于在电子设备的管理集群系统中为应用程序构建两份应用程序节点;
[0181]本发明实施例中,作为一可选实施例,应用程序节点构建模块61包括:管理集群系统构建单元、应用程序节点构建单元、第一命令行配置单元以及第二命令行配置单元(图中未示出),其中,
[ΟΙ82] 管理集群系统构建单元,用于构建包含故障控制器(HAFailoverController)、定时任务监控器(CrontabMoni tor)、管理器(Zookeeper)以及监控节点器(MonitoredNode)的管理集群系统,所述故障控制器、定时任务监控器以及监控节点器的数量为2,所述管理器的数量为I;
[0183]图7为本发明实施例的管理集群系统结构示意图。参见图7,该管理集群系统包括:第一故障控制器71、第一定时任务监控器72、第一监控节点器73、第二故障控制器74、第二定时任务监控器75、第二监控节点器76以及管理器77,其中,
[0184]管理器77分别与第一故障控制器71以及第二故障控制器74相连,第一故障控制器71还分别与第一定时任务监控器72、第一监控节点器73相连,第二故障控制器74还分别与第二定时任务监控器75以及第二监控节点器76相连。
[0185]本发明实施例中,HAFailoverController监控当前运行的应用程序(应用程序主节点)的健康状态。在电子设备启动时,参与选举当前运行的应用程序(应用程序节点),并通知选举的应用程序进行启动以提供应用业务;以及,预先配置用于启动应用程序节点的命令行,在应用程序节点因异常退出后,调用用于启动应用程序节点的命令行,启动应用程序节点。
[0186]应用程序节点构建单元,用于分别在两个监控节点器中为所述应用程序构建一应用程序节点;
[0187]本发明实施例中,在第一监控节点器中为所述应用程序构建第一应用程序节点,在第二监控节点器中为所述应用程序构建第二应用程序节点。
[0188]第一命令行配置单元,用于分别在两个故障控制器中配置用于启动应用程序节点的命令行;
[0189]第二命令行配置单元,用于分别在两个定时任务监控器中配置用于启动故障控制器的命令行。
[0190]本发明实施例中,作为一可选实施例,每一应用程序节点对应一故障控制器、一定时任务监控器以及一监控节点器,两份应用程序节点共享管理器。
[0191]配置模块62,用于启动构建的所述两份应用程序节点,分别配置应用程序主节点以及应用程序备份节点;
[0192]本发明实施例中,所述分别配置应用程序主节点以及应用程序备份节点包括:
[0193]两个故障控制器分别获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令;
[0194]管理器接收选举通知指令,分别为两份应用程序节点创建对应的应用程序节点路径以进行选举,将选举结果信息分别通知两个故障控制器;
[0195]故障控制器接收选举结果信息,通知对应的监控节点器;
[0196]监控节点器将包含的应用程序节点置于管理器中为该应用程序节点创建的应用程序节点路径上,如果选举结果信息为选举成功,所述包含的应用程序节点成为应用程序主节点;如果选举结果信息为选举失败,所述包含的应用程序节点成为应用程序备份节点。
[0197]本发明实施例中,作为一可选实施例,管理器采用争抢方式进行选举,即在管理器中,第一故障控制器以及第二故障控制器相互争抢创建应用程序节点路径,管理器确认先完成创建应用程序节点路径对应的故障控制器选举成功,相应创建的应用程序节点路径为应用程序主节点路径;则另一故障控制器选举失败,为该另一故障控制器相应创建的应用程序节点路径为应用程序备份节点路径。
[0198]本发明实施例中,作为一可选实施例,图8为本发明实施例的管理集群系统另一结构示意图。参见图8,该管理集群系统除包含图7所述的结构外,其中,故障控制器包括:活跃备份选举器子模块(ActiveStandbyElector)81,其中,在活跃备份选举器子模块81中配置用于启动应用程序节点的命令行。
[0199]作为另一可选实施例,故障控制器还包括:健康监视器子模块(HealthMonitor)82以及心跳服务器子模块(HeartbeatRPCServer) 83,监控节点器包括:健康子模块(HealthRPCServer )84、心跳客户端子模块(HeartbeatRPCClient )85以及应用程序节点(FreezableWorkerNode )86,所述获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令包括:
[0200]HealthRPCServer定期查询FreezabIeWorkerNode状态,存储查询得到的FreezableWorkerNode 状态;
[0201 ] Hea IthMon it or 与 Hea IthRPCServer 交互,获取 HealthRPCServer 中存储的FreezabI eWorkerNode状态,与自身存储的Freezabl eWorkerNode状态进行比较,当满足预先设置的选举策略时,向ActiveStandbyElector输出选举通知指令;
[0202]ActiveStandbyElector接收HealthMoni tor输出的选举通知指令,向Zookeeper输出。
[0203]本发明实施例中,作为一可选实施例,FreezableWorkerNode状态包括:未启动状态、启动成功未选举状态、应用程序主节点状态以及应用程序备份节点状态。
[0204]本发明实施例中,作为一可选实施例,如果HealthMonitor中存储的FreezableWorkerNode状态为未启动状态,获取的FreezableWorkerNode状态为启动成功未选举状态,满足预先设置的选举策略;或者,
[0205]如果HealthMoni tor中存储的Freezabl eWorkerNode状态为应用程序主节点状态或应用程序备份节点状态,获取的FreezableWorkerNode状态为未启动状态,满足预先设置的选举策略。
[0206]异常处理模块63,用于在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点;
[0207]本发明实施例中,作为一可选实施例,异常处理模块63包括:监听单元、切换单元、通知单元以及更新单元(图中未示出),其中,
[0208]监听单元,用于通知故障控制器监测监控节点器中应用程序主节点的状态,如果监听到应用程序主节点状态发生变化,向管理器输出选举切换指令;
[0209]切换单元,用于通知管理器接收选举切换指令,删除管理器中为所述应用程序主节点创建的应用程序节点路径,将存储的应用程序备份节点路径作为应用程序主节点路径,并将包含选举成功的选举结果信息通知另一故障控制器;
[0210]通知单元,用于通知所述另一故障控制器接收选举结果信息,通知对应的监控节点器;
[0211]更新单元,用于通知监控节点器更新对应的应用程序节点状态。
[0212]重启模块64,用于调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点,并设置为应用程序备份节点。
[0213]本发明实施例中,ActiveStandbvEIector调用预先配置的FreezabI eWorkerNode启动命令行,启动FreezableWorkerNode ο
[0214]本发明实施例中,作为一可选实施例,重启模块64包括:调用单元、重启监测单元、创建单元、信息通知单元以及重配置单元(图中未示出),其中,
[0215]调用单元,用于调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点;
[0216]重启监测单元,用于重新启动的应用程序节点对应的故障控制器获取应用程序节点重新启动,向管理器输出备份指令;
[0217]创建单元,用于通知管理器接收备份指令,为重新启动的应用程序节点创建对应的应用程序备份节点路径,将备份结果信息通知故障控制器;
[0218]信息通知单元,用于通知故障控制器接收备份结果信息,通知对应的监控节点器;
[0219]重配置单元,用于通知监控节点器将重新启动的应用程序节点置于管理器中为该应用程序节点创建的应用程序备份节点路径上,所述重新启动的应用程序节点成为应用程序备份节点。
[0220]本发明实施例中,作为另一可选实施例,重启模块64还包括:异常监测单元以及异常恢复单元,其中,
[0221 ]异常监测单元,用于在定时任务监控器监测到对应的故障控制器发生异常后,通过所述管理器将所述应用程序备份节点设置为应用程序主节点;
[0222]异常恢复单元,用于通知定时任务监控器调用预先设置的用于启动所述故障控制器的命令行,启动异常的故障控制器。
[0223]本发明实施例中,作为一可选实施例,异常监测单元包括:心跳包子单元、心跳包响应子单元、解析子单元以及监控子单元,其中,
[0224]心跳包子单元,用于通知HeartbeatRPCClient从HealthRPCServer获取Freezab I eWorkerNode状态,向 HeartbeatRPCServer 发送包含Freezabl eWorkerNode状态的心跳包;
[0225]心跳包响应子单元,用于通知HeartbeatRPCServer获取ActiveStandbyElector状态,接收HeartbeatRPCClient发送的心跳包,向HeartbeatRPCClient返回包含ActiveStandbyElector状态的心跳包响应;
[0226]解析子单元,用于通知HeartbeatRPCCl ient接收心跳包响应,获取ActiveStandbyEIector状态,如果获取的ActiveStandbyEIector处于未启动状态,而FreezableWorkerNode状态为应用程序主节点状态,触发将FreezableWorkerNode的当前状态修改为应用程序备份节点状态;
[0227]监控子单元,用于CrontabMonitor监控 ActiveStandbyElector,如果ActiveStandbyElector处于未启动状态,通过Zookeeper将所述应用程序备份节点设置为应用程序主节点。
[0228]本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
[0229]图9为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-8所示实施例的流程,如图9所示,上述电子设备可以包括:壳体91、处理器92、存储器93、电路板94和电源电路95,其中,电路板94安置在壳体91围成的空间内部,处理器92和存储器93设置在电路板94上;电源电路95,用于为上述电子设备的各个电路或器件供电;存储器93用于存储可执行程序代码;处理器92通过读取存储器93中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的提供应用业务的方法。
[0230]处理器92对上述步骤的具体执行过程以及处理器92通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-8所示实施例的描述,在此不再赘述。
[0231]该电子设备以多种形式存在,包括但不限于:
[0232](I)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
[0233](2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
[0234](3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
[0235](4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
[0236](5)其他具有数据交互功能的电子设备。
[0237]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
[0238]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
【主权项】
1.一种提供应用业务的方法,其特征在于,该方法包括: 在电子设备的管理集群系统中为应用程序构建两份应用程序节点; 启动构建的所述两份应用程序节点,分别配置应用程序主节点以及应用程序备份节占.V , 在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点; 调用预先注入在管理集群系统中用于启动应用程序节点的命令行,重新启动异常的应用程序主节点,并设置为应用程序备份节点。2.根据权利要求1所述的方法,其特征在于,所述在电子设备的管理集群系统中为应用程序构建两份应用程序节点包括: 构建包含故障控制器、定时任务监控器、管理器以及监控节点器的管理集群系统,所述故障控制器、定时任务监控器以及监控节点器的数量为2,所述管理器的数量为I; 分别在两个监控节点器中为所述应用程序构建一应用程序节点; 分别在两个故障控制器中配置用于启动应用程序节点的命令行; 分别在两个定时任务监控器中配置用于启动故障控制器的命令行。3.根据权利要求2所述的方法,其特征在于,每一应用程序节点对应一故障控制器、一定时任务监控器以及一监控节点器,两份应用程序节点共享管理器。4.根据权利要求2所述的方法,其特征在于,所述分别配置应用程序主节点以及应用程序备份节点包括: 两个故障控制器分别获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令; 管理器接收选举通知指令,分别为两份应用程序节点创建对应的应用程序节点路径以进行选举,将选举结果信息分别通知两个故障控制器; 故障控制器接收选举结果信息,通知对应的监控节点器; 监控节点器将包含的应用程序节点置于管理器中为该应用程序节点创建的应用程序节点路径上,如果选举结果信息为选举成功,所述包含的应用程序节点成为应用程序主节点;如果选举结果信息为选举失败,所述包含的应用程序节点成为应用程序备份节点。5.根据权利要求4所述的方法,其特征在于,所述故障控制器包括:活跃备份选举器子模块,其中,在活跃备份选举器子模块中配置用于启动应用程序节点的命令行。6.根据权利要求5所述的方法,其特征在于,所述故障控制器还包括:健康监视器子模块以及心跳服务器子模块,所述监控节点器包括:健康子模块、心跳客户端子模块以及应用程序节点,所述获取对应的监控节点器中的应用程序节点启动,向管理器输出选举通知指令包括: 健康子模块定期查询应用程序节点状态,存储查询得到的应用程序节点状态; 健康监视器子模块与健康子模块交互,获取健康子模块中存储的应用程序节点状态,与自身存储的应用程序节点状态进行比较,当满足预先设置的选举策略时,向活跃备份选举器子模块输出选举通知指令; 活跃备份选举器子模块接收健康监视器子模块输出的选举通知指令,向管理器输出。7.根据权利要求6所述的方法,其特征在于,所述应用程序节点状态包括:未启动状态、启动成功未选举状态、应用程序主节点状态以及应用程序备份节点状态。8.根据权利要求6所述的方法,其特征在于,所述满足预先设置的选举策略包括: 如果健康监视器子模块中存储的应用程序节点状态为未启动状态,获取的应用程序节点状态为启动成功未选举状态,满足预先设置的选举策略。9.根据权利要求6所述的方法,其特征在于,所述满足预先设置的选举策略包括: 如果健康监视器子模块中存储的应用程序节点状态为应用程序主节点状态或应用程序备份节点状态,获取的应用程序节点状态为未启动状态,满足预先设置的选举策略。10.根据权利要求2所述的方法,其特征在于,所述在应用程序主节点发生异常后,将配置的应用程序备份节点设置为应用程序主节点包括: 故障控制器监测监控节点器中应用程序主节点的状态,如果监听到应用程序主节点状态发生变化,向管理器输出选举切换指令; 管理器接收选举切换指令,删除管理器中为所述应用程序主节点创建的应用程序节点路径,将存储的应用程序备份节点路径作为应用程序主节点路径,并将包含选举成功的选举结果信息通知另一故障控制器; 所述另一故障控制器接收选举结果信息,通知对应的监控节点器; 监控节点器更新对应的应用程序节点状态。
【文档编号】G06F11/07GK106021005SQ201610306379
【公开日】2016年10月12日
【申请日】2016年5月10日
【发明人】潘洪安
【申请人】北京金山安全软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1