期刊介绍
期刊导读
- 07/22今天讲一下医药界的黄埔军校
- 07/21刚获今年“医药界诺贝尔奖”提名,两款“神器
- 07/18关注英才大会|分子检测、人体再生 生物医药界
- 07/18医疗展区最早满馆!获“医药界诺贝尔奖”提名
- 07/18医药界176名富豪入胡润百富榜
基于区块链的医药防伪溯源系统研究(2)
此系统针对目前医药防伪溯源系统的不足之处有如下创新:(1)利用区块链技术解决传统医药溯源系统存在的数据存储中心化易篡改问题,保证药品数据的可靠性。(2)结合区块链技术和链码功能加入药品的流通信息和使用信息,保证药品数据流的完整性。(3)利用Fabric基于证书认证的账号体系结合链码功能保证数据信息的私密性。
3 系统模型
3.1 系统流程
图1展示的是系统的总体设计流程:包括Fabric网络环境搭建、链码开发、客户端开发及药品信息的上传与查询。其中具体流程如下:
①Fabric环境多机部署及链码开发:根据系统的功能需求部署Fabric环境,系统环境配置有三个组织,分别对应医药厂、经销商和医院三个现实场景,且三个组织的节点加入同一个通道,每个组织的节点上安装不同的链码以实现不同组织对药品不同操作功能的需求。
②药品信息上传:药品在医药厂被生产和包装,出厂时药品包装上会有唯一的药品溯源码。在药品流通到医药厂、经销商和医院三个组织时,根据各组织节点上安装链码的功能,以药品溯源码为键,在终端或客户端用各个组织内经过认证的用户账号分别将药品的生产信息、流通信息及使用信息上传到Fabric区块链。
③药品溯源信息查询:消费者在购买或使用药品后,使用经过组织3认证的用户账号登录区块链医药防伪溯源平台,输入药品溯源码,即可跳转至药品溯源信息显示界面,得到药品从生产到使用各个阶段的溯源信息,此过程仍通过链码3实现。
3.2 系统架构
本文系统架构模型包括Fabric网络环境模块、智能合约模块和Web服务及客户端开发模块三个部分[16]。具体架构设计如图2所示。
图1系统流程图
图2系统架构模型
Fabric网络环境模块包括数据层和网络层,它的功能是对数据采集部分采集到的药品数据进行存储。其中数据层是区块链的核心部分,用于将药品流通过程中产生的数据加密后上传到区块链[17];网络层是Fabric区块链平台信息传输的基础,包括共识机制、P2P网络及网络中的数据验证机制[18];数据采集部分需要采集的数据包括药品的生产信息、物流信息及使用信息,其采集数据的具体分类如图3所示。此处显示的药品信息即为系统需要上传和查询所得的信息。
图3采集数据的具体分类
智能合约模块指的是合约层,是系统的核心,封装的是能够实现系统功能的智能合约[19]。Fabric上的智能合约又被人称为链码(Chaincode),是一段可以在Fabric区块链平台上进行验证,存储和执行等操作的代码,而且链码还有与Fabric网络进行交互的功能。
Web服务及客户端开发模块包括应用层和用户层,使消费者及药品流通过程的各参与者与Fabric区块链平台进行交互,为用户提供简洁的互动界面[20]。其中应用层包括输入接口和各种信息查询入口;用户层面向用户或商家,包括药品流通过程中各个参与者。
4 系统功能实现
医药防伪溯源系统的完成需要Fabric网络环境、智能合约和Web服务及客户端开发三个模块功能的协同实现,下文将会详细介绍各个模块功能。
4.1 Fabric网络环境模块
Fabric网络环境模块的主要功能是创建系统所需的组织节点,具有链码的运行环境,并将药品数据信息上传至区块链。根据图1所示的系统流程图部署Fabric环境,使用配置文件的方法创建组织节点,并通过Fabric的模块生成证书和数据文件以及系统和通道的创始块,最后开启orderer节点和peer节点,创建通道并将节点加入通道,完成医药防伪溯源系统的Fabric网络环境多机部署,以便用来实现药品数据的存储及查询,确保数据的真实性及完整性。根据系统需求,其配置信息中的组织标识符和组织ID及后续所安装的链码名字如表1所示。
表1医药防伪溯源系统组织信息表images/BZ_43_1361_427_2182_480.png医药厂经销商医院Org1 Org2 Org3 Org1MSP Org2MSP Org3MSP c_factory_cc c_dealer_cc cc_hospital_cc
4.2 智能合约模块
基于区块链的医药防伪溯源系统的智能合约模块封装的是药品数据存储和查询的链码。一段完整的链码包含链码代码和链码管理命令两部分。链码代码是功能业务的承载体,负责具体的业务逻辑与身份认证。链码管理命令负责链码的部署,安装,调用等工作,命令中包含操作对象的数据信息;通过整体分析,运用在医药防伪溯源系统上的链码具体结构如图4所示[21]。
文章来源:《医药界》 网址: http://www.yyjzz.cn/qikandaodu/2020/0718/368.html