发明内容
本发明提供了一种CGN设备的双机热备的方法及装置,以至少解决相关技术中无法对CGN设备在三层网络环境下的业务数据进行备份的问题。
根据本发明的一个方面,提供了一种CGN设备的双机热备的方法,包括:在主用设备和备用设备之间建立检测链路,所述主用设备切换到主状态,所述备用设备切换到备状态;在所述检测链路上建立备份通道;所述主用设备通过所述备份通道向所述备用设备备份信息。
优选地,在所述主用设备通过所述备份通道向所述备用设备备份信息之后,还包括:当所述主用设备检测到故障时,关闭所述检测链路,所述主用设备由主状态切换到初始状态;所述备用设备检测到所述检测链路关闭后,所述备用设备由备状态切换为主状态。
优选地,所述备用设备由备状态切换为主状态之后,还包括:所述主用设备检测到故障修复时,重新建立所述检测链路,所述主用设备由初始状态切换至备状态;所述备用设备检测到所述检测链路重新建立后,在所述检测链路上重新建立备份通道;所述备用设备通过所述备份通道向所述主用设备备份信息;当所述备份结束,则所述备用设备由主状态切换至备状态,所述主用设备由备状态切换至主状态。
优选地,所述主用设备和所述备用设备在所述检测链路上建立备份通道包括:在所述主用设备的主控管理单元与所述备用设备的主控管理单元之间建立用户备份通道;在所述主用设备的业务处理单元与所述备用设备的业务处理单元之间建立会话备份通道。
优选地,在所述主用设备与所述备用设备之间基于传输控制协议(Transmission ControlProtocol,简称为TCP)或用户数据包协议(User Datagram Protocol,简称为UDP)建立所述备份通道。
优选地,所述信息至少包括以下之一:用户信息,会话信息。
优选地,对于DS-Lite,所述用户信息至少包括以下之一:IPv6前缀及子网前缀长度,隧道目的第六版互联网协议(Internet Protocol Version 6,简称为IPv6)地址,虚拟专用网络(VirtualPrivate Network,简称为VPN)信息;对于64网络地址转换(Network Address Translation 64,简称为NAT64),所述用户信息至少包括以下之一:IPv6前缀及子网前缀长度,NAT64前缀,VPN信息;对于NAT44,所述用户信息至少包括以下之一:IPv4地址,VPN信息。
优选地,当所述信息为所述用户信息时,所述主用设备通过所述备份通道向所述备用设备备份信息包括:所述主用设备的主控管理单元将添加的所述用户信息同步到所述备用设备的主控管理单元;所述备用设备的主控管理单元将所述添加的所述用户信息同步到所述备用设备的业务处理单元;所述备用设备的业务处理单元保存所述添加的所述用户信息。
优选地,所述会话信息至少包括以下之一:端口控制协议(Port Control Protocol,简称为PCP)响应值(ECHO)信息、网络地址转换信息和ALG信息;其中,所述网络地址转换信息至少包括以下之一:私网IPv4地址,公网IPv4地址,端口信息,端口块信息,协议类型,用户标识信息;所述应用层网关(Application Layer Gateway,简称为ALG)信息至少包括以下之一:ALG控制信息,ALG协议类型,用户标识信息。
优选地,当所述信息为所述用户信息时,所述主用设备通过所述备份通道向所述备用设备备份信息包括:所述主用设备的主控管理单元将删除的所述用户信息同步到所述备用设备的主控管理单元;所述备用设备的主控管理单元将所述删除的所述用户信息同步到所述备用设备的业务处理单元;所述备用设备的业务处理单元根据所述删除的用户信息删除相应用户的用户信息以及该用户的网络地址转换信息和ALG信息。
优选地,当所述信息为所述会话信息时,所述主用设备通过所述备份通道向所述备用设备备份信息包括:所述备用设备的业务处理单元将所述用户信息或所述用户标识信息通知给所述主用设备的业务处理单元;所述主用设备的业务处理单元接到所述通知后,将所述用户的网络地址转换信息备份。
优选地,所述主用设备切换到主状态,所述备用设备切换到备状态,包括:所述主用设备检测到所述检测链路状态为UP,以及自身的业务接口和业务单元均处于正常工作状态时,切换到主状态;所述备用设备检测到所述检测链路状态为UP,以及自身的业务接口和业务单元均处于正常工作状态时,切换到备状态。
优选地,所述检测链路的检测采用三层检测协议,其中,所述三层检测协议至少包括以下之一:双向转发检测(Bidirectional Forwarding Detection,简称为BFD)协议,因特网包探索器(Packet Internet Group,简称为PING)协议。
根据本发明的另一方面,提供了一种CGN设备的双机热备的装置,包括:第一切换模块,用于在主用设备和备用设备之间建立检测链路,并将所述主用设备切换到主状态,将所述备用设备切换到备状态;建立模块,用于在所述检测链路上建立备份通道;第一备份模块,用于通过所述备份通道将所述主用设备的信息备份至所述备用设备。
优选地,所述装置还包括:关闭模块,用于在所述主用设备检测到故障的情况下,关闭所述检测链路,并将所述主用设备由主状态切换到初始状态;第二切换模块,用于在所述备用设备检测到所述检测链路关闭的情况下,将所述备用设备由备状态切换为主状态。
优选地,所述装置还包括:第三切换模块,用于在所述主用设备检测到故障修复的情况下,重新建立所述检测链路,并将所述主用设备由初始状态切换至备状态;重建模块,用于在所述备用设备检测到所述检测链路重新建立的情况下,在所述检测链路上重新建立备份通道;第二备份模块,用于通过所述备份通道将所述备用设备的信息备份至所述主用设备;第四切换模块,用于当所述备份结束时,将所述备用设备由主状态切换至备状态,将所述主用设备由备状态切换至主状态。
通过本发明,采用在主用设备切换到主状态,备用设备切换到备状态之后,在已建立的检测链路上建立备份通道,主用设备通过该备份通道向备用设备进行信息备份的方法,解决了相关技术中无法对CGN设备在三层网络环境下的业务数据进行备份的问题,进而在三层环境下可以进行CGN设备间的双机热备,有效的提高CGN设备的业务运行稳定性,进一步提升了系统的性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的CGN设备集中式旁挂部署场景示意图;
图2是根据本发明实施例的CGN设备的双机热备的方法的流程图;
图3是根据本发明实施例的CGN设备的双机热备的部署场景示意图;
图4是根据本发明实施例的BFD/PING协议建立检测链路的示意图;
图5是根据本发明实施例的主用设备与备用设备建立备份通道的示意图;
图6是根据本发明实施例的主用设备主备状态切换过程的示意图;
图7是根据本发明实施例的备用设备主备状态切换过程的示意图;
图8是根据本发明实施例的CGN设备的双机热备的正常工作的流程示意图;
图9是根据本发明实施例的故障情况下主备切换的流程示意图;
图10是根据本发明实施例的CGN设备的双机热备的装置的结构框图一;
图11是根据本发明实施例的CGN设备的双机热备的装置的结构框图二;以及
图12是根据本发明实施例的CGN设备的双机热备的装置的结构框图三。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
基于相关技术中无法对CGN设备在三层网络环境下的业务数据进行备份的问题,本发明实施例提供了一种CGN设备的双机热备的方法,如图2所示,是根据本发明实施例的CGN设备的双机热备的方法的流程图,该方法包括:
步骤S202,在主用设备和备用设备之间建立检测链路,主用设备切换到主状态,备用设备切换到备状态;
步骤S204,主用设备和备用设备在检测链路上建立备份通道;
步骤S206,主用设备通过备份通道向备用设备备份信息。
通过本发明实施例,采用在主用设备切换到主状态,备用设备切换到备状态之后,在已建立的检测链路上建立备份通道,主用设备通过该备份通道向备用设备进行信息备份的方法,解决了相关技术中无法对CGN设备在三层网络环境下的业务数据进行备份的问题,进而在三层环境下可以进行CGN设备间的双机热备,有效的提高CGN设备的业务运行稳定性,进一步提升了系统的性能。
在步骤S102执行之前,还需要对CGN设备进行配置,如图3所示,给出了一种CGN设备双机热备的部署场景。图3与图1的不同点在于,图3对CGN设备进行了设置,配置了一台CGN设备为主用设备,配置另一台CGN设备为备用设备。当然,仅对CGN设备进行设置是远远不够的,还需要CGN设备可以在主用设备与备用设备间进行选举,例如,选择主用设备为主状态,选择备用设备为备状态。本实施例中,主用设备与备用设备间的选举可以通过对它们之间的检测链路进行监测,根据检测结果来抉择主用设备和备用设备的状态。
上述选举(即对检测链路的检测)可以通过状态检测协议来完成,而无需通过传统二层环境的VRRP协议来决策主备。本实施例使用的是三层检测协议,其中,三层检测协议至少可以包括BFD协议或PING协议,如图4所示,说明了主用设备和备用设备间通过BFD或PING等协议建立检测链路的示意图。其中,BFD能够与相邻系统建立对等关系,每个系统以协商的速率监测来自其他系统的BFD速率,当对等系统没有接到预先设定数量的数据包时,它推断BFD保护的软件或硬件基础设施发生故障,不管基础设施是标记交换路径、其他类型的隧道还是交换以太网络,且BFD可以实现毫秒级的检测粒度。当然,协议的类型不限于此,还可以包括与其能实现相同或类似功能的三层检测协议等。
主用设备切换到主状态,备用设备切换到备状态的过程不是简单的切换,需要满足一定条件的,当主用设备检测到检测链路状态为UP,且自身的业务接口和业务单元均处于正常工作状态时,才会切换到主状态;当备用设备检测到检测链路状态为UP,且自身的业务接口和业务单元均处于正常工作状态时,才会切换到备状态。在此过程中,检测链路的通断情况和其自身设备的工作状态都是必备的链路检测过程,且在都满足的情况下主用设备才能切换到主状态,备用设备才可以切换到备状态。
在步骤S104的执行过程中,在检测链路上建立的备份通道可以分为两种,即为用户备份通道和会话备份通道,如图5所示,建立上述两种通道的建立过程可以包括:在主用设备的主控管理单元与备用设备的主控管理单元之间建立用户备份通道;在主用设备的业务处理单元与备用设备的业务处理单元之间建立会话备份通道。其中,在主用设备与备用设备之间的备份通道可以是基于TCP协议或UDP协议而建立的,当然,与上述两种协议相似的、可以建立备份通道的协议都可以运用于该实施例中。
在上述步骤实施过程中,用户备份通道和会话备份通道可以是同时建立的,也可以是分次序建立的,但在通常情况下,由于是对某一用户的相关信息进行的备份,例如,该用户的个人资料、业务信息、缴费信息等,所以会先建立用户备份通道,将该用户的相关信息进行备份。当然,如果只需要对某一时间段内的信息进行备份,而不考虑出自哪个用户,也可以先建立会话备份通道。
本实施例中的备份信息可以是用户信息,可以是会话信息,也可以是用户信息与会话信息同时进行备份。
其中,用户信息在不同情况下可以包括不同种类的信息,对于DS-Lite,用户信息至少包括以下之一:IPv6前缀及子网前缀长度,隧道目的IPv6地址,VPN信息;对于NAT64,用户信息至少包括以下之一:IPv6前缀及子网前缀长度,NAT64前缀,VPN信息;对于NAT44,用户信息至少包括以下之一:IPv4地址,VPN信息。其中,隧道信息可以包括用户IPv6地址,隧道目的IPv6地址,隧道MTU,隧道类型,隧道类型可以是GRE,普通4-in-6,IPv6 IPSEC等。
会话信息也可以包括一种或多种,但至少包括以下之一:PCP ECHO信息、网络地址转换信息和ALG信息;其中,网络地址转换信息至少包括以下之一:私网IPv4地址,公网IPv4地址,端口信息,端口块信息,协议类型,用户标识信息;ALG信息至少包括以下之一:ALG控制信息,ALG协议类型,用户标识信息。其中,用户标识信息可以是该用户的信息,也可以是代表该用户的唯一标识或关键字等。例如,通过关键字的输入查找到的代表某一用户的标识信息。
当信息为用户信息时,主用设备通过备份通道向备用设备备份信息的过程可以作以下处理:主用设备的主控管理单元将添加的用户信息同步到备用设备的主控管理单元;备用设备的主控管理单元将添加的用户信息同步到备用设备的业务处理单元;备用设备的业务处理单元保存添加的用户信息。
上述处理为添加用户信息时,如何对其进行备份的过程,当然,该过程不仅限于添加,删除用户信息和修改用户信息都可以进行备份,修改用户信息的过程与添加过程类似,本实施例中不再对其过程进行描述,然而删除过程相对复杂些,因为删除该用户信息后,原来备份的中不能再保存与该用户有关的信息,否则会造成资源的浪费,所以删除的过程可以包括以下步骤:主用设备的主控管理单元将删除的用户信息同步到备用设备的主控管理单元;备用设备的主控管理单元将删除的用户信息同步到备用设备的业务处理单元;备用设备的业务处理单元根据删除的用户信息删除相应用户的用户信息以及该用户的网络地址转换信息和ALG信息。
在实施过程中,当信息为会话信息时,主用设备通过备份通道向备用设备备份信息可以包括:备用设备的业务处理单元将用户信息或用户标识信息通知给主用设备的业务处理单元;主用设备的业务处理单元接到通知后,将用户的网络地址转换信息备份。本实施例中描述的此过程是建立在用户信息已经备份的情况下,如图5所示,在备用设备接收到用户信息后,将其同步给业务处理单元,同步的内容可以是用户的信息,当然也可以是用户的唯一标识,只要是能确认该用户身份即可。将用户信息或标识信息通知业务处理单元,则业务处理单元在接到该通知后,会对用户的会话信息进行备份,例如,对用户的网路地址转换信息进行备份。
当运行的过程中发生故障时,则上述的备份就突显出其重要性。发生故障的情况很多,种类也很多,本实施例中以业务接口物理状态关闭或业务处理单元不可用为故障进行说明,其中,可能是一个业务接口物理状态关闭,也可能是多个业务接口物理状态关闭,只要有业务接口物理状态关闭,则检测链路就已经出现了问题。当主用设备检测到故障时,关闭检测链路,主用设备由主状态切换到初始状态,如图6所示,是主用设备主备状态切换过程的示意图;备用设备检测到检测链路关闭后,备用设备由备状态切换为主状态,如图7所示,说明的是备用设备主备状态切换过程的示意图。
在实施过程中,主用设备检测到故障的存在,则关闭检测链路,其中,检测的过程可以是通过检测周期性检测报文来实现的。例如,在链路正常的情况下,周期性检测报文的发送频率是4次/秒,一秒可以收到4个周期性检测报文。为了便于检测,可以设置一个最大接收时间,如果在最大接收时间内还没有接收到周期性检测报文,则认为该检测链路发生故障。例如,设置最大接收时间为3秒,在3秒内没有收到周期性检测报文则认为该检测链路出现故障;如果在3秒内收到周期性检测报文,但周期性检测报文的数量并没有达到12个,则认为检测链路可用。在实际应用中,即使该检测链路可能存在一些小问题,但整体上并不影响备份及后续切换的过程。本实施例提供了完备的保护措施,在发生故障时,仍可以灵活切换,保证系统的正常运行。
当检测链路关闭后,主用设备将状态切换到初始状态,对其进行停用。备用设备感知到检测链路关闭后,主动由备状态切换到主状态,在后续过程中,备用设备作为当前的主用设备进行工作。
主用设备检测到故障修复时,主用设备感知到故障修复后,重新建立检测链路,主用设备由初始状态切换至备状态(参见图6的示意图),主用设备作为当前的备用设备使用。备用设备检测到检测链路重新建立后,与最初的备份过程类似,在检测链路上重新建立备份通道;备用设备(即当前主用设备)通过备份通道向主用设备(即当前备用设备)备份信息;当备份结束,则备用设备由主状态切换至备状态(参见图7的示意图),主用设备由备状态切换至主状态。在主用设备切换至主状态,备用设备切换至备状态后,CGN设备正常工作并继续进行备份。在故障修复后,系统可以切换到正常模式,主用设备发生故障期间的数据也不会丢失,提高了用户体验。
下面结合图8和图9对本发明的上述过程进行进一步总结。
如图8所示,本发明实施例对CGN双机热备的正常工作实施步骤如下:
步骤S802,配置主用设备和备用设备;
步骤S804,主用设备和备用设备建立检测链路,主用设备切换到主状态,正常工作;备用设备切换到备状态;
步骤S806,主用设备和备用设备建立用户备份通道;
步骤S808,主用设备和备用设备建立会话备份通道;
步骤S810,主用设备向备用设备备份用户信息;
步骤S812,主用设备向备用设备备份会话信息;
当主用设备发生故障时,如图9所示,本发明实施例的主备切换的实施步骤如下:
步骤S902,主用设备感知故障,关闭检测链路;备用设备感知链路关闭,转为主状态,接替主用设备继续工作;
步骤S904,主用设备恢复故障,建立检测链路,转为备状态;备用设备感知链路打开;
步骤S906,主用设备和备用设备建立用户备份通道;
步骤S908,主用设备和备用设备建立会话备份通道;
步骤S910,备用设备向主用设备备份当前所有用户信息;
步骤S912,备用设备向主用设备备份当前所有会话信息;
步骤S914,备份结束,主用设备转为主状态,正常工作;备用设备转为备状态;
步骤S916,主用设备向备用设备备份用户信息;
步骤S918,主用设备向备用设备备份会话信息。
综上,通过本发明实施例可以实现三层网络环境下的CGN设备双机热备部署,能有效提高CGN设备的业务运行稳定性。
本发明实施例还提供了一种CGN设备的双机热备的装置,如图10所示,是根据本发明实施例提供的CGN设备的双机热备的装置的结构框图一,该装置包括:第一切换模块10,用于在主用设备和备用设备之间建立检测链路,并将主用设备切换到主状态,将备用设备切换到备状态;建立模块20,与第一切换模块10耦合,用于在检测链路上建立备份通道;第一备份模块30,与建立模块20耦合,用于通过备份通道将主用设备的信息备份至备用设备。
如图11所示,是根据本发明实施例提供的CGN设备的双机热备的装置的结构框图二,该装置还包括:关闭模块40,与第一备份模块30耦合,用于在主用设备检测到故障的情况下,关闭检测链路,并将主用设备由主状态切换到初始状态;第二切换模块50,与关闭模块40耦合,用于在备用设备检测到检测链路关闭的情况下,将备用设备由备状态切换为主状态。
如图12所示,是根据本发明实施例提供的CGN设备的双机热备的装置的结构框图三,该装置还包括:第三切换模块60,与第二切换模块50耦合,用于在主用设备检测到故障修复的情况下,重新建立检测链路,并将主用设备由初始状态切换至备状态;重建模块70,与第三切换模块60耦合,用于在备用设备检测到检测链路重新建立的情况下,在检测链路上重新建立备份通道;第二备份模块80,与重建模块70耦合,用于通过备份通道将备用设备的信息备份至主用设备;第四切换模块90,与第二备份模块80耦合,用于当备份结束时,将备用设备由主状态切换至备状态,将主用设备由备状态切换至主状态。
建立模块20还用于在主用设备的主控管理单元与备用设备的主控管理单元之间建立用户备份通道;在主用设备的业务处理单元与备用设备的业务处理单元之间建立会话备份通道。
当信息为用户信息时,第一备份模块30还用于主用设备的主控管理单元将添加的用户信息同步到备用设备的主控管理单元,备用设备的主控管理单元将添加的用户信息同步到备用设备的业务处理单元,备用设备的业务处理单元保存添加的用户信息;主用设备的主控管理单元将删除的用户信息同步到备用设备的主控管理单元;备用设备的主控管理单元将删除的用户信息同步到备用设备的业务处理单元;备用设备的业务处理单元根据删除的用户信息删除相应用户的用户信息以及该用户的网络地址转换信息和ALG信息。
当信息为会话信息时,第一备份模块30还用于备用设备的业务处理单元将用户信息或用户标识信息通知给主用设备的业务处理单元;主用设备的业务处理单元接到通知后,将用户的网络地址转换信息备份。
从以上的描述中,可以看出,本发明实现了如下技术效果:
通过本发明各实施例,解决了相关技术中无法对CGN设备在三层网络环境下的业务数据进行备份的问题,进而在三层环境下可以进行CGN设备间的双机热备,有效的提高CGN设备的业务运行稳定性,进一步提升了系统的性能。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。