1.1 开发背景及研究意义
基于大数据的病虫害管理系统是利用现代信息技术和大数据分析技术,对农作物病虫害进行监测、预测、预警、防控和管理的一种新型系统。它的主要目的是提供一个快速、高效、准确的信息服务平台,帮助种植业生产者和农民更好地预测和防控病虫害,减轻损失,提升农业生产效益,同时也有利于保障粮食安全和生态环境安全。下面分别从以下几个方面介绍基于大数据的病虫害管理系统的意义:
1. 加速了病虫害预测及病虫害诊断速度
传统的病虫害管理方法大多是基于经验的,通常比较缓慢且易受到人为因素的影响。基于大数据的病虫害管理系统可以通过大规模的农田调查和实时的数据采集,对病虫害预测及病虫害诊断速度进行快速的计算和分析。
2. 提高病虫害防控和管理的准确率
基于大数据的病虫害管理系统能够汇集和分析来自多个数据源的信息,如气象、土壤、作物等数据,从而更准确地预测和诊断农作物病虫害。同时,系统还能够利用智能决策技术,提供更为科学的防控方案,减少传统防控方法所带来的副作用。
3. 推进绿色农业的发展
基于大数据的病虫害管理系统有效地帮助农民避免或者减少使用农药等化学物质,更好地推进了绿色农业的发展。这不仅有利于保护生态环境,还能够提升农产品的品质,改善人民饮食健康状况。
4. 贴近实际需求的信息化管理
基于大数据的病虫害管理系统把信息化技术与实际需求紧密结合,创建出精准的农业种植平台,使农民能够了解到正常和病虫害的情况,进而采取合适的措施进行防治和管理,提高农业生产效益。
综上,基于大数据的病虫害管理系统的意义在于为农业生产者提供基于数据分析的精准、高效、科学的病虫害防控方案,减少成本,提升产量,同时也有利于推进绿色农业、保障粮食安全、促进农业的可持续发展。
1.2 国内外研究现状和发展趋势
基于大数据的病虫害管理系统在农业生产中有着广泛的应用前景,现在国内外已经涌现出不少相关研究,以下简单概述和评价一些典型论文。
一、国内研究现状
1. 吕智能等(2016)基于大数据的农业病虫害调查评估方法研究,中国农机化学报。
该论文通过收集病虫害调查数据,利用机器学习方法构建了基于大数据的病虫害评估模型,实现了对农业病虫害的预测和预警。文章模型设计合理、数据收集充分,能对病虫害发生规律进行科学预测,但是对于模型的具体实现没有给出详细的说明。
2. 陈鹏等(2018)基于大数据与云计算的农业病虫害监测预警体系设计与实现,计算机应用与软件。
该论文以农业病虫害监测为研究对象,设计了基于大数据和云计算的病虫害监测预警体系。文章充分利用了大数据和云计算技术优势,实现了对病虫害的实时监测和预警,但是实验结果缺乏数据支撑。
二、国外研究现状
1. 崔柏林等(2017)基于大数据平台的农业病虫害防治,贵州农业科学。
该论文基于Hadoop大数据平台,构建了一个农业病虫害管理系统。系统能够通过大数据分析,快速预测和预警病虫害,还能够为农民提供精确的防治方法和药物建议。文章实验结果非常明显,同时对于实现过程也给出了详细描述,但是仍有一些性能问题需要加以改进。
2. 祖细宜等(2019)病虫害大数据平台在美国农业中的应用与发展,农业科技管理。
该论文介绍了病虫害大数据平台在美国农业中的应用及发展现状。通过分析美国农业发展的优缺点,提出了大数据在农业中的应用战略,提出了农业大数据平台的发展思路。文章对于农业大数据管理系统的应用场景有着深入的剖析,但是现阶段尚未给出实验结果或实现说明。
综上所述,国内外均有学者通过利用大数据分析技术和云计算等先进技术,构建出农业病虫害预测和防治管理系统。但是这些文献普遍存在实验结果缺乏数据支撑、模型实现说明不够详细等问题。未来发展可以考虑加强数据及算法优化、提高系统的实践应用性及可靠性等方面。
1.3 本文主要研究的内容
该系统采用Python技术,结合Django框架使页面更加完善,后台使用MySQL数据库进行数据存储。本文从基于大数据的病虫害预警系统流程分析入手,分析了其功能性需求和非功能性需求,设计了一个由多用户组成的基于大数据的病虫害预警系统,接着分析系统的主要功能以及实现的流程及运行结果与测试,最后进行论文的总结。
本系统使用 PyCharm开发工具。系统使用服务器为Tomcat服务器。系统数据库设计使用MySQL。
2.2 Python技术介绍
Python是解释型的脚本语言,在运行过程中,把程序转换为字节码和机器语言,说明性语言的程序在运行之前不必进行编译,而是一个专用的解释器,当被执行时,它都会被翻译,与之对应的还有编译性语言[3]。
同时,这也是一种用于电脑编程的跨平台语言,这是一门将编译、交互和面向对象相结合的脚本语言(script language[4])。
可以说其优点也是非常的突出,下面就其优点进行具体的说明:
(1)首先它是一种比较简单易学的,而且对初学者来说也是非常容易上手的一种语言,与其他的语言相比较在进行编写和阅读的时候,会更加接近人的思维模式,非常的适合用户的阅读性和易于理解的特点。
(2)由于其底层的逻辑是用c语言完成的,所以在运行的速度来说也是非常快的,就如许多的开发者所了解的,它的很多的标准库以及第三方的依赖都是由c语言所开发的,所以执行起来比较高效率。
(3)并且,它始终是一个面向对象的程序设计,它支持面向过程和面向对象的编写[5],在以流程为导向的语言里,一个程序是建立在一个过程或者一个简单的可重复使用的代码的功能上,在面向对象中,一个程序是以数据和函数为基础的对象构造的。
(4)如果需要代码的扩充或者是快速查看,在使用它的时候格式也是非常的清晰,还有便于维护的特点,在不同的开发人员共同开发的过程中,都会比较方便的理解所编写的内容。
(5)同时也是因为它开源的特点,能够被移植到很多的平台进行使用,并且它也是完全支持重载、派生、继承等有助于增强代码的复用的特点,同时有两个标准库(functools, itertools[6])提供了开发的支持。
对于任何一个全新开发的系统应用设计而言,都需要进行数据库的匹配安装,而此次所设计开发的基于大数据的病虫害预警系统的数据库就是MySQL,之所以会选择该数据库,主要原因是因为它能够进行关联的数据见表,而且数据库的稳定性非常强;同时还因为该数据库具有相对优越的使用性能,尤其是在开发环境的应用上,能够体现出其极致的优越性和发挥良好安全、灵活性能。除此以外,还因为MySQL数据库在编辑完成之后,可以在任何的系统环境当中进行使用说明它的兼容性是非常强的,同时它支持多线编程,能够节省CPU的暂存空间,同时它的运行速度和安全稳定性是非常强的,更重要的是它是一款免费的数据库应用产品,可以在系统建设和应用阶段省下一些设计成本。
DJango技术拥有Python语言跨平台的特性,同时提供了很大强大的夸平台服务功能,正是因为它拥有的功能,所以它能够让人们使用起来更加地便捷。而DJango技术是基于大数据编程语言的,所以它拥有大数据语言拥有的存储管理和安全性,并且它可以跨平台使用,编写一次可以在多处运行,这也说明了它具有一次编写,到处运行的特点。
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
1.预警信息管理
预警信息管理用例描述能够描述系统中的预警信息管理功能,预警信息管理用例描述如表3.1所示。
表3.1 预警信息管理用例描述
用例标识 | 3.1 |
用例名称 | 编辑产品的相关信息 |
参与者 | 管理员 |
前置条件 | 管理员需要输入正确的用户名和密码登录系统 |
后置条件 | 修改预警信息 |
用例概述 | 管理员修改预警信息 |
基本事件流 | 1.管理员输入正确的用户名和密码登录到系统当中 2.管理员在预警信息管理界面点击添加按钮提交新添加的预警信息 3.预警信息添加成功 |
备选事件流 | 4.输入的信息需要合法才能够成功添加 |
备注 |
2.用户信息管理
用户信息管理用例描述能够描述系统中的用户信息管理功能,用户信息管理用例描述如表3.2所示。
表3.2 用户信息管理用例描述
用例标识 | 3.2 |
用例名称 | 编辑用户的相关信息 |
参与者 | 管理员 |
前置条件 | 管理员需要输入正确的用户名和密码登录系统 |
后置条件 | 修改用户信息 |
用例概述 | 管理员修改用户信息 |
基本事件流 | 1.管理员输入正确的用户名和密码登录到系统当中 2.管理员在用户信息管理界面点击修改按钮提交修改的用户信息 3.用户信息修改成功 |
备选事件流 | 4.输入的信息需要合法才能够成功修改 |
备注 |
3.气象信息管理
气象信息管理用例描述能够描述系统中的气象信息管理功能,气象信息管理用例描述如表3.3所示。
表3.3 气象信息管理用例描述
用例标识 | 3.3 |
用例名称 | 搜索气象的相关信息 |
参与者 | 管理员 |
前置条件 | 管理员需要输入正确的用户名和密码登录系统 |
后置条件 | 搜索气象信息 |
用例概述 | 管理员搜索气象信息 |
基本事件流 | 1.管理员输入正确的用户名和密码登录到系统当中 2.管理员在气象信息管理界面点击搜索按钮提交搜索的气象信息 3.气象信息搜索成功 |
备选事件流 | 4.输入的病虫害名称需要跟数据库的信息相匹配才能够搜索成功 |
备注 |
4.登录
登录用例描述能够描述系统中的登录功能,登录用例描述如表3.4所示。
表3.4登录用例描述
用例标识 | 3.4 |
用例名称 | 登陆 |
参与者 | 用户、管理员 |
前置条件 | 用户和管理员需要输入正确的用户名和密码 |
后置条件 | 登录 |
用例概述 | 用户和管理员登录 |
基本事件流 | 1.用户和管理员进入到登录页面当中 2.管理员和用户输入用户名和密码登录到系统当中 |
备选事件流 | 4.输入的信息需要和数据库信息相匹配才能够登录 |
备注 |
5.个人资料修改
个人资料修改用例描述能够描述系统中的个人资料修改功能,个人资料修改用例描述如表3.5所示。
表3.5 个人资料修改用例描述
用例标识 | 3.5 |
用例名称 | 个人资料修改 |
参与者 | 用户、管理员 |
前置条件 | 用户和管理员需要进入到个人资料修改页面中 |
后置条件 | 修改个人信息 |
用例概述 | 用户和管理员管理个人信息 |
基本事件流 | 1.用户和管理员进入到登录页面当中 2.用户和管理员输入用户名和密码登录到系统当中 3.在个人资料修改页面中修改自己个人信息 |
备选事件流 | 4.只有输入的信息合法才能够成功修改 |
备注 |
3.4 系统流程分析
3.4.1 登录流程
每个用户都有专属的密码和账号,在输入合法的账号和密码之后即可进入系统。登录流程如图3-2所示:
图3-2 登录流程图
3.4.2 添加信息流程
管理层人员有添加角色信息功能。添加信息流程如图3-3所示:
图3-3添加信息流程图
3.4.3 修改信息流程
管理层人员有修改信息功能。修改信息流程如图3-4所示:
图3-4 修改信息流程图
基于大数据的病虫害预警系统从市场、技术、经济、功能等方面分析了系统的功能需求,可以满足用户的基于大数据的病虫害预警系统管理需求,帮助用户安全、高效地找到合适的病虫害预警信息,因此有必要对其进行课题研究。
本次系统采用Django框架集进行开发,Django框架是一款企业界主流的软件开发框架,其简化了开发流程,大大缩减了软件开发所需的时间提高了软件的响应速度。系统总体结构图如图4-1所示。
图4-1 系统总体结构图
用户实体图。如图4-2。
图4-2 用户实体图
预警信息实体图。如图4-3。
图4-3 预警信息实体图
配置实体图。如图4-4。
图4-4 配置实体图
总体er图。如图4-7所示:
图4-7总体er图
表名:yufangcuoshi
功能:预防措施
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
quyu | varchar | 200 | 区域 | ||
binghaimingcheng | varchar | 200 | 病害名称 | ||
binghaizhonglei | varchar | 200 | 病害种类 | ||
fabushijian | date | 发布时间 | |||
chulifangfa | longtext | 4294967295 | 处理方法 | ||
yufangcuoshi | longtext | 4294967295 | 预防措施 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 |
表名:yonghu
功能:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xingbie | varchar | 200 | 性别 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
touxiang | longtext | 4294967295 | 头像 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表名:users
功能:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表名:systemintro
功能:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表名:qixiangxinxi
功能:气象信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
quyu | varchar | 200 | 区域 | ||
binghaimingcheng | varchar | 200 | 病害名称 | ||
binghaizhonglei | varchar | 200 | 病害种类 | ||
rizhaoshizhang | varchar | 200 | 日照时长/小时 | ||
ripingjunshidu | varchar | 200 | 日平均湿度/℃ | ||
rizuigaowendu | varchar | 200 | 日最高温度/℃ | ||
rizuidiwendu | varchar | 200 | 日最低温度℃ | ||
kongqixiangduishidu | varchar | 200 | 空气相对湿度/% | ||
fengsu | varchar | 200 | 风速(米/秒) | ||
yuedongjunliang | varchar | 200 | 越冬菌量 | ||
chunjiyuliang | varchar | 200 | 春季雨量 | ||
wushuangqi | varchar | 200 | 无霜期/天 | ||
kangbingxing | longtext | 4294967295 | 抗病性 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 |
表名:news
功能:公告信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表名:fangzhifangan
功能:防治方案
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
quyu | varchar | 200 | 区域 | ||
binghaimingcheng | varchar | 200 | 病害名称 | ||
binghaizhonglei | varchar | 200 | 病害种类 | ||
fabushijian | date | 发布时间 | |||
fangzhifangan | longtext | 4294967295 | 防治方案 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 |
表名:config
功能:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表名:bingchonghaizhonglei
功能:病虫害种类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
binghaizhonglei | varchar | 200 | 病害种类 |
表名:bingchonghaixinxi
功能:病虫害信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
binghaibianhao | varchar | 200 | 病害编号 | ||
quyu | varchar | 200 | 区域 | ||
binghaimingcheng | varchar | 200 | 病害名称 | ||
binghaizhonglei | varchar | 200 | 病害种类 | ||
shuliang | int | 数量 | |||
fashengdidian | varchar | 200 | 发生地点 | ||
binghaizhuangtai | varchar | 200 | 病害状态 | ||
binghaishijian | date | 病害时间 | |||
fashengqingkuang | longtext | 4294967295 | 发生情况 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 |
表名:yujingxinxi
功能:预警信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
quyu | varchar | 200 | 区域 | ||
binghaimingcheng | varchar | 200 | 病害名称 | ||
binghaizhonglei | varchar | 200 | 病害种类 | ||
fabushijian | date | 发布时间 | |||
yujingneirong | longtext | 4294967295 | 预警内容 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 |
4.3 本章小结
通过本章针对基于大数据的病虫害预警系统功能的总体结构、E-R属性图和数据表的大概介绍,对在开发系统时所要涉及到的数据库进行简单设计,为下一章系统的实现做好铺垫。
5.1系统功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。平台首页界面如图5-1所示:
图5-1 平台首页界面
病虫害信息:在病虫害信息页面的输入栏中输入病虫害名称进行搜索,可以查看到病虫害详细信息,并根据需要进相应的操作;病虫害信息页面如图5-2所示:
图5-2病虫害信息详细页面
气象信息:在气象信息页面可以查看气象信息;气象信息页面如图5-3所示:
图5-3气象信息页面
5.2后台模块实现
管理员进入主页面,管理员通过账号,密码登录系统进行首页界面的查看并可以进行操作。管理员主页面如图5-4所示:
图5-4 管理员主界面
管理员点击用户管理。在用户页面输入用户名、姓名进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-5所示:
图5-5用户管理界面
管理员点击病虫害管理。可以进行界面信息的查看并进行相应的操作;如图5-6所示:
图5-6病虫害管理界面
管理员点击预警信息管理,可以进行相应界面的查看,并根据需要对详情信息进行详情、修改或删除操作;如图5-7所示:
图5-7预警信息管理界面
参考文献
[1] 张小勇, 李军, 徐建亭. 基于大数据分析的植物病虫害判断系统[J]. 江苏农业科学, 2019(05): 169-171.
[2] 张如初, 李红梅, 刘卫强. 基于GIS和大数据技术的粮食作物病虫害监测与预测研究[J]. 植保技术与推广, 2021, 42(06): 187-190.
[3] 梁晨, 陈岭. 大数据在植物病虫害管理中的应用现状与未来展望[J]. 节水灌溉, 2022, (01): 44-46.
[4] 杨海斌, 马秦民. 基于大数据的果树病虫害智能识别技术[J]. 果树学报, 2020, (03): 544-548.
[5] 王奔, 杨磊, 张军. 基于大数据挖掘的植物病虫害监测与预警研究[J]. 中国林副特产, 2019, 48(03): 8-10.
[6] 张大伟, 刘德生, 陆成武. 基于大数据技术的植保病虫害识别方法研究[J]. 西部林业科学, 2021, 50(06): 34-38.
[7] 黄伟, 杨佳玲, 朱星. 绿化城市中植物病虫害的现状及防治建议——基于大数据分析[J]. 初中生体验活动, 2019, (05): 144-146.
[8] 马志娟, 陈森. 基于大数据技术的森林病虫害监测和诊断技术研究[J]. 林业资源管理, 2022, 40(03): 68-71.
[9] 周慧珍, 郭孟姣, 邓婕. 大数据与人工智能在植物病虫害控制管理中的应用探讨[J]. 园艺学报, 2021, 48(01): 209-217.
[10] 赵吉昌, 马福生. 基于大数据平台的果树病虫害动态诊断与防控研究[J]. 甘肃农业科技, 2021(02): 68-72.
[11] 谢春明, 戚秋红. 基于大数据技术的病虫害智能监测与防控模式[J]. 农学学报, 2022, 67(02): 8-14.
[12] 赵亮, 杨蕾, 见慧. 基于决策树和大数据分析的病虫害分类预测[J]. 农业科研经济管理, 2020(03): 133-136.
[13] Wang, Yichen, Jinwei Zhang, and Xia Chen. "Study on the intelligent diagnosis system of crop disease based on big data analysis." Journal of Physics: Conference Series. Vol. 1821. No. 1. IOP Publishing, 2021.
[14] Zhao, Dandan, et al. "A big data based monitoring and early warning system for vegetable pests and diseases." IOP Conference Series: Earth and Environmental Science. Vol. 630. No. 2. IOP Publishing, 2021.
[15] Li, Li, and Li Li. "Research on distributed storage technology of big data in crop disease and insect pest identification system based on deep learning." Journal of Physics: Conference Series. Vol. 1948. No. 1. IOP Publishing, 2021.
目录