首页 / 专利库 / 信号处理 / 加窗 / 一种多租户环境下的任务调度系统

一种多租户环境下的任务调度系统

阅读:1019发布:2020-07-11

专利汇可以提供一种多租户环境下的任务调度系统专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供的多租户环境下的任务调度子系统,包括任务编排子系统,用于获取用户输入的任务信息,生成第一任务 请求 ,根据所述任务调度器元信息和第一表达式,判断第一表达式是否符合整体资源要求,并当第一表达式符合整体资源要求时,将任务执行器元信息和第一表达式发送给任务调度子系统;任务调度子系统,用于根据任务执行器元信息和第一表达式,生成第一执行指令和执行器参数信息,并发送至任务执行子系统;任务执行子系统,用于根据第一执行指令和执行器参数信息,调度与执行器参数信息对应的任务执行器进行工作,能够最大限度征用所有执行资源,提高各租户在窗口时间内的任务数量,并且使得各租户的任务分配相对公平。,下面是一种多租户环境下的任务调度系统专利的具体信息内容。

1.一种多租户环境下的任务调度系统,其特征在于,包括任务编排子系统、任务调度子系统,以及任务执行子系统;
所述任务编排子系统,用于获取用户输入的任务信息,生成第一任务请求;其中,所述任务信息包括任务调度器元信息和任务执行器元信息,第一任务请求包括第一表达式;
所述任务编排子系统,还用于根据所述任务调度器元信息和所述第一表达式,判断所述第一表达式是否符合整体资源要求,并当所述第一表达式符合整体资源要求时,将所述任务执行器元信息和所述第一表达式发送给所述任务调度子系统;
所述任务调度子系统,用于根据所述任务执行器元信息和第一表达式,生成第一执行指令和执行器参数信息,并发送至所述任务执行子系统;
所述任务执行子系统,用于根据所述第一执行指令和执行器参数信息,调度与所述执行器参数信息对应的任务执行器进行工作;
其中,所述任务编排子系统包括任务管理模和任务编排引擎;
所述任务管理模块包括任务管理终端和任务管理服务器,所述任务管理终端用于获取用户输入的任务信息,生成第一任务请求,并从所述任务管理服务器读取对应租户的所有任务信息和资源信息,将所述第一任务请求和对应租户的所有任务信息和资源信息发送至所述任务编排引擎;
所述任务编排引擎,用于根据所述第一任务请求和对应租户的所有任务信息和资源信息,判断所述第一任务请求是否符合整体资源要求,生成第一判断结果并反馈至所述任务管理模块;所述第一判断结果的生成,具体为:
任务编排引擎对所述第一表达式进行哈希处理,生成第一触发时间窗口;其中,所述触发时间窗口的时间位域包括年、月、日、时、分以及秒;
任务编排引擎根据对应租户的所有任务信息和资源信息,遍历当前租户下的所有任务,并判断所述第一触发时间窗口与已有任务的触发时间窗口是否存在交集,若不存在交集,则生成编排成功信息,并将编排成功信息作为所述第一判断结果;
若存在交集,则累加器记录+1,当所述累加器记录未达到预设的资源阈值,生成编排成功信息,并将编排成功信息作为所述第一判断结果;当所述累加器记录达到预设的资源阈值,生成编排无效信息,并将编排无效信息作为所述第一判断结果。
2.如权利要求1所述的多租户环境下的任务调度系统,其特征在于,若所述第一判断结果为不符合时,所述任务编排引擎将所述第一判断结果发送至所述任务管理终端,以提示用户请求无效。
3.如权利要求1所述的多租户环境下的任务调度系统,其特征在于,所述任务调度子系统包括任务触发器、任务执行适配器,以及任务执行管理模块;
所述任务触发器,用于根据所述第一触发时间窗口,生成第一触发任务请求,并实时将所述第一触发任务请求发送至所述任务执行适配器;
所述任务执行适配器,用于根据所述第一触发任务请求和所述任务执行器元信息,生成第一执行指令和执行器参数信息,并将所述第一执行指令和执行器参数信息发送至任务执行子系统;
所述任务执行适配器,还用于当收到所述第一触发任务请求时,实时返回收到信息;
所述任务执行管理模块,用于管理所述任务执行适配器返回的任务执行进度。
4.如权利要求3所述的多租户环境下的任务调度系统,其特征在于,所述任务执行子系统包括任务执行器;
所述任务执行器为所述执行器参数信息对应的执行器,并与所述任务执行适配器进行接口适配,以供信息的传输。
5.如权利要求4所述的多租户环境下的任务调度系统,其特征在于,所述任务执行器与所述任务执行适配器之间,按照所述任务执行器的通讯规则与协议进行通讯。
6.如权利要求5所述的多租户环境下的任务调度系统,其特征在于,所述任务执行器,还用于将任务执行进度同步反馈给所述任务执行适配器;
其中,所述任务执行进度为进度百分比。
7.如权利要求6所述的多租户环境下的任务调度系统,其特征在于,所述任务执行适配器接收到所述任务执行进度后,实时将所述任务执行进度返回至所述任务执行管理模块。
8.如权利要求7所述的多租户环境下的任务调度系统,其特征在于,当所述任务执行管理模块接收的任务执行进度为100%时,释放所述任务执行适配器。

说明书全文

一种多租户环境下的任务调度系统

技术领域

[0001] 本发明涉及企业应用软件技术领域,尤其涉及一种多租户环境下的任务调度系统。

背景技术

[0002] 企业应用的业务复杂多变,对业务数据的处理较为频繁。相比个人应用领域,需要任务调度的场景较多,因此调度的任务在数量上也更多。企业移动应用相比个人移动应用,有着更多复杂的业务逻辑及数据处理逻辑,并且在调度资源的需求更高。
[0003] 而多租户平台即服务,可以做到为不同的租户提供平台服务,并做到资源管控,资源隔离,可通过限制租户的资源争用等手段保护平台。分布式服务可通过横向扩展的方式增加或减小资源池中的资源,保证平台服务的资源最大利用,节省成本。
[0004] 现有分布式定时调度有一套成熟体系,但无论是调度算法还是任务调用都将关注点放在资源控制上,对于多租户共享调度平台有限的调度资源和执行资源,的确得到了控制,但是无法满足企业应用调度数量大,业务要求不应该受限的高要求。

发明内容

[0005] 本发明实施例的目的是提供一种多租户环境下的任务调度系统,能够最大限度征用所有执行资源,提高各租户在窗口时间内的任务数量,并且使得各租户的任务分配相对公平。
[0006] 为实现上述目的,本发明实施例提供了一种多租户环境下的任务调度系统,包括任务编排子系统、任务调度子系统,以及任务执行子系统;
[0007] 所述任务编排子系统,用于获取用户输入的任务信息,生成第一任务请求;其中,所述任务信息包括任务调度器元信息和任务执行器元信息,第一任务请求包括第一表达式;
[0008] 所述任务编排子系统,还用于根据所述任务调度器元信息和所述第一表达式,判断所述第一表达式是否符合整体资源要求,并当所述第一表达式符合整体资源要求时,将所述任务执行器元信息和所述第一表达式发送给所述任务调度子系统;
[0009] 所述任务调度子系统,用于根据所述任务执行器元信息和第一表达式,生成第一执行指令和执行器参数信息,并发送至所述任务执行子系统;
[0010] 所述任务执行子系统,用于根据所述第一执行指令和执行器参数信息,调度与所述执行器参数信息对应的任务执行器进行工作。
[0011] 进一步的,所述任务编排子系统包括任务管理模和任务编排引擎;
[0012] 所述任务管理模块包括任务管理终端和任务管理服务器,所述任务管理终端用于获取用户输入的任务信息,生成第一任务请求,并从所述任务管理服务器读取对应租户的所有任务信息和资源信息,将所述第一任务请求和对应租户的所有任务信息和资源信息发送至所述任务编排引擎;
[0013] 所述任务编排引擎,用于根据所述第一任务请求和对应租户的所有任务信息和资源信息,判断所述第一任务请求是否符合整体资源要求,生成第一判断结果并反馈至所述任务管理模块。
[0014] 进一步的,若所述第一判断结果为不符合时,所述任务编排引擎将所述第一判断结果发送至所述任务管理终端,以提示用户请求无效。
[0015] 进一步的,所述第一判断结果的生成,具体为:
[0016] 任务编排引擎对所述第一表达式进行哈希处理,生成第一触发时间窗口;其中,所述触发时间窗口的时间位域包括年、月、日、时、分以及秒;
[0017] 任务编排引擎根据对应租户的所有任务信息和资源信息,遍历当前租户下的所有任务,并判断所述第一触发时间窗口与已有任务的触发时间窗口是否存在交集,若不存在交集,则生成编排成功信息,并将编排成功信息作为所述第一判断结果;
[0018] 若存在交集,则累加器记录+1,当所述累加器记录未达到预设的资源阈值,生成编排成功信息,并将编排成功信息作为所述第一判断结果;当所述累加器记录达到预设的资源阈值,生成编排无效信息,并将编排无效信息作为所述第一判断结果。
[0019] 进一步的,所述任务调度子系统包括任务触发器、任务执行适配器,以及任务执行管理模块;
[0020] 所述任务触发器,用于根据所述第一触发时间窗口,生成第一触发任务请求,并实时将所述第一触发任务请求发送至所述任务执行适配器;
[0021] 所述任务执行适配器,用于根据所述第一触发任务请求和所述任务执行器元信息,生成第一执行指令和执行器参数信息,并将所述第一执行指令和执行器参数信息发送至任务执行子系统;
[0022] 所述任务执行适配器,还用于当收到所述第一触发任务请求时,实时返回收到信息;
[0023] 所述任务执行管理模块,用于管理所述任务执行适配器返回的任务执行进度。
[0024] 进一步的,所述任务执行子系统包括任务执行器;
[0025] 所述任务执行器为所述执行器参数信息对应的执行器,并与所述任务执行适配器进行接口适配,以供信息的传输。
[0026] 进一步的,所述任务执行器与所述任务执行适配器之间,按照所述任务执行器的通讯规则与协议进行通讯。
[0027] 进一步的,所述任务执行器,还用于将任务执行进度同步反馈给所述任务执行适配器;
[0028] 其中,所述任务执行进度为进度百分比。
[0029] 进一步的,所述任务执行适配器接收到所述任务执行进度后,实时将所述任务执行进度返回至所述任务执行管理模块。
[0030] 进一步的,当所述任务执行管理模块接收的任务执行进度为100%时,释放所述任务执行适配器。
[0031] 与现有技术相比,具有如下有益效果:
[0032] 本发明实施例提供的多租户环境下的任务调度系统,包括任务编排子系统,用于获取用户输入的任务信息,生成第一任务请求,根据所述任务调度器元信息和第一表达式,判断第一表达式是否符合整体资源要求,并当第一表达式符合整体资源要求时,将任务执行器元信息和第一表达式发送给任务调度子系统;任务调度子系统,用于根据任务执行器元信息和第一表达式,生成第一执行指令和执行器参数信息,并发送至任务执行子系统;任务执行子系统,用于根据第一执行指令和执行器参数信息,调度与执行器参数信息对应的任务执行器进行工作,能够最大限度征用所有执行资源,提高各租户在窗口时间内的任务数量,并且使得各租户的任务分配相对公平。附图说明
[0033] 图1是本发明提供的多租户环境下的任务调度系统的一个实施例的结构示意图;
[0034] 图2是本发明提供的多租户环境下的任务调度系统的一个实施例的流程示意图。

具体实施方式

[0035] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036] 参见图1,图1是本发明提供的多租户环境下的任务调度系统的一个实施例的结构示意图;本发明实施例提供一种多租户环境下的任务调度系统,包括任务编排子系统、任务调度子系统,以及任务执行子系统;
[0037] 所述任务编排子系统,用于获取用户输入的任务信息,生成第一任务请求;其中,所述任务信息包括任务调度器元信息和任务执行器元信息,第一任务请求包括第一表达式;所述任务编排子系统,还用于根据所述任务调度器元信息和所述第一表达式,判断所述第一表达式是否符合整体资源要求,并当所述第一表达式符合整体资源要求时,将所述任务执行器元信息和所述第一表达式发送给所述任务调度子系统;所述任务调度子系统,用于根据所述任务执行器元信息和第一表达式,生成第一执行指令和执行器参数信息,并发送至所述任务执行子系统;所述任务执行子系统,用于根据所述第一执行指令和执行器参数信息,调度与所述执行器参数信息对应的任务执行器进行工作。
[0038] 需要说明的是,任务调度器元信息包括任务名称、任务表达式等与任务调度相关的信息;任务执行器元信息,包括执行器名称、执行器类型、执行器特性(各类执行器拥有各自的特性属性)等与任务执行相关的信息。
[0039] 在本发明实施例中,所述任务编排子系统包括任务管理模块和任务编排引擎;
[0040] 所述任务管理模块包括任务管理终端和任务管理服务器,所述任务管理终端用于获取用户输入的任务信息,生成第一任务请求,并从所述任务管理服务器读取对应租户的所有任务信息和资源信息,将所述第一任务请求和对应租户的所有任务信息和资源信息发送至所述任务编排引擎;所述任务编排引擎,用于根据所述第一任务请求和对应租户的所有任务信息和资源信息,判断所述第一任务请求是否符合整体资源要求,生成第一判断结果并反馈至所述任务管理模块。
[0041] 若所述第一判断结果为不符合时,所述任务编排引擎将所述第一判断结果发送至所述任务管理终端,以提示用户请求无效。
[0042] 需要说明的是,所述任务管理服务器存储有租户的所有任务配置信息和租户资源配置信息。
[0043] 优选的,所述第一判断结果的生成,具体为:
[0044] 任务编排引擎对所述第一表达式进行哈希处理,生成第一触发时间窗口;其中,所述触发时间窗口的时间位域包括年、月、日、时、分以及秒;
[0045] 任务编排引擎根据对应租户的所有任务信息和资源信息,遍历当前租户下的所有任务,并判断所述第一触发时间窗口与已有任务的触发时间窗口是否存在交集,若不存在交集,则生成编排成功信息,并将编排成功信息作为所述第一判断结果;若存在交集,则累加器记录+1,当所述累加器记录未达到预设的资源阈值,生成编排成功信息,并将编排成功信息作为所述第一判断结果;当所述累加器记录达到预设的资源阈值,生成编排无效信息,并将编排无效信息作为所述第一判断结果。
[0046] 在本实施例中,所述任务编排引擎的工作原理为:任务编排引擎收到任务编排请求,先对新任务的调度表达式进行哈希处理,抽取时间窗口中的时间位域,包含年月/周日时分秒。然后遍历当前租户下的所有任务,比较新任务与已有任务的触发时间窗口是否存在交集,若存在交集,累加器+1。当累加器达到预设的资源阈值,告知此次编排无效,否则视为有效任务。
[0047] 作为本发明的优选实施例,所述任务调度子系统包括任务触发器、任务执行适配器,以及任务执行管理模块;
[0048] 所述任务触发器,用于根据所述第一触发时间窗口,生成第一触发任务请求,并实时将所述第一触发任务请求发送至所述任务执行适配器;所述任务执行适配器,用于根据所述第一触发任务请求和所述任务执行器元信息,生成第一执行指令和执行器参数信息,并将所述第一执行指令和执行器参数信息发送至任务执行子系统;所述任务执行适配器,还用于当收到所述第一触发任务请求时,实时返回收到信息;所述任务执行管理模块,用于管理所述任务执行适配器返回的任务执行进度。
[0049] 作为本发明的另一优选实施例,所述任务执行子系统包括任务执行器;
[0050] 所述任务执行器为所述执行器参数信息对应的执行器,并与所述任务执行适配器进行接口适配,以供信息的传输。
[0051] 在本实施例中,所述任务执行器与所述任务执行适配器之间,按照所述任务执行器的通讯规则与协议进行通讯。所述任务执行器,还用于将任务执行进度同步反馈给所述任务执行适配器;其中,所述任务执行进度为进度百分比。
[0052] 所述任务执行适配器接收到所述任务执行进度后,实时将所述任务执行进度返回至所述任务执行管理模块。当所述任务执行管理模块接收的任务执行进度为100%时,释放所述任务执行适配器。
[0053] 需要说明的是,异构的任务执行子系统作为一个外围系统,执行器所提供的接口各异。任务调度子系统的任务执行适配器,针对各接口进行了适配,所以任务执行适配器与任务执行器之间,可按照任务执行器的通讯规则与协议进行通讯。
[0054] 任务触发器与任务执行适配器之间的通讯,必须以特定的“异步方式”进行:即任务触发器告知任务执行适配器触发执行后,任务执行适配器必须立刻回应任务触发器已经接收到请求。任务执行的动作在后台执行,执行过程中将执行进度或状态通知给任务执行管理模块。在本方案中,任务执行系统与调度系统,必须按照以上的通讯方式,才能使上述的任务编排策略有效进行。
[0055] 为了更好的说明本发明的工作原理,以下为具体的实施例:
[0056] 作为本发明的优先实施例,本实施例展示了在已有租户任务的情况下,新建任务时,任务编排引擎按照规则进行资源预测的流程和效果。假设在本实施例中,已有租户任务在同一个触发时间窗口内,并且已经达到调度数上限,因此新建任务时,将预测出存在交集并告知无效,具体过程为:
[0057] S1,假设任务执行的时间窗口为1秒,时间窗口内每租户的最大调度数为2个。已有租户任务2个,如下所示:
[0058]
[0059] S2,新建一个任务,具体如下所示:
[0060]
[0061] S3,任务编排引擎分析以上三个表达式,可测算出存在的交集。即:未来每天00时00分00秒,可能同时触发这3个任务。超过“时间窗口内最大2个的调度数”,因此告知新任务无效。
[0062] S4,通过任务管理系统,可以挑选其他任务表达式,如:每分钟的01秒。这样任务编排引擎分析后,可以得出结果有效。
[0063] 请参见图2,图2是本发明提供的多租户环境下的任务调度系统的一个实施例的流程示意图,本实施例展示了一个新的任务从任务管理到任务调度,再到任务执行的整个过程的数据流转:
[0064] 步骤1,假设任务编排子系统新建了一个任务,任务信息如下:
[0065] 任务名称 任务表达式 执行器类型 执行器参数煮咖啡 每小时的0分0秒 咖啡机接口 意式
[0066] 其中,调度器元信息包含了任务名称和任务表达式,执行器元信息包含了执行器类型,执行器参数;任务编排子系统将这些信息传递给任务触发器。
[0067] 步骤2,任务触发器收到这些信息后,按照任务表达式定义的触发条件,排入触发队列。在本实施例中的任务表达式(每小时的0分0秒)表示期望任务在每小时的00分00秒执行,如当前时间是2019-01-01 01:05:05,则下一个执行的触发时间就是2019-01-01 02:00:00。在2019-01-01 02:00:00时,任务触发器将执行器元信息(执行器类型、执行器参数)传递给任务执行适配器。
[0068] 步骤3,任务执行适配器收到执行器元信息时,立刻告知任务触发器“已收到”。任务触发器收到“已收到”信息后,即可释放本次触发器,等待进入下一个触发时间点,在本实施例中,下一个触发时间点为2019-01-01 03:00:00。
[0069] 步骤4,任务执行适配器此刻开始在后台执行动作。根据执行器类型和参数(在本实施例中,执行器元信息为“咖啡机接口/意式”)组装执行器适配。本实施例中的咖啡机拥有远程控制接口,执行适配器调用该接口,远程控制咖啡机开始煮意式咖啡,并将烹煮进度(烹煮进度百分比)反馈给任务执行管理模块,直到最终完成,释放执行适配器。
[0070] 综上所述,本发明实施例提供的多租户环境下的任务调度系统,包括任务编排子系统,用于获取用户输入的任务信息,生成第一任务请求,根据所述任务调度器元信息和第一表达式,判断第一表达式是否符合整体资源要求,并当第一表达式符合整体资源要求时,将任务执行器元信息和第一表达式发送给任务调度子系统;任务调度子系统,用于根据任务执行器元信息和第一表达式,生成第一执行指令和执行器参数信息,并发送至任务执行子系统;任务执行子系统,用于根据第一执行指令和执行器参数信息,调度与执行器参数信息对应的任务执行器进行工作,能够最大限度征用所有执行资源,提高各租户在窗口时间内的任务数量,并且使得各租户的任务分配相对公平。
[0071] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0072] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈