基于Oracle BIEE水利普查数据展现系统研究*
2012-10-16万定生
占 军 万定生 李 宇
(河海大学计算机与信息学院 南京 210098)
1 引言
水利普查是一项重大的国情国力调查,是国家资源环境调查的重要组成部分。开展水利普查是为了查清我国江河湖泊等的基本情况,掌握水资源开发、利用和保护现状,摸清经济,社会发展对水资源的需求,了解水利行业能力建设状况,提高水利服务经济社会发展的能力,实现水资源可持续开发、利用和保护,建立国家基础水信息平台,展现水利普查数据,为国家经济,社会发展提供科学可靠的基础水信息支撑和保障。我国人口众多,资源相对紧缺,生态环境承受能力弱[1],为了准确掌握水利行业现状和资源分布、分析水利资源当前情势、加强资源综合管理、评估水利资源配置合理性及需求、确立水利发展规划等,需要从多方面、多层次清晰直观的呈现数据。同时,作为大型数据库服务的提供商Oracle(甲骨文)公司,提供的Oracle BIEE软件是一个非常具有创造力的工具,在数据展现方面,为用户提供一个完善的企业级智能系统解决方案。
基于上述背景,本文从应用的角度出发,以Oracle BIEE架构为基础,展开对水利普查数据展现系统的构建与应用研究。
2 Oracle11g BIEE介绍
2.1 Oracle BIEE概述
图1 Oracle BIEE架构图
BIEE作为Oracle商业智能平台企业版,是整合SIEBEL和HYPERION相关的BI部分组建而成的,在Oracle整个商业智能体系架构中承担数据分析应用和可视化展示工作。商业智能是对信息的搜集、管理和分析过程,目的是使企业的各级决策者获得知识或洞察力(insight),促使他们做出对企业更有利的决策[2]。其中BIEE对于物理层、业务逻辑层、展现层三层模型的理解和定义创造了一个非常简洁清晰的数据模型,使用这个数据模型可以完整地连接各个异构数据源[3],把多个数据源数据组织到一起,提供更加全面、详细和有操作性的信息,并将涉及到的数据有效地转化为信息、知识和智慧,通过适当的方式展现给决策者,以帮助企业提高决策能力和运营能力,增强核心竞争力,创造更多盈利的一种平台和综合解决方案[4]。Oracle BIEE框架主要由数据仓库DW、BI服务器(BI Server)和BI展现服务(BI Presentation Services)组成,如图1所示。
其中数据仓库DW部分由数据采集、数据净化、数据转换、数据聚和、数据存储五个功能块组成[5],是面向主题的,集成的,相对稳定的数据集合[6],主要负责存储元数据的维表及事实表信息;Oracle BI Server通过ODBC方式连接数据源,管理资料库Repository文件,并负责编译执行前端页面的数据库查询语句并返回数据;Oracle BI Presentation Services主要负责报表目录文件及仪表盘管理、报表权限控制以及报表日志处理等;Oracle BI Scheduler主要负责报表调度运行处理以及预警提示;Administrator Tool是BIEE应用客户端,负责创建资料库Repository文件,Repository相当于BIEE的元数据,但不存储数据,而是指向数据仓库DW存储的元数据,其包括三层模型的物理层、业务逻辑层和展现层以及用户管理、日志信息管理、报表调度运行管理、展示权限分配等;其中BI Server和资料库Repository文件是整个BIEE的核心,是建立数据模型、进行数据整合、提供后台数据服务的重要组件[3]。
2.2 三层模型和展示方式
BIEE资料库Repository定义包括数据源、多维数据模型以及业务展现层三个部分,整个过程可以清晰看出底层元数据如何从源头一步一步转化为以特定方式展示给最终用户,其中资料库存储三类元数据:数据源物理模型、逻辑模型以及展现层模型,对应于物理层、业务逻辑层和展现层的定义。资料库定义完成,利用Oracle BI Answers(即席查询)和Interactive Dashboards(交互式仪表盘)设计数据呈现方式。
1)物理层(Physical Layer),主要定义数据源类型和连接方式,以及数据源物理表结构、字段数据类型、物理表之间关系。一般可以建立多个不同类型的数据源,如关系型数据库、符合XML规范的源数据、OLAP服务、Essbase、Excel等,通常一次建模,随处部署。用户的分析请求由分析服务组织成合适的SQL发送到对应的数据源,由数据源执行并且把组织装配好的数据返回展现层。在物理层,可以通过“利用连接池”、“缓存查询结果”等技术提高性能。
2)业务逻辑层(Business Model and Mapping Layer),主要定义逻辑模型并与物理模型建立映射关系,其中逻辑模型是从多个物理数据源抽象出来的多维数据模型,一般是星形、雪花模型。逻辑层相当于一个计算引擎,将物理层的复杂度抽象成逻辑主题的分析区域,主要涉及对维度、层次结构、度量、聚合规则和时间序列的设计。业务逻辑层命名以业务人员的视角重新定义,不需要和物理层相对应,比如一个表的汇总字段,可能来自物理层多个表的数据,而且对业务逻辑层的定义和修改不会对物理层以及元数据产生影响。
3)展现层(Presentation Layer),主要定义数据展现模型,展现层中的一个Catalog对应Oracle BI Answer中的一个主题区域。根据业务人员的视角设计该层结构,隐藏掉任何与技术以及模型相关的内容,删除业务中不关心的字段来简化视图,比如维表和事实表的主键列。展现层只是从业务逻辑层获取数据用来展示,定义时不能跨多个业务逻辑模型。不同业务人员如果需要看到不同数据,比如员工和领导所关注的数据层面不同,需要建立不同展现模型,不过它们所对应的业务逻辑模型是相同的,而且所有数据访问都是基于角色与安全的。
即席查询(Oracle BI Answers):以表格、透视表及图形等多种方式可视化呈现结果数据,并且在设定维度的数据层上实现下钻功能。此外,它提供完全即席查询、数据透视表和报表编制,使得底层的复杂数据对业务人员完全透明。
交互式仪表盘(Interactive Dashboards):仪表盘以标签的形式构成一个或多个页面,显示表格、图片、图标、文字等数据信息。由BI Answers建立的报表可以通过仪表盘发布,并自由编排布局,具有管理员权限的业务人员可以对仪表盘进行布局更改,通过拖拽实现仪表盘内容的增加和删除,使其包含各种丰富的可视化图形。仪表盘运行在基于Web的架构上,根据预先定义的安全规则,为业务人员提供针对其身份、职能或角色经过筛选的个性化信息页面。内容丰富的交互式用户界面使得数据展现更加直观、相关且易于理解。此外,指导性导航和预警功能有助于业务人员获得更高的洞察力并采取更好的措施、做出更科学有效的决策。
3 基于BIEE的水利普查数据展现系统设计
3.1 系统功能
第一次全国水利普查包括河湖基本情况普查、水利工程基本情况普查、经济社会用水情况调查、河湖开发治理保护情况普查、水土保持情况普查、水利行业能力建设情况普查,以及灌区和地下水取水井两个专项普查[8],各类普查数据按照行政区划、流域、管理单位以及水资源区等进行划分。
在系统设计开始阶段,将经过重新组织的水利普查数据储存于数据仓库DW中,并利用Administrator Tool设计构建三层模型结构。首先定义物理层的数据源连接,在业务逻辑层建立维度指标时,创建行政区划和流域两个维度,并根据行政区划表、流域表以及事实表(以水利工程基本情况普查中的水电站工程普查汇总表H202为例)的主外键关系建立星形模型,最后以业务人员视角进行展现层设计。三层模型建立完成后,在BIEE提供的前端Web页面基础上,利用BI Answer工具和仪表盘设计数据展现方式,下面主要介绍系统数据流程和功能结构两个方面。
系统数据流分为数据仓库DW、BI Server、Presentation Server三个部分。数据仓库DW存储水利普查数据的维表和事实表信息;BI Server主要管理资料库Repository文件中的三层模型信息;Presentation Server主要管理Presentation Catalog目录中的报表、仪表盘[9]信息。系统数据流程如图2所示。
图2 系统数据流程图
功能结构主要分为数据源定义、维度指标定义、雪花或星形模型定义、用户管理等,前端数据展现主要基于BIEE Web页面的B/S架构。功能结构如图3所示。
图3 系统功能结构图
3.2 模型及展示详细设计
3.2.1 物理层定义
以行政区划表(ADDVCD)和水电站工程普查汇总表(H202)为例,描述Administrator Tool中物理层的设计过程。主要定义各个数据源描述,如数据源类型(各种关系数据库或各种多维数据立方体)、数据源连接方式(指定对应数据源的连接信息:用户名、密码、端口等)以及数据源的数据定义(包括表结构以及表之间关系)。在本系统中,数据源只有一个,包括事实表(如水电站工程普查汇总表)和相对应的维表两个部分,表之间的关系在定义数据源信息后一并导入到物理层,最后将字段名重命名为对应的中文名。
3.2.2 业务逻辑层定义
将上一步定义的物理模型拖拽到业务逻辑层定义区域,把物理层的数据源以业务人员的视角重新组织元数据,根据数据表主外键关系构建星形或雪花模型。对于每个维表,建立相应的逻辑维,并设计建立逻辑维的层次结构(hierarchy)以及事实表度量(measure)。在本系统中,以行政区划维表为例,首先创建行政区划维表的具有基于级别的层次的逻辑维(ADDVCD_Dim),根据业务需求,在ADDVCD_Dim创建三个层次结构,分别为Province(省级)、City(市级)、Country(县级),将维表中的字段拖拽到对应的层次下,并定义各层主键,最后在行政区划维表Source中指定ADDVCD_Dim中各个层次的关系及数据聚合方式(求和)。逻辑维定义完成后,即可在此维度上实现数据下钻功能,比如查看完广东省水电站工程普查情况,点击广东省,实现下钻到所属广东省各市的数据,点击市级,实现下钻到相关县级的数据。
3.2.3 展现层定义
将定义完成的业务逻辑模型拖拽到展现层区域,展现层是BIEE中面向业务人员的界面,一般以最终业务人员的词汇语言进行描述,并且需要隐藏业务人员不关心的技术,比如维表一般需要一个逻辑主键来定义事实表和维表的连接关系,而这个主键没有任何的业务含义。在展现层中可以通过定义多个展现模型来满足不同的业务需求。在本系统中,为了有利于业务人员设计开发报表,以业务人员熟悉的描述语言重命名字段名称,如重命名ADDVCD维表为行政区划。
3.2.4 数据展现设计
登录BIEE提供的前端Web页面,展现层中定义的主题模型对应于页面左上方的主题区域,根据主题的维表和事实表通过拖拽方式设计数据展现。为了能够多方面清晰展现数据,BIEE提供了数据表、折线图、柱状图、饼图、数据透视表等样式,同时对业务人员的页面请求进行数据约束,让其进行有效操作,避免不必要的麻烦。在本系统中,由于水利普查数据本身的局限性,没有时间序列上连续性的数据,用数据表格、柱状图或圆饼图可以更方便、简洁的展现数据。通常业务人员利用BI Answer开发设计报表并保存在BIEE应用特定文件夹下,最后统一集成到仪表盘展示,并在仪表盘中设置一些仪表盘选择器[10],提供查询条件,然后设计其查询结果的呈现方式,无论是数据表还是图的展示方式,BIEE都支持切片、切块以及下钻的功能[11]。
本系统数据展现设计的具体步骤如下:以省级层次和水电站的工程规模大小为例,首先通过拖拽把行政区划维表的省级字段以及水电站工程信息表中工程规模大1型、工程规模大2型、工程规模中型、工程规模小1型、工程规模小2型放到分析区域中,点击结果,以默认表格形式展现省份(广东省)这个层次对应的水电站工程信息,在此基础上可以设计增加相应的柱状图或圆饼图以更直观地展现数据,因为设计业务逻辑模型时,在行政区划逻辑维建立了省级、市级、县级三个层次,所以行政区划维表的数据以超链接形式存在,点击当前表格中的省份(广东省)时,表格中呈现当前省份下属市级的数据,实现下钻功能。
4 系统实现
基于全国水利普查数据,利用BIEE工具搭建展现系统平台,业务人员在Web页面通过拖拽、组合需要关注的分析字段就能够开发符合业务需求的报表,并通过仪表盘配置出可视化图形,充分体现了此系统直观、简洁、灵活、快捷等优点;同时,将报表的开发设计交给业务人员,可以大大提高数据展现应用的效率,充分体现了BIEE商业智能的优势。
设计完成的仪表盘存储于BIEE应用的特定目录,可以通过特定URL链接访问仪表盘,并实现已经设计完成的查询及下钻功能。效果如图4所示。
图4 设计完成的仪表盘
在现有J2EE系统的基础上,通过URL链接形式嵌入利用BIEE开发的报表及仪表盘,该系统部署在中心服务器,把数据展现的开发设计和展现工作分开,负责分析汇总的业务人员通过访问服务器的J2EE系统查看已有的报表。
URL链接代码如下:
代码中http://121.248.200.5是BIEE应用所在服务器的IP地址,Path=/shared/sample/report是 BIEE报表的存放地址路径,weblogic和admin123456分别是登录BIEE Web应用的用户名和密码。
5 结语
Oracle BIEE为水利普查数据展现提供了一套完整的解决方案,具有清晰的三层模型结构和方便的展现工具。开发人员只需在后台定义元数据,创建资料库,业务人员不需要了解内部数据及相关技术,即可根据展现模型所定义的字段以一种可视化、简单的方式开发出符合业务需求的数据报表。
本系统可以为初步建立规范、统一的国家基础水信息平台、推进水信息化和现代化奠定坚实基础,如果此技术应用到中国水利行业信息化建设,无疑可以提供巨大的推进力。当然,从数据组织汇总,到通信网络,再到数据展现,还有很多需要研究和改进的地方。在水利行业中,信息技术的革新没有终点,比如基于GIS技术的数据展现、海量水利普查数据高性能计算等,这些都是以后需要研究的方向。
[1]郭索彦.第一次全国水利普查水土保持普查总体设计[J].中国水利,2010(9):61-64.
[2]刘军,段卉君,吴艳.基于BI的人保财险业务系统的设计与研究[J].计算机与数字工程,2008,36(12):100-101.
[3]刘飞跃,徐新茹,徐萍.Oracle BIEE的概述与应用[J].中山大学学报:自然科学版,2009,8(3):344-346.
[4]丁萍.商务智能技术在企业竞争中的应用[J].陕西科技大学学报:自然科学版,2004,22(4):134-136.
[5]赵景林.数据仓库的体系结构与设计策略[J].计算机工程与设计,2011,22(3):54-56.
[6]朱铭杰.数据仓库设计与展现[J].计算机光盘软件与应用,2011(9):171-172.
[7]马成勇,陈雁飞,杨慧.嵌入式移动数据库Oracle Lite应用研究[J].计算机与数字工程,2008,36(9).
[8]黄火键.第十九讲:水利普查(一)第一次全国水利普查对象内容和步骤[J].中国水利,2010(9):56-58.
[9]Oracle business intelligence enterprise edition release 10.1.3[EB/OL].http://www.oracle.com,2006.
[10]Mark Rittman,Joel Crisp.Intelligence and identity[EB/OL].http://www.oracle.com,2008,1.
[11]BLASUM B.Business Rules and Business Intelligence[J].DM Review Magazine,2007:55-57.