BS结构融雪洪水预警模型库系统关键问题研究与实现.doc

上传人:scccc 文档编号:11940388 上传时间:2021-11-08 格式:DOC 页数:18 大小:51KB
返回 下载 相关 举报
BS结构融雪洪水预警模型库系统关键问题研究与实现.doc_第1页
第1页 / 共18页
BS结构融雪洪水预警模型库系统关键问题研究与实现.doc_第2页
第2页 / 共18页
BS结构融雪洪水预警模型库系统关键问题研究与实现.doc_第3页
第3页 / 共18页
BS结构融雪洪水预警模型库系统关键问题研究与实现.doc_第4页
第4页 / 共18页
BS结构融雪洪水预警模型库系统关键问题研究与实现.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《BS结构融雪洪水预警模型库系统关键问题研究与实现.doc》由会员分享,可在线阅读,更多相关《BS结构融雪洪水预警模型库系统关键问题研究与实现.doc(18页珍藏版)》请在三一文库上搜索。

1、BS结构融雪洪水预警模型库系统关键问题研究与实现摘要:通过对模型库系统的研究,建立并实现了 B/S 结构的基于 Web 的新疆融雪洪水预警模型库系统。 该系统将 成熟的关系型数据库系统技术与模型库理论集成在一起,结 合参数元理论,并充分利用面向对象技术,从根本上解决了 模型的表示、模型的管理、模型的组合运行、模型数据的共 享和交换及模型的复用等关键性问题。关键词:融雪洪水;模型库系统;参数元;面向对象中图分类号: TP31113 文献标志码: A文章编号: 10013695(2008)03 0803 040 引言融雪洪水预警模型库系统包括模型库和模型库管理系 统。模型库强调模型的存储与表示、组

2、织与应用,而模型库 管理系统则提供对模型的检索、存取、更新、组合、运行等 操作。目前模型库系统主要研究领域仍然是有关模型表示和 模型操纵的研究。 在表现形式上, 模型库是各种模型的集合; 在软件内容上,模型库则由许多面向对象的关系型数据库组 成。国外模型管理理论的研究始于 20 世纪 80 年代。Blanning1首次提出了模型库的概念,并设计了类似于数据 库查询语言的模型库查询语言 (model query language ,MQL) 来管理模型; Dolk 等人2提出了基于框架和知识表达的模型 抽象技术;Geoffrion3设计了一套结构化模型构造语言SML,首次将结构化程序设计思路植入

3、模型生成问题; Muhana 等 人4 又将系统论的概念用于模型库管理系统;LiangTingpeng5将推理知识学习方法融进了模型库管理系统。国 内自20世纪90年代以来,在 GIS模型库系统平台、模型的 标准化、模型的集成以及面向对象的模型库等方面都进行了 深入的研究。例如,李京等人6设计的基于C/S模式的模型库管理系统,能够较好地支持C/S模式的决策支持系统的开发和运行; 黄跃进等人 7采用框架来进行模型库的构建和管 理,便于模型的重建和组合;毕建涛等人 8提出了模型方法 元数据的概念;LI Chaofeng9从数学角度讨论了使用元图表 示模型库的方式,它是对基于图形的表示方式的扩充与改

4、进; 薛安等人 10研究并提出了元模型的结构和实现算法。 目前, 国内开发的模型库系统多是基于C/S结构或单机系统的,而且模型的粒度较大,模型间的通信往往是通过数据文件或公 用通信区的形式进行的,因此模型的运行效率较低,模型的 组合也很困难。而一些基于静态函数库的系统往往可扩充性 较差。国内也有部分B/S结构的模型库系统的运用1113, 但不很成熟,未能解决模型标准化问题、模型库与数据库之 间的数据交换等关键问题。到目前为止,还没有关于模型库系统的统一标准,也尚 未出现成熟的商品软件,模型库系统的开发均由研制者自行 完成的。为了充分高效地利用已有的模型库知识和融雪洪水 模型,开发必要的新模型,

5、以下几点是必须考虑的:a)减少模型的重复构建几率;b)有利于现有模型的充分利用和不 同专业用户的交流;c)有利于不同模型集成时模型的选择; d)有利于不同数学表达的模型间的比较选择;e)有利于用户在使用时不必接触大量的编程操作与了解模型参数作用机 理;f)有利于发现与改进概念表达内涵已经发生变化的模型; g)最终有利于自然地理的定量化表达。笔者在对基于3S技术的新疆融雪洪水预警决策支持系 统课题的研究中建立并实现了 B/S 结构的新疆融雪洪水预警 模型库系统。该模型库系统的设计充分利用关系型数据库技 术和面向对象技术,采用完全模块化结构,实现模块与系统 完全独立,规范化和标准化模型的输入、输出

6、数据格式,同 时也做到了数据输入 / 输出既可以是数据库方式, 也可以是文 件方式;模型库不仅包含融雪洪水预警模型和方法,还可以 增加其他常用的洪水预报模型和方法;模型可被任意选择、 组合用于构建融雪洪水预警方案。1 模型库系统发展过程自 20 世纪 70 年代后期模型库思想问世以来,对于模型 的管理经历了模型、模型软件包和模型库管理系统三个发展 阶段 14 。第一阶段的模型彼此独立,缺乏对模型的管理, 各专业之间几乎全无了解;第二阶段缺乏对大批模型的有效 管理,几乎是对模型的全数学方法处理,各模型间没有任何 关系也没有任何约束,不利于选择需要的模型;第三阶段初 步实现了基于模型库的模型管理,

7、可以提供模型存储和表示 模式及模型运行的计算机系统。将众多的预报模型按固定的、 公开的结构形式组织起来,通过模型库管理系统对各个模型 进行有效的管理和使用。各模型之间的区别在于其理论结构, 而共同的组织形式可使其成为一个共享的整体,任何技术人 员均可利用模型库开发洪水预警系统。从软件角度来说,模 型库中各模型均是一个模型构件,可被重复使用并组装成应 用系统。它是决策支持系统的共享资源。根据数据库系统发展的经验和前人对模型库管理系统 的研究表明,新一代模型库管理系统应具有如下主要特征: 模型要有比较统一的逻辑表示形式、有独立于模型的求解方 法、可以表示模型有关辅助信息,以便从模型库中快速选取 模

8、型;具有组合运行能力, 模型能够与数据库自由交换信息, 可以快速增加和更新模型。从软件技术和生产应用上,模型 库应具备复用性、独立性、统一性和扩充性。随着 Web 技术的发展, B/S 结构的系统优势越来越被接 受和广泛地运用,开发 B/S 结构的模型库系统无疑是对传统 的基于 C/S 结构的模型库系统的扩展。2 基于参数元的融雪洪水预警模型库系统21 模型与数据的集成 模型库管理系统类似于关系型数据库管理系统,是随着 决策支持系统的需要而发展起来的。在模型库系统管理下, 可以有效地对模型及其数据进行各种操作。从实践上实现这 样一个系统有几个关键问题需要研究,如模型的存储形式、 模型的选择、模

9、型数据规范格式、模型数据的共享和交换、 模型的集成、 模型与方法库的接口、 模型与数据库的连接等。融雪洪水预警模型库系统的思想来源于数据库的理论。 数据库是存储在计算机内相关数据的有规则的集合,它们有 结构地组织在数据库内,具有较小的数据冗余度和较高的数 据独立性。对于数据库,需要建立数据模型和考虑数据物理 存储方法,并建立其对应关系,使用户能够通过数据库管理 系统找到所要访问的数据,而不必关心数据具体的存储过程, 也不必担心存储结构的改变而影响数据的访问。模型库与数 据库的区别是模型库中存储的并不是模型本身,它以参数元 形式与其他元数据形式在数据库中存在;模型库是构架在数 据库之上的系统,具

10、有方便操作的界面,通过建立索引与模 型的各部分建立联系。因此本文使用了数学上参数元的概念。模型库在系统中 是一种逻辑存在关系,以参数元进行传递,达到从数据库中 存取信息的目的。所谓参数元方法,是在模型库中,模型的 参数不具有有效的数学意义和物理意义,模型被表示成模型 外部变量参数(不包括常数与数学运算符)的符号化表示。 符合条件的参数称之为参数元,但它不等同于元数据。元数 据是描述数据的数据,而参数元只是为描述模型在模型库中 存放的一种符号,它与模型参数在表现形式上一致。对模型 库的操作其实是对这些参数元的操作,但这是一种虚操作, 元模型不以实际形式而存在,而以参数元的集合形式存在。 在模型结

11、构表中,每一条记录都是一个元模型的虚拟表达形 式,这样在运行模型库管理系统时,展现在用户面前的模型 是模型文本方式或其他方式。参数元本身不具有实际意义, 但它可以通过表与表间字段的联系,与参数数据库或空间数 据库建立连接关系,以达到调用数据的目的。因此,参数元 是关于模型库的数据库,参数数据库是关于参数元的数据库 与数据库不同的是,这些参数元之间存在一种函数的依赖关 系,模型的运行是在原模型基础上,由程序调用参数元的索 引,通过方法库,调用空间数据库对模型参数进行赋值,或 者由用户直接进行初始赋值,并在后台运行模型得到结果。由模型库管理系统对模型库进行操作,每个元模型以多对多 的关系与参数元建

12、立联系,而每个参数元以一对一的关系与 数据库保持联系。这样就可以保证模型库与数据库或者空间 数据库保持相对独立,在模型运行时又可以与数据库或者空 间数据库进行数据交换,从而有效地解决了模型与数据集成 的问题。22 模型库系统中的表及其关系 融雪洪水预警模型库系统的开发完全代之于全关系型 系统,几乎包括模型库系统应用具有的所有操作。其主要表 结构与关系具体如下:a)模型信息表(元模型表)。它是模型库中最为关键的表,包括模型名称信息、模型功能描述;模型分类信息,将 模型按照项目规划进行详细的分类,便于利用模型库进行类 别查询,也便于其他用户清楚模型的使用范围;模型管理信 息,如模型开发者、模型程序

13、编制者信息,每个模型入库时 间、适用条件等。b)模型参数表(元数据表)。可以再细分成两类表:(a) 模型参数类型表,它规定模型之间、模型与外界之间进行信 息交换的数据种类和格式定义,包括类型名称、类型含义、 该类型包含的参数名称、参数格式定义、参数性质(输入、 输出、输入或输出)等;(b)模型数据表,它规定每个模型用到哪些参数类型,建立与第一类表之间一对多的映射,同 时对模型类型的参数格式的定义更详细和具体。c) 模型运行表(实例数据表)。它是元模型表和元数据 表的具体化,包括两类实例表,即对模型信息表进行实例化 和对模型参数表进行实例化。这样不同的模型或者模型组合 赋予不同的输入、输出参数值

14、,就形成不同的模型实例。d)参数词典表。不同的模型需要不同的参数数据、参数名称的规范和统一,每种参数所代表精确的物理意义,是 保证模型数据接口统一、数据共享的基础,也是用户准确理 解模型参数意义的前提。对于国内用户,更为关键的一点是 对获得容易混淆的物理概念参数时显得极为有利,如汉语中 入渗、下渗、渗流、渗透与英文中leaching 、 penetrate 、infiltration 、 seepage、 sink、 ooze 等概念,在常用工具词典中 界限不清,而参数词典则起到了一部专业辞海的作用。系统 的模型参数借鉴了美国的 SWAT15( soil and water assessmen

15、t tool )模型的参数表。23 模型库系统的表结构设计 根据实际,由模型库中五类不同用途的表在融雪洪水预 警模型库中建立了九个关系型表。a)模型信息表:存储模型英文简称、中文名称、模型功 能描述信息、模型适用条件范围、模型作者、模型类型等。b)模型数据接口类型文件表:存储接口类型文件名、接 口类型文件的扩展名、接口类型文件的含义、接口类型文件 数据格式、接口类型文件性质等。c)模型数据接口类型文件表:存储模型的英文简称、接口类型文件的扩展名、模型数据接口文件名称、模型数据接 口数据格式、模型数据接口文件性质等。d)模型计算管理表:存储模型计算管理流水号、模型计 算管理名称等。e)模型计算过

16、程表:存储模型计算管理流水号、模型计 算过程次序编号、模型英文简称、数据站点编号、模型计算 过程所需的数据接口文件等。f)模型计算过程数据接口文件表:存储模型计算过程标 志、模型计算管理流水号、模型计算过程的数据接口文件名 称、数据接口文件的详细数据、详细数据的数据行数等。该 表既提供模型计算的参数数据来源,也保存模型计算的结果, 而计算结果又可以作为下一个模型计算的参数数据来源。g)模型参数词典表:存储参数的英文简称、类型、英文全称、中文全称、含义、物理单位、默认值、参考来源等。h)站点名称编号表:该表存储站点名称、编号、位置、 信息等。i)数据文件上传表:存储数据文件名称、类型、数据保 存

17、的文件夹、数据文件上传时间等。其中:表a)属于元模型表;b)c)属于元数据表;d)f)属 于实例数据表;g)属于元参数词典表;h)i)属于相关辅助表。3 融雪洪水预警模型库参数格式定义融雪洪水预警模型库系统的输入 / 输出参数类型经分析 可以归纳成两类:a)参数格式(模型起始状态参数和运算结果参数)。每一行参数分为两部分:第一部分为参数中文含义和物理量单 位,再加冒号;第二部分为参数名称和参数值,参数名称必 须在参数词典中有定义,在参数词典中能够查询到该参数的 详细信息。 参数值可以是数值、 字符,甚至是栅格图像文件, 后跟分号表示一个参数定义结束。例如:积雪稳定下渗率( mm/s ) =0.

18、3;融雪初始温度(C):SMTMP=0.50;单元栅格平均海拔高度( m) :HAHRU=2321.0; 单元栅格水流流向: FDM=FDM.TIF;b)模型时间间隔参数格式(等时段连续间隔参数数据) 参数数据分成两块, 第一块是对参数的说明, 占单独的一行 此行又分为四部分:第一部分为参数中文含义和物理量单位, 后面跟冒号;从第二部分开始依次是参数名称、记录行数、 记录列数,最后加分号表示一行结束。第二块是详细的数据 值,有多少记录数就有多少行数值。每行数值的列数由记录 列数决定, 但是第一列数据必须是时间, 每行结束后加分号 例如:流域出口断面总流量( m?2/s):RTW 6 2;JTH

19、002 200503121230 268;JTH002 200503121430 272;JTH002 200503121630 270;对上述两类参数格式,无论是输入还是输出参数都将保 存在一起,而不必分成输入和输出两部分。目前许多系统是 将其分开的,这给数据共享带来诸多不便。系统通过模型参 数操作类来访问读写参数数据,用户需要按规范格式书写参 数数据,系统将模型运行的结果按规范格式写入参数数据中, 供其他模型调用,很好地解决了模型库和数据库的数据交换 问题。不仅如此,用户还可以根据需求将模型参数导出到惟 一的参数文件中,参数文件名称由模型运行表记录中的字段 惟一决定,并将此参数文件通过 H

20、TTP协议下载到客户端; 反之亦成立,极大地方便用户使用。4 融雪洪水预警模型库系统的类设计 面向对象技术利用抽象来降低系统的复杂性 16 ,是一 种有效解决问题的方法。在全面分析融雪洪水预警模型库系统后,归纳出系统需求的六个基本类:模型类、方法类、模 型参数操作类、GIS栅格图像操作类、数据文件传输类、系 统维护类,它们共同组成一个模型包。在此思想的指导下, 开发 B/S 结构的融雪洪水预警模型库系统变得容易了。1)模型类它是系统中最重要的设计,关键要做到模型类 的标准化,即封装在模型类的数据成员值和模型处理后的结 果值由模型参数操作类来处理,模型处理过程放入模型类的 方法成员中。这使开发人

21、员摆脱了繁琐的数据存取和更多的 细节问题,系统的实现仅仅是如何实行实例化类的问题。系 统的每一个模型对应一个模型类,模型类名称要与模型信息 表中的模型名称完全一致,在模型库系统中运行实例化的模 型就变成运行名称相同的由模型类产生的对象,由此建立模 型与模型库的联系。2)方法类包含洪水预报模型常用的方法,供其他类尤其 是模型类使用。它不与模型参数关联。3)模型参数操作类它用来解决模型与模型参数之间的数据交换问题,实际上也解决了模型库与数据库之间数据交换 的难题。因此模型库和数据库可以相互独立,带来模型数据 共享、模型任意组合、模型扩充、模型与其他GIS软件集成等诸多便利。一类非常特殊的参数数据与

22、众不同,它是GIS栅格图像数据。GIS软件多用GeoTIFF图像文件存储栅格图像的属性数据,已成为模型必不可少的参数。在GIS软件中处理和显示图像文件易如反掌,在基于 C/S结构的系统中也可以利用 GIS软件 的控件对其进行操作。然而, B/S 结构下的 Web 方式很难利 用GIS软件的控件操作栅格图像数据,所以,系统开发出对 图像数据的提取、修改、保存、产生含有新属性数据的栅格 图像文件、图像格式转换(如 TIFF格式与JPEG格式的转换 等)等一系列操作方法,将这些方法封装在GIS图像数据操作类中。5)数据文件传输类客户端的用户希望将本地参数数 据交给服务端的模型库系统作为模型的输入参数

23、,或者将服 务端模型库系统运行后的输出参数数据导出为参数文件保 存到本地,均离不开数据文件的上传和下载,利用HTTP协议开发数据文件传输和导入、导出数据库方法并封装成类。6)系统维护类主要从加密、功能控制、用户权限等来保 证系统的安全性,提高融雪洪水预警模型库系统的安全性。类的开发采用跨平台并且有生产力的Java语言,其优点众所周知,不再详述。5 模型库管理机制由于模型库往往比较庞大,并且要求可动态生成对象, 另外还要求支持分布式环境中决策支持模型的远程调用,或 者是基于 Web 方式下的运行。 不能将模型直接组合作为独立 存在的类打包在模型库下,通过生成特定的对象直接来使用, 必须采用一定的

24、策略对模型库进行管理。这里,采用 OOP 思想中的工厂模式来管理和生成模型,称为模型工厂 ( modelfactory )。通过模型工厂方法, 可以将模型对象的创建和使用 分离 17,18 。将模型工厂的思想应用到模型库管理上,首先要定义一 个模型接口( ModelInterface )和一个模型工厂类 (ModelFactory )。模型库中的所有模型必须是模型接口 Modellnterface的实现,即Java语法规定的所有模型必须实 现 ModelInterface 接口中定义的一系列方法。当调用 ModelFactory 来产生模型时, 生成的不是一个具体模型对象, 而是产生一个 Mo

25、dellnterface 的对象,通过这个接口对象当 中的方法来操纵模型。因此,对不同模型的调用是一种动态 管理过程,所执行的操作是不一样的。其模型调用的过程如 图 1 所示。6 融雪洪水预警模型库系统的结构 融雪洪水预警模型是洪水预报模型的一种。洪水预报模型是随着计算机技术应用和发展而产生的一种对流域上发 生的水文过程进行模拟的技术。融雪洪水预警模型库系统中 的融雪洪水径流模型根据其模拟对象主要分为以下几种,每 一种类模型又有许多不同的子模型:栅格融雪模型,分布式 计算单元栅格融雪量;栅格产流模型,分布式计算单元栅格 产流量;栅格汇流模型,在各单元栅格产流量的基础上计算 区域(子流域)融雪水

26、量在出口断面形成的地面径流流量, 完全采用分布式空间水文分析技术实现。整个融雪洪水预警模型的计算基于水量平衡,由栅格融 雪到栅格产流再到栅格汇流。融雪洪水预警模型库系统的实现完全采用 B/S 结构和跨 平台技术, 服务端采用 Oracle 9i 关系型数据库对模型库系统 进行管理,系统开发采用 JSP与JavaBean相结合的技术,系 统对模型库和数据库的操作利用JDBC技术,Web服务由Tomcat支持。模型库系统的结构图如图2所示。7 结束语总之,融雪洪水预警模型库系统不再是一个单纯的提供 选择模型的系统,也不再仅是一个描述性系统而变成了容易 实现的全关系型的系统。它可以将工作细化到参数元

27、级,通过已经封装的类,调用参数对应的数据库文件或按系统要求 格式制订的参数数据,并将模型运行结果展示在用户面前, 以验证用户模型选择的正确性或应用于项目的使用。同时, Web 新技术的出现, 为模型库系统的设计和实现提供了新的 思路。系统从根本上解决了模型的表示、管理、组合运行, 模型数据的共享和交换,模型的重用等关键性问题,并给出 了实现方法。与传统模型库系统最大的不同是该模型库系统 实现了 B/S 结构下的管理和运行。参考文献: 1BLANNING R W.Issues in the design of relational model management systemsC/Proc o

28、f National Computer Conference.1983:395 401.2 DOLK D K,KOTTEMANN J E.Model integration and a theory of modelsJ.Decision Support System,1993,9(1):51 63.3 GEOFFRION A E.The formal aspects of structured modelingJ.Operation Research,1989,37(1): 36 421.4 MUHANA W A,PICK R A.Composite models inSYMMSJ.IEEE

29、 Computer Society,1988,3(843):418 427.5 LIANG Tingpeng.Analogical reasoning and casebased learning in model management systemsJ.Desision Support Systems,1993(10): 137160.6 李京,孙颖博,刘智深 ,等.模型库管理系统的设计和实现J.软件学报,1998,9(8):613 - 618.7 黄跃进 ,反伟胜 ,朱云龙 .空间决策支持系统模型库系统 研究J.信息与控制,2000,29(3): 219 - 225.8 毕建涛,吴洪桥 ,

30、曹彦荣,等 .资源与环境信息系统中模 型方法元数据及其集成J.地球信息科学,2002,4(2):1116.9 LI Chaofeng.A New representation of model baseJ.Journal of South Central University for Nationalities,2002,21(1):56 -59.10 薛安,马蔼乃,倪晋仁.模型与GIS集成理论初步研 究J.应用基础与工程科学学报,2002,10(2):134142.11 余志文,刘申柯锐鹏.基于Web的面向对象模型库系统J.地球信息科学,2003,3(1):7377.12 周公乐 ,工锦地,

31、唐世浩,等 .基于 Web 的遥感模型库 建设中的关键技术研究J.遥感信息,2004,1:38- 41.13 张振兴,王翠茄,刘建峰,等.基于Web服务的模型库系统的研究与实现J.华北电力大学学报,2003,30:78 - 81.14 陈文伟 .决策支持系统及其开发 M. 北京:清华大学出 版社 ,1994.15 NEITSCH S L,AMOID J ,G KINITY J R,et al.Soil and water assessment tool theoretical documentationR.Texas:Agricultural Research Service,2001:467 490.16 TIM0THY C L面向对象软件工程M.张红光,温遇华, 徐巧丽 ,等译.北京 :机械工业出版社 ,2003.17 王冰,琚春华.面向对象DSS模型库设计J.计算机时 代,2005(6):1517.18 邹小天.基于J2EE的模型库系统开发研究J武汉理 工大学学报 ,2005,27(12):115117.“本文中所涉及到的图表、注解、公式等内容请以 PDF 格式阅读原文”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1