CN112860974A - 计算资源的调度方法、装置、电子设备和存储介质 - Google Patents

计算资源的调度方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112860974A
CN112860974A CN202110119168.4A CN202110119168A CN112860974A CN 112860974 A CN112860974 A CN 112860974A CN 202110119168 A CN202110119168 A CN 202110119168A CN 112860974 A CN112860974 A CN 112860974A
Authority
CN
China
Prior art keywords
task
resource
computing
computing resource
executed
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
CN202110119168.4A
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110119168.4A priority Critical patent/CN112860974A/zh
Publication of CN112860974A publication Critical patent/CN112860974A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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 load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种计算资源的调度方法、装置、电子设备和存储介质,涉及互联网领域。实现方案为:监测资源池中各计算资源的存活时长,在监测到存活时长达到对应的时长上限的目标计算资源时,查询任务队列,并确定任务队列中是否存在待执行的任务,若是,则延长目标计算资源的时长上限,若否,则确定目标计算资源处于空闲状态,将目标计算资源从资源池中释放。由此,可以实现根据任务队列中待执行的任务情况,动态调整资源池中的计算资源,一方面,可以避免资源的浪费,另一方面,还可以兼顾任务的执行效率。

Description

计算资源的调度方法、装置、电子设备和存储介质
技术领域
本申请涉及互联网技术领域,具体地,本申请提供了一种计算资源的调度方法、装置、电子设备和存储介质。
背景技术
查询平台可以为需求方提供查询服务,从海量数据中提取需求方所需信息。其中,查询本身会转化为Spark计算任务提交至Spark集群执行。目前,为了实现提升任务的执行效率,可以利用常驻式的Spark计算资源(Session),将一批计算资源在首次申请后不进行释放,即,一次性申请足够多的计算资源长期占用且不释放,以便利用长期占用的计算资源直接执行下一个或下一批到来的任务,从而加快查询速度。
然而,长期占用计算资源,当查询平台处于空闲状态时会导致资源的浪费。
发明内容
本申请提供了一种用于计算资源的调度方法、装置、电子设备和存储介质。
根据本申请的一方面,提供了一种计算资源的调度方法,包括:
根据资源池中各计算资源的时长上限,监测各所述计算资源的存活时长;
在监测到目标计算资源时,查询任务队列,其中,所述目标计算资源的存活时长达到对应的所述时长上限;
响应于所述任务队列中存在待执行的任务,延长所述目标计算资源的所述时长上限;
响应于所述任务队列中未存在待执行的任务,确定所述目标计算资源处于空闲状态则将所述目标计算资源从所述资源池中释放。
根据本申请的另一方面,提供了一种计算资源的调度装置,包括:
监测模块,用于根据资源池中各计算资源的时长上限,监测各所述计算资源的存活时长;
查询模块,用于在监测到目标计算资源时,查询任务队列,其中,所述目标计算资源的存活时长达到对应的所述时长上限;
处理模块,用于响应于所述任务队列中存在待执行的任务,延长所述目标计算资源的所述时长上限;
释放模块,用于响应于所述任务队列中未存在待执行的任务,确定所述目标计算资源处于空闲状态则将所述目标计算资源从所述资源池中释放。
根据本申请的又一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请上述实施例提出的计算资源的调度方法。
根据本申请的再一方面,提供了一种计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请上述实施例提出的计算资源的调度方法。
根据本申请的还一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本申请上述实施例提出的计算资源的调度方法。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例一所提供的计算资源的调度方法的流程示意图;
图2为本申请实施例二所提供的计算资源的调度方法的流程示意图;
图3为本申请实施例三所提供的计算资源的调度方法的流程示意图;
图4为本申请实施例四所提供的计算资源的调度方法的流程示意图;
图5为本申请实施例的调度原理示意图;
图6为本申请实施例五所提供的计算资源的调度装置的结构示意图;
图7是根据本申请实施例的计算资源的调度方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请主要针对现有技术中,利用常驻式的Spark计算资源,将一批计算资源在首次申请后不进行释放,当查询平台处于空闲状态时会导致资源的浪费的技术问题,提出一种计算资源的调度方法,该计算资源的调度方法通过监测资源池中各计算资源的存活时长,在监测到存活时长达到对应的时长上限的目标计算资源时,查询任务队列,并确定任务队列中是否存在待执行的任务,若是,则延长目标计算资源的时长上限,若否,则确定目标计算资源处于空闲状态,将目标计算资源从资源池中释放。由此,可以实现根据任务队列中待执行的任务情况,动态调整资源池中的计算资源,一方面,可以避免资源的浪费,另一方面,还可以兼顾任务的执行效率。
下面参考附图描述本申请实施例的计算资源的调度方法、装置、电子设备和存储介质。
图1为本申请实施例一所提供的计算资源的调度方法的流程示意图。
本申请实施例以该计算资源的调度方法被配置于计算资源的调度装置中来举例说明,该计算资源的调度装置可以应用于任一电子设备中,以使该电子设备可以执行计算资源的调度功能。
其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑(PersonalComputer,简称PC)、移动终端、服务器等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该计算资源的调度方法可以包括以下步骤:
步骤101,根据资源池中各计算资源的时长上限,监测各计算资源的存活时长。
在本申请实施例中,各计算资源的时长上限,是指各计算资源对应的存活时长上限。其中,各计算资源的时长上限为预先设置的。需要说明的是,不同计算资源的时长上限可以相同,或者也可以不同,可以根据实际使用需求进行设置,本申请对此并不做限制。
在本申请实施例中,可以对资源池中各计算资源的存活时长进行监测,确定资源池中各计算资源的存活时长是否达到对应的时长上限,在监测到存活时长达到对应的时长上限的计算资源的情况下,可以执行步骤102,而在未监测到存活时长达到对应的时长上限的计算资源的情况下,可以继续对资源池中的各计算资源的存活时长进行监测。
步骤102,在监测到目标计算资源时,查询任务队列,其中,目标计算资源的存活时长达到对应的时长上限。
在本申请实施例中,当资源池中存在存活时长达到对应的时长上限的计算资源的情况下,可以将存活时长达到对应的时长上限的计算资源记为目标计算资源。在监测到目标资源时,可以查询任务队列,确定任务队列中是否存在待执行的任务,在任务队列中存在待执行的任务的情况下,可以执行步骤103,而在任务队列中未存在待执行的任务的情况下,可以执行步骤104。
步骤103,响应于任务队列中存在待执行的任务,延长目标计算资源的时长上限。
在本申请实施例中,为了提升任务的执行效率,在任务队列中存在待执行的任务的情况下,可以延长目标计算资源的时长上限,从而位于资源池中的目标计算资源可以继续执行任务,提升任务的执行效率。
步骤104,响应于任务队列中未存在待执行的任务,确定目标计算资源处于空闲状态则将目标计算资源从资源池中释放。
在本申请实施例中,在任务队列中未存在待执行的任务的情况下,可以确定目标计算资源处于空闲(Idle)状态,并将目标计算资源从资源池中释放,可以避免资源的浪费。
本申请实施例的计算资源的调度方法,通过监测资源池中各计算资源的存活时长,在监测到存活时长达到对应的时长上限的目标计算资源时,查询任务队列,并确定任务队列中是否存在待执行的任务,若是,则延长目标计算资源的时长上限,若否,则确定目标计算资源处于空闲状态,将目标计算资源从资源池中释放。由此,可以实现根据任务队列中待执行的任务情况,动态调整资源池中的计算资源,一方面,可以避免资源的浪费,另一方面,还可以兼顾任务的执行效率。
应当理解的是,在查询高峰期,任务队列中待执行的任务量较多,为了提升任务的处理效率,可以在高峰期请求计算资源,并将请求的计算资源添加至资源池中,从而可以利用资源池中请求的计算资源,对任务队列中的待执行的任务进行处理。下面结合实施例二,对上述过程进行详细说明。
图2为本申请实施例二所提供的计算资源的调度方法的流程示意图。
如图2所示,该计算资源的调度方法可以包括以下步骤:
步骤201,根据资源池中各计算资源的时长上限,监测各计算资源的存活时长。
步骤202,在监测到目标计算资源时,查询任务队列,其中,目标计算资源的存活时长达到对应的时长上限。
步骤203,判断任务队列中是否存在待执行的任务,若是,执行步骤204,若否,执行步骤205。
步骤204,延长目标计算资源的时长上限。
步骤205,确定目标计算资源处于空闲状态,将目标计算资源从资源池中释放。
步骤201至205的执行过程可以参见上述实施例中步骤101至104的执行过程,在此不做赘述。
步骤206,在达到设定目标时段时,请求计算资源,并对请求的计算资源设置时长上限为第二时长。
在本申请实施例中,目标时段为预先设置的时段,比如,该目标时段可以为查询的高峰期,比如10点至15点。
在本申请实施例中,在达到设定目标时段时,可以请求计算资源,并对请求的计算资源设置对应的时长上限,比如,将请求的计算资源的时长上限设置为第二时长。
在本申请实施例的一种可能的实现方式中,第二时长可以为预先设置的固定值,或者,第二时长还可以根据目标时段的持续时长确定,比如,第二时长可以与目标时段的持续时长成正向关系,即第二时长随目标时段的持续时长的增大而增大,随目标时段的持续时长的减小而减小。举例而言,当目标时段为10点至15点时,第二时长为T1,当目标时段为11点至13点时,第二时长为T2,T1可以大于T2。由此,当目标时段不同时,第二时长可以不同,可以实现根据目标时段的持续时长动态或灵活设置第二时长,即计算资源的时长上限,可以提升该方法的灵活性和适用性。
步骤207,将请求的计算资源添加至资源池中,以使资源池中的计算资源数量符合资源量标准值。
在本申请实施例中,资源量标准值为预先设置的,该资源量标准值大于资源量下限值,并且,该资源量标准值小于资源量上限值。也就是说,本申请中,可以为资源池设置三个数值,分别为资源量下限值、资源量标准值、资源量上限值。
举例而言,以目标时段为10点至15点进行示例,在目标时段的查询频率比较高,可以设置标准个数的资源量,本申请中记为资源量标准值,以满足高峰期的查询需求。资源池中还可以具有一些常驻的计算资源,以满足最小资源个数,本申请中记为资源量下限值,其中,资源量下限值小于资源量标准值,资源量标准值小于或者等于资源量上限值。
在本申请实施例中,可以将请求的计算资源添加至资源池中,以使资源池中的计算资源数量符合资源量标准值,从而满足目标时段,比如高峰期的查询需求。
作为一种示例,可以结合Spark集群计算资源的日常使用情况以及查询平台的用户使用时段偏好,为资源池设置最小和最大的并发度,即资源量下限值和资源量上限值,并且,为资源池设置查询高峰期对应的资源量标准值,从而可以使得计算资源在白天或高峰期用于查询平台,并于非高峰期,比如夜间释放大部分计算资源回归例行作业计算,从而可以避免空负载时段计算资源的浪费。
需要说明的是,本申请仅以步骤206至207在步骤204和205之后执行进行示例,实际应用时,本申请对步骤206至207的执行时限并不作限制,比如,步骤206至207还可以在步骤201之前执行,或者,步骤206至207还可以与步骤201至205并列执行。
本申请实施例的计算资源的调度方法,通过在达到设定目标时段时,请求计算资源,并对请求的计算资源设置时长上限为第二时长;将请求的计算资源添加至资源池中,以使资源池中的计算资源数量符合资源量标准值。由此,可以满足目标时段,比如高峰期的查询需求。
在本申请实施例的一种可能的实现方式中,还可以监测任务队列中待执行的任务的等待时长,在待执行的任务的等待时长较长时,为了提升任务的执行效率,可以请求计算资源,并将请求的计算资源添加至资源池中,从而可以利用资源池中请求的计算资源,对任务队列中的待执行的任务进行处理。下面结合实施例三,对上述过程进行详细说明。
图3为本申请实施例三所提供的计算资源的调度方法的流程示意图。
如图3所示,该计算资源的调度方法可以包括以下步骤:
步骤301,根据资源池中各计算资源的时长上限,监测各计算资源的存活时长。
步骤302,在监测到目标计算资源时,查询任务队列,其中,目标计算资源的存活时长达到对应的时长上限。
步骤303,判断任务队列中是否存在待执行的任务,若是,执行步骤304,若否,执行步骤305。
步骤304,延长目标计算资源的时长上限。
步骤305,确定目标计算资源处于空闲状态,将目标计算资源从资源池中释放。
步骤301至305的执行过程可以参见上述实施例中步骤101至104的执行过程,在此不做赘述。
步骤306,对任务队列中待执行的任务监测等待时长。
在本申请实施例中,可以对任务队列中的每个待执行的任务进行监测,确定每个待执行的任务的等待时长。
步骤307,在等待时长大于或等于设定时长时,请求计算资源,并对请求的计算资源设置时长上限为第一时长。
在本申请实施例中,设定时长为预先设置的。应当理解的是,为了避免用户长时间等待,而降低用户查询体验的情况,设定时长不应设置的太长。
在本申请实施例中,第一时长为预先设置的,该第一时长可以与第二时长相同,或者,第一时长也可以与第二时长不同,本申请对此并不作限制。比如,第一时长可以小于第二时长,或者,第一时长还可以大于第二时长。
在本申请实施例中,在待执行的任务的等待时长大于或者等于设定时长时,为了提升任务的执行效率,可以请求计算资源,并对请求的计算资源设置对应的时长上限,比如,将请求的计算资源的时长上限设置为第一时长。
在本申请实施例的一种可能的实现方式中,资源池中计算资源的资源量具有对应的上限值,本申请中记为资源量上限值,在请求计算资源之前,可以判断资源池中的计算资源数量是否小于资源量上限值,在确定资源池中的计算资源数量小于资源量上限值的情况下,可以请求计算资源,并对请求的计算资源设置时长上限为第一时长。而在确定资源池中的计算资源数量等于资源量上限值的情况下,可以无需请求计算资源,例如,此时,可以优先执行等待时长大于或等于设定时长的待执行的任务,以避免用户长时间等待。由此,可以避免请求较多的资源,而造成资源浪费的情况。
步骤308,将请求的计算资源添加至资源池中。
在本申请实施例中,可以将请求的计算资源添加至资源池中,从而可以利用请求的计算资源,执行待执行的任务,以提升任务的执行效率。
需要说明的是,本申请仅以步骤306至308在步骤305之后执行进行示例,实际应用时,本申请对步骤306至308的执行时限并不作限制,比如,步骤306至308还可以在步骤301之前执行,或者,步骤306至308还可以与步骤301至305并列执行。
本申请实施例的计算资源的调度方法,通过对任务队列中待执行的任务监测等待时长;在等待时长大于或等于设定时长时,请求计算资源,并对请求的计算资源设置时长上限为第一时长;将请求的计算资源添加至资源池中。由此,在任务长时间等待时,通过请求计算资源,并将请求的计算资源添加至资源池中,从而可以利用资源池中请求的计算资源,执行待执行的任务,可以提升任务的执行效率。
在本申请实施例的一种可能的实现方式中,可以将属于同一业务信息的任务添加至同一任务队列中,利用业务信息对应的资源池中处于空闲状态的计算资源,对任务队列中的各任务进行处理。下面结合实施例四,对上述过程进行详细说明。
图4为本申请实施例四所提供的计算资源的调度方法的流程示意图。
如图4所示,该计算资源的调度方法可以包括以下步骤:
步骤401,根据资源池中各计算资源的时长上限,监测各计算资源的存活时长。
步骤402,在监测到目标计算资源时,查询任务队列,其中,目标计算资源的存活时长达到对应的时长上限。
步骤403,判断任务队列中是否存在待执行的任务,若是,执行步骤404,若否,执行步骤405。
步骤404,延长目标计算资源的时长上限。
步骤405,确定目标计算资源处于空闲状态,将目标计算资源从资源池中释放。
步骤401至405的执行过程可以参见上述实施例中步骤101至104的执行过程,在此不做赘述。
步骤406,获取待执行的任务;其中,待执行的任务中包括业务信息。
在本申请实施例中,当用户触发查询请求后,可以将查询请求转化为计算任务,相应的,可以获取该计算任务,本申请中记为待执行的任务。其中,待执行的任务中可以包括业务信息,比如该待执行的任务所属的业务线。此外,待执行的任务中还可以包括用户信息以及用户需要查询的内容。
步骤407,根据业务信息,将待执行任务添加至业务信息对应的任务队列中。
在本申请实施例中,在获取到待执行的任务后,可以根据待执行的任务中的业务信息,将待执行任务添加至上述业务信息对应的任务队列中。即,本申请中,不同的业务信息对应了不同的任务队列,在获取到各任务后,是将各任务添加至所属的业务信息对应的任务队列中。
举例而言,用户在查询平台触发了一次查询请求,该查询请求中包含的业务信息为大数业务线,将该查询请求转化为任务后,可以将该任务添加至大数业务线对应的任务队列中。
进一步地,在将待执行的任务添加至业务信息对应的任务队列中后,还可以利用业务信息对应的资源池中处于空闲状态的计算资源,对业务信息对应的任务队列中的任务进行处理。即,在步骤407之后,还可以执行步骤408至409。
步骤408,业务信息对应的资源池中存在处于空闲状态的计算资源,则从业务信息对应的任务队列中取出轮询到的任务。
步骤409,调度处于空闲状态的计算资源执行轮询到的任务。
在本申请实施例中,任务队列中的各任务,是根据各任务对应的查询请求的提交时间依次存入或添加至任务队列中的,在对任务队列中的各任务进行处理时,可以根据各任务对应的查询请求的提交时间,按序对各任务进行处理。具体地,当业务信息对应的资源池中存在处于空闲状态的计算资源的情况下,可以从该业务信息对应的任务队列中取出轮询到的任务,调度该业务信息对应的资源池中存在处于空闲状态的计算资源,执行上述轮询到的任务。
作为一种示例,本申请中的资源池(例如Session Pool)实际上是运用“池化”思想来维护一批常驻式的计算资源(例如Spark Session),当用户触发的查询请求(或称为计算请求)到达后,资源池会自动分配处于空闲(Idle)状态的Session或者等待忙碌(Busy)状态的Session转变成可调度的空闲状态。同时,可以集合Spark集群计算资源的日常使用情况以及查询平台的用户使用时段偏好,为资源池配置最小和最大的并发度(即资源量下限值和资源量上限值),以及资源量标准值。从而可以使得资源池中的计算资源在白天或在查询的高峰期用于查询平台,并于非高峰期,比如夜间释放大部分计算资源回归例行作业计算,从而避免空负载时段计算资源的浪费。
本申请的调度原理示意图可以如图5所示。其中,“Session分配”模块维护了资源池(Session Pool)中每个业务线对应所有Session的状态。Session Pool以外维护了一个任务队列,用户提交的查询任务会依据提交时间依次存入任务队列中。此时,分配计算资源的策略可以为:Session Pool中对应业务线具有Idle状态的session,且任务队列中具有对应业务线且处于等待(Pending)状态的任务,则Session分配模块会依次分配Idle Session给上述处于等待状态的任务;Session Pool中维护了一个常驻线程来定时更新忙碌状态列表(Busy Session List)中各计算资源的状态,并将恢复Idle状态的Session归还空闲状态列表(Idle Session List)。
其中,业务线可以具有多个用户组,对于一个用户而言,属于一个用户组。
本申请实施例的计算资源的调度方法,通过获取待执行的任务;其中,待执行的任务中包括业务信息;根据业务信息,将待执行的任务添加至业务信息对应的任务队列中。由此,可以实现将属于同一业务信息的任务添加至同一任务队列,从而可以便于任务的处理。进一步地,通过在业务信息对应的资源池中存在处于空闲状态的计算资源时,从业务信息对应的任务队列中取出轮询到的任务;调度处于空闲状态的计算资源执行轮询到的任务。由此,可以实现利用空闲状态的计算资源,对任务队列中的各任务进行及时处理。
与上述图1至图4实施例提供的计算资源的调度方法相对应,本申请还提供一种计算资源的调度装置,由于本申请实施例提供的计算资源的调度装置与上述图1至图4实施例提供的计算资源的调度方法相对应,因此在计算资源的调度方法的实施方式也适用于本申请实施例提供的计算资源的调度装置,在本申请实施例中不再详细描述。
图6为本申请实施例五所提供的计算资源的调度装置的结构示意图。
如图6所示,该计算资源的调度装置600可以包括:监测模块601、查询模块602、处理模块603以及释放模块604。
其中,监测模块601,用于根据资源池中各计算资源的时长上限,监测各计算资源的存活时长。
查询模块602,用于在监测到目标计算资源时,查询任务队列,其中,目标计算资源的存活时长达到对应的时长上限。
处理模块603,用于响应于任务队列中存在待执行的任务,延长目标计算资源的时长上限。
释放模块604,用于响应于任务队列中未存在待执行的任务,确定目标计算资源处于空闲状态则将目标计算资源从资源池中释放。
在本申请实施例的一种可能的实现方式中,该计算资源的调度装置600还可以包括:
第一设置模块,用于在达到设定目标时段时,请求计算资源,并对请求的计算资源设置时长上限为第二时长。
第一添加模块,用于将请求的计算资源添加至资源池中,以使资源池中的计算资源数量符合资源量标准值。
在本申请实施例的一种可能的实现方式中,第二时长,是根据目标时段的持续时长确定的。
在本申请实施例的一种可能的实现方式中,该计算资源的调度装置600还可以包括:
第二请求模块,用于对任务队列中待执行的任务监测等待时长;在等待时长大于或等于设定时长时,请求计算资源,并对请求的计算资源设置时长上限为第一时长。
第二添加模块,用于将请求的计算资源添加至资源池中。
在本申请实施例的一种可能的实现方式中,该计算资源的调度装置600还可以包括:
确定模块,用于确定资源池中的计算资源数量小于资源量上限值。
在本申请实施例的一种可能的实现方式中,该计算资源的调度装置600还可以包括:
获取模块,用于获取待执行的任务;其中,待执行的任务中包括业务信息。
第三添加模块,用于根据业务信息,将待执行的任务添加至业务信息对应的任务队列中。
在本申请实施例的一种可能的实现方式中,该计算资源的调度装置600还可以包括:
取出模块,用于业务信息对应的资源池中存在处于空闲状态的计算资源,则从业务信息对应的任务队列中取出轮询到的任务。
执行模块,用于调度处于空闲状态的计算资源执行轮询到的任务。
本申请实施例的计算资源的调度装置,通过监测资源池中各计算资源的存活时长,在监测到存活时长达到对应的时长上限的目标计算资源时,查询任务队列,并确定任务队列中是否存在待执行的任务,若是,则延长目标计算资源的时长上限,若否,则确定目标计算资源处于空闲状态,将目标计算资源从资源池中释放。由此,可以实现根据任务队列中待执行的任务情况,动态调整资源池中的计算资源,一方面,可以避免资源的浪费,另一方面,还可以兼顾任务的执行效率。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和计算机程序产品。
如图7所示,是根据本申请实施例的计算资源的调度方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)702中的计算机程序或者从存储单元708加载到RAM(Random AccessMemory,随机访问/存取存储器)703中的计算机程序,来执行各种适当的动作和处理。在RAM703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。I/O(Input/Output,输入/输出)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如计算资源的调度方法。例如,在一些实施例中,计算资源的调度方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的计算资源的调度方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行计算资源的调度方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上系统的系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(VirtualPrivate Server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
根据本申请的实施例,本申请还提供了一种计算机程序产品,当计算机程序产品中的指令被处理器执行时,执行本申请上述实施例提出的计算资源的调度方法。
根据本申请实施例的技术方案,通过监测资源池中各计算资源的存活时长,在监测到存活时长达到对应的时长上限的目标计算资源时,查询任务队列,并确定任务队列中是否存在待执行的任务,若是,则延长目标计算资源的时长上限,若否,则确定目标计算资源处于空闲状态,将目标计算资源从资源池中释放。由此,可以实现根据任务队列中待执行的任务情况,动态调整资源池中的计算资源,一方面,可以避免资源的浪费,另一方面,还可以兼顾任务的执行效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (17)

1.一种计算资源的调度方法,包括:
根据资源池中各计算资源的时长上限,监测各所述计算资源的存活时长;
在监测到目标计算资源时,查询任务队列,其中,所述目标计算资源的存活时长达到对应的所述时长上限;
响应于所述任务队列中存在待执行的任务,延长所述目标计算资源的所述时长上限;
响应于所述任务队列中未存在待执行的任务,确定所述目标计算资源处于空闲状态则将所述目标计算资源从所述资源池中释放。
2.根据权利要求1所述的调度方法,其中,所述方法还包括:
在达到设定目标时段时,请求计算资源,并对请求的计算资源设置所述时长上限为第二时长;
将请求的计算资源添加至所述资源池中,以使所述资源池中的计算资源数量符合资源量标准值。
3.根据权利要求2所述的调度方法,其中,所述第二时长,是根据所述目标时段的持续时长确定的。
4.根据权利要求1所述的调度方法,其中,所述方法还包括:
对所述任务队列中所述待执行的任务监测等待时长;
在所述等待时长大于或等于设定时长时,请求计算资源,并对请求的计算资源设置所述时长上限为第一时长;
将所述请求的计算资源添加至所述资源池中。
5.根据权利要求4所述的调度方法,其中,所述请求计算资源之前,还包括:
确定所述资源池中的计算资源数量小于资源量上限值。
6.根据权利要求1-5任一项所述的调度方法,其中,所述方法还包括:
获取待执行的任务;其中,所述待执行的任务中包括业务信息;
根据所述业务信息,将所述待执行的任务添加至所述业务信息对应的任务队列中。
7.根据权利要求6所述的调度方法,其中,所述根据所述业务信息,将所述待执行任务添加至所述业务信息对应的任务队列中之后,还包括:
所述业务信息对应的资源池中存在处于空闲状态的计算资源,则从业务信息对应的所述任务队列中取出轮询到的任务;
调度所述处于空闲状态的计算资源执行所述轮询到的任务。
8.一种计算资源的调度装置,包括:
监测模块,用于根据资源池中各计算资源的时长上限,监测各所述计算资源的存活时长;
查询模块,用于在监测到目标计算资源时,查询任务队列,其中,所述目标计算资源的存活时长达到对应的所述时长上限;
处理模块,用于响应于所述任务队列中存在待执行的任务,延长所述目标计算资源的所述时长上限;
释放模块,用于响应于所述任务队列中未存在待执行的任务,确定所述目标计算资源处于空闲状态则将所述目标计算资源从所述资源池中释放。
9.根据权利要求8所述的调度装置,其中,所述装置还包括:
第一设置模块,用于在达到设定目标时段时,请求计算资源,并对请求的计算资源设置所述时长上限为第二时长;
第一添加模块,用于将请求的计算资源添加至所述资源池中,以使所述资源池中的计算资源数量符合资源量标准值。
10.根据权利要求9所述的调度装置,其中,所述第二时长,是根据所述目标时段的持续时长确定的。
11.根据权利要求8所述的调度装置,其中,所述装置还包括:
第二请求模块,用于对所述任务队列中所述待执行的任务监测等待时长;在所述等待时长大于或等于设定时长时,请求计算资源,并对请求的计算资源设置所述时长上限为第一时长;
第二添加模块,用于将所述请求的计算资源添加至所述资源池中。
12.根据权利要求11所述的调度装置,其中,所述装置还包括:
确定模块,用于确定所述资源池中的计算资源数量小于资源量上限值。
13.根据权利要求8-12任一项所述的调度装置,其中,所述装置还包括:
获取模块,用于获取待执行的任务;其中,所述待执行的任务中包括业务信息;
第三添加模块,用于根据所述业务信息,将所述待执行的任务添加至所述业务信息对应的任务队列中。
14.根据权利要求13所述的调度装置,其中,所述装置还包括:
取出模块,用于所述业务信息对应的资源池中存在处于空闲状态的计算资源,则从业务信息对应的所述任务队列中取出轮询到的任务;
执行模块,用于调度所述处于空闲状态的计算资源执行所述轮询到的任务。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的计算资源的调度方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的计算资源的调度方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的计算资源的调度方法。
CN202110119168.4A 2021-01-28 2021-01-28 计算资源的调度方法、装置、电子设备和存储介质 Pending CN112860974A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110119168.4A CN112860974A (zh) 2021-01-28 2021-01-28 计算资源的调度方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110119168.4A CN112860974A (zh) 2021-01-28 2021-01-28 计算资源的调度方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN112860974A true CN112860974A (zh) 2021-05-28

Family

ID=75987760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110119168.4A Pending CN112860974A (zh) 2021-01-28 2021-01-28 计算资源的调度方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112860974A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448714A (zh) * 2021-07-14 2021-09-28 华能吉林发电有限公司 基于云平台的计算资源控制系统
CN113726636A (zh) * 2021-08-31 2021-11-30 华云数据控股集团有限公司 软件转发设备的数据转发方法、系统及电子设备
CN114217947A (zh) * 2021-11-04 2022-03-22 北京百度网讯科技有限公司 任务执行方法、装置、电子设备及可读存储介质
CN114610465A (zh) * 2022-03-21 2022-06-10 阿里巴巴(中国)有限公司 任务处理方法、装置及存储介质
CN115879561A (zh) * 2022-12-30 2023-03-31 北京百度网讯科技有限公司 量子电路任务超时原因确定方法、装置、设备及存储介质
CN116541152A (zh) * 2023-07-05 2023-08-04 杭州金智塔科技有限公司 基于多方联合计算的任务处理方法以及系统
CN117076091A (zh) * 2023-10-12 2023-11-17 宁波银行股份有限公司 一种多引擎池调度方法及装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107589977A (zh) * 2017-09-06 2018-01-16 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN111198767A (zh) * 2020-01-07 2020-05-26 平安科技(深圳)有限公司 大数据资源处理方法、装置、终端及存储介质
CN112130984A (zh) * 2019-06-25 2020-12-25 中国电信股份有限公司 资源处理方法、装置以及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107589977A (zh) * 2017-09-06 2018-01-16 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN112130984A (zh) * 2019-06-25 2020-12-25 中国电信股份有限公司 资源处理方法、装置以及计算机可读存储介质
CN111198767A (zh) * 2020-01-07 2020-05-26 平安科技(深圳)有限公司 大数据资源处理方法、装置、终端及存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448714A (zh) * 2021-07-14 2021-09-28 华能吉林发电有限公司 基于云平台的计算资源控制系统
CN113448714B (zh) * 2021-07-14 2022-03-04 华能吉林发电有限公司 基于云平台的计算资源控制系统
CN113726636A (zh) * 2021-08-31 2021-11-30 华云数据控股集团有限公司 软件转发设备的数据转发方法、系统及电子设备
CN114217947A (zh) * 2021-11-04 2022-03-22 北京百度网讯科技有限公司 任务执行方法、装置、电子设备及可读存储介质
CN114610465A (zh) * 2022-03-21 2022-06-10 阿里巴巴(中国)有限公司 任务处理方法、装置及存储介质
CN115879561A (zh) * 2022-12-30 2023-03-31 北京百度网讯科技有限公司 量子电路任务超时原因确定方法、装置、设备及存储介质
CN116541152A (zh) * 2023-07-05 2023-08-04 杭州金智塔科技有限公司 基于多方联合计算的任务处理方法以及系统
CN117076091A (zh) * 2023-10-12 2023-11-17 宁波银行股份有限公司 一种多引擎池调度方法及装置、电子设备及存储介质
CN117076091B (zh) * 2023-10-12 2024-01-26 宁波银行股份有限公司 一种多引擎接口调度方法及装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN112860974A (zh) 计算资源的调度方法、装置、电子设备和存储介质
CN107241281B (zh) 一种数据处理方法及其装置
CN112165691B (zh) 内容分发网络调度方法、装置、服务器和介质
CN112486648A (zh) 任务调度方法、装置、系统、电子设备和存储介质
CN111738446B (zh) 深度学习推理引擎的调度方法、装置、设备和介质
CN108829512B (zh) 一种云中心硬件加速计算力的分配方法、系统和云中心
CN113849312B (zh) 数据处理任务的分配方法、装置、电子设备及存储介质
CN113867916B (zh) 任务处理方法、装置及电子设备
CN101968750A (zh) 计算机系统及其工作方法
CN104252390A (zh) 资源调度方法、装置和系统
CN105187327A (zh) 一种分布式消息队列中间件
CN109766172A (zh) 一种异步任务调度方法以及装置
CN114155026A (zh) 一种资源分配方法、装置、服务器及存储介质
CN112559908A (zh) 数据标识生成方法、装置、设备、介质和程序产品
CN114911598A (zh) 任务调度方法、装置、设备以及存储介质
CN114461393A (zh) 多任务调度方法、装置、电子设备、系统及自动驾驶车辆
CN114490048A (zh) 任务执行方法、装置、电子设备及计算机存储介质
CN112860401A (zh) 任务调度方法、装置、电子设备和存储介质
CN111857992A (zh) 一种Radosgw模块中线程资源分配方法和装置
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
CN112181653A (zh) 一种作业调度和执行方法、装置、设备、系统和存储介质
CN113778645A (zh) 基于边缘计算的任务调度方法、装置、设备及存储介质
CN107301085B (zh) 一种基于队列的云平台任务分配方法
CN113642959B (zh) 物品配送任务分配方法、装置、计算机设备及存储介质
CN115037802B (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