me前沿

农产品质量安全追溯管理平台设计说明

作者:光年食客

1.业务总体模型

针对农产品质量安全追溯管理平台的平台建设问题,首先要了解系统要实现的业务总体要求,根据食品市场的实际情况,从整体到局部、从主要到次要,事分轻重缓急的逐项分析解决。

农产品安全溯源平台数字建设
数据中心 数据交换 业务系统 用户查询系统

保证在平台建设方面要全面周到的满足各领域、各个体、各环节的需求,建设一个健康、全面的食品安全监督平台。追溯平台建设要实现的业务总体要求如图 1-2所示。

图 1-2 农产品质量安全追溯管理平台建设要实现的业务总体要求示意图

上图是整个农产品溯源系统流程框架图,从数据流和业务流两个维度进行推进,覆盖农场基地、各地分仓、工厂总仓、加工车间、包装车间、企业仓库等应用场景,可以实现全程监测、数据采集、生产线控制,利于企业管理和消费者查询。

另外,平台本身要支持nfc和二维码两种形态的标签与产品的结合,通过app记录产品流通过程中的绑定、出入库操作。

农产品溯源系统框架图

上图是农产品追溯平台系统架构图,覆盖客户端执行架构、应用层执行架构、数据层执行架构,包括客户层、应用层、数据层的多种交互实现方式和逻辑说明。

潜利可以提供标准的数据接口,能够兼容农业企业的现有系统,提供配套的客户端程序和APP,便于企业收集农产品种植、养殖、加工、流通过程数据,从而对优质农产品进行整体策划和包装,提升附加值和溢价能力,增强市场竞争力。

2.系统设计原则

农产品质量安全追溯管理平台平台的建设是根据食品安全监管体制、社会实际市场的规则和各级用户群体的需求而建立的网络监管系统平台。食品安全系统建立必须秉承一定的设计原则。

2.1标准化

按照行业发展的规律,将系统设计标准化是一个不可避免的趋势。系统设计的标准化原则包含以下内容:

技术标准化:系统的设计应体现“高起点、高质量、高水平”的设计要求;

结构标准化:提高系统设计的稳定性和灵活性,采用熟知的系统架构,保证系统的可推广和扩张性,降低系统的设计风险;

接口标准化:系统平台的接口设计上,应该符合国家规定的基本系统接口要求, 同时应该联合各级用户和监管部门,联合办公满足不同系统的链接交互;

数据标准化:系统的数据库存储数据,首先要符合国家相关政策的要求,同时便于各级用户数据的统一。

2.2模块化

系统平台的模块化设计是将整个食品安全系统平台按照不同的逻辑结构、不同功能和设计方式等原则划分为不同的模块,在模块化的过程中保证系统的可拆分、可重组和扩展性。

不同的模块行使不同的功能,完成不同的任务,同时系统的模块化设计是为了令子系统即模块之间的耦合性较低,便于系统的修复和维护,以及增强系统的鲁棒性能。

2.3安全性

安全性是系统平台建设的基础,是任何工程下的基本保障。农产品质量安全追溯管理平台的安全性不仅包括系统技术的安全性,还包括系统数据库信息的安全性。任何系统内的信息都应该受到系统的安全性保障,避免他人利用系统数据库内的信息做非法类勾当,或者破坏系统技术,危害食品安全。

在网络化的社会环境下,网络安全也是人类日益关注的焦点。安全的系统环境,可令系统内各级用户放心使用。

2.4可移植性

在农产品安全的系统的用户群中,各级用户根据自身的需要已经建立了自己的业务系统,为了保证本系统与用户业务系统无缝衔接、保障业务数据安全完整,避免不同业务系统的重复性,以便于对新的系统平台的完全整合。对于系统用户来说也便于良好的融合。

2.5标准化先进性

系统的先进程度决定了系统的实用性和未来的建设性。为了保证本系统的先进程度,要在系统的技术层面和行业涵盖面都多个方面都具有先进性。本系统的建立为同类产品树立新的标杆,引领行业新规范,在符合国家食品药品行当的相关法规和长久要求的同时,开发新的核心技术、新的信息安全技术、软件开发新框架等。系统的标准化先进性是系统可扩展性的良好保证,是食品安全系统在行业尖端的实用性体现。

2.6易于扩充升级

对于系统的兼容性方面,保证系统用户的已有业务系统能够成功被接受到本系统中,良好的系统接口不但可以成功并入不同的业务系统,而且在今后的系统扩展方面具有易于可扩充升级的优点。当系统的应用需求或系统的数量发生改变时,系统的可扩充性可满足系统的升级空间,保护现有投资,方便调整需求,用户可以根据自己需求自行进行扩展功能。

2.7实用性和经济性

如何保证系统的最佳性价比,即系统的实用性,提高食品行业的社会效益和经济效益是系统建设过程中的关键问题。综合考虑系统的现有资源和投资,充分利用现有的国家方针和相关法律法规,坚持从实用性和经济性的角度考虑系统建设,着眼近期目标和长远目标,购置先进的硬件设备,实现最佳组合。

3.系统技术架构

系统技术架构的建设直接关系到追溯系统信息化建设是否成功,关系到是否达到预期的效果,根据系统的实际需要,从保证系统的安全性、系统的便于移植性、功能可扩展性和方便快速开发建设等多方面出发考虑,系统的开发语言采用多种混合语言编写,将系统建立为三层体系架构,支持在 Windows/Unix/Linux 等多种操作系统下运行,面向对象编程开发,保证系统的灵活性和扩展性。本系统采用的技术架构如下图 所示:

应用系统(追溯系统) 系统安全体系 开发实施规范
应用程序框架( Hibernat、e Spring 等)
中间服务层( Web、数据交换、工作流 )
系统软件平台(操作系统、数据库)
网络设备层(内外网、服务器)

为了使各级用户和外部用户方便快捷的操作,整个系统架构采用 B/S 应用模式。并应用 Web Service 规范来构建开放的 SOAP(Simple Object Access Protocol)访问接口。 前端用户界面应采用 MVC 技术来定制开发。后台数据库采用MYSQL数据集群数据库平台,分析搜索服务器系统应考虑采用 Redhed+Hadoop +Hbase+Mogoo DB 等大数据技术系统架构实现,预解决数据不断增长的性能瓶颈,数据采集系统采用php语言编程,最大程度保证整个系统运行的稳定性和数据采集及开发的效率。

3.1网络安全机制

(1)网络设备安全

网络设备安全主要考虑以下几个方面的因素:

1)管理员的认证与授权

对网络设备的控制台访问和远程访问都必须在严格的管理和控制之下,提供强认证机制,保证用户口令不在网络中明码传输,并定期更换口令。建议配置认证服务器, 对网络设备的访问进行统一的认证、授权、审计进行统一管理。

2)控制 SOAP、FTP、HTTP 访问

3)关闭设备上不必要的服务。

(2)网络服务安全

针对本项目的各种应用需求,常见的网络服务包括:域名服务、WWW 服务、FTP 服务、SNMP 网管服务等等,针对这些常用服务,要定期进行安全检查,下载最新的系统补丁程序,保障服务的可靠性。

1)WWW 服务

利用 HTTP 服务器的一些漏洞,特别是在大量使用服务器脚本的系统上,利用这些可执行的脚本程序,入侵者可以很容易的获得系统的控制权。

2)FTP

由于 FTP 服务器本身存在一定的缺陷,它的存在会使服务器错误配置,从而导致系统的安全问题。

(3)网络管理系统的安全

网络的安全由多个方面影响,在本系统中,由管理系统存储的网络设备配置等各种重要信息,以及在信息传输过程中的配置命令问题,都将会影响整个网络的安全。

4.引入区块链技术

区块链的分布式存储打破了传统溯源系统数据存储中心化的局面,使信息分布式存储在多个节点,每个节点都保持完整的信息副本,链上信息对所有参与成员都是透明且可验证的,同时增强了产业链各环节的信息互通性,其去中心化、透明性、可恢复性和防篡改 性的特点也使得其与农产品溯源领域极为契合。

4.1智能合约

智能合约又称为智能合同,是事件驱动的、有状态的、多方识别的、运行在区块链上的、能够根据预设条件自动处理资产的合约。智能合约的最大优点是使用程序算法来代替仲裁和合同的执行。如果说区块链是一个数据库,那么智能合约就是将区块链技术应用于现实的应用层。智能合约是在区 块链数据库上运行的一种计算机程序,能在满足源代码编写条件的情况下自动执行。智能合约为传统农产品溯源系统标准不同、流通性不强的问题带来了解决办法,实现了信息的连续实时传递和跟踪,且进一步增强了系统的去中心化。目前,智能合约在选举、供应链 优化、电子商务等场景中都得到了有效应用。

4.2区块链应用设计

农产品溯源涉及种植、仓储、加工、物流、销售、查询等多个环节,各环节之间的高效协作能够保障农产 品信息的有效溯源。根据农产品溯源的实际需求对区块链技术在产业链各环节的应用进行设计,使区块链中的智能合约和分布式存储技术能够确保产品信息流的正常传递,保证产品的流通、溯源和信息的分布式存储。

( 1) 种植( 生产) 环节。主要节点为农业种植基地。 节点需要将生产资料和产品信息录入并上传到区块链中,创建初始区块。在此过程中系统调用智能合约实现对节点的认证和信息上链,并通过数据分片的方式实现信息的分布式存储。当产品随着产业链流动进入下一环节即仓储环节时,当前节点会向下一个节点发送交易请求,双方利用密钥对区块进行验证,并根据内嵌在区块链中的智能合约进行交易过程,在全员审核 通过后完成交易,仓库便成为新的授权角色。在交易 过程中,监管部门作为链中的节点有权对种植信息进行访问及审查,审查合格后以私钥方式签名来认证种植环节合乎规范。

( 2) 仓储环节。此环节的主要节点为仓库(冷库) 。仓库接受了来自种植环节的产品之后,获得访问和维护产品信息的权限,并且将该环节特定信息写入区块中,在转移产品的过程中调用智能合约将变更 的溯源编码进行更新。这个过程中节点之间通过共识 算法进行区块的广播和数据的同步,使得链中的其他 节点也可以实现自身区块的信息更新和对该环节区块 的访问。

( 3) 加工环节。作为消费者最关心的环节,在收到来自于上一环节的产品后,需要写入加工信息。其 中: 检验合格信息需要有监管部门参与检验并通过数 字签名对产品的合格与否来进行认证,与产品信息一 同写入区块中,同时生产资料的供应商作为节点加入 到链中,防止产品溯源过程中产生断链现象。最后的 产品包装过程中,除了必要的包装信息外,还需要为产 品生成溯源码或二维码,便于消费者进行产品的溯源 查询。

( 4) 物流环节。主要节点为物流公司。在更新产品信息时需要提供物流信息,运输中每个包装上应包 含产品的标识,以便于当前节点与下一节点的对接 管理。

( 5) 销售环节。主要节点为超市等销售企业。农产品经过物流环节的运输后,会发往不同地区的销售企业,所以区块中的产品信息须添加当前节点的企业 信息; 销售企业同样也需要明确产品的来源信息、销售信息等,确保产品信息的完整性,由于以上环节的代码 逻辑与生产环节较为相似,故此处不再阐述。

( 6) 查询环节。主要节点是消费者和监管部门。 消费者可以通过扫描所购买产品包装上的一维码和二维码对产品进行溯源,获取产品的相关信息; 在查询过 程中系统首先会对消费者的身份进行验证,通过验证后系统将通过溯源码进行区块链地址查询,查询成功后返回地址,后台接口将该地址的区块信息反馈给消费者,完成逆向溯源的过程。