李强 金雨超 郭景赞
在传统的Gn数据解析过程中,业务类型里“未知服务”的占比通常在70%以上。为了提高解析结果的分析价值,结合数据分析和数据挖掘技术对DNS解析流量字段进行细分,该设计方案在最大化利用原始数据的同时,能从多维度细分用户网络业务,优化结果可以为用户画像、用户标签、用户群体特征等分析应用提供有力支持。
数据挖掘 数据解析 网络业务类型划分 聚类算法
1 引言
21世纪信息和通信技术高速发展,技术的进步给人们的日常生活带来了诸多便利。通讯是社会交往中的重要纽带,推动着数字信息的发展。通信行业的大数据应用,能够优化移动通信网络,开拓更丰富的服务业务,为移动用户提供更精准、更便捷的服务。
Gn数据是Gn口原始码流解析得到的数据,主要反映用户使用各类数据业务的详细情况。在传统的Gn数据解析过程中,流量类型里“未识别TCP流量业务”、“未识别UDP流量业务”和“DNS解析流量业务”等类型均被划为未知服务。这样的计算模型会导致解析结果里未知服务的占比很高。
本文针对原始Gn数据,提出了一种新的网络业务分类方法:利用大数据并行计算模式解析DNS业务里的URL,解析结果通过挖掘算法(基于密度的聚类算法)模型处理,以确立新的网络业务类型。
2 技术介绍
2.1 大数据处理步骤
大数据的飞速发展已经影响到了各行各业,其中信息、互联网和通信行业受到的影响最大。大数据的到来恰逢通信行业的转型过渡阶段,给这个行业注入了新鲜的血液。
大数据处理方法通常为四步,分别是原始数据的采集、数据导入和预处理、数据的统计和分析以及数据挖掘。下面将按照这四个步骤的顺序进行阐述。
(1)数据采集
数据的采集阶段是指用数据库来接收以Web、App等形式传送的数据,在大数据的采集过程中,最主要的问题是处理高并发数,同一时间點可能会有上万条申请操作。而采集阶段通常采用的优化方式是在这些数据库之间进行分时分片管理和负载均衡。
(2)数据导入和预处理
数据导入指的是将原始数据导入到分布式存储集群,并且在导入过程中,对数据做去除噪声点、筛选特定条件等清洗工作。导入和预处理过程中面临的主要效率瓶颈是网络带宽和磁盘IO。
(3)数据统计和分析
大数据场景下的统计与分析主要通过分布式计算集群来对数据进行分析和分类汇总等,在这一阶段,最常用的两个计算框架是Hadoop和Spark。统计与分析遇到的主要问题是,分析时所涉及的数据量通常很大,其对系统资源会造成极大的占用。
(4)数据挖掘
数据挖掘阶段是一个知识发现的过程,一般没有预先设定好的主题。比较典型的算法有用于聚类分析的K-means算法、用于统计学习的SVM算法和用于分类的Na?ve-Bayes算法。该过程的特点主要是用于挖掘的算法一般比较复杂,考虑到系统资源的开销,需要选择合适的计算框架。
2.2 基于聚点密度和距离的高效聚类算法
把一个数据集分割成不同的类或簇,使得同簇内数据对象的相似性尽可能大,不同簇中数据对象的差异性也尽可能地大,通常采用聚类算法。从传统的聚类分析方法来看,在进行聚类之前都需要先确定要聚类的类别数目,然而在现实运营数据的分析过程中,聚类的类别结果通常是未知的,一般要经过多次实验来获得相对合适的聚类数目。考虑到本文中要分析的数据是多维度的结构化数据,且聚类结果不需要人工干预,可以参考Alex Rodriguez和Alessandro Laio提出的新的聚类算法,下面对此聚类算法做简要介绍。
该算法假设所确定的类簇中心点是由一些局部密度相对其较低的点所环绕,并且这些点与其他高局部密度点(其他类簇中心点)的距离都比较大。首先定义两个值:局部密度ρi以及到其他高局部密度点的距离δi。
ρi=Σj X(dij-dc) `(1)
(2)
公式中dc是一个临界变量值,是一个预先设定的参数。从公式(1)和(2)可以得出,ρi相当于和点i的距离差值小于dc的点的个数。由于该算法只对ρi的相对值敏感,所以面对大数据量时,为了算法的健壮性,对dc的选择最好使得平均每个点的邻居数为所有点数量的1%~2%。
δi=minj:ρj>ρi (dij) (3)
根据公式(3),δi用来表示点i和点j直接的距离,其中ρj>ρi。对于ρ值最大的点,设置其δi=maxj (dij)。
局部密度ρi和据其他中心点距离δi的值均很大的点被认为是类簇的中心。局部密度较小但是δi较大的点则是异常点。在确定了类簇中心之后,非中心点属于其距离最近的类簇中心所代表的类簇。
图1是以ρ为横坐标、以δ为纵坐标的决策图。可以看到,1号和10号两个点的ρi和δi都比较大,可以作为聚类焦点。11、12、13三个点的δi比较大,但是ρi较小(周围点密度太小),所以是异常点,在聚类过程中将被清洗掉。
3 服务类型划分系统模型设计
传统的Gn数据解析过程中,在流量类型字段里,将“未识别TCP流量业务”、“未识别UDP流量业务”和“DNS解析流量业务”划为未知服务。这样的计算模型导致Gn数据解析后,业务类型里会有很高占比的未知服务。解决大量的“未知服务”的分类结果,既可以最大化地利用原始数据,又可以在多维度的情况下,细分用户的网络业务。系统采用分布式集群架构,如图2所示,分为数据获取、数据清洗、数据解析、数据云存储、数据模型挖掘、挖掘结果分析几个步骤。
数据获取阶段,将Gn接口数据通过FTP的方式将数据传送给数据清洗模块。
数据清洗主要是完成无效字段的替换,将RNC解析流量对应URL为空的记录删除,并完成目标数据的选取,将Gn原始数据类型中流量类型为RNC解析流量的记录截取出来。
数据解析,如图3所示,所映射的URL包括查询的域名及查询类型。解析URL需要解析协议(如http、https)、域名或IP、端口号(如7001、8080)、Web上下文、URI,请求资源地址等。此处需要解析出域名,并将其存储为一个新的字段。做一个URL映射表,将访问域名进行归类映射,例如SINA映射为新闻咨询浏览,tianya映射为讨论类论坛,weibo映射为社交网络等。
数据云存储阶段,将解析后的数据以Parquet文件块的形式存储在HDFS上,作为数据挖掘接入口。
数据挖掘模型采用2.2节介绍的基于聚点密度和距离的高效聚类算法。将解析后的数据作为输入端,通过挖掘模型计算,自动生成聚类结果。此处需要注意的是,由于算法中dc变量值(表示测量点临界间距)需要事先设定好,所以为了得到合理的结果,需多次对数据进行训练,找到一个符合业务分析需求的特定值。另外,根据用户实际使用情况,同一种业务在不同时间段会产生不同的用户体验需求,以及每个人会有不同的使用习惯等,将输入参数定为业务发生时间、RNC解析URL域名、年龄这三个字段。
4 计算结果分析
经过多次训练,得到聚类分析结果,分别为:
(1)深夜(22:00—24:00),年龄<34,社交网络;
(2)中午(11:00—13:00),26<年龄<32,新闻资讯浏览。
传统方式的Gn数据解析后,服务類型分为流媒体业务、下载业务、即时通信、浏览业务和未知服务五类。结合聚类分析的结果可以初步判断,在未知服务内会有大部分人喜欢深夜使用社交网络服务,以及会有很多青年人会选择在中午的时候浏览新闻咨询。可以尝试在服务类型中将第五类未知服务新分出一类:社交网络服务,其确定的方法可以按照聚类的方式倒推,即匹配其解析后的URL。
5 结束语
本文对比传统的Gn数据解析方式,提出了一种基于数据挖掘的网络业务类型划分方法。在实际应用中,该方法在处理大规模数据和高维数据时性能有待于提高。针对这种情况,有学者提出一种在高维空间挖掘映射聚类的方法PCKA,它能从多个维度中筛选出相关的维度,并根据相关维度进行聚类。另一方面,如需要对全国范围的Gn数据业务分类,应使用更全面的数据进行模型训练。
参考文献:
[1] 陈宇. 京广高铁GPRS业务Gn接口数据监测的应用[J]. 郑铁科技, 2013(1): 23.
[2] 韩宇. 基于数据挖掘的联通运营监控模块的设计与实现[D]. 沈阳: 东北大学, 2011.
[3] 陈平,郭兰珂,方俊湘. 微信业务的识别方法研究[J]. 移动通信, 2013,37(18): 80-83.
[4] 郑桂凤. 移动互联网的用户行为分析系统的设计与实现[D]. 北京: 北京邮电大学, 2010.
[5] 闫春荣,牟宏蕾,郝亚飞. 移动通信大数据信息在决策分析平台中的应用方案研究[J]. 移动通信, 2016,40(10): 24-28.
[6] 李玲俐. 数据挖掘中分类算法综述[J]. 重庆师范大学学报: 自然科学版, 2011(4): 44-47.
[7] 刘明吉,王秀峰. 数据挖掘中的数据预处理[J]. 计算机科学, 2000,27(4): 54-57.
[8] 胡志风. 大数据在职务犯罪侦查模式转型中的应用[J]. 国家检察官学院学报, 2016(4): 144-153.
[9] 郑雅丽. 图书馆应用大数据的策略研究[J]. 科技视界, 2015(12): 163-164.
[10] Usama Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth. From data mining to knowledge discovery in databases[J]. AI magazine, 1996,17(3): 37.
[11] Liao Shu-Hsien, Pei-Hui Chu, Pei-Yuan Hsiao. Data mining techniques and applications–A decade review from 2000 to 2011[J]. Expert Systems with Applications, 2012,39(12): 11303-11311. ★