邓炳光,张林霞,张治中,程 方
(重庆邮电大学 通信网测试工程研究中心,重庆 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).