0 引言
随着计算机、通信网络等相关技术的快速发展,每天都有大量的数据产生, 如何从这大量的数据中提取相对有价值的信息成为了一个研究热点,因此,商业智能应运而生。 商业智能(Business Intelli-gence,简称 BI)又称商务智能,通过搜集、管理和分析商业信息,使企业各级决策者获得知识和洞察力,以帮助企业做出更有利的决策, 实现企业追求低成本、高回收的目标 ,从而提高企业效率,改善商业表现。
目前商业智能已经被很多行业:采用, 尤其在电信、金融、电力 和电子政务等数据信息数量庞大的领域,受到了极大的重视。 除此以外,能源、物流、制造业、烟草等也是商业智能大展拳脚的平台。在大数据呈指数增长且日益成为企业决策的战略背景下, 人力资本的持续增长促使企业谋取其他的方式来进行决策,BI 的需求开始越来越广泛。 目前, 国内 BI 市场上拥有优势地位的除了 IBM、Oracle、微软、SAP 等传统国际先进企业外,还有用友、东方国信、浪潮、金蝶、亚信创联等一批国内优秀企业,他们已经打破了国际企业垄断中国市场的局面,且都以较快的速度成长。 目前,商业智能主要是将数据仓库、联机分析处理(OLAP)和数据挖掘等结合运用于商业活动中。
为了解决大量数据的存储和利用,本文设计并开发了一套基于商业智能的数据分析系统,该系统可为企业或个人用户完成数据的分析工作。 本系统包括数据管理、权限管理、数据抽取和数据分析等 4个管理模块。 将 Oracle 作为数据分析的数据库,采用 MySQL 为权限管理和数据管理的数据库,以 Or-acle ODI 作为数据抽取工具,以 Oracle BIEE 作为数据分析工具。 以气象数据为例,实现了数据管理、权限管理、数据抽取、数据分析及数据展示等必需的功能,其运行结果表明,该系统具有操作简单、界面友好、运行比较稳定的特点,适用于决策人员对数据的分析。
1 关键技术
1.1 数据抽取工具—— — ODI
以 Oracle 公司的 ODI(Oracle Data Integrator)作为数据抽取工具。 ODI 是 Oracle 公司为开发设计人员提供的一款强大的数据集成工具,可以完成对大量数据的抽取、转换和加载一系列处理工作。 ODI能够完成现在很多流行的关系型数据库(如 Oracle、DB2、SQL Server、MySQL 等)的集成。
1.2 数据分析工具—— — BIEE
本系统以 Oracle 公司的 BIEE [8-9] 作为数据分析软件。Oracle BIEE 功能非常强大,可为物理层、展现层和逻辑层建立一个清晰的数据模型,通过应用该数据模型,将企业的各个异构数据源连接在一起,进而让 BI 最大范围地得到部署和应用。 BIEE 架构如图一所示。
图一 BIEE 架构图
2 系统设计
2.1 模块设计
系统被划分为包括数据管理、权限管理、数据抽取和报表开发这 4 个管理模块, 其中数据管理模块又分为表、字段和资源的管理;权限管理模块分为用户、角色、菜单、模块、权限和日志的管理。 数据抽取模块主要包括资料库的创建、 物理架构和逻辑架构的创建、项目模型接口的创建以及接口的执行。报表开发模块主要包括数据模型的创建、 报表的制作以及 java 集成 BIEE 进行报表的展示。
2.1.1 数据管理模块
该模块主要通过记录用户提交的数据, 实现数据管理, 在用户提交数据之前需要创建表并添加字段,然后将数据存储至 excel 表中,再导入数据。 数据管理模块包括表管理、 表数据管理和表字段管理功能,每一功能又包括创建、查看、删除等功能。
2.1.2 权限管理模块
该模块主要实现权限管理,包括对用户、角色、菜单、权限和日志的管理,其中为角色分配权限和为用户分配角色是最主要的功能, 其他功能就是基本的增删改查。 权限管理模块如图二所示。
图二 权限管理模块图
2.1.3 数据抽取模块
该模块主要实现数据的抽取, 将分散在不同数据库的数据源抽取加载到本系统:使用的 Oracle数据库中,这个过程包括资料库的创建(主资料库和工作资料库)、物理架构及逻辑架构的创建、项目模型接口的创建以及接口的运行这 5 大功能。
2.1.4 报表开发模块
该模块主要实现数据模型的创建、BIEE 报表开发以及 JAVA 集成 BIEE 进行二次开发。 报表开发模块包括制作报表、 创建数据模型和报表展示 3 大功能,其中创建的数据模型包括物理层模型、逻辑层模型和展现层模型。
2.2 数据抽取方案设计
本系统中, 数据抽取的目标是将本系统中分散在各个不同数据库的数据整合到一起并抽取到数据仓库中。 通过 ODI 建立数据仓库,完成 ETL 过程设计,过程如下:
(1)创建主资料库,主资料库保存企业:有 IT资源的拓扑结构, 保存项目和数据模型的信息,供ODI 图形模块使用,创建一个即可。
(2)创建工作资料库,工作资料库保存项目和数据模型,供 ODI 图形模块使用,可以创建多个。 工作资料库和主资料库是一对一的关系,方案和工作资料库也是一对一的关系。
(3)创建数据服务器,每个 instance 或者应用创建一个,按照用户创建不同的物理架构。
(4)创建逻辑架构,通常与物理架构一一对应,也可以一个逻辑架构对应多个物理架构。
(5)创建项目,导入知识模块,或者自己开发知识模块。
(6)创建模型,每个模型对应到逻辑架构。
(7)创建接口,修改必要的知识模块和选项。
(8)运行接口。
(9)查看和监控运行结果,包括出错脚本和信息。
(10)进一步可创建包、场景,并运行。其中,接口、包、方案的内容和运行结果是一样的,接口是 ETL 基本单元,包类似工作流,用于将接口串接起来,方案是对象的发布版本,可理解为预编译的。
2.3 数据分析模块设计
数据分析模块的设计主要包括物理、逻辑和展现 3 个模块的设计。
2.3.1 物理模型的设计
物理模型的设计是对数据仓库分析对象的设计,它是逻辑模型在数据仓库中的物理实现。在对数据库管理系统、使用环境和外部设备特点全面了解的情况下,将数据在数据库中以表的形式存储。设计满足 BI 分析需求的物理模型表对象, 如表一所示。
表一 物理模型表对象
2.3.2 逻辑模型的设计
逻辑模型的设计是在物理模型的基础上, 对数据进行更加细化的处理, 将诸多数据源表分为事实表及维表,并进行维的层次划分,设置钻取的方向以及规则等。 BIEE 的逻辑模型有很多种形式,例如雪花模型和星型模型,通过调查以及对数据的预处理,本系统采用星型模型。 该模型设计的优点是可以简化事实表和维度表之间的连接关系, 而且星型模型的数据已经做了预处理, 处理后的数据直接存放在事实表中,更加地直观,很容易将各种不同的查询进行组合,得出用户想要的结果。
在星型模式中,事实表在中心,多个维度表在四周,呈现一个辐射状,且维度表与事实表通过外键相连接。位于星型模型中心的是目标实体,这个实体是用户最关心的查询实体, 最终的用户从数据仓库中查询的实际的业务数据就是由中心的目标实体来提供的。
2.3.3 展现模型的设计
展现模型是数据库用户最终可以看到的一种模型,它对应着一个分析主题,描述维度和事实表之间的关系,从而得出事物之间的联系。 展现层模型是一种最靠近用户的数据模型, 定义了重要的数据类型及其关系, 核心数据对象以及主题间的实际关系是展现层模型的主要组成部分。 本系统由气温数据和空气质量数据以及降水数据等主题构成, 主要分析对象包括维度—时间、维度—区域、最高气温、最低气温、天气描述、AQI、AQI 描述。
3 系统功能实现与测试
3.1 系统实现
本系统的实现主要包含 3 个方面, 依次是物理层、逻辑层和展现层。 通过 BIEE 的后台管理工具来完成数据模型的创建, 如图三所示, 共分为 3 个层次,从右到左依次为物理层、业务模型和映射层及表示层。
以气温数据模型来说明实现步骤:
(1)BIEE 管理工具通过 OCI 的方式,将数据库中的元数据对象加载到资料档案库的物理层, 形成物理对象的映射。
(2)BIEE 报表开发。在进行报表开发前,首先要登录 BIEE 服务器,安装好 BIEE 后,打开浏览器,输入 http:// 主机 IP 地址 9704/analytics 便可以登录BIEE。
图三 BIEE 后台模型管理
经过分析得到其他图形的分析结果,有条形图、饼图等,这些简单的报表就是要展示给用户的分析结果,根据用户的不同需求来制作不同的报表。 例如想知道某个省市空气质量等级的天数,就可以开发出如图四、图五的报表。
图四 空气质量天数统计饼图
图五 空气质量天数统计条形图
报表制作完成后,将这些报表展现给用户,通过Web Service 接口将报表嵌入到网页中,实现步骤如下:
(1)下载网络服务描述语言(wsdl 文件)。 启动BIEE 服务,打开浏览器,在地址栏输入 http:// 主机IP 地址 /analytics/saw.dll?wsdl。
(2)生成客户端代码。 利用 Axis 插件,将 wsdl文件生成客户端代码。
(3)调用代码说明。 使用 BIEE 进行登录验证,SAWSessionServiceSoapProxy 类是 BIEE 的登录代理类,其中验证方法为 logonex(),该方法返回会话ID,通过该 ID 可以做想做的操作。
在数据分析中, 将分析的 BIEE 报表存储到目录中, 需要获得目录列表, 在 java 中,WebCata-logServiceSoapProxy 类是管理 BIEE 目录的代理类,该类提供对目录的增删改查等方法。以下是 java读取 BIEE 目录代码:
3.2 系统测试
本系统运行的服务器端操作系统为 windowsserver 2008 R2,硬盘 500 G,运行内存 4 G,Tomcat7.0 Oracle 11g,MySQL 5.0, 分析软件:Oracle BIEE11g,数据抽取软件:Oracle ODI 11g,客户端使用的操作系统为:Windows 8.1,硬盘 1 T,内存为 4 G。通过在系统中的数据管理模块、用户管理模块、角色管理模块、菜单管理模块、权限管理模块、日志管理模块以及报表开发模块的增加、删除、查看等操作,各模块都显示正常。 通过在 IE、360、Sogou 等浏览器进行查看测试,系统均显示正常,体现了该系统良好的适应性。
4 结束语
本文从国内外数据分析系统的开发应用的现状入手, 讨论了基于 BIEE 的数据分析系统的研究目的和意义,介绍了系统实现:需要的关键技术、系统设计、系统实现和系统测试 4 个部分,详细设计并实现了基于 BIEE 的数据分析系统。 测试结果表明,该系统能满足用户人需求。
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。