CN112764896A - 基于备用队列的任务调度方法、装置、系统和存储介质 - Google Patents

基于备用队列的任务调度方法、装置、系统和存储介质 Download PDF

Info

Publication number
CN112764896A
CN112764896A CN202011640305.0A CN202011640305A CN112764896A CN 112764896 A CN112764896 A CN 112764896A CN 202011640305 A CN202011640305 A CN 202011640305A CN 112764896 A CN112764896 A CN 112764896A
Authority
CN
China
Prior art keywords
interval
buffer
cache
task
queue
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.)
Pending
Application number
CN202011640305.0A
Other languages
English (en)
Inventor
温文坤
马凤鸣
刘毅
李玮棠
王鑫
林英喜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Jixiang Technology Co Ltd
Original Assignee
Guangzhou Jixiang Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Jixiang Technology Co Ltd filed Critical Guangzhou Jixiang Technology Co Ltd
Priority to CN202011640305.0A priority Critical patent/CN112764896A/zh
Publication of CN112764896A publication Critical patent/CN112764896A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

本发明实施例公开了一种基于备用队列的任务调度方法、装置、物联网系统和存储介质。该方法,包括:监测多核物联网系统中的任务状态,多核物联网系统的每个执行核心分别对应分配有先入先出缓存队列的一段,所述先入先出缓存队列还设置有备用缓存区间;当监测到有最新任务输入,则将最新任务缓存到第一缓存区间或备用缓存区间,以对应分配到第一缓存区间对应的执行核心或进入待分配状态,第一缓存区间为当前剩余缓存队列最长的缓存区间,所述缓存区间设置任务上限值;当监测到缓存区间的现有任务数量低于所述任务上限值,则从所述备用缓存区间中迁移至少一个任务到所述缓存区间。本方案提高了物联网系统中多核处理任务调度的数据处理效率。

Description

基于备用队列的任务调度方法、装置、系统和存储介质
技术领域
本发明实施例涉及网络技术领域,尤其涉及基于备用队列的任务调度方法、装置、设备和存储介质。
背景技术
物联网被看作信息领域一次重大的发展和变革机遇,并有望带来革命性变革,在较为普遍的观点里,这种革命性变革将在工业、农业、物业、城市管理、安全消防等各个领域产生全方位的影响。但是从技术上而言,物联网不仅仅是改变数据传输的主体,物联网也与传统通信有着明显的区别。例如,大规模物联网的特点是大量用户零星地发送很小的包,这与传统蜂窝通信不同。
为适应物联网中的任务调度需求,通常会针对大规模物联网设计高性能的嵌入式节点对物联网内收集到的数据进行并行处理,甚至采用多核处理的方式实现任务调度。
发明人在大规模物联网中通过多核处理的方式进行任务调度的过程中发现,一个任务可能在多个执行核心之间发生多次调度,做了大量的无用调度,调度效率较低。
发明内容
本发明提供了一种基于备用队列的任务调度方法、装置、系统和存储介质,以解决现有技术物联网多核处理任务调度的调度效率较低的技术问题。
第一方面,本发明实施例提供了一种基于备用队列的任务调度方法,用于多核物联网系统,包括:
监测所述多核物联网系统中的任务状态,所述多核物联网系统的每个执行核心分别对应分配有缓存区间,所述缓存区间为所述多核物联网系统中的先入先出缓存队列的一段,所述先入先出缓存队列还设置有备用缓存区间;
当监测到有最新任务输入,则将所述最新任务缓存到第一缓存区间或备用缓存区间,以对应分配到所述第一缓存区间对应的执行核心或进入待分配状态,所述第一缓存区间为当前剩余缓存队列最长的缓存区间,所述缓存区间设置任务上限值;
当监测到所述缓存区间的现有任务数量低于所述任务上限值,则从所述备用缓存区间中迁移至少一个任务到所述缓存区间。
进一步的,所述方法,还包括:
当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,以对应分配到所述空闲缓存区间对应的执行核心,所述空闲缓存区间为任务清空的缓存区间,所述第二缓存区间为当前剩余任务最多的缓存区间。
进一步的,所述当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,包括:
当监测到有空闲缓存区间出现,则逐次确认第二缓存区间,并从所述第二缓存区间中逐个迁移任务缓存到所述空闲缓存区间,直至所述空闲缓存区间中的任务数量达到预设门限值,或所有缓存区间中的任务数量不高于预设门限值。
进一步的,当有多个第二缓存区间,则随机从一个所述第二缓存区间中迁移一个任务缓存到所述空闲缓存区间。
进一步的,当有多个第一缓存区间,则将所述最新任务随机缓存到其中一个第一缓存区间。
进一步的,每个所述执行核心对应的缓存队列的长度相同。
第二方面,本发明实施例还提供了一种基于备用队列的任务调度装置,用于多核物联网系统,包括:
状态监听单元,用于监测所述多核物联网系统中的任务状态,所述多核物联网系统的每个执行核心分别对应分配有缓存区间,所述缓存区间为所述多核物联网系统中的先入先出缓存队列的一段,所述先入先出缓存队列还设置有备用缓存区间;
任务缓存单元,用于当监测到有最新任务输入,则将所述最新任务缓存到第一缓存区间或备用缓存区间,以对应分配到所述第一缓存区间对应的执行核心或进入待分配状态,所述第一缓存区间为当前剩余缓存队列最长的缓存区间,所述缓存区间设置任务上限值;
第一迁移单元,用于当监测到所述缓存区间的现有任务数量低于所述任务上限值,则从所述备用缓存区间中迁移至少一个任务到所述缓存区间。
进一步的,所述装置,还包括:
第二迁移单元,用于当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,以对应分配到所述空闲缓存区间对应的执行核心,所述空闲缓存区间为任务清空的缓存区间,所述第二缓存区间为当前剩余任务最多的缓存区间。
进一步的,所述当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,包括:
当监测到有空闲缓存区间出现,则逐次确认第二缓存区间,并从所述第二缓存区间中逐个迁移任务缓存到所述空闲缓存区间,直至所述空闲缓存区间中的任务数量达到预设门限值,或所有缓存区间中的任务数量不高于预设门限值。
进一步的,当有多个第二缓存区间,则随机从一个所述第二缓存区间中迁移一个任务缓存到所述空闲缓存区间。
进一步的,当有多个第一缓存区间,则将所述最新任务随机缓存到其中一个第一缓存区间。
进一步的,每个所述执行核心对应的缓存队列的长度相同。
第三方面,本发明实施例还提供了一种物联网系统,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述物联网系统实现如第一方面任一所述的基于备用队列的任务调度方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的基于备用队列的任务调度方法。
上述基于备用队列的任务调度方法、装置、物联网系统和存储介质,监测所述多核物联网系统中的任务状态,所述多核物联网系统的每个执行核心分别对应分配有缓存区间,所述缓存区间为所述多核物联网系统中的先入先出缓存队列的一段,所述先入先出缓存队列还设置有备用缓存区间;当监测到有最新任务输入,则将所述最新任务缓存到第一缓存区间或备用缓存区间,以对应分配到所述第一缓存区间对应的执行核心或进入待分配状态,所述第一缓存区间为当前剩余缓存队列最长的缓存区间,所述缓存区间设置任务上限值;当监测到所述缓存区间的现有任务数量低于所述任务上限值,则从所述备用缓存区间中迁移至少一个任务到所述缓存区间。本方案通过对各个执行核心分配对应的缓存区间,在收到最新任务时根据缓存区间中的任务数量将其分配到对应的缓存区间,并将更多的任务缓存到备用缓存区间暂不分配,减少了任务分配的切换过程,提高了物联网系统中多核处理任务调度的数据处理效率。
附图说明
图1为本发明实施例一提供的一种基于备用队列的任务调度方法的流程图;
图2为本发明实施例二提供的一种基于备用队列的任务调度装置的结构示意图;
图3为本发明实施例三提供的一种物联网系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
需要注意的是,由于篇幅所限,本申请说明书没有穷举所有可选的实施方式,本领域技术人员在阅读本申请说明书后,应该能够想到,只要技术特征不互相矛盾,那么技术特征的任意组合均可以构成可选的实施方式。
下面对各实施例进行详细说明。
实施例一
图1为本发明实施例一提供的一种基于备用队列的任务调度方法的流程图。实施例中提供的基于备用队列的任务调度方法可以由用于基于备用队列的任务调度的各种操作设备执行,该操作设备可以通过软件和/或硬件的方式实现,该操作设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。
具体的,参考图1,该基于备用队列的任务调度方法,具体包括:
步骤S101:监测所述多核物联网系统中的任务状态,所述多核物联网系统的每个执行核心分别对应分配有缓存区间,所述缓存区间为所述多核物联网系统中的先入先出缓存队列的一段,所述先入先出缓存队列还设置有备用缓存区间。
在物联网系统的架构中,汇聚节点是架构的关键部件,在具体实现过程中,多核物联网系统基于嵌入式多核处理器进行设计,嵌入式多核处理器中的多个执行核心可以同时进行运算,从而在有限的资源配置下,为多核物联网系统中的数据收集带来更高的处理效率。
对于嵌入式多核处理器而言,其中每个处理核同一时间不能处理所有分配给它的任务,即分配给一个物联网节点的任务可能需要排队,处于排队状态的任务暂时缓存在先入先出缓存队列。按现有技术,这些任务在排队过程中,可能会根据执行核心的实际处理进度不断调度切换分配到不同的执行核心等待执行,相当于在任务调度安排过程中进行了无效的调度处理过程。
在本方案中,为提高调度处理效率,将先入先出缓存队列进行分段,每段分别对应一个执行核心,具体分配到某一个执行核心的任务先缓存到对应的缓存区间,通过这种执行核心与缓存区间的对应分配的方式,将任务与对应处理该任务的执行核心的关联关系以一种相对静态的方式进行固定,以尽可能减少无效的任务分配调度处理。在具体对先入先出缓存队列进行分段时,可以将分配到每个执行核心的缓存区间设置为相同,即每个所述执行核心对应的缓存队列的长度相同,从而保证每个执行核心分配的任务上限相同,分配调度到每个执行核心的任务量相对均衡。
在实际任务分配处理过程中,有可能所有执行核心对应的缓存区间已经使用完毕,但是持续会有新的任务被监测到,此时将持续产生的任务同一分配到备用缓存区间,与缓存区间类似,备用缓存区间是先入先出缓存队列中的一段,其可以设置为比缓存区间范围更大,以实现较大的任务临时缓存区间,等待后续分配。
步骤S102:当监测到有最新任务输入,则将所述最新任务缓存到第一缓存区间或备用缓存区间,以对应分配到所述第一缓存区间对应的执行核心或进入待分配状态,所述第一缓存区间为当前剩余缓存队列最长的缓存区间,所述缓存区间设置任务上限值。
对于物联网节点,在收到最新任务输入时,需要将该最新任务分配到该物联网节点的嵌入式多核处理器中的某个执行核心,以现有的处理方式,在当前的执行核心均有任务待执行时,先入先出缓存队列作为一个整体进行缓存管理,一个任务对具体执行核心的分配过程可能因为任务处理进度的变化不断发生调整,导致任务在先入先出缓存队列中缓存时要不断监控所有执行核心的任务处理状态,进而不断对任务分配进行适应性调整。在本方案中,最新任务直接分配到当前处理任务最少的执行核心,并且分配到每个执行核心的任务都相对固定,以最初分配的执行核心进行任务处理为基本处理原则,减少任务等待处理过程中的分配变动。
在具体分配时,为尽可能减少每个任务的排队等待时间,对于检测到的最新任务,首先会判断每个执行核心当前的任务状态。当前的任务状态从执行核心对应的缓存区间确认,整体而言,缓存区间中当前缓存的任务最少,则占用的缓存队列越短,剩余缓存队列越长,将剩余缓存队列最长的缓存区间认定为第一缓存区间,并将最新任务分配到第一缓存区间,最新任务缓存到第一缓存区间之后,根据缓存区间与执行核心的对应关系,即确定该最新任务分配的执行核心,在缓存区间等待对应的执行核心的处理即可。
在实际处理过程中,有可能存在多个缓存区间中的剩余任务相同,即存在有可能多个缓存区间均为第一缓存区间,当有多个第一缓存区间,则将所述最新任务随机缓存到其中一个第一缓存区间。
在直接分配到具体的执行核心之外,还有任务可能因为缓存区间的任务上限值设置而不能实时分配对应的执行核心,此时需要将任务缓存到备用缓存区间,进入等待分配状态,当有缓存区间被释放,将备用缓存区间的任务依次迁移到缓存区间等待处理。
步骤S103:当监测到所述缓存区间的现有任务数量低于所述任务上限值,则从所述备用缓存区间中迁移至少一个任务到所述缓存区间。
对于备用缓存区间中的任务,可以通过对缓存区间的监测对应完成迁移,一种常见的处理方式是当有任务处理完毕,缓存区间得到部分释放,即从备用缓存区间中迁移至少一个任务到该缓存区间。另一种是一直等到缓存区间得到全部释放,则直接从备用缓存区间中迁移若干任务直接填满该缓存区间,从而减少判断迁移次数。
在具体实施过程中,当备用缓存区间中的任务分配完毕,且执行核心出现空闲,可以进一步通过步骤S104在不同的缓存区间进行任务调度。
步骤S104:当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,以对应分配到所述空闲缓存区间对应的执行核心,所述空闲缓存区间为任务清空的缓存区间,所述第二缓存区间为当前剩余任务最多的缓存区间。
在各个执行核心对任务进行处理过程,因任务复杂程度、数据传输速度、带宽分配等原因,可能导致任务处理的速度并不完全相同,最终导致缓存区间中的任务排队状况不同。例如某些执行核心可能已经将所有的任务处理完毕,即已经清空对应的缓存区间中的任务;而其它执行核心对应的缓存区间还有多个任务在排队。此时,可以从排队的缓存区间中迁移一个或多个任务到空闲缓存区间,从整体上提高任务的处理速度,同时避免出现执行核心处于空闲状态的情况。
在具体进行任务迁移时,不是一次从其它缓存区间将多个任务迁移到空闲缓存区间,而是逐次迁移,判断所有缓存区间中的任务数量状态。整体而言,当监测到有空闲缓存区间出现,则逐次确认第二缓存区间,并从所述第二缓存区间中逐个迁移任务缓存到所述空闲缓存区间,直至所述空闲缓存区间中的任务数量达到预设门限值,或所有缓存区间中的任务数量不高于预设门限值。在逐个迁移任务的过程中,会判断之前确认的空闲缓存区间是否达到预设门限值,如果达到预设门限值,则意味着空闲缓存区间已经有了一定数量的待处理任务,不再向空闲缓存区间迁移任务,等着最新任务分配到该缓存区间即可。同时,为了避免其它缓存区间中的任务过少,当向外迁移到一定程度使得其它缓存区间中的任务数量不多时,即其它缓存区间中的剩余任务数量不高于预设门限值时,停止迁移。
在具体处理过程中,有可能出现多个缓存区间中的剩余任务并列最多,即有多个第二缓存区间,此时并不是直接从每个第二缓存区间迁移一个任务到空闲缓存区间,而是随机从一个所述第二缓存区间中迁移一个任务缓存到所述空闲缓存区间,并且仍然采用逐次迁移确认的方式,每迁移一个任务之后对空闲缓存区间中的剩余任务以及其它缓存区间中的任务进行判断,直到达到设定的任务数量停止迁移。向空闲缓存区间迁移的任务可以是最新缓存的任务,也可以是最早缓存的任务。
其它缓存区间停止迁移的判断依据除了以上基于预设门限值,还可以基于与空闲缓存区间中的任务比对,如果其它缓存区间中的剩余任务多于空闲缓存区间中的任务不超过一个,则也不进行任务迁移。
需要说明的是,本实施例中所说的第一缓存区间和第二缓存区间并不是固定的一个或多个缓存区间,其仅仅是根据缓存区间在某个时刻的状态进行的区别定义,是用于实施例描述方便的特别标识,其作用与其它缓存区间并没有区别,在当前的最新任务缓存到某个第一缓存区间之后,该第一缓存区间可能不再是下一个最新任务缓存时的第一缓存区间。而且空闲缓存区间是在整个迁移过程中都定义为空闲缓存区间,而不是一定要其中没有任务才定义为空闲缓存区间,从任务排队状态而言,对某个缓存区间的任务迁移结束之后,才结束其空闲缓存区间的状态定义。
同时,在本方案中,应当理解步骤S101-步骤S103作为一个方案整体存在,其并不是严格按照前文的描述顺序依次执行,在多核物联网系统对任务进行处理时,最新任务的分配和任务的迁移可以根据实际监测结果执行,当监测到最新任务,则缓存最新任务;当监测到空闲缓存区间,则向空闲缓存区间迁移任务,如果连续监测到最新任务,则连续执行步骤S102,如果连续监测到空闲缓存区间,则连续执行步骤S103。
上述,监测所述多核物联网系统中的任务状态,所述多核物联网系统的每个执行核心分别对应分配有缓存区间,所述缓存区间为所述多核物联网系统中的先入先出缓存队列的一段,所述先入先出缓存队列还设置有备用缓存区间;当监测到有最新任务输入,则将所述最新任务缓存到第一缓存区间或备用缓存区间,以对应分配到所述第一缓存区间对应的执行核心或进入待分配状态,所述第一缓存区间为当前剩余缓存队列最长的缓存区间,所述缓存区间设置任务上限值;当监测到所述缓存区间的现有任务数量低于所述任务上限值,则从所述备用缓存区间中迁移至少一个任务到所述缓存区间。本方案通过对各个执行核心分配对应的缓存区间,在收到最新任务时根据缓存区间中的任务数量将其分配到对应的缓存区间,并将更多的任务缓存到备用缓存区间暂不分配,减少了任务分配的切换过程,提高了物联网系统中多核处理任务调度的数据处理效率。
实施例二
图2为本发明实施例二提供的一种基于备用队列的任务调度装置的结构示意图。参考图2,该基于备用队列的任务调度装置包括:状态监听单元210、任务缓存单元220和第一迁移单元230。
其中,状态监听单元210,用于监测所述多核物联网系统中的任务状态,所述多核物联网系统的每个执行核心分别对应分配有缓存区间,所述缓存区间为所述多核物联网系统中的先入先出缓存队列的一段,所述先入先出缓存队列还设置有备用缓存区间;任务缓存单元220,用于当监测到有最新任务输入,则将所述最新任务缓存到第一缓存区间或备用缓存区间,以对应分配到所述第一缓存区间对应的执行核心或进入待分配状态,所述第一缓存区间为当前剩余缓存队列最长的缓存区间,所述缓存区间设置任务上限值;第一迁移单元230,用于当监测到所述缓存区间的现有任务数量低于所述任务上限值,则从所述备用缓存区间中迁移至少一个任务到所述缓存区间。
在上述实施例的基础上,所述装置,还包括:
第二迁移单元,用于当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,以对应分配到所述空闲缓存区间对应的执行核心,所述空闲缓存区间为任务清空的缓存区间,所述第二缓存区间为当前剩余任务最多的缓存区间。
在上述实施例的基础上,所述当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,包括:
当监测到有空闲缓存区间出现,则逐次确认第二缓存区间,并从所述第二缓存区间中逐个迁移任务缓存到所述空闲缓存区间,直至所述空闲缓存区间中的任务数量达到预设门限值,或所有缓存区间中的任务数量不高于预设门限值。
在上述实施例的基础上,当有多个第二缓存区间,则随机从一个所述第二缓存区间中迁移一个任务缓存到所述空闲缓存区间。
在上述实施例的基础上,当有多个第一缓存区间,则将所述最新任务随机缓存到其中一个第一缓存区间。
在上述实施例的基础上,每个所述执行核心对应的缓存队列的长度相同。
本发明实施例提供的基于备用队列的任务调度装置包含在基于备用队列的任务调度设备中,且可用于执行上述实施例一中提供的任一基于备用队列的任务调度方法,具备相应的功能和有益效果。
实施例三
图3为本发明实施例三提供的一种物联网节点设备的结构示意图,该物联网节点设备用于组成物联网系统,进而综合实现本方案中的任务调度。如图3所示,该物联网节点设备包括处理器310、存储器320、输入装置330、输出装置340以及通信装置350;物联网节点设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;物联网节点设备中的处理器310、存储器320、输入装置330、输出装置340以及通信装置350可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于备用队列的任务调度方法对应的程序指令/模块(例如,基于备用队列的任务调度装置中的状态监听单元210、任务缓存单元220和第一迁移单元230)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行物联网节点设备的各种功能应用以及数据处理,即实现上述的基于备用队列的任务调度方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据物联网节点设备的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至物联网节点设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收输入的数字或字符信息,以及产生与物联网节点设备的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
上述物联网节点设备包含基于备用队列的任务调度装置,可以用于执行任意基于备用队列的任务调度方法,具备相应的功能和有益效果。
实施例四
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本申请任意实施例中提供的基于备用队列的任务调度方法中的相关操作,且具备相应的功能和有益效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。
因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种基于备用队列的任务调度方法,用于多核物联网系统,其特征在于,包括:
监测所述多核物联网系统中的任务状态,所述多核物联网系统的每个执行核心分别对应分配有缓存区间,所述缓存区间为所述多核物联网系统中的先入先出缓存队列的一段,所述先入先出缓存队列还设置有备用缓存区间;
当监测到有最新任务输入,则将所述最新任务缓存到第一缓存区间或备用缓存区间,以对应分配到所述第一缓存区间对应的执行核心或进入待分配状态,所述第一缓存区间为当前剩余缓存队列最长的缓存区间,所述缓存区间设置任务上限值;
当监测到所述缓存区间的现有任务数量低于所述任务上限值,则从所述备用缓存区间中迁移至少一个任务到所述缓存区间。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,以对应分配到所述空闲缓存区间对应的执行核心,所述空闲缓存区间为任务清空的缓存区间,所述第二缓存区间为当前剩余任务最多的缓存区间。
3.根据权利要求2所述的方法,其特征在于,所述当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,包括:
当监测到有空闲缓存区间出现,则逐次确认第二缓存区间,并从所述第二缓存区间中逐个迁移任务缓存到所述空闲缓存区间,直至所述空闲缓存区间中的任务数量达到预设门限值,或所有缓存区间中的任务数量不高于预设门限值。
4.根据权利要求3所述的方法,其特征在于,当有多个第二缓存区间,则随机从一个所述第二缓存区间中迁移一个任务缓存到所述空闲缓存区间。
5.根据权利要求1所述的方法,其特征在于,当有多个第一缓存区间,则将所述最新任务随机缓存到其中一个第一缓存区间。
6.根据权利要求1所述的方法,其特征在于,每个所述执行核心对应的缓存队列的长度相同。
7.一种基于备用队列的任务调度装置,其特征在于,包括:
状态监听单元,用于监测所述多核物联网系统中的任务状态,所述多核物联网系统的每个执行核心分别对应分配有缓存区间,所述缓存区间为所述多核物联网系统中的先入先出缓存队列的一段,所述先入先出缓存队列还设置有备用缓存区间;
任务缓存单元,用于当监测到有最新任务输入,则将所述最新任务缓存到第一缓存区间或备用缓存区间,以对应分配到所述第一缓存区间对应的执行核心或进入待分配状态,所述第一缓存区间为当前剩余缓存队列最长的缓存区间,所述缓存区间设置任务上限值;
第一迁移单元,用于当监测到所述缓存区间的现有任务数量低于所述任务上限值,则从所述备用缓存区间中迁移至少一个任务到所述缓存区间。
8.根据权利要求7所述的装置,其特征在于,所述装置,还包括:
第二迁移单元,用于当监测到有空闲缓存区间出现,则从第二缓存区间中迁移至少一个任务缓存到所述空闲缓存区间,以对应分配到所述空闲缓存区间对应的执行核心,所述空闲缓存区间为任务清空的缓存区间,所述第二缓存区间为当前剩余任务最多的缓存区间。
9.一种物联网系统,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述物联网系统实现如权利要求1-6任一所述的基于备用队列的任务调度方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一所述的基于备用队列的任务调度方法。
CN202011640305.0A 2020-12-31 2020-12-31 基于备用队列的任务调度方法、装置、系统和存储介质 Pending CN112764896A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011640305.0A CN112764896A (zh) 2020-12-31 2020-12-31 基于备用队列的任务调度方法、装置、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011640305.0A CN112764896A (zh) 2020-12-31 2020-12-31 基于备用队列的任务调度方法、装置、系统和存储介质

Publications (1)

Publication Number Publication Date
CN112764896A true CN112764896A (zh) 2021-05-07

Family

ID=75698399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011640305.0A Pending CN112764896A (zh) 2020-12-31 2020-12-31 基于备用队列的任务调度方法、装置、系统和存储介质

Country Status (1)

Country Link
CN (1) CN112764896A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542950B1 (en) * 2000-05-05 2003-04-01 Lucent Technologies Inc. Self-adaptive processor overload control system
CN102231137A (zh) * 2011-05-26 2011-11-02 浪潮(北京)电子信息产业有限公司 一种数据存储系统及方法
US20130117756A1 (en) * 2011-11-08 2013-05-09 Electronics And Telecommunications Research Institute Task scheduling method for real time operating system
CN104995603A (zh) * 2013-11-14 2015-10-21 联发科技股份有限公司 至少部分基于共享相同数据及/或存取相同存储地址的任务分布的任务调度方法以及多核处理器系统中用于分配任务的相关非暂时性计算机可读介质
CN111190745A (zh) * 2019-11-05 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN111930530A (zh) * 2020-06-24 2020-11-13 山东浪潮通软信息科技有限公司 一种基于物联网的设备消息处理方法、装置及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542950B1 (en) * 2000-05-05 2003-04-01 Lucent Technologies Inc. Self-adaptive processor overload control system
CN102231137A (zh) * 2011-05-26 2011-11-02 浪潮(北京)电子信息产业有限公司 一种数据存储系统及方法
US20130117756A1 (en) * 2011-11-08 2013-05-09 Electronics And Telecommunications Research Institute Task scheduling method for real time operating system
CN104995603A (zh) * 2013-11-14 2015-10-21 联发科技股份有限公司 至少部分基于共享相同数据及/或存取相同存储地址的任务分布的任务调度方法以及多核处理器系统中用于分配任务的相关非暂时性计算机可读介质
CN111190745A (zh) * 2019-11-05 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN111930530A (zh) * 2020-06-24 2020-11-13 山东浪潮通软信息科技有限公司 一种基于物联网的设备消息处理方法、装置及介质

Similar Documents

Publication Publication Date Title
CN113934530A (zh) 多核多队列任务交叉处理方法、装置、系统和存储介质
US8056083B2 (en) Dividing a computer job into micro-jobs for execution
WO2023082560A1 (zh) 一种任务处理方法、装置、设备及介质
US20170010919A1 (en) Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
CN113641457A (zh) 容器创建方法、装置、设备、介质及程序产品
CN106603692B (zh) 一种分布式存储系统中的数据存储方法及装置
CN113934529A (zh) 多级别核心的任务调度方法、装置、系统和存储介质
CN111104227B (zh) 一种K8s平台的资源控制方法、装置及相关组件
CN108376103A (zh) 一种云平台的资源平衡控制方法及服务器
CN113971085A (zh) 主从核心区分处理任务的方法、装置、系统和存储介质
CN114020440A (zh) 多级任务分类处理方法、装置、系统和存储介质
US20170344266A1 (en) Methods for dynamic resource reservation based on classified i/o requests and devices thereof
WO2019109902A1 (zh) 队列调度方法及装置、通信设备、存储介质
CN112764896A (zh) 基于备用队列的任务调度方法、装置、系统和存储介质
CN113971086A (zh) 基于任务关联性的任务调度方法、装置、系统和存储介质
CN112764895A (zh) 多核物联网芯片的任务调度方法、装置、系统和存储介质
CN114048016A (zh) 记录时长进行任务调度的方法、装置、系统和存储介质
CN113918309A (zh) 基于等待时长的任务队列维护方法、装置、系统和介质
CN112650574A (zh) 基于优先级的任务调度方法、装置、系统和存储介质
CN114138480A (zh) 队列任务分类混合处理方法、装置、系统和存储介质
CN113918310A (zh) 监测剩余时长调度任务的方法、装置、系统和存储介质
CN113934528A (zh) 物联网的任务差异化调度方法、装置、系统和存储介质
CN114035929A (zh) 多顺序模式的任务执行方法、装置、系统和存储介质
KR101771183B1 (ko) 인메모리 캐시를 관리하는 방법
KR101771178B1 (ko) 인메모리 캐시를 관리하는 방법

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210507

RJ01 Rejection of invention patent application after publication