BOSS接口监控及应急分析
程数为N,库表原有数据量U,业务请求增速恒定Su,经过时间t后U降低为0(生产环境中取接近0,若库表数据随时间不断增加则说明接口性能不满足),则接口单个进程性能为Ci=(U+Sut)/Nt。通过接口性能能够估其吞吐能力,再结合业务量重新调整接口进程数,达到资源优化配置。
对于不间断工作的主动接口(如HLR施工),若其计得性能c,业务请求增速恒定为Su,在相邻的2个单位时间内查得的库表数据量,先后为Ut、Ut+1,则如果|Ut-Ut+1|≈|c-Su|则说明接口正常,否则接口可能存在异常,需要引起重视。
对于被动接口,BOSS库表的作用是保存业务执行结果,因此在计算性能时只需考虑外部请求满负荷情况下库表的增速Sp,即Cp=Sp。但必须注意的是,库表数据的增长速度s低于Cp并不能说明接口一定异常,因为在非满负荷情况下s 对于负责业务查询的接口,其数据源与结果均不经过BOSS库表,因此上述方法不具有普适性。
使用定性分析与定量分析的两种监控方法,都只涉及接口的某一特性,在监控时还需充分考虑各种因素,建立完整的接口健康度模型,在定性方法无法判断接口运行状态时需进一步进行定量分析,使得两种方法优势互补,提高监控的有效性。
应急方案与工具
应急是在故障事实既定时的补救措施,主要包括应急方案与工具,前者是完整的流程及措施,后者能辅助方案的顺利实施。
1.制定应急措施并演练
作为BOSS与外围系统的惟一连接点,接口故障将导致内外系统完全中断。因此,最好的应急措施之一就是在故障时立即将服务切换到备机。为保证一次切换成功率,应急方案须详尽、具可操作性与验证性,并至少在方案中详细描述以下关键点。
1)接口机与备机网络环境,包括逻辑连接图、备机IP、网络联通等作为判断条件;
2)接口启动方式与配置参数,包括指令路径及执行方式,配置文件具体修改方法,接口已正常启动的标志;
3)备机具备对主机完全可代替的条件,包括接口进程类型、数量,操作系统环境,配置信息及网络结构等;
4)误操作回滚逻辑,包括操作步骤、命令字,检测回滚成功的方法。该部分的描述在出现切换失败时显得尤为重要;
5)切换结果测试用例,在切换成功后根据预先设计好的输入检测输出是否符合要求,是检测切换结果的有效手段。
必须强调的是,完善的应急预案并不能保障应急成功,只有配合熟练演练才能真正发挥预案的作用。
2.开发应急工具
应急工具能有效缩短故障恢复时间。广东移动通信有限公司自主开发的“BOSS接口异常数据辅助处理系统”便是处理客服接口故障的重要应急工具之一,系统通过将异常数据封装为协议包直接送接口执行,可有效弥补BOSS前台功能不足、或前台界面异常及因流程冗长引起的施工延时或故障,同时由于该方式精简流程,执行效率与成功率高,能有效应对紧急情况。
图4 智能网号码充值流程
以图4智能网充值开机流程为例,其经历的步骤繁多,特别是其中信控判断逻辑复杂,程序处理耗时多,是引起月结用户充值到账但无法及时开机的关键环节。站在服务用户的角度,最直接的应急方式便是提取已缴费入账的号码直接送HLR施工开机,对于存在欠费可能的用户,其开机状态在正常流程进行修复,但对于充值后仍欠费的用户,其开机状态将在经历过信控后自动被修改为停机。
尽管该方式可能产生欠费风险,但考虑到大部分用户将根据欠费额度进行充值,同时流程修复时间也相对较短,该方法依然是可行的。
利用BOSS接口异常数据辅助处理系统执行以上应急流程的方式是:在提取号码后,根据客服协议开机命令字10007格式要求(HandsetNo~工号~返回格式~nCode~sType~备注),将批量号码构造成报文列表并导入系统执行。主界面如图5所示。
图5 系统主界面
该系统的设计模型如图6所示。由设计模型可看出,系统主要实现协议包的封装与发送,后续流程由接口进程完成,因此,只要是接口协议支持的业务系统即可。统计《客服接口说明》命令字可知系统支持的业务类型约计500种,能有效满足多种需求。
图6 系统设计模型
为了调节对接口所产生的压力,系统还实现线程数与执行时间的动态配置,在接口压力较大时可减少系统线程,并把对资源需要量多的任务定时在晚间自动启动,避免对接口日常运作造成不良影响。
总结
本文主要研究BOSS接口的监控方法以及应急措施,将传统手段纳入监控系统,并重点介绍利用库表定量分析。在应急措施中,主要讨论应急方案以及自建系统在应急中的作用,通过监控预防故障突发,利用应急措施降低故障影响范围,形成较完整的接口维护体系,佛山移动目前在实践中已经验证了该方法的有效性
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)