基于区块链技术的农产品供应链数据管理系统设计
2020-08-04杨晨雪孙志国
杨晨雪 孙志国
(中国农业科学院农业信息研究所,北京 100081)
1 引言
目前,我国农产品供应链管理主要存在粗放生产、信息的透明化程度低、信息不对称、供应链环节过多、链条过长等问题。农产品供应链本质上是一个包含了从农产品生产开始、经过农产品的加工、运输及存储、最后送至消费者的涉及供应链各节点活动的一个供需网络,通过对农产品生产管理信息流、物流和资金流的控制,达到从“田间”到“餐桌”的整体功能网链结构。在传统的商品流通环节往往要通过批发商、零售商层层转包,使得中间费用居高不下,消费者同时还需要面对假货和诚信问题。淘宝、天猫、京东、拼多多等电商崛起后,整个供应链缩短了,信息成本得到降低,产品价格也随之降低,但是产品的真假和生产者诚信问题仍然难以得到解决,虽然通过消费评价可以约束商品供应者,但是删差评等暗箱操作问题突出,政府、生产者、流通商、消费者信息不对称,交易双方存在信任问题[1]。信息共享是农产品供应链管理的一个重要基础和前提,而供应链信息整合管理策略的实施也会极大促进农产品生产者、运输者、消费者等各个参与者之间信息与知识的交流和共享。如何管理和优化农产品供应链中各流程的信息,建立健全的农产品供应链信息管理系统,规范农产品供应链管理,保证市场上农产品质量和数量的正常供应和食品安全,达到提高经济效益的目的,是当今社会需要研究的重要课题。
2020 年4 月9 日,中共中央、国务院办公厅印发《关于构建更加完善的要素市场化配置体制机制的意见》,引导要素向先进生产力集聚,明确“健全要素市场运行机制,建立分类统一、规范有效的交易规则和服务体系。健全要素市场化交易平台,夯实要素市场交易基础设施,健全交易风险防范处置机制”。随着移动通信技术、大数据和云计算等技术的快速发展,我国数字金融得到了快速发展。数字金融与农业领域中供应链产业的融合发展将在农业技术革新、产业变革中起到重要作用。数字金融的一个前沿技术问题是区块链技术的应用。区块链建立一种信任机制将分散的参与主体快速简便地建立信任联系。从农业供应链角度看,农业生产经营主体包括农产品生产者、农产品销售商、产品销售者等多类型参与主体,通过接受区块链法则将传统数据经济中难以管理的“身份”参与主体,结合可信的农业市场数据管理平台,数字化农业生产经营参与主体的信用等级,达到吸引更多的农业供应链参与者加入农产品供应区块链平台的目的。
本文针对我国农产品供应链中信息数据存储管理能力弱、被窃取、篡改、删除和信息不一致等问题,通过引入区块链技术,探索构建能够衔接农产品生产、运输、消费等相关方在区块链账本上共同记录票据信息和交易信息的农产品供应链数据管理系统。该系统通过结合区块链去中心化、不可篡改、开放透明、机器自治、可匿名的特性,构建一种面向农产品供应链中农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息数据的安全管理方法与机制,能够有效保障和管理农产品供应链中各节点的信息数据,保证农产品从生产、仓储、运输、配送、销售整个供应链信息采集、存储和共享的安全、透明。通过农产品供应区块链数据管理系统,消费者可以查询所购农产品在供应链中各环节的信息,运输信息记录平台可以确保农产品在供应链的物流运作环节中始终处于可控的最佳温度环境,农产品生产者可以根据农产品的销售情况分析市场需求,规划农产品的再生产。
2 区块链研究现状及在农业领域的应用
区块链的概念源自比特币,在2008 年,由中本聪(Satoshi Nakamoto)在《比特币白皮书:一种点对点的电子现金系统》中提出[2],作为比特币的底层技术,区块链不局限于比特币及各类数字货币,还可以视为由点对点网络、分布式账本、共识机制、密码学等技术组合后形成的一个去中心化分布式数据库系统[3]。近年来,区块链技术以其去中心化、不可篡改、开放透明、机器自治、可匿名等特性[4‐5],被广泛用于管理和保障各行业数据的安全,例如银行、财政财务管理、农产品和商品供应链管理、食品安全、医疗健康管理、社会公益等[6‐8]。区块链技术可以有效的简化行业中的业务流程、降低业务成本、提高协同效率,在保证数据真实性、完整性的前提下促进数据共享,建设可信体系等方面都发挥了重要作用。
在学术研究领域,区块链技术还可以被定义为一种文件档案管理技术,作为可信文件保存的理论评估框架,对电子文件进行准确、可靠、长期的保存[9‐12]。随后,Lemieux 等人利用web 原理和技术建立一种区块链记录事务数据模型,有效解决了缺失记录相关数据及档案之间的关联性问题[13]。在农业领域中,基于区块链文件档案管理技术的特征十分切合农产品供应链中农产品生产、运输、消费等相关方信息的管理需求,在保障农产品供应链数据库中的信息数据的安全、可信、稳定、可溯源、信息共享、大吞吐量等方面具有突出优点。在中国知网文献数据库中以“农业”和“区块链”为关键词搜索相关论文,数量达90 余篇,涉及多个农业领域,其中在农产品溯源领域应用最多[14]。例如美国嘉吉公司火鸡区块链项目可以支持消费者通过输入火鸡包装上标注的标签代码来追溯火鸡养殖信息,沃尔玛利用区块链技术实现旗下超市生鲜产品端到端的溯源。在国内蚂蚁金服联合腾讯和中国平安发起“步步鸡”项目溯源鸡的养殖环境和养殖过程[15]。中国农业科学院孙志国等[1]于2016 年提出在食品安全溯源体系中引入区块链技术,低成本高效率地解决食品安全中的信任难题,实现安全可信任的食品追溯。
近几年兴起的区块链技术极大助推了金融相关技术的快速发展以及在农业各个行业领域的应用,用于储存、管理和保障数据的安全。农业物联网(农产品安全溯源、农业环境检测)、农业大数据(智慧监管、农产品市场信息)中储存、分析、处理海量数据和信息的基础问题都得到了较好的解决。但是,还是存在流程效率低、拓展性弱;灾备和行为监管方案复杂度高、建设成本高;数据的实效性、真实性、完整性难以保障等痛点。区块链技术在农产品供应链管理方面研究方面起步较晚,深入研究和应用较少,尤其是针对农产品供应区块链中需要存储各类型农业生产经营参与主体用户信息,包括农产品生产管理信息、运输记录信息、消费者信用管理信息、农户‐消费者交易信息等大型异构数据的存储,抽取、管理与访问控制的相关技术尚属研究空白。因此,研究可靠安全的基于区块链技术的农产品供应链数据管理系统设计方法是实现农业智能化供应链的关键。
综上所述,本文通过结合星际数据系统和智能合约技术,对农产品供应链中的信息安全管理进行研究,设计一个安全、可信、稳定、可溯源、信息共享、大吞吐量的农产品供应链数据管理系统,无缝对接农业生产经营参与主体(农产品生产者、农产品销售商、产品销售者等),可以有效保障农产品生产、仓储、运输、配送、销售等一系列供应链活动的信息化管理平台,确保整个供应链进行充分安全透明的可信任信息共享,促进农产品产销无缝衔接、推动农业转型升级、助力农民脱贫增收。
3 基于区块链的农产品供应链数据管理系统设计
针对目前区块链技术并不能有效存储和管理产品供应链数据库中农产品生产经营主体信息和交易信息的大型异构数据,本文基于区块链和数据库技术,结合星际文件系统(Inter‐Planetary File System,IPFS)和智能合约技术保障大型异构信息数据安全存储和访问的特点,对农产品供应链中生产、运输、销售等节点的信息安全管理进行研究,提出了面向农产品供应链中大型异构信息数据高效抽取方法,以及信息数据管理与访问控制方法,研发面向农产品供应链信息数据管理系统的区块链技术支撑平台。本文所提的基于区块链的农产品供应链数据管理系统具有去中心化、不可篡改、可信任的特性,能够切实保障农产品供应链信息数据的安全、可信、稳定、可溯源、信息共享和大吞吐量。
3.1 面向农产品供应链中异构信息数据高效抽取方法
基于区块链的农产品供应链数据管理系统可以通过直接对底层供应链数据库中的信息数据和交易原生数据进行管理,来实现各类型农业生产经营参与主体用户的行为记录和数据备份,以事务日志的形式存储在农产品供应链数据库中。创建农产品供应链中农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息数据库,在事务日志中记录对数据库所做的所有操作,在农产品供应区块链数据管理系统发生故障时帮助事务进行恢复,且支持事务复制备份到数据库。因此,本文通过抽取并分析农产品供应区块链数据库的事务日志来实现农产品供应链信息数据的备份以及各类型农业生产经营参与主体用户行为的监管。
在农产品供应区块链数据管理系统中,通过结合新兴的区块链和IPFS 技术,提出基于区块链的数据库主从复制技术,针对解析、融合目标数据库的事务日志和农户和消费者用户信息,设计基于MySQL 数据库的事务日志抽取方法,实现含有农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息事务日志的快速抽取,并将各类信息事务日志及交易记录分别存储至区块链和IPFS 网络。基于区块链的农产供应链数据管理系统的主从复制架构示意图如1 所示,总体上分为四个步骤。
第一步,在农产品供应区块链信息管理主数据库中记录农产品供应链中各节点事务操作的详细信息,主要包括农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的信息数据,更新事务操作,并在农产品供应区块链信息管理数据库的日志表或日志数据中记录。
第二步,开启一个农产品供应区块链信息管理中间件的本地线程,建立一个农产品供应链信息管理数据库客户端连接。农产品供应链中生产、运输、销售等节点中间件数据管理系统可采用实时抽取和定时抽取农产品供应链信息管理数据库操作日志两种方式,实现对该信息管理主数据库事务日志的抽取。
第三步,抽取农产品供应区块链信息管理中间件的数据到操作日志中,同时,将操作日志加密,并存储到农产品供应区块链信息管理网络中。针对涉及新增农产品生产管理信息或是交易信息数据的操纵,通过抽取解析日志中农产品供应链信息管理系统中农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的信息数据存储路径,获取农产品供应链中的信息数据,同时存储到农产品区块链IPFS平台。
第四步,根据需求同步或者重建农产品供应链信息管理数据库中相应的信息数据,获得农产品供应区块链上获取主库事务日志,例如农产品交易信息。
农产品供应区块链数据管理系统采用主从复制的方式,通过操作日志的方式,将农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息数据保存到农产品供应区块链信息管理网络中,可以灵活的、准确的、安全的转移农产品供应链中的主库信息数据。在农产品供应区块链上存储的日志信息可以当作农产品供应链数据主库操作日志的中继站,其他农产品供应链信息管理数据库通过获取区块链上完整的操作日志同步目标数据库,可以备份主库中数据,保证备份数据库与主库数据的一致性。
MySQL 数据库因其免费开源的优点,近几年成为中小型应用的首选数据库软件。通过对当前市场上的MySQL 数据库使用情况进行调研,现阶段比较主流的版本为MySQL 5.7,该版本在安全性、灵活性、性能方面都进行了大幅的改进。因此,本文选择基于MySQL 的农产品供应链信息管理数据库的行为审计,依靠解析底层的BinLog 数据来实现各类型农业生产经营参与主体用户操作的审计。农产品供应区块链数据管理系统将对MySQL 的事务日志抽取方法进行设计,以实现MySQL 农产品供应链信息管理数据库事务日志的抽取。
该MySQL农产品供应链信息管理数据库的二进制日志主要用于记录数据表中实时的变更情况,例如增加农业生产经营参与主体信息、运输记录信息变更、增加农户‐消费者交易信息等,可以作为监管农产品供应区块链信息管理数据库操作行为的依据,以及数据库同步或重建的信息数据支撑。MySQL农产品供应链信息管理数据库中二进制日志文件包括Row Level(行模式)、Statement Level(语句模式)、Mixed(混合模式)三种存在形式。为保障主从复制中事务日志的完整性,避免出现主从复制不一致的情况,本系统选择采用基于Row Level 模式的复制方式记录农产品供应链信息管理数据库中的数据变化情况。
农产品供应区块链数据管理系统采用MySQL数据库中的Canal 解析工具实现二进制日志解析。具体的,融合Canal 解析工具,分别在记录农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息数据的主库服务器和中间件服务器上架设事务日志抽取工具的服务端和客户端。现有的二进制日志虽然能够作为从农产品供应链信息管理数据库同步或重建数据的重要依据,但由于二进制日志中仅存有事务的操作语句,并未记录事务执行时相关的各类型农业生产经营参与主体用户信息,从而无法实现审计各类型农业生产经营参与主体用户操作的目的。
MySQL农产品供应链信息管理数据库并未向农业生产经营主体用户提供审计的功能,但在每个农业生产经营参与主体用户连接数据库时会默认执行一条结构化查询语言操作语句,通过使用init‐connect功能在各类型农业生产经营参与主体用户登录时记录其关键信息来实现审计。因此,系统结合init‐con‐nect 和二进制日志,通过融合init‐connect 中的各类型农业生产经营参与主体用户信息和二进制日志中的操作记录,实现事务操作和各类型农业生产经营参与主体用户信息集一体的详细审计。其中日志解析模块主要用于对二进制日志记录的操作类型进行判断;日志过滤模块则用于选择我们关注的操作类型(如 query、Table_map、write_row、update_row、de‐lete_row);日志融合模块则通过获取到的query 中的thread_id,到MySQL 中的各类型农业生产经营参与主体用户连接信息表中抽取相应的连接信息,并拼接到当前日志中;最后日志存储模块则用于存储处理好的事务日志;而数据管理模块和Zookeeper 则用于持久化存储事务日志及对增量订阅和消费进行管理。
3.2 基于区块链的农产品供应链中异构信息数据管理与访问控制方法
目前,区块链技术更多被应用于处理账本交易等小型数据[16]。当区块链处理大型数据时,通常采用增大每个区块存储数量的方法来实现,但是会影响全网共识的时效性,降低全网数据的可信度[17]。面向农产品供应链信息管理数据库日志及供应链信息数据,数据库记录的每条事务日志类似区块链的每笔交易,将事务日志存储于区块链上是切实可行的。此外,由于当前区块链平台缺少对区块上的交易进行访问权限的控制,任何人都可随意查看存储在区块上的交易数据。但是,农产品供应链信息管理数据库中的数据包含许多密级信息,涉及不同级别的信息数据保密,并不能完全公开,造成在实际应用过程中存在数据透明和数据保密难以达到平衡。因此,针对区块链技术存储农产品供应链信息管理数据库面临的大型异构数据存储困难、信息数据隐私保护等问题,本文对农产品供应链中的信息安全管理进行研究,探索建立面向农产品供应链中异构信息数据的信息共识和分布式存储方法,以及研究如何对链上的信息数据设定相应的访问控制机制。
3.2.1 农产品供应链异构信息数据安全存储模型
农产品供应区块链中需要存储各类型农业生产经营参与主体用户信息,包括农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息数据,通常采用区块链与第三方数据库或信息数据管理系统相结合的链上链下存储模式来实现[18]。本文结合面向农产品供应链数据库中信息管理场景,将农产品供应链信息管理数据库中的事务日志都封装成字符串的形式,有效的适用于区块链的交易格式。因此,农产品供应区块链数据管理系统直接对供应链中农产品生产管理信息、运输记录信息、消费者信用管理信息、农户‐消费者交易信息事务日志进行加密后存储至区块链,这样既能保障农产品区块链信息管理系统事务日志的隐私和安全,也能够对链上数据进行解密后恢复日志数据。针对链下存储摒弃传统的信息数据存储系统,采用IPFS 数据存储系统,通过与区块链协同配合,能够有效保障农产品供应链信息数据的完整性和真实性。
农产品供应区块链数据管理系统使用IPFS来作为农产品供应链中农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息数据的分布式存储平台,以此实现农产品供应链信息数据持久且安全的分布式存储。在实验环境中,搭建了3 个节点的IPFS 私有网络集群,分别为供应商节点私有网络集群、销售商节点私有网络集群、物流商节点私有网络集群,允许IPFS 节点只连接到拥有共享密钥的其他对等节点,网络中的节点不响应来自网络外节点的通信,其架构如图2所示。
每个IPFS 节点需要供应商、销售商、物流商分别运行守护进程服务和集群服务,守护进程用于监控当前IPFS 节点的状态,若当前节点集群服务崩溃,守护进程将会重启本节点的集群服务。集群服务则用于保持各节点之间的通讯,同时向外提供API接口供各类型农业生产经营参与主体用户使用IPFS 功能。系统设置的供应商、销售商和物流商三个节点的IPFS 私有网络集群,能够有效地保证农产品供应区块链数据管理系统的去中心化特征,且后期可按照需求增加节点,具有较好的扩展性。
为了实现农产品供应链信息管理系统中数据的安全存储,系统从该供应链数据库中所在服务器抽取信息数据和交易原生数据,以事务日志形式封装成的信息数据的格式上传至IPFS 进行备份。该系统首先抽取到农产品供应链信息管理数据库事务日志,然后解析日志,达到识别农产品供应链信息管理系统中新增农产品生产管理信息或是交易信息数据的操作,并从中获取新增农产品生产管理信息或是交易信息数据在设备上的存放路径的目的,抽取供应链系统中的生产管理、运输记录、消费者信用管理、农户‐消费者交易服务等活动的异构信息数据,同时,运行数据抽取的后台监听服务,保证数据传输的安全性。当农产品供应区块链信息管理系统中间件拿到数据的存放路径后,分别通过供应商节点、销售商节点、物流商节点的抽取接口完成农产品生产管理信息或是交易信息的数据抽取。最后,通过IPFS 私有网络集群的数据上传接口,将农产品生产管理信息或是交易信息的数据存储至IPFS 上。
为减轻该农产品供应链数据管理系统中区块链存储数据的压力,同时保障农产品供应链各类型农业生产经营参与主体信息数据隐私和安全的传输和存储,对抽取的农产品供应链数据库中的各类型生产经营参与主体信息数据事务日志进行加密和哈希处理。首先我们将待上链的事务日志表示为代表交易的类型,可以表示为:封装后的农产品供应区块链数据管理存储的交易={各类型农业生产经营参与主体用户私钥,交易资产,交易元数据}。这里交易资产是通过各类型农业生产经营参与主体用户密钥对事务日志进行加密。其中交易资产={事务编号,操作者名,加密后的密文}。元数据可以用于声明农产品供应区块链事务日志所关联的表名,作为模糊搜索的键值可以搜索该表存在链上的所有日志。
3.2.2 基于区块链智能合约的农产品供应链信息数据访问控制模型
本文选择基于区块链智能合约的农产品供应链信息数据访问控制方法,结合基于IPFS 哈希寻址的访问方式,能够有效的保障不同的农业生产经营参与主体用户在各自的权限范围内访问数据,保证各类型农业生产经营参与主体用户只需提供数据的哈希地址即可访问相应的数据。
由于在农产品供应链中农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息数据中包含多种密级,仅仅采用基于角色的访问控制策略,无法满足对不同类型农业生产经营参与主体用户角色对不同密级农产品供应链信息数据的访问控制。农产品供应链信息数据中经常涉及普通型农业生产经营参与主体用户或低权限各类型农业生产经营参与主体用户申请访问高密级的农产品供应链信息数据的情况,例如种植苹果的农户查询种植其他水果的农户信息,购买苹果的消费者查询购买其他水果的消费者信息,种植苹果的农户查询购买他农产品的消费者还购买了其他农户水果的信息等。现有的合约方案大都未考虑到对各类型农业生产经营参与主体用户进行临时的授权。此外,农产品供应链信息数据还涉及私密级的农产品供应链信息数据,这类数据一般需要由多方授权才能对信息数据进行查看和访问,例如消费者想查看其他消费者的消费记录,这也是在农产品供应链信息数据管理场景下需要实现的访问控制方式。
基于上述农产品供应链中信息管理的需求,针对不同密级的农产品供应链信息数据,农产品供应区块链数据管理系统通过设置不同农业生产经营参与主体角色,形成基于角色的分级访问控制机制。基于不同农业生产经营参与主体用户角色的访问控制模型,通过对各类型农业生产经营参与主体用户的身份和职责进行审核评定,从而分配给各类型农业生产经营参与主体用户角色相应访问权限。使用该农业生产经营角色的访问控制模型可以有效的管理系统数据和访问农产品供应链上各节点资源。
首先,采用智能合约分级存储数据哈希地址,为不同的各类型农业生产经营参与主体用户设定了不同的访问权限,而不同的访问权限将对应不同的农产品供应链信息数据密级。与原始数据哈希地址的存储方法不同,本文将针对不同密级的农产品供应链信息数据进行分类判断后,把信息数据的IPFS 哈希地址存储至智能合约。智能合约的存储模块将按照农产品供应链信息密级可以分成多个等级。此外,将农产品供应链数据库数据信息的唯一标识,存储在本地环境上。
然后,创建各类型农业生产经营参与主体用户并授予权限,农产品供应区块链数据管理系统管理中心由合约的拥有者,即系统超级管理员维护。各类型农业生产经营参与主体用户初始时需要向该农产品供应区块链数据管理系统的管理中心申请账户,信息管理中心为各类型农业生产经营参与主体用户生成相应的密钥返回给各类型农业生产经营参与主体用户,同时根据各类型农业生产经营参与主体用户的角色为各类型农业生产经营参与主体用户分配相应的权限等级,并写入合约的权限添加模块。例如消费者可以通过农产品供应链信息密级一级权限查询种植苹果的农户信息,如果想获得更高权限,例如苹果运输信息、苹果的种子信息等,可以通过付费的方式升级相应的权限等级。
同时,设置现有各类型农业生产经营参与主体用户临时授权,在各类型农业生产经营参与主体用户创建之初已为各类型农业生产经营参与主体用户生成了相应的密钥,并且对改密钥对应的访问权限进行了分配。结合农产品供应链信息数据实际使用情况,为了提供各类型农业生产经营参与主体用户临时访问更高密级的信息数据,在智能合约内设置动态权限控制模块,通过动态的为各类型农业生产经营参与主体用户设定临时的访问权限,来实现更灵活的农产品供应链信息数据访问控制。
最后,设置修改各类型农业生产经营参与主体用户授权,农场品供应区块链数据管理系统为新各类型农业生产经营参与主体用户或现有各类型农业生产经营参与主体用户设定了当前的最高访问权限。为了修改或撤销某个用户的权限或临时权限,同样的可以选择调用方法来重置当前用户的权限级别,权限将会根据覆盖掉之前的值。该系统还设置了各类型农业生产经营参与主体用户查询数据IPFS 地址,现在各类型农业生产经营参与主体用户可使用自己的账户对智能合约中的数据发起查询请求。当各类型农业生产经营参与主体用户向智能合约申请访问一个级别的信息数据时,需先判定当前访问各类型农业生产经营参与主体用户权限是否大于现有的权限。如果符合相应权限,即可访问对应的农产品供应链信息数据。
3.3 面向农产品供应链数据管理系统区块链支撑平台
结合前面提出的面向农产品供应链中异构信息数据高效抽取方法和基于区块链的农产品供应链中异构数据管理与访问控制方法,设计了农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息数据的区块链中间件系统,并通过与农产品供应区块链和IPFS 平台进行集成,实现农产品供应链信息管理系统数据的安全灾备、行为监管和访问控制。
农产品供应链涉及各类型农业生产经营参与主体之间的信息,包括农产品的生产、运输、仓储、销售等环节,相应地系统需要实现的功能要包括农产品生产管理信息、运输记录信息、消费者信用管理信息、农户‐消费者交易信息记录的环节。基于区块链农产供应链数据管理系统主要面向农产品供应链管理员,包括农产品供应链数据管理、农产品供应链数据抽取、农产品供应链数据安全存储、农产品供应链数据安全访问四个模块,如图3 所示。
系统采用BigchainDB 作为底层的区块链数据存储平台,有效支撑农产品供应链信息管理数据库信息共识、数据存储、数据查询等服务。系统包括两个业务流程,分别为农产品供应区块链信息管理数据库的审计日志上链和数据备份流程,数据验证和还原流程。当各类型农业生产经营参与主体用户对农产品供应链各模块相关信息数据表进行插入、更新、删除和查询语句操作时,触发器获取农产品供应区块链信息管理数据库的审计日志中的结构化查询语言操作语句,通过Socket 客户端发送至中间件的Socket 服务端。系统记录农产品生产管理信息、运输记录信息、消费者信用管理信息、农户‐消费者交易信息的中间件后台,需对接收的结构化查询语言操作语句进行分析和数据封装。该操作包括新增农产品供应链信息数据的原生交易数据,通过抽取农产品供应链信息数据的存储位置的方式,获取农产品供应链各类型农业生产经营参与主体之间交易信息数据。当农产品供应链各模块相关信息数据库中的各类信息数据遭受攻击或被恶意篡改破坏,管理员可对农产品供应链中各类型农业生产经营参与主体之间信息数据进行校验和恢复。
4 结语
本文设计基于区块链技术的农产品供应链数据管理系统,可以将农业生产经营主体包括农产品供应商、农产品销售商、产品销售者等多类型参与主体紧密地关联起来,实现农产品生产管理、运输记录、消费者信用管理、农户‐消费者交易服务的大型异构信息数据的可信管理,提高农产品供应信息管理的智能化水平。但目前系统还处于起步阶段,需要不断的扩展和完善。在未来工作中,可以进一步优化智能合约内的访问控制逻辑和各类型农业生产经营参与主体用户权限表的设计,从而改进农产品生产者、运输者、消费者等用户权限列表数据过多时,出现的存储和查询效率降低的问题。