CN117688047A - 数据查询方法、装置和算力网络 - Google Patents
数据查询方法、装置和算力网络 Download PDFInfo
- Publication number
- CN117688047A CN117688047A CN202311825005.3A CN202311825005A CN117688047A CN 117688047 A CN117688047 A CN 117688047A CN 202311825005 A CN202311825005 A CN 202311825005A CN 117688047 A CN117688047 A CN 117688047A
- Authority
- CN
- China
- Prior art keywords
- cloud computing
- data query
- data
- execution mode
- time
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 14
- 239000002699 waste material Substances 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 229910021532 Calcite Inorganic materials 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
本公开提供了一种数据查询方法、装置和算力网络,涉及算力网络技术领域,所述方法包括:接收涉及从多个第一云计算中心查询数据的数据查询请求;将数据查询请求解析为至少一个阶段,每个阶段包括可并行执行的多个任务;确定按照多个执行方式中每个执行方式完成多个任务预计需要消耗的第一时间,在每个执行方式下,多个任务分别由多个计算实例中对应的计算实例执行,在不同执行方式下,至少一个任务对应不同的计算实例,多个计算实例部署在多个第二云计算中心;和根据第一时间,从多个执行方式中选择一个执行方式作为最优执行方式,并按照最优执行方式将多个任务分别分配给对应的计算实例执行。
Description
技术领域
本公开涉及算力网络技术领域,尤其是一种数据查询方法、装置和算力网络。
背景技术
近年来,随着网络和电子信息技术的普及和深入发展,各种数据的数据量正在快速增长。可以通过在不同区域建立云计算中心来存储这些快速增长的数据。在这种场景下,如何在这些云计算中心之间进行跨域、跨中心的数据查询和分析成了问题。
相关技术中,一种可行的方式是将这些云计算中心中的一个云计算中心作为云计算全局中心,并将其他云计算中心作为云计算分中心。在云计算全局中心接收到数据查询请求(或者也可以称为数据查询分析请求)的情况下,云计算分中心可以将数据查询请求相关的查询数据传输汇总至云计算全局中心,以便云计算全局中心对相关的查询数据进行统一处理。这种方式也可以被称为中心化的处理方式。
发明内容
然而,在中心化的处理方式下,数据查询的效率较低。
通过分析发现,由于云计算全局中心与不同云计算分中心之间的数据传输线路的带宽不同,故,相关的查询数据从不同云计算分中心传输至云计算全局中心的速度也不同。
这种情况下,与云计算全局中心之间的数据传输线路的带宽小的云计算中心将相关的查询数据传输至云计算全局中心所消耗的时间较长。这会造成数据查询请求的响应拖延,从而导致数据查询的效率降低。
为了解决上述问题,本公开实施例提出了如下解决方案。
根据本公开实施例的一方面,提供一种数据查询方法,包括:接收涉及从多个第一云计算中心查询数据的数据查询请求;将所述数据查询请求解析为至少一个阶段,每个阶段包括可并行执行的多个任务;确定按照多个执行方式中的每个执行方式完成所述多个任务预计需要消耗的第一时间,其中,在每个执行方式下,所述多个任务分别由多个计算实例中对应的计算实例执行,并且,在不同执行方式下,至少一个任务对应不同的计算实例,所述多个计算实例部署在多个第二云计算中心;以及根据所述第一时间,从所述多个执行方式中选择一个执行方式作为最优执行方式,并按照所述最优执行方式将所述多个任务分别分配给对应的计算实例执行。
在一些实施例中,确定按照多个执行方式中的每个执行方式完成所述多个任务预计需要消耗的第一时间包括:根据参考信息确定所述第一时间,其中,所述参考信息包括带宽信息和云计算资源信息中的至少一个,所述带宽信息包括第一带宽信息,所述第一带宽信息表示每个第一云计算中心与每个第二云计算中心之间的带宽,所述云计算资源信息表示每个第二云计算中心的可用云计算资源。
在一些实施例中,所述至少一个阶段包括依次执行的多个阶段,所述带宽信息还包括第二带宽信息,所述第二带宽信息表示不同第二云计算中心之间的带宽。
在一些实施例中,根据参考信息确定所述第一时间包括:根据所述带宽信息,确定每个任务在每个执行方式下预计需要消耗的传输时间;根据所述云计算资源信息,确定每个任务在每个执行方式下预计需要消耗的计算处理时间;将所述传输时间和所述计算处理时间相加,以得到每个任务在每个执行方式下的第二时间,其中,每个执行方式的所述第一时间为所述多个任务在该执行方式下的多个第二时间中的最大值。
在一些实施例中,所述最优执行方式为所述多个执行方式中所述第一时间最小的一个执行方式。
在一些实施例中,所述至少一个阶段包括依次执行的第一阶段和第二阶段,所述第一阶段的至少一个任务的执行结果为所述第二阶段的至少一个任务的数据源。
在一些实施例中,所述多个计算实例在接收所述数据查询请求后被部署。
在一些实施例中,所述方法还包括:验证所述数据查询请求的语法是否正确;其中,在所述数据查询请求的语法正确的情况下确定所述第一时间,而在所述数据查询请求的语法错误的情况下不确定所述第一时间。
根据本公开实施例的另一方面,提供一种数据查询装置,包括:被配置为上述任意一个实施例所述的数据查询方法的模块。
根据本公开实施例的又一方面,提供一种数据查询装置,包括:存储器;以及耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行上述任意一个实施例所述的数据查询方法。
据本公开实施例的还一方面,提供一种算力网络,包括:上述任意一个实施例所述的数据查询装置;以及多个云计算中心,包括所述多个第一云计算中心和所述多个第二云计算中心,其中,所述数据查询装置部署在所述多个云计算中心中的任意一个云计算中心。
根据本公开实施例的还一方面,提供一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述任意一个实施例所述的数据查询方法。
根据本公开实施例的还一方面,提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一个实施例所述的数据查询方法。
本公开实施例中,在接收到涉及从多个第一云计算中心查询数据的数据查询请求的情况下,将数据查询请求解析为至少一个阶段,每个阶段包括可并行执行的多个任务。然后,针对每个阶段的多个任务,确定按照多个执行方式中的每个执行方式完成这多个任务预计需要消耗的第一时间,并根据确定的第一时间从多个执行方式中选择最优执行方式,以按照最优执行方式将多个任务分别分配给对应的计算实例执行。如此,有利于提高数据查询的效率。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施例的数据查询方法的流程示意图;
图2是根据本公开另一些实施例的数据查询方法的流程示意图;
图3是根据本公开一些实施例的数据查询装置的结构示意图;
图4是根据本公开另一些实施例的数据查询装置的结构示意图;
图5是根据本公开一些实施例的算力网络的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是根据本公开一些实施例的数据查询方法的流程示意图。
如图1所示,数据查询方法包括步骤102~步骤108。
在步骤102,接收涉及从多个第一云计算中心查询数据的数据查询请求。
数据查询请求(也可以称为数据查询分析请求)可以但不限于用于查询用户日志数据以选择最佳广告投放、查询网络日志数据以探测拒绝服务(Denial of Service,DoS)攻击、查询系统日志数据以建立错误预测模型等。
在步骤104,将数据查询请求解析为至少一个阶段。
例如,数据查询请求可以被解析为一个阶段。又例如,数据查询请求可以被解析为多个阶段。这里,每个阶段均包括可并行执行的多个任务。
在步骤106,确定按照多个执行方式中的每个执行方式完成多个任务预计需要消耗的第一时间。
这里,在每个执行方式下,多个任务分别由部署在多个第二云计算中心的多个计算实例中对应的计算实例执行,并且,在不同执行方式下,至少一个任务对应不同的计算实例。计算实例例如可以包括通过容器化封装的查询引擎(也可以称为数据虚拟化引擎)以对接不同云计算中心的数据源。
可以理解,多个第二云计算中心与步骤102中的多个第一云计算中心可以完全相同、完全不同或部分相同。也可以理解,在某一执行方式下,一个任务可以由多个计算实例中的一个或多个计算实例执行。
为了便于理解,下面结合示例进行说明。假设一个阶段包括可并行执行的任务task1和任务task2,并且,多个计算实例包括计算实例instance1和计算实例instance2。这种情况下,若每个任务在每个执行方式下仅由一个计算实例执行,则多个执行方式可以包括以下执行方式plan1~执行方式plan4。
在执行方式plan1中,任务task1和任务task2均由计算实例instance1执行。在执行方式plan2中,任务task1和任务task2均由计算实例instance2执行。在执行方式plan3中,任务task1由计算实例instance1执行,并且,任务task2由计算实例instance2执行。在执行方式plan4中,任务task1由计算实例instance2执行,并且,任务task2由计算实例instance1执行。
由于一阶段中的各个任务不是如相关技术的中心化处理方式固定地分配给云计算全局中心,而是可选择被分配给多个第二云计算中心的多个计算实例中对应的计算实例,故,不同执行方式完成多个任务预计需要消耗的时间(即第一时间)可以是不同的。
在步骤108,根据第一时间,从多个执行方式中选择一个执行方式作为最优执行方式,并按照最优执行方式将多个任务分别分配给对应的计算实例执行。
即,根据多个执行方式各自完成多个任务预计需要消耗的时间,从多个执行方式中选择一个执行方式作为最优执行方式。这种方式下,有利于从多个执行方式下选择完成多个任务预计需要消耗的时间较小的执行方式作为最优执行方式,从而有利于提高数据查询的效率。
可以理解,这里多个执行方式各自完成多个任务预计需要消耗的时间是选择最优执行方式的一个考虑因素,然而实际中还可以有其他考虑因素(比如云计算资源消耗等),这里不作详述。
上述实施例中,在接收到涉及从多个第一云计算中心查询数据的数据查询请求的情况下,将数据查询请求解析为至少一个阶段,每个阶段包括可并行执行的多个任务。然后,针对每个阶段的多个任务,确定按照多个执行方式中的每个执行方式完成这多个任务预计需要消耗的第一时间,并根据确定的第一时间从多个执行方式中选择最优执行方式,以按照最优执行方式将多个任务分别分配给对应的计算实例执行。如此,有利于提高数据查询的效率。
下面结合一些实施例对本公开实施例的数据查询方法进一步说明。
在一些实施例中,可以从多个执行方式中选择第一时间小于预设时间的一个执行方式作为最优执行方式。如此,可以按照预计消耗时间较小的执行方式将多个任务分别分配给对应的计算实例执行,从而可以提高数据查询的效率。
在另一些实施例中,可以从多个执行方式中选择第一时间最小的一个执行方式作为最优执行方式。换言之,最优执行方式为多个执行方式中第一时间最小的一个执行方式。如此,可以按照预计消耗时间最小的执行方式将多个任务分别分配给对应的计算实例执行,从而可以进一步提高数据查询的效率。
在一些实施例中,还可以验证数据查询请求的语法是否正确。在这些实施例中,在数据查询请求的语法正确的情况下执行步骤106,而在数据查询请求的语法错误的情况下不执行步骤106。如此,可以减小数据查询方法的执行装置的处理压力,减小数据查询方法的执行装置故障的可能性,从而可以提高数据查询的可靠性。
在一些实施例中,在接收数据查询请求后,多个计算实例被部署。在接收到数据查询请求的情况下弹性地部署多个计算实例,而在未接收到数据查询请求的情况下无需部署多个计算实例。如此,可以避免多个计算实例在无数据查询需求时占用多个第二云计算中心的云计算资源,从而可以减少云计算资源的浪费。
作为一些实现方式,在接收数据查询请求且数据查询请求的语法正确的情况下,多个计算实例被部署。如此,可以进一步减少云计算资源的浪费。
在一些实施例中,数据查询请求被解析为依次执行的多个阶段,多个阶段包括依次执行第一阶段和第二阶段。可以理解,第一阶段即任意相邻的两个阶段中的前一阶段,第二阶段即这两个阶段中的后一阶段。这种情况下,第一阶段的至少一个任务的执行结果为第二阶段的至少一个任务的数据源。
在相关技术的中心化处理方式下,云计算全局中心接收来自云计算分中心的原始数据并对这些原始数据进行统一处理。
一方面,由于未经处理的原始数据的数据量较大,故,这些原始数据的传输会消耗较大的带宽。即,数据查询的带宽消耗较高。
另一方面,全部的原始数据均由云计算全局中心进行处理,这使得云计算全局中心消耗大量的云计算资源,而其他云计算分中心的可用云计算资源空闲。这种情况下,各云计算中心之间的云计算资源利用不均衡,容易导致云计算资源的浪费。
而本公开的上述实施例中,第一阶段的至少一个任务的执行结果为第二阶段的至少一个任务的数据源。这一方面可以降低数据查询的带宽消耗,另一方面有利于实现各云计算中心之间云计算资源的均衡使用,从而有利于减少云计算资源的浪费。
为了便于理解上述技术效果,下面结合以下示例进行说明。假设数据查询请求涉及从某一第一云计算中心查询数据(即原始数据)并对原始数据进行一批处理。
在本公开实施例的方式下,数据查询请求可以被解析为依次的两个阶段。两个阶段中的前一个阶段(即第一阶段)中的任务是对原始数据进行一批处理中的前一部分处理,该任务可以被分配给第二云计算中心A执行。两个阶段中的后一个阶段(即第二阶段)中的任务是对第二云计算中心A的执行结果进行一批处理中的后一部分处理,该任务可以被分配给第二云计算中心B执行。这里的示例仅仅是以第一阶段和第二阶段各自的一个任务为例进行说明,但可以理解,第一阶段和第二阶段各自还包括其他任务。
可以理解,任务的执行结果的数据量通常小于该任务的数据源的数据量。换言之,第二云计算中心A的执行结果的数据量小于第一云计算中心的原始数据的数据量。
这种情况下,原始数据从第一云计算中心传输至第二云计算中心A,数据量小于原始数据的执行结果从第二云计算中心A传输至第二云计算中心B。
而在相关技术的中心化处理方式下,原始数据直接从第一云计算中心传输至第二云计算中心B,并由第二云计算中心B对原始数据进行一批处理。
可见,相对于相关技术的中心化处理方式,本公开实施例的方式既可以降低数据查询的带宽消耗,又有利于减少云计算资源的浪费。
下面结合一些实施例对步骤106进一步说明。
在一些实施例中,可以根据参考信息确定按照多个执行方式中的每个执行方式完成多个任务预计需要消耗的第一时间。
这里,参考信息可以包括带宽信息和云计算资源信息中的至少一个。例如,参考信息可以包括带宽信息。又例如,参考信息可以包括云计算资源信息。再例如,参考信息可以包括带宽信息和云计算资源信息。
带宽信息包括第一带宽信息,第一带宽信息表示每个第一云计算中心与每个第二云计算中心之间的带宽。带宽信息例如可以通过对网络状况进行监控获得。
可以理解,第一云计算中心与第二云计算中心之间的带宽可以影响数据从第一云计算中心传输至第二云计算中心预计需要消耗的传输时间,该传输时间又影响第二云计算中心中的计算实例完成对应的任务预计需要消耗的时间(后文称为第二时间)。
这种情况下,根据影响数据从第一云计算中心传输至第二云计算中心预计需要消耗的传输时间的第一带宽信息,可以比较准确地确定每个执行方式完成多个任务预计需要的第一时间,从而有利于进一步提高数据查询的效率。
云计算资源信息表示每个第二云计算中心的可用云计算资源。可用云计算资源可以包括但不限于可用中央处理器(Central Processing Unit,CPU)资源、可用内存资源等。云计算资源信息例如可以由各第二云计算中心上报。
可以理解,第二云计算中心的可用云计算资源可以影响第二云计算中心完成对应的任务预计需要消耗的计算处理时间,该计算处理时间又影响第二云计算中心中的计算实例完成对应的任务预计需要消耗的第二时间。
这种情况下,根据影响第二云计算中心完成对应的任务预计需要消耗的计算处理时间的云计算资源信息,可以比较准确地确定每个执行方式完成多个任务预计需要的第一时间,从而有利于进一步提高数据查询的效率。
在一些实施例中,参考信息还可以包括数据量信息,数据量信息表示每个任务的数据源的数据量。根据包括数据量信息的参考信息,可以更准确地确定每个执行方式完成多个任务预计需要的第一时间,从而有利于更进一步地提高数据查询的效率。
在一些实施例中,数据查询请求被解析为依次执行的多个阶段。这种情况下,除第一带宽信息外,参考信息中的带宽信息还包括第二带宽信息,第二带宽信息表示不同第二云计算中心之间的带宽。
在数据查询请求被解析为依次执行的多个阶段的情况下,相邻两个阶段中前一个阶段的至少一个任务的执行结果可以作为后一个阶段的至少一个任务的数据源。换言之,这种情况下,数据可能需要在第二云计算中心之间传输。
可以理解,第二带宽信息可以影响数据在不同第二云计算中心之间传输预计需要消耗的传输时间,该传输时间可以影响第二云计算中心中的计算实例完成对应的任务预计需要消耗的第二时间。
上述实施例中,在数据查询请求被解析为依次执行的多个阶段的情况下,根据影响数据在不同第二云计算中心之间传输预计需要消耗的传输时间的第二带宽信息,可以更准确地确定每个执行方式完成多个任务预计需要的第一时间,从而有利于更进一步提高数据查询的效率。
作为一些实现方式,可以按照以下方式根据参考信息确定每个执行方式完成多个任务预计需要消耗的第一时间。
可以根据带宽信息确定每个任务在每个执行方式下预计需要消耗的传输时间,并且,可以根据云计算资源信息确定每个任务在每个执行方式下预计需要消耗的计算处理时间。
例如,可以根据带宽信息和数据量信息确定每个任务在每个执行方式下预计需要消耗的传输时间。传输时间可以与任务相关的数据源的数据量正相关,并与带宽负相关。
又例如,可以根据云计算资源信息和数据量信息确定每个任务在每个执行方式下预计需要消耗的计算处理时间。计算处理时间可以与任务相关的数据源的数据量正相关,并与可用云计算资源负相关。
然后,可以将每个任务在每个执行方式下预计需要消耗的传输时间和计算处理时间相加,以得到该任务在该执行方式下的第二时间。换言之,每个任务在每个执行方式下均有对应的第二时间。
这种情况下,每个执行方式完成多个任务预计需要消耗的第一时间为这多个任务在该执行方式下的多个第二时间中的最大值。
换言之,每个执行方式完成多个任务预计需要消耗的第一时间T(x)可以表示为如下公式:
上述公式中,表示第a个任务在该执行方式下预计需要消耗的传输时间,/>表示第a个任务在该执行方式下预计需要消耗的计算处理时间,a为1至n中的每个整数,n为多个任务的数量,并且,i为2至n-1中的每个整数。可以理解,上述公式仅仅是示意性地示出n大于等于3的情况,然而本公开实施例不限于此。
图2是根据本公开另一些实施例的数据查询方法的流程示意图。
图2中示意性地示出左半部分的操作由云计算全局中心执行,且右半部分的操作由云计算分中心执行。可以理解,云计算全局中心可以被配置为执行上述任意一个实施例的数据查询方法中的操作,并且,云计算分中心可以被配置为执行上述任意一个实施例的数据查询方法中的第二云计算中心执行的操作。
首先,开始进行数据查询。
在步骤201,云计算全局中心接收来自用户的数据查询请求。
在步骤202,云计算全局中心将数据查询请求解析为至少一个阶段。
作为一些实现方式,可以将数据查询请求解析为逻辑计划,以根据逻辑计划生成对应的有向无环图(Directed Acyclic Graph,DAG),然后可以对DAG进行划分以得到至少一个阶段。
在步骤203,云计算全局中心验证数据查询请求的语法是否正确。
作为一些实现方式,步骤202和步骤203可以基于阿帕奇动态数据管理框架(即Apache Calcite)的查询解析器和验证器执行。
在解析完成后,可以获取到数据查询请求相关的数据所在的表格的元数据信息和数据量信息等,以便后续流程的执行。
在步骤204,在数据查询请求的语法错误的情况下,向用户返回语法错误的提示。然后,数据查询结束。
在步骤205,在数据查询请求的语法正确的情况下,云计算全局中心为数据查询请求分配云计算资源。
作为一些实现方式,可以将当前云计算资源的利用率小于或等于预设利用率的每个云计算分中心的可用云计算资源的至少部分分配给数据查询请求。如此,可以有利于实现各云计算分中心之间云计算资源的均衡使用,从而有利于减少云计算资源的浪费。
在步骤206,云计算分中心按照云计算全局中心所分配的计算资源部署计算实例。
作为一些实现方式,通过容器组实例(即Pod)来部署计算实例。
在步骤207,云计算分中心判断计算实例是否部署成功。
在步骤208,在计算实例部署失败的情况下,云计算分中心判断计算实例部署失败的次数是否超过预设次数。
在计算实例部署失败的次数未超过预设次数的情况下,重新执行步骤206。
在步骤209,在计算实例部署失败的次数超过预设次数的情况下,向用户返回部署错误的提示。然后,数据查询结束。
在步骤210,云计算全局中心确定多个执行方式各自完成一阶段的多个任务预计需要消耗的第一时间。
作为一些实现方式,可以根据包括带宽信息、云计算资源信息和数据量信息的参考信息,确定多个执行方式各自的第一时间。
在步骤211,云计算全局中心根据确定的第一时间,从多个执行方式中选择一个作为最优执行方式,并按照最优执行方式将这一阶段的多个任务分别分配给对应的计算实例执行。
作为一些实现方式,可以基于最优执行方式得到对应的物理计划,从而按照物理计划将这一阶段的多个任务分别分配给对应的计算实例执行。
可以理解,步骤210和步骤211是基于数据查询请求的一个阶段进行说明的。在数据查询请求被解析为多个阶段的情况下,可以在一个阶段的任务执行完成后,重复执行步骤210和步骤211以确定下一个阶段的最优执行方式。换言之,可以按照拓扑顺序迭代地确定多个阶段中每个阶段的最优执行方式,通过这种多阶段决策模型,更有利于提高数据查询的效率。
作为一些实现方式,可以选择第一时间最小的执行方式作为最优执行方式。这种情况下,步骤210和步骤212可以基于算法进行。算法的输入是一阶段的多个任务和多个第二云计算中心中的多个计算实例,算法的输出是最优执行方式。
假设多个任务的数量是N,并且,多个任务按照数据量从大到小排序。算法的逻辑是根据参考信息,确定多个任务中的第i个任务在由多个计算实例中的每个计算实例执行时预计需要消耗的时间,从而将执行第i个任务预计需要消耗的时间最小的一个计算实例记录为最优执行方式中第i个任务对应的计算实例。然后,继续按照这种方式确定并记录最优执行方式中第i+1个任务对应的计算实例,直至确定完最优执行方式中第N个任务对应的计算实例。这里,i是大于等于且小于N的每个整数。
在步骤212,在云计算分中心(即第二云计算中心)中的计算实例部署成功、且任务被分配给该计算实例的情况下,该计算实例执行任务。
在一些实施例中,任务可以是从第一云计算中心查询数据并对查询的数据进行处理。在另一些实施例中,任务可以是从另一第二云计算中心查询数据并对查询的数据进行处理。在还一些实施例中,任务可以是对第二云计算中心本地的数据进行处理。
在步骤213,云计算分中心判断任务是否执行成功。
在步骤214,在任务执行失败的情况下,云计算分中心判断任务执行失败的次数是否超过预设次数。
例如,在任务相关的数据需要权限才能访问,而云计算分中心不具有相应的访问权限的情况下,任务执行失败。
在任务执行失败的次数未超过预设次数的情况下,重新执行步骤212。
在步骤215,在任务执行失败的次数超过预设次数的情况下,云计算分中心向用户返回查询错误的提示。然后,数据查询结束。
在步骤216,在任务执行成功的情况下,云计算分中心将任务的执行结果返回给云计算全局中心。
可以理解,这里返回的执行结果是多个阶段中最后一个阶段的任务的执行结果。对于最后一个阶段之前的阶段的任务,其执行结果可以作为后一阶段的任务的数据源,而不必返回给云计算全局中心。
在步骤217,云计算全局中心根据云计算分中心返回的执行结果,向用户返回最终的查询结果。然后,数据查询结束。
图2所示的数据查询方法可以以分布式的架构完成跨云计算中心的数据查询,从而可以提高数据查询的效率。
可以理解,本公开实施例的数据查询方法可以包括步骤201~步骤217中的一个或多个步骤。例如,数据查询方法可以仅包括由云计算全局中心执行的步骤。
本公开实施例还提供一种数据查询装置。
在一些实施例中,数据查询装置可以包括被配置为执行上述任意一个实施例的数据查询方法的模块。
在另一些实施例中,数据查询装置可以包括存储器以及耦接至该存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行上述任意一个实施例的数据查询方法。
图3是根据本公开一些实施例的数据查询装置的结构示意图。
如图3所示,数据查询装置300包括接收模块301、解析模块302、确定模块303和分配模块304。
接收模块301被配置为接收涉及从多个第一云计算中心查询数据的数据查询请求。
解析模块302被配置为将数据查询请求解析为至少一个阶段。每个阶段包括可并行执行的多个任务。
确定模块303被配置为确定按照多个执行方式中的每个执行方式完成多个任务预计需要消耗的第一时间。这里,在每个执行方式下,多个任务分别由多个计算实例中对应的计算实例执行,并且,在不同执行方式下,至少一个任务对应不同的计算实例。多个计算实例部署在多个第二云计算中心。
分配模块304被配置为根据第一时间,从多个执行方式中选择一个执行方式作为最优执行方式,并按照最优执行方式将多个任务分别分配给对应的计算实例执行。
应理解,数据查询装置300还可以包括其他各种模块,以执行上述任意一个实施例的数据查询方法。例如,后文的图5示意性地示出了数据查询装置可以包括的其他模块。
图4是根据本公开另一些实施例的数据查询装置的结构示意图。
如图4所示,数据查询装置400包括存储器401以及耦接至该存储器401的处理器402,处理器402被配置为基于存储在存储器401中的指令,执行前述任意一个实施例的数据查询方法。
存储器401例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如可以存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
数据查询装置400还可以包括输入输出接口403、网络接口404、存储接口405等。这些接口输入输出接口403、网络接口404、存储接口405之间、以及存储器401与处理器402之间例如可以通过总线406连接。输入输出接口403为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口504为各种联网设备提供连接接口。存储接口405为SD卡、U盘等外置存储设备提供连接接口。
本公开实施例还提供一种算力网络,包括上述任意一个实施例的数据查询装置(例如数据查询装置300/400)和多个计算中心。
多个计算中心包括上述任意一个实施例的多个第一云计算中心和多个第二云计算中心。这里,数据查询装置可以部署在多个计算中心中的任意一个云计算中心。
例如,数据查询装置可以部署在某一第一云计算中心。又例如,数据查询装置可以部署在某一第二云计算中心。再例如,数据查询装置可以部署在第一云计算中心和第二云计算中心以外的其他云计算中心。
图5是根据本公开一些实施例的算力网络的结构示意图。
如图5所示,算力网络包括数据查询装置501、多个第一云计算中心502(图5中示意性示出3个)和多个第二云计算中心503(图5中示意性示出3个)。
可以理解,图5中仅仅是示意性地示出多个第一云计算中心502与多个第二云计算中心503不同,实际中不限于此。也可以理解,算力网络还可以包括未示出的其他云计算中心。数据查询装置501可以部署在算力网络的任意一个云计算中心。
参见图5,数据查询装置501中的查询解析模块5011可以被配置为接收数据查询请求并将数据查询请求解析为至少一个阶段。
在一些实施例中,在解析完成后,数据查询装置501可以通过元数据管理模块5012获取数据查询请求相关的数据所在的表格的元数据信息和数据量信息等,并且,数据查询装置501还可以通过云资源分配模块5013为数据查询请求分配云计算资源,以使得多个第二云计算中心503部署多个计算实例。
数据查询装置501中的查询优化模块5014可以被配置为确定按照多个执行方式中的每个执行方式完成一阶段的多个任务预计需要消耗的第一时间,并根据第一时间选择最优执行方式。
在一些实施例中,查询优化模块5014可以通过运行监控模块5015获取带宽信息和云计算资源信息,以确定第一时间。在另一些实施例中,查询优化模块5014还可以通过元数据管理模块5012获取数据量信息,以确定第一时间。
在选择最优执行方式后,数据查询装置501可以通过任务调度模块5016将多个任务按照选择的最优执行方式分别分配给对应的计算实例执行。
在一些实施例中,参见图5,数据查询装置501还可以包括权限管理模块5017。权限管理模块5017可以被配置为管理各云计算中心之间的数据访问权限。
本公开实施例还提供了一种计算机可读存储介质,包括计算机程序指令,该计算机程序指令被处理器执行时实现上述任意一个实施例的数据查询方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任意一个实施例的数据查询方法。
至此,已经详细描述了本公开的各实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置和算力网络实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解,可由计算机程序指令实现流程图中一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
Claims (12)
1.一种数据查询方法,包括:
接收涉及从多个第一云计算中心查询数据的数据查询请求;
将所述数据查询请求解析为至少一个阶段,每个阶段包括可并行执行的多个任务;
确定按照多个执行方式中的每个执行方式完成所述多个任务预计需要消耗的第一时间,其中,在每个执行方式下,所述多个任务分别由多个计算实例中对应的计算实例执行,并且,在不同执行方式下,至少一个任务对应不同的计算实例,所述多个计算实例部署在多个第二云计算中心;以及
根据所述第一时间,从所述多个执行方式中选择一个执行方式作为最优执行方式,并按照所述最优执行方式将所述多个任务分别分配给对应的计算实例执行。
2.根据权利要求1所述的方法,其中,确定按照多个执行方式中的每个执行方式完成所述多个任务预计需要消耗的第一时间包括:
根据参考信息确定所述第一时间,其中,所述参考信息包括带宽信息和云计算资源信息中的至少一个,所述带宽信息包括第一带宽信息,所述第一带宽信息表示每个第一云计算中心与每个第二云计算中心之间的带宽,所述云计算资源信息表示每个第二云计算中心的可用云计算资源。
3.根据权利要求2所述的方法,其中,所述至少一个阶段包括依次执行的多个阶段,所述带宽信息还包括第二带宽信息,所述第二带宽信息表示不同第二云计算中心之间的带宽。
4.根据权利要求2所述的方法,其中,根据参考信息确定所述第一时间包括:
根据所述带宽信息,确定每个任务在每个执行方式下预计需要消耗的传输时间;
根据所述云计算资源信息,确定每个任务在每个执行方式下预计需要消耗的计算处理时间;
将所述传输时间和所述计算处理时间相加,以得到每个任务在每个执行方式下的第二时间,其中,每个执行方式的所述第一时间为所述多个任务在该执行方式下的多个第二时间中的最大值。
5.根据权利要求1-4任意一项所述的方法,其中,所述最优执行方式为所述多个执行方式中所述第一时间最小的一个执行方式。
6.根据权利要求1-4任意一项所述的方法,其中,所述至少一个阶段包括依次执行的第一阶段和第二阶段,所述第一阶段的至少一个任务的执行结果为所述第二阶段的至少一个任务的数据源。
7.根据权利要求1-4任意一项所述的方法,其中,所述多个计算实例在接收所述数据查询请求后被部署。
8.根据权利要求1-4任意一项所述的方法,还包括:
验证所述数据查询请求的语法是否正确;
其中,在所述数据查询请求的语法正确的情况下确定所述第一时间,而在所述数据查询请求的语法错误的情况下不确定所述第一时间。
9.一种数据查询装置,包括:
被配置为执行权利要求1-8任意一项所述的数据查询方法的模块。
10.一种数据查询装置,包括:
存储器;以及
耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行权利要求1-8任意一项所述的数据查询方法。
11.一种算力网络,包括:
权利要求9或10所述的数据查询装置;以及
多个云计算中心,包括所述多个第一云计算中心和所述多个第二云计算中心,其中,所述数据查询装置部署在所述多个云计算中心中的任意一个云计算中心。
12.一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现权利要求1-8任意一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311825005.3A CN117688047A (zh) | 2023-12-27 | 2023-12-27 | 数据查询方法、装置和算力网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311825005.3A CN117688047A (zh) | 2023-12-27 | 2023-12-27 | 数据查询方法、装置和算力网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117688047A true CN117688047A (zh) | 2024-03-12 |
Family
ID=90133588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311825005.3A Pending CN117688047A (zh) | 2023-12-27 | 2023-12-27 | 数据查询方法、装置和算力网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117688047A (zh) |
-
2023
- 2023-12-27 CN CN202311825005.3A patent/CN117688047A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776005B (zh) | 一种面向容器化应用的资源管理系统及方法 | |
KR101400286B1 (ko) | 다중 프로세서 시스템에서 작업을 이동시키는 방법 및 장치 | |
US8127300B2 (en) | Hardware based dynamic load balancing of message passing interface tasks | |
US20150312167A1 (en) | Maximizing server utilization within a datacenter | |
US20070038987A1 (en) | Preprocessor to improve the performance of message-passing-based parallel programs on virtualized multi-core processors | |
US9367359B2 (en) | Optimized resource management for map/reduce computing | |
KR20140080434A (ko) | 맵리듀스 프레임워크에서 데이터 프로세싱의 최적화를 위한 디바이스 및 방법 | |
CN109726004B (zh) | 一种数据处理方法及装置 | |
US10102098B2 (en) | Method and system for recommending application parameter setting and system specification setting in distributed computation | |
CN110347515B (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
CN113918314A (zh) | 任务处理方法、边缘计算设备、计算机设备、介质 | |
US9471387B2 (en) | Scheduling in job execution | |
US9612867B2 (en) | Apparatus and method for data partition and allocation in heterogeneous multi-processor environment | |
US11438271B2 (en) | Method, electronic device and computer program product of load balancing | |
CN103581336A (zh) | 基于云计算平台的业务流程调度方法及系统 | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
CN110990154A (zh) | 一种大数据应用优化方法、装置及存储介质 | |
EP4123449A1 (en) | Resource scheduling method and related device | |
CN111611479B (zh) | 用于网络资源推荐的数据处理方法及相关装置 | |
CN110928659B (zh) | 一种具有自适应功能的数值水池系统远程多平台接入方法 | |
US20220229689A1 (en) | Virtualization platform control device, virtualization platform control method, and virtualization platform control program | |
CN117688047A (zh) | 数据查询方法、装置和算力网络 | |
WO2022111466A1 (zh) | 任务调度方法、控制方法、电子设备、计算机可读介质 | |
CN112256436B (zh) | 资源分配方法、装置、设备及计算机存储介质 | |
Zhao et al. | Improving mapreduce performance in a heterogeneous cloud: A measurement study |
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 |