通信网中防止负荷过载的控制方法及系统的制作方法

文档序号:7601076阅读:257来源:国知局
专利名称:通信网中防止负荷过载的控制方法及系统的制作方法
技术领域
本发明涉及系统过载的控制技术领域,特别是涉及一种通信网中防止负荷过载的控制方法及系统。
背景技术
和其它系统一样,在智能网系统中,为了保证系统能够长期稳定运行,尤其是在较大话务量条件下能够稳定运行,必须采取过载控制措施,以实现在系统过负荷条件下,最大限度保证为用户提供服务。下面以智能业务为例进行说明。
在智能网中,业务控制点SCP是智能网的核心构件,其主要功能根据是业务交换点SSP上报来的呼叫事件启动不同的业务逻辑,根据业务逻辑向相应的业务交换点SSP发出呼叫控制指令,从而实现各种智能呼叫。通常业务控制点SCP在物理上是一台服务器或者小型机。
所述智能业务有很多种,比如200、201、800等都是智能业务,一个SCP可以同时加载并处理多种这样的智能业务。一种智能业务的实现,需要在SCP和SSP之间经过多次的信息交互,一个复杂的智能业务可以包括几十次甚至上百次的交互。如图1所示,是一个移动智能网中的充值流程,包括每一个用户使用这种智能业务与被叫方进行通话,业务控制点SCP都需要不断的处理业务交换点SSP上报的消息,再跟据特定的业务控制逻辑,向业务交换点SSP下发相应的控制消息,控制呼叫的全过程。如果同时使用智能业务的用户很多,那么业务控制点SCP就会相当地繁忙甚至过载。系统过载导致的后果可能有消息丢失,呼叫因无法及时处理而中断,系统崩溃。因此,在通信系统中,防止设备过载的措施是必不可少的,对于业务控制SCP设备,有许多方法可以防止系统过载。
目前,防止系统过载机制主要由两部分构成系统繁忙程度的评价和降低系统负荷的手段。所述评价系统的繁忙程度可以选择多种指标,最常见的指标有以下几个1)一段时间内,统计终端到业务交换点SSP上报的试呼次数;2)系统中消息队列堆积的长度;3)系统对试呼消息响应时间的平均统计值。对此,智能网系统本身提出了一种呼叫间隙机制(Call Gapping),使用这种机制时,新的呼叫在业务交换点SSP就被阻塞(拒绝)了,也就是说,新呼叫在到达业务控制点SCP之前就被阻塞了,这样可以不浪费SCP控制单元的潜力,同时保证未被阻塞的呼叫能够进行到底。
在智能网系统中,为业务控制点SCP设置一个下限,即所谓的间隙时间范围,利用此间隙时间范围,业务控制点减少通信业务,即小于此时间间隔就不允许业务交换点向业务控制点上报新的呼叫。如果业务交换点SSP接收了一个呼叫并发送到业务控制点SCP,那么随后所有在这个间隙时间范围以内的新呼叫都会被SSP拒绝掉,不再向SCP上报,只有在这个时间范围结束之后才接收第一个到达SSP的新呼叫,并且重新计时,如此周期性重复。这种机制会持续一定的时间D,称为持续时间。在此持续时间结束后,SSP又可以接收所有的呼叫。持续时间的长短由SCP确定。
由此可知,呼叫间隙机制实现起来是比较复杂的,SCP需要对呼叫间隙时间和控制持续时间进行计算,SSP需要增加定时机制,保证呼叫间隙时间内只上报一个呼叫,和保证这种控制持续指定的时间。此外,通常SSP还同时处理普通呼叫,普通呼叫是不需要上报SCP的,因此,SSP还要保证呼叫间隙控制不会影响普通呼叫。对于普通呼叫,SSP就像一个普通的交换机,它根据呼叫号码直接通过交换,把话路转接到目的用户;而智能呼叫需要SSP与SCP进行信息交互,这就需要SSP能够区分出普通呼叫和智能业务呼叫,否则SSP就有可能根据呼叫间隙机制将普通呼叫也拒绝掉了。因此,呼叫间隙机制需要SSP的配合,这也增加了机制实现的复杂度。
另外,评价系统繁忙程度的指标参数,一段时间内统计到的SSP上报的试呼次数,系统中消息队列堆积的长度,系统对试呼消息响应时间的平均统计值等,对这些指标的具体数值究竟达到多少才认为是系统过载,这有赖于经验和实验,而且对于不同的设备,其处理能力有差别,所以过载指标的参数具体数值也要根据具体设备而相应进行修改,这显然不够方便。
评价系统负荷的指标参数都基本是与设备所承载的呼叫业务相关的,它们只是通过在呼叫处理过程中体现出来的现象而反映系统的工作情况,是间接的,并不能直接体现执行呼叫控制功能的设备(如服务器)本身的系统资源利用情况,比如CPU资源占用率。
因此,现有技术的缺点为1、呼叫间隙机制实现起来是比较复杂,需要多种设备的相互配合;2、评价系统过负荷的标准比较依赖于经验,与设备本身的处理能力关系较紧密;3、评价系统负荷的参考数据不够直接,只能部分反应系统负荷真实情况。

发明内容
本发明解决的技术问题是提供一种通信网中防止负荷过载的控制方法与系统,本发明实现简单、对负载评价标准统一以及控制目标直接,以解决系统在过负荷条件下,最大限度为用户提供服务。
为解决上述问题,本发明提供一种通信网中防止负荷过载的控制方法,包括预设处理器的负荷上限,并确定处理器负荷的控制误差;将所述控制误差在控制周期内通过PID控制运算,获得呼叫过滤比值;系统根据过呼叫过滤比值直接对上报的呼叫请求消息进行拒绝处理。
所述确定处理器负荷的控制误差是由处理器的负荷上限与实际处理器占用率数值之差来确定的。
所述处理器的负荷上限是根据控制参数由人工来设置的。
所述PID控制运算的过程包括对处理器负荷的控制误差进行比例、积分和微分运算。
所述PID控制运算的过程具体包括对控制误差进行积分运算,获得控制器的输出变量,其运算公式为P(t)=Kp*[e(t)+1TI*∫e(t)dt+TDde(t)dt]]]>其中,P(t)是控制器输出信号,e(t)是控制器偏差信号,Kp是比例系数,TI是积分时间,TD是微分时间;对控制器的输出变量进行采样,获得控制器输出的呼叫过滤比值,其运算公式为P(k)=Kp*[E(k)+TTIΣj=0j=kE(j)+TDT[E(k)+E(k-1)]]]>其中,T=Δt,是采样周期,E(k)是第k次采样时的输入、输出误差值,E(k-1)是第k-1次采样时的输入、输出误差值,P(k)是第k次采样时控制器输出的呼叫过滤比值。
所述呼叫过滤比值为系统拒绝的呼叫请求数与该周期总的呼叫请求数之比。
本发明还提供一种通信网中防止负荷过载的控制系统,包括业务控制呼叫处理单元,实现业务控制功能的功能实体,用于处理各种智能呼叫,完成与业务交换接点之间的信息交互;自动调整单元,用于接收业务控制呼叫处理单元反馈的处理器实际占用率的数值,并将其与系统设定处理器的负荷上限进行比较,得到处理器负荷的控制误差;PID控制器,与自动调整器和业务控制呼叫处理单元分别连接,对所述负荷的控制误差进行PID控制运算,并将其运算结果上报给业务控制呼叫处理单元。
所述自动调整单元包括运算器,用于将预设处理器CPU的负荷上限与处理器实际占用率的数值进行减法运算。
所述PID控制运算具体包括对处理器负荷的控制误差进行比例、积分和微分运算。
与现有技术相比,本发明具有以下有益效果首先,本发明实现简单,在现有的系统中只增加了一个控制单元,所述控制单元是根据PID控制算法而设计出来的,用于调节系统处理器占用率,只需要得到控制误差,然后进行很少的运算即可,不需要对各种呼叫信息进行收集和统计,对系统负荷的变化反应迅速。对业务控制节点SCP的负荷控制不需要业务交换节点SSP的配合,由于SCP对被拒绝的呼叫返回负荷协议标准的呼叫拒绝消息,SSP呼叫处理单元就像处理正常呼叫结束一样的处理被SCP拒绝的呼叫请求,完全不需要知道SCP的活动状态;其次,本发明的控制目标最直接,是直接反应系统运行情况的系统CPU占用率;最后,对系统负载情况的评价标准统一,不依赖于经验数据。本发明对系统负载的评价标准是CPU占用率,而这个参数对不同的性能的系统有统一的取值范围0%~100%,对任何系统都可以确定统一的负荷上限,不需依靠经验值。


图1是现有技术中移动智能网充值的流程图;图2是本发明通信网中防止负荷过载的控制方法的控制流程图;图3是本发明通信网中防止负荷过载的控制系统的结构框图;图4是本发明应用实例的结构框图。
具体实施例方式
本发明根据系统资源的使用情况,也就是处理器CPU的占用率作为参考指标和控制目标,设计实现方式简单的负荷比例积分微分(PID,ProportionIntegral Differential)控制器,并根据所述PID控制器的输出结果直接限制用户的呼叫流量。所述PID控制器先读取业务交换节点的处理器CPU负荷信息,并对负荷信息进行自动调整;然后通过PID控制运算,获得一个呼叫过滤比值,并将所述呼叫过滤比值上报给业务控制交换节点中的业务控制呼叫处理单元;最后,业务控制呼叫处理单元根据呼叫过滤比例值对业务交换节点上报的用户呼叫流量直接进行拒绝处理,以达到防止系统负荷过载的目的。
现面结合附图对本发明做进一步的说明。
请参考图2,是本发明通信网中防止负荷过载的控制方法的流程图,包括步骤S11预设系统处理器的负荷上限,并确定处理器负荷的控制误差;步骤S12将所述控制误差在控制周期内通过PID控制运算,获得呼叫过滤比值;步骤S13系统根据过呼叫过滤比值直接对上报的呼叫请求消息进行拒绝处理。
系统处理器CPU的负荷上限是根据控制参数由人工来设置的,所述控制参数是指系统CPU占用率的控制目标,其取值范围可以是1%-100%。根据预先设定处理器的负荷上限与实际处理器占用率数值之差来确定系统处理器负荷的控制误差(步骤S11)。将所述控制误差在控制周期内通过PID控制运算,获得呼叫过滤比值,所述PID控制运算实际上就是对控制误差进行比例(Prop-ortion)、积分(Integral)、微分(Differential)的运算,将得出的运算结果作为控制变量作用到受控系统中,使受控系统的输出与控制目标相一致(步骤S12)。所述PID控制运算包括以下步骤首先,对控制误差进行积分运算,获得控制器的输出变量,其运算公式为P(t)=Kp*[e(t)+1TI*∫e(t)dt+TDde(t)dt]]]>其中,P(t)是控制器输出信号,e(t)是控制器偏差信号,Kp是比例系数,TI是积分时间,TD是微分时间。
其次,由于计算机系统中输入、输出值不是连续的,而是离散的,因此必须对上述公式进行离散化处理,也即是对控制器的输出变量进行采样,从而得到离散呼叫过滤比值,其离散的PID公式为P(k)=Kp*[E(k)+TTIΣj=0j=kE(j)+TDT[E(k)+E(k-1)]]]>
其中,T=Δt,是采样周期,E(k)是第k次采样时的输入、输出误差值,E(k-1)是第k-1次采样时的输入、输出误差值,P(k)是第k次采样时控制器输出的呼叫过滤比值。
由于计算机系统中得不到连续的系统CPU占用率数值,因此需要定期对CPU占用率进行采样,其采样周期为T。在每个周期开始时,系统都对处理器的占用率进行采样,在UNIX操作系统中,可以通过vmstat命令得到处理器当前的占用率,然后将得到的CPU占用率数值与设定的CPU负荷上限进行比较,得到控制误差E(k),利用这个误差作为PID控制器的输入,进行离散PID运算,得到呼叫过滤比值,并将其上报给业务控制节点的业务控制呼叫处理单元,所述呼叫过滤比值为系统应该拒绝的呼叫请求数与该周期总的呼叫请求数的比值。业务控制呼叫处理单元在接下来的控制周期内根据上报的呼叫过滤比值,对业务交换节点SSP上报的呼叫请求消息直接进行拒绝处理,以达到防止系统负荷过载的目的。
但是对于被业务控制节点SCP拒绝的呼叫请求,业务控制呼叫处理单元一旦收到该用户的请求立即返回呼叫拒绝消息,业务交换节点SSP收到拒绝消息后马上终止当前用户的呼叫,后续的业务控制节点SCP与业务交换节点SSP之间的信息交互以及业务控制节点SCP对呼叫的控制处理都因此而取消,从而减少了业务控制节点SCP的工作量,有效节省了业务控制节点本身系统资源的利用的潜力,从而降低了系统的负荷。也就是说,业务控制节点SCP在拒绝用户呼叫请求时,向业务交换节点SSP返回的是协议标准中的呼叫拒绝消息,业务交换节点SSP收到此消息后即知此呼叫需被终止。
如果本控制周期结束后,系统负荷还没有降到设定的上限,那么本周期的控制误差E(k)会被累积,导致呼叫过滤比值P(k)的计算结果增大,下一周期将拒绝更多的呼叫。如此反复,直到系统负荷下降到设定值以下,这时,PID控制器的输出也会维持在一个比较稳定的数值范围内,即业务控制节点SCP对呼叫请求的拒绝也达到一个比较稳定的比例,系统到达了平衡状态。
还请参考图3,为本发明是通信网中防止负荷过载的控制系统的结构框图;所述控制系统包括自动调整单元32、PID控制器33和业务控制呼叫处理单元34。
所述业务控制呼叫处理单元34,实现业务控制功能的功能实体,用于处理各种智能呼叫,完成与业务交换接点之间的信息交互;所述自动调整单元32,用于接收业务控制呼叫处理单元反馈的处理器CPU实际占用率的数值,并与设定处理器CPU的负荷上限进行比较,得到负荷控制误差,并将其作为PID控制器的输入;所述PID控制器33,与自动调整单元32和业务控制呼叫处理单元34分别连接,对负荷控制误差进行PID运算,并将其运算结果上报给业务控制呼叫处理单元。
所述自动调整器32,包括一个运算器(图3中未示),用于接收业务控制呼叫处理单元反馈的CPU实际占用率的数值,并将其与设定系统处理器CPU的负荷上限进行减法运算,从而得到负荷控制误差,并将其作为PID控制器的输入变量。
所述PID控制器33是根据经典控制理论中的PID控制运算而设计出来的用于调节系统CPU占用率的控制器。所述PID控制运算如上所述,在这里不在赘述。其PID控制器输入端的设定是根据预设CPU占用率上限与实际CPU占用率之间的差值,并将其差值为处理器占用率的控制误差,也就是说,PID控制器对输入处理器占用率的控制误差进行比例、积分和微分运算,得到离散的呼叫过滤比值,并将其上报给业务控制呼叫处理单元34。
所述业务控制呼叫处理单元34是业务控制节点SCP中的一个子单元,该业务控制呼叫处理单元34具有实现具体业务控制功能的功能实体,它能够处理各种智能网协议,完成与业务交换节点SSP之间的信息交互。所述业务交换节点与业务控制节点之间信息的交互过程为业务控制节点中的业务控制呼叫处理单元将接收业务交换点SSP上报的,由标准智能网协议信令承载的智能呼叫请求,并根据呼叫请求里包含的用户标识和呼叫类型,查询其本身数据库中保存的该用户的相关信息,以决定如何控制该用户的呼叫流程,业务控制呼叫处理单元将对该用户的呼叫控制命令通过协议信令发送回给业务交换节点SSP,所述业务交换节点SSP根据业务控制节点SCP的控制命令决定如何处理该用户的呼叫请求。在处理过程中,根据呼叫需要可能还会发生多次的业务交换接点SSP和业务控制节点SCP之间的信令交互。业务控制呼叫处理单元还会根据当前系统负荷,采用一定的方法来限制业务交换节点SSP的呼叫请求。在上述的业务信息交互的过程中,业务控制呼叫处理单元就是根据所述PID控制器产生的呼叫过滤比值来限制业务交换节点SSP的呼叫请求的。所述呼叫过滤比值是系统CPU负荷经过本发明的PID控制器的PID控制运算之后,得到系统当前的CPU占用率,并将其反馈到自动调整单元中。通常SCP服务器运行在UNIX操作系统上,UNIX操作系统提供获取系统CPU占用率的函数命令,如vmstat命令,它输出一系列当前系统性能数据,其中一项参数是id,即系统空闲率,(100-id)就是系统当前的CPU占用率。所述PID控制运算与上述相同,在这里不再赘述。
还请参考图4,为本发明的应用实例的原理框图,包括业务交换节点41、自动调整单元32、PID控制器33和业务控制节点42。所有的业务交换节点SSP与业务控制节点SCP中业务控制呼叫处理单元之间的交互信令都要经过PID控制器,所述PID控制器只对业务交换节点SSP上报的每一个呼叫的初始请求消息作出控制处理,并将其它已经允许处理的呼叫消息都上报给业务控制节点SCP。
所述PID控制器33的控制处理过程为首先,自动调整单元32要从业务控制节点42中的业务控制呼叫处理单元获取系统实际的CPU负荷信息,然后通过将其与系统CPU负荷上限通过本身的运算器进行自身调整,并将调整后的CPU占用率的控制误差发送给PID控制器,所述PID控制器对接收的控制误差进行PID控制运算,运算结果得出一个呼叫过滤比值,并将其上报给业务控制节点42。所述PID控制器在一个控制周期内,根据PID运算得到的呼叫过滤比值,对收到的业务交换节点SSP用户呼叫的初始请求进行拒绝处理。一个控制周期结束后,自动调整单元42重新获取SCP的CPU负荷信息,并将其负荷信息发送给PID控制器,是PID控制器再计算一个新的呼叫过滤比值,然后以这个新的比例值在下一个控制周期内进行呼叫过滤处理。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种通信网中防止负荷过载的控制方法,其特征在于,包括1)预设处理器的负荷上限,并确定处理器负荷的控制误差;2)将所述控制误差在控制周期内通过PID控制运算,获得呼叫过滤比值;3)系统根据过呼叫过滤比值直接对上报的呼叫请求消息进行拒绝处理。
2.根据权利要求1所述通信网中防止系统过载的控制方法,其特征在于,所述确定处理器负荷的控制误差是由处理器的负荷上限与实际处理器占用率数值之差来确定的。
3.根据权利要求2所述通信网中防止系统过载的控制方法,其特征在于,所述处理器的负荷上限是根据控制参数由人工来设置的。
4.根据权利要求1所述通信网中防止系统过载的控制方法,其特征在于,所述PID控制运算的过程包括对处理器负荷的控制误差进行比例、积分和微分运算。
5.根据权利要求4所述通信网中防止系统过载的控制方法,其特征在于,所述PID控制运算的过程具体包括21)对控制误差进行积分运算,获得控制器的输出变量,其运算公式为P(t)=Kp*[e(t)+1TI*∫e(t)dt+TDde(t)dt]]]>其中,P(t)是控制器输出信号,e(t)是控制器偏差信号,Kp是比例系数,TI是积分时间,TD是微分时间;22)对控制器的输出变量进行采样,获得控制器输出的呼叫过滤比值,其运算公式为P(k)=Kp*[E(k)+TTIΣj=0j=kE(j)+TDT[E(k)+E(k-1)]]]>其中,T=Δt,是采样周期,E(k)是第k次采样时的输入、输出误差值,E(k-1)是第k-1次采样时的输入、输出误差值,P(k)是第k次采样时控制器输出的呼叫过滤比值。
6.根据权利要求5所述通信网中防止系统过载的控制方法,其特征在于,所述呼叫过滤比值为系统拒绝的呼叫请求数与该周期总的呼叫请求数之比。
7.一种通信网中防止负荷过载的控制系统,包括业务控制呼叫处理单元,实现业务控制功能的功能实体,用于处理各种智能呼叫,完成与业务交换接点之间的信息交互;其特征在于,还包括自动调整单元,用于接收业务控制呼叫处理单元反馈的处理器实际占用率的数值,并将其与系统设定处理器的负荷上限进行比较,得到处理器负荷的控制误差;PID控制器,与自动调整器和业务控制呼叫处理单元分别连接,对所述负荷的控制误差进行PID控制运算,并将其运算结果上报给业务控制呼叫处理单元。
8.根据权利要求7所述通信网中防止负荷过载的控制系统,其特征在于,所述自动调整单元包括运算器,用于将预设处理器CPU的负荷上限与处理器实际占用率的数值进行减法运算。
9.根据权利要求8所述通信网中防止负荷过载的控制系统,其特征在于,所述PID控制运算具体包括对处理器负荷的控制误差进行比例、积分和微分运算。
全文摘要
本发明涉及一种通信网中防止负荷过载的控制方法,包括1)预设处理器的负荷上限,并确定处理器负荷的控制误差;2)将所述控制误差在控制周期内通过PID控制运算,获得呼叫过滤比值;3)系统根据过呼叫过滤比值直接对上报的呼叫请求消息进行拒绝处理。本发明还涉及一种通信网中防止负荷过载的控制系统,包括业务控制呼叫处理单元;自动调整单元;PID控制器,与自动调整器和业务控制呼叫处理单元分别连接,对所述负荷的控制误差进行PID控制运算,并将其运算结果上报给业务控制呼叫处理单元。本发明实现简单、对负载评价标准统一以及控制目标直接,以解决系统在过负荷条件下,最大限度为用户提供服务。
文档编号H04Q7/38GK1798201SQ20041010241
公开日2006年7月5日 申请日期2004年12月22日 优先权日2004年12月22日
发明者智伟敏, 李立达 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1