CN111754117B - 任务下发方法、装置、电子设备及存储介质 - Google Patents
任务下发方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111754117B CN111754117B CN202010591569.5A CN202010591569A CN111754117B CN 111754117 B CN111754117 B CN 111754117B CN 202010591569 A CN202010591569 A CN 202010591569A CN 111754117 B CN111754117 B CN 111754117B
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- capacity
- storage
- current
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000008602 contraction Effects 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 17
- 230000001965 increasing effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 3
- 238000002716 delivery method Methods 0.000 claims 5
- 230000004044 response Effects 0.000 claims 2
- 239000002699 waste material Substances 0.000 abstract description 13
- 238000007726 management method Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 241000508269 Psidium Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Educational Administration (AREA)
- Technology Law (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种任务下发方法、装置、电子设备及存储介质,所述方法包括:获取多个任务生产者生产的任务及每个所述任务待处理的任务量,确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外,若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容,可以将多个所述任务下发至扩容/缩容后的任务存储资源中。本发明实施例能够根据多个任务待处理的任务总量确定当前任务存储资源是不足还是过剩,进而在当前任务存储资源不足时进行扩容,提高任务处理速度,便于用户使用,在当前任务存储资源过剩时进行缩容,可以对过剩的资源进行回收,减少资源浪费。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种任务下发方法、装置、电子设备及存储介质。
背景技术
随着银行的业务发展、互联网技术的发展、社会消费的不断升级以及业务的复杂程度越来越高,依赖传统线下的交易方式已经无法满足现在的需求。同时,也随着银行、公司业务与互联网之间的融合不断提高,基于互联网的交易已经逐渐成为主流。
目前,不同的互联网业务***(如etc、闪付、信贷还款、退款等)建立有自己的异步任务,并且依赖于业务***自己的数据库来实现。
在实现本发明的过程中,发明人发现:在某些任务下发需求非常大的应用场景(如大规模促销活动期间)与平时一般任务下发需求的应用场景(如非大规模促销活动期间),任务下发的数据量可能会相差数百倍、甚至上千倍,对于这种任务数据时多时少的情况,如果初始分配的资源多则可能存在浪费,如果初始分配的资源少则可能会不够用,影响用户的使用。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种任务下发方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种任务下发方法,所述方法包括:
获取多个任务生产者生产的任务及每个所述任务待处理的任务量;
确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外;
若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容;
将多个所述任务下发至扩容/缩容后的任务存储资源中。
可选的,根据所述任务总量对当前任务存储资源进行扩容/缩容,包括:
若所述任务总量小于所述容量范围的较小阈值,对当前任务存储资源进行缩容;
若所述任务总量大于所述容量范围的较大阈值,对当前任务存储资源进行扩容。
可选的,所述任务存储资源包括:多个任务存储单元,每个任务存储单元中包括多个任务存储表,对当前任务存储资源进行扩容,包括:
采用对所述任务存储单元进行扩容、对所述任务存储表进行扩容及增加所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行扩容;
对当前任务存储资源进行缩容,包括:
采用对所述任务存储单元进行缩容、对所述任务存储表进行缩容及减少所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行缩容。
可选的,所述方法还包括:
监测所述任务存储资源中是否存在任一所述任务将待处理的业务逻辑处理完毕;
若所述任务存储资源中存在任一所述任务将待处理的业务逻辑处理完毕,利用任务消费者消费所述任务。
可选的,在利用任务消费者消费所述任务之前,所述方法还包括:
获取任务消费者的数量;
基于所述任务总量及所述任务消费者的数量计算每个任务消费者待处理的平均任务量;
若所述平均任务量大于预设限流阈值,利用本地式令牌桶限流器进行限流;
若所述平均任务量小于预设限流阈值,利用分布式令牌桶限流器进行限流;
将所述任务下发给所述任务消费者。
可选的,每个任务存储表对应一种任务类型,将多个所述任务下发至扩容/缩容后的任务存储资源中,包括:
针对每个任务,获取所述任务对应的任务类型,所述任务的任务类型根据用于生产所述任务的任务生产者的类型确定;
在多个任务存储单元中随机选择目标存储单元,并在所述目标存储单元的任务存储表中按照所述任务类型随机选择目标存储表;
将所述任务下发至所述目标存储表中。
可选的,所述方法还包括:
在将所述任务下发至所述目标存储表中时,若接收到代表下发失败的返回值,重新执行将所述任务下发至扩容/缩容后的任务存储资源的步骤,直至下发成功。
第二方面,本申请实施例提供了一种任务下发装置,所述装置包括:
获取模块,用于获取多个任务生产者生产的任务及每个所述任务待处理的任务量;
确定模块,用于确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外;
扩容/缩容模块,用于若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容;
第一下发模块,用于将多个所述任务下发至扩容/缩容后的任务存储资源中。
可选的,所述扩容/缩容模块,包括:
扩容单元,用于若所述任务总量小于所述容量范围的较小阈值,对当前任务存储资源进行扩容;
缩容单元,用于若所述任务总量大于所述容量范围的较大阈值,对当前任务存储资源进行缩容。
可选的,所述任务存储资源包括:多个任务存储单元,每个任务存储单元中包括多个任务存储表,所述扩容单元,还用于:
采用对所述任务存储单元进行扩容、对所述任务存储表进行扩容及增加所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行扩容;
所述缩容单元,还用于:
采用对所述任务存储单元进行缩容、对所述任务存储表进行缩容及减少所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行缩容。
可选的,所述装置还包括:
检测模块,用于监测所述任务存储资源中是否存在任一所述任务将待处理的业务逻辑处理完毕;
消费模块,用于若所述任务存储资源中存在任一所述任务将待处理的业务逻辑处理完毕,利用任务消费者消费所述任务。
可选的,在所述消费模块之前,所述装置还包括:
比较模块,用于针对每个任务,将每个所述任务待处理的任务量与预设限流阈值比较;
第一限流模块,用于若所述任务量大于预设限流阈值,利用本地式令牌桶限流器进行限流;
第二限流模块,用于若所述任务量小于预设限流阈值,利用分布式令牌桶限流器进行限流;
第二下发模块,用于将所述任务下发给所述任务消费者。
可选的,每个任务存储表对应一种任务类型,所述第一下发模块,包括:
获取单元,用于针对每个任务,获取所述任务对应的任务类型,所述任务的任务类型根据用于生产所述任务的任务生产者的类型确定;
选择单元,用于在多个任务存储单元中随机选择目标存储单元,并在所述目标存储单元的任务存储表中按照所述任务类型随机选择目标存储表;
下发单元,用于将所述任务下发至所述目标存储表中。
可选的,所述装置还包括:
重新下发模块,用于在将所述任务下发至所述目标存储表中时,若接收到代表下发失败的返回值,重新执行将所述任务下发至扩容/缩容后的任务存储资源的步骤,直至下发成功。
第三方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的任务下发方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有任务下发方法的程序,所述任务下发方法的程序被处理器执行时实现第一方面任一所述的任务下发方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本发明实施例通过获取多个任务生产者生产的任务及每个所述任务待处理的任务量,确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外,若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容,可以将多个所述任务下发至扩容/缩容后的任务存储资源中。
本发明实施例能够根据多个任务待处理的任务总量确定当前任务存储资源是不足还是过剩,进而在当前任务存储资源不足时进行扩容,提高任务处理速度,便于用户使用,在当前任务存储资源过剩时进行缩容,可以对过剩的资源进行回收,减少资源浪费。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种任务管理平台的结构图;
图2为本申请实施例提供的一种任务下发方法的一种流程图;
图3为本申请实施例提供的一种任务下发方法的另一种流程图;
图4为本申请实施例提供的一种任务下发方法的另一种流程图;
图5为本申请实施例提供的一种任务在任务管理下发的原理示意图;
图6为本申请实施例提供的一种任务下发方法的结构图;
图7为本申请实施例提供的一种电子设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于在某些任务下发需求非常大的应用场景(如大规模促销活动期间)与平时一般任务下发需求的应用场景(如非大规模促销活动期间),任务下发的数据量可能会相差数百倍、甚至上千倍,对于这种任务数据时多时少的情况,如果初始分配的资源多则可能存在浪费,如果初始分配的资源少则可能会不够用,影响用户的使用。为此,本发明实施例提供了一种任务下发方法、装置、电子设备及存储介质,所述任务下发方法可以应用于任务管理平台中,如图1所示,所述任务管理平台包括:多个任务创建者(Producer)、多个任务消费者(Consumer)和多个任务存储单元(Group),每个任务存储单元中包括多个任务存储表(Table),每个任务创建者创建的任务的任务类型不同,每个任务消费者消费的任务的任务类型不同,任务类型(taskType)是任务平台中任务的区分方式,不同的任务,任务类型不一样,通过构建任务管理平台,可以避免业务***重复的进行任务处理逻辑的开发工作,而且大大缩短了新业务的交付周期。
如图2所示,所述任务下发方法可以包括以下步骤:
步骤S101,获取多个任务生产者生产的任务及每个所述任务待处理的任务量;
本发明实施例中,在接收到业务***发送的业务处理请求时,任务生产者可以响应于业务处理请求,生成相应的任务,生成的任务用于处理业务处理请求请求处理的业务处理逻辑。
在该步骤中,可以获取单位时间内多个任务生产者生产的任务,根据每个任务待处理的业务处理逻辑确定每个任务待处理的任务量,获取每个任务待处理的任务量。
步骤S102,确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外;
其中,任务管理平台的当前任务存储资源可以指任务管理平台当前具有的用于存储任务的资源,如:任务存储单元及任务存储单元内的任务存储表等,容量范围可以根据任务管理平台的当前任务存储资源的最优存储容量的范围确定,例如,容量范围的较大阈值可以根据当前任务存储资源的最大值确定,容量范围的较小阈值可以根据当前任务存储资源的一定比例确定,如75%、85%等等。
在该步骤中,可以首先计算获取到的多个任务待处理的任务量的和,得到任务总量,然后获取任务管理平台当前的任务存储资源,获取与当前任务存储资源对应的容量范围,将任务总量分别与容量范围的较小阈值和较大阈值比较,若任务总量小于容量范围的较小阈值或者任务总量大于容量范围的较大阈值,则确定任务总量位于当前任务存储资源对应的容量范围外。
步骤S103,若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容;
在该步骤中,可以根据任务总量对当前任务存储资源进行扩容/缩容,也就是说,若任务总量较多,表明当前存储资源不够用,为了避免资源不够用,给用户使用带来不变,此时可以对当前任务存储资源进行扩容,即扩大当前任务存储资源的容量;若任务量较少,表明当前存储资源过剩,可能存在浪费,为了避免资源浪费,此时可以对当前任务存储资源进行缩容,即缩小当前任务存储资源的容量。
步骤S104,将多个所述任务下发至扩容/缩容后的任务存储资源中。
多个任务被下发至任务存储资源中后,由任务存储资源对多个任务进行存储,之后任务可以处理相应的业务处理逻辑。
本发明实施例通过获取多个任务生产者生产的任务及每个所述任务待处理的任务量,确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外,若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容,可以将多个所述任务下发至扩容/缩容后的任务存储资源中。
本发明实施例能够根据多个任务待处理的任务总量确定当前任务存储资源是不足还是过剩,进而在当前任务存储资源不足时进行扩容,提高任务处理速度,便于用户使用,在当前任务存储资源过剩时进行缩容,可以对过剩的资源进行回收,减少资源浪费。
基于前述实施例,在本发明的又一实施例中,所述步骤S103可以包括:
若所述任务总量小于所述容量范围的较小阈值,对当前任务存储资源进行缩容;
若所述任务总量大于所述容量范围的较大阈值,对当前任务存储资源进行扩容。
在该步骤中,若所述任务总量大于所述容量范围的较小阈值,表明当前存储资源不够用,为了避免资源不够用,给用户使用带来不变,此时可以对当前任务存储资源进行扩容,即扩大当前任务存储资源的容量;若所述任务总量小于所述容量范围的较大阈值,表明当前存储资源过剩,可能存在浪费,为了避免资源浪费,此时可以对当前任务存储资源进行缩容,即缩小当前任务存储资源的容量。
示例性的,若任务总量为500,容量范围为800-1000,500小于较小阈值800,则可以对当前任务存储资源进行缩容;若任务总量为1200,容量范围为800-1000,1200大于较大阈值1000,则可以对当前任务存储资源进行扩容。
本发明实施例能够在任务总量小于容量范围的较小阈值时,对当前任务存储资源进行缩容,在任务总量大于容量范围的较大阈值时,对当前任务存储资源进行扩容,在当前任务存储资源不足时进行扩容,提高任务处理速度,便于用户使用,在当前任务存储资源过剩时进行缩容,可以对过剩的资源进行回收,减少资源浪费。
在本发明的又一实施例中,所述任务存储资源包括:多个任务存储单元,每个任务存储单元中包括多个任务存储表,对当前任务存储资源进行扩容,包括:
采用对所述任务存储单元进行扩容、对所述任务存储表进行扩容及增加所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行扩容;
本发明实施例中,对任务存储单元进行扩容可以指扩大任务存储单元的容量,这样任务存储单元可以容纳更多任务存储表,对任务存储表进行扩容可以指扩大任务存储表的容量,这样,任务存储表可以容纳更多的任务,增加任务存储单元的数量,这样可以增多任务存储表的数量,进而可以容纳更多的任务。
对当前任务存储资源进行缩容,包括:
采用对所述任务存储单元进行缩容、对所述任务存储表进行缩容及减少所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行缩容。
本发明实施例中,对任务存储单元进行缩容可以指减小任务存储单元的容量,这样任务存储单元可以容纳更少的任务存储表,对任务存储表进行缩容可以指缩小任务存储表的容量,这样,任务存储表可以容纳更少的任务,减少任务存储单元的数量,这样可以减少任务存储表的数量,进而可以容纳更少的任务。
本发明实施例能够在当前任务存储资源不足时进行扩容,提高任务处理速度,便于用户使用,在当前任务存储资源过剩时进行缩容,可以对过剩的资源进行回收,减少资源浪费。
在本发明的又一实施例中,所述方法还包括:
监测所述任务存储资源中是否存在任一所述任务将待处理的业务逻辑处理完毕;
若所述任务存储资源中存在任一所述任务将待处理的业务逻辑处理完毕,利用任务消费者消费所述任务。
本发明实施例在任务将待处理的业务逻辑处理完毕时,可以利用任务消费者消费任务,避免任务继续占用任务存储资源,造成资源浪费。
为了出于对业务***的保护,任务在下发时,为避免同时将大量任务下发给任务消费者,而任务消费者的缓冲区的存储空间有限,导致的下游消费者会丢弃新到达的任务的问题,或者,为了不丢弃数据,下游消费者的缓冲区持续扩张,最后耗尽任务消费者所在主机的内存资源,程序挂掉的问题,下发给任务消费者(Consumer)前需要进行流控处理,在本发明的又一实施例中,在利用任务消费者消费所述任务之前,如图3所示,所述方法还包括:
步骤S201,获取任务消费者的数量;
步骤S202,基于所述任务总量及所述任务消费者的数量计算每个任务消费者待处理的平均任务量;
在本发明实施例中,平均任务量=任务总量/任务消费者的数量,预设限流阈值可以为1。
示例性的,若任务总量为100,任务消费者的数量为200,则平均任务量为0.5<1,则可以将流控作为小限流任务;若任务总量为1000,任务消费者的数量为200,平均任务量为5>1,则可以将流控作为小限流任务。
步骤S203,若所述平均任务量大于预设限流阈值,利用本地式令牌桶限流器进行限流;在本发明实施例中,本地式令牌桶限流器可以通过Guava实现。
步骤S204,若所述平均任务量小于预设限流阈值,利用分布式令牌桶限流器进行限流;在本发明实施例中,分布式令牌桶限流器可以通过redis+lua实现。
步骤S205,将所述任务下发给所述任务消费者。
通过本发明实施例,可以在将任务下发给任务消费者进行消费之前,对任务进行限流,以避免过多的任务对任务消费者造成巨大压力,导致***宕机。
在本发明的又一实施例中,每个任务存储表对应一种任务类型,如图4所示,将多个所述任务下发至扩容/缩容后的任务存储资源中,包括:
步骤S301,针对每个任务,获取所述任务对应的任务类型;
在本发明实施例中,所述任务的任务类型根据用于生产所述任务的任务生产者的类型确定;
在该步骤中,可以获取用于生产所述任务的任务生产者的类型,将获取到的类型确定为任务类型。
步骤S302,在多个任务存储单元中随机选择目标存储单元,并在所述目标存储单元的任务存储表中按照所述任务类型随机选择目标存储表;
在该步骤中,可以在多个任务存储单元中随机选择一个任务存储单元作为目标存储单元,再在目标存储单元所包含的多个任务存储表中查找与该任务的任务类型匹配的若干个任务存储表,再在若干个任务存储表中随机选择一个任务存储表作为目标存储表。
步骤S303,将所述任务下发至所述目标存储表中。
不同任务生产者生产的任务其下发路径可以如图5所示,在任务执行完毕相应的业务处理逻辑后,会按照任务类型下发至相应的任务消费者,由任务消费者进行消费。这样,就可以给每个任务分配不同的存储单元(Group)及存储表(Table)了,并且随时可以根据任务的流量来扩容及缩容存储单元及存储表;同时,整个任务平台的存储单元的数量也可以随时增加和减少,这样在大促过后就可以将过剩的资源缩容回收了,大大的降低了资源的浪费情况。
本发明实施例能够在自动根据任务总量进行扩容/缩容后,自动将任务下发至扩容/缩容后的任务存储资源中,完成任务的下发,实现无论任务总量的多或者少,均保证任务下发过程的流畅进行,提升了业务的交付能力,达到降本增效的目的。
在保证业务的正常运行的基础上,平台还提供了一些增值服务,所以,在本发明的又一实施例中,所述方法还包括:
在将所述任务下发至所述目标存储表中时,若接收到代表下发失败的返回值,重新执行将所述任务下发至扩容/缩容后的任务存储资源的步骤,直至下发成功,或者将所述任务下发预设次数后,如果仍然下发失败,发出错误提示。
在本发明实施例中,可以预先配置各种重试策略,对于失败的任务自动进行重试;同时,也可以在管理后台手动逐笔或批量重试。
另外,除重试功能外,本发明的又一实施例中,所述方法还包括:在任务创建及任务下发环节中还可以对任务分别进行监控,任务的流量、处理性能等实时监控。
本发明的又一实施例中,所述方法还包括:在监控的基础上可以配置报警阀值,比如A任务积压报警阀值配置为100时,当A任务积压到100或以上时,会自动报警给任务相关人;还有比如任务处理性能报警、TPS报警等。
本发明的又一实施例中,所述方法还包括:对于随着业务的推进,不再需要的任务可以支持拦截,还没有执行的任务,可以支持拦截执行,任务状态修改为终止,不再下发;已经执行完成的任务无法拦截。
本发明的又一实施例中,所述方法还包括:平台会根据任务的执行结果,按周出统计报表,每周发给任务相关人员,提升项目组对于任务的执行情况的认知。
本发明的又一实施例中,所述方法还包括:对暂时不需要或下级***有问题的任务支持暂停处理设置,给下级任务处理***一些时间修复,修复好再开启。
在本发明的又一实施例中,还提供一种任务下发装置,如图6所示,所述装置包括:
获取模块11,用于获取多个任务生产者生产的任务及每个所述任务待处理的任务量;
确定模块12,用于确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外;
扩容/缩容模块13,用于若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容;
第一下发模块14,用于将多个所述任务下发至扩容/缩容后的任务存储资源中。
本发明实施例通过获取多个任务生产者生产的任务及每个所述任务待处理的任务量,确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外,若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容,可以将多个所述任务下发至扩容/缩容后的任务存储资源中。
本发明实施例能够根据多个任务待处理的任务总量确定当前任务存储资源是不足还是过剩,进而在当前任务存储资源不足时进行扩容,提高任务处理速度,便于用户使用,在当前任务存储资源过剩时进行缩容,可以对过剩的资源进行回收,减少资源浪费。
在本发明的又一实施例中,可选的,所述扩容/缩容模块,包括:
扩容单元,用于若所述任务总量小于所述容量范围的较小阈值,对当前任务存储资源进行扩容;
缩容单元,用于若所述任务总量大于所述容量范围的较大阈值,对当前任务存储资源进行缩容。
可选的,所述任务存储资源包括:多个任务存储单元,每个任务存储单元中包括多个任务存储表,所述扩容单元,还用于:
采用对所述任务存储单元进行扩容、对所述任务存储表进行扩容及增加所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行扩容;
所述缩容单元,还用于:
采用对所述任务存储单元进行缩容、对所述任务存储表进行缩容及减少所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行缩容。
可选的,所述装置还包括:
检测模块,用于监测所述任务存储资源中是否存在任一所述任务将待处理的业务逻辑处理完毕;
消费模块,用于若所述任务存储资源中存在任一所述任务将待处理的业务逻辑处理完毕,利用任务消费者消费所述任务。
可选的,在所述消费模块之前,所述装置还包括:
比较模块,用于针对每个任务,将每个所述任务待处理的任务量与预设限流阈值比较;
第一限流模块,用于若所述任务量大于预设限流阈值,利用本地式令牌桶限流器进行限流;
第二限流模块,用于若所述任务量小于预设限流阈值,利用分布式令牌桶限流器进行限流;
第二下发模块,用于将所述任务下发给所述任务消费者。
可选的,每个任务存储表对应一种任务类型,所述第一下发模块,包括:
获取单元,用于针对每个任务,获取所述任务对应的任务类型,所述任务的任务类型根据用于生产所述任务的任务生产者的类型确定;
选择单元,用于在多个任务存储单元中随机选择目标存储单元,并在所述目标存储单元的任务存储表中按照所述任务类型随机选择目标存储表;
下发单元,用于将所述任务下发至所述目标存储表中。
可选的,所述装置还包括:
重新下发模块,用于在将所述任务下发至所述目标存储表中时,若下发失败,重新执行将所述任务下发至扩容/缩容后的任务存储资源的步骤,直至下发成功。
在本发明的又一实施例中,还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现前述方法实施例所述的任务下发方法。
本发明实施例提供的电子设备,处理器通过执行存储器上所存放的程序实现了获取多个任务生产者生产的任务及每个所述任务待处理的任务量,确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外,若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容,可以将多个所述任务下发至扩容/缩容后的任务存储资源中。保证能够根据多个任务待处理的任务总量确定当前任务存储资源是不足还是过剩,进而在当前任务存储资源不足时进行扩容,提高任务处理速度,便于用户使用,在当前任务存储资源过剩时进行缩容,可以对过剩的资源进行回收,减少资源浪费。
上述电子设备提到的通信总线1140可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述电子设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器1110可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明的又一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有任务下发方法的程序,所述任务下发方法的程序被处理器执行时实现前述方法实施例所述的任务下发方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种任务下发方法,其特征在于,所述方法包括:
获取多个任务生产者生产的任务及每个所述任务待处理的任务量,所述任务是在接收到业务***发送的业务处理请求时,任务生产者响应于所述业务处理请求而生成的,所述任务用于处理业务处理请求所请求处理的业务处理逻辑,所述任务量是根据每个任务待处理的业务处理逻辑确定的;
确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外;
若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容;
将多个所述任务下发至扩容/缩容后的任务存储资源中。
2.根据权利要求1所述的任务下发方法,其特征在于,根据所述任务总量对当前任务存储资源进行扩容/缩容,包括:
若所述任务总量小于所述容量范围的较小阈值,对当前任务存储资源进行缩容;
若所述任务总量大于所述容量范围的较大阈值,对当前任务存储资源进行扩容。
3.根据权利要求2所述的任务下发方法,其特征在于,所述任务存储资源包括:多个任务存储单元,每个任务存储单元中包括多个任务存储表,对当前任务存储资源进行扩容,包括:
采用对所述任务存储单元进行扩容、对所述任务存储表进行扩容及增加所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行扩容;
对当前任务存储资源进行缩容,包括:
采用对所述任务存储单元进行缩容、对所述任务存储表进行缩容及减少所述任务存储单元的数量中的至少一种方式对当前任务存储资源进行缩容。
4.根据权利要求1所述的任务下发方法,其特征在于,在利用任务消费者消费所述任务之前,所述方法还包括:
获取任务消费者的数量;
基于所述任务总量及所述任务消费者的数量计算每个任务消费者待处理的平均任务量;
若所述平均任务量大于预设限流阈值,利用本地式令牌桶限流器进行限流;
若所述平均任务量小于预设限流阈值,利用分布式令牌桶限流器进行限流;
将所述任务下发给所述任务消费者。
5.根据权利要求1所述的任务下发方法,其特征在于,每个任务存储表对应一种任务类型,将多个所述任务下发至扩容/缩容后的任务存储资源中,包括:
针对每个任务,获取所述任务对应的任务类型,所述任务的任务类型根据用于生产所述任务的任务生产者的类型确定;
在多个任务存储单元中随机选择目标存储单元,并在所述目标存储单元的任务存储表中按照所述任务类型随机选择目标存储表;
将所述任务下发至所述目标存储表中。
6.根据权利要求5所述的任务下发方法,其特征在于,所述方法还包括:
在将所述任务下发至所述目标存储表中时,若接收到代表下发失败的返回值,重新执行将所述任务下发至扩容/缩容后的任务存储资源的步骤。
7.一种任务下发装置,其特征在于,所述装置包括:
获取模块,用于获取多个任务生产者生产的任务及每个所述任务待处理的任务量,所述任务是在接收到业务***发送的业务处理请求时,任务生产者响应于所述业务处理请求而生成的,所述任务用于处理业务处理请求请求处理的业务处理逻辑,所述任务量是根据每个任务待处理的业务处理逻辑确定的;
确定模块,用于确定多个所述任务待处理的任务总量是否位于当前任务存储资源对应的容量范围外;
扩容/缩容模块,用于若所述任务总量位于所述容量范围外,根据所述任务总量对当前任务存储资源进行扩容/缩容;
第一下发模块,用于将多个所述任务下发至扩容/缩容后的任务存储资源中。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1~6任一所述的任务下发方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有任务下发方法的程序,所述任务下发方法的程序被处理器执行时实现权利要求1-6任一所述的任务下发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591569.5A CN111754117B (zh) | 2020-06-24 | 2020-06-24 | 任务下发方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591569.5A CN111754117B (zh) | 2020-06-24 | 2020-06-24 | 任务下发方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111754117A CN111754117A (zh) | 2020-10-09 |
CN111754117B true CN111754117B (zh) | 2024-06-21 |
Family
ID=72677312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010591569.5A Active CN111754117B (zh) | 2020-06-24 | 2020-06-24 | 任务下发方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111754117B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463076B (zh) * | 2020-12-14 | 2023-07-21 | 广东智慧青少年宫教育发展有限公司 | 一种数据导出方法、计算机设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399262A (zh) * | 2018-03-14 | 2018-08-14 | 北京思特奇信息技术股份有限公司 | 一种数据库扩容方法及*** |
CN108733476A (zh) * | 2017-04-20 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种执行多任务的方法和装置 |
US10120582B1 (en) * | 2016-03-30 | 2018-11-06 | Amazon Technologies, Inc. | Dynamic cache management in storage devices |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572684B (zh) * | 2013-10-17 | 2018-12-28 | 深圳市腾讯计算机***有限公司 | 数据存储***的容量调整方法、装置及数据存储*** |
CN109842565B (zh) * | 2018-12-15 | 2023-03-28 | 平安科技(深圳)有限公司 | 接口限流方法、装置、电子设备及存储介质 |
CN109885399A (zh) * | 2019-01-17 | 2019-06-14 | 平安普惠企业管理有限公司 | 数据处理方法、电子装置、计算机设备及存储介质 |
CN110321226A (zh) * | 2019-07-09 | 2019-10-11 | 西安点告网络科技有限公司 | 主机的自动扩缩容方法、装置、主机及存储介质 |
CN110808914A (zh) * | 2019-09-29 | 2020-02-18 | 北京淇瑀信息科技有限公司 | 一种访问请求处理方法、装置及电子设备 |
-
2020
- 2020-06-24 CN CN202010591569.5A patent/CN111754117B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10120582B1 (en) * | 2016-03-30 | 2018-11-06 | Amazon Technologies, Inc. | Dynamic cache management in storage devices |
CN108733476A (zh) * | 2017-04-20 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种执行多任务的方法和装置 |
CN108399262A (zh) * | 2018-03-14 | 2018-08-14 | 北京思特奇信息技术股份有限公司 | 一种数据库扩容方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111754117A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
CN108153670B (zh) | 一种接口测试方法、装置及电子设备 | |
CN108376118B (zh) | 服务发布***、方法、设备及存储介质 | |
CN106503974B (zh) | 交易数据处理方法及装置 | |
CN111209120A (zh) | 微服务的数据同步方法、装置及计算机可读存储介质 | |
CN104484167A (zh) | 任务处理方法及装置 | |
CN111754117B (zh) | 任务下发方法、装置、电子设备及存储介质 | |
CN111125240B (zh) | 一种分布式事务实现方法、装置、电子设备及存储介质 | |
CN111260253A (zh) | 信息发送方法、装置、计算机设备及存储介质 | |
CN114070847B (zh) | 服务器的限流方法、装置、设备及存储介质 | |
CN111125168B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112634012A (zh) | 业务数据处理方法、装置、服务器和存储介质 | |
CN104735134B (zh) | 一种用于提供计算服务的方法和装置 | |
CN114841267B (zh) | 实时预测方法、装置、电子设备及计算机程序产品 | |
CN110609707B (zh) | 在线数据处理***生成方法、装置及设备 | |
CN115858668A (zh) | 分布式事务处理方法、装置、电子装置及存储介质 | |
CN106888244B (zh) | 一种业务处理方法及装置 | |
US20210240698A1 (en) | Asynchronous remote calls with undo data structures | |
CN116503005A (zh) | 流程动态修改方法、装置、***及存储介质 | |
CN112181825A (zh) | 测试案例库构建方法、装置、电子设备及介质 | |
CN108156195B (zh) | 一种业务数据检查方法和*** | |
CN110784479B (zh) | 一种数据校验方法、装置、电子设备及存储介质 | |
CN114281604B (zh) | 数据恢复方法、装置、电子设备及存储介质 | |
CN117370473B (zh) | 基于完整性攻击的数据处理方法、装置、设备及存储介质 | |
CN111581446B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |