将云计算数据表示和分析为伪系统的制作方法

文档序号:21204047发布日期:2020-06-23 19:39阅读:233来源:国知局
将云计算数据表示和分析为伪系统的制作方法



背景技术:

云计算环境被设计为包括固定物理节点的静态环境。然而,随着云计算和虚拟化技术的技术进步,云计算环境正在演进成可包括一个或多个虚拟机的快速变化的环境。虚拟机的供应是高度动态的,并且虚拟机可以具有短的生命期,这对不断变化的云计算环境有贡献。

尽管数据中心操作已经改变,但是虚拟机的管理和操作已经滞后于技术进步。因此,使用最初被设计用于管理固定物理节点的工具的修改版本来执行各种性能和安全任务。例如,hawkett(美国专利申请公开号2013/0124400)讨论了一种云计算操作系统。如在hawkett的摘要中所讨论的(为了清楚起见,参考字符被移除),系统“包括多个核心数据结构,每个核心数据结构被配置成定义系统的元素所包含的基本属性”。hawkett还讨论了“从核心数据结构之一继承的索引数据结构,该索引数据结构被配置成对从核心数据结构继承的任何数量的核心数据结构或元素进行索引”。此外,hawkett讨论了“从索引数据结构继承的封装数据结构,该封装数据结构被配置成封装从核心数据结构继承的任意数量的核心数据结构或元素”。尽管hawkett对数据执行了一些系统建模,但是系统模型没有被显露为本机系统接口。因此,hawkett简单地将工具的修改版本用于其云计算操作系统,这些工具可以是并非为虚拟机设计的并且没有解决虚拟机的动态性质的改编版。因此,本公开涉及云计算架构,并且更具体地涉及将云计算数据表示和分析为可以在云计算环境中采用的伪系统。



技术实现要素:

以下呈现了概述以提供对本发明的一个或多个实施例的基本理解。本概述不是旨在识别关键或重要元素,或描绘特定实施例的任何范围或权利要求的任何范围。其唯一目的是以简化形式呈现概念,作为稍后呈现的更详细描述的序言。在本文中描述的一个或多个实施例中,提供了促进将云计算数据表示和分析为伪系统的系统、计算机实现的方法、装置和/或计算机程序产品。

根据实施例,系统可以包括存储计算机可执行组件的存储器和执行存储在存储器中的计算机可执行组件的处理器。计算机可执行组件可包括将计算设备的系统状态重新创建为该计算设备的伪系统状态的框架组件。伪系统状态可以与计算设备的原始操作状态解耦,并且可以包括从原始操作状态提取(abstract)的数据。所提取的数据可以模仿计算设备的操作。计算机可执行组件还可包括生成组件,该生成组件可以创建伪系统状态并且可以促进软件在伪系统状态下的黑盒执行。软件的黑盒执行可以包括在伪系统状态下运行应用,就如这些应用在计算设备的原始操作状态下执行一样。

在一个方面,计算机可执行组件还可包括通知组件,该通知组件可以响应于伪系统状态生成一个或多个事件通知。一个或多个事件通知可以与计算设备的原始操作状态解耦。进一步对于该方面,计算机可执行组件可以包括增强组件,该增强组件可以创建计算设备的一个或多个更新的伪系统状态。通知组件可以响应于一个或多个更新的伪系统状态生成一个或多个事件通知中的事件通知。

根据一个方面,框架组件可以追溯地从计算设备的系统状态创建伪系统状态,并且可以提高系统的处理效率而无需在计算设备上安装软件应用。根据本文中讨论的一些方面,计算机可执行组件可以包括输出组件,该输出组件经由可与便携式操作系统接口协议兼容的接口来呈现伪系统状态。

在一个或多个方面,计算机可执行组件可以包括聚合组件,该聚合组件可以累积与计算设备的系统状态相关联的数据。此外,计算机可执行组件可以包括分析组件,该分析组件可以收集与计算设备的系统状态有关的一个或多个分析。可以独立于由聚合组件累积的数据而由分析组件收集一个或多个分析。此外,框架组件可以将数据和一个或多个分析合并到伪系统状态中。

根据一个方面,计算设备可以是第一计算设备,并且伪系统状态可以是第一伪系统状态。进一步对于该方面,框架组件可以创建包括第一伪系统状态和至少第二计算设备的至少第二伪状态的伪系统状态的全局视图。伪系统状态的全局视图可以跨一个或多个计算系统来查看。在另一方面,计算机可执行组件可以包括编排组件,该编排组件可以使得能够在系统设备的多个实例上复用应用和软件。在该方面,系统设备可以包括计算设备。

另一实施例涉及一种系统,该系统可以包括存储计算机可执行组件的存储器和执行存储在存储器中的计算机可执行组件的处理器。计算机可执行组件可以包括框架组件,该框架组件使用数据采集设备框架(有时被称为爬虫框架)追溯地从一个或多个计算实体设备的相应fuse文件系统创建一个或多个计算实体设备的相应伪系统状态。计算机可执行组件还可以包括可以连续地或持续地更新相应伪系统状态的增强组件和可以促进应用在相应伪系统状态下的黑盒执行的生成组件。应用可以在相应伪系统状态下执行,以模仿在一个或多个计算实体设备上的执行。相应伪系统状态可以是兼容于便携式操作系统接口的。

在一个方面,计算机可执行组件还可以包括通知组件,该通知组件可以构建可响应于相应伪系统状态的一个或多个事件通知能力。在另一方面,计算机可执行组件可以包括聚合组件,该聚合组件可以基于跨一个或多个计算实体设备的聚合视图的创建来促进全局规模分析。

附图说明

现在将参考附图仅通过示例的方式描述本发明的实施例,在附图中:

图1示出了根据本文中描述的一个或多个实施例的促进将云计算数据表示和分析为伪系统的示例非限制性系统的框图。

图2示出了根据本文中描述的一个或多个实施例的用于实现伪系统接口的示例非限制性系统。

图3示出了根据本文中描述的一个或多个实施例的表示和分析组件的体系结构的示例非限制性系统。

图4示出了根据本文中描述的一个或多个实施例的表示和分析组件的内部设计的示例非限制性表示。

图5示出了根据本文中描述的一个或多个实施例的用于序列化的示例非限制性系统。

图6示出了根据本文中描述的一个或多个实施例的用于事件创建和通知的示例非限制性系统。

图7示出了根据本文中描述的一个或多个实施例的用于聚合数据的示例非限制性系统。

图8示出了根据本文中描述的一个或多个实施例的促进将云计算数据表示和分析为伪系统的示例非限制性计算机实现的方法的流程图。

图9示出了根据本文中描述的一个或多个实施例的促进事件生成和通知的示例性非限制性计算机实现的方法的流程图。

图10示出了根据本文中描述的一个或多个实施例的促进聚合数据生成的示例非限制性计算机实现的方法的流程图。

图11示出了其中可以促进本文中描述的一个或多个实施例的示例非限制性操作环境的框图。

图12描绘了根据本文中描述的一个或多个实施例的云计算环境。

图13描绘了根据本文中描述的一个或多个实施例的抽象模型层。

具体实施方式

以下详细描述仅是说明性的,并且不是旨在限制实施例和/或实施例的应用或使用。此外,并不旨在受前面的背景技术或发明内容部分、或具体实施方式部分中呈现的任何明示或暗示的信息的约束。

现在参考附图描述一个或多个实施例,其中相同的附图标记始终用于表示相同的元件。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对一个或多个实施例的更透彻理解。然而,在各种情况下,显然可以在没有这些具体细节的情况下实施所述一个或一个以上实施例。

云计算系统可以实现可以被快速供应的可配置资源的共享源。由于云计算系统的快速改变的性质,管理和控制云计算系统的设备的一些技术可以涉及构建系统接口。然而,构建这些系统接口是指构建可以用于核算(accounting)和管理目的的非标准数据模型。因此,由于重新使用为静态计算设备设计的工具,传统的云计算系统可能经常是低效的。另外,一些技术讨论了对数据进行系统建模。然而,建模没有将数据显露为本机系统接口。因此,可以改进传统的云计算系统。

本文中描述的实施例包括可以根据从“真实”系统捕获的数据来构建标准和本地伪系统接口的系统、计算机实现的方法和计算机程序产品。例如,伪系统接口可以与真实系统解耦。因此,伪系统接口不影响真实系统。

另外,各种实施例涉及用于通过伪系统接口执行黑盒软件应用的技术(例如,软件编排和管理)。例如,黑盒软件应用的执行可以促进新的(或新兴的)应用和/或传统应用的执行。此外,各种实施例提供了使用覆盖文件系统设计在虚拟机、容器和/或裸机的多个实例上复用软件执行的能力。另外,各种实施例可以促进与“真实”系统解耦的连续或持续监控和通知服务的创建。

因此,如将在下面进一步详细讨论的,各个方面涉及通过采集关于云上的应用和系统的数据并将其转换成可消费格式来执行数据分析。例如,关于系统(例如,计算设备)的数据可被抽取(extract)并被输入到可以与可在运行系统(诸如云中的虚拟机或膝上型计算机等)上执行的传统解决方案或最近新兴的解决方案(例如,黑盒技术)一起使用的格式中。由于各个方面从转换后的数据转换一切,所以解决方案不能“按原样”执行。因此,如本文中讨论的,各个方面可修改数据,使得数据可被表示为计算系统。因此,对于在计算系统(例如,计算设备)上运行的应用,应用感觉它们在计算系统(例如,膝上型计算机)上运行,然而,在幕后可以存在将数据提取出来的软件和系统组件的中间层。因此,各个方面提供计算系统的外观和感觉,但是从视图中显露出来(例如,在幕后),它可向数据询问应用正在请求的问题(例如,各个方面可以是实体与应用之间的接口)。例如,可以存在可以在系统(例如,在云中运行的容器、虚拟机和/或膝上型计算机)中运行的兼容性检查器或无线检测器。当无线检验器期望在系统上运行时,可以呈现“单板(veneer)”,并且无线检验器可以被安装在该单板上或在该单板上运行。无线检查器相信它在系统上运行得非常好,并且进行其通常的执行(例如,采集数据、进行分析),然而,它是相对于数据而不是相对于系统来操作的。

如本文中讨论的,各个方面可以针对数据运行一个或多个传统应用和/或一个或多个新兴应用。因此,各个方面可以保留在云中,并且一个或多个解决方案可以运行一个或多个传统应用(例如,黑盒)和/或一个或多个新兴应用,而不必重新实现(例如,反向工程)应用。这样,可以提高云计算系统的准确性和/或云计算系统的效率。此外,可以改进与云计算系统相关联的性能设备,可以提高与云计算系统相关联的设备的效率,和/或可以提高与云计算系统相关联的设备的其他特性。

图1示出了根据本文中描述的一个或多个实施例的促进将云计算数据表示和分析为伪系统的示例非限制性系统100的框图。本公开中说明的系统(例如,系统100等)、装置或处理的各方面可以构成在(一个或多个)机器内体现(例如,在与一个或多个机器相关联的一个或多个计算机可读介质(或介质)中体现)的(一个或多个)机器可执行组件。当由一个或多个机器(例如,计算机、计算设备、虚拟机等)执行时,这样的组件可以使机器执行所描述的操作。

在各种实施例中,系统100可以是包括处理器和/或可以能够与有线和/或无线网络进行有效和/或可操作性通信的任何类型的组件、机器、设备、设施、装置和/或仪器。可构成系统100的组件、机器、装置、设备、设施和/或仪器可包括平板计算设备、手持设备、服务器类计算机器和/或数据库、膝上型计算机、笔记本计算机、台式计算机、蜂窝电话、智能电话、消费电器和/或仪器、工业和/或商业设备、手持设备、数字助理、多媒体因特网使能的电话、多媒体播放器等。

在各种实施例中,系统100可以是与诸如但不限于云电路技术、云计算技术、人工智能技术、医疗和材料技术、供应链和物流技术、金融服务技术和/或其他数字技术之类的技术相关联的云计算系统。系统100可以采用硬件和/或软件来解决本质上是高度技术性的、非抽象的、并且不能作为人类的一组精神动作来执行的问题。此外,在某些实施例中,所执行的处理中的一些处理可以由一个或多个专用计算机(例如,一个或多个专用处理单元、具有云计算组件的专用计算机等)来执行,以执行与将分析云计算数据表示为伪系统和/或机器学习有关的所定义的任务。

系统100和/或系统100的组件可被用来解决由于上述技术、计算机体系结构等的进步而引起的新问题。系统100的一个或多个实施例可以提供对云计算系统、云电路系统、云处理器系统、人工智能系统和/或其他系统的技术改进。系统100的一个或多个实施例还可以通过提高云处理器的处理性能、提高云处理器的处理效率、提高云处理器的处理特性和/或提高云处理器的功率效率提供对云处理器的技术改进。

在图1中所示的实施例中,系统100可以包括框架组件102、生成组件104、输出组件106、处理组件108、存储器110和/或存储设备112。存储器110可以存储计算机可执行组件和指令。处理组件108(例如,处理器)可以促进由框架组件102、生成组件104、输出组件106和/或其他系统组件来执行指令(例如,计算机可执行组件和对应的指令)。如图所示,在一些实施例中,框架组件102、生成组件104、输出组件106、处理组件108、存储器110和/或存储设备112中的一个或多个可以彼此电气地、通信地和/或可操作地耦合以执行系统100的一个或多个功能。

框架组件102可以接收计算设备的系统状态作为输入数据114。系统状态可以是计算设备的原始计算状态。计算设备可以是服务器、虚拟机或被配置成促进云计算环境的操作的其他计算设备。基于输入数据114,框架组件102可以将计算设备的系统状态重新创建为计算设备的伪系统状态。例如,伪系统状态可以与计算设备的原始操作状态解耦。此外,伪系统状态可以包括从原始操作状态提取的数据。所提取的数据可以模仿计算设备的操作。

生成组件104可以创建伪系统状态,并且可以促进软件在伪系统状态下的黑盒执行。例如,软件的黑盒执行可以包括在伪系统状态下运行应用,就如这些应用正在计算设备的原始操作状态下执行一样。输出组件106可以将伪系统状态呈现为输出数据116。例如,输出组件106可以经由可与便携式操作系统接口协议兼容的接口来呈现伪系统状态。

例如,与计算设备的原始操作状态有关的数据可被转换成文档格式,而不是系统格式。当要执行各种应用或软件(例如,传统应用/软件、非传统应用/软件、新兴应用/软件)时,各种应用/软件可表现为在计算设备内执行。然而,应用/软件实际上是从文档执行的。

根据一些实现方式,框架组件102可以追溯地从计算设备的系统状态创建伪系统状态。基于对伪系统状态的追溯创建,框架组件102(和其他系统组件)可以提高系统的处理效率而无需在计算设备上安装软件应用。

根据一些实现方式,计算设备可以是第一计算设备,并且伪系统状态可以是第一伪系统状态。进一步对于这些实现方式,框架组件可以跨计算资源创建第一伪系统状态和至少第二伪状态的全局视图。计算资源可以包括第一计算设备和至少第二计算设备。

可以理解,系统100(例如,框架组件102、生成组件104、输出组件106、和/或其它系统组件)执行伪系统状态或伪系统接口的生成和/或在伪系统状态下进行不能由人类执行(例如,大于单个人类思维能力)的黑盒执行。例如,在一定时间段内由系统100(例如,框架组件102、生成组件104、输出组件106)处理的数据量、处理的数据速度和/或处理的数据的数据类型可以大于、快于和不同于可以在同一时间段内由单个人类思维处理的量、速度和数据类型。系统100(例如,框架组件102、生成组件104、输出组件106)还可以完全可操作以执行一个或多个其他功能(例如,完全通电、完全执行等),同时还执行伪系统状态/接口的上述生成和/或在伪系统状态下的黑盒执行。此外,由系统100(例如,框架组件102、生成组件104、输出组件106)生成和协调的伪系统状态/接口可以包括不可能由用户手动获得的信息。例如,包括在输入数据114中的信息类型、与输入数据114相关联的各种信息、和/或用于生成和输出一个或多个伪系统状态/接口的输入数据114的优化(例如,输出数据116)可以比可以由用户手动获得并且处理的信息更复杂。

图2示出了根据本文中描述的一个或多个实施例的用于实现伪系统接口的示例非限制性系统200。为了简洁起见,省略了在本文中描述的其它实施例中采用的类似元件的重复描述。

系统200可以包括系统100的一个或多个组件和/或功能,反之亦然。系统200可以如本文中讨论的那样将云计算设备的采集部分和分析部分分离。如图所示,一个或多个系统可以在云计算环境202中执行。例如,一个或多个系统可以是服务器(例如,第一服务器204和第二服务器206)和/或虚拟机(例如,vm208)。作为示例而非限制,第一服务器204可以运行两个虚拟机,如图2中所示。然而,应当注意,除了所示出和描述的具体实现方式之外,还可以采用其它实现方式。

代替在系统内部运行工具,相应的数据收集组件(例如,数据采集设备2101、2102、2103)可以采集关于相关联的系统的信息,并且可以创建系统字符集(例如,系统的详细列表)。根据一个方面,数据可以被保留在文档中。本文中提供的各个方面可以基于所收集的数据的上下文来操作。数据采集可被用来收集度量、文件和其他信息。

例如,数据监管组件212可以针对(不是直接在位于云计算环境202中的一个或多个系统中的)数据进行工作。在数据监管组件212的级别处,可以实现各种工具(例如,恶意软件、兼容性分析工具)。数据监管组件212可以评估所抽取的数据并且利用可用的信息来更新文档。

例如,如图所示,数据分析214可以从位于云计算环境202中的(一个或多个)系统中移出并且可以被转换成数据。例如,一个或多个工具可以是非传统应用(例如,非传统应用2161到2165)。此外,一个或多个工具可以是包括在数据分析214中的传统工具(例如,传统应用2181和2182)。

在实现所公开的各方面之前,传统应用2181和2182是不可用的。例如,传统应用(或传统工具)被设计和开发成直接在云计算环境202中的计算实体(例如,服务器、vm)上运行。传统上,系统状态可以被建模并被呈现为文件系统(例如,/proc、/sys、根文件系统)。因此,传统工具本质上期望与标准便携式操作系统接口(posix)兼容的接口,并且使用该接口作为只读文件系统。本地运行传统工具意味着性能开销和安全问题,从而限制了计算密集的机器学习驱动的分析。这也会限制分析的范围,因为系统/云的全局视图不可用。

因此,根据各个方面,提供了可以被分离的数据采集和分析,使得分析能力可以独立于数据采集而缩放。此外,各个方面可以通过集中式的数据监管来实现全局视图和数据相关性。此外,系统状态可以与系统解耦,并且可以作为流传输数据而不是作为标准posix接口来获得。此外,可以在不将分析工具重写到新系统模型的情况下实现各个方面。此外,传统应用(安全内容自动化协议(scap)、openscap、安全信息和事件管理(iem)、反病毒)可以被移植到新的系统模型。

例如,如本文中讨论的,可以实现表示和分析组件220。根据一些实现方式,表示和分析组件220可被称为追溯云计算自测(introspection)组件或confuse(用于容器(con)的用户空间文件系统(fuse))。通过实现表示和分析组件220,计算系统可被转换成数据,并且可被转换回到计算系统。在从数据转换到计算系统之后,计算系统可以例如被实现在可以包括伪系统接口226或伪系统状态的服务器224上(示出为被实现在虚拟机上)。

伪系统接口226可以模仿例如容器。因此,伪系统接口226可以例如对于传统应用2181和2182而言表现为计算系统并且作为计算系统来操作,但是在后端(例如,在幕后),伪系统接口226可以针对数据进行工作。因此,本文中讨论的各方面可与传统应用和新的新兴应用两者一起使用。

根据一些实现方式,系统200可以使用用于服务器、vm和容器的confuse(例如,表示和分析组件220)来重新创建伪系统接口。此外,可以在不进行修改的情况下运行(例如,执行)传统应用。另外,系统200可以为现有应用和新应用提供黑盒分析平台。根据实现方式,系统200还可以用作用于测试新系统分析特征的独立且隔离的测试平台。

如本文中讨论的,各个方面可以针对数据将文件系统代码转换为代码。在特定的非限制性示例中,一些系统(例如,linux系统)可以通过只读伪文件系统(诸如例如:procfs(/proc),其可以是进程信息(例如,进程运行信息);以及sysfs(/sys),其可以是内核子系统、设备驱动程序和/或硬件设备(例如,操作系统的配置))来显露其操作状态。此外,一个或多个计算实体(例如,vm、容器)还可以在相应的“根文件系统”(/etc、/home、/usr…)中具有相应的永久状态。数据采集器可以捕获这些状态,并且将这些状态变换成标准格式化数据,其有时被称为爬虫框架。可以通过网络将框架传输到分离的分析平台。在示例中,框架可以是数据的一般表示(例如,如何将系统表示为数据)并且可以是任何数据表示格式。

作为示例而非限制,以下是可以采用的示例样本框架。然而,所公开的各方面不限于以下示例。

·os"linux"

{"boottime":1490040337.0,"uptime":614100.0,"ipaddr":["127.0.0.1","172.16.73.76"],"os":"ubuntu","os_version":"16.04","os_kernel":"linux-4.4.0-53-generic-x86_64-with-debian-stretch-sid","architecture":"x86_64"}…

·盘(disk)"/"

{"partitionname":"","freepct":90.7,"fstype":"aufs","mountpt":"/","mountopts":"rw,relatime,si=f2ed3824d9539b5c,dio,dirperm1","partitionsize":105389207552}…

·程序包(package)"debianutils"

{"installed":null,"pkgname":"debianutils","pkgsize":"213","pkgversion":"4.7","pkgarchitecture":"amd64"}…

·文件(file)"/etc/host.conf"

{"atime":1445534121.0,"ctime":1488853389.4237413,"gid":0,"linksto":null,"mode":33188,"mtime":1445534121.0,"name":"host.conf","path":"/etc/host.conf","size":92,"type":"file","uid":0}…

·进程(process)"python/14"{"cmd":"pythoncrawler.py..}…

·…

图3示出了根据本文中描述的一个或多个实施例的用于confuse组件的架构的示例非限制系统300。为了简洁起见,省略了在本文中描述的其它实施例中采用的类似元件的重复描述。

图3的左侧示出了系统的数据表示,其被称为数据采集设备框架302。例如,所示的数据采集设备框架302被称为爬虫框架conta(例如,用于容器a的爬虫框架)。系统状态框架数据可以从容器、虚拟机、裸机、膝上型计算机等采集。

在304处,容器/vm的每个数据采集设备框架(例如,数据采集设备框架302)可以由表示和分析组件220(例如,confuse组件、fuse文件系统)来解析。此外,在306处,可以创建当前可访问的文件系统中的单独安装点(例如目录(其通常为空)),可以在当前可访问的文件系统上安装(例如,逻辑地附连)附加文件系统。例如,表示和分析组件220可以基于数据采集设备框架302创建文件系统视图。在其之上可以是应用3081、3082、3083。例如,在310处,可以使用各种层文件系统技术并且使用特定实现方式的改变根(chroot)在同一文件系统之上构建一个或多个应用3081、3082、3083。例如,传统应用可以改变根(chroot)到这些安装点以查看相应容器/vm的根文件系统。根据一些实现方式,改变根(chroot:)可以是操作系统能力,以使得一个或多个应用如同所述一个或多个应用全部在系统中那样操作,以及执行捕获并且实现文件系统代码。

因此,一个或多个应用3081、3082、3083可以表现为好像相应的应用被安装在系统中并且在文件系统312(例如,/mnt/conta)之上操作。例如,一个或多个文件系统层可以被构建,并且被选择性地从底层文件系统添加和/或移除。要修改的处理可以是创建基层(os)并且在基层之上构建附加层。文件系统中的层可以利用容器a与表示和分析组件220进行通信。在其上可以是可以包括传统应用的附加层,这些附加层可以如同它们是整个系统的组件一样运作。

在314处,由安装点内部的应用进行的一个或多个文件系统调用(例如,打开、读取、统计、is等)可以被用户空间文件系统(fuse)截获,以及在316处,控制可被传递到表示和分析组件220以用于处理该调用。表示和分析组件220可从经解析的框架输出(例如,从304)返回相关的文件系统元数据/数据。

例如,在文件系统视图的幕后,可捕捉所有文件系统代码,并且表示和分析组件220可针对数据而执行。因此,没有系统、虚拟机、容器或服务器在安装容器a上运行。此外,没有容器a,只有它存在的印象。

图4示出根据本文中描述的一个或多个实施例的confuse组件的内部设计400的示例性非限制性表示。示出了框架402(例如,数据采集设备框架302)。如404所指示的,一个或多个应用(例如,openscap跟踪(trace))可以安装在斜线中(例如,安装在根目录中)。可以评估数据404的各种元素(例如,文件信息、进程信息、操作系统(os)信息、配置(config)信息和盘信息)。如图所示,不同的逻辑可以被映射到文件系统中。例如,第一组逻辑406可以被映射到第一应用408,并且第二组逻辑410可以被映射到第二应用412。

根据一些实现方式,所构建的应用可以是可以用于兼容性分析的“openscap”。作为非限制性示例,分析了用于openscap的代码,并且确定仅需要与所公开的各方面一起实现代码的子集(例如,一小部分)。因此,不需要实现的代码(诸如改变文件系统的代码)不被实现,这可以提高如本文中讨论的计算系统的效率。

图5示出了根据本文中描述的一个或多个实施例的用于序列化的示例非限制性系统500。系统500可以包括系统100和/或系统200的一个或多个组件和/或功能,反之亦然。

从系统状态502开始,可在504处执行序列化。如本文中讨论的,序列化指的是抽取系统状态502并且以不同格式(其可以是二进制格式或其他格式)来表示系统状态502(例如,序列化的系统状态506)。序列化的系统状态506可以通过网络510来传输508。

如图所示,非传统应用512可通过网络510直接与系统状态一起操作。然而,对于传统应用514,应当诸如通过如本文中讨论的反序列化518来创建反序列化的系统状态516。因此,在一些实现方式中,非传统应用512和传统应用514不是位于一起。

图6示出了根据本文中描述的一个或多个实施例的用于事件创建和通知的示例非限制系统600。为了简洁起见,省略了在本文中描述的其它实施例中采用的类似元件的重复描述。

系统600可以包括系统100、系统200和/或系统500的一个或多个组件和/或功能,反之亦然。系统600可包括通知组件602,该通知组件602可响应于伪系统状态而生成一个或多个事件通知。一个或多个事件通知可以与计算设备的原始操作状态解耦。

此外,系统600可包括增强组件604,该增强组件604可创建计算设备的一个或多个更新的伪系统状态。通知组件602可响应于一个或多个更新的伪系统状态来生成一个或多个事件通知中的事件通知。

如本文中讨论的,系统600可以提供框架以追溯地重新创建一个或多个云计算实体设备(例如,vm、容器)的伪系统状态。此外,伪系统状态可以是兼容于posix的,posix是为维护操作系统之间的兼容性而指定的一组标准。例如,posix可定义应用编程接口(api)和其它接口以实现与一个或多个操作系统的软件兼容性。

如本文中讨论的,系统可以连续地或持续地更新伪状态。因此,可以创建解决方案,并且解决方案可以随时间而改变。此外,可以创建一个或多个事件通知能力。例如,可以与所公开的各方面一起使用auditd和/或inotify。在示例中,各个方面可以跨各种计算设备进行操作。例如,框架可以提供跨所有云资源创建全局或聚合视图以促进新的云规模分析的能力。因此,当一个计算设备中的某些东西改变时,可以分析其他计算设备以确定是否也应当在那里应用改变(例如,聚合视图、全局视图)。

根据一些实施方式,一个或多个爬虫框架(例如,所采集的数据)可以随着系统状态改变而连续地或持续地改变。各个方面可以捕获这些改变,并且可以实现带外事件生成,带外事件生成在语义上可以等效于:auditd:系统调用跟踪和/或inotify:捕获文件系统修改。这些事件可以用来捕获不期望的改变并且驱动各种策略,诸如访问违例和通知。

图7示出了根据本文中描述的一个或多个实施例的用于聚合数据的示例非限制性系统700。为了简洁起见,省略了在本文中描述的其它实施例中采用的类似元件的重复描述。

系统700可以包括系统100、系统200、系统500和/或系统600的一个或多个组件和/或功能,反之亦然。

如图所示,系统700可包括聚合组件702,该聚合组件702可累积与计算设备的系统状态相关联的数据。例如,聚合组件702可保留与系统状态数据有关的信息以及与来自其他系统状态的数据有关的信息。

此外,例如,可以将数据保留为可以用来评估相关系统的历史数据。

此外,分析组件704可以收集与计算设备的系统状态有关的一个或多个分析。一个或多个分析可以独立于由聚合组件702累积的数据而由分析组件704来收集。此外,框架组件102可以将数据和一个或多个分析合并到伪系统状态中。

根据一些实现方式,系统700可包括布置组件706,该布置组件706可使得能够在包括计算设备的系统设备的多个实例上复用应用和软件。

在某些实施例中,框架组件102可重新创建系统状态,和/或生成组件104可基于与人工智能的原理相关联的分类、相关性、推断和/或表达式来创建伪系统状态。例如,框架组件102、生成组件104以及其他系统组件可以采用自动分类系统和/或自动分类处理来确定应当采用的各种应用的逻辑集合以及对于伪系统状态可以选择性地忽略的各种应用的其他逻辑集合。在一个示例中,框架组件102和/或生成组件104可以采用基于概率和/或统计的分析(例如,将分析效用和成本考虑在内)来学习和/或生成关于一个或多个应用的相应逻辑和应当应用于伪系统状态的对应特征的推断。在一方面,框架组件102和/或生成组件104可包括相应的推断组件(未示出),推断组件可进一步提高框架组件102和/或生成组件104的自动化方面,从而部分地采用基于推断的过程来促进学习和/或生成与应当应用以便实现正常运作的伪系统状态的逻辑相关联的推断。框架组件102和/或生成组件104可以采用任何合适的基于机器学习的技术、基于统计的技术和/或基于概率的技术。例如,框架组件102和/或生成组件104可以采用专家系统、模糊逻辑、svm、隐马尔可夫模型(hmm)、贪婪搜索算法、基于规则的系统、贝叶斯模型(例如,贝叶斯网络)、神经网络、其他非线性训练技术、数据融合、基于效用的分析系统、采用贝叶斯模型的系统等。在另一方面,框架组件102和/或生成组件104可以执行与伪系统状态的生成相关联的机器学习计算的集合。例如,框架组件102和/或生成组件104可以执行聚类机器学习计算的集合、逻辑回归机器学习计算的集合、决策树机器学习计算的集合、随机森林机器学习计算的集合、回归树机器学习计算的集合、最小平方机器学习计算的集合、基于实例的机器学习计算的集合、回归机器学习计算的集合、支持向量回归机器学习计算的集合、k均值机器学习计算的集合、谱聚类机器学习计算的集合、规则学习机器学习计算的集合、贝叶斯机器学习计算的集合、深度波尔兹曼机器计算的集合、深度置信网络计算的集合和/或不同机器学习计算的集合,以创建伪系统状态。

图8示出了根据本文中描述的一个或多个实施例的促进将云计算数据表示和分析为伪系统的示例非限制性计算机实现的方法800的流程图。为了简洁起见,省略了在本文中描述的其它实施例中采用的类似元件的重复描述。

在计算机实现的方法800的802处,可操作地耦合到处理器的系统可以将计算设备的系统状态重新创建为计算设备的伪系统状态(例如,经由框架组件102)。计算设备的系统状态可以是计算设备的原始操作状态。伪系统状态可以与计算设备的原始操作状态解耦,并且可以包括从原始操作状态提取的数据。此外,所提取的数据可以模仿计算设备的操作。

在实现方式中,计算机实现的方法800可包括由系统追溯地从计算设备的系统状态创建伪系统状态。因此,可以提高系统的处理效率而无需在计算设备上安装软件应用。

根据一些实现方式,计算设备可以是第一计算设备,并且伪系统状态可以是第一伪系统状态。进一步对于这些实现方式,计算机实现的方法800可包括跨计算资源创建第一伪系统状态和第二伪状态的全局视图(例如,经由框架组件102)。计算资源可以包括第一计算设备和第二计算设备。

在计算机实现的方法800的804处,系统可以创建伪系统状态并且可以促进软件在伪系统状态下的黑盒执行(例如,经由生成组件104)。黑盒执行可包括在伪系统状态下运行应用,就如应用在计算设备的原始操作状态下执行一样。

根据实现方式,计算机实现的方法800可包括由系统(例如,经由输出组件106)经由可与便携式操作系统接口协议兼容的接口来呈现伪系统状态。例如,伪系统状态可以以各种可感知格式(包括但不限于视觉格式和听觉格式)来呈现。

图9示出了根据本文中描述的一个或多个实施例的促进事件生成和通知的示例非限制性计算机实现的方法900的流程图。为了简洁起见,省略了在本文中描述的其它实施例中采用的类似元件的重复描述。

计算机实现的方法900在902处开始,此时可操作地耦合到处理器的系统可以将计算设备的系统状态重新创建为计算设备的伪系统状态(例如,经由框架组件102)。计算设备可以例如是虚拟机、服务器或其他设备。在计算机实现的方法900的904处,系统可以创建伪系统状态,并且可以促进软件在伪系统状态下的黑盒执行(例如,经由生成组件104)。黑盒执行可使得能够执行应用,就如应用在原始系统(例如,计算设备的系统状态)上执行一样。

此外,在计算机实现的方法900的906处,系统可以响应于伪系统状态生成一个或多个事件通知(例如,经由通知组件602)。一个或多个事件通知可以与计算设备的原始操作状态解耦(例如,可以利用伪系统状态来执行)。

根据一些实现方式,在计算机实现的方法900的908处,系统可以创建计算设备的一个或多个更新的伪系统状态(例如,经由增强组件604)。进一步对于这些实现方式,在计算机实现的方法900的910处,系统可以响应于一个或多个更新的伪系统状态生成来自一个或多个事件通知的事件通知(例如,经由增强组件604)。

图10示出了根据本文中描述的一个或多个实施例的促进聚合数据生成的示例非限制性计算机实现的方法1000的流程图。为了简洁起见,省略了在本文中描述的其它实施例中采用的类似元件的重复描述。

在计算机实现的方法1000的1002处,可操作地耦合到处理器的系统可以使用数据采集设备框架(例如,爬虫框架)追溯地从一个或多个计算实体设备的相应fuse文件系统创建一个或多个计算实体设备的相应伪系统状态(例如,经由框架部件102)。此外,在计算机实现的方法1000的1004处,系统可以连续地或持续地更新相应伪系统状态(例如,经由生成组件104)。在一些实现方式中,相应伪系统状态可以是兼容于便携式操作系统接口的。

在计算机实现的方法1000的1006处,系统可以促进应用在相应伪系统状态下的黑盒执行(例如,经由生成组件104)。应用可以在相应伪系统状态下执行,以模仿在一个或多个计算实体设备上的执行。此外,相应伪系统状态可以是兼容于便携式操作系统接口的。

在计算机实现的方法1000的1008处,可以由系统累积与一个或多个计算实体设备的相应系统状态相关联的数据(例如,经由聚合组件702)。此外,在计算机实现的方法1000的1010处,系统可以收集与一个或多个计算实体设备的相应系统状态有关的一个或多个分析(例如,经由分析组件704)。可以独立于数据的累积来收集一个或多个分析。计算机实现的方法1000可以在1012处继续,此时系统可以将数据和一个或多个分析合并到相应伪系统状态中(例如,经由框架组件102)。

根据一些实现方式,计算机实现的方法1000可以包括由系统构建可响应于相应伪系统状态的一个或多个事件通知能力(例如,经由通知组件602)。根据一个或多个实现方式,计算机实现的方法1000可包括由系统基于跨一个或多个计算实体设备的聚合视图的创建来促进全局规模分析(例如,经由聚合组件702)。

为了解释的简单起见,将计算机实现的方法描绘和描述为一系列动作。可以理解和明白,本发明不受所示动作和/或动作次序的限制,例如,动作可以按各种次序和/或并发地发生,并且可以与本文中未呈现和描述的其它动作一起发生。此外,并非所有示出的动作都是实现根据所公开的主题的计算机实现的方法所需要的。另外,本领域技术人员将理解和明白,计算机实现的方法可以替选地经由状态图或事件被表示为一系列相互关联的状态。另外,还应当理解,下文中以及贯穿本说明书所公开的计算机实现的方法能够被存储在制品上,以促进将这样的计算机实现的方法传输和转移到计算机。如本文中使用的术语“制品”旨在涵盖可从任何计算机可读设备或存储介质访问的计算机程序。

为了提供所公开的主题的各个方面的上下文,图11以及以下讨论旨在提供对其中可实现所公开的主题的各个方面的合适环境的一般描述。图11示出了其中可促进本文中描述的一个或多个实施例的示例非限制性操作环境的框图。为了简洁起见,省略了在本文中描述的其它实施例中采用的类似元件的重复描述。参考图11,用于实现本公开的各个方面的合适的操作环境1100还可包括计算机1112。计算机1112还可包括处理单元1114、系统存储器1116、以及系统总线1118。系统总线1118将系统组件(包括但不限于系统存储器1116)耦合到处理单元1114。处理单元1114可以是各种可用处理器中的任一种。双微处理器和其它多处理器体系结构也可用作处理单元1114。系统总线1118可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用总线体系结构中的任一种的局部总线,这些总线体系结构包括但不限于工业标准体系结构(isa)、微通道体系结构(msa)、扩展isa(eisa)、智能驱动电子设备(ide)、vesa局部总线(vlb)、外围组件互连(pci)、卡总线、通用串行总线(usb)、高级图形端口(agp)、火线(ieee1394)、和小型计算机系统接口(scsi)。系统存储器1116还可以包括易失性存储器1120和非易失性存储器1122。基本输入/输出系统(bios)包含诸如在启动时在计算机1112的各元件之间传输信息的基本例程,bios被存储在非易失性存储器1122中。作为说明而非限制,非易失性存储器1122可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存或非易失性随机存取存储器(ram)(例如,铁电ram(feram))。易失性存储器1120还可以包括充当外部高速缓冲存储器的随机存取存储器(ram)。作为说明而非限制,ram可以以许多形式获得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强型sdram(esdram)、同步链路dram(sldram)、直接rambusram(drram)、直接rambus动态ram(drdram)和rambus动态ram。

计算机1112还可包括可移动/不可移动、易失性/非易失性计算机存储介质。例如,图11示出盘存储设备1124。盘存储设备1124还可包括但不限于,诸如磁盘驱动器、软盘驱动器、磁带驱动器、jaz驱动器、zip驱动器、ls-100驱动器、闪存卡、或记忆棒之类的设备。盘存储设备1124还可包括单独的或与其它存储介质组合的存储介质,包括但不限于,诸如紧致盘rom设备(cd-rom)、可记录cd驱动器(cd-r驱动器)、可重写cd驱动器(cd-rw驱动器)或数字多功能盘rom驱动器(dvd-rom)之类的光盘驱动器。为了促进将盘存储设备1124连接到系统总线1118,通常使用可移动或不可移动接口,诸如接口1126。图11还描绘了充当用户和在合适的操作环境1100中描述的基本计算机资源之间的中介的软件。这样的软件还可以包括例如操作系统1128。操作系统1128可以存储在盘存储设备1124上,操作系统1128用来控制和分配计算机1112的资源。系统应用1130通过例如存储在系统存储器1116中或盘存储设备1124上的程序模块1132和程序数据1134来利用操作系统1128管理资源。应当理解,本公开可以利用各种操作系统或操作系统的组合来实现。用户通过输入设备1136将命令或信息输入到计算机1112中。输入设备1136包括但不限于,诸如鼠标、轨迹球、手写笔、触摸垫之类的指点设备、键盘、麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、tv调谐卡、数码相机、数码摄像机、网络(web)相机等。这些和其它输入设备通过系统总线1118经由接口端口1138连接到处理单元1114。接口端口1138包括例如串行端口、并行端口、游戏端口和通用串行总线(usb)。(一个或多个)输出设备1140使用与(一个或多个)输入设备1136相同类型的端口中的一些。因此,例如,usb端口可以用来向计算机1112提供输入,以及从计算机1112向输出设备1140输出信息。设置输出适配器1142以说明在其它输出设备1140当中存在需要特殊适配器的某些输出设备1140,如监视器、扬声器和打印机。作为说明而非限制,输出适配器1142包括提供输出设备1140和系统总线1118之间的连接方法的显卡和声卡。应当注意,其它设备和/或设备的系统提供输入能力和输出能力两者,诸如远程计算机1144。

计算机1112可以使用与一个或多个远程计算机(诸如远程计算机1144)的逻辑连接在联网环境中进行操作。远程计算机1144可以是计算机、服务器、路由器、网络pc、工作站、基于微处理器的电器、对等设备或其它常见的网络节点等,并且通常还可包括相对于计算机1112描述的许多元件或所有元件。为了简洁起见,仅存储器存储设备1146与远程计算机1144一起示出。远程计算机1144通过网络接口1148逻辑上连接到计算机1112,然后经由通信连接1150物理地连接。网络接口1148涵盖有线和/或无线通信网络,诸如局域网(lan)、广域网(wan)、蜂窝网络等。lan技术包括光纤分布式数据接口(fddi)、铜线分布式数据接口(cddi)、以太网、令牌环等。wan技术包括但不限于点对点链路、如综合业务数字网(isdn)及其变体那样的电路交换网络、分组交换网络、以及数字用户线路(dsl)。通信连接1150是指用于将网络接口1148连接到系统总线1118的硬件/软件。虽然为了清楚说明将通信连接1150示出为在计算机1112内部,但是它也可以在计算机1112外部。仅出于示例性目的,用于连接到网络接口1148的硬件/软件还可以包括内部和外部技术,诸如包括常规电话级调制解调器、电缆调制解调器和dsl调制解调器的调制解调器、isdn适配器和以太网卡。

本发明可以是任何可能的技术细节集成水平的系统、方法、装置和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。计算机可读存储介质可以是能够保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适组合。计算机可读存储介质的更具体示例的非穷举列表还可以包括以下:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如其上记录有指令的打孔卡或凹槽中的凸起结构之类的机械编码设备、以及前述各项的任何合适组合。如本文中使用的“计算机可读存储介质”不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传送的电信号。

本文中描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设定数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言(例如smalltalk、c++等)和过程编程语言(例如“c”编程语言或类似的编程语言))的任何组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。

本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。将会理解,流程图和/或框图中的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的方法。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以指导计算机、可编程数据处理装置和/或其他设备以特定方式运作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作动作,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。

附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现所指定的逻辑功能的一个或多个可执行指令。在一些替选实现方式中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将会注意,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,基于专用硬件的系统执行指定功能或动作,或者执行专用硬件和计算机指令的组合。

尽管以上在运行在一个和/或多个计算机上的计算机程序产品的计算机可执行指令的一般上下文中描述了本主题,但是本领域的技术人员将会认识到,本公开也可结合其它程序模块来实现。通常,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域的技术人员可以理解,本发明的计算机实现的方法可以利用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型计算设备、大型计算机、以及计算机、手持式计算设备(例如,pda、电话)、基于微处理器的或可编程的消费或工业电子产品等。所示出的各方面也可以在分布式计算环境中实施,在分布式计算环境中,任务由通过通信网络链接的远程处理设备来执行。然而,本公开的一些方面(如果不是所有方面)可以在独立计算机上实施。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。特征包括:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。

服务模型如下:软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。

部署模型如下:私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参考图12,其中显示了示例性的云计算环境1250。如图所示,云计算环境1250包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点1210,本地计算设备例如可以是个人数字助理(pda)或移动电话1254a,台式计算机1254b、笔记本计算机1254c和/或汽车计算机系统1254n。云计算节点1210之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点1210进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境1250提供的基础架构即服务(iaas)、平台即服务(paas)和/或软件即服务(saas)。应当理解,图12显示的各类计算设备1254a-n仅仅是示意性的,云计算节点1210以及云计算环境1250可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。

现在参考图13,其中显示了云计算环境1250(图12)提供的一组功能抽象层。首先应当理解,图13所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图13所示,提供下列层和对应功能:硬件和软件层1360包括硬件和软件组件。硬件组件的示例包括:大型机1361;基于risc(精简指令集计算机)架构的服务器1362;服务器1363;刀片服务器1364;存储设备1365;以及网络和联网组件1366。在一些实施例中,软件组件包括网络应用服务器软件1367和数据库软件1368。

虚拟化层1370提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器1371、虚拟存储设备1372、虚拟网络1373(包括虚拟私有网络)、虚拟应用和操作系统1374,以及虚拟客户端1375。

在一个示例中,管理层1380可以提供下述功能:资源供应功能1381:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能1382:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个示例中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能1383:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能1384:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能1385:为根据sla预测的对云计算资源未来需求提供预先安排和供应。

工作负载层1390提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航1391;软件开发及生命周期管理1392;虚拟教室的教学提供1393;数据分析处理1394;事务处理1395;以及表示和分析组件1396。

如本申请中所使用的,术语“组件”、“系统”、“平台”、“接口”等可以指代和/或可以包括计算机相关的实体或与具有一个或多个特定功能的操作机器相关的实体。本文中公开的实体可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是,但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行线程内,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。在另一示例中,相应组件可从其上存储有各种数据结构的各种计算机可读介质执行。这些组件可以诸如根据具有一个或多个数据分组的信号(例如,来自一个组件的数据,该组件经由该信号与本地系统、分布式系统中的其他组件进行交互和/或通过诸如因特网之类的网络与其它系统进行交互)经由本地和/或远程进程进行通信。作为另一示例,组件可以是具有由电气或电子电路操作的机械部件提供的特定功能的装置,该电气或电子电路由处理器执行的软件或固件应用来操作。在这种情况下,处理器可以在装置的内部或外部,并且可以执行软件或固件应用的至少一部分。作为又一示例,组件可以是通过电子组件而不是机械部件来提供特定功能的装置,其中电子组件可以包括执行软件或固件的处理器或其他方法,所述软件或固件至少部分地赋予电子组件的功能。在一方面,组件可经由例如云计算系统内的虚拟机来模拟电子组件。

此外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另外指定,或者从上下文中清楚,否则“x采用a或b”旨在表示任何自然的包含性排列。也就是说,如果x采用a;x采用b;或者x采用a和b两者,则在任何前述实例下都满足“x采用a或b”。此外,除非另外指定或从上下文中清楚是指单数形式,否则如在本说明书和附图中使用的冠词“一”和“一个”一般应被解释为表示“一个或多个”。如本文中使用的,术语“示例”和/或“示例性”用来表示用作示例、实例或说明。为了避免疑惑,本文中公开的主题不受这样的示例限制。此外,本文中被描述为“示例”和/或“示例性”的任何方面或设计不一定被解释为比其它方面或设计优选或有利,也不意味着排除本领域普通技术人员已知的等效示例性结构和技术。

如在本说明书中所采用的,术语“处理器”可以指基本上任何计算处理单元或设备,包括但不限于:单核处理器;具有软件多线程执行能力的单处理器;多核处理器;具有软件多线程执行能力的多核处理器;具有硬件多线程技术的多核处理器;并行平台;以及具有分布式共享存储器的并行平台。另外,处理器可以是指被设计为执行本文中描述的功能的集成电路、专用集成电路(asic)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑控制器(plc)、复杂可编程逻辑器件(cpld)、分立门或晶体管逻辑、分立硬件组件或其任意组合。此外,处理器可以采用纳米级架构,例如但不限于基于分子和量子点的晶体管、开关和门,以便优化空间使用或提高用户设备的性能。处理器也可以被实现为计算处理单元的组合。在本公开中,诸如“存储库”、“存储设备”、“数据存储库”、“数据存储设备”、“数据库”以及与组件的操作和功能相关的基本上任何其他信息存储组件之类的术语被用来指代“存储器组件”、“在“存储器”中体现的实体”或包括存储器的组件。应当理解,本文中描述的存储器和/或存储器组件可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。通过说明而非限制,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除rom(eeprom)、闪存或非易失性随机存取存储器(ram)(例如,铁电ram(feram))。易失性存储器可以包括例如可以充当外部高速缓冲存储器的ram。通过说明而非限制,ram可以以许多形式获得,诸如同步ram(sram)、动态ram(dram)、同步dram(sdram)、双倍数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路dram(sldram)、直接rambusram(drram)、直接rambus动态ram(drdram)和rambus动态ram(rdram)。另外,本文中公开的系统或计算机实现的方法的存储器组件旨在包括而不限于包括这些和任何其他合适类型的存储器。

以上描述的内容仅包括系统和计算机实现的方法的示例。当然,不可能为了描述本公开的目的而描述组件或计算机实现的方法的每个可想到的组合,但是本领域的普通技术人员可以认识到,本公开的许多其他组合和排列是可能的。此外,就在详细描述、权利要求书、附录和附图中使用的术语“包括”、“具有”、“拥有”等来说,这样的术语旨在以与术语“包含”在权利要求书中用作过渡词时所解释的方式类似的方式为包含性的。以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所描述的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变型都是明显的。本文中使用的术语被选择为最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文中公开的各实施例。

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