CN108717379A - 电子装置、分布式任务调度方法及存储介质 - Google Patents
电子装置、分布式任务调度方法及存储介质 Download PDFInfo
- Publication number
- CN108717379A CN108717379A CN201810433381.0A CN201810433381A CN108717379A CN 108717379 A CN108717379 A CN 108717379A CN 201810433381 A CN201810433381 A CN 201810433381A CN 108717379 A CN108717379 A CN 108717379A
- Authority
- CN
- China
- Prior art keywords
- service node
- task
- address
- determined
- main
- 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.)
- Granted
Links
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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种电子装置、分布式任务调度方法及存储介质,所述方法包括:实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;若在所述预设的时间阈值内确定出有服务节点没有返回响应数据,则确定该服务节点是否为主服务节点;若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。能够解决分布式系统的单点故障,提高任务执行的可靠性。
Description
技术领域
本发明涉及计算机处理领域,尤其涉及一种电子装置、分布式任务调度方法及存储介质。
背景技术
分布式任务调度,是指将一个应用或者业务划分出的多个任务交由服务器集群中的多个服务器进行处理。分布式任务调度可解决单个服务器资源不足等问题,达到大规模数据计算的目的。
目前,分布式任务调度通常采用Zookeeper技术实现,Zookeeper的原理是在接收到任务执行指令后,通过预先选举的主服务节点(服务器集群中的主服务器)将接收到的任务并行下发至确定的从服务节点(服务器集群中的其他服务器),能够实现任务的并行执行,提高任务执行的速度。但是,一旦主服务节点或者确定的从服务节点出现故障,则可能导致接收到的待执行任务被搁置,无法及时执行。因此,目前的分布式任务执行系统存在单点故障风险,无法保证任务执行的可靠性。
发明内容
有鉴于此,本发明提出一种电子装置、分布式任务调度方法及存储介质,能够解决分布式任务执行过程中的单点故障风险,提高任务执行的可靠性。
首先,为实现上述目的,本发明提出一种电子装置,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的分布式任务调度程序,所述分布式任务调度程序被所述处理器执行时实现如下步骤:
A1、实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;
A2、在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;
A3、若在所述预设的时间阈值内确定出有服务节点没有返回响应数据,则确定该服务节点是否为主服务节点;
A4、若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;
或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。
优选地,在所述步骤A1中,所述实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息的步骤,包括:
获取预先确定的服务器集群中各个服务节点的IP地址;
根据获取的IP地址向各个服务节点发送请求信息。
优选地,在所述步骤A3中,所述确定该服务节点是否为主服务节点的步骤,包括:
基于该服务节点的IP地址遍历预先存储的主服务节点的配置信息,所述配置信息包括IP地址;
若在预先存储的主服务节点的任务配置信息中,查找到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点为主服务节点;
或者,若查找不到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点不是主服务节点。
优选地,所述任务信息包括任务配置信息、任务标识、任务执行时间。
优选地,所述配置信息还包括分片数以及对应的分片算法,所述分片数为对应的任务个数,所述分片算法包括轮询算法、或者顺序算法。
此外,为实现上述目的,本发明还提供一种分布式任务调度方法,该方法包括如下步骤:
S1、实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;
S2、在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;
S3、若在所述预设的时间阈值内确定出有服务节点没有返回响应数据,则确定该服务节点是否为主服务节点;
S4、若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;
或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。
优选地,在所述步骤S1中,所述实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息的步骤,包括:
获取预先确定的服务器集群中各个服务节点的IP地址;
根据获取的IP地址向各个服务节点发送请求信息。
优选地,在所述步骤S3中,所述确定该服务节点是否为主服务节点的步骤,包括:
基于该服务节点的IP地址遍历预先存储的主服务节点的配置信息,所述配置信息包括IP地址;
若在预先存储的主服务节点的任务配置信息中,查找到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点为主服务节点;
或者,若查找不到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点不是主服务节点。
优选地,所述任务信息包括任务配置信息、任务标识、任务执行时间。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有分布式任务调度程序,所述分布式任务调度程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的分布式任务调度方法的步骤。
相较于现有技术,本发明所提出的电子装置、分布式任务调度方法及存储介质,通过实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;若在所述预设的时间阈值内确定出有服务节点没有返回响应数据,则确定该服务节点是否为主服务节点;若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。解决了分布式任务执行过程中的单点故障风险,提高任务执行的可靠性。
附图说明
图1是本发明提出的电子装置一可选的硬件架构的示意图;
图2是本发明电子装置一实施例中分布式任务调度程序的程序模块示意图;
图3是本发明分布式任务调度方法较佳实施例的实施流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明提出的电子装置一可选的硬件架构示意图。本实施例中,电子装置10可包括,但不仅限于,可通过通信总线14相互通信连接的存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-14的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11至少包括一种类型的计算机可读存储介质,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器11可以是电子装置10的内部存储单元,例如电子装置10的硬盘或内存。在另一些实施例中,存储器11也可以是电子装置10的外包存储设备,例如电子装置10上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器11还可以既包括电子装置10的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于电子装置10的操作系统和各类应用软件,例如分布式任务调度程序等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。处理器12通常用于控制电子装置10的总体操作。本实施例中,处理器12用于运行存储器11中存储的程序代码或者处理数据,例如运行的分布式任务调度程序等。
网络接口13可包括无线网络接口或有线网络接口,网络接口13通常用于在电子装置10与其他电子设备之间建立通信连接。
通信总线14用于实现组件11-13之间的通信连接。
图1仅示出了具有组件11-14以及分布式任务调度程序的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,电子装置10还可以包括用户接口(图1中未示出),用户接口可以包括显示器、输入单元比如键盘,其中,用户接口还可以包括标准的有线接口、无线接口等。
可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED触摸器等。进一步地,显示器也可称为显示屏或显示单元,用于显示在电子装置10中处理信息以及用于显示可视化的用户界面。
在一实施例中,存储器11中存储的分布式任务调度程序被处理器12执行时,实现如下操作:
实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;
在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;
若在所述预设的时间阈值内有服务节点没有返回响应数据,则确定该服务节点为主服务节点,或者从服务节点;
若确定该服务节点为主服务节点,则向各个服务节点发送重新选举主服务节点的指令;
或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。
本发明一个实施例中,服务器集群中包括多个应用服务器,应用服务器是具体执行任务的服务器,由于是和客户端直接交互的,也称为“客户端应用服务器”。在本实施例中,应用服务器对应为服务节点,具体地,在预先确定的数据库中存储有每个服务节点的IP地址,根据预先存储的各个服务节点的IP地址,实时或者定时向每个服务节点(包括主服务节点及从服务节点)发送请求信息;具体地,请求信息可以是,例如,心跳请求包。
进一步地,若每个服务节点运行正常,则在接收到心跳请求包之后,在预设的时间阈值内(例如5秒内)响应接收到的心跳请求包,并返回响应数据;若有服务节点运行故障,则在预设的时间阈值内不会返回响应数据。具体地,通过在预设的时间阈值内以每秒一次的频率从预先确定的信息持久化容器中提取各个服务节点返回的响应数据,通常,响应数据包括IP地址。信息持久化容器用于存储任务配置信息以及任务最新的触发时间;
遍历提取的各个服务节点的响应数据,查找各个服务节点的IP地址;
若有服务节点的IP地址在所述响应数据中不存在,则确定没有接收到该服务节点的响应数据。
进一步地,预先确定的数据库中存储有每个服务节点对应的Job信息(任务信息),其中Job信息包括任务配置信息、任务标识、任务执行时间等。任务标识用来唯一标识一个任务,可以是任务的编号,并且一个服务节点通常需要执行多个不同的任务,分别记为Job1,Job2,Job3等。一般在分布式任务调度过程中,将一个任务拆分为多个子任务,然后由预先确定的主服务节点将多个子任务进行分配,实现任务的并行执行,每个从服务节点只需要执行被分配的子任务即可。
需要说明的是,在本实施例中,主服务节点为根据预设的选举机制选举出的leader服务器,该leader服务器根据任务配置信息中其他各个服务节点分配的任务数及任务信息,将接收到的任务进行拆分,并根据各个服务节点的IP地址将拆分后的子任务进行分配。在本实施例中,在预先确定的数据库中存储有leader服务器(主服务节点)的IP地址与对应leader服务器标识信息之间的映射关系表,且随着leader服务器的变化,该映射关系表中的信息可动态进行修改,在选举出新leader服务器之后,会将最新的leader服务器的Ip地址存储至该映射关系表中,并删除已经不是Leader服务器的Ip地址。
通常,在分布式任务调度过程中,可以有多个服务器子群,比如,如果服务节点1和服务节点2以及服务节点3都具有相同的Job1,那么以该Job1为群组生成服务器子群组,在该服务器子群组中就包括服务节点1、2和3。然后,在该服务器子群组中可以选举一个leader服务器,将该服务器子群对应的任务配置信息和群组内的多个服务节点的IP地址都下发到该leader服务器,由该leader服务器进行任务的拆分及分配。
具体地,任务配置信息包括任务的分片数以及对应的分片算法。Leader服务器(主服务节点)根据任务配置信息中的分片数将任务进行拆分,然后根据Job1服务器子群内的各个服务节点的IP地址将拆分后的子任务进行分配。比如,任务配置信息中任务的分片数为6个,那么leader服务器就按照对应的分片算法将任务拆分为6个子任务,然后分配给对应的服务节点,包括主服务节点(leader服务器本身)。其中每个服务节点的IP地址用来唯一标识一个服务器。具体地,比如,6个子任务分别为0,1,2,3,4,5;当前服务器子群中包括leader服务器(主服务节点)在内有3个服务节点,分别为Server1,Server2,Server3,其中,假设Server1为leader服务器。子任务的分配可以采用轮询的方法、也可以采用顺序的分配方法,还可以是其他分配方法,这里并不对分配的方法作限定。通常,leader服务器是尽量做到平均分配,将6个子任务分配给3个服务节点,即每个服务节点分配2个子任务,比如,以顺序的分配方法为例,将0和1分配给Server1;将2和3分配给Server2;将4和5分配给Server3。
在本实施例中,在若在预设的时间阈值内确定没有接收到某服务节点的响应数据,则首先确定该服务节点是否为主服务节点。具体地,基于该服务节点的IP地址遍历预先存储的主服务节点的配置信息,其中,配置信息包括IP地址;若在预先存储的主服务节点的任务配置信息中,查找到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点为主服务节点;或者,若查找不到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点不是主服务节点。进一步地,若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。
由上述事实施例可知,本发明提出的电子装置,通过实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;若在所述预设的时间阈值内确定出有服务节点没有返回响应数据,则确定该服务节点是否为主服务节点;若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;或者若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。解决了分布式任务执行过程中的单点故障风险,提高任务执行的可靠性。
进一步需要说明的是,本发明的分布式任务调度程序依据其各部分所实现的功能不同,可用具有相同功能的程序模块进行描述。请参阅图2所示,是本发明电子装置一实施例中分布式任务调度程序的程序模块示意图。本实施例中,分布式任务调度程序依据其各部分所实现的功能的不同,可以被分割成第一发送模块201、第一判断模块202、第二判断模块203、以及第二发送模块204。由上面的描述可知,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述分布式任务调度程序在电子装置10中的执行过程。所述模块201-204所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
第一发送模块201用于实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;
第一判断模块202用于在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;
第二判断模块203用于判断在所述预设的时间阈值内有服务节点没有返回响应数据,若在所述预设的时间阈值内有服务节点没有返回响应数据,则确定该服务节点为主服务节点,或者从服务节点;
第二发送模块204用于在若确定该服务节点为主服务节点,则向各个服务节点发送重新选举主服务节点的指令;
或者,在若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点执行的任务重新分配至其他服务节点的指令。
此外,本发明还提出一种分布式任务调度方法,请参阅图3所示,所述分布式任务调度方法包括如下步骤:
S100、实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;
S200、在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;
S300、若在所述预设的时间阈值内有服务节点没有返回响应数据,则确定该服务节点为主服务节点,或者从服务节点;
S400、若确定该服务节点为主服务节点,则向各个服务节点发送重新选举主服务节点的指令;
或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。
本发明一个实施例中,服务器集群中包括多个应用服务器,应用服务器是具体执行任务的服务器,由于是和客户端直接交互的,也称为“客户端应用服务器”。在本实施例中,应用服务器对应为服务节点,具体地,在预先确定的数据库中存储有每个服务节点的IP地址,根据预先存储的各个服务节点的IP地址,实时或者定时向每个服务节点(包括主服务节点及从服务节点)发送请求信息;具体地,请求信息可以是,例如,心跳请求包。
进一步地,若每个服务节点运行正常,则在接收到心跳请求包之后,在预设的时间阈值内(例如5秒内)响应接收到的心跳请求包,并返回响应数据;若有服务节点运行故障,则在预设的时间阈值内不会返回响应数据。具体地,通过在预设的时间阈值内以每秒一次的频率从预先确定的信息持久化容器中提取各个服务节点返回的响应数据,通常,响应数据包括IP地址。信息持久化容器用于存储任务配置信息以及任务最新的触发时间;
遍历提取的各个服务节点的响应数据,查找各个服务节点的IP地址;
若有服务节点的IP地址在所述响应数据中不存在,则确定没有接收到该服务节点的响应数据。
进一步地,预先确定的数据库中存储有每个服务节点对应的Job信息(任务信息),其中Job信息包括任务配置信息、任务标识、任务执行时间等。任务标识用来唯一标识一个任务,可以是任务的编号,并且一个服务节点通常需要执行多个不同的任务,分别记为Job1,Job2,Job3等。一般在分布式任务调度过程中,将一个任务拆分为多个子任务,然后由预先确定的主服务节点将多个子任务进行分配,实现任务的并行执行,每个从服务节点只需要执行被分配的子任务即可。
需要说明的是,在本实施例中,主服务节点为根据预设的选举机制选举出的leader服务器,该leader服务器根据任务配置信息中其他各个服务节点分配的任务数及任务信息,将接收到的任务进行拆分,并根据各个服务节点的IP地址将拆分后的子任务进行分配。在本实施例中,在预先确定的数据库中存储有leader服务器(主服务节点)的IP地址与对应leader服务器标识信息之间的映射关系表,且随着leader服务器的变化,该映射关系表中的信息可动态进行修改,在选举出新leader服务器之后,会将最新的leader服务器的Ip地址存储至该映射关系表中,并删除已经不是Leader服务器的Ip地址。
通常,在分布式任务调度过程中,可以有多个服务器子群,比如,如果服务节点1和服务节点2以及服务节点3都具有相同的Job1,那么以该Job1为群组生成服务器子群组,在该服务器子群组中就包括服务节点1、2和3。然后,在该服务器子群组中可以选举一个leader服务器,将该服务器子群对应的任务配置信息和群组内的多个服务节点的IP地址都下发到该leader服务器,由该leader服务器进行任务的拆分及分配。
具体地,任务配置信息包括任务的分片数以及对应的分片算法。Leader服务器(主服务节点)根据任务配置信息中的分片数将任务进行拆分,然后根据Job1服务器子群内的各个服务节点的IP地址将拆分后的子任务进行分配。比如,任务配置信息中任务的分片数为6个,那么leader服务器就按照对应的分片算法将任务拆分为6个子任务,然后分配给对应的服务节点,包括主服务节点(leader服务器本身)。其中每个服务节点的IP地址用来唯一标识一个服务器。具体地,比如,6个子任务分别为0,1,2,3,4,5;当前服务器子群中包括leader服务器(主服务节点)在内有3个服务节点,分别为Server1,Server2,Server3,其中,假设Server1为leader服务器。子任务的分配可以采用轮询的方法、也可以采用顺序的分配方法,还可以是其他分配方法,这里并不对分配的方法作限定。通常,leader服务器是尽量做到平均分配,将6个子任务分配给3个服务节点,即每个服务节点分配2个子任务,比如,以顺序的分配方法为例,将0和1分配给Server1;将2和3分配给Server2;将4和5分配给Server3。
在本实施例中,在若在预设的时间阈值内确定没有接收到某服务节点的响应数据,则首先确定该服务节点是否为主服务节点。具体地,基于该服务节点的IP地址遍历预先存储的主服务节点的配置信息,其中,配置信息包括IP地址;若在预先存储的主服务节点的任务配置信息中,查找到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点为主服务节点;或者,若查找不到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点不是主服务节点。进一步地,若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。
由上述事实施例可知,本发明提出的分布式任务调度方法,通过实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;若在所述预设的时间阈值内确定出有服务节点没有返回响应数据,则确定该服务节点是否为主服务节点;若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;或者若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。解决了分布式任务执行过程中的单点故障风险,提高任务执行的可靠性。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有分布式任务调度程序,所述分布式任务调度程序被处理器执行时实现如下操作:
实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;
在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;
若在所述预设的时间阈值内有服务节点没有返回响应数据,则确定该服务节点为主服务节点,或者从服务节点;
若确定该服务节点为主服务节点,则向各个服务节点发送重新选举主服务节点的指令;
或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。
本发明计算机可读存储介质具体实施方式与上述电子装置以及分布式任务调度方法各实施例基本相同,在此不作累述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种电子装置,其特征在于,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的分布式任务调度程序,所述分布式任务调度程序被所述处理器执行时实现如下步骤:
A1、实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;
A2、在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;
A3、若在所述预设的时间阈值内确定出有服务节点没有返回响应数据,则确定该服务节点是否为主服务节点;
A4、若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;
或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。
2.如权利要求1所述的电子装置,其特征在于,在所述步骤A1中,所述实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息的步骤,包括:
获取预先确定的服务器集群中各个服务节点的IP地址;
根据获取的IP地址向各个服务节点发送请求信息。
3.如权利要求1所述的电子装置,其特征在于,在所述步骤A3中,所述确定该服务节点是否为主服务节点的步骤,包括:
基于该服务节点的IP地址遍历预先存储的主服务节点的配置信息,所述配置信息包括IP地址;
若在预先存储的主服务节点的任务配置信息中,查找到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点为主服务节点;
或者,若查找不到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点不是主服务节点。
4.如权利要求1所述的电子装置,其特征在于,所述任务信息包括任务配置信息、任务标识、任务执行时间。
5.如权利要求1-4任一项所述的电子装置,其特征在于,所述配置信息还包括分片数以及对应的分片算法,所述分片数为对应的任务个数,所述分片算法包括轮询算法、或者顺序算法。
6.一种分布式任务调度方法,其特征在于,所述方法包括如下步骤:
S1、实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息;
S2、在预设的时间阈值内确定是否接收到各个服务节点返回的响应数据;
S3、若在所述预设的时间阈值内确定出有服务节点没有返回响应数据,则确定该服务节点是否为主服务节点;
S4、若确定该服务节点是主服务节点,则向各个服务节点发送重新选举主服务节点的指令;
或者,若确定该服务节点为从服务节点,则向所述主服务节点发送将该从服务节点待执行的任务重新分配至其他服务节点的指令。
7.如权利要求6所述的分布式任务调度方法,其特征在于,在所述步骤S1中,所述实时或者定时向预先确定的服务器集群中的各个服务节点发送请求信息的步骤,包括:
获取预先确定的服务器集群中各个服务节点的IP地址;
根据获取的IP地址向各个服务节点发送请求信息。
8.如权利要求6所述的分布式任务调度方法,其特征在于,在所述步骤S3中,所述确定该服务节点是否为主服务节点的步骤,包括:
基于该服务节点的IP地址遍历预先存储的主服务节点的配置信息,所述配置信息包括IP地址;
若在预先存储的主服务节点的任务配置信息中,查找到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点为主服务节点;
或者,若查找不到与该服务节点的IP地址相匹配的IP地址,则确定该服务节点不是主服务节点。
9.如权利要求6所述的分布式任务调度方法,其特征在于,所述任务信息包括任务配置信息、任务标识、任务执行时间。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有分布式任务调度程序,所述分布式任务调度程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求6-9中任一项所述的分布式任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810433381.0A CN108717379B (zh) | 2018-05-08 | 2018-05-08 | 电子装置、分布式任务调度方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810433381.0A CN108717379B (zh) | 2018-05-08 | 2018-05-08 | 电子装置、分布式任务调度方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108717379A true CN108717379A (zh) | 2018-10-30 |
CN108717379B CN108717379B (zh) | 2023-07-25 |
Family
ID=63899544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810433381.0A Active CN108717379B (zh) | 2018-05-08 | 2018-05-08 | 电子装置、分布式任务调度方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108717379B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636097A (zh) * | 2018-11-01 | 2019-04-16 | 中车工业研究院有限公司 | 一种产品设计任务的分配方法及装置 |
CN111163145A (zh) * | 2019-12-23 | 2020-05-15 | 北京数衍科技有限公司 | 分布式数据定时均发方法、装置及电子设备 |
CN111580990A (zh) * | 2020-05-08 | 2020-08-25 | 中国建设银行股份有限公司 | 一种任务调度方法、调度节点、集中配置服务器及系统 |
CN112068939A (zh) * | 2020-08-24 | 2020-12-11 | 浙江知水信息技术有限公司 | 一种多预警服务调度的方法及系统 |
CN112133032A (zh) * | 2020-08-31 | 2020-12-25 | 青岛海尔空调器有限总公司 | 共享空调的消息同步方法及消息同步设备 |
CN112714143A (zh) * | 2019-10-25 | 2021-04-27 | 北京金山云网络技术有限公司 | 分布式存储系统的服务协调方法、装置及电子设备 |
CN112799799A (zh) * | 2020-12-29 | 2021-05-14 | 杭州涂鸦信息技术有限公司 | 数据消费方法及装置 |
CN112865993A (zh) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | 分布式主从系统中从节点的切换方法和装置 |
CN112865995A (zh) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | 分布式主从系统 |
CN114979164A (zh) * | 2022-04-14 | 2022-08-30 | 网易(杭州)网络有限公司 | 虚拟房间的分配方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252603A (zh) * | 2008-04-11 | 2008-08-27 | 清华大学 | 基于存储区域网络san的集群分布式锁管理方法 |
CN105933391A (zh) * | 2016-04-11 | 2016-09-07 | 青岛海信传媒网络技术有限公司 | 一种节点扩容方法、装置及系统 |
CN106993019A (zh) * | 2016-11-29 | 2017-07-28 | 上海壹账通金融科技有限公司 | 分布式任务调度方法和系统 |
WO2018036148A1 (zh) * | 2016-08-23 | 2018-03-01 | 东方网力科技股份有限公司 | 一种服务器集群系统 |
-
2018
- 2018-05-08 CN CN201810433381.0A patent/CN108717379B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252603A (zh) * | 2008-04-11 | 2008-08-27 | 清华大学 | 基于存储区域网络san的集群分布式锁管理方法 |
CN105933391A (zh) * | 2016-04-11 | 2016-09-07 | 青岛海信传媒网络技术有限公司 | 一种节点扩容方法、装置及系统 |
WO2018036148A1 (zh) * | 2016-08-23 | 2018-03-01 | 东方网力科技股份有限公司 | 一种服务器集群系统 |
CN106993019A (zh) * | 2016-11-29 | 2017-07-28 | 上海壹账通金融科技有限公司 | 分布式任务调度方法和系统 |
Non-Patent Citations (1)
Title |
---|
王文丰;赵跃龙;: "一种基于系统负载的轮流服务模型" * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636097A (zh) * | 2018-11-01 | 2019-04-16 | 中车工业研究院有限公司 | 一种产品设计任务的分配方法及装置 |
CN109636097B (zh) * | 2018-11-01 | 2021-09-21 | 中车工业研究院有限公司 | 一种产品设计任务的分配方法及装置 |
CN112714143A (zh) * | 2019-10-25 | 2021-04-27 | 北京金山云网络技术有限公司 | 分布式存储系统的服务协调方法、装置及电子设备 |
CN112865995B (zh) * | 2019-11-27 | 2022-10-14 | 上海哔哩哔哩科技有限公司 | 分布式主从系统 |
CN112865993B (zh) * | 2019-11-27 | 2022-10-14 | 上海哔哩哔哩科技有限公司 | 分布式主从系统中从节点的切换方法和装置 |
CN112865993A (zh) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | 分布式主从系统中从节点的切换方法和装置 |
CN112865995A (zh) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | 分布式主从系统 |
CN111163145B (zh) * | 2019-12-23 | 2022-04-05 | 北京数衍科技有限公司 | 分布式数据定时均发方法、装置及电子设备 |
CN111163145A (zh) * | 2019-12-23 | 2020-05-15 | 北京数衍科技有限公司 | 分布式数据定时均发方法、装置及电子设备 |
CN111580990A (zh) * | 2020-05-08 | 2020-08-25 | 中国建设银行股份有限公司 | 一种任务调度方法、调度节点、集中配置服务器及系统 |
CN112068939A (zh) * | 2020-08-24 | 2020-12-11 | 浙江知水信息技术有限公司 | 一种多预警服务调度的方法及系统 |
CN112133032A (zh) * | 2020-08-31 | 2020-12-25 | 青岛海尔空调器有限总公司 | 共享空调的消息同步方法及消息同步设备 |
CN112799799A (zh) * | 2020-12-29 | 2021-05-14 | 杭州涂鸦信息技术有限公司 | 数据消费方法及装置 |
CN114979164A (zh) * | 2022-04-14 | 2022-08-30 | 网易(杭州)网络有限公司 | 虚拟房间的分配方法、装置和电子设备 |
CN114979164B (zh) * | 2022-04-14 | 2023-11-17 | 网易(杭州)网络有限公司 | 虚拟房间的分配方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108717379B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717379A (zh) | 电子装置、分布式任务调度方法及存储介质 | |
KR100509794B1 (ko) | 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법 | |
US10505832B2 (en) | Resource coordinate system for data centers | |
US10686728B2 (en) | Systems and methods for allocating computing resources in distributed computing | |
CN111858054B (zh) | 一种异构环境下基于边缘计算的资源调度系统及方法 | |
US20100153532A1 (en) | Network system, network management server, and configuration scheduling method | |
US9600318B2 (en) | Method and system for closing application programs of an application system | |
JPWO2007072544A1 (ja) | 情報処理装置、計算機、リソース割り当て方法及びリソース割り当てプログラム | |
CN107451147A (zh) | 一种kafka集群动态切换的方法和装置 | |
CN110333939B (zh) | 任务混合调度方法、装置、调度服务器及资源服务器 | |
CN109165158B (zh) | 测试用例的调度方法、装置、计算设备及计算机存储介质 | |
CN111880936A (zh) | 资源调度方法、装置、容器集群、计算机设备和存储介质 | |
CN111464659A (zh) | 节点的调度、节点的预选处理方法、装置、设备及介质 | |
CN108616424B (zh) | 一种资源调度方法、计算机设备和系统 | |
CN108446171A (zh) | 电子装置、分布式系统执行任务分配方法及存储介质 | |
CN109062739B (zh) | 调度服务器、负载均衡方法、系统和可读存储介质 | |
CN112865993B (zh) | 分布式主从系统中从节点的切换方法和装置 | |
CN111709723B (zh) | Rpa业务流程智能处理方法、装置、计算机设备和存储介质 | |
CN112003931B (zh) | 一种编排控制器部署方法、系统及相关组件 | |
CN112463376A (zh) | 一种资源分配方法及装置 | |
CN109005071B (zh) | 一种决策部署方法和调度设备 | |
CN112866314B (zh) | 分布式主从系统中从节点的切换方法、主节点设备和存储介质 | |
CN114979286A (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN115509676A (zh) | 一种容器集的部署方法及装置 | |
CN113760441A (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 |