软件任务管理的方法、装置、设备、介质制造方法及图纸

技术编号:26650418 阅读:28 留言:0更新日期:2020-12-09 00:45
本发明专利技术提供了一种软件任务管理的方法、装置、设备、存储介质,方法包括:初始化步骤,为软件中的待执行的任务声明任务属性,任务属性包括待执行任务可接受的执行线程类型;任务排序步骤,根据任务属性确定待执行任务的调度顺序;调度步骤,根据调度顺序统一调度待执行任务的实际执行顺序、所在的执行线程类型和任务执行优先级;执行步骤,任务执行线程请求调度可执行任务并执行,其中在每次执行结束后重新发出调度请求,直至所有可执行任务执行完成。本发明专利技术在多线程执行任务中压缩可压缩任务并将所有必须任务安排到最优节点执行,实现提前主干任务或必要任务、分离延后非主干或非必要任务、尽量跑满可用算力。

【技术实现步骤摘要】
软件任务管理的方法、装置、设备、介质
本专利技术涉及计算机软件
,尤其涉及一种软件任务管理的方法、装置、设备、存储介质。
技术介绍
在当前的各种软件中,往往存在无用代码堆叠等现象,几千行代码会涉及很多业务,都需要初始化,在启动过程中,随着代码复杂度更高,容易逻辑冲突,造成启动缓慢;并且其中一个任务可能需要几个模块初始化,以前代码没有管控,没有启动顺序的管控,可维护性低,造成并发现象,每个软件启动多个线程。同时,由于需要处理的数据庞大,为了提高处理效率,会同时利用多个线程对数据的计算、传输等不同任务进行同时执行,这就会出现在同一个应用中,非主干或非必要的任务与主干任务或必要任务同时进行,消耗终端设备的算力。因此,现有技术中的软件多线程任务管理的方式不仅会造成启动缓慢、执行混乱等问题,还会造成很大的终端设备算力浪费。
技术实现思路
本专利技术欲解决的技术问题对于软件的任务管理,针对上述现有技术中存在的问题,需要在多线程执行任务过程中压缩所有可压缩任务并将所有必须任务安排到最优节点执行,实现提前主干任务或必要任务、分离延后非主干或非必要任务、尽量跑满可用算力。本专利技术正是为了解决上述课题而完成,其目的在于提供一种简单高效的,软件任务管理的方法、装置、设备、存储介质。用于解决问题的技术方案为了解决上述技术问题,本专利技术实施例提供一种软件任务管理的方法,采用了如下所述的技术方案:所述方法包括,初始化步骤,为软件中的待执行任务声明任务属性,所述任务属性包括所述待执行任务可接受的执行线程类型;任务排序步骤,根据所述任务属性确定所述待执行任务的调度顺序;调度步骤,根据所述调度顺序统一调度所述待执行任务的实际执行顺序、所在的执行线程类型和任务执行优先级;执行步骤,任务执行线程请求调度可执行任务并执行,其中在每次执行结束后重新发出调度请求,直至所有可执行任务执行完成。进一步地,如前所述的软件任务管理的方法,所述任务属性还包括:任务类型、任务的依赖关系、任务权重。进一步地,如前所述的软件任务管理的方法,所述任务类型包括:可执行任务、冻结任务、取消任务、已解决任务、拒绝执行任务;所述执行线程类型包括:主线程、全局线程、普通线程。进一步地,如前所述的软件任务管理的方法,还包括检测步骤,检测存在任务依赖关系的待执行任务之间的依赖时长和/或依赖错误。进一步地,如前所述的软件任务管理的方法,检测所述依赖错误包括判定相关任务是否存在冲突和/或循环,如存在则报错,如不存在则进入下一步骤。进一步地,如前所述的软件任务管理的方法,所述任务排序步骤中,通过拓扑排序,根据所述任务类型、任务权重进行排序,得到按调度顺序排序的待执行任务队列。进一步地,如前所述的软件任务管理的方法,所述执行步骤还包括标记定位步骤,对异步执行的任务通过标记定位来报告执行状态,通过所述执行状态调整不同任务的所述任务类型。进一步地,如前所述的软件任务管理的方法,所述执行步骤还包括判断步骤,判断统一调度的待执行任务是否符合执行条件,如果所述待执行任务的所述任务类型符合并且可执行,则执行所述待执行任务,如果所述待执行任务的所述任务类型不符合和/或不可执行,则跳过所述待执行任务,继续发送请求。进一步地,如前所述的软件任务管理的方法,所述待执行任务可执行包括所述任务类型为可执行任务并且没有依赖任务或依赖任务已执行完成,所述待执行任务不可执行包括所述任务类型为冻结任务、取消任务、已解决任务、拒绝执行任务或者依赖任务未执行完成的至少一种情况。进一步地,如前任一所述的软件任务管理的方法,还包括监控步骤,监控记录任务执行情况以反馈给所述调度步骤进行调整,所述任务执行情况包括依赖关系、执行流程、执行时间。本专利技术的另一方面提供了一种软件任务管理的装置,包括:初始化模块,为软件中的待执行任务声明任务属性,所述任务属性包括所述待执行任务可接受的执行线程类型;任务排序模块,根据所述任务属性对所述待执行任务的调度顺序进行排序;调度模块,根据所述调度顺序统一调度所述待执行任务的实际执行顺序、所在的执行线程类型和任务执行优先级;执行模块,任务执行线程请求调度可执行任务并执行,并在执行结束后重新发出调度请求,直至所有可执行任务执行完成。进一步地,如前所述的软件任务管理的装置,还包括检测模块,检测存在任务依赖关系的待执行任务之间的依赖时长和/或依赖错误。进一步地,如前所述的软件任务管理的装置,还包括标记定位模块,对异步执行的任务通过标记定位来报告执行状态,通过所述执行状态调整不同任务的所述任务类型。进一步地,如前所述的软件任务管理的装置,还包括判断模块,判断统一调度的待执行任务是否符合执行条件,如果所述待执行任务的所述任务类型符合并且可执行,则执行所述待执行任务,如果所述待执行任务的所述任务类型不符合和/或不可执行,则跳过所述待执行任务,继续发送请求。进一步地,如前任一所述的软件任务管理的装置,还包括监控模块,监控记录任务执行情况以反馈给所述调度模块进行调整,所述任务执行情况包括依赖关系、执行流程、执行时间。本专利技术的另一方面提供了一种终端设备,包括存储器和处理器,所述存储器中存储有应用程序,所述处理器执行所述应用程序时实现如前述任一项所述的软件任务管理的方法的步骤。本专利技术的另一方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任一项所述的软件任务管理的方法的步骤。专利技术效果本专利技术的软件任务管理方法可以实现在多线程执行任务过程中压缩所有可压缩任务并将所有必须任务安排到最优节点执行,实现提前主干任务或必要任务,例如首帧布局提前解析;分离延后非主干或非必要任务,例如业务模块的初始化;尽量跑满可用算力。附图说明图1是本专利技术可以应用于其中的示例性系统架构图;图2根据本专利技术的软件任务管理的方法的一个实施例的流程图;图3根据本专利技术的软件任务管理的方法的一个实施例的示意图;图4是根据本专利技术的终端设备的一个实施例的结构示意图。具体实施方式除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术;本专利技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本专利技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本专利技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域本文档来自技高网
...

【技术保护点】
1.一种软件任务管理的方法,其特征在于,包括:/n初始化步骤,为软件中的待执行任务声明任务属性,所述任务属性包括所述待执行任务可接受的执行线程类型;/n任务排序步骤,根据所述任务属性确定所述待执行任务的调度顺序;/n调度步骤,根据所述调度顺序统一调度所述待执行任务的实际执行顺序、所在的执行线程类型和任务执行优先级;/n执行步骤,任务执行线程请求调度可执行任务并执行,其中在每次执行结束后重新发出调度请求,直至所有可执行任务执行完成。/n

【技术特征摘要】
1.一种软件任务管理的方法,其特征在于,包括:
初始化步骤,为软件中的待执行任务声明任务属性,所述任务属性包括所述待执行任务可接受的执行线程类型;
任务排序步骤,根据所述任务属性确定所述待执行任务的调度顺序;
调度步骤,根据所述调度顺序统一调度所述待执行任务的实际执行顺序、所在的执行线程类型和任务执行优先级;
执行步骤,任务执行线程请求调度可执行任务并执行,其中在每次执行结束后重新发出调度请求,直至所有可执行任务执行完成。


2.如权利要求1所述的软件任务管理的方法,其特征在于,所述任务属性还包括:任务类型、任务的依赖关系、任务权重。


3.如权利要求2所述的软件任务管理的方法,其特征在于,所述任务类型包括:可执行任务、冻结任务、取消任务、已解决任务、拒绝执行任务;
所述执行线程类型包括:主线程、全局线程、普通线程。


4.如权利要求2所述的软件任务管理的方法,其特征在于,还包括检测步骤,检测存在任务依赖关系的待执行任务之间的依赖时长和/或依赖错误。


5.如权利要求4所述的软件任务管理的方法,其特征在于,检测所述依赖错误包括判定相关任务是否存在冲突和/或循环,如存在则报错,如不存在则进入下一步骤。


6.如权利要求2所述的软件任务管理的方法,其特征在于,所述任务排序步骤中,通过拓扑排序,根据所述任务类型、任务权重进行排序,得到按调度顺序排序的待执行任务队列。


7.如权利要求2所述的软件任务管理的方法,其特征在于,所述执行步骤还包括标记定位步骤,对异步执行的任务通过标记定位来报告执行状态,通过所述执行状态调整不同任务的所述任务类型。


8.如权利要求2所述的软件任务管理的方法,其特征在于,所述执行步骤还包括判断步骤,判断统一调度的待执行任务是否符合执行条件,如果所述待执行任务的所述任务类型符合并且可执行,则执行所述待执行任务,如果所述待执行任务的所述任务类型不符合和/或不可执行,则跳过所述待执行任务,继续发送请求。


9.如权利要求8所述的软件任务管理的方法,其特征在于,
所述待执行任务可执行包括所述任务类型为可执行任务并且没有依赖任务或依赖任务已执行完成,
所述待执行任务不可执行包括所述任务类型...

【专利技术属性】
技术研发人员:钟盛军
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1