一种任务调度管理方法、装置及电子设备制造方法及图纸

技术编号:35595081 阅读:22 留言:0更新日期:2022-11-16 15:13
本发明专利技术公开了一种任务调度管理方法、装置及电子设备,所述应用程序框架包括配置管理模块、主程序模块和业务子模块,所述方法包括:在所述应用程序框架运行时,所述主程序模块通过所述配置管理模块设置程序相关的配置信息;所述主程序模块根据所述配置信息创建线程池任务队列;所述主程序模块基于所述线程池任务队列对所述业务子模块进行任务调度。本方案提供了一种通用的应用程序开发框架,形成统一的开发框架和简单高效的业务逻辑处理,使得开发人员能快速构建应用程序框架,大大提高程序开发效率。效率。效率。

【技术实现步骤摘要】
一种任务调度管理方法、装置及电子设备


[0001]本专利技术涉及信息处理领域,尤其涉及一种任务调度管理方法、装置及电子设备。

技术介绍

[0002]目前,企业或个人在嵌入式Linux应用开发中因开发人员不同,所开发的应用程序框架也不尽相同,主要存在以下几个问题:(1)应用程序框架在线程资源管理、业务逻辑处理等方面因开发人员不同而导致性能、稳定性各不相同的问题;(2)风格不统一问题,多进程项目中,因开发人员不同而编写的应用程序框架风格不同,导致代码阅读性降低;(3)很多应用程序框架包含了特定业务逻辑处理,通用性不高,导致框架不易于移植扩展和不易维护的问题。

技术实现思路

[0003]本专利技术的目的是提供一种通用的应用程序开发框架,形成统一、简单高效的开发框架,使得开发人员能快速构建应用程序框架,大大提高程序开发效率。
[0004]为了实现上述专利技术目的,本专利技术实施例第一方面提供一种基于通用应用程序框架的任务调度管理方法,所述应用程序框架包括配置管理模块、主程序模块和业务子模块,所述方法包括:
[0005]在所述应用程序框架运行时,所述主程序模块通过所述配置管理模块设置程序相关的配置信息;
[0006]所述主程序模块根据所述配置信息创建线程池任务队列;
[0007]所述主程序模块基于所述线程池任务队列对所述业务子模块进行任务调度。
[0008]可选的,所述主程序模块基于所述线程池任务队列对所述业务子模块进行任务调度,包括:
[0009]获取所述线程池调度的当前状态,并判断所述线程池调度的当前状态是阻塞还是空闲;
[0010]根据所述线程池调度的当前状态对所述业务子模块进行任务调度。
[0011]可选的,根据所述线程池调度的当前状态对所述业务子模块进行任务调度,包括:
[0012]若所述线程池调度的当前状态是阻塞,则判断是否配置了阻塞退出程序;若配置有所述阻塞退出程序,则退出所述主程序;若未配置,则进入下一轮任务调度;
[0013]若所述线程池调度的当前状态是空闲,则判断所述业务子模块的执行状态;若所述业务子模块正在执行,则进入下一轮任务调度;若所述业务子模块未执行,则控制所述业务子模块业务执行当前任务,并更新所述业务子模块的执行状态。
[0014]可选的,所述配置信息包括最大线程数和程序执行间隔。
[0015]本专利技术实施例第二方面提供一种任务调度管理装置,包括:
[0016]配置管理模块,用于解析用户输入的命令行参数;
[0017]主程序模块,用于通过所述配置管理模块解析的命令行参数,设置程序相关的配
置信息,并根据所述配置信息创建线程池任务队列,基于所述线程池任务队列对业务子模块进行任务调度;
[0018]业务子模块,用于在所述主程序模块的任务调度下执行对应的任务。
[0019]可选的,所述装置包括:
[0020]定时器模块,用于处理定时任务;
[0021]日志模块,用于管理所述主程序模块和所述业务子模块产生的日志信息。
[0022]本专利技术实施例第三方面提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
[0023]本专利技术实施例第四方面提供一种电子设备,包括:
[0024]存储器,其上存储有计算机程序;
[0025]处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的步骤。
[0026]本专利技术实施例中的一个或者多个技术方案,至少具有如下技术效果或者优点:
[0027]本专利技术实施例的方案中,所述应用程序框架包括配置管理模块、主程序模块和业务子模块,在所述应用程序框架运行时,所述主程序模块通过所述配置管理模块设置程序相关的配置信息;所述主程序模块根据所述配置信息创建线程池任务队列;所述主程序模块基于所述线程池任务队列对所述业务子模块进行任务调度。本方案提供了一种通用的应用程序开发框架,形成统一的开发框架和简单高效的业务逻辑处理,使得开发人员能快速构建应用程序框架,大大提高程序开发效率。
附图说明
[0028]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图:
[0029]图1是根据一示例性实施例示出的通用应用程序框架的框图;
[0030]图2是根据一示例性实施例示出的任务调度管理方法的流程图;
[0031]图3是根据一示例性实施例示出的快速创建应用程序框架的流程图;
[0032]图4是根据一示例性实施例示出的任务调度管理方法的另一流程示意图;
[0033]图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0034]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0035]本说明书中,首先对应用程序框架的各组成部分进行说明。
[0036]请参考图1,图1是根据一示例性实施例示出的通用应用程序框架的框图。该框架100包括以下几个组成部分。
[0037]配置管理模块101,主要负责命令行参数,即性能调优参数的解析。开发人员通过命令行参数可以设置日志等级、最大线程数、程序执行间隔等等。
[0038]主程序模块102,主要负责各个业务子模块的注册和反注册管理,以及基于线程池任务队列进行任务调度管理、程序执行管理和程序退出管理。
[0039]业务子模块103,主要负责任务执行、运行状态管理、模块信息管理。开发人员通过继承该业务子模块103进行业务逻辑处理。
[0040]定时器模块104,应用程序框架提供定时器管理功能。开发人员可以使用该接口处理定时任务逻辑。
[0041]日志模块105,应用程序框架提供日志等级接口,开发人员可以通过该接口打印日志管理。
[0042]本专利技术实施例中,还可以根据需要增加异常捕获处理模块,用于对应用程序框架中的异常状态进行捕获和处理。
[0043]本专利技术实施例中的应用程序框架可以应用在Linux系统中,也可以应用在其他系统中,本专利技术对此不做限制。
[0044]请参考图2,图2是根据一示例性实施例示出的任务调度管理方法的流程图,该方法包括以下步骤。
[0045]步骤201,在所述应用程序框架运行时,所述主程序模块通过所述配置管理模块设置程序相关的配置信息。其中,配置信息可以包括日志等级、最大线程数和程序执行间隔等。
[0046]步骤202,所述主程序模块根据所述配置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于通用应用程序框架的任务调度管理方法,其特征在于,所述应用程序框架包括配置管理模块、主程序模块和业务子模块,所述方法包括:在所述应用程序框架运行时,所述主程序模块通过所述配置管理模块设置程序相关的配置信息;所述主程序模块根据所述配置信息创建线程池任务队列;所述主程序模块基于所述线程池任务队列对所述业务子模块进行任务调度。2.如权利要求1所述的方法,其特征在于,所述主程序模块基于所述线程池任务队列对所述业务子模块进行任务调度,包括:获取所述线程池调度的当前状态,并判断所述线程池调度的当前状态是阻塞还是空闲;根据所述线程池调度的当前状态对所述业务子模块进行任务调度。3.如权利要求2所述的方法,其特征在于,根据所述线程池调度的当前状态对所述业务子模块进行任务调度,包括:若所述线程池调度的当前状态是阻塞,则判断是否配置了阻塞退出程序;若配置有所述阻塞退出程序,则退出主程序;若未配置,则进入下一轮任务调度;若所述线程池调度的当前状态是空闲,则判断所述业务子模块的执行状态;若所述业务子模块正在执行,则进入下一轮任务调度;若所述业务子模块未执行,则控制...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:中瓴智行成都科技有限公司
类型:发明
国别省市:

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

1