移动通信计费系统GPRS话单调度方案的研究与实现
时间:2017-01-11
为提升移动通信计费系统GPRS话单处理性能,提出GPRS话单处理动态调度优化思想,基于采样控制原理设计动态调度算法,建立动态调度控制模型,并使用shell脚本语言编程实现。实际生产系统验证显示,新调度算法在保证实时话务优先的前提下,将GPRS话单处理性能提升30%以上。
引用格式:李成奇,雷淳,王锐深,等. 移动通信计费系统GPRS话单调度方案的研究与实现[J]. 移动通信, 2016,40(14): 76-79.
[Key words]CDR dynamic process samping contro caing priority
1 现状分析
1.1 业务现状分析
广东移动的预付费用户在线计费任务是由在线计费系统实现的。其中,对于语音、短信等业务采用在线计费方式,对GPRS(Genera Packet Radio Service)业务采用CDR(Ca Detai Record)离线计费方式。随着数据业务的快速普及,GPRS使用量也在高速增长,统计计费系统每日处理的GPRS话单量明显增长,最高达50%以上,而且仍在高速增长。个别系统的处理负载已经逼近系统的能力上限。
1.2 系统现状分析
东莞移动通信计费系统对GPRS话单计费采用的是静态调度方式。因用户业务使用时间和系统批量后台业务处理时间的不均匀分布,导致系统的负载跳动较大。从业务现状分析可见,GPRS业务发展很快,个别主机已逼近系统处理上限,进行系统GPRS话单处理性能的提升已刻不容缓。从系统现状分析可见,系统整体负载时间分布不均,还有较大的优化空间。进行GPRS处理动态调节优化,充分利用空闲时段的系统资源,将是在现有硬件资源条件下,提升GPRS话单处理性能的有效手段。
2 方案设计
2.1 动态调度机制设计
采样控制系统由采样器、数字控制器、保持器和被控对象组成,采样器通过等时间间隔(采样周期)的采样把连续的偏差信号转换成离散信号,由数字控制器对它进行适当的变换,以满足控制的需要。参照采样控制系统的原理,设置CAPS等指标的采样模块,并将GPRS话单分发单元改为能按照采样结果和话单输入情况进行动态分发的数字控制器。预处理目录和处理进程则组成保持器,将CAPS等系统负载指标作为被控对象控制在一定安全负载范围内,在保证系统负载均衡的同时,使系统资源利用最大化。
因当前计费系统设计的负载上限为3000 CAPS,根据经验,取负载上限的80%作为系统安全上限。则系统安全上限内可配置的GPRS话单处理进程数为8个。
优化后的处理机制如图1所示。
2.2 动态调度控制算法定义
变量的定义如下所示:
CAPS:当前系统负载情况;
L:系统负载上限,开发商实验室压测获得,值为3000;
Ls:负载安全上限,本方案中取L×80%;
SRC:GPRS处理进程对应的预处理目录;
n:下一控制周期新启用话单处理通道数;
N:采样时间点有负载的话单处理通道数,即SRC1~SRC8中有待处理话单的目录数;
M:每个SRC目录中待处理话单的数量;
ORDERLIST:当前反向工单积压值;
t:采样开始时间点;
T:采样周期。
设一个GPRS处理进程(简称处理进程)在一个采样周期T内可以处理的GPRS文件数为m(可从系统中测得)。本算法分为采样、判断和调度三个步骤。
(1)在时间点t开始采样,采样周期为T,采样内容包括:
采样时间点的系统负载(CAPS);
采样时间点有负载的处理通道数(N);
N个SRC中每个目录待处理的话单量M;
当前反向工单积压值ORDERLIST。
(2)若ORDERLIST≥1000,则下周期停止所有处理通道,下一步执行步骤(8)。 (3)若CAPS≥Ls+300,则下周期停止所有处理通道,下一步执行步骤(8)。
(4)若Ls≤CAPS≤Ls+300,则下周期减少处理通道数量为min(N, 2),下一步执行步骤(6)。
(5)若CAPS
(6)分别判断N个话单处理通道对应的SRC中的M是否大于m。若M
(7)在调度环节,若GPRS原始话单不足m,则有多少移多少,没有则不移。
(8)每间隔T重复上述采样、判断和调度。
具体的算法流程示意如图2所示。
3 算法实现
本调度算法主要是通过she脚本编程实现的,程序中定义了以下函数:
CheckUnique() #唯一性判断函数;
Log() #处理日志收集函数;
Aarm() #处理异常告警函数;
GetConfig() #读配置文件,初始化变量;
IsNumeric() #检查指定字符串是否为数字;
GetCurCaps() #获取当前系统的CAPS;
Dispense() #话单分发函数;
主程序 #实现算法的完整控制流程。
3.1 部分变量的采样实现
(1)采样ORDERLIST,超过此值不再处理GPRS
文件。
orderNum=`echo"seect count(*) from orderist;"|mdsq|awk-F"|" `{if(NR ==4) print $1}'
(2)采样CAPS,超过此值不再处理GPRS文件。
CurCaps=`echo"seect*from tc_eventcapsstat where eventid=9999;"|mdsq|awk-F"|"'{if(NR==4&&NF==5){ print $2} ese if (NR==4){ print -1} }'
(3)其他采样值采样原理与以上两个采样值基本相同。
3.2 调度功能函数实现
4 优化分析
4.1 优化的效果分析
优化前后的系统性能对比统计结果如图3所示:
根据比较,可以得出下面的结论:
(1)GPRS最大处理性能提升了34%;
(2)在当前GPRS话单量基础上还可以增加GPRS话单量78%;
(3)整个区域相当于节省IBM P595 1.7套(5×34%),节省了新增设备、配套建设成本和对应的维护人力成本。
4.2 创新点
(1)针对计费系统当前GPRS处理调度方法的不足,提出GPRS动态调度的观点,并根据采样控制系统的理念,实现了GPRS话单的动态调度处理,大幅度提升了GPRS话单处理性能。
(2)实现计费系统实时业务和离线处理业务的优先级划分,保证实时话务优先。
(3)在提升GPRS话单处理性能的同时,提升了硬件资源的利用率。
5 结束语
本次系统优化投入几近为零,无需增加任何硬件投资,仅仅通过专用算法动态调度实现系统资源利用的最大化。全部优化内容均为软件实现,优化效果非常显著。在试点地市成功上载验证后,已在全省各地市在线计费系统上部署推广。通过本次优化,极大地提升了系统的话单处理性能,很好地支撑了数据流量业务的发展,为后续数据流量业务的快速推广奠定了坚实的基础。
参考文献
[1]辜蔚君.关于人力资源数字化转型中数据管理工作的思考[J].厦门科技, 2023(1):43-47.
[2]费培之.数学异型实用教程[OU].成都. 四川大学出版社. 1998. 21-28.
[3]Ellie guigley.UNIX Shell实例精解[0].北京. 中国电力出版社. 2002.
[4]王军.Linux系统命令及Shell脚本实践指南[0].北京; 机械工业出版社. 2015.
[5]司守要.和:.
