一种基于Hadoop的移动互联网用户行为分析方法与流程

文档序号:11681129阅读:262来源:国知局
本发明属于通信
技术领域
:,尤其涉及一种基于hadoop的移动互联网用户行为分析方法。
背景技术
::随着4g网络的商用和广泛部署,为了给用户提供全面、优质的个性化服务,运营商有必要对用户的业务和流量进行全面系统的研究和分析,因此建立一套高效综合的移动互联网用户行为分析系统不仅是运营商拓展业务需要解决的问题,对内容提供商和用户来说都非常有益。移动互联网用户行为分析系统采用模块化的设计思想,将协议栈解码、dpi(deeppacketinspection,深度包检测)业务识别封装成dll(dynamiclinklibrary,动态链接库),从而实现各个模块之间的松耦合。在移动互联网用户行为分析过程中,随着时间周期逐渐增大,移动互联网用户产生和应用的数据量日益增大,海量用户数据的出现和数据结构的多样化,传统的基于关系型数据库的处理方法已无法满足现有业务数据存储和处理需求,hadoop分布式技术的发展为移动互联网用户行为分析提供了解决方案。hadoop是apache组织管理的一个开源项目,目前得到了大量的应用,hadoop已经成长为包括hadoopcommon,hdfs,mapreduce,zookeeper,avro,chukwa,hbase,hive,mahout,pig在内的10个子项目,hadoop的核心是由hadoopcommon、hdfs(hadoopdistributedfilesystem)以及mapreduce三个子系统组成。hdfs有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。hdfs放宽了(relax)posix的要求,可以以流的形式访问(streamingaccess)文件系统中的数据。hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为mapreduce任务进行运行。spark是ucberkeleyamplab(加州大学伯克利分校的amp实验室)所开源的类hadoopmapreduce的通用并行框架,spark拥有hadoopmapreduce所具有的优点;但不同于mapreduce的是job中间输出结果可以保存在内存中,从而不再需要读写hdfs,因此spark能更好地适用于数据挖掘与机器学习等需要迭代的mapreduce的算法。mahout是apachesoftwarefoundation(asf)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用apachehadoop库,mahout可以有效地扩展到云中。目前还没有一种用于大数据环境下移动互联网用户行为分析方法,特别是能够适应运营商大数据发展的流量经营方法,从而导致电信运营商的流量经营方案单一、数据处理效率低下。技术实现要素:有鉴于此,本发明的目的在于提供一种基于hadoop的移动互联网用户行为分析方法,能够解决当前电信运营商的流量经营方案单一、数据处理效率低下的问题。为达到上述目的,本发明提供如下技术方案:一种基于hadoop的移动互联网用户行为分析方法,所述方法包括:2g/3g/lte网络数据采集:通过采集卡从2g/3g/lte网络接口采集移动互联网用户在网络中从事活动的原始信令数据与业务数据,并将所述原始信令数据与所述业务数据导入到分布式文件系统hdfs,以通过hdfs提供数据访问业务;协议栈解析:将所述原始信令数据与所述业务数据翻译为具有逻辑意义的数据结构的业务流,为深度包检测dpi业务识别提供上下文;实时dpi业务识别:对所述业务流中的指定报文数据进行信息检测,以识别所述业务流所承载的应用类型;网络爬虫:通过爬虫程序定向抓取互联网中的信息,所述信息包括视频业务的名称、类型,并将抓取的信息保存到dpi特征库中;二次dpi业务识别:基于爬虫所建立的dpi特征库,通过正则表达式从url中获取关键值,并与所述dpi特征库进行匹配,以获取移动互联网用户的详细信息,并将所述用户的详细信息导入到hive;数据挖掘:在hive中进行数据分析及预处理,并通过mahout/spark组件对所述用户的详细信息进行聚类分析、分类预测、推荐以及关联分析,并导出结果数据,以实现电信运营商的客户关系管理及市场推广应用。进一步地,所述2g/3g/lte网络接口包括a接口、mc接口、s1接口、s6a接口中的至少一个;导入至hdfs的原始信令数据与业务数据按照年、月、天进行数据分区。进一步地,将所述原始信令数据与所述业务数据翻译为具有逻辑意义的数据结构的业务流包括:从接口协议栈中从底到顶逐层解析,提取本层协议关键字段信息后,根据上层协议标识调用对应的协议解码器,递交协议数据单元pdu至上层协议解码接口,并以此递归,直至没有上层协议为止。进一步地,对所述业务流中的指定报文数据进行信息检测包括:通过特征要素识别业务流中业务的主类型与子类型;其中,所述特征要素包括host特征、refer特征、url特征、ip地址以及端口中的至少一个,并建立特征要素识别表。进一步地,通过爬虫程序定向抓取互联网中的信息包括:爬虫程序从配置文件读取一个起始的url,下载页面内容并对页面进行解析,以获取有用的url信息,并将解析出的信息保存到dpi特征库中。进一步地,所述dpi特征库可根据配置情况每天进行更新。进一步地,所述数据挖掘的步骤包括数据清洗、数据分析、建模分析、结果验证中的至少一个流程;根据不同的用户行为及市场需求,制定不同的数据挖掘方案。本发明的有益效果在于:(1)本发明基于hadoop云平台,将海量移动互联网用户行为的原始数据存储在hdfs上,为原始信令数据和业务数据提供具备高容错、高吞吐、低成本的存储空间,支持以流的形式访问文件系统中的数据;将二次dpi识别后的用户信息保存到hive中,通过类sql语句快速实现简单的mapreduce统计;运用mahout/spark等数据挖掘组件,实现移动互联网用户行为快速、全方位的挖掘与分析。(2)本发明融合dpi技术、网络爬虫技术、数据分析与挖掘技术、大数据存储与处理技术,为大数据环境下电信运营商流量经营提供了一套完善的解决方案。(3)本发明所述的基于hadoop的移动互联网用户行为分析方法,相对于传统用户行为分析系统而言,通过一次dpi、二次dpi有效提升了用户行为提取的准确性,同时通过数据挖掘相关技术,使市场推广及运用更具科学依据。附图说明为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:图1为本发明的一种基于hadoop的移动互联网用户行为分析方法的流程图;图2为本发明中的dpi业务识别流程图;图3为本发明中的特征要素识别表;图4为本发明中网络爬虫流程图;图5为本发明中的dpi特征库;图6为本发明中二次dpi业务识别的流程;图7为本发明中二次dpi业务识别结果;图8为本发明中聚类法分析的结果。具体实施方式下面将结合附图,对本发明的优选实施例进行详细的描述。如图1所示,本发明提供了一种基于hadoop的移动互联网用户行为分析方法,所述方法包括以下步骤:s1:2g/3g/lte网络数据采集:通过采集卡从2g/3g/lte网络接口采集移动互联网用户在网络中从事活动的原始信令数据与业务数据,并将所述原始信令数据与所述业务数据导入到分布式文件系统hdfs,以通过hdfs提供数据访问业务;s2:协议栈解析:将所述原始信令数据与所述业务数据翻译为具有逻辑意义的数据结构的业务流,为深度包检测dpi业务识别提供上下文;s3:实时dpi业务识别:对所述业务流中的指定报文数据进行信息检测,以识别所述业务流所承载的应用类型;s4:网络爬虫:通过爬虫程序定向抓取互联网中的信息,所述信息包括视频业务的名称、类型,并将抓取的信息保存到dpi特征库中;s5:二次dpi业务识别:基于爬虫所建立的dpi特征库,通过正则表达式从url中获取关键值,并与所述dpi特征库进行匹配,以获取移动互联网用户的详细信息,并将所述用户的详细信息导入到hive;s6:数据挖掘:在hive中进行数据分析及预处理,并通过mahout/spark组件对所述用户的详细信息进行聚类分析、分类预测、推荐以及关联分析,并导出结果数据,以实现电信运营商的客户关系管理及市场推广应用。在本实施方式中,所述2g/3g/lte网络接口包括a接口、mc接口、s1接口、s6a接口中的至少一个;导入至hdfs的原始信令数据与业务数据按照年、月、天进行数据分区。在本实施方式中,将所述原始信令数据与所述业务数据翻译为具有逻辑意义的数据结构的业务流包括:从接口协议栈中从底到顶逐层解析,提取本层协议关键字段信息后,根据上层协议标识调用对应的协议解码器,递交协议数据单元pdu至上层协议解码接口,并以此递归,直至没有上层协议为止。在本实施方式中,对所述业务流中的指定报文数据进行信息检测包括:通过特征要素识别业务流中业务的主类型与子类型;其中,所述特征要素包括host特征、refer特征、url特征、ip地址以及端口中的至少一个,并建立特征要素识别表。在本实施方式中,通过爬虫程序定向抓取互联网中的信息包括:爬虫程序从配置文件读取一个起始的url,下载页面内容并对页面进行解析,以获取有用的url信息,并将解析出的信息保存到dpi特征库中。在本实施方式中,所述dpi特征库可根据配置情况每天进行更新。在本实施方式中,所述数据挖掘的步骤包括数据清洗、数据分析、建模分析、结果验证中的至少一个流程;根据不同的用户行为及市场需求,制定不同的数据挖掘方案。具体地,以腾讯视频用户偏好聚类分析为例,该方法包括如下步骤:步骤1:通过采集卡从2g/3g/lte网络接口采集移动互联网用户在网络中进行所有活动的原始信令数据与业务数据,并将原始数据导入到分布式文件系统hdfs,由hdfs提供高吞吐量的数据访问能力,并按照年、月、天的进行数据分区。步骤2:协议栈解析,将网络中采集的原始数据翻译为具有逻辑意义的数据结构,为dpi业务识别提供上下文。步骤3:实时dpi业务识别,采用基于“特征要素”的识别技术,对业务流中特定报文数据进行信息检测从而识别业务流所承载的应用类型。特征要素主要分为host、url、refer、ip地址以及端口。实时dpi业务识别流程如图2所示,首先可以对数据进行预处理,然后可以提取预处理后的数据中的特征字段信息。该特征字段信息中可以包括host字段信息。然后可以对host字段信息进行分析,并判断是否在host字段信息中查找到内容。如果查到了,可以进一步判断是否得到业务类型。如果没有查找到内容或者并没有得到业务类型,可以进一步分析url字段信息。同样地,可以针对url字段信息进行上述的查找内容和分析业务类型的步骤,以此类推,对后续的字段信息也用同样的方式进行处理,直至分析完特征字段信息中的每个信息。以音乐、视频、微博、及时通信、邮箱五大类为例,所具备的特征要素识别表如图3所示。步骤4:网络爬虫,通过爬虫程序定向抓取互联网中的信息,如视频业务的名称、类型等详细信息,并将获取的信息保存到dpi特征库中。网络爬虫的流程可以参阅图4。具体地,爬虫程序可以读取特征库中已经存在的信息,并将已经存在的信息存储到哈希表(hashtable)中。然后可以读取配置文件,以获取url。在获取了url之后,可以将获取的url加入到urllist队列中,从而可以逐条对url进行分析。具体地,可以从中取一条url,然后下载该url的页面,并解析页面信息。如果在哈希表中不存在解析出的页面信息,则可以将该页面信息加入至哈希表中,并将该页面信息插入dpi特征库中。接着可以对下一条url进行同样的分析。网络爬虫流程以腾讯视频为例,其特征库如图5所示。步骤5:二次dpi业务识别,基于爬虫所建立的dpi特征库,通过正则表达式从url中获取关键值(key),并与dpi特征库进行匹配,并将用户信息导入到hive,进行相关统计分析。二次dpi业务识别的流程如图6所示。具体地,首先可以加载匹配规则并建立域名字典。然后可以加载第一次dpi业务识别后得到的dpi特征库,并基于该dpi特征库建立dpi集合字典。接着,可以读取csv文件,并基于所述csv文件获取host信息,并进行域名匹配。匹配成功之后可以继续匹配关键值,关键值匹配成功之后,可以进行dpi集合字典匹配,如果匹配成功,则可以将信息插入dpi特征库中,以更新所述dpi特征库。腾讯视频用户二次dpi业务识别结果如图7所示。步骤6:数据挖掘,在hive中对数据进行相关预处理,通过mahout/spark组件中进行用户偏好聚类分析,id为用户imsi号,聚类分析维度包括本月浏览时常和本月浏览次数,得到的用户聚类分析结果如图8所示。本发明的有益效果在于:(1)本发明基于hadoop云平台,将海量移动互联网用户行为的原始数据存储在hdfs上,为原始信令数据和业务数据提供具备高容错、高吞吐、低成本的存储空间,支持以流的形式访问文件系统中的数据;将二次dpi识别后的用户信息保存到hive中,通过类sql语句快速实现简单的mapreduce统计;运用mahout/spark等数据挖掘组件,实现移动互联网用户行为快速、全方位的挖掘与分析。(2)本发明融合dpi技术、网络爬虫技术、数据分析与挖掘技术、大数据存储与处理技术,为大数据环境下电信运营商流量经营提供了一套完善的解决方案。(3)本发明所述的基于hadoop的移动互联网用户行为分析方法,相对于传统用户行为分析系统而言,通过一次dpi、二次dpi有效提升了用户行为提取的准确性,同时通过数据挖掘相关技术,使市场推广及运用更具科学依据。最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1