著录项信息
专利名称 | 一种跨网段的N+1备份方法及装置 |
申请号 | CN201210138440.4 | 申请日期 | 2012-05-07 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-10-03 | 公开/公告号 | CN102710457A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/26 | IPC分类号 | H;0;4;L;1;2;/;2;6;;;H;0;4;L;2;9;/;1;2;;;H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 浙江宇视科技有限公司 | 申请人地址 | 浙江省杭州市滨江区东信大道66号C厂房A区二.三层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浙江宇视科技有限公司 | 当前权利人 | 浙江宇视科技有限公司 |
发明人 | 杜超华;周迪 |
代理机构 | 北京博思佳知识产权代理有限公司 | 代理人 | 林祥 |
摘要
本发明提供一种跨网段N+1备份方法及装置,应用于服务器上,其中该服务器配置有浮动IP地址,本发明包括:使用心跳IP地址与对端服务器建立心跳连接,并通过心跳连接与对端的备用服务器交互双方的网关接口IP地址;检测自身的业务服务是否正常,并在检测到自身业务服务异常时停止业务服务;在自身异常时通知备用服务器启用所述浮动IP地址,通知自身的网关设备将所述浮动IP地址对应的静态路由置为无效状态,通知备份服务器的网关设备将所述浮动IP地址对应的静态路由发布出去。本发明能够实现跨网段N+1备份,并且主备切换的速度很快。
一种跨网段的N+1备份方法及装置\n技术领域\n[0001] 本发明涉及服务器备份技术,尤其涉及一种跨网段的N+1的备份方法及装置。\n背景技术\n[0002] 随着监控行业的发展监控系统规模越来越大,用户对监控服务器的可靠性需求越来越高,目前对服务器(如VM服务器)的备份机制主要是双机备份或者是N+1备份。\n[0003] 双机备份即一台主机(即主用服务器)及一台备机(即备用服务器)都放在同一个机房中,共用一个浮动IP地址对外提供业务服务器。需要说明的是浮动IP地址与动态IP地址是两个不同的概念。浮动IP地址既可以是固定配置的也可以是动态分配的。在主机正常时,浮动IP地址在主机上,主机对外提供监控业务服务。主机故障或者网络中断后,备机检查到主机异常,备机切换成工作状态,浮动IP地址切换到备机上,备机对外提供监控业务服务(这也是浮动IP地址定义的由来)。然而这种方法的缺陷是成本比较高,因为每一个服务器都需要一个备用服务器。\n[0004] 另外一种备份方法是N+1备份,即N个主机和一台备机的组合,N个主机分别使用N个浮动IP地址对外提供服务,当其中一台主机异常后,备机使用该主机的浮动IP地址对外提供服务。但是,请参考图1所示的地铁沿线组网图,因为要使用同一个浮动IP地址,所以主用VM必须与备用VM在同一个二层网络,现有的服务器N+1备份方案限制了所有的服务器都在一个二层网络。如果服务器在异地,中间需要跨三层网络,现有的N+1方案无法使用。\n发明内容\n[0005] 有鉴于此,本发明提供一种跨网段N+1备份装置,应用于监控网络中的服务器上,其中该服务器作为主用服务器时,使用浮动IP地址对外提供业务服务,且该服务器的网关设备上配置有与该浮动IP地址对应的静态路由以及与该浮动IP地址对应的网关子接口IP地址,其中所述监控网络包括备用服务器以及N(不小于2)个主用服务器;该装置包括:\n[0006] 心跳单元,用于使用心跳IP地址与对端服务器建立心跳连接,并通过心跳连接与对端的备用服务器交互双方的与心跳IP地址对应的网关接口IP地址;\n[0007] 检测单元,用于检测自身的业务服务是否正常,并在检测到自身业务服务异常时通知主备管理单元并将业务服务单元的服务停止;\n[0008] 业务服务单元,用于在自身作为主用服务器时使用所述浮动IP地址对外 提供业务服务;\n[0009] 主备管理单元,用于在自身业务服务异常时通知对端的备用服务器启用所述浮动IP地址对外提供业务服务,通知自身的网关设备将所述浮动IP地址对应的静态路由置为无效状态,根据备用服务器的网关接口IP地址通知备份服务器的网关设备将所述浮动IP地址对应的静态路由发布出去。\n[0010] 本发明还提供一种跨网段N+1备份方法,应用于监控网络中的服务器上,其中该服务器作为主用服务器时,使用浮动IP地址对外提供业务服务,且该服务器的网关设备上配置有与该浮动IP地址对应的静态路由以及与该浮动IP地址对应的网关子接口IP地址,其中所述服务器包括备用服务器以及N(不小于2)个主用服务器;其中该服务器在自身作为主用服务器时使用所述浮动IP地址对外提供业务服务,该方法包括:\n[0011] A、使用心跳IP地址与对端服务器建立心跳连接,并通过心跳连接与对端的备用服务器交互双方的与心跳IP地址对应的网关接口IP地址;\n[0012] B、检测自身的业务服务是否正常,并在检测到自身业务服务异常时将自身的业务服务停止;\n[0013] C、在自身业务服务异常时通知对端的备用服务器启用所述浮动IP地址对外提供业务服务,通知自身的网关设备将所述浮动IP地址对应的静态路由置为无效状态,根据备用服务器的网关接口IP地址通知备份服务器的网关设备将所述浮动IP地址对应的静态路由发布出去。\n[0014] 本发明通过服务器与网关设备的配合,能够在跨网段的情况下实现N+1 备份,并且服务器与网关在路由发布上的配置机制使得路由发布比网关设备主动探测等传统机制更加及时,主备切换对业务的影响可以被大幅度降低。\n附图说明\n[0015] 图1是一种典型的需要跨网段进行服务器N+1备份组网环境。\n[0016] 图2是本发明服务器N+1备份的逻辑组网图。\n[0017] 图3是本发明网关设备硬件结构图。\n[0018] 图4是本发明网关侧N+1备份装置的逻辑结构图。\n[0019] 图5是本发明服务器侧N+1备份装置的逻辑结构图\n具体实施方式\n[0020] 以下结合附图对本发明进行详细描述。请参考图1以及图2,图1所示的示意了一种地铁监控网络的组网结构,在这样的易用场景下如果需要实施N+1备份机制,则难以避免需要克服跨网段的问题。本发明为主用服务器引入两个IP地址,借由服务器与网关设备的配合来解决上述问题。请参考图2所示本发明解决上述问题的组网逻辑图。主用服务器(VM_MAIN1以及VM_MAIN2)均设置有一个自身IP地址(IP1_1以及IP2_1),这个自身IP地址用来与其他服务器建立心跳线,这两个心跳IP地址对应的网关接口IP地址则分别为IP1_0以及IP2_0。这里所说的心跳线是一个逻辑概念,并非特指物理上的连线,而是指逻辑上的连接,可以理解为承载心跳报文的连接。 主用服务器(VM_MAIN1及VM_MAIN2)均进一步包括一个浮动IP地址(IP11_1以及IP22_1),VM的浮动IP地址主要用于对外提供业务服务,比如监控业务服务。VM是监控网络中的核心节点,其与其他节点主要进行信令交互,引导整个监控数据业务在网络中的传输与存储。\n[0021] 图2中各个服务器(包括备用服务器)利用网关设备接入网络,在较佳的实施方式中,该网关设备是路由器或者三层交换机。由于浮动IP地址的引入,各个主用服务器对应的网关设备上也需要分别配置与浮动IP地址一一对应的网关子接口IP地址(IP11_0以及IP22-0)。\n[0022] 请参考图3以及图4,图3所示为本发明网关设备一种通用的硬件架构图,其中CPU通常负责处理网络协议等控制层面的事务,比如路由学习、路由发布以及路由计算等等;而转发芯片(如ASIC芯片)主要负责处理数据报文(也称为业务报文)的转发。如果网关设备是一台传统的路由器,其可能并不需要转发芯片,业务报文的转发可以通过CPU执行计算机程序来实现的。而相应地本发明服务器的硬件架构可采用通用的服务器硬件架构。\n[0023] 图4是本发明采用计算机程序实现的实施方式下的网关侧N+1备份装置的逻辑结构图,其包括路由处理单元、配置管理单元及网关侧检测单元。图5是本发明服务器侧N+1备份装置的逻辑结构,其包括:心跳单元、检测单元、业务服务单元、主备管理单元以及告警单元(未图示)。以下描述服务器与网关设备之间通过配合来实现快速跨网段N+1备份的处理流程。需要说明的是,本发明并不局限于计算机程序实现,但是无论何种实现方式,网关 设备以及服务器的逻辑结构均可以抽象为图4以及图5所示的结构。以下从主用服务器的角度来描述本发明的处理流程,相应地备用服务器的处理流程将穿插于其中进行说明。\n[0024] 步骤101,在网关设备上,通过配置接口分别接收与N个浮动IP地址对应在同一网段的N个网关子接口的IP地址,其中各个浮动IP地址分属于不同的网段。\n[0025] 步骤102,通过配置接口接收N个与浮动IP地址分别对应的静态路由。步骤101以及步骤102由网关设备的配置管理单元执行。\n[0026] 在初始时,各个服务器通常都会通过手工配置或者DHCP等方式得到心跳IP地址。\n进一步来说,对于主用服务器以及其网关设备,还可以通过手工配置的方式(当然也可以是基于一些私有/共有协议的配置方式)在各个主用服务器配置浮动IP地址(各个浮动IP地址可以分属于不同的网段),在各个网关设备上配置与浮动IP地址对应的网关子接口IP地址以及与浮动IP地址对应的静态路由。初始时,主用服务器的网关设备上的静态路由处于有效状态,而备用服务器的网关设备上的静态路由处于无效状态,因为备用服务器还不需要对外提供服务。\n[0027] 备用服务器的网关上需要配置与主用服务器的网关设备相同的网关子接口IP地址。当备用服务器启用主用服务器的浮动IP地址时,该浮动IP地址有相应的网关子接口可以为其提供网关服务。备用服务器的网关设备上同样需要配置与各个浮动IP地址对应的静态路由。也就是说各个主用服务器的网 关设备上配置的与浮动IP地址对应的网关子接口IP地址以及与浮动IP地址对应的静态路由都需要在备用服务器的网关上有相同的配置,以便于备用服务器使用任意一个主用服务器的浮动IP地址之后,备用服务器的网关配置能够满足其接入网络的要求。在具体实现中,每个服务器的网关设备的在网关子接口IP地址配置以及静态路由的配置可以是一致的,因为主用服务器与备用服务器只角色的概念,随时可能互相转换,所以网关设备配置相同是一种常见的实施方式。同样的道理,备用服务器上可以在初始的时候配置上N个浮动IP地址(但初始时不会被使用),当然即便初始不进行这样的配置,备用服务器也可以通过心跳连接与各个主用服务器交互来获知所述N个浮动IP地址,主要是要让备用服务器能够知道每个主用服务器的浮动IP地址以便随时接管主用服务器的服务,具体设计细节可以参考现有技术。\n[0028] 步骤104,主用服务器使用心跳IP地址与对端备用服务器建立心跳连接,并通过心跳连接与对端服务器交互双方的与心跳IP地址对应的网关接口IP地址;本步骤由心跳单元处理。\n[0029] 步骤105,主用服务器检测自身业务服务是否正常,检测到自身服务异常时通知主备管理单元并停止业务服务;本步骤由检测单元处理。\n[0030] 步骤106,在自身业务服务异常时通知对端的备用服务器启用所述浮动IP地址对外提供业务服务,通知自身的网关设备将所述浮动IP地址对应的静态路由置为无效状态,根据备用服务器的网关接口IP地址通知备份服务器的网关设备将所述浮动IP地址对应的静态路由发布出去。本步骤由主备管理 单元处理。\n[0031] 在服务器启动之后,如果该服务器被配置为主用服务器,比如通过选举或者手工配置的方式成为主用服务器。主用服务器的业务服务单元开始使用浮动IP地址对外提供业务服务,此时主用服务器还需要用心跳IP地址开始与对端备用服务器建立心跳连接。心跳连接建立之后,主备服务器之间会定期发送心跳报文。在本发明中心跳报文将携带新的信息—心跳IP地址对应的网关接口IP地址。在进行充分的交互之后,备用服务器就会知道所有对端主用服务器的网关接口IP地址,主用服务器就会知道对端备份服务器的网关接口IP地址。\n[0032] 在服务器刚启动时,主备管理单元可以知道自身是主用服务器,比如说读取到手工的配置,或者是读取到选举结果,或者是检测单元初始检测结果等等,此处对于网关设备而言也可以理解为服务器身份从备用转变为主用,此时主备管理单元可以在启动时就通知自身的网关设备发布与自身浮动IP地址对应的静态路由。\n[0033] 主用服务器在运行的过程中可能会出现异常,主要包括两种情况:第一种是主用服务器上的业务服务本身出现异常,比如说访问量过大导致的异常等,服务器上的检测单元可以定期检测业务服务单元的业务服务是否正常,检测单元中可以包括一个专用的脚本来实现对业务服务的检测。如果检测到业务服务异常则通知主备管理单元。相应地,主备管理单元通知备用服务器启用主用服务器自身的浮动IP地址来接替自身对外提供业务服务,同时通知 自身的网关设备的网关侧检测单元,网关侧检测单元收到通知后会指令路由处理单元将浮动IP地址对应的静态路由置为无效。主备管理单元还可以根据心跳报文中获得的对端服务器的网关接口IP地址进一步通知备用服务器的网关设备的网关侧检测单元,该网关侧检测单元收到通知后会指令路由处理单元将所述浮动IP地址对应的静态路由置为有效并通过动态路由协议发布出去。由于主用服务器的主备管理单元的及时通知,使得主备两侧的网关设备能够快速地对浮动IP地址对应的静态路由做出最及时的处理,相比于网关设备通过报文探测等手段要快很多,对业务影响可以降到最低,而且网关设备经常向服务器发送探测报文无疑也会影响服务器的性能。\n[0034] 第二种是主用服务器与外部的通信出现异常,此时检测单元可以根据心跳单元的报告得知,心跳单元如果长时间收不到对端的心跳报文则说明与对端无法进行正常的通信,此时有可能是自身一侧的网络出现问题,也有可能是对端一侧的网络出现问题。主备服务器的检测单元都会收到心跳单元的通知,双方的检测单元均会检测与一个预设的第三方地址之间的连通性,如果连通,则确定自身角色此时应该成为主用服务器,如果不能连通则确定自身为备用服务器。如果当前的主用服务器能够连通,则主用服务器一侧可以视为问题出在备用服务器一侧的网络中,主用服务器不需要对业务做出调整。如果备用服务器能够连通,则备用服务器一侧可以认为当前主用服务器一侧的网络出现问题,此时需要通知自身的主备管理单元。相应地,主备管理单元通知业务服务单元启用浮动IP地址对外提供业务服务,同时通知自身的网 关设备的网关侧检测单元,网关侧检测单元收到通知后会指令路由处理单元将浮动IP地址对应的静态路由置为有效并发布出去;并通知主用服务器的网关设备的网关侧检测单元,网关侧检测单元收到通知后会指令路由处理单元将静态路由置为无效。如前所述,同样由于服务器一侧的主动通知加快了网关设备对静态路由的处理速度。在第二种情形当中,无论是主用服务器还是备用服务器,一旦确定自身无法连通第三方地址,则需要立刻进入重启状态,因为有些异常是可以通过重启来消除掉的。\n[0035] 另外,无论是第一种还是第二种情形,一旦备用服务器成为主用服务器后,告警单元都需要向管理员发送一条主备切换的告警,管理员可以根据该告警及时处理出现异常的服务器。\n[0036] 步骤107,当网关设备收到服务器的通知后,根据通知将浮动IP地址对应的静态路由置为有效或者通过动态路由协议将静态路由发布出去,本步骤由路由处理单元来执行。\n[0037] 在各个主用服务器都正常的时候,备用服务器不会接管任何浮动IP地址来对外提供服务,因此备用服务器的网关上的各个浮动IP地址对应的静态路由置为无效。一旦某个主用服务器上的业务服务异常,备用服务器可以根据主用服务器的通知或者自身检测机制尽快接管其业务服务,但是此时网络中的其他设备还不知道如何将报文正确转发给备用服务器,因为网络中的其他设备还不知道主用服务器的浮动IP地址已经“搬家”了。本发明中备用服务器一旦转被为主用服务器,原主用服务器或者新用服务器会通知新主用服务器 的网关设备来发布浮动IP地址对应的静态路由,这样网络中的其他设备会及时知道如何在IP层面找到该浮动IP地址。请参考图2,假设VM_Main1的服务异常时,VM-BAK启用VM_Main1的浮动IP地址(IP11_1),通过VM-BAK或者VM_Main1通知自身网关设备主动发布静态路由,VM-BAK顺利地以IP11_1名义对外提供业务服务,网络中的主机可以很快找到IP11_1,主机用户在业务层面上并不会感受到任何的差异。\n[0038] 本发明通过服务器与网关设备的配合,能够在跨网段的情况下实现N+1备份,并且服务器与网关在路由发布上的配置机制使得路由发布比网关设备主动探测等传统机制更加及时,主备切换对业务的影响可以被大幅度降低。\n[0039] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
法律信息
- 2015-11-25
- 2013-01-16
实质审查的生效
IPC(主分类): H04L 12/26
专利申请号: 201210138440.4
申请日: 2012.05.07
- 2012-10-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |