基于区块链的医疗记录存储系统研究与开发-论文全文

1  文献综述

1.1  研究背景和意义

2008年,比特币[1]问世,作为比特币的基础技术框架,区块链技术开始进入人们的视野。随着比特币的快速发展和应用,其相关技术也逐渐成为学术界热门研究话题,基于区块链的研究和应用呈现出爆发式增长趋势,被认为是继大型计算机、个人电脑、移动互联网、社交网络之后计算范式的第五次颠覆性创新,是继血亲信用、贵金属信用、央行纸币信用之后的人类信用进化史上的第四个里程碑[2]

区块链的本质是分布式存储账本,账本是由多个区块按照时间顺序排列组合形成的线性的链表,账本中存储着网络世界中的交易信息,可以看做是一种具备信任基础的实现网络价值传输的分布式数据库技术。由于其天然的去中心化特性,不仅支持自动执行的智能合约等可扩展性应用,还注重数据安全和隐私保护等关键技术,使得区块链技术不仅可以成功应用于数字加密货币领域,同时在经济金融、物联网供应链和社会公共服务领域中也存在广泛的应用场景[3]

传统的医疗机构以纸质版的形式保存患者的医疗数据,形式单一且检索困难。随着互联网技术的飞速发展,医疗行业也呈现出信息化的发展趋势。EMR(Electronic Medical Record,电子病历)使用计算机存储病人的医疗数据,记录了患者在医院治疗过程中产生的原始数据。通过梳理和总结近些年政府相关部门发布的有关智慧医疗的政策标准,可以发现,以智慧服务、智慧医疗、智慧管理为核心的智慧医院概念的圈定已逐渐清晰,全国各地正逐步开展“智慧医院”的示范建设工作,我国医疗信息化建设已进入快速发展期[4]

EMR的广泛应用推动了医疗领域的发展,无论是对医疗机构还是患者本人都带来了很大的便利。但这种系统大都采用中心化的存储方式,将电子病历存储到每个医疗机构指定的中心数据库中。这种中心化的存储模式存在着数据泄露的风险,一旦数据库遭到攻击,可能会导致数据流失,不能保证患者信息隐私安全;同时,数据由各个医疗机构单方面保管,很容易出现“信息孤岛”问题,患者不能随时查看和保管自己的病历数据,由于企业之间存在差异化,医疗数据存储规范不同,EMR也无法在不同的医疗机构之间合理使用和共享,这给病人跨医院就诊带来很大不便;再者,如果出现医疗纠纷,医疗记录中心的管理模式将使患者处于不利地位,无法保障患者的合法权益。

区块链技术的诞生,为解决传统电子医疗数据中心化存储面临的几个痛点问题带来了新的思路。区块链自身带有去中心化的特性,由网络中的所有参与节点共同维护一个分布式的账本记录,可以有效防止一些节点失效或恶意篡改记录,另外每个区块都加盖时间戳并以hash运算的方式连接到前一个区块,这也为完整医疗信息的CURD操作提供了可靠的追溯功能;区块中的患者医疗数据采用密码学加密技术,有效保障链上数据的可靠存储和安全共享,提高了医疗数据的可信度和完整性;除此之外,区块链网络中的参与者人人平等,支持智能合约,合约部署在区块中,不可篡改,自动执行,可以很大程度上避免由于人为因素造成的有意或无意的错误,保护用户隐私安全,减少医疗纠纷。

在基于区块链技术的电子医疗数据存储系统中,分布式存储模型将呈现出以病人为中心的发展态势,使患者尽可能拥有自己电子病历的所有权,病人的医疗记录归本人所有,属于私人数据,其他人(包括医疗机构和研究人员)必须经过授权才能访问用户医疗记录;区块链技术的应用可以联合不同医疗机构,将各个机构提交的医疗数据统一格式后存储到链上,方便实现跨机构数据共享,使得医生和研究人员在得到授权后能快速获取患者医疗记录,进一步帮助患者诊断或者进行远程治疗。将区块链技术应用在EMR系统中,可以构建医疗信息互通互联的医疗体系,进而提高医疗行业服务质量,推动医疗行业信息化发展,具有一定实际价值。

1.2  国内外研究现状

1.2.1  区块链在存储系统研究现状

随着人工智能、云计算的快速发展,数据存储规模呈指数级增长,对存储技术有更大容量、高可靠性与低时延的需求。将区块链技术应用到存储系统中,可以提高现有存储系统的安全性和可扩展性。当前区块链技术应用在存储系统中有以下三个方面[5]:基于区块链构建的去中心化存储系统,基于区块链优化已有存储系统,区块链系统自身的存储方法和优化,如图1.1

 

图1.1  区块链存储研究分类

 

将区块链技术应用到存储系统中主要引起两方面变化,一方面,区块链账本存储文件分片的元数据,另一方面使用区块链虚拟货币作为奖励,鼓励用户积极提供存储空间。这种模式的存储系统具有隐私保护能力强、安全性强、响应速度快、下载速度快、闲置存储资源利用率高,存储激励能力强、存储空间开销大的特点。国外科研机构已经有一些开源的基于区块链的去中心化存储项目,IPFS(InterPlanetary File System 星际文件系统)是一个点对点的分布式文件系统[6],目的在于改变现有的 HTTP 协议,致力于构建一个去中心化的分散的存储网络,打造一个全新的去冗余的互联网世界,而Filecoin 作为IPFS 激励层实现,通过价值激励来鼓励更多的节点加入 IPFS 网络;但是 Filecoin 的服务方式是让服务商和用户相互选择,在很多情形下会降低存储空间的利用率。 Sia 由NebulousLabs公司创建,专注于为去中心化存储模式提供一个功能完备的平台,通过智能合约自动维护存储提供方与用户的协作关系,无需依赖第三方机构,已经发布了正式版本,能够提供更稳定、成熟的服务,但是目前Sia采用POW(Proof of  Work)达成共识,无法应用于高频实时交易场景。

随着区块链技术日趋完善,有人开始研究如何借助区块链技术优化已有系统的存储性能。针对DNS(域名系统)出现的单点故障以及数据泄露造成的信任问题,基于区块链的分布式互联网Blockstack[7]于2015年问世,Blockstack是一款集成了分散式数据、分散式应用程序、分散式用户数据的区块链浏览器应用,Blockstack 架构分为三层:区块链底层、对等网络、数据层,可以看做区块链世界里的“google”。数据库与区块链技术的结合,可以克服现有中心数据库存在的安全性低、数据易泄露等问题,具有代表性的区块链数据库有BigchainDB,ChainSQL,RecordsKeeper等项目,具有去中心化、不可篡改、可溯源以及吞吐量高的优势。ChainSQL[8]将区块链与传统数据库相结合,构建了一种基于区块链网络的日志式数据库应用平台,该技术兼备了两种系统的优点,能随时随地恢复数据库表,并简化了区块链应用的开发,具有历史记录不可篡改、提供审计服务、本地数据库插件式管理等多种特性。对于大文件存储的场景,区块链往往需要底层的文件系统做支撑,采用链上链下组合存储的方式,文献[9]将区块链技术和文件存储系统相结合,将真实文件存储在底层文件系统中,区块链上则保存文件摘要等公共属性信息,利用哈希函数的唯一性和不可逆性来实现对数据的验证,管理文件的访问权限,从而实现一个个人隐私信息的管理平台。区块链技术与分布式存储,需要去中心化的激励机制吸引网络边缘存储设备的加入,两者相互结合,相互促进。

区块链可以看做是一个分布式的数据库,其自身存储也存在着一些问题,在存储空间方面,网络中每个节点要保存整个区块链的全拷贝,以比特币为例,截止2020.5.20,比特币网络中总共有区块630950个,区块总量348GB,区块链膨胀问题造成了存储空间的庞大开销,基于此问题,比特币允许网络中存在轻节点,该类节点选择以轻量级方式运行,只存储区块头内容而不必存储完整的区块数据,因而减少了节点的区块存储;在轻节点与全节点之外,也有人提出基于纠删码的区块链,减轻全节点的负担。纠删码(erasure coding,EC)是一种数据保护方法,它将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的位置(比如硬盘),当冗余级别为N+M时,能容忍任意M个硬盘故障。纠删码节点只需保存编码区块,就可以恢复出完整区块,因此能够减轻存储负担;文献[10]提出了一种 Fast 同步算法,该算法只保存最近区块的状态数据而忽略较旧区块的状态数据,不仅减少了同步区块的状态数据,还提高了新节点加入区块链的效率;江云超等针对文献[11]提出的分片方案中存在的问题进行进一步优化[12],首先分析区块链恶意节点概率并计算每个分片中区块的数量,然后获取区块链节点数量以及分片中编号最大区块被恶意节点攻击的概率,计算出每个分片需要存储的副本数量,新方案在减少区块存储和提高新节点加入区块链效率方面有更明显的优势。除了存储容量方面的限制,在I/O性能方面,区块链的底层数据结构和架构设计在很大程度上影响着系统的存储和查询性能,为了优化查询性能,EtherQL[13]通过在区块链外部关联数据库,并在区块链上构建查询层,通过数据库接口进行数据查询;另一种是内置索引的方式,王千阁等[14]提出为主键建立辅助索引,主键指向数据的物理地址,索引指向数据主键。经过比较,两种方式都能提高区块链系统的查询性能。

注册功能是web端完成的功能,不涉及访问区块链。用户注册分为患者注册、医生注册以及医疗机构注册,患者和医生归为用户类注册,医疗机构注册要单独实现。用户注册时除了要选择自己的身份,还要填写真实姓名、手机号、密码信息,注意需要将密码经MD5取哈希后才能保存到数据库。注册后要为用户生成公私密钥对,私钥是患者获取区块链上加密病历的唯一方式,需提示患者保存好私钥。

患者个人信息见表4.6,医生个人信息见表4.7,公钥信息存储表见表4.8。

用户注册流程图如图4.6 :

 

 

图4.6  用户注册流程图

 

用户注册涉及到的主要后端功能函数:

用户注册接口,如表4.9。

其中医疗机构代码可以通过机构名称搜索获得或者由医生自主填写,需要提供根据名称获取机构代码函数,方法简单,此处不做叙述。

 

表4.9  用户注册

K V
请求url /user/register
请求方式 Post
请求参数 请求参数描述
userType int,用户身份,

1-患者,2-医生

userName string,用户真实姓名
userPhone string,手机号
password string,密码
hospitalID 可选参数,医生要填

int,所属机构代码

返回参数 返回参数描述
result 注册结果

0-成功,

1-失败,手机号注册过

2-失败,未知错误

privateKey 用户私钥

 

医疗机构注册,需要新建专门的页面。用户注册页面上提供超链接,跳转到医疗机构注册页面。医疗机构注册接口,如表4.10

 

表4.10  医疗机构注册

K V
请求url /user/newHospital
请求方式 Post
请求参数 请求参数描述
hospitalName string,医院全称
businessLicense file,营业执照(图片形式)
返回参数 返回参数描述
result 发送结果

0-发送成功

1-已经通过审核

2-提交过申请,审核中

3-判断为非法

 

4.2.2  用户登录

用户需登录进网站才能看到对应的操作界面。登录需选择身份,填写手机号和密码完成登录操作,登录成功后跳转到对应身份操作界面。

用户登录功能接口如表4.11

 

全集资料-电脑登录24小时自助购买—直接下载

内容包括2020/11/26 20:34 <DIR> .
2020/11/26 20:34 <DIR> ..
2020/11/26 20:30 <DIR> code
2020/11/26 20:27 238,772 code.zip
2020/11/26 20:34 22 LIST.bat
2020/11/26 20:34 0 LIST.TXT
2020/11/26 20:32 <DIR> picture
2020/11/26 20:27 1,827,818 picture.zip
2020/06/19 13:26 146 README.md
2020/06/19 13:26 1,333 t.txt
2020/06/19 13:26 2,581 wen.txt
2020/11/26 20:03 252,502 中期报告.doc
2020/11/26 20:06 35,220 介绍.png
2020/11/26 20:03 1,299,456 任务书.doc
2020/06/19 13:26 5,844,915 压缩包.zip
2020/06/19 13:26 403,929 外文翻译原文.pdf
2020/06/19 13:26 166,400 外文翻译译文.doc
2020/06/19 13:26 140,288 开题报告.doc
2020/11/26 20:03 17,051 数据结构.docx
2020/11/26 20:30 1,558,550 毕业论文-基于区块链的医疗记录存储系统研究与开发.doc
2020/06/04 18:33 1,148 程序使用说明.zip
2020/11/26 20:02 16,855 答辩.docx
2020/11/26 20:02 649,506 答辩.pptx
2020/11/26 20:06 154 说明m.txt
20 个文件 12,456,646 字节
4 个目录 65,815,470,080 可用字节

 

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 基于区块链的医疗记录存储系统研究与开发-论文全文

提供最优质的资源集合

立即查看 了解详情