CN114945909A - 资源利用优化的优化查询调度 - Google Patents

资源利用优化的优化查询调度 Download PDF

Info

Publication number
CN114945909A
CN114945909A CN202180008997.3A CN202180008997A CN114945909A CN 114945909 A CN114945909 A CN 114945909A CN 202180008997 A CN202180008997 A CN 202180008997A CN 114945909 A CN114945909 A CN 114945909A
Authority
CN
China
Prior art keywords
queries
query
subset
time
scheduling
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
CN202180008997.3A
Other languages
English (en)
Other versions
CN114945909B (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN202310233800.7A priority Critical patent/CN116226181A/zh
Publication of CN114945909A publication Critical patent/CN114945909A/zh
Application granted granted Critical
Publication of CN114945909B publication Critical patent/CN114945909B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于优化查询调度的方法包括在信息检索数据处理系统中在同一时间接收请求(110),所述请求(110)用于将指定查询的查询执行推迟到在所述同一时间之后的未来时间(120)。方法还包括确定与所述指定查询中的引用的字段对应的数据的变化频率(150)。然后,在变化频率低于阈值的条件下,方法还包括识别在未来时间之前但在同一时间之后的中间时间(170),以及调度(190)指定查询在中间时间而不是未来时间执行。

Description

资源利用优化的优化查询调度
背景技术
技术领域
本公开涉及查询调度领域,特别涉及对查询进行预调度以用于在请求的查询执行时间之前执行。
相关技术说明
查询(Query)是对来自信息检索系统的信息的请求。提出查询的一般方法有三种:菜单驱动、举例查询和查询语言制定。在第一种情况下,查询是根据菜单中的参数选择来制定和发布的。在第二种情况下,信息检索系统提供空白记录,允许终端用户指定定义查询的字段和值。在第三种情况下,终端用户利用以查询语言编写的程式化(stylized)查询来制定查询。后者是最复杂的方法,因为它需要使用专门的语言,但后者也是最强大的,因为它是查询信息检索系统的最不受限制的模式。
查询一般是通过查询接口(query interface)按需发布,或者在执行计算机程序时以编程方式发布。但是,查询也可以以批处理方式发布。也就是说,可以在某个时间指定查询,但针对信息检索系统的查询的执行可以推迟到后面的时间。在这方面,在信息检索系统中,多个用户同时向数据库提交查询以供执行是很常见的。因此,如果信息检索系统缺乏足够的计算资源来同时执行所有提交的查询,信息检索系统必须推迟执行这些查询中的一个或多个,而只有查询子集可以被立即处理。确定哪些查询要推迟,以及推迟的查询在什么时间执行的过程被称为查询调度(query scheduling)。
执行查询调度的一种方法是按照传入(incoming)查询到达的顺序执行传入查询,被称为"先到先服务(first-come-first-serve)"的方法。然而,先到先服务的方法不能区分具有不同响应时间要求的查询,一些查询比其它查询更具有时间敏感性。如果简单地按照到达顺序来调度查询,一些时间敏感的查询可能被迫在时间不敏感的查询后面等待,这可能对信息检索系统的可用性和响应性产生不利影响。
查询调度也可以根据固定优先级来执行。在固定优先级调度中,每个查询被分配优先级,该优先级基于查询到达时已知的一个或多个属性,如查询请求者的身份或类型。此后,每个查询可以根据分配的优先级进行调度。可以看出,固定优先级调度避免了先到先服务的方法的问题,因为时间敏感的查询可以优先于较低时间敏感的查询。然而,固定优先级调度不能考虑到需要相对较长的时间来执行的"重(heavy)"查询和需要相对较短的时间来执行的"轻(light)"查询,例如在毫秒或秒级的范围内。
发明内容
本公开的实施例解决了相关技术在查询调度方面的不足,并提供了一种新颖的、非显而易见的用于资源利用选项的优化查询调度的方法、系统和计算机程序产品。在本公开的一个实施方式中,优化查询调度的过程包括在信息检索数据处理系统中在同一时间接收请求,所述请求用于将指定查询的查询执行推迟到在所述同一时间之后的未来时间。方法还包括确定与所述指定查询中的引用的字段对应的数据的变化频率。然后,在所述变化频率低于阈值的情况下,可以识别在所述未来时间之前但在所述同一时间之后的中间时间,并调度所述指定查询在所述中间时间而不是所述未来时间执行。否则可以调度所述指定查询在起初请求的所述未来时间执行。
在实施方式的一个方面,所述中间时间是通过定位调度不足(under-scheduled)的时间来识别的,在定位的所述时间具有较少的调度查询,所述较少的调度查询消耗所述信息检索数据处理系统的资源少于所述信息检索数据处理系统的可用资源,并且有足够的所述可用资源来支持所述指定查询的执行。在实施方式的另一个方面,接收多个请求,以在所述未来时间调度多个不同的查询,计算所述不同的查询中的每个查询的估计执行成本。例如,所述不同的查询中的每个查询的估计执行成本可以是通过将所述不同的查询中的每个查询的至少一部分与查询片段的表中的条目和相应的历史执行时间相匹配来计算的。
然后,可以将所述不同的查询过滤为查询子集,所述查询子集中的每个查询具有超出阈值的相应的估计执行成本。可选地,可以将所述不同的查询过滤为查询子集,所述查询子集中的每个查询具有低于阈值的相应的估计执行成本。最后,可以为所述查询子集中的每个相应的查询确定数据的变化频率,所述数据对应于在所述查询子集中的相应的查询中引用的字段。这样,对于所述查询子集中的每个相应的查询,在所述查询子集中的相应的查询的变化频率低于阈值的情况下,可以识别在所述未来时间之前但在所述同一时间之后的中间时间,并调度所述查询子集中的相应的查询在所述中间时间执行。
在实施方式的另一个方面,一种信息检索数据处理系统适用于优化查询调度。所述系统包括主机计算平台,所述主机计算平台包括一个或多个计算机,每个计算机都有存储器和至少一个处理器。系统还包括与数据库耦合的查询接口。所述查询接口通过计算机通信网络接收来自请求者的请求,以对所述数据库的查询进行调度,调度所述查询以执行,并响应于所述查询将不同结果集返回给所述请求者。最后,系统包括优化查询调度模块。
所述模块包括计算机程序指令,当所述计算机程序指令在所述主机计算平台的所述处理器中执行时,可操作为在同一时间接收请求,所述请求用于将指定查询的查询执行推迟到在所述同一时间之后的未来时间;确定与所述指定查询中的引用的字段对应的数据的变化频率。指令还可操作为在所述变化频率低于阈值的情况下,识别在所述未来时间之前但在所述同一时间之后的中间时间,并调度所述指定查询在所述中间时间而不是所述未来时间执行。否则计算机程序指令还可操作为仅调度所述指定查询在所述未来时间执行。
本公开的其它方面将部分地在下面的描述中阐述,部分地从描述中显而易见,或可从本公开的实践中得知。本公开的各个方面将通过所附权利要求中特别指出的要素和组合来实现和达到。应当理解的是,如声称的那样,前述的一般描述和以下的具体描述都只是示范性的和解释性的,并不是对所要求的公开内容的限制。
附图说明
纳入本说明书并构成其一部分的附图说明了本公开的实施方式,并且和说明书一起用于解释本公开的原则。此处说明的实施方式是目前的优选方案,但应理解的是,本公开内容不限于所示的精确的布置和手段,其中:
图1是对信息检索数据处理系统的优化查询调度过程的示意图;
图2是被配置为优化查询调度的信息检索数据处理系统的示意图;以及,
图3是说明对信息检索数据处理系统的优化查询调度过程的流程图。
具体实施方式
本公开的实施方式提供了信息检索数据处理系统中的一个或多个查询的优化查询调度。根据本公开的实施方式,在信息检索系统中在同一时间接收到不同的请求,请求将各自的查询延迟到未来时间执行。然后对其中的一个查询进行处理,以识别其中涉及的字段,并确定字段的变化波动性。在确定这些查询中的某个查询具有确定超过了可接受的阈值水平的波动性的字段,该查询的延迟请求被兑现,并且该查询被调度至未来时间。但是,在确定这些查询中的某个查询具有确定未超过可接受的阈值水平的波动性的字段,延迟的请求被修改为在介于同一时间和未来时间之间的时间,以便减少在未来时间的查询执行负载。
在进一步说明本公开的示例性实施方式中,图1示意地示出了信息检索数据处理系统的优化查询调度过程。如图1所示,在信息检索数据处理系统中接收到请求110的集合,每个请求110寻求将数据库的相应查询的调度推迟到未来时间120。可选地,每个查询的一部分被选中,并和与不同查询部分相关联的执行成本130的数据结构进行比较,以便将所选部分与数据结构中表明所选查询的可能执行成本的条目相匹配。然后将过滤器140应用于请求的集合,以产生具有相关联执行成本130的查询请求110的子集160,该相关联执行成本130足够重要以保证优化。
然后对子集160中的每个请求110进行数据波动性测试。具体地,对于子集160中的每个相应的请求110,与该相应的请求110的查询相关联的字段被匹配至表明数据库的不同字段的已知波动性150的数据结构——即,对于每个字段,基础数据(underlying data)的变化频率。一旦匹配,相关联查询的字段的已确定的波动性150与指定的阈值相比较,对于子集160中的那些波动性超过阈值的请求110,相应的一个查询被分配到请求在未来时间120的时间表(schedule)180。但是,对于子集160中的那些具有低于阈值的波动性的请求110,相应的一个查询被分配到在未来时间120之前的中间时间170的时间表190。在这方面,中间时间170可以根据信息检索系统在该时间可访问的计算资源的预测可用性和该时间内计算资源处理额外查询的感知过剩能力(perceived excess capacity)来选择。
与图1有关的描述的过程可以在信息检索数据处理系统中实现。在进一步说明中,图2示意性显示了被配置为优化查询调度的信息检索数据处理系统。系统包括主机计算平台210,该主机计算平台210包括一个或多个计算机,每个计算机都有存储器和至少一个处理器。系统还包括通往数据库250(或对数据库250中的数据建模的数据模型)的查询接口260。查询接口260被配置为通过计算机通信网络220接收来自分别在不同的计算设备230中执行的请求者(例如,查询客户端)240的查询,并在查询调度模块270中调度所接收的每个查询的执行,其中每个查询被分配特定的时间(日/日期/时间或其任何组合)来执行。查询接口260进一步被配置为向查询客户端240的请求者提供所提交和执行的查询的相应结果。
重要的是,该系统包括优化查询调度器模块300。模块300包括计算机程序指令,这些指令在主机计算平台210中执行时,能够从查询客户端240接收将指定查询的执行推迟到未来时间的单独请求。计算机程序指令在执行时还能查阅执行成本表290,该表290将不同的查询部分与已知的执行成本联系起来,以便识别表290中与指定查询的部分相匹配的条目,从而预测指定查询的执行成本。
在执行过程中,计算机程序指令还能在预测的执行成本超过阈值的范围内,识别涉及到指定查询的字段,并在数据波动表280中确定该识别字段的已知数据波动性。最后,在执行过程中,只要确定的指定查询的波动性低于阈值,计算机程序指令就能选择在未来时间之前的中间时间在查询调度模块270中调度指定查询。但除此之外,计算机程序指令能通过在未来时间在查询调度模块270中调度指定查询来兑现延迟的请求。
为了进一步说明优化查询调度器模块300的操作,图3是说明了信息检索数据处理系统的优化查询调度方法的示意图。从块310开始,接收到将指定查询推迟到未来时间的请求,并且在块320中,请求中的指定查询与未来时间一起被识别。然后,在块330中,选择指定查询的一部分,并且在块340中,识别涉及指定查询的数据库或数据模型中的字段。在块350中,检索出该字段的波动性。此后,在决策块360中,确定检索的波动性是否超过阈值。如果没有,则在块370中,选择在未来时间之前的中间时间,在该中间时间期间信息检索系统的处理资源显示过剩能力。最终,在块380中,指定查询被调度在中间时间执行。否则,在块390中,指定查询被调度在未来时间执行。
本公开内容可体现在系统、方法、计算机程序产品或其任何组合中。计算机程序产品可包括计算机可读存储介质或其上有计算机可读程序指令的介质,用于使处理器执行本公开内容的各个方面。计算机可读存储介质可以是有形设备,它可以保留和存储指令,供指令执行设备使用。计算机可读存储介质可以是,例如,但不限于,电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备,或上述的任何适当组合。
本文所述的计算机可读程序指令可以从计算机可读存储介质下载到各自的计算/处理设备,或通过网络下载到外部计算机或外部存储设备。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包、部分在用户的计算机上执行和部分在远程计算机上执行、或完全在远程计算机或服务器上执行。在此,参照根据本公开的实施方式的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述本公开的各方面。可以理解的是,流程图和/或方框图中的每个块,以及流程图和/或方框图中的块的组合,都可以通过计算机可读程序指令实现。
这些计算机可读程序指令可提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,以产生机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令创建用于实施流程图和/或方框图块中指定的功能/动作的手段。这些计算机可读程序指令也可以存储在计算机可读存储介质中,该计算机可读存储介质可以引导计算机、可编程数据处理装置和/或其它设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括制造品,该制造品包括实现流程图和/或方框图块中指定的功能/动作的各个方面的指令。
计算机可读程序指令也可以加载到计算机、其它可编程数据处理装置或其它设备上,以使一系列操作步骤在计算机、其它可编程装置或其他设备上执行,从而产生计算机实现的过程,使得在计算机、其它可编程装置或其它设备上执行的指令实现流程图和/或方框图块中指定的功能/动作。
图中的流程图和方框图说明了根据本公开的各种实施方案的系统、方法和计算机程序产品的可能实施方案的结构、功能和操作。在这方面,流程图或方框图中的每个块可以代表指令的模块、区段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代性的实施方式中,块中指出的功能可以不按图中指出的顺序出现。例如,连续显示的两个块实际上可以基本上同时执行,或者块有时可以按相反的顺序执行,这取决于所涉及的功能。还将注意到,方框图和/或流程图中的每个块,以及方框图和/或流程图中的块的组合,可以由基于专用硬件系统来实现,该系统执行指定的功能或动作,或执行专用硬件和计算机指令的组合。
最后,本文使用的术语仅用于描述特定的实施方式,并不旨在限制本公开。正如本文所使用的,单数形式的“一"、”一个"和“该"也包括复数形式,除非上下文明确指出其它形式。进一步理解地,术语"包括"和/或"包括...的",当在本说明书中使用时,具体说明存在所述的特征、整数、步骤、操作、元素和/或组件,但不排除存在或增加一个或多个其它特征、整数、步骤、操作、元素、组件和/或其组。
以下权利要求中所有装置或步骤加功能要素的相应结构、材料、动作和等价物,旨在包括与其它具体要求的要素相结合执行功能的任何结构、材料或动作。对本公开内容的描述是为了说明和描述的目的而提出的,但并不意味着详尽无遗或局限于所公开的形式的公开。对于本领域的普通技术人员来说,许多修改和变化是显而易见的,而不会偏离本公开的范围和精神。选择和描述实施方式是为了最好地解释本公开的原理和实际应用,并使本领域普通技术人员能够理解具有适合所设想的特定用途的各种修改的本公开的各种实施方式。
这样详细描述了本申请的公开内容,并参照其实施方式,显然,在不偏离所附权利要求书中限定的公开范围的情况下可以进行修改和变化。

Claims (18)

1.一种优化查询调度的方法,其特征在于,所述方法包括:
在信息检索数据处理系统中在同一时间接收请求(110),所述请求(110)用于将指定查询的查询执行推迟到在所述同一时间之后的未来时间(120);
确定与所述指定查询中引用的字段对应的数据的变化频率(150);以及
在所述变化频率(150)低于阈值的情况下,识别在所述未来时间(120)之前但在所述同一时间之后的中间时间(170),并调度(190)所述指定查询在所述中间时间(170)而不是所述未来时间(120)执行,否则调度(180)所述指定查询在所述未来时间(120)执行。
2.根据权利要求1所述的方法,其特征在于,所述中间时间(170)是通过定位调度不足的时间来识别的,在定位的所述时间具有较少的调度查询,所述较少的调度查询消耗所述信息检索数据处理系统的资源少于所述信息检索数据处理系统的可用资源,并且有足够的所述可用资源来支持所述指定查询的执行。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收多个请求(110),以在所述未来时间(120)调度多个不同的查询;
计算所述不同的查询中的每个查询的估计执行成本(130);
将所述不同的查询过滤(140)为查询子集(160),所述查询子集(160)中的每个查询具有超出阈值的相应的估计执行成本(130);
为所述查询子集(160)中的每个相应的查询确定数据的变化频率(150),所述数据对应于在所述查询子集(160)中的相应的查询中引用的字段;以及
对于所述查询子集(160)中的每个相应的查询,在所述查询子集(160)中的相应的查询的变化频率(150)低于阈值的情况下,识别在所述未来时间(120)之前但在所述同一时间之后的中间时间(170),并调度(190)所述查询子集(160)中的相应的查询在所述中间时间(170)执行。
4.根据权利要求3所述的方法,其特征在于,所述不同的查询中的每个查询的所述估计执行成本(130)是通过将所述不同的查询中的每个查询的至少一部分与查询片段的表中的条目和相应的历史执行时间相匹配来计算的。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
接收多个请求(110),以在所述未来时间(120)调度多个不同的查询;
计算所述不同的查询中的每个查询的估计执行成本(130);
将所述不同的查询过滤(140)为查询子集(160),所述查询子集(160)中的每个查询具有低于阈值的相应的估计执行成本(130);
为所述查询子集(160)中的每个相应的查询确定数据的变化频率(150),所述数据对应于在所述查询子集(160)中的相应的查询中引用的字段;以及
对于所述查询子集(160)中的每个相应的查询,在所述查询子集(160)中的相应的查询的变化频率(150)低于阈值的情况下,识别在所述未来时间(120)之前但在所述同一时间之后的中间时间(170),并调度(190)所述查询子集(160)中的相应的查询在所述中间时间(170)执行。
6.根据权利要求5所述的方法,其特征在于,所述不同的查询中的每个查询的所述估计执行成本(130)是通过将所述不同的查询中的每个查询的至少一部分与查询片段的表中的条目和相应的历史执行时间相匹配来计算的。
7.一种适合于优化查询调度的信息检索数据处理系统,其特征在于,所述系统包括:
主机计算平台(210),所述主机计算平台(210)包括一个或多个计算机,每个计算机都有存储器和至少一个处理器;
查询接口(260),所述查询接口(260)与数据库(250)耦合,并通过计算机通信网络(220)接收来自请求者(240)的请求(110),以对所述数据库(150)的查询进行调度,调度所述查询以执行,并响应于所述查询将不同结果集返回给所述请求者(240);以及
优化查询调度模块(300),所述优化查询调度模块(300)包括计算机程序指令,当所述计算机程序指令在所述主机计算平台的所述处理器中执行时,执行以下指令:
在同一时间接收请求(110),所述请求(110)用于将指定查询的查询执行推迟到在所述同一时间之后的未来时间(120);
确定与所述指定查询中的引用的字段对应的数据的变化频率(150);以及
在所述变化频率(150)低于阈值的情况下,识别在所述未来时间(120)之前但在所述同一时间之后的中间时间(170),并调度(190)所述指定查询在所述中间时间(170)而不是所述未来时间(120)执行,否则调度(180)所述指定查询在所述未来时间(120)执行。
8.根据权利要求7所述的系统,其特征在于,所述中间时间(170)是通过定位调度不足的时间来识别的,在定位的所述时间具有较少的调度查询,所述较少的调度查询消耗所述信息检索数据处理系统的资源少于所述信息检索数据处理系统的可用资源,并且有足够的所述可用资源来支持所述指定查询的执行。
9.根据权利要求7或8所述的系统,其特征在于,所述程序指令进一步执行:
接收多个请求(110),以在所述未来时间(120)调度多个不同的查询;
计算所述不同的查询中的每个查询的估计执行成本(130);
将所述不同的查询过滤(140)为查询子集(160),所述查询子集(160)中的每个查询具有超出阈值的相应的估计执行成本(130);
为所述查询子集(160)中的每个相应的查询确定数据的变化频率(150),所述数据对应于在所述查询子集(160)中的相应的查询中引用的字段;以及
对于所述查询子集(160)中的每个相应的查询,在所述查询子集(160)中的相应的查询的变化频率(150)低于阈值的情况下,识别在所述未来时间(120)之前但在所述同一时间之后的中间时间(170),并调度(190)所述查询子集(160)中的相应的查询在所述中间时间(170)执行。
10.根据权利要求9所述的系统,其特征在于,所述不同的查询中的每个查询的所述估计执行成本(130)是通过将所述不同的查询中的每个查询的至少一部分与查询片段的表中的条目和相应的历史执行时间相匹配来计算的。
11.根据权利要求7至10中任一项所述的系统,其特征在于,所述程序指令进一步执行:
接收多个请求(110),以在所述未来时间(120)调度多个不同的查询;
计算所述不同的查询中的每个查询的估计执行成本(130);
将所述不同的查询过滤(140)为查询子集(160),所述查询子集(160)中的每个查询具有低于阈值的相应的估计执行成本(130);
为所述查询子集(160)中的每个相应的查询确定数据的变化频率(150),所述数据对应于在所述查询子集(160)中的相应的查询中引用的字段;以及
对于所述查询子集(160)中的每个相应的查询,在所述查询子集(160)中的相应的查询的变化频率(150)低于阈值的情况下,识别在所述未来时间(120)之前但在所述同一时间之后的中间时间(170),并调度(190)所述查询子集(160)中的相应的查询在所述中间时间(170)执行。
12.根据权利要求11所述的系统,其特征在于,所述不同的查询中的每个查询的所述估计执行成本(130)是通过将所述不同的查询中的每个查询的至少一部分与查询片段的表中的条目和相应的历史执行时间相匹配来计算的。
13.一种优化查询调度的计算机程序产品,其特征在于,所述计算机程序产品包括具有体现在其中的程序指令的计算机可读存储介质,所述程序指令可由设备执行,以使所述设备执行方法,所述方法包括:
在信息检索数据处理系统中在同一时间接收请求(110),所述请求(110)用于将指定查询的查询执行推迟到在所述同一时间之后的未来时间(120);
确定与所述指定查询中的引用的字段对应的数据的变化频率(150);以及
在所述变化频率(150)低于阈值的情况下,识别在所述未来时间(120)之前但在所述同一时间之后的中间时间(170),并调度(190)所述指定查询在所述中间时间(170)而不是所述未来时间(120)执行,否则调度(180)所述指定查询在所述未来时间(120)执行。
14.根据权利要求13所述的计算机程序产品,其特征在于,所述中间时间(170)是通过定位调度不足的时间来识别的,在定位的所述时间具有较少的调度查询,所述较少的调度查询消耗所述信息检索数据处理系统的资源少于所述信息检索数据处理系统的可用资源,并且有足够的所述可用资源来支持所述指定查询的执行。
15.根据权利要求13或14所述的计算机程序产品,其特征在于,所述方法还包括:
接收多个请求(110),以在所述未来时间(120)调度多个不同的查询;
计算所述不同的查询中的每个查询的估计执行成本(130);
将所述不同的查询过滤(140)为查询子集(160),所述查询子集(160)中的每个查询具有超出阈值的相应的估计执行成本(130);
为所述查询子集(160)中的每个相应的查询确定数据的变化频率(150),所述数据对应于在所述查询子集(160)中的相应的查询中引用的字段;以及
对于所述查询子集(160)中的每个相应的查询,在所述查询子集(160)中的相应的查询的变化频率(150)低于阈值的情况下,识别在所述未来时间(120)之前但在所述同一时间之后的中间时间(170),并调度(190)所述查询子集(160)中的相应的查询在所述中间时间(170)执行。
16.根据权利要求15所述的计算机程序产品,其特征在于,所述不同的查询中的每个查询的所述估计执行成本(130)是通过将所述不同的查询中的每个查询的至少一部分与查询片段的表中的条目和相应的历史执行时间相匹配来计算的。
17.根据权利要求13至16中任一项所述的计算机程序产品,其特征在于,所述方法还包括:
接收多个请求(110),以在所述未来时间(120)调度多个不同的查询;
计算所述不同的查询中的每个查询的估计执行成本(130);
将所述不同的查询过滤(140)为查询子集(160),所述查询子集(160)中的每个查询具有低于阈值的相应的估计执行成本(130);
为所述查询子集(160)中的每个相应的查询确定数据的变化频率(150),所述数据对应于在所述查询子集(160)中的相应的查询中引用的字段;以及
对于所述查询子集(160)中的每个相应的查询,在所述查询子集(160)中的相应的查询的变化频率(150)低于阈值的情况下,识别在所述未来时间(120)之前但在所述同一时间之后的中间时间(170),并调度(190)所述查询子集(160)中的相应的查询在所述中间时间(170)执行。
18.根据权利要求17所述的计算机程序产品,其特征在于,所述不同的查询中的每个查询的所述估计执行成本(130)是通过将所述不同的查询中的每个查询的至少一部分与查询片段的表中的条目和相应的历史执行时间相匹配来计算的。
CN202180008997.3A 2020-01-13 2021-01-12 资源利用优化的优化查询调度 Active CN114945909B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310233800.7A CN116226181A (zh) 2020-01-13 2021-01-12 资源利用优化的优化查询调度

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/741,723 2020-01-13
US16/741,723 US11204922B2 (en) 2020-01-13 2020-01-13 Optimal query scheduling for resource utilization optimization
PCT/US2021/013037 WO2021146162A1 (en) 2020-01-13 2021-01-12 Optimal query scheduling for resource utilization optimization

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310233800.7A Division CN116226181A (zh) 2020-01-13 2021-01-12 资源利用优化的优化查询调度

Publications (2)

Publication Number Publication Date
CN114945909A true CN114945909A (zh) 2022-08-26
CN114945909B CN114945909B (zh) 2023-04-04

Family

ID=74595386

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310233800.7A Pending CN116226181A (zh) 2020-01-13 2021-01-12 资源利用优化的优化查询调度
CN202180008997.3A Active CN114945909B (zh) 2020-01-13 2021-01-12 资源利用优化的优化查询调度

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310233800.7A Pending CN116226181A (zh) 2020-01-13 2021-01-12 资源利用优化的优化查询调度

Country Status (5)

Country Link
US (3) US11204922B2 (zh)
EP (1) EP4091068A1 (zh)
CN (2) CN116226181A (zh)
CA (1) CA3069092C (zh)
WO (1) WO2021146162A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026212A1 (en) * 2004-07-29 2006-02-02 Oracle International Corporation (A California Corporation) Systems, methods and software for automating database tasks
US20100318495A1 (en) * 2009-06-12 2010-12-16 Sap Ag Correlation aware synchronization for near real-time decision support
CN102687144A (zh) * 2009-12-23 2012-09-19 起元技术有限责任公司 管理查询
US20130024442A1 (en) * 2011-07-20 2013-01-24 International Business Machines Corporation System load query governor
US20180349458A1 (en) * 2017-05-31 2018-12-06 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687362A (en) * 1995-01-30 1997-11-11 International Business Machines Corporation Enumerating projections in SQL queries containing outer and full outer joins in the presence of inner joins
US7010521B2 (en) * 2002-05-13 2006-03-07 Netezza Corporation Optimized database appliance
US20050010558A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation Data query system load balancing
US8103656B2 (en) * 2008-02-20 2012-01-24 Infosys Technologies Limited Integrated distributed query processor for data grids
US8417409B2 (en) * 2009-11-11 2013-04-09 Google Inc. Transit routing system for public transportation trip planning
US8874961B2 (en) * 2010-03-22 2014-10-28 Infosys Limited Method and system for automatic failover of distributed query processing using distributed shared memory
US9680766B2 (en) 2010-09-28 2017-06-13 Ohio State Innovation Foundation Predictive network system and method
ES2723794T3 (es) 2012-04-26 2019-09-02 Amadeus Sas Sistema de base de datos que usa informática orientada a lotes
US20160203422A1 (en) * 2015-01-14 2016-07-14 Nextop Italia Srl Semplificata Method and electronic travel route building system, based on an intermodal electronic platform
US10162859B2 (en) * 2016-10-31 2018-12-25 International Business Machines Corporation Delayable query
US20180268001A1 (en) 2017-03-16 2018-09-20 International Business Machines Corporation Managing a database management system using a set of stream computing data
US10698895B2 (en) * 2017-04-21 2020-06-30 Splunk Inc. Skewing of scheduled search queries

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026212A1 (en) * 2004-07-29 2006-02-02 Oracle International Corporation (A California Corporation) Systems, methods and software for automating database tasks
US20100318495A1 (en) * 2009-06-12 2010-12-16 Sap Ag Correlation aware synchronization for near real-time decision support
CN102687144A (zh) * 2009-12-23 2012-09-19 起元技术有限责任公司 管理查询
US20130024442A1 (en) * 2011-07-20 2013-01-24 International Business Machines Corporation System load query governor
US20180349458A1 (en) * 2017-05-31 2018-12-06 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database

Also Published As

Publication number Publication date
US11625400B2 (en) 2023-04-11
US11204922B2 (en) 2021-12-21
US20210216550A1 (en) 2021-07-15
WO2021146162A1 (en) 2021-07-22
CA3069092A1 (en) 2021-07-13
CA3069092C (en) 2023-09-12
US20220092070A1 (en) 2022-03-24
CN116226181A (zh) 2023-06-06
US11989181B2 (en) 2024-05-21
CN114945909B (zh) 2023-04-04
US20230205772A1 (en) 2023-06-29
EP4091068A1 (en) 2022-11-23

Similar Documents

Publication Publication Date Title
US10908954B2 (en) Quality of service classes
US9424077B2 (en) Throttle control on cloud-based computing tasks utilizing enqueue and dequeue counters
US7076781B2 (en) Resource reservation for large-scale job scheduling
US20030208521A1 (en) System and method for thread scheduling with weak preemption policy
US5448731A (en) Method and apparatus for controlling the deferred execution of user requests in a data processing system
US10013288B2 (en) Data staging management system
US8612597B2 (en) Computing scheduling using resource lend and borrow
CN111124674B (zh) 一种硬件资源的管理方法、存储介质及终端
CN115004170B (zh) 根据数据新鲜度要求的优化查询调度
CN114945909B (zh) 资源利用优化的优化查询调度
US9864771B2 (en) Method and server for synchronizing a plurality of clients accessing a database
CN110851245A (zh) 一种分布式异步任务调度方法及电子设备
CN106648874B (zh) 一种批量任务的处理方法及装置
KR102634807B1 (ko) 데이터 질의들의 예상 사전 실행
CN115129438A (zh) 任务分布式调度的方法和装置
CN113806029A (zh) 任务处理方法、装置、服务器及存储介质
CN116226081A (zh) 数据库弹性伸缩方法、装置、电子设备及存储介质
CN117762587A (zh) 任务调度方法、装置、终端设备以及存储介质
JP2000112887A (ja) バッチジョブスケジュール方法

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