陳先灝,雒江濤(重慶郵電大學(xué) 電子信息與網(wǎng)絡(luò)工程研究院,重慶 400065)
?
面向電商數(shù)據(jù)的可視化查詢系統(tǒng)①
陳先灝,雒江濤
(重慶郵電大學(xué) 電子信息與網(wǎng)絡(luò)工程研究院,重慶 400065)
摘 要:目前電子商務(wù)已經(jīng)愈發(fā)成熟,如何有效分析客戶潛在價值成為不可忽視的問題.針對此問題,本文設(shè)計與實現(xiàn)了一種可視化查詢系統(tǒng),用于分析用戶購物消費偏好,挖掘潛在價值.本系統(tǒng)基于SSH框架,前端采用Highcharts圖表展示工具予以數(shù)據(jù)可視化處理; 后臺利用DPI提取校園網(wǎng)流量中的電商數(shù)據(jù)建立用戶購物行為數(shù)據(jù)庫,同時利用網(wǎng)絡(luò)爬蟲建立電商產(chǎn)品信息庫.系統(tǒng)經(jīng)測試,能達(dá)到預(yù)期效果,對用戶購物偏好具有一定利用價值.
關(guān)鍵詞:可視化; 查詢系統(tǒng); SSH; Highcharts; DPI
電子商務(wù)作為新一代商業(yè)模式,為客戶提供了便捷、高質(zhì)量的服務(wù)體驗.目前電商業(yè)務(wù)已經(jīng)從傳統(tǒng)PC平臺向移動平臺遷移,且愈發(fā)成熟.作為電商服務(wù)提供者迫切需要分析客戶購買偏好,隨時掌握市場動態(tài).因此,如何有效分析大量電商數(shù)據(jù),具有非常重要的意義.
京東,淘寶等電商相繼建立數(shù)據(jù)挖掘品臺,它們擁有相當(dāng)豐富并且完善的用戶交易數(shù)據(jù),可以做到精準(zhǔn)營銷,但對于新型電商而言,數(shù)據(jù)分析較為不易.
針對上述問題,本文在傳統(tǒng)的查詢系統(tǒng)的基礎(chǔ)上,闡述了利用網(wǎng)絡(luò)流量進(jìn)行數(shù)據(jù)存儲和分析,重點闡述電商數(shù)據(jù)前端與后端的信息傳遞方式和數(shù)據(jù)可視化,實現(xiàn)了面向電商數(shù)據(jù)的可視化查詢系統(tǒng).
1.1基本思路
面向校園網(wǎng)流量的可視化查詢系統(tǒng)旨在通過解析用戶網(wǎng)絡(luò)流量,對用戶的購物事件進(jìn)行統(tǒng)計分析,能全面真實的反應(yīng)購物偏好.
本文主要關(guān)注學(xué)生網(wǎng)購行為,而用戶購物的一系列行為均在HTTP請求內(nèi)容中有所體現(xiàn).所以分析HTTP數(shù)據(jù)包中相關(guān)內(nèi)容,進(jìn)而得到用戶購物行為[1].
以一個數(shù)據(jù)包為例,可分析得知URL中有顯著的標(biāo)識字段以及商品ID字段,通過商品ID建立與商品數(shù)據(jù)庫的聯(lián)系,可以獲得用戶購物詳細(xì)數(shù)據(jù).
確定商品與ID的對應(yīng)關(guān)系是數(shù)據(jù)分析的關(guān)鍵.本文中采取的方案是利用網(wǎng)絡(luò)爬蟲構(gòu)建信息庫.
最后利用可視化思路,進(jìn)行電商數(shù)據(jù)可視化查詢.
1.2系統(tǒng)目標(biāo)
基于以上思路,系統(tǒng)的主要目標(biāo)是實現(xiàn)面向電商數(shù)據(jù)的可視化查詢系統(tǒng).系統(tǒng)利用DPI進(jìn)行用戶數(shù)據(jù)分析,建立用戶行為數(shù)據(jù)庫,并且利用爬蟲建立商品數(shù)據(jù)庫,然后通過SSH構(gòu)建前臺與后臺之間的數(shù)據(jù)傳輸通道,最后在瀏覽器中利用Highcharts呈現(xiàn)圖形化數(shù)據(jù).系統(tǒng)用戶可以通過本系統(tǒng)分析目前消費者在各大主流電商網(wǎng)站上的消費情況.
1.3可視化查詢過程模型
圖1給出了可視化查詢過程模型,包括4個主要過程,分別概述如下:
(1)數(shù)據(jù)采集: 包括兩方面,一方面采集校園網(wǎng)學(xué)生用戶數(shù)據(jù),為后續(xù)電商數(shù)據(jù)的提取以及購物分析提供原始數(shù)據(jù); 另一方面采集商品數(shù)據(jù)以便對應(yīng)學(xué)生購買的商品,獲得詳細(xì)信息;
(2)數(shù)據(jù)解析: 根據(jù)前文思路,基于學(xué)生購買商品事件,系統(tǒng)對原始數(shù)據(jù)流量進(jìn)行分析和重組,建立針對每一位學(xué)生的消費事件表.消費事件表結(jié)合商品信息庫,完成信息補(bǔ)充,獲得詳細(xì)數(shù)據(jù)表;
(3)數(shù)據(jù)表存儲: 將數(shù)據(jù)表存入數(shù)據(jù)庫,對已經(jīng)解析完畢的原始流量予以刪除,緩解存儲壓力并提供日志記錄;
(4)數(shù)據(jù)提取以及可視化: 系統(tǒng)根據(jù)不同用戶,以及不同需求,查詢數(shù)據(jù)庫,獲得所需多維信息數(shù)據(jù),并返回客戶端,以各種圖形呈現(xiàn).
圖1 系統(tǒng)過程模型
按照過程模型,系統(tǒng)總體架構(gòu)分為四層,從上至下依次為用戶層,應(yīng)用展示層,邏輯層,和數(shù)據(jù)層.系統(tǒng)總體框架結(jié)構(gòu)圖如2所示.
用戶層是本系統(tǒng)面向不同用戶所呈現(xiàn)的具體系統(tǒng)頁面.系統(tǒng)主要面向一般用戶以及管理員.
應(yīng)用層以瀏覽器為媒介,為用戶提供數(shù)據(jù)管理以及可視化展示分析,并且可以進(jìn)行圖形轉(zhuǎn)換處理.
數(shù)據(jù)管理主要包括系統(tǒng)定時采集網(wǎng)絡(luò)流量進(jìn)行兩部分?jǐn)?shù)據(jù)更新,并為用戶提供通知,同時系統(tǒng)用戶可以手動選擇是否刪除以往數(shù)據(jù).
統(tǒng)計分析功能依靠前端提供的數(shù)據(jù)搜索功能查詢底層數(shù)據(jù)庫.
圖2 系統(tǒng)總體架構(gòu)圖
圖形處理依靠前端可視化工具針對同一份數(shù)據(jù)做多圖形展示,便于用戶選擇以及人工分析.
邏輯層的設(shè)計主要通過Struts2和Spring框架來完成.通過在項目中引入Spring框架,完成Service,Action,DAO及依賴關(guān)系的管理[2]; 邏輯層完成用戶在應(yīng)用層下達(dá)的指令收發(fā)(包括數(shù)據(jù)收發(fā),數(shù)據(jù)更新,以及數(shù)據(jù)傳遞).數(shù)據(jù)傳遞利用Hibernate完成.
Hibernate基于對象-關(guān)系映射,即可以將對象與關(guān)系數(shù)據(jù)庫進(jìn)行對應(yīng),生成相應(yīng)SQL查詢語句.系統(tǒng)利用SQL語句查詢相應(yīng)結(jié)果,并將獲得的數(shù)據(jù)轉(zhuǎn)為JSON格式,作為響應(yīng)提交給應(yīng)用層以及用戶層.
數(shù)據(jù)層提供數(shù)據(jù)采集,以及數(shù)據(jù)存儲等功能.數(shù)據(jù)層采集存儲結(jié)構(gòu)圖由圖3所示.
如圖所示,網(wǎng)絡(luò)爬蟲完成產(chǎn)品信息提取以及更新; DPI(Deep Packet Inspection)完成消費者購物信息的提取.
圖3 數(shù)據(jù)采集存儲結(jié)構(gòu)圖
網(wǎng)絡(luò)爬蟲程序每次讀取一個URL,下載其對應(yīng)的網(wǎng)頁中的產(chǎn)品信息,并對其分析.若分析得到新的URL,則重復(fù)這一過程,直到滿足一定條件,方可停止.
本系統(tǒng)中,網(wǎng)絡(luò)爬蟲定向抓取電商網(wǎng)站中的資源,建立產(chǎn)品信息庫.信息庫主要包括商品、商品ID以及商品描述等,與DPI模塊相呼應(yīng).
DPI即深度包檢測技術(shù)是一種基于應(yīng)用層的控制技術(shù)和流量檢測技術(shù),能夠高效地識別出各種應(yīng)用.普通報文檢測通過端口號來鑒定應(yīng)用類型.而當(dāng)前網(wǎng)絡(luò)上的非法應(yīng)用會通過隱藏或假冒端口號的方式躲避.在這種情況下,L2~L4層的傳統(tǒng)檢測方法已然失效.不同于傳統(tǒng)方法,DPI通過對網(wǎng)絡(luò)流中的數(shù)據(jù)報文內(nèi)容進(jìn)行檢測,從而確定數(shù)據(jù)報文的真正應(yīng)用.
DPI作為流量分析工具,其作用是分析底層流量,并利用數(shù)據(jù)特征對每個用戶的流量進(jìn)行分流,統(tǒng)計相關(guān)事件.系統(tǒng)利用此信息與產(chǎn)品信息庫進(jìn)行匹配,進(jìn)而發(fā)現(xiàn)用戶瀏覽電商網(wǎng)站詳細(xì)行為,比如所瀏覽的產(chǎn)品,網(wǎng)站,時間等.
3.1數(shù)據(jù)表
網(wǎng)絡(luò)爬蟲按照URL將商品信息分網(wǎng)站,分類別,進(jìn)行爬取,獲得產(chǎn)品信息庫并予以存儲.產(chǎn)品信息主要包括網(wǎng)站名稱,商品ID,商品描述,一級目錄,一級目錄描述,二級目錄,二級目錄描述,三級目錄,三級目錄描述.如圖4所示.
圖4 產(chǎn)品信息庫
DPI根據(jù)用戶流量數(shù)據(jù)包,解析出關(guān)鍵信息: 訪問時間,訪問網(wǎng)站,商品ID,源IP,目的IP,源端口以及目的端口,如圖5所示.源IP,可以用來確定屬于同一用戶的數(shù)據(jù)包,從而定位其整個會話過程的網(wǎng)站瀏覽情況.
當(dāng)數(shù)據(jù)庫系統(tǒng)接受到查詢指令,系統(tǒng)將用戶事件信息,與產(chǎn)品信息庫進(jìn)行關(guān)聯(lián),得到用戶在某段時間的具體瀏覽情況.
圖5 用戶瀏覽信息表
3.2后臺查詢模塊
本系統(tǒng)后臺查詢模塊主要完成數(shù)據(jù)查詢以及數(shù)據(jù)組裝.考慮到用戶有不同需求,數(shù)據(jù)組裝功能實現(xiàn)了靈活顯示部分字段、記錄.與此同時,數(shù)據(jù)組裝功能也包括數(shù)據(jù)格式轉(zhuǎn)換.
后臺代碼根據(jù)前臺請求,查詢所需字段對應(yīng)的數(shù)據(jù).此過程為了簡化代碼設(shè)計,可以在HTTP請求中將所查詢的參數(shù)按照SQL語句格式排列好后一并傳入后臺,后臺只需讀取上述已整理好的參數(shù)語句即可.簡化代碼如下:
查詢模塊將查詢條件轉(zhuǎn)為標(biāo)準(zhǔn)SQL語句之后,系統(tǒng)執(zhí)行查找,得到所需數(shù)據(jù)并將其轉(zhuǎn)為JSON格式,以HTTP Response的形式返回客戶端.
3.3前端模塊
3.3.1JQuery
jQuery是一個優(yōu)秀的JavaScript框架,該框架實現(xiàn)了HTML、JavaScript、CSS三者分離.憑借其優(yōu)秀的頁面效果以及交互性,已經(jīng)被廣泛使用; 同時憑借其使用的簡潔性,對DOM強(qiáng)大的操控性和易擴(kuò)展性受到Web開發(fā)人員的喜愛[3].本系統(tǒng)JS代碼均有借助JQuery庫,方便Ajax交互技術(shù).
3.3.2頁面數(shù)據(jù)請求
前臺頁面完成輸入?yún)?shù)的組裝問題以及請求的提交,以下舉例說明: 根據(jù)3.1所述,商品屬性包括網(wǎng)站包含9個屬性,所以頁面上可供選擇的屬性有9個,為了方便用戶選擇,所有屬性均有說明以及復(fù)選框,部分相關(guān)HTML代碼如下:
如上所示,每一個屬性的type均為checkbox(復(fù)選框),另外,name均設(shè)置為interest,這種設(shè)置為jQuery選擇器提供便利.
客戶端得到所需要查詢的字段,通過jQuery自帶的$.get(),即可以ajax的方式,異步請求數(shù)據(jù).
3.3.3Highcharts
數(shù)據(jù)可視化模塊采用的是Highcharts.Highcharts是一個用純Javascript圖表庫,能夠很便捷地在web網(wǎng)站或是web應(yīng)用程序中提供直觀,交互性的圖表[4].
Highcharts引入數(shù)據(jù)方法及其簡便,只需要將組裝好的數(shù)據(jù)賦予其data配置量即可.
3.3.4可視化展示
系統(tǒng)前端頁面利用jQuery異步請求得到的JSON數(shù)據(jù),經(jīng)解析后作為傳入highcharts的數(shù)據(jù).利用此方法以及javascript事件函數(shù),本系統(tǒng)完成了數(shù)據(jù)3層鉆取并畫圖,利于數(shù)據(jù)全面分析.關(guān)鍵代碼如下:
4.1圖例分析
本文面向電商數(shù)據(jù),實現(xiàn)了基于時間段內(nèi)的用戶購物數(shù)據(jù)可視化分析.綜上所述,系統(tǒng)用戶可以清楚地分析出在某一時間段內(nèi)學(xué)生在不同電商品牌的購物情況.
本系統(tǒng)實現(xiàn)了以條形統(tǒng)計圖,餅圖,折線圖為主的數(shù)據(jù)顯示方式,并且所繪制圖形提供下載,保存,同時數(shù)據(jù)圖形本身提供對應(yīng)的excel表,方便系統(tǒng)用戶使用.
系統(tǒng)為了更加直觀地展示所有系列商品銷售情況,在上級視圖中,添加數(shù)據(jù)鉆取功能.以下舉例說明:
如圖6所示,系統(tǒng)針對某時段采集到的數(shù)據(jù),繪制出淘寶商城本時段內(nèi)銷售的商品種類.用戶通過圖形結(jié)果,可以較為直觀的看到服裝類基本占據(jù)了銷售的主導(dǎo)地位,其次為鞋包.基于以上結(jié)論,基本可以肯定學(xué)生顧客在基本穿著方面消費較多.
不過基于以上結(jié)論,信息量并不足夠,用戶需要知道更加詳細(xì)的品牌信息以確定更加精確的銷售策略.
圖6 數(shù)據(jù)分布餅圖
圖7 男裝品牌分布餅圖
用戶可以通過點擊圖6中的服裝,展示出目前數(shù)據(jù)所采集到的相關(guān)男裝以及女裝品牌,并提供相應(yīng)視圖,如圖7所示.系統(tǒng)顯示出了男裝各大品牌的銷售情況,銷售商可以根據(jù)不同時段的不同數(shù)據(jù),緊跟當(dāng)下潮流,使用相應(yīng)的供貨手段,盡可能保持盈利.
4.2系統(tǒng)展示優(yōu)化策略
由于數(shù)據(jù)量大,系統(tǒng)采取以下措施,作為基本優(yōu)化策略:
采用ajax方式,即利用異步讀取方式.當(dāng)客戶需要更新頁面部分圖例,采取局部刷新的方式,減少用戶請求數(shù)據(jù)量.
SQL語句優(yōu)化,即盡可能減少表之間的連接,建立合理索引,以提高查詢速度; 同時采取數(shù)據(jù)分頁顯示,以緩解壓力.
本文針對電商產(chǎn)品數(shù)據(jù)以及用戶購買行為,設(shè)計了一種基于SSH架構(gòu)的可視化查詢系統(tǒng).后臺通過網(wǎng)絡(luò)爬蟲以及DPI技術(shù)建立數(shù)據(jù)庫,具有數(shù)據(jù)覆蓋面全的特點; 系統(tǒng)使用B/S架構(gòu),具有安裝,部署方便等特點,每一層次都實現(xiàn)了靈活的接口,便于2次開發(fā).
系統(tǒng)將進(jìn)一步研究原始數(shù)據(jù)采集中的過濾模塊,減少原始數(shù)據(jù)存儲壓力,以加快定時更新頻率; 以及產(chǎn)品數(shù)據(jù)可視化的集成,嘗試實現(xiàn)系統(tǒng)調(diào)用外部數(shù)據(jù)集接口,實現(xiàn)數(shù)據(jù)靈活的特點.
參考文獻(xiàn)
1楊軍超,雒江濤,申健,鄧生雄.基于MapReduce的校園網(wǎng)用戶網(wǎng)購偏好分析.計算機(jī)系統(tǒng)應(yīng)用,2015,24(10):222–226.
2張建軍,劉虎,倪芳英.基于SSH與Highcharts整合架構(gòu)的Web應(yīng)用研究.計算機(jī)技術(shù)與發(fā)展,2013,9:245–247,251.
3周玲余.基于jQuery框架的頁面前端特效的設(shè)計與實現(xiàn).計算機(jī)與現(xiàn)代化,2013,1:61–63.
4吳孟春,丁嵐.HighCharts組件在氣象業(yè)務(wù)中的開發(fā)和應(yīng)用.計算機(jī)與網(wǎng)絡(luò),2014,12:65–68.
Visual Query System for Electronic Commerce data
CHEN Xian-Hao,LUO Jiang-Tao
(Electronic Information and Networking Research Institute,Chongqing University of Posts and Telecommunications,Chongqing 400065,China)
Abstract:How to analyse the potential value of a customer is a problem that cannot be neglected while the e-commerce is becoming more and more mature.Aiming at solving this problem,the paper designs and implements a visual query system,which is used for analysing customers’ preference and digging their potential value.Based on the SSH framework,this system uses Highcharts to do the data visualization at the front-end,while the database of products is established via the web parser and the database of user-expense behavior extracted from the campus’s traffic is established via DPI.This system reaches the expected target for data analysis and is good for shopping preference analysis after testing.
Key words:data visualization; query system; SSH; Highcharts; DPI
基金項目:①重慶市應(yīng)用開發(fā)計劃(cstc2013yykfA40006)
收稿時間:2015-09-22;收到修改稿時間:2015-11-27