目前广东电信IPTV用户数高达1000万,保证服务质量是提升用户体验、防止客户流失的基本要求。EPG交互数据采集分析系统[1]涵盖广东全网用户,采集大量EPG用户体验数据,形成多维度报表,有效地评估全网用户的体验水平。然而,EPG用户交互体验涉及机顶盒、网络、EPG服务器等多个环节,引起用户体验变差的因素较为复杂,包括机顶盒硬件配置、网络接入方式、网络带宽、EPG服务器配置、页面资源缓存、系统的响应速度等。针对突发故障,人工定位故障症结存在效率低、准确性低、不及时等缺陷,无法保障业务高效可靠地运转。
传统的运维方式已经无法满足IPTV业务需求。因此,需要借助机器学习算法和人工智能技术辅助运维,在突发异常时快速定位故障原因,并给出正确的决策和修复。基于全网用户的EPG体验数据,量化用户体验水平,实时监测并自动检测体验异常,定位异常的症结所在,报告运维专家进一步修复故障。
EPG用户体验异常的自动化检测和异常原因的自动化定位,是现阶段IPTV智能运维的基本需求。EPG异常原因自动化定位框架如图1所示,主要包括异常检测模块和异常定位模块。异常检测模块中异常检测算法监测体验数据的时间序列,即用户体验好坏,发现异常后自动触发异常定位模块,机器学习算法从EPG用户操作记录中挖掘异常因素,定位异常原因。
图1 EPG异常原因自动化定位框架
EPG交互数据采集系统输出多维度的体验数据时间序列,时间序列具有严格的有序性,移动平均值算法[2]根据一定时间内的实际数据,逐项推移计算算术平均,预测下一时刻的体验数据值。通过对比下一时刻的实际值与预测值,检测时间序列是否出现异常。
异常检测自动化流程如下:
①选择长度N的体验数据时间序列
②采用移动平均值算法计算体验数据时间序列的波动指标——序列的移动平均值和标准差
③比较序列预测值和下一时刻的体验数据实际值,若下一时刻的实际值在正常的波动范围(标准差倍数)内,则体验数据正常;若下一时刻的实际值超出正常的波动范围,则体验数据异常,此时用预测值替代实际值作为下一时刻的体验数据值
④增加新的体验数据值,同时舍去序列最前面的体验数据值,生成新的时间序列,回到2),如此循环。
体验数据异常,从侧面反映了EPG用户交互体验过程中出现了问题,如何在众多影响因素中定位导致异常的根本原因是智能运维的一大难点。体验数据异常非个别现象,因此基于用户体验的大数据,采用决策树机器学习算法挖掘出导致用户体验异常的主要原因。
一旦发现异常,将当前小时用户操作记录中的影响因素作为特征,建立决策树模型[3],利用特征对数据进行最佳划分,从中找到导致用户体验变差的原因。
异常原因定位自动化流程如下:
①将异常时间段中的用户分为缓慢用户和正常用户,将影响因素作为特征输入决策树建立模型
②根据模型的分支关系,确定异常原因。
EPG交互数据采集分析系统已在广东IPTV现网部署应用,实时采集用户体验数据,分析存储了各地区缓慢用户数和页面、机顶盒、EPG服务器等多维度的EPG体验数据。EPG用户体验异常原因自动化定位方案已在广东现网进行实践,多次监测到体验数据异常,并及时定位到异常原因。
算法监测到Z市某天晚高峰时段缓慢用户数大幅升高,如图2所示。正常情况下,Z市的缓慢用户数维持在1000以下,当天缓慢用户数高达5000以上,超出移动平均值的波动范围,检测为异常。决策树算法针对当时时段EPG用户操作记录建模,从中定位到该城市某台服务器出现问题,如图3所示,问题服务器E1处于决策树根节点,其子节点均属于缓慢用户一类。报告运维人员后,及时停止服务器相关服务并做相关排查,Z市的用户体验恢复正常。
异常检测和原因定位的自动化实践,从发现异常到找到异常服务器仅仅用了几分钟时间,相关运维人员可以马上停掉问题服务器的服务,保证用户体验质量,做到及时止损。后面再更有针对性地检查问题服务器具体故障,修复服务器。若是传统的人工监控,需对全省22个地市的缓慢用户数曲线进行观察,凭借运维人员经验判断是否发生异常,有可能会忽略某些轻微的浮动(实际是异常)。发现异常后,运维人员需从机顶盒、页面、服务器等三个维度查看各个指标是否正常,指标数量大,耗时长,无法快速缩小异常范围,更谈不上快速修复故障。机器算法能够在替代人工完成监控,准确又省时地定位异常原因,提高运维效率,减小人工成本。
图2 Z市缓慢用户数
图3 Z市决策树模型
本文采用移动平均值算法自动化检测异常,实时提醒运维人员用户体验是否变差;采用决策树算法自动化定位导致异常的原因,辅助运维人员快速定位排障的方向,大大提高排障效率。下一步研究中,可纳入更多的运维事件与数据,与各系统联动,实现更智能化的运维流程,提高运维效率,减轻运维人员负担,最终更好的保障用户体验。