[发明专利]双缓冲模型实现大规模数据库聚类方法及系统有效
申请号: | 202010213789.4 | 申请日: | 2020-03-24 |
公开(公告)号: | CN111415708B | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | 刘卫国;徐晓明 | 申请(专利权)人: | 山东大学 |
主分类号: | G16B40/30 | 分类号: | G16B40/30;G16B50/30 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 李圣梅 |
地址: | 250101 *** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓冲 模型 实现 大规模 数据库 方法 系统 | ||
本发明公开了双缓冲模型实现大规模数据库聚类方法及系统,针对基因序列数据库进行长度递减排序;构建匹配字典:稀疏后缀数组,将一条基因序列构建稀疏后缀数组,作为字典,其它基因序列与字典后缀数组进行匹配,匹配过程中在查询序列的某个位置采取二分查找匹配搜索,并采取逆后缀数组、最小公共子前缀数组、后缀链接进行优化提升,计算所得到的匹配值达到阈值之后,即判定为冗余序列。基于大规模数据库生物基因序列的聚类操作以及去除冗余基因序列操作都会用到针对基因序列的精确匹配操作,并且针对大规模数据文件的I/O操作,双缓冲多线程并行操作能够处理上述情况下的数据快速处理。
技术领域
本发明属于数据处理技术领域,尤其涉及双缓冲模型实现大规模数据库聚类方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
基因测序数据正在以更大的速度翻倍,从而在分析基因以及健康数据的生物学大数据研究中最突出的核心问题就是数据量极大。
对于基因组的处理,就是基于基因组序列的匹配操作。对于这些数据而言,进行基因组匹配在算法上并不是特别困难的事情。然而,现在需要操作的数据是TB甚至更大级别的,换句话说,普通的机器内存中根本承载不了这么多的数据。而且对于庞大的基因数据而言,很多算法以及相关的处理也是基于除去冗余序列而进行的操作。
生物基因序列上的聚类算法操作是基于相似基因的最大精确匹配算法 (MaximalExact Matches,MEMs)来计算基因序列之间的距离。
生物基因序列处理操作,很大程度上是因为有很多冗余序列,这些序列并不代表基因多样性或者物种和蛋白质的多样性。换句话说,如此海量的数据在基因代表性中并不都是有用的。当两条序列精确匹配相似度达到某个阈值的时候,就认为这两条序列属于同一个类别,其中一条为代表序列(represent query),另外一条为冗余序列(redundantquery)。在生物意义上,默认一个类别中最长的那一条序列最具代表性,为代表序列。
本申请所要解决的技术问题是:在数据量过大的情况下,待处理的数据的读取较为耗时,如何采用双缓冲的方法在精确匹配求解相似度的程序中并行实现计算和数据读取,以计算来掩盖数据读取的时间。
发明内容
为克服上述现有技术的不足,本发明提供了双缓冲模型实现大规模数据库聚类方法,针对大规模数据文件的I/O操作,利用双缓冲多线程实现。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
双缓冲模型实现大规模数据库聚类方法,包括:
针对基因序列数据库进行长度递减排序;
在内存中建立两个缓冲区,每个缓冲区的大小和块大小相等,将整个基因序列文件预先载入两个缓冲区;
构建匹配字典:稀疏后缀数组,将一条基因序列构建稀疏后缀数组,作为字典,其它基因序列与字典后缀数组进行匹配,匹配过程中在查询序列的某个位置采取二分查找匹配搜索,并采取逆后缀数组、最小公共子前缀数组、后缀链接进行处理,实现生物基因序列的聚类,匹配过程所得到的相似度达到阈值,即判定为冗余序列。
进一步的技术方案,在两条序列进行相似度匹配的时候,默认较长的一条为代表序列,较短的一条为冗余序列,排序之后的第一条一定是代表序列,下边与其相似度到达阈值的被标记为它的冗余序列。
进一步的技术方案,将整个基因序列文件分为多个块;
将整个基因序列文件预先载入两个缓冲区,然后基于其中一个缓冲区中的数据进行计算操作的同时另一个缓冲区载入文件,然后进行相应的同步策略,在计算时间远大于I/O时间的情况下,实现计算时间对I/O时间的覆盖。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010213789.4/2.html,转载请声明来源钻瓜专利网。