CN116991591B - 一种数据调度方法、装置及存储介质 - Google Patents
一种数据调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116991591B CN116991591B CN202311236769.9A CN202311236769A CN116991591B CN 116991591 B CN116991591 B CN 116991591B CN 202311236769 A CN202311236769 A CN 202311236769A CN 116991591 B CN116991591 B CN 116991591B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- task data
- task
- distributed lock
- scheduling device
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000004891 communication Methods 0.000 claims description 11
- 238000007726 management method Methods 0.000 description 87
- 230000008569 process Effects 0.000 description 10
- 238000011084 recovery Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 208000032368 Device malfunction Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种数据调度方法、装置及存储介质,其中,该方法包括:第一调度设备获取调度任务信息表,所述第一调度设备为调度系统中任意一个调度设备;所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息;所述第一调度设备按照第一时间间隔向管理设备发送第一分布式锁获取请求;若收到分布式锁获取成功的第一通知消息,则所述第一调度设备利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理。通过本申请实施例提供的方法可以实现调度系统中的各个调度设备都参与任务数据的调度,有效提高了调度系统的调度效率。
Description
技术领域
本申请属于数据调度技术领域,尤其涉及一种数据调度方法、装置及存储介质。
背景技术
调度系统是一种用于管理和优化资源分配的关键工具,可以将任务分配给不同的处理节点,并协调不同节点之间的任务执行。为了防止调度设备发生故障,调度系统通常会配置主调度设备以及备用调度设备,通常情况下由主调度设备执行数据的调度操作,当主调度设备发生故障时,备用调度设备接管数据的调度工作。然而,这种数据调度方式存在严重的资源浪费,并且调度效率也比较低。
发明内容
本申请实施例提供了一种数据调度方法、数据调度装置及计算机可读存储介质,可以实现调度系统中的各个调度设备都参与对任务数据的调度,有效提高了调度系统的调度效率以及资源的利用率。
一方面,本申请实施例提供了一种数据调度方法,其中,所述方法包括:
第一调度设备获取调度任务信息表,所述调度任务信息表包括调度系统中各个调度设备对应的任务数据指示信息,所述第一调度设备为所述调度系统中的任意一个调度设备;
所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示总任务数据中所述第一调度设备对应调度的第一任务数据;
所述第一调度设备按照第一时间间隔向管理设备发送第一分布式锁获取请求,所述第一分布式锁获取请求包括所述第一任务数据指示信息,所述第一分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第一任务数据的分布式锁;
若收到分布式锁获取成功的第一通知消息,则所述第一调度设备利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理。
一方面,本申请实施例提供了另一种数据调度方法,其中,所述方法包括:
服务设备接收调度系统中各个调度设备发送的注册信息,所述注册信息包括网络地址以及端口号中的一种或多种;
所述服务设备根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述调度任务信息表包括所述调度系统中各个调度设备对应的任务数据指示信息;
所述服务设备响应于第一调度设备的任务信息获取请求,向所述第一调度设备发送所述调度任务信息表,以使得所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示所述总任务数据中所述第一调度设备对应调度的第一任务数据,并在成功获取所述第一任务数据的分布式锁之后,利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理,所述第一调度设备为所述调度系统中的任意一个调度设备。
一方面,本申请实施例提供了一种数据调度装置,包括用于执行所述数据调度方法的单元。所述装置包括:
获取单元,用于获取调度任务信息表,所述调度任务信息表包括调度系统中各个调度设备对应的任务数据指示信息,第一调度设备为所述调度系统中的任意一个调度设备;
所述获取单元,还用于从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示总任务数据中所述第一调度设备对应调度的第一任务数据;
发送单元,用于按照第一时间间隔向管理设备发送第一分布式锁获取请求,所述第一分布式锁获取请求包括所述第一任务数据指示信息,所述第一分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第一任务数据的分布式锁;
处理单元,用于若收到分布式锁获取成功的第一通知消息,则利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理。
一方面,本申请实施例提供了另一种数据调度装置,包括用于执行所述数据调度方法的单元。所述装置包括:
接收单元,用于接收调度系统中各个调度设备发送的注册信息,所述注册信息包括网络地址以及端口号中的一种或多种;
生成单元,用于根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述调度任务信息表包括所述调度系统中各个调度设备对应的任务数据指示信息;
发送单元,用于响应于第一调度设备的任务信息获取请求,向所述第一调度设备发送所述调度任务信息表,以使得所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示所述总任务数据中所述第一调度设备对应调度的第一任务数据,并在成功获取所述第一任务数据的分布式锁之后,利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理,所述第一调度设备为所述调度系统中的任意一个调度设备。
一方面,本申请实施例提供了一种服务器,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,实现本申请实施例提供的数据调度方法。
相应地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当其在计算机上运行时,使得计算机实现本申请实施例提供的数据调度方法。
本申请实施例中,第一调度设备向服务设备获取调度任务信息表,调度任务信息表包括调度系统中各个调度设备对应的任务数据指示信息,调度任务信息表是由服务设备根据总任务数据以及调度系统包括的调度设备的注册信息生成的,第一调度设备为调度系统中的任意一个调度设备;第一调度设备从调度任务信息表中获取第一任务数据指示信息,第一任务数据指示信息用于指示总任务数据中第一调度设备对应调度的第一任务数据;第一调度设备按照第一时间间隔向管理设备发送第一分布式锁获取请求,第一分布式锁获取请求包括第一任务数据指示信息,第一分布式锁获取请求用于指示管理设备为第一调度设备分配第一任务数据的分布式锁;若收到分布式锁获取成功的第一通知消息,则第一调度设备利用第一任务数据的分布式锁对第一任务数据进行调度处理。通过本申请实施例,可以将总任务数据分配给调度系统中的各个调度设备,从而实现了各个调度设备同时参与调度,提高了调度系统的调度效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性工作的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种数据调度系统的系统架构图;
图1B是本申请实施例提供的另一种数据调度系统的系统架构图;
图2是本申请实施例提供的一种数据调度方法的流程示意图;
图3是本申请实施例提供的另一种数据调度方法的流程示意图;
图4是本申请实施例提供的又一种数据调度方法的流程示意图;
图5是本申请实施例提供的再一种数据调度方法的流程示意图;
图6是本申请实施例提供的一种数据调度装置的结构示意图;
图7是本申请实施例提供的另一种数据调度装置的结构示意图;
图8是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
分布式锁:用于分布式系统中协调进程或者线程并发访问共享资源的机制。在分布式系统中,多个进程或者线程可能同时访问同一个共享资源,如果不加控制地访问,可能会导致数据不一致或者冲突等问题。分布式锁可以通过协调进程或者线程的访问顺序,保证共享资源的安全访问。分布式锁通常使用共享的存储系统来实现,如Redis、Zookeeper等。
热备:是指在系统或者应用程序出现故障时,可以立即替换故障机器的备用机器,备用机器通常处于开启状态,与故障机器一起参与正常的工作,备用机器实时地同步故障机器的数据和状态,以便在替换故障机器时能够快速恢复服务。
RouteSvr: 一种网络服务,通常用于支持分布式系统中的服务发现和负载均衡。routesvr服务通常由多个节点组成,它们之间会相互通信,协调服务发现和负载均衡。routesvr服务通常会维护一个服务注册表,记录当前可用的服务实例和它们的状态信息,同时还会根据负载均衡算法,将请求分发到不同的服务实例上,以达到负载均衡的目的。routesvr服务通常还会提供服务统计、故障处理等功能,以保证服务的可用性和稳定性。
KV:“Key-Value”的缩写,表示键-值对。在计算机科学中,KV是一种简单且常用的数据模型,用于存储和表示数据。它基本上是由两个部分组成:键和与之关联的值。键通常是唯一的,用于标识和访问值。值则是与键关联的数据。KV模型常用于各种数据存储和数据库系统中,例如键值存储(key-value store)或键值数据库(key-value database)。这类系统通常以高效的存取速度和灵活的数据结构为特点。
下面介绍本申请实施例提供的一种数据调度系统。
请参阅图1A,图1A是本申请实施例提供的一种数据调度系统的系统架构图。如图1A所示,该数据调度系统包括管理设备101、调度系统102、服务设备103。管理设备101包括一个或多个管理节点,调度系统102包括一个或多个调度设备,服务设备103包括一个或多个服务节点。管理设备101中的一个或多个管理节点之间建立有通信连接,服务节点用于提供网络服务(RouteSvr),管理节点用于提供分布式锁服务(KV),服务设备103中一个或多个服务节点之间建立有通信连接,管理设备101、服务设备103分别与调度系统102中的一个或多个调度设备建立有通信连接,连接方式可以是有线连接方式或者无线连接方式,有线连接方式可以包括数据线、U盘等,无线连接方式可以包括蓝牙、WiFi、网络连接等,调度设备可以包括平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,Mobile InternetDevices)等,上述连接方式和调度设备都仅是举例,而非穷举,包含但不限于上述连接方式和调度设备。
在可行的实施例中,如图1B所示,在图1A所示的数据调度系统的基础上,该数据调度系统还包括存储设备104和任务系统105,存储设备104与服务设备103建立有通信连接,任务系统105与调度系统102建立有通信连接,连接方式可以是有线连接方式或者无线连接方式,有线连接方式可以包括数据线、U盘等,无线连接方式可以包括蓝牙、WiFi、网络连接等。上述连接方式仅是举例,而非穷举,包含但不限于上述连接方式。
在可行的实施例中,调度系统102中的各个调度设备将注册信息发送给服务设备103,服务设备103接收调度系统102中的各个调度设备的注册信息后,根据存储设备104中的总任务数据以及各个调度设备的注册信息生成调度任务信息表,并将调度任务信息表发送给调度系统102中的各个调度设备,调度系统102中的各个调度设备接收到调度任务信息表,获取调度任务信息表中自身对应的任务数据指示信息,并向管理设备101发送自身对应的任务数据指示信息的分布式锁获取请求,管理设备101根据分布式锁获取请求为对应的调度设备分配分布式锁,并向对应的调度设备发送分布式锁获取成功的通知消息,调度设备接收分布式锁获取成功的通知消息,利用获取成功的分布式锁对分布式锁对应的任务数据进行调度处理,即将任务数据派发给任务系统105,任务系统105对派发的任务数据进行任务消费。服务设备103可以将存储设备104中的总任务数据分配给调度系统102中的各个调度设备,调度设备获取到管理设备101分配的分布式锁,可以对分布式锁对应的任务数据派发给任务系统105进行任务消费,实现了各个调度设备同时参与调度,提高了调度系统102的调度效率。
下面介绍本申请实施例提供的一种数据调度方法。
请参阅图2,图2是本申请实施例提供的一种数据调度方法的流程示意图。本申请实施例提供的数据调度方法可以应用于上述图1A所示的数据调度系统,下面以该数据调度方法应用与该数据调度系统中的调度设备为例进行说明。如图2所示,该数据调度方法包括:
S201、第一调度设备获取调度任务信息表,所述调度任务信息表包括调度系统中各个调度设备对应的任务数据指示信息,所述第一调度设备为所述调度系统中的任意一个调度设备。
在一个可行的实施例中,所述第一调度设备向服务设备发送注册信息,以使得所述服务设备收到所述调度系统中各个调度设备的注册信息之后,根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述注册信息包括网络地址以及端口号中的一种或多种。
具体地,第一调度设备将自身的注册信息发送给服务设备,服务设备接收到调度系统中各个调度设备的注册信息之后,根据总任务数据以及调度系统中包括的调度设备的注册信息生成调度任务信息表。其中,注册信息包括网络地址以及端口号中的一种或多种。本申请实施例中,服务设备可以将总任务数据分配给调度系统中的各个调度设备,使各个调度设备都有对应的任务数据可以调度,提高了调度系统的调度效率。
S202、所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示总任务数据中所述第一调度设备对应调度的第一任务数据。
本申请实施例中,第一调度设备获取到调度任务信息表后,可以从调度任务信息表获取自身对应的第一任务数据指示信息。其中,第一任务数据指示信息可以是服务设备将总任务数据分配给调度系统中的各个调度设备,使得调度系统中的各个调度设备有对应调度的任务数据,根据各个调度设备对应调度的任务数据生成各个调度设备对应的任务数据指示信息。例如,第一调度设备对应调度的任务数据为第一任务数据,服务设备根据第一任务数据生成第一任务数据指示信息。
在一个可行的实施例中,所述第一调度设备从所述调度任务信息表中获取第二调度设备对应的第二任务数据指示信息,所述第二调度设备为所述调度任务信息表中与所述第一调度设备相邻的调度设备,所述第二任务数据指示信息用于指示所述总任务数据中所述第二调度设备对应调度的第二任务数据。
具体地,第一调度设备还可以从调度任务信息表中获取第二调度设备对应的第二任务数据指示信息,第二调度设备是调度任务信息表中与第一调度设备相邻的调度设备,第二任务数据指示信息用于指示总任务数据中第二调度设备对应调度的第二任务数据。其中,与第一调度设备相邻的调度设备可以是在调度任务信息表中根据排列顺序相邻的一个或多个调度设备,排列顺序可以是根据发送注册信息的时间排列的,也可以是根据调度设备的网络地址排列的,还可以是根据调度设备的端口号排列的。本申请实施例中,第一调度设备可以对相邻的调度设备对应的任务数据进行调度处理,防止相邻调度设备出现故障后对应的任务数据停止调度,实现了调度系统的自动容灾,调度设备之间互为热备,备用调度设备也同时参与任务数据的调度,从而减少了成本浪费。
在一个可行的实施例中,调度任务信息表可以是由服务设备根据调度系统包括的调度设备的注册信息生成的,通过调度任务信息表每个调度设备可以查询自身相对于其他调度设备的位置,通过哈希计算得到各个调度设备对应的任务数据的任务数据指示信息,每个哈希值为一个任务数据指示信息,调度设备可以根据哈希值获取自身对应的任务数据。本申请实施例中,各个调度设备的任务数据指示信息可以是自身根据哈希计算得到,不需要服务设备生成任务数据指示信息,并通过合理的数据划分使调度系统中的各个调度设备都有自身对应的任务数据可以调度,提高了调度系统的调度效率。
S203、所述第一调度设备按照第一时间间隔向管理设备发送第一分布式锁获取请求,所述第一分布式锁获取请求包括所述第一任务数据指示信息,所述第一分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第一任务数据的分布式锁。
本申请实施例中,第一调度设备根据第一任务数据指示信息生成第一分布式锁获取请求,并按照第一时间间隔将第一分布式锁获取请求发送给管理设备。管理设备获取到第一分布式锁获取请求,可以检测第一任务数据的分布式锁是否被其他调度设备获取,若第一任务数据的分布式锁没有被其他调度设备获取,则向第一调度设备发送第一通知消息;若第一任务数据的分布式锁已经被其他调度设备获取,则不向第一调度设备发送第一通知消息。第一调度设备每当在向管理设备发送第一分布式锁获取请求后的第一时间间隔内没有收到第一通知消息,就再次向管理设备发送第一分布式锁获取请求。
在一个可行的实施例中,所述第一调度设备按照第二时间间隔向管理设备发送第二分布式锁获取请求,所述第二分布式锁获取请求包括所述第二任务数据指示信息,所述第二分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第二任务数据的分布式锁,所述第二时间间隔大于所述第一时间间隔。
具体地,第一调度设备可以根据第二任务数据指示信息生成第二分布式锁获取请求,并将第二分布式锁获取请求发送给管理设备。管理设备获取到第二分布式锁获取请求,检测第二任务数据的分布式锁是否被其他调度设备获取,若第二任务数据的分布式锁没有被其他调度设备获取,则向第一调度设备发送第二通知消息;若第二任务数据的分布式锁已经被其他调度设备获取,则不向第一调度设备发送第二通知消息。第一调度设备每当在向管理设备发送第二分布式锁获取请求后的第二时间间隔内没有收到第二通知消息,就再次向管理设备发送第二分布式锁获取请求。
其中,上述第一时间间隔小于上述第二时间间隔。上述第二任务数据可以由第二调度设备或者与第二调度设备相邻的调度设备进行调度处理,正常情况下,第二任务数据是第二调度设备进行调度处理的,但是在第二调度设备发生故障时,不能再对第二任务数据进行调度处理,如果第二调度设备的故障时间较长,会导致在第二调度设备故障恢复之前第二任务数据停止调度,会降低调度的效率,此时与第二调度设备相邻的调度设备就可以以相比于自身较低地频率去获取第二任务数据的分布式锁,以使得可以在第二调度设备故障恢复之前也能对第二任务数据进行调度处理,防止在调度设备故障后对应的任务数据就停止了调度处理,在第二调度设备故障恢复后能以较高地频率获取第二任务数据对应的分布式锁,使整个调度系统更快地恢复到故障前的调度方式。对于第二任务数据来说,第二调度设备为主调度设备,与第二调度设备相邻的调度设备为备用调度设备,第二调度设备发送故障之后,与第二调度设备相邻的调度设备以较低频率获取第二调度设备对应的任务数据的分布式锁,以使得第二调度设备故障恢复后,可以以较高频率更快地获取到自身对应的任务数据的分布式锁,调度设备对自身对应的任务数据和相邻的调度设备对应数据执行不同的分布式锁抢锁以及释放锁策略,在故障时能很好地做好备份调度,不落下任务数据,并在故障结束后能自动恢复故障前的状态,全程无需人工干预,实现了调度系统的自动恢复。
S204、若收到分布式锁获取成功的第一通知消息,则所述第一调度设备利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理。
在一个可行的实施例中,若收到分布式锁获取成功的第二通知消息,则所述第一调度设备利用所述第二任务数据的分布式锁对所述第二任务数据进行调度处理。其中,分布式锁包括生命周期,在分布式锁的生命周期结束之前管理设备未收到调度设备针对该分布式锁发送的续期请求,管理设备将在该分布式锁的生命周期结束时释放该分布式锁。
可以理解的是,第一调度设备收到第二通知消息,即第二调度设备未向管理设备发送第二任务数据的分布式锁的续期请求,也就是第二调度设备发生故障。在第二调度设备故障恢复之后,可以以第一时间间隔向管理设备发送第二任务数据的分布式锁,获取到第二任务数据的分布式锁后,可以对第二任务数据的分布式锁进行续期,调度系统中的调度设备故障恢复后可以自动恢复到故障前的调度状态,实现了调度系统的自动恢复。
在一个可行的实施例中,每当所述第一任务数据的分布式锁的生命周期结束之前,所述第一调度设备向所述管理设备发送所述第一任务数据的分布式锁的续期请求,所述续期请求用于指示所述管理设备更新所述第一调度设备持有所述第一任务数据的分布式锁的生命周期。
具体地,第一调度设备在获取到第一任务数据的分布式锁后,在第一任务数据的分布式锁的生命周期结束之前向管理设备发送第一任务数据的分布式锁的续期请求,管理设备接收到第一任务数据的分布式锁的续期请求之后对第一任务数据的分布式锁的生命周期进行更新。对分布式锁的生命周期进行更新可以是将生命周期初始化(例如,分布式锁的初始生命周期为10秒,在生命周期结束之前更新生命周期会使分布式锁的生命周期恢复到初始生命周期10秒),也可以是将生命周期延长(例如,分布式锁的初始生命周期为10秒,在生命周期结束之前更新生命周期会使分布式锁的生命周期延长10秒,即当在生命周期剩余1秒时对生命周期进行更新会使生命周期变为11秒)。本申请实施例中,调度系统中的各个调度设备对自身对应的任务数据的分布式锁可以进行续期,实现了各个调度设备对自身对应的任务数据调度的连续性。
在一个可行的实施例中,所述第一调度设备在对所述第二任务数据调度成功之后,向所述管理设备发送分布式锁释放请求,所述分布式锁释放请求用于指示所述管理设备释放所述第一调度设备持有的所述第二任务数据的分布式锁;或者,所述第一调度设备在对所述第二任务数据调度成功之后,在所述第二任务数据的分布式锁的生命周期结束之前,不向所述管理设备发送所述第二任务数据的分布式锁的续期请求,以使得所述管理设备在所述第二任务数据的分布式锁的生命周期结束时释放所述第一调度设备持有的所述第二任务数据的分布式锁。
具体地,第一调度设备在获取到第二任务数据的分布式锁后,对第二任务数据调度成功之后,可以在第二任务数据的分布式锁的生命周期结束之前向管理设备发送第二任务数据的分布式锁释放请求,管理设备在第二任务数据的分布式锁的生命周期结束之前收到第二任务数据的分布式锁释放请求,将第二任务数据的分布式锁释放;也可以在第二任务数据的分布式锁的生命周期结束之前不向管理设备发送第二任务数据的分布式锁释放请求,管理设备在第二任务数据的分布式锁的生命周期结束之前没有收到第二任务数据的分布式锁释放请求,在第二任务数据的分布式锁的生命周期结束时释放第一调度设备持有的第二任务数据的分布式锁。本申请实施例中,释放第一调度设备持有的第二任务数据的分布式锁可以让第二调度设备故障恢复后能够获取到自身对应的分布式锁,使调度设备故障后能恢复到故障前的状态。
基于上述实施例,本申请的有益效果在于,调度系统中的各个调度设备将自身的注册信息发送给服务设备,服务设备获取到各个调度设备的注册信息之后,根据注册信息和总任务数据生成调度任务信息表,调度系统中的任意一个调度设备获取调度任务信息表中自身对应以及相邻的任务数据指示信息,根据自身对应以及相邻的任务数据指示信息向管理设备发送分布式锁获取请求,管理设备根据分布式锁获取请求向调度设备分配对应的分布式锁,并向调度设备发送分布式锁获取成功的通知消息,调度设备收到通知消息,利用分布式锁对分布式锁对应的任务数据进行调度处理。通过本申请实施例,可以将总任务数据分配给调度系统中的各个调度设备,从而实现了各个调度设备同时参与调度,提高了调度系统的调度效率。
请参阅图3,图3是本申请实施例提供的另一种数据调度方法的流程示意图。本申请实施例提供的数据调度方法可以应用于上述图1A所示的数据调度系统,下面以该数据调度方法应用与该数据调度系统中的服务设备为例进行说明。如图3所示,该数据调度方法包括:
S301、服务设备接收调度系统中各个调度设备发送的注册信息,所述注册信息包括网络地址以及端口号中的一种或多种。
S302、所述服务设备根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述调度任务信息表包括所述调度系统中各个调度设备对应的任务数据指示信息。
本申请实施例中,服务设备接收到调度系统中各个调度设备发送的注册信息,可以根据总任务数据以及调度系统包括的调度设备的注册信息生成调度任务信息表。其中,调度系统包括的调度设备可以是调度系统中的全部调度设备,也可以是调度系统中的部分调度设备;服务设备可以是在获取到预设数量的调度设备的注册信息后生成调度任务信息表,也可以是在预设时间后生成调度任务信息表。
S303、所述服务设备响应于第一调度设备的任务信息获取请求,向所述第一调度设备发送所述调度任务信息表,以使得所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示所述总任务数据中所述第一调度设备对应调度的第一任务数据,并在成功获取所述第一任务数据的分布式锁之后,利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理,所述第一调度设备为所述调度系统中的任意一个调度设备。
本申请实施例中,服务设备接收第一调度设备发送的任务信息获取请求,将调度任务信息表发送给第一调度设备,第一调度设备获取到调度任务信息表之后,获取调度任务信息表中的第一任务数据指示信息,并向管理设备发送第一任务数据指示信息对应的第一任务数据的分布式锁获取请求。管理设备接收到第一调度设备发送的第一任务数据的分布式锁获取请求之后,判断第一任务数据的分布式锁是否被其他调度设备持有,若是被其他调度设备持有,则不会向第一调度设备发送分布式锁获取成功的第一通知消息;若没有被其他调度设备持有,则向第一调度设备发送分布式锁获取成功的第一通知消息。第一调度设备在接收到管理设备发送的分布式锁获取成功的第一通知消息之后,利用第一任务数据的分布式锁对第一任务数据进行调度处理。其中,第一调度设备为调度系统中的任意一个调度设备;第一调度设备获取到第一任务数据的分布式锁后在第一任务数据的分布式锁的生命周期结束之前向管理设备发送分布式锁续期请求,以实现对自身对应的任务数据进行连续地调度处理。
在一个可行的实施例中,第一调度设备还可以获取第二调度设备的第二任务数据的分布式锁,获取到第二任务数据的分布式锁对第二任务数据调度成功后,不向管理设备发送分布式锁续期请求,管理设备在分布式锁的生命周期结束之前未收到分布式锁续期请求,会在分布式锁的生命周期结束时释放该分布式锁,以使得该分布式锁对应的调度设备可以重新获取到分布式锁,继续对自身对应的任务数据进行调度处理。
基于上述实施例,本申请的有益效果在于,调度系统中的各个调度设备将自身的注册信息发送给服务设备,服务设备获取到各个调度设备的注册信息之后,根据注册信息和总任务数据生成调度任务信息表,调度系统中的任意一个调度设备获取调度任务信息表中自身对应以及相邻的任务数据指示信息,根据自身对应以及相邻的任务数据指示信息向管理设备发送分布式锁获取请求,管理设备根据分布式锁获取请求向调度设备分配对应的分布式锁,并向调度设备发送分布式锁获取成功的通知消息,调度设备收到通知消息,利用分布式锁对分布式锁对应的任务数据进行调度处理。通过本申请实施例,可以将总任务数据分配给调度系统中的各个调度设备,从而实现了各个调度设备同时参与调度,提高了调度系统的调度效率。
请参阅图4,图4是本申请实施例提供的又一种数据调度方法的流程示意图。本申请实施例提供的数据调度方法可以应用于上述图1A所示的数据调度系统,下面以该数据调度方法应用与该数据调度系统中的服务设备为例进行说明。如图4所示,该数据调度方法包括:
S401、服务设备接收调度系统中各个调度设备发送的注册信息,所述注册信息包括网络地址以及端口号中的一种或多种。
S402、所述服务设备对所述总任务数据进行分配处理,以确定所述调度系统中各个调度设备对应的任务数据。
本申请实施例中,服务设备可以根据调度系统中调度设备的数量将总任务数据分配给各个调度设备;还可以将总任务数据根据数据类型进行分类,将不同数据类型的数据分配给各个调度设备。
S403、所述服务设备生成所述调度系统中各个调度设备对应的任务数据的任务数据指示信息。
本申请实施例中,服务设备可以获取调度系统中各个调度设备对应的任务数据的内存地址的起始地址生成任务数据指示信息;还可以将总任务数据分为调度系统中调度设备数量份,再将每份数据进行编号,根据编号生成任务数据指示信息。
S404、所述服务设备根据所述各个调度设备对应的任务数据的任务数据指示信息以及注册信息生成调度任务信息表。
本申请实施例中,服务设备可以注册信息生成各个调度设备的标识信息,根据各个调度设备的标识信息以及对应的任务数据指示信息生成调度任务信息表。其中,标识信息可以是调度设备的互联网协议(IP,Internet Protocol)地址,也可以是端口号(例如,接入服务设备的端口信息)。
S405、所述服务设备响应于第一调度设备的任务信息获取请求,向所述第一调度设备发送所述调度任务信息表,以使得所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示所述总任务数据中所述第一调度设备对应调度的第一任务数据,并在成功获取所述第一任务数据的分布式锁之后,利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理,所述第一调度设备为所述调度系统中的任意一个调度设备。
本申请实施例中,第一调度设备向服务设备发送任务信息获取请求,服务设备将调度任务信息表发送给第一调度设备,第一调度设备获取调度任务信息表中的第一任务数据指示信息,并向管理设备获取第一任务数据的分布式锁,获取到第一任务数据的分布式锁,利用第一任务数据的分布式锁对第一任务数据进行调度处理。其中,第一任务数据指示信息可以指示总任务数据中的第一任务数据,第一调度设备可以是调度系统中的任意一个调度设备。
在一个可行的实施例中,所述服务设备接收第三调度设备发送的注册信息,并将所述第三调度设备添加到所述调度系统中。
本申请实施例中,第三调度设备可以是在任务数据过多新增的调度设备,服务设备可以根据第三调度设备的注册信息,得到第三调度设备的标识信息,并将第三调度设备添加到调度系统中。其中,也可以是调度设备接收第三调度设备发送的注销信息,并将第三调度设备从调度系统中删除。
在一个可行的实施例中,所述服务设备对所述总任务数据进行分配处理,以重新确定所述调度系统中各个调度设备对应的任务数据。
在一个可行的实施例中,所述服务设备根据重新确定的所述各个调度设备对应的任务数据的任务数据指示信息,更新调度任务信息表中包括的所述各个调度设备对应的任务数据指示信息。
基于上述实施例,本申请的有益效果在于,调度系统中的各个调度设备将自身的注册信息发送给服务设备,服务设备获取到各个调度设备的注册信息之后,根据注册信息和总任务数据生成调度任务信息表,调度系统中的任意一个调度设备获取调度任务信息表中自身对应以及相邻的任务数据指示信息,根据自身对应以及相邻的任务数据指示信息向管理设备发送分布式锁获取请求,管理设备根据分布式锁获取请求向调度设备分配对应的分布式锁,并向调度设备发送分布式锁获取成功的通知消息,调度设备收到通知消息,利用分布式锁对分布式锁对应的任务数据进行调度处理。通过本申请实施例,可以将总任务数据分配给调度系统中的各个调度设备,从而实现了各个调度设备同时参与调度,提高了调度系统的调度效率。
请参阅图5,图5是本申请实施例提供的再一种数据调度方法的流程示意图。本申请实施例提供的数据调度方法可以应用于上述图1A所示的数据调度系统,下面以该数据调度方法应用与该数据调度系统中的服务设备为例进行说明。如图5所示,该数据调度方法包括:
S501、服务设备根据总任务数据以及调度系统包括的调度设备的注册信息生成调度任务信息表。
其中,调度任务信息表包括调度系统中各个调度设备对应的任务数据指示信息。
S502、服务设备将调度任务信息表发送给第一调度设备。
其中,第一调度设备为调度系统中的任意一个调度设备。
S503、第一调度设备从调度任务信息表中获取第一调度设备对应的第一任务数据指示信息。
其中,第一任务数据指示信息用于指示总任务数据中第一调度设备对应调度的第一任务数据。
S504、第一调度设备按照第一时间间隔向管理设备发送第一分布式锁获取请求。
其中,第一分布式锁获取请求包括第一任务数据指示信息。
S505、管理设备为第一调度设备分配第一任务数据的分布式锁,并生成第一通知消息。
S506、管理设备将第一通知消息发送给第一调度设备。
S507、若收到分布式锁获取成功的第一通知消息,则第一调度设备利用第一任务数据的分布式锁对第一任务数据进行调度处理。
其中,步骤S501-S507的具体实现方式可以参考前述实施例中的相关描述,此处不再赘述。
基于上述实施例,本申请的有益效果在于,调度系统中的各个调度设备将自身的注册信息发送给服务设备,服务设备获取到各个调度设备的注册信息之后,根据注册信息和总任务数据生成调度任务信息表,调度系统中的任意一个调度设备获取调度任务信息表中自身对应以及相邻的任务数据指示信息,根据自身对应以及相邻的任务数据指示信息向管理设备发送分布式锁获取请求,管理设备根据分布式锁获取请求向调度设备分配对应的分布式锁,并向调度设备发送分布式锁获取成功的通知消息,调度设备收到通知消息,利用分布式锁对分布式锁对应的任务数据进行调度处理。通过本申请实施例,可以将总任务数据分配给调度系统中的各个调度设备,从而实现了各个调度设备同时参与调度,提高了调度系统的调度效率。
请参见图6,图6是本申请实施例提供的一种数据调度装置的结构示意图。所述装置包括:
获取单元601,用于获取调度任务信息表,所述调度任务信息表包括调度系统中各个调度设备对应的任务数据指示信息,第一调度设备为所述调度系统中的任意一个调度设备;
所述获取单元601,还用于从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示总任务数据中所述第一调度设备对应调度的第一任务数据;
发送单元602,用于按照第一时间间隔向管理设备发送第一分布式锁获取请求,所述第一分布式锁获取请求包括所述第一任务数据指示信息,所述第一分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第一任务数据的分布式锁;
处理单元603,用于若收到分布式锁获取成功的第一通知消息,则利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理。
在一个可行的实施例中,所述发送单元602,还用于:向服务设备发送注册信息,以使得所述服务设备收到所述调度系统中各个调度设备的注册信息之后,根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述注册信息包括网络地址以及端口号中的一种或多种。
在一个可行的实施例中,所述获取单元601,还用于:从所述调度任务信息表中获取第二调度设备对应的第二任务数据指示信息,所述第二调度设备为所述调度任务信息表中与所述第一调度设备相邻的调度设备,所述第二任务数据指示信息用于指示所述总任务数据中所述第二调度设备对应调度的第二任务数据;所述发送单元602,还用于:按照第二时间间隔向管理设备发送第二分布式锁获取请求,所述第二分布式锁获取请求包括所述第二任务数据指示信息,所述第二分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第二任务数据的分布式锁,所述第二时间间隔大于所述第一时间间隔;若收到分布式锁获取成功的第二通知消息,则所述第一调度设备利用所述第二任务数据的分布式锁对所述第二任务数据进行调度处理。
在一个可行的实施例中,所述发送单元602,还用于:在对所述第二任务数据调度成功之后,向所述管理设备发送分布式锁释放请求,所述分布式锁释放请求用于指示所述管理设备释放所述第一调度设备持有的所述第二任务数据的分布式锁;或者,所述第一调度设备在对所述第二任务数据调度成功之后,在所述第二任务数据的分布式锁的生命周期结束之前,不向所述管理设备发送所述第二任务数据的分布式锁的续期请求,以使得所述管理设备在所述第二任务数据的分布式锁的生命周期结束时释放所述第一调度设备持有的所述第二任务数据的分布式锁。
在一个可行的实施例中,所述发送单元602,还用于:每当所述第一任务数据的分布式锁的生命周期结束之前,向所述管理设备发送所述第一任务数据的分布式锁的续期请求,所述续期请求用于指示所述管理设备更新所述第一调度设备持有所述第一任务数据的分布式锁的生命周期。
需要说明的是,本申请实施例的数据调度装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
在可行的实施例中,本申请实施例提供的数据调度装置可以采用软件方式实现,数据调度装置可以存储在存储器中,其可以是程序和插件等形式的软件,并包括一系列的单元,包括获取单元、发送单元、处理单元;其中,获取单元、发送单元、处理单元用于实现本申请实施例提供的数据调度方法。
请参见图7,图7是本申请实施例提供的另一种数据调度装置的结构示意图。所述装置包括:
接收单元701,用于接收调度系统中各个调度设备发送的注册信息,所述注册信息包括网络地址以及端口号中的一种或多种;
生成单元702,用于根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述调度任务信息表包括所述调度系统中各个调度设备对应的任务数据指示信息;
发送单元703,用于响应于第一调度设备的任务信息获取请求,向所述第一调度设备发送所述调度任务信息表,以使得所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示所述总任务数据中所述第一调度设备对应调度的第一任务数据,并在成功获取所述第一任务数据的分布式锁之后,利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理,所述第一调度设备为所述调度系统中的任意一个调度设备。
在一个可行的实施例中,所述生成单元702根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表时,具体用于:对所述总任务数据进行分配处理,以确定所述调度系统中各个调度设备对应的任务数据;生成所述调度系统中各个调度设备对应的任务数据的任务数据指示信息;根据所述各个调度设备对应的任务数据的任务数据指示信息以及注册信息生成调度任务信息表。
在一个可行的实施例中,所述接收单元701,还用于:接收第三调度设备发送的注册信息,并将所述第三调度设备添加到所述调度系统中;对所述总任务数据进行分配处理,以重新确定所述调度系统中各个调度设备对应的任务数据;根据重新确定的所述各个调度设备对应的任务数据的任务数据指示信息,更新调度任务信息表中包括的所述各个调度设备对应的任务数据指示信息。
需要说明的是,本申请实施例的数据调度装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
在可行的实施例中,本申请实施例提供的数据调度装置可以采用软件方式实现,数据调度装置可以存储在存储器中,其可以是程序和插件等形式的软件,并包括一系列的单元,包括获取单元、处理单元、发送单元、接收单元、生成单元;其中,获取单元、处理单元、发送单元、接收单元、生成单元用于实现本申请实施例提供的数据调度方法。
在其它可行的实施例中,本申请实施例提供的数据调度装置也可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的数据调度装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的数据调度方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述实施例,本申请的有益效果在于,调度系统中的各个调度设备将自身的注册信息发送给服务设备,服务设备获取到各个调度设备的注册信息之后,根据注册信息和总任务数据生成调度任务信息表,调度系统中的任意一个调度设备获取调度任务信息表中自身对应以及相邻的任务数据指示信息,根据自身对应以及相邻的任务数据指示信息向管理设备发送分布式锁获取请求,管理设备根据分布式锁获取请求向调度设备分配对应的分布式锁,并向调度设备发送分布式锁获取成功的通知消息,调度设备收到通知消息,利用分布式锁对分布式锁对应的任务数据进行调度处理。通过本申请实施例,可以将总任务数据分配给调度系统中的各个调度设备,从而实现了各个调度设备同时参与调度,提高了调度系统的调度效率。
请参见图8,图8是本申请实施例提供的一种服务器的结构示意图。如图8所示的本实施例中的数据调度装置可以包括:一个或多个处理器801,一个或多个通信接口802和存储器803。上述处理器801、通信接口802和存储器803通过总线804连接。存储器803用于存储计算机程序,计算机程序包括程序指令,处理器801用于执行存储器803存储的程序指令。
本一个实施例中,服务器为上述的第一调度设备,处理器801通过运行存储器803中的可执行程序代码,执行如下操作:
第一调度设备获取调度任务信息表,所述调度任务信息表包括调度系统中各个调度设备对应的任务数据指示信息,所述第一调度设备为所述调度系统中的任意一个调度设备;
所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示总任务数据中所述第一调度设备对应调度的第一任务数据;
所述第一调度设备按照第一时间间隔向管理设备发送第一分布式锁获取请求,所述第一分布式锁获取请求包括所述第一任务数据指示信息,所述第一分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第一任务数据的分布式锁;
若收到分布式锁获取成功的第一通知消息,则所述第一调度设备利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理。
在可行的实施例中,所述处理器801,还用于:所述第一调度设备向服务设备发送注册信息,以使得所述服务设备收到所述调度系统中各个调度设备的注册信息之后,根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述注册信息包括网络地址以及端口号中的一种或多种。
在可行的实施例中,所述处理器801,还用于:所述第一调度设备从所述调度任务信息表中获取第二调度设备对应的第二任务数据指示信息,所述第二调度设备为所述调度任务信息表中与所述第一调度设备相邻的调度设备,所述第二任务数据指示信息用于指示所述总任务数据中所述第二调度设备对应调度的第二任务数据;所述第一调度设备按照第二时间间隔向管理设备发送第二分布式锁获取请求,所述第二分布式锁获取请求包括所述第二任务数据指示信息,所述第二分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第二任务数据的分布式锁,所述第二时间间隔大于所述第一时间间隔;若收到分布式锁获取成功的第二通知消息,则所述第一调度设备利用所述第二任务数据的分布式锁对所述第二任务数据进行调度处理。
在可行的实施例中,所述处理器801,还用于:所述第一调度设备在对所述第二任务数据调度成功之后,向所述管理设备发送分布式锁释放请求,所述分布式锁释放请求用于指示所述管理设备释放所述第一调度设备持有的所述第二任务数据的分布式锁;或者,所述第一调度设备在对所述第二任务数据调度成功之后,在所述第二任务数据的分布式锁的生命周期结束之前,不向所述管理设备发送所述第二任务数据的分布式锁的续期请求,以使得所述管理设备在所述第二任务数据的分布式锁的生命周期结束时释放所述第一调度设备持有的所述第二任务数据的分布式锁。
在可行的实施例中,所述处理器801还用于:每当所述第一任务数据的分布式锁的生命周期结束之前,所述第一调度设备向所述管理设备发送所述第一任务数据的分布式锁的续期请求,所述续期请求用于指示所述管理设备更新所述第一调度设备持有所述第一任务数据的分布式锁的生命周期。
在另一个实施例中,服务器为上述的服务设备,处理器801通过运行存储器803中的可执行程序代码,执行如下操作:
服务设备接收调度系统中各个调度设备发送的注册信息,所述注册信息包括网络地址以及端口号中的一种或多种;
所述服务设备根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述调度任务信息表包括所述调度系统中各个调度设备对应的任务数据指示信息;
所述服务设备响应于第一调度设备的任务信息获取请求,向所述第一调度设备发送所述调度任务信息表,以使得所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示所述总任务数据中所述第一调度设备对应调度的第一任务数据,并在成功获取所述第一任务数据的分布式锁之后,利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理,所述第一调度设备为所述调度系统中的任意一个调度设备。
在可行的实施例中,所述服务设备根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表。所述处理器801,还用于:所述服务设备对所述总任务数据进行分配处理,以确定所述调度系统中各个调度设备对应的任务数据;所述服务设备生成所述调度系统中各个调度设备对应的任务数据的任务数据指示信息;所述服务设备根据所述各个调度设备对应的任务数据的任务数据指示信息以及注册信息生成调度任务信息表。
在可行的实施例中,所述处理器801,还用于:所述服务设备接收第三调度设备发送的注册信息,并将所述第三调度设备添加到所述调度系统中;所述服务设备对所述总任务数据进行分配处理,以重新确定所述调度系统中各个调度设备对应的任务数据;所述服务设备根据重新确定的所述各个调度设备对应的任务数据的任务数据指示信息,更新调度任务信息表中包括的所述各个调度设备对应的任务数据指示信息。
基于上述实施例,本申请的有益效果在于,调度系统中的各个调度设备将自身的注册信息发送给服务设备,服务设备获取到各个调度设备的注册信息之后,根据注册信息和总任务数据生成调度任务信息表,调度系统中的任意一个调度设备获取调度任务信息表中自身对应以及相邻的任务数据指示信息,根据自身对应以及相邻的任务数据指示信息向管理设备发送分布式锁获取请求,管理设备根据分布式锁获取请求向调度设备分配对应的分布式锁,并向调度设备发送分布式锁获取成功的通知消息,调度设备收到通知消息,利用分布式锁对分布式锁对应的任务数据进行调度处理。通过本申请实施例,可以将总任务数据分配给调度系统中的各个调度设备,从而实现了各个调度设备同时参与调度,提高了调度系统的调度效率。
应当理解,在本申请实施例中,所称处理器801可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,前述的计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,应当理解:依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种数据调度方法,其特征在于,所述方法包括:
第一调度设备获取调度任务信息表,所述调度任务信息表包括调度系统中各个调度设备对应的任务数据指示信息,所述第一调度设备为所述调度系统中的任意一个调度设备;
所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示总任务数据中所述第一调度设备对应调度的第一任务数据;
所述第一调度设备按照第一时间间隔向管理设备发送第一分布式锁获取请求,所述第一分布式锁获取请求包括所述第一任务数据指示信息,所述第一分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第一任务数据的分布式锁;
若收到分布式锁获取成功的第一通知消息,则所述第一调度设备利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理;
所述第一调度设备从所述调度任务信息表中获取第二调度设备对应的第二任务数据指示信息,所述第二调度设备为所述调度任务信息表中与所述第一调度设备相邻的调度设备,所述第二任务数据指示信息用于指示所述总任务数据中所述第二调度设备对应调度的第二任务数据;
所述第一调度设备按照第二时间间隔向所述管理设备发送第二分布式锁获取请求,所述第二分布式锁获取请求包括所述第二任务数据指示信息,所述第二分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第二任务数据的分布式锁,所述第二时间间隔大于所述第一时间间隔;
若收到分布式锁获取成功的第二通知消息,则所述第一调度设备利用所述第二任务数据的分布式锁对所述第二任务数据进行调度处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一调度设备向服务设备发送注册信息,以使得所述服务设备收到所述调度系统中各个调度设备的注册信息之后,根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述注册信息包括网络地址以及端口号中的一种或多种。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一调度设备在对所述第二任务数据调度成功之后,向所述管理设备发送分布式锁释放请求,所述分布式锁释放请求用于指示所述管理设备释放所述第一调度设备持有的所述第二任务数据的分布式锁;
或者,所述第一调度设备在对所述第二任务数据调度成功之后,在所述第二任务数据的分布式锁的生命周期结束之前,不向所述管理设备发送所述第二任务数据的分布式锁的续期请求,以使得所述管理设备在所述第二任务数据的分布式锁的生命周期结束时释放所述第一调度设备持有的所述第二任务数据的分布式锁。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
每当所述第一任务数据的分布式锁的生命周期结束之前,所述第一调度设备向所述管理设备发送所述第一任务数据的分布式锁的续期请求,所述续期请求用于指示所述管理设备更新所述第一调度设备持有所述第一任务数据的分布式锁的生命周期。
5.一种数据调度方法,其特征在于,所述方法包括:
服务设备接收调度系统中各个调度设备发送的注册信息,所述注册信息包括网络地址以及端口号中的一种或多种;
所述服务设备根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述调度任务信息表包括所述调度系统中各个调度设备对应的任务数据指示信息;
所述服务设备响应于第一调度设备的任务信息获取请求,向所述第一调度设备发送所述调度任务信息表,以使得所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息以及第二调度设备对应的第二任务数据指示信息,所述第一任务数据指示信息用于指示所述总任务数据中所述第一调度设备对应调度的第一任务数据,所述第二调度设备为所述调度任务信息表中与所述第一调度设备相邻的调度设备,所述第二任务数据指示信息用于指示所述总任务数据中所述第二调度设备对应调度的第二任务数据,并在按照第一时间间隔从管理设备成功获取所述第一任务数据的分布式锁之后,利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理,以及在按照第二时间间隔从所述管理设备成功获取所述第二任务数据的分布式锁之后,利用所述第二任务数据的分布式锁对所述第二任务数据进行调度处理,所述第二时间间隔大于所述第一时间间隔,所述第一调度设备为所述调度系统中的任意一个调度设备。
6.根据权利要求5所述的方法,其特征在于,所述服务设备根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,包括:
所述服务设备对所述总任务数据进行分配处理,以确定所述调度系统中各个调度设备对应的任务数据;
所述服务设备生成所述调度系统中各个调度设备对应的任务数据的任务数据指示信息;
所述服务设备根据所述各个调度设备对应的任务数据的任务数据指示信息以及注册信息生成调度任务信息表。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
所述服务设备接收第三调度设备发送的注册信息,并将所述第三调度设备添加到所述调度系统中;
所述服务设备对所述总任务数据进行分配处理,以重新确定所述调度系统中各个调度设备对应的任务数据;
所述服务设备根据重新确定的所述各个调度设备对应的任务数据的任务数据指示信息,更新调度任务信息表中包括的所述各个调度设备对应的任务数据指示信息。
8.一种数据调度装置,其特征在于,所述装置包括:
获取单元,用于获取调度任务信息表,所述调度任务信息表包括调度系统中各个调度设备对应的任务数据指示信息;
所述获取单元,还用于从所述调度任务信息表中获取第一调度设备对应的第一任务数据指示信息,所述第一任务数据指示信息用于指示总任务数据中所述第一调度设备对应调度的第一任务数据,所述第一调度设备为所述调度系统中的任意一个调度设备;
发送单元,用于按照第一时间间隔向管理设备发送第一分布式锁获取请求,所述第一分布式锁获取请求包括所述第一任务数据指示信息,所述第一分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第一任务数据的分布式锁;
处理单元,用于若收到分布式锁获取成功的第一通知消息,则利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理;
所述获取单元,还用于从所述调度任务信息表中获取第二调度设备对应的第二任务数据指示信息,所述第二调度设备为所述调度任务信息表中与所述第一调度设备相邻的调度设备,所述第二任务数据指示信息用于指示所述总任务数据中所述第二调度设备对应调度的第二任务数据;
所述发送单元,还用于按照第二时间间隔向所述管理设备发送第二分布式锁获取请求,所述第二分布式锁获取请求包括所述第二任务数据指示信息,所述第二分布式锁获取请求用于指示所述管理设备为所述第一调度设备分配所述第二任务数据的分布式锁,所述第二时间间隔大于所述第一时间间隔;
所述处理单元,还用于若收到分布式锁获取成功的第二通知消息,则利用所述第二任务数据的分布式锁对所述第二任务数据进行调度处理。
9.一种数据调度装置,其特征在于,所述装置包括:
接收单元,用于接收调度系统中各个调度设备发送的注册信息,所述注册信息包括网络地址以及端口号中的一种或多种;
生成单元,用于根据总任务数据以及所述调度系统包括的调度设备的注册信息生成调度任务信息表,所述调度任务信息表包括所述调度系统中各个调度设备对应的任务数据指示信息;
发送单元,用于响应于第一调度设备的任务信息获取请求,向所述第一调度设备发送所述调度任务信息表,以使得所述第一调度设备从所述调度任务信息表中获取所述第一调度设备对应的第一任务数据指示信息以及第二调度设备对应的第二任务数据指示信息,所述第一任务数据指示信息用于指示所述总任务数据中所述第一调度设备对应调度的第一任务数据,所述第二调度设备为所述调度任务信息表中与所述第一调度设备相邻的调度设备,所述第二任务数据指示信息用于指示所述总任务数据中所述第二调度设备对应调度的第二任务数据,并在按照第一时间间隔从管理设备成功获取所述第一任务数据的分布式锁之后,利用所述第一任务数据的分布式锁对所述第一任务数据进行调度处理,以及在按照第二时间间隔从所述管理设备成功获取所述第二任务数据的分布式锁之后,利用所述第二任务数据的分布式锁对所述第二任务数据进行调度处理,所述第二时间间隔大于所述第一时间间隔,所述第一调度设备为所述调度系统中的任意一个调度设备。
10.一种服务器,其特征在于,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,实现如权利要求1-4或权利要求5-7中任一项所述的数据调度方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当其在计算机上运行时,使得计算机实现如权利要求1-4或权利要求5-7中任一项所述的数据调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311236769.9A CN116991591B (zh) | 2023-09-25 | 2023-09-25 | 一种数据调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311236769.9A CN116991591B (zh) | 2023-09-25 | 2023-09-25 | 一种数据调度方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116991591A CN116991591A (zh) | 2023-11-03 |
CN116991591B true CN116991591B (zh) | 2024-01-09 |
Family
ID=88530478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311236769.9A Active CN116991591B (zh) | 2023-09-25 | 2023-09-25 | 一种数据调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991591B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018049406A (ja) * | 2016-09-21 | 2018-03-29 | 日立オートモティブシステムズ株式会社 | 複数プロセッサ間のタスク連携装置 |
CN110569113A (zh) * | 2018-06-06 | 2019-12-13 | 海通证券股份有限公司 | 分布式任务的调度方法及系统、计算机可读存储介质 |
CN111970148A (zh) * | 2020-08-14 | 2020-11-20 | 北京金山云网络技术有限公司 | 分布式任务调度方法及系统 |
CN112527489A (zh) * | 2020-12-22 | 2021-03-19 | 税友软件集团股份有限公司 | 一种任务调度方法、装置、设备及计算机可读存储介质 |
CN112988348A (zh) * | 2021-02-24 | 2021-06-18 | 中国联合网络通信集团有限公司 | 防重批量处理数据的方法、装置、系统及存储介质 |
WO2022007594A1 (zh) * | 2020-07-08 | 2022-01-13 | 苏宁易购集团股份有限公司 | 分布式任务调度的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200019435A1 (en) * | 2018-07-13 | 2020-01-16 | Raytheon Company | Dynamic optimizing task scheduling |
-
2023
- 2023-09-25 CN CN202311236769.9A patent/CN116991591B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018049406A (ja) * | 2016-09-21 | 2018-03-29 | 日立オートモティブシステムズ株式会社 | 複数プロセッサ間のタスク連携装置 |
CN110569113A (zh) * | 2018-06-06 | 2019-12-13 | 海通证券股份有限公司 | 分布式任务的调度方法及系统、计算机可读存储介质 |
WO2022007594A1 (zh) * | 2020-07-08 | 2022-01-13 | 苏宁易购集团股份有限公司 | 分布式任务调度的方法及系统 |
CN111970148A (zh) * | 2020-08-14 | 2020-11-20 | 北京金山云网络技术有限公司 | 分布式任务调度方法及系统 |
CN112527489A (zh) * | 2020-12-22 | 2021-03-19 | 税友软件集团股份有限公司 | 一种任务调度方法、装置、设备及计算机可读存储介质 |
CN112988348A (zh) * | 2021-02-24 | 2021-06-18 | 中国联合网络通信集团有限公司 | 防重批量处理数据的方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116991591A (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9208029B2 (en) | Computer system to switch logical group of virtual computers | |
CA3168286A1 (en) | Data flow processing method and system | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
CN106817408B (zh) | 一种分布式服务器集群调度方法及装置 | |
CN105468450A (zh) | 任务调度方法及系统 | |
TWI701916B (zh) | 用於在分布式系統中使管理能力自恢復的方法和裝置 | |
CN109144748B (zh) | 一种服务器、分布式服务器集群及其状态驱动方法 | |
CN112416969B (zh) | 分布式数据库中的并行任务调度系统 | |
CN104158707A (zh) | 一种检测并处理集群脑裂的方法和装置 | |
CN102843259A (zh) | 集群内中间件自管理热备方法及系统 | |
CN111414241A (zh) | 批量数据处理方法、装置、系统、计算机设备及计算机可读存储介质 | |
CN111970148A (zh) | 分布式任务调度方法及系统 | |
CN111541762A (zh) | 数据处理的方法、管理服务器、设备及存储介质 | |
CN109257396B (zh) | 一种分布式锁调度方法及装置 | |
CN112865995B (zh) | 分布式主从系统 | |
CN115373799A (zh) | 一种集群管理的方法、装置及电子设备 | |
CN114565502A (zh) | Gpu资源管理方法、调度方法、装置、电子设备及存储介质 | |
CN104657240B (zh) | 多内核操作系统的失效控制方法及装置 | |
CN116991591B (zh) | 一种数据调度方法、装置及存储介质 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
CN117857358A (zh) | 一种跨数据中心带宽资源管理平台和方法 | |
CN111200518B (zh) | 一种基于paxos算法的去中心化HPC计算集群管理方法及系统 | |
EP3709173B1 (en) | Distributed information memory system, method, and program | |
CN114564340B (zh) | 航天地面系统分布式软件高可用方法 | |
CN108154343B (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 |