高可用访问系统以及高可用故障切换方法

文档序号:9846526阅读:1103来源:国知局
高可用访问系统以及高可用故障切换方法
【技术领域】
[0001] 本发明涉及高可用访问系统以及高可用故障切换方法。
【背景技术】
[0002] "高可用性"(High Availability)指一个系统经过专门的设计,达到降低停工时 间、保持服务不间断的效果。服务系统的高可用通常通过多个冗余节点进行主备切换而实 现,其系统的抽象模型如图1所示。
[0003] 如图1所示,服务端由多个访问节点构成一个资源池。高可用系统将外部的访问进 行转换并导向资源池中某个可用的资源节点。高可用系统对外发布一个统一的"虚拟外部 地址"以便于客户端进行访问。当客户端通过虚拟地址对服务系统进行访问时,高可用的前 端代理将对该访问请求的目的地址进行转换,转换成内部的活动节点地址,并将访问流导 向实际的活动节点。
[0004] 高可用系统会通过一定的机制对于活动的服务节点进行状态监测,当检测到活动 节点宕机时,高可用系统将从访问资源池中选取备用节点,并将访问流切换至新的活动节 点,从而达到不中断服务的效果。
[0005] 现有的高可用访问方案大多是基于主机实现的解决方案,例如Heartbeat、 Corosync、Keepalived等。其通常的实现方式如图2所示。高可用核心功能通过前端的代理 主机进行实现。当客户端的访问报文到达时,前端代理机将报文中的虚拟外部访问地址转 换为内部活动主机的实际地址,并重新对访问报文进行封装,随后通过网络设备转发报文; 当内部节点返回报文时,代理机再进行反向的地址转换与加解封装操作,并将报文传递至 客户端。
[0006] 与此同时,前端代理机还需要定时对资源池中的节点进行心跳健康监测,当发现 主节点宕机时,代理机需要选择其余的备用机作为新的活动节点,并更新转发表项,以便之 后到达的报文能够及时进行切换。
[0007] 该类实现方式能够达到高可用访问的效果,不过存在如下的不足:
[0008] 首先,功能模块混杂,实现复杂度高。高可用代理主机同时实现了心跳健康监测与 网络报文地址转换的功能。而后者属于纯网络层面的操作,应当通过专业的网络设备实现 更为合适。
[0009] 其次,前端代理主机存在单点失效的风险。所有的外部访问报文在到达网络转发 设备之前必须首先经过前端代理主机进行地址转换,一旦前端代理主机宕机,则整个系统 都将停止工作。
[0010]最后,在该类方案中,每个主数据流的进出都将通过代理主机进行网络报文地址 的转换、加解封装以及反向代理等网络层面的操作。相比于直接应用专业的网络设备进行 这类操作,其稳定性与吞吐性能有所欠缺。

【发明内容】

[0011]为解决上述问题,根据本发明的一个方面,提供了一种高可用访问系统,所述系统 包括:访问资源池,所述访问资源池由多个待访问节点构成;心跳监测模块,用于通过定期 发送心跳包来监测所述访问资源池中的节点状态;以及SDN模块,用于直接从外网接收访问 请求,以及根据所述心跳监测模块提供的节点状态而对所述访问请求进行处理并直接转发 到多个待访问节点中的一个适合节点,而没有经过其他代理主机。
[0012]在上述高可用访问系统中,所述SDN模块包括:SDN控制器,用于从所述心跳监测模 块接收心跳监测异常信息,并通知SDN交换机进行流切换;以及所述SDN交换机,用于直接从 外网接收访问请求,并根据所述SDN控制器的通知而对所述访问请求进行处理并直接转发 到所述多个待访问节点中的一个适合节点。
[0013] 在上述高可用访问系统中,所述SDN交换机直接从外网接收访问请求并进行报文 处理和转发,所述心跳监测模块和所述SDN控制器作为管理节点从旁路接入,并用于转发策 略的制定与下发,而不直接影响业务流量的转发路径。
[0014] 在上述高可用访问系统中,所述多个待访问节点中的第一节点为设置为主服务节 点,并且所述心跳监测模块通过经由所述SDN交换机定期发送心跳包来监测所述第一节点 的状态。
[0015] 在上述高可用访问系统中,当所述心跳监测模块监测到所述第一节点宕机时,它 配置成:选择所述多个待访问节点中的第二节点作为活动主机,并将该消息通知所述SDN控 制器。
[0016] 在上述高可用访问系统中,所述SDN控制器进一步配置成:向所述SDN交换机下发 流表更改的指令,通知网络流经由第二节点进行转发。
[0017] 根据本申请的另一个方面,提供了一种高可用故障切换方法,所述方法包括:通过 定期发送心跳包,心跳监测模块监测到访问资源池中作为活动节点的第一节点存在异常; 心跳监测模块选取所述访问资源池中的第二节点作为新活动节点,并将消息通知SDN控制 器;SDN控制器对流表进行更改,并向SDN交换机下发更改的流表;SDN交换机根据更改的流 表而将从外网接收的访问请求转发到所述第二节点,而没有经过其他代理主机。
[0018] 在上述高可用故障切换方法中,所述SDN交换机根据所述控制器下发的流表,对数 据层面流经的报文进行转发。
[0019]相比于现有的基于主机的高可用实现方案,本申请的技术方案至少具有如下优 势:
[0020] 第一,本申请的技术方案充分利用SDN架构的优势,通过SDN提供的开放网络接口, 将网络功能模块从主机中分离而出交由专业的网络设备进行处理,从而将心跳监测模块 与网络模块进行最大程度的解耦合,简化系统设计,同时增强了可靠性。
[0021] 第二,所有的外部访问报文直接通过网络设备转发至最终服务节点,无需通过中 间主机,由此克服了基于主机实现方案中的前端代理单点失效问题。
[0022]第三,在性能方面,本申请的技术方案直接通过专业的网络设备进行报文地址的 转换、加解封装以及反向代理、转发等操作,可以降低故障切换过程中的丢包概率并且提高 吞吐性能,更好地达到高可用系统的连接保持、平滑切换效果。
【附图说明】
[0023]在参照附图阅读了本发明的【具体实施方式】以后,本领域技术人员将会更清楚地了 解本发明的各个方面。本领域技术人员应当理解的是:这些附图仅仅用于配合具体实施方 式说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。
[0024]图1是现有的尚可用访问系统的不意图;
[0025]图2是现有的基于主机的高可用实现方案示意图;
[0026] 图3是SDN模型架构图;
[0027]图4是图2中的前端代理机的模块分解图;
[0028] 图5是根据本申请的一个实施例、基于SDN架构高可用实现的模块分解图;
[0029] 图6是根据本申请的一个实施例、基于SDN架构的高可用系统的框架图;以及
[0030] 图7是根据本申请的一个实施例、基于SDN架构的高可用故障切换原理图。
【具体实施方式】
[0031] 下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了 解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。容易理解,根据本 发明的技术方案,在不变更本发明的实质精神下,本领域的一般技术人员可以提出可相互 替换的其它实现方式。因此,以下【具体实施方式】以及附图仅是对本发明的技术方案的示例 性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
[0032]网络技术极大地推动了互联网的迅猛发展。不过,传统的网络技术一直较为封闭, 核心技术与设备市场为少数几家厂商所垄断,并且上层的应用无法直接操作到网络层以下 的设备。2009年,斯坦福团队正式提出了软件定义网络(Software Defined Networking, SDN)的概念,旨在打破网络层的封闭局面,通过对外提供标准的可编程网络接口,使得应用 可以更好地与网络进行交互,从而提升系统的整体优化性能。
[0033]典型的SDN模型如图3所示,其由SDN交换机与SDN控制器两部分组成。SDN控制器是 整个网络的中心控
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1