基因组数据的存储传输备份管理方法及装置与流程

文档序号:26139541发布日期:2021-08-03 14:23阅读:173来源:国知局
本发明涉及基因数据管理
技术领域
:,尤其涉及一种基因组数据的存储传输备份存储管理方法。
背景技术
::随着下一代高通量测序技术的发展海量的基因组数据与日俱增,这些基因组数据在测序服务商处经历测序下机、组装拼接、通用分析、存储传输(硬盘拷贝寄返或云端释放)等流转过程,随后,在遗传诊疗研究人员处又经历接收数据(硬盘对拷或云端下载到目标盘)、清洗整理(按照遗传解读云平台对输入数据的规范要求进行手工登记和格式规范化整理)、无损校验(对数据完整性的md5校验)、数据备份(在云平台底层按来源、日期等属性信息进行备份)、导入云平台等流转过程。由此可见,高通量数据的整个生命周期链条较长、人类基因组数据过于庞大和复杂、负责测序、序列信息解读、医学遗传学解读、遗传诊疗的人员分散各地,与日激增的人类基因组测序数据需要在各处流转处理分析解读,这就需要大量的专业人员的人工参与;另外这些数据量很大,动则几百g,几个t甚至几个p,来源于不同测序公司的不同测序平台,所以数据格式、结构各异,涉及个人隐私等问题,因此对于高通量测序数据的安全稳定存储、无损高效传输、专业解读和保密性方面均提出严峻挑战。技术实现要素:本发明的目的在于提供一种基因组数据的存储传输备份管理方法及装置,能够稳定安全、高效无损的对基因组数据的流转过程进行管理。为了实现上述目的,本发明的第一方面提供一种基因组数据的存储传输备份管理装置,包括:数据接收模块,用于接收用户上传的基因组数据文件;校验核查模块,根据所述基因组数据文件的格式采用匹配的核查规则进行格式校验,并对所述基因组数据文件进行完整性检验;传输存储模块,用于构建互联互通的本地集群和远程集群,在所述本地集群和/或所述远程集群中存储所述基因组数据文件,实现对所述基因组数据文件归档管理。优选地,所述数据接收模块包括:线下接收单元,用于将包括所述基因组数据文件的存储介质与所述本地集群或所述远程集群中的节点连接,上传所述基因组数据文件;线上接收单元,用于通过客户端将所述基因组数据文件上传至所述本地集群中节点的指定目录下或上传至所述远程集群的节点中,所述指定目录下的所述基因组数据文件仅对指定的用户公开;所述基因组数据文件中包括用于表示基因组数据文件完整性的md5信息属性文件。较佳地,所述本地集群和所述远程集群通过专网结合vpn相互连接。优选地,所述校验核查模块包括:路由设置单元,用于设置多种数据路由方案,并根据用户上传基因组数据文件的方式选择其中一种数据路由方案执行所述基因组数据文件的上传流转;规范化核查单元,用于调用与基因组数据文件格式匹配的核查规则对所述基因组数据文件进行格式校验,获取格式校验通过的基因组数据文件;完整性核查单元,用于通过每个基因组数据文件对应的md5信息属性文件进行完整性校验,获取完整性检验通过的基因组数据文件。进一步地,所述传输存储模块包括:上传单元,用于根据所选的数据路由方案实现所述基因组数据文件在本地集群中的本地备份和/或在远程集群中的远程备份,所述本地备份和所述远程备份采用多任务并行处理方案;增量备份单元,用于将源端准备上传的所述基因组数据文件定义为源文件,以及将目标端备份的所述基因组数据文件定义为目标文件,识别出源文件与目标文件的增量字节部分,然后仅将增量字节部分上传至目标端;增量还原单元,用于根据目标端中接收的增量字节部分及对照的目标文件还原出源文件;归档管理单元,用于将目标端还原的源文件备定义为目标文件后分类存储。优选地,识别出源文件与目标文件的增量字节部分,然后仅将增量字节部分上传至目标端的方法包括:s1:将目标文件按照固定尺度切分成多个目标字节块并编号,采用弱校验和算法对各编号的目标字节块进行弱哈希计算,以及采用强校验和算法对各编号的目标字节块进行强哈希计算,同时将所述弱校验和算法、强校验和算法、目标字节块编号及对应的哈希值打包发送至源端;s2:以所述固定尺度为窗口从源文件中的第1个字节开始截取源字节块并采用弱校验和算法进行弱哈希计算,在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果相同时,再采用强校验和算法进行强哈希计算,直至当前源字节块的强哈希计算结果与所述目标字节块的强哈希计算结果也相同时,对当前源字节块进行顺序编号并认为当前源字节块与目标字节块相同,同时记录所述当前源字节块与所述目标字节块的编号匹配关系,顺移至下一个固定尺度重新截取源字节块并重复上述哈希计算;s3:在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果不同时,则以固定尺度为窗口顺移1个字节截取源字节块并采用弱校验和算法进行弱哈希计算,在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果相同时,再采用强校验和算法进行强哈希计算,直至当前源字节块的强哈希计算结果与所述目标字节块的强哈希计算结果也相同时,对当前源字节块进行顺序编号并认为当前源字节块与目标字节块相同,同时记录所述当前源字节块与所述目标字节块的编号匹配关系;s4:提取源文件中未被匹配的字节作为增量字节部分,连同各未被匹配字节与各编号源字节块的关系一同上传至目标端。与现有技术相比,本发明提供的基因组数据的存储管理装置具有以下有益效果:本发明提供的基因组数据的存储传输备份管理装置,由数据接收模块、校验核查模块和传输存储模块组成,其中,数据接收模块用于接收用户通过线上方式或线下方式上传的基因组数据文件,然后由校验核查模块根据基因组数据文件的格式采用匹配的核查规则进行格式校验,并对基因组数据文件进行完整性检验,当格式校验和完整性检验均通过后,然后将合格的基因组数据文件上传至本地集群和/或远程集群中流转保存。本发明应用后,极大程度的解决了高通量测序基因组大数据存储、传输、导入、备份、归档管理的低效、人员手工繁杂操作易出错等问题,保证了基因组数据的私密性、安全性、高效性,可实现全流程自动化,突破了基因组数据流转、管理、使用和消化的瓶颈,终结了高通量基因组大数据仅用硬盘与硬盘之间物理对拷的时代,提高了遗传辅诊解读云平台的消化和服务能力。本发明的第二方面提供一种基因组数据的存储传输备份管理方法,应用于上述技术方案所述的基因组数据的存储传输备份管理装置中,所述方法包括:接收用户上传的基因组数据文件;根据所述基因组数据文件的格式采用匹配的核查规则进行格式校验,并对所述基因组数据文件进行完整性检验;构建互联互通的本地集群和远程集群,在所述本地集群和/或所述远程集群中存储所述基因组数据文件,实现对所述基因组数据文件归档管理。优选地,构建互联互通的本地集群和远程集群,在所述本地集群和/或所述远程集群中存储所述基因组数据文件,实现对所述基因组数据文件归档管理的方法包括:根据所选的数据路由方案实现所述基因组数据文件在本地集群中的本地备份和/或在远程集群中的远程备份,所述本地备份和所述远程备份采用多任务并行处理方案;将源端准备上传的所述基因组数据文件定义为源文件,以及将目标端备份的所述基因组数据文件定义为目标文件,识别出源文件与目标文件的增量字节部分,然后仅将增量字节部分上传至目标端;根据目标端中接收的增量字节部分及对照的目标文件还原出源文件;将目标端还原的源文件备定义为目标文件后分类存储。较佳地,识别出源文件与目标文件的增量字节部分,然后仅将增量字节部分上传至目标端的方法包括:s1:将目标文件按照固定尺度切分成多个目标字节块并编号,采用弱校验和算法对各编号的目标字节块进行弱哈希计算,以及采用强校验和算法对各编号的目标字节块进行强哈希计算,同时将所述弱校验和算法、强校验和算法、目标字节块编号及对应的哈希值打包发送至源端;s2:以所述固定尺度为窗口从源文件中的第1个字节开始截取源字节块并采用弱校验和算法进行弱哈希计算,在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果相同时,再采用强校验和算法进行强哈希计算,直至当前源字节块的强哈希计算结果与所述目标字节块的强哈希计算结果也相同时,对当前源字节块进行顺序编号并认为当前源字节块与目标字节块相同,同时记录所述当前源字节块与所述目标字节块的编号匹配关系,顺移至下一个固定尺度重新截取源字节块并重复上述哈希计算;s3:在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果不同时,则以固定尺度为窗口顺移1个字节截取源字节块并采用弱校验和算法进行弱哈希计算,在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果相同时,再采用强校验和算法进行强哈希计算,直至当前源字节块的强哈希计算结果与所述目标字节块的强哈希计算结果也相同时,对当前源字节块进行顺序编号并认为当前源字节块与目标字节块相同,同时记录所述当前源字节块与所述目标字节块的编号匹配关系;s4:提取源文件中未被匹配的字节作为增量字节部分,连同各未被匹配字节与各编号源字节块的关系一同上传至目标端。与现有技术相比,本发明提供的基因组数据的存储传输备份管理方法的有益效果与上述技术方案提供的基因组数据的存储传输备份管理装置的有益效果相同,在此不做赘述。本发明的第三方面提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述基因组数据的存储传输备份管理方法的步骤。与现有技术相比,本发明提供的计算机可读存储介质的有益效果与上述技术方案提供的基因组数据的存储传输备份管理方法的有益效果相同,在此不做赘述。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为本发明实施例中基因组数据的存储传输备份管理装置的结构示意图;图2为本发明实施例中基因组数据在本地集群或远程集群中流转的示意图;图3为本发明实施例中识别出源文件与目标文件的增量字节部分的流程示意图。附图标记:1-数据接收模块,2-校验核查模块;3-传输存储模块,11-线下接收单元;12-线上接收单元,21-路由设置单元;22-规范化核查单元,23-完整性核查单元;31-上传单元,32-增量备份单元;33-增量还原单元,34-归档管理单元。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。实施例一请参阅图1,本实施例提供一种基因组数据的存储传输备份管理装置,包括:数据接收模块1,用于接收用户上传的基因组数据文件;校验核查模块2,根据基因组数据文件的格式采用匹配的核查规则进行格式校验,并对基因组数据文件进行完整性检验;传输存储模块3,用于构建互联互通的本地集群和远程集群,在本地集群和/或远程集群中存储基因组数据文件,实现对基因组数据文件归档管理。本实施例提供的基因组数据的存储管理装置,由数据接收模块1、校验核查模块2和传输存储模块3组成,其中,数据接收模块1用于接收用户通过线上方式或线下方式上传的基因组数据文件,然后由校验核查模块2根据基因组数据文件的格式采用匹配的核查规则进行格式校验,并对基因组数据文件进行完整性检验,当格式校验和完整性检验均通过后,然后将合格的基因组数据文件上传至本地集群和/或远程集群中保存。本实施例应用后,极大程度的解决了高通量测序基因组大数据存储、传输、导入、备份、归档管理的低效、人员手工繁杂操作易出错等问题,保证了基因组数据的私密性、安全性、高效性,可实现全流程自动化,突破了基因组数据流转、管理、使用和消化的瓶颈,终结了高通量基因组数据仅用硬盘与硬盘之间物理对拷的时代,提高了遗传辅诊解读云平台的消化和服务能力。上述实施例中的数据接收模块1包括:线下接收单元11,用于将包括基因组数据文件的存储介质与本地集群或远程集群中的节点连接,上传基因组数据文件;线上接收单元12,用于通过客户端将基因组数据文件上传至本地集群中节点的指定目录下或上传至远程集群的节点中,指定目录下的基因组数据文件仅对指定的用户公开;基因组数据文件中包括用于表示基因组数据文件完整性的md5信息属性文件。具体实施时,基因组数据从测序公司释放后,可通过线上或线下的方式提交基因组数据文件,例如,线上为通过客户端完成上传操作,线下为通过将下载有基因组数据文件的硬盘邮寄至本地集群管理中心或远程集群管理中心,由管理人员将硬盘插入集群节点中完成上传操作。具体来说,线下接收单元11主要用于在测序公司释放高通量的基因组数据文件后,由用户(测序公司)将基因组数据存储到硬盘介质中,然后将硬盘送到本地集群管理中心或远程集群管理中心,由管理人员将硬盘插入节点(包括本地集群节点或远程集群节点),然后打开web网页登录系统后,系统可自动检测硬盘插入节点的位置,并自动发邮件通知当前登录用户和管理员,示例性地,通知内容包括:硬盘插入的节点名称、挂载硬盘设备的名称、数据的完整路径、卸载硬盘的命令、完整的文件夹目录结构、递归展示所有插入节点的硬盘、基因组数据文件的所有子文件夹和文件详细信息等。同时生成报告内容,报告内容包括文件清单、文件大小和数量、采用md5文件来核查数据文件的完整性信息。例如,基因组数据文件的规范化目录结构包括原始数据(rawdata)、清理后的数据(cleandata)、二进制格式的序列比对文件(bam),基因组浏览器数据browserextensibledata(bed)、质控等相关报告(qcreport)。线上接收单元12可以开发成客户端,客户端安装在测序公司的电脑上,该客户端可以跨windows、macosx和linux平台使用。用户通过登陆客户端,输入用户信息,如ip、用户名、密码等,将基因组数据文件拖拽至指定区域上传到本地集群或远程集群中默认的用户目录下,保证数据的私密性。该线上接收单元12兼容ftp网络传输协议,内置tcp/udp加速传输协议,更加有效地利用internet和vpn连接传输节点,最大程度的减少数据传输和管理时间,最佳的匹配了网络传输路径,不存在延迟和丢包情况。同时通过客户端输入的用户信息,可将基因组数据文件上传至用户的指定目录下,保证该用户数据的私密性,如果连接中断,自动支持断点续传,系统也可以自动根据传输优先级控制带宽。系统可以自动检查每个用户指定目录下的文件数目、大小、质量,并输出文件目录结构清单,方便用户与《基因组数据文件提交规范》做比对校验。系统自动进行快速的数据质量检查,质量不合格的文件通过报告反馈,只有符合这个规范的数据文件才能顺利和批量提交和导入到系统中。对于通过客户端上传的基因组数据,每个用户只能可见自己的文件夹数据,系统自动监测该文件夹,只要有新数据文件上传即可通过在线的数据导入工具进行数据存储传输备份工作。上述实施例中,校验核查模块2包括:路由设置单元21,用于设置多种数据路由方案,并根据用户上传基因组数据文件的方式选择其中一种数据路由方案执行基因组数据文件的上传流转;规范化核查单元22,用于调用与基因组数据文件格式匹配的核查规则对基因组数据文件进行格式校验,获取格式校验通过的基因组数据文件;完整性核查单元23,用于通过每个基因组数据文件对应的md5信息属性文件进行完整性校验,获取完整性检验通过的基因组数据文件。具体实施时,本地集群和远程集群通过专网结合vpn相互连接,集群内部各节点之间通过ssh和keygen工具为各个节点生成公钥和密钥,实现各个节点之间的连接、安全登录和跳转功能。系统中只需要页面端点选参数设置文件,指定自动导入和备份流程的路由及其他转储备份参数,系统会自动选择其中一种数据路由方案导入备份操作。路由设置单元21是根据数据接收方式和导入系统的目的来设置的数据路由方案,示例性地,设置的6种数据路由方案如下表所示:如图2所示,以第1种方案为例说明,通过线下方式将基因组数据文件提交至本地m集群备份,采用的对接方式为硬盘直插节点的方式完成上传,在本地m集群备份完成后还需在远程p集群上做异地备份,数据路由方案为①+②+③+⑨+④,云分析平台采用pgenomics平台,且分别在①②③阶段分别执行数据完整性校验。另外,本实施例提供的6种数据路由方案,可由用户或者管理人员手动点选设置,当用户或者管理人员未手动点选时,将第1种方案作为默认方案执行用户上传基因组数据文件的备份操作。当硬盘直插到集群中的某一节点后,系统可以自动识别新增硬盘的盘符,并给出核查报告清单。对于远程终端上传的数据,系统可以自动读取指定路径下的数据文件,通过导入工具自动化增量同步到本地集群和远程集群,同时导入到设定方案里指定的云分析平台进行数据分析。规范化核查单元22,只有符合数据组织结构规范的基因组数据才能够导入并上传到系统中,不同测序服务机构产出的高通量基因组数据形式结构各异,因此系统自动需要对基因组数据文件组织结构进行规范化核查,统一组织成目录结构。系统会自动对接收的数据的格式做规范化检查和数据完整性校验。规范化检查内容包括:目录结构是否规范、数据文件属性信息文件是否规范。对于不规范数据的处理:系统输出不规范文件目录检查报告,一目了然,便于管理人员查看和依据报告进行整理并规范化。示例性地,《基因组数据文件提交规范》如下:rawdata:所有文件直接放置于rawdata文件夹中,每个样品为一个目录,目录名称为样本编号;每个样品测序的所有原始数据都存放在一个目录下;每一个fq文件应具有md5值;cleandata(fastq文件):所有文件直接放置于cleandata(或fastq)文件夹中,无需每个样本单独建立子目录;分批测序或来源不同lane的数据需进行合并,每个样本只提供合并后的r1和r2两个fq文件,并进行gz压缩;目录下需附有样本信息表fastq_info.txt,该文件中的列之间使用制表符分隔,包括以下几列信息:fastq_name(fastq文件的名称),附后缀md5(fastq文件的md5值),sample_id(fastq文件对应的样本编号,可由英文、数字和“_”组成),pair_end(fastq文件双端测序方向,1和2),sequencing_platform(fastq文件产生的测序平台),type(测序范围类型,wgs、wes、靶向区域测序等);bam文件:所有文件直接放置于bam文件夹中,无需每个样本单独建立目录。目录下需附有样本信息表bam_info.txt,该文件中的列之间使用制表符分隔,包括以下几列:bam_name(bam文件的名称,附后缀),md5(bam文件的md5值),sample_id(bam文件对应的样本编号,可由英文、数字和“_”组成)。bed文件:如果是靶向测序,应提供捕获区域的bed文件。bed文件应至少包括以下3列信息:chr(染色体号)、start(hg19版本数据的起始物理位置)、end(hg19版本数据的终止物理位置)。report:含质控报告和通用流程给出的分析报告等文件,所有质控文件直接放置于report文件夹中,无需每个样本单独建立目录。完整性核查单元23,系统自动通过每个基因组数据文件对应的md5信息属性文件的md5值,对所有基因组数据文件进行完整性校验,同时会自动校验样本编号和fq文件对应关系的属性文件,确保样本测序数据的完整无损正确导入,最后系统会自动给出完整性检查报告一览表,方便用户做数据预处理,也为后续正确快速的分析数据打下坚实基础。上述实施例中,传输存储模块3包括:上传单元31,用于根据所选的数据路由方案实现基因组数据文件在本地集群中的本地备份和/或在远程集群中的远程备份,本地备份和远程备份采用多任务并行处理方案;增量备份单元32,用于将源端准备上传的基因组数据文件定义为源文件,以及将目标端备份的基因组数据文件定义为目标文件,识别出源文件与目标文件的增量字节部分,然后仅将增量字节部分上传至目标端;增量还原单元33,用于根据目标端中接收的增量字节部分及对照的目标文件还原出源文件;归档管理单元34,用于将目标端还原的源文件备定义为目标文件后分类存储。可以理解的是,源端与目标端属于相对概念,目标端既可以为本地集群也可以为远程集群,当用户将基因组数据文件上传至本地集群备份时,相对于用户端此处的目标端即为本地集群,当本地集群中的基因组数据文件在远程集群备份时,此处的目标端即为远程集群。请参阅图3,上述实施例中,识别出源文件与目标文件的增量字节部分,然后仅将增量字节部分上传至目标端的方法包括:s1:将目标文件按照固定尺度切分成多个目标字节块并编号,采用弱校验和算法对各编号的目标字节块进行弱哈希计算,以及采用强校验和算法对各编号的目标字节块进行强哈希计算,同时将所述弱校验和算法、强校验和算法、目标字节块编号及对应的哈希值打包发送至源端;s2:以所述固定尺度为窗口从源文件中的第1个字节开始截取源字节块并采用弱校验和算法进行弱哈希计算,在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果相同时,再采用强校验和算法进行强哈希计算,直至当前源字节块的强哈希计算结果与所述目标字节块的强哈希计算结果也相同时,对当前源字节块进行顺序编号并认为当前源字节块与目标字节块相同,同时记录所述当前源字节块与所述目标字节块的编号匹配关系,顺移至下一个固定尺度重新截取源字节块并重复上述哈希计算;s3:在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果不同时,则以固定尺度为窗口顺移1个字节截取源字节块并采用弱校验和算法进行弱哈希计算,在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果相同时,再采用强校验和算法进行强哈希计算,直至当前源字节块的强哈希计算结果与所述目标字节块的强哈希计算结果也相同时,对当前源字节块进行顺序编号并认为当前源字节块与目标字节块相同,同时记录所述当前源字节块与所述目标字节块的编号匹配关系;s4:提取源文件中未被匹配的字节作为增量字节部分,连同各未被匹配字节与各编号源字节块的关系一同上传至目标端。具体实施时,上传单元31用户根据上述所选的数据路由方案在本地集群和远程集群做数据传输、存储和镜像备份,备份目录保持一致,备份过程中保持不变。备份按照月份新建目录,每备份完成一步路由,就做一次md5文件完整性校验,校验不通过时,给出结果报告方便用户重新发起传输。数据自动上传到方案设定的指定目录下。根据数据所属用户权限不同,数据可见范围和可使用范围不同。本地备份和远程备份可以是多任务并行处理的,系统会根据计算资源自动排队调度任务运行的功能。所有本地备份的文件在导入的同时会自动在系统中做痕迹登记记录;登记信息包括:文件名称、md5、备份时间、本地备份目录路径(m)、远程备份目录路径(p)、文件大小、分析平台项目链接;例如,文件名称为databackup.tsv,存放于数据备份相应的日期目录下。系统也会相应的有备份任务执行的日志文件,存储到该目录下面。上传单元31可以实现本地集群节点间同步以及远程同步功能,在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。该上传单元31集成rsync算法,实现了本地集群节点之间以及本地集群和远程集群服务器数据的快速同步,通过rsh、ssh或直接端口输入方式传输文件,保密性好。能更新整个目录,并根据参数选择来保持符号链、硬链接、文件属性、权限、设备、时间等,可以批量传输多个文件,节省传输等待排队时间,打包成为一个理想的镜像工具。同时可以实现scp的远程拷贝、cp的本地拷贝等功能。该上传单元31用于实现本地集群和远程集群上的文件同步(包括本地推到远程,远程拉到本地两种同步方式),也可以实现本地不同路径下文件的同步实现数据的增量备份,通过设置操作系统的任务计划,该上传单元31可以实现定时或间隔同步,该上传单元31还内嵌inotify或sersync工具,可以实现事件(时间触发、参数文件触发、硬盘挂载触发等方式)触发式的实时同步。如果想实现目标主机上的文件和本地文件保持同步,则是以本地文件为同步基准,将本地文件作为源文件推送到目标主机上。反之,如果想让本地主机上的文件和目标主机上的文件保持同步,则目标主机上的文件为同步基准,实现方式是将目标主机上的文件作为源文件拉取到本地。同时还需要保持本地的两个文件相互同步,在同步过程中必然会涉及到源和目标两文件之间版本控制的问题等等。rsync同步过程中会自动按照指定规则来检查哪些文件需要被同步,使用"quickcheck"算法快速检查源文件和目标文件的大小、mtime(修改时间)是否一致,如果不一致则需要传输,检查模式的参数是可以自定义设置的。rsync有三种工作方式:(1)本地文件系统上实现同步,调用命令语法格式有"local"段的格式。(2)本地主机使用远程shell和远程主机通信,调用命令行语法格式为上述"accessviaremoteshell"段的格式。(3)本地主机通过网络套接字连接远程主机上的rsyncdaemon,命令行语法格式为上述"accessviarsyncdaemon"段的格式。前两者的本质是通过管道通信,即远程shell。而方式(3)则是让远程主机上运行rsync算法服务,使其监听在一个端口上,等待客户端的连接。(4)通过远程shell也能临时启动一个rsyncdaemon,这不同于方式(3),它不要求远程主机上事先启动rsync服务,而是临时派生出rsyncdaemon,它是单用途的一次性daemon,仅用于临时读取daemon的配置文件,当此次rsync同步完成,远程shell启动的rsyncdaemon进程也会自动消逝。此通信方式的命令语法格式为"accessviarsyncdaemon”和“options”部分须明确指定"--rsh"选项。rsync算法可通过lan/wan快速同步多台主机间的文件。通过使用“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。因此系统具有很多优点:1、可以镜像保存整个目录树和文件系统;2、可以保留原有的权限(permission,mode,owner,group),时间(修改时间,modifytime),软硬链接,文件acl,文件属性(attributes)信息等;3、传输效率高,使用同步算法只比较发生变化的内容;4、支持匿名传输,方便网站镜像,也可以做验证,加强安全;5、rsync同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级快;6、rsync异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘;7、rsync远程同步:remotesynchronous,契合了现在使用的存储系统,读写瓶颈的问题,改为对象存储方式,曾经让人们最头疼的就是数据迁移与异地备份;8、基于独有的“rsync”算法实现快速增量同步;9、基于开源协议,安装、配置、集成非常简单;10、强大的参数支持,可以在同步过程中自定义实现保留符号链接、硬链接、权限、时间、归属等信息,非常方便;11、配置文件可完成密码访问、读写权限、ip控制等安全限制,保证了敏感数据的安全性和私密性;12、基于“rsync”算法,实现文件同步的数据完整性,支持目录同步、压缩同步及递归拷贝常见使用场景。因此系统集成的rsync是linux下同步文件的一个高效算法,用于同步更新两处计算机的文件和目录,并适当利用查找文件中的不同块以减少数据传输。“rsync”的主要特点就是增量传输,只对变更的部分进行传送,因此效率更高,速度更快。考虑到基因组数据文件为大数据文件,为了实现大数据文件的高效传输本实施例引入增量备份单元32,假如现在需要同步两个文件保持一致,并且只想传送不同的部分,那么就需要对两边的文件做diff(different),但是这两个文件分别在两台不同的机器上,无法做diff。如果做diff,就要把一个文件传到另一台机器上做diff,但这样一来,就传输了整个文件,这与只想传输不同部分的初衷相背。于是就要想一个办法,让这两边的文件见不到面,但还能知道它们之间有什么不同。这就是rsync的算法,rsync的算法步骤如下:假设同步的源文件名为filesrc,同步目标文件叫filedst。1、分块checksum算法首先,把filedst的文件平均切分成若干个目标字节块,比如每块512个字节(最后一块会小于这个数),然后对每块计算两次校验和,一个叫rollingchecksum,属于弱校验和算法,是32位的checksum,其使用的是markadler发明的adler-32算法,另一个是强校验和算法,是128位的checksum,如md5checksum。也就是说,弱校验和算法是用来区别不同,而强校验和算法是用来确认相同的。2、传输算法目标端会把filedst的一个checksum列表传给同步源端,这个列表里包括了三个东西,弱校验和算法rollingchecksum(32bits),强校验和算法md5checksum(128bits),目标字节块编号及分别采用弱校验和算法以及强校验和算法对各块目标字节块计算哈希值。源端拿到了这个列表后,会对filesrc做同样的校验和运算,然后和filedst的校验和运算结果做对比,这样就可以查找出哪些文件块发生改变了。3、checksum查找算法源端拿到filedst的列表后,会把这个数据存到一个hashtable中。4、比对算法4.1:取filesrc的第一个源字节块(假设是512个长度),也就是从filesrc的第1个字节到第512个字节,取出来后做rollingchecksum计算。计算好的值到hashtable表中查;4.2、如果查到了,说明发现在filedst中有潜在相同的文件块,于是再比较md5checksum,因为rollingchecksume太弱了,可能发生碰撞。故还要算md5的128bits的校验和。如果rollingchecksum和md5checksum都相同,这说明在filedst中有相同的块,需要记下这一块在filedst下的文件编号;4.3、如果filesrc的rollingchecksum没有在hashtable中找到,那就不用算md5checksum了。表示这一块中有不同的信息。总之,只要rollingchecksum或md5checksum其中有一个在filedst的列表中找不到匹配项,那么就会触发算法对filesrc的滚动(rolling)动作。于是,算法会住后移1个字节,取filesrc中字节2-513的文件块做校验和,转往执行4.1步骤;4.4、这样就可以找出filesrc相邻两次匹配中的那些文本字符,这些就是要往目标端同步的文件内容了。rsync的主要算法之一—rollingchecksum算法的内容如下:该算法也叫rabin-karp算法,由richardm.karp和michaelo.rabin在1987年发表,它也是用来解决多模式串匹配问题的。其中最核心的理念是,当往后移动1个字符的时候,不用全部重新计算所有的校验和(checksum),也就是说,从[0,512]rolling到[1,513]时,不需要重新计算从1到513的checksum,而是重用[0,512]的checksum直接算出来。公式是:其中的b是一个常数基数,在rabin-karp算法中,一般取值为256。于是,在计算hash(t[1,m])时,只需要带入下式:这样,就可以找出filesrc相邻两次匹配中发生变化的文件块了,这些就是要往目标端同步的文件内容。rsync的主要算法之二—基于md5信息摘要算法(md5checksum)的内容如下:基于md5码的应用程序数据备份还原系统,将输入文件通过md5信息摘要算法计算出各个文件的md5值,然后连同应用程序的版本号,相关所有文件名称以及对应存在的目录路径备份存储在云端服务器上,文件信息md5计算模块,获取应用程序安装路径下和数据目录所有文件信息,将这些文件通过md5信息摘要算法计算出各个文件的md5值,第一数据获取及版本映射模块,所有的数据记录保存下来,将第一存储数据包和应用程序版本号构成映射关系。如果数据更新和下载回复时,通过比较md5值,如果一致,则下载更新,不一致则报告。差异文件比对指各个文件与备份存储的各个文件md5进行比对,查找出md5不同的差异文件,最终,在源端rsync算法可能会得到如图3的数据数组,阴影色块表示在目标端已匹配上,不用传输(注:在其中显示了两块chunk#5),而白色的地方就是需要传输的内容(注意:这些白色的块是不定长的),这样,源端把这个数组(白色的就是实际内容,红色的就放一个标号)压缩传到目标端,目标端的rsync会根据这个表生成还原文件,至此同步完成。归档管理单元34,用于所有异地备份的文件应进行追加登记,登记信息包括:文件名称、md5、备份时间、备份目录路径(m)、备份目录路径(p)、文件大小、分析平台项目链接;登记文件名称为databackup.tsv,存放于服务器指定目录下。databackup.tsv文件在每个任务完成后进行实时同步。日志:每个目录的备份任务应有日志文件,单独存放于“../databackup/record/log”路径下。日志文件按照月份存放。根据设定的参数文件信息确定数据存储、传输、备份、管理,便于后续导入分析平台进行分析解读。(1)数据备份信息登记:登记信息按照已有表格填写,包括数据备份时间、m和p异地备份的目录位置、数据所有者、第三方检测服务提供商、检测平台;(2)数据质量不合格和合并处理的样本,要进行登记;可追加到所有数据list的文件中;(3)数据上传信息登记,登记表格需增加上传分析平台的链接,方便分析平台到原始备份目录的溯源。(4)导入归档与用户权限角色分级管理,report.tsv文件内容:字段名称、系统默认名称+时间戳、数据提交规范类型(医院提交数据规范和测序服务商提交数据规范)、导入自节点插硬盘的位置(本地集群、远程集群)、数据路径、挂载盘位置、是否导入到分析云平台(如果勾选,就导入数据到当前平台下,如果不勾选,则只做数据备份,备份位置在incoming同级目录backup,文件夹命名规则就是“数据标识符字段”);backup目录会在p集群自动同步,每12小时同步,备份记录文件在backup/records.tsv;在p集群运行自动化存储传输备份系统,导入记录和备份就添加到p集群节点下,在m集群上运行自动化存储传输备份系统,就添加到m集群节点下,每隔12小时同步一次;p.records.tsv文件是追加的所有记录大文件,分开的子目录中有每次导入的单独记录;导入记录文件在前台的管理--其他文件浏览器下面链接文件可以下载到本地。备份时,系统自动记录的信息如下:文件大小,md5值,家系编号,样本编号,父亲编号,母亲编号,性别,先证者,后台警示信息、数据导入时间、接收时间、提交数据的单位、提交数据的联系人、联系人手机号、联系人邮箱、传输备份完成后是否发邮件通知、是否需要做数据规范化格式校验核查、测序服务商、数据上传人员、用户名、数据管理员角色、数据上传人员姓名、导入备注、文本框、其他需要补充信息、备份路径、分析平台链接、备份方式:(1)仅主机备份;(2)主机备份+异地备份;(3)主机备份+上传分析平台;(4)主机备份+异地备份+上传分析平台等等情况。以上信息全部自动记录到后台的实时日志,数据备份目录有权限分级管理,数据导入传输备份过程状态均有实时显示,方便数据管理员和用户使用。系统支持数据导入备份任务的串行和并行两种方式,出错任务也会有后台日志报出。综上,使用上述实施例方案后,极大程度的解决了高通量测序基因组大数据存储、传输、导入、备份、归档管理的低效,人员手工繁杂操作易出错,且没有痕迹留存,另外也解决了无缝对接后续分析平台的数据导入上传问题,使得基因组大数据全生命周期的存储、传输、管理、备份、分析解读的闭环,保证了数据的私密性、安全性、高效性,以及全流程的自动化,突破了基因组大数据管理使用和消化的瓶颈,终结了高通量基因组大数据仅用硬盘与硬盘之间物理对拷的时代,提高了遗传辅诊解读云平台的消化和服务能力。实施例二本实施例提供一种基因组数据的存储传输备份管理方法,包括:接收用户上传的基因组数据文件;根据所述基因组数据文件的格式采用匹配的核查规则进行格式校验,并对所述基因组数据文件进行完整性检验;构建互联互通的本地集群和远程集群,在所述本地集群和/或所述远程集群中存储所述基因组数据文件,实现对所述基因组数据文件归档管理。优选地,构建互联互通的本地集群和远程集群,在所述本地集群和/或所述远程集群中存储所述基因组数据文件,实现对所述基因组数据文件归档管理的方法包括:根据所选的数据路由方案实现所述基因组数据文件在本地集群中的本地备份和/或在远程集群中的远程备份,所述本地备份和所述远程备份采用多任务并行处理方案;将源端准备上传的所述基因组数据文件定义为源文件,以及将目标端备份的所述基因组数据文件定义为目标文件,识别出源文件与目标文件的增量字节部分,然后仅将增量字节部分上传至目标端;根据目标端中接收的增量字节部分及对照的目标文件还原出源文件;将目标端还原的源文件备定义为目标文件后分类存储。较佳地,识别出源文件与目标文件的增量字节部分,然后仅将增量字节部分上传至目标端的方法包括:s1:将目标文件按照固定尺度切分成多个目标字节块并编号,采用弱校验和算法对各编号的目标字节块进行弱哈希计算,以及采用强校验和算法对各编号的目标字节块进行强哈希计算,同时将所述弱校验和算法、强校验和算法、目标字节块编号及对应的哈希值打包发送至源端;s2:以所述固定尺度为窗口从源文件中的第1个字节开始截取源字节块并采用弱校验和算法进行弱哈希计算,在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果相同时,再采用强校验和算法进行强哈希计算,直至当前源字节块的强哈希计算结果与所述目标字节块的强哈希计算结果也相同时,对当前源字节块进行顺序编号并认为当前源字节块与目标字节块相同,同时记录所述当前源字节块与所述目标字节块的编号匹配关系,顺移至下一个固定尺度重新截取源字节块并重复上述哈希计算;s3:在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果不同时,则以固定尺度为窗口顺移1个字节截取源字节块并采用弱校验和算法进行弱哈希计算,在当前源字节块的弱哈希计算结果与任一目标字节块的弱哈希计算结果相同时,再采用强校验和算法进行强哈希计算,直至当前源字节块的强哈希计算结果与所述目标字节块的强哈希计算结果也相同时,对当前源字节块进行顺序编号并认为当前源字节块与目标字节块相同,同时记录所述当前源字节块与所述目标字节块的编号匹配关系;s4:提取源文件中未被匹配的字节作为增量字节部分,连同各未被匹配字节与各编号源字节块的关系一同上传至目标端。与现有技术相比,本发明实施例提供的基因组数据的存储传输备份管理方法的有益效果与上述实施例一提供的基因组数据的存储传输备份管理装置的有益效果相同,在此不做赘述。实施例三本实施例提供一种计算机可读存储介质,计算机可读存储介质上存储传输备份有计算机程序,计算机程序被处理器运行时执行上述基因组数据的存储传输备份管理方法的步骤。与现有技术相比,本实施例提供的计算机可读存储介质的有益效果与上述技术方案提供的基因组数据的存储传输备份管理方法的有益效果相同,在此不做赘述。本领域普通技术人员可以理解,实现上述发明方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,上述程序可以存储于计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而的存储介质可以是:rom/ram、磁碟、光盘、存储卡等。以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1