陈克胜
(广东盈嘉科技工程发展股份有限公司,广东广州 510000)
目前主流的动力环境集中监控系统仅仅做到事后告警,普遍缺乏对海量历史数据价值的二次利用,缺乏故障分析功能和事前预警功能。随着机房/基站监控规模越来越大,沉淀下来的历史监控数据越来越多,如何利用好这些数据?本论文提出结合大数据思维、计算机技术,同时结合移动运营商的节能减排的目标,对动力环境集中监控系统的数据进行分析。
为了有效的利用动环集中监控系统的海量数据,为动力设备的维护工作提供有力支撑,需要对动环监控系统存储的历史数据进行二次开发利用[1]。在通信领域,动环监控系统的应用已经有十多年的时间,其技术应用发展情况基本可以分为三个层次:分别为基本应用、中级应用和高级应用,具体情况见表1,从目前在通信领域的应用情况看:基本应用已经全部实现,大部分处于中级应用水平,高级应用尚处于探索和不断完善之中。近年来,用户对动环监控的高级应用需求越来越多,例如通过动环监控数据分析动力设备的故障率和其容量占有率的关系,以优化设备的带载率,提升设备的可用度;通过分析不同品牌或不同型号设备的故障率来辅助设备的采购选型;通过对动力设备的用能分析,改进设备节能运行方案,优化机房/基站能效水平等等[2]。
根据动环监控高级应用需求,本文以数据仓库为基础,以云平台为支撑,结合其ETL和并行数据挖掘开发套件,设计了动环监控数据分析系统。
表1 动环监控不同应用阶段对比表
如图1所示,动环集中监控系统负责数据采集的实现,完成基础和关键数据的采集;数据分析系统设计为基于云计算的平台为依托,借助其处理海量数据、分析数据以及决策支持方面的卓越能力,高效、可靠地实现业务需求[3]。数据分析系统以数据仓库为基础,以云平台为支撑,结合其ETL和并行数据挖掘开发套件,打造出高性能、高实时性、高灵活性的新一代基于“云”计算的动环监控数据分析系统。
针对机房设备数据量大,数据格式多样化,实时性要求高的特点,同时为了满足上层OLAP和数据挖掘的需要,建立数据仓库成为了项目成功的关键所在。为了保证数据仓库中数据的质量,需要一种支持多种数据源,具有“数据净化提炼”功能、数据加工功能和自动化运行功能的抽取类程序,ETL正是这样的抽取程序。
图1 系统技术架构图示
整个系统以数据仓库为基础,以云平台为支撑,结合其ETL和并行数据挖掘开发套件,打造出高性能,高实时性,高灵活性的新一代基于“云”计算的动环数据分析系统。
(1)数据仓库[4]
数据仓库通过应用云平台的数据交换方案,使数据可以在云平台与仓库之间双向流通,充分利用云平台强大的计算能力,不但保留了原有数据仓库的特征,并且优化了与前端OLAP和数据挖掘交互的性能问题,在数据操作上具有更大的灵活性,如图2所示。
(2)数据分区
动环监控系统特点是物理点众多,数据采集存储频繁。数据分析系统设计采用数据分区的方式来解决运营商动环监控数据持续增长后造成的存储备份、恢复、查询等问题,把表和索引划分为多个分区,简便、高效的对分区进行删除,添加,拆分、合并和移动等操作,管理TB级别大小的数据。从而解决大数据查询及处理时阻塞等性能问题,可有效的提高对数据仓库的管理能力,增强前端数据挖掘和OLAP的响应能力。比如需要大量装载数据,可先把数据并行的装入到一个新分区当中建立索引,然后把该分区合并到当前分区中来;如果需要删除某一年历史数据,可设计历史数据分区,只需要把该年的设备数据分区移除即可。
图2 数据仓库价值示意图
图3 数据分区示意图
如果采用数据水平分区技术,数据的增长和性能问题就迎刃而解。可以将表和索引划分为多个分区,轻松的管理TB级别大小的数据。例如,在图3的设备运行KPI表中,当需要查询2010年的数据,系统只需要找到2010年的数据分区以及和它对应的分区索引,然后对该分区进行扫描便能迅速获取需要的结果。
采用数据分区技术将数据表划分为多个分区,可以简便、高效的对分区进行删除、添加、拆分、合并和移动等操作。
基于动环数据仓库的数据量大、数据采集频率高、数据分段性强等特点,采用数据分区技术不但可以有效的提高对数据仓库的管理能力,还能增强前端数据挖掘和OLAP的响应能力。
(3)数据挖掘
如图4所示。在云平台上,通过并行计算的方式实现多种数据挖掘算法,通过挖掘方法来给所有设备分类排序,并寻找影响设备的因素,通过查询对比找出同样情况最多的类似设备,并展示设备详细信息和类似信息[5]。通过分析得到设备的故障率,故障发生率,同时结合其他外部因素得出一些影响故障的原因(例如环境、设备本身的属性等等)。
图4 数据分析系统示意图
动环监控的数据分析系统,通过两种方式来实现了对动环及能耗数据的挖掘工作,一种方式是在系统中直接集成了两个分析模块,一个是能耗模型分析模块,一个是机房基站聚类模块,用户可以通过点击功能菜单的方式,在系统直接运行对应的算法并以表格或者可视化的图形返回给客户,从而实现与客户进行常规模式下的交互。另一种方式是将数据挖掘的工作分为前台和后台两个部分,即相对独立的开发一个后台程序来完成各种算法的并行化实现,类似于一个数据挖掘算法库;前台完成数据源及数据挖掘算法的指定,提交给后台,由后台对各种算法在并行计算平台上进行计算[6],如图5所示。
图5 并行计算平台架构示意图
(1)数据预处理功能的实现[7]
动环监控采集到的前端设备及环境的数据,经过入库后,在后台有专门的转换和导出程序,形成分析系统所需要格式的csv文件包,定时上传到ftp服务器上。分析系统经过数据的二次采集后,进入数据的预处理流程,经过清洗,转换及聚合等步骤后的数据才真正成为系统所能够分析和挖掘的数据。具体的流程如图6所示。
(2)数据分析功能模块的实现[8]
下面以动环监控采集到的能耗数据为例,介绍数据分析功能模块的实现。
能耗数据分析功能模块实现了基站机房在企业级和用能场所两个级别上的的能耗结构分析,趋势分析以及数据相关性分析。其中能耗结构分析又可以划分为样本集能耗结构查询,地域能耗结构查询,能耗查询结果下钻查询以及查询结果导出等功能点。趋势分析又可划分为样本集能耗数据相关性查询,地域数据相关性查询以及时间相关性查询。样本集是某些有特定属性的地域的机房/基站,经选择出来并做分析后,能更有效的作为标准去预测同类型设备的耗能情况。
图6 数据预处理数据流程示意图
1)Action如图7所示。
enterprise()
图7 能耗分析流程(Action)示意图
2)Service如图8所示。
getEnterprise(query,analysisType,dataIds)
图8 能耗分析流程(Service)示意图
3)Dao如图9所示。
getEnterpriseInfo(query,dataIds)
图9 能耗分析流程(Dao)示意图
4)代码实现片段如图10所示。
本论文针对在动环数据的挖掘利用中碰到的一些具体的挑战,比如所分析的主题往往是新兴的主题,提出无论对于用户还是IT企业,都必须设计出合理的数据仓库架构,避免采用固定的数据处理逻辑,保持良好的可扩展性和可维护性。本论文设计的数据分析系统已经在南方基地IDC机房,东莞及汕头移动通信机房/基站等进行了规模验证试用。经过该课题研究,在动环集中监控系统的数据分析和功能实现等方面积累了丰富的经验。
图10 能耗分析代码实现片段
[1]中国移动集团公司网管建设总体规划[S].中国移动通信集团公司,2001.
[2]殷培红.动力及环境集中动力环境集中监控系统的研究应用[D].北京:华北电力大学,2007.
[3]余小军.数据挖掘在动力设备动力环境集中监控系统中的应用研究[J].计算机光盘软件与应用,2013(8):105-106.
[4]郭川军,朱贵.数据仓库技术研究[J].信息技术,2004(04):61-63.
[5]毛国君,段立娟,王实,等.数据挖掘原理与算法:第二版[M].北京:清华大学出版社,2007.
[6]殷正坤.浅析云计算在网络技术中的应用[J].电子制作,2013(16):153.
[7]刘明吉,王秀峰,黄亚楼.数据挖掘中的数据预处理[J].计算机科学,2000(04):54-57.
[8]张海燕.数据挖掘技术应用于大学图书馆系统研究[D].南京:南京信息工程大学,2008.