CN111309475A - 一种检测任务执行方法及设备 - Google Patents
一种检测任务执行方法及设备 Download PDFInfo
- Publication number
- CN111309475A CN111309475A CN202010072757.7A CN202010072757A CN111309475A CN 111309475 A CN111309475 A CN 111309475A CN 202010072757 A CN202010072757 A CN 202010072757A CN 111309475 A CN111309475 A CN 111309475A
- Authority
- CN
- China
- Prior art keywords
- execution
- executed
- detection
- task
- time
- 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
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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请的目的是提供一种检测任务执行方法及设备,本申请通过获取多个待执行的检测任务的相关信息,其中,所述相关信息包括执行安全点、执行开始点、检测时间、执行结束点;确定所述待执行的检测任务中同步检测的信息以及异步检测的信息;根据所述检测任务的相关信息、所述同步检测的信息及所述异步检测的信息确定每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间;根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中。从而可以基于检测的起止路径、对比多个阶段的耗时动态计算出最优检测任务的执行顺序,以达到全局总耗时最少。
Description
技术领域
本申请涉及设备检测领域,尤其涉及一种检测任务执行方法及设备。
背景技术
在设备的检测过程中,也包含大量的检测任务需要执行,而任务的执行的顺序和需要消耗的时间影响着整个检测性能以及消耗的资源,在多任务执行时,容易出现机械移动路径重复、任务堆积,处理延时的情况,以及不能合理安排待执行任务的执行顺序,会导致资源调度效率较低,不能充分发挥检测设备的计算能力,造成系统的等待时间过长,检测过程耗时较长等问题。
发明内容
本申请的一个目的是提供一种检测任务执行方法及设备,解决现有技术中执行检测任务时全局耗时长、不能动态计算待执行任务的执行顺序的问题。
根据本申请的一个方面,提供了一种检测任务执行方法,该方法包括:
获取多个待执行的检测任务的相关信息,其中,所述相关信息包括执行安全点、执行开始点、检测时间、执行结束点;
确定所述待执行的检测任务中同步检测的信息以及异步检测的信息;
根据所述检测任务的相关信息、所述同步检测的信息及所述异步检测的信息确定每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间;
根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中。
进一步地,确定所述待执行的检测任务中同步检测的信息以及异步检测的信息,包括:
获取所有待执行的检测任务之间的执行关系,其中,所述执行关系包括同步执行关系和异步执行关系;
根据所述执行关系确定同步检测的信息以及异步检测的信息,其中,所述同步检测的信息包括同步的检测任务以及该同步的检测任务的相关信息,所述异步检测的信息包括异步的检测任务以及异步的检测任务的相关信息。
进一步地,根据所述检测任务的相关信息、所述同步检测的信息及所述异步检测的信息确定每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间,包括:
根据当前待执行的检测任务的相关信息及下一待执行的检测任务的相关信息判断所述当前待执行的检测任务的执行结束点是否与所述下一待执行的检测任务的执行开始点为同一点,得到判断结果;
根据所述判断结果及所述当前待执行的检测任务的相关信息确定该当前待执行的检测任务的执行消耗的基本时间,重复上述判断过程,以确定每一待执行的检测任务的执行消耗的基本时间;
根据当前待执行的检测任务的检测时间及所述同步检测的信息确定与同步执行关系中任一待执行的检测任务之间的同步执行时间;
根据当前待执行的检测任务的检测时间及所述异步检测的信息确定与异步执行关系中任一待执行的检测任务之间的异步执行时间。
进一步地,根据所述判断结果及所述当前待执行的检测任务的相关信息确定该当前待执行的检测任务的执行消耗的基本时间,包括:
若所述判断结果为所述当前待执行的检测任务的执行结束点与所述下一待执行的检测任务的执行开始点不相同,则根据所述当前待执行的检测任务的执行安全点、执行开始点确定执行消耗的第一基本时间;
根据当前待执行的检测任务的执行结束点及下一待执行的检测任务的执行安全点确定与剩余待执行的检测任务之间的执行消耗的第二基本时间。
进一步地,根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中,包括:
根据所述第一基本时间、所述第二基本时间、所述同步执行时间以及所述异步执行时间,将所有待执行的检测任务排列放入任务执行队列中。
进一步地,根据所述判断结果及所述当前待检测任务的相关信息确定该当前待执行的检测任务的基本时间,包括:
若所述判断结果为所述当前待执行的检测任务的执行结束点与所述下一待执行的检测任务的执行开始点为同一点,则根据所述当前待执行的检测任务的执行安全点、执行开始点确定执行消耗的基本时间。
进一步地,根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中,包括:
根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间及异步执行时间确定所述每一待执行的检测任务的总执行消耗时长;
根据所述每一待执行的检测任务的总执行消耗时长进行时长升序排列,排列后放入任务执行队列中。
进一步地,根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中,包括:
优先选取多个待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间对该多个待执行的检测任务进行排序,得到排序队列;
将剩余的待执行的检测任务按照预设的插入方式依次插入至所述排序队列中,待最后一个待执行的检测任务插入完成后,得到任务执行队列。
进一步地,所述预设的插入方式包括:
将待插入的检测任务依次插入至排序队列中由已有的待执行的检测任务确定的插入位点,得到每一插入位点对应的新的排序队列;
计算所述每一插入位点对应的新的排序队列中所有待执行的检测任务的累加的总执行消耗时长,其中,所述总执行消耗时长由所述待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间确定。
根据计算得到的所有的累加的总执行消耗时长选取出最短时长对应的新的排序队列,作为将待插入的检测任务插入至排序队列的插入结果。
进一步地,所述方法还包括:
根据当前的运算状态对所有待执行的检测任务进行分组;
根据每一分组内的每一待执行的检测任务的异步执行时间确定该分组的执行消耗时长;
根据每一分组的执行消耗时长对每一分组进行排序,按照排序后的顺序依次执行所有分组内的待执行的检测任务。
根据本申请又一个方面,还提供了一种检测任务执行的设备,该设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
与现有技术相比,本申请通过获取多个待执行的检测任务的相关信息,其中,所述相关信息包括执行安全点、执行开始点、检测时间、执行结束点;确定所述待执行的检测任务中同步检测的信息以及异步检测的信息;根据所述检测任务的相关信息、所述同步检测的信息及所述异步检测的信息确定每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间;根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中。从而可以基于检测的起止路径、对比多个阶段的耗时动态计算出最优检测任务的执行顺序,以达到全局总耗时最少,提高任务执行效率以及可以更加合理地分配资源。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面提供的一种检测任务执行方法的流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change RAM,PRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disk,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
图1示出根据本申请的一个方面提供的一种检测任务执行方法的流程示意图,该方法包括:步骤S11~步骤S14,
在步骤S11中,获取多个待执行的检测任务的相关信息,其中,所述相关信息包括执行安全点、执行开始点、检测时间、执行结束点;在一检测的应用场景下,比如进行手机的检测,则检测任务可为手机摄像头的检测、安装应用程序的检测、解锁检测等。执行安全点是为防止终端设备与检测该终端设备的机器发生碰撞确定的安全范围的阈值点,在检测过程中,无论终端设备如何移动都不会碰撞到机器。为每一个待执行的检测任务设定执行安全点、执行开始点、执行过程以及执行结束点,将该检测任务从执行安全点移动到执行开始点进行检测,执行到结束点时完成整个检测过程,得到检测时间。当该检测任务完成后从执行结束点进入下一个待执行的检测任务的执行安全点。需要说明的是,执行安全点的设定可在配置检测终端设备的机器时设置,根据机器的轴控的旋转信息进行确定,而执行开始点是根据执行该检测任务时耗时情况比较好时进行设定的,比如设定为耗时在某值范围内认为是比较好,则该值可为执行开始点,执行开始点和执行结束点都可以进行调整。
在步骤S12中,确定所述待执行的检测任务中同步检测的信息以及异步检测的信息;在此,确定所有待执行的检测任务的执行顺序时,选择执行时间最短的队列中的执行顺序,则需要确定从当前的检测任务执行到下一检测任务需要耗时多久,在所有的待执行的检测任务中存在可以同步执行的待执行的检测任务以及异步执行的待执行的检测任务,如待执行的检测任务为A,与它可同步执行的有待执行的检测任务B和C,与它进行异步执行的待执行的检测任务有D和E,则需要确定每一待执行的检测任务的可同步执行的检测任务的信息以及需要异步执行的检测任务的信息,即进行同步和异步的分类划分,确定同步检测的信息以及异步检测的信息。
在步骤S13中,根据所述检测任务的相关信息、所述同步检测的信息及所述异步检测的信息确定每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间;在此,检测任务的执行消耗的基本时间为该检测任务执行到下一检测任务过程中所需要的基础阶段耗时时间,不因其他检测任务的执行和是否同步执行或异步执行而改变,根据检测任务的相关信息中设定的时间点确定,如从执行安全点到执行开始点属于执行消耗的基本时间。通过检测任务的相关信息以及确定的每一待执行的检测任务对应的同步检测的信息以及异步检测的信息可计算出从一个待执行的检测任务到达下一个待执行的检测任务所需要消耗的同步执行时间和异步执行时间。
随后,在步骤S14中,根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中。在此,根据计算出的各个阶段所需的耗时,从而根据得到的耗时对所有待执行的检测任务进行排序,排序形成一有序队列,如按照时间长短排序,将耗时最短的排列在最前面,如检测任务A到检测任务B需要的耗时最短,到检测任务C次之,则排序为A→B→C;将所有的待执行的检测任务按照耗时排序后最终得到任务执行队列,按照该任务执行队列执行其中的检测任务。该任务执行队列在检测过程中还可以根据待执行的检测任务的动态变化进行调整队列,比如其中的待执行的检测任务需要重试、或出现新的待执行的检测任务以及需要移除其中的某一或某些待执行的检测任务,达到根据当前的执行队列动态计算出最优任务执行顺序,以达到全局总耗时最少。
在本申请中,设定执行任务的执行安全点、执行开始点以及执行结束点从而确定了检测起止路径,基于检测起止路径确定机械移动耗时(执行消耗的基本时间)以及异步计算检测任务耗时,进而根据确定的所有耗时计算出最优检测任务执行顺序。
在本申请一实施例中,在步骤S12中,获取所有待执行的检测任务之间的执行关系,其中,所述执行关系包括同步执行关系和异步执行关系;根据所述执行关系确定同步检测的信息以及异步检测的信息,其中,所述同步检测的信息包括同步的检测任务以及该同步的检测任务的相关信息,所述异步检测的信息包括异步的检测任务以及异步的检测任务的相关信息。在此,每一待执行的检测任务存在与其进行同步执行和/或异步执行的其他待执行的检测任务,确定每个待执行的检测任务与其他待执行的检测任务之间的执行关系,为同步执行关系的有哪些检测任务,为异步执行关系的有哪些检测任务。根据确定的执行关系得到分类的信息,即得到为同步执行关系的同步检测的信息,例如,检测任务A的同步执行步骤为检测任务B、检测任务C,则同步检测的信息包括检测任务A、检测任务B和检测任务C本身,还包括检测任务A、检测任务B的相关信息和检测任务C的相关信息,即检测任务B和C的执行安全点、执行开始点、检测时间以及执行结束点这些信息;同样,异步检测的信息包括同为异步执行的检测任务本身以及异步执行的检测任务的相关信息。将每一个待执行的检测任务的执行关系都确定后并确定出对应的同步检测的信息和异步检测的信息,方便后续进行计算每个待执行的检测任务之间的执行的耗时情况。
在本申请一实施例中,在步骤S13中,根据当前待执行的检测任务的相关信息及下一待执行的检测任务的相关信息判断所述当前待执行的检测任务的执行结束点是否与所述下一待执行的检测任务的执行开始点为同一点,得到判断结果;根据所述判断结果及所述当前待执行的检测任务的相关信息确定该当前待执行的检测任务的执行消耗的基本时间,重复上述判断过程,以确定每一待执行的检测任务的执行消耗的基本时间;根据当前待执行的检测任务的检测时间及所述同步检测的信息确定与同步执行关系中任一待执行的检测任务之间的同步执行时间;根据当前待执行的检测任务的检测时间及所述异步检测的信息确定与异步执行关系中任一待执行的检测任务之间的异步执行时间。在此,当前待执行的检测任务为当前需要计算的执行耗时时间的检测任务,如需要计算检测任务A到检测任务B的耗时,则检测任务A为当前待执行的检测任务,检测任务B为下一待执行的检测任务。根据检测任务A的相关信息和检测任务B的相关信息判断检测任务A的执行结束点是否与检测任务B的执行开始点为同一个,从而根据判断结果计算对应的检测任务A的执行消耗的基本时间。根据每个待执行的检测任务所需要的执行消耗的基本时间、同步执行时间以及异步执行时间确定每个待执行的检测任务之间的执行顺序,如先执行检测任务A再执行检测任务B需要耗时为T1,先执行检测任务B再执行检测任务A需要耗时为T2,若T1<T2,则可以确定执行顺序为先执行A再执行B。
在本申请一实施例中,若所述判断结果为所述当前待执行的检测任务的执行结束点与所述下一待执行的检测任务的执行开始点不相同,则根据所述当前待执行的检测任务的执行安全点、执行开始点确定执行消耗的第一基本时间;根据当前待执行的检测任务的执行结束点及下一待执行的检测任务的执行安全点确定与剩余待执行的检测任务之间的执行消耗的第二基本时间。在此,以检测任务A到检测任务B为例,若检测任务A的执行结束点与检测任务B的执行开始点不为同一点,则需要消耗掉从A的执行结束点到B的执行安全点的时间加上从B的执行安全点到B的执行开始点的时间,将该段消耗掉的时间作为先执行检测任务A再执行检测任务B的执行消耗的第二基本时间,原本的检测任务A的执行安全点到A的执行开始点作为执行消耗的第一基本时间。
接上述实施例,根据所述第一基本时间、所述第二基本时间、所述同步执行时间以及所述异步执行时间,将所有待执行的检测任务排列放入任务执行队列中。在此,当检测任务A的执行结束点与检测任务B的执行开始点不为同一点时,先执行检测任务A再执行检测任务B所需要消耗的总时间由上述确定的第一基本时间、第二基本时间、检测任务A、检测任务B对应的同步执行时间以及检测任务A和检测任务B对应的异步执行时间确定;根据每两个待执行的检测任务之间的先后执行得到的消耗时间将每一个待执行的检测任务进行排序,放入至任务执行队列中。
在本申请又一实施例中,若所述判断结果为所述当前待执行的检测任务的执行结束点与所述下一待执行的检测任务的执行开始点为同一点,则根据所述当前待执行的检测任务的执行安全点、执行开始点确定执行消耗的基本时间。在此,以先执行检测任务A再执行检测任务B为例,当检测任务A的执行结束点与检测任务B的执行开始点为同一点时,则从检测任务A的执行结束点到检测任务B的执行安全点以及从检测任务B的执行安全点到检测任务B的执行开始点所需要的时间为0,此时,先执行A再执行B所需要的执行消耗的基本时间为检测任务A的执行安全点到检测任务A的执行开始点。
在本申请一实施例中,在步骤S14中,根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间及异步执行时间确定所述每一待执行的检测任务的总执行消耗时长;根据所述每一待执行的检测任务的总执行消耗时长进行时长升序排列,排列后放入任务执行队列中。在此,通过对比执行消耗的基本时间、同步执行时间以及异步执行时间动态计算出最优任务执行顺序,以达到全局总耗时最少。比如确定先执行检测任务A再执行检测任务B的总执行消耗时长,先执行检测任务A再执行检测任务C的总执行消耗时长,先执行检测任务B再执行检测任务C的总执行消耗时长等,根据各待执行的检测任务之间的执行顺序确定的总执行消耗时长对所有待执行的检测任务进行时长升序排列,即将总执行消耗时长最短的排在前面,总执行消耗时长最长的排在后面,排列完成后放入任务执行队列中,按照执行队列中的顺序执行所有待执行的检测任务。
在本申请一实施例中,在步骤S14中,进行确定待执行的检测任务的执行顺序时,还可以优先选取多个待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间对该多个待执行的检测任务进行排序,得到排序队列;将剩余的待执行的检测任务按照预设的插入方式依次插入至所述排序队列中,待最后一个待执行的检测任务插入完成后,得到任务执行队列。在此,采用预设的插入方式将所有待执行的检测任务进行排序,从而降低了时间复杂度,排序的过程变成了自由解法,从动态变成静态,进行深度搜索确定最终的排序队列。具体地,是先选取多个待执行的检测任务,按照它们的执行消耗的基本时间、同步执行时间以及异步执行时间对选出的这些待执行的检测任务进行排序,排序完成后形成队列,再逐一将其他的待执行的检测任务插入至当前队列中,按照预设的插入方式得到最优解的插入位置,从而确定新的排列顺序,得到新的待执行的检测任务插入至原有的执行队列中后的新的执行队列。
具体地,所述预设的插入方式包括:将待插入的检测任务依次插入至排序队列中由已有的待执行的检测任务确定的插入位点,得到每一插入位点对应的新的排序队列;计算所述每一插入位点对应的新的排序队列中所有待执行的检测任务的累加的总执行消耗时长,其中,所述总执行消耗时长由所述待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间确定。根据计算得到的所有的累加的总执行消耗时长选取出最短时长对应的新的排序队列,作为将待插入的检测任务插入至排序队列的插入结果。在此,插入位点为队列中的待执行的检测任务的前后位置处。假设已有待执行的检测任务(A1、A2、A3和A4)组成最优的排序队列,排序队列中的任务执行顺序依次为A1、A2、A3和A4,则将待执行的检测任务A5依次插入到的插入位点为A1前面、A1和A2之间、A2和A3之间、A3和A4之间以及A4之后,插入到每一位点后形成对应的新的执行队列,计算每一新的执行队列中包含的所有待执行的检测任务都执行完毕所需要的总执行消耗时长,最终比较所有总执行消耗时长,确定最短的总执行消耗时长对应的新的执行队列,比如A5插入至A1和A2之间形成的新的执行队列的总执行消耗时长最短,则执行顺序为A1、A5、A2、A3、A4,再按照上述插入方式依次插入剩余的待执行的检测任务,直至将所有的待执行的检测任务排好序,确定所有待执行的检测任务最终的执行顺序。
在本申请一实施例中,所述方法还包括:根据当前的运算状态对所有待执行的检测任务进行分组;根据每一分组内的每一待执行的检测任务的异步执行时间确定该分组的执行消耗时长;根据每一分组的执行消耗时长对每一分组进行排序,按照排序后的顺序依次执行所有分组内的待执行的检测任务。在此,对所有的待执行的检测任务进行排执行顺序时,还可以按照异步执行时间的长短进行排序,按照当前的运算状态对已有的所有待执行的检测任务进行分组,如按照系统的最大的运算能力来分组,假如一次可以处理10个检测任务,则将每10个待执行的检测任务分为一组,确定每一分组中所有的待执行的检测任务的异步执行时间,进而确定该分组的执行消耗时长,其中,执行完该分组内所有的检测任务所需要的异步执行时间是多少为该分组的执行消耗时长,从而根据每一分组的执行消耗时长对所有分组进行排序,如排序顺序为N1组、N2组、N3组,则依次执行N1组内的待执行的检测任务后再执行N2组内的待执行的检测任务,其中,每个分组内的所有待执行的检测任务的执行顺序可以根据各自的异步执行时间确定,或根据对应的执行消耗的基本时间、同步执行时间及异步执行时间中任几种组合确定;通过异步执行时间长短进行排序可以提升系统的运算效率。
需要说明的是,在步骤S14之后,当按照确定的任务执行队列执行其中的待执行的检测任务时,若每执行一个检测任务后,根据执行结果判断是不是需要重试,若是,则将该当前执行完成的检测任务重新放入任务执行队列中,再重新计算放入该当前执行完成的检测任务的任务执行队列中所有待执行的检测任务的执行顺序,从而确保当前的任务执行队列中的执行顺序为最优执行结果。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种检测任务执行方法。
在本申请一实施例中,还提供了一种检测任务执行的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
获取多个待执行的检测任务的相关信息,其中,所述相关信息包括执行安全点、执行开始点、检测时间、执行结束点;
确定所述待执行的检测任务中同步检测的信息以及异步检测的信息;
根据所述检测任务的相关信息、所述同步检测的信息及所述异步检测的信息确定每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间;
根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (12)
1.一种检测任务执行方法,其特征在于,所述方法包括:
获取多个待执行的检测任务的相关信息,其中,所述相关信息包括执行安全点、执行开始点、检测时间、执行结束点;
确定所述待执行的检测任务中同步检测的信息以及异步检测的信息;
根据所述检测任务的相关信息、所述同步检测的信息及所述异步检测的信息确定每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间;
根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中。
2.根据权利要求1所述的方法,其特征在于,确定所述待执行的检测任务中同步检测的信息以及异步检测的信息,包括:
获取所有待执行的检测任务之间的执行关系,其中,所述执行关系包括同步执行关系和异步执行关系;
根据所述执行关系确定同步检测的信息以及异步检测的信息,其中,所述同步检测的信息包括同步的检测任务以及该同步的检测任务的相关信息,所述异步检测的信息包括异步的检测任务以及异步的检测任务的相关信息。
3.根据权利要求2所述的方法,其特征在于,根据所述检测任务的相关信息、所述同步检测的信息及所述异步检测的信息确定每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间,包括:
根据当前待执行的检测任务的相关信息及下一待执行的检测任务的相关信息判断所述当前待执行的检测任务的执行结束点是否与所述下一待执行的检测任务的执行开始点为同一点,得到判断结果;
根据所述判断结果及所述当前待执行的检测任务的相关信息确定该当前待执行的检测任务的执行消耗的基本时间,重复上述判断过程,以确定每一待执行的检测任务的执行消耗的基本时间;
根据当前待执行的检测任务的检测时间及所述同步检测的信息确定与同步执行关系中任一待执行的检测任务之间的同步执行时间;
根据当前待执行的检测任务的检测时间及所述异步检测的信息确定与异步执行关系中任一待执行的检测任务之间的异步执行时间。
4.根据权利要求3所述的方法,其特征在于,根据所述判断结果及所述当前待执行的检测任务的相关信息确定该当前待执行的检测任务的执行消耗的基本时间,包括:
若所述判断结果为所述当前待执行的检测任务的执行结束点与所述下一待执行的检测任务的执行开始点不相同,则根据所述当前待执行的检测任务的执行安全点、执行开始点确定执行消耗的第一基本时间;
根据当前待执行的检测任务的执行结束点及下一待执行的检测任务的执行安全点确定与剩余待执行的检测任务之间的执行消耗的第二基本时间。
5.根据权利要求4所述的方法,其特征在于,根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中,包括:
根据所述第一基本时间、所述第二基本时间、所述同步执行时间以及所述异步执行时间,将所有待执行的检测任务排列放入任务执行队列中。
6.根据权利要求3所述的方法,其特征在于,根据所述判断结果及所述当前待检测任务的相关信息确定该当前待执行的检测任务的基本时间,包括:
若所述判断结果为所述当前待执行的检测任务的执行结束点与所述下一待执行的检测任务的执行开始点为同一点,则根据所述当前待执行的检测任务的执行安全点、执行开始点确定执行消耗的基本时间。
7.根据权利要求1所述的方法,其特征在于,根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中,包括:
根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间及异步执行时间确定所述每一待执行的检测任务的总执行消耗时长;
根据所述每一待执行的检测任务的总执行消耗时长进行时长升序排列,排列后放入任务执行队列中。
8.根据权利要求1所述的方法,其特征在于,根据每一待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间将所有待执行的检测任务排列放入任务执行队列中,包括:
优先选取多个待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间对该多个待执行的检测任务进行排序,得到排序队列;
将剩余的待执行的检测任务按照预设的插入方式依次插入至所述排序队列中,待最后一个待执行的检测任务插入完成后,得到任务执行队列。
9.根据权利要求8所述的方法,其特征在于,所述预设的插入方式包括:
将待插入的检测任务依次插入至排序队列中由已有的待执行的检测任务确定的插入位点,得到每一插入位点对应的新的排序队列;
计算所述每一插入位点对应的新的排序队列中所有待执行的检测任务的累加的总执行消耗时长,其中,所述总执行消耗时长由所述待执行的检测任务的执行消耗的基本时间、同步执行时间和异步执行时间确定。
根据计算得到的所有的累加的总执行消耗时长选取出最短时长对应的新的排序队列,作为将待插入的检测任务插入至排序队列的插入结果。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据当前的运算状态对所有待执行的检测任务进行分组;
根据每一分组内的每一待执行的检测任务的异步执行时间确定该分组的执行消耗时长;
根据每一分组的执行消耗时长对每一分组进行排序,按照排序后的顺序依次执行所有分组内的待执行的检测任务。
11.一种检测任务执行的设备,其特征在于,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至10中任一项所述方法的操作。
12.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至10中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072757.7A CN111309475B (zh) | 2020-01-21 | 2020-01-21 | 一种检测任务执行方法及设备 |
PCT/CN2020/120885 WO2021147382A1 (zh) | 2020-01-21 | 2020-10-14 | 一种检测任务执行方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072757.7A CN111309475B (zh) | 2020-01-21 | 2020-01-21 | 一种检测任务执行方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309475A true CN111309475A (zh) | 2020-06-19 |
CN111309475B CN111309475B (zh) | 2022-12-02 |
Family
ID=71148917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010072757.7A Active CN111309475B (zh) | 2020-01-21 | 2020-01-21 | 一种检测任务执行方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111309475B (zh) |
WO (1) | WO2021147382A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021147382A1 (zh) * | 2020-01-21 | 2021-07-29 | 上海万物新生环保科技集团有限公司 | 一种检测任务执行方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255589A (zh) * | 2017-08-29 | 2018-07-06 | 平安科技(深圳)有限公司 | 任务调度方法及服务器 |
CN109213080A (zh) * | 2017-06-29 | 2019-01-15 | 深圳模德宝科技有限公司 | 一种机床的控制方法及其装置 |
CN109445926A (zh) * | 2018-11-09 | 2019-03-08 | 杭州玳数科技有限公司 | 数据任务调度方法及数据任务调度系统 |
CN109992385A (zh) * | 2019-03-19 | 2019-07-09 | 四川大学 | 一种基于任务均衡调度的gpu内部能耗优化方法 |
CN110489217A (zh) * | 2019-07-11 | 2019-11-22 | 新华三大数据技术有限公司 | 一种任务调度方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140053157A1 (en) * | 2012-08-16 | 2014-02-20 | Microsoft Corporation | Asynchronous execution flow |
US9836324B2 (en) * | 2014-02-07 | 2017-12-05 | International Business Machines Corporation | Interleave-scheduling of correlated tasks and backfill-scheduling of depender tasks into a slot of dependee tasks |
CN106598725A (zh) * | 2016-10-31 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种基于Android的Handler防内存泄漏装置及方法 |
CN109298951A (zh) * | 2018-08-21 | 2019-02-01 | 平安科技(深圳)有限公司 | Celery任务的执行方法及终端设备 |
CN109710407A (zh) * | 2018-12-21 | 2019-05-03 | 浪潮电子信息产业股份有限公司 | 分布式系统实时任务调度方法、装置、设备及存储介质 |
CN111309475B (zh) * | 2020-01-21 | 2022-12-02 | 上海万物新生环保科技集团有限公司 | 一种检测任务执行方法及设备 |
-
2020
- 2020-01-21 CN CN202010072757.7A patent/CN111309475B/zh active Active
- 2020-10-14 WO PCT/CN2020/120885 patent/WO2021147382A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213080A (zh) * | 2017-06-29 | 2019-01-15 | 深圳模德宝科技有限公司 | 一种机床的控制方法及其装置 |
CN108255589A (zh) * | 2017-08-29 | 2018-07-06 | 平安科技(深圳)有限公司 | 任务调度方法及服务器 |
CN109445926A (zh) * | 2018-11-09 | 2019-03-08 | 杭州玳数科技有限公司 | 数据任务调度方法及数据任务调度系统 |
CN109992385A (zh) * | 2019-03-19 | 2019-07-09 | 四川大学 | 一种基于任务均衡调度的gpu内部能耗优化方法 |
CN110489217A (zh) * | 2019-07-11 | 2019-11-22 | 新华三大数据技术有限公司 | 一种任务调度方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021147382A1 (zh) * | 2020-01-21 | 2021-07-29 | 上海万物新生环保科技集团有限公司 | 一种检测任务执行方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2021147382A1 (zh) | 2021-07-29 |
CN111309475B (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107450979B (zh) | 一种区块链共识方法及装置 | |
US9870221B2 (en) | Providing code change job sets of different sizes to validators | |
CN111625456B (zh) | 一种卡顿定位方法和装置 | |
CN113282402B (zh) | 一种面向复杂资源约束的测试任务调度方法 | |
CN110297767B (zh) | 测试用例自动执行方法、装置、设备及存储介质 | |
US9870314B1 (en) | Update testing by build introspection | |
CN114861579A (zh) | 集成电路中时序瓶颈节点分析和时序优化方法及系统 | |
CN110489242B (zh) | 分布式数据计算方法、装置、终端设备及存储介质 | |
US10929054B2 (en) | Scalable garbage collection | |
WO2018127012A1 (zh) | 一种传输节点集群的检测方法和装置 | |
CN111309475B (zh) | 一种检测任务执行方法及设备 | |
CN117234859B (zh) | 一种性能事件监控方法、装置、设备和存储介质 | |
CN113918322A (zh) | 在内存中动态存储逻辑系统设计的仿真数据的方法及设备 | |
CN113127314A (zh) | 一种检测程序性能瓶颈的方法、装置及计算机设备 | |
CN116009898A (zh) | K8s部署任务的状态确定方法、装置、设备及介质 | |
CN112256462B (zh) | NAND Flash存储器的寿命预估方法、装置及介质 | |
CN114826793A (zh) | 一种rop链的检测方法、装置及介质 | |
CN114546884B (zh) | 区块链的批量交易冲突检测方法及系统 | |
CN116090382B (zh) | 时序报告生成方法和设备 | |
CN112905602B (zh) | 数据比对方法、计算设备及计算机存储介质 | |
CN116594862B (zh) | Dbms的测试方法、装置、电子设备及可读存储介质 | |
CN112508449B (zh) | 任务执行方法、装置、电子设备及计算机可读存储介质 | |
CN110929102B (zh) | 一种数据处理方法、装置及电子设备 | |
CN109086218B (zh) | 一种基于蚁群算法的自动化测试方法,系统及测试终端 | |
CN111476663B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 1101-1103, No. 433, Songhu Road, Yangpu District, Shanghai Applicant after: Shanghai wanwansheng Environmental Protection Technology Group Co.,Ltd. Address before: Room 1101-1103, No. 433, Songhu Road, Yangpu District, Shanghai Applicant before: SHANGHAI YUEYI NETWORK INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |