劉奕順,劉雙印,3,徐龍琴,3,曹 亮,3,馮大春,3,白衛(wèi)東,劉同來(lái),3*
(1.仲愷農(nóng)業(yè)工程學(xué)院 信息科學(xué)與技術(shù)學(xué)院,廣東 廣州 510225;2.仲愷農(nóng)業(yè)工程學(xué)院 智慧農(nóng)業(yè)創(chuàng)新研究院,廣東 廣州 510225;3.廣東省農(nóng)產(chǎn)品安全大數(shù)據(jù)工程技術(shù)研究中心,廣東 廣州 510225;4.仲愷農(nóng)業(yè)工程學(xué)院 輕工食品學(xué)院,廣東 廣州 510225)
種質(zhì)是國(guó)家戰(zhàn)略性資源,是產(chǎn)業(yè)供應(yīng)鏈的最前端。近年來(lái),隨著經(jīng)濟(jì)迅速發(fā)展,大型水利工程修建、多代人工繁殖等導(dǎo)致了水生生物資源破壞、種質(zhì)退化等一系列問(wèn)題頻發(fā),各國(guó)政府對(duì)此高度關(guān)注,并出臺(tái)系列法律法規(guī)以支持國(guó)家漁業(yè)生物種質(zhì)數(shù)據(jù)庫(kù)的建設(shè)[1-3]。這對(duì)漁業(yè)種質(zhì)資源管理工作提出了新的要求,亟須探索新的確權(quán)管理模式,提高種質(zhì)資源數(shù)據(jù)管理和共享的效率,加快漁業(yè)種質(zhì)資源工作的信息化進(jìn)程。
目前各國(guó)政府、高校科研院所和企業(yè)采用DNA條形碼、遙感、物聯(lián)網(wǎng)等技術(shù)等構(gòu)建系列的種質(zhì)資源管理系統(tǒng)[4],并在農(nóng)業(yè)、水產(chǎn)、漁業(yè)等領(lǐng)域得到了廣泛的應(yīng)用,取得了一些成效[5]。但傳統(tǒng)漁業(yè)種質(zhì)資源管理體系存在以下不足:一是采用數(shù)據(jù)中心化存儲(chǔ),各自管理,導(dǎo)致種質(zhì)資源數(shù)據(jù)管理和共享的效率低下[6];二是在種質(zhì)確權(quán)過(guò)程中,隨著節(jié)點(diǎn)增加和數(shù)據(jù)量增大,每次都把各節(jié)點(diǎn)所有數(shù)據(jù)上傳到區(qū)塊鏈網(wǎng)絡(luò)中,不僅上傳速度慢還易造成網(wǎng)絡(luò)阻塞,導(dǎo)致區(qū)塊鏈網(wǎng)絡(luò)中各節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)壓力大,查詢(xún)效率低;三是針對(duì)漁業(yè)疾病數(shù)據(jù)不能實(shí)現(xiàn)有效管理與利用,導(dǎo)致難以挖掘同種類(lèi)與不同種類(lèi)漁業(yè)疾病數(shù)據(jù)中隱藏的關(guān)聯(lián)信息。因此,為解決上述問(wèn)題,研究先進(jìn)的溯源技術(shù)及其種質(zhì)管理系統(tǒng)對(duì)發(fā)展國(guó)內(nèi)水產(chǎn)科學(xué)具有極高的研究?jī)r(jià)值。
區(qū)塊鏈?zhǔn)且环N分布式賬本技術(shù),具有去中心化、數(shù)據(jù)自治、防篡改、安全可靠等特點(diǎn)[7-8]。一些國(guó)內(nèi)外學(xué)者研究將區(qū)塊鏈技術(shù)應(yīng)用在種質(zhì)確權(quán)領(lǐng)域。文獻(xiàn)[9]采用區(qū)塊鏈技術(shù)構(gòu)建了農(nóng)作物種質(zhì)資源數(shù)據(jù)管理模型,并通過(guò)基于智能合約的應(yīng)用信息管理,實(shí)現(xiàn)了信息存儲(chǔ)與傳輸安全可信。文獻(xiàn)[10]采用以太坊框架設(shè)計(jì)基于區(qū)塊鏈的種質(zhì)資源數(shù)據(jù)安全共享系統(tǒng)模型,并通過(guò)非對(duì)稱(chēng)加密技術(shù)和基于智能合約的協(xié)同存儲(chǔ)模型設(shè)計(jì),實(shí)現(xiàn)了信息存儲(chǔ)與傳輸安全可信。文獻(xiàn)[11]提出一種基于區(qū)塊鏈的種質(zhì)資源數(shù)據(jù)安全共享模型,通過(guò)智能合約完成對(duì)種質(zhì)數(shù)據(jù)的上鏈與安全傳輸設(shè)計(jì),該方案有效避免數(shù)據(jù)泄露篡改問(wèn)題,有助于種質(zhì)資源數(shù)據(jù)的高效利用和發(fā)展。
知識(shí)圖譜是由節(jié)點(diǎn)和邊組成的巨型語(yǔ)義網(wǎng),是一種以圖譜形式描述客觀世界中存在的各種實(shí)體、概念及其關(guān)系的技術(shù),借助可視分析技術(shù)可以將抽象的知識(shí)圖譜映射為直觀的圖形元素,從而提高知識(shí)圖譜的構(gòu)建與表達(dá)能力。文獻(xiàn)[12]提出了面向醫(yī)學(xué)知識(shí)圖譜多視圖、交互式的可視化構(gòu)建方法,使學(xué)習(xí)者更加有效地分析與理解知識(shí)的結(jié)構(gòu),提升醫(yī)學(xué)知識(shí)在學(xué)習(xí)與應(yīng)用層面的轉(zhuǎn)化效率。
該文充分應(yīng)用區(qū)塊鏈與知識(shí)圖譜技術(shù)的特點(diǎn)及優(yōu)勢(shì),對(duì)區(qū)塊模型結(jié)構(gòu)、雙鏈存儲(chǔ)模式及漁業(yè)疾病知識(shí)圖譜進(jìn)行設(shè)計(jì),采用聯(lián)盟區(qū)塊鏈技術(shù)構(gòu)建漁業(yè)種質(zhì)資源可信確權(quán)系統(tǒng),以期為漁業(yè)種質(zhì)資源可信確權(quán)與構(gòu)建疾病圖譜提供技術(shù)支撐。
漁業(yè)種質(zhì)資源管理系統(tǒng)基于區(qū)塊鏈網(wǎng)絡(luò)平臺(tái),共包括應(yīng)用層、服務(wù)層、數(shù)據(jù)資源層、消息總線(xiàn)及數(shù)據(jù)接入層,并考慮安全保障體系和標(biāo)準(zhǔn)規(guī)范體系。系統(tǒng)軟件架構(gòu)設(shè)計(jì)如圖1所示。

圖1 系統(tǒng)軟件架構(gòu)設(shè)計(jì)視圖
(1)應(yīng)用層。基于Vue.js與Spring Boot框架開(kāi)發(fā)的Web平臺(tái),針對(duì)不同用戶(hù)群體的需求提供相關(guān)的應(yīng)用功能。平臺(tái)的應(yīng)用功能包含種質(zhì)確權(quán)、養(yǎng)成技術(shù)、魚(yú)塘管理、品種選擇、疾病防治、知識(shí)圖譜、種質(zhì)大數(shù)據(jù)、繁殖技術(shù)、種質(zhì)資源庫(kù)、環(huán)境智能預(yù)測(cè)。
(2)服務(wù)層。服務(wù)層包括模型預(yù)測(cè)算法服務(wù)、權(quán)限分發(fā)服務(wù)、Nginx負(fù)載均衡服務(wù)、Elasticsearch實(shí)時(shí)全文檢索服務(wù)。基于存儲(chǔ)層的數(shù)據(jù),為上層應(yīng)用提供模型訓(xùn)練與智能檢索等服務(wù)。
(3)數(shù)據(jù)資源層。Elasticsearch作為存儲(chǔ)平臺(tái)和搜索引擎,實(shí)現(xiàn)海量魚(yú)病數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)與高效檢索。Redis緩存數(shù)據(jù)庫(kù)的高速讀寫(xiě)性能保證算法模型獲取數(shù)據(jù)的實(shí)時(shí)性。采用MySQL關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)各類(lèi)業(yè)務(wù)數(shù)據(jù)。
(4)消息總線(xiàn)及數(shù)據(jù)接入層。使用網(wǎng)絡(luò)爬蟲(chóng)、數(shù)據(jù)挖掘與知識(shí)工程等技術(shù),從各類(lèi)平臺(tái)采集海量的漁業(yè)疾病數(shù)據(jù),整合大量的碎片化和異構(gòu)化的漁業(yè)疾病信息,并使用RabbitMQ作為消息隊(duì)列進(jìn)行海量數(shù)據(jù)的實(shí)時(shí)傳輸。
漁業(yè)種質(zhì)資源管理系統(tǒng)以實(shí)現(xiàn)種質(zhì)可信確權(quán)與漁業(yè)疾病知識(shí)圖譜為核心,構(gòu)建集種質(zhì)資源管理、漁業(yè)疾病防治、知識(shí)圖譜、健康養(yǎng)殖智能決策一體化的系統(tǒng)。通過(guò)設(shè)計(jì)“On-Chain + Off-Chain”的種質(zhì)確權(quán)信息協(xié)同管理存儲(chǔ)策略,并制定種質(zhì)確權(quán)智能合約規(guī)則集和合約觸發(fā)條件,保證了種質(zhì)確權(quán)信息真實(shí)可信和確權(quán)平臺(tái)的公信力。基于區(qū)塊鏈的漁業(yè)種質(zhì)資源管理系統(tǒng)主要由種質(zhì)確權(quán)、養(yǎng)成技術(shù)、魚(yú)塘管理、品種選擇、疾病防治、知識(shí)圖譜、種質(zhì)大數(shù)據(jù)、繁殖技術(shù)、種質(zhì)資源庫(kù)、環(huán)境智能預(yù)測(cè)十大模塊組成。種質(zhì)確權(quán)模塊通過(guò)鏈上鏈下雙模式存儲(chǔ)策略,實(shí)現(xiàn)對(duì)種質(zhì)資源數(shù)據(jù)的可信確權(quán)與管理;疾病防治模塊包括圖文診斷與目檢診斷,通過(guò)Elasticsearch技術(shù),實(shí)現(xiàn)漁業(yè)疾病圖文診斷與目檢診斷功能;知識(shí)圖譜模塊包括種質(zhì)圖譜、疾病圖譜、藥品圖譜與飼料圖譜,通過(guò)爬蟲(chóng)與數(shù)據(jù)挖掘等技術(shù),實(shí)現(xiàn)海量、異構(gòu)的漁業(yè)知識(shí)資源池的集成與共享管理;環(huán)境智能預(yù)測(cè)模塊通過(guò)線(xiàn)性回歸、ARIMA模型、支持向量機(jī)等算法模型,實(shí)現(xiàn)對(duì)溫度、濕度、光照強(qiáng)度、二氧化碳、水質(zhì)等參數(shù)的預(yù)測(cè)功能;種質(zhì)大數(shù)據(jù)模塊通過(guò)ECharts圖表實(shí)現(xiàn)漁業(yè)相關(guān)數(shù)據(jù)的可視化展示;魚(yú)塘管理模塊主要基于高德地圖服務(wù)與水質(zhì)監(jiān)測(cè)傳感器,實(shí)現(xiàn)魚(yú)塘位置信息展示與養(yǎng)殖環(huán)境水質(zhì)參數(shù)實(shí)時(shí)傳輸;品種選擇、繁殖技術(shù)與養(yǎng)成技術(shù)三大模塊通過(guò)將用戶(hù)的輸入信息與事實(shí)庫(kù)進(jìn)行比較,實(shí)現(xiàn)養(yǎng)殖品種推薦、親魚(yú)培養(yǎng)建議、飼料與水質(zhì)管理功能,實(shí)現(xiàn)智慧漁業(yè)養(yǎng)殖過(guò)程的信息化建設(shè);種質(zhì)資源庫(kù)模塊展示了系統(tǒng)收錄的所有漁業(yè)種質(zhì)資源數(shù)據(jù)。系統(tǒng)功能設(shè)計(jì)見(jiàn)圖2。
(1)系統(tǒng)部署:漁業(yè)種質(zhì)資源管理系統(tǒng)各模塊均采用集群部署,隨著業(yè)務(wù)規(guī)模不斷擴(kuò)展,各服務(wù)節(jié)點(diǎn)可以實(shí)現(xiàn)橫向擴(kuò)展,使系統(tǒng)具有高可用性、高可維護(hù)性、高可伸縮性和更短的發(fā)布周期等特點(diǎn)。系統(tǒng)部署運(yùn)行如圖3所示。

圖2 系統(tǒng)功能設(shè)計(jì)

圖3 系統(tǒng)部署運(yùn)行
(2)通信傳輸:系統(tǒng)采用C/S架構(gòu),客戶(hù)端和服務(wù)器之間基于HTTP協(xié)議進(jìn)行通信,后端采用實(shí)時(shí)消息隊(duì)列RabbitMQ實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)傳輸功能。
(3)數(shù)據(jù)存儲(chǔ):將通過(guò)驗(yàn)證的大部分漁業(yè)種質(zhì)數(shù)據(jù)存儲(chǔ)在關(guān)系型和非關(guān)系型數(shù)據(jù)庫(kù)中,對(duì)局部關(guān)鍵信息使用MD5算法進(jìn)行加密運(yùn)算后存儲(chǔ)到區(qū)塊鏈網(wǎng)絡(luò)中;小型氣象站與水質(zhì)監(jiān)測(cè)儀采集到的水質(zhì)與氣象原始數(shù)據(jù)存儲(chǔ)到云端的MySQL數(shù)據(jù)庫(kù),經(jīng)預(yù)處理后緩存到Redis中,保證預(yù)測(cè)模型可以快速讀取。
(4)系統(tǒng)災(zāi)備:采用主從模式部署數(shù)據(jù)存儲(chǔ)服務(wù)集群,保證數(shù)據(jù)的完整性與系統(tǒng)的高可靠性;存儲(chǔ)在Elasticsearch中的數(shù)據(jù)能實(shí)現(xiàn)自動(dòng)備份功能,保證系統(tǒng)具有良好的容災(zāi)性;系統(tǒng)定期執(zhí)行數(shù)據(jù)備份操作,將數(shù)據(jù)備份到本地?cái)?shù)據(jù)中心,保證數(shù)據(jù)的可恢復(fù)性。
(5)系統(tǒng)運(yùn)行:通過(guò)傳感器采集到的水質(zhì)與氣象原始數(shù)據(jù)經(jīng)過(guò)預(yù)處理后存入高性能緩存數(shù)據(jù)庫(kù)Redis中,算法模型基于緩存數(shù)據(jù)進(jìn)行分布式運(yùn)算,實(shí)現(xiàn)水質(zhì)與氣象參數(shù)的預(yù)測(cè)預(yù)警功能;基于Hyperledger Fabric區(qū)塊鏈平臺(tái),針對(duì)用戶(hù)身份數(shù)據(jù)和種質(zhì)資源數(shù)據(jù)設(shè)計(jì)種質(zhì)確權(quán)信息協(xié)同管理存儲(chǔ)策略,保證種質(zhì)確權(quán)信息真實(shí)可靠。
區(qū)塊是區(qū)塊鏈存儲(chǔ)交易信息的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),由區(qū)塊頭和區(qū)塊體兩部分組成,通過(guò)區(qū)塊頭中父區(qū)塊頭Hash值按時(shí)序排列將相鄰區(qū)塊首尾連接組成區(qū)塊鏈[13-14],其區(qū)塊結(jié)構(gòu)如圖4所示。

圖4 區(qū)塊結(jié)構(gòu)
采用哈希算法對(duì)區(qū)塊體存儲(chǔ)的漁業(yè)種質(zhì)信息關(guān)鍵數(shù)據(jù)加密成不可逆轉(zhuǎn)的Hash值,并作為Merkle樹(shù)葉子節(jié)點(diǎn),將兩兩葉子逐層遞歸哈希計(jì)算,生成區(qū)塊頭的Merkle樹(shù)根節(jié)點(diǎn)[15]。區(qū)塊通過(guò)Merkle樹(shù)特征、版本號(hào)、時(shí)間戳、區(qū)塊復(fù)雜度、數(shù)字簽名等措施[16],確保漁業(yè)種質(zhì)信息難以篡改。若某節(jié)點(diǎn)篡改溯源關(guān)鍵數(shù)據(jù),通過(guò)區(qū)塊Hash值比對(duì),可快速追蹤該節(jié)點(diǎn),從而保障了漁業(yè)種質(zhì)資源管理系統(tǒng)數(shù)據(jù)不可偽造、安全可信。
漁業(yè)種質(zhì)資源數(shù)據(jù)具有數(shù)據(jù)分布廣、連接方式各異、缺乏統(tǒng)一的標(biāo)準(zhǔn)等特征,在種質(zhì)確權(quán)過(guò)程中,隨著接入節(jié)點(diǎn)增加和數(shù)據(jù)量的增大,若每次都把各節(jié)點(diǎn)所有數(shù)據(jù)全部上傳到區(qū)塊鏈網(wǎng)絡(luò)中,不僅上傳速度慢易造成網(wǎng)絡(luò)阻塞,導(dǎo)致區(qū)塊鏈網(wǎng)絡(luò)中各節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)壓力大,查詢(xún)效率低,數(shù)據(jù)安全隱患大,還對(duì)數(shù)據(jù)存儲(chǔ)系統(tǒng)的設(shè)備性能和投入成本都提出較高的要求,影響了基于區(qū)塊鏈的種質(zhì)資源確權(quán)系統(tǒng)的實(shí)施。
為此,該文提出了“On-Chain+Off-Chain”漁業(yè)種質(zhì)資源可信確權(quán)信息協(xié)同管理存儲(chǔ)策略,其基本思想為:首先,對(duì)種質(zhì)數(shù)據(jù)提供方各節(jié)點(diǎn)產(chǎn)出的數(shù)據(jù)進(jìn)行資質(zhì)審核與標(biāo)準(zhǔn)化和規(guī)范化;其次,采用智能合約對(duì)各節(jié)點(diǎn)規(guī)范化后的詳細(xì)數(shù)據(jù)進(jìn)行驗(yàn)證,把通過(guò)驗(yàn)證的大部分漁業(yè)種質(zhì)資源數(shù)據(jù)和區(qū)塊鏈位置信息存儲(chǔ)在本地或云服務(wù)器上的關(guān)系型和非關(guān)系型數(shù)據(jù)庫(kù)中;然后,將漁業(yè)種質(zhì)確權(quán)關(guān)鍵信息使用MD5對(duì)局部數(shù)據(jù)和持有人簽名一起計(jì)算上鏈,并在鏈下建立索引,在鏈上僅進(jìn)行Key-Value的精確讀寫(xiě)。同時(shí)為了保證智能合約的隱私性,在必要的情況下智能合約可以采用鏈下存儲(chǔ),使用計(jì)算節(jié)點(diǎn)進(jìn)行合約的計(jì)算記錄,共識(shí)節(jié)點(diǎn)記錄合約的狀態(tài)記錄;對(duì)于鏈下種質(zhì)數(shù)據(jù)的存儲(chǔ)要盡可能地詳盡,鏈上經(jīng)哈希算法計(jì)算過(guò)的數(shù)據(jù)要盡可能地精簡(jiǎn),上鏈存儲(chǔ)的數(shù)據(jù)一定是經(jīng)過(guò)共識(shí)的,因此該協(xié)同管理存儲(chǔ)策略能很靈活地應(yīng)對(duì)網(wǎng)絡(luò)擁塞、傳輸時(shí)延等的影響。對(duì)于鏈上數(shù)據(jù)的快速查詢(xún)達(dá)到了效率、成本以及隱私安全的平衡。設(shè)計(jì)的漁業(yè)種質(zhì)資源可信確權(quán)信息協(xié)同管理存儲(chǔ)模型如圖5所示。

圖5 漁業(yè)種質(zhì)資源確權(quán)安全區(qū)塊溯源信息協(xié)同管理存儲(chǔ)模型
協(xié)同管理存儲(chǔ)模型中,鏈下存儲(chǔ)的數(shù)據(jù)為當(dāng)前區(qū)塊高度、當(dāng)前Hash值。其中,當(dāng)前Hash值是集當(dāng)前的版本號(hào)、前區(qū)塊Hash值、時(shí)間戳、隨機(jī)數(shù)以及默克爾樹(shù)所包含所有事務(wù)的Hash值等各項(xiàng)信息經(jīng)MD5哈希算法處理之后得到的結(jié)果。鏈下存儲(chǔ)著由鏈上數(shù)據(jù)共同參與哈希計(jì)算產(chǎn)生的Hash值,鏈上分布式賬本記錄著所有的原始數(shù)據(jù),塊與塊相連接,每一塊的當(dāng)前Hash值都有前一區(qū)塊的Hash值參與計(jì)算完成,默克爾樹(shù)的根Hash值無(wú)法篡改。
RabbitMQ是實(shí)現(xiàn)高級(jí)消息隊(duì)列協(xié)議(AMQP)的開(kāi)源消息代理軟件,基于信道方式傳輸數(shù)據(jù),支持高并發(fā)業(yè)務(wù)場(chǎng)景,具有易用、可擴(kuò)展與高可靠等特性,可實(shí)現(xiàn)應(yīng)用解耦、異步請(qǐng)求處理、流量削峰等功能。
該文采用RabbitMQ消息隊(duì)列技術(shù),實(shí)現(xiàn)海量數(shù)據(jù)的實(shí)時(shí)傳輸和流量限流與削峰功能。利用RabbitMQ集群作為小型氣象站與水質(zhì)監(jiān)測(cè)儀等硬件設(shè)備產(chǎn)生數(shù)據(jù)接入系統(tǒng)的消息總線(xiàn),將預(yù)處理后的設(shè)備數(shù)據(jù)傳入Redis緩存數(shù)據(jù)庫(kù)中或發(fā)布給算法模型進(jìn)行預(yù)測(cè)。
Elasticsearch(ES)是一個(gè)分布式、高實(shí)時(shí)、高可擴(kuò)展的搜索與數(shù)據(jù)分析引擎,可使大量數(shù)據(jù)具有搜索和分析的能力;提供可擴(kuò)展的搜索,支持近乎實(shí)時(shí)地存儲(chǔ)、檢索數(shù)據(jù);具有分布式集群、分片存儲(chǔ)、數(shù)據(jù)恢復(fù)、集群容災(zāi)與負(fù)載均衡等特點(diǎn),支持同時(shí)部署上百臺(tái)服務(wù)器,可處理PB級(jí)別海量數(shù)據(jù)。
通過(guò)搭建ES搜索引擎分布式服務(wù),將海量漁業(yè)疾病數(shù)據(jù)索引,按照指定條件實(shí)時(shí)搜索,實(shí)現(xiàn)海量疾病數(shù)據(jù)實(shí)時(shí)存儲(chǔ)與檢索功能。
知識(shí)圖譜本質(zhì)是一種以結(jié)構(gòu)化的形式描述客觀世界中存在的各種實(shí)體、概念及其關(guān)聯(lián)關(guān)系的技術(shù),常用表達(dá)方式是<實(shí)體,屬性,屬性值>或<實(shí)體,關(guān)系,實(shí)體>,形式化表示為G=(E,R,S),其中,E={e1,e2,e3…}表示實(shí)體集合,R={r1,r2,r3…}表示關(guān)系集合,S={s1,s2,s3…}表示所有三元組集合,且S?E×R×E。
該系統(tǒng)的漁業(yè)疾病知識(shí)圖譜功能模塊構(gòu)建過(guò)程包括知識(shí)抽取、知識(shí)表示、知識(shí)融合與知識(shí)推理四大環(huán)節(jié):
(1)知識(shí)抽取可分為實(shí)體抽取、關(guān)系抽取與屬性抽取,且前兩者為構(gòu)建知識(shí)圖譜的關(guān)鍵任務(wù)。知識(shí)抽取的目的是從海量異構(gòu)的疾病數(shù)據(jù)中自動(dòng)抽取出與漁業(yè)疾病相關(guān)的知識(shí),并將其組織成結(jié)構(gòu)化的知識(shí)庫(kù),以支持知識(shí)的查詢(xún)與應(yīng)用。
(2)知識(shí)表示環(huán)節(jié)是知識(shí)獲取與應(yīng)用的基礎(chǔ),通過(guò)將抽取出來(lái)的知識(shí)以適合圖譜表示的形式進(jìn)行展示,實(shí)現(xiàn)提升知識(shí)圖譜的認(rèn)知與推理能力。
(3)知識(shí)融合技術(shù)可分為本體匹配、實(shí)體對(duì)齊與實(shí)體鏈接三部分,該環(huán)節(jié)以知識(shí)抽取為基礎(chǔ),將已抽取的近義實(shí)體進(jìn)行清理與鏈接、統(tǒng)一語(yǔ)義表示與清理冗余數(shù)據(jù),并將正確知識(shí)更新到數(shù)據(jù)庫(kù),確保數(shù)據(jù)質(zhì)量要求。考慮到本體集成步驟較為復(fù)雜,且耗費(fèi)大量人力物力,故該文采用基于實(shí)例的機(jī)器學(xué)習(xí)方法解決異構(gòu)本體映射問(wèn)題;采用成對(duì)實(shí)體對(duì)齊,將實(shí)體對(duì)齊建模為帶約束的二分類(lèi)問(wèn)題,充分利用實(shí)體名、屬性、描述文本以及時(shí)間、數(shù)值等關(guān)鍵信息,將多維特征空間劃分為2個(gè)視圖,引入半監(jiān)督協(xié)同算法分別在2個(gè)視圖上訓(xùn)練分類(lèi)器,迭代學(xué)習(xí)同義實(shí)體分布情況。

(a)知識(shí)庫(kù)映射到向量空間

(b)關(guān)系推理
(4)知識(shí)推理是通過(guò)已學(xué)習(xí)到的舊知識(shí)推斷未學(xué)習(xí)到的新知識(shí)的過(guò)程,包含“思考-認(rèn)知-理解-創(chuàng)新-思考”的循環(huán)過(guò)程,該系統(tǒng)采用神經(jīng)張量網(wǎng)絡(luò)模型(Neural Tensor Network,NTN)建模實(shí)體關(guān)系信息,通過(guò)雙線(xiàn)性張量層實(shí)現(xiàn)實(shí)體和關(guān)系數(shù)據(jù)的高維表示,從而將2個(gè)實(shí)體向量跨多維聯(lián)系起來(lái)。
在NTN中,實(shí)體向量與關(guān)系向量都被表示為高維張量,作為模型的輸入,并通過(guò)雙線(xiàn)性張量層實(shí)現(xiàn)兩者之間的聯(lián)系,形成一個(gè)多維的張量空間,兩個(gè)實(shí)體向量可以通過(guò)該多維張量空間的線(xiàn)性變換實(shí)現(xiàn)聯(lián)系。通過(guò)模型訓(xùn)練與模型評(píng)估后,將模型應(yīng)用于知識(shí)圖譜的構(gòu)建與知識(shí)推理中,實(shí)現(xiàn)有效挖掘海量漁業(yè)疾病數(shù)據(jù)中隱藏的關(guān)聯(lián)關(guān)系。NTN網(wǎng)絡(luò)中的關(guān)系建模如圖6所示。
根據(jù)數(shù)據(jù)性質(zhì)的不同,系統(tǒng)采用關(guān)系型數(shù)據(jù)庫(kù)MySQL,非關(guān)系型數(shù)據(jù)庫(kù)Redis、Neo4j、CouchDB,以及分布式搜索引擎Elasticsearch五種數(shù)據(jù)庫(kù)來(lái)進(jìn)行數(shù)據(jù)存儲(chǔ)與管理。系統(tǒng)數(shù)據(jù)庫(kù)實(shí)現(xiàn)如圖7所示。五種數(shù)據(jù)庫(kù)特性比較如表1所示。

圖7 數(shù)據(jù)庫(kù)實(shí)現(xiàn)框圖
服務(wù)層基于Java語(yǔ)言,采用Spring Cloud等框架開(kāi)發(fā);應(yīng)用層為采用Vue.js框架搭建的Web平臺(tái)。
該系統(tǒng)收錄的漁業(yè)種質(zhì)資源數(shù)據(jù)來(lái)自廣東海洋大學(xué)水生生物博物館及臺(tái)灣魚(yú)類(lèi)資料庫(kù)等權(quán)威機(jī)構(gòu)與平臺(tái),總數(shù)據(jù)量達(dá)萬(wàn)條。使用壓力測(cè)試工具Apache JMeter進(jìn)行系統(tǒng)功能與性能測(cè)試。
通過(guò)使用自動(dòng)化測(cè)試工具JMeter對(duì)應(yīng)用層Web平臺(tái)進(jìn)行功能測(cè)試,將測(cè)試過(guò)程中服務(wù)端返回的所有結(jié)果生成匯總報(bào)告并保存,通過(guò)對(duì)匯總報(bào)告進(jìn)行業(yè)務(wù)驗(yàn)證,檢測(cè)系統(tǒng)各功能模塊是否實(shí)現(xiàn)及其運(yùn)行效果。
進(jìn)行了5次系統(tǒng)全功能測(cè)試以及多次隨機(jī)UI測(cè)試,未發(fā)現(xiàn)致命性及嚴(yán)重性的系統(tǒng)缺陷。匯總報(bào)告通過(guò)業(yè)務(wù)驗(yàn)證且滿(mǎn)足業(yè)務(wù)需求,表明系統(tǒng)在功能層面上滿(mǎn)足用戶(hù)需求。
性能測(cè)試是指通過(guò)自動(dòng)化的測(cè)試工具模擬多種正常、異常以及峰值負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試,其在軟件的質(zhì)量保證中起著重要的作用。通過(guò)JMeter測(cè)試工具,模擬200個(gè)用戶(hù)在1秒內(nèi)同時(shí)發(fā)起請(qǐng)求,持續(xù)時(shí)長(zhǎng)為60秒,對(duì)系統(tǒng)執(zhí)行高并發(fā)性能測(cè)試。實(shí)驗(yàn)結(jié)果表明,漁業(yè)種質(zhì)資源管理系統(tǒng)在性能上滿(mǎn)足實(shí)時(shí)性要求。
4.2.1 種質(zhì)資源確權(quán)管理性能測(cè)試
采用軟件測(cè)試工具模擬200個(gè)用戶(hù)并發(fā)執(zhí)行查看區(qū)塊鏈上種質(zhì)數(shù)據(jù)的操作,在單獨(dú)場(chǎng)景下各個(gè)關(guān)鍵節(jié)點(diǎn)負(fù)載情況與客戶(hù)端響應(yīng)情況均在正常范圍內(nèi)。測(cè)試結(jié)果中,每秒成功事務(wù)數(shù)、每秒失敗事務(wù)數(shù)與事務(wù)響應(yīng)時(shí)間(TRT)指標(biāo)數(shù)值可視化如圖8所示。

(a)每秒成功事務(wù)數(shù)(STPS)

(b)每秒失敗事務(wù)數(shù)(FTPS)

(c)事務(wù)響應(yīng)時(shí)間(TRT)
實(shí)驗(yàn)結(jié)果表明,區(qū)塊鏈種質(zhì)資源管理功能模塊在200并發(fā)下系統(tǒng)吞吐量為51.0/秒,正常響應(yīng)時(shí)間不超過(guò)11秒,錯(cuò)誤率不超過(guò)1%。由于測(cè)試過(guò)程中網(wǎng)絡(luò)環(huán)境不穩(wěn)定及服務(wù)器系統(tǒng)資源不足,導(dǎo)致12 000個(gè)測(cè)試用例中存在18個(gè)失敗事務(wù)。為了降低上述因素帶來(lái)的負(fù)面影響,考慮使用穩(wěn)定的網(wǎng)絡(luò)連接、優(yōu)化網(wǎng)絡(luò)環(huán)境、增加網(wǎng)絡(luò)帶寬以及使用可靠的網(wǎng)絡(luò)測(cè)試工具等策略。

(a)每秒成功事務(wù)數(shù)(STPS)

(b)事務(wù)響應(yīng)時(shí)間(TRT)
4.2.2 疾病圖譜檢索業(yè)務(wù)性能測(cè)試
通過(guò)壓力測(cè)試工具模擬高并發(fā)業(yè)務(wù)場(chǎng)景下執(zhí)行查看漁業(yè)疾病知識(shí)圖譜的操作,觀察單獨(dú)場(chǎng)景下各個(gè)關(guān)鍵檢查點(diǎn)的負(fù)載情況、客戶(hù)端響應(yīng)情況,實(shí)驗(yàn)結(jié)果顯示各項(xiàng)指標(biāo)均在正常范圍內(nèi)。壓力測(cè)試結(jié)果指標(biāo)中,每秒成功事務(wù)數(shù)與事務(wù)響應(yīng)時(shí)間(TRT)指標(biāo)數(shù)值可視化如圖9所示。
實(shí)驗(yàn)結(jié)果表明,漁業(yè)疾病知識(shí)圖譜模塊頁(yè)面操作在200并發(fā)下系統(tǒng)正常響應(yīng)時(shí)間不超過(guò)6秒,錯(cuò)誤率不超過(guò)0.5%。由于知識(shí)圖譜功能模塊的圖譜節(jié)點(diǎn)數(shù)量較大,使得服務(wù)器系統(tǒng)資源不足,導(dǎo)致測(cè)試用例中存在5個(gè)失敗事務(wù)。
為了降低上述因素給系統(tǒng)帶來(lái)的負(fù)面影響,提高系統(tǒng)的性能和穩(wěn)定性,可以考慮采取以下一些措施:①分庫(kù)分表,將圖譜數(shù)據(jù)按照某種規(guī)則分庫(kù)分表,減少單個(gè)數(shù)據(jù)庫(kù)或數(shù)據(jù)表的數(shù)據(jù)量;②緩存數(shù)據(jù),減少對(duì)數(shù)據(jù)庫(kù)的讀寫(xiě)操作;③優(yōu)化查詢(xún)語(yǔ)句;④增加系統(tǒng)資源等。
從實(shí)際應(yīng)用出發(fā),根據(jù)漁業(yè)種質(zhì)資源可信確權(quán)與安全共享的需要,提出了可信確權(quán)區(qū)塊模型結(jié)構(gòu)與“On-Chain+Off-Chain”區(qū)塊鏈溯源信息鏈上鏈下雙鏈協(xié)同管理存儲(chǔ)模型,設(shè)計(jì)了一種基于區(qū)塊鏈和知識(shí)圖譜的漁業(yè)種質(zhì)資源管理系統(tǒng),實(shí)現(xiàn)了去中心化、透明化的漁業(yè)種質(zhì)資源安全共享,解決了復(fù)雜數(shù)據(jù)量存儲(chǔ)與數(shù)據(jù)泄露篡改問(wèn)題,有助于漁業(yè)種質(zhì)資源數(shù)據(jù)的高效利用和發(fā)展。
此外,通過(guò)知識(shí)抽取、知識(shí)表示、知識(shí)融合與知識(shí)推理等技術(shù),構(gòu)建漁業(yè)疾病知識(shí)圖譜模型,實(shí)現(xiàn)數(shù)據(jù)管理與數(shù)據(jù)挖掘功能,有效解決了以下兩個(gè)問(wèn)題:
(1)疾病知識(shí)集成管理。通過(guò)知識(shí)圖譜模型,將漁業(yè)疾病相關(guān)信息從不同數(shù)據(jù)源中提取、整合與清理,構(gòu)建統(tǒng)一的疾病信息庫(kù),實(shí)現(xiàn)漁業(yè)疾病信息的集成管理。
(2)疾病診斷智能輔助。通過(guò)構(gòu)建知識(shí)圖譜模型,將不同層次的疾病知識(shí)進(jìn)行融合,實(shí)現(xiàn)疾病認(rèn)知與理解,提供疾病診斷智能輔助功能,為漁民和漁業(yè)管理部門(mén)提供科學(xué)指導(dǎo)依據(jù)。
因此,漁業(yè)疾病知識(shí)圖譜的構(gòu)建,不僅可以更好地管理漁業(yè)疾病信息,還可以提高漁業(yè)疾病的診斷水平,為漁業(yè)健康可持續(xù)發(fā)展提供強(qiáng)有力支持。