CN113296964B - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN113296964B
CN113296964B CN202110854551.4A CN202110854551A CN113296964B CN 113296964 B CN113296964 B CN 113296964B CN 202110854551 A CN202110854551 A CN 202110854551A CN 113296964 B CN113296964 B CN 113296964B
Authority
CN
China
Prior art keywords
query
parallelism
historical
template
determining
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.)
Active
Application number
CN202110854551.4A
Other languages
English (en)
Other versions
CN113296964A (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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202110854551.4A priority Critical patent/CN113296964B/zh
Publication of CN113296964A publication Critical patent/CN113296964A/zh
Application granted granted Critical
Publication of CN113296964B publication Critical patent/CN113296964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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

Landscapes

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

Abstract

本说明书实施例提供数据处理方法及装置,所述方法包括确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录;获取所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算所述每个查询模板对应的评估函数;基于所述每个查询模板对应的评估函数以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值;基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度,使得进行数据查询时既可以提高查询的速度,又可以避免资源耗尽的情况发生。

Description

数据处理方法及装置
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法。
背景技术
在进行数据处理时,并行处理的并行度的设置会直接影响到计算速度和资源的消耗程度。一个不合理的并行度设置不但会影响用户的体验,还可能引发很严重的后果,比如:非常小的并行度设置会导致数据查询缓慢;非常大的并行度设置会使得资源耗尽,导致不可服务。因此急需提供一种既可以提高数据查询的速度,又尽可能避免资源耗尽的并行度的数据处理方法。
发明内容
有鉴于此,本说明书施例提供了计算机技术领域,特别涉及一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:
确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录;
获取所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数;
基于所述每个查询模板对应的评估函数,以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值;
基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度。
根据本说明书实施例的第二方面,提供了一种数据处理装置,包括:
模板确定模块,被配置为确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录;
计算模块,被配置为获取所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数;
损失值确定模块,被配置为基于所述每个查询模板对应的评估函数,以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值;
并行度确定模块,被配置为基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
本说明书一个实施例实现了一种数据处理方法及装置,其中,所述数据处理方法包括确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录;获取所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数;基于所述每个查询模板对应的评估函数,以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值;基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度。具体的,所述数据处理方法利用历史数据库中的历史查询记录进行符合实际情况的优选并行度计算,并且将优选并行度的配置精确到查询模板,而不是所有查询配置同样的并行度,避免有的查询分配到的资源过少,有的查询分配到资源过大的问题,提升用户查询体验。
附图说明
图1是本说明书一个实施例提供的一种数据处理方法的流程图;
图2是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
图3是本说明书一个实施例提供的一种数据处理装置的结构示意图;
图4是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
并行计算:一般是指许多指令得以同时进行的计算模式。在指令同时进行的前提下,可以将计算的过程分解成小部分,之后以并发方式来加以解决。
并行度:指指令或数据并行执行的任务数目。
回归分析:是建立因变量与自变量之间关系的模型。
最小二乘法:又称最小平方法,是一种数学优化建模方法。它通过最小化误差的平方和寻找数据的较佳函数匹配。
禁忌搜索:是一种现代启发式算法,是一个用来跳脱局部优选解的搜索方法。其先创立一个初始化的方案;基于此,算法“移动”到一相邻的方案。经过许多连续的移动过程,提高解的质量。
SQL:Structured Query Language,结构化查询语言。
在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,具体包括以下步骤。
步骤102:确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录。
其中,历史查询记录可以理解为用户历史的数据查询记录;历史数据库可以理解为包括多个用户历史的数据查询记录的数据库,实际应用中,历史数据库中的历史查询记录可以从主数据库收集。此外,每个历史查询记录均对应一个查询模板,每个查询模板对应至少一个历史查询记录,即两个或两个以上的历史查询记录可能会对应同一个查询模板。
具体的,确定历史数据库中历史查询记录对应的至少两个查询模板,可以理解为获取历史数据库中多个历史查询记录的每个查询记录对应的查询模板,即多个查询模板。在确定查询模板之后,从备份数据库中确定与每个查询模板对应的初始查询记录。其中,历史数据库中存储的为用户历史的数据查询记录,即已经执行过的用户的数据查询记录,该历史查询记录中包括该查询记录的起始时间、SQL内容等等。备份数据库中存储的为用户发送的正在执行中或在队列中未执行的数据查询记录(即初始查询记录)。
具体实施时,所述确定历史数据库中历史查询记录对应的至少两个查询模板之前,还包括:
将主数据库中执行完毕的历史查询记录存放至历史数据库,并确定所述历史数据库中每个历史查询记录的查询内容;
基于所述每个历史查询记录的查询内容,通过预设计算方式确定所述每个历史查询记录对应的查询模板。
其中,主数据库可以理解为处理用户的数据查询的数据库。实际应用中,主数据库和从数据库属于主库和从库的关系,是为了防止数据库意外崩溃产生的冗余设计,通常主库和备库定时同步,且内部数据一致。
具体实施时,将主数据库中执行完毕的历史查询记录存放至历史数据库,可以理解为历史数据库会收集主数据库中执行完毕的历史查询记录,放在其历史数据库中。然后确定历史数据库中每个历史查询记录的查询内容,即SQL内容,比如select a from bwhere x = 1。
再基于每个历史查询记录的查询内容,通过预设计算方式获取每个历史查询记录对应的查询模板;其中,预设计算方式可以根据实际应用进行设置,本说明书实施例对此不做限定;例如预设计算方式可以为去参数的计算方式。
沿用上例,以历史查询记录的查询内容为:select a from b where x = 1,预设计算方式为去参数的计算方式为例。
基于每个历史查询记录的查询内容,通过预设计算方式确定每个历史查询记录对应的查询模板;可以理解为基于历史查询记录的查询内容select a from b where x = 1,通过去参数的计算方式确定出该查询内容select a from b where x = 1,对应的查询模板为select a from b where x =
Figure 362617DEST_PATH_IMAGE001
;即该历史查询记录对应的查询模板为select a fromb where x =
Figure 673513DEST_PATH_IMAGE002
本说明书实施例中,在确定历史数据库中历史查询记录对应的查询模板之前,先从主数据库中收集已经执行完毕的用户的历史查询记录到历史数据库中,该历史数据库中用户的历史查询记录记载了其查询的起始时间、SQL内容等等;可以基于每个历史查询记录的SQL内容,通过去参数等方式确定出其对应的SQL模板(查询模板),后续可以以查询模板为单位计算合理的优选并行度。
实际应用中,历史数据库中会存在多个历史查询记录,多个历史查询记录又会对应多个查询模板,若是从备份数据库中获取每个查询模板对应的初始查询记录,可能会获取到很多的初始查询记录,使得后续在通过该初始查询记录计算每个查询模板的评估函数时,造成计算量较大,影响后续的优选并行度的计算效率;因此,在具体的历史查询记录以及初始查询记录选择时,会根据实际应用选择合适数量的历史查询记录以及初始查询记录,既能满足后续的计算需要,又不会影响计算效率。具体实现方式如下所述:
所述确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录,包括:
确定历史数据库中在预设时间段内的至少两个历史查询记录,并确定所述至少两个历史查询记录对应的至少两个查询模板;
从备份数据库中获取与所述至少两个查询模板的每个查询模板对应的、预设数量的初始查询记录。
其中,预设时间段以及预设数量均可以根据实际需要进行设置,例如预设时间段可以为7天、10天等,预设数量可以为2个、4个等。
以预设时间段为7,预设数量为2为例,确定历史数据库中在预设时间段内的至少两个历史查询记录,并确定所述至少两个历史查询记录对应的至少两个查询模板,可以理解为确定历史数据库中7天内的历史查询记录,并确定这7天内的每个历史查询记录的查询模板。从备份数据库中获取与所述至少两个查询模板的每个查询模板对应的、预设数量的初始查询记录,可以理解为从备份数据库中获取与这7天内的每个历史查询记录的每个查询模板对应的、1个初始查询记录。
即从历史数据库中获取7天的历史查询记录,确定每个历史查询记录对应的查询模板;由于会存在两个或两个以上的历史查询记录对应相同的查询模板的情况出现,为了减轻计算负担,可以对获取的7天的历史查询记录对应的查询模板进行去重,获取去重后的查询模板。然后基于去重后的查询模板,从备份数据库中为每个查询模板抽取2个初始查询记录。
例如去重后的查询模板为查询模板a、查询模板b、查询模板c为例,从备份数据库中为查询模板a抽取对应的2个初始查询记录:初始查询记录a1、初始查询记录a2;从备份数据库中为查询模板b抽取对应的2个初始查询记录:初始查询记录b1、初始查询记录b2;从备份数据库中为查询模板c抽取对应的2个初始查询记录:初始查询记录c1、初始查询记录c2。
步骤104:获取所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数。
其中,预设并行度可以根据实际应用进行设置,本说明书实施例对此不作任何限定。
具体的,所述获取所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数,包括:
确定预设并行度,并获取所述初始查询记录在所述预设并行度下的平均cpu占用率和查询耗时;
将所述初始查询记录在所述预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数。
具体的,首先确定预设并行度,然后获取每个查询模板对应的每个初始查询记录在预设并行度下的平均cpu占用率和查询耗时;再将每个查询模板对应的每个初始查询记录在预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出每个查询模板对应的评估函数。其中,预设算法可以根据实际应用进行设置,例如预设算法可以为最小二乘法。
本说明书实施例中,可以基于每个查询模板对应的每个初始查询记录在每个预设并行度下的平均cpu占用率和查询耗时,计算出每个查询模板对应的评估函数,后续可以基于该评估函数对优选的并行度进行计算。
具体实施时,所述确定预设并行度,并获取所述初始查询记录在所述预设并行度下的平均cpu占用率和查询耗时,包括:
设置初始并行度,并按照预设递增方式对所述初始并行度进行递增;
获取所述初始查询记录在所述初始并行度以及每个递增并行度下的平均cpu占用率和查询耗时,直至所述初始查询记录在当前并行度下的平均cpu占用率和查询耗时,小于所述初始查询记录在前一个并行度下的平均cpu占用率和查询耗时,停止递增;
获取所述初始查询记录在所述当前并行度以及所述当前并行度之前的所有并行度的平均cpu占用率和查询耗时。
其中,初始并行度可以设置为1,即将并行度从1开始按照预设递增方式进行递增,例如按照2的倍数递增,即初始并行度为1,递增1次的并行度为2,递增2次的并行度为4,以此类推,计算每个查询模板对应的每个初始查询记录在每个并行度下的平均cpu占用率和查询耗时。
沿用上例,初始并行度为1,按照2倍的递增方式对初始并行度进行递增。
具体的,获取查询模板a对应的初始查询记录a1在并行度1、2、4...下的平均cpu占用率和查询耗时(1,cpu, rt)(2,cpu,rt) (4, cpu, rt)... ,直至该初始查询记录a1在当前并行度下的cpu占用率和查询耗时,小于该初始查询记录a1在前一个并行度下的平均cpu占用率和查询耗时,并行度停止递增;确定出该初始查询记录a1在包括当前并行度以及当前并行度之前的所有并行度下的平均cpu占用率和查询耗时。
同理,获取查询模板a对应的初始查询记录a2、查询模板b对应的初始查询记录b1、初始查询记录b2以及查询模板c对应的初始查询记录c1、初始查询记录c2的在预设并行度下的平均cpu占用率和查询耗时。
本说明书实施例中,在对每个查询模板的平均cpu占用率和查询耗时的代价评估函数推导时,可以备份数据库中选择与每个查询模板对应的初始查询记录,在独立环境下(备份数据库)下运行基于根据预设递增方式确定的并行度,计算出每个查询模板对应的每个初始查询记录在每个预设并行度下的平均cpu占用率和查询耗时,整个计算过程不干扰用户线上的数据处理,提升用户体验。
而在计算出每个查询模板对应的每个初始查询记录在每个预设并行度下的平均cpu占用率和查询耗时之后,可以基于每个查询模板对应的每个初始查询记录的所有平均cpu占用率和查询耗时,准确的计算出每个查询模板的评估函数。具体实现方式如下所述:
所述将所述初始查询记录在所述预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数,包括:
将所述初始查询记录在所述当前并行度以及所述当前并行度之前的所有并行度的平均cpu占用率和查询耗时,利用最小二乘法计算出所述每个查询模板对应的评估函数。
具体的,将所述初始查询记录在所述当前并行度以及所述当前并行度之前的所有并行度的平均cpu占用率和查询耗时,利用最小二乘法计算出所述每个查询模板对应的评估函数,可以理解为,获取每个查询模板对应的每个初始查询记录在当前并行度以及当前并行度之前的所有并行度的平均cpu占用率和查询耗时;将获取的每个查询模板对应的每个初始查询记录在当前并行度以及当前并行度之前的所有并行度的平均cpu占用率和查询耗时,利用最小二乘法回归出每个查询模板的评估函数。
沿用上例,获取获取查询模板a对应的初始查询记录a1在当前并行度以及当前并行度之前的所有并行度的平均cpu占用率和查询耗时;以及初始查询记录b1在当前并行度以及当前并行度之前的所有并行度的平均cpu占用率和查询耗时;将初始查询记录a1在当前并行度以及当前并行度之前的所有并行度的平均cpu占用率和查询耗时;以及初始查询记录b1在当前并行度以及当前并行度之前的所有并行度的平均cpu占用率和查询耗时,作为采样点,利用最小二乘法回归出查询模板a的评估函数。同理,通过上述方式分别计算出查询模板b和查询模板c的评估函数。
实际应用中,每个查询模板的代价评估函数的推导过程如下所示:
利用查询历史数据库, 收集最近k天(比如:k=7)的历史查询记录,对于历史查询记录对应的查询模版,为每个查询模板从备份数据库中随机抽取m个初始查询记录(比如:m=2), 对于抽取的每个初始查询记录,并行度按1开始按2的倍数递增(1、2、4...),依次在个递增并行度下执行每个初始查询记录, 得到每个初始查询记录在每个并行度下执行的平均cpu占用率和查询耗时rt, 直到cpu不再明显增加(比如新的并行度下的cpu小于前一个并行度下cpu的1.2倍),结束。以此种将并行度x作为自变量, 利用最小二乘法, 回归出以cpu和rt为因变量的每个查询模板的评估函数。其中,回归函数(评估函数)包括但不限于多项式函数、带常数项的反比函数、对数函数等,选择方差最小的作为每个查询模板的cpu和rt的回归函数。
本说明书实施例中,在对每个查询模板的平均cpu占用率和查询耗时的代价评估函数推导时,可以在备份数据库中选择与每个查询模板对应的初始查询记录,在独立环境下(备份数据库)下运行计算出每个查询模板的代价评估函数(评估函数),整个计算过程不干扰用户线上的数据处理,不在用户环境上试错,提升用户体验。
步骤106:基于所述每个查询模板对应的评估函数,以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值。
具体的,所述基于所述每个查询模板对应的评估函数,以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值,包括:
在所述历史数据库中获取与所述至少两个查询模板对应的、不同并行度下的多个历史查询记录,其中,所述每个查询模板对应的历史查询记录的并行度相同或者不同;
基于所述多个历史查询记录的历史执行顺序和时间间隔以及所述每个查询模板对应的评估函数,计算出所述多个历史查询记录中每个历史查询记录的目标cpu占用率和目标查询耗时;
基于所述每个历史查询记录的目标cpu占用率和目标查询耗时,确定所述至少两个查询模板的多个损失值。
具体的,在所述历史数据库中获取与所述至少两个查询模板对应的、不同并行度下的多个历史查询记录,可以理解为,为至少两个查询模板确定对应的并行度数组,然后以查询模板为单位,从历史数据库中获取至少两个查询模板在每个并行度数组下的历史查询记录数组。
沿用上例,为查询模板a、查询模板b、查询模板c确定的对应的并行度数组为[3、7、9],[1、1、1],那么则从历史数据库中获取查询模板a、查询模板b、查询模板c在并行度数组为[3、7、9]的情况下,确定的查询模板a对应的历史查询记录、查询模板b对应的历史查询记录、查询模板c对应的历史查询记录;然后将查询模板a对应的历史查询记录、查询模板b对应的历史查询记录、查询模板c对应的历史查询记录形成历史查询记录数组1。同理,获得查询模板a、查询模板b、查询模板c对应的历史查询记录数组2。
然后根据每个历史查询记录数组中的历史查询记录的历史执行顺序和时间间隔,以及查询模板a、查询模板b、查询模板c各自对应的评估函数,计算出每个历史查询记录数组中的历史查询记录的目标cpu占用率和目标查询耗时。
最后基于每个历史查询记录数组中的历史查询记录的目标cpu占用率和目标查询耗时,确定查询模板a、查询模板b、查询模板c在该历史查询记录数组对应的并行度数组[3、7、9]以及[1、1、1]下的损失值(cost)。
实际应用中,可以生成多个并行度数据,获得查询模板的多个并行度配置,直到查询模板基于新增的并行度配置找不到更小的cost,比如连续生成10000组不同的并行度配置,依然找不到更小的cost时结束。
本说明书实施例,可以以查询模板为单位,尝试查询模板在不同的并行度配置下的历史查询记录的历史执行顺序和时间间隔,通过模拟查询模板在不同的并行度配置下的历史查询记录的执行顺序和时间间隔,再根据每个查询模板对应的评估函数计算出每个历史查询记录的目标cpu占用率和目标查询耗时,最后可以根据这些参数求出查询模板对应的多个损失值,后续可以基于该损失值准确的确定查询模板对应的优选并行度配置。
步骤108:基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度。
具体的,所述基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度,包括:
基于所述损失值通过禁忌搜索算法确定所述至少两个查询模板的目标并行度集合,并从所述并行度集合中确定所述至少两个查询模板中每个查询模板对应的目标并行度。
具体的,通过上述方法,至少两个查询模板可以获得在多个并行度配置下的损失值,然后通过禁忌搜索算法,从这多个损失值中确定该至少两个查询模板对应的最小损失值,然后基于该最小损失值对应的并行度配置随机选取另外的多个并行度配置,再计算出该至少两个查询模板在随机选取的另外的多个并行度配置的损失值,再选择最小损失值,通过此种禁忌搜索算法一直选取,直到选取不到更小的损失值,比如连续生成上万组不同的并行度配置,依然找不到更小的损失值时,将最小的损失值对应的并行度配置作为目标并行度集合。然后将目标并行度配置中每个查询模板对应的并行度作为目标并行度。
沿用上例,以[x,y,z]代表查询模板a、查询模板b、查询模板c并行度配置,查询模板a的并行度为x,查询模板b的并行度为y,查询模板c的并行度为z为例。
假设查询模板a、查询模板b、查询模板c确定的对应的并行度数组(即并行度配置)为[3、7、9],[1、1、1],则分别计算查询模板a、查询模板b、查询模板c在并行度配置[3、7、9]下的损失值cost1,在并行度配置[1、1、1]下的损失值cost2,然后选择最小的cost,假设最小的cost对应的并行度配置为[1、1、1],再随机选取周围几个并行度配置,再重新计算出cost,再移动cost较小的点上,再随机选取该点周围几个并行度配置,重复这个过程,直到查询模板基于新增的并行度配置找不到更小的cost,比如连续生成10000组不同的并行度配置,依然找不到更小的cost时结束。即根据禁忌搜索算法,会一直搜索并行度配置[x,y,z]相近的并行度配置,最终移动到选cost最小的点。
实际应用中,各个查询模板优选并行度的计算方式如下所述:
并行度按查询模板为单位进行配置,优选并行度计算的方式如下:对于每个查询(历史查询记录),假设它所属查询模板下并行度为x时,cpu和rt分别为cpu(x)和rt(x),它理论应该分到的资源分为cpu(x)*rt(x) , 初始情况每个查询的资源分为0,每秒会加上它实际理论应该占用的cpu,直到资源分大于等于cpu(x)*rt(x), 理论上该查询获取了足够的计算资源完成了查询任务,从查询的“起始时间”到查询理论结束时间这段时间为该查询的理论rt。每一秒的理论cpu计算方式如下:当主机cpu不满时,为cpu(x), 在主机cpu满的情况下, 为cpu(x)/sum_cpu*100% (sum_cpu为该时刻所有活跃查询的cpu和),令cost为各个查询的预估耗时总和, 利用禁忌搜索算出使cost最小的并行度配置, 该并行度配置为这段时间的优选解。
本说明书实施例中,所述数据处理方法利用历史数据库中的历史查询记录进行符合实际情况的优选并行度计算,并且将优选并行度的配置精确到查询模板,而不是所有查询配置同样的并行度,避免有的查询分配到的资源过少,有的查询分配到资源过大的问题,提升用户查询体验。
而在确定出查询模板的优选并行度之后,将查询模板的优选并行度保存至主数据库,以便主数据库接收到新的数据查询请求的情况下,可以基于数据查询请求对应的查询模板确定优选并行度,基于优选并行度进行快速的数据查询。具体实现方式如下所述:
所述基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度之后,还包括:
将所述每个查询模板对应的目标并行度存储至主数据库;
接收用户发送的数据查询请求,并基于所述数据查询请求对应的查询模板,确定所述数据查询请求对应的目标并行度;
基于所述数据查询请求对应的目标并行度对所述数据查询请求进行数据处理。
具体实施时,在确定至少两个查询模板中每个查询模板对应的目标并行度之后,将每个模板与目标并行度之间的映射关系存储至主数据库;让主数据库接收到新的用户发送的数据查询请求之后,先确定该数据查询请求对应的查询模板,然后通过查询模板与目标并行度之间的映射关系,确定该数据查询请求对应的目标并行度;最后使得该数据查询请求可以基于该目标并行度进行快速,且不浪费资源的数据查询。
此外,为了保持并行度配置的新鲜度,会定期的更新并行度配置,让并行度配置一直更加接近实际情况。具体实现方式如下所述:
所述基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度之后,还包括:
基于预设时间间隔更新所述至少两个查询模板中每个查询模板对应的目标并行度。
其中,预设时间间隔可以根据实际应用进行设置,本说明书对此不作任何限定,例如预设时间间隔为2天或者4天。
以2天为例,具体实施时,每2天可以更新一下查询模板中每个查询模板对应的目标并行度。
实际应用中,可以每隔2天获取一次历史数据库中的历史查询记录,确定历史查询记录的查询模板,以及基于查询模板从备份数据库中获取与每个查询模板对应的初始查询记录,再通过计算查询模板的评估函数等方式,更新计算出查询模板的并行度配置。
本说明书实施例提供的数据处理方法,可以利用用户的查询历史,得到候选的查询模板集合,在独立于主库的备库环境下运行计算出每个候选的查询模板的cpu和查询耗时,利用非线性回归技术,得到以每个查询模板的并行度DoP为自变量,cpu和查询耗时为因变量的评估函数;将用户的历史查询,纳入考虑的因素,将求解理想并行度设定的问题抽象成了组合优化问题,并使用禁忌搜索来让求解过程中尝试跳出局部优选解来找到全局更优的解;考虑了cpu满载情况下,在cpu公平调度机制下各个查询的理论cpu占用情况,让计算结果更趋近于真实情况;并且,可以定期更新并行度配置,保持它的新鲜度,让配置更接近实际情况。
下述结合附图2,以本说明书提供的数据处理方法在数据查询的应用为例,对所述数据处理方法进行进一步说明。其中,图2示出了本说明书一个实施例提供的一种数据处理方法的处理过程流程图,具体包括以下步骤。
步骤202:将主库中用户的历史查询收集存储至查询历史库。
其中,主库可以理解为上述实施例的主数据库,查询历史库可以理解为上述的历史数据库。
步骤204:从查询历史库收集k天的历史查询,并确定每个历史查询对应的查询模板。
步骤206:从与主库同步的备库中为每个查询模板随机抽取m个对应的执行查询。
其中,备库可以理解为上述的备份数据库,执行查询可以理解为上述的初始查询记录。
步骤208:cpu和rt的代价评估函数的推导。
具体的,cpu和rt的代价评估函数的推导可以理解为:确定每个查询模板对应的每个执行查询,在每个递增的并行度下执行的平均cpu占用率和查询耗时rt,并基于每个查询模板对应的每个执行查询,在每个递增的并行度下执行的平均cpu占用率和查询耗时rt,利用最小二乘法, 回归出每个查询模板的评估函数。
步骤210:从查询历史库中获取查询模板在不同并行度配置下对应的历史查询。
步骤212:基于历史查询的历史执行顺序和时间间隔,模拟历史查询的执行时间和时间间隔,并根据每个查询模板的评估函数,计算出查询模板在不同并行度配置下对应的每个历史查询的理论cpu和理论rt;最后基于这些参数计算出查询模板在不同并行度配置下的cost。
步骤214:对比cost。
具体的,对比cost可以理解为:对比查询模板在不同并行度配置下的cost,选择最小的cost。
步骤216:禁忌搜索。
具体的,禁忌搜索可以理解为:利用禁忌搜索算出使cost最小的查询模板的并行度配置, 该并行度配置为这段时间的优选解。
通过步骤214确定最小的cost之后,将并行度配置移动到选cost最小的点,例如cost最小的点对应的当前并行度配置是[x,y,z] 然后随机选并行度配置[x,y,z]周围的几个并行度配置,计算出各自的cost,再移动到cost较小的点上,重复这个过程,直到选择出最小的cost对应的并行度配置作为目标并行度配置。
步骤218:计算新配置。
具体的,计算新配置可以理解为:基于预设的时间间隔,通过上述步骤来不断更新每个查询模板的并行度配置,来应对用户潜移默化的使用变化。
步骤220:保存优选并行度配置。
具体的,保存优选并行度配置可以理解为:将计算出的新的查询模板的优选并行度配置保存至主库,以便在主库接收到其他用户的数据查询请求时,可以基于新的查询模板的优选并行度对该数据查询请求进行高效执行。
本说明书实施例提供的数据处理方法,可以根据用户的历史查询情况计算出符合实际情况的查询模板的优选并行度设置,不需要用户自行研究和设置,让功能傻瓜化,人人都能享受到并行计算为查询性能带来的红利;并且可以在独立环境(备库)下运行计算出每个查询模板的代价评估函数,整个并行度配置的计算过程不干扰用户线上的工作,不在用户环境上试错;此外,查询模板的并行度配置精确到查询模板,而不是所有查询配置同样的并行度,尽量让每个查询达到符合自己实际情况的并行度,避免“一刀切”造成的有的查询分到的资源过少,有的查询分到的资源过大。
与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图3示出了本说明书一个实施例提供的一种数据处理装置的结构示意图。如图3所示,该装置包括:
模板确定模块302,被配置为确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录;
计算模块304,被配置为获取所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数;
损失值确定模块306,被配置为基于所述每个查询模板对应的评估函数,以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值;
并行度确定模块308,被配置为基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度。
可选地,所述装置,还包括:
模板计算模块,被配置为:
将主数据库中执行完毕的历史查询记录存放至历史数据库,并确定所述历史数据库中每个历史查询记录的查询内容;
基于所述每个历史查询记录的查询内容,通过预设计算方式确定所述每个历史查询记录对应的查询模板。
可选地,所述模板确定模块302,进一步被配置为:
确定历史数据库中在预设时间段内的至少两个历史查询记录,并确定所述至少两个历史查询记录对应的至少两个查询模板;
从备份数据库中获取与所述至少两个查询模板的每个查询模板对应的、预设数量的初始查询记录。
可选地,所述计算模块304,进一步被配置为:
确定预设并行度,并获取所述初始查询记录在所述预设并行度下的平均cpu占用率和查询耗时;
将所述初始查询记录在所述预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数。
可选地,所述计算模块304,进一步被配置为:
设置初始并行度,并按照预设递增方式对所述初始并行度进行递增;
获取所述初始查询记录在所述初始并行度以及每个递增并行度下的平均cpu占用率和查询耗时,直至所述初始查询记录在当前并行度下的平均cpu占用率和查询耗时,小于所述初始查询记录在前一个并行度下的平均cpu占用率和查询耗时,停止递增;
获取所述初始查询记录在所述当前并行度以及所述当前并行度之前的所有并行度的平均cpu占用率和查询耗时。
可选地,所述计算模块304,进一步被配置为:
将所述初始查询记录在所述当前并行度以及所述当前并行度之前的所有并行度的平均cpu占用率和查询耗时,利用最小二乘法计算出所述每个查询模板对应的评估函数。
可选地,所述损失值确定模块306,进一步被配置为:
在所述历史数据库中获取与所述至少两个查询模板对应的、不同并行度下的多个历史查询记录,其中,所述每个查询模板对应的历史查询记录的并行度相同或者不同;
基于所述多个历史查询记录的历史执行顺序和时间间隔以及所述每个查询模板对应的评估函数,计算出所述多个历史查询记录中每个历史查询记录的目标cpu占用率和目标查询耗时;
基于所述每个历史查询记录的目标cpu占用率和目标查询耗时,确定所述至少两个查询模板的多个损失值。
可选地,所述并行度确定模块308,进一步被配置为:
基于所述损失值通过禁忌搜索算法确定所述至少两个查询模板的目标并行度集合,并从所述并行度集合中确定所述至少两个查询模板中每个查询模板对应的目标并行度。
可选地,所述装置,还包括:
模板存储模块,被配置为:
将所述每个查询模板对应的目标并行度存储至主数据库;
接收用户发送的数据查询请求,并基于所述数据查询请求对应的查询模板,确定所述数据查询请求对应的目标并行度;
基于所述数据查询请求对应的目标并行度对所述数据查询请求进行数据处理。
可选地,所述装置,还包括:
模板更新模块,被配置为:
基于预设时间间隔更新所述至少两个查询模板中每个查询模板对应的目标并行度。
本说明书实施例提供的所述数据处理装置,利用历史数据库中的历史查询记录进行符合实际情况的优选并行度计算,并且将优选并行度的配置精确到查询模板,而不是所有查询配置同样的并行度,避免有的查询分配到的资源过少,有的查询分配到资源过大的问题,提升用户查询体验。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图4示出了根据本说明书一个实施例提供的一种计算设备400的结构框图。该计算设备400的部件包括但不限于存储器410和处理器420。处理器420与存储器410通过总线430相连接,数据库450用于保存数据。
计算设备400还包括接入设备440,接入设备440使得计算设备400能够经由一个或多个网络460通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备440可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备400的上述部件以及图4中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图4所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备400可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备400还可以是移动式或静止式的服务器。
其中,处理器420用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (13)

1.一种数据处理方法,包括:
确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录;
获取所述初始查询记录在不同预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在不同预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数;
基于所述每个查询模板对应的评估函数,以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值,其中,所述损失值为cpu占用率和查询耗时的损失;
基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度。
2.根据权利要求1所述的数据处理方法,所述确定历史数据库中历史查询记录对应的至少两个查询模板之前,还包括:
将主数据库中执行完毕的历史查询记录存放至历史数据库,并确定所述历史数据库中每个历史查询记录的查询内容;
基于所述每个历史查询记录的查询内容,通过预设计算方式确定所述每个历史查询记录对应的查询模板。
3.根据权利要求1所述的数据处理方法,所述确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录,包括:
确定历史数据库中在预设时间段内的至少两个历史查询记录,并确定所述至少两个历史查询记录对应的至少两个查询模板;
从备份数据库中获取与所述至少两个查询模板的每个查询模板对应的、预设数量的初始查询记录。
4.根据权利要求1所述的数据处理方法,所述获取所述初始查询记录在不同预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在不同预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数,包括:
确定不同预设并行度,并获取所述初始查询记录在所述不同预设并行度下的平均cpu占用率和查询耗时;
将所述初始查询记录在所述不同预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数。
5.根据权利要求4所述的数据处理方法,所述确定不同预设并行度,并获取所述初始查询记录在所述不同预设并行度下的平均cpu占用率和查询耗时,包括:
设置初始并行度,并按照预设递增方式对所述初始并行度进行递增;
获取所述初始查询记录在所述初始并行度以及每个递增并行度下的平均cpu占用率和查询耗时,直至所述初始查询记录在当前并行度下的平均cpu占用率和查询耗时,小于所述初始查询记录在前一个并行度下的平均cpu占用率和查询耗时,停止递增;
获取所述初始查询记录在所述当前并行度以及所述当前并行度之前的所有并行度的平均cpu占用率和查询耗时。
6.根据权利要求5所述的数据处理方法,所述将所述初始查询记录在所述预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数,包括:将所述初始查询记录在所述当前并行度以及所述当前并行度之前的所有并行度的平均cpu占用率和查询耗时,利用最小二乘法计算出所述每个查询模板对应的评估函数。
7.根据权利要求1所述的数据处理方法,所述基于所述每个查询模板对应的评估函数,以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值,包括:
在所述历史数据库中获取与所述至少两个查询模板对应的、不同并行度下的多个历史查询记录,其中,所述每个查询模板对应的历史查询记录的并行度相同或者不同;
基于所述多个历史查询记录的历史执行顺序和时间间隔以及所述每个查询模板对应的评估函数,计算出所述多个历史查询记录中每个历史查询记录的目标cpu占用率和目标查询耗时;
基于所述每个历史查询记录的目标cpu占用率和目标查询耗时,确定所述至少两个查询模板的多个损失值。
8.根据权利要求7所述的数据处理方法,所述基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度,包括:
基于所述损失值通过禁忌搜索算法确定所述至少两个查询模板的目标并行度集合,并从所述并行度集合中确定所述至少两个查询模板中每个查询模板对应的目标并行度。
9.根据权利要求1所述的数据处理方法,所述基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度之后,还包括:
将所述每个查询模板对应的目标并行度存储至主数据库;
接收用户发送的数据查询请求,并基于所述数据查询请求对应的查询模板,确定所述数据查询请求对应的目标并行度;
基于所述数据查询请求对应的目标并行度对所述数据查询请求进行数据处理。
10.根据权利要求1-9任意一项所述的数据处理方法,所述基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度之后,还包括:
基于预设时间间隔更新所述至少两个查询模板中每个查询模板对应的目标并行度。
11.一种数据处理装置,包括:
模板确定模块,被配置为确定历史数据库中历史查询记录对应的至少两个查询模板,从备份数据库中确定与每个查询模板对应的初始查询记录;
计算模块,被配置为获取所述初始查询记录在不同预设并行度下的平均cpu占用率和查询耗时,将所述初始查询记录在不同预设并行度下的平均cpu占用率和查询耗时通过预设算法,计算出所述每个查询模板对应的评估函数;
损失值确定模块,被配置为基于所述每个查询模板对应的评估函数,以及所述至少两个查询模板在所述历史数据库中不同并行度下的历史查询记录,确定所述至少两个查询模板的损失值,其中,所述损失值为cpu占用率和查询耗时的损失;
并行度确定模块,被配置为基于所述损失值确定所述至少两个查询模板中每个查询模板对应的目标并行度。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-10任意一项所述数据处理方法的步骤。
13.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-10任意一项所述数据处理方法的步骤。
CN202110854551.4A 2021-07-28 2021-07-28 数据处理方法及装置 Active CN113296964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110854551.4A CN113296964B (zh) 2021-07-28 2021-07-28 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110854551.4A CN113296964B (zh) 2021-07-28 2021-07-28 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN113296964A CN113296964A (zh) 2021-08-24
CN113296964B true CN113296964B (zh) 2022-01-04

Family

ID=77331231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110854551.4A Active CN113296964B (zh) 2021-07-28 2021-07-28 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN113296964B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102393839A (zh) * 2011-11-30 2012-03-28 中国工商银行股份有限公司 并行数据处理系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216861B2 (en) * 2014-09-30 2019-02-26 International Business Machines Corporation Autonomic identification and handling of ad-hoc queries to limit performance impacts
CN105512264B (zh) * 2015-12-04 2019-04-19 贵州大学 分布式数据库中并发工作负载的性能预测方法
CN108073641B (zh) * 2016-11-18 2020-06-16 华为技术有限公司 查询数据表的方法和装置
CN109885384B (zh) * 2018-12-13 2023-02-07 平安壹钱包电子商务有限公司 任务并行度优化方法、装置、计算机设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102393839A (zh) * 2011-11-30 2012-03-28 中国工商银行股份有限公司 并行数据处理系统及方法

Also Published As

Publication number Publication date
CN113296964A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US11392843B2 (en) Utilizing a machine learning model to predict a quantity of cloud resources to allocate to a customer
Wang et al. Performance prediction for apache spark platform
Peng et al. Dl2: A deep learning-driven scheduler for deep learning clusters
Kabiljo et al. Social hash partitioner: a scalable distributed hypergraph partitioner
WO2017045472A1 (zh) 资源预测方法、系统和容量管理装
WO2019042200A1 (zh) 执行机器学习的分布式系统及其方法
CN108986872B (zh) 用于大数据电子病历约简的多粒度属性权重Spark方法
US20210312295A1 (en) Information processing method, information processing device, and information processing program
CN109636212A (zh) 作业实际运行时间的预测方法
CN116112563A (zh) 一种基于流行度预测的双策略自适应缓存替换方法
CN113296964B (zh) 数据处理方法及装置
CN113762514B (zh) 数据处理方法、装置、设备及计算机可读存储介质
RU2019128272A (ru) Способ и система для определения производительности пользователя в компьютерной краудсорсинговой среде
CN113312166B (zh) 资源处理方法以及装置
Du et al. Remote Sensing Data Processing Process Scheduling Based on Reinforcement Learning in Cloud Environment.
Xiao et al. Enhanced-xgb: An online service resource demand forecasting method for colocation data centers
CN108564135B (zh) 构建骨架程序并实现高性能计算程序运行时间预测的方法
CN113610225A (zh) 质量评估模型训练方法、装置、电子设备及存储介质
CN113821313A (zh) 一种任务调度方法、装置及电子设备
Bompiani et al. High-performance computing with terastat
Vallabhajosyula et al. Establishing a Generalizable Framework for Generating Cost-Aware Training Data and Building Unique Context-Aware Walltime Prediction Regression Models
Huo et al. A MapReduce-based algorithm for motif search
WO2014117566A1 (en) Ranking method and system
González-Álvarez et al. Searching for common patterns on protein sequences by means of a parallel hybrid honey-bee mating optimization algorithm
CN113296870B (zh) 预测Kubernetes集群配置的方法以及装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40057457

Country of ref document: HK