0 引 言
数据仓库技术是近年来兴起的一种海量数据存储和管理技术,主要服务于企业的高层决策者,为决策者把握企业的全局信息服务。数据仓库可分为广义数据仓库和狭义数据仓库。目前,从信息技术角度来探讨决策问题大多是针对基于数据仓库的决策支持系统而进行的,而且方法大致相同,即通过建立基于数据仓库的决策支持系统框架来研究决策问题的解决,而这种研究架构都是建立在数据仓库与决策支持系统(Decision support system,DSS)的松散耦合基础之上的,客观上造成了数据库与知识库、方法库、模型库等一些基础库的分离,由此开发出来的应用系统缺乏适应变化的灵活性。另外,从决策的整体角度看,这种系统结构也很难达到内在的统一和完整,不利于集中管理,并且由于集成性不足,造成共享性较差。同时,这种分离在客观上造成数据仓库缺乏对决策过程的集成,并最终导致对决策缺乏必要的支持。因此,本文从数据仓库角度出发,结合人对客观事物的认识和决策的过程来探讨技术对决策的支持,提出了面向一般决策过程的数据仓库。相对于一般概念上面向主题的数据仓库而言,面向一般决策过程的数据仓库,改变了数据仓库和DSS松散耦合的研究思路,使得数据仓库和决策支持更好地结合。
1 一般决策过程的描述
关于决策的定义多种多样,所谓决策,是指针对某些宏观或微观的问题,按预期的目标,采用科学理论、方法和手段,明确问题,制定若干可供选择的行动方案,确定评价准则,从待选方案中选择最满意的方案,加以实施,使目标得以实现的一系列活动。因此,针对一般决策过程有以下数学描述(如图1):
图1 一般决策过程
其中,Φ表示问题对应的客观系统的完整知识集或空间;S表示认识了的客观系统的知识空间;P表示问题空间,即客观系统所涉及的问题集合;M表示问题或客观系统对应的广义模型集合或空间;Ω表示算子空间;X表示解空间;U表示评价指标空间;h,g,f,d,u表示集合或空间问的映射。
由图1可知,对客观事物系统认识空间S和对问题空间P的认识是决策实现的基础,本文把它们分别定义为如下6类:
(1)客观事物系统知识 关于问题所涉及的客观事物,对应于集合或空间S,主要是关于事物概念、属性、相互联系机制和结构的知识。
(2)问题知识 关于问题的定义和描述的知识,对应于集合或空间P,主要是关于客观状态与主观状态要求的差别,包括问题的发现、发展、选择和意向性问题的定义等方面。
(3)方法性知识 关于问题的一种同态映射的知识。主要是关于问题的广义模型化描述,包括分析型数学模型、优化模型、经验模型等。
(4)工具型或算子类知识 是一种高度形式化的知识,主要是通用算法或解题器类知识。
(5)问题解相关知识 包括对解的解释和评价等。
(6)决策的过程知识 在求解过程中,往往要出现多次折返,也可能完成对某一过程的跳跃,所以对决策过程的了解也是有意义的,决策的过程知识主要记录了决策的过程方面的相关知识。
上述6类知识基本上覆盖了问题求解的全过程,可对应于人们认识的不同层次。第1类知识对应于具体领域,具有较强的特殊性;第2类知识处于领域知识和第3类知识之间,如一个工业发展规划的问题,它既具有工业领域的特殊性,又具有规划问题的一般性;第3类方法性知识已属于理论化知识范畴,它的一般化程度更高,可以说基本上与问题领域无关;第4类知识是一般算子类知识,基本上是数学化知识,属于认识的最高层次;后两类知识与系统环境和用户的主观意愿高度相关,建立在前4类知识的基础之上,并可为前4类知识服务。2 系统数据仓库的概念和特性
为了更好地解决决策问题,本文提出系统数据仓库(System Data Warehouse,SDW)的概念。
2.1 系统数据仓库的概念
SDW是支持一般决策过程的、面向系统的、交互的、集成的、内容相对稳定的、不同时期的数据的集合,其内容相对稳定,其中的数据或知识通过各种交互方式获取,并长期保存,如有变化,也基本上是存储粒度的变化。SDW是一种面向客观事物系统认识全过程的集合。
按哲学观点,客观事物总是可分的,可以分领域、元素和下一个层次的事物,这些领域、元素、下一层次事物由于是一种客观实在并构成客观事物的内在因素活动,可称为实体(entities)。依据事物普遍联系观点,构成客观事物系统S(system)的所有实体都是相互联系的,这种联系体现在实体之间的相互依赖和相互作用的关系(relations)之中。不难理解,任何抽象层次上的客观事物系统s可以用相应的实体集E和关系集R来描述。问题是人的主观愿望或要求与客观事物系统状态的差异,P(problems)是关于人们主观目标(目标的概念来源于客观事物系统)和客观事物系统的集合。因此,以客观事物系统S为基础构建SDW来解决问题P(对应数据仓库的主题)是可行的。
2.2 系统数据仓库的特性
2.2.1 交互性
决策过程是一个交互过程,它对应人们对客观事物从了解、认知到按着意愿把握客观事物的逐渐加深和提高的过程。人们对客观事物的认识总是存在着深度和广度的不完备性,这种不完备性对于用户和系统来说是不同的,因为数据仓库系统所对应的只是通过计算机程序化了的知识,具有较高的准确性和一致性,即相应的认识比用户的知识更具有深度。但由于用户是客观事物系统的直接实践者,相应的知识大多数属于Φ,S,P的层次,故用户的知识具有广度。正是由于这种不完备在系统和用户之间的不均匀分布,使得系统不能是一个完全自动机,它必须与用户交互,才能更好地为决策活动提供深度和广度的服务。此外,由于所提到的数据仓库是面向系统的,而系统是可以分解的,且存在着层次关系,则系统之间和系统内部存在着广泛的交互。
2.2.2 集成性
数据仓库系统各部分之间存在着有机连接,从而构成一个整体性和一致性很强的体系结构。SDW要支持决策活动的全过程,构成这个活动的每个阶段或活动单项,所采用的方法和步骤都是互相联系的,从而构成一个方法系统,而决策的科学性主要取决于这一方法系统的整体性功能。所以,SDW应该是这个方法系统的计算机实现,而方法系统的整体性取决于SDW集成化程度。
2.2.3 动态性
SDW的动态性不仅表现在数据的不断存入和补充,形成历史数据,更在于其多源数据的抽取是经过加工、汇总和整理过程来完成的。系统在不同层次上的动态性变化频率和程度是不同的。对于描述客观事物系统的知识和数据的领域知识,由于客观系统的不断变化,则描述新现象的知识和数据不断补充进来,而历史的数据通过汇总变成存档数据或综合为高粒度数据,这一层次的数据变化频率最高。对于问题空间知识,当然会有新问题出现,问题集合会扩大,有些问题变成历史问题,成为系统解决的核心。在这一层次上,问题虽有变化,但不会经常出现问题。而在模型和算子级,都是经过理论和实践证明的高度形式化的数据,变化相对较少。对于解相关知识则会随着时间的推移和环境的变化而变化,需要不断地补充。在决策过程中,知识本身是动态的,所以始终处于被补充的开放状态。
3 系统数据仓库的集成
对SDW的集成问题主要分6个方面探讨,分别为概念体系集成、数据集成、模型集成、算子集成、综合知识集成和软件集成。
3.1 概念体系的集成
由于SDW具有集成性,一般需要联合开发。但是系统分析员、开发者、用户的经历和学科训练都不尽相同,对相应事物系统垂的认识也不尽相同。因此,所有参与SDW开发的人员必须对事物系统Φ有统一的认识,才能够产生一致的映像S和一致的问题结构。概念体系的集成是其他方面集成的基础,是SDW集成的必要条件。可以概括为如下3方面:
(1)用户与系统分析员之间对系统认识的一致性,实际上是所开发的SDW能否为用户所用的基础。
(2)系统分析员或开发者之间对系统认识的一致性,要求系统分析员之间不存在学科的偏见,从对整个决策活动过程进行有效支持这一整体目标出发,取得概念体系上的一致性,它决定着方法和软件模块的集成化程度。
(3)体系结构的一致性要求SDW要有统一的概念体系框架,包括系统的层次和子系统的划分,以及构成要素等的一致性。
3.2 数据的集成
数据集成主要有如下3方面:
(1)数据项的一致性 主要由数据指标涵义的一致性、统计口径的一致性和量纲的一致性来保证。在实际数据采集和处理过程中,数据处理人员在理解上不一致或统计口径的变动都会破坏数据项的一致性。
(2)数据结构一致性 数据文件或数据在SDW中的存储结构应该具有较好的一致性定义,这样便于数据在SDW中传输和共享。
(3)数据集中和分散管理 涉及数据存储的冗余度和效率。一般来讲,数据管理越集中,其冗余度越小,但效率越低;相反,数据管理越分散,其效率越高,但冗余度会增大。实际上,这是计算机的存储资源与处理速度的有效配置问题,应根据SDW开发与应用的目的而定。
3.3 模型集成
模型集成从广义上讲,是问题通过某一种同态映射而得到的一个映像,模型集成是指问题系统对应的所有模型应该构成一个有效的模型系统,而不是一个模型集合。包括下列3方面:
(1)各种定量模型间除了要保持结构一致性以外,还要在变量的输入或输出之间完成必要的连接,同时考虑在各类模型的使用过程中保持模型系统的整体性。例如,要注意考虑线性与非线性、模糊与清晰、随机与确定等模型之间的衔接。
(2)定量模型与定性模型的连接。复杂的决策问题往往包含大量的不可量化描述的因素,因此,SDW必然要包含定性描述模型、定性描述模型之间以及与定量描述模型之间必要的连接。
(3)上层模型与下层子模型以及子模型之间的集成问题,在一个大型决策问题的研究中或SDW开发中经常遇到。由于子模型的特性或结构的差异,尤其由于开发者或研究者在完成子问题到模型的同态映射上的差异,会使上层系统和下层子系统以及子系统之间很难衔接起来,从而破坏模型系统的整体性。
3.4 算子集成
SDW的集成不仅反映在系统空间、问题空间、模型空间上,同时也反映在算子空间上,即求解一个模型系统要有一个集成的算子系统。主要反映在以下3个方面:
(1)算子的组合运用如按一个模型系统选定一个算子序列进行模型的传递求解,或通过分块等待方法进行求解等。
(2)大系统分析或优化算法(集成算子) 如大系统分解协调方法等,本身就是一个集成算子。
(3)数学算子与经验方法(广义算子)的集成对一个复杂的决策活动往往要包含一些经验性的决策。实际上,在这种决策活动中,问题的求解也经历了一个同态映射,只不过这里的映射是一个经验模型,而这种模型的解大多是可以直接得到的。同时,近年来交互式解题器的研究和开发,使得一些教学算子变成可介入的算子。因此,经验与算子的集成就显得很重要了。
3.5 综合知识集成
以上讨论了4个方面的本身集成问题,实际上,在整个活动中,6种知识是互相联系的。因此,它们之间也同样存在着集成问题。例如,概念体系与数据系统的一致性问题;概念、数据与模型系统的一致性问题;模型系统与算子系统的一致性问题;问题解和生成解的条件的统一问题等。总的来讲,就是要求它们在空间上是同态的。
3.6 软件集成
SDW是计算机上的软件系统,因此,上述5个方面集成问题自然而然要反映在软件集成上来,即要通过软件系统来实现。
SDW的集成度可分为3个层次或水平上的集成:
(1)概念层次上的集成,即概念体系和数据上的集成。
(2)方法层次上的集成,即模型和算子方面的集成。
(3)过程层次上的集成,即完成所有的上述集成,使各软件子系统和模块的衔接和控制接口等方面的集成统一完整。
上述3个层次,概念集成是基础,方法集成是核心,而过程集成是依托。实现上述3个层次集成的系统为高度集成系统,只实现概念层次,没有实现方法层次的系统为弱集成系统。如果一个SDW连概念层次都没有实现,那就不是一个集成化系统,起不到对决策活动整体性的支持作用。
4 构建过程与设计实例
可采用如下步骤构建SDW(如图2):