公开/公告号CN112527853A
专利类型发明专利
公开/公告日2021-03-19
原文格式PDF
申请/专利权人 中国科学院沈阳计算技术研究所有限公司;
申请/专利号CN201910880661.0
申请日2019-09-18
分类号G06F16/2458(20190101);G06F16/25(20190101);G06F16/27(20190101);G06F16/28(20190101);G06Q10/06(20120101);G06Q50/26(20120101);G06N3/08(20060101);
代理机构21002 沈阳科苑专利商标代理有限公司;
代理人王倩
地址 110168 辽宁省沈阳市东陵区南屏东路16号
入库时间 2023-06-19 10:19:37
技术领域
本发明涉及大数据技术与水环境信息应用领域,具体来说是一种基于大数据的水生态承载力分析方法。
背景技术
随着全球气候变暖,经济和人民物质的提高,工业、生产生活方面的用水量增加,导致对水资源的使用加剧,导致环境污染加重,从海量监测数据中进行承载力分析变得更加有意义。水生态承载力分析:就是对水生态环境在一定的特定环境下,生态系统的自我调节与自我维持能力,以及资源与环境子系统的供给能力。为了提高生态承载力的多样性研究,提出了基于大数据的水生态承载力模型。
在科学技术、IT技术以及传感技术等现在技术的迅猛发展下,全面扩展了环境的时空尺度的监测,导致监测数据的数量种类的海量增长。将大数据技术应用其中是必然的趋势。目前生态承载力计算的难点主要在于计算比较复杂,在面对海量监测数据时,得到的结果不准确。
针对目前水生态承载力分析研究中的问题,本文提出了一种基于大数据的水生态承载力分析模型,以提高数据结果的准确性以及简化计算结果的复杂性,提高生态承载力分析计算的多样性。
发明内容
针对现有技术的不足,本发明提供一种基于大数据的水生态承载力分析模型,解决了相关水资源数据量大、水生态数据多样的特点,解决了计算水生态承载力的复杂性、数据固定化的传统思维,增加数据多样性的特点,提高了计算水生态承载力分析计算的效率。
本发明采用技术方案如下:
一种基于大数据的水生态承载力分析方法,包括以下步骤:
(1)采集监测数据存储到数据中心,进行预处理后保存至HDFS中;
(2)通过MapReduce对HDFS中的数据进行转换,生成Hive数据表;
(3)通过Sqoop工具将Hive数据表加载到MySql数据库中;
(4)利用MySql数据库中已有的数据以及Hive数据表中的监测数据进行生态承载力足迹计算;
(5)将MySql数据库中已有的数据以及Hive数据表中的监测数据作为生态承载力模型的输入,将计算所得的生态承载力足迹的值作为水生态承载力模型的输出,对水生态承载力模型进行训练;
(6)将待测区域的数据输入到训练好的水生态承载力模型中,得到生态承载力足迹的值作为生态足迹评估值;
(7)将水生态承载力模型输出的生态足迹评估值与总生态承载力值比较,得出生态赤字或盈余情况。
所述监测数据包括环境污染数据。
所述已有数据包括人类活动数据、生态数据。
步骤(2)包括以下步骤:将HDFS中的数据,通过Hive工具制定的规则编写SQL脚本,将SQL脚本翻译成MapReduce任务,提交任务给JobTracce,执行程序中的Map操作和Reduce操作映射至TaskTracer节点,进行MapRedece计算,计算后的结果生成Hive数据表。
所述水生态承载力模型的输入数据分为三个部分,包括生态压力层数据、生态承载力层数据、生态弹性力层数据;
所述生态压力层数据包括人类活动数据、经济增长数据、环境污染数据;
所述生态承载力层数据包括水资源自身、人类支持的数据;
所述生态弹性力层数据包括生态数据。
所述生态承载力足迹计算如下:
W
W
W
W
W
所述水生态承载力模型采用神经网络,为三层网络数据结构;其中输入层数据为三个节点,输出层数据为一个节点,其中隐藏层的节点计算个数为:
其中n为输入节点的个数,m为输出节点的个数,a为1-10之间的整数;
将水生态压力层数据、水生态承载力层数据、水生态弹性力层数据作为水生态承载力模型输入层的三个节点进行输入,将生态承载力足迹值作为水生态承载力模型输出层节点输出,利用上述公式计算出隐藏层节点的个数,进行水生态承载力模型训练。
所述总生态承载力计算如下:
W
W
步骤(7)包括以下步骤:
将水生态承载力模型输出的生态足迹评估值与总生态承载力值比较:
ΔE=W
其中W
若比较值ΔE>0,水资源盈余,说明该区域水生态供给充足,水资源可持续发展利用;若ΔE<0,水资源赤字,水生态环境无法进行足够的供给,容易对环境过度使用,对环境造成破坏。
本发明具有以下有益效果及优点:
1.本发明通过使用大数据技术对水监测数据处理,选取最能够提现水生态承载力分析的数据,提高了水生态承载力分析数据的多元性、动态性以及结果的客观性。
2.本发明通过使用提出的水生态承载力分析模型,可以对输入数据以及输出结果之间通过训练不断调整模型的权重,确保输出结果的准确性。
3.本发明应用于实际水环境监测系统中,为水生态赤字或盈余分析提供科学依据,能够对水资源合理开发利用提供参考依据。
附图说明
图1是本发明的方法流程图。
图2是本发明的水生态承载力分析模型图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
为使本发明的上述目的、特征和有点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但本发明能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
基于大数据的水生态承载力分析模型,包括以下步骤:
步骤1:自动监测站采集监测数据,例如COD(化学需氧量)、氨氮、PH值等。经过网络传输存储到数据中心的过滤器,进行简单预处理,去除格式错误、不符合常理的数据,然后将处理的数据保存至HDFS(Hadoop分布式文件系统)中;
步骤2:利用Hive工具制定相关规则,根据制定的规则编写SQL脚本,然后将SQL脚本翻译成复杂的MapReduce任务,用户提交任务给JobTracce,然后把用户程序中的Map操作和Reduce操作映射至TaskTracer节点,进行MapRedece计算,将计算后的结果生成所需的Hive数据表,例如COD、氨氮等总排放量。
步骤3:利用Sqoop工具将上述生成的Hive数据表加载到关系型数据库(MySql)中,从而提高获取数据的效率。
步骤4:利用关系型数据库中已有的数据进行生态足迹计算,已有数据包括已经整理完成的数据,例如人口数量、森林覆盖率等以及经过处理加载至关系型数据库中的监测环境数据。利用两部分数据进行生态承载力足迹计算。
步骤5:将上述数据库中的数据分为三个部分,包括生态压力层数据、生态承载力层数据以及生态弹性力层数据,作为水生态承载力模型的三个输入,将计算所得的生态足迹的值作为水生态承载力模型的输出,根据输入输出值对水生态承载力模型进行训练。
步骤6:然后将训练好的模型应用于辽河流域的水生态承载力分析中,将辽河流域流经区域的水环境、水监测以及水生态数据输入到模型中,得到生态足迹评估值。
步骤7:将模型输出的生态足迹评估值以及生态承载力值相比较,得出生态赤字或盈余情况。
对水资源水环境水生态数据、水资源数据以及水环境数据等监测数据用大数据技术进行处理、存储。对水监测数据进行预处理、存储、并行处理、上传步骤生成规范的Hive表,存储到关系型数据库中。
水生态承载力的影响因素及水生态承载力模型输入包括生态压力层数据、生态承载力层数据和生态弹性力层数据。见下表:
表1
水生态承载力模型的输入为一级指标层中的三部分数据,水生态压力层数据主要包括人类活动数据、经济增长数据和环境污染数据;水生态承载力层数据主要包括水资源自身数据以及人类支持数据;水生态弹性力层数据主要有生态类数据。
大数据处理相关水监测数据包括以下过程:
利用大数据技术ETL(Extract、Transform、Load)将收集到的数据进行抽取、转换和加载到数据仓库,比如PH值一般在0~14之间,对于不合理的数据要丢弃,并将处理后的数据保存到HDFS中。
利用Hive工具根据业务规则编写SQL脚本,然后将SQL脚本翻译为MapReduce Job,Job顺序执行,生成所需要的Hive数据表,比如各个监测点监测到的COD的总量、氨氮的排放总量。
利用Sqoop工具将上述生成的Hive表加载到关系型数据库(Mysql)中。提高获取数据的效率。
水生态足迹计算如下:
W
W
W
W
W
水生态承载力计算如下:
W
根据世界环保发展委员会(WECD)的建议,水生态承载力用于生物多样性保护的生态补偿应该扣除12%的部分,y
水生态承载力模型为三层网络数据结构,其中输入数据为三个节点,输出数据为一个节点,其中隐藏层的节点计算个数为以下公式:
其中n为输入节点的个数,m为输出节点的个数,a为1-10之间的整数。
水生态承载力模型为三层节点数据组成的结构,将水生态压力层数据、水生态承载力层数据以及水生态弹性力层数据分别作为水生态承载力模型输入层的三个节点进行输入,将生态足迹值作为水生态承载力模型输出层节点输出,利用上述公式计算出隐藏层节点的个数,进行水生态承载力模型训练。
水生态承载力赤字盈余分析计算如下:
ΔE=W
其中W
如图1、图2所示,一种基于大数据的水生态承载力分析方法,包括以下步骤:
步骤1:获取监测站监测的数据通过网络发送到远程数据中心作为输入起始;
步骤2:经过网络传输的数据存储到数据中心,对数据进行简单预处理,去除格式错误、不符合常数的数据;
步骤3:将经过步骤2处理过的数据上传保存至HDFS中;
步骤4:将已上传的数据通过编写SQL脚本,翻译成MapReduce任务,利用MapReduce的数据处理能力,对HDFS中的数据进行转换处理,生成所需的Hive表;
步骤5:利用Sqoop工具将步骤4生成的Hive表加载到MySql数据库中;
步骤6:将步骤5已经加载的监测数据以及基础资源库中的数据作为水生态承载力模型的输入;
步骤7:对步骤6的数据进行生态承载力计算结合已有数据对水生态承载力模型进行训练;
步骤8:利用步骤7已经训练的模型按年份输入已有数据,对该年的水生态承载力进行分析;
步骤9:最后根据输出结果判断水生态承载力是否赤字或盈余。
其中,步骤2:数据预处理,数据中心的数据文件格式如下:
表2
根据国家相关准则和业务准则对数据进行清洗、处理。
步骤5中:利用Sqoop工具导入关系型数据库MySql中的相关命令如下:
①连接mysql数据库列出库中的表命令
Sqoop list-tables--connect jdbc:mysql://IP地址:端口号/数据库名称--username用户名--password密码
②将hive中的表数据导入到mysql中
./sqoop export--connect jdbc:mysql://IP地址:端口号/test--username用户名--password密码--table表名--export-dir/user/hive/warehouse/uv/dt=2011-08-03
步骤6中:关于加载到MySql中的数据以及基础资源库中计算水生态承载力的数据见表1:
主要分为压力层数据、承载力层数据和弹性力层数据。
步骤7中:对于输入水生态承载力模型的数据先抽取相关数据进行生态足迹(EF)计算,生态承载力(ECC)计算,具体计算过程及计算公式如下:
⑴首先对关系型数据库和基础数据库中的数据进行生态足迹计算,计算如下:
W
W
W
W
W
⑵对数据资源库中的数据进行生态承载力计算,具体计算如下:
W
y
步骤8中:将已有数据输入到训练好的模型中,输出模型得到EF评估值,根据以下公式分析水生态环境赤字或盈余。
ΔE=W
若ΔE>0,水资源盈余,说明该区域水生态供给充足,水资源可持续发展利用。若ΔE<0,水资源赤字,水生态环境无法进行足够的供给,容易对环境过度使用,对环境造成破坏。
最终得到该年度水生态环境分析结果。
机译: 基于智能水计量和大数据分析的基于智能水管理基准的智能信息管理服务提供系统
机译: 基于能源大数据收集的平台能源分析方法及建议方案
机译: 基于MAPS的教育大数据分析方法和系统