目前国内外主流气象网站(如weatherbug.com,weather.com,weathernews.com等)、公众气象服务等大量的服务材料,均采用一系列的技术手段和再加工方式实现整套风格相同的气象服务产品,给用户一致的使用体验[1-3]。
中国气象局国家气象中心前期后台系统建设已经具备了一定基础,利用GIS技术以及工作流[4]的基本思路建立了C/S架构的气象预报服务产品的后台加工制作系统[5-8]。建成的系统具有多源和多格式数据支持、可视化方式(所见即所得)制图模板定制、多类专题图制作、产品加工流程设计、任务管理配置与运行监控调度等功能。系统自动化程度较高,加工的图形产品较美观,符合气象服务的业务需求。系统主要建设成果包括作业管理(客户端)、作业调度(服务器端)、用户组件开发、可视化建模工具、模板与专题图定制。前期后台系统建设成果在国家级及多个省级业务部门得到应用。
然而,目前常用的后台产品制作业务系统依然存在不足:①系统部署复杂,维护工作量巨大。前期的系统需要在每个业务台室单独部署一套系统,所有的插件、模型都需要重新部署,非常简单的一个业务产品也可能需要单独部署一套完整的系统才能运转,导致系统更新复杂,无法统一规划和替换版本,需要每个业务用机进行逐一更新,从数据更新、程序更新、产品更新均无法做到更新一台服务器所有业务产品和流程均可共享的目的,且复杂的部署环境导致业务产品规范化建设无法得到保障,如统一的底图、统一的标题样式、统一的图例风格等,当产生新的业务规范要求或各个业务台室根据自己的需求对产品进行修改时,很容易造成整个业务产品的不规范,尤其是当地理信息数据更新时,往往需要维护人员对每个业务台室各业务用机逐一更新,更新过程也容易引起其他一些参数的变动,导致制作的业务产品不规范和不统一。就国家气象中心当前的业务环境,有24台小型业务机在实时运转当前的后台系统,其中还不包括一些非常规业务产品用机。②需求增长很快,目前的效率不能满足需求的增长。前期C/S架构的后台产品制作业务系统采用本地用机单独运算的思路,没有利用服务器的运算能力,因此,在数据处理、数据解析、数据分析的效率均有影响,尤其是需要大型运算时,效率问题尤为突出。
针对目前业务中普遍存在的服务产品制作系统不能集中部署、规范不统一、效率低下、更新复杂几个主要问题,本文将在前期C/S架构的后台产品制作业务系统的基础上,完成对整个业务系统后台自动处理部分的研究和设计,采用WebGIS架构、发布服务的方式完成后台产品制作系统服务器端及客户端的设计和实现。这种基于服务体系结构WebGIS架构的服务系统, 突破了以系统为中心的模式, 使真正的分布式空间计算应用逐渐成为可能。本系统以Web服务为基础构建系统,初步实现面向服务体系结构的气象产品在线制作系统建设。
1 气象服务产品在线制作服务需求分析及平台设计 1.1 需求分析 1.1.1 气象服务产品特征随着气象服务应用的范围越来越广泛,气象服务产品的种类也越来越多,服务材料的种类、广度、深度均对气象服务业务人员的素质要求越来越高[9-12]。表 1为目前气象服务产品制作分类统计。
|
|
表 1 气象服务产品应用统计 Table 1 Application statistics of meteorological service products |
由表 1可以看到,产品量大和应用标准不统一是两个最突出的问题。首先,每日制图产品需求量太大,目前投入业务应用的产品数据量达到182 GB,为海量数据。其次,由于产品标准缺乏规范性,导致有可能同一个产品需要通过多个渠道进行制作,从而需要部署多个服务器,制作产品服务器总计24个,且其中很大一部分还未考虑备份业务。因此,解决集中部署、产品规范问题是系统必须具备的能力。
1.1.2 气象服务产品生成如何实现气象服务产品的高效生成一直是气象服务软件的核心技术。针对气象服务产品数据量大、面向范围广泛,图表形式多样化的特点,本软件需要具备集中部署、产品流水线化、功能在线服务化、产品规范化几个能力,以及产品服务动态注册、产品任务调度管理、服务分布式运行、多类产品服务创建等功能。
在现代天气业务中,气象服务产品不仅应用于决策气象服务行业,同样应用在天气会商、业务内网、业务外网等多方面,因此,除了图形显示质量外,还需要在产品制作效率、产品规范等方面进行必要的研究。如MICAPS(Meteorological Information Comprehensive Analysis and Processing, 气象信息综合分析处理系统)平台也具备一定的产品制作能力,但MICAPS的产品质量、规范满足不了气象服务要求;基于ArcGIS的气象服务决策信息系统MESIS(Meteorological Service Infermation System, 决策气象服务信息系统)系统初步实现了较高质量的产品制作,但在效率、规范性以及适应性方面满足不了越来越庞大的业务需求。因此,开发一个能够以在线服务的方式解决气象服务产品规范、统一、制作快速的系统是迫切需要完成的一项工作。
1.2 总体设计通过对之前C/S体系架构系统问题的分析,系统采用了WebGIS技术框架[13-14]。该框架中,软件以服务的方式提供使用,服务即是软件、软件即是服务,这种软件架构在部署、规范化运行、更新等多方面均较之前有较大提高。面向服务的网络地理信息平台框架是一个动态的、分布式和面向服务的系统框架,组件是整个架构的核心,它们使用和提供各种可被发现的服务。每个组件是可管理的、可重用功能的逻辑单元。服务是整个系统对外的一致窗口,产品服务化、接口服务化乃至整个系统服务化,用户使用系统过程中不用关心软硬件的部署、产品具体制作步骤及数据来源等,用户只需要提出服务需求,利用服务接口按需制作或者提取结果即可。
这种以服务为基础的架构设计,使得用户从24个服务器的庞大软硬件资源中彻底解放出来,完全可以满足集中部署、统一管理的要求,同时在规范产品上面也会比较容易实现,包括对制图规范的更新、地理信息的更新等。
同时,在产品的生成效率上也较之前的系统有较明显提高,原有的系统从产品制作、存储到分发、共享至少需要1~2 min,而在新的系统基础上,任务从激发到结束可控制在10 s以内。
如图 1所示,系统架构的核心被划分成6个主要的服务类别:基于专业GIS组件的地图服务和空间分析服务、Web产品制作服务、服务管理引擎、网络通讯节点服务、远程管理服务、远程调度客户端。
|
|
| 图1 气象服务产品制作系统架构 Fig.1 The architecture of meteorological service product system | |
系统底层处理服务的设计和注册整体引入面向服务的系统架构,处理服务的种类包括地图和空间分析、Web气象产品在线制作服务两大类,其中地图和空间分析服务主要包括影像数据服务、区划数据服务、各类标注信息服务、交通数据服务、特征地理信息服务以及叠加分析、插值分析、裁剪分析、填色分析服务等,将最新的影像、区划、空间分析等发布成服务并注册到系统中;Web气象产品在线制作服务引入流程化建模技术,将各类气象服务产品的制作以业务流的形式发布成服务并注册到系统中。
服务管理引擎负责对已注册的各类服务进行描述、部署、参数配置以及调度管理,且引入分布式架构实现分布式服务引擎的设计和研发。该系统在设计过程中考虑中间数据和输出数据不能发生并发锁死问题的机制,执行相关服务时,按照服务解决并发问题的思路,在服务端执行任务的时候以当前时间为名创建临时的文件夹,并将任务的临时工作空间环境变量设置为该临时文件夹。而在创建服务时,只需要将中间数据和输出数据写入到临时工作空间,就能保证每一次调用服务时生成的中间数据和输出数据在不同的目录下,从而解决了并发问题。
网络通讯服务节点从服务应用分类角度对服务进行分组,分为数据服务节点和产品服务节点,两类节点属于并行的一种关系,其中数据服务节点负责管理各类数据的转换、数据的传输以及服务的运行,产品服务节点针对气象服务产品的Web服务进行调度和运行。
远程管理模块实现对多级用户的管理,同时实现对各类任务的在线申请、创建、维护和执行。完成气象产品定制服务任务的界面化管理,用户通过浏览器界面可进行任务的添加与删除、内容的变更,任务具备所属人属性、逻辑分类属性,不同的业务人员可查看到属于自己的任务;实现定制任务的调度执行,系统根据用户配置,调度触发任务执行,根据通配配置以及执行时间结合全面地正则运算法则,生成本次执行的执行参数,对成功的产品文件进行多种渠道转发。
1.3 功能设计气象服务产品制作系统总体功能分为服务器端和客户端两大部分,其中服务器端分为服务接口的开发和管理两大类,客户端实现各级用户的任务调度的管理和运行。整个体系中,服务接口是产品任务的基础,各项产品任务分属不同的客户端用户。
1.3.1 气象服务产品开发模块气象服务产品开发流程如图 2所示。具体包括服务组件开发模块、服务模型创建模块、服务模板开发模块、服务配置模块、服务封装模块。系统设计时将服务拆分成各个组件,每个组件均独立完成一个环节的功能,各功能之间采取松耦合方式进行设计,同时多个不同的功能组件可根据需求整理形成一个完整的产品制作模块(表 2)。
|
|
| 图2 气象服务产品开发流程 Fig.2 The development process of meteorological service products | |
|
|
表 2 气象服务产品系统服务清单 Table 2 Main services of meteorological service product system |
服务组件开发模块实现了各个独立功能的组件化开发, 系统已经实现了气象资料的转换和处理、数据插值、数据裁剪、数据叠加、动态渲染、动态输出、范围自动识别、产品自动传输等核心工具的组件化开发。
服务模型创建模块实现了在组件开发完成的基础上各类业务产品制作模型的创建,系统中基本实现各类气象预报、气象实况产品模型的创建,主要实现内容包括降水落区预报服务、降水实况服务、灾害性天气落区预报服务、格点预报服务、城市站点预报服务、气温实况服务、风场实况服务、气象数据转换服务、强天气产品服务、监测产品服务、实况与预报对比图产品服务、雷达云图服务、英文产品服务等。
服务模板开发模块已实现目前常用模板的定制,实现全国、各省(23个省、4个直辖市、2个特别行政区、5个自治区)、七大流域中心(海河、淮河、黄河、辽河、松花江、长江、珠江)、八大区域气象中心(北京、上海、武汉、广州、兰州、成都、沈阳、乌鲁木齐)模板的定制,并提供任意经纬度范围的区域在线定制(表 3)。
|
|
表 3 气象服务产品制作系统常用服务模板 Table 3 Common service templates of meteorological service product system |
服务封装模块负责对已做好的服务进行封装和发布,实现服务发布、服务参数封装、中间结果缓存处理、服务结果的管理等。
1.3.2 气象服务产品管理模块气象服务产品管理模块包括服务管理、监控统计信息管理、用户角色权限管理3个模块。服务管理主要负责服务分类管理、服务运行调度管理、服务状态管理、模板文件管理、参数配置管理等方面的内容,服务调度中引入了服务集群技术,利用负载均衡的思路实现了对服务的合理调用。监控统计信息管理负责服务运行日志管理、服务集群监控管理两大方面的工作。用户角色权限管理用户注册申请管理、用户角色分配管理、用户权限分配管理几个方面的内容。
气象服务产品调度客户端主要负责完成对各个业务部门产品的制作调度,实现产品定制服务任务的界面化管理,实现定制任务的调度执行。用户通过浏览器界面对可进行任务的添加与删除、内容的变更;查看和修改任务具备所属用户属性、逻辑分类属性,不同的业务人员可查看到属于自己的任务;可实时查询某个任务的执行情况及查询所有申请的执行情况。根据用户配置,调度触发任务执行,根据通配配置以及执行时间,生成本次执行参数及对成功的产品文件进行转发(图 3)。
|
|
| 图3 气象服务产品制作系统客户端功能分布 Fig.3 The function distribution of client of meteorological service product system | |
2 关键技术实现
地理信息服务是分布式网络计算技术发展的产物[15-16],这种基于WebGIS体系结构的地理信息技术也给气象服务产品制作模式带来了新的变化[17-18]。一直以来,如何集中化进行气象服务产品制作是决策气象服务信息系统面临的最大问题[19-20],而通过服务发布的方式,结合流水线化、后台任务自动调度是气象服务产品在线制作系统解决问题的一个比较可行的思路。因此,系统在建设过程中,结合网络版系统的特点,重点解决了C/S架构系统没有满足的一系列问题,从服务的注册、标准化、流水线化、参数序列化、多级任务调度等多个方面解决了相关关键的技术。
2.1 服务动态注册技术系统中将气象产品制作服务通过服务配置的方式进行动态注册和加载,采用服务动态加载、服务模型配置文件两个方面实现气象服务产品的可配置和扩展。为每类气象产品建立一个配置文件,将每类产品相对固定的属性信息放置在配置文件中,使服务功能更加灵活,服务用户不必每次重复输入相同的参数或者进行编码。用户调用服务的时候传入对应产品名称,服务针对不同的产品动态加载服务对应的模型而不是加载服务可以提供的所有模型,这种模式提高了服务的命中率和服务调用的效率。同时注册之后的服务可提供多种方式进行访问,用户可通过API接口方式进行调用,也可通过URL访问地址的方式进行使用。
2.2 产品服务标准化系统建设中针对制图底图、标题样式、配色规范、服务接口规范均设计了较为完善的一系列规范,一方面将中国气象局下发的权威制图规范纳入到系统配置中,如多级标题的字体、颜色,各种天气内容表现的样式等,另一方面制定了服务接口、多级底图等规范,且提供了可修改的功能,具备实时根据需求对各类规范进行统一的调整,改变了以往产品规范化修正比较难的弊端。
2.3 产品服务流水线化实现整个系统的研发目的是为了气象产品制作服务高效、便捷的流水化实现,系统设计过程中紧跟业务相结合,一条任务即为一个完整的流水线作业,整个任务从建立到生成乃至最后分发共享均按照严格的流水环节进行设计(图 4)。
|
|
| 图4 气象服务产品流水线化部署流程图 Fig.4 The flow chart of meteorological service product pipelining | |
一个新产品从设计、配置到最后的共享分发均采用工作流的形式进行实现,每个单元均可进行可视化配置,充分考虑用户体验。
2.4 全面的正则运算法则在系统中参数动态更新中的应用系统中,在参数的配置、任务的调度等多个方面均建立一套完整的正在运算法则,基本上实现各类情况下的参数的动态更新,参数可动态匹配时间,支持正负偏移量的处理,支持中英文的切换,同时支持年、月、旬、候、日、时、分、秒的动态更新。
2.5 任务多级调度处理系统中,调度处理采用任务扫描、任务分配、任务执行彼此分离的方式。核心调度包含任务扫描、任务分配。任务扫描调度负责按照触发器约定获取需要执行的任务,将任务信息注册至执行计划中。任务分配调度负责按照资源情况分配执行计划中的任务,将任务注册至执行线程池。任务执行负责具体的任务操作。任务扫描将任务配置灵活化,用户可随意即时修改调度配置,修改结果即时在下次执行。任务分配将系统资源控制成为可能,加强了系统的稳定性,即便在任务的执行突发期,也能保证任务按照资源情况进行有序执行。
3 应用实例气象服务产品在线制作系统的建设完成,较大范围应用在对中央气象台业务内外网、手机APP等门户网站,扩充了规范化的产品制作范围,增加了英文网站、亚欧、北半球等多类天气图分析产品。
2014年12月气象服务产品在线制作系统正式在中央气象台正式业务运行。经过持续的维护、升级和改造,该平台已成为气象服务业务的重要支持系统之一,并成为推动气象现代化建设的重要增长点。在短期预报产品制作方面,系统完成逐6 h降水预报、1~3 d的24 h降水预报产品实时在线制作,完成了1~3 d的24 h最高气温、最低气温预报产品制作,完成了1~3 d的大风降温、沙尘、强对流、雾霾、冰冻、海上大风、空气污染条件等预报产品的实时在线制作;在中长期预报产品实时在线制作业务方面,完成未来4~7 d降水量预报,未来10,20,30 d降水量预报,实现未来10,20,30 d最高气温距平、最低气温距平、平均最高气温、平均最低气温、过程降水预报、过程升降温预报产品实时在线制作;在实况产品实时在线制作业务方面,完成逐小时降水、气温、风速风向、近3,6,12,24 h滚动最高最低气温、降水量、能见度、相对湿度实况产品在线制作,完成中国、亚欧、北半球地面以及100 hPa,200 hPa,500 hPa,700 hPa,850 hPa,925 hPa的多类天气图分析产品,完成近10,20,30 d累积降水量、降水距平百分比,平均气温、平均气温距平、汛期以来累积降水量等多日统计产品在线制作;在专题气象产品实时在线制作业务方面,完成海上大风预报、1~7 d最高最低气温格点预报英文产品、1~7 d的24 h间隔降水预报英文产品实时在线制作。此外,气象服务产品在线制作系统在应急服务、区域产品制作、行业服务产品制作方面也有相当大的用途。表 4为现有实现的部分产品。
|
|
表 4 产品部署的作业实例对照 Table 4 The efficiency comparison of products |
4 小结
本文提出了基于服务的模式完成气象产品制作业务系统的建设框架,详细介绍了基于服务模式的气象产品在线制作系统的设计和实现,并详细讨论了系统建设过程中的一些关键问题:
1) 气象服务产品在线制作系统采用WebGIS架构设计,服务器端负责服务接口的开发和管理两大类,通过对服务器的集群、分布式运算的处理,解决产品制作效率和规范问题,完成服务组件开发模块、服务模型创建模块、服务模板开发模块、服务配置模块、服务封装模块的研发。客户端结合服务器端解决了系统资源需求量大、维护困难的问题,实现了任务查询、任务管理、操作监控、数据统计、用户管理、参数配置几个方面的功能。
2) 系统由服务组成,服务即是软件、软件即是服务,系统采用动态的、分布式和面向服务的系统框架。组件是整个架构的核心,它们使用和提供各种可被发现的服务。每个组件是可管理的、可重用功能的逻辑单元。服务是整个系统对外的一致窗口,产品服务化、接口服务化乃至整个系统服务化,用户使用系统过程中不用关心软硬件的部署、产品具体制作步骤以及数据来源等等,用户只需要提出服务需求,利用服务接口按需制作或者提取结果接口。
3) 系统通过采用服务动态注册技术解决了服务动态扩充和灵活配置等问题,应用服务产品标准化配置和服务产品流水线化运行流程使业务产品的规范、升级、效率得到保障,通过正则运算法则在系统中的全面应用提高了产品的灵活配置和扩展能力,而任务多级调度处理技术的应用解决了系统集群部署、执行效率等问题。
| [1] | 吴焕萍, 罗兵. 地理信息服务及基于服务的气象业务系统框架探讨. 应用气象学报, 2006, 17, (8): 135–140. |
| [2] | 吕终亮, 吴焕萍. MESIS中气象信息检索及可视化制作产品平台的设计与实现. 应用气象学报, 2012, 23, (5): 631–637. DOI:10.11898/1001-7313.20120515 |
| [3] | 毛卫星, 王秀荣, 刘海波. 全国气象业务服务信息系统中图形产品的研制开发. 新疆气象, 2005, 8, (5): 1–3. |
| [4] | 吴焕萍, 罗兵. GIS技术在决策气象服务系统建设中的应用. 应用气象学报, 2008, 19, (3): 380–385. DOI:10.11898/1001-7313.20080316 |
| [5] | 唐卫, 吕终亮. 基于GIS的气象服务产品后台制作系统. 计算机工程, 2009, 35, (17): 232–234. DOI:10.3969/j.issn.1000-3428.2009.17.080 |
| [6] | 唐大仕. 地理信息Web Services若干关键技术研究. 北京: 北京大学地球与空间科学学院, 2003. |
| [7] | 邬伦, 唐大仕, 刘瑜. 基于Web Service的分布式互操作的GIS. 地理与地理信息科学, 2003, 19, (4): 28–32. |
| [8] | 郑卫江, 吴焕萍, 罗兵, 等. GIS技术在台风预报服务产品制作系统中的应用. 应用气象学报, 2010, 21, (2): 250–255. DOI:10.11898/1001-7313.20100216 |
| [9] | 仇月霞, 余志伟. 基于AE的气象要素检索与图形化显示模块的设计与实现. 气象与环境学报, 2008, 24, (6): 1–2. |
| [10] | 李江南. GIS在气象数据处理中的应用. 广东气象, 2002, (4): 14–17. |
| [11] | 万文慧, 胡友彬, 陈柏华, 等. 基于GIS的地理气象信息查询系统的设计. 计算机与现代化, 2009, (6): 21–22. |
| [12] | 刘品高, 江南, 谭萍, 等. 气象地理信息系统的设计与实现. 应用气象学报, 2005, 16, (4): 547–553. DOI:10.11898/1001-7313.20050416 |
| [13] | 胡争光, 郑卫江. 气象GIS网络平台关键技术研究与实现. 应用气象学报, 2014, 25, (3): 365–374. DOI:10.11898/1001-7313.20140314 |
| [14] | ISO/TC2211.ISO/DIS 19119 Geographic Information Services.[2002-11-14].http://www.statkart.no/isotc211. |
| [15] | 刘旭林, 赵文芳, 刘国宏. 基于WebGIS的气象信息显示和查询系统. 应用气象学报, 2008, 19, (1): 116–120. DOI:10.11898/1001-7313.20080119 |
| [16] | 张永华, 肖文名, 何婉文, 等. 基于ArcGIS Server和VML的气象信息发布平台. 应用气象学报, 2011, 22, (4): 498–504. DOI:10.11898/1001-7313.20110413 |
| [17] | 吴焕萍, 张永强, 孙家民, 等. 气候信息交互显示与分析平台(CIPAS)设计与实现. 应用气象学报, 2013, 24, (5): 631–340. DOI:10.11898/1001-7313.20130513 |
| [18] | 祝婷, 李湘. WMO信息系统中气象元数据的设计与实现. 应用气象学报, 2012, 23, (2): 238–244. DOI:10.11898/1001-7313.20120213 |
| [19] | Martin D, Cheyer A, Moran D, et al.OWL2S:Semantic Markupfor Web Services.[2004-8-5].http://www.daml.org/services/owl2s/. |
| [20] | 赵文芳, 刘旭林, 聂凯. 基于WebGIS的气象综合显示系统改进与实现. 应用气象学报, 2015, 26, (3): 378–384. DOI:10.11898/1001-7313.20150314 |
2018, 29 (1): 120-128



