CN114070617B - 基于区块链的医疗数据共享方法和装置 - Google Patents

基于区块链的医疗数据共享方法和装置 Download PDF

Info

Publication number
CN114070617B
CN114070617B CN202111352257.XA CN202111352257A CN114070617B CN 114070617 B CN114070617 B CN 114070617B CN 202111352257 A CN202111352257 A CN 202111352257A CN 114070617 B CN114070617 B CN 114070617B
Authority
CN
China
Prior art keywords
uplink
medical data
data
sequence
common
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
Application number
CN202111352257.XA
Other languages
English (en)
Other versions
CN114070617A (zh
Inventor
秦晓宏
汪振兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Clinbrain Information Technology Co Ltd
Original Assignee
Shanghai Clinbrain Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Clinbrain Information Technology Co Ltd filed Critical Shanghai Clinbrain Information Technology Co Ltd
Priority to CN202111352257.XA priority Critical patent/CN114070617B/zh
Publication of CN114070617A publication Critical patent/CN114070617A/zh
Application granted granted Critical
Publication of CN114070617B publication Critical patent/CN114070617B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

本申请提供了一种基于区块链的医疗数据共享方法和装置,区块链网络包括多个普通节点,方法包括:多个普通节点中的普通节点A向区块链网络广播将医疗数据A进行上链的上链请求A,区块链网络中在相同时间段内存在其他普通节点广播的医疗数据的上链请求;接收多个普通节点对每个上链请求反馈的上链次序信息,上链次序信息中包含医疗数据A在区块链中的上链次序A;接收其他普通节点对上链请求A进行校验后广播的反馈信息;当根据多个反馈信息识别出达成同意上链的共识后,按照上链次序A对医疗数据A进行上链。本申请可提高区块链上链效率和成功率。

Description

基于区块链的医疗数据共享方法和装置
技术领域
本申请涉及区块链技术领域,更具体地,涉及一种基于区块链的医疗数据共享方法和装置。
背景技术
区块链技术已经被广泛应用到了各行各业之中,在各医院中的患者医疗数据存储与共享也同样适用。在患者医疗数据共享中,各医院的服务器即为区块链系统中的一个节点,每个节点都会定期产生需要打包到区块链上的数据。传统上链做法,是在区块链系统中选举出一个节点作为主节点,其他节点将待上链数据都发送给主节点,主节点将从区块链网络收集到的需要上链的数据存入列表,生成待上链信息并全网广播,各节点接收列表信息,然后经过共识运算并达成同意上链的共识之后,对相应待上链数据进行上链。各节点可以从区块链中获取到每个区块上的患者医疗数据,从而可以实现患者医疗数据的共享。
然而传统的这种方式中,由于需要选举主节点,只能由主节点进行上链,对于数据上链造成了局限,且由于主节点选取过程繁琐,也使得数据上链的效率低下,此外,如果选举的主节点出现了故障,则难以保证完成新数据的上链。
发明内容
有鉴于此,有必要提出一种可以提高上链效率和成功率的基于区块链的医疗数据共享方法和装置。
本申请第一方面提供了一种基于区块链的医疗数据共享方法,所述区块链网络包括多个普通节点,所述方法包括:
所述多个普通节点中的普通节点A向所述区块链网络广播将医疗数据A进行上链的上链请求A,所述区块链网络中在相同时间段内存在其他普通节点广播的医疗数据的上链请求;
接收多个普通节点对每个上链请求反馈的上链次序信息,根据多个所述上链次序信息确定所述医疗数据A在区块链中的上链次序A;
接收其他普通节点对所述上链请求A进行校验后广播的反馈信息;
当根据多个所述反馈信息识别出达成同意上链的共识后,按照所述上链次序A对所述医疗数据A进行上链。
在其中一个实施例中,所述接收多个普通节点对每个上链请求反馈的上链次序信息,包括:
接收各普通节点响应所述上链请求而做出的上链顺序反馈信息和反馈时间,每个所述上链顺序反馈信息指定了其中一个上链请求i对应的医疗数据i在当前区块链中的下一个上链次序;
分析指定的上链请求A对应的上链顺序反馈信息的反馈时间在各个上链顺序反馈信息的反馈时间中的时间排序;
根据所述时间排序确定所述医疗数据A在区块链中的上链次序A。
在其中一个实施例中,所述上链顺序反馈信息为普通节点响应其中一个所述上链请求而广播的合法性校验信息。
在其中一个实施例中,所述根据所述时间排序确定所述医疗数据A在区块链中的上链次序A,包括:
当反馈时间最晚的上链顺序反馈信息为针对上链请求A所做出的反馈信息时,确定所述医疗数据A为所述相同时间段内首个上链的医疗数据。
在其中一个实施例中,所述反馈信息包括commit消息,所述当根据多个所述反馈信息识别出达成同意上链的共识后,按照所述上链次序A对所述医疗数据A进行上链,包括:
当统计接收到的针对所述医疗数据A广播的commit消息的数量达到预设的共识阈值时,按照所述上链次序A对所述医疗数据A进行上链。
在其中一个实施例中,所述上链次序信息包括上链投票信息;所述根据多个所述上链次序信息确定所述医疗数据A在区块链中的上链次序A,包括:
根据所述上链投票信息中投票给所述医疗数据A的投票排名确定所述医疗数据A在区块链中的上链次序A。
在其中一个实施例中,所述接收其他普通节点对所述上链请求A进行校验后广播的反馈信息,包括:接收其他普通节点在预设截止时刻前对上链请求进行共识校验后广播的反馈信息,将未在在预设截止时刻前广播了所述反馈信息的普通节点默认为做出了其中一种校验结果。
在其中一个实施例中,在所述多个普通节点中的普通节点A向所述区块链网络广播将医疗数据A进行上链的上链请求A之前,还包括:获取由数据端生成的待上链数据和医院标识;针对所述医院标识进行校验,校验通过后,获取与所述用户数据对应的用户标识;根据所述用户标识生成用户私钥;根据所述用户私钥生成用户公钥;根据所述用户公钥对所述待上链数据进行加密,生成所述医疗数据A。
在其中一个实施例中,所述方法还包括:
根据所述用户私钥生成识别码,使区块链网络中的普通节点通过扫描所述识别码而获取所述用户私钥,并根据所述用户私钥对所述医疗数据A进行解密。
在其中一个实施例中,当所述识别码中包含一个或多个数据标识时,使普通节点通过扫描所述识别码而获取所述用户私钥和所述一个或多个数据标识,并根据所述用户私钥对每个数据标识对应的医疗数据进行解密;
当所述识别码中不包含数据标识时,使普通节点通过扫描所述识别码而获取所述用户私钥,并根据所述用户私钥对用户标识对应的所有医疗数据进行解密。
本申请第二方面提供了一种基于区块链的医疗数据共享装置,所述装置包括:
上链请求模块,用于向所述区块链网络广播将医疗数据A进行上链的上链请求A,所述区块链网络中在相同时间段内存在其他普通节点广播的医疗数据的上链请求;
上链次序确认模块,用于接收多个普通节点对每个上链请求反馈的上链次序信息,根据多个所述上链次序信息确定所述医疗数据A在区块链中的上链次序A;
校验处理模块,用于接收其他普通节点对所述上链请求A进行校验后广播的反馈信息;
数据上链模块,用于当根据多个所述反馈信息识别出达成同意上链的共识后,按照所述上链次序A将所述医疗数据A上链至所述区块链数据中。
在其中一个实施例中,上链次序确认模块还用于接收各普通节点响应所述上链请求而做出的上链顺序反馈信息和反馈时间,每个所述上链顺序反馈信息指定了其中一个上链请求i对应的医疗数据i在当前区块链中的下一个上链次序;分析指定的上链请求A对应的上链顺序反馈信息的反馈时间在各个反馈信息的反馈时间中的时间排序;根据所述时间排序确定所述医疗数据A在区块链中的上链次序A。
在其中一个实施例中,所述装置还包括:
数据获取模块,用于获取由数据端生成的待上链数据和医院标识;
加解密模块,用于针对所述医院标识进行校验,校验通过后,获取与所述用户数据对应的用户标识;根据所述用户标识生成用户私钥;根据所述用户私钥生成用户公钥;根据所述用户公钥对所述待上链数据进行加密,生成所述医疗数据A。
上述基于区块链的医疗数据共享方法和装置,区块链网络中的各普通节点均有上链的权限,普通节点A可以直接广播上链请求A,当区块链网络中在相同时间段内存在其他普通节点也在广播上链请求时,可根据各个节点对上链请求的响应而做出的上链次序信息,来确定医疗数据A在区块链中的上链次序A,多个普通节点可以就该待上链数据A进行上链校验,在达成同意上链的共识后,普通节点A可以按照确定的上链次序对该上链数据A进行上链。该方案通过给予每个普通节点上链的权限,无需经过复杂繁琐的投票环节去选取主节点进行上链,简化了上链流程,提高了区块链上链的效率,也避免主节点存在故障而导致上链失败的情形,且该方案进一步制定了上链顺序,从而确保待上链数据有序上链,也避免上链混乱。
附图说明
图1为一个实施例中基于区块链的医疗数据共享方法的应用环境图;
图2为一个实施例中基于区块链的医疗数据共享方法的流程示意图;
图3为一个实施例中接收多个普通节点对每个上链请求反馈的上链次序信息,根据多个上链次序信息确定医疗数据A在区块链中的上链次序A的流程示意图;
图4为另一个实施例中基于区块链的医疗数据共享方法的流程示意图;
图5为又一个实施例中基于区块链的医疗数据共享方法的流程示意图;
图6为一个实施例中基于区块链的医疗数据共享装置的结构框图;
图7为另一个实施例中基于区块链的医疗数据共享装置的结构框图。
具体实施方式
以下,将参照附图来描述本申请的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本申请的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本申请。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
本申请提供的基于区块链的医疗数据共享方法,可以应用于如图1所示的应用环境中。其中,区块链网络中包含有多个区块链服务器(图中只示出了区块链服务器A、区块链服务器B、区块链服务器C、区块链服务器D共4个,还可以包含更多),区块链服务器为区块链网络中的可进行区块链数据共享的服务器,每个服务器可为区块链网络中的一个或多个节点,每个区块链服务器为区块链网络中的普通节点。该区块链网络中,每个普通节点均具有上链的权限,因此,存在同一时间段内具有多个普通节点产生了待上链数据,需要进行上链。
以医院为例,该区块链网络即为建立了数据互联互通的多家医院(比如包括医院A、医院B、医院C、医院D等多家医院)的区块链数据网络。每家医院的服务器即为该区块链网络中的普通节点,当医院A对应的普通节点A获取到某个患者的医疗数据,需要对该数据进行上链时,可将该医疗数据作为待上链数据A,按照上述流程确定的上链顺序,实现对待上链数据A的上链。完成上链后,区块链网络中的其他节点可获取区块链数据中与该患者的医疗数据对应的区块数据,从而实现数据的共享。
在一个实施例中,区块链中可以存储一个或多个患者的数据,比如可以将一位患者过去一段时间在一个节点所产生的患者数据打包生成新区块上链。也可以将一个节点一段时间的所有患者数据打包上链。也可以根据实时产生的患者数据实时打包上链。
在一个实施例中,如图2所示,提供了一种基于区块链的医疗数据共享方法,以该方法应用于图1中的场景为例进行说明,该方法可在如图1中的普通节点上实现并执行,具体包括:
步骤202,多个普通节点中的普通节点A向区块链网络广播将医疗数据A进行上链的上链请求A。
其中普通节点可为区块链网络中的区块链服务器,该区块链服务器为区块链网络中可进行数据共享互联互通的服务器。
区块链网络中存在的某一普通节点A,该待上链数据A可以是普通节点A从对应数据中心接收到的相关数据,比如为医疗数据。当普通节点A所接收到的相关数据达到特定要求时,可以将其作为待上链数据A。其中,该特定要求可以是接收到的数据达到预定的数据量或者达到了预定时长。比如普通节点A可每10分钟或其他任意合适的时长进行提交一次上链请求,对应的待上链数据即为在该预定时长内所接收到的数据。或者每当有患者数据产生时,即实时获取该患者数据,并向区块链网络广播上链请求。
举例来说,该待上链数据可以是某一患者在该医院A就诊时所生成的医疗数据A,医院A的节点A需要将该医疗数据上链到该区块链中。
其中,区块链网络中在相同时间段内存在其他普通节点广播的上链请求。可以理解地,区块链网络中由于存在多个普通节点,因此会存在在同一时刻或同一时间段内有多个普通节点都在广播上链请求。其中,每个上链请求中包含了普通节点的节点标识和与待上链数据相关信息,使得其他普通节点可以根据该节点标识获知是哪个节点所广播的上链请求,并根据该相关信息获知需要对什么数据进行上链,从而进行后续的上链共识运算。在一个实施例中,该节点标识可为节点的公钥,比如为医院的公钥。
在产生了医疗数据A后,普通节点A可以向对应区块链网络中广播上链请求,该上链请求是指需要将该医疗数据A作为对应区块链中的医疗数据A的请求,该请求中携带有普通节点A的节点标识A以及医疗数据A的相关数据,该相关数据可以是医疗数据A本身,或者是对医疗数据A进行加密后的数据,或者是按照某种规则进行运算后得到的数据。
步骤204,接收多个普通节点对每个上链请求反馈的上链次序信息,根据多个上链次序信息确定医疗数据A在区块链中的上链次序A。其中,上链次序信息中包含医疗数据A在区块链中的上链次序A。
本实施例中,由于存在多个普通节点在相同时间段内都广播了上链请求,故需要对对应的待上链的医疗数据进行上链排序,确定各待上链数据的上链次序。
在一个实施例中,医院节点可在接收到多个上链请求后,可以根据预先设定的规则来确定各待上链数据的上链顺序,从而确定该待上链数据A在该区块链中的上链次序A。
步骤206,接收其他普通节点对上链请求进行校验后广播的反馈信息。
本实施例中,该校验可包括合法性校验和共识校验,也可以仅包括共识校验。相应地,反馈信息也包括合法性校验反馈信息和共识反馈信息,或者仅包括共识反馈信息。其中,合法性校验为区块链网络中针对各节点进行签名、权限等信息的校验,以确定普通节点广播的上链请求是否合法。在确定合法之后,继续进行共识校验。
处于区块链网络中的其他各个普通节点可对上链请求A对应的待上链数据A进行共识校验,生成共识反馈信息,该共识反馈信息中包含对应节点的节点标识和共识校验结果,其中,校验结果包含同意上链和拒绝上链等结果。
在一个实施例中,当接收到预设数量的普通节点作出的共识反馈信息后,即可进入步骤208,而无需等待所有的节点作出共识反馈信息。其中,该预设数量为系统根据网络中的节点总数设置的一个合适的数量,比如该预设数量可为节点总数的90%。当接收到合适数量的节点的共识反馈信息后,即可以计算出共识结果,避免长时间的等待其中的一个或几个普通节点的反馈而导致上链共识运算效率过低。
在一个实施例中,步骤206包括:接收其他普通节点在预设截止时刻前对上链请求进行共识校验后广播的反馈信息,将未在在预设截止时刻前广播了反馈信息的普通节点默认为做出了其中一种共识校验结果。
本实施例中,该反馈信息为共识反馈信息。当预设截止时刻之前未接收到普通节点的共识反馈信息或者普通节点未广播共识反馈信息时,可默认该普通节点的共识反馈信息为同意上链的共识校验结果或拒绝上链的共识校验结果,将其纳入到后续的上链共识运算中。比如可以将所有超期未广播共识校验结果的节点均默认为做出了同意上链的共识校验结果,或者均默认为做出了拒绝上链的共识校验结果,或者将其中的50%默认为做出了同意上链的共识校验结果,余下的50%默认为做出了拒绝上链的共识校验结果。
其中,截止时刻可为处于预设时间段之后的任意合适时刻,该时刻可根据预定的规则自动确定或者手动确定。比如该截止时刻为预设时间段的最晚时刻加上一个合适的时长。该时长可为固定的时长或者根据当前时间段内待上链的数据量大小而自动确定的时长。比如该时长为1分钟或5分钟等。
当区块链网络中存在众多节点时,通过将未在规定时间反馈结果的节点默认为做出了某一种反馈结果,可以避免长时间的等待其中的一个或几个普通节点的反馈而导致上链共识运算效率过低。
举例来说,区块链网络中参与对上链数据A进行共识校验的节点有100个,当到达截止时刻时,已有90个节点广播了共识反馈信息,余下10个节点未广播共识反馈信息,则可以将该10个节点默认为做出了同意上链的反馈结果。通过将该10个节点默认为做出了同意上链的反馈结果,可以提高达同意上链的成功率,从而也提高了将医疗数据A进行上链的效率。
步骤208,当根据多个反馈信息识别出达成同意上链的共识后,按照上链次序A将医疗数据A进行上链。
普通节点A在获取到的多个其他普通节点的共识反馈信息后,可以统计各种结果的数量,当识别出某一种校验结果的数量达到预设的共识达成共识阈值时,则说明形成了共识。在达成同意上链的共识后,可按照所确定的上链次序生成新的区块,该区块数据中包含上述的上链数据A。其中,该阈值可以是任意合适的数值。比如,该阈值可以是节点总数1/3或1/2等的任意合适数量,或者是根据拜占庭容错(Byzantine Fault Tolerance,BFT)共识机制或实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)共识机制原理所制定的数量。
上述的基于区块链的医疗数据共享方法,区块链网络中的各普通节点均有上链的权限,普通节点A可以直接广播上链请求A,当区块链网络中在相同时间段内存在其他普通节点也在广播上链请求时,可根据各个节点对上链请求的响应而做出的上链次序信息,来确定医疗数据A在区块链中的上链次序A,多个普通节点可以就该待上链数据A进行共识运算,在达成同意上链的共识后,普通节点A可以按照确定的上链次序对该上链数据A进行上链。该方案通过给予每个普通节点上链的权限,无需经过复杂繁琐的投票环节去选取主节点进行上链,简化了上链流程,提高了区块链上链的效率,也避免主节点存在故障而导致上链失败的情形,且该方案进一步制定了上链顺序,从而确保待上链数据有序上链,也避免上链混乱。
在一个实施例中,如图3所示,步骤204包括:
步骤302,接收各普通节点响应上链请求而做出的上链顺序反馈信息和反馈时间。其中,每个上链顺序反馈信息指定了其中一个上链请求i对应的医疗数据i在当前区块链中的下一个上链次序。
本实施例中,上链次序可以由各普通节点之间来确定。其中,处于区块链网络内的普通节点可以接收其他普通节点广播的上链请求。各普通节点可以根据所接收到的上链请求做出反馈并广播。其中,所做出的反馈信息中包含了对应的节点标识和其所认定的上链次序。其中,每个节点的反馈信息中仅指定一个上链请求i对应的医疗数据i的上链次序,该上链次序为在当前区块链中的下一个上链次序,即指定待上链数据i为接下来的第一个上链的数据。可以理解地,上链请求i表示任意一个上链请求,其也可能是上链请求A。
在一个实施例中,各个普通节点可以将自身在该时间段内首个接收到的上链请求对应的待上链数据作为第一个上链的数据。可以理解地,上述普通节点A可以对上链请求A或者其他上链请求也做出上链顺序反馈并进行广播,其中,广播的信息中还带有做出上链顺序反馈的反馈时间。
步骤304,分析指定的上链请求A对应的上链顺序反馈信息的反馈时间在各个上链顺序反馈信息的反馈时间中的时间排序。
具体地,在所有的普通节点均做出了上链顺序反馈信息后,或者在截止某个时刻,获取到了一定数量的上链顺序反馈信息后,可对该上链顺序反馈信息按照给出的反馈时间进行排序,进而可以各个上链顺序反馈信息指定的各个上链请求的排序,其中即包含上链请求A对应的上链顺序反馈信息的反馈时间在各个反馈信息的反馈时间中的时间排序。
举例来说,如下表1所示,处于相同时间段内广播的有上链请求A、B、C,则区块链网络中的普通节点A~H等均可对其中的一个上链请求进行响应,得到各个普通节点作出的上链顺序反馈信息的反馈时间的时间排序。具体地,普通节点可以对其最先接收到的一个上链请求进行响应,其中,存在多个普通节点选取了相同的上链请求进行响应。
表1各普通节点作出的上链顺序反馈信息的反馈时间的时间排序表
Figure BDA0003356224430000101
Figure BDA0003356224430000111
步骤306,根据时间排序确定医疗数据A在区块链数据中的上链次序A。
本实施例中,区块链网络中预定了根据排名确定上链顺序的规则,各普通节点可根据该规则和时间排序,其中,该规则可为倒序规则,后者顺序规则等任意规则。比如,可对该上链排序中,针对多个指定的上链请求是同一个上链请求的,可以仅保留其中一个,其余的去除,从而得到去重后的时间排序。其中所保留的可以是最靠前的一个,或者是最靠后的一个等任意合适的一个。举例来说,可以按照顺序规则,选取表1中的上链请求C作为第一个待上链数据;上链请求A作为第二个待上链数据;上链请求B作为第三个待上链数据。也可以按照倒序规则,选取表1中的上链请求A作为第一个待上链数据;上链请求C作为第二个待上链数据;上链请求B作为第三个待上链数据。
本实施例中,通过利用普通节点对上链请求进行响应做出的上链顺序反馈来确定各上链请求的上链顺序,这样,即使存在个别的普通节点出现故障,也可以顺利完成上链顺序的制定,并完成待上链数据的上链,提高了数据上链的成功性。
在一个实施例中,上述的上链顺序反馈信息是普通节点响应其中一个上链请求而广播的合法性校验信息。步骤206包括:接收其他普通节点对所述上链请求A进行共识校验后广播的共识反馈信息。
具体地,当某一节点接收到其中一个上链请求后,即对其进行合法性校验,然后向区块链网络广播一条合法性校验信息,该合法性校验信息包含了自身节点的节点标识以及所响应的上链请求的信息,比如该信息可为广播该上链请求的节点的节点标识,从而使得其它节点获知是哪个节点响应了哪个上链请求。
该合法性校验信息即可以表示将接收到的上链请求对应的待上链数据的上链次序作为下一个上链次序。通过直接利用合法性校验信息作为上链顺序反馈信息,在完成上链排序的同时又完成了该时间段内各上链请求的合法性校验阶段,进一步提高了上链效率。
在一个实施例中,步骤306包括:当反馈时间最晚的上链顺序反馈信息为针对上链请求A所做出的反馈信息时,确定所述医疗数据A为所述相同时间段内首个上链的医疗数据。
具体地,可以按照反馈时间进行倒序排序,将最晚反馈的上链顺序反馈信息所针对的上链请求对应的医疗数据作为首个上链的医疗数据。当其所针对的是上链请求A时,则可以将医疗数据A作为相同时间段内的首个上链的医疗数据。
结合上述表1,以上链顺序反馈信息为合法性校验信息为例进行说明,区块链网络中存在多个节点针对同一个上链请求而相应的合法性校验信息,针对此种情况,其时间排序可以是去重后的排序。具体地,针对同一个上链请求的合法性校验信息,以其对应最晚时间为准,并将每个上链请求的合法性校验信息的最晚时间进行时间排序,生成排序结果,并按照排序的倒序来确定上链顺序,比如选取表1中的上链请求A对应的医疗数据A作为首个待上链数据。上述的上链顺序确认的方法,直接根据反馈时间来确定上链次序,当接收到最后一个反馈信息时,即可快速确定各医疗数据的上链次序。
在一个实施例中,步骤306包括:当反馈时间最早的上链顺序反馈信息为针对上链请求A所做出的反馈信息时,确定所述医疗数据A为所述相同时间段内首个上链的医疗数据。
本实施例中,与上述实施例相反,还可以按照反馈时间的早晚顺序进行顺序排序,从而先到先上链。将最早反馈的上链顺序反馈信息所针对的上链请求对应的医疗数据作为首个上链的医疗数据。当最早反馈的是针对上链请求A时,则可以将医疗数据A作为相同时间段内的首个上链的医疗数据。
在一个实施例中,反馈信息包括commit消息,当根据多个反馈信息识别出达成同意上链的共识后,按照上链次序A对医疗数据A进行上链,包括:当统计接收到的针对医疗数据A广播的commit消息的数量达到预设的共识阈值时,按照上链次序A对医疗数据A进行上链。
具体地,反馈信息为共识反馈信息,各节点可以按照类似PBFT等原则来进行数据上链。当各节点针对医疗数据A的上链共识进入到了commit状态时,可向区块链网络广播commit消息,各节点可统计所接收到的commit消息的数量,当节点A统计到其所接收的commit消息的数量达到预设的共识阈值时,可对医疗数据A进行上链。其中,该共识阈值可以是根据区块链网络中的节点数而设定的任意合适的数值。
在一个实施例中,上链次序信息包括上链投票信息;根据多个上链次序信息确定医疗数据A在区块链中的上链次序A,包括:根据上链投票信息中投票给医疗数据A的投票排名确定医疗数据A在区块链中的上链次序A。
本实施例中,区块链网络中的各个节点可针对所有上链请求进行排序投票,生成上链投票信息,该上链投票信息即可作为上链次序信息。该信息中包含了针对一个或多个医疗数据的排序反馈,比如包含投票给医疗数据A进行上链的反馈信息。具体地,各节点可随机投票,以提高投票的响应效率。
各个节点可统计针对每个医疗数据的投票数量,按照该投票数量排名来确定上链次序,比如按照投票数量排名从高到低的次序进行上链。当存在多个医疗数据的投票数量相同时,可按照做出该投票的反馈时间进行排序,比如将相同投票数量的医疗数据按照反馈时间早晚的顺序进行排序。
上述方法中,通过利用投票来确定上链次序,简化了上链次序的确定方式,进而提高了整体的上链效率。
在一个实施例中,在步骤202之前,还包括:获取由数据端生成的待上链数据和医院标识;针对医院标识进行校验,校验通过后,获取与用户数据对应的用户标识;根据用户标识生成用户私钥;根据用户私钥生成用户公钥;根据用户公钥对待上链数据进行加密,生成医疗数据A。
本实施例中,医疗数据A是区块链中经过加密后的数据。数据端为医院A的数据生产端,比如可为数据库,可产生相关的用户医疗数据。节点A可按照一定的频率去获取该数据作为待上链数据。医院标识用于唯一识别医院身份的字符串,数据链网络中的各个节点可根据医院标识确定对应的身份信息。
在确定医院身份后,节点A可获取与该用户数据对应的用户标识,其中用户标识可为用户的身份证等,节点A可根据用户标识按照密钥生成规则来生成对应的用户私钥,并根据所生成的用户私钥来生成用户公钥。其中,用户公钥为用于向用户数据进行加密的密钥,而用户私钥则为用于对该加密后的数据进行解密的密钥。在生成用户私钥之后,可根据该用户私钥对用户数据进行加密,从而形成加密后的数据,将该加密后的数据作为待上链的医疗数据A。
本实施例中,通过利用用户标识生成用户的私钥和公钥,进而对需要上链的用户数据进行加密,使得广播的上链请求中的用户数据是经过加密的数据,这样可以保证用户数据的安全性。
在一个实施例中,上述方法还包括:根据用户私钥生成识别码,使区块链网络中的普通节点通过扫描识别码而获取用户私钥,并根据用户私钥对医疗数据A进行解密。
本实施例中,医疗数据是区块链中经过加密后的数据,区块链网络中的任意节点均可以生成用于解密某一个或多个医疗数据的私钥。
针对所生成的用户私钥,可以按照识别码的生成规则来生成识别码,使得形成的识别码中包含了对应的用户私钥的信息,和/或该用户私钥对应解密的一个或多个医疗数据的数据标识等信息。识别码可为条形码或者二维码等类型。使得其他普通节点可以根据该识别码而获取其中的用户私钥,并根据用户私钥对相应的区块数据进行解密。
在一个实施例中,当识别码中包含一个或多个数据标识时,使普通节点通过扫描识别码而获取用户私钥和一个或多个数据标识,并根据用户私钥对每个数据标识对应的医疗数据进行解密;当识别码中不包含数据标识时,使普通节点通过扫描识别码而获取用户私钥,并根据用户私钥对用户标识对应的所有医疗数据进行解密。
当识别码中包含用户私钥而不包含数据标识时,通过该用户私钥可解密对应用户的所有医疗数据;当还包括数据标识时,则用户私钥只能解密与该数据标识对应的医疗数据。其中,识别码中包含的数据标识可以有多个,即一个用户私钥可解密一个或多个医疗数据。普通节点可调用摄像头扫描识别码,解析得到其中的用户私钥,并检测其中是否还包含数据标识,当不包含时,则可用该用户私钥对区块链中对应用户的所有医疗数据进行解密,得到解密后的用户医疗数据。当包含一个或多个数据标识时,可以根据每个数据标识查找对应的医疗数据,并根据该用户私钥对查到的医疗数据进行解密。
上述方案中,以医院场景为例,医院A对应的普通节点A所生成的二维码中包含用于解密某一患者的医疗数据的私钥和多个数据标识,医院可以将该二维码打印在患者的病历本上。当患者在其他医院就诊时,可提供该二维码,其他医院B对应的普通节点B在获取到二维码中的私钥时,可以利用该私钥对区块链中与该每个数据标识对应的患者医疗数据进行解密,从而实现了对患者医疗数据的共享。
通过在识别码中设置是否包含数据标识,从而来区分相应患者的医疗数据是否均适合共享,当患者的医疗数据均适合共享时,可在识别码中不包含数据标识,以便于其它节点对患者所有医疗数据进行解密,当有部分医疗数据不便于共享时,则在识别码中包含可供共享的医疗数据对应的数据标识,便于其它节点根据提供的数据标识来解密可被共享的医疗数据。对于不便共享的医疗数据,其可以设置不同于该用户私钥的密钥或加密方式,使得在需要提供不便共享的医疗数据的时候,通过其他对应的解密方式来解密,以进一步保护用户的隐私。
在一个实施例中,提供了另一种基于区块链的医疗数据共享方法,如图4所示,图4中仅示出了区块链网络中的普通节点A和普通节点B,其中,单箭头表示的步骤是由箭头起始端节点所执行的步骤,双箭头表示的步骤是两个节点都会执行的步骤。可以理解的,区块链网络中还包含其他普通节点,此处并未示出。该方法包括:
步骤402,普通节点A广播上链请求A。
其中,区块链网络中在相同时间段内存在其他普通节点广播的上链请求,其中即包含普通节点A。普通节点A向区块链网络广播将待上链数据A进行上链的上链请求A,具体地,该待上链数据A可为节点A对应的数据中心产生的患者医疗数据,并提交给了节点A。
在一个实施例中,普通节点A在累积接收到的患者医疗数据的数据量达到预设数据量时,则产生上链请求,或者按照预定的频率来产生上链请求,将当前周期内接收到的患者医疗数据作为待上链数据。其中,该预设数据量比如可为100M、1G等任意合适的数据量,预设频率可为每10分钟一次,或每半小时一次等。也可以两者结合,当在预设周期内达到了预设数据量的患者医疗数据时,则产生一次上链请求并广播,在当预设周期内未达到预设数据量,则等待达到预设周期时长时,也会产生一次上链请求。产生一次上链请求后,则进入到下一个上链请求周期产生的阶段。
步骤404,普通节点B响应广播上链请求A,对上链请求进行合法性校验,并作为上链顺序反馈信息B进行广播。
其中,区块链内包含普通节点B在内的其他节点均可响应该时间段内任意一个上链请求,对其进行签名、权限等信息的合法性校验,并广播。其中,其他普通节点所响应的上链请求可为其在该时间段内最先接收到的上链请求。普通节点可将该合法性校验作为上链顺序反馈信息,该上链顺序反馈信息包含了广播其所响应的上链请求的节点的节点标识。
普通节点A在获取到其他节点广播的合法性校验信息后,可根据该节点标识识别出其所响应的具体上链请求i,从而确定该上链顺序反馈信息是将上链请求i对应的待上链数据i的上链次序作为下一个上链次序。通过直接利用合法性校验信息作为上链顺序反馈信息,在完成上链排序的同时又完成了该时间段内各上链过程中的合法性校验阶段,进一步提高了上链效率。
步骤406,各个普通节点获取每个上链顺序反馈信息的反馈时间,并进行时间排序。
本实施例中,各上链顺序反馈信息还携带有反馈时间,各节点可将其接收到的上链顺序反馈信息,按照对应的反馈时间进行排序,比如可形成如上表1所示的排序。
步骤408,各普通节点根据时间排序确定上链请求A的上链顺序。
本实施例中,包含节点A在内的各普通节点均按照所识别出的排序信息,按照相同的规则,确定该时间段内各个上链请求的上链顺序,其中,采用相同的规则可以保证各个节点做出的上链顺序判断是一致的。
在一个实施例中,该步骤406、408可以指定由其中某个节点来执行,在其确定了上链顺序后,将该上链顺序广播至区块链网络中,使得其他节点获知所确定的上链顺序。其中,所指定的节点可为普通节点A、普通节点B等任意合适的节点。
步骤410,各普通节点对待上链数据A进行共识校验,校验通过后进入Prepare状态,并广播。
其中,区块链内包含普通节点B在内的其他节点均可响应该时间段内任意一个上链请求,进入Pre-Prepare状态,并广播。进入Pre-Prepare状态后,各节点可以对待上链数据A进行格式校验、Hash、签名、table权限等校验处理,在实现校验通过后,进入Prepare状态,并全网广播状态。
步骤412,统计接收到的Prepare状态的数量。
步骤414,当统计接收到的Prepare状态的数量达到第一阈值时,进入commit状态,并广播。
各普通节点可以接收其他普通节点广播的Prepare状态,并统计累积的Prepare状态的数量是否达到第一阈值,若是,则进入commit状态,并同样广播该commit状态。
在一个实施例中,各节点所广播的Prepare状态中包含了摘要信息,该摘要信息是对上链请求A进行处理后,基于处理结果计算待生成区块的哈希摘要。各节点统计接收到的commit状态中,与自己计算的摘要相同的commit状态的数量,当该数量达到第一阈值时,就向全网广播一条commit消息。其中,第二阈值可为2f,f为上述的可容忍的拜占庭节点数。
步骤416,统计接收到的commit状态的数量。
步骤418,当统计接收到的commit状态的数量达到第二阈值时,判定达成同意上链共识。
其中,第二阈值可为上述的共识阈值。在一个实施例中,第二阈值的数量可为2f+1。如果一个节点收到2f+1条(包括自己产生的commit消息)commit消息,即可判定达成同意上链共识。
步骤420,普通节点A对待上链数据A进行上链。
在达成共识后,普通节点A可以将待上链数据A提交到节点A的本地的区块链和状态数据库中,实现对待上链数据A的上链。
在一个实施例中,如图5所示,提供了又一种基于区块链的医疗数据共享方法,该方法包括:
步骤502,普通节点A获取用户的用户身份标识,根据用户身份标识生成用户私钥。
本实施例中,该用户可为在普通节点A对应的医院A就诊的用户,普通节点A可以根据该用户的身份证作为用户身份标识,也可以基于该用户身份证按照密钥生成规则来生成私钥。
步骤504,普通节点A根据用户私钥生成用户公钥。
本实施例中,该用户私钥是与用户公钥对应的私钥,可用于解密通过该用户公钥所加密后的数据。
步骤506,获取与用户标识对应的医疗数据,通过用户公钥对医疗数据进行加密,形成加密后的医疗数据,将加密后的医疗数据作为待上链数据A。
本实施例中,该用户数据可为医院A的数据中心所生产的该用户的医疗数据,该数据可包括用户基本信息和诊疗数据、用户在医院A的访问记录等。普通节点A可获取该用户的数据,当达到需要上链的条件时,可以对获取的用户数据采用用户公钥进行加密,将加密后的用户数据作为待上链数据A。
具体地,普通节点A可以对获取的用户数据首先进行Hash运算,从而生成固定长度的摘要Digest,进而利用上述的公钥进行加密,生成相应的数字签名Signature。进一步地,普通节点A可以采用节点A私钥对签名Signature进行加密。该数字签名和摘要即为待上链数据A。
在一个实施例中,该需要上链的条件可为达到上述的上链周期或者用户数据达到了预设的数据量阈值。比如检测到距离上一次上链已经过了10分钟,或者累积的该用户数据达到了100Mb。
在一个实施例中,每当有患者数据产生时,即实时获取该患者数据,并向区块链网络广播上链请求。
步骤508,普通节点A向区块链网络广播将待上链数据A进行上链的上链请求A。其中,区块链网络中在相同时间段内存在其他普通节点广播的上链请求。
在一个实施例中,在步骤508之前,普通节点A可获取自身的节点A公钥,节点公钥可为对应节点的节点身份标识,以便于其他节点可根据节点公钥来识别节点的身份。
该上链请求A中即可携带有节点A公钥,使得其他节点可以获取到上链请求A时即对其进行身份验证,若验证不通过,则拒绝其上链,若验证通过,则执行后续步骤510。
步骤510,接收多个普通节点对每个上链请求反馈的上链次序信息,根据多个上链次序信息确定医疗数据A在区块链中的上链次序A。其中,上链次序信息中包含医疗数据A在区块链中的上链次序A。
步骤512,接收其他普通节点对上链请求A进行校验后广播的反馈信息。
步骤514,当根据多个反馈信息识别出达成同意上链的共识后,按照上链次序A对待上链数据A进行上链。
具体地,反馈信息可为共识反馈信息,普通节点A可以识别其收到的共识反馈信息中,表示同意上链的校验结果的数量,若该数量达到预设共识阈值,则判定达成同意上链的共识。
步骤516,根据用户私钥生成识别码,使区块链网络中的普通节点通过扫描识别码而获取用户私钥,并根据用户私钥对医疗数据A进行解密。
本实施例中,该识别码可以是二维码,普通节点A所生成的二维码可以打印在用户的病历本上。这样,当用户去其他可共享医疗数据的医院B就诊时,只需提供该病历本,医院B对应的普通节点B可以识别该病历本上的二维码,解析得到对应的用户私钥信息,从而可以根据该用户私钥对用户相关的医疗数据进行解密,实现医院之间的患者医疗数据的安全共享。
在一个实施例中,如图6所示,提供了一种基于区块链的医疗数据共享装置,该装置包括:
上链请求模块602,用于向所述区块链网络广播将医疗数据A进行上链的上链请求A,所述区块链网络中在相同时间段内存在其他普通节点广播的医疗数据的上链请求。
上链次序确认模块604,用于接收多个普通节点对每个上链请求反馈的上链次序信息,根据多个上链次序信息确定医疗数据A在区块链中的上链次序A。其中,上链次序信息中包含医疗数据A在区块链中的上链次序A。
校验处理模块606,用于接收其他普通节点对所述上链请求A进行校验后广播的反馈信息。
数据上链模块608,用于当根据多个所述反馈信息识别出达成同意上链的共识后,按照所述上链次序A将所述医疗数据A上链至所述区块链数据中。
在一个实施例中,上链次序确认模块604还用于接收各普通节点响应所述上链请求而做出的上链顺序反馈信息和反馈时间,每个所述上链顺序反馈信息指定了其中一个上链请求i对应的医疗数据i在当前区块链中的下一个上链次序;分析指定的上链请求A对应的上链顺序反馈信息的反馈时间在各个反馈信息的反馈时间中的时间排序;根据所述时间排序确定所述医疗数据A在区块链中的上链次序A。
在一个实施例中,上链顺序反馈信息为普通节点响应其中一个所述上链请求而广播的合法性校验信息。
在一个实施例中,上链次序确认模块604还用于当反馈时间最晚的上链顺序反馈信息为针对上链请求A所做出的反馈信息时,确定所述医疗数据A为所述相同时间段内首个上链的医疗数据。
在一个实施例中,所述反馈信息包括commit消息,数据上链模块608还用于当统计接收到的针对所述医疗数据A广播的commit消息的数量达到预设的共识阈值时,按照所述上链次序A对所述医疗数据A进行上链。
在一个实施例中,校验处理模块606还用于接收其他普通节点在预设截止时刻前对上链请求进行共识校验后广播的反馈信息,将未在在预设截止时刻前广播了反馈信息的普通节点默认为做出了其中一种校验结果。
在一个实施例中,如图7所示,提供了另一种基于区块链的医疗数据共享装置,该装置包括:
加解密模块610,用于获取由数据端生成的待上链数据和医院标识;针对所述医院标识进行校验,校验通过后,获取与所述用户数据对应的用户标识;根据所述用户标识生成用户私钥;根据所述用户私钥生成用户公钥;根据所述用户公钥对所述待上链数据进行加密,生成所述医疗数据A。
在一个实施例中,加解密模块610还用于根据所述用户私钥生成识别码,使区块链网络中的普通节点通过扫描所述识别码而获取所述用户私钥,并根据所述用户私钥对所述医疗数据A进行解密。
在一个实施例中,加解密模块610还用于当识别码中包含一个或多个数据标识时,使普通节点通过扫描识别码而获取用户私钥和一个或多个数据标识,并根据用户私钥对每个数据标识对应的医疗数据进行解密;当识别码中不包含数据标识时,使普通节点通过扫描识别码而获取用户私钥,并根据用户私钥对用户标识对应的所有医疗数据进行解密。
尽管已经描述了示例实施例,但是对于本领域技术人员来说显而易见的是,在不脱离本申请构思的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解,上述示例实施例不是限制性的,而是说明性的。

Claims (8)

1.一种基于区块链的医疗数据共享方法,其特征在于,所述区块链网络包括多个普通节点,所述普通节点为所述区块链网络中的区块链服务器,所述方法包括:
所述多个普通节点中的普通节点A向所述区块链网络广播将医疗数据A进行上链的上链请求A,所述区块链网络中在相同时间段内存在其他普通节点广播的医疗数据的上链请求,所述区块链网络的各普通节点广播的医疗数据包括患者数据;
接收多个普通节点对每个上链请求反馈的上链次序信息,根据多个所述上链次序信息确定所述医疗数据A在区块链中的上链次序A;
接收其他普通节点对所述上链请求A进行校验后广播的反馈信息;
当根据多个所述反馈信息识别出达成同意上链的共识后,按照所述上链次序A对所述医疗数据A进行上链;
所述接收多个普通节点对每个上链请求反馈的上链次序信息,根据多个所述上链次序信息确定所述医疗数据A在区块链中的上链次序A,包括:接收各普通节点响应所述上链请求而做出的上链顺序反馈信息和反馈时间,每个所述上链顺序反馈信息指定了其中一个上链请求i对应的医疗数据i在当前区块链中的下一个上链次序,分析指定的上链请求A对应的上链顺序反馈信息的反馈时间在各个上链顺序反馈信息的反馈时间中的时间排序,根据所述时间排序确定所述医疗数据A在区块链中的上链次序A;或
根据所述上链投票信息中投票给所述医疗数据A的投票排名确定所述医疗数据A在区块链中的上链次序A,所述上链次序信息包括上链投票信息。
2.根据权利要求1所述的方法,其特征在于,所述上链顺序反馈信息为普通节点响应其中一个所述上链请求而广播的合法性校验信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述时间排序确定所述医疗数据A在区块链中的上链次序A,包括:
当反馈时间最晚的上链顺序反馈信息为针对上链请求A所做出的反馈信息时,确定所述医疗数据A为所述相同时间段内首个上链的医疗数据。
4.根据权利要求1所述的方法,其特征在于,所述反馈信息包括commit消息,所述当根据多个所述反馈信息识别出达成同意上链的共识后,按照所述上链次序A对所述医疗数据A进行上链,包括:
当统计接收到的针对所述医疗数据A广播的commit消息的数量达到预设的共识阈值时,按照所述上链次序A对所述医疗数据A进行上链。
5.根据权利要求1所述的方法,其特征在于,在所述多个普通节点中的普通节点A向所述区块链网络广播将医疗数据A进行上链的上链请求A之前,还包括:
获取由数据端生成的待上链数据和医院标识;
针对所述医院标识进行校验,校验通过后,
获取与用户数据对应的用户标识;
根据所述用户标识生成用户私钥;
根据所述用户私钥生成用户公钥;
根据所述用户公钥对所述待上链数据进行加密,生成所述医疗数据A。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述用户私钥生成识别码,使区块链网络中的普通节点通过扫描所述识别码而获取所述用户私钥,并根据所述用户私钥对所述医疗数据A进行解密。
7.根据权利要求6所述的方法,其特征在于,
当所述识别码中包含一个或多个数据标识时,使普通节点通过扫描所述识别码而获取所述用户私钥和所述一个或多个数据标识,并根据所述用户私钥对每个数据标识对应的医疗数据进行解密;
当所述识别码中不包含数据标识时,使普通节点通过扫描所述识别码而获取所述用户私钥,并根据所述用户私钥对用户标识对应的所有医疗数据进行解密。
8.一种基于区块链的医疗数据共享装置,应用于区块链网络中的普通节点,所述普通节点为所述区块链网络中的区块链服务器,其特征在于,所述装置包括:
上链请求模块,用于向所述区块链网络广播将医疗数据A进行上链的上链请求A,所述区块链网络中在相同时间段内存在其他普通节点广播的医疗数据的上链请求,所述区块链网络的各普通节点广播的医疗数据包括患者数据;
上链次序确认模块,用于接收多个普通节点对每个上链请求反馈的上链次序信息,根据多个所述上链次序信息确定所述医疗数据A在区块链中的上链次序A;
校验处理模块,用于接收其他普通节点对所述上链请求A进行校验后广播的反馈信息;
数据上链模块,用于当根据多个所述反馈信息识别出达成同意上链的共识后,按照所述上链次序A将所述医疗数据A上链至所述区块链数据中;
所述上链次序确认模块还用于接收各普通节点响应所述上链请求而做出的上链顺序反馈信息和反馈时间,每个所述上链顺序反馈信息指定了其中一个上链请求i对应的医疗数据i在当前区块链中的下一个上链次序,分析指定的上链请求A对应的上链顺序反馈信息的反馈时间在各个上链顺序反馈信息的反馈时间中的时间排序,根据所述时间排序确定所述医疗数据A在区块链中的上链次序A;或
根据所述上链投票信息中投票给所述医疗数据A的投票排名确定所述医疗数据A在区块链中的上链次序A,所述上链次序信息包括上链投票信息。
CN202111352257.XA 2021-11-16 2021-11-16 基于区块链的医疗数据共享方法和装置 Active CN114070617B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111352257.XA CN114070617B (zh) 2021-11-16 2021-11-16 基于区块链的医疗数据共享方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111352257.XA CN114070617B (zh) 2021-11-16 2021-11-16 基于区块链的医疗数据共享方法和装置

Publications (2)

Publication Number Publication Date
CN114070617A CN114070617A (zh) 2022-02-18
CN114070617B true CN114070617B (zh) 2022-11-08

Family

ID=80272543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111352257.XA Active CN114070617B (zh) 2021-11-16 2021-11-16 基于区块链的医疗数据共享方法和装置

Country Status (1)

Country Link
CN (1) CN114070617B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600227A (zh) * 2018-04-26 2018-09-28 众安信息技术服务有限公司 一种基于区块链的医疗数据共享方法及装置
CN110288479A (zh) * 2019-06-28 2019-09-27 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN110380847A (zh) * 2019-07-01 2019-10-25 阿里巴巴集团控股有限公司 一种区块链共识方法和装置
CN110381069A (zh) * 2019-07-24 2019-10-25 重庆金山医疗技术研究院有限公司 一种基于区块链技术的信息管理方法及系统
CN110519063A (zh) * 2019-09-23 2019-11-29 重庆华医康道科技有限公司 一种基于区块链的医药处方有效配置的工作方法
CN112232619A (zh) * 2020-07-27 2021-01-15 上海树图区块链研究院 联盟链的区块出块和定序方法、节点及区块链网络系统
CN113379420A (zh) * 2021-06-25 2021-09-10 远光软件股份有限公司 区块链的执行智能合约方法、计算机设备及区块链系统
CN113489681A (zh) * 2021-06-08 2021-10-08 湖南大学 区块链节点数据一致性共识方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417833B (zh) * 2018-04-27 2022-05-20 百度在线网络技术(北京)有限公司 基于区块链的数据处理方法、装置及存储介质
JP2020010267A (ja) * 2018-07-12 2020-01-16 コニカミノルタ株式会社 分散型医療情報共有システム、医療情報提供サーバー及びプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600227A (zh) * 2018-04-26 2018-09-28 众安信息技术服务有限公司 一种基于区块链的医疗数据共享方法及装置
CN110288479A (zh) * 2019-06-28 2019-09-27 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN110380847A (zh) * 2019-07-01 2019-10-25 阿里巴巴集团控股有限公司 一种区块链共识方法和装置
CN110381069A (zh) * 2019-07-24 2019-10-25 重庆金山医疗技术研究院有限公司 一种基于区块链技术的信息管理方法及系统
CN110519063A (zh) * 2019-09-23 2019-11-29 重庆华医康道科技有限公司 一种基于区块链的医药处方有效配置的工作方法
CN112232619A (zh) * 2020-07-27 2021-01-15 上海树图区块链研究院 联盟链的区块出块和定序方法、节点及区块链网络系统
CN113489681A (zh) * 2021-06-08 2021-10-08 湖南大学 区块链节点数据一致性共识方法、装置、设备及存储介质
CN113379420A (zh) * 2021-06-25 2021-09-10 远光软件股份有限公司 区块链的执行智能合约方法、计算机设备及区块链系统

Also Published As

Publication number Publication date
CN114070617A (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN108055274B (zh) 一种基于联盟链存储数据的加密与共享方法及系统
CN110351133B (zh) 用于区块链系统中的主节点切换处理的方法及装置
CN109872152B (zh) 基于股份授权证明机制的区块链共识方法及相关设备
US10848315B2 (en) Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program
CN111914027B (zh) 一种区块链交易关键字可搜索加密方法及系统
US9215277B2 (en) Resource sharing method and device, and storage medium
US11749047B2 (en) Electronic voting system and control method
JP6359506B2 (ja) 匿名化されたコンテキストの金銭化技術
US20190088063A1 (en) Electronic voting system and control method
CN111314067B (zh) 区块存储方法、装置、计算机设备及存储介质
EP3133560A1 (en) System and method for secure voting
CN111881481B (zh) 基于区块链的医疗数据处理方法、装置、设备及存储介质
CA2969495C (fr) Procede mis en oeuvre dans un document d'identite et document d'identite associe
EP3891617A1 (en) Secure consensus over a limited connection
CN112235260B (zh) 一种匿名数据存证方法、装置、设备和存储介质
CN112118239A (zh) 区块链共识方法及装置、电子设备、存储介质
CN110880144A (zh) 分发筛选了信用的市场数据的方法和分发市场数据的系统
CN106791961B (zh) 视频偏好信息处理方法、装置及系统
CN114070617B (zh) 基于区块链的医疗数据共享方法和装置
CN115086049B (zh) 基于可验证延迟函数的区块链医疗数据共享系统及方法
CN114065246B (zh) 医疗区块链数据上链方法和装置
JP2003067532A (ja) 電子投票システム及び電子投票方法
JPH08149124A (ja) ゼロ知識証明プロトコルを利用した情報配送方法およびシステム
JP2002217890A (ja) 複製端末発見方法
CN111523142B (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