数据仓库参考模型研究(共7篇)
数据仓库参考模型研究 篇1
1. 引言
模糊粒度模型在决策支持及信息管理系统的局势分析中发挥着重要作用。人们在解决问题时, 能从几个不同的粒度世界去分析和观察同一个问题, 并且很容易从一个粒度世界转到另一个粒度世界。为了描述这个现象, 建立了一种商结构的形式化体系, 给出了一套解决信息综合、启发式搜索、路径规划和推理等领域问题的理论和算法, 并已有一些研究和应用。目前, 关于模糊粒度模型的研究有Pawlak的“粗糙集理论”、Zadeh的“模糊集理论”和张铃等提出的基于上空间粒度计算, 有许多学者在模糊粒度计算领域进行了研究、以不同粒度求解问题的商空间模型已在模糊粒度领域引起了同行的关注, 其着重点是研究不同粒度世界之间相互转换、相互依存的关系, 及研究不同粒度问题之间的转换以及确定粒度模型与模糊粒度模型之间的关系。
本文提出利用学籍管理系统中的有关数据基本表, 进行分析、综合, 先建立确定粒度模型;再将确定粒度模型转换成模糊粒度模型, 利用模糊粒度模型对信息管理系统中的信息进行分析、研究, 实现数据仓库联机分析处理。
2. 定义和符号
Zadeh于1979年在文献中提出了模糊粒度的概念, 文中定义信息粒度为一个命题:X的值程度A隶属于模糊子集G包含于U, 其中X是U上的变量, X的值是U上的一个实体, 写成:g=X is G is A, 形式上被记成:g={∈U:X的值 (V (x) , V是U上的赋值符号) 是以程度A隶属于模糊子集G包含于U}, 很显然A∈【0, 1】。以模糊集的观点, 此处的A是模糊隶属度函数U|G;而以辑学观点, 此处的A是所建立的命题的模糊针织或概率。
通过二元关系定义子粒。设S= (U, A, V, f) 是信息系统, B:V→U二元关系, 其中U是所讨论对象的全集, A是属性集, V是属性值集, f是信息函数。用B定义粒是如下形式:g={u∈U:uBp, p∈V}显然g是清晰还是模糊完全取决于B的特性。设有两个关系B和D, 如果B包含于D, 则按B将全域划分的粒比按D将全域划分的粒更细, 在这种情况下, 也可以将不同大小的粒度分成不同粒度层, 并在不同层上进行各自分别处理。
在实际应用中, 如果粒度太细, 搜索空间庞大, 容易陷入组合
爆炸的情况;如果粒度太粗, 又会失去一些有用的信息, 因此需要从已知知识合成不同粒度知识。
设 (X1, P1, f1) 、 (X2, P2, f2) 是 (X, P, f) 的商空间, X1, X2对应的等价关系分别为R1, R2。
定义1:X1, X2的合成空间X3, 其对应的等价关系为R3。X3是X1、X2的细粒度合成空间, 满足R (x, y) ≡ (R1∩R2) (x●y) .
用划分来表示合成;设划分X1={a1}、X2={b1}, 则X1和X2的合成X3={a1∩b1|a1∈X1, b1∈X2}.X1和X2的积X3=X1●X2对应于等价关系R1∩R2的划分, 可以证明R1∩R2是一个等价关系。
定义2:X1, X2的合成空间X1, 对应的等价关系为R1, X1是X1、X2的粗粒度合成空间, 满足R1 (x, y) ≡ (R1∩R2) ● (x, y) 。其中 (R1∪R2) ●是 (R1∪R2) 的传递闭包, 用划分便是合成设x1和x2的和对应于传递闭包 (R1∪R2) ●的划分, 记x1=x1+x2可以证明 (R1∪R2) 是一个等价关系。
粒度和等价关系有着密切的关系。本节主要是对粒度合成技术在实际应用中的推广和补充, 即如何从已知知识合成粒度知识, 并能方便地从几个不同粒度世界去分析和观察同一个问题, 从而降低问题求解的复杂性。
3. 模糊粒度模型的建立方法
以高校学籍管理系统为例, 在学籍管理系统基础上建立数据库, 并利用高校学籍管理系统中的信息数据导出数据库中低粒度表;再导出数据仓库中的高粒度表;最后根据隶属度函数分析, 得出模糊粒度表;将高校学籍管理系统中的关系表中大量的数据进行分析、综合, 并且对导出的模糊粒度表进行分析、综合, 从而建立一个科学的数据仓库模糊粒度模型。
模型建立过程如下图所示:
注:该成绩表中有30条记录, 分别是该班级30名学生数据仓库这门课程的成绩。下面由数据库中的学生成绩表 (低粒度表) 导出对应的确定粒度表 (高粒度表) 。
注:按照上面学生成绩表中的学生成绩将其成绩划分成优、良、中、及、不及五个等级, 五个等级对应的成绩分布如上表中成绩分布所示, 其对应的人数如上表所示, 总人数30人。
下面由确定粒度表 (高粒度表) 导出模糊粒度表, 如下表所示:
注:上面模糊粒度表的人数比例是从我自己观点出发, 根据隶属度函数计算所得, 该人数分布成正态分布。考虑到管理层不同的管理人员或决策者出发点不同, 可能会出现不同的人数比例计算结果, 但是有一点肯定不会改变, 即就是他们计算得出的人数比例分布一定成正态分布, 并且他们大多数人计算出得人数比例基本相同, 出入不大。这就突出了模糊粒度模型在信息管理系统应用中有很大的弹性, 比较灵活, 有利于数据仓库联机分析处理更好地进行, 从而大大地减轻了管理人员的负担。尤其在Oracle数据库中, 由于数据信息量大, 记录条数比较多, 通常会出现数据繁杂, 信息爆炸现象。但是将模糊粒度模型应用到大型信息系统中去, 会有效地避免信息爆炸现象。
模糊粒度模型的建立过程:
Ⅰ用适当的数学方法对问题进行描述
在数据仓库模糊粒度模型的建立过程中, 引用概率论和统计学对信息管理系统中的信息数据进行计算、分析, 由于该模型是模糊的、不确定的, 因而使用隶属度函数对模糊粒度表中数据进行计算, 得出结果后检验其是否符合正态分布规律 (一般分布规律) 。
Ⅱ采用各种数学方法和计算机工具求解模型
本文在信息管理数据模糊粒度模型的基础上, 设立了辅助决策数学模型和相关指标临界值, 使系统自动报警, 充分发挥了决策作用, 同时也对模型进行了求解。
Ⅲ模型建立步骤和方法
本文在学籍管理系统的基础上, 由系统中的基本表导出确定粒度表, 进而得出模糊粒度表;利用隶属度函数对模糊粒度表中的信息数据进行计算、分析, 检验检验其是否符合正态分布规律, 再将各模糊粒度表进行分析、综合, 从而建立一个科学的数据仓库模糊粒度模型。
4. 应用和分析
在信息管理系统和智能辅助决策IDSS中, 根据粒度化历史数据变动情况和查询统计要求, 可使业务流程数据与决策信息形成有效流转, 在信息管理数据模糊粒度模型基础上, 设立辅助决策数学模型和相关指标临界值, 使系统自动报警, 充分发挥辅助决策作用。假设某粒度级因素项的数据量为X, 关联因素项数据量为Y, 数据挖掘分析结果项为Z, 那么建立辅助决策数学模型, 假若, X与Y的增长量分别为dx、dy, 就对应一个分析结果项变化量dz, 其关系为积分方程:
在上式中, 把指标临界值分别设为x=x0, y=y0, z=z0, 各粒度级因素项的数据量分别设为x1, x2, ……xn;各关联因素项数据量分别为y1, y2, ……yn;各数据挖掘所获得的分析结果项分别为z1, z2, ……zn。这些值, 有的情况是离散值, 但大多数情况是连续值或分段连续值, Z为积分曲线。
上面辅助决策数学模型是建立在模糊粒度模型的基础上, 它可以有效地自动对信息管理系统中的数据信息进行处理、衡量, 从而大大地减轻了管理人员和决策者的负担。
数据仓库模糊粒度模型应用到信息管理系统中, 它可以对现实中一些模糊的问题或者决策者难以驾驭的问题进行处理。由于实际应用中信息往往是不完全、不精确或不确定的, 有时很难对粒度粗细进行划分。在现实生活中, 比如天气情况“晴”、“多云”、“阴”等都很难有个“界限分明”的不相交的分类, 有时甚至连相交与否都说不清, 只能模糊地进行分类。从上述分析可知, 现在的数据仓库联机分析处理大多是基于静态、确定、有限、历史的数据仓库集进行研究的, 而对当今信息系统中数据信息的流动性、快读变化性、无限性和不确定性的特点, 目前的联机分析处理技术需要重新考虑、选择, 甚至再研发。而数据仓库模糊粒度模型完善了这一方面的缺陷, 使得数据仓库联机分析处理能够很好地对信息管理系统中的信息数据进行处理, 给决策者大大地提供了方便。
5. 结束语
本文提出数据仓库模糊粒度模型, 并将其应用于学籍管理系统。针对实际问题, 将数据仓库模糊粒度模型进行了推广和应用。首先提出了粒度的概念, 并介绍了粒度的等级划分, 阐述了粒度和等价关系之间的紧密联系, 将粒度合成技术在实际应用中进行了推广和补充, 引入确定粒度模型的概念, 在此基础上, 建立了数据仓库模糊粒度模型。将确定粒度模型与模糊粒度模型进行了比较, 充分体现了模糊粒度模型的实用性和优越性。
通过本文的讨论, 基于模糊粒度模型理论方法是采用概率统计方法研究粒度的计算方法, 那么它就可以有效地应用于信息管理系统中进行统计和分析, 既可以使得数据仓库联机分析处理更好的进行处理, 又可以大大地降低问题的复杂性, 从而减轻决策者和管理人员的负担。
参考文献
[1]W.H.Inmon, building The Data Warehouse Third Edition[M]John Wiley﹠sons, Inc.2002
[2]Zhang L.Zhang B.The Quotient Space Theory Of Problem Solving Fundemental Information.2003.59 (2-3) .287-298
[3]W.H.Inmon, building The Data Warehouse.Practice Hall, 1992
[4]W.H.Inmon, R.D.Hackathorn《Using The Data Warehouse》[M].John Wiley﹠sons.Inc, 1994
[5]G.Bell and J.N Gray The Revolution yet to happen, Beyond Calculation Spring Verlag, 1997
数据仓库参考模型研究 篇2
1、数据仓库逻辑建模的原则
模型可以帮助我们更加明白的了解业务需求, 是在企业分析完业务需求之后所做的第一步工作, 也是数据仓库中非常重要的一个环节。由于电信行业业务复杂, 数据庞大, 所以数据仓库的逻辑建模显得尤为重要, 在进行数据仓库逻辑建模的过程中, 必须要以以下几点为原则:
1.1 操作的简单性
由于数据仓库最终的用户不一定具有较高的计算机操作能力, 因此数据仓库创建后对于使用过程应该具有直观, 简单的特点, 使得非计算机专业的人员也应该很容易的来获取自己想要的数据。
1.2 业务的全面性
业务应该能够满足不同用户的不同需求。对于同一类用户, 应该能够提供全面的业务分析展现, 使用户能够自由的访问自己需要的数据。
1.3 高效率原则
对于数据获取的过程, 应该尽可能的缩短访问的时间, 在短时间内将用户需要的数据展现给用户, 提高用户的感受度。所以在逻辑建模的过程中应该注意以下几点:
(1) 增加适当的冗余来提高系统的响应速度。
(2) 尽量避免多个大数据量的表间连接。
(3) 尽量避免大范围的数据扫描。
(4) 充分考虑可扩展性。
由于电信行业业务的复杂多变, 在数据仓库逻辑建模的过程中要充分的考虑电信业务后期的变化, 即逻辑建模时要充分考虑系统的可扩展性。
2、电信行业企业级数据仓库模型的构建
常用的数据仓库逻辑建模主要包括三范式建模和维度建模, 三范式建模偏向于数据的存储, 是围绕主键与于其它属性之间的关系而作出的建模。维度建模偏向于数据的分析, 如常见的星型模型建模, 它是以事实表为中心, 周围关联很多维表。三范式建模和维度建模各有优缺点, 根据电信行业业务的复杂性和庞大性, 为提高企业数据的处理效率和数据分析的灵活性, 以及后期数据仓库的可扩展性, 本文采用维度建模的方式进行分析, 系统部分模块的模型如图1所示。
系统数据仓库的逻辑建模可分为以下几个步骤来执行。
2.1 确定主题
从大的模块上来说, 系统分析的主题包括业务主题, 客户主题, 其中业务主题包括企业提供的各种复杂的业务, 业务的开通取消情况, 业务的生效情况, 业务的收费情况等, 客户主题主要包括客户的基本情况, 客户订购的业务信息, 客户订购业务产生的费用信息, 以及企业为客户提供的服务信息等。图2列出了系统主题间的关系。
2.2 确定度量
度量即分析的指标, 是数据仓库中数据分析结果的直接体现, 它决定着数据分析的结果是否符合业务需要, 对企业的决策支持起着非常重要的作用, 因此度量的确定也是非常重要的。
以客户基本信息为例, 包含的度量值主要为客户id, 客户姓名, 客户年龄, 客户电话, 所在区域, 所在行业, 客户类别等信息。通过这些信息能够为客户的流失分析及客户营销分析提供基本的资料, 当然还有一些度量是需要通过计算得到的, 如客户的平均收入, 客户的平均消费等, 这些需要计算的度量在数据仓库的分析中也是非常常用的。
2.3 确定粒度
粒度是数据仓库中保存数据的细化程度, 并与细化程度成反比, 细化程度越高, 粒度级别就越低;反之越高。粒度的划分将影响数据仓库中的数据分析操作, 例如以区域为例, 如果区域的划分只到省的级别, 那么我们就无法分析省中各地市的数据信息。但如果把所有要分析的信息都使用低粒度进行保存, 将浪费很大的空间, 并影响分析的效率, 所以, 在系统粒度的设计中, 使用多重粒度设计, 即按照实际分析的需要划分不同的粒度级别。图3为系统粒度的部分实例。
2.4 确定维度
维度是描述数据仓库中事实数据的一种层次性结构, 是分析数据的角度。维度的合理定义对数据的灵活展现起着至关重要的作用。
在电信行业中, 维度的选取大同小异, 例如, 若以客户分析为主题, 那么维度常划分为区域维、时间维、行业维等, 每一维上又细分成具体的维, 如时间维上可划分为年、季度、月、日, 区域维上可划分为南北方, 省, 市等。
3、总结与展望
数据仓库建模在企业数据仓库的构建过程中起着非常重要的作用, 通过建模, 能够使企业的分析面向业务主题, 使得分析出来的数据更加贴合实际;通过建模, 能够简化后期的统计分析工作, 提高开发的效率。本文以数据仓库建模的原则为基础, 分析了电信业企业级数据仓库模型的构建的过程中需要做的工作, 并对所做的工作进行了简单的描述, 能够提高后期数据仓库的开发效率, 增强数据仓库系统的可用性, 为电信业企业的决策支持提供帮助。
摘要:近些年, 我国电信行业数据仓库的发展迅速, 作为数据仓库中的一个关键的环节, 数据仓库逻辑建模就显得越来越重要。文章以我国电信行业数据仓库发展的背景为基础, 依据数据仓库逻辑建模的原则, 探讨了我国电信行业企业级数据仓库模型构建中的几个关键的部分, 并结合事例对各部分进行了描述, 为数据仓库工作者重构了一个数据仓库逻辑建模的过程。
关键词:数据仓库,逻辑模型,维度建模
参考文献
[1]米波.基于数据仓库技术的银行数据系统的研究[J].电脑知识与技术, 2010 (06) .
[2]周冬婉, 周伟, 叶涛.企业数据仓库多维数据模型的建立[J].微机发展, 2005 (06) .
[3]Anand S Kamble.A Conceptual Model for MultidimensionalData[C].Proceedings of the Fifth on Asia-Pacific Conference onConceptual Modelling, 2008.
[4]徐琴, 彭宇扬, 彭自成.电子商城的数据仓库建模研究[J].计算机与现代化, 2010 (07) .
[5]高翔, 刘峰, 张殿东.商业银行数据仓库建模研究与设计[J].计算机与数字工程.2010 (08) .
数据仓库参考模型研究 篇3
1 多重粒度模型的建立
1.1 多重粒度的提出
确定系统的数据粒度是数据仓库逻辑模型设计的重要步骤。而要确定合理的数据粒度,首先需要粗略地估算将来数据仓库的数量级。数据仓库数量级的一个简单粗略估算方法是:设在概念模型中出现的表的个数为N,对于每个表i(0
其中,T是数据在数据仓库存在的周期。通常轻度综合的数据在数据仓库中存放的周期是5~10年。α是考虑由于数据索引和数据冗余而使得数据量增大的冗余因子,上式的含义是数据仓库数据量=(表的记录大小+主关键字大小)×记录的数量/单位时间×存储时间×冗余因子[3]。
一般来说,对于不同的数据量将采用不同的数据粒度策略,在数据量较小的环境下,采用单一的数据粒度,即直接存储细节数据并定期在细节数据基础上进行综合。由于数据仓库是进行DSS分析用的,绝大部分都是基于一定程度的综合数据查询的,因而在数据仓库中,采用多重粒度来分析数据是必不可少的[4]。
数据仓库临时表中用来存的记录随着时间的累积,数据量将不断增多,面对大规模的数据,要想从中得出用户需要的数据,必须建立一种有效地措施来方便、快捷地查询所需数据。在许多情况,建立简要记录数据量可以显著降低,按照数据的细节程度划分原则通过把许多记录聚集为一个记录,方便用户从大量数据查询和分析。当然根据相同的细节可以创建多个简要记录,按照不同的需求可以对数据仓库中的数据细节程度进行划分,比如按照不同时间记录进行划分、不同部门(地区)记录的划分、不同车型的划分、不同运输线路的划分等等。
在企业设备管理数据仓库表中,面对大量的数据信息,建立多重粒度可以按照企业中不同身份人员的操作需求不同,将数据划分为细节数据和综合数据(轻度总结、高度总结),划分的粒度的高低将会满足不同类型人的需求,以提高设备管理的系统性能和成本。
1.2 数据粒度划分模型算法
在数据仓库数据中,对于数据的划分提出一种新的基于粒度划分模型的算法。在论域U的一个划分π={Xi|1≤i≤m}对论域提供了按照某种属性(比如时间中的周或者月)的简单粒度观点,划分中的每个块Xi都是一个粒子,且满足:
每个Xi均为非空,且划分π={X1,X2,…,Xn}
对所有的i≠j,Xi∩Xj=ф
∪{Xi|1≤i≤m}=U
如果划分π1的所有块都包含在划分π2的块中,称划分π1是π2的细化,记作π1≤π2。细化关系是一个偏序,满足自反性、对称性和传递性,它定义了一个划分格∏(U)。∏(U)包含了论域的所有可能的粒度划分,空集提供了最粗的划分,全部的属性定义的划分是最细的划分,粒度之间的转换通过增加删除属性来实现。
进行粒度划分时,首先根据所在数据仓库中建立的表,建立数据索引来索取数据,针对不同数据采取分类索引,即通过所建表的行来组织,每个索引中的每一行总有一个索引项,用户在进行查询时,根据查询的内容来定位数据到底属于哪个粒度的“片区”,不同粒度级别的数据将用于不同类型的分析处理,在此区间进行分析处理,以提高查询效率。
1.3 多重粒度模型的设计
数据仓库中的粒度化的数据是重用性的关键。这是因为她可以由众多用户以不同方式使用。数据仓库的粒度化数据包含了整个企业的活动和事件的历史。并且数据粒度级别足够详细使得整个企业的数据位满足不同需要而进行重构。通常数据仓库可以使得不同部门从它所希望的角度来观察数据。数据仓库粒度化所带来的好处除了可以从不同角度观察分析数据之外,另一个好处就是可以利用数据仓库粒度化划分的数据进行一致性的协调,从而对两个部门或多个部门的不同分析结果的差异进行解释[1]。
在数据仓库中的数据分为4个级别:早期细节级、当前细节级、轻度综合级和高度综合级。源数据经过综合后,首先进入当前细节级,并根据具体需要进行进一步综合,从而进入轻度综合级乃至高度综合级,老化的数据将进入早期细节级。数据仓库中存在着不同的综合级别,这就是“粒度”的直观表现[2]。
数据仓库通常在同一模式中使用多重粒度。数据仓库中,可以有今年创建的数据粒度和以前创建的数据粒度。这是以数据仓库中所需的最低粒度级别为基础设置的。例如,可以用低粒度数据保存近期的数据和汇总数据,对时间较远的数据只保留粒度较大的汇总数据。这样既可以对设备信息进行细节分析,又可以利用汇总数据对设备运转趋势进行分析,这里的数据粒度划分策略就需要采用多重数据粒度。
数据仓库中的数据在时间维上按什么来汇总数据。为确保DSS分析员做分析时能得到他们需要的数据,我们考虑按照时间维来考虑数据,首先考虑的是在详细数据的基础上以较低级别来汇总数据(如以交易日为单位),那么做年度数据分析时,系统必然要消耗很大资源。但如果在较高级别上汇总数据(以年为单位),则极有可能需要向下挖掘数据来分析其月或者日的数据。所以DSS分析员必须通过和用户交流来确定数据粒度级别[7]。在石油钻井设备管理数据仓库中,我们采用多重粒度设计方案,数据仓库中包括详细数据、按月汇总数据、安照季度汇总、按年汇总数据等。
2 多重粒度模型在石油企业设备管理中的应用
在石油运输企业车辆设备管理中,车辆设备管理数据仓库基本上涵盖了从“车辆购入”到“车辆报废”过程中的全部数据信息,管理人员希望尽可能多地掌握不同分公司、中队车辆的基本档案信息、运行信息、行使里程、油耗量等运输信息,更换设备、维修、报废、小修、大修等维修信息,以及车辆行驶里程与油耗之间的关系、司机驾驶的车辆固定周期内维修次数等信息。
在石油企业设备管理系统中以运输车辆为例,整个运输公司运输管理过程是以每个车辆(配件)为单位的,我们建立了临时表来存放车(配件)的运输记录,在车辆管理期间,管理员可以对每辆车的运输记录情况进行浏览和修改,这个临时表按照整个石油企业的车辆100辆计,如果平均每月一辆车对应有20个不同部门使用,按照每个部门使用情况的不同统计,假设一辆车平均每月共有1000个运输记录,则这个临时表将有近100×20×1000=200000条记录,如果采用单一粒度级别设计,也就是是说如果直接存储细节数据并定期在细节数据基础综合的这样的设计不仅大大耗费存储空间,而且也会影响访问的效率。
在石油企业设备管理中,大量数据需要进行挖掘、分析,而管理人员分析的数据和关心的数据层面也有所不同,这就涉及到数据仓库中数据存储的粒度问题,即数据仓库中记录数据细化程度的问题。数据仓库单元中的细节程度是设计数据仓库的最重要的方面。建立数据仓库粒度模型对于回答企业中不同中队、分公司、总公司管理人员所需资源有着重要的影响,可以辅助管理人员科学制订相关决策和管理,更好地实现降低费用、提高监控力度、增加安全性等应用目的。
在石油企业设备管理数据仓库中以基于时间的粒度为划分模型,在车辆运输记录数据仓库中划分车辆运输任务日志数据,作为每个中队的管理部门人员来说,关心的是中队所辖区域的每月设备的运转状况,故按照时间粒度中的月属性,划分数据仓库的数据,将其的相关运输记录信息综合成每月的记录进行划分,划分结果如表1所示。
通常分公司管理部门人员可能想了解生产线上设备各个季度设备运转的汇总,我们在处理相应数据记录的时候,按照时间粒度中的季度属性来划分划分结果如表2所示。
企业总公司管理部门人员可能想了解生产线上设备各个年份设备运转的汇总,往往很少对单个事件按进行了解,总公司财务部门也可能更想了解不同年份的设备创收情况,可能都是针对某个数据集合进行处理[6],我们在处理相应数据记录时,按照时间粒度的年份属性来划分结果,如表3所示。
当然,按照不同需要也可按照时间的周属性、旬属性等等来划分数据仓库中的数据记录,这里就不再赘述。无论是企业中队人员、企业分公司管人员还是总公司数据仓库管理人员所需要的数据尽管有略微的不同,但是所有这些数据都是紧密相联的。数据仓库粒度化数据可以将其中的数据进行一致性的协调,从而对两个部门或多个部门的不同分析结果的差异进行解释。
在石油企业设备管理数据仓库数据中,对于上边提出一种按照时间粒度划分模型算法。论域U也就是所有车辆运输日志记录,对于车辆运输记录以月份划分提出简单的力度观点,划分中的每个月就是一个粒子,每个粒子满足以下条件:(1)每个粒子都为非空;(2)对于每个划分,比如1991年1月份和2001年2月份没有公共的交集;(3)所有这些划分的集合应该是车辆运输记录的全部集合。
当然按照季度划分、年份等划分均应满足以上条件。如果月份的划分记录π1的所有块都包含在按照年份的划分π2的块中,称划分π1是π2的细化,记作π1≤π2。这个细化关系是包含了论域的所有可能的粒度划分,全部的属性定义的划分是最细的划分,粒度之间的转换通过增加删除属性来实现。
这种数据不同细节的划分就是数据仓库中的数据存储粒度。在时间粒度上,OLAP往往对时间相隔较远的数据要求粒度较粗,对时间相隔较近的数据要求粒度较细。对于设备的库存量、使用情况等可以采取样本数据库保存设备情况的抽样快照,而对于运输设备运输情况、设备为公司的盈利状况和时间段相关的处理则采取普通的细节粒度和综合粒度结合的方式。此后,DSS分析员在确定数据粒度级别时必须针对不同的需求确定不同的粒度等级。在石油运输企业设备管理数据仓库中采取多重粒度划分。数据仓库事实表中存放数据时存放多重粒度数据,按照粒度划分的算法来划分出来的多重粒度的数据可以方便快捷地供管理人员分析决策用。
3 结束语
选择合适的粒度级别是数据仓库建设好坏的重要内容。在设计数据粒度时,通常须重点考虑各种因素。粒度的确定实质上是在对业务模型做深入了解的基础上,对业务决策分析、硬件、软件和数据仓库使用方法的一个折衷。随着原始数据的积累,数据库的信息量越来越大,单一的粒度级已经不再适合使用,而是需要使用多重粒度级来提高查询的效率,以便更好地满足用户的决策分析需要[5]。
参考文献
[1]W.H.Inmon.数据仓库[M].王志海,林友芳,等,译.北京:机械工业出版社,2003.
[2]王珊.数据仓库技术与联机分析处理[M].北京:科学出版社,1999.
[3]林宇.数据仓库原理与实践[M].北京:人民邮电出版社,2003.
[4]李志刚,马刚.数据仓库与数据挖掘的原理及应用[M].北京:高等教育出版社,2008.
[5]黄玉明,毛宇光.数据仓库中多重粒度划分的层次编码解决方案[J].计算机发展与技术,2008(10).
[6]许学军.数据仓库中数据的粒度划分[J].阜阳师范学院学报:自然科学版,2006.
[7]李静.数据仓库中的数据粒度确定原则[J].计算机与现代化,2007(2).
数据仓库参考模型研究 篇4
关键词:分级安全模型,静态安全配置模型,动态安全配置模型,一致性检测
0 引 言
以数据仓库为基础的商业智能系统强大的功能在证券业、银行、税务、金融领域、保险、客户管理等领域得到了广泛的应用, 带来丰硕的成果。它通过对企业的多维数据进行多层次、多角度分析, 辅助决策人员透过数据表象发现隐藏的规律, 从而指导经营决策。伴随着数据仓库数据量的增大和数据挖掘技术的不断成熟, 数据仓库中数据的价值也在不断增加, 这使得数据仓库的安全模型及控制技术的研究对组织和个人来说都相当重要。
安全模型是一种安全策略的表达模型, 是一种高层抽象、独立于软件实现的概念模型, 用于精确的描述系统的安全需求和安全策略的有效方式[1,2]。在数据库安全访问控制方面, 目前比较成熟的安全模型大部分是访问控制策略模型, 如早期的自主访问控制 (DAC) 和强制访问控制 (MAC) 等, 具体的模型有HRU模型、取予模型、动作实体模型、BLP模型、BIBA模型等[3,4], 它们在数据库完整性和机密性方面取得一系列的成果。自20世纪90年代中后期以来, 单一安全策略模型已无法满足多样化的安全需求, 因此提出了以“访问控制通用框架”为典型代表的多安全策略的支持研究工作, 值得一提的是1992年Ferraiolo和Kuhn在发表的文章中, 提出了基于角色的安全, 但他们没有提出完整的RBAC的概念。Ferraiolo等和Sandhu等分别在1995年和1996年提出了有关RBAC模型的早期形式化定义 (RBAC96模型) 。从此大量的研究工作对RBAC模型进行扩展和研究, 如RBAC的管理研究、RBAC的功能研究以及RBAC在其他访问控制模型中的研究等[5]。尽管有关数据安全模型在数据库领域中取得不少的研究成果, 但是对于数据仓库的安全模型的研究工作却是相对少见。分级数据库安全研究的重点在于如何在数据库系统中实现分级安全, 即如何将传统的关系数据库理论与分级安全模型相结合[6]。在关系数据库中, 多级关系安全模型的三要素是多级关系、多级关系完整性约束以及多级安全操作, 因此多级访问控制的粒度分为关系级、元组级与属性级, 在不同的级别, 多级数据库安全级别标志不同的安全标记, 以保证实施信息敏感程度的标志[7]。然而这些理论的成果难以直接适用于安全数据仓库。模式结构主要以多维数据模式为特征, 它的操作主要是支持决策的切片、切块、向上聚集、向下钻取等操作, 这与传统的关系数据库有着根本的不同[8,9]。本文从基于角色出发, 提出一种基于角色的数据仓库分级安全模型, 并给出其形式化表示及访问控制检测算法。
1 RBAC及其分级安全扩展模型
1.1 RBAC核心的形式化描述
关系数据库中的RBAC核心模型, 包含五个基本的静态集合, 用户集 (users) 、角色集 (roles) , 对象集 (objects) 、操作集 (operators) 和特权集 (permissions) , 以及一个运行过程中的动态维护的集合——会话集 (sessions) 。角色是RBAC模型的中心, 是用户和特权之间的桥梁。用户分配 (UA) 和特权分配 (PA) 使用户与特权关联起来, 如图1所示。
上述集合通过一些操作关联起来, 分别如下:
1) 用户分配 UA⊆USERS×ROLES, 记录管理员为用户分配的角色。
2) 特权分配 PA⊆PERMISSIONS×ROLES, 记录管理员为角色分配的特权。
3) 用户登录 user_sessions⊆USERS×SESSIONS, 记录用户开启的会话。
4) 激活与去活角色 session_roles⊆SESSIONS×ROLES, 用户可以在会话中激活某个角色或者去活已经激活的角色。
1.2 基于RBAC的分级安全扩展模型
在基于RBAC的分级安全扩展模型 (如图2所示) 中, 与图1相比, 将传统RBAC模型中的角色和访问对象元素都被赋予一个安全级别。安全级别由密级和类别集合组成, 如密级可以是绝密、机密、保密、普通等。赋予角色主体的安全级别称为角色的可信度。赋予客体的安全级别称为对象的敏感程度。
定义1 级别函数f:O∪S→L, O为所有客体的集合, S为所有主体的集合。L为所有安全集级的集合。f是一个级别函数, 输入主体或客体, 输出安全级别。
2 基于角色的数据仓库分级安全模型
基于角色的数据仓库分级安全模型是实现数据仓库分级安全访问控制的理论基础, 它的目标主要是通过扩展传统的RBAC模型, 提出基于多维数据仓库的多级安全访问控制模型, 建立一种基于角色的专门针对数据仓库多维数据信息敏感度进行分级的形式化方法。
2.1 多维数据仓库的结构模型
多维数据仓库结构模型是数据仓库分级安全模型的基础, 它通过形式化描述数据仓库的基本结构, 以便于以后各种分级安全模型的形成。在数据仓库访问控制模型中, 安全对象的主体是角色, 安全对象的客体是维 (层次) 、属性和立方体。安全结构模型主要是通过对安全对象模型进行形式化的描述。
定义2 维模式Dschem是一个四元组 (TD, Πd, ALL, βD) , 其中TD={TiD|i = 1, 2, …, mi}为其维层次类型集合 (是层次名, 如省) ;πD是定义在TD上的一个偏序关系, 描述维中层次之间的高低级关系, 用a≯b表示在维模式中a层次比b高;ALL是该维模式的顶层维层次, 它具有最高抽象级别, 含有唯一的元素all;βD为该维的底层维层次, 其粒度最细, 在一个特定的维模式中βD是唯一的。
定义3 维D 是二元组 (CD, P) , 其中CD为维度结构层次的集合, 记作 CD={CiD|i = 1, 2, …, m} (m为维TD的层次数) 。如在行政区划维中, CD={国, 省, 市, 镇, 村}。维度量P用于标记特定维层次上具体取值的集合, 记作CiD。
为方便表达, 说明函数或符号如下:
维层次取值集合CD用来标记维度各个层次各个取值的总集合。即CD={C
维层次取值函数 ei={ei∈CiD} (行政区划省层次取值, 包括广东省、湖南省…) , 维层次类型 TiD 函数 Level:∪iCiD→∪iT
AncD (c) 用来表示维度D某个层次取值c的父层次取值集合为, DescD (c) 用来标记维度D特定层次取值c的子层次取值集合。
2.2 数据仓库维度分级安全模型
数据仓库维度分级安全模型是单个维度上的分级安全管理授权结构。
定义4 维度分级安全模型DM是一个四元组, DM= (TD, R, SS (D, R) , △) , 其中维度安全分级设置函数SS (D, R) :TD×R×O→P, 用来对特定个角色对特定维的安全权限控制设置。△是描述在指定维度上信息敏感程度变化关系。△∈{DEC, INC}就可以用来描述角色对指定维度信息敏感程度是递增或递减关系。
定义5 数据仓库维度分级安全模型DMS={DMk| k= (1, …, m) }, DMk= (TDk, R, S (Dk, R) , △) 。
如图3用来指定角色R对维度行政区划上的安全模型。
2.3 数据仓库分级安全管理基础模型
数据仓库分级立方体安全管理基础模型是指按照数据仓库各个维度安全模型自动生成的数据仓库分级安全管理模型。
定义6 数据仓库分级安全管理基础模型BM= (T, R, SM (G, R) , β) , 其中 T=∪k TDk是数据仓库所有维TDk中各个层次的集合;R是指特定的数据仓库角色;G为数据仓库立方体的结构的描述, 即G=Πk TDk= TD1×TD2×…, k=1, …, m, m为数据仓库的维度总数。SM (G, R) 是多维立方体结构安全级别设定函数SM (G, R) :G×R×O→P, 它描述在角色R对多维结构G中每个数据立方体中数据的敏感程度。β是指各个维度层次敏感程度冲突的消解函数, β={min () , max () }, 表示取数据立方体各维度信息安全级别最低或最高值。
假设数据仓库存在四个维度, 其β是指各个维度层次敏感程度冲突的消解函数取max (TDi) , 各个维度对角色R的信息敏感程度分别如下所示:
a维:a1 (0.5) -a2 (0.6) -a3 (0.7) -a4 (0.8)
b维:b1 (0.7) -b2 (0.6) -b3 (0.5)
c维:c1 (0.8) -c2 (0.9) -c3 (1)
d维:d1 (0.9) -d2 (0.7) -d3 (0.6)
按多维立方体结构安全级别设置函数, 自动生成的立方体信息敏感程度如图4所示。
2.4 数据仓库分级安全管理配置模型及其检测算法
1) 数据仓库分级安全管理配置转换
数据仓库分级安全管理配置模型是指在数据仓库使用过程中, 人为调整维度或立方体中信息的安全级别使用的模型。例如用户在使用的过程中需要改变某个维度层次的安全级别, 这就需要对数据仓库立方体相关的安全度量进行重新调整, 将调整后的模型称为分级安全管理的配置模型。在数据仓库分级管理配置模型的管理过程中, 需要对信息对角色的敏感程度调整做出检测, 以避免转换过程中产生的安全级别不一致甚至矛盾。
定义7 数据仓库分级安全配置转换为MSM: (T, R, SM (G, R) ) → (T, R, SM’ (G, R) ) , 即在同一个元数据结构T和同一个角色R下, 改变G上角色R上权限设置。
2) 数据仓库分级安全管理配置转换检测算法
数据仓库管理员对基本模型的安全属性进行调整后, 需要利用安全管理配置检测算法判断数据立体的安全属性是否违反各个维度的安全属性约束关系, 其思路是在配置模型CM中, 比较每个安全属性的新值与所以相关维度层次的每个父辈层次/孙辈层次的信息敏感程度取值关系, 判断有没有违反维度安全模型DM中安全属性的偏序关系。
输入:SM (G, R) (g, r) =p1, 调整单维某层次的安全属性, 即SM’ (G, R) (g, r) =p2 (p1≠p2)
输出:调整M是否违反DM中对各个维上所定义的权限偏序关系;如违反, 则警报或拒绝。
算法描述:
For (role∈R and (operation∈Σ //对每个角色的各种操作
For (CurCube∈MBM (T, R, SS′ (G, R) ) : //对MSN中每一个手动设置的权限进行检测
PrivilegeOfCurrentCube=GetPrivilegeFromCM (CurCube, CM, role, operation) ; //取某角色对本数据立方体执行特定操作的权限
DevideVector (SS (T, R) ) ={ CA
For (c∈{ CA
GetDevisionByValue (c) =TD2; //取这个维度取值所对应的维
Trend=GetTrendByDevision (T D2) ; //对当前维度, 取该维上的权限变化趋势 (根据DM上的定义)
For (a∈AncD (c) ; //获得该维上其所有父层次的取值
ReplaceElement (c, a, { CA
//用父亲层次中的每个父层取值来取代原来的层次取值, 从而找到比要检查的数据立方体在维度Di上层次大一级的数据立方体
NewCube=CompositeVector ({CA
PrivilegeOfAnc=etPrivilegeFromCM (NewCube, CM, role, operation) = SS′ (T, R) ( C
//获得在CM定义中, 某角色在父层数据立方体执行特定操作的权限
If ( (PrivilegeOfAnc> PrivilegeOfCurrentCube) and Trend=INC) or
( (PrivilegeOfAnc< PrivilegeOfCurrentCube) and Trend=DESC)
//若经手工设置后, 在当前维上, 父立方体的权限比本立方体的权限大, 则当前的权限变化趋势是递增的;或权限变小而变化趋势是递增的, 那么手工权限设置违反了原来定义在数据仓库中本维上的权限变化趋势, 则出错
Then
ErrorException () ;
For (d∈DescD (c) ; //对该维上的所有子层次取值, 也执行类似的操作
2.5 分级数据仓库管理的RBAC敏感数据安全访问算法
分级数据仓库安全管理的敏感数据安全访问控制算法用于指出某个用户是否有权限访问数据仓库的立方体结构数据来完成OLAP的操作。算法描述如下:
输入配置:用户U、角色R、用户-角色URA、操作Σ、角色操作ROA、数据对象体系C、CM (权限设置) 。
输入参数:当前用户r、当前操作p、当前对象d= (C
输出:true/false权限判断成立与否。
RoleSet = FindRoleFromURA (r, URA) ;
For (roleCheck∈RoleSet:
OprSet=FindOperationFromRole (roleCheck) ; // OprSet是用户r //所有被分配角色上所有可以执行的操作
If not (p∈OprSet) then
//若r的所有可执行操作中没有p, 则可直接判断无权限
return false;
//从CM中用户r是否有执行操作p的可能
GetPrivilege FromCM (d, CM, role, operation) ;
//由于CM中已经是按“ (立方体, 角色, 操作) →权限”的结构进
//行记录和存放。
3 小结与展望
文章给出了基于角色的数据仓库分级安全模型的形式化及组成, 并给出了基于维度安全模型的数据仓库分给安全基础模型和管理模型, 基于角色的分级数据仓库访问控制算法算法。下一步工作是将分级安全模型和多维查询语言MDX集成起来, 扩展OLAP操作, 形成一种基于分级安全的数据仓库OLAP操作平台。
参考文献
[1]Remzi kirkgoze, NevenaKatie, MladenStolba.A Security ConcePt forOLAP.IEEE Computer, 1997:53-59.
[2]张敏, 徐震, 冯登国.数据库安全[M].1版.北京:科学出版社, 2005.
[3]NKaticG.Quirchlnayr.APrototyPe Model for DataWarehouse SecurityBased On Metadata.IEEE Computer, 1999:68-79.
[4]徐兰芳, 潘芸.数据仓库安全需求模型研究[J].武汉:华中科技大学学报:自然科学版, 2005 (7) .
[5]马艳飞.基于角色的数据仓库安全模型与实现[D].昆明理工大学, 2008.
[6]Sandhu R, Bhamidipati V, Munawer Q.The ARBAC97 model for role-based administration of roles.ACMTrans.on Information and SystemsSecurity (TISSEC) , 1999, 2 (1) :105-135.
[7]Oh S, Sandhu R.A model for role administration using organization struc-ture[C]//Sandhu R, Bertino E.Proc.of the 6th ACMSymp.on AccessControl Models and Technologies (SACMAT 2002) .Monterey:ACMPress, 2002:155-162.
[8]Crampton J, Loizou G.Administrative scope:A foundation for role-based administrative models.ACM Trans.on Information and SystemSecurity (TISSEC) , 2003, 6 (2) :201-231.
基于数据仓库模型的运营分析系统 篇5
进入21世纪,信息科技迅猛发展,市场瞬息万变,企业要想在激烈的市场竞争中立于不败之地,就需要对客户和市场的信息做出快速、及时地搜集与响应,同时对自身的运营状况也要做出全面的预测与分析。企业要想通过信息化的手段,按照自身的需求以全方位、精确的粒度来分析自身生产、经营的情况,使用数据仓库是一个行之有效的方法。
本系统的设计完成了从类似于ERP等相关的联机业务系统(OLTP)到联机分析系统(OLAP)的数据抽取与清洗(ETL)过程、运营分析系统基础数据的定义过程、数据仓库模型的建立过程以及分析指标的多维度查询与分析过程四个步骤。四个步骤紧密相连、相互支撑、缺一不可,共同构建起基于数据仓库模型的运营分析系统。
1 基本概念
1.1 运营分析系统
本系统为企业的中高层管理者提供及时、全面、详细的综合数据分析。为企业的决策层分析企业经营状况,制定战略计划,以及考核体系提供最全面的分析结果。
1.2 数据仓库
数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
面向主题:操作型数据库的数据组织是面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。
集成:数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
相对稳定:数据仓库所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
反映历史变化:数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
2 系统软件平台及构造
2.1 软件平台
软件主要包括前台展现页面、WEB应用程序服务器、后台数据库系统。其中前台展现页面是基于B/S架构的JSP页面;WEB应用服务器使用IBM公司的WebSpere Application Server 6.0;后台数据库使用Oracle 10g 10.2.0。
2.2 系统结构
图1展示了基于数据仓库模型的运营分析系统的体系结构:其中ETL包括:数据抽取、转换、清洗、过滤、装载这几个步骤;业务数据经过ETL的过程,以另一种方式存入一个逻辑上独立于业务系统的新数据库中。这个数据库对业务系统是完全封闭的,并且是按照待分析的指标存放在多个类似于“数据集市”的多个表中。基于海量的分析数据,我们按之前设定好的参数来进行数据仓库模型的建立,也就是所谓的“多维度”的数据模型,模型建立好以后,就可以在模型框架的基础上进行多角度的海量数据的查询分析。
结构特点:
1)独立性
本系统和外界的业务系统是完全独立的、不依赖于某种特定的业务系统而存在的。数据的抽取实际上是实现和外部业务系统的数据接口,而接口是可以由多种方式来实现的,如数据库后台的存储过程、JAVA程序等。
外界业务系统数据的变化也不会实时的、直接的影响到分析系统的数据,分析系统反应的只是某一个时点上业务数据的情况。
2)安全性
由于系统数据存放在独立于外部业务系统的数据库中,拥有外部业务系统访问权限的用户不一定可以访问分析系统。本系统通过基础数据定义中角色的授权来控制访问、查询分析分析数据的权限。对于后台存储的数据也进行了加密的处理。
3 系统的多维度数据模型
多维度结构模型是基于多张维度表和一张事实表的星型模型结构,如图2所示。每个维度表存放的是按属性分类的维成员。如时间维度表中的时间维成员有:2009年、2008年、2007年...组织维度表中的组织维成员有:销售部、国际业务部...往来单位维度表中的维成员有:客户A、客户B、客户C...那么在指标事实表中的数据就可以查询到如“2008年国际业务部与客户A所签的订单额度”、“2009年销售部与客户C所签的订单额度”、“2009年所有部门与所有客户所签的订单额度”...
可见每个维度表的主键构成了事实表的外键,这样的结构保证事实表中存在每个维度的每个维成员组合的数据。我们可以把事实看成是各个维交叉点上的值。
我们把业务系统中待分析的数据归类,每一类称为一个“指标”。如销售收入、成本总额、应收账款都是指标,指标之间大多数没有彼此的关联,但有一类指标是需要通过其它指标的公式计算得到数据值的,如主营业务利润率=主营业务利润/主营业务收入×100%。所以我们把指标分为非计算类指标和计算类指标两大类。而非计算类指标的数据值来源于业务系统。
4 运营分析系统的设计
4.1 ETL数据抽取、转换、装载模块的设计
系统设置自动的数据库任务,定时地执行存储过程(或者通过定时启用JAVA的线程)将外部业务系统中的数据写入到每个指标的中间表中。
4.2 基础数据定义模块的设计
基础数据定义的步骤:
1)定义分析指标及相关属性
2)定义统一的维度与维成员
3)定义与每个指标相关联的维度与维成员
4)定义系统角色,为角色指定有权限的指标与维成员
5)定义登录系统的用户分配角色
4.3 数据仓库建模的设计
1)生成每个指标的维度表
2)生成每个指标的事实表
数据仓库的建模需要根据基础数据的定义模块的相关数据,由指标与维度的关联可以动态生成每个指标的维度表;由指标与维成员的关联可以生成每个指标维度表中的数据;由每个指标的维度表可以动态生成其事实表。
4.4 数据查询与分析的设计
数据的查询与分析其实是对所有指标在多维度模型上的一个展示。包括某个指标在同一个维度的不同层次的维成员上做“上卷”、“下钻”的查询操作、某个指标在某年度的指标值进行“同比”、“环比”的查询操作。此外,针对分析查询的结果,系统支持多维度报表的生成、打印等功能。
5 结论
本系统将企业的联机业务系统与联机分析系统很好的联系起来,定义灵活、人机交互界面友好。解决了企业管理者以灵活的方式从各个角度全方面的了解企业生产运营状况的需求。提高了其决策的效率,降低了分析的成本,反应了企业存在的问题。为今后企业的发展方向与领导的决策提供了准确的数据依据。
摘要:本文介绍了运营分析系统及数据仓库的基本概念,系统软件平台的结构特点,特别重点阐述了数据仓库的多维度结构的模型,又简要描述了系统整体的设计思路。将整个系统从模型的建立到系统设计的实现有机地结合了起来。
关键词:数据分析系统,多维度模型,多维度查询与分析
参考文献
数据仓库参考模型研究 篇6
“19世纪是铁路的时代,20世纪是高速公路的时代,21世纪是网络的时代”。网络环境下的各种应用,不管是资源管理、数据服务还是信息处理等方面都必须由多个进程协同完成,而进程的协同必须频繁地进行数据交换,尤其是海量的大规模数据服务,它包括数据的访问和控制,海量数据的拷贝、管理和计算。这对数据的及时存储与传输提出了很高的要求[1]。同时,随着当前数据大规模的增长和数据多样性等特点,如何快速响应多用户对海量数据的请求和多任务并行处理以及如何实现海量数据有效的网络数据传输是整个系统的关键技术。
开发网络应用程序的难点在于如何开发一个高效的网络服务器,使其尽最大可能为更多的网络客户提供服务。要设计与开发一款高性能的服务器,必须采用高效的网络I/O模型。并且,使它具备高稳定性和可扩展性,这很大程度上取决于网络通信层的性能。
有限的网络带宽和海量的数据构成了信息个性化网络服务的一大技术屏障,亦对网络境下数据的表达、传输、检索与共享提出了新的挑战[2]。学术界与工业界都对此进行了相关研究与设计工作。SkyLine的Terra Gate网络服务器同时传输海量数据到众多终端用户,其能在互联网上通过可变带宽来无缝进行,而不会收到网络连接的反应时间或中断的影响[2]。该技术对C/S模式进行了优化,能够处理数以千计的并发用户同时接入数据,并且具备较强的可扩展性,允许实际中位于不同位置的多个服务器可以同时处理海量数据并且自动地分配负荷。而2006年Google的Sisi Zitan所设计的服务器端和客户端通信双方之间不是直接传输数据,当用户请求数据时,服务器不需要实时生成数据,而是根据用户请求,在服务器端选择预先生成好的图片等文件,拼接成满足用户要求的范围,返回给用户。这种模式可以大大降低网络和服务器的负荷,为变化相对稳定的空间数据发布提供了新的思路和解决方案[3]。但其针对数据传输的过程中,客户端直到数据下载完毕才能进行其他的操作。上述软件传输方式的不足之处在于响应时间长、传输模式单一,难以满足客户端设备和网络设备的多样化的需求,网络渐进传输逐渐开始受到关注。目前的主流技术方案与网络数据传输软件基本都支持C/S或B/S模式的网络应用,传输方式的不足之处在于响应时间长、传输模式单一,难以满足客户端设备和网络设备的多样化的需求,网络渐进传输逐渐开始受到关注。
本文所设计的异步网络通信传输方法主要采用ACE Proactor搭建异步网络框架,利用线程池技术并行处理消息,同时分析了海量数据传输时的特点以及满足实时可视化等应用需要的前提下提出的,为海量数据的多用户/多任务网络传输提供了一种参考模式。
1 常见的网络I/O模型
网络通信模型的选择直接决定了网络应用软件的能力。软件设计者通常需要考虑软件应用背景来选择合适的网络通信模型。目前比较常用的网络通信模型如下:
(1)阻塞I/O
Socket的读或写事件设置为阻塞模式,当Socket不能立即完成这些事件时,进程或线程进入等待状态,直到操作完成。其工作流程如图1所示。
这种模型占用的系统资源少,具有很高的响应速度,并且控制起来也很简单,在连接数较少的时候非常有效。但简单也带来一些缺点,程序在数据到来并准备好以前,不能进行其他操作,需要有一个线程专门用于等待,这种代价对于需要处理大量连接的服务器而言,是很难接受的。
(2)非阻塞I/O
把Socket的读或写事件设置成非阻塞模式,当读或写事件发生却无数据操作时也不会一直等待,而是立即返回特定错误,工作流程如图2所示。
这种模式可以解决因连接较多产生大量处理线程并造成系统负载压力过大的问题,但在实际应用中需要不停的查询,而这些查询大部分可能是无必要的调用,白白浪费了系统资源。因此并没有广泛应用于实践。
2 多用户/多任务并发的海量数据异步通信的体系框架
本节将从通信架构和通信流程两方面阐述针对海量数据的异步通信的体系框架:通信架构主要阐述客户端和应用服务器端网络通信的结构和实现方法。通信流程主要阐述在客户端、应用服务器和数据库服务器多层架构下,三者之间的通信过程和交换步骤。
2.1 异步通信的架构
在客户端、应用服务器和数据库服务器多层架构下,应用服务器和数据库服务器之间通过数据库查询接口进行通信。多层架构下的海量数据异步通信架构如图3所示。
整个应用服务器的设计分为两层:逻辑处理层和网络层。逻辑处理层由缓存模块和并行调度模块组成。缓存模块主要功能是将常用数据缓存到内存,以减少频繁访问数据库和磁盘所带来时间上的消耗,缓存数据常驻在内存中。并行调度模块主要功能是通过多线程并行执行的方式从数据库或缓存中获取目标数据,并将这些数据序列化为字节流的形式供网络层进行数据传输。
网络层功能包括:网络监听、消息处理和数据传输。ACE Proactor模式能够异步的监听网络连接、网络读与写等网络事件。网络读事件是指应用服务器端监听并接收所有客户端的消息。在所有的消息优先级都相同的海量数据网络通信时,可以按照“先来先服务的原则”,以消息队列的方式进行缓冲。管理和处理消息采用并行的半同步/半异步线程池策略设计。该设计可以分为以下三层:
异步层:一条线程;负责接收异步请求(主要是指客户端消息)。
排队层:一个队列;负责对请求进行缓冲(建立消息队列实现)。
同步层:线程池;多条线程阻塞在排队层上,有序的从消息队列中取出消息进行处理。
上述分别从逻辑组成和功能两方面分析了应用服务器端和客户端通信机制,如图4所示。
2.2 异步通信流程
客户端、应用服务器、数据库服务器多层架构下的工作流程步骤如下:
步骤1开启客户端、应用服务器端通信监听服务和数据库服务器服务功能,动态配置服务器端通信线程池和调度线程池的参数;
步骤2应用服务器端监听到客户端的连接请求后,接收客户端发出的连接消息,解析连接消息的参数,验证参数是否正确,如果正确,返回连接成功信息,建立客户端与服务器端的连接,进入步骤3,否则返回连接失败信息;
步骤3服务器端接收多个客户端发送的数据查询消息,将消息加入消息队列的后端,从通信线程池中取出线程依次处理消息队列中的消息;
步骤4通信线程将解析的消息转换成数据库查询的任务,加入到查询任务队列的后端,并等待返回数据查询结果;
步骤5从调度线程池中取出线程依次执行查询任务队列中的任务,向缓存中读取数据,如在缓存中找到目标数据,则进入步骤6,否则,向数据库中读取数据;
步骤6调度线程将数据返回给通信线程,并重新归入调度线程池。通信线程将返回的数据序列化为字节流的形式;
步骤7通信线程根据获取数据的数据量大小选择不同的传输方式将数据发送给客户端;
步骤8客户端接收数据,进行数据重组和解序列化的操作,得到待查询的三维空间数据对象。
具体的工作流程如图5所示,实线表示各个端内部的流程逻辑,虚线表示端与端之间的交互。
3 支持多用户/多任务并发的异步通信关键技术
3.1 网络传输中粘包的处理方法
在使用TCP协议的网络应用中,不可避免需要处理的一个问题就是粘包的情况。出现粘包现象的原因是多方面的,它既可能由发送方造成,也可能由接收方造成。
发送方所造成的粘包现象的原因是TCP协议的设计本身。根据TCP协议,只有当收集到的数据达到一定数量时,发送方才会发送本包数据,以提高效率。如果连续发送的数据量较少,根据协议则会将这些数据合成打包处理,从而造成了接收方的粘包现象。
接收方所造成的粘包现象则是由于接收机器上程序进程没有及时接收数据,将数据滞留在系统缓冲区中,当传输的下一包数据到达时,前一包仍然没有被接收,则下次用户线程进行接收时,则会根据用户缓冲区的大小将缓冲区中的数据全部取走,从而导致了多包数据粘包现象。
粘包现象处理方法大致有两种:
(1)将接收端的系统缓冲区的容量增大,在缓冲区中储存全部的接收到的数据包,然后从中筛选出完整的数据包。可以采用环形缓冲区的方式进行实现优化,避免频繁的数据移动。
(2)预先定义固定的包头结构体,其中包含数据包的长度信息。在接收方接收数据的时候,先接收该包头数据,然后再接收指定长度的数据体。
在自适配通信环境ACE(Adaptive Communication Environment)中,用于保存消息的内存基础类ACE_Message_Block有一个重要的特性:复合。它可以将前后收到的两个数据包体连成一个复合体,形成一个单链表,而不用建一个大的数据包将两个ACE_Message_Block拷贝进去。下面的示例采用ACE的Proactor框架完成,给出了服务器端作为接收方时粘包及半包的处理关键算法:
3.2 基于线程池的消息并行处理技术
当多用户并发且客户端与服务器端通信频繁时,服务器端需要处理大量的客户端请求。服务器按照处理请求方式的不同可以分为反应式服务器和并发式服务器。
反应式服务器对所有的客户消息采用一条线程进行处理。在操作系统尚未大规模引入多线程处理前,通常采用同步事件多路分离的策略来进行并发处理,其机制为一个单线程进程依次循环处理多个服务请求。该处理方式实现简单,但不适合并发用户较多、通信双方交互频繁的实际应用。因为服务器端事务处理效率低下,吞吐量极小,并发访问时消息响应时间过长,从而无法满足用户的要求。
并发式服务器是指用多线程技术并行地处理所有客户端的请求。该处理方式可以分为三种情况:
(1)为每一个客户请求开一条线程,从而更好的处理并发地客户请求。当创建新线程后,主线程继续监听新请求,工作线程继续处理客户的请求。
(2)一个连接一条线程(thread-per-connection):主线程侦听请求,工作者线程则处理来自这个连接的客户请求。
(3)线程池技术(thread-pool):预先创建一定数量的线程,线程开启后全部放入线程池队列,这些线程启动后均处于阻塞状态,不消耗CPU,仅占用较小的内存空间。当消息到达后,线程池从空闲队列中选择一条合适的线程去执行该消息。
前两种情况虽然都能并行地处理客户请求,处理请求或连接较少的应用时都有优势,但都存在致命的缺陷:一方面,动态的创建和销毁线程需要大量的系统额外开销。另一方面,当请求或连接较多时,这两种情况都会造成服务器端开启较多线程,从而给服务器带来较大的负载压力。而线程池技术在预先已经创建固定数目的线程,能够避免上述二方面的缺点。因此使用线程池技术并行处理消息的并发式服务器是支持多用户/多任务并发的理想服务器模型。
线程池技术按照其工作方式分类,分为两类:半同步/半异步模型和领导者/工作者模型。在半同步/半异步模型中,一组工作线程处理请求,一个侦听线程进行请求的监听,并缓冲至队列。因此接受请求的线程与处理请求的线程并不相同。而在领导者/工作者线程中,一个线程作为领导者线程,首先获取请求;其他的作为跟随者会被选择一个作为新的领导者继续对请求进行处理。因此接受请求的线程就是处理请求的线程。在异步网络通信时需要将消息缓冲到消息队列进行处理,而同步通信时无需创建消息队列。因此半同步/半异步模型适用于异步通信,领导者/工作者模型适用于同步通信。
线程池中线程的数目取决于系统能够承受的数目,单就对于模型本身来说,线程池的线程数目越大,能够承受的网络蜂拥的极限值也越大。但是如果执行每个请求的时间都很短,则系统中存在大量永远也用不到的线程,浪费了系统的资源。线程池中线程数的设定要根据系统的负载来动态的调节,既要防止系统资源(CPU)被耗尽,也要保证能够及时响应。通常是设置一个上限(如进程使用了80%的CPU)和一个下限(如10%的CPU)。这样,既保证有足够的线程用于服务,又可以防止系统反应过慢。通常应该由实际应用情况来确定。
4 实验测试分析
4.1 实验环境
为验证基于本文所研发的网络通信模块的科学性与有效性,本文在对该模块在实际的应用环境中进行了实验测试,分别测试了在百兆和千兆网络环境下单用户和多用户访问时数据传输效率。其中对于多用户访问的测试,并未实际在多台主机运行客户端程序,而是采用工业级测试软件Loadrunner来虚拟生成多个用户。实验环境如表1所示。
4.2 实验数据
实验数据:城市某小区的三维空间数据约2.0 G,数据类型主要包括Feature数据、材质数据、纹理数量、共享模型数据、DEM数据、DOM数据和其他属性数据。其中,Feature数据对象个数为906个,数据量约为167M;纹理数据数据对象个数为1131个,数据量约为1.5G;DEM数据量极小,可以忽略不计;DOM数据约为150M。DEM数据按照65×65分块、DOM数据按照256×256分块。
4.3 实验结果与分析
应用服务器是客户端与数据库服务器的中间件,主要由网络通信服务器模块、并行调度模块和缓存模块组成,缓存模块在测试时开启1G内存,主要存储部分Feature数据和纹理数据。其中通信服务器线程池和调度模块线程池分别开启10条线程。
百兆网环境下多用户数据平均传输效率实验结果如表2所示。数据传输效率是指某段时间t内所传输的某种类型的数据量与时间t的比值。数据平均传输效率是指测试3次求得数据传输效率的平均值。
百兆网环境下采用同样实验数据,在20个客户端条件下,与文献[2]中所提到的两个方法传输速率对比如表3所示。
千兆网环境下多用户数据平均传输效率实验结果与对比如表4和表5所示。
在用户数据量小于10时,尽管应用服务器端通信线程池启动10条线程并行处理消息,随着用户数的增加,也会对消息响应时间造成一定影响。原因一方面是线程从消息队列中取消息时需要加锁,另一方面多线程在发送数据给客户端时调用数据分包和发送数据函数时需要加锁。加锁机制会带来时间上的延迟,从而降低了消息响应时间,影响数据传输效率。在用户数大于10时,对消息响应时间的影响除了上述提及的原因以外,一方面是并发消息数大于线程数量,导致消息需要在消息队列中排队等候空闲的线程,造成同步延迟。另一方面用户数增加会造成应用服务器负载增加,也会降低服务器处理能力。而本文算法与Skype Terra Gate和Sisi的服务器策略的对比结果,则充分证明了本文算法在传输速率上的优势。
通过实验结果,反映了由于文献[2]中所提到的两个方法在本地OS网络通信API存在延迟等过多的低级细节、不能处理更高的复杂性等缺陷,本文研究的算法则可以以较好的速率有效地支持局域网和互联网上的数据传输,并支持多用户/多任务并发的高效服务器。
5 结语
网络的发展促进了资源共享,使得各个专业领域的海量数据的管理方式从原来的独占、集中走向了分布、共享。如何利用分布式计算平台高效地管理和使用海量数据并为大型应用决策服务已成为当今很多行业技术面临的重大课题。本文主要研究在海量数据环境中实现多用户/多任务并发的异步网络通信方法。首先介绍了各种网络I/O模型,在此基础上提出了一种支持多用户并发的海量数据的异步网络通信的体系框架和方法,并分别从架构、流程展开介绍,并详细论述了其关键技术。实验测试与分析验证了海量数据传输的高效性和稳定性,可以满足基于大规模数据的各种实时应用的需要。
参考文献
[1]Shekhar S,Ravada,Chubb D,et al.Declustering and load-balancing methods for parallelizing geographic information systems[J].Knowledge and Data Engineering,2008,10(4):632-655.
[2]R Meier.System,method and device for high bit rate data communication over twisted pair cables[J].US Patent,2012,3(5):24-28.
[3]Wan C,Cheung R,Wong S.A communicaton system for Massive Multiplayer Online Game[C]//Signal Processing,Communication and Computing(ICSPCC),2012:400-405.
[4]He Zhengwei,Jing Chen,Huayi Wu.Management and services for large-scale virtual 3rd urban model data based on network[C]// 2010.Guangzhou,China:SPIE:35-36.
[5]Hugues Hoppe.Smooth View-Dependent Level-of-Detail Control and its Application to Terrain Rendering[C]//IEEE visualization 2009,Oc- tober 2009:35 -42.
[6]杨必胜,李必军.空间数据网络渐进传输的概念、关键技术与研究进展[J].中国图象图形学报,2009,14(6):1018-1026.
[7]侯建,帅仁俊.基于云计算的海量数据存储模型[J].通信技术, 2011,3(7):35-38.
[8]李涛,李慧,古建华.基于ACE的并发编程模式和池式内容分配的研究[J].计算机工程与设计,2006,27(1):26-28.
[9]李宜达,李毅.基于ACE的分布式服务器集群系统框架的设计与实现[D].四川:电子科技大学,2009,6-10.
[10]李青元,林宗坚,李成民.真三维GIS技术研究的现状与发展[J].测绘科学,2000,25(2):47-51.
数据仓库参考模型研究 篇7
要实现水利事业的可持续发展,建立国家级的水文数据中心就是其中的一个重要方面,做到水文数据的采集单位和科研单位等各方面的水文数据的规范化和一体化,成为水文信息共享的迫切需求[1]。但是,当前由于水文数据主要是为了各个部门的业务运营服务,来源不同,采集方法和加工方法也有别,缺乏统一的分类标准和信息编码方案,而且现在的信息处理主要以业务为主,数据使用完就会被丢弃,由于现在决策分析的需要,对历史数据的需求与日俱增,因此历史数据的存储和处理是目前研究的重点和难点[2]。
业务目标单一,数据源的异构,无法实现水文信息的共享,不能很好地支持综合决策分析,“数据丰富而知识贫乏”的局面已经出现[3]。然而激增的水文数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据。为了达到以上要求,需合并不同类型的水文数据,建立一体化的水文数据体系,为用户提供统一的数据视图。面向分析和决策支持的新一代水利业务应用的数据仓库技术已经兴起,并开始在水文领域得到广泛运用。在水文信息数据仓库的建设中,只有在成功实现水文信息的组织和抽取之后,水文在线分析处理(OLAP)和数据挖掘(DM)才能很好地发挥作用,从而建立水文领域行之有效的分析决策环境。
1 信息组织和水文信息组织
根据一定的原则和方法,对信息进行序化和优化,实现信息从散乱到有序的改变,以此来保证用户可以对信息的高效获取和应用的过程就是信息组织。信息组织属于管理的范畴,是信息资源管理的一个组成部分和特殊形式,是在漫长的信息化过程中诞生的。在人类社会的发展过程中,信息也逐步的积累起来,随着信息量的巨增,自然而然地出现了专门研究怎么来组织信息的学科,而这门学科主要的研究目的就是运用一定的方法和手段组织这些海量信息,方便用户能够按照自己的需求快速地获得所需的信息。
根据信息组织的定义,水文信息组织即对采集的水文信息进行分类,序化和优化的过程。目前水文信息组织主要有两种不同的方式,一种是国内为方便面向特定应用的系统开发依据《水文年鉴》进行组织的,另一种是美国的“原始化”数据存储,即采集到的什么数据就存贮什么样的数据。两种方式有各自的优势,也有不足。国内的这种从工程视角进行的信息组织能很好地适应特定应用系统,但是这样的信息组织方式不可避免地会造成信息的损失,且水文数据分散于各个部门中,没有形成完整的数据体系,不利于面向多种主题的在线分析和数据挖掘应用。美国的 “原始化”的数据存储的好处是能最大限度地保留采集到的数据中所包含的水文信息[4],但是,这样的存储方式带来的弊端就是它不针对具体的主题分析组织数据,这样的数据很难适用于特定的业务分析,往往要花很大的代价提取应用分析所需的数据。近些年来,欧洲的对水文信息组织就相对合理,兼顾了两种不同的组织方式,一方面它发布类似美国的统一的数字化水文数据产品,另一方面它也提供不同主题的水文数据产品,能较好地满足特定应用分析的需求,但面对主题化的分析型应用时,仍存在信息组织比较复杂的问题。长江水利委员会水文局采用“虚拟化”技术,以支持水文信息的综合性、主题化应用为目的,设计并开发了水文信息资源统一组织平台[5]。随着水文主题化业务的增加,越来越多的水文工作者提出了面向主题的水文信息组织。李剑锋[6]对多源水文信息组织进行了研究,对水文信息的组织同样采取了面向主题的策略;牟萍[7]从水文循环过程的角度出发,研究了水文信息的组织模式。陈德清[8]利用数据仓库技术,设计了水文数据仓库的总体结构。
2 数据仓库技术
2.1 数据仓库的定义
在数据仓库的发展过程中,许多人对此做出了贡献,虽然有许多不同的说法,但公认的数据仓库之父W.H.Inmon给数据仓库下的定义为:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
2.2 数据仓库的特点
(1)面向主题的;(2)集成的;(3)相对稳定性;(4)反映历史变化的。
2.3 数据仓库的体系结构
从数据仓库的概念结构看,数据仓库可以分为以下几个层次:数据源、数据准备区、数据仓库数据库、数据集市、数据访问和知识决策分析。数据仓库在创建以后,首先要从数据源中抽取所需要的数据,经过抽取、清洗、转换和装载之后,再加载到数据仓库数据库中,最后根据用户的需求发布到数据集市/知识挖掘中。当用户使用数据仓库时,可以通过在线分析处理等数据仓库应用工具向数据集市、知识挖掘进行决策查询分析和知识挖掘。如图1所示。
3 水文信息组织数据仓库模型的构建
3.1 构建目标
由于面向的是水利系统用户, 除了要向单位管理者提供各部门业务流程和运营状况等需求信息外,还应该将洪水演进、水利资源配置以及各相关设备的运行状况信息提供给管理者, 以帮助他们在关键时刻能迅速做出正确决策。
数据仓库不同于以往的数据库,它是在数据库的基础上发展而来的,但是两者在许多方面都存在着相当大的差异。数据库中数据的目标是面向业务操作人员,提供事物处理的支持,而数据仓库则是面向中高层管理人员,提供决策支持。因此,支持水文信息组织的数据仓库模型必须具备以下特征:(1)水文信息数据的主题性;(2)水文信息数据的集成性;(3)水文信息数据的不可更新性;(4)水文信息数据的时变性。
3.2 水文信息数据组织模型
如图2所示,水文信息数据仓库中的数据分为四个等级:早期细节级,当前细节级,轻度综合级,高度综合级。早期的数据进入数据仓库后经过抽取,筛选和清理,使之成为高度综合级的数据。
3.2.1 概念设计
在概念上建立数据模型,确定如何组建数据及数据之间的相互关系,以满足业务应用的需要。作为建立模型的初级阶段,概念模型主要描述与业务有关的重要实体以及相互之间的关系,本文采用信息包图来设计概念模型。信息包图由粒度,维度,事实组成,采用二维表的形式反应用户使用数据仓库进行多维分析处理的需求,涉及到所要回答的基本决策问题。如图3所示,信息包图主要提供了用户要求的一下相关联的数据。
(1)不同流域,不同时间的水位,流量,降水量,含沙量大小的分析与比较。
(2)分析不同维度的最大,最小以及平均值。
(3)预测将来同一时刻的该维度的大小。
3.2.2 逻辑模型设计
逻辑模型是通用的数据模型,它的典型产品是实体关系图,用于描述现实世界中的实体和实体间的关系,在建立了完整的信息包图表后,接下来要将信息包表转换成星形图,根据转换的原则,星型图主要包括以下的三个主要实体。
(1)指标实体:
即指明用户查询活动的主题内容,它代表一系列相关的事实。
(2)维度实体:
通常把一系列相关事实的多个属性定义为多个维,使用户能对不同维上的数据进行比较。
(3)类别实体:
类别实体通常可以转化为一个数据库表,与现实世界的实体对应,图4即为转换相对应的星型图。
水文信息主要包括:
水文要素维={水文要素值,水文要素值的取值范围,水文要素维的描述}
空间维={维度、经度、海拔和地区区域}
时间维={年、月、日、时、分}
度量属性={汇总、合计、均值、方差}
经上述方法组织的水文数据是动态可变的,根据不同预报模型的分析需求,采取不同的数据分析方式。例如要做中长期水文预报,就要将数据在不同层次的时间维度上作深入分析,寻找相关的合适因子,建立相应的回归分析方程并进行分析;如果要预报河道洪水,就应对水位、流量等在空间维度上的变化情况,以及河流上下游间的水位、流量相关关系等分析;如果是预报径流过程则更为复杂,需要全面分析流域的属性等情况,并得到相关的模型计算参数,从而代入模型进行计算和验证。
4 实验验证
经过上述的主题建模分析,得到了基于星型模型的数据组织模式。本实验以“石羊河”流域为例进行说明,如表1和图5所示。在原有的水文数据库中根据水文预报的主题抽取出分析数据,以证明本文提出的数据抽取方案切实可行。
通过以上星型模型的建立,水文预报主题数据得到了很好地组织。该数据组织模式可以方便地进行各种分析和处理,在此星型数据组织结构基础上,通过Microsoft SQL Server 2005和Office Web组件可以很方便地实现水文预报主题数据的上卷、下钻、切片和数据的插补等分析应用,并为预报人员和决策者提供多角度和全方位的信息。
5 结束语
本文提出一种新的支持水文信息组织的数据模式,经过结构设计、模型构造后,初步得到了支持水文信息组织数据仓库的数据仓库模型。在建立初步的模型之后,就可以进入开发以及试运行数据仓库的阶段。在以后的工作中,会对现有的模型进行完善和修改,并尽可能地符合实际,为水利运营者提供综合的决策服务。
摘要:分散的水文数据之间交互性差的缺点造成各独立数据源成为“信息孤岛”问题,文中就水文信息本身固有的特性进行组织,探讨建立支持水文信息组织数据仓库的模型,最后以“石羊河”流域为例,验证了模型的可用性。为数据仓库的联机分析处理和数据挖掘奠定了基础。
关键词:水文信息组织,数据仓库,模型
参考文献
[1]寇继红.水利网络信息资源组织模式研究[D].武汉大学,2005.
[2]杨明.水文信息共享的应用研究[J].东北水利水电,2009(11):41-43.
[3]范敏,岳延兵.浅析水文信息孤岛及对策[J].水利发展研究,2010(4):57-60.
[4]牛玉国,寇怀忠.美加澳法——水文信息如何共享[N].地质勘察导报,2007-01-18.
[5]陈雅莉,马勤,陈春华.虚拟化自治多源异构水文信息资源组织研究[J].水文,2010,10(5):12-15.
[6]李剑锋.多源水文信息的组织及应用研究[D].南京:河海大学,2010.
[7]牟萍.基于水文循环过程的信息特征及组织模式研究[D].南京:河海大学,2012.
【数据仓库参考模型研究】推荐阅读:
数据仓库模型构建10-11
高校财务数据仓库研究09-15
银行数据仓库06-06
数据仓库工具06-13
实时数据仓库06-30
外汇数据仓库07-01
Oracle数据仓库09-28
CRM与数据仓库06-12
高校档案数据仓库设计07-31
商业银行数据仓库建设09-11