CN108874536A - 一种云服务的调度方法、装置、云服务执行器及存储介质 - Google Patents

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

Info

Publication number
CN108874536A
CN108874536A CN201810506159.9A CN201810506159A CN108874536A CN 108874536 A CN108874536 A CN 108874536A CN 201810506159 A CN201810506159 A CN 201810506159A CN 108874536 A CN108874536 A CN 108874536A
Authority
CN
China
Prior art keywords
cloud service
task
uniqueness
registration
component
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
CN201810506159.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.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201810506159.9A priority Critical patent/CN108874536A/zh
Publication of CN108874536A publication Critical patent/CN108874536A/zh
Pending legal-status Critical Current

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种云服务的调度方法、装置、云服务执行器及存储介质,其中,方法包括:基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;基于调度组件,依据唯一性注册信息将唯一性注册信息所属的云服务任务分配至对应的任务执行方;本发明的方法、装置、云服务执行器及存储介质,该云服务执行器首先基于任务注册维护组件,云服务执行器通过固定接口获取对应的云服务任务的唯一性注册信息,从而可以完成多个云服务任务的注册,然后,基于调度组件及唯一性注册信息,云服务执行器将已完成注册的云服务任务分配调度至对应的任务执行方,使得该云服务执行器支持不同云服务任务的分配调度。

Description

一种云服务的调度方法、装置、云服务执行器及存储介质
技术领域
本发明涉及云计算领域,尤其涉及一种云服务的调度方法、装置、云服务执行器及存储介质。
背景技术
随着互联网的发展,为了在用户业务越来越复杂度及公司人员的增加的情况下,保证部门间的协作效率,在现有技术中通常通过云服务的概念抽离部门间的耦合,以提高部门间的配合度。
因此,目前大多公司使用开源项目任务调度器,其通过非数据库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、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (14)

1.一种云服务的调度方法,其特征在于,应用于云服务执行器侧,所述方法包括:
基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;
基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于调度监控组件,对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录;
依据所述执行记录,确定在分配过程中是否出现有错误;
若是,则通过调度容错组件进行容错补发调度。
3.根据权利要求2所述的方法,其特征在于,所述对将云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录,包括:
通过云服务执行器的父级调度工厂对所述云服务任务被分配的开始节点、及完成节点进行记录,并进行汇总,得到所述执行记录。
4.根据权利要求1所述的方法,其特征在于,所述依据唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方之后,所述方法还包括:
基于所述调度组件,通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。
5.根据权利要求1所述的方法,其特征在于,所述唯一性注册信息包括:所述云服务任务的名称及所述调度组件的名称。
6.根据权利要求1-5所述的方法,其特征在于,在所述通过固定接口获取对应的云服务任务的唯一性注册信息之后,所述方法还包括:
将所述唯一性注册信息以预设格式存储于所述任务注册维护组件。
7.一种云服务的调度装置,其特征在于,包含于云服务执行器,所述装置包括:
获取模块,用于基于任务注册维护组件,通过固定接口获取对应的云服务任务的唯一性注册信息;
分配模块,用于基于调度组件,依据所述唯一性注册信息将所述唯一性注册信息所属的所述云服务任务分配至对应的任务执行方。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
记录模块,用于基于调度监控组件,对将所述云服务任务分配至对应的任务执行方的过程进行记录,得到执行记录;
确定模块,用于依据所述执行记录,确定在分配过程中是否出现有错误;若是,则通过调度容错组件进行容错补发调度。
9.根据权利要求8所述的装置,其特征在于,所述记录模块具体用于:通过云服务执行器的父级调度工厂对所述云服务任务被分配的开始节点、及完成节点进行记录,并进行汇总,得到所述执行记录。
10.根据权利要求7所述的装置,其特征在于,所述分配模块具体用于:基于所述调度组件,通过单数据库事务锁控制所述任务执行方只执行一次经分配得到的云服务任务。
11.根据权利要求7所述的装置,其特征在于,所述唯一性注册信息包括:所述云服务任务的名称及所述调度组件的名称。
12.根据权利要求1-10所述的装置,其特征在于,所述装置还包括:
存储模块,用于在所述通过固定接口获取对应的云服务任务的唯一性注册信息之后,将所述唯一性注册信息存储于所述任务注册维护组件。
13.一种云服务执行器,其特征在于,包括处理器和存储器;
所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现权利要求1至6中任一项所述的一种云服务的调度方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至6中任一项所述的一种云服务的调度方法。
CN201810506159.9A 2018-05-24 2018-05-24 一种云服务的调度方法、装置、云服务执行器及存储介质 Pending CN108874536A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810506159.9A CN108874536A (zh) 2018-05-24 2018-05-24 一种云服务的调度方法、装置、云服务执行器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810506159.9A CN108874536A (zh) 2018-05-24 2018-05-24 一种云服务的调度方法、装置、云服务执行器及存储介质

Publications (1)

Publication Number Publication Date
CN108874536A true CN108874536A (zh) 2018-11-23

Family

ID=64333765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810506159.9A Pending CN108874536A (zh) 2018-05-24 2018-05-24 一种云服务的调度方法、装置、云服务执行器及存储介质

Country Status (1)

Country Link
CN (1) CN108874536A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021135440A1 (zh) * 2020-06-28 2021-07-08 平安科技(深圳)有限公司 一种数据库迁移方法、系统及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831494A (zh) * 2012-07-23 2012-12-19 北京星网锐捷网络技术有限公司 调度方法、设备及系统
US20130024496A1 (en) * 2011-07-21 2013-01-24 Yahoo! Inc Method and system for building an elastic cloud web server farm
CN103139299A (zh) * 2013-02-02 2013-06-05 深圳先进技术研究院 多云之间的云服务调度方法和系统
CN103544060A (zh) * 2013-10-25 2014-01-29 珠海许继芝电网自动化有限公司 一种基于webservice的服务调度系统及方法
CN105786611A (zh) * 2014-12-16 2016-07-20 中国移动通信集团公司 一种分布式集群的任务调度方法及装置
CN107870807A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 一种跨平台的任务调度方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130024496A1 (en) * 2011-07-21 2013-01-24 Yahoo! Inc Method and system for building an elastic cloud web server farm
CN102831494A (zh) * 2012-07-23 2012-12-19 北京星网锐捷网络技术有限公司 调度方法、设备及系统
CN103139299A (zh) * 2013-02-02 2013-06-05 深圳先进技术研究院 多云之间的云服务调度方法和系统
CN103544060A (zh) * 2013-10-25 2014-01-29 珠海许继芝电网自动化有限公司 一种基于webservice的服务调度系统及方法
CN105786611A (zh) * 2014-12-16 2016-07-20 中国移动通信集团公司 一种分布式集群的任务调度方法及装置
CN107870807A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 一种跨平台的任务调度方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许雪里: "分布式任务调度平台XXL-JOB", 《HTTPS://MY.OSCHINA.NET/XUXUELI/BLOG/690978》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021135440A1 (zh) * 2020-06-28 2021-07-08 平安科技(深圳)有限公司 一种数据库迁移方法、系统及存储介质

Similar Documents

Publication Publication Date Title
US8880591B2 (en) Workflow management in distributed systems
CN106844198B (zh) 一种分布式调度自动化测试平台及方法
US7779298B2 (en) Distributed job manager recovery
CN108491254A (zh) 一种数据仓库的调度方法及装置
US8538793B2 (en) System and method for managing real-time batch workflows
CN106406993A (zh) 一种定时任务管理方法和系统
CN109445802A (zh) 基于容器的私有化Paas平台及其发布应用的方法
US9513874B2 (en) Enterprise computing platform with support for editing documents via logical views
CN111400011B (zh) 一种实时任务调度方法、系统、设备及可读存储介质
CN113298503A (zh) 一种面向政务的工作流管理系统及其分库分表方法
CN110309051A (zh) 管理测试用例的方法、系统、设备及存储介质
CN107577586A (zh) 一种用于确定分布式系统中业务执行链路的方法和设备
CN109787858A (zh) 一种批量发布服务的方法及终端
CN104636878A (zh) 一种银行自动处理任务的调度方法及装置
CN111930354B (zh) 一种用于软件开发的框架组件系统及其构建方法
CN105260297B (zh) 一种测试数据管理系统及方法
CN102916830B (zh) 一种资源服务优化配置容错管理实现系统
CN115658246A (zh) 调度引擎中间件数据处理方法
US8819695B2 (en) Controlling application landscapes
CN102243655B (zh) 一种数据库的连接管理方法及装置
Bucchiarone et al. A formalisation of adaptable pervasive flows
CN108874536A (zh) 一种云服务的调度方法、装置、云服务执行器及存储介质
Leung et al. The Liaison workflow engine architecture
CN100547967C (zh) 网格作业管理器与网格作业管理方法
CN104793928A (zh) 一种基于Java的开发与运行平台实现方法及系统

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181123