一种对车牌号进行模糊搜索的方法及装置的制作方法

文档序号:6378747阅读:1188来源:国知局
专利名称:一种对车牌号进行模糊搜索的方法及装置的制作方法
技术领域
本发明涉及智能识别技术,尤其涉及一种对车牌号进行模糊搜索的方法及装置。
背景技术
随着智能识别技术的普及,车牌识别技术已经应用到了实际交通领域。随着卡口、电警项目的普及与推广,数据库中存储的车牌记录也急剧增加,为后期车牌检索带来了一些性能瓶颈,特别是在进行数据库中车牌号模糊搜索时,采用现有的数据库匹配算法性能较差。其中,车牌号模糊搜索是指,在数据库中搜索满足预定条件的车牌号,所述预定条件为车牌号的一位或多位是不确定值。现有技术进行车牌号模糊搜索的方法为,以车牌号字段作为索引关键字为数据库建立索引文件,然后,在索引文件中搜索满足模糊搜索条件的车牌号。例如,对车牌号“浙Al 2345”进行一位的模糊搜索(即查询与该车牌号最多有I位不相同的车牌号)时,需要查 询下面的车牌号“浙 A1234X”“浙 A123X5”“浙 A12X45”“浙 Al X 345”“浙 A X 2345”“浙 X 12345”“XA1 2345”,其中“ X ”表示为任意可能值。采用现有方法的搜索性能较低,例如数据库中含有的过车记录为1000万条,对过车记录中的车牌号字段建索引文件,在该索引文件中存在1000万条索引信息。为了加快数据库搜索速度,一般该索引会按照某种排序进行存储,如按照车牌号的字符串大小进行排序。在进行车牌号搜索时,“浙A1234X”的搜索时间较小,由于索引已经排序,因此只需要在“浙A12340”到“浙A12350”的索引间检索“浙A1234X ”,该检索速度较快。但是在搜索“ XA12345”时需要在整个索引内进行检索,需要耗费较长的搜索时间,特别是在过车记录较多的卡口与电警系统中,这个搜索速度用户较难容忍。另外,现有的方法在进行多位模糊搜索(即车牌号中的多位为不确定值)时,也存在严重的性能问题。

发明内容
有鉴于此,本发明的目的提供一种对车牌号进行模糊搜索的方法及装置,以提高对车牌号进行模糊搜索的速度。为实现上述目的,本发明提供技术方案如下一种对车牌号进行模糊搜索的方法,包括如下步骤A、对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移 位对应;B、根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。一种对车牌号进行模糊搜索的装置,包括索引模块,用于对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移位对应;搜索模块,用于根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。本发明通过以车牌号字段和对车牌号字段进行循环移位得到的移位后字段作为索引关键字,为数据库建立多个索引文件,可以根据具体的模糊搜索条件,选择合适的索引文件对车牌号进行模糊搜索,从而能够显著提高对车牌号进行模糊搜索的速度。


图I是本发明实施例的对车牌号进行模糊搜索的方法的流程图;图2是本发明实施例中为数据库建立多个索引文件的流程图;图3是本发明实施例中对车牌号进行模糊搜索的具体流程图;图4是本发明实施例中以车牌号字段作为索引关键字建立的索引文件示意图;图5是本发明实施例中以车牌号字段循环移动I位作为索引关键字建立的索引文件示意图;图6是本发明实施例的对车牌号进行模糊搜索的装置的结构图。
具体实施例方式以下结合附图对本发明进行详细描述。针对现有技术中采用单一的车牌号索引对车牌号进行模糊搜索的方法存在的搜索速度慢的问题,本发明实施例通过采用车牌号循环冗余方式建立多个索引文件,来提高对车牌号的模糊搜索速度。参照图1,本发明实施例的对车牌号进行模糊搜索的方法,可以包括如下步骤步骤101、对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,所述多个索引文件的数量小于或等于车牌号的位数,并且每个索引文件与一种循环移位对应;步骤102、根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。步骤101中,用户在进行过车记录数据库存储时,可以将原先的车牌号字段进行冗余备份或对单一车牌号字段建立多个索引。如对原车牌号“浙A12345”进行循环移位转换后为“浙A12345”原车牌号字段“5浙A1234”冗余备份
“45浙A123”冗余备份“345浙A12”冗余备份“2345浙Al”冗余备份“12345浙A”冗余备份“A12345浙”冗余备份其中“冗余备份”信息可以以原车牌号字段的索引形式存在,也可以作为一个在数据库中新增的字段,或者,以数据库的外键等其他形式存在。参照图2,为数据库建立多个索引文件的过程可以包括如下步骤步骤201,创建数据库,所述数据库中具有车牌号字段; 步骤202,以车牌号字段作为索引关键字,为数据库建立索引文件;步骤203,将车牌号字段进行循环移动I位,以移位后得到的字段作为索引关键字,为数据库建立另外一个索引文件;步骤204,判断是否完成所有车牌位的移位(即判断原车牌号的第I位是否已经移动至最后I位),若是,结束本流程,否则,返回步骤203。可见,在本发明实施例中,为数据库创建的索引文件的数目可以等于车牌号字段的总位数,每个索引文件对应于车牌号字段的一种循环移位。例如,车牌号“浙A12345”的总位数为7,则可以建立7个索引文件。参照图3,所述步骤102可以具体包括如下步骤步骤301,用户在进行车牌号模糊搜索时,先将模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,其中,每个子搜索条件对应一个所述索引文件;步骤302,依次根据每个子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;步骤303,对所有子搜索结果进行组合,得到车牌号的模糊搜索结果。其中,所述对所有子搜索结果进行组合为对所有子搜索结果取并集或者取交集。例如,需要搜索车牌号为“浙Al X345”的数据库记录信息,可以在“345浙A12”冗余备份中搜索,需要搜索的搜索区间为“345浙A10”到“345浙A20”。用户如果需要搜索跟“浙A12345”相差一位的所有车牌,则可以依次在原车牌号字段对应的索引文件以及6个冗余备份索引中进行搜索,搜索完成后对7次搜索结果进行取并集。另外,用户还可以进行多位模糊匹配搜索,可以充分利用冗余备份信息,灵活组合完成用户输入的模糊搜索条件。此时,所述步骤102可以具体包括如下步骤步骤S I、将所述模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,所述子搜索条件包括第一类型子搜索条件和第二类型子搜索条件,其中,每个第一类型子搜索条件对应一个所述索引文件;本步骤中,所述第二类型子搜索条件可以不与任何索引文件相对应。步骤S2、依次根据每个第一类型子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;步骤S3、对所有子搜索结果进行组合,并根据第二类型子搜索条件在组合结果中进行搜索,得到车牌号的模糊搜索结果。本领域技术人员应当明白,如果第一类型子搜索条件的数目为I,则子搜索结果的数目也为I,此时,对所有子搜索结果进行组合对应的组合结果是指该子搜索结果自身。例如,用户需要搜索“浙Al X 3X 5”的车牌,用户只需要在冗余备份“5浙A1234”中进行“5浙AlX X X ”搜索,在搜索获得的结果中再进行“ X X X X X3X ”的搜索。因为第一步已经将搜索范围降低了好几个量级,因此搜索速度会提高很多。而原先传统的搜索算法需要完成X次的“浙A1B3X5”搜索(X为B位值可能存在的字符可选值,B为当前检索选择的确定值)。以下结合索引的实现原理对本发明实施例的技术效果进行说明。索引是建立记录间有规律排列的主要方式之一,可显著提高文件操作速度。当文件中记录的数目和数据量很大时,顺序查找速度会明显下降。为了采用随机查询提高查找 速度,可以对文件建立索引。索引文件由两部分组成索引和数据文件。由于数据文件记录 多、数据量大,并且占据大量物理块,因此在数据文件中查找时速度很慢。如果对记录建立索引,那么相对数据文件而言,索引空间小,因而查找速度就快。可以将过车记录中的车牌号字段作为关键字段建立索引,在建立索引时可以采用B+树、稀疏索引等形式。例如,以车牌号字段建立的稀疏索引后索引文件的结构如图4所示,其中索引的层数根据实际数据库与记录信息数量可以为多层。通过上面的索引建立后,再按照车牌号进行精确查找的速度会很快,同时也会加快较低位进行模糊匹配查找的速度。例如在查询“浙A1234X ”的车牌时速度也会大幅提高。本发明实施例在建立一个索引的基础上,为了提高车牌号模糊搜索的速度,采用循环移位方式建立了多个类似索引。例如,进行一位移位后的数据库索引文件如图5所示。本发明实施例的上述对车牌号进行模糊搜索的方法,通过适当的增加数据库中的冗余信息,可以提高车牌号搜索的速度,使得车牌号搜索的模糊匹配能够在实际中应用,满足用户对以车牌号为检索条件的实时性要求。现有的车牌号搜索算法在进行车牌号模糊匹配时,如在进行“浙A12345”的一位模糊匹配时,搜索范围如下
权利要求
1.一种对车牌号进行模糊搜索的方法,其特征在于,包括如下步骤 A、对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移位对应; B、根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。
2.如权利要求I所述的方法,其特征在于,所述步骤B包括 BI、将所述模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,其中,每个子搜索条件对应一个所述索引文件; B2、依次根据每个子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果; B3、对所有子搜索结果进行组合,得到车牌号的模糊搜索结果。
3.如权利要求2所述的方法,其特征在于,所述步骤B3具体包括 对所有子搜索结果取并集或者取交集,得到车牌号的模糊搜索结果。
4.如权利要求I所述的方法,其特征在于,所述步骤B包括 B01、将所述模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,所述子搜索条件包括第一类型子搜索条件和第二类型子搜索条件,其中,每个第一类型子搜索条件对应一个所述索引文件; B02、依次根据每个第一类型子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果; B03、对所有子搜索结果进行组合,并根据第二类型子搜索条件在组合结果中进行搜索,得到车牌号的模糊搜索结果。
5.如权利要求I所述的方法,其特征在于,所述移位后字段为 所述车牌号字段的冗余索引字段,或者,所述数据库的冗余字段,或者,所述数据库的外键。
6.如权利要求I所述的方法,其特征在于,所述多个索引文件的数量小于或等于车牌号的位数。
7.一种对车牌号进行模糊搜索的装置,其特征在于,包括 索引模块,用于对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移位对应; 搜索模块,用于根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。
8.如权利要求7所述的装置,其特征在于,所述搜索模块包括 转换模块,用于将所述模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,其中,每个子搜索条件对应一个所述索引文件; 子搜索模块,用于依次根据每个子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果; 组合模块,用于对所有子搜索结果进行组合,得到车牌号的模糊搜索结果。
9.如权利要求8所述的装置,其特征在于,所述组合模块具体用于 对所有子搜索结果取并集或者取交集,得到车牌号的模糊搜索结果。
10.如权利要求8所述的装置,其特征在于,所述搜索模块包括 转换模块,用于将所述模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,所述子搜索条件包括第一类型子搜索条件和第二类型子搜索条件,其中,每个第一类型子搜索条件对应一个所述索引文件; 子搜索模块,用于依次根据每个第一类型子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果; 组合模块,用于对所有子搜索结果进行组合,并根据第二类型子搜索条件在组合结果中进行搜索,得到车牌号的模糊搜索结果。
11.如权利要求7所述的装置,其特征在于,所述移位后字段为 所述车牌号字段的冗余索引字段,或者,所述数据库的冗余字段,或者,所述数据库的外键。
12.如权利要求7所述的装置,其特征在于,所述多个索引文件的数量小于或等于车牌号的位数。
全文摘要
本发明提供一种对车牌号进行模糊搜索的方法及装置,属于智能识别技术领域。所述方法包括如下步骤A、对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移位对应;B、根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。本发明能够提高对车牌号进行模糊搜索的速度。
文档编号G06F17/30GK102890719SQ20121038817
公开日2013年1月23日 申请日期2012年10月12日 优先权日2012年10月12日
发明者王江柱 申请人:浙江宇视科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1