专利名称:海量指纹识别检索控制系统的制作方法
技术领域:
本发明涉及一种海量指纹识别检索控制系统。
背景技术:
当今指纹识别技术已经日趋成熟,在各种算法理论的指导下,识别的准确、快速性得到了保证,系统运行稳定,拒识率也很低。在这个基础上,一些计算量较小的指纹识别产品被开发投入市场,比如指纹门锁、指纹考勤机、指纹保险箱、指纹锁手机、指纹锁手提电脑,等等。
然而,由于算法和计算机的限制,上述产品存在指纹库容量小、并行计算能力低下等问题,要实现在海量数据库中搜索出目标指纹时,效率太低,成本太高。在2003年3月9日公开的名为《全球指纹认证的方法》(申请号为01123671.X)的专利申请中,提供了一种在海量指纹数据库中搜索的方法。该方法要求了解指纹主人的详细信息后,在极大缩小了的指纹数据库中搜索指纹。但在未知指纹详细属性的情况下,该方法显然行不通。
要实现该目标,主要困难在于对巨大的指纹数据存储与客户对高速计算的需求。
发明内容
本发明为克服在先技术中的缺陷,通过一个树状的分布式控制系统和细粒度的并行算法,实现海量指纹数据库中的目标指纹检索。
本系统包含至少一个带有与网络文件服务器联接的联接口的主服务管理器,与主服务管理器相联的至少一个主检索处理器。或者还包含至少一个付服务管理器和与付服务管理器相联的至少一个付检索处理器。
本发明通过一台主服务管理器控制至少一台主检索处理器,或控制至少一台付服务管理器以及与付服务管理器相连的至少一台付检索处理器,来完成整个系统的检索服务。上述结构呈现了树状结构。其中主服务管理器为根节点,所有的检索处理器为叶子节点,付服务管理器为非叶子点。树状结构中所有叶子节点一定是检索处理器,所有非叶子节点一定是付服务管理器。其中树状结构中主服务管理器的所有子节点及其以下各层的所有节点的整体称为主服务管理器的子系统。
所说的主服务管理器负责接收检索服务请求,安排检索任务,总结由检索处理器反馈回来的检索结果并向请求方反馈总的检索结果;所说的检索处理器负责接收上层服务管理器发送的检索任务,提交识别任务,反馈处理结果及向上层服务管理器发送本检索处理器的状态变化;所说的网络文件服务器是海量指纹信息数据库,包括海量的指纹图像特征信息以及指纹主人信息等。
服务管理器负责控制检索处理器向文件服务器(即指纹信息数据库)登录并复制一定的数据。当有一台检索处理器接入本系统时,该检索处理器通过它的父节点层层向上申请指纹信息数据库,并最终由根节点的主服务管理器根据整个系统的状态信息,层层向下下达下载任务,并最后由该检索处理器自己完成下载任务。
其中,检索处理器的状态信息包括检索处理器的位置(IP)、指纹信息数据库所存储的指纹数据库描述、检索处理器处理指纹检索的性能、检索处理器当前处于的正常、崩溃(不可重新启动)或关闭(可重新启动)中的某一状态。所说的指纹信息数据库通常每一个数据项都至少包括指纹图像数据ID,指纹图像数据、指纹主人识别码(ID)、指纹主人信息这几个域。其中指纹主人信息中至少包括性别、籍贯、出生年月(可计算年龄)的信息。指纹信息数据库的描述是指状态信息里包括了指定性别、指定籍贯、指定年龄的指纹主人的识别码(ID)范围。该信息可以是某检索处理器的实际存储的数据的描述,也可以是某一服务管理器对其下属子系统中的各个节点的数据描述的总和。检索处理器处理指纹检索的性能是指状态信息里某检索器单位时间内处理指纹识别的个数,或者是某服务管理器的子系统的处理速度的总合。
本发明系统实现在树状结构的每层之间皆实现透明服务。即任何一个服务管理器所管理的子系统状态信息只包括与该服务管理器直接相连的下层的所有服务管理器或检索处理器的状态信息。并将该信息作为该节点的状态信息提交给与它直接相连的上层根(父)节点的服务管理器。同理,对于任务包,服务管理器将任务包发给它所直接相连的下层各个服务管理器和检索处理器,从它们获得任务处理的反馈,并将最后的反馈结果综合分析后,提交给上层的服务管理器,作为本节点的任务处理结果。
本发明系统的构架中的服务管理器和检索处理器皆为逻辑部件。每一台加入本系统的计算机可以根据该机的实际性能安装服务管理器或检索处理器,也可以同时安装服务管理器和检索处理器。为保证数据安全,网络文件服务器安装在一独立的可以提供局域网(或者不联接局域网)内访问服务的计算机系统内。
本发明的海量指纹识别检索控制系统的突出优点是1、并行计算的计算粒度可根据具体计算机的性能灵活调整,便于发挥系统中每台计算机的性能。而且只有指纹图像时,就可以检索到所相匹配的指纹信息,包括指纹主人的详细信息。
2、本发明系统容错性强。本发明系统将计算处理机与文件备份以及数据冗余存储联合起来。因为本发明的叶子节点和非叶子节点上包括至少一个检索处理器和至少一个付服务管理器。因此一旦某个节点发生故障,其它节点能够继续工作从而保证了当本发明系统部分节点发生故障,甚至在瘫痪的情况下,能够继续执行任务处理并保证系统能够及时恢复正常工作。
3、本发明的检索控制系统对于作为载体的计算机要求较低,并行构架简练、通讯延迟低、并行计算的加速比高。加入系统计算的计算机的性能能够直接被系统利用。
4、本发明系统的可扩展性高。扩展系统所需的变动少。易于根据具体计算的任务和对任务处理的时间要求,灵活变更系统的规模。
5、计算效率高,并且计算成本低。加入系统的计算机可以是性能价格比较低的一般计算机。要提高系统性能只需增加系统中计算机的数目即可。
6、本发明系统基本上是采用模块化设计,通信模块独立于计算处理模块、指纹识别模块独立于任务分析模块。便于在不同的通信网络中使用。并且可以根据需要使用指定的指纹识别模块。
图1是本发明检索控制系统的结构示意图。
图2是本发明检索控制系统中服务管理器的工作流程图。
图3是本发明检索控制系统中检索处理器的工作流程图。
图4是本发明检索控制系统实施例的试验环境。
具体实施例方式
下面结合附图和具体实施例进一步说明本系统结构。
图1是本发明系统结构示意图。本发明的检索控制系统以计算机作载体。
◆运行环境Microsoft Visual C++6.0;◆操作系统Microsoft Windows 2000/XP;◆网络环境10/100M以太网交换机;如图1所示的结构。本发明的检索控制系统包含带有与网络文件服务器(指纹信息数据库)3联接的联接口1.5的主服务管理器1,与主服务管理器1联接的主检索处理器2;或者还包含与主服务管理器1相联的至少一个付服务管理器101,102,…,10N,以及与付服务管理器101,102,…,10N相联的至少一个付检索处理器201,…,20N,…,20NM。
所说的主服务管理器1包含通讯解释器1.1,分别与通讯解释器1.1相联的子系统状态管理器1.2、任务分析器1.3、任务管理器1.4。子系统状态管理器1.2的输出端联接到任务分析器1.3;任务分析器1.3的输出端联接到任务管理器1.4。
如上述的结构,服务管理器1中,通过通讯解释器1.1接收检索服务请求,综合子系统状态管理器1.2所管理的子系统中各节点的状态信息,由任务分析器1.3分析并安排检索任务;由任务管理器1.4和通讯解释器1.1控制它管辖的子系统中的所有服务管理器和检索处理器。总结它们的反馈回来的检索结果,最后通过通讯解释器1.1向请求方反馈总的检索结果。其中子系统状态管理器负责监视子系统的状态变化。
所说的检索处理器2包含检索通讯解释器2.1、分别与检索通讯解释器2.1相联的检索系统状态管理器2.2、检索任务分析器2.3和指纹识别模块2.4。检索系统状态管理器2.2的输出端联接到检索任务分析器2.3,检索任务分析器2.3的输出端联接到指纹识别模块2.4。
所说的检索处理器2负责通过检索通讯解释器2.1接收上层服务管理器1发送给它的检索任务,由检索任务分析器2.3分析根据检索系统状态管理器2.2提供的系统信息,向指纹识别模块2.4提交识别任务,最终由检索通讯解释器综合并反馈处理结果。其中检索系统状态管理器2.2向上层服务管理器发送本处理器的状态变化。
所说的全部付服务管理器101,102,…,10N,…,10NM的结构均与主服务管理器1的结构相同。
所说的全部付检索处理器201,…,20N,…,20NM的结构均与主检索处理器2的结构相同。
在本实施例中,刚建立本发明指纹识别检索控制系统时,除了准备好一般的计算机网络环境后,按上述设计好的树状结构,在相关计算机上安装好本发明系统的各个逻辑部件即可开始系统的初始化工作。由于本发明系统只能在要检索的指纹数据范围较大时,即要检索的指纹数量和系统中计算机的数量的比例应该不小于1万枚1台,才能充分发挥性能,所以网络文件服务器上的指纹信息数据库应该是较大的(海量的),下面所有计算公式都是基于这一前提。
首先,安装好局域网内IPX协议即可使用本发明系统的网络通讯模块(通讯解释器)即可发挥作用。如果不能安装该协议,可根据具体的网络环境专门定制系统的网络通讯模块。然后设定各个系统间相连的树状逻辑关系,通过根节点的主服务管理器1向其子系统发出启动命令即可测试通讯模块是否起作用。
通讯解释器1.1测试好后,根节点通过服务管理器1的通讯解释器1.1向下层子系统发送状态报告要求。然后根据状态报告,下达从文件服务器3下载任务。因为此时的状态报告中所有子系统的指纹信息数据库皆为空。所以下载任务可以简单的以系统的处理速度V作为权重,设定下载任务。然后更新各个子系统状态信息。计算公式如下Li(S,A,P)=M(S,A,P)*ViΣi=1NVi---(1)]]>Ti(S,A,P)=Σi=1i-1Li(S,A,P)---(2)]]>其S为性别属性,A为年龄属性,P为籍贯属性,M(S,A,P)表示的文件服务器3上的指纹主人满足性别为S,年龄为A,籍贯为P的指纹数据的总数量,Li(S,A,P)为的节点i节点要下载的指纹数据的数量,Ti(S,A,P)为节点i要下载的指纹数据的起始ID。
当系统根据需要添加某节点A时,先设定好它的IP位置,连入系统中的某个服务管理器F,则该节点的逻辑位置可以确定。然后由服务管理器F向上层层报告此信息至根节点,根节点按公式(3)
LA(S,A,P)=Σi=1NLi(S,A,P)*VKVK+Σi=1NVi---(3)]]>其中LA是该节点要从已经分配到各个检索处理上的指纹数据中复制的指纹数据量。起始位置随机。
当系统的子系统中某节点K出现故障时,该系统向上报告此崩溃信息,该信息通过与之相连的服务管理器层层上传至根节点。根节点将负责系统容错维护。按公式(4)(5)下达下载任务,然后要求更新子系统状态信息。
Li′(S,A,P)=LK(S,A,P)*ViΣi=1NVi(i≠K)---(5)]]>Ti′(S,A,P)=Σi=1i-1Li(S,A,P)(i≠K)---(6)]]>其中,Li'(S,A,P)是各子系统要从K节点分担的指纹数据的数量,Ti'是一K节点的指纹库中按随机顺序排列指纹数据后,其它各子系统系统要下载的指纹数据的起始偏移位置。系统监督上述地几种指纹数据复制,保证在同一台计算机上不会冗余存储数据。
图2为服务管理器的工作流程图。系统启动后首先启动子系统状态管理器1.2,启动所控制的全部叶子和非叶子节点中的各节点1.2.1,索要各节点的状态信息1.2.2,综合后,向上层汇报本系统状态信息并开始监视网络任务要求1.5。同时继续监视本系统状态1.2.3、1.2.4。其中1.5同时新建一个线程来启动通讯解释器1.1。当接到任务要求1.1.1后,通讯解释器1.1将新建一个线程启动任务分析器进行任务发分析1.6,然后继续监视任务要求。任务分析器1.3首先确定各节点要搜索的范围1.3.1,然后确定要发往各节点的任务包的大小和数量1.3.2,最后新建一个线程来启动任务管理器1.4,结束本次任务分析1.3.4。如果系统状态管理器1.2监视到本系统的状态变化,将重启任务分析器1.3,收回任务管理器中发往要更新的节点的尚未处理的任务包,在已经处理过的任务上重新分析。任务管理器1.4首先提交要发往各节点的任务包,启动并行线程1.7要求通讯解释器发送任务包1.1.2,然后等待反馈信息。通讯解释器发出任务包后,监视网络上的反馈信息1.1.3,当由任务处理反馈时,通知任务管理器1.4。任务管理器分析反馈结果1.4.3,如果匹配成功,则综合任务处理结果1.4.4;如果比配失败,检测是否还有要发送的任务包1.4.2,有则继续1.4.1,否则分析任务处理结果1.4.4。分析完结果后,提交1.10,并结束本进程1.4.5。提交的结果由通讯管理器启动以独立进程进行1.1.4。
其中注释1要求任务分析器根据系统状态中地指纹数据库描述,来分配计算。由于本系统在系统维护、新添节点、删除节点时都将开始冗余存储数据,所以任务分析先将子节点单独拥有地数据分配给该节点,对于冗余存储地数据细分成n2份,n为同时拥有该冗余数据地节点数。每次比较Aj=Rj+SjVj,]]>将依次包分给Aj值小地那个节点。其中Rj为已经分配给该节点的包的总大小,Sj为该包的大小。
注释2要求任务包地大小根据Rj+Σi=1kAj]]>确定,数量根据但前系统并行运行的任务分析器的数量确定。
注释3要求当系统状态变化时,任务分析器要重新分析的时还没由收到任务处理结果反馈的所有任务。已经得到反馈得任务包可以忽略了。
图3是检索处理器的工作流程图。系统启动后,首先启动检索系统状态管理器2.2,检测本机状态2.2.1,提交状态信息2.2.2,然后新建一个线程。启动检索通讯解释器2.1并继续监视本机状态变化2.2.3,如有变化,再通过检索通讯解释器2.1反馈2.2.4。检索通讯解释器启动后,先发送本机状态信息2.1.1,然后启动独立线程监视任务请求2.1.2。如果有任务请求到来2.1.3,则新建一个线程来启动检索任务分析器2.3。检索任务分析器分析样本信息2.3.1,确定要搜索的指纹库的范围,就启动指纹识别模块2.4,并结束本次任务分析。指纹识别模块在检索范围内逐个匹配指纹2.4.1,如果比配2.4.2成功,提取指纹主人信息2.4.3,提交任务结果;如果不匹配则继续2.4.2直至检索完该范围内所有数据2.4.4,然后提交任务结果。提交任务结果将同时将要求服务管理器并行地反馈结果,最终结束本进程2.4.5。
图4表示了应用本发明检索控制系统的试验环境。本发明系统可以置放在移动计算设备01、手持计算设备02以及PC(计算机)机03内。这些设备通过以太网集线器(100M)04与网络文件服务器(指纹信息数据库)3相联。
权利要求
1.一种海量指纹识别检索控制系统,其特征在于包含至少一个带有与网络文件服务器联接的联接口的主服务管理器和与主服务管理器联接的至少一个主检索处理器;所说的主服务管理器负责接收检索服务请求,安排检索任务,总结由检索处理器反馈回来的检索结果并向请求方反馈总的检索结果;所说的检索处理器负责接收上层服务管理器发送的检索任务,提交识别任务,反馈处理结果及向上层服务管理器发送本检索处理器的状态变化;所说的网络文件服务器是海量指纹信息数据库,包括海量的指纹图像特征信息以及指纹主人信息。
2.根据权利要求1所述的海量指纹识别检索控制系统,其特征在于或者还包含与主服务管理器相联的至少一个付服务管理器以及与付服务管理器相联的至少一个付检索处理器。
3.根据权利要求1所述的海量指纹识别检索控制系统,其特征在于所说的主服务管理器包含通讯解释器,分别与通讯解释器相联的子系统状态管理器、任务分析器和任务管理器;子系统状态管理器的输出端联接到任务分析器,任务分析器的输出端联接到任务管理器。
4.根据权利要求2或3所述的海量指纹识别检索控制系统,其特征在于所说的全部付服务管理器的结构均与主服务管理器的结构相同。
5.根据权利要求1所述的海量指纹识别检索控制系统,其特征在于所说的检索处理器包含检索通讯解释器,分别与检索通讯解释器相联的检索系统状态管理器、检索任务分析器和指纹识别模块;检索系统状态管理器的输出端联接到检索任务分析器,检索任务分析器的输出端联接到指纹识别模块。
6.根据权利要求2或5所述的海量指纹识别检索控制系统,其特征在于所说的全部付检索处理器的结构均与主检索处理器的结构相同。
全文摘要
一种海量指纹识别检索控制系统包含至少一个带有与网络文件服务器联接的联接口的主服务管理器,与主服务管理器相联的至少一个主检索处理器。或者还包含至少一个副服务管理器和与副服务管理器相联的至少一个副检索处理器。构成树状结构。一旦某个节点发生故障,甚至在瘫痪的情况下,其它节点能够继续工作从而保证系统的安全工作。本发明在只有指纹图像时,就可以检索到所相匹配的指纹信息,包括指纹主人的详细信息。对于作为载体的计算机要求较低,并行构架简练、通讯延迟低、可扩展性高。计算效率高,并且计算成本低。易于根据具体计算的任务和对任务处理的时间要求,灵活变更系统的规模。便于在不同的通信网络中使用。
文档编号G06K9/00GK1760858SQ20041006717
公开日2006年4月19日 申请日期2004年10月15日 优先权日2004年10月15日
发明者翁祖庭, 谭晓洪, 徐凯, 付鑫法, 王德广, 刘永昌, 冯嘉礼 申请人:上海海事大学