云应用的弹性控制方法、装置和云服务器与流程

文档序号:14686479发布日期:2018-06-15 02:51阅读:173来源:国知局

本公开涉及云计算领域,具体地,涉及一种云应用的弹性控制方法、装置和云服务器。



背景技术:

近些年来,随着新技术、新需求的涌现,云应用的数量和复杂程度也在不断提升,这对云应用的可用性提出了更高的要求。云应用的弹性控制是指在云应用运行期间,通过动态增加或者减少支撑云应用的虚拟机实例个数。相关技术中是通过运行各应用的虚拟机的指标对云应用进行弹性控制,例如,监控集群内部虚拟机获知每一个虚拟机的性能指标,在需求高峰时,虚拟机性能指标不满足预设云应用的运行条件,弹性伸缩自动增加虚拟机实例的数量,而当需求较低时,则会减少虚拟机实例数量以降低成本。

然而,某个虚拟机的性能指标,并不能完全反映云应用的实际运行情况。例如,某个虚拟机的性能指标正常,而该云应用当前的运行状态可能已经存在异常。由此可见,相关技术对云应用的弹性控制不够精确。



技术实现要素:

本公开的目的是提供一种云应用的弹性控制方法、装置和云服务器,以解决相关技术中云应用弹性控制不够精确的问题。

为了实现上述目的,第一方面,本公开实施例提供一种云应用的弹性控制方法,包括:

获取云服务器上部署的云应用的运行指标;

根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制。

可选的,所述获取云服务器上部署的云应用的运行指标包括:

在所述云应用中植入监控探针,所述监控探针用于探查所述云应用的运行指标;

通过数据采集模块周期性从所述监控探针采集所述云应用的运行指标。

可选的,所述获取云服务器上部署的云应用的运行指标包括:

通过所述云服务器上配置的访问接口以及接入服务与另一云服务器建立通信连接;

根据所述通信连接获取所述另一云服务器上部署的云应用的运行指标。

可选的,所述方法还包括:

获取用户输入的数据管理指令;

根据所述数据管理指令对获取到的运行指标进行管理操作。

可选的,所述方法还包括:

获取用户输入的策略配置指令;

根据所述策略配置指令生成所述控制策略。

可选的,所述控制策略包括指标条件与弹性控制操作的对应关系,所述根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制,包括:

在所述运行指标满足所述指标条件时,执行所述指标条件对应的所述弹性控制操作。

第二方面,本公开实施例提供一种云应用的弹性控制装置,包括:

指标获取模块,用于获取云服务器上部署的云应用的运行指标;

弹性控制模块,用于根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制。

可选的,所述指标获取模块包括:

监控探针子模块,用于在所述云应用中植入监控探针,所述监控探针用于探查所述云应用的运行指标;

数据采集子模块,用于通过数据采集模块周期性从所述监控探针采集所述云应用的运行指标。

可选的,所述指标获取模块包括:

通信子模块,用于通过所述云服务器上配置的访问接口以及接入服务与另一云服务器建立通信连接;

获取子模块,用于根据所述通信连接获取所述另一云服务器上部署的云应用的运行指标。

可选的,所述装置还包括:

管理指令获取模块,用于获取用户输入的数据管理指令;

管理操作模块,用于根据所述数据管理指令对获取到的运行指标进行管理操作。

可选的,所述装置还包括:

策略指令获取模块,用于获取用户输入的策略配置指令;

策略生成模块,用于根据所述策略配置指令生成所述控制策略。

可选的,所述控制策略包括指标条件与弹性控制操作的对应关系,所述弹性控制模块,用于在所述运行指标满足所述指标条件时,执行所述指标条件对应的所述弹性控制操作。

第三方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述云应用的弹性控制方法的步骤。

第四方面,本公开实施例提供一种云服务器,包括:

所述的计算机可读存储介质;以及

一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。

采用上述技术方案,至少能够达到以下技术效果:

通过获取云服务器上部署的云应用的运行指标,并根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制,由于云应用的运行指标更能反应云应用的真实运行状态,因此,根据该运行指标并基于用户配置的控制策略能使云应用的弹性控制更加精确,也能使云应用的弹性控制更加灵活,更加符合用户的需求。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是本公开一示例性实施例示出的一种云应用的弹性控制方法流程图。

图2是本公开一示例性实施例示出的一种分布式应用示意图。

图3是本公开一示例性实施例示出的另一种云应用的弹性控制方法流程图。

图4是本公开一示例性实施例示出的一种云应用的弹性控制装置框图。

图5是本公开一示例性实施例示出的另一种云应用的弹性控制装置框图。

图6是本公开一示例性实施例示出的一种云服务器结构框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是本公开一示例性实施例示出的一种云应用的弹性控制方法流程图。如图1所示,该方法包括:

S11,获取云服务器上部署的云应用的运行指标。

其中,该云服务器可以包括多个虚拟机,每一虚拟机也可以运行有多个应用。

该运行指标可以包括应用的基础指标,例如应用的CPU使用百分率和/或应用的内存使用率;该运行指标也可以包括应用的业务指标,例如应用的性能指数;该运行指标还可以包括用户自定义的其他功能指标。示例地,步骤S11可以通过APM(Application Performance Management,应用性能管理)技术获得云应用的运行指标。

S12,根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制。

其中,弹性控制可以包括弹性伸缩,即通过增加或者减少虚拟机的方式扩充或减少云应用的运行资源,还可以包括弹性自愈,即对云应用进行自我重建。

可选的,所述控制策略包括指标条件与弹性控制操作的对应关系,所述根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制,包括:在所述运行指标满足所述指标条件时,执行所述指标条件对应的所述弹性控制操作。这样,每次在获取到一个或多个云应用的运行指标后,判断每一控制策略的指标条件是否已满足,若某一控制策略的指标条件已满足,则触发执行该控制策略对应的弹性伸缩或者弹性自愈操作。

示例地,用户配置的控制策略可以是多种云应用的运行指标的组合。例如以关联方式将不同应用的不同运行指标组合起来,如“应用1的CPU使用百分率>80%AND应用2的应用性能指数>0.8,执行弹性扩展”。还可以是以聚合的方式将不同应用的同种运行指标的组合,例如“应用3的CPU内存使用率+应用4的CPU内存使用率>160%,执行弹性自愈”。

采用上述技术方案,至少能够达到以下技术效果:

通过获取云服务器上部署的云应用的运行指标,并根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制,由于云应用的运行指标更能反应云应用的真实运行状态,因此,根据该运行指标并基于用户配置的控制策略能使云应用的弹性控制更加精确,也能使云应用的弹性控制更加灵活,更加符合用户的需求。

下面通过具体的实施场景对本公开提供的技术方案进行详细说明。如图2所示,图2示出了一个分布式应用示意图,其中,云服务器上部署了6个应用,分别是:应用1、应用2、应用3、应用4、应用5、应用6。在任务开始后,由应用1-6构成的集群共同作用完成外部应用的请求响应。

在本公开实施例的一种可能的实现方式中,上述步骤S11获取云服务器上部署的云应用的运行指标可以包括:在云应用中植入监控探针,所述监控探针用于探查所述云应用的运行指标,并通过数据采集模块周期性从所述监控探针采集所述云应用的运行指标。以图2所示的分布式应用为例,也就是说,可以在云服务器的分布式系统中植入用于监控云应用的监控探针,探查并发送云应用的基础指标、业务指标。其中,云服务器可以向用户提供监控探针的配置功能,使得监控探针可以根据实际需求灵活部署,满足用户需求。

此外,在完成一些云任务时,可能不仅需要本云服务器上部署的云应用共同作用完成,还需要依赖其他云服务器上的云应用协同作业。例如,如图2所示的应用A,其中,应用1-6运行在同一个云服务器,而应用A在另一个云服务器,针对应用A的访问请求,应用1-6构成的集群的有些请求需依赖应用A。在此种情况下,应用A的运行状况可能影响应用1-6的弹性控制,因此本公开实施例在获取云应用的运行指标时,还可以通过在云服务上配置的访问接口以及接入服务,与另一云服务器建立通信连接,以根据所述通信连接获取另一云服务器上部署的云应用的运行指标。该云服务器在接收到其他云服务器发送的请求时,也可以将自身监控得到的云应用指标发送给其他云服务器,使得对云应用的弹性控制更加灵活精确。

可选的,针对云服务器获取到的云应用的运行指标,还允许用户对其进行管理,例如,获取用户输入的数据管理指令,并根据所述数据管理指令对获取到的运行指标进行管理操作。例如该管理操作包括增加,删除或者更改的方式调整具体需要监测云应用的何种运行指标,还可以查询运行指标相关的数据,例如CPU占用率、性能指数等等。

本领域技术人员应该知悉,在具体实施时,除了获取云引用的运行指标,还可以获取虚拟机的各项运行指标,以将虚拟机的各项运行指标与应用的运行指标结合起来,综合评估云应用的运行状态,并配置相应的控制策略,对云应用进行更加合理完善的弹性控制。进一步地,具体的控制策略可以开放相应的接口允许用户根据实际需求配置,例如,如图3所示,本公开实施例提供的另一种云应用的弹性控制方法包括:

S31,获取用户输入的策略配置指令。

示例地,云服务器可以通过相应的配置界面,提醒用户如何配置控制策略,还可以展示每一应用之间的业务关联,提供给用户进行参考。

S32,根据所述策略配置指令生成控制策略。

S33,获取云服务器上部署的云应用的运行指标。

S34,根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制。

采用上述方法,用户可以自行配置云应用弹性控制的控制策略,这样,使云应用的弹性控制更加符合用户的需求,也提高了弹性控制的准确性。

值得说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。

图4是本公开一示例性实施例示出的一种云应用的弹性控制装置,包括:

指标获取模块410,用于获取云服务器上部署的云应用的运行指标;

弹性控制模块420,用于根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制。

采用上述技术方案,至少能够达到以下技术效果:

通过获取云服务器上部署的云应用的运行指标,并根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制,由于云应用的运行指标更能反应云应用的真实运行状态,因此,根据该运行指标并基于用户配置的控制策略能使云应用的弹性控制更加精确,也能使云应用的弹性控制更加灵活,更加符合用户的需求。

可选的,所述指标获取模块410包括:监控探针子模块,用于在所述云应用中植入监控探针,所述监控探针用于探查所述云应用的运行指标;数据采集子模块,用于通过数据采集模块周期性从所述监控探针采集所述云应用的运行指标。

也就是说,可以在云服务器的分布式系统中植入用于监控云应用的监控探针,探查并发送云应用的基础指标、业务指标。其中,云服务器可以向用户提供监控探针的配置功能,使得监控探针可以根据实际需求灵活部署,满足用户需求。

可选的,所述指标获取模块410包括:通信子模块,用于通过所述云服务器上配置的访问接口以及接入服务与另一云服务器建立通信连接;获取子模块,用于根据所述通信连接获取所述另一云服务器上部署的云应用的运行指标。

值得说明的是,在完成一些云任务时,可能不仅需要本云服务器上部署的云应用共同作用完成,还需要依赖其他云服务器上的云应用协同作业。本可选实施例在获取云应用的运行指标时,还可以通过在云服务上配置的访问接口以及接入服务,与另一云服务器建立通信连接,以根据所述通信连接获取另一云服务器上部署的云应用的运行指标。该云服务器在接收到其他云服务器发送的请求时,也可以将自身监控得到的云应用指标发送给其他云服务器,使得对云应用的弹性控制更加灵活精确。

可选的,所述装置还包括:管理指令获取模块,用于获取用户输入的数据管理指令;管理操作模块,用于根据所述数据管理指令对获取到的运行指标进行管理操作。

用户可以通过输入数据管理指令,以增加、删除或者更改的方式调整具体需要监测云应用的何种运行指标,还可以查询运行指标相关的数据,例如CPU占用率、性能指数等等。

可选的,所述装置还包括:策略指令获取模块,用于获取用户输入的策略配置指令;策略生成模块,用于根据所述策略配置指令生成所述控制策略。

这样,用户可以自行配置云应用弹性控制的控制策略,使云应用的弹性控制更加符合用户的需求,也提高了弹性控制的准确性。

可选的,所述控制策略包括指标条件与弹性控制操作的对应关系,所述弹性控制模块420,用于在所述运行指标满足所述指标条件时,执行所述指标条件对应的所述弹性控制操作。

也就是说,每次在获取到一个或多个云应用的运行指标后,判断每一控制策略的指标条件是否已满足,若某一控制策略的指标条件已满足,则触发执行该控制策略对应的弹性伸缩或者弹性自愈操作。

本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

例如,可以参考如图5所示的云应用的弹性控制装置,所述装置包括:数据采集引擎和弹性控制引擎;

所述数据采集引擎包括:监控探针模块,该监控探针模块包括一个或者多个监控探针,分别用于探查云应用的运行指标;数据采集模块,用于通过所述监控探针获取云服务器上部署的云应用的运行指标;数据管理模块,用于对获取到的运行指标进行管理操作;监控数据查询服务模块,用于向第三方系统提供监控数据访问接口和接入服务;

所述弹性控制引擎包括:数据导入模块,用于从所述数据采集引擎获取云应用的运行指标数据;指标策略模块,用于根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制。

具体的,所述弹性控制引擎可以包括,执行弹性伸缩控制的弹性伸缩模块,以及执行弹性自愈控制的弹性自愈模块。

采用上述技术方案,至少能够达到以下技术效果:

通过获取云服务器上部署的云应用的运行指标,并根据所述运行指标基于用户配置的控制策略对所述云应用进行弹性控制,由于云应用的运行指标更能反应云应用的真实运行状态,因此,根据该运行指标并基于用户配置的控制策略能使云应用的弹性控制更加精确,也能使云应用的弹性控制更加灵活,更加符合用户的需求。

本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述云应用的弹性控制方法的步骤。

本公开实施例还提供一种云服务器,包括:所述的计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。

图6是根据一示例性实施例示出的一种云服务器600的框图。参照图6,云服务器600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理组件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述云应用的弹性控制方法。

云服务器600还可以包括一个电源组件626被配置为执行云服务器600的电源管理,一个有线或无线网络接口650被配置为将云服务器600连接到网络,和一个输入输出(I/O)接口658。云服务器600可以操作基于存储在存储器632的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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