CN114675954A - 任务调度方法及装置 - Google Patents
任务调度方法及装置 Download PDFInfo
- Publication number
- CN114675954A CN114675954A CN202210324024.7A CN202210324024A CN114675954A CN 114675954 A CN114675954 A CN 114675954A CN 202210324024 A CN202210324024 A CN 202210324024A CN 114675954 A CN114675954 A CN 114675954A
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- server
- event
- subtask
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Abstract
本申请提供一种任务调度方法及装置,该方法包括:在待执行任务的第一执行周期,进行待执行任务的资源抢占操作,资源抢占操作用于抢占待执行任务的资源的操作权限,待执行任务用于接入不同数据源的事件数据;若服务器资源抢占成功,则获取待执行任务的信息,待执行任务的信息用于指示待执行任务的每个子任务所分配的服务器;根据待执行任务的信息,在待执行任务的第二执行周期执行服务器对应的子任务,第二执行周期为第一执行周期的下一个周期。通过该方式,将待执行任务的子任务分配给资源抢占成功的服务器执行,实现了待执行任务的去中心化,保证了数据流量的自平衡,从而实现了事件数据的稳定接入。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种任务调度方法及装置。
背景技术
在数字化技术转型的大背景下,为了满足城市事件的统一管理的需求,需要将不同数据源的事件进行汇聚,从而实现对不同事件的处理任务的统一调度。
相关技术中,对于不同数据源的事件数据,例如12315热线事件、矛盾调解事件、网格上报事件等,往往带有不同的数据协议,设置有不同的事件的处理任务的调度方案,从而导致在执行事件的处理任务时无法保证事件数据的稳定接入。
发明内容
本申请实施例提供一种任务调度方法及装置,以解决现有技术中如何实现了事件数据的稳定接入的问题。
第一方面,本申请实施例提供一种任务调度方法,应用于服务器,所述方法包括:
在待执行任务的第一执行周期,进行所述待执行任务的资源抢占操作,所述资源抢占操作用于抢占所述待执行任务的资源的操作权限,所述待执行任务用于接入不同数据源的事件数据;
若所述服务器资源抢占成功,则获取所述待执行任务的信息,所述待执行任务的信息用于指示所述待执行任务的每个子任务所分配的服务器;
根据所述待执行任务的信息,在所述待执行任务的第二执行周期执行所述服务器对应的子任务,所述第二执行周期为所述第一执行周期的下一个周期。
一种可选的实施方式中,所述待执行任务的信息包括资源抢占成功的服务器列表、所述待执行任务的列表以及所述待执行任务的子任务列表;
其中,所述待执行任务的列表中包含有所述待执行任务对应的历史读取时间和所述待执行任务的历史接入的事件量;所述待执行任务的子任务列表中包含有每个子任务所分配的服务器。
一种可选的实施方式中,所述待执行任务的子任务是根据所述待执行任务的历史接入的事件量拆分生成的。
一种可选的实施方式中,在所述根据所述待执行任务的信息,在所述待执行任务的第二执行周期执行所述服务器对应的子任务之后,所述方法还包括:
确定所述服务器对应的子任务在所述第二执行周期所接入的事件量;
根据所述第二执行周期所接入的事件量,在所述待执行任务的列表中更新所述待执行任务的历史接入的事件量。
一种可选的实施方式中,在所述根据所述待执行任务的信息,在所述待执行任务的第二执行周期执行所述服务器对应的至子任务之后,所述方法还包括:
接收终端设备发送的所述服务器对应的子任务的事件接入请求;
根据所述事件接入请求,在所述服务器对应的子任务中接入新增事件。
一种可选的实施方式中,所述事件接入请求中包含有所述新增事件的数据源、所述新增事件的调度周期和所述新增事件的数据格式的转换方式。
一种可选的实施方式中,所述每个子任务对应一个远程数据指针,所述远程数据指针用于标志所述子任务当前拉取的数据点位。
第二方面,本申请实施例提供一种任务调度装置,所述方法包括:
抢锁模块,用于在待执行任务的第一执行周期,进行所述待执行任务的资源抢占操作,所述资源抢占操作用于抢占所述待执行任务的资源的操作权限,所述待执行任务用于接入不同数据源的事件数据;
获取模块,用于若所述任务调度装置资源抢占成功,则获取所述待执行任务的信息,所述待执行任务的信息用于指示所述待执行任务的每个子任务所分配的任务调度装置;
执行模块,用于根据所述待执行任务的信息,在所述待执行任务的第二执行周期执行所述任务调度装置对应的子任务,所述第二执行周期为所述第一执行周期的下一个周期。
一种可选的实施方式中,所述待执行任务的信息包括资源抢占成功的任务调度装置列表、所述待执行任务的列表以及所述待执行任务的子任务列表;
其中,所述待执行任务的列表中包含有所述待执行任务对应的历史读取时间和所述待执行任务的历史接入的事件量;所述待执行任务的子任务列表中包含有每个子任务所分配的任务调度装置。
一种可选的实施方式中,所述待执行任务的子任务是根据所述待执行任务的历史接入的事件量拆分生成的。
一种可选的实施方式中,所述执行模块,还用于确定所述任务调度装置对应的子任务在所述第二执行周期所接入的事件量;根据所述第二执行周期所接入的事件量,在所述待执行任务的列表中更新所述待执行任务的历史接入的事件量。
一种可选的实施方式中,所述执行模块,还用于接收终端设备发送的所述任务调度装置对应的子任务的事件接入请求;根据所述事件接入请求,在所述任务调度装置对应的子任务中接入新增事件。
一种可选的实施方式中,所述事件接入请求中包含有所述新增事件的数据源、所述新增事件的调度周期和所述新增事件的数据格式的转换方式。
一种可选的实施方式中,所述每个子任务对应一个远程数据指针,所述远程数据指针用于标志所述子任务当前拉取的数据点位。
第三方面,本申请还提供一种电子设备,包括:处理器,以及存储器;所述存储器用于存储所述处理器的计算机程序;所述处理器被配置为通过执行所述计算机程序来实现第一方面中任意一种可能的方法。
第四方面,本发明还提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行第一方面中任意一种可能的方法。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计中所述的方法。
本申请实施例提供的任务调度方法及装置,服务器首先在待执行任务的第一执行周期,进行待执行任务的资源抢占操作,该资源抢占操作用于抢占待执行任务的资源的操作权限。随后,若服务器资源抢占成功,服务器则获取待执行任务的信息,该待执行任务的信息用于指示待执行任务的每个子任务所分配的服务器。最后,服务器根据待执行任务的信息,在待执行任务的第二执行周期执行服务器对应的子任务,第二执行周期为第一执行周期的下一个周期。通过该方式,将待执行任务的子任务分配给资源抢占成功的服务器执行,实现了待执行任务的去中心化,保证了数据流量的自平衡,从而实现了事件数据的稳定接入。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有的一种任务调度方法的示意图;
图2为本申请实施例提供的一种任务调度方法的流程示意图;
图3为本申请实施例提供的一种任务调度方法的原理示意图;
图4为本申请实施例提供的另一种任务调度方法的流程示意图;
图5为本申请实施例提供的再一种任务调度方法的流程示意图;
图6为本申请实施例提供的一种事件接入请求的页面示意图;
图7为本申请实施例提供的一种任务调度装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
在数字化技术转型的大背景下,为了满足城市事件的统一管理的需求,需要将不同数据源的事件进行汇聚,从而实现对不同事件的处理任务的统一调度。相关技术中,对于不同数据源的事件数据,例如12315热线事件、矛盾调解事件、网格上报事件等,往往带有不同的数据协议,设置有不同的事件的处理任务的调度方案,从而导致在执行事件的处理任务时无法保证事件数据的稳定接入。
其中,事件数据的数据源可以包括关系型数据库管理系统(MySQL)源、物流数据中心(DataHub)源、消息队列(RocketMQ)源、超文本传输协议(Hyper Text TransferProtocol,HTTP)应用程序编程接口(Application Programming Interface,API)等。
为解决上述问题,本申请实施例提供一种任务调度方法及装置,通过将待执行任务的子任务分配给资源抢占成功的服务器执行,从而使服务器在每个执行周期执行对应的待执行任务的子任务,进而实现了待执行任务的去中心化,保证了数据流量的自平衡,从而实现了事件数据的稳定接入。
图1为现有的一种任务调度方法的示意图。如图1所示,服务器101、服务器102、服务器103等组成分布式服务器集群。当执行事件数据的任务调度时,服务器101、服务器102、服务器103首先在第一个执行周期进行资源抢占操作,来抢占待执行任务的资源的操作权限。随后,若服务器101、服务器102、服务器103资源抢占成功,则进一步确定分配到的待执行任务的子任务。随后,服务器101、服务器102、服务器103在下一个执行周期执行分配到的子任务,并从终端设备103等数据源中接入该待执行任务对应的事件数据。
其中,终端设备103可以为平板电脑(pad)、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、智慧家庭(smart home)中的无线终端等。终端设备103向服务器101、服务器102或服务器103提供事件数据。
服务器101、服务器102、服务器103可以是多个网络服务器组成的服务器组或基于云计算的由大量计算机或网络服务器构成的云。其中,云计算是分布式计算的一种,由一群松散耦合的计算机组成的一个超级虚拟计算机。
可以理解,上述任务调度方法可以通过本申请实施例提供的务调度装置实现,任务调度装置可以是某个设备的部分或全部,例如为上述服务器。
下面以集成或安装有相关执行代码的播放设备和服务器为例,以具体地实施例对本申请实施例的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的一种任务调度方法的流程示意图。图3为本申请实施例提供的一种任务调度方法的原理示意图。本实施例涉及的是如何在多个服务器之间调度待执行任务的子任务。如图2和图3所示,该方法包括:
S201、在待执行任务的第一执行周期,进行待执行任务的资源抢占操作。
在本申请实施例中,在进行待执行任务的调度前,所有待使用的服务器可以进行待执行任务的资源抢占操作。
其中,上述待执行任务用于接入不同数据源的事件数据。
本申请实施例对于接入的事件数据不做限制,在一些实施例中,上述接入的事件数据用于反应城市的待处理事件,例如,12315热线事件、矛盾调解事件、网格上报事件等。
本申请实施例对于数据源的类型也不作限制,示例性的,数据源可以包括MySQL源、DataHub源、RocketMQ源、HTTP API源等。
应理解,上述资源抢占操作用于抢占待执行任务的资源的操作权限。在一些实施例中,可以采用Redis锁等分布式锁,从而在分布式系统中实现不同线程对资源的同步访问。
在本申请实施例中,在调度待执行任务时,可以将待执行任务的调度过程划分为多个执行周期,每个执行周期的时间可以相同,也可以不同。示例性的,如图3所示,第一执行周期T0可以为待执行任务的调度过程中的第一个执行周期,用于待使用的服务器进行资源抢占操作。在后续的执行周期中,可以根据上一个执行周期中待执行任务接入的事件量,重新将待执行任务拆分为至少一个子任务,并将拆分后的至少一个子任务分配给服务器执行。
S202、若服务器资源抢占成功,则获取待执行任务的信息并生成在第二执行周期执行的子任务,待执行任务的信息用于指示待执行任务的每个子任务所分配的服务器。
在一些实施例中,上述待执行任务的信息包括资源抢占成功的服务器列表、待执行任务的列表以及待执行任务的子任务列表。
其中,待执行任务的列表中包含有待执行任务对应的历史读取时间和待执行任务的历史接入的事件量。待执行任务的子任务列表中包含有每个子任务所分配的服务器。
在一些实施例中,上述资源抢占成功的服务器列表,也可以为活跃服务器列表,该活跃服务器列表中包含有每个活跃服务器的机器心跳。
应理解,本申请实施例对于如何将待执行任务拆分为至少一个子任务不作限制,在一些实施例中,可以根据待执行任务的历史接入的事件量,将待执行任务拆分为至少一个子任务。示例性的,如图3所示,若Datahub的拉取任务的数据量超过第一数据量阈值,则需要对Datahub的拉取任务进行拆分,从而使拆分后的子任务T_D1和T_D2平均分配到的数据量小于第一数量阈值。
应理解,本申请实施例对于如何将待执行任务的子任务分配给服务器也不作限制,在一些实施例,采用均分的原则,将待执行任务的子任务平均分配给各个服务器。在另一些实施例中,也可以根据不同服务器的处理速度,分别指示不同的服务器执行至少一个子任务,以保证各个服务器在同一个执行周期执行子任务的速度尽可能相近。
示例性的,如图3所示,可以将T_D2、T_RM1分配给服务器1,将T_H1分配给服务器2,将T_D1、T_R1、T_RM2分配给服务器3。
S203、根据待执行任务的信息,在待执行任务的第二执行周期执行服务器对应的子任务。
在本步骤中,当服务器获取到待执行任务的信息后,可以基于待执行任务的信息指示分配的子任务,在待执行任务的第二执行周期执行服务器对应的子任务。
其中,第二执行周期为第一执行周期的下一个周期。
应理解,本申请实施例对于服务器如何执行待执行任务的子任务不作限制,在一些实施例中,服务器可以在第二执行周期中不断拉取该待执行任务对应的数据源接入的事件数据。
需要说明的是,每个子任务对应一个远程数据指针,远程数据指针用于标志子任务当前拉取的数据点位。当服务器执行该子任务时,可以基于远程数据指针标志的子任务当前拉取的数据点位,开始拉取事件数据。
在另一些实施例中,服务器在待执行任务的第二执行周期执行服务器对应的子任务之后,还可以确定服务器对应的子任务在第二执行周期所接入的事件量,从而根据第二执行周期所接入的事件量,在待执行任务的列表中更新待执行任务的历史接入的事件量。
应理解,本申请实施例对于如何接入事件数据不作限制,在一些实施例中,服务器可以接收终端设备发送的服务器对应的子任务的事件接入请求,并根据事件接入请求,在服务器对应的子任务中接入新增事件。
其中,事件接入请求中包含有新增事件的数据源、新增事件的调度周期和新增事件的数据格式的转换方式。
本申请实施例提供的任务调度方法,服务器首先在待执行任务的第一执行周期,进行待执行任务的资源抢占操作,该资源抢占操作用于抢占待执行任务的资源的操作权限。随后,若服务器资源抢占成功,服务器则获取待执行任务的信息,待执行任务的信息用于指示待执行任务的每个子任务所分配的服务器。最后,服务器根据待执行任务的信息,在待执行任务的第二执行周期执行服务器对应的子任务,第二执行周期为第一执行周期的下一个周期。通过该方式,将待执行任务的子任务分配给资源抢占成功的服务器执行,实现了待执行任务的去中心化,保证了数据流量的自平衡,从而实现了事件数据的稳定接入。
在上述实施例的基础上,下面对于如何更新待执行任务的历史接入的事件量进行说明。图4为本申请实施例提供的另一种任务调度方法的流程示意图。如图4所示,该方法包括:
S301、在待执行任务的第一执行周期,进行待执行任务的资源抢占操作,资源抢占操作用于抢占待执行任务的资源的操作权限,待执行任务用于接入事件数据。
在一些实施例中,待执行任务的信息包括资源抢占成功的服务器列表、待执行任务的列表以及待执行任务的子任务列表。
其中,待执行任务的列表中包含有待执行任务对应的历史读取时间和待执行任务的历史接入的事件量;待执行任务的子任务列表中包含有每个子任务所分配的服务器。
在一些实施例中,待执行任务的子任务是根据待执行任务的历史接入的事件量拆分生成的。
S302、若服务器资源抢占成功,则获取待执行任务的信息并生成在第二执行周期执行的子任务,待执行任务的信息用于指示待执行任务的每个子任务所分配的服务器。
S303、根据待执行任务的信息,在待执行任务的第二执行周期执行服务器对应的子任务,第二执行周期为第一执行周期的下一个周期。
步骤S301至步骤S303的技术名词、技术效果、技术特征,以及可选实施方式,可参照图2所示的步骤S201至S203理解,对于重复的信息,在此不再累述。
S304、确定服务器对应的子任务在第二执行周期所接入的事件量。
S305、根据第二执行周期所接入的事件量,在待执行任务的列表中更新待执行任务的历史接入的事件量。
需要说明的是,在本申请实施例中,上一周期更新的待执行任务的历史接入的事件量,可以用于在下一周期将待执行任务拆分为至少一个子任务。
示例性的,在使用第二周期的所接入的事件量更新待执行任务的历史接入的事件量后,可以使用更新后的待执行任务的历史接入的事件量,重新拆分待执行任务,以便在第三周期将重新拆分的出的子任务重新分配给各个服务器。
在上述实施例的基础上,下面对于如何接入新增事件进行说明。图5为本申请实施例提供的再一种任务调度方法的流程示意图。如图5所示,该方法包括:
S401、在待执行任务的第一执行周期,进行待执行任务的资源抢占操作,资源抢占操作用于抢占待执行任务的资源的操作权限,待执行任务用于接入事件数据。
S402、若服务器资源抢占成功,则获取待执行任务的信息并生成在第二执行周期执行的子任务,待执行任务的信息用于指示待执行任务的每个子任务所分配的服务器。
S403、根据待执行任务的信息,在待执行任务的第二执行周期执行服务器对应的子任务,第二执行周期为第一执行周期的下一个周期。
步骤S401至步骤S403的技术名词、技术效果、技术特征,以及可选实施方式,可参照图2所示的步骤S201至S203理解,对于重复的信息,在此不再累述。
S404、接收终端设备发送的服务器对应的子任务的事件接入请求。
其中,事件接入请求中包含有新增事件的数据源、新增事件的调度周期和新增事件的数据格式的转换方式。
示例性的,图6为本申请实施例提供的一种事件接入请求的页面示意图。如图6所示,用户在使用终端设备上报事件接入请求时,可以在事件接入请求的页面填写新增事件的信息。示例性的,新增事件的数据源的信息可以包括该事件源到的配置项名称,该事件源的类型和标题。示例性的,事件接入请求的页面还可以填写增事件的调度周期的起始日期和调度周期的单位。示例性的,事件接入请求的页面还可以填写数据格式的转换方式,例如新增常量和/或复制等转换方式。
在本申请中,通过将数据格式进行转换,可以实现对多数据源的不同配置的事件数据的接入,并支持亿级数据拉取时流量控制扩展。
S405、根据事件接入请求,在服务器对应的子任务中接入新增事件。
在本申请实施例中,通过在事件接入时的,将新增事件的数据格式进行格式转换,从而可以实现多种数据源的事件数据的配置和接入,提高了任务处理的数据范围。
本申请实施例提供的任务调度方法,服务器首先在待执行任务的第一执行周期,进行待执行任务的资源抢占操作,该资源抢占操作用于抢占待执行任务的资源的操作权限。随后,若服务器资源抢占成功,服务器则获取待执行任务的信息,待执行任务的信息用于指示待执行任务的每个子任务所分配的服务器。最后,服务器根据待执行任务的信息,在待执行任务的第二执行周期执行服务器对应的子任务,第二执行周期为第一执行周期的下一个周期。通过该方式,将待执行任务的子任务分配给资源抢占成功的服务器执行,实现了待执行任务的去中心化,保证了数据流量的自平衡,从而实现了事件数据的稳定接入。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图7为本申请实施例提供的一种任务调度装置的结构示意图。该任务调度装置可以通过软件、硬件或者两者的结合实现,以执行上述实施例中的同任务调度方法。如图7所示,该任务调度装置500包括:抢锁模块501、获取模块502和执行模块503。
抢锁模块501,用于在待执行任务的第一执行周期,进行待执行任务的资源抢占操作,资源抢占操作用于抢占待执行任务的资源的操作权限,待执行任务用于接入事件数据;
获取模块502,用于若任务调度装置资源抢占成功,则获取待执行任务的信息,待执行任务的信息用于指示待执行任务的每个子任务所分配的任务调度装置;
执行模块503,用于根据待执行任务的信息,在待执行任务的第二执行周期执行任务调度装置对应的子任务,第二执行周期为第一执行周期的下一个周期。
一种可选的实施方式中,待执行任务的信息包括资源抢占成功的任务调度装置列表、待执行任务的列表以及待执行任务的子任务列表;
其中,待执行任务的列表中包含有待执行任务对应的历史读取时间和待执行任务的历史接入的事件量;待执行任务的子任务列表中包含有每个子任务所分配的任务调度装置。
一种可选的实施方式中,待执行任务的子任务是根据待执行任务的历史接入的事件量拆分生成的。
一种可选的实施方式中,执行模块503,还用于确定任务调度装置对应的子任务在第二执行周期所接入的事件量;根据第二执行周期所接入的事件量,在待执行任务的列表中更新待执行任务的历史接入的事件量。
一种可选的实施方式中,执行模块503,还用于接收终端设备发送的任务调度装置对应的子任务的事件接入请求;根据事件接入请求,在任务调度装置对应的子任务中接入新增事件。
一种可选的实施方式中,事件接入请求中包含有新增事件的数据源、新增事件的调度周期和新增事件的数据格式的转换方式。
一种可选的实施方式中,每个子任务对应一个远程数据指针,远程数据指针用于标志子任务当前拉取的数据点位。
需要说明的,图7所示的实施例提供的任务调度装置,可用于执行上述任意实施例所提供任务调度方法,具体实现方式和技术效果类似,这里不再进行赘述。
图8为本申请实施例提供的一种电子设备的结构示意图。如图8示,该电子设备可以包括:多个处理器601和存储器602。图8的是以一个处理器为例的电子设备,该电子设备可以为上述服务器。
存储器602,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器602可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如多个磁盘存储器。
处理器601用于执行存储器602存储的计算机执行指令,以实现上述任务调度方法。
其中,处理器601可能是一个处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,在具体实现上,如果通信接口、存储器602和处理器601独立实现,则通信接口、存储器602和处理器601可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口、存储器602和处理器601集成在一块芯片上实现,则通信接口、存储器602和处理器601可以通过内部接口完成通信。
需要说明的是,图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
本申请实施例还提供了一种芯片,包括处理器和接口。其中接口用于输入输出处理器所处理的数据或指令。处理器用于执行以上方法实施例中提供的方法。该芯片可以应用于任务调度装置中。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序信息,程序信息用于上述任务调度方法。
本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述的任务调度方法。
本申请还提供了一种计算机程序,计算机程序使得计算机执行上述的任务调度方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种任务调度方法,其特征在于,应用于服务器,所述方法包括:
在待执行任务的第一执行周期,进行所述待执行任务的资源抢占操作,所述资源抢占操作用于抢占所述待执行任务的资源的操作权限,所述待执行任务用于接入不同数据源的事件数据;
若所述服务器资源抢占成功,则获取所述待执行任务的信息,所述待执行任务的信息用于指示所述待执行任务的每个子任务所分配的服务器;
根据所述待执行任务的信息,在所述待执行任务的第二执行周期执行所述服务器对应的子任务,所述第二执行周期为所述第一执行周期的下一个周期。
2.根据权利要求1所述的方法,其特征在于,所述待执行任务的信息包括资源抢占成功的服务器列表、所述待执行任务的列表以及所述待执行任务的子任务列表;
其中,所述待执行任务的列表中包含有所述待执行任务对应的历史读取时间和所述待执行任务的历史接入的事件量;所述待执行任务的子任务列表中包含有每个子任务所分配的服务器。
3.根据权利要求2所述的方法,其特征在于,所述待执行任务的子任务是根据所述待执行任务的历史接入的事件量拆分生成的。
4.根据权利要求2所述的方法,其特征在于,在所述根据所述待执行任务的信息,在所述待执行任务的第二执行周期执行所述服务器对应的子任务之后,所述方法还包括:
确定所述服务器对应的子任务在所述第二执行周期所接入的事件量;
根据所述第二执行周期所接入的事件量,在所述待执行任务的列表中更新所述待执行任务的历史接入的事件量。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述待执行任务的信息,在所述待执行任务的第二执行周期执行所述服务器对应的至子任务之后,所述方法还包括:
接收终端设备发送的所述服务器对应的子任务的事件接入请求;
根据所述事件接入请求,在所述服务器对应的子任务中接入新增事件。
6.根据权利要求5所述的方法,其特征在于,所述事件接入请求中包含有所述新增事件的数据源、所述新增事件的调度周期和所述新增事件的数据格式的转换方式。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述每个子任务对应一个远程数据指针,所述远程数据指针用于标志所述子任务当前拉取的数据点位。
8.一种任务调度装置,其特征在于,所述装置包括:
抢锁模块,用于在待执行任务的第一执行周期,进行所述待执行任务的资源抢占操作,所述资源抢占操作用于抢占所述待执行任务的资源的操作权限,所述待执行任务用于接入不同数据源的事件数据;
获取模块,用于若所述任务调度装置资源抢占成功,则获取所述待执行任务的信息,所述待执行任务的信息用于指示所述待执行任务的每个子任务所分配的服务器;
执行模块,用于根据所述待执行任务的信息,在所述待执行任务的第二执行周期执行所述服务器对应的子任务,所述第二执行周期为所述第一执行周期的下一个周期。
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210324024.7A CN114675954A (zh) | 2022-03-29 | 2022-03-29 | 任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210324024.7A CN114675954A (zh) | 2022-03-29 | 2022-03-29 | 任务调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114675954A true CN114675954A (zh) | 2022-06-28 |
Family
ID=82075695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210324024.7A Pending CN114675954A (zh) | 2022-03-29 | 2022-03-29 | 任务调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114675954A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234740A (zh) * | 2023-11-13 | 2023-12-15 | 沐曦集成电路(杭州)有限公司 | 一种gpu硬件资源的调度方法、装置、设备及介质 |
-
2022
- 2022-03-29 CN CN202210324024.7A patent/CN114675954A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234740A (zh) * | 2023-11-13 | 2023-12-15 | 沐曦集成电路(杭州)有限公司 | 一种gpu硬件资源的调度方法、装置、设备及介质 |
CN117234740B (zh) * | 2023-11-13 | 2024-02-20 | 沐曦集成电路(杭州)有限公司 | 一种gpu硬件资源的调度方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100509794B1 (ko) | 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법 | |
CN113641457B (zh) | 容器创建方法、装置、设备、介质及程序产品 | |
CN108182111B (zh) | 任务调度系统、方法和装置 | |
CN110941481A (zh) | 资源调度方法、装置及系统 | |
CN108959292B (zh) | 一种数据上传方法、系统和计算机可读存储介质 | |
CN109032796B (zh) | 一种数据处理方法和装置 | |
CN110677462B (zh) | 多区块链网络的访问处理方法、系统、装置及存储介质 | |
US20230037783A1 (en) | Resource scheduling method and related apparatus | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN113674131A (zh) | 硬件加速器设备管理方法、装置及电子设备和存储介质 | |
CN111258726A (zh) | 任务调度方法和装置 | |
CN114675954A (zh) | 任务调度方法及装置 | |
CN114168297A (zh) | 一种归集任务调度方法、装置、设备及介质 | |
CN113626173A (zh) | 调度方法、装置及存储介质 | |
CN115686346A (zh) | 一种数据存储方法、设备及计算机可读存储介质 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN115878333A (zh) | 进程组间的一致性判断方法、装置及设备 | |
CN115658295A (zh) | 资源调度方法、装置、电子设备和存储介质 | |
CN115168040A (zh) | 一种作业抢占调度方法、装置、设备和存储介质 | |
CN111694670B (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
CN114741165A (zh) | 数据处理平台的处理方法、计算机设备及存储装置 | |
CN113419839A (zh) | 多类型作业的资源调度方法、装置、电子设备及存储介质 | |
WO2022007645A1 (zh) | 一种容器组的创建方法和装置 | |
CN110879747B (zh) | 资源管理方法及装置 | |
CN113568708B (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 |