程玉菲,胡想全,宋增芳,李 莉
(甘肅省水利科學(xué)研究院,蘭州 730000)
我國(guó)農(nóng)業(yè)是第一大用水戶,灌區(qū)在我國(guó)農(nóng)業(yè)生產(chǎn)乃至國(guó)民經(jīng)濟(jì)中起著舉足輕重的作用。農(nóng)業(yè)灌溉在缺水的同時(shí),用水浪費(fèi)現(xiàn)象也十分嚴(yán)重,灌溉水利用率和單方水效率都與國(guó)外發(fā)達(dá)國(guó)家相距甚遠(yuǎn)[1]。雖然大部分大型灌區(qū)都具有較為完善的水源系統(tǒng)、輸配水系統(tǒng)和調(diào)節(jié)系統(tǒng),但灌溉管理水平和信息化程度總體上講仍處于較低水平,從信息采集、傳輸、存儲(chǔ)和使用等全面實(shí)現(xiàn)信息化的灌區(qū)還比較少。
水利是國(guó)家經(jīng)濟(jì)發(fā)展的基礎(chǔ)[2]。水利行業(yè)為信息密集型行業(yè),隨著信息技術(shù)的發(fā)展,大型灌區(qū)的發(fā)展對(duì)信息化建設(shè)依賴程度越來越高[3]。灌區(qū)的信息化建設(shè)是水利信息化建設(shè)的重要組成,是實(shí)現(xiàn)灌區(qū)現(xiàn)代化的根本和必然趨勢(shì)[4-6]。灌區(qū)信息化可實(shí)現(xiàn)水資源利用的最大化,對(duì)于加快新農(nóng)村建設(shè),促進(jìn)水資源的優(yōu)化配置和水利事業(yè)的長(zhǎng)足發(fā)展,推動(dòng)節(jié)水型社會(huì)的建設(shè)發(fā)揮著重要作用[7]。灌區(qū)的信息化建設(shè)有利于實(shí)現(xiàn)灌區(qū)的現(xiàn)代化發(fā)展,有利于實(shí)現(xiàn)灌區(qū)基礎(chǔ)水利數(shù)據(jù)的信息化,有利于提高灌區(qū)的管理水平[8]。當(dāng)前灌區(qū)信息化建設(shè)可以利用計(jì)算機(jī)、手機(jī)端智能化控制、網(wǎng)絡(luò)通信技術(shù)[9-10],實(shí)現(xiàn)信息共享、遠(yuǎn)程控制。提高灌區(qū)信息化的管理與應(yīng)用水平,是當(dāng)前高效節(jié)水灌溉建設(shè)中的迫切需要[11]。灌區(qū)灌水計(jì)劃制定是灌區(qū)信息化建設(shè)的一個(gè)重要組成部分,灌溉計(jì)劃對(duì)確定灌溉需水量和選擇灌溉時(shí)機(jī)起著非常重要的作用[12],準(zhǔn)確的灌水計(jì)劃可以指導(dǎo)灌區(qū)有序供水,在保障作物適時(shí)灌溉,保障渠道安全運(yùn)行方面具有非常重要的作用[13],但相關(guān)的專門成果研究較少。國(guó)外研究較早,由詹森等人提出了計(jì)算機(jī)灌溉進(jìn)度計(jì)劃(通常稱為USCA ARS灌溉進(jìn)度計(jì)劃),應(yīng)用氣象資料、農(nóng)作物數(shù)據(jù)和土壤情況來估算灌溉時(shí)機(jī)和灌溉需水量[12]。1984 年薩拉扎爾等人提出了確定灌溉進(jìn)度的方法,對(duì)維持作物根部水的動(dòng)態(tài)平衡及將缺水情況與允許值相比較進(jìn)行了研究[1]。在國(guó)內(nèi),陳義隆等(1985)較早總結(jié)了漢中地區(qū)灌溉計(jì)劃用水的基本經(jīng)驗(yàn)[14]。王偉等(2004)分析了河套灌區(qū)的灌溉計(jì)劃用水,提出了灌溉計(jì)劃的原則和編制的步驟和方法[15]??弟S虎(2004)總結(jié)歸納出了適合我國(guó)國(guó)情,尤其在日光溫室、塑料大棚等設(shè)施栽培和小塊農(nóng)田蔬菜栽培中使用的滴灌灌溉計(jì)劃的制定方法[16]。劉軍平(2014)介紹了灌溉計(jì)劃用水的內(nèi)容和作用,分析灌區(qū)渠系輪廓、干支渠系和斗渠用水計(jì)劃的編制應(yīng)注意的關(guān)鍵環(huán)節(jié),使灌區(qū)水資源調(diào)配更趨合理,達(dá)到提高其利用效率的目的[17]。趙德芳(2018)開展了景電灌區(qū)灌水計(jì)劃編制現(xiàn)狀研究,闡述了灌水計(jì)劃的編制現(xiàn)狀與水量調(diào)度管理情況[18]。盡管灌區(qū)灌水計(jì)劃編制研究在我國(guó)已取得長(zhǎng)足的進(jìn)步和發(fā)展,但灌水計(jì)劃的信息化和自動(dòng)化程度仍然不高[19],亟須加強(qiáng)在灌區(qū)灌水計(jì)劃交互平臺(tái)信息傳輸和自動(dòng)化控制等方面的工作。
景泰川灌區(qū)是甘肅省運(yùn)行較為成功的大型電力提灌區(qū)[20]。目前,灌區(qū)灌水計(jì)劃上報(bào)仍采用傳統(tǒng)紙質(zhì)或者Excel電子表格填報(bào),人工匯總計(jì)算的原始辦法作為灌區(qū)灌水計(jì)劃制定資料收集方式,耗時(shí)、費(fèi)力、效率低下,同時(shí)也一定程度上影響著灌區(qū)水資源的高效配置和農(nóng)業(yè)生產(chǎn)的增產(chǎn)提質(zhì)能力。因此,為優(yōu)化調(diào)配灌區(qū)水資源,提高農(nóng)業(yè)水分生產(chǎn)效率,提升現(xiàn)有灌水計(jì)劃制定手段勢(shì)在必行。本研究選擇景泰川灌區(qū)作為研究對(duì)象,調(diào)查并分析景泰川灌區(qū)灌水計(jì)劃信息化現(xiàn)狀,在深入學(xué)習(xí)先進(jìn)技術(shù)的基礎(chǔ)上,結(jié)合計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù),建立面向Web的B/S模式灌區(qū)灌水計(jì)劃精準(zhǔn)制定系統(tǒng),為農(nóng)戶、用水者協(xié)會(huì)和灌區(qū)水管理機(jī)構(gòu)提供高效交互平臺(tái),提升水資源管理能力,提高水資源配置水平,提升水資源管理能力,提高水資源配置水平,從而促進(jìn)農(nóng)業(yè)用水效率提升,為今后灌區(qū)自動(dòng)化控制和精準(zhǔn)灌溉創(chuàng)造條件[21,22]。
景泰川灌區(qū)灌水計(jì)劃信息系統(tǒng)以實(shí)現(xiàn)灌水計(jì)劃制定的便捷、高效和精準(zhǔn)為目標(biāo)而開發(fā)研制的,以現(xiàn)狀灌溉制度和種植計(jì)劃為基礎(chǔ),利用計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù),農(nóng)戶-組(莊)-配水點(diǎn)-渠段-水管所-灌溉處逐級(jí)上報(bào)和審核,實(shí)現(xiàn)灌水計(jì)劃制定的便捷、高效和精準(zhǔn)。這一系統(tǒng)的應(yīng)用與發(fā)展,將極大提高灌水計(jì)劃制定的精確程度,為農(nóng)戶和灌區(qū)水資源管理者提供高效交互平臺(tái),提升水資源管理能力,提高水資源配置水平,為實(shí)現(xiàn)灌區(qū)信息化管理提供支撐。
灌區(qū)灌水計(jì)劃精準(zhǔn)制定系統(tǒng)的主要設(shè)計(jì)思想是灌溉用水戶能夠通過瀏覽器或手機(jī)App訪問本系統(tǒng),并及時(shí)、便捷、快速、準(zhǔn)確的填報(bào)本年度的種植計(jì)劃。系統(tǒng)基本信息包括種植結(jié)構(gòu)、作物類型、種植面積、灌水時(shí)間、灌水次數(shù)、灌溉所需水量以及各灌溉地塊所屬斗渠、支渠、干渠等主要信息,結(jié)合目前灌區(qū)由組(莊)、配水點(diǎn)、渠段、水管所等基層灌溉管理機(jī)構(gòu)逐級(jí)審核并上報(bào)流程,利用計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù),開發(fā)灌水計(jì)劃精準(zhǔn)制定系統(tǒng),實(shí)現(xiàn)灌溉管理處精確、快速和高效的統(tǒng)計(jì)出全灌區(qū)的年度種植計(jì)劃,為統(tǒng)一制定灌水計(jì)劃及水量調(diào)度方案提供第一手資料,灌水計(jì)劃審批流程見圖1。
圖1 景泰川灌區(qū)灌水計(jì)劃審批流程
系統(tǒng)基于DB數(shù)據(jù)庫(kù),開發(fā)兩個(gè)登錄端,分別為PC(電腦)端和手機(jī)App(端),邏輯結(jié)構(gòu)見圖2。PC(電腦)農(nóng)戶可登錄填報(bào)自己當(dāng)年的需水計(jì)劃,管理人員可登錄對(duì)農(nóng)戶需水計(jì)劃進(jìn)行審批及相關(guān)操作;手機(jī)APP(端)僅開發(fā)農(nóng)戶登錄端,農(nóng)戶可登錄對(duì)自己當(dāng)年需水計(jì)劃進(jìn)行上報(bào)。
圖2 系統(tǒng)邏輯結(jié)構(gòu)
本系統(tǒng)開發(fā)過程中,運(yùn)用的語言、開發(fā)工具、數(shù)據(jù)庫(kù)和編譯運(yùn)行環(huán)境如下所示:
(1)軟件環(huán)境:Windows系統(tǒng)(PC端),安卓系統(tǒng)(手機(jī)端)。
(2)開發(fā)語言:JAVA、JavaScript、vue.js、jquery、HTML 、mybatis。
(3)開發(fā)工具:IDEA +MYSQL+ JDK。
(4)項(xiàng)目架構(gòu):B/S架構(gòu)。
(5)開發(fā)框架:spring boot。
(6)項(xiàng)目運(yùn)行環(huán)境:Tomcat容器。
(7)數(shù)據(jù)庫(kù):MySQL(版本號(hào):5.1.1.7)。
(8)瀏覽器:IE瀏覽器(IE9及以上版本)、谷歌瀏覽器、火狐瀏覽器。
本系統(tǒng)開發(fā)和運(yùn)行過程中,對(duì)硬件的要求:
(1)硬件環(huán)境:阿里云服務(wù)器。
(2)版本:Windows Server2012R2。
(3)處理器:Intel(R)Xeon(R)CPU E5-2682 v4 @2.50 GHz 2.49 GHz,內(nèi)存16.0 GB。
(4)系統(tǒng)類型:64位操作系統(tǒng)。
(5)手機(jī):安卓系統(tǒng)手機(jī)。
模塊化是一個(gè)一般概念,這一概念也適用于軟件開發(fā)。系統(tǒng)的模塊化設(shè)計(jì)更易于系統(tǒng)的開發(fā)、測(cè)試與維護(hù),也可給項(xiàng)目管理帶來方便。根據(jù)總體設(shè)計(jì)結(jié)果,把系統(tǒng)劃分為功能相互獨(dú)立的4個(gè)模塊。
(1)種植計(jì)劃模塊。主要用于各級(jí)部門(農(nóng)戶、村、配水點(diǎn)、渠段、水管所、灌溉處)對(duì)種植作物、面積、需水量的上報(bào)和對(duì)下屬部門上報(bào)信息的審核。
(2)報(bào)表管理模塊。為方便用戶對(duì)統(tǒng)計(jì)信息進(jìn)行自動(dòng)化操作,系統(tǒng)設(shè)計(jì)了報(bào)表管理模塊,主要配水點(diǎn)以上部門對(duì)下級(jí)各個(gè)部門的需水量和各個(gè)渠系的需水量進(jìn)行統(tǒng)計(jì)、導(dǎo)出和打印。報(bào)表的類型主要是灌水計(jì)劃表,可將每年灌溉需水信息以Excel的格式輸出到系統(tǒng)頁面或存儲(chǔ)到數(shù)據(jù)庫(kù)中。用戶根據(jù)時(shí)間、渠系或者種植作物進(jìn)行數(shù)據(jù)統(tǒng)計(jì),統(tǒng)計(jì)出全年需水信息、種植計(jì)劃等。
(3)系統(tǒng)管理模塊。主要管理部門對(duì)下屬單位、渠系基本信息的增加、刪除、修改和查詢;設(shè)置各個(gè)部門或渠系上下級(jí)之間的關(guān)系;對(duì)作物類型和相應(yīng)的灌溉制度進(jìn)行修正。
(4)權(quán)限管理模塊。管理系統(tǒng)用戶,對(duì)系統(tǒng)用戶進(jìn)行增、刪、改、查操作。用戶是整個(gè)系統(tǒng)的操作者,又是面向Web的B/S模式系統(tǒng),而且系統(tǒng)可通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程訪問,為保證系統(tǒng)安全穩(wěn)定,使用用戶權(quán)限設(shè)定對(duì)用戶操作進(jìn)行約束,采用了高級(jí)權(quán)限和普通權(quán)限管理的雙權(quán)限系統(tǒng)管理模式。系統(tǒng)管理員用戶可以使用系統(tǒng)全部功能,而其他用戶只能對(duì)系統(tǒng)進(jìn)行查詢?cè)L問,瀏覽數(shù)據(jù),不能對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行添加、修改和刪除。系統(tǒng)管理員可以對(duì)其他用戶權(quán)限進(jìn)行修改。
灌區(qū)灌水計(jì)劃精準(zhǔn)制定系統(tǒng)面向農(nóng)戶、組(莊)、配水點(diǎn)、渠段、配水點(diǎn)、水管所、灌溉管理處等用水戶和水資源管理人員。角色分配根據(jù)部門的結(jié)構(gòu)層級(jí)所設(shè)計(jì),農(nóng)戶上報(bào)作為一個(gè)模塊,它是數(shù)據(jù)信息的來源,農(nóng)戶可以在電腦(PC端)或是手機(jī)(app端)頁面進(jìn)行基本數(shù)據(jù)信息的錄入,填寫完成之后上報(bào)給村組一級(jí),經(jīng)村組審核,審核通過后,在村組上報(bào)頁面,把所有農(nóng)戶上報(bào)的信息,進(jìn)行匯總上報(bào)給配水點(diǎn),審核不通過說明原因,退回給農(nóng)戶,農(nóng)戶修改后再次進(jìn)行上報(bào)。依次類推,直到灌溉處完成審核。根據(jù)審核程序,角色分為系統(tǒng)管理員、灌溉處人員角色、水管所人員角色、配水點(diǎn)人員角色、渠段人員角色、莊(組)人員角色和用水戶角色。對(duì)應(yīng)不同的角色,其權(quán)限不同。角色相互關(guān)系如圖3所示。
圖3 角色分配及相互關(guān)系圖
系統(tǒng)登錄界面是進(jìn)入系統(tǒng)的屏障。由于系統(tǒng)可通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程訪問,為保證系統(tǒng)安全穩(wěn)定,用戶必須以合法的密碼才能登錄系統(tǒng),訪問系統(tǒng)資源。
系統(tǒng)登錄分為管理人員和農(nóng)戶兩個(gè)登錄界面,系統(tǒng)管理員、灌溉處人員、水管所、配水點(diǎn)、渠(段)和村(組)登錄均選擇管理人員。管理人員、農(nóng)戶登錄前,請(qǐng)先選擇用戶類別,然后填寫用戶名、密碼、驗(yàn)證碼,之后點(diǎn)擊“登錄”按鈕,登錄界面如圖4所示。
圖4 系統(tǒng)登錄界面
當(dāng)從登錄界面正確輸入用戶名、登錄密碼和驗(yàn)證碼后,就可以進(jìn)入主程序界面,角色不同對(duì)應(yīng)的系統(tǒng)主程序界面不同。當(dāng)農(nóng)戶從登錄界面輸入正確用戶名、登錄密碼和驗(yàn)證碼后,就可以進(jìn)入主程序界面,農(nóng)戶主程序界面只包含1個(gè)種植計(jì)劃模塊;每個(gè)組(莊)指定1名組(莊)管理員,組(莊)管理員主程序界面包含2個(gè)模塊,分別為種植計(jì)劃模塊和權(quán)限管理模塊;每個(gè)配水點(diǎn)指定1名管理員,并且每個(gè)配水點(diǎn)只能分配1個(gè)管理用戶名,配水點(diǎn)管理員主程序界面包含2個(gè)模塊,分別為種植計(jì)劃模塊和報(bào)表管理模塊;每個(gè)渠段指定1名管理員,并且每個(gè)渠段只能分配1個(gè)管理用戶名,渠段管理員主程序界面包含2個(gè)模塊,分別為種植計(jì)劃模塊和報(bào)表管理模塊;每個(gè)水管所指定1名管理員,并且每個(gè)水管所只能分配1個(gè)管理用戶名,水管所管理員主程序界面包含2個(gè)模塊,分別為種植計(jì)劃模塊和報(bào)表管理模塊;景泰川灌區(qū)(景電管理局)灌溉處設(shè)1名管理員,灌溉處管理員主程序界面包含3個(gè)模塊,分別為種植計(jì)劃模塊、報(bào)表管理模塊和系統(tǒng)管理模塊;在實(shí)際應(yīng)用中,根據(jù)景泰川灌區(qū)工作分工情況,在灌溉處或調(diào)度室設(shè)1名系統(tǒng)管理員,系統(tǒng)管理員主程序界面包含4個(gè)模塊,分別為種植計(jì)劃模塊、報(bào)表管理模塊、系統(tǒng)管理模塊和權(quán)限管理模塊,見圖5。
圖5 系統(tǒng)管理員登錄系統(tǒng)主界面
App在Windows系統(tǒng)上使用Android studio工具進(jìn)行開發(fā),手機(jī)端使用HTML5,采用java開發(fā)語言作為后臺(tái)接口程序,利用html5、CSS3、JavaScript、Ajax、node.js等前端技術(shù)和mysql數(shù)據(jù)庫(kù)。通過阿里云服務(wù)器,將手機(jī)端和后臺(tái)放入阿里云服務(wù)器同一tomcat容器中,保證手機(jī)端和后臺(tái)在同一作用域下。目前僅僅開發(fā)了安卓系統(tǒng)農(nóng)戶上報(bào)系統(tǒng),各管理單位審核與上報(bào)均在PC端完成,App端主要用于農(nóng)戶對(duì)種植作物、面積、所屬渠系的上報(bào)。
首先在安卓手機(jī)上安裝景泰川灌區(qū)種植計(jì)劃上報(bào)系統(tǒng)(種植計(jì)劃通),安裝后啟動(dòng),進(jìn)入登錄頁面,見圖6,農(nóng)戶填寫用戶名、密碼,點(diǎn)擊登錄,進(jìn)入系統(tǒng)。
圖6 種植計(jì)劃通啟動(dòng)界面
登錄成功后跳轉(zhuǎn)到首頁面,首頁顯示上報(bào)信息,審核結(jié)果為“不通過”可對(duì)本條數(shù)據(jù)作修改,審核已通過或者待審核狀態(tài)該條數(shù)據(jù)只能查看,不能修改。手機(jī)系統(tǒng)主頁及上報(bào)界面見圖7。點(diǎn)擊“新建”按鈕,填寫表單信息,選擇種植作物,輸入種植面積和地塊所屬配水點(diǎn),選擇所在干渠、支渠、斗渠,點(diǎn)擊右上角“保存”按鈕,點(diǎn)擊“提交”按鈕完成上報(bào),也可繼續(xù)點(diǎn)擊右上角“新建”按鈕,添加其他作物信息。
圖7 手機(jī)系統(tǒng)主頁及上報(bào)界面
本系統(tǒng)設(shè)計(jì)基本信息包括種植結(jié)構(gòu)、作物類型、種植面積、灌水時(shí)間、灌水次數(shù)、灌溉所需水量以及各灌溉地塊所屬斗渠、支渠、干渠等主要信息,結(jié)合目前灌區(qū)由組(莊)、配水點(diǎn)、渠段、水管所等基層灌溉管理機(jī)構(gòu)逐級(jí)審核并上報(bào)流程,利用計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù),開發(fā)了灌水計(jì)劃精準(zhǔn)制定系統(tǒng),實(shí)現(xiàn)了灌溉管理處年度灌水計(jì)劃制定的精確、快速和高效,為統(tǒng)一制定灌水計(jì)劃及水量調(diào)度方案提供第一手資料。PC端景泰川灌區(qū)灌水計(jì)劃信息系統(tǒng)利用JAVA、JavaScript、vue.js、jquery、HTML 、mybatis等計(jì)算機(jī)語言,以IDEA +MYSQL+ JDK為開發(fā)工具,采用B/S架構(gòu)和J2EE平臺(tái),選用MySQL開源數(shù)據(jù)庫(kù),在Tomcat應(yīng)用服務(wù)器上運(yùn)行,灌溉用水戶能夠通過瀏覽器或手機(jī)App訪問本系統(tǒng)并及時(shí)、便捷、快速、準(zhǔn)確的填報(bào)本年度的種植計(jì)劃。景泰川灌區(qū)手機(jī)App種植計(jì)劃上報(bào)系統(tǒng)在Windows系統(tǒng)上使用Android studio工具進(jìn)行開發(fā),手機(jī)端使用HTML5,采用java開發(fā)語言作為后臺(tái)接口程序,利用html5、CSS3、JavaScript、Ajax、node.js等前端技術(shù)和mysql數(shù)據(jù)庫(kù)。通過阿里云服務(wù)器,將手機(jī)端和后臺(tái)放入阿里云服務(wù)器同一tomcat容器中,保證手機(jī)端和后臺(tái)在同一作用域下。目前僅僅開發(fā)了安卓系統(tǒng)農(nóng)戶上報(bào)系統(tǒng),各管理單位審核與上報(bào)均需在PC端完成,App端主要用于農(nóng)戶對(duì)種植作物、面積、所屬渠系等信息的上報(bào)。
本研究提出的景泰川灌區(qū)灌水計(jì)劃信息系統(tǒng)已開發(fā)完成,目前處于試用階段,為農(nóng)戶、用水者協(xié)會(huì)和灌區(qū)水管理機(jī)構(gòu)提供了高效的交互平臺(tái),初步實(shí)現(xiàn)了從農(nóng)戶-組(莊)-配水點(diǎn)-渠段-水管所-景泰川灌區(qū)的種植計(jì)劃的逐級(jí)審核和逐級(jí)上報(bào),為灌溉管理處年度灌水計(jì)劃制定提供了精確、快速和高效的信息化手段,為統(tǒng)一制定灌水計(jì)劃及水量調(diào)度方案提供第一手資料。下一步將針對(duì)各級(jí)用戶的使用反饋信息,對(duì)系統(tǒng)進(jìn)行補(bǔ)充和完善,從而為促進(jìn)農(nóng)業(yè)用水效率提升,為今后灌區(qū)自動(dòng)化控制和精準(zhǔn)灌溉創(chuàng)造條件。