CN114911831A - 一种基于Flink流式计算和深度学习的农业实时预警方法及系统 - Google Patents

一种基于Flink流式计算和深度学习的农业实时预警方法及系统 Download PDF

Info

Publication number
CN114911831A
CN114911831A CN202210513503.3A CN202210513503A CN114911831A CN 114911831 A CN114911831 A CN 114911831A CN 202210513503 A CN202210513503 A CN 202210513503A CN 114911831 A CN114911831 A CN 114911831A
Authority
CN
China
Prior art keywords
data
time
flink
early warning
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210513503.3A
Other languages
English (en)
Inventor
汪祖民
王恺锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University
Original Assignee
Dalian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dalian University filed Critical Dalian University
Priority to CN202210513503.3A priority Critical patent/CN114911831A/zh
Publication of CN114911831A publication Critical patent/CN114911831A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B31/00Predictive alarm systems characterised by extrapolation or other computation using updated historic data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于Flink流式计算和深度学习的农业实时预警方法及系统,其方法包括从时序数据库中获取环境因子数据,并对所述环境因子数据进行预处理;通过改进的麻雀搜索算法SSA确定双向长短期记忆神经网络Bi‑LSTM的超参数,构建时序预测模型;将所述时序预测模型部署到Flink运行环境中,进行异常检测。本发明使用温室大棚内环境因子的时序数据,利用双向长短期记忆神经网络模型进行学习,相比传统机器学习的ARIMA模型,大大提高了准确率,预测效果好。

Description

一种基于Flink流式计算和深度学习的农业实时预警方法及 系统
技术领域
本发明涉及智慧农业技术领域,具体涉及一种基于Flink流式计算和深度学习的农业实时预警方法及系统。
背景技术
流式计算是大数据领域的前沿技术,聚焦于物联网或互联网上不断产生的实时数据流,通过存储数据流本地状态、乱序数据处理、自动反压和保存点等技术,具有了低延迟、高吞吐、高容错等能力。智慧农业是将新兴的互联网技术、大数据与云计算技术、物联网技术、人工智能技术及专家知识等运用到传统农业中,依托农业生产中的各种传感器节点和软件实现生产中的智能感知、智能预警、智能分析、专家指导,为农业生产提供精准化种植、可视化管理、智能化决策。由于农业生产的季节性特点,采用温室大棚的种植模式可以克服季节性难题。温室大棚内的温度、湿度、光照度、二氧化碳浓度、土壤水分等因子对作物的生长有着重要影响。为提高农业生产的效率,实时监测作物生长环境,精准控制必不可少。
目前大多数温室大棚监控系统只停留在环境因子的展示和查询统计上,不能实时做出决策和预警,主要问题在于:第一,只针对单个大棚内的环境因子进行分析,不去汇总异地多点大棚的数据,没有用相关算法和专家决策构建预测模型。第二,传感器采集的环境数据得不到实时处理和分析,只能在环境恶化后进行调整,不能尽早做出预警。
发明内容
本发明的目的在于,提供一种基于Flink流式计算和深度学习的农业实时预警方法及系统,其预测效果好,能够达到分钟级别的预警能力。
为实现上述目的,本申请提出一种基于Flink流式计算和深度学习的农业实时预警方法,包括:
从时序数据库中获取环境因子数据,并对所述环境因子数据进行预处理;
通过改进的麻雀搜索算法SSA确定双向长短期记忆神经网络Bi-LSTM的超参数,构建时序预测模型;
将所述时序预测模型部署到Flink运行环境中,进行异常检测。
进一步的,从时序数据库中获取环境因子数据,并对所述环境因子数据进行预处理,具体为:
从时序数据库中抽取一段时间内的历史环境因子数据,所述历史环境因子数据包括温度、湿度、光照度、二氧化碳浓度等;
使用噪声滤波器对历史环境因子数据的噪声进行过滤;
对过滤后的历史环境因子数据进行归一化处理,其归一化公式为:
Figure BDA0003640441520000021
式中xt n是归一化后的环境因子数据,xt是历史环境因子数据,xavg,xsd分别是历史环境因子数据的平均值和标准差。
进一步的,通过改进的麻雀搜索算法SSA确定双向长短期记忆神经网络Bi-LSTM的超参数,构建时序预测模型,具体为:
选用Sin混沌方式初始化环境因子数据,其一维映射公式为:
Figure BDA0003640441520000031
其中xn为环境因子数据;
麻雀搜索算法将麻雀觅食的过程抽象为发现者模型与加入者模型,其发现者模型中位置更新公式为:
Figure BDA0003640441520000032
其中t为当前迭代次数,xi,j表示第i只麻雀在第j维度的位置信息;V2为预警值,ST为安全阈值;Q为服从正态分布的随机数,L为多维得到一行全1矩阵,randn(0,1)表示均值为0,标准差为1的高斯分布;
在加入者模型中引进一定几率的发现者,其位置更新公式为:
Figure BDA0003640441520000033
其中k为发现者,FL∈[0,1]表示加入者跟从发现者的几率;
双向长短期记忆神经网络的输入层中温室大棚环境因子数据序列为:
Tn=(a1,a2,…,at,…,an)
at=(tempt,Humt,Luxt,Cdct)
其中tempt,Humt,Luxt,Cdct分别代表t时刻的温度、湿度、光照度、二氧化碳浓度;
双向长短期记忆神经网络的隐藏层为H=(h1,h2,…,hn),隐藏层中每个记忆单元更新后的状态为C(t),输出层为t+1时刻的预测值y^;输入层与隐藏层的权重表示为Wih,隐藏层本身的权重表示为Whh,隐藏层与输出层的权重表示为Who;选择Sigmoid函数作为激活函数σ,使用bh表示隐藏层偏置,by表示输出层偏置,则双向长短期记忆神经网络输出为:
H(t)=σ(WihTi(t)+WhhTi(t-1)+bh)⊙tanhC(t)
y^=σ(WhoH(t)+by)。
进一步的,所述隐藏层分为前向隐藏层和反向隐藏层,分别为:
Figure BDA0003640441520000041
Figure BDA0003640441520000042
n为环境因子数据量,w为时间窗口的长度。
进一步的,通过注意力机制对历史时刻携带的时序信息分配注意力权重,用以区分不同时刻对当前t时刻预测的影响:时序注意力机制的输入为t时刻隐藏层的输出状态Ht=(h1,t,j2,t,…,hl,t),其中L为输入序列的时间窗口;设置Wd为训练权重矩阵,bd为偏置向量,使用ReLU激活函数用以增加差异,则t时刻所对应各历史时刻的注意力权重向量Et=(e1,t,e2,t,…,el,t)为:
Et=ReLU(WdHt+bd)
通过Softmax函数对时序注意力权重归一化处理获得Bt=(β1,t2,t,…,βl,t)后,与对应历史时刻的隐藏层状态进行相乘再累积,得到经时序注意力加权后的预测Ht′,即:
Figure BDA0003640441520000051
Figure BDA0003640441520000052
使用TensorFlow深度学习框架训练并测试所述双向长短期记忆神经网络,得到时序预测模型。
更进一步的,将所述时序预测模型部署到Flink运行环境中,具体为:
在Flink运行环境中提供了窗口机制,通过滑动时间窗(Sliding ProcessingTime Windows)结合时序预测模型进行预测,获取t时刻预测值;定义待预测点为at、滑动邻居窗口为Lt,采用预测点at前L个点作为滑动时间窗口大小输入至时序预测模型;其中滑动时间窗口定义如下:
Lxt=(at-L,at-L+1,…,at-1)。
更进一步的,异常检测具体实现方式为:
利用Flink窗口机制通过移动平均方法对预测数据修匀:所述预测数据为a1′,a2′...,an′,取m组数据(m小于n),进行k次双向移动平均;
其中正向移动平均为:
Figure BDA0003640441520000061
其中反向移动平均为:
Figure BDA0003640441520000062
循环正向和反向移动平均k次;
如果预测值xi不在预警阈值ε范围内,且某个时间段内超出阈值频次f,则启动告警。
本发明还提供一种基于Flink流式计算和深度学习的农业实时预警系统,包括数据接入层、消息中间层、实时处理层、数据存储层和应用管理层:
所述数据接入层采用MQTT协议,将网关内的物联网传感器汇总归类,转为轻量级的Json格式,并设置字段表示环境因子数据,发送到本地EMQ代理服务器中;
所述消息中间层采用Kafka消息队列组成集群,Kafka订阅各地EMQ多个环境因子数据源,按地点设置主题Topic;
所述实时处理层为基于分布式流处理系统Flink,Flink通过addSource()方法将Kafka中数据拉来,利用其水位线和窗口机制,保证消费Kafka数据流时数据的一致性和有序性;Flink集群中有两种节点,JobManager节点负责任务的中央调度管理,TaskManager节点负责具体Flink任务的执行;流入Flink集群的数据流包含多地温室大棚的环境因子数据,使用keyBy算子对环境因子数据进行分区,选择滑动窗口进行数据分窗操作;时序预测模型在与Flink结合时,选择FAE(Flink-Ai-Extend)作为中间层,将Java进程的Flink算子与Python进程的深度学习模型连通,通过共享内存完成数据交换;所述Flink集群以流式计算的形式承担时序预测模型离线训练和实时预测的任务,同时再利用聚合窗口函数,将聚合时间窗口的最大值、最小值和平均值输出到分布式数据库InfluxDB中;当实时处理层检测到异常后,向应用管理层发送预警信息。
所述数据存储层采用分布式数据库InfluxDB和关系型数据库MySQL,所述分布式数据库InfluxDB专注于以时间戳为主键存储经Flink处理后的环境因子时序数据;InfluxDB内置多种数据分析函数,作为数据源向应用层提供数据统计和实时分析;关系型数据库MySQL存储预警信息和配置信息。
所述应用管理层包括管理控制台、可视化大屏和预警推送模块;所述管理控制台供系统运维人员使用,负责设置预警阈值、时序预测模型训练周期、预警推送参数;管理控制台采用Prometheus监控系统搭配Grafana仪表盘,对集群内各个节点的机器CPU、内存、网络、线程使用情况进行实时显示;可视化大屏负责展示各地温室大棚环境因子数据;预警推送模块将预警数据转为文字描述,通过短信、钉钉群、微信群等API通知用户。
本发明采用的以上技术方案,与现有技术相比,具有的优点是:(1)本发明使用温室大棚内环境因子的时序数据,利用双向长短期记忆神经网络模型进行学习,相比传统机器学习的ARIMA模型,大大提高了准确率,预测效果好。
(2)本发明的时序预测模型周期性训练,具有良好的自学习能力,同时也支持预警阈值的调整,实现了预警判断的准确性和可靠性。
(3)本发明使用Flink流式处理系统对数据流进行处理,利用DataStream API,同时完成了模型的离线训练和实时预测。仅需一套处理引擎,完成了流式数据和批量历史数据的统一处理,相比传统的Lambda架构,减少了大量逻辑冗余和计算资源浪费。
(4)本发明以实时数据流为导向,考虑其实时性、随机性、无序性、无限性的特点。Kafka消息队列确保了数据流的高吞吐和可恢复性,Flink流式处理系统保证了数据流的有序性一致性,InfluxDB数据库提供了高效地实时收集存储,通过组合这些技术,使得系统获得了分钟级别的预警能力。
附图说明
图1为基于Flink流式计算和深度学习的农业实时预警方法流程图;
图2为改进麻雀搜索算法流程图;
图3为时序预测模型曲线数据预警图;
图4为时序预测模型与Flink集群系统组合关系图;
图5为基于Flink流式计算和深度学习的农业实时预警系统构成图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请,即所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
实施例1
如图1所示,本实施例提出一种基于Flink流式计算和深度学习的农业实时预警方法,具体包括以下步骤:
S1:从时序数据库中获取环境因子数据,并对所述环境因子数据进行预处理,具体的:
S11:从时序数据库中抽取一段时间(如1周)内的历史环境因子数据,所述历史环境因子数据包括温度、湿度、光照度、二氧化碳浓度等;
S12:由于环境因子数据存在周期性和季节性,噪声有着孤立性和瞬变性,故使用噪声滤波器可以对噪声进行过滤。
S13:为消除特征值范围过大给模型梯度更新带来的影响,采用统计方法对过滤后的历史环境因子数据进行归一化处理,其归一化公式为:
Figure BDA0003640441520000091
式中xt n是归一化后的环境因子数据,xt是历史环境因子数据,xavg,xsd分别是历史环境因子数据的平均值和标准差。
S2:通过改进的麻雀搜索算法SSA确定双向长短期记忆神经网络Bi-LSTM的超参数,构建时序预测模型,具体为:
如图2所示,Bi-LSTM神经网络的超参数使用改进麻雀搜索算法确定。麻雀搜索算法将麻雀觅食的过程抽象为发现者模型与加入者模型,在模拟过程中更新发现者和加入者位置,获得最优解。
为获得更好地混沌性,选用Sin混沌方式初始化环境因子数据,其一维映射公式为:
Figure BDA0003640441520000101
发现者模型中位置更新公式为:
Figure BDA0003640441520000102
其中t为当前迭代次数,xi,j表示第i只麻雀在第j维度的位置信息;V2为预警值,ST为安全阈值;Q为服从正态分布的随机数,L为多维得到一行全1矩阵,randn(0,1)表示均值为0,标准差为1的高斯分布;
在加入者模型中引进一定几率的发现者,改进其易陷入局部最优的问题,其位置更新公式为:
Figure BDA0003640441520000103
其中k为发现者,FL∈[0,1]表示加入者跟从发现者的几率;
双向长短期记忆神经网络的输入层中温室大棚环境因子数据序列为:
Tn=(a1,a2,…,at,…,an)
at=(tempt,Humt,Luxt,Cdct)
其中tempt,Humt,Luxt,Cdct分别代表t时刻的温度、湿度、光照度、二氧化碳浓度;
双向长短期记忆神经网络的隐藏层为H=(h1,h2,…,hn),隐藏层中每个记忆单元更新后的状态为C(t),输出层为t+1时刻的预测值y^;输入层与隐藏层的权重表示为Wih,隐藏层本身的权重表示为Whh,隐藏层与输出层的权重表示为Who;选择Sigmoid函数作为激活函数σ,使用bh表示隐藏层偏置,by表示输出层偏置,则双向长短期记忆神经网络输出为:
H(t)=σ(WihTi(t)+WhhTi(t-1)+bh)⊙tanhC(t)
y^=σ(WhoH(t)+by)
所述隐藏层分为前向隐藏层和反向隐藏层,基于过去时刻数据,考虑未来时刻数据。分别为:
Figure BDA0003640441520000111
Figure BDA0003640441520000112
n为环境因子数据量,w为时间窗口的长度。
通过注意力机制对历史时刻携带的时序信息分配注意力权重,用以区分不同时刻对当前t时刻预测的影响:时序注意力机制的输入为t时刻隐藏层的输出状态Ht=(h1,t,h2,t,…,hl,t),其中L为输入序列的时间窗口;设置Wd为训练权重矩阵,bd为偏置向量,使用ReLU激活函数用以增加差异,则t时刻所对应各历史时刻的注意力权重向量Et=(e1,t,e2,t,…,el,t)为:
Et=ReLU(WdHt+bd)
通过Softmax函数对时序注意力权重归一化处理获得Bt=(β1,t2,t,…,βl,t)后,与对应历史时刻的隐藏层状态进行相乘再累积,得到经时序注意力加权后的预测Ht′,即:
Figure BDA0003640441520000121
Figure BDA0003640441520000122
使用TensorFlow深度学习框架训练并测试所述双向长短期记忆神经网络,得到时序预测模型。
选择平方损失函数MSE作为损失函数,为防止模型出现过拟合现象,引入L2正则项。选择Adam优化器做梯度下降优化。训练过程中,最重要的两个超参数是滞后特征Lag和隐藏层单元节点数Nh。选取使得误差最小的Lag值和Nh值。
S3:将所述时序预测模型部署到Flink运行环境中,进行异常检测,具体为:
在Flink运行环境中提供了窗口机制,通过滑动时间窗结合时序预测模型进行预测,获取t时刻预测值;定义待预测点为at、滑动邻居窗口为Lt,采用预测点at前L个点作为滑动时间窗口大小输入至时序预测模型;其中滑动时间窗口定义如下:
Lxt=(at-L,at-L+1,…,at-1)
如图3所示,经实时预测得到的数据会有上下波动问题,利用Flink窗口机制通过移动平均方法对预测数据修匀:所述预测数据为a1′,a2′...,an′,取m组数据,进行k次双向移动平均;
其中正向移动平均为:
Figure BDA0003640441520000123
其中反向移动平均为:
Figure BDA0003640441520000131
循环正向和反向移动平均k次;
如果预测值xi不在预警阈值ε范围内,且某个时间段内超出阈值频次f,则启动告警。
离线训练和实时预测均使用Flink的DataStream流式处理API,形成Kappa架构。时序预测模型的离线训练频率可以设为每周一次,使用排除异常的历史数据每周触发一次离线训练,以本周内训练的新模型作为最新的预测模型,使得模型能够自学习优化。预警阈值也能后期修改,在准确性和可靠性上保持平衡。
如图5所示,本实施例还提供一种基于Flink流式计算和深度学习的农业实时预警系统,包括数据接入层、消息中间层、实时处理层、数据存储层和应用管理层:
所述数据接入层是系统与传感器通信的部分。传感器需要采集的环境因子有4个,分别是温度、湿度、光照度、二氧化碳浓度。数据接入层采用MQTT协议,将网关内的物联网传感器汇总归类,转为Json格式,并设置字段表示环境因子数据,发送到本地EMQ代理服务器中。同时数据接入层也负责从消息中间层获取映射参数,作为指令。
所述消息中间层采用Kafka消息队列组成集群。Kafka订阅各地EMQ多个数据源,按地点设置主题Topic。Kafka作为消息中间件,具有解耦、缓存、削峰的作用。同时Kafka因其将数据写入磁盘,保存多个分区,具有可恢复性和高容错。
所述实时处理层为基于分布式流处理系统Flink。Flink通过addSource()方法将Kafka中数据拉来,利用其水位线和窗口机制,保证消费Kafka数据流时数据的一致性和有序性。Flink集群中有两种节点,JobManager节点负责任务的中央调度管理,TaskManager节点负责具体Flink任务的执行。流入Flink器群的数据流包含多地温室大棚的环境因子数据,为保证数据不互相干扰,使用keyBy算子对数据进行分区,通过滑动窗口进行数据分窗操作。时序预测模型在与Flink结合时,选择FAE(Flink-Ai-Extend)作为中间层,将Java进程的Flink算子与Python进程的深度学习模型连通,通过共享内存完成数据交换。时序预测模型与Flink集群系统组合关系如图4所示。Flink集群以流式计算的形式承担时序预测模型离线训练和实时预测的任务。同时Flink再利用聚合窗口函数,将聚合时间窗口的最大值、最小值和平均值输出到分布式数据库InfluxDB中。当实时处理层检测到异常后,向应用管理层发送预警信息。
所述数据存储层采用分布式数据库InfluxDB和关系型数据库MySQL。InfluxDB专注于时间序列数据场景,以时间为主键存储经Flink处理后的环境因子时序数据。InfluxDB内置各种数据分析函数,如求标准差等,可作为数据源向应用层提供数据统计和实时分析。MySQL负责存储预警信息和配置信息。
所述应用管理层包括管理控制台、可视化大屏和预警推送模块;管理控制台供系统运维人员使用,负责设置预警阈值、时序预测模型训练周期等实时处理层参数,也可设置预警推送参数。管理控制台采用Prometheus监控系统搭配Grafana仪表盘,对集群内各个节点的机器CPU、内存、磁盘、网络、线程使用情况进行实时显示。可视化大屏负责展示各地温室大棚环境因子,如温度、湿度、光照度、二氧化碳浓度的变化曲线。预警推送模块将预警数据转为文字描述,通过短信、钉钉群、微信群等API通知用户。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

Claims (8)

1.一种基于Flink流式计算和深度学习的农业实时预警方法,其特征在于,包括:
从时序数据库中获取环境因子数据,并对所述环境因子数据进行预处理;
通过改进的麻雀搜索算法SSA确定双向长短期记忆神经网络Bi-LSTM的超参数,构建时序预测模型;
将所述时序预测模型部署到Flink运行环境中,进行异常检测。
2.根据权利要求1所述一种基于Flink流式计算和深度学习的农业实时预警方法,其特征在于,从时序数据库中获取环境因子数据,并对所述环境因子数据进行预处理,具体为:
从时序数据库中抽取一段时间内的历史环境因子数据,所述历史环境因子数据包括温度、湿度、光照度、二氧化碳浓度;
使用噪声滤波器对历史环境因子数据的噪声进行过滤;
对过滤后的历史环境因子数据进行归一化处理,其归一化公式为:
Figure FDA0003640441510000011
式中xt n是归一化后的环境因子数据,xt是历史环境因子数据,xavg,xsd分别是历史环境因子数据的平均值和标准差。
3.根据权利要求1所述一种基于Flink流式计算和深度学习的农业实时预警方法,其特征在于,通过改进的麻雀搜索算法SSA确定双向长短期记忆神经网络Bi-LSTM的超参数,构建时序预测模型,具体为:
选用Sin混沌方式初始化环境因子数据,其一维映射公式为:
Figure FDA0003640441510000021
其中xn为环境因子数据;
麻雀搜索算法将麻雀觅食的过程抽象为发现者模型与加入者模型,其发现者模型中位置更新公式为:
Figure FDA0003640441510000022
其中t为当前迭代次数,xi,j表示第i只麻雀在第j维度的位置信息;V2为预警值,ST为安全阈值;Q为服从正态分布的随机数,L为多维得到一行全1矩阵,randn(0,1)表示均值为0,标准差为1的高斯分布;
在加入者模型中引进一定几率的发现者,其位置更新公式为:
Figure FDA0003640441510000023
其中k为发现者,FL∈[0,1]表示加入者跟从发现者的几率;
双向长短期记忆神经网络的输入层中温室大棚环境因子数据序列为:
Tn=(a1,a2,…,at,…,an)
at=(tempt,Humt,Luxt,Cdct)
其中tempt,Humt,Luxt,Cdct分别代表t时刻的温度、湿度、光照度、二氧化碳浓度;
双向长短期记忆神经网络的隐藏层为H=(h1,h2,…,hn),隐藏层中每个记忆单元更新后的状态为C(t),输出层为t+1时刻的预测值y^;输入层与隐藏层的权重表示为Wih,隐藏层本身的权重表示为Whh,隐藏层与输出层的权重表示为Who;选择Sigmoid函数作为激活函数σ,使用bh表示隐藏层偏置,by表示输出层偏置,则双向长短期记忆神经网络输出为:
H(t)=σ(WihTi(t)+WhhTi(t-1)+bh)⊙tanhC(t)
y^=σ(WhoH(t)+by)。
4.根据权利要求3所述一种基于Flink流式计算和深度学习的农业实时预警方法,其特征在于,所述隐藏层分为前向隐藏层和反向隐藏层,分别为:
Figure FDA0003640441510000031
Figure FDA0003640441510000032
n为环境因子数据量,w为时间窗口的长度。
5.根据权利要求3所述一种基于Flink流式计算和深度学习的农业实时预警方法,其特征在于,通过注意力机制对历史时刻携带的时序信息分配注意力权重,用以区分不同时刻对当前t时刻预测的影响:时序注意力机制的输入为t时刻隐藏层的输出状态Ht=(h1,t,h2,t,…,hl,t),其中L为输入序列的时间窗口;设置Wd为训练权重矩阵,bd为偏置向量,使用ReLU激活函数用以增加差异,则t时刻所对应各历史时刻的注意力权重向量Et=(e1,t,e2,t,…,el,t)为:
Et=ReLU(WdHt+bd)
通过Softmax函数对时序注意力权重归一化处理获得Bt=(β1,t2,t,…,βl,t)后,与对应历史时刻的隐藏层状态进行相乘再累积,得到经时序注意力加权后的预测Ht′,即:
Figure FDA0003640441510000041
Figure FDA0003640441510000042
使用TensorFlow深度学习框架训练并测试所述双向长短期记忆神经网络,得到时序预测模型。
6.根据权利要求1所述一种基于Flink流式计算和深度学习的农业实时预警方法,其特征在于,将所述时序预测模型部署到Flink运行环境中,具体为:
在Flink运行环境中提供了窗口机制,通过滑动时间窗结合时序预测模型进行预测,获取t时刻预测值;定义待预测点为at、滑动邻居窗口为Lt,采用预测点at前L个点作为滑动时间窗口大小输入至时序预测模型;其中滑动时间窗口定义如下:
Lxt=(at-L,at-L+1,…,at-1)。
7.根据权利要求6所述一种基于Flink流式计算和深度学习的农业实时预警方法,其特征在于,异常检测具体实现方式为:
利用Flink窗口机制通过移动平均方法对预测数据修匀:所述预测数据为a1′,a2′...,an′,取m组数据,进行k次双向移动平均;
其中正向移动平均为:
Figure FDA0003640441510000051
其中反向移动平均为:
Figure FDA0003640441510000052
循环正向和反向移动平均k次;
如果预测值xi不在预警阈值ε范围内,且某个时间段内超出阈值频次f,则启动告警。
8.一种基于Flink流式计算和深度学习的农业实时预警系统,其特征在于,包括数据接入层、消息中间层、实时处理层、数据存储层和应用管理层:
所述数据接入层采用MQTT协议,将网关内的物联网传感器汇总归类,转为轻量级的Json格式,并设置字段表示环境因子数据,发送到本地EMQ代理服务器中;
所述消息中间层采用Kafka消息队列组成集群,Kafka订阅各地EMQ多个环境因子数据源,按地点设置主题Topic;
所述实时处理层为基于分布式流处理系统Flink,Flink通过addSource()方法将Kafka中数据拉来,利用其水位线和窗口机制,保证消费Kafka数据流时数据的一致性和有序性;Flink集群中有两种节点,JobManager节点负责任务的中央调度管理,TaskManager节点负责具体Flink任务的执行;流入Flink集群的数据流包含多地温室大棚的环境因子数据,使用keyBy算子对环境因子数据进行分区,选择滑动窗口进行数据分窗操作;时序预测模型在与Flink结合时,选择FAE作为中间层,将Java进程的Flink算子与Python进程的深度学习模型连通,通过共享内存完成数据交换;所述Flink集群以流式计算的形式承担时序预测模型离线训练和实时预测的任务,同时再利用聚合窗口函数,将聚合时间窗口的最大值、最小值和平均值输出到分布式数据库InfluxDB中;当实时处理层检测到异常后,向应用管理层发送预警信息;
所述数据存储层采用分布式数据库InfluxDB和关系型数据库MySQL,所述分布式数据库InfluxDB专注于以时间戳为主键存储经Flink处理后的环境因子时序数据;InfluxDB内置多种数据分析函数,作为数据源向应用层提供数据统计和实时分析;关系型数据库MySQL存储预警信息和配置信息;
所述应用管理层包括管理控制台、可视化大屏和预警推送模块;所述管理控制台供系统运维人员使用,负责设置预警阈值、时序预测模型训练周期、预警推送参数;管理控制台采用Prometheus监控系统搭配Grafana仪表盘,对集群内各个节点的机器CPU、内存、网络、线程使用情况进行实时显示;可视化大屏负责展示各地温室大棚环境因子数据;预警推送模块将预警数据转为文字描述,通过短信、钉钉群、微信群通知用户。
CN202210513503.3A 2022-05-12 2022-05-12 一种基于Flink流式计算和深度学习的农业实时预警方法及系统 Pending CN114911831A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210513503.3A CN114911831A (zh) 2022-05-12 2022-05-12 一种基于Flink流式计算和深度学习的农业实时预警方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210513503.3A CN114911831A (zh) 2022-05-12 2022-05-12 一种基于Flink流式计算和深度学习的农业实时预警方法及系统

Publications (1)

Publication Number Publication Date
CN114911831A true CN114911831A (zh) 2022-08-16

Family

ID=82767319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210513503.3A Pending CN114911831A (zh) 2022-05-12 2022-05-12 一种基于Flink流式计算和深度学习的农业实时预警方法及系统

Country Status (1)

Country Link
CN (1) CN114911831A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613709A (zh) * 2020-12-15 2021-04-06 智光研究院(广州)有限公司 电力设备综合状态评估方法、装置、电子设备和存储介质
CN115794900A (zh) * 2022-11-10 2023-03-14 南京捷崎信息科技有限公司 一种数据处理方法及系统
CN115879569A (zh) * 2023-03-08 2023-03-31 齐鲁工业大学(山东省科学院) 一种IoT观测数据的在线学习方法及系统
CN116384592A (zh) * 2023-06-01 2023-07-04 广东宏大欣电子科技有限公司 基于实时数据流式处理的能源发电设备的健康预测方法
CN116737797A (zh) * 2023-06-14 2023-09-12 西南交通大学 一种基于高性能时序数据库的桥梁在线健康监测系统
CN117692937A (zh) * 2024-02-04 2024-03-12 江苏未来网络集团有限公司 一种5g全连接工厂设备网络拓扑结构及其构建、使用方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613709A (zh) * 2020-12-15 2021-04-06 智光研究院(广州)有限公司 电力设备综合状态评估方法、装置、电子设备和存储介质
CN112613709B (zh) * 2020-12-15 2024-01-05 智光研究院(广州)有限公司 电力设备综合状态评估方法、装置、电子设备和存储介质
CN115794900A (zh) * 2022-11-10 2023-03-14 南京捷崎信息科技有限公司 一种数据处理方法及系统
CN115879569A (zh) * 2023-03-08 2023-03-31 齐鲁工业大学(山东省科学院) 一种IoT观测数据的在线学习方法及系统
CN116384592A (zh) * 2023-06-01 2023-07-04 广东宏大欣电子科技有限公司 基于实时数据流式处理的能源发电设备的健康预测方法
CN116737797A (zh) * 2023-06-14 2023-09-12 西南交通大学 一种基于高性能时序数据库的桥梁在线健康监测系统
CN116737797B (zh) * 2023-06-14 2024-03-22 西南交通大学 一种基于高性能时序数据库的桥梁在线健康监测系统
CN117692937A (zh) * 2024-02-04 2024-03-12 江苏未来网络集团有限公司 一种5g全连接工厂设备网络拓扑结构及其构建、使用方法
CN117692937B (zh) * 2024-02-04 2024-05-14 江苏未来网络集团有限公司 一种5g全连接工厂设备网络拓扑结构及其构建、使用方法

Similar Documents

Publication Publication Date Title
CN114911831A (zh) 一种基于Flink流式计算和深度学习的农业实时预警方法及系统
Samie et al. From cloud down to things: An overview of machine learning in internet of things
Singh et al. A hybrid fuzzy time series forecasting model based on granular computing and bio-inspired optimization approaches
CN110119420A (zh) 数据编配平台管理
CN108809974A (zh) 一种网络异常识别检测方法及装置
Shinde et al. Review paper on prediction of crop disease using IoT and machine learning
CN110533112A (zh) 车联网大数据跨域分析融合方法
CN116562514B (zh) 基于神经网络的企业生产状况即时分析方法及系统
CN112465109A (zh) 一种基于云边协同的农业大棚控制装置
CN109471847A (zh) 一种i/o拥塞控制方法及控制系统
CN105721194A (zh) 移动网故障隐患智能定位系统
Rao et al. Integration of cloud computing, IoT, and Big Data for the development of a novel smart agriculture model
CN117421994A (zh) 一种边缘应用健康度的监测方法和监测系统
CN117872989A (zh) 基于云边融合的工业数据管理方法及系统
CN114997217A (zh) 一种基于rfid传感标签及igwo-elm的变压器故障诊断方法
CN110324408A (zh) 云化层数据采集与数据分析软件系统
Bhola et al. A status quo of machine learning algorithms in smart agricultural systems employing IoT‐based WSN: Trends, challenges and futuristic competences
CN111726407B (zh) 一种智能植物工厂环境下名优花卉及药用植物栽培的雾计算监控技术
Zhao et al. Design of wireless sensor network middleware for agricultural applications
CN114543869A (zh) 一种基于物联网技术的农业支撑系统
CN111090707A (zh) 数据处理方法及装置、电子设备及存储介质
CN112801815B (zh) 一种基于联邦学习的电力通信网络故障预警方法
Zhou et al. An efficient Bayesian neural network for multiple data streams
CN115357379A (zh) 一种视频传输配置模型的构建方法及应用
CN112906856A (zh) 一种基于云平台的畜禽舍环境温度检测系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination