CN110287009A - 一种工作节点选择方法、装置、存储介质及服务器 - Google Patents
一种工作节点选择方法、装置、存储介质及服务器 Download PDFInfo
- Publication number
- CN110287009A CN110287009A CN201910452781.0A CN201910452781A CN110287009A CN 110287009 A CN110287009 A CN 110287009A CN 201910452781 A CN201910452781 A CN 201910452781A CN 110287009 A CN110287009 A CN 110287009A
- Authority
- CN
- China
- Prior art keywords
- node
- working node
- task
- working
- business
- 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
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种工作节点选择方法、装置、存储介质及服务器,其中,方法包括:当接收到业务任务时,获取所述业务任务的任务类型;基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;基于所述工作节点集合中各工作节点在键值存储系统ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。因此,采用本申请实施例,可以避免某个工作节点故障或任务繁重时仍继续接收新任务所导致的负荷问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种工作节点选择方法、装置、存储介质及服务器。
背景技术
在现有的分布式调度系统中,当接收到业务任务时,通常是直接将该任务随机或顺序的发送给一个调度节点,并由该调度节点分配给其下的某一工作节点处理该业务任务。例如,当系统接到业务任务1时,可以将业务任务1分配至调度节点1,再由调度节点1顺序分配给其下的工作节点1进行任务处理。当调度节点1在接收到业务任务2后,将该业务任务2分配给其下的工作节点2进行任务处理,依次类推。而一旦某个工作节点发生故障,调度节点仍然会将业务任务分配至该工作节点,从而将导致业务任务无法处理。
发明内容
本申请实施例提供了一种工作节点选择方法、装置、存储介质及服务器,可以避免某个工作节点故障或任务繁重时仍继续接收新任务所导致的负荷问题。所述技术方案如下:
第一方面,本申请实施例提供了一种工作节点选择方法,所述方法包括:
当接收到业务任务时,获取所述业务任务的任务类型;
基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;
基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。
可选的,所述在所述工作节点集合中确定最优工作节点之后,还包括:
将所述业务任务对应的业务数据发送至所述最优工作节点进行处理。
可选的,所述基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合,包括:
获取各调度节点下各工作节点的节点性能,在所述各工作节点的节点性能中查找与所述任务类型相匹配的目标节点性能;
将所述目标节点性能所指示的工作节点确定为可处理所述业务任务的工作节点集合。
可选的,所述基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点,包括:
比对所述各工作节点在ETCD中记录的当前节点指标,并在所述各工作节点在ETCD中记录的当前节点指标中确定最优的当前节点指标;
将所述最优的当前节点指标所指示的工作节点确定为最优工作节点。
可选的,所述当接收到业务任务时,获取所述业务任务的任务类型之前,还包括:
将各调度节点在ETCD中进行注册,得到各注册调度节点;
将所述各调度节点下各工作节点的当前节点指标记录在所述各注册调度节点下。
第二方面,本申请实施例提供了一种工作节点选择装置,所述装置包括:
类型获取模块,用于当接收到业务任务时,获取所述业务任务的任务类型;
集合获取模块,用于基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;
节点确定模块,用于基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。
可选的,所述装置还包括:
数据发送模块,用于将所述业务任务对应的业务数据发送至所述最优工作节点进行处理。
可选的,所述集合获取模块,包括:
性能查找单元,用于获取各调度节点下各工作节点的节点性能,在所述各工作节点的节点性能中查找与所述任务类型相匹配的目标节点性能;
集合确定单元,用于将所述目标节点性能所指示的工作节点确定为可处理所述业务任务的工作节点集合。
可选的,所述节点确定模块,包括:
指标确定单元,用于比对所述各工作节点在ETCD中记录的当前节点指标,并在所述各工作节点在ETCD中记录的当前节点指标中确定最优的当前节点指标;
节点确定单元,用于将所述最优的当前节点指标所指示的工作节点确定为最优工作节点。
可选的,所述装置还包括:
节点注册模块,用于将各调度节点在ETCD中进行注册,得到各注册调度节点;
指标记录模块,用于将所述各调度节点下各工作节点的当前节点指标记录在所述各注册调度节点下。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种服务器,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请一个或多个实施例中,当接收到业务任务时,获取所述业务任务的任务类型;基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。调度节点可以通过ETCD确定其各个工作节点的当前节点指标,并将任务分配给最适合处理业务任务的工作节点,从而可以避免某个工作节点故障或任务繁重时仍继续接收新任务所导致的负荷问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种工作节点选择系统的网络架构示意图;
图2是本申请实施例提供的一种工作节点选择方法的流程示意图;
图3是本申请实施例提供的一种工作节点选择方法的流程示意图;
图4是本申请实施例提供的一种工作节点选择装置的结构示意图;
图5是本申请实施例提供的一种工作节点选择装置的结构示意图;
图6是本申请实施例提供的一种集合获取模块的结构示意图;
图7是本申请实施例提供的一种节点确定模块的结构示意图;
图8是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面结合具体的实施例对本申请进行说明。
请参见图1,为本申请实施例提供的一种工作节点选择系统的网络架构示意图。如图1所示,所述网络架构可以包括分布式调度系统,在该分布式调度系统中包括键值存储系统(a distributed,consistent key-value store for shared configuration andservice discovery,ETCD)。在分布式调度系统中还包括多个调度节点,如调度节点1、调度节点2、…、调度节点n,用于分配所接收到的业务任务,在每个调度节点下包括多个工作节点(worker节点),如在调度节点1下包括工作节点11、工作节点12、…、工作节点1n,用于处理业务任务。
对于ETCD,是一个分布式的,一致的key-value存储,主要用途是共享配置和服务发现,有四个核心特点:
简单:基于HTTP+JSON的API,用curl命令就可以轻松使用。
安全:可选SSL客户认证机制。
快速:每个实例每秒支持一千次写操作。
可信:使用Raft算法充分实现了分布式。
所述分布式调度系统可以为具备调度处理功能的服务器。分布式调度系统将各调度节点在ETCD中进行注册,得到各个注册调度节点,如注册调度节点1、注册调度节点2、…、注册调度节点n。在每个注册调度节点下存储有各工作节点的当前节点指标,如在注册调度节点1下存储有工作节点11的当前节点指标11、工作节点12的当前节点指标12、…、工作节点1n的当前节点指标1n。
其中,当前节点指标是指工作节点在当前时刻的工作指标、性能和/或状态,包括但不限于中央处理器CPU、输入/输出(Input/Output,IO)、计算机内部存储空间(MEMORY)、磁盘(DISK)、处理任务数量等。
需要说明的是,分布式表明平台是分布式部署的,各个节点之间可以无状态和无限的水平扩展。
任务调度是指基于给定的时间点,给定的时间间隔或者给定执行次数自动的执行任务。任务调度是操作系统的重要组成部分,而对于实时的操作系统,任务调度直接影响着操作系统的实时性能。任务调度涉及到多线程并发、运行时间规则定制及解析、线程池的维护、任务状态管理、任务调度请求的发送与接收、具体任务的分配、任务的具体执行等诸多方面的工作。
一个分布式任务调度系统包括以下模块:web模块、server模块、scheduler模块、worker模块、注册中心。其中:
web模块:用来提供任务的信息,控制任务的状态、信息展示等;
server模块:负责接收web端传来的任务执行的信息,下发任务调度请求给scheduler模块,会去注册中心进行注册;
scheduler模块:接收server端传来的任务调度请求,将任务进行更加细化的拆分然后下发,到注册中心进行注册,获取到可以干活的worker;
worker模块:负责具体的任务执行;
注册中心。
在本申请实施例中,调度节点即scheduler模块,工作节点即worker模块,注册中心即为ETCD。
如图1所示,当分布式调度系统接收到业务任务时,获取所述业务任务的任务类型;
所述任务类型可基于任务的数据量进行划分,包括数据量大的任务以及数据量小的任务。对于数据量大的任务,可以包括视频剪辑,人脸识别,视频编解码等,对于数据量小的任务,可以包括图片裁剪、图片标记等。
基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;
由于在调度节点中存储着各个工作节点的性能、CPU、IO等节点信息,通过获取各调度节点下各工作节点的节点性能,在所述各工作节点的节点性能中查找与所述任务类型相匹配的目标节点性能,将所述目标节点性能所指示的工作节点确定为可处理所述业务任务的工作节点集合。
例如,低性能的worker节点无法处理人脸识别、视频编解码等需要GPU运算的服务器,因此当任务类型为人脸识别时,则会选择有高性能的worker节点可以处理。同理,普通不需要高性能的任务则交由低性能的worker节点处理。
基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点;
具体可通过比对所述各工作节点在ETCD中记录的当前节点指标,并在所述各工作节点在ETCD中记录的当前节点指标中确定最优的当前节点指标,再将所述最优的当前节点指标所指示的工作节点确定为最优工作节点。
最优工作节点可理解为处理效率最高的工作节点。
将所述业务任务对应的业务数据发送至所述最优工作节点进行处理。
也就是说,在选定最优工作节点后,将该业务任务分配至该最优工作节点所述的调度节点,并由该调度节点将业务任务的业务数据发送到ETCD中该最优工作节点的注册节点上,当该最优工作节点监测到ETCD中,属于自身的注册节点中存在业务数据后,从注册节点接收业务数据并开始处理该业务任务。
在本申请一个或多个实施例中,当接收到业务任务时,获取所述业务任务的任务类型;基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。调度节点可以通过ETCD确定其各个工作节点的当前节点指标,并将任务分配给最适合处理业务任务的工作节点,从而可以避免某个工作节点故障或任务繁重时仍继续接收新任务所导致的负荷问题。
下面将结合附图2-附图3,对本申请实施例提供的工作节点选择方法进行详细介绍。其中,本申请实施例中的工作节点选择装置可以是图1所示的分布式调度系统,所述分布式调度系统可以为具备应用调度处理功能的服务器。
请参见图2,为本申请实施例提供的一种工作节点选择方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:
S101,当接收到业务任务时,获取所述业务任务的任务类型;
业务任务是指通过用户在用户终端上的操作或者开发人员在监控管理服务器上的操作所生成的通信任务。
针对不同的通信任务,其对应的任务类型不同。所述任务类型可基于任务的数据量进行划分,包括数据量大的任务以及数据量小的任务。对于数据量大的任务,可以包括视频剪辑,人脸识别,视频编解码等,对于数据量小的任务,可以包括图片裁剪、图片标记等。
在可行的实现方式中,获取业务任务的任务类型,可以为对业务任务所包含的任务信息进行解析,从而确定任务类型。还可以为基于业务任务的任务标识确定任务类型,如任务标识可以为任务名称,任务关键字等,如“视频”、“音频”、“图片”、“人脸识别”等,预设的数据量大的任务类型包括“音频”、“视频”、“人脸识别”,预设的数据量小的任务类型包括“图片”,通过将任务标识与预设的任务类型进行匹配,从而确定该业务任务的任务类型。
S102,基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;
在各调度节点下包括多个工作节点,对于所有的工作节点,有些工作节点可以处理当前的业务任务,有些节点不可以处理当前的业务任务。
由于在调度节点中存储着各个工作节点的性能,通过获取各调度节点下各工作节点的节点性能,在所述各工作节点的节点性能中查找与所述任务类型相匹配的目标节点性能,将所述目标节点性能所指示的工作节点确定为可处理所述业务任务的工作节点集合。
例如,低性能的worker节点无法处理人脸识别、视频编解码等需要GPU运算的服务,因此当任务类型为人脸识别时,则会选择有高性能的worker节点可以处理。同理,普通不需要高性能的任务则交由低性能的worker节点处理。
其中,所确定的工作节点集合可以是同一调度节点下的工作节点,也可以是不同调度节点下的工作节点。
例如,所确定的工作节点集合包括调度节点1下的工作节点11和工作节点12,以及调度节点2下的工作节点21。
S103,基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。
对于ETCD,是一个分布式的,一致的key-value存储,主要用途是共享配置和服务发现,有四个核心特点:
简单:基于HTTP+JSON的API,用curl命令就可以轻松使用。
安全:可选SSL客户认证机制。
快速:每个实例每秒支持一千次写操作。
可信:使用Raft算法充分实现了分布式。
在ETCD中有各调度节点的注册信息,可以理解为,各调度节点的节点标识存储在ETCD中。
同时,每个调度节点下工作节点的节点指标则存储在各节点标识下。节点指标可以包括各工作节点的CPU,IO,缓存,MEM、DISK、处理任务数量等信息。
由于每个工作节点的处理任务以及处理进度等不尽相同,且当不断接收到新的业务任务时,节点指标实时变化。因此,当前节点指标则是指工作节点在当前时刻的任务处理情况。该当前节点指标为工作节点向ETCD中注册调度节点实时上报的,ETCD则对该节点指标进行实时更新。
其中,工作节点的当前节点信息在ETCD中的存储形式可以如表1所示。在调度节点下包括调度节点1、调度节点2、…调度节点n等多个调度节点,在每个调度节点下分别对应多个工作节点,每个工作节点分别对应当前节点信息。
表1
具体实现中,通过比对所确定的工作节点集合中各工作节点的当前节点指标,确定出最优的(如处理效率最高)的当前节点指标,将该当前节点指标对应的工作节点作为最优工作节点,用于处理该业务任务。
在本申请一个或多个实施例中,当接收到业务任务时,获取所述业务任务的任务类型;基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。调度节点可以通过ETCD确定其各个工作节点的当前节点指标,并将任务分配给最适合处理业务任务的工作节点,从而可以避免某个工作节点故障或任务繁重时仍继续接收新任务所导致的负荷问题。
请参见图3,为本申请实施例提供的一种工作节点选择方法的流程示意图。本实施例以工作节点选择方法应用于服务器中来举例说明。该工作节点选择方法可以包括以下步骤:
S201,将各调度节点在ETCD中进行注册,得到各注册调度节点;
可以理解为,将各调度节点的节点信息(如节点标识、节点性能)在ETCD中进行登记注册,并将登记注册后的节点作为注册调度节点。也就是说,ETCD中存储了各调度节点的相关信息。
S202,将所述各调度节点下各工作节点的当前节点指标记录在所述各注册调度节点下;
记录在注册调度节点下,可以理解为,在ETCD中所存储的是调度节点与当前节点指标的对应关系,且是一对多的对应关系。
S203,当接收到业务任务时,获取所述业务任务的任务类型;
具体可参见S101,此处不再赘述。
S204,获取各调度节点下各工作节点的节点性能,在所述各工作节点的节点性能中查找与所述任务类型相匹配的目标节点性能;
由于在调度节点中存储着各个工作节点的CPU、IO等节点性能,通过依次遍历各工作节点的节点性能,并将当前遍历到的工作节点的节点性能与任务类型相匹配,若匹配成功,则对该工作节点进行标注,并继续匹配下一个工作节点,采用相同的方式匹配所有工作节点的节点性能后,确定所标注的各工作节点。
例如,低性能的worker节点无法处理人脸识别、视频编解码等需要GPU运算的服务,因此当任务类型为人脸识别时,则会选择有高性能的worker节点可以处理。同理,普通不需要高性能的任务则交由低性能的worker节点处理。
其中,所确定的工作节点集合可以是同一调度节点下的工作节点,也可以是不同调度节点下的工作节点。
S205,将所述目标节点性能所指示的工作节点确定为可处理所述业务任务的工作节点集合;
即将上述所标注的工作节点确定为可处理所述业务任务的工作节点集合。
例如,一共有10个调度节点,每个调度节点下包括10个工作节点,通过上述匹配后,对其中20个工作节点进行了标注,因此,确定这20个工作节点为可处理所述业务任务的工作节点。
S206,比对所述各工作节点在ETCD中记录的当前节点指标,并在所述各工作节点在ETCD中记录的当前节点指标中确定最优的当前节点指标;
在确定了可处理所述业务任务的工作节点集合后,为了更精确的确定其中最适合处理该业务任务的工作节点,则需要比较这些工作节点的当前节点指标。具体可以为通过访问ETCD中这些工作节点的当前节点指标,如工作节点的性能、CPU、IO、MEM、DISK、处理任务数量等,从而确定其中处理效率最高的当前节点指标。
S207,将所述最优的当前节点指标所指示的工作节点确定为最优工作节点;
S208,将所述业务任务对应的业务数据发送至所述最优工作节点进行处理。
也就是说,在选定最优工作节点后,将该业务任务分配至该最优工作节点对应的调度节点,并由该调度节点将业务任务的业务数据发送到ETCD中该最优工作节点的注册节点上,当该最优工作节点监测到ETCD中,属于自身的注册节点中存在业务数据后,从注册节点接收业务数据并开始处理该业务任务。
在本申请一个或多个实施例中,当接收到业务任务时,获取所述业务任务的任务类型;基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。调度节点可以通过ETCD确定其各个工作节点的当前节点指标,并将任务分配给最适合处理业务任务的工作节点,从而可以避免某个工作节点故障或任务繁重时仍继续接收新任务所导致的负荷问题。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图4,其示出了本申请一个示例性实施例提供的工作节点选择装置的结构示意图。该工作节点选择装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置1包括类型获取模块10、集合获取模块20和节点确定模块30。
类型获取模块10,用于当接收到业务任务时,获取所述业务任务的任务类型;
集合获取模块20,用于基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;
节点确定模块30,用于基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。
可选的,如图5所示,所述装置还包括:
数据发送模块40,用于将所述业务任务对应的业务数据发送至所述最优工作节点进行处理。
可选的,如图6所示,所述集合获取模块20,包括:
性能查找单元201,用于获取各调度节点下各工作节点的节点性能,在所述各工作节点的节点性能中查找与所述任务类型相匹配的目标节点性能;
集合确定单元202,用于将所述目标节点性能所指示的工作节点确定为可处理所述业务任务的工作节点集合。
可选的,如图7所示,所述节点确定模块30,包括:
指标确定单元301,用于比对所述各工作节点在ETCD中记录的当前节点指标,并在所述各工作节点在ETCD中记录的当前节点指标中确定最优的当前节点指标;
节点确定单元302,用于将所述最优的当前节点指标所指示的工作节点确定为最优工作节点。
可选的,如图5所示,所述装置还包括:
节点注册模块50,用于将各调度节点在ETCD中进行注册,得到各注册调度节点;
指标记录模块60,用于将所述各调度节点下各工作节点的当前节点指标记录在所述各注册调度节点下。
需要说明的是,上述实施例提供的工作节点选择装置在执行工作节点选择方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的工作节点选择装置与工作节点选择方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请一个或多个实施例中,当接收到业务任务时,获取所述业务任务的任务类型;基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。调度节点可以通过ETCD确定其各个工作节点的当前节点指标,并将任务分配给最适合处理业务任务的工作节点,从而可以避免某个工作节点故障或任务繁重时仍继续接收新任务所导致的负荷问题。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2-图3所示实施例的方法步骤,具体执行过程可以参见图2-图3所示实施例的具体说明,在此不进行赘述。
请参见图8,为本申请实施例提供了一种服务器的结构示意图。如图8所示,所述服务器1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个服务器1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行服务器1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及工作节点选择应用程序。
在图8所示的服务器1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的工作节点选择应用程序,并具体执行以下操作:
当接收到业务任务时,获取所述业务任务的任务类型;
基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;
基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。
在一个实施例中,所述处理器1001在执行在所述工作节点集合中确定最优工作节点之后,还执行以下操作:
将所述业务任务对应的业务数据发送至所述最优工作节点进行处理。
在一个实施例中,所述处理器1001在执行基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合时,具体执行以下操作:
获取各调度节点下各工作节点的节点性能,在所述各工作节点的节点性能中查找与所述任务类型相匹配的目标节点性能;
将所述目标节点性能所指示的工作节点确定为可处理所述业务任务的工作节点集合。
在一个实施例中,所述处理器1001在执行基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点时,具体执行以下操作:
比对所述各工作节点在ETCD中记录的当前节点指标,并在所述各工作节点在ETCD中记录的当前节点指标中确定最优的当前节点指标;
将所述最优的当前节点指标所指示的工作节点确定为最优工作节点。
在一个实施例中,所述处理器1001在执行当接收到业务任务时,获取所述业务任务的任务类型之前,还执行以下操作:
将各调度节点在ETCD中进行注册,得到各注册调度节点;
将所述各调度节点下各工作节点的当前节点指标记录在所述各注册调度节点下。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请一个或多个实施例中,当接收到业务任务时,获取所述业务任务的任务类型;基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。调度节点可以通过ETCD确定其各个工作节点的当前节点指标,并将任务分配给最适合处理业务任务的工作节点,从而可以避免某个工作节点故障或任务繁重时仍继续接收新任务所导致的负荷问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种工作节点选择方法,其特征在于,所述方法包括:
当接收到业务任务时,获取所述业务任务的任务类型;
基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;
基于所述工作节点集合中各工作节点在键值存储系统ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。
2.根据权利要求1所述的方法,其特征在于,所述在所述工作节点集合中确定最优工作节点之后,还包括:
将所述业务任务对应的业务数据发送至所述最优工作节点进行处理。
3.根据权利要求1所述的方法,其特征在于,所述基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合,包括:
获取各调度节点下各工作节点的节点性能,在所述各工作节点的节点性能中查找与所述任务类型相匹配的目标节点性能;
将所述目标节点性能所指示的工作节点确定为可处理所述业务任务的工作节点集合。
4.根据权利要求1所述的方法,其特征在于,所述基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点,包括:
比对所述各工作节点在ETCD中记录的当前节点指标,并在所述各工作节点在ETCD中记录的当前节点指标中确定最优的当前节点指标;
将所述最优的当前节点指标所指示的工作节点确定为最优工作节点。
5.根据权利要求1所述的方法,其特征在于,所述当接收到业务任务时,获取所述业务任务的任务类型之前,还包括:
将各调度节点在ETCD中进行注册,得到各注册调度节点;
将所述各调度节点下各工作节点的当前节点指标记录在所述各注册调度节点下。
6.一种工作节点选择装置,其特征在于,所述装置包括:
类型获取模块,用于当接收到业务任务时,获取所述业务任务的任务类型;
集合获取模块,用于基于所述任务类型在各调度节点下确定可处理所述业务任务的工作节点集合;
节点确定模块,用于基于所述工作节点集合中各工作节点在ETCD中记录的当前节点指标,在所述工作节点集合中确定最优工作节点。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
数据发送模块,用于将所述业务任务对应的业务数据发送至所述最优工作节点进行处理。
8.根据权利要求6所述的装置,其特征在于,所述集合获取模块,包括:
性能查找单元,用于获取各调度节点下各工作节点的节点性能,在所述各工作节点的节点性能中查找与所述任务类型相匹配的目标节点性能;
集合确定单元,用于将所述目标节点性能所指示的工作节点确定为可处理所述业务任务的工作节点集合。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~5任意一项的方法步骤。
10.一种服务器,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~5任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910452781.0A CN110287009A (zh) | 2019-05-28 | 2019-05-28 | 一种工作节点选择方法、装置、存储介质及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910452781.0A CN110287009A (zh) | 2019-05-28 | 2019-05-28 | 一种工作节点选择方法、装置、存储介质及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110287009A true CN110287009A (zh) | 2019-09-27 |
Family
ID=68002791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910452781.0A Pending CN110287009A (zh) | 2019-05-28 | 2019-05-28 | 一种工作节点选择方法、装置、存储介质及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287009A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090517A (zh) * | 2019-11-26 | 2020-05-01 | 中国建设银行股份有限公司 | 作业调度方法、装置、设备及存储介质 |
CN111427682A (zh) * | 2020-03-11 | 2020-07-17 | 支付宝(杭州)信息技术有限公司 | 任务分配方法、系统、装置及设备 |
CN111580990A (zh) * | 2020-05-08 | 2020-08-25 | 中国建设银行股份有限公司 | 一种任务调度方法、调度节点、集中配置服务器及系统 |
CN112269647A (zh) * | 2020-10-26 | 2021-01-26 | 广州华多网络科技有限公司 | 节点调度、切换与协调方法及其相应的装置、设备、介质 |
CN112561264A (zh) * | 2020-12-04 | 2021-03-26 | 中广核工程有限公司 | 企业内容的服务方法、服务系统和存储介质 |
CN113590298A (zh) * | 2021-08-09 | 2021-11-02 | 平安银行股份有限公司 | 一种资源调度方法、装置、服务器及存储介质 |
CN114546623A (zh) * | 2022-03-01 | 2022-05-27 | 淮安市第二人民医院 | 一种基于大数据系统的任务调度方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197976A (zh) * | 2013-04-11 | 2013-07-10 | 华为技术有限公司 | 异构系统的任务处理方法及装置 |
CN106354563A (zh) * | 2016-08-29 | 2017-01-25 | 广州市香港科大霍英东研究院 | 用于3d重建的分布式计算系统以及3d重建方法 |
US20170255496A1 (en) * | 2014-11-19 | 2017-09-07 | Huawei Technologies Co., Ltd. | Method for scheduling data flow task and apparatus |
US20180074852A1 (en) * | 2016-09-14 | 2018-03-15 | Salesforce.Com, Inc. | Compact Task Deployment for Stream Processing Systems |
CN107911413A (zh) * | 2017-10-16 | 2018-04-13 | 华迪计算机集团有限公司 | 一种分布式数据服务管理系统及方法 |
CN109471708A (zh) * | 2018-10-12 | 2019-03-15 | 北京奇虎科技有限公司 | 一种任务处理方法、装置及系统 |
-
2019
- 2019-05-28 CN CN201910452781.0A patent/CN110287009A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197976A (zh) * | 2013-04-11 | 2013-07-10 | 华为技术有限公司 | 异构系统的任务处理方法及装置 |
US20170255496A1 (en) * | 2014-11-19 | 2017-09-07 | Huawei Technologies Co., Ltd. | Method for scheduling data flow task and apparatus |
CN106354563A (zh) * | 2016-08-29 | 2017-01-25 | 广州市香港科大霍英东研究院 | 用于3d重建的分布式计算系统以及3d重建方法 |
US20180074852A1 (en) * | 2016-09-14 | 2018-03-15 | Salesforce.Com, Inc. | Compact Task Deployment for Stream Processing Systems |
CN107911413A (zh) * | 2017-10-16 | 2018-04-13 | 华迪计算机集团有限公司 | 一种分布式数据服务管理系统及方法 |
CN109471708A (zh) * | 2018-10-12 | 2019-03-15 | 北京奇虎科技有限公司 | 一种任务处理方法、装置及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090517A (zh) * | 2019-11-26 | 2020-05-01 | 中国建设银行股份有限公司 | 作业调度方法、装置、设备及存储介质 |
CN111427682A (zh) * | 2020-03-11 | 2020-07-17 | 支付宝(杭州)信息技术有限公司 | 任务分配方法、系统、装置及设备 |
CN111427682B (zh) * | 2020-03-11 | 2023-09-01 | 支付宝(杭州)信息技术有限公司 | 任务分配方法、系统、装置及设备 |
CN111580990A (zh) * | 2020-05-08 | 2020-08-25 | 中国建设银行股份有限公司 | 一种任务调度方法、调度节点、集中配置服务器及系统 |
CN112269647A (zh) * | 2020-10-26 | 2021-01-26 | 广州华多网络科技有限公司 | 节点调度、切换与协调方法及其相应的装置、设备、介质 |
CN112561264A (zh) * | 2020-12-04 | 2021-03-26 | 中广核工程有限公司 | 企业内容的服务方法、服务系统和存储介质 |
CN113590298A (zh) * | 2021-08-09 | 2021-11-02 | 平安银行股份有限公司 | 一种资源调度方法、装置、服务器及存储介质 |
CN113590298B (zh) * | 2021-08-09 | 2024-03-26 | 平安银行股份有限公司 | 一种资源调度方法、装置、服务器及存储介质 |
CN114546623A (zh) * | 2022-03-01 | 2022-05-27 | 淮安市第二人民医院 | 一种基于大数据系统的任务调度方法和系统 |
CN114546623B (zh) * | 2022-03-01 | 2022-12-27 | 淮安市第二人民医院 | 一种基于大数据系统的任务调度方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287009A (zh) | 一种工作节点选择方法、装置、存储介质及服务器 | |
CN108537543B (zh) | 区块链数据的并行处理方法、装置、设备和存储介质 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN110287022A (zh) | 一种调度节点选择方法、装置、存储介质及服务器 | |
CN109152061B (zh) | 通道调配方法、装置、服务器及存储介质 | |
CN107944000B (zh) | 航班运价更新方法、装置、电子设备、存储介质 | |
CN107040578A (zh) | 数据同步方法、装置和系统 | |
WO2015130755A9 (en) | Diagnosis and optimization of cloud release pipelines | |
US8869149B2 (en) | Concurrency identification for processing of multistage workflows | |
CN107451062B (zh) | 一种用户界面遍历测试方法、装置、服务器、存储介质 | |
US20170185454A1 (en) | Method and Electronic Device for Determining Resource Consumption of Task | |
CN101719852B (zh) | 一种中间件性能的监控方法和设备 | |
CN105793822A (zh) | 动态混洗重新配置 | |
CN110390493B (zh) | 任务管理方法、装置、存储介质及电子设备 | |
WO2021082649A1 (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN111552550A (zh) | 一种基于图形处理器gpu资源的任务调度方法、设备及介质 | |
CN109634764A (zh) | 工作流控制方法、装置、设备、存储介质和系统 | |
CN105765537A (zh) | 持久混洗系统 | |
CN113391901A (zh) | Rpa机器人的管理方法、装置、设备及存储介质 | |
US20220236983A1 (en) | Computer Implementation Method for Software Architecture Analysis and Software Architecture Analysis Apparatus | |
CN109240899A (zh) | 信息获取方法和装置 | |
CN110231981A (zh) | 服务调用方法及装置 | |
CN112884376A (zh) | 工单处理方法、装置、电子设备及计算机可读存储介质 | |
CN116841720A (zh) | 资源配置方法、装置、计算机设备、存储介质及程序产品 | |
CN113296913A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |
|
RJ01 | Rejection of invention patent application after publication |