CN112099952A - 资源调度方法、装置、电子设备及存储介质 - Google Patents

资源调度方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112099952A
CN112099952A CN202010976312.1A CN202010976312A CN112099952A CN 112099952 A CN112099952 A CN 112099952A CN 202010976312 A CN202010976312 A CN 202010976312A CN 112099952 A CN112099952 A CN 112099952A
Authority
CN
China
Prior art keywords
application
node
target
type
scheduling
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
CN202010976312.1A
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.)
Asiainfo Technologies China Inc
Original Assignee
Asiainfo Technologies China Inc
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 Asiainfo Technologies China Inc filed Critical Asiainfo Technologies China Inc
Priority to CN202010976312.1A priority Critical patent/CN112099952A/zh
Publication of CN112099952A publication Critical patent/CN112099952A/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed 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)

Abstract

本申请实施例提供了一种资源调度方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:根据节点的资源对集群节点进行分类确定各节点的资源类型,并确定各节点的日程表;确定各个应用的应用类型及对应的运行周期;针对目标应用执行下述资源调度步骤:基于目标应用的应用类型与各节点的资源类型确定相应的目标节点;基于目标应用的时间周期与目标节点的日程表进行目标应用的调度。本申请的实施可有效提高资源利用率。

Description

资源调度方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种资源调度方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的不断发展,对机器的计算能力和存储能力的要求越来越高;且在实际的生活中,随着企业数据量的加大,分布式集群的规模也越来越大。
当集群规模上升到一定程度时,集群能力会产生瓶颈,导致集群能力提升缓慢和运维复杂度上升,难以有效地利用机器资源,造成资源浪费。因此,亟需提出一种可高效利用集群资源的技术方案。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:
第一方面,提供了一种资源调度方法,包括:
根据节点的资源对集群节点进行分类确定各节点的资源类型,并确定各节点的日程表;
确定各个应用的应用类型及对应的运行周期;
针对目标应用执行下述资源调度步骤:基于所述目标应用的应用类型与各节点的资源类型确定相应的目标节点;基于所述目标应用的时间周期与所述目标节点的日程表进行所述目标应用的调度。
结合第一方面,在第一方面的第一种实施方式中,所述资源类型与应用类型包括以下至少一项:计算类型、存储类型以及其他类型。
结合第一方面,在第一方面的第二种实施方式中,所述确定各个应用的应用类型及对应的应用运行周期包括:
根据应用的运行数据对应用进行分类确定各应用的应用类型;
根据应用的历史运行时间确定各应用的运行周期;
其中,所述运行数据包括应用预运行与正式运行时的数据;所述历史运行时间包括应用运行时的开始时间与结束时间;所述运行周期包括开始时间和运行时长。
结合第一方面,在第一方面的第三种实施方式中,所述基于所述目标应用的应用类型与各节点的资源类型确定相应的目标节点,包括:
基于所述目标应用的应用类型与各节点的资源类型,在各集群节点中确定至少一个类型匹配度最高的目标节点作为当前的待调度节点。
结合第一方面的第三种实施方式,在第一方面的第四种实施方式中,所述基于所述目标应用的运行周期与所述目标节点的日程表进行所述目标应用的调度,包括:
若当前任一所述待调度节点无应用运行,且该待调度节点对应的日程表中各项应用运行的间隔时长适应所述目标应用的运行周期,将所述目标应用调度至该待调度节点;
若当前所有所述待调度节点均有应用正在运行,则将所述目标应用调度至对应的日程表中距下一空闲时刻最短的待调度节点;
若当前所有所述待调度节点均有应用正在运行,且对应的日程表中已无空闲时刻时,重复执行所述资源调度步骤直至完成所述目标应用的调度。
结合第一方面的第四种实施方式,在第一方面的第五种实施方式中,所述重复执行所述资源调度步骤直至完成所述目标应用的调度,包括:
确定至少一个所述类型匹配度次高于当前待调度节点的目标节点作为执行后续步骤的待调度节点;
重复执行所述基于所述目标应用的运行周期与所述目标节点的日程表进行所述目标应用的调度的步骤。
结合第一方面的第四种实施方式,在第一方面的第六种实施方式中,所述空闲时刻为日程表中对应的时间段无应用运行且该时间段适应所述目标应用的运行周期。
第二方面,提供了一种资源调度装置,包括:
第一确定模块,用于根据节点的资源对集群节点进行分类确定各节点的资源类型,并确定各节点的日程表;
第二确定模块,用于确定各个应用的应用类型及对应的运行周期;
调度模块,用于针对目标应用执行下述资源调度步骤:基于所述目标应用的应用类型与各节点的资源类型确定相应的目标节点;基于所述目标应用的时间周期与所述目标节点的日程表进行所述目标应用的调度。
结合第二方面,在第二方面的第一种实施方式中,所述资源类型与应用类型包括以下至少一项:计算类型、存储类型以及其他类型。
结合第二方面,在第二方面的第二种实施方式中,第二确定模块包括:
第一确定单元,用于根据应用的运行数据对应用进行分类确定各应用的应用类型;
第二确定单元,用于根据应用的历史运行时间确定各应用的运行周期;
其中,所述运行数据包括应用预运行与正式运行时的数据;所述历史运行时间包括应用运行时的开始时间与结束时间;所述运行周期包括开始时间和运行时长。
结合第二方面,在第二方面的第三种实施方式中,所述调度模块,包括:
匹配单元,用于基于所述目标应用的应用类型与各节点的资源类型,在各集群节点中确定至少一个类型匹配度最高的目标节点作为当前的待调度节点。
结合第二方面的第三种实施方式,在第二方面的第四种实施方式中,所述调度模块,包括:
第一调度单元,用于若当前任一所述待调度节点无应用运行,且该待调度节点对应的日程表中各项应用运行的间隔时长适应所述目标应用的运行周期,将所述目标应用调度至该待调度节点;
第二调度单元,用于若当前所有所述待调度节点均有应用正在运行,则将所述目标应用调度至对应的日程表中距下一空闲时刻最短的待调度节点;
第三调度单元,用于若当前所有所述待调度节点均有应用正在运行,且对应的日程表中已无空闲时刻时,重复执行所述资源调度步骤直至完成所述目标应用的调度。
结合第二方面的第四种实施方式,在第二方面的第五种实施方式中,所述第三调度单元,包括:
重复匹配子单元,用于确定至少一个所述类型匹配度次高于当前待调度节点的目标节点作为执行后续步骤的待调度节点;
重复执行子单元,用于重复执行所述基于所述目标应用的运行周期与所述目标节点的日程表进行所述目标应用的调度的步骤。
结合第二方面的第四种实施方式,在第二方面的第六种实施方式中,所述空闲时刻为日程表中对应的时间段无应用运行且该时间段适应所述目标应用的运行周期。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据本申请第一方面及第一方面任一实施方式所述的资源调度方法。
第四方面,提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请第一方面及第一方面任一实施方式所述的资源调度方法。
本申请提供的技术方案带来的有益效果是:
本申请通过对现有的集群节点基于资源进行分类确定出各节点的资源类型,同时还确定有各节点的日程表;进而结合各个应用的应用类型及对应的运行周期,对目标应用进行资源调度,将目标应用调度至类型相近或相同,且在考虑节点的日程表与应用的运行周期上将目标应用调度至相对空闲的节点上,以充分利用资源的特性、减少应用运行的等待时间、提高资源利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种资源调度方法的流程图;
图2为本申请实施例提供的一种资源调度方法的流程图;
图3为本申请实施例提供的一种资源调度装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
资源调度常用于云计算和大数据集群(由于单机的计算、存储等能力具有局限性,云计算平台和大数据平台一般是以分布式集群的方式进行部署和运行,可以有效支撑高并发的应用场景),现有技术中,资源对赌主要通过对CPU、内存等计算资源、磁盘等存储资源进行调度,调度时也仅对资源进行了区分,并未考虑到本申请提供的资源调度方法中所提及的应用类型、节点类型、时间等的问题,现有技术中的资源调度方法难以高效利用资源。
本申请提供的资源调度方法、装置、电子设备和存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请提供的资源调度方法,可以应用于本申请提供的电子设备中,该电子设备可以是服务器。
请参阅图1,本申请实施例中提供了一种资源调度方法,该方法包括以下步骤S101-S103:
步骤S101:根据节点的资源对集群节点进行分类确定各节点的资源类型,并确定各节点的日程表。
可选地,根据节点的资源对集群节点进行分类,主要包括根据各个主机节点上的资源情况对主机节点进行分类,例如针对某一节点A,该节点A当前的资源使用在计算性能上优于存储性能时,采用标签将节点A标注为计算类型。在一实施例中,资源类型可以包括三类:计算类型、存储类型及其他类型;其中,计算类型为该节点对应的资源应用在计算上的性能优于应用在存储上的性能;存储类型为该节点对应的资源应用在存储上的性能优于应用在计算上的性能;其他类型为该节点对应的资源应用在计算和存储上的性能相当(其他类型还可以是根据计算、存储以外的性能衡量出的类型,本申请对此不作限定)。
在一实施例中,可采用分类算法对各节点进行分类,分类算法的分类过程可以理解为建立一种分类模型来描述设定的数据集,通过分析由各节点的资源属性描述来构造模型。在本申请实施例中,分类算法可以采用朴素贝叶斯分类(Naive Bayesian Classifier,NBC)、逻辑回归(Logistic Regress,LR)、决策树算法等,本申请对此不作限定。
在一可行的实施例中,各节点对应的资源类型可以是采用动态标签进行标注,如节点A的初始标签对应为计算类型,在节点A中运行计算类型的应用;此时,动态监测节点的资源情况,若应用于存储的性能优于计算的性能时,将对节点A的标签调整对应为存储类型。
可选地,各节点的日程表由各节点需处理的任务构成,包括描述各任务的运行开始时间、运行时长等的信息。通过节点的日程表可了解该节点在当前时刻的运行情况(如空闲、有应用正在运行等)。
步骤S102:确定各个应用的应用类型及对应的运行周期。
具体地,应用类型可以是根据各个应用运行情况采用分类算法对应用进行分类,如采用标签标注各个应用;应用类型可以包括计算类型、存储类型以及其他类型。在标注应用时所采用的标签与在步骤S101中标注各节点的标签可以是一致的,也即可以采用具有相同标签属性的标签标注同一类节点和应用。
可选地,考虑到应用类型与资源类型的一致性问题,在对各个应用进行分类时可采用与步骤S101中相同的分类算法进行,以避免由于机器学习问题带来的分类准确性不同导致资源调度不当的问题。
在一实施例中,若用户已知应用所属的类型,则可在发布应用的同时设置对应的标签;在执行本申请提供的资源调度方法时,还可以采用分类算法对该应用进一步分类,预测应用对应的类型,以对用户设定的标签进行校正。
其中,运行周期可以采用LSTM(Long Short-Term Memory,长短期记忆网络)通过分析应用历史运行时的开始时间与结束时间,预测出应用的下一个运行周期。
步骤S103:针对目标应用执行下述资源调度步骤:基于目标应用的应用类型与各节点的资源类型确定相应的目标节点;基于目标应用的时间周期与目标节点的日程表进行目标应用的调度。
具体地,目标应用为待调度的应用,针对目标应用进行调度时,将优先基于类型与各节点进行匹配,如基于目标应用的应用类型A在各节点中筛选出与该应用类型A适应的资源类型B对应的目标节点;而后,在目标节点中,基于目标应用的运行周期与目标节点的日程表进行调度,将目标应用调度至相对空闲的节点上运行。
本申请实施例通过对现有的集群节点基于资源进行分类确定出各节点的资源类型,同时还确定有各节点的日程表;进而结合各个应用的应用类型及对应的运行周期,对目标应用进行资源调度,将目标应用调度至类型相近或相同,且在考虑节点的日程表与应用的运行周期上将目标应用调度至相对空闲的节点上,以充分利用资源的特性、减少应用运行的等待时间、提高资源利用率。
在一实施例中,步骤S102确定各个应用的应用类型及对应的应用运行周期包括以下步骤A1-A2:
步骤A1:根据应用的运行数据对应用进行分类确定各应用的应用类型。
其中,运行数据包括应用预运行与正式运行时的数据。
具体地,可以是根据应用运行时所需机器资源的占比对应用进行分类,一般而言,在分类时,每一应用对应一种应用类型。
步骤A2:根据应用的历史运行时间确定各应用的运行周期。
其中,历史运行时间包括应用运行时的开始时间与结束时间;运行周期包括开始时间和运行时长。
具体地,在应用运行时均记录有开始时间和结束时间,采用LSTM等网络可以通过分析应用历史运行时间,预测出应用下一运行周期(下一运行开始时间和运行时长)。
请参阅图2,在一实施例中,针对目标应用执行资源调度的步骤中,基于目标应用的应用类型与各节点的资源类型确定相应的目标节点,包括:基于目标应用的应用类型与各节点的资源类型,在各集群节点中确定至少一个类型匹配度最高的目标节点作为当前的待调度节点。
可选地,一个节点对应于一种资源类型,但同一资源类型的节点可以有多个。假设目标应用的应用类型为计算类型,则在集群节点中筛选出资源类型为计算类型的所有节点作为目标节点,此时目标节点可以包括一个或多个。
可能的是,当前集群节点中无一节点的资源类型可相应于目标应用的应用类型(如目标应用的应用类型是存储类型,而当前无一节点的资源类型为存储类型),则可以选择其他类型对应的节点作为目标节点。即在匹配过程中,假设目标应用的应用类型为存储类型,则与目标节点的资源类型的匹配度由高至低的排序为存储类型、其他类型、计算类型。
请参阅图2,在一实施例中,针对目标应用执行资源调度的步骤中,基于目标应用的运行周期与目标节点的日程表进行目标应用的调度,包括以下步骤B1-B3中的一项:
步骤B1:若当前任一待调度节点无应用运行,且该待调度节点对应的日程表中各项应用运行的间隔时长适应目标应用的运行周期,将目标应用调度至该待调度节点。
可选地,对应于同一目标应用的目标节点有多个,相应的待调度节点也有多个。假设当前的待调度节点包括3个(在实际应用中可能有更多,此处数量仅用作举例说明),3个节点(节点A、B、C)中,节点A和节点B当前无应用运行,而节点C有应用运行,则仅对节点A和节点B进行进一步的考量,分析节点A和节点B各自对应的日程表中各项应用运行的间隔时长是否适应目标应用的运行周期;若当前目标应用的运行周期为每隔4秒运行一次,一次运行时长为0.7秒(假设当前距运行开始时间还有4秒),而节点A中的间隔时长为3秒,则节点A无法适应目标应用的运行周期;而节点B中的间隔时长为5秒,则节点B可以适应目标应用的运行周期,将目标应用调度至节点B中运行。
在一实施例中,若当前任一待调度节点无应用运行,但该该调度节点对应的日程表中各项应用运行的间隔时长无法适应目标应用的运行周期,则将待调度节点视为步骤B2和/或步骤B3中有应用正在运行的待调度节点。
步骤B2:若当前所有待调度节点均有应用正在运行,则将目标应用调度至对应的日程表中距下一空闲时刻最短的待调度节点。
可选地,日程表中距下一空闲时刻最短的待调度节点由该节点结束当前应用运行的结束时间和距开始运行下一应用的开始时间决定;假设待调度节点A距结束当前正在运行应用的结束时间为3秒后,距开始运行下一应用的开始时间为5秒后,而目标应用的运行周期中距开始运行目标应用的时间为3.2秒,需运行时长为1.8秒,则该待调度节点可适应目标应用的运行周期,可将目标应用调度至该节点中运行。
步骤B3:若当前所有待调度节点均有应用正在运行,且对应的日程表中已无空闲时刻时,重复执行资源调度步骤直至完成目标应用的调度。
其中,空闲时刻为日程表中对应的时间段无应用运行且该时间段适应目标应用的运行周期。
在一实施例中,参阅图2,针对目标应用执行资源调度的步骤中,在一定情况下包括循环步骤。具体地,若当前所有待调度的节点对应的日程表均无法适应目标应用的运行周期,则可以重复执行资源调度步骤直至完成目标应用的调度。
请参阅图2,步骤B3中的重复执行资源调度步骤直至完成目标应用的调度,包括以下步骤C1-C2:
步骤C1:确定至少一个类型匹配度次高于当前待调度节点的目标节点作为执行后续步骤的待调度节点。
可选地,假设当前目标应用的应用类型为计算类型,当前待调度节点对应的资源类型为计算类型,则可以获取资源类型为其他类型的目标节点作为执行步骤C2的待调度节点;若当前待调度节点对应的资源类型为其他类型,则可以获取资源类型为存储类型的目标节点作为执行步骤C2的待调度节点。
步骤C2:重复执行基于目标应用的运行周期与目标节点的日程表进行目标应用的调度的步骤。
具体地,步骤C2可理解为重复执行上述实施例提供的步骤B1-B3。
本申请实施例相比于现有技术,采用了不同维度的分类方式对机器资源进行分类,如分为计算类型、存储类型和其他类型等等,可充分利用不同资源处理不同应用的特性,达到提高资源利用率的效果。
请参阅图3,本申请实施例提供了一种资源调度装置300,该资源调度装置300可以包括:第一确定模块301、第二确定模块302、调度模块303,其中:
第一确定模块301,用于根据节点的资源对集群节点进行分类确定各节点的资源类型,并确定各节点的日程表;第二确定模块302,用于确定各个应用的应用类型及对应的运行周期;调度模块303,用于针对目标应用执行下述资源调度步骤:基于目标应用的应用类型与各节点的资源类型确定相应的目标节点;基于目标应用的时间周期与目标节点的日程表进行目标应用的调度。
在一实施例中,资源类型与应用类型包括以下至少一项:计算类型、存储类型以及其他类型。
在一实施例中,第二确定模块302包括:第一确定单元,用于根据应用的运行数据对应用进行分类确定各应用的应用类型;第二确定单元,用于根据应用的历史运行时间确定各应用的运行周期;其中,运行数据包括应用预运行与正式运行时的数据;历史运行时间包括应用运行时的开始时间与结束时间;运行周期包括开始时间和运行时长。
在一实施例中,调度模块303,包括:匹配单元,用于基于目标应用的应用类型与各节点的资源类型,在各集群节点中确定至少一个类型匹配度最高的目标节点作为当前的待调度节点。
在一实施例中,调度模块303,包括:第一调度单元,用于若当前任一待调度节点无应用运行,且该待调度节点对应的日程表中各项应用运行的间隔时长适应目标应用的运行周期,将目标应用调度至该待调度节点;第二调度单元,用于若当前所有待调度节点均有应用正在运行,则将目标应用调度至对应的日程表中距下一空闲时刻最短的待调度节点;第三调度单元,用于若当前所有待调度节点均有应用正在运行,且对应的日程表中已无空闲时刻时,重复执行资源调度步骤直至完成目标应用的调度。
在一实施例中,第三调度单元,包括:重复匹配子单元,用于确定至少一个类型匹配度次高于当前待调度节点的目标节点作为执行后续步骤的待调度节点;重复执行子单元,用于重复执行基于目标应用的运行周期与目标节点的日程表进行目标应用的调度的步骤。
在一实施例中,空闲时刻为日程表中对应的时间段无应用运行且该时间段适应目标应用的运行周期。
本申请实施例的资源调度装置可执行本申请的实施例所提供的一种资源调度方法,其实现原理相类似,本申请各实施例中的资源调度装置中的各模块所执行的动作是与本申请各实施例中的资源调度方法中的步骤相对应的,对于资源调度装置的各模块的详细功能描述具体可以参见前文中所示的对应的资源调度方法中的描述,此处不再赘述。
请参阅图4,在一个可选实施例中提供了一种电子设备,电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:服务器。
本申请实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,实现前述方法实施例中相应内容,与现有技术相比可实现:通过对现有的集群节点基于资源进行分类确定出各节点的资源类型,同时还确定有各节点的日程表;进而结合各个应用的应用类型及对应的运行周期,对目标应用进行资源调度,将目标应用调度至类型相近或相同,且在考虑节点的日程表与应用的运行周期上将目标应用调度至相对空闲的节点上,以充分利用资源的特性、减少应用运行的等待时间、提高资源利用率。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种资源调度方法,其特征在于,包括:
根据节点的资源对集群节点进行分类确定各节点的资源类型,并确定各节点的日程表;
确定各个应用的应用类型及对应的运行周期;
针对目标应用执行下述资源调度步骤:基于所述目标应用的应用类型与各节点的资源类型确定相应的目标节点;基于所述目标应用的时间周期与所述目标节点的日程表进行所述目标应用的调度。
2.根据权利要求1所述的方法,其特征在于,所述资源类型与应用类型包括以下至少一项:计算类型、存储类型以及其他类型。
3.根据权利要求1所述的方法,其特征在于,所述确定各个应用的应用类型及对应的应用运行周期包括:
根据应用的运行数据对应用进行分类确定各应用的应用类型;
根据应用的历史运行时间确定各应用的运行周期;
其中,所述运行数据包括应用预运行与正式运行时的数据;所述历史运行时间包括应用运行时的开始时间与结束时间;所述运行周期包括开始时间和运行时长。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标应用的应用类型与各节点的资源类型确定相应的目标节点,包括:
基于所述目标应用的应用类型与各节点的资源类型,在各集群节点中确定至少一个类型匹配度最高的目标节点作为当前的待调度节点。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标应用的运行周期与所述目标节点的日程表进行所述目标应用的调度,包括:
若当前任一所述待调度节点无应用运行,且该待调度节点对应的日程表中各项应用运行的间隔时长适应所述目标应用的运行周期,将所述目标应用调度至该待调度节点;
若当前所有所述待调度节点均有应用正在运行,则将所述目标应用调度至对应的日程表中距下一空闲时刻最短的待调度节点;
若当前所有所述待调度节点均有应用正在运行,且对应的日程表中已无空闲时刻时,重复执行所述资源调度步骤直至完成所述目标应用的调度。
6.根据权利要求5所述的方法,其特征在于,所述重复执行所述资源调度步骤直至完成所述目标应用的调度,包括:
确定至少一个所述类型匹配度次高于当前待调度节点的目标节点作为执行后续步骤的待调度节点;
重复执行所述基于所述目标应用的运行周期与所述目标节点的日程表进行所述目标应用的调度的步骤。
7.根据权利要求5所述的方法,其特征在于,所述空闲时刻为日程表中对应的时间段无应用运行且该时间段适应所述目标应用的运行周期。
8.一种资源调度装置,其特征在于,包括:
第一确定模块,用于根据节点的资源对集群节点进行分类确定各节点的资源类型,并确定各节点的日程表;
第二确定模块,用于确定各个应用的应用类型及对应的运行周期;
调度模块,用于针对目标应用执行下述资源调度步骤:基于所述目标应用的应用类型与各节点的资源类型确定相应的目标节点;基于所述目标应用的时间周期与所述目标节点的日程表进行所述目标应用的调度。
9.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1~7任一项所述的方法。
10.一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~7任一项所述的方法。
CN202010976312.1A 2020-09-16 2020-09-16 资源调度方法、装置、电子设备及存储介质 Pending CN112099952A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010976312.1A CN112099952A (zh) 2020-09-16 2020-09-16 资源调度方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010976312.1A CN112099952A (zh) 2020-09-16 2020-09-16 资源调度方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112099952A true CN112099952A (zh) 2020-12-18

Family

ID=73759003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010976312.1A Pending CN112099952A (zh) 2020-09-16 2020-09-16 资源调度方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112099952A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252393A (zh) * 2013-06-25 2014-12-31 威睿公司 分布式计算机系统中的性能驱动的资源管理
CN107045456A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 一种资源分配方法及资源管理器
CN107291546A (zh) * 2016-03-30 2017-10-24 华为技术有限公司 一种资源调度方法及装置
CN111026552A (zh) * 2019-12-09 2020-04-17 腾讯科技(深圳)有限公司 资源的调度方法、装置、电子设备和计算机可读存储介质
CN111158909A (zh) * 2019-12-27 2020-05-15 中国联合网络通信集团有限公司 集群资源分配处理方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252393A (zh) * 2013-06-25 2014-12-31 威睿公司 分布式计算机系统中的性能驱动的资源管理
US20160344650A1 (en) * 2013-06-25 2016-11-24 Vmware, Inc. Performance-driven resource management in a distributed computer system
CN107045456A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 一种资源分配方法及资源管理器
CN107291546A (zh) * 2016-03-30 2017-10-24 华为技术有限公司 一种资源调度方法及装置
CN111026552A (zh) * 2019-12-09 2020-04-17 腾讯科技(深圳)有限公司 资源的调度方法、装置、电子设备和计算机可读存储介质
CN111158909A (zh) * 2019-12-27 2020-05-15 中国联合网络通信集团有限公司 集群资源分配处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
Ananthanarayanan et al. {GRASS}: Trimming stragglers in approximation analytics
US7503039B2 (en) Preprocessor to improve the performance of message-passing-based parallel programs on virtualized multi-core processors
US20230091261A1 (en) Orchestration and scheduling of services
US8595732B2 (en) Reducing the response time of flexible highly data parallel task by assigning task sets using dynamic combined longest processing time scheme
US9189270B2 (en) Realizing jumps in an executing process instance
WO2022028157A1 (zh) 云环境下微服务系统的弹性伸缩方法、系统、介质及设备
US9535754B1 (en) Dynamic provisioning of computing resources
CN106713396B (zh) 服务器调度方法和系统
US11513842B2 (en) Performance biased resource scheduling based on runtime performance
CN109254836B (zh) 面向云计算系统优先依赖任务的期限约束成本优化调度方法
CN111399911B (zh) 一种基于多核异构计算的人工智能开发方法及装置
CN114741207A (zh) 一种基于多维度组合并行的gpu资源调度方法和系统
EP3238102A1 (en) Techniques to generate a graph model for cloud infrastructure elements
WO2023116067A1 (zh) 面向5g云边端协同的电力业务分解方法及系统
CN114217966A (zh) 基于资源调整的深度学习模型动态批处理调度方法和系统
CN109426550A (zh) 资源的调度方法及设备
CN116467061B (zh) 一种任务执行的方法、装置、存储介质及电子设备
CN107977275B (zh) 基于消息队列的任务处理方法及相关设备
CN114548383A (zh) 一种面向神经网络模型计算的图执行流水并行方法和装置
CN109634714B (zh) 一种智能调度的方法及装置
CN113407343A (zh) 一种基于资源分配的业务处理方法、装置及设备
US11262986B2 (en) Automatic software generation for computer systems
CN112099952A (zh) 资源调度方法、装置、电子设备及存储介质
CN113537392B (zh) 相似图像的识别方法、装置、计算设备及计算机存储介质
CN114138444A (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