余鵬翔 石軍鋒
摘要:母豬的群體養(yǎng)殖是一種能保證動物福利,提高母豬生產(chǎn)性能的重要養(yǎng)殖管理模式。為實現(xiàn)母豬群養(yǎng)過程的數(shù)字化及智能化,基于自主研發(fā)的群養(yǎng)母豬飼喂站硬件平臺,采用B/S模式設計一個群養(yǎng)母豬飼喂站管理系統(tǒng)。系統(tǒng)后端使用基于Java語言的SpringBoot框架作為系統(tǒng)組件管理和運行的主要框架;設計后端數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構,優(yōu)化后臺系統(tǒng)中持久層數(shù)據(jù)的操作訪問;使用Netty實現(xiàn)飼喂站及客戶端與后臺間的實時通信;基于Spring事務管理,封裝可復用的業(yè)務邏輯,設計母豬信息管理、飼喂計劃專家系統(tǒng)、飼喂站實時監(jiān)控等系統(tǒng)功能模塊。系統(tǒng)前端采用漸進式Vue框架實現(xiàn)用戶與各個功能模塊的人機交互。試驗表明:本系統(tǒng)能實現(xiàn)對群養(yǎng)母豬飼喂站的控制和狀態(tài)監(jiān)測,并根據(jù)母豬特性和專家知識庫動態(tài)生成每天的飼喂計劃;在基礎實驗條件下,系統(tǒng)的飼喂站并發(fā)量可超過120臺,理論最大母豬容納量超過5 400 頭,能夠滿足大規(guī)模母豬飼喂的需求。
關鍵詞:母豬群體養(yǎng)殖;SpringBoot;Netty;專家系統(tǒng)
中圖分類號:S24
文獻標識碼:A
文章編號:2095-5553 (2023) 03-0149-08
Abstract: Group breeding of sows is an important breeding management modewhich can ensure animal welfare and improve sow production performance. In order to realize the digitalization and intelligence of the sow group breeding process, this paper designs a group breeding sow feeding station management system based on the selfdeveloped group breeding sow feeding station hardware platform with B/S mode. The backend of the system uses the SpringBoot framework based on Java language as the main framework for the management and operation of system components; the data structure in the backend database is designed to optimize the operation access of the persistent layer data in the backend system; Netty is used to realize the realtime communication between the feeding station and the client and the backend; based on Spring transaction management, the reusable business logic is encapsulated and sow information management, feeding plan expert system, feeding station realtime monitoring and other system function modules are designed. The frontend of the system adopts the progressive Vue framework to realize the humancomputer interaction between users and each functional module. Experiments show that the system can realize the control and status monitoring of group sow feeding stations, and dynamically generate daily feeding plans according to sow characteristics and expert knowledge base; under the basic experimental conditions, the concurrent capacity of feeding stations of the system can exceed 120 units, and the theoretical maximum sow capacity exceeds 5 400, which can meet the demand of largescale sow feeding.
Keywords: sow group breeding; SpringBoot; Netty; expert system
0引言
過去數(shù)十年,畜牧行業(yè)的動物福利問題開始引起了人們的關注。在養(yǎng)豬產(chǎn)業(yè),特別是母豬飼喂環(huán)節(jié),為保證產(chǎn)仔母豬的福利水平,進而提升其生產(chǎn)性能,出現(xiàn)了母豬的群體養(yǎng)殖管理模式[1]。與傳統(tǒng)的單欄飼喂相比,母豬群養(yǎng)要求將數(shù)頭母豬圈養(yǎng)在同一塊較大的豬圈之中,為其提供更大的生活環(huán)境,增加自由活動的空間。這種飼喂方式理論上更符合母豬的生理特性,有利于母豬健康生長、進而提升生殖性能[24]。但母豬飼喂是一個精細化過程,其往往需要飼養(yǎng)員根據(jù)母豬的現(xiàn)實狀況(包括母豬生產(chǎn)周期、胎次、體態(tài)、季節(jié)等多個要素),制定對應的飼喂計劃[56]。群體養(yǎng)殖時大量母豬的同時管理,無疑增加了母豬飼喂的耦合度,有較大的現(xiàn)場管理難度。為解決這一問題,發(fā)達國家提出了母豬飼喂站配合管理系統(tǒng)的自動化母豬飼養(yǎng)方案[7]。如加拿大Gestal母豬管理系統(tǒng)以及荷蘭Velos系統(tǒng)等[8],這些方案通過在群養(yǎng)豬圈中加入電子母豬飼喂站,用與其配套的智能管理系統(tǒng)實現(xiàn)母豬群養(yǎng)的實時管理監(jiān)測。
與此相比,國內(nèi)的相關研究還處在設備研究的階段。在母豬狀態(tài)監(jiān)控領域,熊本海等[9]將電動推桿、定量倉體等的機械機構,結(jié)合嵌入式控制系統(tǒng),實現(xiàn)了哺乳母豬的精準飼喂;楊亮等[10]通過在有身份識別模塊的母豬飼養(yǎng)分隔倉上設置觀察窗的方式,實現(xiàn)了母豬發(fā)情狀態(tài)的智能化監(jiān)測。而在母豬群養(yǎng)飼喂設備領域,程維波等研制的ZWZ50C型母豬電子飼喂站、黃昊等[11]研發(fā)的智能化母豬飼喂控制系統(tǒng),都為母豬的群養(yǎng)管理提供了一定程度的硬件基礎。但要將這些技術應用于實際生產(chǎn),配套的飼喂站管理系統(tǒng)軟件還不成熟。將先進的智能制造技術應用于母豬飼喂領域,開發(fā)出一套適應于中國母豬養(yǎng)殖產(chǎn)業(yè)的飼喂站管理系統(tǒng),對于我國整個生豬養(yǎng)殖產(chǎn)業(yè)升級以及母豬飼養(yǎng)理論的相關研究都有著十分深遠的現(xiàn)實意義[1213]。
本研究設計的群養(yǎng)母豬飼喂站管理系統(tǒng),基于SpringBoot和Netty框架,根據(jù)預設的通信邏輯與母豬飼喂設備和用戶進行通信,實現(xiàn)母豬信息管理、飼喂站設備監(jiān)控、飼喂決策、用戶權限管理等功能,為群養(yǎng)母豬飼喂實踐過程中的精細化飼喂以及實時監(jiān)控提供后臺支持。
1系統(tǒng)整體設計
1.1系統(tǒng)拓撲結(jié)構
整個系統(tǒng)的拓撲結(jié)構如圖1所示,分為三層:客戶層、網(wǎng)絡服務層和感知控制層。服務器部署于擁有公網(wǎng)IP的云服務器中,為客戶層和感知執(zhí)行層提供數(shù)據(jù)服務??蛻魧覲C端和移動端獲取服務器中的前端資源之后,使用HTTP和WebSocket兩種協(xié)議實現(xiàn)其與后臺的數(shù)據(jù)交互。HTTP用于獲取實時性不大的數(shù)據(jù)資源(母豬大部分屬性以及飼喂站注冊信息等),用WebSocket傳遞實時狀態(tài)資源(飼喂站各硬件狀態(tài)等)。感知控制層直接使用TCP/IP協(xié)議連接后端系統(tǒng),根據(jù)自定義的通信協(xié)議進行實時信息傳遞。感知控制層硬件采用自研的基于嵌入式Linux的母豬電子飼喂站。該飼喂站使用RFID技術判斷入站母豬身份信息,可以實現(xiàn)精準飼喂和母豬狀態(tài)監(jiān)測[11]。
1.2群養(yǎng)母豬管理系統(tǒng)架構
群養(yǎng)母豬管理系統(tǒng)的主要功能分為兩方面。一是提供用戶交互的界面,用戶可以通過系統(tǒng)提供的交互頁面實現(xiàn)對飼喂現(xiàn)場信息的掌握、飼喂計劃的設置、生產(chǎn)活動的記錄等活動;二是與底層的飼喂站硬件進行實時數(shù)據(jù)交流,實現(xiàn)對現(xiàn)場的監(jiān)測和控制。整個管理系統(tǒng)使用SpringBoot框架開發(fā),總體架構如圖2所示。其中后臺業(yè)務邏輯系統(tǒng)按照MVC的軟件架構分為6層。
1) 基礎環(huán)境層,是母豬管理系統(tǒng)運行的基礎。本系統(tǒng)使用Tomcat容器作為運行基礎,Nginx實現(xiàn)PC端前端的反向代理。與此同時,使用MySQL關系型數(shù)據(jù)庫作為數(shù)據(jù)持久層環(huán)境,為后臺數(shù)據(jù)操作提供持久化平臺。
2) 數(shù)據(jù)持久層,主要實現(xiàn)后臺對數(shù)據(jù)庫的操作。持久化層使用MyBatisPlus和Druid,在建立與訪問數(shù)據(jù)庫高效連接的同時,將后臺業(yè)務所需的查詢語句封裝成對應的方法,方便實際業(yè)務調(diào)用。
3) 業(yè)務層,旨在封裝實現(xiàn)應用中各模塊功能的業(yè)務邏輯,例如母豬注冊、飼喂站設定、飼喂計劃制定等。有效降低了程序的耦合度,提高了代碼復用性。
4) 控制層,定義了與后臺交互的數(shù)據(jù)傳輸接口。前端應用和飼喂站通過調(diào)用這些接口實現(xiàn)實際數(shù)據(jù)的交互。使用SpringMVC,結(jié)合應用前端傳入的數(shù)據(jù)調(diào)用業(yè)務層;利用Netty設計高并發(fā)的數(shù)據(jù)通信模塊,實現(xiàn)客戶端與后臺之間的連接?;钜约叭p工數(shù)據(jù)交互。
5) 前端UI層,主要實現(xiàn)用戶與系統(tǒng)之間的信息交互。用戶可以通過與這一層的交互管理母豬信息、設置飼喂站參數(shù)、調(diào)整專家系統(tǒng)決策策略。
6) 執(zhí)行層,主要指母豬飼喂站。飼喂站在完成飼喂業(yè)務邏輯的同時會按照規(guī)定的通信協(xié)議與管理系統(tǒng)實時進行數(shù)據(jù)交互。
2數(shù)據(jù)庫設計
群養(yǎng)母豬管理系統(tǒng)的建立離不開數(shù)據(jù)存儲。本系統(tǒng)采用開源的MySQL數(shù)據(jù)庫,用數(shù)據(jù)庫連接池技術優(yōu)化數(shù)據(jù)操作的同時,還根據(jù)實際情況設計了數(shù)據(jù)庫結(jié)構。數(shù)據(jù)庫的主要實體間的關系如圖3所示。為實現(xiàn)母豬在群養(yǎng)過程中的管理,以及母豬狀態(tài)和飼喂站狀態(tài)的監(jiān)控,設計了母豬表與飼喂站表。而為了實現(xiàn)生成飼喂計劃的專家系統(tǒng),還單獨建立母豬品種和總體飼喂計劃表。飼喂計劃細則表根據(jù)母豬飼喂量的時效性需求而引入。該表通過記錄母豬生產(chǎn)不同時期相對時間段的具體飼喂量,從而完善總體飼喂計劃。整個數(shù)據(jù)庫表結(jié)構設計遵循第三范式原則,其主要信息表如表1所示。這些表為建立母豬信息管理以及飼喂專家系統(tǒng)奠定了數(shù)據(jù)持久化的基礎。
3功能模塊設計
3.1系統(tǒng)功能模塊設計
根據(jù)母豬群養(yǎng)的實際需求,本文設計了母豬群養(yǎng)管理系統(tǒng)的具體業(yè)務功能,包括豬場信息管理模塊、飼喂站監(jiān)控模塊、飼喂專家系統(tǒng)模塊以及系統(tǒng)管理權限模塊。具體各系統(tǒng)模塊內(nèi)容如圖4所示。
3.2模塊功能具體實現(xiàn)
1) 豬場信息管理。圖5為本系統(tǒng)模塊中母豬信息管理功能的業(yè)務活動圖,其他功能的實現(xiàn)與其類似。
母豬信息管理是實現(xiàn)母豬精細化飼喂的重中之重。但隨著母豬數(shù)量的增加,此類的信息管理難度也會急劇上升。豬場信息管理模塊就是實現(xiàn)母豬信息管理、統(tǒng)計和分析的模塊。本文設計了便于實際飼養(yǎng)員進行信息管理操作的業(yè)務邏輯,只要完成母豬的入站注冊和信息核對即可實現(xiàn)全體的信息管理。同時,該模塊還會整合飼喂站上報的記錄信息得出綜合的統(tǒng)計圖表,并展現(xiàn)給飼養(yǎng)員用戶。這將有效減少其在母豬喂養(yǎng)工作中信息管理的難度,使對整個豬場的現(xiàn)狀產(chǎn)生更為全面的把握。
2) 飼喂站監(jiān)控。飼喂站監(jiān)控模塊主要實現(xiàn)飼喂站設備的參數(shù)設置、故障報警、狀態(tài)監(jiān)控、飼喂記錄等功能。此模塊以上文豬場管理的數(shù)據(jù)為基礎,處理飼喂站狀態(tài)數(shù)據(jù)并將其整理為圖表樣式,直觀地展現(xiàn)給用戶。用戶通過此模塊,可以完成對飼喂站的遠程參數(shù)配置與狀態(tài)監(jiān)測。引入此系統(tǒng)后,飼養(yǎng)員不用到達現(xiàn)場便可得知飼喂設備的實際狀態(tài),大大降低了人員在豬舍的流動性和疫病傳播的風險,減少了飼養(yǎng)員的工作強度。
3) 飼喂專家系統(tǒng)。專家系統(tǒng)是人工智能領域的一大研究方向,主要用于解決特定類型的問題。完整的專家系統(tǒng)是由知識庫、動態(tài)庫、推理機、解釋器以及人機交互界面組成。參考其他領域?qū)<蚁到y(tǒng)的創(chuàng)建經(jīng)驗,飼喂專家系統(tǒng)的建立首先需要確定影響母豬飼喂量的因素以及具體的飼喂量計算模型。在實際生產(chǎn)過程中母豬飼喂量的決策需要考慮很多因素,本系統(tǒng)根據(jù)母豬的品種、懷孕胎次、生產(chǎn)周期、體況、季節(jié)環(huán)境來制定每天的飼喂計劃,以此建立母豬飼喂量的計算公式:Fk=Fk0+δ1Fk1+δ2Fk2。其中Fk代表飼料k的飼喂計劃量,F(xiàn)k0表示一定品種母豬具體胎次的主飼喂量,F(xiàn)k1與Fk2分別代表母豬不同體況下的k飼料調(diào)整量以及季節(jié)調(diào)整量,δ1與δ2分別代表這兩種因素的調(diào)整參數(shù)。
設計的飼喂專家系統(tǒng)結(jié)構如圖6所示。
本系統(tǒng)將MySQL數(shù)據(jù)庫作為專家系統(tǒng)的知識庫載體,將圖3中的總體飼喂計劃和飼喂計劃細則表定義為母豬飼喂專家知識庫;前端UI層提供維護專家系統(tǒng)的交互界面;結(jié)合系統(tǒng)后端服務層和持久層的架構,封裝飼喂計劃推理邏輯以及飼喂計劃獲取邏輯,實現(xiàn)推理機和解釋器的功能。當飼喂站向后臺發(fā)送飼喂計劃請求時,后臺系統(tǒng)會查詢飼喂站下的具體母豬信息,飼喂專家系統(tǒng)將這些信息作為數(shù)據(jù)輸入制定飼喂決策數(shù)據(jù),再將該飼喂站中所有母豬的飼喂決策數(shù)據(jù)匯總成CSV文件,下發(fā)給飼喂站主控制器,從而實現(xiàn)專家系統(tǒng)控制下的母豬精準飼喂。
4) 系統(tǒng)權限管理。本系統(tǒng)采用較為主流的JSON Web Token(JWT)令牌校驗的方式控制用戶登錄[15]。而本模塊是管理登錄用戶權限的模塊。系統(tǒng)管理員賬號可以在這里控制不同用戶對所有接口的訪問權限。系統(tǒng)會據(jù)此判斷開放給用戶的前端組件以及通信端口。
4前端交互與接口設計
4.1前端框架設計
前端UI使用HTML+CSS+Javascript構建。本系統(tǒng)為簡化前端代碼中操作頁面DOM元素的指令,整體使用Vue前端框架,將實際HTML中的DOM元素和代碼中定義的數(shù)據(jù)model模型數(shù)據(jù)相綁定(即使用MVVM架構)。與此同時,前端頁面與后端的通信部分借由Axios實現(xiàn),前端根據(jù)上文設計的接口實現(xiàn)對系統(tǒng)數(shù)據(jù)的訪問和操作。整個前端工作過程如圖7所示。
前端項目根據(jù)具體功能細分Vue組件對象,實現(xiàn)業(yè)務解耦。除此之外,用戶在操作前端界面時,多個組件間的相互切換渲染交由Vuerouter路由進行管理。與此同時,為了實現(xiàn)前端頁面的權限訪問,本系統(tǒng)自定義前置路由守衛(wèi)。路由守衛(wèi)會在用戶初次登陸時調(diào)取后端系統(tǒng)中用戶權限信息,并依照此信息操作路由中的組件注冊,從而為不同權限的用戶開放不同的系統(tǒng)界面。
4.2接口設計
前端頁面主要通過HTTP協(xié)議請求數(shù)據(jù),因此離不開此種協(xié)議下的接口設計。由于前端部署時使用Nginx,可以在實現(xiàn)前端高并發(fā)的同時解決前后端的跨域通信問題。所以,在前后端服務均部署在同一服務器的情況下,只要定義本地的接口地址便可滿足前后端系統(tǒng)數(shù)據(jù)交流的要求。本系統(tǒng)定義服務端的配置端口為8101,遵循可尋址原則設計各種接口。這里以飼喂計劃設置相關接口為例,如表2所示。從表中可以看出,同一模塊的接口前4節(jié)url內(nèi)容相同,即“http://localhost:8101/feedSystem/feedingPlan”。這樣做有利于本文母豬管理系統(tǒng)的構建,便于開發(fā)管理。
5自定義實時通信協(xié)議設計
5.1通信架構設計
整個通信結(jié)構PipeLine結(jié)構示意圖如圖8所示。
根據(jù)系統(tǒng)架構設計,后端系統(tǒng)在處理前端Web界面的Http請求的同時,還要實現(xiàn)兩種形式的實時通信。一種是飼喂站向后臺發(fā)送請求時的Socket通信,另一種是后臺向前端發(fā)送設備實時狀態(tài)信息的WebSocket通信。為解決母豬飼喂站和前端同時帶來的高并發(fā)連接,系統(tǒng)使用支持異步非阻塞通信的Netty框架。Netty主要基于epoll實現(xiàn)網(wǎng)絡通信時的事件驅(qū)動[16]。這里構建PipeLine的鏈式結(jié)構處理通信數(shù)據(jù)。利用IdleStateHandler保證飼喂站連接的心跳監(jiān)測;定義ChannelChoseHandler判斷連接種類,根據(jù)連接類型分配WebSocket或者Socket連接的處理模塊;HttpServerCodec、HttpObjectAggregator、WebSocketServerHandler處理用戶Websocket連接的數(shù)據(jù);CRCHandler、TcpDecoder、TcpDealHandler實現(xiàn)飼喂站信息的校驗、解碼并判斷通信信息的具體命令類別,從而進入相應的信息處理業(yè)務邏輯。
5.2通信協(xié)議設計
為了提高飼喂站與服務器之間交互的實時性,Socket連接采用了自定義的通信協(xié)議[17],通信幀格式如圖9所示。每個數(shù)據(jù)幀大小共計n+8個字節(jié)(byte)。在實際通信過程中定義數(shù)據(jù)幀頭7E表示數(shù)據(jù)開始;分配1字節(jié)作為消息命令頭;1字節(jié)為幀序列號;3字節(jié)飼喂站編號。實際請求的字段內(nèi)容會根據(jù)命令定義的具體格式分別記錄于n個單字節(jié)字段之中。最后2字節(jié)用于數(shù)據(jù)CRC校驗。不同命令頭設計如表3所示。
每個Socket連接的命令發(fā)起方發(fā)出信息時,應答方需要根據(jù)其內(nèi)容回復確認幀。如果在規(guī)定時間內(nèi)沒有收到應答,命令發(fā)起方會持續(xù)發(fā)送數(shù)據(jù)直至應答方確認。在這種機制下,既能實現(xiàn)飼喂站向后臺傳遞實時組件信息、調(diào)取圈內(nèi)母豬基本信息,又能增強后臺向下發(fā)送設置指令的可靠性。
6系統(tǒng)試驗
6.1系統(tǒng)部署環(huán)境
系統(tǒng)運行在國內(nèi)某云服務運營商提供的入門級云服務器實例之中。通過其自帶的公網(wǎng)IP地址,在固定的監(jiān)聽端口監(jiān)聽飼喂站主控的連接請求。服務器中部署安裝系統(tǒng)運行所需的serverlet容器、數(shù)據(jù)庫軟件等環(huán)境。其具體配置如表4所示。
母豬飼喂站安裝在重慶市合川區(qū)的某試驗場。飼喂站直接使用4G路由器接入互聯(lián)網(wǎng)。前后選擇五頭生產(chǎn)母豬作為群養(yǎng)母豬的實驗對象。實驗母豬在經(jīng)過初期的訓練之后,開始了本系統(tǒng)的實際使用實驗。飼喂專家系統(tǒng)的知識庫由現(xiàn)場飼喂專家設定,飼喂站接收的飼喂計劃重置時間設為每日00:00。試驗時間從2021年1月至今。
6.2交互界面測試
系統(tǒng)部署完成之后,用戶直接訪問公網(wǎng)IP下的8080端口即可進入Web頁面。登陸系統(tǒng)的用戶可在前端頁面進行母豬注冊、轉(zhuǎn)欄、產(chǎn)仔記錄等操作。飼養(yǎng)員不僅能通過前端界面查詢飼喂記錄以及母豬身體狀態(tài),系統(tǒng)還會向用戶提供各種異常報警(包括飼喂站設備異常以及母豬體溫進食異常)。實際前端交互界面經(jīng)過日常使用驗證,可以完成業(yè)務需求。
6.3飼喂專家系統(tǒng)測試
飼喂專家系統(tǒng)是實現(xiàn)母豬精細化飼喂的核心部分之一。為了避免斷網(wǎng)等意外故障對整個飼喂系統(tǒng)的影響,專家系統(tǒng)每日00:00點會在服務器存儲環(huán)境中自動生成連續(xù)兩日的飼喂計劃CSV文件,以便飼喂站調(diào)用。這里根據(jù)飼喂專家知識庫的內(nèi)容,結(jié)合試驗母豬的實際狀態(tài)輸入,核對了CSV文件中的決策結(jié)果。經(jīng)過多日的測試,基于飼喂專家系統(tǒng)制定的飼喂計劃完全滿足母豬日常需求。
6.4飼喂站通信測試
飼喂站與后臺的通信是整個系統(tǒng)運作的紐帶。為了驗證后臺系統(tǒng)在高并發(fā)狀態(tài)下的可靠性,這里采用安裝了jMeter工具的測試機模擬大量飼喂站連接[18]。測試機采用安裝Java1.8的計算機,使用4G路由器將其接入外網(wǎng)環(huán)境。將jMeter工具定義的線程看作是飼喂站的模擬,以飼喂站狀態(tài)報告的命令幀為測試數(shù)據(jù)進行數(shù)據(jù)交互。記錄不同并發(fā)量下的連接建立時間、響應回復時間以及相應信息誤差率。測試得到此時的系統(tǒng)響應測試結(jié)果如圖10與表5所示。
試驗數(shù)據(jù)表明,在控制服務器硬件配置與網(wǎng)絡環(huán)境不變的前提下,當飼喂站并發(fā)量的上升到一定量時,隨著其數(shù)值的上升,會導致數(shù)據(jù)傳輸異常率、系統(tǒng)響應、連接用時的增加。由此判斷是系統(tǒng)后臺服務器的配置(這與云服務器的網(wǎng)絡帶寬、核心性能、內(nèi)存大小有關)造成了數(shù)據(jù)傳輸?shù)钠款i。這里將開始出現(xiàn)性能瓶頸的并發(fā)量數(shù)看作系統(tǒng)通信性能的拐點??梢钥闯鲞@個拐點在120~140之間,因此可以認為保證后臺通信穩(wěn)定的飼喂站最大并發(fā)量為120,連接平均用時和平均響應時間分別為80.90 ms和343 ms。按照每個群養(yǎng)飼喂站的最大母豬容量(45頭)進行估算,本條件下的理論最大母豬容量為5 400頭母豬。完全可以滿足中大型豬場的母豬飼養(yǎng)需求。因為此并發(fā)瓶頸與云服務器性能有關,如果母豬養(yǎng)殖單位需要更大并發(fā)量,適當提升云服務器配置即可。
7結(jié)論
1) 本文基于SpringBoot+Vue框架,設計出了一套切實解決母豬群養(yǎng)精準管理問題的后臺管理系統(tǒng)。系統(tǒng)按照前后端分離的MVVC結(jié)構進行設計,將后端的業(yè)務代碼、控制代碼和持久化代碼分離,有效降低了程序的耦合度;前端使用Vue.js實現(xiàn)模型與虛擬Dom元素間的綁定,用事件驅(qū)動頁面渲染,提高了前端動態(tài)性能。
2) 同時,該系統(tǒng)還使用Netty框架,自定義了飼喂站和后臺間的通信協(xié)議,可以保證在實際的4G網(wǎng)絡環(huán)境下長時間、多飼喂站的實時并發(fā)通信。試驗表明,實驗環(huán)境下的后端服務在數(shù)據(jù)大量并發(fā)的情況下,產(chǎn)生通信瓶頸的并發(fā)量在120~140之間,平均連接用時和響應時間分別為80.90 ms和343 ms。即可以實現(xiàn)對120臺飼喂站設備的穩(wěn)定通信控制。足以滿足大型活豬生產(chǎn)單位的大規(guī)模母豬生產(chǎn)需求。
3) 經(jīng)過一年左右的試驗,系統(tǒng)不僅實現(xiàn)了對飼喂站設備的狀態(tài)監(jiān)控,還實現(xiàn)了母豬信息管理和飼喂專家系統(tǒng)功能。這對于養(yǎng)豬產(chǎn)業(yè)智能化,飼喂設備物聯(lián)網(wǎng)領域有著重要的現(xiàn)實意義,也對“雙疫”影響下廣受關注的人畜分離的實現(xiàn)提供了技術支持。
參考文獻
[1]Broom D M, Mendl M T, Zanella A J. A comparison of the welfare of sows in different housing conditions [J]. Animal Science, 1995, 61: 369-385.
[2]Choe J, Kim S, Cho J H, et al. Effects of different gestation housing types on reproductive performance of sows [J]. Animal Science Journal, 2018, 89(4): 722-726.
[3]Liu Xin, Song Pengkang, Yan Hua, et al. A comparison of the behavior, physiology, and offspring resilience of gestating sows when raised in a group housing system and individual stalls [J]. Animals, 2021, 11(7): 2076.
[4]Min Y, Choi Y, Kim J, et al. Comparison of the productivity of primiparous sows housed in individual stalls and group housing systems[J]. Animals, 2020, 10(11): 1940.
[5]雷江. 母豬飼養(yǎng)管理技術要點[J]. 養(yǎng)殖與飼料, 2021, 20(10): 39-40.
[6]王振勇, 王丹, 胡國清, 等. 不同飼喂模式對妊娠母豬生產(chǎn)性能的影響[J]. 飼料工業(yè), 2018, 39(16): 28-31.
Liangxi Huizi, Chen Bingqi, Jiang Qiuhui, et al. Detection method of navigation route of corn harvester based on image processing [J]. Transactions of the Chinese Society of Agricultural Engineering, 2016, 32(22): 43-49.
Wang Zhenyong, Wang Dan, Hu Guoqing, et al. Effect of the different feeding patterns on the production performance of pregnant sows[J]. Feed Industry, 2018, 39(16): 28-31.
[7]彭健. 丹麥豬營養(yǎng)與管理技術及其對中國養(yǎng)豬業(yè)的啟示[J]. 飼料工業(yè), 2016, 37(21): 1-8.
Peng Jian. Swine nutrition and management in Denmark and their enlightenments on Chinese pork production [J]. Feed Industry, 2016, 37(21): 1-8.
[8]陳沖, 劉星橋, 黃邵春, 等. 國內(nèi)外家豬精細養(yǎng)殖研究進展[J]. 江蘇農(nóng)業(yè)科學, 2019, 47(06): 1-4.
[9]熊本海, 楊亮, 鄭姍姍, 等. 哺乳母豬精準飼喂下料控制系統(tǒng)的設計與試驗[J]. 農(nóng)業(yè)工程學報, 2017, 33(20): 177-182.
Xiong Benhai, Yang Liang, Zheng Shanshan, et al. Design and test of precise blanking control system for lactating sows [J]. Transactions of the Chinese Society of Agricultural Engineering, 2017, 33(20): 177-182.
[10]楊亮, 裴孟俠, 肖強, 等. 母豬發(fā)情監(jiān)測裝置的設計[J]. 現(xiàn)代農(nóng)業(yè)裝備, 2019, 40(5): 40-43.
Yang Liang, Pei Mengxia, Xiao Qiang, et al. Design of estrus monitoring device for sow [J]. Modern Agricultural Equipment, 2019, 40(5): 40-43.
[11]黃昊, 劉俊靈, 胡騰達, 等. 智能化母豬飼喂控制系統(tǒng)設計與試驗[J]. 中國農(nóng)機化學報, 2021, 42(10): 78-86.
Huang Hao, Liu Junling, Hu Tengda, et al. Design and experiment of intelligent sow feeding control system [J]. Journal of Chinese Agricultural Mechanization, 2021, 42(10): 78-86.
[12]馮躍進, 韓華, 王浚峰, 等. 母豬智能化管理系統(tǒng)(ESF Compident)的應用前景[J]. 黑龍江畜牧獸醫(yī), 2015(21): 110-113.
Feng Yuejin, Han Hua, Wang Junfeng, et al. Application prospect of COMPIDENT electronic sow feeding[J]. Heilongjiang Animal Science and Veterinary Medicine, 2015(21): 110-113.
[13]熊學振, 楊春, 馬曉萍. 中國畜牧業(yè)發(fā)展現(xiàn)狀與高質(zhì)量發(fā)展策略選擇[J]. 中國農(nóng)業(yè)科技導報, 2022, 24(3): 1-10.
Xiong Xuezhen, Yang Chun, Ma Xiaoping. Situation of Chinas animal husbandry development and highquality development strategy selection [J]. Journal of Agricultural Science and Technology, 2022, 24(3): 1-10.
[14]吳凡. 妊娠母豬的科學飼養(yǎng)及產(chǎn)前護理[J]. 新農(nóng)村, 2021(10): 29-30.
[15]李凱. 基于JSON Web Token的無狀態(tài)賬戶系統(tǒng)的設計[J]. 現(xiàn)代計算機(專業(yè)版), 2016(16): 59-62.
Li kai. Design of stateless account system based on JSON web token [J]. Modern Computer, 2016(16): 59-62.
[16]毛文華, 韓少云, 趙博, 等. 基于Netty和Marshalling的青飼機工況遠程監(jiān)測系統(tǒng)研究[J]. 農(nóng)業(yè)機械學報, 2020, 51(8): 145-151.
Mao Wenhua, Han Shaoyun, Zhao Bo, et al. Study of remote monitoring system for silage harvester working condition based on netty and marshalling [J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(8): 145-151.
[17]劉俊靈, 石軍鋒. 智能母豬飼喂系統(tǒng)的高效可靠數(shù)據(jù)通信協(xié)議設計[J]. 中國農(nóng)機化學報, 2020, 41(8): 185-190, 210.
Liu Junling, Shi Junfeng. Design of efficient and reliable data communication protocol for intelligent sows feeding system [J]. Journal of Chinese Agricultural Mechanization, 2020, 41(8): 185-190, 210.
[18] 張億軍. JMeter測試應用研究[J]. 信息技術與信息化, 2021(10):61-64.