文章信息
- 常原飞, 武红敢, 董振辉, 崔福东, 刘丽, 荐军, 张迎, 李卫国
- Chang Yuanfei, Wu Honggan, Dong Zhenhui, Cui Fudong, Liu Li, Jian Jun, Zhang Ying, Li Weiguo
- 国家级林业有害生物灾害监测与预警系统
- A National Monitoring and Warning System for Forest Pest Based on Service-Oriented Architecture
- 林业科学, 2011, 47(6): 93-100.
- Scientia Silvae Sinicae, 2011, 47(6): 93-100.
-
文章历史
- 收稿日期:2009-11-18
- 修回日期:2010-02-03
-
作者相关文章
2. 中国林业科学研究院资源信息研究所 北京 100091;
3. 国家林业局森林病虫害防治总站 沈阳 110034
2. Institute of Forest Resource Information Technique, CAF Beijing 100091;
3. General Station of Forest Pest Control, State Forestry Administration Shenyang 110034
为了减轻森林病虫危害,现阶段我国每个县都建有森林病虫害防治站,负责森林病虫害的监测、预报和防治。在具体工作中还存在以下问题:首先,不少地区积累的资料仍为纸质图表,在共享和应用时有很多不便; 即使以电子表格形式记录的资料,由于缺乏统一的数据标准,各地区数据不能交流,信息还是无法得到充分利用。其次,森林病虫害的发生与具体的空间范围有着密切的关系,而过去的监测信息局限于文字描述方式,不能在地图上直观展示,难以使用空间技术进行分析和应用。最后,国家和一些地方已经建立了许多林业有害生物监测系统,但是这些系统彼此孤立,缺乏决策支持能力,不能够在全国范围内及时监测灾害的发生和预测其发展蔓延情况,更谈不上为决策和防灾减灾提供重要的现实依据。
为了既能够在现有的林业灾害信息系统基础上,实现全国范围内林业有害生物灾害信息的网络化采集、传输、处理、分析、评价、发布与共享,使用3S技术,建立松耦合的国家级林业有害生物灾害监测预警系统成为最佳选择。国内已经有一些基于SOA (service-oriented architecture)松耦合架构(Thomas,2005)应用的研究,如在空间地理信息服务(刘纪平等,2006)、WebGIS (王怀宝等,2006)以及林业资源管理(李凡等,2006; 郭颖等,2009)方向的应用,但这些研究主要集中在Web服务的注册管理方面,未能对服务控制和组合进行探讨,也没有给出系统实例。本文将基于BPEL4WS (business process execution language for web services) (Barreto et al., 2007)实现服务控制和组合,并建立实际运行的业务系统。
1 系统需求分析按照《森林病虫害防治条例》,县级森防机构组织森林病虫害情况调查,并向上一级部门报告调查情况; 而国家/省/市级别用户需要综合分析下辖单位测报数据,定期发布辖区内短、中、长期趋势预报,并提出防治方案。由于国家级林业有害生物灾害监测预警系统的用户为国家、省、市、县四级的森防管理人员,因此主要有如下4类需求:
1) 生产需求 我国每年都有大面积森林病虫灾害发生,经济与生态损失巨大。为了尽可能降低灾害损失,就必须及时、准确地掌握灾害发生的具体状况,并对其发展趋势进行科学预测,以便为防灾减灾提供合理的决策支持。
2) 管理需求 为了更好地采集、储存并利用森林病虫灾害资料,并按照一定的标准进行数据的组织与建库,需要基于3S技术研制相应的专业应用系统,以便各级管理部门实现对其灾害信息的管理、查询、分析与应用。
3) 决策需求 在灾害信息数字化存储管理和信息快速更新的基础上,需进一步发展模型化的灾害分析技术,尤其是基于时间序列分析、趋势分析和生境分析的预测预报技术,以便及时预测灾害的发生和发展蔓延情况,从而为领导决策和防灾减灾提供重要的现实依据。
4) 公众需求 在网络和通讯能力飞速发展的新时代,应该将森林灾害管理与GIS及网络技术结合起来,向全社会实时发布最新的森林灾害信息,便于公众更多地参与防灾减灾活动,并充分发挥公众的监督能力。
按照上述需求,国家级林业有害生物灾害监测预警系统应当具有如下功能(图 1)。
如图 1所示,左边是县、省/地、国家3类不同级别的用户,他们所能使用的功能用箭头来表示,箭头的方向为数据的流向,表示为系统提供数据或使用系统中的数据。
国家级别用户可以使用系统对全国数据进行统计汇总报表,发布全国主要病虫害大范围、中长期的趋势预测,对各级森防机构进行目标考核,并对公众发布林业有害生物相关的信息。此外,国家级别用户能够查询和下载全国范围内所有病虫害的数据。
省/地级别用户可以对所辖区域数据进行统计汇总,并负责维护该区域的行政区划代码等基础数据; 另外,省/地级别用户可以查看国家用户发布的病虫害趋势预测,同时能够查询和下载所辖区域内所有病虫害的数据。
县级用户需要对所辖区域数据进行上报和汇总,并可以查看国家用户发布的病虫害趋势预测,也能够查询和下载县内所有病虫害的数据。此外,现有的远程监控系统、地面快速采集与监督检查系统等县级灾害监测系统可以集成在国家级系统中继续使用。
对于数据上报查询等林业有害生物管理的核心业务,国家级系统还提供了相应的GIS功能,使用户可以在可视化的地图界面上进行数据上报、统计、查询和趋势预测,使得业务工作更准确和直观。
2 系统总体结构从上一节的分析可以看出,系统功能有如下3个特点:1) 每一类功能需求相对独立,需求内部数据结构、功能的耦合性高,像日常业务管理中的上报、查询和统计功能使用同一套数据报表结构,空间可视化功能针对空间数据,而虫情监测功能更是自成运行系统; 2) 每一类需求之间有一定联系,但耦合性较低,例如业务数据可以作为专题制图的内容和预测模型的输入,但后者并不依赖于业务服务的数据而使用自身的数据; 3) 用户分布于全国各地,其需要的数据结构不尽相同,使用的系统也可能基于异构的平台开发,信息共享困难。
针对这种特点,系统采用SOA的松耦合架构。SOA是一个组件模型,它将应用程序的不同功能单元(Web Service)通过这些服务之间定义良好的接口和契约联系起来。服务的接口采用WSDL (web service description language)定义,独立于实现服务的硬件平台、操作系统和编程语言。服务之间通过SOAP(simple object access protocol)协议进行通讯。
在SOA架构下,系统由一个服务管理中心、若干业务服务提供者、若干空间数据服务提供者、若干决策支持服务提供者4部分组成,其中后3种服务提供者互为服务者和使用者。系统总体构架如图 2所示。
系统的4个组成部分全部处于网络环境下,通过SOAP协议进行通讯,其中:
1) 服务管理中心:整个松耦合系统的核心,它不仅提供服务的UDDI (universal description,discovery,and integration)注册和检索,而且还提供服务工作流和任务管理,包括Web服务调用、操纵数据、抛出故障或终止一个流程等工作的不同活动,然后按照用户需求将服务组合成复杂的工作流程来调用执行。服务管理中心并不实现具体业务功能,具体功能的实现都在3种服务上。
2) 业务服务:提供林业有害生物管理相关的日常管理业务服务。它的后台可以是现有的林业有害生物管理系统,也可以是本系统自身提供的服务,它们所共享的业务功能统一封装为Web Service,形成业务服务。
3) 空间数据服务:主要提供林业生物灾害的空间信息。由于林业系统现有大部分资料都是报表形式的资料,缺乏准确的空间位置描述,因而难以进行空间分析和预测。因此应当建立基于3S技术的管理信息系统,将灾害信息和空间信息按照一定的标准进行组织与建库,并提供相应的数据管理、查询、分析等Web Service。
4) 决策支持服务:主要提供林业有害生物预测预报模型服务,可以与数据绑定,也可以通过服务管理中心的UDDI服务搜索所需数据服务,并在服务管理中心工作流管理下为用户提供决策支持服务。
3 系统服务系统服务分为业务服务、空间数据服务和决策支持服务3类,三者互为服务提供者和服务使用者,因为可以互相调用组成服务链,从而实现空间可视化的林业有害生物管理功能。
3.1 业务服务系统业务服务指林业有害生物灾害监测、上报、查询显示、统计报表等管理服务。业务服务有2种类型:核心业务服务和第三方业务服务。前者是整个系统的基础,涉及到林业有害生物信息的数据结构和信息交换标准,由平台统一开发和维护,包括林业有害生物发生防治数据上报、查询显示和统计报表 3大功能,它们直接集成在国家系统中; 第三方服务指所有核心服务以外的业务服务,例如远程视频监控服务,它们通过将自身功能封装为Web Service,在本系统的服务管理中心注册并通过认证后,即可以面向全国用户进行服务。第三方业务服务的后台可以是现有的林业有害生物管理系统,例如国家林业局中心测报、防治、检疫系统,各地航空遥感综合监测系统、远程监控系统、地面快速采集与监督检查系统等。
1) 数据上报 只有县级用户可以将辖区内各乡镇每月的病虫害发生防治数据上报。其中用户只需要填写各种原始记录信息,需要计算的信息由系统计算完成。除了上述的结构化有害生物监测数据上报服务外,系统还提供虫情动态文字信息上报服务。虫情文字信息为非结构化数据,不进入数据库,采用文本文件管理。
2) 数据查询显示 分为简单查询和SQL查询。如果用户只需要按照行政区划、病虫害名称、发生时间和发生面积等对病虫害信息进行查询,那么可以选择易操作的简单查询,它能够按测报点名称、时间、所属省份、主测对象提取国家级中心测报点月报数据; SQL查询则可以通过自定义的SQL语句将用户所辖范围内的符合语句条件的任何信息查询出。查询的结果以表格和图形同时显示,其中图形显示调用系统的空间数据服务。
3) 统计报表 在所有下一级用户某个月信息完整时,用户可以对自身辖区范围内的该月信息进行统计汇总,结果进入数据库,并以图形和表单上显示,并可以打印图形和导出EXCEL格式的表单结果。
3.2 空间数据服务图形显示和浏览是空间数据服务提供的,它可以将表格数据结果以图的形式直观的反映出来,并提供缩放、漫游、选择、打印等等操作。在本系统中,由于业务/模型服务返回的结果都是针对某一空间区域,因此在结果都包含一个“地区代码”字段,该字段符合《GB/T 2260中华人民共和国行政区划代码》标准和相关林业区划标准,具有唯一性,可以用来与图形做关联,因此各种业务、模型服务的结果可以使用空间数据服务制作成专题图。
1) 地图级别 图形展示的数据结果有2个级别:原始数据和汇总数据。原始数据以小班或其他调查单元作为最小的调查单元。系统通过该最小调查单元的空间分布图,把病虫害发生防治的原始调查数据都和某一空间对象关联起来,并发布为空间数据服务。考虑到数据量等因素,小班级别的空间数据服务一般由县里发布和维护,各省林业资源部门负责质量监督。
汇总数据是通过基于小班等最小的调查单元的发生防治数据汇总而来,它们都与相应的行政/林业区划的空间数据对应,例如省、市、县等。县以上的行政/林业区划数据的空间数据服务可以由国家或省里来发布和维护,底图可以采用全国1 : 400万、1: 100万、1 : 25万、1 : 10万左右的行政管理和林业管理区划图。
2) 空间数据服务规范 为了显示和维护这些图形,系统遵循OGC相关规范开发林业空间数据服务:
A. WMS(web map services) :用来发布静态的栅格地图(JPEG/PNG等格式)数据;
B. WFS(web feature services) :用来发布提供要素模型的数据,这些数据是用矢量格式的GML (geographic markup language)进行编码的。
上述服务都遵守“OGC Web Services Common Specification ” (OGC,2007),它们都实现了GetCapabilities方法,该方法返回服务器能够提供的服务方法。此外,WMS实现了GetMap方法来提供标准格式的栅格地图; WFS除了实现了GetFeature方法来提供GML的矢量数据之外,还提供了<Insert>、<Update>、<Delete>的事务操作<Transaction>用来修改空间要素对象。
在WMS服务GetMap方法提供的地图中,一个图层中所有对象只能为统一的渲染风格,但由于林业业务管理需要,每个图层中不同的对象还需要按照属性进行不同风格的渲染,因此为其添加GetMapExt方法完成该功能。
除了上述的数据和地图服务外,系统按照OGC的Catalogue Services规范提供空间数据的目录服务,该服务部署在服务管理中心。
3.3 模型服务本系统并不直接提供模型预测功能,而是集成第三方的预测模型来为用户提供服务。模型服务由2个部分组成,一是服务本身,二是服务需要的数据。如果服务中的预测模型的数据需要定制,则模型为绑定运行,即服务和本身的数据为一体,提供整体服务。这种模型不能使用其他数据,不具有普适性。如果模型服务可以由林业有害生物管理系统的其他部分提供数据,例如业务服务中查询的结果,那么模型服务也可以独立运行而不与数据绑定,这种模型服务具有普适性。需要强调的是,由于模型的输入输出参数中存在空间数据,为了实现统一的模型调用接口,应将空间数据用GML格式来表达,从而实现模型对数据的识别、转换和运行。
4 服务管理中心为了高效地管理和使用林业有害生物管理的业务服务、空间数据服务和模型服务,并将离散的服务组合成松耦合的系统,需要建立统一的服务管理中心。中心提供了服务注册、查询以及服务工作流的控制和组合的功能。
1) 服务注册、查询 服务提供者提供的是离散的Web Service,用户并不清楚、也没必要知道每一个服务的内容。为了帮助用户快速定位和集成所关心的服务,需要在服务管理中心建立UDDI中心来统一描述、发现和集成Web Service。UDDI提供了一整套操作方法来对Web服务和商业实体进行注册和查询,但使用其提供的API进行Web服务注册非常繁琐。本文中采用UDDI组织的优化文档(Colgrave et al., 2004),将服务的WSDL文档用于服务注册,使服务提供者在注册Web服务时只需提供Web服务的WSDL文档和其他一些简单、必要的信息即可,无需填写大量的有关Web服务的技术信息,大大简化了注册过程。
2) 服务组合 WSDL协议所直接支持的交互模型仅仅是同步或不相关的异步交互的无状态模型,但是在林业有害生物管理中,系统交互的模型通常假设是涉及双方或多方、有状态、长期运行、交互中的同步和异步对等消息交换序列,考虑到流程中多方公共数据的存储和处理以及业务的并行、分支处理等,因此系统采用BPEL4WS (business process execution language for web services)建立工作流管理引擎来对服务流进行控制管理。BPEL4WS是一种基于XML的流程描述语言,专门为整合Web服务而定制,集合了WSFL(web service flow language)和XLANG 2种标准的优点。国内有一些针对BPEL4WS的研究(单既如等,2007),但是BPEL4WS面向的是专业的技术人员,通过其进行Web服务组合需要使用者具备相应的专业知识,这对于使用服务管理中心的林业系统用户显然过于复杂。本文基于无环有向图DAG(directed acyclic graphic) (石为人等,2005)提出一种可视化的Web服务工作流建模方法。
一个完整的工作流DAG由3个部分构成:开始和结束节点、活动节点、连接。开始节点和结束节点分别表示整个工作流的入口点和出口点。开始节点用来记录整个工作流的输入参数列表,而结束节点用来记录整个工作流的返回值。工作流DAG的一个普通节点(开始和结束节点之外的节点)称为一个活动,代表某一Web服务的某一操作; 一条有向弧段称为一个连接,用来将2个相邻的活动进行串连,表示活动间的依赖关系或者运行次序,并存储2个相邻Web服务输入与输出的匹配关系,具有方向性。使用DAG的简单结构可以有效表示Web服务的工作流程,对DAG的遍历则将DAG转换成BPEL4WS文档。
3) 界面生成 服务管理中心负责把最终BPEL4WS文档动态地生成Web页面,生成过程中采用动态表单技术,根据输入参数的类型,自动生成相应的输入框。用户在该页面中选择或输入参数后,提交页面,系统则自动调用BPEL4WS引擎运行组合服务并在指定的窗口返回结果。
5 原型系统开发和应用实例为验证上述技术方案,开发了国家级林业有害生物灾害监测与预警原型系统:采用SOA架构,功能部署在3台服务器上。其中业务服务和模型服务部署在一起,空间数据服务和服务管理中心分别部署在独立服务器上。服务器之间通过网络连接。
服务管理中心采用Eclipse 3. 3. 2开发,JDK使用Java 1. 6版本,Web服务器使用Tomcat 5. 5. 12,数据库使用MySQL 5. 0. 45,UDDI部分采用开源软件UDDI4J和jUDDI,BPEL4WS工作流引擎采用开源软件ODE(orchestration director engine)。业务服务、空间数据服务开发环境为VS. net 2005,语言为C#,平台为. net framework 2. 0,Web服务器使用IIS,数据库采用SQL SERVER 2000。集成的模型服务为本课题“林业有害生物灾害监测与预警技术研究”专题中的一部分。本系统将该模型的动态链接库封装为Web模型服务。原型系统自2009年初进行公网测试和试运行,服务器目前托管在企商在线京西数据中心机房。下文介绍系统查询和模型预测2个应用实例。
5.1 核心服务应用实例—可视化查询国家、省、地市、县用户都可以对辖区内的林业有害生物发生防治数据进行查询,不同级别的用户能够得到其下一级别的查询结果。
图 3是系统国家级用户查询功能的界面。在该界面中,用户在不限定地区、时间和发生面积的情况下,对“落叶松毛虫”(Dendrolimus superans)的发生数据进行了查询。查询的结果以表格形式(浮动窗口)和地图形式展示。地图中高亮部分为灾害分布区域,该专题图由系统空间数据服务根据表格结果自动生成。从图 3可以看出,国家级用户的查询结果为省级林业有害生物灾害分布信息。该信息是省级用户汇总后的结果。
图 4是河北省地市级用户“唐山市”查询功能的界面。查询结果为县级林业有害生物灾害分布信息,反映了“唐山市”各县在2008年12月份“美国白蛾”(Hyphantria cunea)的分布情况。
上一节给出的是系统提供的核心服务的应用,该服务完全由系统提供,不依赖于第三方,但用户不能修改服务的内容。如果用户想将自己或第三方提供的服务集成在系统中使用,则可以根据需要进行服务组合建模。
在本实例中,国家级用户将使用本系统提供的发生防治历史数据和第三方开发的神经网络模型,对“马尾松毛虫(D. punctata punctata)”在下一年的分布情况进行预测,并制作专题地图。用户把第三方开发的神经网络模型在服务管理中心进行注册后,进入如图 5所示的工作流建模界面。在该界面中,用户选择发生数据的查询结果作为神经网络模型的输入,并将神经网络模型的预测结果输出到系统默认的空间数据服务进行制图。
图 6为组合后服务链的运行结果。结果反映了使用第三方开发的神经网络模型和本系统提供的发生防治历史数据预测出的“马尾松毛虫”下一年在华东等地区分布图。
本文介绍了基于SOA架构的国家级林业有害生物灾害监测预警系统的功能、结构、组成以及实现该系统所需的关键技术,并开发了原型系统来验证该技术的可行性。在该系统中,用户通过核心的业务服务来上报、查询和统计全国范围内的林业有害生物监测和管理数据,通过系统集成的模型预测服务来预测有害生物的发生发展趋势,并通过空间数据服务将这些结果制作成直观的专题地图发布出来,在全国范围内实现了林业有害生物灾害信息的网络化采集、传输、处理、分析、评价、发布与共享。在服务管理中心的组织下,用户可以将所需要的功能以服务的方式注册到国家级系统中,并与其他服务自由地组合成适合其使用的服务链,而无须考虑这些服务的部署位置和运行环境,显示出了系统良好的可扩展性和跨平台性。原型系统在国家林业局森林病虫害防治总站成功试运行,验证了技术路线的可行性。
在下一步的工作中将加入安全和服务质量管理,并增加Web服务的语义信息。语义本体的引入不仅将增加Web查询的准确度,而且将会给Web服务的动态组合提供技术基础。但是语义本体的引入需要对专业领域建立语义树,这是一件非常复杂的工作,而且系统建立的初始语义树很难满足大量用户注册服务时选择语义的需要,所以如何让用户参与建立完善的语义树成为一个难点。
郭颖, 张旭, 李凡, 等. 2009. 基于SOA的数字林业基础服务平台[J]. 内蒙古大学学报:自然科学版, 40(2): 194-198. |
李凡, 张旭, 陈艳, 等. 2006. 数字林业支持平台中web服务管理和使用机制的研究与实现[J]. 林业科学, 42(增刊): 111-114. |
刘纪平, 陶坤旺, 王亮, 等. 2006. 基于SOA的电子政务空间地理信息服务与实现[J]. 辽宁工程技术大学学报, 25(S1): 81-83. |
单既如, 马殿富, 朱岩. 2007. Web服务和BPEL规范在人力资源管理系统中的应用[J]. 计算机工程与设计, 28(16): 3989-3993. DOI:10.3969/j.issn.1000-7024.2007.16.058 |
石为人, 马振红, 张星林, 等. 2005. 基于DAG的拓扑排序改进算法及在BOM中的应用[J]. 计算机工程与应用, 28(16): 192-204. DOI:10.3321/j.issn:1002-8331.2005.16.059 |
王怀宝, 王家海. 2006. 运用SOA理念构建面向服务的WebGIS[J]. 辽宁工程技术大学学报, 25(S1): 72-74. |
Barreto C, Bullard V, Thomas E, et al.(2007-05-09).Web Services Business Process Execution Language Version 2. 0.http:// www.oasis-open.org/ committees/ download.php/23964/ wsbpelv2. 0-primer.htm.
|
Colgrave J, Januszewski K.(2004-01-31).Using WSDL in a UDDI Registry, Version 2. 0. 2.http:// www.oasis-open.org/ committees/uddi-spec/ doc/ tn/ uddi-spec-tc-tn-wsdl-v202-20040631.htm.
|
OGC.(2007-02-19).OGC Web Services Common Specification.http:// www.opengeospatial.org/ standards/ common.
|
Thomas E. 2005. Service-Oriented Architecture (SOA):Concepts, Technology, and Design[M]. N J, USA: Prentice Hall.
|