王攀峰,张 涛
(北京航空气象研究所,北京100085)
航空活动涉及的地域范围非常广阔,航空气象保障通常需要大范围的原始气象资料和数值预报产品。尽管很多地方建立了不同形式的气象信息服务系统进行原始气象资料和数值预报产品的收集和下发,但是从全局看,航空气象保障的信息化建设的相对滞后,对分散在全国各地气象台、区域保障中心的计算、存储、通信资源的整合利用开发不够,还存在着原始资料收集、共享困难,区域数值预报时效性、分辨率不高等难题。因此,有必要研究如何基于分散在各地气象台和区域保障中心的计算、存储、通信资源为气象台预报保障人员提供原始气象资料收集分发、数值预报产品生成下发等一整套信息服务的新技术。
云计算模型[1]能够有效整合分布在不同地理位置上的计算资源、存储资源、通信资源和软件资源,以web服务形式为联网用户提供简单易用的信息服务[2,3]。本文提出用基于云计算模型的气象信息服务系统解决上述问题,下面首先介绍系统功能和详细设计,然后给出核心服务的实现方案。
常用的航空气象保障信息包括地面观探测资料、天气雷达资料、卫星云图资料等原始气象资料和数值预报产品。地面观探测资料和天气雷达资料由分布在全国各地的气象台站收集而来,数值预报产品由部署在区域气象保障中心的预报模式根据地面观探测资料、天气雷达资料、卫星云图资料计算得出。机场气象台站是原始资料的采集者,为其它机场气象台和区域气象保障中心提供原始资料,又是其它气象台原始资料和区域数值预报产品的消费者。本系统的用户是气象台预报保障人员,系统所提供的服务信息是各类地面观探测资料、天气雷达资料和数值预报产品。
从功能角度看,系统可分为6个子系统:气象台原始资料上报、区域数值预报、气象保障资料管理、气象资料库、气象信息定制和气象信息按需分发。如图1所示,系统对外提供的服务信息包括从气象台收集的地面观探测资料、天气雷达资料和区域数值预报系统计算得出的预报产品,这些资料分别由气象台资料上报子系统和区域数值预报子系统向气象保障资料管理子系统注册并存入气象资料库。用户通过气象信息定制子系统查询并定制气象资料,生成定制分发表,并将最新定制分发表同步到气象信息按需分发子系统,最后由气象信息按需分发子系统根据定制分发表查询资料,并对外输出。
图1 系统功能组成
如图2所示,本文提出的基于云计算模型的气象信息服务系统框架分为3个逻辑层次:用户界面层、需求响应层和后台服务层。
图2 系统结构及信息流程
系统利用各区域气象保障中心现有的并行计算机和若干台PC服务器作为数值预报的计算服务器[4],基于 MPI并行计算接口架设Cluster系统[5,6]作为数值预报计算环境。将数值预报计算流程和气象资料检索、传输都封装成后台服务,以网页形式提供气象信息定制界面,最大限度的简化操作,提高系统的易用性。
1.2.1 用户界面层
用户界面层为用户使用本系统提供了一个网络入口,包括4个模块:身份认证、气象信息定制、需求分解和用户数据库。它提供3方面的功能:
(1)用户身份验证:本系统采用用户名加密码的方式对用户身份进行验证,并根据用户验证结果赋予不同的权限,不同权限的用户可获取的信息种类不同。
(2)气象信息定制:系统提供具有地理信息的图形化界面让用户录入定制信息,主要包括任务相关区域、时间范围和所需的气象信息类别。用户可在地理信息界面中用鼠标画出任务相关区域,设置任务起始时间,并勾选所需的气象信息类别。在定制界面上用户还可查询、增加、删除本用户定制的所有信息。
系统根据任务时间自动定时启动区域数值预报模式计算程序 (也叫起报程序)。除此之外,系统还赋予某些高权限用户临时发起起报的权限。如果有特殊需要,如保障重要任务,这些用户可以在直接在任务信息录入完成后立即提出定制化的区域数值预报模式计算请求。
(3)需求分解:系统对用户提交这些定制请求 (时间范围、空间方位和信息种类)进行需求分解:对于用户定制时空范围内已存在的数据,系统自动调用气象保障资料管理模块从资源注册信息数据库 (该库中存放气象资料和数值预报产品的物理位置链接)中检索并将结果以网页链接形式显示,可供用户下载或直接查看。对于当前还未产生或还未收集的未来时次的数据,在信息定制表中添加定制信息,一旦数据产生就由气象资料按需分发子系统自动发送给用户。用户只需登录并提交一次定制信息,即可自动获取全部所需的气象信息。
1.2.2 需求响应层
需求响应层包含4个模块:气象保障资料管理、资源注册数据库、定制信息表和起报定制。
系统中所有新收集的观探测资料、天气雷达资料或新计算生成的数值预报产品都会在气象保障资料管理模块中注册,注册之后才能被用户访问。气象保障资料管理模块对各类气象资料的时效性进行管理,超过时效的注册信息会被自动删除,保证提供给用户是具备时效性的有参考意义的气象资料。
定制信息表一旦有变动,立即同步给气象资料按需分发子系统,这样,系统就可实时响应用户的定制请求。
起报定制模块接收定制起报请求后,首先检查用户权限,符合权限的才按照起报请求中的信息向相关区域气象中心的数值预报系统发出起报指令,启动区域数值预报计算流程,同时添加预报产品定制信息。预报产品生成后,一方面向气象保障资料管理模块注册,可用于对外服务,另一方面气象资料按需分发模块根据最新的定制信息表奖将预报产品发送给指定用户。
1.2.3 后台服务层
后台服务层包括区域数值预报系统和气象资料按需分发系统,负责原始气象资料收集分发和数值预报产品制作。气象台原始资料经由上报系统自动汇集到区域气象中心,并在资料管理模块注册;系统对外传输的资料全都由气象资料按需分发子系统根据最新定制信息表自动完成。
本文提出的基于云计算模型的气象信息服务系统是一个涉及并行计算环境、计算机网络通信、web服务等多个领域的综合系统,其中气象保障资料管理、区域数值预报和气象资料按需分发是系统功能最核心的部分,本节介绍这3个子系统的实现方案。
数据管理是云计算的核心问题之一,不同管理策略的差异主要体现在为数据访问模式、数据一致性、数据分区和数据路由4个方面[4-6]。结合航空气象保障工作特点,本文提出面向用户QoS[7]和服务器负载均衡相结合的数据管理算法。下面分3个方面描述该算法。
2.1.1 气象保障资料描述
对一份数据用6元组进行描述: (数据类型,存储路径,大小,生成时间,数据源,有效期,所在服务器ID)。
2.1.2 服务器负载
本文提出以当前服务器担负的数据分发任务数衡量负载情况,数据分发任务数按照下列公式计算得出
式中:p——服务器负载,n——该服务器当前担负的所有分发任务涉及的数据种类数,αi——第i种数据的权值,该权值根据不同种类数据的平均大小设置,mi——第i种数据的分发次数。
2.1.3 数据管理算法
算法描述如下:
(1)为每个区域数据服务器设置k个备份服务器,该服务器收集到的资料及时同步到备份服务器;
(2)主、备服务器获取数据之后都向气象资料管理模块注册,并实时汇报服务器负载情况 (按照式 (1)计算);
(3)应对用户的数据访问请求时,资料管理模块计算当前能够提供服务的所有服务器的p值,选择p值最小者为用户提供服务。
2.2.1 系统组成
数值预报系统组成结构如图3所示。数值预报处理过程主要分为预处理、资料同化、主模式计算和后期处理4个阶段[8]。区域气象中心的多台服务器上安装MPI并行接口[9]和作业管理软件,使得多台服务器联合起来作为一台虚拟的 PC Cluster使用[10]。
作业管理软件定时启动数值预报运算,运算完成后将结果注册到气象保障资料管理模块。当有临时起报请求时,作业管理软件利用空闲计算资源发起数值预报运算,预报结果同样注册到气象保障资料管理模块,再由气象资料按需分发子系统转发给用户。
图3 数值预报系统组成
2.2.2 精细化预报
本系统充分考虑了地域差异,针对各地的地形和地表特征,各个区域数值预报系统采用优化的计算模式和输入参数,提高预报准确度。同时将当地气象台的地面观探测资料和天气雷达资料经变分同化后输入预报模式参与计算,进一步提高模式分辨率。
有些保障任务涉及的空域很大,跨域多个保障区域,所需的数值预报产品应由多个区域预报产品融合而成。用户定制信息时要指出需要哪些区域和气象台的原始气象资料和数值预报产品,需求分解模块要向多个区域气象中心服务器发送数据访问请求或起报计算请求。
2.2.3 时钟同步
本系统各区域数值预报系统定期滚动起报,每隔一段时间都要采用最新观探测资料、天气雷达资料和卫星云图资料进行模式计算。为协调不同服务器上的数据一致性,我们在各数值预报系统上部署了时钟同步软件,保持全系统时钟统一。
由于气象保障工作的特点,任务开始之前需要收集任务相关机场的地面观探测资料、天气雷达资料、卫星云图资料和数值预报产品。任务开始之后还要持续收集地面观探测资料、天气雷达资料等对任务相关空域的天气进行跟踪掌握。因此对地面观测资料的需求分为事先收集和过程中持续收集两部分。
前面已经叙述,本系统提供简便的方式让用户输入任务的时间范围,该时间范围可从过去时刻到未来时刻。过去时刻的气象资料和数值预报产品可立即获取,未来时刻的数据定制成功后在任务保障过程中会自动发送给用户。定制分发机制是气象资料按需分发子系统的技术核心。气象通信网关和定制信息表是气象资料按需分发子系统最重要的组件。
为了实现网络内的定制分发,系统内采用了特殊的通信协议,在协议报头中规定了 “信息类型”、“信息源地址”和 “目的地地址”字段。资料发送模块发出的每一份气象资料,都包括有 “信息类型”和 “信息源地址”。定制信息表中每一条定制信息的格式为:(信息类型,信息源地址,目的地地址)。
系统收集或生成的所有资料都会发送给气象通信网关,气象通信网关收到一份资料后,从网络协议报头中提取“信息类型”和 “信息源地址”信息,并将其与定制信息表的每一条信息进行比对,根据比对结果判断该数据应该分发到哪个地址。气象通信网关包括3个工作线程,各线程的流程图如图4所示。
图4 定制分发网关的流程
从图4的流程图可看出,定制分发网关对定制请求的响应是实时的,定制请求能够立即生效。定制请求由用户定制界面发出,用户可定制分发网关发出定制信息查询请求、增加/删除某条定制信息请求,从而实现实时的气象资料定制。
本系统基于云计算模型,充分利用现有计算资料、存储资料和网络资料,将同一区域中心的多台服务器用并行计算软件管理起来,作为一台虚拟的并行计算服务器实施数值预报模式计算。再通过资料管理和用户界面等子系统将不同区域服务器统一管理起来,为用户提供一个统一的、简单的使用界面,屏蔽复杂的底层计算、任务分配和通信细节。
气象保障和数值预报计算都需要机场气象台获取的地面观探测资料和天气雷达资料。本系统设计实现了操作简便的定制分发技术,按需将气象资料或数值预报产品传输到需要的地方,避免无谓的通信。
当保障任务涉及多个区域时,各个区域数值预报系统采用优化的模式和参数得到预报结果拼接成最终结果。由于考虑了不同地区的地形和地表特征,这个结果比只用一套模式和参数计算的更优。
另外,在区域数值预报计算过程中,引入本区内的地面观探测资料和天气雷达资料,利用这些最新的观探测数据提高数值预报精度。
在保障保障任务时,如果定时制作的数值预报时效性不够,或者天气变化与预报结果差别明显,可由授权用户临时发起起报计算。
由于对分散在全国各地气象台、区域保障中心的计算、存储、通信资源的整合利用开发不够,航空气象保障工作面临原始资料收集、共享困难,区域数值预报时效性、分辨率不高等难题。为此,本文提出了基于云计算模型的气象信息服务系统框架,并给出了核心服务的实现方案。系统具有以下优点:提供图形化界面让用户简便的获取保障任务所需的当前和未来一段时间的气象资料和数值预报产品;地面观探测资料和天气雷达资料按需定制分发,节约通信带宽;不同区域采用最适合本地天气特点的预报模式或参数,引入地面观探测资料和天气雷达资料以提高预报精度;除了规定时次的数值预报产品外,对重要任务提供定制起报服务。
[1]Cloud computing [EB/OL]. [2013-01-06].http://en.wikipedia.org/wiki/Cloud_computing.
[2]FANG Wei,WEN Xuezhi,PAN Wubin,et al.Cloud computing:Conceptions,key technologies and application [J].Journal of Nanjing University of Information Science & Technology (Natural Science Edition),2012,4 (4):351-362(in Chinese).[方巍,文学志,潘吴斌,等.云计算:概念、技术及应用研究综述 [J].南京信息工程大学学报 (自然科学版),2012,4 (4):351-362.]
[3]SUN Changzheng,ZHU Xiaoqian,ZHANG Weimin.A research and design based on web of numerical weather prediction[J].Computer Engineering &Science,2009,31 (1):296-299(in Chinese).[孙长征,朱小谦,张卫民.基于 Web的数值天气预报系统的研究与设计 [J].计算机工程与科学,2009,31 (1):296-299.]
[4]QIN Xiulei,ZHANG Wenbo,WEI Jun,et al.Progress and challenges of distributed caching techniques in cloud computing[J].Journal of Software,2012,23 (7):1777-1803 (in Chinese).[秦秀磊,张文博,魏峻,等.云计算环境下分布式缓存技术的现状与挑战 [J].软件学报,2012,23 (7):1777-1803.]
[5]ZHAO Hongwei,SONG Baoyan,SHAO Yichuan.Higheffect resource management strategy in cloud computing environment [J].Computer Science,2012,39 (2):212-215(in Chinese).[赵宏伟,宋宝燕,邵一川.云计算环境下的一种高效的资源管理策略 [J].计算机科学,2012,39(2):212-215.]
[6]Hastorun D,Jampani M,Kakulapati G,et al.Dynamo:Amazon’s highly available key-value store [C]//Proc of the ACM Symp on Operating Systems Principles,2007:205-220.
[7]Dean J,Ghemawat S.MapReduce:Simplified data processing on large clusters [J].Communications of the ACM,2008,51 (1):107-113.
[8]SUN Changzheng.Design and implementation of the numerical weather prediction application system combined with cloud computing technology [D].Changsha:National University of Defense Technology,2009 (in Chinese). [孙长征.数值天气预报云计算服务应用系统研究与实现 [D].长沙:国防科技大学,2009.]
[9]Jin Haoqiang,Dennis Jespersen,Piyush Mehrotra,et al.High performance computing using MPI and OpenMP on multi-core parallel systems Original Research Article [J].Parallel Computing,2011,37 (9):562-575.
[10]Yu Kunming,Zhou Jiayi.Parallel TID-based frequent pattern mining algorithm on a PC cluster and grid computing system original research article [J].Expert Systems with Applications,2010,37 (3):2486-2494.