一种云端集群故障处理方法及装置与流程

文档序号:17817277发布日期:2019-06-05 21:53阅读:210来源:国知局
一种云端集群故障处理方法及装置与流程

本发明实施例涉及轨道交通技术领域,具体涉及一种云端集群故障处理方法及装置。



背景技术:

高可用性技术是轨道交通领域内越来越受关注的技术。轨道交通系统的可用性用平均无故障时间来度量,即计算机系统平均能够正常运行多长时间,才发生一次故障。

当前轨道交通系统设备集中站负责列车的控制和调度,集中站内包含ats(自动列车防护)分机、zc、联锁等系统。为了提升系统可用性,ats、zc、联锁都采用双机热备。采用双机热备方案的优点是,一台服务器出现了故障,系统会立刻切换到备用服务器运行,不会因为服务故障或者系统宕机,导致系统中断运行。

但是,ats负责系统调度计划、与售检票系统对接、运行压力预测和列车分配、机器视觉、机器学习等复杂功能。某个线路内,某几个站点出现庞大的客流量,ats系统会分配其它流量少的站点列车到客流量大的站点。ats深度学习功能,通过与售检票系统的对接,去学习和预测第二天或以后几天的客流量,提前分配空闲列车去流量大的站点。

现有方法中由于集中站内部ats系统功能复杂,导致系统运行效率低下。



技术实现要素:

由于现有方法存在上述问题,本发明实施例提出一种云端集群故障处理方法及装置。

第一方面,本发明实施例提出一种云端集群故障处理方法,包括:

云端集群的备用主机若在预设时间段内未接收到目标主机的心跳信息,则确认所述目标主机故障;

接管所述目标主机的服务继续运行,以使所述目标主机进行离线重启或修复;

若接收到所述目标主机的心跳信息,则确认所述目标主机恢复正常,并将运行的各服务切换回所述目标主机运行。

可选地,所述云端集群的备用主机在预设时间段内未接收到目标主机的心跳信息,则确认所述目标主机故障之前,还包括:

云端集群的备用主机通过主心跳线接收到目标主机的心跳信息,若所述主心跳线故障,则通过备心跳线接收到目标主机的心跳信息。

可选地,所述心跳消息包括主机硬件心跳信息、主机网络心跳信息、主机操作系统心跳信息、应用程序心跳信息以及主机与磁盘阵列连线心跳信息。

可选地,所述方法还包括:

设定心跳配置文件中心跳信息的侦测时间间隔和侦测次数,并根据所述心跳配置文件接收到目标主机的心跳信息。

第二方面,本发明实施例还提出一种云端集群故障处理装置,包括:

故障确认模块,用于若在预设时间段内未接收到目标主机的心跳信息,则确认所述目标主机故障;

服务接管模块,用于接管所述目标主机的服务继续运行,以使所述目标主机进行离线重启或修复;

服务恢复模块,用于若接收到所述目标主机的心跳信息,则确认所述目标主机恢复正常,并将运行的各服务切换回所述目标主机运行。

可选地,所述装置还包括:

心跳接收模块,用于通过主心跳线接收到目标主机的心跳信息,若所述主心跳线故障,则通过备心跳线接收到目标主机的心跳信息。

可选地,所述心跳消息包括主机硬件心跳信息、主机网络心跳信息、主机操作系统心跳信息、应用程序心跳信息以及主机与磁盘阵列连线心跳信息。

可选地,所述装置还包括:

文件设定模块,用于设定心跳配置文件中心跳信息的侦测时间间隔和侦测次数,并根据所述心跳配置文件接收到目标主机的心跳信息。

第三方面,本发明实施例还提出一种电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。

第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。

由上述技术方案可知,本发明实施例通过设定云端集群的备用主机,通过备用主机接管出现故障的云端集群的目标主机的服务继续运行,并在目标主机恢复后,将服务切换回目标主机运行,备用主机的功能较之ats系统更为简单,切换更为方便,以提高整个系统的运行效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1为本发明一实施例提供的一种云端集群故障处理方法的流程示意图;

图2为本发明一实施例提供的一种云端集群的网络连接示意图;

图3为本发明一实施例提供的一种云端集群故障处理装置的结构示意图;

图4为本发明一实施例提供的电子设备的逻辑框图。

具体实施方式

下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

图1示出了本实施例提供的一种云端集群故障处理方法的流程示意图,包括:

s101、云端集群的备用主机若在预设时间段内未接收到目标主机的心跳信息,则确认所述目标主机故障。

其中,所述心跳消息包括主机硬件心跳信息、主机网络心跳信息、主机操作系统心跳信息、应用程序心跳信息以及主机与磁盘阵列连线心跳信息。

所述云端集群中包括若干个主机,每个主机为一个服务器,运行其对应的服务,为各ats(自动列车防护)、zc(区域控制器)、联锁等设备提供服务。云端采用多台服务器形成集群,来保障云端的ats等功能高可用,安全稳定的运行。

所述目标主机为运行各服务的主机,所述备用主机为当目标主机出现故障时才运行服务的主机。

s102、接管所述目标主机的服务继续运行,以使所述目标主机进行离线重启或修复。

具体地,云端集群的备用主机接管所述目标主机的服务继续运行,保证服务不间断。备用主机接管后,目标主机进行离线重启或修复等操作,以尽快恢复服务功能。

s103、若接收到所述目标主机的心跳信息,则确认所述目标主机恢复正常,并将运行的各服务切换回所述目标主机运行。

具体地,一旦目标主机重启或修复后能够正常服务,则继续向备用主机发送心疼信息,以告知备用主机其功能正常,备用主机确认目标主机恢复正常后,将运行的各服务切换回所述目标主机运行。

本实施例提供的云端集群故障处理方法适用于两台或者两台以上轨道交通云端服务器中心的集群。多台主机(服务器)一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。

具体地,由主机上的软件通过心跳线实现自动监测,经由心跳监听程序,相互侦测对方运行的情况,所检查的项目有:主机硬件(cpu和周边)、主机网络、主机操作系统、应用程序、主机与磁盘阵列连线。同时能够自动切换,某一主机如果确认对方故障,则从机接管主机的服务继续运行。另外,还能够自动恢复,在正常主机代替故障主机工作后,故障主机可离线进行重启。在故障主机重启后,透过心跳线与原正常主机连线,自动切换回修复完成的主机上。整个恢复过程完成由心跳自动完成。

本实施例通过设定云端集群的备用主机,通过备用主机接管出现故障的云端集群的目标主机的服务继续运行,并在目标主机恢复后,将服务切换回目标主机运行,备用主机的功能较之ats系统更为简单,切换更为方便,以提高整个系统的运行效率。

进一步地,在上述方法实施例的基础上,s101之前,还包括:

s100、云端集群的备用主机通过主心跳线接收到目标主机的心跳信息,若所述主心跳线故障,则通过备心跳线接收到目标主机的心跳信息。

具体地,本实施例中包括两条心跳线,分别为主心跳线和被心跳线,采用备心跳线以防止主心跳线发生故障时,心跳仍然能够通过备心跳线正常传输。

进一步地,在上述方法实施例的基础上,所述方法还包括:

s1001、设定心跳配置文件中心跳信息的侦测时间间隔和侦测次数,并根据所述心跳配置文件接收到目标主机的心跳信息。

通过设定心跳配置文件,方便用户根据不同需求对侦测时间间隔和侦测次数进行设定,方便调整安全系数,同时也方便云端集群的备用主机读取。

本实施例的云端集群中各服务器(主机)自动侦测,通过两根心跳线进行数据通信;通过云端集群提升了地面设备集中站ats的运行效率;云端系统的自动切换和自动恢复,系统自动切换后,会自动重启恢复,重启成功后,切回原来的主机。提升了原来地面设备集中站ats的运行效率;保障了云端系统的持续、稳定、平稳的运行;保证了云端集群的自动恢复性。

举例来说,如图2所示,以服务器设备a和服务器设备b的最小集群设备为例,主服务器配置后,记录heartbeat(心跳)的调试信息,设定心跳(监测)时间为2秒,指定若备用节点在30秒内未收到主节点心跳信号,则接管主服务器资源,并指定心跳延迟的时间为10秒,10秒内备节点不能接收主节点心跳信号,即往日志写入警告日志,但不会切换服务。完成配置后即可运行s101-s103的步骤。其中,系统启动或重启后预留的忽略时间段,取值至少为deadtime(宕机时间)的两倍,广播/单播通讯使用udp端口,使用网卡eno16777736发送心跳检测m,采用网卡eth0的udp多播来组织心跳,一般在备用节点不止一台时使用。bcast、ucast和mcast分别代表广播、单播和多播,是组织心跳的的方式,任选其一;采用网卡ens33的udp单播来组织心跳,后面跟的ip地址为双机对方ip地址m。需要说明的是,可以通过ping网关检测心跳是否正常来测试网络连通情况。

图3示出了本实施例提供的一种云端集群故障处理装置的结构示意图,所述装置包括:故障确认模块301、服务接管模块302和服务恢复模块303,其中:

所述故障确认模块301用于若在预设时间段内未接收到目标主机的心跳信息,则确认所述目标主机故障;

所述服务接管模块302用于接管所述目标主机的服务继续运行,以使所述目标主机进行离线重启或修复;

所述服务恢复模块303用于若接收到所述目标主机的心跳信息,则确认所述目标主机恢复正常,并将运行的各服务切换回所述目标主机运行。

具体地,所述故障确认模块301若在预设时间段内未接收到目标主机的心跳信息,则确认所述目标主机故障;所述服务接管模块302接管所述目标主机的服务继续运行,以使所述目标主机进行离线重启或修复;所述服务恢复模块303若接收到所述目标主机的心跳信息,则确认所述目标主机恢复正常,并将运行的各服务切换回所述目标主机运行。

本实施例通过设定云端集群的备用主机,通过备用主机接管出现故障的云端集群的目标主机的服务继续运行,并在目标主机恢复后,将服务切换回目标主机运行,备用主机的功能较之ats系统更为简单,切换更为方便,以提高整个系统的运行效率。

进一步地,在上述装置实施例的基础上,所述装置还包括:

心跳接收模块,用于通过主心跳线接收到目标主机的心跳信息,若所述主心跳线故障,则通过备心跳线接收到目标主机的心跳信息。

进一步地,在上述装置实施例的基础上,所述心跳消息包括主机硬件心跳信息、主机网络心跳信息、主机操作系统心跳信息、应用程序心跳信息以及主机与磁盘阵列连线心跳信息。

进一步地,在上述装置实施例的基础上,所述装置还包括:

文件设定模块,用于设定心跳配置文件中心跳信息的侦测时间间隔和侦测次数,并根据所述心跳配置文件接收到目标主机的心跳信息。

本实施例所述的云端集群故障处理装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

参照图4,所述电子设备,包括:处理器(processor)401、存储器(memory)402和总线403;

其中,

所述处理器401和存储器402通过所述总线403完成相互间的通信;

所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1