admin 管理员组

文章数量: 1086019


2024年3月19日发(作者:表格软件excel教程)

ISSN1009-3044

Computer

Knowledge

Knowledge

and

and

Technology

Technology

电脑知识

电脑知识

与技术

Computer

与技术

Vol.17,No.15

May

2021

E-mail:*************.cn

第17卷第15期(2021年5月)

http://

Tel:+86-551-6569

基于微信的“雨在哪”小程序设计与实现

王家乐

(内蒙古自治区气象信息中心,内蒙古呼和浩特010010)

摘要:近年来,智能手机应用悄然兴起,人们依赖手机获取天气实况愈来愈显著。文章基于微信,研发了“雨在哪”微信小

程序,实现了内蒙古自治区历史、实时降水信息的展示,用户可针对性对降水严重区域进行防范,避免由于严重降水引起

的各类灾害。

关键词:微信小程序;数据接口;降水产品

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

开放科学(资源服务)标识码(OSID):

文章编号:1009-3044(2021)15-0082-03

1背景

降水包括雨、雪、雨夹雪等相态,不同降水相态对应的降水

量级具有差异性,降水过度会严重影响人们的生活,造成不同

程度的灾害,因此及时将降水相态、降水落区及降水的量级推

送给社会活动人员对气象防灾减灾至关重要。近年来,通过智

能手机的微信应用获取各种信息资源已经成为当今社会的主

流趋势,微信具有操作简便、交流高效、信息推送精准等优点,

这些都为实现基于微信的“雨在哪”小程序设计与应用(以下简

称“雨在哪”)奠定了基础。本文将对该系统设计与应用进行

介绍。

务,下层为上层提供支撑,同时上层从下层获得基础数据并服

务,功能模块见图1:

基于手机微信移动端的“雨在哪”展示系统

展示层

自治区级用户盟市级用户旗县级用户

小时降水实况接口

应用接口层

分钟降水实况接口

实时数据

数据加工层

实况降水数据近24

小时小时降水

实况降水数据近1

小时分钟降水

台站24小时降水统计

盟市24小时降水统计

实时数据统计

按台站降水24小时

滑动累积

按盟市降水24小时

滑动累积

历史降水极值

历史降水排名

历史数据统计

历史降水数据极值

统计

历史降水数据排名

2系统设计

2.1总体结构设计

数据访问层

“天擎”数据环境

虚谷数据库

ETL同步

“雨在哪”数据环境

postgreSQL数据库

“雨在哪”微信小程序

[1]

主要基于气象局内部私有云平台进

行建设,在公有云上适当补充。数据环境主要基于内蒙古气象

大数据云平台-天擎数据环境,应用软件由微信小程序、接口应

用、后端数据处理应用三部分组成。

微信小程序和接口应用部署在公有云虚拟服务器上。前

端部署负载均衡设备进行任务调度,提供高并发访问下的数据

分流处理。网络入口处部署防火墙,进行网络攻击拦截,既能

够实现数据的高效传输,也能够保证数据访问的安全性。

后端数据处理应用,基于处理服务组件,具备多并发实时

处理功能。后端数据处理基于气象局内部私有云,根据业务需

要获取全区预报,实况,历史降水信息,对这些数据进行分析加

工,生成可供应用快速方便高效使用的结构化数据。随着业务

发展的需求和访问量的增加,可以扩展处理服务器的数量。

2.2总体结构设计

基础数据层

Web服务器

虚拟化资源池

数据库服务器

系统由基础设施层、数据访问层、数据加工层、应用接口层

和展示层五个功能模块组成。每个模块实现其特定的核心任

1)展示层

展示层是系统操作界面,面向的用户是自治区级、盟市级

和旗县级从事气象服务相关工作或社会活动人员,用户通过手

机搜索“雨在哪”即可使用。

2)应用接口层

应用接口层是系统业务逻辑处理的核心部分,采用REST

服务方式实现与展示层的信息请求交互,该方式降低了系统开

发的复杂性和耦合度,提高了系统的可扩展性。

3)数据加工层

数据加工层是对基础数据预处理,包括实况降水数据统

计、历史数据集解码入库、历史数据统计,最终生成有效的降水

数据产品,应用接口层基于此产品完成数据接口开发。

4)数据访问层

数据访问层是进行逻辑算法与基础数据环境的数据交互

图1功能模块图

收稿日期:2021-02-05

作者简介:王家乐(1985—),男,河南西华县人,工程师,硕士,研究方向为气象信息技术。

82

软件设计开发

本栏目责任编辑:谢媛媛

第17卷第15期(2021年5月)

层,对各类数据库进行适配,本文应用的数据库为XUGU分布

式数据库和postgreSQL数据库。为了保证气象基础数据使用

安全,采用ETL从“天擎”数据环境抽取实况数据和建站以来的

极端降水并加载至

5

“雨在哪”数据环境。

基础设施层是支撑

)基础设施层

“雨在哪”微信小程序部署的软硬件环

境,部署在内蒙古自治区气象信息中心的虚拟化资源池,主要

包括WEB服务器和数据库服务器。

3系统功能实现

3.1“雨在哪”微信小程序基础框架

微信小程序由逻辑层、视图层和app文件组成

[2]

。逻辑层

是用JavaScript代码编写的js文件,实现页面逻辑的编写;视图

层由wxml和wxss组成,是面向用户的页面结构和样式,将逻辑

数据反映成视图展现给用户,同时将用户请求的事件发送给逻

辑层;app文件是微信小程序的全局配置JSON文件,定义页面

文件的路径、视图的大小、网络连接超时等信息。

3.2基于A文件的历史降水数据集制作

中的排列顺序是固定的。

A文件的观测数据由20

20

个地面要素构成,

个要素的名称(指示码

每个要素在文件

)排列顺序

如下:气压(P)、气温(T)、湿球温度(I)、水汽压(E)、相对湿度

U)、云量(N)、云高(H)、云状(C)、能见度(V)、降水量(R)、天

气现象(W)、蒸发量(L)、积雪(Z)、电线积冰(G)、风(F)、浅层

地温(D)、深层地温(K)、冻土深度(A)、日照时数(S)、草面(雪

面)温度(B)。

历史降水数据集的制作程序主要采用的是JAVA语言,遍

历建站以来的A文件资料,逐行读取A文件内容,当解析到降

水量(R)和天气现象(W)指示码后,提取的降水量和天气现象

数据制作数据产品,数据集制作完成后,按照站号、站名、观测

时间、降水量、降水相态降水经由入库程序写入到数据库,处理

流程见图2:

轮询

解析A文件,获取

A文件存储目录降水量(R)和天

生成降水、天气现解析并存储至数据

气现象(W)要素

象产品文件库

图2A文件提取处理流程

3.3基于ETL的历史实时降水数据产品加工

为数据抽取、

ETL是Extraction-Transformation-Loading

转换和加载

[3]

。利用ETL技术将气象观测数据从

的缩写,中文名

天擎数据环境抽取出来,经过一系列的融合转换

[4]

,然后加载至

数据环境中,数据产品包括实时分钟降水产品、实时

小时降水产品、各个台站24小时降水滚动统计产品、各盟市24

小时降水滚动统计产品、历史极值统计产品和历史降水极值排

名,主要流程见图3。

KETTLE-ETL工具

作业1-实时分钟降水产品

天擎数据环境

作业2-实时小时降水产品

中国地面分钟资料

作业3-各个台站24小时降水滚

中国地面逐小时资料

动统计产品“雨在哪”数据环境

中国地面日值资料

作业4-各盟市24小时降水滚动

统计产品

作业5-历史极值统计产品

作业6-历史降水极值排名产品

图3历史实时降水数据产品加工处理流程

本栏目责任编辑:谢媛媛

ComputerKnowledgeandTechnology

电脑知识

与技术

1

为了保证数据正确性,

)数据抽取

逐时从天擎数据环境抽取中国地面

分钟资料、中国地面小时资料、中国地面日值资料,分钟资料抽

取近三小时数据、小时资料抽取近三天数据、日值资料抽取近

一个月数据。

2

为了保证数据安全性,

)转换加载

分钟资料保留一天、小时资料保留

三天。基于小时降水数据,

23-23

小时降水累计产品,

的近24小时降水累计产品,

逐时滚动统计

统计各盟市近

该产品保存

01-01

24小时降水统计产品,

10天;

、02-02……

基于近

内容

24

包括降水站点总数、降水量级划分和最大降水及最大小时雨强

等信息;基于历史降水产品和日降水数据,统计各个台站超历

史同期极值或超历史同期极值的台站及历史降水量排名,加载

至微信小程序数据环境。

3.4“雨在哪”微信小程序接口实现

接口开发采用JAVA语言,开发框架是HttpServlet的web服

务,主要由服务地址、接口ID、接口参数和返回格式四部分组

[5]

。接口ID的命名能反映接口的基本功能、适应的数据种类

和检索条件等内容,接口命名使用驼峰风格(lowerCamelCase);

接口参数类型分成了资料属性、要素属性、时间属性、空间属

性,多个参数用&拼接;返回数据格式为JSON。

gram-rain-service-interface/preDistribution/

服务接口路径格式:(/wx-minipro⁃

回格式)。基于历史实时统计产品,编写“雨在哪”

接口ID/接口参数

微信小程序

/返

调用接口,实现小程序和后台数据的交互,主要接口见表1:

表1“雨在哪”微信小程序接口

接口名称接口ID接口参数

近24小时降水统计数据和

天气现象

getStationPoints

endHour/minLon/maxLon/minLatmax⁃

Lat

获取降水统计时段标签

列表

getValidEndHourListcontent/endHour

获取某时次近24小时降水

实况

getPast24HourPreCur⁃

veInToday

stationCode/endHour

获取当前时次分钟降水

数据

getMinutePreInCurren⁃

tHour

stationCode

获取全区各盟市近24小时

统计降水

/getPreStatisticalOfProv⁃

ince

endHour

获取区域降水概况

getPreSituationForAreaareaType/areaCode/endHour

市级站点降水量概况

getStationPreDetailInCityareaCode/endHour

获取单站历史降水排名

getStationPreRankstationCode/endHour

获取全区降水超极值站点

列表

getExceedHisPreMaxListendHour/provinceAreaCode

4系统展示效果

“雨在哪”微信小程序的首页分为上中下三部分展示

[6]

,上

部分是时间段选择区域,tab标签切换显示地图上不同区域降

水分布信息。中间部分为地图显示区域,展示所有站点降水情

况,地图左下角两个图标,上图标为降水总览,下图标为重置定

位点。下部分为站点信息显示区域,默认显示近24小时降水

量实况,也可切换显示分钟降水量实况;向上滑动显示历史降

水量前五名出现时间和累计降水量;点击“降水总览”按钮,进

入全区降水总览页面,可以查看全区最大降水量、最大降水强

度、超极值降水台站详情及降水量级分布情况。“雨在哪”微信

软件设计开发

83

“雨在哪”

ComputerKnowledgeandTechnology

电脑知识

与技术

第17卷第15期(2021年5月)

小程序展示见图4:作,为小程序提供了高效的数据支撑。应用方面不仅满足了内

外部消息发布及沟通,而且降水实况信息可在微信内被便捷获

取和传播,同时结合订阅号、企业号、服务号使用户获得更加便

捷的使用体验。

参考文献:

[1]张晨,王奇博.基于微信小程序的气象保障平台设计与实现

[J].湖北农业科学,2020,59(S1):443-446.

[2]刘玉佳.微信“小程序”开发的系统实现及前景分析[J].信息

通信,2017(1):260-261.

[3]赵建勋.基于Kettle的数据整合研究与实践[J].西安文理学院

学报(自然科学版),2020,23(3):28-31,36.

[4]李莉娇.基于KETTLE的专项项目库数据同步方法研究[J].

信息系统工程,2019(12):34-35.

[5]何文春,高峰,孙周军,等.气象数据服务接口规范[S].2020.

[6]吴志霞,叶根梅,甘丽,等.基于框架实现移动终端数据

可视化研究与实践[J].通化师范学院学报,2020,41(6):62-66.

【通联编辑:谢媛媛】

图4“雨在哪”微信小程序展示

5结束语

“雨在哪”微信小程序完成了历史实时降水数据产品的制

(上接第81页)

通过一些软件还可以在线上完成教学,避免了学生的感染危

险。同时,计算机还可以对学生的信息进行编辑,并且统计学

生的作业情况,为教师减少了工作量,提高了教师的工作效率,

方便了学生的学习和家长的监督。此外,各种计算量庞大的工

作都可以交由计算机来处理,这样可以使得工作更加地轻松便

捷。因此计算机软件在很多工作中都被广泛的应用。实际的

开发过程中,有很多因素都会对软件项目的展开造成影响。所

以进行合理有效的管理制定,详细的规划,以避免不利因素的

影响,对满足客户的需求是很有益处的。

效率。使得计算机软件的应用能够更加地合理有效,进而助力

计算机软件推动我国的科技发展。

参考文献:

[1]黄文博.计算机软件工程管理与应用[J].电子技术与软件工

程,2018(5):143.

[2]薛茹.计算机软件工程管理与应用[J].科技与创新,2018(9):

90-91.

[3]邵曰攀.加强计算机软件工程管理应用的措施分析[J].电脑

知识与技术,2018,14(5):98-99.

[4]郑宇.论计算机软件工程管理工作[J].科技创新导报,2018,15

(2):146-147.

[5]王继武,王斌冰.计算机软件工程管理与应用分析[J].无线互

联科技,2018,15(14):123-124.

【通联编辑:谢媛媛】

6结束语

综上所述,在当今这个信息技术高速发展的时代,计算机

软件工程化管理十分有必要,对计算机软件工程管理工作带来

很多好处,它能够使得办公更加方便快捷,有效地提高办公的

84

软件设计开发

本栏目责任编辑:谢媛媛


本文标签: 降水 数据 接口 应用 产品