刘吉峰 罗勐 梁聪聪
摘 要:气象、水文、工程等海量数据信息和文档资料是防凌减灾分析决策的基础。以多源异构数据仓库建设为目标,针对防凌减灾各项业务流程和数据需求,提出黄河凌情数据仓库架构体系。依据防凌工作主题设计数据仓库多维数据模型。在此基础上,利用ETL工具对原始观测数据进行集成整合,建立黄河多源异构凌情数据仓库,并集成在黄河防凌智慧平台。通过数据仓库可以为防凌业务提供大量分析型数据信息,提高黄河防凌减灾综合决策水平和工作效率。
关键词:凌情;多源异构;数据仓库;黄河
中图分类号:P337;TV882.1
文献标志码:A
doi:10.3969/j.issn.1000-1379.2022.02.006
引用格式:刘吉峰,罗勐,梁聪聪.黄河多源异构凌情数据仓库初步研究[J].人民黄河,2022,44(2):27-31.
Abstract: Massive meteorological, hydrological and engineering data was the basis of decision analysis of ice flood prevention and disaster reduction. Data warehouse framework of ice condition was built based on the work process and data requirements of ice flood control and disaster reduction;and data cubes were designed according to the themes of ice flood control work. Based on this, the Yellow River multi-source heterogeneous data warehouse of ice condition was founded by utilizing ETL (Extract-Transform-Load) tool to integrate and transform the original observation data. Decision level and operating efficiency on ice flood prevention business would be improved by using the data warehouse which could provide massive analytic data.
Key words: ice regime;multi-source heterogeneous;data warehouse;Yellow River
黃河凌汛灾害是我国冬春季节大江大河中最突出、最重大的自然灾害,具有成因复杂、突发性强和防控难度大等特点[1]。防凌减灾工作涉及气象、水文、工程管理等多个领域,随着水利信息化的快速发展,凌情监测数据日益丰富,类型多样,数量庞大,具有多源异构特征,人民治黄70多年来,积累了大量凌情数据信息,为黄河凌汛安澜提供了重要数据支持。
数据仓库是一个为决策支持服务的、面向主题的、集成的、相对稳定的、反映历史变化的数据集合[2],是把操作型数据提取转化为分析型数据的一种信息技术[3]。数据仓库技术在20世纪70年代开始萌芽,90年代数据仓库概念逐渐确立并得到蓬勃发展,随着计算机技术的发展,数据仓库技术逐渐在金融、保险、交通、零售、电信、医疗等各个行业得到广泛应用[4]。
数据仓库和数据挖掘技术是水利信息化的重要实现工具[5]。目前水文数据库提供的信息服务以联机事务处理方式为主,较少提供决策分析型数据服务[6-7],不能很好满足中央防灾减灾新理念、新要求[8]。目前正值水利信息化快速发展时期,提升水利大数据分析处理能力和共享服务水平,有助于提高水情现代化、智能化水平[9]。因此,借助数据仓库技术,对原始凌情数据进行提取、转换、加工处理等,形成可用于防凌业务的专用数据集,建立黄河多源异构凌情数据仓库,可以有效整合凌情数据资源,为黄河防凌减灾决策业务提供综合分析决策工具。
1 凌情数据仓库架构体系
建立凌情数据仓库的目的是完成对黄河凌情数据的快速准确提取、统计、分析,为防凌业务提供高效决策依据。凌情数据仓库建设主要有以下几个步骤:①源数据的分析梳理,对现有凌情数据的种类、存储形式、软硬件环境进行分析研究;②针对防凌业务需求、数据源和数据流程,确定防凌减灾业务对应的仓库主题;③数据仓库设计,根据业务需求和凌情数据特性,进行数据仓库设计;④开发ETL(Extract-Transform-Load,抽取、转换和加载)工具,按照业务主题和数据源,通过抽取、转换和加载,将所需数据加载到数据仓库;⑤数据仓库管理和更新;⑥数据仓库软硬件环境搭建。
按照基础数据层、数据处理层、数据汇集层、应用服务层等4层架构体系设计凌情数据仓库系统,根据数据仓库主题和数据流程建立适合各项防凌业务工作的相关数据模型。
1.1 基础数据层
黄河流域相关凌情基础数据为凌情数据仓库的数据源,凌情数据仓库为防凌工作提供数据分析成果。基础数据按照数据的结构类型分为结构化数据和非结构化数据。结构化数据按照数据采集时间和项目的不同,分别存储于不同的基础数据库中,凌情数据仓库设计所需的支撑数据库有关于水情、气象、凌情的历史类数据库和实时类数据库。历史类数据库提供经水文整编之后的数据,该类数据经人工审核后整理入库,数据清洁度高。实时类数据库包含人工报汛类和仪器自动报汛类数据,人工报汛类数据为采集数据经人工审核后报汛入库,清洁度较高;仪器自动报汛类数据为仪器采集后未经审核直接入库,该类数据清洁度较低。非结构化数据主要包括与凌情有关的图片、视频、文档等数据,以文件集的形式存储,该类数据为采集并经人工整理后存入文件集。
1.2 数据处理层
该层链接基础数据层和数据汇集层,其主要任务是按照数据仓库主题所需数据的标准对基础数据层中的数据进行搜寻、抽取、清洗、转换和计算。数据仓库中的数据为分析型数据,其数据清洁度、数据类型、格式等与基础数据库中的操作型数据有很大的差别。为满足分析型数据的需求,数据处理层设置质量控制、数据转换、数据计算等模块用于源数据的分析处理。
1.3 数据汇集层
该层主要实现将处理后的综合类凌情数据装载于仓库主题对应的表结构。凌情数据仓库表结构根据具体凌情业务所需数据的格式、时空尺度、采集项目类型等进行设计。经处理之后的数据按照仓库主题需求进行数据分类装载。
1.4 应用服务层
应用服务层主要包括数据仓库中数据资源的应用,如数据资源访问及调用、数据资源管理等业务。
数据仓库数据资源访问及调用服务部署于服务器上,采用Web API服务的形式提供,根据对数据仓库和数据主题的分析,将数据仓库数据资源访问服务划分为水文分析类服务、气象分析类服务、凌情分析类服务、工情分析类服务、工程地理类服务。数据的输入方式均为条件输入,比如输入测站编码或名称、开始时间、结束时间、统计类型等,根据输入的条件,返回符合条件的json或xml数据。
数据资源管理是对这些基础数据的管理,包括增加、修改、删除和查询等操作,以系统的方式进行展示和操作,并对这些数据进行维护管理。其功能通过数据资源管理平台实现,凌情数据仓库数据资源管理平台采用B/S架构开发,以实现对数据仓库的数据管理和展示为主要目的,数据仓库所涉及的水文信息、气象信息、凌情、工程、工程地理等信息通过ETL技术从实时水雨情数据库、历史凌情数据库、历史径流数据库、调水数据库取得。主要功能包括凌情动态监测、凌情预警预报、凌情灾害防控、防凌水库调度和系统管理。
2 凌情数据仓库设计
基于防凌业务需求设计凌情数据仓库。具体过程包括:根据业务流程确定数据仓库主题、概念模型设计、逻辑模型设计和物理模型设计等。
2.1 确定数据仓库主题
数据仓库主题是高层次的数据归类的抽象,每一个主题域对应一种凌情数据分析领域,包括时空范围的数据序列。根据防凌业务类型和数据分析需求确定主题。
数据仓库的建立主要为以下4个方面的防凌减灾业务提供数据支撑:①凌情监视分析,监视河道实时凌水情变化,包括河道实時水位、流量、槽蓄水增量、引退水信息等变化;②凌情预警预报,根据当前防凌工作要求,分析预测流凌、封河和开河日期,以及开河期凌峰流量和最大10 d水量预报;③凌情风险分析,在凌情定点监测、巡测、遥测和凌情预报等基础上,分析凌情发展趋势和潜在风险;④凌情灾害防控和抢护,灾害防控主要包括水库防凌调度、紧急分凌、人工破冰、现场救灾等。
凌情数据仓库直接为黄河防凌调度服务,基于防凌业务确定4类凌情数据仓库主题域,即凌情监视分析、凌情预警预报、凌情风险分析、凌情灾害防控与抢护等。在这4类主题域范围内根据具体业务需求设置仓库主题,如在凌情预警预报主题域范围内,根据不同凌情预测内容可以分为流凌预报、封河预报、开河预报等主题。
2.2 概念模型设计
概念模型设计是把各个主题的业务流程抽象出实体和关系,确定事实和度量、维和层次,形成凌情数据的多维架构。其目的是根据数据仓库主题重新梳理凌情数据,使得原来分散的凌情数据在逻辑上能更有效地集成。概念模型直接面向防凌业务各个主题,因此更具有专业性。
以封河预报主题为例对概念模型设计进行说明。封河预报主题的主要目的是基于数据仓库技术,对不同流量等级、降温过程以及河道条件等影响因子共同作用下的封河条件进行分类讨论,并利用水情凌情动态监测数据、水库调度计划、气象预报等信息对未来凌情发展变化趋势进行综合性预报,为防凌部门防凌减灾提供技术支持。
基于业务流程和数据需求确定封河预报主题,推导出事实、度量、维、层次等,即可初步确定封河预报数据的多维架构,见图1。封河预报事实可对应时间、空间和站点类型3个维度。
2.3 逻辑模型设计
逻辑模型直接反映防凌业务需求,对概念模型进行实现,并引导系统的物理部署,是概念设计和物理实现之间的纽带。其设计是整个凌情数据形式化表达的实施落地环节,也是凌情数据仓库设计工作的关键环节。模型设计时形成实际的表单,对表单的描述记录在数据仓库的元数据中。该阶段主要内容包括:一是概念多维向逻辑多维模型的转化;二是定义ETL流程,完成数据映射过程的设计工作。
根据事实表和维度表的关系,把数据模型分为星型模型、雪花型模型及星座模型。根据封河预报数据的特点,结合多维模型结构的简洁性,封河预报事实表采用星型模型进行多维数据建模。星型模型的维度建模由一个事实表和一组维表组成,以事实表为核心,维表围绕核心成星型分布,维表只和事实表关联,维表之间没有关联。封河预报事实通过外关键字分别和时间维表、空间维表、站点类型维表的主键链接,形成星型多维数据模型,见图2。
2.4 物理模型设计
数据仓库的物理模型就是数据仓库逻辑模型在物理系统中的实现模式。物理模型设计根据业务需要和数据仓库框架的特点,对物理设备上的存储结构和读写过程进行设计,包括表的索引、数据约束、数据类型和格式等。凌情数据仓库利用SQL Server 2014进行物理设计实现,仓库建立各主题所需表的存储空间,建立凌情数据各基础数据库与仓库主题之间的映射关系。
3 凌情数据仓库ETL
ETL应用作为构建数据仓库的重要一环,对数据仓库起着无可替代的作用,ETL工具负责将异构数据源中的数据(如关系数据、平面数据文件等)抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
3.1 ETL工具
3.1.1 ETL流程
ETL是将黄河流域实时雨水情数据库、凌情历史数据库和收集整理的历史凌情数据经过抽取、清洗、转换之后加载到凌情数据仓库的过程,目的是将分散、零乱、标准不统一的数据整合到一起,为黄河智慧防凌平台提供分析数据,ETL流程见图3。
3.1.2 ETL选择
根据当前几款主流的ETL应用工具平台,并结合凌情数据仓库的实际应用和需求,黄河流域多源异构凌情数据仓库选择kettle工具作为凌情数据仓库的ETL工具。kettle工具具有以下优点:①兼容性高;②高效工具集;③图形界面设计;④定时操作;⑤免费开源。
3.2 ETL应用
3.2.1 数据抽取
数据抽取主要是从黄河流域实时、历史气象水文数据库中抽取数据。从数据库中抽取数据一般分为全量抽取和增量抽取两种方式。防凌重点关注站点的历史气象、水情、凌情数据通过全量抽取的方式实现数据的复制;实时水雨情数据库、历史凌情数据库中有些数据是不断更新的,通过增量抽取实现数据仓库的数据更新。
3.2.2 数据清洗
数据清洗是指将不同来源的黄河流域历史、实时气象水文数据进行清洗,将不符合要求的数据、脏数据、重复的数据和不完整数据过滤掉。比如水位数据不在正常值范围内的通过数据清洗全部清除。
3.2.3 数据转换
数据转换主要是将抽取的黄河流域气象水文数据按照凌情数据仓库表结构要求进行转换和加工。比如年月旬日内均值、最大值和最小值以及出现时间的数据转换以及行转列等操作。
3.2.4 数据加载
数据加载是将转换和加工后的数据加载到凌情数据仓库中。有两种加载方式,一是直接在ETL作业中用SQL语句进行插入、更新和删除操作,二是在ETL作业中采用批量加载的方法。第一种操作方式进行了日志记录并且是可恢复的,第二种操作方式批量加载操作易于使用,并且在加载大量数据时效率更高。
3.2.5 非结构化数据的处理
非结构化数据(图片、文档、视频、音频等)的处理主要采用kettle ftp文件传输的方式实现,利用kettle ftp 文件传输功能,在原始服务器中建立ftp服务器,在目标服务器(数据仓库服务器)中利用kettle ftp文件传输功能,通过ftp账户实现ftp服务器的链接,并建立相关作业定时调度。读取原始服务器中相关库表的非结构化数据路径,并根据作业定时调度设置的抽取时间、次数,从而实现非结构化数据从原始服务器到目标服务器的全量抽取、增量抽取和迁移,文件相关的其他属性(文件名称、编码、时间)和路径采用结构化数据抽取方式,与非结构化数据抽取采用同一作业定时调度,以保持数据的一致性、完整性,从而完成非结构化数据及其相关的结构化数据的ETL应用和处理。
3.2.6 任务执行周期设定
凌情数据仓库根据数据的时间尺度分为日、旬、月、特征期、年。数据任务的执行周期根据数据的时间尺度设定。日执行数据设定为每日固定时间加载前一日数据,旬(月、年)执行数据设定每旬(月、年)第一天固定时间加载前一旬(月、年)数据,特征期执行數据为特征期结束后的次日加载前一特征期数据。
4 凌情数据仓库技术架构和运行环境
4.1 数据仓库技术架构
为了提高系统的开发效率,使数据资源得以集成和复用,数据仓库系统总体框架(包括数据资源访问服务和数据资源管理平台)采用B/S结构体系、Web API服务、Java平台和spring boot+mybitis架构。①B/S模式可简化系统管理流程,用户、管理员可以在网络环境中通过各类终端完成数据操作。②凌情数据仓库通过Web API在标准HTTP协议环境下提供了灵活高效的对各类终端支持良好的数据访问服务,尤其是对移动客户端提供良好的支持,便于凌情数据仓库与其他防凌减灾应用系统集成,为各类防凌减灾业务提供高效可靠的凌情数据服务[10]。③对于凌情数据仓库,Java优秀的跨平台能力为数据仓库的多源异构特性提供了良好的支持和后续迭代开发潜力。④spring boot+mybatis架构可快速高效地构建基于凌情数据仓库数据的各类业务应用系统,大幅缩减开发周期、成本,加速应用系统的更新迭代,使其可以更快地投入生产应用。
4.2 数据仓库运行环境
凌情数据仓库采用集中部署方式,配置机架式服务器一台。服务器硬件配置充分考虑了数据仓库运行的性能和安全性需求,配置CPU:Intel Xeon 5118×2;内存:16 GB DDR4×2;硬盘:10K 1.2T SAS×4;万兆网络接口2个,提供链路冗余;750W电源2个,提供供电冗余。服务器安装Windows Server 2012R2 64位操作系统,按照RAID5方式配置磁盘阵列,实际可用硬盘容量为3 349 GB,可保证高速存储的情况下任一磁盘损坏时不丢失数据,满足凌情数据仓库大容量存储要求,并保障数据安全。
5 结 语
(1)基于凌情数据特点和黄河防凌业务需求,设计开发面向主题的多维数据模型,利用ETL工具对观测数据进行集成整合、实现数据的全量汇集和增量更新,搭建数据资源管理平台、实现对数据仓库的数据管理和展示,初步建成黄河多源异构凌情数据仓库。黄河凌情数据仓库已经集成于黄河防凌智慧平台并试运行一年,明显提高了凌情数据质量和使用效率,为黄河防凌业务提供了大量分析型数据信息,有助于提高黄河防凌减灾综合决策水平和工作效率。
(2)为了更充分利用气象、水文和凌情信息,需要在凌情数据仓库的基础上,根据防凌业务需求,提高数据分析处理和数据挖掘能力,为凌情形势分析、预测预报和防凌调度等提供更加高效的决策支持。
(3)随着水文测报能力大幅度提升,观测数据类型和数量急剧增加,“分布式存储+数据仓库+数据挖掘”模式可以更好地解决水文信息化中海量多源异构水文数据的存储、交换和应用问题。
参考文献:
[1] 郜国明,邓宇,田治宗,等.黄河冰凌近期研究简述与展望[J].人民黄河,2019,41(10):77-81.
[2] INMON W H.Building the Data Warehouse[M].New York:John Wiley & Sons,1996:35-45.
[3] 杨莉国,欧付娜,刘庆海,等.数据仓库相关技术研究综述[J].电脑知识与技术,2011,7(10):2234-2236,2255.
[4] 李春葆,李石君,李筱驰.数据仓库与数据挖掘实践[M].北京:电子工业出版社,2014:12-21.
[5] 李琼.数据仓库与数据挖掘技术在水利信息化中的应用[J].前沿,2005(12):59-61.
[6] 胡健伟,余达征,陈雅莉.国家水文数据库建设探讨[J].水利信息化,2017(2):1-4.
[7] 章树安,吴礼福,艾萍.对建设水文数据仓库的初步研究[J].水文,2007,27(1):17-21.
[8] 刘志雨.我国水文监测预报预警业务展望[J].中国防汛抗旱,2019,29(11):31-34,61.
[9] 江子皓,王慧亮,吴泽宁,等.城市暴雨洪涝敏感性因素数据仓库构建与应用[J].人民黄河,2019,41(4):27-30.
[10] 徐路凯,李书霞,于国卿.黄河智慧防凌云平台设计与研究[J].人民黄河,2021,43(2):66-69.
【责任编辑 张 帅】