当前位置: 首页 > 专利查询>中山大学专利>正文

一种面向科学大数据的索引生成方法和检索方法技术

技术编号:22531795 阅读:20 留言:0更新日期:2019-11-13 09:06
本发明专利技术涉及一种面向科学大数据的索引生成方法和检索方法,包括以下步骤:根据各个数据块的热度确定其中若干个数据块为热点数据块;根据热点数据块的连续情况将热点数据块和与该热点数据块邻近的数据块进行合并;根据合并后的数据块生成数据索引或更新原有的数据索引。本发明专利技术既可以防止数据块太大而导致检索时过多冗余信息进入磁盘而增加数据过滤的开销,又可以防止数据块太小而导致检索时增加磁盘访存的开销,更加充分利用计算机的计算资源,大大提高了科学大数据的检索效率。

An index generation and retrieval method for scientific big data

The invention relates to an index generation method and a retrieval method for scientific big data, which comprises the following steps: determining a number of data blocks as hot data blocks according to the heat degree of each data block; merging the hot data block and the data block adjacent to the hot data block according to the continuity of the hot data block; generating or updating the data index according to the merged data block The original data index. The invention can not only prevent too large data block from causing too much redundant information to enter the disk during retrieval and increase the cost of data filtering, but also prevent too small data block from increasing the cost of disk access during retrieval, make full use of computer computing resources, and greatly improve the retrieval efficiency of scientific big data.

【技术实现步骤摘要】
一种面向科学大数据的索引生成方法和检索方法
本专利技术涉及数据检索
,更具体地,涉及一种面向科学大数据的索引生成方法和检索方法。
技术介绍
目前数据检索的常用办法主要有位图检索、B-Tree检索、哈希检索以及块索引。采用位图检索的时候,本身索引文件很大,特别是数据集中基数大的时候,索引文件本身的大小可能已经超过原始数据的大小,这样导致索引存储的时候占据大量的空间,同时在检索过程中,读取数据的时候,需要读取大量的索引文件,这样导致检索效率下降,计算节点使用效率变低。B-Tree检索主要是针对读写负载均衡的应用,但是目前的科学大数据分析读写负载不均衡,采用B-Tree会导致索引性能浪费,且B-Tree不能很好支持并行。因此,B-Tree检索不适用于科学大数据分析。哈希索引是用于点查询,科学数据的读取往往是连续的,需要取多个连续数据,哈希函数的记录排序都是经过哈希函数计算出来,没有一定的顺序。因此,哈希索引也不适合科学大数据分析。块索引检索是根据检索条件,每次若干个数据块进行,每次检索的数据块大小相同,没有利用数据的特点进行检索。针对科学大数据分析,目前常用的是双层索引方式,结合了块索引粗粒度查询和位图索引细粒度查询的优点。但是现有针对数据块的双层索引方式通常是在建立索引过程中,预先设置数据块的大小,然后针对数据块的大小建立双层索引。在检索的过程中,通过双层索引确定数据的范围。而数据块大小,只能是按照经验大概进行设计。科学数据块被检索进程读取进内存时,数据块大小对性能有较大的影响。在海量科学数据的建立索引的时候,很难预测最佳数据块大小。在无法准确预知哪些数据会被访问到的情况下,无法确定数据块大小应该设计偏大还是偏小。当数据块大小设置过大的时候,I/O吞吐量较大,进行磁盘访问的次数减少,这样导致大部分冗余信息读取进入磁盘中,在检索约束进行候选检查时,需要耗费大量的计算资源去过滤数据。当数据块大小设置过小的时候,I/O吞吐量较小,每次读入内存的冗余数据较少,但是需要多次访问磁盘,增加I/O磁盘访问开销。即使超级计算机天河二号A的I/O带块的峰值有500GB/s。但是相对于其每秒上亿次的计算速度来说,还是相对很慢的,其磁盘的访问速率远低于内存的计算速度。
技术实现思路
本专利技术旨在克服上述现有技术的至少一种缺陷(不足),提供一种面向科学大数据的索引生成方法和检索方法,既可以防止数据块太大而导致检索时过多冗余信息进入磁盘而增加数据过滤的开销,又可以防止数据块太小而导致检索时增加磁盘访存的开销,更加充分利用计算机的计算资源,大大提高了科学大数据的检索效率。本专利技术采取的技术方案是:一种面向科学大数据的索引生成方法,包括以下步骤:根据各个数据块的热度确定其中若干个数据块为热点数据块;根据热点数据块的连续情况将热点数据块和与该热点数据块邻近的数据块进行合并;根据合并后的数据块生成数据索引或更新原有的数据索引。根据各个数据块的实时热度确定其中的热点数据块,根据热点数据块的连续情况将热点数据块和与该热点数据块邻近的数据块进行合并,数据块大小可以得到优化,根据动态合并后的数据块所实时生成或更新的数据索引可以适应科学大数据的读取连续性,基于该数据索引对科学大数据进行检索,既可以防止数据块太大而导致检索时过多冗余信息进入磁盘而增加数据过滤的开销,又可以防止数据块太小而导致检索时增加磁盘访存的开销,更加充分利用计算机的计算资源,大大提高了科学大数据的检索效率。进一步地,根据热点数据块的连续情况将热点数据块和与该热点数据块邻近的数据块进行合并,具体包括以下步骤:根据热点数据块的连续情况将热点数据块和该热点数据块的x个前置数据块和/或y个后置数据块进行合并;x的取值小于等于a1与b1的较小值,a1为热点数据块的未进行合并的前置数据块数目,b1为预设的前置数据块合并数目阈值;y的取值小于等于a2与b2的较小值,a2为热点数据块的未进行合并的后置数据块数目,b2为预设的后置数据块合并数目阈值。进一步地,根据热点数据块的连续情况将热点数据块和该热点数据块的y个后置数据块进行合并,具体包括以下步骤:S1.设该热点数据块为第i个热点数据块;S2.判断第i个热点数据块的z个后置数据块中是否存在热点数据块,z为连续性参数且取值小于等于a2,若否则执行步骤S3,若是则执行步骤S4;S3.将第i个热点数据块与第i个热点数据块的y个后置数据块进行合并,并停止步骤;S4.将第i个热点数据块至第i+1个热点数据块进行合并,令i=i+1,若i小于等于热点数据块的个数则继续执行步骤S2,否则停止步骤。执行步骤S1到步骤S4,可以将连续性较强的若干个热点数据块合并一起,根据合并后的数据块所生成或更新的数据索引,更有利于降低检索所需计算资源开销,更有利于提高检索的效率。进一步地,在一个实施例中,所述步骤S4具体包括以下步骤:S41.判断将第i个热点数据块至第i+1个热点数据块进行合并后的数据块是否满足数据块尺寸约束条件,若否则执行步骤S42,若是则执行步骤S43;S42.根据数据块尺寸约束条件重新确定y的取值,将第i个热点数据块与其y个后置数据块进行合并,并停止步骤;S43.将第i个热点数据块至第i+1个热点数据块进行合并,令i=i+1,若i小于等于热点数据块的个数则继续执行步骤S2,否则停止步骤。当具有连续性的热点数据块数目较多时,会使得合并后的数据块大小过大,同样导致检索时过多冗余信息进入磁盘而增加数据过滤的开销,因此需要在步骤S4中设置数据块尺寸约束条件,在数据块尺寸过大时,停止数据块的合并。进一步地,所述数据块尺寸约束条件包括:合并后的数据块所合并的数据块数目是否大于预设的数据块数目最大值。进一步地,所述数据索引包括粗粒度的范围索引和细粒度的位图索引;根据合并后的数据块更新数据索引,具体包括以下步骤:根据合并后的数据块更新范围索引;根据数据块所合并的数据块数目确定是否更新位图索引。数据索引优选采用双层索引。当数据块发生合并后,范围索引的更新仅仅需要重新定位合并后数据块的指针最大值和指针最小值,其计算开销较小,而位图索引的更新则需要重新计算位图,会造成大量的计算开销。因此,数据块发生合并后可以随后对范围索引进行更新,但是对位图索引而言,则需要根据数据块是否发生大量合并来确定是否执行更新。进一步地,根据数据块所合并的数据块数目确定是否更新位图索引,具体包括以下步骤:判断某个合并后的数据块所合并的数据块数目m是否大于预设合并数目阈值m’,若是则更新该合并后的数据块的位图索引。进一步地,当确定更新位图索引时,位图索引的更新在数据块合并后的第一次数据检索时进行。在第一次检索数据时,根据更新后的范围索引将合并后的数据块调入磁盘中进行检索,同时对该合并后的数据块内的位图索引进行更新。一种面向科学大数据的检索方法,包括如上所述的面向科学大数据的索引生成方法,还包括以下步骤:根据数据索引进行数据检索。根据热点数据块的连续情况将热点数据块和与该热点数据块邻近的数据块进行动态合并,数据块大小可以得到优化,根据动态合并后的数据块实时生成或更新的数据索引,基于该数据索引对科学大数据进行检索,既可以防止数据块太大而导致检索时过多冗余信息进入磁盘而增加数据过滤的开销,又可以防止数据本文档来自技高网
...

【技术保护点】
1.一种面向科学大数据的索引生成方法,其特征在于,包括以下步骤:根据各个数据块的热度确定其中若干个数据块为热点数据块;根据热点数据块的连续情况将热点数据块和与该热点数据块邻近的数据块进行合并;根据合并后的数据块生成数据索引或更新原有的数据索引。

【技术特征摘要】
1.一种面向科学大数据的索引生成方法,其特征在于,包括以下步骤:根据各个数据块的热度确定其中若干个数据块为热点数据块;根据热点数据块的连续情况将热点数据块和与该热点数据块邻近的数据块进行合并;根据合并后的数据块生成数据索引或更新原有的数据索引。2.根据权利要求1所述的一种面向科学大数据的索引生成方法,其特征在于,根据热点数据块的连续情况将热点数据块和与该热点数据块邻近的数据块进行合并,具体包括以下步骤:根据热点数据块的连续情况将热点数据块和该热点数据块的x个前置数据块和/或y个后置数据块进行合并;x的取值小于等于a1与b1的较小值,a1为热点数据块的未进行合并的前置数据块数目,b1为预设的前置数据块合并数目阈值;y的取值小于等于a2与b2的较小值,a2为热点数据块的未进行合并的后置数据块数目,b2为预设的后置数据块合并数目阈值。3.根据权利要求2所述的一种面向科学大数据的索引生成方法,其特征在于,根据热点数据块的连续情况将热点数据块和该热点数据块的y个后置数据块进行合并,具体包括以下步骤:S1.设该热点数据块为第i个热点数据块;S2.判断第i个热点数据块的z个后置数据块中是否存在热点数据块,z为连续性参数且取值小于等于a2,若否则执行步骤S3,若是则执行步骤S4;S3.将第i个热点数据块与第i个热点数据块的y个后置数据块进行合并,并停止步骤;S4.将第i个热点数据块至第i+1个热点数据块进行合并,令i=i+1,若i小于等于热点数据块的个数则继续执行步骤S2,否则停止步骤。4.根据权利要求3所述的一种面向科学大数据的索引生成方法,其特征在于,所述步骤S4具体包括以下步骤:S41.判断将第i个热点数据块至第i+1个热点数据块进行合并后的数据块是否满足数据块尺寸约束条件,若否则执...

【专利技术属性】
技术研发人员:卢宇彤沈逸仙杜云飞钟康游郭贵鑫李江杜量曹鹏赵帅帅
申请(专利权)人:中山大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1