一种基于区块链的食品安全风险溯源分析系统及方法与流程

文档序号:16360970发布日期:2018-12-22 08:09阅读:338来源:国知局
一种基于区块链的食品安全风险溯源分析系统及方法与流程

本发明涉及区块链技术、可视化技术,食品安全等领域,具体涉及一种基于区块链的食品安全风险溯源分析系统及方法。

背景技术

食品安全问题是一个系统问题,涉及面较广,解决难度较大。在传统的溯源中无论是国家的鼓励还是企业的努力,都没能解决商品溯源防伪中最大的难题——谁来提供具有公信力的信息。传统食品安全管理制度由政府进行推动,覆盖食品生产基地、食品加工企业、食品终端销售等整个食品产业链条的上下游,一旦食品质量在消费者端出现问题,可以通过食品标签上的溯源码进行联网查询,查出该食品的生产企业、食品的产地、具体农户等全部流通信息,明确事故方相应的法律责任。传统信息只给一个中心的记账方式,从技术的角度来讲信息是可以被篡改的,但是有了区块链以后,区块链是去信任化、去中心化、区块数据基本不可篡改等特性,传统很少将可视化技术应用于食品安全风险溯源分析。

区块链技术起源于2008年由化名为“中本聪”(satoshinakamoto)的学者,比特币是迄今为止最为成功的区块链应用场景。区块链技术的应用比较成熟的有比特币、以太坊、超级账本等,基于区块链技术特点,区块链适用于各行各业。基于区块链特性,很多大的企业把区块链技术应用于食品溯源,2016年10月沃尔玛食品安全协作中心与ibm以及清华在中国试点基于区块链技术的食品溯源体系,2017年3月阿里巴巴与普华永道合作开展了食品供应区块链测试项目,2017年5月沃尔玛与ibm在美国试点了基于区块链技术的芒果供应链溯源项目等等。很多论文把区块链与溯源相结合,很少有专利或者论文把可视化应用于食品溯源。



技术实现要素:

本发明的技术解决问题:克服现有技术的不足,提供一种基于区块链的食品安全风险溯源分析系统及方法,区块链具有去中心化、不可篡改、开放透明等重要特征,以此可以解决食品数据信任和安全问题,可视化与可视分析技术则对食品安全溯源起到很大的辅助作用,充分利用人类在可视模式上的快速识别能力。

本发明提出的基于区块链的食品安全风险溯源分析系统及方法,将区块链技术和可视化技术植入食品风险溯源架构进行;

所述数据库层,用于存储区块链中的所有信息,区块链结构是通过文件系统进行存储的,区块链中包含的内容有区块链的最新状态和所有的交易信息以及智能合约的相关信息,采集的所有信息包括食品担责方材料、时间、地理位置均以区块的形式进行存放,每个区块分为区块头和区块体,区块头包括区块高度、交易哈希和前一个区块哈希,区块体包括交易信息,区块与区块之间通过区块头中的前一个区块哈希值建立链接,多个区块数据通过文件系统进行存储,数据库层负责记录通信层中共识通过的交易信息;

所述通信层包括网络结构和协议,实现p2p网络,为底层区块链网络提供服务,基于区块链技术以超级账本fabric为平台和gossip数据传播协议,所述通信层中节点和服务分配不同的角色,按照功能角色划分为三种类型,分别为检测节点、监管节点、排序节点,检测节点对用户提交的交易进行背书(目前主要是签名),背书通过后模拟运行交易,监管节点负责维护区块链,会定期的从排序节点(orderer)获取排序后的交易区块,对区块中的交易进行最终的检测,检测通过后执行合法的交易,将结果写入区块链,fabric网络中的节点之间通过gossip协议来进行状态同步和数据分发,业务层直接与通信层打交道,通信层实现了对数据库层的连通支持,用户通过所述业务层把签名后的数据上传至所述的通信层进行共识,共识通过后的数据会打包成区块上传至所述的数据库层;

所述的业务层,支持用户的接入,是人机交互的入口,主要面向业务的开发人员,用户使用sdk来与fabric网络打交道,用户可以发起正式交易,在业务层调用智能合约可对区块链的状态进行操作,智能合约提供可编程能力对上层应用的支持,用户通过智能合约的api编写自己的智能合约,即可对区块链中的信息进行更新或读取操作,所述的业务层是用户与通信层打交道的桥梁,业务层提交的交易在通信层共识通过后对数据库层进行操作,用户通过业务层间接对数据库层数据进行读取进而进行可视化展示。

本发明中,所述的基于区块链技术的食品风险可视分析系统,其特征在于所述通信层中,所述数字证书颁发是基于pki体系,数字证书与msp的编号进行关联,结合所属的msp进行身份认证和权限控制。

本发明中,所述的基于区块链技术的食品风险可视分析系统,其特征在于所述业务层中,所述的客户端(sdk)通过ca获得签名证书(ecerts),ecerts包含两个公共的密钥对:一个签名密钥对和一个加密密钥对。

本发明中,所述的基于区块链技术的食品风险可视分析系统,其特征在于所述业务层中,通过force-directedgraph和流向地图展示食品风险溯源过程,通过所述force-directedgraph对风险事件进行溯源,通过流向地图对风险事件的时空进行可视化展示。

一种基于区块链的食品安全风险溯源分析方法,其特征在于,包括以下步骤:

(1)用户进行注册,基于pki体系,利用pki体系给每个用户颁发数字证书,生成数字证书以标识用户的身份,每个身份和msp(membershipserviceprovider)的编号进行关联,结合所属的msp进行身份认证和权限控制;

(2)验证用户是否是(1)中注册的用户,验证通过后将食品相关数据录入供应链,节点接收到数据后,校验数据结构的完整性、签名、数据是否重复,校验交易是否符合endorsement策略,检查读集合中版本与账本是否一致,当以上检测均通过后执行区块中的合法交易,更新账本状态;

(3)所有用户均根据自身的权限从步骤(2)更新的账本中获取数据,使用force-directedgraph和流向地图展示食品风险溯源过程,当食品风险事件发生时,用户通过force-directedgraph向上钻取追溯源头,再向下钻取追踪食品流向,force-directedgraph中节点表示具体的地理位置,节点与节点之间的连线表示两个地理位置之间的关系,force-directedgraph钻取操作与流向地图联动展示,流向地图中箭头表示风险食品的流向,流向地图中各个地区的颜色深浅度不同,则代表风险流向的程度不同,流向地图用于展示食品的空间特征,便于快速追回食品与风险程度的分析。

本发明与现有技术相比的优点在于:

(1)相比现有技术,本发明结合区块链技术具有去中心化、不可篡改、开放透明等重要特征,以此解决食品数据报告生成过程中的信任和安全问题。

(2)相比现有技术,本发明提出了force-directedgraph和流向地图展示食品风险溯源过程,通过force-directedgraph对风险事件进行溯源,通过流向地图对风险事件的时空进行可视化展示,充分利用人类在可视模式上的快速识别能力。

(3)本发明把区块链应用于食品安全风险溯源是基于区块链是去信任化、去中心化、区块数据基本不可篡改等特性,确保数据的安全可信,本发明将可视化应用于食品安全风险溯源是基于信息可视化与可视分析技术,充分利用人类在可视模式上的快速识别能力,把数据、信息和知识转化为可视表示的形式,将人脑和现代计算机这2个最强大的信息处理系统联系在一起,通过提供有效的交互可视界面,使人们能快速准确地观察、过滤、探索、理解和分析大规模数据,从而有效地发现隐藏在信息内部的特征和规律。

附图说明

图1为本发明系统的系统架构图;

图2为本发明系统的网络节点架构图。

具体实施方式

下面结合附图和具体实施方式对本发明进行描述。这些实施例仅用于说明本发明而不用于限制本发明的范围。

实施例1:

(1)基于区块链的食品安全风险溯源分析方法与系统架构如图1,主要分为数据库层、通信层、业务层。其中数据库层包括区块链结构,以及多个数据库结构,区块链结构记录的是状态变更的历史,statedatabase为状态数据库,记录区块链中交易的最新状态,historydatabase为历史数据库,存放状态的历史变化,indexdatabase为索引数据库,存放索引信息。所述的通信层中节点分配不同的角色,分别为检测节点(dtp)、监管节点(svp),不同节点都可对交易进行共识。所述业务层通过智能合约smartcontract对数据进行操作。其中区块链技术应用于系统的数据库层与通信层,可视化技术应用于系统的业务层。

(2)数据库层用于存储区块链中的所有信息,区块链结构是通过文件系统进行存储的,区块链中包含的内容有区块链的最新状态和所有的交易信息以及智能合约的相关信息等,采集的所有信息包括食品担责方材料、时间、地理位置等均以区块的形式进行存放,每个区块分为区块头和区块体,区块头包括区块高度、交易哈希和前一个区块哈希,区块体包括交易信息,区块与区块之间通过区块头中的前一个区块哈希值建立链接,多个区块数据通过文件系统进行存储,数据库层主要负责记录发生在通信层中的交易信息;

(3)通信层包括网络结构和协议,实现p2p网络,为底层区块链网络提供服务,基于区块链技术以超级账本fabric为平台和gossip数据传播协议,所述通信层中节点和服务分配不同的角色,按照功能角色划分为三种类型,分别为检测节点、监管节点、排序节点,检测节点对用户提交的交易进行背书(目前主要是签名),背书通过后模拟运行交易,监管节点负责维护区块链,会定期的从排序节点(orderer)获取排序后的交易区块,对区块中的交易进行最终的检测,检测通过后执行合法的交易,将结果写入区块链,fabric网络中的节点之间通过gossip协议来进行状态同步和数据分发,业务层直接与通信层打交道,通信层实现了对数据库层的连通支持,用户通过所述业务层把签名后的数据上传至所述的通信层进行共识,共识通过后的数据会打包成区块上传至所述的数据库层;

(4)业务层支持用户的接入,是人机交互的入口,主要面向业务的开发人员,用户使用sdk来与fabric网络打交道,用户可以发起正式交易,在业务层调用智能合约可对区块链的状态进行操作,智能合约提供可编程能力对上层应用的支持,用户通过智能合约的api编写自己的智能合约,即可对区块链中的信息进行更新或读取操作,所述的业务层是用户与通信层打交道的桥梁,业务层提交的交易在通信层共识通过后对数据库层进行操作,用户通过业务层间接对数据库层数据进行读取进而进行可视化展示。

(5)区块链网络架构如图2所示,orderer节点负责对所收到的交易在网络中进行全局排序,orderer主要提供了broadcast和deliver两个接口,org1和org2分别代表两个不同的组织,每个组织中所有的peer节点都是记账节点,负责验证从排序服务节点区块链的交易,维护状态数据和账本的副本。排序服务节点接收包含检测签名的交易,对未打包的交易进行排序生成区块,广播给peer节点。检测节点(detectionpeer,dtp)是动态的角色,是与具体的智能合约绑定,对交易请求进行初步检测,检测通过后进行签名背书。监管节点(supervisionpeer,svp)负责验证从排序服务节点区块链的交易,维护状态数据和账本的副本。主节点是和排序服务节点通信的节点负责从排序节点(ordererpeer,odp)处获取最新的区块并在组织内部同步。

(6)当某一食品事件发生时,相关部门通过公钥进入区块链网络,在发起正式交易之前,需要先构造交易提案提交给检测节点(dtp),进行背书(目前主要是签名),相关部门收到足够的背书支持后可以利用背书构造一个合法的交易请求,发送给orderer节点进行排序,监管节点会定期的从orderer节点获取排序后的批量交易区块结构,对这些交易进行最终的检查,检查通过后则利用食品的id获取数据库层与这一事件相关的数据,数据包括担责方材料、时间、地理位置等信息,获取数据后在业务层就可以使用force-directedgraph和流向地图展示食品风险溯源过程,通过force-directedgraph向上钻取追溯风险食品源头,也就是风险食品具体是从哪个地方开始的,再向下钻取追踪风险食品流向,force-directedgraph中节点表示具体的地理位置,force-directedgraph和树图类似,force-directedgraph中根节点表示风险事件的源头,节点与节点之间的连线表示两个地理位置之间的关系,孩子节点则是父节点所流向的地理位置,也就是风险食品的位置流向,force-directedgraph钻取操作与流向地图联动展示,流向地图中箭头表示风险食品的流向,流向地图中各个地区的颜色深浅度不同,则代表风险流向的程度不同。force-directedgraph可以直接展示地理位置流向,流向地图用于展示食品的空间特征和食品的风险程度,便于快速追回食品与风险程度的分析。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1