CN110599180B - 一种基于区块链的疫苗流通管理方法及装置 - Google Patents
一种基于区块链的疫苗流通管理方法及装置 Download PDFInfo
- Publication number
- CN110599180B CN110599180B CN201910918550.4A CN201910918550A CN110599180B CN 110599180 B CN110599180 B CN 110599180B CN 201910918550 A CN201910918550 A CN 201910918550A CN 110599180 B CN110599180 B CN 110599180B
- Authority
- CN
- China
- Prior art keywords
- vaccine
- information
- block
- target
- hash value
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种基于区块链的疫苗流通管理方法,包括:获取接收方节点发送的疫苗转移请求,疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息;根据疫苗转移请求生成目标疫苗信息的第一疫苗哈希值;从疫苗区块链中获取与目标疫苗信息相关联且区块时间戳最大的第一区块,获取第一区块中第一疫苗信息的第二疫苗哈希值;若第一疫苗哈希值与第二疫苗哈希值相同,且第一区块中的第一接收方信息与目标转移方信息相同,则向接收方节点发送疫苗信息合法消息;根据疫苗转移请求生成疫苗转移区块,将疫苗转移区块上传到所述疫苗区块链中。采用本申请,使得疫苗的整个流通过程都可以进行追溯,提高疫苗管控的便捷性及疫苗的安全性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的疫苗流通管理方法及装置。
背景技术
随着医疗行业的发展,医疗技术不断进步,对于过去的许多疑难杂症,专业人士都已经找到了相应的解决方法。而且,以前人们只有在身体的健康状况出现问题时,才会去进行检查治疗。而如今,人们只需预防接种疫苗,身体就会通过该疫苗中不具有伤害力的病原体,生成相应的抗体或免疫激素等,从而在接触到该种病原体时,身体会基于该抗体或免疫激素等对该种病原体进行免疫,极大地减少了对身体的损害。可以看出,疫苗在预防疾病上起着极其重要的作用,特别是传染性疾病,而由于疫苗生成的特殊性,使得疫苗的使用会受到很大的限制,一旦使用不当可能会造成难以挽回的后果,因此对于疫苗的管控就极其重要。如今,一般可以通过疫苗的批号等去查询该疫苗的生产日期和可保存期限,却无法得知该疫苗的具体信息,若有人通过非法渠道进行售卖,或者恶意修改疫苗的信息,可能无法查询到这种情况,给疫苗管控带来困难,更严重的,可能对使用该疫苗的人的身体造成伤害。
发明内容
本申请实施例提供了一种基于区块链的疫苗流通管理方法和装置,可以提高疫苗管控的便捷性,保障疫苗的安全性。
本申请实施例第一方面提供了一种基于区块链的疫苗流通管理方法,包括:
获取接收方节点发送的疫苗转移请求,所述疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息;
根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值;
从疫苗区块链中获取与所述目标疫苗信息中的疫苗编号相关联且区块时间戳最大的第一区块,获取所述第一区块中第一疫苗信息的第二疫苗哈希值;
若所述第一疫苗哈希值与所述第二疫苗哈希值相同,且所述第一区块中的第一接收方信息与所述目标转移方信息相同,则向所述接收方节点发送疫苗信息合法消息;
根据所述目标疫苗信息、所述目标转移方信息及所述目标接收方信息生成疫苗转移区块,将所述疫苗转移区块上传到所述疫苗区块链中。
其中,所述目标疫苗信息包括疫苗编号、疫苗生产日期、疫苗保存时长、疫苗类型信息及生产信息;
所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值,包括:
根据所述疫苗编号、所述疫苗生产日期、所述疫苗保存时长、所述疫苗类型信息及所述生产信息,生成所述目标疫苗信息对应的第一疫苗哈希值。
其中,所述方法还包括:
获取所述接收方节点的疫苗获取权限集合,所述疫苗获取权限集合包括多个疫苗类型信息;
若所述疫苗获取权限集合中包括所述目标疫苗信息中的疫苗类型信息,则执行所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值的步骤;
若所述疫苗获取权限集合中不包括所述目标疫苗信息中的疫苗类型信息,则向所述接收方节点发送疫苗获取权限异常消息。
其中,所述根据所述疫苗信息、所述转移方信息及所述接收方信息生成疫苗转移区块,包括:
根据所述疫苗信息、所述转移方信息及所述接收方信息生成待加入区块,根据共识机制对所述待加入区块进行验证;
若验证通过,则将根据所述待加入区块生成的哈希值确定为当前哈希值,并获取所述疫苗区块链中区块时间戳最晚的第二区块;
将所述第二区块的哈希值确定为前继哈希值,获取第一网络时间信息,将所述第一网络时间信息确定为区块时间戳;
根据所述待加入区块、所述当前哈希值、所述前继哈希值及所述区块时间戳生成所述疫苗转移区块。
其中,所述方法还包括:
根据所述疫苗生产日期与所述疫苗保存时长确定所述目标疫苗信息对应的疫苗使用时限;
获取第二网络时间信息,若所述第二网络时间信息小于所述疫苗使用时限,则执行所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值的步骤;
若所述第二网络时间信息大于或等于所述疫苗使用时限,则向所述接收方节点发送疫苗过期提示消息。
其中,所述方法还包括:
获取接收方节点发送的疫苗查询请求,所述疫苗查询请求包括所述目标疫苗信息中的疫苗编号;
根据所述目标疫苗信息中的疫苗编号,从所述疫苗区块链中获取至少一个第三区块;所述至少一个第三区块为所述疫苗区块链中与所述目标疫苗信息中的疫苗编号相关联的区块;
获取所述至少一个第三区块中的第二疫苗信息、第一转移方信息及第二接收方信息,根据所述至少一个第三区块中的第一转移方信息及第二接收方信息生成所述目标疫苗信息对应的疫苗转移轨迹;
向所述接收方节点发送所述第二疫苗信息及所述疫苗转移轨迹。
其中,所述方法还包括:
获取所述至少一个第三区块中的第二疫苗信息对应的第三疫苗哈希值;
若至少一个第三疫苗哈希值均相同,且所述疫苗转移轨迹中无断点,则执行所述向所述接收方节点发送所述第二疫苗信息及所述疫苗转移轨迹的步骤;
若所述至少一个第三疫苗哈希值中存在不同的第三疫苗哈希值,或者所述疫苗转移轨迹中存在断点,则向所述接收方节点发送疫苗转移异常消息。
本申请实施例第二方面提供了一种基于区块链的疫苗流通管理装置,所述装置包括:
接收模块,用于获取接收方节点发送的疫苗转移请求,所述疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息;
第一生成模块,用于根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值;
第一获取模块,用于从疫苗区块链中获取与所述目标疫苗信息中的疫苗编号相关联且区块时间戳最大的第一区块,获取所述第一区块中第一疫苗信息的第二疫苗哈希值;
第一发送模块,用于若所述第一疫苗哈希值与所述第二疫苗哈希值相同,且所述第一区块中的第一接收方信息与所述目标转移方信息相同,则向所述接收方节点发送疫苗信息合法消息;
第二生成模块,用于根据所述目标疫苗信息、所述目标转移方信息及所述目标接收方信息生成疫苗转移区块,将所述疫苗转移区块上传到所述疫苗区块链中。
其中,所述目标疫苗信息包括疫苗编号、疫苗生产日期、疫苗保存时长、疫苗类型信息及生产信息;
所述第一生成模块具体用于:
根据所述疫苗编号、所述疫苗生产日期、所述疫苗保存时长、所述疫苗类型信息及所述生产信息,生成所述目标疫苗信息对应的第一疫苗哈希值。
其中,所述装置还包括:
第二获取模块,用于获取所述接收方节点的疫苗获取权限集合,所述疫苗获取权限集合包括多个疫苗类型信息;
所述第一生成模块,还用于若所述疫苗获取权限集合中包括所述目标疫苗信息中的疫苗类型信息,则执行所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值的步骤;
第二发送模块,用于若所述疫苗获取权限集合中不包括所述目标疫苗信息中的疫苗类型信息,则向所述接收方节点发送疫苗获取权限异常消息。
其中,所述第二生成模块,包括:
第一生成单元,用于根据所述疫苗信息、所述转移方信息及所述接收方信息生成待加入区块;
验证单元,用于根据共识机制对所述待加入区块进行验证;
第二生成单元,用于若验证通过,则将根据所述待加入区块生成的哈希值确定为当前哈希值,并获取所述疫苗区块链中区块时间戳最晚的第二区块;
所述第二生成单元,还用于将所述第二区块的哈希值确定为前继哈希值,获取第一网络时间信息,将所述第一网络时间信息确定为区块时间戳;
所述第二生成单元,还用于根据所述待加入区块、所述当前哈希值、所述前继哈希值及所述区块时间戳生成所述疫苗转移区块。
其中,所述装置还包括:
确定模块,用于根据所述疫苗生产日期与所述疫苗保存时长确定所述目标疫苗信息对应的疫苗使用时限;
第三获取模块,用于获取第二网络时间信息,若所述第二网络时间信息小于所述疫苗使用时限,则通过所述第一生成模块执行所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值的步骤;
第三发送模块,用于若所述第二网络时间信息大于或等于所述疫苗使用时限,则向所述接收方节点发送疫苗过期提示消息。
其中,所述装置还包括:
第四获取模块,用于获取接收方节点发送的疫苗查询请求,所述疫苗查询请求包括所述目标疫苗信息中的疫苗编号;
所述第一获取模块,还用于根据所述目标疫苗信息中的疫苗编号,从所述疫苗区块链中获取至少一个第三区块;所述至少一个第三区块为所述疫苗区块链中与所述目标疫苗信息中的疫苗编号相关联的区块;
所述第一获取模块,还用于获取所述至少一个第三区块中的第二疫苗信息、第一转移方信息及第二接收方信息;
第三生成模块,用于根据所述至少一个第三区块中的第一转移方信息及第二接收方信息生成所述目标疫苗信息对应的疫苗转移轨迹;
第四发送模块,用于向所述接收方节点发送所述第二疫苗信息及所述疫苗转移轨迹。
其中,所述装置还包括:
所述第一获取模块,还用于获取所述至少一个第三区块中的第二疫苗信息对应的第三疫苗哈希值;
所述第四发送模块,还用于若至少一个第三疫苗哈希值均相同,且所述疫苗转移轨迹中无断点,则执行所述向所述接收方节点发送所述第二疫苗信息及所述疫苗转移轨迹的步骤;
第五发送模块,用于若所述至少一个第三疫苗哈希值中存在不同的第三疫苗哈希值,或者所述疫苗转移轨迹中存在断点,则向所述接收方节点发送疫苗转移异常消息。
本申请实施例第三方面提供了一种电子设备,其特征在于,包括处理器、存储器、输入输出接口;
所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于与各个参与节点交互,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如本申请实施例第一方面中所述的基于区块链的疫苗流通管理方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本申请实施例第一方面中所述的基于区块链的疫苗流通管理方法。
实施本申请实施例,将具有如下有益效果:
本申请实施例通过获取接收节点发送的疫苗转移请求,该疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息,根据疫苗转移请求生成目标疫苗信息对应的第一疫苗哈希值,从疫苗区块链中获取与目标疫苗信息中的疫苗编号相关联至少一个第一区块,并从至少一个第一区块中获取区块时间戳最大的第一区块,获取第一区块中第一疫苗信息的第二疫苗哈希值,在第一疫苗哈希值与第二疫苗哈希值相同,且第一区块中的第一接收方信息与目标转移方信息相同时,说明疫苗的信息未被篡改,且该疫苗的来源是合法的,则向接收方节点发送疫苗信息合法消息,根据目标疫苗信息、目标转移方信息及目标接收方信息生成疫苗转移区块,将该疫苗转移区块上传到疫苗区块链中。通过上述过程,使得疫苗的每次交易过程都会进行上链处理,当获取疫苗时,该疫苗的来源不正当或者被恶意篡改该疫苗的相关信息时,就会出现疫苗的交易信息无法匹配的情况,使得接收方节点可以很容易的了解该疫苗的交易过程和现有情况,从而确定每次疫苗交易的安全可靠,从而提高疫苗管控的便捷性,保障疫苗的安全性,间接地减少疫苗非法交易过程。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种疫苗流通管理架构图;
图2是本申请实施例提供的一种基于区块链的疫苗流通管理方法流程图;
图3是本申请实施例提供的一种疫苗转移场景示意图;
图4是本申请实施例提供的一种疫苗查询场景示意图;
图5是本申请实施例提供的一种基于区块链的疫苗流通管理装置示意图;
图6是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,对本申请实施例中提到的区块链、区块、链、共识机制及智能合约进行介绍。
1、区块链:狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;广义上,区块链还指代区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。区块链的目标是实现一个分布的数据记录账本,此账本只允许添加,不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前继区块的哈希(Hash)值,每个区块(以及区块中的交易)是否合法,可通过计算哈希值的方式进行快速检验。若网络中节点提议添加一个新的区块,必须经过共识机制对区块达成确认。
2、区块(Block):记录一段时间内发生的所有交易和状态结果等,是对当前账本状态的一次共识。具体的,对于区块链来说,每次写入数据,即上述的交易过程,就是创建一个区块。
3、链(Chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。
4、共识机制:通过特殊节点的投票,在很短的时间内完成对交易的验证和确认,目标是使所有的诚实节点保存一致的区块链式图。
5、智能合约:该智能合约的工作原理类似于程序代码中实现的if-then语句,在当预设的条件被触发时,智能合约执行相应的合同条款。智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,还可以执行对接收的信息进行处理的合约,例如在获取到接收方节点发送的疫苗转移请求后,对该接收方节点的身份信息及疫苗获取权限进行验证,在该接收方节点拥有对该疫苗的疫苗获取权限时,根据获取到的疫苗转移请求进行上链处理。
具体的,一条区块链是由一个个区块组成,每个区块都包括两部分:区块头和区块体,而区块头包括时间戳、当前哈希值和前继哈希值。其中,时间戳用于记录该区块的生成时间;当前哈希值,为该区块的哈希值;前继哈希值,为该区块的前继区块的哈希值;区块体,为该区块存储的交易信息。具体的,以第二个区块加入该区块链为例,生成新区块的方式如下:
在区块链存在第一个区块时,第一个区块用于指示第一交易所生成的第一交易数据,若发生第二交易,则会通过该第二交易产生第二交易数据,若该第二交易数据验证通过,则通过该第二交易数据生成第二个区块,作为第一个区块的后继区块加入区块链中。其中,第二个区块的区块头中所包含的时间戳,用于记录第二个区块的生成时间;当前哈希值为区块链系统通过第二个区块中所包含的数据生成的哈希值;前继哈希值为第一个区块的哈希值;第二个区块的区块体用于记录第二交易数据。
同理,将第三个区块加入该区块链中,第三个区块用于指示第三交易产生的第三交易数据。若该区块链所指示的交易链条中发生新的交易,则根据上述同理生成新区块的方式,生成后继区块并加入该区块链中。
具体的,请参见图1,图1为本申请实施例提供的一种疫苗流通管理架构图,如图1所示,当转移方节点与接收方节点间发生疫苗交易时,即当转移方节点要将疫苗交给接收方节点时,接收方节点会向疫苗流通管理系统发送疫苗转移请求,当该疫苗流通管理系统获取到接收方节点发送的疫苗转移请求时,会对该疫苗转移请求进行验证,以保障该请求包括的信息的真实性,包括目标疫苗信息、目标转移方信息及目标接收方信息。具体的,该疫苗流通管理系统计算目标疫苗信息的哈希值得到第一疫苗哈希值,从疫苗区块链中获取与目标疫苗信息中的疫苗编号相关联且区块时间戳最大的第一区块,获取该第一区块中第一疫苗信息的第二疫苗哈希值,若第一疫苗哈希值和第二疫苗哈希值相同,则表示该疫苗的信息未被篡改,若第一区块中的第一接收方信息与目标转移方信息相同,则表示该目标转移方信息对应的目标转移方是合法获取到的疫苗,当疫苗信息未被篡改,且目标转移方是合法获取到的疫苗,则向接收方节点发送疫苗信息合法消息,以使该转移方节点可以放心地获取该疫苗,根据目标疫苗信息、目标转移方信息及目标接收方信息生成疫苗转移区块,将该疫苗转移区块上传到疫苗区块链中。其中,当转移方节点为疫苗的生产厂家时,在生产出疫苗时,还会向该疫苗区块链中上传一个疫苗生成区块,该疫苗生成区块中包括生产的疫苗的信息及生产厂家的信息等,当生产厂家上传该疫苗的数据时,疫苗流通管理系统会根据生产的疫苗的类型确定该生产厂家生产该疫苗的权限,并获取该生产厂家提供的质检报告,对该疫苗的合格性进行验证,在确保该生产厂家具有生产该疫苗的权限,且该疫苗质检通过后,根据该疫苗的数据生成疫苗生成区块,将该疫苗生成区块加入疫苗流通管理系统中。当目标终端需要获取疫苗的相关交易信息时,可以向疫苗流通管理系统发送疫苗查询请求,以获取疫苗的相关信息,当该目标终端的使用者是需要接种疫苗的用户时,可以通过查询该疫苗的相关交易信息,以确保自己所要接种的疫苗的安全性,当该目标终端为接收方节点时,也可以通过查询该疫苗的相关交易信息,以确保要交易的疫苗是合法且安全的。其中,还可以根据用户的身份信息,为该用户开放不同的查询权限,如目标终端对应的用户是需要接种疫苗的用户时,只为其提供疫苗的相关信息查询权限,目标终端对应的用户是医院或代理商这种接收方节点时,可以为其提供疫苗的所有信息的查询权限。其中,该转移方节点可以是生产厂家、医院或代理商等,接收方节点可以是医院或代理商或接种用户等,目标终端为一种电子设备,包括但不限于手机、平板电脑、台式电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)等。
其中,疫苗流通管理系统中存在多个节点,节点与节点间可以进行数据共享,用于存储各个疫苗从出厂到使用的整个过程中的各个交易数据,多个节点可以是指疫苗流通管理系统中各个客户端。每个节点在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该疫苗流通管理系统内的共享数据。为了保证疫苗流通管理系统内的信息互通,疫苗流通管理中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当疫苗流通管理系统中的任意节点接收到输入信息时,疫苗流通管理中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
对于疫苗流通管理系统中的每个节点,均具有与其对应的节点标识,而且疫苗流通管理系统中的每个节点均可以存储有疫苗流通管理系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至疫苗流通管理系统中的其他节点。每个节点中可维护一个节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。疫苗流通管理系统中的每个节点均存储一条相同的区块链。
请参见图2,图2是本申请实施例提供的一种基于区块链的疫苗流通管理方法流程图。如图2所示,该疫苗流通管理过程包括如下步骤:
步骤S201,获取接收方节点发送的疫苗转移请求。
具体的,获取接收方节点发送的疫苗转移请求,该疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息。其中,该疫苗转移请求是用于指示将目标疫苗从目标转移方转移至目标接收方,该目标疫苗信息包括疫苗编号、疫苗生产日期、疫苗保存时长、疫苗类型信息及生产信息,其中,疫苗编号为目标疫苗生产出来后在相关部门进行备案的编号,一个疫苗编号对应一个疫苗,疫苗类型信息用于指示目标疫苗的相关信息,包括该目标疫苗的类型、预防的病症及接种注意事项等,生产信息用于指示生产该目标疫苗的生产厂家信息及质检情况等。其中,当接收方节点需要从目标转移方接收目标疫苗时,向疫苗流通管理系统发送疫苗转移请求,以使疫苗转移请求在获取到该接收方节点发送的疫苗转移请求后,对该请求进行验证,从而根据该疫苗转移请求生成疫苗转移区块,并将该疫苗转移区块上传至疫苗区块链中,对本次的疫苗转移过程进行记录。
可选的,在获取到接收方节点发送的疫苗转移请求后,可以对该疫苗转移请求进行验证,以确定是否需要执行该疫苗转移请求。
其中,一种可能的验证方法,获取该接收方节点的疫苗获取权限集合,该疫苗获取权限集合包括多个疫苗类型信息;若疫苗获取权限集合中包括目标疫苗信息中的疫苗类型信息,则执行步骤S202;若疫苗获取权限集合中不包括目标疫苗信息中的疫苗类型信息,则向上述接收方节点发送疫苗获取权限异常消息。该验证方法是为了验证接收方节点是否具备使用或代理或拥有该目标疫苗的权限。由于疫苗接种有很大的限制性,从质检到测敏等都需要严格管理,一旦疫苗使用不当,很可能对接种者的身体造成极大的损伤,因此,对于疫苗的交易也需要进行严格把控。例如,代理方或医院等,只有具备对疫苗的代理资格或者使用资格,才能获取到该疫苗,因此在获取接收方节点发送的疫苗转移请求后,可以对接收方节点的疫苗获取权限进行验证。
另一种可能的验证方法,根据疫苗生产日期与疫苗保存时长确定目标疫苗信息对应的疫苗使用时限;获取当前网络时间,该当前网络时间为第二网络时间信息,若第二网络时间信息小于疫苗使用时限,则执行步骤S202;若第二网络时间信息大于或等于疫苗使用时限,则向接收方节点发送疫苗过期提示消息。该验证方法是为了验证接收方节点获取到的目标疫苗是否在有效使用期内。
其中,也可以结合上述两种验证方式对该疫苗转移请求进行验证,只有在接收方节点的疫苗获取权限集合中包括目标疫苗信息中的疫苗类型信息,且第二网络时间信息小于疫苗使用时限时,执行步骤S202。
举例来说,参加图3,图3是本申请实施例提供的一种疫苗转移场景示意图,当生产厂家1生产出疫苗A后,将该疫苗A出售给医院A,医院A在接收该疫苗A时,通过终端3a向疫苗流通管理系统发送疫苗转移请求,该疫苗转移请求包括疫苗A的信息、转移方信息为生产厂家1,接收方信息为医院A。其中,医院A通过终端3a向疫苗流通管理系统发送疫苗转移请求时,可以是通过请求获取页面30填写相关的信息,当终端3a检测到上链按钮或查询按钮被点击时,根据请求获取页面30中的相关信息生成疫苗转移请求,将该疫苗转移请求发送至疫苗流通管理系统。其中,当需要填写日期相关的信息时,可以请求获取页面30显示日历格式的日期可选项301,通过检测对日期的点击操作,向所填项上传日期信息。可选的,当疫苗流通管理系统接收到疫苗转移请求后,获取医院A的相关信息,包括该医院A的疫苗获取权限集合,比如,该医院A的疫苗获取权限集合中包括“乙肝疫苗、卡介苗、百白破及麻疹疫苗”,若该疫苗A的疫苗类型信息为乙肝疫苗,医院A的疫苗获取权限集合中包括乙肝疫苗,则表示医院A具有疫苗A的疫苗获取权限。其中,还可以获取疫苗A的疫苗生产日期“2018年8月12日”及疫苗保存时长“3年”,根据疫苗生产日期“2018年8月12日”及疫苗保存时长“3年”确定疫苗A的疫苗使用时限“2021年8月12日”,获取当前网络时间为“2019年9月13日”,即第二网络时间信息为“2019年9月13日”,第二网络时间信息小于疫苗使用时限,则表示医院A获取到的疫苗A在有效使用期内,可执行步骤S202。
步骤S202,根据疫苗转移请求生成目标疫苗信息的第一疫苗哈希值。
具体的,根据疫苗转移请求生成目标疫苗信息的第一疫苗哈希值。具体是根据目标疫苗信息中的疫苗编号、疫苗生产日期、疫苗保存时长、疫苗类型信息及生产信息,生成目标疫苗信息对应的第一疫苗哈希值。
举例来说,假定目标疫苗为步骤S201中的疫苗A,该目标疫苗信息中的疫苗编号为20180812A510,疫苗生产日期“2018年8月12日”、疫苗保存时长“3年”、疫苗类型“乙肝疫苗”,生产信息“生产厂家1,治疗乙肝,20180812质检合格等”,通过哈希算法,计算目标疫苗信息对应的哈希值,作为第一疫苗哈希值。如,若使用哈希算法MD5进行计算时,得到第一疫苗哈希值“2158c9314adca40831da9240580ec600”。
步骤S203,从疫苗区块链中获取与目标疫苗信息中的疫苗编号相关联且区块时间戳最大的第一区块,获取第一区块中第一疫苗信息的第二疫苗哈希值。
具体的,根据目标疫苗信息中的疫苗编号从疫苗区块链中获取与目标疫苗相关联的至少一个区块,从至少一个区块中获取区块时间戳最大的区块作为第一区块,从第一区块中获取第一疫苗信息的第二疫苗哈希值。其中,若第一区块中存储的是第一疫苗信息,未存储该第一疫苗信息对应的第二疫苗哈希值,则根据第一疫苗信息生成第二疫苗哈希值。该第一区块中包括第一疫苗信息、第一转移方信息、第一接收方信息,其中,第一疫苗信息包括疫苗编号、疫苗生产日期、疫苗保存时长、疫苗类型信息及生产信息。可选的,若获取到的第一区块中只包括第一疫苗信息时,表示该第一区块为生产厂家上传的疫苗生成区块,即疫苗生产出来并质检合格后,生产厂家将该疫苗在有关部门进行备案,并将该疫苗的相关信息上传至疫苗流通管理系统,疫苗流通管理系统获取到该疫苗的相关信息后,对该疫苗的相关信息进行验证,验证通过后,根据该疫苗的相关信息生成疫苗生成区块,并将该疫苗生成区块上传至疫苗区块链中。
具体可以参见图3,疫苗流通管理系统通过疫苗编号从疫苗区块链中获取与疫苗编号相关联的至少一个区块,从至少一个区块中获取时间戳最大的第一区块,根据第一区块中的第一疫苗信息生成第二哈希值“2158c9314adca40831da9240580ec600”。其中,由于在区块链中是通过追溯的方式查找相关区块,因此在需要时间戳最大的区块时,可以直接通过疫苗编号从疫苗区块中获取与疫苗编号相关联的一个区块,就不再进行追溯,这个区块为第一区块。
步骤S204,当第一疫苗哈希值与第二疫苗哈希值相同,且第一区块中的第一接收方信息与目标转移方信息相同,向接收方节点发送疫苗信息合法消息。
具体的,对比第一疫苗哈希值与第二疫苗哈希值,当两者相同时,表示接收方节点上传的疫苗信息未被篡改,并从第一区块中获取第一接收方信息,判断第一接收方信息与疫苗转移请求中的目标转移方信息是否相同,若第一接收方信息与目标转移方信息相同,表示该目标转移方是通过合法渠道获取到的目标疫苗。当第一疫苗哈希值与第二疫苗哈希值相同,且第一区块中的第一接收方信息与目标转移方信息相同,向接收方节点发送疫苗信息合法消息,以通知接收方节点本次获取到的疫苗没有问题,再执行步骤S205。其中,当第一接收方信息与目标转移方信息不同时,向接收方节点发送疫苗来源异常消息,以通知接收方节点本次获取到的疫苗来源不合法,以使接收方节点可以终止本次的疫苗转移过程;当第一疫苗哈希值与第二疫苗哈希值不同时,向接收方节点发送疫苗信息异常消息,以通知接收方节点本次获取到的疫苗信息被篡改,以使接收方节点可以终止本次的疫苗转移过程,从而防止异常疫苗进入市场。
其中,以上述步骤S201至步骤S203所示例子中,疫苗流通管理系统获取或计算得到的第一疫苗哈希值与第二疫苗哈希值相同,均为“2158c9314adca40831da9240580ec600”,在目标转移方为代理点1时,当第一接收方为代理点1时,向接收方节点发送疫苗信息合法消息,当第一接收方为生产厂家1时,第一接收方信息与目标转移方信息不同,说明该目标转移方是通过非法渠道获取到的疫苗,从生产厂家1到代理点1间的疫苗转移过程空白,即代理点1获取到的疫苗的来源不明。
步骤S205,生成疫苗转移区块,将该疫苗转移区块上传到疫苗区块链中。
具体的,根据目标疫苗信息、目标转移方信息及目标接收方信息生成疫苗转移区块,将疫苗转移区块上传到疫苗区块链中。具体的,根据疫苗信息、转移方信息及接收方信息生成待加入区块,根据共识机制对待加入区块进行验证;若验证通过,则将根据待加入区块生成的哈希值确定为当前哈希值,并获取疫苗区块链中区块时间戳最晚的第二区块;将第二区块的哈希值确定为前继哈希值,获取当前网络时间,该当前网络时间为第一网络时间信息,将第一网络时间信息确定为区块时间戳;根据待加入区块、当前哈希值、前继哈希值及区块时间戳生成疫苗转移区块。
可选的,可以根据目标疫苗信息对应的第一疫苗哈希值、目标转移方信息及目标接收方信息生成疫苗转移区块,将该疫苗转移区块上传到疫苗区块链中。并查找是否记录有目标疫苗与第一疫苗哈希值的对应关系,若不存在目标疫苗与第一疫苗哈希值的对应关系,则记录目标疫苗与第一疫苗哈希值的对应关系。
其中,当获取到接收方节点发送的疫苗查询请求,该疫苗查询请求包括目标疫苗信息中的疫苗编号,根据目标疫苗信息中的疫苗编号,从疫苗区块链中获取至少一个第三区块;所述至少一个第三区块为疫苗区块链中与目标疫苗信息中的疫苗编号相关联的区块;获取至少一个第三区块中的第二疫苗信息、第一转移方信息及第二接收方信息,根据至少一个第三区块中的第一转移方信息及第二接收方信息生成目标疫苗信息对应的疫苗转移轨迹;向接收方节点发送第二疫苗信息及疫苗转移轨迹。可选的,在根据至少一个第三区块中的第一转移方信息及第二接收方信息生成目标疫苗信息对应的疫苗转移轨迹后,获取至少一个第三区块中每个第三区块的第二疫苗信息对应的第三疫苗哈希值,若每个第三疫苗哈希值均相同,且疫苗转移轨迹中无断点,则向接收方节点发送第二疫苗信息及疫苗转移轨迹;若至少一个第三疫苗哈希值中存在不同的第三疫苗哈希值,或者疫苗转移轨迹中存在断点,向接收方节点发送疫苗转移异常消息。
举例来说,参见图4,图4是本申请实施例提供的一种疫苗查询场景示意图,用户要去医院接种疫苗时,需要了解将要接种的疫苗的信息时,通过请求终端对应的接收方节点发送疫苗查询请求,当疫苗流通管理系统接收到该疫苗查询请求后,从疫苗区块链40a中查找到与目标疫苗信息中的疫苗编号相关联的至少一个第三区块40b,该至少一个第三区块40b中记录了目标疫苗从生产出来到当前时刻的所有交易数据,假定此处至少一个第三区块40b包含了三个区块,包括疫苗生成区块及两个疫苗转移区块,第一个疫苗转移区块记录从生产厂家到代理点的疫苗转移数据,第二个疫苗转移区块记录从代理点到医院的疫苗转移数据,确定至少一个第三区块40b中每个第三区块中的第二疫苗信息均相同,并根据至少一个第三区块40b生成疫苗转移轨迹40c,包括“生产厂家—>代理点—>医院”,如图4中实线所示轨迹,将至少一个第三区块40b中的其中一个区块的第二疫苗信息及疫苗转移轨迹40c发送给请求终端。其中,若生成的疫苗转移轨迹40c如虚线所示轨迹,在该轨迹中医院与其他点间不存在转移关系,即该疫苗转移轨迹40c中的虚线轨迹存在断点,向接收方节点发送疫苗转移异常消息,如“该医院中需要进行接种的疫苗来源不明”等。
本申请实施例通过获取接收节点发送的疫苗转移请求,该疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息,根据疫苗转移请求生成目标疫苗信息对应的第一疫苗哈希值,从疫苗区块链中获取与目标疫苗信息中的疫苗编号相关联至少一个第一区块,并从至少一个第一区块中获取区块时间戳最大的第一区块,获取第一区块中第一疫苗信息的第二疫苗哈希值,在第一疫苗哈希值与第二疫苗哈希值相同,且第一区块中的第一接收方信息与目标转移方信息相同时,说明疫苗的信息未被篡改,且该疫苗的来源是合法的,则向接收方节点发送疫苗信息合法消息,根据目标疫苗信息、目标转移方信息及目标接收方信息生成疫苗转移区块,将该疫苗转移区块上传到疫苗区块链中。通过上述过程,使得疫苗的每次交易过程都会进行上链处理,当获取疫苗时,该疫苗的来源不正当或者被恶意篡改该疫苗的相关信息时,就会出现疫苗的交易信息无法匹配的情况,使得接收方节点可以很容易的了解该疫苗的交易过程和现有情况,包括该疫苗从出厂到交易的各个过程,从而确定每次疫苗交易的安全可靠,有效减少了疫苗信息被非法篡改情况的出现,从而提高疫苗管控的便捷性,保障疫苗的安全性,间接地减少疫苗非法交易过程。
参见图5,图5是本申请实施例提供的一种基于区块链的疫苗流通管理装置示意图,如图5所示,该基于区块链的疫苗流通管理装置50可以用于上述图2所对应实施例中的电子设备,具体的,该装置可以包括:接收模块501、第一生成模块502、第一获取模块503、发送模块504及第二生成模块505。
接收模块501,用于获取接收方节点发送的疫苗转移请求,所述疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息;
第一生成模块502,用于根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值;
第一获取模块503,用于从疫苗区块链中获取与所述目标疫苗信息中的疫苗编号相关联且区块时间戳最大的第一区块,获取所述第一区块中第一疫苗信息的第二疫苗哈希值;
第一发送模块504,用于若所述第一疫苗哈希值与所述第二疫苗哈希值相同,且所述第一区块中的第一接收方信息与所述目标转移方信息相同,则向所述接收方节点发送疫苗信息合法消息;
第二生成模块505,用于根据所述目标疫苗信息、所述目标转移方信息及所述目标接收方信息生成疫苗转移区块,将所述疫苗转移区块上传到所述疫苗区块链中。
其中,所述目标疫苗信息包括疫苗编号、疫苗生产日期、疫苗保存时长、疫苗类型信息及生产信息;
所述第一生成模块502具体用于:
根据所述疫苗编号、所述疫苗生产日期、所述疫苗保存时长、所述疫苗类型信息及所述生产信息,生成所述目标疫苗信息对应的第一疫苗哈希值。
其中,所述装置50还包括:
第二获取模块506,用于获取所述接收方节点的疫苗获取权限集合,所述疫苗获取权限集合包括多个疫苗类型信息;
所述第一生成模块502,还用于若所述疫苗获取权限集合中包括所述目标疫苗信息中的疫苗类型信息,则执行所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值的步骤;
第二发送模块507,用于若所述疫苗获取权限集合中不包括所述目标疫苗信息中的疫苗类型信息,则向所述接收方节点发送疫苗获取权限异常消息。
其中,所述第二生成模块505,包括:
第一生成单元5051,用于根据所述疫苗信息、所述转移方信息及所述接收方信息生成待加入区块;
验证单元5052,用于根据共识机制对所述待加入区块进行验证;
第二生成单元5053,用于若验证通过,则将根据所述待加入区块生成的哈希值确定为当前哈希值,并获取所述疫苗区块链中区块时间戳最晚的第二区块;
所述第二生成单元5053,还用于将所述第二区块的哈希值确定为前继哈希值,获取第一网络时间信息,将所述第一网络时间信息确定为区块时间戳;
所述第二生成单元5053,还用于根据所述待加入区块、所述当前哈希值、所述前继哈希值及所述区块时间戳生成所述疫苗转移区块。
其中,所述装置50还包括:
确定模块508,用于根据所述疫苗生产日期与所述疫苗保存时长确定所述目标疫苗信息对应的疫苗使用时限;
第三获取模块509,用于获取第二网络时间信息,若所述第二网络时间信息小于所述疫苗使用时限,则通过所述第一生成模块502执行所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值的步骤;
第三发送模块510,用于若所述第二网络时间信息大于或等于所述疫苗使用时限,则向所述接收方节点发送疫苗过期提示消息。
其中,所述装置50还包括:
第四获取模块511,用于获取接收方节点发送的疫苗查询请求,所述疫苗查询请求包括所述目标疫苗信息中的疫苗编号;
所述第一获取模块503,还用于根据所述目标疫苗信息中的疫苗编号,从所述疫苗区块链中获取至少一个第三区块;所述至少一个第三区块为所述疫苗区块链中与所述目标疫苗信息中的疫苗编号相关联的区块;
所述第一获取模块503,还用于获取所述至少一个第三区块中的第二疫苗信息、第一转移方信息及第二接收方信息;
第三生成模块512,用于根据所述至少一个第三区块中的第一转移方信息及第二接收方信息生成所述目标疫苗信息对应的疫苗转移轨迹;
第四发送模块513,用于向所述接收方节点发送所述第二疫苗信息及所述疫苗转移轨迹。
其中,所述装置50还包括:
所述第一获取模块503,还用于获取所述至少一个第三区块中的第二疫苗信息对应的第三疫苗哈希值;
所述第四发送模块513,还用于若至少一个第三疫苗哈希值均相同,且所述疫苗转移轨迹中无断点,则执行所述向所述接收方节点发送所述第二疫苗信息及所述疫苗转移轨迹的步骤;
第五发送模块514,用于若所述至少一个第三疫苗哈希值中存在不同的第三疫苗哈希值,或者所述疫苗转移轨迹中存在断点,则向所述接收方节点发送疫苗转移异常消息。
本申请实施例提供了一种基于区块链的疫苗流通管理装置,上述装置通过获取接收节点发送的疫苗转移请求,该疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息,根据疫苗转移请求生成目标疫苗信息对应的第一疫苗哈希值,从疫苗区块链中获取与目标疫苗信息中的疫苗编号相关联至少一个第一区块,并从至少一个第一区块中获取区块时间戳最大的第一区块,获取第一区块中第一疫苗信息的第二疫苗哈希值,在第一疫苗哈希值与第二疫苗哈希值相同,且第一区块中的第一接收方信息与目标转移方信息相同时,说明疫苗的信息未被篡改,且该疫苗的来源是合法的,则向接收方节点发送疫苗信息合法消息,根据目标疫苗信息、目标转移方信息及目标接收方信息生成疫苗转移区块,将该疫苗转移区块上传到疫苗区块链中。通过上述过程,使得疫苗的每次交易过程都会进行上链处理,当获取疫苗时,该疫苗的来源不正当或者被恶意篡改该疫苗的相关信息时,就会出现疫苗的交易信息无法匹配的情况,使得接收方节点可以很容易的了解该疫苗的交易过程和现有情况,从而确定每次疫苗交易的安全可靠,从而提高疫苗管控的便捷性,保障疫苗的安全性,间接地减少疫苗非法交易过程。
参见图6,图6是本申请实施例提供的一种电子设备的结构示意图。如图6所示,本实施例中的电子设备可以包括:一个或多个处理器601、存储器602和输入输出接口603。上述处理器601、存储器602和输入输出接口603通过总线604连接。存储器602用于存储计算机程序,该计算机程序包括程序指令,输入输出接口603用于与各个参与节点交互;处理器601用于执行存储器602存储的程序指令,执行如下操作:
获取接收方节点发送的疫苗转移请求,所述疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息;
根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值;
从疫苗区块链中获取与所述目标疫苗信息中的疫苗编号相关联且区块时间戳最大的第一区块,获取所述第一区块中第一疫苗信息的第二疫苗哈希值;
若所述第一疫苗哈希值与所述第二疫苗哈希值相同,且所述第一区块中的第一接收方信息与所述目标转移方信息相同,则向所述接收方节点发送疫苗信息合法消息;
根据所述目标疫苗信息、所述目标转移方信息及所述目标接收方信息生成疫苗转移区块,将所述疫苗转移区块上传到所述疫苗区块链中。
在一些可行的实施方式中,上述处理器601可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器602可以包括只读存储器和随机存取存储器,并向处理器601和输入输出接口603提供指令和数据。存储器602的一部分还可以包括非易失性随机存取存储器。例如,存储器602还可以存储设备类型的信息。
具体实现中,上述电子设备可通过其内置的各个功能模块执行如上述图2中各个步骤所提供的实现方式,具体可参见上述图2中各个步骤所提供的实现方式,在此不再赘述。
本申请实施例通过提供一种电子设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机指令,执行上述图2中所示方法的各个步骤,进行疫苗流通管理操作。通过存储器中的计算机指令,处理器执行对疫苗流通管理系统中的区块记录的疫苗生成或转移的相关信息的查询或上链等操作,使得该疫苗流通管理系统中的各个参与节点可以随时查询每个疫苗的疫苗信息及转移情况,在需要对疫苗的真实性或安全性进行验证时,可以很方便的查询到该疫苗在疫苗区块链中记录的历史疫苗转移信息,从而确定接收方节点获取到的疫苗的真实可靠性及安全性。由于区块数据公开透明,提高了区块数据的准确性和可追溯性。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图2中各个步骤所提供的疫苗流通管理方法,具体可参见上述图2各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的疫苗流通管理装置或者上述电子设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (9)
1.一种基于区块链的疫苗流通管理方法,其特征在于,所述方法包括:
获取接收方节点发送的疫苗转移请求,所述疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息;
根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值;
从疫苗区块链中获取与所述目标疫苗信息中的疫苗编号相关联且区块时间戳最大的第一区块,获取所述第一区块中第一疫苗信息的第二疫苗哈希值;
若所述第一疫苗哈希值与所述第二疫苗哈希值相同,且所述第一区块中的第一接收方信息与所述目标转移方信息相同,则向所述接收方节点发送疫苗信息合法消息;
根据所述目标疫苗信息、所述目标转移方信息及所述目标接收方信息生成待加入区块,根据共识机制对所述待加入区块进行验证;
若验证通过,则将根据所述待加入区块生成的哈希值确定为当前哈希值,并获取所述疫苗区块链中区块时间戳最晚的第二区块;
将所述第二区块的哈希值确定为前继哈希值,获取第一网络时间信息,将所述第一网络时间信息确定为区块时间戳;
根据所述待加入区块、所述当前哈希值、所述前继哈希值及所述区块时间戳生成疫苗转移区块,将所述疫苗转移区块上传到所述疫苗区块链中。
2.如权利要求1所述的方法,其特征在于,所述目标疫苗信息包括疫苗编号、疫苗生产日期、疫苗保存时长、疫苗类型信息及生产信息;
所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值,包括:
根据所述疫苗编号、所述疫苗生产日期、所述疫苗保存时长、所述疫苗类型信息及所述生产信息,生成所述目标疫苗信息对应的第一疫苗哈希值。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述接收方节点的疫苗获取权限集合,所述疫苗获取权限集合包括多个疫苗类型信息;
若所述疫苗获取权限集合中包括所述目标疫苗信息中的疫苗类型信息,则执行所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值的步骤;
若所述疫苗获取权限集合中不包括所述目标疫苗信息中的疫苗类型信息,则向所述接收方节点发送疫苗获取权限异常消息。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述疫苗生产日期与所述疫苗保存时长确定所述目标疫苗信息对应的疫苗使用时限;
获取第二网络时间信息,若所述第二网络时间信息小于所述疫苗使用时限,则执行所述根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值的步骤;
若所述第二网络时间信息大于或等于所述疫苗使用时限,则向所述接收方节点发送疫苗过期提示消息。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取接收方节点发送的疫苗查询请求,所述疫苗查询请求包括所述目标疫苗信息中的疫苗编号;
根据所述目标疫苗信息中的疫苗编号,从所述疫苗区块链中获取至少一个第三区块;所述至少一个第三区块为所述疫苗区块链中与所述目标疫苗信息中的疫苗编号相关联的区块;
获取所述至少一个第三区块中的第二疫苗信息、第一转移方信息及第二接收方信息,根据所述至少一个第三区块中的第一转移方信息及第二接收方信息生成所述目标疫苗信息对应的疫苗转移轨迹;
向所述接收方节点发送所述第二疫苗信息及所述疫苗转移轨迹。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述至少一个第三区块中的第二疫苗信息对应的第三疫苗哈希值;
若至少一个第三疫苗哈希值均相同,且所述疫苗转移轨迹中无断点,则执行所述向所述接收方节点发送所述第二疫苗信息及所述疫苗转移轨迹的步骤;
若所述至少一个第三疫苗哈希值中存在不同的第三疫苗哈希值,或者所述疫苗转移轨迹中存在断点,则向所述接收方节点发送疫苗转移异常消息。
7.一种基于区块链的疫苗流通管理装置,其特征在于,所述装置包括:
第一接收模块,用于获取接收方节点发送的疫苗转移请求,所述疫苗转移请求包括目标疫苗信息、目标转移方信息及目标接收方信息;
第一生成模块,用于根据所述疫苗转移请求生成所述目标疫苗信息对应的第一疫苗哈希值;
第一获取模块,用于从疫苗区块链中获取与所述目标疫苗信息中的疫苗编号相关联且区块时间戳最大的第一区块,获取所述第一区块中第一疫苗信息的第二疫苗哈希值;
第一发送模块,用于若所述第一疫苗哈希值与所述第二疫苗哈希值相同,且所述第一区块中的第一接收方信息与所述目标转移方信息相同,则向所述接收方节点发送疫苗信息合法消息;
第二生成模块,用于根据所述目标疫苗信息、所述目标转移方信息及所述目标接收方信息生成待加入区块,根据共识机制对所述待加入区块进行验证;
所述第二生成模块,还用于若验证通过,则将根据所述待加入区块生成的哈希值确定为当前哈希值,并获取所述疫苗区块链中区块时间戳最晚的第二区块;
所述第二生成模块,还用于将所述第二区块的哈希值确定为前继哈希值,获取第一网络时间信息,将所述第一网络时间信息确定为区块时间戳;
所述第二生成模块,还用于根据所述待加入区块、所述当前哈希值、所述前继哈希值及所述区块时间戳生成疫苗转移区块,将所述疫苗转移区块上传到所述疫苗区块链中。
8.一种电子设备,其特征在于,包括处理器、存储器、输入输出接口;
所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于与各个参与节点交互,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910918550.4A CN110599180B (zh) | 2019-09-26 | 2019-09-26 | 一种基于区块链的疫苗流通管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910918550.4A CN110599180B (zh) | 2019-09-26 | 2019-09-26 | 一种基于区块链的疫苗流通管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110599180A CN110599180A (zh) | 2019-12-20 |
CN110599180B true CN110599180B (zh) | 2023-06-27 |
Family
ID=68863812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910918550.4A Active CN110599180B (zh) | 2019-09-26 | 2019-09-26 | 一种基于区块链的疫苗流通管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110599180B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382414A (zh) * | 2020-02-14 | 2020-07-07 | 深圳壹账通智能科技有限公司 | 基于区块链的信息处理方法及平台、电子设备 |
CN111582885B (zh) * | 2020-05-06 | 2023-05-05 | 中国计量大学 | 一种基于区块链的疫苗管理方法及存储介质 |
CN111429995B (zh) * | 2020-06-11 | 2020-09-18 | 北京连琪科技有限公司 | 基于联盟链的疫苗追溯方法及系统 |
CN111739605A (zh) * | 2020-06-18 | 2020-10-02 | 卫宁健康科技集团股份有限公司 | 一种疫苗接种的管理方法、装置、设备及存储介质 |
CN112347504A (zh) * | 2020-10-16 | 2021-02-09 | 杭州甘道智能科技有限公司 | 基于区块链的疫苗接种的监控装置及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019140555A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 一种区块链构建方法及区块链节点 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016196786A1 (en) * | 2015-06-02 | 2016-12-08 | Elwha Llc | Machine/article/composition/process states for tracking philanthropic and/or other efforts |
US20180130034A1 (en) * | 2016-11-07 | 2018-05-10 | LedgerDomain, LLC | Extended blockchains for event tracking and management |
US20190222418A1 (en) * | 2018-01-12 | 2019-07-18 | Walmart Apollo, Llc | Systems and Methods for Key Exchange in Blockchain |
CN110084626B (zh) * | 2019-05-08 | 2023-04-18 | 湖南大学 | 一种基于区块链的疫苗生产监管方法 |
-
2019
- 2019-09-26 CN CN201910918550.4A patent/CN110599180B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019140555A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 一种区块链构建方法及区块链节点 |
Also Published As
Publication number | Publication date |
---|---|
CN110599180A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110599180B (zh) | 一种基于区块链的疫苗流通管理方法及装置 | |
US11025417B2 (en) | Cross-blockchain data access method, apparatus and system, and computer readable medium | |
CN109087090B (zh) | 使用可信任的账本追踪目标的方法和装置 | |
WO2021233049A1 (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US10402594B2 (en) | Information processing apparatus and non-transitory computer readable medium | |
JP7422366B2 (ja) | 物流追跡および配送元特定のための方法、アプリケーションサーバ、ブロックチェーンノードおよび媒体 | |
CN110797099B (zh) | 一种基于区块链的医疗数据共享方法及系统 | |
EP3751815A1 (en) | Multi-source deterministic oracle management | |
WO2020088098A1 (zh) | 一种基于区块链的质量数据处理方法和装置 | |
EP3742321A1 (en) | Storage of measurement datasets and distributed databases | |
CN111881481B (zh) | 基于区块链的医疗数据处理方法、装置、设备及存储介质 | |
CN109861996B (zh) | 基于区块链的关系证明方法、装置、设备及存储介质 | |
CN110602455B (zh) | 视频存储系统、视频处理方法、装置、设备及存储介质 | |
CN109242404B (zh) | 履历信息管理方法、装置、计算机设备与可读存储介质 | |
TW202046206A (zh) | 異常帳戶的檢測方法及裝置 | |
CN110929229A (zh) | 一种基于区块链的office文档可信性验证方法及系统 | |
CN110659441A (zh) | 一种基于区块链的信息发布管理方法及装置 | |
EP3742304A1 (en) | Validation of measurement datasets in a distributed database | |
CN102843232A (zh) | 生成安全装置密钥 | |
CN111209339B (zh) | 区块同步方法、装置、计算机以及存储介质 | |
CN111475778A (zh) | 一种基于区块链的音乐数据处理方法及装置 | |
CN113094400A (zh) | 一种数据溯源方法、系统及装置 | |
CN110598459B (zh) | 一种基于区块链的数据存储卡管理方法及装置 | |
CN108882230B (zh) | 通话记录管理方法、装置及系统 | |
CN112583606B (zh) | 安全校验方法及服务器、终端、存储介质 |
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 |