CN114880118A - 资源调用方法、装置、电子设备及存储介质 - Google Patents
资源调用方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114880118A CN114880118A CN202210482539.XA CN202210482539A CN114880118A CN 114880118 A CN114880118 A CN 114880118A CN 202210482539 A CN202210482539 A CN 202210482539A CN 114880118 A CN114880118 A CN 114880118A
- Authority
- CN
- China
- Prior art keywords
- calling
- cache
- resource
- duration
- 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 60
- 239000012634 fragment Substances 0.000 claims description 37
- 238000001514 detection method Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 8
- 230000015654 memory Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 239000002699 waste material Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开关于一种资源调用方法、装置、电子设备及存储介质,该资源调用方法包括:获取缓存调用请求,其中,缓存调用请求用于为预设周期内被集中执行的任务集合申请对缓存资源的目标调用额度;基于目标调用额度、以及缓存资源在预设周期内的可用时长,确定用于任务集合中的各任务分批占用缓存资源的单批调用额度;根据单批调用额度,对缓存资源实施分时调用,其中,对缓存资源实施分时调用的持续时长小于等于可用时长。本公开降低了并发的定时任务对缓存资源调用的峰值压力,节省了缓存资源,降低了对涉及到的缓存资源的存储集群的性能要求,降低了资源成本。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种资源调用方法、装置、电子设备及存储介质。
背景技术
目前,各种计算机和互联网应用中都有很多的定时任务,定时任务会处理同时在线的各种业务,定时任务具有执行周期,在每个周期内并发的定时任务都需要对相关的资源进行访问。
然而,由于在周期开始阶段并发执行的所有定时任务会因为同时开始执行任务而对缓存造成访问压力,并且,在定时任务提前完成的情况下,定时任务不会在周期的后程阶段继续访问缓存,进而会造成缓存资源在周期的后程阶段的空闲浪费。
发明内容
本公开提供一种资源调用方法、装置、电子设备及存储介质,以至少解决相关技术中定时任务执行过程中对缓存造成的访问压力和资源浪费的技术问题。
根据本公开实施例的一方面,提供一种资源调用方法,包括:
获取缓存调用请求,其中,所述缓存调用请求用于为预设周期内被集中执行的任务集合申请对缓存资源的目标调用额度;
基于所述目标调用额度、以及所述缓存资源在所述预设周期内的可用时长,确定用于所述任务集合中的各任务分批占用所述缓存资源的单批调用额度;
根据所述单批调用额度,对所述缓存资源实施分时调用,其中,对所述缓存资源实施分时调用的持续时长小于等于所述可用时长。
在一种可能实施方式中,所述基于所述目标调用额度、以及所述缓存资源在所述预设周期内的可用时长,确定用于所述任务集合中的各任务分批占用所述缓存资源的单批调用额度,包括:
将所述缓存调用请求的所述目标调用额度划分为预设总量的分片;
根据所述任务集合中的单批任务对所述缓存资源的单批占用时长的时长参考值和所述可用时长,确定对所述缓存资源实施分时调用的调用次数,其中,所述调用次数由所述可用时长相比于所述时长参考值的倍数确定;
根据所述预设总量的分片和所述调用次数,确定所述单批任务对应的单批分片数量,其中,所述单批分片数量用于表征所述单批调用额度。
在一种可能实施方式中,所述根据所述任务集合中的单批任务对所述缓存资源的单批占用时长的时长参考值和所述可用时长,确定对所述缓存资源实施分时调用的调用次数之前,所述资源调用方法还包括:
获取对所述缓存资源实施分时调用的历史调用数据,所述历史调用数据包括:对所述缓存资源的单批占用时长的历史检测值;
基于所述历史检测值,确定所述时长参考值。
在一种可能实施方式中,所述获取对所述缓存资源实施分时调用的历史调用数据,包括:
获取所述缓存调用请求的前次缓存调用请求对所述缓存资源实施分时调用的前次调用数据。
在一种可能实施方式中,所述基于所述历史检测值,确定所述时长参考值,包括:
获取所述单批占用时长的多个所述历史检测值;
利用所述多个历史检测值的平均值,确定所述时长参考值。
在一种可能实施方式中,所述基于所述目标调用额度、以及所述缓存资源在所述预设周期内的可用时长,确定用于所述任务集合中的各任务分批占用所述缓存资源的单批调用额度之前,所述资源调用方法还包括:
获取为所述缓存资源预先配置的预留系数,其中,所述预留系数用于表征所述缓存资源在所述预设周期的时长内的可用时长占比;
利用所述预设周期的时长、以及所述预留系数,确定所述可用时长。
在一种可能实施方式中,所述利用所述预设周期的时长、以及所述预留系数,确定所述可用时长,包括:
将所述预设周期的时长和所述预留系数的乘积,确定为所述可用时长。
根据本公开实施例的另一方面,提供一种资源调用装置,包括:
调用请求获取模块,被配置为执行获取缓存调用请求,其中,所述缓存调用请求用于为预设周期内被集中执行的任务集合申请对缓存资源的目标调用额度;
调用额度确定模块,被配置为执行基于所述目标调用额度、以及所述缓存资源在所述预设周期内的可用时长,确定用于所述任务集合中的各任务分批占用所述缓存资源的单批调用额度;
分时调用模块,被配置为执行根据所述单批调用额度,对所述缓存资源实施分时调用,其中,对所述缓存资源实施分时调用的持续时长小于等于所述可用时长。
在一种可能实施方式中,所述调用额度确定模块,包括:
分片划分子模块,被配置为执行将所述缓存调用请求的所述目标调用额度划分为预设总量的分片;
调用次数确定子模块,被配置为执行根据所述任务集合中的单批任务对所述缓存资源的单批占用时长的时长参考值和所述可用时长,确定对所述缓存资源实施分时调用的调用次数,其中,所述调用次数由所述可用时长相比于所述时长参考值的倍数确定;
分片数量确定子模块,被配置为执行根据所述预设总量的分片和所述调用次数,确定所述单批任务对应的单批分片数量,其中,所述单批分片数量用于表征所述单批调用额度。
在一种可能实施方式中,所述资源调用装置还包括:
历史调用数据获取模块,被配置为执行获取对所述缓存资源实施分时调用的历史调用数据,所述历史调用数据包括:对所述缓存资源的单批占用时长的历史检测值;
时长参考值确定模块,被配置为执行基于所述历史检测值,确定所述时长参考值。
在一种可能实施方式中,所述历史调用数据获取模块进一步被配置为执行:
获取所述缓存调用请求的前次缓存调用请求对所述缓存资源实施分时调用的前次调用数据。
在一种可能实施方式中,所述时长参考值确定模块包括:
历史检测值获取子模块,被配置为执行获取所述单批占用时长的多个所述历史检测值;
时长参考值确定子模块,被配置为执行利用所述多个历史检测值的平均值,确定所述时长参考值。
在一种可能实施方式中,所述资源调用装置还包括:
预留系数获取模块,被配置为执行获取为所述缓存资源预先配置的预留系数,其中,所述预留系数用于表征所述缓存资源在所述预设周期的时长内的可用时长占比;
可用时长确定模块,被配置为执行利用所述预设周期的时长、以及所述预留系数,确定所述可用时长。
在一种可能实施方式中,所述可用时长确定模块进一步被配置为执行:
将所述预设周期的时长和所述预留系数的乘积,确定为所述可用时长。
根据本公开实施例的另一方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令,以实现如上述任一实施方式所述的资源调用方法。
根据本公开实施例的另一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的至少一条指令被电子设备的处理器执行时,使得所述电子设备能够实现上述任一实施方式所述的资源调用方法。
根据本公开实施例的另一方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施方式所述的资源调用方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在确定了缓存资源的目标调用额度的情况下,利用缓存资源在预设周期的时长内的可用时长,确定出任务集合中的各任务分批占用缓存资源的单批调用额度,并根据单批调用额度对缓存资源实施分时调用,实现了将定时任务对缓存资源调用额度均匀分配到整个预设周期的时长中,从而降低了并发的定时任务对缓存资源调用的峰值压力,节省了缓存资源,降低了对涉及到的缓存资源的存储集群的性能要求,降低了资源成本。同时,利用预留系数和预设周期的时长确定在预设周期的时长中的可用时长,实现了对可用时长的可控设置,并在可用时长和预设周期的时长之间能够根据需求充分预留出可用时长以外的空闲时长,以供处理突发状况,对资源调用的稳定运行提供了时间方面的保障。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示意性实施例示出的一种资源调用方法的流程图;
图2是根据一示意性实施例示出的确定单批调用额度的流程图;
图3是根据一示意性实施例示出的确定时长参考值的流程图;
图4是根据一示意性实施例示出的确定预设可用时长的流程图;
图5是一种现有的定时任务执行过程的流程图;
图6是根据一示意性实施例示出的一种资源调用方法的应用场景流程图;
图7是现有的定时任务执行过程和本公开实施例的资源调用方法之间对缓存调用的状态变化比较图;
图8是根据一示意性实施例示出的一种资源调用装置的逻辑结构框图;
图9是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在直播领域,目前直播有很多定时任务,例如奖励的排名需要利用相关的定时任务周期性地对关于奖励的缓存数据进行访问以获取并展示最新的排名信息。大量的定时任务会处理同时在线的直播,定时任务都有执行的周期,每个周期内的大量定时任务都会访问下游的缓存资源。如果在一个执行周期的前半周期提前完成定时任务,则后面半个执行周期中会等待直到周期结束才开始下一次的运行。这种情况下,在一个周期内,大量的定时任务会访问相关的缓存,但定时任务请求缓存的时间并不会进行调整,进而会在短时间内同时发起对下游的请求,导致了在一个周期中的任务开始阶段对缓存造成较大访问压力,并在一个周期的后程阶段由于定时任务的执行完成而不再对缓存进行访问。这种情况下,缓存在满足并发访问的最大峰值的访问量的要求的同时在没有缓存访问的阶段中造成了缓存资源的闲置,造成了资源的浪费,并且,并发访问也对带宽造成了较大的瞬时压力。
有鉴于此,本公开实施例提供一种资源调用方法,能够将定时任务对缓存资源调用额度均匀分配到整个周期时长中,从而降低了并发的定时任务对缓存资源调用的峰值压力,节省了缓存资源,降低了对涉及到的缓存资源的存储集群的性能要求,降低了资源成本。
图1是根据一示意性实施例示出的一种资源调用方法的流程图,参见图1所示,该资源调用方法应用于计算机设备,下面以计算机设备为服务器为例进行说明。
步骤101、获取缓存调用请求,其中,缓存调用请求用于为预设周期内被集中执行的任务集合申请对缓存资源的目标调用额度。
步骤102、基于目标调用额度、以及缓存资源在预设周期内的可用时长,确定用于任务集合中的各任务分批占用缓存资源的单批调用额度。
步骤103、根据单批调用额度,对缓存资源实施分时调用,其中,对缓存资源实施分时调用的持续时长小于等于可用时长。
在一些实施例中,任务集合中的任务为定时任务,任务集合中的各定时任务依据设定的预设周期而触发执行。
在一些实施例中,缓存调用请求可以包含具体的缓存容量值。在此基础上,可以将缓存容量值确定为缓存调用请求所要请求的目标调用额度。
在一些实施例中,对缓存资源实施分时调用的持续时长趋近于可用时长。
在一些实施例中,对缓存资源的调用需要对目标调用额度进行量化的划分,例如对目标调用额度划分为多个设定的分片(例如1000个分片),每一批任务调用一定数量的分片,这样会有利于计算机设备底层逻辑的执行,在这种情况下,根据图2示出的一示意性实施例的确定单批调用额度的流程,步骤102可进一步包括:
步骤1021、将缓存调用请求的目标调用额度划分为预设总量的分片;
步骤1022、根据任务集合中的单批任务对缓存资源的单批占用时长的时长参考值和可用时长,确定对缓存资源实施分时调用的调用次数,其中,调用次数由可用时长相比于时长参考值的倍数确定;
步骤1023、根据预设总量的分片和调用次数,确定单批任务对应的单批分片数量,其中,单批分片数量用于表征单批调用额度。
在一些实施例中,步骤1023中将预设总量的分片与调用次数之比,确定为单批分片数量。
由于缓存调用请求用于为预设周期内被集中执行的任务集合申请对缓存资源的目标调用额度,所以,其中的任务集合是在预设周期内被集中执行的,也就是说,每个预设周期内都将执行一遍任务集合,任务集合的执行是周期性的,在这种情况下,历史周期内执行的任务集合的相关参数对于当前周期内执行的任务集合具有参考作用,基于此,时长参考值可基于历史周期内执行的任务集合的相关参数进行确定。在一些实施例中,根据图3示出的一示意性实施例的确定时长参考值的流程,在步骤1022之前,本公开实施例的资源调用方法还可进一步包括:
步骤301、获取对缓存资源实施分时调用的历史调用数据,历史调用数据包括:对缓存资源的单批占用时长的历史检测值;
步骤302、基于历史检测值,确定时长参考值。
采用上述步骤确定的时长参考值具有历史数据统计意义,所确定的时长参考值更加合理。
在一些实施例中,历史调用数据可以是前一次的调用数据,在这种情况下,上述的获取对缓存资源实施分时调用的历史调用数据,可以具体包括:获取缓存调用请求的前次缓存调用请求对缓存资源实施分时调用的前次调用数据。
在一些实施例中,历史调用数据可以是前若干次的对缓存资源的单批占用时长的历史检测值,在这种情况下,可以取前若干次的历史检测值的平均值,进而,上述步骤302,可以具体包括:获取单批占用时长的多个历史检测值;利用多个历史检测值的平均值,确定时长参考值。
采用上述关于历史调用数据的实施例,可以实现根据执行本公开实施例的计算机设备的状态而对时长参考值进行动态调整,并基于时长参考值的动态调整进一步地对单批任务对应的单批分片数量进行动态调整。
在不同的应用环境之间,具体的周期时长可能存在较大的差异,所以,根据具体的应用环境而直接设定可用时长的大小,无法适用于多种具体的周期时长情况的需求,例如,一旦改变一个具体的周期时长,则很可能需要随之调整可用时长,这就造成了参数设置的繁琐。为避免这一情况,在一些实施例中,在步骤102之前,根据图4示出的一示意性实施例的确定可用时长的流程,在一些实施例中,本公开实施例的资源调用方法,还可进一步包括:
步骤401、获取为缓存资源预先配置的预留系数,其中,预留系数用于表征缓存资源在预设周期的时长内的可用时长占比;
步骤402、利用预设周期的时长、以及预留系数,确定可用时长。
在一些实施例中,步骤402具体可以包括:
将预设周期的时长和预留系数的乘积,确定为可用时长。
在一些实施例中,将预留系数用b表示,将预设周期时长用t表示,则通过步骤402得到的可用时长为t×b。
其中,步骤401和步骤402除了可以在步骤102之前执行以外,也可以在步骤101之前执行或者在步骤101之后执行。
在一些实施例中,将时长参考值用f表示,则在步骤1022中确定的调用次数表示为(t×b)/f。
在一些实施例中,将目标调用额度划分的预设总量的分片表示为A,则在步骤1023中确定的单批分片数量为a=A/[(t×b)/f]。
本公开实施例的资源调用方法,根据为预设周期内被集中执行的任务集合申请的对缓存资源的目标调用额度、以及缓存资源在预设周期内的可用时长,确定出任务集合中的各任务分批占用缓存资源的单批调用额度,进而根据单批调用额度对缓存资源实施分时调用,实现了将任务集合中的定时任务对缓存资源调用额度均匀分配到整个周期时长中,在整个周期时长中利用分时调用的方式实现任务集合对目标调用额度缓存的调用,将任务集合中的各任务分批地在整个周期时长内执行,在这种情况下,本公开实施例中,通过设置的在预设周期的时长内的可用时长,而将任务集合中的各任务在可用时长内执行,为预设周期的时长预留出了缓冲时长,确保了在整个预设周期内任务集合中的所有任务均能够执行完毕。由于任务的执行需要占用一定的时长,采用本公开实施例中的可用时长能够确保任务集合中最后执行的任务至少能够在前一个预设周期结束的时刻之前执行完毕,进而在下一个预设周期开始时,任务集合中的所有任务都能够正常地再次执行而不会和前一个预设周期中尚未完成的任务之间产生冲突。
为了确保任务集合中的各任务执行时所调用的缓存资源能够始终处于较低的水平,以实现任务集合执行时对缓存资源调用所产生的峰值的削尖,达到削峰的目的,本公开实施例中,将任务集合占用的缓存资源的预设总量按照分片进行划分,结合对缓存资源实施分时调用的调用次数确定出单批任务对应的单批分片数量,并在可用时长内根据单批分片数量对缓存资源实施分时调用,实现了对缓存资源调用量的控制,消除了峰值压力,节省了缓存资源。
本公开实施例的资源调用方法,在确定了缓存资源的目标调用额度的情况下,利用缓存资源在预设周期的时长内的可用时长,确定出任务集合中的各任务分批占用缓存资源的单批调用额度,并根据单批调用额度对缓存资源实施分时调用,实现了将定时任务对缓存资源调用额度均匀分配到整个预设周期的时长中,从而降低了并发的定时任务对缓存资源调用的峰值压力,节省了缓存资源,降低了对涉及到的缓存资源的存储集群的性能要求,降低了资源成本。同时,利用预留系数和预设周期的时长确定在预设周期的时长中的可用时长,实现了对可用时长的可控设置,并在可用时长和预设周期的时长之间能够根据需求充分预留出可用时长以外的空闲时长,以供处理突发状况,对资源调用的稳定运行提供了时间方面的保障。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图5是一种现有的定时任务执行过程的流程,参见图5所示,现有的定时任务执行过程的流程包括以下过程。
步骤501、定时任务到达执行时间。
步骤502、响应于到达执行时间,任务1至任务n执行并调用缓存。
其中,任务1至任务n是响应于到达执行时间而并发执行的定时任务,各个任务之间没有相互的关系,各自执行各自的任务,因此,在调用缓存时对缓存的占用会出现较大的瞬时峰值。
步骤503、任务执行完成。
步骤504、等待当前执行周期结束。
在等待过程中,各个定时任务不再调用缓存,在等待期间内缓存的占用下降至最低值。
可见,现有的定时任务执行过程中,在定时任务到达执行时间的触发下,各个定时任务对缓存的集中调用对缓存造成了较大的瞬时压力,而且在执行完成后等待当前执行周期结束的时间内的缓存空闲时间较长,造成了这段时间内的资源浪费。
图6是根据一示意性实施例示出的一种资源调用方法的应用场景流程图,参见图6所示,该过程主要包括以下步骤。
步骤601、定时任务到达执行时间。
步骤602、将目标调用额度均分为1000个分片,并获取时长参考值f。
其中,1000个分片即为目标调用额度划分的预设总量的分片,将目标调用额度均分为1000分片可以事先进行设置。
其中,时长参考值f由历史检测值确定。在一些是实施例中,可以通过前次的预设周期内的任务集合中的单批任务对缓存资源的单批占用时长的多个历史检测值的平均值确定。在一些实施例中,在没有历史检测值的情况下,可通过设置初始值的方式对时长参考值f进行赋值。
步骤603、获取预留系数b,利用预设周期的时长t和预留系数b,确定可用时长。
其中,预留系数b的取值为0<b<1,预留系数b可以事先进行设置,预设周期的时长即为定时任务执行的周期时长。本步骤中,将预设周期的时长t和预留系数b的乘积,确定为可用时长,即可用时长为t×b。
步骤604、根据可用时长和时长参考值f,确定调用次数。
本步骤中,所述调用次数由可用时长t×b相比于时长参考值f的倍数确定,即调用次数为(t×b)/f。
步骤605、根据单批分片数量对缓存资源实施分时调用以执行任务集合中的各个定时任务,其中,单批分片数量为a=1000/[(t×b)/f]。
其中,单批任务对应的单批分片数量为a=1000/[(t×b)/f],每批执行的定时任务的数量依据所调用的单批分片数量a=1000/[(t×b)/f]确定。
步骤605可包括以下由执行服务控制的循环子步骤6051至子步骤6054。
子步骤6051、批量请求缓存中的a个分片。
子步骤6052、执行服务调用相应的缓存执行具体的定时任务。
子步骤6053、定时任务执行完成。
子步骤6054、执行服务确认调用a个分片的定时任务全部执行完成。
其中,子步骤6051至子步骤6054循环执行(t×b)/f次。
步骤606、空闲等待本周期的结束。
本公开实施例的资源调用方法,利用缓存资源在预设周期的时长内的可用时长,确定出任务集合中的各任务分批占用缓存资源的单批调用额度,并根据单批调用额度对缓存资源实施分时调用,实现了将定时任务对缓存资源调用额度均匀分配到整个预设周期的时长中,从而降低了并发的定时任务对缓存资源调用的峰值压力,节省了缓存资源,降低了对涉及到的缓存资源的存储集群的性能要求,降低了资源成本。
图7是现有的定时任务执行过程和本公开实施例的资源调用方法之间对缓存调用的状态变化比较图。其中,在17:30之前采用的现有的定时任务执行方式,在17:30以后是采用本公开实施例的资源调用方法。从图7中17:30之前和17:30以后的两个阶段的对比中能够明显地看出,在采用本公开实施例的资源调用方法之后,定时任务对缓存的请求的峰值被明显削弱,对缓存的压力降低了一个数量级,平稳的使用了所调用的缓存资源。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图8是根据一示意性实施例示出的一种资源调用装置的逻辑结构框图,参见图8所示,该装置包括调用请求获取模块801、调用额度确定模块802和分时调用模块803。
调用请求获取模块801,被配置为执行获取缓存调用请求,其中,缓存调用请求用于为预设周期内被集中执行的任务集合申请对缓存资源的目标调用额度。
调用额度确定模块802,被配置为执行基于目标调用额度、以及缓存资源在预设周期内的可用时长,确定用于任务集合中的各任务分批占用缓存资源的单批调用额度。
分时调用模块803,被配置为执行根据单批调用额度,对缓存资源实施分时调用,其中,对缓存资源实施分时调用的持续时长小于等于可用时长。
在一些实施例中,基于图8的装置组成,该调用额度确定模块802包括:
分片划分子模块,被配置为执行将缓存调用请求的目标调用额度划分为预设总量的分片;
调用次数确定子模块,被配置为执行根据任务集合中的单批任务对缓存资源的单批占用时长的时长参考值和可用时长,确定对缓存资源实施分时调用的调用次数,其中,调用次数由可用时长相比于时长参考值的倍数确定;
分片数量确定子模块,被配置为执行根据预设总量的分片和调用次数,确定单批任务对应的单批分片数量,其中,单批分片数量用于表征单批调用额度。
在一些实施例中,该资源调用装置还可进一步包括:
历史调用数据获取模块,被配置为执行获取对缓存资源实施分时调用的历史调用数据,历史调用数据包括:对缓存资源的单批占用时长的历史检测值;
时长参考值确定模块,被配置为执行基于历史检测值,确定时长参考值。
在一些实施例中,该历史调用数据获取模块进一步被配置为执行:
获取所述缓存调用请求的前次缓存调用请求对所述缓存资源实施分时调用的前次调用数据。
在一些实施例中,该时长参考值确定模块包括:
历史检测值获取子模块,被配置为执行获取单批占用时长的多个历史检测值;
时长参考值确定子模块,被配置为执行利用多个历史检测值的平均值,确定时长参考值。
在一些实施例中,该资源调用装置还包括:
预留系数获取模块,被配置为执行获取为缓存资源预先配置的预留系数,其中,预留系数用于表征缓存资源在预设周期的时长内的可用时长占比;
可用时长确定模块,被配置为执行利用预设周期的时长、以及预留系数,确定可用时长。
在一些实施例中,该可用时长确定模块进一步被配置为执行:
将预设周期的时长和预留系数的乘积,确定为可用时长。
本公开实施例的资源调用装置,在确定了缓存资源的目标调用额度的情况下,利用缓存资源在预设周期的时长内的可用时长,确定出任务集合中的各任务分批占用缓存资源的单批调用额度,并根据单批调用额度对缓存资源实施分时调用,实现了将定时任务对缓存资源调用额度均匀分配到整个预设周期的时长中,从而降低了并发的定时任务对缓存资源调用的峰值压力,节省了缓存资源,降低了对涉及到的缓存资源的存储集群的性能要求,降低了资源成本。同时,利用预留系数和预设周期的时长确定在预设周期的时长中的可用时长,实现了对可用时长的可控设置,并在可用时长和预设周期的时长之间能够根据需求充分预留出可用时长以外的空闲时长,以供处理突发状况,对资源调用的稳定运行提供了时间方面的保障。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
关于上述实施例中的资源调用装置,其中各个单元执行操作的具体方式已经在有关该资源调用方法的实施例中进行了详细描述,此处将不作详细阐述说明。
需要说明的是:上述实施例仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
图9是本公开实施例提供的一种电子设备的结构示意图。在一些实施例中,该电子设备为服务器。该电子设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)901和一个或一个以上的存储器902,其中,该存储器902中存储有至少一条程序代码,该至少一条程序代码由该处理器901加载并执行以实现上述各个实施例提供的资源调用方法。当然,该电子设备900还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备900还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括至少一条指令的计算机可读存储介质,例如包括至少一条指令的存储器,上述至少一条指令可由计算机设备中的处理器执行以完成上述实施例中的资源调用方法。
可选地,上述计算机可读存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由计算机设备的处理器执行,以完成上述各个实施例提供的资源调用方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种资源调用方法,其特征在于,包括:
获取缓存调用请求,其中,所述缓存调用请求用于为预设周期内被集中执行的任务集合申请对缓存资源的目标调用额度;
基于所述目标调用额度、以及所述缓存资源在所述预设周期内的可用时长,确定用于所述任务集合中的各任务分批占用所述缓存资源的单批调用额度;
根据所述单批调用额度,对所述缓存资源实施分时调用,其中,对所述缓存资源实施分时调用的持续时长小于等于所述可用时长。
2.根据权利要求1所述的资源调用方法,其特征在于,所述基于所述目标调用额度、以及所述缓存资源在所述预设周期内的可用时长,确定用于所述任务集合中的各任务分批占用所述缓存资源的单批调用额度,包括:
将所述缓存调用请求的所述目标调用额度划分为预设总量的分片;
根据所述任务集合中的单批任务对所述缓存资源的单批占用时长的时长参考值和所述可用时长,确定对所述缓存资源实施分时调用的调用次数,其中,所述调用次数由所述可用时长相比于所述时长参考值的倍数确定;
根据所述预设总量的分片和所述调用次数,确定所述单批任务对应的单批分片数量,其中,所述单批分片数量用于表征所述单批调用额度。
3.根据权利要求2所述的资源调用方法,其特征在于,所述根据所述任务集合中的单批任务对所述缓存资源的单批占用时长的时长参考值和所述可用时长,确定对所述缓存资源实施分时调用的调用次数之前,所述资源调用方法还包括:
获取对所述缓存资源实施分时调用的历史调用数据,所述历史调用数据包括:对所述缓存资源的单批占用时长的历史检测值;
基于所述历史检测值,确定所述时长参考值。
4.根据权利要求3所述的资源调用方法,其特征在于,所述获取对所述缓存资源实施分时调用的历史调用数据,包括:
获取所述缓存调用请求的前次缓存调用请求对所述缓存资源实施分时调用的前次调用数据。
5.根据权利要求3所述的资源调用方法,其特征在于,所述基于所述历史检测值,确定所述时长参考值,包括:
获取所述单批占用时长的多个所述历史检测值;
利用所述多个历史检测值的平均值,确定所述时长参考值。
6.根据权利要求1所述的资源调用方法,其特征在于,所述基于所述目标调用额度、以及所述缓存资源在所述预设周期内的可用时长,确定用于所述任务集合中的各任务分批占用所述缓存资源的单批调用额度之前,所述资源调用方法还包括:
获取为所述缓存资源预先配置的预留系数,其中,所述预留系数用于表征所述缓存资源在所述预设周期的时长内的可用时长占比;
利用所述预设周期的时长、以及所述预留系数,确定所述可用时长。
7.一种资源调用装置,其特征在于,包括:
调用请求获取模块,被配置为执行获取缓存调用请求,其中,所述缓存调用请求用于为预设周期内被集中执行的任务集合申请对缓存资源的目标调用额度;
调用额度确定模块,被配置为执行基于所述目标调用额度、以及所述缓存资源在所述预设周期内的可用时长,确定用于所述任务集合中的各任务分批占用所述缓存资源的单批调用额度;
分时调用模块,被配置为执行根据所述单批调用额度,对所述缓存资源实施分时调用,其中,对所述缓存资源实施分时调用的持续时长小于等于所述可用时长。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令,以实现如权利要求1至6任一项所述的资源调用方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的至少一条指令被电子设备的处理器执行时,使得所述电子设备能够实现如权利要求1至6任一项所述的资源调用方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的资源调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210482539.XA CN114880118A (zh) | 2022-05-05 | 2022-05-05 | 资源调用方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210482539.XA CN114880118A (zh) | 2022-05-05 | 2022-05-05 | 资源调用方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114880118A true CN114880118A (zh) | 2022-08-09 |
Family
ID=82674059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210482539.XA Pending CN114880118A (zh) | 2022-05-05 | 2022-05-05 | 资源调用方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114880118A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222116A (zh) * | 2019-05-07 | 2019-09-10 | 北京奇艺世纪科技有限公司 | 一种交易数据存储的控制方法、装置及存储介质 |
US10824474B1 (en) * | 2017-11-14 | 2020-11-03 | Amazon Technologies, Inc. | Dynamically allocating resources for interdependent portions of distributed data processing programs |
CN111930479A (zh) * | 2020-06-22 | 2020-11-13 | 北京视博云信息技术有限公司 | 一种资源的调度方法、装置、可读存储介质及设备 |
CN112948113A (zh) * | 2021-03-01 | 2021-06-11 | 上海微盟企业发展有限公司 | 一种集群资源管理调度方法、装置、设备及可读存储介质 |
-
2022
- 2022-05-05 CN CN202210482539.XA patent/CN114880118A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824474B1 (en) * | 2017-11-14 | 2020-11-03 | Amazon Technologies, Inc. | Dynamically allocating resources for interdependent portions of distributed data processing programs |
CN110222116A (zh) * | 2019-05-07 | 2019-09-10 | 北京奇艺世纪科技有限公司 | 一种交易数据存储的控制方法、装置及存储介质 |
CN111930479A (zh) * | 2020-06-22 | 2020-11-13 | 北京视博云信息技术有限公司 | 一种资源的调度方法、装置、可读存储介质及设备 |
CN112948113A (zh) * | 2021-03-01 | 2021-06-11 | 上海微盟企业发展有限公司 | 一种集群资源管理调度方法、装置、设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
LI DONG-YANG; LIU PENG; DING KE; TIAN LANG-JUN: ""Distributed Cache Strategy in Cloud Storage Based on Solid State Disk"", 《 COMPUTER ENGINEERING》, 20 March 2014 (2014-03-20) * |
刘玉: ""基于性能监测硬件支持的片上缓存资源管理技术"", 《中国博士学位论文全文数据库 (信息科技辑)》, 15 October 2013 (2013-10-15), pages 137 - 7 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919449B (zh) | 一种计算任务的调度控制方法及电子设备 | |
CN106897299B (zh) | 一种数据库访问方法及装置 | |
CN113419846B (zh) | 资源配置方法和装置、电子设备及计算机可读存储介质 | |
CN110659131A (zh) | 任务处理方法、电子装置、计算机设备及存储介质 | |
CN111858200B (zh) | 系统测试中的吞吐量控制方法、装置及电子设备 | |
CN111124674B (zh) | 一种硬件资源的管理方法、存储介质及终端 | |
CN112817722A (zh) | 一种基于优先级的分时调度方法、终端及存储介质 | |
CN112650541B (zh) | 一种应用程序启动加速方法、系统、设备及存储介质 | |
CN112559176B (zh) | 一种指令处理方法和装置 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN111913792B (zh) | 一种业务处理方法和装置 | |
CN114816709A (zh) | 任务调度方法、装置、服务器及可读存储介质 | |
CN113268310B (zh) | 一种Pod资源配额调整方法、装置、电子设备及存储介质 | |
CN114490048A (zh) | 任务执行方法、装置、电子设备及计算机存储介质 | |
CN111294377A (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN111355751A (zh) | 任务调度方法及装置 | |
CN111240824A (zh) | 一种cpu资源调度方法及电子设备 | |
CN114880118A (zh) | 资源调用方法、装置、电子设备及存储介质 | |
CN110175078B (zh) | 业务处理方法及装置 | |
CN111314249A (zh) | 一种5g数据转发平面的避免数据包丢失的方法和服务器 | |
CN111478933A (zh) | 应用集群数据预加载方法、装置、存储介质、设备及系统 | |
CN113342466A (zh) | 一种基于Kubernetes云原生容器可变启动资源限制的方法及其系统 | |
CN112395063A (zh) | 一种动态多线程调度方法及系统 | |
CN109062702B (zh) | 一种计算资源分配方法、相关装置及可读存储介质 | |
CN112445618A (zh) | 多服务器集群任务分配方法、装置、设备及可读存储介质 |
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 |