旅行社客户关系OLAP系统的设计与实现
2012-11-26周晶平宋中山
周晶平,宋中山
(中南民族大学计算机科学学院,武汉430074)
随着旅游信息化的深入,越来越多的旅行社建设了旅行社信息管理系统,并积累了大量经营数据,如何利用现有的数据资源,挖掘出其中的信息黄金,稳定和扩展自己的客户群体,是旅行社面临问题.本文提出将OLAP技术应用到旅行社的客户关系管理中,并给出了基于Web的旅行社客户关系OLAP系统的设计与实现方法.
1 OLAP数据仓库的总体设计
数据仓库(DW)是一个面向主题的、集成的、非易失的、随时间变化的数据集合、支持管理部门的决策过程[1].在数据仓库中,数据被按照业务对象(即主题)重新组织,在每一个主题内部,还可以按照逻辑关系再进一步划分层次,形成对数据的多维视图.数据仓库技术包括ETL过程、多维分析、数据挖掘和元数据管理技术.
联机分析处理(OLAP)将数据仓库中的数据作为分析对象,从数据仓库中提取数据,并建立多维数据集,使得用户可以利用多维数据集多角度、多层次地观察数据仓库中的数据,从而选取有价值的信息.
旅行社客户关系管理系统的OLAP数据仓库总体结构如图1所示.
图1 数据仓库总体结构图Fig.1 General architecture of data warehouse
(1)数据源.为数据仓库提供源数据,主要包括旅行社的各种业务数据、外部数据以及与之相关规定的文档资料等.
(2)数据仓库服务器.源数据通过ETL工具的数据提取、清洗、转换等操作后,将数据仓库所需数据抽取至数据仓库中.其中,还包含数据仓库监控管理和数据仓库的元数据管理.
(3)联机分析处理(OLAP).将数据仓库中的数据作为分析对象,在其基础上建立多维数据集,进行数据挖掘工作.
2 旅行社客户关系数据仓库的建立
2.1 概念模型设计
数据仓库中的数据是面向主题组织的.主题是在较高层次上将企业信息系统中的数据进行综合、归类和分析利用的一个抽象概念,每个主题基本对应一个宏观的分析领域[2].在旅行社客户关系管理系统中,管理者通过分析企业的客户结构,对客户信息的全面了解,为保留老客户、争取新客户、制定有针对性的优惠政策等决策提供依据.为此以客户关系为主题来构建数据仓库.
2.2 逻辑模型设计和物理模型设计
数据仓库采用星型模式,有一个事实表,5个分维表.星型模型是一种比较流行的和行之有效的方法.星型模式的核心思想是,要在存储于数据库之内的所有数据之间建立简明清晰的关系.一个星型模式包括一个大型的核心表和一组在逻辑上围绕这个核心表的分维表.核心表包含和汇总业务事实,称为事实表;而分维表就象星星的角一样,分布在事实表的外围,描述了业务的各个维度.多维分析是面向主题的,核心表描述了主题的数据,分维表从不同角度描述对主题的分析尺度.
物理设计的目标是确定数据仓库的物理模型,数据仓库的物理模型就是数据仓库逻辑模型在物理系统中的实现模式[3].包括逻辑模型中各种实体表的具体化,如表的数据结构类型、索引策略、数据有效位置和数据存储分配以及物理模型的优化操作等.
2.3 ETL 过程
ETL过程,即数据抽取、数据转换及数据加载.ETL的作用就是建立一个一致的、准确的基础数据环境,业务数据通过ETL处理后,被统一存放到数据仓库中.ETL是一个不可分割的过程,每一步都需要仔细斟酌,在成本与效率之间进行权衡.本系统由于业务不是很复杂,ETL的各个功能模块可以借用工具实现.
2.4 多维数据集的设计
OLAP多维数据模型的实现有多种途径,按照数据的储存结构可分为MOLAP(Multidimensional OLAP,多维联机分析处理),ROLAP(Relational OLAP,关系联机分析处理 )和 HOLAP(Hybrid OLAP,混合联机分析处理),ROLAP以关系数据库为核心,以关系型结构进行多维数据的表示和储存,ROLAP建立在技术已经相当成熟的关系数据库管理系统上,灵活性和处理大规模数据的能力比较突出.
本文采用基于关系数据库的ROLAP进行联机分析应用研究,ROLAP将多维数据库的多维结构划分为两类表,即事实表和维表.事实表用来存储事实的值及各个维的码值;维表对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息.维表和事实表通过主关键字和外关键字联系在一起,形成“星型模式”[4].旅行社客户结构分析模型如图2所示.
图2 客户分析模型Fig.2 Analyse model of customer
围绕客户关系主题,建立职业、性别、年龄、地址、类型5个维度进行分析.图2给出了“客户分析”主题OLAP分析的星型模型.该模型的客户事实表连接了5个维表:职业维表、性别维表、年龄维表、地址维表、类型维表(旅行社的客户类型主要有散客、企业客户、政府客户).在客户事实表中存储着职业维表、性别维表、年龄维表、地址维表、类型维表的主键:“职业编号”、“性别编号”、“年龄编号”、“地址编号”、“类型编号”.这样,通过这5个维表的主键,就将事实表和维表连接一起,形成了“星型模式”,用二维关系表示数据的多维概念,建立“星型模式”后,就可以在关系数据库中模拟数据的多维查询.通过维表的主键,对事实表和每一个维表做连接操作,一次查询就可以得到数据的值以及对数据的多维描述.
3 基于Web的OLAP系统的实现
3.1 基于Web的OLAP
基于Web的数据仓库技术就是使用Web浏览器作为用户接口、通过Internet/Intranet将数据仓库中的信息进行存储、分析和显示.基于Web的OLAP应采用B/S(浏览器/服务器)三层结构如图3所示.
图3 基于Web的OLAP结构Fig.3 Architecture of OLAP based on Web
从图3中可以看出基于Web的OLAP共分为客户端、Web服务器端和分析服务器端三层.第一层是客户端层,实现用户功能,能够方便地浏览数据仓库中的数据,在客户端用户只需要安装能连入Internet的We浏览器,而无需安装专门的客户端应用程序;第二层是Web服务器层,作为客户端与分析服务器端的接口,主要负责二者之间信息流的输入、输出;第三层分析服务器层,用多维结构表示数据仓库中的数据,创建组织和汇总数据立方体,形成多维分析模型.
3.2 基于Web的OLAP系统的实现
目前基于Web数据仓库的接口技术有很多,如ASP、ASP.NET、JSP 和 PHP 等.本文采用 ASP.NET实现交互性较强的应用程序的Web页面创建,用C#语言作为后台的开发工具,采用ADO/MD技术和MDX(多维表达式)技术建立Web与数据仓库的接口[5],通过Internet/Intranet访问数据仓库并设定不同的权限来保证用户访问的安全性.
(1)ASP.NET.
ASP.NET是统一的Web开发平台,用来提供开发人员生成Web应用程序所需的服务,ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编辑模型和结构,用于生成更安全、可仲缩和稳定的应用程序.可以通过在现有ASP应用程序中逐渐添加ASP.NET功能的方法来随时增强该ASP应用程序的功能.ASP.NET是一个已编译的、基于NET的环境,可以用任何与.NET兼容的语方(包括Visual Basic.NET、C#和 Jscript.NET.)创作应用程序.
(2)ADO/MD.
ADO/MD是传统ADO库的扩展,它专门用于处理多维查询.ADO/MD是一种功能强大的对象模型,它包含了访问OLAP数据库中多维数据集所需的各种对象和集合,并支持MDX语句的执行及对结果数据集的分析.利用ADO/MD就可以将MDX的执行结果集成到客户应用程序中.
(3)MDX.
MDX是一种语法类似于SQL的语言,但是它处理多维数据的能力却远胜于SQL,MDX是查询一个OLAP数据库的强大方法,通过使用MDX,有上百个内部函数可以供选择以便在显示数据之前来操纵数据.
使用MDX语言,可以指出维度和轴、动态创建新的计算成员以及在结果集中返回3个或更多的维度.MDX这种查询语言允许对Analysis Services多维数据集的查询就像传统关系型数据库中使用SQL语言查询一样.
在SQL语句中,一个简单的SELECT查询经常以二维表格的形式返回结果.每一个列表示了返回数据的一个不同的字段,而每一行代表结果集中的一个记录.这里面稳含的意思就是行和列具有完全不同的功能而不能简单相互交换.MDX语句则与之不同,一个查询能够返回任意多的维度(可以返回源多维数据集的所有维度),而且行和列没有自己的特殊的语义.当执行一个MDX查询时,结果单元集代表的是一个被查询多维数据库的子集.因此,可以选择返回一个一维视图,或者是一个三维视图;或是小于最大限度128个维度(包括一个度量维度)的任何数目的维度[6].
4 结语
本文提出了基于Web的旅行社客户关系OLAP系统的设计与实现方法,讨论了系统的体系结构设计,数据仓库模型设计,数据的抽取、转换和加载及多维数据集的设计,并对基于Web的OLAP实现技术进行了探讨.随着市场环境不断变化,旅游业将面临更加激烈的竞争.将数据仓库[7]、OLAP技术应用到旅行社客户关系管理中,其目标是为企业建立一个较全面、完善的信息应用基础,并利用该信息基础支持旅行社的决策分析,提高运营效率,降低决策风险.
[1]Inmon W H.数据仓库[M].北京:机械工业出版社,2006.
[2]朱德利.SQL Server 2005数据挖掘与商业智能完全解决方案[M].北京:电子工业出版社,2007.
[3]刘维晓,陈俊丽,万旺根.基于Web的税务数据仓库的设计与实现[J].计算机工程与设计,2010,31(8):1722-1725.
[4]Ralph Kimball,Margy Ross.数据仓库工具箱:维度建模的完全指南[M].2版.北京:电子工业出版社,2003.
[5]刘新颖,王丽亚.基于Web的数据挖掘算法与数据仓库的接口设计[J].计算机工程,2006,32(21):88-90.
[6]谈 冉,何建安,薛胜军.交通物流信息平台的OLAP系统[J].武汉理工大学学报:交通科学与工程版,2006(2):156-158.
[7]余晓平,刘丽娅,肖 婧.基于业务规则的数据处理技术[J].石河子大学学报:自然科学版,2009,27(1):129-132.