一种云服务的调度方法、装置、云服务执行器及存储介质与流程

文档序号:16067480发布日期:2018-11-24 12:48阅读:173来源:国知局

本发明涉及云计算领域,尤其涉及一种云服务的调度方法、装置、云服务执行器及存储介质。

背景技术

随着互联网的发展,为了在用户业务越来越复杂度及公司人员的增加的情况下,保证部门间的协作效率,在现有技术中通常通过云服务的概念抽离部门间的耦合,以提高部门间的配合度。

因此,目前大多公司使用开源项目任务调度器,其通过非数据库db使用方式完成云服务任务调度,而且,该非数据库db使用方式在应用于开源框架时,其云服务任务调度会更加简便。具体的,该开源项目任务调度器可以通过关系型数据库管理系统mysql完成云服务任务的统一调度。

但是,不同互联网公司的云服务的交互形式千变万化,开源项目任务调度器仅能完成本地公司的云服务任务调度,并不能很好的支持不同公司的云服务任务调度。



技术实现要素:

本发明的主要目的在于提出一种云服务的调度方法、装置、云服务执行器及存储介质,其克服了现有技术中不能对不同的云服务任务进行调度的问题。

根据本发明的第一个方面,提供了一种云服务的调度方法,应用于云服务执行器侧,所述方法包括:基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方。

可选的,所述方法还包括:基于调度组件,对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录;依据所述执行记录,确定在分配过程中是否出现有错误;若是,则通过调度容错组件进行容错补发调度。

可选的,所述对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录,包括:通过云服务执行器的父级调度工厂对所述云服务任务被分配的开始节点、及完成节点进行记录,并进行汇总,得到所述执行记录。

可选的,所述依据唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方之后,所述方法还包括:基于所述调度组件,通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。

可选的,所述唯一性注册信息包括:所述云服务任务的名称及所述调度组件的名称。

可选的,在所述通过固定接口获取对应的云服务任务的唯一性注册信息之后,所述方法还包括:将所述唯一性注册信息以预设格式存储于所述任务注册维护组件。

根据本发明的第二个方面,提供了一种云服务的调度装置,包含于云服务执行器,所述装置包括:

获取模块,用于基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;分配模块,用于基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方。

可选的,所述装置还包括:记录模块,用于基于调度组件,对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录;确定模块,用于依据所述执行记录,确定在分配过程中是否出现有错误;若是,则通过调度容错组件进行容错补发调度。

可选的,所述记录模块具体用于:通过云服务执行器的父级调度工厂对所述云服务任务被分配的开始节点、及完成节点进行记录,并进行汇总,得到所述执行记录。

可选的,所述分配模块具体用于:基于所述调度组件,通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。

可选的,所述唯一性注册信息包括:所述云服务任务的名称及所述调度组件的名称。

可选的,所述装置还包括:存储模块,用于在所述通过固定接口获取对应的云服务任务的唯一性注册信息之后,将所述唯一性注册信息存储于所述任务注册维护组件。

根据本发明的第三个方面,提供了一种云服务执行器,包括处理器和存储器;

所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现上述的一种云服务的调度方法。

根据本发明的第四个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的一种云服务的调度方法。

本发明有益效果如下:首先基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,从而可以完成多个云服务任务的注册,然后,基于调度组件及唯一性注册信息,云服务执行器将已完成注册的云服务任务分配调度至对应的任务执行方,使得该云服务执行器支持不同云服务任务的分配调度。

此外,云服务任务的注册是基于任务注册维护组件完成的,而云服务任务的分配调度是基于调度组件完成的,从而实现了注册云服务任务及分配调度云服务任务的隔离,由此,在进行代码维护时,可以分别各个组件进行维护,从而简化了代码维护。

附图说明

图1为本发明第一实施例一种云服务的调度方法的流程框图;

图2为本发明第二实施例一种云服务的调度方法的流程框图;

图3为本发明第三实施例一种云服务的调度方法的流程框图;

图4为本发明第四实施例一种云服务的调度方法的流程框图;

图5为本发明第五实施例一种云服务的调度方法中的云服务执行器的各个组件的数据流程图;

图6为本发明第六实施例一种云服务的调度装置的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

为了便于理解本发明实施例,下面通过几个具体实施例对本发明的实施过程进行详细的阐述。

本发明第一实施例提供了一种云服务调度方法,其应用于云服务执行器侧,所述方法包括:基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方。

首先基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,从而可以完成多个云服务任务的注册,然后,基于调度组件及唯一性注册信息,云服务执行器将已完成注册的云服务任务分配调度至对应的任务执行方,使得该云服务执行器支持不同云服务任务的分配调度。

此外,云服务任务的注册是基于任务注册维护组件完成的,而云服务任务的分配调度是基于调度组件完成的,从而实现了注册云服务任务及分配调度云服务任务的隔离,由此,在进行代码维护时,可以分别各个组件进行维护,从而简化了代码维护。

图1为本发明第一实施例一种云服务的调度方法的流程框图。根据图1所示,本发明第一实施例提供了一种云服务的调度方法,其应用于云服务执行器侧,所述方法包括:

s11:基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;

在本实施例中,任务注册维护组件包含于云服务执行器。所以,在本实施例中,基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,由此,实现了将该云服务任务注册在该云服务执行器。即:用户通过任务注册中心,使得任务注册维护组件接收到了云服务任务的唯一性注册信息,从而实现任务注册操作。

在本实施例中,为了实现对云服务任务进行无差异化的统一调度,任务注册维护组件必须通过调用固定接口以接收对应的云服务任务的注册信息。

所以,在本实施例中,基于该任务注册维护组件,云服务执行器可以通过对应的固定接口以接收对应的云服务任务的唯一性注册信息,即:基于该任务注册维护组件,云服务执行器可以接收多个云服务任务的唯一性注册信息,从而完成多个云服务任务的注册。

可选的,每个云服务任务的注册信息均以预设格式存储于该任务注册维护组件中,即:每个云服务任务的注册信息均以指定的标准格式存储于该任务注册维护组件中。

可选的,所述唯一性注册信息包括:所述云服务任务的名称及所述调度组件的名称。

s12:基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方。

在完成云服务任务的注册后,基于调度组件,云服务执行器依据唯一性注册信息将该唯一性注册信息所属的云服务任务分配至对应的任务执行方。

首先基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,从而可以完成多个云服务任务的注册,然后,基于调度组件及唯一性注册信息,云服务执行器将已完成注册的云服务任务分配调度至对应的任务执行方,使得该云服务执行器支持不同云服务任务的分配调度。

此外,云服务任务的注册是基于任务注册维护组件完成的,而云服务任务的分配调度是基于调度组件完成的,从而实现了注册云服务任务及分配调度云服务任务的隔离,由此,在进行代码维护时,可以分别各个组件进行维护,从而简化了代码维护。

图2为本发明第二实施例一种云服务的调度方法的流程框图。根据图2所示,本发明第二实施例提供了一种云服务的调度方法,其应用于云服务执行器侧,所述方法包括:

s21:基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;

在本实施例中,任务注册维护组件包含于云服务执行器。所以,在本实施例中,基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,由此,实现了将该云服务任务注册在该云服务执行器。即:用户通过任务注册中心,使得任务注册维护组件接收到了云服务任务的唯一性注册信息,从而实现任务注册操作。

在本实施例中,为了实现对云服务任务进行无差异化的统一调度,任务注册维护组件必须通过调用固定接口以接收对应的云服务任务的注册信息。

所以,在本实施例中,基于该任务注册维护组件,云服务执行器可以通过对应的固定接口以接收对应的云服务任务的唯一性注册信息,即:基于该任务注册维护组件,云服务执行器可以接收多个云服务任务的唯一性注册信息,从而完成多个云服务任务的注册。

可选的,每个云服务任务的注册信息均以预设格式存储于该任务注册维护组件中,即:每个云服务任务的注册信息均以指定的标准格式存储于该任务注册维护组件中。

可选的,所述唯一性注册信息包括:所述云服务任务的名称及所述调度组件的名称。

s22:基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方。

在完成云服务任务的注册后,基于调度组件,云服务执行器依据唯一性注册信息将该唯一性注册信息所属的云服务任务分配至对应的任务执行方。

s23:基于调度组件,对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录;

在本实施例中,云服务执行器还需要对将云服务任务分配至对应的任务执行方的过程进行监控,并对该整个分配过程进行记录,以此得到执行记录。

可选的,通过云服务执行器的父级调度工厂对所述云服务任务被分配的开始节点、及完成节点进行记录,并进行汇总,得到所述执行记录。

可选的,该s23的一种实现方式为:

基于调度监控组件,对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录,其中,所述调度监控组件包含于调度组件。

s24:依据所述执行记录,确定在分配过程中是否出现有错误;若是,则执行步骤s25,否则,执行步骤s26;

依据得到的执行记录,云服务执行器可以确定在分配过程中是否出现了错误。该错误包括但不限于异常调度,针对该异常调度,其包括但不限于以下一种或多种:由于在分配过程中发生异常而导致分配中断、系统宕机、及因系统重启导致分配动作未被执行。

s25:通过调度容错组件进行容错补发调度;

在云服务执行器确定在分配过程中是否出现了错误的情况下,云服务执行器则进行容错补发调度。

具体的,若错误是由于在分配过程中发生异常而导致分配中断,则容错补发调度包括:执行异常中断补偿操作。若错误是由于系统宕机和/或因系统重启导致分配动作未被执行,则执行调度丢失补偿操作。

可选的,需要根据云服务执行器的配置确定该容错补发调度是否可行,在确定可行的情况下,再执行该容错补发调度,在确定不可行的情况下,停止该流程。

可选的,上述的容错补发调度可以是单次手工补偿,即:可根据业务需求,在后台人工单次触发执行。

可选的,在本实施例中还会依据执行记录进行数据分析,以确定出出现错误的原因。

s26:不作处理。

在云服务执行器确定出分配过程一切正常的情况下,则不作处理,从而,使得云服务任务被分配至对应的任务执行方。

由此可知,通过上述步骤s24-s26可知,通过判断分配过程中是否出现有错误,从而实现了对是否进行容错补发调度进行判断。

就此,首先基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,从而可以完成多个云服务任务的注册,然后,基于调度组件及唯一性注册信息,云服务执行器将已完成注册的云服务任务分配调度至对应的任务执行方,使得该云服务执行器支持不同云服务任务的分配调度。

此外,云服务任务的注册是基于任务注册维护组件完成的,而云服务任务的分配调度是基于调度组件完成的,从而实现了注册云服务任务及分配调度云服务任务的隔离,由此,在进行代码维护时,可以分别各个组件进行维护,从而简化了代码维护。

此外,通过调度组件将云服务任务进行对应分配调度,并且通过调度组件对云服务任务的分配过程进行记录监控,从而提高了云服务任务的分配调度的容错程度,而且,将原本不可见形式的分配过程变成可见性,就此,在分配过程出现错误时,可动态对分配过程进行维护,而且,云服务任务的分配调度不需要用传统形式重启服务加载配置即可完成。

此外,通过调度组件,在云服务任务的分配过程出现错误时,可以进行补发调度,提高了分配调度的健壮性。

图3为本发明第三实施例一种云服务的调度方法的流程框图。根据图3所示,本发明第三实施例提供了一种云服务的调度方法,其应用于云服务执行器侧,所述方法包括:

s31:基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;

在本实施例中,任务注册维护组件包含于云服务执行器。所以,在本实施例中,基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,由此,实现了将该云服务任务注册在该云服务执行器。即:用户通过任务注册中心,使得任务注册维护组件接收到了云服务任务的唯一性注册信息,从而实现任务注册操作。

在本实施例中,为了实现对云服务任务进行无差异化的统一调度,任务注册维护组件必须通过调用固定接口以接收对应的云服务任务的注册信息。

所以,在本实施例中,基于该任务注册维护组件,云服务执行器可以通过对应的固定接口以接收对应的云服务任务的唯一性注册信息,即:基于该任务注册维护组件,云服务执行器可以接收多个云服务任务的唯一性注册信息,从而完成多个云服务任务的注册。

可选的,每个云服务任务的注册信息均以预设格式存储于该任务注册维护组件中,即:每个云服务任务的注册信息均以指定的标准格式存储于该任务注册维护组件中。

可选的,所述唯一性注册信息包括:所述云服务任务的名称及所述调度组件的名称。

s32:基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方;

在完成云服务任务的注册后,基于调度组件,云服务执行器依据唯一性注册信息将该唯一性注册信息所属的云服务任务分配至对应的任务执行方。

s33:基于调度组件,对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录;

在本实施例中,云服务执行器还需要对将云服务任务分配至对应的任务执行方的过程进行监控,并对该整个分配过程进行记录,以此得到执行记录。

可选的,通过云服务执行器的父级调度工厂对所述云服务任务被分配的开始节点、及完成节点进行记录,并进行汇总,得到所述执行记录。

s34:依据所述执行记录,确定在分配过程中是否出现有错误;若是,则执行步骤s35,否则,执行步骤s36;

依据得到的执行记录,云服务执行器可以确定在分配过程中是否出现了错误。该错误包括但不限于异常调度,针对该异常调度,其包括但不限于以下一种或多种:由于在分配过程中发生异常而导致分配中断、系统宕机、及因系统重启导致分配动作未被执行。

s35:通过调度容错组件进行容错补发调度;

在云服务执行器确定在分配过程中是否出现了错误的情况下,云服务执行器则进行容错补发调度。

具体的,若错误是由于在分配过程中发生异常而导致分配中断,则容错补发调度包括:执行异常中断补偿操作。若错误是由于系统宕机和/或因系统重启导致分配动作未被执行,则执行调度丢失补偿操作。

可选的,需要根据云服务执行器的配置确定该容错补发调度是否可行,在确定可行的情况下,再执行该容错补发调度,在确定不可行的情况下,停止该流程。

可选的,上述的容错补发调度可以是单次手工补偿,即:可根据业务需求,在后台人工单次触发执行。

可选的,在本实施例中还会依据执行记录进行数据分析,以确定出出现错误的原因。

s36:不作处理。

在云服务执行器确定出分配过程一切正常的情况下,则不作处理,从而,使得云服务任务被成功分配至对应的任务执行方。

由此可知,通过上述步骤s34-s36可知,通过判断分配过程中是否出现有错误,从而实现了对是否进行容错补发调度进行判断。

s37:基于所述调度组件,通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。

在将云服务任务成功分配至对应的任务执行方之后,为保证云服务任务的调度的唯一性,在本实施例中,基于调度组件,云服务执行器通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。即:通过单库db事务锁实现了一个任务执行方只执行一次经分配所得的云服务任务,其中,该单库db事务锁即为单数据库事务锁。

可选的,该s37的一种实现方式为:基于调度监控组件,通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务,其中,所述调度监控组件包含于调度组件。

可选的,该调度组件包含于该调度组件。即:基于所述调度组件,云服务执行器通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。

就此,首先基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,从而可以完成多个云服务任务的注册,然后,基于调度组件及唯一性注册信息,云服务执行器将已完成注册的云服务任务分配调度至对应的任务执行方,使得该云服务执行器支持不同云服务任务的分配调度。

此外,云服务任务的注册是基于任务注册维护组件完成的,而云服务任务的分配调度是基于调度组件完成的,从而实现了注册云服务任务及分配调度云服务任务的隔离,由此,在进行代码维护时,可以分别各个组件进行维护,从而简化了代码维护。

此外,通过调度组件将云服务任务进行对应分配调度,并且通过调度组件对云服务任务的分配过程进行记录监控,从而提高了云服务任务的分配调度的容错程度,而且,将原本不可见形式的分配过程变成可见性,就此,在分配过程出现错误时,可动态对分配过程进行维护,而且,云服务任务的分配调度不需要用传统形式重启服务加载配置即可完成。

此外,通过调度组件,在云服务任务的分配过程出现错误时,可以进行补发调度,提高了分配调度的健壮性。

图4为本发明第四实施例一种云服务的调度方法的流程框图。根据图4所示,本发明第四实施例提供了一种云服务的调度方法,其应用于云服务执行器侧,所述方法包括:

s41:基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;

在本实施例中,任务注册维护组件包含于云服务执行器。所以,在本实施例中,基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,由此,实现了将该云服务任务注册在该云服务执行器。即:用户通过任务注册中心,使得任务注册维护组件接收到了云服务任务的唯一性注册信息,从而实现任务注册操作。

在本实施例中,为了实现对云服务任务进行无差异化的统一调度,任务注册维护组件必须通过调用固定接口以接收对应的云服务任务的注册信息。

所以,在本实施例中,基于该任务注册维护组件,云服务执行器可以通过对应的固定接口以接收对应的云服务任务的唯一性注册信息,即:基于该任务注册维护组件,云服务执行器可以接收多个云服务任务的唯一性注册信息,从而完成多个云服务任务的注册。

可选的,每个云服务任务的注册信息均以预设格式存储于该任务注册维护组件中,即:每个云服务任务的注册信息均以指定的标准格式存储于该任务注册维护组件中。

可选的,所述唯一性注册信息包括:所述云服务任务的名称及所述调度组件的名称。

s42:将所述唯一性注册信息以预设格式存储于所述任务注册维护组件。

将该唯一性注册信息以任务注册维护组件指定的标准格式存储在该任务注册维护组件,以便在后续调用该唯一性注册信息,如:在执行容错补发调度时,调用该存储的唯一性注册信息。

s43:基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方。

在完成云服务任务的注册后,基于调度组件,云服务执行器依据唯一性注册信息将该唯一性注册信息所属的云服务任务分配至对应的任务执行方。

s44:基于调度组件,对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录;

在本实施例中,云服务执行器还需要对将云服务任务分配至对应的任务执行方的过程进行监控,并对该整个分配过程进行记录,以此得到执行记录。

可选的,通过云服务执行器的父级调度工厂对所述云服务任务被分配的开始节点、及完成节点进行记录,并进行汇总,得到所述执行记录。

s45:依据所述执行记录,确定在分配过程中是否出现有错误;若是,则执行步骤s46,否则,执行步骤s47;

依据得到的执行记录,云服务执行器可以确定在分配过程中是否出现了错误。该错误包括但不限于异常调度,针对该异常调度,其包括但不限于以下一种或多种:由于在分配过程中发生异常而导致分配中断、系统宕机、及因系统重启导致分配动作未被执行。

s46:通过调度容错组件进行容错补发调度;

在云服务执行器确定在分配过程中是否出现了错误的情况下,云服务执行器则进行容错补发调度。

具体的,若错误是由于在分配过程中发生异常而导致分配中断,则容错补发调度包括:执行异常中断补偿操作。若错误是由于系统宕机和/或因系统重启导致分配动作未被执行,则执行调度丢失补偿操作。

可选的,需要根据云服务执行器的配置确定该容错补发调度是否可行,在确定可行的情况下,再执行该容错补发调度,在确定不可行的情况下,停止该流程。

可选的,上述的容错补发调度可以是单次手工补偿,即:可根据业务需求,在后台人工单次触发执行。

可选的,在本实施例中还会依据执行记录进行数据分析,以确定出出现错误的原因。

s47:不作处理。

在云服务执行器确定出分配过程一切正常的情况下,则不作处理,从而,使得云服务任务被分配至对应的任务执行方。

由此可知,通过上述步骤s45-s47可知,通过判断分配过程中是否出现有错误,从而实现了对是否进行容错补发调度进行判断。

s48:基于所述调度组件,通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。

可选的,该s48的一种实现方式为:基于调度监控组件,通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务,其中,所述调度监控组件包含于调度组件。

为保证云服务任务的调度的唯一性,在本实施例中,基于调度组件,云服务执行器通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。即:通过单库db事务锁实现了一个任务执行方只执行一次经分配所得的云服务任务,其中,该单库db事务锁即为单数据库事务锁。

可选的,该调度组件包含于该调度组件。即:基于所述调度组件,云服务执行器通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。

就此,首先基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,从而可以完成多个云服务任务的注册,然后,基于调度组件及唯一性注册信息,云服务执行器将已完成注册的云服务任务分配调度至对应的任务执行方,使得该云服务执行器支持不同云服务任务的分配调度。

此外,云服务任务的注册是基于任务注册维护组件完成的,而云服务任务的分配调度是基于调度组件完成的,从而实现了注册云服务任务及分配调度云服务任务的隔离,由此,在进行代码维护时,可以分别各个组件进行维护,从而简化了代码维护。

此外,通过调度组件将云服务任务进行对应分配调度,并且通过调度组件对云服务任务的分配过程进行记录监控,从而提高了云服务任务的分配调度的容错程度,而且,将原本不可见形式的分配过程变成可见性,就此,在分配过程出现错误时,可动态对分配过程进行维护,而且,云服务任务的分配调度不需要用传统形式重启服务加载配置即可完成。

此外,通过调度组件,在云服务任务的分配过程出现错误时,可以进行补发调度,提高了分配调度的健壮性。

为了更好说明本实施例所述方法的实施过程,下面结合一个具体应用示例,对本实施例所述方法进行说明。

图5为本发明第五实施例一种云服务的调度方法中的云服务执行器的各个组件的数据流程图。

其中,中心调度组件即为实施例一至实施例四中的调度组件。

在本实施例中,云服务执行器可以执行的云服务任务具有类型多样化的特点,该云服务任务可以通过本地方法、远程服务、json交互等方式注册于该云服务执行器。

而且,基于java工厂模式,该云服务执行器针对不同的云服务任务书写不同的执行工厂,即:创建相应的执行工厂,该执行工厂被调用以执行该云服务任务。具体的,该云服务执行器以界面插件的形式配置这些执行工厂,其中,该执行工厂包括:任务注册维护组件、中心调度组件、调度监控组件、及调度容错组件。

具体的,为了实现对云服务任务进行的无差异化的统一分配调度,在云服务任务注册于该云服务执行器时,任务注册维护组件必须通过调用固定接口以接收待注册的云服务任务的唯一性注册信息。即:任务注册维护组件必须遵循实现固定接口,以接口形式接收云服务任务的唯一性注册信息。

其中,该云服务任务的唯一性注册信息包括:云服务任务的名称、调度组件的名称、任务调度周期计划、所需组件、所需组件的相关参数、调度逻辑描述参数,而且,“云服务任务的名称+调度组件的名称”为该云服务任务的唯一标识,每个云服务任务的唯一性注册信息中的该“调度组名+调度名称”不允许重复。

而且,每个云服务任务的注册信息均以指定的标准格式存储于该任务注册维护组件中。

而中心调度组件是用于对各个云服务任务进行统一调度管理。在本实施例中,当同时对多个已注册的云服务任务进行分配调度时,集群调度的中心调度组件遵循唯一性,在集群环境中,中心调度组件要保证同一个云服务任务只被一台机器执行单次,通过单库db事务锁实现单次执行;即:依据每个云服务任务的注册信息,中心调度组件将每个云服务任务分配给对应的机器,并使得机器只执行一次对应的云服务任务,而且,该中心调度组件通过单库db事务锁实现该机器只执行一次对应的云服务任务。在本实施例中,该机器即为实施例一至四中的任务执行方,而且,该单库db事务锁即为实施例一至四中的单数据库事务锁,此外,该中心调度组件可以启闭对云服务任务的调度。

在云服务执行器执行云服务任务的分配调度时,还需要对该分配调度的过程进行监控记录,在本实施例中,基于调度监控组件,通过云服务执行器父级调度工厂记录云服务任务调度的开始节点、完成节点,并进行汇总,以得到执行记录,即:通过该调度监控组件可以对当前正在执行的云服务任务的调度过程进行实时查看。

在获得该执行记录后,调度容错组件通过该执行记录,收集每个云服务任务的调度数据,以检查异常的调度,并对异常的调度进行容错补偿调度,即:对检查分配过程中是否出现有错误。

具体的,若错误是由于在分配过程中发生异常而导致分配中断,则容错补发调度包括:执行异常中断补偿操作。若错误是由于系统宕机和/或因系统重启导致分配动作未被执行,则执行调度丢失补偿操作。

可选的,需要根据云服务执行器的配置确定该容错补发调度是否可行,在确定可行的情况下,再执行该容错补发调度,在确定不可行的情况下,停止该流程。

可选的,上述的容错补发调度可以是单次手工补偿,即:可根据业务需求,在后台人工单次触发执行。

就此,首先基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,从而可以完成多个云服务任务的注册,然后,基于中心调度组件及唯一性注册信息,云服务执行器将已完成注册的云服务任务分配调度至对应的机器,使得该云服务执行器支持不同云服务任务的分配调度。

此外,云服务任务的注册是基于任务注册维护组件完成的,而云服务任务的分配调度是基于中心调度组件完成的,从而实现了注册云服务任务及分配调度云服务任务的隔离,由此,在进行代码维护时,可以分别各个组件进行维护,从而简化了代码维护。

此外,通过中心调度组件将云服务任务进行对应分配调度,并且通过中心调度组件对云服务任务的分配过程进行记录监控,从而提高了云服务任务的分配调度的容错程度,而且,将原本不可见形式的分配过程变成可见性,就此,在分配过程出现错误时,可动态对分配过程进行维护,而且,云服务任务的分配调度不需要用传统形式重启服务加载配置即可完成。

此外,通过中心调度组件,在云服务任务的分配过程出现错误时,可以进行补发调度,提高了分配调度的健壮性。

图6为本发明第六实施例一种云服务的调度装置的结构示意图。根据图6所示,本发明第六实施例提供了一种云服务的调度装置,包含于云服务执行器,所述装置包括:

获取模块110,用于基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;分配模块111,用于基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方。

可选的,所述装置还包括:记录模块,用于基于调度组件,对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录;确定模块,用于依据所述执行记录,确定在分配过程中是否出现有错误;若是,则通过调度容错组件进行容错补发调度。

可选的,所述记录模块具体用于:通过云服务执行器的父级调度工厂对所述云服务任务被分配的开始节点、及完成节点进行记录,并进行汇总,得到所述执行记录。

可选的,所述分配模块111具体用于:基于所述调度组件,通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。

可选的,所述唯一性注册信息包括:所述云服务任务的名称及所述调度组件的名称。

可选的,所述装置还包括:存储模块,用于在所述通过固定接口获取对应的云服务任务的唯一性注册信息之后,将所述唯一性注册信息存储于所述任务注册维护组件。

本发明第七实施例提供了一种云服务执行器,包括处理器和存储器;所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现上述的一种云服务的调度方法。

本发明第七实施例中的一种云服务执行器所涉及的名词及实现原理具体可以参照本发明实施例中的第一至五实施例的一种云服务的调度方法,在此不再赘述。

本发明第八实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个模块,所述一个或者多个模块可被一个或者多个处理器执行,以实现上述的一种云服务的调度方法。

本发明第八实施例中的一种计算机可读存储介质所涉及的名词及实现原理具体可以参照本发明实施例中的第一至五实施例的一种云服务的调度方法,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1