实现网络服务双机热备的方法及服务器技术

技术编号:17737348 阅读:42 留言:0更新日期:2018-04-18 13:25
本发明专利技术公开一种实现网络服务双机热备的方法及服务器,首先通过快/慢结合的心跳和握手机制,完成主备协商和服务器模式的切换;然后在网络层面,利用虚拟IP技术,实现双机利用同一IP地址对外提供网络服务的热备方案。双机热备插件的物理形态为一软件插件的形式,可安装于Windows、Linux类操作系统。该方法通过在服务器上安装热备插件,无需修改原服务器上的服务程序,非常有利于原来单服务器工作的系统,实现双机热备的升级;采用虚拟IP技术,并通过快/慢结合的心跳和握手机制,以自动完成双机热备状态的协商和服务器模式的切换,无需客户端轮询查找服务器,有效避免了客户端和用户的负担的增加。

The method and server to realize the hot standby of the network service

The invention discloses a method for realizing network service hsby and server, first through the combination of fast / slow heartbeat and hold the mobile phone system, switch standby negotiation and server mode; and then at the network level, the use of virtual IP technology, realization of using the same IP address to provide network service for the foreign hot standby scheme. The physical form of the dual machine hot standby plug-in is a software plug-in, which can be installed in the Windows and Linux operating system. The plug-in installed on the server by heat, no need to modify the original server service program, is a system for the original single server, achieve hot standby upgrade; using the virtual IP technology, and through the combination of fast / slow heartbeat and hold the mobile phone system to switch the automatic hot standby the state of the negotiation and server mode, no client polling lookup server and avoid the increased burden on the user and client.

【技术实现步骤摘要】
实现网络服务双机热备的方法及服务器
本专利技术属于网络通信中的提高网络可靠性、服务器可维护性的
,具体涉及一种用软件的方法解决基于网络服务的双机热备问题的技术方案。
技术介绍
随着信息化和网络技术的飞速发展,用户对网络服务可靠性的要求越高,如何避免和解决由服务宕机、网络中断等造成的服务质量不佳、用户体验下降等问题,变得尤为重要。现行较通行的做法是,在局域网内或分布式的架设多台服务器对外提供服务,一台服务器宕机或网络不通,其他服务器亦能保持正常工作,但是这些做法亦存在各自的弊端和问题。例如,Windows系统的网络对时服务,当某网络对时服务器不通时,需要用户手动的选择另一服务器做对时;另有一些在客户端上做了一些改进,可配置多路服务器的地址,然后帮助用户自动的探测和轮询多服务器来请求服务。这两种方式,或多或少都增加了用户负担或对客户端有一定的要求。虚拟IP技术是依赖ARP机制实现的。ARP,即地址解析协议,是TCP/IP协议栈的内容。ARP的核心思想是,在局域网内,与对方设备通信前,先在网内查询对方IP对应的MAC地址(物理地址),然后通过MAC地址完成局域网内通信。通过在一个MAC地址上绑定多个IP地址,即可实现一个网卡两个IP,即虚拟IP技术。
技术实现思路
为解决上述问题,本专利技术中提出一种实现网络服务双机热备的方法及服务器,双服务器仅暴露一个虚拟IP地址(简称VIP)为客户端提供服务,虚拟IP地址加载在主服务器上,利用ARP机制发往虚拟IP地址的请求,即被定位到主服务器上,主服务器发生异常后,通过探测和主备协商机制重新商定主备关系,以实现对客户端的双机热备服务。本专利技术的技术方案如下:一种实现网络服务双机热备的方法,服务器运行双机热备插件,并进入探测状态、独立运行状态或同步运行状态,具体如下:探测状态下,服务器发送快心跳,在第一预设应答时间内未收到其他服务器的握手应答,自动获取并加载虚拟IP地址,并进入独立运行状态;在第一预设应答时间内收到另一方服务器的握手应答后建立主备连接,通过主备协商机制完成主备协商,协商为主服务器的一方(即主服务器)自动获取并加载虚拟IP地址,随后进入同步运行状态;同步运行状态下,主服务器通过虚拟IP地址为客户端提供服务;协商为备服务器的一方(即备服务器)进入服务静默状态;主、备服务器周期性的点对点的发送慢心跳,并等待对方回复,在第二预设应答时间内接收到对方心跳时予以握手应答以进行主备同步维护,若在第二预设应答时间内接收不到对方心跳时进入探测状态;独立运行状态下,服务器通过虚拟IP地址为客户端提供服务。作为一种优选方案,独立运行状态下,不发送心跳。作为一种优选方案,所述快心跳采用UDP广播方式发送,所述慢心跳采用UDP单播方式发送。作为一种优选方案,所述主备协商机制是指通过心跳报文和心跳握手应答报文中携带的信息商定主备关系,或者通过预先设定的主备判定方式来确定主备关系。作为一种优选方案,还包括设置心跳应答定时器,用于对应答时间进行计时;在探测状态下,服务器发送快心跳,并通过心跳应答定时器对对方的应答时间进行计时;在同步运行状态下,主、备服务器周期性的点对点的发送慢心跳,并通过心跳应答定时器对对方的应答时间进行计时。作为一种优选方案,还包括设置心跳计数器,用于对快心跳进行计数;在探测状态下,服务器发送至少两次快心跳,并启动心跳计数器:若在第一预设应答时间内收到另一方服务器的握手应答,心跳计数器清0,并进入同步运行状态;若在第一预设应答时间内未收到其他服务器的握手应答,心跳计数器加1,直到心跳计数器溢出,则认定对端不存在,并进入独立运行状态。作为一种优选方案,在同步运行状态下,备服务器在第二预设应答时间内接收不到主服务器心跳或握手应答时进入探测状态,在探测状态下仍探测不到对方后自动加载虚拟IP地址,并进入独立运行状态,为客户端提供服务。作为一种优选方案,备服务器在探测状态下探测到对方出现异常后;根据主备协商机制切换重新确定主、备服务器,协商为主服务器的一方自动加载虚拟IP地址,为客户端提供服务。作为一种优选方案,探测到对方出现异常是指与主备协商机制相关的状态或参数发生变化。例如,包括在心跳报文和心跳握手应答报文中携带的热备插件的版本号发生变化,对方服务器的IP地址发生变化等。本专利技术还公开一种服务器,其装有开机时自动启动运行的双机热备插件,所述双机热备插件在运行时执行以上所述的方法。有益效果:(1)通过在服务器上安装热备插件,设置热备插件为开机自启动方式,即通过软件化的方式实现双机利用同一IP地址对外提供网络服务的热备方案,无需修改原服务器上的服务程序,非常有利于原来单服务器工作的系统,实现双机热备的升级。(2)本专利技术采用虚拟IP技术,双机共用同一个IP对外提供服务,并通过快/慢结合的心跳和握手机制,以自动完成双机热备状态的协商和服务器模式的切换,无需客户端轮询查找服务器,有效避免了客户端和用户的负担的增加。(3)本专利技术采用快/慢心跳机制,且快心跳采用广播,慢心跳采用单播,提高服务效率的同时还有效地减少了网络资源的占有。(4)本专利技术所采用双服务器服务模式可适用于云计算中虚拟机场景的应用,亦可使用于普通场景下,两台宿主机的双机热备,具有很强的通用性。附图说明图1单服务器升级为本专利技术双机热备模型的示意图;图2双机热备的状态机;图3快/慢心跳与主备协商机制;图4实现双机热备的网络模型;图5Windows和Linux系统下虚拟IP的加载;图6本专利技术具体实施步骤图。具体实施方式本专利技术首先通过快/慢结合的心跳和握手机制,完成双机热备状态的协商和服务器模式的切换;然后在网络层面,利用虚拟IP技术,实现双机利用同一IP地址对外提供网络服务的热备方案,以确保对客户端的服务不中断。本专利技术的物理形态为一软件插件的形式,可安装于Windows、Linux类操作系统,即后文所称的双机热备插件(或热备插件)。服务器上一个网卡有两个IP,即实际IP地址和虚拟IP地址,在以太网内实现服务和通信,原理上主要是利用TCP/IP协议栈中的ARP功能,操作系统会自动维护更新ARP缓存。虚拟IP地址是一个不与特定计算机或一个计算机中的网络接口卡相连的IP地址,VIP地址上数据包的收发,与实际IP地址的用法没有区别,VIP上所有收发的数据也是经过真实的物理网卡的。下面结合附图和具体实施示例,对本专利技术进行详细说明,如图1所示,图1(a)为原单服务器网络服务模式,通过增加一台相同的服务器,并在两台服务器上安装开机自启动的热备插件,如图1(b)所示,即可升级为双机热备网络服务,此种方法对原服务器的软硬件无特定要求,具有通用性。如图2所示,本专利技术中,双机热备的运行状态有三种,即探测状态、独立运行和同步运行,同时,将热备服务器机定义为三种模式,即主服务器、备服务器、独立服务器。具体如下:探测状态:表示尝试与对方(即其他服务器)握手,即正在建立主备连接的中间状态,此状态发送快心跳探测对方。通常有两种情形进入此状态:1)开机启动时;2)双机同步运行情况下,另一方疑似丢失(不发送心跳或不应答本方心跳),进入探测状态。同步运行:表示本服务器与对方建立备份连接,进入一主一备的双机同步运行状态。通常有三种情形进入此状态:1)本机在同步运本文档来自技高网...
实现网络服务双机热备的方法及服务器

【技术保护点】
一种实现网络服务双机热备的方法,其特征在于,服务器运行双机热备插件,并进入探测状态、独立运行状态或同步运行状态,具体如下:探测状态下,服务器发送快心跳,在第一预设应答时间内未收到其他服务器的握手应答,自动获取并加载虚拟IP地址,并进入独立运行状态;在第一预设应答时间内收到另一方服务器的握手应答后建立主备连接,通过主备协商机制完成主备协商,协商为主服务器的一方自动获取并加载虚拟IP地址,随后进入同步运行状态;同步运行状态下,主服务器通过虚拟IP地址为客户端提供服务;协商为备服务器的一方进入服务静默状态;主、备服务器周期性的点对点的发送慢心跳,并等待对方回复,在第二预设应答时间内接收到对方心跳时予以握手应答以进行主备同步维护,若在第二预设应答时间内接收不到对方心跳时进入探测状态;独立运行状态下,服务器通过虚拟IP地址为客户端提供服务。

【技术特征摘要】
1.一种实现网络服务双机热备的方法,其特征在于,服务器运行双机热备插件,并进入探测状态、独立运行状态或同步运行状态,具体如下:探测状态下,服务器发送快心跳,在第一预设应答时间内未收到其他服务器的握手应答,自动获取并加载虚拟IP地址,并进入独立运行状态;在第一预设应答时间内收到另一方服务器的握手应答后建立主备连接,通过主备协商机制完成主备协商,协商为主服务器的一方自动获取并加载虚拟IP地址,随后进入同步运行状态;同步运行状态下,主服务器通过虚拟IP地址为客户端提供服务;协商为备服务器的一方进入服务静默状态;主、备服务器周期性的点对点的发送慢心跳,并等待对方回复,在第二预设应答时间内接收到对方心跳时予以握手应答以进行主备同步维护,若在第二预设应答时间内接收不到对方心跳时进入探测状态;独立运行状态下,服务器通过虚拟IP地址为客户端提供服务。2.如权利要求1所述的方法,其特征在于,独立运行状态下,不发送心跳。3.如权利要求1所述的方法,其特征在于,所述快心跳采用UDP广播方式发送,所述慢心跳采用UDP单播方式发送。4.如权利要求1所述的方法,其特征在于,所述主备协商机制是指通过心跳报文和心跳握手应答报文中携带的信息商定主备关系,或者通过预先设定的主备判定方式来确定主备关系。5.如权利要求1所述的方法,其特征在于,还包括设置心跳应答定时器,用于对应答时间进行计时;...

【专利技术属性】
技术研发人员:方中海
申请(专利权)人:南京熊猫电子股份有限公司南京熊猫通信科技有限公司
类型:发明
国别省市:江苏,32

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

1