CN110781209A - 一种数据快速查询的方法及装置 - Google Patents
一种数据快速查询的方法及装置 Download PDFInfo
- Publication number
- CN110781209A CN110781209A CN201910932092.XA CN201910932092A CN110781209A CN 110781209 A CN110781209 A CN 110781209A CN 201910932092 A CN201910932092 A CN 201910932092A CN 110781209 A CN110781209 A CN 110781209A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- templated
- data set
- matched
- 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.)
- Granted
Links
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及了一种数据快速查询的方法及装置,其中该方法包括以下步骤:将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象;对各个模版化抽象结果分别计算键值;从待匹配数据集中提取所有键值与查询数据的键值相同的数据形成二级匹配数据集;按照查询数据的查询业务遍历二级匹配数据集以找到符合查询条件的数据。利用本发明的方法,针对不同类型的待匹配数据集能够进行快速的数据查找,准确匹配到相应数据,减少查询时间,相应地提高查询效率。
Description
技术领域
本发明涉及数据查询技术领域。本发明进一步涉及一种数据快速查询的方法及装置。
背景技术
现在,随着系统资源数据的增多,数据量增大,对于数据查询的执行时间会越来越大,数据查询的压力也会随之增高。现在系统大多数在处理查询时会根据一条数据所对应的Key进行查找。但这并不能够满足所有数据的处理。比如数据没有Key,要全部字段比较,如果在数据查询时需要以全字段比较的方式来查找其中一些数据,逐一遍历所有数据会造成系统开销增大,耗时加长。再比如一条数据中其中一个字段为特殊字符“*”号字符或空字符等,比较此类数据时需要对其特殊处理,这将会严重影响系统的性能。
因此,为了减小系统负担、缩短查询时间,需要提出一种在保证匹配准确度的前提下的快速查询方法,进而提高查询效率。
发明内容
一方面,本发明基于上述目的提出了一种数据快速查询的方法,其中该方法包括以下步骤:
将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象;
对各个模版化抽象结果分别计算键值;
从待匹配数据集中提取所有键值与查询数据的键值相同的数据形成二级匹配数据集;
按照查询数据的查询业务遍历二级匹配数据集以找到符合查询条件的数据。
根据本发明的数据快速查询的方法的实施例,其中将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象进一步包括:
对查询数据和待匹配数据集中的数据分别按字段进行分段;
针对单个字段按字段中所包含的字符类型赋予标识符;
将单条数据的所有标识符按字段顺序进行组合以得到模版化抽象结果。
根据本发明的数据快速查询的方法的实施例,其中针对单个字段按字段中所包含的字符类型赋予标识符进一步包括:
为非空字符串赋予第一标识符;为“*”号字符赋予第二标识符;为空字符赋予第三标识符。
根据本发明的数据快速查询的方法的实施例,其中对各个所述模版化抽象结果分别计算键值进一步包括:
对模版化抽象结果进行哈希计算得到哈希键值。
根据本发明的数据快速查询的方法的实施例,其中待匹配数据集包括数据库、数据文件、文本文件中的一种。
另一方面,本发明还提出了一种数据快速查询的装置,其中该装置包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序指令,所述程序指令在被处理器运行时执行以下步骤:
将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象;
对各个模版化抽象结果分别计算键值;
从待匹配数据集中提取所有键值与查询数据的键值相同的数据形成二级匹配数据集;
按照查询数据的查询业务遍历二级匹配数据集以找到符合查询条件的数据。
根据本发明的数据快速查询的装置的实施例,其中将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象进一步包括:
对查询数据和待匹配数据集中的数据分别按字段进行分段;
针对单个字段按字段中所包含的字符类型赋予标识符;
将单条数据的所有标识符按字段顺序进行组合以得到模版化抽象结果。
根据本发明的数据快速查询的装置的实施例,其中针对单个字段按字段中所包含的字符类型赋予标识符进一步包括:
为非空字符串赋予第一标识符;为“*”号字符赋予第二标识符;为空字符赋予第三标识符。
根据本发明的数据快速查询的装置的实施例,其中对各个所述模版化抽象结果分别计算键值进一步包括:
对模版化抽象结果进行哈希计算得到哈希键值。
根据本发明的数据快速查询的装置的实施例,其中待匹配数据集包括数据库、数据文件、文本文件中的一种。
采用上述技术方案,本发明至少具有如下有益效果:应用了多级分类,通过多重归并分类,将数据查找范围进行缩小,从而减少数据遍历次数,缩短耗时,实现快速匹配,进而能够提高响应用户请求的速度,针对不同类型的待匹配数据集能够进行快速的数据查找,准确匹配到相应数据,减少查询时间,相应地提高查询效率。
本发明提供了实施例的各方面,不应当用于限制本发明的保护范围。根据在此描述的技术可设想到其它实施方式,这对于本领域普通技术人员来说在研究以下附图和具体实施方式后将是显而易见的,并且这些实施方式意图被包含在本申请的范围内。
下面参考附图更详细地解释和描述了本发明的实施例,但它们不应理解为对于本发明的限制。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术和实施例描述中所需要使用的附图作简单地介绍,附图中的部件不一定按比例绘制,并且可以省略相关的元件,或者在一些情况下比例可能已经被放大,以便强调和清楚地示出本文描述的新颖特征。另外,如本领域中已知的,结构顺序可以被不同地布置。
图1示出了根据本发明的数据快速查询的方法的实施例的示意性框图。
具体实施方式
虽然本发明可以以各种形式实施,但是在附图中示出并且在下文中将描述一些示例性和非限制性实施例,但应该理解的是,本公开将被认为是本发明的示例并不意图将本发明限制于所说明的具体实施例。
图1示出了根据本发明的数据快速查询的方法的实施例的示意性框图。在如图所示的实施例中,该方法至少包括以下步骤:
S1:将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象;
S2:对各个模版化抽象结果分别计算键值;
S3:从待匹配数据集中提取所有键值与查询数据的键值相同的数据形成二级匹配数据集;
S4:按照查询数据的查询业务遍历二级匹配数据集以找到符合查询条件的数据。
为了能够在保证匹配准确度的前提下进行数据的快速查询,本发明的构思是对数据进行抽象归类以缩小查询范围,然后在缩小的范围内进行精确查询。具体地说,首先步骤S1将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象。随后步骤S2针对每一条数据的模版化抽象结果分别计算键值。需要注意的是,查询数据的模版化抽象和键值计算与待匹配数据集中的模版化抽象和键值计算并不一定同时进行。通常情况下,由于待匹配数据集是一直存在的,因此可以优先对待匹配数据集中的数据进行模版化抽象,然后根据模版化抽象结果计算键值。并且,待匹配数据集中的数据在进行过该模版化抽象和计算出键值后,会将相应的结果作为相应数据的属性记录下来以备之后进行数据查询时使用。而对查询数据的模版化抽象和键值计算是在需要根据查询数据在待匹配数据集中进行数据查询时才进行的。在此之后,步骤S3从待匹配数据集中提取所有键值与查询数据的键值相同的数据形成二级匹配数据集。也就是说,将模版化抽象结果符合要求的数据从待匹配数据集中挑出来,作为精确查询的二级匹配数据集,缩小了精确查询的范围。随后,步骤S4按照查询数据的查询业务遍历二级匹配数据集以找到符合查询条件的数据。这里所提及的按照查询数据的查询业务找到符合查询条件的数据可以以任何合适能够完成精确查询的方法来实现。另外,本发明的方法尤其适用于无key的数据的查询,进一步地更适用于无key值全字段数据查询。
下文将说明本发明的进一步实施例,需要注意的是,其中提到的步骤的编号在没有特殊说明的情况下,仅用于便捷明确地指示该步骤,并不限定所述步骤的顺序。
在本发明的数据快速查询的方法的若干实施例中,步骤S1将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象进一步包括:
S11:对查询数据和待匹配数据集中的数据分别按字段进行分段;
S12:针对单个字段按字段中所包含的字符类型赋予标识符;
S13:将单条数据的所有标识符按字段顺序进行组合以得到模版化抽象结果。
对数据进行模版化抽象在这些实施例中可以进一步包括首先步骤S11对查询数据和待匹配数据集中的数据按字段进行分段。优选以固定的字段数量进行分段,如待匹配数据集中每条数据本身就具有多个字段,那么就根据这几个字段进行分段,随后步骤S12分析每个字段中所包含的字符类型以进行分类,赋予它们相应的标识符。然后再将每条数据的所有字段所对应的标识符按照字段原本的顺序进行组合,这个组合结果就是模版化抽象结果。由此,将一条条数据抽象成了一个个标识符组合。
在本发明的数据快速查询的方法的进一步实施例中,步骤S12针对单个字段按字段中所包含的字符类型赋予标识符进一步包括:a)为非空字符串赋予第一标识符;b)为“*”号字符赋予第二标识符;c)为空字符赋予第三标识符。将字符类型分为三类,非空字符串、“*”号字符和空字符,然后分别给他们分配标识符。例如,第一标识符为“M”,第二标识符为“*”,第三标识符为“N”。当对查询数据“bcdef;abcdef;*;;abcdef”进行模版化抽象时,会得到模版化抽象结果为“MM*NM”,对应关系如下表所示。
字段 | 1 | 2 | 3 | 4 | 5 |
数据 | bcdef | abcdef | * | Abcdef | |
标识符 | M | M | * | N | M |
在本发明的数据快速查询的方法的一些实施例中,步骤S2对各个所述模版化抽象结果分别计算键值进一步包括:对模版化抽象结果进行哈希(Hash)计算得到哈希键值(Hash-key)。根据本发明的方法中可以用Hash算法包括MurmurHash、CityHash、RSHash、BKDRHash等。
在本发明的数据快速查询的方法的一个或多个实施例中,待匹配数据集包括数据库、数据文件、文本文件中的一种。
另一方面,本发明还提出了一种数据快速查询的装置,其中该装置包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序指令,所述程序指令在被处理器运行时执行以下步骤:
S1:将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象;
S2:对各个模版化抽象结果分别计算键值;
S3:从待匹配数据集中提取所有键值与查询数据的键值相同的数据形成二级匹配数据集;
S4:按照查询数据的查询业务遍历二级匹配数据集以找到符合查询条件的数据。
在本发明的数据快速查询的方法的若干实施例中,步骤S1将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象进一步包括:
S11:对查询数据和待匹配数据集中的数据分别按字段进行分段;
S12:针对单个字段按字段中所包含的字符类型赋予标识符;
S13:将单条数据的所有标识符按字段顺序进行组合以得到模版化抽象结果。
在本发明的数据快速查询的方法的进一步实施例中,步骤S12针对单个字段按字段中所包含的字符类型赋予标识符进一步包括:
a)为非空字符串赋予第一标识符;b)为“*”号字符赋予第二标识符;c)为空字符赋予第三标识符。
在本发明的数据快速查询的方法的一些实施例中,步骤S2对各个所述模版化抽象结果分别计算键值进一步包括:
对模版化抽象结果进行哈希计算得到哈希键值。
在本发明的数据快速查询的方法的一个或多个实施例中,待匹配数据集包括数据库、数据文件、文本文件中的一种。
本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
本文所述的计算机可读存储介质(例如存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
采用上述技术方案,本发明至少具有如下有益效果:应用了多级分类,通过多重归并分类,将数据查找范围进行缩小,从而减少数据遍历次数,缩短耗时,实现快速匹配,进而能够提高响应用户请求的速度,针对不同类型的待匹配数据集能够进行快速的数据查找,准确匹配到相应数据,减少查询时间,相应地提高查询效率。
应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外实施例。此外,本文所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤及顺序做出相应修改而不脱离本发明的保护范围。
在本申请中,反意连接词的使用旨在包括连接词。定或不定冠词的使用并不旨在指示基数。具体而言,对“该”对象或“一”和“一个”对象的引用旨在表示多个这样对象中可能的一个。然而,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。此外,可以使用连接词“或”来传达同时存在的特征,而不是互斥方案。换句话说,连接词“或”应理解为包括“和/或”。术语“包括”是包容性的并且具有与“包含”相同的范围。
上述实施例,特别是任何“优选”实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。在基本上不脱离本文描述的技术的精神和原理的情况下,可以对上述实施例做出许多变化和修改。所有修改旨在被包括在本公开的范围内。
Claims (10)
1.一种数据快速查询的方法,其特征在于,所述方法包括以下步骤:
将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象;
对各个所述模版化抽象结果分别计算键值;
从所述待匹配数据集中提取所有键值与所述查询数据的键值相同的数据形成二级匹配数据集;
按照所述查询数据的查询业务遍历所述二级匹配数据集以找到符合查询条件的数据。
2.根据权利要求1所述的方法,其特征在于,所述将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象进一步包括:
对所述查询数据和所述待匹配数据集中的数据分别按字段进行分段;
针对单个字段按所述字段中所包含的字符类型赋予标识符;
将单条数据的所有标识符按字段顺序进行组合以得到模版化抽象结果。
3.根据权利要求2所述的方法,其特征在于,所述针对单个字段按所述字段中所包含的字符类型赋予标识符进一步包括:
为非空字符串赋予第一标识符;为“*”号字符赋予第二标识符;为空字符赋予第三标识符。
4.根据权利要求1所述的方法,其特征在于,所述对各个所述模版化抽象结果分别计算键值进一步包括:
对所述模版化抽象结果进行哈希计算得到哈希键值。
5.根据权利要求1所述的方法,其特征在于,所述待匹配数据集包括数据库、数据文件、文本文件中的一种。
6.一种数据快速查询的装置,其特征在于,所述装置包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序指令,所述程序指令在被处理器运行时执行以下步骤:
将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象;
对各个所述模版化抽象结果分别计算键值;
从所述待匹配数据集中提取所有键值与所述查询数据的键值相同的数据形成二级匹配数据集;
按照所述查询数据的查询业务遍历所述二级匹配数据集以找到符合查询条件的数据。
7.根据权利要求6所述的装置,其特征在于,所述将查询数据和待匹配数据集中的数据根据字符类型分别进行模版化抽象进一步包括:
对所述查询数据和所述待匹配数据集中的数据分别按字段进行分段;
针对单个字段按所述字段中所包含的字符类型赋予标识符;
将单条数据的所有标识符按字段顺序进行组合以得到模版化抽象结果。
8.根据权利要求7所述的装置,其特征在于,所述针对单个字段按所述字段中所包含的字符类型赋予标识符进一步包括:
为非空字符串赋予第一标识符;为“*”号字符赋予第二标识符;为空字符赋予第三标识符。
9.根据权利要求6所述的装置,其特征在于,所述对各个所述模版化抽象结果分别计算键值进一步包括:
对所述模版化抽象结果进行哈希计算得到哈希键值。
10.根据权利要求6所述的装置,其特征在于,所述待匹配数据集包括数据库、数据文件、文本文件中的一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910932092.XA CN110781209B (zh) | 2019-09-29 | 2019-09-29 | 一种数据快速查询的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910932092.XA CN110781209B (zh) | 2019-09-29 | 2019-09-29 | 一种数据快速查询的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110781209A true CN110781209A (zh) | 2020-02-11 |
CN110781209B CN110781209B (zh) | 2022-04-22 |
Family
ID=69384708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910932092.XA Active CN110781209B (zh) | 2019-09-29 | 2019-09-29 | 一种数据快速查询的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781209B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130159279A1 (en) * | 2008-10-31 | 2013-06-20 | Salesforce.Com, Inc. | Method For Monitoring And Controlling The Processing Of Database Searches |
CN103294776A (zh) * | 2013-05-13 | 2013-09-11 | 浙江大学 | 一种智能手机通讯录模糊搜索的方法 |
CN103491069A (zh) * | 2013-09-05 | 2014-01-01 | 北京科能腾达信息技术股份有限公司 | 网络数据包的过滤方法 |
CN105302827A (zh) * | 2014-06-30 | 2016-02-03 | 华为技术有限公司 | 一种事件的搜索方法和设备 |
JP2018101224A (ja) * | 2016-12-19 | 2018-06-28 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 検索装置、検索方法、及びプログラム |
-
2019
- 2019-09-29 CN CN201910932092.XA patent/CN110781209B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130159279A1 (en) * | 2008-10-31 | 2013-06-20 | Salesforce.Com, Inc. | Method For Monitoring And Controlling The Processing Of Database Searches |
CN103294776A (zh) * | 2013-05-13 | 2013-09-11 | 浙江大学 | 一种智能手机通讯录模糊搜索的方法 |
CN103491069A (zh) * | 2013-09-05 | 2014-01-01 | 北京科能腾达信息技术股份有限公司 | 网络数据包的过滤方法 |
CN105302827A (zh) * | 2014-06-30 | 2016-02-03 | 华为技术有限公司 | 一种事件的搜索方法和设备 |
JP2018101224A (ja) * | 2016-12-19 | 2018-06-28 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 検索装置、検索方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN110781209B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106033416B (zh) | 一种字符串处理方法及装置 | |
WO2019148712A1 (zh) | 钓鱼网站检测方法、装置、计算机设备和存储介质 | |
CN108717426B (zh) | 企业数据的更新方法、装置、计算机设备及存储介质 | |
CN106326475B (zh) | 一种高效的静态哈希表实现方法及系统 | |
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 | |
CN107784110B (zh) | 一种索引建立方法及装置 | |
US11941087B2 (en) | Unbalanced sample data preprocessing method and device, and computer device | |
CN111159413A (zh) | 日志聚类方法、装置、设备及存储介质 | |
US20170309298A1 (en) | Digital fingerprint indexing | |
WO2022105119A1 (zh) | 意图识别模型的训练语料生成方法及其相关设备 | |
CN112560444A (zh) | 文本处理方法、装置、计算机设备和存储介质 | |
US20120197889A1 (en) | Information matching apparatus, information matching method, and computer readable storage medium having stored information matching program | |
Li et al. | Losha: A general framework for scalable locality sensitive hashing | |
CN115062016A (zh) | 关联关系提取方法、装置和计算机设备 | |
CN111488371A (zh) | 一种数据查询方法和装置 | |
CN108595437B (zh) | 文本查询纠错方法、装置、计算机设备和存储介质 | |
CN111177719A (zh) | 地址类别判定方法、装置、计算机可读存储介质及设备 | |
CN110781209B (zh) | 一种数据快速查询的方法及装置 | |
WO2021103594A1 (zh) | 一种默契度检测方法、设备、服务器及可读存储介质 | |
WO2023083241A1 (zh) | 图数据划分 | |
CN113992625B (zh) | 域名源站探测方法、系统、计算机及可读存储介质 | |
CN110674383A (zh) | 舆情查询方法、装置及设备 | |
CN110046180B (zh) | 一种用于定位相似实例的方法、装置和电子设备 | |
CN111597379B (zh) | 音频搜索方法、装置、计算机设备和计算机可读存储介质 | |
CN115186138A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |