一种基于仲裁盘机制的双机热备方法技术

技术编号:9694612 阅读:172 留言:0更新日期:2014-02-21 00:49
本发明专利技术提供一种基于仲裁盘机制的双机热备方法,用于实现多个服务器之间的备份,所述多个服务器通过竞争获得对存储节点上的仲裁区的控制权,成功获得仲裁区控制权的服务器成为活动服务器,其它节点成为备份服务器;所述活动服务器定时更新心跳值,所述备份服务器定时读取心跳值,如果在一段时间内所述心跳值不发生变化则确定所述活动服务器宕机,所述备份服务器再次竞争对仲裁区的控制权,确定新的活动服务器。所述方法能够准确判断活动服务器的工作状态,避免误判以及脑裂情况的发生,保证服务的连续性。

【技术实现步骤摘要】

本专利技术涉及到服务器热备份
,具体涉及到。
技术介绍
服务器作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂,是网络上一种为客户端计算机提供各种服务的高性能的计算机,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。为了对外提供可靠的连续的不间断服务,要求服务器必须具有可靠的稳定性,以保证各种实时在线业务的顺利进行。基于此可以通过双机热备的方式来避免服务器软件或硬件故障而导致的在线交易中断,即在一台服务器故障时另一台服务器可以及时的监测到故障,并接替另一台服务器对外提供服务,以达到服务不中断的要求。但是目前的双机热备的方式存在较多的弊端,例如不能准确的监测到另一台服务器是否正常工作,从而出现误判的情况;另一种是容易出现脑裂情况,从而使得服务器数据库受损,破坏数据。
技术实现思路
针对以上缺陷,本专利技术提供,通过此方法可以准确的判断服务器的工作状态,很好的避免误判以及脑裂情况的发生;另外这种仲裁盘机制不会占过太大的硬盘空间,只需少部分即可满足。所述方法应用于双机热备份系统中,所述双机热备份系统包括多个服务器和一个存储节点,所述存储节点上设置有仲裁区,所述方法包括:S1:所述系统上电启动后,所述服务器竞争获得所述仲裁区的控制权,成功获得所述仲裁区控制权的服务器被设置为活动服务器,其它服务器被设置为备份服务器;S2:活动服务器定时更新保存于所述仲裁区中的心跳值,备份服务器定时读取所述心跳值;S3:若在一段时间内,所述备份服务器确定所述心跳值没有变化,则确定所述活动服务器宕机,所述备份服务器竞争获得所述仲裁区的控制权,成为新的活动服务器,返回步骤S2。本专利技术的优点在于:通过本专利技术可以准确的监控服务器节点是否正常工作,并且避免了争夺磁盘访问权的一些弊端,使得对节点宕机的判断更加准确,并且不会出现误判的情况,使得节点能对外提供更稳定的服务。【附图说明】图1为本专利技术提出的双机热备系统架构图。图2为本专利技术提出的获取仲裁区的控制权的流程图。图3为本专利技术提出的备份节点对心跳值进行侦听的流程图。图4为本专利技术提出的备份节点获取仲裁区控制权的流程图。【具体实施方式】结合附图1-4对本专利技术的技术方案进行详细说明。参见附图1,整个双机热备系统由两台服务器,一台存储节点组成,两台服务器分别成为Node A和Node B,两台服务器与存储节点之间通过光纤连接。在存储节点上划分一块磁盘空间作为仲裁区,并且只允许特定进程对其读写,而实时业务所产生的数据存储到其它分区,即此分区只作为仲裁使用,不作为存储应用。系统中的活动节点(为Node A和Node B中的一个)和备份节点(为Node A和Node B中的另一个)定时对仲裁区域进行读写操作,备份节点通过判断特定状态位来感知活动节点当前的工作状态。当仲裁区被活动节点控制时,备份节点对此区的读写数据会失败。其中所述仲裁区是指在存储节点上单独划分的一块分区,用于两台服务器之间的通信,以达到对服务器的工作状态进行实时监控的目地。仲裁区决定双机热备中的哪个节点对外提供服务以及对磁盘进行读写的权力;仲裁区维护以下数据:status, node, count。节点只有获得了对仲裁区的控制权,才有权力访问磁盘的数据区,对实时交易数据进行存储。其中所述status标志仲裁区是否具有属主,如果没有节点便可以尝试去竞争成为仲裁区的主人,如果有属主则其他节点只能继续对此状态位进行论询。其中所述node是仲裁区拥有者的标识,即哪个节点目前正在常管着仲裁区,进而拥有对整个磁盘的读写权力。其中所述count用于判断磁盘拥有者是否岩机,备份节点可以通过读取count的值来判断活动节点当前是否宕机。如果发现活动节点宕机,则备份节点可以按照竞争获取仲裁区权限规则来获取对仲裁区的控制权限。其中所述获取仲裁区控制权需具备两个条件:条件一个是status没有属主,条件二是在条件一的基础上备份节点判断活动节点宕机。当具备这两个条件之后,备份节点便可以执行获取仲裁区控制权的流程,进而获得对磁盘数据区的读写权并对外提供服务。附图2示出了竞争获取仲裁区控制流程,节点读写仲裁区数据,即读取status的值,如果该值显示仲裁区没有属主,则写入自已节点的标识到node,然后再读取node的值,检查读取的值是否与自己标识匹配,如果匹配则继续写入数据到仲裁区的count,在写入成功之后再次读取count的值,如果其值与写入时的值相等则该节点接管仲裁区的管理权,成为活动节点,之后该活动节点定时更新count的值并将count的值做为心跳值。若此流程任何一步失败,所述节点都不能得到仲裁区的控制权,需要重新发起竞争获取仲裁区控制权的流程。其中所述将count的值作为心跳值是侦听活动节点是否正常工作的主要方式,流程参见附图3所示。例如Node A获得了对仲裁区的控制权,成为活动节点,那么Node A会定时更新count的值,做为备份节点的Node B通过定时查询node的值以及count的值来探测活动节点Node A是否岩机,Node B在某时刻读取count的值后待等待一段时间,再去读取count的值,如果该值发生变化则说明Node A工作正常。参见附图4,如果Node B等待一段时间后再去读取count的值并确定该值未变化,则说明Node A岩机,重复执行一定次数之后,Node B便可以肯定Node A确实岩机。之后,Node B可以发起竞争获取仲裁盘控制权的流程并更改node的值为自身节点名。为了便于理解,对附图2-4的流程可以总结如下:首先开启竞争获得仲裁区控制权流程,当两台服务器Node A和Node B初次开启之后,便会发起竞争获取仲裁区控制权的流程,之后仲裁盘的控制权便会被其中某节点掌管,该某个节点便成为活动节点。其次,在活动节点接管仲裁盘权限之后,便可以对外提供服务,并定时的更新count的值做为心跳值。再次,备份点节时刻侦测仲裁盘中count的值,如果在一段时间内发现count的值不发生变化,便判断活动节点宕机,便会发起竞争获取仲裁盘控制权的流程。最后,当备份节点成功获得仲裁盘控制权之后便转变为活动节点对外提供服务,而另一个节点则进行错语恢复流程,恢复完后做为备份节点持续监控活动节点count的值。至此,两个节点角色发生互换,即完成一次切换,这样可以持续的对外提供服务而不会中断。当然,本专利技术还可有其他多种实施例,在不背离本专利技术精神及其实质的情况下,熟悉本领域的技术人员当可根据本专利技术作出各种相应的改变和变形,但这些相应的改变和变形都应属于本专利技术的权利要求的保护范围。本文档来自技高网...

【技术保护点】
一种基于仲裁盘机制的双机热备方法,应用于双机热备份系统中,其特征在于:所述双机热备份系统包括多个服务器和一个存储节点,所述存储节点上设置有仲裁区,所述方法包括:S1:所述系统上电启动后,所述服务器竞争获得所述仲裁区的控制权,成功获得所述仲裁区控制权的服务器被设置为活动服务器,其它服务器被设置为备份服务器;S2:活动服务器定时更新保存于所述仲裁区中的心跳值,备份服务器定时读取所述心跳值;S3:若在一段时间内,所述备份服务器确定所述心跳值没有变化,则确定所述活动服务器宕机,所述备份服务器竞争获得所述仲裁区的控制权,成为新的活动服务器,返回步骤S2。

【技术特征摘要】
1.一种基于仲裁盘机制的双机热备方法,应用于双机热备份系统中,其特征在于:所述双机热备份系统包括多个服务器和一个存储节点,所述存储节点上设置有仲裁区,所述方法包括: Si:所述系统上电启动后,所述服务器竞争获得所述仲裁区的控制权,成功获得所述仲裁区控制权的服务器被设置为活动服务器,其它服务器被设置为备份服务器; S2:活动服务器定时更新保存于所述仲裁区中的心跳值,备份服务器定时读取所述心跳值; S3:若在一段时间内,所述备份服务器确定所述心跳值没有变化,则确定所述活动服务器宕机,所述备份服务器竞争获得所述仲裁区的控制权,成为新的活动服务器,返回步骤S2。2.如权利要求1所述方法,其特征在于: 所述仲裁区中保存有三个数据字段,分别为status字段,node字段和count字段,所述status字段记录所述仲裁区是否具有拥有者,所述node字段记录仲裁区拥有者标识,所述count字段记录所述心跳值,系统上电启动时所述三个数据字段为空值, 所述竞争获得仲裁区的控制权具体为:所述服务器读取status字段的值,如果确定所述仲裁区当前没有拥有者,则将该服务器的标识写入node字段,然后再次读取所述no...

【专利技术属性】
技术研发人员:郭美思宋立伟吴楠
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:

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

1