用于部署在平台上的应用程序的应用程序弹性系统及其方法与流程

文档序号:17733544发布日期:2019-05-22 03:01阅读:227来源:国知局
用于部署在平台上的应用程序的应用程序弹性系统及其方法与流程

本发明总体上涉及用于部署在平台即服务(platform-as-a-service,paas)云上的应用程序的应用程序弹性框架和方法,特别但非排他地涉及paas云中的应用程序弹性框架及其方法。



背景技术:

随着更多的组织采用云计算用于在外包基础设施上研发和部署应用程序,出现了新的一组功能和挑战。虽然云计算看起来承诺弹性容量和按比例调整,但是云平台上的某些现存架构局限性限制了应用程序到云的无缝转换(例如,不同平台即服务(platform-as-a-service,paas)云的栈中的状态管理和容错性)。

正如通常已知的,应用程序弹性是应用程序的能力,该能力对应用程序的部件的其中一个部件中的问题作出反应并且仍然提供尽可能好的服务。随着组织持续快速地实现跨多层和跨多个技术基础设施的软件,弹性已经变得越来越重要。众所周知,复杂的多个技术环境具有更高程度的故障和安全问题。

应用程序弹性是一个使用非常广泛的术语,其包含:容错性(faulttolerance,ft)、高可用性(highavailability,ha)、容灾(disasterrecovery,dr)、以及其它计划和计划外的的中断。多个数据中心部署的主要特征为容量、时延、性能、弹性、dr、热插拔能力、重选路由请求、数据同步、联盟身份和规则顺从,其中弹性是客户的应用程序和数据可用性成为主要焦点的主要成分。

尽管提供商采用了诸多技术来制成平台上的应用程序弹性,但是不存在描述云中的应用程序弹性的含义的标准框架。众所周知,按照他们自己的云设计分裂了云社区,因此对于云应用程序中断时应当如何行为,并没有应用程序开发人员和测试人员遵循的标准。这对于客户而言也是真实的,他们并不知道应用程序弹性涉及什么。现有技术文献公开了一些发表的关于云服务和其它平台的调研论文中的框架,但这些论文并没有解决包含所有涉及的当事人的paas云中的应用程序弹性的普遍问题。

为了汇总用于应用程序的应用程序弹性领域所涉及的技术问题,用于应用程序的应用程序弹性主要面对的技术问题的其中之一在于,由于应用程序弹性对于所有云应用程序而言是强制性的,因此对于每个或每一云,提供商实施的部署和机制在性质上变化很大。不存在描述云中的应用程序弹性的含义和如何实施应用程序弹性的标准框架。此外,尽管很少发生云中断,但是按照他们自身的中断操作的设计分裂了云社区。因此,对于云应用程序在中断时应当如何行为,并没有应用程序开发人员和测试人员遵循的标准。此中断场景非常麻烦,任何人都可能要求应用程序弹性但没有真正遵循任何标准。

因此,急需开发一种标准框架,这将有助于所有涉及的当事人遵守该标准框架并且遵循约束条件,从而制成云中的应用程序弹性。由此,具有一个处理应用程序弹性的云框架将非常有益。



技术实现要素:

提供此发明内容以引入与用于应用程序的应用程序弹性框架及其方法相关的概念,且下文进一步具体描述所述概念。此发明内容并不意图识别所要求的主题的本质特征,也并不意图用于确定或限制所要求的主题的范围。

本发明的主要目的在于通过为paas云中的应用程序弹性提供框架来解决如上文所列的技术问题。

一方面,本发明为对ft、ha、dr及类似问题具有弹性的云应用程序提供部署模型、机制和过程。

另一方面,本发明为paas云中的应用程序弹性提供框架及其方法。针对paas云中的应用程序弹性,所述框架和所述方法利用基于用户可定制模板的方法、用于实施策略框架的工作引擎、自学习框架机制和用户报警和通知机制。

相应地,在一个实施方案中,公开了一种用于至少一应用程序的应用程序弹性系统。所述应用程序弹性系统包括监控引擎、分析模块、自学习模块和通知模块。所述监控引擎用于:监控所述应用程序并捕获与所述应用程序相关联的数据。所述分析模块用于:分析所述监控引擎捕获的数据,以将从所述捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联;执行与所述事件相关联的所述动作,其中所述动作至少在所述预先存储的模板中被指定;进而识别所述应用程序的至少一个状态。所述自学习模块耦合至所述分析模块并且用于:至少提取所述捕获的数据、从所述捕获的数据中检索出的所述事件、与所述检索出的事件相关联的所述动作和所述分析模块执行的所述动作,并且存储于至少一存储库中。所述通知模块具有至少一个存储至少一个值的通知模板并且用于通知至少所述应用程序的所述状态。

在一个实施方案中,公开了一种用于至少一应用程序的应用程序弹性系统。所述应用程序弹性系统包括引擎,其用于:通过监控所述应用程序分析捕获的数据,以将从所述捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联;执行与所述事件相关联的所述动作,其中所述动作至少在所述预先存储的模板中被指定;进而识别所述应用程序的至少一个状态。

在一个实施方案中,公开了一种用于至少一应用程序的应用程序弹性系统。所述应用程序弹性系统包括引擎,其用于:通过监控所述应用程序分析捕获的数据,以将从所述捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联,其中所述预先存储的模板为可定制的;执行与所述事件相关联的所述动作,其中所述动作至少在所述预先存储的模板中被指定;进而识别所述应用程序的至少一个状态。所述应用程序弹性框架还包括自学习模块,耦合至所述引擎并且用于:至少提取所述捕获的数据、从所述捕获的数据中检索出的所述事件、与所述检索出的事件相关联的所述动作和分析模块执行的所述动作,并且存储于至少一存储库中。

在一个实施方案中,公开了一种用于至少一应用程序的应用程序弹性方法。所述应用程序弹性方法包括:使用至少一监控手段监控所述应用程序进而捕获与所述应用程序相关联的数据;分析所述捕获的数据以将从所述捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联;执行与所述事件相关联的所述动作,其中所述预先存储的模板中指定了所述动作;识别所述应用程序的至少一状态;至少提取所述捕获的数据、从所述捕获的数据中检索出的所述事件、与所述检索出的事件相关联的所述动作和分析模块执行的所述动作,并且存储于至少一存储库中;以及基于至少一个存储至少一个值的通知模板通知至少所述应用程序的所述状态。

在一个实施方案中,公开了一种用于至少一应用程序的应用程序弹性方法。所述应用程序弹性方法包括:通过监控所述应用程序分析捕获的数据,以将从所述捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联;执行与所述事件相关联的所述动作,其中所述动作至少在所述预先存储的模板中被指定;进而识别所述应用程序的至少一状态。

在一个实施方案中,公开了一种用于至少一应用程序的应用程序弹性方法。所述应用程序弹性方法包括:通过监控所述应用程序分析捕获的数据,以将从所述捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联,其中所述预先存储的模板为可定制的;执行与所述事件相关联的所述动作,其中所述动作至少在所述预先存储的模板中被指定;进而识别所述应用程序的至少一状态;以及至少提取所述捕获的数据、从所述捕获的数据中检索出的所述事件、与所述检索出的事件相关联的所述动作和分析模块执行的所述动作,并且存储于至少一存储库中。

与现有技术、可用的系统、机制或框架相比,若存在,本发明提供:一种paas云中的应用程序弹性框架,所述框架利用基于用户可定制模板的方法,所述用户可定制模板的方法识别针对具有这些任务的应用程序出现的事件和将所述事件指派给所述模板中的所述特定动作;用于实施策略框架的工作引擎,用以验证所述应用程序状态和用以包括针对所述验证的应用程序状态的所述合适的动作;自学习框架机制,用于储存与所述任务相关联的相关信息并在类似情况发生时再利用所述与所述任务相关联的相关信息;以及用户报警和通知机制,用以向用户通知和报警故障情况下的弹性和应用程序状态。

附图说明

结合附图进行详细描述。在附图中,参考标号最左边的数字表示所述参考标号首次出现的附图。所有附图使用相同标号指代相同特征和相同部件。

图1示出根据本主题的实施例的paas云中的应用程序弹性框架。

图2示出根据本主题的实施例的用户可定制和人/机可读,其中图2(a)示出默认模板,图2(b)示出定制模板。

图3示出根据本主题的实施例的一种用于实施策略框架的引擎的框图。

图4示出根据本主题的实施例的自学习框架机制和自学习的流程图。

图5示出根据本主题的实施例的用户报警和通知机制。

图6示出根据本主题的实施例的一种用于部署在paas中的至少一应用程序的应用程序弹性框架。

图7示出根据本主题的实施例的一种用于至少一应用程序的应用程序弹性系统。

图8示出根据本主题的实施例的一种用于至少一应用程序的应用程序弹性方法。

应理解,附图用于说明本发明的概念,且可能未按比例绘制。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明可以有多种方式实现,包括实现为过程、装置、系统、物质组成、计算机可读介质例如计算机可读存储介质,或者其中程序指令经由光学或电子通信链路发送的计算机网络。在本说明书中,这些实施方式或者本发明可以采取的任何其它形式可以称为技术。一般情况下,所公开过程的步骤顺序可以在本发明的范围内进行更改。

下面提供了本发明的一个或多个实施例的详细描述以及说明本发明原理的附图。本发明是结合这些实施例进行描述,但是本发明不限于任何实施例。为了提供对本发明的透彻理解,下文描述中阐述了许多具体细节。提供这些细节用于举例,本发明可以根据权利要求书实现,不需要部分或者所有这些具体细节。为了清楚描述,没有对与本发明相关技术领域中已知的技术材料进行详细描述,从而避免对本发明造成不必要地模糊。

公开了一种paas云中的应用程序弹性系统。

虽然描述了针对paas云中的应用程序弹性框架的各个方面,但是本发明可以实施于任何数目的不同的计算系统、环境和/或配置中。以下描述了示范性系统、装置和方法的实施例。

在一个实施方案中,本发明提供了一种paas云中的应用程序弹性系统。

参见图1,示出根据本主题的实施例的一种paas云中的应用程序弹性框架/系统。图1中虚线内所示的方框为本发明的主要部件。本领域技术人员可以理解,除虚线表示的部件之外其它部件可以是现有技术中已经熟知的部件/构件或者可以与本发明不相关。因此,说明书未包含上述部件的细节,从而避免混淆和使对本发明的本质方面的理解复杂化。为了理解本发明的新部件和/或构件,还提供了一个流程,如图1所示的部分已知的构件或部件为服务水平协议(servicelevelagreement,sla)层、监控引擎、应用程序栈和paas云层。sla使能提供用于描述服务提供商提供的服务保证的常用文件格式。sla可以包括各种接口,例如但不限于图形用户界面(graphicaluserinterface,gui)、命令行接口(commandlineinterface,cmd)和应用程序软件编程接口(applicationprogramminginterface,api)。图形用户界面是展示产品特征/使用的屏幕。api提供一种连接多个应用程序的方式。此外,所有云提供商将具有监控引擎用以检测所述使用的当前状态。应用程序栈使得各种应用程序能够在云平台上运行。整个paas层位于包含中间件栈的基础设施即服务(iaas)上。下文论述了本发明的重要的和本质的方面或特征。

图1中的虚线中所示的第一部件可以是默认模板和定制模板。这些模板可以使用任意现有机制,如标记,来捕获应用程序弹性所需的基本元素。随后,这些模板在模板中添加合适的元素,以处理如dr、ha、ft和应用程序切换等问题或修正任何其它种类的错误和相关联的动作。本领域技术人员可以理解,常规技术/机制中没有尝试使用具有要执行的特定动作的模板来定义云弹性。此外,使用模板来定义云弹性可以非常简单但可能不容易实现。通过与引擎相连接,本执行模型(使用默认模板和定制模板)将基于客户输入产生结果。在几乎所有场景中,弹性都是由提供商控制,因此应用程序开发人员无法自己定义云中弹性。

图1中的虚线中所示的第二部件可以是进行验证和执行的引擎。基于模板数据,该验证引擎可以捕获待验证的标准并且将信息传递给执行引擎。该执行可确保按照这些模板中所述来实施或执行动作。本领域技术人员可以理解,开发人员完全控制动作或应用程序。应用程序所有者更好地了解如何使应用程序更好地工作。该部件允许云提供商在iaas层中实现弹性,当然,该部件在paas层中一样有用。

图1中的虚线中所示的第三部件可以是自学习机制。自学习机制可以从引擎中捕获所有相关信息,并且按需要/按规定处理这些相关信息,然后将其存储于数据库中。该方法可以用于将来的知识生成。

图1中的虚线中所示的第四部件可以是通知层。在一个实施方案中,尽管在大部分应用程序栈中,通知非常常见在通知过程中,可使用特定模板捕获所有相关信息并且以规定的方式公布。本领域技术人员可以理解,通知层可以使用现有的或者任意新的通知机制来根据本发明的工作方式将通知显示给用户。

参见图2,示出根据本主题的实施例的用户可定制和人/机可读,其中图2(a)示出默认模板,图2(b)示出定制模板。在一个实施方案中,图2示出可用于本发明中的模板的图形表示。本领域技术人员可以理解,这些模板为可定制模板并且可以基于用户的要求或基于应用程序的要求进行更新、修改或改变。图2示出一些默认值且这些值仅用于示范目的。该模板中能够呈现所有相关的应用程序状态且能够描述相关联的动作以供处理。

在一个实施方案中,本发明包括以特定的已知或未知语言编写的而不是以标准的“仍是一种标记语言”(yetanothermarkuplanguage,yaml)编写的特定文件,并且该文件可以注入引擎。如图2所示,存在两个处理paas弹性的整个操作流程的模板。

在一个实施方案中,图2(a)示出默认模板,其可以具有标准元标记,用以捕获动作。例如,该图示出其中少数,如开始、停止/暂停和重启等。在一个实施方案中,若应用程序用于容错或维护应用程序弹性,默认模板可定义所需的最小运行情况。每个应用程序可具有描述应用程序弹性的基本情况的默认yaml文件。应用程序可遵循这些将在paas中被称作应用程序弹性的基本动作。此类动作可以存储于默认模板中。

例如,如果系统出于某个(可能是任何种类的)原因出现暂停,可基于默认模板识别应对系统上采取什么动作。应用程序的开发人员可清楚地指出重启的具体类型,其可具有一些标记或具有一些输入参数等等,从而减轻该问题。这一点在本质上非常独特且为本领域技术人员所熟知。相关的云提供商或运营商或任意其它类型的当事人能够利用此独特的方式解除程序的‘暂停’状态。在一个实施方案中,如果产生了此种类型的应用程序,其能够在模板中被唯一捕获并且可以在应用程序开发人员之间共享,从而以良好的状态实施本发明。

如图2(b)所示,示出定制模板。考虑到可能会存在若干种类型的应用程序和若干种处理故障情况的方式,此模板将向应用程序配置文件添加额外的标记,从而添加动作。这些额外的元素可以用于特定于应用程序的操作。除默认动作之外,可从定制模板中调用特定于应用程序的执行。一些特定于应用程序的动作可存在于定制模板中,这些特定于应用程序的动作可以包含但不限于与qos、防火墙相关的动作等等。

参见图3,示出根据本主题的实施例的一种用于实施策略框架的引擎。在一个实施方案中,图3示出可包含执行和验证引擎的策略引擎的逻辑表示。

在一个实施方案中,图3示出引擎的功能可以具有独立的验证部分和执行部分或者可以具有执行这些功能的单个方框。验证引擎可以分析来自监控引擎的数据并将其与模板相关联。监控引擎可以是任何用于监控应用程序的工作并且捕获与应用程序的工作相关联的数据的现有技术。其后,可将相关执行动作传递到执行引擎以被执行。执行完成之后,可以根据是否需要再次运行验证引擎以检查应用程序的状态。

执行引擎可具体用于运行或执行图2的模板提及的特定任务。这些任务能够非常特定地针对应用程序部署场景。因此,执行引擎可能性质上非常广但却特定于任务执行。提供商部署机制可直接与执行引擎相关联。

在一个实施方案中,应用程序监控可以是默认监控手段,其在标准应用框架下可用。可以理解的是,监控引擎可以在任何时间点向验证引擎提供应用状态。

如图3所示,使用当前可能可用的各种方法完成应用程序监控。本领域技术人员可以理解,应用程序监控手段可以是任何可用的可以用于监控应用程序的活动的软件手段或方法。一旦监控软件将数据传递给验证引擎,其可以确定针对客户应用程序的下一动作。可能执行的动作可以是图2的模板中存在的动作之一。

在一个实施方案中,如图3所示,验证引擎可执行两个主要任务。其分析来自监控引擎的数据集并推导出待采取的动作。其可进一步从模板识别待采取的动作并将其信息传递给执行引擎。在执行运行之后,其识别应用程序的状态,该应用程序的状态应该处于良好状态,并且从而将信息传递给通知层以供上游通信。

在一个实施方案中,如图3所示,执行引擎为将应用程序返回到弹性模式的主要角色。该动作必须在paas域中执行并确保应用程序开始起到预期的作用。

在一个实施方案中,如图3所示,可以为用户提供用于调节引擎的界面或者应用软件编程接口(applicationprograminterface,api)。api可用于创建其自身的自定义的定制模板,创建监控功能,建立验证功能,以及创建执行引擎动作。

参见图4,示出根据本主题的实施例的自学习框架机制和自学习的流程图。在一个实施方案中,自学习捕获可用的信息的丰富资源并将其处理以供将来使用。采取的动作与模板数据之间的关系可以是相关的且对应的信息将被存储于数据库或特定数据库中,例如可使用知识管理(knowledgemanagement,km)数据库。km数据库可示出根据应用程序执行的任务和其发生的时间线。对于任何所需时间范围,都可容易地从其中检测到应用程序的弹性。云提供商可以使用此信息来识别应用程序的状态和与其相关联的问题。开发人员之间可以共享上述信息以检测他们的应用程序的成效。清楚的时间线和在其上采取的特定于应用程序的动作可以给出完整的图像,如何重新设置或重新设计应用程序以避免将来潜在的问题。

在一个实施方案中,自学习过程可以基于在km存储器中执行的分析与验证引擎的检测有用数据集的能力的组合。知识管理(knowledgemanagement,km)存储器可捕获框架中进行的所有验证和执行。验证引擎能够使用映射归约类技术来识别先前数据集,从而按需解决现有问题。

在一个实施方案中,自学习的流程图可以具有以下步骤:

在步骤1中,捕获与特定应用程序相关联的数据或从图3的引擎中检索出与特定应用程序相关联的数据。

在步骤2中,通过数据提取来过滤特定于弹性的数据集。

在步骤3中,从数据集中提取过程模板和km信息逻辑,并将其存储于km存储器中。

在步骤4中,执行和验证可操作数据集以提取弹性应用程序的状态。

在步骤5中,将该可操作数据集存储于km存储器中。

在步骤6中,将来自km存储器的所需数据报告给用户。

参见图5,示出根据本主题的实施例的用户报警和通知机制。可存在若干机制用以通过各种渠道告知客户云中断和其它应用程序影响程度。然而,客户可要求一个标准模型用以获取应用程序的状态并且可将其与业界设置的预期相比较。因此,根据本发明和如图5所示,即使通知层可保持与应用程序提供的默认通知层相同,此处使用标准模板驱动的方法,其具有唯一值。该通知格式给出了针对所有类型的应用程序,应用程序错误以及如何将其全面恢复的的标准说明。可以使用任意第三方解决方案自动处理该信息。

在一个实施方案中,如图5所示,可提供应用程序先前的状态、执行的应用程序动作、应用程序的当前状态作为通知机制的输入。如图5所示,通知机制可使用现有第三方监控系统中的任何一个来向用户报告和报警应用程序的状态。此外,图5示出专门用于本发明的可以推导出通知用户所述应用程序的状态的特定模板。

参见图6,示出根据本主题的实施例的一种用于部署在paas中的至少一应用程序的应用程序弹性系统。在一个实施方案中,公开系统600,具体地但非排他地,公开具有部署的应用程序602的平台即服务(platform-as-a-service,paas)云。如图6所示,系统600包括监控引擎604、应用程序弹性框架606和通知模块612。应用程序弹性框架600包括分析模块608和自学习模块610。监控引擎604用于:监控应用程序602和捕获与应用程序602相关联的数据。分析模块608用于:分析监控引擎捕获的数据,以将从所述捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联;执行与事件相关联的动作,其中预先存储的模板中至少指定了该动作;进而识别应用程序的至少一状态。自学习模块610耦合至分析模块并且用于:至少提取捕获的数据、从捕获的数据中检索出的事件、与检索出的事件相关联的动作和分析模块执行的动作,并且存储于至少一存储库中。通知模块612具有至少一个存储至少一个值的通知模板并且用于通知至少应用程序的状态。

在一个实施方案中,预先存储的模板为默认模板和/或定制模板中的至少一个,默认模板包括针对应用程序的至少一个事件和待执行的与事件相关联的动作,并且定制模板包括针对特定应用程序的至少一个事件和待执行的与事件相关联的动作。

在一个实施方案中,默认模板包括至少一个文件,优选地为yaml文件,其描述了事件和待采取的与事件相关联的用于应用程序弹性的所述动作。

在一个实施方案中,默认模板包括至少一个标准元标记,用以捕获与应用程序相关联的动作。

在一个实施方案中,预先存储的模板为可定制的并且包括待执行的用于应用程序弹性的动作。

在一个实施方案中,分析模块用于:如果所述应用程序发生了类似事件,使用至少一数据关联技术,优选地为映射归约技术,提取存储于存储库中的数据。

在一个实施方案中,自学习机制用于:至少提取捕获的数据、从捕获的数据中检索出的事件、与检索出的事件相关联的动作和分析模块执行的动作,通过提取为事件采取的动作的至少一关系过滤捕获的数据,其中该关系存储于存储库中。

在一个实施方案中,存储库以每个应用程序执行的动作以及动作的关联时间的形式存储数据。

在一个实施方案中,至少基于先前状态、表示执行的动作的中间状态、当前状态或其任何组合显示状态。

在一个实施方案中,使用至少一第三方解决方案自动处理所述通知。

在一个实施方案中,应用程序部署在云平台上,优选地部署在平台即服务(platform-as-a-service,paas)云上。

在一个实施方案中,公开了一种用于至少一应用程序602的应用程序弹性框架606。应用程序弹性框架606包括引擎608,其用于:通过监控应用程序分析捕获的数据,以将从捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联;执行与事件相关联的动作,其中预先存储的模板中至少指定了该动作;进而识别应用程序的至少一状态。

在一个实施方案中,使用至少一应用程序监控手段监控应用程序。

在一个实施方案中,预先存储的模板为默认模板和/或定制模板中的至少一个,默认模板包括针对应用程序的至少一个事件和待执行的与事件相关联的动作,并且定制模板包括针对特定应用程序的至少一个事件和待执行的与事件相关联的动作。

在一个实施方案中,默认模板包括至少一个文件,优选地为yaml文件,其描述了事件和待采取的与事件相关联的用于应用程序弹性的动作。

在一个实施方案中,默认模板包括至少一个标准元标记,用以捕获与应用程序相关联的动作。

在一个实施方案中,预先存储的模板为可定制的并且包括待执行的用于应用程序弹性的动作。

在一个实施方案中,引擎用于:如果所述应用程序发生了类似事件的,使用至少一数据关联技术,优选地为映射归约技术,提取存储于存储库中的数据。

在一个实施方案中,该框架还包括:自学习模块,其耦合至引擎并且用于:至少提取捕获的数据、从捕获的数据中检索出的事件、与所述检索出的事件相关联的动作和引擎执行的动作,并且存储于至少一个存储库中;以及通知模块,通知模块具有至少一个存储至少一个值的通知模板并且用于通知至少应用程序的状态。

在一个实施方案中,至少基于先前状态、表示执行的动作的中间状态、当前状态或其任何组合识别状态。

在一个实施方案中,使用至少一第三方解决方案自动处理所述通知。

在一个实施方案中,应用程序部署在云平台上,优选地部署在平台即服务(platform-as-a-service,paas)云上。

在一个实施方案中,公开了一种用于至少一应用程序602的应用程序弹性框架606。应用弹性框架606包括引擎608,其用于:通过监控应用程序分析捕获的数据,以将从捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联,其中预先存储的模板为可定制的;执行与事件相关联的动作,其中预先存储的模板中至少指定了该动作;进而识别应用程序的至少一状态。应用弹性框架还包括自学习模块610,其耦合至引擎并且用于:至少提取捕获的数据、从捕获的数据中中检索出的事件、与检索出的事件相关联的动作和分析模块执行的动作,并且存储于至少一存储库中。

在一个实施方案中,应用程序弹性框架606还包括通知模块,其具有至少一个存储至少一个值的通知模板并且用于通知至少应用程序的状态。

在一个实施方案中,至少基于先前状态、表示执行的动作的中间状态、当前状态或其任何组合通知识别的状态。

在一个实施方案中,使用至少一第三方解决方案自动处理所述通知。

在一个实施方案中,应用程序部署在云平台上,优选地部署在平台即服务(platform-as-a-service,paas)云上。

参见图7,示出根据本主题的实施例的一种用于至少一应用程序的应用程序弹性系统。在一个实施方案中,用于至少一应用程序602的应用程序弹性系统700包括处理器702和存储器706,其耦合至处理器以用于执行存储于该存储器706中的多个模块。

尽管本发明主题是认为本发明被实施为应用程序弹性系统700来解释的,但可理解应用程序弹性系统700也可在多种计算系统中实施,例如在膝上型计算机、桌上型计算机、笔记本电脑、工作站、主机计算机、服务器、网络服务器等等中实施。将理解,多个用户、或存在于应用程序弹性系统700上的应用程序可以访问应用程序弹性系统700。应用程序弹性系统700的实例可包含但不限于便携式计算机、个人数字助理、手持设备、传感器、路由器、网关和工作站。应用程序弹性系统700通信耦合到其它设备或节点或装置,从而形成网络(未图示)。

在一个实施方案中,网络(未图示)可为无线网络、有线网络或其组合。网络可被实施为不同类型网络的其中之一,如gsm、cdma、lte、umts、企业内部网、局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)、因特网等等。网络可为专用网络或共享网络。共享网络表示使用多种协议来与彼此通信的不同类型的网络的关联,协议例如,超文本传输协议(hypertexttransferprotocol,http)、传输控制协议/因特网协议(transmissioncontrolprotocol/internetprotocol,tcp/ip)、无线应用程序协议(wirelessapplicationprotocol,wap)等等。此外,网络可以包含多种网络设备,包含路由器、网桥、服务器、计算设备、存储设备等等。

根据本主题的实施例所示的应用程序弹性系统700可以包括至少一个处理器702、接口704和存储器706。至少一个处理器302可以实施为一个或多个微处理器、微计算机、微控制器、数字信号处理器、中央处理器、状态机、逻辑电路和/或基于操作指令来操控信号的任何设备。除其它能力之外,至少一个处理器702用于提取并执行存储在存储器706中的计算机可读指令或模块。

接口704(i/o接口)可以包含多种软件和硬件接口,例如,网站界面、图形用户界面等等。i/o接口704可允许应用程序弹性系统700直接与用户交互。此外,i/o接口704可使系统300能够与其它设备或节点、计算设备通信,计算设备例如网络服务器和外部数据服务器(未示出)。i/o接口704能够促进在广泛多种网络和协议类型内的多种通信,该网络和协议类型包含:有线网络,例如gsm、cdma、lan、电缆等;和无线网络,例如wlan、蜂窝式网络或卫星。i/o接口704可以包含用于将多个设备连接到彼此或连接到另一服务器的一个或多个端口。i/o接口704可以通过为接口704提供的屏幕提供用户和应用程序弹性系统700之间的交互。

存储器706可以包含所属领域中已知的任何计算机可读媒体,包含例如:易失性存储器,例如静态随机存取存储器(staticrandomaccessmemory,sram)和动态随机存取存储器(dynamicrandomaccessmemory,dram);和/或非易失性存储器,例如只读存储器(readonlymemory,rom)、可擦除可编程rom、闪存、硬盘、光盘以及磁带。{0>存储器706可以包含多个指令或模块或应用程序以执行各种功能。存储器706包含例程、程序、对象、构件、数据结构等,其执行特定任务或实施特定抽象数据类型。

在一个实施方案中,多个模块可以包含但不限于监控引擎604、分析模块608、自学习模块610和通知模块612。

图8示出根据本主题的实施例的一种用于至少一应用的应用程序弹性方法。可在计算机可执行指令的总体上下文中描述该方法。通常,计算机可执行指令可以包含例程、程序、对象、部件、数据结构、过程、模块、功能等,上述各项执行特定功能或实施特定的抽象数据类型。{0>该方法还可在分布式计算环境中实践,其中由通过通信网络连接的远程处理设备执行功能。在分布式计算环境中,计算机可执行指令可位于包含存储器存储设备的本地和远程计算机存储媒体两者中。

描述方法所按的次序并不意图解释为限制,且任何数目的所描述方法块可以按任何次序组合以实施方法或替代方法。{0>此外,可在不脱离本文描述的主题的保护范围的情况下从所述方法中删除单个方框。此外,所述方法可以在任何合适的硬件、软件、固件或其组合中实施。{0>然而,为便于解释,在下文描述的实施例中,方法可被视为在上述系统600和/或系统700中实施。

在方框802处,使用至少一监控手段监控应用程序进而捕获到与应用程序相关的数据。

在方框804处,分析捕获的数据以将从捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联。在一个实施方案中,预先存储的模板为默认模板和/或定制模板中的至少一个,默认模板包括针对应用程序的至少一个事件和待执行的与事件相关联的动作,并且定制模板包括针对特定应用程序的至少一个事件和待执行的与事件相关联的动作。默认模板可包括至少一个文件,优选地为yaml文件,其描述了事件和待采取的与事件相关联的用于应用程序弹性的动作。默认模板可包括至少一个标准元标记,用以捕获与应用程序相关联的动作。预先存储的模板为可定制的并且包括待执行的用于应用程序弹性的动作。

在方框806处,执行预先存储的模板中指定的与事件相关联的动作。

在方框808处,识别应用程序的至少一状态。

在方框810处,至少提取捕获的数据、从捕获的数据中检索出的事件、与检索出的事件相关联的动作和分析模块执行的动作,并且存储于至少一存储库中。在一个实施方案中,如果所述应用程序发生了类似事件,可使用至少一数据关联技术,优选地为映射归约技术,实现提取存储于存储库中的数据。在一个实施方案中,通过检索针对事件采取的动作的关系过滤提取的数据,该关系存储于存储库中。以每个应用程序执行的动作以及动作的关联时间的形式存储数据。

基于至少一个存储至少一个值的通知模板通知至少应用程序的状态。在一个实施方案中,至少基于先前状态、表示执行的动作的中间状态、当前状态或其任何组合显示状态。可以使用至少一第三方解决方案自动处理通知。

在一个实施方案中,公开了一种用于至少一应用的应用程序弹性方法。该应用程序弹性方法包括:通过监控应用程序分析捕获的数据,以将从捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联;执行与事件相关联的动作,其中预先存储的模板中至少指定了动作;进而识别应用程序的至少一状态。

在一个实施方案中,公开了一种用于至少一应用程序的应用程序弹性方法。该应用程序弹性方法包括:通过监控应用程序分析捕获的数据,以将从捕获的数据中检索出的至少一事件与至少一个预先存储的模板中的至少一个动作相关联;执行与事件相关联的动作,其中预先存储的模板中指定了动作;进而识别应用程序的至少一状态;以及至少提取捕获的数据、从捕获的数据中检索出的事件、与检索出的事件相关联的动作和分析模块执行的动作,并且存储于至少一存储库中。

除上述解释之外,本发明还包含以下提及的技术效果:

本发明有助于从各种竞争对手云移植云应用程序——主要是应用程序弹性部分的互操作性。本发明遵循标准弹性应用程序的标准并支持客户的sla,其中云应用程序将“99.99999%保证永远不发生故障”。

本发明具体地有助于电信应用程序开发人员编写防呆应用程序。针对任何错误状况的电信应用程序故障而言,保证应用程序将产生电信定义的一组方式。

本发明使得应用程序弹性能够跨越具有多个实例的多个数据中心——如果应用程序的一个实例故障,其它实例很可能发生类似错误状况。根据本发明,如框架中所定义,按照需要,应用程序中的每一个逐个缓慢进入合乎需要的状态。

本发明通过容易的模板机制实现应用程序移植性。用户可定制和人/机可读yaml文件使得管理云中的应用程序容错性非常方便。

提供商采用若干技术制成应用程序弹性,但不存在描述云中的应用程序弹性的含义的标准框架。这给应用程序开发人员,测试人员和云提供商创建了一种不容易的环境。本发明提供提供商中立的解决本问题的机制,从而帮助社区。

本发明可以适用于包含安全、管治/遵从性等等的云应用程序部署。

本发明通过提供框架提供了一种新的处理云paas中的应用程序弹性的方式。该框架包含若干部件,且所有这些部件整合在一起确保云中的应用程序可用性。

通过使用本发明中论述的基于模板的方法(客户可定制),应用程序执行如模板中识别的并指派特定动作的共同任务。随着识别针对应用程序的定制任务,也在模板中描述这些针对应用程序的定制任务。这是机器和人类可读的。

如本发明中所论述的引擎具有两项独特的工作,一是验证应用程序状态,另一是包括针对验证的应用程序状态的合适的动作。

如本发明中所论述的自学习框架机制是主框架的相关任务。此框架提供一种唯一的储存相关信息和按照需要检索相关信息的方式,这是此机制的一部分。

如本发明中所论述的针对用户的报警和通知机制是主框架的相关任务。虽然引擎本身是通用的,但是基于使用验证引擎输出和km自学习输出推导出的唯一模板以及用于动作执行的模板处理和共享信息。

本发明可以适用于诸多环境中,其中一些提供于下文中:

任何云提供商都可以使用本发明中所述的架构和方法。任何提供商都可以实施此构想以使所有部署在其中的paas应用程序具有弹性。创建框架并向开发人员显示该框架。任何来到云平台的开发人员都能够设计和开发具有此框架的应用程序。典型的电信应用程序会是此构想的理想候选。所有类型的电信提供商、运营商和应用程序开发人员能够使用此达成一致的标准并且通过遵守sla易化将应用程序部署到云门户。

可以开发一种业界标准模型。本发明的主要目的是将所有参与应用程序弹性的参与方的期望与共同框架对齐。通过使用本发明的框架,所有参与方都遵守上述标准,并因此保证各种云提供商之间应用程序弹性以及移植性。

本领域技术人员可以理解,任何已知的或者新的算法都可以用于本发明的实施。然而,应注意,与任何已知的或者新的算法无关,本发明提供一种将用于备份操作期间的方法以实现上述益处和技术改进。

本领域普通技术人员能够认识到,结合本说明书所公开的实施例中所描述的示例,可以通过电子硬件或计算机软件与电子硬件的组合实现单元和算法步骤。功能是由硬件还是由软件执行取决于技术方案的特定应用程序和设计约束条件。本领域技术人员可使用不同方法实现每个特定应用程序的所描述功能,但是不应认为该实现超出本发明的范围。

本领域技术人员可清楚地理解,出于方便和简单描述的目的,对于前述系统、装置和单元的详细工作过程,可参考前述方法实施例中的对应过程,本文中不再描述细节。

在本应用程序中提供若干实施例中,应理解,所公开的系统、装置和方法可通过其它方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元划分仅仅是逻辑功能划分且在实际实现中可以是其它划分。例如,可将多个单元或部件合并或集成到另一系统中,或可忽略或不执行部分特征。另外,可通过一些接口实现所显示或论述的互相耦合或直接耦合或通信连接。装置或单元之间的直接耦合或通信连接可通过电子、机械或其它形式实现。

当这些功能以软件功能单元的形式实现以及作为单独产品销售或使用时它们可存储在计算机可读存储介质中。基于这种理解本发明的技术方案基本上或构成现有技术的部分或技术方案的部分可通过软件产品的形式实现。计算机软件产品存储在存储介质中并包括若干指令,用于指示计算机设备(其可为个人计算机、服务器或网络设备)执行本发明实施例中所描述的方法的所有或部分步骤。上述存储介质包括:可以存储程序代码的任何媒体,例如usb盘、可移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁盘或光学光盘。

虽然已经使用特定于结构特点和/或方法的语言描述了针对部署在平台上的应用程序的应用程序弹性框架和其方法的实施,但是应理解所附权利要求书不必受限于这些描述的特定特征或方法。然而,特定特征或方法作为针对平台上的应用程序的应用程序框架及其方法的实施的实例被公开。

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