一种数据快速查询的方法及装置与流程

文档序号:19906777发布日期:2020-02-11 14:36阅读:250来源:国知局
一种数据快速查询的方法及装置与流程
本发明涉及数据查询
技术领域
。本发明进一步涉及一种数据快速查询的方法及装置。
背景技术
:现在,随着系统资源数据的增多,数据量增大,对于数据查询的执行时间会越来越大,数据查询的压力也会随之增高。现在系统大多数在处理查询时会根据一条数据所对应的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”,对应关系如下表所示。字段12345数据bcdefabcdef*abcdef标识符mm*nm在本发明的数据快速查询的方法的一些实施例中,步骤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(ddrsdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambusram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。采用上述技术方案,本发明至少具有如下有益效果:应用了多级分类,通过多重归并分类,将数据查找范围进行缩小,从而减少数据遍历次数,缩短耗时,实现快速匹配,进而能够提高响应用户请求的速度,针对不同类型的待匹配数据集能够进行快速的数据查找,准确匹配到相应数据,减少查询时间,相应地提高查询效率。应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外实施例。此外,本文所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤及顺序做出相应修改而不脱离本发明的保护范围。在本申请中,反意连接词的使用旨在包括连接词。定或不定冠词的使用并不旨在指示基数。具体而言,对“该”对象或“一”和“一个”对象的引用旨在表示多个这样对象中可能的一个。然而,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。此外,可以使用连接词“或”来传达同时存在的特征,而不是互斥方案。换句话说,连接词“或”应理解为包括“和/或”。术语“包括”是包容性的并且具有与“包含”相同的范围。上述实施例,特别是任何“优选”实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。在基本上不脱离本文描述的技术的精神和原理的情况下,可以对上述实施例做出许多变化和修改。所有修改旨在被包括在本公开的范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1