趙偉航,姚全珠,顧煒倫
(西京學院 信息工程學院,陜西西安,710000)
在這個信息量呈指數暴增的新時代,人們對事物的看法與觀點也隨之由傳統觀念向著新時代特點發生著巨大的改變,各個行業也由傳統方式向大數據化、互聯網化、信息化方式發生轉變。比如微信支付、掃臉支付、無人餐廳等等。計算機互聯網技術的日新月異,尤其是移動互聯網的到來,彌補了傳統電腦的不足,給人們的交流帶來了極大的方便。智能手機強勁的性能使得如今各種手機應用軟件正實現著對傳統服務業和原有消費行為的顛覆,隨之也產生了大量的數據。隨著大數據時代的帶來,使用互聯網的人數呈直線上升式增長,互聯網用戶使用者貫穿老少婦孺,隨之電信運營商的業務規模不斷擴大,面對如此龐大的電信用戶數據集,準確分析與挖掘這些數據背后的價值成為了電信運行商的當務之急。本題目擬基于電信大數據,使用Spark技術對用戶數據進行分析與挖掘,進行用戶的劃分和分類,為電信運營商洞察用戶需求、實現精準用戶定位和精細化運營提供一個準確高效的平臺。
本設計基于Spark數據分析技術,通過對收集的電信用戶數據進行分析與挖掘,實現電信用戶的類別劃分,為更好的服務用戶,實現精準用戶定位和精細化運營提供一個準確高效的平臺。用統計分析出來的數據輔助產品經理、數據分析師以及管理人員分析現有產品的情況,并根據用戶行為分析結果持續改進產品的設計、以及調整公司的戰略和任務,最終利用大數據技術來幫助提升公司的業績、營業額以及市場占有率的目標。
在這個信息爆炸的時代,通信行業中占據主導地位的依舊是電信運行商,它不僅有充足的數據集,而且還具有朝著新時代大數據發展的趨勢。具有關2013年的一份發布報告顯示,開始邁入大數據研究的運行商已經有超過48%之多。法國基于對用戶行為分析的方法,從而提高對用戶服務質量與體檢的初衷,推出了Orange BusIness Services;美國為了給運營商提供高效的營銷方案,結合了用戶通信網絡中所涉及的用戶地址、習慣等信息以及商業相關數據指定有針對性的營銷方案;西班牙電信Telefonica為了更好地給全球范圍的用戶提供針對龐大數據的解決方案,專門設立了大數據的相關部門;德國的運營商得出的人們出行規律是通過信令數據的位置信息挖掘到的,并為數據支撐開發了LBS應用。
在今天,各種各樣的數據挖掘工具已經被開發出來,可被研究者直接使用,用于更深層的研究與開發,也為他們節約了大量的時間。如Power-BI淘寶指數、Google Analytice、百度統計、IBM Cognos等平臺都是當前商業化方面上比較火熱的、有關數據分析的開放平臺,其中很多是采用對電商進行數據分析和統計,用來幫助商家更好地了解用戶的行為情況。R是一種支持圖形可視化、數據統計等分析技術的計算機語言和分析數據工具。目前著名的開源數據挖掘軟件Weka不僅可以使用編程對組件進行調用,也提供了操作界面。隨著科技的不斷進步,開發者們也研究出了一些關于用戶行為分析的成果。劉路研發了基于云計算的用戶行為分析系統,既實現了系統管理與設計也對系統的功能模塊進行了概述。喬媛媛為解決大量數據的存儲與分析難題,提出了基于Hadoop的流量分析系統Flas。馮銘等人提出了一種基于云計算的可重構的用戶行為分析解決方案,為運營商更好地按分類對用戶進行精準的服務,滿足用戶的需求提供了便利,從而到達對用戶更優質的服務。
(1)了解系統開發所需要的軟件
VMWare16、Ubuntu、JDK1.8、MySQL數 據 庫、Spark、IDEA集成開發環境。
(2)數據探索
根據設計需求把數據類型進行分類,進行處理。
(3)通過編寫Spark SQL應用程序對電信數據進行分析
通過Java語言編寫Spark SQL應用程序,對電信數據進行分析,分析的主要內容有用戶區域分析、渠道分析、請求類型分析等。最后將分析結果寫入MySQL數據庫。
(4)數據分析結果的可視化
后臺通過SpringBoot構建,前臺界面使用ECharts框架進行展示,所要實現的具體功能包括:
①登錄界面判斷用戶是否存在、登錄是否成功;
②用戶區域展示功能;
③用戶渠道展示功能;
④用戶請求類型展示功能。
2.2.1 系統流程設計
系統設計的思路如下:首先下載電信用戶行為數據集,將數據保存到本地;其次使用Java語言編寫Spark SQL程序分析用戶行為數據集,將分析得到的結果寫入MySQL數據庫;最后使用Spring框架搭建后臺系統通過ECharts將結果可視化在頁面上。
系統整體流程設計如圖1所示。

圖1 系統整體流程設計圖
2.2.2 功能模塊設計
本設計所實現的基于Spark用戶行為分析系統主要包括注冊登錄、用戶區域分析展示、用戶渠道分析展示、用戶請求類型分析展示和注銷登錄等功能。總的來說,系統功能模塊圖如圖2所示。

圖2 系統功能模塊圖
2.2.3 前端系統流程設計
(1)系統登錄
系統會根據用戶輸入的賬號、密碼進行格式檢查、驗證用戶是否存在以及對應密碼的正確性。若檢查無誤后,用戶便成功登入系統。系統登錄流程圖如圖3所示。

圖3 系統登錄流程圖
(2)用戶渠道分析
系統會對數據集進行分析,將其按用戶訪問渠道進行分類,最后進行展示。其流程圖如圖4所示。

圖4 用戶渠道分析流程圖
部署本地模式Spark
(1)新建Spark安裝目錄。使用的命令如下所示。
sudo mkdir /usr/lib/spark
(2)解壓縮文件。使用的命令如下所示。
sudo tar -zxvf spark-3.1.1-bin-hadoop2.7.tgz -C /usr/lib/spark
(3)修改環境變量文件/etc/profile,在該文件最后增加以下幾行。
export SPARK_HOME=/usr/lib/spark/ spark-3.1.1-bin-hadoop2.7.tgz
export PATH=${SPARK_HOME}/bin:$PATH
若本地模式Spark部署成功,使用命令“spark-shell”就可以進入歡迎界面,如圖配置成功,如圖5所示。

圖5 驗證本地模式Spark
(1)數據集中的部分數據,如圖6所示。

圖6 data.csv
(2)根據對數據集的數據探索,應對應MySQL中以下數據表:用戶表(id,name,pwd)、用戶渠道表(name,value)、用戶區域表(name,value)、用戶請求類型表(name,value)。這個四個表的邏輯結構如下文所述。
用戶表的邏輯結構如表1所示。

表1 用戶表
用戶區域表的邏輯結構如表2所示。

表2 用戶區域表
用戶渠道表的邏輯結構如表3所示。

表3 用戶渠道表
用戶請求類型表的邏輯結構如表4所示。

表4 用戶請求類型表
請求類型包括:GET、POST;用戶渠道包括:h5、android、ios、html、pad、other;用戶區域包括:北京、上海、深圳、西安、南京、天津、成都、重慶。
數據分析通過編寫SparkSQL應用程序完成,主要包括以下步驟:第一,讀取源數據,把源數據讀入到Spark容器中。第二,是對數據進行處理,把數據集加載到Spark SQL語句中,在Spark集群上執行,最后把處理好的數據存入到MySQL中。
主要步驟如下:
(1)導入Spark包;
(2)把本地數據讀取到Spark SQL中;
(3)編寫Spark SQL程序分析數據并寫入MySQL。
MySQL數據庫中的part3數據表如圖7所示。

圖7 MySQL表part3(用戶所在區域)
3.4.1 登錄頁面的實現
在用戶擁有賬號之后,進入登錄界面進行登錄系統操作。登錄界面可以實現如下功能:
(1)用戶在登錄界面,輸入賬號密碼信息,點擊登錄按鈕,觸發相關事件。前端頁面將接收到的信息傳遞給后臺進行處理。
(2)Login類接收到前端頁面傳遞來的信息,在數據庫中根據用戶輸入的用戶名和密碼與數據庫中的用戶表進行信息匹配。
(3)判斷用戶名和密碼是否正確,如果不正確則重新登錄。
(4)登錄成功后跳轉至分析主界面。
3.4.2 用戶區域類型可視化的實現
用戶登錄成功后,系統將展示功能列表,在右側的功能列表,點擊用戶區域分析,請求將傳遞到后臺,后臺從數據庫獲取到數據后,返回到前臺,通過ECharts進行展示。
3.4.3 用戶請求類型可視化的實現
用戶登錄成功后,系統將展示功能列表,在右側的功能列表,點擊用戶請求類型分析,請求將傳遞到后臺,后臺從數據庫獲取到數據后,返回到前臺,通過echarts進行展示。
3.4.4 用戶渠道類型可視化的實現
用戶登錄成功后,系統將展示功能列表,在右側的功能列表,點擊用戶渠道分析,請求將傳遞到后臺,后臺從數據庫獲取到數據后,返回到前臺,通過ECharts進行展示。
本系統登錄界面如圖8所示。

圖8 系統登錄界面
系統登錄界面要填寫的信息有用戶名和密碼,填寫完成后,若數據有該用戶,及其輸入的密碼正確,點擊登錄即可。
用戶區域分析可視化效果圖如圖9所示。

圖9 用戶區域分析可視化效果圖
用戶所在區域主要有北京、上海、天津等地。
通過折線圖圖9可以顯示出用戶所在區域的分布人數情況。由此,可以發現用戶在北京和南京兩地的人數偏多,因此電信運營商可以在這兩地安排更多的工作人員去開展業務、開更多的服務門店。
用戶請求類型分析可視化效果圖如圖10所示。

圖10 用戶請求類型分析可視化效果圖
系統用戶請求類型主要有兩類,即GET和POST。
通過餅圖圖10可以看出,GET和POST兩種請求類型人數相對持平,因此電信運營商可以把服務這兩個類型的工作人員名額分配一樣,充分利用人力資源。
用戶訪問渠道分析可視化效果圖如圖11所示。
在用戶渠道分析中,主要的渠道有IOS、Android、H5等。
通過柱狀圖圖11可以得到各訪問渠道的用戶人數情況。由上圖可以知道訪問渠道較多的是IOS、Android,因此電信運營商可以針對這兩種渠道上常用的一些應用,推出一種關于這些應用的定向免流套餐,向其用戶推薦這些套餐,從而吸引更多的用戶使用該公司的產品。

圖11 用戶訪問渠道分析可視化效果圖
本設計針對電信用戶行為數據集,實現了對電信用戶行為數據的分析和挖掘。使用Java語言編寫Spark SQL應用程序分析數據,包括用戶區域、用戶渠道、用戶請求類型等多維度數據分析,并將分析結果寫入MySQL,采用Spring框架搭建后臺系統,開發網頁應用,實現了用戶登錄,并借助ECharts對MySQL中結果數據進行可視化展示。
本文詳細闡述了基于Spark的電信用戶行為分析系統的設計和實現過程,通過對用戶數據的分析與挖掘,進行用戶的劃分和分類,為電信運營商洞察用戶需求、實現精準用戶定位和精細化運營提供一個準確高效的平臺。隨著大數據技術的不斷發展,精準用戶定位必然會大趨勢,基于Spark的電信用戶行為分析系統比之前的分析系統優勢也會更加明顯,也將會是未來主流的分析數據方式。
本設計基本可以通過對用戶行為的分析獲取到該用戶的一些生活習慣和消費習慣信息,從而幫助電信運營商采取有針對性的營銷策略。但是對于該系統而言還是存在著不足之處可以完善、優化。今后對該系統進行的升級和優化會從以下幾個方面進行考慮:
(1)增加對系統數據的統計功能。
(2)將電信用戶行為分析的分類更為精細。
(3)優化可視化界面,提高視覺感受。