一种数据索引方法、及设备技术

技术编号:18256511 阅读:35 留言:0更新日期:2018-06-20 08:17
本发明专利技术提供了一种数据索引方法及设备,其中数据索引方法包括:根据多个文件的列值构建索引数据;当接收到检索条件时,确定需要检索的列值;根据确定的列值在索引数据中进行检索,得到包含需要检索的列值的文件。本发明专利技术实施例提供的数据索引方法、及设备,通过构建索引数据,在接收到检索条件时,能够快速检索到包含需要检索的列值的文件,支持海量数据索引,同时不影响原始数据的存储结构,可适配多种不同的原始数据格式。

A data indexing method and device

The present invention provides a data indexing method and device, in which the data indexing method includes: constructing index data according to the column values of multiple files; determining the column values to be retrieved when receiving the retrieval conditions; retrieving in the index data according to the determined column values, and obtaining a file containing the column values that need to be retrieved. The data indexing method and equipment provided by the embodiment of the invention can quickly retrieve the file containing the column values that need to be retrieved, support the mass data index, without affecting the storage structure of the original data, and can match a variety of different original data formats.

【技术实现步骤摘要】
一种数据索引方法、及设备
本专利技术涉及数据存储和管理领域,特别涉及一种数据索引方法、及设备。
技术介绍
随着信息化的发展和大数据时代的来临,数据量呈爆炸式增长,为了支撑海量数据环境下数据的快速检索,数据索引的设计成为至关重要的环节。在海量数据环境下,由于数据量过大,通常只为近期的数据建立索引并进行缓存,从而随着时间的推移,索引结构会有大量的增加和删除操作;另一方面,由于数据量过大,索引结构的设计需要尽量提高内存利用率。传统关系型数据中,通常采用B+Tree等结构来实现数据的索引结构,但该方式存在内存占用量较高、索引删除性能低等问题,不适用于海量数据环境下的索引管理。在大数据技术背景下,数据存储和管理系统通常将外部数据源以文件方式进行存储和管理。一般情况下,存储系统将若干条记录(通常在100W级别以上)组织存储,形成一个文件,存储到如EXT4、HDFS等文件系统中。在系统总数据量达到千亿级别情况下,会产生数万甚至几十万个文件。在没有建立索引时,系统只能逐个扫描文件,以查找符合检索条件的数据,因此性能极低。在现有技术方案中,1)索引一般与原始数据交叉共存,不适用与大数据环境下的scheme-on-read机制;2)索引通常指向每条记录的具体位置,粒度过细,难以支撑海量数据索引,同时难以支撑高效的批量删除机制。
技术实现思路
为了支撑海量数量索引,更快的检索到符合检索条件的文件,本专利技术提供了一种数据索引方法、及设备。本专利技术提供的数据索引方法,包括:根据多个文件的列值构建索引数据;当接收到检索条件时,确定需要检索的列值;根据确定的列值在所述索引数据中进行检索,得到包含所述需要检索的列值的文件。可选的,在本专利技术所述的数据索引方法中,所述根据多个文件的列值构建索引数据,包括:获取多个文件的原始数据,并分别对每个文件的原始数据进行解析得到该文件的列值;对多个文件的列值进行合并、剔除重复列值、及排序得到列值有序表;以所述文件的数量为行的数量,以所述列值有序表中列值的数量为列的数量,构建矩阵;分别根据每个文件中的列值,在所述矩阵中填入相应的数据,表示每个文件是否包含所述列值有序表中的列值。可选的,在本专利技术所述的数据索引方法中,当需要检索的列值为多个,且多个列值之间存在交集或/和并集关系时,根据确定的列值在所述索引数据中进行检索,得到包含所述需要检索的列值的文件,包括:分别根据确定的每个列值在所述索引数据中进行检索,得到与每个列值对应的文件的位图信息;将若干个与列值对应的文件的位图信息按照列值之间的关系进行交集或/和并集计算,得到符合检索条件的位图信息;将所述符合检索条件的位图信息转换为包含所述需要检索的列值的文件。可选的,在本专利技术所述的数据索引方法中,根据确定的列值在所述索引数据中进行检索,包括:根据确定的列值利用预设的查询方法在所述索引数据中进行检索。可选的,在本专利技术所述的数据索引方法中,所述预设的查询方法包括以下中一项或两项:二分法、跳表法。可选的,在本专利技术所述的数据索引方法中,还包括:将所述的矩阵中的行数据置零,以删除所述行数据对应的文件的所有索引数据;或/和将所述的矩阵中的列数据置零,以删除所述列数据对应的列值的所有索引数据。可选的,在本专利技术所述的数据索引方法中,在根据多个文件的列值构建索引数据之后,还包括:对所述索引数据利用预设的压缩算法进行压缩。可选的,在本专利技术所述的数据索引方法中,在根据多个文件的列值构建索引数据之后,还包括:将所述索引数据进行保存。本专利技术还提供了一种数据索引设备,所述数据索引设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的数据索引方法的步骤。本专利技术的有益效果如下:本专利技术实施例提供的数据索引方法、及设备,通过构建索引数据,在接收到检索条件时,能够快速检索到包含需要检索的列值的文件,支持海量数据索引,同时不影响原始数据的存储结构,可适配多种不同的原始数据格式。附图说明图1为本专利技术第一方法实施例中数据索引方法的流程示意图;图2为本专利技术第二方法实施例中构建索引数据的示意图;图3为本专利技术数据索引系统的结构示意图;图4为本专利技术实例1中数据索引方法的流程示意图;图5为本专利技术实例2中索引数据构建方法的流程示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。为了解决现有技术中海量环境下索引管理中存在的内存占用量高、索引删除性能低的问题,本专利技术提供了一种数据索引方法、及设备。以下结合附图对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不限定本专利技术。根据本专利技术的第一方法实施例,提供了一种数据索引方法,图1为本专利技术第一方法实施例中数据索引方法的流程示意图,如图1所示,本专利技术第一方法实施例的数据索引方法,包括以下步骤:S101:根据多个文件的列值构建索引数据。可选的,在本专利技术第一方法实施例所述的数据索引方法中,在根据多个文件的列值构建索引数据之后,还包括:对所述索引数据进行保存。S102:当接收到检索条件时,确定需要检索的列值。S103:根据确定的列值在所述索引数据中进行检索,得到包含所述需要检索的列值的文件。可选的,在本专利技术所述的数据索引方法中,当需要检索的列值为多个,且多个列值之间存在交集或/和并集关系时,根据确定的列值在所述索引数据中进行检索,得到包含所述需要检索的列值的文件,包括:分别根据确定的每个列值在所述索引数据中进行检索,得到与每个列值对应的文件的位图信息;将若干个与列值对应的文件的位图信息按照列值之间的关系进行交集或/和并集计算,得到符合检索条件的位图信息;将所述符合检索条件的位图信息转换为包含所述需要检索的列值的文件。可选的,在本专利技术所述的数据索引方法中,根据确定的列值在所述索引数据中进行检索,包括:根据确定的列值利用预设的查询方法在所述索引数据中进行检索。所述预设的查询方法包括以下中一项或两项:二分法、跳表法,利用二分法或跳表法均能够实现高效检索。本专利技术第一方法实施例提供的数据索引方法,在接收到检索条件时,能够快速检索到包含需要检索的列值的文件,支持海量数据索引,同时不影响原始数据的存储结构,可适配多种不同的原始数据格式。根据本专利技术的第二方法实施例,提供了一种数据索引方法。本专利技术第二方法实施例与第一方法实施例的不同之处在于,在本专利技术第二方法实施例的数据索引方法中,给出了根据多个文件的列值构建索引数据的操作方式。具体的,所述根据多个文件的列值构建索引数据,包括以下步骤:获取多个文件的原始数据,并分别对每个文件的原始数据进行解析得到该文件的列值;对多个文件的列值进行合并、剔除重复列值、及排序得到列值有序表;以所述文件的数量为行的数量,以所述列值有序表中列值的数量为列的数量,构建矩阵;分别根据每个文件中的列值,在所述矩阵中填入相应的数据,表示每个文件是否包含所述列值有序表中的列值。图2为本专利技术第二方法实施例中构建索引数据的示意图,在图2中文件标识即为矩阵。例如本文档来自技高网...
一种数据索引方法、及设备

【技术保护点】
1.一种数据索引方法,其特征在于,包括:根据多个文件的列值构建索引数据;当接收到检索条件时,确定需要检索的列值;根据确定的列值在所述索引数据中进行检索,得到包含所述需要检索的列值的文件。

【技术特征摘要】
1.一种数据索引方法,其特征在于,包括:根据多个文件的列值构建索引数据;当接收到检索条件时,确定需要检索的列值;根据确定的列值在所述索引数据中进行检索,得到包含所述需要检索的列值的文件。2.如权利要求1所述的数据索引方法,其特征在于,所述根据多个文件的列值构建索引数据,包括:获取多个文件的原始数据,并分别对每个文件的原始数据进行解析得到该文件的列值;对多个文件的列值进行合并、剔除重复列值、及排序得到列值有序表;以所述文件的数量为行的数量,以所述列值有序表中列值的数量为列的数量,构建矩阵;分别根据每个文件中的列值,在所述矩阵中填入相应的数据,表示每个文件是否包含所述列值有序表中的列值。3.如权利要求1所述的数据索引方法,其特征在于,当需要检索的列值为多个,且多个列值之间存在交集或/和并集关系时,根据确定的列值在所述索引数据中进行检索,得到包含所述需要检索的列值的文件,包括:分别根据确定的每个列值在所述索引数据中进行检索,得到与每个列值对应的文件的位图信息;将若干个与列值对应的文件的位图信息按照列值之间的关系进行交集或/和并集计算,得到符合检索条件的位图信息;将所述符...

【专利技术属性】
技术研发人员:何庆邓晓东许敬伟冯运波江为强安宝宇周晓阳汤泰鼎魏星
申请(专利权)人:中国移动通信集团广东有限公司北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:广东,44

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

1