西安必信达软件技术有限公司
互联网应用的数据采集处理一体化方案
「各类移动应用需采集与处理用户在使用期间的行为与业务等数据,以提供定制化的优质服务。本文详细分析了业界已有方案的特点与不足,基于江苏移动掌上营业厅实际应用情况,提出了一种针对移动互联网应用的数据采集与处理一体化方案,并对此方案的各个模块进行了详细分析与阐述。(2020-9-20)」
关键词:移动互联网;数据采集与处理;大数据
  一、引言
  移动互联网的快速发展极大地方便了人们的生活,也给企业带来新的挑战和机遇。如何全面且准确地把握用户在移动应用上的行为与业务特征,向用户提供优质的个性化服务成为各移动应用亟待解决的问题。
  江苏移动拥有掌上营业厅客户端这样作为国内运营商月活用户数首个破三千万的热门互联网应用,针对以上数据采集与处理的问题进行了深入研究并实现了一体化方案,在实际运营中加以应用,取得了优异的效果。
  二、业界现状
  在应用上用户行为与业务的数据采集处理方面,目前业内主要有以下两类方案:
  1.传统方案
  对用户在客户端与在服务器端产生的Server Logs、Error Logs、Cookie Logs等类型的日志文件进行采集,然后通过Oracle、SPSS、SAS等传统数据挖掘工具对采集到的数据进行分析处理等工作。
  此类方案存在以下问题:
  (1)仅采集客户端和服务器端的传统日志,对用户行为轨迹和业务轨迹均记载不够完整。
  (2)数据挖掘工具不具备海量大数据的处理能力,且只能在单台服务器上部署和工作,数据处理能力弱。
  2.网站分析方案
  以Webtrends为代表的业界网站和应用商业分析解决方案是目前网站分析采取的主流方案。
  此类方案的特点有:
  (1)对页面进行埋点插码以采集用户的行为数据。
  (2)通过离线分析报告的形式对数据分析结果进行展示。
  也存在以下不足:
  (1)因不涉及各应用的后台系统,只能采集用户的浏览、点击等行为数据,对用户业务办理等数据无法进行采集与整合。
  (2)离线分析报告一般在次日给出,无法满足互联网应用的实时精确营销等场景。
  综上所述,传统方案与网站分析方案均不能满足移动互联网应用对用户行为与业务数据进行采集与分析的需求。
  三、新的系统方案ECBData
  结合业界数据采集与处理方案的各种不足,针对以江苏移动掌上营业厅APP为代表的互联网应用对用户行为与业务数据采集、处理、应用的采集完整性、处理实时性、展现多样性等要求,本文设计了完整的一体化方案ECBData,方案架构如下:
  从数据的流向出发,可分为数据采集、数据处理和数据应用三个主要模块:
  (一)数据采集
  创建远程控制插码方案,能够对Android、IOS原生应用和H5网页迅速进行埋点插码,对用户在互联网上行为信息和业务数据进行实时采集并向服务器传输。
  日志采集是指通过在客户端和服务器端插入部分脚本或代码,从而捕捉完整的用户行为和业务过程发生的各种信息,并进行采集记录和上传到特定服务器,并生成相应的用户行为日志和业务日志的过程。
  针对不同的数据源采取不同的技术手段进行采集:
  ●Web网页用户行为:通过自研的网页插码技术,对用户在网页上操作的行为等信息进行完整采集。
  ●手机App用户行为:在App中嵌入定制化SDK,把用户在APP中的操作热点事件都记录在缓存中,在WiFi环境下,采集到的信息被整合为JSON格式发送至服务端。
  ●业务日志数据:对用户在客户端与在服务器端产生的业务日志进行特定规范以进行采集。
  (二)数据处理
  ?此部分主要进行数据预处理、数据中间存储、数据分析等操作。
  1.数据预处理:此过程是对采集到的原始数据进行清洗,去除无效的信息,筛选出有效内容,并对这些内容做基本的格式转换和整理。此过程是通过在Flume-NG的source中编程实现。
  2. 数据中间存储:原始数据经过预处理后已经变得有序化,在进一步分析之前需根据数据的实时性要求对数据进行不同方式的存储,采用两个存储方案:
  (1)非实时存储:采用HDFS文件系统对非实时数据进行存储,由于HDFS本身保存多个副本的容错机制,从节省空间的角度,服务器不做磁盘RAID。通过Flume-NG预处理过的非实时数据信息将会被直接存储在HDFS文件系统中。
  (2)实时存储:采用分布式消息队列对实时数据进行存储,由于数据的实时性要求高、数据量大、因此采用Kafka+Zookeeper构成的消息队列集群将数据缓存在内存中。
  3.数据分析
  本阶段通过在大数据分析工具中自定义分析算法,建立应用场景模型,从存储的复杂海量数据中获取关键数据,供前端不同应用场景使用。
  (1)非實时分析:从HDFS文件系统中将数据进行进一步的规约,将其结构化到Hive中,然后通过SparkSQL从Hive中读取数据进行分析,将分析结果存储到关系型数据库中供后续展现或者使用。
  (2)实时分析:从Kafka中获得数据,通过Spark Streaming对数据进行流式处理,分析结果数据将采用Redis、Coherence等缓存行存储或者直接通过数据流传输给前端应用。
  (三)数据应用
  本阶段将数据的分析处理结果通过报表、分析报告、实时营销推荐等形式在以下各种场景进行应用,全面提升运营效率。
  1.非实时类场景:运营分析、安全稽核
  2.实时类场景:实时安全防护、实时营销推送、大屏数据看板
  四、总结
  本文通过对应用在江苏移动掌上营业厅客户端的营销运营系统中数据采集、存储和分析与应用等模块的详细分析,阐述了一种基于大数据的移动应用用户行为和业务数据的采集处理系统方案。本方案在应用中取得了很好的效果。
  参考文献
  [1]刘畅.大数据分析技术在采集运维业务中的应用[J]科技资讯,2017(30).
  [2]边红军.数据挖掘技术在信用卡业务中的分析研究[J]无线互联科技,2015(1).
  [3]刘光榕.数据仓库及OLAP技术在电信业务分析中的应用探讨[J]电脑编程技巧与维护,2011(4).
  [4]季文天,郭清菊,马杰.基于模型驱动的框架技术在数据采集平台中的分析与应用[J]软件,2014(35).
  [5]温向慧.大数据处理平台Spark研究[J]数码世界,2017(2).
  [6]王珣.基于Spark平台的大数据挖掘技术研究[J]微型电脑应用,2017(6).
(仇艺)
点击进入「必信达创业合作论坛」
Copyright © 1999-2020 西安必信达软件技术有限公司