唐盛平
(廣州應(yīng)用科技學(xué)院,廣東 廣州 511370)
農(nóng)業(yè)是支撐國(guó)民經(jīng)濟(jì)建設(shè)與發(fā)展的基礎(chǔ)產(chǎn)業(yè),在國(guó)家國(guó)計(jì)民生方面具有重要的地位,特別是我國(guó)作為人口大國(guó),農(nóng)業(yè)的健康發(fā)展顯得至關(guān)重要。由于我國(guó)農(nóng)業(yè)發(fā)展的歷史原因,我國(guó)農(nóng)業(yè)的信息化發(fā)展程度遠(yuǎn)遠(yuǎn)落后于國(guó)外發(fā)達(dá)國(guó)家[1]。鑒于這個(gè)情況,國(guó)家從大局出發(fā),大力推進(jìn)農(nóng)業(yè)信息化,構(gòu)建“互聯(lián)網(wǎng)+”農(nóng)業(yè)的宏偉戰(zhàn)略。近年來,電子商務(wù)的發(fā)展突飛猛進(jìn),但只是在網(wǎng)上購(gòu)物領(lǐng)域得到快速發(fā)展;農(nóng)業(yè)這塊范疇沒有得到有效的開發(fā)。基于此,國(guó)家大力支持發(fā)展“互聯(lián)網(wǎng)+”農(nóng)業(yè),促進(jìn)農(nóng)業(yè)信息化。有文獻(xiàn)針對(duì)農(nóng)村電子商務(wù)化提出了“五化”建議[2],有文獻(xiàn)對(duì)“互聯(lián)網(wǎng)+”推動(dòng)農(nóng)業(yè)發(fā)展的路徑進(jìn)行了探索[3],也有文獻(xiàn)對(duì)智慧農(nóng)場(chǎng)平臺(tái)進(jìn)行了研究和分析[4],還有文獻(xiàn)探索和分析了信息技術(shù)對(duì)當(dāng)前農(nóng)業(yè)的發(fā)展所起的作用[5]。
本研究設(shè)計(jì)的系統(tǒng)是針對(duì)農(nóng)業(yè)銷售方面的一體化管理系統(tǒng),覆蓋了從農(nóng)民端到顧客端的環(huán)節(jié)。著力為農(nóng)業(yè)生產(chǎn)者的生產(chǎn)計(jì)劃、實(shí)施和銷售提供信息化服務(wù),為農(nóng)業(yè)生產(chǎn)者便捷有效地做出計(jì)劃提供參考信息,并對(duì)產(chǎn)品的銷售提供平臺(tái),從而實(shí)現(xiàn)計(jì)劃正確、銷售及時(shí)的目標(biāo),進(jìn)而降低各個(gè)環(huán)節(jié)的成本,同時(shí)搭建農(nóng)戶和顧客的銷售橋梁。
微服務(wù)是一種體系結(jié)構(gòu)風(fēng)格和軟件開發(fā)方法,可用來滿足現(xiàn)代業(yè)務(wù)需求。微服務(wù)不是新出現(xiàn)的技術(shù),而是從以前的架構(gòu)風(fēng)格如面向服務(wù)的架構(gòu)(SOA)演變而來的。微服務(wù)提供了一種快速敏捷開發(fā)應(yīng)用程序的方法,從而降低了總體成本。由微服務(wù)架構(gòu)開發(fā)的系統(tǒng),是由眾多小的服務(wù)組成的,每個(gè)小的服務(wù)運(yùn)行在自己的進(jìn)程中,服務(wù)之間通過輕量級(jí)的機(jī)制交流。這些獨(dú)立的服務(wù)是根據(jù)業(yè)務(wù)來設(shè)計(jì)的,即每個(gè)服務(wù)只負(fù)責(zé)提供單個(gè)業(yè)務(wù)功能的服務(wù)。因此,這樣的系統(tǒng)具有能夠獨(dú)立部署和易擴(kuò)展等優(yōu)點(diǎn)[6]。
總之,微服務(wù)是用來開發(fā)軟件系統(tǒng)的一種架構(gòu)風(fēng)格或者一種方法,由此,框架開發(fā)出來的系統(tǒng)是由一系列自動(dòng)的、自我包含的和松耦合的業(yè)務(wù)單元組成。
農(nóng)業(yè)銷售管理系統(tǒng)主要具有如下主要功能模塊:農(nóng)產(chǎn)品展示模塊、消費(fèi)需求匯總模塊、銷售購(gòu)買模塊、天氣預(yù)測(cè)模塊、農(nóng)產(chǎn)品合作模塊和行情預(yù)測(cè)模塊。農(nóng)業(yè)銷售管理系統(tǒng)從總體上可以分為兩大部分:后端服務(wù)和前端顯示。其中,后端服務(wù)部分使用spring cloud框架來提供微服務(wù)功能,前端顯示部分可以采用多種前端網(wǎng)頁語言或框架來實(shí)現(xiàn),因?yàn)楹蠖朔?wù)和前端顯示是相互分離的。從軟件工程的角度來說,也提高了開發(fā)的并行度。
農(nóng)產(chǎn)品展示模塊主要是提供農(nóng)產(chǎn)品的展示,以便顧客或者收購(gòu)商查閱詳情,更直觀地了解并購(gòu)買農(nóng)產(chǎn)品。農(nóng)產(chǎn)品的展示內(nèi)容包括產(chǎn)品的圖片、價(jià)格、產(chǎn)地、大小、上架時(shí)間等基本信息,其中,可以在地圖中查看產(chǎn)地位置以及該地的氣候和特色等信息,加深消費(fèi)者對(duì)產(chǎn)品的理解和認(rèn)同度,提高產(chǎn)品得到交易的概率。此外,這個(gè)模塊還有評(píng)價(jià)和交易信息統(tǒng)計(jì)功能,購(gòu)買者購(gòu)買產(chǎn)品后可以對(duì)相應(yīng)產(chǎn)品進(jìn)行評(píng)價(jià)。
為了能更有效、更便捷地收集和分析消費(fèi)需求,從而客觀準(zhǔn)確地反映市場(chǎng)需求,需要有一個(gè)平臺(tái)收集消費(fèi)者的反饋意見和需求。在此模塊中,將長(zhǎng)期需要的產(chǎn)品作為優(yōu)先列出的統(tǒng)計(jì)項(xiàng)。消費(fèi)者可以直接在對(duì)應(yīng)產(chǎn)品的統(tǒng)計(jì)項(xiàng)中填寫需求信息,如數(shù)量、種類、品質(zhì)等。后臺(tái)對(duì)這些數(shù)據(jù)信息按照產(chǎn)品名稱進(jìn)行統(tǒng)計(jì),并且以圖形化的方式直觀呈現(xiàn)出來。農(nóng)業(yè)生產(chǎn)者可以從各種類型的圖形化統(tǒng)計(jì)圖中,直觀快速發(fā)現(xiàn)和發(fā)掘顧客的需求,進(jìn)而對(duì)生產(chǎn)計(jì)劃做出更加準(zhǔn)確的判斷,防止盲目計(jì)劃而影響銷量,造成損失。
本模塊中,主要提供農(nóng)產(chǎn)品銷售和購(gòu)買的途徑。農(nóng)戶可以將所銷售產(chǎn)品的信息上傳到平臺(tái),購(gòu)買者可以通過平臺(tái)瀏覽產(chǎn)品、挑選產(chǎn)品以及完成購(gòu)買操作。因此,該模塊需要集成多個(gè)主流在線支付產(chǎn)品的支付功能,農(nóng)戶可以根據(jù)自己的情況指定支付平臺(tái),也可以選擇貨到付款這種支付方式。此外,由于產(chǎn)品由農(nóng)戶發(fā)貨,而不通過平臺(tái),所以農(nóng)戶需要根據(jù)購(gòu)買者的具體情況選擇合適的物流方式。這使農(nóng)戶有更多選擇的空間,但也有物流成本較高等問題。
天氣變化對(duì)于農(nóng)業(yè)的影響非常大,干旱、澇災(zāi)甚至?xí)屴r(nóng)業(yè)從業(yè)者顆粒無收。天氣變化對(duì)農(nóng)業(yè)的影響如此之大的原因,主要在于沒有提前對(duì)天氣變化做好充分的準(zhǔn)備。如果能提供與農(nóng)業(yè)相關(guān)的天氣變化資訊,并且給予相應(yīng)的建議,那么農(nóng)戶就能夠及時(shí)準(zhǔn)備并做出應(yīng)對(duì)措施,從而加強(qiáng)農(nóng)業(yè)生產(chǎn)者應(yīng)對(duì)天氣變化的能力,減少異常天氣帶來的損失。
個(gè)體戶式農(nóng)產(chǎn)品的生產(chǎn)可能存在資源利用不夠充分等缺點(diǎn),也不能夠發(fā)揮規(guī)模式生產(chǎn)帶來的好處,例如節(jié)約成本。如果能提供個(gè)體戶和投資合作意向者交流的平臺(tái),將會(huì)增加促進(jìn)前面兩者談成合作的可能。因?yàn)檫@個(gè)管理系統(tǒng)的主要使用對(duì)象是農(nóng)業(yè)生產(chǎn)者和農(nóng)產(chǎn)品消費(fèi)者,大家交流的內(nèi)容都是農(nóng)產(chǎn)品。如果消費(fèi)者在購(gòu)買商品時(shí),看到合適的、有前途的農(nóng)產(chǎn)品,又有意向投資,那么投資者可以通過該模塊和農(nóng)產(chǎn)品生產(chǎn)者洽談合作事項(xiàng)。另外,在農(nóng)產(chǎn)品方面有經(jīng)驗(yàn)的用戶還可以對(duì)農(nóng)產(chǎn)品生產(chǎn)等過程進(jìn)行指導(dǎo)。因此,此模塊的主要功能是農(nóng)產(chǎn)品合作和經(jīng)驗(yàn)指導(dǎo)功能。通過這些功能,能給農(nóng)產(chǎn)品的合作帶來便利,同樣也能起到傳播專業(yè)技術(shù)的作用,從而促進(jìn)農(nóng)業(yè)的發(fā)展。
在競(jìng)爭(zhēng)過程中,做到知己知彼,將獲得更大的競(jìng)爭(zhēng)力。正確的行業(yè)預(yù)測(cè),對(duì)于計(jì)劃和布局都能起到至關(guān)重要的作用。不說長(zhǎng)遠(yuǎn)的行業(yè)預(yù)測(cè),就連短期的行業(yè)分析也會(huì)影響收益和虧損。此模塊主要提供對(duì)行業(yè)的預(yù)測(cè),以常見農(nóng)產(chǎn)品為預(yù)測(cè)對(duì)象,結(jié)合目前政策和行業(yè)權(quán)威專家的預(yù)測(cè)觀點(diǎn),還有目前的行業(yè)情況,將這些作為預(yù)測(cè)模型的輸入條件,最終得到對(duì)應(yīng)農(nóng)產(chǎn)品的行情預(yù)測(cè)結(jié)果。農(nóng)業(yè)從事人員可以參考這些行情預(yù)測(cè)結(jié)果,結(jié)合自己的具體情況,做出盡量合理的生產(chǎn)計(jì)劃。合理和準(zhǔn)確的行情分析,往往在很大程度上決定了未來的銷量、收益和利潤(rùn)。
微服務(wù)架構(gòu)的一個(gè)重要優(yōu)點(diǎn)是,每個(gè)小的服務(wù)獨(dú)立程度高,獨(dú)立部署和運(yùn)行,服務(wù)與服務(wù)之間松耦合,由此帶來系統(tǒng)易擴(kuò)展等優(yōu)點(diǎn)。以上的模塊都是一個(gè)單獨(dú)服務(wù),即微服務(wù),微服務(wù)之間只通過接口來通信,每個(gè)微服務(wù)可以獨(dú)立使用不同的數(shù)據(jù)庫(kù)。為了增加系統(tǒng)的可靠性和性能,每個(gè)模塊可以擁有多個(gè)實(shí)例,并且可以部署在不同的服務(wù)器上。
本系統(tǒng)使用前后分離的設(shè)計(jì)思想,即系統(tǒng)從邏輯和結(jié)構(gòu)上分為兩大部分:前端顯示部分和后端處理部分。其中,前端部分可以使用任何前端技術(shù)或框架來設(shè)計(jì)和實(shí)現(xiàn),后端部分使用spring boot+spring cloud框架來設(shè)計(jì)和實(shí)現(xiàn)。每個(gè)模塊功能作為一個(gè)獨(dú)立的微服務(wù)存在,可以部署在不同服務(wù)器中,同一個(gè)微服務(wù)實(shí)例也可以部署到多臺(tái)服務(wù)器中。
該模塊需要設(shè)計(jì)獲取農(nóng)產(chǎn)品信息接口和保存農(nóng)產(chǎn)品信息接口,其中:1)獲取農(nóng)產(chǎn)品信息接口用來從數(shù)據(jù)庫(kù)中查詢并且返回產(chǎn)品信息,前端使用此接口來顯示數(shù)據(jù)庫(kù)里的農(nóng)產(chǎn)品信息;2)保存農(nóng)產(chǎn)品信息接口用來保存產(chǎn)品信息,用于接收前端發(fā)送過來的農(nóng)產(chǎn)品信息并保存到數(shù)據(jù)庫(kù)中。此外,產(chǎn)品信息數(shù)據(jù)也包含購(gòu)買者的評(píng)價(jià)。
保存農(nóng)產(chǎn)品信息接口的主要邏輯流程如下:生產(chǎn)者提交過來的產(chǎn)品信息傳輸?shù)胶蠖朔?wù)器,最終由此接口接收并處理這些數(shù)據(jù),然后保存到數(shù)據(jù)庫(kù)中。
獲取農(nóng)產(chǎn)品信息接口的主要邏輯流程如下:前端發(fā)出請(qǐng)求,請(qǐng)求被后端服務(wù)接收并交給此接口處理,然后根據(jù)所請(qǐng)求的產(chǎn)品信息返回到前端,前端接收到此接口的產(chǎn)品信息后,再對(duì)其做進(jìn)一步處理,例如顯示出來。
該模塊需要設(shè)計(jì)如下接口:1)接收前端發(fā)送過來的消費(fèi)需求信息,并保存到數(shù)據(jù)庫(kù);2)返回匯總后的需求信息到前端,以供前端顯示或者操作消費(fèi)需求匯總消息。除了對(duì)外提供這兩個(gè)接口外,在處理前端發(fā)送過來的需求時(shí),還需要對(duì)這些需求信息進(jìn)行處理,按照產(chǎn)品類型進(jìn)行分類統(tǒng)計(jì)。
接收消費(fèi)需求信息接口的主要邏輯流程如下:前端提交需求信息到后端服務(wù),并由此接口最終接收和處理,即將需求消息添加到對(duì)應(yīng)的產(chǎn)品類別中。
此模塊需要設(shè)計(jì)如下接口:對(duì)外提供付款功能,購(gòu)買者可以選擇付款方式進(jìn)行支付,支付結(jié)果返回前端,以便前端呈現(xiàn)給購(gòu)買者付款結(jié)果。
此模塊的主要邏輯流程如下:消費(fèi)者提交商品訂單到服務(wù)端,并由此接口處理訂單,調(diào)用第三方支付平臺(tái)完成支付步驟。如果確定支付成功,則使用spring boot的消息機(jī)制,將購(gòu)買信息發(fā)送給商家(通過短信或郵件方式),商家登錄后可以查看這些購(gòu)買信息,然后選擇合適的物流方式郵寄貨物。
此模塊需要設(shè)計(jì)如下接口:主要向前端提供天氣預(yù)報(bào)信息。
此模塊的主要邏輯流程如下:前端請(qǐng)求獲取天氣預(yù)報(bào)信息,此接口收到該請(qǐng)求后,調(diào)用第三方天氣預(yù)報(bào)接口獲取天氣預(yù)報(bào)信息。天氣預(yù)報(bào)信息的來源優(yōu)先獲取當(dāng)?shù)氐奶鞖庑畔?,如果?dāng)?shù)靥鞖庑畔@取不到,再獲取區(qū)域級(jí)別較大的地區(qū)的天氣預(yù)報(bào)信息,這樣逐級(jí)遍歷獲取天氣預(yù)報(bào)信息。
此模塊需要設(shè)計(jì)如下接口:1)接收合作者提交的信息;2)返回生產(chǎn)者和合作者交流的數(shù)據(jù)。
此模塊的主要邏輯流程如下:登錄后有意合作的購(gòu)買者(合作者)給生產(chǎn)者發(fā)送合作意向留言,此接口接收到該留言信息后,則保存留言信息到數(shù)據(jù)庫(kù),并向?qū)?yīng)的生產(chǎn)者發(fā)送手機(jī)短信或郵件,提示有合作留言信息;生產(chǎn)者登錄后,在合作模塊中可以與有意合作者洽談合作事項(xiàng)。
此模塊需要設(shè)計(jì)如下接口:給前端返回行情預(yù)測(cè)信息。
此模塊的主要邏輯流程如下:前端向該模塊接口發(fā)送行情預(yù)測(cè)請(qǐng)求,此模塊接口收到請(qǐng)求后,則返回?cái)?shù)據(jù)庫(kù)中對(duì)應(yīng)產(chǎn)品的行情預(yù)測(cè)數(shù)據(jù)。為了提高行情分析數(shù)據(jù)的返回速度,減少服務(wù)器的壓力,設(shè)定定時(shí)服務(wù)——每天凌晨訪問量較小的時(shí)候,執(zhí)行行情預(yù)測(cè)分析操作,獲取主流權(quán)威網(wǎng)站的信息,通過行情分析算法計(jì)算,得到當(dāng)天的行情預(yù)測(cè)數(shù)據(jù),并保存在數(shù)據(jù)庫(kù)中。
為了能更好地支持微服務(wù)的部署和提高性能,而增加了spring cloud的服務(wù)注冊(cè)中心、服務(wù)網(wǎng)關(guān)Zuul、容錯(cuò)保護(hù)Hystrix、負(fù)載均衡Ribbon等組件的支持,使得系統(tǒng)更加安全、易維護(hù)。
隨著網(wǎng)絡(luò)的普及,“互聯(lián)網(wǎng)+”農(nóng)業(yè)是未來發(fā)展的趨勢(shì)。為了更好地發(fā)展農(nóng)業(yè),帶動(dòng)農(nóng)村經(jīng)濟(jì)的健康發(fā)展,提高人們的收入,本研究提出了一個(gè)基于微服務(wù)的農(nóng)業(yè)銷售管理系統(tǒng)。該系統(tǒng)主要包含如下功能模塊:農(nóng)產(chǎn)品展示模塊、消費(fèi)需求匯總模塊、銷售購(gòu)買模塊、天氣預(yù)測(cè)模塊、農(nóng)產(chǎn)品合作模塊和行情預(yù)測(cè)模塊。通過這些功能,可以覆蓋農(nóng)產(chǎn)品從需求、生產(chǎn)到顧客購(gòu)買等環(huán)節(jié),促進(jìn)農(nóng)業(yè)的發(fā)展。