CN108108472A - 数据处理方法以及服务器 - Google Patents

数据处理方法以及服务器 Download PDF

Info

Publication number
CN108108472A
CN108108472A CN201810001147.0A CN201810001147A CN108108472A CN 108108472 A CN108108472 A CN 108108472A CN 201810001147 A CN201810001147 A CN 201810001147A CN 108108472 A CN108108472 A CN 108108472A
Authority
CN
China
Prior art keywords
querying condition
data query
fpga
logical relation
subtree
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
Application number
CN201810001147.0A
Other languages
English (en)
Other versions
CN108108472B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201810001147.0A priority Critical patent/CN108108472B/zh
Publication of CN108108472A publication Critical patent/CN108108472A/zh
Application granted granted Critical
Publication of CN108108472B publication Critical patent/CN108108472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/244Grouping and aggregation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/24569Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种数据处理方法以及服务器,该方法应用于人工智能平台的服务器,包括:FPGA获取数据查询命令;根据数据查询命令中多个查询条件的第一数量及逻辑关系,以及FPGA中计算模块的第二数量,将多个查询条件划分为多个查询条件组,并确定查询条件组的逻辑关系;FPGA依次根据当前处理的查询条件组中的查询条件,以及当前处理的查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果;根据多个查询条件组之间的逻辑关系,以及多个数据查询条件组对应的数据查询结果,确定数据查询命令对应的目标数据查询结果。该方案可以减少由于FPGA的资源限制,而无法成功处理数据查询操作的情况。

Description

数据处理方法以及服务器
技术领域
本发明涉及信息处理技术领域,更具体地说,涉及一种数据处理方法以及服务器。
背景技术
在人工智能平台中,服务器对于数据查询的效率要求较高,而为了提高数据查询效率,人工智能平台中的服务器可以基于现场可编程门阵列(Field Programmable GateArray,FPGA)来实现数据库查询。
FPGA中一般会具有多个用于执行数据查询处理的计算模块,通过这多个计算模块可以处理数据查询操作所涉及的多个查询条件相关数据处理。然而,FPGA中计算模块的数量是有限的,因此,如果数据查询操作所涉及到的查询条件的数量较多时,FPGA则无法完成该数据查询操作的处理,从而使得FPGA对于数据库处查询的加速存在一定的局限性。
发明内容
本发明的目的是提供一种数据处理方法以及服务器,以突破FPGA对于数据查询操作涉及到的条件查询操作的数量的限制,以减少由于FPGA的资源限制,而无法成功处理数据查询操作的情况。
为实现上述目的,本发明提供了如下技术方案:
一种数据处理方法,应用于人工智能平台的服务器,包括:
现场可编程门阵列FPGA获取数据查询命令,所述数据查询命令包含多个查询条件以及所述多个查询条件之间的逻辑关系;
所述FPGA根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系,其中,所述查询条件组中查询条件的数量不超过所述第二数量;
所述FPGA依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果;
所述FPGA根据所述多个查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果。
优选的,所述FPGA根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系,包括:
所述FPGA根据所述多个查询条件之间的逻辑关系,构建出用于表征所述多个查询条件之间逻辑关系的二叉树,所述二叉树中第一层的叶子节点用于表示所述查询条件;
根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树,其中,所述第一子树中第一层的叶子节点的数量为2N,2N不大于所述第二数量,且所述第一子树的层数为N+1,所述N为大于等于1的自然数;
所述FPGA依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果,包括:
所述FPGA依次处理每个第一子树,根据当前处理的第一子树中各个节点以及各个节点之间的逻辑关系,确定每个所述第一子树的父节点所表征的数据查询结果;
所述根据所述多个数据查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果,包括:
根据所述第一子树的父节点所表征的数据查询结果,执行所述第二子树所对应的数据处理,得到所述数据查询命令对应的目标数据查询结果。
优选的,所述根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树,包括:
根据所述第二数量,确定待拆分出的第一子树中第一层所具有的叶子节点的第三数量以及所述第一子树所具有的目标层数,其中,所述第三数量为2N,所述目标层数为所述N+1;
根据所述第三数量和所述目标层数,确定出所述二叉树中靠前的所述目标层数对应的目标层,并将所述二叉树中所述目标层拆分为多个第一子树;
将所述多个第一子树中的父节点以及处于所述二叉树中所述目标层之外节点构成第二子树。
优选的,所述第三数量为2N,且所述2N为不大于所述第二数量的最大数。
优选的,在所述根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,将多个查询条件划分为多个查询条件组之前,还包括:
所述FPGA根据所述第二数量,判断所述FPGA是否具备处理所述数据查询命令的条件;
当所述FPGA不具备处理所述数据查询命令的条件时,根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,所述FPGA将所述多个查询条件划分为多个查询条件组。
另一方面,本申请还提供了一种服务器,包括:
现场可编程门阵列FPGA和处理器;
所述处理器用于,向所述FPGA下发数据查询命令;
所述FPGA用于,获取数据查询命令,所述数据查询命令包含多个查询条件以及所述多个查询条件之间的逻辑关系;根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系,其中,所述查询条件组中查询条件的数量不超过所述第二数量;依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果;根据所述多个查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果。
优选的,所述FPGA在根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系时,具体用于,FPGA根据所述多个查询条件之间的逻辑关系,构建出用于表征所述多个查询条件之间逻辑关系的二叉树,所述二叉树中第一层的叶子节点用于表示所述查询条件;根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树,其中,所述第一子树中第一层的叶子节点的数量为2N,2N不大于所述第二数量,且所述第一子树的层数为N+1,所述N为大于等于1的自然数;
所述FPGA在依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果时,具体用于,依次处理每个第一子树,根据当前处理的第一子树中各个节点以及各个节点之间的逻辑关系,确定每个所述第一子树的父节点所表征的数据查询结果;
所述FPGA在根据所述多个数据查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果时,具体用于,根据所述第一子树的父节点所表征的数据查询结果,执行所述第二子树所对应的数据处理,得到所述数据查询命令对应的目标数据查询结果。
优选的,所述FPGA在根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树时,具体用于:
根据所述第二数量,确定待拆分出的第一子树中第一层所具有的叶子节点的第三数量以及所述第一子树所具有的目标层数,其中,所述第三数量为2N,所述目标层数为所述N+1;
根据所述第三数量和所述目标层数,确定出所述二叉树中靠前的所述目标层数对应的目标层,并将所述二叉树中所述目标层拆分为多个第一子树;
将所述多个第一子树中的父节点以及处于所述二叉树中所述目标层之外节点构成第二子树。
优选的,所述第三数量为2N,且所述2N为不大于所述第二数量的最大数。
优选的,所述FPGA还用于,在所述根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,将多个查询条件划分为多个查询条件组之前,根据所述第二数量,判断所述FPGA是否具备处理所述数据查询命令的条件;当所述FPGA不具备处理所述数据查询命令的条件时,根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,所述FPGA将所述多个查询条件划分为多个查询条件组。
通过以上方案可知,FPGA在获取到数据查询命令之后,会根据该数据查询命令中多个查询条件的数量以及FPGA中计算模块的数量,并结合该多个查询条件之间的逻辑关系,将该多个查询条件划分为多个查询条件组,并确定该多个查询条件组之间的逻辑关系,由于每个查询条件组中查询条件的数量不超过该FPGA中计算模块的数量,因此,FPGA具备处理查询条件组中多个查询条件之间逻辑关系的能力,从而可以处理得到每个查询条件组对应的数据查询结果,这样,根据每个查询条件组之间的逻辑关系,对该多个查询条件组对应的数据查询结果进行处理,便可以得到该数据查询命令对应的目标数据查询结果,可见,即使数据查询命令的复杂度较高,通过FPGA也可以通过多次计算,也可以查询出该数据查询命令的数据查询结果,突破了FPGA的局限,减少了由于数据查询命令的复杂度过高,而导致FPGA无法查询数据的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种数据处理方法一个实施例的流程示意图;
图2为本申请提供的一种数据处理方法又一个实施例的流程示意图;
图3为本申请实施例提供的二叉树的一种形式的示意图;
图4为本申请一种服务器一个实施例的组成结构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
本申请实施例的数据处理方法可以用于人工智能领域,如,智能数据管理,智能图像处理等等,通过本申请的方案可以提高人工智能等平台中服务器的数据查询效率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本申请实施例提供的一种数据处理方法一个实施例的流程示意图,本实施例的方法应用于,应用于人工智能平台的服务器,包括:
S101,现场可编程门阵列FPGA获取数据查询命令。
其中,该数据查询命令可以是由处理器发送给FPGA。
其中,该数据查询命令包含多个查询条件以及该多个查询条件之间的逻辑关系。
可以理解的是,数据查询命令中会包括待查询的数据所需满足的一个或多个条件,这些用于限定待查询的数据所需满足的条件就是查询条件。如,假设待查询的数据的生产年份为2016年,则查询条件可以为“时间=2016年”;又如,需要从数据库中查询员工信息,且需要查询的员工信息为年龄大于60的员工的数据,则查询条件至少会包括“年龄”这一字段大于60,即“年龄>60”。
由于在人工智能平台中,数据量较大,所需查询的数据一般也会满足多个条件,因此,在本申请实施例中,该数据查询命令一般会包括多个查询条件。而根据数据查询需求的不同,所需查询的数据可能需要同时满足该多个查询条件,也可能是只需要满足该多个查询条件中的部分查询条件,因此,该数据查询命令中包括该多个查询条件之间的逻辑关系。通过数据查询命令中的逻辑关系可以反映出需要如何依据该多个查询条件,查询出数据。
其中,该逻辑关系可以为:和、或等逻辑关系。
如,假设数据查询命令为查询字段a中的数值(或者说字段a的取值)大于10,且字段b中的数据(即字段b的取值)小于8的数据,则在该数据查询命令中包括第一个查询条件:“字段a的取值大于1”,以及第二个查询条件:“字段b的取值小于8”,则这两个查询条件之间具有“和”逻辑关系。
需要说明的,在数据查询命令中,该多个查询条件之间的逻辑关系包括两个查询条件之间的逻辑关系,以及该多个查询条件之间的逻辑关系。一般情况下,该多个查询命令之间会包括多层逻辑关系,如,查询条件1与查询条件2之间有第一逻辑关系,且该查询条件3与查询条件4之间具有第二逻辑关系,且查询条件1与查询条件2所构成的逻辑查询组合1(为了便于区分,将至少两个查询条件通过逻辑关系形成的组合成为逻辑查询组合),又与查询条件3和查询条件4构成的逻辑查询组合2之间具有第三逻辑关系。当然,当查询条件的数据较多时,该多个查询条件之间的逻辑关系会更加复杂。
举例说明,以SQL语句的数据查询命令为例:
假设数据查询命令为“select*where((A1>1or A2<2)and(A3>3or A4=4))”,则该数据查询命令包括的查询条件依次为:“A1>1”、“A2<2”、“A3>3”和“A4=4”,其中,查询条件“A1>1”与“A2<2”之间的逻辑关系为“或”,查询条件“A3>3”与“A4=4”之间的逻辑关系也为“或”,同时,查询条件“A1>1”与“A2<2”通过逻辑或组成的逻辑查询组合1,与查询条件“A3>3”与“A4=4”通过逻辑或组成的逻辑查询组合2之间的逻辑关系为“和”。
S102,FPGA根据该多个查询条件的第一数量、该多个查询条件之间的逻辑关系以及该FPGA中计算模块的第二数量,将该多个查询条件划分为多个查询条件组,并确定该目标数量个查询条件组之间的逻辑关系。
在本申请实施例中,为了便于区分,将数据查询命令中查询条件的数量称为第一数量,并将FPGA中计算模块的数量称为第二数量
其中,FPGA中计算模块为用于执行并完成数据查询处理的模块,如,执行数据查询命令中的查询条件,以查询数据满足该查询条件的数据。其中,FPGA中的多个计算模块可以并行处理多个查询条件。其中,该计算模块可以集成了多种不同数据处理功能的多个子模块。
可以理解的是,FPGA中计算模块的数量决定了FPGA所能处理的数据查询命令的复杂度,而数据查询命令的复杂度与该数据查询命令中查询条件的数量有关。因此,根据该FPGA中计算模块的数量,可以确定出将该多个查询条件划分为多个组,才可以保证每组内的查询条件的个数是处于该FPGA处理能力范围内的。
具体的,每个查询条件组中包含的查询条件的数量不大于该FPGA中计算模块的第二数量,以保证FPGA的多个计算模块可以并行处理该查询条件组中的多个查询条件。其中,每个查询条件组包括至少两个查询条件。
可以理解的是,在将数据查询命令中的多个查询条件划分为多个查询条件组时,除了需要考虑每个查询条件组中查询条件的数量之外,还需要考虑该多个查询条件之间的逻辑关系,以避免破坏到该多个查询条件之间的逻辑关系。如,对于任意直接具有逻辑关系的两个查询条件需要分配到同一个辑查条件组,同时,处于同一个查询条件组内的多个查询条件的逻辑关系的关联程度,比未处于同一个查询条件组内的多个查询条件的逻辑关系的关联程度高。
例如,以数据查询命令“select*where(((A1>1or A2<2)and(A3>3or A4=4))or((A5>3or A6<2)and(A7>5or A8<6)))”为例,该数据查询命令中处于同一个括号内的两个查询条件之间的具有逻辑关系,如,查询条件A1>1与查询条件A2<2之间直接具有逻辑关系,则说明这两个查询条件之间具有直接的逻辑关系,且,查询条件A3>3与查询条件A4=4之间也具有直接的逻辑关系,相应的,查询条件A5>3与A6<2,以及A7>5与A8<6之间也具有直接的逻辑关系。查询条件A1>1与查询条件A3>3之间不是直接具有逻辑关系,但是A1与A3之间的逻辑关系的关联程度,要比A1与A5之间的逻辑关系的关联程度高。
假设根据FPGA中计算模块的第二数量为4个,则针对该数据查询命令,每个查询条件组中可以包括4个查询条件,则在该种情况下,可以将该数据查询命令中“(A1>1or A2<2)and(A3>3or A4=4)”该部分确定为第一个查询条件组对应的查询命令,即,该查询条件组中包括A1>1、A2<2、A3>3以及A4=4这四个查询条件,且查询条件A1>1与A2<2之间的逻辑关系为或,而查询条件A3>3与A4=4之间的逻辑关系也为或,同时,(A1>1与A2<2的或逻辑,与A3>3与A4=4的或逻辑之间的逻辑关系为和。相应的,“(A5>3or A6<2)and(A7>5or A8<6)”中的四个查询条件被划分到该第二个查询条件组,该第二个查询条件组中四个查询条件之间的逻辑关系由该部分数据查询命令确定。
S103,FPGA依次处理每个查询条件组,并根据当前处理的查询条件组中的查询条件,以及当前处理的该查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果。
由于每个查询条件组实际上对应着部分查询命令,而查询条件组中查询条件的数量均小于该FPGA中计算模块的第二数量,因此,FPGA具备处理该查询条件组对应的数据查询命令的能力,因此,FPGA可以依次处理每个查询条件组,从而依据该查询条件组中多个查询条件的逻辑关系,得到每个查询条件组对应的数据查询结果。
可以理解的是,在FPGA在获取到数据查询命令之前,FPGA可以从处理器中获取到待处理的数据文件,该数据文件中包括待查询数据的一个或多个数据表,或者其他形式的待查询数据,相应的,FPGA依据查询条件组中多个查询条件之间的逻辑关系可以从待查询的数据文件中,获取到该查询条件组对应的数据查询结果。
S104,根据该多个查询条件组之间的逻辑关系,以及该多个数据查询条件组对应的数据查询结果,确定该数据查询命令对应的目标数据查询结果。
可以理解的是,由于每个查询条件组中多个查询条件之间的逻辑关系代表该数据查询命令中的部分命令,因此,分别执行每个查询条件组可以得到多个部分命令所对应的多个数据查询结果,而实际上该多个查询条件组之间仍存在一定的逻辑关系,该多个查询条件组之间的逻辑关系实际就是该多个部分查询命令之间的逻辑关系,基于该多个部分查询命令的逻辑关系可以还原出该数据查询命令。因此,在得到该多个查询条件组对应的多个数据查询结果之后,还需要根据该多个查询条件组之间的逻辑关系,对该多个数据查询结果进行处理,才可以得到该数据查询命令对应的目标数据查询结果。
如,仍以数据查询命令“select*where(((A1>1or A2<2)and(A3>3or A4=4))or((A5>3or A6<2)and(A7>5or A8<6)))”为例,假设“(A1>1or A2<2)and(A3>3or A4=4)”对应第一个查询条件组,而“(A5>3or A6<2)and(A7>5or A8<6)”对应第二个查询条件组,这样,FPGA依次得到该第一个查询条件组对应的数据查询结果,以及第二个查询条件组对应的数据查询结果之后,还需要对这两个数据查询结果进行或运算,从而将这两个数据查询结果总体作为该数据查询命令对应的数据查询结果。
可以理解的是,在上面这个例子中,这两个数据查询结果的逻辑关系为或,因此,这两个数据查询结果对应的数据集合就是该这个数据查询命令的数据查询结果。如果这两个数据查询结果对应的逻辑关系为和,则需要从这两个数据查询结果中进一步进行查询操作,以查出这两个查询条件组对应的逻辑关系的数据结果。
可见,在本申请实施例中,FPGA在获取到数据查询命令之后,会根据该数据查询命令中多个查询条件的数量以及FPGA中计算模块的数量,并结合该多个查询条件之间的逻辑关系,将该多个查询条件划分为多个查询条件组,并确定该多个查询条件组之间的逻辑关系,由于每个查询条件组中查询条件的数量不超过该FPGA中计算模块的数量,因此,FPGA具备处理查询条件组中多个查询条件之间逻辑关系的能力,从而可以处理得到每个查询条件组对应的数据查询结果,这样,根据每个查询条件组之间的逻辑关系,对该多个查询条件组对应的数据查询结果进行处理,便可以得到该数据查询命令对应的目标数据查询结果,可见,即使数据查询命令的复杂度较高,通过FPGA也可以通过多次计算,也可以查询出该数据查询命令的数据查询结果,突破了FPGA的局限,减少了由于数据查询命令的复杂度过高,而导致FPGA无法查询数据的情况。
可以理解的是,如果数据查询命令的复杂度不高,即使不对该数据查询命令的多个查询条件进行拆分,该FPGA也具备处理该数据查询命令的能力,在该种情况下,该FPGA可以直接执行该数据查询命令所执行的数据查询。因此,在该获取到数据查询命令之后,该FPGA可以依据该FPGA中计算模块的第二数量,判断该FPGA是否具备处理该数据查询命令的条件。
如,在一种可能的情况中,可以根据该数据查询命令中查询条件的第一数量,依据该FPGA中的计算模块的第二数量,分析该FPGA是否具备处该数据查询命令的条件。例如,如果该FPGA中计算模块的第二数量小于该数据查询命令中查询条件的第一数量,则说明该FPGA不具备处理该数据查询命令的条件。
又如,在一种可能的实现方式中,除了依据该数据查询命令中查询条件的第一数量、该FPGA中计算模块的第二数量之外,还可以考虑该数据查询命令中该多个查询条件之间的逻辑关系,来分析该FPGA是否具备处理该数据查询命令的条件。例如,可以先构建出该数据查询命令中多个查询条件之间的逻辑关系,构建出二叉树,并依据二叉树中处于第一层的子节点的个数,与该FPGA中计算模块的第二数量进行比对,如果该第二数量小于该二叉树中处于第一层的子节点的个数,则说明该FPGA不具备处理该数据查询命令的条件。
其中,可以理解的是,如果某个查询条件不存在与其直接具有关联关系的查询条件时,在构建二叉树的过程中,为该查询条件构建出一个叶子节点之后,还需要构建出查询条件为空的叶子节点,该查询条件为空的叶子节点与查询条件对应的叶子节点具有同一个父节点。可见,二叉树中处于第一层的叶子节点的个数有可能会被查询条件的个数多,如果二叉树中处于第一层的叶子节点的个数比该FPGA中计算模块的第二数量多,则该FPGA不具备处理该二叉树的能力,也就不具备处理该数据查询命令的能力。
当然,还有其他判断该FPGA是否具备处理该数据查询的能力的方式,本申请对此不加以限制。
相应的,在本申请实施例中,可以当FPGA不具备处理所述数据查询命令的条件时,根据该数据查询命令中多个查询条件的第一数量、FPGA中计算模块的第二数量以及该多个查询条件的逻辑关系,将该多个查询条件划分为多个查询条件组。
可以理解的是,在一种实现方式中,FPGA根据数据查询命令执行数据查询时,可以先构建出该数据查询命令的二叉树,并依据二叉树中表征的各个查询条件之间的关系,执行数据查询,并最终确定出该数据查询命令对应的数据查询结果。相应的,为了能够适应该种处理方法,并实现合理将多个查询条件进行划分,在本申请实施中可以是对依据该数据查询命令构成出的二叉树进行拆分。如,参见图2,其示出了本申请一种数据处理方法又一个实施例的流程示意图,本实施例的方法可以包括:
S201,FPGA获取数据查询命令。
其中,该数据查询命令包含多个查询条件以及多个查询条件之间的逻辑关系。
如,处理器生成数据查询命令并下发给FPGA。
该步骤可以参见前面的相关介绍,在此不再赘述。
S202,FPGA根据该多个查询条件之间的逻辑关系,构建出用于表征该多个查询条件之间逻辑关系的二叉树。
可以理解的是,数据查询命令中多个查询条件之间可以有多层逻辑关系,FPGS可以根据该多个查询条件之间的各层逻辑关系,将数据查询命令中的多个查询条件之间的关系通过二叉树表示出来。
其中,该二叉树中第一层的叶子节点用于表示查询条件,其中,第一层的每个叶子节点表示一种查询条件。其中,二叉树中所有叶子节点最终都对应到一个父节点,而二叉树中第一层的叶子节点是相对于该二叉树中所有叶子节点的父节点而言的,如果以该父节点为二叉树的最顶层(也可以认为是最底层),则最顶层只有该一个叶子节点,而二叉树的最底层中叶子节点就是第一层的叶子节点。
可以理解的是,二叉树中第二层的叶子节点的数量为2M个,M为大于一的自然数,而数据查询命令中查询条件的个数有可能不满足2M,因此,在构建二叉树的过程中,如果某个查询条件不存在与其具有直接逻辑关系的查询条件,则针对该查询条件构成两个叶子节点,其中一个叶子节点表示该查询条件,而另一个叶子节点的查询条件为空。
为了便于理解,仍以数据查询命令:“select*where(((A1>1or A2<2)and(A3>3orA4=4))or((A5>3or A6<2)and(A7>5or A8<6)))”为例,基于该数据查询命令构建出的二叉树的示意形式可以参见图3,由图3可见,该二叉树中第一层的叶子节点包括8个,这8个叶子节点分别表示该数据查询命令中的8个查询条件。同时,由图3可知,表示A1>1的叶子节点与表示A2<2的叶子节点具有同一个子节点,这子节点就是这两个叶子节点进行或运算得到的。同时,由图3可以看出,该二叉树中所有叶子节点均有一个父节点,该二叉树的层数为4层,父节点处于顶层,即第4层。
可以理解的是,依据数据查询命令中多个查询条件之间的关系,将数据查询命令转换为二叉树的方式有多种,可以采用人工智能领域中,用于将计算机语言描述的数据查询命令转换为二叉树的任意一种算法。
S203,检测该二叉树中第一层的叶子节点的个数是否大于该FPGA中计算模块的第二数量,如果是,则执行步骤S204;如果否,则依据该二叉树,执行数据查询命令对应的数据查询结果。
可以理解的是,如果二叉树中第一层的叶子节点的个数大于该FPGA中计算模块的第二数量,则说明有可能存在FPGA无法直接依据该二叉树,确定该数据查询命令所对应的数据结果的风险,因此,需要执行步骤S204及其后续操作,以降低该风险。相应的,如果二叉树中第一层的叶子节点的个数不大于该FPGA中计算模块的第二数量,则可以直接依据该二叉树,确定该数据查询命令的数据查询结果。
可以理解的是,该步骤S203仅仅是一种可选步骤,在实际应用中,也可以不执行该步骤,而直接执行后续的步骤S203。
S204,根据二叉树中第一层的叶子节点的数量以及FPGA中计算模块的第二数量,将该二叉树拆分成为多个第一子树,以及表征该多个第一子树的父节点之间逻辑关系的第二子树。
可以理解的是,由于二叉树整体的复杂度相对较高,FPGA无法直接处理该二叉树,因此,本申请实施例中,根据该第一层的叶子节点的数量以及FPGA中计算模块的第二数量,对该二叉树进行了拆分,以将该二叉树拆分成复杂度较低的多个子树,本申请将该多个子树称为第一子树。
其中,可以按照如下原则拆分该二叉树:
拆分出的每个第一子树中第一层的叶子节点的数量为2N,2N不大于该第二数量,且该第一子树的层数为N+1,该N为大于等于1的自然数。
如,在一种实现方式中,根据该FPGA中计算模块的第二数量,先确定出待拆分出的第一子树中第一层所具有的叶子节点的第三数量,该第三数量可以表示为2N。如,假设第三数量为32时,该第三数量可以为32,即25;该第三数量也可以为16,即24;该第三数量还可以为8,即23等。当然,为了能够同时利用该FPGA中的多个计算模块,以提高数据处理效率,该第三数量可以为能够表示为2N形式,且不大于该FPGA中计算模块的第二数量的最大数。
相应的,根据该第三数量可以确定出该待拆分出的该第一子树所具有的目标层数,该目标层数为N+1层。如第三数量为32,由于32实际上2的5次方,即N=5,则该目标层数为5层。
然后,根据该第三数量和目标层数,确定出该二叉树中靠前的该目标层数对应该目标层,并将二叉树中该目标层拆分出多个第一子树。同时,将该多个第一子树的父节点以及处于该二叉树中目标层之外节点构成第二子树。其中,二叉树中靠前的该目标层数是指从该前面提到的该二叉树的第一层开始的该目标层数。例如,目标层数为5层,则该目标层由二叉树的第一层到二叉树的第五层构成。
需要说明的是,将该二叉树中该目标层进行拆分时,不会破坏二叉树中各个节点之间的相邻关系,如,某一层中子节点依次为第一子节点、第二子节点、第三子节点和第四子节点,则假设不会出现将第一子节点和第三子节点分配给第一子树,而将第二子节点和第四子节点分配给第个子树的可能,如果每个子树中包括这一层中4个子节点中的两个,则肯定是将相邻第一子节点和第二子节点划分到一个第一子树中,而将相邻的第三子节点和第四子节点划分到第二子树中。
结合图3中对应数据查询命令:“select*where(((A1>1or A2<2)and(A3>3or A4=4))or((A5>3or A6<2)and(A7>5or A8<6)))”的二叉树进行说明,且假设FPGA中包括4个计算模块,且待拆分出的第一子树包括4个叶子节点,即2的2次方个第一子树,则该第一子树具有2+1=3层,因此,可以将图3所示的二叉树中从上到下的前三层进行拆分,并将二叉树中前三层划分为两个第一子树,如参见图3中虚线框出的左侧的第一子树101和右侧的第一子树102。
相应的,将左侧第一子树101中的父节点(即第一子树101的第三层的这个节点),与右侧第一子树102中的父节点(即第一子树102的第三层的这个节点)以及二叉树的父节点(即第一子树101和第一子树102之外的节点)构成一个第二子树。可见,第二子树表示第一子树的父节点与第二子树的父节点进行或运算。
S205,FPGA依次处理每个第一子树,根据当前处理的第一子树中各个节点以及各个节点之间的逻辑关系,确定每个所述第一子树中的父节点所表征的数据查询结果。
可以理解的是,虽然每个第一子树是该数据查询命令对应的二叉树的一部分,但是每个第一子树也是一个二叉树,因此,FPGA根据该第一子树中表征的查询条件之间的逻辑关系,可以对待查询的数据执行数据查询,以得到每个第一子树对应的数据查询结果。其中,由于每个第一子树中父节点(最顶层的节点,如图3中第一子树101第三层上的节点)实际上就是表征依据该第一子树中所对应的多个查询条件所查询到的数据查询结果,因此,该第一子树对应的数据查询结果就是该第一子树中的父节点所表征的数据查询结果。
S206,根据该第一子树的父节点所表征的数据查询结果,执行该第二子树所对应的数据处理,得到该数据查询命令对应的目标数据查询结果。
可以理解的是,确定出每个第一子树中父节点所表征的数据查询结果之后,根据该第二子树中各个第一子树中父节点之间的逻辑关系,可以对该多个第一子树中的父节点所对应的数据查询结果进行处理,最终可以得到该第二子树中所有节点的父节点所对应的数据结果,该第二子树对应的数据查询结果实际上就是表征数据查询命令的二叉树对应的数据查询结果,也就是该数据查询命令的数据查询结果。
如,结合图3,可以将第一子树101的父节点所表征的数据查询结果,与第二子树102的父节点所表征的数据查询结果进行或运算,就可以得到该数据命令的数据查询结果。
其中,为了便于区分,本申请将数据查询命令对应的数据查询结果称为目标数据查询结果。
另一方面,本申请还提供了一种服务器。如,参见图4,其示出了本申请一种服务器一个实施例的组成结构示意图,本实施例的服务器包括:处理器401和现场可编程门阵列FPGA402;
其中,所述处理器用于,向所述FPGA下发数据查询命令;
所述FPGA用于,获取数据查询命令,所述数据查询命令包含多个查询条件以及所述多个查询条件之间的逻辑关系;根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系,其中,所述查询条件组中查询条件的数量不超过所述第二数量;依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果;根据所述多个查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果。
该服务器还可以包括存储器403,用于存储处理器执行以上操作所需的程序。存储器、处理器以及FPGA可以通过通信总线相连。当然,服务器还可以包括显示器以及输入装置等等,图2并不构成对服务器的限制。
在一种可能的实现方式中,所述FPGA在根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系时,具体用于,FPGA根据所述多个查询条件之间的逻辑关系,构建出用于表征所述多个查询条件之间逻辑关系的二叉树,所述二叉树中第一层的叶子节点用于表示所述查询条件;根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树,其中,所述第一子树中第一层的叶子节点的数量为2N,2N不大于所述第二数量,且所述第一子树的层数为N+1,所述N为大于等于1的自然数;
所述FPGA在依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果时,具体用于,依次处理每个第一子树,根据当前处理的第一子树中各个节点以及各个节点之间的逻辑关系,确定每个所述第一子树的父节点所表征的数据查询结果;
所述FPGA在根据所述多个数据查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果时,具体用于,根据所述第一子树的父节点所表征的数据查询结果,执行所述第二子树所对应的数据处理,得到所述数据查询命令对应的目标数据查询结果。
在一种可能的实现方式中,所述FPGA在根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树时,具体用于:
根据所述第二数量,确定待拆分出的第一子树中第一层所具有的叶子节点的第三数量以及所述第一子树所具有的目标层数,其中,所述第三数量为2N,所述目标层数为所述N+1;
根据所述第三数量和所述目标层数,确定出所述二叉树中靠前的所述目标层数对应的目标层,并将所述二叉树中所述目标层拆分为多个第一子树;
将所述多个第一子树中的父节点以及处于所述二叉树中所述目标层之外节点构成第二子树。
在一种可能的实现方式中,所述第三数量为2N,且所述2N为不大于所述第二数量的最大数。
在一种可能的实现方式中,所述FPGA还用于,在所述根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,将多个查询条件划分为多个查询条件组之前,根据所述第二数量,判断所述FPGA是否具备处理所述数据查询命令的条件;当所述FPGA不具备处理所述数据查询命令的条件时,根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,所述FPGA将所述多个查询条件划分为多个查询条件组。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据处理方法,其特征在于,应用于人工智能平台的服务器,包括:
现场可编程门阵列FPGA获取数据查询命令,所述数据查询命令包含多个查询条件以及所述多个查询条件之间的逻辑关系;
所述FPGA根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系,其中,所述查询条件组中查询条件的数量不超过所述第二数量;
所述FPGA依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果;
所述FPGA根据所述多个查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果。
2.根据权利要求1所述的数据处理方法,其特征在于,所述FPGA根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系,包括:
所述FPGA根据所述多个查询条件之间的逻辑关系,构建出用于表征所述多个查询条件之间逻辑关系的二叉树,所述二叉树中第一层的叶子节点用于表示所述查询条件;
根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树,其中,所述第一子树中第一层的叶子节点的数量为2N,2N不大于所述第二数量,且所述第一子树的层数为N+1,所述N为大于等于1的自然数;
所述FPGA依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果,包括:
所述FPGA依次处理每个第一子树,根据当前处理的第一子树中各个节点以及各个节点之间的逻辑关系,确定每个所述第一子树的父节点所表征的数据查询结果;
所述根据所述多个数据查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果,包括:
根据所述第一子树的父节点所表征的数据查询结果,执行所述第二子树所对应的数据处理,得到所述数据查询命令对应的目标数据查询结果。
3.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树,包括:
根据所述第二数量,确定待拆分出的第一子树中第一层所具有的叶子节点的第三数量以及所述第一子树所具有的目标层数,其中,所述第三数量为2N,所述目标层数为所述N+1;
根据所述第三数量和所述目标层数,确定出所述二叉树中靠前的所述目标层数对应的目标层,并将所述二叉树中所述目标层拆分为多个第一子树;
将所述多个第一子树中的父节点以及处于所述二叉树中所述目标层之外节点构成第二子树。
4.根据权利要求3所述的数据处理方法,其特征在于,所述第三数量为2N,且所述2N为不大于所述第二数量的最大数。
5.根据权利要求1所述的数据处理方法,其特征在于,在所述根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,将多个查询条件划分为多个查询条件组之前,还包括:
所述FPGA根据所述第二数量,判断所述FPGA是否具备处理所述数据查询命令的条件;
当所述FPGA不具备处理所述数据查询命令的条件时,根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,所述FPGA将所述多个查询条件划分为多个查询条件组。
6.一种服务器,其特征在于,包括:
现场可编程门阵列FPGA和处理器;
所述处理器用于,向所述FPGA下发数据查询命令;
所述FPGA用于,获取数据查询命令,所述数据查询命令包含多个查询条件以及所述多个查询条件之间的逻辑关系;根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系,其中,所述查询条件组中查询条件的数量不超过所述第二数量;依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果;根据所述多个查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果。
7.根据权利要求6所述的服务器,其特征在于,所述FPGA在根据所述多个查询条件的第一数量、所述多个查询条件之间的逻辑关系以及所述FPGA中计算模块的第二数量,将所述多个查询条件划分为多个查询条件组,并确定所述多个查询条件组之间的逻辑关系时,具体用于,FPGA根据所述多个查询条件之间的逻辑关系,构建出用于表征所述多个查询条件之间逻辑关系的二叉树,所述二叉树中第一层的叶子节点用于表示所述查询条件;根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树,其中,所述第一子树中第一层的叶子节点的数量为2N,2N不大于所述第二数量,且所述第一子树的层数为N+1,所述N为大于等于1的自然数;
所述FPGA在依次处理每个查询条件组,并根据当前处理的所述查询条件组中的查询条件,以及当前处理的所述查询条件组中查询条件之间的逻辑关系,确定当前处理的查询条件组对应数据查询结果时,具体用于,依次处理每个第一子树,根据当前处理的第一子树中各个节点以及各个节点之间的逻辑关系,确定每个所述第一子树的父节点所表征的数据查询结果;
所述FPGA在根据所述多个数据查询条件组之间的逻辑关系,以及所述多个数据查询条件组对应的数据查询结果,确定所述数据查询命令对应的目标数据查询结果时,具体用于,根据所述第一子树的父节点所表征的数据查询结果,执行所述第二子树所对应的数据处理,得到所述数据查询命令对应的目标数据查询结果。
8.根据权利要求7所述的服务器,其特征在于,所述FPGA在根据所述二叉树中第一层的叶子节点的数量以及所述第二数量,将所述二叉树拆分成多个第一子树,以及表征所述多个第一子树的父节点之间逻辑关系的第二子树时,具体用于:
根据所述第二数量,确定待拆分出的第一子树中第一层所具有的叶子节点的第三数量以及所述第一子树所具有的目标层数,其中,所述第三数量为2N,所述目标层数为所述N+1;
根据所述第三数量和所述目标层数,确定出所述二叉树中靠前的所述目标层数对应的目标层,并将所述二叉树中所述目标层拆分为多个第一子树;
将所述多个第一子树中的父节点以及处于所述二叉树中所述目标层之外节点构成第二子树。
9.根据权利要求8所述的服务器,其特征在于,所述第三数量为2N,且所述2N为不大于所述第二数量的最大数。
10.根据权利要求6所述的服务器,其特征在于,所述FPGA还用于,在所述根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,将多个查询条件划分为多个查询条件组之前,根据所述第二数量,判断所述FPGA是否具备处理所述数据查询命令的条件;当所述FPGA不具备处理所述数据查询命令的条件时,根据所述第一数量、所述第二数量以及所述多个查询条件的逻辑关系,所述FPGA将所述多个查询条件划分为多个查询条件组。
CN201810001147.0A 2018-01-02 2018-01-02 数据处理方法以及服务器 Active CN108108472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810001147.0A CN108108472B (zh) 2018-01-02 2018-01-02 数据处理方法以及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810001147.0A CN108108472B (zh) 2018-01-02 2018-01-02 数据处理方法以及服务器

Publications (2)

Publication Number Publication Date
CN108108472A true CN108108472A (zh) 2018-06-01
CN108108472B CN108108472B (zh) 2022-05-31

Family

ID=62218582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810001147.0A Active CN108108472B (zh) 2018-01-02 2018-01-02 数据处理方法以及服务器

Country Status (1)

Country Link
CN (1) CN108108472B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055630A (zh) * 2006-04-12 2007-10-17 科凌力医学软件(深圳)有限公司 事件决策知识库组建方法及相应的事件决策方法和系统
US20100169381A1 (en) * 2008-12-31 2010-07-01 International Business Machines Corporation Expression tree data structure for representing a database query
CN102646111A (zh) * 2012-02-16 2012-08-22 中国测绘科学研究院 一种基于知识库的通用关联信息查询树的快速构建方法
CN105677683A (zh) * 2014-11-21 2016-06-15 华为技术有限公司 批量数据查询方法和装置
CN105677812A (zh) * 2015-12-31 2016-06-15 华为技术有限公司 一种数据查询方法及数据查询装置
CN105975498A (zh) * 2016-04-27 2016-09-28 华为技术有限公司 数据查询的方法、装置和系统
CN107122490A (zh) * 2017-05-18 2017-09-01 郑州云海信息技术有限公司 一种分组查询中聚合函数的数据处理方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055630A (zh) * 2006-04-12 2007-10-17 科凌力医学软件(深圳)有限公司 事件决策知识库组建方法及相应的事件决策方法和系统
US20100169381A1 (en) * 2008-12-31 2010-07-01 International Business Machines Corporation Expression tree data structure for representing a database query
CN102646111A (zh) * 2012-02-16 2012-08-22 中国测绘科学研究院 一种基于知识库的通用关联信息查询树的快速构建方法
CN105677683A (zh) * 2014-11-21 2016-06-15 华为技术有限公司 批量数据查询方法和装置
CN105677812A (zh) * 2015-12-31 2016-06-15 华为技术有限公司 一种数据查询方法及数据查询装置
CN105975498A (zh) * 2016-04-27 2016-09-28 华为技术有限公司 数据查询的方法、装置和系统
CN107122490A (zh) * 2017-05-18 2017-09-01 郑州云海信息技术有限公司 一种分组查询中聚合函数的数据处理方法及系统

Also Published As

Publication number Publication date
CN108108472B (zh) 2022-05-31

Similar Documents

Publication Publication Date Title
CN110990638B (zh) 基于fpga-cpu异构环境的大规模数据查询加速装置及方法
CN103646111B (zh) 大数据环境下实现实时数据关联的系统及方法
CN107402927A (zh) 一种基于图模型的企业关联关系拓扑建立方法及查询方法
CN102163218A (zh) 基于图索引的图数据库关键词邻近搜索方法
JP2013149277A (ja) 圧縮データの構造を問い合わせる方法
Zhao et al. Revised PROMETHEE II for improving efficiency in emergency response
CN111061679B (zh) 一种基于rete和drools规则的科技创新政策速配的方法和系统
CN110688754A (zh) 一种作战体系架构建模与最优搜索方法
Delgado et al. A model for linguistic partial information in decision‐making problems
CN107682395A (zh) 一种大数据云计算运行系统及方法
CN105550332A (zh) 一种基于双层索引结构的起源图查询方法
CN102467544B (zh) 基于空间模糊编码的信息智能搜索方法及系统
CN108228787A (zh) 按照多级类目处理信息的方法和装置
CN110275868A (zh) 一种智能工厂中多模态制造数据预处理的方法
CN102880500A (zh) 一种任务树的优化方法和装置
CN108198084A (zh) 一种复杂网络重叠社区发现方法
CN108108472A (zh) 数据处理方法以及服务器
Chawla et al. On Local Pruning of Association Rules Using Directed Hypergraphs.
CN110059967A (zh) 一种应用于城市辅助决策分析的数据处理方法及装置
CN115982290A (zh) 一种面向以太坊用户行为的大数据分析系统及数仓建立方法
Nuhodzic et al. Organizational design of a rail company using Fuzzy ANP
Mourad et al. Ontology-Based Reasoning System for Logistics Applications Deployment
Huynh et al. MEDM in general multi-granular hierarchical linguistic contexts based on the 2-tuples linguistic model
CN110826771A (zh) 一种物流外包的风险分析方法、装置及存储介质
Zou et al. Research on soft set theory and parameters reduction based on relational algebra

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