陶思源 王海楠



第一作者簡介:陶思源(1993-),男,獸醫師。研究方向為畜牧獸醫。
*通信作者:王海楠(1982-),男,畜牧師。研究方向為畜牧獸醫。
DOI:10.19981/j.CN23-1581/G3.2024.13.029
摘? 要:該文以動物信息為基礎,結合運用計算機知識、專家知識,利用基礎數學計算技術,基于J2EE平臺及Android系統設計兼具PC端及手機端的動物疾病輔助診斷平臺。首先分析動物疾病診斷平臺設計目標及結構功能需求,闡述數據庫、推進機制設計、用戶界面的設計方案,從開發工具與技術、平臺框架結構、平臺功能實現3方面探討平臺實現方法,通過功能測試及壓力測試,得出PC端數據維護靈活便捷、診斷疾病便捷準確、手機端操作簡單、響應快速和結果精準的測試結論,驗證該動物疾病輔助診斷平臺的優越性。
關鍵詞:動物疾病;疾病診斷;專家系統;診斷平臺;平臺測試
中圖分類號:TP393? ? ? ?文獻標志碼:A? ? ? ? ? 文章編號:2095-2945(2024)13-0120-04
Abstract: Based on animal information, combined with computer knowledge, expert knowledge and basic mathematical computing technology, based on J2EE platform and Android system, this paper designs an auxiliary diagnosis platform for animal diseases with both PC and mobile phone. Firstly, the design objectives and structural and functional requirements of the animal disease diagnosis platform are analyzed, and the design schemes of database, propulsion mechanism design and user interface are described. The implementation method of the platform is discussed from three aspects: development tools and technology, platform framework structure and platform function realization, through function test and stress test. It is concluded that the PC data maintenance is flexible and convenient, the diagnosis of diseases is convenient and accurate, the mobile phone is simple to operate, the response is fast, and the results are accurate, which verifies the superiority of this animal disease assistant diagnosis platform.
Keywords: animal diseases; disease diagnosis; expert system; diagnosis platform; platform testing
在動物疾病頻繁發生的境況下,提高疾病診斷準確性能夠有效控制動物疾病蔓延,從而保障動物養殖效益。而開發動物疾病診斷通用平臺,可為基層養殖戶自主診斷動物疾病,高效、正確實施疾病預防控制措施提供保障。此平臺的建立需要整合專業獸醫的臨床經驗及專業知識,模擬專家診斷疾病的思維,以先進系統及技術為支持,方能得出準確的診斷結論,實現輔助養殖戶診斷動物疾病的目標。
1? 動物疾病輔助診斷平臺設計目標及結構功能需求
為打造實用型動物疾病輔助診斷系統,需要結合用戶需求設定平臺功能,應詳細收集動物疾病相關信息資料,簡化診斷疾病方法,構建動物疾病診斷推進模型及推理機制,然后分別基于J2EE及Android系統構建PC服務端及手機客戶端2個平臺[1]。PC端面向系統管理員、基層養殖戶及獸醫專家開放,不同應用主體的功能權限不一。而手機Android端主要由基層養殖戶、獸醫專家在網絡環境下使用,可不受時空限制完成動物疾病診斷。平臺應具備癥狀分類信息管理、癥狀信息管理、疾病信息管理、防治措施信息管理、動物疾病診斷分析和系統維護6大管理模塊,并要具備一個系統設置模塊及一個退出系統模塊(圖1)。結合實際需求,動物疾病輔助診斷平臺應涵蓋3部分基本結構,一是用于計算機與用戶交互的用戶界面,二是存儲領域知識及專家提供數據的數據庫,三是根據數據模擬專家思維,采用數學知識及程序算法計算分析診斷結果的推進機制。
圖1? 動物疾病輔助診斷平臺結構示意圖
2? 基于J2EE和Android的動物疾病輔助診斷平臺設計與實現
2.1? 平臺設計方案
2.1.1? 數據庫設計
1)領域知識獲取與分析。采用人工獲取方法,在本地動物醫院、養殖場收集各類動物疾病信息,并與專業獸醫人員展現面對面溝通交流,獲取專家經驗,了解專家疾病診斷思維,實地調查動物養殖場,獲取大量動物疾病臨床病例,結合其他動物疾病診斷系統,對動物疾病信息共同點進行分析。知識分析結果是通過歸類分析動物疾病信息,并細化各個類別的子信息,同種癥狀與多個疾病相對應,且同一疾病也對應多個不同癥狀,而同種疾病及防治措施及治療方法之間均是一一對應關系。動物疾病的癥狀識別要經過收集基本信息、分析表象特征、獲取詳細信息3個過程。而后根據識別出的癥狀判斷疾病并選擇防治措施及方法[2]。
2)設定數據庫邏輯。動物疾病診斷平臺的數據庫邏輯如圖2所示,通過圖2可以了解數據庫中各種表格的內在關系。數據庫中,具有癥狀動態表、管理員信息、疾病動態表、癥狀分類信息、癥狀子分類信息、疾病信息、防治措施信息表和癥狀信息等多種表格,其中,有3個單獨存在的表,分別是管理員信息、癥狀動態表、疾病動態表 。同一癥狀分類信息、同一癥狀子分類信息均與多個癥狀相對應,因而癥狀信息、癥狀分類信息均應與癥狀子分類信息呈現多對一關系。而癥狀與疾病之間相互映射且映射關系并不唯一,因而癥狀信息與疾病信息表之間屬于多對多關系。疾病、防治措施則一一相對,所以疾病信息及防治措施信息表為一對一關系。
3)數據庫分布表及基表設計。數據庫的作用主要是存儲各類信息,需要存儲的內容較多,如原始專家知識與專家經驗,用戶自述病癥,同時還可對平臺運行過程中生成的診斷中間結果及最終信息進行保存。需要在計算機中安裝數據庫,數據庫分布表包含6個項目,即數據庫的編號、英文名、中文名、安裝物理位置、數據庫管理系統名稱和系統版本號。基表主要設計為9種,分別是管理員信息、癥狀分類信息、癥狀子分類信息、癥狀信息、疾病信息、疾病與癥狀聯系的中間信息表、防治措施信息表、癥狀動態表和疾病與分值動態表,這些基表均包含字段編號、英文字段名、中文字段名、字段類型和備注5部分內容,但各表的字段數量、名稱、類型均不一致。如癥狀分類信息包含2個字段,分別是癥狀分類編號與癥狀分類名稱,字段類型分別是Int與varchar(100),前者為主鍵,后者為非空(not null)。而癥狀信息表除了癥狀編號、癥狀名稱外,還包含癥狀分類編號及癥狀子分類編號,二者的字段類型均是Int,并都是外鍵。癥狀信息表詳見表1。
圖2? 動物疾病診斷平臺的數據庫邏輯結構示意圖
表1? 癥狀信息表
2.1.2? 推進機制設計
診斷動物疾病時,獸醫專家會親臨養場現場,對動物信息進行收集,必要情況下會通過體驗或解剖獲取癥狀信息,進而得出診斷結論。其診斷思維包含初步診斷、鑒別診斷2部分,推進、推理疾病時,需要先分析癥狀,再匹配疾病,最后綜合判斷。動物疾病診斷系統有混合推理法、正向推理法、負向推理法、模糊診斷推進法和BP神經網絡推理法等多種策略[3]。本文提出的動物疾病診斷平臺,是在混合推理法應用的基礎上,結合運用數值診斷、癥狀診斷、剖檢診斷和流行病等多個學科理論,實現專家經驗向計算機可識別數值的轉化,利用相對復雜的分值對疾病與癥狀間的關系進行描述,在條件錄入后運用計算機分析數據,根據診斷數值的大小判斷推理結果是否正確。動物疾病輔助診斷平臺的推理機制構建包含5個步驟:一是建立表現分值,分值來源是專家經驗或數據統計;二是數據歸一處理,以計算機為支持,利用數學方法自動歸一表現分值數據;三是確定推理方式,應用正向推理法,根據已知事實展開分析,結合輸入的事實及表現分值,在計算機數值診斷算法支持下對比得出診斷結果;四是構建診斷算法,先確定診斷結果可能性,通過二元組集合的方式推斷患有某種疾病的可能性;五是驗證推斷算法特例,利用計算機對比分析診斷結果及獸醫專家診斷結果的一致性。
2.1.3? 用戶界面設計
動物疾病輔助診斷平臺設計時,要求所設計的界面具有良好的人機交互功能,PC端的用戶界面應設置菜單欄,用于導航定位,而Android端的界面字體要足夠大,以提高用戶查看便利性。還要確保界面設計美觀,應分散圖標,統一界面整體設計風格。PC端靜態用戶界面的設置,可利用HTML技術,通過CSS控制界面樣式。而動態頁面的設計需應用JSP技術,將JavaScript語言嵌入到JSP文件中后,用戶可實現表單值提取、表單賦值等頁面動態操作。頁面更新時,以具有局部更新功能的Ajax技術為支持,與具有頁面元素批量獲取功能的jQuery技術聯合應用,通過操作這些元素實現頁面局部更新[4]。對于Android端,則利用XML文件布局,采用Layout布局方式,結合運用常用控件,完成手機端動物疾病輔助診斷平臺的界面設計。
2.2? 平臺實現方式
2.2.1? 開發工具與技術
采用J2EE架構體系構建動物疾病輔助診斷平臺的PC端時,需要采用Windows系統,開發工具采用功能強大的企業級工作平臺(MyEclipse),其是Eclipse開發工具的升級版,適用于多種開源產品。編程語言采用Java語言,此語言可對實體類進行定義并能重寫方法,可提供Object Relative Mapping、Struts2等多個Web框架服務,可降低J2EE架構開發難度,加快編程效率。后臺數據庫及服務器分別選用邁克爾數據庫(MySQL)及湯姆貓(Tomcat)服務器,前者為小型開源碼軟件,后者是輕量級、非收費開源應用服務器。而動物疾病輔助診斷平臺的手機端以Android作為系統,開發平臺采用的是Eclipse,編程語言仍采用Java,以PC端作為服務端,可對PC端的服務連接器進行訪問,以確保手機端診斷平臺各項功能的正常應用。
2.2.2? 平臺框架結構
動物疾病輔助診斷平臺的PC端,采用的是MVC體系架構,此架構具有輕量級特征,是在J2EE基礎上構建而成的。此架構具有視圖層、控制層、模型層3個結構層次,視圖層利用JSP技術、Ajax技術構建,控制層及模型層則分別采用Servlet及JavaBean進行處理[5]。PC端平臺采用B/S架構,重要邏輯事務由服務器端承載,用戶主要進行界面瀏覽與操作。此種架構維護升級較為便利,且應用安全、便捷。系統環境并不復雜,可在瀏覽器支持下實現各項操作。而手機Android端應以PC端作為服務器,之后采用封裝工具類方式訪問PC端的數據,用戶可利用智能手機下載并啟動動物疾病輔助診斷APP,可隨時展開動物疾病診斷分析。動物疾病輔助診斷平臺框架結構示意圖如圖3所示。
圖3? 動物疾病輔助診斷平臺框架結構示意圖
2.2.3? 平臺功能實現
1)登陸退出功能的實現。系統管理員登錄界面時,先點擊PC端瀏覽器,將IP地址輸入后便可跳轉至登錄界面,然后需要輸入用戶名稱及密碼,點擊確認后方可進入主頁面。若用戶名及密碼輸入不正確,系統會給出拒絕登錄提示。獸醫專家、基層養殖戶等用戶登錄平臺時,需要系統管理員提前將之添加為管理員,再賦予其用戶名稱及密碼。系統管理員、獸醫專家具有維護平臺數據庫權限,獸醫專家及基層養殖戶均可實施動物疾病診斷操作,然而基層養殖戶不具備數據庫刪改權限。用戶完成診斷后,應點擊退出系統,以避免數據泄露問題。
2)數據維護功能的實現。系統管理員及獸醫專家需要結合養殖戶需求,按照平臺要求,在數據庫中錄入已獲取的動物信息、疾病癥狀及防治措施等相關信息。一是要存儲癥狀表現、剖檢變化及流行病學等癥狀分類信息;二是要添加季節、年齡等癥狀子分類信息;三是添加疾病信息,在后臺數據庫中添加疾病名稱,再構建其與癥狀名稱間的關系;四是防治措施,先選定疾病名稱,將預防及治療等防治措施相關信息添加到對應疾病之上。數據添加后可以實施刪改、查詢等操作。數據庫中信息不對用戶開放,可利用系統備份功能模塊將信息轉化為電子表格并存儲于計算機后,用戶方可查看[6]。
3)動物疾病診斷分析的實現。發現患病動物后,獸醫專家及養殖戶可在觀察、剖檢的基礎上了解病畜癥狀,再于PC端診斷平臺主界面上選擇分析模塊展開診斷分析,在診斷界面中一一選中癥狀,點擊分析鍵,平臺會以推理機制為基礎進行診斷,并將診斷結果顯示在界面右上方。再對診斷出的疾病名稱進行點擊,便可獲取診斷表并查看對應的防治措施。利用手機端診斷動物疾病時,獸醫專家及養殖戶可在APP上錄入用戶名及密碼,跳轉至主界面后,在癥狀列表中篩選癥狀并點擊診斷按鈕便可開始診斷推理,系統給出診斷結果,點擊生成的疾病后,可查看疾病預防與治療措施表。手機端不具備數據維護功能,只能用于診斷動物疾病,其數據會在PC端數據增刪后同步更新。
3? 基于J2EE和Android的動物疾病輔助診斷平臺測試分析
3.1? 軟件測試方法及內容
針對動物疾病輔助診斷平臺的測試主要選用2種方法,一是功能測試,即結合設計要求對診斷平臺功能模塊的具體功能是否正常、數據展示是否完整、平臺界面是否美觀和操作過程是否方便進行檢測。二是壓力測試,需要以實際情況為依據測試診斷平臺的性能,對多名用戶同時在線操作時功能是否正常、操作響應速度是否快捷進行檢測,并判斷單用戶批量處理數據的承載極限。
3.2? 軟件測試結果分析
通過對動物疾病輔助診斷平臺進行測試發現,規定編譯環境下,編譯后源代碼功能均可正常展現。軟件部署完成后,編譯、登錄、數據輸入和數據顯示各環節均未出錯,系統可以正常運行,無報錯或癱瘓現象。診斷平臺PC端用戶界面美觀、合理,與用戶應用需求相契合,操作過程相對簡便。增刪數據后,數據庫發生改變,用戶界面顯示也同步更新,診斷分析時顯示的數據結果與需求標準相符,并且平臺運行相對安全,多用戶同時登錄平臺、單一用戶實施批量化操作時,頁面能夠及時響應且操作執行較為順暢,未出現系統癱瘓問題。聯網情況下,手機Android端有多用戶同時訪問服務器時,頁面也能快速響應,各項功能操作執行均無異常,得出的診斷結果較為準確、可靠。
4? 結束語
在多種動物疾病類型、癥狀表現、防治信息獲取的基礎上,構建了具有多種動物信息存儲功能的數據庫,采用歸一技術對數據進行歸一處理后,利用得到的數值設計了動物疾病診斷推理機制,以正向推理方式為基礎,量化分析疾病及癥狀間的關聯,再通過數據運算對疾病可能性結果展開推斷分析。本文設計的動物疾病輔助診斷平臺,設置了以J2EE架構為基礎的PC端及利用Android系統的手機端,PC端通用性強,具有數據庫維護及疾病診斷功能,手機端可不受時間地點限制隨時展開疾病查詢診斷,操作更加便捷,在此平臺支持下,可為動物疾病快捷診斷與有效防治提供支持。
參考文獻:
[1] 方磊.基于層次分類和深度強化學習的多疾病診斷系統[D].上海:華東理工大學,2023.
[2] 孫淵.智能疾病診斷與預測系統的研究與實現[D].成都:電子科技大學,2021.
[3] 杜永興,牛麗靜,秦嶺,等.基于改進TF-IDF算法的牛疾病智能診斷系統[J].計算機應用與軟件,2021,38(2):50-53,57.
[4] 張麗,楊懷卿,劉薇,等.基于移動平臺的豬疾病診斷系統的設計與實現[J].農業網絡信息,2017(12):15-18.
[5] 李洋,黃進,田豐,等.云端融合的神經系統疾病多通道輔助診斷研究[J].中國科學:信息科學,2017,47(9):1164-1182.
[6] 馬芳.基于WEB的犬貓疾病診斷系統的設計與實現[D].成都:電子科技大學,2017.