本發(fā)明屬于通信技術(shù)領(lǐng)域,特別是移動(dòng)互聯(lián)網(wǎng)及計(jì)算機(jī)通信領(lǐng)域,涉及一種基于游客移動(dòng)信令數(shù)據(jù)的景區(qū)實(shí)時(shí)動(dòng)態(tài)客流量統(tǒng)計(jì)方法。
背景技術(shù):
近年來(lái),以云計(jì)算、物聯(lián)網(wǎng)、移動(dòng)通信等為代表的新一代信息技術(shù)取得了重大突破,開(kāi)始廣泛應(yīng)用于各行各業(yè)。物聯(lián)網(wǎng)技術(shù)突破了互聯(lián)網(wǎng)的“線上”局限,把虛擬世界與現(xiàn)實(shí)世界聯(lián)成一體;移動(dòng)通信技術(shù)實(shí)現(xiàn)了實(shí)時(shí)數(shù)據(jù)在系統(tǒng)之間、遠(yuǎn)程設(shè)備之間的無(wú)線連接,為無(wú)處不在的全程服務(wù)提供了條件;云計(jì)算解決了互聯(lián)網(wǎng)發(fā)展所帶來(lái)的巨量數(shù)據(jù)存儲(chǔ)與處理問(wèn)題。這些技術(shù)的普及和應(yīng)用,為旅游信息化的發(fā)展提供了有力支撐,將人類社會(huì)帶入了一個(gè)以“pb”(1024tb)為單位的新階段,大數(shù)據(jù)時(shí)代應(yīng)運(yùn)而生。大數(shù)據(jù)不僅更新了旅游信息化所需的技術(shù),更從觀念和思維上革新了人類的認(rèn)識(shí),實(shí)現(xiàn)思維、商業(yè)、管理上的變革。
隨著中國(guó)經(jīng)濟(jì)的發(fā)展,人們收入的增長(zhǎng)以及對(duì)生活品質(zhì)的追求,旅游業(yè)在國(guó)內(nèi)發(fā)展得很快,得到了國(guó)家的大力支持,旅游業(yè)進(jìn)入爆發(fā)性的增長(zhǎng)階段,成為新的支柱產(chǎn)業(yè)。旅游已經(jīng)成為人們生活方式的重要組成部分,但與此同時(shí)引發(fā)了一些景區(qū)管理的安全隱患,景區(qū)超流量接待游客已不是罕見(jiàn)現(xiàn)象。2015年跨年夜上海發(fā)生的踩踏事件,暴露出了我國(guó)在大量游客管理方面能力的匱乏。事后國(guó)家旅游局對(duì)景區(qū)安全管理更加嚴(yán)格,尤其是在景區(qū)客流量控制上。因此,無(wú)論是從國(guó)家還是旅游局層面來(lái)講,景區(qū)需要一套針對(duì)景區(qū)游客的安全監(jiān)控方案。
傳統(tǒng)的景區(qū)動(dòng)態(tài)客流量統(tǒng)計(jì)方法在實(shí)時(shí)性方面體現(xiàn)的比較差,統(tǒng)計(jì)景區(qū)客流量是通過(guò)從傳統(tǒng)的數(shù)據(jù)庫(kù)中分析提取。而傳統(tǒng)數(shù)據(jù)庫(kù)具有效率不夠高、可讀性不高、數(shù)據(jù)時(shí)間性不足等缺點(diǎn),導(dǎo)致分析傳統(tǒng)數(shù)據(jù)庫(kù)中的海量游客信令數(shù)據(jù)會(huì)造成查詢速度特別慢、統(tǒng)計(jì)速度特別慢等缺點(diǎn)。所以傳統(tǒng)數(shù)據(jù)庫(kù)不適合用于存儲(chǔ)分析海量數(shù)據(jù),不利于應(yīng)對(duì)短時(shí)間內(nèi)因游客劇增導(dǎo)致?lián)矶隆⒉忍さ纫l(fā)的安全事故。
flume是一個(gè)分布式、可靠、和高可用的海量日志聚合的系統(tǒng),支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),flume提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。
kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)。kafka可實(shí)時(shí)記錄從數(shù)據(jù)采集工具flume中收集的數(shù)據(jù),并作為消息緩沖組件為上游實(shí)時(shí)計(jì)算框架提供可靠數(shù)據(jù)支撐。
spark是一個(gè)分布式的內(nèi)存計(jì)算框架,其特點(diǎn)是能處理大規(guī)模數(shù)據(jù),計(jì)算速度快。spark需要集成hadoop的分布式文件系統(tǒng)才能運(yùn)作,它延續(xù)了hadoop的mapreduce計(jì)算模型,相比之下spark的計(jì)算過(guò)程保持在內(nèi)存中,減少了硬盤讀寫,能夠?qū)⒍鄠€(gè)操作進(jìn)行合并后計(jì)算,因此提升了計(jì)算速度。spark必須搭在hadoop集群上,它的數(shù)據(jù)來(lái)源是hdfs,本質(zhì)上是yarn上的一個(gè)計(jì)算框架,像mapreduce一樣。spark核心部分分為rdd。sparksql、sparkstreaming、mllib、graphx、sparkr等核心組件解決了很多的大數(shù)據(jù)問(wèn)題,其完美的框架日受歡迎。其相應(yīng)的生態(tài)環(huán)境包括zepplin等可視化方面,正日益壯大。spark讀寫過(guò)程不像hadoop溢出寫入磁盤,都是基于內(nèi)存,因此速度很快。另外dag作業(yè)調(diào)度系統(tǒng)的寬窄依賴讓spark速度提高。
本方法采用快速的海量數(shù)據(jù)處理框架和相應(yīng)的分析算法實(shí)時(shí)監(jiān)控景區(qū)內(nèi)的客流情況,以便景區(qū)和當(dāng)?shù)厝嗣裾芗皶r(shí)采取疏導(dǎo)、分流等措施,從而達(dá)到景區(qū)安全管理的目的。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種基于游客移動(dòng)信令數(shù)據(jù)的景區(qū)實(shí)時(shí)動(dòng)態(tài)客流量統(tǒng)計(jì)方法,該方法針對(duì)傳統(tǒng)的景區(qū)動(dòng)態(tài)客流量統(tǒng)計(jì)方法在實(shí)時(shí)性方面體現(xiàn)的比較差、海量數(shù)據(jù)不適合存儲(chǔ)在傳統(tǒng)數(shù)據(jù)庫(kù)中進(jìn)行分析等問(wèn)題,通過(guò)實(shí)時(shí)監(jiān)控景區(qū)內(nèi)的客流量,有助于應(yīng)對(duì)短時(shí)間內(nèi)景區(qū)游客劇增情況,便于景區(qū)和當(dāng)?shù)卣皶r(shí)采取疏導(dǎo)、分流等措施,從而達(dá)到景區(qū)安全管理的目的,同時(shí)更大程度地提升游客對(duì)景區(qū)的體驗(yàn)度。
為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
一種基于游客移動(dòng)信令數(shù)據(jù)的景區(qū)實(shí)時(shí)動(dòng)態(tài)客流量統(tǒng)計(jì)方法,該方法包括以下步驟:
s1:lte-a空口監(jiān)測(cè)儀實(shí)時(shí)采集景區(qū)內(nèi)游客的信令數(shù)據(jù),并將數(shù)據(jù)保存至遠(yuǎn)程文件中,以一分鐘的時(shí)間粒度保存一個(gè)信令數(shù)據(jù)文件;
s2:通過(guò)flume組件監(jiān)測(cè)遠(yuǎn)程文件是否有文件更新,若有更新,將文件逐條記錄收集;
s3:flume組件將更新的最新文件中的數(shù)據(jù)逐條發(fā)送至kafka數(shù)據(jù)緩沖組件中進(jìn)行數(shù)據(jù)緩沖,直至更新后的最新文件中的數(shù)據(jù)全部發(fā)送完畢,將該數(shù)據(jù)流打包成批數(shù)據(jù)作為spark的數(shù)據(jù)輸入流;
s4:在spark分布式的內(nèi)存計(jì)算框架中,通過(guò)比較前一分鐘和后一分鐘游客所在基站的位置來(lái)實(shí)時(shí)統(tǒng)計(jì)景區(qū)內(nèi)游客總量;
s5:將每分鐘實(shí)時(shí)統(tǒng)計(jì)的客流量結(jié)果進(jìn)行輸出并存儲(chǔ),如存儲(chǔ)到mysql/oracle數(shù)據(jù)庫(kù)中。
進(jìn)一步,在步驟s1中,所述lte-a空口監(jiān)測(cè)儀采集景區(qū)內(nèi)游客的移動(dòng)信令數(shù)據(jù),包括imsi庫(kù)、信令發(fā)生的時(shí)間、所在的基站位置信息,并將移動(dòng)信令數(shù)據(jù)以一分鐘的時(shí)間粒度保存一個(gè)信令數(shù)據(jù)文件。
進(jìn)一步,該方法還包括以下步驟:s6:將存入到數(shù)據(jù)庫(kù)的實(shí)時(shí)結(jié)果輸出至應(yīng)用展示層中,以可視化界面的形式方便用戶查看。
本發(fā)明的有益效果在于:
1)本發(fā)明將景區(qū)內(nèi)游客的海量實(shí)時(shí)移動(dòng)信令數(shù)據(jù)存儲(chǔ)在遠(yuǎn)程文件系統(tǒng)中,為數(shù)據(jù)預(yù)處理和數(shù)據(jù)分析處理模塊提供數(shù)據(jù)準(zhǔn)備,把數(shù)據(jù)分析后的結(jié)果存儲(chǔ)到傳統(tǒng)的數(shù)據(jù)庫(kù)中,從而大大減輕了傳統(tǒng)數(shù)據(jù)庫(kù)直接存儲(chǔ)海量實(shí)時(shí)數(shù)據(jù)的壓力。
2)本發(fā)明基于hadoop平臺(tái),在spark分布式內(nèi)存計(jì)算框架中進(jìn)行海量的數(shù)據(jù)運(yùn)算分析,把在傳統(tǒng)數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)運(yùn)算的壓力轉(zhuǎn)移到高效快速的spark分布式內(nèi)存計(jì)算框架中,從而保證了景區(qū)內(nèi)對(duì)游客的實(shí)時(shí)監(jiān)控。
3)本發(fā)明可用于分析景區(qū)內(nèi)精細(xì)化的客流特征,通過(guò)重復(fù)利用kafka緩沖的批數(shù)據(jù)處理流,在spark中生成多個(gè)rdd變換,每個(gè)rdd變換用于一種客流特征的分析,形成各自的業(yè)務(wù)邏輯。
附圖說(shuō)明
為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行說(shuō)明:
圖1為本發(fā)明中的數(shù)據(jù)預(yù)處理流程圖;
圖2為本發(fā)明中數(shù)據(jù)實(shí)時(shí)計(jì)算處理流程圖;
圖3為本發(fā)明中精細(xì)化的客流特征分析流程框圖;
圖4為本發(fā)明中數(shù)據(jù)實(shí)時(shí)計(jì)算處理后數(shù)據(jù)表的設(shè)計(jì)。
具體實(shí)施方式
下面將結(jié)合附圖,對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。
圖1為本發(fā)明中的數(shù)據(jù)預(yù)處理流程圖,圖2為本發(fā)明中數(shù)據(jù)實(shí)時(shí)計(jì)算處理流程圖,如圖所示,本發(fā)明提供了一種基于游客移動(dòng)信令數(shù)據(jù)的景區(qū)實(shí)時(shí)動(dòng)態(tài)客流量統(tǒng)計(jì)方法,該方法包括如下步驟:
步驟1:lte-a空口監(jiān)測(cè)儀實(shí)時(shí)采集景區(qū)內(nèi)游客的信令數(shù)據(jù)imsi號(hào)和(lac,ci)(移動(dòng)終端imsi表示游客在景區(qū)的唯一標(biāo)識(shí),移動(dòng)終端所在的基站位置(lac,ci)表示游客所在的位置),并將數(shù)據(jù)保存至遠(yuǎn)程的文件中,以一分鐘的時(shí)間粒度保存一個(gè)信令數(shù)據(jù)文件。
步驟2:通過(guò)flume組件監(jiān)測(cè)遠(yuǎn)程文件是否有文件更新,若有更新,將文件逐條記錄收集。
步驟3:flume組件將更新的最新文件中的數(shù)據(jù)逐條發(fā)送至kafka數(shù)據(jù)緩沖組件中進(jìn)行數(shù)據(jù)緩沖,直至更新后的最新文件中的數(shù)據(jù)全部發(fā)送完畢,將該數(shù)據(jù)流打包成批數(shù)據(jù)作為spark的數(shù)據(jù)輸入流。
步驟4:在spark分布式的內(nèi)存計(jì)算框架中,通過(guò)比較前一分鐘和后一分鐘游客所在基站的位置來(lái)實(shí)時(shí)統(tǒng)計(jì)景區(qū)內(nèi)游客總量。當(dāng)前景區(qū)游客總量為各個(gè)基站下游客總量之和。當(dāng)游客從景區(qū)內(nèi)一個(gè)基站到另一個(gè)基站,景區(qū)總量不變;當(dāng)游客前后一分鐘都在該景區(qū)內(nèi)的同一個(gè)基站范圍內(nèi),景區(qū)總量不變;當(dāng)游客從景區(qū)外的一個(gè)基站到景區(qū)內(nèi)的一個(gè)基站,景區(qū)總量+1;當(dāng)游客從景區(qū)內(nèi)的一個(gè)基站到景區(qū)外的一個(gè)基站,景區(qū)總量-1。
步驟5:將每分鐘實(shí)時(shí)統(tǒng)計(jì)的客流量結(jié)果進(jìn)行輸出并存儲(chǔ),如存儲(chǔ)到mysql/oracle數(shù)據(jù)庫(kù)中。數(shù)據(jù)庫(kù)中表的設(shè)計(jì)結(jié)構(gòu)如圖4所示。
步驟6:將存入到數(shù)據(jù)庫(kù)的實(shí)時(shí)結(jié)果輸出至應(yīng)用展示層中。
本發(fā)明可用于分析景區(qū)內(nèi)精細(xì)化的客流特征,通過(guò)重復(fù)利用kafka緩沖的批數(shù)據(jù)處理流,在spark中生成多個(gè)rdd變換,每個(gè)rdd變換用于一種客流特征的分析,形成各自的業(yè)務(wù)邏輯。如圖3所示。
最后說(shuō)明的是,以上優(yōu)選實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管通過(guò)上述優(yōu)選實(shí)施例已經(jīng)對(duì)本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對(duì)其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書(shū)所限定的范圍。