CN110321363A - 数据检索方法及装置 - Google Patents
数据检索方法及装置 Download PDFInfo
- Publication number
- CN110321363A CN110321363A CN201910316489.6A CN201910316489A CN110321363A CN 110321363 A CN110321363 A CN 110321363A CN 201910316489 A CN201910316489 A CN 201910316489A CN 110321363 A CN110321363 A CN 110321363A
- Authority
- CN
- China
- Prior art keywords
- data
- attribute value
- binary
- retrieved
- search instruction
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- 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/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据检索方法及装置,该方法包括:根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,其中,所述二进制属性值生成方法包括:将二进制码中的与属性值序号对应的位置的码值设为预设值生成二进制属性值;获取检索指令,并根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值;根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据。本发明解决了现有技术的数据检索方法消耗计算资源大、处理时间长的技术问题。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据检索方法及装置。
背景技术
目前,按属性进行数据匹配、数据检索是各类系统处理工作中的重要一环,特别是在金融交易类系统中,例如交易员针对交易的某一属性设置多个可选的属性值,形成数据检索指令,系统根据检索指令对系统中现有数据中进行检索,如待检索数据的该属性的多个属性值与检索指令中的多个属性值存在交叉重合,则算作匹配成功,即获得属性匹配的交易数据信息。再例如,撮合类交易系统在后台处理过程中需要对两笔交易是否可以成交进行判断,通常也需要对两笔交易的某些属性进行属性值的匹配,匹配成功才有达成交易的可能,例如:一张商业票据的信用主体可选属性值的范围为如下表1中的任意多个值(不重复):
人民银行 |
股份制银行 |
城商行 |
农商行 |
信用社 |
资管计划 |
表1:可选属性值集合
而交易员意图在大量数据中检索出信用主体类型包含“人民银行”、“股份制银行”、“农商行”中一个或多个的商业票据,即检索指令中的属性值集合如下表2:
人民银行 |
股份制银行 |
城商行 |
表2:检索指令属性值集合
假设数据库中有三笔商业票据数据,如下表3分别为:
票据1 | 人民银行 |
票据2 | 股份制银行,资管计划 |
票据3 | 信用社,资管计划 |
表3:待检索数据
针对举例中的检索指令和待检索数据中的3笔商业票据数据,检索指令的属性值集合(人民银行、股份制银行、城商行)与待检索数据中的票据1的属性值集合(人民银行)有交集(人民银行),与待检索数据中的票据2的属性值集合(股份制银行,资管计划)有交集(股份制银行),与待检索数据中的票据3的属性值集合(信用社,资管计划)没有交集,那么按照检索指令匹配或者检索出的票据数据就是票据1、票据2的信息。
针对上述场景进行抽象,特别是将匹配或检索指令中抽象为一个属性值的集合M(Val1,Val2,Val3),将待检索数据分别抽象为属性值集合M1(Val1)、属性值集合M2(Val2,Val6)、属性值集合M3(Val5,Val6)三个集合,检索的过程即为分别求集合M与集合M1、集合M2、集合M3是否有交集的过程。再进一步抽象和简化为求集合M(Val1,Val2,Val3,...,Valm)与集合N(Val1,Val2,...,Valn)的交集的过程,如果集合M包含m个值,集合N包含n个值,则其计算复杂度为m乘以n。
实际应用中,系统通常采用拼接属性值的方式进行类似集合数据的存储例如使用逗号隔开或竖线隔开选定的多个属性值,进一步举例抽象如下表4、表5和表6:
Val1 |
Val2 |
Val3 |
Val4 |
Val5 |
Val6 |
表4:可选属性值集合
Val1 |
Val2 |
Val3 |
表5:检索指令中的属性值集合
Key1 | Val1 |
Key2 | Val2,Val6 |
Key3 | Val5,Val6 |
表6:待检索数据
上表6使用了逗号对多个属性值进行分隔,因此,在进行匹配前要按照约定分隔符逗号对表6中拼接数据进行解析处理,分离获得离散的待检索数据的属性值集合的多个值后,再进行上述提到的复杂度为m乘以n的求集合交集的运算。该普遍的做法存在如下不足:
1、数据匹配或者检索时首先要对待检索数据按照约定的分隔符进行数据解析,消耗计算资源,增加处理时间;
2、m乘以n的求集合运算因其自身的复杂度,其耗时长,消耗资源多。
因此,提供一种高效、简洁的数据属性存储、匹配方法是各类系统数据匹配、数据检索领域的一个迫切需求。
发明内容
本发明的主要目的在于提供一种数据检索方法及装置,以解决现有技术的数据检索方法消耗计算资源大、处理时间长的技术问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据检索方法,该方法包括:
根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,其中,所述二进制属性值生成方法包括:将二进制码中的与属性值序号对应的位置的码值设为预设值生成二进制属性值;
获取检索指令,并根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值;
根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据。
进一步的,所述将二进制码中的与属性值序号对应的位置的码值设为预设值生成二进制属性值包括:将二进制码中的与属性值序号对应的位置的码值设为1其他位置的码值设为0生成二进制属性值。
进一步的,所述根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据,包括:
将所述检索指令对应的二进制属性值分别与每个所述待检索数据的二进制属性值进行位与运算确定与所述检索指令对应的待检索数据。
进一步的,所述将所述检索指令对应的二进制属性值分别与每个所述待检索数据的二进制属性值进行位与运算确定与所述检索指令对应的待检索数据,包括:
当所述检索指令对应的二进制属性值与待检索数据的二进制属性值进行位与运算生成的二进制数值大于0时,确定该待检索数据为所述检索指令对应的待检索数据。
进一步的,属性值对应的属性值序号包括:属性值在全属性值集合中的序号。
进一步的,属性值对应的属性值序号包括:属性值在对应的属性值分类集合中的序号。
进一步的,所述根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,包括:
根据所述待检索数据的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述待检索数据的与该属性值分类集合对应的二进制属性值。
进一步的,所述根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值,包括:
根据所述检索指令中检索的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述检索指令的与该属性值分类集合对应的二进制属性值。
进一步的,所述根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据,包括:
根据检索指令的与属性值分类集合对应的二进制属性值以及待检索数据的与该属性值分类集合对应的二进制属性值确定出与所述检索指令对应的待检索数据。
为了实现上述目的,根据本发明的另一方面,提供了一种数据检索装置,该装置包括:
待检索数据二进制属性值生成单元,用于根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,其中,所述二进制属性值生成方法包括:将二进制码中的与属性值序号对应的位置的码值设为预设值生成二进制属性值;
检索指令二进制属性值生成单元,用于获取检索指令,并根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值;
数据匹配单元,用于根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据。
进一步的,所述二进制属性值生成方法具体包括:将二进制码中的与属性值序号对应的位置的码值设为1其他位置的码值设为0生成二进制属性值。
进一步的,所述数据匹配单元,包括:位与运算模块,用于将所述检索指令对应的二进制属性值分别与每个所述待检索数据的二进制属性值进行位与运算确定与所述检索指令对应的待检索数据。
进一步的,所述数据匹配单元,还包括:待检索数据确定模块,用于当所述检索指令对应的二进制属性值与待检索数据的二进制属性值进行位与运算生成的二进制数值大于0时,触发并确定该待检索数据为所述检索指令对应的待检索数据。
进一步的,属性值对应的属性值序号包括:属性值在全属性值集合中的序号。
进一步的,属性值对应的属性值序号包括:属性值在对应的属性值分类集合中的序号。
进一步的,所述待检索数据二进制属性值生成单元,包括:
分类集合待检索数据二进制属性值生成模块,用于根据所述待检索数据的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述待检索数据的与该属性值分类集合对应的二进制属性值。
进一步的,所述检索指令二进制属性值生成单元,包括:
分类集合检索指令二进制属性值生成模块,用于根据所述检索指令中检索的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述检索指令的与该属性值分类集合对应的二进制属性值。
进一步的,所述数据匹配单元,包括:
分类集合匹配模块,用于根据检索指令的与属性值分类集合对应的二进制属性值以及待检索数据的与该属性值分类集合对应的二进制属性值确定出与所述检索指令对应的待检索数据。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据检索方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述数据检索方法中的步骤。
本发明的有益效果为:本发明通过将离散的属性值转换为有序二进制码的形式进行存储,并在检索时使用二进制码的位与运算,大大提高了数据检索的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明第一实施例数据检索方法的流程图;
图2是本发明第二实施例数据检索方法的流程图;
图3是本发明第三实施例数据检索方法的流程图;
图4是本发明第四实施例数据检索方法的流程图;
图5是本发明实施例数据检索装置的结构框图;
图6是本发明实施例数据匹配单元的第一结构框图;
图7是本发明实施例待检索数据二进制属性值生成单元的结构框图;
图8是本发明实施例检索指令二进制属性值生成单元的结构框图;
图9是本发明实施例数据匹配单元的第二结构框图;
图10是本发明实施例计算机设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是本发明第一实施例数据检索方法的流程图,如图1所示,本实施例的数据检索方法包括步骤S101至步骤S103。
步骤S101,根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,其中,所述二进制属性值生成方法包括:将二进制码中的与属性值序号对应的位置的码值设为预设值生成二进制属性值。
在本发明实施例中,待检索数据可以为储存在数据库中的数据,每个待检索数据包含至少一个属性值。属性值可以为一个数据的特征,例如上述背景技术中的人民银行、股份制银行、信用社、资管计划等。
在本发明的实施例中,属性值序号可以为一个属性值在全属性集合中的位置序号,也可以为在二进制码字符串中的位置序号。具体的属性值序号的确定方法为:先确定全属性值集合为{val1,val,...,valn},该全属性值集合中包括了现有的所有属性值。在该全属性值集合中的属性值在二进制码中对应的位置顺序依次为1,2,...,n,属性值在全属性集合中的位置序号与属性值在二进制码字符串中的位置序号相同。
在本发明的实施例中,全属性值集合以及其中的属性值的序号可以下表7的形式储存,当然属性值的序号也可以根据属性值的增减进行相应的调整。
Val1 | 1 |
Val2 | 2 |
Val3 | 3 |
... | ... |
Valn-1 | n-1 |
Valn | n |
表7
在本发明的实施例中,待检索数据的属性值以离散形式的属性值进行表达,本发明根据预设的二进制属性值生成方法将待检索数据的离散形式的属性值进行转换,输出二进制码形式的属性值,并对该二进制码形式的属性值进行保存。
在本发明的实施例中,二进制属性值生成方法的核心内容为属性值序号,序号即为该属性值在二进制码形式数据中的位置序号。在生成待检索数据的二进制属性值时,需要确定待检索数据中的每个属性值在二进制码字符串中的位置序号,进而在二进制码字符串中的属性值序号对应的位置的码值设为预设值生成二进制属性值。
在本发明的实施例中,可以将二进制码字符串中与待检索数据的属性值的属性值序号对应的位置上的码值设为1,其他位置上的码值设为0以此生成二进制属性值,这种生成方式的优点在于便于后续二进制属性值的运算处理。当然在本申请的其他可选实施例中,也可以将二进制码字符串中与待检索数据的属性值的属性值序号对应的位置上的码值设为0,其他位置上的码值设为1来生成二进制属性值,这样在进行后续二进制属性值的运算处理时先对每个二进制属性值求反即可。
举例说明,待检索数据A具有三个属性值分别为Val3、Val5、Val12,Val3即为属性值序号为3的属性值,Val5、Val12同理。在生成待检索数据A二进制属性值时,将二进制码字符串中的第3、5、12字符位置上的码值设为1,其他位置上的码值设为0,即生成了待检索数据A对应的二进制属性值。
在本发明的一可选实施例中,上述二进制码字符串可以为一定长字符串,字符串的长度等于最大的属性值序号。在本发明的另一可选实施例中,二进制码字符串的长度也可以不同,二进制码字符串的长度可以等于待检索数据对应的最大属性值序号。
在本发明实施例中,按上述二进制属性值生成方法生成的二进制属性值的格式和含义举例说明如下表8:
表8
在表8的实施例中,将二进制码中的属性值序号对应的字符位置上的码值设为1,其他位置上的码值设为0生成的二进制属性值。当待检索数据的二进制属性值中第N个字符位置的码值为1时,表明该待检索数据包含属性值序号为N的那个属性值。
在本发明的实施例中,采用上述方法将所有储存的待检索数据转换为二进制属性值形式,进而对每个待检索数据的二进制属性值进行储存。
步骤S102,获取检索指令,并根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值。
在本发明实施例中,检索指令中包括至少一个检索的属性值,检索指令中所有的检索的属性值是以离散形式进行表达。本发明采用与上述生成待检索数据的二进制属性值同样的方法,将检索指令转换成二进制属性值的形式。具体生成检索指令对应的二进制属性值的方法与上述步骤S101实施例中的方法相同,这里不再赘述。
步骤S103,根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据。
在本发明的实施例中,在接收到检索指令时,先将检索指令转换成二进制属性值的形式,进而将检索指令的进制属性值与储存的每个待检索数据的二进制属性值进行匹配,以此确定出所有与该检索指令对应的待检索数据。
在本发明的实施例中,将检索指令的二进制属性值与储存的每个待检索数据的二进制属性值进行匹配的方法有多种,例如可以采用将二进制属性值进行对比。在本发明的其他实施例中,也可以采用将检索指令的二进制属性值与待检索数据的二进制属性值进行运算的方式,通过运算结果确定其两个是否匹配,这里的运算可以采用位与运算等。
由以上描述可以看出,本发明通过将离散的属性值转换为有序二进制码的形式进行存储,并在检索时使用二进制码的位与运算,显著的减少了检索的计算量,大大提高了数据检索的效率。
图2是本发明第二实施例数据检索方法的流程图,如图2所示,本实施例的数据检索方法包括步骤S201至步骤S204。
步骤S201,根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,其中,所述二进制属性值生成方法包括:将二进制码中的与属性值序号对应的位置的码值设为1其他位置的码值设为0生成二进制属性值。
在本实施例中,将二进制码字符串中与待检索数据的属性值的属性值序号对应的位置上的码值设为1,其他位置上的码值设为0以此生成二进制属性值,这样可以便于后续二进制属性值的运算处理。
步骤S202,获取检索指令,并根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值。
在本实施例中,在生成检索指令对应的二进制属性值时,采用与上述步骤S201中同样的方法,将二进制码字符串中与检索指令检索的属性值的属性值序号对应的位置上的码值设为1,其他位置上的码值设为0以此生成检索指令对应二进制属性值。
步骤S203,将所述检索指令对应的二进制属性值分别与每个所述待检索数据的二进制属性值进行位与运算确定与所述检索指令对应的待检索数据。
在本发明的实施例中,通过将检索指令对应的二进制属性值与待检索数据的二进制属性值进行位与运算,进而根据运算结果快速确定待检索数据是否与检索指令相匹配。在进行位与运算时,当检索指令对应的二进制属性值和待检索数据的二进制属性值同一字符位置上的码值均为1时,位与运算生成的二进制数值的该字符位置上的码值才为1,否则为0。
步骤S204,当所述检索指令对应的二进制属性值与待检索数据的二进制属性值进行位与运算生成的二进制数值大于0时,确定该待检索数据为所述检索指令对应的待检索数据。
在本发明的实施例中,当检索指令对应的二进制属性值和待检索数据的二进制属性值位与运算生成的二进制数值为0时,说明该待检索数据的属性值与检索指令中检索的属性值均不相同,即该待检索数据与检索指令不匹配。当检索指令对应的二进制属性值和待检索数据的二进制属性值位与运算生成的二进制数值中至少有一个位置的码值为1时,说明该待检索数据的属性值与检索指令中检索的属性值至少有一个相同,即该待检索数据为与检索指令匹配的数据。此外,位与运算生成的二进制数值中码值为1的位置序号也代表了检索指令与待检索数据相同的属性值的属性值序号。位与运算生成的二进制数值中码值为1的位置的数量也代表了检索指令与待检索数据相同的属性值的数量。
图3是本发明第三实施例数据检索方法的流程图,如图3所示,本实施例的数据检索方法包括步骤S301至步骤S304。
步骤S301,根据所述待检索数据的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述待检索数据的与该属性值分类集合对应的二进制属性值。
在图1和图2的实施例中,属性值序号为属性值在全属性值集合中的序号,本发明考虑到若全属性值集合中的属性值数量过多,后续生成的待检索数据以及检索指令对应的二进制属性值可能会过长。为了避免生成的二进制属性值过长,在本实施例中将全属性值集合按照预设的属性值分类拆分成多个属性值分类集合,每个属性值分类集合中的各属性值的排序依次为1,2,...,n。
在本实施例中,在生成待检索数据的二进制属性值时,需要先确定待检索数据包含的各属性值对应的属性值分类集合,进而针对对应的属性值分类集合各生成一个二进制属性值。因此,若一个待检索数据包含多类属性值,将会生成对应多个二进制属性值,进而将待检索数据对应的所有二进制属性值进行储存。在本实施例中,生成待检索数据的与属性值分类集合对应的二进制属性值的方法与上述步骤S101中的生成待检索数据的二进制属性值的方法相同,这里不再赘述。
步骤S302,根据所述检索指令中检索的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述检索指令的与该属性值分类集合对应的二进制属性值。
在本实施例中,与上述步骤S301生成待检索数据的与属性值分类集合对应的二进制属性值相同,在生成检索指令对应的二进制属性值时也要考虑不同的属性值分类集合。在生成检索指令的二进制属性值时,需要先确定检索指令包含的各检索属性值对应的属性值分类集合,进而针对对应的属性值分类集合各生成一个二进制属性值。因此,若一个检索指令包含多类检索属性值,将会生成对应的多个二进制属性值。
步骤S303,根据检索指令的与属性值分类集合对应的二进制属性值以及待检索数据的与该属性值分类集合对应的二进制属性值确定出与所述检索指令对应的待检索数据。
在本实施例中,将生成的检索指令对应的每个二进制属性值每个待检索数据的各二进制属性值进行匹配,以确定与检索指令对应的待检索数据。在本实施例中,检索指令的二进制属性与待检索数据的二进制属性值进行匹配的方法可以采用与上述步骤S101或者步骤S203和步骤S204的实施例中的同样的方法。
图4是本发明第四实施例数据检索方法的流程图,如图4所示,本实施例的数据检索方法包括步骤S401至步骤S406。
步骤S401,确定全属性值集合为{val1,val,...,valn},且在二进制码中对应的位置顺序依次为1,2,...,n,即确定存储规则。
步骤S402,数据存储:即按照存储规则将离散的属性值的集合形式的数据转换为二进制码形式后存储,例如待检索数据的二进制属性值可以为:
步骤S403,接收检索指令,形式为离散形式的属性值集合,例如{valp,valh}。
步骤S404,转换检索指令为有序二进制码形式的指令,例如检索指令的二进制属性值可以为:
检索指令 | 1 | 1 | 1 | ... | 0 | 0 | 0 | 0 |
步骤S405,将检索指令二进制属性值与待检索数据的二进制属性值进行位与运算,即
与
检索指令 | 1 | 1 | 1 | ... | 0 | 0 | 0 | 0 |
进行计算机的位与运算,得到位与运算的结果。
步骤S406,检索成功,获得需要的待检索数据。当位与运算结果代表的二进制数值大于0,则代表数据与检索指令匹配需要被返回,否则不匹配,不需要返回。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种数据检索装置,可以用于实现上述实施例所描述的数据检索方法,如下面的实施例所述。由于数据检索装置解决问题的原理与数据检索方法相似,因此数据检索装置的实施例可以参见数据检索方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是本发明实施例数据检索装置的结构框图,如图5所示,本发明实施例数据检索装置包括:待检索数据二进制属性值生成单元1、检索指令二进制属性值生成单元2、数据匹配单元3。
待检索数据二进制属性值生成单元1,用于根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,其中,所述二进制属性值生成方法包括:将二进制码中的与属性值序号对应的位置的码值设为预设值生成二进制属性值;
检索指令二进制属性值生成单元2,用于获取检索指令,并根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值;
数据匹配单元3,用于根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据。
由以上描述可以看出,本发明通过将离散的属性值转换为有序二进制码的形式进行存储,并在检索时使用二进制码的位与运算,显著的减少了检索的计算量,大大提高了数据检索的效率。
在本发明的实施例中,上述二进制属性值生成方法具体为:将二进制码中的与属性值序号对应的位置的码值设为1其他位置的码值设为0生成二进制属性值。
图6是本发明实施例数据匹配单元的第一结构框图,如图6所示,在本发明实施例中数据匹配单元3包括:位与运算模块301和待检索数据确定模块302。
位与运算模块301,用于将所述检索指令对应的二进制属性值分别与每个所述待检索数据的二进制属性值进行位与运算确定与所述检索指令对应的待检索数据。
待检索数据确定模块302,用于当所述检索指令对应的二进制属性值与待检索数据的二进制属性值进行位与运算生成的二进制数值大于0时,触发并确定该待检索数据为所述检索指令对应的待检索数据。
在本发明的实施例中,上述属性值对应的属性值序号为属性值在对应的属性值分类集合中的序号。
图7是本发明实施例待检索数据二进制属性值生成单元的结构框图,如图7所示,在本发明实施例中,待检索数据二进制属性值生成单元1包括:分类集合待检索数据二进制属性值生成模块101。
分类集合待检索数据二进制属性值生成模块101,用于根据所述待检索数据的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述待检索数据的与该属性值分类集合对应的二进制属性值。
图8是本发明实施例检索指令二进制属性值生成单元的结构框图,如图8所示,在本发明实施例中,检索指令二进制属性值生成单元2包括:分类集合检索指令二进制属性值生成模块201。
分类集合检索指令二进制属性值生成模块201,用于根据所述检索指令中检索的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述检索指令的与该属性值分类集合对应的二进制属性值。
图9是本发明实施例数据匹配单元的第二结构框图,如图9所示,在本发明实施例中,数据匹配单元3还包括:分类集合匹配模块303。
分类集合匹配模块303,用于根据检索指令的与属性值分类集合对应的二进制属性值以及待检索数据的与该属性值分类集合对应的二进制属性值确定出与所述检索指令对应的待检索数据。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备,如图10所示,该计算机设备包括存储器、处理器、通信接口及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据检索方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述数据检索方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种数据检索方法,其特征在于,包括:
根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,其中,所述二进制属性值生成方法包括:将二进制码中的与属性值序号对应的位置的码值设为预设值生成二进制属性值;
获取检索指令,并根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值;
根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据。
2.根据权利要求1所述的数据检索方法,其特征在于,所述将二进制码中的与属性值序号对应的位置的码值设为预设值生成二进制属性值包括:
将二进制码中的与属性值序号对应的位置的码值设为1其他位置的码值设为0生成二进制属性值。
3.根据权利要求2所述的数据检索方法,其特征在于,所述根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据,包括:
将所述检索指令对应的二进制属性值分别与每个所述待检索数据的二进制属性值进行位与运算确定与所述检索指令对应的待检索数据。
4.根据权利要求3所述的数据检索方法,其特征在于,所述将所述检索指令对应的二进制属性值分别与每个所述待检索数据的二进制属性值进行位与运算确定与所述检索指令对应的待检索数据,包括:
当所述检索指令对应的二进制属性值与待检索数据的二进制属性值进行位与运算生成的二进制数值大于0时,确定该待检索数据为所述检索指令对应的待检索数据。
5.根据权利要求1所述的数据检索方法,其特征在于,属性值对应的属性值序号包括:属性值在全属性值集合中的序号。
6.根据权利要求1所述的数据检索方法,其特征在于,属性值对应的属性值序号包括:属性值在对应的属性值分类集合中的序号。
7.根据权利要求6所述的数据检索方法,其特征在于,所述根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,包括:
根据所述待检索数据的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述待检索数据的与该属性值分类集合对应的二进制属性值。
8.根据权利要求7所述的数据检索方法,其特征在于,所述根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值,包括:
根据所述检索指令中检索的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述检索指令的与该属性值分类集合对应的二进制属性值。
9.根据权利要求8所述的数据检索方法,其特征在于,所述根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据,包括:
根据检索指令的与属性值分类集合对应的二进制属性值以及待检索数据的与该属性值分类集合对应的二进制属性值确定出与所述检索指令对应的待检索数据。
10.一种数据检索装置,其特征在于,包括:
待检索数据二进制属性值生成单元,用于根据待检索数据的属性值对应的属性值序号以及预设的二进制属性值生成方法生成所述待检索数据对应的二进制属性值,其中,所述二进制属性值生成方法包括:将二进制码中的与属性值序号对应的位置的码值设为预设值生成二进制属性值;
检索指令二进制属性值生成单元,用于获取检索指令,并根据所述检索指令中检索的属性值对应的属性值序号以及所述二进制属性值生成方法生成所述检索指令对应的二进制属性值;
数据匹配单元,用于根据所述检索指令对应的二进制属性值以及所述待检索数据对应的二进制属性值确定出与所述检索指令对应的待检索数据。
11.根据权利要求10所述的数据检索装置,其特征在于,所述二进制属性值生成方法具体包括:
将二进制码中的与属性值序号对应的位置的码值设为1其他位置的码值设为0生成二进制属性值。
12.根据权利要求11所述的数据检索装置,其特征在于,所述数据匹配单元,包括:
位与运算模块,用于将所述检索指令对应的二进制属性值分别与每个所述待检索数据的二进制属性值进行位与运算确定与所述检索指令对应的待检索数据。
13.根据权利要求12所述的数据检索装置,其特征在于,所述数据匹配单元,还包括:
待检索数据确定模块,用于当所述检索指令对应的二进制属性值与待检索数据的二进制属性值进行位与运算生成的二进制数值大于0时,触发并确定该待检索数据为所述检索指令对应的待检索数据。
14.根据权利要求10所述的数据检索装置,其特征在于,属性值对应的属性值序号包括:属性值在全属性值集合中的序号。
15.根据权利要求10所述的数据检索装置,其特征在于,属性值对应的属性值序号包括:属性值在对应的属性值分类集合中的序号。
16.根据权利要求15所述的数据检索装置,其特征在于,所述待检索数据二进制属性值生成单元,包括:
分类集合待检索数据二进制属性值生成模块,用于根据所述待检索数据的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述待检索数据的与该属性值分类集合对应的二进制属性值。
17.根据权利要求16所述的数据检索装置,其特征在于,所述检索指令二进制属性值生成单元,包括:
分类集合检索指令二进制属性值生成模块,用于根据所述检索指令中检索的属性值在对应的属性值分类集合中的序号以及所述二进制属性值生成方法,生成所述检索指令的与该属性值分类集合对应的二进制属性值。
18.根据权利要求17所述的数据检索装置,其特征在于,所述数据匹配单元,包括:
分类集合匹配模块,用于根据检索指令的与属性值分类集合对应的二进制属性值以及待检索数据的与该属性值分类集合对应的二进制属性值确定出与所述检索指令对应的待检索数据。
19.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一项方法中的步骤。
20.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至9任意一项方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910316489.6A CN110321363A (zh) | 2019-04-19 | 2019-04-19 | 数据检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910316489.6A CN110321363A (zh) | 2019-04-19 | 2019-04-19 | 数据检索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110321363A true CN110321363A (zh) | 2019-10-11 |
Family
ID=68112914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910316489.6A Pending CN110321363A (zh) | 2019-04-19 | 2019-04-19 | 数据检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321363A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269806A (zh) * | 2020-12-11 | 2021-01-26 | 深圳市房多多网络科技有限公司 | 数据查询方法、装置、设备以及计算机存储介质 |
WO2023109066A1 (zh) * | 2021-12-16 | 2023-06-22 | 深圳前海微众银行股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467563A (zh) * | 2010-11-19 | 2012-05-23 | 金蝶软件(中国)有限公司 | 数据检索方法和系统 |
CN106327266A (zh) * | 2016-08-30 | 2017-01-11 | 北京京东尚科信息技术有限公司 | 数据挖掘方法及装置 |
CN108415978A (zh) * | 2018-02-09 | 2018-08-17 | 北京腾云天下科技有限公司 | 用户标签存储方法、用户画像计算方法及计算设备 |
CN108733681A (zh) * | 2017-04-14 | 2018-11-02 | 华为技术有限公司 | 信息处理方法及装置 |
CN109086456A (zh) * | 2018-08-31 | 2018-12-25 | 中国联合网络通信集团有限公司 | 数据索引方法及装置 |
-
2019
- 2019-04-19 CN CN201910316489.6A patent/CN110321363A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467563A (zh) * | 2010-11-19 | 2012-05-23 | 金蝶软件(中国)有限公司 | 数据检索方法和系统 |
CN106327266A (zh) * | 2016-08-30 | 2017-01-11 | 北京京东尚科信息技术有限公司 | 数据挖掘方法及装置 |
CN108733681A (zh) * | 2017-04-14 | 2018-11-02 | 华为技术有限公司 | 信息处理方法及装置 |
CN108415978A (zh) * | 2018-02-09 | 2018-08-17 | 北京腾云天下科技有限公司 | 用户标签存储方法、用户画像计算方法及计算设备 |
CN109086456A (zh) * | 2018-08-31 | 2018-12-25 | 中国联合网络通信集团有限公司 | 数据索引方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269806A (zh) * | 2020-12-11 | 2021-01-26 | 深圳市房多多网络科技有限公司 | 数据查询方法、装置、设备以及计算机存储介质 |
CN112269806B (zh) * | 2020-12-11 | 2021-03-19 | 深圳市房多多网络科技有限公司 | 数据查询方法、装置、设备以及计算机存储介质 |
WO2023109066A1 (zh) * | 2021-12-16 | 2023-06-22 | 深圳前海微众银行股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452691B2 (en) | Method and apparatus for generating search results using inverted index | |
EP3602297B1 (en) | Systems and methods for performing data processing operations using variable level parallelism | |
US20160342662A1 (en) | Multi-stage tcam search | |
CN108255958A (zh) | 数据查询方法、装置和存储介质 | |
CN107085570A (zh) | 数据处理方法、应用服务器和路由器 | |
Wang et al. | RiMOM results for OAEI 2010 | |
CN109254966A (zh) | 数据表查询方法、装置、计算机设备及存储介质 | |
JP2018515844A (ja) | データ処理方法及びシステム | |
CN111339078A (zh) | 数据实时存储方法、数据查询方法、装置、设备、介质 | |
US10885085B2 (en) | System to organize search and display unstructured data | |
CN106407442B (zh) | 一种海量文本数据处理方法及装置 | |
US20130151561A1 (en) | Fuzzy full text search | |
CN110321363A (zh) | 数据检索方法及装置 | |
US20180225382A1 (en) | System and method for automatic creation of ontological databases and semantic searching | |
CN103577455A (zh) | 用于数据库聚集操作的数据处理方法和系统 | |
CN106156319A (zh) | 可伸缩的分布式的资源描述框架数据存储方法及装置 | |
CN107145574A (zh) | 数据库数据处理方法、装置及存储介质和电子设备 | |
CN106649800A (zh) | 一种基于Solr的中文检索方法 | |
CN106997340A (zh) | 词库的生成以及利用词库的文档分类方法及装置 | |
US12013855B2 (en) | Trimming blackhole clusters | |
KR20220155377A (ko) | 계정의 식별방법, 식별장치, 전자 디바이스 및 컴퓨터 판독 가능한 매체 | |
CN116127154A (zh) | 知识标签推荐方法、装置、电子设备及存储介质 | |
US20200364251A1 (en) | Cluster computing system and method for automatically generating extraction patterns from operational logs | |
US20240095286A1 (en) | Information processing apparatus, classification method, and storage medium | |
WO2022186932A1 (en) | Decision tree native to graph database |
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: 20191011 |
|
RJ01 | Rejection of invention patent application after publication |