CN109829726B - 一种基于区块链的药品信息管理方法及*** - Google Patents
一种基于区块链的药品信息管理方法及*** Download PDFInfo
- Publication number
- CN109829726B CN109829726B CN201910018672.8A CN201910018672A CN109829726B CN 109829726 B CN109829726 B CN 109829726B CN 201910018672 A CN201910018672 A CN 201910018672A CN 109829726 B CN109829726 B CN 109829726B
- Authority
- CN
- China
- Prior art keywords
- information
- transaction
- medicine
- block
- drug
- 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
Landscapes
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种基于区块链的药品信息管理方法及***,该方法包括:对药品供应链参与企业进行角色管理和身份认证后,确定为区块链节点;对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息;在区块链上发布所述药品追溯信息,使得每个区块链节点拥有与所述药品追溯信息对应的数据备份;基于预设的交易模型构建所述区块链上的药品流通交易,实现对所述区块链记载的药品追溯信息进行更新;响应于药品信息查询请求,在所述区块链上进行交易查询,对查询到的交易进行解析,获得该药品的实际流转信息。通过本发明实现了保证所有企业的对等参与及隐私信息,并且提高了药物信息追踪的效率和准确性。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种基于区块链的药品信息管理方法及***。
背景技术
伴随着社会的发展和科技的进步,人们更注重健康的生活,对药品的使用也是越来越谨慎,患者或者药物经销商期待能够追踪并获取到相应药物的全部流通信息。
传统的药物信息管理***通常会由一家商业公司来维护或运行一个药物信息管理平台或者药物信息追溯平台,供应链上的企业将药品相关信息上传到该平台上,再由该平台进行汇总,提供查询等服务。这种运行模式会存在以下问题:
所有的药品的原始信息上传到平台,平台的运营方可以获取和修改这些信息,一方面损害相关企业的商业隐私和利益,另一方面数据的真实性也难以保障;并且中心化的平台抵御攻击的能力较弱,且严重依赖于平台运营方的技术实力;在该平台中提供的数据接口有限,不利于各个企业将平台中相关数据集合成自己的企业资源计划***。由此可见,传统的药物信息管理***无法保证所有企业的对等参与及隐私,也无法满足实际药物追踪信息的准确性和效率。
发明内容
针对于上述问题,本发明提供一种基于区块链的药物信息管理方法及***,实现了保证所有企业的对等参与及隐私信息,并且提高了药物信息追踪的效率和准确性。
为了实现上述目的,本发明提供了如下技术方案:
一种基于区块链的药品信息管理方法,该方法包括:
对药品供应链参与企业进行角色管理和身份认证后,确定为区块链节点;
对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息;
在区块链上发布所述药品追溯信息,使得每个区块链节点拥有与所述药品追溯信息对应的数据备份;
基于预设的交易模型构建所述区块链上的药品流通交易,实现对所述区块链记载的药品追溯信息进行更新;
响应于药品信息查询请求,在所述区块链上进行交易查询,对查询到的交易进行解析,获得该药品的实际流转信息。
可选地,所述对药品供应链参与企业进行角色管理和身份认证后,确定为区块链节点,包括:
确定证书服务提供商,基于所述证书服务提供商对药品供应链参与企业进行认证,并向所述药品供应链参与企业颁发证书,所述证书包括企业公钥和角色;
在所述药品供应链参与企业中确定查询服务提供商,使得所述查询服务提供商提供药品信息查询服务;
确定抗攻击服务提供商,使得所述抗攻击服务提供商监测药品流转过程的异常信息,并将异常信息和对应的异常节点上报至所述证书服务提供商;
将确定的证书服务提供商、查询服务提供商和抗攻击服务提供商作为区块链节点。
可选地,所述对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息,包括:
将药品原始信息进行编码处理,形成编码信息;
对所述编码信息进行哈希计算,获得哈希值,并将所述哈希值作为所述药品的元数据,其中,所述元数据存储在区块链上,并作为药品查询索引;
对企业真实身份信息进行信息提取,获得企业的公钥和角色信息;
将所述药品的元数据和所述企业对应的公钥与角色信息,作为药品追溯信息。
可选地,该方法还包括:
定义交易数据结构、交易输出数据结构和区块头数据结构,其中,所述交易数据结构包括交易类型字段、输入字段、输出字段和版本字段,交易输出数据结构包括元数据字段、生命周期字段、锁定脚本字段和版本字段,所述区块头数据结构包括块生命周期字段;
基于定义后的所述交易数据结构、交易输出数据结构和区块头数据结构,创建获得交易模型。
可选地,所述基于预设的交易模型构建所述区块链上的药品流通交易,包括:
当通过所述预设的交易模型记录药品所有权转移时,将药品的发出方和实际接收方同时作为接收方进行交易记录;
当所述实际接收方的公钥出错时,通过所述药品的发出方将收到的药品进行再次发出,实现对原始交易的更改。
可选地,所述基于预设的交易模型构建所述区块链上的药品流通交易,包括:
基于预设的交易模型,确定交易类型,同步所述交易模型中的账本信息,其中,所述交易类型包括药品生产、到达和离开;
获取药品的元数据,并基于所述元数据在所述账本信息中进行检索,若能够检索到所述元数据,通过所述查询服务提供商进行企业身份信息验证,验证成功后,生成交易信息;
将所述交易信息在所述区块链上进行广播。
可选地,该方法还包括:
响应于与所述交易类型为目标交易,同步所述交易模型中的账本信息,其中,所述目标交易包括打包交易、拆包交易和重包装交易中的一种;
获取所述目标交易原始包装对应的第一元数据,并将所述第一元数据在所述账本信息中进行检索,若检索到与所述第一元数据对应的药品记录,则获取所述目标交易对应的目标包装的第二元数据;
对所述第一元数据和所述第二元数据之间的相关性进行验证,若验证成功,则生成所述目标交易的交易信息;
将所述交易信息在所述区块链上进行广播。
可选地,所述响应于药品信息查询请求,在所述区块链上进行交易查询,对查询到的交易进行解析,获得该药品的实际流转信息,包括:
响应于药品信息查询请求,通过所述药品查询服务提供商获取所述药品对应的元数据;
依据所述药品对应的元数据在本地区块链上进行检索,获得包含所述元数据的所有交易;
对所述所有交易进行解析,获得该药品的实际流转信息。
可选地,该方法还包括:
设置所述区块链对应的块生命周期和交易生命周期,其中,所述块生命周期通过区块中所有交易的生命周期的最大值进行确定,所述交易生命周期通过药品的实际保质期进行确定;
分别获取所述区块链的第一区块和最后一个区块的时间戳;
根据所述时间戳计算获得第一区块的时间信息,并获取所述第一区块的块生命周期;
判断所述第一区块的时间信息是否超过所述第一区块的块生命周期,如果是,则删除所述第一区块。
一种基于区块链的药品信息管理***,该***包括:
第一确定单元,用于对药品供应链参与企业进行角色管理和身份认证后,确定为区块链节点;
第二确定单元,用于对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息;
发布单元,用于在区块链上发布所述药品追溯信息,使得每个区块链节点拥有与所述药品追溯信息对应的数据备份;
构建单元,用于基于预设的交易模型构建所述区块链上的药品流通交易,实现对所述区块链记载的药品追溯信息进行更新;
查询单元,用于响应于药品信息查询请求,在所述区块链上进行交易查询,对查询到的交易进行解析,获得该药品的实际流转信息。
相较于现有技术,本发明提供了一种基于区块链的药品信息管理方法及***,对企业进行角色管理和身份认证后,使得参与企业都作为区块链的一个节点,并且基于角色管理和身份认证,使得企业能够对等参与,拥有相同权限,并且对药品原始信息和企业身份信息进行预处理,能够对药品原始信息和企业的真实身份信息进行隐藏,保证了企业的商业隐私,同时基于预设的交易模型能够根据交易类型构建药品流通交易,使得交易信息的发布更加准确和及时,从而提高了药物信息追踪的效率和准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种基于区块链的药品信息管理方法的流程示意图;
图2为本发明实施例提供的一种比特币UTXO模型的示意图;
图3为本发明实施例提供的一种扩展的UTXO模型的示意图;
图4为本发明实施例提供的一种基于区块链的药品信息管理***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在本发明实施例中提供了一种基于区块链的药品信息管理方法,该方法可以针对药品追溯***,该***的参与方包括原料供应商、生产商、批发商、二级分销商、药店、医院、病人和消费者以及国家监管机构等,可以实现对药品信息的全程追溯。参见图1,该方法包括以下步骤:
S101、对药品供应链参与企业进行角色管理和身份认证后,确定为区块链节点。
采用区块链技术,通过区块链存储药品信息,所有参与企业都作为区块链的一个节点。因此,要保证供应链企业的对等参与,拥有相同的权限,需要进行服务分离。传统的中心化药品追溯***是由第三方的公司来提供服务的,这种模式最大的缺点是无法将不同的功能分离,所有的数据都在同一家服务提供商的服务器中,它既提供查询服务,也拥有访问和修改数据的权限,这就导致了参与企业的商业利益和隐私受到了损害,并且数据的真实性也无法保证。在本发明实施例提供的药品信息管理方法中,首先将各个服务提供商分离,即角色分离,确定的药物追溯***的角色主要包括证书服务提供商、查询服务提供商和抗攻击服务提供商。
在药品追溯***仅涉及到供应链上的相关企业,因此记录信息的区块链是有准入机制的,提供该准入验证服务的作为证书服务提供商,该角色为了保证各个企业的对等参与,通常由政府监管部分担任。证书服务提供商颁发的证书中不会包含企业真实身份信息,只有企业的公钥和角色(该角色可以分为生厂商和批发商),此外,每一家参与药品追溯***的企业可以拥有多个有效的公钥,这进一步提升了安全等级,能有效规避一些恶意的商业分析。通过这种方式,在药品追溯***中,没有合作关系的企业是无法获知彼此的真是身份信息和商业数据的,保护了参与企业的商业隐私。
由于该药品追溯***采用区块链技术,每个节点都拥有完整的数据,参与***的企业都能成为查询服务提供商,每个企业也能自由选择和哪个查询服务提供商进行合作,向其注册。通过注册,查询服务提供商能够将企业公钥、药品元数据和企业真实身份联系起来,从而提供查询服务,其中,药品元数据并不是药品的原始数据,而是对该原始数据进行编码后计算得到的哈希值。
抗攻击服务提供商在***中检测异常活动,并将恶意行为和恶意节点的相关细节信息报告给证书服务提供商,由证书服务提供商对其进行相应处理,例如,惩罚和取消该企业的证书(即加入该***的资格)等。抗攻击服务提供商相当于药品追溯***的保护方,对于恶意行为的检测机制可以随着***的发展动态调整,具有很强的适应性。为了实现检测该抗攻击服务提供商同样备份一份完整的数据,利用这些数据、结合机器学习的相关算法,例如,支持向量机、卷积神经网络、深度神经网络等,对具体的异常行为进行模型训练和实际***测试,从而保障***的安全稳定运行。
S102、对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息;
S103、在区块链上发布药品追溯信息,使得每个区块链节点拥有与药品追溯信息对应的数据备份;
在本发明中为了企业的商业隐私和利益,并不是直接将药品的原始信息和企业的真实身份信息在区块链上进行发布的,而是进行相应的信息预处理后才进行发布。即将药品的原始数据根据相关标准进行编码,形成条形码或RFID标签绑定在包装上,然后基于该标签信息计算其哈希值,将该哈希值作为元数据存放在区块链上,而对与企业真实身份信息进行匹配发布的企业信息为企业的公钥和角色,将上述药品元数据和企业的公钥和角色作为药品追溯信息,在区块链上进行发布,使得每个区块链节点拥有与所述药品追溯信息对应的数据备份。
S104、基于预设的交易模型构建区块链上的药品流通交易,实现对区块链记载的药品追溯信息进行更新。
为了便于对药品信息的管理和记录,将药品的流通过程对应到区块链上为一笔交易,例如,一盒药品在物理世界中从A运输到B,反映到区块链上为A向B发起一笔交易。在本发明实施例中采用了预设的交易模型来记录该药品追溯***中的工作流,从而对进行流转后的药品的信息进行实时的更新和记录。
具体的,在该交易模型中重新定义了交易数据结构、交易输出数据结构和区块头数据结构,能够使得该交易模型更加满足药品追溯***中的相关应用。即实现了对现有区块链应用的UTXO模型的扩展,UTXO模型是一种区块链的交易模型,而药品追溯***是一套物理信息***,既有实际供应链网络中药品流转信息,也有追溯信息***中的记录。为了将之对应起来,药品追溯***采用一种扩展的UTXO模型来构建整个工作流。
从参见图2,为比特币UTXO模型,在比特币***中,一笔交易值一笔比特币的转账,包含输入、舒服和版本等字段,输出包括数量、锁定脚本和版本等字段,输入包括解锁脚本、交易哈希、输出索引和版本等字段。交易的输出表明了转账的比特币数量以及接收方,接收方是通过锁定脚本来体现的,能提供对应锁定脚本的人即可使用这笔数量的比特币,普通的比特币转账中,锁定脚本是公钥验证脚本。在本发明的药品追溯***中对UTXO模型结构进行了扩展,如图3所示,新增以下字段:元数据、类型、生命周期和块生命周期。类型指的是***中交易的类型,每一种类型都对应实际药品供应链中的一个环节,例如,可以包括:生产、离开、到达、打包、重打包、拆包、取消和存储修剪等。
基于扩展后的UTXO模型能够更加符合药品追溯***的药品流通交易。
S105、响应于药品信息查询请求,在区块链上进行交易查询,对查询到的交易进行解析,获得该药品的实际流转信息。
查询服务是由查询服务提供商进行的,主要包括:
响应于药品信息查询请求,通过所述药品查询服务提供商获取所述药品对应的元数据;
依据所述药品对应的元数据在本地区块链上进行检索,获得包含所述元数据的所有交易;
对所述所有交易进行解析,获得该药品的实际流转信息。
具体的,将药品的原始数据根据相关标准进行编码,形成条形码或RFID标签绑定在药品包装上。供应链上的企业通过扫描上述条形码或RFID标签,得到编码后的原始数据并计算其哈希值,这个哈希值记为元数据,将元数据存储在区块链上,元数据会被作为药品查询的索引。当查询服务提供商处理查询请求时,首先根据该药品的元数据检索本地区块链,找到所有包含该元数据的交易,并解析所有交易,得到该药品的实际流转情况,将该药品实际流转情况对应的信息作为反馈信息返回给请求发出方。
本发明提供了一种药品信息管理方法,对企业进行角色管理和身份认证后,使得参与企业都作为区块链的一个节点,并且基于角色管理和身份认证,使得企业能够对等参与,拥有相同权限,并且对药品原始信息和企业身份信息进行预处理,能够对药品原始信息和企业的真实身份信息进行隐藏,保证了企业的商业隐私,同时基于预设的交易模型能够根据交易类型构建药品流通交易,使得交易信息的发布更加准确和及时,从而提高了药物信息追踪的效率和准确性。
基于上述实施例,下面对应用本发明提供的交易模型对不同交易类型的工作流进行描述。
在本发明的另一实施例中提供了一种交易错误纠正方法,该方法包括:
当通过所述预设的交易模型记录药品所有权转移时,将药品的发出方和实际接收方同时作为接收方进行交易记录;
当所述实际接收方的公钥出错时,通过所述药品的发出方将收到的药品进行再次发出,实现对原始交易的更改。
基于区块链的药品追溯***中的大部分交易都对应实际物流中药品所有权的转移。若将药品对应比特币,药品随物流进行转移时,***中也通过交易模型即UTXO模型记录药品所有权的转移,与比特币类似,只有药品的实际接收方有权限将收到的药品再次发出。因此,若利用传统的UTXO交易模型时,当药品物流发出后发现信息***中添加的接收方公钥出错,此时这笔交易无法更改,会导致接收方收到货后无法在信息***中对这批药进行操作,从而导致这批药无法在信息***中追踪。为了解决上述问题,在本发明的交易模型中处理药品所有权进行转移的交易时,会额外增加一个接收方为自己即为当前发出方,一旦发现出错,可以由当前发出方再次发起一笔交易进行纠正。
以交易模型为扩展后的UTXO模型为例,生成一笔交易用来表示药品的生产、到达和离开的步骤如下:
S201、确定交易类型,其中,该交易类型可以为生产、到达或离开;
S202、同步所有UTXO账本;
S203、从药品包装读取药品相关的信息;
S204、计算S203中读取到的信息的哈希值,得到元数据;
S205、根据元数据在UTXO账本中检索,若没有该药品的记录,且此此操作不是生产,则认为该批药品非法,不再进行处理;
S206、若在S205中查到药品的记录,则继续向查询服务提供商查询相关厂商的身份进行一步验证;
S207、生成一笔交易,交易的数据结构如图3所示,包含元数据、类型等信息;
S208、广播该交易。
实际的药品供应链非常复杂,上面描述的步骤并不能涵盖所有的实际的交易类型。交易类型还包括打包、重打包和拆包,例如,生产和最终销售都是最小包装,而在运输过程中需要打包、装箱,如果遇到破损等情况,还需要拆包并重新打包。对于这些不同的包装等级,通过设计对应的交易机制,使得信息***中的交易能更好地对应物理***中的药品流转情况。
UTXO交易模型可以是多输入多输出的,对于不同包装等级的药品,例如,将很多小盒打包为更大的包装,则将这些小盒药品对应交易的输出作为这次包装交易的输入,输出则添加新的大包装的元数据,这笔交易由自己发给自己,则在信息***中完成打包交易,对应物理***中的实际打包环节。
当UTXO交易模型处理上述交易时,将上述交易定义为目标交易,即该目标交易包括但不局限于打包交易、拆包交易和重包装交易中的一种。对应的,该处理方法为:
响应于与所述交易类型为目标交易,同步所述交易模型中的账本信息;获取所述目标交易原始包装对应的第一元数据,并将所述第一元数据在所述账本信息中进行检索,若检索到与所述第一元数据对应的药品记录,则获取所述目标交易对应的目标包装的第二元数据;
对所述第一元数据和所述第二元数据之间的相关性进行验证,若验证成功,则生成所述目标交易的交易信息;
将所述交易信息在所述区块链上进行广播。
其中,原始包装为药品的最初的包装,而目标包装为在流转过程中需要对原始包装改变后的包装,例如,对应于打包交易,则原始包装为药品的小包装,而目标包装为打包后的大包装;对于拆包交易,原始包装为大包装形态,目标包装为小包装形态;对于重包装交易,原始包装为第一种类型的包装,目标包装为第二类型的包装,第一类型和第二类型不同。
即当UTXO交易模型处理打包、拆包和重包装交易时,需要根据交易类型,确定输入包装的元数据,然后确定输出包装对应的元数据,然后在UTXO进行输入包装对应的元数据的验证,再判断输入和输出元数据之间的相关性,从而生成交易。
其中,打包交易可以包括:
响应于与所述交易类型为打包交易,同步所述交易模型中的账本信息,其中,所述打包交易表征药品由小包装打包成大包装进行流转的交易;
获取药品小包装对应的元数据,并将所述药品小包装对应的元数据在所述账本信息中进行检索,若检索到与所述元数据对应的药品记录,则获取药品大包装对应的元数据;
通过所述小包装对应的元数据和所述大包装对应的元数据验证其相关性,若验证成功,则生成所述打包交易的交易信息;
将所述交易信息在所述区块链上进行广播。
与打包交易相对,拆包则是将一个大包装作为输入,多个小包装作为输出。下面为以重包装为例,进行说明:
S301、确定交易类型,这里类型为重包装;
S302、同步所有UTXO账本;
S303、读取破损的大包装获取相关信息;
S304、计算S303中得到信息的哈希值(SHA256),得到元数据;
S305、根据元数据在UTXO账本中检索,若没有该药品的记录,则认为该批药品非法,不再进行处理;
S306、若S305中认为合法,则依次读取破损大包装中的所有小包装,获得相关信息。
S307、计算S306中获取到的所有小包装信息的哈希值,作为元数据。
S308、通过小包装的元数据和大包装的元数据验证他们是否相关;
S309、若S308中的验证通过,则生成一笔新的交易,将小包装重新打包成新的大包装,添加新的元数据等。
S310、广播交易。
在本发明实施例中还提供了一种存储修剪方法,包括:
设置所述区块链对应的块生命周期和交易生命周期,其中,所述块生命周期通过区块中所有交易的生命周期的最大值进行确定,所述交易生命周期通过药品的实际保质期进行确定;
分别获取所述区块链的第一区块和最后一个区块的时间戳;
根据所述时间戳计算获得第一区块的时间信息,并获取所述第一区块的块生命周期;
判断所述第一区块的时间信息是否超过所述第一区块的块生命周期,如果是,则删除所述第一区块。
区块链的特点是所有节点都会存储完整的数据,随着时间推移,参与节点的存储负担会越来越大,针对药品追溯这一特定场景,设计了存储修剪方法来保证整条区块链的大小保持在合理范围内,减轻参与节点的存储负担。主要原理是增加“块生命周期”和“生命周期”字段,若区块链的第一个区块存储的时间已超过块生命周期,则将其丢弃。其中,块生命周期是由区块中所有交易的生命周期的最大值决定的,而交易的生命周期是由药品的实际保质期决定的。通过该区块链的第一个区块的时间戳和最后一个区块的时间戳可以获得第一个区块的时间信息,该时间信息表征该区块的存在时间。获取第一个区块的生命周期,判断第一个区块的时间信息是否超过其生命周期,若是,则删除第一个区块,若否,则不做任何处理。需要说明的是,上述的存储修剪方法只能应用在第一个区块上,保证区块链的线性可追溯性。
由于该修剪方法只应用在第一个区块上,有可能第一个区块还未到生命周期,但第二区块已经到了,此时***不会修剪,直到第一个区块到生命周期,此时会删除第一个区块,然后第二个区块就变成了第一个区块,也会立刻被删除。依次类推,由于药品本身的有效期是稳定的,***在长期的运行中会达到动态平衡。
本发明实施例提供的基于区块链的药品信息管理方法,通过区块链的方案,所有企业对等参与,去除了单一的平台方,并且隐去了企业的真是身份,保障了所有参与企业的商业隐私和利益。同时,通过服务的分离,由证书服务提供商和查询服务提供商保证监管查询功能。针对药品供应链的实际情况,设计了对应的信息流交易数据结构和算法。特别是考虑到了实际情况中的包装问题,大包装和小包装对应问题等。针对区块链的存储难题,结合药品追溯的实际场景,设计了使用的存储修剪方法。
在本发明实施例中还提供了一种基于区块链的药品信息管理***,参见图4,该***包括:
第一确定单元401,用于对药品供应链参与企业进行角色管理和身份认证后,确定为区块链节点;
第二确定单元402,用于对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息;
发布单元403,用于在区块链上发布所述药品追溯信息,使得每个区块链节点拥有与所述药品追溯信息对应的数据备份;
构建单元404,用于基于预设的交易模型构建所述区块链上的药品流通交易,实现对所述区块链记载的药品追溯信息进行更新;
查询单元405,用于响应于药品信息查询请求,在所述区块链上进行交易查询,对查询到的交易进行解析,获得该药品的实际流转信息。
在上述实施例的基础上,第一确定单元401包括:
第一确定子单元,用于确定证书服务提供商,基于所述证书服务提供商对药品供应链参与企业进行认证,并向所述药品供应链参与企业颁发证书,所述证书包括企业公钥和角色;
第二确定子单元,用于在所述药品供应链参与企业中确定查询服务提供商,使得所述查询服务提供商提供药品信息查询服务;
第三确定子单元,用于确定抗攻击服务提供商,使得所述抗攻击服务提供商监测药品流转过程的异常信息,并将异常信息和对应的异常节点上报至所述证书服务提供商;
节点确定子单元,用于将确定的证书服务提供商、查询服务提供商和抗攻击服务提供商作为区块链节点。
在上述实施例的基础上,第二确定子单元402包括:
编码子单元,用于将药品原始信息进行编码处理,形成编码信息;
计算子单元,用于对所述编码信息进行哈希计算,获得哈希值,并将所述哈希值作为所述药品的元数据,其中,所述元数据存储在区块链上,并作为药品查询索引;
提取子单元,用于对企业真实身份信息进行信息提取,获得企业的公钥和角色信息;
信息确定子单元,用于将所述药品的元数据和所述企业对应的公钥与角色信息,作为药品追溯信息。
在上述实施例的基础上,该***还包括模型创建单元,具体用于:
定义交易数据结构、交易输出数据结构和区块头数据结构,其中,所述交易数据结构包括交易类型字段、输入字段、输出字段和版本字段,交易输出数据结构包括元数据字段、生命周期字段、锁定脚本字段和版本字段,所述区块头数据结构包括块生命周期字段;
基于定义后的所述交易数据结构、交易输出数据结构和区块头数据结构,创建获得交易模型。
在上述实施例的基础上,构建单元404包括:交易更改单元,该交易更改单元具体用于:
当通过所述预设的交易模型记录药品所有权转移时,将药品的发出方和实际接收方同时作为接收方进行交易记录;
当所述实际接收方的公钥出错时,通过所述药品的发出方将收到的药品进行再次发出,实现对原始交易的更改。
在上述实施例的基础上,构建单元404具体用于:
基于预设的交易模型,确定交易类型,同步所述交易模型中的账本信息,其中,所述交易类型包括药品生产、到达或离开;
获取药品的元数据,并基于所述元数据在所述账本信息中进行检索,若能够检索到所述元数据,通过所述查询服务提供商进行企业身份信息验证,验证成功后,生成交易信息;
将所述交易信息在所述区块链上进行广播。
在上述实施例的基础上,该构建单元404还用于:
响应于与所述交易类型为打包交易,同步所述交易模型中的账本信息,其中,所述打包交易表征药品由小包装打包成大包装进行流转的交易;
获取药品小包装对应的元数据,并将所述药品小包装对应的元数据在所述账本信息中进行检索,若检索到与所述元数据对应的药品记录,则获取药品大包装对应的元数据;
通过所述小包装对应的元数据和所述大包装对应的元数据验证其相关性,若验证成功,则生成所述打包交易的交易信息;
将所述交易信息在所述区块链上进行广播。
在上述实施例的基础上,查询单元405包括:
获取子单元,用于响应于药品信息查询请求,通过所述药品查询服务提供商获取所述药品对应的元数据;
检索子单元,用于依据所述药品对应的元数据在本地区块链上进行检索,获得包含所述元数据的所有交易;
解析子单元,用于对所述所有交易进行解析,获得该药品的实际流转信息。
在上述实施例的基础上,该***还包括:存储修剪单元,其用于:
设置所述区块链对应的块生命周期和交易生命周期,其中,所述块生命周期通过区块中所有交易的生命周期的最大值进行确定,所述交易生命周期通过药品的实际保质期进行确定;
分别获取所述区块链的第一区块和最后一个区块的时间戳;
根据所述时间戳计算获得第一区块的时间信息,并获取所述第一区块的块生命周期;
判断所述第一区块的时间信息是否超过所述第一区块的块生命周期,如果是,则删除所述第一区块。
并且基于区块链的药品信息管理***,所有数据均在各个企业的本地存储,企业可以按照需求定制自己的数据接口,例如API,利于将溯源数据接入到自己的管理***中,便于对数据的利用。
通过本发明实施例提供的基于区块链的药品信息管理***,能够基于第一确定单元和第二确定单元确定药品追溯信息,并基于发布单元将药品追溯信息进行发布,在信息确定过程中对隐私信息进行了处理,并保证了企业的对等参与,同时基于预设的交易模型能够对多种类型的交易进行处理,实现了对药品追溯信息的实时记录和更新,从而提高了药物信息追踪的效率和准确性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种基于区块链的药品信息管理方法,其特征在于,该方法包括:
对药品供应链参与企业进行角色管理和身份认证后,确定为区块链节点;
对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息;
在区块链上发布所述药品追溯信息,使得每个区块链节点拥有与所述药品追溯信息对应的数据备份;
基于预设的交易模型构建所述区块链上的药品流通交易,实现对所述区块链记载的药品追溯信息进行更新;
响应于药品信息查询请求,在所述区块链上进行交易查询,对查询到的交易进行解析,获得该药品的实际流转信息;
所述对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息,包括:
将药品原始信息进行编码处理,形成编码信息;
对所述编码信息进行哈希计算,获得哈希值,并将所述哈希值作为所述药品的元数据,其中,所述元数据存储在区块链上,并作为药品查询索引;
对企业真实身份信息进行信息提取,获得企业的公钥和角色信息;
将所述药品的元数据和所述企业对应的公钥与角色信息,作为药品追溯信息;
所述方法还包括:定义交易数据结构、交易输出数据结构和区块头数据结构,其中,所述交易数据结构包括交易类型字段、输入字段、输出字段和版本字段,交易输出数据结构包括元数据字段、生命周期字段、锁定脚本字段和版本字段,所述区块头数据结构包括块生命周期字段;其中,所述块生命周期通过区块中所有交易的生命周期的最大值进行确定,所述交易生命周期通过药品的实际保质期进行确定;
基于定义后的所述交易数据结构、交易输出数据结构和区块头数据结构,创建获得扩展的UTXO交易模型
所述方法还包括:
分别获取所述区块链的第一区块和最后一个区块的时间戳;
根据所述时间戳计算获得第一区块的时间信息,并获取所述第一区块的块生命周期;
判断所述第一区块的时间信息是否超过所述第一区块的块生命周期,如果是,则删除所述第一区块。
2.根据权利要求1所述的方法,其特征在于,所述对药品供应链参与企业进行角色管理和身份认证后,确定为区块链节点,包括:
确定证书服务提供商,基于所述证书服务提供商对药品供应链参与企业进行认证,并向所述药品供应链参与企业颁发证书,所述证书包括企业公钥和角色;
在所述药品供应链参与企业中确定查询服务提供商,使得所述查询服务提供商提供药品信息查询服务;
确定抗攻击服务提供商,使得所述抗攻击服务提供商监测药品流转过程的异常信息,并将异常信息和对应的异常节点上报至所述证书服务提供商;
将确定的证书服务提供商、查询服务提供商和抗攻击服务提供商作为区块链节点。
3.根据权利要求1所述的方法,其特征在于,所述基于预设的交易模型构建所述区块链上的药品流通交易,包括:
当通过所述预设的交易模型记录药品所有权转移时,将药品的发出方和实际接收方同时作为接收方进行交易记录;
当所述实际接收方的公钥出错时,通过所述药品的发出方将收到的药品进行再次发出,实现对原始交易的更改。
4.根据权利要求3所述的方法,其特征在于,所述基于预设的交易模型构建所述区块链上的药品流通交易,包括:
基于预设的交易模型,确定交易类型,同步所述交易模型中的账本信息,其中,所述交易类型包括药品生产、到达和离开;
获取药品的元数据,并基于所述元数据在所述账本信息中进行检索,若能够检索到所述元数据,通过所述查询服务提供商进行企业身份信息验证,验证成功后,生成交易信息;
将所述交易信息在所述区块链上进行广播。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:
响应于与所述交易类型为目标交易,同步所述交易模型中的账本信息,其中,所述目标交易包括打包交易、拆包交易和重包装交易中的一种;
获取所述目标交易原始包装对应的第一元数据,并将所述第一元数据在所述账本信息中进行检索,若检索到与所述第一元数据对应的药品记录,则获取所述目标交易对应的目标包装的第二元数据;
对所述第一元数据和所述第二元数据之间的相关性进行验证,若验证成功,则生成所述目标交易的交易信息;
将所述交易信息在所述区块链上进行广播。
6.根据权利要求5所述的方法,其特征在于,所述响应于药品信息查询请求,在所述区块链上进行交易查询,对查询到的交易进行解析,获得该药品的实际流转信息,包括:
响应于药品信息查询请求,通过所述药品查询服务提供商获取所述药品对应的元数据;
依据所述药品对应的元数据在本地区块链上进行检索,获得包含所述元数据的所有交易;
对所述所有交易进行解析,获得该药品的实际流转信息。
7.一种基于区块链的药品信息管理***,其特征在于,该***包括:
第一确定单元,用于对药品供应链参与企业进行角色管理和身份认证后,确定为区块链节点;
第二确定单元,用于对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息;
发布单元,用于在区块链上发布所述药品追溯信息,使得每个区块链节点拥有与所述药品追溯信息对应的数据备份;
构建单元,用于基于预设的交易模型构建所述区块链上的药品流通交易,实现对所述区块链记载的药品追溯信息进行更新;
查询单元,用于响应于药品信息查询请求,在所述区块链上进行交易查询,对查询到的交易进行解析,获得该药品的实际流转信息;
所述第二确定单元对药品原始信息和企业身份信息进行预处理后,确定药品追溯信息,包括:
将药品原始信息进行编码处理,形成编码信息;
对所述编码信息进行哈希计算,获得哈希值,并将所述哈希值作为所述药品的元数据,其中,所述元数据存储在区块链上,并作为药品查询索引;
对企业真实身份信息进行信息提取,获得企业的公钥和角色信息;
将所述药品的元数据和所述企业对应的公钥与角色信息,作为药品追溯信息;
交易模型创建单元,用于定义交易数据结构、交易输出数据结构和区块头数据结构,其中,所述交易数据结构包括交易类型字段、输入字段、输出字段和版本字段,交易输出数据结构包括元数据字段、生命周期字段、锁定脚本字段和版本字段,所述区块头数据结构包括块生命周期字段;其中,所述块生命周期通过区块中所有交易的生命周期的最大值进行确定,所述交易生命周期通过药品的实际保质期进行确定;
基于定义后的所述交易数据结构、交易输出数据结构和区块头数据结构,创建获得扩展的UTXO交易模型;
存储修剪单元,用于分别获取所述区块链的第一区块和最后一个区块的时间戳;根据所述时间戳计算获得第一区块的时间信息,并获取所述第一区块的块生命周期;判断所述第一区块的时间信息是否超过所述第一区块的块生命周期,如果是,则删除所述第一区块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910018672.8A CN109829726B (zh) | 2019-01-09 | 2019-01-09 | 一种基于区块链的药品信息管理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910018672.8A CN109829726B (zh) | 2019-01-09 | 2019-01-09 | 一种基于区块链的药品信息管理方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109829726A CN109829726A (zh) | 2019-05-31 |
CN109829726B true CN109829726B (zh) | 2021-08-27 |
Family
ID=66860170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910018672.8A Active CN109829726B (zh) | 2019-01-09 | 2019-01-09 | 一种基于区块链的药品信息管理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829726B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414996A (zh) * | 2019-06-26 | 2019-11-05 | 深圳壹账通智能科技有限公司 | 药品信息更新方法及装置、电子设备和非暂态存储介质 |
CN110634548B (zh) * | 2019-09-23 | 2022-02-01 | 重庆华医康道科技有限公司 | 一种基于区块链的配药核药快速匹配方法 |
CN110599210A (zh) * | 2019-09-27 | 2019-12-20 | 腾讯云计算(北京)有限责任公司 | 区块链的信息管理方法及装置 |
CN110766324A (zh) * | 2019-10-23 | 2020-02-07 | 泰康保险集团股份有限公司 | 药品状态的监控方法、装置、设备及存储介质 |
CN110992068B (zh) * | 2019-12-17 | 2023-06-06 | 浙江大学 | 基于区块链的疫苗全生命周期管理方法及*** |
CN111144844A (zh) * | 2019-12-26 | 2020-05-12 | 广州中国科学院软件应用技术研究所 | 一种资金和物流分离的供应链管理*** |
CN111613290B (zh) * | 2020-05-26 | 2024-01-23 | 牛津(海南)区块链研究院有限公司 | 一种基于区块链的医疗信息管理*** |
CN111723950B (zh) * | 2020-06-08 | 2022-07-15 | 江苏荣泽信息科技股份有限公司 | 基于区块链的电子产品生命周期管理*** |
CN112184268A (zh) * | 2020-10-27 | 2021-01-05 | 广州市家庭医生在线信息有限公司 | 一种基于区块链技术的药品溯源管理方法及*** |
CN113298528A (zh) * | 2021-06-22 | 2021-08-24 | 史云凌 | 一种基于utxo实现的染色票据方法 |
CN114565326B (zh) * | 2022-04-29 | 2022-08-30 | 深圳市誉兴通科技股份有限公司 | 基于物联网的药品管理方法及*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108305083A (zh) * | 2018-02-11 | 2018-07-20 | 张国忠 | 一种基于区块链的商品溯源方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435994A (zh) * | 2017-03-31 | 2021-09-24 | 唐晓领 | 基于区块链的金融借贷多方共享交易元数据信息的方法、装置及*** |
US10388039B2 (en) * | 2017-05-31 | 2019-08-20 | International Business Machines Corporation | Accelerating data-driven scientific discovery |
CN109067791B (zh) * | 2018-09-25 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 网络中用户身份认证方法和装置 |
-
2019
- 2019-01-09 CN CN201910018672.8A patent/CN109829726B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108305083A (zh) * | 2018-02-11 | 2018-07-20 | 张国忠 | 一种基于区块链的商品溯源方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109829726A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829726B (zh) | 一种基于区块链的药品信息管理方法及*** | |
CN111507709B (zh) | 一种数据溯源*** | |
Hepp et al. | Securing physical assets on the blockchain: Linking a novel object identification concept with distributed ledgers | |
CN111914023B (zh) | 基于区块链的票据管理方法、装置及电子设备 | |
US20200387859A1 (en) | Methods, Application Server, Block Chain Node and Media For Logistics Tracking and Source Tracing | |
EP3540662A1 (en) | Computer implemented method for supply chain management and provenance in a data processing network | |
CN108876364A (zh) | 一种带湮灭机制的区块链*** | |
CN109978573A (zh) | 一种基于区块链的信息溯源*** | |
US20190197562A1 (en) | System and method for product authentication | |
KR102178583B1 (ko) | 디지털 컨텐츠 원본 확인키를 이용한 블록체인 방식의 계약 단말 및 방법 | |
Niya et al. | A platform-independent, generic-purpose, and blockchain-based supply chain tracking | |
CN110598456B (zh) | 一种数据存储方法、装置、电子设备以及存储介质 | |
CN109583889B (zh) | 基于区块链的***或签名识别*** | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN110599079A (zh) | 一种基于区块链的物流实物交接方法、平台及存储介质 | |
CN109146523B (zh) | 一种基于区块链的商品防伪验真***及方法 | |
CN112199446B (zh) | 一种物品流通记录的存证方法、装置、设备和存储介质 | |
CN110516459A (zh) | 一种基于区块链的产品数据追溯方法及*** | |
CN116777476A (zh) | 基于公钥可搜索加密的药品可信溯源方法 | |
KR101954304B1 (ko) | 블록체인 기반의 담배 추적 방법 및 이를 이용한 담배 추적 서버 | |
CN106156904B (zh) | 一种基于eID的跨平台虚拟资产溯源方法 | |
CN111556148B (zh) | 一种数据共享方法、数据共享平台和装置 | |
KR102120330B1 (ko) | 위치 정보를 이용한 블록체인 방식의 계약 단말 및 방법 | |
CN112269829A (zh) | 一种基于资源回收***平台的区块链数据管理方法 | |
CN116596551A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210726 Address after: 200241 Building 2, 889 Qishen Road, Minhang District, Shanghai Applicant after: Shenshang information technology (Shanghai) Co.,Ltd. Address before: 200241 301B, building 4, Zizhu Science Park, No. 555, Dongchuan Road, Minhang District, Shanghai Applicant before: SHANGHAI WURONG INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |