宋曼


摘 要:本文基于電信大數據設計了一個移動互聯網用戶行為分析系統。該系統具備數據處理、數據統計分析、數據可視化和數據管理等多個功能,為用戶提供一站式移動互聯網用戶行為分析服務。系統提供用戶流量分群分析和用戶行為特征分析兩個場景,對用戶上網時段分布、流量特征、服務和應用偏好進行分析研究,滿足移動互聯網用戶行為數據挖掘的需要。
關鍵詞:移動互聯網;用戶行為分析;電信大數據
1. 引言
移動互聯網用戶上網過程中每分每秒都產生著大量的數據,電信運營商為用戶提供管道服務的同時也收集了移動用戶位置、上網情況、話務記錄等海量數據。通過大數據技術從海量數據中分析移動互聯網用戶上網的共性和個性特征,發現用戶流量特征、內容偏好、上網時段分布等行為習慣規律,無論是對于電信運營商有效進行網絡資源配置調優,還是對于各行各業商家實現精細化運營、提高用戶體驗,都具有十分重要的意義和價值。
2. 用戶行為分析系統需求分析
2.1 系統的總體需求
系統總體需求分以下五個步驟,數據通過處理后可以得到有價值的分析結果。具體流程如圖1所示。
2.2 系統功能需求
系統的功能需求包括用戶分群分析、用戶行為特征分析、數據挖掘計算和數據源管理四大功能模塊,系統功能結構如圖2所示。
3. 用戶行為分析系統的設計與實現
3.1 系統總體設計
系統總體采用SSH框架進行設計。底層采用HDFS+Spark組成的分布式集群,通過SSH框架處理用戶交互邏輯并對結果進行可視化展示。系統采用視圖層、控制層、服務層和數據層的分層設計模式。
1. 視圖層
視圖層通過前端界面接受用戶請求操作,將請求發往控制層。視圖層通過調用Echarts插件將結果等以柱狀圖、折線圖、餅圖等進行可視化展示。
2. 控制層
控制層負責接受來自視圖層的數據清洗、數據上傳等請求。控制層包括用戶特征分析控制模塊、用戶分群分析控制模塊、數據管理控制模塊、數據挖掘計算控制模塊。
3. 服務層
服務層負責響應控制層的請求,對請求進行處理,根據請求對相應的數據模型進行操作。服務層通過遠程調用Hadoop和Spark分布式集群的計算能力,使處理異步化。
4. 數據層
數據層負責特征數據、業務數據和數據源的存儲。特征數據和業務數據存儲在MySQL數據庫中,數據源存儲在HDFS中。業務數據庫負責存儲數據任務、腳本等系統控制信息。
3.2 數據庫設計
1. 特征數據庫設計
特征數據庫負責數據源的分布式模型、分布特征和計算結果等特征數據的存儲。主要對數據多維度多級別特征進行存儲,提高查詢效率。
2. 業務數據庫設計
業務數據庫負責用戶信息、任務狀態信息、日志信息、腳本信息等和系統控制相關數據的存儲,包含數據挖掘算法信息表、數據源信息表、挖掘任務表、參數表和數據知識流信息表。
3.3 系統核心模塊的實現
系統的核心模塊的實現主要是任務調度管理過程的實現。系統設計了任務狀態管理模塊和任務腳本管理模塊進行任務調度管理。類的設計如下:
(1)ScriptInfo:分為SparkScript和HadoopScript兩個子類。是所有分布式計算任務腳本的父類。存儲各項任務的方法以及相關的信息。
(2)SparkScript:存儲的具體信息包括集群master節點IP地址、腳本路徑、腳本類型、執行腳本的命令行等信息,是Spark腳本類,ScriptInfo類的子類。
(3)HadoopScript:該類負責實現數據在HDFS上的上傳、下載、刪除,以及獲取數據信息,是Hadoop腳本類,ScriptInfo類的子類。
(4)ScriptManage:提供對腳本信息進行增刪改查等管理,出現新的腳本時,將新的腳本信息注冊到業務數據庫中,并修改SparkScript腳本信息,是腳本管理類。
(5)JobInfo:任務類,動態存儲腳本的相關信息。當發起以該腳本為基礎的任務請求時,產生任務的概念,任務類繼承ScriptInfo中的腳本信息,包括任務的提交用戶、提交時間和完成時間、任務狀態、日志和任務結果。是ScriptInfo的子類。
(6)JobManage:任務管理類主要負責任務管理,主要是將執行的任務線程放置在Job隊列中進行管理,使任務在對應的平臺上執行。
(7)Runner:任務執行類的父類,實現Runnable方法,由該類負責創建線程執行對應任務,提供init(args)和run()兩個虛函數,實現任務執行的方法初始化和執行。
(8)FunctionRunner:Runner類的子類,是HadoopScript對應的任務執行類,執行target指向的函數,并將執行結果返回。
(9)RomoteRunner:Runner類的子類,是SparkScript對應的任務執行類,根據SparkScript中的腳本信息,通過遠程Shell命令執行對應腳本,并獲取標準輸出。
(10)ResultHandler:根據SparkScript中的Schema信息對標準輸出進行解析,將執行狀態返回,并將結果存儲到特征數據庫中。被RomoteRunner調用,對遠程Shell命令的標準輸出進行處理。
4. 總結
本文主要描述了移動互聯網用戶行為分析系統的設計與實現。首先從系統總體架構和系統動態流程兩個方面對本系統總體設計進行分解,描述了系統的分層結構以及功能實現的處理流程;然后,詳細對系統數據庫設計進行了介紹,詳細描述了特征數據庫和業務數據庫表的邏輯結構;最后,詳細描述了系統核心模塊的主要類的功能。