基于阿里云的气象资料查询服务系统研究
2020-06-04丁雨鑫王伟方楠史珩瑜
丁雨鑫 王伟 方楠 史珩瑜
摘 要: 针对浙江气象证明业务中缺乏客观、统一的资料查询工具问题,搭建基于阿里云的气象资料查询服务系统,实现气象要素查询、气象证明生成等功能,为气象证明业务提供数据支持服务,提高气象为民服务效率和质量。该系统充分利用阿里云的高可靠性、高扩展性等特点,实现系统资源的弹性动态调整,解决了系统在灾害性天气期间的突发访问量问题。
关键词: 气象证明; 阿里云; 气象资料查询; 数据支持
Abstract: In view of the lack of objective and unified data query tools in Zhejiang meteorological certification business, a meteorological data query service system based on Alibaba cloud is built to realize the functions of meteorological element query and meteorological certificate generation, providing data support services for meteorological certification business and improving the efficiency and quality of meteorological services for the people. The system makes full use of Alibaba cloud's features of high reliability, high scalability and the others to realize the flexible dynamic adjustment of system resources, which solves the problem of burst access during the disastrous weather.
0 引言
自2016年底,浙江首次提出“最多跑一次”改革,到2019年,全面推动“最多跑一次”改革向公共服务等领域延伸扩面,浙江气象部门积极响应,在气象服务领域不断深入地挖掘用户需求,致力于解决为企业和群众办事“最后一公里”问题[1]。
气象证明,是在公众财产因气象灾害受损,进入保险理赔程序,需要向保险公司提供的证明气象灾害发生的材料[2]。在浙江省气象证明业务中,公众可以通过“浙江省政务服务网”完成气象证明的网上申请,流程简单,申请方便。但是对于气象业务人员和保险公司而言,仍缺乏一个查询工具进行数据支持服务。
对气象业务人员而言,接收到气象证明申请后,需借助其他手段选择与事发地邻近的气象站点,利用数据库系统查询事发时间段内出现的气象要素值,需人工选择事发地邻近站点,存在一定主观性和随机性,且查询便捷度不高。对保险公司而言,除纸质的气象证明以外,没有获取气象监测数据的渠道,无法进行核实验证,尽管部分省份支持媒体报道作为气象灾害发生证明,但仍难以反映局地性的气象灾害发生情况。
基于以上现状,通过整合气象数据资源,拟基于阿里云搭建气象资料查询平台,为气象证明业务解决“最后一公里”问题。该系统实现气象资料便捷查询、气象证明自动生成等功能,并充分利用阿里云的弹性扩容服务,解决系统突发访问量问题,保证系统稳定性和可靠性。
1 云计算和阿里云
1.1 云计算
云计算是分布式计算、互联网技术、大规模资源管理等技术的融合与发展,其核心思想是将大量用網络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。云计算的特点可归纳为:弹性服务、资源池化、按需服务、服务可计费和泛在接入。这5个特性使得用户只需要连上互联网就可以源源不断地使用计算机资源,实现了“互联网即计算机”的构想[3]。
根据云计算基础设施拥有、管理、使用和部署场所等不同,可以将云计算部署模式划分为私有云、公有云和混合云。私有云是由企业和组织单独拥有和使用的;公有云是由若干用户或企业共享的;混合云则是公有云和私有云的混合形式[4]。
1.2 阿里云
阿里云是阿里巴巴集团打造的一款公共、开放的云计算服务平台,其计算存储地域包含青岛、北京、杭州等地,拥有全国最大内容分发网络(CDN),遍布全国700多个节点,提供多线的BGP骨干网接入和CN2高速网络[5]。
基于阿里云自身的系统,对外提供了包括弹性计算服务(ECS)、负载均衡服务(SLB)、对象存储服务(OSS)、关系型数据库服务(RDS)、开放结构化数据服务(OTS)、大数据计算服务(ODPS)等多种服务。这些服务具有可靠性强、可用性高、规模可伸缩等特点,满足多样化的应用需求。
2 系统设计
2.1 系统总体架构
气象资料查询系统是以阿里云服务为载体,依托气象数据资源,面向气象和保险业务人员提供数据支持服务。系统总体设计必须同时满足以下方面的要求。
⑴ 应用云化环境。系统涉及数据采集、处理、存储等过程均采用阿里云的各项服务,充分利用阿里云弹性扩容服务、负载均衡等功能,彻底解决系统应用时高突发访问量的响应瓶颈。
⑵ 数据安全访问。系统涉及的气象数据资料主要存在于气象内网中,其中部分数据不能对外公开。数据进行二次加工后,通过物理手段、软件封装、用户权限管理等方式被安全传输和访问。
⑶ 访问操作方便快捷。系统部署在互联网,应用终端主要是PC浏览器,系统需自动判别应用终端的浏览器版本,并推送与之适应的系统界面及其功能。界面操作方便快捷,保证用户友好性。
⑷ 行業专业有保障。系统以服务保险行业和气象行业为基础,整合准确、可靠的气象数据源,根据行业需求,制定查询规则,保证权威性,满足保险行业多险种的不同查询要求,满足气象行业核实气象信息快捷方便的需求。
浙江省气象资料查询服务系统架构图如图1所示。
系统以弹性计算服务器(ECS)为载体,为系统提供弹性运行环境,解决以往系统开发和部署时构建和管理硬件资源的困扰。多台ECS服务器构建成分布式应用集群,通过Web方式为系统提供服务。开放存储服务(OSS)和关系型数据库服务(RDS)为系统提供数据存储服务,其中,OSS支持系统数据的海量文件存储,RDS支持系统所需的MySQL关系型数据库,并提供弹性伸缩等服务[6]。
系统面向互联网应用,利用链路负载均衡(SLB)和API网关,设置虚拟IP,把位于同一数据中心的多台云服务器虚拟成一个高性能、高可用的应用服务池,再根据应用特性,把来自用户的网络请求分发到云服务池中。
系统气象数据通过VPN专线进行访问,并加固VPN网关。访问时通过专有网络VPC,隔离了虚拟网络,数据在传输时,会加上封装,带有专有VPC的唯一ID标识,然后进行传输,保证了数据传输的安全性和私密性[7]。
2.2 系统功能结构
气象资料查询系统由用户管理模块、气象数据模块、气象查询模块、气象证明模块四部分组成。其中,气象数据模块实现了事发地邻近观测资料选择和多数据源的跨表联合查询。气象查询模块实现web端界面搭建、事发地定位等功能,。气象证明模块提供了气象证明的生成、查看、删除功能。系统功能结构图如图2所示。
3 系统功能的设计与实现
气象资料查询系统由用户管理模块、气象数据模块、气象查询模块、气象证明模块四部分组成,系统流程图如图3所示。
3.1 用户管理模块
为保证系统安全,用户管理模块加强了对用户账号管理和权限管理。用户申请开通账号需审核身份证明材料。用户权限管理模块,实行分类管理,不同单位间若无业务往来,则不能查看对方的查询记录。保险用户登录系统后,生成的查询记录会提交到查询地所属的气象部门,若为复杂记录查询,则需要该地的气象业务人员进行分析,核实天气现象后,填入查询结果。
3.2 气象数据模块
气象数据模块所涉及的数据库主要存在于气象部门内网中,且数据源涉及SQL Server和MySQL两类数据库。系统采用MyBatis与spring的集成,实现对多数据源、跨表联合查询,使用简单的XML和注解来配置和映射基本数据类型、Map接口和POJO到数据库记录,在保证数据存储准确的同时提高了效率。通过物理专线进行内网数据库访问,保证数据的安全。
3.3 气象查询模块
3.3.1 查询方式选择模块
根据目前实际业务办理情况,将系统功能可分为简单的实况数据查询和较为复杂的气象条件分析。具体功能定位介绍如下。
⑴ 简单的实况数据查询。实现气象用户和保险用户查询气象资料、打印存档等功能。查询规则为以事发地为中心搜索邻近站点,以最大化满足赔付条件为原则,筛选气象要素值/累计值,从而确定最终的查询结果。
⑵ 较为复杂的气象条件分析。该功能是由保险用户提交复杂条件申请后,由气象用户进行综合气象分析,给出结论。
3.3.2 数据采集模块
系统前端采用HTML 5的技术框架,并使用LeafLet轻量级地图类库实现地理信息的显示和分析。用户选择事发地可以用三种模式,直接在地图上点击进行地址选择,输入站号或者经纬度进行检索,点击确定按钮后,都会在地图上显示具体位置。系统后台接收到用户所需查询的信息后,如果是站号检索,则直接查询该站的信息,如果是经纬度,则寻找距离该经纬度最近站点的信息。
若是简单查询,可立即查看查询结果,查询时间基本在0.1-2s以内。若是复杂天气查询,则需要气象业务人员填入复杂天气分析结果。
3.4 气象证明模块
在查询结果界面,点击生成证明,可生产PDF格式的气象证明查询单。系统后台采用Aspose.Words的Mail merge功能,该功能允许一个文档模板从一个数据源中提取关键字段,替换模板中的内容,生成多个文档。通过制定统一模板的气象证明查询单,保证系统生成的查询结果具有规范性、权威性。
4 系统应用效果
系统主界面如图4所示,系统运行稳定,响应速度快,应用效果十分明显。在台风“利奇马”期间,访问量达常规访问量的近100倍,在接近访问带宽的极限值时,及时地应用云服务的弹性扩容进行动态调整,轻松的应对突发访问量的冲击。系统于2019年5月1号上线,面向全省推广,截止2019年11月25日,拥有361位用户,其中省市县气象部门用户82位,保险公司用户279位,累积办件量8794件。
5 结束语
本文通过浙江省气象资料查询服务系统的建设实践,介绍了系统基于阿里云平台的整体架构、功能需求和实现原理,解决了气象资料查询工具缺失的问题、气象内网数据与互联网的安全访问问题、系统在突发访问量剧增时的性能瓶颈等问题。目前系统已投入实际业务使用,收到了良好的社会效益,提升了气象为民服务质量。
下一步的工作,将在提高系统服务精准度方面继续开展研究。包括完善气象数据源,覆盖更多的气象数据产品,提高系统查询结果的准确性;用智能分析代替复杂天气查询中的人工分析环节,提升系统服务信息化、智能化和客观性。
参考文献(References):
[1] 何显明,张鸣.重塑政府改革的逻辑:以“最多跑一次”改革为中心的讨论[J].中共浙江省委党校学报,2018.1.
[2] 郑伟才,李建,杨明等.网上气象证明系统架构浅析[J].浙江气象,2015.36(3):29-31
[3] 罗军舟,金嘉晖,宋爱波等.云计算:体系架构与关键技术[J].通信学报,2011.7:7-25
[4] 阿里云.产品帮助中心文档[EB/OL]. [2017-10-13].杭州,阿里云,https://help.aliyun.com/product.
[5] 骆小龙,虞开森,余金铭等.基于阿里云的台风路径实时发布系统研究[J].计算机时代,2015.2:15-18
[6] Souza Ribeiro, Anderson, Bianchini, David. The deploy-ment of Systems in Cloud Computing environment: A Methodology to Select and Prioritize projects[J].IEEE Latin America Transactions,15(3):557-562
[7] Cao Z , Lin J , Wan C , et al. Optimal Cloud Computing Resource Allocation for Demand Side Management in Smart Grid[J]. IEEE Transactions on Smart Grid,2017.8(4):1943-1955