萬宏鳳,鹿艷晶
(鄭州職業(yè)技術(shù)學(xué)院 ,鄭州 450000)
隨著科技的發(fā)展,我國農(nóng)業(yè)機(jī)械逐漸趨于現(xiàn)代化。農(nóng)用植保無人機(jī)作為一種新型農(nóng)用機(jī)械,由于其具有良好的機(jī)動(dòng)性能、較高的噴灑效率、較低的作業(yè)成本及安全和環(huán)保的特性,逐漸替代了傳統(tǒng)人工作業(yè)方式,應(yīng)用于農(nóng)業(yè)生產(chǎn)和植保作業(yè)[1-2]。植保機(jī)在作業(yè)過程中,通過利用遙感分析、傳感器等技術(shù)對(duì)農(nóng)作物的漲勢(shì)及害蟲病害進(jìn)行監(jiān)測(cè),從而實(shí)現(xiàn)精準(zhǔn)噴藥。然而,這種方式并不能有效解決農(nóng)作物病蟲害的問題,只能緩解病蟲害問題。
數(shù)據(jù)庫技術(shù)是一種結(jié)合了計(jì)算機(jī)科學(xué)和信息管理技術(shù)的綜合數(shù)據(jù)管理技術(shù),可實(shí)現(xiàn)數(shù)據(jù)資源的共享[3-4]:一方面,利用傳統(tǒng)的農(nóng)業(yè)生產(chǎn)資料;另一方面,利用傳感器實(shí)時(shí)感知農(nóng)業(yè)數(shù)據(jù)信息,將這些信息應(yīng)用計(jì)算機(jī)數(shù)據(jù)庫技術(shù),可建立一個(gè)具有診斷、瀏覽和查詢功能的數(shù)據(jù)庫,并通過結(jié)合歷史資料和當(dāng)前農(nóng)業(yè)狀況,依據(jù)數(shù)據(jù)庫中的預(yù)警模型達(dá)到對(duì)農(nóng)作物病蟲害進(jìn)行有效、準(zhǔn)確和及時(shí)預(yù)警的目的。目前,數(shù)據(jù)庫在建立和使用過程中需要操作系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)相互連接和支持才可運(yùn)行,其中的任何一個(gè)環(huán)節(jié)出現(xiàn)不合法的使用,均會(huì)造成數(shù)據(jù)庫數(shù)據(jù)的泄漏甚至破壞。
為了保證植保機(jī)的正常作業(yè),需對(duì)數(shù)據(jù)庫的各個(gè)環(huán)節(jié)如數(shù)據(jù)庫和網(wǎng)絡(luò)系統(tǒng)等采取措施,包括采取用戶識(shí)別和鑒別手段、人員訪問控制及將數(shù)據(jù)庫加密等手段,以保證其安全運(yùn)行。因此,筆者擬對(duì)網(wǎng)絡(luò)安全數(shù)據(jù)庫在植保機(jī)系統(tǒng)中的應(yīng)用進(jìn)行研究。
為了保證對(duì)植保機(jī)數(shù)據(jù)庫進(jìn)行有效的管理,采用較為通用和高效的DNN門戶內(nèi)容管理系統(tǒng)對(duì)植保機(jī)的數(shù)據(jù)庫進(jìn)行管理[5],具有開源、靈活擴(kuò)展的優(yōu)點(diǎn),且安全性能良好。其結(jié)構(gòu)組成主要包括3層,分別為客戶端、網(wǎng)絡(luò)服務(wù)端和數(shù)據(jù)庫端,結(jié)構(gòu)簡(jiǎn)圖如圖1所示。
圖1 植保機(jī)的門戶內(nèi)容管理系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖Fig.1 The structure diagram of portal content management system for plant protection machine
客戶端主要是用戶的計(jì)算機(jī)通過瀏覽器即可進(jìn)行信息的瀏覽、查詢和輸入等,是植保機(jī)數(shù)據(jù)庫系統(tǒng)與用戶之間進(jìn)行通信和信息交換的媒介;同時(shí),客戶端還配置了HTML添加模塊,便于用戶進(jìn)行功能的擴(kuò)展。
在作業(yè)時(shí),客戶利用瀏覽器發(fā)出請(qǐng)求,并提出表單至網(wǎng)絡(luò)服務(wù)端,其后網(wǎng)絡(luò)和數(shù)據(jù)庫服務(wù)端進(jìn)行信息數(shù)據(jù)的處理,及時(shí)地對(duì)請(qǐng)求作出響應(yīng)。
網(wǎng)絡(luò)服務(wù)端主要用于實(shí)現(xiàn)植保機(jī)的專家服務(wù)功能,根據(jù)邏輯方式可以劃分為3層,分別為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。
表示層主要為客戶端提供服務(wù),是客戶進(jìn)行系統(tǒng)訪問的端口,主要包括表單、網(wǎng)頁、模塊、模塊控制插件和客戶端腳本。其中,表單是客戶進(jìn)入客戶端后的首頁;網(wǎng)頁為客戶進(jìn)入系統(tǒng)網(wǎng)站瀏覽時(shí)的每個(gè)網(wǎng)頁;模塊為DNN系統(tǒng)提供基本的功能,如圖2所示。系統(tǒng)主要有6大功能,包括農(nóng)業(yè)基本知識(shí)介紹、專家答疑和留言、問題識(shí)別、觀測(cè)點(diǎn)預(yù)報(bào)、用戶管理和數(shù)據(jù)維護(hù);模塊控制插件為客戶進(jìn)入模塊提供接口,然后以網(wǎng)頁的形式呈現(xiàn);客戶端腳本為當(dāng)客戶需要與表示層有更多的聯(lián)系時(shí),提供途徑。
圖2 DNN功能模塊結(jié)構(gòu)圖Fig.2 The structure drawing for DNN functional module
業(yè)務(wù)邏輯層的建立一方面是增加系統(tǒng)的安全性,降低系統(tǒng)被惡意侵入的危險(xiǎn);另一方面是降低系統(tǒng)的程序和數(shù)據(jù)庫數(shù)據(jù)之間的依賴關(guān)系,其主要組成包括業(yè)務(wù)對(duì)象、控制器和數(shù)據(jù)源提供者。其中,業(yè)務(wù)對(duì)象為觀測(cè)點(diǎn)預(yù)報(bào)信息數(shù)據(jù);控制器是觀測(cè)點(diǎn)進(jìn)行病害預(yù)警的預(yù)測(cè)方法,預(yù)測(cè)流程如圖3所示。數(shù)據(jù)源提供者為控制器所需數(shù)據(jù)提供傳輸方法,是一種數(shù)據(jù)傳輸工具,在此采用DataReader作為數(shù)據(jù)源提供者。
圖3 病害預(yù)警的預(yù)測(cè)流程Fig.3 The forecasting process of disease early warning
數(shù)據(jù)訪問層主要用于實(shí)現(xiàn)數(shù)據(jù)源傳輸方法,該層與數(shù)據(jù)庫連接,是與數(shù)據(jù)庫聯(lián)系最為緊密的一層。
數(shù)據(jù)庫端是整個(gè)DNN系統(tǒng)運(yùn)行的核心,數(shù)據(jù)庫的建立可以把數(shù)據(jù)組織聯(lián)系在一起,同時(shí)數(shù)據(jù)庫中的不同數(shù)據(jù)又獨(dú)立存在,將這些數(shù)據(jù)綜合分析可以對(duì)病蟲害進(jìn)行預(yù)警,減少系統(tǒng)的重復(fù)性工作,解決實(shí)際問題。數(shù)據(jù)庫端主要通過客戶端和網(wǎng)絡(luò)服務(wù)端進(jìn)行正常的管理和運(yùn)行。
植保機(jī)系統(tǒng)的數(shù)據(jù)庫主要包括作物實(shí)時(shí)數(shù)據(jù)庫、歷史數(shù)據(jù)庫、知識(shí)庫、模型庫和結(jié)論庫,其獲取數(shù)據(jù)過程如圖4所示。其中,作物實(shí)時(shí)數(shù)據(jù)庫主要用于對(duì)植保機(jī)獲取的農(nóng)田實(shí)時(shí)數(shù)據(jù)進(jìn)行管理,如傳感器感知信息、農(nóng)作物信息等;歷史數(shù)據(jù)庫用于存儲(chǔ)歷史數(shù)據(jù);知識(shí)庫主要用于對(duì)獲取的領(lǐng)域?qū)<业闹R(shí)進(jìn)行存儲(chǔ);模型庫是對(duì)預(yù)警模型及動(dòng)態(tài)知識(shí)進(jìn)行分析得出的模型進(jìn)行存儲(chǔ);結(jié)論庫是對(duì)模型診斷及推理得出的結(jié)論進(jìn)行存儲(chǔ)。
圖4 植保機(jī)系統(tǒng)的數(shù)據(jù)庫獲取數(shù)據(jù)過程圖Fig.4 The data acquisition process diagram of plant protection machine system database
為了對(duì)農(nóng)作物病蟲害進(jìn)行有效、準(zhǔn)確和及時(shí)的預(yù)警,可以充分利用植保機(jī)采集到的農(nóng)田信息,構(gòu)建預(yù)警模型,從而及時(shí)地采取手段預(yù)防病蟲害。神經(jīng)網(wǎng)絡(luò)是采用人工智能的方法,在現(xiàn)有數(shù)據(jù)的基礎(chǔ)上采用多次迭代計(jì)算得到具有內(nèi)在聯(lián)系的數(shù)學(xué)模型。其中,BP神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一種,是采用監(jiān)督學(xué)習(xí)的方式解決非線性問題的一種神經(jīng)網(wǎng)絡(luò),具有較強(qiáng)的容錯(cuò)、學(xué)習(xí)、并行處理及可完成分布存儲(chǔ)的優(yōu)點(diǎn)[6-7],可應(yīng)用于病蟲害預(yù)警模型的建立。但是,該算法訓(xùn)練時(shí)間長,易陷入局部極值,而粗糙集理論在這些方面與BP神經(jīng)網(wǎng)絡(luò)為互補(bǔ)關(guān)系,可有效去除冗余數(shù)據(jù),執(zhí)行并行計(jì)算算法,將粗糙集與BP神經(jīng)網(wǎng)絡(luò)結(jié)合用于病蟲害預(yù)警模型的建立。
在建立粗糙集和BP神經(jīng)網(wǎng)絡(luò)的預(yù)警模型時(shí),首先,收集病蟲害相關(guān)案例、試驗(yàn)數(shù)據(jù)以及專家診斷等信息,采用粗糙集理論對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,包括數(shù)據(jù)的離散化、確定條件屬性、確定原始決策表和屬性簡(jiǎn)約等;其后,將處理后的數(shù)據(jù)采用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)和訓(xùn)練,最終確定病蟲害預(yù)警模型。粗糙集和BP神經(jīng)網(wǎng)絡(luò)的預(yù)警模型建立過程如圖5所示。
1)粗糙集理論對(duì)數(shù)據(jù)進(jìn)行處理時(shí),首先需要確定粗糙集。假設(shè)集合為U,對(duì)其按下式處理,即
圖5 粗糙集和BP神經(jīng)網(wǎng)絡(luò)的預(yù)警模型建立過程圖Fig.5 The process diagram of rough set and BP neural network early warning model establishment
2)確定粗糙集的條件屬性。假定DNN系統(tǒng)數(shù)據(jù)按照下式定義,即
S=(U,M,N,f),U≠φ,M≠φ
其中,U為粗糙集的數(shù)據(jù)集合;M為粗糙集數(shù)據(jù)的有限屬性集合。因此,粗糙集研究對(duì)象的屬性集合為
N=UNa
其中,Na為a屬性的取值范圍,則對(duì)于粗糙集U中的任意研究對(duì)象x的屬性值f(x,a)可按下式表示,即
f(x,a)∈Na(?a∈M,x∈U)
3)確定原始決策表。決策表也屬于DNN系統(tǒng)數(shù)據(jù),一般可以看做是由條件和決策屬性共同組成的信息表。對(duì)于已知的系統(tǒng)數(shù)據(jù)S=(U,M,N,f)有以下關(guān)系
M=A∪B,A∩B≠φ
其中,A和B分別為條件和決策的屬性集合。對(duì)于各決策屬性值,決策規(guī)則采用下式計(jì)算,即
γij:des(U|C,U|D)→des(U|D)
(U|C)∩(U|D)≠φ
對(duì)應(yīng)的確定性因子θ結(jié)果如下式計(jì)算,即
θ(U|C,U|D)=|(U|C)∩(U|D)|/|U|C|
確定性因子θ值越大,則決策規(guī)則的確定性越小。
4)進(jìn)行屬性簡(jiǎn)約。對(duì)于系統(tǒng)數(shù)據(jù)S=(U,M,N,f),該數(shù)據(jù)的區(qū)別矩陣中的元素可表示為
W(x,y)={a∈M|f(x,a)≠f(y,a)}
矩陣為n階方陣。對(duì)于矩陣中的任意元素a,設(shè)定不二類型變量a,若符合以下關(guān)系
則可以定義區(qū)分函數(shù)為
對(duì)于集合M的約簡(jiǎn)集合A需要滿足的條件為
A?M,A∩W(x,y)=φ,?W(x,y)=φ
當(dāng)數(shù)據(jù)采用粗糙集理論處理后,對(duì)處理的數(shù)據(jù)構(gòu)建BP人工神經(jīng)網(wǎng)絡(luò)預(yù)警模型。BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖如圖6所示。
在進(jìn)行BP神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)時(shí),需要確定以下參數(shù):
1)網(wǎng)絡(luò)層數(shù)。一般設(shè)定為3層神經(jīng)網(wǎng)絡(luò),輸入層為m個(gè)節(jié)點(diǎn),輸出層為n個(gè)節(jié)點(diǎn)。
2)每層神經(jīng)元數(shù)量。一般輸入層神經(jīng)元數(shù)量u0為影響病蟲害的環(huán)境因子個(gè)數(shù),輸出層數(shù)量u1為病蟲害種類,隱含層神經(jīng)元數(shù)量u2按照下式計(jì)算,即
u2=2u0+1
3)傳遞函數(shù)采用Sigmoid函數(shù),即
其中,a為網(wǎng)絡(luò)偏移量;b為激勵(lì)函數(shù)的改變。
4)訓(xùn)練算法采用優(yōu)化的Levenberg-Marguardt算法,以提高運(yùn)算速率。
5)初始權(quán)值選擇為(0,1)之間的任意數(shù)值,以避免權(quán)值調(diào)整時(shí)的同向性。
6)學(xué)習(xí)速率定為0.5,以保證系統(tǒng)的穩(wěn)定性,最終確定該3層BP神經(jīng)網(wǎng)絡(luò)的預(yù)警模型。
為了保證該植保機(jī)的DNN門戶內(nèi)容管理系統(tǒng)的性能,需要對(duì)其進(jìn)行試驗(yàn)驗(yàn)證??紤]到系統(tǒng)的主要功能是對(duì)采集到的植物進(jìn)行病蟲害預(yù)警,以及時(shí)地采取有效措施。因此,在進(jìn)行試驗(yàn)設(shè)計(jì)時(shí),主要針對(duì)系統(tǒng)的預(yù)警模型進(jìn)行試驗(yàn)驗(yàn)證。
試驗(yàn)選擇植保機(jī)數(shù)據(jù)庫中采集到的與水稻紋枯病相關(guān)的樣本共150個(gè)進(jìn)行試驗(yàn)。樣本信息包括環(huán)境的溫濕度條件、發(fā)病時(shí)期、癥狀等信息。這些樣本共包括80個(gè)訓(xùn)練樣本,20個(gè)驗(yàn)證樣本及50個(gè)測(cè)試樣本,最終通過這些樣本得到的預(yù)警準(zhǔn)確率,如表1所示。
表1 預(yù)警試驗(yàn)結(jié)果Table 1 The result of early warning test
由表1可知:該DNN門戶內(nèi)容管理系統(tǒng)對(duì)于水稻紋枯病的預(yù)警準(zhǔn)確率達(dá)到94%,能夠達(dá)到農(nóng)業(yè)人員對(duì)于病蟲害預(yù)警準(zhǔn)確率的要求,可以將該系統(tǒng)應(yīng)用于農(nóng)作物的病蟲害預(yù)警。
1)針對(duì)我國現(xiàn)有農(nóng)用植保機(jī)系統(tǒng)只能進(jìn)行農(nóng)藥的噴灑,并不能對(duì)病蟲害進(jìn)行預(yù)警,解決農(nóng)作物病蟲害的問題,將網(wǎng)絡(luò)安全數(shù)據(jù)庫在植保機(jī)系統(tǒng)的應(yīng)用進(jìn)行了研究。植保機(jī)的DNN門戶內(nèi)容管理系統(tǒng)主要包括3層,分別為客戶端、網(wǎng)絡(luò)服務(wù)端和數(shù)據(jù)庫端。
2)為了使植保機(jī)系統(tǒng)可以根據(jù)數(shù)據(jù)庫的數(shù)據(jù)對(duì)病蟲害進(jìn)行預(yù)警,同時(shí)保證數(shù)據(jù)庫數(shù)據(jù)的安全,建立了粗糙集和BP神經(jīng)網(wǎng)絡(luò)的預(yù)警模型,包括采用粗糙集進(jìn)行數(shù)據(jù)的預(yù)處理,以及采用BP神經(jīng)網(wǎng)絡(luò)建立預(yù)警模型。
3)為了驗(yàn)證該植保機(jī)的DNN門戶內(nèi)容管理系統(tǒng)的有效性,通過利用采集到的樣本對(duì)該系統(tǒng)的運(yùn)行進(jìn)行了訓(xùn)練、驗(yàn)證和測(cè)試,結(jié)果表明:系統(tǒng)可以有效地對(duì)植物病蟲害問題進(jìn)行預(yù)警。