CN106227596A - 用于任务调度服务器的任务监控方法和装置 - Google Patents

用于任务调度服务器的任务监控方法和装置 Download PDF

Info

Publication number
CN106227596A
CN106227596A CN201610551922.0A CN201610551922A CN106227596A CN 106227596 A CN106227596 A CN 106227596A CN 201610551922 A CN201610551922 A CN 201610551922A CN 106227596 A CN106227596 A CN 106227596A
Authority
CN
China
Prior art keywords
task
tasks carrying
carried out
server
acquired
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
CN201610551922.0A
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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201610551922.0A priority Critical patent/CN106227596A/zh
Publication of CN106227596A publication Critical patent/CN106227596A/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种用于任务调度服务器的任务监控方法和装置。所述方法的一具体实施方式包括:从存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务;从任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器;通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态;当执行状态满足预设条件时,将与所获取的未执行任务相关的自定义任务分配给所选取的任务执行服务器。该实施方式避免了单个任务执行服务器故障造成的任务堵塞,在提高了任务执行的可靠性的同时,使得用户可以对任务进行定制,具有高度的可定制性。

Description

用于任务调度服务器的任务监控方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及任务调度领域,具体涉及用于任务调度服务器的任务监控方法和装置。
背景技术
在有大量任务需要执行的情况下,通常需要任务调度服务器选择任务执行服务器来执行任务。
但现有的任务调度方法中,仅仅只能监测到任务执行服务器的状态(如任务执行服务器是否宕机)或者监测任务是否超时,不能对任务的执行状态进行监测,从而不能执行用户在任务的不同执行状态设置的自定义任务。
发明内容
本申请的目的在于提出一种用于任务调度服务器的任务监控方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了用于任务调度服务器的任务监控方法,任务调度服务器分别与存储有任务列表的存储器以及任务执行服务器集群中的每个任务执行服务器连接,所述任务列表包括未执行任务以及与所述未执行任务相关的自定义任务,所述方法包括:从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务;从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行所获取的未执行任务;通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态;当所述执行状态满足预设条件时,将与所获取的未执行任务相关的自定义任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行与所获取的未执行任务相关的自定义任务。
在一些实施例中,在所述从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务之后,所述方法还包括:将所获取的未执行任务从所述任务列表中删除;或将所获取的未执行任务标记为已执行任务。
在一些实施例中,所述从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器,包括:确定所述任务执行服务器集群中每个任务执行服务器的负载;将所获取的未执行任务分配给负载最小的任务执行服务器。
在一些实施例中,所述确定所述任务执行服务器集群中的每个任务执行服务器的负载,包括:统计每个任务执行服务器正在执行的任务数量;对于每个任务执行服务器,计算该任务执行服务器正在执行的任务数量与该任务执行服务器预设的最大执行任务数量的比值;将所述比值作为该任务执行服务器的负载。
在一些实施例中,所述从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器,包括:判断所获取的未执行任务是否存在前置条件;响应于所获取的未执行任务存在前置条件,判断所述前置条件是否已满足;在所述前置条件已满足时,从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器。
在一些实施例中,所述通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态,包括:每间隔第一预设时间段向所选取的任务执行服务器发送执行状态询问消息;响应于接收到所选取的任务执行服务器返回的执行状态应答消息,监测所获取的未执行任务的执行状态。
在一些实施例中,所述通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态,包括:响应于接收到所选取的任务执行服务器每间隔预设第二时间段发送的执行状态报告消息,监测所获取的未执行任务的执行状态。
在一些实施例中,所述方法还包括:当监测到所述执行状态为执行失败状态时,判断所述执行失败状态的次数是否等于所选取的任务执行服务器的预设任务最大执行次数;响应于所述执行失败状态的次数不等于所选取的任务执行服务器的预设任务最大执行次数,将所述执行状态修改为未执行状态;从所述任务执行服务器集群中选取任务执行服务器,将执行状态修改的未执行任务分配给所选取的任务执行服务器。
在一些实施例中,所述任务列表还包括在所述存储器中存储所述未执行任务的用户的标识,所述方法还包括:响应于所述执行失败状态的次数等于所选取的任务执行服务器的预设任务最大执行次数,向在所述存储器中存储所获取的未执行任务的用户发送报警信息。
在一些实施例中,所述方法还包括:自向所选取的任务执行服务器发送执行状态询问消息起,经过了预设的第三时间段,未接收到所选取的任务执行服务器返回的执行状态应答消息时,认定所选取的任务执行服务器出现故障;从所述任务执行服务器集群中选取未出现故障的任务执行服务器,将分配给出现故障的任务执行服务器的未执行任务重新分配给所选取的任务执行服务器。
在一些实施例中,所述方法还包括:每间隔预设第四时间段向所述任务调度服务器所属的任务调度服务器集群中的其它任务调度服务器发送自身当前的未执行任务的数量;根据自身当前的未执行任务的数量以及接收到的其它任务调度服务器当前的未执行任务的数量,构建各任务调度服务器的负载视图;根据所述各任务调度服务器的负载视图,从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
第二方面,本申请提供一种用于任务调度服务器的任务监控装置,任务调度服务器分别与存储有任务列表的存储器以及任务执行服务器集群中的每个任务执行服务器连接,所述任务列表包括未执行任务以及与所述未执行任务相关的自定义任务,所述装置包括:获取单元,用于从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务;第一分配单元,用于从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行所获取的未执行任务;监测单元,用于通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态;第二分配单元,用于当所述执行状态满足预设条件时,将与所获取的未执行任务相关的自定义任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行与所获取的未执行任务相关的自定义任务。
在一些实施例中,所述装置还包括:删除单元,用于在所述获取单元从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务之后,将所获取的未执行任务从所述任务列表中删除;或标记单元,用于在所述获取单元从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务之后,将所获取的未执行任务标记为已执行任务。
在一些实施例中,所述第一分配单元包括:负载确定模块,用于确定所述任务执行服务器集群中每个任务执行服务器的负载;任务分配模块,用于将所获取的未执行任务分配给负载最小的任务执行服务器。
在一些实施例中,所述负载确定模块包括:统计子模块,用于统计每个任务执行服务器正在执行的任务数量;计算子模块,用于对于每个任务执行服务器,计算该任务执行服务器正在执行的任务数量与该任务执行服务器预设的最大执行任务数量的比值;负载子模块,用于将所述比值作为该任务执行服务器的负载。
在一些实施例中,所述第一分配单元包括:判断模块,用于判断所获取的未执行任务是否存在前置条件;分配模块,用于响应于所获取的未执行任务存在前置条件,判断所述前置条件是否已满足;在所述前置条件已满足时,从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器。
在一些实施例中,所述监测单元包括:执行状态询问模块,用于每间隔第一预设时间段向所选取的任务执行服务器发送执行状态询问消息;第一监测模块,用于响应于接收到所选取的任务执行服务器返回的执行状态应答消息,监测所获取的未执行任务的执行状态。
在一些实施例中,所述监测单元包括:第二监测模块,用于响应于接收到所选取的任务执行服务器每间隔预设第二时间段发送的执行状态报告消息,监测所获取的未执行任务的执行状态。
在一些实施例中,所述装置还包括:执行失败单元,用于当监测到所述执行状态为执行失败状态时,判断所述执行失败状态的次数是否等于所选取的任务执行服务器的预设任务最大执行次数;第三分配单元,用于响应于所述执行失败状态的次数不等于所选取的任务执行服务器的预设任务最大执行次数,将所述执行状态修改为未执行状态;从所述任务执行服务器集群中选取任务执行服务器,将执行状态修改的未执行任务分配给所选取的任务执行服务器。
在一些实施例中,所述任务列表还包括在所述存储器中存储所述未执行任务的用户的标识,所述装置还包括:报警单元,用于响应于所述执行失败状态的次数等于所选取的任务执行服务器的预设任务最大执行次数,向在所述存储器中存储所获取的未执行任务的用户发送报警信息。
在一些实施例中,所述装置还包括:故障认定单元,用于自向所选取的任务执行服务器发送执行状态询问消息起,经过了预设的第三时间段,未接收到所选取的任务执行服务器返回的执行状态应答消息时,认定所选取的任务执行服务器出现故障;第四分配单元,用于从所述任务执行服务器集群中选取未出现故障的任务执行服务器,将分配给出现故障的任务执行服务器的未执行任务重新分配给所选取的任务执行服务器。
在一些实施例中,所述装置还包括:自身负载发送单元,用于每间隔预设第四时间段向所述任务调度服务器所属的任务调度服务器集群中的其它任务调度服务器发送自身当前的未执行任务的数量;负载视图构建单元,用于根据自身当前的未执行任务的数量以及接收到的其它任务调度服务器当前的未执行任务的数量,构建各任务调度服务器的负载视图;均衡获取单元,用于根据所述各任务调度服务器的负载视图,从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
本申请提供的用于任务调度服务器的任务监控方法和装置,通过从存储器中获取未执行任务及与所获取的未执行任务相关的自定义任务,并选择合适的任务执行服务器执行所获取的未执行任务,实时监测所选取的服务器对所获取的未执行任务的执行状态,在执行状态满足预设条件时,将自定义任务分配给所选取的任务执行服务器,以使得所选取的任务执行服务器执行上述自定义任务,避免了单个任务执行服务器故障造成的任务堵塞,在提高了任务执行的可靠性的同时,使得用户可以对任务进行定制,具有高度的可定制性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于任务调度服务器的任务监控方法的一个实施例的流程图;
图3是根据本申请的用于任务调度服务器的任务监控方法的又一个实施例的流程图;
图4是根据本申请的用于任务调度服务器的任务监控方法的一个应用场景的示意图;
图5是根据本申请的用于任务调度服务器的任务监控装置的一个实施例的结构示意图;
图6是根据本申请的用于任务调度服务器的任务监控装置的又一个实施例的结构示意图;
图7是适于用来实现本申请实施例的任务调度服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于任务调度服务器的任务监控方法或用于任务调度服务器的任务监控装置的实施例的示例性系统架构图100。
如图1所示,系统架构100可以包括存储器101,网络102、104,任务调度服务器集群103和任务执行服务器集群105。任务调度服务器集群103中包括多个任务调度服务器集1031、1032、1033,任务执行服务器集群105中包括多个任务执行服务器1051、1052、1053。网络102、104分别用以在存储器101和任务调度服务器集群103中的每个任务调度服务器1031、1032、1033、任务调度服务器集群103中的每个任务调度服务器集1031、1032、1033和任务执行服务器集群105中的多个任务执行服务器1051、1052、1053之间提供通信链路的介质。网络102、104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以向存储器101中存储未执行任务及与各未执行任务相关的自定义任务,其中未执行任务及与各未执行任务相关的自定义任务存储在存储器101中的任务列表中。各任务调度服务器1031、1032、1033可以通过网络102从存储器101中获取未执行任务及与所获取的未执行任务相关的自定义任务,然后通过网络104将所获取的未执行任务分配给任务执行服务器集群105中的任务执行服务器1051、1052、1053。任务调度服务器1031、1032、1033通过网络104与任务执行服务器1051、1052、1053进行交互,以监测获取的未执行任务的执行状态。
需要说明的是,本申请实施例所提供的用于任务调度服务器的任务监控方法由任务调度服务器集群103中的每个任务调度服务器1031、1032、1033执行,相应地,用于任务调度服务器的任务监控装置一般设置于任务调度服务器1031、1032、1033中。
应该理解,图1中的存储器、网络、任务调度服务器和任务执行服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的存储器、网络、任务调度服务器和任务执行服务器。
图2示出了根据本申请的用于任务调度服务器的任务监控方法的一个实施例的流程图200。本实施例的用于任务调度服务器的任务监控方法包括以下步骤:
步骤201,从存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
在本实施例中,用于任务调度服务器的任务监控方法运行于其上的电子设备(如图1中所示的任务调度服务器1031、1032、1033)可以通过有线或无线连接方式从存储器中获取未执行任务以及与各未执行任务相关的自定义任务。上述未执行任务及自定义任务存储在任务列表中。
本实施例中,上述任务可以是数据运算任务等可执行的任务,自定义任务可以是用户根据任务或自身需要设置的,例如在任务执行到某一状态时进行报警操作等。可以理解的是,任务调度服务器从存储器中获取的未执行任务的数量可以是一个,也可以是多个。同样,一个未执行任务可以对应一个或多个自定义任务。
需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
在本实施例的一些可选的实现方式中,为了避免任务调度服务器重复获取同一未执行任务,从而重复执行同一任务,造成资源的浪费,在步骤201之后,上述方法还包括图2中未示出的以下步骤:将所获取的未执行任务从任务列表中删除;或将所获取的未执行任务标记为已执行任务。
将获取的未执行任务从任务列表中删除,则任务列表中仍然只包括未执行任务以及与未执行任务相关的自定义任务。将所获取的未执行任务标记为已执行任务,则任务列表中可以包括除上述两种任务外的已执行任务。
步骤202,从任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器。
本实施例中,任务执行服务器用于执行上述未执行任务以及与各未执行任务相关的自定义任务。任务执行服务器集群中包括多个任务执行服务器,由于各任务执行服务器的负载、硬件资源不同,因此在分配获取的未执行任务时,需要从任务执行服务器集群中选取一个或多个任务执行服务器,以使所选取的任务执行服务器执行所获取的未执行任务。
步骤203,通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态。
在将获取的未执行任务分配给选取的任务执行服务器后,选取的任务执行服务器根据自身的情况选择是否执行分配的未执行任务。例如当选取的任务执行服务器当前执行的任务数量很大,不能再执行新的未执行任务,此时,分配的未执行任务可能会在选取的任务执行服务器的缓冲队列中排队等待,其执行状态可能为未执行状态。可以理解的是,执行状态还可以包括:执行失败状态、执行成功状态、执行暂停状态、执行终止状态等。
本实施例中,任务调度服务器通过与选取的任务执行服务器进行交互,接收选取的任务执行服务器发送的消息,从而实现监测所获取的未执行任务的执行状态。
步骤204,当所述执行状态满足预设条件时,将与所获取的未执行任务相关的自定义任务分配给所选取的任务执行服务器。
本实施例中,自定义任务是与未执行任务相关的,在未执行任务的执行状态满足预设的条件时,任务调度服务器才会将自定义任务发送给所选取的任务执行服务器,以使得所选取的任务执行服务器执行自定义任务。
本申请的上述实施例提供的用于任务调度服务器的任务监控方法,通过从存储器中获取未执行任务及与所获取的未执行任务相关的自定义任务,并选择合适的任务执行服务器执行所获取的未执行任务,实时监测所选取的服务器对所获取的未执行任务的执行状态,在执行状态满足预设条件时,将自定义任务分配给所选取的任务执行服务器,以使得所选取的任务执行服务器执行上述自定义任务,避免了单个任务执行服务器故障造成的任务堵塞,在提高了任务执行的可靠性的同时,使得用户可以对任务进行定制,具有高度的可定制性。
继续参考图3,示出了根据本申请的用于任务调度服务器的任务监控方法的又一个实施例的流程图300。本实施例的用于任务调度服务器的任务监控方法包括以下步骤:
步骤301,从存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
步骤302,判断所获取的未执行任务是否存在前置条件。
此步骤可以对所获取的未执行任务进行前置分析,判断其运行条件是否满足。例如有些数据运算需要数据库数据的同步,如果数据库中的数据尚未同步可能导致错误的运算结果,此时可设置前置条件为数据库数据同步。
在存在前置条件时,执行步骤303;在不存在前置条件时,执行步骤304。
步骤303,判断前置条件是否已满足。
如步骤302所示,本步骤中的判断可以为判断数据库中的数据是否已同步,如果已同步,则说明前置条件满足,则执行步骤304。如果数据库中的数据未同步,则说明前置条件不满足,则执行步骤304’。
步骤304’,将所获取的未执行任务放入缓冲队列中。
在前置条件不满足时,将将所获取的未执行任务放入缓冲队列中,等待下一次时间片来重新判断前置条件是否已满足,并返回执行步骤301。
步骤304,确定各任务执行服务器的负载。
由于各任务执行服务器的硬件资源的不同,使得各任务执行服务器能够同时执行的任务的数量不同。因此,可预先根据各任务执行服务器的硬件情况,设置不同的最大执行任务数量。
在本实施例的一些可选的实现方式中,步骤304可以进一步包括图3中未示出的以下子步骤:
统计每个任务执行服务器正在执行的任务数量;对于每个任务执行服务器,计算该任务执行服务器正在执行的任务数量与该任务执行服务器预设的最大执行任务数量的比值;将所述比值作为该任务执行服务器的负载。
这样可以考虑到任务执行服务器集群中每个任务执行服务器的负载情况,为各任务执行服务器分配未执行任务。
可以理解的是,任务执行服务器集群中每个任务执行服务器可将自身的正在执行的任务数量及预设的最大执行任务数量发送给任务调度服务器,也可以将上述信息发送给第三方,如用于存储各任务执行服务器及各任务调度服务器的信息的数据中心。上述数据中心与每个任务执行服务器及每个任务调度服务器连接,以供各服务器将自身的负载情况发送到该数据中心。
在确定了各任务执行服务器的负载情况后,执行步骤305。
步骤305,将所获取的未执行任务分配给负载最小的任务执行服务器。
从负载均衡的角度考虑,需将所获取的未执行任务分配给负载最小的任务执行服务器。
步骤306,监测所获取的未执行任务的执行状态。
在本实施例的一些可选的实现方式中,步骤306可以进一步包括子步骤3061和子步骤3062。
子步骤3061,每间隔第一预设时间段向所选取的任务执行服务器发送执行状态询问消息。
任务调度服务器主动向所选取的任务执行服务器发送执行状态询问消息,可以理解的是,为了方便所选取的任务执行服务器快速的查找上述执行状态询问消息指定的任务,上述执行状态询问消息中可以包括任务调度服务器获取的未执行任务的标识。所选取的任务执行服务器根据任务标识确定任务调度服务器获取的未执行任务的执行状态。
子步骤3062,响应于接收到所选取的任务执行服务器返回的执行状态应答消息,监测所获取的未执行任务的执行状态。
所选取的任务执行服务器在接收到任务调度服务器发送的执行状态询问消息后,会返回一个执行状态应答消息。可以理解的是,上述执行状态应答消息中包括任务调度服务器获取的未执行任务的执行状态。
在本实施例的一些可选的实现方式中,上述方法还包括图3中未示出的以下步骤:
自向所选取的任务执行服务器发送执行状态询问消息起,经过了预设的第三时间段,未接收到所选取的任务执行服务器返回的执行状态应答消息时,认定所选取的任务执行服务器出现故障;从所述任务执行服务器集群中选取未出现故障的任务执行服务器,将分配给出现故障的任务执行服务器的未执行任务重新分配给所选取的任务执行服务器。
当任务调度服务器超过预设的第三时间段所选取的任务执行服务器返回的执行状态应答消息时,则认为上述选取的任务执行服务器出现故障,处于失效状态,不能再继续正常的执行任务。则将原本分配给此出现故障的任务执行服务器的未执行任务,重新分配给任务执行服务器集群中的其它任务执行服务器。
可以理解的是,当选取的任务执行服务器出现故障后,重新分配的任务应为上述选取的任务执行服务器未执行完成的任务,以执行完成的任务不会再重新分配。
可以理解的是,在重新分配时,仍然需要从任务执行服务器集群中选取任务执行服务器,此时的选取可以称为二次选取。上述二次选取可以根据各任务执行服务器的负载来选取,也可以根据其它可执行的条件来选取。
在本实施例的一些可选的实现方式中,步骤306可以进一步包括子步骤3061’。
子步骤3061’,响应于接收到所选取的任务执行服务器每间隔预设第二时间段发送的执行状态报告消息,监测所获取的未执行任务的执行状态。
所选取的任务执行服务器还可以主动向任务调度服务器报告任务调度服务器所获取的未执行任务的执行状态。任务执行服务器每间隔预设第二时间段发送的执行状态报告消息,上述执行状态报告消息中包括任务调度服务器所获取的未执行任务的执行状态。
通过与所选取的任务执行服务器间的交互,实现了监测任务调度服务器所获取的未执行任务的执行状态。
步骤307,判断执行状态是否满足预设条件。
本实施例中,可设置多个预设条件。例如,预设条件可以包括:第一次任务暂停,任务执行成功,任务执行失败,任务等待超过2分钟等等。
步骤308,将与所获取的未执行任务相关的自定义任务分配给所选取的任务执行服务器。
本实施例中,用户可以根据任务需要为一个未执行任务设置多个自定义任务。举例来说,自定义任务可以包括如下:
1、在任务等待超过2分钟时,向任务调度服务器发送重新分配请求;
2、在任务执行完成时,执行后置任务(后置任务可以理解为在与当前执行的任务存在依赖关系的任务);
3、在第五次任务暂停时,向任务调度服务器发送重新分配请求等等。
本实施例不对自定义任务的类型或数量作限制,本领域技术人员可根据实际需要设置任意类型或数量的自定义任务。
在本实施例的一些可选的实现方式中,上述方法还包括图3中未示出的以下步骤:
当监测到执行状态为执行失败状态时,判断执行失败状态的次数是否等于所选取的任务执行服务器的预设任务最大执行次数;响应于执行失败状态的次数不等于所选取的任务执行服务器的预设任务最大执行次数,将执行状态修改为未执行状态;从任务执行服务器集群中选取任务执行服务器,将执行状态修改的未执行任务分配给所选取的任务执行服务器。
当任务执行失败时,判断是否达到所选取的任务执行服务器的预设任务最大执行次数,如果没有达到,则将执行失败的任务的执行状态修改为未执行状态,则重新选取任务执行服务器执行上述执行状态修改的任务。也就是说,重新尝试执行上述任务。
在本实施例的一些可选的实现方式中,任务列表还包括在存储器中存储未执行任务的用户的标识,上述方法还包括图3中未示出的以下步骤:
响应于执行失败状态的次数等于所选取的任务执行服务器的预设任务最大执行次数,向在存储器中存储所获取的未执行任务的用户发送报警信息。
用户在设置好未执行任务及其自定义任务后,将上述任务存储到存储器中。可以理解的是,存储器中还可以存储与上述任务相关的用户的标识信息。上述标识信息可以包括用户的邮件地址或其它联系方式。当执行失败状态的次数等于所选取的任务执行服务器的预设任务最大执行次数时,说明任务不可执行或执行难度大,则向在存储器中存储上述任务的用户发送报警信息。当用户的标识信息为邮件地址时,上述报警信息可为电子邮件。
在本实施例的一些可选的实现方式中,上述方法还包括图3中未示出的以下步骤:
每间隔预设第四时间段向所述任务调度服务器所属的任务调度服务器集群中的其它任务调度服务器发送自身当前的未执行任务的数量;根据自身当前的未执行任务的数量以及接收到的其它任务调度服务器当前的未执行任务的数量,构建各任务调度服务器的负载视图;根据所述各任务调度服务器的负载视图,从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
各任务调度服务器组成一个任务调度服务器集群,集群中的每个任务调度服务器相互发送自身当前的未执行任务的数量。这样,每个任务调度服务器都可以构建集群中各任务调度服务器的负载视图。由构建的负载视图中可以得知,哪个任务调度服务器的负载最小,则负载最小的任务调度服务器主动向存储器中获取未执行任务及自定义任务。从而任务调度服务器也保持负载均衡,提高了系统的工作效率。
可以理解的是,当集群中的任务调度服务器出现故障时,其它正常的任务调度服务器可以接管出现故障的任务调度服务器所选取的任务执行服务器,从而可以继续监控未执行任务的执行状态。
本申请的上述实施例提供的用于任务调度服务器的任务监控方法,通过分析任务的前置条件是否满足及在执行状态满足预设条件时将自定义任务分配给选取的任务执行服务器,实现了有效的处理存在依赖关系的任务;在选取任务执行服务器时,基于最小负载优先的原则,保证了任务分配的负载均衡;通过与选取的任务执行服务器之间的交互,不仅实现了实时监测获取的未执行任务的执行状态,还能够监测选取的任务执行服务器的工作状态,在选取的任务执行服务器出现故障时,将任务重新分配给其它的任务执行服务器,从而避免了单个任务执行服务器在出现故障时造成的任务堵塞现象,提高了任务的处理能力;通过各任务调度服务器间的交互,实现了任务调度服务器间的负载均衡,并且可以在任务调度服务器出现故障时,接管出现故障的任务调度服务器选取的任务执行服务器,提高了任务调度服务器集群的容灾能力。
继续参考图4,示出了根据本申请的用于任务调度服务器的任务监控方法的一个应用场景的示意图400。在图4所示的应用场景中,任务调度服务器和每个任务执行服务器以心跳方式向数据中心发送自身的负载,数据中心接收并存储各服务器的负载信息,并将各任务执行服务器的负载发送给任务调度服务器。任务调度服务器在从存储器中获取未执行任务和自定义任务后,结合各任务执行服务器的负载,确定任务执行服务器1的负载最小,则将未执行任务发送给任务执行服务器1。然后间隔10秒钟向任务执行服务器1发送执行状态询问消息,并接收任务执行服务器1返回的执行状态应答消息。任务执行服务器1出现故障后,不能向任务调度服务器返回的执行状态应答消息。当超过5分钟没有接收到任务执行服务器1返回的执行状态应答消息后,将任务执行状态修改为未执行,并基于各任务执行服务器的负载,确定任务执行服务器2的负载最小,将执行状态修改后的未执行任务发送给任务执行服务器2。任务执行服务器2主动向任务调度服务器返回执行状态报告消息,任务调度服务器根据执行状态报告消息确定执行状态满足预设条件,将自定义任务发送给任务执行服务器2。
图5示出了根据本申请的用于任务调度服务器的任务监控装置的一个实施例的结构示意图500。任务调度服务器分别与存储有任务列表的存储器以及任务执行服务器集群中的每个任务执行服务器连接,所述任务列表包括未执行任务以及与所述未执行任务相关的自定义任务。本实施例的用于任务调度服务器的任务监控装置包括:获取单元501、第一分配单元502、监测单元503和第二分配单元504。
获取单元501,用于从存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
在本实施例的一些可选的实现方式中,为避免任务调度服务器重复获取同一未执行任务,上述装置还包括图5中未示出的以下单元:
删除单元,用于在获取单元501从存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务之后,将所获取的未执行任务从所述任务列表中删除;或
标记单元,用于在获取单元501从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务之后,将所获取的未执行任务标记为已执行任务。
第一分配单元502,用于从任务执行服务器集群中选取任务执行服务器,将获取单元501所获取的未执行任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行所获取的未执行任务。
监测单元503,用于通过接收第一分配单元502所选取的任务执行服务器返回的消息,监测获取单元501所获取的未执行任务的执行状态。
第二分配单元504,用于当监测单元503监测的执行状态满足预设条件时,将与获取单元501所获取的未执行任务相关的自定义任务分配给第一分配单元502所选取的任务执行服务器,以供第一分配单元502所选取的任务执行服务器执行与获取单元501所获取的未执行任务相关的自定义任务。
本申请的上述实施例提供的用于任务调度服务器的任务监控装置,通过从存储器中获取未执行任务及与所获取的未执行任务相关的自定义任务,并选择合适的任务执行服务器执行所获取的未执行任务,实时监测所选取的服务器对所获取的未执行任务的执行状态,在执行状态满足预设条件时,将自定义任务分配给所选取的任务执行服务器,以使得所选取的任务执行服务器执行上述自定义任务,避免了单个任务执行服务器故障造成的任务堵塞,在提高了任务执行的可靠性的同时,使得用户可以对任务进行定制,具有高度的可定制性。
继续参考图6,示出了根据本申请的用于任务调度服务器的任务监控装置的又一个实施例的结构示意图600。本实施例的用于任务调度服务器的任务监控装置包括:获取单元601、第一分配单元602、监测单元603、故障认定单元604、第四分配单元605、执行失败单元606、第二分配单607、第三分配单元608和报警单元609。
获取单元601用于从存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
第一分配单元602,用于从任务执行服务器集群中选取任务执行服务器,将获取单元601所获取的未执行任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行所获取的未执行任务。
其中,第一分配单元602进一步包括判断模块6021和分配模块6022。
判断模块6021,用于判断获取单元601所获取的未执行任务是否存在前置条件。
分配模块6022,用于响应于获取单元601所获取的未执行任务存在前置条件,判断所述前置条件是否已满足;在所述前置条件已满足时,从所述任务执行服务器集群中选取任务执行服务器,将获取单元601所获取的未执行任务分配给所选取的任务执行服务器。
在本实施例的一些可选的实现方式中,第一分配单元602还可以进一步包括图6中未示出的负载确定模块和任务分配模块。
负载确定模块,用于确定任务执行服务器集群中每个任务执行服务器的负载。
任务分配模块,用于将获取单元601所获取的未执行任务分配给负载最小的任务执行服务器。
在本实施例的一些可选的实现方式中,上述负载确定模块还可以进一步包括图6中未示出的统计子模块、计算子模块和负载子模块。
统计子模块,用于统计每个任务执行服务器正在执行的任务数量。
计算子模块,用于对于每个任务执行服务器,计算统计子模块统计的该任务执行服务器正在执行的任务数量与该任务执行服务器预设的最大执行任务数量的比值。
负载子模块,用于将计算子模块计算的比值作为该任务执行服务器的负载。
监测单元603,用于通过接收第一分配单元602所选取的任务执行服务器返回的消息,监测获取单元601所获取的未执行任务的执行状态。
其中,监测单元603进一步包括执行状态询问模块6031和第一监测模块6032。
执行状态询问模块6031,用于每间隔第一预设时间段向第一分配单元602所选取的任务执行服务器发送执行状态询问消息;
第一监测模块6032,用于响应于接收到第一分配单元602所选取的任务执行服务器返回的执行状态应答消息,监测获取单元601所获取的未执行任务的执行状态。
在本实施例的一些可选的实现方式中,监测单元603还可以进一步包括图6中未示出的第二监测模块。
第二监测模块,用于响应于接收到第一分配单元602所选取的任务执行服务器每间隔预设第二时间段发送的执行状态报告消息,监测获取单元601所获取的未执行任务的执行状态。
故障认定单元604,用于自执行状态询问模块6031向第一分配单元602所选取的任务执行服务器发送执行状态询问消息起,经过了预设的第三时间段,未接收到第一分配单元602所选取的任务执行服务器返回的执行状态应答消息时,认定第一分配单元602所选取的任务执行服务器出现故障。
第四分配单元605,用于从任务执行服务器集群中选取未出现故障的任务执行服务器,将分配给故障认定单元604认定的出现故障的任务执行服务器的未执行任务重新分配给所选取的任务执行服务器。
执行失败单元606,用于当监测单元603监测到执行状态为执行失败状态时,判断所述执行失败状态的次数是否等于第一分配单元602所选取的任务执行服务器的预设任务最大执行次数。
第三分配单元608,用于响应于执行失败单元606确定执行失败状态的次数不等于所选取的任务执行服务器的预设任务最大执行次数,将所述执行状态修改为未执行状态;从所述任务执行服务器集群中选取任务执行服务器,将执行状态修改的未执行任务分配给所选取的任务执行服务器。
报警单元609,用于响应于执行失败单元606确定执行失败状态的次数等于所选取的任务执行服务器的预设任务最大执行次数,向在存储器中存储所获取的未执行任务的用户发送报警信息。
第二分配单元607,用于当监测单元603监测到执行状态满足预设条件时,将与所获取的未执行任务相关的自定义任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行与所获取的未执行任务相关的自定义任务。
在本实施例的一些可选的实现方式中,上述装置还包括图6中未示出的自身负载发送单元、负载视图构建单元和均衡获取单元。
自身负载发送单元,用于每间隔预设第四时间段向任务调度服务器所属的任务调度服务器集群中的其它任务调度服务器发送自身当前的未执行任务的数量。
负载视图构建单元,用于根据自身当前的未执行任务的数量以及接收到的其它任务调度服务器当前的未执行任务的数量,构建各任务调度服务器的负载视图。
均衡获取单元,用于根据负载视图构建单元构建的各任务调度服务器的负载视图,从存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
本申请的上述实施例提供的用于任务调度服务器的任务监控装置,通过判断单元分析任务的前置条件是否满足及在执行状态满足预设条件时将自定义任务分配给选取的任务执行服务器,实现了有效的处理存在依赖关系的任务;在选取任务执行服务器时,通过负载确定模块和任务分配模块,确定了负载最小的任务执行服务器,并基于最小负载优先的原则,保证了任务分配的负载均衡;通过监测单元中的执行状态询问模块及第一监测模块或第二监测模块,与选取的任务执行服务器之间的交互,不仅实现了实时监测获取单元获取的未执行任务的执行状态,还能够监测选取的任务执行服务器的工作状态,在选取的任务执行服务器出现故障时,将任务重新分配给其它的任务执行服务器,从而避免了单个任务执行服务器在出现故障时造成的任务堵塞现象,提高了任务的处理能力;通过自身负载发送单元实现了各任务调度服务器间的交互、任务调度服务器间的负载均衡,并且可以在任务调度服务器出现故障时,接管出现故障的任务调度服务器选取的任务执行服务器,提高了任务调度服务器集群的容灾能力。
下面参考图7,其示出了适于用来实现本申请实施例的任务调度服务器的计算机系统700的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、第一分配单元、监测单元和第二分配单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务;从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行所获取的未执行任务;通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态;当所述执行状态满足预设条件时,将与所获取的未执行任务相关的自定义任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行与所获取的未执行任务相关的自定义任务。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (22)

1.一种用于任务调度服务器的任务监控方法,其特征在于,任务调度服务器分别与存储有任务列表的存储器以及任务执行服务器集群中的每个任务执行服务器连接,所述任务列表包括未执行任务以及与所述未执行任务相关的自定义任务,所述方法包括:
从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务;
从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行所获取的未执行任务;
通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态;
当所述执行状态满足预设条件时,将与所获取的未执行任务相关的自定义任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行与所获取的未执行任务相关的自定义任务。
2.根据权利要求1所述的方法,其特征在于,在所述从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务之后,所述方法还包括:
将所获取的未执行任务从所述任务列表中删除;或
将所获取的未执行任务标记为已执行任务。
3.根据权利要求1所述的方法,其特征在于,所述从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器,包括:
确定所述任务执行服务器集群中每个任务执行服务器的负载;
将所获取的未执行任务分配给负载最小的任务执行服务器。
4.根据权利要求3所述的方法,其特征在于,所述确定所述任务执行服务器集群中的每个任务执行服务器的负载,包括:
统计每个任务执行服务器正在执行的任务数量;
对于每个任务执行服务器,计算该任务执行服务器正在执行的任务数量与该任务执行服务器预设的最大执行任务数量的比值;
将所述比值作为该任务执行服务器的负载。
5.根据权利要求1所述的方法,其特征在于,所述从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器,包括:
判断所获取的未执行任务是否存在前置条件;
响应于所获取的未执行任务存在前置条件,判断所述前置条件是否已满足;在所述前置条件已满足时,从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器。
6.根据权利要求1所述的方法,其特征在于,所述通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态,包括:
每间隔第一预设时间段向所选取的任务执行服务器发送执行状态询问消息;
响应于接收到所选取的任务执行服务器返回的执行状态应答消息,监测所获取的未执行任务的执行状态。
7.根据权利要求1所述的方法,其特征在于,所述通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态,包括:
响应于接收到所选取的任务执行服务器每间隔预设第二时间段发送的执行状态报告消息,监测所获取的未执行任务的执行状态。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当监测到所述执行状态为执行失败状态时,判断所述执行失败状态的次数是否等于所选取的任务执行服务器的预设任务最大执行次数;
响应于所述执行失败状态的次数不等于所选取的任务执行服务器的预设任务最大执行次数,将所述执行状态修改为未执行状态;从所述任务执行服务器集群中选取任务执行服务器,将执行状态修改的未执行任务分配给所选取的任务执行服务器。
9.根据权利要求8所述的方法,其特征在于,所述任务列表还包括在所述存储器中存储所述未执行任务的用户的标识,所述方法还包括:
响应于所述执行失败状态的次数等于所选取的任务执行服务器的预设任务最大执行次数,向在所述存储器中存储所获取的未执行任务的用户发送报警信息。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
自向所选取的任务执行服务器发送执行状态询问消息起,经过了预设的第三时间段,未接收到所选取的任务执行服务器返回的执行状态应答消息时,认定所选取的任务执行服务器出现故障;
从所述任务执行服务器集群中选取未出现故障的任务执行服务器,将分配给出现故障的任务执行服务器的未执行任务重新分配给所选取的任务执行服务器。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每间隔预设第四时间段向所述任务调度服务器所属的任务调度服务器集群中的其它任务调度服务器发送自身当前的未执行任务的数量;
根据自身当前的未执行任务的数量以及接收到的其它任务调度服务器当前的未执行任务的数量,构建各任务调度服务器的负载视图;
根据所述各任务调度服务器的负载视图,从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
12.一种用于任务调度服务器的任务监控装置,其特征在于,任务调度服务器分别与存储有任务列表的存储器以及任务执行服务器集群中的每个任务执行服务器连接,所述任务列表包括未执行任务以及与所述未执行任务相关的自定义任务,所述装置包括:
获取单元,用于从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务;
第一分配单元,用于从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行所获取的未执行任务;
监测单元,用于通过接收所选取的任务执行服务器返回的消息,监测所获取的未执行任务的执行状态;
第二分配单元,用于当所述执行状态满足预设条件时,将与所获取的未执行任务相关的自定义任务分配给所选取的任务执行服务器,以供所选取的任务执行服务器执行与所获取的未执行任务相关的自定义任务。
13.根据权利要求13所述的装置,其特征在于,所述装置还包括:
删除单元,用于在所述获取单元从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务之后,将所获取的未执行任务从所述任务列表中删除;或
标记单元,用于在所述获取单元从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务之后,将所获取的未执行任务标记为已执行任务。
14.根据权利要求13所述的装置,其特征在于,所述第一分配单元包括:
负载确定模块,用于确定所述任务执行服务器集群中每个任务执行服务器的负载;
任务分配模块,用于将所获取的未执行任务分配给负载最小的任务执行服务器。
15.根据权利要求14所述的装置,其特征在于,所述负载确定模块包括:
统计子模块,用于统计每个任务执行服务器正在执行的任务数量;
计算子模块,用于对于每个任务执行服务器,计算该任务执行服务器正在执行的任务数量与该任务执行服务器预设的最大执行任务数量的比值;
负载子模块,用于将所述比值作为该任务执行服务器的负载。
16.根据权利要求12所述的装置,其特征在于,所述第一分配单元包括:
判断模块,用于判断所获取的未执行任务是否存在前置条件;
分配模块,用于响应于所获取的未执行任务存在前置条件,判断所述前置条件是否已满足;在所述前置条件已满足时,从所述任务执行服务器集群中选取任务执行服务器,将所获取的未执行任务分配给所选取的任务执行服务器。
17.根据权利要求12所述的装置,其特征在于,所述监测单元包括:
执行状态询问模块,用于每间隔第一预设时间段向所选取的任务执行服务器发送执行状态询问消息;
第一监测模块,用于响应于接收到所选取的任务执行服务器返回的执行状态应答消息,监测所获取的未执行任务的执行状态。
18.根据权利要求12所述的装置,其特征在于,所述监测单元包括:
第二监测模块,用于响应于接收到所选取的任务执行服务器每间隔预设第二时间段发送的执行状态报告消息,监测所获取的未执行任务的执行状态。
19.根据权利要求12所述的装置,其特征在于,所述装置还包括:
执行失败单元,用于当监测到所述执行状态为执行失败状态时,判断所述执行失败状态的次数是否等于所选取的任务执行服务器的预设任务最大执行次数;
第三分配单元,用于响应于所述执行失败状态的次数不等于所选取的任务执行服务器的预设任务最大执行次数,将所述执行状态修改为未执行状态;从所述任务执行服务器集群中选取任务执行服务器,将执行状态修改的未执行任务分配给所选取的任务执行服务器。
20.根据权利要求19所述的装置,其特征在于,所述任务列表还包括在所述存储器中存储所述未执行任务的用户的标识,所述装置还包括:
报警单元,用于响应于所述执行失败状态的次数等于所选取的任务执行服务器的预设任务最大执行次数,向在所述存储器中存储所获取的未执行任务的用户发送报警信息。
21.根据权利要求17所述的装置,其特征在于,所述装置还包括:
故障认定单元,用于自向所选取的任务执行服务器发送执行状态询问消息起,经过了预设的第三时间段,未接收到所选取的任务执行服务器返回的执行状态应答消息时,认定所选取的任务执行服务器出现故障;
第四分配单元,用于从所述任务执行服务器集群中选取未出现故障的任务执行服务器,将分配给出现故障的任务执行服务器的未执行任务重新分配给所选取的任务执行服务器。
22.根据权利要求12所述的装置,其特征在于,所述装置还包括:
自身负载发送单元,用于每间隔预设第四时间段向所述任务调度服务器所属的任务调度服务器集群中的其它任务调度服务器发送自身当前的未执行任务的数量;
负载视图构建单元,用于根据自身当前的未执行任务的数量以及接收到的其它任务调度服务器当前的未执行任务的数量,构建各任务调度服务器的负载视图;
均衡获取单元,用于根据所述各任务调度服务器的负载视图,从所述存储器中获取未执行任务以及与所获取的未执行任务相关的自定义任务。
CN201610551922.0A 2016-07-13 2016-07-13 用于任务调度服务器的任务监控方法和装置 Pending CN106227596A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610551922.0A CN106227596A (zh) 2016-07-13 2016-07-13 用于任务调度服务器的任务监控方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610551922.0A CN106227596A (zh) 2016-07-13 2016-07-13 用于任务调度服务器的任务监控方法和装置

Publications (1)

Publication Number Publication Date
CN106227596A true CN106227596A (zh) 2016-12-14

Family

ID=57520325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610551922.0A Pending CN106227596A (zh) 2016-07-13 2016-07-13 用于任务调度服务器的任务监控方法和装置

Country Status (1)

Country Link
CN (1) CN106227596A (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038645A (zh) * 2016-12-21 2017-08-11 阿里巴巴集团控股有限公司 业务处理方法、装置及系统和服务器
CN107241418A (zh) * 2017-06-13 2017-10-10 腾讯科技(深圳)有限公司 一种负载均衡方法、装置、设备和计算机可读存储介质
CN107291621A (zh) * 2017-07-07 2017-10-24 恒生电子股份有限公司 测试用例的处理方法、处理装置、介质和电子设备
CN108256721A (zh) * 2017-11-16 2018-07-06 中国平安财产保险股份有限公司 一种任务调度方法、终端设备及介质
CN108337275A (zh) * 2017-01-19 2018-07-27 百度在线网络技术(北京)有限公司 用于分发服务器的任务分发方法、装置以及设备
CN108446171A (zh) * 2018-02-01 2018-08-24 平安科技(深圳)有限公司 电子装置、分布式系统执行任务分配方法及存储介质
CN108628677A (zh) * 2017-03-20 2018-10-09 北京京东尚科信息技术有限公司 分布式任务处理系统、方法和装置
CN108734293A (zh) * 2017-04-13 2018-11-02 北京京东尚科信息技术有限公司 任务管理系统、方法和装置
CN109408220A (zh) * 2017-08-17 2019-03-01 北京国双科技有限公司 一种任务处理方法及装置
CN109688138A (zh) * 2018-12-27 2019-04-26 北京天融信网络安全技术有限公司 一种基于网络的数据处理方法及电子设备
CN109901920A (zh) * 2019-01-18 2019-06-18 中国平安财产保险股份有限公司 任务调度方法及装置、电子终端
CN109901925A (zh) * 2018-11-06 2019-06-18 阿里巴巴集团控股有限公司 一种任务处理方法及系统
CN109922050A (zh) * 2019-02-03 2019-06-21 普信恒业科技发展(北京)有限公司 一种任务检测方法及装置
CN110213213A (zh) * 2018-05-30 2019-09-06 腾讯科技(深圳)有限公司 应用的定时任务处理方法及系统
CN110287033A (zh) * 2019-07-03 2019-09-27 网易(杭州)网络有限公司 批量任务处理方法、装置、系统、设备和可读存储介质
CN110727509A (zh) * 2019-09-24 2020-01-24 浙江大搜车软件技术有限公司 任务调度方法、装置、计算机设备和存储介质
CN110764884A (zh) * 2018-07-27 2020-02-07 北京国双科技有限公司 任务调度方法及系统、任务系统
CN110895487A (zh) * 2018-09-12 2020-03-20 北京奇虎科技有限公司 分布式任务调度系统
CN111124688A (zh) * 2019-12-31 2020-05-08 青梧桐有限责任公司 服务器资源控制方法和系统
CN111522649A (zh) * 2019-02-01 2020-08-11 北京京东尚科信息技术有限公司 一种分布式任务分配方法、装置和系统
CN111541555A (zh) * 2020-03-24 2020-08-14 中国平安人寿保险股份有限公司 群聊优化方法及相关产品
CN112379987A (zh) * 2020-11-17 2021-02-19 中国电力财务有限公司 任务调度方法、装置、可读介质以及设备
CN115905181A (zh) * 2022-12-13 2023-04-04 广东科学技术职业学院 一种数据库高可用性架构设计方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425024A (zh) * 2008-10-24 2009-05-06 中国移动通信集团山东有限公司 一种多任务处理方法及装置
CN104468174A (zh) * 2013-09-25 2015-03-25 北京新媒传信科技有限公司 一种集群服务器执行任务的方法和装置
CN104462370A (zh) * 2014-12-09 2015-03-25 北京百度网讯科技有限公司 分布式任务调度系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425024A (zh) * 2008-10-24 2009-05-06 中国移动通信集团山东有限公司 一种多任务处理方法及装置
CN104468174A (zh) * 2013-09-25 2015-03-25 北京新媒传信科技有限公司 一种集群服务器执行任务的方法和装置
CN104462370A (zh) * 2014-12-09 2015-03-25 北京百度网讯科技有限公司 分布式任务调度系统及方法

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038645A (zh) * 2016-12-21 2017-08-11 阿里巴巴集团控股有限公司 业务处理方法、装置及系统和服务器
CN108337275A (zh) * 2017-01-19 2018-07-27 百度在线网络技术(北京)有限公司 用于分发服务器的任务分发方法、装置以及设备
CN108628677A (zh) * 2017-03-20 2018-10-09 北京京东尚科信息技术有限公司 分布式任务处理系统、方法和装置
CN108734293B (zh) * 2017-04-13 2023-05-02 北京京东尚科信息技术有限公司 任务管理系统、方法和装置
CN108734293A (zh) * 2017-04-13 2018-11-02 北京京东尚科信息技术有限公司 任务管理系统、方法和装置
CN107241418A (zh) * 2017-06-13 2017-10-10 腾讯科技(深圳)有限公司 一种负载均衡方法、装置、设备和计算机可读存储介质
CN107291621A (zh) * 2017-07-07 2017-10-24 恒生电子股份有限公司 测试用例的处理方法、处理装置、介质和电子设备
CN109408220A (zh) * 2017-08-17 2019-03-01 北京国双科技有限公司 一种任务处理方法及装置
CN108256721B (zh) * 2017-11-16 2020-11-13 中国平安财产保险股份有限公司 一种任务调度方法、终端设备及介质
CN108256721A (zh) * 2017-11-16 2018-07-06 中国平安财产保险股份有限公司 一种任务调度方法、终端设备及介质
CN108446171A (zh) * 2018-02-01 2018-08-24 平安科技(深圳)有限公司 电子装置、分布式系统执行任务分配方法及存储介质
CN108446171B (zh) * 2018-02-01 2022-07-08 平安科技(深圳)有限公司 电子装置、分布式系统执行任务分配方法及存储介质
CN110213213A (zh) * 2018-05-30 2019-09-06 腾讯科技(深圳)有限公司 应用的定时任务处理方法及系统
CN110213213B (zh) * 2018-05-30 2021-08-03 腾讯科技(深圳)有限公司 应用的定时任务处理方法及系统
CN110764884A (zh) * 2018-07-27 2020-02-07 北京国双科技有限公司 任务调度方法及系统、任务系统
CN110895487A (zh) * 2018-09-12 2020-03-20 北京奇虎科技有限公司 分布式任务调度系统
CN109901925A (zh) * 2018-11-06 2019-06-18 阿里巴巴集团控股有限公司 一种任务处理方法及系统
CN109901925B (zh) * 2018-11-06 2023-08-25 创新先进技术有限公司 一种任务处理方法及系统
CN109688138A (zh) * 2018-12-27 2019-04-26 北京天融信网络安全技术有限公司 一种基于网络的数据处理方法及电子设备
CN109901920A (zh) * 2019-01-18 2019-06-18 中国平安财产保险股份有限公司 任务调度方法及装置、电子终端
CN111522649B (zh) * 2019-02-01 2022-04-12 北京京东尚科信息技术有限公司 一种分布式任务分配方法、装置和系统
CN111522649A (zh) * 2019-02-01 2020-08-11 北京京东尚科信息技术有限公司 一种分布式任务分配方法、装置和系统
CN109922050A (zh) * 2019-02-03 2019-06-21 普信恒业科技发展(北京)有限公司 一种任务检测方法及装置
CN110287033A (zh) * 2019-07-03 2019-09-27 网易(杭州)网络有限公司 批量任务处理方法、装置、系统、设备和可读存储介质
CN110727509A (zh) * 2019-09-24 2020-01-24 浙江大搜车软件技术有限公司 任务调度方法、装置、计算机设备和存储介质
CN111124688A (zh) * 2019-12-31 2020-05-08 青梧桐有限责任公司 服务器资源控制方法和系统
CN111541555A (zh) * 2020-03-24 2020-08-14 中国平安人寿保险股份有限公司 群聊优化方法及相关产品
CN112379987A (zh) * 2020-11-17 2021-02-19 中国电力财务有限公司 任务调度方法、装置、可读介质以及设备
CN115905181A (zh) * 2022-12-13 2023-04-04 广东科学技术职业学院 一种数据库高可用性架构设计方法、系统及存储介质

Similar Documents

Publication Publication Date Title
CN106227596A (zh) 用于任务调度服务器的任务监控方法和装置
CN106713944A (zh) 一种流数据任务的处理方法和装置
CN115328663B (zh) 基于PaaS平台进行资源调度的方法、装置、设备和存储介质
CN104583960B (zh) 在线服务的事务级健康监控
CN105516347B (zh) 一种流媒体服务器的负载均衡调配的方法及装置
CN103825964B (zh) 一种基于云计算PaaS平台的SLS调度装置和方法
CN108874528A (zh) 分布式任务存储系统和分布式任务存储/读取方法
CN108182140A (zh) 确定和监测计算机资源服务的性能能力
CN107800756A (zh) 一种负载均衡方法及负载均衡器
CN105956138A (zh) 数据库连接的控制方法和装置
CN105744008B (zh) 智能家居平台、应用于该平台的系统更新方法和装置
CN108337275A (zh) 用于分发服务器的任务分发方法、装置以及设备
CN110516986B (zh) 包裹生产模式下的集合单组建方法和装置
CN101753446A (zh) 网络系统、管理服务器以及设定调度方法
CN112333249B (zh) 一种业务服务系统及方法
CN109257320A (zh) 消息存储方法和装置
CN108898396A (zh) 一种客户资源管理方法及装置
CN108121599A (zh) 一种资源管理方法、装置及系统
CN108243012A (zh) 在线计费系统ocs中计费应用处理系统、方法及装置
CN106648900A (zh) 基于智能电视的超算方法及系统
CN106130810A (zh) 网站监测方法和装置
KR101576026B1 (ko) 상품간 투입 시간을 최소화하기 위한 ptl 분배 시스템 및 그 방법
CN1783121B (zh) 用于执行设计自动化的方法和系统
CN104320433B (zh) 数据处理方法和分布式数据处理系统
CN111222810B (zh) 一种实时分配格口的方法和装置

Legal Events

Date Code Title Description
C06 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: 20161214

RJ01 Rejection of invention patent application after publication