本發(fā)明屬于智能電子系統(tǒng)技術(shù)領(lǐng)域,具體涉及一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)。
背景技術(shù):
隨著社會和科學(xué)技術(shù)的-發(fā)展,以智能手機為載體的移動互聯(lián)網(wǎng)的興起,不僅極大地方便了人與人之間的通信和交往,而且還在逐漸影響和改變?nèi)藗兊纳罘绞胶蜕鐣慕M織形式。由于智能手機通常都是隨身攜帶的,智能手機與基站的交互不僅記錄了基站周圍的人口密度,同時還記錄了人的位置信息。進一步,將一段時間的位置信息串聯(lián)起來,則能得到人的運動軌跡。將許多人的運動軌跡集合起來,則能得到群體的行為模式和密度分布。顯然,對從移動通信運營數(shù)據(jù)中提取出的位置軌跡數(shù)據(jù)進行分析和利用,為解決城市問題提供了一種新的思路。比如,這些數(shù)據(jù)可以用于監(jiān)控道路環(huán)境,改進交通服務(wù),檢測城市動態(tài)和評估城市規(guī)劃。
已有科學(xué)研究表明使用位置軌跡數(shù)據(jù)是可以預(yù)測人的行為模式的。Chaoming Song等人2010年發(fā)表在《Science》上的論文顯示對人行為的預(yù)測準(zhǔn)確率可以達到93%,并且最低的預(yù)測準(zhǔn)確率也達到了80%。著名媒體《華爾街日報》曾專門撰文(The Really Smart Phone,2011)指出,通過分析手機數(shù)據(jù)我們可以得到一個人的社會活動狀況,旅行情況,患病風(fēng)險和政治傾向等信息。《MIT Technology Review》在其一篇文章中,更是將電話數(shù)據(jù)比喻為一座金礦。隨著移動電話,尤其是智能手機的普及,各種基于地理位置的服務(wù)(LBS,Location Based Services)應(yīng)運而生,從商業(yè)的角度看,目前的LBS應(yīng)用大多集中在社交和推薦領(lǐng)域。如果從社會公共服務(wù)的角度思考,我們會發(fā)現(xiàn)LBS可以應(yīng)用于很多方面,典型的有:估計人口密度,估計發(fā)生在城市不同區(qū)域內(nèi)的活動類型,估計不同的區(qū)域(團體)之間的聯(lián)系手段和頻率,估計居住和工作區(qū)域,估計用戶之間的往來模式,預(yù)測異常的個體和團體活動以及預(yù)測潛在的犯罪活動。
由于對個體行為的監(jiān)測分析涉及到法律和隱私等方面的約束,而且除了公安等特定部門外,對個體行為的監(jiān)測也沒有什么實用意義。但是對于整個區(qū)域的群體行為的監(jiān)測,分析和預(yù)測則對城市建設(shè)和規(guī)劃,以及諸多決策都有很多參考意義。比如目前已經(jīng)有很多景區(qū)實施了相應(yīng)的監(jiān)測工程,一方面可以防止人員流入過多導(dǎo)致踩踏等惡性事件的發(fā)生,另一方面根據(jù)人員的流動和駐留情況可以優(yōu)化配套服務(wù)設(shè)施的部署。
為了更好地分析和使用移動通信運營數(shù)據(jù),并為城市以及特定區(qū)域的規(guī)劃和決策提供科學(xué)參考,我們提出并公開一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)的具體實施方法。通過使用本發(fā)明公開的方法,軟件開發(fā)者可以基于不同的開發(fā)環(huán)境和開發(fā)語言實現(xiàn)具體的目標(biāo)任務(wù)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)的實現(xiàn)方法,該系統(tǒng)主要使用特征提取,數(shù)據(jù)可視化,軌跡分析和群體行為預(yù)測等技術(shù),為城市規(guī)劃,政策制定,行為決策等提供科學(xué)的數(shù)據(jù)支撐,并對可能發(fā)生的群體事件進行預(yù)測,是“智慧城市”建設(shè)中重要的一環(huán)。
為了實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng),所述監(jiān)測系統(tǒng)包括數(shù)據(jù)采集模塊、數(shù)據(jù)預(yù)處理模塊、數(shù)據(jù)顯示與可視化模塊、群體行為實時監(jiān)測模塊、群體行為分析預(yù)測模塊、警報與日志模塊和數(shù)據(jù)庫;
上述所有模塊分別位于服務(wù)器端和客戶端:所述數(shù)據(jù)采集模塊和所述數(shù)據(jù)預(yù)處理模塊運行于服務(wù)器端;所述數(shù)據(jù)顯示與所述可視化模塊運行于客戶端,所述群體行為實時監(jiān)測模塊、群體行為分析預(yù)測模塊和警報與日志模塊運行于客戶端和服務(wù)器端,兩端協(xié)同工作;數(shù)據(jù)庫位于專用的數(shù)據(jù)庫服務(wù)器,所述數(shù)據(jù)庫服務(wù)器和運行數(shù)據(jù)采集模塊的服務(wù)器端程序部署在同一臺服務(wù)器上。
優(yōu)選地,所述數(shù)據(jù)采集模塊用于從運營商的存儲系統(tǒng)中采集數(shù)據(jù)。
優(yōu)選地,所述數(shù)據(jù)采集模塊采用數(shù)據(jù)復(fù)制的方式從運營商的存儲系統(tǒng)中將需要的數(shù)據(jù)通過網(wǎng)絡(luò)傳送到本發(fā)明所公開的目標(biāo)系統(tǒng)的存儲設(shè)備上。
優(yōu)選地,所述數(shù)據(jù)預(yù)處理模塊主要完成四大功能: 數(shù)據(jù)去噪聲、數(shù)據(jù)格式化、目標(biāo)字段提取和數(shù)據(jù)結(jié)構(gòu)化存儲;所述數(shù)據(jù)采集模塊采集到的數(shù)據(jù)以純文本格式存儲,數(shù)據(jù)預(yù)處理模塊對這些純文本文件逐一處理:首先,數(shù)據(jù)預(yù)處理模塊根據(jù)文本首行記錄的字段和索引位置檢測每一條記錄字段是否完整,剔除掉空行,字段不完整的行以及缺少首行描述等的不規(guī)范記錄;其次,根據(jù)業(yè)務(wù)類型,數(shù)據(jù)預(yù)處理模塊從大量字段記錄中抽取出需要的字段,并將這些字段組成的新記錄寫入到數(shù)據(jù)庫中,同時將原始記錄保存到指定的存儲目錄,并做文本索引,便于以后查詢;最后,數(shù)據(jù)預(yù)處理模塊將得到的只有目標(biāo)字段組成的完整記錄通過網(wǎng)絡(luò)傳送到客戶端程序進一步處理。
優(yōu)選地,所述數(shù)據(jù)預(yù)處理模塊既可以是傳統(tǒng)的C/S形式的服務(wù)器端程序,也可以是WebService程序。
優(yōu)選地,所述數(shù)據(jù)顯示與可視化模塊是一個地理信息系統(tǒng),所述模塊在系統(tǒng)初始化時加載地圖切片,在系統(tǒng)工作區(qū)顯示當(dāng)前指定區(qū)域的地圖信息,同時將指定區(qū)域類的基站根據(jù)用戶導(dǎo)入的位置信息顯示到地圖上,并初始化生成熱度圖層,標(biāo)簽圖層,軌跡圖層和其他信息顯示圖層;該模塊在收到所述數(shù)據(jù)預(yù)處理模塊發(fā)送過來的記錄后,根據(jù)其中的基站編號信息找到GIS中的基站位置,將基站覆蓋半徑范圍內(nèi)的總?cè)藬?shù)加一;如前所述,在GIS的基底地圖圖層上,所述城市群體行為檢測系統(tǒng)在初始化時還生成了熱度圖層用不同顏色及顏色深度的變化來顯示區(qū)域的人數(shù)變化,生成了標(biāo)簽圖層用文本來顯示基站和區(qū)域的屬性信息,生成了軌跡圖層用帶箭頭的線條來展示指定時間區(qū)間內(nèi)人員的流動軌跡和方向,生成了其他信息顯示圖層用于用戶設(shè)置的備注信息的顯示以及用戶標(biāo)注的顯示。
優(yōu)選地,所述群體行為實時監(jiān)測模塊是對實時數(shù)據(jù)進行解析,將一條一條的記錄轉(zhuǎn)化為各類動態(tài)統(tǒng)計信息,并調(diào)用所述數(shù)據(jù)顯示與可視化模塊展示出來,不僅調(diào)用數(shù)據(jù)顯示與可視化模塊動態(tài)更新區(qū)域統(tǒng)計信息,動態(tài)更新熱度圖,同時,實時監(jiān)測模塊還會根據(jù)用戶對某些區(qū)域設(shè)置的閾值發(fā)出實時警報,不同時期的實時統(tǒng)計結(jié)果還為用戶設(shè)置閾值提供參考數(shù)據(jù)。
優(yōu)選地,所述群體行為分析預(yù)測模塊結(jié)合當(dāng)前數(shù)據(jù)信息和歷史數(shù)據(jù)信息,使用統(tǒng)計和概率的方法,完成對當(dāng)前行為模式的判斷和對未來可能行為的預(yù)測。
優(yōu)選地,所述警報與日志模塊用于顯示系統(tǒng)的實時警報信息和記錄歷史日志,便于管理員管理和追蹤。
優(yōu)選地,所述數(shù)據(jù)庫用于存儲系統(tǒng)運行中需要和生成的各種信息,數(shù)據(jù)庫服務(wù)器以及表結(jié)構(gòu)可以根據(jù)用戶的實際情況客觀選擇,對數(shù)據(jù)庫的操作使用標(biāo)準(zhǔn)的SQL語言。
本發(fā)明提供的基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng),具有以下直觀的效果:
本發(fā)明提供的一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng),對于人口密度分析,交通狀態(tài)分析和熱點事件分析提供了科學(xué)的數(shù)據(jù)基礎(chǔ),提供了一種城市群體行為的預(yù)測方法,通過對歷史事件中監(jiān)測數(shù)據(jù)的特征提取以及與當(dāng)前狀態(tài)的比較,可以使用概率模型預(yù)測城市群體可能的行為,比如大型集會,流動路徑和群體組成等,有效預(yù)測對于道路分流優(yōu)化和城市公共安全具有重要意義,同時,準(zhǔn)確的統(tǒng)計和預(yù)測結(jié)果對于城市規(guī)劃和商業(yè)選址也有很大的參考意義;同時提供了一種“智慧城市”的建設(shè)思路。智慧城市就是運用信息和通信技術(shù)手段感測、分析、整合城市運行核心系統(tǒng)的各項關(guān)鍵信息,從而對包括民生、環(huán)保、公共安全、城市服務(wù)、工商業(yè)活動在內(nèi)的各種需求做出智能響應(yīng)。顯然,本發(fā)明所公開的系統(tǒng)和實施方法符合智慧城市的建設(shè)思路;進一步挖掘了移動運營數(shù)據(jù)的價值,運營商每天都在產(chǎn)生海量數(shù)據(jù),但是這些數(shù)據(jù)中的絕大部分都只是被存儲起來,除了很少的查詢外幾乎沒有其他價值,本發(fā)明所公開的系統(tǒng)從移動運營數(shù)據(jù)中提取出有價值的字段加以分析,便能造福于眾。
附圖說明
圖1為本發(fā)明一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)的結(jié)構(gòu)框圖;
圖2為本發(fā)明一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)的移動通信數(shù)字核心網(wǎng)絡(luò)結(jié)構(gòu)示意圖;
圖3為本發(fā)明一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)的數(shù)據(jù)預(yù)處理模塊工作流程圖;
圖4為本發(fā)明一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)的基站集合關(guān)系圖;
圖5為本發(fā)明一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)的目標(biāo)基站集合求解示意圖。
具體實施方式
下面詳細說明本發(fā)明的實施例。以下所述實施例是示例性的,旨在解釋本發(fā)明,而不應(yīng)理解為對本發(fā)明的限制。
以下實施例結(jié)合附圖和具體實施例對本發(fā)明的技術(shù)方案進行詳細的說明,以使本發(fā)明的特性和優(yōu)點更為明顯。
本發(fā)明所公開的一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)右多個功能模塊共同完成。這些功能模塊分別是:數(shù)據(jù)采集模塊,數(shù)據(jù)預(yù)處理模塊,數(shù)據(jù)顯示與可視化模塊,群體行為實時監(jiān)測模塊,群體行為分析預(yù)測模塊,警報與日志模塊和數(shù)據(jù)庫。這些模塊又分別位于服務(wù)器端和客戶端。其中,數(shù)據(jù)采集模塊和數(shù)據(jù)預(yù)處理模塊運行于服務(wù)器端;數(shù)據(jù)顯示與可視化模塊運行于客戶端,群體行為實時監(jiān)測模塊,群體行為分析預(yù)測模塊和警報與日志模塊運行于客戶端和服務(wù)器端,兩端協(xié)同工作;數(shù)據(jù)庫位于專用的數(shù)據(jù)庫服務(wù)器,為了方便描述,本發(fā)明中數(shù)據(jù)庫服務(wù)器和運行數(shù)據(jù)采集模塊的服務(wù)器端程序部署在同一臺服務(wù)器上。
所述數(shù)據(jù)采集模塊用于從運營商的存儲系統(tǒng)中采集數(shù)據(jù)。為了不影響運營商對原始數(shù)據(jù)的后續(xù)處理,數(shù)據(jù)采集模塊采用數(shù)據(jù)復(fù)制的方式從運營商的存儲系統(tǒng)中將需要的數(shù)據(jù)通過網(wǎng)絡(luò)傳送到本發(fā)明所公開的目標(biāo)系統(tǒng)的存儲設(shè)備上。運營商的存儲系統(tǒng)中會生成多種多樣的數(shù)據(jù),比如位置更新數(shù)據(jù),電話號碼記錄以及計費信息等。隨著業(yè)務(wù)的變化,數(shù)據(jù)的類型也會隨之改變。為了描述的準(zhǔn)確性,在本發(fā)明中我們以運營商計費信息為例進行說明。數(shù)據(jù)采集模塊以客戶端/服務(wù)器的方式工作,數(shù)據(jù)采集模塊客戶端工作在運營商存儲管理服務(wù)器中,監(jiān)測運營商存儲器的變化,當(dāng)有新記錄生成時,將該記錄寫入臨時文件,每隔指定的時間,比如1秒,關(guān)閉臨時文件寫入,并將文件通過網(wǎng)絡(luò)傳送到數(shù)據(jù)采集模塊服務(wù)器。數(shù)據(jù)采集模塊服務(wù)器工作在本發(fā)明所述目標(biāo)系統(tǒng)的服務(wù)器端,在指定的端口監(jiān)聽并接收數(shù)據(jù)采集模塊客戶端發(fā)送過來的文件。為了便于數(shù)據(jù)的存儲和后續(xù)處理,數(shù)據(jù)采集模塊使用純文本形式傳輸數(shù)據(jù),不同的字段在文本中使用制表符分隔,并且在每個文本的首行指定字段的意義和索引。數(shù)據(jù)采集模塊在沒有外力干預(yù)的情況下,不間斷工作。
所述數(shù)據(jù)預(yù)處理模塊主要完成四大功能: 數(shù)據(jù)去噪聲,數(shù)據(jù)格式化,目標(biāo)字段提取和數(shù)據(jù)結(jié)構(gòu)化存儲。如前所述,數(shù)據(jù)采集模塊采集到的數(shù)據(jù)以純文本格式存儲,數(shù)據(jù)預(yù)處理模塊對這些純文本文件逐一處理。首先,數(shù)據(jù)預(yù)處理模塊根據(jù)文本首行記錄的字段和索引位置檢測每一條記錄字段是否完整,剔除掉空行,字段不完整的行以及缺少首行描述等的不規(guī)范記錄。其次,根據(jù)業(yè)務(wù)類型,數(shù)據(jù)預(yù)處理模塊從大量字段記錄中抽取出需要的字段,并將這些字段組成的新記錄寫入到數(shù)據(jù)庫中,同時將原始記錄保存到指定的存儲目錄,并做文本索引,便于以后查詢。最后,數(shù)據(jù)預(yù)處理模塊將得到的只有目標(biāo)字段組成的完整記錄通過網(wǎng)絡(luò)傳送到客戶端程序進一步處理。所述數(shù)據(jù)預(yù)處理模塊既可以是傳統(tǒng)的C/S形式的服務(wù)器端程序,也可以是WebService程序。為了描述清楚,在本發(fā)明中我們以傳統(tǒng)的C/S形式為例進行說明。
所述數(shù)據(jù)顯示與可視化模塊是一個地理信息系統(tǒng)(Geographic Information System,GIS)。該模塊在系統(tǒng)初始化時加載地圖切片,在系統(tǒng)工作區(qū)顯示當(dāng)前指定區(qū)域的地圖信息,同時將指定區(qū)域類的基站根據(jù)用戶導(dǎo)入的位置信息顯示到地圖上,并初始化生成熱度圖層,標(biāo)簽圖層,軌跡圖層和其他信息顯示圖層。該模塊在收到所述數(shù)據(jù)預(yù)處理模塊發(fā)送過來的記錄后,根據(jù)其中的基站編號信息找到GIS中的基站位置,將基站覆蓋半徑范圍內(nèi)的總?cè)藬?shù)加一。如前所述,在GIS的基底地圖圖層上,本發(fā)明所公開系統(tǒng)在初始化時還生成了熱度圖層用不同顏色及顏色深度的變化來顯示區(qū)域的人數(shù)變化;生成了標(biāo)簽圖層用文本來顯示基站和區(qū)域的屬性信息,比如位置信息,面積信息和人口信息等;生成了軌跡圖層用帶箭頭的線條來展示指定時間區(qū)間內(nèi)人員的流動軌跡和方向;生成了其他信息顯示圖層用于用戶設(shè)置的備注信息的顯示以及用戶標(biāo)注的顯示等。
所述群體行為實時監(jiān)測模塊是系統(tǒng)的核心部分之一,通過該模塊對實時數(shù)據(jù)的解析,將一條一條的記錄轉(zhuǎn)化為各類動態(tài)統(tǒng)計信息,并調(diào)用所述數(shù)據(jù)顯示與可視化模塊展示出來。在本發(fā)明所公開的系統(tǒng)中,實時監(jiān)控模塊不僅調(diào)用數(shù)據(jù)顯示與可視化模塊動態(tài)更新區(qū)域統(tǒng)計信息,動態(tài)更新熱度圖。同時,實時監(jiān)測模塊還會根據(jù)用戶對某些區(qū)域設(shè)置的閾值發(fā)出實時警報,比如用戶設(shè)置某一廣場周圍2km內(nèi)人數(shù)超過一萬人時實時發(fā)出警報。最后,不同時期的實時統(tǒng)計結(jié)果還為用戶設(shè)置閾值提供參考數(shù)據(jù)。
所述群體行為分析預(yù)測模塊是系統(tǒng)的另一核心部分,與所述群體行為實時監(jiān)測模塊比起來,該模塊的重點不在于統(tǒng)計和展示,而是結(jié)合當(dāng)前數(shù)據(jù)信息和歷史數(shù)據(jù)信息,使用統(tǒng)計和概率的方法,完成對當(dāng)前行為模式的判斷和對未來可能行為的預(yù)測。該模塊使用的詳細技術(shù)手段將在后文重點說明。
所述警報與日志模塊同于顯示系統(tǒng)的實時警報信息(比如,人數(shù)超限,系統(tǒng)異常,預(yù)測到可疑行為等)和記錄歷史日志,便于管理員管理個追蹤。
所述數(shù)據(jù)庫用于存儲系統(tǒng)運行中需要和生成的各種信息,比如,用戶名和口令,用戶希望以后等快速檢索的數(shù)據(jù)記錄和用戶的配置信息等。數(shù)據(jù)庫服務(wù)器以及表結(jié)構(gòu)可以根據(jù)用戶的實際情況客觀選擇,對數(shù)據(jù)庫的操作使用標(biāo)準(zhǔn)的SQL語言。
本發(fā)明所公開的一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)從軟件功能來分,主要有數(shù)據(jù)采集模塊,數(shù)據(jù)預(yù)處理模塊,數(shù)據(jù)可視化模塊,群體行為實時監(jiān)測模塊,群體行為分析預(yù)測模塊和警報與日志模塊。其中數(shù)據(jù)采集模塊運行在運營商設(shè)備和本地(相對于運營商而言)服務(wù)器上,數(shù)據(jù)預(yù)處理模塊運行在本地服務(wù)器上,數(shù)據(jù)可視化模塊運行在本地客戶端,群體行為實時監(jiān)測模塊,群體新聞分析預(yù)測模塊和警報與日志模塊由本地服務(wù)器和客戶端共同運行。由此,從圖1可以看出,系統(tǒng)中涉及到運營商設(shè)備,本地服務(wù)器,本地客戶端和用戶。本地服務(wù)器既有負(fù)責(zé)數(shù)據(jù)處理的服務(wù),又有負(fù)責(zé)數(shù)據(jù)存儲的服務(wù),為了便于描述,將二者合在一起說明。接下來便從各個模塊的工作機制來詳細說明本發(fā)明所公開的一種基于移動移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng)的技術(shù)細節(jié)。由于警報與日志模塊在技術(shù)實現(xiàn)角度沒有需要特別說明的,因此下文主要描述其它五個模塊的實施要點。
本發(fā)明通過以下的方法實施所述要點:
數(shù)據(jù)采集模塊的技術(shù)細節(jié)。數(shù)據(jù)采集模塊是一個網(wǎng)絡(luò)文件傳輸系統(tǒng)。首先,位于運營商端的程序循環(huán)檢測運營商目標(biāo)位置的記錄更新,每當(dāng)更新的記錄條數(shù)達到預(yù)先設(shè)置的數(shù)值(比如5萬條)以后便復(fù)制這些記錄到文本文件,隨后將該文本文件通過網(wǎng)絡(luò)傳送到本地服務(wù)器。本地服務(wù)器端程序接收到文件后保存到指定目錄。為了便于后續(xù)處理,所有的記錄被保存成純文本格式傳送。文本中各個字段通過制表符分隔。同時,為了便于以后對文本的維護,文本的首行給出了每個字段所代表的含義。以從運營商采集計費信息為例進一步說明。
圖2所示為3G核心網(wǎng)PS(報文交換)域計費網(wǎng)關(guān)的結(jié)構(gòu)圖,圖中與計費相關(guān)的節(jié)點有四個:CG(Charging Gateway)表示的是計費網(wǎng)關(guān);BS(Billing System)為計費系統(tǒng);SGSN(Serving GPRS Support Node)為服務(wù)GPRS支持節(jié)點;GGSN(Gateway GPRS Support Node)為關(guān)口GPRS支持節(jié)點。基本的計費流程為:SGSN產(chǎn)生S-CDR(話單記錄),GGSN產(chǎn)生G-CDR,兩種CDR被送給CG,CG把多個SGSN和GGSN傳過來的CDR通過共同的C-ID(上下文計費標(biāo)示)進行合并,最后把合并后的話單發(fā)送到BS(Billing System)統(tǒng)一處理。于是,我們可以在BS服務(wù)器采集計費信息數(shù)據(jù)。采集到的原始計費信息主要見表1所示的一些關(guān)鍵字段:
表1計費信息主要組成字段表
數(shù)據(jù)采集模塊將右表1所示的主要字段組成的記錄逐條寫入文本文件,字段之間用制表符隔開,并且在文本的首行加上對字段的描述后發(fā)送到本地服務(wù)器進一步處理。
數(shù)據(jù)預(yù)處理模塊的技術(shù)細節(jié)。數(shù)據(jù)采集模塊采集到的原始數(shù)據(jù)中包含很多關(guān)鍵字字段,這些字段并不是每一個都能為我們提供進行群體行為分析的必要信息,所以數(shù)據(jù)預(yù)處理模塊的主要內(nèi)容是分析話單字段中的有效信息,過濾一些不需要的字段比如設(shè)備信息運營商內(nèi)部使用的編號等,保留有效信息的字段,根據(jù)需要添加其他必要的字段,預(yù)處理流程圖如圖3所示。
(1) 話單文件統(tǒng)一編碼。由于獲取的很多話單組成的是一個個txt文本,從不同的CG獲取的話單格式可能不同,我們需要把話單的文本文件統(tǒng)一編碼成UTF-8方便我們對數(shù)據(jù)的后續(xù)處理。
(2) 對獲取的話單數(shù)據(jù)進行分析。話單數(shù)據(jù)的格式如表2第一行所示,其中RT(Record Type),PDP Type為話單合并是所必要的字段,對于我們進行群體行為分析沒有用所以要過濾掉;IMSI和IMEI為手機sim卡標(biāo)識和手機設(shè)備標(biāo)識,我們識別用戶是通過MSISDN(即用戶手機號碼),所以這兩個字段要過濾掉;PDP Type標(biāo)識的PDP承載網(wǎng)絡(luò)的類型也與我們后續(xù)處理無關(guān)。最后記過篩選后保留的字段有MSISDN(Mobile Subscriber International ISDN/PSTN number)它是指主叫用戶為呼叫GSM PLMN中的一個移動用戶所需撥的號碼,是移動用戶的唯一識別碼;LAC(Local Area Code)位置區(qū)域標(biāo)識,唯一的標(biāo)識一個基站的位置信息,用2個字節(jié)的16進制表示,例如L1L2L3L4(范圍0000~FFFF,可定義65536個不同的位置區(qū));CELL-ID(Cell Indentity)小區(qū)基站編號,一般基站位于蜂窩正六邊形的中心,采用全向天線,稱為中心激勵,所以一個CELL-ID也唯一的標(biāo)識一個基站;ROT(Record Opening Time)記錄打開時間,也就是我們要得到的用戶地理位置信息中的時間維度。提取字段后的話單格式如表2第二行所示。
表2數(shù)據(jù)格式表示例
(3) 補充新字段。表2中顯示的是篩選過后的數(shù)據(jù)集字段但是里面并沒有表示地理位置信息的字段,要獲取用戶的GIS信息就需要用到基站定位技術(shù),通過獲取用戶所在的基站位置來識別用戶位置,要獲取基站的位置信息首先要獲得基站的標(biāo)識。LAC字段和CELL-ID字段可以唯一的標(biāo)識一個基站,一般用LAC+CELL來確定一個位置,通過讀取LAC+CELL和經(jīng)緯度的映射文件就可以確定一個基站的真實的經(jīng)緯度,表2最后一行為LAC+CELL與LNG(經(jīng)度)+LAT(緯度)的映射關(guān)系,字段添加完以后的數(shù)據(jù)集格式如表2第三行所示。
(4) 數(shù)據(jù)的格式化。將上一步得到的數(shù)據(jù)字段進行格式的統(tǒng)一化:MSISDN、LAC、CELL-ID字段保持格式不變;ROT字段使用統(tǒng)一的時間格式:YYYY-MM-DD hh:mm:ss(例如2011-05-01 23:59:59);O_LAT和O_LNG統(tǒng)一格式為小數(shù)點后3位(例如104.241),因為太高的精度會在計算基站位置時會增加很大的時間開銷,而且對我們計算群體的分布不會有太大的影響。
(5) 頻繁數(shù)據(jù)過濾。在真實移動通信場景用戶的上網(wǎng)行為是不可控的,例如有些用戶可能在很短的時間內(nèi)頻繁的進行網(wǎng)絡(luò)連接,這就造成在同一個用戶在很短的時間內(nèi)在同一個話單文本文件中出現(xiàn)多條記錄并且都出現(xiàn)在同一基站,這種頻繁出現(xiàn)的話單記錄不但對我們分析群體分布沒有太大的幫助,而且會造成大量的無用工作,嚴(yán)重影響系統(tǒng)性能。通過我們對2000個用戶進行的統(tǒng)計發(fā)現(xiàn),在1分鐘內(nèi)用戶發(fā)生過基站切換的只有56人。由此估計用戶在1分鐘內(nèi)不發(fā)生基站切換的概率為97.2%。所以如果用戶在一分鐘內(nèi)連續(xù)的出現(xiàn)在同一基站,我們只保留第一條記錄。
最后,將這些由新字段組成的新記錄寫入到數(shù)據(jù)庫中,同時將原始記錄保存到指定的存儲目錄,并做文本索引,便于以后查詢。
數(shù)據(jù)可視化模塊的技術(shù)細節(jié)。數(shù)據(jù)可視化模塊是一個GIS系統(tǒng)。數(shù)據(jù)可視化模塊負(fù)責(zé)將接收到的數(shù)據(jù)中的時空信息聯(lián)系起來,并通過以地圖為主,其他控件為輔的圖形化程序顯示出來。當(dāng)監(jiān)測區(qū)域比較大以后,系統(tǒng)在單位時間內(nèi)需要處理大量數(shù)據(jù),而系統(tǒng)管理員往往更關(guān)心的是群體整體的行為,所以數(shù)據(jù)可視化模塊可視化顯示的數(shù)據(jù)基礎(chǔ)主要是統(tǒng)計信息,比如,每隔3秒更新區(qū)域人數(shù)熱度圖,更新的數(shù)據(jù)依據(jù)便是過去3秒內(nèi)統(tǒng)計信息的變化。
數(shù)據(jù)可視化模塊也作為群體用戶實時監(jiān)測模塊的顯示主要界面。從使用者的角度看,二者在功能呈現(xiàn)上有很多重合的地方。但是從系統(tǒng)實現(xiàn)的角度看,二者是相互獨立的軟件模塊,因此,本小節(jié)重點從數(shù)據(jù)可視化模塊的技術(shù)實現(xiàn)層面說明。
數(shù)據(jù)可視化模塊由三部分組成,分別是地圖(Map),圖層(Overlay)和標(biāo)記(Markers)。這三部分以分層的形式疊加,其中Map層位于最底下,是唯一的,由地圖切片組成,用于顯示建筑,道路,河流和山脈等地圖基本元素。Overlay層可以看作是透明的層,就像玻璃一樣疊加在Map層之上,由于Overlay的畫布是透明的,根據(jù)實際需要,在一個數(shù)據(jù)可視化模塊中可以疊加多個Overlay層,比如,用一層顯示人口數(shù)量熱度圖,用另外一層顯示區(qū)域邊界。Markers位于最上層,用于顯示用戶標(biāo)記和一些需要置頂顯示的信息,比如,文字化的統(tǒng)計信息和工作區(qū)注釋等。
最底層為Map可以接入不同的地圖數(shù)據(jù)源,如百度地圖和谷歌地圖等;中間層為Overlay,它如同一個完全透明的畫布一樣平鋪到Map 層上面;最上面一層為Markers層,該層為我們要顯示的標(biāo)簽、路徑、多邊形和網(wǎng)格等。想要把我們定義的標(biāo)簽添加到數(shù)據(jù)可視化模塊上顯示出來需要如下三個步驟:
(1)首先定義我們要添加的Markers,并定義一個Overlay。
(2)其次將所有Markers添加到定義的Overlay當(dāng)中。
(3)最后將Overlay添加到已經(jīng)添加到窗體中的Map Control當(dāng)中,并通知窗體刷新控件就可以顯示出來。
群體行為實時監(jiān)測模塊的技術(shù)實現(xiàn)。群體行為分析的基礎(chǔ)是發(fā)現(xiàn)群體聚集行為。群體事件可以簡單地定義為有多人在什么時間什么地點持續(xù)活動了多長時間。由于數(shù)據(jù)中已經(jīng)包含了時間信息,地點信息可以通過基站位置映射到GIS系統(tǒng)中,所以群體行為的實時監(jiān)測在于發(fā)現(xiàn)群體聚集行為,而在本發(fā)明所公開的系統(tǒng)中,群體的聚集是從區(qū)域內(nèi)人口的密度來判斷的。系統(tǒng)實時統(tǒng)計出區(qū)域內(nèi)的人口密度后,要判斷是什么樣的行為,還需要訓(xùn)練樣本來說明。具體地,系統(tǒng)在初始運行階段需要先進行學(xué)習(xí),由管理員“教”給系統(tǒng)什么樣的統(tǒng)計結(jié)果表示什么事件,系統(tǒng)將管理員的教導(dǎo)作為記憶存儲在數(shù)據(jù)庫中。系統(tǒng)在正常工作時,每次更新統(tǒng)計信息后,都會與數(shù)據(jù)庫中的記錄做對比,如果當(dāng)前統(tǒng)計結(jié)果符合之前學(xué)習(xí)的某種事件的條件,則判斷為某事件發(fā)生。
在現(xiàn)實生活中,一定范圍內(nèi)的人群每時每刻都在變化當(dāng)中,想要建立一個萬能的模型來反映這個范圍的用戶的聚集情況是不現(xiàn)實的。比如要對同一區(qū)域的用戶分布進行統(tǒng)計,工作日和周末或白天和晚上得出的統(tǒng)計結(jié)果中用戶的總數(shù)可能差距很大,同樣的用戶分布對于工作日來說是正常的,而對于周末來說就有可能有聚集行為發(fā)生,因此需要分情況對歷史數(shù)據(jù)進行統(tǒng)計,下面具體講述了分哪些情況分別統(tǒng)計用戶數(shù)據(jù)。
首先要區(qū)分的是周末和工作日,因為周末和周日人們的生活習(xí)慣大不相同,用戶在周日和周末同一時間段且同一區(qū)域的人員分布情況也會大不相同,主要原因是在工作日和周末人們的行為有很大差異:在工作日早上上班晚上下班這是大部分人都生活規(guī)律,因此無論是在周一還是周五,人們的日常作息時間都是相似的因此我們不在區(qū)分周一到周五每一天而是把他們統(tǒng)一成工作日的整體作為一個劃分;而在周末無論是周六還是周日人們的行為習(xí)慣也是相似的,因此我們把周六和周日作為一個整體(周末)。這樣我們就把一周分成了兩部分來分別統(tǒng)計當(dāng)天的人員分布情況。
其次要區(qū)分的是每一天中的不同時段,比如對于工作日來說,要劃分0點到7點,7點到9點,9點到12點,12點到13點等等的不同時間段。然后分別統(tǒng)計不同的時間段的人群分布情況。以上的劃分原則是,在工作日0點到7點上睡覺時間,7點到9點是人們的上班時間,9點到12點是上午工作時間,12點到13點是人們午飯時間等等。
按照以上原則劃分好時段后就開始對歷史數(shù)據(jù)進行統(tǒng)計,統(tǒng)計原則是根據(jù)上面劃分的每個時間段單獨做統(tǒng)計,我們用Ta表示工作日,Tb表示周末,Ta(0-7)表示工作日的0點到7點時間段,而Tb(8-12)表示周末的8點到12點時間段。我們要統(tǒng)計的是每一個時間段的人員正常分布的平均值,e(Ta(0-7))表示在某一天中某個基站的一個小區(qū)S(0-6號)在Ta(0-7)時段的人群的人數(shù)均值(該均值是通過每隔一小時進行一次采樣計算而得),E(Ta(0-7))表示的是小區(qū)S內(nèi)所有正常分布的e(Ta(0-7))值的均值,用以下公式表示:
其中d1到dn表示1-n天每一天在Ta(0-7)時段都是正常的人群分布,也就是說沒有群體聚集事件,n為總的天數(shù)。
把周末和工作日的每一個時段都按照上面的公式計算出該時段的正常分布的均值,從而得到了正常情況下的人群分布模型。每一天的每一個時間段的人員分布情況都可以在人群分布模型中找到。
得到了群體在歷史上的正常平均分布模型后,就需要找到一個方法來判斷當(dāng)前的群體分布情況是否符合正常分布模型。本發(fā)明所使用的方法是,通過計算當(dāng)前監(jiān)控區(qū)域的人員總數(shù)Sx和正常分布時監(jiān)控區(qū)域內(nèi)的人員總數(shù)的差值Dx,如果差值大于一定的閥值我們就認(rèn)為該區(qū)域有群體事件發(fā)生,所以選擇合適的閥值是我們判斷準(zhǔn)確與否的關(guān)鍵。
得到閥值T后,當(dāng)Dx>T時就可以認(rèn)為該監(jiān)事區(qū)域有群體聚集行為,T不是固定不變的,每當(dāng)有群體事件發(fā)生時就需要閥值進行一次更新。以上計算的空間單位是一個大區(qū)La,該大區(qū)中包括了若干個基站Base,而每一個基站又分成了六個小區(qū)Sa。本發(fā)明是通過熱圖的方式來直觀的顯示當(dāng)前用戶總數(shù)和均值的差值,熱圖系統(tǒng)是以Sa為單位進行用戶總數(shù)的差值計算,雖然以Sa為單位計算會提高了計算的復(fù)雜度,但是可以更精確的顯示發(fā)生群體聚集事件的具體位置。我們通過查看熱圖中不同部分的顏色深淺來人群的聚集程度,有利于快速定位到聚集事件發(fā)生的準(zhǔn)確位置。
群體行為分析預(yù)測模塊的技術(shù)實現(xiàn)。對群體聚集行為的預(yù)測主要是為了提前發(fā)現(xiàn)公共場所的人群異常情況,要對人群未來的走勢進行預(yù)測就需要用到可以用于對人群未來走勢的預(yù)測模型,本發(fā)明采用的是個體預(yù)測法通過加權(quán)Markov模型預(yù)測單個用戶的移動軌跡,進而得出群體的移動趨勢。
要對用戶移動軌跡進行預(yù)測,首先要做的就是根據(jù)用戶的歷史軌跡數(shù)據(jù)構(gòu)造用戶在預(yù)測時刻之前移動的路徑。在構(gòu)造用戶路徑時需要考慮一下因素:一是對于路徑終點的確定,因為用戶在與基站進行移動通信時產(chǎn)生的記錄并不是連續(xù)的,所以我們在確定用戶終點時考慮一下幾種情況,當(dāng)用戶在某個基站的駐留時間超過長超過了一定的閥值,也就是說用戶在兩個基站連續(xù)產(chǎn)生兩條記錄的時間間隔超過了一定閥值我們就可以把前一個基站作為上一條路徑的終點,當(dāng)用戶在一個基站長時間沒有產(chǎn)生下一條記錄可能是用戶關(guān)機或關(guān)閉了移動網(wǎng)絡(luò),這時也認(rèn)為用戶移動到達了終點,當(dāng)用戶移動到劃分的時間段的界限時也把此時的位置作為用戶的路徑終點;二是時間段劃分,因為用戶的移動規(guī)律和時間有著密不可分的關(guān)系,用戶在不同的時間段對路徑的選擇也會不同,比如用戶在吃飯的時候和用戶上下班時在路徑的選擇上有很大的不同,所以本發(fā)明在構(gòu)造路徑時會根據(jù)不同的時間段分別構(gòu)造用戶路徑。
時間段的劃分也要考慮實際情況,如果定義的時間段時間間隔過短的話會降低我們構(gòu)建Markov模式時的概率轉(zhuǎn)移矩陣中概率的準(zhǔn)確性,如果定義的時間段的時間間隔過大的話劃分時間段的意義就不大。通過考慮以上因素,本發(fā)明將一天的24小時按表3所示的方式劃分:
表3 時間段劃分表
通過Markov模型預(yù)測用戶的移動軌跡,主要是通過模型中的轉(zhuǎn)移概率矩陣來評估用戶移動到下一基站的可能性。雖然用戶的真實移動估計是連續(xù)的運動軌跡但在移動通信環(huán)境中,用戶的移動過程表現(xiàn)為不同的基站之間的切換過程,在該過程所產(chǎn)生的基站位置和時間的二元組是離散的數(shù)據(jù)。Markov鏈還有一個重要性質(zhì)是時間和狀態(tài)都是離散的,這一點正符合我們要分析的移動通信環(huán)境中所產(chǎn)生的數(shù)據(jù)的特點。模型建立時的狀態(tài)集合則為建立模型所用到的每一個基站編號,例如用戶處于基站i,用模型表示就是用戶當(dāng)前的狀態(tài)為i。
在進行用戶軌跡預(yù)測前需要先得到用戶之前走過的軌跡,因為用戶的下一步要移動到的基站是由用戶之前走過的軌跡和通過對歷史數(shù)據(jù)統(tǒng)計出的轉(zhuǎn)移概率矩陣共同決定的。轉(zhuǎn)移概率矩陣統(tǒng)計出來后就是一個定值,想要提高軌跡的預(yù)測準(zhǔn)確性就需要從用戶之前走過的軌跡入手,很顯然用戶的走過的軌跡中越接近現(xiàn)在時刻的狀態(tài)對預(yù)測起到的作用越大,而很早之前的數(shù)據(jù)對預(yù)測的影響幾乎可以忽略不計而且太多軌跡數(shù)據(jù)也會影響預(yù)測的效率,所以在預(yù)測過程中只保留用戶當(dāng)前位置信息和離現(xiàn)在最近的k-1條位置信息,總共k條數(shù)據(jù)。k條數(shù)據(jù)對預(yù)測結(jié)果的不同影響可以通過加權(quán)的方式來反應(yīng)到計算當(dāng)中。
想要得到未來一段時間T后區(qū)域內(nèi)的群體分布,就需要對一定區(qū)域內(nèi)的所有的有效用戶的都要單獨進行軌跡預(yù)測。單個用戶的預(yù)測方法已知,后面的關(guān)鍵是確定建立模型時的狀態(tài)集合的,即基站集合。要預(yù)測某區(qū)域內(nèi)的人群體分布,首先要確定要進行軌跡預(yù)測的目標(biāo)人群,假設(shè)該目標(biāo)人群所在基站的集合為B,B有兩部分組成:第一部分為要監(jiān)控區(qū)域的所有基站的集合,記為B1;第二部分為集合B1附近的基站集合,記為B2,在B2基站集合中的用戶在未來一段時間可能到達集合B1或者B1中的用戶在未來一段時間可能到達集合B2中的基站。B1、B2和B的關(guān)系圖如下圖4所示。圖中灰色部分為集合B2,中間的白色部分為集合B1,B為整個大圓部分,可以表示為B=B1∪B2。
因為監(jiān)控區(qū)域的基站集合是已知的所以B1為已知的,下面主要分析B2集合的求解,B2可以有兩種常用的求法:第一種是通過統(tǒng)計歷史數(shù)據(jù)找到所有在時間T內(nèi)可以到達目標(biāo)區(qū)域的記錄,把記錄所在的基站添加到B2中,最終得到集合B2;第二種方法是通過計算基站之間距離的方法找到所有滿足從基站X出發(fā)經(jīng)過T時間后用戶可以移動到目標(biāo)區(qū)域的基站X的集合,該集合就是我們要求的集合B2,其計算過程如圖5所示。圖中L表示的是基站X與目標(biāo)區(qū)域中離基站X最近的基站A之間的距離,S表示的是用戶從基站X移動到基站A時所用的最短距離,現(xiàn)假設(shè)人類的移動速度上限為V=120km/h,所以要保證用戶從基站X在時間T內(nèi)移動到基站A必須滿足不等式S≤T×V,在假設(shè)基站的覆蓋范圍的半徑為R,我們只需要找到所有基站集合中滿足L≤T×V+2×R,的基站就可以得到集合B2。
本發(fā)明提供的一種基于移動通信運營數(shù)據(jù)的城市群體行為監(jiān)測系統(tǒng),對于人口密度分析,交通狀態(tài)分析和熱點事件分析提供了科學(xué)的數(shù)據(jù)基礎(chǔ),提供了一種城市群體行為的預(yù)測方法,通過對歷史事件中監(jiān)測數(shù)據(jù)的特征提取以及與當(dāng)前狀態(tài)的比較,可以使用概率模型預(yù)測城市群體可能的行為,比如大型集會,流動路徑和群體組成等,有效預(yù)測對于道路分流優(yōu)化和城市公共安全具有重要意義,同時,準(zhǔn)確的統(tǒng)計和預(yù)測結(jié)果對于城市規(guī)劃和商業(yè)選址也有很大的參考意義;同時提供了一種“智慧城市”的建設(shè)思路。智慧城市就是運用信息和通信技術(shù)手段感測、分析、整合城市運行核心系統(tǒng)的各項關(guān)鍵信息,從而對包括民生、環(huán)保、公共安全、城市服務(wù)、工商業(yè)活動在內(nèi)的各種需求做出智能響應(yīng)。顯然,本發(fā)明所公開的系統(tǒng)和實施方法符合智慧城市的建設(shè)思路;進一步挖掘了移動運營數(shù)據(jù)的價值,運營商每天都在產(chǎn)生海量數(shù)據(jù),但是這些數(shù)據(jù)中的絕大部分都只是被存儲起來,除了很少的查詢外幾乎沒有其他價值,本發(fā)明所公開的系統(tǒng)從移動運營數(shù)據(jù)中提取出有價值的字段加以分析,便能造福于眾。
最后應(yīng)當(dāng)說明的是:本發(fā)明并不僅限于上述實施方式,任何針對本發(fā)明的具體實施方式進行的未脫離本發(fā)明精神和范圍的修改或者等同替換均在本發(fā)明申請待批的權(quán)利要求保護范圍之內(nèi)。