一种基于区块链技术的基因组数据管理方法及系统与流程

文档序号:16249733发布日期:2018-12-11 23:54阅读:211来源:国知局
一种基于区块链技术的基因组数据管理方法及系统与流程

本发明涉及计算机领域,特别是涉及一种基于区块链技术的基因组数据管理方法及系统。

背景技术

近年来,基因测序服务和分析服务价格不断降低,使得基因测序和分析服务开始走入寻常百姓家,基因组数据的管理也变得十分重要,一方面基因组数据涉及到个人隐私,另一方面,对于基因组数据的研究需要大量的个人基因组数据支持。而现在,基因组数据都是由个人或是一些企业机构独自管理,这样,各个基因组数据拥有者和基因组数据相关的研究机构在数据共享上十分困难,对基因组数据研究工作起抑制作用。

2009年,比特币的出现,带来了一项新技术——区块链,区块链技术给现有的许多行业的业务数据管理带来了新的思路,然而,由于各个行业的具体业务的复杂性和区块链技术的不成熟,使得区块链技术在各行各业落地生根还有段距离,区块链技术应用到各行各业也需要对其技术细节做必要的修改。

在传统的基因组数据管理方式中,存在以下问题:

每个数据管理机构各自维护属于自己的数据权限管理系统,需要投入大量的维护成本保证系统的运行;一旦单个数据管理机构数据管理系统遭到破坏,可能会造成很严重的安全问题;各个数据管理机构单独管理自己的数据,要实现机构之间的数据共享比较困难;各个基因组数据管理机构以及提供基因组数据相关服务的企业之间信息具有不对称性,资源协同共享比较困难;基因组数据管理机构具体的管理方式不同,且各个机构独自管理,后期访问日志的真实性,以及日志的追溯审计都存在问题。

上述传统基因组数据管理方式的缺点,主要是因为传统基因组数据管理机构的分散独立、各类基因组数据相关机构信任问题难以解决造成的;因此,传统的基因组数据管理系统安全性低且无法实现资源共享。



技术实现要素:

本发明的目的是提供一种基于区块链技术的基因组数据管理方法及系统,以解决传统的基因组数据管理系统安全性低,无法实现资源共享的问题。

为实现上述目的,本发明提供了如下方案:

一种基于区块链技术的基因组数据管理系统,包括:实体以及区块链;

所述实体包括数据使用者以及数据提供者;所述实体,用于在所述区块链注册、身份核验以及向所述区块链发送初始化注册信息以及基因组数据;所述初始化注册信息包括账号、密码以及用户标识;所述基因组数据为数据资料的必要概述信息;所述数据资料的必要概述信息是按照基因表性信息或参考基因位点坐标信息统计得到的;还用于发布或获取所述基因组数据所对应的访问许可证书以及共享证书;所述访问许可证书以及共享证书包括访问次数、访问数据坐标位置以及有效期;

所述区块链包括区块链存储体系以及区块链服务平台,所述区块链存储体系用于存储所述初始化注册信息、基因组数据以及所述基因组数据所对应的访问许可证书以及共享证书;所述区块链服务平台用于根据所述访问许可证书以及共享证书确定访问协议,并存储所述实体访问基因组数据时的访问权限以及访问历史记录,生成日志信息并提供存在性证明。

可选的,所述数据使用者包括基因组数据分析机构以及基因组数据科研机构;所述数据使用者,用于注册时,提供证明所述数据使用者身份真实性的第三方颁发的数字证书。

可选的,所述数据提供者包括基因组数据托管机构以及个人测序参与者;所述数据提供者,用于所述数据使用者注册时,提供用户标识。

可选的,所述实体,还用于更新和维护所述访问许可证书以及共享证书。

可选的,所述区块链存储体系包括链上数据存储区、缓存数据存储区以及基因组数据存储区。

可选的,所述链上数据存储区包括基因组数据、初始化注册信息、基因数据访问历史记录、所述基因组数据对应的访问许可证书和共享证书;

所述缓存数据存储区保存在区块链节点的缓冲区或磁盘中,所述缓存数据存储区包括基因组数据访问申请广播消息、未确认或未完成的数据共享记录;

所述基因组数据存储区,保存在基因组数据库或基因组数据仓库中,所述基因组数据存储区包括高于存储空间阈值的基因组原始数据或基因数据分析得到的中间数据以及结果数据。

可选的,所述实体还包括数据访问者;

所述数据访问者为基因组数据分析机构或基因组数据科研机构。

一种基于区块链技术的基因组数据管理方法,包括:

实体在所述区块链注册、身份核验以及向所述区块链发送初始化注册信息以及基因组数据;所述初始化注册信息包括账号、密码以及用户标识;所述基因组数据为数据资料的必要概述信息;所述数据资料的必要概述信息是按照基因表性信息或参考基因位点坐标信息统计得到的;

所述区块链存储所述初始化注册信息、基因组数据以及所述基因组数据所对应的访问许可证书以及共享证书;所述访问许可证书以及共享证书包括访问次数、访问数据坐标位置以及有效期;

根据所述访问许可证书以及共享证书确定访问协议,并存储所述实体访问基因组数据时的访问权限以及访问历史记录,生成日志信息并提供存在性证明。

可选的,所述区块链存储所述初始化注册信息、基因组数据以及所述基因组数据所对应的访问许可证书以及共享证书之后,还包括:

对所述数据资料的必要概述信息进行增添、修改或删除。

可选的,所述实体在所述区块链注册、身份核验以及向所述区块链发送初始化注册信息以及基因组数据,具体包括:

将所述实体分为数据使用者以及数据提供者;

根据不同类型的实体确定不同的注册条件;

根据所述注册条件进行注册、身份核验以及向所述区块链发送初始化注册信息以及基因组数据。

可选的,所述发布所述基因组数据所对应的访问许可证书以及共享证书之后,还包括:

更新和维护所述访问许可证书以及共享证书。

可选的,所述根据所述访问许可证书以及共享证书确定访问协议,并存储所述实体访问基因组数据时的访问权限以及访问历史记录,生成日志信息并提供存在性证明之前,还包括:

将所述基因组数据划分为基因组片段;

获取所述基因组片段的哈希值;

根据所述哈希值构建默克尔树;

将所述默克尔树的默克尔根存储至所述区块链内。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供了一种基于区块链技术的基因组数据管理方法及系统,通过各类基因组数据提供服务的企业、数据拥有者和利益相关者、基因组数据使用用户等运行的区块链网络节点共同参与、维护和审核各类基因组数据的访问和服务的使用,保证了记录到区块链上的信息的真实性和可靠性;采用本发明所提供的基因组数据管理方法及系统能够为各类基因组数据保存机构和企业提供一个统一的、安全的数据共享平台,减少了各个机构在维护数据管理方面的花费,为各个机构在数据共享等方面提供了便利;同时,通过引入区块链技术,并对传统的区块链技术做了必要的修改,使得本发明更适合在现实环境中部署使用。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的基因组数据管理系统结构图;

图2为本发明所提供的工作流程图;

图3为本发明所提供的底层数据存储结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种基于区块链技术的基因组数据管理方法及系统,能够提高基因组数据管理系统安全性,实现资源共享。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明基于区块链技术,考虑到区块链的可追溯性,记录不可篡改性,以及去中心化信任机制,提出的一种基于区块链技术的基因组数据管理方法及系统,本发明充分考虑了区块链技术的相关优势以及传统基因组数据的管理方式的缺陷,并充分考虑了经典区块链技术应用到基因组数据管理环境下的一些不适应之处,对经典的区块链技术的相关体系做了适当的修改,使得该系统更具有实际意义。

图1为本发明所提供的基因组数据管理系统结构图,如图1所示,该结构可以分成两层,底层是区块链,上次是接入区块链的各类实体。

其中,区块链作为该系统的运行基础,为基因组数据的管理提供区块链特有的服务,例如:智能合约的执行、基因组数据情况的可信记录、后期提供可信追溯等服务,为了适应相关数据管理使用状况,可以将该区块链设计为单链或是多链,区块内数据的组织形式也可以是一个或者多个默克尔树,本发明以传统的单链,单默克尔树为例;需要说明的是,基因组数据完整性和准确性证明所说的默克尔树和区块内数据组织方式中所说的默克尔树不是同一个默克尔树。

所述区块链包括区块链存储体系以及区块链服务平台,所述区块链存储体系用于存储所述初始化注册信息、基因组数据以及所述基因组数据所对应的访问许可证书以及共享证书;所述区块链服务平台用于根据所述访问许可证书以及共享证书确定访问协议,并存储所述实体访问基因组数据时的访问权限以及访问历史记录,生成日志信息并提供存在性证明。

所述区块链存储体系包括链上数据存储区、缓存数据存储区以及基因组数据存储区。

所述链上数据存储区包括基因组数据、初始化注册信息、基因数据访问历史记录、所述基因组数据对应的访问许可证书和共享证书。

所述缓存数据存储区保存在区块链节点的缓冲区或磁盘中,所述缓存数据存储区包括基因组数据访问申请广播消息、未确认或未完成的数据共享记录;其中,最终可能被丢弃也可能被添加到区块链存储区中,是具有短时时效意义的数据。

所述基因组数据存储区包括高于存储空间阈值的基因组原始数据或基因数据分析得到的中间数据以及结果数据。

上层接入的实体平台主要包括数据提供者和数据使用者,其中数据提供者一般会提供两种数据:包括原始基因组数据和生物信息分析出来的结果。数据提供者包括基因组数据托管机构、基因组数据的来源(测序参与者)等。数据使用者一般包括基因组数据分析机构、基因组数据相关的科研机构等。

详细工作流程如图2所示,具体描述为:

1)用户的注册,这里的用户是指接入该区块链各类实体,这种基于区块链技术的基因组数据管理方法主要考虑的是一种用于联盟链的区块链数据管理方式,用户的注册主要是实现对用户身份的认证管理,无论是机构还是个人都要提供足够的身份证明信息以确定其角色和相关的初始权限。为了防止非法用户注册使用或破坏该区块链,注册用户的注册申请以广播的形式发布到该区块链,由整个区块链网络中的合法用户和区块链上记录的注册规则来验证该注册的有效性,并确定其初始权限申请的合法性;其中涉及基因组数据来源的个人的,只需提供用户标识等简单的匿名信息,而数据使用者则需要提供由权威机构颁发的证书等必要的身份证明消息。

用户注册,接入本发明所提供的基因组数据管理系统的各类实体需要在该平台上进行必要的身份核验并在区块链上记录初始化的注册信息。其中注册成功与否由区块链上已经有的注册规则和区块链上合法用户表决决定。涉及到的私密信息使用密码学方法加密。其中参与注册的用户一般包括:

①数据所有者和利益相关方:数据所有者一般为托管机构和相应数据来源方(参与测序的个人);为了保护这类实体的隐私资料,尤其是个人隐私,这些实体注册时,只需要提供一些用户标识等信息。

②数据使用方:各类数据使用方注册时,需要提供由第三方颁发的数字证书等能够证明其身份真实性的各类资料。

基于区块链技术的基因组数据管理系统中的组成部分,包括区块链平台和上层接入实体:

①区块链平台提供区块链特有的服务功能,包括去中心化的信任机制、基因组数据的访问和授权记录、存在性证明等。

②上层接入实体分为数据提供者和数据申请者,数据提供者一般提供两种数据内容,包括原始数据和生物信息分析结果。数据访问者一般包括基因组数据分析机构、各类基因组数据相关的科研机构等;数据提供者一般包括数据托管机构等。

2)基因组数据的获取:注册后的用户(包括企业、机构和个人)可以选择有条件或无条件的共享自己的合法数据资源,个人用户也可以使用该平台提供的数据管理服务有条件的共享个人基因组数据。

用户注册过程,将用户按照角色分为两类,并对其设定不同的注册的条件,注册成功与否的最终结果由区块链上记录的黑名单等内容和已经注册完成的用户的审核共同决定。

由注册后的各类实体有条件或是无条件的公开自己的数据资料,将自己的数据资料的必要概述信息(按照基因表型信息或参考基因位点坐标信息等统计得到)记录到区块链上,并负责这些概述信息的增添修改。

3)数据访问权限管理:a)一般接入该区块链的相关数据提供方会对其所拥有的数据提供一个简单的初始化访问权限设置,并对愿意共享的数据在区块链上记录一个基本的情况概述。b)数据使用方可以查询所有相关的数据概述情况,申请访问自己感兴趣的数据,该申请也是通过区块链提交,由数据控制方决定拒绝或者是许可该申请。c)也可以由数据使用方和数据提供方商议相互之间的数据使用权限,并将商议后的访问权限证书发布到区块链上保存。d)需要申请使用某些基因数据的实体,也可以向该区块链网络广播自己所需要的特定表型基因数据,拥有相关数据的用户可以响应该广播并提供相关数据。为了避免过多的未被利益相关方审核的申请积压在区块链网络上,应该对区块链网络中的各类数据包设置一个有效性时间戳,当该数据包失效后,该申请便被丢弃。

各类共享到该平台的基因组数据,一般由数据所有者和利益相关方签发各类访问许可证书,并更新和维护这些访问许可证书;各类证书包含访问次数,访问数据坐标位置,有效期等信息;各类实体之间发生的实质性的数据共享行为都将记录到区块链内。

这里说“实质性”只是为了区分该系统中一些需要广播到全区块链网络,却不一定会记入区块链中的一些数据内容,例如图3中的缓存信息,过期未得到响应,即视为未发生实质性数据共享行为。

本发明提供一个去中心化的可信平台,该平台不需要判断数据共享双方是否发生实质性数据共享行为,只需要为愿意使用该平台来共享数据的双方提供平台,后期提供给类共享日志记录。

基因组数据的共享,可以由数据所有者主动发布共享证书,也可以由数据申请者提出访问请求,由数据拥有者审核签名颁布证书。

其中,数据使用者获取访问许可证书的方式,可以是:

①数据申请者主动查找步骤2中提到的数据概述,从而使用其注册时获得的信息资料,向特定数据(满足数据申请者要求的基因数据:满足表型要求或参考基因位点坐标要求)拥有者申请访问权限。

“特定数据”是指基因数据申请者申请的特定基因数据,即满足其位点坐标要求或表型信息要求的特定基因数据。

具体判断特定数据过程:信息概述包含有数据拥有者愿意共享的数据的统计信息,申请者通过查询区块链得到各类数据拥有者的概述信息,根据自己所需数据的要求即可判断哪些数据拥有者拥有自己所需的数据,这些数据拥有者即为:拥有特定数据的数据拥有者。

②数据申请者向该区块链网络广播所需数据的表型信息,由数据拥有者根据其提供的注册信息和愿意支付的费用决定是否颁发访问许可证书。

③数据使用方和数据提供者签订具有长时间有效的许可证书,保存在区块链上,每次访问只要证书有效,就被判定为访问申请有效。

4)相关服务的提供:该管理平台主要是对基因组数据实施管理的,其所提供的服务是由接入的相关企业和组织提供的,主要包括基因测序公司提供的基因组测序服务、基因组数据托管公司提供的数据托管服务、基因组数据分析公司提供的数据分析服务、还有其他基因组数据相关的公司和科研机构等提供的其他服务。其中,这些服务使用过程中签订的协议及其他重要文件,服务提供者和服务使用方可以将这些协议或文件的摘要签名并保存在区块链上,也可以基于一定的条件签署并部署智能合约。

各类基因组数据相关服务的提供,各类接入该平台的机构可以相互之间或者是对普通用户提供各类服务,并将服务提供方和服务使用方签订的协议的摘要以及服务过程中必要的文件摘要保存到区块链中,签订的服务协议也可以写成智能合约部署到区块链上。

5)数据完整性和准确性控制机制:数据使用者在获得数据访问权限后,获得由数据提供方提供的数据内容和相应的默克尔树的分支,数据使用者根据该默克尔根的分支和记录在区块链上的默克尔树根可以检验自己所获得的数据的完整性和准确性。对于一些由位置坐标指定的基因片段,则由智能合约自动计算相应数据的摘要,和数据内容一并发送给数据访问者。

数据完整性和准确性控制,可以有两种方式:

①为了保证共享数据的完整性和准确性,各数据拥有实体需将自己的数据内容根据基因组数据的特定意义划分成片段,并将各个片段的哈希值组织成默克尔树,将默克尔根保留在区块链上,作为后期数据完整性和准确性验证的依据。

②数据申请者在取得访问许可资格后,由智能合约自动的查询相应的数据资料,并计算查询结果的哈希值,一并加密发送给数据使用方。

6)后期追溯审计:该区块链保存了基因组数据权限分配和使用过程中的各类重要信息,其中敏感的隐私信息使用密码学方法加密保存;后期对接入该系统的任何一条基因组数据都可以追溯到其使用记录和与之对应的所有授权信息。各类服务提供者和服务使用者签署的协议及其他重要的文件在区块链上保存了摘要信息,记录到区块链上的摘要信息也可以为这些文件提供存在性证明。

底层数据存储结构如下图3所示:

链上内容:

1)接入该管理平台的各个实体(包括数据提供者和数据申请者)的注册信息;

2)数据提供方的基因组数据在区块链上保存的初始化权限分配和简要概述;

3)数据拥有者对相关医疗机构等主动的授权证明;

4)数据使用方提出数据访问申请并获得数据所有者签名同意的授权证明;

5)各类授权证明的后期修改记录信息;

6)对基因数据使用的记录信息,包括访问者、访问时间等必要信息;

7)各类相关服务提供者和服务使用者签署的协议及其他重要文件的摘要信息,以及部署的智能合约等;

8)基因数据摘要的各默克尔根哈希值;

底层数据的存储分为三个部分:

①链上数据,记录到区块链内的用户注册信息、权限分配更新记录和数据使用记录等信息。

②缓存数据,对于具有短时时效意义的数据,诸如,步骤3中提到的数据使用方发起的数据访问请求在未过期且未被授权时保留在缓存数据中,也就是未发生实质性的权限改变或是数据共享事实的数据都保存在缓存数据中,直至其过期被丢弃或被授权。也有一些类似广告的信息,它们注定不会被保存到区块链中,这也属于缓存数据。

③基因组数据,对于基因组数据考虑到其数据量庞大,基因组数据保存依然使用数据库或数据仓库等,只将其完整性和准确性验证的消息在区块链上做必要的记录。

缓存内容:

缓存内容主要保存:未过期的数据的访问申请、数据需求方广播的信息等,也就是具有短期时效性的数据内容。这样做主要是考虑到区块链存储资源比较珍贵,对于该类短期有意义的数据,且后期追溯价值不高的数据,不适合记录到区块链中。

当然,接入该平台的各类实体,对于访问比较频繁的区块链数据也可以直接保留为缓存数据,以减少查询区块链原始数据的计算开销。

需要说明的是,这里的缓存内容虽然和经典区块链中的交易缓存池有相似的地方,但是其有着质的区别。

基因组数据内容:

一般,基因组数据所占据的存储空间比较大,这类信息需要使用传统的方式保留在数据库或数据仓库中,根据其特定意义划分出不同的区域,以供查询使用。其中为了保证数据使用方所获得的数据质量,基因组数据各个对应的区域产生的摘要需要在区块链上做必要的记录。又考虑到基因组数据的复杂性,因此,对基因组数据的摘要采用默克尔树的方式组织。区块链上只保存其默克尔根的值。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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