CN108009276A - 字典搜索方法、系统及比较装置 - Google Patents
字典搜索方法、系统及比较装置 Download PDFInfo
- Publication number
- CN108009276A CN108009276A CN201711378420.3A CN201711378420A CN108009276A CN 108009276 A CN108009276 A CN 108009276A CN 201711378420 A CN201711378420 A CN 201711378420A CN 108009276 A CN108009276 A CN 108009276A
- Authority
- CN
- China
- Prior art keywords
- data
- original
- dictionary
- searched
- compression
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Abstract
本公开是关于字典搜索方法、系统及比较装置。该方法包括:比较装置获取原始待搜索数据;所述比较装置采用预设压缩算法对所述原始待搜索数据进行压缩,得到压缩待搜索数据;所述比较装置从内存中获取压缩字典数据,所述压缩字典数据为对原始字典数据采用所述预设压缩算法压缩后得到的;所述比较装置根据所述压缩待搜索数据遍历所述压缩字典数据,得到压缩命中数据。该技术方案从内存中读取的数据大大减少,每次比较的数据较少,比较速度加快,不仅提高了字典搜索效率,也大大降低了对内存的带宽占用。另外,在CPU外接一个比较装置进行字典搜索,也减轻CPU的处理压力。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及字典搜索方法、系统及比较装置。
背景技术
目前,字典搜索要求0.5秒内完成14byte长度字符串的56000*1900次比较。如果每次比较都需要读取14byte的字符串,则对内存带宽的占用大约为2.98GB/s。对于嵌入式系统来说在进行字典搜索时,所占用的系统内存带宽比例比较高。
发明内容
本公开实施例提供字典搜索方法、系统及比较装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种字典搜索方法,包括:
比较装置获取原始待搜索数据;
所述比较装置采用预设压缩算法对所述原始待搜索数据进行压缩,得到压缩待搜索数据;
所述比较装置从内存中获取压缩字典数据,所述压缩字典数据为对原始字典数据采用所述预设压缩算法压缩后得到的;
所述比较装置根据所述压缩待搜索数据遍历所述压缩字典数据,得到压缩命中数据。
可选的,所述方法还包括:
所述比较装置获取所述压缩命中数据的数据标识;
所述比较装置将所述数据标识输出到CPU;
所述CPU根据所述数据标识从所述原始字典数据中获取所述压缩命中数据对应的原始命中数据。
可选的,当所述CPU接收到所述比较装置输出的至少两个数据标识时,所述方法还包括:
所述CPU根据所述数据标识从所述原始字典数据中获取所述压缩命中数据对应的原始命中数据;
所述CPU比较所述原始待搜索数据和所述原始命中数据,得到与所述原始待搜索数据匹配的最终命中数据。
可选的,所述预设压缩算法为哈希算法,所述原始字典数据大小为所述压缩字典数据大小的N倍,所述原始待搜索数据大小为所述压缩待搜索数据大小的N倍,其中,N大于1。
根据本公开实施例的第二方面,提供一种比较装置,包括:
待搜索数据获取模块,用于获取原始待搜索数据;
压缩模块,用于采用预设压缩算法对所述原始待搜索数据进行压缩,得到压缩待搜索数据;
字典获取模块,用于从内存中获取压缩字典数据,所述压缩字典数据为对原始字典数据采用所述预设压缩算法压缩后得到的;
比较器,用于根据所述压缩待搜索数据遍历所述压缩字典数据,得到压缩命中数据。
可选的,所述装置还包括:
标识获取模块,用于获取所述压缩命中数据的数据标识;
输出模块,用于将所述数据标识输出到CPU。
根据本公开实施例的第三方面,提供一种字典搜索系统,包括:比较装置,内存;
所述内存,用于存储原始字典数据,并采用预设压缩算法对所述原始字典数据进行压缩后得到压缩字典数据;
所述比较装置,用于获取原始待搜索数据;采用预设压缩算法对所述原始待搜索数据进行压缩,得到压缩待搜索数据;从内存中获取压缩字典数据,根据所述压缩待搜索数据遍历所述压缩字典数据,得到压缩命中数据。
可选的,所述系统还包括:CPU;
所述比较装置,用于获取所述压缩命中数据的数据标识,并将所述数据标识输出至所述CPU;
所述CPU,用于根据所述数据标识从所述原始字典数据中获取并输出所述压缩命中数据对应的原始命中数据。
可选的,所述CPU,用于当接收到所述比较装置输出的至少两个数据标识时,根据所述数据标识从所述原始字典数据中获取所述压缩命中数据对应的原始命中数据;比较所述原始待搜索数据和所述原始命中数据,得到与所述原始待搜索数据匹配的最终命中数据。
可选的,所述比较装置和所述内存采用的所述预设压缩算法相同,所述预设压缩算法为哈希算法,所述原始字典数据大小为所述压缩字典数据大小的N倍,所述原始待搜索数据大小为所述压缩待搜索数据大小的N倍,其中,N大于1。
本公开的实施例提供的技术方案可以包括以下有益效果:
本实施例中,通过将待搜索数据和字典数据压缩后进行比较,从内存中读取的数据大大减少,每次比较的数据较少,比较速度加快,不仅提高了字典搜索效率,也大大降低了对内存的带宽占用。另外,在CPU外接一个比较装置进行字典搜索,也减轻CPU的处理压力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种字典搜索方法的流程图。
图2是根据另一示例性实施例示出的一种字典搜索方法的流程图。
图3是根据另一示例性实施例示出的一种字典搜索方法的流程图。
图4是根据一示例性实施例示出的一种字典搜索系统的框图。
图5是根据另一示例性实施例示出的一种字典搜索系统的框图。
图6是根据一示例性实施例示出的一种比较装置的框图。
图7是根据另一示例性实施例示出的一种比较装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本申请为了降低字典搜索对内存带宽的占用将字典数据和待搜索数据进行压缩后进行数据比较。在CPU外接一个比较装置进行字典搜索,比较装置比较压缩后的压缩待搜索数据和压缩字典数据,得到搜索结果。这样,由于从内存中读取的数据大大减少,每次比较的数据较少,比较速度加快,不仅提高了字典搜索效率,也大大降低了对内存的带宽占用。另外,也减轻CPU的处理压力。
图1是根据一示例性实施例示出的一种字典搜索方法的流程图,如图1所示,该字典搜索方法包括以下步骤:
步骤S11,比较装置获取原始待搜索数据;
步骤S12,比较装置采用预设压缩算法对原始待搜索数据进行压缩,得到压缩待搜索数据;
步骤S13,比较装置从内存中获取压缩字典数据,压缩字典数据为对原始字典数据采用预设压缩算法压缩后得到的;
步骤S14,比较装置根据压缩待搜索数据遍历压缩字典数据,得到压缩命中数据。
例如,在内存中存储有原始字典数据以及压缩后的压缩字典数据,原始字典数据与压缩字典数据中的元素之间有一一对应关系。原始字典数据包括的字符串都为14byte,通过哈希算法压缩后,每个字符串都被压缩为2byte,得到压缩字典数据。原始字典数据(String[56000])的数据长度为56000*14byte=784Kbyte。压缩字典数据(String_tag[56000])的数据长度为56000*2byte=112Kbyte。
原始待搜索数据为14byte的字符串,通过哈希算法,可以将其压缩为2byte的字符串。
比较装置每次比较,只需要读取2byte的数据即可。这样,对内存的带宽占用只有原来的1/7,426MB/s。
本实施例中,通过将待搜索数据和字典数据压缩后进行比较,从内存中读取的数据大大减少,每次比较的数据较少,比较速度加快,不仅提高了字典搜索效率,也大大降低了对内存的带宽占用。另外,在CPU外接一个比较装置进行字典搜索,也减轻CPU的处理压力。
图2是根据另一示例性实施例示出的一种字典搜索方法的流程图,如图2所示,可选的,该方法还包括:
步骤S21,比较装置获取压缩命中数据的数据标识;
步骤S22,比较装置将数据标识输出到CPU;
步骤S23,CPU根据数据标识从原始字典数据中获取压缩命中数据对应的原始命中数据。
当未发生冲突,即比较装置仅得到一个压缩命中数据时,CPU根据压缩命中数据的数据标识,即压缩字典数据中的一个元素的标识,可以得到与其唯一对应的原始字典数据中的元素,从而获得与待搜索数据匹配的原始字典中的数据。
图3是根据另一示例性实施例示出的一种字典搜索方法的流程图,如图3所示,可选的,当CPU接收到比较装置输出的至少两个数据标识时,该方法还包括:
步骤31,CPU根据数据标识从原始字典数据中获取压缩命中数据对应的原始命中数据;
步骤S32,CPU比较原始待搜索数据和原始命中数据,得到与原始待搜索数据匹配的最终命中数据。
本实施例中,当发生冲突,即比较装置得到至少两个压缩命中数据时,CPU根据这些压缩命中数据的数据标识,从原始字典数据中查找该数据标识对应的原始字典数据中的原始命中数据,将这些原始命中数据与原始待搜索数据进行比对,即可得到唯一一个与该原始待搜索数据匹配的最终命中数据。通过该冲突解决方案,在降低对内存的带宽占用的前提下,提高字典搜索的准确性,避免因为数据压缩而造成得到多个搜索结果。
可选的,预设压缩算法为哈希算法,原始字典数据大小为压缩字典数据大小的N倍,原始待搜索数据大小为压缩待搜索数据大小的N倍,其中,N大于1。
本实施例中,字符串长度为14byte,可将其压缩为2byte,即N为7。其中,可以根据需要,选择相应的压缩比例。如果对搜索精度要求较高,对内存带宽占用率的要求不高,可以降低压缩比例,降低N的值,即压缩后的数据较大,这样,在进行字典搜索时,出现多个搜索结果的机率会降低。
下述为本公开系统实施例,可以用于执行本公开方法实施例。
图4是根据一示例性实施例示出的一种字典搜索系统的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该字典搜索系统包括:比较装置,内存;
内存41,用于存储原始字典数据,并采用预设压缩算法对原始字典数据进行压缩后得到压缩字典数据;
比较装置42,用于获取原始待搜索数据;采用预设压缩算法对原始待搜索数据进行压缩,得到压缩待搜索数据;从内存41中获取压缩字典数据,根据压缩待搜索数据遍历压缩字典数据,得到压缩命中数据。
图5是根据另一示例性实施例示出的一种字典搜索系统的框图。如图5所示,可选的,该系统还包括:CPU43;
比较装置42,用于获取压缩命中数据的数据标识,并将数据标识输出至CPU;
CPU43,用于根据数据标识从原始字典数据中获取并输出压缩命中数据对应的原始命中数据。
可选的,CPU43,用于当接收到比较装置输出的至少两个数据标识时,根据数据标识从原始字典数据中获取压缩命中数据对应的原始命中数据;比较原始待搜索数据和原始命中数据,得到与原始待搜索数据匹配的最终命中数据。
可选的,比较装置42和内存41采用的预设压缩算法相同,预设压缩算法为哈希算法,原始字典数据大小为压缩字典数据大小的N倍,原始待搜索数据大小为压缩待搜索数据大小的N倍,其中,N大于1。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图6是根据一示例性实施例示出的一种比较装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,该比较装置包括:
待搜索数据获取模块61,用于获取原始待搜索数据;
压缩模块62,用于采用预设压缩算法对原始待搜索数据进行压缩,得到压缩待搜索数据;
字典获取模块63,用于从内存中获取压缩字典数据,压缩字典数据为对原始字典数据采用预设压缩算法压缩后得到的;
比较器64,用于根据压缩待搜索数据遍历压缩字典数据,得到压缩命中数据。
图7是根据另一示例性实施例示出的一种比较装置的框图。如图7所示,可选的,该装置还包括:
标识获取模块65,用于获取压缩命中数据的数据标识;
输出模块66,用于将数据标识输出到CPU。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种字典搜索方法,其特征在于,包括:
比较装置获取原始待搜索数据;
所述比较装置采用预设压缩算法对所述原始待搜索数据进行压缩,得到压缩待搜索数据;
所述比较装置从内存中获取压缩字典数据,所述压缩字典数据为对原始字典数据采用所述预设压缩算法压缩后得到的;
所述比较装置根据所述压缩待搜索数据遍历所述压缩字典数据,得到压缩命中数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述比较装置获取所述压缩命中数据的数据标识;
所述比较装置将所述数据标识输出到CPU;
所述CPU根据所述数据标识从所述原始字典数据中获取所述压缩命中数据对应的原始命中数据。
3.根据权利要求2所述的方法,其特征在于,当所述CPU接收到所述比较装置输出的至少两个数据标识时,所述方法还包括:
所述CPU根据所述数据标识从所述原始字典数据中获取所述压缩命中数据对应的原始命中数据;
所述CPU比较所述原始待搜索数据和所述原始命中数据,得到与所述原始待搜索数据匹配的最终命中数据。
4.根据权利要求1所述的方法,其特征在于,所述预设压缩算法为哈希算法,所述原始字典数据大小为所述压缩字典数据大小的N倍,所述原始待搜索数据大小为所述压缩待搜索数据大小的N倍,其中,N大于1。
5.一种比较装置,其特征在于,包括:
待搜索数据获取模块,用于获取原始待搜索数据;
压缩模块,用于采用预设压缩算法对所述原始待搜索数据进行压缩,得到压缩待搜索数据;
字典获取模块,用于从内存中获取压缩字典数据,所述压缩字典数据为对原始字典数据采用所述预设压缩算法压缩后得到的;
比较器,用于根据所述压缩待搜索数据遍历所述压缩字典数据,得到压缩命中数据。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
标识获取模块,用于获取所述压缩命中数据的数据标识;
输出模块,用于将所述数据标识输出到CPU。
7.一种字典搜索系统,其特征在于,包括:比较装置,内存;
所述内存,用于存储原始字典数据,并采用预设压缩算法对所述原始字典数据进行压缩后得到压缩字典数据;
所述比较装置,用于获取原始待搜索数据;采用预设压缩算法对所述原始待搜索数据进行压缩,得到压缩待搜索数据;从内存中获取压缩字典数据,根据所述压缩待搜索数据遍历所述压缩字典数据,得到压缩命中数据。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:CPU;
所述比较装置,用于获取所述压缩命中数据的数据标识,并将所述数据标识输出至所述CPU;
所述CPU,用于根据所述数据标识从所述原始字典数据中获取并输出所述压缩命中数据对应的原始命中数据。
9.根据权利要求8所述的系统,其特征在于,
所述CPU,用于当接收到所述比较装置输出的至少两个数据标识时,根据所述数据标识从所述原始字典数据中获取所述压缩命中数据对应的原始命中数据;比较所述原始待搜索数据和所述原始命中数据,得到与所述原始待搜索数据匹配的最终命中数据。
10.根据权利要求7所述的系统,其特征在于,所述比较装置和所述内存采用的所述预设压缩算法相同,所述预设压缩算法为哈希算法,所述原始字典数据大小为所述压缩字典数据大小的N倍,所述原始待搜索数据大小为所述压缩待搜索数据大小的N倍,其中,N大于1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711378420.3A CN108009276A (zh) | 2017-12-19 | 2017-12-19 | 字典搜索方法、系统及比较装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711378420.3A CN108009276A (zh) | 2017-12-19 | 2017-12-19 | 字典搜索方法、系统及比较装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108009276A true CN108009276A (zh) | 2018-05-08 |
Family
ID=62059848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711378420.3A Pending CN108009276A (zh) | 2017-12-19 | 2017-12-19 | 字典搜索方法、系统及比较装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108009276A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110738042A (zh) * | 2019-09-12 | 2020-01-31 | 腾讯音乐娱乐科技(深圳)有限公司 | 纠错词典创建方法、装置、终端及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1097883A (zh) * | 1993-07-19 | 1995-01-25 | 富士通株式会社 | 字典检索装置 |
US8362931B2 (en) * | 2010-11-30 | 2013-01-29 | Microsoft Corporation | Compression and decompression of mass spectrometry data |
CN105069088A (zh) * | 2015-07-31 | 2015-11-18 | 康泰 | 基于智能终端的成语词典查找方法 |
CN106202172A (zh) * | 2016-06-24 | 2016-12-07 | 中国农业银行股份有限公司 | 文本压缩方法及装置 |
-
2017
- 2017-12-19 CN CN201711378420.3A patent/CN108009276A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1097883A (zh) * | 1993-07-19 | 1995-01-25 | 富士通株式会社 | 字典检索装置 |
US8362931B2 (en) * | 2010-11-30 | 2013-01-29 | Microsoft Corporation | Compression and decompression of mass spectrometry data |
CN105069088A (zh) * | 2015-07-31 | 2015-11-18 | 康泰 | 基于智能终端的成语词典查找方法 |
CN106202172A (zh) * | 2016-06-24 | 2016-12-07 | 中国农业银行股份有限公司 | 文本压缩方法及装置 |
Non-Patent Citations (1)
Title |
---|
肖金秀 等: "《多媒体技术及应用》", 30 November 2006, 冶金工业出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110738042A (zh) * | 2019-09-12 | 2020-01-31 | 腾讯音乐娱乐科技(深圳)有限公司 | 纠错词典创建方法、装置、终端及计算机存储介质 |
CN110738042B (zh) * | 2019-09-12 | 2024-01-05 | 腾讯音乐娱乐科技(深圳)有限公司 | 纠错词典创建方法、装置、终端及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4456554B2 (ja) | データ圧縮方法及び圧縮データ送信方法 | |
CN105718502B (zh) | 用于高效特征匹配的方法和设备 | |
RU2505856C2 (ru) | Способ и устройство для представления и идентификации дескрипторов признаков с использованием сжатой гистограммы градиентов | |
US10224957B1 (en) | Hash-based data matching enhanced with backward matching for data compression | |
US8838551B2 (en) | Multi-level database compression | |
JP3889762B2 (ja) | データ圧縮方法、プログラム及び装置 | |
US10649997B2 (en) | Method, system and computer program product for performing numeric searches related to biometric information, for finding a matching biometric identifier in a biometric database | |
CN102880726B (zh) | 一种图像过滤方法及系统 | |
US20110040982A1 (en) | File encryption method | |
WO2015003421A1 (zh) | 一种可以快速进行字符串匹配的算法 | |
CN109657107A (zh) | 一种基于第三方应用的终端匹配方法和装置 | |
CN107241417A (zh) | 一种文件传输的方法、系统、发送端及接收端 | |
CN106649538A (zh) | 人脸搜索的方法及装置 | |
Baroffio et al. | Coding local and global binary visual features extracted from video sequences | |
CN107277109B (zh) | 针对压缩流量的多字符串匹配方法 | |
CN106844479B (zh) | 文件的压缩、解压方法及装置 | |
CN108009276A (zh) | 字典搜索方法、系统及比较装置 | |
CN108563795B (zh) | 一种加速压缩流量正则表达式匹配的Pairs方法 | |
CN111309946B (zh) | 一种已建立档案优化方法及装置 | |
CN111063394B (zh) | 基于基因序列的物种快速查找及建库方法、系统和介质 | |
CN110598057B (zh) | 一种面向遥测数据的数据搜索方法及装置 | |
JP2003188735A (ja) | データ圧縮装置及び方法並びにプログラム | |
US20130226941A1 (en) | System and method for classifying signals using the bloom filter | |
CN108573069B (zh) | 一种加速压缩流量正则表达式匹配的Twins方法 | |
CN103955449B (zh) | 定位目标样本的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180508 |
|
RJ01 | Rejection of invention patent application after publication |