码分多址蜂窝通信***中过负荷控制的方法
本发明涉及一种移动通信***中过负荷控制的方法,尤其是CDMA(码分多址)蜂窝通信***中过负荷控制的方法。
目前,在移动通信***中,例如CDMA蜂窝通信***中,***需要处理的信息量处于动态变化之中,可能会由于***信息量的增多、处理信息的时延等原因,使***超负荷运行,从而导致***性能的下降甚至崩溃。因此,必须对***负荷进行控制,以保证***的正常运行。美国专利说明书US5440741,公开了一种通信网络***中的一种软件过负荷控制的方法(Software overload control method)。它的处理方法是当软件***处于过负荷状态,根据***过载的程度判断是延迟处理还是拒绝外来的请求消息。如果按照美国专利说明书US5440741的方法来处理所收到的消息,若是延迟处理所收到的请求消息,当发起方收到响应消息时,可能会因请求消息的定时器已超时,该响应消息已无效。美国专利说明书US5867787也给出了一种GSM(全球移动通信***)中MSC/HLR(移动交换中心/归属位置寄存器)交换机的过负荷控制的方法(Overload control for anintegrated MSC/HLR switch),对于HLR模块,它判断***处于过负荷状态时,就拒绝所有TCAP(事务处理能力应用部分)消息的接入。
上述处理***过负荷的方法,无论是延迟处理还是拒绝所有外来的请求消息,不可避免的导致***效率的下降和性能的降低。
针对上述现有技术的问题,本发明的目的是,提供一种能对CDMA蜂窝通信***中的过负荷进行有效控制,并使该***保持较高的数据处理能力和性能的CDMA蜂窝通信***中过负荷控制的方法。
为达到上述目的,本发明采用一种码分多址蜂窝通信***中过负荷控制的方法,该方法包括下列步骤:
(1)HLR(归属位置寄存器)前置机的TMD(TCAP消息控制模块)接收从TCAP传来的TC_INVOKE_REQ(事务能力操作请求,即TC操作请求)请求信息;
(2)获取当前前置机的CPU(中央处理器)的占有率,并根据该CPU的占有率得到前置机的流量控制级;
(3)获取MAP(移动应用部分)处理机的处理速度,并根据MAP处理机的处理速度得到该MAP处理机的流量控制级;
(4)从上述步骤(2)的HLR前置机的流量控制级和上述步骤(3)的MAP处理机的流量控制级中选取最大者作为***流量控制级;
(5)当***流量控制级为最低流量控制级,则消息全部接入,转步骤(10)继续操作;
(6)当***流量控制级为最高流量控制级,则消息全部拒绝,转步骤(9)继续操作;
(7)当***流量控制级在最低流量控制级与最高流量控制级之间时,任取一随机数与最高流量级减去***流量控制级再加1求模。
(8)判断该模是否为零,如为零,转步骤(9)继续操作,否则转步骤(10)继续操作;
(9)HLR前置机的TMD拒绝从TCAP接收到的TC_INVOKE_REQ请求消息,并向TCAP发TC_U_ABORT消息;
(10)HLR前置机的TMD向HLR MAP处理机发送TC_INVOKE_REQ请求消息,由HLR MAP处理机的MMD继续对该信息进行处理。
从上述方案可以看出,由于本发明采用在HLR***前置机中进行过负荷控制,控制业务量的接入,通过拒绝一些业务量的接入保证了已接入业务的成功处理,从而避免了HLR处理能力的进一步下降。同时本发明在进行过负荷控制时,从HLR前置机的流量控制级和HLR MAP处理机的流量控制级中选取最大者作为***流量控制级,并以其作为拒绝某项业务抛弃率的基础,即考虑到HLR前置机本身的处理能力,即HLR前置机当前的CPU占有率,又考虑到HLRMAP处理机的处理能力,即MAP处理机处理一条业务的平均时长,从而本发明不但能在***过负荷控制堵截部分业务的接入,避免HLR***处理能力的进一步下降,当HLR处理能力增强时,业务量的接入会增高。因此,本发明既能对CDMA蜂窝通信***中的过负荷进行有效控制,又能使***保持较高的数据处理能力和性能。
下面结合附图和实施例对本发明作进一步的说明。
图1是本发明的流程示意图;
图2是CDMA HLR***前置机和HLR MAP处理机逻辑结构示意图;
图3是根据本发明实施例HLR前置机的CPU占有率得出的流量控制级别表;
图4是根据本发明实施例HLR MAP处理机的CPU处理消息速度得出的流量控制级别表;
图5是本发明实施例的不同流量控制级别的消息接入比。
首先参考图2。HLR***采用分布式存储,负荷分担处理方法。该***在硬件结构上分为前置机和MAP处理机,其中前置机中包括MTP(消息传递模块)、SCCP(信令连接控制模块)、TCAP(事务处理应用模块)、TMD(前置机消息分配模块),MAP处理机包括MMD(MAP处理机消息控制模块)、TM(转换层模块)、MAP(移动应用部分模块),通过在前置机TCAP模块的上层和MAP处理机TM模块的下层设计MD模块,即TMD模块和MMD模块,由TMD模块和MMD模块共同组成的MD模块的功能就是在前置机与HLRMAP节点之间实现双向的负荷均衡,动态控制消息的流向。可见,在TCAP模块的上层TMD模块必须进行过负荷控制才能保证HLRMAP在过负荷情况下保持一定的处理能力。如果不在HLR前置机的TMD模块进行负荷控制,当HLR MAP处理机由于某些原因,如读取数据库时间很长等,不能对所接受的信息进行及时处理,后续信息仍不断发来,这样只能使每条消息的处理时延增长,以至最后每条消息都无法得到及时处理,整个***的处理能力可能降为0,如果在TMD模块进行过负荷控制,当HLR的处理能力降到一定时候,通过拒绝一些消息就能保证另一部分消息的成功处理。因此,对HLR前置机进行过负荷控制的目标,就是通过在前置机控制信息的接入,以使整个HLR***的处理能力不会***的某个部分的过载而下降。
参考图1,本发明具体是按下述步骤实现的:在步骤1,HLR前置机的TMD接收到从TCAP传来的TC_INVOKE_REQ请求信息,在步骤2,获取当前前置机的CPU的占有率,并根据该CPU的占有率得到前置机的流量控制级。所述根据CPU的占有率得到前置机的流量控制级,是根据该CPU的占有率,在预先设置的前置机流量控制表中查表得到,所述预先设置的前置机流量控制表,是根据前置机大话务量测试得到的经验值得到的,该表具有适当的流量控制级,该流量控制级的最佳级为6级,参考图3。在步骤3,获取MAP处理机的处理速度,并根据MAP处理机的处理速度得到该MAP处理机的流量控制级。所述根据MAP处理机的处理速度得到该MAP处理机的流量控制级,是根据MAP处理机的处理速度,在预先设置的MAP处理机的流量控制表中查表得到。所述预先设置的MAP处理机的流量控制表,是根据MAP处理机的大话务量测试得到的经验值得到的,该表具有适当的流量控制级,所述预先设置的MAP处理机的流量控制表的最佳流量控制级为6级,参考图4。在获取MAP处理机的处理速度过程中,首先计算HLR MAP处理机处理一条业务原语的时间,即在发送一个业务请求消息时开始计时,到收到该业务响应消息时为止,得到HLR MAP处理机处理一条业务原语的时间;然后可按如下方法得到HLR MAP处理机处理一条消息的平均时长:设置一定时器,例如时长为一分钟,每回来一条响应消息,都记录这条业务原语的处理时长,和前面的处理消息时长总和相加,除以处理消息个数总和,进而求得HLR MAP处理机处理一条消息的平均时长。在步骤4,从上述步骤2的HLR前置机的流量控制级和上述步骤3的MAP处理机的流量控制级中选取最大者作为***流量控制级。在步骤5,当***流量控制级为最低流量控制级,则消息全部接入,转步骤10继续操作。在步骤6,当***流量控制级为最高流量控制级,则消息全部拒绝,转步骤9继续操作。在步骤7,当***流量控制级在最低流量控制级,最高流量控制级之间时,任取一随机数与最高流量级减去***流量控制级再加1求模,即与最高流量级-此***流量控制级+1求模。在步骤8,判断该模是否为零,如为零,转步骤9继续操作,否则转步骤10继续操作;如果执行步骤9,HLR前置机的TMD拒绝从TCAP接收到的TC_INVOKE_REQ请求消息,并向TCAP发TC_U_ABORT消息。如果执步骤行10,HLR前置机的TMD向HLR MAP处理机发送TC_INVOKE_REQ请求消息,由HLR MAP处理机的MMD继续对该信息进行处理。
至此,本发明根据不同的流量控制级来控制新消息的抛弃率,以减少信息流量,使CDMA蜂窝通信***中的过负荷得到效控制,并使***保持了较高的数据处理能力和性能。参考图5。图5给出了本发明实施例的不同流量级别的消息接入比,图中1/5表示抛弃5条消息中的1条,1/4表示抛弃4条消息中的1条,依次类推。也即给出了每条消息的抛弃率,具体到每条消息是丢弃还是发送到HLRMAP,由所取一随机数和流量级别,即最高流量级-流量控制级+1取模的值来决定的。
下面以移动性管理中的登记通知消息为例,采用本发明来进行HLR***过负荷控制,对本发明做进一步说明。
首先,HLR前置机接收到登记通知请求,当HLR前置机的TMD接收到从TCAP传来的该登记请求消息后,首先获取当前前置机的CPU的占有率,并根据该CPU的占有率得到前置机的流量控制级。假设CPU的占有率为B1,如按照图3所示流量控制级别表的标准,则流量控制级别为1;然后获取MAP处理机的处理速度,并根据MAP处理机的处理速度得到该MAP处理机的流量控制级。假设MAP处理机的处理速度为D2,如按照图4所示流量控制级别表的标准,则流量控制级别为3;从上述HLR前置机的流量控制级和上述HLRMAP处理机的流量控制级中选取最大者作为***流量控制级,即3。取一随机数与最高流量级减去***流量控制级再加1求模,即与3求模,判断该模是否为零,如为零,拒绝此消息的接入,并向TCAP发TC_U_ABORT消息,否则,向HLR MAP发TC_INVOKE_REQ消息,由HLR MAP处理机继续对该信息进行处理。
通常,只有在大话务量的情况下,才会有很高的流量控制级别,才会开始丢弃消息。
总之,上述公开的是一种在CDMA蜂窝通信***HLR前置机中进行***过负荷控制的方法,该方法是当***处于过负荷状态,根据负荷级别拒绝一定比例的请求消息的接入实现***的过负荷控制,由于该方法的技术方案和最佳实施例已经阐明,因此围绕上述方法的任何改型都在本发明的范围之内。