梁海河
(注:《应用气象学报》2006年第1期发表)
摘要
随着我国多普勒天气雷达网建设的深入发展,雷达气象产品系统开发和资料应用越来越迫切。文章介绍了开放软件系统模型,分析了新一代天气雷达特点和发展需
求。结合新一代天气雷达网和我国气象业务网发展状况,文章提出和研究了可供新一代天气雷达使用的开放系统的分布式业务模式,研究和设计了雷达气象产品开
放系统的结构和运行方式。文中的分布式开放型雷达产品系统的结构和模型,对其它类业务和科研系统的开发和发展具有参考价值。
关键词: 开放 分布 产品 雷达
1 引言
我国多普勒天气雷达(CINRAD)网建设已进入新的发展阶段,如何更好地发挥雷达探测网的效益和作用成为迫切需要面对和解决的问题。为此,中国气象局
实施了"新一代天气雷达软件开发"项目,目的在于全面地提高CINRAD的业务能力以及产品开发和应用水平。
NEXRAD在布网初期即根据美国的天气气候特点开发了大量有效的雷达气象产品。上世纪九十年代中期,又开展了"开放系统升级计划",其中包括雷达气象
产品算法和产品系统结构模式的升级和改造[1,2]。为满足业务、科研以及商业用户需求,NEXRAD确立了开放型的产品系统[3-5],建立基数据远
程传输系统[6],使NEXRAD的业务水平和资料应用能力提升到新的水平。
目前,CINRAD的产品系统总体上,与国际发展水平尚有不少差距。另一方面,由于业务和技术的发展,现有产品系统的"紧固联结(Tightly-
Coupled)"运行模式和"单一整体(Monolithic-Entity)"式的结构,已不能较好地适应气象业务应用和科学发展的需求。本文根据
新一代天气雷达网和我国气象业务模式的状况,结合国际发展前沿,提出和研究多普勒雷达网建设中有关系统业务模式和产品结构的两个重要题目,这是雷达资料
应用中的关键性问题,也是新一代天气雷达软件开发得以持续发展的基础性工作。
2 开放系统的定义和分层模型
开放系统是一种具有国际标准的可升级操作系统接口的计算机环境[7],根据国际电子和电气工程师协会(IEEE)的定义[8],开放系统是指系统的接
口、服务和支持格式广泛地采用公共规范,使工程应用软件:1)在跨平台移植中的改动程度最小;2)能与其它应用程序在局域和远程系统中协同运行;3)具
有简易方便的用户交互方式。开放系统提供一系列的协议、接口和服务,使用户和应用程序在异种网络平台间能透明地访问数据、资源和服务。近年伴随着网络技
术的发展,开放系统呈现出"客户-服务器"式的分布式开放系统方式。
软件的分层设计是开放系统应用程序可移植性的基本要求。分层式的软件结构有利于将应用级程序与低层的系统软件和操作系统层分离。依据各层向邻层所提供的
服务功能不同,开放系统模型分为物理层、网络层、操作系统层、应用层等,各层间通过一系列的标准调用实现层与层之间的功能服务。如图1所示[3],图中
网络服务层包括网络数据接入、因特网、TCP/IP协议等服务联结,在网络层与应用层之间是软件系统的内部结构层。应用程序设计库是应用模块的接口函
数,应用程序使用一系列的标准调用接入低层的系统服务。在应用程序与操作系统间及与应用程序设计库之间是确定的应用程序接口函数(API)规程(图中以
加重的阴影标识)。分布式应用服务层是负责网络节点数据广播-接收,请求-服务,事件监听-调度的管理工具和函数库。
开放系统具有广泛的兼容性,有利于配置多型的计算机、服务器和操作系统等,支持跨平台多任务协同运行。开放系统允许功能模块的升级和增加,易于硬件集成
和更替,以及应用软件的可移植。
3 新一代天气雷达特性分析和产品系统的设计要求
雷达气象产品系统是一项复杂的系统工程,各国的雷达气象产品系统不具有某种固定模式,雷达产品体系的建立必须考虑其自身的复杂特点和特殊的发展需求。
图1 开放系统的松散分层结构模型
CINRAD具有多样性特点(SA、SB、SC、CB、CC、CD,S、C波段),要求在产品子系统与雷达数据采集子系统之间建立兼容的体系和方式。在
不同的雷达、不同的地区和用户中,实现气象产品研发、移植和升级,以及应用推广具有完全的设备(包括雷达、计算机和通讯设备等)无关性,使产品开发者和
用户脱离硬件系统多样性和复杂性的困扰。
由于业务和研究的深入发展,新的算法和需求在不断地提高和深化。我国各地的灾害性天气有着较明显的差异,对雷达产品系统和算法有着较大的需求差
异。CINRAD产品系统将处于一种不断发展和持续改进的状态,要求建立相适应的开放的运行和发展模式,使新的产品系统能最大程度地减少系统升级扩充的
风险和成本,满足使用维护方便,扩充升级简单,高效容错的业务要求。
CINARD探测数据将广泛应用于气象业务和科研,以及航空、水文、交通、农业、地质、市政等领域,要求建立多任务的"松散联结 (Loosely-
Coupled)"式的新产品系统结构,实现基本数据和产品生成、分发和显示的分布式模式是雷达数据应用和气象服务的新需求。
结合国际雷达气象产品系统前沿和新技术发展趋向,新的雷达产品系统的设计应总体达到易移植、易升级、易扩展、容错好的目标。
易移植性 由于计算机技术快速发展,软件的易移植性越来越重要。软件系统易移植性可避免因硬件和操作系统平台的更替而带来影响。雷达软件应用程序开发需
要与雷达观测模式、软件低层结构及操作系统隔离开来,使算法的源代码级开发适应不同的雷达型号和应用系统平台。
易升级性 在雷达软件系统发展中,新的功能和算法在不断地引入到系统中,因而要求系统对功能和算法的引入和升级是相当容易和简便的。现有雷达产品系统结
构使算法升级和功能扩充变得越来越困难。因此,通过采用新的技术和标准,改进产品系统的易升级性是必须的。
易扩展性 由于算法与产品开发的深入,以及服务领域和业务的拓展,计算资源的需求在不断地扩大。新的雷达产品系统须具有适应新处理器增加和外围设备扩展
的能力,支持局域和广域网联结,提供稳定基数据和产品传输功能,支持多用户网络产品生成和资料应用的扩展。
容错性 容错性和稳定性是业务系统的重要要求。多普勒天气雷达气象产品系统是一个复杂和庞大的体系,应具有良好的容错性能,以及系统资源过载条件下的自
我调控能力,不能因一个模块的错误或停止而导致整个产品系统终结。
图2 产品体系的业务模式和产品系统的分布式结构
(RDA:雷达数据采集系统,RPG:产品生成系统,LDM:本地数据管理系统)
表1 雷达数据传输试验基数据量估算表(单位:兆比特/秒)
配置
间隔
1个服务器(120部)
8个服务器(15部)
30个服务器(4部)
晴
雨
晴
雨
晴
雨
1个体扫
30
40
4
5
1
1.3
3个体扫
10
13.3
1.3
1.7
0.3
0.5
5个体扫
6
8
1
1
0.2
0.3
*降水和晴空体积扫描时间均按6分钟计算,实际晴空模式的时间约为9分钟。
4 开放产品系统的业务模式和分布式结构
由于气象业务服务和科学研究发展,如多领域预报预警服务、高精度高分辨率拼图、雷达基数据数值模式同化、人工影响天气、科学试验研究等等,对雷达业务模
式和结构的升级性和扩充性提出了新的发展需求[9,10]。图2 给出了可供CINRAD使用的业务模式的分布式结构环境,RPG应用程序和用户分布于
网络中的计算节点上,用户根据算法开发和产品生成对计算资源的需求变化在网络结构中动态地调整计算节点。在每个节点上,系统根据预定义动态地分配应用程
序。数据传输采用两种方案:在雷达站网与基数据区域服务器数据之间采用主动"发送方式",在基数据区域服务器与远程业务网用户之间采用"服务请求"方
式。基数据服务器从RDA获取基数据向本地RPG分发,并承担RPG与RDA的通信任务。本地数据管理系统(LDM)负责数据管理和归档,并将基数据压
缩后由雷达站本地网向上传输至气象业务主通信网的基数据区域服务器。远程业务网中的LDM根据RPG的用户请求,从区域服务器提取数据(包括供拼图用基
数据产品),解压缩后传输至服务器供远程RPG使用。LDM的另一重要功能是从基数据服务器中提取供高精度拼图用的基于基数据的数据产品,并上传至基数
据区域服务器。
表1给出了CINRAD全网(以120部雷达计)由雷达站网向气象业务主干网传输雷达基数据的试验结果。数据压缩方法采用通用压缩软件BZIP2,统计
表明雷达基数据的平均压缩率约为1/10(晴空时缩率约为16:1,降水时约为6:1)。表1将准(非)实时数据传输间隔分为1、3和5个体积扫描间
隔,基数据区域服务器分为1个(国家中心)、8个(区域中心)和30个(省)三种配置。由表1可知,在不考虑传输其它数据情况下,当设置8个基数据服务
器时,十兆速率即可满足通讯需求。实际上,区域基数据服务器的数量和通信带宽,可根据实际需要并同时考虑远程业务网RPG用户对数据的需求状况进行配
置。为避免远程用户对基数据的重复调用而增加通信负荷,在远程业务网的服务器上建立数据"缓冲区",由LDM负责"缓冲区"管理和数据协调调度。
5 开放产品系统的内部结构和运行方式
开放系统业务模式的分布式结构设计,使RPG系统成为集网络计算、传输通信、数据归档等为一体的开放系统阵列。基于开放系统模型和分布式结构的概念,开
放产品系统内部任务将呈现层状机构,系统以多任务交互联结方式运行。
5.1 内部结构
开放产品系统的每一个功能单元实现分离,组成几十或上百个不同的独立执行程序,包括基数据获取、外部数据获取、产品生成、产品分布、用户接口管理、系统
性能监视、RDA监控、RPG管理、数据归档等。
把应用程序和低层的实现细节隔离是开放系统的重要特征。根据开放系统的概念模型(图1),开放产品系统的应用程序设计库为算法模块的接口函数,算法程序
中使用标准调用函数,接入低层的系统服务。如当一个算法应用程序需要雷达的基数据时,只需要给出请求数据项的逻辑名,而不必知道哪一种雷达型号、数据格
式和基数据服务器位置,也不用关心怎样去获得这些数据等问题。应用程序设计库还包括读写产品、适配参数、系统配置等接口函数,以及基本的雷达数据处理功
能接口。
雷达基数据、产品和其他系统信息的分布服务由分布式应用服务层完成。在系统中预先定义数据信息由源到汇的传递方式,分布式应用服务层负责局域网多节点数
据的广播和接收,远程网中多节点的数据请求、服务和管理,提供本地和多节点上RPG事件的事件通告-接收,任务注册-撤消,配置支持服务,日志和错误信
息服务等系统管理功能。
5.2 运行方式
雷达气象产品系统被描述为一个"数据"驱动系统,所有应用程序响应于数据的请求或事件获取。系统任务间的联结方式是: 1)任务响应于由其它任务发布的
事件,2)基于数据流的线性缓冲概念。在图3的开放产品系统中,线性缓冲提供了系统内部任务通信的主要方式,内部持久数据贮存(基数据、产品、中间产
品、通信信息、适配参数、配置数据、状态参数等)均以线性缓冲实现。
在图3中,RDA调控、产品服务、人机交互等功能采用事件响应机制。如当操作人员从"人机交互"发出RDA调控命令,产生一个"操作指令信息"线性缓
冲,"观测调控"任务根据雷达型号翻译为适配的"观测参数"。RDA子系统响应修改"观测参数"的事件,做出调整观测状态行为。产品算法部分的任务使用
基于数据流驱动线性缓冲运行模式。所有的系统内数据均以独立的线性缓冲存储。数据输入由线性缓冲的更新通知或线性缓冲的定时检测方式实现。
通信管理和基数据服务使用客户-服务器运行模式。服务器建立一个用于收取客户请求的"请求线性缓冲",服务器查询"请求线性缓冲"后翻译服务请求,并向
客户提供响应服务,响应服务信息被推入与各客户相对应的"响应线性缓冲"中供客户任务使用。在松散联结模式中,系统配置数据、内部数据表、适配参数和状
态信息等采用 "发行/预订"的信息传递模式。
虽然套接(Sockets)和管道(Pipes)技术是进程通信的快捷方式,但主要用于操作系统进程间的通信服务,以及简单的客户-服务器应用程序。由
于套接和管道不支持多用户读写、永久性数据保存和大容量数据缓存,对于雷达气象产品系统(每个任务具有客户和服务器两种功能,并且数据须由多个任务同时
共享)来说,使用套接和管道会使系统变得异常复杂和困难。
图3 开放产品系统任务调用原理(任务以椭圆表示,线性缓冲区以双横线表示)
5.2 运行方式
雷达气象产品系统被描述为一个"数据"驱动系统,所有应用程序响应于数据的请求或事件获取。系统任务间的联结方式是: 1)任务响应于由其它任务发布的
事件,2)基于数据流的线性缓冲概念。在图3的开放产品系统中,线性缓冲提供了系统内部任务通信的主要方式,内部持久数据贮存(基数据、产品、中间产
品、通信信息、适配参数、配置数据、状态参数等)均以线性缓冲实现。
在图3中,RDA调控、产品服务、人机交互等功能采用事件响应机制。如当操作人员从"人机交互"发出RDA调控命令,产生一个"操作指令信息"线性缓
冲,"观测调控"任务根据雷达型号翻译为适配的"观测参数"。RDA子系统响应修改"观测参数"的事件,做出调整观测状态行为。产品算法部分的任务使用
基于数据流驱动线性缓冲运行模式。所有的系统内数据均以独立的线性缓冲存储。数据输入由线性缓冲的更新通知或线性缓冲的定时检测方式实现。
通信管理和基数据服务使用客户-服务器运行模式。服务器建立一个用于收取客户请求的"请求线性缓冲",服务器查询"请求线性缓冲"后翻译服务请求,并向
客户提供响应服务,响应服务信息被推入与各客户相对应的"响应线性缓冲"中供客户任务使用。在松散联结模式中,系统配置数据、内部数据表、适配参数和状
态信息等采用 "发行/预订"的信息传递模式。
虽然套接(Sockets)和管道(Pipes)技术是进程通信的快捷方式,但主要用于操作系统进程间的通信服务,以及简单的客户-服务器应用程序。由
于套接和管道不支持多用户读写、永久性数据保存和大容量数据缓存,对于雷达气象产品系统(每个任务具有客户和服务器两种功能,并且数据须由多个任务同时
共享)来说,使用套接和管道会使系统变得异常复杂和困难。
6 系统衔接和业务实现方法
开放式多普勒天气雷达产品系统的"开放"特性支持其与现有系统的衔接和业务实现。在CINRIND产品系统(CRPG)的外部,通过物理网络和线性缓冲
区方式实现雷达基数据导入和产品数据导出,前端与雷达数据采集系统联接,后端与气象信息综合处理显示系统(MICAPS)联接。通过建立CRPG公共业
务开发环境,实施对系统的开发、集成、测试和维护等任务。
CRPG内部的结构和算法采用与NEXRAD ORPG并列兼容模式。如图4所示,CRPG与ORPG并列地位于底层的内部函数库之上,二者是独立的;
同时,CRPG又可以调用ORPG的算法和结果,二者是兼容的。在此基础上,建立CRPG和ORPG的"封装"主控界面。ORPG底层内部函数库的开放
性支持在其基础上建立新的雷达产品算法和开放软件系统,CRPG底层内部函数库是针对我国雷达、通讯、预报等具体业务模式设计。底层函数库是CRPG与
操作系统的接口,同时也包括了大量的系统管理、服务、通信的系统函数。CRPG与ORPG的并列协调运行模式有利于降低系统开发风险和更好地发挥
CINRAD的效益。
图4多普勒天气雷达开放产品系统的业务衔接和实现方法图
7 结语
1) 虽然多普勒天气雷达系统是由几个部分组成的,但单独建立应用产品系统的分布式开放型业务模式和结构是有效可行的。从结构上将雷达各部分分离,符合
开放系统松散联结的结构理论。
2) 目前我国气象宽带通讯网建设已实施,宽带通讯网络为建立雷达分布式业务模式提供了更佳的物理基础。开放系统对数据传输能力具有较好的适应性,既可
进行单点多任务也可多节点多任务运行;既能在当前传输条件下实现,更能适应未来发展。
3)文中研究了雷达产品系统的结构和模式,如何建立产品的开发集成测试环境,确立产品和算法的外部、内部结构和规程,构建任务和函数的调用规则和接口,
设计数据传输和调用服务方法等还有许多工作要做。