一种分时任务管理的方法及相关装置
文献发布时间:2024-05-31 01:29:11
技术领域
本发明涉及计算机技术领域,尤其涉及一种分时任务管理的方法及相关装置。
背景技术
随着互联网应用的发展,任务处理的要求也越来越高,而任务调度能够较好地满足对于任务处理的高要求;在现有技术中,往往会使用Linux内核中包含的任务数据结构来进行任务调度控制,其主要把任务主要分为实时任务和普通任务,对于实时任务而言,有很高的优先级需要尽快完成交付;对于普通任务而言,没有一定的实时性要求,尽快完成交付即可;当系统中存在实时任务时,调度程序会优先选择实时任务执行,普通任务将得不到执行的机会,并且该任务调度方式占用资源大,启动时间慢,也不适合小型嵌入式系统。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种分时任务管理的方法及相关装置,采用定时器定时调度任务,并引用消息机制,实现任务间通信,不仅提高了系统启动效率,而且使任务管理更加轻量化和易于裁剪,从而确保每个任务都能得到执行。
为了解决上述技术问题,本发明提供了一种分时任务管理的方法,所述方法包括:
在嵌入式系统上设置每个任务的任务相关函数和任务参数;
基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务;
基于定时器利用所述任务参数对所述初始化任务进行定时调度。
可选的,所述任务相关函数包括任务函数和初始化函数;所述任务参数包括执行周期、启动时间和扫描周期。
可选的,所述基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务,包括:
基于任务相关函数中的任务函数和初始化函数利用预设分配顺序对任务中的变量和条件进行初始化处理,获得初始化任务,其中,所述初始化处理仅在嵌入式系统上电后执行。
可选的,所述利用预设分配顺序对任务中的变量和条件进行初始化处理,包括:
基于预设分配顺序利用任务函数和初始化函数定义任务变量,并对所述任务变量进行赋值;
基于所述预设分配顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对所述条件变量进行赋值。
可选的,所述基于定时器利用所述任务参数对所述初始化任务进行定时调度,包括:
基于所述定时器利用所述任务参数中的扫描周期进行定时任务调度处理,其中,每进行一次定时任务调度处理,则任务等待时间减少,当所述任务等待时间减少至零时,则将所述任务等待时间赋值为任务的执行周期,并基于所述执行周期执行对应的任务。
可选的,所述基于所述定时器利用所述任务参数中的扫描周期进行定时任务调度处理,还包括:
利用扫描周期对所述定时器设定定时时间;
基于所述定时时间对对应的任务进行定时调度处理,其中,每个任务中包含消息任务和事件任务,当与消息任务相关联的消息事件信号被使能时,执行所述消息任务,当对应任务进行调度处理,执行所述事件任务。
可选的,所述当对应任务进行调度处理,还包括:
当消息发送函数发送消息时,消息处理函数使能相关的消息事件信号,所述对应任务基于消息机制利用消息处理函数与指定任务建立通信并获取指定任务的数据。
另外,本发明还提供了一种分时任务管理的装置,所述装置包括:
设置模块,用于在嵌入式系统上设置每个任务的任务相关函数和任务参数;
初始化模块,用于基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务;
定时调度模块,用于基于定时器利用所述任务参数对所述初始化任务进行定时调度。
另外,本发明还提供了一种电子设备,所述电子设备包括处理器及存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行上述的分时任务管理方法。
另外,本发明还提供了一种计算机可读存储介质,用于存储计算机程序或代码,当所述计算机程序或代码被处理器执行时,实现上述的分时任务管理方法。
在本发明实施例中,首先设置任务的相关函数和参数,然后初始化任务,采用定时器定时调度初始化处理后的任务,可按需调节任务周期和扫描周期等关键参数,可以使任务按照参数设置轮流执行,并引用消息机制,实现任务间通信,激活相对应任务的数据传输,使得任务可以对数据变化进行快速处理,不仅提高了系统启动效率,而且使任务管理更加轻量化和易于裁剪,从而确保每个任务都能得到执行,且能够使任务的调度和通信都达到较为理想的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明第一实施例中的分时任务管理的方法的流程示意图;
图2是本发明第二实施例中的分时任务管理的方法的流程示意图;
图3是本发明第三实施例中的分时任务管理的方法的流程示意图;
图4是本发明第四实施例中的分时任务管理的方法的流程示意图;
图5是本发明实施例中的分时任务管理的装置的结构组成示意图;
图6是本发明实施例中的电子设备的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
请参阅图1,图1是本发明第一实施例中的分时任务管理的方法的流程示意图。
如图1所示,一种分时任务管理的方法,所述方法包括:
S11:在嵌入式系统上设置每个任务的任务相关函数和任务参数;
在本发明具体实施过程中,所述在嵌入式系统上设置每个任务的任务相关函数和任务参数,其中,所述任务相关函数包括任务函数和初始化函数,所述任务参数包括执行周期、启动时间和扫描周期。
具体的,在嵌入式系统上设置每个任务的任务函数、初始化函数、执行周期、启动时间和扫描周期,其中任务函数用于初始化任务中使用的变量,初始化函数对任务进行初始化处理,执行周期用于界定任务的执行时间,启动时间用于系统的上电,扫描周期决定了定时器的定时时间。
S12:基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务;
在本发明具体实施过程中,所述基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务,包括:基于任务相关函数中的任务函数和初始化函数利用预设分配顺序对任务中的变量和条件进行初始化处理,获得初始化任务,其中,所述初始化处理仅在嵌入式系统上电后执行。
进一步的,所述利用预设分配顺序对任务中的变量和条件进行初始化处理,包括:基于预设分配顺序利用任务函数和初始化函数定义任务变量,并对所述任务变量进行赋值;基于所述预设分配顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对所述条件变量进行赋值。
具体的,对任务变量进行初始化是指在使用变量之前,将其赋予一个初始值的过程,根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务变量,并对任务变量进行赋值,任务函数用于初始化任务中使用的变量,初始化函数是对任务进行具体的初始化处理,对变量进行初始化是必要过程,因为若变量未进行初始化,会导致后续的处理出错;根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对条件变量进行赋值,条件的执行包含条件变量、条件判断和条件变化,对条件变量赋值用于定义任务条件执行的初始值,条件判断是界定任务执行的循环和结束,当完成条件判断的最终循环后,便可执行完成,条件变化是任务执行的相关变化,初始化处理仅在嵌入式系统上电后执行一遍。
S13:基于定时器利用所述任务参数对所述初始化任务进行定时调度。
在本发明具体实施过程中,所述基于定时器利用所述任务参数对所述初始化任务进行定时调度,包括:基于定时器利用所述任务参数中的扫描周期进行定时任务调度处理,其中,每进行一次定时任务调度处理,则任务等待时间减少,当所述任务等待时间减少至零时,则将所述任务等待时间赋值为任务的执行周期,并基于所述执行周期执行对应的任务。
进一步的,所述基于定时器利用所述任务参数中的扫描周期进行定时任务调度处理,还包括:利用扫描周期对所述定时器设定定时时间;基于所述定时时间对对应的任务进行定时调度处理,其中,每个任务中包含消息任务和事件任务,当与消息任务相关联的消息事件信号被使能时,执行所述消息任务,当对应任务进行调度处理,执行所述事件任务。
进一步的,所述当对应任务进行调度处理,还包括:当消息发送函数发送消息时,消息处理函数使能相关的消息事件信号,所述对应任务基于消息机制利用消息处理函数与指定任务建立通信并获取指定任务的数据。
具体的,采用定时器定时调度任务,定时器可分为硬件定时器和软件定时器,硬件定时器通过特定的定时器芯片来实现定时计时操作,硬件定时器具有更高的精度和稳定性,能够提供更加准确的定时操作,但需要特定硬件支持,实现方式比较困难,软件定时器通过编写程序,在程序中设置一个计时器变量或定时器变量,当设置的变量达到预设值,便会触发相应的操作,软件定时器具有更高的灵活性,但精度较低,根据具体的情况来选择具体的定时器类型,定时时间由扫描周期决定,每一个扫描周期进入一次定时调度管理功能,每进入一次定时调度,所有任务剩余等待时间减一,当任务等待时间为0时,将任务等待时间重新赋值为该任务的执行周期,并且跳入任务执行,执行完成后重新进入调度队列,等待调度;对任务调度而言,每个任务都含有消息任务和事件任务,消息任务只有在接收到向该任务发送的消息时才会执行,事件任务每次调度必定执行,每个任务可以设置开始时间和执行周期,任务调度以1ms定时器为时基,按照任务设置轮流执行;在任务调度的过程中引入了消息机制,每次调用消息发送函数,可以向指定任务发送消息,并使能该任务的消息任务,使能处理就是将相应的消息事件信号写1,相应的消息任务通过判断该信号是否为1,来决定是否执行,只有与消息任务相关联的消息事件信号被使能时,消息任务才会被执行,消息事件信号由消息处理函数使能,消息处理函数是任务调度函数的一部分,当消息发送函数发送信息时,消息处理函数使能相关的消息事件信号,消息发送函数有两个参数,分别是消息接收任务名和传输数据;在任务调度处理中引入消息机制可以激活对相应任务的数据传输,当消息传递被激活,相应任务执行时,会通过消息处理函数来获取数据,使得任务可以对数据变化进行快速处理,从而能够更加提高任务的定时调度效率,且能更好的完成任务定时调度。
在本发明实施例中,首先设置任务的相关函数和参数,然后初始化任务,采用定时器定时调度初始化处理后的任务,可按需调节任务周期和扫描周期等关键参数,可以使任务按照参数设置轮流执行,并引用消息机制,实现任务间通信,激活相对应任务的数据传输,使得任务可以对数据变化进行快速处理,不仅提高了系统启动效率,而且使任务管理更加轻量化和易于裁剪,从而确保每个任务都能得到执行,且能够使任务的调度和通信都达到较为理想的效果。
实施例二
请参阅图2,图2是本发明第二实施例中的分时任务管理的方法的流程示意图。
如图2所示,一种分时任务管理的方法,所述方法包括:
S21:在嵌入式系统上设置每个任务的任务相关函数和任务参数;
在本发明具体实施过程中,所述在嵌入式系统上设置每个任务的任务相关函数和任务参数,其中,所述任务相关函数包括任务函数和初始化函数,所述任务参数包括执行周期、启动时间和扫描周期。
具体的,在嵌入式系统上设置每个任务的任务函数、初始化函数、执行周期、启动时间和扫描周期,其中任务函数用于初始化任务中使用的变量,初始化函数对任务进行初始化处理,执行周期用于界定任务的执行时间,启动时间用于系统的上电,扫描周期决定了定时器的定时时间。
S22:基于预设分配顺序利用任务函数和初始化函数定义任务变量,并对所述任务变量进行赋值;
在本发明具体实施过程中,对任务变量进行初始化是指在使用变量之前,将其赋予一个初始值的过程,根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务变量,并对任务变量进行赋值,任务函数用于初始化任务中使用的变量,初始化函数是对任务进行具体的初始化处理,对变量进行初始化是必要过程,因为若变量未进行初始化,会导致后续的处理出错。
S23:基于所述预设分配顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对所述条件变量进行赋值;
在本发明具体实施过程中,根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对条件变量进行赋值,条件的执行包含条件变量、条件判断和条件变化,对条件变量赋值用于定义任务条件执行的初始值,条件判断是界定任务执行的循环和结束,当完成条件判断的最终循环后,便可执行完成,条件变化是任务执行的相关变化,初始化处理仅在嵌入式系统上电后执行一遍。
S24:基于定时器利用所述任务参数对所述初始化任务进行定时调度。
在本发明具体实施过程中,所述基于定时器利用所述任务参数对所述初始化任务进行定时调度,包括:基于定时器利用所述任务参数中的扫描周期进行定时任务调度处理,其中,每进行一次定时任务调度处理,则任务等待时间减少,当所述任务等待时间减少至零时,则将所述任务等待时间赋值为任务的执行周期,并基于所述执行周期执行对应的任务。
进一步的,所述基于定时器利用所述任务参数中的扫描周期进行定时任务调度处理,还包括:利用扫描周期对所述定时器设定定时时间;基于所述定时时间对对应的任务进行定时调度处理,其中,每个任务中包含消息任务和事件任务,当与消息任务相关联的消息事件信号被使能时,执行所述消息任务,当对应任务进行调度处理,执行所述事件任务。
进一步的,所述当对应任务进行调度处理,还包括:当消息发送函数发送消息时,消息处理函数使能相关的消息事件信号,所述对应任务基于消息机制利用消息处理函数与指定任务建立通信并获取指定任务的数据。
具体的,采用定时器定时调度任务,定时器可分为硬件定时器和软件定时器,硬件定时器通过特定的定时器芯片来实现定时计时操作,硬件定时器具有更高的精度和稳定性,能够提供更加准确的定时操作,但需要特定硬件支持,实现方式比较困难,软件定时器通过编写程序,在程序中设置一个计时器变量或定时器变量,当设置的变量达到预设值,便会触发相应的操作,软件定时器具有更高的灵活性,但精度较低,根据具体的情况来选择具体的定时器类型,定时时间由扫描周期决定,每一个扫描周期进入一次定时调度管理功能,每进入一次定时调度,所有任务剩余等待时间减一,当任务等待时间为0时,将任务等待时间重新赋值为该任务的执行周期,并且跳入任务执行,执行完成后重新进入调度队列,等待调度;对任务调度而言,每个任务都含有消息任务和事件任务,消息任务只有在接收到向该任务发送的消息时才会执行,事件任务每次调度必定执行,每个任务可以设置开始时间和执行周期,任务调度以1ms定时器为时基,按照任务设置轮流执行;在任务调度的过程中引入了消息机制,每次调用消息发送函数,可以向指定任务发送消息,并使能该任务的消息任务,使能处理就是将相应的消息事件信号写1,相应的消息任务通过判断该信号是否为1,来决定是否执行,只有与消息任务相关联的消息事件信号被使能时,消息任务才会被执行,消息事件信号由消息处理函数使能,消息处理函数是任务调度函数的一部分,当消息发送函数发送信息时,消息处理函数使能相关的消息事件信号,消息发送函数有两个参数,分别是消息接收任务名和传输数据;在任务调度处理中引入消息机制可以激活对相应任务的数据传输,当消息传递被激活,相应任务执行时,会通过消息处理函数来获取数据,使得任务可以对数据变化进行快速处理,从而能够更加提高任务的定时调度效率,且能更好的完成任务定时调度。
在本发明实施例中,首先设置任务的相关函数和参数,然后初始化任务,采用定时器定时调度初始化处理后的任务,可按需调节任务周期和扫描周期等关键参数,可以使任务按照参数设置轮流执行,并引用消息机制,实现任务间通信,激活相对应任务的数据传输,使得任务可以对数据变化进行快速处理,不仅提高了系统启动效率,而且使任务管理更加轻量化和易于裁剪,从而确保每个任务都能得到执行,且能够使任务的调度和通信都达到较为理想的效果。
实施例三
请参阅图3,图3是本发明第三实施例中的分时任务管理的方法的流程示意图。
如图3所示,一种分时任务管理的方法,所述方法包括:
S31:在嵌入式系统上设置每个任务的任务相关函数和任务参数;
在本发明具体实施过程中,所述在嵌入式系统上设置每个任务的任务相关函数和任务参数,其中,所述任务相关函数包括任务函数和初始化函数,所述任务参数包括执行周期、启动时间和扫描周期。
具体的,在嵌入式系统上设置每个任务的任务函数、初始化函数、执行周期、启动时间和扫描周期,其中任务函数用于初始化任务中使用的变量,初始化函数对任务进行初始化处理,执行周期用于界定任务的执行时间,启动时间用于系统的上电,扫描周期决定了定时器的定时时间。
S32:基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务;
在本发明具体实施过程中,所述基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务,包括:基于任务相关函数中的任务函数和初始化函数利用预设分配顺序对任务中的变量和条件进行初始化处理,获得初始化任务,其中,所述初始化处理仅在嵌入式系统上电后执行。
进一步的,所述利用预设分配顺序对任务中的变量和条件进行初始化处理,包括:基于预设分配顺序利用任务函数和初始化函数定义任务变量,并对所述任务变量进行赋值;基于所述预设分配顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对所述条件变量进行赋值。
具体的,对任务变量进行初始化是指在使用变量之前,将其赋予一个初始值的过程,根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务变量,并对任务变量进行赋值,任务函数用于初始化任务中使用的变量,初始化函数是对任务进行具体的初始化处理,对变量进行初始化是必要过程,因为若变量未进行初始化,会导致后续的处理出错;根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对条件变量进行赋值,条件的执行包含条件变量、条件判断和条件变化,对条件变量赋值用于定义任务条件执行的初始值,条件判断是界定任务执行的循环和结束,当完成条件判断的最终循环后,便可执行完成,条件变化是任务执行的相关变化,初始化处理仅在嵌入式系统上电后执行一遍。
S33:利用扫描周期对所述定时器设定定时时间;
在本发明具体实施过程中,采用定时器定时调度任务,定时器可分为硬件定时器和软件定时器,硬件定时器通过特定的定时器芯片来实现定时计时操作,硬件定时器具有更高的精度和稳定性,能够提供更加准确的定时操作,但需要特定硬件支持,实现方式比较困难,软件定时器通过编写程序,在程序中设置一个计时器变量或定时器变量,当设置的变量达到预设值,便会触发相应的操作,软件定时器具有更高的灵活性,但精度较低,根据具体的情况来选择具体的定时器类型,定时时间由扫描周期决定,每一个扫描周期进入一次定时调度管理功能。
S34:基于所述定时时间对对应的任务进行定时调度处理,其中,每个任务中包含消息任务和事件任务,当与消息任务相关联的消息事件信号被使能时,执行所述消息任务,当对应任务进行调度处理,执行所述事件任务;
在本发明具体实施过程中,根据定时时间对对应任务进行定时调度处理,每进入一次定时调度,所有任务剩余等待时间减一,当任务等待时间为0时,将任务等待时间重新赋值为该任务的执行周期,并且跳入任务执行,执行完成后重新进入调度队列,等待调度;对任务调度而言,每个任务都含有消息任务和事件任务,消息任务只有在接收到向该任务发送的消息时才会执行,事件任务每次调度必定执行,每个任务可以设置开始时间和执行周期,任务调度以1ms定时器为时基,按照任务设置轮流执行;在任务调度的过程中引入了消息机制,每次调用消息发送函数,可以向指定任务发送消息,并使能该任务的消息任务,使能处理就是将相应的消息事件信号写1,相应的消息任务通过判断该信号是否为1,来决定是否执行,只有与消息任务相关联的消息事件信号被使能时,消息任务才会被执行,消息事件信号由消息处理函数使能,消息处理函数是任务调度函数的一部分,当消息发送函数发送信息时,消息处理函数使能相关的消息事件信号,消息发送函数有两个参数,分别是消息接收任务名和传输数据;在任务调度处理中引入消息机制可以激活对相应任务的数据传输,当消息传递被激活,相应任务执行时,会通过消息处理函数来获取数据,使得任务可以对数据变化进行快速处理,从而能够更加提高任务的定时调度效率,且能更好的完成任务定时调度。
在本发明实施例中,首先设置任务的相关函数和参数,然后初始化任务,采用定时器定时调度初始化处理后的任务,可按需调节任务周期和扫描周期等关键参数,可以使任务按照参数设置轮流执行,并引用消息机制,实现任务间通信,激活相对应任务的数据传输,使得任务可以对数据变化进行快速处理,不仅提高了系统启动效率,而且使任务管理更加轻量化和易于裁剪,从而确保每个任务都能得到执行,且能够使任务的调度和通信都达到较为理想的效果。
实施例四
请参阅图4,图4是本发明第四实施例中的分时任务管理的方法的流程示意图。
如图4所示,一种分时任务管理的方法,所述方法包括:
S41:在嵌入式系统上设置每个任务的任务相关函数和任务参数;
在本发明具体实施过程中,所述在嵌入式系统上设置每个任务的任务相关函数和任务参数,其中,所述任务相关函数包括任务函数和初始化函数,所述任务参数包括执行周期、启动时间和扫描周期。
具体的,在嵌入式系统上设置每个任务的任务函数、初始化函数、执行周期、启动时间和扫描周期,其中任务函数用于初始化任务中使用的变量,初始化函数对任务进行初始化处理,执行周期用于界定任务的执行时间,启动时间用于系统的上电,扫描周期决定了定时器的定时时间。
S42:基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务;
在本发明具体实施过程中,所述基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务,包括:基于任务相关函数中的任务函数和初始化函数利用预设分配顺序对任务中的变量和条件进行初始化处理,获得初始化任务,其中,所述初始化处理仅在嵌入式系统上电后执行。
进一步的,所述利用预设分配顺序对任务中的变量和条件进行初始化处理,包括:基于预设分配顺序利用任务函数和初始化函数定义任务变量,并对所述任务变量进行赋值;基于所述预设分配顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对所述条件变量进行赋值。
具体的,对任务变量进行初始化是指在使用变量之前,将其赋予一个初始值的过程,根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务变量,并对任务变量进行赋值,任务函数用于初始化任务中使用的变量,初始化函数是对任务进行具体的初始化处理,对变量进行初始化是必要过程,因为若变量未进行初始化,会导致后续的处理出错;根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对条件变量进行赋值,条件的执行包含条件变量、条件判断和条件变化,对条件变量赋值用于定义任务条件执行的初始值,条件判断是界定任务执行的循环和结束,当完成条件判断的最终循环后,便可执行完成,条件变化是任务执行的相关变化,初始化处理仅在嵌入式系统上电后执行一遍。
S43:基于定时器利用所述任务参数对所述初始化任务进行定时调度。
在本发明具体实施过程中,采用定时器定时调度任务,定时器可分为硬件定时器和软件定时器,硬件定时器通过特定的定时器芯片来实现定时计时操作,硬件定时器具有更高的精度和稳定性,能够提供更加准确的定时操作,但需要特定硬件支持,实现方式比较困难,软件定时器通过编写程序,在程序中设置一个计时器变量或定时器变量,当设置的变量达到预设值,便会触发相应的操作,软件定时器具有更高的灵活性,但精度较低,根据具体的情况来选择具体的定时器类型,定时时间由扫描周期决定,每一个扫描周期进入一次定时调度管理功能,每进入一次定时调度,所有任务剩余等待时间减一,当任务等待时间为0时,将任务等待时间重新赋值为该任务的执行周期,并且跳入任务执行,执行完成后重新进入调度队列,等待调度;对任务调度而言,每个任务都含有消息任务和事件任务,消息任务只有在接收到向该任务发送的消息时才会执行,事件任务每次调度必定执行,每个任务可以设置开始时间和执行周期,任务调度以1ms定时器为时基,按照任务设置轮流执行。
S44:所述当对应任务进行定时调度处理时,消息发送函数发送消息时,消息处理函数使能相关的消息事件信号,所述对应任务基于消息机制利用消息处理函数与指定任务建立通信并获取指定任务的数据。
在本发明具体实施过程中,在任务调度的过程中引入了消息机制,每次调用消息发送函数,可以向指定任务发送消息,并使能该任务的消息任务,使能处理就是将相应的消息事件信号写1,相应的消息任务通过判断该信号是否为1,来决定是否执行,只有与消息任务相关联的消息事件信号被使能时,消息任务才会被执行,消息事件信号由消息处理函数使能,消息处理函数是任务调度函数的一部分,当消息发送函数发送信息时,消息处理函数使能相关的消息事件信号,消息发送函数有两个参数,分别是消息接收任务名和传输数据;在任务调度处理中引入消息机制可以激活对相应任务的数据传输,当消息传递被激活,相应任务执行时,会通过消息处理函数来获取数据,使得任务可以对数据变化进行快速处理,从而能够更加提高任务的定时调度效率,且能更好的完成任务定时调度。
在本发明实施例中,首先设置任务的相关函数和参数,然后初始化任务,采用定时器定时调度初始化处理后的任务,可按需调节任务周期和扫描周期等关键参数,可以使任务按照参数设置轮流执行,并引用消息机制,实现任务间通信,激活相对应任务的数据传输,使得任务可以对数据变化进行快速处理,不仅提高了系统启动效率,而且使任务管理更加轻量化和易于裁剪,从而确保每个任务都能得到执行,且能够使任务的调度和通信都达到较为理想的效果。
实施例五
请参阅图5,图5是本发明实施例中的分时任务管理的装置的结构组成示意图。
如图5所示,一种分时任务管理的装置,所述装置包括:
设置模块51:用于在嵌入式系统上设置每个任务的任务相关函数和任务参数;
在本发明具体实施过程中,所述在嵌入式系统上设置每个任务的任务相关函数和任务参数,其中,所述任务相关函数包括任务函数和初始化函数,所述任务参数包括执行周期、启动时间和扫描周期。
具体的,在嵌入式系统上设置每个任务的任务函数、初始化函数、执行周期、启动时间和扫描周期,其中任务函数用于初始化任务中使用的变量,初始化函数对任务进行初始化处理,执行周期用于界定任务的执行时间,启动时间用于系统的上电,扫描周期决定了定时器的定时时间。
初始化模块52:用于基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务;
在本发明具体实施过程中,所述基于所述任务相关函数对每个任务进行初始化处理,获得初始化任务,包括:基于任务相关函数中的任务函数和初始化函数利用预设分配顺序对任务中的变量和条件进行初始化处理,获得初始化任务,其中,所述初始化处理仅在嵌入式系统上电后执行。
进一步的,所述利用预设分配顺序对任务中的变量和条件进行初始化处理,包括:基于预设分配顺序利用任务函数和初始化函数定义任务变量,并对所述任务变量进行赋值;基于所述预设分配顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对所述条件变量进行赋值。
具体的,对任务变量进行初始化是指在使用变量之前,将其赋予一个初始值的过程,根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务变量,并对任务变量进行赋值,任务函数用于初始化任务中使用的变量,初始化函数是对任务进行具体的初始化处理,对变量进行初始化是必要过程,因为若变量未进行初始化,会导致后续的处理出错;根据操作系统数据块预分配的顺序利用任务函数和初始化函数定义任务条件的条件变量、条件判断和条件变化,并对条件变量进行赋值,条件的执行包含条件变量、条件判断和条件变化,对条件变量赋值用于定义任务条件执行的初始值,条件判断是界定任务执行的循环和结束,当完成条件判断的最终循环后,便可执行完成,条件变化是任务执行的相关变化,初始化处理仅在嵌入式系统上电后执行一遍。
定时调度模块53:用于基于定时器利用所述任务参数对所述初始化任务进行定时调度。
在本发明具体实施过程中,所述基于定时器利用所述任务参数对所述初始化任务进行定时调度,包括:基于定时器利用所述任务参数中的扫描周期进行定时任务调度处理,其中,每进行一次定时任务调度处理,则任务等待时间减少,当所述任务等待时间减少至零时,则将所述任务等待时间赋值为任务的执行周期,并基于所述执行周期执行对应的任务。
进一步的,所述基于定时器利用所述任务参数中的扫描周期进行定时任务调度处理,还包括:利用扫描周期对所述定时器设定定时时间;基于所述定时时间对对应的任务进行定时调度处理,其中,每个任务中包含消息任务和事件任务,当与消息任务相关联的消息事件信号被使能时,执行所述消息任务,当对应任务进行调度处理,执行所述事件任务。
进一步的,所述当对应任务进行调度处理,还包括:当消息发送函数发送消息时,消息处理函数使能相关的消息事件信号,所述对应任务基于消息机制利用消息处理函数与指定任务建立通信并获取指定任务的数据。
具体的,采用定时器定时调度任务,定时器可分为硬件定时器和软件定时器,硬件定时器通过特定的定时器芯片来实现定时计时操作,硬件定时器具有更高的精度和稳定性,能够提供更加准确的定时操作,但需要特定硬件支持,实现方式比较困难,软件定时器通过编写程序,在程序中设置一个计时器变量或定时器变量,当设置的变量达到预设值,便会触发相应的操作,软件定时器具有更高的灵活性,但精度较低,根据具体的情况来选择具体的定时器类型,定时时间由扫描周期决定,每一个扫描周期进入一次定时调度管理功能,每进入一次定时调度,所有任务剩余等待时间减一,当任务等待时间为0时,将任务等待时间重新赋值为该任务的执行周期,并且跳入任务执行,执行完成后重新进入调度队列,等待调度;对任务调度而言,每个任务都含有消息任务和事件任务,消息任务只有在接收到向该任务发送的消息时才会执行,事件任务每次调度必定执行,每个任务可以设置开始时间和执行周期,任务调度以1ms定时器为时基,按照任务设置轮流执行;在任务调度的过程中引入了消息机制,每次调用消息发送函数,可以向指定任务发送消息,并使能该任务的消息任务,使能处理就是将相应的消息事件信号写1,相应的消息任务通过判断该信号是否为1,来决定是否执行,只有与消息任务相关联的消息事件信号被使能时,消息任务才会被执行,消息事件信号由消息处理函数使能,消息处理函数是任务调度函数的一部分,当消息发送函数发送信息时,消息处理函数使能相关的消息事件信号,消息发送函数有两个参数,分别是消息接收任务名和传输数据;在任务调度处理中引入消息机制可以激活对相应任务的数据传输,当消息传递被激活,相应任务执行时,会通过消息处理函数来获取数据,使得任务可以对数据变化进行快速处理,从而能够更加提高任务的定时调度效率,且能更好的完成任务定时调度。
在本发明实施例中,首先设置任务的相关函数和参数,然后初始化任务,采用定时器定时调度初始化处理后的任务,可按需调节任务周期和扫描周期等关键参数,可以使任务按照参数设置轮流执行,并引用消息机制,实现任务间通信,激活相对应任务的数据传输,使得任务可以对数据变化进行快速处理,不仅提高了系统启动效率,而且使任务管理更加轻量化和易于裁剪,从而确保每个任务都能得到执行,且能够使任务的调度和通信都达到较为理想的效果。
本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例中任意一个实施例的分时任务管理方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
实施例六
请参阅图6,图6是本发明实施例中的电子设备的结构组成示意图。
本发明实施例还提供了一种电子设备,如图6所示,所述电子设备包括存储器61、处理器63以及存储在存储器61中并可在处理器63上运行的计算机程序62。本领域技术人员可以理解,图6示出的电子设备并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器61可用于存储计算机程序62以及各功能模块,处理器63运行存储在存储器61的计算机程序62,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
作为一个实施例,所述电子设备包括:一个或多个处理器63,存储器61,一个或多个计算机程序62,其中所述一个或多个应用程序62被存储在存储器61中并被配置为由所述一个或多个处理器63执行,所述一个或多个计算机程序62配置用于执行上述任意一实施例中的分时任务管理方法,具体实施过程请参阅上述实施例,在此不在赘述。
在本发明实施例中,首先设置任务的相关函数和参数,然后初始化任务,采用定时器定时调度初始化处理后的任务,可按需调节任务周期和扫描周期等关键参数,可以使任务按照参数设置轮流执行,并引用消息机制,实现任务间通信,激活相对应任务的数据传输,使得任务可以对数据变化进行快速处理,不仅提高了系统启动效率,而且使任务管理更加轻量化和易于裁剪,从而确保每个任务都能得到执行,且能够使任务的调度和通信都达到较为理想的效果。
另外,以上对本发明实施例所提供的一种分时任务管理的方法及相关装置进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
- 一种存储集群的任务管理方法及装置
- 一种分时复用光纤可燃气体报警装置及方法
- 一种用于使数字信号和相关码相关的方法、装置、计算机程序、芯片组或数据结构
- 一种模型训练方法、合成说话表情的方法和相关装置
- 一种图像识别模型的训练方法、图像识别方法和相关装置
- 一种动态队列的任务管理方法、系统及相关装置
- 一种计算机任务管理方法、装置及相关设备