集成任务执行管理方法、装置、存储介质以及系统制造方法及图纸

技术编号:39032514 阅读:14 留言:0更新日期:2023-10-10 11:45
本发明专利技术公开了一种集成任务执行管理方法、装置、存储介质以及系统,通过针对不同的任务类型定义全局锁或本地锁,并在接收到待执行管理集成任务后,同一时刻仅执行处理获得任务锁的最大线程数数量的服务器的任务,该执行管理方法、装置、存储介质以及系统提升了计算资源利用效率和稳定性;进一步地,本发明专利技术提供的一种集成任务执行管理方法、装置、存储介质以及系统还通过支持配置的导出导入,从而能快速从待迁移环境部署到迁移环境,进而提升了执行管理环境搭建的效率和便利性。理环境搭建的效率和便利性。理环境搭建的效率和便利性。

【技术实现步骤摘要】
集成任务执行管理方法、装置、存储介质以及系统


[0001]本专利技术涉及公有云集成任务执行管理
,尤其涉及一种集成任务执行管理方法、装置、计算机可读存储介质及系统。

技术介绍

[0002]公有云是指第三方提供商通过公共Internet为用户提供的云服务,用户可以通过Internet访问云并享受各类服务,包括并不限于计算、存储、网络等。公有云环境下的入驻用户称为租户,租户间的数据和业务一般是隔离的。一个应用服务可以开启多个实例(节点),每个实例通过负载均衡对外提供相同服务。大型客户有各种各样的集成任务,这些任务的执行需要占据线程资源。当某一类任务数量多且执行过程中出现阻塞时,系统线程池中的可用线程容易被耗尽,从而导致其他任务都处于等待执行状态,即使是优先级更高的任务也因此可能长时间得不到执行。
[0003]在现有技术中,在单机环境中,为了实现多进程或多线程对共享资源操作过程的原子性,可以借助内核提供的SpinLock或Mutex机制,保证只有一个进程或线程操作共享资源;在分布式环境中,通过分布式锁控制控制多个机器上的节点并发操作,能保证某一时刻某类任务只有一个在执行,避免数据或状态被破坏。
[0004]但是,现有技术仍存在如下缺陷:借助内核提供的SpinLock或Mutex实现的锁不适用于分布式环境,无法控制多个机器节点并发操作;而当前分布式锁方案不仅不能适用于现场控制并发数的需求、无法均匀地将任务分配到每个节点上执行,还存在配置流程复杂、监控分析困难的问题。
[0005]因此,当前需要一种集成任务执行管理方法、装置、计算机可读存储介质以及系统,从而克服现有技术中存在的上述缺陷。

技术实现思路

[0006]本专利技术实施例提供一种集成任务执行管理方法、装置、计算机可读存储介质以及系统,从而提升计算资源利用效率。
[0007]本专利技术一实施例提供一种集成任务执行管理方法,所述执行管理方法包括:获取用户发送的配置信息,根据所述配置信息定义并初始化对应于不同任务类型的任务锁,获得所述任务锁对应的锁信息:所述锁信息包括任务类型、锁类型、服务器IP地址以及最大线程数;所述锁类型包括本地锁和全局锁;当接收到待执行管理集成任务时,获取待执行管理任务对应的第一任务锁的锁信息以及所述待执行管理任务的任务优先级,将所述待执行管理任务对应分配到所述第一任务锁对应的第一服务器IP地址,以使第一服务器根据预设的竞争执行方法、待执行管理任务的任务优先级以及所述第一任务锁的最大线程数,对待执行管理任务进行执行管理;所述待执行管理集成任务包括一个或多个待执行管理任务。
[0008]作为上述方案的改进,根据所述配置信息定义并初始化对应于不同任务类型的任务锁,具体包括:根据所述配置信息,定义对应于各个待配置任务类型的任务锁;所述配置
信息包括用户期望锁类型、对应的待配置任务类型以及期望最大线程数;所述用户期望锁类型包括本地锁和全局锁;遍历所述用户期望锁类型为本地锁的第二任务锁,将所述第二任务锁在当前容器节点的最大线程数初始化为所述期望最大线程数,并根据所述期望最大线程数,为所述第二任务锁分配对应的第二服务器IP地址;遍历所述用户期望锁类型为全局锁的第三任务锁以获取所述第三任务锁的总节点个数以及活跃节点个数,根据所述期望最大线程数、所述总节点个数以及所述活跃节点个数,初始化所述第三任务锁,并根据所述期望最大线程数,为所述第三任务锁分配对应的第三服务器IP地址。
[0009]作为上述方案的改进,第一服务器根据预设的竞争执行方法、待执行管理任务的任务优先级以及所述第一任务锁的最大线程数,对待执行管理任务进行执行管理,具体包括:第一服务器竞争第一任务锁,并在竞争成功时从待执行列表中获取第一任务;所述待执行列表至少包括所述待执行管理任务;根据所述第一任务的任务优先级,将所述第一任务按任务优先级从高到低进行排序以获取任务执行序列,依次执行所述任务执行序列中排在前预设数量个的第一任务,并在执行完所述第一任务后从所述待执行列表中对应删除;所述预设数量为所述最大线程数;重复上述步骤。
[0010]作为上述方案的改进,第一服务器竞争第一任务锁,具体包括:获取所述第一任务锁的第一锁信息,并判断所述第一任务锁的第一锁类型是否为全局锁;所述第一锁信息包括第一锁类型以及第一最大线程数;当所述第一锁类型为全局锁时,遍历所述第一任务锁的实例列表以获取所述第一服务器所占用的锁实例个数,根据所述锁实例个数以及所述第一最大线程数,判断当前应当进行锁竞争还是锁释放;如果当前应当进行锁竞争,则尝试使用所述第一锁信息获取所述第一任务锁,根据获取结果判断是否竞争成功,在竞争成功时,将所述第一任务锁的占用服务器修改为所述第一服务器并更新所述第一服务器的锁占用信息,若竞争失败,则重复进行本步骤。
[0011]作为上述方案的改进,在根据所述锁实例个数以及所述第一最大线程数,判断当前应当进行锁竞争还是锁释放之后,所述执行管理方法还包括:如果当前应当进行锁释放,则将所述第一任务锁释放。
[0012]作为上述方案的改进,所述执行管理方法还包括:当接收到用户发送的导出指令时,将待迁移任务对应的集成方案或流程导出至第一资源文件中,将所述待迁移任务对应的第一待迁移任务锁导出至第一资源文件中,并使用拓扑排序将所述集成方案或所述流程所依赖的资源导出至所述第一资源文件中;所述导出指令包括待迁移任务;当接收到用户发送的环境迁移指令时,从所述环境迁移指令中获取第二待迁移任务锁,根据迁移环境信息对所述第二待迁移任务锁进行重新配置,并将第二资源文件导入迁移环境中;所述环境迁移指令包括迁移环境、迁移环境信息以及第二资源文件,所述第二资源文件包括第二待迁移任务锁。
[0013]作为上述方案的改进,所述执行管理方法还包括:遍历服务器实例表,获取当前服务器的最近更新时间;根据所述最近更新时间以及预设的异常阈值,判断所述当前服务器是否异常,当判断所述当前服务器异常时,释放所述当前服务器所占用的锁实例并重新初始化锁加载;广播通知除所述当前服务器外的服务器重新初始化锁加载。
[0014]本专利技术另一实施例对应提供了一种集成任务执行管理装置,所述执行管理装置包括锁配置单元以及执行管理单元,其中,所述锁配置单元用于获取用户发送的配置信息,根
据所述配置信息定义并初始化对应于不同任务类型的任务锁,获得所述任务锁对应的锁信息:所述锁信息包括任务类型、锁类型、服务器IP地址以及最大线程数;所述锁类型包括本地锁和全局锁;所述执行管理单元用于当接收到待执行管理集成任务时,获取待执行管理任务对应的第一任务锁的锁信息以及所述待执行管理任务的任务优先级,将所述待执行管理任务对应分配到所述第一任务锁对应的第一服务器IP地址,以使第一服务器根据预设的竞争执行方法、待执行管理任务的任务优先级以及所述第一任务锁的最大线程数,对待执行管理任务进行执行管理;所述待执行管理集成任务包括一个或多个待执行管理任务。
[0015]作为上述方案的改进,所述锁配置单元用于:根据所述配置信息,定义对应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集成任务执行管理方法,其特征在于,所述执行管理方法包括:获取用户发送的配置信息,根据所述配置信息定义并初始化对应于不同任务类型的任务锁,获得所述任务锁对应的锁信息:所述锁信息包括任务类型、锁类型、服务器IP地址以及最大线程数;当接收到待执行管理集成任务时,获取待执行管理任务对应的第一任务锁的锁信息以及所述待执行管理任务的任务优先级,将所述待执行管理任务对应分配到所述第一任务锁对应的第一服务器IP地址,以使第一服务器根据预设的竞争执行方法、待执行管理任务的任务优先级以及所述第一任务锁的最大线程数,对待执行管理任务进行执行管理;所述待执行管理集成任务包括一个或多个待执行管理任务。2.根据权利要求1所述的集成任务执行管理方法,其特征在于,根据所述配置信息定义并初始化对应于不同任务类型的任务锁,具体包括:根据所述配置信息,定义对应于各个待配置任务类型的任务锁;所述配置信息包括用户期望锁类型、对应的待配置任务类型以及期望最大线程数;所述用户期望锁类型包括本地锁和全局锁;遍历所述用户期望锁类型为本地锁的第二任务锁,将所述第二任务锁在当前容器节点的最大线程数初始化为所述期望最大线程数,并根据所述期望最大线程数,为所述第二任务锁分配对应的第二服务器IP地址;遍历所述用户期望锁类型为全局锁的第三任务锁以获取所述第三任务锁的总节点个数以及活跃节点个数,根据所述期望最大线程数、所述总节点个数以及所述活跃节点个数,初始化所述第三任务锁,并根据所述期望最大线程数,为所述第三任务锁分配对应的第三服务器IP地址。3.根据权利要求1所述的集成任务执行管理方法,其特征在于,第一服务器根据预设的竞争执行方法、待执行管理任务的任务优先级以及所述第一任务锁的最大线程数,对待执行管理任务进行执行管理,具体包括:第一服务器竞争第一任务锁,并在竞争成功时从待执行列表中获取第一任务;所述待执行列表至少包括所述待执行管理任务;根据所述第一任务的任务优先级,将所述第一任务按任务优先级从高到低进行排序以获取任务执行序列,依次执行所述任务执行序列中排在前预设数量个的第一任务,并在执行完所述第一任务后从所述待执行列表中对应删除;所述预设数量为所述最大线程数;重复上述步骤。4.根据权利要求3所述的集成任务执行管理方法,其特征在于,第一服务器竞争第一任务锁,具体包括:获取所述第一任务锁的第一锁信息,并判断所述第一任务锁的第一锁类型是否为全局锁;所述第一锁信息包括第一锁类型以及第一最大线程数;当所述第一锁类型为全局锁时,遍历所述第一任务锁的实例列表以获取所述第一服务器所占用的锁实例个数,根据所述锁实例个数以及所述第一最大线程数,判断当前应当进行锁竞争还是锁释放;如果当前应当进行锁竞争,则尝试使用所述第一锁信息获取所述第一任务锁,根据获取结果判断是否竞争成功,在竞争成功时,将所述第一任务锁的占用服务器修改为所...

【专利技术属性】
技术研发人员:禹希初杨华中吴宏超张天越杨发
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:

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

1