CN111143045A - 智能家居操作系统的任务调度方法及装置、存储介质 - Google Patents
智能家居操作系统的任务调度方法及装置、存储介质 Download PDFInfo
- Publication number
- CN111143045A CN111143045A CN201911268984.0A CN201911268984A CN111143045A CN 111143045 A CN111143045 A CN 111143045A CN 201911268984 A CN201911268984 A CN 201911268984A CN 111143045 A CN111143045 A CN 111143045A
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- scheduling
- priority
- scheduler
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000875 corresponding effect Effects 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000003068 static effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种智能家居操作系统的任务调度方法及装置、存储介质,上述方法包括:通过第一调度器根据输入参数确定待执行任务的优先级,其中,输入参数包括以下至少之一:待执行任务的重要度、待执行任务的紧迫度和待执行任务的任务周期;根据待执行任务的优先级,对任务队列中的待执行任务进行调度,在第一任务与第二任务的优先级相同的情况下,根据第一任务和第二任务的截止期指示第二调度器调度第一任务和第二任务,第一任务为任务队列中最高优先级的任务,第二任务为当前正在执行的任务。通过本发明,可以解决在智能家居系统中对任务进行调度时,调度开销较大等技术问题,能够更好地满足系统实时要求,同时降低了系统的调度开销。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种智能家居操作系统的任务调度方法及装置、存储介质。
背景技术
现有技术中,智能家居操作系统多采用嵌入式实时操作系统。实时操作系统的任务调度方式分为静态调度算法和动态调度算法。静态调度算法的优点是运行开销小,可预测性强。动态调度算法只考虑目前就绪的作业集中各作业参数,由此来决定当前的调度序列,动态调度算法比较灵活。
静态调度算法和动态调度算法都有很多缺点。例如,静态调度算法对非周期任务处理低效,并且在运行期间是无法改变执行顺序的,因此灵活性较差。动态调度算法不对将要到达的作业进行预测,因此动态调度算法的可预测性差,并且运行开销较大,以及动态算法可能导致一个任务在处理器之间多次徘徊,从而消耗更多时间。
针对相关技术中,在智能家居系统中对任务进行调度时,调度开销较大等技术问题,尚未提出技术方案。
发明内容
本发明实施例提供了一种智能家居操作系统的任务调度方法及装置、存储介质。以至少解决相关技术中,在智能家居系统中对任务进行调度时,调度开销较大等技术问题。
根据本发明的一个实施例,提供了一种智能家居操作系统的任务调度方法,包括:通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;
根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。
可选地,通过第一调度器根据输入参数确定待执行任务的优先级之前,所述方法还包括:
根据以下公式确定所述待执行任务的紧迫度R(T):
R(T)=(tα-tγ)/(tδ-t),其中,所述tα表示完成所述待执行任务所需的时长,所述tγ表示所述待执行任务已经执行的时长,所述tδ表示所述待执行任务的截止期,所述t表示当前时刻。
可选地,根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,包括:根据所述待执行任务的优先级,将所述待执行任务写入到所述任务队列中;从所述任务队列中确定所述第一任务;对所述第一任务进行调度。
可选地,所述对所述第一任务进行调度,包括:在所述第二任务的优先级低于所述第一任务的优先级的情况下,指示所述第一任务抢占所述第二任务的调度资源;通过第一任务所抢占的所述调度资源执行所述第一任务。
可选地,所述根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,包括:获取所述第一任务的第一截止期和所述第二任务的第二截止期;指示所述第二调度器优先调度所述第一任务和第二任务中截止期早的任务。
可选地,所述通过第一调度器根据输入参数确定待执行任务的优先级,包括:至少根据以下公式确定所述优先级P:
P=w1×C(T)+w2×10×S-1(T)+w3×R(T),其中,C(T)为所述重要度,S(T)为所述任务周期,R(T)为所述紧迫度,w1为所述重要度对应的权重,w2为所述任务周期对应的权重,w3为所述紧迫度对应的权重。
可选地,所述待执行任务至少包括以下之一:场景任务,定时任务。
根据本发明的另一个实施例,提供了一种智能家居操作系统的任务调度装置,包括:
第一确定模块,用于通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;
调度模块,用于根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。
可选地,所述装置还包括:
第二确定模块,用于根据以下公式确定所述待执行任务的紧迫度R(T):
R(T)=(tα-tγ)/(tδ-t),其中,所述tα表示完成所述待执行任务所需的时长,所述tγ表示所述待执行任务已经执行的时长,所述tδ表示所述待执行任务的截止期,所述t表示当前时刻。
可选地,所述调度模块,还用于:根据所述待执行任务的优先级,将所述待执行任务写入到所述任务队列中;从所述任务队列中确定所述第一任务;对所述第一任务进行调度。
可选地,所述调度模块,还用于:在所述第二任务的优先级低于所述第一任务的优先级的情况下,指示所述第一任务抢占所述第二任务的调度资源;通过第一任务所抢占的所述调度资源执行所述第一任务。
可选地,所述调度模块,还用于:获取所述第一任务的第一截止期和所述第二任务的第二截止期;指示所述第二调度器优先调度所述第一任务和第二任务中截止期早的任务。
可选地,所述第一确定模块,还用于:至少根据以下公式确定所述优先级P:
P=w1×C(T)+w2×10×S-1(T)+w3×R(T),其中,C(T)为所述重要度,S(T)为所述任务周期,R(T)为所述紧迫度,w1为所述重要度对应的权重,w2为所述任务周期对应的权重,w3为所述紧迫度对应的权重。
可选地,所述待执行任务至少包括以下之一:场景任务,定时任务。
可选地,根据本发明的另一个实施例,提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述方法。
可选地,根据本发明的另一个实施例,提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述方法。
通过本发明,通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。因此,可以解决在智能家居系统中对任务进行调度时,调度开销较大等技术问题,能够更好地满足系统实时要求,同时降低了系统的调度开销。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据本发明实施例的智能家居操作系统的任务调度方法的流程图;
图2为根据本发明实施例的智能家居操作系统的任务调度器的结构框图;
图3是根据本发明实施例的智能家居操作系统的任务调度装置的结构框图;
图4是根据本发明另一实施例的智能家居操作系统的任务调度装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本发明实施例提供了一种智能家居操作系统的任务调度方法。图1为根据本发明实施例的智能家居操作系统的任务调度方法的流程图,如图1所示,包括:
步骤S102,通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;
步骤S104,根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。
通过本发明,通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。因此,可以解决在智能家居系统中对任务进行调度时,调度开销较大等技术问题,能够更好地满足系统实时要求,同时降低了系统的调度开销。
需要说明的是,在上述实施例中,待执行任务的重要度用于指示待执行任务的紧急程度,待执行任务的任务周期用于执行所述任务的周期,即按照任务周期执行待执行任务。作为一种可选的实施方式,可以预先设置待执行任务的重要度和任务周期,并且待执行任务的重要度与待执行任务的紧急程度可以正相关,即待执行任务的紧急程度越高,重要度越高。
作为一种可选的实施方式,上述实施例还可以在通过第一调度器根据输入参数确定待执行任务的优先级之前,执行以下技术方案:根据以下公式确定所述待执行任务的紧迫度R(T):
R(T)=(tα-tγ)/(tδ-t),其中,所述tα表示完成所述待执行任务所需的时长,所述tγ表示所述待执行任务已经执行的时长,所述tδ表示所述待执行任务的截止期,所述t表示当前时刻。
在本发明的上述实施例中,紧迫度用于反映待执行任务的紧迫程度,当待执行任务的剩余执行时间越长,距离该待执行任务的截止期越近,则说明待执行任务的执行紧迫度越高。由于根据待执行任务的剩余执行时间、距离该待执行任务的截止期的时间,确定出待执行任务的紧迫度,从而能够精确地确定出待执行任务的紧急程度。
需要说明的是,在上述实施例中,tα表示完成所述待执行任务所需的时长,即在智能家居操作系统正常的情况下完成该待执行任务所用的时长(例如1小时)。作为一种可选的实施方式,在任务计划阶段或仿真参数的输入阶段预测或输入参数tα。tγ表示所述待执行任务已经执行的时长,例如对于tα为1小时的待执行任务,该待执行任务的tγ可以为0.5小时(即表示该待执行的任务已经被执行了0.5小时),tα-tγ表示该待执行任务的剩余执行时间(即完成该待执行任务还需要多长时间)。tδ表示所述待执行任务的截止期(例如待执行任务为:21:00前红外入侵探测器处于布防状态,则21:00点即为该待执行任务的截止期)。tδ-t表示可用于执行该待执行任务的时间。
此外,根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,包括:根据所述待执行任务的优先级,将所述待执行任务写入到所述任务队列中;从所述任务队列中确定所述第一任务;对所述第一任务进行调度。
需要说明的是,在上述实施例中,从任务队列中确定出优先级最高的第一任务,并对该第一任务进行调度,即按照待执行任务的优先级对各个待执行任务进行调度,从而保证了任务的有序执行、满足了系统要求。
其中,所述对所述第一任务进行调度,包括:在所述第二任务的优先级低于所述第一任务的优先级的情况下,指示所述第一任务抢占所述第二任务的调度资源;通过第一任务所抢占的所述调度资源执行所述第一任务。
在上述实施例中,在第二任务的优先级低于第一任务的优先级的情况下,指示所述第一任务抢占所述第二任务的调度资源,以及通过第一任务所抢占的所述调度资源执行所述第一任务。即优先执行第一任务,从而可以确保优先执行优先级较高的任务,确保了优先级高的任务的顺利执行。
基于上述实施例,所述根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,包括:获取所述第一任务的第一截止期和所述第二任务的第二截止期;指示所述第二调度器优先调度所述第一任务和第二任务中截止期早的任务。
需要说明的是,在上述实施例中,指示所述第二调度器优先调度所述第一任务和第二任务中截止期早的任务,即在所述第一截止期早于所述第二截止期的情况下,指示所述第二调度器优先调度所述第一任务;在所述第二截止期早于所述第一截止期的情况下,指示所述第二调度器优先调度所述第二任务,即继续执行正在执行的第二任务。由于根据任务的截止期确定优先执行的任务,从而可以优先执行截止期早的任务,进一步实现了对任务调度的优化。
作为一种可选的实施方式,所述通过第一调度器根据输入参数确定待执行任务的优先级,包括:至少根据以下公式确定所述优先级P:
P=w1×C(T)+w2×10×S-1(T)+w3×R(T),其中,C(T)为所述重要度,S(T)为所述任务周期,R(T)为所述紧迫度,w1为所述重要度对应的权重,w2为所述任务周期对应的权重,w3为所述紧迫度对应的权重。
在上述实施例中,可以根据用户的需求和/或喜好设置重要度对应的权重w1,从而使确定出的优先级能够反映出用户的需求、喜好,以及实现了对待执行任务的调度顺序能能够体现出用户的需求、喜好等因素。
其中,所述待执行任务至少包括以下之一:场景任务,定时任务。
作为一种可选的实施方式,智能家居系统中的任务包括场景任务和定时任务,其中,场景任务指的是用户可以自定义场景名称并设置该场景触发时联动某些设备达到特定的状态,从而使整个居家环境方便、快捷的重现为用户的生活习惯环境。例如,用户添加了离家情景,该情景联动家中的所有灯光设备关闭,安防报警类传感器处于布防状态;用户的语音交互场景,当用户通过语音发出了某项指令,智能音箱实现相应功能。定时任务是指用户设定某个时间点或者时间段某个设备处于特定的状态,当到了该时间点或时间段时系统触发定时任务,联动执行相关设备处于设定的状态。例如,每天晚上9点红外入侵探测器处于布防状态。
以下结合一示例对上述的智能家居操作系统的任务调度方法行解释说明,但不用于限定本发明实施例的技术方案。
若调度算法在编译时就能够决定就绪作业队列中作业的执行顺序,称这种调度策略为静态调度。静态调度算法假设系统中实时任务的参数是已知的,它脱机地进行可调度性分析,并产生一个调度表。调度器在运行时将依照这张表所提供的信息选择相应的作业执行。在静态调度中,一旦确定了调度方案,则该方案能够确保所有的任务满足时限要求,即任务可以被成功调度。静态调度算法的优点是运行开销小,可预测性强。但是,静态调度算法在运行期间是无法改变执行顺序的,因此灵活性较差。
若调度器是在运行期间才决定选择哪个就绪作业最先运行,称这种调度策略为动态调度。若动态调度方案能够确保所有的任务满足时限要求,即任务可以被成功调度。动态调度算法只考虑目前就绪的作业集中各作业参数,由此来决定当前的调度序列,而不对将要到达的作业进行预测。动态调度算法比较灵活,但是,它的可预测性差且运行开销较大。
智能家居系统中场景任务和定时任务的运行参数包含任务规定的完成时间、任务周期、任务的开始时间和截止期等。
在智能家居系统任务中,不同的场景任务、定时任务可能会有不同的重要程度。重要程度并不代表任务的周期等时间属性,而是反应用户的需求或喜好,由用户决定。以语音任务和灯光开关任务为例。对于用户来说,语音任务一定要满足其截止期限,保证通话质量,而灯光开关任务,如果在每个任务周期内没有实现灯的开关,则是可以接受的。因此,可以人为的认为语音任务比灯光开关任务重要。
根据本发明的另一个实施例,提供了一种智能家居操作系统的任务调度器。图2为根据本发明实施例的智能家居操作系统的任务调度器的结构框图,如图2所示,任务调度器包含优先级调度器(即上述实施例中的第一调度器)和截止期调度器(即上述实施例中的第二调度器)。
其中,优先级调度器根据输入的参数计算确定任务队列中所有任务的优先级,并根据优先级排序将到达队列中的任务形成就绪任务队列。截止期调度器的工作原理是根据任务距离其绝对时限的接近程度给任务分配优先级,任务的截止期越早,其优先级越高,反之亦然。在上述实施例中,在就绪任务队列中存在两个优先级相同任务的情况下,截止期调度器选择截止期更早的任务对这两个优先级相同任务进行调度。
其中,任务调度器为抢占式调度器,即最高优先级的任务一旦就绪,总能得到CPU的控制权。例如,当一个运行着的任务被其它高优先级的任务抢占,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权并运行。
基于上述任务调度器,根据本发明的另一个实施例,提供了一种智能家居操作系统的任务调度方法。该技术方案如下:
步骤1:优先级调度器获取优先级的计算参数,该些参数包含任务重要度C(T)、任务完成率R(T)和任务周期S(T)。
其中,该重要度C(T)可以由技术人员人为设定,其与任务的紧急程度正相关,任务越紧急则重要度C(T)分值越高;
任务紧迫度R(T)用于反映待执行任务的紧迫程度,当待执行任务的剩余执行时间越长,距离该待执行任务的截止期越近,则说明待执行任务的执行紧迫度越高,因此t时刻任务Ti的紧迫度R(T)按照以下公式计算得到:
R(T)=(tα-tγ)/(tδ-t),其中,所述tα表示完成所述待执行任务所需的时长,所述tγ表示所述待执行任务已经执行的时长,所述tδ表示所述待执行任务的截止期,所述t表示当前时刻。
任务周期S(T),任务周期越短,则优先级越高。
基于上述参数,优先级调度器依据算法P确定所有到达任务队列中任务的优先级等级,并根据优先级排序将到达任务队列中的任务移入就绪队列中,P的取值越大,则优先级越高。其中优先级P按照以下公式确定:
P=w1×C(T)+w2×10×S-1(T)+w3×R(T),其中,C(T)为所述重要度,S(T)为所述任务周期,R(T)为所述紧迫度,w1为所述重要度对应的权重,w2为所述任务周期对应的权重,w3为所述紧迫度对应的权重。
作为一种可选的实施方式,权重w1,w2,w3的大小关系为:w1>w2>w3,即重要度对应的权重最大,从而突出任务重要度C(T)的优先级地位;
步骤2:如果当前没有任务占用CPU,则从就绪任务队列中选择优先级等级最高的任务Tj调度执行,其优先级为Pj;
步骤3:如果当前已有任务Ti在执行,并且其优先级等级为Pi,
如果Pj<Pi,则Tj抢占Ti;
如果Pj=Pi,并且任务Tj的截止期早于Ti的截止期,则Tj抢占Ti;
如果没有前两种情况发生时,任务Ti继续执行。
步骤4:转到步骤1,循环反复直至结束。
需要说明的是,在上述实施例中,使用优先级调度器和截止期调度器对待执行任务进行调度,从而上述实施例的智能家居操作系统的任务调度方法,能够结合静态和动态两种调度方式的优点,并且能够更好地满足系统实时要求,同时也降低系统的调度开销。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明的另一个实施例,提供了一种智能家居操作系统的协同控制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的智能家居操作系统的任务调度装置的结构框图,该装置包括:
第一确定模块302,用于通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;
调度模块304,用于根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。
通过本发明,通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。因此,可以解决在智能家居系统中对任务进行调度时,调度开销较大等技术问题,能够更好地满足系统实时要求,同时降低了系统的调度开销。
图4是根据本发明另一实施例的智能家居操作系统的任务调度装置的结构框图。图如4所示,该装置还包括:
第二确定模块306,用于根据以下公式确定所述待执行任务的紧迫度R(T):R(T)=(tα-tγ)/(tδ-t),其中,所述tα表示完成所述待执行任务所需的时长,所述tγ表示所述待执行任务已经执行的时长,所述tδ表示所述待执行任务的截止期,所述t表示当前时刻。
其中,所述调度模块304,还用于:根据所述待执行任务的优先级,将所述待执行任务写入到所述任务队列中;从所述任务队列中确定所述第一任务;对所述第一任务进行调度。
基于上述实施例,所述调度模块304,还用于:在所述第二任务的优先级低于所述第一任务的优先级的情况下,指示所述第一任务抢占所述第二任务的调度资源;通过第一任务所抢占的所述调度资源执行所述第一任务。
作为一种可选的实施方式,所述调度模块304,还用于:获取所述第一任务的第一截止期和所述第二任务的第二截止期;指示所述第二调度器优先调度所述第一任务和第二任务中截止期早的任务。
需要说明的是,所述第一确定模块302,还用于:至少根据以下公式确定所述优先级P:
P=w1×C(T)+w2×10×S-1(T)+w3×R(T),其中,C(T)为所述重要度,S(T)为所述任务周期,R(T)为所述紧迫度,w1为所述重要度对应的权重,w2为所述任务周期对应的权重,w3为所述紧迫度对应的权重。
可选地,所述待执行任务至少包括以下之一:场景任务,定时任务。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;
S2,根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(RandomAccess Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;
S2,根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种智能家居操作系统的任务调度方法,其特征在于,包括:
通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;
根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。
2.根据权利要求1所述的方法,其特征在于,通过第一调度器根据输入参数确定待执行任务的优先级之前,所述方法还包括:
根据以下公式确定所述待执行任务的紧迫度R(T):
R(T)=(tα-tγ)/(tδ-t),其中,所述tα表示完成所述待执行任务所需的时长,所述tγ表示所述待执行任务已经执行的时长,所述tδ表示所述待执行任务的截止期,所述t表示当前时刻。
3.根据权利要求1所述的方法,其特征在于,根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,包括:
根据所述待执行任务的优先级,将所述待执行任务写入到所述任务队列中;
从所述任务队列中确定所述第一任务;
对所述第一任务进行调度。
4.根据权利要求3所述的方法,其特征在于,所述对所述第一任务进行调度,包括:
在所述第二任务的优先级低于所述第一任务的优先级的情况下,指示所述第一任务抢占所述第二任务的调度资源;
通过第一任务所抢占的所述调度资源执行所述第一任务。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,包括:
获取所述第一任务的第一截止期和所述第二任务的第二截止期;
指示所述第二调度器优先调度所述第一任务和第二任务中截止期早的任务。
6.根据权利要求1所述的方法,其特征在于,所述通过第一调度器根据输入参数确定待执行任务的优先级,包括:
至少根据以下公式确定所述优先级P:
P=w1×C(T)+w2×10×S-1(T)+w3×R(T),其中,C(T)为所述重要度,S(T)为所述任务周期,R(T)为所述紧迫度,w1为所述重要度对应的权重,w2为所述任务周期对应的权重,w3为所述紧迫度对应的权重。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述待执行任务至少包括以下之一:场景任务,定时任务。
8.一种智能家居操作系统的任务调度装置,其特征在于,包括:
第一确定模块,用于通过第一调度器根据输入参数确定待执行任务的优先级,其中,所述输入参数包括以下至少之一:所述待执行任务的重要度、所述待执行任务的紧迫度和所述待执行任务的任务周期;
调度模块,用于根据所述待执行任务的优先级,对任务队列中的所述待执行任务进行调度,其中,在第一任务与第二任务的优先级相同的情况下,根据所述第一任务和所述第二任务的截止期指示第二调度器调度所述第一任务和所述第二任务,其中,所述第一任务为所述任务队列中最高优先级的任务,所述第二任务为当前正在执行的任务。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268984.0A CN111143045B (zh) | 2019-12-11 | 2019-12-11 | 智能家居操作系统的任务调度方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268984.0A CN111143045B (zh) | 2019-12-11 | 2019-12-11 | 智能家居操作系统的任务调度方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143045A true CN111143045A (zh) | 2020-05-12 |
CN111143045B CN111143045B (zh) | 2024-03-22 |
Family
ID=70517999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911268984.0A Active CN111143045B (zh) | 2019-12-11 | 2019-12-11 | 智能家居操作系统的任务调度方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143045B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113176736A (zh) * | 2021-04-13 | 2021-07-27 | 宁波奥克斯电气股份有限公司 | 一种集中式驱动装置共享控制方法以及集中式驱动装置 |
CN113722067A (zh) * | 2021-08-24 | 2021-11-30 | 咪咕音乐有限公司 | 信息任务调度方法、装置、设备及存储介质 |
CN114327843A (zh) * | 2020-09-29 | 2022-04-12 | 华为技术有限公司 | 任务调度方法及装置 |
CN114860397A (zh) * | 2022-04-14 | 2022-08-05 | 深圳清华大学研究院 | 一种任务调度方法、装置及设备 |
WO2023273752A1 (zh) * | 2021-07-02 | 2023-01-05 | 海尔(深圳)研发有限责任公司 | 用于调度场景任务的方法、系统、装置、服务器和存储介质 |
CN116483549A (zh) * | 2023-06-25 | 2023-07-25 | 清华大学 | 智能相机系统的任务调度方法、装置、相机及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339521A (zh) * | 2008-07-28 | 2009-01-07 | 华中科技大学 | 一种任务优先级动态调度算法 |
CN101807159A (zh) * | 2010-03-18 | 2010-08-18 | 西北工业大学 | 一种自适应任务调度方法 |
CN104834556A (zh) * | 2015-04-26 | 2015-08-12 | 西北工业大学 | 一种多态实时任务与多态计算资源的映射方法 |
CN106293918A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种调度进程的方法、系统及计算机 |
CN110096353A (zh) * | 2019-05-14 | 2019-08-06 | 厦门美图之家科技有限公司 | 任务调度方法及装置 |
CN110427257A (zh) * | 2019-07-29 | 2019-11-08 | 招商局金融科技有限公司 | 多任务调度方法、装置及计算机可读存储介质 |
-
2019
- 2019-12-11 CN CN201911268984.0A patent/CN111143045B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339521A (zh) * | 2008-07-28 | 2009-01-07 | 华中科技大学 | 一种任务优先级动态调度算法 |
CN101807159A (zh) * | 2010-03-18 | 2010-08-18 | 西北工业大学 | 一种自适应任务调度方法 |
CN104834556A (zh) * | 2015-04-26 | 2015-08-12 | 西北工业大学 | 一种多态实时任务与多态计算资源的映射方法 |
CN106293918A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种调度进程的方法、系统及计算机 |
CN110096353A (zh) * | 2019-05-14 | 2019-08-06 | 厦门美图之家科技有限公司 | 任务调度方法及装置 |
CN110427257A (zh) * | 2019-07-29 | 2019-11-08 | 招商局金融科技有限公司 | 多任务调度方法、装置及计算机可读存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327843A (zh) * | 2020-09-29 | 2022-04-12 | 华为技术有限公司 | 任务调度方法及装置 |
CN113176736A (zh) * | 2021-04-13 | 2021-07-27 | 宁波奥克斯电气股份有限公司 | 一种集中式驱动装置共享控制方法以及集中式驱动装置 |
WO2023273752A1 (zh) * | 2021-07-02 | 2023-01-05 | 海尔(深圳)研发有限责任公司 | 用于调度场景任务的方法、系统、装置、服务器和存储介质 |
CN113722067A (zh) * | 2021-08-24 | 2021-11-30 | 咪咕音乐有限公司 | 信息任务调度方法、装置、设备及存储介质 |
CN114860397A (zh) * | 2022-04-14 | 2022-08-05 | 深圳清华大学研究院 | 一种任务调度方法、装置及设备 |
CN116483549A (zh) * | 2023-06-25 | 2023-07-25 | 清华大学 | 智能相机系统的任务调度方法、装置、相机及存储介质 |
CN116483549B (zh) * | 2023-06-25 | 2023-09-19 | 清华大学 | 智能相机系统的任务调度方法、装置、相机及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111143045B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143045B (zh) | 智能家居操作系统的任务调度方法及装置、存储介质 | |
US20150268996A1 (en) | Real-Time Multi-Task Scheduling Method and Apparatus | |
US7882488B2 (en) | Software tool for synthesizing a real-time operating system | |
US20080066070A1 (en) | Method and system for the dynamic scheduling of jobs in a computing system | |
US8954975B2 (en) | Task scheduling method for real time operating system | |
CN111767134A (zh) | 一种多任务动态资源调度方法 | |
CN111768006A (zh) | 一种人工智能模型的训练方法、装置、设备及存储介质 | |
CN103365720B (zh) | 用于多线程环境下动态调整全局堆分配的方法和系统 | |
TWI545503B (zh) | 一種在預設嵌入式系統中實現腳本操作的系統 | |
US10271326B2 (en) | Scheduling function calls | |
US9672076B2 (en) | Scheduling process on a processor or an accelerator on a system driven by battery based on processing efficiency and power consumption | |
CN111142977A (zh) | 一种定时任务的处理方法、装置、计算机设备及存储介质 | |
US7747426B2 (en) | System simulation using multi-tasking computer code | |
WO2015188016A2 (en) | Energy-efficient real-time task scheduler | |
US8555285B2 (en) | Executing a general-purpose operating system as a task under the control of a real-time operating system | |
CN117873666A (zh) | 任务调度方法、芯片、电子设备及可读存储介质 | |
CN113032119A (zh) | 一种任务调度方法、装置、存储介质及电子设备 | |
CN113268331A (zh) | 机器人调用方法、机器人调用装置、管理系统和存储介质 | |
CN108268310B (zh) | 一种确定最小调度粒度的方法及装置 | |
CN114035926A (zh) | 应用线程调度方法、装置、存储介质及电子设备 | |
JP2000020323A (ja) | スケジュ―リング装置及び方法並びに記録媒体 | |
Zmaranda et al. | Using Fixed Priority Pre-emptive Scheduling in Real-Time Systems | |
CN110109743B (zh) | 一种实时进程调度方法 | |
JP2019079336A (ja) | 数値制御装置 | |
CN111176815B (zh) | 一种操作系统的任务调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |