楊 杰,鄧旭冉,翟春婕
(1.江蘇省公安廳, 江蘇南京 210024; 2.新疆生產(chǎn)建設(shè)兵團公安局, 新疆烏魯木齊 830002;3.南京森林警察學(xué)院信息技術(shù)學(xué)院, 江蘇南京 210023)
近年來,隨著公安大數(shù)據(jù)戰(zhàn)略的全面實施,公安大數(shù)據(jù)分析應(yīng)用進入高速發(fā)展期,迅速成為學(xué)術(shù)界、產(chǎn)業(yè)界研究的新熱點,提出了一系列技術(shù)實現(xiàn)方法,在服務(wù)公安工作中發(fā)揮了重要作用[1-3]。但隨著公安實戰(zhàn)應(yīng)用的不斷深入和數(shù)據(jù)增長的不斷提速,現(xiàn)有分析方法的瓶頸越來越為明顯:①現(xiàn)有方法大多基于存儲在同一數(shù)據(jù)中心甚至是單一Hadoop集群的數(shù)據(jù)開展分析[4-5],但當前公安數(shù)據(jù)資源大多按屬地或業(yè)務(wù)歸屬分散存儲在市、縣級公安機關(guān)或職能警種的數(shù)據(jù)中心,若將數(shù)據(jù)向統(tǒng)一的公安大數(shù)據(jù)中心物理集中后再開展分析,抽取傳輸時間、云平臺資源消耗等都存在極大成本,且部分警種的數(shù)據(jù)資源因政策限制只能存儲在本警種數(shù)據(jù)中心,不能向統(tǒng)一的公安大數(shù)據(jù)中心開放匯聚。②現(xiàn)有方法大多基于全量數(shù)據(jù)開展分析[6-7],但當前的公安數(shù)據(jù)資源不僅總量是大數(shù)據(jù),周期內(nèi)的增量也具有一定規(guī)模的數(shù)據(jù)量,若每個更新周期后總是基于新的全量數(shù)據(jù)開展分析,其運算時間會隨著更新周期的增加而急速增長,很容易導(dǎo)致分析結(jié)果因不符合時效要求而失去實戰(zhàn)價值。上述兩個問題,使得現(xiàn)有分析方法要么在多數(shù)據(jù)中心分布式數(shù)據(jù)存儲環(huán)境下無法有效執(zhí)行,要么運算時間過長無法滿足實戰(zhàn)應(yīng)用的高時效要求。李偉等人[8]的研究也表明,將12億條“電子警察”抓拍車牌數(shù)據(jù)從不同的Oracle數(shù)據(jù)庫抽取集中到統(tǒng)一的HDFS存儲環(huán)境,耗時長達3小時10分鐘;在10臺PC服務(wù)器組成的Hadoop集群中以40個初始Map執(zhí)行套牌車分析模型,完成上述12億條數(shù)據(jù)的計算耗時長達50分鐘。
圖1 公安大數(shù)據(jù)多數(shù)據(jù)中心跨節(jié)點分布式分析技術(shù)框架
上述典型問題,國內(nèi)各大運營商和互聯(lián)網(wǎng)企業(yè)在其技術(shù)發(fā)展過程中也都先后經(jīng)歷過,到現(xiàn)階段都走向了以云計算為基礎(chǔ)的多數(shù)據(jù)中心分布式協(xié)同的技術(shù)路線[9-10]。本文針對公安大數(shù)據(jù)應(yīng)用需要,研究提出一種多數(shù)據(jù)中心跨節(jié)點協(xié)同的分布式分析技術(shù)框架,支持公安大數(shù)據(jù)在不需要物理集中、多節(jié)點分區(qū)分域存儲條件下,實現(xiàn)跨多個數(shù)據(jù)中心的分布式協(xié)同分析、多節(jié)點并行分析和可持續(xù)增量分析。其主要思想是:借鑒邊緣計算模式,將下級公安數(shù)據(jù)中心或橫向警種數(shù)據(jù)中心作為邊緣節(jié)點,并指定一個匯聚節(jié)點。實現(xiàn)過程中,將公安大數(shù)據(jù)分析的具體算法拆解為按序先后執(zhí)行的若干步驟:首先,在各邊緣節(jié)點完成節(jié)點本地計算步驟,得到局部結(jié)果集,不同邊緣節(jié)點之間執(zhí)行相同的算法步驟,形成并行計算;然后,將各邊緣節(jié)點局部結(jié)果集傳送到指定的匯聚節(jié)點,并在匯聚節(jié)點完成全局計算步驟,得到全局結(jié)果集。更進一步,在每個增量周期末,對新增的數(shù)據(jù)按上述策略在各邊緣節(jié)點并行完成局部計算,計算結(jié)果在與本節(jié)點已有局部結(jié)果集合并的同時傳送到匯聚節(jié)點,然后在匯聚節(jié)點完成已有全局結(jié)果集與各邊緣節(jié)點增量計算結(jié)果集的全局合并,從而同步實現(xiàn)局部結(jié)果集和全局結(jié)果集的可持續(xù)增量更新。上述過程重復(fù)迭代,就實現(xiàn)了公安大數(shù)據(jù)分析的多數(shù)據(jù)中心跨節(jié)點分布、并行、增量計算,既破解了現(xiàn)有分析方法在公安數(shù)據(jù)資源多數(shù)據(jù)中心跨節(jié)點分布式存儲條件下無法執(zhí)行的問題,又破解了每次分析運算只能基于全量數(shù)據(jù)開展的困局,極大提高了計算效率和結(jié)果準確性,其基本流程如圖1所示。
基于上述多數(shù)據(jù)中心跨節(jié)點分布式分析技術(shù)框架,本文進一步研究提出了公安大數(shù)據(jù)分析方法的分布式并行增量計算實現(xiàn)方法,主要采用較為常見的規(guī)則統(tǒng)計類分析和算法建模類分析。
規(guī)則統(tǒng)計類分析應(yīng)用,主要是以各類業(yè)務(wù)規(guī)則為判斷條件,進行條件比較、算術(shù)計算和計數(shù)統(tǒng)計等運算,以應(yīng)用極為廣泛的軌跡伴隨分析為例,其實現(xiàn)過程如下:
(1)將確定的伴隨分析運算規(guī)則(時間距離、空間距離、伴隨次數(shù)等約束條件)分發(fā)到每個邊緣節(jié)點;
(2)在所有邊緣節(jié)點并行完成本地數(shù)據(jù)的伴隨分析,對符合約束條件的計算結(jié)果輸出為本節(jié)點局部結(jié)果集;
(3)將各個邊緣節(jié)點的局部結(jié)果集傳送到指定的匯聚節(jié)點,進行局部結(jié)果集的全局合并計算,得到全局結(jié)果集;
(4)當有周期增量數(shù)據(jù)進入時,就對增量數(shù)據(jù)重復(fù)執(zhí)行上述過程,并在邊緣節(jié)點和匯聚節(jié)點分別完成增量計算結(jié)果與已有存量結(jié)果集的合并運算,從而得到新的邊緣節(jié)點局部結(jié)果集和匯聚節(jié)點全局結(jié)果集。
上述過程整體實現(xiàn)步驟如下:
Step1 分發(fā)伴隨分析運算規(guī)則,給定時間距離、空間距離、伴隨次數(shù)的閾值組合(t0,d0,c0);
Step2 各邊緣節(jié)點并行完成本地數(shù)據(jù)伴隨分析:
①根據(jù)給定距離公式計算(tnij,dnij),n∈(1,…,N)為邊緣節(jié)點序號;
②判斷是否滿足距離約束條件,若tnij≤t0,dnij≤d0,輸出局部結(jié)果集(〈IDni,IDnj〉,countnij,stdatenij,ltdatenij);
③判斷是否滿足伴隨次數(shù)約束條件,若countnij≥c0,對象IDni、IDnj確認建立伴隨關(guān)系;
IDni為節(jié)點n中對象i的唯一標識,countnij為截至ltdatenij對象IDni、IDnj在節(jié)點n的局部伴隨次數(shù),stdatenij、ltdatenij分別為對象IDni、IDnj形成軌跡伴隨的起始時間、最后時間,當countkij=1時,stdatekij,ltdatekij分別為兩條軌跡中的較小時間、較大時間。
Step3 匯聚節(jié)點完成局部結(jié)果集的合并運算:
①各邊緣節(jié)點局部結(jié)果集(〈IDni,IDnj〉,countnij,stdatenij,ltdatenij)傳送到匯聚節(jié)點;
③判斷是否滿足伴隨次數(shù)約束條件,若countij≥c0,對象IDi、IDj確認建立伴隨關(guān)系;
Step4 各邊緣節(jié)點并行完成增量數(shù)據(jù)伴隨分析:
①合并節(jié)點本周期增量數(shù)據(jù)tni≥min(Δstdaten)-t0的存量數(shù)據(jù);
②執(zhí)行步驟Step2,輸出局部增量結(jié)果集為(〈IDni,IDnj〉,Δcountnij,stdatenij,Δltdatenij);
③更新countnij=countnij+Δcountnij,ltdatenij=Δltdatenij,輸出新的局部結(jié)果集。
stdatenij為Step2的首次計算結(jié)果,一旦得出即保持不變,tni為對象IDni的軌跡發(fā)生時間,min(Δstdaten)為本增量周期的軌跡發(fā)生最小時間,這樣,就可以避免因為軌跡數(shù)據(jù)跨增量周期而有可能導(dǎo)致的伴隨關(guān)系遺漏。
Step5 匯聚節(jié)點完成局部增量結(jié)果集的合并運算:
①各邊緣節(jié)點局部增量結(jié)果集(〈IDni,IDnj〉,Δcountnij,stdatenij,Δltdatenij)傳送到匯聚節(jié)點;
③對未建立隨便關(guān)系的對象IDi、IDj,判斷是否滿足伴隨次數(shù)約束條件,若countij≥c0,則確認建立伴隨關(guān)系。
算法建模類分析應(yīng)用,主要是基于各類機器學(xué)習(xí)算法,針對潛在風(fēng)險群體監(jiān)測、案事件預(yù)測等新型應(yīng)用需求進行建模分析,以挖掘民警常規(guī)工作經(jīng)驗無法發(fā)現(xiàn)的高價值情報線索。以基于Kmeans算法的潛在風(fēng)險群體挖掘應(yīng)用為例,其實現(xiàn)過程如下:
(1) 將每個邊緣節(jié)點的人員相關(guān)數(shù)據(jù)按標準數(shù)據(jù)結(jié)構(gòu)完成初始化,并任意選擇K條軌跡X1,X2,…,XK作為初始全局聚類中心(即共有K個類)分發(fā)到參與運算的N個邊緣節(jié)點;
(2)在邊緣節(jié)點n(n∈N),按照給定的距離計算公式完成本節(jié)點待聚類數(shù)據(jù)Xnl與K個初始全局聚類中心的距離運算,并根據(jù)計算結(jié)果將所有待聚類數(shù)據(jù)分配到與其最近的類k輸出為 (k,Xnl),具體距離計算公式可根據(jù)具體應(yīng)用需要作針對性選擇;
(3)在邊緣節(jié)點n,對距離計算輸出的(k,Xnl)按照給定的求和計算公式進行合并并輸出為本節(jié)點的局部結(jié)果集(k,〈Nnk,Cnk〉),Nnk為本節(jié)點劃入局部類k的數(shù)據(jù)數(shù)量,Cnk為局部類k中Xnl的計算維度值和;
(4)局部結(jié)果集(k,〈Nnk,Cnk〉)傳送到匯聚節(jié)點并完成全局合并,輸出結(jié)果為(k〈Nk,Ck〉);
(6)當有新的周期增量數(shù)據(jù)進入時,就以上一周期所得聚類中心為初始聚類中心,對每個邊緣節(jié)點的本周期增量數(shù)據(jù)執(zhí)行步驟(2)~(4),所得結(jié)果與已有存量(k〈Nk,Ck〉)合并后再執(zhí)行步驟(5),從而得到新的聚類;
(7)每一周期所得類確定后,根據(jù)類中數(shù)據(jù)所屬人員對象,生成潛在風(fēng)險人員群體。上述過程整體算法步驟如下:
Step2 計算空間距離,確定本輪迭代節(jié)點內(nèi)局部類劃分:
①根據(jù)選定的距離公式分別計算Xnl與K個聚類中心X1,X2,…,XK的距離dl1,dl2,…,dlK;
②根據(jù)dl1,dl2,…,dlK的最小值確定Xnl所屬的類k;
③隨機選擇另一待聚類數(shù)據(jù)X′nl,轉(zhuǎn)step2 ①;
④輸出邊緣節(jié)點n的聚類結(jié)果(k,Xl);
Step3 邊緣節(jié)點n聚類結(jié)果合并:
①統(tǒng)計類k的數(shù)據(jù)數(shù)量Nnk;
②根據(jù)
③輸出邊緣節(jié)點n的局部結(jié)果(k,〈Nnk,Cnk〉),并傳送到匯聚中心;
Step4 各邊緣節(jié)點局部結(jié)果合并:
③輸出全局結(jié)果(k,〈Nk,Ck〉);
Step5 全局結(jié)果收斂性判斷:
Step6 增量數(shù)據(jù)聚類運算:
②合并增量聚類結(jié)果與已有存量聚類結(jié)果Nk=Nk+N′k,Ck=Ck+C′k;
③輸出邊緣節(jié)點n的局部增量聚類結(jié)果(k,〈Nnk,Cnk〉),并傳送到匯聚中心;
④執(zhí)行Step5,輸出本周期增量聚類全局結(jié)果。
Step7根據(jù)所得類中數(shù)據(jù)所屬人員對象,生成潛在風(fēng)險人員群體。
實驗選取了5個廣域分布的公安數(shù)據(jù)中心,每個數(shù)據(jù)中心按標準數(shù)據(jù)結(jié)構(gòu)提供20 GB軌跡數(shù)據(jù),依次指定中間某一數(shù)據(jù)中心為匯聚節(jié)點,基于伴隨分析模型開展實驗測試。測試結(jié)果表明,基于本文所提出的多數(shù)據(jù)中心跨節(jié)點分布式分析技術(shù)框架,很好地實現(xiàn)了伴隨分析計算步驟的跨數(shù)據(jù)中心節(jié)點分布式并行執(zhí)行,在極大提高分析計算效率的同時,有效解決了傳統(tǒng)方法只能基于本地數(shù)據(jù)開展分析的技術(shù)瓶頸,突破了層級之間、警種之間數(shù)據(jù)必須向某一數(shù)據(jù)中心物理集中的技術(shù)限制。同時,通過建立增量分析機制,實現(xiàn)了可持續(xù)增量迭代的伴隨關(guān)系分析,進一步提高了計算效率。經(jīng)專業(yè)性能測試,較以往基于單一節(jié)點物理集中數(shù)據(jù)資源開展分析的方法,跨節(jié)點分布式并行分析的時間消耗平均縮減3/4以上,進一步建立增量分析機制后,在單考慮每個周期增量數(shù)據(jù)計算時長的情況下,時間消耗平均縮減超過8成。測試整體分兩步:
首先,對比測試跨節(jié)點分布式并行分析與單節(jié)點集中式分析兩種軌跡伴隨分析方法的時間消耗,待分析的軌跡數(shù)據(jù)總量為100 GB,計算過程中5個數(shù)據(jù)中心各承擔(dān)一次匯聚節(jié)點角色。其中,跨節(jié)點分布式并行分析是由5個節(jié)點并行完成20 GB軌跡數(shù)據(jù)的伴隨分析,其中4個節(jié)點的分析結(jié)果匯總到指定的匯聚節(jié)點后與匯聚節(jié)點的計算結(jié)果一起完成全局合并。測試過程中發(fā)現(xiàn),較每個節(jié)點完成20 GB軌跡數(shù)據(jù)伴隨分析的時間,分析結(jié)果的傳輸匯總時間和在匯聚節(jié)點的合并時間均可忽略;單節(jié)點集中式分析是從每個節(jié)點將20 GB軌跡數(shù)據(jù)抽取到指定的匯聚節(jié)點后開展伴隨分析,抽取匯聚的平均時長為0.86小時。具體執(zhí)行時間如表1所示。
表1 跨節(jié)點分布式并行分析與單節(jié)點集中式
從表1可以看出,在單節(jié)點集中式分析方法中,盡管抽取時間較計算時間整體占比較小僅有1.95%,但絕對時間仍然長達0.86小時,在人、財、物高速流動的現(xiàn)代社會,將近1個小時的時間延遲足以給實戰(zhàn)應(yīng)用帶來不可估量的影響甚至是顛覆性的影響。進一步對比跨節(jié)點分布式并行分析與單節(jié)點集中式分析的時間消耗,在避免網(wǎng)絡(luò)傳輸時間消耗的同時,由于5個節(jié)點可同時以并行化的方式進行分析計算,極大提高了計算效率,時間消耗壓降均超過75%。
更進一步,對比測試單節(jié)點集中式分析、跨節(jié)點分布式并行分析、跨節(jié)點分布式增量分析,其中,跨節(jié)點分布式增量分析是按照均分的原則,以10 GB為一個節(jié)點一個周期的數(shù)據(jù)增量,由5個節(jié)點各完成兩個增量周期共計100 GB軌跡數(shù)據(jù)的伴隨分析計算任務(wù),具體結(jié)果如表2所示。
表2 跨節(jié)點分布式增量分析、跨節(jié)點分布式并行分析、單節(jié)點集中式分析時間消耗對比
從表2可以看出,在考慮兩個增量周期的分析計算時間總消耗時,跨節(jié)點分布式增量分析方法與跨節(jié)點分布式并行分析方法每個節(jié)點分析的數(shù)據(jù)總量相同均為20 GB,同一節(jié)點兩種方法所需的總時間也大致相同,平均偏差僅有2.9%。但跨節(jié)點分布式增量分析方法由于設(shè)計了增量機制,在完成增量周期1的分析任務(wù)時,僅需對本周期的增量數(shù)據(jù)進行計算,而無需考慮增量周期0的已消耗時間;若采用跨節(jié)點分布式并行分析方法,則每個增量周期各節(jié)點都需對本節(jié)點的全量數(shù)據(jù)進行計算。從表2可以看出,僅完成一個增量周期的分析任務(wù),時間消耗平均就縮減了47.73%,隨著增量周期的增加,兩種方法的時間消耗差值必將進一步擴大,在當前公安大數(shù)據(jù)多以時間戳為增量標志位的現(xiàn)實情況下,建立基于時間戳的增量分析機制,如以24小時為一個增量周期,以定制計劃任務(wù)的方式每日固定時間執(zhí)行前24小時增量數(shù)據(jù)的分析計算,在實戰(zhàn)中能夠極大縮短分析任務(wù)的運算時間,具有很強的實用意義。在具體工作實踐中,所有類似分析任務(wù)筆者均采用依數(shù)據(jù)更新時間設(shè)定增量周期的方式,如某類數(shù)據(jù)業(yè)務(wù)更新時間為每日0時、12時、18時,且分析歷次更新任務(wù)后發(fā)現(xiàn)執(zhí)行時間均不超過20分鐘,則設(shè)定增量分析任務(wù)啟動時間為0時30分、12時30分、18時30分,這樣就很好地實現(xiàn)了數(shù)據(jù)采集更新與分析應(yīng)用的銜接,進一步縮短了服務(wù)實戰(zhàn)的響應(yīng)時間。再比較跨節(jié)點分布式增量分析方法與單節(jié)點集中式分析方法,時間消耗縮減更為明顯,在僅完成第一個增量周期分析任務(wù)時,平均縮減比就達88.18%。
隨著5G網(wǎng)絡(luò)和物聯(lián)網(wǎng)技術(shù)的全面普及應(yīng)用,公安大數(shù)據(jù)必將進入新的歷史時期,其體量規(guī)模和增長速度較當前都將以數(shù)量級甚至指數(shù)級持續(xù)提升,摒棄建立單一超大規(guī)模數(shù)據(jù)中心物理匯聚全量數(shù)據(jù)開展大數(shù)據(jù)應(yīng)用的傳統(tǒng)理念方法,構(gòu)建不同警種、不同層級公安機關(guān)多數(shù)據(jù)中心分布式協(xié)同的公安大數(shù)據(jù)技術(shù)體系、應(yīng)用方法和增量機制,也是破解公安大數(shù)據(jù)技術(shù)瓶頸、政策制約的有效方法,是支撐公安大數(shù)據(jù)應(yīng)用開展的必然選擇,更是保障公安大數(shù)據(jù)智能化建設(shè)的科學(xué)路徑。