基于移动互联网用户行为建模的大数据应用

2022-09-12

一、引言

随着移动互联网的高速发展, 目前拥有过亿用户的移动应用有微信、新浪微博、手机淘宝、UC浏览器、搜狗输入法、91手机助手、360手机安全卫士、高德地图、美图秀秀及墨迹天气等。手机端APP发展迅速, 数量激增, 如何更好的了解用户的行为, 进行用户建模, 更好的服务用户, 是当今互联网公司必须要做的事情。

二、系统主要目标

通过采集用户使用各个APP情况, 如用户爱好, 行为, 使用的app版本, 使用时长, 产生的流量, 点击率, 访问量等指标。从而对单个app或多个app进行对比分析, 从而刻画用户画像, 进行用户建模。为运营商洞察用户需求、实现精准用户定位和精细化运营提供了一个准确高效的平台。

三、系统架构设计

系统主要分为四个部分:

(1) 数据采集:我们通过采用多个flume节点进行数据采集, 提高采集的效率。再把多个flume节点采集的数据汇集到一个节点, 该节点收集各个采集节点的数据合并后把数据放到kafka消息队列等待被分析程序消费。如果第二层的agent停止运行, 那么事件将被保存到第一层agent的channel中, 等到第二层agent的重新启动。但是channel的存储是由限制的, 如果第一层agent的channel已经填满数据时, 第二层agent还没启动恢复运行, 那么任何新采集的事件都会丢失。默认情况下, file channel能够恢复的事件数量不超过100万条 (可以通过capacity属性来设置, 实际要设置的大一些) , 此外, 当检查点checkpointdir的可用磁盘空间小于500M时 (minimum Required Space属性设置) , 也将停止接收事件, 造成新事件的丢失。

(2) 数据接入:由于采集数据的速度和数据处理的速度不一定同步, 因此添加一个消息中间件作为缓冲, 选用的为apache kafka。

(3) 流式计算:我们通过spark streaming流处理方式来处理从服务端搜集的用户日志, spark streaming拥有强大的计算能力、高容错性和实时性, 为数据分析提供基础支持。同时, hadoop yarn资源管理器能够合理地为spark程序提供计算机系统资源。

(4) 数据输出:对分析的结果进行持久化, 选用的是Hbase。Java Web服务器作为hbase client从hbase读取数据并提供数据接口。通过Angular框架构造的单页面应用, 能让用户的体验像使用普通手机App一样顺滑, 通过局部加载, 模块化, 快速响应用户请求。同时, 响应式页面的设计, 能够让移动用户浏览我们的页面像使用手机原生app一样。

四、难点解决

(一) 如何做到大量用户下低延时

我们通过对数据分析算法进行优化和对数据库的读写优化, 大幅度提高了分析程序的实时性和高效性。针对算法优化, 我们通过分析数据依赖关系链, 从中找到重复依赖并从分析程序中剔除, 避免大数据分析任务中造成的大量重复运算, 提高了计算效率、节省了计算力。再来, 我们通过对同一个数据分析过程了设计多种分析算法, 通过对照组多次实验, 从众多分析算法中得到理想的最优解。最后, 我们通过对各种数据类别、各种数据规模, 从水平到垂直地对整个分析流程进行对等测试, 从中找出分析流程中的“毒瘤点”, 即整个分析任务中的性能瓶颈。通过戳破各个毒瘤点, 来提高整个系统的分析效率。

(二) 如何对用户的请求做到毫秒级请求响应

对用户的响应时间做到毫秒级, 实际上为restful接口的响应时间为毫秒级。而restful接口的速度主要决定于数据库的查询速度和数据的查询量。而hbase为面向列的No Sql数据库, 在某些指标查询方面, 可能要扫描大量数据表, 才能得到用户需要的数据结果, 而大量数据表的扫描是要花费很长时间的。面对这个问题, 我们选择了预处理和缓存, 利用服务端预先从数据查询和计算好用户可能需要的结果。而用户对重复数据的查询, 则直接缓存在缓存库里, 用户下次调用接口直接返回结果。某些数据, 如通过row Key可以直接获取的数据, 则可以选择调用hbase client, 直接从hbase里面查询数据返回给用户, 实现restful接口对请求的毫秒级响应。

(三) 如何保证分析系统的稳定性

我们通过搭建一整套高可用的系统框架, 来保障系统能够持续稳定地作业, 即使出了一些故障, 系统也能够自动进行故障回复。像kafka、hbase和hadoop, 就可用通过zookeeper来协调各个节点, 以保在系统出现问题时, 能够自动选举新的节点替代出故障的工作节点去继续完成作业。

五、实验结论

通过大数据技术的应用以及对难点的解决方案, 做到了低延时、高可用、高并发。最终pv、uv以及响应时间的效率也得到了提高, 对用户的请求也做到了毫秒级响应, 实验结果如下:

摘要:在移动互联网发展迅速的时代, 越来越丰富的移动互联网内容和服务让用户眼花缭乱。基于用户行为建模的精准化运营是一个极佳的方式和途径。如何运用大数据处理技术对移动互联网用户行为进行全方位的探究并建模, 深入洞察用户需求是运营商在移动互联网时代提高自身服务价值的关键问题。本文从大数据应用的角度, 介绍了基于移动互联网用户行为的主要目标、系统的架构设计, 以及在实际实现中遇到的难题以及解决方案的关键技术点。

关键词:大数据,用户行为建模,互联网

参考文献

[1] 李云鹏.基于Kafka的分布式监控视频流数据采集系统的设计与实现[D].北京:北京邮电大学, 2017.

[2] 薛志云, 何军, 张丹阳, 曹维焯.Hadoop和Spark在实验室中部署与性能评估[J].实验室研究与探索, 2015, 34 (11) :77-81.

上一篇:循证护理在儿童糖尿病护理中的应用下一篇:中国刑法中洗钱犯罪概念之透析