潘慧萍 李宝安 吕学强 姜 阳 李果林 张 乐
(1. 北京信息科技大学网络文化与数字传播北京市重点实验室,北京 100101;2. 阳光易购〔北京〕科技有限公司,北京 100036)
随着新型冠状病毒肺炎疫情肆虐席卷全球,中国多地出现进口冷链食品新冠检测结果呈阳性,冷链溯源系统的建设在疫情追踪防护中显得至关重要。冷链溯源主要是指在冷链供应链体系下实现对产品流向信息的可控可管。2020年国务院应对新型冠状病毒肺炎疫情联防联控机制综合组发布的《关于进一步做好冷链食品追溯管理工作的通知》中明确表示了建立和完善由国家级平台、省级平台和企业级平台组成的冷链食品追溯管理系统的重要性和迫切性,力求以畜禽肉、水产品等为重点,实现重点冷链食品从海关进口查验到贮存分销、生产加工、批发零售、餐饮服务全链条信息化追溯[1]。
湘冷链溯源系统由湖南省市场监管局信息中心和阳光易购(北京)科技有限公司(简称“阳光易购”)共同建设,由北京信息科技大学网络文化与数字传播北京市重点实验室与阳光易购共同研究并实现落地,阳光易购对从事进口冷链食品的企业进行培训,并与相关企业进行系统对接,完成对湘冷链溯源系统的运行维护。湘冷链溯源系统利用数字化手段全面掌握冷链产品在区域内的供应链流向,并且一码连通实现从供应链首站到消费环节的产品闭环追溯管理,实现了供应链数据的可信任性和透明性,监管后台既可以完成对冷链产品的日常数据分析,也可以通过追溯码对冷链食品的流向进行精准查询。为解决读取数据效率低以及某些节点数据爆炸的问题,文章拟提出一种读写分离的区块链状态数据缓存和查询方法,以期为疫情环境下解决冷链溯源的迫切需求提供依据。
目前,溯源系统在国内外的研究上已取得了一定的进展,许多新兴技术被应用于供应链可追溯系统的构建中。按照结构,溯源系统主要分为两大类:集中式体系结构和分布式体系结构[2]。
集中式体系结构中使用的技术主要包括无线传感器网络、RFID以及二维码技术等,焦玉聪等[3]利用RFID技术和二维码技术构建了肉制品溯源系统,实现了相关政府部门对食品的监管。吴冬燕等[4]基于RFID-EPC技术实现了对冷链食品生产、物流和销售的全过程信息监控。集中式溯源系统主要通过权威的第三方进行管理和维护,无法保证数据的安全性和可靠性,还可能导致供应链上数据信息不对称的问题,并且具有较高的数据篡改和信息泄露风险,此外,集中式系统容易因为单点故障导致整个系统崩溃。
分布式体系结构主要是基于区块链技术实现的冷链溯源系统,Tian[5]基于HACCP提出了一种基于区块链和物联网的实时溯源系统。Lin等[6]通过将区块链技术和物联网技术相结合实现了一种可信任共享型食品追溯系统。Miguel等[7]实现了“从农场到餐桌”的农业食品溯源系统AgriBlockIoT,通过以太坊和Hyperledger Sawtooth两种区块链和IoT传感器设备,保证了系统的透明性和审核产品的可追溯性。曾小青等[8]基于物联网和区块链技术实现了食品溯源系统,提高了食品供应链的效率和透明度。刘宗妹[9]基于区块链上链信息不易被篡改的特点,利用RFID读取食品电子信息实现了食品溯源系统。陈飞等[10]基于以太坊平台实现了对猪肉的溯源,通过引入食品药品监督局节点实现对食品的召回和错误数据的更改,消费者可以对被更改过的溯源数据的食品进行投诉。王少然等[11]利用GS1编码体系冷链物流中的产品信息进行标识,采用区块链技术保证了产品流通信息的透明性,实现对生鲜产品的防伪溯源。由于区块链技术的去中心化使得供应链数据具有可信任性和透明性,解决了数据篡改的问题,但是依旧面临信任转移和数据爆炸的问题。
湘冷链在基于区块链的基础上不仅实现了对整个供应链的实时监控,而且通过供应链可视化可以实现对追溯全景图的展示,针对发生疑似问题的冷链食品进行精准定位和快速上报,同时在冷链食品进入湖南省的第一站对冷链食品进行二维码赋值,通过此二维码记录冷链食品流通过程中所有流通信息,消费者通过扫描二维码购买及查看冷链食品各个站点的流通信息,实现供应链首站赋码一码到底。此外,湖南省市场监督管理局也可以对冷链食品的流向进行精准查询,结合湘冷链溯源系统的结构设计,针对区块链系统数据存储目前存在的缺点,设计一种读写分离的区块链状态数据缓存和查询方法,充分利用缓存系统,减轻区块链系统的负担,提高对区块链状态数据的读写效率,解决区块链系统因数据冗余而造成的效率低下的实际问题。
区块链系统利用密码学算法和时间戳技术实现区块链上数据的隐秘性和不可篡改性,并通过共识机制来保证数据块中的信息得到链上节点的认可,同时保证链上节点的数据一致性,智能合约保证交易依据合约执行,避免因合约双方的主观判断产生的争议。
基于区块链系统自身的优点,经过对进口冷链食品供应链的流程分析,设计湘冷链溯源方案如图1所示。整个供应链系统由进口冷链生产加工厂、进口贸易、运输仓储企业、物流企业以及销售单位共同维护,并由湖南省市场监督管理局对供应链上任意节点进行实时监管。湘冷链溯源系统实现了首站赋码一码到底的溯源模式,即通过在冷链食品进入湖南省的第一站完成对冷链食品的二维码赋值,并使供应链上其他节点均通过此二维码写入当前节点的流通信息,实现所有流通数据上链,最后消费者通过扫描二维码可以查看冷链食品各个站点的流通信息。
图1 湘冷链溯源方案结构图Figure 1 Structure diagram of Hunan cold chain traceability scheme
进口冷链生产加工厂主要是指境外食品生产商,其进口冷链食品数据信息主要通过湖南省境内进口贸易商完成录入上链。进口贸易、运输仓储企业、物流企业和销售单位的信息录入过程相同,以销售单位为例,将收集到的数据存储至销售数据库中,销售节点通过对录入数据进行非对称加密算法加密生成数据摘要并发送至区块链上,在链上节点达成共识后将数据摘要写入区块,同时区块返回一个哈希值至销售数据库中,从而完成链上的数据存储与共享,在数据的存储读取过程中,为了解决区块链系统读取效率低的问题,提出一种读写分离的状态数据缓存和查询的方案。
依据湘冷链溯源方案的设计,基于Hyperledge Fabric平台实现湘冷链溯源系统,且按照层次结构划分为5层:数据存储层、共识及网络层、数据分析层、食品溯源层以及应用层(见图2)。
图2 湘冷链溯源体系层次结构图Figure 2 Hierarchical structure diagram of Hunan cold chain traceability system
2.2.1 数据存储层 通过从进口冷链生产加工厂、进口贸易、运输仓储企业、物流企业和销售单位中进行数据采集,并依据数据仓库和信息库两种数据类别分类存储,同时区块链节点通过非对称加密算法得到相应的数据摘要并根据数据摘要返回相应的哈希值得到数据索引,完成数据的双向存储。为了解决区块链系统读取效率低的问题,提出一种读写分离的区块链状态数据缓存和查询方法,利用缓存系统减轻区块链系统的负担,从根源上提高区块链系统的读取效率。
2.2.2 共识及网络层 主要包括P2P网络、验证机制、传播机制、PoW共识机制以及PoS共识机制,由这些关键性技术共同完成区块链上数据的存储和共享。
2.2.3 数据分析层 主要是对收集到的图片文字、位置信息、商户关联、商品关联、市场关联以及时间关联信息进行分析。
2.2.4 食品溯源层 主要完成对地图、时间、商户和产商的信息溯源,以及对商品、市场、产商和流向信息的统计。
2.2.5 应用层 主要是指湘冷链溯源系统的APP和WEB端应用,实现包括监管系统、溯源系统、交易系统和数据查询系统。
根据湘冷链溯源方案设计和系统层级结构设计,为了实现对疫情防控重点冷链食品在供应链上的全闭环追溯管理,将系统功能分为3块(图3):① 面向政府执法人员的监管端;② 面向进口冷链食品生产经营者的企业端;③ 面向公众冷链食品查询的公众端。其中监管端主要提供分级分层的食品追溯和溯源倒查的功能,针对领导和监管工作人员打造不同的功能和界面;企业端主要提供食品流通的申报备案、出入库登记、检验检疫信息识别上传、追溯码赋码、拆包等功能;公众端提供面向公众的冷链食品扫码查询溯源信息的功能。
图3 整体系统架构图Figure 3 Overall system architecture diagram
监管端的业务功能模块如图4所示,主要分为冷链企业管理模块和冷链商品批次管理模块。
图4 监管端功能模块图Figure 4 Function module diagram of supervision end
冷链企业管理模块主要实现了湖南省市场监督管理局执法人员对供应链上的企业进行实时监管管理,如图5所示。实现按照相应条件搜索相关企业并对其登记信息进行查看的功能,通过随时查看冷链食品流转过程中的企业资质信息,流转各环节的产品信息及食品检测信息,确保供应链上的企业都具有合法资质。
图5 冷链企业管理图Figure 5 Cold chain enterprise management chart
冷链商品批次管理模块主要对链上流入和流出湖南省冷链商品进行溯源,实现按照条件搜索冷链产品,并对冷链产品信息进行查看,如图6所示,其中冷链产品信息包括批次基本信息、消费者信息、涉及企业信息以及涉及人员信息等,还可以查看四证照片包括检疫免疫照片、核酸检测照片、报关照片和消毒记录照片。
图6 流入流出湖南省冷链商品详情查看图Figure 6 Details of cold chain goods flowing into andout of Hunan province
监管端基于湖南省市场监督管理局数据中心获取的全链条追溯信息、主体信息、冷库信息以及产品信息,实现冷链主体管理、冷链食品追溯、综合分析展示、下级监管考核以及应急指挥调度功能。通过将供应链结构设计为类树形结构实现溯源链条信息可视化及全局掌控,如图7所示,基于树形结构自身的优点,当发现有疑似问题的冷链食品时,湖南省市场监督管理局执法人员可以在包含大量上游企业的供应链上快速缩小检查范围,并通过查询链条中各个企业的归属监管主体机构,迅速将追查任务分发至多个对应的市场监管局及监管人员,从而封锁有疑似问题的冷链食品,阻止疫情蔓延。
图7 冷链食品供应链流通信息图Figure 7 Cold chain food supply chain circulation infographic
湘冷链溯源平台相关的企业需要经过统一社会信用代码激活认证,且按照经营类型划分为8类(见表1)。
表1 企业类型表
企业端主要划分为小程序端和PC端,业务功能模块如图8所示。其中小程序端的业务功能模块主要分为五大模块:注册登录模块、企业管理模块、冷链溯源模块、台账模块以及用户操作模块。
图8 企业端功能模块图Figure 8 Enterprise function module diagram
注册登录模块主要完成企业基本信息的注册,包括冷链企业名称、详细地址、联系人姓名、联系电话、所在省市、统一社会信用代码以及企业类型等相关信息。企业管理模块主要完成企业的信息修改工作,包括企业基本信息的完善与修改、企业人员信息的增加与删除、供应商信息的增加与删除以及客户信息的修改。冷链溯源模块主要完成对仓库信息的管理,如图9(a)所示,冷链商品的入库、查看批次码、批次详情和库存记录和盘库,发往省内的出库信息记录以及发往省外的出库信息记录。其中冷链商品的入库盘库所需填写的信息包括入库数量、规格型号、生产批次号、生产日期、流入单号、流入地分类和名称、检验检疫单号、报检数量、报检单位、检验检疫照片、核酸检测照片、报关照片等。
台账模块主要是在省内或省外发货创建发货单后自动生成台账,如图9(b)所示,既可以通过台账查看该笔订单的状态及信息,还可以完成台账撤销,撤销台账之后商品会自动退回至供货商该批次商品所在仓库中。客户操作模块主要完成客户确认到库入库操作和消费者扫码登记购买操作。对商品进行首站赋码后,可以让消费者进行扫码登记购买,并且在系统中记录购买信息,从而实现对该批次商品的溯源。
图9 企业端小程序图Figure 9 Enterprise side applet diagram
PC端的业务功能模块主要分为三大模块:注册登录、企业管理以及冷链库存模块。与小程序端的功能相似,主要实现了企业的信息注册登记,对企业、企业人员、客户以及供应商的信息查看修改登记,同样可以查看冷链产品的库存信息、完成批量导入库存信息、查看批次商品详情、上传四证照片以及溯源二维码打印等操作。
企业端基于区块链中的智能合约完成对企业录入数据的合规性检查,当且仅当检验合格后对协议(交易)过程进行验证并记录,并再次利用智能合约自动授权下游流通企业对食品信息进行补充维护,保障了链上数据的可信任性。若检验发现被供应进口冷链食品与其对应的文档记载信息不符,则将结果写入系统,同时系统将自动反馈问题至监管部门节点,实现针对疑似问题食品的举报功能,保障链上数据的真实性。若检验工作出现疏漏未检测出疑似问题食品,导致食品流入到下游流通企业时,首先判定下游流通企业在食品验收环节出现疏漏为主要担责方,其次根据食品信息文档可追溯至对应的上游流通企业追责其瞒报行为,全数召回由其提供的冷链食品,避免发生更大范围的食品安全事故,保障了链上数据的可溯源性。
公众端主要通过消费者扫描二维码实现对冷链食品的溯源查询和购买,如图10所示,同时一旦查出含有疑似风险问题的食品,可以迅速锁定相关企业和食品并进行下架处理,最大程度地降低风险影响范围。
唐后期统治者已经意识到三卫的假荫现象,采取多种措施,但还是难以抑制。究其原因主要是:在开元时规定“凡诸卫及率府三卫,贯京兆、河南、蒲、同、华、岐、陕、怀、汝、郑等州,皆令番上,余州皆纳资。 ”〔8〕(p1833)就是除了京兆、河南等地,需要在三卫番上服役外,其余地方则可以通过纳资代替。这就导致诸卫公开纳资,不严格审查选人资格,选拔不分士庶出身,假荫盛行。
图10 二维码扫描溯源查询和购买登记图Figure 10 QR code scanning traceability query andpurchase registration map
湘冷链溯源系统中的数据上链方式依据各参与企业的类型分为两种:① 针对拥有自有系统的企业,首先将流通数据写入至企业自有系统,然后通过接口方式将数据传送至湘冷链溯源系统进而完成数据上链;② 针对没有自有系统的企业,直接基于湘冷链溯源系统的小程序端和PC端写入流通数据实现上链。所有上链的数据都需要经过智能合约进行校验,只有校验通过的数据才会存储在区块链的各个节点上,因此在湘冷链溯源系统的数据存储层中,存储了大量供应链上的数据信息,主要分为状态数据和冗余历史数据,其中状态数据包括如商户信息和智能合约等数据;冗余历史数据是指某个区块高度下的账户状态数据发生改变之前的状态数据。
当前主要是利用couchdb或levelDB实现对这些数据结构的存储,这种方法的缺点是随着账户的交易地址或者公钥的增多,底层Merkle Tree的高度也会增加,因此查询区块链的状态数据一方面会涉及到多次从peer节点中读取造成效率降低,尤其执行到较高区块高度时效率问题尤为严重;另一方面是在联盟链中查询数据时无法做到均衡请求,从而会造成某些peer节点响应频繁达到较高负载,某些peer节点空闲,甚至零负载的问题。
根据湘冷链溯源系统的结构设计,为了解决上述问题,提升湘冷链的溯源查询效率,提出了一种针对区块链系统的读写分离方案:当需要存储交易数据时,同时在区块链系统和缓存系统中写入;当需要查询交易数据时,只需要向缓存系统请求查询。
基于Hyperledger Fabric系统与分布式缓存系统的一次完整的交易存储处理流程如图11所示。其中client节点主要完成数据上传任务,由湘冷链溯源系统中的各个进口冷链食品流通企业和零售企业负责。Endorser节点主要完成冷链食品上链过程中的背书验证任务,由拥有企业系统和服务器的进口冷链食品流通企业和零售企业中较大的企业负责。Orderer节点主要完成对链上各条数据进行排序以及归档存储位置任务,由市场监管局负责。peer节点主要完成链上数据的存储归档任务,由市场监管局和大型企业共同负责。Endorser节点对Client节点发送的交易请求进行背书验证,完成验证后将此交易信息传送至Orderer节点完成对交易数据的区块打包,随后Committer节点将此区块上链。peer节点通过Endorser节点和Committer节点完成对整个区块链账本信息的更新和维护。具体流程为:
图11 基于Hyperledger Fabric系统与分布式缓存系统的一次完整的交易存储处理流程Figure 11 A complete transaction storage processing flow based on Hyperledger Fabric systemand distributed cache system
(1) Client节点构造签名提案消息并发送该消息到Endorser背书节点请求处理,Endorser背书节点检查签名的合法性后模拟执行交易提案并签名背书,然后向Client节点返回提案响应消息,并分发隐私数据明文。
(2) Client节点检查提案响应消息状态的合法性后,发送交易数据给Orderer服务节点请求排序,Orderer节点对符合通道处理要求的合法交易消息进行排序并通过共识达成一致观点,对一段时间内接收的一批交易消息按照打包交易的出块规则构造新区块,此时缓存系统根据缓存策略存储热点交易数据和非热点交易数据。
(3) Leader主节点通过服务接口从Orderer节点请求通道账本上所有的区块数据,并通过Gossip消息协议分发至组织内的其他peer节点,Committer记账节点验证交易并提交账本。
图12 缓存系统架构图Figure 12 Cache system architecture diagram
缓存系统面临的两个问题和解决方案:
(1) 如何保证数据的一致性:缓存系统在保障数据的一致性上主要利用gossip协议[12],其基本思想是当一个节点进行信息分享时,通过随机选择的一些节点并将信息进行传递,以此类推,完成整个网络上的信息传递。
(2) 如何及时应对部分缓存实例宕机:① 当缓存系统中的一个实例出现故障时,剔除此实例只会影响一致性哈希环上的部分缓存不命中,而不会导致大量缓存瞬间回溯到fabric系统。② 当整个缓存集群出现问题时:其一是主从机制,做好冗余,即其中一部分不可用时将对等的部分替补上去;其二是若整个缓存集群故障并且没有备份时,可以根据系统的承受能力,通过降级方案使一部分用户先用起来,并将这些用户相关的缓存进行重建,另外通过后台Worker进行缓存数据的预热。
基于区块链数据不可篡改、可信任以及可溯源的特点构建的湘冷链溯源系统, 为湖南省市场监督管理局提供了一种新的监管模式。通过提供小程序端口提高了企业的工作效率,并且在冷链食品进入湖南省的第一站时为每一个冷链食品进行二维码赋值,实现首站赋码、一码到底的管理模式,进口冷链生产经营者之间通过共享冷链食品清单,防止有疑似问题的食品流入供应链进行销售,并在锁定疑似食品后通过系统迅速上报,完成整个链上的信息共享,消费者通过扫描二维码完成对食品的溯源及购买。针对区块链系统读写数据效率低的问题,提出了利用缓存系统实现对状态数据读写分离的方法,将数据同时存储在区块链系统和缓存系统中,但是在读取时只在缓存系统中提出请求,这种方式减轻了区块链系统的负担,提高了区块链系统的读写效率,解决了区块链系统在实际应用中因数据冗余造成的效率低下的问题。
目前该系统已经对接国家冷链平台,下一步旨在逐步完善系统功能,建设全链条追溯监管功能。在数据层面力求打通湖南省卫健、海关、农业、商务等部门,同时通过对接企业自建系统上报数据,实现湖南省食品追溯环节数据共享。在应用层面进一步完善追溯环节、追溯码、产品管理以及信息上链防篡改功能,力求实现可信闭环冷链食品“物防”追溯体系,并且根据实际需要,逐步扩展湘冷链追溯品种的覆盖范围,实现食品来源可追溯,去向可追踪。