GSM系统中MSC的位置如图1所示。在图中,与MSC相关接口为:MSC-BSC(基站控制器)间A接口、MSC-MSC间E接口、MSC-EIR(移动设备识别寄存器)间F接口、MSC-SMC(短消息中心)间Q接口、MSC-HLR(归属位置寄存器)间C接口及MSC-PSTN(公众电话交换网)间的Ai接口。MSC处理的信息源来自这些接口。GSM中的链路协议如下:
接口 |
链路协议 |
MS-BTSBTS-BSCBSC-MSCMSC/VLR(HLR-SS7网络)MSC-PSTN |
LAPDm(GSM特有)LAPD(从ISDN修改)MTP,第二层(SS7协议)MTP,第二层(SS7协议)MTP,第二层(SS7协议) |
GSM系统中,MSC有图1中的BSC-MSC间的A接口、MSC/VLR(HLR-SS7网络)间的E、F、C、Q接口、MSC-PSTN间的Ai接口,这些接口对应的链路协议是MTP第二层(SS7协议)。MSC收到的的信息均经由MTP第二层传输。
在有关MSC各接口的传输链中,MSC与NO.7的层次关系如图2。图2中:
OMAP 操作维护应用部分
MAP 移动应用部分
TCAP 事务处理应用部分
BSSAP 基站系统应用部分
BSS-OMAP 基站系统操作维护应用部分
TUP 电话用户部分
ISUP ISDN用户部分
ISP 中间服务部分(基于无连接网络的TCAP暂时不需要)
SCCP 信令连接控制部分(为MTP3提供附加网络服务)
MTP3 消息传递部分第3层(L3提供OSI-3网络层协议)
MTP2 消息传递部分第2层(L2提供OSI-2数据链路层协议)
MTP1 消息传递部分第1层(L1提供OSI-1物理层协议)
在MSC的No.7的传输链中,关于流量控制方面有如下特点:
1)MTP2中提供了流量控制的机制,用类似HDLC(高端数据链路控制)的协议,只需简单地延迟发送确认,就很自然地提供了某种方式的流量控制。但这种控制较为勉强,因为如果延时太长,发送者将重复该帧,反而加重了拥塞。也可以使用一种附加机制,它是使用“接收准备好”和“接收未准备好”这两个命令的“停-走”控制来实现一定程度的流量控制。但是,链路层只能根据自身的处理能力实现本层的流量控制。
2)SCCP提供基本无连接、有序无连接、基本的面向连接和流量控制面向连接的四类业务。在MSC中,使用基本无连接和基本的面向连接两类业务。这两类业务中没有流量控制。
3)MSC处理器中加载的OSI-7应用层(TCAP、OMAP、INAP、BSSAP、BSSOMAP、ISUP、TUP),接收来自各接口的信息在底层链路的MTP层进行了流量控制。考虑各信息流最大能力同时发生的概率及各信息流的资源共享,其处理能力并非各信息源最大处理能力之和。链路层的负荷控制并不能保证杜绝MSC应用层的过载。
在特发情况下,可能由于MSC应用层的处理能力或资源的限制,引起过载,致使整个系统的处理能力降为0。引起负荷过载的原因是由于信息流量超出了处理器的处理能力,进行过负荷控制,就是要对信息流量进行控制。
在传统的程控交换机中(PSTN网),其过负荷控制以呼叫业务的BHCA为指标,对呼叫业务进行相应的分级控制。而对于MSC(PLMN网)来说,它处理的业务与PSTN有所不同,直接采用传统程控交换机中的过负荷控制方法存在如下缺陷:
以呼叫业务的BHCA为指标不能准确及时反映处理器的负载水平。
与有线交换机相比,除呼叫业务外,在MSC处理的还有位置更新、基本呼叫、补充业务、短消息、切换业务等业务,因此仅仅以呼叫业务计算BHCA指标既不全面又不准确。
由于在MSC中进行的主要业务还有位置更新、基本呼叫、补充业务、短消息、切换业务,因此仍按原有的仅对呼叫业务进行控制,不能有效控制MSC的负荷,必须适应MSC的特点进行全面有效的负荷控制。
图1和图2是本发明所基于的现有技术背景,这一部分已在前面加以描述。图3体现了本发明的工作原理,下面以圈3为线索,结合图4和各表详细介绍本发明的技术方案。
对于MSC应用层,反映MSC处理器负荷水平的有关指标有:CPU占用率;忙时试呼次数BHCA:内存占用率:处理索引Index即数据区占用数目。
以上资源的占用情况可以反映MSC处理器是否处于过负荷状态,由此决定是否进行流量控制。具体操作如下:
将流量控制的级别分为6级:在MSC中设置三个定时器,定时查询反映MSC处理器负荷水平的有关指标,并根据表1,表2,表3所示的关系分别确定对应不同指标的流量控制级别mcabMSCGrade1,mcabMSCGrade2和mcabMSCGrade3的值。由于三个定时器的消息不一定是同时到达,因此对应的流量控制级别也不一定是同时计算得到的。每得到一个新的流量控制级别的值,就与当前的实施流量控制级别mcabMSCGrade进行比较,取其大的值作为新的实施流量控制级别mcabMSCGrade。
下面就各种指标一一进行描述:1.以CPU占用率和处理索引Index为指标确定mcabMSCGradel。
如图3,在MSC中设置定时器T1,定时调用操作系统提供的函数GetCPU(),查询CPU的占用率,定时查询数据区占用的Index数目。定时器的时长由操作维护中心OMC后台确定。根据查得结果,由表1中按CPU占用率和占用的处理索引Index来确定MSC一侧流量控制级别。当由此确定的流量控制级别mcabMSCGradel大于当前的mcabMSCGrade时,用新计算得到的流量控制级别mcabMSCGradel替代当前mcabMSCGrade值。
表1 CPU占用率与流量控制级别mcabMSCGradel的关系表
≥80%
|
6
|
6
|
6
|
6
|
6
|
75%≤cpu<80 %
|
5
|
6
|
6
|
6
|
6
|
70%≤cpu<75 %
|
4
|
5
|
5
|
6
|
6
|
65%≤cpu<70 %
|
3
|
4
|
5
|
5
|
6
|
注:表格中的值为MSC处理器流量控制级别mcabMSCGradel2.以内存占用率和处理索引Index为指标确定mcabMSCGrade2。
如图3,在MSC中设置定时器T2,定时调用操作系统提供的函数GetResource(),查询内存UB的占用率,定时查询数据区占用的Index数目。定时器的时长由操作维护中心OMC后台确定。根据查得结果,由表2中按UB占用率和占用的处理索引Index来确定MSC一侧流量控制级别mcabMSCGrade2。当由此确定的流量控制级别mcabMSCGrade2大于当前的mcabMSCGrade时,用新计算得到的流量控制级别mcabMSCGrade2替代当前mcabMSCGrade值。表2 内存占用率(UBOcc/Index)与流量控制级别mcabMSCGrade2的关系表注:表格中的值为MSC处理器流量控制级别mcabMSCGrade23.以BHCA为指标确定mcabMSCGrade3。
忙时试呼次数BHCA值的计算公式为:根据以上计算公式,可得到如图4所示关系曲线。
根据图4的关系曲线,由BHCA实现MSC一侧流量分级控制的关系如表3。对于有线交换机来说,呼叫业务是其主要业务,BHCA与呼叫业务相关。而在移动交换机中,除呼叫业务外,还有其它业务进行,仅以呼叫业务计算BHCA值不能准确反映此项指标。因此,在MSC中计算BHCA的相关业务有呼叫业务、补充业务、切换业务、位置更新业务、短消息业务。以上业务每发生一次,业务计数器hookoffNum加1。MSC按时长timelen设置定时器T3,当定时器T3到达时,按如下公式计算BHCA:
BHCA=hookofNum×3600/((timerlen/10)/1000)得到BHCA的值后,将业务计数器hookofNum清0,以便重新计数。然后根据表3,对应确定流量控制级别mcabMSCGrade3。当由此确定的流量控制级别mcabMSCGrade3大于当前的mcabMSCGrade时,用新计算得到的流量控制级别mcabMSCGrade3替代当前mcabMSCGrade值。
表3 BHCA占用率与流量控制级别mcabMSCGrade3的关系表
BHCA |
mcabMSCGrade3 |
<MaxBHCA*7/6 |
0 |
<MaxBHCA*8/6 |
1 |
<MaxBHCA*9/6 |
2 |
<MaxBHCA*10/6 |
3 |
<MaxBHCA*11/6 |
4 |
<MaxBHCA*12/6 |
5 |
由于定时器T1、T2和T3的消息不一定是同时到达,因此所对应的流量控制级别mcabMSCGrade1、mcabMSCGrade2和mcabMSCGrade3也不一定是同时计算得到的。当某一定时器的消息到时,就开始计算对应的流量控制级别,将此时新得到的流量控制级别与当前的实施的流量控制级别mcabMSCGrade比较,取其大的值作为新的mcabMSCGrade。例如,初始时的mcabMSCGrade为0,当T1到计算mcabMSCGrade1为2,mcabMSCGrade1比mcabMSCGrade大,则mcabMSCGrade更新为2;当T3到计算mcabMSCGrade3为4,mcabMSCGrade3大于mcabMSCGrade,则mcabMSCGrade更新为4;当T2到计算mcabMSCGrade2为3,mcabMSCGrade2小于mcabMSCGrade,则mcabMSCGrade保留原值。这样周而复始,使mcabMSCGrade始终保持最大值。
当mcabMSCGrade>0时,判定MSC处理器过载。MSC向所有BSC发出“过载”消息,并向操作维护中心OMC告警,当mcabMSCGrade=0时,向操作维护中心OMC发告警恢复消息。4.对BSC负荷过载消息的处理
如上所述,本发明除了对应处理器过负荷控制进行的流量控制外,还响应BSC的负荷过载消息进行相应的流量控制处理。当mcabMSCGrade>0时,判定MSC处理器过载,此时MSC向所有BSC发出“过载”消息,同理,BSC过载时也要向MSC发出“过载”消息。当收到BSC的负荷过载消息后,按协议要求,MSC设置定时器T5、T6。在T5计时期间,不处理所有的“过载”和信令点拥塞消息,以免使业务量减少太快。在T5逾时而T6计时期间时又收到“过载”消息,则该BSC的流量控制级别加1,并重新开启T5和T6。
这样逐渐减少业务量直到获得业务量的最大程度的减少。如果T6逾时(即在T6计时期间不再收到“过载”消息或信令点拥塞消息)则增加一级业务量,再开启T6,直到达到满负荷。
当某个BSC过载时,且MSC处理机也处于过载状态,此时则比较MSC处理器的流量控制级别mcabMSCGrade和BSC的流量控制级别mcabBSCGrade,选两者中较大的值作为实际执行的流量控制级别Grade。再根据该值,做出相应的流量控制处理。
在确定了流量控制级别Grade后,本发明在过负荷控制中的具体做法是,把MSC的始发业务源分为不同的优先级别,在发生过负荷时首先尽快停止优先级最低的业务源的呼叫,以降低总负荷量,若仍有过负荷,停止高一级的业务源,直到停止对最高优先级业务源的处理。具体的优待控制原则是:
----优待正在进行的业务;
----优待优先级高的呼叫源;
----优待缓解过负荷的业务(切换);
----延缓某些非基本的话务处理类型的操作,如管理和维护功能等;
----在业务发生源头进行控制。
MSC中进行的主要业务有补充业务,基本呼叫业务,切换业务,位置更新业务,短消息业务。这些业务的进行是资源占用的主要原因,合理控制这些业务的流量就能有效的进行过负荷控制。MSC过负荷时,按以上的流量控制级别所进行的控制方法,MSC还应有一定的处理能力,继续处理已有业务不致引起系统的处理能力恶化,为保证业务处理成功率,不浪费已经进行的处理,避免正在进行的业务半途而废,过负荷控制仅针对新发生业务。按照以上优待控制原则,根据流量控制级别Grade对不同业务采用表4的控制方法。
表4新业务控制级别表
表中,×表示对应该流量控制级别时,此项业务被禁止;m/n表示处理业务占发生业务的百分比。
下面逐一对MSC所处理的主要业务进行详细说明:
补充业务:MSC应用层在A口收到初始消息CM业务请求。MSC收到此消息后,根据流量控制级别Grade,按表4原则,进行相应的消息接受或消息抛弃处理,达到对补充业务的流量控制。
短消息业务:MSC应用层在A口收到初始消息CM业务请求。MSC收到此消息后,根据流量控制级别Grade,按表4原则,进行相应的消息接受或消息抛弃处理,达到对短消息业务的流量控制。
基本入呼叫:MSC应用层的No.7信令TUP和随路信令收到入呼叫初始消息IAM(初始地址消息)。MSC收到此消息后,先判断用户优先级,如为优先用户,则不进行流量控制;如为非优先用户,则根据流量控制级别Grade,按表4原则,进行相应的消息接受或消息抛弃处理,达到对入呼叫的流量控制。
基本出呼叫:MSC应用层在A口收到用户的出呼叫初始消息CM业务请求。MSC收到此消息后,判断用户优先级,如为优先用户,则不进行流量控制;如为非优先用户,则根据流量控制级别Grade,按表4原则,进行相应的消息接受或消息抛弃处理,达到对出呼叫的流量控制。
切换切出方:MSC应用层在A口收到BSC的切换切出方初始消息切换要求。MSC收到此消息后,根据流量控制级别Grade,按表4原则,进行相应的消息接受或消息抛弃处理,达到对切换切出方的流量控制。
切换切入方:MSC应用层会收到来自E接口或本局的切换切入方初始消息切换请求。MSC收到此消息后,先判断用户优先级,如为优先用户,则不进行流量控制;如为非优先用户,则根据流量控制级别Grade,按表4原则,进行相应的消息接受或消息抛弃处理,达到对切换切出方的流量控制。
位置更新:MSC应用层在A口收到初始消息位置更新请求。MSC收到此消息后,根据流量控制级别Grade,按表4原则,进行相应的消息接受或消息抛弃处理,达到对位置更新的流量控制。