1.一种新型冠状病毒肺炎疫情多级预警系统,其特征在于:该系统分为服务器端和客户端,两者之间以Http/Https协议通信;
服务器端采取分层结构,从上至下依次为接口层、业务层、数据层和算法层,而且接口层、业务层和数据层的技术架构采用的是SpringBoot+Mybatis框架;
客户端有两种,分别是Web客户端和移动端;
新冠肺炎疫情多级预警方法对应算法层,其生成的新冠肺炎疫情预警数据通过TCP通信协议上传至数据层的MySQL数据库;系统扩展Spring Security接口实现访问控制。
2.一种新型冠状病毒肺炎疫情多级预警方法,其特征在于:该方法包括以下步骤:
步骤一:获取全国、省市、自治区、直辖市以及城市每日人口流动比例数据;
步骤11:从百度地图迁徙大数据平台网址:http://qianxi.baidu.com/获取源代码;
步骤12:利用Python集成开发环境Pycharm,采用Python爬虫库Requests、Urllib库,分别获取百度地图迁徙大数据平台全国、省市以及城市之间每日人口流动数据,并生成csv格式的文件保存在本地主机;
步骤二:获取全国新冠肺炎疫情预警数据
获取全国每日人口流动比例数据后,结合新冠肺炎疫情群体态势预测算法获取的全国每日新增确诊数据以及各省市行政区划代码数据,通过扩展的K-Means Clustering算法得出全国新冠肺炎疫情预警数据:步骤21:将生成的csv格式的百度地图迁徙大数据平台全国每日人口流动数据与全国新冠肺炎疫情群体态势确诊病例预测数据相乘,得到各省市受到新冠肺炎疫情影响的数据;
步骤22:将全国34个省市进行编码处理,每个处理成一个34维的向量,只包含0和1,并与步骤21得到的新冠肺炎影响数据构成一个坐标点,34个省市坐标点构成一个数据集;
步骤23:采用欧式距离计算任意两个省市之间的距离:
步骤24:确定K值,随机选取K个省市份的坐标作为聚类中心;
步骤25:对数据集中每一个坐标点,采用公式(1)计算其与每一个聚类中心的欧式距离,并将其划分到欧式距离近的聚类中心所属的集合;
步骤26:把所有数据归好集合后,共有k个集合;然后重新计算每个集合的聚类中心;如果新聚类中心和原聚类中心之间的欧式距离变化不大,并且趋于收敛,就认为K-Means Clustering已经达到期望的结果,算法终止;如果新聚类中心和原聚类中心欧式距离变化很大,需要重复迭代步骤24~25,直到收敛;
步骤27:根据K-Means Clustering算法收敛后得到的结果,得出全国各省市新冠肺炎疫情等级,根据新冠肺炎疫情等级提前进行预警;
步骤三:获取省市新冠肺炎疫情预警数据
获取省市每日人口流动比例数据后,结合新冠肺炎疫情群体态势预测算法获取的省市每日新增确诊数据以及各省市行政区划代码数据,通过扩展的K-Means Clustering算法得出各省市新冠肺炎疫情预警数据:步骤31:将生成的csv格式的百度地图迁徙大数据平台各省市每日人口流动比例数据与各省市新冠肺炎疫情群体态势确诊病例预测数据相乘,得到各省市受到其他省市新冠肺炎疫情影响的数据;
步骤32:将全国34个省市进行编码处理,每个省市处理成一个34维的向量,将目标省市编码向量与其影响的其他33个省市编码向量相加,标记具体是某个省市新冠肺炎疫情产生的影响数据,并与步骤41得到的新冠肺炎影响数据构成一个坐标点,这些坐标点构成一个数据集;
步骤33:确定K值,随机选取K个省市份的坐标作为聚类中心;
步骤34:对数据集中每一个坐标点,采用公式(1)计算其与每一个聚类中心的欧式距离,并将其划分到欧式距离近的聚类中心所属的集合;
步骤35:把所有数据归好集合后,共有k个集合;然后重新计算每个集合的聚类中心;如果新聚类中心和原聚类中心之间的欧式距离变化不大,并且趋于收敛,认为K-Means Clustering已经达到期望的结果,算法终止;如果新聚类中心和原聚类中心欧式距离变化很大,需要迭代步骤34~35,直到收敛;
步骤36:根据K-Means Clustering算法收敛后得到的结果,分别得出各省市受到其他省市新冠肺炎疫情影响等级,根据新冠肺炎疫情等级提前进行预警;
步骤四:城市新冠肺炎疫情预警数据
获取各城市每日人口流动比例数据后,结合新冠肺炎疫情群体态势预测算法获取的城市每日新增确诊数据以及城市行政区划代码数据,通过扩展的K-Means Clustering算法得出城市新冠肺炎疫情预警数据;
步骤41:将生成的csv格式的百度地图迁徙大数据平台城市之间每日人口流动比例数据与城市新冠肺炎疫情群体态势确诊病例预测数据相乘,得到各城市受到其他城市新冠肺炎疫情影响数据;
步骤42:将全国334个城市进行编码处理,每个城市处理成一个334维的向量,其次将目标城市编码向量与其影响的其他333个城市编码向量相加,标记具体是某个城市新冠肺炎疫情产生的影响数据,并与步骤41得到的新冠肺炎影响数据构成一个坐标点,这些坐标点构成一个数据集;
步骤43:确定K值,随机选取K个省市份的坐标作为聚类中心;
步骤44:对数据集中每一个坐标点,采用公式(1)计算其与每一个聚类中心的欧式距离,并将其划分到欧式距离近的聚类中心所属的集合;
步骤45:把所有数据归好集合后,共有k个集合;然后重新计算每个集合的聚类中心;如果新聚类中心和原聚类中心之间的欧式距离变化不大,并且趋于收敛,就认为K-Means Clustering已经达到期望的结果,算法终止;如果新聚类中心和原聚类中心欧式距离变化很大,需要重复迭代步骤44~45,直到收敛;
步骤46:根据K-Means Clustering算法收敛后得到的结果,得出全国各城市受到其他城市新冠肺炎疫情影响等级,根据新冠肺炎疫情等级提前进行预警;
步骤五:建立新冠肺炎疫情多级预警系统
新冠肺炎疫情多级预警系统采用服务器端和客户端分离模式开发;服务器端和各种类型的客户端通过接口API的形式进行交互;Web客户端使用Vue.js框架、通过Axios获取服务器端的新冠肺炎疫情预警数据,通过Model-View-ViewModel,即MVVM的开发模式来实现业务逻辑;使用百度开源库Echarts对数据进行可视化展现;移动客户端与Web客户端采用Echarts对数据进行可视化展现;服务器端的接口层、业务层和数据层使用Java语言开发,技术框架采用SpringBoot+Mybatis框架;服务器端的算法层使用Python语言开发,数据存储和存取控制选择MySQL数据库;利用Spring Security技术实现系统的访问控制,只允许授权用户访问系统。
3.根据权利要求2所述的一种新型冠状病毒肺炎疫情多级预警方法,其特征在于:所述新冠肺炎疫情多级预警系统工作流程如下:步骤1:新冠肺炎疫情多级预警算法按照设置的计划自动运行,生成新冠肺炎疫情多级预警数据并上传至数据层的MySQL数据库;
步骤2:客户端,包括Web客户端和移动客户端,通过API接口调用服务器端登录接口,发送身份认证信息,请求获取调用获取服务器端接口的调用权限;
步骤3:服务器端根据客户端发送的身份认证信息,判断其是否有权限调用服务器端接口,如果有权限返回给客户端Token,如果认证失败则拒绝使用系统;
步骤4:客户端在获取到服务器端接口的访问权限后,通过API接口发送获取新冠肺炎疫情的多级预警数据的请求,该请求携带客户端请求的参数,根据请求的URL发送到对应的服务器端API接口;
步骤5:服务器端获取到客户端请求后,根据请求的参数调用对应的服务器端业务流程,从数据库中获取到符合客户端要求的新冠疫情多级预警数据后,封装成JSON返回给客户端;
步骤6:客户端获取到需要的数据后,使用百度开源库Echarts对数据进行可视化展现;
上述步骤2至步骤6,允许多个客户端不限次数使用。