一种容灾切换方法、设备及系统的制作方法

文档序号:7775392阅读:148来源:国知局
一种容灾切换方法、设备及系统的制作方法
【专利摘要】本发明实施例公开了一种容灾切换方法、设备及系统。本发明涉及通信领域,能够提高检测网元之间的网络亚健康状态和网元亚健康状态的准确性,使得网络处于亚健康状态或者网元出现亚健康状态时能够及时进行切换,有效避免网络处于亚健康状态或者网元出现亚健康状态造成的业务受损。本发明实施例提供的方法包括:前端网元根据前端网元检测到的业务接续时延以及前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,或者,前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,状态指示信息用于指示后端网元的状态;前端网元将后端网元上进行业务的用户切换至容灾网元。
【专利说明】一种容灾切换方法、设备及系统
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种容灾切换方法、设备及系统。
【背景技术】
[0002]通信系统中,例如网络互联协议(Internet Protocol,简称IP)多媒体子系统(IPMultimedia Core Network Subsystem,简称IMS)中,由于网元之间的业务承载网络故障,导致网元之间的网络亚健康状态;或者网元内部由于内存不足、内部通信故障等原因,导致网元处于亚健康状态,网元之间的网络的亚健康状态和网元的亚健康状态均会导致业务受损,所以,为了避免在亚健康状态时造成的业务受损,需要及时准确检测出网络的亚健康状态和网元的亚健康状态,并进行容灾切换。
[0003]但是,现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损。

【发明内容】

[0004]本发明实施例提供一种容灾切换方法、设备及系统,能够提高检测网元之间的网络亚健康状态和网元亚健康状态的准确性,使得网络处于亚健康状态或者网元出现亚健康状态时能够及时进行切换,有效避免网络处于亚健康状态或者网元出现亚健康状态造成的业务受损。
[0005]为达到上述目的,本发明实施例采用的技术方案是,
[0006]第一方面,提供了一种容灾切换方法,该方法包括:
[0007]前端网元根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,或者,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;
[0008]所述前端网元将所述后端网元上进行业务的用户切换至容灾网元。
[0009]在第一方面的第一种可能的实现方式中,根据第一方面,所述前端网元根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,包括:
[0010]所述前端网元若确定所述前端网元检测到的业务接续时延大于第一预设时间,并且所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。
[0011]在第一方面的第二种可能的实现方式中,结合第一方面的第一种可能的实现方式,所述前端网元若确定所述前端网元检测到的业务接续时延大于第一预设时间,并且所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态,包括:[0012]所述前端网元判断所述前端网元检测到的业务接续时延是否大于第一预设时间;
[0013]若所述前端网元确定所述前端网元检测到的业务接续时延大于第一预设时间,则判断所述前端网元与后端网元之间的消息响应时延是否大于第二预设时间;
[0014]若确定所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。
[0015]在第一方面的第三种可能的实现方式中,结合第一方面,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,包括:
[0016]若所述前端网元连续至少两次接收到所述后端网元发送的指示所述后端网元亚健康状态的状态指示信息,则所述前端网元确定所述后端网元处于亚健康状态。
[0017]在第一方面的第四种可能的实现方式中,结合第一方面,所述前端网元将所述后端网元上进行业务的用户切换至容灾网元,包括:
[0018]所述前端网元根据所述容灾网元的数量将所述后端网元上进行业务的用户均分为η组,每一组分别对应一个不同的容灾网元,其中,η为所述容灾网元的数量;
[0019]所述前端网元将所述η组用户中的每一组用户分别分成k份;
[0020]所述前端网元将所述η组用户中的每一组用户分别利用k次切换至与所述用户对应的容灾网元上,每一次分别切换所述k份中的一份。
[0021]在第一方面的第五种可能的实现方式中,结合第一方面或第一方面的第四种可能的实现方式,所述前端网元将所述后端网元上进行业务的用户切换至容灾网元,还包括:
[0022]若所述前端网元确定所述前端网元和所述后端网元之间的网络恢复健康状态,或者,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元恢复健康状态,或者,所述前端网元确定所述前端网元和所述容灾网元之间的网络处于亚健康状态,或者,所述前端网元根据所述容灾网元发送的状态指示信息确定所述容灾网元处于亚健康状态,则停止将所述后端网元上进行业务的用户切换至容灾网元。
[0023]第二方面,提供了一种容灾切换方法,该方法包括:
[0024]后端网元检测所述后端网元的状态,其中,所述后端网元的状态包括亚健康状态和健康状态;
[0025]所述后端网元向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态时,将所述后端网元上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元的状态。
[0026]在第二方面的第一种可能的实现方式中,根据第二方面,所述后端网元检测所述后端网兀的状态,包括:
[0027]所述后端网元若确定连续至少3个检测周期内业务受损程度大于预设阈值,且心跳正常,则确定所述后端网元的状态为亚健康状态。
[0028]第三方面,提供了一种前端网元,包括:
[0029]确定单元,用于根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元与所述后端网元之间的网络处于亚健康状态,或者,根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;[0030]切换单元,用于将所述后端网元上进行业务的用户切换至容灾网元。
[0031]在第三方面的第一种可能的实现方式中,根据第三方面,所述确定单元具体用于:若确定所述前端网元检测到的业务接续时延大于第一预设时间,并且所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。
[0032]在第三方面的第二种可能的实现方式中,结合第三方面的第一种可能的实现方式,所述确定单元还用于:判断所述前端网元检测到的业务接续时延是否大于第一预设时间;
[0033]若确定所述前端网元检测到的业务接续时延大于第一预设时间,判断所述前端网元与后端网元之间的消息响应时延是否大于第二预设时间;
[0034]若确定所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。
[0035]在第三方面的第三种可能的实现方式中,根据第三方面,所述确定单元具体用于:若连续至少两次接收到所述后端网元发送的指示所述后端网元处于亚健康状态的状态指示信息,则确定所述后端网元处于亚健康状态。
[0036]在第三方面的第四种可能的实现方式中,根据第三方面,所述切换单元具体用于:根据所述容灾网元的数量将所述后端网元上进行业务的用户均分为η组,每一组分别对应一个不同的容灾网元,其中,η为所述容灾网元的数量;
[0037]所述前端网元将所述η组用户中的每一组用户分别分成k份;
[0038]所述前端网元将所述η组用户中的每一组用户分别利用k次切换至与所述用户对应的容灾网元上,每一次分别切换所述k份中的一份。
[0039]在第三方面的第五种可能实现的方式中,结合第三方面或第三方面的第四种可能的实现方式,所述确定单元还用于:确定所述前端网元和所述后端网元之间的网络恢复健康状态,或者,根据所述后端网元发送的状态指示信息确定所述后端网元恢复健康状态,或者,确定所述前端网元和所述容灾网元之间的网络处于亚健康状态,或者,根据所述容灾网元发送的状态指示信息确定所述容灾网元处于亚健康状态。
[0040]第四方面,提供了一种后端网元,包括:
[0041]检测单元,用于检测所述后端网元的状态,其中,所述后端网元的状态包括亚健康状态和健康状态;
[0042]发送单元,用于向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态时,将所述后端网元上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元的状态。
[0043]在第四方面的第一种可能的实现方式中,根据第四方面,所述检测单元具体用于:若确定连续至少3个检测周期内业务受损程度大于预设阈值,且心跳正常,则确定所述后端网元的状态为亚健康状态。
[0044]第五方面,提供了一种容灾切换系统,包括:如第三方面或者第三方面的第一种可能的实现方式至第五种可能的实现方式中的任一项所述的前端网元,如第四方面或者第四方面的第一种可能的实现方式所述的后端网元,以及至少一个容灾网元。
[0045]由上可见,本发明实施例提供的一种容灾切换方法、设备及系统,前端网元根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,或者,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;所述前端网元将所述后端网元上进行业务的用户切换至容灾网元。如此,能够提高检测网元之间的网络亚健康状态和网元亚健康状态的准确性,使得网络处于亚健康状态或者网元出现亚健康状态时能够及时进行切换,有效避免网络处于亚健康状态或者网元出现亚健康状态造成的业务受损。克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
【专利附图】

【附图说明】
[0046]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0047]图1为本发明实施例提供的一种容灾切换方法的流程示意图;
[0048]图2为IMS系统中用户进彳丁基本呼叫的流程不意图;
[0049]图3A为负荷分担组网中用户分配示意图;
[0050]图3B为本发明实施例提供的一种负荷分担组网中容灾切换方法的示意图;
[0051]图4A为本地优选组网中用户分配示意图;
[0052]图4B为本发明实施例提供的一种本地优选组网中容灾切换方法的示意图;
[0053]图5为本发明实施例提供的另一种容灾切换方法的流程示意图;
[0054]图6为本发明实施例提供的另一种容灾切换方法的流程示意图;
[0055]图7为本发明实施例提供的另一种容灾切换方法的流程示意图;
[0056]图8为本发明实施例提供的一种前端网元结构示意图;
[0057]图9为本发明实施例提供的一种后端网元结构示意图;
[0058]图10为本发明实施例提供的另一种前端网元结构示意图;
[0059]图11为本发明实施例提供的另一种后端网元结构示意图;
[0060]图12为本发明实施例提供的一种容灾切换系统结构示意图。
【具体实施方式】
[0061]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062]本发明实施例提供的容灾切换方法适用于MS系统,还可以适用于任意一个网络处于亚健康状态时进行容灾切换的通信系统中;本发明实施例对此不进行限制,本发明实施例仅以IMS系统为例进行说明。
[0063]实施例一[0064]参见图1,为本发明实施例提供的一种容灾切换方法,如图1所示,可以包括以下步骤:
[0065]101:前端网元根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,或者,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;
[0066]其中,前端网元和后端网元为相对的概念,根据消息传递的方向确定,前端网元是指发出业务请求消息的网元,后端网元是指接收业务请求消息并返回响应消息的网元,前端网元和后端网元为相邻的两个网元,例如,参见图2,在MS系统中,用户的业务请求消息会由P-CSCF、1-CSCF、S-CSCF等网元依次处理,在P-CSCF将业务请求消息发送给1-CSCF处理的这一过程中,本专利认为P-CSCF为前端网元,1-CSCF为后端网元。同理,在1-CSCF将业务请求消息发往S-CSCF处理过程中,则认为1-CSCF为前端网元,S-CSCF为后端网元,所以,在网络中的一个网元在不同的消息传递过程中,可能作为前端网元,也可能作为后端网
J Li ο
[0067]其中,前端网元和后端网元可以为通信网络中各种网元,本发明实施例对于前端网元和后端网元的具体形式不进行限制,例如,可以为P-CSCF、1-CSCF, S-CSCF等,本发明实施例全文中所涉及的具体网元例如P-CSCF、1-CSCF, S-CSCF等,仅仅是示例性的作用,并不对前端网元和后端网元造成任何具体限制。
[0068]其中,亚健康状态包含前端网元与后端网元之间网络的亚健康状态和后端网元的亚健康状态,下面分别进行说明。
[0069]一、前端网元与后端网元之间网络的亚健康状态
[0070]前端网元与后端网元之间网络的亚健康状态是指由于前端网元与后端网元之间的业务承载网络质量下降,表现为丢包、抖动、时延,造成业务损伤,但是前端网元和后端网元心跳没有中断。
[0071]示例性的,所述前端网元根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,可以包括:
[0072]所述前端网元若确定所述前端网元检测到的业务接续时延大于第一预设时间,并且所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态;
[0073]其中,所述前端网元检测到的业务接续时延为所述前端网元发送邀请请求(INVITE)到接收到振铃响应之间的时间段;所述前端网元检测到的业务接续时延若大于所述第一预设时间,可以认为网络中存在导致业务受损的问题,使得业务接续时延延长,但是需要说明的是,该导致业务受损的问题不一定出现在该前端网元和该后端网元之间,参见图2,因为用户的请求消息由P-CSCF、1-CSCF, S-CSCF等网元依次处理,所以,其他网元之间的网络亚健康也可能导致该前端网元检测到的业务接续时延延长,例如,当前端网元为P-CSCF、后端网元为1-CSCF时,若1-CSCF和S-CSCF之间网络亚健康,会造成前端网元P-CSCF检测到的业务端到端接续时延延长。
[0074]第一预设时间可以根据需要进行设置,本发明实施例对此不进行限制,优选的,根据用户通常的等待时间,可以设置为6s,因为大多数用户在等待6s之后可能会自主挂断,所以,在用户挂机之后,即使发生亚健康状态,切换也没有意义。
[0075]其中,所述前端网元与后端网元之间的消息响应时延为:所述前端网元发送INVITE给所述后端网元到接收到所述后端网元返回的响应消息(IOOTying)之间的时间段;所述前端网元与所述后端网元的之间的消息响应时延若大于所述第二预设时间,可以认为该前端网元与该后端网元之间的网络处于亚健康状态,导致消息响应时延延长。
[0076]类似的,第二预设时间可以根据需要进行设置,本发明实施例对此不进行限制,优选的,根据用户通话体验得出的网元之间可容忍消息响应时延,可以设置为3s。
[0077]具体的,可以通过以下步骤实现:
[0078]步骤A、前端网元判断前端网元检测到的业务接续时延是否大于第一预设时间;若否,则执行步骤B,若是,则执行步骤C ;
[0079]步骤B、继续与后端网元之间进行业务传输;
[0080]若前端网元确定前端网元检测到的业务接续时延小于或等于第一预设时间,则说明所述前端网元所处的网络处于健康状态,业务不会受损,所以,可以继续与后端网元之间进行业务传输。
[0081]步骤C、判断前端网元与后端网元之间的消息响应时延是否大于第二预设时间,若否,则执行步骤B,若是,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。
[0082]若前端网元确定前端网元检测到的业务接续时延大于第一预设时间,则确定前端网元与后端网元之间的消息响应时延大于第二预设时间,可以认为网络中存在导致业务受损的问题,使得接续时延延长,为了进一步确定该导致业务受损的问题是否出现在该前端网元和该后端网元之间,可通过判断前端网元与后端网元之间的消息响应时延是否大于第二预设时间确定,若所述前端网元与后端网元之间的消息响应时延小于或等于第二预设时间,则说明所述前端网元与所述后端网元之间的网络处于健康状态,可继续与所述后端网元之间进行业务传输;若所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。
[0083]二、后端网元的亚健康状态
[0084]后端网元的亚健康状态是指后端网元不能完全处理业务的状态,后端网元处理业务能力下降或业务处理失败,但是前端网元到后端网元的心跳消息不会中断,如正常情况下后端网元可以同时处理IOG的流量,由于后端网元内部故障,使得后端网元只能处理5G的流量,导致一半的用户业务得不到处理。
[0085]网元的亚健康状态可以由多方面原因引起。
[0086]例如,由于网元内存泄漏,碎片化严重,某些特定业务消耗过多内存以及在电信云环境下虚拟机规格调整等原因,都可能导致系统内存不足,造成业务部分受损或全损,但是网元心跳可能还是正常,网元状态即可认为是亚健康状态。
[0087]或者,由于网元内部的硬件问题:如部分网线松动、网卡芯片缺陷或软件问题:如路由器交换机丢包错包,电信云环境下虚拟网卡故障,均会导致内部通信问题,造成部分业务受损或者全损,使网元处于亚健康状态。
[0088]后端网元可以对自身的业务情况进行检测,并根据检测的结果确定后端网元的状态,该状态包括健康状态或亚健康状态。[0089]前端网元可以根据后端网元发送的状态指示信息确定后端网元处于亚健康状态,其中,状态指示信息可以用于指示后端网元的状态,
[0090]例如:若前端网元连续至少两次接收到所述后端网元发送的指示后端网元亚健康状态的状态指示信息,则前端网元可以确定后端网元处于亚健康状态;
[0091]其中,状态指示信息可以设置在后端网元的响应消息中,例如,后端网元可以定义Option消息的2000K响应中增加X_health_status头域来指示网元亚健康状态:
[0092]SIP/2.02000K
[0093]Via:SIP/2.0/UDP167.52.190.151:8090;branch=z9hG4b;
[0094]X-health-status:server=167.52.190.214;status=Good;
[0095]Cal1-1D:sqavbjl7veazvdiP.nell.domain, huawe1.com
[0096]From:〈sip:p2.nell.domain, huawe1.com>;tag=qltggasv
[0097]To:〈sip:167.52.190.214〉;tag=ggx5cxtc
[0098]CSeq:10PT10NS
[0099]Supported:pref, privacy, precondition, IOOrel
[0100]Content-Length:0
[0101]所述server参数标识发送所述通知响应消息的所述后端网元主机名或者地址;
[0102]所述status参数标识所述后端网元状态;若status=Good,则表示所述后端网元处于健康状态;若Status=Subheathly,则表示所述后端网元处于亚健康状态。
[0103]102:前端网元将所述后端网元上进行业务的用户切换至容灾网元。
[0104]其中,所述容灾网元可以为:与所述后端网元具有相同功能的网元;
[0105]优选的,为避免消息冲击,可将后端网元上的用户分批切换至容灾网元。
[0106]例如,具体可通过下述过程实现:
[0107]前端网元根据所述容灾网元的数量将所述后端网元上进行业务的用户均分为η组,每一组分别对应一个不同的容灾网元,其中,η为所述容灾网元的数量;
[0108]前端网元将所述η组用户中的每一组用户分别分成k份;
[0109]前端网元将所述η组用户中的每一组用户分别利用k次切换至与所述用户对应的容灾网元上,每一次分别切换所述k份中的一份。
[0110]上述分批切换的方法可以应用于不同的组网情况下,例如,负荷分担组网(参见图3A、图3B)、本地优选组网(参见图4A,图4B)等。
[0111]下面仅以SBC和CSCF为例,分别针对在这两种组网情况下的分批容灾切换过程进行详细说明。当然,将SBC和CSCF换做其他网元(如ATS,DRA等)也同样适用。
[0112]一、参见图3A,为本发明实施例提供的负荷分担组网中用户分配示意图,其中,SBC为前端网元,CSCF为后端网元,如图3A所示,首先对用户分发过程进行说明。每个SBC上的用户平均注册到CSCF节点。为了能够减少CSCF节点故障时需要切换的用户数目,本发明实施例中SBC采用一致性Hash来进行用户分发,具体实现如下:
[0113]SBC1-SBC4分别将各自上需要进行业务的用户,根据用户公有标识(MPU)进行Hash,将其映射到m个虚拟的服务节点上(为保证Hash结果分布的平均性,m的取值不能太小),然后再将每个虚拟服务节点上的用户映射到CSCF网元上。如图3A中,存在4个CSCF网元情况下,可以将m个虚拟的服务节点平均分成4份,每一份分别映射至一个CSCF,可以将编号为I?m/4的虚拟的服务节点上的用户映射至CSCFl,m/4+l?m/2的虚拟的服务节点上的用户映射至CSCF2,m/2+l?3m/4的虚拟的服务节点上的用户映射至CSCF3,3m/4+l?m的虚拟的服务节点上的用户映射至CSCF4。
[0114]当SBCl与CSCFl之间的网络处于亚健康状态、或者CSCFl网元处于亚健康状态,对于原来在CSCFl上进行业务的用户,需要将其切换到其他的可用的CSCF上,如CSCF2、CSCF3、CSCF4上,参见图3B,为本发明实施例提供的一种负荷分担组网中容灾切换的示意图,如图3B所示,
[0115]将编号为I?m/4的虚拟的服务节点,均分为3份:1?m/12、m/12+l?m/6、m/6+l?m/4 ;其中,编号I?m/12的虚拟的服务节点上的用户需映射到CSCF2上;编号为m/12+l?m/6的虚拟的服务节点上的用户需映射到CSCF3上;编号为m/6+l?m/4的虚拟的服务节点上的用户需映射到CSCF4上;
[0116]将编号I?m/12的虚拟的服务节点上的用户均分为k批映射到CSCF2上;
[0117]同理,将编号为m/12+l?m/6的虚拟的服务节点上的用户均分为k批映射到CSCF3 上;
[0118]将编号为m/6+l?m/4的虚拟的服务节点上的用户均分为k批映射到CSCF4上;
[0119]当然,在这种组网下,因为CSCFl上承担着SBC1-SBC4的业务,所以,具体实现时,由SBC1-SBC4分别将CSCFl上属于本身服务的用户进行切换。
[0120]二、参见图4A,为本发明实施例提供的本地优选组网中用户分配示意图,其中,SBC为前端网元,CSCF为后端网元,如图4A所示,首先对用户分发过程进行说明。SBC优先选择本地的CSCF分发用户,进行业务的用户按照图4A中实线箭头所示通道分发,最终的分配结果为:
[0121]SBCl将需要进行业务的用户根据用户公有标识分配到CSCFl上;
[0122]SBC2将需要进行业务的用户根据用户公有标识分配到CSCF2上;
[0123]SBC3将需要进行业务的用户根据用户公有标识分配到CSCF3上;
[0124]SBC4将需要进行业务的用户根据用户公有标识分配到CSCF4上。
[0125]当SBCl与CSCFl之间的网络处于亚健康状态、或者CSCFl网元处于亚健康状态,对于原来在CSCFl上进行业务的用户,需要将其切换到其他的可用的CSCF上、如CSCF2、CSCF3、CSCF4上,参见图4B,为本发明实施例提供的一种本地优选组网中分批容灾切换的示意图,如图4B所示,该容灾切换方法可以为:
[0126]SBCl将在CSCFl上进行业务的用户根据用户公有标识分布到m个虚拟的服务节点上;
[0127]将m个虚拟的服务节点根据其他的可用的CSCF数量均分,如CSCF2、CSCF3、CSCF4可用,则分为3等份,将该3份中的每一份分别映射到对应的CSCF上;例如,对于编号为I?m/3的虚拟的服务节点上的用户映射至CSCF2 ;对于编号为m/3+l?2m/3的虚拟的服务节点上的用户映射至CSCF3 ;对于编号为2m/3+l?m的虚拟的服务节点上的用户映射至CSCF4 ;
[0128]将编号为I?m/3的虚拟的服务节点上的用户均分为k批映射到CSCF2上;
[0129]同理,将编号为m/3+l?2m/3的虚拟的服务节点上的用户均分为k批映射到CSCF3 上;[0130]将编号为2m/3+l?m的虚拟的服务节点上的用户均分为k批映射到CSCF4上。
[0131]进一步的,所述方法还可以包括:
[0132]所述前端网元在进行容灾切换时,检测所述前端网元和所述后端网元之间的网络是否恢复健康状态,或者所述后端网元是否恢复健康状态,或者所述前端网元和所述容灾网元之间的网络是否处于亚健康状态,或者所述容灾网元是否处于亚健康状态;
[0133]若所述前端网元确定所述前端网元和所述后端网元之间的网络恢复健康状态,或者,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元恢复健康状态,或者,所述前端网元确定所述前端网元和所述容灾网元之间的网络处于亚健康状态,或者,所述前端网元根据所述容灾网元发送的状态指示信息确定所述容灾网元处于亚健康状态,则停止将所述后端网元上进行业务的用户切换至容灾网元。
[0134]例如,前端网元可以根据前端网元检测到的业务接续时延以及前端网元与后端网元之间的消息响应时延检测前端网元和后端网元之间的网络是否恢复健康状态;
[0135]再例如,前端网元可以根据后端网元发送的状态指示信息检测后端网元是否恢复健康状态,其中,状态指示信息用于指示后端网元的状态。例如,若后端网元经过人工干预或者其他修复途径而恢复为健康状态,则可以向前端网元发送指示健康状态的状态指示消息,前端网元接收到后端网元发送的指示健康状态的状态指示消息后,若容灾切换过程尚未完成,则前端网元可停止切换,保持现状;若容灾切换过程已完成,则前端网元可保持现状;
[0136]其中,所述前端网元检测所述前端网元和所述容灾网元之间的网络是否处于亚健康状态的方法与前端网元检测所述前端网元和所述后端网元之间的网络是否处于亚健康状态的方法相同,此处不再赘述;
[0137]所述前端网元可以根据所述容灾网元的状态指示信息判断容灾网元是否处于亚健康状态,其中,容灾网元检测该容灾网元是否处于亚健康状态的方法以及向前端网元发送状态指示信息的方法与后端网元检测该后端网元是否处于亚健康状态的方法以及向前端网元发送状态指示信息的方法相同,在此不再赘述。
[0138]由上可见,本发明实施例提供的一种容灾切换方法,前端网元根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,或者,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;所述前端网元将所述后端网元上进行业务的用户切换至容灾网元。如此,能够提高检测网元之间的网络亚健康状态和网元亚健康状态的准确性,使得网络处于亚健康状态或者网元出现亚健康状态时能够及时进行切换,有效避免网络处于亚健康状态或者网元出现亚健康状态造成的业务受损,克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
[0139]实施例二
[0140]参见图5,为本发明实施例提供的另一种容灾切换方法,如图5所示,可以包括以下步骤:
[0141]501:后端网元检测所述后端网元的状态,其中,所述后端网元的状态包括亚健康状态和健康状态;
[0142]后端网元的亚健康状态是指后端网元不能完全处理业务的状态,后端网元处理业务能力下降或业务处理失败,但是前端网元到后端网元的心跳消息不会中断,如正常情况下后端网元可以同时处理IOG的流量,由于后端网元内部故障,使得后端网元只能处理5G的流量,导致一半的用户业务得不到处理。
[0143]网元的亚健康状态可以由多方面原因引起。
[0144]例如,由于网元内存泄漏,碎片化严重,某些特定业务消耗过多内存以及在电信云环境下虚拟机规格调整等原因,都可能导致系统内存不足,造成业务部分受损或全损,但是网元心跳可能还是正常,即可认为网元状态是亚健康状态。
[0145]或者,由于网元内部的硬件问题:如部分网线松动、网卡芯片缺陷或软件问题:如路由器交换机丢包错包,电信云环境下虚拟网卡故障,均会导致内部通信问题,造成部分业务受损或者全损,使网元处于亚健康状态。
[0146]后端网元可以对自身的业务情况进行检测,并根据检测的结果确定后端网元的状态,该状态包括健康状态或亚健康状态。例如,后端网元可以周期性的检测后端网元的业务情况,后端网元若确定连续至少3个检测周期内业务受损程度大于预设阈值,且心跳正常,则确定所述后端网元的状态为亚健康状态;后端网元可以将后端网元的状态修改为亚健康状态,其中,预设阈值可以根据需要进行设置,本发明实施例对此不进行具体限制。
[0147]可选的,后端网元在后端网元为亚健康状态时,在一个周期内检测到业务恢复,则可将后端网元的状态设置为健康状态。
[0148]502:后端网元向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态时,将所述后端网元上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元的状态。
[0149]其中,状态指示信息可以设置在后端网元的响应消息中,例如,后端网元可以定义Option消息的2000K响应中增加X-health-status头域来指示网元亚健康状态:
[0150]SIP/2.02000K
[0151]Via:SIP/2.0/UDP167.52.190.151:8090;branch=z9hG4b;
[0152]X-health-status:server=167.52.190.214;status=Subheathly;
[0153]Cal1-1D:sqavbjl7veazvdiP.nell.domain, huawe1.com
[0154]From:〈sip:p2.nell.domain, huawe1.com>;tag=qltggasv
[0155]To:〈sip: 167.52.190.214〉; tag=ggx5cxtc
[0156]CSeq:10PT10NS
[0157]Supported:pref, privacy, precondition, IOOrel
[0158]Content-Length:0
[0159]所述server参数标识发送所述通知响应消息的所述后端网元主机名或者地址;
[0160]所述status参数标识所述后端网元状态;若status=Good,则表示所述后端网元处于健康状态;若Status=Subheathly,则表示所述后端网元处于亚健康状态。
[0161]容灾网元可以为:与所述后端网元具有相同功能的网元;
[0162]前端网元可以根据后端网元发送的状态指示信息确定后端网元处于亚健康状态,其中,状态指示信息可以用于指示后端网元的状态,[0163]例如:若前端网元连续至少两次接收到所述后端网元发送的指示后端网元亚健康状态的状态指示信息,则前端网元可以确定后端网元处于亚健康状态;
[0164]由上可见,本发明实施例中,后端网元检测所述后端网元的状态,其中,所述后端网元的状态包括亚健康状态和健康状态;所述后端网元向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态时,将所述后端网元上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元的状态。如此,能够提高检测网元亚健康状态的准确性,使得网元处于亚健康状态时能够及时进行切换,有效避免网元出现亚健康状态造成的业务受损。克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
[0165]实施例三
[0166]本实施例的容灾切换方法以IMS系统为例进行说明,参见图2,为本发明实施例设定的IMS系统中用户进行基本呼叫的应用场景,
[0167]示例性的,在P-CSCFl将消息发送给S-CSCFl处理的这一过程中,P-CSCFl检测到的业务接续时延为从P-CSCFl发出INVITE到收到振铃响应180为止的一个会话接通的过程,以TINV_18(IP1表不;本实施例中第一预设时间为6s。
[0168]P-CSCFl与S-CSCFl之间的消息响应时延为:P_CSCF1发出INVITE到收到S-CSCF1返回的响应消息IOOTying为止的一个会话时长。以TINV_1(I(IP1表示,本实施例中第二预设时间为3s。
[0169]如图6所示,可以 包括以下步骤:
[0170]601 =P-CSCFl 发送 INVITE 给 S-CSCF1 ;
[0171]602 =S-CSCFl接收INVITE,并发送振铃消息180和响应消息IOOTying给P-CSCFl ;
[0172]603 =P-CSCFl接收振铃消息180和响应消息lOOTying,计算INVITE和振铃消息180之间的业务接续时延TINV_18QP1是否大于6s ;若TINV_18QP1>6s,执行604 ;若TINV_18(IP1〈6s,执行 606 ;
[0173]604 =P-CSCFl计算INVITE和响应消息IOOTying之间的消息响应时延TINV_胃丨是否大于3s ;若

Tinv-1oopi
>3s,执行605 ;若



Tinv-1oopi


<3s,执行 606 ;
[0174]605 =P-CSCFl将S-CSCFl上进行业务的用户切换至容灾网元;
[0175]606 =P-CSCFl与S-CSCF1之间继续进行业务传输。
[0176]由上可见,本发明实施例中,P-CSCFl发送INVITE给S-CSCF1 ;S_CSCF1接收INVITE,并发送振铃消息180和响应消息IOOTying给P-CSCFl ;P-CSCFI接收振铃消息180和响应消息lOOTying,计算INVITE和振铃消息180之间的业务接续时延TINV_胃i>6s、INVITE和响应消息lOOTying之间的消息响应时延TINV_1(l(IP1>3s ;P-CSCFI将S-CSCF1上进行业务的用户切换至容灾网元。如此,能够提高检测网络亚健康状态准确性,使得网络处于亚健康状态时能够及时进行切换,有效避免网络处于亚健康状态造成的业务受损。克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
[0177]实施例四[0178]参见图7,为本发明实施例提供的另一种容灾切换方法,在P-CSCFl将消息发送给S-CSCFl处理的这一过程中,如图7所示,可以包括以下步骤:
[0179]701 =S-CSCFl检测所述S-CSCF1的状态;其中,所述S-CSCF1的状态包括亚健康状态和健康状态;
[0180]S-CSCFl的亚健康状态是指S-CSCFl不能完全处理业务的状态,S-CSCFl处理业务能力下降或业务处理失败,但是P-CSCFl到S-CSCFl的心跳消息不会中断,如正常情况下S-CSCFl可以同时处理IOG的流量,由于S-CSCFl内部故障,使得S-CSCFl只能处理5G的流量,导致一半的用户业务得不到处理。
[0181]S-CSCFl的亚健康状态可以由多方面原因引起。
[0182]例如,由于S-CSCFl内存泄漏,碎片化严重,某些特定业务消耗过多内存以及在电信云环境下虚拟机规格调整等原因,都可能导致系统内存不足,造成业务部分受损或全损,但是S-CSCFl心跳可能还是正常,即可认为S-CSCFl状态是亚健康状态。
[0183]或者,由于S-CSCFl内部的硬件问题:如部分网线松动、网卡芯片缺陷或软件问题:如路由器交换机丢包错包,电信云环境下虚拟网卡故障,均会导致内部通信问题,造成部分业务受损或者全损,使S-CSCFl处于亚健康状态。
[0184]S-CSCFl可以对自身的业务情况进行检测,并根据检测的结果确定S-CSCFl的状态,该状态包括健康状态或亚健康状态。例如,S-CSCFl可以周期性的检测后端网元的业务情况,若确定连续至少3个检测周期内业务受损程度大于预设阈值,且心跳正常,则确定S-CSCFl的状态为亚健康状态;S-CSCFl可以将S-CSCFl的状态修改为亚健康状态,其中,预设阈值可以根据需要进行设置,本发明实施例对此不进行具体限制。
[0185]可选的,S-CSCFl在S-CSCFl为亚健康状态时,在一个周期内检测到业务恢复,则可将S-CSCFl的状态设置为健康状态。
[0186]702 =P-CSCFl 发送心跳消息给 S-CSCF1 ;
[0187]703:S-CSCFI收到心跳消息后,发送携带有X-health-status头域的通知响应消息 200 给 P-CSCFl ;
[0188]其中,携带有X-health-status头域的通知响应消息200可以用来指示S-CSCF1亚健康状态:
[0189]SIP/2.02000K
[0190]Via:SIP/2.0/UDP167.52.190.151:8090;branch=z9hG4b;
[0191]X-health-status:server=167.52.190.214;status=Subhealthly;
[0192]Cal1-1D:sqavbj17veazvdiP.nell.domain, huawe1.com
[0193]From:〈sip:p2.nell.domain, huawe1.com>;tag=qltggasv
[0194]To:〈sip:167.52.190.214〉;tag=ggx5cxtc
[0195]CSeq:10PT10NS
[0196]Supported:pref, privacy, precondition, IOOrel
[0197]Content-Length:0
[0198]所述server参数标识发送所述通知响应消息200的所述S-CSCFl主机名或者地址;
[0199]所述status参数标识所述S-CSCF1状态;若status=Good,则表示所述S-CSCF1处于健康状态;若status=Subheathly,则表示所述S-CSCF1处于亚健康状态。
[0200]704 =P-CSCFl根据接收到所述S-CSCF1发送的通知响应消息200中status的取值确定S-CSCFl处于亚健康状态;
[0201]例如:若所述P-CSCFl连续至少两次接收到所述S-CSCFl发送的通知响应消息200中status=Subheathly,则确定S-CSCF1处于亚健康状态;
[0202]705 =P-CSCFl将S-CSCF1上进行业务的用户切换至容灾网元。
[0203]由上可见,本发明实施例中,S-CSCFl检测所述S-CSCFl的状态;其中,所述S-CSCFl的状态包括亚健康(Subhealthly)状态和健康(Good)状态;S_CSCF1若确定连续至少3个检测周期内业务受损程度大于预设阈值,且心跳正常,则确定所述后端网元的状态为亚健康状态;发送携带有X-health-status头域的通知响应消息200给P-CSCFl ;P-CSCFl根据接收到所述S-CSCFl发送的通知响应消息200中status的取值确定S-CSCFl处于亚健康状态;P_CSCF1将S-CSCFl上进行业务的用户切换至容灾网元。如此,能够提高检测网元亚健康状态的准确性,使得网元处于亚健康状态时能够及时进行切换,有效避免网元出现亚健康状态造成的业务受损。克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
[0204]实施例五
[0205]参见图8,为本发明实施例提供的一种前端网元80,如图8所示,该前端网元80可以包括:
[0206]确定单元801,用于根据所述前端网元80检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元80与所述后端网元之间的网络处于亚健康状态,或者,根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;
[0207]其中,亚健康状态包含前端网元80与后端网元之间网络的亚健康状态和后端网元的亚健康状态,下面分别进行说明。
[0208]一、前端网元80与后端网元之间网络的亚健康状态
[0209]前端网元80与后端网元之间网络的亚健康状态是指由于前端网元80与后端网元之间的业务承载网络质量下降,表现为丢包、抖动、时延,造成业务损伤,但是前端网元80和后端网元心跳没有中断。
[0210]示例性的,所述确定单元801用于根据所述前端网元80检测到的业务接续时延以及所述前端网元80与后端网元之间的消息响应时延确定所述前端网元80和所述后端网元之间的网络处于亚健康状态,可以包括:
[0211]所述确定单元801若确定所述前端网元80检测到的业务接续时延大于第一预设时间,并且所述前端网元80与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元80和所述后端网元之间的网络处于亚健康状态;
[0212]其中,所述前端网元80检测到的业务接续时延为所述前端网元80发送邀请请求(INVITE)到接收到振铃响应之间的时间段;所述前端网元80检测到的业务接续时延若大于所述第一预设时间,可以认为网络中存在导致业务受损的问题,使得业务接续时延延长,但是需要说明的是,该导致业务受损的问题不一定出现在该前端网元和该后端网元之间,参见图2,因为用户的请求消息由P-CSCF、1-CSCF、S-CSCF等网元依次处理,所以,其他网元之间的网络亚健康也可能导致该前端网元80检测到的业务接续时延延长,例如,当前端网元为P-CSCF、后端网元为1-CSCF时,若1-CSCF和S-CSCF之间网络亚健康,会造成前端网元P-CSCF检测到的业务接续时延延长。
[0213]第一预设时间可以根据需要进行设置,本发明实施例对此不进行限制,优选的,根据用户通常的等待时间,可以设置为6s,因为大多数用户在等待6s之后可能会自主挂断,所以,在用户挂机之后,即使发生亚健康状态,切换也没有意义。
[0214]其中,所述前端网元80与后端网元之间的消息响应时延为:所述前端网元80发送INVITE给所述后端网元到接收到所述后端网元返回的响应消息(IOOTying)之间的时间段;所述前端网元80与所述后端网元的之间的消息响应时延若大于所述第二预设时间,可以认为该前端网元80与所述后端网元之间的网络处于亚健康,导致消息响应时延延长。
[0215]类似的,第二预设时间可以根据需要进行设置,本发明实施例对此不进行限制,优选的,根据用户通话体验得出的网元之间可容忍消息响应时延,可以设置为3s。
[0216]具体的,确定单元801用于:
[0217]判断前端网元80检测到的业务接续时延是否大于第一预设时间;
[0218]若确定单元801确定前端网元80检测到的业务接续时延小于或等于第一预设时间,则说明所述前端网元80所处的网络处于健康状态,业务不会受损,所以,所述前端网元80可以继续与后端网元之间进行业务传输;
[0219]若确定单元801确定前端网元80检测到的业务接续时延大于第一预设时间,则确定前端网元80与后端网元之间的消息响应时延大于第二预设时间,可以认为网络中存在导致业务受损的问题,使得业务接续时延延长,为了进一步确定该导致业务受损的问题是否出现在该前端网元80和该后端网元之间,可通过判断前端网元80与后端网元之间的消息响应时延是否大于第二预设时间确定,若所述前端网元80与后端网元之间的消息响应时延小于或等于第二预设时间,则说明所述前端网元80与所述后端网元之间的网络处于健康状态,可继续与所述后端网元之间进行业务传输;若所述前端网元80与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元80和所述后端网元之间的网络处于亚健康状态。
[0220]二、后端网元的亚健康状态
[0221]后端网元的亚健康状态是指后端网元不能完全处理业务的状态,后端网元处理业务能力下降或业务处理失败,但是前端网元到后端网元的心跳消息不会中断,如正常情况下后端网元可以同时处理IOG的流量,由于后端网元内部故障,使得后端网元只能处理5G的流量,导致一半的用户业务得不到处理。
[0222]网元的亚健康状态可以由多方面原因引起。
[0223]例如,由于网元内存泄漏,碎片化严重,某些特定业务消耗过多内存以及在电信云环境下虚拟机规格调整等原因,都可能导致系统内存不足,造成业务部分受损或全损,但是网元心跳可能还是正常,网元状态即可认为是亚健康状态。
[0224]或者,由于网元内部的硬件问题:如部分网线松动、网卡芯片缺陷或软件问题:如路由器交换机丢包错包,电信云环境下虚拟网卡故障,均会导致内部通信问题,造成部分业务受损或者全损,使网元处于亚健康状态。[0225]后端网元可以对自身的业务情况进行检测,并根据检测的结果确定后端网元的状态,该状态包括健康状态或亚健康状态。
[0226]确定单元801可以根据后端网元发送的状态指示信息确定后端网元处于亚健康状态,其中,状态指示信息可以用于指示后端网元的状态,
[0227]例如:若确定单元801连续至少两次接收到所述后端网元发送的指示后端网元亚健康状态的状态指示信息,则确定单元801可以确定后端网元处于亚健康状态;
[0228]其中,状态指示信息可以设置在后端网元的响应消息中,例如,后端网元可以定义Option消息的2000K响应中增加X-health-status头域来指示网元亚健康状态:
[0229]SIP/2.02000K
[0230]Via:SIP/2.0/UDP167.52.190.151:8090;branch=z9hG4b;
[0231]X-health-status:server=167.52.190.214;status=good;
[0232]Cal1-1D:sqavbj17veazvdiP.nell.domain, huawe1.com
[0233]From:〈sip:p2.nell.domain, huawe1.com>;tag=qltggasv
[0234]To:〈sip:167.52.190.214〉;tag=ggx5cxtc
[0235]CSeq:10PT10NS
[0236]Supported:pref, privacy, precondition, IOOrel
[0237]Content-Length:0
[0238]所述server参数标识发送所述通知响应消息的所述后端网元主机名或者地址;
[0239]所述status参数标识所述后端网元状态;若status=Good,则表示所述后端网元处于健康状态;若Status=Subheathly,则表示所述后端网元处于亚健康状态。
[0240]进一步的,所述确定单元801还用于:
[0241]确定所述前端网元80和所述后端网元之间的网络是否恢复健康状态,或者所述后端网元是否恢复健康状态,或者所述前端网元80和所述容灾网元之间的网络是否处于亚健康状态,或者所述容灾网元是否处于亚健康状态;
[0242]例如,所述确定单元801根据所述前端网元80检测到的业务接续时延以及所述前端网元80与后端网元之间的消息响应时延检测所述前端网元80和所述后端网元之间的网络是否恢复健康状态;
[0243]再例如,所述确定单元801根据所述后端网元发送的状态指示信息检测所述后端网元是否恢复健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;
[0244]其中,所述确定单元801确定所述前端网元80和所述容灾网元之间的网络是否处于亚健康状态的方法与所述确定单元801确定所述前端网元80和所述后端网元之间的网络是否处于亚健康状态的方法相同,此处不再赘述;
[0245]所述确定单元801可以根据所述容灾网元的状态指示信息判断容灾网元是否处于亚健康状态,其中,容灾网元检测该容灾网元是否处于亚健康状态的方法以及向前端网元80发送状态指示信息的方法与后端网元检测该后端网元是否处于亚健康状态的方法以及向前端网元80发送状态指示信息的方法相同,在此不再赘述。
[0246]切换单元802,用于将所述后端网元上进行业务的用户切换至容灾网元。
[0247]其中,所述容灾网元可以为:与所述后端网元具有相同功能的网元;
[0248]优选的,为避免消息冲击,可将后端网元上的用户分批切换至容灾网元。[0249]例如,所述切换单元802具体用于:
[0250]切换单元802根据所述容灾网元的数量将所述后端网元上进行业务的用户均分为η组,每一组分别对应一个不同的容灾网元,其中,η为所述容灾网元的数量;
[0251]切换单元802将所述η组用户中的每一份用户分别分成k份;
[0252]切换单元802将所述η组用户中的每一组用户分别利用k次切换至与所述用户对应的容灾网元上,每一次分别切换所述k份中的一份。
[0253]上述所述前端网元80中的切换单元802可以应用于不同的组网情况下,例如,负荷分担组网(参见图3A、图3B)、本地优选组网(参见图4A,图4B)等。
[0254]下面仅以SBC和CSCF为例,分别针对在这两种组网情况下SBC中的切换单元进行详细说明。当然,将SBC和CSCF换做其他网元(如ATS,DRA等)也同样适用。
[0255]一、参见图3A,为本发明实施例提供的负荷分担组网中用户分配示意图,其中,SBC为前端网元,CSCF为后端网元,如图3A所示,首先对用户分发过程进行说明。每个SBC上的用户平均注册到CSCF节点。为了能够减少CSCF节点故障时需要切换的用户数目,本发明实施例中SBC采用一致性Hash来进行用户分发,具体实现如下:
[0256]SBC1-SBC4分别将各自上需要进行业务的用户,根据用户公有标识(MPU)进行Hash,将其映射到m个虚拟的服务节点上(为保证Hash结果分布的平均性,m的取值不能太小),然后再将每个虚拟服务节点上的用户映射到CSCF网元上。如图3A中,存在4个CSCF网元情况下,可以将m个虚拟的服务节点平均分成4份,每一份分别映射至一个CSCF,可以将编号为I?m/4的虚拟的服务节点上的用户映射至CSCFl,m/4+l?m/2的虚拟的服务节点上的用户映射至CSCF2,m/2+l?3m/4的虚拟的服务节点上的用户映射至CSCF3,3m/4+l?m的虚拟的服务节点上的用户映射至CSCF4。
[0257]当SBCl与CSCFl之间的网络处于亚健康状态、或者CSCFl网元处于亚健康状态,对于原来在CSCFl上进行业务的用户,需要将其切换到其他的可用的CSCF上,如CSCF2、CSCF3、CSCF4上,参见图3B,为本发明实施例提供的一种负荷分担组网中容灾切换的示意图,如图3B所示,
[0258]SBCl中的切换单元将编号为I?m/4的虚拟的服务节点,均分为3份:1?m/12、m/12+l?m/6、m/6+l?m/4 ;其中,编号I?m/12的虚拟的服务节点上的用户需映射到CSCF2上;编号为m/12+l?m/6的虚拟的服务节点上的用户需映射到CSCF3上;编号为m/6+l?m/4的虚拟的服务节点上的用户需映射到CSCF4上;
[0259]SBCl中的切换单元将编号I?m/12的虚拟的服务节点上的用户均分为k批映射到CSCF2上;
[0260]同理,SBCl中的切换单元将编号为m/12+l?m/6的虚拟的服务节点上的用户均分为k批映射到CSCF3上;
[0261]SBCl中的切换单元将编号为m/6+l?m/4的虚拟的服务节点上的用户均分为k批映射到CSCF4上;
[0262]当然,在这种组网下,因为CSCFl上承担着SBC1-SBC4的业务,所以,具体实现时,由SBC1-SBC4分别将CSCFl上属于本身服务的用户进行切换。
[0263]二、参见图4A,为本发明实施例提供的本地优选组网中用户分配示意图,其中,SBC为前端网元,CSCF为后端网元,如图4A所示,首先对用户分发过程进行说明。SBC优先选择在本地的CSCF分发用户,进行业务的用户按照图4A中实线箭头所示通道分发。最终的分配结果为:
[0264]SBCl将需要进行业务的用户根据用户公有标识分配到CSCFl上;
[0265]SBC2将需要进行业务的用户根据用户公有标识分配到CSCF2上;
[0266]SBC3将需要进行业务的用户根据用户公有标识分配到CSCF3上;
[0267]SBC4将需要进行业务的用户根据用户公有标识分配到CSCF4上。
[0268]当SBCl与CSCFl之间的网络处于亚健康状态、或者CSCFl网元处于亚健康状态,对于原来在CSCFl上进行业务的用户,需要将其切换到其他的可用的CSCF上、如CSCF2、CSCF3、CSCF4上,参见图4B,为本发明实施例提供的一种本地优选组网中容灾切换的示意图,如图4B所示,SBCl中的切换单元具体用于:
[0269]SBCl中的切换单元将在CSCFl上进行业务的用户根据用户公有标识分布到m个虚拟的服务节点上;
[0270]SBCl中的切换单元将m个虚拟的服务节点根据其他的可用的CSCF数量均分,如CSCF2、CSCF3、CSCF4可用,则分为3等份,将该3份中的每一份分别映射到对应的CSCF上;例如,对于编号为I?m/3的虚拟的服务节点上的用户映射至CSCF2 ;对于编号为m/3+l?2m/3的虚拟的服务节点上的用户映射至CSCF3 ;对于编号为2m/3+l?m的虚拟的服务节点上的用户映射至CSCF4 ;
[0271]SBCl中的切换单元将编号为I?m/3的虚拟的服务节点上的用户均分为k批映射到CSCF2上;
[0272]同理,SBCl中的切换单元将编号为m/3+l?2m/3的虚拟的服务节点上的用户均分为k批映射到CSCF3上;
[0273]SBCl中的切换单元将编号为2m/3+l?m的虚拟的服务节点上的用户均分为k批映射到CSCF4上。
[0274]进一步的,所述切换单元802还用于:
[0275]若所述确定单元801确定所述前端网元80和所述后端网元之间的网络恢复健康状态,或者,所述确定单元801根据所述后端网元发送的状态指示信息确定所述后端网元恢复健康状态,或者,所述确定单元801确定所述前端网元80和所述容灾网元之间的网络处于亚健康状态,或者,所述确定单元801根据所述容灾网元发送的状态指示信息确定所述容灾网元处于亚健康状态,所述切换单元802则停止将所述后端网元上进行业务的用户切换至容灾网元。
[0276]由上可见,本发明实施例提供的前端网元80,根据所述前端网元80检测到的业务接续时延以及所述前端网元80与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,或者,根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;所述前端网元80将所述后端网元上进行业务的用户切换至容灾网元。如此,能够提高检测网元之间的网络亚健康状态和网元亚健康状态的准确性,使得网络处于亚健康状态或者网元出现亚健康状态时能够及时进行切换,有效避免网络处于亚健康状态或者网元出现亚健康状态造成的业务受损。克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
[0277]实施例六
[0278]参见图9,为本发明实施例提供的一种后端网元90,如图9所示,该后端网元90可以包括:
[0279]检测单元901,用于检测所述后端网元90的状态,其中,所述后端网元90的状态包括亚健康状态和健康状态;
[0280]其中,后端网元90的亚健康状态是指后端网元90不能完全处理业务的状态,后端网元90处理业务能力下降或业务处理失败,但是前端网元到后端网元90的心跳消息不会中断,如正常情况下后端网元90可以同时处理IOG的流量,由于后端网元90内部故障,使得后端网元90只能处理5G的流量,导致一半的用户业务得不到处理。
[0281]网元的亚健康状态可以由多方面原因引起。
[0282]例如,由于网元内存泄漏,碎片化严重,某些特定业务消耗过多内存以及在电信云环境下虚拟机规格调整等原因,都可能导致系统内存不足,造成业务部分受损或全损,但是网元心跳可能还是正常,即可认为网元状态是亚健康状态。
[0283]或者,由于网元内部的硬件问题:如部分网线松动、网卡芯片缺陷或软件问题:如路由器交换机丢包错包,电信云环境下虚拟网卡故障,均会导致内部通信问题,造成部分业务受损或者全损,使网元处于亚健康状态。
[0284]检测单元901可以对后端网元90的业务情况进行检测,并根据检测的结果确定后端网元90的状态,该状态包括健康状态或亚健康状态。例如,检测单元901可以周期性的检测后端网元90的业务情况,若`检测单元90确定连续至少3个检测周期内业务受损程度大于预设阈值,且心跳正常,则确定所述后端网元90的状态为亚健康状态;检测单元901可以将后端网元90的状态修改为亚健康状态,其中,预设阈值可以根据需要进行设置,本发明实施例对此不进行具体限制。
[0285]可选的,检测单元901在后端网元90为亚健康状态时,在一个周期内检测到业务恢复,则可将后端网元90的状态设置为健康状态。
[0286]发送单元902,用于向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元90发送的状态指示信息确定所述后端网元90处于亚健康状态时,将所述后端网元90上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元90的状态;
[0287]其中,其中,状态指示信息可以设置在后端网元90的响应消息中,例如,后端网元90可以定义Option消息的2000K响应中增加X-health-status头域来指示网元亚健康状态:
[0288]SIP/2.02000K
[0289]Via:SIP/2.0/UDP167.52.190.151:8090;branch=z9hG4b;
[0290]X-health-status:server=167.52.190.214;status=good;
[0291]Cal 1-1D: sqavbjl7veazvd@P.nell.domain, huawe1.com
[0292]From:〈sip:p2.nell.domain, huawe1.com>; tag=qltggasv
[0293]To:〈sip: 167.52.190.214>; tag=ggx5cxtc
[0294]CSeq: !OPTIONS[0295]Supported:pref, privacy, precondition, IOOrel
[0296]Content-Length:0
[0297]所述server参数标识发送所述通知响应消息的所述后端网元90主机名或者地址;
[0298]所述status参数标识所述后端网元90状态;若status=good,则表示所述后端网元90处于健康状态;若status=Subheathly,则表示所述后端网元90处于亚健康状态。
[0299]由上可见,本发明实施例提供的后端网元90,检测所述后端网元90的状态,其中,所述后端网元90的状态包括亚健康状态和健康状态;所述后端网元90向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元90发送的状态指示信息确定所述后端网元90处于亚健康状态时,将所述后端网元90上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元90的状态。如此,能够提高检测网元亚健康状态的准确性,使得网元处于亚健康状态时能够及时进行切换,有效避免网元出现亚健康状态造成的业务受损。克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
[0300]实施例七
[0301]参见图10,为本发明实施例提供的一种前端网元100,如图10所示,该设备包括:处理器1001、存储器1002、通信单元1003,至少一个通信总线1004,用于实现这些装置之间的连接和相互通信;
[0302]处理器1001可能是一个中央处理器(英文:central processing unit,简称为CPU);
[0303]存储器1002,可以是易失性存储器(英文volatile memory),例如随机存取存储器(英文:random_access memory,缩写:RAM);或者非易失性存储器(英文:non_volatilememory),例如只读存储器(英文:read_only memory,缩写:R0M),快闪存储器(英文:flashmemory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid_state drive,缩写:SSD);或者上述种类的存储器的组合,并向处理器1001提供指令和数据;
[0304]通信单元1003,用于与外部网元之间进行数据传输。
[0305]其中,处理器1001,用于根据所述前端网元100检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元100与所述后端网元之间的网络处于亚健康状态,或者,根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;
[0306]其中,亚健康状态包含前端网元100与后端网元之间网络的亚健康状态和后端网元的亚健康状态,下面分别进行说明。
[0307]一、前端网元100与后端网元之间网络的亚健康状态
[0308]前端网元100与后端网元之间网络的亚健康状态是指由于前端网元100与后端网元之间的业务承载网络质量下降,表现为丢包、抖动、时延,造成业务损伤,但是前端网元100和后纟而网兀心跳没有中断。
[0309]示例性的,所述处理器1001用于根据所述前端网元100检测到的业务接续时延以及所述前端网元100与后端网元之间的消息响应时延确定所述前端网元100和所述后端网元之间的网络处于亚健康状态,可以包括:
[0310]所述处理器1001若确定所述前端网元100检测到的业务接续时延大于第一预设时间,并且所述前端网元100与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元100和所述后端网元之间的网络处于亚健康状态;
[0311]其中,所述前端网元100检测到的业务接续时延为所述前端网元100发送邀请请求(INVITE)到接收到振铃响应之间的时间段;所述前端网元100检测到的业务接续时延若大于所述第一预设时间,可以认为网络中存在导致业务受损的问题,使得业务接续时延延长,但是需要说明的是,该导致业务受损的问题不一定出现在该前端网元和该后端网元之间,参见图2,因为用户的请求消息由P-CSCF、1-CSCF, S-CSCF等网元依次处理,所以,其他网元之间的网络亚健康也可能导致该前端网元100检测到的业务接续时延延长,例如,当前端网元为P-CSCF、后端网元为1-CSCF时,若1-CSCF和S-CSCF之间的线路问题或者S-CSCF内部软硬件问题,会造成前端网元P-CSCF检测到的业务接续时延延长。
[0312]第一预设时间可以根据需要进行设置,本发明实施例对此不进行限制,优选的,根据用户通常的等待时间,可以设置为6s,因为大多数用户在等待6s之后可能会自主挂断,所以,在用户挂机之后,即使发生亚健康状态,切换也没有意义。
[0313]其中,所述前端网元100与后端网元之间的消息响应时延为:所述前端网元100发送INVITE给所述后端网元到接收到所述后端网元返回的响应消息(IOOTying)之间的时间段;所述前端网元100与所述后端网元的之间的消息响应时延若大于所述第二预设时间,可以认为该前端网元100与所述后端网元之间的网络处于亚健康,导致消息响应时延延长。
[0314]类似的,第二预设时间可以根据需要进行设置,本发明实施例对此不进行限制,优选的,根据用户通话体验得出的网元之间可容忍消息响应时延,可以设置为3s。
[0315]具体的,处理器1001用于:
[0316]判断前端网元100检测到的业务接续时延是否大于第一预设时间;
[0317]若处理器1001确定前端网元检测到的业务接续时延小于或等于第一预设时间,则说明所述前端网元100所处的网络处于健康状态,业务不会受损,所以,所述前端网元100可以继续与后端网元之间进行业务传输;
[0318]若处理器1001确定前端网元检测到的业务接续时延大于第一预设时间,则确定前端网元100与后端网元之间的消息响应时延大于第二预设时间,可以认为网络中存在导致业务受损的问题,使得业务接续时延延长,为了进一步确定该导致业务受损的问题是否出现在该前端网元100和该后端网元之间,可通过判断前端网元100与后端网元之间的消息响应时延是否大于第二预设时间确定,若所述前端网元100与后端网元之间的消息响应时延小于或等于第二预设时间,则说明所述前端网元100与所述后端网元之间的网络处于健康状态,可继续与所述后端网元之间进行业务传输;若所述前端网元100与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元100和所述后端网元之间的网络处于亚健康状态。
[0319]二、后端网元的亚健康状态
[0320]后端网元的亚健康状态是指后端网元不能完全处理业务的状态,后端网元处理业务能力下降或业务处理失败,但是前端网元到后端网元的心跳消息不会中断,如正常情况下后端网元可以同时处理IOG的流量,由于后端网元内部故障,使得后端网元只能处理5G的流量,导致一半的用户业务得不到处理。
[0321]网元的亚健康状态可以由多方面原因引起。
[0322]例如,由于网元内存泄漏,碎片化严重,某些特定业务消耗过多内存以及在电信云环境下虚拟机规格调整等原因,都可能导致系统内存不足,造成业务部分受损或全损,但是网元心跳可能还是正常,网元状态即可认为是亚健康状态。
[0323]或者,由于网元内部的硬件问题:如部分网线松动、网卡芯片缺陷或软件问题:如路由器交换机丢包错包,电信云环境下虚拟网卡故障,均会导致内部通信问题,造成部分业务受损或者全损,使网元处于亚健康状态。
[0324]后端网元可以对自身的业务情况进行检测,并根据检测的结果确定后端网元的状态,该状态包括健康状态或亚健康状态。
[0325]处理器1001可以根据通信单元1003接收的后端网元发送的状态指示信息确定后端网元处于亚健康状态,其中,状态指示信息可以用于指示后端网元的状态,
[0326]例如:若处理器1001确定所述通信单元1003连续至少两次接收到所述后端网元发送的指示后端网元亚健康状态的状态指示信息,则处理器1001可以确定后端网元处于亚健康状态;
[0327]其中,状态指示信息可以设置在后端网元的响应消息中,例如,后端网元可以定义Option消息的2000K响应中增加X-health-status头域来指示网元亚健康状态:
[0328]SIP/2.02000K
[0329]Via:SIP/2.0/UDP167.52.190.151:8090;branch=z9hG4b;
[0330]X-health-status:server=167.52.190.214;status=Subheathly;
[0331]Cal1-1D:sqavbj17veazvdiP.nell.domain, huawe1.com
[0332]From:〈sip:p2.nell.domain, huawe1.com>;tag=qltggasv
[0333]To:〈sip:167.52.190.214〉;tag=ggx5cxtc
[0334]CSeq:10PT10NS
[0335]Supported:pref, privacy, precondition, IOOrel
[0336]Content-Length:0
[0337]所述server参数标识发送所述通知响应消息的所述后端网元主机名或者地址;
[0338]所述status参数标识所述后端网元状态;若status=Good,则表示所述后端网元处于健康状态;若Status=Subheathly,则表示所述后端网元处于亚健康状态。
[0339]进一步的,所述处理器1001还用于:
[0340]确定所述前端网元100和所述后端网元之间的网络是否恢复健康状态,或者所述后端网元是否恢复健康状态,或者所述前端网元100和所述容灾网元之间的网络是否处于亚健康状态,或者所述容灾网元是否处于亚健康状态;
[0341]例如,所述处理器1001根据所述前端网元100检测到的业务接续时延以及所述前端网元100与后端网元之间的消息响应时延检测所述前端网元100和所述后端网元之间的网络是否恢复健康状态;
[0342]再例如,所述处理器1001根据通信单元1003接收的所述后端网元发送的状态指示信息检测所述后端网元是否恢复健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;
[0343]其中,所述处理器1001确定所述前端网元100和所述容灾网元之间的网络是否处于亚健康状态的方法与所述处理器1001确定所述前端网元100和所述后端网元之间的网络是否处于亚健康状态的方法相同,此处不再赘述;
[0344]所述处理器1001可以根据所述容灾网元的状态指示信息判断容灾网元是否处于亚健康状态,其中,容灾网元检测该容灾网元是否处于亚健康状态的方法以及向前端网元100发送状态指示信息的方法与后端网元检测该后端网元是否处于亚健康状态的方法以及向前端网元100发送状态指示信息的方法相同,在此不再赘述。
[0345]进一步的,所述处理器1001还用于:
[0346]将所述后端网元上进行业务的用户切换至容灾网元。
[0347]其中,所述容灾网元可以为:与所述后端网元具有相同功能的网元;
[0348]优选的,为避免消息冲击,可将后端网元上的用户分批切换至容灾网元。
[0349]例如,所述处理器1001具体用于:
[0350]处理器1001根据所述容灾网元的数量将所述后端网元上进行业务的用户均分为η组,每一组分别对应一个不同的容灾网元,其中,η为所述容灾网元的数量;
[0351]处理器1001将所述η组用户中的每一份用户分别分成k份;
[0352]处理器1001将所述η组用户中的每一组用户分别利用k次切换至与所述用户对应的容灾网元上,每一次分别切换所述k份中的一份。
[0353]上述所述前端网元100中的处理器1001可以应用于不同的组网情况下,例如,负荷分担组网(参见图3A、图3B)、本地优选组网(参见图4A,图4B)等。
[0354]下面仅以SBC和CSCF为例,分别针对在这两种组网情况下SBC中的切换单元进行详细说明。当然,将SBC和CSCF换做其他网元(如ATS,DRA等)也同样适用。
[0355]一、参见图3A,为本发明实施例提供的负荷分担组网中用户分配示意图,其中,SBC为前端网元,CSCF为后端网元,如图3A所示,首先对用户分发过程进行说明。每个SBC上的用户平均注册到CSCF节点。为了能够减少CSCF节点故障时需要切换的用户数目,本发明实施例中SBC采用一致性Hash来进行用户分发,具体实现如下:
[0356]SBC1-SBC4分别将各自上需要进行业务的用户,根据用户公有标识(MPU)进行Hash,将其映射到m个虚拟的服务节点上(为保证Hash结果分布的平均性,m的取值不能太小),然后再将每个虚拟服务节点上的用户映射到CSCF网元上。如图3A中,存在4个CSCF网元情况下,可以将m个虚拟的服务节点平均分成4份,每一份分别映射至一个CSCF,可以将编号为I?m/4的虚拟的服务节点上的用户映射至CSCFl,m/4+l?m/2的虚拟的服务节点上的用户映射至CSCF2,m/2+l?3m/4的虚拟的服务节点上的用户映射至CSCF3,3m/4+l?m的虚拟的服务节点上的用户映射至CSCF4。
[0357]当SBCl与CSCFl之间的网络处于亚健康状态、或者CSCFl网元处于亚健康状态,对于原来在CSCFl上进行业务的用户,需要将其切换到其他的可用的CSCF上,如CSCF2、CSCF3、CSCF4上,参见图3B,为本发明实施例提供的一种负荷分担组网中容灾切换的示意图,如图3B所示,
[0358]SBCl中的处理器将编号为I?m/4的虚拟的服务节点,均分为3份:1?m/12、m/12+l?m/6、m/6+l?m/4 ;其中,编号I?m/12的虚拟的服务节点上的用户需映射到CSCF2上;编号为m/12+l?m/6的虚拟的服务节点上的用户需映射到CSCF3上;编号为m/6+l?m/4的虚拟的服务节点上的用户需映射到CSCF4上;
[0359]SBCl中的处理器将编号I?m/12的虚拟的服务节点上的用户均分为k批映射到CSCF2 上;
[0360]同理,SBCl中的处理器将编号为m/12+l?m/6的虚拟的服务节点上的用户均分为k批映射到CSCF3上;
[0361]SBCl中的处理器将编号为m/6+l?m/4的虚拟的服务节点上的用户均分为k批映射到CSCF4上;
[0362]当然,在这种组网下,因为CSCFl上承担着SBC1-SBC4的业务,所以,具体实现时,由SBC1-SBC4分别将CSCFl上属于本身服务的用户进行切换。
[0363]二、参见图4A,为本发明实施例提供的本地优选组网中用户分配示意图,其中,SBC为前端网元,CSCF为后端网元,如图4A所示,首先对用户分发过程进行说明。SBC优先选择在本地的CSCF分发用户,进行业务的用户按照图4A中实线箭头所示通道分发。最终的分配结果为:
[0364]SBCl将需要进行业务的用户根据用户公有标识分配到CSCFl上;
[0365]SBC2将需要进行业务的用户根据用户公有标识分配到CSCF2上;
[0366]SBC3将需要进行业务的用户根据用户公有标识分配到CSCF3上;
[0367]SBC4将需要进行业务的用户根据用户公有标识分配到CSCF4上。
[0368]当SBCl与CSCFl之间的网络处于亚健康状态、或者CSCFl网元处于亚健康状态,对于原来在CSCFl上进行业务的用户,需要将其切换到其他的可用的CSCF上、如CSCF2、CSCF3、CSCF4上,参见图4B,为本发明实施例提供的一种本地优选组网中容灾切换的示意图,如图4B所示,SBCl中的处理器具体用于:
[0369]SBCl中的处理器将在CSCFl上进行业务的用户根据用户公有标识分布到m个虚拟的服务节点上;
[0370]SBCl中的处理器将m个虚拟的服务节点根据其他的可用的CSCF数量均分,如CSCF2、CSCF3、CSCF4可用,则分为3等份,将该3份中的每一份分别映射到对应的CSCF上;例如,对于编号为I?m/3的虚拟的服务节点上的用户映射至CSCF2 ;对于编号为m/3+l?2m/3的虚拟的服务节点上的用户映射至CSCF3 ;对于编号为2m/3+l?m的虚拟的服务节点上的用户映射至CSCF4 ;
[0371]SBCl中的处理器将编号为I?m/3的虚拟的服务节点上的用户均分为k批映射到CSCF2 上;
[0372]同理,SBCl中的处理器将编号为m/3+l?2m/3的虚拟的服务节点上的用户均分为k批映射到CSCF3上;
[0373]SBCl中的处理器将编号为2m/3+l?m的虚拟的服务节点上的用户均分为k批映射到CSCF4上。
[0374]进一步的,所述处理器1001还用于:
[0375]若所述处理器1001确定所述前端网元100和所述后端网元之间的网络恢复健康状态,或者,所述处理器1001根据所述后端网元发送的状态指示信息确定所述后端网元恢复健康状态,或者,所述处理器1001确定所述前端网元100和所述容灾网元之间的网络处于亚健康状态,或者,所述处理器1001根据所述容灾网元发送的状态指示信息确定所述容灾网元处于亚健康状态,所述处理器1001则停止将所述后端网元上进行业务的用户切换至容灾网元。
[0376]本发明实施例提供的一种前端网元100,由上可见,本发明实施例提供的前端网元100,根据所述前端网元100检测到的业务接续时延以及所述前端网元100与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,或者,根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;所述前端网元100将所述后端网元上进行业务的用户切换至容灾网元。如此,能够提高检测网元之间的网络亚健康状态和网元亚健康状态的准确性,使得网络处于亚健康状态或者网元出现亚健康状态时能够及时进行切换,有效避免网络处于亚健康状态或者网元出现亚健康状态造成的业务受损。克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
[0377]实施例八
[0378]参见图11,为本发明实施例提供的一种后端网元110,如图11所示,该后端网元110可以包括:处理器1101、存储器1102、通信单元1103,至少一个通信总线1104,用于实现这些装置之间的连接和相互通信;
[0379]处理器1101可能是一个中央处理器(英文:central processing unit,简称为CPU);
[0380]存储器1102,可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random_access memory,缩写:RAM);或者非易失性存储器(英文:non_volatilememory),例如只读存储器(英文:read_only memory,缩写:R0M),快闪存储器(英文:flashmemory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid_state drive,缩写:SSD);或者上述种类的存储器的组合,并向处理器1001提供指令和数据;
[0381]通信单元1103,用于与外部网元之间进行数据传输。
[0382]其中,处理器1101,用于检测所述后端网元110的状态,其中,所述后端网元110的状态包括亚健康状态和健康状态;
[0383]其中,后端网元110的亚健康状态是指后端网元110不能完全处理业务的状态,后端网元100处理业务能力下降或业务处理失败,但是前端网元到后端网元110的心跳消息不会中断,如正常情况下后端网元110可以同时处理10G的流量,由于后端网元110内部故障,使得后端网元110只能处理5G的流量,导致一半的用户业务得不到处理。
[0384]网元的亚健康状态可以由多方面原因引起。
[0385]例如,由于网元内存泄漏,碎片化严重,某些特定业务消耗过多内存以及在电信云环境下虚拟机规格调整等原因,都可能导致系统内存不足,造成业务部分受损或全损,但是网元心跳可能还是正常,即可认为网元状态是亚健康状态。
[0386]或者,由于网元内部的硬件问题:如部分网线松动、网卡芯片缺陷或软件问题:如路由器交换机丢包错包,电信云环境下虚拟网卡故障,均会导致内部通信问题,造成部分业务受损或者全损,使网元处于亚健康状态。
[0387]处理器1101可以对后端网元110的业务情况进行检测,并根据检测的结果确定后端网元110的状态,该状态包括健康状态或亚健康状态。例如,处理器1101可以周期性的检测后端网元Iio的业务情况,若处理器1101确定连续至少3个检测周期内业务受损程度大于预设阈值,且心跳正常,则确定所述后端网元110的状态为亚健康状态;处理器1101可以将后端网元110的状态修改为亚健康状态,其中,预设阈值可以根据需要进行设置,本发明实施例对此不进行具体限制。
[0388]可选的,处理器1101在后端网元110为亚健康状态时,在一个周期内检测到业务恢复,则可将后端网元110的状态设置为健康状态。
[0389]通信单元1103具体用于,向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元110发送的状态指示信息确定所述后端网元110处于亚健康状态时,将所述后端网元110上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元110的状态;
[0390]其中,其中,状态指示信息可以设置在后端网元110的响应消息中,例如,后端网元110可以定义Option消息的2000K响应中增加X_health_status头域来指示网元亚健康状态:
[0391]SIP/2.02000K
[0392]Via:SIP/2.0/UDP167.52.190.151:8090;branch=z9hG4b;
[0393]X-health-status:server=167.52.190.214;status=Subheathly;
[0394]Cal1-1D:sqavbj17veazvdiP.nell.domain, huawe1.com
[0395]From:〈sip:p2.nell.domain, huawe1.com>;tag=qltggasv
[0396]To:〈sip:167.52.190.214〉;tag=ggx5cxtc
[0397]CSeq:10PT10NS
[0398]Supported:pref, privacy, precondition, IOOrel
[0399]Content-Length:0
[0400]所述server参数标识发送所述通知响应消息的所述后端网元110主机名或者地址;
[0401]所述status参数标识所述后端网元110状态;若status=good,则表示所述后端网元110处于健康状态;若StatuS=Subheathly,则表示所述后端网元110处于亚健康状态。
[0402]由上可见,本发明实施例提供的后端网元110,检测所述后端网元110的状态,其中,所述后端网元110的状态包括亚健康状态和健康状态;所述后端网元110向所述前端网元发送状态指示信息,以使得所述前端网元110根据所述后端网元110发送的状态指示信息确定所述后端网元110处于亚健康状态时,将所述后端网元110上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元110的状态。如此,能够提高检测网元亚健康状态的准确性,使得网元处于亚健康状态时能够及时进行切换,有效避免网元出现亚健康状态造成的业务受损。克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
[0403]实施例九
[0404]参见图12,为本发明实施例提供的一种容灾切换系统,如图12所示,该容灾切换系统可以包括:上述任一实施例所述的前端网元、上述任一实施例所述的后端网元以及至少一个容灾网元。
[0405]因为上述实施例已对前端网元和后端网元的具体功能做了详细介绍,故在此不再赘述。
[0406]本发明实施例的容灾切换系统,前端网元根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,或者,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态;所述前端网元将所述后端网元上进行业务的用户切换至容灾网元。后端网元检测所述后端网元的状态,其中,所述后端网元的状态包括亚健康状态和健康状态;所述后端网元向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态时,将所述后端网元上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元的状态。如此,能够提高检测网元之间的网络亚健康状态和网元亚健康状态的准确性,使得网络处于亚健康状态或者网元出现亚健康状态时能够及时进行切换,有效避免网络处于亚健康状态或者网元出现亚健康状态造成的业务受损。克服了现有技术还不能准确检测出网络或网元的亚健康状态,使得网络或网元处于亚健康状态时不能及时进行切换,不能有效避免网络或网元处于亚健康状态造成的业务受损的缺陷。
[0407]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的单元和系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0408]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0409]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0410]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0411]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。[0412]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件(例如处理器)来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
[0413]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种容灾切换方法,其特征在于,该方法包括: 前端网元根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,或者,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态; 所述前端网元将所述后端网元上进行业务的用户切换至容灾网元。
2.根据权利要求1所述的方法,其特征在于,所述前端网元根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元和所述后端网元之间的网络处于亚健康状态,包括: 所述前端网元若确定所述前端网元检测到的业务接续时延大于第一预设时间,并且所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。
3.根据权利要求2所述的方法,其特征在于,所述前端网元若确定所述前端网元检测到的业务接续时延大于第一预设时间,并且所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态,包括: 所述前端网元判断所述前端网元检测到的业务接续时延是否大于第一预设时间; 若所述前端网元确定所述前端网元检测到的业务接续时延大于第一预设时间,则判断所述前端网元与后端网元之间的消息响应时延是否大于第二预设时间; 若确定所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。
4.根据权利要求1所述的方法,其特征在于,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,包括: 若所述前端网元连续至少两次接收到所述后端网元发送的指示所述后端网元亚健康状态的状态指示信息,则所述前端网元确定所述后端网元处于亚健康状态。
5.根据权利要求1所述的方法,其特征在于,所述前端网元将所述后端网元上进行业务的用户切换至容灾网元,包括: 所述前端网元根据所述容灾网元的数量将所述后端网元上进行业务的用户均分为η组,每一组分别对应一个不同的容灾网元,其中,η为所述容灾网元的数量; 所述前端网元将所述η组用户中的每一组用户分别分成k份; 所述前端网元将所述η组用户中的每一组用户分别利用k次切换至与所述用户对应的容灾网元上,每一次分别切换所述k份中的一份。
6.根据权利要求1或5所述的方法,其特征在于,所述前端网元将所述后端网元上进行业务的用户切换至容灾网元,还包括: 若所述前端网元确定所述前端网元和所述后端网元之间的网络恢复健康状态,或者,所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元恢复健康状态,或者,所述前端网元确定所述前端网元和所述容灾网元之间的网络处于亚健康状态,或者,所述前端网元根据所述容灾网元发送的状态指示信息确定所述容灾网元处于亚健康状态,则停止将所述后端网元上进行业务的用户切换至容灾网元。
7.一种容灾切换方法,其特征在于,该方法包括: 后端网元检测所述后端网元的状态,其中,所述后端网元的状态包括亚健康状态和健康状态; 所述后端网元向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态时,将所述后端网元上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元的状态。
8.根据权利要求7所述的方法,其特征在于,所述后端网元检测所述后端网元的状态,包括: 所述后端网元若确定连续至少3个检测周期内业务受损程度大于预设阈值,且心跳正常,则确定所述后端网元的状态为亚健康状态。
9.一种前端网元,其特征在于,包括: 确定单元,用于根据所述前端网元检测到的业务接续时延以及所述前端网元与后端网元之间的消息响应时延确定所述前端网元与所述后端网元之间的网络处于亚健康状态,或者,根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态,其中,所述状态指示信息用于指示所述后端网元的状态; 切换单元,用于将所述后端网元上进行业务的用户切换至容灾网元。
10.根据权利要求9所述的前端网元,其特征在于, 所述确定单元具体用于:若确定所述前端网元检测到的业务接续时延大于第一预设时间,并且所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。`
11.根据权利要求10所述的前端网元,其特征在于, 所述确定单元还用于:判断所述前端网元检测到的业务接续时延是否大于第一预设时间; 若确定所述前端网元检测到的业务接续时延大于第一预设时间,则判断所述前端网元与后端网元之间的消息响应时延是否大于第二预设时间; 若确定所述前端网元与后端网元之间的消息响应时延大于第二预设时间,则确定所述前端网元和所述后端网元之间的网络处于亚健康状态。
12.根据权利要求9所述的前端网元,其特征在于, 所述确定单元具体用于:若连续至少两次接收到所述后端网元发送的指示所述后端网元处于亚健康状态的状态指示信息,则确定所述后端网元处于亚健康状态。
13.根据权利要求9所述的前端网元,其特征在于, 所述切换单元具体用于:根据所述容灾网元的数量将所述后端网元上进行业务的用户均分为η组,每一组分别对应一个不同的容灾网元,其中,η为所述容灾网元的数量; 所述前端网元将所述η组用户中的每一组用户分别分成k份; 所述前端网元将所述η组用户中的每一组用户分别利用k次切换至与所述用户对应的容灾网元上,每一次分别切换所述k份中的一份。
14.根据权利要求9或13所述的前端网元,其特征在于, 所述确定单元还用于:确定所述前端网元和所述后端网元之间的网络恢复健康状态,或者,根据所述后端网元发送的状态指示信息确定所述后端网元恢复健康状态,或者,确定所述前端网元和所述容灾网元之间的网络处于亚健康状态,或者,根据所述容灾网元发送的状态指示信息确定所述容灾网元处于亚健康状态。
15.一种后端网元,其特征在于,包括: 检测单元,用于检测所述后端网元的状态,其中,所述后端网元的状态包括亚健康状态和健康状态; 发送单元,用于向所述前端网元发送状态指示信息,以使得所述前端网元根据所述后端网元发送的状态指示信息确定所述后端网元处于亚健康状态时,将所述后端网元上进行业务的用户切换至容灾网元,其中,所述状态指示信息用于指示所述后端网元的状态。
16.根据权利要求15所述的后端网元,其特征在于, 所述检测单元具体用于:若确定连续至少3个检测周期内业务受损程度大于预设阈值,且心跳正常,则确定所述后端网元的状态为亚健康状态。
17.一种容灾切换系统,其特征在于,包括:如权利要求9至14任一项所述的前端网元,如权利要求15至16 任一项所述的后端网元,以及至少一个容灾网元。
【文档编号】H04L12/24GK103560913SQ201310535276
【公开日】2014年2月5日 申请日期:2013年10月31日 优先权日:2013年10月31日
【发明者】李鹤, 徐日东, 黄艳, 罗伯强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1