任务的执行方法、装置和服务器制造方法及图纸

技术编号:24995327 阅读:26 留言:0更新日期:2020-07-24 17:58
本发明专利技术提供了一种任务的执行方法、装置和服务器,首先接收待执行任务;通过调度器为该待执行任务实例化插件类加载器的类,得到该待执行任务对应的插件类加载器;通过该插件类加载器加载待执行任务所需的插件类;实例化该待执行任务所需的插件类,得到该待执行任务对应的插件,通过调度器控制该插件执行待执行任务。本发明专利技术在多个任务同时执行时,调度器可为每个任务实例化一个插件类加载器,每个插件类加载器可加载各自对应的任务所需的插件类,进而基于各任务相应的插件类,加载该任务对应版本的插件,因而实现了同一插件的多个版本并行运行,满足了各类任务的并行作业需求。

【技术实现步骤摘要】
任务的执行方法、装置和服务器
本专利技术涉及任务调度
,尤其是涉及一种任务的执行方法、装置和服务器。
技术介绍
任务调度系统中有作业、插件和调度器三个基本元素,其中,作业中包括具体的任务,插件是作业的执行引擎,调度器用于驱动插件执行相应的作业。相关技术中,系统中的作业和插件均同时存在多个版本,通常不同版本的作业所需的插件的版本不同。当需要执行作业时,调度器通过类加载器加载用于执行当前作业所需版本的插件对应的插件类,以实例化该插件类得到所需版本的插件,再通过该插件执行作业。当多个作业需要同时执行时,多个作业之间的版本可能不同,因而所需的插件的版本也可能不同,但不同版本的插件对应的插件类相同;如果想要同时执行多个作业,需要将插件类实例化为不同版本的插件,但是,一个调度系统中通常通过一个类加载器进行类的加载,且受Java语言中类加载机制的限制,同一个插件类不能被一个类加载器多次加载,因此不同版本的插件对应的插件类不可同时加载,导致在一个调度系统中无法同时运行同一个插件的不同版本,即同一个插件的不同版本不能并行执行,难以满足部分任务的作业本文档来自技高网...

【技术保护点】
1.一种任务的执行方法,其特征在于,所述方法包括:/n接收待执行任务;/n通过预设的调度器,为所述待执行任务实例化预设的插件类加载器的类,得到所述待执行任务对应的插件类加载器;其中,所述插件类加载器用于加载执行所述待执行任务所需的插件类;/n通过所述插件类加载器加载所述待执行任务所需的插件类;/n实例化所述待执行任务所需的插件类,得到所述待执行任务对应的插件,通过所述调度器控制所述插件,以执行所述待执行任务。/n

【技术特征摘要】
1.一种任务的执行方法,其特征在于,所述方法包括:
接收待执行任务;
通过预设的调度器,为所述待执行任务实例化预设的插件类加载器的类,得到所述待执行任务对应的插件类加载器;其中,所述插件类加载器用于加载执行所述待执行任务所需的插件类;
通过所述插件类加载器加载所述待执行任务所需的插件类;
实例化所述待执行任务所需的插件类,得到所述待执行任务对应的插件,通过所述调度器控制所述插件,以执行所述待执行任务。


2.根据权利要求1所述的方法,其特征在于,接收待执行任务的步骤之前,所述方法还包括:
创建类加载器以及所述类加载器的层级关系;所述类加载器包括:接口类加载器、插件类加载器和调度器类加载器;所述层级关系中,所述接口类加载器的层级高于所述插件类加载器和所述调度器类加载器;
其中,所述插件类加载器用于加载预设的插件类;所述调度器类加载器用于加载预设的调度器类;所述接口类加载器用于加载预设的接口类;所述调度器类实例化后得到的调度器,通过所述接口类实例化后得到的接口,控制所述插件类实例化后得到的插件。


3.根据权利要求2所述的方法,其特征在于,所述调度器通过下述方式得到:
通过所述调度器类加载器,加载预设的调度器类;
实例化加载得到的所述调度器类,得到调度器。


4.根据权利要求2所述的方法,其特征在于,所述接收待执行任务的步骤之前,所述方法还包括:通过所述接口类加载器,加载预设的接口类;实例化加载得到的所述接口类,得到接口;
所述通过所述调度器控制所述插件的步骤,包括:如果所述待执行任务包括多个,所述调度器通过所述接口控制每个所述待执行任务的插件,以执行每个所述待执行任务。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述待执行任务执行完毕,通过所述调度器将所述待执行任务对应的插件类加载器从内存中删除。


6.一种任务的执行装置,其特征在于,所述装置包括:
任务接收模块,用于接收待执行任务;
加载器实例化模块,用于通过预设的调度...

【专利技术属性】
技术研发人员:张显良
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1