基于云计算的市县一体化气象业务平台设计与实现

2022-09-12

随着我国气象事业的不断发展, 各级气象部门的业务系统也在不断增加。由于缺乏整体规划, 这些业务系统基本上都是由相关业务单位自行设计、建设和维护的, 一套业务系统独立拥有基础IT资源和专用数据库, 运行和维护费用高, 设备和资源利用率低[1]。

近年来, 云计算作为一种新的服务模式已成为学术界和产业界争相研究的热点。它是一种能够将动态易扩展的虚拟化资源软件和数据通过互联网提供给用户的计算方式, 涉及的关键技术包括虚拟化、分布式存储、编程模型和资源管理等。本文结合当前气象业务布局的实际情况, 研究了云计算技术在气象信息服务系统中的应用方案, 提出了基于云计算的市县一体化气象业务平台, 设计了一体化气象业务平台的系统构架, 对所涉及的关键技术进行了详细分析和阐述。

一、相关工作

为了将云计算技术应用到气象业务系统中, 一些气象部门和技术人员进行了相关研究和实践。宁波气象部门为解决业务服务人员桌面终端管理和资料共享困难的问题, 部署了基于v Sphere构架的气象私有云, 气象私有云包括基础硬件、资源调度、会话管理和终端接入四个层次, 要为用户提供虚拟桌面的服务。王俊松根据气象计算的特点, 提出了一种启发式调度算法, 度算法对气象作业按照时间紧迫型、CPU紧迫型和硬盘空间紧迫型分类, 计算资源综合紧迫指数, 相应地赋予不同调度优先权[2]。

二、系统构架设计

(一) 部署模式的选择

云计算按部署模式可以分为公有云、私有云和混合云三种。公有云是指由专业服务商建立IT基础构架, 接向外部用户提供服务的云, 用户通过互联网访问服务, 不拥有云计算资源。私有云是指企业自己搭建IT基础构架, 向内部用户或外部客户提供云计算服务, 企业拥有IT基础构架的自主权, 且可以基于自己的需求改进服务, 进行自主创新。混合云是将公有云和私有云以一种可控的方式进行结合, 用户既可以使用私有云服务, 可以使用公有云服务。目前情况下, 气象部门内建设私有云更为合适[3]。

(二) 功能需求分析

市县级气象业务主要包括公共气象服务系统、预警预报系统和观测系统。在云计算气象业务平台上, 必须提供相应的软件服务, 业务人员能够通过网络使用业务软件进行业务处理。其次, 为了充分利用市县级气象部门的智力资源、发挥气象人员的创造性, 平台还必须提供气象人员进行应用开发和应用部署的环境, 向用户提供平台服务。气象计算需要输入数量巨大的卫星资料、雷达资料和自动站资料, 同时也要处理资料同化和数值模式计算等复杂算法, 因此, 气象业务平台必须拥有容量在PB级以上的存储系统和高性能的分布式计算系统[4]。

(三) 系统结构

云计算气象业务平台包括云计算平台、数据中心、服务支撑系统和服务系统四个部分。用户通过服务系统接入气象业务平台并根据权限使用业务系统软件和开发环境。

(1) 云计算平台:采用虚拟化技术, 将高性能计算机、存储、网络带宽等资源构建一个公共资源池, 通过弹性资源供应机制, 气象业务单位提供快速、高效的Iaa S服务。管理中心根据业务单位的资源申请, 将资源池中划分一个个的虚拟机, 可以预置各类业务软件和开发环境, 业务人员可以使用这些虚拟机从事各类气象业务和开发。

(2) 气象数据中心:由分布式存储系统实现, 数据库、文件系统、统一数据接口构成一个数据中心, 供存储、检索、质控等服务。数据的检索和调用通过统一接口实现, 使用者无需关心数据组织及存储细节。

(3) 服务支撑系统:采用SOA架构, 气象业务中用到的复杂计算、数据处理、绘图、产品加工制作等功能模块定义为一组服务, 进行分布式部署、组合和使用, 供各种应用直接调用。服务由省级各业务单位共同开发维护, 部署之后可供全省各级气象部门使用。

(4) 服务系统:为通过网络为用户提供软件服务和平台服务。市县级气象局的用户根据自己的权限可以选择相应的业务软件完成气象预报和气象服务等日常工作, 或者进入开发环境进行业务软件开发。

三、关键技术分析

(一) 物理资源的虚拟化

实现物理资源的虚拟化是构建云计算平台的基础。市县级气象部门原有的IT资源被整合到省级云计算气象业务平台中, 这些异构的计算、存储和网络资源通过虚拟化软件转变成一致的虚拟资源池, 供云计算平台的上层系统使用。目前常见的虚拟化软件有XEN、KVM、Hyper-V和VMware v Sphere[9]。其中以VMware的技术成熟度和稳定性最为出色, 适合企业级的应用[5]。

(二) 气象数据的分布式存储与处理

Hadoop是Google云计算的开源实现, 主要包括分布式文件系统HDFS、分布式计算模型Map/Reduce和分布式数据库Hbase。Hadoop通过分布式存储和计算, 以存储PB级的数据, 重构后的Hadoop不仅支持数据密集型计算, 还能支持计算密集型计算[11], 因此能够满足气象业务中的海量数据存储和复杂数据处理的要求。本文基于Hadoop平台介绍云环境下气象数据的分布式处理与存储方案[6]。

1. 气象数据的存储

气象数据主要包括自动站资料、雷达资料和卫星资料等, 数量巨大, 种类繁多。根据气象数据的特点及使用方式, 将其分为结构化数据和非结构化数据, 结构化数据经过文件解码和格式转换后, 存储在数据库中。非结构化数据主要包括雷达基数据和卫星数据, 这些数在Hadoop平台中, Hbase具有数据库逻辑层设计和数据库功能支持, 用于存储气象结构化的地面、高空、海洋、辐射等常规观测资料和特种观测资料;而HDFS作为分布式文件系统主要用于存储雷达、卫星和数值模式NWP等非结构化数据文件[7]。

2. 气象数据的处理

气象数据的处理是基于Hadoop平台中的Map Reduce编程模型实现的。气象业务系统链接了Map Reduce库, 并实现了最基本的Map函数和Reduce函数。Map Reduce库首先把系统提交的输入文件拆分成若干个数据块, 然后应用进程拷贝到集群中的其他节点上。Hadoop集群中由一个master节点和若干个worker节点组成。master负责调度, 空闲worker节点分配作业。被分配了Map作业的worker, 开始读取对应分块的输入气象数据, Map作业从输入数据中抽取键值对, 一个键值对作为参数传递给map函数, map函数产生的中间键值对被缓存在内存中。缓存的中间键值对被写入本地磁盘, 而且被分成若干个区, 各个区对应一个Reduce作业。这些中键值对的位置会被通报给master, master负责将信息转发给Reduce worker。Reduce worker读取所有它负责的中键值对, 并对他们进行排序, 使得相同件的键值对聚集在一起。Reduce worker遍历排序后的中键值对, 对于每一个唯一的键, 都将键与关联的值传递给reduce函数, reduce函数产生的输出会添加到这个分区的输出文件中。当所有的Map和Reduce作业都完成了, master唤醒正版的应用程序, Map Reduce函数调用返回应用程序的代码, 一次气象数据处理过程结束[8]。

(三) 服务支撑组件的SOA实现

气象业务平台的服务支撑系统采用SOA架构。将应用程序的不同功能单元通过各个服务之间定义好的接口和契约联系起来, 具有高内聚、低耦合、互操作性和大粒度等特性。Web Service是实现SOA架构的一种方式, 具有标准、简单、跨平台、跨操作系统、跨语言的特性, 被网格计算、云计算所普遍遵循。

省级各气象业务单位根据本单位的业务范围, 开发气象业务系统中常用的功能模块。这些功能模块作为服务组件通过WSDL协议对服务描述后在云服务平台中通过UDDI协议进行发布;市县级业务单位在进行业务处理和系统开发时使用服务时通过WSDL协议在服务平台中心进行查找, 到需要的服务之后通过SOAP与服务组件提供单位交互, 服务进行绑定, 使用服务[9]。

四、云环境下的气象业务布局

在传统IT环境下, 数据、计算等资源共享困难, 各市县级气象部门不得不构建各自独立的IT环境, 而且这些分散的IT设施并没有被充分利用, 造成了IT资源的大量闲置。在基于云计算的气象业务平台系统中, 整合后的市县级的IT资源都集中在省级气象信息, 并由省级气象部门负责云计算气象业务平台的建设和维护。市县级气象部门不再进行IT设施的建设和维护, 仅适用配置简单的业务终端通过网络就可以使用省级气象云计算业务平台的各种资源, 完成各项业务工作的处理[10,11]。

五、结束语

云计算技术作为一种新型的计算模型和IT服务方式, 已经在商业领域得到了应用并展示出了强大的生命力。本文研究了云计算在气象业务系统中的应用方案, 通过在省级气象业务单位建立气象私有云业务平台, 实现市县级气象业务工作的一体化处理。基于云计算的气象业务平台能从根本上解决IT资源分散、共享困难和实时服务能力不足等问题, 构成集约化和专业化的气象业务布局, 气象信息业务系统发展的主要方向。

摘要:基于传统IT架构的气象业务系统需要各级气象业务单位自行建设和维护, 这不给市县级气象部门带来了人员和资金压力, 造成了数据冗余和资源共享困难等问题。针对这种情况, 研究并设计了基于云计算的市县一体化气象业务平台, 分析气象数据的分布式存储与处理流程和服务支撑系统的SOA实现方案, 阐述基于云计算业务平台的市县一体化气象业务布局。研究分析表明, 基于云计算的市县一体化气象业务平台能够有效整合现有IT资源, 促进气象业务的集约化和专业化发展, 提高气象部门的工作效率和服务质量。

关键词:云计算,数据中心,气象业务,虚拟化,SOA

参考文献

[1] 沈文海.从云计算看气象部门未来的信息化趋势[J].气象科技进展, 2012, 2 (2) :49-56.

[2] 孙艳云, 刘其海, 郭宗凯.云服务在气象业务中应用的思考[C].201 1年中国气象学会气象通信与信息技术委员会, 2011.20-24.

[3] 方巍, 文学志, 吴斌.云计算:概念、技术及应用研究综述[J].南京信息工程大学学报:自然科学版, 2012, 4 (4) :351-356.

[4] 钱峥, 曹艳艳, 赵科科.私有云在市级气象业务平台的实现与应用[J].气象科技, 2014, 42 (4) :641-646.

[5] 王俊松, 郝永生.气象环境下的云计算调度算法[J].计算机与现代化, 2013, (11) :68-73.

[6] Viktor Mauch, Marcel Kunze, Marius Hillenbrand.High perfor-mance cloud computing[J].Future Generation Computer Systems, 2013, (29) :1408-1416.

[7] 白云波.云计算及其典型应用研究[J].电脑知识与技术, 2014, 10 (21) :4972-4979.

[8] 中国气象局.中国气象局关于县级综合气象业务改革发展的意见[EB/OL]. (2013-06-17) .[2014-09-03].http:∥www.gov.cn/gzdt/2013-06/17/content_2427544 htm.

[9] 张建华, 刘恒, 王文博.云计算核心技术研究综述[J].小型微型计算机系统, 2013, 34 (11) :2417-2424.

[10] 张建.基于Hadoop的云计算模型研究及气象应用[D].南京:南京信息工程大学, 2012.

[11] 薛胜军, 刘寅.基于Hadoop的气象信息数据仓库建立与测试[J].计算机测量与控制, 2012, 20 (4) :926-928.

上一篇:声发射技术在压力容器检测中的应用下一篇:试论加强成本管理在建筑经济中的作用