预期预执行数据查询制造技术

技术编号:37417498 阅读:12 留言:0更新日期:2023-04-30 09:41
一种用于预期预执行查询(100)的方法(301)包括计算在特定日期的特定时间被调度的对数据源(150)的多个不同查询(260)中的每一个的执行成本。所述方法还包括监测查询进程调度(150),并从所述监测中检测出在所述特定日期的所述特定时间之前的特别日期的非调度时间(110)。最后,所述方法包括通过首先根据执行成本选择不同查询(260)中最昂贵的一个、然后在特定日期的特别时间之前的特定日期的非调度时间(110)期间执行所选的不同查询(260)中最昂贵的一个,来响应检测。来响应检测。来响应检测。

【技术实现步骤摘要】
【国外来华专利技术】预期预执行数据查询


[0001]本公开内容涉及查询调度领域,更具体地,涉及在请求的查询执行时间之前执行查询的预调度。

技术介绍

[0002]查询是对信息检索系统的信息的请求。提出查询的通用方法有三种:菜单驱动、实例查询和查询语言制定。在第一个例子中,查询是根据菜单中的参数选择来制定和发布的。在第二个例子中,信息检索系统提供空白记录,允许终端用户特定定义查询的字段和值。在第三个例子中,终端用户利用一种用查询语言编写的风格化查询来制定查询。后者是最复杂的方法,因为它需要使用专门的语言,但后者也是最强大的,因为它是查询信息检索系统的最不受限制的模式。
[0003]查询一般是通过查询接口按需发布,或者在执行计算机程序时以编程方式发布。但是,查询也可以以批处理模式发布。也就是说,可以同时指定查询,但针对信息检索系统的查询的执行可以推迟到以后的时间。在这方面,在信息检索系统中,多个用户同时向数据库提交查询以供执行是很常见的。因此,如果信息检索系统缺乏足够的计算资源来同时执行所有提交的查询,信息检索系统必须推迟执行这些查询中的一个或多个,而只有查询的子集可以立即处理。确定推迟哪些查询以及在什么时间执行推迟的查询的过程被称为查询调度。
[0004]执行查询调度的一种方式是按其到达的顺序执行传入的查询,称为"先到先服务"方法。然而,先到先服务的方法不能区分具有不同响应时间请求的查询,一些查询比其他查询更具有时间敏感度。如果简单地按照到达顺序安排查询,一些时间敏感的查询可能被迫在时间不敏感的查询后面等待,这可能对信息检索系统的可用性和响应性产生不利影响。
[0005]查询调度也可以根据固定优先级进行。在固定优先级调度中,根据查询到达时已知的一个或多个属性,如查询请求者的身份或类型,为每个查询分配优先级。此后,每个查询可以根据分配的优先级进行调度。可以看出,固定优先级调度避免了先到先服务的方法的问题,因为对时间敏感的查询可以优先于对时间不敏感的查询。然而,固定优先级调度不能考虑到需要相对较长的时间来执行的“重”查询和需要相对较短的时间来执行的“轻”查询,例如以毫秒或秒的为顺序。

技术实现思路

[0006]本公开的实施例解决了本技术在查询调度方面的缺陷,并提供了一种用于预期预执行查询的新颖且非显而易见的方法、系统和计算机程序产品。在本公开的一个实施例中,一种用于预期预执行查询的方法包括计算在特定日期的特定时间被调度的对数据源的多个不同查询中的每一个的执行成本。该方法还包括监控查询进程调度,并从监控中检测在特定日期的特定时间之前的特别日期的非调度时间。最后,该方法包括对该检测做出响应,首先在执行成本方面选择不同查询中最昂贵的一个,例如在执行不同查询中的相应的一个
所消耗的计算资源量,然后在特定日期的特定时间之前的特别日期的非调度时间内执行所选的不同查询中最昂贵的一个。
[0007]在本专利技术实施例的一个方面,不同查询可以被过滤以仅包括不依赖底层数据的查询,底层数据被预期在特别日期的非调度时间之后以及特定日期的特定时间之前更新。在本专利技术的另一个方面,不同查询中最昂贵的一个的选择不仅包括选择不同查询中最昂贵的一个,还包括最不依赖底层数据的新鲜度的不同查询中的一个。在本专利技术实施例的又一个方面,监控查询进程调度的过程步骤可以在没有安排查询的多个日期中的非调度时间检测重复实例,以便在特定日期的特定时间之前检测特定日期的非调度时间。甚至在本专利技术实施例的另一个方面,可以选择不同查询中手动特定的一个的以代替在特定日期的特定时间之前的特别日期的非调度时间内的不同查询中最昂贵的一个来执行。
[0008]在本公开的另一个实施例中,查询调度数据处理系统被配置为预期预执行查询。该系统包括主机计算平台,该主机计算平台包括一台或多台计算机,每台计算机具有存储器和至少一个处理器,耦合到主机计算平台的数据源和查询处理器,该查询处理器已被调整为基于设置在数据源中的数据执行查询。该系统还包括预期查询预执行模块。该模块包括在主机计算平台的存储器中执行的计算机程序指令,以便计算在特定日期的特定时间被调度的对数据源进行的多个不同查询中的每一个的执行成本,监测查询进程调度,从监测中检测,在特定日期的特定时间之前的特别日期的非调度时间,基于执行成本选择不同查询中最昂贵的一个来响应检测,并在特定日期的特定时间之前的特定日期的非调度时间执行所选的不同查询中最昂贵的一个。
[0009]本公开的其他方面将在接下来的描述中部分地阐述,并且部分地从描述中显而易见,或者可以通过本公开的实践来了解。本公开的各个方面将通过所附权利要求中特别指出的元素和组合来实现和达到。应当理解的是,前述的一般描述和以下的详细描述都只是示例性的和解释性的,并不是对所请求的公开内容的限制。
附图说明
[0010]本公开的一个或多个实施例的细节在附图和下面的描述中阐述。其他方面、特征和优点将从描述和附图以及权利要求中显而易见。
[0011]图1是对预期预执行查询过程的示意图。
[0012]图2是被配置为预期预执行查询的数据处理系统的示意图。
[0013]图3是用于预期预执行查询方法的操作的示例性安排的流程图。
具体实施方式
[0014]本公开的实施例提供了预期预执行查询。根据本公开的一个实施例,可以计算在特定日期的特定时间被调度的对数据源的多个不同查询中的每一个的执行成本。然后,可以对查询进程调度进行监测,以便从监测中检测到在特定日期的特定时间之前的特别日期的非调度时间。此后,响应于对非调度时间的检测,可以首先根据执行成本选择不同查询中最昂贵的一个,然后在特定日期的特定时间之前的特别日期的非调度时间内执行。通过这种方式,不同查询中最昂贵的一个可以在预期时间内预先执行,否则会被浪费,以便提高计划在特定日期的特定时间内处理的所有查询的总执行成本的效率。
[0015]在进一步说明中,图1示出了用于预期预执行查询的过程101。如图1所示,查询处理器170针对数据源140(例如一个或多个数据库中的数据的数据库或数据模型)执行查询100。查询处理器170根据查询进程调度150在不同的调度时间110执行一个或多个查询100,在查询进程调度150中,不同查询被安排在不同的调度时间110针对数据源140执行。重要的是,当查询100中的相应一个被安排在查询进程调度150中以便由查询处理器170处理时,每个查询100都与定义在特定日期的调度时间110的元数据相关联。同样,每个查询100都与元数据相关联,该元数据以资源成本(例如,处理器和存储器资源)的形式规定了处理成本120,并可选地规定了对数据新鲜度值的敏感度130。进程120的成本可以直接在元数据中手动特定,或者进程120的成本可以计算为数学成本函数,考虑到几个输入参数,如运行时间、新鲜度敏感度/弹性以及由于观察到的相关记录的更新而要求随后重新运行查询的可能性。事实上,在本专利技术的一个方面,这些参数可以按照管理员确定的不同权重进行加权。
[0016]对数据新鲜度值的敏感度130表示查询100本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于预期预执行查询(100)的方法(301),其特征在于,所述方法(301)包括:计算在特定日期的特定时间被调度的对数据源(140)的多个不同查询(260)中的每一个的执行成本;监测查询进程调度(150);从所述监测中检测在所述特定日期的所述特定时间之前的特别日期的非调度时间(110);以及通过根据执行成本选择所述不同查询(260)中最昂贵的一个、并在所述特定日期的所述特定时间之前的所述特别日期的所述非调度时间(110)期间执行所选的所述不同查询(260)中最昂贵的一个,来响应所述检测。2.根据权利要求1所述的方法(301),其特征在于,进一步包括过滤所述不同查询(260),以仅包括不依赖底层数据的查询(100),所述底层数据被预期在所述特别日期的所述非调度时间(110)之后以及所述特定日期的所述特定时间之前更新。3.根据权利要求1或2所述的方法(301),其特征在于,选择所述不同查询(260)中最昂贵的一个不仅包括选择所述不同查询(260)中最昂贵的一个,还包括选择所述不同查询(260)中最不依赖底层数据的新鲜度的一个。4.根据权利要求1

3中任一项所述的方法(301),其特征在于,所述监测所述查询进程调度(150)包括在没有安排查询(100)的多个日期中的所述非调度时间(110)检测重复实例,以便在所述特定日期的所述特定时间之前的所述特别日期检测所述非调度时间(110)。5.根据权利要求1

4中任一项所述的方法(301),其特征在于,所述执行成本包括在执行所述不同查询(260)中的相应一个所消耗的计算资源量。6.根据权利要求1

5中任一项所述的方法(301),其特征在于,进一步包括选择所述不同查询(260)中的手动指定的一个代替在所述特定日期的所述特定时间之前的所述特别日期的所述非调度时间(110)期间执行的所述不同查询(260)中最昂贵的一个。7.一种被配置为预期预执行查询(100)的查询调度数据处理系统(200),其特征在于,所述系统(200)包括:主机计算平台,包括一台或多台计算机,每台计算机具有存储器和至少一个处理器;数据源(140),耦合到所述主机计算平台;查询处理器(170,240),适于基于设置在所述数据源(140)中的数据执行查询(100);以及预期查询预执行模块,包括在所述主机计算平台的所述存储器中执行的计算机程序指令,所述指令执行:计算在特定日期的特定时间被调度的对数据源(140)的多个不同查询(260)中的每一个的执行成本;监测查询进程调度(150);从所述监测中检测在所述特定日期的所述特定时间之前的特别日期的非调度时间(110);以及通过根据执行成本选择所述不同查询(260)中最昂贵的一个、并在所述特定日期的所述特定时间之前的所述特别日期的所述非调度时间(110)期间执行所选的所述不同查询(260)中最昂贵的一个,来响应所述检测。
8.根据权利要求7所述的系统(200),其特征在于,所述程序指令进一步执行过滤所述不同查询(260),以仅包括不依赖底层数据的查询(100),所述底层数据被预期在所述特别日期的所述非调度时间(110)之后以及所述特定日期的所述特定时间之前更新。9.根据权利要求7或8所述的系统...

【专利技术属性】
技术研发人员:柯林
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1