CN102033870A - 数据查找方法及装置 - Google Patents

数据查找方法及装置 Download PDF

Info

Publication number
CN102033870A
CN102033870A CN2009100927774A CN200910092777A CN102033870A CN 102033870 A CN102033870 A CN 102033870A CN 2009100927774 A CN2009100927774 A CN 2009100927774A CN 200910092777 A CN200910092777 A CN 200910092777A CN 102033870 A CN102033870 A CN 102033870A
Authority
CN
China
Prior art keywords
data
scope
key word
row
numerical value
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.)
Granted
Application number
CN2009100927774A
Other languages
English (en)
Other versions
CN102033870B (zh
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.)
China Mobile Communications Group Co Ltd
China Mobile Communications Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group 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 China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN 200910092777 priority Critical patent/CN102033870B/zh
Publication of CN102033870A publication Critical patent/CN102033870A/zh
Application granted granted Critical
Publication of CN102033870B publication Critical patent/CN102033870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种数据查找方法及装置,用以解决采用现有技术提供的数据查找方式的查找效率比较低的问题。其中,本发明实施例提供的该方法包括步骤:数据查找装置获得用户提供的数据查找条件;根据所述数据查找条件,按照预设的行关键字所在范围的确定方式,确定用户需要查找的数据在数据存储系统中所在行对应的行关键字所在范围;所述数据查找装置根据所述确定的范围,从预先按照预设的行关键字确定方式确定的、与数据存储系统中各行数据分别对应的行关键字中,确定处于所述确定的范围内的行关键字;所述数据查找装置根据所述确定的行关键字,查找与所述确定的行关键字对应的行中的数据。

Description

数据查找方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据查找方法及装置。
背景技术
BigTable是一种用于存储结构化/半结构化数据的表,对该表中存储的数据进行查找时,对行关键字(Rowkey)的选取是很关键的,这将直接关系到查找效率的高低。
为了实现对BigTable的查找,在建立BigTable时,通常选取BigTable的某一列中的数据分别作为该列中的各数据所在行的Rowkey,一般地,被选取的该列中各数据的取值不能有重复,以保证Rowkey的唯一性。现有技术中的数据查找方式是:数据查找装置根据用户输入的数据查找条件,确定该条件中包含的、与上述选取的列中的数据一致的数据,并以该数据作为Rowkey,查找该Rowkey所在的行,最终以查找到的行中的数据作为查找结果,这种查找方式的缺陷在于,当数据查找条件中不包含上述选取的列中的数据时,不得不采用遍历查找的方式对数据进行查找,从而会导致查找效率比较低。
发明内容
本发明实施例提供一种数据查找方法及装置,用以解决采用现有技术提供的数据查找方式的查找效率比较低的问题。
为此,本发明实施例采用以下技术方案:
一种数据查找方法,包括:数据查找装置获得用户提供的数据查找条件;
根据所述数据查找条件,按照预设的行关键字所在范围的确定方式,确定用户需要查找的数据在数据存储系统中所在行对应的行关键字所在范围;所述数据查找装置根据所述确定的范围,从预先按照预设的行关键字确定方式确定的、与数据存储系统中各行数据分别对应的行关键字中,确定处于所述确定的范围内的行关键字;所述数据查找装置根据所述确定的行关键字,查找与所述确定的行关键字对应的行中的数据。
较佳地,所述预设的行关键字的确定方式具体为:所述数据查找装置根据预设的用于将所述数据存储系统的各列中的数据映射为数值的映射函数,分别将所述数据存储系统中的各数据映射为数值;所述数据查找装置利用所述各数据映射的数值,针对所述数据存储系统中的任意一行数据,按照下述公式,执行对该行数据对应的行关键字的计算:
Rowkey r = Σ q = 1 n ( N rq · Π p = q + 1 n C p )
其中,r为该行数据所在行的行序列号;Rowkeyr为该第r行数据所对应的行关键字;n为所述数据存储系统的总列数;q为该第r行中的数据所在列的列序号;Nrq为该第r行中位于第q列的数据所映射的数值;Cp为位于第p列的数据的势。
较佳地,所述数据查找装置根据所述数据查找条件,按照预设的行关键字所在范围的确定方式,确定用户需要查找的数据在数据存储系统中所在行的行关键字所在范围具体为:所述数据查找装置根据所述数据查找条件以及所述数据存储系统中各列的排列顺序,确定用户需要查找的数据所在的列,并判断确定的该列是否为第一列;当判断结果为是时,所述数据查找装置按照预设的第一范围确定方式,确定与所述数据查找条件相对应的行关键字所在范围;当判断结果为否时,所述数据查找装置按照预设的第二范围确定方式,确定与所述数据查找条件相对应的行关键字所在范围。
较佳地,所述数据查找装置按照预设的第一范围确定方式,确定与所述数据查找条件相对应的行关键字所在范围具体包括:所述数据查找装置根据所述数据查找条件,确定用户需要查找的数据所在范围;当确定结果为用户需要查找的数据所在范围为大于第一数据时,所述数据查找装置确定所述第一数据映射的数值x,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w > x · Π j = m + 1 n D j
其中,m为所述需要查找的数据所在的列的序号;n为所述数据存储系统的总列数;Rowkeyw为所述数据查找条件所对应的行关键字;Dj为第j列数据的势;当确定结果为用户需要查找的数据所在范围为小于第二数据时,所述数据查找装置确定所述第二数据映射的数值y,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w < y &CenterDot; &Pi; j = m + 1 n D j
当确定结果为用户需要查找的数据所在范围为等于第三数据时,所述数据查找装置确定所述第三数据映射的数值z,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Sigma; j = m + 1 n D j &le; Rowkey w < z 1 &CenterDot; &Sigma; j = m + 1 n D j
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
较佳地,所述数据查找装置按照预设的第二范围确定方式,确定与所述数据查找条件相对应的行关键范围具体包括:所述数据查找装置根据所述数据查找条件,确定用户需要查找的数据所在范围;当确定结果为用户需要查找的数据所在范围为大于第一数据时,所述数据查找装置确定所述第一数据映射的数值x,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) > x &CenterDot; &Pi; j = m + 1 n D j
其中,Rowkeyw为所述数据查找条件所对应的行关键字;%表示对Rowkeyw
Figure B2009100927774D0000041
执行整除并取模;Di为第i列数据的势,Dj为第j列数据的势;当确定结果为用户需要查找的数据所在范围为小于第二数据时,所述数据查找装置确定所述第二数据映射的数值y,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) < y &CenterDot; &Pi; j = m + 1 n D j
当确定结果为用户需要查找的数据所在范围为等于第三数据时,所述数据查找装置确定所述第三数据映射的数值z,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Pi; j = m + 1 n D j &le; Rowkey w % ( &Pi; i = m n D i ) < z 1 &CenterDot; &Pi; j = m + 1 n D j
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
一种数据查找装置,包括:获得单元,用于获得用户提供的数据查找条件;范围确定单元,用于根据获得单元获得的数据查找条件,按照预设的行关键字所在范围的确定方式,确定用户需要查找的数据在数据存储系统中所在行对应的行关键字所在范围;行关键字确定单元,用于根据范围确定单元确定的范围,从预先按照预设的行关键字确定方式确定的、与数据存储系统中各行数据分别对应的行关键字中,确定处于所述确定的范围内的行关键字;查找单元,用于根据所述行关键字确定单元确定的行关键字,查找与所述确定的行关键字对应的行中的数据。
本发明实施例通过针对数据存储系统中的各行数据,预先确定分别与各行数据对应的行关键字,后续数据查找装置根据用户提供的数据查找条件,可以首先确定用户需要查找的数据在数据存储系统中所在行的行关键字所在范围,进而确定处于该确定的范围内的行关键字,从而实现查找与所述确定的行关键字对应的行中的数据,由于本发明实施例采用的方案中,数据存储系统的一行数据中包含的大量数据被映射为一个行关键字,并将对大量数据进行的查找操作转换为对少量行关键字的查找操作,因此,与现有技术相比,本发明实施例提供的数据查找方案具有较高的查找效率,解决了现有技术提供的数据查找方式的查找效率比较低的问题。
附图说明
图1为本发明实施例提供的一种数据查找方法的具体流程示意图;
图2为本发明实施例提供的一种数据查找装置的具体结构示意图。
具体实施方式
本发明实施例提供一种数据查找方案,通过针对数据存储系统中的各行数据,预先确定分别与各行数据对应的行关键字,并根据用户提供的数据查找条件,确定用户需要查找的数据在数据存储系统中所在行的行关键字所在范围,从而将对大量数据进行的查找操作转换为对少量行关键字的查找操作,因此具有较高的查找效率。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
本发明实施例首先提供一种数据查找方法,该方法的具体流程示意图如图1所示,包括以下步骤:
步骤11,数据查找装置获得用户提供的数据查找条件;
步骤12,数据查找装置根据该数据查找条件,按照预设的行关键字所在范围的确定方式,确定用户需要查找的数据在数据存储系统中所在行的行关键字所在范围;
步骤13,数据查找装置根据步骤12中确定的范围,从预先按照预设的行关键字确定方式确定的、与数据存储系统中各行数据分别对应的行关键字中,确定处于该确定的范围内的行关键字;
步骤14,数据查找装置根据步骤13中确定的行关键字,查找与该确定的行关键字对应的行中的数据。
在本发明实施例中,预设的行关键字的确定方式可以但不限于为如下方式:
首先,数据查找装置根据预设的用于将数据存储系统的各列中的数据映射为数值的映射函数,分别将数据存储系统中的各数据映射为数值;
然后,数据查找装置利用所述各数据映射的数值,确定与数据存储系统中的各行数据分别对应的行关键字。
以下以一个实际例子,具体介绍上述行关键字的确定方式,比如,数据存储系统中的数据按照下表1的形式进行存储:
表1:
  姓名   年龄   性别
  张三   20   男
  李四   95   女
  王二   2   女
按照表1存储数据的特点,在本发明实施例中,针对姓名所在的一列数据,可以将按照将第一个名字“张三”映射为数值0,而将第二个名字“李四”映射为数值1,并将第三个名字“王二”映射为数值2,以此类推,将不同的名字分别映射为不同的数值,该列各数据所映射的数值中,最小值为0,最大值为2,而该列数据的势则为2-0+1=3;针对姓名所在的第二列数据,可以按照年龄的数字与映射得到的数值完全对应的方式将年龄映射为数值,比如,将第二列第一行的年龄20映射为数值20,将第二列第二行的年龄95映射为数值95,以此类推,根据人类平均年龄一般不会超过130岁的特点,第二列各数据所映射的数值中,最小值为0,最大值为130,本列数据的势为131;针对性别所在的第三列数据,由于性别只有两种可能,因此,可以将“男”映射为数值0,而将“女”映射为数值1,本列数据的势为2。
在本发明实施例中,将数据映射为数值后,按照上述可知,还需要利用各数据映射的数值,确定与数据存储系统中的各行数据分别对应的行关键字,具体地,数据查找装置可以针对数据存储系统中的任意一行数据,按照下述公式(1),执行对该行数据对应的行关键字的计算:
Rowkey r = &Sigma; q = 1 n ( N rq &CenterDot; &Pi; p = q + 1 n C p ) - - - ( 1 )
其中,r为该行数据所在行的行序列号;Rowkeyr为该第r行数据所对应的行关键字;n为数据存储系统的总列数;q为该第r行中的数据所在列的列序号;Nrq为该第r行中位于第q列的数据所映射的数值;Cp为位于第p列的数据的势。需要说明的时,当q=n时,此时p=n+1,由于此时Cp=Cn+1不存在,因此,在本发明实施例中,针对该情况,设置Cn+1=1。
比如,以上述表1为例,针对表1的第一行数据,按照公式(1)计算该行数据对应的行关键字具体如下:
Rowkey 1 = &Sigma; q = 1 n ( N 1 q &CenterDot; &Pi; p = q + 1 n C p ) = N 11 C 2 C 3 + N 12 C 3 + N 13 = 0 &times; 131 &times; 2 + 20 &times; 2 + 1 = 41
Rowkey 2 = &Sigma; q = 1 n ( N 2 q &CenterDot; &Pi; p = q + 1 n C p ) = N 21 C 2 C 3 + N 22 C 3 + N 23 = 1 &times; 131 &times; 2 + 95 &times; 2 + 0 = 452
Rowkey 3 = &Sigma; q = 1 n ( N 3 q &CenterDot; &Pi; p = q + 1 n C p ) = N 31 C 2 C 3 + N 32 C 3 + N 33 = 2 &times; 131 &times; 2 + 2 &times; 2 + 0 = 528
以上是关于本发明实施例中采用的行关键字的确定方式的介绍,下面则对本发明实施例中预设的行关键字所在范围的确定方式进行介绍:
首先,数据查找装置根据用户提供的数据查找条件以及数据存储系统中各列的排列顺序,确定用户需要查找的数据所在的列,并判断确定的该列是否为第一列;当判断结果为是时,数据查找装置按照预设的第一范围确定方式,确定与用户提供的数据查找条件相对应的行关键字所在范围;而当判断结果为否时,数据查找装置按照预设的第二范围确定方式,确定与用户提供的数据查找条件相对应的行关键字所在范围。
具体地,数据查找装置按照预设的第一范围确定方式,确定与数据查找条件相对应的行关键字所在范围具体可以包括如下步骤:
首先,数据查找装置根据用户提供的数据查找条件,确定用户需要查找的数据所在范围;
然后,数据查找装置根据可能出现的三种情况,执行下述操作:
情况一、当确定结果为用户需要查找的数据所在范围为大于第一数据时,数据查找装置确定第一数据映射的数值x,并按照下述公式(2),执行与数据查找条件相对应的行关键字所在范围的计算:
Rowkey w > x &CenterDot; &Pi; j = m + 1 n D j - - - ( 2 )
其中,m为需要查找的数据所在的列的序号;n为数据存储系统的总列数;Rowkeyw为数据查找条件所对应的行关键字;Dj为第j列数据的势;
情况二、当确定结果为用户需要查找的数据所在范围为小于第二数据时,数据查找装置确定第二数据映射的数值y,并按照下述公式(3),执行与数据查找条件相对应的行关键字所在范围的计算:
Rowkey w < y &CenterDot; &Pi; j = m + 1 n D j - - - ( 3 )
公式中各符号的含义与式(2)中各符号的含义类似,在此不再赘述。
情况三、当确定结果为用户需要查找的数据所在范围为等于第三数据时,数据查找装置确定第三数据映射的数值z,并按照下述公式(4),执行与数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Pi; j = m + 1 n D j &le; Rowkey w < z 1 &CenterDot; &Pi; j = m + 1 n D j - - - ( 4 )
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
而数据查找装置按照预设的第二范围确定方式,确定与数据查找条件相对应的行关键字所在范围则可以具体包括以下步骤:
首先,数据查找装置仍然需要根据数据查找条件,确定用户需要查找的数据所在范围;
然后,数据查找装置根据可能出现的三种情况,执行下述操作:
情况一、当确定结果为用户需要查找的数据所在范围为大于第一数据时,数据查找装置确定第一数据映射的数值x,并按照下述公式(5),执行与数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) > x &CenterDot; &Pi; j = m + 1 n D j - - - ( 5 )
其中,Rowkeyw为数据查找条件所对应的行关键字;%表示对Rowkeyw
Figure B2009100927774D0000092
执行整除并取模;Di为第i列数据的势,Dj为第j列数据的势;
情况二、当确定结果为用户需要查找的数据所在范围为小于第二数据时,数据查找装置确定所述第二数据映射的数值y,并按照下述公式(6),执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) < y &CenterDot; &Pi; j = m + 1 n D j - - - ( 6 )
式(6)中各符号的含义与式(5)类似,在此不再赘述;
情况三、当确定结果为用户需要查找的数据所在范围为等于第三数据时,数据查找装置确定第三数据映射的数值z,并按照下述公式(7),执行与数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Pi; j = m + 1 n D j &le; Rowkey w % ( &Pi; i = m n D i ) < z 1 &CenterDot; &Pi; j = m + 1 n D j - - - ( 7 )
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
以表1为例,若用户查找的是与姓名为“李四”的人相关的数据,则根据姓名所在列为第一列,并且根据确定出的用户需要查找的“李四”这一数据所在范围为等于一个数据,则数据查找装置确定应该使用公式(4)来计算“李四”所在行的行关键字所在范围,根据“李四”所映射的数值1,而第一列中比1大的数值中最小的数值为2,因此,将具体数值代入公式(4),可计算出:
1×131×2≤Rowkeyw<2×131×2
即:
262≤Rowkeyw<524
因此,根据上述计算得到的范围,数据查找装置确定处于该确定的范围内的行关键字,并根据确定的行关键字,查找与该确定的行关键字对应的行中的数据。
而若用户查找的是年龄小于30岁的人,则根据年龄所在列不为第一列,并且根据确定出的用户需要查找的“年龄小于30岁的人”这一数据所在范围为小于一个数据,则数据查找装置确定应该使用公式(6),来计算“李四”所在行的行关键字所在范围,将具体数值代入公式(4),可计算出:
Rowkeyw%(131×2)<30·2
即:
Rowkeyw%262<60
从而可以确定Rowkeyw所在的范围为[0,60),或者[262,322),或者[524,584),可见,上述计算得到的Rowkey1、Rowkey3均在该范围之内,因此,数据查找装置根据确定的行关键字Rowkey1、Rowkey3,分别查找与Rowkey1、Rowkey3对应的行中的数据。
相应地,本发明实施例还提供了一种数据查找装置,用以解决采用现有技术提供的数据查找方式的查找效率比较低的问题,该装置的具体结构示意图如图2所示,包括以下功能单元:
获得单元21,用于获得用户提供的数据查找条件;
范围确定单元22,用于根据获得单元获21得的数据查找条件,按照预设的行关键字所在范围的确定方式,确定用户需要查找的数据在数据存储系统中所在行对应的行关键字所在范围;
行关键字确定单元23,用于根据范围确定单元22确定的范围,从预先按照预设的行关键字确定方式确定的、与数据存储系统中各行数据分别对应的行关键字中,确定处于范围确定单元22确定的范围内的行关键字;
查找单元24,用于根据行关键字确定单元23确定的行关键字,查找与确定的行关键字对应的行中的数据。
较佳地,为了按照预设的行关键字确定方式实现对行关键字的确定,本发明实施例提供的该装置还可以包括映射单元和确定单元,其中,映射单元用于根据预设的用于将数据存储系统的各列中的数据映射为数值的映射函数,分别将数据存储系统中的各数据映射为数值;
确定单元则用于利用映射单元得到的各数据映射的数值,针对数据存储系统中的任意一行数据,按照下述公式,执行对该行数据对应的行关键字的计算:
Rowkey r = &Sigma; q = 1 n ( N rq &CenterDot; &Pi; p = q + 1 n C p )
其中,r为该行数据所在行的行序列号;Rowkeyr为该第r行数据所对应的行关键字;n为该第r行数据所在的总列数;q为该第r行中的数据所在列的列序号;Nrq为该第r行中位于第q列的数据所映射的数值;Cp为位于第p列的数据的势。
较佳地,针对本发明实施例中范围确定单元功能的一种实现方式,可以将范围确定单元划分为以下功能模块:
列确定模块,用于根据用户提供的数据查找条件以及数据存储系统中各列的排列顺序,确定用户需要查找的数据所在的列;判断模块,用于判断列确定模块确定的列是否为第一列;第一确定模块,用于当判断模块得到的判断结果为是时,按照预设的第一范围确定方式,确定与用户提供的数据查找条件相对应的行关键字所在范围;第二确定模块,用于当判断模块得到的判断结果为否时,按照预设的第二范围确定方式,确定与数据查找条件相对应的行关键字所在范围。
针对上述第一确定模块功能的一种实现方式,本发明实施例中可以将第一确定模块具体划分为以下子模块:
确定子模块,用于根据所述数据查找条件,确定用户需要查找的数据所在范围;执行子模块,用于当确定子模块得到的确定结果为用户需要查找的数据所在范围为大于第一数据时,确定所述第一数据映射的数值x,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w > x &CenterDot; &Pi; j = m + 1 n D j
其中,m为所述需要查找的数据所在的列的序号;n为所述数据存储系统的总列数;Rowkeyw为所述数据查找条件所对应的行关键字;Dj为第j列中的数据的势;以及当确定子模块得到的确定结果为用户需要查找的数据所在范围为小于第二数据时,确定所述第二数据映射的数值y,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w < y &CenterDot; &Pi; j = m + 1 n D j
以及当确定子模块得到的确定结果为用户需要查找的数据所在范围为等于第三数据时,确定所述第三数据映射的数值z,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Sigma; j = m + 1 n D j &le; Rowkey w < z 1 &CenterDot; &Sigma; j = m + 1 n D j
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
针对上述第二确定模块功能的一种实现方式,本发明实施例中可以将第二确定模块具体划分为以下子模块:
确定子模块,用于根据所述数据查找条件,确定用户需要查找的数据所在范围;执行子模块,用于当确定子模块得到的确定结果为用户需要查找的数据所在范围为大于第一数据时,确定所述第一数据映射的数值x,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) > x &CenterDot; &Pi; j = m + 1 n D j
其中,Rowkeyw为所述数据查找条件所对应的行关键字;%表示对Rowkeyw执行整除并取模;Di为第i列数据的势,Dj为第j列数据的势;以及当确定子模块得到的确定结果为用户需要查找的数据所在范围为小于第二数据时,确定该第二数据映射的数值y,并按照下述公式,执行与数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) < y &CenterDot; &Pi; j = m + 1 n D j
以及当确定子模块得到的确定结果为用户需要查找的数据所在范围为等于第三数据时,确定第三数据映射的数值z,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Pi; j = m + 1 n D j &le; Rowkey w % ( &Pi; i = m n D i ) < z 1 &CenterDot; &Pi; j = m + 1 n D j
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据查找方法,其特征在于,包括:
数据查找装置获得用户提供的数据查找条件;
根据所述数据查找条件,按照预设的行关键字所在范围的确定方式,确定用户需要查找的数据在数据存储系统中所在行对应的行关键字所在范围;
所述数据查找装置根据所述确定的范围,从预先按照预设的行关键字确定方式确定的、与数据存储系统中各行数据分别对应的行关键字中,确定处于所述确定的范围内的行关键字;
所述数据查找装置根据所述确定的行关键字,查找与所述确定的行关键字对应的行中的数据。
2.如权利要求1所述的方法,其特征在于,所述预设的行关键字的确定方式具体为:
所述数据查找装置根据预设的用于将所述数据存储系统的各列中的数据映射为数值的映射函数,分别将所述数据存储系统中的各数据映射为数值;
所述数据查找装置利用所述各数据映射的数值,针对所述数据存储系统中的任意一行数据,按照下述公式,执行对该行数据对应的行关键字的计算:
Rowkey r = &Sigma; q = 1 n ( N rq &CenterDot; &Pi; p = q + 1 n C p )
其中,r为该行数据所在行的行序列号;Rowkeyr为该第r行数据所对应的行关键字;n为所述数据存储系统的总列数;q为该第r行中的数据所在列的列序号;Nrq为该第r行中位于第q列的数据所映射的数值;Cp为位于第p列的数据的势。
3.如权利要求1或2所述的方法,其特征在于,所述数据查找装置根据所述数据查找条件,按照预设的行关键字所在范围的确定方式,确定用户需要查找的数据在数据存储系统中所在行的行关键字所在范围具体为:
所述数据查找装置根据所述数据查找条件以及所述数据存储系统中各列的排列顺序,确定用户需要查找的数据所在的列,并判断确定的该列是否为第一列;
当判断结果为是时,所述数据查找装置按照预设的第一范围确定方式,确定与所述数据查找条件相对应的行关键字所在范围;
当判断结果为否时,所述数据查找装置按照预设的第二范围确定方式,确定与所述数据查找条件相对应的行关键字所在范围。
4.如权利要求3所述的方法,其特征在于,所述数据查找装置按照预设的第一范围确定方式,确定与所述数据查找条件相对应的行关键字所在范围具体包括:
所述数据查找装置根据所述数据查找条件,确定用户需要查找的数据所在范围;
当确定结果为用户需要查找的数据所在范围为大于第一数据时,所述数据查找装置确定所述第一数据映射的数值x,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w > x &CenterDot; &Pi; j = m + 1 n D j
其中,m为所述需要查找的数据所在的列的序号;n为所述数据存储系统的总列数;Rowkeyw为所述数据查找条件所对应的行关键字;Dj为第j列数据的势;
当确定结果为用户需要查找的数据所在范围为小于第二数据时,所述数据查找装置确定所述第二数据映射的数值y,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w < y &CenterDot; &Pi; j = m + 1 n D j
当确定结果为用户需要查找的数据所在范围为等于第三数据时,所述数据查找装置确定所述第三数据映射的数值z,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Sigma; j = m + 1 n D j &le; Rowkey w < z 1 &CenterDot; &Sigma; j = m + 1 n D j
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
5.如权利要求3所述的方法,其特征在于,所述数据查找装置按照预设的第二范围确定方式,确定与所述数据查找条件相对应的行关键范围具体包括:
所述数据查找装置根据所述数据查找条件,确定用户需要查找的数据所在范围;
当确定结果为用户需要查找的数据所在范围为大于第一数据时,所述数据查找装置确定所述第一数据映射的数值x,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) > x &CenterDot; &Pi; j = m + 1 n D j
其中,Rowkeyw为所述数据查找条件所对应的行关键字;%表示对Rowkeyw
Figure F2009100927774C0000033
执行整除并取模;Di为第i列数据的势,Dj为第j列数据的势;
当确定结果为用户需要查找的数据所在范围为小于第二数据时,所述数据查找装置确定所述第二数据映射的数值y,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) < y &CenterDot; &Pi; j = m + 1 n D j
当确定结果为用户需要查找的数据所在范围为等于第三数据时,所述数据查找装置确定所述第三数据映射的数值z,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Pi; j = m + 1 n D j &le; Rowkey w % ( &Pi; i = m n D i ) < z 1 &CenterDot; &Pi; j = m + 1 n D j
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
6.一种数据查找装置,其特征在于,包括:
获得单元,用于获得用户提供的数据查找条件;
范围确定单元,用于根据获得单元获得的数据查找条件,按照预设的行关键字所在范围的确定方式,确定用户需要查找的数据在数据存储系统中所在行对应的行关键字所在范围;
行关键字确定单元,用于根据范围确定单元确定的范围,从预先按照预设的行关键字确定方式确定的、与数据存储系统中各行数据分别对应的行关键字中,确定处于所述确定的范围内的行关键字;
查找单元,用于根据所述行关键字确定单元确定的行关键字,查找与所述确定的行关键字对应的行中的数据。
7.如权利要求6所述的装置,其特征在于,所述装置还包括映射单元和确定单元,所述预设的行关键字的确定方式具体为:
所述映射单元根据预设的用于将所述数据存储系统的各列中的数据映射为数值的映射函数,分别将所述数据存储系统中的各数据映射为数值;
所述确定单元利用所述映射单元得到的各数据映射的数值,针对所述数据存储系统中的任意一行数据,按照下述公式,执行对该行数据对应的行关键字的计算:
Rowkey r = &Sigma; q = 1 n ( N rq &CenterDot; &Pi; p = q + 1 n C p )
其中,r为该行数据所在行的行序列号;Rowkeyr为该第r行数据所对应的行关键字;n为所述数据存储系统的总列数;q为该第r行中的数据所在列的列序号;Nrq为该第r行中位于第q列的数据所映射的数值;Cp为位于第p列的数据的势。
8.如权利要求6或7所述的装置,其特征在于,所述范围确定单元具体包括:
列确定模块,用于根据所述数据查找条件以及所述数据存储系统中各列的排列顺序,确定用户需要查找的数据所在的列;
判断模块,用于判断列确定模块确定的列是否为第一列;
第一确定模块,用于当判断模块得到的判断结果为是时,按照预设的第一范围确定方式,确定与所述数据查找条件相对应的行关键字所在范围;
第二确定模块,用于当判断模块得到的判断结果为否时,按照预设的第二范围确定方式,确定与所述数据查找条件相对应的行关键字所在范围。
9.如权利要求8所述的装置,其特征在于,所述第一确定模块具体包括:
确定子模块,用于根据所述数据查找条件,确定用户需要查找的数据所在范围;
执行子模块,用于当确定子模块得到的确定结果为用户需要查找的数据所在范围为大于第一数据时,确定所述第一数据映射的数值x,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w > x &CenterDot; &Pi; j = m + 1 n D j
其中,m为所述需要查找的数据所在的列的序号;n为所述数据存储系统的总列数;Rowkeyw为所述数据查找条件所对应的行关键字;Dj为第j列中的数据的势;以及当确定子模块得到的确定结果为用户需要查找的数据所在范围为小于第二数据时,确定所述第二数据映射的数值y,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w < y &CenterDot; &Pi; j = m + 1 n D j
以及当确定子模块得到的确定结果为用户需要查找的数据所在范围为等于第三数据时,确定所述第三数据映射的数值z,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Sigma; j = m + 1 n D j &le; Rowkey w < z 1 &CenterDot; &Sigma; j = m + 1 n D j
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
10.如权利要求8所述的装置,其特征在于,所述第二确定模块具体包括:
确定子模块,用于根据所述数据查找条件,确定用户需要查找的数据所在范围;
执行子模块,用于当确定子模块得到的确定结果为用户需要查找的数据所在范围为大于第一数据时,确定所述第一数据映射的数值x,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) > x &CenterDot; &Pi; j = m + 1 n D j
其中,Rowkeyw为所述数据查找条件所对应的行关键字;%表示对Rowkeyw
Figure F2009100927774C0000062
执行整除并取模;Di为第i列数据的势,Dj为第j列数据的势;以及当确定子模块得到的确定结果为用户需要查找的数据所在范围为小于第二数据时,确定所述第二数据映射的数值y,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
Rowkey w % ( &Pi; i = m n D i ) < y &CenterDot; &Pi; j = m + 1 n D j
以及当确定子模块得到的确定结果为用户需要查找的数据所在范围为等于第三数据时,确定所述第三数据映射的数值z,并按照下述公式,执行与所述数据查找条件相对应的行关键字所在范围的计算:
z &CenterDot; &Pi; j = m + 1 n D j &le; Rowkey w % ( &Pi; i = m n D i ) < z 1 &CenterDot; &Pi; j = m + 1 n D j
其中,z1为从第m列的各数据所映射的数值中,选取的比z大的数值中的最小数值。
CN 200910092777 2009-09-24 2009-09-24 数据查找方法及装置 Active CN102033870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910092777 CN102033870B (zh) 2009-09-24 2009-09-24 数据查找方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910092777 CN102033870B (zh) 2009-09-24 2009-09-24 数据查找方法及装置

Publications (2)

Publication Number Publication Date
CN102033870A true CN102033870A (zh) 2011-04-27
CN102033870B CN102033870B (zh) 2013-04-24

Family

ID=43886784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910092777 Active CN102033870B (zh) 2009-09-24 2009-09-24 数据查找方法及装置

Country Status (1)

Country Link
CN (1) CN102033870B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186651A (zh) * 2011-12-31 2013-07-03 中国移动通信集团公司 一种分布式关系数据库及其建立、查询方法和装置
CN104750681A (zh) * 2013-12-25 2015-07-01 中国移动通信集团辽宁有限公司 一种海量数据的处理方法及装置
CN105320746A (zh) * 2015-09-25 2016-02-10 北京北信源软件股份有限公司 一种基于大数据的索引获取方法及系统
CN105335484A (zh) * 2015-10-14 2016-02-17 四川长虹电器股份有限公司 数字卫星接收机数据库快速更新的方法
CN106156314A (zh) * 2016-06-30 2016-11-23 珠海市魅族科技有限公司 一种数据操作方法及装置、数据查找方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1122232C (zh) * 1998-08-26 2003-09-24 英业达股份有限公司 同时进行多个搜寻引擎检索的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186651A (zh) * 2011-12-31 2013-07-03 中国移动通信集团公司 一种分布式关系数据库及其建立、查询方法和装置
CN104750681A (zh) * 2013-12-25 2015-07-01 中国移动通信集团辽宁有限公司 一种海量数据的处理方法及装置
CN104750681B (zh) * 2013-12-25 2018-02-23 中国移动通信集团辽宁有限公司 一种海量数据的处理方法及装置
CN105320746A (zh) * 2015-09-25 2016-02-10 北京北信源软件股份有限公司 一种基于大数据的索引获取方法及系统
CN105335484A (zh) * 2015-10-14 2016-02-17 四川长虹电器股份有限公司 数字卫星接收机数据库快速更新的方法
CN106156314A (zh) * 2016-06-30 2016-11-23 珠海市魅族科技有限公司 一种数据操作方法及装置、数据查找方法及装置
CN106156314B (zh) * 2016-06-30 2019-09-20 珠海市魅族科技有限公司 一种数据操作方法及装置、数据查找方法及装置

Also Published As

Publication number Publication date
CN102033870B (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
CN102033870B (zh) 数据查找方法及装置
Bauer Constructing confidence sets using rank statistics
CN103092604B (zh) 一种应用程序分类方法和装置
Lee et al. Various shadowing properties and their equivalence
CN103222185A (zh) 具有低功率模式的晶体振荡器
CN105830022A (zh) 访问文件的方法和装置
CN103678714B (zh) 实体知识库的构建方法和装置
US20170123630A1 (en) Electronic device and method for searching data
CN103699623A (zh) 地理编码实现方法和装置
CN107832324B (zh) 提供场境事实
CN112256698A (zh) 一种基于多哈希函数的表关系自动关联方法
CN106599009A (zh) 一种地图数据的显示方法及装置
Holá et al. New characterizations of minimal cusco maps
CN104281275A (zh) 一种英文的输入方法和装置
CN104252290B (zh) 信息处理的方法及电子设备
CN103164394B (zh) 一种基于万有引力的文本相似度计算方法
CN102156594A (zh) 触控感测系统、电容感测电路及电容感测方法
US8769472B1 (en) Computing device and method for checking signal transmission line
CN104199937A (zh) 一种多网站poi的位置映射方法及装置
Berteloot Holomorphic vector fields and proper holomorphic self-maps of Reinhardt domains
CN109710927A (zh) 命名实体的识别方法、装置、可读存储介质及电子设备
CN104461451A (zh) 适于8位单片机的经度、纬度和高程数据的处理方法
CN203561983U (zh) 一种计算机测试ocio功能板卡
IN2014CH00949A (zh)
CN104123283A (zh) 一种搜索目标数据的方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170109

Address after: Kolding road high tech Zone of Suzhou City, Jiangsu Province, No. 78 215163

Patentee after: CHINA MOBILE (SUZHOU) SOFTWARE TECHNOLOGY CO., LTD.

Patentee after: China Mobile Communications Co., Ltd.

Patentee after: China Mobile Communications Corp.

Address before: 100032 Beijing Finance Street, No. 29, Xicheng District

Patentee before: China Mobile Communications Corp.