一种面向医疗区块链数据的可验证搜索方法

文档序号:29495175发布日期:2022-04-06 14:58阅读:来源:国知局

技术特征:
1.一种面向医疗区块链数据的可验证搜索方法,其特征在于,该方法具体包括以下步骤:s1:医疗机构将患者的电子医疗数据上传到区块链;s2:根据区块链中数据的特点选取非关系型数据库mongodb存储,并根据区块链中存储的医疗数据对mongodb设计相应的数据结构;s3:医疗区块链系统将区块中的医疗数据经过处理后存储到非关系型数据库中;s4:用户向搜索方请求搜索医疗记录,其搜索过程包括客户端缓存,数据库搜索,以及链上搜索;s5:对医疗区块链系统进行数据验证,包括数据库定期验证阶段和搜索结果验证阶段。2.根据权利要求1所述的可验证搜索方法,其特征在于,步骤s1中,医疗数据上传到区块链的规则是:首先判断数据的敏感性,并对敏感数据进行加密;其次判断数据的大小,对占用空间大或小的数据进行对应处理;最后将处理后的医疗数据作为附加的额外数据通过智能合约上传到区块链,生成一笔不可变的交易记录,医疗数据最终以十六进制的形式存储在交易的input字段中。3.根据权利要求2所述的可验证搜索方法,其特征在于,步骤s1中,所述对占用空间大或小的数据进行对应处理,具体包括:把占用空间大的数据存储在医疗机构的本地云中,只将占用空间小的数据的哈希值和存储位置保存在链中;其中,哈希值是由上传到区块链中的医疗数据拼接并进行哈希得到的。4.根据权利要求1所述的可验证搜索方法,其特征在于,步骤s2具体包括:使用一对一内嵌文档模型,一份电子医疗数据只对应一位患者,通过内嵌文档模型将四种信息作为单个文档内嵌在主文档中;其中,四种信息包括患者个人信息、医院的信息、患者病历信息和区块信息。5.根据权利要求1所述的可验证搜索方法,其特征在于,步骤s3具体包括:医疗区块链系统负责对区块链进行监听维护并充当搜索方;同时对区块链每个块中每笔交易包含的医疗数据经过处理后存储到设计好的非关系型数据库中;并增加一个持久化处理。6.根据权利要求1所述的可验证搜索方法,其特征在于,步骤s4中,用户向搜索方请求搜索医疗记录,其搜索请求是以s={[t1,t2],w}的形式存在,其中,[t1,t2]表示要搜索医疗数据生成的时间段;w表示要搜索的关键词集;最终,由搜索方返回搜索结果集resultset为:resultset={id
k
,t
i
,{patientinfo
k
,hospitalinfo
k
,emrinfo
k
,blockinfo
k
}}其中,t
i
∈[t1,t2],k∈1,2,

,n表示第k份医疗数据,n表示搜索的医疗数据的数量;id
k
表示第k份医疗数据的id,patientinfo
k
表示第k份医疗数据中包含的个人信息,hospitalinfo
k
表示第k份医疗数据中患者所住医院的信息,emrinfo
k
表示第k份医疗数据的患者病历信息,blockinfo
k
表示第k份医疗数据所在区块信息。7.根据权利要求1所述的可验证搜索方法,其特征在于,步骤s4中,用户通过智能合约输入搜索请求s并请求搜索方,搜索过程分三种情形:客户端缓存:用户每次搜索优先查找本地缓存有无要查询的数据;数据库搜索:搜索方根据s中的条件通过数据库进行查询,并返回相应结果集;链上搜索:由于链上数据入库操作过程发生故障或网络延迟等原因,区块链数据会持
续更新,从而导致更新后的数据没有及时处理;搜索方会保留处理的最终区块高度h
e
,当接收用户的查询请求时,执行完数据库查询之后,会从高度为h
e
+1的区块开始进行链上搜索。8.根据权利要求1所述的可验证搜索方法,其特征在于,步骤s5中,所述数据库定期验证阶段:医疗区块链系统通过存储在数据库中的区块信息,定期对数据库中的数据进行验证;所述搜索结果验证阶段:医疗区块链系统将搜索结果进行分页供用户浏览查看,与此同时对所有结果进行分页验证。9.根据权利要求1或8所述的可验证搜索方法,其特征在于,步骤s5中,两个阶段的验证具体包括以下步骤:

从数据库获取每条医疗数据对应的字段信息,并将其拼接,然后计算其哈希值h(m);

根据每份医疗数据对应的区块信息定位对应的交易位置;

获取交易中存储的并将h(m)与进行对比,并判断结果是否相同,其中,表示上传到区块链交易中的医疗数据拼接并进行哈希而得到的值;如果不同,医疗区块链系统会根据医疗数据对应的id,替换数据库中被篡改过的数据,在搜索结果验证阶段,还会从交易中获取原始数据返回给用户;当用户查看大空间的医疗数据时,还需要根据患者病历信息中的数据存储位置,从相应的医疗机构进行下载并生成哈希值,然后与患者病历信息中的数据哈希值进行对比,并判断是否被修改过。

技术总结
本发明涉及一种面向医疗区块链数据的可验证搜索方法,属于信息技术领域。该方法,包括:S1:医疗机构将患者的电子医疗数据上传到区块链;S2:根据区块链中数据的特点选取非关系型数据库MongoDB存储,并根据区块链中存储的医疗数据对MongoDB设计相应的数据结构;S3:医疗区块链系统将区块中的医疗数据经过处理后存储到非关系型数据库中;S4:用户向搜索方请求搜索医疗记录,其搜索过程包括客户端缓存,数据库搜索,以及链上搜索;S5:对医疗区块链系统进行数据验证,包括数据库定期验证阶段和搜索结果验证阶段。本发明能够使用户搜索任意类型的医疗数据并提高医疗区块链数据的搜索效率,同时兼顾数据的正确性和可靠性。同时兼顾数据的正确性和可靠性。同时兼顾数据的正确性和可靠性。


技术研发人员:甘臣权 杨宏鹏 祝清意 贾家庆 李昆鸿
受保护的技术使用者:重庆邮电大学
技术研发日:2021.12.06
技术公布日:2022/4/5
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1