基于会话初始协议的负载均衡实现方法及系统的制作方法

文档序号:7961212阅读:228来源:国知局
专利名称:基于会话初始协议的负载均衡实现方法及系统的制作方法
技术领域
本发明涉及一种负载均衡实现方法及系统,特别是一种基于会话初始协议的负载均衡实现方法及系统。
背景技术
随着网络电话、IP多媒体子系统(IP Multimedia Subsystem,简称IMS)等应用的推广,会话初始协议(Session Initiation Protocol,简称SIP)也得到了广泛应用,SIP是建立会话的基础,会话是从用户使用业务开始到业务结束的过程中,用户与服务器的完整交互过程,所有应用服务器会话的建立都需要使用SIP协议。
为降低成本,集群技术是优先考虑的技术,广义上说,相互独立的一些系统构成的一个组就是集群。一个客户与集群相互作用时,集群的行为像是一个独立的系统一样。从狭义上讲,集群是一些相互独立的计算机,这些计算机作为一个整体对外提供服务。对于客户来说,这些计算机的行为就好像一个计算机一样,但是其处理能力、可靠性、I/O(输入输出)能力都得到了大幅的提升。集群技术是一种通用的技术,其目的是为了解决单机运算能力及I/O能力的不足,提高服务的可靠性,获得规模可扩展能力,降低整体方案的运维成本(运行、升级、维护成本)。而集群技术的核心就是负载均衡,所谓负载均衡,指的就是把外部请求平均分配给多台具有相同功能的计算机。
应用是具体的一个业务,也可以是一套软件,考虑各个应用不同,在实际的负载均衡中还需要考虑会话的保持,即一个会话中的所有消息都需要发送集群中的同一个节点中完成。
现有的基于SIP协议的负载均衡器实现方法是基于SIP协议中的CALLID或者SourceIP进行调度的,即相同的CALLID或者相同的SourceIP的SIP请求可以被发往同一节点处理。
但在实际的应用中,该方案不能解决不同CALLID或SourceIP的SIP请求需要发往同一节点处理的需求。例如订阅会议的状态,由于订阅者的CallID不会与会议的创建者的CallID相同,IP也不同,现有的负载均衡实现方法,不能满足这种应用场景。

发明内容
本发明的目的是针对上述现有技术的不足,提供一种基于会话初始协议的负载均衡实现方法及系统,通过配置会话的请求以及会话标志,从而实现了把不同的SIP请求发往同一节点处理的目的。
为实现上述目的,本发明提出了一种基于会话初始协议的负载均衡实现方法,其中执行以下步骤步骤1、终端向网络侧发送一个会话初始请求消息,网络侧设置所述会话初始请求消息的会话标志;步骤2、所述网络侧将所述会话初始请求消息发送给用于为会话初始请求消息分配应用服务器的设备;步骤3、所述设备读取所述会话初始请求消息中的会话标志,根据记录的会话标志与应用服务器的对应关系得到处理所述会话初始请求消息的应用服务器;步骤4、所述设备将所述会话初始请求消息发送到处理所述会话初始请求消息的应用服务器进行处理;步骤5、结束。
本发明还提供了一种基于会话初始协议的负载均衡实现系统,该系统包括负载均衡模块,该负载均衡模块用于为会话初始请求消息分配应用服务器;容器一,该容器一与所述负载均衡模块相连,用于保存集群中的所有应用服务器列表供所述负载均衡模块进行查询;容器二,该容器二与所述负载均衡模块相连,用于保存会话标志与应用服务器的对应关系供所述负载均衡模块查询。
本发明通过设置会话的请求消息类型以及会话标志,将具有相同会话标志的不同SIP请求调度到同一应用服务器(节点)进行处理,从而实现了把不同CALLID或SourceIP的SIP请求发往同一节点处理的目的。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明基于会话初始协议的负载均衡实现方法的较佳实施例的流程图;图2为图1中的网络拓扑结构图;图3为本发明基于会话初始协议的负载均衡实现方法的另一较佳实施例的流程图;图4为基于图3的实施例的流程图;图5为本发明基于会话初始协议的负载均衡实现系统的一较佳实施例的结构示意图;图6为本发明基于会话初始协议的负载均衡实现系统的另一较佳实施例的结构示意图。
具体实施例方式
用于为会话初始请求消息分配应用服务器的设备可以为负载均衡器、服务器等。
图1为本发明基于会话初始协议的负载均衡实现方法的较佳实施例的流程图,本发明以PoC(Push to Talk over Cellular,简称PoC)业务作为较佳实施例,假设本实施例中所涉及的网络拓扑结构如图2所示,有PoC1、PoC2、PoC3、PoC4四台用于处理PoC业务的服务器A1,负载均衡器A2以及参加此次PoC业务的UE1和UE2两用户个终端A3。
负载均衡器在初始化时,在内存中创建两个相互独立的存储容器,其中一个保存集群中的所有节点,为了便于描述,称其为容器一;另一个保存会话与节点的对应关系,为了便于描述,称其为容器二。
步骤101具体包括以下两步步骤1011、终端UE1向网络侧发送会话初始请求消息SipRequest(),请求进行PoC业务会话;步骤1012、网络侧首先会话初始消息SipRequest()设置为Invite类请求,并将UE1请求创建的PoC业务会话的会话标志设置为响应的contact头域,即,将Invite请求的200响应中的contact头域动态配置为PoCSessionl。
步骤102、网络侧将会话标志为PoCSessionl的PoC业务会话初始请求消息发送给负载均衡器SIP Balance。
步骤103、负载均衡器SIP Balance读取会话初始请求消息SipRequest()的会话标志PoCSessionl,同时根据容器二中记录的会话标志与应用服务器的对应关系得到处理PoCSessionl的应用服务器,假设容器二中记录了处理PoCSessionl的应用服务器是PoC3。
若容器二中不一定记录PoCSessionl,即PoCSessionl不一定存在时,则负载均衡器SIP Balance首先判断会话标志PoCSessionl是否存在,若是,执行步骤104;否则,负载均衡器SIP Balance从容器一中查找到空闲的服务器PoC2,并将会话标志为PoCSessionl的PoC业务会话初始请求消息发送给服务器PoC2,由服务器PoC2处理PoC业务会话PoCSessionl,同时,将处理PoCSessionl的服务器PoC2与PoCSessionl的关系存入容器二中,执行步骤105。
步骤104、负载均衡器SIP Balance将所述会话初始请求消息SipRequest()重定向到处理所述会话初始请求消息的应用服务器PoC3,交由服务器PoC3进行处理。
步骤105、结束。
假定处理终端UE1发出的PoC业务会话请求的应用服务器为PoC2,此时另一个终端UE2也向网络侧发出会话初始请求,要求加入此PoC业务会话中时,如图3所示,具体执行以下步骤步骤201具体包括以下两步步骤2011、终端UE2向网络侧发送一个会话初始请求消息SipRequest(),请求加入PoC业务会话中;步骤2012、网络侧将会话初始请求消息SipRequest()设置为会话标志为to头域的Invite类SIP消息,同时,to头域动态配置为PoCSessionl。
步骤202、网络侧将SIP消息发送给负载均衡器SIP Balance;步骤203、负载均衡器根据记录的会话标志与应用服务器的对应关系得到处理PoC业务会话PoCSessionl的应用服务器PoC2;步骤204、负载均衡器SIP Balance将SIP消息重定向到应用服务器PoC2,由应用服务器PoC2处理终端UE2发出的SIP请求;步骤205、结束。
这样,就实现了将不同的终端的SIP请求发往统一节点(即应用服务器)进行处理。由于不同的终端的CALLID和SourceIP不同,因此,本发明解决了不同CALLID或SourceIP的SIP请求发往统一节点处理的请求。
上述实施例中,负载均衡器预先配置了所有业务可以创建会话的SIP消息,若负载均衡器只预先配置了部分业务可以创建会话的SIP消息,这时,如图4所示,图3中步骤202和步骤203之间还进一步包括以下步骤步骤301、负载均衡器SIP Balance判断该Invite类SIP消息是否存在,若是,执行步骤302;否则,执行步骤304;
步骤302、负载均衡器SIP Balance判断Invite类SIP消息中的会话标志PoCSessionl是否存在,若是,执行步骤203;否则,执行步骤303;步骤303、负载均衡器SIP Balance从容器一中找到一个空闲的应用服务器,如PoC4,并记录PoC4和PoCSessionl的关系,为了使得负载均衡器能够了解PoC4是否接收到PoCSessionl,可以首先是PoC4向负载均衡器SIPBalance返回会话初始请求响应消息,然后执行步骤205;步骤304、负载均衡器SIP Balance从容器一中找到一个空闲的应用服务器,如PoC4,将PoCSessionl业务会话交由应用服务器PoC4处理,执行步骤205。
图5为本发明基于会话初始协议的负载均衡实现系统的一较佳实施例的结构示意图,本发明还提供了一套系统来实现基于会话初始协议的负载均衡,如图5所示,该系统包括用于为会话初始请求消息分配应用服务器的负载均衡模块S1;用于保存集群中的所有应用服务器列表的容器一S2,以及用于保存会话标志与应用服务器的对应关系的容器二S3。容器一S2、容器二S3分别与负载均衡模块S1相连,供所述负载均衡模块进行查询。
负载均衡模块通过读取会话初始请求消息中的会话标志及查询容器,为会话初始请求消息分配相应的应用服务器,从而实现基于会话初始协议的负载均衡。
图6为本发明基于会话初始协议的负载均衡实现系统的另一较佳实施例的结构示意图,本实施例中负载均衡模块S1设置有接收模块S11、分配模块S12及发送模块S13;所述接收模块S11与所述分配模块S12相连,用于接收会话初始请求消息并提供给所述分配模块S12;所述分配模块S12与所述容器一S2、容器二S3相连,用于查询容器一S2保存的应用服务器列表及容器二S3保存的会话标志与应用服务器的对应关系,并为会话初始请求消息分配应用服务器;所述发送模块S13与所述分配模块S12相连,用于将会话初始消息发送给应用服务器,该应用服务器是由分配模块S12为会话初始请求消息分配的应用服务器。
IMS业务中对SIP消息处理比较复杂,不同的业务、不同的应用场景,对于集群应用来说,分发策略也是灵活多变的。采用本发明中分发策略可配置的方法,可以满足各种SIP应用的业务需要,使得集群技术可以在IMS的应用服务器(AS)大范围使用,降低AS的成本。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种基于会话初始协议的负载均衡实现方法,其特征在于,包括以下步骤步骤1、终端向网络侧发送一个会话初始请求消息,网络侧设置所述会话初始请求消息的会话标志;步骤2、所述网络侧将所述会话初始请求消息发送给用于为会话初始请求消息分配应用服务器的设备;步骤3、所述设备读取所述会话初始请求消息中的会话标志,根据记录的会话标志与应用服务器的对应关系得到处理所述会话初始请求消息的应用服务器;步骤4、所述设备将所述会话初始请求消息发送到处理所述会话初始请求消息的应用服务器进行处理;步骤5、结束。
2.根据权利要求1所述的基于会话初始协议的负载均衡实现方法,其特征在于,所述步骤1之前还包括以下步骤所述设备保存集群中的所有应用服务器列表以及会话标志与应用服务器的对应关系。
3.根据权利要求1或2所述的基于会话初始协议的负载均衡实现方法,其特征在于,所述步骤2和步骤3之间还进一步包括步骤11、所述设备读取所述会话初始消息中的会话标志,判断所述会话标志是否存在,若是,执行步骤3;否则,所述设备将所述会话初始请求消息重定向到一个空闲的应用服务器进行处理,并记录所述会话初始消息中的会话标志与所述空闲的应用服务器,执行步骤5。
4.根据权利要求3所述的基于会话初始协议的负载均衡实现方法,其特征在于,所述步骤2和所述步骤11之间还进一步包括步骤21、所述设备根据预先配置的会话消息类型列表判断所述会话初始请求消息是否存在,若是,执行步骤11;否则,执行步骤22;步骤22、所述设备将所述会话初始请求消息重定向到一个空闲的应用服务器进行处理,执行步骤5。
5.根据权利要求4所述的基于会话初始协议的负载均衡实现方法,其特征在于,所述步骤22中,所述设备重定向所述会话初始请求消息后,首先,所述空闲的应用服务器向所述设备返回会话初始请求响应消息,然后执行步骤5。
6.一种基于会话初始协议的负载均衡实现系统,其特征在于包括负载均衡模块,该负载均衡模块用于为会话初始请求消息分配应用服务器;容器一,与所述负载均衡模块相连,用于保存集群中的所有应用服务器列表供所述负载均衡模块进行查询;容器二,与所述负载均衡模块相连,用于保存会话标志与应用服务器的对应关系供所述负载均衡模块查询。
7.根据权利要求6所述的基于会话初始协议的负载均衡实现系统,其特征在于,所述负载均衡模块设置有接收模块、分配模块及发送模块;所述接收模块与所述分配模块相连,用于接收会话初始请求消息并提供给所述分配模块;所述分配模块与所述容器一、容器二相连,用于查询所述容器一保存的应用服务器列表及所述容器二保存的会话标志与应用服务器的对应关系,并为会话初始请求消息分配应用服务器;所述发送模块与所述分配模块相连,用于将会话初始请求消息发送给应用服务器,该应用服务器是由分配模块为所述会话初始请求消息分配的应用服务器。
全文摘要
本发明涉及一种基于会话初始协议的负载均衡实现方法及系统,该方法执行以下步骤网络侧为终端发送的会话初始请求消息设置会话标志;所述网络侧将所述会话初始请求消息发送给用于为会话初始请求消息分配应用服务器的设备;所述设备读取所述会话初始请求消息中的会话标志,根据记录的会话标志与应用服务器的对应关系得到处理所述会话初始请求消息的应用服务器;所述负载均衡器将所述会话初始请求消息重定向到处理所述会话初始请求消息的应用服务器进行处理。该系统包括负载均衡模块及与之相连的容器一、容器二。本发明通过配置会话的请求以及会话标志,实现了把不同的SIP请求发往同一节点处理的目的。
文档编号H04L29/06GK1984142SQ20061008081
公开日2007年6月20日 申请日期2006年5月16日 优先权日2006年5月16日
发明者徐 明 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1