首页 / 专利库 / 资料储存系统 / 分布式账本 / 一种融入区块链技术的医疗数据安全存储方法

一种融入链技术的医疗数据安全存储方法

阅读:962发布:2020-05-16

专利汇可以提供一种融入链技术的医疗数据安全存储方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种融入 区 块 链 技术的医疗数据安全存储方法。涉及区块链领域,该方法采用了改进PBFT共识 算法 和优化Hash加密算法,将医疗数据安全、有效地存储在分布式 数据库 中,保证医疗数据的完整性和 可追溯性 ;同时,提出并设计了全新的数据交互系统,阻止第三方与数据库的直接交互,防止不可信的第三方恶意破坏医疗数据,保证了数据的安全性;最后,通过 访问 控制和Lucene检索机制保证患者的隐私和实现医疗数据的快速检索。改进的PBFT共识算法相较于POW、DPOS等算法,为医疗区块链系统提供了更好的 稳定性 和吞吐量。同时,相比于普通的数据库交互,数据交互系统有效的阻止对数据库的直接操作,在隐私保护和防篡改上具有较好的表现。实验数据说明,去中心化的医疗数据存储系统、改进的PBFT共识算法以及数据交互系统的架构,实现了医疗数据的安全、可追溯和防篡改,解决了医疗数据集中存储、不可追溯和易受攻击等难点,为进一步推动区块链技术应用于医疗信息行业奠定了 基础 。,下面是一种融入链技术的医疗数据安全存储方法专利的具体信息内容。

1.用户在医疗链网络系统中注册,其中各级医院代表网络节点,组成区块链网络结构和共识中心。所有从系统获取、上传数据统称为用户,如患者、医生等。用户注册生成的注册信息存储在分布式数据库中当前节点分区下。
用户注册过程为:节点和用户上传身份证明文件,密钥中心作为密钥分发机构,为申请用户分发密钥,并且对患者的医疗数据执行加密等操作。
2.构建医疗数据块和医疗元数据块模型,其结构为:
医疗数据分为医疗数据块和医疗元数据块,其中,Patient ID为患者的公钥,公钥字段可以很方便的查到患者的医疗数据记录。
(1)医疗数据块结构,包含诊断文档、医疗图片、视频等,加密存储在链下的分布式数据库中以减轻主链压,其包含以下块:临床数据块和数据备注。
1)临床数据块的组织形式如下:
A.时间戳Timestamp。
B.Doctor ID:主治医师的ID,即医师的公钥。
C.Data Description:医疗数据的主要描述。
D.Data Type:医疗数据的数据类别。
E.EMR:医疗数据的数据文件。
2)数据备注:数据备注是由医师记录该次诊疗的相关备注,以便下次治疗时医师根据备注信息得知上次治疗的效果和注意事项。
(2)医疗元数据块结构,发布至区块链账本中,医疗区块链网络中所有节点同步备份,其中包含以下块:临床元数据块和数据备注。
1)临床元数据块中包含了主治医师上传到分布式数据库中的所有医疗数据文件的信息,其组织形式如下:
A.时间戳Timestamp。
B.Doctor ID:主治医师ID,即医师的公钥。
C.Path To File:文件路径,指向存储在分布式数据库中的文件的指针。文件路径使用患者的私钥进行签名,签名后本身是需要进行隐藏的,因为账本是公开的所有人都可以查阅到,所以对未授权认证的用户我们对他隐藏文件路径。我们需要用户提供自己的私钥签名作为主要的身份认证,数据安全交互系统通过对私钥认证,只有当匹配到正确的签名后,才会向授权的用户展示被隐藏的内容。
D.Hash(File):数据文件的Hash,确保不可伪造和篡改存储在分布式数据库中的数据文件。
2)数据备注块:与存储在分布式数据库中的数据备注类似,医师可以添加诊疗的相关备注信息,方便后期跟进治疗。
3.根据注册信息和医疗数据块结构模型,生成医疗数据安全存储网络,构造医疗区块联盟链,其步骤为:
(1)共识节点选取:医疗区块链中的网络节点由各级医院组成,根据医院等级,本文将各医院在链中的节点设定为普通节点和共识节点。调查研究发现,一般医疗大数据和服务中心都建立在高平医疗机构,如三甲医院和高水平医疗研究所等,因此,设定共识节点主要由全国各三甲医院等高水平医疗机构组成。普通节点不参与全局账本的记账,但是,需要同步整个账本,并且可以将患者的医疗数据用其私钥进行签名,通过提交由参与共识的上级医院来发布。参与共识的医院节点需要将数据打包成医疗元数据块和医疗数据块,并向医疗区块链中的共识中心发送请求,主节点将所有医疗元数据块打包进区块,通过共识添加至医疗区块链,之后,再将医疗数据块加密存储在链下分布式数据库中。
(2)共识节点轮询并检测其是否合法,保证系统容错性:为了减小医疗数据在共识过程中受错误节点的影响,采用信任管理方法对PBFT共识算法中的共识节点Ni进行可靠性考察。在该模型中,信任被定义为节点成为共识节点发布医疗数据至医疗区块链的可靠程度,用0~1之间的数值来对该信任节点进行量化与评估。通过对医院节点共识过程中发生错误监测,利用beta信誉系统构建t阶段Ni节点的信任值Ti(t),阶段t以月为单位,每年共12个阶段。节点的信任值越高,其发生错误的概率就越低,可靠性越高,则在下一阶段被选为共识节点的概率就越大。采用改进的“Watchdog”监控技术来监测节点。
beta分布通常用来表示一个二元事件的后验概率,主要用参数α,β和Γ函数来表示,如式(1)所示:
其中,0≤p≤1,α>0,β>0。
beta分布的概率期望如式(2)所示:
对于二元事件 用s,f分别表示X和 出现的次数。通过对式(2)中的α和β进行设置,事件X出现的概率密度可以表示为历史统计数据的函数,变量p表示X出现的概率。
α=s+1,β=f+1      (3)
在PBFT共识算法中,将节点参与共识发布医疗数据的行为看作独立同分布的二项事件,在共识过程中没有发生错误的事件记为X,发生错误的事件记为 在每一个阶段t内,用si和fi分别表示监测到共识节点未发生错误和发生错误的次数。利用二项事件后验概率服从beta分布的特性,计算出节点Ni的信任值Ti(τ),如公式(4)所示:
(3)leader节点选取:根据我国行政区的划分,每一个行政区作为一个区域,由个区域参与共识的节点医院轮流选取leader节点,赋予它构造区块的权利。各个区域选取leader节点的规则参照步骤2中的信任值,由高到低选取信任值最高的节点医院为leader节点,其余节点为member节点。
(4)leader节点构造联盟区块链并安全存储患者医疗数据,具体步骤为:
1)患者就诊后,主治医生将医疗数据使用患者和自己的私钥对医疗数据进行数字签名,生成医疗数据的Hash值,并生成医疗数据块和医疗元数据块,一起发送至医院系统的发布中心。
2)发布中心在固定的时间内将上传的医疗数据进行收集,将医疗元数据块打包后提交至医疗区块链系统等待共识认证。
3)leader节点不断检查member节点提交的医疗数据元数据块,确认数据块的合法性和有效性,检查周期为K,当医疗元数据块数量达到M时,就将这M个医疗元数据块组成区块,基于改进的PBFT共识算法对医疗数据块进行共识认证,最终构成联盟连。
4)通过共识认证后,医疗元数据块将被上传到医疗区块链的分布式账本中。医疗元数据块成功发布至区块链后,发布中心将医疗数据块通过数据交互系统安全地存储到医院的分布式数据库中。
5)返回第一步循环进行。
4.患者就诊时,医生想要获取患者历史就诊信息时,系统验证节点医院身份信息,提供Lucene检索机制,安全的找到并返回患者医疗数据,具体步骤为:
(1)通过公钥ID对患者医疗数据进行精确检索:
1)患者提供身份信息,系统中密钥中心根据身份信息生成患者公钥索引ID,医院节点向数据交互系统提交患者公钥ID和节点请求信息,数据交互系统向leader节点提交信息。
2)leader节点验证请求信息,验证通过后通过公钥ID在联盟链中找到患者医疗元数据块,将医疗元数据快信息返回给数据交互系统。
3)数据交互系统通过患者通过提供的私钥进行身份认证,认证合法后解析文件路径,通过文件路径在链下分布式数据库中找到患者医疗数据块,将医疗数据块解密成明文进行返回。
4)在返回数据中,利用Lucene检索机制,通过输入关键词、时间等进行模糊检索,具体步骤为:
A.计算查找词权重(Term Weight)
Term Frequency(tf):Term在数据文件中出现频次。
Document Frequency(df):包含Term文档频次。
计算公式如式(5):
wt,d=tft,d×log(n/dft)   (5)
B.向量控件模型算法
将数据中所有的词(Term)和权重(Term Weight)表示为一个向量。
Document={term1,term2,…,term N}
DocumentVector={weight1,weight2,…,weight N}
将查询的查找词等也看作数据,用向量来表示。
Query={term1,term2,…,term N}
Query Vector={weight1,weight2,…,weight N}
将所有的搜索数据结果向量和查询向量放入N维空间,每个词(Term)是一维,计算夹的余弦值作为相关性判断,并根据数据的最高相关性依次返回搜索结果。
相关性公式计算如试(6)所示:

说明书全文

一种融入链技术的医疗数据安全存储方法

技术领域

[0001] 本发明涉及医疗数据存储领域,具体涉及到融入区块链技术的医疗数据安全存储方法。

背景技术

[0002] 长期以来,全球在解决电子医疗数据(Electronic Medical Record,EMR)的存储、校验和可追溯性等问题上一直存在难点,当患者和医生在访问EMR时会受到严格的限制,需要花费大量的资源和时间进行许可校验。EMR需要经常在医院、研究人员、患者等之间进行分发和共享,这对保证EMR的安全性十分重要。其次,EMR通常存储在医院单独的数据库中,集中存储导致信息价值较大,易成为攻击重点,一旦被第三方恶意攻击,则数据的安全性、完整性和不可更改性可能无法得到保证,所以,医疗数据的安全问题亟待解决。
[0003] 近年来,加密技术、大数据存储等相关技术得到快速发展,研究人员提出了基于同态加密的数据安全存储和基于云存储服务数据安全机制等方案,但是,这些安全服务方案都依赖于一个完全可信的第三方来保证交互的可靠性,一旦第三方信任机构遭到攻击,则所有的服务都不再安全。随着区块链技术的发展,为解决医疗数据的安全、集中存储和复杂的权限限制结构提供了一种全新的去中心化模式,利用区块链的去中心化、不可篡改等特点保证了EMR的安全存储与共享,帮助解决了EMR存储集中、可追溯性难等问题,以达到隐私规则和安全规则的标准。

发明内容

[0004] 为了实现上述发明目的,本发明采用了一种融入区块链技术的医疗数据安全存储方法,步骤为:
[0005] 1、用户在医疗区块链网络系统中注册,其中各级医院代表网络节点,组成区块链网络结构和共识中心。所有从系统获取、上传数据统称为用户,如患者、医生等。用户注册生成的注册信息存储在分布式数据库中当前节点分区下。
[0006] 用户注册过程为:节点和用户上传身份证明文件,密钥中心作为密钥分发机构,为申请用户分发密钥,并且对患者的医疗数据执行加密等操作。
[0007] 2、构建医疗数据块和医疗元数据块模型,其结构为:
[0008] 医疗数据分为医疗数据块和医疗元数据块,其中,Patient ID为患者的公钥,公钥字段可以很方便的查到患者的医疗数据记录。
[0009] (1)医疗数据块结构,包含诊断文档、医疗图片、视频等,加密存储在链下的分布式数据库中以减轻主链压,其包含以下块:临床数据块和数据备注。
[0010] 1)临床数据块的组织形式如下:
[0011] A.时间戳Timestamp。
[0012] B.Doctor ID:主治医师的ID,即医师的公钥。
[0013] C.Data Description:医疗数据的主要描述。
[0014] D.Data Type:医疗数据的数据类别。
[0015] E.EMR:医疗数据的数据文件。
[0016] 2)数据备注:数据备注是由医师记录该次诊疗的相关备注,以便下次治疗时医师根据备注信息得知上次治疗的效果和注意事项。
[0017] (2)医疗元数据块结构,发布至区块链账本中,医疗区块链网络中所有节点同步备份,其中包含以下块:临床元数据块和数据备注。
[0018] 1)临床元数据块中包含了主治医师上传到分布式数据库中的所有医疗数据文件的信息,其组织形式如下:
[0019] A.时间戳Timestamp。
[0020] B.Doctor ID:主治医师ID,即医师的公钥。
[0021] C.Path To File:文件路径,指向存储在分布式数据库中的文件的指针。文件路径使用患者的私钥进行签名,签名后本身是需要进行隐藏的,因为账本是公开的所有人都可以查阅到,所以对未授权认证的用户我们对他隐藏文件路径。我们需要用户提供自己的私钥签名作为主要的身份认证,数据安全交互系统通过对私钥认证,只有当匹配到正确的签名后,才会向授权的用户展示被隐藏的内容。
[0022] D.Hash(File):数据文件的Hash,确保不可伪造和篡改存储在分布式数据库中的数据文件。
[0023] 2)数据备注块:与存储在分布式数据库中的数据备注类似,医师可以添加诊疗的相关备注信息,方便后期跟进治疗。
[0024] 3、根据注册信息和医疗数据块结构模型,生成医疗数据安全存储网络,构造医疗区块联盟链,其步骤为:
[0025] (1)共识节点选取:医疗区块链中的网络节点由各级医院组成,根据医院等级,本文将各医院在链中的节点设定为普通节点和共识节点。调查研究发现,一般医疗大数据和服务中心都建立在高平医疗机构,如三甲医院和高水平医疗研究所等,因此,设定共识节点主要由全国各三甲医院等高水平医疗机构组成。普通节点不参与全局账本的记账,但是,需要同步整个账本,并且可以将患者的医疗数据用其私钥进行签名,通过提交由参与共识的上级医院来发布。参与共识的医院节点需要将数据打包成医疗元数据块和医疗数据块,并向医疗区块链中的共识中心发送请求,主节点将所有医疗元数据块打包进区块,通过共识添加至医疗区块链,之后,再将医疗数据块加密存储在链下分布式数据库中。
[0026] (2)共识节点轮询并检测其是否合法,保证系统容错性:为了减小医疗数据在共识过程中受错误节点的影响,采用信任管理方法对PBFT共识算法中的共识节点Ni进行可靠性考察。在该模型中,信任被定义为节点成为共识节点发布医疗数据至医疗区块链的可靠程度,用0~1之间的数值来对该信任节点进行量化与评估。通过对医院节点共识过程中发生错误监测,利用beta信誉系统构建t阶段Ni节点的信任值Ti(t),阶段t以月为单位,每年共12个阶段。节点的信任值越高,其发生错误的概率就越低,可靠性越高,则在下一阶段被选为共识节点的概率就越大。采用改进的“Watchdog”监控技术来监测节点。
[0027] beta分布通常用来表示一个二元事件的后验概率,主要用参数α,β和Γ函数来表示,如式(1)所示:
[0028]
[0029] 其中,0≤p≤1,α>0,β>0。
[0030] beta分布的概率期望如式(2)所示:
[0031]
[0032] 对于二元事件 用s,f分别表示X和 出现的次数。通过对式(2)中的α和β进行设置,事件X出现的概率密度可以表示为历史统计数据的函数,变量p表示X出现的概率。
[0033] α=s+1,β=f+1      (3)
[0034] 在PBFT共识算法中,将节点参与共识发布医疗数据的行为看作独立同分布的二项事件,在共识过程中没有发生错误的事件记为X,发生错误的事件记为 在每一个阶段t内,用si和fi分别表示监测到共识节点未发生错误和发生错误的次数。利用二项事件后验概率服从beta分布的特性,计算出节点Ni的信任值Ti(τ),如公式(4)所示:
[0035]
[0036] (3)leader节点选取:根据我国行政区的划分,每一个行政区作为一个区域,由个区域参与共识的节点医院轮流选取leader节点,赋予它构造区块的权利。各个区域选取leader节点的规则参照步骤2中的信任值,由高到低选取信任值最高的节点医院为leader节点,其余节点为member节点。
[0037] (4)leader节点构造联盟区块链并安全存储患者医疗数据,具体步骤为:
[0038] 1)患者就诊后,主治医生将医疗数据使用患者和自己的私钥对医疗数据进行数字签名,生成医疗数据的Hash值,并生成医疗数据块和医疗元数据块,一起发送至医院系统的发布中心。
[0039] 2)发布中心在固定的时间内将上传的医疗数据进行收集,将医疗元数据块打包后提交至医疗区块链系统等待共识认证。
[0040] 3)leader节点不断检查member节点提交的医疗数据元数据块,确认数据块的合法性和有效性,检查周期为K,当医疗元数据块数量达到M时,就将这M个医疗元数据块组成区块,基于改进的PBFT共识算法对医疗数据块进行共识认证,最终构成联盟连。
[0041] 4)通过共识认证后,医疗元数据块将被上传到医疗区块链的分布式账本中。医疗元数据块成功发布至区块链后,发布中心将医疗数据块通过数据交互系统安全地存储到医院的分布式数据库中。
[0042] 5)返回第一步循环进行。
[0043] 4、患者就诊时,医生想要获取患者历史就诊信息时,系统验证节点医院身份信息,提供Lucene检索机制,安全的找到并返回患者医疗数据,具体步骤为:
[0044] (1)通过公钥ID对患者医疗数据进行精确检索:
[0045] 1)患者提供身份信息,系统中密钥中心根据身份信息生成患者公钥索引ID,医院节点向数据交互系统提交患者公钥ID和节点请求信息,数据交互系统向leader节点提交信息。
[0046] 2)leader节点验证请求信息,验证通过后通过公钥ID在联盟链中找到患者医疗元数据块,将医疗元数据快信息返回给数据交互系统。
[0047] 3)数据交互系统通过患者通过提供的私钥进行身份认证,认证合法后解析文件路径,通过文件路径在链下分布式数据库中找到患者医疗数据块,将医疗数据块解密成明文进行返回。
[0048] 4)在返回数据中,利用Lucene检索机制,通过输入关键词、时间等进行模糊检索,具体步骤为:
[0049] A.计算查找词权重(Term Weight)
[0050] Term Frequency(tf):Term在数据文件中出现频次。
[0051] Document Frequency(df):包含Term文档频次。
[0052] 计算公式如式(5):
[0053] wt,d=tft,d×log(n/dft)       (5)
[0054] B.向量控件模型算法
[0055] 将数据中所有的词(Term)和权重(Term Weight)表示为一个向量。
[0056] Document={term1,term2,...,term N}
[0057] DocumentVector={weight1,weight2,...,weight N}
[0058] 将查询的查找词等也看作数据,用向量来表示。
[0059] Query={term1,term2,...,term N}
[0060] Query Vector={weight1,weight2,...,weight N}
[0061] 将所有的搜索数据结果向量和查询向量放入N维空间,每个词(Term)是一维,计算夹的余弦值作为相关性判断,并根据数据的最高相关性依次返回搜索结果。
[0062] 相关性公式计算如试(6)所示:
[0063]附图说明
[0064] 图1是本发明的医疗区块链系统模型图。
[0065] 图2是本发明的医疗数据结构图。
[0066] 图3是本发明的数据共识结构图。

具体实施方式

[0067] 如图1所示,本发明是一种让那个如区块链技术的医疗数据安全存储方法,步骤为:
[0068] 1、用户在医疗区块链网络系统中注册,其中各级医院代表网络节点,组成区块链网络结构和共识中心。所有从系统获取、上传数据统称为用户,如患者、医生等。用户注册生成的注册信息存储在分布式数据库中当前节点分区下。
[0069] 用户注册过程为:节点和用户上传身份证明文件,密钥中心作为密钥分发机构,为申请用户分发密钥,并且对患者的医疗数据执行加密等操作。
[0070] 2、构建医疗数据块和医疗元数据块模型,其结构为:
[0071] 医疗数据分为医疗数据块和医疗元数据块,其中,Patient ID为患者的公钥,公钥字段可以很方便的查到患者的医疗数据记录。
[0072] (1)医疗数据块结构,包含诊断文档、医疗图片、视频等,加密存储在链下的分布式数据库中以减轻主链压力,其包含以下块:临床数据块和数据备注。
[0073] 1)临床数据块的组织形式如下:
[0074] A.时间戳Timestamp。
[0075] B.Doctor ID:主治医师的ID,即医师的公钥。
[0076] C.Data Description:医疗数据的主要描述。
[0077] D.Data Type:医疗数据的数据类别。
[0078] E.EMR:医疗数据的数据文件。
[0079] 2)数据备注:数据备注是由医师记录该次诊疗的相关备注,以便下次治疗时医师根据备注信息得知上次治疗的效果和注意事项。
[0080] (2)医疗元数据块结构,发布至区块链账本中,医疗区块链网络中所有节点同步备份,其中包含以下块:临床元数据块和数据备注。
[0081] 1)临床元数据块中包含了主治医师上传到分布式数据库中的所有医疗数据文件的信息,其组织形式如下:
[0082] A.时间戳Timestamp。
[0083] B.Doctor ID:主治医师ID,即医师的公钥。
[0084] C.Path To File:文件路径,指向存储在分布式数据库中的文件的指针。文件路径使用患者的私钥进行签名,签名后本身是需要进行隐藏的,因为账本是公开的所有人都可以查阅到,所以对未授权认证的用户我们对他隐藏文件路径。我们需要用户提供自己的私钥签名作为主要的身份认证,数据安全交互系统通过对私钥认证,只有当匹配到正确的签名后,才会向授权的用户展示被隐藏的内容。
[0085] D.Hash(File):数据文件的Hash,确保不可伪造和篡改存储在分布式数据库中的数据文件。
[0086] 2)数据备注块:与存储在分布式数据库中的数据备注类似,医师可以添加诊疗的相关备注信息,方便后期跟进治疗。
[0087] 3、根据注册信息和医疗数据块结构模型,生成医疗数据安全存储网络,构造医疗区块联盟链,其步骤为:
[0088] (1)共识节点选取:医疗区块链中的网络节点由各级医院组成,根据医院等级,本文将各医院在链中的节点设定为普通节点和共识节点。调查研究发现,一般医疗大数据和服务中心都建立在高水平医疗机构,如三甲医院和高水平医疗研究所等,因此,设定共识节点主要由全国各三甲医院等高水平医疗机构组成。普通节点不参与全局账本的记账,但是,需要同步整个账本,并且可以将患者的医疗数据用其私钥进行签名,通过提交由参与共识的上级医院来发布。参与共识的医院节点需要将数据打包成医疗元数据块和医疗数据块,并向医疗区块链中的共识中心发送请求,主节点将所有医疗元数据块打包进区块,通过共识添加至医疗区块链,之后,再将医疗数据块加密存储在链下分布式数据库中。
[0089] (2)共识节点轮询并检测其是否合法,保证系统容错性:为了减小医疗数据在共识过程中受错误节点的影响,采用信任管理方法对PBFT共识算法中的共识节点Ni进行可靠性考察。在该模型中,信任被定义为节点成为共识节点发布医疗数据至医疗区块链的可靠程度,用0~1之间的数值来对该信任节点进行量化与评估。通过对医院节点共识过程中发生错误监测,利用beta信誉系统构建t阶段Ni节点的信任值Ti(t),阶段t以月为单位,每年共12个阶段。节点的信任值越高,其发生错误的概率就越低,可靠性越高,则在下一阶段被选为共识节点的概率就越大。采用改进的“Watchdog”监控技术来监测节点。
[0090] beta分布通常用来表示一个二元事件的后验概率,主要用参数α,β和Γ函数来表示,如式(1)所示:
[0091]
[0092] 其中,0≤p≤1,α>0,β>0。
[0093] beta分布的概率期望如式(2)所示:
[0094]
[0095] 对于二元事件 用s,f分别表示X和 出现的次数。通过对式(2)中的α和β进行设置,事件X出现的概率密度可以表示为历史统计数据的函数,变量p表示X出现的概率。
[0096] α=s+1,β=f+1      (3)
[0097] 在PBFT共识算法中,将节点参与共识发布医疗数据的行为看作独立同分布的二项事件,在共识过程中没有发生错误的事件记为X,发生错误的事件记为 在每一个阶段t内,用si和fi分别表示监测到共识节点未发生错误和发生错误的次数。利用二项事件后验概率服从beta分布的特性,计算出节点Ni的信任值Ti(τ),如公式(4)所示:
[0098]
[0099] (3)leader节点选取:根据我国行政区的划分,每一个行政区作为一个区域,由个区域参与共识的节点医院轮流选取leader节点,赋予它构造区块的权利。各个区域选取leader节点的规则参照步骤2中的信任值,由高到低选取信任值最高的节点医院为leader节点,其余节点为member节点。
[0100] (4)leader节点构造联盟区块链并安全存储患者医疗数据,具体步骤为:
[0101] 1)患者就诊后,主治医生将医疗数据使用患者和自己的私钥对医疗数据进行数字签名,生成医疗数据的Hash值,并生成医疗数据块和医疗元数据块,一起发送至医院系统的发布中心。
[0102] 2)发布中心在固定的时间内将上传的医疗数据进行收集,将医疗元数据块打包后提交至医疗区块链系统等待共识认证。
[0103] 3)leader节点不断检查member节点提交的医疗数据元数据块,确认数据块的合法性和有效性,检查周期为K,当医疗元数据块数量达到M时,就将这M个医疗元数据块组成区块,基于改进的PBFT共识算法对医疗数据块进行共识认证,最终构成联盟连。
[0104] 4)通过共识认证后,医疗元数据块将被上传到医疗区块链的分布式账本中。医疗元数据块成功发布至区块链后,发布中心将医疗数据块通过数据交互系统安全地存储到医院的分布式数据库中。
[0105] 5)返回第一步循环进行。
[0106] 4、患者就诊时,医生想要获取患者历史就诊信息时,系统验证节点医院身份信息,提供Lucene检索机制,安全的找到并返回患者医疗数据,具体步骤为:
[0107] (1)通过公钥ID对患者医疗数据进行精确检索:
[0108] 1)患者提供身份信息,系统中密钥中心根据身份信息生成患者公钥索引ID,医院节点向数据交互系统提交患者公钥ID和节点请求信息,数据交互系统向leader节点提交信息。
[0109] 2)leader节点验证请求信息,验证通过后通过公钥ID在联盟链中找到患者医疗元数据块,将医疗元数据快信息返回给数据交互系统。
[0110] 3)数据交互系统通过患者通过提供的私钥进行身份认证,认证合法后解析文件路径,通过文件路径在链下分布式数据库中找到患者医疗数据块,将医疗数据块解密成明文进行返回。
[0111] 4)在返回数据中,利用Lucene检索机制,通过输入关键词、时间等进行模糊检索,具体步骤为:
[0112] A.计算查找词权重(Term Weight)
[0113] Term Frequency(tf):Term在数据文件中出现频次。
[0114] Document Frequency(df):包含Term文档频次。
[0115] 计算公式如式(5):
[0116] wt,d=tft,d×log(n/dft)      (5)
[0117] B.向量控件模型算法
[0118] 将数据中所有的词(Term)和权重(Term Weight)表示为一个向量。
[0119] Document={term1,term2,...,term N}
[0120] DocumentVector={weight1,weight2,...,weight N}
[0121] 将查询的查找词等也看作数据,用向量来表示。
[0122] Query={term1,term2,...,term N}
[0123] Query Vector={weight1,weight2,...,weight N}
[0124] 将所有的搜索数据结果向量和查询向量放入N维空间,每个词(Term)是一维,计算夹角的余弦值作为相关性判断,并根据数据的最高相关性依次返回搜索结果。
[0125] 相关性公式计算如试(6)所示:
[0126]
[0127] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所做的等效结构或等流程变换,或直接或间接运用在相关技术领域,均同理包括在本发明的专利保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈