CN111221860A - 基于大数据的混合查询优化方法及装置 - Google Patents
基于大数据的混合查询优化方法及装置 Download PDFInfo
- Publication number
- CN111221860A CN111221860A CN201811428207.3A CN201811428207A CN111221860A CN 111221860 A CN111221860 A CN 111221860A CN 201811428207 A CN201811428207 A CN 201811428207A CN 111221860 A CN111221860 A CN 111221860A
- Authority
- CN
- China
- Prior art keywords
- sub
- statement
- node
- storage engine
- query
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于大数据的混合查询优化方法及装置。方法包括:将接收到的混合查询语句转换为相对应的逻辑树;根据逻辑树中各个节点之间的连接关系及各个节点的信息,确定第一子语句及第二子语句;将第一子语句路由至相对应的存储引擎,供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;将第二子语句路由至相对应的计算引擎,供计算引擎根据与第一子语句相对应的中间查询结果及第二子语句进行计算处理得到最终的查询结果。采用本方案,可充分利用存储引擎的计算能力,降低存储引擎与计算引擎之间的交互频率,并可避免现有技术中需将存储引擎未经处理的大量源数据读入再处理而引起的存储开销增加的弊端。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于大数据的混合查询优化方法及装置。
背景技术
随着科技及社会的不断发展,各类数据呈井喷式地增长,从而为人们的各类需求提供数据基础。
由于业务需求的多样性,在实际的业务处理过程中,通常需对不同存储引擎中的数据进行联合处理。目前在对不同存储引擎中的数据进行联合处理时,通常需将所需的数据从各个存储引擎中导出至Excel中,并在Excel中对各个存储引擎的输出数据进行处理。
由此可见,现有的处理方式是将存储引擎中的源数据全部读入,再进一步对读入的数据进行统一处理。然而,鉴于某些存储引擎仍具有部分的计算能力,采用现有的处理方式极易造成存储引擎计算资源的浪费;并且,该处理方式是将未经任何处理的源数据全部读入,从而进一步地增加了存储开销,降低处理效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于大数据的混合查询优化方法及装置。
根据本发明的一个方面,提供了一种基于大数据的混合查询优化方法,包括:
将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;
根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;
将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;
将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。
根据本发明的另一方面,提供了一种基于大数据的混合查询优化装置,包括:
转换模块,适于将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;
确定模块,适于根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;
第一路由模块,适于将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;
第二路由模块,适于将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述基于大数据的混合查询优化方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述基于大数据的混合查询优化方法对应的操作。
根据本发明提供的基于大数据的混合查询优化方法及装置,首先将接收到的混合查询语句转换为相对应的逻辑树;并根据逻辑树中各个节点之间的连接关系及各个节点的信息,确定第一子语句及第二子语句;进一步将第一子语句路由至相对应的存储引擎,供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;以及将第二子语句路由至相对应的计算引擎,供计算引擎根据与第一子语句相对应的中间查询结果及第二子语句进行计算处理得到最终的查询结果。采用本方案,可充分利用存储引擎的计算能力,降低存储引擎与计算引擎之间的交互频率,并可避免现有技术中需将存储引擎未经处理的大量源数据读入再处理而引起的存储开销增加的弊端。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的一种预设的大数据处理系统的功能结构示意图;
图2示出了根据本发明一个实施例提供的一种基于大数据的混合查询优化方法的流程示意图;
图3示出了根据本发明另一个实施例提供的一种基于大数据的混合查询优化方法的流程示意图;
图4示出了根据本发明一个实施例提供的一种基于大数据的混合查询优化装置的功能结构示意图;
图5示出了根据本发明一个实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明所提供的基于大数据的混合查询处理方法及装置可应用于预设的大数据处理系统中。如图1所示,该预设的大数据处理系统包括:服务接口11、解析模块12、路由模块13、多个计算引擎14以及多个存储引擎15。
其中,服务接口11,提供至少一种对外调用方式,适于接收利用任一种对外调用方式输入的特定语言格式的查询语句。该大数据处理系统中的特定语言格式的查询语句可以为与计算引擎或存储引擎耦合度较低的逻辑查询语句,即用户无需根据查询所需的计算引擎及存储引擎的特点及语法结构等专门编译相应的语句。
解析模块12,适于对查询语句进行语法解析及校验,生成逻辑查询计划。具体地,为保障数据查询效率以及避免系统资源浪费,解析模块12首先对服务接口11接收到的查询语句进行语法校验。可选的,若查询语句的语法校验不合格,可为用户反馈相应的提示信息,以供用户根据提示信息进行查询语句的及时修正。待语法校验成功后,进一步对查询语句进行解析,以生成相应的逻辑查询计划。从而供路由模块13、多个计算引擎14和/或多个存储引擎15基于逻辑查询计划获得最终的查询结果。
路由模块13,适于根据逻辑查询计划,确定与逻辑查询计划相对应的至少一个计算引擎和/或至少一个存储引擎,并将查询语句路由至该至少一个计算引擎和/或至少一个存储引擎。具体地,在解析模块12生成与查询语句相对应的逻辑查询计划之后,进一步由路由模块13根据逻辑查询计划生成相应的物理执行计划,即确定出与逻辑查询计划相对应的至少一个计算引擎和/或至少一个存储引擎,并将查询语句路由至该至少一个计算引擎和/或至少一个存储引擎。
多个计算引擎14以及多个存储引擎15,适于根据路由模块路由的查询语句,执行对应的查询处理,获得并输出查询结果。
图2示出了根据本发明一个实施例提供的一种基于大数据的混合查询优化方法的流程示意图。如图2所示,该方法包括:
步骤S210,将接收到的混合查询语句转换为与混合查询语句相对应的逻辑树。
具体地,首先接收利用任一种对外调用方式输入的特定语言格式的混合查询语句。其中,该至少一种对外调用方式包含:命令行调用方式、JDBC调用方式和/或专用API调用方式。可选的,为进一步提升用户体验,本实施例可针对于不同的用户群体提供相应的对外调用方式。例如,针对于终端用户群体,可为其提供命令行调用方式;而针对于开发者用户群体,则可为其提供JDBC(Java DataBase Connectivity,java数据库连接)调用方式和/或专用API调用方式。可选的,利用任一种对外调用方式输入的特定语言格式的混合查询语句具体为特定语言格式的SQL语句。
进一步,本发明所述的混合查询语句具体是指混合查询语句所对应的数据源信息中至少两个数据源对应于不同类别的存储引擎;和/或,混合查询语句所对应的数据源信息中至少两个数据源对应于不同的集群;混合查询语句所对应的数据源信息中至少两个数据源对应于不同的业务连接。
此外,用户仅通过输入特定语言格式的混合查询语句便可获得相应的查询结果,该混合查询语句与计算引擎或存储引擎耦合度较低,从而降低用户的学习成本,提升用户体验。
在接收到混合查询语句之后,混合查询语句转换为与该混合查询语句相对应的逻辑树。其中,逻辑树中的节点对应于所述混合查询语句中的子语句。例如,针对于于一SQL语句:SELECT id FROM db.table WHERE id<100,其可转换为Project节点-Filter节点-TableScan节点的逻辑树结构,其中,Project节点对应于该SQL语句中的SELECT语句,Filter节点对应于该SQL语句中的WHERE子语句,TableScan节点对应于该SQL语句中的数据源。
在将混合查询语句转换为相对应的逻辑树过程中,为提高混合查询语句的拆分精度,可先将混合查询语句转换为对应的抽象语法树,并根据转换的抽象语法树生成与混合查询语句相对应的逻辑树。
步骤S220,根据逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句。
其中,节点的信息包括节点类型和/或节点所对应的数据源信息等等。本实施例根据逻辑树中各个节点之间的连接关系以及各个节点的信息,将各个节点中能够由存储引擎执行的节点对应的子语句确定为第一子语句;而将各个节点中不能够由存储引擎执行的节点对应的子语句确定为第二子语句。
步骤S230,将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果。
本实施例中由存储引擎对查询语句进行初步处理,获得相应的中间查询结果。
步骤S240,将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及第二子语句进行计算处理得到最终的查询结果。
计算引擎根据存储引擎反馈的中间查询结果以及相对应的第二子语句进行计算处理,从而获得最终的查询结果。
其中,本实施例对第一子语句及第二子语句的具体路由方式不做限定,本领域技术人员可根据实际需求自行选择相应的路由方式。例如,可以由计算引擎统一接收第一子语句及第二子语句,并进一步由计算引擎将第一子语句分发至相对应的存储引擎中。
由此可见,本实施例将接收到的混合查询语句转换为相对应的逻辑树;根据逻辑树中各个节点之间的连接关系及各个节点的信息,确定能够由存储引擎执行的第一子语句及不能够由存储引擎执行的第二子语句;最终将第一子语句路由至相对应的存储引擎,供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;将第二子语句路由至相对应的计算引擎,供计算引擎根据与第一子语句相对应的中间查询结果及第二子语句进行计算处理得到最终的查询结果。采用本方案,可充分利用存储引擎的计算能力,降低存储引擎与计算引擎之间的交互频率,并可避免现有技术中需将存储引擎未经处理的大量源数据读入再处理而引起的存储开销增加的弊端。
图3示出了根据本发明另一个实施例提供的一种基于大数据的混合查询优化方法的流程示意图。如图3所示,该方法包括:
步骤S310,将接收到的混合查询语句转换为与混合查询语句相对应的逻辑树;其中,逻辑树中的节点对应于混合查询语句中的子语句。
可选的,可进一步地对逻辑树进行拆分,从而拆分为多个逻辑树。其中,本实施例对具体的拆分方式不做限定。例如,可查找逻辑树中的候选多数据源连接节点;针对于查找到的候选多数据源连接节点,确定该候选多数据源连接节点所对应的各个分支的数据源是否满足混合处理规则;若是,则进行拆分处理。其中,确定该候选多数据源连接节点所对应的各个分支的数据源是否满足混合处理规则具体为:判断各个分支的数据源是否对应于不同类别的存储引擎,若是,则该候选多数据源连接节点所对应的各个分支的数据源满足混合处理规则;和/或,判断各个分支的数据源是否对应于不同的集群,若是,则该候选多数据源连接节点所对应的各个分支的数据源满足混合处理规则;和/或,判断各个分支的数据源是否对应于不同的业务连接,若是,则该候选多数据源连接节点所对应的各个分支的数据源满足混合处理规则。
步骤S320,将逻辑树中的数据源节点确定为由存储引擎执行的节点。
其中,逻辑树中的节点包括:选择节点(Project节点,对应于SQL语句中的SELECT子语句)、过滤节点(Filter节点,对应于SQL语句中的WHERE子语句)、返回限制(Limit节点,对应于SQL语句中的LIMIT子语句)、数据源节点(TableScan节点)和/或各类函数节点等等。在实际的实施过程中,数据源节点对应的子语句通常可由存储引擎执行,则本实施例中直接将逻辑树中的数据源节点确定为由存储引擎执行的节点。
步骤S330,确定逻辑树中与逻辑树中的数据源节点直接相连的非数据源节点,并根据该直接相连的非数据源节点的节点类型,确定该非数据源节点是否为由存储引擎执行的节点。
具体地,若与数据源节点直接相连的非数据源节点为过滤节点和/或返回限制节点,则将该过滤节点和/或返回限制节点确定为由存储引擎执行的节点。
若与数据源节点直接相连的非数据源节点为函数节点,则进一步确定该函数节点所对应的函数在数据源节点所对应的存储引擎中是否有效;若有效,则将函数节点确定为由存储引擎执行的节点;若无效,则将该函数节点确定为不能由存储引擎执行的节点。
步骤S340,确定逻辑树中与逻辑树中的数据源节点未直接相连的非数据源节点,并对未直接相连的非数据源节点进行语义分析,根据分析结果,确定该未直接相连的非数据源节点是否为由存储引擎执行的节点。
具体地,确定逻辑树中与数据源节点未直接相连的非数据源节点,分析该未直接相连的非数据源节点由存储引擎执行后的语义信息,若由存储引擎执行后的语义信息与原有语义一致,则将未直接相连的非数据源节点确定为由存储引擎执行的节点。从而在保证语义一直的前提下,最大限度的利用存储引擎的计算资源。
可选的,在实际的实施过程中,可通过以下方式来确定由存储引擎执行的节点(即对应于步骤S320-S340):遍历生成的与混合查询语句相对应的逻辑树的每个节点;当遍历至外层的过滤节点和/或返回限制节点时,将该节点对应的信息进行缓存,而当遍历至内层的选择节点时,将缓存中的节点信息与该选择节点的信息进行匹配,若匹配成功,则将过滤节点和/或返回限制节点添加至该选择节点下,即将外层的过滤节点和/或返回限制节点放置于内层,并完成对整个逻辑树的遍历;待遍历完成后,针对于遍历后的逻辑树,查找遍历后的逻辑树中的选择节点,并获取选择节点所对应的查询单元,如id,substring(id)等等,并进一步确定查询单元是否涉及函数的使用,若是,则进一步将涉及的函数与该选择节点所对应的存储引擎的函数映射表进行比对,若比对一致,则进行下一个选择节点的查询;若比对不一致,则将相关查询单元缓存。最终将缓存查询单元置于外层的选择节点中。并根据外层的选择节点的查询单元确定不能由存储引擎执行的节点。
步骤S350,将由存储引擎执行的节点对应的子语句确定为第一子语句,并将对应于同一存储引擎的各个第一子语句合并为与该同一存储引擎相对应的第一查询分句,将第一查询分句分发至与该第一查询分句相对应的存储引擎,以供存储引擎执行相对应的第一查询分句,获得与第一查询分句相对应的中间处理结果。
具体地,将确定的由存储引擎执行的节点对应的子语句确定为第一子语句。在混合查询场景中,由于一条混合查询语句可对应于不同的存储引擎,则确定的第一子语句也可对应于不同的存储引擎。则本步骤进一步将对应于同一存储引擎的各个第一子语句合并为与该同一存储引擎相对应的第一查询分句。可选的,在合并过程中,在保证合并前后语义一致性的前提下,可对第一查询分句进行优化。例如,可在合并过程中,将某些多余的第一子语句进行剔除等等。
进一步,将第一查询分句分发至与该第一查询分句相对应的存储引擎,以供存储引擎执行相对应的第一查询分句,获得与第一查询分句相对应的中间处理结果。
步骤S360,将不能由存储引擎执行的节点对应的子语句确定为第二子语句,将对应于同一计算引擎的各个第二子语句合并为与该同一计算引擎相对应的第二查询分句,并将第二查询分句分发至与该第二查询分句相对应的计算引擎,以供计算引擎根据中间查询结果以及第二子语句进行计算处理得到最终的查询结果。
举例来说,针对于混合查询语句“SELECT t1.id,t1.a,t2.b FROM(SELECT id,aFROM mysql.table1)as t1 JOIN(SELECT id,b FROM hive.table2 WHERE b IS NOTNULL)as t2 ON(t1.id=t2.id)WHERE t1.id="1"AND t2.b="test"”,现有技术中通常是将SQL1“SELECT id,a FROM mysql.table1”交由MySQL存储引擎执行(该语句中间结果命名为tmp_1),即仅获取MySQL存储引擎中的源数据;将SQL2“SELECT id,b FROM hive.table2”交由Hive存储引擎执行(该语句中间结果命名为tmp_2),并由计算引擎执行SQL3“SELECTtmp_t1.id,tmp_t1.a,t2.b FROM tmp_t1 as t1 JOIN tmp_t2 as t2 ON(tmp_t1.id=tmp_t2.id)WHERE tmp_t1.id="1"AND tmp_t2.b="test"AND b IS NOT NULL”,从而加大计算引擎的存储开销;而采用本实施例提供的基于大数据的混合查询优化方法,则由MySQL存储引擎执行SQL1′“SELECT id,a FROM mysql.table1 WHERE id="1"”(中间结果命名为tmp_1′),由Hive存储引擎执行SQL2′“SELECT id,b FROM hive.table2 WHERE b="test"AND id="1"”(中间结果命名为tmp_2′,其中,“b IS NOT NULL”在合并优化过程中进行了剔除),由计算引擎执行SQL3′“SELECT tmp_t1.id,tmp_t1.a,t2.b FROM tmp_t1 as t1JOIN tmp_t2 as t2 ON(tmp_t1.id=tmp_t2.id)”,从而提高存储引擎的计算资源利用率,降低计算引擎的存储开销,提升查询效率。
由此可见,本实施例可充分利用存储引擎的计算资源,降低存储引擎与计算引擎之间的交互频率,并可避免现有技术中需将存储引擎未经处理的大量源数据读入再处理而引起的存储开销增加的弊端。
图4示出了根据本发明一个实施例提供的一种基于大数据的混合查询优化装置的功能结构示意图。如图4所示,该装置包括:转换模块41、确定模块41、第一路由模块43、及第二路由模块44。
转换模块41,适于将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;
确定模块42,适于根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;
第一路由模块43,适于将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;
第二路由模块44,适于将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。
可选的,确定模块42进一步适于:将逻辑树中的数据源节点确定为由存储引擎执行的节点。
可选的,确定模块42进一步适于:确定逻辑树中与逻辑树中的数据源节点直接相连的非数据源节点;
若所述与数据源节点直接相连的非数据源节点为过滤节点和/或返回限制节点,则将该过滤节点和/或返回限制节点确定为由存储引擎执行的节点。
可选的,确定模块42进一步适于:若所述与数据源节点直接相连的非数据源节点为函数节点,则进一步确定所述函数节点所对应的函数在所述数据源节点所对应的存储引擎中是否有效;
若有效,则将所述函数节点确定为由存储引擎执行的节点;
若无效,则将所述函数节点确定为不能由存储引擎执行的节点。
可选的,确定模块42进一步适于:确定逻辑树中与逻辑树中的数据源节点未直接相连的非数据源节点,并对所述未直接相连的非数据源节点进行语义分析,根据分析结果,确定所述未直接相连的非数据源节点是否为由存储引擎执行的节点。
可选的,确定模块42进一步适于:确定逻辑树中与数据源节点未直接相连的非数据源节点;
分析所述未直接相连的非数据源节点由存储引擎执行后的语义信息;
若所述由存储引擎执行后的语义信息与原有语义一致,则将所述未直接相连的非数据源节点确定为由存储引擎执行的节点。
可选的,第一路由模块43进一步适于:将对应于同一存储引擎的各个第一子语句合并为与该同一存储引擎相对应的第一查询分句,并将第一查询分句分发至与该第一查询分句相对应的存储引擎,以供存储引擎执行相对应的第一查询分句,获得与第一查询分句相对应的中间处理结果;
第二路由模块44进一步适于:将对应于同一计算引擎的各个第二子语句合并为与该同一计算引擎相对应的第二查询分句,并将第二查询分句分发至与该第二查询分句相对应的计算引擎,以供计算引擎根据中间查询结果以及第二子语句进行计算处理得到最终的查询结果。
可选的,所述混合查询语句具体为:混合查询语句所对应的数据源信息中至少两个数据源对应于不同类别的存储引擎;和/或,混合查询语句所对应的数据源信息中至少两个数据源对应于不同的集群;混合查询语句所对应的数据源信息中至少两个数据源对应于不同的业务连接。
其中,本实施例中大数据处理装置的各个模块的具体实施方式可参照图2和/或图3所示方法实施例中相应步骤的描述,本实施例对此不做赘述。
由此可见,本实施例将接收到的混合查询语句转换为相对应的逻辑树;根据逻辑树中各个节点之间的连接关系及各个节点的信息,确定能够由存储引擎执行的第一子语句及不能够由存储引擎执行的第二子语句;最终将第一子语句路由至相对应的存储引擎,供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;将第二子语句路由至相对应的计算引擎,供计算引擎根据与第一子语句相对应的中间查询结果及第二子语句进行计算处理得到最终的查询结果。采用本方案,可充分利用存储引擎的计算能力,降低存储引擎与计算引擎之间的交互频率,并可避免现有技术中需将存储引擎未经处理的大量源数据读入再处理而引起的存储开销增加的弊端。
根据本发明一个实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于大数据的混合查询优化方法。
图5示出了根据本发明一个实施例提供的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序610,具体可以执行上述基于大数据的混合查询优化方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;
根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;
将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;
将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:
将逻辑树中的数据源节点确定为由存储引擎执行的节点。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:
确定逻辑树中与逻辑树中的数据源节点直接相连的非数据源节点;
若所述与数据源节点直接相连的非数据源节点为过滤节点和/或返回限制节点,则将该过滤节点和/或返回限制节点确定为由存储引擎执行的节点。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:
若所述与数据源节点直接相连的非数据源节点为函数节点,则进一步确定所述函数节点所对应的函数在所述数据源节点所对应的存储引擎中是否有效;
若有效,则将所述函数节点确定为由存储引擎执行的节点;
若无效,则将所述函数节点确定为不能由存储引擎执行的节点。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:
确定逻辑树中与逻辑树中的数据源节点未直接相连的非数据源节点,并对所述未直接相连的非数据源节点进行语义分析,根据分析结果,确定所述未直接相连的非数据源节点是否为由存储引擎执行的节点。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:
确定逻辑树中与数据源节点未直接相连的非数据源节点;
分析所述未直接相连的非数据源节点由存储引擎执行后的语义信息;
若所述由存储引擎执行后的语义信息与原有语义一致,则将所述未直接相连的非数据源节点确定为由存储引擎执行的节点。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:
将对应于同一存储引擎的各个第一子语句合并为与该同一存储引擎相对应的第一查询分句,并将第一查询分句分发至与该第一查询分句相对应的存储引擎,以供存储引擎执行相对应的第一查询分句,获得与第一查询分句相对应的中间处理结果;
所述将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果进一步包括:
将对应于同一计算引擎的各个第二子语句合并为与该同一计算引擎相对应的第二查询分句,并将第二查询分句分发至与该第二查询分句相对应的计算引擎,以供计算引擎根据中间查询结果以及第二子语句进行计算处理得到最终的查询结果。
在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:
混合查询语句所对应的数据源信息中至少两个数据源对应于不同类别的存储引擎;
和/或,混合查询语句所对应的数据源信息中至少两个数据源对应于不同的集群;
混合查询语句所对应的数据源信息中至少两个数据源对应于不同的业务连接。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的基于大数据的混合查询优化装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1.一种基于大数据的混合查询优化方法,包括:
将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;
根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;
将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;
将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。
A2.根据A1所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
将逻辑树中的数据源节点确定为由存储引擎执行的节点。
A3.根据A1或A2所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
确定逻辑树中与逻辑树中的数据源节点直接相连的非数据源节点;
若所述与数据源节点直接相连的非数据源节点为过滤节点和/或返回限制节点,则将该过滤节点和/或返回限制节点确定为由存储引擎执行的节点。
A4.根据A3所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
若所述与数据源节点直接相连的非数据源节点为函数节点,则进一步确定所述函数节点所对应的函数在所述数据源节点所对应的存储引擎中是否有效;
若有效,则将所述函数节点确定为由存储引擎执行的节点;
若无效,则将所述函数节点确定为不能由存储引擎执行的节点。
A5.根据A1-A4中任一项所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
确定逻辑树中与逻辑树中的数据源节点未直接相连的非数据源节点,并对所述未直接相连的非数据源节点进行语义分析,根据分析结果,确定所述未直接相连的非数据源节点是否为由存储引擎执行的节点。
A6.根据A5所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
确定逻辑树中与数据源节点未直接相连的非数据源节点;
分析所述未直接相连的非数据源节点由存储引擎执行后的语义信息;
若所述由存储引擎执行后的语义信息与原有语义一致,则将所述未直接相连的非数据源节点确定为由存储引擎执行的节点。
A7.根据A1-A6中任一项所述的方法,其中,所述将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果进一步包括:
将对应于同一存储引擎的各个第一子语句合并为与该同一存储引擎相对应的第一查询分句,并将第一查询分句分发至与该第一查询分句相对应的存储引擎,以供存储引擎执行相对应的第一查询分句,获得与第一查询分句相对应的中间处理结果;
所述将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果进一步包括:
将对应于同一计算引擎的各个第二子语句合并为与该同一计算引擎相对应的第二查询分句,并将第二查询分句分发至与该第二查询分句相对应的计算引擎,以供计算引擎根据中间查询结果以及第二子语句进行计算处理得到最终的查询结果。
A8.根据A1-A7中任一项所述的方法,其中,所述混合查询语句具体为:
混合查询语句所对应的数据源信息中至少两个数据源对应于不同类别的存储引擎;
和/或,混合查询语句所对应的数据源信息中至少两个数据源对应于不同的集群;
混合查询语句所对应的数据源信息中至少两个数据源对应于不同的业务连接。
本发明还公开了:B9.一种基于大数据的混合查询优化装置,包括:
转换模块,适于将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;
确定模块,适于根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;
第一路由模块,适于将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;
第二路由模块,适于将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。
B10.根据B9所述的装置,其中,所述确定模块进一步适于:
将逻辑树中的数据源节点确定为由存储引擎执行的节点。
B11.根据B9或B10所述的装置,其中,所述确定模块进一步适于:
确定逻辑树中与逻辑树中的数据源节点直接相连的非数据源节点;
若所述与数据源节点直接相连的非数据源节点为过滤节点和/或返回限制节点,则将该过滤节点和/或返回限制节点确定为由存储引擎执行的节点。
B12.根据B11所述的装置,其中,所述确定模块进一步适于:
若所述与数据源节点直接相连的非数据源节点为函数节点,则进一步确定所述函数节点所对应的函数在所述数据源节点所对应的存储引擎中是否有效;
若有效,则将所述函数节点确定为由存储引擎执行的节点;
若无效,则将所述函数节点确定为不能由存储引擎执行的节点。
B13.根据B9-B12中任一项所述的装置,其中,所述确定模块进一步适于:
确定逻辑树中与逻辑树中的数据源节点未直接相连的非数据源节点,并对所述未直接相连的非数据源节点进行语义分析,根据分析结果,确定所述未直接相连的非数据源节点是否为由存储引擎执行的节点。
B14.根据B13所述的装置,其中,所述确定模块进一步适于:
确定逻辑树中与数据源节点未直接相连的非数据源节点;
分析所述未直接相连的非数据源节点由存储引擎执行后的语义信息;
若所述由存储引擎执行后的语义信息与原有语义一致,则将所述未直接相连的非数据源节点确定为由存储引擎执行的节点。
B15.根据B9-B14中任一项所述的装置,其中,所述第一路由模块进一步适于:将对应于同一存储引擎的各个第一子语句合并为与该同一存储引擎相对应的第一查询分句,并将第一查询分句分发至与该第一查询分句相对应的存储引擎,以供存储引擎执行相对应的第一查询分句,获得与第一查询分句相对应的中间处理结果;
所述第二路由模块进一步适于:将对应于同一计算引擎的各个第二子语句合并为与该同一计算引擎相对应的第二查询分句,并将第二查询分句分发至与该第二查询分句相对应的计算引擎,以供计算引擎根据中间查询结果以及第二子语句进行计算处理得到最终的查询结果。
B16.根据B9-B15中任一项所述的装置,其中,所述混合查询语句具体为:
混合查询语句所对应的数据源信息中至少两个数据源对应于不同类别的存储引擎;
和/或,混合查询语句所对应的数据源信息中至少两个数据源对应于不同的集群;
混合查询语句所对应的数据源信息中至少两个数据源对应于不同的业务连接。
本发明还公开了:C17.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A8中任一项所述的基于大数据的混合查询优化方法对应的操作。
本发明还公开了:D18.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A8中任一项所述的基于大数据的混合查询优化方法对应的操作。
Claims (10)
1.一种基于大数据的混合查询优化方法,包括:
将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;
根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;
将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;
将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。
2.根据权利要求1所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
将逻辑树中的数据源节点确定为由存储引擎执行的节点。
3.根据权利要求1或2所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
确定逻辑树中与逻辑树中的数据源节点直接相连的非数据源节点;
若所述与数据源节点直接相连的非数据源节点为过滤节点和/或返回限制节点,则将该过滤节点和/或返回限制节点确定为由存储引擎执行的节点。
4.根据权利要求3所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
若所述与数据源节点直接相连的非数据源节点为函数节点,则进一步确定所述函数节点所对应的函数在所述数据源节点所对应的存储引擎中是否有效;
若有效,则将所述函数节点确定为由存储引擎执行的节点;
若无效,则将所述函数节点确定为不能由存储引擎执行的节点。
5.根据权利要求1-4中任一项所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
确定逻辑树中与逻辑树中的数据源节点未直接相连的非数据源节点,并对所述未直接相连的非数据源节点进行语义分析,根据分析结果,确定所述未直接相连的非数据源节点是否为由存储引擎执行的节点。
6.根据权利要求5所述的方法,其中,所述根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点进一步包括:
确定逻辑树中与数据源节点未直接相连的非数据源节点;
分析所述未直接相连的非数据源节点由存储引擎执行后的语义信息;
若所述由存储引擎执行后的语义信息与原有语义一致,则将所述未直接相连的非数据源节点确定为由存储引擎执行的节点。
7.根据权利要求1-6中任一项所述的方法,其中,所述将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果进一步包括:
将对应于同一存储引擎的各个第一子语句合并为与该同一存储引擎相对应的第一查询分句,并将第一查询分句分发至与该第一查询分句相对应的存储引擎,以供存储引擎执行相对应的第一查询分句,获得与第一查询分句相对应的中间处理结果;
所述将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果进一步包括:
将对应于同一计算引擎的各个第二子语句合并为与该同一计算引擎相对应的第二查询分句,并将第二查询分句分发至与该第二查询分句相对应的计算引擎,以供计算引擎根据中间查询结果以及第二子语句进行计算处理得到最终的查询结果。
8.一种基于大数据的混合查询优化装置,包括:
转换模块,适于将接收到的混合查询语句转换为与所述混合查询语句相对应的逻辑树;其中,所述逻辑树中的节点对应于所述混合查询语句中的子语句;
确定模块,适于根据所述逻辑树中各个节点之间的连接关系以及各个节点的信息,确定由存储引擎执行的节点,并将由存储引擎执行的节点对应的子语句确定为第一子语句,将不能由存储引擎执行的节点对应的子语句确定为第二子语句;
第一路由模块,适于将第一子语句路由至相对应的存储引擎,以供存储引擎执行相对应的第一子语句,并获得与第一子语句相对应的中间查询结果;
第二路由模块,适于将第二子语句路由至相对应的计算引擎,以供计算引擎根据与第一子语句相对应的中间查询结果,以及所述第二子语句进行计算处理得到最终的查询结果。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的基于大数据的混合查询优化方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的基于大数据的混合查询优化方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811428207.3A CN111221860A (zh) | 2018-11-27 | 2018-11-27 | 基于大数据的混合查询优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811428207.3A CN111221860A (zh) | 2018-11-27 | 2018-11-27 | 基于大数据的混合查询优化方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111221860A true CN111221860A (zh) | 2020-06-02 |
Family
ID=70827434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811428207.3A Pending CN111221860A (zh) | 2018-11-27 | 2018-11-27 | 基于大数据的混合查询优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221860A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064928A (zh) * | 2021-04-25 | 2021-07-02 | 深圳壹账通智能科技有限公司 | 报表数据查询方法、装置、电子设备及存储介质 |
CN113342843A (zh) * | 2021-07-06 | 2021-09-03 | 多点生活(成都)科技有限公司 | 大数据在线分析方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019000A1 (en) * | 2007-07-12 | 2009-01-15 | Mitchell Jon Arends | Query based rule sets |
CN106202451A (zh) * | 2016-07-11 | 2016-12-07 | 浙江大华技术股份有限公司 | 一种数据查询方法及装置 |
CN108241540A (zh) * | 2018-01-09 | 2018-07-03 | 福建星瑞格软件有限公司 | 一种跨数据源查询的任务调度方法以及装置 |
CN108694221A (zh) * | 2017-04-12 | 2018-10-23 | 中国移动通信集团福建有限公司 | 数据实时分析方法、模块、设备和装置 |
CN108733727A (zh) * | 2017-04-25 | 2018-11-02 | 华为技术有限公司 | 一种查询处理方法、数据源注册方法及查询引擎 |
-
2018
- 2018-11-27 CN CN201811428207.3A patent/CN111221860A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019000A1 (en) * | 2007-07-12 | 2009-01-15 | Mitchell Jon Arends | Query based rule sets |
CN106202451A (zh) * | 2016-07-11 | 2016-12-07 | 浙江大华技术股份有限公司 | 一种数据查询方法及装置 |
CN108694221A (zh) * | 2017-04-12 | 2018-10-23 | 中国移动通信集团福建有限公司 | 数据实时分析方法、模块、设备和装置 |
CN108733727A (zh) * | 2017-04-25 | 2018-11-02 | 华为技术有限公司 | 一种查询处理方法、数据源注册方法及查询引擎 |
CN108241540A (zh) * | 2018-01-09 | 2018-07-03 | 福建星瑞格软件有限公司 | 一种跨数据源查询的任务调度方法以及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064928A (zh) * | 2021-04-25 | 2021-07-02 | 深圳壹账通智能科技有限公司 | 报表数据查询方法、装置、电子设备及存储介质 |
CN113342843A (zh) * | 2021-07-06 | 2021-09-03 | 多点生活(成都)科技有限公司 | 大数据在线分析方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9053210B2 (en) | Graph query processing using plurality of engines | |
JP3266351B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
CN103631870B (zh) | 一种用于大规模分布式数据处理的系统及其方法 | |
CN111221842A (zh) | 大数据处理系统及方法 | |
CN114357276B (zh) | 数据查询方法、装置、电子设备以及存储介质 | |
CN111221852A (zh) | 基于大数据的混合查询处理方法及装置 | |
CN110019314B (zh) | 基于数据项分析的动态数据封装方法、客户端和服务端 | |
CN105718593A (zh) | 一种数据库查询优化方法及系统 | |
CN111309751A (zh) | 大数据处理方法及装置 | |
CN102541631B (zh) | 以多线程不同驱动源执行计划处理查询的方法和系统 | |
CN110866029B (zh) | sql语句构建方法、装置、服务器及可读存储介质 | |
CN112395303A (zh) | 查询的执行方法、装置、电子设备及计算机可读介质 | |
CN113032423A (zh) | 基于多数据引擎动态装载的查询方法和系统 | |
CN111198898B (zh) | 大数据查询方法及大数据查询装置 | |
CN109241100B (zh) | 一种查询方法、装置、设备及存储介质 | |
CN112860730A (zh) | Sql语句的处理方法、装置、电子设备及可读存储介质 | |
CN117093599A (zh) | 面向异构数据源的统一sql查询方法 | |
CN111221860A (zh) | 基于大数据的混合查询优化方法及装置 | |
CN111221888A (zh) | 大数据分析系统及方法 | |
CN112988163B (zh) | 编程语言智能适配方法、装置、电子设备和介质 | |
CN113568605A (zh) | 约定式路由配置方法、装置、和系统 | |
CN111221841A (zh) | 基于大数据的实时处理方法及装置 | |
CN113760961A (zh) | 数据查询方法和装置 | |
CN113448967B (zh) | 一种对数据库操作进行加速的方法和装置 | |
CN114003583A (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 |