CN115118768A - 一种任务分发方法、装置、存储介质及电子设备 - Google Patents
一种任务分发方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115118768A CN115118768A CN202210734434.9A CN202210734434A CN115118768A CN 115118768 A CN115118768 A CN 115118768A CN 202210734434 A CN202210734434 A CN 202210734434A CN 115118768 A CN115118768 A CN 115118768A
- Authority
- CN
- China
- Prior art keywords
- processed
- tasks
- task
- target network
- distribution
- 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 70
- 238000012163 sequencing technique Methods 0.000 claims abstract description 21
- 238000007781 pre-processing Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 22
- 230000001174 ascending effect Effects 0.000 description 12
- 230000000670 limiting effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000725 suspension Substances 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种任务分发方法、装置、存储介质及电子设备,其中方法包括:对各待处理任务进行排序,获得任务队列;确定用于对待处理任务进行处理的若干目标网络环境;至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务。本申请通过确定多个起始分发位置,即确定与各目标网络环境对应的起始分发位置,能够将基于各起始分发位置获取到的待处任务分发给对应的目标网络环境,实现了各网络环境的负载均衡。
Description
技术领域
本发明涉及计算机领域,特别涉及一种任务分发方法、装置、存储介质及电子设备。
背景技术
现有业内存在很多的任务处理引擎,能够支持集中式或并发执行,可以有效的处理指定时间内或者指定规则下需要执行的任务,比如盛行的Elastic-Job,作为分布式作业调度解决方案,提供了单机器单实例或者多机器多实例调度任务模型,有效的解决了任务多次触发和并行执行的问题,但是,在多个网络不通的网络环境下,多任务实例因网络不通容易引发负载不均衡、任务中大批量数据处理的时效性差、多任务实例启动造成数据重复处理等问题,无法满足业务要求的时效性和生产系统的安全和稳定。
发明内容
有鉴于此,本发明提供了一种任务分发方法、装置、存储介质及电子设备,主要目的在于解决目前存在多任务实例因网络不通容易引发负载不均衡的问题。
为解决上述问题,本申请提供一种任务分发方法,包括:
对各待处理任务进行排序,获得任务队列;
确定用于对待处理任务进行处理的若干目标网络环境;
至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;
基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务。
可选的,所述对各待处理任务进行排序,获得任务队列,具体包括:
在所述待处理任务的存储方式为集中式存储的情况下,基于各所述待处理任务的存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列;
在所述待处理任务的存储方式为分库存储的情况下,基于各所述待处理任务位于数据库顺序以及存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列;
在所述处理任务的存储方式为分库存储的情况下,基于各所述待处理任务位于数据库顺序、数据表顺序以及存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列。
可选的,所述至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置,具体包括:
基于所述目标网络环境的数量以及待处理任务的数量,确定各所述目标网络环境的预处理任务量;
基于各所述目标网络环境的预处理任务量,从所述任务队列中确定与各所述目标网络环境对应的起始分发位置。
可选的,所述方法还包括:获取各所述目标网络环境的任务处理速率;
所述至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置,具体包括:
基于各所述目标网络环境的任务处理速率、所述目标网络环境的数量以及所述待处理任务的数量,确定各目标网络环境的预处理任务量;
基于各目标网络环境的预处理任务量确定与各所述目标网络环境对应的起始分发位置。
可选的,所述基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务,具体包括:
采用定时分发方式,在各任务分发时段内、基于各所述起始分发位置同时对所述任务队列中分发状态为未分发状态的待处理任务进行分发,以在所述任务分发时段内、同时为各所述目标网络环境中的目标处理设备分发待处理任务。
可选的,基于当前时间点、预设任务分发时长以及预定的暂停分发时间,确定各所述任务分发时段。
可选的,在将待处理任务分发给对应目标网络环境中的目标处理设备之后,所述方法还包括:
对所述待处理任务的处理状态进行更新,以将所述处理状态由未分发状态更新为已分发状态。
为解决上述问题本申请提供一种任务分发装置,包括:
获得模块,用于对各待处理任务进行排序,获得任务队列;
第一确定模块,用于确定用于对待处理任务进行处理的若干目标网络环境;
第二确定模块,用于至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;
分发模块,用于基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务。
为解决上述问题,本申请提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述任务分发方法的步骤。
为解决上述问题,本申请提供一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述任一项所述任务分发方法的步骤。
本申请中通过确定多个起始分发位置,即确定与各目标网络环境对应的起始分发位置,后续在进行任务分发时,就可以将基于各起始分发位置获取到的待处任务分发给对应的目标网络环境,实现同时对多个目标网络环境进行任务分发,实现了各网络环境的负载均衡,并且提高了任务分发的效率,解决了任务中大批量数据处理的时效性差的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例一种任务分发方法的流程图;
图2为本申请又一实施例一种任务分发装置的结构框图;
图3为本申请另一实施例一种电子设备的结构框图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
本申请实施例提供一种任务分发方法,具体可以应用于终端、服务器等电子设备,如图1所示,本实施例中的方法包括如下步骤:
步骤S101,对各待处理任务进行排序,获得任务队列;
本步骤在具体实施过程中,具体可以根据各待处任务的存储位置、所位于的数据库顺序以及所位于数据表顺序等进行排序,以此来获得任务队列。例如有10个数据库,每个数据库中有5个数据表,每个数据表中分别存储若干待处理任务,由此,在对各待处理任务进行排序时,就可以按照数据库升序或降序、数据表升序或降序的方式对各待处理任务进行排序。例如按照数据库升序、数据表降序的方式对各待处理任务进行排序,即从库名1-10的顺序、数据表名5-1的顺序来对各待处任务进行排序。也就是,先获取数据库1中的数据表5,对该数据表5中的各待处理任务进行排序,具体可以按照各待处任务在数据表中的存储位置的顺序进行排序;然后再获取数据库1中的数据表4,对该数据表4中的各待处理任务进行排序;依次类推,直至获取到数据库10中的数据表1、并对该数据表1中的各待处理任务进行排序,由此就可以获得所述任务队列。
步骤S102,确定用于对待处理任务进行处理的若干目标网络环境;
本步骤中,各目标网络环境中设置有若干任务处理设备,各目标网络环境之间的网络不相通。
步骤S103,至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;
本步骤中,起始分发位置是指用于进行分发待处理任务的起点。通过确定多个任务分发的起点,为后续同时为多个目标网络环境进行任务分发奠定了基础。
步骤S104,基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务。
本步骤中,在确定各起始分发位置之后,就可以基于各起始分发位置,同时进行任务分发,即将各起始分发位置与各目标网络环境一一对应,然后将基于各起始分发位置获取到的待处任务分发给对应的目标网络环境,实现同时对多个目标网络环境进行任务分发。
本实施例中通过确定多个起始分发位置,即确定与各目标网络环境对应的起始分发位置,后续在进行任务分发时,就可以将基于各起始分发位置获取到的待处任务分发给对应的目标网络环境,实现同时对多个目标网络环境进行任务分发,实现了各网络环境的负载均衡,并且提高了任务分发的效率,解决了任务中大批量数据处理的时效性差的问题。
本申请又一实施例提供一种任务分发方法,包括如下步骤:
步骤S201,对各待处理任务进行排序,获得任务队列;
本步骤在具体实施过程中,具体可以根据各待处理任务的存储方式,选择与存储方式对应的排序方式来对各待处理任务进行排序。具体包括如下三种情况:
在所述待处理任务的存储方式为集中式存储的情况下,基于各所述待处理任务的存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列。例如可以按照存储位置升序或降序的方式进行排序。
在所述待处理任务的存储方式为分库存储的情况下,基于各所述待处理任务位于数据库顺序以及存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列。在具体实施过程中可以采用数据库升序或降序,以及存储位置升序或降序的排序方式来对各待处理任务进行排序。
在所述处理任务的存储方式为分库存储的情况下,基于各所述待处理任务位于数据库顺序、数据表顺序以及存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列。例如可以按照数据库升序或降序,数据表升序或降序,以及存储位置升序或降序的排序方式来对各待处理任务进行排序。
步骤S202,确定用于对待处理任务进行处理的若干目标网络环境;
本步骤中,各目标网络环境中设置有若干任务处理设备,各目标网络环境之间的网络不相通。
步骤S203,基于所述目标网络环境的数量以及待处理任务的数量,确定各所述目标网络环境的预处理任务量;基于各所述目标网络环境的预处理任务量,从所述任务队列中确定与各所述目标网络环境对应的起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;
本步骤在具体实施过程中,例如确定了3个目标网络环境,目标网络环境A、目标网络环境B以及目标网络环境C,待处理任务的数量为30000,由此,就可以确定目标网络环境A的预处理任务量为10000,目标网络环境B的预处理任务量为10000,目标网络环境C的预处理任务量为10000。然后基于各目标网络环境对应的预处理任务量来确定3个起始分发位置,例如确定任务队列首位为与网络环境A对应的起始分发位置,任务队列中位(即第10001个待处理任务所对应的位置)为与网络环境B对应的起始分发位置。任务对比中的末位为与网络环境C对应的起始分发位置。本步骤中通过确定多个起始分发位置,后续就可以同时以各起始分发位置为分发起点,同时为各网络环境分发待处理任务,为保证各网络环境的负载均衡奠定了基础。
本步骤在具体实施过程中,在确定若干起始分发位置之前,还可以获取各所述目标网络环境的任务处理速率;然后进一步结合任务处理速率来确定各起始分发位置。具体确定各起始分发位置的过程如下:基于各所述目标网络环境的任务处理速率、所述目标网络环境的数量以及所述待处理任务的数量,确定各目标网络环境的预处理任务量;基于各目标网络环境的预处理任务量确定与各所述目标网络环境对应的起始分发位置。本实施例中,由于各目标网络环境,即各机房中处理设备的不同、以及处理设备数量的不同,因此各网络环境/机房处理任务的速率也不同相同。也就是,有的网络环境处理任务速度较快,而有的网络环境处理任务速度较慢。由此,通过确定各目标网络环境的任务处理速率,结合任务处理速率来确定各目标网络环境的预处理任务量,能够使得预处理任务量的确定更加合理准确,使得待处理任务的分发也更加合理,进一步保证各目标网络环境的负载均衡。例如可以根据各目标网络环境的任务处理速率计算出任务处理速率比;然后根据该任务处理速率比以及总的待处理任务的数量,确定各目标网络环境对应的预处理任务量,最后根据各目标网络环境的预处理任务量来确定各起始分发位置。
步骤S204,基于当前时间点、预设任务分发时长以及预定的暂停分发时长,确定各所述任务分发时段。
本步骤中,预设任务分发时长可以更加时间情况来设定、调整,例如设定为30秒、1分钟、2分钟等等。暂停分发时长也可以根据实际情况来设定调整,例如可以设定为10秒、20秒、30秒等等。通过设定任务分发时长以及暂停时长,能够实现间隔预定时间启动任务分发。例如,启动待处理任务分发、在待处理任务的分发达到1分钟后,暂停待处理任务的分发10秒钟,然后在之前暂停的位置再继续进行待处理任务的分发,直至将所有待处理任务分发完。
步骤S205,采用定时分发方式,在各任务分发时段内、基于各所述起始分发位置同时对所述任务队列中分发状态为未分发状态的待处理任务进行分发,以在所述任务分发时段内、同时为各所述目标网络环境中的目标处理设备分发待处理任务。
本步骤在具体实施过程中,通过结合确定任务分发时段,能够更精准的控制待处理任务的分发,也就是,只有在任务分发时段内,才会进行待处理任务的分发。避免了由于任务状态更新不及时、连续进行任务分发,造成的待处理任务分发重复的问题。
步骤S206,在将待处理任务分发给对应目标网络环境中的目标处理设备之后,对所述待处理任务的处理状态进行更新,以将所述处理状态由未分发状态更新为已分发状态。
本步骤中,通过对已经分发的待处理任务的任务状态进行更新,即更新为已分发状态,由此能够使得后续在对待处理任务进行分发时,确定哪些是已分发的待处理任务,哪些是未分发的待处理任务,从而能够准确的对未分发的待处理任务进行分发,降低了任务重复分发的概率。
本申请中的方法,通过确定多个起始分发位置,即确定与各目标网络环境对应的起始分发位置,后续在进行任务分发时,就可以将基于各起始分发位置获取到的待处任务分发给对应的目标网络环境,实现同时对多个目标网络环境进行任务分发,实现了各网络环境的负载均衡,并且提高了任务分发的效率,解决了任务中大批量数据处理的时效性差的问题
在上述实施例的基础上,以下结合具体的应用场景进行解释说明。在平安付交易核心存在大批量数据延迟出款的任务,通过采用本申请中的任务分发方法能够解决大批量数据延迟出款的问题,提供出款速度。具体任务分发、处理过程如下:
一、在宝信和外高桥两个网络不通的机房下分别启动了任务,正常情况下存在2个延迟出款任务实例。
二、由于数据设计是分库分表的,由此可以按照数据库升序的方式来对各数据库中的待处理任务进行排序,获得任务队列。
在对各待处理任务进行排序时,可以从00数据库到第99数据库,按照升序排序的方式来对各待处理任务进行排序,即先对第00数据库中的各待处理任务进行排序,然后对第01数据库中的各待处理任务进行排序,以此类推直至完成对第99数据库中的各待处理任务的排序。
三、根据宝信和外高桥两个机房以及待处理任务的数量确定2个起始分发位置。
本步骤中可以确定任务队列首位为与宝信机房对应的起始分发位置,同时确定任务队列末位为与外高桥机房对应的起始分发位置。后续就在任务分发时,就可以为宝信机房按照从00到99库升序的顺序分配待处理任务。为外高桥机房按照从99到00降序的顺序分配待处理任务。每次任务分配10个库,即分配10个数据库之后暂停任务分配,具体可以动态调整数据库数量。
四、基于上述2个起始分发位置,同时为宝信机房和外高桥机房分发待处理任务。
本步骤中,宝信和外高桥各网络环境下,每分配50个库都暂停任务分发,等待30秒后继续分配余下50个库,由此,能够起到一定的限流作用。
五、宝信和外高桥各网络环境下的服务接收到分配的任务后,根据库列表按分页大小100查询实际需要出款数据。
六、待每条需要出款的数据状态翻转为处理中后,再根据规则分配给不同的下游服务器进行处理,最终满足大批量数据出款且时效性高的要求。
本实施例中的方法能够解决多网络环境下负载均衡问题。任何一个网络环境的变更或者任务实例的终止,也不会影响待处理任务的分发。也即是当某个网络环境出现故障,即出现单点故障时,不会造成待处理任务分发终止。例如总任务需要处理1000万条数据,采用本申请中的方法可以实现A网络环境下任务从1-1000万开始分配,B网络环境下任务从1000万-1开始分配,当网络环境B出现故障时,仍会为网络环境A分发任务,不会造成任务分发终止。又比如在分库分表下,共有100个数据库存储有待处理任务,那么采用本申请中的方法可以实现A网络环境下从A数据库1-100开始分发任务,B网络环境下从数据库100-1开始分发任务,由此能够保证各网络环境的负载均衡,提高任务的分发效率,同时还可以降低数据重复处理的概率。
与此同时,本申请中的方法可以实现将大批量数据平摊在各个环境下所有可用的机器上。例如某环境任务负责处理100万条数据,在任务的执行过程中,通过采用本申请中的任务分配方法,能够将100万条数据平摊在20台机器上,这样该环境下每台机器差不多仅需处理5万条数据,极大的缩短数据处理的时效,通过类似于横向扩展的方式,将流量均衡的分发在了各台服务器上,这就避免了单机处理的局限性,而且各台机器都是并发处理的,隐去了串行下效率低的问题。
另外,本申请中通过对待处理任务的处理状态进行标注更新,由此能够防止数据重复分发。
此外,本申请中的任务分发方法能够实现从源头控制流量的输出,由此能够在各网络环境下分配任务实际数据区间时分割的足够细致,让每次分配的数据量尽可能的小;也可以在实际查询数据时进行分页处理,每次查询合理的数据大小;还可以在数据查询出来后在处理之前进行限流,设置合理的TPS,由此能够防止数据堆积在内存。本实施例在具体实施过程中,还可以考虑到整体数据处理的耗时,相关的配置可以动态调整以满足不同场景。
本申请另一实施例提供一种任务分发装置,如图2所示,本实施例中的分发装置1包括:
获得模块11,用于对各待处理任务进行排序,获得任务队列;
第一确定模块12,用于确定用于对待处理任务进行处理的若干目标网络环境;
第二确定模块13,用于至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;
分发模块14,用于基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务。
本实施例在具体实施过程中,所述获得模块具体用于:在所述待处理任务的存储方式为集中式存储的情况下,基于各所述待处理任务的存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列;
在所述待处理任务的存储方式为分库存储的情况下,基于各所述待处理任务位于数据库顺序以及存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列;
在所述处理任务的存储方式为分库存储的情况下,基于各所述待处理任务位于数据库顺序、数据表顺序以及存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列。
本实施例在具体实施过程中,所述第一确定模块,具体用于:基于所述目标网络环境的数量以及待处理任务的数量,确定各所述目标网络环境的预处理任务量;基于各所述目标网络环境的预处理任务量,从所述任务队列中确定与各所述目标网络环境对应的起始分发位置。
本实施例在具体实施过程中,所述任务分发装置还包括获取模块,所述获取模块用于:获取各所述目标网络环境的任务处理速率;
所述第一确定模块具体用于:基于各所述目标网络环境的任务处理速率、所述目标网络环境的数量以及所述待处理任务的数量,确定各目标网络环境的预处理任务量;基于各目标网络环境的预处理任务量确定与各所述目标网络环境对应的起始分发位置。
本实施例在具体实施过程中,所述分发模块具体用于:采用定时分发方式,在各任务分发时段内、基于各所述起始分发位置同时对所述任务队列中分发状态为未分发状态的待处理任务进行分发,以在所述任务分发时段内、同时为各所述目标网络环境中的目标处理设备分发待处理任务。
本实施例在具体实施过程中,所述任务分发装置还包括第三确定模块,所述第三确定模块用于:基于当前时间点、预设任务分发时长以及预定的暂停分发时长,确定各所述任务分发时段。
本实施例在具体实施过程中,所述任务分发装置还包括更新模块,所述更新模块用于:在将待处理任务分发给对应目标网络环境中的目标处理设备之后,对所述待处理任务的处理状态进行更新,以将所述处理状态由未分发状态更新为已分发状态。
本申请中通过确定多个起始分发位置,即确定与各目标网络环境对应的起始分发位置,后续在进行任务分发时,就可以将基于各起始分发位置获取到的待处任务分发给对应的目标网络环境,实现同时对多个目标网络环境进行任务分发,实现了各网络环境的负载均衡,并且提高了任务分发的效率,解决了任务中大批量数据处理的时效性差的问题。
本申请另一实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
步骤一、对各待处理任务进行排序,获得任务队列;
步骤二、确定用于对待处理任务进行处理的若干目标网络环境;
步骤三、至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;
步骤四、基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务。
上述方法步骤的具体实施过程可参见上述任意任务分发方法的实施例,本实施例在此不再重复赘述。
本申请中通过确定多个起始分发位置,即确定与各目标网络环境对应的起始分发位置,后续在进行任务分发时,就可以将基于各起始分发位置获取到的待处任务分发给对应的目标网络环境,实现同时对多个目标网络环境进行任务分发,实现了各网络环境的负载均衡,并且提高了任务分发的效率,解决了任务中大批量数据处理的时效性差的问题。
本申请另一实施例提供一种电子设备,如图3所示,至少包括存储器1、处理器2,所述存储器1上存储有计算机程序,所述处理器2在执行所述存储器1上的计算机程序时实现如下方法步骤:
步骤一、对各待处理任务进行排序,获得任务队列;
步骤二、确定用于对待处理任务进行处理的若干目标网络环境;
步骤三、至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;
步骤四、基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务。
上述方法步骤的具体实施过程可参见上述任意任务分发方法的实施例,本实施例在此不再重复赘述。
本申请中通过确定多个起始分发位置,即确定与各目标网络环境对应的起始分发位置,后续在进行任务分发时,就可以将基于各起始分发位置获取到的待处任务分发给对应的目标网络环境,实现同时对多个目标网络环境进行任务分发,实现了各网络环境的负载均衡,并且提高了任务分发的效率,解决了任务中大批量数据处理的时效性差的问题。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (10)
1.一种任务分发方法,其特征在于,包括:
对各待处理任务进行排序,获得任务队列;
确定用于对待处理任务进行处理的若干目标网络环境;
至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;
基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务。
2.如权利要求1所述的方法,其特征在于,所述对各待处理任务进行排序,获得任务队列,具体包括:
在所述待处理任务的存储方式为集中式存储的情况下,基于各所述待处理任务的存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列;
在所述待处理任务的存储方式为分库存储的情况下,基于各所述待处理任务位于数据库顺序以及存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列;
在所述处理任务的存储方式为分库存储的情况下,基于各所述待处理任务位于数据库顺序、数据表顺序以及存储位置顺序,对各所述待处理任务进行排序,以获得所述任务队列。
3.如权利要求1所述的方法,其特征在于,所述至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置,具体包括:
基于所述目标网络环境的数量以及待处理任务的数量,确定各所述目标网络环境的预处理任务量;
基于各所述目标网络环境的预处理任务量,从所述任务队列中确定与各所述目标网络环境对应的起始分发位置。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:获取各所述目标网络环境的任务处理速率;
所述至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置,具体包括:
基于各所述目标网络环境的任务处理速率、所述目标网络环境的数量以及所述待处理任务的数量,确定各目标网络环境的预处理任务量;
基于各目标网络环境的预处理任务量确定与各所述目标网络环境对应的起始分发位置。
5.如权利要求1所述的方法,其特征在于,所述基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务,具体包括:
采用定时分发方式,在各任务分发时段内、基于各所述起始分发位置同时对所述任务队列中分发状态为未分发状态的待处理任务进行分发,以在所述任务分发时段内、同时为各所述目标网络环境中的目标处理设备分发待处理任务。
6.如权利要求5所述的方法,其特征在于,所述方法还包括,基于当前时间点、预设任务分发时长以及预定的暂停分发时长,确定各所述任务分发时段。
7.如权利要求5所述的方法,其特征在于,在将待处理任务分发给对应目标网络环境中的目标处理设备之后,所述方法还包括:
对所述待处理任务的处理状态进行更新,以将所述处理状态由未分发状态更新为已分发状态。
8.一种任务分发装置,其特征在于,包括:
获得模块,用于对各待处理任务进行排序,获得任务队列;
第一确定模块,用于确定用于对待处理任务进行处理的若干目标网络环境;
第二确定模块,用于至少基于所述目标网络环境的数量以及待处理任务的数量,确定所述任务队列中的若干起始分发位置;其中,各所述起始分发位置与各目标网络环境一一对应;
分发模块,用于基于各所述起始分发位置同时对所述任务队列中的待处理任务进行分发,以同时为各所述目标网络环境中的目标处理设备分发待处理任务。
9.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-7任一项所述任务分发方法的步骤。
10.一种电子设备,其特征在于,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述权利要求1-7任一项所述任务分发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210734434.9A CN115118768A (zh) | 2022-06-27 | 2022-06-27 | 一种任务分发方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210734434.9A CN115118768A (zh) | 2022-06-27 | 2022-06-27 | 一种任务分发方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115118768A true CN115118768A (zh) | 2022-09-27 |
Family
ID=83330892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210734434.9A Pending CN115118768A (zh) | 2022-06-27 | 2022-06-27 | 一种任务分发方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115118768A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929707A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 并行任务动态分配方法 |
CN109408220A (zh) * | 2017-08-17 | 2019-03-01 | 北京国双科技有限公司 | 一种任务处理方法及装置 |
CN109901925A (zh) * | 2018-11-06 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 一种任务处理方法及系统 |
CN110297711A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN112905326A (zh) * | 2021-02-18 | 2021-06-04 | 上海哔哩哔哩科技有限公司 | 任务处理方法及装置 |
CN113327053A (zh) * | 2021-06-21 | 2021-08-31 | 中国农业银行股份有限公司 | 任务处理方法及装置 |
CN114116247A (zh) * | 2021-04-02 | 2022-03-01 | 北京京东拓先科技有限公司 | 基于Redis的消息处理方法、装置、系统、服务器和介质 |
CN114489997A (zh) * | 2022-02-16 | 2022-05-13 | 北京百度网讯科技有限公司 | 定时任务调度方法、装置、设备和介质 |
-
2022
- 2022-06-27 CN CN202210734434.9A patent/CN115118768A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929707A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 并行任务动态分配方法 |
CN109408220A (zh) * | 2017-08-17 | 2019-03-01 | 北京国双科技有限公司 | 一种任务处理方法及装置 |
CN109901925A (zh) * | 2018-11-06 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 一种任务处理方法及系统 |
CN110297711A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN112905326A (zh) * | 2021-02-18 | 2021-06-04 | 上海哔哩哔哩科技有限公司 | 任务处理方法及装置 |
CN114116247A (zh) * | 2021-04-02 | 2022-03-01 | 北京京东拓先科技有限公司 | 基于Redis的消息处理方法、装置、系统、服务器和介质 |
CN113327053A (zh) * | 2021-06-21 | 2021-08-31 | 中国农业银行股份有限公司 | 任务处理方法及装置 |
CN114489997A (zh) * | 2022-02-16 | 2022-05-13 | 北京百度网讯科技有限公司 | 定时任务调度方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558234A (zh) | 一种定时任务调度方法和装置 | |
CN109582466A (zh) | 一种定时任务执行方法、分布式服务器集群及电子设备 | |
CN106250226B (zh) | 基于一致性哈希算法的任务调度方法及系统 | |
CN108900626B (zh) | 一种云环境下数据存储方法、装置及系统 | |
CN101968750A (zh) | 计算机系统及其工作方法 | |
CN107682391B (zh) | 电子装置、服务器分配控制方法和计算机可读存储介质 | |
CN111861412A (zh) | 面向完成时间优化的科学工作流调度方法及系统 | |
CN104932933A (zh) | 一种获取自旋锁的方法及装置 | |
CN111813517B (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
US20170123861A1 (en) | Efficiency sequencer for multiple concurrently-executing threads of execution | |
US6434708B1 (en) | Programmable timer & methods for scheduling time slices executed by a controller circuit | |
US6912712B1 (en) | Real time control system for multitasking digital signal processor using ready queue | |
Tavakoli et al. | Log-assisted straggler-aware I/O scheduler for high-end computing | |
US20110276979A1 (en) | Non-Real Time Thread Scheduling | |
CN113064705B (zh) | 线程池扩容方法、装置、服务器、介质及产品 | |
CN112650449B (zh) | 缓存空间的释放方法、释放系统、电子设备及存储介质 | |
CN115118768A (zh) | 一种任务分发方法、装置、存储介质及电子设备 | |
CN103336721A (zh) | 数据库操作请求分配方法、设备和系统 | |
CN110175073B (zh) | 数据交换作业的调度方法、发送方法、装置及相关设备 | |
CN112363914A (zh) | 一种并行测试资源配置寻优的方法、计算设备及存储介质 | |
CN111767125A (zh) | 任务执行方法、装置、电子设备、存储介质 | |
CN100345128C (zh) | 基于动态优先级的总线仲裁器和动态改变优先级的方法 | |
CN110851245A (zh) | 一种分布式异步任务调度方法及电子设备 | |
CN113553180B (zh) | 一种容器的调度方法、装置及电子设备 | |
CN108762786A (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 |