唐 華
(眉山職業(yè)技術(shù)學(xué)院,四川 眉山 620010)
隨著科技的不斷發(fā)展和農(nóng)業(yè)生產(chǎn)的日益復(fù)雜化,農(nóng)業(yè)生產(chǎn)對于先進(jìn)技術(shù)的需求與日俱增。在農(nóng)業(yè)生產(chǎn)中,玉米作為一種重要的糧食作物,其產(chǎn)量和質(zhì)量的提升對于糧食安全和農(nóng)業(yè)經(jīng)濟(jì)具有重要意義。傳統(tǒng)的農(nóng)業(yè)生產(chǎn)管理方式不能滿足新技術(shù)的生產(chǎn)需求,需要更智能、高效的解決方案來應(yīng)對復(fù)雜多變的生產(chǎn)環(huán)境[1]。
神經(jīng)網(wǎng)絡(luò)作為人工智能領(lǐng)域的研究熱點(diǎn)之一,其強(qiáng)大的學(xué)習(xí)和模式識別能力為農(nóng)業(yè)決策提供了新的可能。本研究旨在針對玉米水肥管理中存在的問題,借助神經(jīng)網(wǎng)絡(luò)算法,開發(fā)一套智能決策系統(tǒng)軟件,以提升玉米生產(chǎn)的水平和效益。
玉米水肥智能決策系統(tǒng)旨在為農(nóng)業(yè)從業(yè)者提供高效的水肥配施決策,并構(gòu)建全面的綜合系統(tǒng)。系統(tǒng)具備良好的可移植性和可擴(kuò)展性,以適應(yīng)未來農(nóng)業(yè)發(fā)展需求。用戶分為普通用戶、管理員和超級管理員,系統(tǒng)包含數(shù)據(jù)管理、模型管理、信息交互、資料管理、賬戶管理和系統(tǒng)管理等六大功能模塊,具體情況如圖1所示。
圖1 系統(tǒng)功能模塊Fig.1 System function module
1.1.1 數(shù)據(jù)管理模塊
數(shù)據(jù)管理模塊允許經(jīng)過認(rèn)證的用戶錄入和管理數(shù)據(jù),涵蓋查詢、編輯和刪除等多項(xiàng)操作。數(shù)據(jù)錄入環(huán)節(jié)包含9 個關(guān)鍵字段,確保信息的完整性與準(zhǔn)確性。此外,系統(tǒng)提供靈活的數(shù)據(jù)展示和檢索功能,以列表形式呈現(xiàn),支持多條件篩選[2]。
1.1.2 模型管理模塊
作為系統(tǒng)的核心,模型管理模塊支持用戶使用預(yù)設(shè)或自定義模型來進(jìn)行水肥決策。它允許用戶基于實(shí)際生產(chǎn)數(shù)據(jù)來構(gòu)建新模型,同時,管理員有責(zé)任維護(hù)模型庫的有效性和可靠性。用戶在模型運(yùn)行時輸入必要信息,系統(tǒng)后端處理并返回結(jié)果,同時保存運(yùn)行記錄以供查詢。
1.1.3 信息交互模塊
信息交互模塊為用戶交流平臺,管理員在此發(fā)布通知和管理用戶內(nèi)容,包括帖子和留言。用戶可在此模塊發(fā)布農(nóng)業(yè)相關(guān)內(nèi)容,實(shí)現(xiàn)知識分享和問題解答。模塊設(shè)計(jì)注重用戶體驗(yàn),提供直觀的界面和清晰的功能布局。
1.1.4 資料管理模塊
構(gòu)建權(quán)威且全面的農(nóng)業(yè)知識庫,內(nèi)容覆蓋種植技巧、病蟲害防治及品種信息等。用戶可快速檢索所需信息,節(jié)省時間成本。管理員在此負(fù)責(zé)內(nèi)容的更新和維護(hù),確保信息的前沿性和可靠性。
1.1.5 賬戶管理模塊
賬戶管理模塊用于用戶注冊、登錄、維護(hù)個人信息及密碼更新。角色包括普通用戶、系統(tǒng)管理員和超級管理員。注冊登錄僅需填寫用戶名、昵稱、密碼,簡潔高效。賬戶管理核心功能分為“個人信息”“賬號管理”,用戶可調(diào)整昵稱、密碼等關(guān)鍵信息,密碼修改需驗(yàn)證原設(shè)定密碼,確保賬戶安全。
1.1.6 系統(tǒng)管理模塊
系統(tǒng)管理模塊專為管理員和超級管理員設(shè)計(jì),提供用戶權(quán)限設(shè)定和管理功能。包括用戶添加、信息管理和權(quán)限分配等。不同級別用戶享有相應(yīng)的數(shù)據(jù)操作和系統(tǒng)維護(hù)權(quán)限,以確保系統(tǒng)的順暢運(yùn)行和數(shù)據(jù)安全。
玉米水肥智能決策系統(tǒng)的非功能性需求包括系統(tǒng)性能、可靠性、易用性、安全性、可擴(kuò)展性和可維護(hù)性等方面,歸納起來有以下幾方面:一是系統(tǒng)性能要求響應(yīng)速度快,頁面加載時間在3 s 內(nèi)完成,模型運(yùn)行和構(gòu)建功能的響應(yīng)速度也有具體要求。二是系統(tǒng)可靠性要求系統(tǒng)正常運(yùn)行時間占比高于95%,月均故障次數(shù)不超過1次。三是系統(tǒng)易用性要求操作和界面友好,支持簡單操作和模糊查詢,具備響應(yīng)式布局和簡潔大方的界面設(shè)計(jì)[3];安全性方面,系統(tǒng)要求具備嚴(yán)格的權(quán)限控制和加密機(jī)制,保障內(nèi)部和外部安全。四是系統(tǒng)可擴(kuò)展性,要求系統(tǒng)結(jié)構(gòu)合理,減少耦合,以滿足未來可能的新需求。五是系統(tǒng)可維護(hù)性,要求代碼規(guī)范,功能模塊相對獨(dú)立,降低維護(hù)難度和故障牽連影響。
玉米水肥智能決策系統(tǒng)采用三層架構(gòu),分別為表示層、業(yè)務(wù)層和數(shù)據(jù)層,構(gòu)建在B/S 架構(gòu)上,如圖2 所示。其中,表示層作為用戶與系統(tǒng)互動的媒介,通過瀏覽器展示用戶可見的系統(tǒng)形式,接收用戶請求并將其傳遞至服務(wù)器。用戶登錄需經(jīng)過鑒權(quán),確保安全進(jìn)入系統(tǒng)。業(yè)務(wù)層承擔(dān)主要功能,接受表示層請求并處理,依托Django 框架實(shí)現(xiàn)業(yè)務(wù)邏輯。Django 的Models 層使用ORM 框架處理數(shù)據(jù)事務(wù),Templates 層處理表示層事務(wù),而Views 層作為連接Models 與Templates 的橋梁,共同支持業(yè)務(wù)層功能。數(shù)據(jù)層負(fù)責(zé)存儲系統(tǒng)資源數(shù)據(jù),主要采用關(guān)系型數(shù)據(jù)庫系統(tǒng)MySQL,實(shí)現(xiàn)數(shù)據(jù)的存取。為提高系統(tǒng)性能,采用Redis 技術(shù)對session 等長周期數(shù)據(jù)進(jìn)行緩存,以減輕服務(wù)器壓力[4]。
圖2 系統(tǒng)總體架構(gòu)Fig.2 Overall system architecture
系統(tǒng)的核心功能模塊包括數(shù)據(jù)管理、模型管理、信息交互、資料管理、賬戶管理和系統(tǒng)管理等6個方面。
一是數(shù)據(jù)管理模塊。提供規(guī)范化的作物生產(chǎn)數(shù)據(jù)存儲和管理平臺,分為普通用戶、管理員和超級管理員3 種角色。普通用戶可對自己的數(shù)據(jù)進(jìn)行錄入、刪除、編輯和查詢,而管理員和超級管理員則具有管理所有用戶數(shù)據(jù)的權(quán)限,并在得到用戶許可的情況下優(yōu)化系統(tǒng)其他功能,如圖3所示。
圖3 數(shù)據(jù)管理模塊流程Fig.3 Data management module flow
二是模型管理模塊。為用戶提供水肥配施方案決策支持,包括個人歷史記錄和模型管理功能。管理員和超級管理員還能對普通用戶的歷史記錄和模型庫進(jìn)行操作,如圖4所示。
圖4 模型管理模塊流程Fig.4 Model management module flow
三是信息交互模塊。提供用戶交流互動的平臺,包括通知公告瀏覽、論壇發(fā)表文章或提問等功能。管理員和超級管理員可進(jìn)行論壇業(yè)務(wù)管理,包括分類、公告、帖子和留言的管理,如圖5所示。
圖5 信息交互模塊流程Fig.5 Information interaction module flow
四是資料管理模塊。構(gòu)建系統(tǒng)知識庫,用戶可查閱資料,管理員和超級管理員負(fù)責(zé)錄入和更新資料。
五是賬戶管理模塊。提供用戶注冊、登錄、個人信息維護(hù)和密碼管理功能。
六是系統(tǒng)管理模塊。為系統(tǒng)管理人員設(shè)計(jì)的模塊,包括用戶管理和權(quán)限分配。用戶管理涵蓋新增、信息查詢、信息修改、狀態(tài)設(shè)置和用戶刪除等操作,狀態(tài)設(shè)置有正常、異常和禁用3種。權(quán)限分配操作允許超級管理員設(shè)定下級權(quán)限用戶為普通用戶或管理員用戶。
以上6 個模塊共同構(gòu)建了完整的玉米水肥智能決策系統(tǒng),從數(shù)據(jù)管理到系統(tǒng)管理的全面功能,為用戶提供了便捷的決策支持和交流互動平臺。
數(shù)據(jù)庫在不僅是維持系統(tǒng)高效運(yùn)行的核心,更是確保軟件系統(tǒng)穩(wěn)定性和可靠性的要素之一。玉米水肥智能決策系統(tǒng)以MySQL 為基礎(chǔ),構(gòu)建完備的表格關(guān)系模式和底層架構(gòu)。系統(tǒng)涉及的核心實(shí)體對象包括用戶數(shù)據(jù)、農(nóng)作物生產(chǎn)相關(guān)數(shù)據(jù)、農(nóng)業(yè)模型參數(shù)設(shè)置、模型運(yùn)行歷史記錄、公共信息發(fā)布、討論話題、用戶留言、主題類別、種植技術(shù)知識、農(nóng)作物病蟲害防治策略及品種系譜等。數(shù)據(jù)庫模型框架圖是系統(tǒng)穩(wěn)定性和高效性的基石,確保了系統(tǒng)在各方面的功能和性能上達(dá)到卓越水平。
賬戶管理模塊是系統(tǒng)的核心,包含賬號注冊、登錄、個人信息查看和維護(hù)等功能。模型層定義了User模型對應(yīng)MySQL 的users 表,視圖層包含多個函數(shù)(如login、dologin、logout 等),模板層有l(wèi)ogin.html、register.html 等頁面。用戶訪問系統(tǒng)時,經(jīng)過登錄攔截,若無session 信息則重定向至登錄頁面。已有賬號用戶在登錄界面輸入信息,經(jīng)dologin 函數(shù)核對后寫入session,加載系統(tǒng)首頁(homepage.html)。新用戶可注冊或聯(lián)系管理員獲取賬號。系統(tǒng)首頁展示“我的數(shù)據(jù)庫”“我的預(yù)測”“我的論壇”“資料庫”功能和側(cè)邊欄導(dǎo)航。管理員用戶有“系統(tǒng)管理”功能。用戶可在右上角查看個人信息或退出,左側(cè)“賬號管理”用于修改個人信息和密碼。點(diǎn)擊“賬號管理”經(jīng)useredit 路由,渲染個人信息至前端。其他功能類似,修改后信息經(jīng)userupdate 路由寫入數(shù)據(jù)庫,格式錯誤則提示。整體設(shè)計(jì)基于AdminLTE 開源項(xiàng)目,前端界面清晰展示多功能組件和側(cè)邊欄導(dǎo)航,提供用戶友好的操作體驗(yàn)。
數(shù)據(jù)管理模塊利用Django 應(yīng)用程序中設(shè)計(jì)的數(shù)據(jù)庫實(shí)現(xiàn)對各種數(shù)據(jù)的詳細(xì)呈現(xiàn)、添加、更新、刪除和查詢等基本操作。一般用戶可以方便瀏覽和操作個人數(shù)據(jù),而管理者和超級管理員擁有更廣泛的權(quán)限,能夠管理全體用戶的相關(guān)數(shù)據(jù)。
該模塊主要涉及Summary of data 模型及對應(yīng)于MySQL數(shù)據(jù)庫中的Summary of data表。在視圖層面,定義了響應(yīng)數(shù)據(jù)管理界面各項(xiàng)操作需求的函數(shù),如index、insert、edit等。在模板層面,整合多個頁面,用戶可以從系統(tǒng)主頁或左側(cè)邊欄直接訪問數(shù)據(jù)管理界面,以有序的列表形式展示數(shù)據(jù)。
錄入界面要求用戶填寫各字段,完成輸入后,通過單擊“提交”按鈕將數(shù)據(jù)以form 表單形式提交到后臺服務(wù)器。后臺服務(wù)器會通過database_insert 路由調(diào)用insert 函數(shù)進(jìn)行數(shù)據(jù)錄入,成功則給出明確提示,否則提供詳細(xì)錯誤信息。
用戶可以通過在“操作”欄上點(diǎn)擊“編輯”按鈕更改數(shù)據(jù),同時為防止誤操作,提供“刪除”按鈕,系統(tǒng)會彈出確認(rèn)對話框。管理者或超級管理員有特權(quán)查看所有用戶數(shù)據(jù),并保留對數(shù)據(jù)進(jìn)行編輯和刪除的權(quán)限。為了增加靈活性,為“按條件查找”的選項(xiàng)增加了“按所屬用戶ID查詢”的細(xì)分選項(xiàng)。
管理模塊包括水肥配施方案決策子模塊和模型庫子模塊,用戶通過水肥配施方案決策子模塊選擇模型并輸入土壤氮、磷、鉀元素含量及土壤含水率等字段進(jìn)行預(yù)測。提交后,predict 函數(shù)傳遞參數(shù)給ISSARBF 類,執(zhí)行模型運(yùn)算和ISSA算法尋優(yōu),輸出建議的灌水量、施肥量及預(yù)測產(chǎn)量,結(jié)果顯示在水肥配施方案決策界面,并記錄到數(shù)據(jù)庫的historical prediction表。
用戶可點(diǎn)擊“歷史記錄”按鈕查看或刪除模型運(yùn)行歷史,跳轉(zhuǎn)至歷史記錄界面。管理員用戶能查看所有用戶的模型運(yùn)行歷史,包括“歷史記錄ID”和“所屬用戶”字段,同時可刪除下級權(quán)限用戶歷史記錄。
模型庫子模塊允許用戶在模型庫界面查看各模型的簡要信息,包括模型名、評價指標(biāo)、構(gòu)建及更新時間等字段。用戶點(diǎn)擊“構(gòu)建新模型”按鈕,自定義模型名稱并選擇36 個以上的樣本數(shù)據(jù)作為訓(xùn)練集。提交后,insert函數(shù)進(jìn)行數(shù)據(jù)歸一化并以隨機(jī)抽樣劃分訓(xùn)練集和測試集,構(gòu)建模型并將信息寫入數(shù)據(jù)庫的models 表。新構(gòu)建的模型在列表中顯示,用戶可按條件查找、更新、查看、刪除模型。
管理員用戶能操作所有用戶所屬模型,包括默認(rèn)模型,并查看模型的詳細(xì)參數(shù)。在模型詳情界面,管理員用戶額外展示“模型ID”和“所屬用戶”字段。模型更新流程與構(gòu)建類似,但僅對已存在的模型進(jìn)行改動。系統(tǒng)提供用戶友好的交互體驗(yàn),通過按鈕和搜索框使得模型管理更加靈活和高效。
信息交互模塊主要包括查看公告、發(fā)表帖子和留言等功能。該模塊使用Django 應(yīng)用forum,并定義了Public_notice、Kind、Post、Reply 等4 個模型對應(yīng)MySQL數(shù)據(jù)庫中的數(shù)據(jù)表。前端界面存放于templates/forum目錄下,靜態(tài)文件存放于static/AgriculturalSystem/forum目錄下。用戶可通過系統(tǒng)首頁的“我的論壇”組件或邊欄的“論壇”進(jìn)入信息交互模塊主界面。
在主界面,用戶可瀏覽公告并使用導(dǎo)航欄的功能,如發(fā)布新帖、查看帖子分類和搜索帖子。管理員用戶享有額外的“分類管理”權(quán)限。帖子以列表形式展示,信息包括分類、標(biāo)題、作者、發(fā)帖時間等,并按時間順序排列,支持通過標(biāo)題或作者等條件進(jìn)行搜索。
資料管理模塊旨在為用戶提供詳盡易操作的查閱服務(wù),分為普通用戶和管理員用戶兩類。核心應(yīng)用使用Django,主要應(yīng)用名稱為library,包含3個緊密關(guān)聯(lián)的模型結(jié)構(gòu):Plantskills、Diseases in insect pests 和Variety typ pedigree,模型對應(yīng)MySQL 數(shù)據(jù)庫中的數(shù)據(jù)表。系統(tǒng)包括增、刪、改、查等多重函數(shù),以及在模板層創(chuàng)建了相應(yīng)HTML頁面。
主界面分為3 個板塊:種植技巧、病蟲害防治及品種系譜。用戶可通過主頁或左側(cè)邊欄直接進(jìn)入資料管理模塊。在種植技巧板塊,普通用戶可瀏覽與技巧相關(guān)資料,管理員在左下角找到錄入新資料按鈕進(jìn)行維護(hù)。在種植技巧主界面,用戶可通過篩選和點(diǎn)擊標(biāo)題查看詳細(xì)信息。管理員則可在通過重新編輯、刪除資料等按鈕進(jìn)行修改或刪除操作。該設(shè)計(jì)保證了系統(tǒng)靈活性和便捷性,普通用戶輕松獲取知識,管理員高效管理和更新資料,確保數(shù)據(jù)完備和優(yōu)質(zhì)。
系統(tǒng)管理模塊是針對持有高權(quán)限的用戶所設(shè)計(jì)的,主要包括權(quán)限設(shè)定與用戶管理兩個關(guān)鍵環(huán)節(jié)。高級管理員和超級管理員可通過點(diǎn)擊系統(tǒng)主頁上的“系統(tǒng)管理”按鈕或者進(jìn)入左側(cè)導(dǎo)航欄目下的“系統(tǒng)管理”標(biāo)簽獲取相應(yīng)界面。用戶的基本信息以簡潔的列表形式呈現(xiàn),搜索框支持對用戶姓名或者昵稱的模糊查找。除此之外,界面還增設(shè)了諸如“新增用戶”“編輯”“刪除”“查閱用戶詳細(xì)資訊”等多種實(shí)用按鈕。至于角色權(quán)限的分配,只需要調(diào)整用戶信息界面中的“用戶權(quán)限”字段即可實(shí)現(xiàn)。
本研究構(gòu)建了功能完備、性能卓越的玉米水肥智能決策系統(tǒng),以滿足玉米生長的水肥決策方面的需求。系統(tǒng)設(shè)計(jì)采用B/S架構(gòu)和三層架構(gòu),確保系統(tǒng)的穩(wěn)定性和高效性。數(shù)據(jù)庫以MySQL 為基礎(chǔ),構(gòu)建完備的表格關(guān)系模式,包括用戶數(shù)據(jù)、生產(chǎn)相關(guān)數(shù)據(jù)、模型參數(shù)、運(yùn)行歷史記錄等核心實(shí)體對象,為系統(tǒng)的穩(wěn)定性和可靠性奠定了基石。在系統(tǒng)功能實(shí)現(xiàn)方面,各模塊均得到實(shí)現(xiàn),包括賬戶管理、數(shù)據(jù)管理、模型管理、信息交互、資料管理和系統(tǒng)管理,為用戶提供了全面的決策支持和交流互動平臺。