1.一种基于IPFS和联盟链的医疗数据共享系统,其特征在于,所述基于IPFS和联盟链的医疗数据共享系统包括:患者客户端、使用者客户端以及在IPFS、医院以及数据服务公司均配置有区块链核心服务模块并各自作为peer组织构成区块链系统,其中:在所述IPFS配置的区块链核心服务模块,用于配置证明上链的智能合约(PTC),为存储在所述IPFS上的医疗数据提供存储证明;
在所述医院和所述数据服务公司配置的区块链核心服务模块,用于配置访问控制的智能合约(ACC)和激励结算的智能合约(ISC),为所述患者客户端提供共享的医疗数据并设置相关的访问权限的服务,为所述使用者客户端提供医疗数据的查询和访问服务,以及为所述区块链系统提供管理激励费用并进行费用结算的服务;
所述患者客户端,用于:在接入所述医院所配置的区块链核心服务模块时,在所述ACC中共享患者的医疗数据并能够设置所述医疗数据对应的访问权限和激励费用,并且在所述ACC上链前所述ACC会调用PTC验证患者存储在所述IPFS中的医疗数据是否真实有效,在验证结果示出为有效的情况下,所述ACC上的设置生效;
数据使用者客户端,用于:在接入所述数据服务公司所配置的区块链核心服务模块时,通过所述ACC查询目标医疗数据及其对应的访问权限,并通过所述ACC调用所述ISC支付所述目标医疗数据对应的激励费用,当满足所述访问权限并支付所述目标医疗数据对应的激励费用时,能够获取所述目标医疗数据。
2.根据权利要求1所述的基于IPFS和联盟链的医疗数据共享系统,其特征在于,所述区块链核心服务模块包括:用户身份管理子模块,用于用户的身份注册、登记以及证书的发放;
共识服务子模块,用于负责交易的背书验证、打包排序和维护所述区块链系统账本一致性;
虚拟机子模块,用于负责智能合约的执行、更新和管理;以及
密码服务子模块,用于负责维护所述区块链系统的数据安全和交易安全。
3.根据权利要求1所述的基于IPFS和联盟链的医疗数据共享系统,其特征在于,所述IPFS、医院以及数据服务公司各自对应的peer组织包括:记账节点,用于负责接收新的区块并更新账本;
背书节点,用于负责对发起的交易进行背书;
领导节点,用于负责从排序节点处接收共识后的交易并广播给组织内其他记账节点;
以及
锚节点,用于负责组织间的通信。
4.根据权利要求1所述的基于IPFS和联盟链的医疗数据共享系统,其特征在于,所述PTC包括以下函数模块:上传证明函数模块,用于上传存储证明到所述区块链系统的网络,其中所述上传证明函数模块被配置为由所述IPFS调用;以及有效性证明函数模块,用于接收所述ACC的调用指令,发送患者共享的医疗数据对应的存储证明,并验证所述医疗数据有效性。
5.根据权利要求1所述的基于IPFS和联盟链的医疗数据共享系统,其特征在于,所述ACC包括被所述患者客户端调用进而执行相应操作的以下函数模块:上传关键词密文函数模块,用于将共享的所述医疗数据对应的关键词密文上传至所述区块链系统,并且能够调用所述PTC来验证患者上传数据的有效性,在验证结果为有效时,将患者共享的所述医疗数据对应的关键词密文写入区块链系统;
上传对称密钥密文函数模块,用于将加密的医疗数据对应的对称密钥密文上传至所述区块链系统,并且在所述医疗数据上链前能够验证该医疗数据对应的关键词密文是否在链上,若验证结果为是,则将所述医疗数据对应的对称密钥密文写入区块链系统;
上传哈希地址函数模块,用于将共享的医疗数据存储在所述IPFS中的哈希地址上传至区块链,并且在上传之前能够验证该医疗数据对应的关键词密文和对称密钥密文是否在链上,若验证结果为是,则将该医疗数据对应的哈希地址写入区块链系统;以及设置激励费用函数模块,用于设置共享的医疗数据的激励费用,其中所述激励费用包括患者的数据费用和区块链系统所在平台的服务费用。
6.根据权利要求1所述的基于IPFS和联盟链的医疗数据共享系统,其特征在于,所述ACC包括被所述使用者客户端调用进而执行相应操作的以下函数模块:关键词密文查询函数模块,用于查询链上存储的关键词密文;
激励费用查询函数模块,用于查询目标医疗数据对应的激励费用;
账户检测函数模块,用于将费用转给患者指定的账户,并且能够检测使用者的账户余额是否充足、以及所述患者指定的账户和金额是否正确;以及医疗数据获取函数模块,用于在数据使用者支付目标医疗数据对应的激励费用后获取目标医疗数据。
7.根据权利要求1所述的一种基于区块链智能合约的医疗数据共享系统,其特征在于,所述ISC包括以下函数模块:转账函数模块,用于将所述区块链系统所在平台的服务费用转账到所述区块链系统中共识节点的账户,其中所述服务费用的分配比例被配置为与所述区块链系统所在平台的实际需求相关;以及收益函数查询模块,用于查询所述区块链系统所在平台的收益情况。