论文部分内容阅读
众所周知,地理问题分析与求解是一个非常复杂的过程。而将分析出的地理模型实现成可运行的程序更是一项庞大的工程,需要消耗很多的人力和财力。当前现状是,大量实用地理模型己被实现,这些地理模型分布在广大地理科学家手中,而每个地理科学家手中都只有少量的地理模型。如何共享、复用这些已有的地理模型,是一项迫在眉睫的工作。基于此,我们提出了在分布式网络环境下实现地理模型封装、共享、复用的构想。本文在此构想基础上,设计并实现了一个分布式地理模型运行环境执行引擎。 本文的分布式地理模型运行环境执行引擎是基于WebService设计实现的。基于WebService的分布式地理模型执行引擎依赖于模型契约、模型管理环境、执行节点、控制节点、数据中心五部分。 1.模型契约 模型契约是用来描述地理模型之间的数据交互信息及各个地理模型执行顺序的XML文档。模型契约用XML文档表示,是一种独立于操作系统和编程语言的表示形式。模型契约需要描述的内容有模型的输入输出及调用顺序。模型的输入有两种,一种是参数类型,另一种是数据文件。模型的调用顺序有顺序、并行、条件、循环、同步。 2.模型管理环境 模型管理环境管理地理模型的描述信息。模型描述信息由静态信息和运行信息两部分组成,静态信息有模型的作者、完成时间、版本信息、模型的功能等,运行信息包括模型的部署节点、调用接口、模型的输入输出、运行条件等。模型管理环境有模型运行信息访问接口,可以通过模型ID获取对应的模型运行信息。 3.执行节点 执行节点是地理模型的部署节点。为了方便地理模型的共享和复用,我们要对地理科学家提供的地理模型进行拆分和重新封装,最终以WebService的形式发布到各个执行节点。为了为模型选择提供条件,我们需要将执行节点的性能信息实时发送到模型管理环境中。 4.主控节点 主控节点主要是解析模型契约,然后根据模型契约描述,调用分布在各个执行节点上的地理模型。控制节点要负责执行节点之间的数据交互,监控地理模型的运行状态;控制节点还要与用户进行交互,将地理模型的运行状态及计算结果反馈给用户。 5.数据中心 数据中心是地理模型获取处理数据源的数据仓库。地理模型运行之前要先到数据中心下载数据文件,地理模型计算完成之后,要将数据文件传到数据中心。 执行引擎的工作流程如下:用户提交模型契约后,执行引擎首先要校验该模型契约是否遵循模型契约规范;通过校验后,执行引擎将模型契约转化成内存契约结构,转化过程中需要根据模型契约描述从模型管理环境提取模型描述信息;接下来,根据模型契约描述的执行顺序关系调用部署在不同执行节点上的地理模型,地理模型执行时,需要先从数据中心下载待处理数据,完成计算后将最终的结果文件上传至数据中心,地理模型执行过程中,通过消息机制向执行引擎发送反馈信息和数据请求信息。 本文最后通过四个实验,验证了所设计的执行引擎可以有效的工作。