CN116302467A - 任务的分配方法、装置及存储介质 - Google Patents
任务的分配方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116302467A CN116302467A CN202211586471.6A CN202211586471A CN116302467A CN 116302467 A CN116302467 A CN 116302467A CN 202211586471 A CN202211586471 A CN 202211586471A CN 116302467 A CN116302467 A CN 116302467A
- Authority
- CN
- China
- Prior art keywords
- slave node
- task
- node
- slave
- scheduled
- 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 73
- 230000015654 memory Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 19
- 239000000523 sample Substances 0.000 claims 1
- 238000013461 design Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 26
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
-
- 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
-
- 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/5044—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 hardware capabilities
-
- 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/505—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 load
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种任务的分配方法、装置及存储介质,涉及计算机技术领域。该方法包括:主节点获取待调度任务;主节点根据多个预设指标,从与主节点连接的多个从节点中选择目标从节点;多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;主节点向目标从节点发送指示信息,该指示信息用于指示目标从节点执行待调度任务。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种任务的分配方法、装置及存储介质。
背景技术
Jenkins是一个开源软件,是基于Java开发的一种持续集成工具。Jenkins用于持续构建和测试软件项目,从而使开发人员将更改集成到项目中,并使用户获得新的构建。
Jenkins系统支持主(master)和从(slave)架构,master节点负责任务调度的分发和执行结果的收集,slave节点为工作节点,负责执行任务。通常情况下,master节点可以采用轮询算法进行任务分发。轮询算法是指任务优先分发给注册时间靠前的slave节点,在注册时间靠前的slave节点并发数占满后,master节点可以会向注册时间靠后的slave节点分发任务。这样可能会出现任务都集中调度到某几台slave节点上,导致任务调度不均衡的情况。当被集中调度的几台节点并发数设置不合理时,会引起整个Jenkins系统的严重阻塞,影响任务执行效率。
发明内容
本申请提供了一种任务的分配方法、装置及存储介质,用于合理分配任务。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供了一种任务的分配方法,该方法包括:主节点获取待调度任务;主节点根据多个预设指标,从与主节点连接的多个从节点中选择目标从节点;多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;主节点向目标从节点发送指示信息,指示信息用于指示目标从节点执行待调度任务。
一种可能的实现方式中,上述“主节点根据多个预设指标,从多个从节点中选择目标从节点”具体包括:主节点根据多个从节点的在线状态,从多个从节点中选择处于在线状态的一个或多个第一从节点;主节点根据待调度任务使用的资源量,从一个或多个第一从节点中选择至少一个第二从节点,第二从节点的空闲资源量大于或等于待调度任务使用的资源量;主节点根据从节点的执行任务时长,从至少一个第二从节点中选择目标从节点。
一种可能的实现方式中,上述“主节点根据从节点的执行任务时长,从至少一个第二从节点中选择目标从节点”具体包括:若至少一个第二从节点执行过任务,则主节点将至少一个第二从节点中执行任务时长最小的从节点作为目标从节点;若至少一个第二从节点未执行过任务,则主节点将至少一个第二从节点中资源空闲率最大的从节点作为目标从节点。
一种可能的实现方式中,该方法还包括:在向目标从节点发送指示信息之后,主节点更新多个预设指标的值。
第二方面,提供了一种任务的分配方法,该方法包括:目标从节点接收来自主节点的指示信息,指示信息用于执行待调度任务;其中,目标从节点是主节点根据多个预设指标从与主节点连接的多个从节点中确定的;多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;目标从节点根据指示信息,执行待调度任务。
一种可能的实现方式中,该方法包括:目标从节点是主节点根据从节点的任务时长,从至少一个第二从节点中确定的,至少一个第二从节点是主节点根据待调度任务使用的资源量,从一个或多个第一从节点中确定的,第二从节点的空闲资源量大于或等于待调度任务使用的资源量;一个或多个第一从节点是多个从节点处于在线状态的从节点。
一种可能的实现方式中,该方法包括:若至少一个第二从节点执行过任务,则目标从节点为至少一个第二从节点中执行任务时长最小的从节点;若至少一个第二从节点未执行过任务,则目标从节点为至少一个第二从节点中资源空闲率最大的从节点。
一种可能的实现方式中,该方法还包括:目标从节点向主节点发送目标从节点的资源信息,资源信息用于指示目标从节点的资源使用情况以及目标从节点执行任务情况。
第三方面,提供了一种任务的分配装置,该装置应用于任务的分配装置中的芯片或者片上系统,还可以为任务的分配装置中用于实现第一方面或第一方面的任一可能的设计的方法的功能模块。该装置可以实现上述各方面或者各可能的设计中主节点所执行的功能,功能可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个上述功能相应的模块。如:该装置包括获取单元、选择单元、处理单元、发送单元和更新单元。
获取单元,用于获取待调度任务;
选择单元,用于根据多个预设指标,从与主节点连接的多个从节点中选择目标从节点;多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;
发送单元,用于向目标从节点发送指示信息,指示信息用于指示目标从节点执行待调度任务。
一种可能的实现方式中,选择单元,具体用于:根据多个从节点的在线状态,从多个从节点中选择处于在线状态的一个或多个第一从节点;根据待调度任务使用的资源量,从一个或多个第一从节点中选择至少一个第二从节点,第二从节点的空闲资源量大于或等于待调度任务使用的资源量;根据从节点的执行任务时长,从至少一个第二从节点中选择目标从节点。
一种可能的实现方式中,处理单元,用于:若至少一个第二从节点执行过任务,则将至少一个第二从节点中执行任务时长最小的从节点作为目标从节点;若至少一个第二从节点未执行过任务,则将至少一个第二从节点中资源空闲率最大的从节点作为目标从节点。
一种可能的实现方式中,更新单元,用于:在向目标从节点发送指示信息之后,更新多个预设指标的值。
第四方面,提供了一种任务的分配装置,该装置应用于任务的分配装置中的芯片或者片上系统,还可以为任务的分配装置中用于实现第一方面或第一方面的任一可能的设计的方法的功能模块。该装置可以实现上述各方面或者各可能的设计中目标从节点所执行的功能,功能可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个上述功能相应的模块。如:该装置包括接收单元、处理单元和发送单元。
接收单元,用于接收来自主节点的指示信息,指示信息用于执行待调度任务;其中,目标从节点是主节点根据多个预设指标从与主节点连接的多个从节点中确定的;多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;
处理单元,用于根据指示信息,执行待调度任务。
一种可能的实现方式中,目标从节点是主节点根据从节点的任务时长,从至少一个第二从节点中确定的,至少一个第二从节点是主节点根据待调度任务使用的资源量,从一个或多个第一从节点中确定的,第二从节点的空闲资源量大于或等于待调度任务使用的资源量;一个或多个第一从节点是多个从节点处于在线状态的从节点。
一种可能的实现方式中,若至少一个第二从节点执行过任务,则目标从节点为至少一个第二从节点中执行任务时长最小的从节点;若至少一个第二从节点未执行过任务,则目标从节点为至少一个第二从节点中资源空闲率最大的从节点。
一种可能的实现方式中,发送单元,用于:向主节点发送目标从节点的资源信息,资源信息用于指示目标从节点的资源使用情况以及目标从节点执行任务情况。
第五方面,提供了一种任务的分配装置,该装置可以为任务的分配装置或者任务的分配装置中的芯片或者片上系统。该装置可以实现上述各方面或者各可能的设计中任务的分配装置所执行的功能,所述功能可以通过硬件实现,如:一种可能的设计中,该装置可以包括:处理器和通信接口,处理器可以用于支持任务的分配装置实现上述第一方面或者第一方面的任一种可能的设计中所涉及的功能。
在又一种可能的设计中,任务的分配装置还可以包括存储器,存储器用于保存任务的分配装置必要的计算机执行指令和数据。当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行上述第一方面或者第一方面的任一种可能的设计所述的任务的分配方法。
第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质可以为可读的非易失性存储介质,该计算机可读存储介质存储有计算机指令或者程序,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述方面的任一种可能的设计所述的任务的分配方法。
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述方面的任一种可能的设计所述的任务的分配方法。
第八方面,提供了一种任务的分配装置,该装置可以为任务的分配装置或者任务的分配装置中的芯片或者片上系统,该装置包括一个或者多个处理器以及和一个或多个存储器。所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述任务的分配装置执行如上述第一方面或者第一方面的任一可能的设计所述的任务的分配方法。
第九方面,提供了一种芯片系统,该芯片系统包括处理器以及通信接口,该芯片系统可以用于实现上述第一方面或第一方面的任一可能的设计中任务的分配装置所执行的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件,不予限制。
第十方面,提供了一种任务的分配装置,该装置可以为任务的分配装置或者任务的分配装置中的芯片或者片上系统。该装置可以实现上述各方面或者各可能的设计中任务的分配装置所执行的功能,所述功能可以通过硬件实现,如:一种可能的设计中,该装置可以包括:处理器和通信接口,处理器可以用于支持任务的分配装置实现上述第二方面或者第二方面的任一种可能的设计中所涉及的功能。
在又一种可能的设计中,任务的分配装置还可以包括存储器,存储器用于保存任务的分配装置必要的计算机执行指令和数据。当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行上述第二方面或者第二方面的任一种可能的设计所述的任务的分配方法。
第十一方面,提供了一种计算机可读存储介质,该计算机可读存储介质可以为可读的非易失性存储介质,该计算机可读存储介质存储有计算机指令或者程序,当其在计算机上运行时,使得计算机可以执行上述第二方面或者上述方面的任一种可能的设计所述的任务的分配方法。
第十二方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第二方面或者上述方面的任一种可能的设计所述的任务的分配方法。
第十三方面,提供了一种任务的分配装置,该装置可以为任务的分配装置或者任务的分配装置中的芯片或者片上系统,该装置包括一个或者多个处理器以及和一个或多个存储器。所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述任务的分配装置执行如上述第二方面或者第二方面的任一可能的设计所述的任务的分配方法。
第十四方面,提供了一种芯片系统,该芯片系统包括处理器以及通信接口,该芯片系统可以用于实现上述第二方面或第二方面的任一可能的设计中任务的分配装置所执行的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件,不予限制。
附图说明
图1为本申请实施例提供的一种分布式系统的结构示意图;
图2为本申请实施例提供的一种任务的分配装置200的结构示意图;
图3为本申请实施例提供的一种任务的分配方法的流程示意图;
图4为本申请实施例提供的另一种任务的分配方法的流程示意图;
图5为本申请实施例提供的另一种任务的分配方法的流程示意图;
图6为本申请实施例提供的另一种任务的分配方法的流程示意图;
图7为本申请实施例提供的另一种任务的分配方法的流程示意图;
图8为本申请实施例提供的另一种任务的分配装置80的结构示意图;
图9为本申请实施例提供的另一种任务的分配装置90的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
例如,如图1所示,为本申请实施例提供的一种分布式系统的结构示意图。该分布式系统可以包括主节点和多个从节点。主节点与多个从节点通信连接。
其中,主节点也可以称为主设备、主服务器。主节点可以用于任务的分发和结果的收集。
其中,从节点也可以称为从设备、从服务器。从节点可以用于执行任务。
一种场景下,主节点和从节点均为设备。该设备可以为UE或者移动台(mobilestation,MS)或者移动终端(mobile terminal,MT)等。具体的,终端可以是手机(mobilephone)、平板电脑或带无线收发功能的电脑,还可以是虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制中的无线终端、无人驾驶中的无线终端、远程医疗中的无线终端、智能电网中的无线终端、智慧城市(smart city)中的无线终端、智能家居、车载终端等。
又一种场景下,主节点和从节点均为服务器,该服务器可以为物理服务器、云服务器、云虚拟服务器等。
又一种场景下,主节点可以为服务器,从节点可以为设备。
需要说明的是,图1的分布式系统可以为Jenkins系统,也可以为其他系统。如关系型数据库(mysql、postgreSql、oracle等)、消息队列(Kafka、RabbitMQ)等中应用的系统。
需要说明的是,本申请实施例描述的系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着分布式系统的演变和其他系统的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
一种示例中,本申请实施例还提供了一种任务的分配装置(后续为了便于描述,简称为分配装置),该分配装置可以用于执行本申请实施例的方法。
例如,如图2所示,为本申请实施例提供的一种分配装置200的组成示意图。分配装置200可以包括处理器201,通信接口202以及通信线路203。
进一步的,该分配装置200还可以包括存储器204。其中,处理器201,存储器204以及通信接口202之间可以通过通信线路203连接。
其中,处理器201是中央处理器(central processing unit,CPU)、通用处理器、网络处理器(network processor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。处理器201还可以是其它具有处理功能的装置,例如电路、器件或软件模块,不予限制。
通信接口202,用于与其他设备或其它通信网络进行通信。通信接口202可以是模块、电路、通信接口或者任何能够实现通信的装置。
通信线路203,用于在分配装置200所包括的各部件之间传送信息。
存储器204,用于存储指令。其中,指令可以是计算机程序。
其中,存储器204可以是只读存储器(read-only memory,ROM)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是随机存取存储器(random accessmemory,RAM)或可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备等,不予限制。
需要指出的是,存储器204可以独立于处理器201存在,也可以和处理器201集成在一起。存储器204可以用于存储指令或者程序代码或者一些数据等。存储器204可以位于分配装置200内,也可以位于分配装置200外,不予限制。处理器201,用于执行存储器204中存储的指令,以实现本申请下述实施例提供的任务的分配方法。
在一种示例中,处理器201可以包括一个或多个CPU,例如,图2中的CPU0和CPU1。
作为一种可选的实现方式,分配装置200包括多个处理器,例如,除图2中的处理器201之外,还可以包括处理器207。
作为一种可选的实现方式,分配装置200还包括输出设备205和输入设备206。示例性地,输入设备206是键盘、鼠标、麦克风或操作杆等设备,输出设备205是显示屏、扬声器(speaker)等设备。
需要指出的是,分配装置200可以是台式机、便携式电脑、网络服务器、移动手机、平板电脑、无线终端、嵌入式设备、芯片系统或有图2中类似结构的设备。此外,图2中示出的组成结构并不限定,除图2所示部件之外,还可以包括比图2更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
此外,本申请的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面结合图1所示分布式系统,对本申请实施例提供的任务的分配方法进行描述。其中,本申请各实施例之间涉及的动作,术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。本申请各实施例涉及的动作只是一个示例,具体实现中也可以采用其他的名称,如:本申请实施例所述的“包括在”还可以替换为“承载于”或者“携带在”等。
图3为本申请实施例提供了一种任务的分配方法的流程示意图,如图3所示,该方法包括:
S301、主节点获取待调度任务。
其中,主节点可以为图1中的主节点,或者也可以为图1中的主节点的器件,如芯片等。待调度任务是指系统要执行的任务。例如,待调度任务可以为代码检查任务、应用上线任务。
一种可能的实现方式中,响应于输入操作,主节点可以接收待调度任务。输入操作可以为工作人员通过主节点的输入装置输入执行待调度任务的操作。
一种场景中,当待调度任务为代码检测任务时,输入操作可以是将编辑好的代码传输至主节点设备中。
又一种场景中,当待调度任务为应用上线任务时,输入操作可以是将编译打包好的应用传输至主节点设备中。
S302、主节点根据多个预设指标,从与主节点连接的多个从节点中选择目标从节点。
其中,多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量。当然,还可以包括其他指标,例如,可以包括待调度任务的类型、从节点的能力信息,不予限制。从节点的能力信息可以是指从节点能够处理的任务的类型或者能够处理任务的数量。下面分别对上述多个预设指标进行说明:
1、从节点的资源空闲率。
其中,从节点的资源空闲率是指从节点的未使用资源与从节点的总资源之间比值。该资源可以为CPU或者内存。
一种可能的实现方式中,响应于注册成功(也即,建立与主节点的连接),从节点可以激活配置的资源空闲率计算程序,该资源空闲率计算程序计算自身的资源空闲率。在计算得到资源空闲率之后,从节点可以向主节点上报自身的资源空闲率。主节点接收各个从节点上报的资源空闲率之后,可以根据多个从节点的资源空闲率的大小从高到低进行排序,并将每个从节点与对应的资源空闲率存储到预设数据库中。
又一种可能的实现方式中,主节点自己计算每个从节点的资源空闲率。主节点建立与从节点的连接,主节点根据从节点上报的资源空闲率,主节点计算程序自己计算资源空闲率。
2、从节点的在线状态。
其中,从节点的在线状态可以包括处于在线状态和处于离线状态。当从节点处于在线状态时,表示从节点可执行任务。当处于离线状态时,从节点离线表示不可执行任务。
一种示例中,响应于从节点的注册成功,主节点可以将从节点的节点信息添加到主节点维护的资源池注册表中。从节点可以定时向主节点发送心跳,当主节点在一定时间内未收到心跳时,主节点可以主动向从节点发送测试请求,测试请求用于响应从节点是否在线。没有接收到响应或响应超时或响应错误则在资源池注册表中将从节点标记为离线节点,离线节点表示该从节点不可用。
3、从节点的执行任务时长。
其中,从节点的执行任务时长是指执行一个任务从任务开始到任务结束所用的时间。
一种示例中,从节点将执行一个调度任务所用的时长传给主节点,主节点将该任务、执行该任务的从节点以及该从节点执行该任务所用的时间之间的对应关系存储在预设数据库中。例如,从节点1执行任务A所用时间为10秒(second,s),执行任务B所用时间为5s,则对应关系可以包括:从节点1-调度任务A-10s、从节点2-调度任务B-5s。
4、待调度任务使用的资源量。
其中,待调度任务使用的资源量是指执行该待调度任务需要使用资源的大小。
一种示例中,从节点在执行某个调度任务时,可以根据执行该调度任务时资源的变化情况,得到执行该调度任务所需要的资源的大小。例如,从节点在执行该调度任务前的空闲资源为100M,在执行该调度任务过程的空闲资源为50M,则说明该从节点在执行该调度任务所需要的资源为100M-50M=50M。类似的,从节点可以确定执行的多个调度任务所需要的资源。从节点在得到多个调度任务所需要的资源的大小之后,可以向主节点发送多个调度任务需要的资源。主节点将所执行的调度任务和调度任务需要使用资源的大小存储在预设数据库中。例如,处理任务A对应所用资源大小为10M,处理任务B所用资源大小为5M。
需要说明的是,上述示例中,多个调度任务可以包括待调度任务,也可以不包括待调度任务。当多个调度任务包括待调度任务(也即,待调度任务被重复执行)时,主节点可以根据待调度任务被执行时占用的资源量,确定待调度任务使用的资源量。当多个调度任务不包括待调度任务时,主节点可以根据多个调度任务的类型,确定待调度任务使用的资源量。例如,主节点可以将多个调度任务中与待调度任务的类型相同的调度任务被执行时占用的资源量,作为待调度任务使用的资源量。
一种可能的实现方式中,主节点根据从节点的资源空闲率、从节点的在线状态、执行任务时长、待调度任务使用的资源量选择目标从节点,具体过程可以参照下述图4所示的实施例,此处不予赘述。
S303、主节点向目标从节点发送指示信息。相应的,目标从节点接收来自主节点的指示信息。
其中,指示信息可以用于指示目标从节点执行待调度任务。例如,指示信息可以包括待调度任务,或者包括用于指示待调度任务的标识。该标识可以为数字、字符或数字与字符的组合。
S304、目标从节点根据指示信息,执行待调度任务。
一种示例中,当指示信息包括待调度任务时,目标从节点可以对指示信息进行解析,获取到待调度任务,并执行该调度任务。例如,当待调度任务为代码检测任务时,指示信息可以包括待检测的代码。目标从节点在接收到用于指示信息后,可以从指示信息中获取到待检测代码,并对运行该代码,用以检测代码是否存在错误代码。
一种示例中,当指示信息包括用于指示待调度任务的标识时,目标从节点可以根据该标识从其他设备或数据库中获取待调度任务。例如,目标从节点获取到应用上线任务,目标从节点将该应用编译打包完成上线。
基于图3的技术方案,主节点在获取到待调度任务之后,可以根据多个预设指标,从多个节点中选择合适的从节点执行该待调度任务。相较于根据注册时间的先后顺序确定执行待调度任务的从节点,本申请的技术方案更加灵活、合理。同时,还能够避免在大批量执行调度任务的过程中出现调度不均匀、任务堵塞的问题。
一种实施例中,如图4所示,上述S302中,主节点根据多个预设指标,从多个从节点中选择目标从节点,可以包括S401~S403。
S401、主节点根据从节点的在线状态,从多个从节点中选择处于在线状态的一个或多个第一从节点。
其中,第一从节点是指多个从节点处于在线状态的从节点。例如,主节点可以配置有资源池注册表,该资源池注册表可以包括多个从节点的节点信息。
一种可能的实现方式中,从节点注册成功后,从节点会保存在资源池注册表中,查询从资源池注册表,若查询到的从节点的状态为在线状态,则将处于在线状态的从节点存储在一个列表中,这个列表中的从节点即为第一从节点。
例如,从资源池注册表中有从节点A、从节点B和从节点C三个从节点,对资源池注册表进行查询,得到从节点A和从节点B为在线状态,则从节点A和从节点B为第一从节点。
S402、主节点根据待调度任务使用的资源量,从一个或多个第一从节点中选择至少一个第二从节点。
其中,第二从节点的空闲资源量大于或等于待调度任务使用的资源量。
一种可能的实现方式中,主节点从数据库中查询与待调度任务相对应的历史调度任务,从而确定待调度任务的所要用的资源量。若未查询到待调度任务与要用资源量之间的关系,则将待调度任务的资源量规定为其他历史任务所用资源量的平均值。
一种示例中,当调度任务A与调度任务B的类型相同,且调度任务B使用的资源量大小为10M,则可确定待调度任务A使用的资源量大小也为10M。当待调度任务C在数据库中没有与之匹配的历史调度任务,则将待调度任务使用的资源量大小设置为所有历史调度任务使用资源量的大小的平均值,如所有历史调度任务使用的资源量大小的平均值为15M。
一种可能的实现方式中,主节点从数据库中查询第一从节点与其对应的资源空闲率,并将查询结果存储在一个集合中。主节点可以计算该集合中每个第一从节点的空闲资源与待调度任务使用的资源量的差值,并将空闲资源与待调度任务使用的资源量的差值大于或等于0的第一从节点确定为第二从节点。如此,主节点可以得到至少一个第二从节点。
一种示例中,若待调度任务使用的资源量为10M,第一从节点A的空闲资源大小为15M、第一从节点B的空闲资源大小为10M、第一从节点C的空闲资源大小为5M,计算第一从节点空闲资源大小与待调度任务使用的资源量的差值,可得第一从节点A空闲资源大小与待调度任务使用的资源量的差值为15M-10M=5M,第一从节点B空闲资源大小与待调度任务使用的资源量的差值为10M-10M=0M,第一从节点C空闲资源大小与待调度任务使用的资源量的差值为5M-10M=-5M。第一从节点A与第一从节点B对应的差值大于等于零,则将第一从节点A和第一从节点B作为第二从节点。第二从节点B的空闲资源大小与待调度任务使用的资源量的差值为0,表示第二从节点不能再执行任务。
进一步的,对于至少一个第二从节点,主节点可以根据空闲资源大小与待调度任务使用的资源量的差值,将至少一个第二从节点按照从大到小的顺序进行排序。
S403、主节点根据从节点的执行任务时长,从至少一个第二从节点中选择目标从节点。
其中,目标从节点是指可以执行待调度任务的从节点。
一种可能的实现方式中,主节点可以在数据库中查询第二从节点、待调度的任务和从节点的执行任务时长,若没有得到查询结果,表示待调度任务没有对应的从节点的执行任务时长,则主节点将资源空闲率最大的从节点作为目标从节点。
若待调度的任务有对应的从节点的执行任务时长,则将从节点的执行任务时长最小的第二从节点作为目标从节点。
若多个第二从节点的执行任务时长相同,主节点可以根据第二从节点的空闲资源与待调度任务使用的资源量的差值,将差值最大的第二从节点作为目标从节点。
基于图4的技术方案,主节点根据从节点提供的预设指标数据确定执行调度任务的从节点,能准确找到适合执行调度任务的从节点。预设指标从多个维度进行计算分析,能避免使用单一维度进行任务调度造成的任务调度不合理现象。
图5为本申请实施例提供的另一种任务的分配方法流程示意图,如图5所示,该方法包括:
S501、主节点在向目标从节点发送指示信息之后,更新多个预设指标的值。
其中,主节点向目标从节点发送指示信息后,目标从节点可以调用资源执行该待调度任务。
一种示例中,当目标从节点开始执行待调度任务时,由于目标从节点调用资源去执行调度任务,因此,目标从节点的资源空闲率发生变化。
为了保证后续需要为其他调度任务分配从节点时,从节点的预设指标的值的及时性和准确性,主节点再次获取目标从节点当前的资源空闲率,并将存储的目标从节点的资源空闲率的值更新为当前的资源空闲率。
一种示例中,当主节点向目标从节点发送指示信息后,主节点又获取到需要调度的任务,则主节点可以根据更新后的多个预设指标的值,从多个从节点中选择第三从节点,并向第三从节点发送用于执行该需要调度的任务的指示信息。第三从节点可以与目标从节点相同,也可以不同。
基于图5的技术方案,主节点在向目标从节点发送指示信息之后,主节点更新多个预设指标的值,可以为未调度的任务提供更准确的信息,以便主节点分发任务更为准确、合理。
图6为本申请实施例提供的另一种任务的分配方法流程示意图,如图6所示,该方法包括:
S601、主节点获取待调度任务。
其中,S601可以参照上述S301的描述,不予赘述。
S602、主节点根据多个预设指标,从与主节点连接的多个从节点中选择目标从节点。
其中,S602可以参照上述S302的描述,不予赘述。
S603、主节点指示目标从节点执行调度任务。
其中,S603可以参照上述S304的描述,不予赘述。
图7为本申请实施例提供的另一种任务的分配方法流程示意图,如图7所示,该方法包括:
S701、目标从节点接收来自主节点的指示信息。
其中,S701可以参照上述S303的描述,不予赘述。
S702、目标从节点根据指示信息,执行待调度任务。
其中,S702可以参照上述S304的描述,不予赘述。
S703、目标从节点向主节点发送目标从节点的资源信息。
其中,S703可以参照上述S501的描述,不予赘述。
本申请上述实施例中的各个方案在不矛盾的前提下,均可以进行结合。
本申请实施例可以根据上述方法示例对分配装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出了一种分配装置80的结构示意图,该分配装置80可以用于执行上述实施例中主节点涉及的功能。图8所示的分配装置80可以包括:获取单元801、选择单元802、发送单元803、处理单元804和更新单元805。
获取单元801,用于获取待调度任务;
选择单元802,用于根据多个预设指标,从与主节点连接的多个从节点中选择目标从节点;多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;
发送单元803,用于向目标从节点发送指示信息,指示信息用于指示目标从节点执行待调度任务。
一种可能的实现方式中,选择单元802,具体用于:根据多个从节点的在线状态,从多个从节点中选择处于在线状态的一个或多个第一从节点;根据待调度任务使用的资源量,从一个或多个第一从节点中选择至少一个第二从节点,第二从节点的空闲资源量大于或等于待调度任务使用的资源量;根据从节点的执行任务时长,从至少一个第二从节点中选择目标从节点。
一种可能的实现方式中,处理单元804,用于:若至少一个第二从节点执行过任务,则将至少一个第二从节点中执行任务时长最小的从节点作为目标从节点;若至少一个第二从节点未执行过任务,则将至少一个第二从节点中资源空闲率最大的从节点作为目标从节点。
一种可能的实现方式中,更新单元805,用于:在向目标从节点发送指示信息之后,更新多个预设指标的值。
作为又一种可能的实现方式,图8中的处理单元804可以由处理器代替,该处理器可以集成处理单元804的功能。
进一步的,当处理单元804由处理器代替时,本申请实施例所涉及的分配装置80可以为图2所示的分配装置。
在采用对应各个功能划分各个功能模块的情况下,图9示出了另一种分配装置90的结构示意图,该分配装置90可以用于执行上述实施例中目标从节点涉及的功能。图9所示的分配装置90可以包括:接收单元901、处理单元902和发送单元903。
接收单元901,用于接收来自主节点的指示信息,指示信息用于执行待调度任务;其中,目标从节点是主节点根据多个预设指标从与主节点连接的多个从节点中确定的;多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;
处理单元902,用于根据指示信息,执行待调度任务。
一种可能的实现方式中,目标从节点是主节点根据从节点的任务时长,从至少一个第二从节点中确定的,至少一个第二从节点是主节点根据待调度任务使用的资源量,从一个或多个第一从节点中确定的,第二从节点的空闲资源量大于或等于待调度任务使用的资源量;一个或多个第一从节点是多个从节点处于在线状态的从节点。
一种可能的实现方式中,若至少一个第二从节点执行过任务,则目标从节点为至少一个第二从节点中执行任务时长最小的从节点;若至少一个第二从节点未执行过任务,则目标从节点为至少一个第二从节点中资源空闲率最大的从节点。
一种可能的实现方式中,发送单元903,用于:向主节点发送目标从节点的资源信息,资源信息用于指示目标从节点的资源使用情况以及目标从节点执行任务情况。
作为又一种可能的实现方式,图9中的处理单元902可以由处理器代替,该处理器可以集成处理单元902的功能。
进一步的,当处理单元902由处理器代替时,本申请实施例所涉及的分配装置90可以为图2所示的分配装置。
本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机程序来指令相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的分配装置(包括数据发送端和/或数据接收端)的内部存储单元,例如分配装置的硬盘或内存。上述计算机可读存储介质也可以是上述终端装置的外部存储设备,例如上述终端装置上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述分配装置的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述分配装置所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种任务的分配方法,其特征在于,所述方法包括:
主节点获取待调度任务;
所述主节点根据多个预设指标,从与所述主节点连接的多个从节点中选择目标从节点;所述多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;
所述主节点向所述目标从节点发送指示信息,所述指示信息用于指示所述目标从节点执行所述待调度任务。
2.根据权利要求1所述的方法,其特征在于,所述主节点根据多个预设指标,从所述多个从节点中选择目标从节点,包括:
所述主节点根据所述多个从节点的在线状态,从所述多个从节点中选择处于在线状态的一个或多个第一从节点;
所述主节点根据所述待调度任务使用的资源量,从所述一个或多个第一从节点中选择至少一个第二从节点,所述第二从节点的空闲资源量大于或等于所述待调度任务使用的资源量;
所述主节点根据所述从节点的执行任务时长,从所述至少一个第二从节点中选择所述目标从节点。
3.根据权利要求2所述的方法,其特征在于,所述主节点根据所述从节点的执行任务时长,从所述至少一个第二从节点中选择所述目标从节点,包括:
若所述至少一个第二从节点执行过任务,则所述主节点将所述至少一个第二从节点中执行任务时长最小的从节点作为所述目标从节点;
若所述至少一个第二从节点未执行过任务,则所述主节点将所述至少一个第二从节点中资源空闲率最大的从节点作为所述目标从节点。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
在向所述目标从节点发送所述指示信息之后,所述主节点更新所述多个预设指标的值。
5.一种任务的分配方法,其特征在于,所述方法包括:
目标从节点接收来自主节点的指示信息,所述指示信息用于执行待调度任务;其中,所述目标从节点是所述主节点根据多个预设指标从与所述主节点连接的多个从节点中确定的;所述多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;
所述目标从节点根据所述指示信息,执行所述待调度任务。
6.根据权利要求5所述的方法,其特征在于,
所述目标从节点是所述主节点根据从节点的任务时长,从至少一5个从节点中确定的,所述至少一个第二从节点是所述主节点根据所述待调度任务使用的资源量,从一个或多个第一从节点中确定的,所述第二从节点的空闲资源量大于或等于所述待调度任务使用的资源量;
所述一个或多个第一从节点是所述多个从节点处于在线状态的从节点。
7.根据权利要求6所述的方法,其特征在于,
0若所述至少一个第二从节点执行过任务,则所述目标从节点为所述至少一个第二从节点中执行任务时长最小的从节点;
若所述至少一个第二从节点未执行过任务,则所述目标从节点为至少一个第二从节点中资源空闲率最大的从节点。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述方法还5包括:
所述目标从节点向所述主节点发送所述目标从节点的资源信息,所述资源信息用于指示所述目标从节点的资源使用情况以及所述目标从节点执行任务情况。
9.一种任务的分配装置,其特征在于,应用于主节点,所述装置0包括:
获取单元,用于获取待调度任务;
选择单元,用于根据多个预设指标,从与所述主节点连接的多个从节点中选择目标从节点;所述多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使5用的资源量;
发送单元,用于向所述目标从节点发送指示信息,所述指示信息用于指示所述目标从节点执行所述待调度任务。
10.根据权利要求9所述的装置,其特征在于,所述选择单元,具体用于:
0根据所述多个从节点的在线状态,从所述多个从节点中选择处于在线状态的一个或多个第一从节点;
根据所述待调度任务使用的资源量,从所述一个或多个第一从节点中选择至少一个第二从节点,所述第二从节点的空闲资源量大于或等于所述待调度任务使用的资源量;
根据所述从节点的执行任务时长,从所述至少一个第二从节点中选择所述目标从节点。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括处理单元,用于:
若所述至少一个第二从节点执行过任务,则将所述至少一个第二从节点中执行任务时长最小的从节点作为所述目标从节点;
若所述至少一个第二从节点未执行过任务,则将所述至少一个第二从节点中资源空闲率最大的从节点作为所述目标从节点。
12.根据权利要求9-11任一项所述的装置,其特征在于,所述装置还包括更新单元,用于:
在向所述目标从节点发送所述指示信息之后,更新所述多个预设指标的值。
13.一种任务的分配装置,其特征在于,应用于目标从节点,所述装置包括:
接收单元,用于接收来自主节点的指示信息,所述指示信息用于执行待调度任务;其中,所述目标从节点是所述主节点根据多个预设指标从与所述主节点连接的多个从节点中确定的;所述多个预设指标至少包括从节点的资源空闲率、从节点的在线状态、从节点的执行任务时长、待调度任务使用的资源量;
处理单元,用于根据所述指示信息,执行所述待调度任务。
14.根据权利要求13所述的装置,其特征在于,
所述目标从节点是所述主节点根据从节点的任务时长,从至少一个第二从节点中确定的,所述至少一个第二从节点是所述主节点根据所述待调度任务使用的资源量,从一个或多个第一从节点中确定的,所述第二从节点的空闲资源量大于或等于所述待调度任务使用的资源量;所述一个或多个第一从节点是所述多个从节点处于在线状态的从节点。
15.根据权利要求14所述的装置,其特征在于,
若所述至少一个第二从节点执行过任务,则所述目标从节点为所述至少一个第二从节点中执行任务时长最小的从节点;
若所述至少一个第二从节点未执行过任务,则所述目标从节点为所至少一个第二从节点中资源空闲率最大的从节点。
16.根据权利要求13-15任一项所述的装置,其特征在于,所述装置还包括发送单元,用于:
向所述主节点发送所述目标从节点的资源信息,所述资源信息用于指示所述目标从节点的资源使用情况以及所述目标从节点执行任务情况。
17.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有指令,当所述指令被执行时,实现如权利要求1-8任一项所述的方法。
18.一种任务的分配装置,其特征在于,包括:处理器、存储器和通信接口;其中,通信接口用于所述分配装置和网络通信;所述存储器用于存储一个或多个程序,该一个或多个程序包括计算机执行指令,当该装置运行时,处理器执行该存储器存储的该计算机执行指令,以使该装置执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211586471.6A CN116302467A (zh) | 2022-12-09 | 2022-12-09 | 任务的分配方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211586471.6A CN116302467A (zh) | 2022-12-09 | 2022-12-09 | 任务的分配方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302467A true CN116302467A (zh) | 2023-06-23 |
Family
ID=86824614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211586471.6A Pending CN116302467A (zh) | 2022-12-09 | 2022-12-09 | 任务的分配方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302467A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707797A (zh) * | 2024-02-06 | 2024-03-15 | 湘江实验室 | 基于分布式云平台的任务调度方法、装置及相关设备 |
-
2022
- 2022-12-09 CN CN202211586471.6A patent/CN116302467A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707797A (zh) * | 2024-02-06 | 2024-03-15 | 湘江实验室 | 基于分布式云平台的任务调度方法、装置及相关设备 |
CN117707797B (zh) * | 2024-02-06 | 2024-05-03 | 湘江实验室 | 基于分布式云平台的任务调度方法、装置及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489391B (zh) | 一种数据处理方法及相关设备 | |
US20210240721A1 (en) | Application Recommending Method and System, and Server | |
CN109218133B (zh) | 网络速度测试系统、方法、装置及计算机可读存储介质 | |
EP3410288B1 (en) | Online upgrade method, device and system | |
CN110489126B (zh) | 编译任务的执行方法和装置、存储介质及电子装置 | |
US20110258634A1 (en) | Method for Monitoring Operating Experiences of Images to Improve Workload Optimization in Cloud Computing Environments | |
CN110677493B (zh) | 服务状态确定方法及装置、计算机装置及存储介质 | |
US20090235250A1 (en) | Management machine, management system, management program, and management method | |
JP2014032674A (ja) | 仮想マシンのリソース配置システム及びその方法 | |
CN106713042B (zh) | 一种确定网络拓扑方法及装置 | |
CN111625419B (zh) | 一种日志采集方法、系统、设备及计算机可读存储介质 | |
CN110290166B (zh) | 跨集群数据交互方法、系统、装置及可读存储介质 | |
CN105045714A (zh) | 一种应用软件启动时长的测试方法、装置及终端 | |
CN108509256B (zh) | 调度运行设备的方法、设备和运行设备 | |
CN116302467A (zh) | 任务的分配方法、装置及存储介质 | |
CN108121599A (zh) | 一种资源管理方法、装置及系统 | |
CN116954873B (zh) | 异构计算系统及其算力节点选择方法、装置、设备、介质 | |
CN108052444A (zh) | 一种用于移动应用的性能测试的方法与装置 | |
CN114661462A (zh) | 资源分配方法、系统、计算机可读存储介质及电子设备 | |
EP3329429A1 (en) | Quorum based distributed anomaly detection and repair | |
CN115118784A (zh) | 算力资源的调度方法、装置及系统 | |
CN109962914B (zh) | 一种防火墙配置方法及装置 | |
CN112463376A (zh) | 一种资源分配方法及装置 | |
CN111784185A (zh) | 一种分布式配电通信网定时任务调度系统 | |
CN108418730B (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 |