APP下载

基于区块链的渔业种质资源管理系统设计

2024-01-24刘奕顺刘双印徐龙琴冯大春白卫东刘同来

计算机技术与发展 2024年1期
关键词:渔业种质图谱

刘奕顺,刘双印,3,徐龙琴,3,曹 亮,3,冯大春,3,白卫东,刘同来,3*

(1.仲恺农业工程学院 信息科学与技术学院,广东 广州 510225;2.仲恺农业工程学院 智慧农业创新研究院,广东 广州 510225;3.广东省农产品安全大数据工程技术研究中心,广东 广州 510225;4.仲恺农业工程学院 轻工食品学院,广东 广州 510225)

0 引 言

种质是国家战略性资源,是产业供应链的最前端。近年来,随着经济迅速发展,大型水利工程修建、多代人工繁殖等导致了水生生物资源破坏、种质退化等一系列问题频发,各国政府对此高度关注,并出台系列法律法规以支持国家渔业生物种质数据库的建设[1-3]。这对渔业种质资源管理工作提出了新的要求,亟须探索新的确权管理模式,提高种质资源数据管理和共享的效率,加快渔业种质资源工作的信息化进程。

目前各国政府、高校科研院所和企业采用DNA条形码、遥感、物联网等技术等构建系列的种质资源管理系统[4],并在农业、水产、渔业等领域得到了广泛的应用,取得了一些成效[5]。但传统渔业种质资源管理体系存在以下不足:一是采用数据中心化存储,各自管理,导致种质资源数据管理和共享的效率低下[6];二是在种质确权过程中,随着节点增加和数据量增大,每次都把各节点所有数据上传到区块链网络中,不仅上传速度慢还易造成网络阻塞,导致区块链网络中各节点数据存储压力大,查询效率低;三是针对渔业疾病数据不能实现有效管理与利用,导致难以挖掘同种类与不同种类渔业疾病数据中隐藏的关联信息。因此,为解决上述问题,研究先进的溯源技术及其种质管理系统对发展国内水产科学具有极高的研究价值。

区块链是一种分布式账本技术,具有去中心化、数据自治、防篡改、安全可靠等特点[7-8]。一些国内外学者研究将区块链技术应用在种质确权领域。文献[9]采用区块链技术构建了农作物种质资源数据管理模型,并通过基于智能合约的应用信息管理,实现了信息存储与传输安全可信。文献[10]采用以太坊框架设计基于区块链的种质资源数据安全共享系统模型,并通过非对称加密技术和基于智能合约的协同存储模型设计,实现了信息存储与传输安全可信。文献[11]提出一种基于区块链的种质资源数据安全共享模型,通过智能合约完成对种质数据的上链与安全传输设计,该方案有效避免数据泄露篡改问题,有助于种质资源数据的高效利用和发展。

知识图谱是由节点和边组成的巨型语义网,是一种以图谱形式描述客观世界中存在的各种实体、概念及其关系的技术,借助可视分析技术可以将抽象的知识图谱映射为直观的图形元素,从而提高知识图谱的构建与表达能力。文献[12]提出了面向医学知识图谱多视图、交互式的可视化构建方法,使学习者更加有效地分析与理解知识的结构,提升医学知识在学习与应用层面的转化效率。

该文充分应用区块链与知识图谱技术的特点及优势,对区块模型结构、双链存储模式及渔业疾病知识图谱进行设计,采用联盟区块链技术构建渔业种质资源可信确权系统,以期为渔业种质资源可信确权与构建疾病图谱提供技术支撑。

1 系统设计方案

1.1 系统架构设计

渔业种质资源管理系统基于区块链网络平台,共包括应用层、服务层、数据资源层、消息总线及数据接入层,并考虑安全保障体系和标准规范体系。系统软件架构设计如图1所示。

图1 系统软件架构设计视图

(1)应用层。基于Vue.js与Spring Boot框架开发的Web平台,针对不同用户群体的需求提供相关的应用功能。平台的应用功能包含种质确权、养成技术、鱼塘管理、品种选择、疾病防治、知识图谱、种质大数据、繁殖技术、种质资源库、环境智能预测。

(2)服务层。服务层包括模型预测算法服务、权限分发服务、Nginx负载均衡服务、Elasticsearch实时全文检索服务。基于存储层的数据,为上层应用提供模型训练与智能检索等服务。

(3)数据资源层。Elasticsearch作为存储平台和搜索引擎,实现海量鱼病数据的实时存储与高效检索。Redis缓存数据库的高速读写性能保证算法模型获取数据的实时性。采用MySQL关系型数据库存储各类业务数据。

(4)消息总线及数据接入层。使用网络爬虫、数据挖掘与知识工程等技术,从各类平台采集海量的渔业疾病数据,整合大量的碎片化和异构化的渔业疾病信息,并使用RabbitMQ作为消息队列进行海量数据的实时传输。

1.2 系统功能模块设计

渔业种质资源管理系统以实现种质可信确权与渔业疾病知识图谱为核心,构建集种质资源管理、渔业疾病防治、知识图谱、健康养殖智能决策一体化的系统。通过设计“On-Chain + Off-Chain”的种质确权信息协同管理存储策略,并制定种质确权智能合约规则集和合约触发条件,保证了种质确权信息真实可信和确权平台的公信力。基于区块链的渔业种质资源管理系统主要由种质确权、养成技术、鱼塘管理、品种选择、疾病防治、知识图谱、种质大数据、繁殖技术、种质资源库、环境智能预测十大模块组成。种质确权模块通过链上链下双模式存储策略,实现对种质资源数据的可信确权与管理;疾病防治模块包括图文诊断与目检诊断,通过Elasticsearch技术,实现渔业疾病图文诊断与目检诊断功能;知识图谱模块包括种质图谱、疾病图谱、药品图谱与饲料图谱,通过爬虫与数据挖掘等技术,实现海量、异构的渔业知识资源池的集成与共享管理;环境智能预测模块通过线性回归、ARIMA模型、支持向量机等算法模型,实现对温度、湿度、光照强度、二氧化碳、水质等参数的预测功能;种质大数据模块通过ECharts图表实现渔业相关数据的可视化展示;鱼塘管理模块主要基于高德地图服务与水质监测传感器,实现鱼塘位置信息展示与养殖环境水质参数实时传输;品种选择、繁殖技术与养成技术三大模块通过将用户的输入信息与事实库进行比较,实现养殖品种推荐、亲鱼培养建议、饲料与水质管理功能,实现智慧渔业养殖过程的信息化建设;种质资源库模块展示了系统收录的所有渔业种质资源数据。系统功能设计见图2。

1.3 系统部署运行

(1)系统部署:渔业种质资源管理系统各模块均采用集群部署,随着业务规模不断扩展,各服务节点可以实现横向扩展,使系统具有高可用性、高可维护性、高可伸缩性和更短的发布周期等特点。系统部署运行如图3所示。

图2 系统功能设计

图3 系统部署运行

(2)通信传输:系统采用C/S架构,客户端和服务器之间基于HTTP协议进行通信,后端采用实时消息队列RabbitMQ实现数据实时传输功能。

(3)数据存储:将通过验证的大部分渔业种质数据存储在关系型和非关系型数据库中,对局部关键信息使用MD5算法进行加密运算后存储到区块链网络中;小型气象站与水质监测仪采集到的水质与气象原始数据存储到云端的MySQL数据库,经预处理后缓存到Redis中,保证预测模型可以快速读取。

(4)系统灾备:采用主从模式部署数据存储服务集群,保证数据的完整性与系统的高可靠性;存储在Elasticsearch中的数据能实现自动备份功能,保证系统具有良好的容灾性;系统定期执行数据备份操作,将数据备份到本地数据中心,保证数据的可恢复性。

(5)系统运行:通过传感器采集到的水质与气象原始数据经过预处理后存入高性能缓存数据库Redis中,算法模型基于缓存数据进行分布式运算,实现水质与气象参数的预测预警功能;基于Hyperledger Fabric区块链平台,针对用户身份数据和种质资源数据设计种质确权信息协同管理存储策略,保证种质确权信息真实可靠。

2 系统关键技术

2.1 种质数据可信确权区块模型结构

区块是区块链存储交易信息的链式数据结构,由区块头和区块体两部分组成,通过区块头中父区块头Hash值按时序排列将相邻区块首尾连接组成区块链[13-14],其区块结构如图4所示。

图4 区块结构

采用哈希算法对区块体存储的渔业种质信息关键数据加密成不可逆转的Hash值,并作为Merkle树叶子节点,将两两叶子逐层递归哈希计算,生成区块头的Merkle树根节点[15]。区块通过Merkle树特征、版本号、时间戳、区块复杂度、数字签名等措施[16],确保渔业种质信息难以篡改。若某节点篡改溯源关键数据,通过区块Hash值比对,可快速追踪该节点,从而保障了渔业种质资源管理系统数据不可伪造、安全可信。

2.2 “On-Chain+Off-Chain”双模式存储策略

渔业种质资源数据具有数据分布广、连接方式各异、缺乏统一的标准等特征,在种质确权过程中,随着接入节点增加和数据量的增大,若每次都把各节点所有数据全部上传到区块链网络中,不仅上传速度慢易造成网络阻塞,导致区块链网络中各节点数据存储压力大,查询效率低,数据安全隐患大,还对数据存储系统的设备性能和投入成本都提出较高的要求,影响了基于区块链的种质资源确权系统的实施。

为此,该文提出了“On-Chain+Off-Chain”渔业种质资源可信确权信息协同管理存储策略,其基本思想为:首先,对种质数据提供方各节点产出的数据进行资质审核与标准化和规范化;其次,采用智能合约对各节点规范化后的详细数据进行验证,把通过验证的大部分渔业种质资源数据和区块链位置信息存储在本地或云服务器上的关系型和非关系型数据库中;然后,将渔业种质确权关键信息使用MD5对局部数据和持有人签名一起计算上链,并在链下建立索引,在链上仅进行Key-Value的精确读写。同时为了保证智能合约的隐私性,在必要的情况下智能合约可以采用链下存储,使用计算节点进行合约的计算记录,共识节点记录合约的状态记录;对于链下种质数据的存储要尽可能地详尽,链上经哈希算法计算过的数据要尽可能地精简,上链存储的数据一定是经过共识的,因此该协同管理存储策略能很灵活地应对网络拥塞、传输时延等的影响。对于链上数据的快速查询达到了效率、成本以及隐私安全的平衡。设计的渔业种质资源可信确权信息协同管理存储模型如图5所示。

图5 渔业种质资源确权安全区块溯源信息协同管理存储模型

协同管理存储模型中,链下存储的数据为当前区块高度、当前Hash值。其中,当前Hash值是集当前的版本号、前区块Hash值、时间戳、随机数以及默克尔树所包含所有事务的Hash值等各项信息经MD5哈希算法处理之后得到的结果。链下存储着由链上数据共同参与哈希计算产生的Hash值,链上分布式账本记录着所有的原始数据,块与块相连接,每一块的当前Hash值都有前一区块的Hash值参与计算完成,默克尔树的根Hash值无法篡改。

2.3 RabbitMQ消息队列

RabbitMQ是实现高级消息队列协议(AMQP)的开源消息代理软件,基于信道方式传输数据,支持高并发业务场景,具有易用、可扩展与高可靠等特性,可实现应用解耦、异步请求处理、流量削峰等功能。

该文采用RabbitMQ消息队列技术,实现海量数据的实时传输和流量限流与削峰功能。利用RabbitMQ集群作为小型气象站与水质监测仪等硬件设备产生数据接入系统的消息总线,将预处理后的设备数据传入Redis缓存数据库中或发布给算法模型进行预测。

2.4 Elasticsearch分布式搜索引擎

Elasticsearch(ES)是一个分布式、高实时、高可扩展的搜索与数据分析引擎,可使大量数据具有搜索和分析的能力;提供可扩展的搜索,支持近乎实时地存储、检索数据;具有分布式集群、分片存储、数据恢复、集群容灾与负载均衡等特点,支持同时部署上百台服务器,可处理PB级别海量数据。

通过搭建ES搜索引擎分布式服务,将海量渔业疾病数据索引,按照指定条件实时搜索,实现海量疾病数据实时存储与检索功能。

2.5 知识图谱技术

知识图谱本质是一种以结构化的形式描述客观世界中存在的各种实体、概念及其关联关系的技术,常用表达方式是<实体,属性,属性值>或<实体,关系,实体>,形式化表示为G=(E,R,S),其中,E={e1,e2,e3…}表示实体集合,R={r1,r2,r3…}表示关系集合,S={s1,s2,s3…}表示所有三元组集合,且S⊆E×R×E。

该系统的渔业疾病知识图谱功能模块构建过程包括知识抽取、知识表示、知识融合与知识推理四大环节:

(1)知识抽取可分为实体抽取、关系抽取与属性抽取,且前两者为构建知识图谱的关键任务。知识抽取的目的是从海量异构的疾病数据中自动抽取出与渔业疾病相关的知识,并将其组织成结构化的知识库,以支持知识的查询与应用。

(2)知识表示环节是知识获取与应用的基础,通过将抽取出来的知识以适合图谱表示的形式进行展示,实现提升知识图谱的认知与推理能力。

(3)知识融合技术可分为本体匹配、实体对齐与实体链接三部分,该环节以知识抽取为基础,将已抽取的近义实体进行清理与链接、统一语义表示与清理冗余数据,并将正确知识更新到数据库,确保数据质量要求。考虑到本体集成步骤较为复杂,且耗费大量人力物力,故该文采用基于实例的机器学习方法解决异构本体映射问题;采用成对实体对齐,将实体对齐建模为带约束的二分类问题,充分利用实体名、属性、描述文本以及时间、数值等关键信息,将多维特征空间划分为2个视图,引入半监督协同算法分别在2个视图上训练分类器,迭代学习同义实体分布情况。

(a)知识库映射到向量空间

(b)关系推理

(4)知识推理是通过已学习到的旧知识推断未学习到的新知识的过程,包含“思考-认知-理解-创新-思考”的循环过程,该系统采用神经张量网络模型(Neural Tensor Network,NTN)建模实体关系信息,通过双线性张量层实现实体和关系数据的高维表示,从而将2个实体向量跨多维联系起来。

在NTN中,实体向量与关系向量都被表示为高维张量,作为模型的输入,并通过双线性张量层实现两者之间的联系,形成一个多维的张量空间,两个实体向量可以通过该多维张量空间的线性变换实现联系。通过模型训练与模型评估后,将模型应用于知识图谱的构建与知识推理中,实现有效挖掘海量渔业疾病数据中隐藏的关联关系。NTN网络中的关系建模如图6所示。

3 系统实现

根据数据性质的不同,系统采用关系型数据库MySQL,非关系型数据库Redis、Neo4j、CouchDB,以及分布式搜索引擎Elasticsearch五种数据库来进行数据存储与管理。系统数据库实现如图7所示。五种数据库特性比较如表1所示。

图7 数据库实现框图

服务层基于Java语言,采用Spring Cloud等框架开发;应用层为采用Vue.js框架搭建的Web平台。

4 系统测试

该系统收录的渔业种质资源数据来自广东海洋大学水生生物博物馆及台湾鱼类资料库等权威机构与平台,总数据量达万条。使用压力测试工具Apache JMeter进行系统功能与性能测试。

4.1 系统功能测试

通过使用自动化测试工具JMeter对应用层Web平台进行功能测试,将测试过程中服务端返回的所有结果生成汇总报告并保存,通过对汇总报告进行业务验证,检测系统各功能模块是否实现及其运行效果。

进行了5次系统全功能测试以及多次随机UI测试,未发现致命性及严重性的系统缺陷。汇总报告通过业务验证且满足业务需求,表明系统在功能层面上满足用户需求。

4.2 系统性能测试

性能测试是指通过自动化的测试工具模拟多种正常、异常以及峰值负载条件来对系统的各项性能指标进行测试,其在软件的质量保证中起着重要的作用。通过JMeter测试工具,模拟200个用户在1秒内同时发起请求,持续时长为60秒,对系统执行高并发性能测试。实验结果表明,渔业种质资源管理系统在性能上满足实时性要求。

4.2.1 种质资源确权管理性能测试

采用软件测试工具模拟200个用户并发执行查看区块链上种质数据的操作,在单独场景下各个关键节点负载情况与客户端响应情况均在正常范围内。测试结果中,每秒成功事务数、每秒失败事务数与事务响应时间(TRT)指标数值可视化如图8所示。

(a)每秒成功事务数(STPS)

(b)每秒失败事务数(FTPS)

(c)事务响应时间(TRT)

实验结果表明,区块链种质资源管理功能模块在200并发下系统吞吐量为51.0/秒,正常响应时间不超过11秒,错误率不超过1%。由于测试过程中网络环境不稳定及服务器系统资源不足,导致12 000个测试用例中存在18个失败事务。为了降低上述因素带来的负面影响,考虑使用稳定的网络连接、优化网络环境、增加网络带宽以及使用可靠的网络测试工具等策略。

(a)每秒成功事务数(STPS)

(b)事务响应时间(TRT)

4.2.2 疾病图谱检索业务性能测试

通过压力测试工具模拟高并发业务场景下执行查看渔业疾病知识图谱的操作,观察单独场景下各个关键检查点的负载情况、客户端响应情况,实验结果显示各项指标均在正常范围内。压力测试结果指标中,每秒成功事务数与事务响应时间(TRT)指标数值可视化如图9所示。

实验结果表明,渔业疾病知识图谱模块页面操作在200并发下系统正常响应时间不超过6秒,错误率不超过0.5%。由于知识图谱功能模块的图谱节点数量较大,使得服务器系统资源不足,导致测试用例中存在5个失败事务。

为了降低上述因素给系统带来的负面影响,提高系统的性能和稳定性,可以考虑采取以下一些措施:①分库分表,将图谱数据按照某种规则分库分表,减少单个数据库或数据表的数据量;②缓存数据,减少对数据库的读写操作;③优化查询语句;④增加系统资源等。

5 结束语

从实际应用出发,根据渔业种质资源可信确权与安全共享的需要,提出了可信确权区块模型结构与“On-Chain+Off-Chain”区块链溯源信息链上链下双链协同管理存储模型,设计了一种基于区块链和知识图谱的渔业种质资源管理系统,实现了去中心化、透明化的渔业种质资源安全共享,解决了复杂数据量存储与数据泄露篡改问题,有助于渔业种质资源数据的高效利用和发展。

此外,通过知识抽取、知识表示、知识融合与知识推理等技术,构建渔业疾病知识图谱模型,实现数据管理与数据挖掘功能,有效解决了以下两个问题:

(1)疾病知识集成管理。通过知识图谱模型,将渔业疾病相关信息从不同数据源中提取、整合与清理,构建统一的疾病信息库,实现渔业疾病信息的集成管理。

(2)疾病诊断智能辅助。通过构建知识图谱模型,将不同层次的疾病知识进行融合,实现疾病认知与理解,提供疾病诊断智能辅助功能,为渔民和渔业管理部门提供科学指导依据。

因此,渔业疾病知识图谱的构建,不仅可以更好地管理渔业疾病信息,还可以提高渔业疾病的诊断水平,为渔业健康可持续发展提供强有力支持。

猜你喜欢

渔业种质图谱
华南地区最大农作物种质资源保护库建成
绘一张成长图谱
欢迎订阅2020年度《河北渔业》
亚麻抗白粉病种质资源的鉴定与筛选
补肾强身片UPLC指纹图谱
中菲渔业合作重启 菲渔业代表团来华培训交流
主动对接你思维的知识图谱
湖南省渔业协会成立
贵州玉米种质资源遗传多样性及核心种质库构建
红锥种质早期生长表现