□ 文 董昭 李娟 張海峰 張天驍
大數據位置類應用實現方式研究
□ 文 董昭 李娟 張海峰 張天驍
大數據技術日益發展成熟,已經在互聯網尤其是電商、社交、搜索等領域取得了較為成熟的應用。電信運營商擁有多年的數據積累,數據已成為一種商業資本和一項重要的經濟投入,而如何應用和挖掘海量數據,則成為運營商贏得市場的關鍵因素。
為滿足政府、商業機構及公司內部市場部分的需求,電信運營商需洞察一定區域范圍內的人群位置信息,推出基于位置信令等數據的統計、分析和挖掘服務。交通運輸、城市安全、智慧旅游、商業經營等均是規模龐大、潛力巨大的市場。
大數據位置類應用是基于位置信令等數據的統計、分析和挖掘的服務,為機構選址、城市規劃、智慧旅游等場景提供解決方案。主要的產品形態和服務形態為結合地理信息的GIS數據產品及服務,面向用戶的實時位置查詢API服務。具體如下:
(一) 機構選址
基于大數據位置類信息,結合用戶特征信息,對特定區域進行人口流動性分析,面向零售、餐飲、娛樂服務等商家在輔助選址和顧客分析方面提供高效的信息獲取、全面的信息匯聚和深度的客戶洞察等數據應用服務,尋求提升商家在某個區域競爭力的機會。
(二) 城市規劃
區域商圈規劃:根據城市特點和人群分布結構,合理規劃區域和商圈,分攤核心區域壓力。
交通規劃設計:根據人群分布和通勤特點,科學合理制定交通路線、站臺位置等,提高城市交通效率。
建設項目選址:根據建設項目和人群特點,合理規劃項目位置。
(三) 公共區域安全監測
特定區域監控:在特定區域內全方位常態監控人群流量、密度、駐留時間等,以及在特定區域內人群流量或密度突增時觸發預警。
區域智能預警:監控、預警未知區域的人群突增,即根據區域歷史數據建模輸出區域內人群突增三個級別的預警參考值,依據參考值設置預警指標值,滿足未知區域人群突增智能預警。
(四) 城市交通
高速公路監控:交通樞紐、事故多發地段車流量監控、高速分路段通暢情況監控。監控情況和交通部門現有攝像監控、車速監控雷達結合,形成對外消息發布和預警及處理信息。
(五) 智慧旅游
通過對景點的游客來源、駐留時長、組成特征進行多維度分析,為景區精細化營銷、景點路線規劃與服務提升提供數據支撐。還可進行游客來源分析,逗留時長分析,旅游路線分析,景區熱度分析,優化最佳旅游路線,科學調配旅游資源。
通過上面的分析我們看到,如果運營商要發展位置類自有產品,具有四點優勢:
第一,使用壁壘低。用戶可隨時隨地無需受到硬件限制即可獲得位置服務,而GPS定位需要硬件支持,成本高、普及難度大;

第二,適用人群廣。只要有手機,都可以使用,而“簽到”定位及GPS定位適用于年輕群體及偏好高新技術群體;
第三,實時性高。具有地圖數據、交通路況等實時更新的優勢;
第四,體系內產品的支持力度大。可以通過短信、彩信、增值業務平臺等多種方式推送定位結果。
另一方面,如果運營商要發展嵌入式第三方產品,其位置輸出能力也具有一定優勢,運營商向第三方輸出位置能力,通常作為第三方產品定位的必要補充手段,其優勢在于龐大的用戶規模和真實準確的基站信息庫。與手機號碼的捆綁使運營商可同時為第三方在業務支撐與控制、業務分析與運營上提供支持。
在移動互聯網業務蓬勃發展的今天,用戶密度決定市場寬度,如果運營商能夠將位置能力與大數據平臺分析能力結合起來,將可大幅度的提高位置服務的價值,為增值服務市場迎來爆發式增長。
目前對大數據處理主要采用兩種核心技術:一種是基于磁盤處理任務調度的批處理技術,另一種是基于內存計算的實時流處理技術。本文主要研究實現位置類應用的流處理技術。流處理的特點主要包括:
? 可以可靠的處理無界持續的流數據,保證每個消息至少能得到一次完整處理;
? 分布式的集群架構,伸縮性良好,易擴展且容錯性高;
? 可實時處理海量數據,高性能即處理速度快。
這里面主要介紹實現大數據平臺位置類應用采用到的Kafka、Storm、Flume及Streaming等關鍵技術:
Storm:分布式實時計算系統,可用來處理源源不斷流進來的消息,處理之后將結果寫入到存儲中。Storm集群主要由一個主節點(master node)和一群工作節點(worker nodes)組成,通過Zookeeper集群進行協調。主節點運行Nimbus進程,負責資源分配和任務調度,通知監控工作節點的運營狀態。工作節點運行Supervisor進程,負責接受nimbus分配的任務,啟動和停止屬于自己管理的工作進程。Storm通常被廣泛用來進行實時日志處理,從kafka中讀取實時日志消息,經過一系列處理,最終將處理結果寫入到一個分布式存儲中,提供給應用程序訪問。每天處理幾十億的用戶日志信息,從用戶行為發生到完成分析延遲在秒級。
S4:S4是一個通用的、分布式的、可擴展的、分區容錯的流式系統,其計算平臺具有可伸縮、易擴展、分區容錯的特點,通常處理實時性要求高的業務。通過部署廉價的服務器集群,S4進行分布式處理,處理模型參照MapReduce模式。S4是同類平臺中為數不多采用對等架構的系統,集群中的所有工作節點都是對等的,不存在主節點。使得系統具有很強的伸縮性,并且不存在單點故障,系統的部署和運維也得以簡化。但無法保障數據傳輸過程中的可靠性,某節點故障后將導致該節點數據丟失。因此,S4更適合對數據處理精確性要求不高的場景。
Streaming:實時數據流處理組件,是spark體系中的一個流式處理框架,建立在Spark上的實時計算框架,可以實現高吞吐量的、具備容錯機制的實時流數據的處理。通過它提供的豐富的API、基于內存的高速執行引擎,用戶可以結合流式、批處理和交互試查詢應用。支持從多種數據源獲取數據,從數據源獲取數據之后,可以使用諸如map、reduce等高級函數進行復雜算法的處理。最后還可以將處理結果輸出到多種不同的數據平臺中,包括文件系統和數據庫等。
Kafka:分布式消息隊列,是一種分布式的,基于發布/訂閱的消息系統,同時支持離線和在線日志處理。以時間復雜度為O(1)的方式提供消息持久化能力,即使對TB級以上數據也能保證常數時間的訪問性能,具有高吞吐率,即使在非常廉價的商用機器上也能做到單機支持每秒100K條消息的傳輸。Kafka中可以將Topic從物理上劃分成一個或多個分區(Partition),每個分區在物理上對應一個文件夾,該文件夾下存儲這個分區的所有消息和索引文件,這使得Kafka的吞吐率可以水平擴展。

圖1 位置應用平臺架構圖
Flume:Flume是Cloudera提供的一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸的系統,Flume支持在日志系統中定制各類數據發送方,用于收集數據。同時,Flume提供對數據進行簡單處理,并寫到各種數據接受方的能力。Flume以agent為最小的獨立運行單位,單agent由Source、Sink和Channel構成。
位置類應用以位置信令處理為核心服務內容,實現對位置信令進行加密、過濾以及關聯回填。本文主要采用實時計算實現位置類應用平臺,實時計算過程一般劃分為以下三個節點:數據的產生于收集、傳輸與分析處理、儲存并對外提供服務。參考實時計算的框架位置應用平臺主要包括數據源、數據接入、數據處理及存儲、數據服務及數據應用等內容。如圖1所示。
數據源:將MC口數據、S1-MME數據、基站基礎信息數據等作為數據源傳輸至大數據平臺。
數據接入:數據接入層完成數據的采集和預處理工作,實時從數據源采集S1-MME等信令數據。數據采集分為兩種方式:一對于實時性要求較強的信令數據,由接收服務層實現實時位置信令的采集,通過flume解析實時上報的位置信令;二對于實時性要求不高的數據,采用周期性文件采集方式匯聚到平臺。同時,大數據平臺按照數據處理規則完成數據的初步清洗、合并等工作,以提供后繼對位置業務處理工作。
數據存儲處理:數據存儲處理層負責數據存儲與計算工作。對于經過預處理的實時信令數據,部分落地至數據存儲介質中(如分布式文件系統HDFS,MPP等),另一份經過實時流計算處理引擎進行數據脫敏處理和數據過濾處理,在數據脫敏處理中,主要是對用戶隱私字段進行脫敏處理,如將用戶號碼信息通過哈希等加密方式進行加密。在數據過濾處理中,主要是依據應用的需求,過濾出所需字段。
數據服務:通過API和文件接口兩種方式,對外提供服務,供應用調用。
數據應用:提供基于位置信令數據的對外服務,如機構選址、位置營銷、智慧旅游、城市規劃等。
(一)建設原則
大數據平臺位置類應用規劃和建設遵循以下基本原則:
1、先進性原則
位置類應用的建設必須實現“高起點、高標準、高要求”,要本著“低成本高效”原則,充分引入云計算、大數據、智能展示等新技術。

表1 方案對比分析
2、標準化原則
位置類應用需遵循標準化原則,逐步深化平臺系統建設的標準化工作,包括標準化信息模型、標準化數據接口、標準化開發管理、標準化對外服務等系統建設模式。
3、開放性原則
系統中的各種網絡協議、硬件接口和數據接口等應符合業界開放式標準。應逐步通過數據封裝開放系統數據內容和應用功能,全面支持市場經營工作以及其它IT系統的數據和應用需求,實現應用百花齊放,充分滿足個性化需求,提升大數據平臺分析系統的廣度和深度。
(二)建設方式
如表1,大數據位置類應用平臺可采用如下兩種方式進行建設:
方案一:全網集中建設一套一級位置類應用平臺
全國統一建設一套位置類應用平臺,統一采集全網數據,統一負責位置數據的匯總及加工,并以API的形式開放給外部應用使用。
方案二:分散各地建設多套二級位置類應用平臺
按區域劃分建設多套二級位置類應用平臺,數據和產品能力全部在各區域大數據平臺。將數據上傳給一級位置類應用平臺,由一級平臺通過服務調用或查詢服務,滿足對全網服務的需求。

圖2 分工及數據處理流程
方案比較:
方案一工程進度較快,且便于對數據源進行追溯,對技術與運營團隊技術要求較高,可滿足互聯網全網服務。方案二各地進度不統一,且面向全網服務較為困難,但可成分調動各區域公司的建設熱情,滿足本區域內的服務需求。
本文以方案一為例舉例說明位置類應用平臺的各部分工作分工及數據處理流程。如圖2。
由各數據源將將位置信令數據透傳至大數據平臺,由大數據平臺實現數據的格式統一、敏感信息脫敏、關聯處理等操作,并將結果提供給各位置類應用使用。

1、由各數據源將Mc口、S1-MME口等位置信息數據透傳至大數據平臺;
2、大數據平臺實時采集數據后對數據進行過濾、加密并輸出到緩存;
3、大數據平臺實現數據的格式統一、敏感信息脫敏、數據過濾、數據匹配、關聯處理等操作;
4、數據存儲需對所有數據進行持久化存儲,為位置類平臺提供數據支持;
5、大數據平臺負責位置數據的匯總及加工,并以API的形式開放給外部應用使用。
隨著大數據平臺的實時處理能力相關技術的發展,基于用戶位置的位置類便民信息服務已成為重要亮點。今后隨著用戶可隨時隨地查詢身邊的地鐵口、加油站、銀行ATM、電力/水力營業廳、移動營業廳以及WLAN熱點等公共設施的分布情況,“掌上公交”、“商戶聯盟”、“實時交通”等一系列位置類應用服務將廣受好評,大數據平臺位置類應用的建設必將更加受到廣泛關注。■
中國移動通信集團設計院有限公司網絡所)
[1]吳京潤,黃經業譯.顛覆大數據分析:基于Storm、Spark等Hadoop替代技術的實時應用.電子工業出版社,2015.
[2]泰德.敦寧,流式架構Kafka與MapR Streams數據流處理.電子工業出版社,2017.
[3](美)吉奧茲,(美)奧尼爾 著,董昭 譯. Storm分布式實時計算模式.機械工業出版社,2015.
[4]丁維龍,Storm:大數據流式計算及應用實踐,電子工業出版社,2015.
[5]張毅,大數據環境下的實時流式數據處理技術,東南大學 , 2014.