趙偉航,姚全珠,顧煒倫
(西京學(xué)院 信息工程學(xué)院,陜西西安,710000)
在這個(gè)信息量呈指數(shù)暴增的新時(shí)代,人們對(duì)事物的看法與觀點(diǎn)也隨之由傳統(tǒng)觀念向著新時(shí)代特點(diǎn)發(fā)生著巨大的改變,各個(gè)行業(yè)也由傳統(tǒng)方式向大數(shù)據(jù)化、互聯(lián)網(wǎng)化、信息化方式發(fā)生轉(zhuǎn)變。比如微信支付、掃臉支付、無(wú)人餐廳等等。計(jì)算機(jī)互聯(lián)網(wǎng)技術(shù)的日新月異,尤其是移動(dòng)互聯(lián)網(wǎng)的到來(lái),彌補(bǔ)了傳統(tǒng)電腦的不足,給人們的交流帶來(lái)了極大的方便。智能手機(jī)強(qiáng)勁的性能使得如今各種手機(jī)應(yīng)用軟件正實(shí)現(xiàn)著對(duì)傳統(tǒng)服務(wù)業(yè)和原有消費(fèi)行為的顛覆,隨之也產(chǎn)生了大量的數(shù)據(jù)。隨著大數(shù)據(jù)時(shí)代的帶來(lái),使用互聯(lián)網(wǎng)的人數(shù)呈直線上升式增長(zhǎng),互聯(lián)網(wǎng)用戶使用者貫穿老少婦孺,隨之電信運(yùn)營(yíng)商的業(yè)務(wù)規(guī)模不斷擴(kuò)大,面對(duì)如此龐大的電信用戶數(shù)據(jù)集,準(zhǔn)確分析與挖掘這些數(shù)據(jù)背后的價(jià)值成為了電信運(yùn)行商的當(dāng)務(wù)之急。本題目擬基于電信大數(shù)據(jù),使用Spark技術(shù)對(duì)用戶數(shù)據(jù)進(jìn)行分析與挖掘,進(jìn)行用戶的劃分和分類(lèi),為電信運(yùn)營(yíng)商洞察用戶需求、實(shí)現(xiàn)精準(zhǔn)用戶定位和精細(xì)化運(yùn)營(yíng)提供一個(gè)準(zhǔn)確高效的平臺(tái)。
本設(shè)計(jì)基于Spark數(shù)據(jù)分析技術(shù),通過(guò)對(duì)收集的電信用戶數(shù)據(jù)進(jìn)行分析與挖掘,實(shí)現(xiàn)電信用戶的類(lèi)別劃分,為更好的服務(wù)用戶,實(shí)現(xiàn)精準(zhǔn)用戶定位和精細(xì)化運(yùn)營(yíng)提供一個(gè)準(zhǔn)確高效的平臺(tái)。用統(tǒng)計(jì)分析出來(lái)的數(shù)據(jù)輔助產(chǎn)品經(jīng)理、數(shù)據(jù)分析師以及管理人員分析現(xiàn)有產(chǎn)品的情況,并根據(jù)用戶行為分析結(jié)果持續(xù)改進(jìn)產(chǎn)品的設(shè)計(jì)、以及調(diào)整公司的戰(zhàn)略和任務(wù),最終利用大數(shù)據(jù)技術(shù)來(lái)幫助提升公司的業(yè)績(jī)、營(yíng)業(yè)額以及市場(chǎng)占有率的目標(biāo)。
在這個(gè)信息爆炸的時(shí)代,通信行業(yè)中占據(jù)主導(dǎo)地位的依舊是電信運(yùn)行商,它不僅有充足的數(shù)據(jù)集,而且還具有朝著新時(shí)代大數(shù)據(jù)發(fā)展的趨勢(shì)。具有關(guān)2013年的一份發(fā)布報(bào)告顯示,開(kāi)始邁入大數(shù)據(jù)研究的運(yùn)行商已經(jīng)有超過(guò)48%之多。法國(guó)基于對(duì)用戶行為分析的方法,從而提高對(duì)用戶服務(wù)質(zhì)量與體檢的初衷,推出了Orange BusIness Services;美國(guó)為了給運(yùn)營(yíng)商提供高效的營(yíng)銷(xiāo)方案,結(jié)合了用戶通信網(wǎng)絡(luò)中所涉及的用戶地址、習(xí)慣等信息以及商業(yè)相關(guān)數(shù)據(jù)指定有針對(duì)性的營(yíng)銷(xiāo)方案;西班牙電信Telefonica為了更好地給全球范圍的用戶提供針對(duì)龐大數(shù)據(jù)的解決方案,專門(mén)設(shè)立了大數(shù)據(jù)的相關(guān)部門(mén);德國(guó)的運(yùn)營(yíng)商得出的人們出行規(guī)律是通過(guò)信令數(shù)據(jù)的位置信息挖掘到的,并為數(shù)據(jù)支撐開(kāi)發(fā)了LBS應(yīng)用。
在今天,各種各樣的數(shù)據(jù)挖掘工具已經(jīng)被開(kāi)發(fā)出來(lái),可被研究者直接使用,用于更深層的研究與開(kāi)發(fā),也為他們節(jié)約了大量的時(shí)間。如Power-BI淘寶指數(shù)、Google Analytice、百度統(tǒng)計(jì)、IBM Cognos等平臺(tái)都是當(dāng)前商業(yè)化方面上比較火熱的、有關(guān)數(shù)據(jù)分析的開(kāi)放平臺(tái),其中很多是采用對(duì)電商進(jìn)行數(shù)據(jù)分析和統(tǒng)計(jì),用來(lái)幫助商家更好地了解用戶的行為情況。R是一種支持圖形可視化、數(shù)據(jù)統(tǒng)計(jì)等分析技術(shù)的計(jì)算機(jī)語(yǔ)言和分析數(shù)據(jù)工具。目前著名的開(kāi)源數(shù)據(jù)挖掘軟件Weka不僅可以使用編程對(duì)組件進(jìn)行調(diào)用,也提供了操作界面。隨著科技的不斷進(jìn)步,開(kāi)發(fā)者們也研究出了一些關(guān)于用戶行為分析的成果。劉路研發(fā)了基于云計(jì)算的用戶行為分析系統(tǒng),既實(shí)現(xiàn)了系統(tǒng)管理與設(shè)計(jì)也對(duì)系統(tǒng)的功能模塊進(jìn)行了概述。喬媛媛為解決大量數(shù)據(jù)的存儲(chǔ)與分析難題,提出了基于Hadoop的流量分析系統(tǒng)Flas。馮銘等人提出了一種基于云計(jì)算的可重構(gòu)的用戶行為分析解決方案,為運(yùn)營(yíng)商更好地按分類(lèi)對(duì)用戶進(jìn)行精準(zhǔn)的服務(wù),滿足用戶的需求提供了便利,從而到達(dá)對(duì)用戶更優(yōu)質(zhì)的服務(wù)。
(1)了解系統(tǒng)開(kāi)發(fā)所需要的軟件
VMWare16、Ubuntu、JDK1.8、MySQL數(shù) 據(jù) 庫(kù)、Spark、IDEA集成開(kāi)發(fā)環(huán)境。
(2)數(shù)據(jù)探索
根據(jù)設(shè)計(jì)需求把數(shù)據(jù)類(lèi)型進(jìn)行分類(lèi),進(jìn)行處理。
(3)通過(guò)編寫(xiě)Spark SQL應(yīng)用程序?qū)﹄娦艛?shù)據(jù)進(jìn)行分析
通過(guò)Java語(yǔ)言編寫(xiě)Spark SQL應(yīng)用程序,對(duì)電信數(shù)據(jù)進(jìn)行分析,分析的主要內(nèi)容有用戶區(qū)域分析、渠道分析、請(qǐng)求類(lèi)型分析等。最后將分析結(jié)果寫(xiě)入MySQL數(shù)據(jù)庫(kù)。
(4)數(shù)據(jù)分析結(jié)果的可視化
后臺(tái)通過(guò)SpringBoot構(gòu)建,前臺(tái)界面使用ECharts框架進(jìn)行展示,所要實(shí)現(xiàn)的具體功能包括:
①登錄界面判斷用戶是否存在、登錄是否成功;
②用戶區(qū)域展示功能;
③用戶渠道展示功能;
④用戶請(qǐng)求類(lèi)型展示功能。
2.2.1 系統(tǒng)流程設(shè)計(jì)
系統(tǒng)設(shè)計(jì)的思路如下:首先下載電信用戶行為數(shù)據(jù)集,將數(shù)據(jù)保存到本地;其次使用Java語(yǔ)言編寫(xiě)Spark SQL程序分析用戶行為數(shù)據(jù)集,將分析得到的結(jié)果寫(xiě)入MySQL數(shù)據(jù)庫(kù);最后使用Spring框架搭建后臺(tái)系統(tǒng)通過(guò)ECharts將結(jié)果可視化在頁(yè)面上。
系統(tǒng)整體流程設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)整體流程設(shè)計(jì)圖
2.2.2 功能模塊設(shè)計(jì)
本設(shè)計(jì)所實(shí)現(xiàn)的基于Spark用戶行為分析系統(tǒng)主要包括注冊(cè)登錄、用戶區(qū)域分析展示、用戶渠道分析展示、用戶請(qǐng)求類(lèi)型分析展示和注銷(xiāo)登錄等功能??偟膩?lái)說(shuō),系統(tǒng)功能模塊圖如圖2所示。
圖2 系統(tǒng)功能模塊圖
2.2.3 前端系統(tǒng)流程設(shè)計(jì)
(1)系統(tǒng)登錄
系統(tǒng)會(huì)根據(jù)用戶輸入的賬號(hào)、密碼進(jìn)行格式檢查、驗(yàn)證用戶是否存在以及對(duì)應(yīng)密碼的正確性。若檢查無(wú)誤后,用戶便成功登入系統(tǒng)。系統(tǒng)登錄流程圖如圖3所示。
圖3 系統(tǒng)登錄流程圖
(2)用戶渠道分析
系統(tǒng)會(huì)對(duì)數(shù)據(jù)集進(jìn)行分析,將其按用戶訪問(wèn)渠道進(jìn)行分類(lèi),最后進(jìn)行展示。其流程圖如圖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)修改環(huán)境變量文件/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”就可以進(jìn)入歡迎界面,如圖配置成功,如圖5所示。
圖5 驗(yàn)證本地模式Spark
(1)數(shù)據(jù)集中的部分?jǐn)?shù)據(jù),如圖6所示。
圖6 data.csv
(2)根據(jù)對(duì)數(shù)據(jù)集的數(shù)據(jù)探索,應(yīng)對(duì)應(yīng)MySQL中以下數(shù)據(jù)表:用戶表(id,name,pwd)、用戶渠道表(name,value)、用戶區(qū)域表(name,value)、用戶請(qǐng)求類(lèi)型表(name,value)。這個(gè)四個(gè)表的邏輯結(jié)構(gòu)如下文所述。
用戶表的邏輯結(jié)構(gòu)如表1所示。
表1 用戶表
用戶區(qū)域表的邏輯結(jié)構(gòu)如表2所示。
表2 用戶區(qū)域表
用戶渠道表的邏輯結(jié)構(gòu)如表3所示。
表3 用戶渠道表
用戶請(qǐng)求類(lèi)型表的邏輯結(jié)構(gòu)如表4所示。
表4 用戶請(qǐng)求類(lèi)型表
請(qǐng)求類(lèi)型包括:GET、POST;用戶渠道包括:h5、android、ios、html、pad、other;用戶區(qū)域包括:北京、上海、深圳、西安、南京、天津、成都、重慶。
數(shù)據(jù)分析通過(guò)編寫(xiě)SparkSQL應(yīng)用程序完成,主要包括以下步驟:第一,讀取源數(shù)據(jù),把源數(shù)據(jù)讀入到Spark容器中。第二,是對(duì)數(shù)據(jù)進(jìn)行處理,把數(shù)據(jù)集加載到Spark SQL語(yǔ)句中,在Spark集群上執(zhí)行,最后把處理好的數(shù)據(jù)存入到MySQL中。
主要步驟如下:
(1)導(dǎo)入Spark包;
(2)把本地?cái)?shù)據(jù)讀取到Spark SQL中;
(3)編寫(xiě)Spark SQL程序分析數(shù)據(jù)并寫(xiě)入MySQL。
MySQL數(shù)據(jù)庫(kù)中的part3數(shù)據(jù)表如圖7所示。
圖7 MySQL表part3(用戶所在區(qū)域)
3.4.1 登錄頁(yè)面的實(shí)現(xiàn)
在用戶擁有賬號(hào)之后,進(jìn)入登錄界面進(jìn)行登錄系統(tǒng)操作。登錄界面可以實(shí)現(xiàn)如下功能:
(1)用戶在登錄界面,輸入賬號(hào)密碼信息,點(diǎn)擊登錄按鈕,觸發(fā)相關(guān)事件。前端頁(yè)面將接收到的信息傳遞給后臺(tái)進(jìn)行處理。
(2)Login類(lèi)接收到前端頁(yè)面?zhèn)鬟f來(lái)的信息,在數(shù)據(jù)庫(kù)中根據(jù)用戶輸入的用戶名和密碼與數(shù)據(jù)庫(kù)中的用戶表進(jìn)行信息匹配。
(3)判斷用戶名和密碼是否正確,如果不正確則重新登錄。
(4)登錄成功后跳轉(zhuǎn)至分析主界面。
3.4.2 用戶區(qū)域類(lèi)型可視化的實(shí)現(xiàn)
用戶登錄成功后,系統(tǒng)將展示功能列表,在右側(cè)的功能列表,點(diǎn)擊用戶區(qū)域分析,請(qǐng)求將傳遞到后臺(tái),后臺(tái)從數(shù)據(jù)庫(kù)獲取到數(shù)據(jù)后,返回到前臺(tái),通過(guò)ECharts進(jìn)行展示。
3.4.3 用戶請(qǐng)求類(lèi)型可視化的實(shí)現(xiàn)
用戶登錄成功后,系統(tǒng)將展示功能列表,在右側(cè)的功能列表,點(diǎn)擊用戶請(qǐng)求類(lèi)型分析,請(qǐng)求將傳遞到后臺(tái),后臺(tái)從數(shù)據(jù)庫(kù)獲取到數(shù)據(jù)后,返回到前臺(tái),通過(guò)echarts進(jìn)行展示。
3.4.4 用戶渠道類(lèi)型可視化的實(shí)現(xiàn)
用戶登錄成功后,系統(tǒng)將展示功能列表,在右側(cè)的功能列表,點(diǎn)擊用戶渠道分析,請(qǐng)求將傳遞到后臺(tái),后臺(tái)從數(shù)據(jù)庫(kù)獲取到數(shù)據(jù)后,返回到前臺(tái),通過(guò)ECharts進(jìn)行展示。
本系統(tǒng)登錄界面如圖8所示。
圖8 系統(tǒng)登錄界面
系統(tǒng)登錄界面要填寫(xiě)的信息有用戶名和密碼,填寫(xiě)完成后,若數(shù)據(jù)有該用戶,及其輸入的密碼正確,點(diǎn)擊登錄即可。
用戶區(qū)域分析可視化效果圖如圖9所示。
圖9 用戶區(qū)域分析可視化效果圖
用戶所在區(qū)域主要有北京、上海、天津等地。
通過(guò)折線圖圖9可以顯示出用戶所在區(qū)域的分布人數(shù)情況。由此,可以發(fā)現(xiàn)用戶在北京和南京兩地的人數(shù)偏多,因此電信運(yùn)營(yíng)商可以在這兩地安排更多的工作人員去開(kāi)展業(yè)務(wù)、開(kāi)更多的服務(wù)門(mén)店。
用戶請(qǐng)求類(lèi)型分析可視化效果圖如圖10所示。
圖10 用戶請(qǐng)求類(lèi)型分析可視化效果圖
系統(tǒng)用戶請(qǐng)求類(lèi)型主要有兩類(lèi),即GET和POST。
通過(guò)餅圖圖10可以看出,GET和POST兩種請(qǐng)求類(lèi)型人數(shù)相對(duì)持平,因此電信運(yùn)營(yíng)商可以把服務(wù)這兩個(gè)類(lèi)型的工作人員名額分配一樣,充分利用人力資源。
用戶訪問(wèn)渠道分析可視化效果圖如圖11所示。
在用戶渠道分析中,主要的渠道有IOS、Android、H5等。
通過(guò)柱狀圖圖11可以得到各訪問(wèn)渠道的用戶人數(shù)情況。由上圖可以知道訪問(wèn)渠道較多的是IOS、Android,因此電信運(yùn)營(yíng)商可以針對(duì)這兩種渠道上常用的一些應(yīng)用,推出一種關(guān)于這些應(yīng)用的定向免流套餐,向其用戶推薦這些套餐,從而吸引更多的用戶使用該公司的產(chǎn)品。
圖11 用戶訪問(wèn)渠道分析可視化效果圖
本設(shè)計(jì)針對(duì)電信用戶行為數(shù)據(jù)集,實(shí)現(xiàn)了對(duì)電信用戶行為數(shù)據(jù)的分析和挖掘。使用Java語(yǔ)言編寫(xiě)Spark SQL應(yīng)用程序分析數(shù)據(jù),包括用戶區(qū)域、用戶渠道、用戶請(qǐng)求類(lèi)型等多維度數(shù)據(jù)分析,并將分析結(jié)果寫(xiě)入MySQL,采用Spring框架搭建后臺(tái)系統(tǒng),開(kāi)發(fā)網(wǎng)頁(yè)應(yīng)用,實(shí)現(xiàn)了用戶登錄,并借助ECharts對(duì)MySQL中結(jié)果數(shù)據(jù)進(jìn)行可視化展示。
本文詳細(xì)闡述了基于Spark的電信用戶行為分析系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程,通過(guò)對(duì)用戶數(shù)據(jù)的分析與挖掘,進(jìn)行用戶的劃分和分類(lèi),為電信運(yùn)營(yíng)商洞察用戶需求、實(shí)現(xiàn)精準(zhǔn)用戶定位和精細(xì)化運(yùn)營(yíng)提供一個(gè)準(zhǔn)確高效的平臺(tái)。隨著大數(shù)據(jù)技術(shù)的不斷發(fā)展,精準(zhǔn)用戶定位必然會(huì)大趨勢(shì),基于Spark的電信用戶行為分析系統(tǒng)比之前的分析系統(tǒng)優(yōu)勢(shì)也會(huì)更加明顯,也將會(huì)是未來(lái)主流的分析數(shù)據(jù)方式。
本設(shè)計(jì)基本可以通過(guò)對(duì)用戶行為的分析獲取到該用戶的一些生活習(xí)慣和消費(fèi)習(xí)慣信息,從而幫助電信運(yùn)營(yíng)商采取有針對(duì)性的營(yíng)銷(xiāo)策略。但是對(duì)于該系統(tǒng)而言還是存在著不足之處可以完善、優(yōu)化。今后對(duì)該系統(tǒng)進(jìn)行的升級(jí)和優(yōu)化會(huì)從以下幾個(gè)方面進(jìn)行考慮:
(1)增加對(duì)系統(tǒng)數(shù)據(jù)的統(tǒng)計(jì)功能。
(2)將電信用戶行為分析的分類(lèi)更為精細(xì)。
(3)優(yōu)化可視化界面,提高視覺(jué)感受。