CN110968590A - 任务执行方法、装置、电子设备及计算机可读存储介质 - Google Patents
任务执行方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110968590A CN110968590A CN201911342639.7A CN201911342639A CN110968590A CN 110968590 A CN110968590 A CN 110968590A CN 201911342639 A CN201911342639 A CN 201911342639A CN 110968590 A CN110968590 A CN 110968590A
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- database
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000004048 modification Effects 0.000 claims abstract description 46
- 238000012986 modification Methods 0.000 claims abstract description 46
- 239000003607 modifier Substances 0.000 claims description 39
- 230000008859 change Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 230000003203 everyday effect Effects 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 description 12
- 230000000875 corresponding effect Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种任务执行方法、装置、电子设备及计算机可读存储介质,属于计算机技术领域。该方法中,在接收到待执行任务的情况下,根据数据库在不同时段的性能相关参数,确定数据库的性能满足预设性能要求的目标时段,根据待执行任务包括的多个待执行操作,确定待执行任务对数据库中数据的修改量,根据改动量确定与执行任务相适配的目标任务执行方式,在目标时段内,利用目标任务执行方式执行待执行任务。这样,可以提高待执行任务的执行效率。
Description
技术领域
本发明属于计算机技术领域,特别是涉及一种任务执行方法、装置、电子设备及计算机可读存储介质。
背景技术
为了便于对数据进行管理,经常会将数据存入数据库中。在需要对数据库中的数据进行改动时,例如,需要对数据库中已有数据进行删除、内容变更或新增数据时,可以提交相应的待执行任务。通过执行该待执行任务即可实现对数据的改动。
现有技术中,执行待执行任务时,往往是先接收待执行任务,然后以预先设置的默认执行方式直接执行该待执行任务。这种直接执行的方式,有时会出现耗费较长的问题,进而导致数据库无法及时更新的问题。
发明内容
本发明提供一种任务执行方法、装置、电子设备及计算机可读存储介质,以便解决耗费较长,数据库无法及时更新的问题。
在本发明实施的第一方面,首先提供了一种任务执行方法,其特征在于,应用于服务器,所述服务器中部署有数据库,该方法包括:
若接收到待执行任务,根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段;
根据所述待执行任务包括的多个待执行操作,确定所述待执行任务对所述数据库中数据的修改量;
根据所述改动量确定与所述执行任务相适配的目标任务执行方式;
在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务。
在本发明实施的第二方面,还提供了一种任务执行装置,其特征在于,应用于服务器,所述服务器中部署有数据库,该装置包括:
第一确定模块,用于若接收到待执行任务,根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段;
第二确定模块,用于根据所述待执行任务包括的多个待执行操作,确定所述待执行任务对所述数据库中数据的修改量;
第三确定模块,用于根据所述改动量确定与所述执行任务相适配的目标任务执行方式;
第一执行模块,用于在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的任务执行方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的任务执行方法。
本发明实施例提供的任务执行方法,会在接收到待执行任务的情况下,根据数据库在不同时段的性能相关参数,确定数据库的性能满足预设性能要求的目标时段,接着,会根据待执行任务包括的多个待执行操作,确定待执行任务对数据库中数据的修改量,根据改动量确定与执行任务相适配的目标任务执行方式,最后,在目标时段内,利用目标任务执行方式执行待执行任务。这样,通过先确定性能满足预设性能要求的目标时段,并在目标时段执行待执行任务,一定程度上可以确保待执行任务的执行效率,同时,相较于直接以默认执行方式执行待执行任务的方式,本发明实施例中,通过确定修改量,并根据改动量确定相适配的目标任务执行方式,以该相适配的目标任务执行方式执行待执行任务,可以确保待执行任务能够以更优的方式得到执行,进一步可以提高待执行任务的执行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种任务执行方法的步骤流程图;
图2是本发明实施例提供的另一种任务执行方法的步骤流程图;
图3是本发明实施例提供的一种任务执行装置的框图;
图4是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
图1是本发明实施例提供的一种任务执行方法的步骤流程图,应用于服务器,所述服务器中部署有数据库,如图1所示,该方法可以包括:
步骤101、若接收到待执行任务,根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段。
本发明实施例中,待执行任务可以是用户需要对数据库中的数据进行改动的情况下发送的,待执行任务中可以包括多个待执行操作,待执行任务中的多个待执行操作,可以是对服务器中的数据进行增加、删除、修改、查询等等。这多个操作可以是以基于结构化查询语言(Structured Query Language,SQL)定义的sql语句表示,其中,SQL是一种对服务器中的数据库进行操作的一种语言。
性能相关参数可以是能够体现数据库的处理性能的参数,数据库的性能越高,处于任务时越流畅。由于数据库的性能可以受到所在服务器的影响以及自身处理状态的影响,因此,性能相关参数可以包含该数据库所在服务器的一些参数以及能反映数据库本身处理状态的参数。示例的,该性能相关参数可以包括:所在服务器的中央处理器(CPU)占用率,磁盘使用率,磁盘容量大小、数据库每秒执行的操作数(QPS),数据库所连接的从数据库的延迟(SLAVE_LAG)以及数据库中锁的等待争用时长,等等。进一步地,如果接收到待执行任务,则可以认为需要对数据库中的数据进行改动,因此,服务器可以先根据性能相关参数,确定数据库的性能满足预设性能要求的目标时段。其中,预设性能要求可以是根据能够正常处理任务所需的最低性能确定的。
步骤102、根据所述待执行任务包括的多个待执行操作,确定所述待执行任务对所述数据库中数据的修改量。
本发明实施例中,修改量可以体现执行该待执行任务时,会对数据库中数据造成的改动程度。修改量越大,所需执行的修改就会越多,对数据库中数据的改动程度就会越大。修改量越小,所需执行的修改就会越少,对数据库中数据的改动程度也会越小。
步骤103、根据所述改动量确定与所述执行任务相适配的目标任务执行方式。
由于不同的待执行任务中包括的待执行操作的数量及种类可能不同,因此,不同的待执行任务对数据库中数据的修改量往往也不相同。在执行不同修改量的任务时,所耗费的时间性能也会不同。因此本步骤中可以根据改动量确定与执行任务相适配的目标任务执行方式。相较于直接使用预设的默认执行方式作为目标任务执行方式,本步骤中,通过待执行任务的改动量,针对性的选择相适配任务执行方式作为目标任务执行方式,一定程度上可以使得目标任务执行方式与该待执行任务更合适。
步骤104、在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务。
由于目标时段是性能满足预设性能要求,即,性能较高的时段,因此,相较于收到待执行任务后就直接执行的方式,本步骤中,通过在目标时段内才执行待执行任务,一定程度上可以确保待执行任务能够被高效的处理。进一步地,由于目标任务执行方式是根据待执行任务的改动量,针对性的选择的,因此,本步骤中,使用目标任务执行方式执行待执行任务,可以确保待执行任务能够以更优的方式得到执行,进而进一步提高待执行任务的执行效率。
综上所述,本发明实施例提供的任务执行方法,会在接收到待执行任务的情况下,根据数据库在不同时段的性能相关参数,确定数据库的性能满足预设性能要求的目标时段,接着,会根据待执行任务包括的多个待执行操作,确定待执行任务对数据库中数据的修改量,根据改动量确定与执行任务相适配的目标任务执行方式,最后,在目标时段内,利用目标任务执行方式执行待执行任务。这样,通过先确定性能满足预设性能要求的目标时段,并在目标时段执行待执行任务,一定程度上可以确保待执行任务的执行效率,同时,相较于直接以默认执行方式执行待执行任务的方式,本发明实施例中,通过确定修改量,并根据改动量确定相适配的目标任务执行方式,以该相适配的目标任务执行方式执行待执行任务,可以确保待执行任务能够以更优的方式得到执行,进一步可以提高待执行任务的执行效率。
图2是本发明实施例提供的另一种任务执行方法的步骤流程图,应用于服务器,所述服务器中部署有数据库,如图2所示,该方法可以包括:
步骤201、若接收到待执行任务,根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段。
具体的,该性能相关参数可以是历史性能相关参数,相应地,本步骤可以通过下述子步骤(1)~子步骤(3)实现:
子步骤(1):获取所述数据库在过去N天内各个时段的历史性能相关参数。
本步骤中,N可以为不小于1的整数。具体的,N越大,获取到的历史性能相关参数就会越多,由于数据越多能够提供的信息就会越多,因此,基于这些历史性能相关参数确定的目标时段就会越可信。但是,需要处理的数据量也会越多,进而一定程度上会降低处理效率。反之,N越小,获取到的历史性能相关参数就会越少,因此,基于这些历史性能相关参数确定的目标时段的可信度会降低。但是,需要处理的数据量也会越少,进而一定程度上可以提高处理效率。因此,N的具体值可以根据需求预先设定,本发明实施例对此不作限定。
具体的,在获取历史性能相关参数时,可以从服务器后台记录的历史参数中,读取距离当前时刻最近的N天中的历史性能相关参数,进而实现获取数据库在过去N天内各个时段的历史性能相关参数。
子步骤(2):根据所述N天中每天的各个时段中的历史性能相关参数,确定所述数据库在每天中性能大于预设性能阈值的时段,得到N个备选时段。
本步骤中,一天中的时段可以是根据需求预先划分的,例如,可以从0点开始,每一个小时为一个时段,相应地,一天中可以包含24个时段。也可以为每两个个小时为一个时段,相应地,一天中可以包含12个时段。
对于一天中的每个时段,可以计算该时段中各项历史性能相关参数的具体值与该项历史性能相关参数对应的预设权重的乘积之和,进而得到该时段的性能表示值;最后将一天中性能表示值大于预设性能阈值的时段确定为该备选时段,或者,也可以将性能表示值最大的时段确定为备选时段。其中,与数据库的性能正相关的性能相关参数对应的预设权重为正数,与数据库的性能负相关的性能相关参数对应的预设权重为负数。与数据库的性能正相关的性能相关参数指的是,该性能相关参数越大,数据库的性能越高。与数据库的性能负相关的性能相关参数指的是,该性能相关参数越大,数据库的性能越低。
示例的,假设N为3,计算第一天中性能大于预设性能阈值的时段,得到备选时段,计算第二天中性能大于预设性能阈值的时段,得到M个备选时段,计算第三天中性能大于预设性能阈值的时段,得到备选时段,进而得到三个备选时段。
子步骤(3):将所述M个备选时段中出现频次最高的备选时段确定为所述目标时段。
由于数据库每天执行的任务变化不会太大,因此,性能较高的时段,即,低流量时段,性能较低的时段,即,高流量时段,往往是相同的,因此,本步骤中,可以将出现频次最高的备选时段确定为目标时段。
具体的,可以先统计每个备选时段出现的频次,然后将出现频次最高的备选时段确定为目标时段。示例的,假设有3个备选时段,这三个备选时段分别为:01:00~02:00、02:00~03:00、02:00~03:00,由于备选时段01:00~02:00的出现频次为1,备选时段02:00~03:00的出现频次为2,因此可以将出现频次最高的备选时段:02:00~03:00确定为目标时段。
本发明实施例中,通过获取历史性能相关参数,并基于历史性能相关参数,确定每天中性能大于预设性能阈值的时段作为备选时段,并从备选时段中选择出现频次最高的时段作为目标时段,由于备选时段本身就是筛选出的性能较高的时段,因此,从中筛选的现频次最高的时段极大概率为高性能的时段。这样,以该出现频次最高的时段作为目标时段,可以使得后续在该目标时段中执行待执行任务时,待执行任务能够被高效的执行。
进一步地,该性能相关参数也可以是实时的性能相关参数,相应地,本步骤可以通过下述子步骤(4)~子步骤(5)实现:
子步骤(4):每间隔一个预设时长,执行一次获取所述数据库在当前时段的性能相关参数的操作。
本步骤中,该预设时长可以是根据实际需求设置的。示例的,该预设时长可以为10分钟、30分钟、60分钟,等等。当前时段指的是当前时刻落入的时段。具体的,获取数据库在当前时段的性能相关参数时,可以对数据库及服务器进行实时检测以获取当前时段的性能相关参数。也可以是先确定当前时刻所在的时段,得到当前时段。然后获取当前时段中在当前时刻之前的任一时刻的历史性能相关参数,作为当前时段的性能相关参数。
示例的,假设一天内的时段是从0点开始,每一个小时为一个时段,当前时刻为09:20,那么服务器可以直接获取当前时刻09:20的性能相关参数,作为当前时段09:00之间任一时刻的~10:00的性能相关参数。或者,从历史数据中获取09:00~09:20之间任一时刻的历史性能相关参数,作为当前时段的性能相关参数。
子步骤(5):在所述当前时段的性能相关参数大于预设参数阈值的情况下,将所述当前时段确定为所述目标时段。
本步骤中,该预设参数阈值可以是根据能够确保正常高效执行任务的情况下,所需的最低参数设置的。如果当前时段的性能相关参数大于预设参数阈值,则可以认为待执行任务在该当前时段内能够正常高效的被执行,因此,可以将当前时段确定为所述目标时段。
当然也可以参照前述步骤中的描述,根据当前时段的性能相关参数计算当前时段的性能表示值,在该当前时段的性能表示值大于预设性能阈值的情况下,将当前时段确定为目标时段,本发明实施例对此不作限定。
本发明实施例中,周期性实时检测当前时段的性能相关参数,在性能较高的当前时段作为目标时段,一定程度上可以提高确定目标时段的时效性,进而提高目标时段的精确性。
步骤202、根据所述待执行任务包括的多个待执行操作,确定所述待执行任务对所述数据库中数据的修改量。
本步骤中,数据库中可以包括多行数据,该修改量可以为待执行任务对数据库中数据的修改行数,即,影响行数。其中,待执行任务对数据库中数据的修改可以是对数据库中原有数据的删除,也可以是对数据库中原有数据的内容修改,也可以是对数据库中存储数据添加新数据的操作。相应地,在确定修改量的时候,可以先确定待执行任务中每个待执行操作对应的修改行数。然后计算所有待执行操作对应的修改行数之和,得到修改量。示例的,假设待执行任务中包括300个待执行操作,这300个待执行操作中包括200个数据删除操作及100个数据添加操作。其中,每个操作均未针对一行数据的操作。那么相应地,可以得到所有待执行操作对应的修改行数之和为300,即,修改量为300。需要说明的是,该修改量也可以是修改行数占数据总行数的比例,该根据待执行任务包括的多个待执行操作,确定待执行任务对数据库中数据的修改量的操作,可以是基于预设的统计工具实现的,本发明实施例对此不作限定。
步骤203、根据所述改动量确定与所述执行任务相适配的目标任务执行方式。
具体的,本步骤可以通过下述子步骤(6)~子步骤(9)实现:
子步骤(6):判断所述修改量是否大于预设修改量阈值。
本步骤中,该预设修改量阈值可以是根据实际情况预先设置的。示例的,该预设修改量阈值可以为50000条。具体的,可以将该修改量与该预设修改量阈值进行比对,以确定该修改量是否大于该预设修改量阈值。
子步骤(7):在所述修改量不大于所述预设修改量阈值的情况下,将第一任务执行方式确定为所述目标执行方式;所述第一执行方式为直接执行所述待执行任务中的每个待执行操作。
具体的,如果该修改量不大于预设修改量阈值,则可以认为该待执行任务的任务量较小,因此,可以将第一任务执行方式确定为目标执行方式,以使后续步骤中,该待执行任务能够被直接执行,进而使得该待执行任务被及时执行,一定程度上缩短执行所需的时长。
需要说明的是,这些任务执行方式可以是在数据库技术发展过程中衍生出的不同的针对任务执行的方式。每种执行方式可以以对应的执行工具实现。示例的,针对直接执行的方式,可以使用inception工具实现。
子步骤(8):在所述修改量大于所述预设修改量阈值的情况下,根据所述待执行任务中待执行操作的语言类型,确定与所述语言类型相适配的第二任务执行方式。
具体的,如果该修改量大于预设修改量阈值,则可以认为该待执行任务的任务量较大,因此,可以先确定待执行任务中待执行操作的语言类型。其中,该语言类型可以至少包括数据操纵语言DML及数据定义语言DDL。DML用于对数据库中已有的数据进行操作,DDL用于在数据库中创建新的数据。由于不同类型的语言定义的待执行操作,所要执行的操作的特性不同。为了确保能够根据任务的操作特性对任务进行执行,因此,可以确定与语言类型相适配的第二任务执行方式。其中,该第二任务执行方式表示利用与语言类型相适配的任务执行工具执行所述待执行任务。
具体的,对于语言类型DML,该第二任务执行方式可以为利用DML相适配的任务执行工具执行待执行任务。其中,DML相适配的任务执行工具可以为oak-chunk-update工具。该oak-chunk-update工具可以是来自开源的MySQL工具集的特定组件(openark-kit),它可以通过对字段进行分割,对任务进行分割,其中,该字段可以是主键索引字段、唯一索引字段、或指定的字段。对于语言类型DDL,该第二任务执行方式可以为利用DDL相适配的任务执行工具执行待执行任务。其中,DDL相适配的任务执行工具可以为gh-ost工具或pt-ost工具。gh-ost工具可以是基于golang语言开发的,该工具可以使用binlog代替触发器来做增量数据同步,进而降低可以服务器的负载。
子步骤(9):根据所述第二任务执行方式,确定所述目标任务执行方式。
具体的,在本步骤中的确定过程可以为:在存在一个与语言类型相适配的第二任务执行方式的情况下,直接将该第二任务执行方式确定为所述目标任务执行方式。在存在多个与所述语言类型相适配的第二任务执行方式的情况下,可以确定数据库的数据库版本。具体的,可以从该数据库的版本更新记录中,获取该数据库的数据库版本,以确保获取到的数据库版本为最新数据,进而确保获取到的数据库版本更加准确。然后,将与数据库版本相适配的第二任务执行方式确定为目标任务执行方式。示例的,对于语言类型DDL,该第二任务执行方式可以为利用DDL相适配的任务执行工具执行待执行任务。其中,DDL相适配的任务执行工具可以为gh-ost工具或pt-ost工具。即,存在两个第二任务执行方式:利用gh-ost工具执行待执行任务以及利用pt-ost工具执行待执行任务。由于存在多个与语言类型相适配的第二任务执行方式,因此,可以确定数据库版本。在该数据库版本为“MySQL5.5”的情况下,将第二任务执行方式:利用pt-ost工具执行待执行任务,确定为目标任务执行方式。在该数据库版本为出“MySQL5.5”之外的任一版本的情况下,将第二任务执行方式:利用gh-ost工具执行待执行任务,确定为目标任务执行方式。
步骤204、接收原始数据备份指令。
本步骤中,原始数据备份指令可以是用户在需要先对数据库中的数据进行备份时发送的。示例的,用户可以在提交的待执行任务会对数据库中的数据造成较大改动的情况下,例如,会删除大量数据或对大量数据的内容造成更改的情况下,发送原始数据备份指令。具体的,服务器可以提供一操作界面,该操作界面中可以显示有备份按钮,用户可以通过点击该备份按钮,实现发送原始数据备份指令,该原始数据备份指令可以用于指示服务器进行数据备份。
步骤205、响应于所述原始数据备份指令,对所述数据中的目标数据进行备份操作;所述目标数据是所述数据库当前存储的数据中会被所述待执行任务影响的数据。
本步骤中,服务器若接收到原始数据备份指令,则可以认为用户需要在执行待执行任务之前,先进行备份。因此,服务器可以执行对数据中的目标数据进行备份操作。具体的,可以先确定待执行任务执行之后会被删除以及更改的数据,进而得到目标数据,接着,对目标数据进行复制,并将复制得到的数据存储至预设存储位置。
这样,通过在执行待执行任务之前先进行备份,在执行待执行任务出现错误的情况下,可以利用备份的数据进行数据回滚,使得数据库能够恢复收到执行之前的数据状态,进而确保数据库的正常运行。同时,相较于直接备份所有数据的方式,本发明实施例中,先确定目标数据,仅对目标数据进行备份的方式,一定程度上可以减少需要备份的数据量,进而提高备份效率。
步骤206、在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务。
示例的,如果该目标任务执行方式为第一任务执行方式,那么可以直接按照待执行任务中的各个待执行操作对应的SOL语句执行。如果该目标任务执行方式为利用oak-chunk-update工具执行待执行任务,那么可以调用该oak-chunk-update工具执行待执行任务。如果该目标任务执行方式为利用pt-ost工具执行待执行任务,那么可以调用该pt-ost工具执行待执行任务。如果该目标任务执行方式为利用gh-ost工具执行待执行任务,那么可以调用该gh-ost工具执行待执行任务。其中,这些工具可以预先集成在该服务器中。
由于目标时段往往是在晚上,本发明实施例中,服务器自动在目标时段内基于目标任务执行方式执行待执行任务,一定程度上可以减少所需的人力,进而减缓数据库运维人员的压力。且由于目标时段往往是服务器的低流量的时段,因此,在该目标时段内数据库的繁忙程度往往会较低,这样,出现数据库在繁忙程度较高的情况下,执行锁表操作,或者是进入只读状态,造成大量的阻塞和锁超时,导致任务执行被中断,执行时间变长,从服务器的同步操作产生延迟,进而导致线上系统出错的情况一定程度上会减少,进而可以减少故障发生率,提高待执行任务的执行效率。
需要说明的是,本发明实施例中,还可以预先工具中设置SQL审核的规范,例如,建表语句中字段必须包含comment。然后在本步骤之前,利基于审核规范对待执行任务中的SQL语句进行审核,以确定SQL语句是否正确规范。并在SQL语句不正确规范的情况下,提示用户进行修改,以确定待执行任务能够被正常执行。
综上所述,本发明实施例提供的任务执行方法,会在接收到待执行任务的情况下,根据数据库在不同时段的性能相关参数,确定数据库的性能满足预设性能要求的目标时段,接着,会根据待执行任务包括的多个待执行操作,确定待执行任务对数据库中数据的修改量,根据改动量确定与执行任务相适配的目标任务执行方式,在接收到原始数据备份指令之后,对数据中的目标数据进行备份操作,在完成备份操作之后,在目标时段内,利用目标任务执行方式执行待执行任务。这样,通过先确定性能满足预设性能要求的目标时段,并在目标时段执行待执行任务,一定程度上可以确保待执行任务的执行效率,同时,相较于直接以默认执行方式执行待执行任务的方式,本发明实施例中,通过确定修改量,并根据改动量确定相适配的目标任务执行方式,以该相适配的目标任务执行方式执行待执行任务,可以确保待执行任务能够以更优的方式得到执行,进一步可以提高待执行任务的执行效率。进一步地,通过在执行待执行任务之前先进行备份,在执行待执行任务出现错误的情况下,可以利用备份的数据进行数据回滚,使得数据库能够恢复收到执行之前的数据状态,进而确保数据库的正常运行。
图3是本发明实施例提供的一种任务执行装置的框图,应用于服务器,所述服务器中部署有数据库,如图3所示,该装置30可以包括:
第一确定模块301,用于若接收到待执行任务,根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段。
第二确定模块302,用于根据所述待执行任务包括的多个待执行操作,确定所述待执行任务对所述数据库中数据的修改量。
第三确定模块303,用于根据所述改动量确定与所述执行任务相适配的目标任务执行方式。
第一执行模块304,用于在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务。
可选的,所述第一确定模块301,具体用于:
获取所述数据库在过去N天内各个时段的历史性能相关参数。
根据所述N天中每天的各个时段中的历史性能相关参数,确定所述数据库在每天中性能大于预设性能阈值的时段,得到M个备选时段。
将所述M个备选时段中出现频次最高的备选时段确定为所述目标时段。
可选的,所述第一确定模块301,具体用于:
每间隔一个预设时长,执行一次获取所述数据库在当前时段的性能相关参数的操作。
在所述当前时段的性能相关参数大于预设参数阈值的情况下,将所述当前时段确定为所述目标时段。
可选的,所述数据库中包括多行数据;所述修改量为所述待执行任务对所述数据库中数据的修改行数。
所述第二确定模块302,具体用于:
确定所述待执行任务中每个待执行操作对应的修改行数。
计算所有待执行操作对应的修改行数之和,得到所述修改量。
可选的,所述第三确定模块303,具体用于:
判断所述修改量是否大于预设修改量阈值。
在所述修改量不大于所述预设修改量阈值的情况下,将第一任务执行方式确定为所述目标执行方式;所述第一执行方式为直接执行所述待执行任务中的每个待执行操作。
在所述修改量大于所述预设修改量阈值的情况下,根据所述待执行任务中待执行操作的语言类型,确定与所述语言类型相适配的第二任务执行方式;根据所述第二任务执行方式,确定所述目标任务执行方式;所述第二任务执行方式表示利用与所述语言类型相适配的任务执行工具执行所述待执行任务。
可选的,所述第三确定模块303,还具体用于:
在存在多个与所述语言类型相适配的第二任务执行方式的情况下,确定所述数据库的数据库版本。
将与所述数据库版本相适配的第二任务执行方式确定为所述目标任务执行方式。
可选的,所述装置30还包括:
接收模块,用于接收原始数据备份指令。
备份模块,用于响应于所述原始数据备份指令,对所述数据中的目标数据进行备份操作;所述目标数据是所述数据库当前存储的数据中会被所述待执行任务影响的数据。
第二执行模块,用于在完成所述备份操作之后,执行所述在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务的操作。
综上所述,本发明实施例提供的任务执行装置,会在接收到待执行任务的情况下,根据数据库在不同时段的性能相关参数,确定数据库的性能满足预设性能要求的目标时段,接着,会根据待执行任务包括的多个待执行操作,确定待执行任务对数据库中数据的修改量,根据改动量确定与执行任务相适配的目标任务执行方式,最后,在目标时段内,利用目标任务执行方式执行待执行任务。这样,通过先确定性能满足预设性能要求的目标时段,并在目标时段执行待执行任务,一定程度上可以确保待执行任务的执行效率,同时,相较于直接以默认执行方式执行待执行任务的方式,本发明实施例中,通过确定修改量,并根据改动量确定相适配的目标任务执行方式,以该相适配的目标任务执行方式执行待执行任务,可以确保待执行任务能够以更优的方式得到执行,进一步可以提高待执行任务的执行效率。
对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
若接收到待执行任务,根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段;
根据所述待执行任务包括的多个待执行操作,确定所述待执行任务对所述数据库中数据的修改量;
根据所述改动量确定与所述执行任务相适配的目标任务执行方式;
在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的任务执行方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的任务执行方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种任务执行方法,其特征在于,应用于服务器,所述服务器中部署有数据库,所述方法包括:
若接收到待执行任务,根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段;
根据所述待执行任务包括的多个待执行操作,确定所述待执行任务对所述数据库中数据的修改量;
根据所述改动量确定与所述执行任务相适配的目标任务执行方式;
在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段,包括:
获取所述数据库在过去N天内各个时段的历史性能相关参数;
根据所述N天中每天的各个时段中的历史性能相关参数,确定所述数据库在每天中性能大于预设性能阈值的时段,得到M个备选时段;
将所述M个备选时段中出现频次最高的备选时段确定为所述目标时段。
3.根据权利要求1所述的方法,其特征在于,所述根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段,包括:
每间隔一个预设时长,执行一次获取所述数据库在当前时段的性能相关参数的操作;
在所述当前时段的性能相关参数大于预设参数阈值的情况下,将所述当前时段确定为所述目标时段。
4.根据权利要求1所述的方法,其特征在于,所述数据库中包括多行数据;所述修改量为所述待执行任务对所述数据库中数据的修改行数;
所述根据所述待执行任务包括的待执行操作,确定所述待执行任务对所述数据库中数据的修改量,包括:
确定所述待执行任务中每个待执行操作对应的修改行数;
计算所有待执行操作对应的修改行数之和,得到所述修改量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述改动量确定与所述执行任务相适配的目标任务执行方式,包括:
判断所述修改量是否大于预设修改量阈值;
在所述修改量不大于所述预设修改量阈值的情况下,将第一任务执行方式确定为所述目标执行方式;所述第一执行方式为直接执行所述待执行任务中的每个待执行操作;
在所述修改量大于所述预设修改量阈值的情况下,根据所述待执行任务中待执行操作的语言类型,确定与所述语言类型相适配的第二任务执行方式;根据所述第二任务执行方式,确定所述目标任务执行方式;所述第二任务执行方式表示利用与所述语言类型相适配的任务执行工具执行所述待执行任务。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第二任务执行方式,确定所述目标任务执行方式,包括:
在存在多个与所述语言类型相适配的第二任务执行方式的情况下,确定所述数据库的数据库版本;
将与所述数据库版本相适配的第二任务执行方式确定为所述目标任务执行方式。
7.根据权利要求1所述的方法,其特征在于,所述在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务之前,所述方法还包括:
接收原始数据备份指令;
响应于所述原始数据备份指令,对所述数据中的目标数据进行备份操作;所述目标数据是所述数据库当前存储的数据中会被所述待执行任务影响的数据;
在完成所述备份操作之后,执行所述在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务的操作。
8.一种任务执行装置,其特征在于,应用于服务器,所述服务器中部署有数据库,所述装置包括:
第一确定模块,用于若接收到待执行任务,根据所述数据库在不同时段的性能相关参数,确定所述数据库的性能满足预设性能要求的目标时段;
第二确定模块,用于根据所述待执行任务包括的多个待执行操作,确定所述待执行任务对所述数据库中数据的修改量;
第三确定模块,用于根据所述改动量确定与所述执行任务相适配的目标任务执行方式;
第一执行模块,用于在所述目标时段内,利用所述目标任务执行方式执行所述待执行任务。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911342639.7A CN110968590A (zh) | 2019-12-23 | 2019-12-23 | 任务执行方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911342639.7A CN110968590A (zh) | 2019-12-23 | 2019-12-23 | 任务执行方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110968590A true CN110968590A (zh) | 2020-04-07 |
Family
ID=70036058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911342639.7A Pending CN110968590A (zh) | 2019-12-23 | 2019-12-23 | 任务执行方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968590A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331334A (zh) * | 2009-09-29 | 2015-02-04 | 亚马逊技术有限公司 | 计算机实现方法和计算系统 |
CN109726174A (zh) * | 2018-12-28 | 2019-05-07 | 江苏满运软件科技有限公司 | 数据归档方法、系统、设备以及存储介质 |
CN109901920A (zh) * | 2019-01-18 | 2019-06-18 | 中国平安财产保险股份有限公司 | 任务调度方法及装置、电子终端 |
CN110119306A (zh) * | 2019-05-22 | 2019-08-13 | 无锡华云数据技术服务有限公司 | 作业自动调度均衡方法、装置、设备及存储介质 |
WO2019169724A1 (zh) * | 2018-03-09 | 2019-09-12 | 平安科技(深圳)有限公司 | 服务器并发数控制方法、装置、计算机设备及存储介质 |
CN110297701A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 数据处理作业调度方法、装置、计算机设备及存储介质 |
-
2019
- 2019-12-23 CN CN201911342639.7A patent/CN110968590A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331334A (zh) * | 2009-09-29 | 2015-02-04 | 亚马逊技术有限公司 | 计算机实现方法和计算系统 |
WO2019169724A1 (zh) * | 2018-03-09 | 2019-09-12 | 平安科技(深圳)有限公司 | 服务器并发数控制方法、装置、计算机设备及存储介质 |
CN109726174A (zh) * | 2018-12-28 | 2019-05-07 | 江苏满运软件科技有限公司 | 数据归档方法、系统、设备以及存储介质 |
CN109901920A (zh) * | 2019-01-18 | 2019-06-18 | 中国平安财产保险股份有限公司 | 任务调度方法及装置、电子终端 |
CN110297701A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 数据处理作业调度方法、装置、计算机设备及存储介质 |
CN110119306A (zh) * | 2019-05-22 | 2019-08-13 | 无锡华云数据技术服务有限公司 | 作业自动调度均衡方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868373B2 (en) | Method and apparatus for monitoring an in-memory computer system | |
US8516499B2 (en) | Assistance in performing action responsive to detected event | |
CN108255620B (zh) | 一种业务逻辑处理方法、装置、业务服务器及系统 | |
CN111177165B (zh) | 数据一致性检测的方法、装置及设备 | |
CN109271435A (zh) | 一种支持断点续传的数据抽取方法及系统 | |
US11200136B2 (en) | Data monitoring methods, apparatuses, electronic devices, and computer readable storage media | |
CN112115200B (zh) | 数据同步方法、装置、电子设备及可读存储介质 | |
JP2020057416A (ja) | 分散データベースにおけるデータブロックを処理する方法およびデバイス | |
CN113760677A (zh) | 异常链路分析方法、装置、设备及存储介质 | |
JP2015194797A (ja) | 監視漏れ特定処理プログラム,監視漏れ特定処理方法及び監視漏れ特定処理装置 | |
CN111078418B (zh) | 操作同步方法、装置、电子设备及计算机可读存储介质 | |
CN115291806A (zh) | 一种处理方法、装置、电子设备及存储介质 | |
CN110855484B (zh) | 自动检测业务量变化的方法、系统、电子设备和存储介质 | |
CN110968590A (zh) | 任务执行方法、装置、电子设备及计算机可读存储介质 | |
CN109634930B (zh) | 清理日志的方法及装置、存储介质、电子装置 | |
CN113849328B (zh) | 一种容灾系统的管理方法和装置 | |
CN110955587A (zh) | 一种待更换设备确定方法及装置 | |
WO2019223171A1 (zh) | 工作流管理方法、系统、计算机设备和存储介质 | |
CN116775350A (zh) | 一种数据库同步监控修复方法、系统及存储介质 | |
CN112988497B (zh) | 管理备份系统的方法、电子设备和计算机程序产品 | |
US20230004322A1 (en) | Managing provenance information for data processing pipelines | |
US8161017B2 (en) | Enhanced identification of relevant database indices | |
CN112037017A (zh) | 一种确定批处理作业评价结果的方法、装置、设备 | |
CN113849133B (zh) | 隐私数据的处理方法、装置、电子设备及存储介质 | |
US11836153B1 (en) | Bidirectional high-volume data synchronization between intelligent platform and remote system with minimal latency |
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 |