刘海燕+刘晓民+史宝会+万峥
摘要:针对现有流域模型集成系统接口不统一,系统与模型之间集成困难,缺乏通用性和可扩展性等问题,采用SOA与云计算技术,构建了一个开放的、可扩展的、可共享的水利模拟模型集成架构。在该架构中,借鉴SOA的设计思想,将云服务系统的各项业务分解为颗粒度不同的服务,各子功能封装为标准的web服务。采用SOA典型的模块性特征,将流域模拟模型的集成架构分为客户端、云服务平台、云计算应用程序接口层、模型管理服务层、云服务管理层、物理资源层,使得集成模型的各应用系统的服务来源于各层。该架构增强了水利专业模型平台的开放性、用户交互性以及平台的通用性。
关键词:云计算;流域模拟模型;面向服务的架构;架构;Webservice
中图分类号:P334;G353.1 文献标识码:A 文章编号:1672-1683(2017)03-0020-05
Abstract:The interfaces of the existing integration systems of digital watershed simulation models are not uniform.The integration is difficult between integration systems and models.The system lacks versatility and scalability.To solve the problems mentioned above,this paper built an open,scalable,and shareable integration architecture for digital watershed simulation models by using SOA and cloud computing technologies.In this architecture,the various transactions in the cloud service system were decomposed into services of different granularities,and the sub-functions were packaged as standard web services.Taking advantage of the typical modularity feature of SOA,the integrated architecture was divided into client layer,cloud service platform,cloud computing application interface layer,model management service layer,cloud service management layer,and physical resources layer.The application system services of the integrated model originated from these layers.This architecture enhanced the openness,interactivity and versatility of water conservancy model platforms.
Key words:cloud computing;digital watershed simulation model;service oriented architecture;architecture;Webservice
水利数学模型在水管理和水利工程建设中广泛地应用,发挥着重要的作用。随着水利模拟对象越来越复杂,需将不同过程、不同要素、不同尺度的水利相关数学模型进行耦合集成,用以描述水资源系统变化,表达水运动的物理过程和水信息流通过程。然而,当前已有的多模型集成应用涉及问题多,难度大,主要体现在3个方面:(1)大多数模型系统是针对具体的应用背景而研制的,模型集成系统缺乏对各单项技术进行有规划的整合,运行需要的基础数据结构与格式各异,导致模型的可重用性差,难以对外提供模型服务[1];(2)随着计算量的剧增,高性能的计算资源的要求不断提高,导致软硬件的购置费与系统的维护费增加; (3)模型集成系统缺乏系统架构设计造成模型平台的灵活性和可扩展性较差,同时,模型集成系统缺乏对各单项技术进行有规划的整合,使得系统缺乏通用性和系统性[2]。这些均阻碍了模型集成系统的发展。
为解决上述问题,很多学者在模型组件、模型集成方面做了大量的研究。在文献[3-5]中,应用组件和Web service技术及面向服务的体系结构(SOA)对模块进行封装并发布服务,形成洪水预报模型组件库;2005年欧洲推出了数学模型接口标准化OpenMI系统。文献[1]以一维水动力学模型为例,提出了基于云计算的模型集成方法和調度模式。文献[6]基于云计算,设计开发了包括门户网站、模型参数自动优选服务与实时流域洪水预报服务的流溪河模型云服务平台。文献[7]提出了基于Hadoop的水文云计算平台。文献[8]将SWAT-DEG模型作为云服务进行了开发,提高了系统的可访问性和可扩展性。文献[9]提出了基于云计算的水文模拟平台。文献[10]基于亚马逊云开发和实现了高性能计算环境并将水文参数估算应用到该环境中。以上的研究为多模型集成提供了一种新的思路,尤其是云服务模式,对解决模型集成系统存在的数据接口、模型重用性和软件系统的扩展性、服务模式方面的问题提供了新的解决方法。
因此,在本文中,利用云计算充足的计算资源,借鉴SOA设计的思想,针对水利模型软件集成系统存在的问题,基于云计算模式和SOA技术,构建一个开放的、可扩展的、可共享的水利模拟模型集成框架,将数学模型系统转换为水资源领域的云服务,方便使用者通过手机或者移动设备(如计算机)输入模型参数后,驱动云端的流域模型,将计算结果返回给使用者,对流域的动态随时随地进行监控和高效管理。
1 SOA与云计算
SOA(Service Oriented Architecture,面向服务的架构)是一种软件架构,服务之间通过标准的接口进行通讯,主要特征包括服务的可复用性、服务是松耦合的、服务是可组合的、服务是动态的等[11]。在SOA的体系架构中,主要由服务提供者、服务消费者、服务注册中心三个参与者和服务的发布、查找、绑定三种操作组成[12]。架构图如图1所示。
云计算的关键特征是按需提供服务,能够向各种应用提供所需的服务,其架构主要由IAAS(基础设施既服务)、PAAS平台即服务)、SAAS(软件即服务),而SOA是一个组件模型,它将依靠各服务之间定义良好的接口和契约的应用程序联系起来[13-14]。将云计算与SOA紧密结合起来,二者互相联系,互相补充。
2 平台框架设计
在本文中,借鉴SOA的设计思想,将云服务系统的各项业务分解为颗粒度不同的服务,各子功能封装为标准的Web服务,并采用SOA典型的模块性特征,将流域模拟模型的集成架构分层设计,使得集成模型的各应用系统的服务来源于各层,每层由一些基本模块组成,每层之间以及各模块之间彼此相关。同时,根据流域模型的结构组成,基于SOA的云计算模式的流域模拟模型的系统总体框架该架构自顶向下共分为6层:客户端、云服务平台、云计算应用程序接口层、模型管理服务层、云服务管理层、物理资源层。如图2所示。
在该模型集成架构中,将物理资源层、云服务管理层、模型管理服务层与云计算应用程序接口层作为整个架构的服务提供者;云服务平台为集成架构的服务注册中心;客户端作为架构的服务消费者。服务提供者通过云计算机应用程序接口为服务消费者提供了云服务,并对服务注册中心发布其服务。服务消费者通过服务消费者提供的一个服务进行绑定,通过该服务实现业务解决方案。服务注册中心存储了各种服务的描述。服务消费者通过云服务平台查找所需的服务(比如:数据资源、模型服务等)。
在该架构中,借助云服务管理层的服务集成组件,提供基于Web service技术标准的服务传输、服务集成、服务交互、服务安全和服务管理机制,实现各服务之间集中式服务注册、发布、调用、管理,实现数据资源信息共享,服务信息交换模式见图3。
2.1 物理资源层
物理资源层主要由存储资源、计算资源、数据资源以及其他资源等组成。该层主要为模型运算过程中提供各种可共享的资源。其中,数据资源主要由主题数据库、专题数据库、基础数据库以及元数据组成。在该架构中为了客户端和云端调用数据的方便性,采用面向对象的方法对数据进行封装。
2.2 云服务管理层与服务平台
云服务管理层主要对云计算的资源进行管理,该层的服务被封装成标准的服务,并纳入到体系进行管理和使用。根据云服务管理层的作用可将云服务管理层分为任务管理、用户管理、资源管理以及安全管理四部分,如图4所示。
当云端的客户向云服务提供者发起资源请求,云服务接口层将用户的请求首先发送云服务层,判断用户的身份、请求的资源以及安全认证等。当判断所请求的是合法请求后,任务调度内核将服务请求发给云服务提供者,检查是否存在请求的资源。若存在,则查找资源所在的位置,为请求者分配所需的资源,在资源分配表中记录资源分配情况,服务请求者和服务提供者通过该服务进行绑定,实现服务之间的交互[15-16]。
在该架构中,云服务平台想当于云服务的代理和控制中心,主要存储各种服务的描述以及服务接口的信息,服务提供者也将自己的服务接口在该平台进行注册。云服务平台的功能主要有两个方面:(1)客户端的用户根据自己的需要向云服务平台查询自己的服务及通过接口层使用所需的服务;(2)云服务平台负责定期地监控在其上注册的服务的可用性,比如可以向服务提供者发送检测信号,并根据返回结果在注册中心标记服务的状态[17]。
2.3 模型管理服务
模型管理服务是整个架构的核心,主要负责模型库的管理、组件的管理、数据的管理、结果的查找等工作。从计算机建模的角度,将流域模型分为物理结构(由模型的控制方程、参数方程、与其他模型的耦合接口组成)、输入输出接口(模型与模型数据集之间的关系)、用户界面(命令行界面、图形用户界面、Web用户界面等)和辅助工具(参数标定、模型数据集制备份等工具)4个组成部分[18]。本文根据流域模型的结构组成,将模型划分为流域模型组件、模型构造器以及模型更新三部分。图5为模型管理服务组成结构图。
2.3.1 模型组件化服务
流域模型的组件化构建是模型组件化的核心思想[19]。组件化构建越优,则组件的重用率越高,越节省资源。组件化模式可以分为多个模型共用一个或者多个组件和多个组件的组合搭建。在该集成架构中,为提高模型的通用性和重用性,根据模型的逻辑结构和数据的逻辑顺序,将模型进行组件化。
流域模型块主要由通用组件和模型组件组成。通用组件为上层数字流域模型组件的运行提供多学科服务,主要是由数据输入/输出组件、数据参数处理组件、敏感性分析组件、算法組件、性能监视与优化组件、分布式可视化组件、语言互操作组件、分布式计算驾驭组件以及容错服务组件、组件知识库、应用构建引擎组件、注册服务组件组成。模型组件主要是根据据模型的计算过程或逻辑结构将流域模拟模型进行组件化,划分后利用组件技术、Web service等技术对划分的模块进行封装。
2.3.2 模型构造服务
模型构造服务支持单个模型与一个易于使用的图形用户界面的集成和配置,同时也具备组件输出参数为后续组件的输入参数的映射能力。能对不同的模型结构进行存储和管理。通过模型构造器集成和配置的模型很容易地传给其他用户或在其他计算机环境内执行。
2.3.3 模型更新服务
模型更新提供了对集成在框架的现有模块更新和下载的功能。被分解的模型组件将模型构件封装在该模块内。通过网络,该框架将集成的这些模型很容易的提供给其他使用该框架的用户使用,这些用户通过更新中心能够获得和安装这些模型。所有的模型组件可以提供附加的签名密钥和授权信息,以保护它们在未经许可的情况下被修改,确保开发人员的知识产权。
3 结语
本文设计了基于SOA的云计算模式的流域模拟模型的系统总体架构,并对该架构的每一层的功能进行了描述。该架构借鉴了SOA的设计思想,采用云计算技术解决水利模型在数据接口、模型调用、模型交互及处理以及计算资源分配等应用中存在的问题,解决了多模型集成时资源共享难、计算力不足,模型集成系统通用性与扩展性差等问题。该架构的提出为研究集众多模型于一体,使用方便,实用性强的通用流域软件系统是具有重要的现实意义。
参考文献(References):
[1] 荣华,魏加华,翁燕章,等.HydroMP:基于云计算的水动力学建模及计算服务平台[J].清华大学学报:自然科学版,2014,54(5):575-583.(LIU Rong-hua,WEI Jia-hua,WENG Yan-zhang,et al.HydroMP:A cloud computing based platform for hydraulic modeling and simulation service [J].Journal of Tsinghua University:Science &Technology,2014,54(5):575-583.(in Chinese))
[2] Liu H Y,Liu X M,Shi B H,et al.Research on Framework of Integration Platform for Digital Watershed based on SOA[J].Energy Education Science & Technology Part A:Energy Science and Research,2014,32(4):2895-2904.
[3] 蘇毅民,张永进,解建仓,等.基于网格平台的水文预报集成应用模式[J].华中科技大学学报:自然科学版,2011,39(1):161-165.(SUN Yi-min,ZHANG Yong-jin,XIE Jian-cang,et al.Integrated application mode of hydrological forecasting based on grid platform [J].Journal of Huazhong University of Science and Technology:Natural Science Edition,2011,39(1):161-165.(in Chinese))
[4] 解建仓,赵杰,张刚,等.基于综合集成平台的洪水预报及集成应用[J].水利信息化,2011,5:5-31.(XIE Jian-cang,ZHAO Jie,ZHANG Gang,et al.Flood forecasting and its integrated application based on an integrated service platform [J].Water Resources Informatization,2011,5:5-31.(in Chinese))
[5] 张刚,解建仓,罗军刚.洪水预报模型组件化及应用[J].水利学报,2011,42(12):1479-1486.(ZHANG Gang,XIE Jian-cang,LUO Jun-gang.Componentized model of flood forecast and its application [J].Journal of Hydraulic Engineering,2011,42(12):1479-1486.(in Chinese))
[6] 陈洋波,董溢.流溪河模型云服务平台设计与开发[C].中国水利学会2013学术年会,2013,1231-1237.(CHEN Yang-bo,DONG Yi.The design and development of cloud service platform for Liuxi River model [C].2013 Annual Meeting of Chinese Hydraulic Engineering society,2013:1231-1237.(in Chinese))
[7] 尹炜靖,万定生,关兴中.基于云计算的水文数据共享平台的应用研究[J].信息技术,2013(8):68-72.(YIN Wei-jing,WAN Ding-sheng,GUAN Xing-zhong.Application of hydrology data sharing platform based on cloud computing [J].Information Technology,2013(8):68-72.(in Chinese))
[8] Ditty J K,Allen P,David O,et al.Deployment of SWAT-DEG as a web infrastructure utilizing cloud computing for stream restoration [C].7th International Congress on Environmental Modelling and Software:Bold Visions for Environmental Modeling,2014,1:238-242.
[9] Burger C M,Kollet S,Schuacher J,et al.Introduction of a web service for cloud computing with the integrated hydrologic simulation platform ParFlow [J].Computers & Geosciences,2012,48:334-336.
[10] Zhang G J,Yao Y Y,Zheng C M.HPC environment on Azure cloud for hydrological parameter estimation [C].17th IEEE International Conference on Computational Science and Engineering,2013,8:299-304.
[11] 朱仕杰.基于SOA的水文模型集成研究[D].l蘭州:兰州大学,2009.(ZHU Shi-jie.Research of Hydrological Model Integration Based on SOA [D].Lanzhou:Lanzhou University,2009.(in Chinese))
[12] 崔云飞,李艺,李昀,等.基于SOA的云计算体系结构研究[J].装备指挥技术学院学报,2011,22(4):78-81.(CUI Yun-fei,LI YI,LI Jun,et al.Cloud computing architecture research based on service oriented architecture [J].Journal of the Academy of Equipment Command & Technology,2013:1231-1237.(in Chinese))
[13] Zhang Q,Cheng L,Boutaba R.Cloud computing:state-of-the-art and research challenges [J].Journal of Internet Services and Applications,2010,(1):7-18.
[14] Zhang X,Kunjithapatham A,Jeong S,Gibbs S.Towards an Elastic Application Model for Augmenting the Computing Capabilities of Mobile Devices with Cloud Computing [J].Mobile Networks and Application,2011,(16):270-284.
[15] 梁爽.基于SOA的云计算框架模型的研究与实现[J].计算机工程与应用,2011,47(35):92-94.(LIANG Shuang.The design and realization of cloud computing framework model based on SOA [J].Computer Engineering and Applications,2011,47(35):92-94.(in Chinese))
[16] 张潇元,刘利人,韩海雯.基于SOA云架构的电子监察业务平台的设计与构建[J].计算机科学,2014,41(1A):473-474.(ZHANG Xiao-yuan,LIU Li-ren,HAN Hai-wen.Supervision collaboration platform based on SOA and cloud computing technologies [J].Computer Science,2014,41(1A):473-474.(in Chinese))
[17] 朱志良,苑海涛,宋杰,等.SOA与云计算:竞争还是融合[J].计算机科学,2011,38(12):6-9.(ZHU Zhi-liang,YUAN Hai-tao,SONG Jie,et al.SOA and cloud computing:competition or integration [J].Computer Science,2011,38(12):6-9.(in Chinese))
[18] 李新,程国栋,康尔泗,等.数字黑河的思考与实践 3:模型集成[J].地球科学进展,2010,25(8):851-865.(LI Xin,CHENG Guo-dong,KANG Er-si,et al.Digital Heihe River basin 3:model integration [J].Advances in Earth Science,2010,25(8):851-865.(in Chinese))
[19] 刘海燕,刘晓民,魏加华,等.组件式流域模拟模型集成技术进展及发展趋势[J].南水北调与水利科技,2013,11(1):140-145.(LIU Hai-yan,LIU Xiao-min,WEI Jia-hua,et al.Progress and development trend of watershed simulation model integration based on component technology [J].South-to-North Water Transfers and Water Science & Technology,2013,11(1):140-145.(in Chinese))