CN113867915A - 任务调度方法、电子设备及存储介质 - Google Patents

任务调度方法、电子设备及存储介质 Download PDF

Info

Publication number
CN113867915A
CN113867915A CN202111135762.9A CN202111135762A CN113867915A CN 113867915 A CN113867915 A CN 113867915A CN 202111135762 A CN202111135762 A CN 202111135762A CN 113867915 A CN113867915 A CN 113867915A
Authority
CN
China
Prior art keywords
service
task
node
information
service node
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
CN202111135762.9A
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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202111135762.9A priority Critical patent/CN113867915A/zh
Publication of CN113867915A publication Critical patent/CN113867915A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Abstract

本发明公开了一种任务调度方法、电子设备及存储介质,应用于分布式系统的节点的任务调度方法包括:基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息;接收所述服务节点基于所述第一请求返回的所述第一任务对应的第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息;在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。

Description

任务调度方法、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务调度方法、电子设备及存储介质。
背景技术
随着计算机技术的发展,越来越多的技术,例如,区块链(Blockchain)、大数据、分布式等技术被应用在金融领域,传统金融业正在逐步向金融科技转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。金融科技领域下,分布式定时任务调度框架是基于服务注册中心搭建的,分布式系统中的应用服务器在调度定时任务的过程中,从服务注册中心查找定时任务相关的微服务对应的IP地址列表,基于查找到的IP地址列表调用对应的微服务,执行定时任务。
当分布式系统中待调度的定时任务数量剧增,且与定时任务相关的微服务之间存在多级调用时,可能会出现位于调用链首部或中间的微服务对应的调用响应时长过长,或者对应的微服务不可用的情况。这样,应用服务器调用该微服务会占用越来越多的系统资源,可能导致应用服务器崩溃。
发明内容
有鉴于此,本发明实施例提供一种任务调度方法、电子设备及存储介质,以解决相关技术中在调度分布式系统中的定时任务的过程中可能导致系统崩溃的技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种任务调度方法,应用于分布式系统中的节点,所述方法包括:
基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息;
接收所述服务节点基于所述第一请求返回的所述第一任务对应的第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息;
在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。
上述方案中,所述通过调用至少一个服务节点提供的第一服务,基于所述配置信息执行所述第一任务,包括:
向第一服务节点发送关于第一服务的调用请求;
在所述第一服务节点在第一设定时长内未响应所述调用请求,或者第一服务调用失败情况下,通过调用第二服务节点提供的第一服务,基于所述配置信息执行所述第一任务。
上述方案中,在接收到所述第一任务对应的第一信息之后,所述方法还包括:
在检测到设定故障的情况下,将未执行的第一任务对应的第一信息缓存至设定数据库;
在已消除所述设定故障的情况下,从所述设定数据库中拉取缓存的第一任务对应的第一信息;其中,
设定故障包括以下至少之一:
所述节点无法联网;
提供第一服务的服务节点宕机;
第一服务依赖的组件处于异常状态。
上述方案中,所述方法还包括:
在服务调用失败的次数大于或等于第一设定阈值,或者第一数值大于或等于第二设定阈值的情况下,开启断路器模式,并禁用外部调用功能;其中,所述第一数值表征服务调用失败的次数与服务调用总次数之商;
缓存未执行的第一任务对应的第一信息和在开启断路器模式之后接收到的第一任务;
在开启断路器模式的时长大于或等于第二设定时长的情况下,重新启用所述外部调用功能,并在连续成功调用第一服务的情况下,关闭断路器模式。
上述方案中,所述开启断路器模式,包括:
基于服务调用失败的次数更新第一定时器的计数值,按设定时间间隔重置所述第一定时器的计数值;
在设定时间间隔内所述第一定时器的计数值大于或等于所述第一设定阈值的情况下,开启断路器模式。
本发明实施例还提供了一种任务调度方法,包括:
分布式系统中的第一节点基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息;
接收到所述第一请求的服务节点基于所述第一请求确定出所述第一任务对应的第一信息,向所述第一节点返回所述第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息;
在所述第一节点的设备信息与所述第一信息中的设备信息相同的情况下,所述第一节点通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。
本发明实施例还提供了一种电子设备,包括:
发送单元,用于基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息;
接收单元,用于接收所述服务节点基于所述第一请求返回的所述第一任务对应的第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息;
调度单元,用于在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。
本发明实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述任务调度方法的步骤。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任务调度方法的步骤。
本发明实施例中,在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。其中,服务节点集成了服务提供者和注册中心的功能,第一集群中每个服务节点中均存储有所有任务的相关信息和第一集群中每个服务节点支持的服务。由于第一集群中的每个服务节点均为对等节点,第一集群中的任意两个服务节点均可以通信,分布式系统中的每个节点均可以与第一集群中的任一服务节点进行通信,也可以决定是否与服务节点停止通信,分布式系统中的任一节点在调用一个服务节点提供的第一服务响应时间过长时,可以及时终止调用该服务节点提供的第一服务,并重新调用另一服务节点提供的第一服务执行第一任务,只要第一集群中还存在一个提供第一服务的可用服务节点就可以支持第一任务的执行,减少占用分布式系统中的节点的系统资源,降低分布式系统中的节点发生系统崩溃的概率。
附图说明
图1为本发明实施例提供的任务调度系统的示意图;
图2为本发明实施例提供的任务调度方法的交互图;
图3为本发明实施例提供的任务调度方法的实现流程示意图;
图4为本发明应用实施例提供的任务调度方法的实现流程示意图;
图5为本发明应用实施例提供的任务调度方法的示意图;
图6为本发明实施例提供的电子设备的结构示意图;
图7为本发明实施例提供的电子设备的硬件组成结构示意图。
具体实施方式
相关技术中,采用开源的分布式调度定时框架,例如elastic-job,来调度定时任务,elastic-job是基于分布式应用程序协调服务zookeeper作为服务注册中心搭建的。其中,Zookeeper是由一个领导者(Leader)和多个跟随者(follower)组成的集群。服务提供者将支持的微服务的名称和服务提供者的IP地址等信息注册至注册中心,服务消费者在需要调用微服务A时,从注册中心中查找支持微服务A的服务提供者的IP地址列表,从查找到的IP地址列表中选择一个服务提供者,并调用该服务提供者的微服务A。
相关技术中,无法对Zookeeper中的单一节点进行控制,当分布式系统中待调度的定时任务数量剧增,且与定时任务相关的微服务之间存在多级调用时,可能会出现位于调用链首部或中间的微服务对应的调用响应时长过长,或者对应的微服务不可用的情况,例如,因提供对应的微服务的服务节点断网、宕机或服务节点中的微服务依赖的基础组件发生故障等原因,导致微服务不可用。而应用服务器无法终止调用响应时长过长的微服务,由此,应用服务器调用该微服务会占用越来越多的系统资源,可能导致应用服务器崩溃。
基于此,在本发明的各种实施例中,分布式系统中的节点基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息;接收所述服务节点基于所述第一请求返回的所述第一任务对应的第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息;在所述节点的设备信息与所述第一信息中的设备信息匹配的情况下,通过调用至少一个服务节点提供的第一服务,基于所述配置信息执行所述第一任务。本方案中,第一集群中的每个服务节点均为对等节点,支持针对单个服务节点进行控制,服务节点集成了服务提供者和注册中心的功能,第一集群中每个服务节点中均存储有所有任务的相关信息和第一集群中每个服务节点支持的服务,由此,分布式系统中的任一节点在调用一个服务节点提供的微服务A响应时间过长时,可以及时终止调用该服务节点提供的微服务,并重新调用另一服务节点提供的微服务A执行第一任务,只要第一集群中还存在一个提供第一服务的可用服务节点就可以提供第一任务的执行,减少占用分布式系统中的节点的系统资源,降低分布式系统中的节点发生系统崩溃的概率。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为本发明实施例提供的任务调度系统的示意图。任务调度系统包括分布式系统1和第一集群2。分布式系统1中包括多个节点11~1n,多个节点11~1n中安装有设定应用,设定应用用于执行分布式系统的任务;第一集群2中包括多个服务节点21~2n。分布式系统中的节点可以是应用服务器,服务节点可以是Eureka服务节点。
第一集群中的服务节点中任意两个服务节点之间均可以通信,也就是说,第一集群中的服务节点组成对等网络。每个服务节点集成了服务提供者和注册中心的功能。服务节点中均存储所有任务的相关信息和第一集群中每个服务节点支持的服务。分布式系统1中的各节点用于调用第一集群中的服务节点支持的服务或服务实例,执行相应的任务。
需要说明的是,第一集群中的每个服务节点可以支持至少一种服务,分布式系统中的节点可以订阅第一集群中包括的服务节点所支持的服务。服务节点检测到支持的任一服务在短时间内不可用时,将不可用的服务设置为离线(down)状态,并向分布式系统中订阅了该不可用的服务的节点发布该不可用的服务所处的状态,以便相关节点在本地将不可用的服务的工作状态更新为离线状态,从而避免相关节点调用该服务节点中不可用的服务。
需要说明的是,分布式系统中的节点基于心跳机制检测已订阅的服务是否可用。例如,分布式系统中的节点按照设定时间间隔向已订阅的服务对应的服务节点发送心跳检测数据。分布式系统中的节点在设定时长内接收到服务节点回复的心跳数据的情况下,表征对应的服务节点支持的服务有效;分布式系统中的节点在设定时长内未接收到服务节点回复的心跳数据的情况下,表征对应的服务节点支持的服务失效,分布式系统中的节点可以将对应的服务标记为失效,并与对应的服务节点断开通信连接。第一集群中的服务节点在设定时长内未接收到分布式系统中的节点发送的心跳检测数据的情况下,表征分布式系统中的对应节点无效,服务节点与该节点断开通信连接,并将无效节点从已订阅对应服务的节点列表中删除。
考虑到在实际应用中,分布式系统对服务节点响应被调用的服务的时效性的要求较高,设定时长可以为30秒,当然也可以设置为更小的值,具体可根据实际情况设置。在一些实施例中,还可以减小服务节点支持的服务对应的续订阈值,以避免分布式系统中过多节点调用同一服务,降低服务调用失败的概率。
下面结合实施例和附图对任务调度方法的实现过程进行详细说明。
图2为本发明实施例提供的任务调度方法的交互图。如图2所示,任务调度方法包括:
步骤201:分布式系统中的第一节点基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息。
这里,分布式系统中的第一节点在检测到待调度的第一任务的情况下,向第一集群中的至少一个服务节点发送第一请求,以请求获取第一任务对应的第一信息。其中,第一请求携带第一任务的标识,第一任务的标识用于供服务节点查找第一任务对应的第一信息。第一任务的第一信息包括执行第一任务的设备的设备标识、第一任务的配置信息和提供第一任务相关的第一服务的服务节点的节点信息,例如服务节点的IP地址。
需要说明的是,第一任务泛指任一任务,第一节点可以向第一集群中的任一服务节点发送第一请求,也可以向第一集群中的至少两个服务节点分别发送第一请求,或者,在向第一集群中的第一服务节点发送第一请求之后,在第一设定时长内未接收到第一服务节点返回第一请求对应的第一信息的情况下,向第一集群中的第二服务节点发送第一请求。第一服务节点和第二服务节点均为第一集群中的任一服务节点。
需要说明的是,第一任务可以是其他设备下发的,也可以是预先存储在分布式系统中的第一节点中,例如,当第一任务为定时任务时,第一任务可以是预先设置或配置的,且存储在第一节点中。
步骤202:接收到所述第一请求的服务节点基于所述第一请求确定出所述第一任务对应的第一信息,向所述第一节点返回所述第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息。
这里,第一集群中的服务节点在接收到分布式系统中的第一节点发送的第一请求的情况下,基于第一请求中携带的第一任务的标识,从存储的任务信息中确定出第一任务对应的第一信息,并向发送第一请求的第一节点返回第一任务对应的第一信息。服务节点中关联存储有任务标识和任务的相关信息。
在实际应用中,用户可以通过终端设备的设定交互界面向第一集群中的服务节点注册相应的任务,并设置任务配置信息,还可以订阅与任务相关的服务。服务节点将注册的任务的标识和任务的相关信息关联存储,并将注册的任务的标识和对应的相关信息,同步至第一集群中的其他服务节点。
第一信息中可以包括提供第一服务的服务节点的IP地址,以便接收到第一信息的第一节点在确认第一节点的设备信息与第一信息中的设备信息相同的情况下,基于服务节点的IP地址访问对应的服务节点,并调用第一服务,来执行第一任务。第一信息中的任务配置信息可以包括任务参数和执行条件等,具体根据实际情况进行配置。第一服务泛指执行第一任务所需的任一服务,实际应用时,第一服务可以是微服务。
需要说明的是,第一集群中的各服务节点都是对等节点,第一集群的工作模式为多读多写模式,即,支持多个服务节点并行执行写操作以及支持多个服务节点并行执行读操作,第一集群中服务节点之间可以按照设定时间间隔进行数据同步。也就是说,在不同时刻,第一集群中的不同服务节点中存储的任务信息和每个服务节点支持的服务(或者服务实例)可能不同,但不影响分布式系统中的节点调用相应的服务来执行第一任务,保障了服务的可用性和容错性。
在一些实施例中,所述方法还包括:
服务节点在成功启动的情况下,禁用自我保护模式。
其中,服务节点可以为Eureka服务节点。
考虑到服务节点支持自我保护模式的情况下,服务节点发生网络故障或服务节点在短时间内与分布式系统中的多个节点断开通信连接之后,该服务节点进入自我保护模式。在服务节点进入自我保护模式之后,可能导致分布式系统中的节点请求调用该服务节点中不存在或失效的服务或服务实例,或者在调用超时的情况下,不断重试,这样不符合分布式系统高时效性的需求,因此这里需关闭服务节点的自我保护模式,以避免出现上述情况,减少分布式系统中节点的资源消耗。
需要说明的是,服务节点在进入自我保护模式之后,保护服务注册表中的信息,不再删除服务注册表中的数据。在网络故障恢复的情况下,进入自我保护模式的服务节点自动退出自我保护模式。
为了提高第一集群的高可用性和被调用的服务的时效性,在一些实施例中,所述方法还包括:
服务节点通过设定类型的线程执行对应的设定操作;其中,每种设定操作对应一种线程;所述设定操作包括以下至少之一:
心跳检测,用于检测服务是否可用;
服务同步,用于同步第一集群中服务节点支持的服务;
状态同步,用于同步服务节点支持的服务的工作状态。
这里,服务节点针对不同类型的设定操作配置对应的线程,从而采用不同的线程执行不同的设定操作,可以避免过多资源竞争导致的堵塞。其中,每种设定操作对应一种设定类型的线程,不同类型的设定操作对应的线程各不相同。
实际应用时,服务节点可以通过心跳检测线程执行心跳检测;例如,通过心跳检测线程接收分布式系统中的节点发送的第一心跳数据,并基于接收到的第一心跳数据回复第二心跳数据,确定每两次接收到的第一心跳数据的时间间隔等。
服务节点可以通过服务变更通知线程进行服务同步操作。例如,在服务节点支持的服务发生变更的情况下,通过服务变更通知线程将变更后的服务同步至第一集群中的其他服务节点,从而将服务节点当前支持的服务中包含的可用服务和失效服务同步至第一集群中的其他服务节点,服务发生变更包括支持的服务失效。
服务节点可以通过状态变更通知线程执行状态同步操作。例如,在服务节点支持的服务的工作状态发生变更的情况下,通过状态变更通知线程,将服务节点支持的服务的工作状态同步至分布式系统中订阅了对应服务的节点,以及同步至第一集群中其他服务节点。工作状态变更包括支持的服务从在线状态变更为离线状态。
需要说明的是,上述设定操作仅仅是示例,可根据实际情况配置不同的设定操作。
步骤203:在所述第一节点的设备信息与所述第一信息中的设备信息相同的情况下,所述第一节点通过调用至少一个服务节点提供的第一服务,基于所述配置信息执行所述第一任务。
这里,分布式系统中的第一节点在接收到第一集群中的服务节点返回的第一信息的情况下,判断第一节点的设备信息与第一信息中的设备信息是否相同。在第一节点的设备信息与第一信息中的设备信息相同的情况下,表征第一节点为第一任务的执行设备,由第一节点执行第一任务;第一节点基于第一信息确定出提供第一服务的所有服务节点,从确定出的所有服务节点中,选择任意一个服务节点,并访问该服务节点,从而调用该服务节点提供的第一服务;在成功调用第一服务的情况下,通过该第一服务基于第一信息中包含的任务配置信息执行第一任务;在调用第一服务失败的情况下,停止调用该服务节点提供的第一服务,从基于第一信息确定出的所有服务节点中,调用另一服务节点提供的第一服务,以通过该第一服务基于第一信息中包含的任务配置信息执行第一任务。
在实际应用中,第一节点也可以基于负载均衡原理从确定出的所有服务节点中,确定其中一个服务节点,并调用该服务节点提供的第一服务,从而通过该第一服务执行第一任务。
需要说明的是,在第一节点的设备信息与第一信息中的设备信息不同的情况下,表征第一节点不是第一任务的执行设备,第一节点不需要执行第一任务。
在本发明实施例中,由于第一集群中每个服务节点均为对等节点,分布式系统中的任意节点在调用第一集群中任意服务节点支持的服务的过程中,分布式系统中的节点在检测到调用时长过长或调用失败的情况下,及时终止调用该服务节点提供的第一服务,重新调用其他服务节点提供的第一服务,由此,只要第一集群中还存在一个提供第一服务的可用服务节点就可以支持第一任务的执行,既可以保证服务的可用性,也提高了服务对第一集群的容错性,同时还可以减少分布式系统中的节点的资源占用,降低了分布式系统的节点发生系统崩溃的概率。
图3为本发明实施例提供的任务调度方法的实现流程示意图,其中,流程的执行主体为分布式系统中的任一节点,该节点可以是终端、服务器等电子设备。如图3示出的,任务调度方法包括:
步骤301:基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息。
其中,步骤301与步骤201相同,实现过程请参照步骤201的相关描述,此处不赘述。
步骤302:接收所述服务节点基于所述第一请求返回的所述第一任务对应的第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息。
这里,第一信息中可以包括提供第一任务相关的第一服务的服务节点的IP地址。
步骤303:在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。
其中,步骤303与步骤203相同,实现过程请参照步骤203的相关描述,此处不赘述。
本发明实施例中,在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。其中,服务节点集成了服务提供者和注册中心的功能,第一集群中每个服务节点中均存储有所有任务的相关信息和第一集群中每个服务节点支持的服务。由于第一集群中的每个服务节点均为对等节点,第一集群中的任意两个服务节点均可以通信,分布式系统中的每个节点均可以与第一集群中的任一服务节点进行通信,也可以决定是否与服务节点停止通信,分布式系统中的任一节点在调用一个服务节点提供的第一服务响应时间过长时,可以停止调用该服务节点提供的第一服务,并重新调用另一服务节点提供的第一服务执行第一任务,只要第一集群中还存在一个提供第一服务的可用服务节点就可以支持第一任务的执行,减少占用分布式系统中的节点的系统资源,降低分布式系统中的节点发生系统崩溃的概率。
考虑到在实际应用中可能存在第一服务调用失败或者响应时间过长的情况,为了避免等待获取第一服务的时间过长,提高服务调用的时效性,在一些实施例中,所述通过调用至少一个服务节点提供的第一服务,基于所述配置信息执行所述第一任务,包括:
向第一服务节点发送关于第一服务的调用请求;
在所述第一服务节点在第一设定时长内未响应所述调用请求,或者第一服务调用失败情况下,通过调用第二服务节点提供的第一服务,基于所述配置信息执行所述第一任务。
这里,第一服务节点和第二服务节点均为第一信息中包括的提供第一服务的所有服务节点中的任一服务节点。
分布式系统中的节点在确认该节点的设备信息与第一信息中的设备信息相同的情况下,基于第一信息中包括的所有服务节点的信息,从提供第一服务的所有服务节点中,确定出第一服务节点,并向第一服务节点发送关于第一服务的调用请求,以请求调用第一服务。
分布式系统中的节点在向第一服务节点发送该调用请求之后,检测第一服务节点是否响应该调用请求,在第一服务节点在第一设定时长内未响应该调用请求,或者第一服务调用失败的情况下,终止调用第一服务节点提供的第一服务,并调用第二服务节点提供的第一服务;在成功调用第二服务节点提供的第一服务的情况下,通过第二服务节点提供的第一服务,基于第一任务的配置信息执行第一任务。例如,当该配置信息包括任务参数和执行条件时,在当前满足该配置信息中包括的执行条件的情况下,根据该配置信息中的任务参数执行第一任务。在第一服务再次调用失败的情况下,从提供第一服务的所有服务节点中,重新确定出另一个第二服务节点,并按照上述方法,调用重新确定出的第二服务节点提供的第一服务。
需要说明的是,在接收到服务节点基于调用请求返回的提示信息的情况下,表征第一服务调用失败。该提示信息可以是错误码。
考虑到服务节点可能因发生网络故障、宕机或第一服务依赖的基础组件发生故障等,导致第一服务调用失败,为了增强分布式系统的稳定性和容错能力,在一些实施例中,在接收到所述第一任务对应的第一信息之后,所述方法还包括:
在检测到设定故障的情况下,将未执行的第一任务对应的第一信息缓存至设定数据库;
在已消除所述设定故障的情况下,从所述设定数据库中拉取缓存的第一任务对应的第一信息;其中,
设定故障包括以下至少之一:
所述节点无法联网;
提供第一服务的服务节点宕机;
第一服务依赖的组件处于异常状态。
这里,在接收到第一任务对应的第一信息之后,检测是否存在设定故障,在存在设定故障的情况下,将未成功执行的第一任务对应的第一信息缓存至设定数据库,以便数据丢失;在检测到已消除对应的设定故障的情况下,从设定数据库中拉取缓存的第一任务对应的第一信息,以便在节点的设备信息与拉取的第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于第一信息中包含的任务配置信息执行第一任务。
实际应用时,分布式系统中的节点可以基于服务节点反馈的提示信息,来确定是否存在设定故障,例如,当接收到的提示信息为第一错误码时,表征提供第一服务的服务节点宕机;当接收到的提示信息为第二错误码时,表征第一服务依赖的组件处于异常状态。该异常状态可以是偶发性地网络抖动导致的异常,也可以是第一服务依赖的基础组件发生故障。
需要说明的是,在实际应用中,在第一任务执行失败或执行超时的情况下,表征当前存在故障,在一些实施例中,在第一任务执行失败或执行超时的情况下,缓存第一任务对应的第一信息。
在一些实施例中,在检测到设定故障的情况下,还可以缓存设定数据,以对设定数据进行备份,以免丢失重要数据。
为了避免在多次调用第一服务,得不到服务节点响应之后,仍然持续发起关于第一服务的调用请求而浪费资源,为了提高分布式系统的稳定性以及容灾容错的能力,在一些实施例中,在调用第一服务的过程中,所述方法还包括:
在服务调用失败的次数大于或等于第一设定阈值,或者第一数值大于或等于第二设定阈值的情况下,开启断路器模式,并禁用外部调用功能;其中,所述第一数值表征服务调用失败的次数与服务调用总次数之商;
缓存未执行的第一任务对应的第一信息和在开启断路器模式之后接收到的第一任务;
在开启所述断路器模式的工作时长大于或等于第二设定时长的情况下,重新启用所述外部调用功能,并在连续成功调用第一服务的情况下,关闭断路器模式。
这里,分布式系统中的节点在调用服务节点支持的服务执行对应任务的过程中,统计服务调用失败的次数和服务调用总次数,在服务调用失败的次数大于或等于第一设定阈值的情况下,或者,服务调用失败的次数与服务调用总次之商,大于或等于第二设定阈值的情况下,表征第一集群中的一个或多个服务节点出现异常状况,可能服务节点已宕机,此时,开启断路器模式,并禁止外部调用功能,从而拒绝分布式系统中的节点发起外部调用请求,由此,开启断路器模式可以有效防止分布式系统中的节点不断重试调用故障服务,进而有效防止资源浪费,通过拒绝外部调用请求来保证服务响应的时效性,而不是等待服务响应超时。
在开启断路器模式的情况下,缓存未执行的第一任务对应的第一信息和在开启断路器模式之后接收到的第一任务;在开启断路器模式的时长大于或等于第二设定时长的情况下,重新启用外部调用功能,以基于缓存的第一任务对应的第一信息,重新调用对应的第一服务,从而通过第一服务执行第一任务;在连续成功调用第一服务的情况下,关闭断路器模式。在未连续成功调用第一服务的情况下,保持开启断路器模式,且重置开启断路器模式的时长。
在实际应用时,可以通过开启设置于分布式系统的节点中的断路器,来实现开启断路器模式,该断路器是通过软件实现的;也可以调用设定组件来开启断路器模式,设定组件具有断路器功能。
实际应用时,断路器模式具有三种状态:打开状态、半开状态(half-open)和关闭状态。在正常情况下,关闭断路器模式,在出现上述情况时,开启断路器模式;在开启断路器模式的情况下,禁用外部调用功能,分布式系统中的节点缓存未执行的第一任务和执行失败的第一任务对应的第一信息;在经过第二设定时长之后,从打开状态切换至半开状态,重新启用外部调用功能,重新调用第一服务,在至少连续两次成功调用第一服务的情况下,从半开状态切换至关闭状态;否则,从半开状态切换至开启状态,对第二设定时长重新计时。
考虑到在短时间内服务调用失败的次数剧增时,可能导致分布式系统中节点的系统崩溃,为了更有效防止系统崩溃,在一些实施例中,所述开启断路器模式,包括:
基于服务调用失败的次数更新第一定时器的计数值,按设定时间间隔重置所述第一定时器的计数值;
在设定时间间隔内所述第一定时器的计数值大于或等于所述第一设定阈值的情况下,开启断路器模式。
这里,每检测到一次服务调用失败,对第一定时器的计数值递增1,并按设定时间间隔重置第一定时器的计数值;在设定时间间隔内第一定时器的计数值大于或等于第一设定阈值的情况下,表征短时间内服务调用失败的次数剧增,可能第一集群中大部分或全部服务节点均出现故障,此时,开启断路器模式。
图4为本发明应用实施例提供的任务调度方法的实现流程示意图,如图4所示,任务调度方法包括:
步骤401:基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息。
步骤402:接收所述服务节点基于所述第一请求返回的所述第一任务对应的第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息。
步骤403:在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,向第一服务节点发送关于第一服务的调用请求。
其中,第一服务节点为第一信息所指示的所有服务节点中的任一服务节点。
步骤404:在所述第一服务节点在第一设定时长内未响应所述调用请求,或者第一服务调用失败情况下,通过调用第二服务节点提供的第一服务,基于所述配置信息执行所述第一任务。
其中,第二服务节点为第一信息所指示的所有服务节点中的任一服务节点,且第二服务节点与第一服务节点不同。
步骤405:基于服务调用失败的次数更新第一定时器的计数值,按设定时间间隔重置所述第一定时器的计数值。
步骤406:在设定时间间隔内所述第一定时器的计数值大于或等于所述第一设定阈值的情况下,开启断路器模式,并禁用外部调用功能。
步骤407:缓存未执行的第一任务对应的第一信息和在开启断路器模式之后接收到的第一任务。
步骤408:在开启断路器模式的时长大于或等于第二设定时长的情况下,重新启用所述外部调用功能,并在连续成功调用第一服务的情况下,关闭断路器模式。
下面结合示例对任务调度方法的实现过程进行说明:
如图5所示,分布式系统中的节点A中安装有至少一个用于执行分布式任务的应用,该节点A中设有通过软件实现的断路器,该节点A可以接收用户请求;第一服务节点和第二服务节点均可以接收通过设定的应用程序接口(API,Application ProgrammingInterface)发送的服务注册请求,服务注册请求用于将对应的服务或者注册分布式任务注册至服务节点的注册中心。设定的应用程序接口可以是表现层状态转化(REST,Representational State Transfer)API。第一服务节点和第二服务节点,相互同步各自对应的已注册的服务和分布式任务的相关信息。
节点A在检测到待调度的第一任务,并确认第一服务节点和第二服务节点均可以提供执行第一任务所需的第一服务的情况下,向第一服务节点发送第一调用请求,以请求调用第一服务节点提供的第一服务;节点A在确认第一服务节点无法响应第一调用请求的情况下,表征第一服务调用失败,停止调用第一服务节点提供的第一服务,并向第二服务节点发送第二调用请求,以请求调用第二服务节点提供的第一服务,在成功调用第二服务节点提供的第一服务的情况下,通过该第一服务执行第一任务。第一任务为分布式任务。
节点A对服务调用失败的次数进行计数,并基于服务调用失败的次数更新第一定时器的计数值,按设定时间间隔重置第一定时器的计数值;在设定时间间隔内第一定时器的计数值大于或等于第一设定阈值的情况下,开启节点A中的断路器,并禁用外部调用功能,以及将未执行的所有第一任务的相关信息和在开启断路器之后接收到的第一任务,缓存至数据库;在开启断路器模式的时长大于或等于第二设定时长的情况下,重新启用外部调用功能,从数据库中读取缓存的数据,以恢复调用第一服务执行第一任务,并在连续成功调用第一服务的情况下,关闭断路器。
需要说明的是,在节点A可以执行除第一任务之外的其他分布式任务的情况下,节点A在开启断路器之后,还可以将其他任务的相关信息缓存至数据库。
分布式系统中的节点
在重新启用外部调用功能之后,统计连续成功调用第一服务的次数的情况下,关闭断路器模式。
需要说明的是,在极端情况下,可能会出现调用第一服务均失败的情况,此时,可以缓存第一任务对应的第一信息,间隔一段时间后再次调用第一服务。
需要说明的是,当服务节点发生网络故障、宕机或第一服务依赖的基础组件发生故障时,均会导致第一服务调用失败。第一服务可以是微服务。
为实现本发明实施例的方法,本发明实施例还提供了一种电子设备,如图6所示,该电子设备包括:
发送单元61,用于基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息;
接收单元62,用于接收所述服务节点基于所述第一请求返回的所述第一任务对应的第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息;
调度单元63,用于在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。
在一些实施例中,
发送单元61还用于:向第一服务节点发送关于第一服务的调用请求;
调度单元63具体用于:在所述第一服务节点在第一设定时长内未响应所述调用请求,或者第一服务调用失败情况下,通过调用第二服务节点提供的第一服务,基于所述配置信息执行所述第一任务。
在一些实施例中,该电子设备还包括:
第一缓存单元,用于在检测到设定故障的情况下,将未执行的第一任务对应的第一信息缓存至设定数据库;
读取单元,用于在已消除所述设定故障的情况下,从所述设定数据库中拉取缓存的第一任务对应的第一信息;其中,
设定故障包括以下至少之一:
所述节点无法联网;
提供第一服务的服务节点宕机;
第一服务依赖的组件处于异常状态。
实际应用时,XX单元-XX单元可由XX装置中的处理器,,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable GateArray)等实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。
在一些实施例中,该电子设备还包括:
第一处理单元,用于在服务调用失败的次数大于或等于第一设定阈值,或者第一数值大于或等于第二设定阈值的情况下,开启断路器模式,并禁用外部调用功能;其中,所述第一数值表征服务调用失败的次数与服务调用总次数之商;
第二缓存单元,用于缓存未执行的第一任务对应的第一信息和在开启断路器模式之后接收到的第一任务;
第二处理单元,用于在开启断路器模式的时长大于或等于第二设定时长的情况下,重新启用所述外部调用功能,并在连续成功调用第一服务的情况下,关闭断路器模式。
在一些实施例中,第一处理单元具体用于:
基于服务调用失败的次数更新第一定时器的计数值,按设定时间间隔重置所述第一定时器的计数值;
在设定时间间隔内所述第一定时器的计数值大于或等于所述第一设定阈值的情况下,开启断路器模式。
实际应用时,上述各单元可通过电子设备中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable GateArray)等实现,或者由电子设备中的处理器和通信接口共同实现。
需要说明的是:上述实施例提供的电子设备在进行任务调度时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的电子设备与任务调度方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备。图7为本发明实施例电子设备的硬件组成结构示意图,如图7所示,电子设备7包括:
通信接口71,能够与其它设备比如网络设备等进行信息交互;
处理器72,与所述通信接口71连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述应用于分布式系统中的节点的一个或多个技术方案提供的任务调度方法。而所述计算机程序存储在存储器73上。
当然,实际应用时,电子设备7中的各个组件通过总线系统74耦合在一起。可理解,总线系统74用于实现这些组件之间的连接通信。总线系统74除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统74。
本发明实施例中的存储器73用于存储各种类型的数据以支持电子设备7的操作。这些数据的示例包括:用于在电子设备7上操作的任何计算机程序。
可以理解,存储器73可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器73旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器72中,或者由处理器72实现。处理器72可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器72中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器72可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器72可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器73,处理器72读取存储器73中的程序,结合其硬件完成前述方法的步骤。
可选地,所述处理器72执行所述程序时实现本发明实施例的各个方法中由终端实现的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器73,上述计算机程序可由终端的处理器72执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
需要说明的是,本发明实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多个中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种任务调度方法,其特征在于,应用于分布式系统中的节点,所述方法包括:
基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息;
接收所述服务节点基于所述第一请求返回的所述第一任务对应的第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息;
在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。
2.根据权利要求1所述的方法,其特征在于,所述通过调用至少一个服务节点提供的第一服务,基于所述配置信息执行所述第一任务,包括:
向第一服务节点发送关于第一服务的调用请求;
在所述第一服务节点在第一设定时长内未响应所述调用请求,或者第一服务调用失败情况下,通过调用第二服务节点提供的第一服务,基于所述配置信息执行所述第一任务。
3.根据权利要求1或2所述的方法,其特征在于,在接收到所述第一任务对应的第一信息之后,所述方法还包括:
在检测到设定故障的情况下,将未执行的第一任务对应的第一信息缓存至设定数据库;
在已消除所述设定故障的情况下,从所述设定数据库中拉取缓存的第一任务对应的第一信息;其中,
设定故障包括以下至少之一:
所述节点无法联网;
提供第一服务的服务节点宕机;
第一服务依赖的组件处于异常状态。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在服务调用失败的次数大于或等于第一设定阈值,或者第一数值大于或等于第二设定阈值的情况下,开启断路器模式,并禁用外部调用功能;其中,所述第一数值表征服务调用失败的次数与服务调用总次数之商;
缓存未执行的第一任务对应的第一信息和在开启断路器模式之后接收到的第一任务;
在开启断路器模式的时长大于或等于第二设定时长的情况下,重新启用所述外部调用功能,并在连续成功调用第一服务的情况下,关闭断路器模式。
5.根据权利要求4所述的方法,其特征在于,所述开启断路器模式,包括:
基于服务调用失败的次数更新第一定时器的计数值,按设定时间间隔重置所述第一定时器的计数值;
在设定时间间隔内所述第一定时器的计数值大于或等于所述第一设定阈值的情况下,开启断路器模式。
6.一种任务调度方法,其特征在于,包括:
分布式系统中的第一节点基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息;
接收到所述第一请求的服务节点基于所述第一请求确定出所述第一任务对应的第一信息,向所述第一节点返回所述第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息;
在所述第一节点的设备信息与所述第一信息中的设备信息相同的情况下,所述第一节点通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
服务节点在成功启动的情况下,禁用自我保护模式。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
服务节点通过设定类型的线程执行对应的设定操作;其中,每种设定操作对应一种线程;所述设定操作包括以下至少之一:
心跳检测,用于检测服务是否可用;
服务同步,用于同步第一集群中服务节点支持的服务;
状态同步,用于同步服务节点支持的服务的工作状态。
9.一种电子设备,其特征在于,包括:
发送单元,用于基于待调度的第一任务,向第一集群中的服务节点发送第一请求;其中,所述第一集群中任意两个服务节点均可以通信;所述第一请求用于请求获取所述第一任务对应的第一信息;
接收单元,用于接收所述服务节点基于所述第一请求返回的所述第一任务对应的第一信息;其中,所述第一信息包括执行所述第一任务的设备的设备信息、提供所述第一任务相关的第一服务的所有服务节点和任务配置信息;
调度单元,用于在所述节点的设备信息与所述第一信息中的设备信息相同的情况下,通过调用至少一个服务节点提供的第一服务,基于所述任务配置信息执行所述第一任务。
10.一种电子设备,其特征在于,包括:处理器和用于存储能够在所述处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求1至5任一项所述的任务调度方法的步骤。
11.一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的任务调度方法的步骤。
CN202111135762.9A 2021-09-27 2021-09-27 任务调度方法、电子设备及存储介质 Pending CN113867915A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111135762.9A CN113867915A (zh) 2021-09-27 2021-09-27 任务调度方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111135762.9A CN113867915A (zh) 2021-09-27 2021-09-27 任务调度方法、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113867915A true CN113867915A (zh) 2021-12-31

Family

ID=78991103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111135762.9A Pending CN113867915A (zh) 2021-09-27 2021-09-27 任务调度方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113867915A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114938392A (zh) * 2022-06-23 2022-08-23 成都质数斯达克科技有限公司 一种分布式订阅发布系统及方法
CN117235167A (zh) * 2023-11-14 2023-12-15 戎行技术有限公司 一种应用于etl系统的任务流动态配置方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114938392A (zh) * 2022-06-23 2022-08-23 成都质数斯达克科技有限公司 一种分布式订阅发布系统及方法
CN117235167A (zh) * 2023-11-14 2023-12-15 戎行技术有限公司 一种应用于etl系统的任务流动态配置方法及系统
CN117235167B (zh) * 2023-11-14 2024-01-30 戎行技术有限公司 一种应用于etl系统的任务流动态配置方法及系统

Similar Documents

Publication Publication Date Title
US6438707B1 (en) Fault tolerant computer system
CN110830283B (zh) 故障检测方法、装置、设备和系统
US7870425B2 (en) De-centralized nodal failover handling
CN111209110B (zh) 一种实现负载均衡的任务调度管理方法、系统和存储介质
CN113867915A (zh) 任务调度方法、电子设备及存储介质
CN113067850B (zh) 一种多云场景下的集群编排系统
US20080288812A1 (en) Cluster system and an error recovery method thereof
US9846618B2 (en) System and method for supporting flow control in a distributed data grid
CN113660350A (zh) 分布式锁协调方法、装置、设备及存储介质
CN111901422A (zh) 一种集群中节点的管理方法、系统及装置
CN112506709B (zh) 微服务治理方法及装置
CN114064414A (zh) 一种高可用的集群状态监控方法及系统
CN112104727B (zh) 一种精简高可用Zookeeper集群部署方法及系统
CN111865632A (zh) 分布式数据存储集群的切换方法及切换指令发送方法和装置
CN112416594A (zh) 一种微服务分配方法、电子设备和计算机存储介质
CN112564990B (zh) 一种用于音频管理服务器切换的管理方法
CN112468310B (zh) 流媒体集群节点管理方法、装置及存储介质
CN115640169A (zh) 保障主集群停止提供服务的方法、系统、设备和存储介质
CN112822283B (zh) 边缘节点的控制方法、装置、控制节点及存储介质
CN110839068B (zh) 业务请求处理方法、装置、电子设备及可读存储介质
CN109753292B (zh) 一种在多单实例数据库服务中部署多个应用的方法及装置
JP2006285453A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
CN113515458A (zh) 一种基于Envoy插件来降低测试环境资源消耗的方法及系统
TW201828087A (zh) 分布式儲存系統的服務節點切換方法及裝置
CN102255960A (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