一种索引建立方法及系统、检索方法及系统技术方案

技术编号:9519347 阅读:129 留言:0更新日期:2014-01-01 17:00
本发明专利技术实施例提供一种索引建立方法及系统、检索方法及系统,所述索引建立方法包括:采集服务器将采集的真实数据存储,根据真实数据的存储位置生成索引数据;所述索引数据包括关键值;将索引数据按照关键值顺序存入当前缓冲块;将缓冲块中的索引数据按照关键值顺序连续的排列到索引块中;将索引块依次排列作为索引文件;所述检索方法包括:获悉目标数据的关键值;以目标数据的关键值比较索引文件中各索引块的关键值范围,确定一个关键值范围涵盖目标数据关键值的索引块为目标索引块;在目标索引块中搜寻得到与目标数据关键值相等的索引数据,将该索引数据作为目标索引数据;从目标索引数据中提取目标数据的存储位置,并从该存储位置读取目标数据。

【技术实现步骤摘要】
一种索引建立方法及系统、检索方法及系统
本专利技术涉及数据处理
,特别涉及一种索引建立方法及系统、检索方法及系统。
技术介绍
数据采集过程可以概括为将数据从源服务器采集到目标服务器的过程,而对于现阶段大规模的数据采集,往往需要一个专门的采集服务器来完成这一过程。这也就必然导致了采集服务器中数据流量极为庞大。于是在分布式多表关联采集、变化数据比对、业务代码替换等存在数据查询和检索需求场景下,能够快速的查询和检索匹配数据便成为一项亟待解决的新问题。在现有技术中,一般采用缓存技术实现快速的查询和检索,也就是将查询频率较高的数据缓存在内存中以便快速检索。不过采集服务器的数据流往往达到上百GB甚至更高的级别,远远大于现阶段服务器的内存容量。所以能够缓存在内存中的数据仅仅为一小部分;绝大部分必须存储在采集服务器的硬盘中。如果需要检索存储在硬盘中的数据,则采集服务器中数据必然要在检索过程中进行频繁的内存/硬盘切换,速度非常缓慢;甚至相比于从存在索引的源服务器中直接进行检索,检索采集服务器硬盘的过程还要更慢。可见利用缓存技术在采集服务器中进行检索的技术方案由于速度慢、效率低,很难满足实际使用的需求。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种索引建立方法及系统、检索方法及系统,所述方法通过为采集服务器硬盘中的真实数据建立索引以实现高效快速的检索。为实现上述目的,本专利技术有如下技术方案:一种索引建立方法,所述方法包括:采集服务器将采集的真实数据存储,并根据真实数据的存储位置生成索引数据;所述索引数据包括关键值;将索引数据按照关键值顺序存入当前缓冲块;将缓冲块中的索引数据按照关键值顺序连续的排列到索引块中;将索引块依次排列作为索引文件。所述索引数据包括:真实数据的存储位置、长度、压缩状态信息以及关键值;所述关键值为利用哈希算法对真实数据的特征值进行计算得到的哈希值。所述将采集的真实数据存储具体为:采集一个真实数据,判断该真实数据的体积是否超过压缩阈值,若超过则对真实数据进行压缩;将未经压缩的或压缩后的真实数据存入当前数据块。所述缓冲块具体包括:缓冲块状态、缓冲块体积、索引数据、最大关键值和最小关键值。所述缓冲块中的索引数据按照关键值顺序连续的排列到索引块中具体为:设定索引块数量,并分配当前索引块,重复的历便所有缓冲块当前的最大关键值或最小关键值;提取当前所有缓冲块中最大的最大关键值或最小的最小关键值对应的索引数据,并写入当前索引块中首位,若首位占用则写入到前一次写入的索引数据之后;修改被提取索引数据的缓冲块的最大关键值或最小关键值;直到所有索引数据均被写入索引块中停止写入。所述设定索引块数量具体为:设定比较优化公式,所述比较优化公式为t为检索比较次数,n为索引数据的总数,b为索引块的总数,t、n、b均为自然数;当b=b’使t为最小值,则b’为索引块参考数量;将索引块参考数量设定为索引块数量。所述索引数据按关键值顺序连续排列作为索引文件具体为:将索引块依次排列作为索引文件。所述方法还包括:采集服务器将索引文件缓存至内存,并备份至硬盘。一种索引建立系统,所述系统具体包括:数据存储模块,用于将采集的真实数据存储;生成模块,用于根据真实数据的存储位置生成索引数据;所述索引数据包括关键值;缓冲模块,用于将索引数据按照关键值顺序存入当前缓冲块;索引制作模块,用于将缓冲块中的索引数据按照关键值顺序连续的排列到索引块中,将索引块依次排列作为索引文件。一种检索方法,所述方法包括以下步骤:获悉目标数据的关键值;以目标数据的关键值比较索引文件中各索引块的关键值范围,确定一个关键值范围涵盖目标数据关键值的索引块为目标索引块;在目标索引块中搜寻得到与目标数据关键值相等的索引数据,将该索引数据作为目标索引数据;从目标索引数据中提取目标数据的存储位置,并从该存储位置读取目标数据。一种检索系统,所述系统具体包括:关键值模块,用于获悉目标数据的关键值;索引块比较模块,用于以目标数据的关键值比较索引文件中各索引块的关键值范围,确定一个关键值范围涵盖目标数据关键值的索引块为目标索引块;索引数据比较模块,用于在目标索引块中搜寻得到与目标数据关键值相等的索引数据,将该索引数据作为目标索引数据;数据读取模块,用于从目标索引数据中提取目标数据的存储位置,并从该存储位置读取目标数据。通过以上技术方案可知,本专利技术存在的有益效果是:通过为真实数据建立索引文件,再通过对应的检索方法实现基于索引文件快速完成对于真实数据的检索;由于索引文件本身体积小,针对性强的特点,所以读取并利用索引文件进行检索相比于直接从硬盘中搜索真实文件,在效率上有着本质上的提高,充分的满足使用需求,避免了现有技术中直接从硬盘搜寻真实数据速度慢、效率低的缺陷;另外,通过将索引文件保存在内存中可实现在检索过程中高效快速读取索引文件进行检索;所述方法还计算得到索引块的最优数量,进一步的减少了检索过程中的比较次数,提高了检索的速度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例所述索引建立方法流程图;图2为本专利技术实施例所述真实数据分块存储方法流程图;图3~4为本专利技术实施例所述缓冲块示意图;图5为本专利技术实施例所述索引块示意图;图6为本专利技术实施例所述索引建立系统结构示意图;图7为本专利技术实施例所述检索方法流程图;图8为本专利技术实施例所述检索系统结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例中,将采集服务器从源服务器中直接采集到的数据定义为真实数据,不同于现有技术中知直接从采集服务器硬盘中搜寻真实数据而进行检索的方案,本专利技术的关键在于将对真实数据建立索引文件,索引文件中将保存每个真实数据对应的存储位置。由于索引文件占用空间较小,完全可以驻留在采集服务器的内存中,也就可以快速的对索引文件进行读取和查询,以获悉真实数据的存储位置。参见图1所示为本专利技术所述索引建立方法的一个具体实施例,本实施例中所述方法具体包括以下步骤:步骤101、采集服务器将采集的真实数据存储。在建立索引之前,所有的真实数据必须被采集服务器存储在自身的硬盘中,以使得每个真实数据都具有一个固定的存储位置。显然真实数据准确固定的存储位置是检索的基础,本实施例利用索引文件进行检索的意义正是获悉真实数据准确的存储位置。具体的,本实施例中将按照图2所示方法对真实数据进行分块存储,包括以下步骤:步骤A1、采集一个真实数据,判断该真实数据的体积是否超过压缩阈值,若超过则对真实数据进行压缩。真实数据的存储是随着采集服务器的数据采集同时进行的,进行存储的顺序也就是采集顺序;也就是每采集到一个真实数据,便针对该真实数据执行本实施例所述的存储流程。本文档来自技高网...
一种索引建立方法及系统、检索方法及系统

【技术保护点】
一种索引建立方法,其特征在于,所述方法包括:采集服务器将采集的真实数据存储,并根据真实数据的存储位置生成索引数据;所述索引数据包括关键值;将索引数据按照关键值顺序存入当前缓冲块;将缓冲块中的索引数据按照关键值顺序连续的排列到索引块中;将索引块依次排列作为索引文件。

【技术特征摘要】
1.一种索引建立方法,其特征在于,所述方法包括:采集服务器将采集的真实数据存储,并根据真实数据的存储位置生成索引数据;所述索引数据包括关键值,所述关键值为利用哈希算法对真实数据的特征值进行计算得到的哈希值,所述特征值唯一表明所述真实数据,所述关键值唯一表明所述索引数据,所述关键值和所述特征值的映射关系也明确了所述索引数据与所述真实数据的对应关系;将索引数据按照关键值顺序存入当前缓冲块;将缓冲块中的索引数据按照关键值顺序连续的排列到索引块中;将索引块依次排列作为索引文件。2.根据权利要求1所述方法,其特征在于,所述索引数据包括:真实数据的存储位置、长度、压缩状态信息以及关键值。3.根据权利要求1所述方法,其特征在于,所述将采集的真实数据存储具体为:采集一个真实数据,判断该真实数据的体积是否超过压缩阈值,若超过则对真实数据进行压缩;将未经压缩的或压缩后的真实数据存入当前数据块。4.根据权利要求1所述方法,其特征在于,所述缓冲块具体包括:缓冲块状态、缓冲块体积、索引数据、最大关键值和最小关键值。5.根据权利要求4所述方法,其特征在于,所述缓冲块中的索引数据按照关键值顺序连续的排列到索引块中具体为:设定索引块数量,并分配当前索引块,重复的历便所有缓冲块当前的最大关键值或最小关键值;提取当前所有缓冲块中最大的最大关键值或最小的最小关键值对应的索引数据,并写入当前索引块中首位,若首位占用则写入到前一次写入的索引数据之后;修改被提取索引数据的缓冲块的最大关键值或最小关键值;直到所有索引数据均被写入索引块中停止写入。6.根据权利要求5所述方法,其特征在于,所述设定索引块数量具体为:设定比较优化公式,所述比较优化公式为t为检索比较次数,n为索引数据的总数,b为索引块的总数,t、n、b均为自然数;当b=b’使t为最小值,则b’为索引块参考数量;将索引块参考数量设定为索引块数量。7.根据权利要求1-6任意一项所述方法,其特征在于,所述索引数据按关键值顺序连续排列作为索引文件具体为:将索引块依次排列作为索引文件。8.根据权利要求1-6任意一项所述方法,其特征在于,所述方法还包括:采集服务器将...

【专利技术属性】
技术研发人员:李东鸽陈廷斌
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:

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

1