CN111522641B - 任务调度方法、装置、计算机设备和存储介质 - Google Patents

任务调度方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111522641B
CN111522641B CN202010318663.3A CN202010318663A CN111522641B CN 111522641 B CN111522641 B CN 111522641B CN 202010318663 A CN202010318663 A CN 202010318663A CN 111522641 B CN111522641 B CN 111522641B
Authority
CN
China
Prior art keywords
task
node
task processing
processing node
processing
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.)
Active
Application number
CN202010318663.3A
Other languages
English (en)
Other versions
CN111522641A (zh
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 Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN202010318663.3A priority Critical patent/CN111522641B/zh
Publication of CN111522641A publication Critical patent/CN111522641A/zh
Application granted granted Critical
Publication of CN111522641B publication Critical patent/CN111522641B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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)
  • Multi Processors (AREA)

Abstract

本公开提供了一种任务调度方法、装置、计算机设备和存储介质,应用于任务调度系统,所述任务调度系统包括任务调度节点和多个任务处理节点,所述任务调度节点分别与每个任务处理节点通信连接;该方法包括:任务调度节点获取针对待分配任务的任务调度请求;所述任务调度请求中携带有所述待分配任务的任务标识和所述待分配任务的总量;基于所述任务调度请求中携带的总量,以及所述每个任务处理节点对应的处理能力,从所述待分配任务中确定为每个任务处理节点所分配的目标任务;将所述目标任务的任务标识发送给该目标任务所匹配的任务处理节点。本公开能够提高任务的处理效率。

Description

任务调度方法、装置、计算机设备和存储介质
技术领域
本公开涉及通信处理技术领域,具体而言,涉及一种任务调度方法、装置、计算机设备和存储介质。
背景技术
在传统的业务系统中,当用户量不大、数据量不多时,任务处理系统可以采用单机进行任务处理,处理任务需要的数据采用单表存储,数据可以存放在数据库中。
当需要批量处理某一表里面的数据,调度系统在固定时间点向任务处理设备发起单个任务,任务处理系统接收到任务处理指令,从数据库中循环捞取对应的数据,并对捞取到的数据进行处理。当任务量越来越多时,任务在任务处理设备中排队进行处理,处理任务所消耗的时间会越来越长,降低任务处理效率。
发明内容
本公开实施例至少提供一种任务调度方法、装置、计算机设备和存储介质,提高任务的处理效率。
第一方面,本公开实施例提供了一种任务调度方法,应用于任务调度系统,所述任务调度系统包括任务调度节点和多个任务处理节点,所述任务调度节点分别与每个任务处理节点通信连接;该方法包括:
任务调度节点获取针对待分配任务的任务调度请求;所述任务调度请求中携带有所述待分配任务的任务标识和所述待分配任务的总量;
基于所述任务调度请求中携带的总量,以及所述每个任务处理节点对应的处理能力,从所述待分配任务中确定为每个任务处理节点所分配的目标任务;
将所述目标任务的任务标识发送给该目标任务所匹配的任务处理节点。
在一种实施方式中,从所述待分配任务中确定为每个任务处理节点所分配的目标任务,包括:
基于各任务处理节点对应的处理能力,确定每个任务处理节点对应的任务分配系数;
基于每个任务处理节点对应的任务分配系数,以及所述任务调度请求中携带的总量,为各个可用任务处理节点确定所分配的待分配任务的分配数量;所述可用任务处理节点为任务处理节点列表中的节点地址信息对应的任务处理节点;
从所述待分配任务中,选择所述分配数量个任务,将选择的任务作为为该可用任务处理节点分配的目标任务。
在一种实施方式中,根据以下步骤确定每个任务处理节点的处理能力:
获取每个任务处理节点的历史任务处理时长;
基于各个任务处理节点对应的历史任务处理时长,确定每个任务处理节点的处理能力;或者,
获取每个任务处理节点的空闲数据处理资源;
基于各个任务处理节点的空闲数据处理资源,确定每个任务处理节点的处理能力。
在一种实施方式中,根据以下步骤更新任务处理节点列表中的节点地址信息:
获取多个节点地址信息;
若所述多个节点地址信息中存在节点地址信息与所述任务处理节点列表中的各个节点地址信息均不匹配,则将与所述任务处理节点列表中的各个节点地址信息均不匹配的节点地址信息添加到所述任务处理节点列表中;
若所述任务处理节点列表中存在节点地址信息与获取的各个节点地址信息均不匹配,则从所述任务处理节点列表中删除与获取的各个节点地址信息均不匹配的节点地址信息。
在一种实施方式中,获取针对待分配任务的任务调度请求,包括:
响应于任一任务处理节点发送的任务处理请求,获取针对待分配任务的任务调度请求。
第二方面,本公开实施例提供了一种任务调度方法,该方法包括:
任务处理节点接收任务调度节点发送针对目标任务的任务处理请求;所述任务处理请求中携带有所述目标任务的任务标识;
基于每个所述目标任务的任务标识,以及预设的任务标识和数据表标识之间的对应关系,确定与每个目标任务对应的数据表标识;
向数据管理节点发送数据查询请求;所述数据查询请求中携带有与每个目标任务对应数据表标识;
接收并处理所述数据管理节点返回的与每个目标任务对应的数据表。
第三方面,本公开实施例提供了一种任务调度方法,所述方法包括:
数据管理节点接收任务处理节点发送的数据查询请求;所述数据查询请求中携带有目标任务分别对应的数据表标识;
在数据表标识和数据表之间的对应关系中,查询与所述数据表标识对应的数据表;
将查询到的数据表发送给所述任务处理节点。
第四方面,本公开实施例提供了一种任务调度装置,应用于任务调度系统中的任务调度节点中,所述任务调度系统包括任务调度节点和多个任务处理节点,所述任务调度节点分别与每个任务处理节点通信连接;该方法包括:
获取模块,用于获取针对待分配任务的任务调度请求;所述任务调度请求中携带有所述待分配任务的任务标识和所述待分配任务的总量;
确定模块,用于基于所述任务调度请求中携带的总量,以及所述每个任务处理节点对应的处理能力,从所述待分配任务中确定为每个任务处理节点所分配的目标任务;
发送模块,用于将所述目标任务的任务标识发送给该目标任务所匹配的任务处理节点。
在一种实施方式中,所述确定模块用于根据以下步骤从所述待分配任务中确定为每个任务处理节点所分配的目标任务:
基于各任务处理节点对应的处理能力,确定每个可用任务处理节点对应的任务分配系数;所述可用任务处理节点为任务处理节点列表中的节点地址信息对应的任务处理节点;
基于每个任务处理节点对应的任务分配系数,以及所述任务调度请求中携带的总量,为各个可用任务处理节点确定所分配的待分配任务的分配数量;
从所述待分配任务中,选择所述分配数量个任务,将选择的任务作为为该可用任务处理节点分配的目标任务。
在一种实施方式中,所述确定模块根据以下步骤确定每个任务处理节点的处理能力:
获取每个任务处理节点的历史任务处理时长;
基于各个任务处理节点对应的历史任务处理时长,确定每个任务处理节点的处理能力;或者,
获取每个任务处理节点的空闲数据处理资源;
基于各个任务处理节点的空闲数据处理资源,确定每个任务处理节点的处理能力。
在一种实施方式中,所述确定模块用于根据以下步骤更新任务处理节点列表中的节点地址信息:
获取多个节点地址信息;
若所述多个节点地址信息中存在节点地址信息与所述任务处理节点列表中的各个节点地址信息均不匹配,则将与所述任务处理节点列表中的各个节点地址信息均不匹配的节点地址信息添加到所述任务处理节点列表中;
若所述任务处理节点列表中存在节点地址信息与获取的各个节点地址信息均不匹配,则从所述任务处理节点列表中删除与获取的各个节点地址信息均不匹配的节点地址信息。
在一种实施方式中,所述获取模块用于根据以下步骤获取针对待分配任务的任务调度请求:
响应于任一任务处理节点发送的任务处理请求,获取针对待分配任务的任务调度请求。
第五方面,本公开实施例提供了一种任务调度装置,该装置包括:
第一接收模块,用于接收任务调度节点发送针对目标任务的任务处理请求;所述任务处理请求中携带有所述目标任务的任务标识;
确定模块,用于基于每个所述目标任务的任务标识,以及预设的任务标识和数据表标识之间的对应关系,确定与每个目标任务对应的数据表标识;
发送模块,用于向数据管理节点发送数据查询请求;所述数据查询请求中携带有与每个目标任务对应数据表标识;
第二接收模块,用于接收并处理所述数据管理节点返回的与每个目标任务对应的数据表。
第六方面,本公开实施例提供了一种任务调度装置,所述装置包括:
接收模块,用于接收任务处理节点发送的数据查询请求;所述数据查询请求中携带有目标任务分别对应的数据表标识;
查询模块,用于在数据表标识和数据表之间的对应关系中,查询与所述数据表标识对应的数据表;
发送模块,用于将查询到的数据表发送给所述任务处理节点。
第七方面,本公开实施例提供了一种计算机设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面任一所述方法的步骤,或执行如第二方面所述方法的步骤,或执行如第三方面任一所述方法的步骤。
第八方面,本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述方法的步骤,或执行如第二方面所述方法的步骤,或执行如第三方面任一所述方法的步骤。
本公开实施例提供了一种任务调度方法,该方法应用于任务调度系统中的任务调度节点,任务调度系统包括任务调度节点和多个任务处理节点,任务调度节点分别与每个任务处理节点通信连接;任务调度节点获取针对待分配任务的任务调度请求,任务调度请求中携带有待分配任务的任务标识和所述待分配任务的总量,基于任务调度请求中携带的总量,以及每个任务处理节点对应的处理能力,从待分配任务中确定为每个任务处理节点所分配的目标任务,将目标任务的任务标识发送给该目标任务所匹配的任务处理节点。这样,任务调度节点可以将待分配任务分配给任务调度系统中不同的任务处理节点,而并非将待分配任务分配到一个任务处理设备中,提高了每个任务处理节点对任务的处理效率。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种任务调度方法的第一种流程示意图;
图2示出了本公开实施例所提供的一种任务调度方法的第二种流程示意图;
图3示出了本公开实施例所提供的一种任务调度方法的第三种流程示意图;
图4示出了本公开实施例所提供的一种任务调度装置的第一种结构示意图;
图5示出了本公开实施例所提供的一种任务调度装置的第二种结构示意图;
图6示出了本公开实施例所提供的一种任务调度装置的第三种结构示意图;
图7示出了本公开实施例所提供的一种计算机设备的示意图;
图8示出了本公开实施例所提供的又一种计算机设备的示意图;
图9示出了本公开实施例所提供的另一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
通过单个任务处理设备处理任务时,随着任务量的增大,任务被处理的时长会变长,相应地,单个数据表中存储的数据量也会越来越多,任务处理设备从该数据表中查询任务对应的数据的效率会越来越低,用户需要花费越来越多的时间等待任务处理结果,且当任务处理设备发生故障导致宕机时,该任务处理设备中的全部任务都要暂停,导致用户体验度比较差。
基于此,本公开公开了一种任务调度方法,该方法应用于任务调度系统中的任务调度节点,任务调度系统包括任务调度节点和多个任务处理节点,任务调度节点分别与每个任务处理节点通信连接;任务调度节点获取针对待分配任务的任务调度请求,任务调度请求中携带有待分配任务的任务标识和所述待分配任务的总量,基于任务调度请求中携带的总量,以及每个任务处理节点对应的处理能力,从待分配任务中确定为每个任务处理节点所分配的目标任务,将目标任务的任务标识发送给该目标任务所匹配的任务处理节点。这样,任务调度节点可以将待分配任务分配给任务调度系统中不同的任务处理节点,而并非将待分配任务分配到一个任务处理设备中,提高了每个任务处理节点对任务的处理效率。
需要说明的是,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种任务调度方法进行详细介绍,本公开实施例所提供的任务调度方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、蜂窝电话、无绳电话、个人数字处理(PersonalDigital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该任务调度方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
本公开的任务调度方法应用任务调度系统中,任务调度系统中包括:任务调度节点、多个任务处理节点和数据管理节点,任务调度节点与每个任务处理节点进行通信连接,每个任务处理节点与数据管理节点连接。
任务调度节点用于对任务调度系统中的任务进行调度,将任务分配给各个任务处理节点,任务处理节点用于基于任务调度节点为自身分配的任务,从数据管理节点中获取每个任务对应的数据,并对数据进行处理,数据管理节点用于维护大量的数据表,数据表中记录的数据为直行任务过程中需要的数据。
数据表采用分布式方式存储在多个计算机设备中,数据管理节点可以为上述多个计算机设备中的任一个计算机设备。下面以执行主体为任务调度节点、任务处理节点、数据管理节点为执行主体对本公开实施例提供的任务调度方法加以说明。
参考图1,本公开提供了一种任务调度方法,应用于任务调度节点中,该方法包括以下步骤:
S101,任务调度节点获取针对待分配任务的任务调度请求;所述任务调度请求中携带有所述待分配任务的任务标识和所述待分配任务的总量。
这里,待分配任务可以为数据统计任务、数据计算任务、或对账单任务等任务,例如,在待分配任务为数据统计任务时,执行的数据统计任务可以为统计数据表中包含的数据量;在待分配任务为数据计算任务时,执行的数据计算任务可以为计算数据表中包括的数据的和值、平均值等;在待分配任务为对表单任务时,执行的对账单任务为比对从数据库获取的数据表和对账系统的数据表;待分配任务中包括至少一个任务,总量为待分配任务中包括的任务的总数目,可以根据实际场景确定。
任务标识可以为任务名称、任务类型等,比如,待分配任务为数据统计任务时,任务标识可以数据统计任务1、数据统计任务2、数据统计任务3等。
在具体实施过程中,任务处理节点预先将需要进行调度的任务(包括任务标识和任务数量)注册到任务调度节点中,同时,将自身的节点地址信息注册到任务调度节点中,任务处理节点的节点地址信息可以存储在任务处理节点列表中(下文详述)。
当待分配任务为对账单任务时,比如交易系统的表单,交易系统可能会周期性的生成需要对账的表单,因此,任务调度节点可以周期性的发起任务调度请求,在周期性发起任务调度请求时,可以在每天的空闲时间点发起,例如,晚上11:00,空闲时间点要处理的任务比较少,能够提供足够的数据处理资源来处理待分配任务。
任务调度节点除了周期性的发起任务调度请求外,还可以由任务处理节点发起,还可以响应于任一任务处理节点发送的任务处理请求,再发起针对待分配任务的任务调度请求,比如,在任务处理节点出现处理异常导致部分或全部任务无法处理时,任务处理节点向任务调度节点发送任务处理请求;又如,当任务处理节点中的任务量比较大,导致任务处理节点处于超负荷时,任务处理节点可以向任务调度节点发送任务处理请求。
当任务处理节点主动发送任务处理请求时,任务处理请求中携带有未处理的目标任务的任务标识,这样,任务调度节点在接收任务处理节点的任务处理请求后,重新分配任务处理请求中的任务标识,提高任务的处理效率,提高用户的体验度。
S102,任务调度节点基于所述任务调度请求中携带的总量,以及所述每个任务处理节点对应的处理能力,从所述待分配任务中确定为每个任务处理节点所分配的目标任务。
这里,任务处理节点的处理能力表征任务处理节点处理任务的能力,处理能力可以通过任务处理节点的处理时长确定,任务处理时长越长,说明任务处理节点的处理能力越差,反之则越强,也可以通过任务处理节点的数据处理资源确定,数据处理资源的资源量越多,说明任务处理节点的处理能力越强,反之则越差;为每个任务处理节点分配目标任务时,可以为任务处理节点分配一个任务或多个任务,当任务处理节点的处理能力比较低时,可以不为任务处理节点分配任务,根据实际情况确定。
任务处理节点的处理能力可以根据以下方式中的任何一种方式实现。
方式一:基于任务处理节点在历史时间段处理任务的任务处理时长确定处理能力。
任务处理节点在处理完任务后,任务处理节点会向任务调度节点发送任务处理结果,任务调度节点根据向任务处理节点发送任务标识的时间点和接收任务处理结果的时间点,确定任务处理节点处理任务的处理时长,例如,任务调度节点向任务处理节点发送任务标识的时间为T1,任务调度节点接收到任务处理节点反馈的任务处理节点的时间为T2,则任务处理节点处理任务的处理时长为T2-T1。
若任务处理节点的处理能力较强,则任务处理节点可以快速处理分配给自身的任务,也就是,任务处理时长较短,若任务处理节点的处理能力较差,则任务处理时长比较长。因此,可以获取每个任务处理节点在历史时间段的历史任务处理时长,基于各个任务处理节点对应的历史任务处理时长,确定每个任务处理节点的处理能力。
在利用历史任务处理时长确定任务处理节点的处理能力时,将任务调度节点发送任务标识给任务处理节点的时间点作为当前时间点,可以获取当前时间点之前的、多个历史时间段的历史任务处理时长,基于各个历史时间段的历史任务处理时长,确定各任务处理节点对应的平均历史任务处理时长,使用平均历史任务处理时长表征各任务处理节点的当前处理能力。
例如,以一个任务处理节点为例进行说明,任务调度节点向该任务处理节点发送任务标识的时间为T1,任务处理节点在T1时刻之前,历史时间段S1处理任务的任务处理时长为L1,历史时间段S2处理任务的任务处理时长为L2,历史时间段S3处理任务的任务处理时长为L3,任务处理节点的平均历史任务处理时长可以为(L1+L2+L3)/3,任务处理节点的当前处理能力可以通过(L1+L2+L3)/3来表征。
当历史时间段距离当前时间点的时长较长时,使用得到的平均历史任务处理时长表征任务处理节点的当前处理能力的准确度并不高,因此,可以获取当前时间点之前,任务处理节点上一次处理任务时的任务处理时长,将每个任务处理节点对应的上一次处理任务时的任务处理时长作为对应任务处理节点的当前处理能力。
例如,以一个任务处理节点为例进行说明,任务调度节点向该任务处理节点发送任务标识的时间为T1,任务处理节点在T1时刻之前,上一次处理任务时的任务处理时长为L1,任务处理节点的当前处理能力可以通过L1表征。
方式二:基于任务处理节点中的空闲处理资源信息确定当前任务处理节点的处理能力。
任务处理节点驻留在计算机设备中,每个任务处理节点对应一个计算机设备,每个任务处理节点中均维护有数据处理资源,数据处理资源包括内存、处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)等资源,每个任务需要占用不同资源量的数据处理资源。
当任务处理节点中可用的数据处理资源越多时,说明该任务处理节点的处理能力越高,当任务处理节点可用的数据处理资源越少时,说明该任务处理节点的处理能力越低。因此,可以获取每个任务处理节点的空闲数据处理资源,基于各个任务处理节点的空闲数据处理资源,确定每个任务处理节点的处理能力。
这里,空闲数据数据处理资源表征未被占用的数据处理资源,即未处理任务的数据处理资源,也即,可用的数据处理资源。
在具体实施过程中,可以获取当前时间点之前的每个任务处理节点中的可用数据处理资源,统计每个任务处理节点中的可用数据处理资源的资源量,将每个任务处理节点对应的资源量作为该任务处理节点的当前处理能力。例如,若任务处理节点中包括可用内存为100G、可用CPU为4核,则该任务处理节点的当前处理能力可以通过内存100G、CPU4核来表征。
任务调度节点在从待分配任务中确定为每个任务处理节点所分配的目标任务时,可以包括以下步骤:
基于各任务处理节点对应的处理能力,确定每个可用任务处理节点对应的任务分配系数;所述可用任务处理节点为任务处理节点列表中的节点地址信息对应的任务处理节点;基于每个任务处理节点对应的任务分配系数,以及所述任务调度请求中携带的总量,为各个可用任务处理节点确定所分配的待分配任务的分配数量;从所述待分配任务中,选择所述分配数量个任务,将选择的任务作为为该可用任务处理节点分配的目标任务。
这里,任务分配系数表征分配给该任务处理节点的任务量,任务分配系数越大,说明要分配给对应任务处理节点的任务越多,反之,则越小;可用任务处理节点为任务调度系统中上线的任务处理节点,即可以正常处理任务的任务处理节点;任务调度节点中维护有任务处理节点列表,任务处理节点列表中的节点地址信息对应的任务处理节点均为可用的任务处理节点;分配数量表征分配给任务处理节点的任务的数量。
在具体实施过程中,在获取各个可用任务处理节点对应的历史任务处理时长或者空闲数据处理资源的资源量后,可以计算每个可用任务处理节点对应的历史任务处理时长的比值,基于该比值,确定每个可用任务处理节点的任务分配系数,或者,计算每个可用任务处理节点对应的空闲数据处理资源的资源量的比值,利用该比值,确定每个可用任务处理节点的任务分配系数。
例如,根据空闲数据处理资源的资源量确定任务分配系数,任务处理节点1中的空闲CPU为5核,任务处理节点2中的空闲CPU为3核,任务处理节点3中的空闲CPU为2核,则任务处理节点1、任务处理节点2、任务处理节点3分别对应的资源量的比值为5:3:2,那么,任务处理节点1、任务处理节点2、任务处理节点3分别对应的任务分配系数的比值为5:3:2,可以确定任务处理节点1的任务分配系数确定为5/(5+3+2)=0.5,确定任务处理节点2的任务分配系数确定为3/(5+3+2)0.3,确定任务处理节点3的任务分配系数确定为2/(5+3+2)=0.2。
在得到每个可用任务处理节点的任务分配系数后,针对每个可用任务处理节点,计算该可用任务处理节点的任务分配系数和待分配任务的总量的乘积,将该乘积作为为该可用任务处理节点分配的任务的分配数量。
在确定为每个可用任务处理节点分配的任务的分配数量后,可以从全部待分配任务中,按照任务的编号由小到大的顺序,依次为任务处理节点列表中的每个可用任务处理节点选取对应分配数量的任务,将选择的任务作为为该可用任务处理节点分配的目标任务。
例如,待分配任务包括10个,编号为1-10,任务处理节点包括三个,分别为A、B和C,为任务处理节点A分配5个任务,为任务处理节点B分配3个任务,为任务处理节点C分配2个任务,则可以将编号1-5的任务作为为任务处理节点A分配的目标任务,将编号6-8的任务作为任务处理节点B分配的目标任务,将编号9-10的任务作为为任务处理节点C分配的目标任务。
任务处理节点列表中包括的节点地址信息可以为互联网协议地址信息(InternetProtocol Address,IP地址),任务处理节点列表可以周期性更新,保证任务处理节点列表中的任务处理节点均可用,避免任务调度节点在分配任务时,将任务分配给不可用的任务处理节点,导致任务的处理效率降低,也降低了用户的体验度。
可以根据以下步骤更新任务处理节点列表中的节点地址信息:
获取多个节点地址信息,若所述多个节点地址信息中存在节点地址信息与所述任务处理节点列表中的各个节点地址信息均不匹配,则将与所述任务处理节点列表中的各个节点地址信息均不匹配的节点地址信息添加到所述任务处理节点列表中;若所述任务处理节点列表中存在节点地址信息与获取的各个节点地址信息均不匹配,则从所述任务处理节点列表中删除与获取的各个节点地址信息均不匹配的节点地址信息。
这里,获取的节点地址信息与任务处理节点列表中的节点地址信息列表不匹配表征获取的节点IP地址与任务处理节点列表中的节点IP地址不相同。
在具体实施过程中,任务调度节点会实时接收任务调度系统中的各个任务处理节点发送的节点地址信息,在获取到多个节点地址信息后,依次比对获取的节点地址信息和任务处理节点列表中的各个节点地址信息。
当获取的多个节点地址信息中存在至少一个节点地址信息,与任务处理节点列表中的节点地址信息不相同时,也就是,任务处理节点列表并未包括获取的节点地址信息,则说明任务调度系统中可能存在新上线的任务处理节点,此时,可以将与任务处理节点列表中的各节点地址信息均不相同的节点地址信息添加到任务处理节点列表中。
当任务处理节点列表中存在节点地址信息,与获取的多个节点地址信息中节点地址信息均不相同时,也就是,任务处理节点列表存在节点地址信息并未包含在获取的节点地址信息,说明任务调度系统中可能存在下线的任务处理节点,此时,可以将任务处理节点列表中与获取的多个节点地址信息中的节点地址信息均不相同的节点地址信息删除。这样,可以保证任务处理节点列表中的节点地址信息均为可用的节点地址信息,也就保证了任务调度节点在分配任务时,仅为可用任务处理节点分配。
除了考虑任务处理节点的处理能力为各个任务处理节点分配任务外,还可以将待分配任务平均分配到各个任务处理节点中,当待分配任务的总量n能够整除任务处理节点的总数m时,则每任务处理节点被分配n/m个目标任务,第1个任务处理节点分得编号为第0到第n/m-1的任务,第2个任务处理节点分得编号为第n/m到第2n/m-1的任务,第m个任务处理节点分得编号为第n-n/m到第n-1的任务。
当待分配任务的总量n不能整除任务处理节点的总数m时,若n整除m得到a,余数为b,那么,可以将编号为0到m*a-1的m*a个待分配任务按顺序均匀地分发到m个任务处理节点上,每个任务处理节点分得a个目标任务,而编号为m*a到n-1的b个任务,可以按顺序分发到前b个任务处理节点上,每个任务处理节点分得一个任务,这样,第1个任务处理节点分得编号为0到a-1和编号为m*a的任务,第2个任务处理节点分得编号为a到2a-1和编号为m*a+1的任务,第b个任务处理节点分得编号为(b-1)*a到b*a-1和编号为m*a+b-1(即编号为n-1)的任务,第b+1个任务处理节点分得编号为b*a到(b+1)*a-1的任务,第m个任务处理节点分得编号为(m-1)*a到m*a-1的任务。其中,在分配b个任务时,可以从任务调度系统中选择处理能力强的任务处理节点,例如,按照任务处理时长由短到长的顺序对任务处理节点记性排序,选择排序靠前的前b个任务处理节点。
S103,任务调度节点将所述目标任务的任务标识发送给该目标任务所匹配的任务处理节点。
在具体实施过程中,任务调度节点将与每个任务处理节点对应的目标任务的任务标识发送给对应的任务处理节点。
任务处理节点在接收到任务标识后,会从数据管理节点中获取对应的数据并进行处理,以下以执行主体为任务处理节点介绍任务调度方法。
参考图2,本公开实施例提供了一种任务调度方法,应用于任务处理节点中,该方法包括:
S201,任务处理节点接收任务调度节点发送针对目标任务的任务处理请求;所述任务处理请求中携带有所述目标任务的任务标识。
S202,任务处理节点基于每个所述目标任务的任务标识,以及预设的任务标识和数据表标识之间的对应关系,确定与每个目标任务对应的数据表标识;
S203,任务处理节点向数据管理节点发送数据查询请求;所述数据查询请求中携带有与每个目标任务对应的数据表标识;
S204,任务处理节点接收并处理所述数据管理节点返回的与每个目标任务对应的数据表。
在S201中,任务标识可以参考上文,此处不进行赘述。
在S202中,每个任务处理节点中预先存储有任务标识和数据表标识之间的对应关系表,数据表标识可以为数据表名称,当数目表的名称相同时,可以为每个数据表设置编号。
在具体实施过程中,任务处理节点针对接收到的每个目标任务的任务标识,在对应关系表中的任务标识中,查询与目标任务的任务标识匹配的任务标识,若在对应关系表中查询到与该目标任务的任务标识相同的任务标识,则从对应关系表中,提取查询到的任务标识对应的数据表标识。
在S203中,任务处理节点在查询到与每个目标任务对应的数据表标识后,向数据管理节点发送携带有目标任务的数据表标识的数据查询请求。其中,数据查询请求中携带的数据表标识可以为一个或多个。
数据管理节点在接收到目标任务的数据表标识后,针对每个目标任务,在数据库中,数据库中存储有数据表标识和数据表的对应关系,查询与该目标任务对应的数据表标识匹配的数据表标识,也就是,查询与该目标任务对应的数据表标识相同的数据表标识,若查询到与该目标任务对应的数据表标识匹配的数据表标识,则从数据表标识和数据表的对应关系表中,获取查询到的数据标识对应的数据表,并将查询到的数据表发送给任务处理节点,以便任务处理节点对接收到的各个数据表进行处理。
以下以执行主体为数据管理节点介绍任务调度方法。
参考图3,本公开实施例提供了一种任务调度方法,应用于数据管理节点中,该方法包括:
S301,数据管理节点接收任务处理节点发送的数据查询请求;所述数据查询请求中携带有目标任务分别对应的数据表标识;
S302,数据管理节点在数据表标识和数据表的对应关系中,查询与所述数据表标识对应的数据表;
S303,数据管理节点将查询到的数据表发送给所述任务处理节点。
这里,数据管理节点应用于计算机设备中,数据表可以存储在数据库中,数据库可以分布式存储在各个计算机设备中。
数据管理节点中获取数据表的过程可以参考图2中所描述的任务调度方法,此处不进行详细介绍。
为了更清楚地了解本公开方案,下面通过另一个实施例作进一步详细说明。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与任务调度方法对应的任务调度装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述任务调度方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参考图4,本公开实施例提供了一种任务调度装置的示意图,该装置应用于任务调度系统中的任务调度节点中,所述任务调度系统包括任务调度节点和多个任务处理节点,所述任务调度节点分别与每个任务处理节点通信连接;所述装置包括:
获取模块41,用于获取针对待分配任务的任务调度请求;所述任务调度请求中携带有所述待分配任务的任务标识和所述待分配任务的总量;
确定模块42,用于基于所述任务调度请求中携带的总量,以及所述每个任务处理节点对应的处理能力,从所述待分配任务中确定为每个任务处理节点所分配的目标任务;
发送模块43,用于将所述目标任务的任务标识发送给该目标任务所匹配的任务处理节点。
在一种实施方式中,所述确定模块42根据以下步骤从所述待分配任务中确定为每个任务处理节点所分配的目标任务:
基于各任务处理节点对应的处理能力,确定每个可用任务处理节点对应的任务分配系数;所述可用任务处理节点为任务处理节点列表中的节点地址信息对应的任务处理节点;
基于每个任务处理节点对应的任务分配系数,以及所述任务调度请求中携带的总量,为各个可用任务处理节点确定所分配的待分配任务的分配数量;
从所述待分配任务中,选择所述分配数量个任务,将选择的任务作为为该可用任务处理节点分配的目标任务。
在一种实施方式中,所述确定模块42用于根据以下步骤确定每个任务处理节点的处理能力:
获取每个任务处理节点的历史任务处理时长;
基于各个任务处理节点对应的历史任务处理时长,确定每个任务处理节点的处理能力;或者,
获取每个任务处理节点的空闲数据处理资源;
基于各个任务处理节点的空闲数据处理资源,确定每个任务处理节点的处理能力。
在一种实施方式中,所述确定模块42用于根据以下步骤更新任务处理节点列表中的节点地址信息:
获取多个节点地址信息;
若所述多个节点地址信息中存在节点地址信息与所述任务处理节点列表中的各个节点地址信息均不匹配,则将与所述任务处理节点列表中的各个节点地址信息均不匹配的节点地址信息添加到所述任务处理节点列表中;
若所述任务处理节点列表中存在节点地址信息与获取的各个节点地址信息均不匹配,则从所述任务处理节点列表中删除与获取的各个节点地址信息均不匹配的节点地址信息。
在一种实施方式中,所述获取模块41用于根据以下步骤获取针对待分配任务的任务调度请求,包括:
响应于任一任务处理节点发送的任务处理请求,获取针对待分配任务的任务调度请求。
参考图5,本公开实施例提供了一种任务调度装置,该装置应用于任务处理节点中,该装置包括:
第一接收模块51,用于接收任务调度节点发送针对目标任务的任务处理请求;所述任务处理请求中携带有所述目标任务的任务标识;
确定模块52,用于基于每个所述目标任务的任务标识,以及预设的任务标识和数据表标识之间的对应关系,确定与每个目标任务对应的数据表标识;
发送模块53,用于向数据管理节点发送数据查询请求;所述数据查询请求中携带有与每个目标任务对应数据表标识;
第二接收模块54,用于接收并处理所述数据管理节点返回的与每个目标任务对应的数据表。
参考图6,本公开实施例提供了一种任务调度装置,应用于数据管理节点中,该装置包括:
接收模块61,用于接收任务处理节点发送的数据查询请求;所述数据查询请求中携带有目标任务分别对应的数据表标识;
查询模块62,用于在数据表标识和数据表之间的对应关系中,查询与所述数据表标识对应的数据表;
发送模块63,用于将查询到的数据表发送给所述任务处理节点。
对应于图1中的任务调度方法,本公开实施例还提供了一种计算机设备70,如图7所示,为本公开实施例提供的计算机设备70结构示意图,包括:
处理器71、存储器72、和总线73;存储器72用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换,当所述计算机设备70运行时,所述处理器71与所述存储器72之间通过总线73通信,使得所述处理器71在用户态执行以下指令:
获取针对待分配任务的任务调度请求;所述任务调度请求中携带有所述待分配任务的任务标识和所述待分配任务的总量;
基于所述任务调度请求中携带的总量,以及所述每个任务处理节点对应的处理能力,从所述待分配任务中确定为每个任务处理节点所分配的目标任务;
将所述目标任务的任务标识发送给该目标任务所匹配的任务处理节点。
一种可能的实施方式中,处理器71执行的指令中,从所述待分配任务中确定为每个任务处理节点所分配的目标任务,包括:
基于各任务处理节点对应的处理能力,确定每个可用任务处理节点对应的任务分配系数;所述可用任务处理节点为任务处理节点列表中的节点地址信息对应的任务处理节点;
基于每个任务处理节点对应的任务分配系数,以及所述任务调度请求中携带的总量,为各个可用任务处理节点确定所分配的待分配任务的分配数量;
从所述待分配任务中,选择所述分配数量个任务,将选择的任务作为为该可用任务处理节点分配的目标任务。
一种可能的实施方式中,处理器71执行的指令中,根据以下步骤确定每个任务处理节点的处理能力:
获取每个任务处理节点的历史任务处理时长;
基于各个任务处理节点对应的历史任务处理时长,确定每个任务处理节点的处理能力;或者,
获取每个任务处理节点的空闲数据处理资源;
基于各个任务处理节点的空闲数据处理资源,确定每个任务处理节点的处理能力。
一种可能的实施方式中,处理器71执行的指令中,根据以下步骤更新任务处理节点列表中的节点地址信息:
获取多个节点地址信息;
若所述多个节点地址信息中存在节点地址信息与所述任务处理节点列表中的各个节点地址信息均不匹配,则将与所述任务处理节点列表中的各个节点地址信息均不匹配的节点地址信息添加到所述任务处理节点列表中;
若所述任务处理节点列表中存在节点地址信息与获取的各个节点地址信息均不匹配,则从所述任务处理节点列表中删除与获取的各个节点地址信息均不匹配的节点地址信息。
一种可能的实施方式中,处理器71执行的指令中,获取针对待分配任务的任务调度请求,包括:
响应于任一任务处理节点发送的任务处理请求,获取针对待分配任务的任务调度请求。
对应于图2中的任务调度方法,本公开实施例还提供了一种计算机设备80,如图8所示,为本公开实施例提供的计算机设备80结构示意图,包括:
处理器81、存储器82、和总线83;存储器82用于存储执行指令,包括内存821和外部存储器822;这里的内存821也称内存储器,用于暂时存放处理器81中的运算数据,以及与硬盘等外部存储器822交换的数据,处理器81通过内存821与外部存储器822进行数据交换,当所述计算机设备80运行时,所述处理器81与所述存储器82之间通过总线83通信,使得所述处理器81在用户态执行以下指令:
接收任务调度节点发送针对目标任务的任务处理请求;所述任务处理请求中携带有所述目标任务的任务标识;
基于每个所述目标任务的任务标识,以及预设的任务标识和数据表标识之间的对应关系,确定与每个目标任务对应的数据表标识;
向数据管理节点发送数据查询请求;所述数据查询请求中携带有与每个目标任务对应数据表标识;
接收并处理所述数据管理节点返回的与每个目标任务对应的数据表。
对应于图3中的任务调度方法,本公开实施例还提供了一种计算机设备90,如图9所示,为本公开实施例提供的计算机设备90结构示意图,包括:
处理器91、存储器92、和总线93;存储器92用于存储执行指令,包括内存921和外部存储器922;这里的内存921也称内存储器,用于暂时存放处理器91中的运算数据,以及与硬盘等外部存储器922交换的数据,处理器91通过内存921与外部存储器922进行数据交换,当所述计算机设备90运行时,所述处理器91与所述存储器92之间通过总线93通信,使得所述处理器91在用户态执行以下指令:
接收任务处理节点发送的数据查询请求;所述数据查询请求中携带有目标任务分别对应的数据表标识;
在数据表标识和数据表之间的对应关系中,查询与所述数据表标识对应的数据表;
将查询到的数据表发送给所述任务处理节点。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的任务调度的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的任务调度方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的任务调度方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种任务调度方法,其特征在于,应用于任务调度系统,所述任务调度系统包括任务调度节点、多个任务处理节点和数据管理节点,所述任务调度节点分别与每个任务处理节点通信连接;每个任务处理节点与数据管理节点连接;该方法包括:
任务调度节点获取针对待分配任务的任务调度请求;所述任务调度请求中携带有所述待分配任务的任务标识和所述待分配任务的总量;所述任务调度请求为所述任务调度节点周期性发起的,或者是所述任务调度节点接收到所述任务处理节点发送的任务处理请求后发起的;所述任务处理请求为所述任务处理节点处理异常后发起的;
基于所述任务调度请求中携带的总量,以及所述每个任务处理节点对应的处理能力,从所述待分配任务中确定为每个任务处理节点所分配的目标任务;所述每个任务处理节点对应的处理能力是基于所述每个任务处理节点在历史时间段处理任务的任务处理时长或者当前空闲处理资源信息确定的;
将所述目标任务的任务标识发送给该目标任务所匹配的任务处理节点;
所述任务处理节点接收所述任务调度节点发送针对目标任务的任务处理请求;所述任务处理请求中携带有所述目标任务的任务标识;
基于每个所述目标任务的任务标识,以及预设的任务标识和数据表标识之间的对应关系,确定与每个目标任务对应的数据表标识;
向所述数据管理节点发送数据查询请求;所述数据查询请求中携带有与每个目标任务对应数据表标识;
接收并处理所述数据管理节点返回的与每个目标任务对应的数据表;
所述数据管理节点接收所述任务处理节点发送的数据查询请求;所述数据查询请求中携带有目标任务分别对应的数据表标识;
在数据表标识和数据表之间的对应关系中,查询与所述数据表标识对应的数据表;
将查询到的数据表发送给所述任务处理节点。
2.如权利要求1所述的方法,其特征在于,从所述待分配任务中确定为每个任务处理节点所分配的目标任务,包括:
基于各任务处理节点对应的处理能力,确定每个可用任务处理节点对应的任务分配系数;所述可用任务处理节点为任务处理节点列表中的节点地址信息对应的任务处理节点;
基于每个任务处理节点对应的任务分配系数,以及所述任务调度请求中携带的总量,为各个可用任务处理节点确定所分配的待分配任务的分配数量;
从所述待分配任务中,选择所述分配数量个任务,将选择的任务作为该可用任务处理节点分配的目标任务。
3.如权利要求1所述的方法,其特征在于,根据以下步骤确定每个任务处理节点的处理能力:
获取每个任务处理节点的历史任务处理时长;
基于各个任务处理节点对应的历史任务处理时长,确定每个任务处理节点的处理能力;或者,
获取每个任务处理节点的空闲数据处理资源;
基于各个任务处理节点的空闲数据处理资源,确定每个任务处理节点的处理能力。
4.如权利要求3所述的方法,其特征在于,根据以下步骤更新任务处理节点列表中的节点地址信息:
获取多个节点地址信息;
若所述多个节点地址信息中存在节点地址信息与所述任务处理节点列表中的各个节点地址信息均不匹配,则将与所述任务处理节点列表中的各个节点地址信息均不匹配的节点地址信息添加到所述任务处理节点列表中;
若所述任务处理节点列表中存在节点地址信息与获取的各个节点地址信息均不匹配,则从所述任务处理节点列表中删除与获取的各个节点地址信息均不匹配的节点地址信息。
5.如权利要求1所述的方法,其特征在于,获取针对待分配任务的任务调度请求,包括:
响应于任一任务处理节点发送的任务处理请求,获取针对待分配任务的任务调度请求。
6.一种任务调度系统,其特征在于,所述任务调度系统包括任务调度节点、多个任务处理节点和数据管理节点,所述任务调度节点分别与每个任务处理节点通信连接;每个任务处理节点与数据管理节点连接;所述任务调度节点包括获取模块、第一确定模块以及第一发送模块;所述任务处理节点包括第一接收模块、第二确定模块第二发送模块以及第二接收模块;所述数据管理节点包括第三接收模块、查询模块以及第三发送模块;
所述获取模块,用于获取针对待分配任务的任务调度请求;所述任务调度请求中携带有所述待分配任务的任务标识和所述待分配任务的总量;所述任务调度请求为所述任务调度节点周期性发起的,或者是所述任务调度节点接收到所述任务处理节点发送的任务处理请求后发起的;所述任务处理请求为所述任务处理节点处理异常后发起的;
所述第一确定模块,用于基于所述任务调度请求中携带的总量,以及所述每个任务处理节点对应的处理能力,从所述待分配任务中确定为每个任务处理节点所分配的目标任务;所述每个任务处理节点对应的处理能力是基于所述每个任务处理节点在历史时间段处理任务的任务处理时长或者当前空闲处理资源信息确定的;
所述第一发送模块,用于将所述目标任务的任务标识发送给该目标任务所匹配的任务处理节点;
所述第一接收模块,用于接收所述任务调度节点发送针对目标任务的任务处理请求;所述任务处理请求中携带有所述目标任务的任务标识;
所述第二确定模块,还用于基于每个所述目标任务的任务标识,以及预设的任务标识和数据表标识之间的对应关系,确定与每个目标任务对应的数据表标识;
所述第二发送模块,还用于向所述数据管理节点发送数据查询请求;所述数据查询请求中携带有与每个目标任务对应数据表标识;
所述第二接收模块,用于接收并处理所述数据管理节点返回的与每个目标任务对应的数据表;
所述第三接收模块,用于接收所述任务处理节点发送的数据查询请求;所述数据查询请求中携带有目标任务分别对应的数据表标识;
所述查询模块,用于在数据表标识和数据表之间的对应关系中,查询与所述数据表标识对应的数据表;
所述第三发送模块,还用于将查询到的数据表发送给所述任务处理节点。
7.如权利要求6所述的系统,其特征在于,所述第一确定模块用于根据以下步骤从所述待分配任务中确定为每个任务处理节点所分配的目标任务:
基于各任务处理节点对应的处理能力,确定每个可用任务处理节点对应的任务分配系数;所述可用任务处理节点为任务处理节点列表中的节点地址信息对应的任务处理节点;
基于每个任务处理节点对应的任务分配系数,以及所述任务调度请求中携带的总量,为各个可用任务处理节点确定所分配的待分配任务的分配数量;
从所述待分配任务中,选择所述分配数量个任务,将选择的任务作为该可用任务处理节点分配的目标任务。
8.如权利要求6所述的系统,其特征在于,所述第一确定模块根据以下步骤确定每个任务处理节点的处理能力:
获取每个任务处理节点的历史任务处理时长;
基于各个任务处理节点对应的历史任务处理时长,确定每个任务处理节点的处理能力;或者,
获取每个任务处理节点的空闲数据处理资源;
基于各个任务处理节点的空闲数据处理资源,确定每个任务处理节点的处理能力。
9.如权利要求6所述的系统,其特征在于,所述第一确定模块用于根据以下步骤更新任务处理节点列表中的节点地址信息:
获取多个节点地址信息;
若所述多个节点地址信息中存在节点地址信息与所述任务处理节点列表中的各个节点地址信息均不匹配,则将与所述任务处理节点列表中的各个节点地址信息均不匹配的节点地址信息添加到所述任务处理节点列表中;
若所述任务处理节点列表中存在节点地址信息与获取的各个节点地址信息均不匹配,则从所述任务处理节点列表中删除与获取的各个节点地址信息均不匹配的节点地址信息。
10.如权利要求8所述的系统,其特征在于,所述获取模块用于根据以下步骤获取针对待分配任务的任务调度请求:
响应于任一任务处理节点发送的任务处理请求,获取针对待分配任务的任务调度请求。
11.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1~5任一所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1~5任一所述方法的步骤。
CN202010318663.3A 2020-04-21 2020-04-21 任务调度方法、装置、计算机设备和存储介质 Active CN111522641B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010318663.3A CN111522641B (zh) 2020-04-21 2020-04-21 任务调度方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010318663.3A CN111522641B (zh) 2020-04-21 2020-04-21 任务调度方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111522641A CN111522641A (zh) 2020-08-11
CN111522641B true CN111522641B (zh) 2023-11-14

Family

ID=71904305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010318663.3A Active CN111522641B (zh) 2020-04-21 2020-04-21 任务调度方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111522641B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112162839A (zh) * 2020-09-25 2021-01-01 太平金融科技服务(上海)有限公司 任务调度方法、装置、计算机设备和存储介质
CN112181654A (zh) * 2020-09-28 2021-01-05 亚信科技(中国)有限公司 任务调度的方法、装置、设备及计算机可读存储介质
CN112150262B (zh) * 2020-09-29 2023-09-19 中国银行股份有限公司 账实核对数据处理方法及装置
CN112214447A (zh) * 2020-10-10 2021-01-12 中科声龙科技发展(北京)有限公司 工作量证明运算芯片集群数据动态重构方法、系统和装置
CN113762673A (zh) * 2020-10-20 2021-12-07 北京沃东天骏信息技术有限公司 对象数量的确定方法、装置及存储介质
CN112817835A (zh) * 2021-01-28 2021-05-18 网易(杭州)网络有限公司 性能数据获取方法、装置、处理器及电子装置
CN112905339B (zh) * 2021-02-08 2024-02-13 中国工商银行股份有限公司 任务调度执行方法、装置及系统
CN115150030B (zh) * 2021-03-31 2024-02-06 北京金山云网络技术有限公司 一种数据处理方法、装置、电子设备、存储介质及系统
CN115114012B (zh) * 2021-08-12 2023-04-21 腾讯科技(深圳)有限公司 一种任务分配方法、装置、电子设备及存储介质
CN113408745B (zh) * 2021-08-20 2021-11-16 北京瑞莱智慧科技有限公司 一种任务的调度方法、装置、设备及存储介质
CN117041259B (zh) * 2023-09-28 2024-01-12 新华三技术有限公司 计算资源的调度方法及装置
CN117971437A (zh) * 2024-03-26 2024-05-03 摩尔线程智能科技(北京)有限责任公司 任务分配方法、电路、设备、介质及程序

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793272A (zh) * 2013-12-27 2014-05-14 北京天融信软件有限公司 一种周期性任务调度方法及系统
WO2017045553A1 (zh) * 2015-09-15 2017-03-23 阿里巴巴集团控股有限公司 一种任务分配方法和系统
CN107688496A (zh) * 2017-07-24 2018-02-13 上海壹账通金融科技有限公司 任务分布式处理方法、装置、存储介质和服务器
CN107766129A (zh) * 2016-08-17 2018-03-06 北京金山云网络技术有限公司 一种任务处理方法、装置及系统
CN108510238A (zh) * 2018-03-12 2018-09-07 平安普惠企业管理有限公司 薪酬数据处理方法、装置、计算机设备和存储介质
CN109447411A (zh) * 2018-09-26 2019-03-08 平安普惠企业管理有限公司 业务流程控制方法、装置、计算机设备和存储介质
CN109597685A (zh) * 2018-09-30 2019-04-09 阿里巴巴集团控股有限公司 任务分配方法、装置和服务器
CN109800070A (zh) * 2019-01-02 2019-05-24 深圳壹账通智能科技有限公司 任务处理方法和系统
CN110008257A (zh) * 2019-04-10 2019-07-12 深圳市腾讯计算机系统有限公司 数据处理方法、装置、系统、计算机设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916261B (zh) * 2010-07-28 2013-07-17 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法
CN106708869B (zh) * 2015-11-16 2020-04-28 阿里巴巴集团控股有限公司 一种群组数据处理的方法及装置
CN107291544B (zh) * 2017-08-03 2020-07-28 浪潮云信息技术股份公司 任务调度的方法及装置、分布式任务执行系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793272A (zh) * 2013-12-27 2014-05-14 北京天融信软件有限公司 一种周期性任务调度方法及系统
WO2017045553A1 (zh) * 2015-09-15 2017-03-23 阿里巴巴集团控股有限公司 一种任务分配方法和系统
CN107766129A (zh) * 2016-08-17 2018-03-06 北京金山云网络技术有限公司 一种任务处理方法、装置及系统
CN107688496A (zh) * 2017-07-24 2018-02-13 上海壹账通金融科技有限公司 任务分布式处理方法、装置、存储介质和服务器
CN108510238A (zh) * 2018-03-12 2018-09-07 平安普惠企业管理有限公司 薪酬数据处理方法、装置、计算机设备和存储介质
CN109447411A (zh) * 2018-09-26 2019-03-08 平安普惠企业管理有限公司 业务流程控制方法、装置、计算机设备和存储介质
CN109597685A (zh) * 2018-09-30 2019-04-09 阿里巴巴集团控股有限公司 任务分配方法、装置和服务器
CN109800070A (zh) * 2019-01-02 2019-05-24 深圳壹账通智能科技有限公司 任务处理方法和系统
CN110008257A (zh) * 2019-04-10 2019-07-12 深圳市腾讯计算机系统有限公司 数据处理方法、装置、系统、计算机设备和存储介质

Also Published As

Publication number Publication date
CN111522641A (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN111522641B (zh) 任务调度方法、装置、计算机设备和存储介质
CN109949111B (zh) 电子票据标识分配方法、电子票据生成方法、装置及系统
CN111694649A (zh) 资源调度方法、装置、计算机设备和存储介质
CN109450987B (zh) 编号生成方法、装置及系统和存储介质
CN110413845B (zh) 基于物联网操作系统的资源存储方法及装置
CN111444018B (zh) 请求处理方法以及装置
CN108875035B (zh) 分布式文件系统的数据存储方法及相关设备
CN111935306B (zh) 节点调度方法及装置
CN105791254A (zh) 网络请求处理方法、装置及终端
CN106952085B (zh) 一种数据存储与业务处理的方法及装置
CN112465615A (zh) 账单数据的处理方法、装置及系统
CN113778652A (zh) 一种任务调度方法、装置、电子设备及存储介质
CN111400301A (zh) 一种数据查询方法、装置及设备
CN111159131A (zh) 性能优化方法、装置、设备及计算机可读存储介质
CN112612816A (zh) 以太坊联盟链的业务结果查询方法、装置、设备及介质
CN111835809A (zh) 工单消息分配方法、装置、服务器及存储介质
CN115329005A (zh) 多集群的协同方法、系统、装置及计算机可读存储介质
CN110046040B (zh) 分布式任务处理方法及系统和存储介质
CN114579311A (zh) 执行分布式计算任务的方法、装置、设备以及存储介质
CN112711587B (zh) 数据处理方法、装置、电子设备及存储介质
CN113986511A (zh) 任务管理方法及相关装置
CN110475031B (zh) 呼叫系统、呼叫处理方法、服务器和可读存储介质
CN113157249A (zh) 标识号生成方法、装置、电子设备及存储介质
CN113556370A (zh) 一种服务调用方法和装置
CN113220491B (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
GR01 Patent grant
GR01 Patent grant