鄧炳光,張林霞,張治中,程 方
(重慶郵電大學 通信網測試工程研究中心,重慶 400065)
基于數據倉庫的旅游服務平臺的設計與實現
鄧炳光,張林霞,張治中,程 方
(重慶郵電大學 通信網測試工程研究中心,重慶 400065)
針對旅游服務中對大數據統計的需求分析,提出了一套基于數據倉庫的旅游服務平臺解決方案,并進一步闡述了該方案在實現過程中涉及到的關鍵技術,包括ETL(Extraction Transformation Loading)、數據倉庫建模以及報表分析等,為大數據下搭建旅游服務平臺,提供了重要的理論支撐和實踐基礎。
數據倉庫;ETL;旅游服務;報表分析
隨著信息化的飛速發展,信息量的快速上升,傳統數據庫已遠遠不能滿足現實的需要[1],傳統數據庫存在以下缺點:
1)效率不夠高。例如,用戶要求分別按照日、周、年等不同的時間粒度統計數據變化情況。這時如果按照傳統數據庫來設計將極大的降低工作效率。
2)可讀性不高。傳統數據庫有大量的基礎數據,多為專業及操作人員所熟識,這些數據對管理人員和決策者都不直觀,都無法為他們做決定提供很好的技術支持。
3)數據時間性不足。傳統數據庫用于存儲實時數據,當有大量的歷史數據分析需求時,將不能滿足業務需要。
同時,我國人口基數大同時又是旅游大國,每逢節假日就有上億的用戶選擇旅游。海量的旅游基礎數據隱含了大量的商業信息,挖掘并利用這些信息為高級決策支持服務,不僅可以提高商業利潤甚至可以提高社會安全。
2014年12月31日23時35分許,正值跨年夜活動,因很多游客市民聚集在上海外灘迎接新年,黃浦區外灘陳毅廣場進入和退出的人流對沖,致使有人摔倒,發生踩踏事故,36人死亡49人受傷。該監控區域內,人非常多,如果旅游服務部門對用戶行為實時跟蹤并對人流量分析即使控制該區域的人口進出,可以減少甚至避免此類事件再次發生。
大數據不僅在旅游行業的應用前景非常廣闊,而且有很高的利用價值,但是目前整個旅游行業對于大數據的應用仍存在很大的障礙。這些障礙主要來自于數據分析和挖掘方法不當,本課題積極響應“智慧旅游”號召,并結合大數據,提出了一套合理的數據分析和挖掘方案。
當前,旅游服務部門存儲了游客多方面信息,包括移動通信信令數據、便攜式智能移動終端信息等。這些數據都是簡單的存儲在傳統數據庫中。數據庫包含了大量真實反映游客當前位置、出行等信息的數據。這些數據只是簡單呈現給用戶,但數據隱含的價值沒有得到利用,相關部門意識到這正是旅游服務部門正常、高效運轉的核心資源,決定從時間、客源等多維度定量展示有關游客分析的數據。在這樣的背景下,基于數據倉庫的旅游服務便應運而生。本文提出了一套基于數據倉庫構建旅游服務平臺的解決方案。
2.1 需求分析
通過對旅游服務的深入研究發現,該平臺需求主要分為兩類:一類是時間粒度非常細的實時人流量分析,這類需求只
需對事實數據進行簡單抽取與清洗即可呈現給用戶。另一類是時間粒度相對較大的時段新增等分析,要求對指定景區下,相比前一個整點時刻的游客新增人流量、游客來源地等分析,類似的還有用戶駐留分析、用戶屬性分析。以上兩類分析,均是以時間為維度對事實表中數據分析。實際上不僅要對游客流量從時間維度分析,還要以景區為對象,對游客從地區維度分析,例如,在時段新增中不僅要清楚前一整點時間段內游客流量總數,還要明確該時間段內游客來源地分布比例。
基于數據倉庫的旅游服務平臺統計需求分析,如圖1所示。

圖1 基于數據倉庫的旅游服務平臺統計需求分析
2.2 總體架構
采用數據倉庫技術更能滿足課題需求。
數據倉庫并不是摒棄傳統數據倉庫,而是將其結合其他軟件、工具更智能的利用,數據倉庫是一個體系、概念系,并不是單一的某個軟件或工具。
數據倉庫(Data Warehouse,DW)是決策支持系統(DSS)和聯機分析應用(OLAP)數據源的結構化數據環境。數據倉庫的特征在于面向主題、集成性、穩定性和時變性。倉庫是面向主題的,而操作型數據庫的數據組織面向事務處理任務,數據倉庫中的數據是按照一定的主題域進行組織。主題是指決策者所關心的重點方面。數據倉庫的數據來自于分散的操作型數據,將所需數據從原來的數據中抽取出。數據倉庫的核心工具進行加工與集成,統一與綜合之后才能進入數據倉庫。數據倉庫系統中的數據也具有自身的生命周期,數據倉庫系統并不是總裝載數據而不清除數據的系統,數據倉庫系統是從細化級別的數據逐漸上升為高度綜合級的數據,直到數據已經不再具備任何意義時被清除的過程[2]。
本次旅游服務平臺由源系統、數據倉庫和統計平臺三部分組成[3]。
旅游服務平臺的源系統是傳統的數據庫系統,里面涉及的業務數據源較廣泛,主要由游客事實表、用戶手機信息、景區信息等信息組成。數據倉庫接收來自傳統數據庫中的事實表等信息數據,然后需要通過相關算法處理最終得到決策者想要的報表統計。
統計平臺:旅游服務平臺采用B/S架構,實現對統計報表中的數據更直觀的展示。
旅游服務平臺總體框架如圖2所示。

圖2 旅游服務平臺總體框架
2.3 數據倉庫建模
數據倉庫技術有很多種建模方法,目前較為流行的有范式建模法和Kimball所提倡的維度建模法[4],其中最典型的是維度建模法。
維度建模法是按照事實表、維度表來構建數據倉庫。事實表是含有不同維度數據的表,表中含有大量的業務數據。維度建模的優點是:針對各個維作了大量的預處理,提升了數據倉庫的處理能力;以業務為中心,無需復雜的抽象處理即可直觀反應業務模型中的業務問題,范式建模法相對復雜。維度建模法中最常用的是星型結構模式。
星型結構模式是一種多維的數據關系,由一個事實表 (Fact Table)和一組維表(Dimension Table)組成,每個維表都有一個維作為主鍵,所有這些維組合成事實表的主鍵,事實表的非主屬性稱為事實(Fact),它們一般都是數值或其他可以進行計算的數據,而維大都是文字、時間等類型的數據[2]。星型模式是指一個事實表參照多個維表的模式,通常一個主題對應一個事實表,邏輯結構比較簡單,連接相對較少。在一般的設計中,由于星型式更易于管理,結構簡單,在維度較少的情況下,多采用星型模式創建數據倉庫模型。
星型結構如圖3所示。

圖3 星型結構
2.4 旅游服務平臺星型建模
本系統采用星型結構來創建數據倉庫模型。
在設計星型模型時,首先要確定主題,平臺主要研究某景區的實時人流量和該景區下用戶駐留行為分析的主題。確定主題后,選定事實表,并確定統計的時間粒度。
本次旅游服務平臺系統只有一張基于用戶行為的事實表。該事實表是從移動通信網中采集而來,主要包含移動用戶的位置信息。由于智能移動終端位置發生改變時(即發生位置切換)便向基站發送定位信息,所以該表每一定時間更新一次,該事實表非常符合傳統數據庫中典型的數據特性——數據實時性。
該事實表即海量移動用戶攜帶智能終端發送的定位信息表,包括終端發送信息的時間、終端用戶的IMSI、IMEI、TMSI以及連接基站等基本行為統計信息。采集到的事實表數據結構和部分數據分別如圖4、圖5所示。

圖4 智能終端定位信息事實表數據結構(截圖)

圖5 智能終端定位信息事實表部分數據(截圖)
其中,DIMTIME為采集到的終端信息時間,即終端發送定位信息時間;IMSI,MSISDN,IMEI,TMSI為用戶手機信息;CELLID為基站號;COMEFROM為用戶來源地區號;事實表通過CELLID字段可以連接到小區信息表,利用景區和基站的對應關系可以得出移動用戶的位置信息。通過COMEFROM字段可以連接到號碼歸屬地信息表,獲取更詳細的用戶信息。創建的數據倉庫關系模型如圖6所示。

圖6 旅游服務平臺數據倉庫關系模型
2.5 時段新增ETL流程
本旅游服務平臺利用采集到的事實表與多個維度表數據綜合分析,對事實表中的源數據通過ETL(Extraction Transformation Loading)等關鍵技術的處理和分析,將源數據中包含的價值展示出來。
前面講到數據倉庫是一個體系和概念,而高效的實時數據倉庫技術則離不開ETL。ETL負責將分散的、異構數據源中的數據抽取到臨時中間層后進行清洗、轉換、集成,最后加載到數據倉庫或數據集市中。 有效的數據抽取是成功實時數據倉庫的關鍵,需要特別關注這個部分[5-7]。
本平臺主要按照某景區內游客的實時人流量、時段新增、熱點來源、用戶駐留的4個主題分析。
由于源旅游服務平臺系統中包含有海量的用戶行為信息數據,在源系統中只是對這些數據簡單的呈現,這些信息包含的商業價值還無法得以利用,為了充分挖掘這些信息中包含的價值,本平臺開發了一套合理的數據處理的算法,分析出指定景區內游客的實時人流量、時段新增流量、游客熱點來源以及用戶駐留的報表分析。
以時段新增為例,介紹基于數據倉庫游服務平臺中時段新增的ETL處理流程,如圖7所示,其中區域快照表是用戶駐留時間表,出行鏈表是用戶離開景區的統計表。

圖7 旅游服務平臺時段新增ETL流程圖
時段新增分析的ETL工作流程如下:
1)在入庫服務器將采集到的數據錄入到事實表,用于記錄海量移動用戶向基站發送的定位信息,當用戶定位信息發送改變即位置切換時,移動終端立即向基站發送定位信息,但是由于數據量太大,所以在本次平臺以1 min為時間間隔采集發生位置切換用戶的定位信息。但是,如果移動終端的位置沒有改變即仍在某個基站覆蓋范圍內,那么它本來不會發送信息但是當時間間隔超過運營商設定的時間段(本次設定1小時50分鐘)時,移動終端仍然會發送定位信息,發送的信息內容如圖4所示共16個字段。
2)由于事實表包含最近歷史數據并且按照常理推算 5 min 為一個用戶從一個景區到另一個景區的不可能時間,同時為了確保數據的實時、有效性,故抽取事實表中最新 5 min 數據,并篩選出有多個記錄的用戶的最后一條記錄,插入到 5 min 最新時間表,作為進一步ETL處理的基礎表。
3)由第2)步得到的表數據作為系統的最新5 min事件表,與系統的上次5 min最新事件表做對比:2個表中同時有的數據,確定該游客為原駐留游客,并可在駐留信息表中對應記錄時間上增加駐留時間;本次5 min最新事件表中有而系統的上次5 min最新事件表中沒有,確定該游客為新來景區游客,為出行鏈表中新出現用戶;最新事件表中沒有而上次 5 min 最新事件表中有,則確定該游客離開該景區,此時停止增加游客駐留時間,并更新出行鏈表。
4)當系統積累時間間隔達到1 h時,對比區域快照表減去出行鏈表中的數據在減去原駐留用戶數據即為時段新增表分析數據。
按照以上方法,得到的時段新增統計分析表如圖8所示。

圖8 時段新增流量分析表(截圖)
2.6 結果展示
上節中分析后的結果是以表格形式呈現,決策人員無法直觀地體現規律。該模塊是經過ETL處理后的數據,按照不同的主題進行統計的結果以圖表的形式展示,便于直接、形象地了解當前景區的流量流動規律。
圖9為某景區下時段新增流量統計分析結果展示圖。從圖中可以看出該主題以時間維度,以1 h為粒度,對該景區下的游客新增數量做統計。通過分析不僅可以得出當前時刻該景區下前一個時刻該景區新增人流量,還可以根據規律粗略推算下個時刻該景區新增流量,利用得到的數據和掌握的規律為高層人員做出決策提供堅固的理論和實踐支持,例如,交通局可以根據當前總流量結合圖中規律得出的下個小時新增流量預測是否會超出當前景區的人口閾值,防止該景區發生踩踏等事件,提高公共社區的安全性。

圖9 某景區時段新增流量分析統計結果展示
本文提出了一套基于數據倉庫的旅游服務平臺實現方案,該方案通過合理的架構設計對海量游客行為信息數據集中處理、加工,實現對控制景區內游客的時段新增流量加以分析,并以直觀形象的方式呈現統計結果。該平臺能有效滿足大數據下旅游業務的發展需要,同時對促進旅游業的發展也提供了理論和實踐支持[8-10]。
[1] 張俊,張忠能.實時數據倉庫體系架構的研究[J].計算機工程,2004(30):1-2.
[2] 楊曉文.數據倉庫技術在學生成績分析系統中的應用[D].太原:中北大學,2005.
[3] 龍新征,李麗,彭一明.基于數據倉庫的高校數據統計服務平臺研究[J].通信學報,2013,34(2):3-4.
[4] KIMBALL R,ROSS M. The data warehouse toolkit: the complete guide to dimensional modeling[M]. New York: John Wiley and Sons, 2002.
[5] 龍曉泉.基于Oracle的實時數據倉庫技術研究與應用[D].長沙:湖南大學,2010.
[6] 馮健文,林璇.基于ODS的數據倉庫模型研究[J].微計算機應用,2006, 27(4):468-470.
[7] THALHAMMER T, SEHREFL M. Mohania active data warehouses complementing OLAP with analysis rules[J]. Data & Knowledge Engineering,2001,39(3):12-19.
[8] 周晶晶,樂嘉錦,林穎瑩.基于實時數據倉庫的企業架構的研究[J].計算機科學,2006,33(9):140-142.
[9] 尤玉林,張憲民.一種可靠的數據倉庫中ETL策略與架構設計[J].計算機工程與應用,2005,41(10):173-174.
[10] 杜遠宗,張金剛,孫海善.ETL工具在建設數據倉庫中的應用[J].中國科技信息,2005(8):2-4.
張林霞(1989— ),女,碩士生,主研5G移動通信系統總體技術、通信網測試技術;
張治中(1972— ),博士生導師,主要研究方向為第三代移動通信測試技術、寬帶信息網絡、NGN網絡等。
責任編輯:時 雯
Research and Implementation of Travel Services Platform Based on Data Warehouse
DENG Bingguang,ZHANG Linxia,ZHANG Zhizhong,CHENG Fang
(Chongqing University of Post and Telecommunications,Communication Networks Testing Technology Engineering Research Center,Chongqing 400065, China)
With analyzing the demand of statistic analysis in tourism projects, a scheme of tourist service platform based on the data warehouse is proposed. Moreover, the potential key technologies are illustrated in detail, including ETL (extraction transformation loading), data warehouse modeling, and the forms for reporting statistics. These provide an important theoretical support and practical basis for tourism services platform with the development of large data
data warehouse; ETL; tourism projects; forms for reporting statistics
國家“863”計劃項目(2014AA01A706);國家科技重大專項(2014ZX03001027;2012ZX03001021);重慶高校創新團隊項目(KJTD201312);重慶市教委成果轉化重大項目(KJZH14103)
TN929.5;TP391
A
10.16280/j.videoe.2015.20.007
鄧炳光(1978— ),講師,主要研究方向為通信網與測試技術,
2015-05-21
【本文獻信息】鄧炳光,張林霞,張治中,等.基于數據倉庫的旅游服務平臺的設計與實現[J].電視技術,2015,39(20).