论文部分内容阅读
摘要:2020年初,新冠肺炎大爆发,各地防疫形式严峻,对新冠肺炎的趋势实时监控,对于疫情发展的态势,成为公众所迫切关心的话题。针对新冠疫情的实时数据汇总统计并以动态化形式展示数据信息设计一种可视化数据管理系统,通过对新冠肺炎数据进行可视分析,以直观的图表形式展示疫情动态变化趋势。针对新冠疫情数据进行数据采集、数据结构化、数据处理等设计一个可视化模型,以Heroku新冠疫情网站发布数据进行数据统计,形成每日新冠肺炎新增、死亡、治愈数量状态,并以地图的形式动态循环展现每日变化图,从而实现基于新冠疫情的可视化数据管理系统。
关键词:可视化;数据管理;新冠肺炎;疫情监控
0 引言
2020年初,新型冠状病毒感染的肺炎(COVID-19)的爆发,引起了全世界的关注。疫情的实时动态数据也倍受公众关注,通过肺炎确诊数量、地区的变化来加强对地区的管控程度并作出及时调整至关重要。因此,基于COVID-19的可视化数据管理系统将成为一种解决方法。基于新冠病毒的实时动态的可视化数据管理系统将实现对新冠病毒数据的采集、结构化、存储、清洗、统计、最后展示。
1 系统需求分析
本系统的设计旨在开发一个可视化数据管理系统,针对数据模型定义,数据采集,数据处理,数据可视化均为可视化操作,实现对新冠肺炎病毒的采集与显示功能,并以地图的形式动态循环展现每日变化图。该系统主要根据Heroku发布的全球新冠肺炎数据进行实时采集,对采集数据进行清洗转换,再对整理好的数据进行统计,最后使用动态数据图进行展示。
2 系统设计
本系统共有4个模块,分别是:数据模型、数据采集、数据处理、数据可视化。每个模块对应不同的功能。功能模块设计图如下:
2.1数据模型
数据模型的实质是数据元素和实体的定义,可以理解为元数据管理,为新冠肺炎数据提供元数据定义,负责新冠肺炎数据数据的存取。
在当下大数据时代,集群化的数据存储方案将会是理想的選择。
本系统的在数据模型中本系统采用集成HDFS,HBase,MongoDB三大数据存储系统的方式,目的在于支持不同类型的数据存储,包括文件存储(HDFS)、结构化数据存储(HBase)、键值对存储(MongoDB)。HBase本身就运行在HDFS之上,使用列族数据库存储,对提高存储访问效率有所提高。
数据采集的数据数据模型,首先应当区分国别(country),对于不同的国家还应该定义国家代码(country_code),其次是不同省市(province)。新冠病毒的确诊数据(confirmed)、死亡数据(deaths)、康复数据(recovered)是衡量新冠病毒动态的必要指标。如下图所示为新冠肺炎的数据模型定义:
由于在后续过程中还会涉及统计的内容,因此对于统计的数据模型也应当预先定义完成。统计模型包括国别(country)、国家代码(country_code)、确诊数(confrimed)、死亡数(deaths)、康复数(recovered)。如下图所示为新冠肺炎汇总的数据模型定义:
2.2数据采集
数据采集又称为“数据获取”或“数据收集”。数据采集有多种多样的方式可以实现,例如文件解析采集、数据录入、数据库采集、网络爬虫等等。每种采集方式的针对性都非常强,对于不同的场景,采集方式的使用可能会有较大差异。
2.2.1网络爬虫
对于新冠肺炎数据的采集,本系统以采集公共互联网的网页信息的形式进行。网页采集的形式大多数都是基于网络爬虫。网络爬虫是按照一定规则,自动地不抓取互联网信息的一种程序或者脚本。网络爬虫工作时是从初始的地址开始,找到这些初始网页上链接到其他网页的地址列表,将它们存入待爬的地址表中,然后对地址表中的每个地址根据一定策略逐个搜索,从网页上下载、保存网页信息,分析并获取网页中符合条件的新的网页地址链接。
基于网络爬虫的原理,我们可以自定义爬虫爬取的网页地址、爬取深度、爬取内容等。
2.2.2数据源
本系统以及模型所需数据来源于
https://coronavirus-tracker-api.herokuapp.com/#/网站,通过网站可查询获取到全球新冠肺炎确诊总人数、死亡人数、康复人数、以及获取最新的已确诊病例,死亡和康复总数、还可通过地区获取数据等。
网站给出了获取数据的路径,并且对返回的数据结构进行的解释,对于新冠肺炎数据的采集,采集获取到的数据均为Json数据格式。如图所示为数据返回样例和数据结构:
对于上图所示数据结构,分为三个数据解析部分,一为确诊(confirmed),二为死亡(deaths),三为康复(recovered)。针对三类数据进行解析,可得到一个对象数组,对于每一个对象,其键值对指明了对应数据字段含义以及数据。如下图为对象数据内容:
2.2.3数据采集
本系统的数据采集脚本采用javascript的Nashorn引擎,这样做使调试更加方便、快速。
为了保证数据的时效性,本系统定义了数据采集周期(定时器组件)、网络爬虫源(数据源组件)、数据解析脚本(js脚本)、以及数据存储位置(数据源组件)等四部分。
1)定时器,设置采集任务启动方式,可以设置定时(02:00)启动,或间隔周期启动(3600秒)。
2)数据源:网站,设置数据源网站信息,数据接口链接。
3)网络爬虫,设置爬虫属性,结果输出变量。
4)JS脚本,解析爬取的数据,结构化,预处理。
5)目的表,设置数据存储的目的表信息。
如图6所示为数据采集的流程设计图:
关键词:可视化;数据管理;新冠肺炎;疫情监控
0 引言
2020年初,新型冠状病毒感染的肺炎(COVID-19)的爆发,引起了全世界的关注。疫情的实时动态数据也倍受公众关注,通过肺炎确诊数量、地区的变化来加强对地区的管控程度并作出及时调整至关重要。因此,基于COVID-19的可视化数据管理系统将成为一种解决方法。基于新冠病毒的实时动态的可视化数据管理系统将实现对新冠病毒数据的采集、结构化、存储、清洗、统计、最后展示。
1 系统需求分析
本系统的设计旨在开发一个可视化数据管理系统,针对数据模型定义,数据采集,数据处理,数据可视化均为可视化操作,实现对新冠肺炎病毒的采集与显示功能,并以地图的形式动态循环展现每日变化图。该系统主要根据Heroku发布的全球新冠肺炎数据进行实时采集,对采集数据进行清洗转换,再对整理好的数据进行统计,最后使用动态数据图进行展示。
2 系统设计
本系统共有4个模块,分别是:数据模型、数据采集、数据处理、数据可视化。每个模块对应不同的功能。功能模块设计图如下:
2.1数据模型
数据模型的实质是数据元素和实体的定义,可以理解为元数据管理,为新冠肺炎数据提供元数据定义,负责新冠肺炎数据数据的存取。
在当下大数据时代,集群化的数据存储方案将会是理想的選择。
本系统的在数据模型中本系统采用集成HDFS,HBase,MongoDB三大数据存储系统的方式,目的在于支持不同类型的数据存储,包括文件存储(HDFS)、结构化数据存储(HBase)、键值对存储(MongoDB)。HBase本身就运行在HDFS之上,使用列族数据库存储,对提高存储访问效率有所提高。
数据采集的数据数据模型,首先应当区分国别(country),对于不同的国家还应该定义国家代码(country_code),其次是不同省市(province)。新冠病毒的确诊数据(confirmed)、死亡数据(deaths)、康复数据(recovered)是衡量新冠病毒动态的必要指标。如下图所示为新冠肺炎的数据模型定义:
由于在后续过程中还会涉及统计的内容,因此对于统计的数据模型也应当预先定义完成。统计模型包括国别(country)、国家代码(country_code)、确诊数(confrimed)、死亡数(deaths)、康复数(recovered)。如下图所示为新冠肺炎汇总的数据模型定义:
2.2数据采集
数据采集又称为“数据获取”或“数据收集”。数据采集有多种多样的方式可以实现,例如文件解析采集、数据录入、数据库采集、网络爬虫等等。每种采集方式的针对性都非常强,对于不同的场景,采集方式的使用可能会有较大差异。
2.2.1网络爬虫
对于新冠肺炎数据的采集,本系统以采集公共互联网的网页信息的形式进行。网页采集的形式大多数都是基于网络爬虫。网络爬虫是按照一定规则,自动地不抓取互联网信息的一种程序或者脚本。网络爬虫工作时是从初始的地址开始,找到这些初始网页上链接到其他网页的地址列表,将它们存入待爬的地址表中,然后对地址表中的每个地址根据一定策略逐个搜索,从网页上下载、保存网页信息,分析并获取网页中符合条件的新的网页地址链接。
基于网络爬虫的原理,我们可以自定义爬虫爬取的网页地址、爬取深度、爬取内容等。
2.2.2数据源
本系统以及模型所需数据来源于
https://coronavirus-tracker-api.herokuapp.com/#/网站,通过网站可查询获取到全球新冠肺炎确诊总人数、死亡人数、康复人数、以及获取最新的已确诊病例,死亡和康复总数、还可通过地区获取数据等。
网站给出了获取数据的路径,并且对返回的数据结构进行的解释,对于新冠肺炎数据的采集,采集获取到的数据均为Json数据格式。如图所示为数据返回样例和数据结构:
对于上图所示数据结构,分为三个数据解析部分,一为确诊(confirmed),二为死亡(deaths),三为康复(recovered)。针对三类数据进行解析,可得到一个对象数组,对于每一个对象,其键值对指明了对应数据字段含义以及数据。如下图为对象数据内容:
2.2.3数据采集
本系统的数据采集脚本采用javascript的Nashorn引擎,这样做使调试更加方便、快速。
为了保证数据的时效性,本系统定义了数据采集周期(定时器组件)、网络爬虫源(数据源组件)、数据解析脚本(js脚本)、以及数据存储位置(数据源组件)等四部分。
1)定时器,设置采集任务启动方式,可以设置定时(02:00)启动,或间隔周期启动(3600秒)。
2)数据源:网站,设置数据源网站信息,数据接口链接。
3)网络爬虫,设置爬虫属性,结果输出变量。
4)JS脚本,解析爬取的数据,结构化,预处理。
5)目的表,设置数据存储的目的表信息。
如图6所示为数据采集的流程设计图: