CN102890719B - 一种对车牌号进行模糊搜索的方法及装置 - Google Patents

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

Info

Publication number
CN102890719B
CN102890719B CN201210388174.0A CN201210388174A CN102890719B CN 102890719 B CN102890719 B CN 102890719B CN 201210388174 A CN201210388174 A CN 201210388174A CN 102890719 B CN102890719 B CN 102890719B
Authority
CN
China
Prior art keywords
sub
license plate
plate number
search
generally
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.)
Active
Application number
CN201210388174.0A
Other languages
English (en)
Other versions
CN102890719A (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.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview Technologies 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 Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN201210388174.0A priority Critical patent/CN102890719B/zh
Publication of CN102890719A publication Critical patent/CN102890719A/zh
Application granted granted Critical
Publication of CN102890719B publication Critical patent/CN102890719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种对车牌号进行模糊搜索的方法及装置,属于智能识别技术领域。所述方法包括如下步骤:A、对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移位对应;B、根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。本发明能够提高对车牌号进行模糊搜索的速度。

Description

一种对车牌号进行模糊搜索的方法及装置
技术领域
本发明涉及智能识别技术,尤其涉及一种对车牌号进行模糊搜索的方法及装置。
背景技术
随着智能识别技术的普及,车牌识别技术已经应用到了实际交通领域。随着卡口、电警项目的普及与推广,数据库中存储的车牌记录也急剧增加,为后期车牌检索带来了一些性能瓶颈,特别是在进行数据库中车牌号模糊搜索时,采用现有的数据库匹配算法性能较差。其中,车牌号模糊搜索是指,在数据库中搜索满足预定条件的车牌号,所述预定条件为车牌号的一位或多位是不确定值。
现有技术进行车牌号模糊搜索的方法为,以车牌号字段作为索引关键字为数据库建立索引文件,然后,在索引文件中搜索满足模糊搜索条件的车牌号。例如,对车牌号“浙A12345”进行一位的模糊搜索(即查询与该车牌号最多有1位不相同的车牌号)时,需要查询下面的车牌号:
“浙A1234×”
“浙A123×5”
“浙A12×45”
“浙A1×345”
“浙A×2345”
“浙×12345”
“×A12345”,其中“×”表示为任意可能值。
采用现有方法的搜索性能较低,例如数据库中含有的过车记录为1000万条,对过车记录中的车牌号字段建索引文件,在该索引文件中存在1000万条索引信息。为了加快数据库搜索速度,一般该索引会按照某种排序进行存储,如按照车牌号的字符串大小进行排序。
在进行车牌号搜索时,“浙A1234×”的搜索时间较小,由于索引已经排序,因此只需要在“浙A12340”到“浙A12350”的索引间检索“浙A1234×”,该检索速度较快。但是在搜索“×A12345”时需要在整个索引内进行检索,需要耗费较长的搜索时间,特别是在过车记录较多的卡口与电警系统中,这个搜索速度用户较难容忍。另外,现有的方法在进行多位模糊搜索(即车牌号中的多位为不确定值)时,也存在严重的性能问题。
发明内容
有鉴于此,本发明的目的提供一种对车牌号进行模糊搜索的方法及装置,以提高对车牌号进行模糊搜索的速度。
为实现上述目的,本发明提供技术方案如下:
一种对车牌号进行模糊搜索的方法,包括如下步骤:
A、对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移位对应;
B、根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。
一种对车牌号进行模糊搜索的装置,包括:
索引模块,用于对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移位对应;
搜索模块,用于根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。
本发明通过以车牌号字段和对车牌号字段进行循环移位得到的移位后字段作为索引关键字,为数据库建立多个索引文件,可以根据具体的模糊搜索条件,选择合适的索引文件对车牌号进行模糊搜索,从而能够显著提高对车牌号进行模糊搜索的速度。
附图说明
图1是本发明实施例的对车牌号进行模糊搜索的方法的流程图;
图2是本发明实施例中为数据库建立多个索引文件的流程图;
图3是本发明实施例中对车牌号进行模糊搜索的具体流程图;
图4是本发明实施例中以车牌号字段作为索引关键字建立的索引文件示意图;
图5是本发明实施例中以车牌号字段循环移动1位作为索引关键字建立的索引文件示意图;
图6是本发明实施例的对车牌号进行模糊搜索的装置的结构图。
具体实施方式
以下结合附图对本发明进行详细描述。
针对现有技术中采用单一的车牌号索引对车牌号进行模糊搜索的方法存在的搜索速度慢的问题,本发明实施例通过采用车牌号循环冗余方式建立多个索引文件,来提高对车牌号的模糊搜索速度。
参照图1,本发明实施例的对车牌号进行模糊搜索的方法,可以包括如下步骤:
步骤101、对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,所述多个索引文件的数量小于或等于车牌号的位数,并且每个索引文件与一种循环移位对应;步骤102、根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。
步骤101中,用户在进行过车记录数据库存储时,可以将原先的车牌号字段进行冗余备份或对单一车牌号字段建立多个索引。如对原车牌号“浙A12345”进行循环移位转换后为:
“浙A12345”原车牌号字段
“5浙A1234”冗余备份
“45浙A123”冗余备份
“345浙A12”冗余备份
“2345浙A1”冗余备份
“12345浙A”冗余备份
“A12345浙”冗余备份
其中“冗余备份”信息可以以原车牌号字段的索引形式存在,也可以作为一个在数据库中新增的字段,或者,以数据库的外键等其他形式存在。
参照图2,为数据库建立多个索引文件的过程可以包括如下步骤:
步骤201,创建数据库,所述数据库中具有车牌号字段;
步骤202,以车牌号字段作为索引关键字,为数据库建立索引文件;
步骤203,将车牌号字段进行循环移动1位,以移位后得到的字段作为索引关键字,为数据库建立另外一个索引文件;
步骤204,判断是否完成所有车牌位的移位(即判断原车牌号的第1位是否已经移动至最后1位),若是,结束本流程,否则,返回步骤203。
可见,在本发明实施例中,为数据库创建的索引文件的数目可以等于车牌号字段的总位数,每个索引文件对应于车牌号字段的一种循环移位。例如,车牌号“浙A12345”的总位数为7,则可以建立7个索引文件。
参照图3,所述步骤102可以具体包括如下步骤:
步骤301,用户在进行车牌号模糊搜索时,先将模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,其中,每个子搜索条件对应一个所述索引文件;
步骤302,依次根据每个子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;
步骤303,对所有子搜索结果进行组合,得到车牌号的模糊搜索结果。
其中,所述对所有子搜索结果进行组合为对所有子搜索结果取并集或者取交集。
例如,需要搜索车牌号为“浙A1×345”的数据库记录信息,可以在“345浙A12”冗余备份中搜索,需要搜索的搜索区间为“345浙A10”到“345浙A20”。
用户如果需要搜索跟“浙A12345”相差一位的所有车牌,则可以依次在原车牌号字段对应的索引文件以及6个冗余备份索引中进行搜索,搜索完成后对7次搜索结果进行取并集。
另外,用户还可以进行多位模糊匹配搜索,可以充分利用冗余备份信息,灵活组合完成用户输入的模糊搜索条件。
此时,所述步骤102可以具体包括如下步骤:
步骤S1、将所述模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,所述子搜索条件包括第一类型子搜索条件和第二类型子搜索条件,其中,每个第一类型子搜索条件对应一个所述索引文件;
本步骤中,所述第二类型子搜索条件可以不与任何索引文件相对应。
步骤S2、依次根据每个第一类型子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;
步骤S3、对所有子搜索结果进行组合,并根据第二类型子搜索条件在组合结果中进行搜索,得到车牌号的模糊搜索结果。
本领域技术人员应当明白,如果第一类型子搜索条件的数目为1,则子搜索结果的数目也为1,此时,对所有子搜索结果进行组合对应的组合结果是指该子搜索结果自身。
例如,用户需要搜索“浙A1×3×5”的车牌,用户只需要在冗余备份“5浙A1234”中进行“5浙A1×××”搜索,在搜索获得的结果中再进行“×××××3×”的搜索。因为第一步已经将搜索范围降低了好几个量级,因此搜索速度会提高很多。而原先传统的搜索算法需要完成X次的“浙A1B3×5”搜索(X为B位值可能存在的字符可选值,B为当前检索选择的确定值)。
以下结合索引的实现原理对本发明实施例的技术效果进行说明。
索引是建立记录间有规律排列的主要方式之一,可显著提高文件操作速度。当文件中记录的数目和数据量很大时,顺序查找速度会明显下降。为了采用随机查询提高查找速度,可以对文件建立索引。索引文件由两部分组成:索引和数据文件。由于数据文件记录多、数据量大,并且占据大量物理块,因此在数据文件中查找时速度很慢。如果对记录建立索引,那么相对数据文件而言,索引空间小,因而查找速度就快。
可以将过车记录中的车牌号字段作为关键字段建立索引,在建立索引时可以采用B+树、稀疏索引等形式。例如,以车牌号字段建立的稀疏索引后索引文件的结构如图4所示,其中索引的层数根据实际数据库与记录信息数量可以为多层。
通过上面的索引建立后,再按照车牌号进行精确查找的速度会很快,同时也会加快较低位进行模糊匹配查找的速度。例如在查询“浙A1234×”的车牌时速度也会大幅提高。本发明实施例在建立一个索引的基础上,为了提高车牌号模糊搜索的速度,采用循环移位方式建立了多个类似索引。例如,进行一位移位后的数据库索引文件如图5所示。
本发明实施例的上述对车牌号进行模糊搜索的方法,通过适当的增加数据库中的冗余信息,可以提高车牌号搜索的速度,使得车牌号搜索的模糊匹配能够在实际中应用,满足用户对以车牌号为检索条件的实时性要求。
现有的车牌号搜索算法在进行车牌号模糊匹配时,如在进行“浙A12345”的一位模糊匹配时,搜索范围如下:
从上面的统计来看,要完成“浙A12345”的一位模糊匹配,需要对整个车牌索引区域进行一遍以上的数据比对操作。
而采用本发明实施例的方法,每次搜索都在相应的索引文件中检索,每次的检索范围与“浙A1234×”的基本相同,即为“浙A12340”-“浙A12350”。因此完成“浙A12345”的一位模糊匹配,索引范围为整个搜索范围的1/(7*X^6),X为每位车牌可能存在的X种选择字符。
与上述方法相对应,本发明实施例还提供一种对车牌号进行模糊搜索装置。参照图6,所述装置可以包括:
索引模块10,用于对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,所述多个索引文件的数量小于或等于车牌号的位数,并且每个索引文件与一种循环移位对应;所述移位后字段可以为:所述车牌号字段的冗余索引字段,或者,所述数据库的冗余字段,或者,所述数据库的外键;
搜索模块20,用于根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索。
其中,所述搜索模块可以包括:
转换模块21,用于将所述模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,其中,每个子搜索条件对应一个所述索引文件;
子搜索模块22,用于依次根据每个子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;
组合模块23,用于对所有子搜索结果进行组合,得到车牌号的模糊搜索结果。所述组合模块23具体可以对所有子搜索结果取并集或者取交集,来得到车牌号的模糊搜索结果。
如前所述,用户还可以进行多位模糊匹配搜索,可以充分利用冗余备份信息,灵活组合完成用户输入的模糊搜索条件。
此时,所述转换模块21用于:将所述模糊搜索条件转换为一个或者一个以上的子搜索条件的组合,所述子搜索条件包括第一类型子搜索条件和第二类型子搜索条件,其中,每个第一类型子搜索条件对应一个所述索引文件,,所述第二类型子搜索条件可以不与任何索引文件相对应;
所述子搜索模块22用于:依次根据每个第一类型子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;
所述组合模块用于:对所有子搜索结果进行组合,并根据第二类型子搜索条件在组合结果中进行搜索,得到车牌号的模糊搜索结果。
本领域技术人员应当明白,如果第一类型子搜索条件的数目为1,则子搜索结果的数目也为1,此时,对所有子搜索结果进行组合对应的组合结果是指该子搜索结果自身。
综上所述,本发明通过以车牌号字段和对车牌号字段进行循环移位得到的移位后字段作为索引关键字,为数据库建立多个索引文件,可以根据具体的模糊搜索条件,选择合适的索引文件对车牌号进行模糊搜索,从而能够显著提高对车牌号进行模糊搜索的速度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种对车牌号进行模糊搜索的方法,其特征在于,包括如下步骤:
A、对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移位对应;
B、根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索;
所述步骤B中进行一位模糊搜索的具体步骤包括:
B1、将所述模糊搜索条件转换为一个以上的子搜索条件的组合,其中,每个子搜索条件对应一个所述索引文件;
B2、依次根据每个子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;
B3、对所有子搜索结果进行组合,得到车牌号的模糊搜索结果;
所述步骤B中进行多位模糊搜索的具体步骤包括:
B01、将所述模糊搜索条件转换为一个以上的子搜索条件的组合,所述子搜索条件包括第一类型子搜索条件和第二类型子搜索条件,其中,每个第一类型子搜索条件对应一个所述索引文件;
B02、依次根据每个第一类型子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;
B03、对所有子搜索结果进行组合,并根据第二类型子搜索条件在组合结果中进行搜索,得到车牌号的模糊搜索结果。
2.如权利要求1所述的方法,其特征在于,所述步骤B3具体包括:
对所有子搜索结果取并集或者取交集,得到车牌号的模糊搜索结果。
3.如权利要求1所述的方法,其特征在于,所述移位后字段为:
所述车牌号字段的冗余索引字段,或者,所述数据库的冗余字段,或者,所述数据库的外键。
4.如权利要求1所述的方法,其特征在于,所述多个索引文件的数量小于或等于车牌号的位数。
5.一种对车牌号进行模糊搜索的装置,其特征在于,包括:
索引模块,用于对于具有车牌号字段的数据库,分别以所述车牌号字段和对所述车牌号字段进行循环移位得到的移位后字段作为索引关键字,建立所述数据库的多个索引文件,并且每个索引文件与一种循环移位对应;
搜索模块,用于根据对车牌号进行模糊搜索的模糊搜索条件,在所述多个索引文件的至少一个索引文件中对车牌号进行模糊搜索;
其中,所述搜索模块具体用于进行一位模糊搜索时,包括:
转换模块,用于将所述模糊搜索条件转换为一个以上的子搜索条件的组合,其中,每个子搜索条件对应一个所述索引文件;
子搜索模块,用于依次根据每个子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;
组合模块,用于对所有子搜索结果进行组合,得到车牌号的模糊搜索结果;
所述搜索模块具体用于进行多位模糊搜索时,包括:
转换模块,用于将所述模糊搜索条件转换为一个以上的子搜索条件的组合,所述子搜索条件包括第一类型子搜索条件和第二类型子搜索条件,其中,每个第一类型子搜索条件对应一个所述索引文件;
子搜索模块,用于依次根据每个第一类型子搜索条件,在对应的索引文件中进行搜索,得到对应的子搜索结果;
组合模块,用于对所有子搜索结果进行组合,并根据第二类型子搜索条件在组合结果中进行搜索,得到车牌号的模糊搜索结果。
6.如权利要求5所述的装置,其特征在于,所述组合模块具体用于:
对所有子搜索结果取并集或者取交集,得到车牌号的模糊搜索结果。
7.如权利要求5所述的装置,其特征在于,所述移位后字段为:
所述车牌号字段的冗余索引字段,或者,所述数据库的冗余字段,或者,所述数据库的外键。
8.如权利要求5所述的装置,其特征在于,所述多个索引文件的数量小于或等于车牌号的位数。
CN201210388174.0A 2012-10-12 2012-10-12 一种对车牌号进行模糊搜索的方法及装置 Active CN102890719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210388174.0A CN102890719B (zh) 2012-10-12 2012-10-12 一种对车牌号进行模糊搜索的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210388174.0A CN102890719B (zh) 2012-10-12 2012-10-12 一种对车牌号进行模糊搜索的方法及装置

Publications (2)

Publication Number Publication Date
CN102890719A CN102890719A (zh) 2013-01-23
CN102890719B true CN102890719B (zh) 2015-12-16

Family

ID=47534221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210388174.0A Active CN102890719B (zh) 2012-10-12 2012-10-12 一种对车牌号进行模糊搜索的方法及装置

Country Status (1)

Country Link
CN (1) CN102890719B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150365B (zh) * 2013-03-05 2016-12-07 交通银行股份有限公司 银行后台系统模糊搜索的方法及设备
JP6405606B2 (ja) * 2013-07-12 2018-10-17 オムロン株式会社 画像処理装置、画像処理方法、および画像処理プログラム
CN103544277A (zh) * 2013-10-22 2014-01-29 深圳市捷顺科技实业股份有限公司 一种查询目标文本的方法及装置
CN105589862A (zh) * 2014-10-21 2016-05-18 杭州华为企业通信技术有限公司 车牌数据的索引结构建立方法、检索方法及装置
CN104679829A (zh) * 2015-01-28 2015-06-03 北京易华录信息技术股份有限公司 对车牌号进行快速搜索的方法及装置
CN105608214B (zh) * 2015-12-30 2017-08-11 杭州中奥科技有限公司 对布控车牌号码进行快速搜索的方法
CN109144962A (zh) * 2018-08-31 2019-01-04 北京诚志重科海图科技有限公司 一种数据存储方法、查询方法、存储装置及查询装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025750A (zh) * 2006-09-08 2007-08-29 丁光耀 基于离散性、交叉性、非完全性的特性字符串匹配方法
CN101079032A (zh) * 2006-06-23 2007-11-28 腾讯科技(深圳)有限公司 数字串模糊匹配的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200821913A (en) * 2006-11-15 2008-05-16 Univ Nat Chiao Tung String matching system by using bloom filter to achieve sub-linear computation time and method thereof
CN101675430B (zh) * 2007-05-01 2013-02-06 国际商业机器公司 用于近似串匹配的方法和系统
KR100959244B1 (ko) * 2008-08-01 2010-05-24 재단법인서울대학교산학협력재단 계층화된 시프트 테이블을 이용한 고속의 문자열 패턴 탐지방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079032A (zh) * 2006-06-23 2007-11-28 腾讯科技(深圳)有限公司 数字串模糊匹配的方法
CN101025750A (zh) * 2006-09-08 2007-08-29 丁光耀 基于离散性、交叉性、非完全性的特性字符串匹配方法

Also Published As

Publication number Publication date
CN102890719A (zh) 2013-01-23

Similar Documents

Publication Publication Date Title
CN102890719B (zh) 一种对车牌号进行模糊搜索的方法及装置
CN102402605B (zh) 用于搜索引擎索引的混合分布模型
CN101404032A (zh) 一种基于内容的视频检索方法及系统
CN103339624A (zh) 支持地理结构数据的交互式模糊搜索的高效前缀搜索算法
CN102110171B (zh) 基于树形结构的布鲁姆过滤器的查询与更新方法
CN101488158A (zh) 一种基于道路元素的路网建模方法
CN102609530A (zh) 一种分区域双树结构的空间数据库索引方法
CN106326475A (zh) 一种高效的静态哈希表实现方法及系统
CN102169491B (zh) 一种多数据集中重复记录动态检测方法
CN103914456A (zh) 一种数据存储方法和系统
CN101751475B (zh) 号段记录压缩方法及其装置
CN102999637B (zh) 根据文件特征码为文件自动添加文件标签的方法及系统
CN104346444A (zh) 一种基于路网反空间关键字查询的最佳选址方法
CN104424219A (zh) 一种数据文件的管理方法及装置
CN104391908B (zh) 一种图上基于局部敏感哈希的多关键字索引方法
CN105117442A (zh) 一种基于概率的大数据查询方法
CN101493340B (zh) 一种车辆导航系统中兴趣点信息的快速检索方法
CN102799617B (zh) 多层Bloom Filter的构建及查询优化方法
CN104679829A (zh) 对车牌号进行快速搜索的方法及装置
CN103500165A (zh) 一种结合聚类和双key值的高维向量检索方法
CN106407221A (zh) 地址数据检索方法及装置
CN103593409A (zh) 实时数据库检索方法及检索系统
CN102902701A (zh) 信息查询系统及方法
CN102968467A (zh) 一种多层Bloom Filter的优化方法及查询方法
CN104123357A (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