一种基于区块链的数据处理方法及设备转让专利

申请号 : CN201710372331.1

文献号 : CN107426170B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王士峰

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请公开了一种基于区块链的数据处理方法及设备,包括:区块链节点在接收待存储的业务数据时,确定所述业务数据的数据属性;若所述业务数据的数据属性为文本类型,那么利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述业务数据进行加密处理;若所述业务数据的数据属性为图像类型,那么确定所述业务数据的摘要,并利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理。借助区块链技术的去中心化、公开透明、不可篡改、可信任等特点,根据业务数据的数据属性,采取不同的处理方式,将业务数据存储在区块链网络中,既能够保证业务数据的真实性,又能够保证业务数据的不被篡改。

权利要求 :

1.一种基于区块链的数据处理方法,包括:

区块链节点接收待存储的业务数据,确定所述业务数据的数据属性;

若所述业务数据的数据属性为文本类型,那么所述区块链节点利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述业务数据进行加密处理;

若所述业务数据的数据属性为图像类型,那么所述区块链节点确定所述业务数据的摘要,并利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理;

将加密处理的所述业务数据存储在包括所述区块链节点的区块链网络;

若所述业务数据的数据属性为图像类型,那么所述区块链节点建立所述摘要与所述业务数据的数据标识之间的映射关系,并根据所述映射关系,将所述业务数据存储至业务数据库中。

2.根据权利要求1所述的数据处理方法,所述方法还包括:

若所述业务数据的数据属性为文本类型,那么所述区块链节点根据所述业务数据中包含的用户标识,确定包含所述用户标识的第一区块的校验值;

所述区块链节点将所述校验值和所述业务数据存储至第二区块中,并将所述第二区块存储至所述第一区块所在的区块链中。

3.根据权利要求1至2任一项所述的数据处理方法,所述方法还包括:所述区块链节点接收业务数据查询请求,所述业务数据查询请求中包含发起查询的用户的数字签名和所查询的用户标识;

所述区块链节点根据所述数字签名对发起查询的所述用户进行身份验证;

所述区块链节点当身份验证通过时,将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户。

4.根据权利要求3所述的数据处理方法,所述区块链节点将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户,包括:所述区块链节点确定发起查询的用户的业务数据的访问权限;

所述区块链节点从与所查询的所述用户标识对应的业务数据中选择出满足所述访问权限的业务数据,并将选择的所述业务数据发送给发起查询的所述用户。

5.根据权利要求3所述的数据处理方法,所述区块链节点将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户,包括:若所述数据查询请求中包含的所查询的业务数据的数据属性为图像类型,则所述区块链节点确定所查询的业务数据的摘要,并将所述摘要发送给业务数据库;

所述区块链节点接收所述业务数据库返回的与所述摘要对应的业务数据,并根据所述摘要对接收到的所述业务数据进行验证,在验证通过时,将接收到的所述业务数据发送给发起查询的所述用户。

6.一种基于区块链的数据处理方法,包括:

区块链节点接收待存储的业务数据,确定所述业务数据的数据属性,所述业务数据为医疗数据;

所述区块链节点根据配置的所述数据属性对应的处理规则,对所述业务数据进行处理,并将处理结果发送给区块链网络中的其他区块链节点,使得处理结果存储在包括所述区块链节点的区块链网络中;

所述区块链节点根据配置的所述数据属性对应的处理规则,对所述业务数据进行处理,包括:若所述医疗数据的数据属性为文本类型,那么利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述医疗数据进行加密处理;

若所述医疗数据的数据属性为图像类型,那么确定所述医疗数据的摘要,并利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理;

若所述业务数据的数据属性为图像类型,那么所述区块链节点建立所述摘要与所述业务数据的数据标识之间的映射关系,并根据所述映射关系,将所述业务数据存储至业务数据库中。

7.一种基于区块链的数据处理设备,包括:

接收单元,接收待存储的业务数据,确定所述业务数据的数据属性;

处理单元,若所述业务数据的数据属性为文本类型,那么利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述业务数据进行加密处理;

若所述业务数据的数据属性为图像类型,那么确定所述业务数据的摘要,并利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理;

将加密处理的所述业务数据存储在包括所述区块链节点的区块链网络;

若所述业务数据的数据属性为图像类型,那么所述区块链节点建立所述摘要与所述业务数据的数据标识之间的映射关系,并根据所述映射关系,将所述业务数据存储至业务数据库中。

8.根据权利要求7所述的数据处理设备,所述数据处理设备还包括:存储单元,其中:所述存储单元,若所述业务数据的数据属性为文本类型,那么根据所述业务数据中包含的用户标识,确定包含所述用户标识的第一区块的校验值;

将所述校验值和所述业务数据存储至第二区块中,并将所述第二区块存储至所述第一区块所在的区块链中。

9.根据权利要求7至8任一项所述的数据处理设备,所述数据处理设备还包括:验证单元和发送单元,其中:所述接收单元,接收业务数据查询请求,所述业务数据查询请求中包含发起查询的用户的数字签名和所查询的用户标识;

所述验证单元,根据所述数字签名对发起查询的所述用户进行身份验证;

所述发送单元,当身份验证通过时,将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户。

10.根据权利要求9所述的数据处理设备,所述发送单元将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户,包括:确定发起查询的用户的业务数据的访问权限;

从与所查询的所述用户标识对应的业务数据中选择出满足所述访问权限的业务数据,并将选择的所述业务数据发送给发起查询的所述用户。

11.根据权利要求9所述的数据处理设备,所述发送单元将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户,包括:若所述数据查询请求中包含的所查询的业务数据的数据属性为图像类型,则确定所查询的业务数据的摘要,并将所述摘要发送给业务数据库;

接收所述业务数据库返回的与所述摘要对应的业务数据,并根据所述摘要对接收到的所述业务数据进行验证,在验证通过时,将接收到的所述业务数据发送给发起查询的所述用户。

12.一种基于区块链的数据处理设备,包括:

接收单元,接收待存储的业务数据,确定所述业务数据的数据属性,所述业务数据为医疗数据;

处理单元,根据配置的所述数据属性对应的处理规则,对所述业务数据进行处理,并将处理结果发送给区块链网络中的其他区块链节点,使得处理结果存储在包括所述区块链节点的区块链网络中;

所述处理单元根据配置的所述数据属性对应的处理规则,对所述业务数据进行处理,包括:若所述医疗数据的数据属性为文本类型,那么利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述医疗数据进行加密处理;

若所述医疗数据的数据属性为图像类型,那么确定所述医疗数据的摘要,并利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理;

若所述业务数据的数据属性为图像类型,那么所述区块链节点建立所述摘要与所述业务数据的数据标识之间的映射关系,并根据所述映射关系,将所述业务数据存储至业务数据库中。

说明书 :

一种基于区块链的数据处理方法及设备

技术领域

[0001] 本申请涉及互联网信息处理、医疗卫生以及区块链技术领域,尤其涉及一种基于区块链的数据处理方法及设备。

背景技术

[0002] 随着医疗技术和大数据技术的发展,患者的医疗数据在人类健康的发展过程中起着越来越重要的作用。那么如何管理患者的医疗数据以及合理使用患者的医疗数据成为需要解决的关键问题。
[0003] 在实际生活中,不同的医疗机构都有属于自己的医疗数据管理系统。通过医疗数据管理系统对患者的医疗数据进行管理。经研究发现,在实际应用中,如果一个患者在不同的医疗机构实施治疗,那么将分别的不同的医疗机构中产生医疗数据,通常这些医疗数据在不同的医疗机构是不共享的,也就是说,假设患者在A医疗机构看过病(产生了医疗数据),之后该患者又到B医疗机构看病,B医疗机构的医生是不能查看到该患者在A医疗机构产生的医疗数据的,除非通过严格的审批手续方可获取这些医疗数据。这其实对患者是很不利的。
[0004] 那么如何实现在不同的医疗机构之间的医疗数据共享成为重要问题。

发明内容

[0005] 有鉴于此,本申请实施例提供了一种基于区块链的数据处理方法及设备,用于解决如何实现医疗数据共享的问题。
[0006] 本申请实施例采用下述技术方案:
[0007] 本申请实施例提供了一种基于区块链的数据处理方法,包括:
[0008] 区块链节点接收待存储的业务数据,确定所述业务数据的数据属性;
[0009] 若所述业务数据的数据属性为文本类型,那么所述区块链节点利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述业务数据进行加密处理;
[0010] 若所述业务数据的数据属性为图像类型,那么所述区块链节点确定所述业务数据的摘要,并利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理。
[0011] 本申请实施例提供一种基于区块链的数据处理方法,包括:
[0012] 区块链节点接收待存储的业务数据,确定所述业务数据的数据属性;
[0013] 所述区块链节点根据配置的所述数据属性对应的处理规则,对所述业务数据进行处理,并将处理结果发送给区块链网络中的其他区块链节点。
[0014] 本申请实施例还提供一种基于区块链的数据处理设备,包括:
[0015] 接收单元,接收待存储的业务数据,确定所述业务数据的数据属性;
[0016] 处理单元,若所述业务数据的数据属性为文本类型,那么利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述业务数据进行加密处理;
[0017] 若所述业务数据的数据属性为图像类型,那么确定所述业务数据的摘要,并利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理。
[0018] 本申请实施例还提供一种基于区块链的数据处理设备,包括:
[0019] 接收单元,接收待存储的业务数据,确定所述业务数据的数据属性;
[0020] 处理单元,根据配置的所述数据属性对应的处理规则,对所述业务数据进行处理,并将处理结果发送给区块链网络中的其他区块链节点。
[0021] 本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0022] 在本申请实施例中,区块链节点在接收待存储的业务数据时,确定所述业务数据的数据属性;若所述业务数据的数据属性为文本类型,那么利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述业务数据进行加密处理;若所述业务数据的数据属性为图像类型,那么确定所述业务数据的摘要,并利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理。如果该业务数据为医疗数据,那么借助区块链技术的去中心化、公开透明、不可篡改、可信任等特点,根据医疗数据的数据属性,采取不同的处理方式,进而实现将医疗数据存储在区块链网络中的目的,既能够保证医疗数据的真实性,又能够保证医疗数据的不被篡改,维护整个医疗数据的完整,同时,在区块链网络中有效实现了医疗数据的共享。

附图说明

[0023] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0024] 图1为本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
[0025] 图2为本申请实施例提供的一种基于区块链的数据处理设备的结构示意图;
[0026] 图3为本申请实施例提供的一种基于区块链的医疗数据处理系统的结构示意图;
[0027] 图4为本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
[0028] 图5为本申请实施例提供的一种基于区块链的数据处理设备的结构示意图。

具体实施方式

[0029] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0030] 以下结合附图,详细说明本申请各实施例提供的技术方案。
[0031] 图1为本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。所述方法可以如下所示。本申请实施例中所记载的业务数据可以为医疗数据。下面以业务数据为医疗数据为例进行详细说明。
[0032] 在本申请实施例中,将不同医疗机构所使用的医疗数据管理服务器分别作为区块链网络中的区块链节点,并在每一个医疗数据管理服务器中安装用于医疗数据管理的区块链应用,这样,基于区块链技术,通过区块链应用可以将医疗数据存储至区块链网络中,以保证医疗数据的真实、不被篡改,以及能够在不同的医疗机构之间实现医疗数据的共享。
[0033] 步骤101:区块链节点接收待存储的医疗数据,确定所述医疗数据的数据属性。
[0034] 在本申请实施例中,患者在医疗机构中进行医疗活动时将产生医疗数据。这些医疗数据可以被汇总在医疗机构的医疗信息系统中,那么需要将这些医疗数据及时存储至区块链网络中。也就是说,区块链节点可以实时或者周期地从医疗信息系统中获取待存储的医疗数据。这些医疗数据可以是一个患者的,也可以是多个患者的,这里不做具体限定。
[0035] 在实际应用中,医疗数据可以是文本类型的,例如:医务工作人员通过与患者之间的语言交流所了解到的病情,医务人员可以按照病情记录规范,将所了解到的病情以文字形式规范记录下来,这个可以称之为病情记录文件,该病情记录文件就属于文本类型的医疗数据;医疗数据还可以是图像类型的,例如:患者在医疗机构就诊时,需要做一些身体检查,这些检查一般通过特定设备完成,那么这些设备所产生的检查资料大部分被称之为医学影像资料,这些医学影像资料就属于图像类型的医疗数据,例如:CT(Computed Tomography;电子计算机断层扫描)等。
[0036] 区块链节点在获取到待存储的医疗数据时,需要进一步确定该医疗数据的数据属性。这里的数据属性包括但不限于:文本类型和图像类型。
[0037] 具体地,区块链节点可以根据所获取到的待存储的医疗数据的数据格式,确定该医疗数据的数据属性。例如:若该医疗数据的数据格式为.txt,那么可以确定该医疗数据的数据属性为文本类型。若该医疗数据的数据格式为.jpg,那么可以确定该医疗数据的数据属性为图像类型。
[0038] 需要说明的是,医疗数据可以是指患者的电子病历的数字化形式。所谓电子病历是对于某一个患者,医务人员在针对该病人的医疗活动过程中,使用医疗机构信息系统生成的文字、符号、图表、图形、数据、影像等数字化信息,属于患者病历的一种记录形式。本申请实施例中所记载的医疗数据除了包含患者的电子病历之外,还包含患者的身份信息(例如:身高、体重、年龄、出生年月等等)、身体特征信息(例如:血压、血型、心率等等)等。
[0039] 步骤102:所述区块链节点根据配置的所述数据属性对应的处理规则,对所述医疗数据进行处理,并将处理结果发送给区块链网络中的其他区块链节点。
[0040] 由于图像类型的医疗数据所占容量比较大,如果在区块链网络中进行传输,将降低区块链网络的数据处理效率。考虑到这种情况,在本申请实施例中,对于区块链节点接收到的不同数据属性的医疗数据,为其配置相匹配的处理规则,以提升区块链网络对这些医疗数据的处理效率。
[0041] 需要说明的是,不同数据属性的医疗数据,所对应的处理规则不同。对于文本类型的医疗数据,可以存储在区块链网络的各个区块链节点中;对于容量比较大的图像类型的医疗数据,所采用的处理方式则是将图像类型的原始医疗数据存储在医疗机构的医疗信息数据库中,为了防止这些医疗数据被篡改,将这些医疗数据的摘要存储在区块链网络中,既不影响区块链网络的处理效率,也能够保证这些医疗数据不被篡改,维护医疗数据的真实性和完整性。
[0042] 具体地,区块链节点在确定该医疗数据的数据属性后,若所述医疗数据的数据属性为文本类型,那么利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述医疗数据进行加密处理。
[0043] 需要说明的是,区块链网络可以为每一个患者预设一个公私密钥对,不同患者的私钥不同,这样,区块链节点利用该患者的私钥对该患者的医疗数据进行加密处理,能够保证该患者的医疗数据的安全性。
[0044] 在本申请实施例中,对于文本类型的医疗数据,由于所占容量并不是很大,所以可以将文本类型的医疗数据存储在区块链网络中。
[0045] 较优地,所述区块链节点在将加密处理的结果广播给区块链网络中的其他区块链节点之后,发起对该医疗数据的共识处理,若共识通过,则将该医疗数据上链至区块链中。
[0046] 具体地,所述区块链节点根据所述医疗数据中包含的用户标识,确定包含所述用户标识的第一区块的校验值;
[0047] 所述区块链节点将所述校验值和所述医疗数据存储至第二区块中,并将所述第二区块存储至所述第一区块所在的区块链中。
[0048] 需要说明的是,本申请实施例中所记载的第一区块可以理解为最近一次存储该患者的医疗数据的区块,这样,按照本申请实施例中所记载的方案,能够快速溯源该患者的既往病史,有助于医务人员做出准确地诊断方案。
[0049] 具体地,区块链节点在确定该医疗数据的数据属性后,若所述医疗数据的数据属性为图像类型,那么确定所述医疗数据的摘要,并利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理。
[0050] 由于图像类型的医疗数据容量比较大,因此,区块链节点在确定该医疗数据的数据属性为图像类型时,利用设定算法计算得到该医疗数据的摘要,一旦医疗数据被修改,意味着修改后的医疗数据的摘要将与原始的医疗数据的摘要不同,这样将摘要存储在区块链网络中,也能够保证医疗数据不被篡改。
[0051] 此外,所述区块链节点建立所述摘要与所述医疗数据的数据标识之间的映射关系,并根据所述映射关系,将所述医疗数据存储至医疗信息数据库中。
[0052] 这样,方便其他区块链节点在需要该摘要对应的医疗数据时,能够从该区块链节点对应的医疗信息数据库中快速查找到该医疗数据。
[0053] 在本申请的另一个实施例中,所述方法还包括:
[0054] 所述区块链节点接收医疗数据查询请求,所述医疗数据查询请求中包含发起查询的用户的数字签名和所查询的用户标识;
[0055] 所述区块链节点根据所述数字签名对发起查询的所述用户进行身份验证;
[0056] 所述区块链节点当身份验证通过时,将与所查询的所述用户标识对应的医疗数据发送给发起查询的所述用户。
[0057] 具体地,由于医疗数据涉及到患者的个人隐私,因此,在有用户查询患者的医疗数据时,需要对该用户进行身份验证,这里的身份验证可以包含但不限于两个方面:是否是患者本人、是否是患者的主治医生。
[0058] 区块链网络可以预先为不同医疗机构的医务工作人员(例如:医生、护士)配置公私密钥对,医务工作人员在发起医疗数据查询请求时,可以利用私钥对该医务工作人员的信息进行加密得到该医务工作人员的数字签名,这样区块链节点在接收到医疗数据查询请求时,可以基于该数据签名对该医务工作人员的身份进行验证。以保证医疗数据的安全性。
[0059] 具体地,所述区块链节点将与所查询的所述用户标识对应的医疗数据发送给发起查询的所述用户,包括:
[0060] 所述区块链节点确定发起查询的用户的医疗数据的访问权限;
[0061] 所述区块链节点从与所查询的所述用户标识对应的医疗数据中选择出满足所述访问权限的医疗数据,并将选择的所述医疗数据发送给发起查询的所述用户。
[0062] 需要说明的是,区块链网络可以为医疗数据设置访问权限,也就是说,即使身份验证通过,但是因为发起查询的用户所具备的访问权限不同,那么得到的查询结果也可能存在差异,这样能够有效保护患者的隐私。
[0063] 这里访问权限的设置可以根据医务工作人员的级别不同进行设置,也可以根据查询的目的不同进行设置,这里不做具体限定。
[0064] 具体地,所述区块链节点将与所查询的所述用户标识对应的医疗数据发送给发起查询的所述用户,包括:
[0065] 若所述数据查询请求中包含的所查询的医疗数据的数据属性为图像类型,则所述区块链节点确定所查询的医疗数据的摘要,并将所述摘要发送给医疗信息数据库;
[0066] 所述区块链节点接收所述医疗信息数据库返回的与所述摘要对应的医疗数据,并根据所述摘要对接收到的所述医疗数据进行验证,在验证通过时,将接收到的所述医疗数据发送给发起查询的所述用户。
[0067] 通过对医疗数据的验证,能够及时发现存储在医疗信息数据库中的医疗数据是否被篡改,同时也保证返回的查询结果的真实性。
[0068] 通过本申请实施例提供的技术方案,区块链节点在接收待存储的医疗数据后,确定所述医疗数据的数据属性;根据配置的所述数据属性对应的处理规则,对所述医疗数据进行处理,并将处理结果发送给区块链网络中的其他区块链节点。在医疗数据存储方面,借助区块链技术的去中心化、公开透明、不可篡改、可信任等特点,根据医疗数据的数据属性,采取不同的处理规则对医疗数据进行处理,进而实现将医疗数据存储在区块链网络中的目的,既能够保证医疗数据的真实性,又能够保证医疗数据的不被篡改,维护整个医疗数据的完整,同时,在区块链网络中有效实现了医疗数据的共享。
[0069] 图2为本申请实施例提供的一种基于区块链的数据的处理设备的结构示意图。所述处理设备包括:接收单元201和处理单元202,其中:
[0070] 接收单元201,接收待存储的业务数据,确定所述业务数据的数据属性;
[0071] 处理单元202,根据配置的所述数据属性对应的处理规则,对所述业务数据进行处理,并将处理结果发送给区块链网络中的其他区块链节点。
[0072] 在本申请的另一个实施例中,所述业务数据为医疗数据。
[0073] 在本申请的另一个实施例中,所述处理单元202根据配置的所述数据属性对应的处理规则,对所述业务数据进行处理,包括:
[0074] 若所述医疗数据的数据属性为文本类型,那么利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述医疗数据进行加密处理。
[0075] 在本申请的另一个实施例中,所述处理单元202,根据所述医疗数据中包含的用户标识,确定包含所述用户标识的第一区块的校验值;
[0076] 将所述校验值和所述医疗数据存储至第二区块中,并将所述第二区块存储至所述第一区块所在的区块链中。
[0077] 在本申请的另一个实施例中,所述处理单元202根据配置的所述数据属性对应的处理规则,对所述业务数据进行处理,包括:
[0078] 若所述医疗数据的数据属性为图像类型,那么确定所述医疗数据的摘要,并利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理。
[0079] 在本申请的另一个实施例中,所述处理单元202,建立所述摘要与所述医疗数据的数据标识之间的映射关系,并根据所述映射关系,将所述医疗数据存储至医疗信息数据库中。
[0080] 在本申请的另一个实施例中,所述处理设备还包括:验证单元203和发送单元204,其中:
[0081] 所述接收单元201,接收医疗数据查询请求,所述医疗数据查询请求中包含发起查询的用户的数字签名和所查询的用户标识;
[0082] 所述验证单元203,根据所述数字签名对发起查询的所述用户进行身份验证;
[0083] 所述发送单元204,当身份验证通过时,将与所查询的所述用户标识对应的医疗数据发送给发起查询的所述用户。
[0084] 在本申请的另一个实施例中,所述发送单元204将与所查询的所述用户标识对应的医疗数据发送给发起查询的所述用户,包括:
[0085] 确定发起查询的用户的医疗数据的访问权限;
[0086] 从与所查询的所述用户标识对应的医疗数据中选择出满足所述访问权限的医疗数据,并将选择的所述医疗数据发送给发起查询的所述用户。
[0087] 在本申请的另一个实施例中,所述发送单元204将与所查询的所述用户标识对应的医疗数据发送给发起查询的所述用户,包括:
[0088] 若所述数据查询请求中包含的所查询的医疗数据的数据属性为图像类型,则确定所查询的医疗数据的摘要,并将所述摘要发送给医疗信息数据库;
[0089] 接收所述医疗信息数据库返回的与所述摘要对应的医疗数据,并根据所述摘要对接收到的所述医疗数据进行验证,在验证通过时,将接收到的所述医疗数据发送给发起查询的所述用户。
[0090] 需要说明的是,本申请实施例所提供的处理设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做具体限定。处理设备在接收待存储的医疗数据后,确定所述医疗数据的数据属性;根据配置的所述数据属性对应的处理规则,对所述医疗数据进行处理,并将处理结果发送给区块链网络中的其他区块链节点。在医疗数据存储方面,借助区块链技术的去中心化、公开透明、不可篡改、可信任等特点,根据医疗数据的数据属性,采取不同的处理规则对医疗数据进行处理,进而实现将医疗数据存储在区块链网络中的目的,既能够保证医疗数据的真实性,又能够保证医疗数据的不被篡改,维护整个医疗数据的完整,同时,在区块链网络中有效实现了医疗数据的共享。
[0091] 图3为本申请实施例提供的一种基于区块链的医疗数据处理系统的结构示意图。所述医疗数据处理系统包含医疗数据采集系统301、医疗信息数据库302和区块链网络303,其中:
[0092] 医疗数据采集系统301,通过各种医疗设备接口采集患者的医疗数据,这里的医疗数据包含文本形式的医疗数据(例如:病情记录数据)和图像形式的医疗数据(例如:医学影像资料)。
[0093] 区块链网络303中的区块链节点,从医疗数据采集系统301中接收待存储的医疗数据,确定该医疗数据的数据属性,若该医疗数据的数据属性为文本类型,那么所述区块链节点利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述医疗数据进行加密处理;若所述医疗数据的数据属性为图像类型,那么所述区块链节点确定所述医疗数据的摘要,并利用预设的与所述医疗数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理。
[0094] 区块链网络303中的区块链节点,对于文本类型的医疗数据,根据所述医疗数据中包含的用户标识,确定包含所述用户标识的第一区块的校验值;
[0095] 将所述校验值和所述医疗数据存储至第二区块中,并将所述第二区块存储至所述第一区块所在的区块链中。
[0096] 区块链网络303中的区块链节点,对于图像类型的医疗数据,建立所述摘要与所述医疗数据的数据标识之间的映射关系,并根据所述映射关系,将所述医疗数据存储至医疗信息数据库302中。
[0097] 区块链网络303中的区块链节点,接收医疗数据查询请求,所述医疗数据查询请求中包含发起查询的用户的数字签名和所查询的用户标识;
[0098] 所述区块链节点根据所述数字签名对发起查询的所述用户进行身份验证;
[0099] 所述区块链节点当身份验证通过时,将与所查询的所述用户标识对应的医疗数据发送给发起查询的所述用户。
[0100] 区块链网络303中的区块链节点将与所查询的所述用户标识对应的医疗数据发送给发起查询的所述用户,包括:
[0101] 确定发起查询的用户的业务数据的访问权限;
[0102] 从与所查询的所述用户标识对应的业务数据中选择出满足所述访问权限的业务数据,并将选择的所述业务数据发送给发起查询的所述用户。
[0103] 区块链网络303中的区块链节点,将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户,包括:
[0104] 若所述数据查询请求中包含的所查询的业务数据的数据属性为图像类型,则所述区块链节点确定所查询的业务数据的摘要,并将所述摘要发送给业务数据库;
[0105] 接收所述业务数据库返回的与所述摘要对应的业务数据,并根据所述摘要对接收到的所述业务数据进行验证,在验证通过时,将接收到的所述业务数据发送给发起查询的所述用户。
[0106] 图4为本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。所述方法可以如下所示。
[0107] 步骤401:区块链节点接收待存储的业务数据,确定所述业务数据的数据属性。
[0108] 在本申请实施例中,待存储的业务数据可以是医疗数据,也可以是其他业务的业务数据,这里不做限定。
[0109] 步骤402:区块链节点根据所述数据属性,若判断所述业务数据的数据属性为文本类型,则执行步骤403;若判断所述业务数据的数据属性为图像类型,则执行步骤404。
[0110] 步骤403:若所述业务数据的数据属性为文本类型,那么所述区块链节点利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述业务数据进行加密处理。
[0111] 较优地,所述区块链节点在将加密处理的结果广播给区块链网络中的其他区块链节点之后,发起对该业务数据的共识处理,若共识通过,则将该业务数据上链至区块链中。
[0112] 具体地,所述区块链节点根据所述业务数据中包含的用户标识,确定包含所述用户标识的第一区块的校验值;
[0113] 所述区块链节点将所述校验值和所述业务数据存储至第二区块中,并将所述第二区块存储至所述第一区块所在的区块链中。
[0114] 步骤404:若所述业务数据的数据属性为图像类型,那么所述区块链节点确定所述业务数据的摘要,并利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理。
[0115] 由于图像类型的业务数据容量比较大,因此,区块链节点在确定该业务数据的数据属性为图像类型时,利用设定算法计算得到该业务数据的摘要。
[0116] 所述区块链节点在将该摘要广播给区块链网络中的其他区块链节点之后,发起对该业务数据的共识处理,若共识通过,则将该业务数据的摘要上链至区块链中。
[0117] 一旦业务数据被修改,意味着修改后的业务数据的摘要将与原始的业务数据的摘要不同,这样将摘要存储在区块链网络中,可以保证业务数据不被篡改。
[0118] 此外,所述区块链节点建立所述摘要与所述业务数据的数据标识之间的映射关系,并根据所述映射关系,将所述业务数据存储至医疗信息数据库中。
[0119] 这样,方便其他区块链节点在需要该摘要对应的业务数据时,能够从该区块链节点对应的业务数据库中快速查找到该业务数据。
[0120] 较优地,所述方法还包括:
[0121] 所述区块链节点接收业务数据查询请求,所述业务数据查询请求中包含发起查询的用户的数字签名和所查询的用户标识;
[0122] 所述区块链节点根据所述数字签名对发起查询的所述用户进行身份验证;
[0123] 所述区块链节点当身份验证通过时,将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户。
[0124] 较优地,所述区块链节点将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户,包括:
[0125] 所述区块链节点确定发起查询的用户的业务数据的访问权限;
[0126] 所述区块链节点从与所查询的所述用户标识对应的业务数据中选择出满足所述访问权限的业务数据,并将选择的所述业务数据发送给发起查询的所述用户。
[0127] 较优地,所述区块链节点将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户,包括:
[0128] 若所述数据查询请求中包含的所查询的业务数据的数据属性为图像类型,则所述区块链节点确定所查询的业务数据的摘要,并将所述摘要发送给业务数据库;
[0129] 所述区块链节点接收所述业务数据库返回的与所述摘要对应的业务数据,并根据所述摘要对接收到的所述业务数据进行验证,在验证通过时,将接收到的所述业务数据发送给发起查询的所述用户。
[0130] 通过本申请实施例提供的技术方案,借助区块链技术的去中心化、公开透明、不可篡改、可信任等特点,根据业务数据的数据属性,采取不同的处理方式,进而实现将业务数据存储在区块链网络中的目的,既能够保证业务数据的真实性,又能够保证业务数据的不被篡改,维护整个业务数据的完整,同时,在区块链网络中有效实现了业务数据的共享。
[0131] 图5为本申请实施例提供的一种基于区块链的数据处理设备的结构示意图。所述数据处理设备包括:接收单元501和处理单元502,其中:
[0132] 接收单元501,接收待存储的业务数据,确定所述业务数据的数据属性;
[0133] 处理单元502,若所述业务数据的数据属性为文本类型,那么利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述业务数据进行加密处理;
[0134] 若所述业务数据的数据属性为图像类型,那么确定所述业务数据的摘要,并利用预设的与所述业务数据中包含的用户标识对应的公私密钥对中的私钥,对所述摘要进行加密处理。
[0135] 在本申请的另一个实施例中,所述数据处理设备还包括:存储单元503,其中:
[0136] 所述存储单元503,若所述业务数据的数据属性为文本类型,那么根据所述业务数据中包含的用户标识,确定包含所述用户标识的第一区块的校验值;
[0137] 将所述校验值和所述业务数据存储至第二区块中,并将所述第二区块存储至所述第一区块所在的区块链中。
[0138] 在本申请的另一个实施例中,所述数据处理设备还包括:建立单元504,其中:
[0139] 所述建立单元504,若所述业务数据的数据属性为图像类型,那么建立所述摘要与所述业务数据的数据标识之间的映射关系,并根据所述映射关系,将所述业务数据存储至业务数据库中。
[0140] 在本申请的另一个实施例中,所述数据处理设备还包括:验证单元505和发送单元506,其中:
[0141] 所述接收单元501,接收业务数据查询请求,所述业务数据查询请求中包含发起查询的用户的数字签名和所查询的用户标识;
[0142] 所述验证单元505,根据所述数字签名对发起查询的所述用户进行身份验证;
[0143] 所述发送单元506,当身份验证通过时,将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户。
[0144] 在本申请的另一个实施例中,所述发送单元506将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户,包括:
[0145] 确定发起查询的用户的业务数据的访问权限;
[0146] 从与所查询的所述用户标识对应的业务数据中选择出满足所述访问权限的业务数据,并将选择的所述业务数据发送给发起查询的所述用户。
[0147] 在本申请的另一个实施例中,所述发送单元506将与所查询的所述用户标识对应的业务数据发送给发起查询的所述用户,包括:
[0148] 若所述数据查询请求中包含的所查询的业务数据的数据属性为图像类型,则确定所查询的业务数据的摘要,并将所述摘要发送给业务数据库;
[0149] 接收所述业务数据库返回的与所述摘要对应的业务数据,并根据所述摘要对接收到的所述业务数据进行验证,在验证通过时,将接收到的所述业务数据发送给发起查询的所述用户。
[0150] 需要说明的是,本申请实施例提供的数据处理设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做具体限定。数据处理设备借助区块链技术的去中心化、公开透明、不可篡改、可信任等特点,根据业务数据的数据属性,采取不同的处理方式,进而实现将业务数据存储在区块链网络中的目的,既能够保证业务数据的真实性,又能够保证业务数据的不被篡改,维护整个业务数据的完整,同时,在区块链网络中有效实现了业务数据的共享。
[0151] 在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0152] 控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0153] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0154] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0155] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0156] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0157] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0158] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0159] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0160] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0161] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0162] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0163] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0164] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0165] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。