本发明涉及资源管理领域,更具体地说,本发明涉及一种通用的多任务管理器实现方法。
背景技术:
1、多任务管理器是一个非常重要的组件,用于管理系统中同时运行的多个任务,包括进程和线程,在业务不断扩张的过程中,随着接口请求、异步任务、耗时任务等的增多,系统的复杂度也随之增加。随着现代互联网应用的快速发展,许多应用都面临着业务不断扩张的挑战。随着用户量的增加、功能的增多以及业务场景的复杂化,应用中的任务数量和种类也随之增加,这就给多任务管理器带来了更大的压力和挑战。
2、随着任务种类的增多,不同任务有不同的优先级和执行顺序,若多任务管理器无法正确管理这些任务之间的依赖关系,导致任务执行出现混乱,影响应用的整体运行效率。
3、目前的多任务管理器实现方法无法进行多任务隔离并全局生效,不可以独立控制任务的最大并发数和优先级,导致无法高效协助研发管理复杂的业务并发场景。
技术实现思路
1、本发明针对现有技术中存在的技术问题,提供一种通用的多任务管理器实现方法,以解决上述背景技术中提出的问题。
2、本发明解决上述技术问题的技术方案如下:一种通用的多任务管理器实现方法,包括以下步骤:
3、s101.创建任务数据结构存储任务信息并连接任务事件列表界面,提供添加新任务、编辑删除的按钮入口;
4、s102.启动任务收集器连接任务数据结构并等待任务对象,检查每个任务对象的唯一key是否与传入任务的唯一key相匹配,并检查是否提供任务优先级字段;
5、s103.启动任务执行器并连接任务收集器,按照任务优先级字段执行任务对象,处理插队的高任务优先级字段的任务对象,并引入任务对象执行超时机制;
6、s104.停止任务收集器以及任务执行器,清空任务事件列表中所有的任务对象、执行结果缓存以及日志记;
7、在一个优选地实施方式中,所述s101中,创建任务数据结构存储任务信息,将任务对象作为键对应任务名称、任务描述、任务字段优先级、截至日期以及任务状态的任务信息值。
8、进一步地,创建任务事件列表界面连接任务数据结构,显示当前的任务对象,提供添加新任务、编辑删除的按钮入口,允许业务使用方点击任务对象查看对应任务信息值,利用截止日期的任务信息值对任务对象进行排序显示。
9、在一个优选地实施方式中,所述s102中,启动任务收集器连接任务数据结构并等待任务对象,业务使用方通过aip接口方式利用post方法传入任务的唯一key,遍历任务数据结构,逐一检查每个任务对象的唯一key是否与传入任务的唯一key相匹配,当存在匹配的唯一key,则说明任务对象存在任务事件列表中,将新任务对象追加至任务事件列表,当不存在匹配的唯一key,则说明任务对象不存在任务事件列表中,创建新的任务对象并重复迭代遍历检查、匹配步骤,对于每个任务对象,检查是否提供任务优先级字段,当任务对象提供任务优先级字段,则利用提供的优先级字段的相应值进行插入排序,当任务对象未提供任务优先级字段,则默认设置优先级字段的相应值上限为99。
10、在一个优选地实施方式中,所述s103中,启动任务执行器并连接任务收集器,查找所有的任务事件列表并按照任务优先级字段进行执行,设置任务对象最大并发个数为15个,检测执行中的任务对象个数超过设置任务对象最大并发个数,将任务管理器置于等待状态直至任务对象完成,重复查找任务事件列表的任务对象进行依任务优先级字段执行,直至所有任务对象执行完毕。
11、进一步地,执行任务对象过程中存在高任务优先级字段的任务对象加入,判断插队的优先级字段的相应值是否大于当前任务对象的优先级字段的相应值,满足判断条件并等待当前任务对象完成后,立即执行插队加入的在高任务优先级字段的任务对象。
12、进一步地,设置任务对象最大执行时间阈值为30s,记录任务对象开始执行的当前时间戳,定期1min检查任务对象的执行时间是否超过设置的任务对象最大执行时间,当任务对象执行时间超过设定阈值,则直接自动取消当前任务对象的执行并释放任务对象占用资源。
13、在一个优选地实施方式中,所述s104中,停止当前正在执行的任务对象、接收新任务对象功能以及任务执行器线程池,关闭任务收集器和任务收集器线程,清空任务事件列表中所有的任务对象、执行结果缓存以及日志记录。
14、本发明的有益效果是:通过创建任务数据结构存储任务信息,将任务对象的关键信息组织在一起,有助于应用对任务对象进行有效管理和跟踪,通过提供直观的任务展示方式,用户可以清晰地查看当前的任务对象及其关键信息,使用户操作更加便捷和直观,通过提供添加新任务、编辑和删除按钮入口,提高用户的操作效率和体验,利用任务事件列表界面清晰地展示每个任务对象的关键信息,使用户快速了解任务对象的重要信息和截止日期,有利于任务对象的及时处理和安排,通过api接口方式利用post方法传入任务的唯一key,增加应用的灵活性和扩展性,通过使用唯一key作为任务对象的标识符,确保每个任务对象在任务事件列表中具有唯一性,避免重复任务对象的存在,提高应用数据的完整性和准确性,任务对象匹配有助于任务对象的准确识别和处理,任务优先级处理有利于任务优先级的合理设置和展示,通过按照任务优先级字段执行任务对象,确保高优先级任务优先被执行,提高应用对任务执行顺序的灵活性和准确性,处理插队的高任务优先级字段的任务对象,保证重要任务及时得到处理,避免低优先级任务对应用执行效率的影响,提高应用的响应速度和效率,通过最大并发个数限制避免应用资源被过度占用,提高应用的并发处理能力和性能表现,通过停止当前正在执行的任务对象、接收新任务对象功能以及任务执行器线程池,关闭任务收集器和任务收集器线程,有助于释放任务对象占用的应用资源,提高应用的资源利用效率,清空任务事件列表中所有的任务对象、执行结果缓存以及日志记录,确保应用在下次启动时处于一个干净的状态,避免旧数据对应用运行产生干扰,提高应用的数据管理效率和准确性。
1.一种通用的多任务管理器实现方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的一种通用的多任务管理器实现方法,其特征在于:所述s101中,创建任务数据结构存储任务信息,将任务对象作为键对应任务名称、任务描述、任务字段优先级、截至日期以及任务状态的任务信息值,创建任务事件列表界面连接任务数据结构,显示当前的任务对象,提供添加新任务、编辑删除的按钮入口,允许业务使用方点击任务对象查看对应任务信息值,利用截止日期的任务信息值对任务对象进行排序显示。
3.根据权利要求1所述的一种通用的多任务管理器实现方法,其特征在于:所述s102中,利用post方法传入任务的唯一key,遍历任务数据结构,逐一检查每个任务对象的唯一key是否与传入任务的唯一key相匹配,对于每个任务对象,检查是否提供任务优先级字段。
4.根据权利要求3所述的一种通用的多任务管理器实现方法,其特征在于:所述检查每个任务对象的唯一key是否与传入任务的唯一key相匹配具体步骤为:当存在匹配的唯一key,则说明任务对象存在任务事件列表中,将新任务对象追加至任务事件列表,当不存在匹配的唯一key,则说明任务对象不存在任务事件列表中,创建新的任务对象并重复迭代遍历检查、匹配步骤。
5.根据权利要求3所述的一种通用的多任务管理器实现方法,其特征在于:所述检查是否提供任务优先级字段具体步骤为:当任务对象提供任务优先级字段,则利用提供的优先级字段的相应值进行插入排序,当任务对象未提供任务优先级字段,则默认设置优先级字段的相应值上限为99。
6.根据权利要求1所述的一种通用的多任务管理器实现方法,其特征在于:所述s103中,查找所有的任务事件列表并按照任务优先级字段进行执行,检测执行中的任务对象个数超过设置任务对象最大并发个数,将任务管理器置于等待状态直至任务对象完成,重复查找任务事件列表的任务对象进行依任务优先级字段执行,直至所有任务对象执行完毕,引入任务对象执行超时机制。
7.根据权利要求1所述的一种通用的多任务管理器实现方法,其特征在于:所述s103中,判断插队的优先级字段的相应值是否大于当前任务对象的优先级字段的相应值,满足判断条件并等待当前任务对象完成后,立即执行插队加入的在高任务优先级字段的任务对象。
8.根据权利要求6所述的一种通用的多任务管理器实现方法,其特征在于:所述任务对象执行超时机制为:设置任务对象最大执行时间阈值为30s,记录任务对象开始执行的当前时间戳,当任务对象执行时间超过设定阈值,则直接自动取消当前任务对象的执行并释放任务对象占用资源。
9.根据权利要求1所述的一种通用的多任务管理器实现方法,其特征在于:所述s104中,停止当前正在执行的任务对象、接收新任务对象功能以及任务执行器线程池,关闭任务收集器和任务收集器线程,清空任务事件列表中所有的任务对象、执行结果缓存以及日志记录。
