CN110832453A - 使用基于云的系统的应用的分布式版本控制 - Google Patents

使用基于云的系统的应用的分布式版本控制 Download PDF

Info

Publication number
CN110832453A
CN110832453A CN201880042162.8A CN201880042162A CN110832453A CN 110832453 A CN110832453 A CN 110832453A CN 201880042162 A CN201880042162 A CN 201880042162A CN 110832453 A CN110832453 A CN 110832453A
Authority
CN
China
Prior art keywords
application
native
local
cloud
native application
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
Application number
CN201880042162.8A
Other languages
English (en)
Other versions
CN110832453B (zh
Inventor
B·纳拉亚南
D·纳拉亚南
C·I·泰戈尔
N·科里斯纳帕
R·尚卡尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN110832453A publication Critical patent/CN110832453A/zh
Application granted granted Critical
Publication of CN110832453B publication Critical patent/CN110832453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5048Automatic or semi-automatic definitions, e.g. definition templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及将本地应用导出到云系统并在云系统上供应导出的应用。此外,能够为供应的应用生成模板,并且每个模板能够被分别定制并作为具有定义的拓扑的应用环境部署到目的地。快速而动态地生成供应的应用的可部署模板使得能够对应用进行基于云的分布式版本控制。

Description

使用基于云的系统的应用的分布式版本控制
技术领域
本公开涉及将本地应用导出到云系统并创建导出的应用的模板以针对不同的用途进行定制。更具体地,本公开涉及用云系统中的应用层定制来模板化应用部署。
背景技术
基于云的应用因其可扩展性而变得越来越流行。托管本地应用的系统(例如,在本地而不是在云网络上托管和管理的应用)可以受益于开发基于云的应用。但是,由于当今应用的复杂性,难以将本地应用导出到云。例如,本地应用可以由有限数量的服务器托管,而云网络可以使用无限数量的具有复杂网络拓扑的虚拟机来运行应用。因此,确实将其本地应用导出到云网络的公司常常丧失定制配置并且必须重新配置其先前定义的定制设置才能在云网络上运行应用。
发明内容
本公开的某些方面和特征涉及用于在维持本地应用的现有配置和/或定制设置的同时将本地应用(例如,未托管在云网络上的应用)导出到分布式云系统的系统和方法。例如,可以使用数据库服务器来执行本地应用,该数据库服务器存储并运行特定于本地应用的二进制应用代码和/或应用层定制设置。应用的定制设置的示例可以包括应用的拓扑(例如,与数据库服务器、应用服务器、web服务器等相关联的节点的数量)、中间层配置设置、中间件配置设置以及其它合适的配置设置。在某些实施例中,导出本地应用可以包括将本地应用序列化为部署包(例如,以使该应用可在云网络上部署的格式的部署数据)并将部署包存储在云存储系统中(例如,云网络中的储存库,其存储所有应用版本,包括特定本地应用的中间件、补丁程序和版本。在一些示例中,序列化本地应用可以包括提取与本地应用相关联的元数据并将提取出的元数据变换为可以存储在云存储系统中的部署包。与本地应用相关联的元数据的示例包括但不限于本地应用的版本、本地应用中安装的工具的版本、特定于本地应用的定制设置(例如,指示数据库服务器、web服务器和本地应用的中间件是在单个服务器上运行还是单独分布在多个服务器上的设置)、执行本地应用所生成或产生的任何数据(例如,通过运行本地应用而生成的用户数据),以及其它合适的元数据。有利地,将本地应用序列化为一个或多个部署包并将部署包存储在云存储系统中使得能够在云网络上克隆(例如,备份)本地应用而不会破坏本地应用的现有运行时环境。
此外,一旦本地应用已被导出到云网络并存储在云存储系统中,本公开的某些方面和特征就提供使用户能够在云网络上供应(provision)应用并创建导出的应用的多个版本(例如,可定制模板),以部署在基于云的基础体系架构中。在一些实施方式中,模板可以是应用的蓝图。应用的蓝图可以定义在网络节点上运行的计算节点和服务器。例如,接口使用户能够创建本地应用的多个模板,这些模板已被导出到云并存储在云存储系统中,目的是为了修改和/或更新应用以用于各种用途(例如,添加和/或测试该应用中的新特征、在开发环境中运行该应用、在生产环境中运行该应用,等等)。在一些示例中,在将本地应用的(一个或多个)部署包部署在云存储系统中之后,接口为用户提供克隆该应用以生成已部署的应用的一个或多个模板的选项。例如,克隆已部署的应用生成该应用的运行环境的模板。模板可以指应用的版本(例如,具有新特征或修复的错误的应用的克隆)。可以生成应用的多个模板,并且可以与其它模板不同地定制每个模板。另外,可以将每个生成的模板分开存储在云存储系统中,并进行克隆以生成附加模板。有利地,开发人员可以修改和定制模板的配置设置,并将每个模板作为应用的版本分开存储在储存库中。可以用与那个特定模板相关联的定制配置设置来部署模板(例如,可以执行具有定制配置设置的应用的实例)。为了说明,可以生成应用的第一模板以供在开发环境中使用并且可以将其配置为在单个服务器上运行(例如,各自在单个服务器上运行的数据库服务器、web服务器和中间件),而可以生成同一应用的第二个模板以供在生产环境中使用并且可以以更加分布式的方式进行配置,其中数据库服务器在服务器上运行,web服务器在不同的服务器上运行,并且应用的中间件存储在另一个不同的服务器上。有利地,模板使应用能够对于不同环境(例如,生产、演示、培训等)具有高度可扩展性和可定制性。
作为非限制性示例,用户可以操作运行本地应用的本地系统。使用界面,用户可以将本地应用从本地系统“提升并转移”到基于云的网络体系架构,而不会中断在本地系统上运行的本地应用的执行。例如,用户可以访问云管理器应用以将本地应用导出到云系统。具体而言,用户可以登录到云管理器应用,该应用可以呈现被配置为从用户接收将本地应用从本地系统导出到云系统的指令的界面。在一些实施方式中,用户可以从云管理器应用下载实用程序应用(例如,导出应用)。例如,用于执行“提升并转移”操作的实用程序可以作为.zip文件被下载并由用户触发。一旦被触发,就可以将实用程序应用配置为发现在本地系统上运行的本地应用的底层体系架构和配置设置(例如,app_home和cust_home)。例如,实用程序应用可以自动提取本地应用的基础设施和软件细节,并以完整的定制配置设置导出本地应用。用户可以将实用程序应用指向本地应用(例如,输入运行本地应用的一个或多个数据库的网络位置)。响应于将实用程序应用指向本地系统上的本地应用,可以执行命令集。该命令集一旦被执行,就可以序列化本地应用并生成一个或多个以特定格式存储应用和任何应用层定制设置的部署包。部署包可以包括具有表示本地应用的元数据的序列化配置文件(例如,配置文件可以指向中间层正在运行的位置并导出中间层的配置)。另外,部署包(例如,.zip文件)可以包括本地应用的所有配置设置。部署包可以从本地系统传输到云系统并存储在云系统内的储存库中。可以将云管理器应用配置为然后基于部署包中包括的配置设置来为本地应用创建新环境。例如,可以将新环境配置为在其在本地系统上运行时镜像本地应用的拓扑。作为另一个示例,云管理器应用可以被配置为使用户能够为云上的本地应用定义新的拓扑。
当将部署包存储在储存库中时,用户可以登录云管理器并执行“转移操作”。在转移操作中,可以使用部署包来识别本地系统的导出的数据库。另外,用户可以基于部署包来创建应用的新运行环境,并且可以将应用部署在云系统上。部署应用可以包括创建将在其中安装数据库的计算节点、将配置设置应用于云系统中的数据库以及为应用生成中间层。例如,中间层包括应用层和web层。此外,云管理器可以执行某些健康状况检查和核实,以确保数据库和中间层正常操作。
继续上面的示例,作为正在进行的开发的一部分,用户可以在云系统上修改应用。例如,用户可以更新应用、修补应用代码中检测到的错误和/或向应用添加新特征。云管理器使用户能够创建具有软件变更、配置变更、部署变更等的应用的模板,并将模板作为应用的新版本存储在云系统的储存库中。每个模板的定制方式可以与同一应用的其它模板不同,因此可以将其标记为应用的不同版本。可以将应用作为单元提供,以将其部署到云系统内的其它用户组。例如,可以生成和定制应用的模板以包括新特征,然后将其部署在生产环境中。在一些实施方式中,当将应用的部署包存储在储存库中时,可以使用定义的拓扑和模板在云系统中供应应用。在云系统中供应应用可以包括部署具有定义的拓扑、模板和一个或多个部署包的完整应用环境。
在一些实施方式中,用户可以以模板的形式创建基本应用版本,该模板可以被用于在云系统中部署应用环境。基本应用版本可以包括应用的基础设施布局细节,诸如虚拟机的数量、每个虚拟机的细节(例如,CPU、存储器存储空间、盘空间、网络配置等)。另外,基本应用版本可以包括用于应用服务器、web服务器和数据库的软件版本。基本应用版本还可以包括操作系统、系统配置和应用配置设置的版本细节。因此,基本应用版本(例如,模板)可以包括将应用部署在云系统上的所有必需的基础设施和软件要求(包括系统和应用配置细节)。应用可以被更新,并且更新后的应用可以被应用或结合到模板中。
在某些实施例中,可以提供一种计算机实现的方法。该方法可以包括在云系统处从本地系统接收对导出应用的请求。导出应用可以被配置为将存储在本地系统上的本地应用导出到云系统。可以由存储在本地系统上的一个或多个配置设置来定义本地应用。该方法还可以包括将导出应用传输到本地系统,使得传输导出应用促进在本地系统上执行导出应用。导出应用的执行可以包括:发现存储在本地系统上的应用数据,该应用数据与本地应用相关联,其中应用数据包括与本地应用对应的一个或多个配置设置;以及将应用数据变换成具有可导出格式的部署数据。该方法可以包括在云系统处并且从本地系统接收部署数据,以及为云系统中的本地应用定义新环境。可以使用部署数据中包括的一个或多个配置设置来定义新环境,并且可以配置该新环境以在云系统上配置本地应用。可以生成新环境的一个或多个模板。一个或多个模板中的每个模板可以是本地应用的可部署版本,并且一个或多个模板中的每个模板可以是分开可修改的以包括对本地应用的一个或多个配置设置的一个或多个修改。
在某些实施例中,可以提供一种系统。该系统可以包括一个或多个数据处理器,以及包含指令的非暂态计算机可读存储介质,当指令在一个或多个数据处理器上执行时,使得一个或多个数据处理器执行以上以及本文所述的(一个或多个)方法。此外,可以提供有形地实施在非暂态机器可读存储介质中的计算机程序产品,包括被配置为使数据处理装置执行以上以及本文所述的(一个或多个)方法。
有利地,用户可以对部署在云系统中的应用进行修改,并且在进行修改之后,用户可以生成更新后的应用环境的模板,以分发给其他用户以进行进一步修改。另外,模板可以被用于在不同的网络部署(诸如虚拟机、数据库即服务、平台即服务等)中供应应用。
附图说明
说明书参考以下附图,其中在不同附图中使用相同的标号旨在示出相同或类似的组件。
图1A图示了根据本公开一些实施例的用于配置、收集和分析日志数据的示例系统。
图1B图示了使用系统来配置、收集和分析日志数据的方案的流程图。
图2图示了示例报告用户界面。
图3A-3C是图示主机环境处的日志分析系统的内部结构的流程图。
图4是图示示例网络环境的框图。
图5-8是根据某些实施例的示例界面。
图9是图示用于创建模板的处理的流程图。
图10是图示用于实现实施例之一的分布式系统的简化图。
图11是图示系统环境的一个或多个组件的简化框图。
图12图示了示例性计算机系统,其中可以实现本发明的各种实施例。
具体实施方式
在以下描述中,出于解释的目的,阐述了具体细节以便提供对本发明实施例的透彻理解。但是,显而易见的是,可以在没有这些具体细节的情况下实践各种实施例。附图和描述不是限制性的。
许多类型的计算系统和应用生成大量与那个计算系统或应用的操作有关或由此产生的数据。然后,这些大量数据被频繁存储到收集的位置,诸如日志文件/记录,如果需要分析系统或应用的行为或操作,那么可以在稍后的时间段查看这些数据。
虽然以下描述可以通过关于“日志”数据的说明来描述实施例,但是还可以预期其它类型数据的处理。因此,实施例在其应用方面不仅限于日志数据。此外,以下描述也可以互换地指被处理为“记录”或“消息”的数据,而无意将本发明的范围限制到数据的任何特定格式。
图1A图示了根据本发明一些实施例的用于配置、收集和分析日志数据的示例系统100。系统100包括日志分析系统101,在一些实施例中,日志分析系统101被实施为基于云和/或基于SaaS(软件即服务)的体系架构。这意味着日志分析系统101能够将日志分析功能作为被托管平台上的服务提供,使得需要该服务的每个客户不需要在客户自己的网络上单独安装和配置服务组件。日志分析系统101能够向多个单独的客户提供日志分析服务,并且可以被扩展以服务于任何数量的客户。
每个客户网络104可以包括任何数量的主机109。主机109是客户网络104内的计算平台,其生成作为一个或多个日志文件的日志数据。在主机109内产生的原始日志数据可以源自任何日志产生源。例如,原始日志数据可以源自数据库管理系统(DBMS)、数据库应用(DB App)、中间件、操作系统、硬件组件或任何其它创建日志的应用、组件或系统。在每个客户网络中提供一个或多个网关108以与日志分析系统101通信。
系统100可以包括在一个或多个用户站103处的一个或多个用户,其使用系统100来操作日志分析系统101并与之交互。用户站103包括可以用于操作系统100中的日志分析系统101或与之交互的任何类型的计算站。这种用户站的示例包括例如工作站、个人计算机、移动设备或远程计算终端。用户站包括显示设备,诸如显示监视器,用于向用户站处的用户显示用户界面。用户站还包括一个或多个输入设备,以供用户提供对系统100的活动的操作控制,诸如鼠标或键盘,以操纵图形用户界面中的指向对象以生成用户输入。在一些实施例中,用户站103可以(但不是必须)位于客户网络104内。
日志分析系统101包括用户站101处的用户可访问的功能,其中日志分析系统101被实现为引擎、机制和/或模块的集合(无论是硬件、软件还是硬件和软件的混合)以执行日志数据的配置、收集和分析。用户界面(UI)机制生成UI以显示分类和分析结果,并允许用户与日志分析系统交互。
图1B示出了使用系统100来配置、收集和分析日志数据的方案的流程图。图1B的这个讨论将参考图1A中针对系统100所示的组件。
在120处,在系统内配置日志监视。例如,这可以通过用户/客户配置用户/客户期望的日志监视/数据搜集的类型而发生。在系统101内,包括UI控件的配置机制129可由用户操作,以选择和配置日志收集配置111和目标表示113以进行日志收集配置。
日志收集配置111包括识别要收集哪些数据(例如,哪些日志文件)、要收集的数据的位置(例如,目录位置)、如何访问数据(例如,日志的格式和/或要获取的日志中的具体字段)和/或何时收集数据(例如,定期地)的信息集(例如,日志规则、日志源信息和日志类型信息)。日志收集配置111可以包括由服务提供者包括的开箱即用规则。日志收集配置111还可以包括客户定义/客户定制的规则。
目标表示113识别“目标”,它是包含和/或产生日志的客户环境内的各个组件。这些目标与客户环境中的具体组件/主机相关联。示例目标可以是具体数据库应用,它与一个或多个日志和/或一个或多个主机相关联。
122处的下一个动作是根据用户配置捕获日志数据。日志数据可以源自任何日志产生源位置,诸如数据库管理系统、数据库应用、中间件、硬件日志、操作系统日志、应用日志、应用服务器日志、数据库服务器日志以及任何其它类型的监视系统或应用的行为的日志。
在一些实例中,日志规则111与目标表示之间的关联被发送到客户网络104以进行处理。日志分析系统的代理存在于每个主机109上,以从主机109上的适当日志收集数据。
在一些实施例中,可以对捕获的数据执行数据遮蔽。遮蔽是在收集时执行的,它在客户数据离开客户网络之前保护客户数据。例如,所收集的日志数据中的各种类型的信息(诸如用户名和其它个人信息)可以足够敏感,以在被发送到服务器之前被遮蔽。为这样的数据识别模式,这样的数据可以在针对服务器被收集之前被移除和/或改变为代理数据。这允许数据仍然用于分析目的,同时隐藏敏感数据。一些实施例永久地移除敏感数据(例如,将所有此类数据改变为“***”符号),或者改变为被映射的数据,以便可以恢复原始数据。
在124处,将收集的日志数据从客户网络104递送到日志分析系统101。客户网络104中的多个主机109将收集的数据提供给较少数量的一个或多个网关108,然后网关108将日志数据发送到日志分析系统101处的边缘服务106。边缘服务106接收通过一个或多个客户网络收集的数据,执行任何摄取处理(例如,应用语法规则以将每个消息变换为缺少集群间消息可变性的分量的归一化的消息或概略消息,并将每个经变换的消息指派给使用经变换的消息的散列识别出的初始集群),并且可以将数据放入入站数据存储装置中以供日志处理管道107进一步处理。
在126处,日志处理流水线107对收集的日志数据执行一系列数据处理和分析操作。在各种情况下,处理和分析操作可以包括在存储数据之前和/或通过对从数据存储装置检索到的数据执行动作所执行的动作。例如,可以在摄入时间(例如,在从源接收到(一个或多个)日志消息时)将一个或多个日志消息指派给初始集群,并且随后可以响应于查询而检索(一个或多个)日志消息,以修改或补充初始聚类并基于聚类生成统计和/或呈现。
在128处,然后将经处理的数据存储到数据存储设备110中。计算机可读存储设备110包括硬件和软件的任意组合,其允许随时访问位于计算机可读存储设备110的数据。例如,计算机可读存储设备110可以被实现为由操作系统可操作地管理的计算机存储器。计算机可读存储设备110中的数据还可以被实现为数据库对象、云对象和/或文件系统中的文件。在一些实施例中,经处理的数据存储在文本/加索引的数据存储装置110a(例如,作为SOLR集群)和原始/历史数据存储装置110b(例如,作为HDFS集群)内。
SOLR集群与ApacheTM开源本地搜索平台对应。SOLR集群可以使用搜索库来执行全文加索引以及存储在HDFS集群中的数据的搜索。SOLR集群可以提供与各种语言兼容的API,以将搜索功能与其它程序和应用通过接口接合。加索引可以近乎实时地执行。集群可以在服务器集合上运行,以促进容错和可用性。加索引和搜索任务可以分布在服务器集合上。
HDFS集群与Hadoop分布式文件系统集群对应。HDFS集群可以包括许多(例如,数千个)服务器以托管存储装置(例如,直接附连的存储装置)并执行任务,诸如由用户应用定义的任务。HDFS集群可以包括主/从体系架构,其具有用于管理集群的命名空间的单个主服务器。可以将文件划分为块以存储在HDFS集群的多个DataNode上。主服务器可以执行文件操作(例如,打开、关闭等)并确定哪些块将存储在哪些数据节点上。主服务器可以与数据节点交流响应于接收到对应的文件操作而读取或写入数据的请求。
在130处,可以使用报告机制/UI 115对经处理的数据执行报告。如图2中所示,报告UI 200可以包括日志搜索工具202、一个或多个仪表板204,和/或用于分析/查看经处理的日志数据的任何合适的应用206。下面更详细地描述这种报告组件的示例。
在132处,可以对经处理的数据执行事故(incident)管理。可以在日志分析系统内配置一个或多个警报条件,使得在检测到警报条件时,事故管理机制117向指定的用户集合提供事故/警报的通知。
在134处,校正动作引擎119可以执行在客户网络104内采取的任何必要动作。例如,可以接收数据库系统停机的日志条目。当识别出这种日志条目时,可能的自动校正动作是尝试重新启动数据库系统。客户可以创建校正动作脚本来解决这种情况。可以执行触发器以运行执行校正动作的脚本(例如,触发器使得指令被发送到客户网络上的代理以运行脚本)。在替代实施例中,将用于该情况的适当脚本从服务器下推到客户网络以便被执行。此外,在136处,可以至少基于经处理的数据适当地采取任何其它附加功能和/或动作。
图3A提供了主机环境340处的日志分析系统的内部结构和客户环境342内与日志分析系统交互的组件的更详细的图示。这个体系架构300被配置为提供能够处置大量日志数据摄入的日志监视流。
在单个客户主机/服务器344内的客户环境342中,LA(日志分析)代理333取得日志监视配置数据332(例如,嗅探器配置或目标侧配置素材),并调用日志文件336嗅探器(本文也称为“日志收集器”,以从一个或多个日志文件338搜集日志数据。
守护进程管理器334可以被用来与日志文件嗅探器336通过接口接合。日志文件嗅探器336从主机机器344上的一个或多个日志文件338中读取。守护进程管理器334取得日志内容并将其打包,以便可以将其传递回LA代理333。要注意的是,系统可以包括任何数量的不同种类的嗅探器,并且日志嗅探器336仅仅是可以在系统中使用的单一类型的嗅探器的示例。因此,可以在本发明的各种实施例中采用其它类型的嗅探器,例如,监视注册表、数据库、窗口事件日志等的嗅探器。此外,在一些实施例中,日志嗅探器被配置为处置集体/压缩文件,例如,Zip文件。
LA代理333将搜集的日志数据发送到网关代理330。网关代理330打包从多个客户主机/服务器收集的日志数据,基本上充当聚合器以聚合来自多个主机的日志内容。然后,打包的内容从网关代理330发送到边缘服务306。边缘服务306从来自任意数量的不同客户环境342的多个网关代理330接收大量数据。
给定可以在边缘服务306处接收的潜在大量数据,可以立即处理数据以将每个日志消息指派给初始集群并存储到入站数据存储设备304(“平台入站聚类存储装置”)中。在一些实例中,可以在摄入时间执行初始或初步处理,这可以包括与数据存储对应的时间(例如,之前、之后很短时间或之后立即,或与之并发)。初始或初步处理可以包括(例如)检测数据的哪些部分是不可变分量,并基于在消息中检测到的不可变分量确定每个日志消息的初始集群。例如,可以将散列技术应用于每个不可变分量的值以生成初始集群的标识符。然后可以将日志消息与初始集群的标识符相关联地存储,或者可以存储其它集群数据以指示日志消息与初始集群相关联。可以在后续处理期间进一步细化、增强和/或使用集群指派,诸如在后续资源可用性的时间期间发生的处理期间和/或响应于接收对与相关联的日志消息对应或可能对应的数据的查询。
因此,在一些实例中,管理和维护队列,其中队列元素与集群指派要对其进行细化、增强和/或使用的一个或多个日志消息对应。在队列元素的初始存储之后和/或响应于接收与一个或多个相关联的日志消息对应或可能对应的数据的查询,可以将元素添加到队列(例如)。该队列可以用于日志处理管道308。
提供数据结构以管理入站数据存储装置内要处理的项。在一些实施例中,消息传递平台302(例如,使用Kafka产品实现)可以用于跟踪队列内的待处理项。在日志处理管道308内,队列消费者310识别要处理的队列中的下一个项,然后从平台入站存储装置中检索该项。队列消费者310包括能够处理系统内离开队列的工作的任何实体,诸如进程、线程、节点或任务。
检索到的日志数据经历“解析”阶段312,其中日志条目被解析并分解成具体的字段或分量。为日志配置的“日志类型”指定如何将日志条目分解为期望的字段。
在“聚类”阶段313,进一步分析日志数据以将各个日志消息指派给集群。具体而言,可以评估在摄取处理期间(例如,在304处)向其指派日志消息的多个初始集群,以确定是否将其中一些初始集群合并在一起。评估可以包括识别每个集群的一个或多个代表性样品并进行成对定量比较评估。经由成对比较评估被评估的集群对可以包括具有相同或相似数量的分量(或词)的日志消息的集群。在一些实例中,每对集群包括与多个分量相关联的集群,所述多个分量相同或彼此相差小于阈值数量(例如,预定义、默认数量或由用户识别),使用评估被评价。比较评估可以迭代地和/或以结构化方式执行(例如,使得在评价具有不同数量的分量的对之前评价具有相同数量的分量的对)。
成对定量比较评估可以包括,例如,使用代表消息生成相似度度量,并确定度量是否超过阈值度量(例如,预定义的、由用户识别出的默认数量)。相似度度量可以基于(例如)代表性消息是否包括相同(或相似)数量的分量、可变(或不可变)分量的数量、一个或多个不可变分量中的每一个的内容、一个或多个可变分量的特点(例如,格式、字符类型或长度),等等。相似度度量可以基于生成集群间消息之间的相关系数,或者通过使用更大的消息集执行聚类技术,达到集群的代表性消息被指派给相同集群或共享分量的程度(例如,如果技术包括使用分量分析,诸如主分量分析或独立分量分析)。
在“归一化”阶段314中,识别出的字段被归一化。例如,“时间”字段可以在不同日志中以任何数量的不同方式表示。这个时间字段可以被归一化为单个可识别的格式(例如,UTC格式)。作为另一个示例,词“error”可以在不同系统上以不同方式表示(例如,全部大写“ERROR”、全部小写“error”、第一个字母大写“Error”或缩写“err”)。这种情况可以要求将不同的词形式/类型归一化为单一格式(例如,所有小写的非缩写术语“error”)。
“变换”阶段316可以用于从日志数据合成新内容。作为示例,可以将“标签”添加到日志数据中,以提供关于日志条目的其它信息。作为另一个示例,标签可以识别向其指派了日志消息的集群。
“条件评价”阶段318用于评价日志数据上的指定条件。可以执行这个阶段以识别日志数据内的模式,并创建/识别日志中的警报条件。可以在这个阶段执行任何类型的通知,包括例如发送给管理员/客户的电子邮件/文本消息/呼叫或者到另一个系统或机制的警告。作为一个示例,条件可以定义与集群指派的改变对应的事件,诸如检测指派给给定集群的日志消息的数量(例如,数量或百分比)已经超过阈值(例如,是固定的并且由用户、客户端或规则预定义或定义),诸如低于下阈值或高于上阈值。作为另一个示例,条件可以定义与指派给给定阈值的日志消息的数量正在改变的程度对应的事件,诸如通过识别时间序列的斜率的阈值或者在两个时间区间(bin)之间指派给集群的日志消息的计数或百分比的差异的阈值。作为又一个示例,条件可以定义与多个集群指派对应的事件,诸如指示多个集群中的每个集群的时间序列具有相似形状的事件(例如,通过确定曲线拟合系数是否在阈值量内足够相似、通过确定时间序列中的一个或多个峰值的时间是否在既定的阈值时间内、确定集群的时间序列之间的相关系数是否超过阈值,和/或确定每个个体集群的时间序列的可变性与时间序列之和的可变性之间的差异是否超过阈值)。
然后,日志写入器320将经处理的日志数据写入一个或多个数据存储装置324。在一些实施例中,经处理的数据被存储在文本/加索引的数据存储装置(例如,作为SOLR集群)和原始和/或历史数据存储装置(例如,作为HDFS集群)内。日志写入器还可以将日志数据发送到另一个处理阶段322和/或下游处理引擎。
如图3B中所示,一些实施例提供了侧加载机制350,用于收集日志数据而无需通过客户端侧的代理333。在这种方案中,用户登录到服务器以选择本地系统上的一个或多个文件。系统将在服务器上加载那个文件,并将嗅探那个文件(例如,通过让用户提供日志类型、尝试可能的日志类型、滚动不同的日志类型,或通过对日志类型进行有根据的“猜测”)。然后,如前所述,将嗅探结果传递给Edge服务并进行处理。在图3C的实施例中,仅存在侧加载机制350以搜集日志文件-其中在客户端服务器344上或者未安装和/或不需要代理/嗅探器实体。
根据本公开的各方面,许多业务应用具有事务流(例如,事务的一个或多个阶段的流)。可以使用流密钥(例如,事务ID)或日志文件中存在的任何其它字段来识别流。流密钥可以被用于连接不同的记录并识别特定事务中涉及的步骤。这个特征促进确定在特定时间间隔中哪些事务ID与流中失败的操作对应。
图4示出了用于将本地应用导出到云系统的示例网络环境400。网络环境400可以包括本地系统410和云系统450。本地系统410可以包括一个或多个内部子系统,诸如(一个或多个)数据库服务器420、(一个或多个)应用服务器430和(一个或多个)web服务器440。例如,数据库服务器420可以存储与本地应用相关联的数据文件,应用服务器430可以存储本地应用的应用代码,并且web服务器440可以存储本地应用的web代码。另外,本地系统410可以与实体(例如,公司)相关联。本地系统410的内部子系统中的每一个可以不包括在云系统中或分布在云网络内。在一些实施方式中,数据库服务器420、应用服务器430和web服务器440的物理组件可以在与实体相关联的设施本地。数据库服务器420、应用服务器430和web服务器440中的每一个可以至少部分地执行本地应用。
将认识到的是,虽然术语“本地”用于指系统位于不在云网络上托管的实体的设施处,但是本公开不限于此。例如,本地系统410及其内部子系统可以是或可以不是物理地位于实体的设施本地处,而是,内部子系统可以位于不附属于该实体的区域中(例如,租用的服务器)。此外,本地系统410可以用于运行由实体管理的本地应用。
在一些实施方式中,云系统450可以被配置为存储拓扑455、模板460、部署数据465、供应系统470、编排流程475和储存库480。例如,云系统450可以是由ORACLE管理和操作的云网络。储存库480可以包括一个或多个存储系统,用于存储从本地系统导出到云系统450的传入的本地应用的所有部署包。另外,储存库480可以存储使用“克隆到模板”特征创建的本地应用的所有版本。云系统450可以包括被配置为管理云管理器应用的一个或多个方面的一个或多个应用、系统或引擎。例如,云管理器管理员可以操作或访问云管理器应用以管理云系统450的操作。另外,储存库480可以存储已经从本地系统410迁移到云系统450的本地应用的可部署和/或可导出版本。云管理器应用可以是在云系统450中提供应用环境的部署的应用。例如,云管理器应用可以以自动化的方式在云系统450上部署PEOPLESOFT应用(例如,人力资本管理(HCM)、财务供应链管理(FSCM)等)。
在一些情况下,本地系统410的网络管理员可以尝试将其本地应用导出到云(例如,为了增加本地应用的可扩展性、在不同的环境中使用位置应用(诸如从培训环境到生产环境)等等)。本公开的实施例使本地系统的网络管理员能够将其本地应用从内部子系统导出到云系统450。在一些情况下,在应用的生命周期内,应用管理员可以将本地应用迁移到云系统450。在迁移过程期间,应用管理员可以使用部署包导出本地应用环境,并将部署包导入云系统450。云管理器应用可以读取本地应用的部署包,并使用供应系统470在云系统450上部署应用。
在一些情况下,作为正在进行的开发的一部分,例如,应用管理员可以对已迁移的应用(例如,从本地系统导出到云系统之后的本地应用)进行增量改变,以更新现有特征或添加新特征,并执行定制。在一些实施方式中,云管理器应用可以使自助服务组能够利用软件变更、配置变更(例如,更新数据库服务器的版本)、部署变更(例如,改变本地应用的拓扑)来对应用进行版本控制(例如,创建应用的不同版本),并以可导出和/或可部署的格式提供本地应用,以便在其他用户组(例如,开发人员)之间共享。
在一些实施方式中,云管理器应用可以使用户能够在云系统450上创建和部署分布式应用。例如,用户可以设置与云系统450相关联的云账户。云账户可以使用户能够访问云管理器应用的功能。一旦创建了账户,用户就可以执行与云管理器应用相关联的各种操作,包括将本地应用导出到云系统450、生成(spawn)新的虚拟机、创建本地应用的模板,等等。
另外,一旦本地应用已导出到云系统450(例如,当本地应用的对应部署包已存储在储存库480中时),用户就可以创建本地应用的模板并将一个或多个拓扑与模板相关联。例如,一个拓扑可以与一个环境(例如,开发环境)对应,而另一个拓扑可以与另一个环境(例如,生产环境)对应。拓扑可以被定义为本地应用的不同节点。例如,拓扑可以由物理节点和配置设置(诸如CPU、服务的分布、盘存储空间到虚拟机的分配、网络、端口及其它合适的配置设置)定义。另外,应用可以包括中间层、数据库服务器、应用服务器、web服务器、服务等或在其上执行。在云系统450上,这些系统可以分布在任意数量的虚拟机和/或计算节点上。例如,可以执行本地应用,使得数据库服务器、应用服务器和web服务器各自在单个节点(例如,服务器)上运行,并且在将本地应用迁移到云系统450之后,本地应用可以被配置为使用其中数据库服务器、应用服务器和web服务器中的每一个在不同节点上执行的拓扑。用户可以定义每个节点的配置(例如,定义数据库应当运行多少个CPU、定义web服务器、定义存储空间和速度等)。一旦定义了拓扑,就可以将拓扑与环境模板相关联(例如,如图7所示)。当已经为应用定义了模板之后,可以通过创建应用的一个或多个模板并将一个或多个模板中的每一个与定义的拓扑(不一定是相同的拓扑)相关联来将应用分发到其它系统。
在一些实施方式中,将本地应用导出到云系统450可以包括从云系统450(例如,从云管理器应用)下载实用程序应用(例如,存储导出应用的.zip文件)。一旦被下载到本地系统410上,就可以触发实用程序应用。在被触发之后,可以将该实用程序配置为从用户接收输入。例如,用户可以将实用程序指向本地应用环境(例如,用户可以识别本地应用的数据库服务器、应用服务器和/或web服务器的网络位置)。换句话说,实用程序可以发现本地环境以识别应用的底层框架。例如,实用程序应用可以发现本地应用的网络拓扑、中间件数据(例如,数据库服务器、操作系统、应用服务器和/或web服务器的版本)。一旦被发现,实用程序应用就可以将发现的配置设置(例如,网络拓扑和中间件数据)存储在一个或多个部署包(例如,.zip文件)中,这些部署包以可导出的格式存储发现的配置设置。部署包可以被用于导出本地应用。作为非限制性示例,部署包可以包括两个.zip文件;一个包括数据库服务器的配置,另一个可以包括与应用相关的配置设置(例如,中间层数据)。部署包可以被用于将应用变换成可导出的格式。另外,该实用程序可以将部署包上传到云系统450。上传部署包可以包括将部署包存储在储存库480中。可以将云管理器应用配置为使用部署包为本地应用创建新环境。有利地,当本地应用在本地系统410中运行时,本地应用可以已经在单个物理节点上运行,但是一旦被导出到云系统450,该应用就可以被反序列化并且可以在不同的网络拓扑上运行。此外,一个优点是,可以将本地应用与导出该应用之前存在的所有定制配置设置一起导出。
在一些实施方式中,可以在本地系统410处将应用序列化为处置包括数据库服务器和中间层的定制的可导出格式,然后在云系统450上反序列化,以便可以将应用部署在云系统450上。在一些实施方式中,部署包可以是独立单元,其包含用于让云系统450运行应用的所有配置设置和中间件。此外,部署包可以包括在本地系统410上定义的应用层定制。作为另一个示例,部署包可以包括中间件配置、数据库、数据库中存储空间的尺寸、中间层存储、中间层配置,等等。另外,在一些实施方式中,部署包使应用的所有配置能够以单一格式被表示。
在一些实施方式中,可以使用几个组件来执行本地应用在云系统450上的供应。例如,云管理器应用(未示出)可以使用定义的拓扑455、本地应用的特定模板460、部署数据465(例如,本地应用的一个或多个部署包)、供应系统470,编排处理流程475和储存库480来促进在云系统450上供应本地应用。在一些实施方式中,供应系统470可以执行编排流程的步骤,以便在云系统450的云服务器上供应本地应用。例如,编排流程评估定义的拓扑,以确定要为应用环境创建的基础设施。在一些示例中,供应系统470可以定义计算节点的配置设置(例如,分配给一个或多个虚拟机的随机存取存储器(RAM)的数量)以在云系统450上部署本地应用。编排流程可以通过为本地应用部署数据库服务器开始。部署数据库服务器可以包括定义将运行供应应用的数据库服务器的配置设置。由供应系统470执行的编排流程中的下一步可以包括配置和部署本地应用的中间件。例如,可以基于由用户提供的配置来定义本地应用的中间件。接下来,定义的中间件与云系统450的一个或多个云服务器连接。编排流程移至下一步,其中将基于定义的中间件配置Elasticsearch服务器。供应系统470可以执行编排流程的步骤以将本地应用供应到云系统450的云服务器上。
将认识到的是,在供应本地应用之后,可能需要随时间更新应用环境(例如,补丁、错误修复、新特征等)。例如,就对数据库中的表空间和存储的数据的改变而言,可以存在通过数据库更新对供应的应用和数据库二进制文件的改变。与先前部署的供应的应用相比,更新后的应用可以是应用环境的新的且更新后的版本。云系统450可以促进从应用环境的更新后的版本创建新模板(例如,通过执行“克隆到模板”特征)。
将认识到的是,在云系统450上供应应用可以包括封装需要在云上部署的本地应用的部署包。例如,为应用环境定义拓扑可以包括指定运行数据库服务器、应用服务器和web服务器的节点的分布(例如,是否数据库服务器在单个节点上运行、应用服务器在另一个节点上运行并且web服务器在另一个节点上运行,或者是否数据库服务器、应用服务器和web服务器各自在单个节点上运行)。定义用于本地应用的拓扑还可以包括指定RAM、CPU和用于在云系统450上配置本地应用的磁盘类型。
还应该认识到的是,一旦供应了本地应用,用户就可以对供应的应用进行定制(例如,根据用户的需求来改变数据)。云管理器应用允许用户执行称为“模板化”的处理,其中云管理器应用捕获所供应的应用的当前拓扑以及对该应用所做的改变,包括对数据库服务器、二进制文件和定制的改变。云管理器用更新来克隆当前拓扑并将克隆的应用存储为要存储在储存库中的新部署包。每个新模板都被标记为本地应用的版本。有利地,开发人员可以访问各个模板并针对不同用途对各个模板进行进一步修改(例如,开发人员可以对模板进行修改以便可以在培训环境中使用该应用,开发人员可以对另一个模板进行修改以便可以在生产环境中使用该应用,等等)。每个新模板都作为应用的版本存储在资源库中。当对模板进行修改时,经修改的模板被序列化并作为部署包存储在储存库中。
图5是图示云管理器应用的示例的界面。界面500可以被配置为呈现多个可选择的元素510-550。虽然图5的可选择的元素510-550被示为图块,但是应该认识到的是,可选择的元素可以以任何形状或形式呈现。此外,每个可选择的元素可以与云管理器应用的特征或功能相关联。例如,可选择的元素510与上述的“提升并转移”应用对应。与本地系统相关联的用户可以使用界面500访问云管理器应用。在用户试图将本地应用导出到与云管理器应用相关联的云系统的场景中,用户可以选择可选择的元素510。可选择的元素510可以引起一个或多个附加界面,这些附加界面使用户能够下载实用程序应用,该实用程序应用可以发现其数据库服务器、应用服务器和/或网络服务器的应用环境及对应配置设置。
将认识到的是,提升操作使得能够自动检测本地应用的数据库服务器、应用服务器和web服务器的配置设置。在一些情况下,数据库服务器可以被检测为较旧的版本。在这种情况下,实用程序应用在执行提升操作之前自动将数据库服务器转换成当前版本(例如ORACLE DATABASE 12c)。
可选择的元素520使用户能够访问云系统的储存库中存储的各种部署包。储存库可以存储本地应用的部署包(例如,本地应用的基本版本)以及从本地应用生成的任何模板的部署包。在一些实施方式中,云管理器应用提供订阅任意数量的通道的途径,这些通道被映射到一个或多个应用环境(例如,PEOPLESOFT的应用支柱,诸如人力资本管理)。用户可以使用可选择的元素520访问储存库以订阅任何可用通道。一旦被订阅,云管理器应用就周期性地从数据存储装置自动下载与订阅的应用相关联的下载信息(例如,可以被部署以获取演示实例的完整镜像、更新镜像、错误修复等)。这些包被自动下载并存储在云管理器文件服务器中。可以有附加下载信息,诸如Colbalt服务器和Elasticsearch部署包。
可选择的元素530使用户能够访问已在云管理器应用中定义的各种拓扑。拓扑的示例可以包括提升并转移–DBaaS(例如,提升并转移拓扑,其中数据库部署在数据库即服务上)、PUM Fulltier(例如,具有一个Linux节点和一个Windows客户端的完整层拓扑)、提升并转移(例如,用于提升并转移的默认拓扑)、FullTier(例如,单个虚拟机层部署)、具有弹性搜索的FullTier(例如,具有一个弹性搜索实例的一个FullTier实例)、DBCS(例如,数据库云服务、用于中间层的一个计算实例以及用于数据库服务器的一个DBCS实例)、Multi-MT-One-DB(例如,具有一个数据库服务器实例的多个中间层实例),以及其它合适的拓扑。
可选择的元素540使用户能够访问已经在云系统上供应的特定应用的先前生成的环境模板。可选择的元素550使用户能够访问先前在云管理器应用内定义的各种环境。
图6是当在图5中选择可选择的元素510时呈现的示例界面。例如,界面600列出已经上传到云系统的应用的部署包。在一些情况下,上传的部署包可以存储在与云管理器应用相关联的云存储系统中。在一些情况下,上传的部署包可以存储在云系统的储存库中。在一些情况下,应用的模板存储在储存库中。
作为示例,界面600列出元素610(“PSPBD”)作为已经从本地系统上传的部署包。界面600使用户能够执行与上传的部署包相关联的一个或多个动作。例如,可以在选择按钮620之后呈现动作630。动作630可以包括“查看细节”、“创建环境”和“删除”。如果选择了“创建环境”,那么云管理器应用可以在云上发起对应用的供应(例如,使用编排流程)。
图7和8图示了当用户发起创建已上传到云存储系统或储存库的应用模板时呈现的示例界面。例如,界面700使用户能够输入要创建的目标模板的一般细节。界面700还使用户能够选择数据库服务器以与模板相关联。例如,界面700图示了选择PEOPLESOFT HCM服务器作为数据库服务器以与环境模板相关联。图8图示了用于定义与模板相关联的拓扑的示例界面。例如,界面800使用户能够选择将用于运行环境模板的拓扑。图8中所示的示例指示用户选择了“PUM(PEOPLESOFT更新管理器)Fulltier”,它是具有一个Linux节点和一个Windows客户端的完整层拓扑。有利地,云管理器应用的界面启用应用在云上的高度可扩展和按需供应。另外,作为优点,现有应用的新版本可以快速部署到各个目的地,以供开发人员进行进一步修改。
图9是图示用于对云上的应用进行模板化的示例处理900的流程图。处理900可以至少部分地由日志分析系统(例如,日志分析系统101)执行。另外,可以执行处理900以使用户能够更新和修改云系统上的现有应用。处理900在方框905处开始,其中云系统从用户设备接收创建模板的信号。例如,一旦已经将本地应用导出到云系统,用户就可以创建该应用的多个版本以进行更新和测试。对应用进行模板化可以包括创建该应用的实例(例如,副本、快照等)。应用的实例可以包括应用中存在的所有定制配置以及应用的网络拓扑。云系统可以例如经由呈现在用户设备上的界面从用户设备接收信号。例如,当用户设备访问云管理器时,可以将界面呈现给用户设备。云管理器可以包括可以触发模板化处理的可选择的特征(例如,按钮、链接等)。
在方框910处,可以响应于接收到对应用进行模板化的信号(在方框905处接收)而执行“克隆到模板”特征。在一些实施方式中,用户可以使用云管理器以模板的形式创建基本应用版本,该模板可以被用于部署应用环境。基本应用版本可以包括基础设施布局细节,诸如虚拟机的数量和每个虚拟机的配置设置(例如,定义CPU、存储器、磁盘、网络等)。另外,云管理器还可以捕获用于(一个或多个)应用服务器、(一个或多个)web服务器和(一个或多个)数据库的初始软件版本。云管理器还可以捕获操作系统、系统配置和应用配置设置的版本细节。在这些实施方式中,模板可以包括导出、模板化和/或部署应用所需的所有基础设施和软件要求。
使用基本应用版本,用户可以使用云系统来创建和/或部署环境。云系统可以通过使用初始模板(例如,基本应用版本)中的细节来自动化环境的供应和配置,从而促进部署环境。
在创建基本应用版本的环境之后,将按照模板中所定义的(例如基本应用版本)对环境进行供应。作为应用的生命周期的一部分,可能需要随时间更新或修改环境。例如,就对数据库中的表空间和数据的改变而言,可以存在通过数据库更新对已安装的应用的改变。当与使用初始模板部署的基本环境(例如,基本应用版本)相比时,对环境的修改成为该环境的新的且更新后的版本。云管理器可以根据环境的更新版本来创建新模板。可以通过执行“克隆到模板”特征来创建新模板。
在环境的新版本上执行“克隆到模板”特征可以包括自动(经由云管理器)确定创建新模板版本所需的细节。例如,在方框915处,云管理器可以从环境的新版本中自动至少提取以下数据点(或其任意组合):(1)用于应用服务器、web服务器和数据库的应用二进制文件的新版本;(2)应用服务器、web服务器和数据库的更新后的配置;(3)存储在应用服务器中的新的定制配置;以及(4)存储在数据库中的数据文件。在方框920处,可以创建新模板并将其存储在云系统中。新模板可以包括部署应用所需的所有基础设施、安全信息、软件和配置细节。
在方框925处,可以部署新模板。例如,可以使用云管理器使用用于环境的新版本的新模板(例如,包括更新和修改)来用具有更新后的配置设置来部署新模板。因此,可以通过供应更新后的模板来将版本控制的环境提供给用户。
将认识到的是,新模板可以具有分布式部分(例如,分布式数据库、中间层、中间件数据等)。还应认识到的是,储存库480可以存储云系统应用(例如,PEOPLESOFT)的所有二进制运行。另外,储存库可以为迁移到云系统的每个应用存储部署包的位置。还应认识到的是,用户可以通过对环境进行模板化来将新特征应用于应用的现有环境。例如,模板化可以包括以可部署的格式导出应用,并创建应用的多个版本,同时仍然捕获在应用的配置设置中定义的应用层定制。还应认识到的是,模板化可以包括在给定时间捕获应用的状态的快照。快照包括应用数据和表示对系统的配置所做改变的定制的配置设置。另外,快照可以包括环境如何分布的网络拓扑(例如,正在使用多少个数据库、应用服务器和web服务器以及它们的对应配置)。有利地,可以在云系统中维护应用的多个版本,并将其绑定到不同的或用户定义的拓扑,而不会丢失应用中包括的任何应用层定制。
图10描绘了用于实现实施例之一的分布式系统1000的简化图。在所示实施例中,分布式系统1000包括一个或多个客户端计算设备1002、1004、1006和1008,其被配置为通过一个或多个网络1010执行和操作客户端应用,诸如web浏览器、专有客户端(例如,OracleForms)。服务器1012可以经由网络1010与远程客户端计算设备1002、1004、1006和1008通信耦合。
在各种实施例中,服务器1012可以适于运行由系统的一个或多个组件提供的一个或多个服务或软件应用。在一些实施例中,这些服务可以作为基于web的或云服务或者在软件即服务(SaaS)模型下提供给客户端计算设备1002、1004、1006和/或1008的用户。操作客户端计算设备1002、1004、1006和/或1008的用户进而可以利用一个或多个客户端应用与服务器1012交互以利用由这些组件提供的服务。
在图中描绘的配置中,系统1000的软件组件1018、1020和1022被示为在服务器1012上实现。在其它实施例中,系统1000的一个或多个组件和/或由这些组件提供的服务也可以由客户端计算设备1002、1004、1006和/或1008中的一个或多个来实现。然后,操作客户端计算设备的用户可以利用一个或多个客户端应用来使用由这些组件提供的服务。这些组件可以用硬件、固件、软件或其组合来实现。应当认识到的是,各种不同的系统配置是可能的,其可以与分布式系统1000不同。因此,图中所示的实施例是用于实现实施例系统的分布式系统的一个示例,并不旨在进行限制。
客户端计算设备1002、1004、1006和/或1008可以是便携式手持设备(例如,
Figure BDA0002332377960000251
蜂窝电话、
Figure BDA0002332377960000252
计算平板电脑、个人数字助理(PDA))或可穿戴设备(例如,
Figure BDA0002332377960000253
头戴式显示器),运行诸如Microsoft Windows
Figure BDA0002332377960000254
之类的软件,和/或各种移动操作系统(诸如iOS、Windows Phone、Android、BlackBerry 10、Palm OS等),并且启用互联网、电子邮件、短信服务(SMS)、或其它通信协议。客户端计算设备可以是通用个人计算机,包括例如运行各种版本的Microsoft
Figure BDA0002332377960000256
Apple
Figure BDA0002332377960000257
和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行各种商用
Figure BDA0002332377960000258
或类UNIX操作系统中的任何一种的工作站计算机,包括但不限于各种GNU/Linux操作系统,诸如例如Google Chrome OS。可替代地或附加地,客户端计算设备1002、1004、1006和1008可以是任何其它能够通过(一个或多个)网络1010进行通信的电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有
Figure BDA0002332377960000259
手势输入设备的Microsoft Xbox游戏控制台)和/或个人消息传递设备。
虽然示出了具有四个客户端计算设备的示例性分布式系统1000,但是可以支持任何数量的客户端计算设备。其它设备(诸如具有传感器的设备等)可以与服务器1012交互。
分布式系统1000中的(一个或多个)网络1010可以是本领域技术人员熟悉的任何类型的网络,其可以使用各种商业可用协议中的任何协议来支持数据通信,包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系架构)、IPX(互联网分组交换)、AppleTalk等。仅作为示例,(一个或多个)网络1010可以是局域网(LAN),诸如基于以太网、令牌环等的局域网。(一个或多个)网络1010可以是广域网和互联网。它可以包括虚拟网络,包括但不限于虚拟专用网络(VPN)、内联网、外联网、公共交换电话网(PSTN)、红外网络、无线网络(例如,在电气和电子学会(IEEE)802.11协议套件、
Figure BDA0002332377960000261
和/或任何其它无线协议中的任何一个下操作的网络);和/或这些和/或其它网络的任意组合。
服务器1012可以由一个或多个通用计算机、专用服务器计算机(包括例如PC(个人计算机)服务器、
Figure BDA0002332377960000262
服务器、中端服务器、大型计算机、机架式服务器等)、服务器集群、服务器场或任何其它适当的布置和/或组合组成。在各种实施例中,服务器1012可以适于运行在前述公开中描述的一个或多个服务或软件应用。例如,服务器1012可以与用于执行根据本公开的实施例的上述处理的服务器对应。
服务器1012可以运行包括上面讨论的任何操作系统的操作系统,以及任何商业上可用的服务器操作系统。服务器1012还可以运行各种附加服务器应用和/或中间层应用中的任何一种,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、
Figure BDA0002332377960000263
服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft、Sybase、IBM(国际商业机器)等商业获得的数据库服务器。
在一些实施方式中,服务器1012可以包括一个或多个应用,以分析和整合从客户端计算设备1002、1004、1006和1008的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于,
Figure BDA0002332377960000264
馈送、
Figure BDA0002332377960000265
更新或者从一个或多个第三方信息源和连续数据流接收到的实时更新,实时更新可以包括与传感器数据应用、金融价格收报机(financial ticker)、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车交通监视等相关的实时事件。服务器1012还可以包括一个或多个应用,以经由客户端计算设备1002、1004、1006和1008的一个或多个显示设备来显示数据馈送和/或实时事件。
分布式系统1000还可以包括一个或多个数据库1014和1016。数据库1014和1016可以驻留在各种位置。举例来说,数据库1014和1016中的一个或多个可以驻留在服务器1012本地(和/或驻留在服务器1012中)的非瞬态存储介质上。可替代地,数据库1014和1016可以远离服务器1012并经由基于网络的连接或专用的连接与服务器1012通信。在一组实施例中,数据库1014和1016可以驻留在存储区域网络(SAN)中。类似地,用于执行服务器1012所具有的功能的任何必要文件都可以适当地本地存储在服务器1012上和/或远程存储。在一组实施例中,数据库1014和1016可以包括适于响应SQL格式的命令而存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。
图11是根据本公开的实施例的系统环境1100的一个或多个组件的简化框图,通过该系统环境1100,由实施例系统的一个或多个组件提供的服务可以作为云服务提供。在所示实施例中,系统环境1100包括可以由用户使用以与提供云服务的云基础设施系统1102交互的一个或多个客户端计算设备1104、1106和1108。客户端计算设备可以被配置为操作客户端应用,诸如web浏览器、专有客户端应用(例如,Oracle Forms)或某种其它应用,这些应用可以由客户端计算设备的用户用来与云基础设施系统1102交互以使用由云基础设施系统1102提供的服务。
应当认识到的是,图中描绘的云基础设施系统1102可以具有除了所描绘的那些之外的其它组件。另外,图中所示的实施例仅是可以结合本发明的实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统1102可以具有比图中所示更多或更少的组件、可以组合两个或更多个组件、或者可以具有不同的组件配置或布置。
客户端计算设备1104、1106和1108可以是与上面针对1802、1804、1806和1808所描述的设备类似的设备。
虽然示例性系统环境1100被示出具有三个客户端计算设备,但是任何数量的客户端计算设备可以被支持。诸如具有传感器的设备等的其它设备可以与云基础设施系统1102交互。
(一个或多个)网络1110可以促进客户端1104、1106和1108与云基础设施系统1102之间的数据通信和交换。每个网络可以是本领域技术人员所熟悉的可以使用各种商业上可获得的协议(包括上面针对(一个或多个)网络1010所描述的那些协议)中的任何一种支持数据通信的任何类型的网络。
云基础设施系统1102可以包括一个或多个计算机和/或服务器,其可以包括上面针对服务器1012所描述的那些计算机和/或服务器。
在某些实施例中,由云基础设施系统提供的服务可以包括按需对云基础设施系统的用户可用的许多服务,诸如在线数据存储和备份解决方案、基于Web的电子邮件服务、被托管的办公室(office)套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态扩展以满足云基础设施系统的用户的需要。由云基础设施系统提供的服务的具体实例化在本文中被称为“服务实例”。一般而言,从云服务提供商的系统经由通信网络(诸如互联网)对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供商的系统的服务器和系统与客户自己的室内服务器和系统不同。例如,云服务提供商的系统可以托管应用,并且用户可以经由诸如互联网的通信网络按需订购和使用应用。
在一些示例中,计算机网络云基础设施中的服务可以包括对存储装置、被托管的数据库、被托管的Web服务器、软件应用或由云供应商向用户提供的其它服务的受保护的计算机网络访问,或者如本领域中另外已知的。例如,服务可以包括通过互联网对云上的远程存储装置进行密码保护的访问。作为另一个示例,服务可以包括基于Web服务的被托管的关系数据库和脚本语言中间件引擎,以供联网的开发人员私有使用。作为另一个示例,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。
在某些实施例中,云基础设施系统1102可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式递送给客户的应用、中间件和数据库服务供应的套件。这种云基础设施系统的示例是由本受让人提供的Oracle公共云。
在各种实施例中,云基础设施系统1102可以适于自动供应、管理和跟踪客户对由云基础设施系统1102供给的服务的订阅。云基础设施系统1102可以经由不同的部署模型来提供云服务。例如,可以依据公共云模型提供服务,其中云基础设施系统1102被销售云服务的组织拥有(例如,被Oracle拥有),并且服务对一般公众或不同行业的企业可用。作为另一个示例,可以依据私有云模型来提供服务,其中云基础设施系统1102仅针对单个组织操作,并且可以为该组织内的一个或多个实体提供服务。还可以依据社区云模型来提供云服务,其中云基础设施系统1102和由云基础设施系统1102提供的服务由相关社区中的若干组织共享。云服务还可以依据混合云模型被提供,该混合云模型是两个或更多个不同模型的组合。
在一些实施例中,由云基础设施系统802提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别或包括混合服务的其它服务类别下提供的一个或多个服务。客户经由订阅订单可以订购由云基础设施系统1102提供的一个或多个服务。云基础设施系统1102然后执行处理以提供客户的订阅订单中的服务。
在一些实施例中,由云基础设施系统1102提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供落入SaaS类别的云服务。例如,SaaS平台可以提供在集成开发和部署平台上构建和递送按需应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在云基础设施系统上执行的应用。客户可以获取应用服务,而无需客户购买单独许可证和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供销售绩效管理、企业集成和商务灵活性的解决方案的服务。
在一些实施例中,平台服务可以由云基础设施系统经由PaaS平台提供。PaaS平台可以被配置为提供落入PaaS类别的云服务。平台服务的示例可以包括但不限于使组织(诸如Oracle)能够在共享的公共体系架构上整合现有应用以及充分利用平台提供的共享服务来构建新应用的能力的服务。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获取由云基础架构系统提供的PaaS服务,而无需客户购买单独的许可证和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)等。
通过利用由PaaS平台提供的服务,客户可以采用由云基础设施系统支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle融合中间件服务)和Java云服务。在一个实施例中,数据库云服务可以支持共享服务部署模型,该模型使得组织能够汇集数据库资源并且以数据库云的形式向客户供应数据库即服务。中间件云服务可以为客户提供开发和部署各种商务应用的平台,并且Java云服务可以为客户提供在云基础设施系统中部署Java应用的平台。
各种不同的基础设施服务可以由云基础设施系统中的IaaS平台提供。基础设施服务促进底层计算资源(诸如存储装置、网络和其它基础计算资源)的管理和控制,以供客户利用由SaaS平台和PaaS平台提供的服务。
在某些实施例中,云基础设施系统1102还可以包括基础设施资源1130,用于向云基础设施系统的客户提供用于提供各种服务的资源。在一个实施例中,基础设施资源1130可以包括预先集成和优化的硬件(诸如服务器、存储装置和联网资源)的组合,以执行由PaaS平台和SaaS平台提供的服务。
在一些实施例中,云基础设施系统1102中的资源可以由多个用户共享并且根据需要动态重新分配。此外,可以将资源分配给在不同时区的用户。例如,云基础设施系统1130可以使在第一时区中的第一组用户能够在指定的小时数内利用云基础设施系统的资源,并且然后使相同资源能够被重新分配给位于不同时区的另一组用户,从而使资源的利用率最大化。
在某些实施例中,可以提供由云基础设施系统1102的不同组件或模块以及由云基础设施系统1102提供的服务共享的多个内部共享服务1132。这些内部共享服务可以包括但不限于:安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。
在某些实施例中,云基础设施系统1102可以提供云基础设施系统中的云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一个实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统1102接收到的客户订阅等的能力。
在一个实施例中,如图中所绘出的,云管理功能可以由一个或多个模块提供,诸如订单管理模块1120、订单编排模块1122、订单供应模块1124、订单管理和监视模块1126,以及身份管理模块1128。这些模块可以包括一个或多个计算机和/或服务器或者使用一个或多个计算机和/或服务器来提供,这些计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场、服务器集群或任何其它适当的布置/或组合。
在示例性操作1134中,使用客户端设备(诸如客户端设备1104、1106或1108)的客户可以通过请求由云基础设施系统1102提供的一个或多个服务并且下订阅由云基础设施系统1102供应的一个或多个服务来的订单来与云基础设施系统1102交互。在某些实施例中,客户可以访问云用户界面(UI)、云UI 1112、云UI 1114和/或云UI 1116并经由这些UI下订阅订单。云基础设施系统1102响应于客户下订单而接收到的订单信息可以包括识别客户以及客户想要订阅的云基础设施系统1102供应的一个或多个服务的信息。
在客户下订单之后,经由云UI 1112、1114和/或1116接收订单信息。
在操作1136处,订单存储在订单数据库1118中。订单数据库1118可以是由云基础设施系统1118操作和与其它系统元件一起操作的若干数据库之一。
在操作1138处,订单信息被转发到订单管理模块1120。在一些情况下,订单管理模块1120可以被配置为执行与订单相关的计费和记账功能,诸如验证订单,并且在验证后,预订订单。
在操作1140处,将关于订单的信息传送到订单编排模块1122。订单编排模块1122可以利用订单信息为客户下的订单编排服务和资源的供应。在一些情况下,订单编排模块1122可以使用订单供应模块1124的服务来编排资源的供应以支持订阅的服务。
在某些实施例中,订单编排模块1122使得能够管理与每个订单相关联的业务流程并应用业务逻辑来确定订单是否应该进行到供应。在操作1142处,在接收到新订阅的订单时,订单编排模块1122向订单供应模块1124发送请求以分配资源并配置履行订阅订单所需的那些资源。订单供应模块1124使得能够为客户订购的服务分配资源。订单供应模块1124提供由云基础设施系统1100提供的云服务和用于供应用于提供所请求的服务的资源的物理实施方式层之间的抽象层。因此,订单编排模块1122可以与实施方式细节隔离,诸如服务和资源是否实际上即时供应或预先供应并仅在请求后才分配/指派。
在操作1144处,一旦供应了服务和资源,就可以通过云基础设施系统1102的订单供应模块1124向客户端设备1104、1106和/或1108上的客户发送所提供服务的通知。
在操作1146处,订单管理和监视模块1126可以管理和跟踪客户的订阅订单。在一些情况下,订单管理和监视模块1126可以被配置为收集订阅订单中的服务的使用统计,诸如,所使用的存储量、传输的数据量、用户的数量,以及系统运行时间和系统停机时间量。
在某些实施例中,云基础设施系统1100可以包括身份管理模块1128。身份管理模块1128可以被配置为提供身份服务,诸如云基础设施系统1100中的访问管理和授权服务。在一些实施例中,身份管理模块1128可以控制关于希望利用由云基础设施系统1102提供的服务的客户的信息。这样的信息可以包括认证这些客户的身份的信息以及描述这些客户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行哪些动作的信息。身份管理模块1128还可以包括对关于每个客户的描述性信息以及关于如何和由谁来访问和修改这些描述性信息的管理。
图12图示了其中可以实现本发明的各种实施例的示例性计算机系统1200。系统1200可以用于实现上述计算机系统中的任何一个。如图所示,计算机系统1200包括经由总线子系统1202与多个外围子系统通信的处理单元1204。这些外围子系统可以包括处理加速单元1206、I/O子系统1208、存储子系统1218和通信子系统1224。存储子系统1218包括有形计算机可读存储介质1222和系统存储器1210。
总线子系统1202提供用于让计算机系统1200的各种组件和子系统按意图彼此进行通信的机制。虽然总线子系统1202被示意性地示出为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统1202可以是若干种类型的总线结构中的任何类型,这些总线类型包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系架构中的任何体系架构的局部总线。例如,这种体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线,这些总线可以被实现为按IEEE P1386.1标准制造的Mezzanine总线。
可以被实现为一个或多个集成电路(例如,常规微处理器或微控制器)的处理单元1204控制计算机系统1200的操作。一个或多个处理器可以被包括在处理单元1204中。这些处理器可以包括单核处理器或多核处理器。在某些实施例中,处理单元1204可以被实现为一个或多个独立的处理单元1232和/或1234,其中在每个处理单元中包括单核处理器或多核处理器。在其它实施例中,处理单元1204也可以被实现为通过将两个双核处理器集成到单个芯片中形成的四核处理单元。
在各种实施例中,处理单元1204可以响应于程序代码执行各种程序并且可以维护多个并发执行的程序或进程。在任何给定的时间,要被执行的程序代码中的一些或全部代码可以驻留在(一个或多个)处理器1204中和/或存储子系统1218中。通过适当的编程,(一个或多个)处理器1204可以提供上述各种功能。计算机系统1200可以附加地包括处理加速单元1206,该处理加速单元1206可以包括数字信号处理器(DSP)、专用处理器等。
I/O子系统1208可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可以包括键盘、诸如鼠标或轨迹球的指向设备、结合到显示器中的触摸板或触摸屏、滚动轮、点击轮、拨盘、按钮、开关、小键盘、具有语音命令辨识系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备可以包括,例如,运动感测和/或手势辨识设备,诸如Microsoft
Figure BDA0002332377960000341
运动传感器,该运动传感器使得用户能够通过使用手势和语音命令的自然用户接口来控制诸如Microsoft
Figure BDA0002332377960000342
360游戏控制器的输入设备并与输入设备交互。用户接口输入设备也可以包括眼睛姿势辨识设备,诸如从用户检测眼睛活动(例如,当拍摄照片和/或进行菜单选择时的“眨眼”)并且将眼睛姿势变换为进入输入设备(例如,Google
Figure BDA0002332377960000343
)中的输入的Google
Figure BDA0002332377960000344
眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音辨识系统(例如,
Figure BDA0002332377960000345
导航器)交互的语音辨识感测设备。
用户接口输入设备也可以包括但不限于:三维(3D)鼠标、操纵杆或指向棒(pointing stick)、游戏面板和绘图板,以及音频/视觉设备,诸如扬声器、数码相机、数码摄录机、便携式媒体播放器、网络摄像头、图像扫描仪、指纹扫描仪、条形码阅读器3D扫描仪、3D打印机、激光测距仪和视线跟踪设备。此外,用户接口输入设备可以包括,例如,医学成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层显像、医疗超声设备。用户接口输入设备也可以包括,例如,诸如MIDI键盘、数字乐器等的音频输入设备。
用户接口输出设备可以包括显示子系统、指示灯,或者诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如使用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于从计算机系统1200向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于:可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备以及调制解调器。
计算机系统1200可以包括存储子系统1218,存储子系统1218包括被示出为当前位于系统存储器1210内的软件元件。系统存储器1210可以存储可加载并且可在处理单元1204上执行的程序指令,以及在这些程序的执行期间所生成的数据。
取决于计算机系统1200的配置和类型,系统存储器1210可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器等)。RAM通常包含可被处理单元1204立即访问和/或目前正在被处理单元1204操作和执行的数据和/或程序模块。在一些实施方式中,系统存储器1210可以包括多种不同类型的存储器,例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实施方式中,诸如在启动期间,包含有助于在计算机系统1200内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。作为示例但不是限制,系统存储器1210也示出了可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等的应用程序1212,程序数据1214、以及操作系统1216。作为示例,操作系统1216可以包括各种版本的Microsoft
Figure BDA0002332377960000361
Apple
Figure BDA0002332377960000362
和/或Linux操作系统、各种可商业获得的
Figure BDA0002332377960000363
或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、GoogleOS等)和/或诸如iOS、
Figure BDA0002332377960000365
Phone、
Figure BDA0002332377960000366
OS、10OS和
Figure BDA0002332377960000368
OS操作系统的移动操作系统。
存储子系统1218也可以提供用于存储提供一些实施例的功能的基本编程和数据结构的有形计算机可读存储介质。当被处理器执行时提供上述功能的软件(程序、代码模块、指令)可以被存储在存储子系统1218中。这些软件模块或指令可以被处理单元1204执行。存储子系统8112也可以提供用于存储根据本发明被使用的数据的储存库。
存储子系统1200也可以包括可被进一步连接到计算机可读存储介质1222的计算机可读存储介质读取器1220。与系统存储器1210一起并且可选地与系统存储器1210相结合,计算机可读存储介质1222可以全面地表示用于临时和/或更持久地包含、存储、发送和检索计算机可读信息的远程、本地、固定和/或可移除的存储设备加存储介质。
包含代码或代码的一部分的计算机可读存储介质1222也可以包括本领域已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于:以用于信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。这可以包括有形的计算机可读存储介质,诸如RAM、ROM、电可擦除可编程ROM(EEPROM)、闪存存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学储存器、磁带盒、磁带、磁盘储存装置或其它磁存储设备、或者其它有形计算机可读介质。这也可以包括非有形的计算机可读介质,诸如数据信号、数据传输,或者可以用于发送期望信息并且可以被计算系统1200访问的任何其它介质。
作为示例,计算机可读存储介质1222可以包括从不可移除的非易失性磁介质读取或写入到不可移除的非易失性磁介质的硬盘驱动器、从可移除的非易失性磁盘读取或写入到可移除的非易失性磁盘的磁盘驱动器、以及从可移除的非易失性光盘(诸如CD ROM、DVD和
Figure BDA0002332377960000371
(蓝光)盘或其它光学介质)读取或写入到可移除的非易失性光盘的光盘驱动器。计算机可读存储介质1222可以包括但不限于:
Figure BDA0002332377960000372
驱动器、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字音频带等。计算机可读存储介质1222也可以包括:基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如固态RAM、动态RAM、静态RAM,基于DRAM的SSD、磁阻RAM(MRAM)SSD)、以及使用基于DRAM和闪存存储器的SSD的组合的混合SSD。盘驱动器及其关联的计算机可读介质可以为计算机系统1200提供计算机可读指令、数据结构、程序模块以及其它数据的非易失性存储。
通信子系统1224提供到其它计算机系统和网络的接口。通信子系统1224用作用于从其它系统接收数据和从计算机系统1200向其它系统发送数据的接口。例如,通信子系统924可以使计算机系统1200能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统1224可以包括用于访问无线语音和/或数据网络的射频(RF)收发器组件(例如,使用蜂窝电话技术、先进数据网络技术,诸如3G、4G或EDGE(用于全球演进的增强型数据速率)、WiFi(IEEE 802.11系列标准)或其它移动通信技术、或者其任何组合)、全球定位系统(GPS)接收器组件和/或其它组件。在一些实施例中,作为无线接口的附加或者替代,通信子系统1224可以提供有线网络连接(例如,以太网)。
在一些实施例中,通信子系统1224也可以代表可以使用计算机系统1200的一个或多个用户来接收以结构化和/或非结构化数据馈送1226、事件流1228、事件更新1230等形式的输入通信。
作为示例,通信子系统1224可以被配置为实时地从社交网络和/或其它通信服务的用户接收数据馈送1226,诸如
Figure BDA0002332377960000381
馈送、
Figure BDA0002332377960000382
更新、诸如丰富站点摘要(RSS)馈送的web馈送和/或来自一个或多个第三方信息源的实时更新。
此外,通信子系统1224也可以被配置为接收以连续数据流形式的数据,该数据可以包括本质上可以是连续的或无界的没有明确终止的实时事件的事件流1228和/或事件更新1230。生成连续数据的应用的示例可以包括,例如,传感器数据应用、金融价格收报机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
通信子系统1224也可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送1226、事件流1228、事件更新1230等,这一个或多个数据库可以与耦合到计算机系统1200的一个或多个流式数据源计算机进行通信。
计算机系统1200可以是各种类型中的一种类型,包括手持便携式设备(例如,
Figure BDA0002332377960000383
蜂窝电话、
Figure BDA0002332377960000384
计算平板电脑、PDA)、可穿戴设备(例如,Google
Figure BDA0002332377960000385
头戴式显示器)、PC、工作站、大型机、信息站(kiosk)、服务器机架、或任何其它数据处理系统。
由于计算机和网络的不断变化的本质,在图中绘出的计算机系统1200的描述仅旨在作为具体的示例。具有比图中绘出的系统更多或更少组件的许多其它配置是可能的。例如,定制的硬件也可以被使用和/或特定的元素可以在硬件、固件、软件(包括小程序应用(applets))或其组合中实现。另外,可以采用到诸如网络输入/输出设备的其它计算设备的连接。基于本文提供的公开内容和教导,本领域普通技术人员将认识到实现各种实施例的其它方式和/或方法。
在前述说明书中,参考本发明的各方面的具体实施例对本发明的各方面进行了描述,但是本领域技术人员将认识到的是,本发明不限于此。上述发明的各个特征和方面可以被单独使用或联合使用。另外,在不脱离本说明书的更广泛精神和范围的情况下,实施例可以在除本文所述的那些环境和应用之外的任何数目的环境和应用中被使用。相应地,本说明书和附图应当被认为是说明性的而不是限制性的。

Claims (20)

1.一种计算机实现的方法,包括:
在云系统处从本地系统接收对导出应用的请求,该导出应用被配置为将存储在本地系统上的本地应用导出到云系统,并且本地应用是由存储在本地系统处的一个或多个配置设置定义的;
向本地系统传输导出应用,其中传输导出应用促进在本地系统处执行该导出应用,导出应用的执行包括:
发现存储在本地系统处的应用数据,该应用数据与本地应用相关联,其中该应用数据包括与本地应用对应的所述一个或多个配置设置,以及
将应用数据变换成具有可导出的格式的部署数据;
在云系统处并从本地系统接收部署数据;
在云系统中为本地应用定义新环境,该新环境是使用部署数据中包括的所述一个或多个配置设置定义的,并且新环境被配置为在云系统上供应该本地应用;以及
生成新环境的一个或多个模板,所述一个或多个模板中的每个模板是本地应用的可部署版本,并且所述一个或多个模板中的每个模板可分开修改以包括对本地应用的所述一个或多个配置设置的一个或多个修改。
2.如权利要求1所述的计算机实现的方法,其中所述一个或多个配置设置包括以下中的任何一者或多者:与本地应用相关联的拓扑和/或在本地系统处定义的一个或多个应用层定制设置。
3.如权利要求1所述的计算机实现的方法,还包括:
在云系统处识别一个或多个新特征,所述一个或多个新特征中的每个特征被配置为向本地应用添加新特征;
识别新环境的所述一个或多个模板中的模板;
更新该模板以包括所述一个或多个新特征;以及
在云系统处部署更新后的模板。
4.如权利要求1所述的计算机实施的方法,其中所述一个或多个配置设置还包括:
本地应用的二进制源代码;
对本地应用的一个或多个二进制改变、定制或数据库改变;
本地应用的中间件数据,包括至少执行该本地应用的web服务器、应用服务器或数据库的版本;
本地应用的操作系统镜像;
与本地应用相关联的系统配置;或者
与本地应用相关联的部署拓扑。
5.如权利要求1所述的计算机实现的方法,其中生成所述一个或多个模板包括生成本地应用的第一模板和第二模板中的每一个,其中第一模板是由用于第一应用环境的第一拓扑定义的,其中第二模板是由用于第二应用环境的第二拓扑定义的,并且其中第一拓扑不同于第二拓扑。
6.如权利要求1所述的计算机实现的方法,其中生成所述一个或多个模板包括执行克隆到模板特征,包括:
生成本地应用的克隆,其中本地应用的克隆包括本地应用的所述一个或多个配置设置;
将本地应用的克隆变换成可导出的格式;
用唯一标识符标记本地应用的克隆;以及
将本地应用的克隆存储在储存库中,其中本地应用的克隆与唯一标识符关联存储。
7.如权利要求1所述的计算机实现的方法,其中本地应用与数据库服务器相关联,其中,当数据库服务器的版本与预定义版本不匹配时,导出应用将数据库服务器的版本自动转换成另一个版本,以将本地应用导出到云系统。
8.一种系统,包括:
一个或多个数据处理器;以及
包含指令的非暂态计算机可读存储介质,当指令在所述一个或多个数据处理器上执行时,使所述一个或多个数据处理器执行包括以下的操作:
在云系统处从本地系统接收对导出应用的请求,该导出应用被配置为将存储在本地系统上的本地应用导出到云系统,并且本地应用是由存储在本地系统处的一个或多个配置设置定义的;
向本地系统传输导出应用,其中传输导出应用促进在本地系统处执行该导出应用,导出应用的执行包括:
发现存储在本地系统处的应用数据,该应用数据与本地应用相关联,其中该应用数据包括与本地应用对应的所述一个或多个配置设置,以及
将应用数据变换成具有可导出的格式的部署数据;
在云系统处并从本地系统接收部署数据;
在云系统中为本地应用定义新环境,该新环境是使用部署数据中包括的所述一个或多个配置设置定义的,并且新环境被配置为在云系统上供应该本地应用;以及
生成新环境的一个或多个模板,所述一个或多个模板中的每个模板是本地应用的可部署版本,并且所述一个或多个模板中的每个模板可分开修改以包括对本地应用的所述一个或多个配置设置的一个或多个修改。
9.如权利要求8所述的系统,其中所述一个或多个配置设置包括与本地应用相关联的拓扑和/或在本地系统处定义的一个或多个应用层定制设置中的任何一个或多个。
10.如权利要求8所述的系统,其中操作还包括:
在云系统处识别一个或多个新特征,所述一个或多个新特征中的每个特征被配置为向本地应用添加新特征;
识别新环境的所述一个或多个模板中的模板;
更新该模板以包括所述一个或多个新特征;以及
在云系统处部署更新后的模板。
11.如权利要求8所述的系统,其中所述一个或多个配置设置还包括:
本地应用的二进制源代码;
对本地应用的一个或多个二进制改变、定制或数据库改变;
本地应用的中间件数据,包括至少执行该本地应用的数据库、应用服务器或web服务器的版本;
本地应用的操作系统镜像;
与本地应用相关联的系统配置;或者
与本地应用相关联的部署拓扑。
12.如权利要求8所述的系统,其中生成所述一个或多个模板包括生成本地应用的第一模板和第二模板中的每一个,其中第一模板是由用于第一应用环境的第一拓扑定义的,其中第二模板是由用于第二应用环境的第二拓扑定义的,并且其中第一拓扑不同于第二拓扑。
13.如权利要求8所述的系统,其中生成所述一个或多个模板包括执行克隆到模板特征,包括:
生成本地应用的克隆,其中本地应用的克隆包括本地应用的所述一个或多个配置设置;
将本地应用的克隆变换成可导出的格式;
用唯一标识符标记本地应用的克隆;以及
将本地应用的克隆存储在储存库中,其中本地应用的克隆与唯一标识符关联存储。
14.如权利要求8所述的系统,其中本地应用与数据库服务器相关联,其中,当数据库服务器的版本与预定义版本不匹配时,导出应用将数据库服务器的版本自动转换成另一个版本,以将本地应用导出到云系统。
15.一种有形地实施在非暂态机器可读存储介质中的计算机程序产品,包括被配置为使数据处理装置执行包括以下的操作的指令:
在云系统处从本地系统接收对导出应用的请求,该导出应用被配置为将存储在本地系统上的本地应用导出到云系统,并且本地应用是由存储在本地系统处的一个或多个配置设置定义的;
向本地系统传输导出应用,其中传输导出应用促进在本地系统处执行该导出应用,导出应用的执行包括:
发现存储在本地系统处的应用数据,该应用数据与本地应用相关联,其中该应用数据包括与本地应用对应的所述一个或多个配置设置,以及
将应用数据变换成具有可导出的格式的部署数据;
在云系统处并从本地系统接收部署数据;
在云系统中为本地应用定义新环境,该新环境是使用部署数据中包括的所述一个或多个配置设置定义的,并且新环境被配置为在云系统上供应该本地应用;以及
生成新环境的一个或多个模板,所述一个或多个模板中的每个模板是本地应用的可部署版本,并且所述一个或多个模板中的每个模板可分开修改以包括对本地应用的所述一个或多个配置设置的一个或多个修改。
16.如权利要求15所述的计算机程序产品,其中所述一个或多个配置设置包括与本地应用相关联的拓扑和/或在本地系统处定义的一个或多个应用层定制设置中的任何一个或多个。
17.如权利要求15所述的计算机程序产品,还包括:
在云系统处识别一个或多个新特征,所述一个或多个新特征中的每个特征被配置为向本地应用添加新特征;
识别新环境的所述一个或多个模板中的模板;
更新该模板以包括所述一个或多个新特征;以及
在云系统处部署更新后的模板。
18.如权利要求15所述的计算机程序产品,其中所述一个或多个配置设置还包括:
本地应用的二进制源代码;
对本地应用的一个或多个二进制改变、定制或数据库改变;
本地应用的中间件数据,包括至少执行该本地应用的数据库、应用服务器或web服务器的版本;
本地应用的操作系统镜像;
与本地应用相关联的系统配置;或者
与本地应用相关联的部署拓扑。
19.如权利要求15所述的计算机程序产品,其中生成所述一个或多个模板包括生成本地应用的第一模板和第二模板中的每一个,其中第一模板是由用于第一应用环境的第一拓扑定义的,其中第二模板是由用于第二应用环境的第二拓扑定义的,并且其中第一拓扑不同于第二拓扑。
20.如权利要求15所述的计算机程序产品,其中生成所述一个或多个模板包括执行克隆到模板特征,包括:
生成本地应用的克隆,其中本地应用的克隆包括本地应用的所述一个或多个配置设置;
将本地应用的克隆变换成可导出的格式;
用唯一标识符标记本地应用的克隆;以及
将本地应用的克隆存储在储存库中,其中本地应用的克隆与唯一标识符关联存储。
CN201880042162.8A 2017-05-16 2018-05-15 使用基于云的系统的应用的分布式版本控制 Active CN110832453B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762507086P 2017-05-16 2017-05-16
US62/507,086 2017-05-16
US15/707,929 US10503493B2 (en) 2017-05-16 2017-09-18 Distributed versioning of applications using cloud-based systems
US15/707,929 2017-09-18
PCT/US2018/032771 WO2018213311A1 (en) 2017-05-16 2018-05-15 Distributed versioning of applications using cloud-based systems

Publications (2)

Publication Number Publication Date
CN110832453A true CN110832453A (zh) 2020-02-21
CN110832453B CN110832453B (zh) 2023-11-28

Family

ID=64271732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880042162.8A Active CN110832453B (zh) 2017-05-16 2018-05-15 使用基于云的系统的应用的分布式版本控制

Country Status (4)

Country Link
US (1) US10503493B2 (zh)
EP (1) EP3625674A1 (zh)
CN (1) CN110832453B (zh)
WO (1) WO2018213311A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760207A (zh) * 2022-05-05 2022-07-15 烽火通信科技股份有限公司 以太网的环网破环方法与系统
CN117390481A (zh) * 2023-12-12 2024-01-12 国网辽宁省电力有限公司 一种分布式光伏发电系统集群划分系统及方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523662B2 (en) * 2016-09-16 2019-12-31 Sap Se In-memory database advanced programming model
KR101913346B1 (ko) * 2017-07-21 2018-10-30 주식회사 티맥스 소프트 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치
US10552141B1 (en) * 2018-02-26 2020-02-04 Amazon Technologies, Inc. Upgrading an execution environment for event-driven functions
US20210019323A1 (en) * 2018-03-30 2021-01-21 Nec Corporation Information processing apparatus, data management system, data management method, and non-temporary computer readable medium including data management program
US10990369B2 (en) * 2018-04-30 2021-04-27 EMC IP Holding Company LLC Repurposing serverless application copies
US11238012B1 (en) * 2018-05-15 2022-02-01 Splunk Inc. Log data extraction from data chunks of an isolated execution environment
US10656922B2 (en) * 2018-05-25 2020-05-19 Paypal, Inc. Systems and methods for providing an application transformation tool
US11537627B1 (en) 2018-09-28 2022-12-27 Splunk Inc. Information technology networked cloud service monitoring
US10812486B2 (en) 2018-12-05 2020-10-20 Bank Of America Corporation Utilizing smart data tags to track and control secure enterprise data
US10958514B2 (en) * 2019-07-16 2021-03-23 Red Hat, Inc. Generating application-server provisioning configurations
EP4055797A4 (en) 2019-11-07 2023-05-17 Microsoft Technology Licensing, LLC MIGRATION OF WEB APPLICATION COMPONENTS TO A CLOUD COMPUTING SYSTEM
US11340952B2 (en) * 2019-11-11 2022-05-24 Microsoft Technology Licensing, Llc Function performance trigger
US20210150433A1 (en) * 2019-11-20 2021-05-20 Sap Se Centralized configuration of enterprise software applications
US11422862B1 (en) * 2019-11-29 2022-08-23 Amazon Technologies, Inc. Serverless computation environment with persistent storage
US11461093B1 (en) 2020-03-13 2022-10-04 Liberty Mutual Insurance Company Automated generation of release note data objects based at least in part on release-time configuration settings
US11474814B1 (en) * 2020-03-13 2022-10-18 Liberty Mutual Insurance Company Modular software application configuration management
US11194566B1 (en) * 2020-03-16 2021-12-07 Amazon Technologies, Inc. Decentralized, cluster-managed deployment of software updates in a multi-cluster environment
US20220188844A1 (en) * 2020-12-10 2022-06-16 Jpmorgan Chase Bank, N.A. System and method for cloud-first streaming and market data utility
US11853100B2 (en) * 2021-04-12 2023-12-26 EMC IP Holding Company LLC Automated delivery of cloud native application updates using one or more user-connection gateways
US20220385552A1 (en) * 2021-05-27 2022-12-01 At&T Intellectual Property I, L.P. Record and replay network traffic
US11533235B1 (en) * 2021-06-24 2022-12-20 Bank Of America Corporation Electronic system for dynamic processing of temporal upstream data and downstream data in communication networks
US11941421B1 (en) 2021-07-09 2024-03-26 Splunk Inc. Evaluating and scaling a collection of isolated execution environments at a particular geographic location
US11755317B2 (en) * 2021-10-15 2023-09-12 Salesforce, Inc. Extensible platform as a service platform for use by multiple enterprises

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102307241A (zh) * 2011-09-27 2012-01-04 上海忠恕物联网科技有限公司 一种基于动态预测的云计算资源部署方法
WO2013152245A1 (en) * 2012-04-06 2013-10-10 Microsoft Corporation Service level objective for cloud hosted applications
US20130283364A1 (en) * 2012-04-24 2013-10-24 Cisco Technology, Inc. Distributed virtual switch architecture for a hybrid cloud
CN104253831A (zh) * 2013-06-26 2014-12-31 国际商业机器公司 一种用于在云计算环境中部署应用的方法和系统
US9146721B1 (en) * 2014-05-30 2015-09-29 Vmware, Inc. Installation of a software agent via an existing template agent
CN105278991A (zh) * 2015-10-26 2016-01-27 中国科学院软件研究所 一种云应用部署配置模型的构造方法
US20160036725A1 (en) * 2014-07-31 2016-02-04 Corent Technology, Inc. Multi-Dimension Topology Mapper for SaaS Applications
US20160078006A1 (en) * 2014-09-15 2016-03-17 Oracle International Corporation High performant and high fidelity previews for css preprocessing frameworks
US20160110183A1 (en) * 2014-04-30 2016-04-21 Pivotal Software, Inc. Fast deployment across cloud platforms
US20160253170A1 (en) * 2015-02-27 2016-09-01 Lenovo (Singapore) Pte, Ltd. Efficient deployment of thin client applications to end user
US9578063B1 (en) * 2015-11-20 2017-02-21 International Business Machines Corporation Application self-service for assured log management in cloud environments
US20170116295A1 (en) * 2015-10-21 2017-04-27 Oracle International Corporation Extensible attributes for data warehouses

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862633B2 (en) * 2008-05-30 2014-10-14 Novell, Inc. System and method for efficiently building virtual appliances in a hosted environment
US8543998B2 (en) * 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US9170798B2 (en) * 2012-03-02 2015-10-27 Vmware, Inc. System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure
US8434080B2 (en) 2011-12-22 2013-04-30 Software Ag Usa, Inc. Distributed cloud application deployment systems and/or associated methods
US9047133B2 (en) * 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
US9110757B2 (en) * 2013-01-14 2015-08-18 Vmware, Inc. Techniques for performing virtual machine software upgrades using virtual disk swapping
US9477507B2 (en) * 2013-12-20 2016-10-25 Vmware, Inc. State customization of forked virtual machines
US9678731B2 (en) * 2014-02-26 2017-06-13 Vmware, Inc. Methods and apparatus to generate a customized application blueprint
US9652211B2 (en) * 2014-06-26 2017-05-16 Vmware, Inc. Policy management of deployment plans
US9645805B2 (en) * 2014-06-26 2017-05-09 Vmware, Inc. Application blueprints based on service templates to deploy applications in different cloud environments
EP3128418A1 (en) 2015-08-03 2017-02-08 Wipro Limited System and method for provisioning and deployment of application environment on hybrid cloud platform
US20170168797A1 (en) * 2015-12-09 2017-06-15 Microsoft Technology Licensing, Llc Model-driven updates distributed to changing topologies
US10289617B2 (en) 2015-12-17 2019-05-14 Oracle International Corporation Accessing on-premise and off-premise datastores that are organized using different application schemas
US10481949B2 (en) * 2016-12-09 2019-11-19 Vmware, Inc. Methods and apparatus to automate deployments of software defined data centers based on user-provided parameter values
US10482111B2 (en) * 2016-12-12 2019-11-19 Vmware, Inc. Custom property cluster definition for a graphic user interface
US10298619B2 (en) * 2016-12-16 2019-05-21 Nicira, Inc. Application template generation and deep packet inspection approach for creation of micro-segmentation policy for network applications

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102307241A (zh) * 2011-09-27 2012-01-04 上海忠恕物联网科技有限公司 一种基于动态预测的云计算资源部署方法
WO2013152245A1 (en) * 2012-04-06 2013-10-10 Microsoft Corporation Service level objective for cloud hosted applications
US20130283364A1 (en) * 2012-04-24 2013-10-24 Cisco Technology, Inc. Distributed virtual switch architecture for a hybrid cloud
CN104253831A (zh) * 2013-06-26 2014-12-31 国际商业机器公司 一种用于在云计算环境中部署应用的方法和系统
US20160110183A1 (en) * 2014-04-30 2016-04-21 Pivotal Software, Inc. Fast deployment across cloud platforms
US20150378708A1 (en) * 2014-05-30 2015-12-31 Vmware, Inc. Installation of a software agent via an existing template agent
US9146721B1 (en) * 2014-05-30 2015-09-29 Vmware, Inc. Installation of a software agent via an existing template agent
US20160036725A1 (en) * 2014-07-31 2016-02-04 Corent Technology, Inc. Multi-Dimension Topology Mapper for SaaS Applications
US20160078006A1 (en) * 2014-09-15 2016-03-17 Oracle International Corporation High performant and high fidelity previews for css preprocessing frameworks
US20160253170A1 (en) * 2015-02-27 2016-09-01 Lenovo (Singapore) Pte, Ltd. Efficient deployment of thin client applications to end user
US20170116295A1 (en) * 2015-10-21 2017-04-27 Oracle International Corporation Extensible attributes for data warehouses
CN105278991A (zh) * 2015-10-26 2016-01-27 中国科学院软件研究所 一种云应用部署配置模型的构造方法
US9578063B1 (en) * 2015-11-20 2017-02-21 International Business Machines Corporation Application self-service for assured log management in cloud environments

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760207A (zh) * 2022-05-05 2022-07-15 烽火通信科技股份有限公司 以太网的环网破环方法与系统
CN117390481A (zh) * 2023-12-12 2024-01-12 国网辽宁省电力有限公司 一种分布式光伏发电系统集群划分系统及方法
CN117390481B (zh) * 2023-12-12 2024-02-27 国网辽宁省电力有限公司 一种分布式光伏发电系统集群划分系统及方法

Also Published As

Publication number Publication date
EP3625674A1 (en) 2020-03-25
CN110832453B (zh) 2023-11-28
US20180336027A1 (en) 2018-11-22
WO2018213311A1 (en) 2018-11-22
US10503493B2 (en) 2019-12-10

Similar Documents

Publication Publication Date Title
CN110832453B (zh) 使用基于云的系统的应用的分布式版本控制
CN111279320B (zh) 实现微服务配置和管理的api储存库
CN109844781B (zh) 用于从日志文件识别处理流并使流可视化的系统和方法
US11036696B2 (en) Resource allocation for database provisioning
EP3198420B1 (en) Compartmentalizing application distribution for disparate electronic devices
US9424481B2 (en) Screenshot database for application verification
US10713271B2 (en) Querying distributed log data using virtual fields defined in query strings
CN110023901B (zh) 用于更新基于云的多层应用栈的系统和方法
US10462210B2 (en) Techniques for automated installation, packing, and configuration of cloud storage services
US11354836B2 (en) Systems and methods for displaying representative samples of tabular data
US11870741B2 (en) Systems and methods for a metadata driven integration of chatbot systems into back-end application services
US10135940B2 (en) Subscribing to event notifications using object instances
US9785543B2 (en) Dual tagging between test and pods
US11983639B2 (en) Systems and methods for identifying process flows from log files and visualizing the flow

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