[李兵 蔣燕 劉漢江]
物聯(lián)網(wǎng)云平臺[1~2]能為智能設(shè)備提供安全可靠的連接通信能力,向下連接海量設(shè)備,支撐設(shè)備數(shù)據(jù)采集上云;向上提供云端API,服務端通過調(diào)用云端API 將指令下發(fā)至設(shè)備端,實現(xiàn)遠程控制。目前大部分關(guān)于物聯(lián)網(wǎng)云平臺的研究主要在流量控制策略[3]、網(wǎng)關(guān)接入與通信建模[4~5]等方面,關(guān)于物聯(lián)網(wǎng)云平臺的用戶行為預測的研究較為少見,這不利于系統(tǒng)提供商及時掌握用戶的使用情況及業(yè)務變遷。目前關(guān)于網(wǎng)絡(luò)平臺應用系統(tǒng)的用戶行為預測研究主要使用Markov 鏈[6]、協(xié)同推薦算法[7]、人工神經(jīng)網(wǎng)絡(luò)[8]等方法,但這些算法模型在物聯(lián)網(wǎng)云平臺的特定應用下適用性有限,且難以感知高值用戶的行為特征及其變化。
本文提出了一種基于用戶感知的Markov(Userperceptive Dynamic Markov,簡稱UPDM)模型用于物聯(lián)網(wǎng)云平臺用戶的事件預測,其基本思想如下:基于現(xiàn)下物聯(lián)網(wǎng)云平臺等級用戶群分類,我們建立兩張Markov 矩陣分別用于保存高值用戶與低值用戶在各事件之間的轉(zhuǎn)移狀況。通過采集用戶真實數(shù)據(jù)對兩張Markov 矩陣進行訓練,在預測過程中根據(jù)用戶的會話事件行為不斷對矩陣進行更新,賦以模型動態(tài)感知能力。針對云平臺用戶群劃分的事件預測研究具有較為重要的應用價值:(1)能有效地感知用戶的業(yè)務動態(tài)變化,有利于配套服務產(chǎn)品的推廣與后續(xù)個性化服務推薦[9];(2)能有效地指導物聯(lián)網(wǎng)云平臺的計算資源部署與系統(tǒng)結(jié)構(gòu)優(yōu)化。
本文第2 節(jié)介紹了物聯(lián)網(wǎng)云平臺的等級用戶群模式下的一些定義;第3 節(jié)提出了UPDM 模型,并闡述了該模型的評價指標;我們在第4 節(jié)基于從國內(nèi)某物聯(lián)網(wǎng)云平臺服務提供商的真實數(shù)據(jù)進行了實驗并分析實驗結(jié)果;第5節(jié)總結(jié)了全文。
定義1.等級用戶群:在物聯(lián)網(wǎng)云平臺中,服務提供商大多會根據(jù)付費值、平臺社區(qū)內(nèi)容建設(shè)貢獻等內(nèi)容對注冊用戶進行等級用戶群劃分。
中國主流的物聯(lián)網(wǎng)云平臺[10]如OneNET、阿里云物聯(lián)網(wǎng)平臺、華為Ocean Connect 等大多都會對用戶進行等級群劃分.這種等級用戶群劃分模式有利于在后期針對不同的用戶群提供不同質(zhì)量的服務:高值用戶比例雖少,但接入設(shè)備量往往較大,是平臺資源的主要使用者與主要收益來源;普通用戶數(shù)量龐大,設(shè)備接入類型往往單一且比重較少。本文根據(jù)是否付費、平臺社區(qū)建設(shè)貢獻值高低將用戶劃分為深度用戶與普通用戶。
定義2.關(guān)鍵事件路徑(Critical Events Path,簡稱CEP):用戶在登錄物聯(lián)網(wǎng)云平臺后經(jīng)過一系列的關(guān)鍵事件(如傳感器與執(zhí)行器添加,觸發(fā)器與控制器的添加等)進行物聯(lián)網(wǎng)設(shè)備的操作。一些非關(guān)鍵性的用戶操作事件,如查看系統(tǒng)消息等,不計入關(guān)鍵事件路徑中。用戶的CEP 可從云平臺服務器的訪問日志數(shù)據(jù)清洗處理得到,圖1 為某物聯(lián)網(wǎng)云平臺的CEP 結(jié)構(gòu)圖。例如,一次事件路徑為“事件0 → 事件10 → 事件101 → 事件1010 → 事件4”的序列,表示用戶登錄云平臺后進入設(shè)備管理的傳感器管理界面,添加溫度傳感器后,進入項目信息查看設(shè)備曲線。
圖1 用戶在物聯(lián)網(wǎng)云平臺的CEP 結(jié)構(gòu)圖
定義3.用戶會話序列:指用戶登錄物聯(lián)網(wǎng)云平臺后,以時間為順序發(fā)起的一系列關(guān)鍵事件操作后退出瀏覽器或客戶端的過程。用Se{Se0,Se1,Se2,…,SeN}表示按時間序列排列的會話序列集合,其中Sei(j)指第i個會話序列的第j 個關(guān)鍵事件的編號,Sei(0)為Login 成功事件。
定義4.用戶感知矩陣:如果一個物聯(lián)網(wǎng)云平臺有m個關(guān)鍵事件,根據(jù)k個用戶的在云平臺空間的所有會話事件序列,我們可以建立一個維的矩陣,每一行表示1 個用戶對這m個關(guān)鍵事件的操作情況。
Sij表示從標號為i的事件轉(zhuǎn)移到標號為j事件的數(shù)量值;λi表示用戶會話成功登錄后,第一個關(guān)鍵路徑事件標號為i的數(shù)量值。表示見式(2),它由k個深度用戶組成的感知矩陣,維矩陣,用于記錄k個深度用戶標識(Uid),維矩陣,用于記錄對應用戶對這m個關(guān)鍵事件的操作情況。
為了實現(xiàn)模型的動態(tài)更新,本文設(shè)置了α與β,它們分別為轉(zhuǎn)移矩陣(包括初始矩陣)和用戶感知矩陣的衰減因子,其定義域為該模型中引入α的目的在于:每天數(shù)據(jù)預測完成后,乘以轉(zhuǎn)移矩陣A 與初始狀態(tài)矩陣λ,對歷史總記錄進行衰減。使得與當前時間相距越久的記錄衰減次數(shù)越多,保證模型始終能偏重于用戶的最近業(yè)務事件,有效地避免模型的反復訓練。是完全忽略歷史記錄,從當天重新訓練模型;則表示歷史記錄不衰減。同理,我們在模型中引入用戶感知衰減因子β,在每次會話結(jié)束后,乘以該會話所屬用戶的一維感知向量,使用戶最近的會話衰減小,遠期歷史會話衰減大,實現(xiàn)U 矩陣對該用戶的感知能力不斷動態(tài)更新。
本節(jié)介紹UPDM 模型,該模型的應用包括數(shù)據(jù)訓練算法與預測算法兩部分。
3.1.1 UPDM 訓練算法
輸入:連續(xù)時段T 內(nèi)的會話Se{Se1,Se2,…,SeN}
輸出:UPDM 模型六元組
過程:如圖2 所示,遍歷T 時段所有會話序列,當發(fā)現(xiàn)日期更替時,先對狀態(tài)轉(zhuǎn)移矩陣與初始矩陣進行衰減,否則直接根據(jù)會話事件序列更新狀態(tài)轉(zhuǎn)移矩陣A 中的Sij 及初始控制矩陣λ。根據(jù)這個會話用戶標識查找,對該用戶感知矩陣進行β 衰減后再更新,如果判定該用戶為深度用戶則產(chǎn)生一個新的用戶,將矩陣擴大一行,后將其插入到U 矩陣。
圖2 用戶在云平臺的CIP 樹型圖
3.1.2 UPDM 預測算法
輸入:連續(xù)時段內(nèi)的Se 序列{Se1,Se2,…,SeN}、訓練后的UPDM 模型。
輸出:新的UPDM 模型六元組
過程:按時間順序遍歷會話,其算法流程分4 步。
Step1:根Uid 判定用戶所屬用戶群,若Uid 屬深度用戶,則進入Step2,若屬普通用戶則進入Step3。
Step2:先遍歷該會話的事件序列,下一時刻t的關(guān)鍵事件預測規(guī)則如式(3):
Step3:遍歷會話事件序列使用以下公式(5)進行下一事件預測:
其多階加權(quán)模式如式(6)所示:
Step4:更新Markov 模型,算法見UPDM 訓練算法。
空間存儲復雜度:UPDM 模型的空間存儲復雜度[12]由其深度用戶數(shù)u與云平臺事件數(shù)m決定。UPDM 模型的空間存儲包括三部分:轉(zhuǎn)移矩陣A、初始狀態(tài)矩陣λ、及用戶感知矩陣U.A 矩陣存儲空間為m2,λ 的存儲空間為m,用戶感知矩陣的存儲空間為(m+1)*u。由于u遠大于m,所以其空間存儲復雜為度0(um)。較之于傳統(tǒng)Markov 模型存儲空間0(m2)要大,但對于一個擁有2 000 萬深度用戶數(shù)的物聯(lián)網(wǎng)云平臺,假設(shè)該云平臺有100個關(guān)鍵事件,其存儲空間只須4TB,即一臺中小型服務器的存儲空間即可,這在空間存儲開銷上可以接受。
計算時間復雜度[13]:UPDM 模型建立在物聯(lián)網(wǎng)云平臺用戶的等級用戶群模式基礎(chǔ)上,對低值用戶直接查找轉(zhuǎn)移矩陣表即可進行事件預測,但對于高值用戶的事件行為預測,須先從用戶感知矩陣中查找該用戶標識從而提取感知向量。如果使用二分法查找,時間復雜度為log2(u)。對于擁有深度用戶數(shù)u=2000 萬的物聯(lián)網(wǎng)云平臺,只須24.35 次查找即可。UPDM 模型相比傳統(tǒng)Markov 算法增大了開銷,但與BP 神經(jīng)網(wǎng)絡(luò)等算法時間復雜度[14]相比計算量大幅降低,UPDM 模型在計算量上可行性很高。
我們用于評估該模型的性能指標定義如公式(7)、(8)。
PA 表示預測準確率,PP 是預測下一事件的數(shù)量,PPSA 是PP 在下一事件真實發(fā)生的數(shù)量。PA 用于評估UPDM 模型對事件預測的準確性。
FC 為流量覆蓋率,CFT 為正確預測事件的網(wǎng)絡(luò)流量,TRT 為總請求事件流量。FC 用于評估UPDM 模型對云平臺的系統(tǒng)流量預測準確率。
UPDM 模型是在犧牲較少量空間存儲與計算資源的基礎(chǔ)上嘗試大幅提高用戶關(guān)鍵事件的預測準確率與流量覆蓋率。
我們從武漢市某物聯(lián)網(wǎng)云平臺服務器采集到日期從2020.10.12~2020.11.01 共3 個星期的log 日志數(shù)據(jù),共包括3 442 個注冊用戶的898 677 條記錄,每條記錄包括請求時間,用戶標識,客戶端IP,目的IP,客戶端端口,目的端端口,上、下行流量,請求內(nèi)容格式、DNS、URL、用戶代理等信息。
經(jīng)過預處理后,我們整理出42 682個會話(共276 403次事件),兩類用戶的統(tǒng)計信息如表1 所示.在本實驗中,我們的用戶感知矩陣U 只須保存633 個深度用戶的特征向量。
表1 等級用戶群的統(tǒng)計信息
結(jié)合該物聯(lián)網(wǎng)云平臺(其站點界面如圖3 所示)的系統(tǒng)功能分析,我們共提取出96 個關(guān)鍵頁面。
圖3 某物聯(lián)網(wǎng)云平臺的站點功能模塊
我們將2020.10.12~2020.10.18 的會話集作為UPDM模型的訓練集,2020.10.19~2020.11.01兩星期的會話數(shù)據(jù)作為測試數(shù)據(jù)集,進行實驗驗證。
實驗1 比較了在h=1,(即所有歷史記錄不衰減)下,UPDM 模型在不同用戶感知矩陣衰減因子β變化下隨時間推進的預測準確率,如圖4 可知,衰減因子在較大的時候(β=0.85 左右)預測準確率最高。
圖4 不同β 下的UPDM 模型預測準確率
實驗2 比較了在h=1,β=0.85 下,UPDM 模型在不同轉(zhuǎn)移矩陣衰減因子α變化下隨時間增長的預測準確率。從圖5 可知,隨著衰減因子α增大,預測準確率不斷提高,說明在較短時間(3 個星期)內(nèi),用戶的群體物聯(lián)網(wǎng)業(yè)務變化并不顯著。α=0.95 與α=1 時預測準確率大致相等,我們在以后的云平臺用戶事件預測應用中應取α=0.95,這樣當用戶興趣轉(zhuǎn)移時,我們也能準備地為用戶預測。
圖5 不同 α 下的UPDM 模型預測準確率
在以上兩個實驗中,我們?nèi)〉昧撕线m的衰減因子α=0.95 與β=0.85,兩組圖曲線之所以逐漸升高是因為隨著時間的拉長,U的維數(shù)變得更大,能感知更多的用戶。
實驗3 比較了在衰減因子α=0.95 與β=0.85 下,隨著h值不同,UPDM 模型的預測準確率(如圖6 所示),我們發(fā)現(xiàn):增大h值對預測準確率的提高并不顯著,說明在測試數(shù)據(jù)較短(本實驗采用2 個星期的測試數(shù)據(jù)集)的情況下,我們實際應用時無須使用多階加權(quán)組合模型。
圖6 不同h 值UPDM 模型的預測準確率
實驗4 比較了在在衰減因子α=0.95、β=0.85 和h=1的情況下,不同Markov 模型隨時間推進的預測準確率以及在不同會話事件序列長度下的預測準確率,分別如圖7與圖8 所示。其中傳統(tǒng)Markov 鏈為訓練數(shù)據(jù)后固化轉(zhuǎn)移矩陣,預測模型不再更新;動態(tài)Markov 鏈表示無用戶感知矩陣(即對深度用戶與普通用戶采取共同的預測規(guī)則),只對狀態(tài)轉(zhuǎn)移矩陣A 與初始狀態(tài)矩陣λ 的更新。圖7 表明:UPDM 模型隨時間推進預測準確率較傳統(tǒng)Markov 鏈模型與無用戶感知的動態(tài)Markov 鏈模型有了較大提升,這是因為用戶感知矩陣收集了每個用戶的事件行為特性,其預測準確率可高達66%以上。但隨著時間的長期推進,用戶群體興趣可能發(fā)生改變,傳統(tǒng)的Markov 模型的預測準確率由于未對矩陣實時更新,后期持續(xù)下降;而動態(tài)Markov 模型的預測準確率由于保持動態(tài)更新,不會出現(xiàn)明顯下降的現(xiàn)象。
圖7 不同預測模型的預測準確率
圖8 中UPDM 模型的預測準確率會隨著會話長度遞增趨于穩(wěn)定,是因為長會話大都是深度用戶所產(chǎn)生,其特性在用戶感知矩陣保存得比較全面;而傳統(tǒng)Markov 模型與無用戶感知的動態(tài)Markov 模型只按用戶總體轉(zhuǎn)移狀態(tài)矩陣進行預測,深度用戶對一些非常用物聯(lián)網(wǎng)業(yè)務操作的使用記錄被削弱,故而在會話長度超過10 后準確率反而會下降。
實驗5 比較了3 種預測模型隨時間的流量覆蓋率,如圖9 所示。從圖可知UPDM 模型的流量覆蓋率高達45%且遠遠高于其它模型,反映了UPDM 模型在物聯(lián)網(wǎng)云平臺系統(tǒng)優(yōu)化方面潛力。
圖9 各預測模型的流量覆蓋率
物聯(lián)網(wǎng)云平臺作為現(xiàn)下“云-管-端”一體化的物聯(lián)網(wǎng)生態(tài)系統(tǒng)[15]的重要環(huán)節(jié),其用戶的事件行為能體現(xiàn)其物聯(lián)網(wǎng)業(yè)務的遷移,實現(xiàn)高準確率預測意義重大。實驗結(jié)果表明:基于等級用戶群劃分的UPDM 事件預測模型,克服了傳統(tǒng)靜態(tài)Markov 模型、無用戶感知動態(tài)Markov鏈模型在預測過程中缺乏用戶感知與人工神經(jīng)網(wǎng)絡(luò)算法高計算復雜度的問題,充分考慮到用戶業(yè)務隨時間推進的變化,既能為高值用戶提供用戶感知的精準預測,也能保證系統(tǒng)對普通用戶的服務質(zhì)量,同時對于物聯(lián)網(wǎng)云平臺的計算資源部署與站點導航的優(yōu)化也具有較好的指導意義。此外,我們的模型對于研究其它的應用網(wǎng)絡(luò)平臺的用戶事件行為也有一定的參考價值。未來我們的工作方向?qū)㈥P(guān)注兩個方面:①本文UPDM 事件預測模型的測試數(shù)據(jù)集較為有限,模型固化后僅采用上一事件狀態(tài)進行預測,后期我們將采集更長期數(shù)據(jù)進行測試與模型改進;② 將動態(tài)Markov 鏈模型與深度學習算法結(jié)合,改進事件預測模型,使之在各類應用網(wǎng)絡(luò)平臺的用戶事件行為預測時具有更強的適應性。