一种大数据异常检测系统的研究与实现
2015-07-10沈荻帆周又玲
丁 洁,王 磊,2,沈荻帆,周又玲
(1.海南大学 信息学院 海南 海口570228;2.海南省特种玻璃重点实验室,海南 海口570228)
大数据时代的到来促进了信息检索技术和数据挖掘技术的发展,异常信息的检测研究也愈发显得重要.其中,异常信息的自动检测是大数据处理的重要研究方向之一,建立在信息源的正常行为模式,通过比较和匹配被检测数据源的实际行为模式和正常行为模式来检测异常信息.目前,在异常信息检测研究方面,在检测方法上,文献[1]提出了基于D-S 证据理论对用户异常行为进行检测的方法,文献[2]提出了采用马尔科夫模型来进行异常流程检测的方法,文献[3 -5]提出了自相似检查异常的方法,文献[6 -7]提出了数据挖掘的相关方法,对入侵检测、防DDOS 攻击等多个领域的异常行为进行了检测;在具体的系统实现上,文献[8]提出了基于MapReduce 的OLAP 技术MOLAP 来实现对大数据的清洗、钻取等过程,文献[9]提出了利用各类NOSQL 数据库构建大数据分析平台的方法,文献[10]提出通过基于共享存储池的机制来解决大数据存储的高可用问题.
在诸多的实际应用系统中,比如基于物联网的智能系统、电信运营的业务系统等,都存在大数据的检测难题[11].由于系统在不同时间段的数据量有差别、不同数据源产生的数据量不相同等多种与实际应用场景密切相关的原因,一些小量的异常数据往往会淹没在大规模的正常数据中而难以被检测到.根据数据的来源、归属和时间上的周期性等要素,可以得出正常数据的一些统计特征,并以此为参考来判断出数据是否有异常.笔者针对大数据的异常信息检测问题,建立了基于相关系数的异常行为检测系统,并结合实际应用系统对数据进行检测分析.
1 相关系数
相关系数(Correlation coefficient)是由著名统计学家卡尔·皮尔逊设计的一个统计指标,用来反映变量之间相关关系的密切程度,其针对离散型变量的一个定义式如下
在本文设计的异常信息检测系统中,根据具体的应用场景,按照一定的数据属性,选取一定量的样本数据,并计算其均值作为考察样本,归入系统的特征库中,特征库中的考察样本需根据考察对象的变化而自动更新;通过分析数据与特征库中相应考察样本的相关程度来进行异常信息的检测.
2 系统层次架构设计
在电信运营企业,存在着大量不同业务接入渠道,包括社会代办渠道、自营厅和电子商务渠道等,每天都会产生大量的业务操作信息,其中不乏部分异常操作信息.例如代办网点在短期间内恶意为批量用户办理套餐以套取利益等.因此构建一个异常信息检测系统来对海量操作信息进行分析和识别,及时发现异常信息,提出告警,并通知相关管理人员.
本系统从层次架构上共分为4 层,分别为:展示层、接口层、逻辑层和数据层,如图1 所示.
图1 系统层次架构图
1)展示层 是该系统与外部数据进行信息交互的平台,完成页面的构造和展示(HTML)、页面的控制和服务调用(Page)等功能.在设计时,应向使用者提供多样化的展示逻辑和接入方式,并考虑浏览器兼容性,提供主流浏览器主流版本的适应能力.
2)接口层 系统所有数据的输入和输出均需通过接口层来完成.接口层还负责将输入的数据转发给逻辑层,将输出的异常检测结果转发给其他系统,并对输入、输出数据进行缓存处理.在接口层,所有请求和响应消息均应采用SOAP 格式的消息封装,包含SOAP 封套(Envelope)、SOAP 包头(Header)和SOAP包体(Body)3 部分,通信双方采用一问一答的通讯机制,即一次请求对应于一次应答,通信双方之间的消息发送后等待T 秒后未收到响应,应立即重发,连续发送N 次后仍未得到响应则停发.
3)逻辑层 主要是对业务逻辑进行处理.逻辑层接收到来自于接口层的业务数据,根据规则库的规则进行匹配,每条规则均仅由一条元规则组成,但规则库可能存在一条或数条规则,通过业务流程引擎进行驱动.在实现上,采用JBPM 来进行规则层逻辑的设计及开发,并提供核心引擎、流程设计器、工单管理及监控管理功能,支持业务应用实现流程模板设计、流程实例创建、分解、调度、任务提醒和跟踪等.
4)数据层 主要用于接收及存储数据,并对其进行数据清洗、相关分析和数据转换,按照不同的业务对数据进行不同的分类,并存在数据库或文件系统中.本系统采用TOMCAT 来实现,通过jdbc 连接池来统一管理数据库连接.同时,在数据库访问设计时,通过设置预警阈值限制最大结果集来避免大数据过载导致应用报错.当记录数超过预警阈值时,系统会记录告警日志,方便运维人员查询.
3 异常数据检测流程
本系统在检测异常数据时,主要流程包括:标准化处理、规则管理、相关匹配处理和预警分发等环节,如图2 所示.
图2 异常信息检测流程图
1)标准化处理 对接收的数据按标准格式进行处理,抽取其中关键字段,明确所处理系统生成的文件名格式和文件内部字段定义.
2)规则管理 规则库中的每条规则均仅由一条元规则组成,但规则库可能存在一条或数条规则.规则的检测阈值设置可以直接设置或者根据分析对象预先生成,并能够动态调整,检测阈值的大小对整个系统性能起决定性作用.应用场景不同,检测阈值也有所不同.当引擎执行时,会根据规则执行队列中的优先顺序逐条执行规则实例.
3)相关匹配处理 根据特征库中特征信息,对标准化处理后的数据进行计算匹配,并判定数据正常或异常,生成异常指标数据,提供给预警分发模块.
4)预警分发 根据预警指标阈值对预警指标进行逻辑操作处理配置,得到预警指标规范,并支持默认预警指标的配置.预警信息是根据预警指标来配置,一个预警信息可以对应一个或多个预警指标.当发生预警后,系统根据指标来生成预警信息处理请求,并通过短信、邮件等方式发送给相关处理人员.
4 异常信息自动检测系统的应用举例
结合电信运营领域的相关业务数据,对该系统的实际应用进行举例说明.
4.1 基于时间周期的业务数据检测 电信运营的业务量并非是随时间均匀分布的,也很难用某一确知函数或随机分布函数来描述.24 h 考察时段内,存在工作时间和非工作时间、忙时和闲时等区别,因而也相应的存在业务办理量较高的时段和较低的时段,但是每天业务办理量随时间段的分布情况应该是相关的,系统以此来检测数据是否存在异常.结合电信运营企业经营分析的具体需求,同时考虑“误报率”和“漏报率”等参数指标,在此应用场景下检测阈值的初值设为0.9,系统运行后在进行检测时,动态调整为0.913 647.若系统检测得出的相关系数r 大于等于该阈值,则认为数据无异常;反之,则认为数据异常.
系统将某月某项业务的办理量按时段取均值后,得到了该业务平均每日24 h 的参考样本,如图3 所示.该样本显示每天的10:00 ~21:00,是业务办理量较大的时段,这与用户使用行为是相吻合的.
由图3 中展现的A 日上午时段的业务量高于参考样本约1/4,但是两者的图形分布整体还是一致的.系统检测得到两者的相关系数r1为0.940 145,大于阈值,系统认为数据正常.B 日业务办理量的分布情况与参考样本差异较大,尤其是18:00 以后出现了一个较大的业务高峰期,业务量达到参考样本的近2倍.这样分布情况存在多种实际的可能,比如B 日恰好有营销活动或者某些业务办理点进行了集中操作等等.系统检测得出两者的相关系数r2为0.873 257,小于阈值,系统认为数据异常,发出告警,通知相关人员做进一步的核查处理.C 日业务办理量在傍晚时分有一个较小高峰,但在整体分布上与样本差别不大.系统检测得出两者的相关系数r3为0.951 123,大于阈值,系统认为数据正常.
4.2 基于不同数据来源的业务数据检测 在实际应用中,电信运营业务通常有多种办理方式,例如去营业厅办理、网上自助办理、通过代理商办理和手机客户端办理等.不同方式办理的业务量不同,随时段的分布情况也会有差异,但其整体的分布图形是具有一定相关性的.在此应用场景下检测阈值的初值是0.9,系统运行后进行检测时,动态调整为0.892 367.
图3 基于时间周期的业务量分布
图4 基于不同数据来源的业务量分布
系统考察了某项业务在所有办理方式下的数据量,按时段取均值后得到该业务平均每日24 h 的参考样本,如图7 所示.
图4 中展现的采样点1 的业务办理量分布情况与参考样本差异较大,10:00 开始业务量急剧下降,在15:00 却出现一个小高峰,这样分布情况存在相应的实际可能,比如当日采样点1 由于故障等原因,业务办理受到影响,业务量急剧下降,等到故障恢复后进行了业务补足处理,业务量又出现一个高峰值.系统检测得出两者的相关系数r1为0.782 227,小于阈值,系统认为数据异常,发出告警,通知相关人员做进一步的核查处理.采样点2 的业务办理量接近参考样本的3/4,但是两者的图形分布整体还是一致的.系统检测得到两者的相关系数r2为0.929 748,大于阈值,系统认为数据正常.采样点3 的业务办理量分布情况与参考样本相比,尤其是在中午时段和傍晚时段变化略显剧烈,系统检测得出两者的相关系数r3为0.911 468,大于阈值,系统认为数据正常.
5 结束语
针对大数据处理中的异常信息检测问题,借助于自相关系数这一统计参数,研究并实现了基于自相关模型的异常行为自动检测系统,并对实际生产系统中的异常数据进行了自动化检测.实验证明,该系统可在应用中不断得到改进和修正,具有一定的实用性和可靠性.本文检测系统与传统的数据检测方法相比,具有实施方便,扩展性强等特点,且使用的大部分软件采用开源系统,可节省投资.
[1]王斌,连一峰,陈恺.基于D-S 证据理论的主机违规行为检查方法[J].计算机应用与软件,2012,29(2):90 -92.
[2]邬书跃,田新广.基于隐马尔科夫模型的用户行为异常检测新方法[J].通信学报.2007,28(4):38 -43.
[3]夏正闵,陆松年,李建华,等.基于自相似的异常流量自适应检测方法[J].计算机工程,2010,36(5):23 -25.
[4]Deguchi K,Kawanaka O,Okatani T. Object tracking by the mean-shift of regional color distribution combined with the particle-filter algorithms:proceeding of the 17th International Conference on Pattern Recognition,Cambridge,August 23 -26,2004[C].[S.l.]:IEEE Computer Society,2004:506 -509.
[5]任勋益,王汝传,王海艳.基于自相似检测DDos 攻击的小波分析方法[J].通信学报,2006,27(5):6 -9
[6]林杰斌,刘明德,陈湘,等.数据挖掘与OLAP 理论与实务[M].北京:清华大学出版社,2003.
[7]Berson A,Smith S,Thearling K.构建面向CRM 的数据挖掘应用[M].贺奇,郑岩,魏藜,等译.北京:人民邮电出版社,2002.
[8]宋杰,郭朝鹏,王智,等. 大数据分析的分布式MOLAP 技术[J].软件学报,2014,25(4):731 -752.
[9]卓安. 基于P2P 可伸缩架构的大数据分析平台研究与实现[D].北京:清华大学,2012.
[10]周江,王伟平,孟丹,等. 面向大数据分析的分布式文件系统关键技术[J],计算机研究与发展,2014,51(2):382-394.
[11]孟小峰,慈祥.大数据管理:概念、技术与挑战[J]. 计算机研究与发展,2013,50(1):146 -169.