一种多模块MSC支持大容量BSC系统中的呼叫处理方法 【技术领域】
本发明涉及移动通信(包括GSM、CDMA、3G)的交换领域,具体涉及移动交换机的A接口信令和七号SCCP(信令连接控制部分)信令领域中信令连接和业务容量配合的方法。
背景技术
在GSM(以及CDMA,3G)的技术规范中,MSC(移动交换中心,或称交换局)与BSC(基站控制器,在CDMA叫BS)的接口称为A口,在GSM(以及CDMA,3G)移动交换领域,A口是由通信标准定义的,A口标准化为MSC与BSC设备的各自发展提供了可靠的保证。
目前,每个MSC支持用户的容量约10万到40万,几乎所有地MSC设备制造商都是使用多模块技术,例如:每个模块的容量是4万,那么,10个模块的交换局就能支持40万的移动用户。而同一MSC的各个模块,通常都有自己一套信令和业务功能。
BSC设备开发商也将每BSC的支持用户的容量不断提高,例如10万以上。因此,MSC与BSC配合时,势必要将一个容量大的BSC接到一个MSC局的几个模块上。由于在一个模块异常时,该BSC业务可由其他模块临时承担,因此,这样也能提高整个系统的可靠性。
在申请号为02139392.3的中国专利申请中,公开了一种多模块七号信令系统信令连接控制部分分布任务处理方法,多个模块的SCCP面向连接部分共用一个由位于SCCP和SCCP用户之间的全局管理接口统一管理的LRN(本地连接参考)资源库,每个模块在系统初始化时并不固定分配资源,只是每当一个模块启动时就从资源库中申请一部分LRN资源,资源库中所剩余的后备资源,等待其他模块启动时申请利用或当某个模块的LRN资源用完后再次申请使用。
该专利申请中的LRF的管理过于复杂,在实际使用中,LRF有3个字节,共有256*256*256种取值,不会短缺。呼叫时针对A口,MSC的瓶颈资源不是LRF,而是A口的地面电路。
手机发起任何业务时,都要在A口建立SCCP信令连接。对于呼叫来说,在A口需要同时进行SCCP的信令连接配合和地面电路的分配使用。现有技术中SCCP连接和A口都建立在收到SCCP连接请求的信令链路直接相连的MSC模块上,而在同一次业务时,可能会存在信令连接和地面电路不在同一MSC模块上的问题,比如,针对同一BSC,有的模块上所有对该BSC的地面电路全部用完,有的模块只配置了地面电路,以及有的模块上所有对该BSC的地面电路全部用完等。
呼叫控制(简称CC)只能管理本MSC模块上的地面电路,在信令链路和地面电路不在同一MSC模块时,CC建立在地面电路所在的模块上而与A口(CC进程与BSC或手机的所有消息交互都由A口具体进行,包括SCCP连接和地面电路的业务)不在同一模块的处理,这将使内部的呼叫处理变得极其复杂,特别是在多呼叫、呼叫切换的情况下。因此,如何安排同一呼叫的SCCP连接、A口、CC三个功能体的位置,成为亟待解决的问题。这也是多模块的MSC支持大容量BSC的所必须解决的关键技术问题。
此外,在多模块MSC支持大容量BSC的系统中,还需要通过负荷的分配对几个模块的处理能力进行匹配,使各个模块的处理能力和资源得到有效的利用。
目前现有技术尚未能解决上述问题。
【发明内容】
本发明要解决的技术问题是提供一种多模块MSC支持大容量BSC系统中的呼叫处理方法,能够将SCCP连接建立在同一呼叫的地面电路所在的MSC模块上,简化MSC内部对呼叫的处理。
为了解决上述技术问题,本发明提供了一种多模块MSC支持大容量BSC系统中的呼叫处理方法,包括以下步骤:
(a)各MSC模块实时评估本模块的负荷;
(b)MSC模块的信令链路收到从BSC过来的呼叫业务请求消息后,在本模块的SCCP的路由进程解码判断业务的种类;
(c)根据各MSC模块的负荷情况选定进行业务处理的模块,在数据库中预先占用一条为该选定模块配置的空闲地面电路;
(d)为本次呼叫分配一个包含所述选定模块信息的源地址参考,将所述业务请求消息发送到选定模块的SCCP面向连接进程,建立SCCP连接;
(e)将A口进程和呼叫控制进程也建立在所述选定模块上,并在规定的时机进行地面电路分配;
(f)对接收到的BSC关于所述SCCP连接的后续消息,SCCP的路由进程根据SCCP消息中目的地址参考中的模块信息确定相应的处理模块,并将所述后续消息发送到该处理模块的SCCP连接进程处理;
(g)对于A口接收到的地面电路管理消息,SCCP先发送到本模块的A口,由A口根据数据配置确定该地面电路所属的模块,然后发送到相应模块的A口进行处理。
为了实现几个MSC模块对大容量BSC的处理能力的匹配,使地面电路尽可能地均布在各个模块上,可以采用下述的负荷评估和模块选定的方法:在上述步骤(a)中,各MSC模块实时评估本模块的CPU占用率和地面电路的占用情况,并将结果同步到各个模块;相应在所述步骤(c)选择业务处理模块时,优先选择所述信令链路所连接的模块,在该模块负荷没有余量时,再从CPU占用率未超过设定门限的模块中,选择地面电路占用率最低的模块。
由上可知,本发明将SCCP层建立的信令连接与物理上配置的信令链路脱离,将SCCP连接建立在同一呼叫的地面电路所在的MSC模块上,从而使SCCP连接、A口、CC三个功能体建立在同一模块上,简化了MSC内部对呼叫的处理。除此以外,通过对各模块CPU占用率的实时评估和对地面电路占用率的预估,在CPU占有率不超过设定门限时,将SCCP连接和地面电路建立在空闲地面电路最多的模块上,兼顾了几个MSC模块对大容量BSC的处理能力的匹配,可充分利用各模块的资源,并可使地面电路的负荷尽可能地均布在各个模块上。
【附图说明】
图1是多模块MSC与大容量BSC的信令链路与地面电路接线示意图。
图2是本发明实施例SCCP连接与信令链路的分离流程示意图。
图3是本发明实施例呼叫处理方法的流程图。
【具体实施方式】
下面结合附图,对本发明的实施例进行详细说明。
本实施例的多模块MSC包括MSC模块A、B、C,一个大容量BSC与该多模块MSC的信令链路与地面电路配置情况如图1所示,图中虚线为信令链路,实线为地面电路。其中信令链路接到二个MSC模块A、B上,地面电路接到三个MSC模块A、B、C上。
请参照图2,在上述系统中,当一个MSC模块的信令链路收到手机呼叫的业务请求消息后,经MTP2(消息传递部分,信令链路层),MTP3(消息传递部分,网络管理层)发送到本模块的SCCP路由进程(SCCPSCRC),解码A口移动性管理层的完全第三层消息以判断是何种手机业务,然后可选择确定进行业务处理的MSC模块,并将消息发送到选定模块的SCCP面向连接进程(SCCPSCOC),建立SCCP连接。上述系统尽管支持信令链路与地面电路配置分离的方式,但本发明方法在选定业务处理模块时,是将SCCP连接建立在同一呼叫地面电路所在的MSC模块上(该MSC模块上需要有信令链路),从而将SCCP连接、A口、CC三个功能体配置在同一模块上。
图2是本实施例SCCP连接与信令链路分离方法的示意图,图3是本实施例方法的流程图,包括以下步骤:
各MSC模块实时评估本模块的负荷并将结果在各个模块之间同步,其中,CPU的占用率评估使用定时检测CPU占用率的方法,地面电路的占用情况可通过数据库中对地面电路的实时配置情况得到,步骤100;
MSC模块A的信令链路收到手机呼叫的业务请求消息,在本模块SCCP的路由进程解码判断手机业务的种类,步骤110;
判断本模块的负荷是否还有余量(此处有余量是指还有空闲的地面电路且CPU占用率不超过设定门限,如70%),如果是,执行步骤130a,否则执行步骤130b,步骤120;
确定本模块即模块A为处理该业务的模块,步骤130a;
从CPU占用率不超过设定门限(如70%,两个门限可以相同或不同)的模块中,选择出地面电路占用率最低的模块,确定为处理该业务的模块,如果其它模块的CPU占用率都超过了门限,也选择地面电路占用率最低的模块。这是一种以地面电路使用情况的指标为主,CPU占用率为辅的原则,步骤130b;
在数据库中预先占用一条为选定模块配置的空闲地面电路。在数据库中预占电路可以防止一条空闲的电路在接收到连接请求消息到真正分配地面电路的这段时间内被误用多次,步骤140;
为本次呼叫分配一个包含选定模块信息的源地址参考。根据协议规定的SCCP连接参考为3个字节,本实施例在分配源地址参考时,用第三字节中的若干位表示其模块号,而MSC发消息时的“源地址参考”在BSC回消息时,就作为“目的地址参考“发到MSC,步骤150;
将业务请求消息发送到选定模块(假定为模块B)的SCCP面向连接进程,建立SCCP连接,步骤160;
将A口进程(在呼叫中进行移动性管理,主要是对用户的鉴权,防止非法用户接入)和CC进程(呼叫控制进程)也都建立在模块B上,且在呼叫控制层的SETUP呼叫建立消息之后,进行地面电路分配(A口的指配电路消息)。该分配时机是GSM协议规定的,当然协议中还有早分配晚分配的多种实现方式,步骤170;
任何模块的A口接收到BSC关于此SCCP连接的后续消息时,SCCP的路由进程根据SCCP层消息中的目的地址参考,将消息发送到模块B的SCCP面向连接进程进行处理。A口发送到BSC的任何SCCP面向连接的消息可以在任何该BSC的信令链路上发送,步骤180;
对于A口接收到的所述地面电路的管理消息(电路阻塞,解闭,复位,电路群阻塞,解闭,未装备电路等),SCCP发送到收到模块的A口,由A口根据数据库中的数据配置确定该地面电路所属的模块,将消息转发到所确定模块(即模块B)的A口进行处理。当然在模块B收到的消息也可以不转发,步骤190。
值得注意的是,本发明虽然要将SCCP连接建立在同一呼叫的地面电路所在的模块上,但根据各模块负荷情况对业务处理模块的选定方法并不局限于上述实施例中方法,例如,只是根据地面电路占用率或者CPU占用率来判断,也可以达到基本的效果,或者在选择时不先判断本模块的负荷是否还有余量,而是将本模块与其它模块的负荷按同一标准进行比较也是可行的。