CN108415765A - 任务调度方法、装置及智能终端 - Google Patents
任务调度方法、装置及智能终端 Download PDFInfo
- Publication number
- CN108415765A CN108415765A CN201810168280.5A CN201810168280A CN108415765A CN 108415765 A CN108415765 A CN 108415765A CN 201810168280 A CN201810168280 A CN 201810168280A CN 108415765 A CN108415765 A CN 108415765A
- Authority
- CN
- China
- Prior art keywords
- task
- asynchronous task
- execution time
- asynchronous
- processor
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提出一种任务调度方法、装置及智能终端,其中,方法包括:其中,方法包括:获取第一异步任务添加请求,添加请求中包括第一异步任务的初始执行时间;根据***中当前已包含的各第二异步任务的各执行时间,确定第一异步任务的最佳执行时间;将最佳执行时间发送给第一异步任务的发起者;若获取到第一异步任务的发起者返回的确认请求,则根据最佳执行时间,将第一异步任务加入执行队列。解决了现有技术中异步任务中任务调度方式可靠性不高的技术问题,在充分利用资源的前提下,提高了任务调度的可靠性和协调性,实现了异步任务的运行效率和成功率的提升。
Description
技术领域
本申请涉及计算机信息处理技术领域,尤其涉及一种任务调度方法、装置及智能终端。
背景技术
随着计算机技术的发展,计算机数据的处理量也越来越大,其中,在数据处理时,异步任务得到了广泛应用,通常异步任务被用于不适以同步的方式来完成的任务处理过程,比如大量离线数据的处理过程,比如,需要定时运行的任务或者不需要占用实时资源的任务处理过程等。
相关技术中,异步任务的处理方式为:从数据库中直接调取异步任务到执行节点。然而,这种方式无法实现对异步任务的高效执行与分配,往往造成资源空闲、而某些资源耗费贻尽等,从而导致异步任务调度的准确性较低使异步任务的执行缓慢。
申请内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种任务调度方法,解决了现有技术中异步任务中任务调度方式可靠性不高的技术问题,在充分利用资源的前提下,提高了任务调度的可靠性和协调性,实现了异步任务的运行效率和成功率的提升。
本申请的第二个目的在于提出一种任务调度装置。
本申请的第三个目的在于提出一种智能终端。
本申请的第四个目的在于提出一种非临时性计算机可读存储介质。
本申请的第五个目的在于提出一种计算机程序产品。
为达上述目的,本申请第一方面实施例提出了一种任务调度方法,包括:获取第一异步任务添加请求;根据***中当前已包含的各第二异步任务的各执行时间,确定所述第一异步任务的最佳执行时间;将所述最佳执行时间发送给所述第一异步任务的发起者;若获取到所述第一异步任务的发起者返回的确认请求,则根据所述最佳执行时间,将所述第一异步任务加入执行队列。
本申请实施例的任务调度方法,获取第一异步任务添加请求,根据***中当前已包含的各第二异步任务的各执行时间,确定第一异步任务的最佳执行时间,进而,将最佳执行时间发送给第一异步任务的发起者,若获取到第一异步任务的发起者返回的确认请求,则根据最佳执行时间,将第一异步任务加入执行队列。由此,解决了现有技术中异步任务中任务调度方式可靠性不高的技术问题,在充分利用资源的前提下,提高了任务调度的可靠性和协调性,实现了异步任务的运行效率和成功率的提升。
为达上述目的,本申请第二方面实施例提出了一种任务调度装置,包括:获取模块,用于获取第一异步任务添加请求;确定模块,用于根据***中当前已包含的各第二异步任务的各执行时间,确定所述第一异步任务的最佳执行时间;发送模块,用于将所述最佳执行时间发送给所述第一异步任务的发起者;处理模块,用于在获取到所述第一异步任务的发起者返回的确认请求时,根据所述最佳执行时间,将所述第一异步任务加入执行队列。
本申请实施例的任务调度装置,获取第一异步任务添加请求,根据***中当前已包含的各第二异步任务的各执行时间,确定第一异步任务的最佳执行时间,进而,将最佳执行时间发送给第一异步任务的发起者,若获取到第一异步任务的发起者返回的确认请求,则根据最佳执行时间,将第一异步任务加入执行队列。由此,解决了现有技术中异步任务中任务调度方式可靠性不高的技术问题,在充分利用资源的前提下,提高了任务调度的可靠性和协调性,实现了异步任务的运行效率和成功率的提升。
为达上述目的,本申请第三方面实施例提出了一种智能终端,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述实施例描述的任务调度方法。
为了实现上述目的,本申请第四方面实施例提出了一种非临时性计算机可读存储介质,该程序被处理器执行时实现如上述实施例描述的任务调度方法。
为了实现上述目的,本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行如上述实施例描述的任务调度方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种任务调度方法的流程示意图;
图2为本申请实施例所提供的另一种任务调度方法的流程示意图;
图3为本申请实施例所提供的又一种任务调度方法的流程示意图;
图4为本申请实施例所提供的还一种任务调度方法的流程示意图;
图5为本申请实施例提供的一种任务调度装置的结构示意图;
图6为本申请实施例提供的一种任务调度方法的产品实现示意图;以及
图7为实现本申请实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的任务调度方法、装置及智能终端。
图1为本申请实施例所提供的一种任务调度方法的流程示意图。
正如背景技术所分析的,现有技术中异步任务的调度方式直接调取数据库中的任务到执行节点执行,这种依赖于***性能进行任务调度的方式,没有考虑到资源的实时状态导致运行的可靠性不高,甚至可能导致任务运行失败等。
为了解决上述技术问题,本申请提供了一种的任务调度方法,基于资源占用率的进行任务调度,提高了任务调度的可靠性和协调性,实现了异步任务的运行效率和成功率的提升,且与异步任务的发起者进行执行时间的确认,满足了执行顺序的要求,且充分利用了资源。
具体而言,如图1所示,该任务调度方法包括以下步骤:
步骤101,获取第一异步任务添加请求。
其中,第一异步任务的添加方式根据应用需要的不同而不同,作为一种可能的实现方式,可以在web前端提供SDK API供用户使用,当检测到用户对SDK API接口的调用操作后,获取到第一异步任务添加请求。
作为另一种可能的实现方式,当主线程根据当前待执行的任务判断有可以异步执行的任务时,获取到主线程发送的第一异步任务添加请求。
步骤102,根据***中当前已包含的各第二异步任务的各执行时间,确定第一异步任务的最佳执行时间。
可以理解,在获取到第一异步任务的添加请求后,并不直接将其执行节点进行顺序添加,而是根据***中当前已包含的各第二异步任务的各执行时间,确定第一任务的最佳执行时间,由此,根据各个第二异步任务的执行时间进行第一异步任务的最佳执行时间的确定,使得第一异步任务的执行时间与第二异步任务的执行时间相协调,在提高资源的利用率的同时,保证了第一异步任务与第二异步任务在在执行时不被抢占资源,运行可靠。
需要说明的是,根据应用场景的不同,根据***中当前已包含的各第二异步任务的各执行时间,确定第一异步任务的最佳执行时间的方式,包括但不限于以下几种:
第一种示例:
在本示例中,获取各第二异步任务的执行时间,确定第二异步任务执行时的空闲时间,将该空闲时间作为第一异步任务的最佳执行时间。
举例而言,当包含两个待执行或者正在执行的第二异步任务A和B时,异步任务A的执行时间为a,异步任务B的执行时间为b,则可将的a到b之间的空闲时间作为第一异步任务的最佳执行时间,或者,将执行时间b后的空闲时间作为第一异步任务的最佳执行时间等。
当然,在本示例中,为了更好的进行资源的分配,也可以获取待添加的第一异步任务的任务量,根据第一异步任务的任务量估算第一异步任务的执行时长需要,将各个第二异步任务之间最接近执行时长需要的空闲之间,作为执行时长需要的最佳执行时间。
第二种示例:
在本示例中,获取第一异步任务添加请求中还包括第一异步任务的属性信息,其中,异步任务的属性信息包括命令内容、执行次数、执行失败可重试次数、执行任务数据量等。
具体地,在本示例中,如图2所示,该步骤102包括:
步骤201,根据各第二异步任务的各执行时间及各第二异步任务的属性信息,预测***中各处理器在各时段的使用状态。
其中,处理器是指可以运行脚本单元的机器,比如根据运行的脚本单元的功能,处理器可以包括CPU、内存及网卡等,处理器的使用状态可以包括资源占用率,运行的任务占用时间等。
可以理解,即使在某个时间内具有执行的第二异步任务,但是当执行的第二异步任务的数据量较小,可能对处理器的压力较小,或者,处理器的负载能力较强从而处理器还可以同时负载其他任务进行执行,因而,为了更加充分的利用处理器等机器资源,在本示例中,根据各第二异步任务的各执行时间及各第二异步任务的属性信息,预测***中各处理器在各时段的使用状态,以便于根据处理器在各时段的使用状态,判断处理器的运行压力。
举例而言,当前待执行的或者正在执行的第二异步任务A和B,处理器包括处理器1和处理器2,处理器1用于执行的第二异步任务A,处理器2用于执行的第二异步任务B时,异步任务A的执行时间为a,异步任务B的执行时间为b,第二异步任务A的属性信息为执行3次,失败不可重复执行,执行任务数据量为m,第二异步任务B的属性信息为执行2次,失败可重复执行1次,执行任务数据量为n,则预测出处理器1在时间a的使用状态为占用率80%,剩余资源为p,预测出处理器2在时间b的使用状态为占用率30%,剩余资源为q。
需要强调的是,上述示例中的处理器1和2分别用户执行不同的异步任务,在实际执行过程中,多个处理器可以共同执行同一个异步任务,执行方式可由现有技术实现,在此不再赘述。
步骤202,判断各处理器在第一异步任务的初始执行时间对应的使用状态,是否满足第一异步任务的属性信息。
可以理解,获取第一异步任务的初始执行时间,该初始执行时间为第一异步任务发起者希望的执行时间,判断各处理器在第一异步任务的初始执行时间对应的使用状态,是否满足第一异步任务的属性信息。
步骤203,若满足,则确定第一异步任务的初始执行时间为最佳执行时间。
具体地,如果各处理器在第一异步任务的初始执行时间对应的使用状态,满足第一异步任务的属性信息,则确定第一异步任务的执行时间作为最佳执行时间。
继续以上述示例为例,第一异步任务的初始执行时间为b所包含的时间段内的时间,当第一异步任务的属性信息为执行2次,失败可重复执行1次,执行任务数据量为t,t大于p原小于q,则可以将第一异步任务的执行时间作为最佳执行时间。
步骤204,若否,则从各处理器的使用状态满足第一异步任务的属性信息的各时间段中,选取第一异步任务的最佳执行时间。
具体地,如果各处理器在第一异步任务的初始执行时间对应的使用状态,不满足第一异步任务的属性信息,则从各处理器的使用状态满足第一异步任务的属性信息的各时间段中,选取第一异步任务的最佳执行时间,其中,在选取最佳执行时间时,可以优先选取与初始执行时间最接近的时间,也可以选取处理器使用率最低的时间段为最佳执行时间,由此,充分利用资源,减轻处理器运行的压力。
其中,根据各处理器中单个处理器在第一异步任务的初始执行时间对应的使用状态,是否满足第一异步任务的属性信息,确定针对某单个处理器的第一异步任务的最佳执行时间,或者,根据各处理器中多个处理器在第一异步任务的初始执行时间对应的综合的使用状态,是否满足第一异步任务的属性信息,确定针对各处理器共同运行时第一异步任务的最佳执行时间。
在实际执行过程中,各个任务在执行过程中,可能由于网络等原因导致处理器的使用状态发生变化,因而,针对第一异步任务的最佳执行时间,可能会随着各个任务的执行而并不准确,因而,为了进一步提高本实施例中任务调度的可靠性,在本实施例中,还可以对第一异步任务的最佳执行时间进行调整。
由此,本实施例中的最佳执行时间的确定,一方面,保证了第一异步任务在执行时,处理器的资源足够,保证了异步任务执行的可靠性,另一方面,依据第一异步任务发起者的需求进行执行时间的确定,满足了任务发起者执行之间的需求,灵活性较高。
具体而言,图3为本申请实施例所提供的又一种任务调度方法的流程示意图。如图3所示,在上述步骤104之后,该方法还包括:
步骤301,监测***中各任务在执行过程中,各处理器在各时段的实际使用状态。
具体地,可以获取处理器在各个时间段的资源被占用率等。
步骤302,若第一异步任务的最佳执行时间对应的各处理器的实际使用状态,未满足第一异步任务的属性信息,则根据各处理器在各时段的实际使用状态,对第一异步任务的最佳执行时间进行调整。
具体地,可能由于一些突发的原因或者执行的迟滞等原因,导致第一异步任务的最佳执行时间对应的各处理器的实际使用状态,未满足第一异步任务的属性信息,比如,第一异步任务的最佳执行时间被其他紧急任务的突然加入等,则根据各处理器在各时段的实际使用状态,对第一异步任务的最佳执行时间进行调整,其中调整后的最佳执行时间的确定方式与上述最佳执行时间的确定方式相同,在此不再赘述。
步骤103,将最佳执行时间发送给第一异步任务的发起者。
步骤104,若获取到第一异步任务的发起者返回的确认请求,则根据最佳执行时间,将第一异步任务加入执行队列。
在某些场景下,第一异步任务的发起者对执行时间要求的优先级较高,因而,为了使得该发起者直观的了解到执行时间,可以将最佳执行时间发送给对应的发起者,如果获取到第一异步任务的发起者返回的确认请求,比如发起者确定控件,或者语音输入确认语音信息等,则根据最佳执行时间,将第一异步任务加入执行队列,以便于在最佳执行时间执行对应的第一异步任务。
在本申请的一个实施例中,如果没有获取到第一异步任务的发起者返回的确认请求,则可以提示发起者重新设置执行时间等。
综上所述,本申请实施例的任务调度方法,获取第一异步任务添加请求,根据***中当前已包含的各第二异步任务的各执行时间,确定第一异步任务的最佳执行时间,进而,将最佳执行时间发送给第一异步任务的发起者,若获取到第一异步任务的发起者返回的确认请求,则根据最佳执行时间,将第一异步任务加入执行队列。由此,解决了现有技术中异步任务中任务调度方式可靠性不高的技术问题,在充分利用资源的前提下,提高了任务调度的可靠性和协调性,实现了异步任务的运行效率和成功率的提升。
基于以上实施例,第一异步程序的最佳时间的确定,可以根据单个处理器的使用状态而定,也可以根据各处理器的综合使用状态而定,同样的,在执行第一异步任务时,也可以根据单个处理器的使用状态,或者根据各处理器的综合使用状态确定是由一个处理器单独执行,还是各处理器共同执行。
在本申请的一个实施例中,为了减轻***计算压力,根据单个处理器的使用状态确定执行第一异步任务的单个处理器,图4为本申请实施例所提供的还一种任务调度方法的流程示意图。如图4所示,在上述步骤104之后,该方法还包括:
步骤401,在确定***到达第一异步任务的最佳执行时间时,获取***中各处理器当前的使用率。
步骤402,将第一异步任务分配至当前使用率小于预设阈值的任一处理器进行处理。
其中,上述预设阈值是根据大量实验数据标定的,当处理器的使用率小于该预设阈值,则表明对应的处理器使用率较低,还可以较好的承载其他任务的运行。
具体地,在确定***到达第一异步任务的最佳执行时间时,获取***中各处理器当前的使用率,以便于将第一异步任务分配至当前使用率小于预设阈值的目标处理器进行处理,充分提高运行可靠性,有效利用处理器资源,且由于使用前使用率较低的目标处理器,使得第一异步任务的运行效率较高。
当然,在一些可能的实施例中,也可以直接选择当前使用率最低的处理器运行第一异步任务,以进一步降低由于处理器剩余空间不足,而导致运行第一异步任务失败的发生概率。
进一步地,为了进一步保证第一异步任务运行时的可靠性,还可对第一异步任务的运行情况进行监控,在本申请的一个实施例中,第一异步任务的添加请求中还包括理想执行状态,其中,理想执行状态包括执行时长、输出结果、执行失败次数等,监测第一异步任务的实际执行状态,判断实际执行状态与理想执行状态是否匹配,比如失败次数是否在理想执行状态对应的失败次数内,执行时长是否在理想执行状态对应的执行时长内等,如果不在,则输出预警信息,比如输出弹窗信息“执行受限”,或者发出预警语音信息等,从而以便于相关人员及时排查导致执行不理想的原因,及时修复,提高***的稳定性。
在本申请的另一个实施例中,还可在确定***到达第一异步任务的最佳执行时间时,获取***中各处理器当前的使用率,以便于将第一异步任务拆分至当对应的多个目标处理器进行处理,充分提高执行效率。
综上所述,本申请实施例的任务调度方法,选择使用率最低的处理器执行第一异步任务,提高了资源利用率和异步任务执行效率和可靠性。
为了实现上述实施例,本申请还提出一种任务调度装置。图5为本申请实施例提供的一种任务调度装置的结构示意图。如图5所示,该任务调度装置包括:获取模块100、确定模块200、发送模块300和处理模块400。
其中,获取模块100,用于获取第一异步任务添加请求。
确定模块200,用于根据***中当前已包含的各第二异步任务的各执行时间,确定第一异步任务的最佳执行时间。
发送模块300,用于将最佳执行时间发送给第一异步任务的发起者。
处理模块400,用于在获取到第一异步任务的发起者返回的确认请求时,根据最佳执行时间,将第一异步任务加入执行队列。
其中,上述任务调度装置中各个模块的划分仅用于举例说明,在其他实施例中,可将任务调度装置按照需要划分为不同的模块,以完成上述任务调度装置的全部或部分功能。
在一些可能的示例中,本申请实施例中的任务调度装置可以实现为如图6所示的产品,其中,如图6所示,第一异步任务添加的发起者可以在web前端通过SDK API接口的调用发起第一异步任务添加请求,其中,业务层和服务层提供后端服务,将发起者的需求转换为数据进行存储,并对第一异步任务添加请求进行最佳执行时间的确定。
调度模块对所有的已包含的第二异步任务进行检查,将下一时刻待执行的异步任务进行调度加入待执行队列,任务模块对待执行队列进行检查,并对后端所有的处理器资源进行检测,选择处理器使用率较低的处理器分发任务,并对处理器使用的状况进行记录。
检查模块对在执行状态的异步任务进行检查,如果调度时间或者执行时间过长,会触发报警,提醒相关人员进行排查,脚本模块收到任务执行请求,对任务进行执行,记录任务执行中的输出日志或者异常,如果有异常会触发报警。
另外,策略模块对任务调度效果进行分析,导入机器学习机制优化任务调度方案,提高下一次最佳执行时间确定的可靠性。后端数据库记录异步任务的属性信息和执行记录。
需要说明的是,前述对任务调度方法实施例的解释说明也适用于该实施例的任务调度装置,此处不再赘述。
综上所述,本申请实施例的任务调度装置,获取第一异步任务添加请求,根据***中当前已包含的各第二异步任务的各执行时间,确定第一异步任务的最佳执行时间,进而,将最佳执行时间发送给第一异步任务的发起者,若获取到第一异步任务的发起者返回的确认请求,则根据最佳执行时间,将第一异步任务加入执行队列。由此,解决了现有技术中异步任务中任务调度方式可靠性不高的技术问题,在充分利用资源的前提下,提高了任务调度的可靠性和协调性,实现了异步任务的运行效率和成功率的提升。
为了实现上述实施例,本申请还提出一种智能终端,包括:处理器,其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现上述实施例描述的任务调度方法。其中,该智能终端可以是手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作***的硬件设备,该穿戴式设备可以是智能手环、智能手表、智能眼镜等。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,使得能够执行上述实施例示出的任务调度方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行上述实施例示出的截屏搜索方法。
图7示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图7显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及***组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机***/服务器12交互的设备通信,和/或与使得该计算机***/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
获取第一异步任务添加请求;
根据***中当前已包含的各第二异步任务的各执行时间,确定所述第一异步任务的最佳执行时间;
将所述最佳执行时间发送给所述第一异步任务的发起者;
若获取到所述第一异步任务的发起者返回的确认请求,则根据所述最佳执行时间,将所述第一异步任务加入执行队列。
2.如权利要求1所述的方法,其特征在于,所述添加请求中还包括所述第一异步任务的属性信息;
所述确定所述第一异步任务的最佳执行时间,包括:
根据所述各第二异步任务的各执行时间及各第二异步任务的属性信息,预测所述***中各处理器在各时段的使用状态;
判断所述各处理器在第一异步任务的初始执行时间对应的使用状态,是否满足所述第一异步任务的属性信息;
若满足,则确定所述第一异步任务的初始执行时间为最佳执行时间。
3.如权利要求2所述的方法,其特征在于,所述判断所述各处理器在第一异步任务的初始执行时间对应的使用状态,是否满足所述第一异步任务的属性信息之后,还包括:
若否,则从所述各处理器的使用状态满足所述第一异步任务的属性信息的各时间段中,选取所述第一异步任务的最佳执行时间。
4.如权利要求2或3所述的方法,其特征在于,所述将第一异步任务加入执行队列之后,还包括:
监测所述***中各任务在执行过程中,各处理器在各时段的实际使用状态;
若所述第一异步任务的最佳执行时间对应的各处理器的实际使用状态,未满足所述第一异步任务的属性信息,则根据所述各处理器在各时段的实际使用状态,对所述第一异步任务的最佳执行时间进行调整。
5.如权利要求1-4任一所述的方法,其特征在于,所述将所述第一异步任务加入执行队列之后,还包括:
在确定***到达所述第一异步任务的最佳执行时间时,获取所述***中各处理器当前的使用率;
将所述第一异步任务分配至当前使用率小于阈值的任一处理器进行处理。
6.如权利要求5所述的方法,其特征在于,所述添加请求中还包括所述第一异步任务的理想执行状态;
所述将所述第一异步任务分配至当前使用率小于阈值的任一处理器进行处理之后,还包括:
监测所述第一异步任务的实际执行状态;
判断所述实际执行状态与所述理想执行状态是否匹配;
若否,则输出预警信息。
7.一种任务调度装置,其特征在于,包括:
获取模块,用于获取第一异步任务添加请求;
确定模块,用于根据***中当前已包含的各第二异步任务的各执行时间,确定所述第一异步任务的最佳执行时间;
发送模块,用于将所述最佳执行时间发送给所述第一异步任务的发起者;
处理模块,用于在获取到所述第一异步任务的发起者返回的确认请求时,根据所述最佳执行时间,将所述第一异步任务加入执行队列。
8.一种智能终端,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-6中任一所述的任务调度方法。
9.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令处理器执行时实现如权利要求1-6中任一所述的任务调度方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810168280.5A CN108415765B (zh) | 2018-02-28 | 2018-02-28 | 任务调度方法、装置及智能终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810168280.5A CN108415765B (zh) | 2018-02-28 | 2018-02-28 | 任务调度方法、装置及智能终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108415765A true CN108415765A (zh) | 2018-08-17 |
CN108415765B CN108415765B (zh) | 2022-06-24 |
Family
ID=63129503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810168280.5A Active CN108415765B (zh) | 2018-02-28 | 2018-02-28 | 任务调度方法、装置及智能终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108415765B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134521A (zh) * | 2019-05-28 | 2019-08-16 | 北京达佳互联信息技术有限公司 | 资源分配的方法、装置、资源管理器及存储介质 |
CN113703939A (zh) * | 2021-08-30 | 2021-11-26 | 竞技世界(北京)网络技术有限公司 | 任务调度方法、***及电子设备 |
CN114706820A (zh) * | 2022-05-18 | 2022-07-05 | 北京卡普拉科技有限公司 | 异步i/o请求的调度方法、***、电子设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050125508A1 (en) * | 2003-12-04 | 2005-06-09 | Smith Kevin B. | Systems and methods that employ correlated synchronous-on-asynchronous processing |
CN106598705A (zh) * | 2015-10-15 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种异步任务的调度方法、装置、***以及电子设备 |
CN106648847A (zh) * | 2016-10-14 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种云计算操作***中异步任务管理方法及装置 |
CN106776008A (zh) * | 2016-11-23 | 2017-05-31 | 福建六壬网安股份有限公司 | 一种基于zookeeper实现负载均衡的方法及*** |
CN106980546A (zh) * | 2016-01-18 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 一种任务异步执行方法、装置及*** |
CN107465548A (zh) * | 2017-08-17 | 2017-12-12 | 北京云纵信息技术有限公司 | 代码的部署方法和装置 |
CN107463642A (zh) * | 2017-07-19 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 提升数据仓库工具资源利用率的方法和装置 |
-
2018
- 2018-02-28 CN CN201810168280.5A patent/CN108415765B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050125508A1 (en) * | 2003-12-04 | 2005-06-09 | Smith Kevin B. | Systems and methods that employ correlated synchronous-on-asynchronous processing |
CN106598705A (zh) * | 2015-10-15 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种异步任务的调度方法、装置、***以及电子设备 |
CN106980546A (zh) * | 2016-01-18 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 一种任务异步执行方法、装置及*** |
CN106648847A (zh) * | 2016-10-14 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种云计算操作***中异步任务管理方法及装置 |
CN106776008A (zh) * | 2016-11-23 | 2017-05-31 | 福建六壬网安股份有限公司 | 一种基于zookeeper实现负载均衡的方法及*** |
CN107463642A (zh) * | 2017-07-19 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 提升数据仓库工具资源利用率的方法和装置 |
CN107465548A (zh) * | 2017-08-17 | 2017-12-12 | 北京云纵信息技术有限公司 | 代码的部署方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134521A (zh) * | 2019-05-28 | 2019-08-16 | 北京达佳互联信息技术有限公司 | 资源分配的方法、装置、资源管理器及存储介质 |
CN113703939A (zh) * | 2021-08-30 | 2021-11-26 | 竞技世界(北京)网络技术有限公司 | 任务调度方法、***及电子设备 |
CN114706820A (zh) * | 2022-05-18 | 2022-07-05 | 北京卡普拉科技有限公司 | 异步i/o请求的调度方法、***、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108415765B (zh) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727512B (zh) | 集群资源调度方法、装置、设备及储存介质 | |
US5748468A (en) | Prioritized co-processor resource manager and method | |
US7117499B2 (en) | Virtual computer systems and computer virtualization programs | |
US11150951B2 (en) | Releasable resource based preemptive scheduling | |
US8413159B2 (en) | Classifying workload for a service | |
CN108762687B (zh) | Io服务质量控制方法、装置、设备及存储介质 | |
KR20120102664A (ko) | 미래 사용 추정에 기반한 저장 메모리 할당 | |
CN108415765A (zh) | 任务调度方法、装置及智能终端 | |
US9395918B2 (en) | Dynamic record management including opening a virtual storage access method (VSAM) data set and modifying a VSAM control block structure | |
CN109857556A (zh) | 内存回收方法及装置、存储介质和电子设备 | |
CN110196770A (zh) | 云***内存数据处理方法、装置、设备及存储介质 | |
WO2024016596A1 (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
CN115576534B (zh) | 原子服务的编排方法、装置、电子设备及存储介质 | |
JP2005128866A (ja) | 計算機装置及び計算機装置の制御方法 | |
CN110347546B (zh) | 监控任务动态调整方法、装置、介质及电子设备 | |
WO2023138923A1 (en) | Failure prediction using informational logs and golden signals | |
US11915060B2 (en) | Graphics processing management system | |
Soundararajan et al. | Towards end-to-end quality of service: controlling I/O interference in shared storage servers | |
CN115455045A (zh) | 一种数据库查询请求的控制方法及装置、电子设备 | |
CN115168042A (zh) | 监控集群的管理方法及装置、计算机存储介质、电子设备 | |
CN111176588B (zh) | 业务单据出单方法、装置、介质及电子设备 | |
CN114090201A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN117170881B (zh) | 一种资源调控的方法、装置及存储介质、处理器 | |
CN113655963B (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 |