论文部分内容阅读
由于三峡库区特殊的地质地理条件,自古以来就是滑坡灾害高发地区,特别是三峡大坝建成和三峡库区蓄水后,三峡库区地质环境受到严重的影响,滑坡灾害频发。对库区地质灾害进行有效的防治是保护库区人民生命财产安全,实现库区社会长治久安及经济、环境和谐发展的十分重要的工作。为了有效地存储、管理好地质灾害防治工程中所获得的大量的宝贵资料,为地质灾害防治管理、决策指挥提供有力的支持,自2003年开始,由三峡库区地质灾害防治工作指挥部组织开展了库区地质灾害防治信息化建设工作,目前已积累了丰富的地质灾害数据。地质灾害防治预警决策需要对大量的各类数据进行集成、融合与综合分析,传统的操作型数据库难以满足要求。而数据仓库由于其所具备的面向主题、集成性、历时性等功能,能适应快速检索查询的需要,支持数据挖掘,具有大量的前端应用工具,使之成为预警指挥系统实现决策的重要支撑。
三峡库区前期建设的各类数据库和信息系统是按业务分类而建立,彼此无关联,或关联不紧密,主要适用于事务处理,即是以数据库为中心的联机日常操作,包括对数据库文件、记录、字段一般的查询和统计分析,主要为地质灾害防治的各类业务应用服务,特点是使用的用户多,但每个用户使用的数据有限,一般只考虑某一业务处理的需要。而地质灾害数据仓库则是用于决策分析,如:多维分析、数据挖掘或知识发现、决策支持等,特点是使用的人相对较少,主要为地质灾害防治专家、主管人员和决策人员,但所需的信息种类多、信息量大、要求响应速度快。既要对预警所需的各类信息进行重组,适应快速检索查询的需要;还要能从海量数据中去挖掘有用信息和地质灾害的发生规律,从而使决策过程科学、准确、迅速。
由于滑坡地质灾害涉及的研究领域很广,研究内容也十分宽泛,因而地质灾害防治数据仓库项目建设工作量也十分巨大,不过三峡库区已建成的大量数据库、信息系统以及各种标准和规范为数据仓库的建设打下了良好的基础。本文研究的单体滑坡灾害数据仓库作为整个地质灾害防治数据仓库的一个子集,仅选取与单体滑坡灾害密切相关的专业监测分析、群测群防监测分析、滑坡稳定性评价、时间预测预报等主题完成数据仓库的设计与实现。通过研究,主要取得了以下成果或认识:
(1)数据仓库设计成功的关键是完整的存储和组织数据,并对大量数据进行有效的管理和维护。以处理大量原子型数据和快速查询见长的维度建模作为展示数据仓库的主导技术已被广泛地接受。论文依据维度建模的算法流程,结合单体滑坡灾害数据的特点设计了尽可能多的共享维度和一致性事实表,建立了单体滑坡灾害数据仓库的总线结构。通过共享含有一致性维度和事实的统一体系结构,数据仓库开发团队可以相对独立异步地开展工作,实现数据仓库的增量构造。在分析了事实表和维度表的设计策略后,结合单体滑坡灾害数据的特点及主题需求,重点设计了日降水量、逐日水位、钻孔倾斜情况等12个事实表和地点维、时间维、监测点维等20个维度,按照OWB的设计风格给出了事实表和维度的结构与图示:事实表主要包括度量和维引用,维度主要主要包括属性、层次、级别等。
(2)论文在对专业监测分析、群测群防监测分析、滑坡稳定性评价、时间预测预报四个主题的数据需求进行详细分析的基础上,确定了主题需要的维、度量等要素,建立了主题及相关二级主题的多维模型。按主题需求建立的多维模型主要是为“预警指挥系统”及各专业应用系统(如滑坡稳定性评价系统、预测预报系统、监测分析与评估系统等)服务的,因此了解和熟练掌握各专业应用系统数据的输入输出情况是非常关键的,只有这样才能准确知道数据应该如何在数据仓库与各应用系统之间进行流动,从而最大限度地发挥数据仓库的功效。经过分析,各专业应用系统进行模型评价时所需细节数据大部分直接来源于操作数据库,对数据仓库需求的数据主要是查询检索的接口数据,模型评价后的输出结果仍然保存到操作库中,数据仓库再将相应的立方体重新上载,更新后的数据供预警决策及应急指挥系统调用。
(3)为了节省时间、减少程序开发量,从而将重心放在业务逻辑的理解和数据清洗转换的安全控制、提高数据抽取的质量上来,论文并没有从底层开发ETL工具,而是直接选用Oracle公司成熟的ETL产品,即Oracle Warehouse Builder10g Release2(简称OWB),来实现数据的抽取、清洗、转换、上载和部署。OWB可以在图形化环境中导入元数据,创建维、映射、立方体、进程流等数据仓库对象。在建立映射过程中可以使用映射模块提供的各种丰富的算子来实现数据格式转换及数据合并、汇总、拆分、过滤等数据操作。在部署各种数据库对象的过程中,会自动生成可执行的SQL程序包,出现错误还可进行修改和调试。通过OWB创建的主题与Oracle数据仓库的其它开发工具能无缝地集成在一起。元数据是ETL的“控制中心”,在ETL的开发过程中发挥着重要的作用。ETL过程自始至终需要在元数据的指导和控制下才能顺利完成。与ETL密切相关的元数据主要涉及立方体、维、映射等数据仓库对象,论文列举其中的一部分表结构,并从Oracle数据库中筛选了部分重点字段和部分记录进行显示,从中可以清楚地看到元数据在在ETL中的作用。
(4)地质灾害防治数据具有多维、高维等特点,OLAP分析工具能从多个观察角度对当前以及历史的数据进行多角度、多层次灵活组合及分析,采用下钻、上卷、切片、切块、旋转等操作,实现数据从粗粒度到细粒度的不同级别的即席分析,并可按照规则对数据进行任意裁剪。分析的结果能以丰富的图表可视化地进行展示,还可以根据用户的需求采用人机交互的方式进行调整。结合三峡库区地质灾害预测预防及预警决策的需求,单体滑坡灾害数据仓库主要对监测数据和单体滑坡灾害预测预报两类问题进行联机分析处理,由此得出OLAP工作簿和相应细分的工作表如下:监测数据分析工作簿,包括监测点统计分析、日降雨量分析、逐日水位分析、群测群防监测数据分析等工作表;单体滑坡灾害预测预报工作簿,包括滑坡灾害体统计分析、滑坡稳定性评价、时间预测预报等工作表。最后以“逐日水位”多维模型为例,通过Oracle Discoverer工具,展示OLAP多维分析的各种功能。
(5)地质灾害防治决策分析中需要查询大量各类信息,特别是在区域发生群发地质灾害情况下,需要在最快的时间内对大量各类空间及非空间信息进行检索查询及复杂的统计分析。而三峡库区地质灾害预警指挥系统由众多单位参与研发,各单位所研发的子系统之间需要频繁的进行交互、模块调用及数据访问。接口数据需求分析是本项目的重点和难点,需要与其它相关项目单位反复交流,才能提出切实可行的需求方案,因此如何理解和实施项目之间的需求关系是数据仓库成败的关键性工作。维度表和事实表如何选择、多维模型如何组织均建立在接口需求分析的基础之上,这同时也决定了联机分析、快速检索查询、数据挖掘等能否给预测预报、监测评估、预警决策与应急指挥等提供有用的、及时的信息。经过与其它项目单位的反复磋商,将需求分类成四个部分:针对地表变形、针对降雨、针对水位和其它。采用C#.net语言,基于Oracle数据库平台进行接口程序的开发。可以基于维表和立方体进行查询检索。基于立方体的查询在设置了度量查询条件后,最终还是要落实到维表及维属性上。每一个维属性均可设置查询条件,也可决定其是否出现在最终的结果数据集上,这大大提高了数据查询的灵活性。在对度量或属性字段设置查询条件时,有文本类型和数值类型可供选择,并设置了丰富的查询算子。当选择文本类型时,属于模糊查询,查询条件算子为“LIKE”;当选择数值类型时,常规的算术算子(如=、<、>、≤、≥等)均可供选择。在此基础上,以“地点”维和“地表裂缝增减量”立方体为例,展示了查询过程和查询效果。查询的结果数据集既可以数据表的形式保存到操作库中供其它应用系统调用,也可以网页的形式供浏览。由于多维模型是根据用户的一个或多个查询需求而对操作库中的数据进行针对性的多维组织,该模型包含了用户需要的度量、粒度、维度等属性特征,因此接口具有专属性特征。通过冗余存储以空间换时间,能达到快速查询检索的目的。
(6)用户界面是应用程序的一个重要组成部分,一个好的应用程序不仅要有强大的功能,还要有友好、专业的用户界面。本系统界面的开发遵循三峡库区地质灾害预警指挥系统集成设计及系统集成界面开发规范和WAF.NET框架使用规范,保证了系统界面布局一致,系统风格、操作方式统一。
论文的创新性成果主要体现在:
(1)给出了单体滑坡灾害数据仓库的一致性维度和事实表,建立了数据仓库的总线结构,实现了数据仓库的并行、增量构造。
(2)建立了专业监测分析、群测群防监测分析、滑坡稳定性评价、时间预测预报等主题多维模型,明确了数据仓库与各专业主题的数据调用关系。
(3)开发了针对主题需求快速查询检索的专属性接口程序,实现了与其它系统之间的无缝连接。
在数据收集、接口需求分析与程序设计方面,论文还需开展进一步的工作。