李映 范瀅
摘要:各類移動應用需采集與處理用戶在使用期間的行為與業(yè)務等數(shù)據(jù),以提供定制化的優(yōu)質服務。本文詳細分析了業(yè)界已有方案的特點與不足,基于江蘇移動掌上營業(yè)廳實際應用情況,提出了一種針對移動互聯(lián)網(wǎng)應用的數(shù)據(jù)采集與處理一體化方案,并對此方案的各個模塊進行了詳細分析與闡述。
關鍵詞:移動互聯(lián)網(wǎng);數(shù)據(jù)采集與處理;大數(shù)據(jù)
一、引言
移動互聯(lián)網(wǎng)的快速發(fā)展極大地方便了人們的生活,也給企業(yè)帶來新的挑戰(zhàn)和機遇。如何全面且準確地把握用戶在移動應用上的行為與業(yè)務特征,向用戶提供優(yōu)質的個性化服務成為各移動應用亟待解決的問題。
江蘇移動擁有掌上營業(yè)廳客戶端這樣作為國內運營商月活用戶數(shù)首個破三千萬的熱門互聯(lián)網(wǎng)應用,針對以上數(shù)據(jù)采集與處理的問題進行了深入研究并實現(xiàn)了一體化方案,在實際運營中加以應用,取得了優(yōu)異的效果。
二、業(yè)界現(xiàn)狀
在應用上用戶行為與業(yè)務的數(shù)據(jù)采集處理方面,目前業(yè)內主要有以下兩類方案:
1.傳統(tǒng)方案
對用戶在客戶端與在服務器端產(chǎn)生的Server Logs、Error Logs、Cookie Logs等類型的日志文件進行采集,然后通過Oracle、SPSS、SAS等傳統(tǒng)數(shù)據(jù)挖掘工具對采集到的數(shù)據(jù)進行分析處理等工作。
此類方案存在以下問題:
(1)僅采集客戶端和服務器端的傳統(tǒng)日志,對用戶行為軌跡和業(yè)務軌跡均記載不夠完整。
(2)數(shù)據(jù)挖掘工具不具備海量大數(shù)據(jù)的處理能力,且只能在單臺服務器上部署和工作,數(shù)據(jù)處理能力弱。
2.網(wǎng)站分析方案
以Webtrends為代表的業(yè)界網(wǎng)站和應用商業(yè)分析解決方案是目前網(wǎng)站分析采取的主流方案。
此類方案的特點有:
(1)對頁面進行埋點插碼以采集用戶的行為數(shù)據(jù)。
(2)通過離線分析報告的形式對數(shù)據(jù)分析結果進行展示。
也存在以下不足:
(1)因不涉及各應用的后臺系統(tǒng),只能采集用戶的瀏覽、點擊等行為數(shù)據(jù),對用戶業(yè)務辦理等數(shù)據(jù)無法進行采集與整合。
(2)離線分析報告一般在次日給出,無法滿足互聯(lián)網(wǎng)應用的實時精確營銷等場景。
綜上所述,傳統(tǒng)方案與網(wǎng)站分析方案均不能滿足移動互聯(lián)網(wǎng)應用對用戶行為與業(yè)務數(shù)據(jù)進行采集與分析的需求。
三、新的系統(tǒng)方案ECBData
結合業(yè)界數(shù)據(jù)采集與處理方案的各種不足,針對以江蘇移動掌上營業(yè)廳APP為代表的互聯(lián)網(wǎng)應用對用戶行為與業(yè)務數(shù)據(jù)采集、處理、應用的采集完整性、處理實時性、展現(xiàn)多樣性等要求,本文設計了完整的一體化方案ECBData,方案架構如下:
從數(shù)據(jù)的流向出發(fā),可分為數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)應用三個主要模塊:
(一)數(shù)據(jù)采集
創(chuàng)建遠程控制插碼方案,能夠對Android、IOS原生應用和H5網(wǎng)頁迅速進行埋點插碼,對用戶在互聯(lián)網(wǎng)上行為信息和業(yè)務數(shù)據(jù)進行實時采集并向服務器傳輸。
日志采集是指通過在客戶端和服務器端插入部分腳本或代碼,從而捕捉完整的用戶行為和業(yè)務過程發(fā)生的各種信息,并進行采集記錄和上傳到特定服務器,并生成相應的用戶行為日志和業(yè)務日志的過程。
針對不同的數(shù)據(jù)源采取不同的技術手段進行采集:
●Web網(wǎng)頁用戶行為:通過自研的網(wǎng)頁插碼技術,對用戶在網(wǎng)頁上操作的行為等信息進行完整采集。
●手機App用戶行為:在App中嵌入定制化SDK,把用戶在APP中的操作熱點事件都記錄在緩存中,在WiFi環(huán)境下,采集到的信息被整合為JSON格式發(fā)送至服務端。
●業(yè)務日志數(shù)據(jù):對用戶在客戶端與在服務器端產(chǎn)生的業(yè)務日志進行特定規(guī)范以進行采集。
(二)數(shù)據(jù)處理
?此部分主要進行數(shù)據(jù)預處理、數(shù)據(jù)中間存儲、數(shù)據(jù)分析等操作。
1.數(shù)據(jù)預處理:此過程是對采集到的原始數(shù)據(jù)進行清洗,去除無效的信息,篩選出有效內容,并對這些內容做基本的格式轉換和整理。此過程是通過在Flume-NG的source中編程實現(xiàn)。
2. 數(shù)據(jù)中間存儲:原始數(shù)據(jù)經(jīng)過預處理后已經(jīng)變得有序化,在進一步分析之前需根據(jù)數(shù)據(jù)的實時性要求對數(shù)據(jù)進行不同方式的存儲,采用兩個存儲方案:
(1)非實時存儲:采用HDFS文件系統(tǒng)對非實時數(shù)據(jù)進行存儲,由于HDFS本身保存多個副本的容錯機制,從節(jié)省空間的角度,服務器不做磁盤RAID。通過Flume-NG預處理過的非實時數(shù)據(jù)信息將會被直接存儲在HDFS文件系統(tǒng)中。
(2)實時存儲:采用分布式消息隊列對實時數(shù)據(jù)進行存儲,由于數(shù)據(jù)的實時性要求高、數(shù)據(jù)量大、因此采用Kafka+Zookeeper構成的消息隊列集群將數(shù)據(jù)緩存在內存中。
3.數(shù)據(jù)分析
本階段通過在大數(shù)據(jù)分析工具中自定義分析算法,建立應用場景模型,從存儲的復雜海量數(shù)據(jù)中獲取關鍵數(shù)據(jù),供前端不同應用場景使用。
(1)非實時分析:從HDFS文件系統(tǒng)中將數(shù)據(jù)進行進一步的規(guī)約,將其結構化到Hive中,然后通過SparkSQL從Hive中讀取數(shù)據(jù)進行分析,將分析結果存儲到關系型數(shù)據(jù)庫中供后續(xù)展現(xiàn)或者使用。
(2)實時分析:從Kafka中獲得數(shù)據(jù),通過Spark Streaming對數(shù)據(jù)進行流式處理,分析結果數(shù)據(jù)將采用Redis、Coherence等緩存行存儲或者直接通過數(shù)據(jù)流傳輸給前端應用。
(三)數(shù)據(jù)應用
本階段將數(shù)據(jù)的分析處理結果通過報表、分析報告、實時營銷推薦等形式在以下各種場景進行應用,全面提升運營效率。
1.非實時類場景:運營分析、安全稽核
2.實時類場景:實時安全防護、實時營銷推送、大屏數(shù)據(jù)看板
四、總結
本文通過對應用在江蘇移動掌上營業(yè)廳客戶端的營銷運營系統(tǒng)中數(shù)據(jù)采集、存儲和分析與應用等模塊的詳細分析,闡述了一種基于大數(shù)據(jù)的移動應用用戶行為和業(yè)務數(shù)據(jù)的采集處理系統(tǒng)方案。本方案在應用中取得了很好的效果。
參考文獻
[1]劉暢.大數(shù)據(jù)分析技術在采集運維業(yè)務中的應用[J]科技資訊,2017(30).
[2]邊紅軍.數(shù)據(jù)挖掘技術在信用卡業(yè)務中的分析研究[J]無線互聯(lián)科技,2015(1).
[3]劉光榕.數(shù)據(jù)倉庫及OLAP技術在電信業(yè)務分析中的應用探討[J]電腦編程技巧與維護,2011(4).
[4]季文天,郭清菊,馬杰.基于模型驅動的框架技術在數(shù)據(jù)采集平臺中的分析與應用[J]軟件,2014(35).
[5]溫向慧.大數(shù)據(jù)處理平臺Spark研究[J]數(shù)碼世界,2017(2).
[6]王珣.基于Spark平臺的大數(shù)據(jù)挖掘技術研究[J]微型電腦應用,2017(6).