一、项目介绍
全国天气可视化分析系统主要功能模块包括系统首页、轮播图、公告消息、资源管理(天气资讯、资讯分类)系统用户(管理员、普通用户)模块管理(天气信息、降水数据),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,系统采用java语言、Hadoop框架、MVC模式、MySQL数据库,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对全国天气可视化分析系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现全国天气可视化分析系统和部署运行使用它。
关键词:天气信息;Hadoop技术;Mysql数据库
二、开发环境
Hadoop后端+HTML前端+大数据屏——>Hadoop、HTML、大数据屏
————————————————
三、功能介绍
3.2功能需求分析
全国天气可视化分析系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览天气信息并对选中的天气进行搜索操作。后台系统管理员因职责的不同,管理员主要对注册用户,天气信息、降水数据进行管理。
系统用例图如下所示。
图3-1 系统用例图
3.2.1前台用户功能
前台用户可分为未注册用户需求和以注册用户需求。
未注册用户的功能如下:
注册账号:用户填写个人信息,并验证手机号码。
浏览天气资讯:用户可以浏览天气资讯信息详情。
已注册用户的功能如下:
登录:根据账号密码进行登录操作。
维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。
浏览天气资讯:查看天气资讯信息以及可以进行点赞评论等。
天气信息:选中某个城市、日期可查看其天气信息。
降水数据:可以查看某个城市、平均气温、累积降水信息。
3.2.2后台管理员功能
管理员功能如下:
修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。
天气数据管理:对天气数据信息进行维护,添加、删除、修改信息。
降水数据管理:对降水数据信息进行维护,添加、删除、修改信息。
用户管理:可以查看注册用户的信息,并对其进行管理。
资讯管理:可以发布系统最新资讯。
综上所述,系统功能结构图如下图所示。
图4-2 系统功能结构图
四、核心代码
部分代码:
-- coding: utf-8 --
import os
import importlib
services_abspath_arr = []
services_arr = []
services_dir_ = os.getcwd() + “\hadoop”
遍历模块文件(绝对路径)加到services_abspath_arr数组
选择服务函数
def service_hadoop_select(str):
for service_item in services_arr:
if str.capitalize() == service_item.class.name:
return service_item
def foreach_file(path_name):
for root, dirs, files in os.walk(path_name):
for f in files:
services_abspath_arr.append(os.path.join(root, f))
读取模块
f:文件路径
def loadModule(f):
# 将f变成相对路径
f = f.replace(services_dir_ + “\”, “”).replace(“.py”, “”).replace(“\”, “/”)
# print(f)
mod = importlib.import_module(
“jobs.”+f.replace(“/”, “.”)
)
arr_1 = f.split(“/”)
cs_service = getattr(mod, arr_1[len(arr_1) - 1].capitalize())
# service的class形式
service = cs_service()
services_arr.append(service)
foreach_file(services_dir_)
for f in services_abspath_arr:
if f.find(“.pyc”) == -1 and f.find(“init”) == -1:
# print(f)
loadModule(f)
![请添加图片描述](https://img-blog.csdnimg.cn/direct/b8669f73312e40d397b22d09b25415a7.png
五、效果图