CN112951357A - 一种基于区块链的虚拟医疗资源横向扩展方法 - Google Patents
一种基于区块链的虚拟医疗资源横向扩展方法 Download PDFInfo
- Publication number
- CN112951357A CN112951357A CN202110305430.4A CN202110305430A CN112951357A CN 112951357 A CN112951357 A CN 112951357A CN 202110305430 A CN202110305430 A CN 202110305430A CN 112951357 A CN112951357 A CN 112951357A
- Authority
- CN
- China
- Prior art keywords
- hospital
- data
- information
- chain
- province
- 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
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- 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
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Epidemiology (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种基于区块链的虚拟医疗资源横向扩展方法;该方法基于Merkle树的有向无环图DAG数据结构,设计链下数据、链上哈希的存储机制,利用PBFT共识机制、最小连接数法等,针对虚拟医疗资源的特性,构建基于区块链的虚拟医疗资源横向扩展方法,具体流程如下:步骤1,链下分块存储;步骤2,哈希上链;步骤3,验证节点;步骤4,拓展区块链。本发明对虚拟医疗资源分情况存储、因地制宜,实现链下数据、链上哈希的存储机制,具有去中心化、系统稳定、逻辑简单、易扩展、有针对性等特点,弥补了医疗资源存储分散的缺点,促进了各省医院信息互通,重整了医疗数据存储的风貌。
Description
技术领域
本发明涉及医疗信息化技术领域,具体来讲涉及的是一种基于区块链的虚拟医疗资源横向扩展方法。
背景技术
随着医院计算机管理网络化、信息存储介质的应用以及互联网的全球化,传统的手写纸张病历等实体医疗资源被电子病历等虚拟医疗资源所取代。虚拟医疗资源的存储比传统的方式有着安全可靠、存储和查阅方便、时效性强等优点。
但是如今步入大数据时代,信息增长速度突飞猛进,在虚拟医疗资源方面也不例外。虚拟医疗资源包括病人信息数据、病历资料、影像数据、药物备案信息、医疗设备信息等,繁复且多模态。不同的医院拥有不同的数据库,甚至同一医院不同科室所用的数据库都是不通互通的,“虚拟医疗资源管理难”成为普遍存在的问题。
区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。区块链的这些特性使虚拟医疗资源在不同医院能够实现互通,且资源的安全性得以保障,可以确保医疗资源不被篡改,能够防止患者信息被有心人士出卖,谋取非法利益。
目前将区块链和虚拟医疗资源相结合的技术中,存在过于中心化、系统不稳定、通信复杂度过高、可扩展性较低等问题。而由于虚拟医疗资源的特殊性,普通的区块链扩展难以转移到虚拟医疗资源的存储场景中。因此,现在急需一种去中心化、系统稳定、逻辑简单、易扩展的针对虚拟医疗资源存储的区块链扩展方法。
经过检索发现,申请号CN201811001849.5的发明公开了一种基于区块链的医疗资源数据处理方法及装置。其中方法包括:获取医疗需求端信息以及相应的服务需求信息,并存储在区块链中;查询区块链,得到与服务需求信息相匹配的医疗服务提供端信息;生成医疗服务订单信息,将医疗服务订单信息存储至区块链中,医疗服务订单信息包括服务需求信息、医疗需求端信息以及医疗服务提供端信息;向医疗需求端及与服务需求信息相匹配的医疗服务提供端发送医疗服务订单信息,以使医疗需求端以及医疗服务提供端根据医疗服务订单信息进行医疗服务。
申请号CN201711428235.0的发明提出一种医疗资源的控制系统和控制方法,可以对不同自然属性的医疗资源内的信息进行分组,在通过建立具体应用将这些不同医疗资源的分组进行关联,可以实现对医疗资源的快速、灵活的配置,并且可以查询、显示单个医疗资源信息所在的应用以及相关的其他医疗资源,实现医院对医疗资源的信息化、自动化的管理和调配,提高了效率,减少了出现差错的可能性。
申请号CN201711277248.2的发明公开了一种医疗资源整合系统,所述医疗资源整合系统架设于服务器,该医疗资源整合系统包括:账户单元、咨询单元、处理单元以及信息单元,咨询单元用于患者输入病症信息,处理单元将病症信息与医疗信息数据库比对分析产生病症结果,处理单元将病症结果与账户单元的医护者账户比对,选取对应病症结果的医护者账户,且传送至对应的医护者账户,信息单元用于医护者根据接收到的病症结果输入诊疗建议信息,诊疗建议信息显示在账户单元的患者账户。
另外,申请人还发现如下与本发明有关的现有技术;
(1)基于区块链的扩展技术:
2017年,谭智勇等人在《沿横向拓展的区块链的生成方法及系统》中,将延展区块链作为快照对象区块链进行数据快照,生成快照结果区块链,二者中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;以快照对象区块链中各区块作为父区块,以快照结果区块链中各区块作为子区块,形成第二链接关系;按照第一链接关系和第二链接关系,依次生成快照结果区块链中各区块的散列值,并写入区块头,完成区块链横向拓展。
2019年,徐陶阳等人提出《一种大数据量的区块链水平扩展解决方法》,通过在服务器上部署多条互补关联的区块链,部署好多条区块链后,其数据采用如下的方法进行上链,用各条链的客户端SDK证书初始化一个连接池,连接池里存放到各条链id以及对应的连接。当接收到业务数据时,生成数据摘要,开始上链。根据负载均衡算法,计算出目标链的id。从连接池里获取相应的连接,用该连接调用对应链上的合约。调用成功后保存相关的数据。
2019年,宋明明等人在《基于水平扩展数据库建立区块链侧链的方法及系统》中,通过数据库和区块链结合实现了一种高性能、高并发的区块链侧链。首先创建一个数据库主库和区块链侧链;构建开发者用户的交易提案,交易提案为把开发者用户的交易内容写入开发者用户对应的通道的请求;区块链侧链根据交易提案对应的开发者用户的信息将交易提案发送至开发者用户对应的可扩展通道中;区块链侧链将交易提案进行预处理后,获得预处理交易提案;将预处理交易提案打包到区块链侧链的区块中;将区块链侧链的区块锚定到超级账本区块链中。
其缺点为;上述提到的基于区块链的扩展技术中,第一种技术快照结果需要过多的存储空间,而如今在医疗大数据环境下,每天都会有海量的医疗健康数据产生,大量的数据需要存储在区块链中,并且还需要对每个数据创建快照副本来确保数据不会缺失。在医疗大数据情况下,这种横向扩展方式变得不可行。第二种技术虽然在服务器上部署了多条区块链,试图提高上链效率,但仍然是单链,所以上链效率并不高。第三种技术基于区块链的侧链技术,但是侧链技术分别在网络、资产、用户界面等层面引入了额外的复杂度。因此,传统的区块链扩展技术通常存在存储空间需求大、上链效率不高或者逻辑过于复杂等问题。而且传统的区块链扩展技术是无针对性的,是希望能够适用于普遍的情况,对于医疗大数据并不适用。
(2)基于区块链的医疗存储技术;2019年,闾海荣等人提出《一种基于随机Merkle树的链下个人医疗数据存储方法》,把存储的数据随机分块,然后对其随机排序的数据块建立一个Merkle树,将Merkle树根哈希存入区块链,将随机排序的数据块链下存储,数据块的排序通过数据拥有者的公钥进行加密并存储到区块链上,数据拥有者本身可利用自己的私钥对排序密文解密,然后根据解密得到的原排序对随机排序的数据块进行重构获得原始数据,确保原始数据不会在链下数据存储过程中泄露。
2020年,南京邮电大学的黄海平等人在《基于多层次区块链体系架构的智慧医疗数据存储方法》中,摒弃现有的单链或者双层区块链系统设计,基于Hyperledger Fabric平台提出了一种多层次的区块链体系架构来解决医疗数据的存储问题,实现了大规模医疗数据的高效管理,极大地提升了系统的效率和可扩展性。同时采用公钥加密和对称加密相结合的双钥加密体制,在保护病人隐私的情况下实现医疗数据的存储与共享。
其缺点为;上述的第一种技术虽然加强了链下数据在存储过程中的安全性,但是由于采用了链下技术,患者看病的医院作为一个大的中继者,使得中继过于中心化,失去了区块链的去中心化的特点。同时,如果这个医院因为某种原因关停了,那么该医院的数据将再也无法读取,这是一种不稳定的因素。第二种技术使用PBFT共识机制,虽然解决了BFT算法效率不高的问题,但是通信复杂度过高,可扩展性比较低,一般系统的节点数在100左右时,性能下降非常快,而存放医疗大数据的节点数一定是大于100的。另外一点是,PBFT在网络不稳定的情况下延迟很高。
发明内容
因此,为了解决上述不足,本发明在此提供一种基于区块链的虚拟医疗资源横向扩展方法。本发明对虚拟医疗资源的存储与管理进行了研究,着重研究了存储虚拟医疗资源所需的内存问题和存取虚拟医疗资源的效率问题,并给出了详细的解决方案。
本发明是这样实现的,构造一种基于区块链的虚拟医疗资源横向扩展方法,其特征在于;该方法基于Merkle树的有向无环图DAG数据结构,设计链下数据、链上哈希的存储机制,利用PBFT共识机制、最小连接数法等,针对虚拟医疗资源的特性,构建基于区块链的虚拟医疗资源横向扩展方法,具体流程如下;
步骤1,链下分块存储;在存储时采用块存储,将不同类型的数据分块存入对应种类的数据库,实现并行读取数据;
步骤2,哈希上链;将数据内容的哈希上链,采用有向无环图DAG数据结构,分别为全国每个省份构建自己的Merkle树,省份链接则构成了DAG;每个Merkle树的子节点都是其本地内容的哈希,不使用完整内容来命名;
步骤3,验证节点;在对区块链进行扩展时,需要验证节点的准确性;验证节点采用PBFT共识算法;
步骤4,拓展区块链;验证完毕后,将安全节点分别根据同省跨院、跨省跨院和跨省同院三种情况进行拓展;其中同省跨院和跨省跨院拓展针对公立医院,跨省同院拓展针对私立医院;拓展时采用负载均衡算法中的最小连接数法。
根据本发明所述基于区块链的虚拟医疗资源横向扩展方法,其特征在于;步骤1中,虚拟医疗资源分为个人数据和物资数据两大类;个人数据包括疾病数据和健康数据;其中疾病数据有电子病历数据、检验数据、影像数据、医疗器械数据、移动问诊数据、基因数据;健康数据有体检数据、智能穿戴数据、基因数据;物资数据有药品流通数据、医药研发数据、医院物资数据、医院费用数据;由此可知,虚拟医疗资源数据类型包含文本类、影像类;
本方法使用两种数据库在链下分别存储不同类型的数据,使用面向文档数据库存储文本类的虚拟医疗资源数据,使用图形数据库存储影像类数据;MongoDB是目前最为流行的文档数据库,它更够分布式部署,可以随着负载的增大动态扩容,满足医疗业务增长的需求;Neo4j是目前最流行的图形数据库,支持完整的事务,在属性图中,每一个医疗影像都是一个节点,诊断信息则是属性。
根据本发明所述基于区块链的虚拟医疗资源横向扩展方法,其特征在于;步骤2中,为了完成数据上链,本发明将分两步进行,首先现将全国各省哈希上链,再将各省医院哈希上链,详细步骤如下;
步骤2.1全国各省上链;首先创建34个根节点代表各省份;一个方框代表一个Merkle树的根节点,分别表示全国34个省,将这34个节点上链;
步骤2.2各省医院上链;定义医院区块链的ID意义:医院所在省份-医院编号-是否仅同步更新-更新版本号;
区块头包含当前时间、上一个区块的哈希、区块体的哈希,区块体包含当前区块的ID、上一个区块体的哈希、公钥、加密过的私钥;
在初始化医院哈希上链中,存入数据不涉及区块链的更新与扩展;
根据本发明所述基于区块链的虚拟医疗资源横向扩展方法,其特征在于;步骤3验证节点具体步骤如下:
(1)区块链系统根据机器编号,医院发起请求,转发请求到省份根节点,省份根节点验证通过后,广播这个请求,并发起预准备信息给所有需要该医院新增信息的节点,并且自己也保存这个请求;
(2)所有接收到预准备信息的节点,为了防止医院造假或者省份根节点篡改,需要进行校验,包括数据的顺序是否正确、操作的先后有序性、验证签名;
(3)节点验证正确后,写到磁盘中并广播预准备信息,进入准备阶段;
(4)所有节点统计针对某个请求的准备信息,当统计结果超过2f节点时,大部分节点已完成持久化,节点进入提交阶段;
(5)广播提交信息,并统计收到的提交信息数,若超过2f个节点都发出提交信息时,该节点完成提交阶段;
(6)写入数据并更新状态机,缓存该医院的最后一次请求,并反馈给医院;
(7)当客户端统计反馈的节点超过f个时,交易成功;
(8)如果交易不成功,向所有节点广播这个请求。
根据本发明所述基于区块链的虚拟医疗资源横向扩展方法,其特征在于;步骤4具体步骤如下:
步骤4.1同省跨院拓展;对于同省跨院的情况,具体拓展步骤如下:
医院2向医院1提出跨院申请,医院1经过节点验证确认后同意申请,然后医院1将医院2的信息同步到自己医院,并生成一个新的区块“1-1-0-1”存储跨院信息,自己本院的医疗信息则存储在区块“1-1-1-1”中,完成信息同步;
步骤4.2跨省跨院拓展;对于跨省跨院的情况,具体拓展步骤如下:
医院2向医院3提出跨院申请,医院3经过节点验证确认后同意申请,然后医院3将医院2的信息同步到自己医院,并生成一个新的区块“3-1-0-1”存储跨院信息,自己本院的医疗信息则存储在区块“3-1-1-1”中,完成信息同步;
步骤4.3跨省同院拓展;此步骤是一个后期拓展方向;与公立医院不同,私立医院存在跨省连锁医院的情况;在该情况下,医院编号需要固定,即不同省份的同一医院使用相同的编号;具体拓展步骤如下:
假设存在省1和省2两个跨省连锁医院;省1的医院向省2的医院提出跨院申请,省2的医院经过节点验证确认后同意申请,然后省2的医院将外省1医院的信息同步到自己医院,并生成一个新的区块“2-1-0-1”存储跨院信息,自己本省的医疗信息则存储在区块“2-1-1-1”中,完成信息同步。
本发明具有如下优点:本发明在此提供一种基于区块链的虚拟医疗资源横向扩展方法;面对日益增长的虚拟医疗资源数据,传统的数据库存储不适用于医疗环境,而基于区块链的资源管理方法有存储空间需求大、上链效率不高或者逻辑过于复杂等问题,但针对虚拟医疗资源的区块链方法大多依赖于单链存储,不利于大量数据存入时快速拓展,同时存在过于中心化、通信复杂等问题。针对上述问题,本发明以基于Merkle树的有向无环图DAG数据结构为切入点,利用PBFT共识机制、最小连接数法等,构建P2P的基于区块链的虚拟医疗资源横向扩展方法,对虚拟医疗资源分情况存储、因地制宜,实现链下数据、链上哈希的存储机制,具有去中心化、系统稳定、逻辑简单、易扩展、有针对性等特点,弥补了医疗资源存储分散的缺点,促进了各省医院信息互通,重整了医疗数据存储的风貌。
附图说明
图1是基于区块链的虚拟医疗资源横向扩展流程示意图;
图2区块链更新示意图;
图3 省份的Merkle树示意图;
图4省份节点示意图;
图5区块链内部结构示意图;
图6成链后的结构示意图;
图7同省跨院拓展示意图;
图8跨省跨院拓展示意图;
图9跨省同院拓展示意图;
图10是本发明实用实例示意图。
具体实施方式
下面将结合附图1-图10对本发明进行详细说明,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明通过改进在此提供一种基于区块链的虚拟医疗资源横向扩展方法;
本发明对虚拟医疗资源的存储与管理进行了研究,着重研究了存储虚拟医疗资源所需的内存问题和存取虚拟医疗资源的效率问题,并给出了详细的解决方案。
虚拟医疗资源有文本、影像等数据类型。本发明针对医疗数据的多样性,分别设置不同类型的数据库,为了提高存取效率,利用Merkle树对数据块进行存储,构建基于区块链的虚拟医疗资源上链,具体流程如下图1所示。
在此流程的基础上,针对三种,区块链更新示意图如下图2所示。
在区块链更新示意图中,区块链的ID意义为“医院所在省份-医院编号-是否仅同步更新-更新版本号”。例如,3-2-1-4表示在第3个省份,编号为2的医院没有进行同步更新的第4个更新版本。
本发明的具体流程如下;
步骤1链下分块存储;虚拟医疗资源可以分为个人数据和物资数据两大类。个人数据包括疾病数据和健康数据。其中疾病数据有电子病历数据、检验数据、影像数据、医疗器械数据、移动问诊数据、基因数据;健康数据有体检数据、智能穿戴数据、基因数据。物资数据有药品流通数据、医药研发数据、医院物资数据、医院费用数据。由此可知,虚拟医疗资源数据类型包含文本类、影像类等。
本发明使用两种数据库在链下分别存储不同类型的数据,使用面向文档数据库存储文本类的虚拟医疗资源数据,使用图形数据库存储影像类数据。MongoDB是目前最为流行的文档数据库,它更够分布式部署,可以随着负载的增大动态扩容,满足医疗业务增长的需求。Neo4j是目前最流行的图形数据库,支持完整的事务,在属性图中,每一个医疗影像都是一个节点,诊断信息则是属性。
在存储时采用块存储,将不同类型的数据分块存入对应种类的数据库,实现并行读取数据。
步骤2哈希上链;
由于数据量的庞大,将原始数据上链是不现实的。本发明选择将数据内容的哈希上链。采用有向无环图DAG数据结构,分别为全国每个省份构建自己的Merkle树,把34个省份链接则构成了DAG。省份的Merkle树如图3所示,全国DAG如图2所示。每个Merkle树的子节点都是其本地内容的哈希,不使用完整内容来命名。因此,在创建后将不能编辑节点,可以有效防止循环,同时内容相同的对象只能存储一次,有效去除冗余。
该数据结构能够做到高并发,理论上是可以无限多并发,而且每个节点不需要等其他节点的数据达到统一就能处理新的交易,避免了网络延迟和数据同步造成的时间浪费。此外,DAG的尾部可以平行增加任意多的新数据,具有很强大的吞吐量。这意味着医院在网络状况不稳定且数据量过大时,也能完成快速交易。
为了完成数据上链,本发明将分两步进行,首先现将全国各省哈希上链,再将各省医院哈希上链,详细步骤如下。
步骤2.1全国各省上链;全国共有34个省份,因此本发明首先创建34个根节点代表各省份,如下图4所示。示意图中每一个方框代表一个Merkle树的根节点,分别表示全国34个省,将这34个节点上链。
步骤2.2各省医院上链;定义医院区块链的ID意义:医院所在省份-医院编号-是否仅同步更新-更新版本号。例如,3-2-1-4表示在第3个省份,编号为2的医院没有进行同步更新的第4个更新版本。各省与其医院的区块链内部结构如图5所示。
区块头包含当前时间、上一个区块的哈希、区块体的哈希,区块体包含当前区块的ID、上一个区块体的哈希、公钥、加密过的私钥。
在初始化医院哈希上链中,存入数据不涉及区块链的更新与扩展。成链后的结构图如图6所示。
步骤3验证节点;在对区块链进行扩展时,首先需要验证节点的准确性。验证节点采用PBFT共识算法。假设有f个问题节点,具体步骤如下:
(1)区块链系统根据机器编号,医院发起请求,转发请求到省份根节点,省份根节点验证通过后,广播这个请求,并发起预准备信息给所有需要该医院新增信息的节点,并且自己也保存这个请求。
(2)所有接收到预准备信息的节点,为了防止医院造假或者省份根节点篡改,需要进行校验,包括数据的顺序是否正确、操作的先后有序性、验证签名等。
(3)节点验证正确后,写到磁盘中并广播预准备信息,进入准备阶段。
(4)所有节点统计针对某个请求的准备信息,当统计结果超过2f节点时,大部分节点已完成持久化,节点进入提交阶段。
(5)广播提交信息,并统计收到的提交信息数,若超过2f个节点都发出提交信息时,该节点完成提交阶段。
(6)写入数据并更新状态机,缓存该医院的最后一次请求,并反馈给医院。
(7)当客户端统计反馈的节点超过f个时,交易成功。
(8)如果交易不成功,向所有节点广播这个请求。
步骤4拓展区块链;验证完毕后,本发明将安全节点分别根据同省跨院、跨省跨院和跨省同院三种情况进行拓展。其中同省跨院和跨省跨院拓展针对公立医院,跨省同院拓展针对私立医院。拓展时采用负载均衡算法中的最小连接数法。
步骤4.1同省跨院拓展;对于同省跨院的情况,具体拓展步骤如下:
医院2向医院1提出跨院申请,医院1经过节点验证确认后同意申请,然后医院1将医院2的信息同步到自己医院,并生成一个新的区块“1-1-0-1”存储跨院信息,自己本院的医疗信息则存储在区块“1-1-1-1”中,完成信息同步。
图7中虚线部分表示同省跨院的过程。
步骤4.2跨省跨院拓展;对于跨省跨院的情况,具体拓展步骤如下:
医院2向医院3提出跨院申请,医院3经过节点验证确认后同意申请,然后医院3将医院2的信息同步到自己医院,并生成一个新的区块“3-1-0-1”存储跨院信息,自己本院的医疗信息则存储在区块“3-1-1-1”中,完成信息同步。
图8中虚线部分表示跨省跨院的过程。
步骤4.3跨省同院拓展;此步骤是一个后期拓展方向。与公立医院不同,私立医院存在跨省连锁医院的情况。在该情况下,医院编号需要固定,即不同省份的同一医院使用相同的编号。具体拓展步骤如下:
假设存在省1和省2两个跨省连锁医院。省1的医院向省2的医院提出跨院申请,省2的医院经过节点验证确认后同意申请,然后省2的医院将外省1医院的信息同步到自己医院,并生成一个新的区块“2-1-0-1”存储跨院信息,自己本省的医疗信息则存储在区块“2-1-1-1”中,完成信息同步。图9中虚线连线即为跨省同院的过程。
本发明的应用场景(实例)为;本发明基于大数据的城市级互联网医疗健康服务平台,针对虚拟医疗资源海量,数据种类繁多的特殊情况,构建一种基于区块链的虚拟医疗资源横向扩展方法,成功解决虚拟医疗资源管理难的问题,将分散的虚拟医疗资源并发、高效地整合到平台,为病人就医信息安全、医院管理便捷、政府监管实时提供有效的保障。本发明是一种去中心化、系统稳定、逻辑简单、易扩展的针对虚拟医疗资源存储的区块链扩展方法,可应用于各种情况下的虚拟医疗资源存储场景,帮助医院对虚拟医疗资源进行信息快速存取,提供跨省跨院的医疗数据互通通道,节约人力与物力成本,具体流程如图10所示。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种基于区块链的虚拟医疗资源横向扩展方法,其特征在于;
该方法基于Merkle树的有向无环图DAG数据结构,设计链下数据、链上哈希的存储机制,利用PBFT共识机制、最小连接数法,针对虚拟医疗资源的特性,构建基于区块链的虚拟医疗资源横向扩展方法,具体流程如下:
步骤1,链下分块存储;在存储时采用块存储,将不同类型的数据分块存入对应种类的数据库,实现并行读取数据;
步骤2,哈希上链;将数据内容的哈希上链,采用有向无环图DAG数据结构,分别为全国每个省份构建自己的Merkle树,省份链接则构成了DAG;每个Merkle树的子节点都是其本地内容的哈希,不使用完整内容来命名;
步骤3,验证节点;在对区块链进行扩展时,需要验证节点的准确性;验证节点采用PBFT共识算法;
步骤4,拓展区块链;验证完毕后,将安全节点分别根据同省跨院、跨省跨院和跨省同院三种情况进行拓展;其中同省跨院和跨省跨院拓展针对公立医院,跨省同院拓展针对私立医院;拓展时采用负载均衡算法中的最小连接数法。
2.根据权利要求1所述基于区块链的虚拟医疗资源横向扩展方法,其特征在于;步骤1中,虚拟医疗资源分为个人数据和物资数据两大类;个人数据包括疾病数据和健康数据;其中疾病数据有电子病历数据、检验数据、影像数据、医疗器械数据、移动问诊数据、基因数据;健康数据有体检数据、智能穿戴数据、基因数据;物资数据有药品流通数据、医药研发数据、医院物资数据、医院费用数据;由此可知,虚拟医疗资源数据类型包含文本类、影像类;
本方法使用两种数据库在链下分别存储不同类型的数据,使用面向文档数据库存储文本类的虚拟医疗资源数据,使用图形数据库存储影像类数据;MongoDB是目前最为流行的文档数据库,它更够分布式部署,可以随着负载的增大动态扩容,满足医疗业务增长的需求;Neo4j是目前最流行的图形数据库,支持完整的事务,在属性图中,每一个医疗影像都是一个节点,诊断信息则是属性。
3.根据权利要求1所述基于区块链的虚拟医疗资源横向扩展方法,其特征在于;步骤2中,为了完成数据上链,本发明将分两步进行,首先现将全国各省哈希上链,再将各省医院哈希上链,详细步骤如下;
步骤2.1全国各省上链;首先创建34个根节点代表各省份;一个方框代表一个Merkle树的根节点,分别表示全国34个省,将这34个节点上链;
步骤2.2各省医院上链;定义医院区块链的ID意义:医院所在省份-医院编号-是否仅同步更新-更新版本号;
区块头包含当前时间、上一个区块的哈希、区块体的哈希,区块体包含当前区块的ID、上一个区块体的哈希、公钥、加密过的私钥;
在初始化医院哈希上链中,存入数据不涉及区块链的更新与扩展。
4.根据权利要求1所述基于区块链的虚拟医疗资源横向扩展方法,其特征在于;步骤3验证节点具体步骤如下:
(1)区块链系统根据机器编号,医院发起请求,转发请求到省份根节点,省份根节点验证通过后,广播这个请求,并发起预准备信息给所有需要该医院新增信息的节点,并且自己也保存这个请求;
(2)所有接收到预准备信息的节点,为了防止医院造假或者省份根节点篡改,需要进行校验,包括数据的顺序是否正确、操作的先后有序性、验证签名;
(3)节点验证正确后,写到磁盘中并广播预准备信息,进入准备阶段;
(4)所有节点统计针对某个请求的准备信息,当统计结果超过2f节点时,大部分节点已完成持久化,节点进入提交阶段;
(5)广播提交信息,并统计收到的提交信息数,若超过2f个节点都发出提交信息时,该节点完成提交阶段;
(6)写入数据并更新状态机,缓存该医院的最后一次请求,并反馈给医院;
(7)当客户端统计反馈的节点超过f个时,交易成功;
(8)如果交易不成功,向所有节点广播这个请求。
5.根据权利要求1所述基于区块链的虚拟医疗资源横向扩展方法,其特征在于;步骤4具体步骤如下:
步骤4.1同省跨院拓展;对于同省跨院的情况,具体拓展步骤如下:
医院2向医院1提出跨院申请,医院1经过节点验证确认后同意申请,然后医院1将医院2的信息同步到自己医院,并生成一个新的区块“1-1-0-1”存储跨院信息,自己本院的医疗信息则存储在区块“1-1-1-1”中,完成信息同步;
步骤4.2跨省跨院拓展;对于跨省跨院的情况,具体拓展步骤如下:
医院2向医院3提出跨院申请,医院3经过节点验证确认后同意申请,然
后医院3将医院2的信息同步到自己医院,并生成一个新的区块“3-1-0-1”存储跨院信息,自己本院的医疗信息则存储在区块“3-1-1-1”中,完成信息同步;
步骤4.3跨省同院拓展;此步骤是一个后期拓展方向;与公立医院不同,私立医院存在跨省连锁医院的情况;在该情况下,医院编号需要固定,即不同省份的同一医院使用相同的编号;具体拓展步骤如下:
假设存在省1和省2两个跨省连锁医院;省1的医院向省2的医院提出跨院申请,省2的医院经过节点验证确认后同意申请,然后省2的医院将外省1医院的信息同步到自己医院,并生成一个新的区块“2-1-0-1”存储跨院信息,自己本省的医疗信息则存储在区块“2-1-1-1”中,完成信息同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110305430.4A CN112951357B (zh) | 2021-03-23 | 2021-03-23 | 一种基于区块链的虚拟医疗资源横向扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110305430.4A CN112951357B (zh) | 2021-03-23 | 2021-03-23 | 一种基于区块链的虚拟医疗资源横向扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112951357A true CN112951357A (zh) | 2021-06-11 |
CN112951357B CN112951357B (zh) | 2023-05-09 |
Family
ID=76227869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110305430.4A Active CN112951357B (zh) | 2021-03-23 | 2021-03-23 | 一种基于区块链的虚拟医疗资源横向扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112951357B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114664432B (zh) * | 2022-03-16 | 2024-06-07 | 南京戴比斯网络科技有限公司 | 一种面向行业大数据的智能分析系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595720A (zh) * | 2018-07-12 | 2018-09-28 | 中国科学院深圳先进技术研究院 | 一种区块链时空数据查询方法、系统及电子设备 |
CN110289060A (zh) * | 2019-06-20 | 2019-09-27 | 福州数据技术研究院有限公司 | 一种基于随机Merkle树的链下个人医疗数据存储方法 |
CN110673966A (zh) * | 2019-09-25 | 2020-01-10 | 东北大学 | 一种基于区块链链上-链下协同的数据交互方法 |
CN110727737A (zh) * | 2019-10-29 | 2020-01-24 | 南京邮电大学 | 基于多层次区块链体系架构的智慧医疗数据存储方法 |
CN111901350A (zh) * | 2020-07-30 | 2020-11-06 | 平安科技(深圳)有限公司 | 区块链系统、数据处理方法、计算机设备及存储介质 |
-
2021
- 2021-03-23 CN CN202110305430.4A patent/CN112951357B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595720A (zh) * | 2018-07-12 | 2018-09-28 | 中国科学院深圳先进技术研究院 | 一种区块链时空数据查询方法、系统及电子设备 |
CN110289060A (zh) * | 2019-06-20 | 2019-09-27 | 福州数据技术研究院有限公司 | 一种基于随机Merkle树的链下个人医疗数据存储方法 |
CN110673966A (zh) * | 2019-09-25 | 2020-01-10 | 东北大学 | 一种基于区块链链上-链下协同的数据交互方法 |
CN110727737A (zh) * | 2019-10-29 | 2020-01-24 | 南京邮电大学 | 基于多层次区块链体系架构的智慧医疗数据存储方法 |
CN111901350A (zh) * | 2020-07-30 | 2020-11-06 | 平安科技(深圳)有限公司 | 区块链系统、数据处理方法、计算机设备及存储介质 |
Non-Patent Citations (5)
Title |
---|
傅易文晋;陈华辉;钱江波;董一鸿;: "面向时空数据的区块链研究综述" * |
王昱博;马春光;: "基于空间量证明的共识算法综述" * |
王辉;周明明;: "基于区块链的医疗信息安全存储模型" * |
郭上铜;王瑞锦;张凤荔: "区块链技术原理与应用综述" * |
黄敬英;范勤勤;: "区块链技术在医联体建设中的应用探讨" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114664432B (zh) * | 2022-03-16 | 2024-06-07 | 南京戴比斯网络科技有限公司 | 一种面向行业大数据的智能分析系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112951357B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220141018A1 (en) | Method and system for an efficient consensus mechanism for permissioned blockchains using audit guarantees | |
CN109471744B (zh) | 基于区块链的主链加并行多子链系统架构 | |
US11283616B2 (en) | Method for index-based and integrity-assured search in a blockchain | |
CN111598566A (zh) | 基于混合跨链的网络支付系统 | |
US11164182B2 (en) | Methods and systems for safe creation, custody, recovery, and management of a digital asset | |
CN109919691B (zh) | 一种数据处理的系统、方法以及装置 | |
CN107944034A (zh) | 一种基于区块链的数据非差异化方法 | |
CN114153374B (zh) | 一种元数据与数据共同存储的分布式存储系统 | |
CN111209591A (zh) | 一种按时间排序的存储结构与快速查询的方法 | |
CN115208665B (zh) | 一种基于区块链的种质资源数据安全共享方法及系统 | |
CN110110005A (zh) | 基于区块链的关键信息基础数据资产的管控方法 | |
CN113259478B (zh) | 在区块链系统中执行交易的方法、装置及区块链系统 | |
Lam et al. | Broadcast of consistent data to read-only transactions from mobile clients | |
CA3098649A1 (en) | Performing map iterations in a blockchain-based system | |
US20230259938A1 (en) | Blockchain-based data processing method and apparatus, device, readable storage medium and computer program product | |
Al-Mamun et al. | SciChain: Blockchain-enabled lightweight and efficient data provenance for reproducible scientific computing | |
CN109936620A (zh) | 基于区块链的存储方法及装置、系统与存储介质 | |
WO2019024631A1 (zh) | 区块链轻量化处理方法、区块链节点及存储介质 | |
CN112951357A (zh) | 一种基于区块链的虚拟医疗资源横向扩展方法 | |
Fiore et al. | The data access layer in the GRelC system architecture | |
CN110502500A (zh) | 一种基于区块链的去中心化数据库实现方法及装置 | |
KR20210127231A (ko) | 동력화된 ID (Energized Identity) 기반 블록체인 | |
Qing et al. | Blockchain interoperability mechanism | |
CN117577248B (zh) | 融合区块链与隐私求交技术的医疗数据共享方法及系统 | |
CN116708463B (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 |