首页 >> >> 通信世界 >> 总第423期 >> 技术方案 >> 正文
BOSS接口监控及应急分析
2009年7月6日 16:10    通信世界周刊    评论()    
作 者:中国移动通信集团广东有限公司佛山分公司 陈健荣

    BOSS作为移动运营商业务支撑的最核心系统,在提高运营能力、控制成本、分析市场等方面都发挥关键作用。随着数据业务的快速发展,外围系统不断增加,系统之间的数据传递与功能交互也呈剧增趋势。

    由于历史与公司发展策略等多种因素,佛山移动的BOSS系统中存在着多种系统并存的情况。而多数系统由不同公司开发,也导致数据格式、消息机制等不尽相同。其中的惟一相同点,是外围系统都必须通过“接口”才能与BOSS产生交互,接口有效地保证了数据安全与模块独立,同时也意味接口中断将割裂内外部系统的连接。

    根据规范,所有功能与业务的设置都必须由BOSS发起,一旦发生接口故障,涉及外围系统的一切操作都将失败。以目前的用户基数,即便是短时间内发生异常,所造成的影响也是不可估量。因此,研究如何保障接口的高稳定性与可靠性意义重大。

    BOSS2.0接口系统框架

    BOSS接口系统并非独立存在,图1描述了接口系统的技术框架,如图中所示,在整个技术架构中,BOSS接口所处的位置、与关联模块的对接方式、内部实现原理等因素,都是能有效维护BOSS系统的基本前提。

图1  BOSS2.0接口系统框架

    由图1可知,从调用方向的角度看,接口可分为主动接口和被动接口,分别表示BOSS调用外围系统服务,以及外围系统调用BOSS服务。主动接口由BOSS应用服务器驱动,即BOSS应用服务器上的主动服务接口进程,是调用CICS对相关待处理表进行轮询,并将每一条记录封装为一条消息放入MQ队列(该队列均由消息组成),接口机上的主动接口再从队列中取出消息进行解析,进而根据控制信息发送到指定系统执行。被动接口则是由外围系统驱动,通过接口机上的CICS客户端调用BOSS应用服务器上的业务层服务操作数据库。

    值得一提的是,作为BOSS与外围系统的承接点,接口的功能最终可归结为对BOSS与外围系统数据库的操作。其中,主动接口的实现逻辑对BOSS2.0接口监控措施的实现至关重要。

    接口监控措施

    监控接口是避免故障突发的重要措施。通过分析运行情况,监控接口能实现异常情况的提前预警,有效地缩短故障持续时间。

    从分析方法的角度看,监控可分为定性和定量两种,前者关注受监控体相关因素本质是否发生变化,是常用手段,而后者则深入到相关因素变化的数量,使分析更为彻底。

    1.接口定性监控

    接口的本质是进程,监控进程一般采用查看进程状态以及日志分析。作为有具体应用的进程,接口还有其特殊性,因而接口的定性分析至少覆盖以下4个层次。

    1)系统环境

    指操作系统及硬件环境稳定,提供进程足够的信息资源,不存在非兼容应用等情况,这些是接口赖以生存的基本条件。

    2)进程状态

    在系统环境满足的情况下,检测进程状态是最重要的方法,但必须注意进程活跃并不等同于进程正常工作,在Linux系统中,其进程可能因异常而停止工作,但仍能在活跃列表中查询到,此时需配合日志做进一步定位。发生后这种现象的原因是,在正常情况下,所有的进程动作都会被写入log文件。

    3)日志分析

    在日志分析环节,主要包括写入状态与日志内容,如果检测到日志处于写状态,则说明对应进程是活跃的,但进程正常与否尚需进一步判断日志内容。异常操作时,在日志中会有失败代码关键字返回,如failed、error等。

    4)进程时态

    进程时态指从业务角度看进程活跃的时间段。并非所有进程都是24小时处于工作状态,正如银行划扣接口一般只允许在夜间启动,因此白天期间检测日志是无法判断该进程是否正常,若不考虑该特性,则可基本判断该进程结果是否有可能出错。

    在接口的定性监控方面,只有充分结合以上4个因素,才能对接口运行情况形成较全面认识。

    在具体实施上,为了形成统一的体系以方便监控并达到告警信息与实时的反馈,可将以上4个层面因素纳入IBM公司开发的TIVOLI监控系统。除此之外,为实现告警信息的自动推送与分发,可将自行开发告警信息转发程序接入TIVOLI监控系统信息库。一旦检测到异常信息存在则立即进行短信或邮件的发送,确保维护人员及时了解接口系统运行情况。整个过程如图2所示。

图2  TIVOLI监控接口模型

    2.接口定量监控

    上文措施均从接口本身入手,并定性分析其运行情况。根据图1对主动接口实现机制的描述,本节文字将从外系统(BOSS库表)的角度提出监控措施,并利用表面不关联的数据实现对接口性能的定量分析。

    由于主动接口的业务数据来源于BOSS库表,那么,库表数据累积情况即反映了接口的运行情况,而库表数据的递减情况也就反映了接口的性能。示意图如图3。

图3  库表数据变动逻辑示意图

    假设主动接口在正常工作的情况下进程数为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]  [2]  编 辑:高娟
关键字搜索:BOSS  
[ 本站暂时关闭评论 ]
 
  推 荐 新 闻
  技 术 动 态
  通 信 圈