王存睿,段曉東
(大連民族學院 大連市民族文化數(shù)字技術重點實驗室,遼寧 大連116605)
線上電子商務供求信息在生產(chǎn)者與銷售商,銷售商與消費者之間傳遞的非常流暢,生產(chǎn)者更能了解消費者的需求,消費者也更容易第一時間從生產(chǎn)者和銷售商處獲得產(chǎn)品信息。相比之下,線下商業(yè)受到了線上電子商務一定程度的擠壓,并且隨著線下商業(yè)自身的發(fā)展,對科學、精細化管理的需求日益迫切。線下商業(yè)數(shù)據(jù)具有復雜性與不確定性的特點。以往通過問卷隨機調(diào)查等方式獲取客流量、顧客偏愛產(chǎn)品等經(jīng)營數(shù)據(jù)難度十分大。
客流分析通過識別移動設備WLAN(Wireless LAN,簡記WLAN)信號對客流實施監(jiān)測[1]。這種方式具有非接觸性和準確性的特點,無需顧客接入商場WiFi 網(wǎng)絡。本文構建了基于WALN 的線下客流分析方法和技術,通過對手機WLAN 信號數(shù)據(jù)包的截獲來分析客流行為。這些數(shù)據(jù)可以幫助商家更全面了解顧客群,優(yōu)化服務策略,提升收益。
無線局域網(wǎng)多采用IEEE802.11 標準,工作在2.4G 和5G 頻段下,其中2.4G 頻段(2412MHz -2467MHz)為WLAN 中主要使用頻段,大多數(shù)WLAN 設備都可以工作在該頻段下,該頻段在全球大部分地區(qū)分為了11 個頻道。
WLAN 設備工作在一個頻道下,在該頻道中存在多個無線局域網(wǎng)。WLAN 主要由站(Station,STA)、接 入 點(Access Point,AP)、無 線 介 質(zhì)(Wireless Medium,WM)和分布式系統(tǒng)(Distribution System,DS)組成。主要設備包含兩類,一類是WLAN 接入點AP,另一類是WLAN 客戶端STA,AP 的作用是為STA 提供接入服務[1]。STA 要先連接注冊到某無線局域網(wǎng)中,這時網(wǎng)卡會在所有支持的頻道反復掃描,接收Beacon 數(shù)據(jù)包,Beacon包是由AP 在其工作的頻道上不斷發(fā)出的。Beacon 包的作用是向所有的STA 進行廣播,告訴一個無線局域網(wǎng)存在并可以連接。
STA 當沒有數(shù)據(jù)包要發(fā)送的時候在某特定的頻率上監(jiān)聽,如數(shù)據(jù)包的發(fā)送者不是與其連接的AP,則直接丟棄數(shù)據(jù)包,如果是與自己連接的那臺AP 則收到數(shù)據(jù)包后,進行完整性校驗,如果數(shù)據(jù)包損壞則直接丟棄;如果數(shù)據(jù)包完整,則驗證數(shù)據(jù)包接收者MAC 地址是否與自身MAC 地址相符,如不是則丟棄該數(shù)據(jù)包;如果是,則將數(shù)據(jù)包交給操作系統(tǒng)內(nèi)核進一步處理。從流程中可以看出,如按照正常的網(wǎng)卡工作流程,無法獲得所需要的信息,因為數(shù)據(jù)包在網(wǎng)卡驅(qū)動程序?qū)泳椭苯颖粊G棄。要截獲和分析數(shù)據(jù)需要對WALN 的混雜模式(Promiscuous Mode)和監(jiān)聽模式(Monitor Mode)進行分析?;祀s模式(Promiscuous Mode)下,網(wǎng)卡對收到的數(shù)據(jù)包只會進行完整性校驗,無線局域網(wǎng)是需要STA 主動連接AP 加入網(wǎng)絡,因不可能獲得所有AP 的密碼,所以也就無法與其連接獲取數(shù)據(jù)包。監(jiān)聽模式(Monitor Mode)是無線網(wǎng)卡所特有的一種極為特殊的工作模式,網(wǎng)卡不加入任何無線局域網(wǎng),而是直接在指定的某一個頻道下監(jiān)聽所有設備發(fā)出的數(shù)據(jù)包,接收到數(shù)據(jù)包后,校驗數(shù)據(jù)包的完整性,將數(shù)據(jù)包交給內(nèi)核處理。因此監(jiān)聽模式適于對移動設備進行數(shù)據(jù)分析和統(tǒng)計。
無線網(wǎng)卡只能工作在WLAN11 個頻道中的一個頻道,最大限度獲取盡可能多的數(shù)據(jù)包成為首要解決的問題。本文給出兩種技術方案:一種解決方案構建由11 張網(wǎng)卡組成的陣列,每個網(wǎng)卡處于1 個頻道中,優(yōu)點是可以毫不遺漏地接收到所有的數(shù)據(jù)包,缺點是硬件成本過高,并且協(xié)調(diào)處理這11 個網(wǎng)卡捕獲到的數(shù)據(jù)較為復雜[2];另一種解決方案是網(wǎng)卡跳頻技術,即無線網(wǎng)卡先在某一個頻道工作一段時間,然后切換到另一個頻道再工作一段時間,再切換到下一個頻道進行循環(huán)。該技術方案優(yōu)點是硬件成本低,方便數(shù)據(jù)處理,缺點是無法獲取全部的數(shù)據(jù)包,會遺漏剩余10 個頻道的信息。經(jīng)過大量實驗證明WLAN 設備在無線局域網(wǎng)中發(fā)送數(shù)據(jù)包極為頻繁,每秒鐘最多可以達到上百個數(shù)據(jù)包,采用跳頻技術雖會遺漏部分數(shù)據(jù),但是如果跳頻時間間隔設置合理,可以收集到足夠多的數(shù)據(jù)包進行無線設備行為分析。本文對跳頻技術方案進行測試及驗證,參數(shù)包括頻道和跳頻間隔時間。
(1)確定采集頻道
采集WLAN 數(shù)據(jù)并不需要在所有頻道捕獲數(shù)據(jù)包,而只需要在1、6、11 頻道捕獲,因為802.11標準把2.4 GHz 的頻段劃分為14 個互相重疊的頻道(中國使用1 ~11 頻道),每個頻道的中心頻率相差5MHz,在每個頻道發(fā)射與接收時,雖然只使用中心頻率附近的一段頻寬,可還會對周圍的頻道造成干擾。由于802.11 標準沒有規(guī)定每個頻道的頻寬,而只分別規(guī)定了中心頻率與頻譜遮蔽(Spectral Mask),頻譜遮蔽的含義是正常發(fā)射時對周圍頻率的影響程度。802.11b 的頻譜遮蔽要求為:在中心頻率±11 MHz 處,至少衰減30 dB(只剩發(fā)射功率的1/2^30),±22 MHz 處要衰減50 dB(只剩發(fā)射功率的1/2^50)。頻譜遮蔽只規(guī)定到距離中心頻率±22 MHz 處的射頻能量限制,所以實際應用中都認為一個頻道所影響的頻寬小于44 MHz(±22MHz)。
頻道1 與6、6 與11 之間間隔25 MHz,大于22 MHz,所以1 與6、6 與11 頻道之間互相影響和干擾較少,為3 個最優(yōu)頻道。實際中絕大多數(shù)的AP 都工作在這3 個頻道下,正規(guī)運營商在公共場所架設的AP 全部工作也在這3 個頻道下。因此系統(tǒng)只需要在這3 個頻率下捕捉數(shù)據(jù)包。即使有架設不規(guī)范的AP 設備,工作在1、6、11 頻道以外的頻道上,也能捕捉到鏈接到這個AP 上的WLAN設備發(fā)出的信號。因為即便WLAN 設備已經(jīng)連接上了一個AP,為了保證可在AP 之間漫游的特性,WLAN 設備還會繼續(xù)在所有的頻道定期廣播一種叫Prob 包的控制包,Prob 包的作用是請求AP 信息,AP 在收到Prob 包之后會主動把自身信息參數(shù)發(fā)回給Prob 包的發(fā)出者。因此即便有不規(guī)范的AP 工作在1、6、11 以外的頻道上,與其鏈接的STA 依然會在1、6、11 頻道里發(fā)送Prob 包,捕捉到這些Prob 包后,可以從中提取有用信息,實現(xiàn)對這個STA 的監(jiān)測與統(tǒng)計。
(2)跳頻間隔實驗
確定在哪幾個頻道內(nèi)捕獲數(shù)據(jù)包以后,還需要確定跳頻的間隔。為了確定跳頻的最佳間隔,本文設計并進行了如下實驗:在一個相對穩(wěn)定的無線網(wǎng)絡環(huán)境下,編寫實驗程序進行抓包。首先不進行跳頻,分別在1、6、11 頻道各抓包1 min,統(tǒng)計抓到的數(shù)據(jù)包個數(shù),作為基準值。然后從間隔0.1 s 開始,在1、6、11 頻道跳頻,進行抓包,抓包時長1 min,統(tǒng)計抓到的數(shù)據(jù)包個數(shù)以及這些數(shù)據(jù)包來自多少個不同的WLAN 設備。以0.1 s 為步長,分別間隔0.2,0.3,0.4……1 s 跳頻,重復上述步驟,進行抓包并統(tǒng)計。另外,為了驗證跳頻時間間隔過短會對系統(tǒng)性能造成嚴重影響,還分別以間隔1μs,1 ms,10 ms 為間隔,進行上述實驗。網(wǎng)絡環(huán)境的6 頻道最為繁忙,1 頻道不定期會出現(xiàn)較多數(shù)據(jù)包,11 頻道幾乎沒有數(shù)據(jù)包。在這種環(huán)境下,實驗結果較為明顯。捕獲不到數(shù)據(jù)包的時間包括跳頻過程中的時間和在空閑頻道的時間,如果跳頻間隔過短,跳頻過程中的時間會占據(jù)很大的一份比例。如果跳頻間隔過長,則很容易留在空閑頻道而錯過其它頻道的數(shù)據(jù)包。最終捕獲的數(shù)據(jù)包個數(shù)最多的跳頻間隔為最優(yōu)間隔。重復實驗10 次,得到的平均值見表1。
表1 不同跳頻間隔時間下的數(shù)據(jù)捕獲結果
由實驗結果可以明顯看出,當跳頻間隔為0.6 s時,捕獲的數(shù)據(jù)包數(shù)量最多,0.6 s 的間隔為最優(yōu)間隔。
捕獲有效數(shù)據(jù)包后,要從中分離有用的信息。802.11 協(xié)議下,無線局域網(wǎng)中的數(shù)據(jù)幀(包)的結構與類型如圖1[3-4]。
圖1 IEEE802.11 所規(guī)定的基本幀格式
Preamble 是一個前置標志,告訴設備這是一個802.11 數(shù)據(jù)幀;PLCP 域中是一些物理層的協(xié)議參數(shù),顯然Preamble 及PLCP 是物理層的細節(jié);MAC 層處理幀數(shù)據(jù),截取圖1 中MAC 頭開始的部分構成MAC 幀格式如圖2。
圖2 MAC 幀格式
其中MAC Header(MAC 頭):Frame Control(幀控制域)、Duration/ID(持續(xù)時間/標識)、Address(地址域)、Sequence Control(序列控制域)、QoS Control(服務質(zhì)量控制)。Frame Control 格式如圖3。
圖3 幀控制域的格式
Protocol Version 默認值為0;Type 與Subtype的作用是判定幀的類型;To DS 是指該幀是從BSS發(fā)送到DS 的幀;而From DS 卻相反,是指由DS 向BSS 發(fā)送的幀;More Frag 用于說明是否還有后續(xù)幀;Retry 主要用于幀的重傳。當Pwr Mgt 為1 時,STA 為power_save 模式,為0 時,為active 模式;More Data 為1 時,表明至少還有一個數(shù)據(jù)幀要發(fā)送給STA ;當Protected Frame 為1 時,幀體數(shù)據(jù)是加密的,0 是明文。Order 值為1 時,長幀分段傳送采用嚴格編號方式,否則為0。
本文構建WLAN 信號分析系統(tǒng),采用了多層軟件設計:分為捕獲層、數(shù)據(jù)及挖掘和分析層、呈現(xiàn)層其系統(tǒng)架構圖如圖4。
圖4 系統(tǒng)架構圖
圖5 WIFI 商業(yè)線下分析系統(tǒng)
(1)捕獲層
捕獲端與無線網(wǎng)卡一同工作,部署在實際的使用環(huán)境中,例如大型商場。捕獲端與數(shù)據(jù)庫通過網(wǎng)絡連接,作用是捕獲數(shù)據(jù)包并進行預處理,然后插入數(shù)據(jù)庫中以待進一步的數(shù)據(jù)挖掘處理。捕獲端可以有多個,一同工作,同時向數(shù)據(jù)庫輸出信息。
(2)數(shù)據(jù)庫及挖掘分析層
數(shù)據(jù)庫負責存儲捕獲端捕獲的數(shù)據(jù),數(shù)據(jù)庫端采用MySQL。數(shù)據(jù)挖掘?qū)又饕糜诓煌杉藦钠渌谖恢冒l(fā)送給數(shù)據(jù)庫合并數(shù)據(jù),對數(shù)據(jù)進行清洗過濾,同時計算顧客的相應的行為,停留時間,結合歷史數(shù)據(jù)對其行為進行分析。此外,還可以通過設置進行數(shù)據(jù)跟蹤單一顧客行為。經(jīng)過統(tǒng)計分析和處理形成客流數(shù)據(jù),并構建Web 服務進行發(fā)布。
(3)呈現(xiàn)層
呈現(xiàn)層把數(shù)據(jù)挖掘曾挖掘出的數(shù)據(jù)與統(tǒng)計結果等呈現(xiàn)給本系統(tǒng)的最終用戶,如商場管理人員,業(yè)主等。呈現(xiàn)層可以是多種多樣的,如WEB,Android 客戶端,IOS 客戶端,桌面應用程序等。
如圖5WIFI 商業(yè)線下分析系統(tǒng)能夠準確識別周邊WLAN 信號,區(qū)分AP 與STA,并將移動終端的生成廠家進行識別,計算顧客的信號強度、停留時間、出現(xiàn)次數(shù)。還可以對當前人數(shù)、當天人數(shù),當日新顧客和老顧客、AP 數(shù)量和所有顧客的平均停留時間進行統(tǒng)計,然后將數(shù)據(jù)存儲于網(wǎng)絡數(shù)據(jù)庫。該客戶端可以部署在運行LINUX 系統(tǒng)的嵌入式和PC 設備上。
(1)抓取的數(shù)據(jù)包內(nèi)不包含發(fā)送者的MAC 地址
問題描述:在實驗中,會收到不包含發(fā)送者的MAC 地址的數(shù)據(jù)包。這會導致程序無法判斷數(shù)據(jù)包的來源出現(xiàn)異常。這些數(shù)據(jù)包屬于特定的WLAN 控制幀,本文在程序的數(shù)據(jù)包處理模塊將此類控制幀的數(shù)據(jù)包過濾丟棄。
(2)出現(xiàn)用戶抖動現(xiàn)象
問題描述:處在系統(tǒng)信號接收范圍邊緣的設備,由于文中提到的影響信號強度的各種原因,信號強度時大時小,而其設備本身并未移動,容易造成使系統(tǒng)誤判其來回進出商場。本文根據(jù)日常生活中的真實情況,某顧客來回反復進出商場是不合理的。為避免上述情況,本文設定如果某設備頻繁進出,且信號強度小于一定閾值,則認為該設備是有效的,忽略此類信息。
本文構建的基于WLAN 監(jiān)聽的線下商業(yè)客流分析,詳細的分析了系統(tǒng)的解決方案和實施過程中存在的工程問題。通過實驗找出了部署成本較低的線下客流分析方案,實驗結果也表明該系統(tǒng)的有效性和商業(yè)使用性,該系統(tǒng)可為商業(yè)賣場等提供成本較低的線下客流分析提供解決方案。
[1]滕勁,徐昌慶. WiFi 中多AP 間快速切換的研究與實現(xiàn)[J]. 通信技術,2009(11):121 -123.
[2]楊衛(wèi)東. IEEE802.11 無線網(wǎng)絡媒體訪問控制及認證協(xié)議研究[D].西安:西安電子科技大學,2008.
[3]聶家發(fā). 關于802.11 協(xié)議的研究[D].哈爾濱:哈爾濱工程大學,2004.
[4]李浩,高澤華,高峰,等. IEEE 802.11 無線局域網(wǎng)標準研究[J]. 計算機應用研究,2009,05:1616 -1620.