多机热备的方法及系统的制作方法

文档序号:7757009阅读:88来源:国知局
专利名称:多机热备的方法及系统的制作方法
技术领域
本发明涉及服务器热备份技术,尤其涉及一种多机热备的方法及系统。
背景技术
目前广泛应用的服务器热备实现是将服务器安装为互为备份的两台或多台服务 器,并且同时只有一台服务器在运行,当该服务器出现问题时,另一台备机启动并运行,从 而保证整个集群的正常运行。发明人在实施本发明过程中,发现现有技术至少存在如下技术问题1.可能会由 于系统的原因导致对主机停止状态的误判而使主机不适时机地切换为备机。2.在多台备机 时存在多台备机竞争主机的问题,可能会出现同一台备机反复使用作为主机的问题。

发明内容
本发明实施例所要解决的技术问题在于,提供一种多机热备的方法及系统,以避 免不适时机切换主机和备机,并避免同一备机被反复使用作为主机。为解决上述技术问题,本发明实施例采用如下技术方案提供一种多机热备的方 法,方法包括设置主机和备机的用于标示身份的启动标识,所述主机与所述备机的启动标 识之间满足预设定顺序;在启动一为用户提供服务的主机的同时,启动至少两台备机;检 测所述主机的状态;当所述主机处于停止状态时,各所述备机向所有比自身启动标识顺序 靠后的所述备机发送推举消息,收到预设定个数的推举消息的备机确认为代理主机开始为 用户提供服务。本发明还提供一种多机热备系统,所述系统包括主机,用于为用户提供服务;至 少两台备机;启动标识设置单元,用于在所述主机启动前对所述主机和各所述备机设置用 于标示身份的启动标识,所述主机与所述备机的启动标识之间满足预设定顺序;监控单元, 用于定时检测所述主机及所述备机的运行状态;代理主机启动单元,用于在所述监控单元 检测到所述主机为停止状态时,各所述备机向所有比自身启动标识顺序靠后的所述备机发 送推举消息,确认收到预设定个数的推举消息的备机为代理主机。本发明实施例的有益效果是只有在一台备机收到所有其他备机的推举消息时, 才确定主机为停止状态,然后该备机启动作为代理主机,提高了多机热备系统的稳定性和
可靠度。主机及备机按一定顺序设置启动标识,并且主机重启后仍按照该顺序设置启动标 识,保证了各备机之间在主机停止时按顺序启动作为主机,防止一个备机多次竞争成为主 机使用,也提高了多机热备系统的稳定性和可靠度。下面结合附图对本发明实施例作进一步的详细描述。


图1是本发明多机热备系统的结构示意图。
图2是本发明多机热备方法流程图。图3是本发明多机热备系统的模块图。
具体实施例方式请参考图1,是本发明多机热备系统的结构示意图。该多机热备系统是通过在后端 设置多台运行服务程序的主机组成一服务器集群(Server Cluster),该服务器集群可以横 向扩展。该服务器集群由主机1和备机2-5组成,该主机1和备机2-5通过一交换机通讯 连接,遵循TCP协议。该多台服务器同时启动工作,该主机1为用户提供服务,该多机热备 系统同时维护一个线程和三个队列的增、删、改,当主机1的数据发生相应的增、删、改时同 时向增、删、改队列中的数据,线程定期扫描这三个队列,并将该数据广播出去,备机2-5收 到消息并更新内存或数据库中的数据,从而达到多个备机的数据同步。当该主机停止服务 时,多机热备系统推举一备机作为代理主机开始为用户提供服务。请参考图2,是本发明多机热备方法流程图。步骤S21,通过一配置文件对主机及备机设置用于标示身份的启动标识。该启动标识为每台服务器唯一的身份标识,且所述主机与所述备机的启动标识之 间满足预设定顺序;该预设定顺序为数字顺序或字母顺序,例如0-9,启动标识为0的服务 器为主机,其余为备机;或a_j,启动标识为a的服务器为主机,其余为备机。该预设定顺序 可以为正序排列也可为倒序排列,如9-0,启动标识为9的服务器为主机,其余为备机;或 j_a,启动标识为j的服务器为主机,其余为备机。本实施例中启动标识按照1-5的顺序设 置,即主机启动标识为1,备机启动标识分别从2排列至5。步骤S22,在启动一为用户提供服务的主机的同时,启动至少两台备机。通常备机的数量为2-9台,本实施例中备机的数量为4台,主机1启动的同时,该 备机2-5同时全部启动。启动时主机1向子网内的备机2-5发起连接,连接成功后每台服 务器都向其他服务器发送“读取启动标识”的请求,该请求携带了本机的启动标识。对方服 务器收到请求后,返回配置文件中的启动标识。步骤S23,检测所述主机的状态;并判断所述主机是否为停止状态,若是则执行步 骤S24,若否继续检测判断主机状态。当主机的活动进程或者该活动进程所依赖的运行环境发生了故障时,主机的状态 即为停止状态,当然导致主机的状态为停止状态的原因还可以是现有技术中的其他原因, 在此不一一例举。本实施例中检测主机状态的方法具体为,主机1为用户提供服务的同时,向备机 2-5发送心跳信号,且各备机向比该备机启动标识顺序靠后的大的备机发送心跳信号,该心 跳信号具体为表示本机处于活动状态的心跳包,即优先级高的备机向优先级低的备机发送 心跳包标示自己还处于活动状态,那么当主机1停止时该优先级高的备机则优先竞选为代 理主机。例如备机2向备机3-5发送心跳包。另一实施例中,启动标识按照倒序排列,主机 启动标识为5,备机启动标识为4-1,那么各备机向比该备机启动标识小的备机发送心跳信 号,不再赘述。步骤S24,若判断所述主机处于停止状态时,根据一推举机制推举一备机作为代理 主机开始为用户提供服务。
主机停止时,各个备机向所有比自身启动标识顺序靠后的大的备机发送推举消 息,收到预设定个数的推举消息的备机确认为主机,所述预设定个数为所述主机与所述备 机的总数减2。本实施例中,如果该主机超过一定时间阀值未发送心跳包,各个备机向比自 己启动标识大的备机发送推举消息,收到所述主机与所述备机的总数减2个即3个推举消 息的备机确认为主机。也即除本身和主机外所有的服务器都认定主机已停止,并且该备机 收到了所有其他备机的推举消息,那么该备机就确认自己成为代理主机。另一实施例中,启 动标识按照倒序排列,各个备机向比自己启动标识小的备机发送推举消息,收到所述主机 与所述备机的总数减2个推举消息的备机确认为主机。步骤S25,主机停止后重启,根据所述预设定顺序重设所述主机的启动标识。本实施方式中,主机1停止后重启,根据由小到大的顺序,该主机1的启动该标识 顺次更改为6。请参考图3,是本发明多机热备系统的模块图。该多机热备系统100包括主机10、 至少两台备机20、监控单元30及代理主机启动单元40。该主机10用于为用户提供服务。该备机20用于再该主机10启动的同时一起启 动,作为备用服务器。该监控单元30用于实时监控该主机10及该备机20的如活动、停止等的运行状 态。该代理主机启动单元40,用于在所述监控单元30检测到所述主机10为停止状态 时,根据一推举机制启动一备机20作为代理主机为用户提供服务。所述监控单元30包括检测模块31,用于定时检测所述主机10及所述备机20的运 行状态;判断模块32,用于判断所述启动标识是否重复。该多机热备系统100还包括启动标识设置单元50及报警单元60。该启动标识设置单元50用于在所述主机10启动前对所述主机10和各所述备机 20设置用于标示身份的启动标识,所述主机10与所述备机20的启动标识之间满足预设定 顺序,及在所述主机10停止后,根据各所述预设定顺序重设所述主机10的启动标识。该报警单元60,用于在所述监控单元30判断所述启动标识有重复时发出报警提 示。该报警提示可以为声音提示,闪光提示或者弹出一界面提示。然后,管理人员根据该报 警提示修改该错误的启动标识。其中,该预设定顺序为数字顺序或字母顺序,可为倒序或顺序排列的数字或字母 及其结合,所述推举机制为各所述备机10向所有比自身启动标识顺序靠后的备机20发送 推举消息,收到预设定个数的推举消息的备机20确认为主机,所述预设定个数为所述主机 10与所述备机20的总数减2。该主机10包括第一心跳单元101,所述备机20包括第二心跳单元201,分别用于 在所述主机10为用户提供服务的同时,所述主机10向所有备机20发送心跳信号,及各所 述备机20向比该备机20启动标识顺序靠后的备机20发送心跳信号。另外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过程序来指令相关的硬件来完成,该的程序可存储于一计算机可读存储介质中, 该程序在执行时,可包括如上述各方法的实施例的流程。其中,该的存储介质可为磁碟、光 盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。 以上该是本发明的具体实施方式
,应当指出,对于本技术领域的普通技术人员来 说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本 发明的保护范围。
权利要求
一种多机热备的方法,其特征在于,方法包括设置主机和备机的用于标示身份的启动标识,所述主机与所述备机的启动标识之间满足预设定顺序;在启动一为用户提供服务的主机的同时,启动至少两台备机;检测所述主机的状态;当所述主机处于停止状态时,各所述备机向所有比自身启动标识顺序靠后的所述备机发送推举消息,收到预设定个数的推举消息的备机确认为代理主机开始为用户提供服务。
2.如权利要求1所述的多机热备的方法,其特征在于,所述预设定顺序为数字顺序或 字母顺序,所述预设定个数为所述主机与所述备机的总数减2。
3.如权利要求1所述的多机热备的方法,其特征在于,还包括 所述主机停止后重启,根据所述预设定顺序重设所述主机的启动标识。
4.如权利要求1所述的多机热备的方法,其特征在于,所述主机为用户提供服务的同 时,向所有备机发送心跳信号,且各所述备机向比该备机启动标识顺序靠后的备机发送心 跳信号。
5.一种多机热备系统,其特征在于,所述系统包括 主机,用于为用户提供服务;至少两台备机;启动标识设置单元,用于在所述主机启动前对所述主机和各所述备机设置用于标示身 份的启动标识,所述主机与所述备机的启动标识之间满足预设定顺序; 监控单元,用于定时检测所述主机及所述备机的运行状态;代理主机启动单元,用于在所述监控单元检测到所述主机为停止状态时,各所述备机 向所有比自身启动标识顺序靠后的所述备机发送推举消息,确认收到预设定个数的推举消 息的备机为代理主机。
6.如权利要求5所述的多机热备的系统,其特征在于,所述预设定顺序为数字顺序或 字母顺序,所述预设定个数为所述主机与所述备机的总数减2。
7.如权利要求5所述的多机热备系统,其特征在于,所述主机停止后重启,根据所述预 设定顺序重设所述主机的启动标识。
8.如权利要求5所述的多机热备的系统,其特征在于,所述主机包括第一心跳单元,所 述备机包括第二心跳单元,分别用于在所述主机为用户提供服务的同时,所述主机向所有 备机发送心跳信号,及各所述备机向比该备机启动标识顺序靠后的备机发送心跳信号。
9.如权利要求5所述的多机热备的系统,其特征在于,所述监控单元包括 检测模块,用于定时检测所述主机及所述备机的运行状态;判断模块,用于判断所述启动标识是否重复; 所述多机热备的系统还包括报警单元,用于在所述监控单元判断所述启动标识有重复时发出报警提示。
全文摘要
本发明涉及一种多机热备的方法及系统,该方法包括设置主机和备机的用于标示身份的启动标识,所述主机与所述备机的启动标识之间满足预设定顺序;在启动一为用户提供服务的主机的同时,启动至少两台备机;检测所述主机的状态;当所述主机处于停止状态时,各所述备机向所有比自身启动标识顺序靠后的所述备机发送推举消息,收到预设定个数的推举消息的备机确认为代理主机开始为用户提供服务。各备机之间在主机停止时按顺序推举作为主机,防止一个备机多次竞争成为主机使用,也提高了多机热备系统的稳定性和可靠度。
文档编号H04L1/22GK101917263SQ201010254150
公开日2010年12月15日 申请日期2010年8月16日 优先权日2010年8月16日
发明者周中东 申请人:深圳市赫迪威信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1