前言:本站為你精心整理了微服務(wù)在智能化養(yǎng)殖管理系統(tǒng)中應(yīng)用范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。
摘要:采用云存儲(chǔ)+微服務(wù)架構(gòu)模式實(shí)現(xiàn)養(yǎng)殖管理系統(tǒng)的部署,確保系統(tǒng)的穩(wěn)定性和安全性。通過管理系統(tǒng)的運(yùn)行,改善了養(yǎng)殖戶的養(yǎng)殖環(huán)境,降低了養(yǎng)殖成本。
關(guān)鍵詞:微服務(wù);云存儲(chǔ);智能養(yǎng)殖;安全性;穩(wěn)定性
0引言
傳統(tǒng)的養(yǎng)殖模式在互聯(lián)網(wǎng)時(shí)代正逐漸發(fā)生變化,養(yǎng)殖業(yè)的信息化和智能化管理能提高養(yǎng)殖的效率和利潤(rùn),這對(duì)科研人員和養(yǎng)殖戶是一個(gè)挑戰(zhàn)[2]。
1微服務(wù)架構(gòu)模式
微服務(wù)架構(gòu)模式是近幾年提出的一種新的軟件架構(gòu)設(shè)計(jì)風(fēng)格。各個(gè)微服務(wù)之間有清晰的功能邊界,專注于完成自己獨(dú)立的任務(wù)。一個(gè)較復(fù)雜的應(yīng)用系統(tǒng)可以有多個(gè)微服務(wù)組成,系統(tǒng)中的各個(gè)微服務(wù)可以獨(dú)立部署,同時(shí)各個(gè)服務(wù)之間的通信機(jī)制是輕量級(jí)的[3]。微服務(wù)的概念源于2012年,弗萊德·喬治在一次演講中提出了微服務(wù)架構(gòu)思想,他描述了他的團(tuán)隊(duì)是如何面對(duì)百萬行的J2EE程序,通過架構(gòu)解耦、自動(dòng)化驗(yàn)證、持續(xù)集成、獨(dú)立部署等實(shí)踐,逐漸將原有的系統(tǒng)分解成多個(gè)可獨(dú)立交付的服務(wù)的過程。微服務(wù)架構(gòu)的本質(zhì)是持續(xù)交付體系中松耦合架構(gòu)的一種體現(xiàn)。通過微服務(wù)的獨(dú)立開發(fā)、測(cè)試、以及維護(hù),縮短特性的交付周期,提升交付質(zhì)量。同時(shí)降低管理測(cè)試、部署等的難度。在軟件架構(gòu)的發(fā)展過程中,常用的模式有分層架構(gòu)和面向服務(wù)的架構(gòu)(SOA)。微服務(wù)架構(gòu)模式與分層模式進(jìn)行對(duì)比,最明顯的區(qū)別是分層架構(gòu)要求所有邏輯都在一個(gè)進(jìn)程中進(jìn)行,隨著應(yīng)用逐漸部署到云端,對(duì)應(yīng)用程序的一小部分修改,需要重建和部署整個(gè)整體。而微服務(wù)是將應(yīng)用作為一個(gè)獨(dú)立的組件,可被單獨(dú)部署,組件之間定義了清晰的接口[4,5]。SOA架構(gòu)偏向靜態(tài),企業(yè)級(jí)大型應(yīng)用,微服務(wù)適用于快速迭代交付的互聯(lián)網(wǎng)應(yīng)用。智能養(yǎng)殖管理系統(tǒng)中涉及到較多的業(yè)務(wù)處理以及較多的數(shù)據(jù)收集和匯總,為了后期能夠更好的對(duì)系統(tǒng)進(jìn)行維護(hù),鑒于以上的分析和對(duì)比,系統(tǒng)在設(shè)計(jì)的時(shí)候考慮使用微服務(wù)架構(gòu)模式,可以通過部署多種服務(wù)來滿足不同的業(yè)務(wù)需求。
2云存儲(chǔ)技術(shù)優(yōu)點(diǎn)
云存儲(chǔ)技術(shù)與傳統(tǒng)的存儲(chǔ)方式進(jìn)行對(duì)比,其重要優(yōu)勢(shì)體現(xiàn)在兩方面:①在存儲(chǔ)容量能夠彈性擴(kuò)展,而傳統(tǒng)的存儲(chǔ)設(shè)備往往存儲(chǔ)容量有限,同時(shí)在存儲(chǔ)性能以及安全性方面也有一定弊端。云存儲(chǔ)技術(shù)的應(yīng)用使上述缺陷得到有效彌補(bǔ),云存儲(chǔ)技術(shù)能夠隨時(shí)在線增加存儲(chǔ)節(jié)點(diǎn),通過這種方式使數(shù)據(jù)存儲(chǔ)需求得到有效滿足,更加有利于開展數(shù)據(jù)信息的自動(dòng)重組工作,使數(shù)據(jù)自動(dòng)恢復(fù)效果更好。②實(shí)現(xiàn)了資源共享。云存儲(chǔ)技術(shù)的應(yīng)用使傳統(tǒng)單一設(shè)備存儲(chǔ)模式得到了有效優(yōu)化,云存儲(chǔ)將多種存儲(chǔ)資源有效整合到一起,并將其分享給多個(gè)用戶,不同用戶能夠?qū)ζ溥M(jìn)行訪問。此外,云存儲(chǔ)技術(shù)可以實(shí)現(xiàn)自動(dòng)重新分配數(shù)據(jù),使儲(chǔ)存效率以及儲(chǔ)存空間得到有效利用。云存儲(chǔ)具備良好的可維護(hù)性。對(duì)云存儲(chǔ)系統(tǒng)來說,如果在使用過程中出現(xiàn)硬盤或者儲(chǔ)存節(jié)點(diǎn)損壞的現(xiàn)象,可以對(duì)其進(jìn)行自動(dòng)重組,保證此過程中的數(shù)據(jù)不會(huì)丟失,使系統(tǒng)運(yùn)行效率不會(huì)受到負(fù)面影響。
3智能養(yǎng)殖管理系統(tǒng)分析與設(shè)計(jì)
3.1系統(tǒng)分析
基于微服務(wù)的智能養(yǎng)殖管理系統(tǒng)主要功能包括以下幾個(gè)子系統(tǒng):無線傳感子系統(tǒng),在線監(jiān)控子系統(tǒng),PLC控制子系統(tǒng),移動(dòng)網(wǎng)上農(nóng)場(chǎng)/Web網(wǎng)站子系統(tǒng)。節(jié)點(diǎn)無線傳感模塊主要負(fù)責(zé)將有關(guān)養(yǎng)殖的環(huán)境信息進(jìn)行采集并上傳,在線監(jiān)控模塊主要負(fù)責(zé)對(duì)養(yǎng)殖的場(chǎng)地進(jìn)行實(shí)時(shí)的監(jiān)控,同時(shí)對(duì)于監(jiān)控?cái)?shù)據(jù)進(jìn)行存儲(chǔ)。PLC控制模塊主要是控制相關(guān)的器件對(duì)養(yǎng)殖的環(huán)境進(jìn)行調(diào)整以期達(dá)到最佳的養(yǎng)殖鏟平的生長(zhǎng)需求,移動(dòng)網(wǎng)上農(nóng)場(chǎng)/Web網(wǎng)站主要負(fù)責(zé)人機(jī)交互的界面以及數(shù)據(jù)的匯總分析。
3.2系統(tǒng)設(shè)計(jì)
在整個(gè)系統(tǒng)設(shè)計(jì)的過程中采用微服務(wù)架構(gòu)模式,以移動(dòng)網(wǎng)上農(nóng)場(chǎng)/Web網(wǎng)站來分析微服務(wù)架構(gòu)的過程。在這個(gè)模塊的設(shè)計(jì)中,考慮到用戶的使用方便,系統(tǒng)提供移動(dòng)端與Web桌面瀏覽的功能。為了節(jié)約資源,減少開發(fā)成本,開發(fā)團(tuán)隊(duì)借鑒了BFF模式(服務(wù)前端的后端),將手機(jī)端和平板端網(wǎng)站的特定后臺(tái)需求拆分為一個(gè)獨(dú)立的后臺(tái)服務(wù),作為后端實(shí)現(xiàn),為前端提供數(shù)據(jù)。通過為移動(dòng)端創(chuàng)建一個(gè)專屬的后端服務(wù),可以為移動(dòng)端的用戶進(jìn)行專門的優(yōu)化,量身打造最佳體驗(yàn)。同時(shí)由于微服務(wù)架構(gòu)下的這個(gè)新服務(wù)足夠的小而簡(jiǎn)單,就更容易進(jìn)行修改,部署和上線。對(duì)移動(dòng)網(wǎng)上農(nóng)場(chǎng)/Web網(wǎng)站子系統(tǒng)首先進(jìn)行業(yè)務(wù)流程梳理,具體業(yè)務(wù)之間的聯(lián)系如圖1所示。業(yè)務(wù)流程清晰以后,團(tuán)隊(duì)開發(fā)采用事件風(fēng)暴進(jìn)行領(lǐng)域建模。事件風(fēng)暴是由AlbertoBrandolini提出的一項(xiàng)團(tuán)隊(duì)活動(dòng),旨在通過領(lǐng)域事件識(shí)別出聚合根,進(jìn)而識(shí)別出界限的上下文,指導(dǎo)團(tuán)隊(duì)進(jìn)行服務(wù)劃分。經(jīng)過系統(tǒng)的梳理,得到該模塊的有關(guān)聚合包括:用戶,養(yǎng)殖產(chǎn)品,環(huán)境數(shù)據(jù)管理,視頻監(jiān)控各個(gè)聚合。識(shí)別聚合的結(jié)果如圖2所示。根據(jù)上面的分析,該模塊最終包含以下服務(wù),具體如表1所示。根據(jù)上述服務(wù)的劃分,該系統(tǒng)分成了五個(gè)微服務(wù),基于這些微服務(wù),最終該系統(tǒng)的架構(gòu)如圖3所示。
3.3系統(tǒng)實(shí)現(xiàn)
在智能化養(yǎng)殖管理系統(tǒng)的實(shí)現(xiàn)過程中,首先考慮的是微服務(wù)開發(fā)框架選擇。常見的微服務(wù)開發(fā)框架有SpringMVC,這種技術(shù)主要是基于傳統(tǒng)的Web框架進(jìn)行開發(fā),無法滿足迭代的要求。SpringBoot框架雖然簡(jiǎn)化了服務(wù)構(gòu)建的成本[1],但是對(duì)于多個(gè)服務(wù)的協(xié)作及管理,依然存在很大的挑戰(zhàn)。目前使用比較多的微服務(wù)開發(fā)框架有SpringCloud,Dubbo,ServiceComb,這幾種技術(shù)典型的特點(diǎn)是添加了服務(wù)的治理能力,開發(fā)者只需要進(jìn)行簡(jiǎn)單的配置,即可實(shí)現(xiàn)注冊(cè)中心、配置中心、調(diào)用鏈跟蹤以及服務(wù)容錯(cuò)能力等[6]。ServiceMesh是新一代微服務(wù)框架,它通過“零侵入”的機(jī)制實(shí)現(xiàn)負(fù)載均衡、服務(wù)注冊(cè)發(fā)現(xiàn)等服務(wù)治理能力,降低了服務(wù)治理的門檻。綜上所述,系統(tǒng)的實(shí)現(xiàn)過程使用了ServiceBoot開發(fā)框架,華為云的ServiceStage作為持續(xù)集成、部署、運(yùn)行的平臺(tái)[7]。
3.4系統(tǒng)安全性與穩(wěn)定性分析
在世界質(zhì)量報(bào)告中曾提到,大部分(約80%)的安全問題都出現(xiàn)在應(yīng)用層[8]。很多微服務(wù)開發(fā)框架都提供了與安全相關(guān)的組件或者功能。在智能化養(yǎng)殖管理系統(tǒng)中通過SpringBoot+SpringSecirity的技術(shù)組合保障應(yīng)用層的安全性。SpringSecurity中集成了CSRF防范的功能,通過引入這些組件或者功能,可以對(duì)微服務(wù)起到保護(hù)作用。SpringSecurity中提供了BCryptPasswordEncoder密碼編碼工具,可以非常方便的實(shí)現(xiàn)密碼的加密,相同明文加密出來的結(jié)果總是不同,這樣就不需要用戶去額外保存加密的字段了。如果一個(gè)請(qǐng)求不需要進(jìn)行攔截,在實(shí)現(xiàn)的時(shí)候可以設(shè)置該地址為匿名防偽,或者直接過濾掉該地址,即該地址不走SpringSecurity過濾器鏈[8]。智能化養(yǎng)殖管理系統(tǒng)的穩(wěn)定性設(shè)計(jì)根據(jù)系統(tǒng)的使用特點(diǎn),主要是通過建立服務(wù)監(jiān)控、統(tǒng)計(jì)及報(bào)表等[9]。在系統(tǒng)運(yùn)行期間,需要對(duì)服務(wù)器相應(yīng)指標(biāo)進(jìn)行監(jiān)控,如系統(tǒng)load、磁盤利用率、內(nèi)存占用率、網(wǎng)絡(luò)流量、QPS/TPS等。對(duì)于服務(wù)的調(diào)用,需要有統(tǒng)計(jì)的報(bào)表,按照小時(shí)/日/周/月展示,并且通過設(shè)置異常情況監(jiān)控,如流量突增突降,系統(tǒng)能夠及時(shí)報(bào)警。
4結(jié)束語(yǔ)
云存儲(chǔ)+微服務(wù)架構(gòu)模式在智能養(yǎng)殖管理系統(tǒng)開發(fā)中的應(yīng)用,有效提高了開發(fā)的效率,有效的減輕了系統(tǒng)的維護(hù)工作。但是在系統(tǒng)的開發(fā)過程中也有一些問題需要后續(xù)的繼續(xù)研究,比如系統(tǒng)設(shè)計(jì)過程中數(shù)據(jù)的管理和劃分,采用什么方法可以做到更加的科學(xué)和高效。
作者:李翠平 陳永松 單位:廣東松山職業(yè)技術(shù)學(xué)院計(jì)算機(jī)與信息工程學(xué)院
服務(wù)營(yíng)銷 服務(wù)貿(mào)易 服務(wù)工作意見 服務(wù)管理論文 服務(wù)質(zhì)量提升 服務(wù)創(chuàng)新論文 服務(wù)業(yè)管理 服務(wù)質(zhì)量論文 服務(wù)業(yè)論文 服務(wù)行業(yè)論文 紀(jì)律教育問題 新時(shí)代教育價(jià)值觀