無人機(jī)農(nóng)田服務(wù)信息管理系統(tǒng)設(shè)計(jì)研究
時(shí)間:2022-07-22 10:37:12
導(dǎo)語:無人機(jī)農(nóng)田服務(wù)信息管理系統(tǒng)設(shè)計(jì)研究一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:無人機(jī)在農(nóng)業(yè)領(lǐng)域應(yīng)用日益普及,但無人機(jī)供需信息服務(wù)水平還比較落后,為此設(shè)計(jì)了無人機(jī)農(nóng)田服務(wù)信息系統(tǒng)?;赟pringBoot框架開發(fā)實(shí)現(xiàn)了一個(gè)Web應(yīng)用程序,包括登錄模塊、訂單模塊、消息模塊以及認(rèn)證等功能模塊。經(jīng)測試,該系統(tǒng)具有較好的實(shí)用性。
關(guān)鍵詞:無人機(jī)信息管理;Web應(yīng)用程序;分布式系統(tǒng)
中國是農(nóng)業(yè)大國,基本農(nóng)田面積達(dá)18億畝[1]。但由于農(nóng)村勞動(dòng)力老齡化和城市化,導(dǎo)致農(nóng)田勞動(dòng)力緊缺,所以需要大量無人機(jī)來代替人力完成農(nóng)田中的植保工作[2]。但無人機(jī)成本高,專業(yè)性很強(qiáng),如果農(nóng)戶自己購買、使用無人機(jī),成本會(huì)大大提高。由無人機(jī)專業(yè)團(tuán)隊(duì)提供集中式服務(wù),則可以極大地平攤成本,提升無人機(jī)使用效率?,F(xiàn)有的無人機(jī)服務(wù)供給和需求信息大部分是通過熟人介紹,或者用社交軟件如微信、QQ等進(jìn)行撮合,導(dǎo)致供需信息匹配效率不高,不利于實(shí)現(xiàn)資源的最優(yōu)配置。本研究一方面幫助農(nóng)戶實(shí)現(xiàn)服務(wù)需求,對優(yōu)質(zhì)無人機(jī)服務(wù)進(jìn)行篩選、管理,在農(nóng)戶服務(wù)需求和飛手供應(yīng)信息之間架設(shè)渠道;另一方面根據(jù)農(nóng)戶地理位置和服務(wù)需求等情況實(shí)現(xiàn)合理接單,讓飛手集約高效率地提供服務(wù)。
1相關(guān)研究
早在1911年德國就提出使用飛機(jī)來噴灑農(nóng)藥進(jìn)行森林害蟲防治的計(jì)劃。1949年美國農(nóng)藥噴灑技術(shù)有了更大提升,空中作業(yè)以霧噴為主。到了1987年,日本成功發(fā)明無人機(jī),并將無人機(jī)投入到農(nóng)業(yè)植保領(lǐng)域,代替?zhèn)鹘y(tǒng)的勞動(dòng)力,提高作業(yè)效率。美國成熟的霧噴技術(shù)加上日本無人機(jī)的創(chuàng)新發(fā)明,使得無人機(jī)在植保領(lǐng)域大有作為[3-4]。文獻(xiàn)[5]提出一種無人機(jī)探查技術(shù),發(fā)明了兩個(gè)連續(xù)相位計(jì)算單個(gè)樹和樹行的三維幾何特征創(chuàng)新方法;文獻(xiàn)[6]研究提升無人機(jī)采集的麥田圖像拼接精度新方法。國外研究主要集中在無人機(jī)本身的研發(fā)環(huán)節(jié),專門針對無人機(jī)共享使用的Web應(yīng)用程序開發(fā)技術(shù)則比較罕見。隨著無人機(jī)在我國農(nóng)業(yè)植保領(lǐng)域的興起,國家已將無人機(jī)納入農(nóng)機(jī)補(bǔ)貼政策以促進(jìn)無人機(jī)在農(nóng)業(yè)植保領(lǐng)域的普及[7]。隨著互聯(lián)網(wǎng)技術(shù)的普及,國內(nèi)一些廠商圍繞無人機(jī)共享技術(shù)開展了一些研究[8-14],設(shè)計(jì)了一些平臺(tái)。這些平臺(tái)存在以下問題:①功能較為復(fù)雜,用戶體驗(yàn)不佳,缺少地圖化展示,對于無人機(jī)的終端用戶農(nóng)民來說,學(xué)習(xí)使用起來較為困難;②這些平臺(tái)沒有基于最新的Web快速開發(fā)技術(shù),如SpringBoot等,導(dǎo)致開發(fā)成本和維護(hù)成本較高。在Web快速開發(fā)技術(shù)方面,SpringBoot是一個(gè)熱門框架,它秉承“約定優(yōu)于配置”的原則,大大簡化了Web開發(fā)過程,可以很方便地?cái)U(kuò)展為微服務(wù)應(yīng)用[15]。基于SpringBoot的Web應(yīng)用日益受到歡迎[16-18]。地圖化展示方面,傳統(tǒng)的GIS開發(fā)復(fù)雜,技術(shù)門檻和成本都很高,而基于百度地圖API可以快速開發(fā)地圖化展示功能,近年來成功案例很多[19-20]。本文基于最新的Web快速開發(fā)技術(shù)構(gòu)建一個(gè)實(shí)用的無人機(jī)農(nóng)田服務(wù)信息管理系統(tǒng),有一定的應(yīng)用價(jià)值。
2需求分析
本系統(tǒng)面向農(nóng)戶、商戶兩種角色分析功能需求。2.1農(nóng)戶農(nóng)戶即需要無人機(jī)農(nóng)田服務(wù)的對象,可以不用注冊就能瀏覽本系統(tǒng)中所有的無人機(jī)農(nóng)田服務(wù)方信息,但是必須注冊才可使用農(nóng)田服務(wù)預(yù)約等核心功能。農(nóng)戶角色涉及的功能包括農(nóng)田服務(wù)展示、訂單管理、購物車、注冊與登錄、服務(wù)評價(jià)與個(gè)人信息管理。2.2商戶商戶即擁有無人機(jī)經(jīng)營許可的組織或公司。商戶旗下可以擁有具備無人機(jī)操作經(jīng)驗(yàn)的飛手。商戶涉及的功能包括服務(wù)信息管理、訂單管理、飛手管理、注冊與登錄、經(jīng)營許可認(rèn)證、個(gè)人信息管理。
3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1功能設(shè)計(jì)。各個(gè)子系統(tǒng)在相互協(xié)作的同時(shí)還需要保證業(yè)務(wù)流程的完整性,共同構(gòu)成完整的無人機(jī)農(nóng)田服務(wù)信息管理系統(tǒng)。系統(tǒng)頂層數(shù)據(jù)流如圖1所示。整個(gè)系統(tǒng)分為4個(gè)子系統(tǒng),每個(gè)子系統(tǒng)對應(yīng)不同的功能模塊,如圖2所示。3.2數(shù)據(jù)庫設(shè)計(jì)。本系統(tǒng)涉及的數(shù)據(jù)庫實(shí)體一共有8個(gè),分別是:①農(nóng)戶;②商戶;③機(jī)手;④訂單;⑤農(nóng)田服務(wù);⑥購物車;⑦通知;⑧服務(wù)評價(jià)。另外還設(shè)計(jì)了兩個(gè)中間表記錄“訂單與機(jī)手”、“訂單與農(nóng)田服務(wù)”相關(guān)信息,實(shí)體之間ER關(guān)系如圖3所示。3.3界面設(shè)計(jì)。3.3.1農(nóng)戶界面登錄成功后進(jìn)入主頁,顯示近一個(gè)月“銷量較好”的無人機(jī)服務(wù)和商戶信息,點(diǎn)擊服務(wù)或商戶,就會(huì)進(jìn)入服務(wù)的詳情頁面和農(nóng)田服務(wù)列表頁面,分頁顯示指定商戶旗下的所有農(nóng)田服務(wù)信息,本文顯示排名前4的服務(wù)信息,具體界面如圖4所示。在農(nóng)田服務(wù)列表頁面,系統(tǒng)會(huì)自動(dòng)根據(jù)農(nóng)戶個(gè)人信息中填寫的地址進(jìn)行定位,然后顯示該區(qū)域(省份+城市)下的農(nóng)田服務(wù),默認(rèn)是價(jià)格升序排序;然后按照直線距離遠(yuǎn)近升序排序。農(nóng)田服務(wù)詳情頁面,顯示該服務(wù)的“銷量”、“平均評分”、“累計(jì)評論”以及相應(yīng)的評論信息和所屬的商戶信息,具體如圖5所示。圖5農(nóng)田服務(wù)詳細(xì)頁面在農(nóng)戶購物車界面,顯示農(nóng)戶選中的農(nóng)田服務(wù),可對服務(wù)的數(shù)量進(jìn)行修改、移除和結(jié)算。根據(jù)購物車結(jié)算服務(wù)生成相應(yīng)的創(chuàng)建訂單頁面。農(nóng)戶可自定義作業(yè)地址,否則默認(rèn)是農(nóng)戶的地址;設(shè)置預(yù)約日期和填寫訂單備注信息。農(nóng)戶的訂單管理頁面,分頁顯示一定數(shù)量的訂單詳細(xì)信息,如訂單的基本信息、訂單關(guān)聯(lián)的農(nóng)田服務(wù)信息以及負(fù)責(zé)的機(jī)手信息。除此之外,農(nóng)戶可以更改“進(jìn)行中”的訂單狀態(tài)。3.3.2商戶界面商戶界面包括顯示商戶所有“進(jìn)行中”狀態(tài)的訂單信息。地圖部分顯示所有訂單與商戶(個(gè)人信息中填寫的地址)的位置信息。訂單根據(jù)預(yù)約日期升序顯示,還顯示預(yù)約時(shí)間與現(xiàn)在時(shí)間差(倒計(jì)時(shí))。除此之外,商戶還可將訂單導(dǎo)出為Excel文件,如圖6所示。在訂單概況列表頁面,商戶可根據(jù)訂單狀態(tài)分頁顯示訂單主要信息,還可批量更改“未處理”狀態(tài)訂單信息。在農(nóng)田服務(wù)列表頁面,商戶可根據(jù)農(nóng)田服務(wù)狀態(tài)(“上架”或者“下架”)分頁顯示,并且可批量更新農(nóng)田服務(wù)狀態(tài),農(nóng)田服務(wù)信息則需要逐一修改。圖6商戶主頁在機(jī)手列表頁面,分頁顯示商戶關(guān)聯(lián)的機(jī)手信息,可對指定機(jī)手信息進(jìn)行修改。3.4系統(tǒng)實(shí)現(xiàn)。集成開發(fā)環(huán)境采用EclipseLuna,JavaDevelopKit1.8,數(shù)據(jù)庫基于MySQL,應(yīng)用服務(wù)器采用ApacheTomcat9.0,整個(gè)項(xiàng)目基于Maven構(gòu)建和管理依賴關(guān)系。系統(tǒng)實(shí)現(xiàn)包括用戶管理子系統(tǒng)、訂單子系統(tǒng)、消息子系統(tǒng)和認(rèn)證子系統(tǒng)。訂單子系統(tǒng)是本系統(tǒng)的核心業(yè)務(wù),主要針對“訂單”“農(nóng)田服務(wù)”“機(jī)手”以及“服務(wù)評論”這4個(gè)實(shí)體來實(shí)現(xiàn)。下面介紹農(nóng)田服務(wù)查詢和購物車兩個(gè)核心功能。(1)農(nóng)田服務(wù)查詢。兩種角色的農(nóng)田服務(wù)信息查詢方式會(huì)有所差異。對于農(nóng)戶而言,搜索農(nóng)田服務(wù),根據(jù)農(nóng)戶選擇的區(qū)域(省份+城市)和價(jià)格排序方式分頁顯示,默認(rèn)為農(nóng)戶個(gè)人信息填寫地址;如果沒有設(shè)置,則默認(rèn)值為前端設(shè)置的默認(rèn)值。該功能算法為:后臺(tái)將前端傳來的“區(qū)域”信息模糊匹配該區(qū)域所有商戶;然后向數(shù)據(jù)庫批量查詢這些商戶旗下的所有農(nóng)田服務(wù)信息,并且按照農(nóng)田服務(wù)價(jià)格進(jìn)行排序(排序方式由農(nóng)戶定義);再判斷農(nóng)戶是否還需要按照商戶位置與農(nóng)戶自身位置的距離依升序排序。如果是,就需要調(diào)用“Baidu地圖的距離位置計(jì)算”服務(wù),批量計(jì)算這些農(nóng)田服務(wù)所屬的商戶位置與農(nóng)戶位置的距離信息,然后按照自定義排序方式對農(nóng)田服務(wù)進(jìn)行排序。排序規(guī)則是在價(jià)格相等情況下,按照距離的遠(yuǎn)近升序排序。如果不需要按照距離排序,那么就直接返回查詢數(shù)據(jù)即可。對于商戶而言,農(nóng)田服務(wù)查詢只能查詢自身的農(nóng)田服務(wù),可以根據(jù)農(nóng)田服務(wù)狀態(tài)分頁顯示。農(nóng)戶和商戶兩種角色在訂單查詢時(shí)基本一致,但是由于訂單涉及的實(shí)體比較多,有“農(nóng)戶”、“商戶”、“農(nóng)田服務(wù)”以及“飛手”等。雖然在同一訂單情景下,農(nóng)戶與商戶是一對一的關(guān)系,但是“農(nóng)田服務(wù)”和“訂單”“飛手”與“訂單”是“多對一”關(guān)系,整體上它們是多對多關(guān)系,所以用兩張第三方表記錄“一個(gè)訂單關(guān)聯(lián)哪些農(nóng)田服務(wù)”和“一個(gè)訂單由多少飛手負(fù)責(zé)”等信息。•因此在查詢上關(guān)聯(lián)的表比較多,這樣增加了數(shù)據(jù)庫查詢的負(fù)擔(dān)和難度。對此在查詢某一訂單關(guān)聯(lián)的所有實(shí)體信息時(shí),首先通過“訂單表”與“兩張第三方表”連接,獲取訂單關(guān)聯(lián)的實(shí)體主鍵信息以及訂單的主要信息;然后再將訂單關(guān)聯(lián)的實(shí)體主鍵信息重新組裝成主鍵集合,批量從Redis查詢這些實(shí)體信息;最后再將從Redis得到的實(shí)體詳細(xì)信息包裝到“訂單的展示Vo”中并返回。為了提升查詢效率,這一訂單查詢工作分成幾段進(jìn)行,分而治之。同時(shí),在查詢訂單過程中可根據(jù)用戶設(shè)置的查詢條件進(jìn)行,可以按照訂單的狀態(tài)或者訂單的預(yù)約時(shí)間升序排序,或者是按訂單創(chuàng)建時(shí)間進(jìn)行排序并分頁顯示,該執(zhí)行過程如圖7所示。圖7訂單查詢過程(2)購物車??紤]到農(nóng)戶對購物車的增刪查改操作會(huì)很頻繁,所以采用Redis存儲(chǔ)農(nóng)戶選中的農(nóng)田服務(wù)相關(guān)信息。采用Hash數(shù)據(jù)類型存儲(chǔ),使用“ShoppingCartTable”作為HashKey,然后用農(nóng)戶的ID作為key,并用“購物車”實(shí)體的Json字符串對象作為value。該“購物車”實(shí)體的屬性在“數(shù)據(jù)庫設(shè)計(jì)”中有說明,記錄的就是“服務(wù)ID”“服務(wù)所屬的商戶ID”以及“服務(wù)的數(shù)量”等關(guān)鍵信息。
4結(jié)語
本系統(tǒng)基于SpringBoot和地圖開發(fā)技術(shù),實(shí)現(xiàn)了農(nóng)戶尋找合適的“無人機(jī)農(nóng)田服務(wù)”目的,也為商戶對“農(nóng)戶需求訂單”的集中管理帶來便利。經(jīng)測試,系統(tǒng)能夠很好地搜索農(nóng)戶的服務(wù)需求,以及對訂單進(jìn)行管理,平衡農(nóng)戶服務(wù)需求與飛手供應(yīng)的關(guān)系,提供基于地圖搜索與服務(wù)需求的匹配功能,實(shí)現(xiàn)集約、高效率的無人機(jī)農(nóng)田信息服務(wù)。但本研究還有一些不足之處:①?zèng)]有設(shè)計(jì)移動(dòng)端/微信端應(yīng)用,可能會(huì)影響推廣;②在商業(yè)智能方面可以結(jié)合客戶對商家的評價(jià)量化其服務(wù)水平,從而為消費(fèi)者推薦更優(yōu)質(zhì)的商家。后續(xù)研究將以這兩點(diǎn)為重點(diǎn)方向。
作者:吳東慶 徐楚健 郭鵬飛 王前1,侯超鈞單位:1.仲愷農(nóng)業(yè)工程學(xué)院 2.廣東工業(yè)大學(xué)機(jī)電學(xué)院