总结项目:新型冠状病毒 WEB实时动态,web开发环境搭建

monitor模块与其他模块区别存储/使用

monitor模块负责其它模块整体的使用及调度

数据挖掘模块设计


Data mining 模块分成三个功能区

Data collection:负责数据的收集,收集疫情相关的数据

Data cleaning: 负责数据的清洗,清洗出有效数据

Data storage: 负责数据的存储,将数据存储到数据库

数据库模型设计


对 Data mining 模块存储的数据进行简单分类

数据可视化模块设计


Data visualization 模块分成三个功能区

Data Extraction:负责数据的提取,从数据库中提取出数据,并进行简单处理

Data Classification:负责数据的分类处理,这是对疫情数据最后的一步处理

Generate Webpage code: 负责将分类过的数据,并生成 web 页面

监听模块设计


Data mining 模块分成两个组件,三个功能区

data collection: 负责数据的收集

Data monitoring: 负责监听 data collectiong 收集的数据,如果监听到数据发生变化,立即作出反应

Process monitoring: 负责监听 Data monitoring 组件,如果监听到该组件有所变化,立即执行整个项目,将上述架构实现

具体实现

===================================================================

项目文件一览


使用的语言和文件分布、代码工程量:

文件目录:

所有文件将会被打包成:

两个 jar 包: > COVID19.jar 文件: index.java 目录:Data*mining DATA_visualization > Data_monitoring.jar 文件:Data_monitoring.java

一套 Linux Shell 脚本: > Main: Monitor_process.sh 分支文件: runcovid.sh COVID19UPDATE.sh

一个 Web 访问目录: > 目下分支两个目录 */Log _/Run

包含已/待生成的 Web 文件: Form_theme.js index.html */Log/诸多日志文件 > > > > index.html 文件为 COVID19.jar 将生成的文件 内包含已编写的两个远程 Javascript 文件,协助可视化的制作

数据挖掘模块


文件目录:

共分成五个类

mining_transfer 类

作用:资源池

功能:存储数据 Data_mining 模块中所有需要被使用的数据,并对外提供接口

代码:

Scraping 类

作用:数据爬虫

功能:爬取网页 JSON 数据,并进行简单处理,将 JSON 数据变成一段连续的字符串,之后将这一次处理生成的数据记录下来

因为疫情数据不能出现一点差错,所以仍和一次对数据的处理都需要存储为日志文件,提高可维护、可控性

包的使用:

重要变量:

简单正则处理去除特殊字符:

构造方法 & 爬取 JSON 数据:

生成日志文件:

Cleaning 类

作用:数据清洗

功能:按数据的不同特征,清洗出有用数据数据

包的使用:

依旧需要将每一次处理都记录下来,方便后期维护:

自编的一个正则处理的模板,能大大提高代码的整洁性,和程序的运行速度

只需要拟定好需要的正则规则使用模版即可

示范:

这一段能将国内所有地区,包括其名称、累计确诊、治愈、死亡人数都找出

再例如:

这一段能把国内整体的一个疫情数据都找出

最后就是构造方法了:

Submission 类

作用:数据存储

功能:将需要存储的数据存储到 Mysql 数据库中,并对 Mysql 数据库进行简单管理

包的使用:

重要的变量,包含 Mysql 不同版本的连接方式,以及用户名和密码:

使用 JDBC,编写 sq 语言 l,对数据库表进行管理

动态生成会变化部分的 sql 代码,使用 sql 语言将数据插入数据库中(仅示范部分)

构造方法,连接数据库,调度其它方法

Run_mining 类

作用:资源调度

功能:调度 Data_mining 模块中所有资源,包括类的使用、数据的传递

代码:

小结

如果,数据挖掘模块刚爬取到的 JSON 数据是这样:

那么,数据挖掘模块完整使用后,在 Mysql 数据库中的数据为:

数据可视化模块


文件目录:

共分成五个类

visualization_transfer 类

作用:资源池

功能:存储数据 Data_visualization 模块中所有需要被使用的数据,并对外提供接口

代码:

Extraction 类

作用:数据提取

功能:提取出 Mysql 数据库中需要的数据,存储到资源池中

和Data_mining模块的Submissionl类的许多相似功能不再赘述

包的使用:

对 Mysql 表进行最大限制,并提取其表名:

根据表名,提取出其存储的数据:

Generation_Javascript 类

作用:Javascript Code 生成

功能:根据已经设计好的数据可视化代码,生成其可能会发生变化的 Javascript 代码

为了不偏移以Java实现的核心思想,仅介绍核心功能

生成疫情在地图上的地区分布的主要数据,包括地区名称,确诊人数等关键数据

(仅为范例):

Generation_HTML 类

作用:HTML Code 生成 与 插入

功能:根据已经设计好的数据可视化代码,结合 Generation_Javascript 类生成的 Javascript 代码,生成其可能会发生变化的 HTML 代码,再将其存储为一个可被访问的 web 页面

为了不偏移以Java实现的核心思想,仅介绍核心功能

将可被浏览器所编译的 Javascript 数据,疫情地区分布图、新增人数地区分布图等。。。

(仅为范例):

生成 Web 文件:

Run_visualization 类

作用:Data_visualization 模块资源调度

功能:调度所有资源、包括资源池中的数据分配、类的使用、数据的传递

代码:

小结

如果,数据可视化模块从数据库中读取到的数据长这样:

那么数据可视化模块,可能生成的 Web 页面会是这样:

index 类


index.java 位于工程文件的根目录

作用:Data_visualization 和 Data_mining 模块的资源调度

功能:调度所有资源、包括资源池中的数据分配、类的使用、数据的传递

代码:

监听模块


文件目录:

只是为了方便展示而存放于一个目录,实际使用中应置于项目根目录 >共分成一个Java文件,三个Linux Shell脚本

Java Data_monitoring 类

作用:监控疫情数据动态

功能:利用线程休眠的方式让该程序,24 小时不间断监控疫情数据,如果发生了变化,立马返回异常给系统

包的使用:

关键变量与线程方法:

线程内进行数据爬虫和对比:

遗憾:

在编写 Data_monitoring 类时有一个极大的遗憾

本打算分四个线程,三个监听线程负责多方位捕捉多方面的疫情数据,这样可以提高容错率

其中另一线程负责做数据匹配,如果疫情数据发生更新让该线程作出反映

这样才能实现真正的 24 小时,不间断监听

但奈何服务器在我的博客和我的"玩弄"之下,已没有多少资源来让其“霸占”,所以只好作罢。

Monitor_process Shell

作用:监控 Data_monitoring 类

功能:利用进程监听的方式来判断 Data_monitoring 类 的反映,如果出现异常,立即作出处理

线程监听:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

资料领取方式:戳这里免费获取

024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

[外链图片转存中…(img-yIwverKb-1712343847739)]

[外链图片转存中…(img-oAbSm1Bz-1712343847740)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-WOQxZzvb-1712343847740)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

资料领取方式:戳这里免费获取

html5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值