CN104063384A - 一种数据检索方法及装置 - Google Patents

一种数据检索方法及装置 Download PDF

Info

Publication number
CN104063384A
CN104063384A CN201310088648.4A CN201310088648A CN104063384A CN 104063384 A CN104063384 A CN 104063384A CN 201310088648 A CN201310088648 A CN 201310088648A CN 104063384 A CN104063384 A CN 104063384A
Authority
CN
China
Prior art keywords
data
key value
target data
server
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310088648.4A
Other languages
English (en)
Inventor
钱志财
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI MUSE INFORMATION SCIENCE & TECHNOLOGY CO., LTD.
Original Assignee
Shanghai Ruanzhi Information Science & Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Ruanzhi Information Science & Technology Co Ltd filed Critical Shanghai Ruanzhi Information Science & Technology Co Ltd
Priority to CN201310088648.4A priority Critical patent/CN104063384A/zh
Publication of CN104063384A publication Critical patent/CN104063384A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据检索方法及装置,应用于存储服务器,所述存储服务器中存储有至少一条目标数据及其数据关键值,所述方法包括预先提取所述存储服务器中目标数据的数据关键值,将所述数据关键值存储于至少一个内存服务器中;接收数据检索请求,所述数据检索请求包括检索标识;分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值;若查询到所述目标数据关键值,在所述存储服务器中获取与所述目标数据关键值相对应的目标数据。本申请实施例在保证目标数据安全存储于存储服务器的前提下,通过在内存服务器中进行数据检索而提高数据检索速率,从而提高数据检索性能。

Description

一种数据检索方法及装置
技术领域
本申请涉及软件技术领域,特别涉及一种数据检索方法及装置。
背景技术
随着互联网和云计算的迅速发展,越来越多的用户通过网络来搜索各种各样的数据并获取数据资源,因此对搜索引擎的数据检索性能要求越来越高。
为提高数据检索速率,通常采用内存数据库存储数据,并在内存数据库中进行数据检索。这种方案中,由于数据存于内存,相比磁盘的I/O性能明显较高,但内存中存储的数据无法持久化,在内存服务器断电之后数据会丢失,无法实现数据永久存储。
发明内容
本申请所要解决的技术问题是提供一种数据检索方法及装置,用以解决现有技术中无法保证数据安全存储的前提下快速检索数据的技术问题。
本申请提供了一种数据检索方法,其特征在于,应用于存储服务器,所述存储服务器中存储有至少一条目标数据及其数据关键值,所述方法包括:
预先提取所述存储服务器中目标数据的数据关键值,将所述数据关键值存储于至少一个内存服务器中;
接收数据检索请求,所述数据检索请求包括检索标识;
分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值;
若查询到所述目标数据关键值,在所述存储服务器中获取与所述目标数据关键值相对应的目标数据。
上述方法,优选的,所述将所述数据关键值存储于至少一个内存服务器中,包括:
将所述数据关键值进行划分,得到至少一个数据块,每个所述数据块包括至少一条数据关键值;
将每个所述数据块分别存储于一个内存服务器中。
上述方法,优选的,在所述存储服务器中获取与所述目标数据关键值相对应的目标数据之后,所述方法还包括:
将所述获取的目标数据存储至预设的缓存区域中;
其中,在所述接收数据检索请求之后,在所述分别在所述内存服务器中查询与所述检索标识相对应的目标数据关键值之前,所述方法还包括:
在所述缓存区域中查询是否含有与当前数据检索请求中的检索标识相对应的目标数据,如果是,获取所述缓存区域中查询到的目标数据,结束当前数据检索,否则,执行所述分别在所述内存服务器中查询与所述检索标识相对应的目标数据关键值。
上述方法,优选的,所述将每个所述数据块分别存储于一个内存服务器中,包括:
将每个所述数据块按照预设的压缩存储规则分别存储于一个内存服务器中;
其中,所述压缩存储规则包括字典压缩规则、前缀压缩规则和差值压缩规则。
上述方法,优选的,所述分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值,包括:
依据倒排索引的检索规则分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值。
本申请还提供了一种数据检索装置,应用于存储服务器,所述存储服务器中存储有至少一条目标数据及其数据关键值,所述装置包括:
数据预处理单元,用于预先提取所述存储服务器中目标数据的数据关键值,将所述数据关键值存储于至少一个内存服务器中;
请求接收单元,用于接收数据检索请求,所述数据检索请求包括检索标识;
数据检索单元,用于分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值;
数据提取单元,用于在查询到所述目标数据关键值时,在所述存储服务器中获取与所述目标数据关键值相对应的目标数据。
上述装置,优选的,所述数据预处理单元包括:
关键值提取子单元,用于预先提取所述存储服务器中目标数据的数据关键值;
关键值存储子单元,用于将所述关键值提取子单元提取的数据关键值进行划分,得到至少一个数据块,将每个所述数据块分别存储于一个内存服务器中,每个所述数据块包括至少一条数据关键值。
上述装置,优选的,所述装置还包括:
数据缓存单元,用于将所述数据提取单元获取到的目标数据存储至预设的缓存区域中;
其中,所述装置还包括:
数据预检索单元,用于在所述请求接收单元接收到数据检索请求之后,在所述缓存区域中查询是否含有与当前数据检索请求中的检索标识相对应的目标数据,如果是,获取所述缓存区域中查询到的目标数据,结束当前数据检索,否则,触发所述数据检索单元。
上述装置,优选的,所述关键值存储子单元包括:
关键值划分模块,用于将所述数据关键值进行划分,得到至少一个数据块,每个所述数据块包括至少一条数据关键值;
数据块存储模块,用于将每个所述数据块按照预设的压缩存储规则分别存储于一个内存服务器中;
其中,所述压缩存储规则包括字典压缩规则、前缀压缩规则和差值压缩规则。
上述装置,优选的:
所述数据检索单元,具体用于依据倒排索引的检索规则分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值。
由上述方案可知,本申请提供的一种数据检索方法及装置,应用于存储服务器,通过预先将与存储服务器(磁盘存储器)中目标数据的数据关键值置于内存服务器中,在进行数据检索时,首先在内存服务器中检索目标数据关键值,再由目标数据关键值在存储服务器中提取对应的目标数据,由此,在保证目标数据安全存储于存储服务器的前提下,通过在内存服务器中进行数据检索而提高数据检索速率,从而提高数据检索性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种数据检索方法实施例一的流程图;
图2为本申请提供的一种数据检索方法实施例二的部分流程图;
图3为本申请提供的一种数据检索方法实施例三的流程图;
图4为本申请实施例三的另一流程图;
图5为本申请提供的一种数据检索装置实施例四的结构示意图;
图6为本申请实施例四的应用架构图;
图7为本申请提供的一种数据检索装置实施例五的部分结构示意图;
图8为本申请实施例五的应用示例图;
图9为本申请提供的一种数据检索装置实施例六的结构示意图;
图10为本申请实施例六的另一结构示意图;
图11为本申请提供的一种数据检索装置实施例七的部分结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着对搜索引擎的数据检索性能要求越来越高,搜索引擎的数据检索方案也是层出不穷,以下对现有几种数据检索方案所涉及的数据库进行描述:
关系型数据库:
优点:系统稳定,具有良好的应用实践积累;数据可以完整持久化到磁盘;具有良好的SQL查询接口;
缺点:由于数据持久化到磁盘,性能提升具有硬件瓶颈;数据按行存储,进行统计查询时,很难提升性能;系统内部构造复杂,无法进行定制化优化;Schema Not Free;
列式数据库:
优点:数据按列存储,进行统计查询可以提供性能保证;数据可以完整持久化到磁盘;具有良好的SQL查询接口;
缺点:由于数据持久化到磁盘,性能提升具有硬件瓶颈;数据按列存储,数据统计比较迅速,但是数据获取比较缓慢;系统内部构造复杂,无法进行定制化优化;Schema Not Free;
Key-Value数据库:
优点:没有复杂的数据存储结构,获取数据,特别迅速;可以存储各种不同结构的数据,Schema Free;数据导入和写入非常迅速,并持久化到磁盘;
缺点:没有提供数据统计查询,需要自己实现;内存数据库
优点:由于数据存于内存,相比磁盘I/O性能有几十至一百倍的提升;
缺点:数据无法持久化,断电数据立即消失;数据按行存储,进行统计操作数据性能还是稍显缓慢;文件系统搜索引擎;
优点:数据可以完整存于磁盘;采用倒排索引机制,计数查询非常迅速;
缺点:无法实现统计分组查询,必须累积计数查询,造成性能问题。
为解决上述各种技术问题,在保证数据安全存储的前提下,提高数据检索性能,本申请提供了一种数据检索方法及装置。
参考图1,其示出了本申请提供的一种数据检索方法实施例一的流程图,所述方法应用于存储服务器中,所述存储服务器中存储有至少一条目标数据及其数据关键值,所述方法可以包括以下步骤:
步骤101:预先提取所述存储服务器中目标数据的数据关键值,将所述数据关键值存储于至少一个内存服务器中。
其中,所述存储服务器包括磁性介质存储器或光盘等硬件设备,其数据库类型不限,所述存储服务器在断电后其内部保存的数据不会消失,能够永久保存数据信息。所述内存服务器包括由至少一个内存存储器组成的设备,其数据的读写速率高于如磁盘等存储服务器。
步骤102:接收数据检索请求,所述数据检索请求包括检索标识。
需要说明的是,所述检索标识是指与所述存储服务器中的某一条目标数据的数据关键值相对应,能够通过检索到与其相对应的数据关键值,进而存储服务器中提取到对应的目标数据。
步骤103:分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值。
其中,所述步骤103是指,在接收到数据检索请求中的检索标识之后,分别在每个存储有至少一个数据关键值的内存服务器中查询与该检索标识相对应的一个数据关键值,将查询到的数据关键值作为目标数据关键值。
需要说明的是,若本申请中包括两个或两个以上数目的内存服务器,那么在每个所述内存服务器中进行数据关键值查询的过程是同步的,在某一个内存服务器中查询到目标数据关键值之后,所有的内存服务器中均结束数据查询流程。
优选的,所述步骤103中,可以依据倒排索引的检索规则分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值,以提高数据检索性能。
例如,有表结构为:PK(关键值)、性别、城市,此时有三条数据:男、上海,女、北京,男、上海,首先进行词典压缩(男:1、女:2,上海:3,北京:4),再进行倒排索引,可以理解为行列置换:
性别/1:[1,0,1]
性别/2:[0,1,0]
城市/3:[1,0,1]
城市/4:[0,1,0]
进行查询:
Select count(pk)from table where性别=男and城市=北京,就取出倒排索引第一行和最后一行,进行与操作,然后统计结果里1的个数即可。
步骤104:若查询到所述目标数据关键值,在所述存储服务器中获取与所述目标数据关键值相对应的目标数据。
由上述可知,所述目标数据关键值与所述数据检索请求中的检索标识相对应,而且,所述目标数据关键值是由所述存储服务器中的目标数据进行提取而来,由此,在所述步骤103中查询到所述目标数据关键值之后,在所述存储服务器中提取与该目标数据关键值相对应的目标数据,而获取到的目标数据即为与所述检索标识相对应的数据,完成对数据的检索。
由上述方案可知,本申请提供的一种数据检索方法实施例一,应用于存储服务器,通过预先将与存储服务器(磁盘存储器)中目标数据的数据关键值置于内存服务器中,在接收到数据检索请求时,首先在内存服务器中检索与检索标识相对应的目标数据关键值,再由目标数据关键值在存储服务器中提取对应的目标数据,由此,在保证目标数据安全存储于存储服务器的前提下,通过在内存服务器中进行数据检索而提高数据检索速率,从而提高数据检索性能。
参考图2,其示出了本申请提供的一种数据检索方法实施例二的部分流程图,其中,所述步骤101中,将所述数据关键值存储于至少一个内存服务器中,具体可以通过系列步骤实现:
步骤201:将所述数据关键值进行划分,得到至少一个数据块;
其中,每个所述数据块包括至少一条数据关键值。
优选的,所述步骤201中将所述数据关键值进行分块的方式如下:
分析每个所述数据关键值所占数据空间的大小,依据分析结果将所述数据关键值划分成大小相同的数据块;或
解析所述数据关键值的属性值,依据所述属性值,将其属性值相同或相近的数据关键值划分成至少一个数据块;或
获取预设的内存服务器的数量,将所述数据关键值划分成与所述内存服务器数量相同数目的数据库。
步骤202:将每个所述数据块分别存储于一个内存服务器中。
优选的,所述步骤202可以通过以下方式具体实现:
对每个所述数据块进行hash计算,将计算后的数据块分别存储于一个内存服务器中。
优选的,所述步骤202可以通过以下方式具体实现:
为每个所述数据块选定一个内存服务器,将每个所述数据块存储于其对应的目标内存服务器中。
其中,两个所述数据块的目标内存服务器可以相同,还可以不同。优选的,每个所述数据块的目标内存服务器不同。
优选的,所述步骤202具体可以通过以下方式具体实现:
将每个所述数据块按照预设的压缩存储规则分别存储于一个内存服务器中;
其中,所述压缩存储规则包括字典压缩规则、前缀压缩规则和差值压缩规则。
以下对上述三种压缩存储规则进行描述:
字典压缩规则:应用于中文字符的压缩方案中。通过预先对特定字符或字符串定义成对应的代表字符,代表字符所占空间远小于原始字符或字符串所占空间。而在进行中文字符存储时,获取对应的代表字符进行存储,例如,将“上海浦东新区”、“北京朝阳区”、“北京宣武区”分别定义为“1”、“2”、“3”,由此在进行存储时,只需3个比特进行存储。而直接进行存储则需要240个比特(16*5*3)。
前缀压缩规则:应用于英文字符串的压缩方案中。对于第一个存储的字符串,后一个存储的字符串只需存储其与前一个字符串中不同的字符子串。如要存储如下词:term,termagancy,termagant,terminal,如果按照正常方式来存储,需要的空间如下:
[VInt=4][t][e][r][m],[VInt=10][t][e][r][m][a][g][a][n][c][y],[VInt=9][t][e][r][m][a][g][a][n][t],[VInt=8][t][e][r][m][i][n][a][l],共需要35个Byte。
采用前缀压缩规则,只需[VInt=4][t][e][r][m],[VInt=4(offset)][VInt=6][a][g][a][n][c][y],[VInt=8(offset)][VInt=1][t],[VInt=4(offset)][VInt=4][i][n][a][l],共需要22个Byte。
差值压缩规则:应用于数字字符的压缩方案中。整型数字是以int的格式存储的。随着数值的增大,每个数字占用的Byte的个数也逐渐的增多。对于第一个存储的数字,后一个存储的数据只需要存储其与前一个数字的实际数据的差值即可。比如要存储如下整数:16386,16387,16388,16389;如果按照正常方式来存储,需要的空间[(1)000,0010][(1)000,0000][(0)000,0001],[(1)000,0011][(1)000,0000][(0)000,0001],[(1)000,0100][(1)000,0000][(0)000,0001],[(1)000,0101][(1)000,0000][(0)000,0001]需12个Byte。采用差值压缩规则,只需[(1)000,0010][(1)000,0000][(0)000,0001],[(0)000,0001],[(0)000,0001],[(0)000,0001],共需6个Byte。
参考图3,其示出了本申请提供的一种数据检索方法实施例三的流程图,在所述步骤104之后,所述方法还包括以下步骤:
步骤S301:将所述获取的目标数据存储至预设的缓存区域中。
需要说明的是,所述步骤S301是指,将已经获取到的目标数据进行缓存,在后续再次进行数据检索时,可以首先在所述缓存区域中进行数据检索,以减少数据检索时间,提高数据检索性能。
其中,所述缓存区域可以预先设置于内存服务器中,并在所述存储服务器中做备份,还可以设置于所述存储服务器中。
优选的,基于如图3所示的数据检索方案,如图4所示,为本申请实施例三的另一流程图,在所述步骤102之后,在所述步骤103之前,所述方法还包括以下步骤:
步骤S401:在所述缓存区域中查询是否含有与当前数据检索请求中的检索标识相对应的目标数据,如果是,执行步骤S402,否则,执行所述步骤103;
步骤S402:获取所述缓存区域中查询到的目标数据,结束当前数据检索。
需要说明的是,若所述缓存区域设置于所述内存服务器中,则所述步骤S401为:在所述内存服务器中的缓存区域查询目标数据;若所述缓存区域设置于所述存储服务器中,则所述步骤S401为:将所述存储服务器中缓存区域的数据复制至所述内存服务器中,再查询目标数据,从而提高数据检索性能。
参考图5,其示出了本申请提供的一种数据检索装置实施例四的结构示意图,所述装置应用于存储服务器,所述存储服务器中存储有至少一条目标数据及其数据关键值,所述装置包括:
数据预处理单元501,用于预先提取所述存储服务器中目标数据的数据关键值,将所述数据关键值存储于至少一个内存服务器中。
其中,所述存储服务器包括磁性介质存储器或光盘等硬件设备,其数据库类型不限,所述存储服务器在断电后其内部保存的数据不会消失,能够永久保存数据信息。所述内存服务器包括由至少一个内存存储器组成的设备,其数据的读写速率高于如磁盘等存储服务器。
请求接收单元502,用于接收数据检索请求,所述数据检索请求包括检索标识。
需要说明的是,所述检索标识是指与所述存储服务器中的某一条目标数据的数据关键值相对应,能够通过检索到与其相对应的数据关键值,进而存储服务器中提取到对应的目标数据。
数据检索单元503,用于分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值。
其中,所述数据检索单元503是指,在所述请求接收单元502接收到数据检索请求中的检索标识之后,分别在每个存储有至少一个数据关键值的内存服务器中查询与该检索标识相对应的一个数据关键值,将查询到的数据关键值作为目标数据关键值。
需要说明的是,若本申请中包括两个或两个以上数目的内存服务器,那么在每个所述内存服务器中进行数据关键值查询的过程是同步的,在某一个内存服务器中查询到目标数据关键值之后,所有的内存服务器中均结束数据查询流程。
优选的,所述数据检索单元具体用于依据倒排索引的检索规则分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值。
数据提取单元504,用于在查询到所述目标数据关键值时,在所述存储服务器中获取与所述目标数据关键值相对应的目标数据。
由上述可知,所述目标数据关键值与所述数据检索请求中的检索标识相对应,而且,所述目标数据关键值是由所述存储服务器中的目标数据进行提取而来,由此,在所述数据检索单元503中查询到所述目标数据关键值之后,所述数据提取单元504在所述存储服务器中提取与该目标数据关键值相对应的目标数据,而获取到的目标数据即为与所述检索标识相对应的数据,完成对数据的检索。
参考图6,为本申请实施例四的应用架构图,所述存储服务器与一个入口服务器相连接,所述存储服务器与多个执行服务器相连接,每个服务器均有一个备份服务器与其相连接。所述数据检索装置应用于所述架构中,其中:
所述入口服务器为加载数据和查询数据的入口,所述数据检索装置的请求接收单元设置于所述入口服务器中;
所述执行服务器即为所述内存服务器,由多个执行服务器组成集群,用于具体数据查询;
所述Hbase是基于hadoop的分布式KV服务器,用于存储目标数据;
所述Zookeeper是管理控制服务器,用于对内存服务器集群的管理和心跳控制。
在本申请中,目标数据即数据明细存储于磁盘服务器中,提高了数据写入的速度,同时Schema Free(数据结构不限),而在通过数据关键值提取数据明细时速度较快;在内存服务器中进行数据关键值的检索,提高了数据检索速率。
由上述方案可知,本申请提供的一种数据检索装置实施例四,应用于存储服务器,通过预先将与存储服务器(磁盘存储器)中目标数据的数据关键值置于内存服务器中,在接收到数据检索请求时,首先在内存服务器中检索与检索标识相对应的目标数据关键值,再由目标数据关键值在存储服务器中提取对应的目标数据,由此,在保证目标数据安全存储于存储服务器的前提下,通过在内存服务器中进行数据检索而提高数据检索速率,从而提高数据检索性能。
参考图7,其示出了本申请提供的一种数据检索装置实施例五的部分结构示意图,所述数据预处理单元501包括:
关键值提取子单元511,用于预先提取所述存储服务器中目标数据的数据关键值。
关键值存储子单元512,用于将所述关键值提取子单元511提取的数据关键值进行划分,得到至少一个数据块,将每个所述数据块分别存储于一个内存服务器中,每个所述数据块包括至少一条数据关键值。
优选的,所述关键值存储子单元512中将所述数据关键值进行分块的方式如下:
分析每个所述数据关键值所占数据空间的大小,依据分析结果将所述数据关键值划分成大小相同的数据块;或
解析所述数据关键值的属性值,依据所述属性值,将其属性值相同或相近的数据关键值划分成至少一个数据块;或
获取预设的内存服务器的数量,将所述数据关键值划分成与所述内存服务器数量相同数目的数据库。
优选的,所述关键值存储子单元512中将每个所述数据块分别存储于一个内存服务器中可以通过以下方式实现:
对每个所述数据块进行hash计算,将计算后的数据块分别存储于一个内存服务器中。
如图8所示,对所述数据关键值分块之后,将每个数据块(数据块CHUNK0~数据块CHUNK3)进行HASH计算之后,置入对应的内存服务器中。
优选的,所述关键值存储子单元512中将每个所述数据块分别存储于一个内存服务器中可以通过以下方式实现:
为每个所述数据块选定一个内存服务器,将每个所述数据块存储于其对应的目标内存服务器中。
其中,两个所述数据块的目标内存服务器可以相同,还可以不同。优选的,每个所述数据块的目标内存服务器不同。
参考图9,其示出了本申请提供的一种数据检索装置实施例六的结构示意图,所述装置还包括:
数据缓存单元505,用于将所述数据提取单元504获取到的目标数据存储至预设的缓存区域中。
需要说明的是,所述数据缓存单元505是指,将已经获取到的目标数据进行缓存,在后续再次进行数据检索时,可以首先在所述缓存区域中进行数据检索,以减少数据检索时间,提高数据检索性能。
其中,所述缓存区域可以预先设置于内存服务器中,并在所述存储服务器中做备份,还可以设置于所述存储服务器中。
优选的,参考图10,其示出了本申请实施例六的另一结构示意图,所述装置还包括:
数据预检索单元506,用于在所述请求接收单元502接收到数据检索请求之后,在所述缓存区域中查询是否含有与当前数据检索请求中的检索标识相对应的目标数据,如果是,获取所述缓存区域中查询到的目标数据,结束当前数据检索,否则,触发所述数据检索单元503。
需要说明的是,若所述缓存区域设置于所述内存服务器中,则所述数据预检索单元506在所述内存服务器中的缓存区域查询目标数据;若所述缓存区域设置于所述存储服务器中,则所述数据预检索单元506先将所述存储服务器中缓存区域的数据复制至所述内存服务器中,再查询目标数据,从而提高数据检索性能。
优选的,参考图11,其示出了本申请提供的一种数据检索装置实施例七的部分结构示意图,其中,所述关键值存储子单元512包括:
关键值划分模块S521,用于将所述数据关键值进行划分,得到至少一个数据块,每个所述数据块包括至少一条数据关键值;
数据块存储模块S522,用于将每个所述数据块按照预设的压缩存储规则分别存储于一个内存服务器中;
其中,所述压缩存储规则包括字典压缩规则、前缀压缩规则和差值压缩规则。
由上述各方案可知,本申请提供的一种数据检索方法及装置,将目标数据存储于磁盘存储器中,将目标数据的数据关键值存储于内存服务器中,在通过在内存服务器中检索数据关键值,再在磁盘存储器中提取目标数据,不仅提高了目标数据的写入速度,数据结构不限,利用数据关键值提取目标数据的速度明显较高,同时,在内存中索引关键值的检索过程速度明显加快,且数据关键值的存储为压缩存储,节约内存空间提高搜索效果,而在检索过程中采用位运算,充分发挥出高速性能。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据检索方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种数据检索方法,其特征在于,应用于存储服务器,所述存储服务器中存储有至少一条目标数据及其数据关键值,所述方法包括:
预先提取所述存储服务器中目标数据的数据关键值,将所述数据关键值存储于至少一个内存服务器中;
接收数据检索请求,所述数据检索请求包括检索标识;
分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值;
若查询到所述目标数据关键值,在所述存储服务器中获取与所述目标数据关键值相对应的目标数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述数据关键值存储于至少一个内存服务器中,包括:
将所述数据关键值进行划分,得到至少一个数据块,每个所述数据块包括至少一条数据关键值;
将每个所述数据块分别存储于一个内存服务器中。
3.根据权利要求1所述的方法,其特征在于,在所述存储服务器中获取与所述目标数据关键值相对应的目标数据之后,所述方法还包括:
将所述获取的目标数据存储至预设的缓存区域中;
其中,在所述接收数据检索请求之后,在所述分别在所述内存服务器中查询与所述检索标识相对应的目标数据关键值之前,所述方法还包括:
在所述缓存区域中查询是否含有与当前数据检索请求中的检索标识相对应的目标数据,如果是,获取所述缓存区域中查询到的目标数据,结束当前数据检索,否则,执行所述分别在所述内存服务器中查询与所述检索标识相对应的目标数据关键值。
4.根据权利要求2所述的方法,其特征在于,所述将每个所述数据块分别存储于一个内存服务器中,包括:
将每个所述数据块按照预设的压缩存储规则分别存储于一个内存服务器中;
其中,所述压缩存储规则包括字典压缩规则、前缀压缩规则和差值压缩规则。
5.根据权利要求1所述的方法,其特征在于,所述分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值,包括:
依据倒排索引的检索规则分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值。
6.一种数据检索装置,其特征在于,应用于存储服务器,所述存储服务器中存储有至少一条目标数据及其数据关键值,所述装置包括:
数据预处理单元,用于预先提取所述存储服务器中目标数据的数据关键值,将所述数据关键值存储于至少一个内存服务器中;
请求接收单元,用于接收数据检索请求,所述数据检索请求包括检索标识;
数据检索单元,用于分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值;
数据提取单元,用于在查询到所述目标数据关键值时,在所述存储服务器中获取与所述目标数据关键值相对应的目标数据。
7.根据权利要求6所述的装置,其特征在于,所述数据预处理单元包括:
关键值提取子单元,用于预先提取所述存储服务器中目标数据的数据关键值;
关键值存储子单元,用于将所述关键值提取子单元提取的数据关键值进行划分,得到至少一个数据块,将每个所述数据块分别存储于一个内存服务器中,每个所述数据块包括至少一条数据关键值。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
数据缓存单元,用于将所述数据提取单元获取到的目标数据存储至预设的缓存区域中;
其中,所述装置还包括:
数据预检索单元,用于在所述请求接收单元接收到数据检索请求之后,在所述缓存区域中查询是否含有与当前数据检索请求中的检索标识相对应的目标数据,如果是,获取所述缓存区域中查询到的目标数据,结束当前数据检索,否则,触发所述数据检索单元。
9.根据权利要求7所述的装置,其特征在于,所述关键值存储子单元包括:
关键值划分模块,用于将所述数据关键值进行划分,得到至少一个数据块,每个所述数据块包括至少一条数据关键值;
数据块存储模块,用于将每个所述数据块按照预设的压缩存储规则分别存储于一个内存服务器中;
其中,所述压缩存储规则包括字典压缩规则、前缀压缩规则和差值压缩规则。
10.根据权利要求6所述的装置,其特征在于:
所述数据检索单元,具体用于依据倒排索引的检索规则分别在每个所述内存服务器中查询与所述检索标识相对应的目标数据关键值。
CN201310088648.4A 2013-03-19 2013-03-19 一种数据检索方法及装置 Pending CN104063384A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310088648.4A CN104063384A (zh) 2013-03-19 2013-03-19 一种数据检索方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310088648.4A CN104063384A (zh) 2013-03-19 2013-03-19 一种数据检索方法及装置

Publications (1)

Publication Number Publication Date
CN104063384A true CN104063384A (zh) 2014-09-24

Family

ID=51551100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310088648.4A Pending CN104063384A (zh) 2013-03-19 2013-03-19 一种数据检索方法及装置

Country Status (1)

Country Link
CN (1) CN104063384A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657515A (zh) * 2015-03-24 2015-05-27 深圳中兴网信科技有限公司 数据实时分析方法及系统
CN104731896A (zh) * 2015-03-18 2015-06-24 北京百度网讯科技有限公司 一种数据处理方法及系统
CN104834664A (zh) * 2015-02-02 2015-08-12 北京理工大学 面向光盘库的全文检索系统
CN104834663A (zh) * 2015-02-02 2015-08-12 北京理工大学 面向光盘库的全文检索系统
CN105302915A (zh) * 2015-12-23 2016-02-03 西安美林数据技术股份有限公司 基于内存计算的高性能数据处理系统
CN105357306A (zh) * 2015-11-17 2016-02-24 贵阳朗玛信息技术股份有限公司 多平台数据共享系统及其数据共享方法
CN106815368A (zh) * 2017-01-24 2017-06-09 腾讯科技(深圳)有限公司 一种信息检索方法及装置
CN108268571A (zh) * 2017-01-04 2018-07-10 腾讯科技(深圳)有限公司 一种特征筛选方法及装置
CN109656930A (zh) * 2018-12-27 2019-04-19 广州华多网络科技有限公司 数据查询方法、装置及系统
CN110709829A (zh) * 2017-06-05 2020-01-17 北京嘀嘀无限科技发展有限公司 一种数据处理的系统和方法
CN111813801A (zh) * 2020-09-10 2020-10-23 天云融创数据科技(北京)有限公司 一种数据检索方法及装置
CN112269905A (zh) * 2020-11-06 2021-01-26 湖南快乐阳光互动娱乐传媒有限公司 一种提高系统数据查询能力的方法及系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834664A (zh) * 2015-02-02 2015-08-12 北京理工大学 面向光盘库的全文检索系统
CN104834663A (zh) * 2015-02-02 2015-08-12 北京理工大学 面向光盘库的全文检索系统
CN104731896B (zh) * 2015-03-18 2018-11-09 北京百度网讯科技有限公司 一种数据处理方法及系统
CN104731896A (zh) * 2015-03-18 2015-06-24 北京百度网讯科技有限公司 一种数据处理方法及系统
CN104657515A (zh) * 2015-03-24 2015-05-27 深圳中兴网信科技有限公司 数据实时分析方法及系统
CN105357306A (zh) * 2015-11-17 2016-02-24 贵阳朗玛信息技术股份有限公司 多平台数据共享系统及其数据共享方法
CN105357306B (zh) * 2015-11-17 2019-06-11 贵阳朗玛信息技术股份有限公司 多平台数据共享系统及其数据共享方法
CN105302915A (zh) * 2015-12-23 2016-02-03 西安美林数据技术股份有限公司 基于内存计算的高性能数据处理系统
CN108268571A (zh) * 2017-01-04 2018-07-10 腾讯科技(深圳)有限公司 一种特征筛选方法及装置
CN106815368A (zh) * 2017-01-24 2017-06-09 腾讯科技(深圳)有限公司 一种信息检索方法及装置
CN110709829A (zh) * 2017-06-05 2020-01-17 北京嘀嘀无限科技发展有限公司 一种数据处理的系统和方法
CN110709829B (zh) * 2017-06-05 2022-10-25 北京嘀嘀无限科技发展有限公司 一种数据处理的系统和方法
CN109656930A (zh) * 2018-12-27 2019-04-19 广州华多网络科技有限公司 数据查询方法、装置及系统
CN111813801A (zh) * 2020-09-10 2020-10-23 天云融创数据科技(北京)有限公司 一种数据检索方法及装置
CN112269905A (zh) * 2020-11-06 2021-01-26 湖南快乐阳光互动娱乐传媒有限公司 一种提高系统数据查询能力的方法及系统
CN112269905B (zh) * 2020-11-06 2023-07-21 湖南快乐阳光互动娱乐传媒有限公司 一种提高系统数据查询能力的方法及系统

Similar Documents

Publication Publication Date Title
CN104063384A (zh) 一种数据检索方法及装置
US9778991B2 (en) Exporting and importing database tables in a multi-user database environment
US9195738B2 (en) Tokenization platform
US11334544B2 (en) Method, apparatus, device and medium for storing and querying data
US10698912B2 (en) Method for processing a database query
EP2863310B1 (en) Data processing method and apparatus, and shared storage device
US20160147751A1 (en) Generating an index for a table in a database background
CN102184222B (zh) 一种在大数据量存储中快速检索的方法
CN107368527B (zh) 基于数据流的多属性索引方法
US8924373B2 (en) Query plans with parameter markers in place of object identifiers
US9323798B2 (en) Storing a key value to a deleted row based on key range density
US10678779B2 (en) Generating sub-indexes from an index to compress the index
CN105117417A (zh) 一种读优化的内存数据库Trie树索引方法
CN107357843B (zh) 基于数据流结构的海量网络数据查找方法
CN102867049B (zh) 一种基于单词查找树实现的汉语拼音快速分词方法
CN102508913A (zh) 一种带有数据立方存储索引结构的云计算系统
US20220358178A1 (en) Data query method, electronic device, and storage medium
US20130041887A1 (en) Adding entries to an index based on use of the index
US20160196310A1 (en) Cross column searching a relational database table
US11520763B2 (en) Automated optimization for in-memory data structures of column store databases
US10019483B2 (en) Search system and search method
KR20140012377A (ko) 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체
Ma et al. A retrieval optimized surveillance video storage system for campus application scenarios
CN111522820A (zh) 数据存储结构、存储检索方法、系统、设备及存储介质
CN105426389A (zh) 一种基于ui界面树型目录视图的模糊检索定位方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: SHANGHAI MIUSI INFORMATION TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SHANGHAI RUANZHI INFORMATION SCIENCE + TECHNOLOGY CO., LTD.

Effective date: 20140924

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 200072 ZHABEI, SHANGHAI TO: 200042 ZHABEI, SHANGHAI

TA01 Transfer of patent application right

Effective date of registration: 20140924

Address after: 200042, room 7, building 700, Wanrong Road, Zhabei District, Shanghai,

Applicant after: SHANGHAI MUSE INFORMATION SCIENCE & TECHNOLOGY CO., LTD.

Address before: Zhabei District ejon 200072 Shanghai 777 Lane 55, room 1503

Applicant before: Shanghai Ruanzhi Information Science & Technology Co., Ltd.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140924