用于执行数字搜索的方法、系统和计算机程序产品技术方案

技术编号:17012878 阅读:37 留言:0更新日期:2018-01-11 10:01
用于执行与生物识别信息相关的数字搜索的方法和系统,该方法包括:生成表示待搜索项的生物识别特征的主搜索关键字;将主搜索关键字划分成至少两个子关键字,每个子关键字包括预定数量的位;获得索引表的集合,每个索引表包括多于一个的关键字值,每个关键字值与相应的索引值相关联,其中集合中的索引表的数量等于主搜索关键字内的子关键字的数量;在所述索引表的集合的第一个中识别匹配主搜索关键字的第一子关键字的至少一个关键字值;对每个所识别的关键字值获得指向下一索引表中的关键字值的有限部分的相应索引值;在所述下一索引表的所述有限部分中识别匹配主搜索关键字的下一个子关键字的至少一个关键字值;重复获得索引值并和搜索下一索引表的有限部分的步骤,直到主搜索关键字的所有子关键字都被搜索为止;当搜索了主搜索关键字的最后一个子关键字时返回结果。

【技术实现步骤摘要】
【国外来华专利技术】用于执行数字搜索的方法、系统和计算机程序产品
本专利技术涉及用于执行与生物识别信息(biometricinformation)相关的数字搜索的方法、系统和计算机程序产品。背景在现今的大量应用中使用生物识别信息。诸如指纹、掌纹、虹膜表示、面部识别、DNA、语音样本等的生物识别标识(Biometricidentifier)可以用于诸如识别、认证等的几个目的。当生成这种信息的数据表示时,它常常导致非常大量的数据。大于25千兆字节的数据表并不罕见。因此,在包括生物识别信息的这样的数据库内的搜索可能是耗时的,以及要求高水平的处理能力。传统上,通过使用在排序的索引表内的数字搜索关键字来执行在生物识别数据库内的搜索。存在其他类型的搜索算法,例如线性搜索,其中使用索引或指针对照存储在索引表中的条目值来测试关键字,使索引或指针以1的步长递增或递减,直到一个或更多个匹配条目被找到为止,或直到索引表中的所有条目直到整个索引表被搜索时没有任何匹配的条目为止。表常常放置在能够包括大量数据的主存储器中。现代计算机和服务器常常可以访问几个相关的处理单元(核心),每个处理单元包括快速存储器的小区域,被称为高速缓存存储器。此外,诸如公共随机存取存储器(RAM)的主存储器可以由相关处理单元共享。因为高速缓存存储器在存储器容量方面受到限制,假定搜索需要被重定向到主存储器,在大数据量内执行搜索是耗时的。源自不同核心中执行的线程的对主存储器的多于一个的同时或几乎同时发生的查询可能明显降级包括主存储器的计算机或服务器的性能。例如,现代处理器(如Inteli7或类似处理器)可以包括4个核心,每个核心具有8MB的高速缓存存储器和32GB的共享主存储器。包括生物识别信息的数据库可以具有大约20GB或有时更大的大小。包括主关键字值的索引表与数据库相关联。每个主关键字值与指向在数据库中包括的信息的索引值相关联。主搜索关键字通常包括32位,但可以小于或大于32位。为了执行与生物识别信息相关的搜索,通常在索引表中执行对32位主搜索关键字的数字搜索。如果索引表包括109个关键字值,这在生物识别应用中并不罕见,则数字搜索内的大多数步骤将访问主存储器,因为对在搜索中的每个子步骤中所搜索的关键字值、索引和/或相关数据分配的存储器的大小大于高速缓存存储器的大小。现代CPU具有3种不同类型的高速缓存:L1、L2和L3高速缓存。根据制造商的芯片设计,L1高速缓存通常可以在每时钟周期上为CPU提供数据。L2高速缓存通常能够每第三周期将数据馈送到L1高速缓存,而L3高速缓存通常只能每12个周期馈送数据。三个级别基于CPU需求来交换数据。对于Inteli7-4770CPU,L1数据高速缓存为32千字节,L2高速缓存为256千字节,以及L3高速缓存为8兆字节。最后,主存储器通常可以每50个周期或以百分之2的效率将数据馈送给L3高速缓存一次。这就是为什么甚至对于单个核心应用以对主存储器的访问被最小化的方式来访问存储器也是如此重要。在大多数运行时间库中(例如,在Microsoft的C运行时间库中)实现所谓的bsearch方法。在记录的排序数组上应用的bsearch以如下方式来操作,数组以最初等于数组大小的一半的步长大小被单步调试。对于在排序数组中向前或向后的每一步,步长大小除以2。由于CPU不得不等待将从主存储器被馈送的数据,使用大于高速缓存大小的数组大小的应用将使性能降级。数组大小越大,应用将越多地遭受这种降级。大型服务器可以包括多达64或128个核心或更多核心。当在大型数据库中执行数字搜索时,这样的服务器的性能将大大降级,不仅是由于核心必须如上所述等待来自主存储器的数据,而且当在同一核心中或者在其他核心中并行地执行的搜索线程中的查询在访问不包含在核心的高速缓存存储器中的地址时会发生冲突时。在存储器代码和数据之间共享在高速缓存存储器中的存储器空间。在高速缓存存储器内包含的地址空间通常不在软件控制下。在US2006/0104493A1中描述了用于匹配两个生物识别图像(biometricimage)的方法和系统。生成用于第一生物识别图像的索引表。选择第二图像,并且生成关于第二图像的每个细节的多个图案。然后通过使用对于每个细节的所生成的图案访问所生成的索引表来执行对匹配图案的搜索并然后生成关于第二图像的匹配分数。在US6711562B1中公开了用于提高搜索性能的高速缓存敏感搜索树(CSS-树)索引结构。描述了一种用于定位存储在关键字值的排序数组中的特定关键字值的搜索树索引系统和方法。从公开了用于搜索包括与多个(apluralityof)指纹相关的数据的数据库的方法的WO2008/030166和公开了用于通过访问检索表来进行数据检索的装置、数据结构和记录介质的EP1156432中已知另外的现有技术。在WO01/65418A1中公开了用于基于高速编索引来访问信息的另一种方法。定义资源(诸如,图像、文档或类似物)的搜索串(在这种情况下是URL或URI)被划分为段,数学运算应用于每个段,并且因而得到的数值(即关键字)用作查找表中的索引。使用查找表的一个缺点在于必须在索引表中表示所有可能的值。例如,如果关键字值为8位,则表大小必须为28个条目。如在WO01/65418A1中提到的,如果使用MD5来产生关键字值,则必须使用大小2128的表,这实际上是不可能的。除了MD5之外,还提到用于产生关键字的其它方法,诸如CRC4、CRC8和CRC12。这些其他方法中均无法保证2个不同的输入串不会因此生成相同的关键字。如果从不同的串得到相同的关键字,则必须添加手段来在返回搜索的结果之前区分正确的资源。这些缺点、表大小和关键字唯一性会导致性能降级。此外,WO01/65418A1执行1:1搜索。概述实现用于执行数字搜索的、克服或至少减轻当访问大于高速缓存大小的排序数据结构时上面提到的缺点的方法将是有利的。特别是,在生物识别信息内实现时间高效的搜索将是合乎需要的。为了更好地处理这些所关切的事中的一个或更多个,提供了包括在独立权利要求中限定的特征的方法、系统和计算机程序产品。在从属权利要求中限定优选的方面。根据第一方面,提供了一种用于执行与生物识别信息相关的数字搜索的方法。该方法包括:生成主搜索关键字的集合,每个关键字表示待搜索项的生物识别特征(biometricfeature);将主搜索关键字中的每个划分成至少两个子关键字,每个子关键字包括预定数量的位;获得索引表的集合,每个索引表包括多于一个的关键字值,每个关键字值与相应的索引值相关联,其中该集合中的索引表的数量等于在主搜索关键字内的子关键字的数量;在所述索引表的集合中的第一索引表中识别与主搜索关键字的第一子关键字相匹配的至少一个关键字值;对每个所识别的关键字值获得指向下一索引表中的关键字值的有限部分的相应索引值;在所述下一索引表的所述有限部分中识别与主搜索关键字的下一个子关键字相匹配的至少一个关键字值;重复获得索引值和搜索下一索引表的有限部分的步骤,直到主搜索关键字的所有子关键字都被搜索为止;当搜索了主搜索关键字的最后一个子关键字时返回结果。主搜索关键字可以被看作公开了表示单独的特征的多个子关键字的位和/或字节的序列,或者被看作由例如在字符或字节本文档来自技高网...
用于执行数字搜索的方法、系统和计算机程序产品

【技术保护点】
一种用于执行与生物识别信息相关的数字搜索的方法,所述方法包括:生成主搜索关键字的集合,每个主搜索关键字表示待搜索项的生物识别特征,其特征在于:将所述主搜索关键字的每个划分成至少两个子关键字,每个子关键字包括预定数量的位,获得索引表的集合(表1‑表4,索引表0,索引表1),每个索引表包括多于一个的关键字值,每个关键字值与相应的索引值相关联,其中所述集合中的索引表的数量等于在所述主搜索关键字内的子关键字的数量,在所述索引表的集合的第一索引表(表1,索引表0)中识别与所述主搜索关键字的第一子关键字相匹配的至少一个关键字值,对于每个所识别的关键字值,获得指向在下一索引表中的关键字值的有限部分(A)的相应索引值,在所述下一索引表的所述有限部分(A)中,识别与所述主搜索关键字的下一个子关键字相匹配的至少一个关键字值,重复获得索引值和搜索下一索引表的有限部分(A)的步骤,直到所述主搜索关键字的所有子关键字都被搜索为止,当搜索了所述主搜索关键字的最后一个子关键字时返回结果。

【技术特征摘要】
【国外来华专利技术】2015.05.06 EP 15166575.91.一种用于执行与生物识别信息相关的数字搜索的方法,所述方法包括:生成主搜索关键字的集合,每个主搜索关键字表示待搜索项的生物识别特征,其特征在于:将所述主搜索关键字的每个划分成至少两个子关键字,每个子关键字包括预定数量的位,获得索引表的集合(表1-表4,索引表0,索引表1),每个索引表包括多于一个的关键字值,每个关键字值与相应的索引值相关联,其中所述集合中的索引表的数量等于在所述主搜索关键字内的子关键字的数量,在所述索引表的集合的第一索引表(表1,索引表0)中识别与所述主搜索关键字的第一子关键字相匹配的至少一个关键字值,对于每个所识别的关键字值,获得指向在下一索引表中的关键字值的有限部分(A)的相应索引值,在所述下一索引表的所述有限部分(A)中,识别与所述主搜索关键字的下一个子关键字相匹配的至少一个关键字值,重复获得索引值和搜索下一索引表的有限部分(A)的步骤,直到所述主搜索关键字的所有子关键字都被搜索为止,当搜索了所述主搜索关键字的最后一个子关键字时返回结果。2.根据权利要求1所述的方法,其中,每个主搜索关键字包括位的序列,以及在划分所述主搜索关键字时生成的每个子关键字是在所述主搜索关键字中的所述位的子集。3.根据权利要求1或2所述的方法,其中,对于一起表示诸如指纹、掌纹、虹膜表示、DNA或类似物的生物识别标识的几个主搜索关键字重复所述方法。4.根据前述权利要求中的任一项所述的方法,其中,所述主搜索关键字的所述第一子关键字包括最高有效位,并且所述关键字的最后一个子关键字包括最低有效位。5.根据前述权利要求中的任一项所述的方法,其中,所述主搜索关键字基于可读语句、可读字和/或至少一个数字因子来生成。6.根据前述权利要求中的任一项所述的方法,其中,所述主搜索关键字包括描述生物识别图像内的特定特征点的特性。7.根据权利要求6所述的方法,其中,所述特性在如何相对于至少一个相邻特征点来定位所述特定特征点的方面描述了所述特定特征点。8.根据前述权利要求中的任一项所述的方法,其中,生成所述主搜索关键字还包括使在所述关键字中包括的多个位至少部分地交错。9.根据前述权利要求中的任一项所述的方法,其中,所述有限部分的范围由所获得的相应索引值和附加索引值来限定。10.根据前述权利要求中的任一项所述的方法,其中,除了对应于最后一个子关键字的有限部分之外,所述第一表的大小和每个有限部分(A)的大小至多为二的在相应子关键字中的位的数量次方。11.根据前述权利要求中的任一项所述的方法,其中,所述第一子关键字的位的预定数量是X,其中X=[1..64],优选地X=[1..16]或X=[1..8],并且其中所述第一索引表包括至多2X个值,以及其中,所述下一个子关键字的位的预定数量是Y,其中Y=[1...64],优选地Y=[1..16]或Y=[1..8],并且除了对应于最后一个子关键字的有限部分之外,所述下一索引表的所述有限部分(A)包括至多2Y个值,从而最小化对于在所述索引表的集合(表1-表4,索引表0,索引表1)的所述第一表中识别与所述第一子关键字匹配的关键字值的步骤以及搜索下一索引表的所述有限部分(A)的步骤所需要的存储器访问的次数。12.根据权利要求11所述的方法,其中,X=[1..7,9..15,17..64],优选地X=[1..7,9..15]。13.根据权利要求11或12所述的方法,其中,Y=[1..7,9..64],优选地Y=[1..7,9..16]。14.根据权利要求11所述的方法,其中,X=16或X=8,以及其中Y=8。15.根据权利要求11-14中的任一项所述的方法,其中,X≥Y或X<Y,优选地X&am...

【专利技术属性】
技术研发人员:厄尔扬·韦斯特哥特
申请(专利权)人:厄尔扬·韦斯特哥特科技公司
类型:发明
国别省市:瑞典,SE

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

1