CN110389817A - 多云系统的调度方法、装置和计算机程序产品 - Google Patents
多云系统的调度方法、装置和计算机程序产品 Download PDFInfo
- Publication number
- CN110389817A CN110389817A CN201810362291.7A CN201810362291A CN110389817A CN 110389817 A CN110389817 A CN 110389817A CN 201810362291 A CN201810362291 A CN 201810362291A CN 110389817 A CN110389817 A CN 110389817A
- Authority
- CN
- China
- Prior art keywords
- cloud system
- application
- historical information
- run
- information
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1027—Persistence of sessions during load balancing
-
- 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Abstract
本公开的实施例提供了一种计算机实现的方法、电子设备和计算机程序产品。该方法包括:获得将由多个云系统之一运行的应用的信息;获得多个云系统中的每个云系统运行应用得到的历史信息;响应于每个云系统的历史信息都存在,将应用调度给历史信息与获得的信息匹配的第一云系统来运行;以及响应于缺少多个云系统中的至少一个云系统运行应用的历史信息,将应用调度给至少一个云系统中的第二云系统来运行。本公开的实施例可以优化云系统调度器的调度结果并提升用户体验。
Description
技术领域
本公开的实施例一般地涉及计算机系统、存储系统或云系统,并且更特别地,涉及一种计算机实现的方法、电子设备和计算机程序产品。
背景技术
现今,公共云系统已经成为一种有弹性的在线资源,其允许用户便捷地部署和运行应用。通常,不同的云系统以不同的价格、性能、可用性等来提供这样的资源。当用户在多云环境中部署和运行应用时,一般使用调度器基于应用和云系统的相关信息将应用调度给某个云系统来运行。
更一般地,调度器可以用来在多个潜在候选中选择一个或多个目标。在多云系统中,调度器可以使用不同种类的策略来选择不同的目标云系统,这些策略可能涉及性能、成本和可靠性等。目前,调度器通常利用静态信息或当前获取的瞬时信息而基于固定规则来进行应用的调度。然而,这种调度方式在许多情况下难以取得良好的调度结果,从而无法满足用户的需求。
发明内容
本公开的实施例涉及一种计算机实现的方法、一种电子设备、以及一种计算机程序产品。
在本公开的第一方面,提供了一种计算机实现的方法。该方法包括:获得将由多个云系统之一运行的应用的信息。该方法还包括:获得多个云系统中的每个云系统运行应用得到的历史信息。该方法进一步包括:响应于每个云系统的历史信息都存在,将应用调度给历史信息与获得的信息匹配的第一云系统来运行。该方法进一步包括:响应于缺少多个云系统中的至少一个云系统运行应用的历史信息,将应用调度给至少一个云系统中的第二云系统来运行。
在一些实施例中,该方法进一步包括:基于应用在云系统中的至少一个云系统上的运行,来更新历史信息。
在一些实施例中,第二云系统从至少一个云系统中随机选择。
在一些实施例中,将应用调度给第一云系统包括:确定与信息匹配程度最高的历史信息;确定历史信息是由第一云系统运行应用得到的;以及将应用指派给第一云系统。
在一些实施例中,该方法进一步包括:从历史信息中确定运行应用所需的历史时长;以及基于历史时长来预测第一云系统运行应用的时长。
在一些实施例中,获得信息包括:确定应用的标识符和工作负荷。
在一些实施例中,历史信息包括以下至少一项:运行的应用的标识符、运行应用的云系统的标识符、应用的工作负荷、应用的运行时长、以及应用是否需要一直运行直到用户终止其运行。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器以及包括计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为,与至少一个处理器一起,使得电子设备获得将由多个云系统之一运行的应用的信息。至少一个存储器和计算机程序指令还被配置为,与至少一个处理器一起,使得电子设备获得多个云系统中的每个云系统运行应用得到的历史信息。至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备响应于每个云系统的历史信息都存在,将应用调度给历史信息与获得的信息匹配的第一云系统来运行。至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备响应于缺少多个云系统中的至少一个云系统运行应用的历史信息,将应用调度给至少一个云系统中的第二云系统来运行。
在一些实施例中,至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备基于应用在云系统中的至少一个云系统上的运行,来更新历史信息。
在一些实施例中,第二云系统从至少一个云系统中随机选择。
在一些实施例中,至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备确定与信息匹配程度最高的历史信息,确定历史信息是由第一云系统运行应用得到的,以及将应用指派给第一云系统。
在一些实施例中,至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备从历史信息中确定运行应用所需的历史时长,以及基于历史时长来预测第一云系统运行应用的时长。
在一些实施例中,至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备确定应用的标识符和工作负荷。
在一些实施例中,历史信息包括以下至少一项:运行的应用的标识符、运行应用的云系统的标识符、应用的工作负荷、应用的运行时长、以及应用是否需要一直运行直到用户终止其运行。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方法的步骤。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例,其中:
图1示出了本公开的实施例可以在其中被实现的在多云环境中进行应用调度的示意图。
图2示出了根据本公开的实施例的计算机实现的方法的流程图。
图3示出了一种可以被用来实施本公开的实施例的设备的示意性框图。
贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。
图1示出了本公开的实施例可以在其中被实现的在多云环境100中进行应用调度的示意图。如图1所示,多云环境100包括调度器110、云驱动器120和多个云系统130-1至130-N(下文可以统称为云系统130)。在一些实施例中,多个云系统130-1至130-N的示例可以包括由不同实体(例如,公司)提供的各种云系统。一般地,调度器110确定将应用140调度给多个云系统130-1至130-N中的哪个云系统来进行部署和运行。
为了进行这样的调度,调度器110可以从元数据模块150获得与云系统130有关的信息,例如云系统130提供的云资源的价格等。此外,调度器110还可以通过云驱动器120从云系统130获得某些瞬时信息,例如云系统130当前有多少资源可用。基于这些信息,调度器110可以确定将应用140调度给云系统130中的哪个云系统。
应当理解,图1仅示意性地示出了多云环境100中的与本公开的实施例相关的单元、模块或组件。在其他实施例中,多云环境100还可以包括用于其他功能的另外的单元、模块或组件,例如执行单元、安装单元、授权单元等。因此,本公开的实施例不限于图1所描绘的具体单元、模块或组件。
如上文提到的,传统的调度器通常利用静态信息或当前获取的瞬时信息而基于固定规则来进行应用的调度。然而,这种调度方式在许多情况下可能难以取得良好的调度结果,从而无法满足用户的需求。例如,一种调度方式是评估在不同云系统中运行应用的成本。为此,元数据模块例如可以存储不同云系统的云资源的价格作为元数据,诸如每CPU核每小时的价格、每十亿字节(GB)的DRAM存储资源的价格、每GB的SSD存储资源的价格,等等。传统的调度器使用这些价格信息和价格模型来评估应用在每个云系统中运行完成的总花费,然后选取花费最低的云系统来运行应用。
本公开的发明人发现,这样的调度方式可能存在问题。例如,在一些情况下,即使多个云系统声称提供了相类似的云资源配置,但是相同的应用在这些云系统中运行的性能可能是不同的,相同的应用在相同云系统中运行的性能也可能是不同的,有时甚至差异巨大。传统的调度方式在云系统具有不同或变化的性能时无法预测完成应用运行所需要的时间。
因此,使用传统价格模型的传统调度方式仅能确定单位时间的花费,但是无法确定完成应用运行的花费。对于需要长时间运行的应用(诸如后台应用),传统的调度方式可能是适用的。然而,对于某些其他应用,例如具有固定大小的工作负荷的应用,传统的调度方式将给出错误的调度输出。
本公开的发明人进一步发现,传统调度器存在的上述问题主要是由于其使用静态信息或瞬时信息来确定要运行应用的云系统。然而,在一些场景中,用于调度的信息可能需要是在一段时间上的信息并且需要动态地进行更新。只有利用这样的信息,才有可能达到最优的调度结果。因此,将理解,上文指出的传统调度器的问题不仅存在于基于价格模型的调度方式中,也将存在于使用静态信息或瞬时信息的其他调度方式中。
鉴于传统调度器的上述问题以及潜在的其他问题,本公开的实施例提供了一种计算机实现的方法、一种电子设备和一种计算机程序产品。本公开的实施例改进了传统调度器的调度方式,使得调度器除了基于静态信息或瞬时信息以外,还可以基于动态信息或一段时间上的信息来确定要运行应用的云系统。本公开的实施例收集并重用与应用有关的运行时信息,从而优化调度器的调度结果并提升用户体验。下面结合附图来详细地描述本公开的实施例。
图2示出了根据本公开的实施例的计算机实现的方法200的流程图。在一些实施例中,方法200可以由多云环境100中的调度器110来实现,例如可以由调度器110的控制器或控制单元来实现,或者由调度器110的各种模块来实现。在其他实施例中,方法200也可以由独立于多云环境100的计算设备来实现,或者由多云环境100中的其他单元来实现。为了便于讨论,将结合图1来讨论方法200。
在205处,调度器110获得将由多个云系统130之一运行的应用140的信息。例如,调度器110可以确定应用140的标识符(诸如,应用名称)和工作负荷(即,所需要的工作量)。将理解,在多云环境100中,相同的应用140被运行多次是常见的,但是每次运行应用140的所需工作负荷可能是不同的。因此,调度器110获取应用140的工作负荷有助于将应用140调度给更合适的云系统130来运行。
此外,由于某些应用(诸如后台应用daemon)的工作负荷可能无法事先确定,而是这些应用需要一直运行直到用户终止其运行,所以此类应用的工作负荷可以具有特殊标记。在一些其他的实施例中,除了应用140的标识符和工作负荷以外,调度器110也可以获得应用140的其他信息以便调度应用140,诸如用户可接受的最高价格、用户可接受的最低性能、用户可接受的最长运行时间,等等。
在一些实施例中,获得应用140的信息可以通过在调度器110中设置应用匹配模块(未示出)来进行。例如,应用匹配模块可以识别出不同的应用和相应的工作负荷。如下面将详细讨论的,应用匹配模块的输出,即调度器110获得的应用140的信息,可以用于在云系统130运行应用的历史信息中作为索引并搜索出与应用140相关的历史信息。
在210处,调度器110获得多个云系统130中的每个云系统130-1至130-N运行应用140得到的历史信息。参考图1,调度器110可以(例如,通过应用匹配模块,未示出)从元数据模块150获得历史信息。相应地,调度器110在每次将应用调度给云系统130之一(例如,云系统130-1)运行之后,可以将云系统130-1运行该应用的相关历史信息存储到元数据模块150,以便在后续的应用调度中进行参考。在一些其他的实施例中,调度器110也可以从其他单元或模块获得历史信息。
在一些实施例中,历史信息可以包括运行的应用的标识符、运行应用的云系统的标识符、应用的工作负荷、和/或应用的运行时长,等等。因此,调度器110可以使用应用140的信息作为索引,在所有云系统130-1至130-N运行所有应用的所有历史信息中搜索出与应用140有关的历史信息。
例如,历史信息可以采用数据结构{应用标识符、云系统标识符、工作负荷、运行时长}的形式来组织。以云系统130-1曾经运行过应用140为例,其产生的历史信息可以记录为{应用140的标识符、云系统130-1的标识符、应用140该次运行的工作负荷、应用140该次运行的运行时长}。
将明白,每个云系统130-1至130-N运行每个应用都可以产生类似的历史信息。这些历史信息可以通过应用标识符和云系统标识符来识别其对应于哪个应用和哪个云系统。此外,为了在历史信息中区分需要长期运行的应用和具有固定工作量的应用并基于此合理地调度这两种应用,历史信息还可以包括应用是否需要一直运行直到用户终止其运行的信息项。
返回参考图2,在215处,调度器110确定是否每个云系统130-1至130-N针对应用140的历史信息都存在。也就是说,调度器110确定是否每个云系统130-1至130-N都曾经运行过应用140。例如,调度器110可以基于应用140的标识符,通过在每个云系统130-1至130-N针对所有应用的历史信息中搜索关于应用140的历史信息来进行上述确定。在一些实施例中,如果每个云系统130-1至130-N都曾经运行过应用140,则调度器110可以认为具有足够的信息来调度应用140。否则,调度器110可以认为缺少足够的信息来进行应用140的本次调度。
在220处,响应于每个云系统130-1至130-N针对应用140的历史信息都存在,调度器110将应用140调度给历史信息与获得的信息匹配的第一云系统(例如,云系统130-1)来运行。如上文指出的,每个云系统130-1至130-N可能都曾经运行过应用140,并且可能运行过多次。但是,每个云系统130-1至130-N对应用140运行可能是不同的,相同的云系统对应用140的多次运行也可能是不同的。反映这些过去运行的运行信息都包括在调度器110所获得的历史信息中。因此,调度器110将在获得的历史信息中确定与应用140的信息匹配的历史信息,并且根据该历史信息来确定本次要运行应用140的云系统。
在执行向第一云系统(例如,云系统130-1)调度应用140的过程中,调度器110可以确定与应用140的信息匹配程度最高的历史信息,然后确定该历史信息是由云系统130-1运行应用140得到的,以及将应用140指派给云系统130-1。通过这样的方式,当不存在与应用140的信息完全匹配的历史信息时,调度器110也可以最优地实现应用140的本次调度。
通过具体示例的方式,调度器110可能获得的应用140的信息是{应用140,工作负荷90},而获得的历史信息包括A:{应用140,云系统130-1,工作负荷10,运行时长10小时}、B:{应用140,云系统130-1,工作负荷100,运行时长100小时}、C:{应用140,云系统130-2,工作负荷50,运行时长10小时}。在这种情况下,调度器110可以确定与应用140的信息匹配程度最高的历史信息,即历史信息B。然后,调度器110可以确定历史信息B是由云系统130-1运行应用140得到的。基于此,调度器110本次可以将应用140指派给云系统130-1来运行。
以该示例继续进行讨论,调度器110还可以从历史信息B中确定运行应用140所需的历史时长,例如100小时。由此,调度器110可以基于该历史时长来预测云系统130-1本次运行应用140的时长,例如,大约90个小时。此外,基于所使用的价格模型,调度器110还可以使用该历史时长得到云系统130-1本次运行应用140的准确的花费预测。
在225处,响应于缺少多个云系统130-1至130-N中的至少一个云系统(例如,云系统130-N等)运行应用140的历史信息,调度器110可以将应用140调度给至少一个云系统中的第二云系统(例如,云系统130-N)来运行。如上文提到的,如果多个云系统130中的某些云系统运行应用140的历史信息不存在,则可能意味着调度器110不具有足够的信息来调度应用140。例如,调度器110可能无法预测应用140本次在某个云系统中运行的花费。
例如,这样的情况可能是在多云环境110被初始化时,此时调度器110没有任何应用在任何云系统中运行的历史信息。因此,将应用140调度给未运行过应用140的云系统可以使得调度器110最终具有足够的信息对应用140的将来调度作出正确的调度决策。
在多于一个云系统未运行过应用140的场合,第二云系统(例如,云系统130-N)可以从该至少一个云系统中随机选择。将理解,由于该至少一个云系统都没有运行过应用140,所以没有任何历史信息可以供参考以将应用140调度给该至少一个云系统之一。在这种情况下,调度器110可以随机地进行这种调度。随机调度的优点在于不需要任何信息来完成调度。
在一些实施例中,该随机调度可以通过在调度器110中设置随机器模块(未示出)来进行。当然,在其他实施例中,调度器110也可以采用任何其他不需要历史信息的方式来选择第二云系统,例如,根据云系统的静态信息、根据云系统名称的首字母顺序,等等。
在一些实施例中,调度器110可以基于应用140在云系统130中的至少一个云系统(例如,云系统130-1或云系统130-N)上的运行来更新历史信息,从而可以使得历史信息更加丰富和多样化,改进后续调度的正确性。为此,在确定将应用140调度给云系统130-1或云系统130-N之后,调度器110可以监测应用140在云系统130-1或云系统130-N上运行的各种运行信息,例如运行时长。特别地,调度器110还可以确定应用140是由它自己终止运行还是由用户终止运行。如果应用140由它自己终止运行,则应用140可能具有固定的工作负荷。如果应用140由用户终止运行,则应用140可能是需要长期运行的应用,诸如后台应用。
在一些实施例中,该运行信息的采集可以通过在调度器110中设置采集模块(未示出)来进行。在其他实施例中,云系统130-1或云系统130-N运行应用140的相关信息也可以由其他存储单元或模块来收集,例如由云系统130-1或云系统130-N来收集。在这种情况下,调度器110可以从该存储单元或模块获取这些运行信息。
在收集或获得了这些运行信息之后,调度器110可以将这些运行信息连同应用140的标识符和云系统130-1(或云系统130-N)的标识符存储到元数据模块150或其他存储单元中,从而对历史信息进行更新,用于在应用140的后续调度中进行参考。
图3示意性地示出了一种可以被用来实施本公开的实施例的设备300的框图。如图3中所示出的,设备300包括中央处理单元(CPU)301,其可以根据存储在只读存储设备(ROM)302中的计算机程序指令或者从存储单元308加载到随机访问存储设备(RAM)303中的计算机程序指令,来执行各种适当的动作和处理。在RAM 303中,还可存储设备300操作所需的各种程序和数据。CPU 301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
设备300中的多个部件连接至I/O接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200可由处理单元301来执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 302和/或通信单元309而被载入和/或安装到设备300上。当计算机程序被加载到RAM303并由CPU 301执行时,可以执行上文描述的方法200的一个或多个步骤。
如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。
Claims (15)
1.一种计算机实现的方法,包括:
获得将由多个云系统之一运行的应用的信息;
获得所述多个云系统中的每个云系统运行所述应用得到的历史信息;
响应于每个云系统的所述历史信息都存在,将所述应用调度给所述历史信息与获得的所述信息匹配的第一云系统来运行;以及
响应于缺少所述多个云系统中的至少一个云系统运行所述应用的所述历史信息,将所述应用调度给所述至少一个云系统中的第二云系统来运行。
2.根据权利要求1所述的方法,进一步包括:
基于所述应用在所述云系统中的至少一个云系统上的运行,来更新所述历史信息。
3.根据权利要求1所述的方法,其中所述第二云系统从所述至少一个云系统中随机选择。
4.根据权利要求1所述的方法,其中将所述应用调度给所述第一云系统包括:
确定与所述信息匹配程度最高的历史信息;
确定所述历史信息是由所述第一云系统运行所述应用得到的;以及
将所述应用指派给所述第一云系统。
5.根据权利要求1所述的方法,进一步包括:
从所述历史信息中确定运行所述应用所需的历史时长;以及
基于所述历史时长来预测所述第一云系统运行所述应用的时长。
6.根据权利要求1所述的方法,其中获得所述信息包括:
确定所述应用的标识符和工作负荷。
7.根据权利要求1所述的方法,其中所述历史信息包括以下至少一项:
运行的应用的标识符、运行应用的云系统的标识符、应用的工作负荷、应用的运行时长、以及应用是否需要一直运行直到用户终止其运行。
8.一种电子设备,包括:
至少一个处理器;以及
包括计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备:
获得将由多个云系统之一运行的应用的信息;
获得所述多个云系统中的每个云系统运行所述应用得到的历史信息;
响应于每个云系统的所述历史信息都存在,将所述应用调度给所述历史信息与获得的所述信息匹配的第一云系统来运行;以及
响应于缺少所述多个云系统中的至少一个云系统运行所述应用的所述历史信息,将所述应用调度给所述至少一个云系统中的第二云系统来运行。
9.根据权利要求8所述的电子设备,其中所述至少一个存储器和所述计算机程序指令进一步被配置为,与所述至少一个处理器一起,使得所述电子设备:
基于所述应用在所述云系统中的至少一个云系统上的运行,来更新所述历史信息。
10.根据权利要求8所述的电子设备,其中所述第二云系统从所述至少一个云系统中随机选择。
11.根据权利要求8所述的电子设备,其中所述至少一个存储器和所述计算机程序指令进一步被配置为,与所述至少一个处理器一起,使得所述电子设备:
确定与所述信息匹配程度最高的历史信息;
确定所述历史信息是由所述第一云系统运行所述应用得到的;以及
将所述应用指派给所述第一云系统。
12.根据权利要求8所述的电子设备,其中所述至少一个存储器和所述计算机程序指令进一步被配置为,与所述至少一个处理器一起,使得所述电子设备:
从所述历史信息中确定运行所述应用所需的历史时长;以及
基于所述历史时长来预测所述第一云系统运行所述应用的时长。
13.根据权利要求8所述的电子设备,其中所述至少一个存储器和所述计算机程序指令进一步被配置为,与所述至少一个处理器一起,使得所述电子设备:
确定所述应用的标识符和工作负荷。
14.根据权利要求8所述的电子设备,其中所述历史信息包括以下至少一项:
运行的应用的标识符、运行应用的云系统的标识符、应用的工作负荷、应用的运行时长、以及应用是否需要一直运行直到用户终止其运行。
15.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1-7中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810362291.7A CN110389817B (zh) | 2018-04-20 | 2018-04-20 | 多云系统的调度方法、装置和计算机可读介质 |
US16/294,512 US10757190B2 (en) | 2018-04-20 | 2019-03-06 | Method, device and computer program product for scheduling multi-cloud system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810362291.7A CN110389817B (zh) | 2018-04-20 | 2018-04-20 | 多云系统的调度方法、装置和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389817A true CN110389817A (zh) | 2019-10-29 |
CN110389817B CN110389817B (zh) | 2023-05-23 |
Family
ID=68236058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810362291.7A Active CN110389817B (zh) | 2018-04-20 | 2018-04-20 | 多云系统的调度方法、装置和计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10757190B2 (zh) |
CN (1) | CN110389817B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11238105B2 (en) * | 2019-03-29 | 2022-02-01 | Salesforce.Com, Inc. | Correlating user device attribute groups |
CN111314493A (zh) * | 2020-04-10 | 2020-06-19 | 上海依图网络科技有限公司 | 异构云存储系统的数据处理方法及其可读介质和系统 |
US20220318065A1 (en) * | 2021-04-02 | 2022-10-06 | Red Hat, Inc. | Managing computer workloads across distributed computing clusters |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110276951A1 (en) * | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Managing runtime execution of applications on cloud computing systems |
US20130086235A1 (en) * | 2011-09-30 | 2013-04-04 | James Michael Ferris | Systems and methods for generating cloud deployment targets based on predictive workload estimation |
CN103649941A (zh) * | 2011-07-12 | 2014-03-19 | 国际商业机器公司 | 云上的应用资源管理器 |
US20150301814A1 (en) * | 2012-12-31 | 2015-10-22 | Huawei Technologies Co., Ltd. | Application deployment method and scheduler |
CN106133696A (zh) * | 2014-03-31 | 2016-11-16 | 微软技术许可有限责任公司 | 缩放云资源时动态标识目标容量 |
CN106850589A (zh) * | 2017-01-11 | 2017-06-13 | 杨立群 | 一种管控云计算终端和云服务器运作的方法和装置 |
CN106936883A (zh) * | 2015-12-31 | 2017-07-07 | 伊姆西公司 | 用于云系统的方法和装置 |
CN107231264A (zh) * | 2017-07-25 | 2017-10-03 | 北京百度网讯科技有限公司 | 用于管理云服务器的容量的方法和装置 |
CN107241384A (zh) * | 2017-05-03 | 2017-10-10 | 复旦大学 | 一种基于多云架构的内容分发服务资源优化调度方法 |
US20170357532A1 (en) * | 2016-06-10 | 2017-12-14 | Board Of Regents, The University Of Texas System | Systems and methods for scheduling of workload-aware jobs on multi-clouds |
CN107659433A (zh) * | 2017-09-08 | 2018-02-02 | 中国联合网络通信集团有限公司 | 一种云资源调度方法及设备 |
US20190245757A1 (en) * | 2018-02-06 | 2019-08-08 | Oracle International Corporation | Enhancing resource allocation for application deployment |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7574496B2 (en) * | 2001-11-30 | 2009-08-11 | Surgient, Inc. | Virtual server cloud interfacing |
US7437440B2 (en) * | 2003-01-27 | 2008-10-14 | Microsoft Corporation | Peer-to-peer networking framework application programming interfaces |
US20100235355A1 (en) * | 2009-03-13 | 2010-09-16 | Novell, Inc. | System and method for unified cloud management |
US8271974B2 (en) * | 2008-10-08 | 2012-09-18 | Kaavo Inc. | Cloud computing lifecycle management for N-tier applications |
US8843571B2 (en) * | 2010-01-15 | 2014-09-23 | Endurance International Group, Inc. | Web hosting service based on a common service architecture and third party services |
US8346935B2 (en) * | 2010-01-15 | 2013-01-01 | Joyent, Inc. | Managing hardware resources by sending messages amongst servers in a data center |
US8504689B2 (en) * | 2010-05-28 | 2013-08-06 | Red Hat, Inc. | Methods and systems for cloud deployment analysis featuring relative cloud resource importance |
US9354939B2 (en) * | 2010-05-28 | 2016-05-31 | Red Hat, Inc. | Generating customized build options for cloud deployment matching usage profile against cloud infrastructure options |
WO2011153155A2 (en) * | 2010-05-30 | 2011-12-08 | Sonian, Inc. | Method and system for arbitraging computing resources in a cloud computing environment |
US10192246B2 (en) * | 2010-11-24 | 2019-01-29 | Red Hat, Inc. | Generating multi-cloud incremental billing capture and administration |
KR101638436B1 (ko) * | 2010-12-10 | 2016-07-12 | 한국전자통신연구원 | 클라우드 스토리지 및 그의 관리 방법 |
US10678602B2 (en) * | 2011-02-09 | 2020-06-09 | Cisco Technology, Inc. | Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures |
CN102638484A (zh) * | 2011-02-15 | 2012-08-15 | 鸿富锦精密工业(深圳)有限公司 | 云端存取系统及其根据社群网络显示数据对象的方法 |
US9536197B1 (en) * | 2011-04-22 | 2017-01-03 | Angel A. Penilla | Methods and systems for processing data streams from data producing objects of vehicle and home entities and generating recommendations and settings |
US9262498B2 (en) * | 2011-05-27 | 2016-02-16 | Red Hat, Inc. | Generating optimized host placement of data payload in cloud-based storage network |
US9052939B2 (en) * | 2011-05-27 | 2015-06-09 | Red Hat, Inc. | Data compliance management associated with cloud migration events |
US8832239B2 (en) * | 2011-09-26 | 2014-09-09 | International Business Machines Corporation | System, method and program product for optimizing virtual machine placement and configuration |
EP2795875B1 (en) * | 2011-12-21 | 2020-10-21 | Telefonaktiebolaget LM Ericsson (publ) | Devices and methods using network load data in mobile cloud accelerator context to optimize network usage by selectively deferring content delivery |
US9083608B2 (en) * | 2012-01-24 | 2015-07-14 | International Business Machines Corporation | Automatically selecting appropriate platform to run application in cloud computing environment |
US9485300B2 (en) * | 2012-03-13 | 2016-11-01 | Yahoo! Inc. | Publish-subscribe platform for cloud file distribution |
US9141637B2 (en) * | 2012-09-26 | 2015-09-22 | International Business Machines Corporation | Predictive data management in a networked computing environment |
US9776078B2 (en) * | 2012-10-02 | 2017-10-03 | Razer (Asia-Pacific) Pte. Ltd. | Application state backup and restoration across multiple devices |
TW201426552A (zh) * | 2012-12-26 | 2014-07-01 | Hon Hai Prec Ind Co Ltd | 虛擬機的登錄介面排序系統及方法 |
US20140280964A1 (en) * | 2013-03-15 | 2014-09-18 | Gravitant, Inc. | Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities |
US20150341230A1 (en) * | 2013-03-15 | 2015-11-26 | Gravitant, Inc | Advanced discovery of cloud resources |
US10574748B2 (en) * | 2013-03-21 | 2020-02-25 | Infosys Limited | Systems and methods for allocating one or more resources in a composite cloud environment |
US9606840B2 (en) * | 2013-06-27 | 2017-03-28 | Sap Se | Enterprise data-driven system for predictive resource provisioning in cloud environments |
US9705816B2 (en) * | 2013-07-09 | 2017-07-11 | Korea Institute Of Science & Technology Information (Kisti) | Method and apparatus for allocating resource reflecting adaptive evaluation in cloud computing for high-throughput computing |
US9565253B2 (en) * | 2014-07-21 | 2017-02-07 | International Business Machines Corporation | Scalable approach to manage storage volumes across heterogenous cloud systems |
-
2018
- 2018-04-20 CN CN201810362291.7A patent/CN110389817B/zh active Active
-
2019
- 2019-03-06 US US16/294,512 patent/US10757190B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110276951A1 (en) * | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Managing runtime execution of applications on cloud computing systems |
CN103649941A (zh) * | 2011-07-12 | 2014-03-19 | 国际商业机器公司 | 云上的应用资源管理器 |
US20130086235A1 (en) * | 2011-09-30 | 2013-04-04 | James Michael Ferris | Systems and methods for generating cloud deployment targets based on predictive workload estimation |
US20150301814A1 (en) * | 2012-12-31 | 2015-10-22 | Huawei Technologies Co., Ltd. | Application deployment method and scheduler |
CN106133696A (zh) * | 2014-03-31 | 2016-11-16 | 微软技术许可有限责任公司 | 缩放云资源时动态标识目标容量 |
CN106936883A (zh) * | 2015-12-31 | 2017-07-07 | 伊姆西公司 | 用于云系统的方法和装置 |
US20170357532A1 (en) * | 2016-06-10 | 2017-12-14 | Board Of Regents, The University Of Texas System | Systems and methods for scheduling of workload-aware jobs on multi-clouds |
CN106850589A (zh) * | 2017-01-11 | 2017-06-13 | 杨立群 | 一种管控云计算终端和云服务器运作的方法和装置 |
CN107241384A (zh) * | 2017-05-03 | 2017-10-10 | 复旦大学 | 一种基于多云架构的内容分发服务资源优化调度方法 |
CN107231264A (zh) * | 2017-07-25 | 2017-10-03 | 北京百度网讯科技有限公司 | 用于管理云服务器的容量的方法和装置 |
CN107659433A (zh) * | 2017-09-08 | 2018-02-02 | 中国联合网络通信集团有限公司 | 一种云资源调度方法及设备 |
US20190245757A1 (en) * | 2018-02-06 | 2019-08-08 | Oracle International Corporation | Enhancing resource allocation for application deployment |
Non-Patent Citations (3)
Title |
---|
XIAOYONG LI等: "T-Broker:A Trust-Aware Service Brokering Scheme for Multiple Cloud Colloborative Services" * |
李召军: "基于Kriging的云任务调度及工程优化云平台建设" * |
阮顺领等: "面向数据中心能效优化的虚拟机迁移调度方法" * |
Also Published As
Publication number | Publication date |
---|---|
CN110389817B (zh) | 2023-05-23 |
US20190327303A1 (en) | 2019-10-24 |
US10757190B2 (en) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10679169B2 (en) | Cross-domain multi-attribute hashed and weighted dynamic process prioritization | |
CN103092683B (zh) | 用于数据分析的基于启发式的调度 | |
CN109753356A (zh) | 一种容器资源调度方法、装置及计算机可读存储介质 | |
US8214327B2 (en) | Optimization and staging method and system | |
CN104679595B (zh) | 一种面向应用的IaaS层动态资源分配方法 | |
CN105074664A (zh) | 成本最小化的任务调度程序 | |
CN109815007A (zh) | 基于云监控的线程控制方法、装置、电子设备及存储介质 | |
Forootani et al. | Approximate dynamic programming for stochastic resource allocation problems | |
CN110389817A (zh) | 多云系统的调度方法、装置和计算机程序产品 | |
EP2965492B1 (en) | Selection of data storage settings for an application | |
Joseph et al. | Effects of flexibility and scheduling decisions on the performance of an FMS: simulation modelling and analysis | |
CN112819263A (zh) | 一种调度客服的方法和装置 | |
CN103713852A (zh) | 一种信息处理方法、服务平台及电子设备 | |
CN106416311A (zh) | 用于调度应用数据的后台同步的系统和方法 | |
CN1783121B (zh) | 用于执行设计自动化的方法和系统 | |
CN106874079A (zh) | 一种任务执行的方法及装置 | |
Ramu et al. | Capuchin search algorithm based task scheduling in cloud computing environment | |
CN107679635A (zh) | 基于优先级的客户跟进方法、系统及可读存储介质 | |
Gocgun et al. | A Lagrangian approach to dynamic resource allocation | |
CN109934468A (zh) | 一种兼职工作匹配方法及系统、存储介质 | |
CN115203545A (zh) | 基于深度学习和知识图谱的康养服务智能匹配方法和系统 | |
US20220043732A1 (en) | Method, device, and program product for managing computing resource in storage system | |
CN112631783A (zh) | 虚拟资源分配方法、装置、电子设备及存储介质 | |
CN112633536A (zh) | 一种调度配送时间的方法和装置 | |
CN113391923B (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 |