提高集群系统可用性的方法、装置和计算机设备制造方法及图纸

技术编号:21917428 阅读:21 留言:0更新日期:2019-08-21 13:30
本申请提供了一种提高集群系统可用性的方法、装置、计算机设备和可读存储介质,涉及分布式部署技术领域,方法包括:各不同地区的服务区域的主机根据第一预设频率相互判断是否有出现故障主机,并在发现故障主机后,相互之间广播各主机的运行信息,从而筛选得到当前处于可调用状态的备用主机,然后随机由一台正常运行的主机发出指令,使得备用主机继续运行故障主机的系统服务,在满足布置于各个不同地区的服务区域的集群系统的高可用性的同时,避免大规模故障后系统无法运行。

Methods, Devices and Computer Equipment for Improving the Availability of Cluster System

【技术实现步骤摘要】
提高集群系统可用性的方法、装置和计算机设备
本申请涉及分布式部署
,特别涉及一种提高集群系统可用性的方法、装置和计算机设备。
技术介绍
随着计算机技术和互联网的快速发展,集群系统以其低廉的成本、强大的运算能力和健壮的容错机制逐渐成为了计算机行业的焦点。集群应用可以运行在上千台普通的服务器上,伴随业务增长动态扩大集群规模,但也要承受普通计算机较高的故障率,这要求系统在发生软硬件故障的时候仍能保证高度的可用性。目前,在系统发生故障时,仅能在本地的主机上进行系统服务的转移,而没有考虑到其它服务区域的主机,从而使得基于Docker容器的集群系统的可用性不高,无法应对大规模的系统故障。
技术实现思路
本申请的主要目的为提供一种提高集群系统可用性的方法、装置和计算机设备,旨在解决现有基于Docker容器的集群系统的可用性低,无法应对大规模的系统故障的弊端。为实现上述目的,本申请提供了一种提高集群系统可用性的方法,应用于所述集群系统中的任意一台主机,所述集群系统包括多个服务区域,所述服务区域分布于不同地区,当前执行所述方法的主机为第一主机,所述方法包括:监控各第二主机当前是否出现故障,其中,所述第二主机为所述第一主机之外的其它主机;若出现故障,则标记当前处于故障状态的第二主机为故障主机,并从各指定服务区域中筛选当前处于可调用状态的主机作为备用主机,其中,所述指定服务区域为所述故障主机所属的服务区域之外的其它服务区域,所述可调用状态的主机为服务调用占比和运行负载符合第一预设要求的主机;使用所述备用主机运行所述故障主机的系统服务。进一步的,所述监控各第二主机当前是否出现故障的步骤,包括:根据第一预设频率接收各所述第二主机发送的预设信号,以实现对各所述第二主机的工作状态的监控;若接收到所述第二主机发送的预设信号,则判定所述第二主机当前运行正常;若没有接收到所述第二主机发送的预设信号,则将没有发送所述预设信号的主机标记为指定主机,并在当前时间之后的预设时间段内,判断是否接收到所述指定主机发送的所述预设信号;若接收到所述指定主机发送的所述预设信号,则判定所述指定主机运行正常;若没有接收到所述指定主机发送的所述预设信号,则判定所述指定主机出现故障。进一步的,所述从各指定服务区域中筛选当前处于可调用状态的主机作为备用主机的步骤,包括:获取各所述指定服务区域当前的分级信息,所述分级信息为各服务区域根据服务调用占比对应设置的等级信息;根据所述分级信息筛选当前处于可调用状态的服务区域,其中,所述可调用状态的服务区域为所述分级信息符合第二预设要求的服务区域;获取所述当前处于可调用状态的服务区域中各主机的运行信息,所述运行信息包括主机的服务调用占比和运行负载;从所述当前处于可调用状态的服务区域中,筛选所述运行信息符合第三预设要求的主机作为所述备用主机。进一步的,所述获取各所述指定服务区域当前的分级信息的步骤之前,包括:根据第二预设频率,获取所述第二预设频率对应的时间段内的第一服务调用次数以及各所述第二主机分别对应的第二服务调用次数,其中,所述第一服务调用次数为所述第一主机的系统服务的调用次数,所述第二服务调用次数为所述第二主机的系统服务的调用次数;根据所述第一服务调用次数和各所述第二服务调用次数,分别计算得到服务调用总次数,以及各所述服务区域的服务调用子次数;根据各所述服务调用子次数和所述服务调用总次数,分别计算得到各所述服务区域对应的服务调用占比;将各所述服务调用占比输入预先构建的分级信息库中,分别匹配得到各服务调用占比对应的分级信息,其中,所述分级信息库包括服务调用占比与分级信息映射关系表;根据所述服务调用占比与所述服务区域之间的对应关系,以及所述服务调用占比与所述分级信息之间的对应关系,得到各所述服务区域对应的分级信息。进一步的,所述分级信息包括区域等级和所述区域等级对应的预设系统进程数量,所述根据所述服务调用占比与所述服务区域之间的对应关系,以及所述服务调用占比与所述分级信息之间的对应关系,得到各所述服务区域对应的分级信息的步骤之后,包括:获取所述服务区域的当前系统进程数量;将所述当前系统进程数量,与所述服务区域的分级信息对应的预设系统进程数量进行比对,判断两者之间的大小;若所述当前系统进程数量大于所述预设系统进程数量,则减少所述服务区域中的主机的系统进程数量至指定状态,所述指定状态为所述服务区域的当前系统进程数量等于对应的预设系统进程数量;若所述当前系统进程数量大于所述预设系统进程数量,则增加所述服务区域中的主机的系统进程数量至所述指定状态。进一步的,所述增加所述服务区域中的主机的系统进程数量至所述指定状态的步骤,包括:计算所述当前系统进程数量与所述预设系统进程数量之间的差值;下载所述差值对应数量的程序容器镜像到所述服务区域的主机,所述程序容器镜像包括系统进程的运行程序和运行环境;在所述服务区域的主机中运行各所述程序容器镜像,以完成所述系统进程的部署。进一步的,所述使用所述备用主机运行所述故障主机的系统服务的步骤,包括:获取所述故障主机的服务进程信息,所述服务进程信息包括系统服务的服务类型和故障前的服务进度;根据所述服务进程信息,部署所述备用主机的系统服务进程;启动完成系统服务进程部署后的备用主机,运行所述系统服务。本申请还提供了一种提高集群系统可用性的装置,应用于所述集群系统中的任意一台主机,所述集群系统包括多个服务区域,所述服务区域分布于不同地区,当前执行所述方法的主机为第一主机,所述装置包括:监控模块,用于监控各第二主机当前是否出现故障,其中,所述第二主机为所述第一主机之外的其它主机;筛选模块,用于标记当前处于故障状态的第二主机为故障主机,并从各指定服务区域中筛选当前处于可调用状态的主机作为备用主机,其中,所述指定服务区域为所述故障主机所属的服务区域之外的其它服务区域,所述可调用状态的主机为服务调用占比和运行负载符合第一预设要求的主机;运行模块,用于使用所述备用主机运行所述故障主机的系统服务。进一步的,所述监控模块包括:监控单元,用于根据第一预设频率接收各所述第二主机发送的预设信号,以实现对各所述第二主机的工作状态的监控;第一判定单元,用于判定所述第二主机当前运行正常;判断单元,用于将没有发送所述预设信号的主机标记为指定主机,并在当前时间之后的预设时间段内,判断是否接收到所述指定主机发送的所述预设信号;第二判定单元,用于判定所述指定主机运行正常;第三判定判定单元,用于判定所述指定主机出现故障。进一步的,所述筛选模块包括:第一获取单元,用于获取各所述指定服务区域当前的分级信息,所述分级信息为根据各服务区域的服务调用占比对应设置的等级信息;第一筛选单元,用于根据所述分级信息筛选当前处于可调用状态的服务区域,其中,所述可调用状态的服务区域为所述分级信息符合第二预设要求的服务区域;第二获取单元,用于获取所述当前处于可调用状态的服务区域中各主机的运行信息,所述运行信息包括主机的服务调用占比和运行负载;第二筛选单元,用于从所述当前处于可调用状态的服务区域中,筛选所述运行信息符合第三预设要求的主机作为所述备用主机。进一步的,所述装置还包括:第一获取模块,用于根据第二预设频率,获取所述第二预设频率对应的时间段内的第一服务调本文档来自技高网...

【技术保护点】
1.一种提高集群系统可用性的方法,其特征在于,应用于所述集群系统中的任意一台主机,所述集群系统包括多个服务区域,所述服务区域分布于不同地区,当前执行所述方法的主机为第一主机,所述方法包括:监控各第二主机当前是否出现故障,其中,所述第二主机为所述第一主机之外的其它主机;若出现故障,则标记当前处于故障状态的第二主机为故障主机,并从各指定服务区域中筛选当前处于可调用状态的主机作为备用主机,其中,所述指定服务区域为所述故障主机所属的服务区域之外的其它服务区域,所述可调用状态的主机为服务调用占比和运行负载符合第一预设要求的主机;使用所述备用主机运行所述故障主机的系统服务。

【技术特征摘要】
1.一种提高集群系统可用性的方法,其特征在于,应用于所述集群系统中的任意一台主机,所述集群系统包括多个服务区域,所述服务区域分布于不同地区,当前执行所述方法的主机为第一主机,所述方法包括:监控各第二主机当前是否出现故障,其中,所述第二主机为所述第一主机之外的其它主机;若出现故障,则标记当前处于故障状态的第二主机为故障主机,并从各指定服务区域中筛选当前处于可调用状态的主机作为备用主机,其中,所述指定服务区域为所述故障主机所属的服务区域之外的其它服务区域,所述可调用状态的主机为服务调用占比和运行负载符合第一预设要求的主机;使用所述备用主机运行所述故障主机的系统服务。2.根据权利要求1所述的提高集群系统可用性的方法,其特征在于,所述监控各第二主机当前是否出现故障的步骤,包括:根据第一预设频率接收各所述第二主机发送的预设信号,以实现对各所述第二主机的工作状态的监控;若接收到所述第二主机发送的预设信号,则判定所述第二主机当前运行正常;若没有接收到所述第二主机发送的预设信号,则将没有发送所述预设信号的主机标记为指定主机,并在当前时间之后的预设时间段内,判断是否接收到所述指定主机发送的所述预设信号;若接收到所述指定主机发送的所述预设信号,则判定所述指定主机运行正常;若没有接收到所述指定主机发送的所述预设信号,则判定所述指定主机出现故障。3.根据权利要求1所述的提高集群系统可用性的方法,其特征在于,所述从各指定服务区域中筛选当前处于可调用状态的主机作为备用主机的步骤,包括:获取各所述指定服务区域当前的分级信息,所述分级信息为根据各服务区域的服务调用占比对应设置的等级信息;根据所述分级信息筛选当前处于可调用状态的服务区域,其中,所述可调用状态的服务区域为所述分级信息符合第二预设要求的服务区域;获取所述当前处于可调用状态的服务区域中各主机的运行信息,所述运行信息包括主机的服务调用占比和运行负载;从所述当前处于可调用状态的服务区域中,筛选所述运行信息符合第三预设要求的主机作为所述备用主机。4.根据权利要求3所述的提高集群系统可用性的方法,其特征在于,所述获取各所述指定服务区域当前的分级信息的步骤之前,包括:根据第二预设频率,获取所述第二预设频率对应的时间段内的第一服务调用次数以及各所述第二主机分别对应的第二服务调用次数,其中,所述第一服务调用次数为所述第一主机的系统服务的调用次数,所述第二服务调用次数为所述第二主机的系统服务的调用次数;根据所述第一服务调用次数和各所述第二服务调用次数,分别计算得到服务调用总次数,以及各所述服务区域的服务调用子次数;根据各所述服务调用子次数和所述服务调用总次数,分别计算得到各所述服务区域对应的服务调用占比;将各所述服务调用占比输入预先构建的分级信息库中,分别匹配得到各服务调用占比对应的分级信息,其中,所述分级信息库包括服务调用占比与分级信息映射关系表;...

【专利技术属性】
技术研发人员:赵骏
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1