基于区块链的儿童生长发育数据追溯系统的制作方法

文档序号:34318728发布日期:2023-06-01 00:44阅读:101来源:国知局
基于区块链的儿童生长发育数据追溯系统的制作方法

本发明涉及医疗数据综合控制领域,尤其涉及基于区块链的儿童生长发育数据追溯系统。


背景技术:

1、生长发育是一个动态过程,连续的生长监测可以了解儿童的发育轨迹,及时发现生长障碍性疾病。所以每年有大量的资源投入儿童保健工作,产生海量的数据。但在实际工作中我们发现儿童的生长发育数据难以追溯,这不仅给诊疗工作带来不便,也是严重的资源浪费。

2、儿童生长发育数据追溯困难主要由两方面的原因造成:一是数据管理不当造成数据丢失;二是数据分散无法被有效利用。因此,使用信息化软件建立统一的数据共享网络是一种高效的解决办法。目前,商业信息系统的建设成本高、系统封闭、结构复杂,难以普及;传统的解决方案(如赵佳彬等的设计)有中心化程度高、安全性低、隐私性差以及无法确定数据归属等缺点。区块链技术以其去中心化、安全性高、隐私性好、分布式保存数据的特点,能很好地克服前面两类系统的不足。


技术实现思路

1、发明的目的:为了提供效果更好的基于区块链的儿童生长发育数据追溯系统,具体目的见具体实施部分的多个实质技术效果。

2、为了达到如上目的,本发明采取如下技术方案:

3、基于区块链的儿童生长发育数据追溯系统,其特征在于,

4、追溯系统的架构自上而下分为表现层、业务逻辑层和数据层;表现层主要实现客户端功能;业务逻辑层负责处理各种数据请求;数据层负责数据的存储;分层架构能够提高系统的可扩展性,改进可靠性,提升安全性;

5、表现层包含了客户端的多种功能模块,每个模块管理一类数据,通过超文本传输协议和json格式和业务逻辑层数据交互;

6、业务逻辑层包括接口服务、数据服务和区块链服务三部分,主要用于处理各类数据请求;所有的数据请求由数据接口服务统一管理,然后分发给数据服务和区块链服务处理;数据服务用来读写数据表,具体操作有查询、新增、修改和删除;

7、数据层使用持久化数据库mysql保存数据,在mysql中需要存储4类数据,分别是:区块链数据、体检数据、患者数据和用户数据;其中区块链表储存区块链的完整数据,体检表储存体检数据,患者表储存儿童个人信息和唯一身份识别码,用户表储存系统使用者的账号和密码等数据;

8、系统具有跨机构数据共享的能力,能记录和管理多家医院的儿童体检数据,可满足儿童保健科医生的日常工作和数据追溯需求。

9、本发明进一步技术方案在于,区块链服务提供了一个有向无环图dag区块链运行所需要的各种功能,把医院的体检数据经散列函数和数字签名处理后组织成一条前后相连、可溯源、且无法被篡改的有序数据链,同时通过对等网络共享本院的数据和接收外院的数据,实现数据共享;区块链服务工作区块链更新会将区块数据保存到区块链表和体检表,并通过区块散列值关联;

10、所述的有向无环图dag区块链是简化了dag的链式结构,采用一个节点一条链的方式组织账本,每条链只记录本节点的区块,每个区块只包含一条的体检数据,这种区块链结构不会再第一个区块之后出现分叉,方便数据管理,可即时将体检数据加入区块链,让系统具有并行处理区块的能力和无限可伸缩性;实现了去中心化,能够灵活组网;共享网络中的节点能够随时加入或者退出,如果某个节点遭到恶意攻击,其他节点的数据不会受到影响。

11、本发明进一步技术方案在于,区块中定义了版本号、上一个区块的散列值、区块高度、节点医院账号、患者账号、体检时间、体检数据和数字签名8个关键字段;

12、其中节点账号是节点公钥的散列值,计算方法为:

13、$from=hash(‘sha256‘,$pubkey);患者账号是儿童监护人的身份证号和其长幼序位的散列值,某个家长的身份证号码为$id,他或她的第二个孩子的账号可由:

14、$to=hash(‘sha256‘,$id+2)计算得到;该算法可避免儿童受姓名、性别等因素影响,并可以再现,防止账号丢失;区块的数字签名则是其他所有数据的散列值经签名算法计算出;区块的散列值由整个区块序列化后计算得到;体检数据是区块记录的最重要的信息,本系统为体检数据提供一种可扩展的数据结构;体检数据中固定的字段有性别、年龄,以及身高、体重、头围三个最常用的生长发育监测数据;“其他”字段保存扩展数据,由数据描述和数据内容两部分构成,;基于这种可扩展的设计,可以自由控制共享数据和开发更多的客户端功能;

15、创世纪区块是区块链上的第一个区块,它无法由节点生成,因此在本系统中会自动生成一个特殊区块作为创世纪块;每个节点的新区块都添加在该区块之后,以保证区块链一致。

16、本发明进一步技术方案在于,数字签名技术用来识别节点身份和防止数据被篡改,使用openssl库中的非对称加解密函数实现;区块链中的每个区块都会被节点签名,以保证数据安全;

17、每个节点在初次运行时必须设置一对用openssl软件创建的公私钥证书,私钥用来签名,公钥用来验证签名;签名用openssl_sign()和base64_encode()函数计算得到签名文本,验证签名使用base64_decode()和openssl_verify()函数;

18、因为签名和验证过程使用了不同的密钥,因此数字签名还可以用来识别节点身份,只要私钥不被泄露,数字签名就不会被伪造;

19、

20、本发明进一步技术方案在于,系统中节点和节点、节点和客户端交换数据都使用json-prc协议的数据接口;json-rpc是一个无状态且轻量级的远程过程调用协议,使用json作为数据交换格式;

21、节点和节点间通信使用curl库实现,节点间交换数据使用post方式发送rpc命令,例如向其他节点广播一个新的区块可发送命令:

22、{″jsonrpc″:″2.0″,″method″:″blockchain_newblock″,″params″:[区块数据]},其他节点接收到区块后返回数据:{″jsomrpc″:″2.0″,″result″:“success”}

23、节点和客户端之间使用javascr i pt的ajax方式通讯;

24、数据接口隔离了应用层和数据层,可以提高系统的安全性,并且给外界提供了简单、规范的交互方式,有助于系统的维护和拓展

25、

26、本发明进一步技术方案在于,使用节点列表来进行节点管理,用以控制共享网络,防止区块链上的数据无限制增大;节点列表记录了节点账号、通信地址和节点公钥;节点通信时先通过数字签名认证:请求方在http头字段中添加一条认证信息,其由4个字符长度的任意关键字、64个字符长度的节点账号和数字签名组成;响应方根据认证信息中的账号地址查询节点列表获得节点公钥,然后验证签名;响应方只会在认证通过后才继续处理请求数据,以减少无效操作。

27、本发明进一步技术方案在于,表现层包含用户模块、患者模块、体检模块、区块链模块、系统模块;

28、用户模块提供用户注册、登录和用户管理等功能,新建账号按照注册、审核、登录的流程执行;系统管理员可以管理所有账号,例如给账号授权或者修改账号密码;

29、患者模块用于管理体检儿童的个人信息,主要要功能有建档、体检登记、查询、删除、修改,使用左侧工具栏的“添加”按钮可为体检儿童创建档案,档案创建后可生成个人二维码,借助二维码识别设备可快速输入患者信息;

30、体检模块管理系统内所有的体检数据,包括预约登记的数据,在体检列表中选中未加入区块链的体检条目,点击“书写病历”可添加该儿童的详细体检数据,在此界面可保存工作进度或发布区块;点击“追溯”可查看该儿童的历次体检记录,在体检记录中可以查看体检的详细数据和生长曲线;

31、区块链模块仅有数据同步、查询和浏览的功能,主界面展示了本节点中的所有区块,选中单个条目点击工具栏“浏览区块”可查看该区块的详细数据;

32、系统模块目前仅有日志浏览功能;系统自动记录用户的重要的操作,以防止系统滥用;日志数据会在节点存放7天,过期数据会被自动清理。

33、本发明进一步技术方案在于,系统使用浏览器/服务器架构设计;服务端用超文本预处理器编程语言设计实现一个有向无环图区块链记录和共享儿童体检数据,并将数据保存在mysql数据库中供用户使用;客户端用超文本标记语言和javascript语言实现用户对患者数据、体检数据、区块链数据、用户数据的管理。

34、本发明进一步技术方案在于,通过限制节点数据共享的频率,或者延后共享数据的方法来防范;同时为了防止恶意攻击给其他系统造成影响,应该让本系统隔离运行,并安全措施;

35、告知儿童监护人数据共享的好处和风险,在获得他们同意后再共享数据;

36、区块的可扩展设计将图片保存在可访问的服务器上,在区块链中保存图片地址,但仍有待探讨;

37、共严格控制区块中的数据,避免非必要信息写入区块链。

38、采用如上技术方案的本发明,相对于现有技术有如下有益效果:本文根据上述背景,研究设计了一个基于区块链的儿童生长发育数据追溯系统。该系统可以记录儿童的体检数据,并具备跨机构共享数据的能力。主要应用在医疗联盟中,旨在组建数据共享网络,帮助儿童保健科医生追溯尽可能多的儿童生长发育数据,给临床工作提供帮助。系统具有如下优势:

39、(1)轻量、独立,不依赖其它系统;

40、(2)去中心化设计,可灵活组网;

41、(3)分布式保存数据,医院拥有完整的数据副本;

42、(4)安全性高,数据匿名且不可篡改;

43、(5)系统容易实现、开发成本低,功能可扩展,适合不同级别的医院使用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1