国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于畜禽品種選育的數(shù)據(jù)管理系統(tǒng)設計與實現(xiàn)

2023-07-12 03:16韋引超高彥玉鐘偉朝羅土玉
現(xiàn)代農業(yè)裝備 2023年3期
關鍵詞:種豬可視化畜禽

韋引超,高彥玉,周 瓊,鐘偉朝,羅土玉

(1.廣東省現(xiàn)代農業(yè)裝備研究所,廣東 廣州 510630;2.廣東廣興牧業(yè)機械設備有限公司,廣東 廣州 510520;3.農業(yè)農村部華南現(xiàn)代農業(yè)智能裝備重點實驗室,廣東 廣州 510630)

0 引言

國以農為本,農以種為先,種質資源是農業(yè)科技原始創(chuàng)新、現(xiàn)代種業(yè)發(fā)展的物質基礎,是保障糧食安全、建設生態(tài)文明、支撐農業(yè)可持續(xù)發(fā)展的戰(zhàn)略性資源[1-3]。畜禽養(yǎng)殖生長性能測定對畜禽育種水平的快速提升非常重要,傳統(tǒng)人工測定方式會對畜禽產生應激、影響其采食量,數(shù)據(jù)量少、數(shù)據(jù)記錄精度低,不能完全、真實地反映畜禽的生長情況并為育種企業(yè)或育種研究院提供智能飼喂和記錄裝備,已成為突破育種工作繁瑣、加快現(xiàn)代育種技術發(fā)展、提升育種產業(yè)化水平的迫切需要[4-11]?;谀壳靶袠I(yè)現(xiàn)狀,為實現(xiàn)畜禽品種選育工作向標準化、數(shù)據(jù)化和高效化發(fā)展,本文以計算機軟件技術在畜禽品種選育養(yǎng)殖中的應用進行了研究,設計了一個與終端設備一起配套使用的畜禽養(yǎng)殖通用數(shù)據(jù)管理系統(tǒng)。系統(tǒng)設計內容在種豬生長性能測定方面實現(xiàn)了實際應用,并達到預期的測定效果,可為規(guī)模化育種企業(yè)在種豬測定方面提供精確可靠的數(shù)據(jù)可視化管理服務。

1 系統(tǒng)架構

1.1 系統(tǒng)架構分析

畜禽生長性能測定普遍通過給待測畜禽佩戴電子耳標或電子腳環(huán),采用終端飼喂設備對測定期內待測畜禽的日常采食、生長數(shù)據(jù)(如采食量、體重等)進行記錄,計算機數(shù)據(jù)管理軟件系統(tǒng)對數(shù)據(jù)進行收集并做統(tǒng)計分析處理,為管理者提供畜禽各項生長性能數(shù)據(jù)報表的整體解決方案過程[12-17]。本研究結合業(yè)務場景,將系統(tǒng)分為數(shù)據(jù)接收存儲、數(shù)據(jù)預處理、業(yè)務邏輯處理和用戶可視化交互界面4 部分。

1.2 系統(tǒng)架構設計

系統(tǒng)總體采用前后端分離的設計模式,遵循軟件工程“高內聚,低耦合”的設計思想,總體架構如圖1 所示。

圖1 系統(tǒng)總體架構圖

數(shù)據(jù)收存儲:系統(tǒng)主要用于線上的數(shù)據(jù)統(tǒng)計分析和管理,其原始數(shù)據(jù)來源于線下的終端飼喂設備,兩者通過遵循TCP/IP 通信協(xié)議開發(fā)對外接口,可實現(xiàn)遠程或本地的相互連接,使用相應的控制指令完成對數(shù)據(jù)的雙向傳輸交流。系統(tǒng)將接收到的測定過程原始數(shù)據(jù)存儲到關系型數(shù)據(jù)庫MySQL中,再進行后續(xù)的統(tǒng)計分析和管理。

數(shù)據(jù)預處理:系統(tǒng)原始數(shù)據(jù)主要為畜禽日常詳細采食事件,畜禽每天的真實體重值對于系統(tǒng)統(tǒng)計分析的結果至關重要,在每次數(shù)據(jù)接收任務完成時,借助回歸算法預測模型,以畜禽近期體重為訓練集,實現(xiàn)畜禽日體重的挑選,減小系統(tǒng)統(tǒng)計分析誤差。

業(yè)務邏輯處理:使用后端應用框架Spring Boot 開發(fā)API 數(shù)據(jù)接口,接收用戶可視化交互界面發(fā)送的各類業(yè)務請求并返回響應處理結果,同時使用鍵值數(shù)據(jù)庫Redis 對訪問路由和處理結果以鍵值的形式按需緩存。

用戶可視化交互界面:使用前端應用框架Vue、圖表插件ECharts 和UI 組件ElementUI 開發(fā)可視化交互界面,向用戶展示畜禽生長性能測定過程原始數(shù)據(jù)詳情和統(tǒng)計分析結果,提供各項條件需求查詢、數(shù)據(jù)導入導出和系統(tǒng)數(shù)據(jù)管理功能。

2 系統(tǒng)功能設計

2.1 功能模塊設計

通過對畜禽生長性能測定過程的分析,結合系統(tǒng)在實際生產環(huán)境中的使用情況,系統(tǒng)主要分為7個模塊,各功能模塊如圖2 所示。

圖2 系統(tǒng)功能模塊

原始數(shù)據(jù)管理:主要對接收到的各類原始測定數(shù)據(jù)進行多條件組合查詢展示,對于存在的異常數(shù)據(jù),用戶可進行自定義修正、系統(tǒng)批量修正或還原重置。

站組匯總統(tǒng)計:同畜禽生長統(tǒng)計模塊類似,以站組為統(tǒng)計單位,對站組下的相應測定畜禽信息進行匯總和查詢展示。

畜禽生長統(tǒng)計:整理畜禽原始采食數(shù)據(jù),統(tǒng)計畜禽群體和個體在測定過程中的生長情況和各類采食信息,實時計算飼料消耗量與體重增長的比值——料肉比,提供多條件組合查詢功能,便于用戶查看和篩選畜禽優(yōu)良品種或個體。

畜禽信息管理:對畜禽每日的生長數(shù)據(jù)進行修正(系統(tǒng)結合當日前后幾天的數(shù)據(jù)變化情況提供修改參考值),如修改體重、采食量或批量導入日生長數(shù)據(jù),對畜禽個體進行自定義編號、合并數(shù)據(jù)、移動站組和測定結束控制等操作,同時也可撤銷以上所有操作,恢復原始數(shù)據(jù)。

中控設備管理:系統(tǒng)同畜禽測定終端飼喂設備進行通信的功能模塊,主要有設備信息管理、設備連接狀態(tài)實時顯示、數(shù)據(jù)接收信息實時同步和回歸算法體重挑選預處理等功能。

測定批次管理:用戶登錄后先選擇或還原相應測定批次后再進入系統(tǒng),用戶可以創(chuàng)建新測定批次或修改批次信息,同時在測定過程中或結束時可進行數(shù)據(jù)備份和還原。

系統(tǒng)權限管理:包含用戶登錄和退出功能,以及用戶訪問權限驗證,如用戶未登錄時無法查看系統(tǒng)內任何數(shù)據(jù)。

2.2 數(shù)據(jù)庫設計

為滿足系統(tǒng)實際應用需求和考慮性能,系統(tǒng)數(shù)據(jù)庫共設計15 張數(shù)據(jù)表,分別用于存儲系統(tǒng)在運行過程中產生的原始測定數(shù)據(jù)和用戶操作記錄,數(shù)據(jù)冗余較小、結構合理。系統(tǒng)主要實體關系如圖3 所示。中控設備信息表、畜禽信息表和原始采食數(shù)據(jù)表的具體結構設計信息如表1、表2 和表3 所示。

表1 中控設備信息表結構設計

表2 畜禽信息表結構設計

表3 采食數(shù)據(jù)表結構設計

圖3 系統(tǒng)主要實體關系

3 回歸算法模型在畜禽體重挑選中的應用

3.1 畜禽體重挑選流程

畜禽每天的采食記錄中有多個不同的體重值,一般情況下系統(tǒng)默認以當天記錄的中位數(shù)作為真實值。但由于其體重變化總體呈曲線緩慢上升的趨勢,波動幅度范圍較小,因此可使用算法模型對個體近期已確定的體重值進行曲線擬合,利用擬合訓練好的模型從當天所有記錄中挑選出與預測值最接近的體重作為當日真實值,從而替換默認體重,提高系統(tǒng)數(shù)據(jù)統(tǒng)計分析的正確率。其算法模型挑選畜禽體重的流程如圖4 所示。

圖4 算法模型挑選畜禽體重流程

3.2 多項式回歸算法模型

回歸算法通過學習或訓練過程得到變量與因變量之間的相關關系,可用于預測或分類等回歸分析中,常見的回歸算法有線性回歸、邏輯回歸、多項式回歸和嶺回歸等。結合畜禽實際生長情況,系統(tǒng)采用一元m 次多項式回歸算法建立畜禽體重與養(yǎng)殖時間之間的相關關系,用于畜禽每日體重的挑選。多項式回歸相較于線性回歸加入了變量的更高次方,可以通過修改變量的高次項對真實點進行逼近,從而更好的擬合畜禽體重增長曲線。一元m 次多項式的數(shù)學表達式為

式中:

M——多項式的最高次數(shù);

x j——x的j次冪;

wj——x j的系數(shù)。

曲線擬合的過程即求解多項式的所有系數(shù)wj和最高次數(shù)M,從而確定方程表達式y(tǒng)(x,w)。

4 系統(tǒng)實現(xiàn)

為了較好地實現(xiàn)本系統(tǒng)的相關功能,驗證系統(tǒng)設計,本研究以種豬為測試對象進行詳細分析,具體如下。

4.1 數(shù)據(jù)接收存儲的實現(xiàn)

系統(tǒng)數(shù)據(jù)接收存儲使用Socket 通信、Java 多線程、面向對象數(shù)據(jù)封裝和數(shù)據(jù)庫訪問接口JDBC 連接技術實現(xiàn)。開發(fā)Socket 網絡通信程序,實現(xiàn)系統(tǒng)和種豬測定終端設備相互數(shù)據(jù)傳輸,由于發(fā)送和接收過程同時并發(fā)執(zhí)行,且單次發(fā)送指令只能獲取單條數(shù)據(jù),數(shù)據(jù)的批量獲取需要同設備進行不斷的輪詢交互,存在數(shù)據(jù)丟失等傳輸安全問題,因此采用Java 多線程技術來解決。對獲取到的原始采食記錄按需分割,創(chuàng)建相應數(shù)據(jù)對象進行封裝,待整個接收過程完成后使用數(shù)據(jù)庫訪問接口JDBC 執(zhí)行相關SQL 語句,將對象數(shù)組統(tǒng)一存入到MySQL 數(shù)據(jù)庫中。系統(tǒng)中控設備數(shù)據(jù)接收功能界面如圖5 所示。

圖5 系統(tǒng)中控設備數(shù)據(jù)接收功能界面

4.2 數(shù)據(jù)預處理的實現(xiàn)

數(shù)據(jù)接收存儲后使用多項式回歸算法模型完成種豬每日體重的挑選,考慮軟件開發(fā)成本和編程語言環(huán)境,使用開源組織Apache 下的Java 數(shù)學工具類commons.math3.fitting.PolynomialCurveFitter 完成體重增長曲線的擬合。首先準備待擬合的數(shù)據(jù)時間節(jié)點數(shù)組x[]和體重數(shù)組y[],將其逐一添加到權重觀測點工具類WeightedObservedPoints的實例化對象中生成參數(shù),然后創(chuàng)建多項式曲線擬合工具類PolynomialCurveFitter對象,指定擬合的最高次數(shù),最后調用其類的fit方法傳入?yún)?shù)完成擬合并返回系數(shù)結果。

根據(jù)體重挑選流程,在實現(xiàn)過程中,以種豬生長性能測定起始前幾天的體重記錄中位數(shù)作為訓練集,代入回歸模型計算出后一天的預測值完成體重挑選。新挑選出的體重依次加入訓練集,替換離預測點距離較遠的記錄,從而保持訓練集長度固定和預測準確。為了確定多項式的最高次數(shù),以2 頭種豬連續(xù)3 個月的所有采食體重記錄作為實驗數(shù)據(jù),分別對其進行最高次數(shù)由一次、二次增至多次的曲線擬合,通過對比分析,一元一次多項式回歸算法模型的挑選情況相對最優(yōu)。一次和二次回歸挑選體重與默認中位數(shù)體重的增長曲線對比如圖6 和圖7 所示。

圖6 種豬1 體重增長曲線對比圖

圖7 種豬2 體重增長曲線對比圖

4.3 業(yè)務邏輯處理的實現(xiàn)

業(yè)務邏輯處理程序基于應用框架Spring Boot、數(shù)據(jù)持久層框架MyBatis 和鍵值數(shù)據(jù)庫Redis,使用IntelliJ IDEA 工具開發(fā)完成,運行環(huán)境主要依賴Java 8 和MySQL 數(shù)據(jù)庫。該后端應用主要組成部分如下。

數(shù)據(jù)封裝實體類JavaBean:結合數(shù)據(jù)庫設計,分別創(chuàng)建各表對應的實體類XXBean,設置成員屬性類型和參數(shù)校驗規(guī)則,提供各類參數(shù)構造方法。同時抽取數(shù)據(jù)庫核心表中的公共字段創(chuàng)建父類Common,供其他相關數(shù)據(jù)實體繼承使用,降低代碼冗余。

對外接口交互類Controller:提供前端發(fā)送的各類GET 和POST 請求響應接口,調用相關XXService業(yè)務實現(xiàn)類完成業(yè)務操作并返回處理結果。

數(shù)據(jù)庫操作接口類Dao 及對應XML 映射文件:結合MyBatis 數(shù)據(jù)持久層框架,對數(shù)據(jù)庫表完成CRUD 操作。

業(yè)務實現(xiàn)類Service:根據(jù)XXController 類的需求,使用XXDao 接口的實現(xiàn)類獲取數(shù)據(jù)進行加工或執(zhí)行業(yè)務邏輯流程,同時借助Redis 數(shù)據(jù)庫對結果進行按需緩存,提高業(yè)務處理效率,減小MySQL 數(shù)據(jù)訪問壓力和用戶等待時間。

公共常量管理類Constants:對身份通行令牌Token 和用戶基本信息UserName 等公共常量進行狀態(tài)管理和實時更新。

全局異常控制類Exception:對程序執(zhí)行過程中所有可能出現(xiàn)的異常報錯提前收集和分類處理,根據(jù)異常類型執(zhí)行相應程序或返回相應提示,保證程序正常平穩(wěn)運行。

基本配置類Config:設置訪問路由權限、跨域請求和定時任務等基礎信息。

訪問權限攔截類Interceptor:對所有訪問請求進行攔截過濾,根據(jù)配置設置進行權限驗證,檢查攜帶Token 的合法性等,保證系統(tǒng)數(shù)據(jù)安全。

通信實現(xiàn)類Socket:使用Java 多線程和Socket網絡通信技術,對數(shù)據(jù)接收存儲功能進行統(tǒng)一封裝。

工具服務類Util:提供List 分頁、字符串和時間格式處理、多項式回歸模型應用、Redis 緩存和WebSocket 前端實時通信等工具服務。

4.4 用戶可視化交互界面的實現(xiàn)

用戶可視化交互界面基于前端主流開發(fā)框架Vue開發(fā)完成,為了保證界面美觀和提高開發(fā)效率,系統(tǒng)引入了開源UI 組件ElementUI 和圖表插件ECharts,以及Http 請求庫Axios、文件導入導出工具xlsx 和進度條組件NProgress 等基礎開發(fā)工具。系統(tǒng)用戶可視化交互界面詳情如圖8、圖9 所示。

圖8 原始數(shù)據(jù)采食事件界面

圖9 統(tǒng)計數(shù)據(jù)站組累計匯總界面

5 系統(tǒng)測試

5.1 系統(tǒng)部署

系統(tǒng)開發(fā)完成后既可以安裝到本地PC 機上使用,也可以部署到Linux 服務器上實現(xiàn)遠程訪問,兩者安裝部署方式和適用場景相對不同。針對于Windows 操作系統(tǒng)的單節(jié)點PC 機,為了便于用戶安裝使用和更新卸載,需要對系統(tǒng)和運行依賴環(huán)境進行整體打包封裝處理。本文使用exe4j Wizard工具將系統(tǒng)開發(fā)完成后導出的JAR 包和Java 環(huán)境JRE 文件打包成一個exe 類型的可執(zhí)行文件,然后編寫MySQL 數(shù)據(jù)庫自動安裝配置腳本,最后使用Inno Setup Compiler 工具對系統(tǒng)可執(zhí)行文件、MySQL和Redis 安裝包及其運行依賴等相關文件內容進行整體統(tǒng)一封裝,使其成為一個用戶簡單快捷操作的Windows 系統(tǒng)安裝軟件。系統(tǒng)安裝過程如圖10 所示。

圖10 系統(tǒng)本地安裝過程界面

5.2 系統(tǒng)運行測試

系統(tǒng)在實際生產環(huán)境中的運行情況符合預期。

通過調節(jié)與種豬測定終端設備的接收速度,可實現(xiàn)每分鐘平穩(wěn)接收存儲1 萬條左右的原始數(shù)據(jù),并且無錯誤存儲或數(shù)據(jù)丟失等情況發(fā)生。

系統(tǒng)所有基礎功能使用正常,通過對種豬連續(xù)90 d 的真實測定,其數(shù)據(jù)統(tǒng)計分析結果正確,同時用戶管理操作后能實時準確更新,緩存結果顯示迅速,用戶體驗良好。

系統(tǒng)本地安裝使用可兼容Windows 10 版本的操作系統(tǒng),無特殊硬件環(huán)境要求,適用于大部分PC 機,用戶能獨立完成系統(tǒng)軟件的安裝卸載和更新。

6 總結

本畜禽養(yǎng)殖數(shù)據(jù)管理系統(tǒng)實現(xiàn)了同種豬測定終端設備相互通信、種豬生長性能測定數(shù)據(jù)管理、數(shù)據(jù)實時統(tǒng)計分析和圖表結果可視化展示等功能,為規(guī)?;N企業(yè)種豬測定業(yè)務提供了精確的數(shù)據(jù)管理和分析服務。

猜你喜歡
種豬可視化畜禽
基于CiteSpace的足三里穴研究可視化分析
2022年中國種豬信息網全年計劃
基于Power BI的油田注水運行動態(tài)分析與可視化展示
畜禽夏季喂野菜 防病快長真不賴
菌株出馬讓畜禽污染物變廢為寶
夏季養(yǎng)畜禽 驅蚊有妙招
部分地區(qū)種豬跌破2000元/頭
天邦股份種豬事業(yè)部
2020年種豬進口或創(chuàng)歷史新高
基于CGAL和OpenGL的海底地形三維可視化