一种用于云计算的方法和装置与流程

文档序号:11843144阅读:163来源:国知局
一种用于云计算的方法和装置与流程

本发明涉及云计算领域,尤其涉及一种用于云计算的方法和装置。



背景技术:

随着云计算(cloud computing)的发展,越来越多的人们从云计算所提供的便利中获益。按照美国国家标准与技术研究院(NIST)的定义,云计算是一种能够对可配置的计算资源共享池进行便捷的、按需的网络访问的模式,这些计算资源能够以最小的管理工作或服务提供商交互被快速地提供和释放。

通常,云计算包括有各种计算服务(computing service)以向用户提供各种类型的业务能力,并且,每一种计算服务需要使用若干计算资源(computing resources)。

快速弹性(rapid elasticity)是云计算的一个重要特性,其要求通过以自动方式向计算服务供应或取消供应计算资源来适应计算服务的工作负载变化,以使得在每一个时间点计算服务可用的计算资源尽可能紧密地匹配计算服务的当前需求。

在现有的云计算中,通常使用处理器(CPU)和存储器的使用情况来表征计算服务的工作负载,并根据CPU和存储器的使用情况来收缩或扩展(即缩放)计算服务使用的计算资源。

然而,使用CPU和存储器的使用情况来表征计算服务的工作负载不是很直接和准确,因为在有些情况下,即使计算服务的工作负载很大,CPU和存储器的使用程度并不高。从而,根据CPU和存储器的使用情况来缩放计算服务使用的计算资源并不总是能使得计算服务可用的计算资源能紧密地匹配计算服务的当前需求。因此,在现有的云计算中,云计算的快速弹性能力有待提高。



技术实现要素:

考虑到现有技术的上述问题,本发明的实施例提供一种用于云计算的方法和装置,其能够提高云计算的快速弹性能力。

按照本发明实施例的一种用于云计算的方法,包括:获取云计算的计算服务的服务响应时间;以及,基于所获取的服务响应时间和用于缩放所述计算服务使用的计算资源的规则,对所述计算服务使用的计算资源执行缩放处理。

其中,所述执行缩放处理的步骤包括:如果所述获取的服务响应时间大于所述规则所指示的用于扩展所述计算服务使用的计算资源的第一时间阈值,则扩展所述计算服务使用的计算资源;以及,如果所述获取的服务响应时间小于所述规则所指示的用于收缩所述计算服务使用的计算资源的第二时间阈值,则收缩所述计算服务使用的计算资源。

其中,所述获取的服务响应时间包括连续至少两次所获取的所述计算服务的服务响应时间。

其中,所述扩展步骤进一步包括:如果所述获取的服务响应时间大于所述第一时间阈值且所述计算服务当前使用的计算资源未达到所述规则所指示的所述计算服务能够使用的计算资源的数量上限值,则扩展所述计算服务使用的计算资源,以及,所述收缩步骤进一步包括:如果所述获取的服务响应时间小于所述第二时间阈值且所述计算服务当前使用的计算资源未达到所述规则所指示的所述计算服务能够使用的计算资源的数量下限值,则收缩所述计算服务使用的计算资源。

其中,所述获取的服务响应时间是所述计算服务的平均服务响应时间,

其中,所述获取步骤包括:获得所述计算服务在指定时间段内所完成的各个服务请求的开始时间和完成时间;基于所述各个服务请求的开始时间和完成时间,确定所述各个服务请求的服务响应时间;以及,计算所述各个服务请求的服务响应时间的平均值,作为所述获取的服务响应时间。

按照本发明实施例的一种用于云计算的装置,包括:获取模块,用于获取云计算的计算服务的服务响应时间;以及,缩放模块,用于基于所获取的服务响应时间和用于缩放所述计算服务使用的计算资源的规则,对所述计算服务使用的计算资源执行缩放处理。

其中,所述缩放模块包括:扩展模块,用于如果所述获取的服务响应时间大于所述规则所指示的用于扩展所述计算服务使用的计算资源的第一时间阈值,则扩展所述计算服务使用的计算资源;以及,收缩模块,用于如果所述获取的服务响应时间小于所述规则所指示的用于收缩所述计算服务使用的计算资源的第二时间阈值,则收缩所述计算服务使用的计算资源。

其中,所述获取的服务响应时间包括连续至少两次所获取的所述计算服务的服务响应时间。

其中,所述扩展模块进一步用于:如果所述获取的服务响应时间大于所述第一时间阈值且所述计算服务当前使用的计算资源未达到所述规则所指示的所述计算服务能够使用的计算资源的数量上限值,则扩展所述计算服务使用的计算资源,以及,所述收缩模块进一步用于:如果所述获取的服务响应时间小于所述第二时间阈值且所述计算服务当前使用的计算资源未达到所述规则所指示的所述计算服务能够使用的计算资源的数量下限值,则收缩所述计算服务使用的计算资源。

其中,所述获取的服务响应时间是所述计算服务的平均服务响应时间,其中,所述获取模块包括:获得模块,用于获得所述计算服务在指定时间段内所完成的各个服务请求的开始时间和完成时间;确定模块,用于基于所述各个服务请求的开始时间和完成时间来计算所述各个服务请求的服务响应时间;以及,计算模块,用于计算所述各个服务请求的服务响应时间的平均值作为所述获取的服务响应时间。

按照本发明实施例的一种用于云计算的设备,包括:存储器;以及,处理器,用于前述方法所包括的各个步骤。

按照本发明实施例的一种计算机程序产品,包括:机器可读介质,其上存储有可执行指令,当该可执行指令被执行时,使得机器执行前述方法所包括的各个步骤。

从以上的描述可以看出,本发明实施例的方案根据计算服务的服务响应时间来缩放计算服务使用的计算资源。由于与CPU和存储器的使用情况相比,计算服务的服务响应时间能够更直接和更准确地反映计算服务的工作负载状况,因此,本发明实施例的方案使得计算服务可用的计算资源能紧密地匹配计算服务的当前需求,从而,与现有技术相比,本发明实施例的方案能够提高云计算的快速弹性能力。

附图说明

本发明的其它特征、特点、优点和益处通过以下结合附图的详细描述将变得更加显而易见。

图1示出了按照本发明一个实施例的云计算系统的架构示意图。

图2示出了按照本发明一个实施例的用于云计算的方法的流程图。

图3示出了按照本发明一个实施例的用于云计算的装置的示意图。

图4示出了按照本发明一个实施例的用于云计算的设备的示意图。

具体实施方式

发明人经过大量的实验和研究发现,与CPU和存储器的使用情况相比,计算服务的服务响应时间能够更直接和更准确地反映计算服务的工作负载状况。

基于以上发现,在本发明的方案中,根据计算服务的服务响应时间来缩放计算服务使用的计算资源,使得计算服务可用的计算资源能紧密地匹配计算服务的当前需求,从而提高云计算的快速弹性能力。

这里,计算服务通常指用户拥有或管理的能够实现具体业务的基于计算机的应用和/或服务。计算资源通常指使得计算服务工作所需的虚拟和/或物理的资源,其通常包括用于运行计算服务的硬件资源和/或软件资源,例如但不局限于,CPU、CPU周期、存储器、存储设备、网络带宽、服务器、网络端口、操作系统实例、软件实例、应用实例、虚拟周边设备等。

下面,将参照附图详细描述本发明的各个实施例。

现在参见图1,其示出了按照本发明一个实施例的云计算系统的架构示意图。图1所示的云计算系统属于平台即服务(PaaS)类型的云计算。PaaS类型的云计算是云计算众多类型的其中一种,其提供计算平台和方案堆栈作为服务。

如图1所示,云计算系统10可以包括计算服务20、负载均衡器30、日志收集部分40、计算部分50、缩放部分60和配置部分70。

计算服务20用于向用户提供具体服务,其使用的计算资源是计算服务20的多个实例22、24、26。

负载均衡器30用于接收来自用户的针对计算服务20的服务请求Q,生成服务请求Q的日志信息I并且在日志信息I中记录服务请求Q的接收时间作为服务请求Q的开始时间,然后考虑实例22、24、26各自的负载状况将所接收的服务请求Q分发给实例22、24、26的其中一个实例F进行处理,接收实例F返回的针对服务请求Q的处理结果,将所接收的处理结果作为服务响应R发送给用户,在日志信息I中记录服务响应R的发送时间作为服务请求Q的完成时间,最后,将已经记录服务请求Q的开始时间和完成时间的日志信息I发送给日志收集部分40。

日志收集部分40用于接收和存储负载均衡器30发送的关于计算服务20的各个服务请求的日志信息。例如,可以在Hadoop分布式文件系统(HDFS)中存储这些日志信息。

计算部分50用于利用日志收集部分40所存储的关于计算服务20的服务请求的日志信息来确定计算服务20的服务响应时间。具体,计算部分50以周期的或非周期的时间间隔从日志收集部分40获取计算服务20在指定时间段内完成的各个服务请求T的日志信息,从所获取的日志信息中提取各个服务请求T的开始时间和完成时间,通过计算各个服务请求T的完成时间与开始时间之差作为各个服务请求T的服务响应时间,以及,计算各个服务请求T的服务响应时间的平均值作为计算服务20的服务响应时间并将其发送给缩放部分60。例如,计算部分50可以利用映射化简(Mapreduce)技术确定计算服务20的服务响应时间。

缩放部分60用于根据来自计算部分50的计算服务20的服务响应时间和用于缩放计算服务20使用的计算资源的规则,对计算服务20使用的计算资源执行缩放处理,其中,用于缩放计算服务20使用的计算资源的规则包括用于扩展计算服务20使用的计算资源的第一时间阈值TH1、用于收缩计算服务20使用的计算资源的第二时间阈值TH2、计算服务20能够使用的计算资源的数量上限值TH3和计算服务20能够使用的计算资源的数量下限值TH4。第一时间阈值TH1大于第二时间阈值TH2。

具体地,当从计算部分50接收到计算服务20的服务响应时间时,缩放部分60判断是否当前所接收的计算服务20的服务响应时间和上一次所接收 的计算服务20的服务响应时间都大于第一时间阈值TH1且计算服务20当前使用的计算资源未达到数量上限值TH3,以及,判断是否当前所接收的计算服务20的服务响应时间和上一次所接收的计算服务20的服务响应时间都小于第二时间阈值TH2且计算服务20当前使用的计算资源未达到数量下限值TH4。

如果判断结果表明当前所接收的计算服务20的服务响应时间和上一次所接收的计算服务20的服务响应时间都大于第一时间阈值TH1且计算服务20当前使用的计算资源未达到数量上限值TH3,则缩放部分60增加计算服务20的实例。

如果判断结果表明当前所接收的计算服务20的服务响应时间和上一次所接收的计算服务20的服务响应时间都小于第二时间阈值TH2且计算服务20当前使用的计算资源未达到数量下限值TH4,则缩放部分60减少计算服务20的实例。

配置部分70用于提供接口以使得用户可以配置(例如,创建、修改、删除等)用于缩放计算服务20使用的计算资源的规则。

其他变型

本领域技术人员应当理解,虽然在上面的实施例中,计算服务20使用的计算资源是计算服务20的实例并且对计算服务20使用的计算资源执行缩放处理是增加或减少计算服务20的实例,然而,本发明并不局限于此。在本发明的其它一些实施例中,计算服务20使用的计算资源也可以是除了计算服务20的实例之外的其它资源,例如但不局限于CPU、CPU周期、存储器、存储设备、网络带宽、服务器、网络端口、操作系统实例、虚拟周边设备等,以及,对计算服务20使用的计算资源执行缩放处理可以是扩展或收缩计算资源,其中,扩展计算资源包括但不局限于增加计算资源的数量、使用性能好的计算资源替代性能差的计算资源(例如使用高工作频率的CPU替代低工作频率的CPU、使用高读写速度的存储器替代低读写的存储器等)等,收缩计算资源包括但不局限于减少计算资源的数量、使用性能差的计算资源替代性能好的计算资源等。

本领域技术人员应当理解,虽然在上面的实施例中,在对计算服务20使用的计算资源执行缩放处理时需要考虑计算服务20当前使用的计算资源 与计算服务20能够使用的计算资源的数量上限值TH3和数量下限值TH4之间的关系,但是,本发明并不局限于此。在本发明的其它一些实施例中,在对计算服务20使用的计算资源执行缩放处理时可以不考虑计算服务20当前使用的计算资源与计算服务20能够使用的计算资源的数量上限值TH3和数量下限值TH4之间的关系,而是只考虑计算服务20的服务响应时间与用于扩展计算服务20使用的计算资源的第一时间阈值TH1和用于收缩计算服务20使用的计算资源的第二时间阈值TH2之间的关系。

本领域技术人员应当理解,虽然在上面的实施例中,当对计算服务20使用的计算资源进行扩展或收缩时,需要满足连续两次的计算服务20的服务响应时间(即当前接收的计算服务20的服务响应时间和上一次接收的计算服务20的服务响应时间)都大于第一时间阈值TH1或都小于第二时间阈值TH2,然而,本发明并不局限于此。在本发明的其它一些实施例中,当对计算服务20使用的计算资源进行扩展或收缩时,也可以只需满足仅一次的计算服务20的服务响应时间(即当前接收的计算服务20的服务响应时间)或连续至少三次的计算服务20的服务响应时间都大于第一时间阈值TH1或都小于第二时间阈值TH2。

本领域技术人员应当理解,虽然在上面的实施例中,计算服务20的服务响应时间是一个平均的服务响应时间,即计算服务20在指定时间段内完成的各个服务请求的服务响应时间的平均值,然而,本发明并不局限于此。在本发明的其它一些实施例中,例如,计算服务20的服务响应时间可以完成计算服务20的其中一个服务请求所需的服务响应时间,其中,该其中一个服务请求可以是已完成的计算服务20的众多服务请求中的一个或者是为了测试计算服务20的服务响应时间而特意提供的服务请求。

本领域技术人员应当理解,缩放部分60和计算部分50可以集成同一设备中或分别位于不同的设备中。

本领域技术人员应当理解,本发明不但适用于PaaS类型的云计算,而且也适用于其它类型的云计算,包括但不限于设施即服务(IaaS)类型的云计算、软件即服务(SaaS)类型的云计算等。

现在参见图2,其示出了按照本发明一个实施例的用于云计算的方法的流程图。图2所示的方法可以由计算机、服务器或控制设备等来执行。

如图2所示,在步骤S200,获取云计算的计算服务的服务响应时间。

在步骤S210,基于所获取的服务响应时间和用于缩放所述计算服务使用的计算资源的规则,对所述计算服务使用的计算资源执行缩放处理。

在一种实现方式中,执行缩放处理的步骤S210包括:

步骤S212,如果所述获取的服务响应时间大于所述规则所指示的用于扩展所述计算服务使用的计算资源的第一时间阈值,则扩展所述计算服务使用的计算资源;以及,步骤S214,如果所述获取的服务响应时间小于所述规则所指示的用于收缩所述计算服务使用的计算资源的第二时间阈值,则收缩所述计算服务使用的计算资源。

在一种实现方式中,所述获取的服务响应时间包括连续至少两次所获取的所述计算服务的服务响应时间。

在一种实现方式中,扩展步骤S212进一步包括:如果所述获取的服务响应时间大于所述第一时间阈值且所述计算服务当前使用的计算资源未达到所述规则所指示的所述计算服务能够使用的计算资源的数量上限值,则扩展所述计算服务使用的计算资源,以及,收缩步骤S214进一步包括:如果所述获取的服务响应时间小于所述第二时间阈值且所述计算服务当前使用的计算资源未达到所述规则所指示的所述计算服务能够使用的计算资源的数量下限值,则收缩所述计算服务使用的计算资源。

在一种实现方式中,所述获取的服务响应时间是所述计算服务的平均服务响应时间,其中,获取步骤S200包括:步骤S202,获得所述计算服务在指定时间段内所完成的各个服务请求的开始时间和完成时间;步骤S204,基于所述各个服务请求的开始时间和完成时间,确定所述各个服务请求的服务响应时间;以及,步骤S206,计算所述各个服务请求的服务响应时间的平均值,作为所述获取的服务响应时间。

现在参见图3,其示出了按照本发明一个实施例的用于云计算的装置的示意图。图3所示的装置可以利用软件、硬件(例如集成电路或DSP等)或软硬件结合的方式来实现。

图3所示,用于云计算的装置300可以包括获取模块320和缩放模块340。其中,获取模块320用于获取云计算的计算服务的服务响应时间,缩放模块340用于基于所获取的服务响应时间和用于缩放所述计算服务使用 的计算资源的规则,对所述计算服务使用的计算资源执行缩放处理。

在一种实现方式中,缩放模块340可以包括扩展模块344和收缩模块348。其中,扩展模块344用于如果所述获取的服务响应时间大于所述规则所指示的用于扩展所述计算服务使用的计算资源的第一时间阈值,则扩展所述计算服务使用的计算资源,以及,收缩模块348用于如果所述获取的服务响应时间小于所述规则所指示的用于收缩所述计算服务使用的计算资源的第二时间阈值,则收缩所述计算服务使用的计算资源。

在一种实现方式中,所述获取的服务响应时间包括连续至少两次所获取的所述计算服务的服务响应时间。

在一种实现方式中,扩展模块344进一步用于:如果所述获取的服务响应时间大于所述第一时间阈值且所述计算服务当前使用的计算资源未达到所述规则所指示的所述计算服务能够使用的计算资源的数量上限值,则扩展所述计算服务使用的计算资源,以及,收缩模块348进一步用于:如果所述获取的服务响应时间小于所述第二时间阈值且所述计算服务当前使用的计算资源未达到所述规则所指示的所述计算服务能够使用的计算资源的数量下限值,则收缩所述计算服务使用的计算资源。

在一种实现方式中,所述获取的服务响应时间是所述计算服务的平均服务响应时间,其中,获取模块320可以包括获得模块322、确定模块324和计算模块326。其中,获得模块322用于获得所述计算服务在指定时间段内所完成的各个服务请求的开始时间和完成时间,确定模块324用于基于所述各个服务请求的开始时间和完成时间来计算所述各个服务请求的服务响应时间,以及,计算模块326用于计算所述各个服务请求的服务响应时间的平均值作为所述获取的服务响应时间。

现在参见图4,其示出了按照本发明一个实施例的用于云计算的设备的示意图。如图4所示,用于云计算的设备400可以包括用于存储可执行指令的存储器410和与存储器410连接的处理器420,其中,处理器420可以执行图2所示的方法所包括的各个步骤。

本发明的实施例还提供一种种计算机程序产品,包括机器可读介质,其上存储有可执行指令,当该可执行指令被执行时,使得机器执行图2所示的 方法所包括的各个步骤。

本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1