CN106547611A - 基于业务流的任务调度方法及装置 - Google Patents
基于业务流的任务调度方法及装置 Download PDFInfo
- Publication number
- CN106547611A CN106547611A CN201510591290.6A CN201510591290A CN106547611A CN 106547611 A CN106547611 A CN 106547611A CN 201510591290 A CN201510591290 A CN 201510591290A CN 106547611 A CN106547611 A CN 106547611A
- Authority
- CN
- China
- Prior art keywords
- task
- business
- current
- stream
- business stream
- 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
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于业务流的任务调度方法,该方法包括:在进行当前运行任务切换时,检测是否设置当前业务流;若设置了当前业务流,则在当前业务流的任务队列中查找当前运行任务的下一个任务,切换并运行当前运行任务的下一个任务;若没有设置当前业务流,则将首任务与当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流。本发明还公开一种基于业务流的任务调度装置。本发明有针对性地对关键业务流进行调度,大大减小了调度的随机性,进而避免关键业务流无法及时完成或关键业务流抖动延时大。
Description
技术领域
本发明涉及数据通讯技术领域,尤其涉及一种基于业务流的任务调度方法及装置。
背景技术
目前业界操作系统提供少数几种不同的调度策略方法。用户业务可以根据自身业务情况,设置任务的任务优先级以及调度策略方法。
在嵌入式操作系统领域以WindRiver Vxworks实时操作系统为代表,广泛采用基于任务优先级的实时调度方法。Vxworks提供了两种基于任务优先级的实时调度方法:先进先出方法和时间片轮转方法。这两种方法都是基于任务优先级的调度策略,优先选择任务优先级最高的就绪状态任务。如果系统中存在多个最高优先级就绪状态任务,则将他们加入到一个运行队列中。先进先出算法则按照队列的先进先出的方式进行调度运行,也即只有前面的最高优先级任务主动放弃运行(例如阻塞等原因),才切换到下一个队列中的最高优先级就行任务;时间片轮转方法则按照时间片均匀的分配给同优先级就绪任务队列中的每个任务,以便他们可以相互轮转方式运行,避免排在后面的任务没有机会得到调度运行。
在服务器操作系统领域应用最为广泛的是Linux操作系统,Linux也提供Vxworks类似先进先出方法和时间片轮转方法的实时任务调度方法。除此之外还针对非实时任务提供完全公平调度方法,完全公平调度方法根据任务优先级、任务睡眠时间等运行情况,尽可能的将时间片公平的分配到每个任务。
但是,在通讯、高性能计算等复杂软件领域,由于业务逻辑复杂存在多个业务流,一个业务流又涉及多个任务,多个业务流可能相互交叉。因此在这类复杂软件领域中通常有较多的就绪状态任务,不同的任务在不同的时空代表不同的业务流。按照上述业界广泛使用的调度方法导致调度行为的随机性,从而导致经常出现高优先级业务流和低优先级任务流交叉运行,或关键业务流被系统后台服务任务频繁打断,导致关键业务流无法及时完成或关键业务流抖动延时过大。
发明内容
本发明的主要目的在于提供一种基于业务流的任务调度方法及装置,旨在解决在复杂软件领域中,现有的调度方法随机性大、导致关键业务流抖动延时过大的技术问题。
为实现上述目的,本发明提供的一种基于业务流的任务调度方法,所述基于业务流的任务调度方法包括:
在进行当前运行任务切换时,检测是否设置当前业务流;
若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务,切换并运行所述当前运行任务的下一个任务;
若没有设置当前业务流,则将首任务与所述当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流。
优选地,所述若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务,切换并运行所述当前运行任务的下一个任务的步骤包括:
若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务;
若查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
若没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
优选地,所述若查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务的步骤包括:
若查找到所述当前运行任务的下一个任务,则在操作系统的就绪任务队列中查找所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
优选地,所述若没有设置当前业务流,则将首任务与所述当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流的步骤包括:
若没有设置当前业务流,则根据预设业务流队列中业务流的优先级在该预设业务流队列逐个查找业务流;
当查找到的业务流的首任务与所述当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流。
优选地,所述当查找到的业务流的首任务与所述当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流的步骤包括:
当查找到的业务流的首任务与所述当前运行任务匹配时,则在操作系统的就绪任务队列中查找该匹配的业务流首任务的下一个任务;
若该匹配的业务流首任务的下一个任务在所述就绪任务队列中,则将该匹配的业务流设置为新的当前业务流;
若该匹配的业务流首任务的下一个任务不在所述就绪任务队列中,则在预设业务流队列中查找该匹配的业务流的下一个业务流。
为实现上述目的,本发明还提供一种基于业务流的任务调度装置,所述基于业务流的任务调度装置包括:
检测模块,用于在进行当前运行任务切换时,检测是否设置当前业务流;
任务调度模块,用于若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务,切换并运行所述当前运行任务的下一个任务;
业务流调度模块,用于若没有设置当前业务流,则将首任务与所述当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流。
优选地,所述任务调度模块包括:
任务查找单元,用于若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务;
任务切换运行单元,用于若查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
取消单元,用于若没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
优选地,所述任务切换运行单元还用于:
若查找到所述当前运行任务的下一个任务,则在操作系统的就绪任务队列中查找所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
优选地,所述业务流调度模块包括:
业务流查找单元,用于若没有设置当前业务流,则根据预设业务流队列中业务流的优先级在该预设业务流队列逐个查找业务流;
匹配设置单元,用于当查找到的业务流的首任务与所述当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流。
优选地,所述匹配设置单元还用于:
当查找到的业务流的首任务与所述当前运行任务匹配时,则在操作系统的就绪任务队列中查找该匹配的业务流首任务的下一个任务;
若该匹配的业务流首任务的下一个任务在所述就绪任务队列中,则将该匹配的业务流设置为新的当前业务流;
若该匹配的业务流首任务的下一个任务不在所述就绪任务队列中,则在预设业务流队列中查找该匹配的业务流的下一个业务流。
本发明通过在进行当前运行任务切换时,检测是否设置当前业务流;若设置了当前业务流,则在当前业务流的任务队列中查找当前运行任务的下一个任务,切换并运行当前运行任务的下一个任务;若没有设置当前业务流,则将首任务与当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流,从而在复杂软件环境下,本发明的运行行为更加贴近业务流期望的执行行为,即本发明根据用户设置的业务流调度顺序和业务流中任务队列的任务调度顺序,动态且有针对性地对关键业务流(即业务流队列中优先级高的业务流)进行调度,大大减小了调度的随机性,避免任务调度行为的混乱性,保证关键业务的高效执行,即避免关键业务流的任务被频繁打断,进而避免关键业务流无法及时完成或关键业务流抖动延时大。
附图说明
图1为本发明基于业务流的任务调度方法第一实施例的流程示意图;
图2为图1中若设置了当前业务流,则在当前业务流的任务队列中查找当前运行任务的下一个任务,切换并运行当前运行任务的下一个任务的步骤的细化流程示意图;
图3为图1中若没有设置当前业务流,则将首任务与所述当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流的步骤的细化流程示意图;
图4为本发明中业务流规则调度表和当前业务数据结构分布流示意图;
图5为就绪状态任务队列示意图;
图6为本发明基于业务流的任务调度装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为更好理解本发明,在此对抖动延时进行解释:本文所述的抖动延时是指一个关键业务流程,进行上万次执行过程中,每次执行的延时的偏差。例如一百次科学计算(如sina函数)都必须在0.9ms-1.1ms的时间范围内完成,此过程的抖动延时要求为0.1ms。在高性能计算(HPC)等场景下对关键流程的抖动延时要求较高。
本发明提供一种基于业务流的任务调度方法,在本发明基于业务流的任务调度方法的第一实施例中,参照图1,该基于业务流的任务调度方法包括:
步骤S10,在进行当前运行任务切换时,检测是否设置当前业务流;
操作系统中存在多个业务流,用户可以对各个业务流之间的优先级(多个业务流组成业务流队列)、每个业务流中的任务队列的任务和任务切换顺序进行设置,并将设置后的业务流调度规则(即业务流队列中业务流的调度顺序)和业务流中任务调度规则(即任务队列中任务的调度顺序)通过接口设置到操作系统的调度器中,即业务流调度规则包括一个业务流队或多个业务业务流队列,业务流队列记录了多个任务流并根据业务流的优先级进行排序;业务流中的任务队列根据任务执行顺序记录了多个任务;当前业务流表示当前正在执行的业务流,指向业务流队列的某一个业务流。此外,在未正式启动本发明方法之前,当前业务流处于未设置状态。在用户设置了业务流调度规则和任务调度规则之后,在进行当前运行任务切换时,检测调度器是否设置当前业务流。
步骤S20,若设置了当前业务流,则在当前业务流的任务队列中查找当前运行任务的下一个任务,切换并运行当前运行任务的下一个任务;
在调度器已经设置了当前业务流之后,获取当前业务流对应的任务调度规则,即获取该当前业务流任务队列中任务的调度顺序,根据任务调度顺序在当前业务流的任务队列中查找当前运行任务的下一个任务(即在当前业务流的任务队列中优先级仅次于当前运行任务的任务),若当前运行任务的下一个任务不为空,则切换并运行该当前运行任务的下一个任务;若当前运行任务的下一个任务为空,表明当前业务流已经运行完毕,其对应的任务队列中没有后续任务,则取消当前业务流的设置,并执行步骤S30以重新查找业务流设置新的当前业务流。
步骤S30,若没有设置当前业务流,则将首任务与所述当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流。
当检测到调度器中未设置当前业务流时,根据预设的业务流调度规则(此业务流调度规则为用户预设设置的,用户对每一个业务流的优先级进行设置,对每个业务流中任务队列所包含的任务以及任务队列中各个任务的优先级进行设置)设置业务流队列,根据业务流的优先级等级对业务流进行排序,形成预设业务流队列,从预设业务流队列中选出首任务与当前运行任务匹配且优先级最高的业务流,并将该选出的业务流设置为新的当前业务流。例如业务流队列中按照优先级由高到低有业务流1、2、3、4、5,当前运行任务为任务A,在预设业务流队列中首任务为任务A的业务流有业务流3、4、5,此时设置业务流3为新的当前业务流,并在设置完新的当前业务流后,执行步骤S20以切换并运行所述当前运行任务的下一个任务。
在本实施例中,通过在进行当前运行任务切换时,检测是否设置当前业务流;若设置了当前业务流,则在当前业务流的任务队列中查找当前运行任务的下一个任务,切换并运行当前运行任务的下一个任务;若没有设置当前业务流,则将首任务与当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流,从而在复杂软件环境下,本发明的运行行为更加贴近业务流期望的执行行为,即本发明根据用户设置的业务流调度顺序和业务流中任务队列的任务调度顺序,动态且有针对性地对关键业务流(即业务流队列中优先级高的业务流)进行调度,大大减小了调度的随机性,避免任务调度行为的混乱性,保证关键业务的高效执行,即避免关键业务流的任务被频繁打断,进而避免关键业务流无法及时完成或关键业务流抖动延时大。
进一步地,基于本发明基于业务流的任务调度方法的第一实施例,提出基于业务流的任务调度方法的第二实施例,在第二实施例中,参照图2,步骤S20包括:
步骤S21,若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务;
根据预设的任务调度规则,调度器根据当前运行任务在当前业务流中任务队列中确定当前运行任务的所在位置,并根据当前运行任务在当前业务流中任务队列的位置,查找该当前运行任务的下一个任务。
步骤S22,若查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
在查找到当前运行任务的下一个任务,即优先级仅次于当前运行任务的任务还处于当前业务流的任务队列中,则切换并运行该当前运行任务的下一个任务。
步骤S23,若没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
若在当前业务流的任务队列中未查找到当前运行任务的下一个任务,即当前运行任务为当前业务流的任务队列的最后一个任务,当前业务流的任务队列中任务运行完毕,则取消当前业务流设置,并查询和设置新的当前业务流。
为更好理解本发明任务调度方法,在此解释业务流中任务队列中任务调度基本过程:任务队列中包括多个任务,例如任务队列中按照用户设定的优先级从高至低顺序依次为任务A、B、C、D、E,若当前运行任务为任务B,则当前运行任务的下一个任务为C任务,且C任务处于操作系统的就绪任务队列中,则将当前运行任务切换至C任务并运行C任务,在再次需要进行当前运行任务切换时,经过同样的调度过程查找到D任务;若当前运行任务为E任务,则当前运行任务的下一个任务为空,即查找不到当前运行任务的下一个任务,表面当前业务流运行完毕,则取消当前业务流设置,在预设业务流中查找并设置新的当前业务流。
在本实施例中,通过对当前运行任务在当前业务流中任务队列的位置进行判断,即对当前业务流中任务队列中当前运行任务的下一任务是否为空进行判断,在查找到当前运行任务的下一任务时,切换并运行该下一任务,在没有查找到当前运行任务的下一任务时,则取消当前业务流设置,从而在当前业务流运行完毕时,及时对更新当前业务流,提高了业务流和任务调度的效率。
优选地,步骤S22包括:
步骤S221,若查找到所述当前运行任务的下一个任务,则在操作系统的就绪任务队列中查找所述当前运行任务的下一个任务;
在操作系统运行过程中,会将所有处于就绪状态的任务保存到一个就绪任务队列中,该就绪任务队列中每个元素指向相应的任务,调度器根据用户设置的任务调度规则(即任务队列中任务排列的先后顺序)在队列中选取待运行的任务。在查找到当前运行任务的下一个任务时,将该下一个任务作为待运行任务,然后在操作系统的就绪任务队列中查找待运行任务。
步骤S222,若在操作系统的就绪任务队列中查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中查找到待运行任务时,表明待运行任务已经准备就绪,可以进行调度,则切换该待运行任务为当前运行任务并运行该切换为当前运行任务的任务。
步骤S223,若在操作系统的就绪任务队列中没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
若在操作系统的就绪任务队列中没有查找到待运行任务时,表明待运行任务还未准备就绪,不可以进行调度,则取消当前业务流设置,重新查找并设置新的当前业务流,以完成当前任务的切换。
在本优选实施例中,在查找到所述当前运行任务的下一个任务后,继续判断该当前运行任务的下一个任务是否处于当前的就绪任务队列中,若处于则切换并运行该当前运行任务的下一个任务;若不处于则取消当前业务流设置,以重新选出和设置新的当前业务流,从而避免在当前业务流还未就绪时对其任务进行调度,或者等待未就绪的当前业务流而造成等待时间浪费,进而提高了业务流和任务的调度效率。
进一步地,基于本发明基于业务流的任务调度方法的第一实施例,提出基于业务流的任务调度方法的第三实施例,在第三实施例中,参照图3,步骤S30包括:
步骤S31,若没有设置当前业务流,则根据预设业务流队列中业务流的优先级在该预设业务流队列逐个查找业务流;
经检测,若操作系统的调度器没有设置当前业务流,则根据预设业务流队列中业务流的优先级在该预设业务流队列逐个查找业务流,即根据业务流优先级由高至低的顺序逐个查找预设业务流队列中的业务流,也就是说根据预设业务流队列的业务流排列顺序,逐个查找业务流,每当查找到一个业务流时,将该查找到的业务流的首任务(首任务是指业务流的任务队列中的第一个任务)与当前运行任务进行比较。
步骤S32,当查找到的业务流的首任务与所述当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流。
当查找到的业务流的首任务与当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流;当查找到的业务流的首任务与当前运行任务不匹配时,则继续在预设业务流队列中查找下一个业务流(即优先级仅次于任务队列首任务与当前运行任务不匹配业务流的业务流),如此循环,直至查找到首任务与当前运行任务匹配的业务流,当查找完预设业务流队列中的所有业务流,还是未找到首任务与当前运行任务匹配的业务流时,按照预设程序运行,预设程序包括结束整个进程、重新逐个查找预设业务流队列或者提示错误以提示用户重新设置业务流和任务调度规则。
在本实施例中,通过逐个查找预设业务流队列中的业务流,并将查找到的每个业务流的首任务与当前运行任务进行比较,当查找到的业务流的首任务与所述当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流;从而避免将操作系统的处理器不需要的业务流(即首任务与当前运行任务不匹配的业务流)作为当前业务流,提高了业务流调用的效率。
优选地,步骤S32包括:
步骤S321,当查找到的业务流的首任务与所述当前运行任务匹配时,则在操作系统的就绪任务队列中查找该匹配的业务流首任务的下一个任务;
步骤S322,若该匹配的业务流首任务的下一个任务在所述就绪任务队列中,则将该匹配的业务流设置为新的当前业务流;
当查找到的业务流的首任务与所述当前运行任务匹配时,继续判断该匹配的业务流首任务的下一个任务(以下呈首任务的下一个任务为次任务)是否处于操作系统的就绪任务队列中,若该匹配的业务流次任务处于操作系统的就绪任务队列中,表明匹配的业务流已经被调度器选中为当前业务流,即首任务与当前运行任务相匹配的业务流可能有多个,此时无法确定到底将哪一个业务流设置为当前业务流,从而进一步在当前就绪任务队列中查找是否存在匹配的业务流的次任务,若当前就绪状态任务队列中存在该次任务,则表明此匹配的业务流符合作为当前业务流的所有条件,则设置该匹配的业务流为当前业务流。
步骤S323,若该匹配的业务流首任务的下一个任务不在所述就绪任务队列中,则在预设业务流队列中查找该匹配的业务流的下一个业务流。
由于首任务与当前任务相匹配的业务流可能有多个,此时无法确定到底将哪一个业务流设置为当前业务流,从而进一步在当前就绪任务队列中查找是否存在首任务与当前运行任务匹配的业务流的次任务,若当前就绪任务队列中不存在匹配的业务流的次任务,则表明此业务流还未就绪,则在预设业务流队列中查找该匹配的业务流的下一个业务流。
在本优选实施例中,在查找到的业务流的首任务与当前运行任务匹配时,进一步判断该匹配的业务流的任务队列中次任务是否处于当前就绪任务队列中,若该次任务处于当前就绪任务队列中,则将该匹配的业务流设置为当前业务流,从而避免将首任务与当前运行任务匹配的多个任务流设置为当前业务流,提高了当前业务流设置的效率和准确性。
基于上述内容,下面以某业务环节的两个业务流为例,解释本发明基于业务流的任务调度方法,参照图4,该业务环节拆分出两个业务流:业务流1和业务流2,业务流1是系统的关键流程,为高优先级业务流;业务流2是系统的辅助流程,为低优先级业务流。业务流1约定的任务执行顺序为任务A->任务B->任务C;业务流2的任务执行顺序为任务E->任务B->任务D。
用户完成业务流程分析后通过接口告知操作系统业务流调度规则,调度器制订业务流调度规则表如图4所示。假设所有任务都处于就绪状态,操作系统建立就绪任务队列如图5所示。
完成上述的准备工作后,本发明的处理步骤如下:
首先在系统需要进行调度切换时,调度器检查是否设置了当前业务流。在系统初次运行时并未设置当前业务流,则进入确定当前业务流和待运行任务的步骤,即在当前业务流队列中选出优先级最高的业务流为当前待定业务流,并对待定业务流的第一任务(即首任务)与当前任务进行匹配、以及对待定业务流的第二任务(即次任务)与当前就绪状态任务队列进行比对,若待定业务流的第一任务与当前任务匹配且第二任务处于当前就绪状态任务队列中,则设置待定业务流为当前业务流,具体过程如下:
在当前业务流队列中根据优先级选择业务流1作为待定业务流,在待定业务流(业务流1)任务队列中选择首任务(任务A)。对系统中正在运行的当前任务和任务A进行匹配,如果当前正在运行的任务就是任务A,则进一步确认待定任务流任务队列的次任务(任务B)是否处于就绪状态。通过在任务就绪状态队列中查找任务B,确认任务B处于就绪状态,则可确认待定业务流(业务流1)为当前业务流,并且待运行任务为任务B。设置当前任务流(业务流1)并切换到待运行任务(任务B)运行。
在下一次需要进行调度切换时,调度器检查是否设置了当前业务流。由于已设置当前业务流(业务流1)则根据当前业务流任务队列中查找次任务(任务C)。查找到次任务(任务C)之后在就绪状态任务队列中进行匹配。当发现任务C也处于就绪状态时则确认任务C为待运行任务,切换到此任务(任务C)运行业务任务。
当再下一次需要进行调度切换时,调度器再次检查是否设置了当前业务流。并在当前业务流(业务流1)任务队列中查找次任务。此时当前业务流过程已执行完成,相关任务队列中没有后续任务,则清空当前业务流。之后继续根据当前就绪状态任务、业务流、业务流任务队列重新选择当前业务流和待运行的任务,重复前述过程。
通过上述实施例可以看出在多个业务流多个就绪状态任务情况下,本发明根据最高优先级的业务流选择任务并进行调度执行,提高了关键业务流的处理性能,降低了业务计算抖动延时。而现有技术方案依据孤立的单个任务优先级进行调度切换,调度过程受当前就绪状态的最高优先级任务影响,进一步导致关键业务流程执行性能降低;另外随着时间的推移,系统中会随机出现更多的高优先级任务(例如操作系统的后台任务),而这些后台任务可能会打断关键业务被调度执行,导致关键业务流程的抖动延时加大。
综上所述:相对现有技术方案,本发明将业务流的调度规则传递给调度器,依据业务流的要求进行调度切换,提高了系统中关键业务的执行性能,降低了关键业务流的抖动延时。
本发明还提供一种基于业务流的任务调度装置,在基于业务流的任务调度装置第一实施例中,参照图6,该任务调度装置包括:
检测模块10,用于在进行当前运行任务切换时,检测是否设置当前业务流;
操作系统中存在多个业务流,用户可以对各个业务流之间的优先级(多个业务流组成业务流队列)、每个业务流中的任务队列的任务和任务切换顺序进行设置,并将设置后的业务流调度规则(即业务流队列中业务流的调度顺序)和业务流中任务调度规则(即任务队列中任务的调度顺序)通过接口设置到操作系统的调度器中,即业务流调度规则包括一个业务流队或多个业务业务流队列,业务流队列记录了多个任务流并根据业务流的优先级进行排序;业务流中的任务队列根据任务执行顺序记录了多个任务;当前业务流表示当前正在执行的业务流,指向业务流队列的某一个业务流。此外,在未正式启动本发明方法之前,当前业务流处于未设置状态。在用户设置了业务流调度规则和任务调度规则之后,检测模块10在进行当前运行任务切换时,检测调度器是否设置当前业务流。
任务调度模块20,用于若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务,切换并运行所述当前运行任务的下一个任务;
在调度器已经设置了当前业务流之后,任务调度模块20获取当前业务流对应的任务调度规则,即获取该当前业务流任务队列中任务的调度顺序,根据任务调度顺序在当前业务流的任务队列中查找当前运行任务的下一个任务(即在当前业务流的任务队列中优先级仅次于当前运行任务的任务),若当前运行任务的下一个任务不为空,则切换并运行该当前运行任务的下一个任务;若当前运行任务的下一个任务为空,表明当前业务流已经运行完毕,其对应的任务队列中没有后续任务,则取消当前业务流的设置,并执行步骤S30以重新查找业务流设置新的当前业务流。
业务流调度模块30,用于若没有设置当前业务流,则将首任务与所述当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流。
当检测到调度器中未设置当前业务流时,根据预设的业务流调度规则(此业务流调度规则为用户预设设置的,用户对每一个业务流的优先级进行设置,对每个业务流中任务队列所包含的任务以及任务队列中各个任务的优先级进行设置)设置业务流队列,根据业务流的优先级等级对业务流进行排序,形成预设业务流队列,从预设业务流队列中选出首任务与当前运行任务匹配且优先级最高的业务流,并将该选出的业务流设置为新的当前业务流。例如业务流队列中按照优先级由高到低有业务流1、2、3、4、5,当前运行任务为任务A,在预设业务流队列中首任务为任务A的业务流有业务流3、4、5,此时设置业务流3为新的当前业务流,并在设置完新的当前业务流后,执行步骤S20以切换并运行所述当前运行任务的下一个任务。
在本实施例中,通过在进行当前运行任务切换时,检测是否设置当前业务流;若设置了当前业务流,则在当前业务流的任务队列中查找当前运行任务的下一个任务,切换并运行当前运行任务的下一个任务;若没有设置当前业务流,则将首任务与当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流,从而在复杂软件环境下,本发明的运行行为更加贴近业务流期望的执行行为,即本发明根据用户设置的业务流调度顺序和业务流中任务队列的任务调度顺序,动态且有针对性地对关键业务流(即业务流队列中优先级高的业务流)进行调度,大大减小了调度的随机性,避免任务调度行为的混乱性,保证关键业务的高效执行,即避免关键业务流的任务被频繁打断,进而避免关键业务流无法及时完成或关键业务流抖动延时大。
进一步地,在本发明基于业务流的任务调度装置第一实施例的基础上,提出任务调度装置的第二实施例子,在第二实施例中,任务调度模块20包括:
任务查找单元21,用于若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务;
任务查找单元21根据预设的任务调度规则,调度器根据当前运行任务在当前业务流中任务队列中确定当前运行任务的所在位置,并根据当前运行任务在当前业务流中任务队列的位置,查找该当前运行任务的下一个任务。
任务切换运行单元22,用于若查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
任务切换运行单元22在查找到当前运行任务的下一个任务,即优先级仅次于当前运行任务的任务还处于当前业务流的任务队列中,则切换并运行该当前运行任务的下一个任务。
取消单元23,用于若没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
若在当前业务流的任务队列中未查找到当前运行任务的下一个任务,即当前运行任务为当前业务流的任务队列的最后一个任务,当前业务流的任务队列中任务运行完毕,则取消单元23取消当前业务流设置,并查询和设置新的当前业务流。
为更好理解本发明任务调度方法,在此解释业务流中任务队列中任务调度基本过程:任务队列中包括多个任务,例如任务队列中按照用户设定的优先级从高至低顺序依次为任务A、B、C、D、E,若当前运行任务为任务B,则当前运行任务的下一个任务为C任务,且C任务处于操作系统的就绪任务队列中,则将当前运行任务切换至C任务并运行C任务,在再次需要进行当前运行任务切换时,经过同样的调度过程查找到D任务;若当前运行任务为E任务,则当前运行任务的下一个任务为空,即查找不到当前运行任务的下一个任务,表面当前业务流运行完毕,则取消当前业务流设置,在预设业务流中查找并设置新的当前业务流。
在本实施例中,通过任务查找单元21对当前运行任务在当前业务流中任务队列的位置进行判断,即对当前业务流中任务队列中当前运行任务的下一任务是否为空进行判断,在查找到当前运行任务的下一任务时,任务切换运行单元22切换并运行该下一任务,在没有查找到当前运行任务的下一任务时,则取消单元23取消当前业务流设置,从而在当前业务流运行完毕时,及时对更新当前业务流,提高了业务流和任务调度的效率。
优选地,任务切换运行单元22还用于:
若查找到所述当前运行任务的下一个任务,则在操作系统的就绪任务队列中查找所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
在操作系统运行过程中,会将所有处于就绪状态的任务保存到一个就绪任务队列中,该就绪任务队列中每个元素指向相应的任务,调度器根据用户设置的任务调度规则(即任务队列中任务排列的先后顺序)在队列中选取待运行的任务。在查找到当前运行任务的下一个任务时,将该下一个任务作为待运行任务,然后在操作系统的就绪任务队列中查找待运行任务。
若在操作系统的就绪任务队列中查找到待运行任务时,表明待运行任务已经准备就绪,可以进行调度,则切换该待运行任务为当前运行任务并运行该切换为当前运行任务的任务。
若在操作系统的就绪任务队列中没有查找到待运行任务时,表明待运行任务还未准备就绪,不可以进行调度,则取消当前业务流设置,重新查找并设置新的当前业务流,以完成当前任务的切换。
在本优选实施例中,在查找到所述当前运行任务的下一个任务后,继续判断该当前运行任务的下一个任务是否处于当前的就绪任务队列中,若处于则切换并运行该当前运行任务的下一个任务;若不处于则取消当前业务流设置,以重新选出和设置新的当前业务流,从而避免在当前业务流还未就绪时对其任务进行调度,或者等待未就绪的当前业务流而造成等待时间浪费,进而提高了业务流和任务的调度效率。
进一步地,在本发明基于业务流的任务调度装置第一实施例的基础上,提出任务调度装置的第三实施例子,在第三实施例中,业务流调度模块30包括:
业务流查找单元31,用于若没有设置当前业务流,则根据预设业务流队列中业务流的优先级在该预设业务流队列逐个查找业务流;
经检测模块10检测,若操作系统的调度器没有设置当前业务流,则业务流查找单元31根据预设业务流队列中业务流的优先级在该预设业务流队列逐个查找业务流,即根据业务流优先级由高至低的顺序逐个查找预设业务流队列中的业务流,也就是说根据预设业务流队列的业务流排列顺序,逐个查找业务流,每当查找到一个业务流时,将该查找到的业务流的首任务(首任务是指业务流的任务队列中的第一个任务)与当前运行任务进行比较。
匹配设置单元32,用于当查找到的业务流的首任务与所述当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流。
当查找到的业务流的首任务与当前运行任务匹配时,则匹配设置单元32将该匹配的业务流设置为新的当前业务流;当查找到的业务流的首任务与当前运行任务不匹配时,则匹配设置单元32继续在预设业务流队列中查找下一个业务流(即优先级仅次于任务队列首任务与当前运行任务不匹配业务流的业务流),如此循环,直至查找到首任务与当前运行任务匹配的业务流,当查找完预设业务流队列中的所有业务流,还是未找到首任务与当前运行任务匹配的业务流时,按照预设程序运行,预设程序包括结束整个进程、重新逐个查找预设业务流队列或者提示错误以提示用户重新设置业务流和任务调度规则。
在本实施例中,通过业务流查找单元31逐个查找预设业务流队列中的业务流,并将查找到的每个业务流的首任务与当前运行任务进行比较,当查找到的业务流的首任务与所述当前运行任务匹配时,则匹配设置单元32将该匹配的业务流设置为新的当前业务流;从而避免将操作系统的处理器不需要的业务流(即首任务与当前运行任务不匹配的业务流)作为当前业务流,提高了业务流调用的效率。
优选地,匹配设置单元32还用于:
当查找到的业务流的首任务与所述当前运行任务匹配时,则在操作系统的就绪任务队列中查找该匹配的业务流首任务的下一个任务;
若该匹配的业务流首任务的下一个任务在所述就绪任务队列中,则将该匹配的业务流设置为新的当前业务流;
若该匹配的业务流首任务的下一个任务不在所述就绪任务队列中,则在预设业务流队列中查找该匹配的业务流的下一个业务流。
当查找到的业务流的首任务与所述当前运行任务匹配时,匹配设置单元32继续判断该匹配的业务流首任务的下一个任务(以下呈首任务的下一个任务为次任务)是否处于操作系统的就绪任务队列中,若该匹配的业务流次任务处于操作系统的就绪任务队列中,表明匹配的业务流已经被调度器选中为当前业务流,即首任务与当前运行任务相匹配的业务流可能有多个,此时无法确定到底将哪一个业务流设置为当前业务流,从而进一步在当前就绪任务队列中查找是否存在匹配的业务流的次任务,若当前就绪状态任务队列中存在该次任务,则表明此匹配的业务流符合作为当前业务流的所有条件,则匹配设置单元32设置该匹配的业务流为当前业务流。
由于首任务与当前任务相匹配的业务流可能有多个,此时无法确定到底将哪一个业务流设置为当前业务流,从而进一步在当前就绪任务队列中查找是否存在首任务与当前运行任务匹配的业务流的次任务,若当前就绪任务队列中不存在匹配的业务流的次任务,则表明此业务流还未就绪,则在预设业务流队列中查找该匹配的业务流的下一个业务流。
在本优选实施例中,在查找到的业务流的首任务与当前运行任务匹配时,进一步判断该匹配的业务流的任务队列中次任务是否处于当前就绪任务队列中,若该次任务处于当前就绪任务队列中,则将该匹配的业务流设置为当前业务流,从而避免将首任务与当前运行任务匹配的多个任务流设置为当前业务流,提高了当前业务流设置的效率和准确性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于业务流的任务调度方法,其特征在于,所述基于业务流的任务调度方法包括:
在进行当前运行任务切换时,检测是否设置当前业务流;
若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务,切换并运行所述当前运行任务的下一个任务;
若没有设置当前业务流,则将首任务与所述当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流。
2.如权利要求1所述的基于业务流的任务调度方法,其特征在于,所述若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务,切换并运行所述当前运行任务的下一个任务的步骤包括:
若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务;
若查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
若没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
3.如权利要求2所述的基于业务流的任务调度方法,其特征在于,所述若查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务的步骤包括:
若查找到所述当前运行任务的下一个任务,则在操作系统的就绪任务队列中查找所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
4.如权利要求1所述的基于业务流的任务调度方法,其特征在于,所述 若没有设置当前业务流,则将首任务与所述当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流的步骤包括:
若没有设置当前业务流,则根据预设业务流队列中业务流的优先级在该预设业务流队列逐个查找业务流;
当查找到的业务流的首任务与所述当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流。
5.如权利要求4所述的基于业务流的任务调度方法,其特征在于,所述当查找到的业务流的首任务与所述当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流的步骤包括:
当查找到的业务流的首任务与所述当前运行任务匹配时,则在操作系统的就绪任务队列中查找该匹配的业务流首任务的下一个任务;
若该匹配的业务流首任务的下一个任务在所述就绪任务队列中,则将该匹配的业务流设置为新的当前业务流;
若该匹配的业务流首任务的下一个任务不在所述就绪任务队列中,则在预设业务流队列中查找该匹配的业务流的下一个业务流。
6.一种基于业务流的任务调度装置,其特征在于,所述基于业务流的任务调度装置包括:
检测模块,用于在进行当前运行任务切换时,检测是否设置当前业务流;
任务调度模块,用于若设置了当前业务流,则在当前业务流的任务队列中查找所述当前运行任务的下一个任务,切换并运行所述当前运行任务的下一个任务;
业务流调度模块,用于若没有设置当前业务流,则将首任务与所述当前运行任务匹配且优先级在预设业务流队列中最高的业务流设置为新的当前业务流。
7.如权利要求6所述的基于任务流的任务调度装置,其特征在于,所述任务调度模块包括:
任务查找单元,用于若设置了当前业务流,则在当前业务流的任务队列 中查找所述当前运行任务的下一个任务;
任务切换运行单元,用于若查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
取消单元,用于若没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
8.如权利要求7所述的基于业务流的任务调度装置,其特征在于,所述任务切换运行单元还用于:
若查找到所述当前运行任务的下一个任务,则在操作系统的就绪任务队列中查找所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中查找到所述当前运行任务的下一个任务,则切换并运行所述当前运行任务的下一个任务;
若在操作系统的就绪任务队列中没有查找到所述当前运行任务的下一个任务,则取消当前业务流设置。
9.如权利要求6所述的基于任务流的任务调度装置,其特征在于,所述业务流调度模块包括:
业务流查找单元,用于若没有设置当前业务流,则根据预设业务流队列中业务流的优先级在该预设业务流队列逐个查找业务流;
匹配设置单元,用于当查找到的业务流的首任务与所述当前运行任务匹配时,则将该匹配的业务流设置为新的当前业务流。
10.如权利要求9所述的基于业务流的任务调度方法,其特征在于,所述匹配设置单元还用于:
当查找到的业务流的首任务与所述当前运行任务匹配时,则在操作系统的就绪任务队列中查找该匹配的业务流首任务的下一个任务;
若该匹配的业务流首任务的下一个任务在所述就绪任务队列中,则将该匹配的业务流设置为新的当前业务流;
若该匹配的业务流首任务的下一个任务不在所述就绪任务队列中,则在预设业务流队列中查找该匹配的业务流的下一个业务流 。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510591290.6A CN106547611A (zh) | 2015-09-16 | 2015-09-16 | 基于业务流的任务调度方法及装置 |
PCT/CN2016/073931 WO2016165467A1 (zh) | 2015-09-16 | 2016-02-17 | 基于业务流的任务调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510591290.6A CN106547611A (zh) | 2015-09-16 | 2015-09-16 | 基于业务流的任务调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106547611A true CN106547611A (zh) | 2017-03-29 |
Family
ID=57126503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510591290.6A Pending CN106547611A (zh) | 2015-09-16 | 2015-09-16 | 基于业务流的任务调度方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106547611A (zh) |
WO (1) | WO2016165467A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346263A (zh) * | 2017-06-29 | 2017-11-14 | 上海联影医疗科技有限公司 | 任务执行方法、存储介质以及计算机设备 |
CN113723936A (zh) * | 2021-10-12 | 2021-11-30 | 国网安徽省电力有限公司宿州供电公司 | 一种电力工程质量监督管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840355A (zh) * | 2003-02-18 | 2010-09-22 | 微软公司 | 用于增强协处理器性能的系统和方法 |
CN103309734A (zh) * | 2013-06-24 | 2013-09-18 | 哈尔滨工业大学 | 基于优先级分组的嵌入式任务调度方法 |
US20140040906A1 (en) * | 2007-07-27 | 2014-02-06 | Philippe Kahn | Optimizing preemptive operating system with motion sensing |
CN103729167A (zh) * | 2012-10-12 | 2014-04-16 | 辉达公司 | 用于改进多线程处理单元中的性能的技术 |
US20140317631A1 (en) * | 2013-04-19 | 2014-10-23 | Cubic Corporation | Reservation scheduler for real-time operating systems in wireless sensor networks |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU6244686A (en) * | 1985-09-17 | 1987-03-19 | Codex Corporation | Multiple task control |
US20080244592A1 (en) * | 2007-03-27 | 2008-10-02 | Kabushiki Kaisha Toshiba | Multitask processing device and method |
CN102455940B (zh) * | 2010-10-29 | 2014-02-12 | 迈普通信技术股份有限公司 | 一种定时器和异步事件的处理方法及系统 |
CN103823706B (zh) * | 2014-02-12 | 2018-02-06 | 浙江大学 | 一种基于RTLinux的被控对象模型模拟仿真实时调度方法 |
-
2015
- 2015-09-16 CN CN201510591290.6A patent/CN106547611A/zh active Pending
-
2016
- 2016-02-17 WO PCT/CN2016/073931 patent/WO2016165467A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840355A (zh) * | 2003-02-18 | 2010-09-22 | 微软公司 | 用于增强协处理器性能的系统和方法 |
US20140040906A1 (en) * | 2007-07-27 | 2014-02-06 | Philippe Kahn | Optimizing preemptive operating system with motion sensing |
CN103729167A (zh) * | 2012-10-12 | 2014-04-16 | 辉达公司 | 用于改进多线程处理单元中的性能的技术 |
US20140317631A1 (en) * | 2013-04-19 | 2014-10-23 | Cubic Corporation | Reservation scheduler for real-time operating systems in wireless sensor networks |
CN103309734A (zh) * | 2013-06-24 | 2013-09-18 | 哈尔滨工业大学 | 基于优先级分组的嵌入式任务调度方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346263A (zh) * | 2017-06-29 | 2017-11-14 | 上海联影医疗科技有限公司 | 任务执行方法、存储介质以及计算机设备 |
CN107346263B (zh) * | 2017-06-29 | 2021-01-12 | 上海联影医疗科技股份有限公司 | 任务执行方法、存储介质以及计算机设备 |
CN113723936A (zh) * | 2021-10-12 | 2021-11-30 | 国网安徽省电力有限公司宿州供电公司 | 一种电力工程质量监督管理方法及系统 |
CN113723936B (zh) * | 2021-10-12 | 2023-11-14 | 国网安徽省电力有限公司宿州供电公司 | 一种电力工程质量监督管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2016165467A1 (zh) | 2016-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829804B2 (en) | Assigning jobs to heterogeneous processing modules | |
US20200019435A1 (en) | Dynamic optimizing task scheduling | |
Joshi et al. | Queues with redundancy: Latency-cost analysis | |
US8214521B2 (en) | Systems and methods for changing computational tasks on computation nodes to minimize processing time variation | |
Hyytiä et al. | Size-and state-aware dispatching problem with queue-specific job sizes | |
Ko et al. | Design and application of task administration protocols for collaborative production and service systems | |
CN101211277A (zh) | 选择子os的一个执行计划的方法与使用该方法的虚拟机监视器 | |
Attar et al. | Hybrid flexible flowshop scheduling problem with unrelated parallel machines and limited waiting times | |
US20140359628A1 (en) | Dynamically altering selection of already-utilized resources | |
CN108229771A (zh) | 分配订单的方法及装置 | |
CN105808346B (zh) | 一种任务调度方法与装置 | |
WO2016155996A1 (en) | Production system and method for controlling same | |
FLEMING’S | The new method of adaptive CPU scheduling using fonseca and fleming’s genetic algorithm | |
Sharma et al. | Analysis of dispatching rules in a stochastic dynamic job shop manufacturing system with sequence-dependent setup times | |
Rossi et al. | Dynamic set-up rules for hybrid flow shop scheduling with parallel batching machines | |
CN106547611A (zh) | 基于业务流的任务调度方法及装置 | |
JP2017191373A5 (zh) | ||
CN113608852B (zh) | 任务调度方法、调度模块、推理节点和协同作业系统 | |
Tan et al. | Coupling scheduler for mapreduce/hadoop | |
Zikos et al. | A clairvoyant site allocation policy based on service demands of jobs in a computational grid | |
Machida et al. | Performability analysis of adaptive drone computation offloading with fog computing | |
US20070039004A1 (en) | Decentralized coordination of resource usage in multi-agent systems | |
Altiok et al. | Pull-type manufacturing systems with multiple product types | |
CN106796666B (zh) | 机器人控制装置、方法及系统 | |
Stadnicka et al. | Work sequence analysis and computer simulations of value flow and workers’ relocations: a case study |
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: 20170329 |
|
RJ01 | Rejection of invention patent application after publication |