Software Engineering and Applications
Vol.3 No.03(2014), Article ID:13707,12 pages
DOI:10.12677/SEA.2014.33008

Design of Forestry of Cloud Service Splat Form Based on Software Engineering Method

Fan Li1, Yan Ma1, Xu Zhang1, Yong Ma2, Pengdong Gao3

1Institute of Forest Resource Information Technique, Chinese Academy of Forestry, Beijing

2Institute of Remote Sensing and Digital Earth, Chinese Academy of Sciences, Beijing

3High Performance Computing Center, Communication University of China, Beijing

Email: lifan@ifrit.ac.cn

Copyright © 2014 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

Received: Apr. 5th, 2014; revised: May 7th, 2014; accepted: May 15th, 2014

ABSTRACT

With full development of information technologies, such as cloud computing, big data and Internet of things, the forestry informatization also entered a new stage of development. This paper designed the standardization of forestry cloud service platform including requirement analysis and profile design through the software engineering method, which serves for the development and testing of forestry cloud service platform.

Keywords:Soft Engineering, Cloud Computing, Forestry Information Resources

基于软件工程的方法构建林业云服务平台

李  凡1,马  琰1,张  旭1,马  勇2,高鹏东3

1中国林业科学研究院资源信息研究所,北京

2中国科学院遥感与数字地球研究所,北京

3中国传媒大学高性能计算中心,北京

Email: lifan@ifrit.ac.cn

收稿日期:2014年4月5日;修回日期:2014年5月7日;录用日期:2014年5月15日

摘  要

随着云计算、大数据、物联网等信息技术的兴起和日渐成熟,林业信息化也步入了崭新的发展阶段。本文将通过软件工程的方法,从需求分析到概要设计,对林业云服务平台进行规范化的设计,方便林业云服务平台的开发与测试。

关键词

软件工程,云计算,林业信息资源

1. 引言

森林作为陆地生态系统主体,在调节全球碳平衡、减缓大气CO2浓度上升,以及调节全球气候方面具有不可替代的作用。现代林业科研信息化是依靠先进的计算机技术、遥感技术、GIS技术与地面调查相结合。随着遥感、地面传感器等观测数据的快速增加、数据资源的复杂度和计算量的也随之加大,传统的科学研究方法和手段已经暴露出其明显的不足:一方面,小范围、封闭式的科学研究活动,造成信息不能快速流动和充分共享,造成重复劳动、效率低下的问题,延长了重大科研成果产出的时间。另一方面,传统的观测实验、理论分析的科研手段,在面对很多复杂问题时已经显得无能为力,迫切需要对大规模数据的处理分析、计算模拟和仿真等新的科研方法的支持[1] 。

利用先进的云计算技术,解决林业遥感海量数据存储、处理以及系统共享等问题,将硬件资源、数据资源、处理技术、应用服务以及产品信息等打包成可动态使用的服务,提供给开发者和普通用户。林业信息系统开发工作者提供了一站式工作平台,使其无需关注基础建设,而专注于自身业务应用,有利于降低成本,推动林业科研的深入快速发展;并且也通过社会化、专业化的服务,降低了林业信息技术应用的门槛,为向公众普及林业知识、全面了解林业资源、宣传林业贡献提供了方便的途径和渠道[2] -[4] 。

2. 总体需求

林业资源是森林资源、荒漠化/沙化与石漠化土地资源、湿地资源和生物多样性资源的统称。林业资源信息是指在一定时间和空间范围内,利用各种信息采集、处理和分析技术及其它相关技术,对森林生态系统、荒漠生态系统、湿地生态系统及其它相关的生态系统进行系统的观察、测定、分析和评价而获取的各类数据,能有效反映资源历史、现状、动态及趋势等。

围绕林业的四类业务职能,目前存在的主要的林业信息系统有:森林资源监测系统、湿地资源监测系统、荒漠化监测系统、生态工程监测系统、森林灾害监测系统和公众门户(图1)。

1) 森林资源监测系统主要是利用少量地面调查样地对应的遥感和GIS信息,采用非线性算法,建立以样地大小为单位的森林蓄积量、生物量和郁闭度定量估测模型。结合监测区域地理信息资料和高分辨率遥感影像,实现对任意区域森林蓄积量、生物量和郁闭度的定量估测;

2) 湿地资源监测系统主要利用遥感数据和湿地植被光谱地面调查数据、湿地资源调查数据,实现对湿地类型信息、湿地植被信息提取为主要目的湿地资源监测。

3) 荒漠化监测系统主要是利用遥感手段监测荒漠化地区的生态环境、指标覆盖以及评估土地生产力,为改造荒漠化做决策支撑;

4) 生态工程监测系统利用遥感数据的分析,实施连续监测,随时掌握林业生态工程实施情况,通过

Figure 1. Main forestry business applications

图1. 林业主要业务应用

对工程建设成果数据的统一管理,及时了解工程建设情况,充分发挥监测成果对生态工程建设的决策支撑作用;

5) 森林灾害监测系统是利用林业基础数据以及天气、地质等部门的监测信息,采用模型预测的方法,实现对森林重大灾害和生态状态的预报预警、应急处理和影响评估;

6) 公众门户主要以网站的形式的存在,主要是发布林业信息,方便公众用户查询、检索。

林业云服务平台就是在整合分散于不同地理位置的高性能计算集群、专用计算设备、各种遥感数据资源等的基础上,实现了多用户无冲突、安全、灵活地访问各种异构动态的资源,为林业科研人员提供一个开放、透明的资源使用平台,为公众提供各种标准化或者个性化林业应用服务[5] [6] 。因此其需求主要包括如下四个方面:

1) 实现各类林业信息的数据管理,如矢量森林资源分布数据的质检、入库、更新、备份等等;

2) 提供各类林业信息的服务管理,如森林资源分布数据制作成标准的Web Server服务,并进行服务的注册、审核、发布、查询、定制等等;

3) 实现高性能的林业信息处理,对林业应用产品进行实时或者近实时的生产,并按照一定的级别向不同权限的用户进行分发、共享和发布;

4) 实现各类林业服务用户管理,如用户注册、用户权限等等。

该平台采用云计算技术,通过平台管理系统不仅要实现各类计算资源的实时监控与管理、作业环境管理、数据资源管理以及林业专业应用管理等功能,而且还要实现平台框架的管理子系统,以便支持林业业务应用子系统的运行,构成一个统一授权、统一认证、统一管理的平台管理系统。

根据上述需求分析,该平台可以分为接口与界面管理子系统、通用支撑服务子系统、数据资源管理子系统、平台资源管理子系统以及应用系统管理子系统,如图2所示。

3. 子系统设计

对林业云服务平台的5个子系统流程的进行了分析,并给出了系统流程图,对其中的数据资源管理系统进行了详细的设计。

3.1. 接口与界面管理子系统

接口与界面管理负责林业应用示范系统的界面管理和应用程序的接口管理。界面管理是平台的重要组成部分,管理基于Portal架构实现的各类组件,为林业应用示范系统提供界面定制功能,包括专题组件的选取、界面格局的定制,界面风格的配置等。接口管理负责应用程序接口的维护和发布,针对不同的林业应用系统开发人员发布相应授权的应用程序接口。接口与界面管理的流程图如图3所示。

3.2. 应用系统管理子系统

应用系统管理对所有的林业计算应用进行集中管理,是一个开放的应用管理和消费平台。应用系统

Figure 2. Structure of forest cloud services platform

图2. 林业云服务平台组成

Figure 3. İnterface and user interface management flow diagram

图3. 接口与用户界面管理流程图

管理子系统实现在因特网环境下进行信息和林业计算应用的集成,能够依据新的需求,快速、灵活地集成和发布各种已有的和新增的林业计算应用,使它们可以有机协同地为终端用户提供服务,并满足不同用户所需的服务质量标准[7] [8] 。应用管理子系统提供了林业计算应用的发布、订阅、注册、消费统计等机制。应用系统管理流程如图4所示。

3.3. 数据资源管理子系统

数据资源管理根据林业遥感数据资源分类及其服务规划,以文件或数据库的方式对数据资源进行集中管理,实现表格数据、空间矢量数据与栅格数据等多种林业及其相关资料的集中管理和交换,形成统一开发调用接口,规范数据访问,确保数据编辑与汇交数据的开放性,通过版本控制数据变化轨迹,管理数据的签入、签出、回滚、分支等操作,保证资源数据在共享操作状态中的安全性与完整性,并实现在线与近线的两线存储方式和多镜像数据同步机制。此外,为了加强数据的安全管理,实现对数据的定期备份,并提供相应的快速恢复机制。在数据服务上,对外提供在线服务调用和域空间数据共享两种方式。数据资源管理流程图如图5所示。

数据管理子系统在当在页面需提交请求之后要后,直接调用数据请求的接口,将页面标记传送给数据层,验证提交请求的信息,成功后获取相应的数据或者生成相应的数据元信息,并进行快视图显示,之后相关请求例如查询、下载等。该实例根据页面相关信息进行实例化,生成请求任务。活动图见图6

数据管理子系统的设计包括共包含图像主窗口显示类(ImageMainWindow类)、图像显示级联类(ImageCoordinatedsWindow类)、图像属性显示类(PixelInfomationDlg类)、文件导出类(FtpInterface类)、文件执行类(FtpTaskMessage类)、文件管理支撑类(FtpDo类)、文件下载类(FtpDownloadTask类)、文件上传类(FtpUploadTask类)。类图见图7

1) ImageCoordinatedsWindow类用于管理多波段的遥感数据的显示。

Figure 4. Application system Management Flow diagram 

图4. 应用系统管理流程图

Figure 5. Data resource management flow diagram

图5. 数据资源管理流程图

Figure 6. Data management module activity diagram

图6. 数据管理模块活动图

2) ImageMainWindow类用于集成了遥感图像增强算法,通过设置不同的参数来显示遥感图像。

3) PixelInformationDlg类继承于Swing的Dialog类,主要用于显示当前图像的属性信息,如:基本信息、投影信息等。

4) FtpInterface类的作用是响应客户端的文件导出按钮。

5) FtpTaskMessage类是上传下载模块的模型类,定义一些上传下载所需要成员变量及对应的set/get

Figure 7. Data management module class diagram

图7. 数据管理子系统部分类图

方法。

6) FtpDownloadTask类存放了下载文件的一些信息,如下载文件名和文件个数。

7) FtpUploadTask类存放了上传文件的一些信息,如上传文件名和文件个数。

8) FtpDo类是上传下载模块的业务逻辑支撑类,定义并实现了具体的上传下载方法。

用户通过页面发出请求,通过FtpInterface类,生成任务请求,并调用FtpDo类与数据库进行交换,可以显示图像快视图,确认后进行数据的请求。数据管理子系统时序图如图8所示。

Figure 8. Data management module timing diagram

图8. 数据管理模块时序图

3.4. 平台资源管理子系统

平台资源管理主要负责对平台中所有的硬件设备、软件资源和算法库资源进行统一的管理和调度。其中,硬件设备包括高性能计算机、平台服务器、应用服务器、专有仪器等;软件资源即包括林业系统用户自己开发的专业应用,还包括第三方的工具软件和应用软件;算法库资源是林业云服务平台已经实现并完成封装、用户可以直接调用的专用函数库资源。林业云服务平台不仅实现了对上述各类资源的集成,而且还实现了对硬件系统的状态监控,以及对高性能计算机、应用服务器和专有仪器的资源管理、作业调度和使用统计等功能。平台服务器是连接用户和平台资源的桥梁与纽带[9] [10] 。

用户在使用平台资源时,从门户网站登录后,需要由平台服务器对其身份和权限进行验证。只有验证通过的授权用户才能有资格使用平台提供的软硬件资源。

平台资源管理流程图如图9所示。

3.5. 通用支撑服务子系统

通用支撑服务为平台提供基础支撑服务,是平台的基础服务支撑。它和管理层通过一系列接口进行交互。本系统基于提供用户、权限、日志等基础服务和使用这些服务的接口。

通用支撑服务的设计要包括对用户及权限的统一管理、业务系统的配置信息管理、平台公共信息的管理以及平台系统日志文件的管理等内容。

具体流程如图10所示。

4. 功能性需求

林业云服务平台所提供的服务的主要对象主要有系统管理人员、业务开发人员和公众用户,使用的资源主要由硬件资源、软件资源、数据资源、算法库等,提供专题图产品和公众信息。林业应用系统粗粒度用例图如下面3个图所示。

1) 业务开发人员主要利用林业云平台的数据资源、算法资源以及平台中固有的处理模型或者自定义

Figure 9. Platform resource management flow diagram

图9. 平台资源管理流程图

Figure 10. General support service flow diagram

图10. 通用支撑服务流程图

的处理模型进行产品的生产处理,获得相应的应用处理服务。如图11所示。

2) 系统管理人员主要通过平台提供的一系列管理监控服务对平台的数据资源、硬件资源、软件资源和模型设计服务等进行维护与开发,保证各项资源重复地利用,各项服务可靠安全提供,系统高效低运行。如图12所示。

Figure 11. Business development staff use case diagram

图11. 业务开发人员用例图

Figure 12. System administrators use case diagram

图12. 系统管理人员用例图

3) 公共用户主要通过云平台提供的服务资源进行信息查询、产品下载,及时有效地了解相关的信息资源和动态。如图13所示。

5. 数据结构设计

林业云服务平台的数据来源分为本地资源管理和远程资源管理。

本地资源根据存储方式的不同划分为文件系统与关系型数据库两大类。文件系统再细分为本地磁盘存储数据资源与操作系统存储在同一台服务器的多个物理磁盘,第二类网络磁盘数据资源分布存储于局域网环境下其它服务器的多个物理磁盘,通过网络映射磁盘在操作系统的本地使用。

Figure 13. Public users use case diagram

图13. 公众用户人员用例图

文件系统的特点多是独立存储,通过目录管理分散的文件资源,支持的资源类型没有任何限制,资源访问方式简单支持所有的应用系统使用。

本地资源的另一个分类是关系型数据库,数据库保存的信息可以根据业务逻辑的需要定义数据间相互关联的信息,对资源的管理提供方便、灵活的实现途径,并且便于发现、分析与统计数据的更多信息。按照数据库存储资源的不同又划分为文本数据库与空间数据库,文本数据库多用来存储属性信息,而空间数据库在属性信息基础上增加地理坐标与空间数据表达等信息的存储,不同的数据库产品存储的空间信息不兼容彼此。

远程资源按照提供服务类型的方式划分为数据文件路径与网络数据服务两大类。基于网路的数据文件路径通常表示为网络资源定位符,遵照W3C标准中明确定义的资源URL路径包含有协议、主机、端口、路径及参数等信息共同组成。常见URL路径按照HTTP、FTP协议提供资源文件访问路径。

网络数据服务类型属于基于网络提供数据资源访问接口,按照访问接口的定义不同划分有OGC标准是开放地理信息联盟提出并制定的地理信息系统间数据和服务的互操作提供的统一服务接口定义。这种基于网络的数据与服务的互操作提供了Web地图服务、Web要素服务、Web覆盖服务等空间数据资源的高级别的数据资源服务。

为整个数据库设计的总体ER图。整个数据库设计了13个数据表,通过外键将各个表联系起来(图14)。

6. 结论

本文主要从软件工程设计的角度出发,在深入剖析当前林业应用服务现状的基础上,结合林业应用服务需求,提出了适合林业的云服务平台,该服务平台包括“通用支撑服务子系统”、“资源管理子系统”、“数据资源管理子系统”、“应用系统管理子系统”和“接口与界面管理子系统”五个子系统。通过五个子系统的彼此支持,实现各项服务的可靠高效。

通过构建林业云服务平台,为林业应用系统的开发者提供公共算法服务、海量的林业监测数据服务,并为他们提供了虚拟开发和工作环境,使他们能够方便的调用云平台中的资源,提高了开发效率,也节省了大量的分析处理的时间,使他们更加关注于本领域的业务工作。对公众用户,林业云服务平台对他们是透明的,他们只会感受到更加方便快捷的下载林业信息化产品和服务,不会感觉到平台的存在,这才是平台的意义所在。

基金项目

项目来源:中央级公益性科研院所基本科研业务费专项“森林资源与生态环境监测e-Science平台设

Figure 14. Database ER diagram

图14. 数据库ER图

计与初步实现(编号IFRIT201104)”和高分重大专项(21-Y30B05-9001-13/15)。

参考文献 (References)

  1. [1]   Yang, C., Goodchild, M., Huang, Q., et al. (2011) Spatial cloud computing: How can the geospatial sciences use and help shape cloud computing? International Journal of Digital Earth, 4, 305-329.

  2. [2]   方雷 (2011) 基于云计算的土地资源服务高效处理平台关键技术探索与研究. 浙江大学, 杭州.

  3. [3]   石永阁, 边馥苓 (2011) 基于云平台的遥感信息公共服务研究. 地理信息世界, 3, 26-29.

  4. [4]   康俊锋 (2011) 云计算环境下高分辨率遥感影像存储与高效管理技术研究. 浙江大学, 杭州.

  5. [5]   Nogueras-Iso, J., Zarazaga-Soria, F.J., R. Bejar, Alvarez, P.J. and Muro-Medrano, P.R. (2005) OGC Catalog Services: a key element for the development of Spatial Data Infrastructures. Computers & Geosciences, 31, 199-209.

  6. [6]   Frehner, M. and Bra’ndli, M. (2006) Virtual database: Spatial analysis in a Web-based data management system for distributed ecological data. Environmental Modelling & Software, 21, 1544-1554.

  7. [7]   李珺, 张贵, 谭三清 (2012) 林业信息共享中云计算应用. 湖南林业科技, 3, 10-14.

  8. [8]   刘异, 呙维, 江万寿, 等 (2009) 一种基于云计算模型的遥感处理服务模式研究与实现. 计算机应用研究, 9, 3428-3431.

  9. [9]   郭美荣, 李瑾, 秦向阳 (2012) 农业信息服务云平台架构初探. 农业网络信息, 2, 13-16.

  10. [10]   刘亚秋, 景维鹏, 井云凌 (2011) 高可靠云计算平台及其在智慧林业中的应用. 世界林业研究, 5, 18-24.

期刊菜单