CN109508232A - 一种任务调度管理的方法、装置及电子设备 - Google Patents

一种任务调度管理的方法、装置及电子设备 Download PDF

Info

Publication number
CN109508232A
CN109508232A CN201811415947.3A CN201811415947A CN109508232A CN 109508232 A CN109508232 A CN 109508232A CN 201811415947 A CN201811415947 A CN 201811415947A CN 109508232 A CN109508232 A CN 109508232A
Authority
CN
China
Prior art keywords
task
worker
server
list
task queue
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
Application number
CN201811415947.3A
Other languages
English (en)
Inventor
颜洪奎
吴新宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dami Technology Co Ltd
Original Assignee
Beijing Dami Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dami Technology Co Ltd filed Critical Beijing Dami Technology Co Ltd
Priority to CN201811415947.3A priority Critical patent/CN109508232A/zh
Publication of CN109508232A publication Critical patent/CN109508232A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/486Scheduler internals

Landscapes

  • Engineering & Computer Science (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

一种任务调度管理的方法、装置及电子设备
技术领域
本发明涉及通信技术领域,尤其涉及一种任务调度管理的方法、装置及电子设备。
背景技术
随着互联网应用的发展,分布式系统(Distributed System)的使用越来越广泛,在现有技术中,采用基于Gearman的分布式系统进行任务调度管理,具体的,上述分布式系统中包括多个计算机以及软件系统,所述多个计算机通过网络互连,所述软件系统建立在网络之上,上述多个计算机与软件系统相互配合,完成大批量,高并发,高复杂度的计算,其中,所述软件系统可以是Gearman,上述Gearman是一个分发任务的程序框架,将任务分发到不同的计算机或者不同的进程当中,提供了进行并行工作、负载均衡处理的能力,支持各种编程语言。
举例说明,Gearman通过任务服务器(Job Server)把从客户端(Client)接收到的任务发送给任务处理者(Worker)进行处理,Worker完成任务后,将结果通过Job Server返回给Client,Gearman提供Client和Worker的应用程序编程接口(ApplicationProgramming Interface,API),由于Gearman支持的语言种类非常丰富,因此可以使用一种语言来编写Worker程序,使用另外一种语言编写Client程序,Client和Worker利用API与Job Server进行通信,Client和Worker之间通过传输控制协议(Transmission ControlProtocol,TCP)进行通信。具体的处理过程如图1所示,Client发出的任务均衡的发送到不同的Job Server,Job Server将任务发送到注册在该Job Server上的Worker上进行处理,其中,Job Server上注册多个Worker,当其中一个Worker发生故障时,将任务再调度给其它worker上进行处理;每个Worker固定注册在两个指定的Job Server上,当其中一个JobServer故障时,Worker才能接收另一个Job Server的调度,除了上述两个Job Server之外,Worker不能在其他Job Server上获取任务。由于Client发出的任务均衡的发送到不同的Job Server上的,若任一Job Server上没有可用的worker,任务将堆积在Job Server的队列中,导致任务处理速率低;由于Worker固定注册在Job Server上,即使Job Server没有分发任务给Worker进行处理,Worker也不能接收其他Job Server的调度,造成Worker资源的浪费。
综上所述,如何提高任务处理速率、减少Worker资源浪费是目前需要解决的问题。
发明内容
有鉴于此,本发明提供了一种任务调度管理的方法、装置及电子设备,用于解决现有技术中任务处理速率慢、Worker资源浪费的问题。
根据本发明实施例的第一个方面,提供了一种任务调度管理的方法,包括:接收到客户端发送的任务;查询至少两台任务服务器中的任务队列状态列表,其中,所述任务队列状态中包括任务服务器的任务量;将接收到的所述任务分配给所述至少两台任务服务器的任务队列中任务量最少的第一任务服务器。
在一个实施例中,在所述将接收到的所述任务分配给所述两台任务服务器的任务队列中任务量最少的第一任务服务器之后,该方法还包括:将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker,其中,所述Worker是通过虚拟服务器按照设定规则动态的注册到所述第一任务服务器上的。
在一个实施例中,所述将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker,具体包括:查询所述第一任务服务器对应的Worker列表;将所述任务分配给所述Worker列表中的可用Worker,其中,所述Worker列表是注册在所述第一任务服务器上的Worker。
在一个实施例中,所述将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker之后,该方法还包括:将所述任务处理完成后,断开与所述Worker的连接。
在一个实施例中,所述接收到客户端发送的任务之前,该方法还包括:接收到所述至少两台任务服务器的任务队列状态,更新所述任务队列状态列表。
在一个实施例中,所述查询所述任务服务器对应的Worker列表之前,该方法还包括:接收所述任务服务器对应的Worker的使用状态,更新所述Worker列表。
在一个实施例中,所述更新所述任务队列状态列表或更新所述Worker列表,具体包括:更新所述任务队列状态和所述Worker的使用状态所在的数据库;根据更新后的所述数据库更新所述任务队列状态列表或更新所述Worker列表,其中,所述任务队列状态列表与所述Worker列表由数据库生成,所述任务队列状态列表与所述Worker列表保存为同一表格或者不同表格。
根据本发明实施例的第二个方面,提供了一种任务调度管理的装置,包括:接收单元,用于接收到客户端发送的任务;查询单元,用于查询至少两台任务服务器中的任务队列状态列表,其中,所述任务队列状态中包括任务服务器的任务量;分配单元,用于将接收到的所述任务分配给所述至少两台任务服务器的任务队列中任务量最少的第一任务服务器。
在一个实施例中,所述装置还包括:所述分配单元还用于,将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker,其中,所述Worker是通过虚拟服务器动态的注册到所述第一任务服务器上的。
在一个实施例中,所述查询单元还用于包括:查询所述第一任务服务器对应的Worker列表;所述分配单元用于:将所述任务分配给所述Worker列表中的可用Worker,其中,所述Worker列表是注册在所述第一任务服务器上的Worker。
在一个实施例中,该装置还包括:处理单元,将所述任务处理完成后,断开与所述Worker的连接。
在一个实施例中,所述接收到客户端发送的任务之前,所述接收单元还用于:接收到所述至少两台任务服务器的任务队列状态,更新所述任务队列状态列表。
在一个实施例中,所述查询所述任务服务器对应的Worker列表之前,所述接收单元还用于:接收所述任务服务器对应的Worker的使用状态,更新所述Worker列表。
在一个实施例中,所述接收单元具体用于:更新所述任务队列状态和所述Worker的使用状态所在的数据库;根据更新后的所述数据库更新所述任务队列状态列表或更新所述Worker列表,其中,所述任务队列状态列表与所述Worker列表由数据库生成,所述任务队列状态列表与所述Worker列表保存为同一表格或者不同表格。
根据本发明实施例的第三个方面,提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面或第一方面任一种可能所述的方法。
根据本发明实施例的第四个方面,提供了一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如第一方面或第一方面任一种可能所述的方法。
本发明实施例的有益效果包括:首先接收到客户端发送的任务,然后查询至少两台任务服务器中的任务队列状态列表,其中,所述任务队列状态中包括任务服务器的任务量,最后将接收到的所述任务分配给所述至少两台任务服务器的任务队列中任务量最少的第一任务服务器。采用上述方式,可以将任务分配给任务量最少的任务服务器进行处理,可以减少处理任务时排队时间长,处理任务速率慢的问题。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是现有技术中的一种任务调度管理的方法流程图;
图2是本发明实施例提供的一种任务调度管理的方法流程图;
图3是本发明实施例提供的一种任务调度管理的装置示意图;
图4是本发明实施例提供的另一种任务调度管理的方法流程图;
图5是本发明实施例提供的另一种任务调度管理的装置示意图;
图6是本发明实施例提供的一种电子设备结构示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明提供的一种任务调度管理的方法,具体如图2所示,包括:
步骤S200、接收到客户端发送的任务。
具体的,接收到的任务是其它系统的客户端Client发起,并提交的任务。
步骤S201、查询至少两台任务服务器中的任务队列状态列表,其中,所述任务队列状态中包括任务服务器的任务量。
举例说明,假设两台任务服务器分别为第一任务服务器Job Server和第二任务服务器,所述第一处理器的任务队列状态列表中需要排队处理的任务为2个,第一处理器的任务队列状态列表中需要排队处理的任务为8个,第一任务服务器排队的任务少,空间大。
步骤S202、将接收到的所述任务分配给所述至少两台任务服务器的任务队列中任务量最少的第一任务服务器。
通过本发明实施例,首先接收到客户端发送的任务,然后查询至少两台任务服务器中的任务队列状态列表,其中,所述任务队列状态中包括任务服务器的任务量,最后将接收到的所述任务分配给所述至少两台任务服务器的任务队列中任务量最少的第一任务服务器。采用上述方式,可以将任务分配给任务量最少的任务服务器进行处理,可以减少处理任务时排队时间长,处理任务速率慢的问题。
可选的,在步骤S202之后,该方法还包括步骤S203、将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker,其中,所述Worker是通过虚拟服务器按照设定规则动态的注册到所述第一任务服务器上的。
具体的,查询所述第一任务服务器对应的Worker列表,将所述任务分配给所述Worker列表中的可用Worker,其中,所述Worker列表是注册在所述第一任务服务器上的Worker,所述设定规则为负载均衡。
举例说明,假设第一任务服务器上注册有6个Worker,上述6个Worker保存在所述Worker列表,6个Worker列表中,4个是正在使用的Worker,剩余两个可用的Worker,第一任务服务器可以在剩余的两个可用的Worker中选择其中任一一个Worker处理任务。
在步骤S203之后,该方法还包括步骤S204、将所述任务处理完成后,断开与所述Worker的连接。
本发明实施例中,Worker完成任务,断开与第一任务服务器的连接后,可以根据负载均衡的原则重新注册到其他任务服务器上,充分利用空闲的Worker,不会造成Worker资源的浪费。
可选的,在步骤S200之前,该方法还包括:接收到所述至少两台任务服务器的任务队列状态,更新所述任务队列状态列表;所述查询所述任务服务器对应的Worker列表之前,该方法还包括:接收所述任务服务器对应的Worker的使用状态,更新所述Worker列表。
具体的,更新所述任务队列状态和所述Worker的使用状态所在的数据库;根据更新后的所述数据库更新所述任务队列状态列表或更新所述Worker列表,其中,所述任务队列状态列表与所述Worker列表由数据库生成,所述任务队列状态列表与所述Worker列表保存为同一表格或者不同表格。
下面通过一个具体实施例,对执行本发明方法的任务调度管理的装置进行详细说明,具体如图3所示,具体包括:任务生产者(Master)300、任务监视者(Watcher)301、任务消费者302,可以称为Job Server集群,所述Job Server集群由Job Server和虚拟服务器(Linux Virtual Server,LVS)组成,任务处理者303,可以称为Worker集群,包括多个Worker节点。
具体的,Watcher用于记录每台Job Server的任务队列状态,将任务状态保存到数据库;Master用于接收客户端发出的任务,并通过Watcher查询每台Job Server的任务状态,将任务分配给任务量最小的Job Server;Job Server集群中的Job Server将自身的任务队列状态上报给Watcher,当接收到任务时,将任务分配给Worker集群中的Worker节点,Worker集群中的Worker节点用于处理任务,每个Worker节点是通过Job Server集群中的LVS注册到Job Server上的。
本发明实施例中,所述Worker集群也可以称为Worker服务器。
下面通过一个具体实施例,对本发明提供的一种任务调度管理的方法进行详细的说明,具体如图4所示。
步骤S400、Worker通过LVS注册到Job Server上。
步骤S401、Job Server确定自身有可用的Worker之后,将自身的任务队列状态上报到Watcher。
步骤S402、Watcher将接收到的任务队列状态存入数据库。
其中,所述数据库为Mysql数据库。
步骤S403、更新由数据库生成的任务队列Job_queue表,所述Job_queue表包含各个Job Server的任务队列状态以及各个Job Server上注册的可用Worker。
步骤S404、Master接收到任务。
步骤S405、所述Master通过Watcher查询任务量最小的、且可用的第一JobServer。
步骤S406、所述Master将所述任务分配给所述第一Job Server。
步骤S407、所述第一Job Server将接收到任务分配给注册在所述第一Job Server上的可用的Worker。
步骤S408、所述Worker处理完上述任务后,断开与所述第一Job Server的连接。
步骤S409、所述Worker通过LVS注册到其他Job Server上。
图5是本发明实施例提供的一种任务调度管理的装置示意图。如图5所示,本实施例的任务调度管理的装置包括:接收单元51、查询单元52和分配单元53。其中,接收单元51,用于接收到客户端发送的任务;查询单元52,用于查询至少两台任务服务器中的任务队列状态列表,其中,所述任务队列状态中包括任务服务器的任务量;分配单元53,用于将接收到的所述任务分配给所述至少两台任务服务器的任务队列中任务量最少的第一任务服务器。
本发明实施例中,所述接收单元、查询单元和分配单元可以在一个模块中实现,该模块调用获得任务的接口可以是超文本传输协议(Hyper Text Transport Protocol,HTTP),也可以是面向各种消息队列,例如ActiveMQ、Kafka等。
可选的,所述分配单元还用于,将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker,其中,所述Worker是通过虚拟服务器动态的注册到所述第一任务服务器上的。
可选的,所述查询单元还用于包括:查询所述第一任务服务器对应的Worker列表;所述分配单元用于:将所述任务分配给所述Worker列表中的可用Worker,其中,所述Worker列表是注册在所述第一任务服务器上的Worker。
在一个实施例中,该装置还包括:处理单元54,将所述任务处理完成后,断开与所述Worker的连接。
在一个实施例中,所述接收到客户端发送的任务之前,所述接收单元还用于:接收到所述至少两台任务服务器的任务队列状态,更新所述任务队列状态列表。
在一个实施例中,所述查询所述任务服务器对应的Worker列表之前,所述接收单元还用于:接收所述任务服务器对应的Worker的使用状态,更新所述Worker列表。
在一个实施例中,所述接收单元具体用于:更新所述任务队列状态和所述Worker的使用状态所在的数据库;根据更新后的所述数据库更新所述任务队列状态列表或更新所述Worker列表,其中,所述任务队列状态列表与所述Worker列表由数据库生成,所述任务队列状态列表与所述Worker列表保存为同一表格或者不同表格。
图6是本发明实施例的电子设备的示意图。图6所示的电子设备为通用任务调度管理装置,其包括通用的计算机硬件结构,其至少包括处理器61和存储器62。处理器61和存储器62通过总线63连接。存储器62适于存储处理器61可执行的指令或程序。处理器61可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器61通过执行存储器62所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线63将上述多个组件连接在一起,同时将上述组件连接到显示控制器64和显示装置以及输入/输出(I/O)装置65。输入/输出(I/O)装置65可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置65通过输入/输出(I/O)控制器66与系统相连。
如本领域技术人员将意识到的,本发明实施例的各个方面可以被实现为系统、方法或计算机程序产品。因此,本发明实施例的各个方面可以采取如下形式:完全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或者在本文中通常可以都称为“电路”、“模块”或“系统”的将软件方面与硬件方面相结合的实施方式。此外,本发明实施例的各个方面可以采取如下形式:在一个或多个计算机可读介质中实现的计算机程序产品,计算机可读介质具有在其上实现的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述的任意适当的组合。在本发明实施例的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。
计算机可读信号介质可以包括传播的数据信号,所述传播的数据信号具有在其中如在基带中或作为载波的一部分实现的计算机可读程序代码。这样的传播的信号可以采用多种形式中的任何形式,包括但不限于:电磁的、光学的或其任何适当的组合。计算机可读信号介质可以是以下任意计算机可读介质:不是计算机可读存储介质,并且可以对由指令执行系统、设备或装置使用的或结合指令执行系统、设备或装置使用的程序进行通信、传播或传输。
可以使用包括但不限于无线、有线、光纤电缆、RF等或前述的任意适当组合的任意合适的介质来传送实现在计算机可读介质上的程序代码。
用于执行针对本发明实施例各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括:面向对象的编程语言如Java、Smalltalk、C++等;以及常规过程编程语言如“C”编程语言或类似的编程语言。程序代码可以作为独立软件包完全地在用户计算机上、部分地在用户计算机上执行;部分地在用户计算机上且部分地在远程计算机上执行;或者完全地在远程计算机或服务器上执行。在后一种情况下,可以将远程计算机通过包括局域网(LAN)或广域网(WAN)的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接(例如通过使用因特网服务供应商的因特网)。
上述根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图图例和/或框图描述了本发明实施例的各个方面。将要理解的是,流程图图例和/或框图的每个块以及流程图图例和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得(经由计算机或其它可编程数据处理设备的处理器执行的)指令创建用于实现流程图和/或框图块或块中指定的功能/动作的装置。
还可以将这些计算机程序指令存储在可以指导计算机、其它可编程数据处理设备或其它装置以特定方式运行的计算机可读介质中,使得在计算机可读介质中存储的指令产生包括实现在流程图和/或框图块或块中指定的功能/动作的指令的制品。
计算机程序指令还可以被加载至计算机、其它可编程数据处理设备或其它装置上,以使在计算机、其它可编程设备或其它装置上执行一系列可操作步骤来产生计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图块或块中指定的功能/动作的过程。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种任务调度管理的方法,其特征在于,包括:
接收到客户端发送的任务;
查询至少两台任务服务器中的任务队列状态列表,其中,所述任务队列状态中包括任务服务器的任务量;
将接收到的所述任务分配给所述至少两台任务服务器的任务队列中任务量最少的第一任务服务器。
2.如权利要求1所述的方法,其特征在于,在所述将接收到的所述任务分配给所述两台任务服务器的任务队列中任务量最少的第一任务服务器之后,该方法还包括:
将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker,其中,所述Worker是通过虚拟服务器按照设定规则动态的注册到所述第一任务服务器上的。
3.如权利要求2所述的方法,其特征在于,所述将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker,具体包括:
查询所述第一任务服务器对应的Worker列表;
将所述任务分配给所述Worker列表中的可用Worker,其中,所述Worker列表是注册在所述第一任务服务器上的Worker。
4.如权利要求2所述的方法,其特征在于,所述将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker之后,该方法还包括:
将所述任务处理完成后,断开与所述Worker的连接。
5.如权利要求1所述的方法,其特征在于,所述接收到客户端发送的任务之前,该方法还包括:
接收到所述至少两台任务服务器的任务队列状态,更新所述任务队列状态列表。
6.如权利要求3所述的方法,其特征在于,所述查询所述任务服务器对应的Worker列表之前,该方法还包括:
接收所述任务服务器对应的Worker的使用状态,更新所述Worker列表。
7.如权利要求5或6所述的方法,其特征在于,所述更新所述任务队列状态列表或更新所述Worker列表,具体包括:
更新所述任务队列状态和所述Worker的使用状态所在的数据库;
根据更新后的所述数据库更新所述任务队列状态列表或更新所述Worker列表,其中,所述任务队列状态列表与所述Worker列表由数据库生成,所述任务队列状态列表与所述Worker列表保存为同一表格或者不同表格。
8.一种任务调度管理的装置,其特征在于,包括:
接收单元,用于接收到客户端发送的任务;
查询单元,用于查询至少两台任务服务器中的任务队列状态列表,其中,所述任务队列状态中包括任务服务器的任务量;
分配单元,用于将接收到的所述任务分配给所述至少两台任务服务器的任务队列中任务量最少的第一任务服务器。
9.如权利要求8所述的装置,其特征在于,所述分配单元还用于,将所述任务分配给注册在所述第一任务服务器上的任务处理者Worker,其中,所述Worker是通过虚拟服务器动态的注册到所述第一任务服务器上的。
10.如权利要求9所述的装置,其特征在于,所述查询单元还用于包括:
查询所述第一任务服务器对应的Worker列表;
所述分配单元用于:
将所述任务分配给所述Worker列表中的可用Worker,其中,所述Worker列表是注册在所述第一任务服务器上的Worker。
11.如权利要求9所述的装置,其特征在于,该装置还包括:
处理单元,将所述任务处理完成后,断开与所述Worker的连接。
12.如权利要求9所述的装置,其特征在于,所述接收到客户端发送的任务之前,所述接收单元还用于:
接收到所述至少两台任务服务器的任务队列状态,更新所述任务队列状态列表。
13.如权利要求10所述的装置,其特征在于,所述查询所述任务服务器对应的Worker列表之前,所述接收单元还用于:
接收所述任务服务器对应的Worker的使用状态,更新所述Worker列表。
14.如权利要求12或13所述的装置,其特征在于,所述接收单元具体用于:
更新所述任务队列状态和所述Worker的使用状态所在的数据库;
根据更新后的所述数据库更新所述任务队列状态列表或更新所述Worker列表,其中,所述任务队列状态列表与所述Worker列表由数据库生成,所述任务队列状态列表与所述Worker列表保存为同一表格或者不同表格。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-7中任一项所述的方法。
16.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-7任一项所述的方法。
CN201811415947.3A 2018-11-26 2018-11-26 一种任务调度管理的方法、装置及电子设备 Pending CN109508232A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811415947.3A CN109508232A (zh) 2018-11-26 2018-11-26 一种任务调度管理的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811415947.3A CN109508232A (zh) 2018-11-26 2018-11-26 一种任务调度管理的方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN109508232A true CN109508232A (zh) 2019-03-22

Family

ID=65750506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811415947.3A Pending CN109508232A (zh) 2018-11-26 2018-11-26 一种任务调度管理的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN109508232A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287022A (zh) * 2019-05-28 2019-09-27 北京大米科技有限公司 一种调度节点选择方法、装置、存储介质及服务器
CN111459645A (zh) * 2020-04-22 2020-07-28 百度在线网络技术(北京)有限公司 一种任务调度方法、装置和电子设备
CN112288198A (zh) * 2019-07-22 2021-01-29 北京车和家信息技术有限公司 任务处理系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599026A (zh) * 2009-07-09 2009-12-09 浪潮电子信息产业股份有限公司 一种具有弹性架构的集群作业调度系统
CN102158545A (zh) * 2011-02-28 2011-08-17 浪潮(北京)电子信息产业有限公司 资源池管理方法和装置
US20170115976A1 (en) * 2015-10-23 2017-04-27 Oracle International Corporation Managing highly scalable continuous delivery pipelines
CN107734035A (zh) * 2017-10-17 2018-02-23 华南理工大学 一种云计算环境下的虚拟集群自动伸缩方法
US20180101406A1 (en) * 2016-10-06 2018-04-12 International Business Machines Corporation Task Scheduling Using Improved Weighted Round Robin Techniques
CN108287764A (zh) * 2018-01-31 2018-07-17 上海携程商务有限公司 分布式任务调度方法及其系统、存储介质、电子设备
CN108696578A (zh) * 2018-04-26 2018-10-23 昆明理工大学 基于ZeroMQ的多机分布式计算的通信框架设计方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599026A (zh) * 2009-07-09 2009-12-09 浪潮电子信息产业股份有限公司 一种具有弹性架构的集群作业调度系统
CN102158545A (zh) * 2011-02-28 2011-08-17 浪潮(北京)电子信息产业有限公司 资源池管理方法和装置
US20170115976A1 (en) * 2015-10-23 2017-04-27 Oracle International Corporation Managing highly scalable continuous delivery pipelines
US20180101406A1 (en) * 2016-10-06 2018-04-12 International Business Machines Corporation Task Scheduling Using Improved Weighted Round Robin Techniques
CN107734035A (zh) * 2017-10-17 2018-02-23 华南理工大学 一种云计算环境下的虚拟集群自动伸缩方法
CN108287764A (zh) * 2018-01-31 2018-07-17 上海携程商务有限公司 分布式任务调度方法及其系统、存储介质、电子设备
CN108696578A (zh) * 2018-04-26 2018-10-23 昆明理工大学 基于ZeroMQ的多机分布式计算的通信框架设计方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287022A (zh) * 2019-05-28 2019-09-27 北京大米科技有限公司 一种调度节点选择方法、装置、存储介质及服务器
CN112288198A (zh) * 2019-07-22 2021-01-29 北京车和家信息技术有限公司 任务处理系统及方法
CN111459645A (zh) * 2020-04-22 2020-07-28 百度在线网络技术(北京)有限公司 一种任务调度方法、装置和电子设备

Similar Documents

Publication Publication Date Title
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
CN108182111A (zh) 任务调度系统、方法和装置
US8880638B2 (en) Distributed image cache for servicing virtual resource requests in the cloud
CN107343045A (zh) 云计算系统及用于控制服务器的云计算方法和装置
CN108733476A (zh) 一种执行多任务的方法和装置
CN102760074A (zh) 高负荷业务流程可扩展性
CN109508232A (zh) 一种任务调度管理的方法、装置及电子设备
CN110362408A (zh) 具有不同的租户集的端点数据中心
CN109308214A (zh) 数据任务处理方法和系统
US9723070B2 (en) System to improve cluster machine processing and associated methods
JP6599439B2 (ja) ワークフロー実行におけるシステムリソースの平等シェアリング
CN106776008A (zh) 一种基于zookeeper实现负载均衡的方法及系统
CN110651256B (zh) 用于在软件更新期间防止服务中断的系统和方法
CN108681777A (zh) 一种基于分布式系统的机器学习程序运行的方法和装置
CN110377416A (zh) 分布式分区任务调度方法和装置
CN109117252A (zh) 基于容器的任务处理的方法、系统及容器集群管理系统
CN110162397A (zh) 资源分配方法、装置及系统
CN114615308A (zh) 基于rpc的异步多线程并发网络通讯方法及装置
CN111179008B (zh) 一种信息状态的更新方法、装置、系统及存储介质
CN108958933B (zh) 任务执行器的配置参数更新方法、装置及设备
WO2013039796A2 (en) Scale-out system to acquire event data
CN110532060A (zh) 一种混合网络环境数据采集方法及系统
CN110389976A (zh) 一种多接口数据的调度方法和装置
CN109729177B (zh) 用于生成信息的方法和装置
CN108833147B (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: 20190322

RJ01 Rejection of invention patent application after publication