陳先灝,雒江濤(重慶郵電大學 電子信息與網絡工程研究院,重慶 400065)
?
面向電商數據的可視化查詢系統①
陳先灝,雒江濤
(重慶郵電大學 電子信息與網絡工程研究院,重慶 400065)
摘 要:目前電子商務已經愈發成熟,如何有效分析客戶潛在價值成為不可忽視的問題.針對此問題,本文設計與實現了一種可視化查詢系統,用于分析用戶購物消費偏好,挖掘潛在價值.本系統基于SSH框架,前端采用Highcharts圖表展示工具予以數據可視化處理; 后臺利用DPI提取校園網流量中的電商數據建立用戶購物行為數據庫,同時利用網絡爬蟲建立電商產品信息庫.系統經測試,能達到預期效果,對用戶購物偏好具有一定利用價值.
關鍵詞:可視化; 查詢系統; SSH; Highcharts; DPI
電子商務作為新一代商業模式,為客戶提供了便捷、高質量的服務體驗.目前電商業務已經從傳統PC平臺向移動平臺遷移,且愈發成熟.作為電商服務提供者迫切需要分析客戶購買偏好,隨時掌握市場動態.因此,如何有效分析大量電商數據,具有非常重要的意義.
京東,淘寶等電商相繼建立數據挖掘品臺,它們擁有相當豐富并且完善的用戶交易數據,可以做到精準營銷,但對于新型電商而言,數據分析較為不易.
針對上述問題,本文在傳統的查詢系統的基礎上,闡述了利用網絡流量進行數據存儲和分析,重點闡述電商數據前端與后端的信息傳遞方式和數據可視化,實現了面向電商數據的可視化查詢系統.
1.1基本思路
面向校園網流量的可視化查詢系統旨在通過解析用戶網絡流量,對用戶的購物事件進行統計分析,能全面真實的反應購物偏好.
本文主要關注學生網購行為,而用戶購物的一系列行為均在HTTP請求內容中有所體現.所以分析HTTP數據包中相關內容,進而得到用戶購物行為[1].
以一個數據包為例,可分析得知URL中有顯著的標識字段以及商品ID字段,通過商品ID建立與商品數據庫的聯系,可以獲得用戶購物詳細數據.
確定商品與ID的對應關系是數據分析的關鍵.本文中采取的方案是利用網絡爬蟲構建信息庫.
最后利用可視化思路,進行電商數據可視化查詢.
1.2系統目標
基于以上思路,系統的主要目標是實現面向電商數據的可視化查詢系統.系統利用DPI進行用戶數據分析,建立用戶行為數據庫,并且利用爬蟲建立商品數據庫,然后通過SSH構建前臺與后臺之間的數據傳輸通道,最后在瀏覽器中利用Highcharts呈現圖形化數據.系統用戶可以通過本系統分析目前消費者在各大主流電商網站上的消費情況.
1.3可視化查詢過程模型
圖1給出了可視化查詢過程模型,包括4個主要過程,分別概述如下:
(1)數據采集: 包括兩方面,一方面采集校園網學生用戶數據,為后續電商數據的提取以及購物分析提供原始數據; 另一方面采集商品數據以便對應學生購買的商品,獲得詳細信息;
(2)數據解析: 根據前文思路,基于學生購買商品事件,系統對原始數據流量進行分析和重組,建立針對每一位學生的消費事件表.消費事件表結合商品信息庫,完成信息補充,獲得詳細數據表;
(3)數據表存儲: 將數據表存入數據庫,對已經解析完畢的原始流量予以刪除,緩解存儲壓力并提供日志記錄;
(4)數據提取以及可視化: 系統根據不同用戶,以及不同需求,查詢數據庫,獲得所需多維信息數據,并返回客戶端,以各種圖形呈現.

圖1 系統過程模型
按照過程模型,系統總體架構分為四層,從上至下依次為用戶層,應用展示層,邏輯層,和數據層.系統總體框架結構圖如2所示.
用戶層是本系統面向不同用戶所呈現的具體系統頁面.系統主要面向一般用戶以及管理員.
應用層以瀏覽器為媒介,為用戶提供數據管理以及可視化展示分析,并且可以進行圖形轉換處理.
數據管理主要包括系統定時采集網絡流量進行兩部分數據更新,并為用戶提供通知,同時系統用戶可以手動選擇是否刪除以往數據.
統計分析功能依靠前端提供的數據搜索功能查詢底層數據庫.

圖2 系統總體架構圖
圖形處理依靠前端可視化工具針對同一份數據做多圖形展示,便于用戶選擇以及人工分析.
邏輯層的設計主要通過Struts2和Spring框架來完成.通過在項目中引入Spring框架,完成Service,Action,DAO及依賴關系的管理[2]; 邏輯層完成用戶在應用層下達的指令收發(包括數據收發,數據更新,以及數據傳遞).數據傳遞利用Hibernate完成.
Hibernate基于對象-關系映射,即可以將對象與關系數據庫進行對應,生成相應SQL查詢語句.系統利用SQL語句查詢相應結果,并將獲得的數據轉為JSON格式,作為響應提交給應用層以及用戶層.
數據層提供數據采集,以及數據存儲等功能.數據層采集存儲結構圖由圖3所示.
如圖所示,網絡爬蟲完成產品信息提取以及更新; DPI(Deep Packet Inspection)完成消費者購物信息的提取.

圖3 數據采集存儲結構圖
網絡爬蟲程序每次讀取一個URL,下載其對應的網頁中的產品信息,并對其分析.若分析得到新的URL,則重復這一過程,直到滿足一定條件,方可停止.
本系統中,網絡爬蟲定向抓取電商網站中的資源,建立產品信息庫.信息庫主要包括商品、商品ID以及商品描述等,與DPI模塊相呼應.
DPI即深度包檢測技術是一種基于應用層的控制技術和流量檢測技術,能夠高效地識別出各種應用.普通報文檢測通過端口號來鑒定應用類型.而當前網絡上的非法應用會通過隱藏或假冒端口號的方式躲避.在這種情況下,L2~L4層的傳統檢測方法已然失效.不同于傳統方法,DPI通過對網絡流中的數據報文內容進行檢測,從而確定數據報文的真正應用.
DPI作為流量分析工具,其作用是分析底層流量,并利用數據特征對每個用戶的流量進行分流,統計相關事件.系統利用此信息與產品信息庫進行匹配,進而發現用戶瀏覽電商網站詳細行為,比如所瀏覽的產品,網站,時間等.
3.1數據表
網絡爬蟲按照URL將商品信息分網站,分類別,進行爬取,獲得產品信息庫并予以存儲.產品信息主要包括網站名稱,商品ID,商品描述,一級目錄,一級目錄描述,二級目錄,二級目錄描述,三級目錄,三級目錄描述.如圖4所示.

圖4 產品信息庫
DPI根據用戶流量數據包,解析出關鍵信息: 訪問時間,訪問網站,商品ID,源IP,目的IP,源端口以及目的端口,如圖5所示.源IP,可以用來確定屬于同一用戶的數據包,從而定位其整個會話過程的網站瀏覽情況.
當數據庫系統接受到查詢指令,系統將用戶事件信息,與產品信息庫進行關聯,得到用戶在某段時間的具體瀏覽情況.

圖5 用戶瀏覽信息表
3.2后臺查詢模塊
本系統后臺查詢模塊主要完成數據查詢以及數據組裝.考慮到用戶有不同需求,數據組裝功能實現了靈活顯示部分字段、記錄.與此同時,數據組裝功能也包括數據格式轉換.
后臺代碼根據前臺請求,查詢所需字段對應的數據.此過程為了簡化代碼設計,可以在HTTP請求中將所查詢的參數按照SQL語句格式排列好后一并傳入后臺,后臺只需讀取上述已整理好的參數語句即可.簡化代碼如下:

查詢模塊將查詢條件轉為標準SQL語句之后,系統執行查找,得到所需數據并將其轉為JSON格式,以HTTP Response的形式返回客戶端.
3.3前端模塊
3.3.1JQuery
jQuery是一個優秀的JavaScript框架,該框架實現了HTML、JavaScript、CSS三者分離.憑借其優秀的頁面效果以及交互性,已經被廣泛使用; 同時憑借其使用的簡潔性,對DOM強大的操控性和易擴展性受到Web開發人員的喜愛[3].本系統JS代碼均有借助JQuery庫,方便Ajax交互技術.
3.3.2頁面數據請求
前臺頁面完成輸入參數的組裝問題以及請求的提交,以下舉例說明: 根據3.1所述,商品屬性包括網站包含9個屬性,所以頁面上可供選擇的屬性有9個,為了方便用戶選擇,所有屬性均有說明以及復選框,部分相關HTML代碼如下:

如上所示,每一個屬性的type均為checkbox(復選框),另外,name均設置為interest,這種設置為jQuery選擇器提供便利.
客戶端得到所需要查詢的字段,通過jQuery自帶的$.get(),即可以ajax的方式,異步請求數據.
3.3.3Highcharts
數據可視化模塊采用的是Highcharts.Highcharts是一個用純Javascript圖表庫,能夠很便捷地在web網站或是web應用程序中提供直觀,交互性的圖表[4].
Highcharts引入數據方法及其簡便,只需要將組裝好的數據賦予其data配置量即可.
3.3.4可視化展示
系統前端頁面利用jQuery異步請求得到的JSON數據,經解析后作為傳入highcharts的數據.利用此方法以及javascript事件函數,本系統完成了數據3層鉆取并畫圖,利于數據全面分析.關鍵代碼如下:


4.1圖例分析
本文面向電商數據,實現了基于時間段內的用戶購物數據可視化分析.綜上所述,系統用戶可以清楚地分析出在某一時間段內學生在不同電商品牌的購物情況.
本系統實現了以條形統計圖,餅圖,折線圖為主的數據顯示方式,并且所繪制圖形提供下載,保存,同時數據圖形本身提供對應的excel表,方便系統用戶使用.
系統為了更加直觀地展示所有系列商品銷售情況,在上級視圖中,添加數據鉆取功能.以下舉例說明:
如圖6所示,系統針對某時段采集到的數據,繪制出淘寶商城本時段內銷售的商品種類.用戶通過圖形結果,可以較為直觀的看到服裝類基本占據了銷售的主導地位,其次為鞋包.基于以上結論,基本可以肯定學生顧客在基本穿著方面消費較多.
不過基于以上結論,信息量并不足夠,用戶需要知道更加詳細的品牌信息以確定更加精確的銷售策略.

圖6 數據分布餅圖

圖7 男裝品牌分布餅圖
用戶可以通過點擊圖6中的服裝,展示出目前數據所采集到的相關男裝以及女裝品牌,并提供相應視圖,如圖7所示.系統顯示出了男裝各大品牌的銷售情況,銷售商可以根據不同時段的不同數據,緊跟當下潮流,使用相應的供貨手段,盡可能保持盈利.
4.2系統展示優化策略
由于數據量大,系統采取以下措施,作為基本優化策略:
采用ajax方式,即利用異步讀取方式.當客戶需要更新頁面部分圖例,采取局部刷新的方式,減少用戶請求數據量.
SQL語句優化,即盡可能減少表之間的連接,建立合理索引,以提高查詢速度; 同時采取數據分頁顯示,以緩解壓力.
本文針對電商產品數據以及用戶購買行為,設計了一種基于SSH架構的可視化查詢系統.后臺通過網絡爬蟲以及DPI技術建立數據庫,具有數據覆蓋面全的特點; 系統使用B/S架構,具有安裝,部署方便等特點,每一層次都實現了靈活的接口,便于2次開發.
系統將進一步研究原始數據采集中的過濾模塊,減少原始數據存儲壓力,以加快定時更新頻率; 以及產品數據可視化的集成,嘗試實現系統調用外部數據集接口,實現數據靈活的特點.
參考文獻
1楊軍超,雒江濤,申健,鄧生雄.基于MapReduce的校園網用戶網購偏好分析.計算機系統應用,2015,24(10):222–226.
2張建軍,劉虎,倪芳英.基于SSH與Highcharts整合架構的Web應用研究.計算機技術與發展,2013,9:245–247,251.
3周玲余.基于jQuery框架的頁面前端特效的設計與實現.計算機與現代化,2013,1:61–63.
4吳孟春,丁嵐.HighCharts組件在氣象業務中的開發和應用.計算機與網絡,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
基金項目:①重慶市應用開發計劃(cstc2013yykfA40006)
收稿時間:2015-09-22;收到修改稿時間:2015-11-27