CN111429995A - 基于联盟链的疫苗追溯方法及系统 - Google Patents
基于联盟链的疫苗追溯方法及系统 Download PDFInfo
- Publication number
- CN111429995A CN111429995A CN202010526571.4A CN202010526571A CN111429995A CN 111429995 A CN111429995 A CN 111429995A CN 202010526571 A CN202010526571 A CN 202010526571A CN 111429995 A CN111429995 A CN 111429995A
- Authority
- CN
- China
- Prior art keywords
- chain
- vaccine
- circulation
- record
- contract
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/10—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to drugs or medications, e.g. for ensuring correct administration to patients
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Chemical & Material Sciences (AREA)
- Software Systems (AREA)
- Medicinal Chemistry (AREA)
- Epidemiology (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供基于联盟链的疫苗追溯方法及系统,包括:创建步骤:分别创建区块链服务网络和应用层;区块链服务网络用于执行通过签名交易调用的合约方法,并进行数据同步以获得实时区块数据;提交步骤:区块链服务网络将所述实时区块数据同步至所述应用层;应用层通过提交所述签名交易调用基础链的实体注册合约以注册实体账户,并向区块链服务网络提交疫苗环境记录和疫苗流转记录;追溯步骤:应用层向所述区块链服务网络提交检索请求,所述区块链服务网络根据所述检索请求追溯获得所述疫苗环境记录和疫苗流转记录。本发明能够与目前已建立的符合行业标准的疫苗追溯系统集成起来,能够有效获得疫苗流转记录和环境记录。
Description
技术领域
本发明属于区块链技术领域,具体涉及一种基于联盟链的疫苗追溯方法及系统。
背景技术
《中华人民共和国疫苗管理法》的第十条明确规定了疫苗上市许可持有人建立疫苗电子追溯系统的主体责任,但是,目前的追溯系统通常由疫苗上市许可持有人单方面方采用传统信息技术建立,其生成的数据无法验证来源的真实性和内容的完整性。
现有技术中有将区块链技术应用于产品(包括药品)溯源的方法,实现了数据的来源真实和内容完整可被验证,但是具体到疫苗追溯领域,仍然存在以下几个待解决问题:
1.大多数追溯方法无法与目前已建立的符合行业标准的疫苗追溯系统集成起来,需要全新的产品溯源码命名规则或新建疫苗追溯系统;
2.产品基础数据(例如:生产厂商、许可证、产品规格等数据)与流转数据混杂,导致处理大量重复的产品基础信息,而这些产品基础信息的多数信息是不必要的;
3.缺乏对区块链网络处理能力的可扩展设计,难以支撑全国范围内的疫苗追溯数据规模;
4.疫苗流转历史的可信依赖链上查询且查询效率低,给验证工作带来不便;
5.疫苗的流转过程涉及父子包装关联关系,现有技术中的追溯方法未容纳这种关联关系,从而无法形成子包装伴随父包装的完整流转历史;
6.大多数疫苗,要求流转全程保持严格的冷藏温度范围内,这个过程中环境跟踪设备会不间断产生温度/位置信息,现有技术的追溯方法存在两点局限:一是未实现冷藏单元环境记录与疫苗流转过程的关联;二是难以应对环境记录高频次、大规模的数据压力。
发明内容
本发明实施例提供一种基于联盟链的疫苗追溯方法及系统,以至少解决现有技术中的一个技术问题。
第一方面,本发明实施例提供一种基于联盟链的疫苗追溯方法,该疫苗追溯方法包括以下步骤:
S100,创建步骤:分别创建区块链服务网络和应用层;其中,所述区块链服务网络包括基础链、流转链和环境链;所述区块链服务网络用于执行通过签名交易调用的合约方法,并进行数据同步以获得实时区块数据;
S200,提交步骤:所述区块链服务网络将所述实时区块数据同步至所述应用层;所述应用层通过提交所述签名交易调用所述基础链的实体注册合约以注册实体账户,并向所述区块链服务网络提交疫苗环境记录和疫苗流转记录;
S300,追溯步骤:所述应用层向所述区块链服务网络提交检索请求,所述区块链服务网络根据所述检索请求追溯获得所述疫苗环境记录和疫苗流转记录。
进一步的,在S100中,所述创建步骤还包括:通过实体注册认证向所述基础链注册冷藏单元;
在S300中,所述追溯步骤还包括:根据冷藏单元的注册信息确定所述疫苗环境记录的服务地址。
进一步的,在S100中,所述创建步骤还包括:根据参考药品追溯码编码规则生成疫苗追溯码;以及
在S300中,所述追溯步骤还包括以下子步骤:
根据所述疫苗追溯码获得与所述基础链有关联的注册实体;
基于所述有关联的注册实体获得所述疫苗追溯码所在的流转链,以确定所述疫苗追溯码在流转过程中的流转链服务地址。
进一步的,在S200中,所述提交步骤还包括通过签名交易调用流转链的合约以确定所述疫苗追溯码之间的关联关系。
进一步的,所述区块链服务网络是通过以下子步骤创建的:
组网节点通过加载配置文件和创始块建立基础链;
在所述基础链上分别注册流转链、环境链的注册实体;
根据所述流转链、环境链的注册实体并基于所述基础链,组网建立流转链和环境链;
通过签名交易向所述基础链注册流转链和环境链的组网信息以生成组网列表,基础链更新所述组网列表并将更新后的组网进行全网推送。
进一步的,所述应用层包括流转应用、冷链应用和追溯应用;其中,
在S200中,所述提交步骤还包括以下子步骤:
所述流转应用所绑定的实体发起第一签名交易并向实体注册所在的流转链提交疫苗流转记录;
所述冷链应用所绑定的实体发起第二签名交易并向实体注册所在的环境链提交疫苗环境记录;
在S300中,所述追溯步骤还包括以下子步骤:
所述追溯应用绑定的实体发起第三签名交易并向区块链服务网络发起检索请求,所述区块链服务网络根据所述检索请求并基于流转记录的关联关系获得所述疫苗流转记录;
所述区块链服务网络根据所述检索请求并基于流转记录的关联关系以及流转记录与环境记录关联关系以获得疫苗环境记录。
进一步的,在S200中,所述提交步骤还包括以下子步骤:所述流转应用依据所述疫苗追溯码以确定第一目标流转链,通过签名交易将所述流转记录提交至第一目标流转链;
所述冷链应用依据冷链设备标识以确定第二目标环境链,并将环境记录提交至所述第二目标环境链;
在S300中,所述追溯步骤还包括以下子步骤:
所述追溯应用依据所述疫苗溯源码以确定第三目标流转链,基于所述第三目标流转链的父子包装关系追溯所述疫苗流转记录;
所述追溯应用通过流转记录中的冷链设备标识以确定第四目标环境链,并向所述第四目标环境链请求疫苗环境记录,以追溯所述疫苗环境记录。
进一步的,所述基础链包括实体注册合约、第一权限管理合约、数据子集分类注册合约、基本信息数据子集管理合约、组网注册合约和异常上报合约。
进一步的,所述流转链包括疫苗流转记录追加合约,在疫苗流转记录追加合约上添加第一前项流转记录标识,以数组方式将流转记录保存到键值对状态数据;
所述环境链包括环境参数记录合约,在环境参数记录合约上添加第二前项流转记录标识,在环境记录中添加进入冷藏单元的疫苗追溯码集合和离开冷藏单元的疫苗的追溯码集合;
当所述流转链的疫苗流转记录追加合约或所述环境链的环境参数记录合约的合约逻辑检查到异常时,调用所述基础链的异常上报合约,将问题疫苗状态实时发布到全网。
第二方面,本发明实施例提供一种基于联盟链的疫苗追溯系统,该疫苗追溯系统包括区块链服务网络和应用层;其中,所述区块链服务网络包括基础链、流转链和环境链;
所述区块链服务网络提供用于执行签名交易调用的合约方法,并进行数据同步以获得实时区块数据;
所述区块链服务网络将所述实时区块数据同步至所述应用层;
所述应用层通过提交所述签名交易调用所述基础链的实体注册合约以注册实体账户,并向所述区块链服务网络提交疫苗环境记录和疫苗流转记录;
所述应用层向所述区块链服务网络提交检索请求,所述区块链服务网络根据所述检索请求追溯获得所述疫苗环境记录和疫苗流转记录。
本发明的优点如下:
1、通过基础链中的“数据子集分类注册合约”,对《NMPAB/T 1004—2019 疫苗追溯基本数据集》中的数据子集类型及其字段进行注册,对提交数据子集类型的实体类型进行约束,并在提交数据子集时进行检查;采用符合《NMPAB/T 1002—2019 药品追溯码编码要求》的药品追溯码,能够与符合标准的现有的疫苗追溯系统集成。
2、采用基础链的“基本信息数据子集管理合约”维护上述疫苗追溯基本数据集中的疫苗追溯基本数据集,通过数据同步和数据项关联,流转信息关联和复用这些基本信息,不必在每条流转记录重复处理基础数据。
3、借助基础链的“实体注册合约”、“组网注册合约”,通过新建和注册流转链、新建和注册环境链,能够扩展整个区块链服务网络的处理能力,以支撑全国范围的疫苗追溯数据规模。
4、通过“疫苗流转记录追加合约”在疫苗流转记录追加合约上增加第一前项流转记录标识,以数组方式将流转记录保存到键值对状态数据;根据疫苗追溯码可以一次getKV读取即可获得完整的疫苗流转历史。在流转记录中增加了参与交接环节的多方实体签名,锁定了流转过程的相关责任人,增加了伪造记录的难度;流转记录中的数据子集中的“上一级包装 药品追溯码”可用于追溯上级包装的流转历史,形成子包装完整的流转历史。
5、通过“环境参数记录合约”在环境参数记录合约上增加第二前项流转记录标识,在环境记录中增加进入冷藏单元的疫苗追溯码集合和离开本冷藏单元的疫苗的追溯码集合,记录了疫苗进入和离开冷藏单元的时刻,该信息与疫苗流转历史比对,增加了伪造记录的难度。当冷藏单元出现某个时间段的环境记录异常,可以依据该信息正向追踪到相关问题疫苗,并上报异常。
6、流转链和环境链采用异常主动上报机制:当“疫苗流转记录追加合约”或“环境参数记录合约”的合约逻辑检查到异常,出块时共识节点将主动调用基础链的“异常上报合约”,将问题疫苗状态实时发布到全网,降低了使用环节确定问题疫苗的复杂度;同时也减轻了了不必要的对正常的疫苗流转历史和环境记录的查询压力。
附图说明
图1为本发明实施例提供的一种基于联盟链的疫苗追溯方法的流程示意图;
图2为本发明另一实施例提供的一种基于联盟链的疫苗追溯方法的流程示意图;
图3为本发明实施例提供的流转记录的关联关系图;
图4为本发明实施例提供的流转记录与环境记录关联关系图;
图5为本发明实施例提供的一种基于联盟链的疫苗追溯系统的结构示意图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
为了便于理解具体实施方式中的相关术语,下面首先对下文中出现的相关术语进行简要说明。
疫苗上市许可持有人——包括境内、境外疫苗生产企业、进口疫苗代理企业等持有疫苗上市许可的实体。
药品追溯码——参见《NMPAB/T 1002—2019 药品追溯码编码要求》,本实施例中也简称为“dtc”或称为“疫苗追溯码”。
冷藏单元——疫苗流转过程中用于保持其环境温度的冷库、冰箱和冷藏车,冷藏单元是通过配备采集和签名交易所上报环境数据(温度/位置)的装置。
疫苗追溯相关实体——包括疫苗上市许可持有人、各级疾病预防控制机构、配送单位、接种单位等机构及其包含的经办人员、信息系统、设备、冷藏单元等读写追溯数据的行为主体。
标识——即唯一标识,用以区分和查找数字对象的索引,本实施例中“Id”即标识,若无特殊说明本实施例中的“Id”均采取通用唯一识别码(uuid)的手段生成。
外部状态——也称作世界状态(World State)或KV状态数据,与区块链账户相关的一组键值对(Key-Value),可以持久化到区块数据之外,供合约读写。除了对世界状态的读写,本实施例中的命令模式封装方法也适用于通过预言机对其他外部状态的读写封装。
合约——即智能合约,可以被区块链合约容器加载和执行的代码,合约拥有唯一标识、合约包含供签名交易调用的方法,合约方法通过合约容器提供的接口读写外部状态。
签名——本实施例中的签名包含实体账户标识和数字签名两部分;其中,数字签名通过公钥加密领域的方法实现,用于鉴别数字信息的方法;账户标识用于从关联交易中提取签名者的数字证书,用以验证其数字签名。
签名交易——包含交易发起方签名的结构化数据,代表了签名者的授权行为。
联盟链——与比特币等公有链相对应的一类区块链实现。本实施例中的联盟链具备的技术特征如下:
支持对区块数据和KV状态数据的存取;采用准入许可组网;支持拜占庭容错共识算法;支持通过签名交易部署合约和调用合约方法,合约方法参数可以是结构化对象;提供外部访问API以:提交签名交易、检索区块数据、检索KV状态数据以及实时同步检索区块数据、检索KV状态数据。
基础链——由行业协会、监管机构及其他公信机构,采用许可组网建立的一个联盟链,承担全网实体注册与认证、基本数据集维护、流转链与环境链的注册、疫苗状态发布等基础性功能。
流转链——由疫苗上市许可持有人与其他公信机构,采用许可组网建立的多个联盟链,向基础链注册疫苗上市许可持有人与其他公信机构的Id,上报异常,并从基础链同步注册实体、基本数据;负责记录一部分疫苗追溯码的完整流转记录(包括进出冷藏单元的记录)。
环境链——由冷藏单元所属机构与其他公信机构,采用许可组网建立的多个联盟链,向基础链注册该冷藏单元所属机构与其他公信机构的Id,上报异常,并从基础链同步注册实体、基本数据;负责一部分冷藏单元的完整环境记录。
为方便阅读该具体实施方式,实施例一主要包括以下几个部分。
一、基于联盟链的疫苗追溯方法
1、联盟链的疫苗追溯方法的流程
2、冷藏单元的作用;
3、追溯码的作用和之间的关系;
二、分别说明区块和签名交易的数据结构。
三、区块链服务网络
1、区块链服务网络的创建过程和组成结构;
2、基础链、流转链和环境链的建立过程;
3、说明基础链、流转链和环境链的组成结构;
4、结合图3、图4说明流转记录的关联关系以及流转记录与环境记录关联关系图。
四、应用层的组成结构和工作过程
实施例一
一、基于联盟链的疫苗追溯方法
参见图1,图1为本发明实施例提供的一种基于联盟链的疫苗追溯方法的流程示意图,该疫苗追溯方法包括以下步骤:
S100,创建步骤:分别创建区块链服务网络和应用层;其中,所述区块链服务网络包括基础链、流转链和环境链;
所述区块链服务网络用于执行通过签名交易调用的合约方法,并通过数据同步以获得实时区块数据;
S200,提交步骤:所述区块链服务网络将所述实时区块数据同步至所述应用层;
所述应用层通过提交所述签名交易调用所述基础链的实体注册合约以注册实体账户,并向所述区块链服务网络提交疫苗环境记录和疫苗流转记录;
S300,追溯步骤:所述应用层向所述区块链服务网络提交检索请求,所述区块链服务网络根据所述检索请求追溯获得所述疫苗环境记录和疫苗流转记录。
进一步的,在S100中,所述创建步骤:还包括通过实体注册认证向所述基础链注册冷藏单元;
在S300中,所述追溯步骤还包括:根据冷藏单元的注册信息确定所述疫苗环境记录的服务地址。
进一步的,在S100中,所述创建步骤还包括:根据参考药品追溯码编码规则生成疫苗追溯码,
在S300中,所述追溯步骤还包括以下子步骤:
根据所述疫苗追溯码获得与所述基础链有关联的注册实体;
基于所述有关联的注册实体获得所述疫苗追溯码所在的流转链,以确定所述疫苗追溯码在流转过程中的流转链服务地址。
进一步的,在S200中,所述提交步骤还包括通过签名交易调用流转链的合约以确定所述疫苗追溯码之间的关联关系。
二、区块和签名交易的数据结构
本实施例的实时区块数据包括前后衔接的包含签名交易序列的区块;需要说明的是,本实施例的合约方法采用Scala语法定义。
1、下面对区块(Block)的基本数据结构进行介绍,包括字段名、数据类型以及各字段的定义说明,具体如下:
version:Byte;区块版本编号;
height:Long;区块高度
hashOfBlock:Array[Byte];本区块Hash;
previousBlockHash:Array[Byte];前一区块Hash;
transactions:Array[Transaction];区块包含的交易序列;
endorsements:Array[Signature];区块的出块及背书签名;其中,该endorsements包括以下3个子字段:
eid:String;出块节点注册实体Id;
algorithm:String;签名算法说明;
signature:Array[Byte];数字签名。
其中,上述字段previousBlockHash形成了前后衔接,从而保证了区块链内容的完整性;
字段hashOfBlock保证了当前区块的内容完整性,相关签名保证了来源的真实性。
2、下面对签名交易(Transaction)的基本数据结构进行介绍,包括字段名、数据类型以及各字段的定义说明,具体如下:
id:String;签名交易的Id,也称tx_id;
Type:Int;类型,1:部署/升级合约 2:调用合约 3:启用/禁用合约;
cid:String;合约Id;
cver:Int;合约版本;
para:Parameter;输入参数;其中,字段para包括以下3个子字段:
spec:Deploy;部署合约输入参数;
state:Boolean;启用/禁用合约输入参数;
ipt:Input;调用合于输入参数;其中,字段 ipt包括以下2个子字段:
func:String;合约方法名;
args:Array[String];以序列化JSON字符串传入的方法参数;
signature:Signature;交易的签名;其中,字段signature包括以下3个子字段:
eid:String;交易提交者注册实体Id;
algorithm:String;签名算法说明
signature:Array[Byte];数字签名。
其中,上述字段signature要求发起交易者对交易签名;
para对应部署合约或调用合约方法的交易输入项;
cid指定合约Id;cver指定合约版本;
ipt则指定了合约方法,以序列化JSON字符串传入的方法参数。
注册实体通过签名交易可以部署合约或调用合约方法,发起调用的权限由权限管理合约定义,合约方法的参数类型是在合约方法中定义,以序列化JSON字符串传入的基础数据类型、符合数据类型或对象类型。在合约方法中,通过合约容器传入的合约上下文,可以对KV状态数据进行读写操作,通过对象序列化,可将任意类型的对象写入KV状态数据或读出,例如:
def setKV(key: String, value: Any):Unit
def getKV(key: String):Any
本实施例的对象序列化是通过调用第三方序列化组件(例如:Kryo)实现的。
三、区块链服务网络
1、区块链服务网络的创建过程和组成结构
下面将结合图2来说明本实施例的区块链服务网络的创建过程和组成结构。
参见图2,本实施例的区块链服务网络是通过以下子步骤获得:
组网节点通过加载配置文件和创始块建立基础链;
在所述基础链上分别注册流转链、环境链的注册实体;
根据所述流转链、环境链的注册实体并基于所述基础链,组网建立流转链和环境链;
通过签名交易向所述基础链注册流转链和环境链的组网信息以生成组网列表,基础链更新所述组网列表并将更新后的组网进行全网推送;
分别设置流转链和环境链的相关注册实体的读写权限。
2、基础链、流转链和环境链的建立过程
本实施例采用许可组网建立基础链、流转链和环境链,即参与组网的节点加载创世块,以启动区块链服务网络,下面将结合图2、图3和图4来进一步的说明基础链、立流转链和环境链的建立过程和组成结构。(1)基础链的建立过程
本实施例的基础链是通过以下子步骤建立的:
在第一配置文件中设置基础链管理员的实体及证书;
通过加载第一创世块建立所述基础链;其中,所述第一创世块包括多个签名交易,通过所述多个签名交易来完成以下操作中的一个或多个:
部署实体注册合约;
基础链管理员通过所述多个签名交易调用所述实体注册合约建立初始注册实体,这里初始注册实体是指组网的节点实体或负责实体认证的实体;
部署第一权限管理合约;
建立初始注册实体的初始权限关系。
(2)流转链的建立过程
本实施例的流转链是通过以下子步骤建立的:
在第二配置文件中设置流转链管理员的实体及证书;
通过加载第二创世块建立所述流转链;其中,所述第二创世块包括多个签名交易,通过所述多个签名交易来完成以下操作中的一个或多个:
部署第二权限管理合约;
建立该流转链下的注册实体的初始权限关系;
将基础链的注册实体及基础数据同步至所述流转链。
(3)环境链的建立过程
本实施例的环境链是通过以下子步骤建立的:
在第三配置文件中设置环境链管理员实体及证书;
通过加载第三创始块获得所述环境链;其中,所述第三创世块包括多个签名交易,通过所述多个签名交易来完成以下操作中的一个或多个:
部署第三权限管理合约;
建立该环境链下的注册实体的初始权限关系;
将基础链的注册实体及基础数据同步至所述环境链。
3、基础链、流转链和环境链的组成结构
(1)基础链的组成结构
本实施例的基础链包括实体注册合约、第一权限管理合约、数据子集分类注册合约、基本信息数据子集管理合约、组网注册合约和异常上报合约;其中,
所述实体注册合约用于注册实体或实体签名证书;
所述第一权限管理合约用于管理在基础链上注册实体调用所述实体注册合约、数据子集分类注册合约、基本信息数据子集管理合约、组网注册合约和/或异常上报合约的权限;优选的,所述管理在基础链上注册实体调用合约方法的权限包括授予或撤回在基础链上注册实体调用合约方法的权限;
所述数据子集分类注册合约用于对疫苗追溯基本数据集进行分类注册;其中,所述疫苗追溯基本数据集包括基础信息数据子集;
所述基本信息数据子集管理合约用于提交或修改所述基础信息数据子集;
所述组网注册合约用于注册所述流转链或环境链,即流转链或环境链的链管理员通过签名交易调用基础链的实体注册合约,向基础链登记流转链或环境链的基本信息;
所述异常上报合约用于上报异常疫苗的信息,经合约逻辑查证后将所述异常疫苗的信息集合以形成问题疫苗并将所述问题疫苗发布;进一步的,所述异常疫苗包括流转异常的疫苗或环境异常的疫苗。
①下面对实体注册合约signUpEntity的合约方法参数及其内部数据结构进行介绍,包括参数名、数据类型以及各参数的定义说明,具体如下:
id:String;实体唯一标识;
ent:Entity;实体属性集合;其中,参数ent包括以下7个子参数:
type:Int;实体类型:1 链管理员,2 组网节点,11 疫苗上市许可持有人及境内疫苗生产企业,12 进口疫苗代理企业,13 疾病预防控制机构,14 接种单位,15 监管机构,111 生产企业冷藏单元;112 生产企业流转单元/设备...
credit_code:String;实体信用代码;
name:String;实体名称;
dtc:String;生产企业实体在药品追溯码中的编码;
nid:String;实体所属的流转链或环境链Id
cert :Array[Byte];实体用于签名交易的数字证书,其格式符合X.509 标准。
实体认证机构通过签名交易调用所述实体注册合约以获得实体注册信息, 所述实体注册信息是通过以下子操作获得的:
调用getKV(id)当前确定不存在指定id的注册实体,getKV(id)表示在KV状态中读取指定Id的注册实体信息;
调用setKV(id,ent)将实体信息写入KV状态数据,setKV(id,ent)表示在KV状态中写入指定Id的实体信息;
调用setKV(ent.dtc,ent),使得无论从实体Id还是从实体在药品追溯码中的生产企业编码,都可以调用getKV从而快速获得实体注册信息;setKV(ent.dtc,ent)的在KV状态中写入疫苗追溯码中的生产企业实体在药品追溯码中的编码。
②下面对第一权限管理合约grantOper的合约方法参数及其内部数据结构进行介绍,包括参数名、数据类型以及各参数的定义说明,具体如下:
eid:String;注册实体唯一标识;
cid:String;合约唯一标识;
func:String;合约方法名;
mode:Int;授权类型,0:撤销授权;1:授权。
③下面对数据子集分类注册合约regDataType的合约方法参数及其内部数据结构进行介绍,包括参数名、数据类型以及各参数的定义说明,具体如下:
id:String;数据子集Id,可按标准中序号命名;
mt:DataType;数据子集描述;其中,参数mt包括以下3个子参数:
Etype;Array[Int];指定允许提交本数据子集类型的注册实体类型,与实体注册合约中的参数type对应;
Eid;String;指定允许提交本数据子集类型的实体Id,若本属性不为空,则忽略etype;
fields:Array[Field];Field数组定义的数据子集字段集合;可用于定义《NMPAB/T1004—2019 疫苗追溯基本数据集》的所有数据子集及其对应的数据项;其中,参数fields包括以下3个子参数:
name:String;字段名;
pkey:Boolean;是否主键字段;
type:String;字段数据类型。
依据参考疫苗追溯基本数据集即《NMPAB/T 1004—2019 疫苗追溯基本数据集》“表2 各数据产生方应提供的数据子集”生成基础信息数据子集以及该基础信息数据子集所对应的数据项,将所述基础信息数据子集与注册实体的类型绑定(即允许基础信息数据子集的类型所对应的数据产生方。
基础链管理员实体通过签名交易调用所述数据子集分类注册合约获得所述基础信息数据子集,并约束所述基础信息数据子集的注册实体的类型。
在后续的合约(后续的合约包括数据子集管理合约setData、疫苗流转记录追加合约addDelivery和环境参数记录合约addPOE)中当提交注册的数据子集类型数据时,可以依据注册的数据子集类型的注册信息,
检查提交者的实体类型(这里的提交者的实体类型是指注册实体的类)是否符合注册的生产者类型,以及提交的数据字段类型和命名是否符合基础信息数据子集描述。
④下面对基本信息数据子集管理合约setData的合约方法参数及其内部数据结构进行介绍,包括参数名、数据类型以及各参数的定义说明,具体如下:
eid:String;实体Id,对应1.实体注册合约中的id;
tid:String;指定DataType分类,对应2.数据子集分类注册合约中的id;
data:String;以JSON编码的DataType数据对象,必须符合2中的数据子集字段集合定义;
mode:Int;写入方式:1、盖key=eid+数据子集主键值的KV内容;2、以数组方式保存,并追加一条内容。
《NMPAB/T 1004—2019 疫苗追溯基本数据集》“6.2 基础信息数据子集”的追溯数据生产者实体通过签名交易调用所述基本信息数据子集管理合约,用于维护基础信息数据子集的注册实体及其相关产品(相关产品例如包括厂家的疫苗生产许可证、经营许可证等产品信息)的基础信息;其中,所述注册实体及其相关产品的基础信息是通过读取KV状态数据获得的。
⑤下面对组网注册合约regNet的合约方法参数及其内部数据结构进行介绍,包括参数名、数据类型以及各参数的定义说明,具体如下:
id:String;组网唯一标识;
type:Int;指定组网分类,1代表流转链;2代表环境链;
url: String;组网的服务地址,可依据服务地址,依据联盟链提供的API规则,向组网提交签名交易,或请求数据同步。
⑥下面对异常上报合约reportAccident的合约方法参数及其内部数据结构进行介绍,包括参数名、数据类型以及各参数的定义说明,具体如下:
dtcs:Array[String];问题疫苗的药品追溯码集合,命名规则符合《NMPAB/T 1002—2019 药品追溯码编码要求》;
code:Int;异常类型代号;
reason:String;异常原因描述。
流转链或环境链的组网节点被共识机制选举为共识节点,当在本次出块中判断存在疫苗出现异常时,通过签名交易向基础链发起调用所述异常上报合约。
(2)流转链的组成结构
本实施例的流转链包括疫苗流转记录追加合约和第二权限管理合约;其中,
所述疫苗流转记录追加合约用于追加疫苗的流转记录数据子集;
所述第二权限管理合约用于管理在流转链上注册实体调用疫苗流转记录追加合约的权限;优选的,所述第二权限管理合约用于管理在流转链上注册实体调用合约方法的权限包括第二权限管理合约用于授予或撤回在流转链上注册实体调用合约方法的权限。
下面对疫苗流转记录追加合约addDelivery的合约方法参数及其内部数据结构进行介绍,包括参数名、数据类型以及各参数的定义说明,具体如下:
dtc:String;疫苗的药品追溯码,命名规则符合《NMPAB/T 1002—2019 药品追溯码编码要求》;
rec:Delivery;流转记录详细信息;其中,参数rec包括以下4个子参数:
prev_tx_id:String;上一笔记录流转记录的签名交易Id,第一笔记为空,最后一笔记为本次调用的签名交易Id;
env_id:String;疫苗当前绑定的冷藏单元Id;
type:String;流转记录类型,对应“数据子集分类注册合约”中的数据子集注册Id;
data:String;以JSON编码的DataType数据对象,符合2中的与疫苗流转相关的数据子集类型定义;
signs:Array[Signature];流转交接或见证的相关实体对记录的签名数组;其中,参数signs包括以下3个子参数:
eid:String;注册实体Id;
algorithm:String;签名算法说明;
signature:Array[Byte];数字签名。
参与流转记录的实体调用所述疫苗流转记录追加合约,通过dtc包含的生产厂商编码,可以从基础链的实体注册信息获得生产厂商所属流转链的组网信息,进而获得药品追溯码流转过程中的流转链服务地址;其中,参与流转记录的实体通过第一签名交易发起调用请求以调用所述疫苗流转记录追加合约。
当与疫苗绑定的冷藏单元发生改变时,冷藏单元实体向对应的流转链提交一条流转记录(流转记录的env_id记录当前的冷藏单元),并在冷藏单元所在的环境链提交一条包含该dtc进入或离开信息的环境记录(环境记录的dtcs_enter记录了进入该冷藏单元的疫苗追溯码,环境记录的dtcs_leave记录了离开该冷藏单元的疫苗追溯码)。
其中,在疫苗流转记录追加合约上添加第一前项流转记录标识,以数组方式将流转记录保存到键值对状态数据;当所述流转链的疫苗流转记录追加合约的合约逻辑检查到异常时,调用所述基础链的异常上报合约,将问题疫苗状态实时发布到全网。
该疫苗流转记录追加合约可维护一个对应key值为dtc的KV状态数据,其中,value值为不断追加的提交流转记录的签名交易,现有技术的数据存证方法需要在所有区块或交易数据中检索包含dtc的交易,本实施例中可一次getKV(dtc)(即通过该疫苗流转记录追加合约可一次获得dtc所对应的所有流转历史,所述流转历史为签名交易数组)。
由于每一条第一签名交易记录包括:本条签名交易Id、第一前项流转记录标识(即疫苗流转记录追加合约中的提交前一条记录的签名交易Id(prev_tx_id))和交接环节的相关实体签名;因此,将流转记录导出为离线数据仍然可验证该流转记录内容的完整性和来源真实性;如果修改流转记录中的任何一条内容,则无法该流转记录通过签名验证;如果删除流转记录中的任何一条内容,将破坏第一前项流转记录标识的前后衔接,该流转记录将无法通过完整性验证,具体的流转记录的关联关系请参考下文描述。
本实施例中的第二权限管理合约的基本数据结构与上文的第一权限管理合约grantOper的基本数据结构的基本一致,在此不再赘述。
(3)环境链的组成结构
本实施例中的环境链包括环境参数记录合约和第三权限管理合约;其中,
所述环境参数记录合约用于追加冷藏单元的环境参数记录;
所述第三权限管理合约用于管理在环境链上注册实体调用环境参数记录合约的权限;优选的,第三权限管理合约用于管理在环境链上注册实体调用合约方法包括第三权限管理合约用于授予或撤回在环境链上注册实体调用合约方法。
下面对环境参数记录合约addPOE的合约方法参数及其内部数据结构进行介绍,包括参数名、数据类型以及各参数的定义说明,具体如下:
Eid:String;冷藏单元注册实体Id;
prev_tx_id:String;上一笔环境记录的签名交易Id,第一笔记为空,冷藏单元停止工作前最后一笔记为本次调用的签名交易Id;
Rec:POE;流转记录详细信息;其中,参数Rec包括以下5个子参数:
location:String;采集温度的位置,包括储存位置、运输区段等。
temp_value:Float;存放药品的冷链设备在温度记录时间的温度;
rec_time:Long;记录时刻,距1970年0时0刻毫秒数;
dtcs_enter:Array[String];进入本冷藏单元的疫苗的dtc集合;
dtcs_leave:Array[String];离开本冷藏单元的疫苗的dtc集合;
sign: Signature;冷藏单元注册实体对记录的签名;其中,参数sign包括以下3个子参数:
eid:String;冷藏单元注册实体Id;
algorithm:String;签名算法说明;
signature:Array[Byte];数字签名。
冷藏单元实体定时调用所述环境参数记录合约,可以从基础链的实体注册信息获得冷藏单元所属环境链的组网信息,进而确定环境记录的服务地址;所述冷藏单元实体通过第二签名交易发起调用请求,以定时调用所述环境参数记录合约(dtcs_leave)。
其中,在环境参数记录合约上添加第二前项流转记录标识(即环境参数记录合约中的prev_tx_id),在环境记录中添加进入冷藏单元的疫苗追溯码集合(即环境参数记录合约中的dtcs_enter)和离开冷藏单元的疫苗的追溯码集合(即环境参数记录合约中的dtcs_leave);
当所述环境链的环境参数记录合约的合约逻辑检查到异常时,调用所述基础链的异常上报合约,将问题疫苗状态实时发布到全网。
由于每一条第二签名交易包括:本条签名交易Id、第二前项流转记录标识(即环境参数记录合约的提交前一条记录的签名交易Id(prev_tx_id))和冷藏单元实体的签名。
因此,将第二签名交易中的某时间段的连续签名交易导出为离线数据仍然可验证该环境记录离线数据的内容完整性和来源真实性;如果修改环境记录中任何一条内容,则该环境记录无法通过签名验证;如果删除环境记录中的任何一条内容,将破坏第二前项流转记录标识的前后衔接,则该环境记录无法通过完整性验证。
多个冷藏单元之间的dtcs_enter和dtcs_leave信息确定了疫苗流转过程中冷藏单元之间的衔接。若冷藏单元检测到异常情况,则异常上报合约将异常情况上报至基础链;本实施例中的冷藏单元检测到异常情况例如包括环境记录的temp_value超出预设的温度范围或者冷藏单元之间的衔接时间间隔超出预设时间范围等。
4、流转记录的关联关系以及流转记录与环境记录关联关系
(1)流转记录的关联关系
具体的,流转记录的关联关系图请参见图3,图3中的dtc12与dtc11为相同疫苗追溯码的连续流转记录(dtc12=dtc11),记录了同一个子包装的疫苗流转记录,并通过prev_tx_id12=tx_id11形成前后衔接。在各自的流转记录signs中记录了该流转环节参与交接的实体对流转记录的签名确认。两条签名交易被依序记录在key值为dtc11的KV状态数据中。
dtc2与dtc1为相同疫苗追溯码的连续流转记录(dtc2=dtc1),记录了同一个父包装的疫苗流转记录,并通过prev_tx_id2=tx_id1形成前后衔接。在各自的signs中记录了该流转环节参与交接的实体对流转记录的签名确认。两条签名交易被依序记录在key值为dtc1的KV状态数据中。根据疫苗追溯码通过getKV可以一次性获得子包装的流转记录,从子包装流转记录的parentDTC信息可以获得父包装的疫苗追溯码,进而调用getKV获得子包装所在父包装的流转记录。
(2)流转记录与环境记录
参见图2,由于流转记录通过疫苗所在冷藏单元的注册实体Id指向环境记录,而环境记录则通过进入或离开本冷藏单元的疫苗追溯码指向流转记录,因此流转记录与环境记录存在关联关系;参见图4,图4为本发明实施例提供的流转记录与环境记录关联关系图。
图4中,在流转链的连续两条记录,分别是:
(1)疫苗追溯码dtc12=dtc11从进入位于环境链a的冷藏单元eid_a到离开冷藏单元eid_a在相关流转链和环境链形成的记录及关系;
(2)疫苗追溯码dtc12=dtc11进入位于环境链b的冷藏单元eid_b的过程中,在相关流转链和环境链形成的记录及关系。
其中,上述在相关流转链和环境链形成的记录及关系包括以下4个子步骤:
步骤a、三条链的记录以prev_tx_id各自形成链内的记录前后衔接。
步骤b、在进入冷藏单元eid_a时,环境记录a11的dtcs_enter中记录了dtc11,而流转记录的当前冷藏单元env_id1则指向冷藏单元eid_a。
步骤c、dtc11在进入冷藏单元eid_a之后,离开eid_a之前,流转链不增加新的流转记录,但是环境链a在不断生成前后衔接的环境记录。这些记录与dtc11的环境相关,如果这段过程被合约判定为环境异常,将通过调用基础链异常上报合约,将疫苗dtc11状态设置为问题疫苗。
步骤d、dtc11在离开冷藏单元eid_a进入下一个冷藏单元eid_b, 环境记录a12的dtcs_leave中记录了dtc11, 流转记录的当前冷藏单元env_id12则指向新的冷藏单元eid_b。
重复步骤a-d以更新流转链和环境链记录及关联关系。
本实施例中的第三权限管理合约的基本数据结构与上文的第一权限管理合约grantOper的基本数据结构的基本一致,在此不再赘述。
四、应用层的组成结构和工作过程
下面将结合图2来说明应用层的组成结构和工作过程。
参见图2,本实施例的应用层是通过应用系统向所述基础链注册应用实体以生成来创建的;其中,所述应用系统包括追溯疫苗数据的生产方、消费疫苗的主体、配送机构、监管机构的相关应用。
更进一步的,所述应用层包括流转应用、冷链应用和追溯应用;其中,
所述流转应用向实体注册所在的流转链提交流转记录;
所述冷链应用向实体注册所在的环境链提交环境记录,
所述追溯应用追溯疫苗流转和/或环境记录。
具体的,在S200中,所述提交步骤还包括以下子步骤:
所述流转应用所绑定的实体发起第一签名交易并向实体注册所在的流转链提交疫苗流转记录;
所述冷链应用所绑定的实体发起第二签名交易并向实体注册所在的环境链提交疫苗环境记录;
在S300中,所述追溯步骤还包括以下子步骤:
所述追溯应用绑定的实体发起第三签名交易并向区块链服务网络发起检索请求,所述区块链服务网络根据所述检索请求并基于流转记录的关联关系获得所述疫苗流转记录;
所述区块链服务网络根据所述检索请求并基于流转记录的关联关系以及流转记录与环境记录关联关系以获得疫苗环境记录。
进一步的,在S300中,所述追溯步骤还包括以下子步骤:
在S200中,所述提交步骤还包括以下子步骤:
所述流转应用依据所述疫苗追溯码以确定第一目标流转链,通过签名交易将所述流转记录提交至第一目标流转链;其中,当疫苗的包装发生变更,将流转记录提交至所述第一目标流转链;当疫苗的冷藏单元发生变更,在前一冷藏单元的环境记录dtcs_leave中记录发生变更的疫苗溯源码dtc,在后一冷藏单元的环境记录dtcs_enter中也记录发生变更的疫苗溯源码dtc;
在疫苗配送阶段,所述冷链应用依据冷链设备标识以确定第二目标环境链,并将环境记录提交至所述第二目标环境链;优选的,所述冷链应用定时采集环境参数,并通过签名交易将所述环境参数提交至第二目标环境链;
在S300中,所述追溯步骤还包括以下子步骤:所述追溯应用依据所述疫苗溯源码以确定第三目标流转链,基于所述第三目标流转链的父子包装关系追溯所述疫苗流转记录;
在疫苗配送阶段、生产阶段或存储阶段等,所述追溯应用通过流转记录中的冷链设备标识以确定第四目标环境链(即冷链设备所在的环境链),并向所述第四目标环境链请求疫苗环境记录,以追溯所述疫苗环境记录。
需要说明的是,由于疫苗的流转过程涉及多个冷链设备,所述多个冷链设备可能并不位于同一个环境链,因此完整的疫苗环境记录可能需要跨多条环境链分段来获得。
实施例二
参见图5,图5为本发明实施例提供的一种基于联盟链的疫苗追溯系统的结构示意图,该疫苗追溯系统包括区块链服务网络和应用层;其中,
所述区块链服务网络提供签名交易调用的合约方法,并提供数据同步以获得实时区块数据;其中,所述区块链服务网络包括基础链、流转链和环境链;
所述区块链服务网络提供用于执行签名交易调用的合约方法,并进行数据同步以获得实时区块数据;
所述区块链服务网络将所述实时区块数据同步至所述应用层;
所述应用层通过提交所述签名交易调用所述基础链的实体注册合约以注册实体账户,并向所述区块链服务网络提交疫苗环境记录和疫苗流转记录;以及
所述应用层还向所述区块链服务网络提交检索请求,所述区块链服务网络根据所述检索请求追溯获得所述疫苗环境记录和疫苗流转记录。
上述区块链服务网络和应用层的具体实施方式与实施例一的各个方法步骤的具体实施方式一致,在此不再赘述。
综上所述,本发明具有以下优点:
1、通过基础链中的“数据子集分类注册合约”,对《NMPAB/T 1004—2019 疫苗追溯基本数据集》中的数据子集类型及其字段进行注册,对提交数据子集类型的实体类型进行约束,并在提交数据子集时进行检查;采用符合《NMPAB/T 1002—2019 药品追溯码编码要求》的药品追溯码,能够与符合标准的现有的疫苗追溯系统集成。
2、采用基础链的“基本信息数据子集管理合约”维护上述疫苗追溯基本数据集中的疫苗追溯基本数据集,通过数据同步和数据项关联,流转信息关联和复用这些基本信息,不必在每条流转记录重复处理基础数据。
3、借助基础链的“实体注册合约”、“组网注册合约”,通过新建和注册流转链、新建和注册环境链,能够扩展整个区块链服务网络的处理能力,以支撑全国范围的疫苗追溯数据规模。
4、通过“疫苗流转记录追加合约”在疫苗流转记录追加合约上增加第一前项流转记录标识,以数组方式将流转记录保存到键值对状态数据;根据疫苗追溯码一次getKV读取即可获得完整的疫苗流转历史。在流转记录中增加了参与交接环节的多方实体签名,锁定了流转过程的相关责任人,增加了伪造记录的难度;流转记录中的数据子集中的“上一级包装 药品追溯码”可用于追溯上级包装的流转历史,形成子包装完整的流转历史。
5、通过“环境参数记录合约”在环境参数记录合约上增加第二前项流转记录标识,在环境记录中增加进入冷藏单元的疫苗追溯码集合和离开本冷藏单元的疫苗的追溯码集合,记录了疫苗进入和离开冷藏单元的时刻,该信息与疫苗流转历史比对,增加了伪造记录的难度。当冷藏单元出现某个时间段的环境记录异常,可以依据该信息正向追踪到相关问题疫苗,并上报异常。
6、流转链和环境链采用异常主动上报机制:当“疫苗流转记录追加合约”或“环境参数记录合约”的合约逻辑检查到异常,出块时共识节点将主动调用基础链的“异常上报合约”,将问题疫苗状态实时发布到全网,降低了使用环节确定问题疫苗的复杂度;同时也减轻了了不必要的对正常的疫苗流转历史和环境记录的查询压力。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于联盟链的疫苗追溯方法,该疫苗追溯方法包括以下步骤:
S100,创建步骤:分别创建区块链服务网络和应用层;其中,所述区块链服务网络包括基础链、流转链和环境链;所述区块链服务网络用于执行通过签名交易调用的合约方法,并进行数据同步以获得实时区块数据;
S200,提交步骤:所述区块链服务网络将所述实时区块数据同步至所述应用层;所述应用层通过提交所述签名交易调用所述基础链的实体注册合约以注册实体账户,并向所述区块链服务网络提交疫苗环境记录和疫苗流转记录;
S300,追溯步骤:所述应用层向所述区块链服务网络提交检索请求,所述区块链服务网络根据所述检索请求追溯获得所述疫苗环境记录和疫苗流转记录。
2.根据权利要求1所述的疫苗追溯方法,其特征在于:
在S100中,所述创建步骤还包括:通过实体注册认证向所述基础链注册冷藏单元;
在S300中,所述追溯步骤还包括:根据冷藏单元的注册信息确定所述疫苗环境记录的服务地址。
3.根据权利要求2所述的疫苗追溯方法,其特征在于:
在S100中,所述创建步骤还包括:根据参考药品追溯码编码规则生成疫苗追溯码;以及
在S300中,所述追溯步骤还包括以下子步骤:
根据所述疫苗追溯码获得与所述基础链有关联的注册实体;
基于所述有关联的注册实体获得所述疫苗追溯码所在的流转链,以确定所述疫苗追溯码在流转过程中的流转链服务地址。
4.根据权利要求3所述的疫苗追溯方法,其特征在于:在S200中,所述提交步骤还包括通过签名交易调用流转链的合约以确定所述疫苗追溯码之间的关联关系。
5.根据权利要求1所述的疫苗追溯方法,其特征在于:所述区块链服务网络是通过以下子步骤创建的:
组网节点通过加载配置文件和创始块建立基础链;
在所述基础链上分别注册流转链、环境链的注册实体;
根据所述流转链、环境链的注册实体并基于所述基础链,组网建立流转链和环境链;
通过签名交易向所述基础链注册流转链和环境链的组网信息以生成组网列表,基础链更新所述组网列表并将更新后的组网进行全网推送。
6.根据权利要求3所述的疫苗追溯方法,其特征在于:所述应用层包括流转应用、冷链应用和追溯应用;其中,
在S200中,所述提交步骤还包括以下子步骤:
所述流转应用所绑定的实体发起第一签名交易并向实体注册所在的流转链提交疫苗流转记录;
所述冷链应用所绑定的实体发起第二签名交易并向实体注册所在的环境链提交疫苗环境记录;
在S300中,所述追溯步骤还包括以下子步骤:
所述追溯应用绑定的实体发起第三签名交易并向区块链服务网络发起检索请求,所述区块链服务网络根据所述检索请求并基于流转记录的关联关系获得所述疫苗流转记录;
所述区块链服务网络根据所述检索请求并基于流转记录的关联关系以及流转记录与环境记录关联关系以获得疫苗环境记录。
7.根据权利要求6所述的疫苗追溯方法,其特征在于:
在S200中,所述提交步骤还包括以下子步骤:所述流转应用依据所述疫苗追溯码以确定第一目标流转链,通过签名交易将所述流转记录提交至第一目标流转链;
所述冷链应用依据冷链设备标识以确定第二目标环境链,并将环境记录提交至所述第二目标环境链;
在S300中,所述追溯步骤还包括以下子步骤:
所述追溯应用依据所述疫苗溯源码以确定第三目标流转链,基于所述第三目标流转链的父子包装关系追溯所述疫苗流转记录;
所述追溯应用通过流转记录中的冷链设备标识以确定第四目标环境链,并向所述第四目标环境链请求疫苗环境记录,以追溯所述疫苗环境记录。
8.根据权利要求3所述的疫苗追溯方法,其特征在于:所述基础链包括实体注册合约、第一权限管理合约、数据子集分类注册合约、基本信息数据子集管理合约、组网注册合约和异常上报合约。
9.根据权利要求8所述的疫苗追溯方法,其特征在于:所述流转链包括疫苗流转记录追加合约,在疫苗流转记录追加合约上添加第一前项流转记录标识,以数组方式将流转记录保存到键值对状态数据;
所述环境链包括环境参数记录合约,在环境参数记录合约上添加第二前项流转记录标识,在环境记录中添加进入冷藏单元的疫苗追溯码集合和离开冷藏单元的疫苗的追溯码集合;
当所述流转链的疫苗流转记录追加合约或所述环境链的环境参数记录合约的合约逻辑检查到异常时,调用所述基础链的异常上报合约,将问题疫苗状态实时发布到全网。
10.一种基于联盟链的疫苗追溯系统,该疫苗追溯系统包括区块链服务网络和应用层;其中,所述区块链服务网络包括基础链、流转链和环境链;
所述区块链服务网络提供用于执行签名交易调用的合约方法,并进行数据同步以获得实时区块数据;
所述区块链服务网络将所述实时区块数据同步至所述应用层;
所述应用层通过提交所述签名交易调用所述基础链的实体注册合约以注册实体账户,并向所述区块链服务网络提交疫苗环境记录和疫苗流转记录;
所述应用层向所述区块链服务网络提交检索请求,所述区块链服务网络根据所述检索请求追溯获得所述疫苗环境记录和疫苗流转记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010526571.4A CN111429995B (zh) | 2020-06-11 | 2020-06-11 | 基于联盟链的疫苗追溯方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010526571.4A CN111429995B (zh) | 2020-06-11 | 2020-06-11 | 基于联盟链的疫苗追溯方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111429995A true CN111429995A (zh) | 2020-07-17 |
CN111429995B CN111429995B (zh) | 2020-09-18 |
Family
ID=71551444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010526571.4A Active CN111429995B (zh) | 2020-06-11 | 2020-06-11 | 基于联盟链的疫苗追溯方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111429995B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112278522A (zh) * | 2020-09-30 | 2021-01-29 | 泉州市信恒户外用品有限公司 | 一种智能疫苗冷藏保温系统 |
CN112347504A (zh) * | 2020-10-16 | 2021-02-09 | 杭州甘道智能科技有限公司 | 基于区块链的疫苗接种的监控装置及方法 |
CN112364371A (zh) * | 2020-10-16 | 2021-02-12 | 杭州甘道智能科技有限公司 | 基于区块链的疫苗转移监控的装置及方法 |
CN112422290A (zh) * | 2020-10-27 | 2021-02-26 | 中思博安科技(北京)有限公司 | 基于区块链的数据上链方法、装置及系统 |
CN112529593A (zh) * | 2020-11-19 | 2021-03-19 | 杭州甘道智能科技有限公司 | 一种基于区块链的洗衣机流转溯源方法及系统 |
CN112732836A (zh) * | 2021-01-13 | 2021-04-30 | 杭州甘道智能科技有限公司 | 一种基于区块链的疫苗有效期监管方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242065A (zh) * | 2018-09-14 | 2019-01-18 | 深圳市轱辘汽车维修技术有限公司 | 冷链运输的温度监控方法、装置、终端设备及存储介质 |
WO2019168795A1 (en) * | 2018-02-28 | 2019-09-06 | Walmart Apollo, Llc | Blockchain-based system and method for supply chain control |
CN110599180A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链的疫苗流通管理方法及装置 |
CN110597885A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、区块链网络的节点及存储介质 |
CN110992068A (zh) * | 2019-12-17 | 2020-04-10 | 浙江大学 | 基于区块链的疫苗全生命周期管理方法及系统 |
CN111031036A (zh) * | 2019-12-12 | 2020-04-17 | 深圳大学 | 基于区块链的疫苗信息监控方法、装置及计算机设备 |
-
2020
- 2020-06-11 CN CN202010526571.4A patent/CN111429995B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019168795A1 (en) * | 2018-02-28 | 2019-09-06 | Walmart Apollo, Llc | Blockchain-based system and method for supply chain control |
CN109242065A (zh) * | 2018-09-14 | 2019-01-18 | 深圳市轱辘汽车维修技术有限公司 | 冷链运输的温度监控方法、装置、终端设备及存储介质 |
CN110597885A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、区块链网络的节点及存储介质 |
CN110599180A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链的疫苗流通管理方法及装置 |
CN111031036A (zh) * | 2019-12-12 | 2020-04-17 | 深圳大学 | 基于区块链的疫苗信息监控方法、装置及计算机设备 |
CN110992068A (zh) * | 2019-12-17 | 2020-04-10 | 浙江大学 | 基于区块链的疫苗全生命周期管理方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112278522A (zh) * | 2020-09-30 | 2021-01-29 | 泉州市信恒户外用品有限公司 | 一种智能疫苗冷藏保温系统 |
CN112347504A (zh) * | 2020-10-16 | 2021-02-09 | 杭州甘道智能科技有限公司 | 基于区块链的疫苗接种的监控装置及方法 |
CN112364371A (zh) * | 2020-10-16 | 2021-02-12 | 杭州甘道智能科技有限公司 | 基于区块链的疫苗转移监控的装置及方法 |
CN112364371B (zh) * | 2020-10-16 | 2024-04-16 | 杭州甘道智能科技有限公司 | 基于区块链的疫苗转移监控的装置及方法 |
CN112422290A (zh) * | 2020-10-27 | 2021-02-26 | 中思博安科技(北京)有限公司 | 基于区块链的数据上链方法、装置及系统 |
CN112529593A (zh) * | 2020-11-19 | 2021-03-19 | 杭州甘道智能科技有限公司 | 一种基于区块链的洗衣机流转溯源方法及系统 |
CN112529593B (zh) * | 2020-11-19 | 2024-02-27 | 杭州甘道智能科技有限公司 | 一种基于区块链的洗衣机流转溯源方法及系统 |
CN112732836A (zh) * | 2021-01-13 | 2021-04-30 | 杭州甘道智能科技有限公司 | 一种基于区块链的疫苗有效期监管方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111429995B (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111429995B (zh) | 基于联盟链的疫苗追溯方法及系统 | |
CN110620810B (zh) | 在区块链上的连续资产转移的非链接所有权 | |
US10810683B2 (en) | Hierarchical meta-ledger transaction recording | |
US10192198B2 (en) | Tracking code generation, application, and verification using blockchain technology | |
US20220277301A1 (en) | Secure tracking and transfer of items using a blockchain | |
CN110597925B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN109791591B (zh) | 经由区块链进行身份和凭证保护及核实的方法和系统 | |
WO2021114406A1 (zh) | 基于区块链的疫苗信息监控方法、装置及计算机设备 | |
KR20200116123A (ko) | 공급 체인 제품 유닛의 보안 일련화를 위한 방법 | |
CN112835612A (zh) | 一种基于区块链的电子文档版本管理方法及装置 | |
CN110851127B (zh) | 一种基于区块链的通用存证方法 | |
WO2020030936A1 (en) | Tracking objects in a supply chain | |
CN112417517B (zh) | 一种基于区块链的数据标准管理方法 | |
US11196564B2 (en) | Hierarchical distributed ledger | |
US10074075B2 (en) | Systems for secure tracking code generation, application, and verification | |
CN112199446B (zh) | 一种物品流通记录的存证方法、装置、设备和存储介质 | |
US20030167398A1 (en) | Data-processing apparatus, data-processing method and program | |
CN112363997B (zh) | 数据版本管理方法、装置及存储介质 | |
CN109918451A (zh) | 基于区块链的数据库管理方法及系统 | |
Saadiah | Consortium blockchain for military supply chain | |
CN115102770A (zh) | 基于用户权限的资源访问方法、装置、设备及存储介质 | |
CN103366129A (zh) | 基于网络的数据文件控管系统及其数据文件控管方法 | |
Salehi | Integration of blockchain technologie in case of systems engineering and software engineering in an industrial context | |
WO2020050869A1 (en) | Tracking code generation, application, and verification using blockchain technology | |
Magar et al. | Blockchain-based reliable supply chain management (SCM) for vaccine distribution and traceability using identity management approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |