随着计算机和信息时代的迅猛发展,人类收集、存储和访问数据的能力大大增强,快速增长的海量数据集已经远远超出了人类的理解能力,传统的数据分析工具已经不能解决这些问题。为了解决海量数据的存储、组织,并从中找出有价值的知识这些问题,出现了数据仓库和数据挖掘技术。
信息化系统在企事业单位的迅速普及,各单位信息系统产生了大量的数据信息。如何处理已经过期的大量数据成了一个难题,现在各单位的处理这些数据一般有三种做法:简单的删除、备份后再删除、建立一个数据仓库系统,将数据保存到数据仓库中。现在各单位也已经认识到历史业务数据是非常有用的,可以综合利用这些数据建立分析模型,从中挖掘出有价值的知识,帮助决策者做出正确的决策。目前,大多数企业都不是缺数据,比较难解决的问题是海量数据如何处理,商务智能在这种背景下应运而生。
数据挖掘可以对数据进行自动分类和聚类,找出数据中的趋势和异常,根据这些因素来预测,在海量的数据挖掘出有价值的知识,使数据真正发挥作用。数据挖掘在商务智能解决方案的体系中占据着重要的地位。
1.相关概念
1.1 网格
网格是把整个因特网整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享。当然,网格并不一定非要这么大,我们也可以构造地区性的网格,如中关村科技园区网格、企事业内部网格、局域网网格、甚至家庭网格和个人网格。事实上,网格的根本特征是资源共享而不是它的规模。它应用到不同领域又叫计算网格、信息网格、知识网格、服务网格等。
网格具有以下四点优势:
(1)资源共享,消除资源孤岛:网格能够提供资源共享,它能消除信息孤岛、实现应用程序的互连互通。网格与计算机网络不同,计算机网络实现的是一种硬件的连通,而网格能实现应用层面的连通。
(2)协同工作:网格第二个特点是协同工作,很多网格结点可以共同处理一个项目。
(3)通用开放标准,非集中控制,非平凡服务质量:这是Ian Foster最近提出的网格检验标准。网格是基于国际的开放技术标准,这跟以前很多行业、部门或者公司推出的软件产品不一样。
(4)动态功能,高度可扩展性:网格可以提供动态的服务,能够适应变化。同时网格并非限制性的,它实现了高度的可扩展性。
1.2 商务智能
商务智能的概念最早由Gartner Group于1996年提出,当时将商务智能定义为一类由数据仓库、查询报表、联机分析、数据挖掘、数据备份和恢复等部分组成的,以帮助企业进行决策的技术。到目前为止,关于商务智能还没有一个准确的定义,但可以从知识论、数据分析、信息系统和方法论四种不同视角来解释商务智能,即认为商务智能是综合利用知识管理的理论、信息分析和系统分析的工具,以及设计科学的方法论构建的一个人机智能系统。其目的是在商务中进行成功利用基于IT的商务应用机会为企业获取成功的决策支持。它的主要功能就是提供一系列信息分析方法、不同视角的信息与知识呈现功能(各种视图、报表和链接)、智能的技术和评价工具等来支持管理人员决策进化的一个智能集成系统。
商务智能的功能主要有:
(1)数据管理方面包括数据的获取、选择、转换、集成能力;从原来数据中发现知识的能力;对大量数据高效存储与维护能力。
(2)数据分析方面包括具备OLAP、OLTP、Legacy等多种数据分析能力;终端信息查询和报告生成能力。
(3)决策支持方面包括具备数据对比分析与趋势预测能力。
(4)企业优化方面包括辅助企业建模能力。
2.关键技术
随着商务智能的研究和应用的不断深入,商务智能技术已经有了一个公认的流程框架(如图1所示),一般的商务智能系统构造基本上都根据这个框架设计开发。
2.1 数据抽取ETL
ETL过程是进行数据的抽取、转换和“净化提炼”处理的过程。要对从多个不同业务数据库抽取的数据,进行数据项名称的统一、位数的统一、编码的统一和形式的统一,消除重复数据。
ETL工具包括数据抽取、数据转换、数据清洗和数据加载。在构建数据库的过程中,外部数据源所提供的数据并不都是有用的,有些数据对决策并不能提供支持,同时,外部数据源中的数据冗余的现象也很普遍,以主题的需求为依据,对数据源的内容进行有目的的选择,这一过程被称为“数据抽取”。数据转换是把数据仓库的不同格式的外部数据源对其格式进行转换处理,统一格式。数据仓库的外部数据源所提供的数据内容并不一定都是好的,有些数据是有缺陷的,在数据仓库的各数据源之间,其内容也存在着不一致的现象。为了不让这些缺陷数据影响数据仓库的分析结果,要采取各种有效的措施,将错误的、不一致的数据在进入数据仓库之前予以更正或删除,以免影响DSS决策正确性,这一过程称为“数据清洗”。把清洗后的数据装入数据仓库的过程称为数据装载。数据装载要综合考虑经营分析需求,对不同业务系统的数据采用不同的加载周期,但必须保持同一时间业务数据的完整性和一致性。
网格商务智能平台的ETL模块主要解决的问题有以下几个:
(1)ETL功能全部以子模块的形式提供。每一个ETL子模块对应于一种类型数据源的ETL功能,对于新的数据源类型,只要在系统中添加相应的ETL子模块。
(2)常用的ETL子模块是JDBC数据源的抽取模块。
(3)系统要包含一些常见的JDBC驱动。
(4)将每一个数据源构建一个数据类型映射,将该数据源的每个数据类型映射到网格商务智能平台内部数据类型上。
(5)网格商务智能平台内部数据类型使用JDBC标准数据类型。
2.2 数据仓库
在众多的数据仓库定义中,公认的是W.H.Inmon的定义,W.H.Inmon对数据仓库的定义是在《Buildingthe Data Warehouse》一书中提出的。他将数据仓库定义为:一个面向主题、集成的、非易失的、非时变的数据集合,用于支持管理决策的过程。
一般地,数据仓库具有四个主要特征:
(1)面向主题性。面向主题是数据仓库中数据组织的最基本原则。一般来讲,一个数据仓库中可以有若干个主题,一个主题可以分解成若干个子主题,这样逐层分解从而构成一个主题层次。数据仓库的创建、使用都是围绕主题实现的,所以,必须了解如何按照决策分析来抽取主题,所抽取出的主题应该包括哪些数据内容,这些数据内容应该如何组织。
(2)集成性。数据仓库中数据的集成性,是指在构建数据仓库的过程中,多个外部数据源内格式不同、定义各异的数据,按指定的策略经过抽取、清洗、转换等一系列处理,最终构成一个有机的整体。
(3)非易失性。数据仓库的非易失性是指数据仓库的用户进行分析处理时不进行更新操作,一旦数据进入数据仓库以后,就会保持一个相当长的时间,但并不是说在数据仓库的整个生存周期中数据集是不变的。数据的非易失性可以保证不同的用户在不同的时间查询、分析相同的问题时,获得同一结果。
(4)时变性。数据的时变性是指数据仓库的内容随时间的变化而不断的得到增补、更新。当然数据仓库不能频繁地更新数据,但为了保证决策分析的正确性,更新是必要的。
2.3 OLAP
OLAP(联机分析处理)是针对特定问题的联机数据访问和分析。通过很多种可能的观察形式对已经转换的信息进行快速、稳定一致的交互性的存取,允许管理决策人员对数据进入深入观察。OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。
OLAP的原则是快速性、可分析性、共享性、多维性、信息性。快速性是指系统应当使用各种技术,尽量提高对最终用户的响应速度。可分析性指系统应对与用户及应用相关的任何业务逻辑进行统计分析,这一分析过程不用编程而且要尽量利用已有的综合路径以及统计公式,分析类型应包括时间序列分析、成本分配、货币兑换、非过程化建模、多维结构的随机变化等与应用相关的特征。共享性指多个用户存取数据时,系统应保证安全性。尤其是当存在多个用户向OLAP服务器写数据时,系统应在适当粒度上加更新锁。多维性是OLAP应用的实质,OLAP系统必须提供数据的多维概念视图。信息性指在OLAP系统中给出的不再是散乱的数据,而是能够导入具有指导意义的信息。
2.4 数据挖掘
数据挖掘是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的过程。简单地说,数据挖掘就是从大量数据中提取或挖掘知识。
数据挖掘的分析方法可以分直接数据挖掘和间接数据挖掘两类。直接数据挖掘的目标是利用可用的数据建立一个模型,这个模型对剩余的数据进行描述,包括分类、估值和预言等分析方法。在间接数据挖掘的目标中,没有选出某一具体的变量并用模型进行描述,而是在所有的变量中建立起某种关系,如相关性分组或关联规则、聚集、描述和可视化及复杂数据类型的挖掘,如文本、网页、图形图像、音视频和空间数据等。
2.5 网格商务
网格商务是在网格环境下开展的商务活动,其中的网格计算环境主要是指各种网格应用,包括数据网格、设备网格、信息服务网格、知识网格和远程沉浸网格等方面的应用。从应用服务层面上讲,网格商务是由网格计算环境创造的、超越时间和空间约束的、以透明的服务方式和极快的速度实现的商品交换。网格商务应该是网格化的购销市场,使用网格应用和服务完成商品购买和服务。总的来说,网格商务是指网格计算技术在经济、管理和商务等领域应用,对企业的组织形式、盈利模式、营销战略和知识管理等方面发生重大变化的全新商务模式,是具有商业活动能力的实体,为提高商务活动效率,通过透明的外包应用服务,在一定的商务规则下,充分利用网格技术在商务领域中的应用,来实现资源的全面共享,以提高企业核心竞争力,最终完成商品交易服务的一种贸易形式。
3.技术难点
3.1 ETL抽取的多样化
ETL抽取的对象是各种各样的数据源,包括文件、关系数据库、嵌入式数据库等各种形式。这些数据源产品的特性都各不相同,而对其支持软件也不能支持所有的数据库功能。即使比较成熟的有几十万行代码的开源ETL工具,也不能解决系统所需要的全部功能。
这里采用数据源分层架构的方法,把任务逐层分解,把大任务尽量分解成为比较容易解决的小任务,构造了一个具有基本功能的高度可扩展的框架。
3.2 Web Service参数映射
Web Service的一个大特点就是高度的跨平台性。不同的操作系统上不同语言开发的应用程序,只有通过Web Service的协议就可以实现互相通信。不同语言开发的应用之间的通信是通过将语言类映射为Web Service标准类来实现的。而Web Service的标准类一般是高级语言集合的子集,因此一些高级语言如Java中的对象无法完全映射为Web Service标准类型的,即使映射成为Web Service标准类型,在.NET开发的程序中也无法正常读取。所以说Web Service的跨平台性也只是某些限制条件下的跨平台。
这里采用Java语言的类型序列化技术,将Java语言的对象序列化到二进制编码中,然后通过Web Service传输二进制字编码,在网络的另一端将二进制编码再解码为Java对象,这种方法成功地解决了Web Service参数映射问题。
4.基于网格的商务智能体系结构
基于网格的商务智能体系结构设计为三层,底层为数据模型层,中间为控制服务层,上层为客户端视图层。数据模型层是系统的数据建模底层,以数据库软件为基础构造数据仓库、联机在线分析处理、数据挖掘;控制服务层把要解决的业务逻辑封装为若干个子系统,并基于Web Services技术构建网格服务平台,供客户端调用数据挖掘服务;客户端视图层提供C/S架构客户端视图、B/S架构网络浏览器视图、移动终端浏览视图以及第三方扩展软件的视图。架构的系统具有的功能组件如图2所示。
5.结束语
本文介绍了基于数据网格的商务智能应用。结合网格技术、商务智能、数据仓库、数据挖掘等技术,提出了基于数据网格的商务智能应用的体系结构。这种结构将数据网格服务与商务智能系统紧密结合起来,有效地解决了商务智能应用程序对分布式异构数据库进行统一操作的问题,极大地扩展了数据网格的应用领域和商务智能的有效性。随着数据网格和商务智能技术的不断提高,基于数据网格的商务智能将会得到广泛的应用。
CIO之家 www.ciozj.com 公众号:imciow