基于分布式架构的县级气象业务系统设计与实现

2015-05-30 16:26刘高平叶金印
软件工程 2015年4期
关键词:分布式

刘高平 叶金印

摘 要:针对县级气象台业务集约化水平低的现状,利用C#、WPF、WCF以及SQL等技术,设计研发基于分布式架构的县级气象业务系统,实现了气象信息集成显示、预报预警、气象服务产品制作发布、业务流程监控等四大业务功能的集约化。业务应用表明,该系统可提高县级气象台预报预警业务效率和气象服务能力。

关键词:分布式;县级气象业务;业务系统

中图分类号:P409 文献标识码:A

Abstract:In order to improve business intensive level at county level meteorological observatories,County Level Meteorological Operational System was designed and developed based on distributed structure with the help of C#,WPF,WCF,SQL,etc.technique.Four major operational functions including:meteorological information integrated display,forecasting and early warning,production and publishing of meteorological service products,operation process monitoring were integrated.Operational application proved that the system can improve meteorological service ability as well as the efficiency of forecasting and warning.

Keywords:distributed structure;county level meteorological service;operational system

1 引言(Introduction)

随着我国经济社会快速发展,自然灾害问题日益突出[1]。其中因气象灾害造成的经济损失和人员伤亡,引起了政府部门和社会各界越来越广泛的关注[2]。县级气象台是面向公众和面向领导决策的气象防灾减灾重要业务主体,其业务服务水平已经成为全国气象现代化水平的重要标志[3],建设集约化的县级综合气象业务系统是提升气象防灾减灾能力的重要手段[4]。

随着气象业务的拓展和计算机技术在气象行业的应用,为解决具体业务应用的软件越来越多,这些业务应用软件功能单一,对数据和运行环境的要求也不尽相同[5]。虽然这些业务软件在一定的阶段发挥了积极的作用,但是其业务自动化和集约化水平越来越不能适应社会经济发展对气象服务能力的需求[3-5]。气象信息集成显示、预报预警、气象服务产品制作发布、业务流程监控等四个方面是县级气象台主要业务工作,也是我国气象部门业务能力建设的重要内容[6]。本文以安徽省气象部门研发的基于分布式架构的县级气象业务系统为例,介绍了系统的总体设计方案、功能实现以及关键技术集成应用等技术思路和方法。

2 系统总体设计方案(General designing plan of

this system)

安徽县级气象综合业务系统采用分布式三层架构。数据层为多个SQL Server数据库组成的数据库集群;业务逻辑层是利用WCF技术建立的多个具有数据加工处理、信息传达和业务管理功能的SOA应用服务器;表现层是利用.NET框架下的C#编程技术和WPF界面技术建立的客户端,负责气象信息显示和人机交互。系统的拓扑结构如图1所示。

3 系统功能及实现方法(Functions andimplementation)

3.1 气象信息综合集成显示

利用C#编程与WPF技术自行研发了具有GIS功能的MeteoMap控件,实现种类繁多的气象信息分层叠加和集成显示。MeteoMap控件具有天气符号等矢量图形绘制、卫星图像绘制、雷达图像绘制[7]、等值线绘制填色[8]等基础功能,且支持地图漫游、缩放以及投影转换。

气象数据的集成叠加显示是使用MeteoMap控件中的图层类来实现。控件中的AbLayer类是所有图层的抽象基类,该类拥有添加图元(AddFeatures)抽象方法,在其派生类的该方法下可添加点、线、面类型的图元,每个图元则包括定坐标定位信息和绘制自我(DrawMe)函数,图元在DrawMe函数中利用控件的DrawingContext(WPF的图形绘制类)对象进行绘制。图层分为上、中和下三层,按照从下至上的顺序进行叠加。上层为用户交互、地理信息及气象数据类型显示图层;中层为等值线类型显示图层;下层为卫星雷达等遥感图像显示图层。

客户端通过SOA层调取自动气象站、卫星、雷达、主观预报、客观预报等数据,利用MeteoMap控件分层叠加和集成显示。

3.2 气象预报及服务产品制作

(1)图形产品制作

通过建立MeteoMap控件图元移动修改工具(ImageMetaTool),针对预报数据的修订和不同行政区域、地图元素(如图例、标题等)的交互式操作,实现交互式的气象预报及服务图形化产品制作功能。

修改预报数据时,ImageMetaTool通过MeteoMap控件鼠标MouseRightButtonDown事件获得鼠标位置,根据设定的距离选取雨量数据,并弹出对话框交互修改降雨数据。

移动地图元素(如图例、标题等)时,ImageMetaTool工具监测MeteoMap控件的MouseLeftButtonDown、MouseMove事件,按下鼠标左键选取一个图元,按住鼠标移动时在图元初始位置坐标加上鼠标的移动向量实现坐标改变。通过调用MeteoMap控件的绘制图层方法(DrawLayers)实现刷新。将图元的操作(修改属性、移动、删除图元、增加图元)封装成类,对这些类的对象进行执行和撤销,实现交互操作的执行(重做)和撤销。

(2)文字材料制作

TeX作为一种优秀的排版系统[9],可以方便地制作高质量的DVI文件,并生成PDF文件。本系统定制了多个气象服务文字材料TeX模板,并通过SOA层从相应的服务器中获取数据,替换TeX模板中的关键变量,最终利用TeX形成PDF文档。

3.3 气象灾害预警信号发布

气象预警信号发布的关键环节是气象灾害预警区域的确定。系统通过在MeteoMap上建立用户交互图层(InteractiveLayer)用于确定预警发布区域;通过建立接收预警设备图层(DevicesLayer)用于显示预警信息接收设备。系统利用点与面的位置关系,判别和确定预警接收设备(如乡村预警大喇叭、电子显示屏、手机短信、微博等),通过SOA层对外发布。

3.4 业务流程监控

气象业务流程具有严格的时间规定,系统根据定时任务以列表的形式显示业务流程状态。系统通过自行设计开发的任务类(Task)来实现业务流程状态实时监控。

Task类设定“开始时间”“报警时间”“结束时间”等三个时间属性,以及任务“已完成”“未完成”两个任务标志属性。通过三个时间属性和两个任务标志属性组合,形成“未开始”“已完成”“进入任务时间”“任务即将延误”“任务已延误”五种状态。

利用WPF模板技术,将Task实例集合绑定至ListBox控件,实现ListBoxItem以灰色、绿色、黄色、橙色、红色五种颜色表示任务的五种状态。流程进入后两种状态时,系统还将以声音报警和发送手机短信的方式提醒业务值班人员。

4 关键业务技术(Key technologies of service)

4.1 气象要素空间插值方法

4.2 变权重系数天气预报集成方法

4.3 气象预警信号发布条件判别方法

5 结论(Conclusion)

利用C#、WPF、WCF以及SQL等技术设计研发的基于分布式架构的县级气象业务系统分整合了多种气象业务资源,实现了气象信息集成显示、预报预警、气象服务产品制作发布、业务流程监控等四大业务功能的集约化。

(1)系统客户端集成了气象信息综合显示、预报预警、气象服务产品制作发布、业务流程监控四大业务操作界面,优化了县级气象台业务流程,有助于提高气象业务集约化水平。

(2)系统采用气象要素空间插值方法和变权重天气预报集成方法,有助于提供气象资料的分析水平和气象预报准确率。气象预警信号发布条件判别方法改进了气象预警信号发布效率,有效提升了气象预警服务能力。系统提供的多种交互式、自动化功能(如图形产品制作、文字材料制作等)提高了业务人员工作效率。

(3)系统于2014年6月在安徽省气象部门县级气象台投入业务应用,取得了较好的业务效果。今后还需要根据县级气象台的业务需求对其进行改进和完善。

参考文献(References)

[1] 刘彤,等.我国主要的气象灾害及经济损失[J].自然灾害学报,2011,20(2):90-95.

[2] 祝燕德,等.气象灾害预警机制与社会相应的思考[J].自然灾害学报,2010,19(4):191-194.

[3] 刘煜,卢美伟,冯振家.加强县级公共气象服务能力建设的思考[J].气象研究与应用,2011,32(2):32-34.

[4] 孙宝利,等.县级气象综合业务工作平台本地化[J].气象与环境学报,2008,24(3):46-50.

[5] 曲文政.现代气象预报系统平台设计与实现[D].吉林大学,2011.

[6] 矫梅燕.天气业务的现代化发展[J].气象,2010,36(7):1-4.

[7] 李荣忠,等.基于查找表的激光雷达图像快速绘制算法[J].地理空间信息,2009,7(5):54-56.

[8] 李强,李超,甘建红.基于三角网的等值线填充算法研究[J].计算机工程与应用,2013,49(5):185-189.

[9] 李德泉,等.北京奥运气象服务产品制作系统设计与实现[J].应用气象学报,2010,21(3):372-377.

[10] 孟庆香,等.基于GIS的黄土高原气象要素空间插值方法[J].水土保持研究.2010,17(1):10-14.

[11] 吴昌广,等.三峡库区降水量的空间插值方法及时空分布[J].长江流域资源与环境.2010,19(7):752-758.

[12] 陈淑佳,等.气象要素栅格化方法比较——以福建省月平均气温为例[J].亚热带资源与环境学报.2010,5(4):43-51.

[13] 张冰,等.转折性天气降水预报检验方法及应用[J].气象科技.2012,40(3):411-416.

[14] 石春娥,等.MM5与MM5-PAFOG模式区域雾预报效果评估比较[J].高原气象,2013,32(5):1349-1359.

[15] 顾润源,等.内蒙古数值天气预报集成方法初探[J].成都信息工程学院学报.2011,26(4):451-454.

[16] 孙健,等.我国气象预警信息覆盖率的初步分析[J].气象科技进展,2013,3(5),19-23.

作者简介:

刘高平(1982-),男,本科,工程师.研究领域:计算机技术在气象业务中的应用.

叶金印(1968-),男,博士,正研级高工.研究领域:水文气象.

猜你喜欢
分布式
基于RTDS的分布式光伏并网建模研究
光伏:从严控制发展规模 分布式限定10GW
分布式光伏发展的四大矛盾
分布式光伏热钱汹涌
基于预处理MUSIC算法的分布式阵列DOA估计
分布式光伏:爆发还是徘徊
基于点估计法的分布式电源的配置优化
一种用于微电网分布式发电的新型Buck-Boost逆变器
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL