CN107924333B - 针对多租户云服务中的更新日志转换和关联的方法和装置 - Google Patents
针对多租户云服务中的更新日志转换和关联的方法和装置 Download PDFInfo
- Publication number
- CN107924333B CN107924333B CN201680044961.XA CN201680044961A CN107924333B CN 107924333 B CN107924333 B CN 107924333B CN 201680044961 A CN201680044961 A CN 201680044961A CN 107924333 B CN107924333 B CN 107924333B
- Authority
- CN
- China
- Prior art keywords
- cloud service
- update log
- tenant cloud
- service
- update
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本文中描述了针对多租户云服务中的更新日志转换和关联的技术。多租户云服务内的组件生成更新日志,所述更新日志描述对多租户云服务内的硬件或软件组件进行的改变。接收更新日志并且将更新日志从不同的模式转换为公共模式。中央改变管理服务(“CCMS”)暴露网络服务应用程序接口(“API”)或者其他类型的接口,其他网络服务可以通过所述接口获得已经被转换成公共模式的更新日志。例如,服务可以获得更新日志以便将改变与发生在多租户云服务中的异常或其他事件相关联,以标识可能受影响的上游或下游组件,提供用于查看更新日志、关联或者改变的潜在影响的用户接口,和/或执行其他类型的功能。
Description
技术领域
本发明涉及针对多租户云服务中的更新日志转换和关联的技术。
背景技术
托管的应用是其中软件驻留在通过诸如互联网之类的广域网访问的服务器上的软件应用,而不是安装在本地服务器计算机或者个体客户端计算机上的较传统的预置软件。托管的应用还可以被称为互联网应用、应用服务提供商(“ASP”)、基于万维网(“Web”)的应用、软件即服务(“SAAS”)、或者线上应用。托管的应用通常通过一般被称为“云”的网络来提供服务,并且常常同时由多个客户(被称为“租户”)使用。因此,这样的应用在本文中被称为“多租户云服务”。
多租户云服务当前存在以用于提供电子邮件(“电子邮件”)服务、日历服务、任务管理服务、通信服务、文件存储服务、客户关系管理(“CRM”)服务、以及许多其他服务。诸如这些之类的大规模多租户云服务一般使用在一个或多个地理位置不同的数据中心中操作的数千或甚至数万个服务器计算机来实现。大量网络服务在服务器计算机上执行以实现多租户云服务。额外地,这样的多租户云服务一般需要大量的联网基础结构(例如,数千个路由器、交换机、负载平衡器等)以便使能服务器与其上执行的网络服务之间的数据通信。
在例如在上文中所描述的那些大规模多租户云服务的操作期间,一般需要对用于提供服务的硬件(例如,服务器或者联网组件)和软件(例如,操作系统更新、对多租户云服务代码的更新、配置改变等)进行改变。这些改变可以影响服务的操作,有时是以不可预测的方式的。例如而非限制,对服务器计算机上的操作系统的更新可能导致服务器计算机不能够处理来自服务的客户端的请求。这样的改变还可以影响上游或下游组件的操作,有时也是以不可预测的方式的。因此,对于工程师而言可能难以确定对大规模多租户云服务中的软件或硬件组件进行改变之后的异常的源,所述大规模多租户云服务例如在上文中所描述的利用数千个服务器、联网组件、和软件组件的那些服务。
关于这些和其他考虑呈现了在本文中进行的公开。
发明内容
本文中描述了针对多租户云服务中的更新日志转换和关联的技术。通过对在本文中所公开的技术的实现,可以从结合多租户云服务的供应来执行的服务中收集更新日志,所述更新日志描述对用于提供多租户云服务的硬件或软件组件进行的改变。接着,更新日志可以被转换和利用以将对多租户云服务内的组件进行的改变与在多租户云服务中发生的异常或其他事件相关联。更新日志还可以用于标识可能受改变影响的多租户云服务中的组件。用户界面(“UI”)还可以被生成以用于查看更新日志、改变与异常或其他事件之间的关联、和/或潜在地或实际上受改变影响的组件。可以基于每租户来提供在UI中所呈现的数据,以使得每个租户可以洞悉对多租户云服务内的组件的改变,所述改变可能影响多租户云服务对每个租户用户的可用性。
根据在本文中所公开的一个配置,各种网络服务结合对多租户云服务的供应来执行。网络服务被配置为生成更新日志,所述更新日志描述对用于提供多租户云服务的组件的改变。例如而非限制,用于提供多租户云服务的服务可以发出更新日志。额外地,提供用于管理、部署和/或修改提供多租户云服务的组件的功能的编排服务也可以发出描述其操作的方面的更新日志。
更新日志可以描述对用于提供多租户云服务的硬件或软件组件进行的改变,可以描述对硬件或软件组件的配置的改变,或者可以描述对用于提供多租户云服务的组件进行的其他类型的改变。更新日志可以包括,例如,标识改变开始和结束的时间的数据、针对所改变的组件的标识符(“ID”)、以及与改变相关联的性质。由各种服务所提供的更新日志可以使用不同的模式来表达。
在一个配置中,更新日志转换服务还结合从各种服务接收更新日志并且将所述更新日志转换成公共模式的多租户云服务来执行。更新日志转换服务还可以向每个更新日志分配唯一的ID。接着,公共模式中的更新日志可以被存储在中央更新日志存储库中。更新日志转换服务可以将更新日志直接存储在中央更新日志存储库中,或者可以向中央改变管理服务(“CCMS”)直接提供更新日志以用于存储在中央更新日志存储库中。
CCMS是同样结合对多租户云服务的供应来执行的网络服务。CCMS被配置为暴露其他服务可以通过其获得更新日志的网络服务应用程序接口(“API”)。例如而非限制,在多租户云服务中执行的其他服务可以调用API以基于每租户对更新日志进行搜索、过滤、排序并且执行其他操作。此外,其他服务可以调用API以获得同与多租户云服务的特定租户有关的改变相对应的更新日志。例如而非限制,API可以用于获得仅仅与对用于向特定租户提供多租户云服务的组件进行的改变相对应的更新日志。为了提供该功能,CCMS能够访问映射数据,所述映射数据描述租户与用于提供多租户云服务的硬件和软件组件之间的各种类型的关系,所述关系例如但不限于:描述用于提供多租户云服务的各种组件之间的依赖性的数据、以及标识对用于向多租户中的每个租户提供多租户云服务的组件的数据。
在一个配置中,关联服务也结合对多租户云服务的供应来执行,所述关联服务被配置为将更新日志与在多租户云服务中发生的异常或其他事件相关联。为了提供该功能,关联服务可以利用描述异常的异常数据以及从CCMS获得的映射数据和更新日志,以便标识异常与更新日志之间的关联。在一个配置中,关联服务结合可视化服务来操作,所述可视化服务可以提供租户可以通过其查看更新日志与可能或者实际影响租户的异常之间的关联的数据的合适的用户界面(“UI”)。还可以执行其他类型的关联。
在上文中所描述的更新日志和映射数据还可以用于确定改变的影响范围。例如而非限制,在上文中所描述的映射数据可以用于标识可能受由更新日志中的一个更新日志描述的改变影响的多租户云服务中的组件。标识多租户云服务中与租户相关联并且可能受改变影响的组件的数据接着可以在上文中所描述的UI中被标识。
以相似的方式,更新日志和映射数据还可以用于标识由可能已经引起异常的更新日志所描述的改变,所述异常影响多租户云服务中与特定租户相关联的一个或多个组件。在该示例中,可能已经影响租户的改变还可以在上文中所提及的UI中被标识。以该方式,可以给多租户云服务的单个租户提供示出了可能受改变和/或多个改变影响的租户特定的组件的数据,所述改变和/或多个改变可以影响用于向租户提供多租户云服务的组件。在上文中所描述并且在下文中进一步详述的CCMS和其他服务还可以提供与在多租户云服务中基于每租户进行的改变有关的其他类型的数据。
应当理解的是,在上文中所描述的主题可以被实现为计算机控制的装置、计算机过程、计算系统,或者被实现为诸如计算机可读介质之类的制品。这些和各种其他特征将通过阅读以下具体实施方式并且审阅相关联的附图而是显而易见的。
提供了该发明内容以用简化形式引入在以下具体实施方式中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在该公开的任意部分中所述的任何或全部缺点的实现。
附图说明
图1A是计算机系统架构图,其示出了在本文中所公开的实现中被利用以提供针对多租户云服务的中央改变管理的中央改变管理服务的操作的方面;
图1B是计算机系统架构图,其示出了在图1A中所示出的中央改变管理服务的操作的额外方面;
图2是示出了针对在本文中所公开的一个配置中所利用的更新日志的一个说明性配置的数据结构图;
图3是流程图,其示出了根据在本文中所公开的一个实现的示出了在图1A和图1B中所示出的中央改变管理服务的操作的方面的例程;
图4是流程图,其示出了在本文中所公开的一个实现中结合中央改变管理服务来操作的更新日志转换服务的操作的方面的例程;
图5是流程图,其示出了在本文中所公开的一个实现中示出结合中央改变管理服务来操作的可视化服务的操作的方面的例程;
图6是流程图,其示出了在本文中所公开的一个实现中示出结合中央改变管理服务来操作的关联服务的操作的方面的例程;
图7是计算机架构图,其示出了针对能够实现在本文中所呈现的技术的方面的计算系统的说明性计算机硬件和软件架构;
图8是示出了能够实现在本文中所呈现的技术的方面的分布式计算环境的图;以及
图9是示出了能够实现在本文中所呈现的技术的方面的计算设备架构的计算机架构图。
具体实施方式
以下具体实施方式针对用于更新日志转换和关联多租户云服务的技术。通过在本文中所公开的技术的实现,可以创建并且维护中央更新日志存储库,所述中央更新日志存储库包含描述对用于提供多租户云服务的软件和硬件组件进行的改变的更新日志。可以对更新日志进行转换,并且由更新日志所描述的改变可以与在多租户云服务中发生的异常或者其他事件相关联,可以用于标识受改变影响的改变的组件的上游或下游组件,和/或可以用于基于每租户来提供针对对用于多租户云服务的组件进行的改变的影响的其他类型的洞悉。
尽管在本文中所描述的主题是在结合计算机系统上的操作系统和应用程序的执行来执行的程序模块的一般上下文中呈现的,但本领域技术人员将认识到的是,其他实现可以结合其他类型的程序模块来执行。通常而言,程序模块包括执行特定的任务或者实现特定抽象数据类型的例程、程序、组件、数据结构、以及其他类型的结构。此外,本领域技术人员将认识到的是,在本文中所描述的主题可以利用其他计算机系统配置来实践,所述其他计算机系统配置包括手持设备、多处理器系统、基于微处理器的或可编程消费型电子产品、小型计算机、大型计算机等。
在以下具体实施方式中,对形成本文的部分并且通过其示出了具体配置或示例的附图进行参考。现在参考附图,其中几幅图通篇中相同的附图标记表示相同的元素,将描述用于提供针对多租户云服务的中央改变管理的各种技术的方面。特别地,图1A是计算机系统架构图,其示出了在本文中所公开的实现中被利用以提供针对多租户云服务102的中央改变管理的中央改变管理服务120(其在本文中可以被称为“CCMS 120”)的操作的方面。如在图1A中示出的,在一个特定的配置中,CCMS 120是结合对多租户云服务102的供应来执行的。在一个特定实现中,多租户云服务102是在分布式计算环境104中执行的。分布式计算环境104包括在一个或多个网络上操作、与一个或多个网络通信地操作、或者作为一个或多个网络的部分来操作的计算环境(未在图1A中示出)。
如在上文中简要讨论的,多租户云服务102是其中软件驻留在通过诸如互联网之类的广域网来访问的服务器计算机上的软件应用,而不是安装在本地服务器计算机或者单独的客户端计算机上的较传统的预置软件。如在上文中也提及的,多租户云服务当前存在以用于提供电子邮件服务、日历服务、任务管理服务、通信服务、文件存储服务、CRM服务、以及许多其他服务。
多租户云服务102可以同时由多个客户使用,所述多个客户在图1A中被示出为租户106A-106N(其在本文中单独地被称为“租户106”或者统一被称为“多个租户106”)。租户106A-106N可以分别利用一个或多个租户计算设备108A-108N来与分布式计算环境104进行通信,并且利用或管理由多租户云服务102所提供的功能。租户计算设备108可以经由诸如互联网之类的网络(未在图1A中示出)连接至多租户云服务102。租户计算设备108可以是膝上型计算机、台式计算机、“板式”或平板计算设备、智能电话、视频游戏控制台、或者其他类型的移动计算设备,或者几乎任何其他类型的计算设备。
如在上文中简要讨论的,诸如在图1A中所示出的多租户云服务102之类的大规模多租户云服务一般使用在一个或多个地理位置不同的数据中心(未在图1A中示出)中操作的数千或者甚至数万个服务器计算机(在图1A中被示出为应用服务器112A-112N)来实现。多个网络服务可以在应用服务器112A-112N上执行以实现由多租户云服务102所提供的功能。应用服务器112和网络服务中的一些可以用于提供针对多租户云服务102的能力(例如,存储能力或者另一类型的能力),而其他应用服务器112和网络服务用于执行管理功能。
在图1A中所示出的多租户云服务102还可以利用联网基础结构(未在图1A中示出),所述联网基础结构可以包括路由器、交换机、负载平衡器、以及其他类型的联网组件,以便使能应用服务器112A-112N、网络服务、以及租户计算设备108之间的数据通信。在下文中参考图8提供了关于分布式计算环境104的配置和利用的额外的细节。
还如在上文中简要地讨论的,可以有必要对用于提供多租户云服务102的硬件(例如,应用服务器112A-112N或者联网组件)和软件(操作系统更新、对多租户云服务代码的更新、配制改变等)进行改变。这些改变可以影响多租户云服务102的操作,有时是以不可预测的方式的。例如而非限制,对应用服务器112A-112N中的一个服务器上的操作系统的更新可能导致应用服务器不能够处理来自诸如租户计算设备108之类的服务的客户端的请求。这样的改变还可以影响诸如其他应用服务器112之类的所改变的组件的上游或下游组件的操作,例如,有时也是以不可预测的方式的。因此,对于工程师而言可能难以确定对多租户云服务102中操作的软件或硬件组件进行改变之后的异常的源,多租户云服务102例如在上文中所描述的利用数千个服务器、联网组件、和软件组件的那些服务。
为了解决在上文中所阐述的考虑以及潜在地其他考虑,多租户云服务102内的组件被配置为生成更新日志114A-114B(其在本文中可以被称为“多个更新日志114”或者“更新日志114”),所述更新日志描述对用于提供多租户云服务102的组件已进行或者将进行的改变。例如而非限制,更新日志114可以描述对用于提供多租户云服务102的硬件或软件组件进行的改变,可以描述对硬件或软件组件的配置的改变,或者可以描述对用于提供多租户云服务102的组件进行的其他类型的改变。由更新日志所描述的改变可以由多租户云服务102的提供商雇佣的工程师、由租户106、和/或由未在示图中具体地示出的其他第三方进行。
在一些配置中,更新日志114还可以由第三方来提供。例如,租户106的联网互联网提供商可以提供标识对租户的互联网服务进行的改变的更新日志114。对在租户计算设备108上执行的客户端应用的改变还可以生成更新日志114。以该方式,可以生成更新日志114,其描述对分布式计算环境104中的组件进行的改变、对租户106与多租户云服务102之间的网络连接进行的改变、以及租户计算设备108。
对结合多租户云服务102操作的软件组件的改变包括但不限于:由程序代码的部署(例如,展开新特征、错误修复、性能修复、解决安全缺陷等)所引起的改变、对本地或远程软件配置的改变、以及对操作系统的更新的部署或者对新操作系统的安装。对结合多租户云服务102操作的硬件组件的改变包括但不限于,对故障的硬件的替换、对硬件组件的升级、改变硬件配置、以及添加新的硬件。对硬件组件的改变还包括修改、移除、添加或升级硬件、软件、或者联网组件或联网基础结构(例如但不限于,路由器、负载平衡器、交换机等)的配置。
可以反映在更新日志114中的改变还包括状态改变。状态改变可以是对在多租户云服务102中所使用的硬件或软件组件的状态的任何改变,所述改变例如但不限于:对应用服务器112的重启、或者对结合网络服务的执行来执行的过程的重新开始。更新日志114还可以描述对结合供应多租户云服务102操作的硬件和软件组件的状态的其他类型的改变。因此,一般而言应当认识到,更新日志114可以用于描述在分布式计算环境104中改变软件或硬件组件的持续状态的任何操作。还可以以相似的方式利用更新日志114来描述对诸如租户计算设备108之类的其他计算设备进行的改变,所述其他计算设备消耗由多租户云服务102所提供的功能或者以其他方式与由多租户云服务102所提供的功能进行交互。
如在图1A中示出的,应用服务器112N可以被配置为直接生成描述在应用服务器112N处发生的改变的更新日志114B。编排服务110也可以被利用,并且被配置为以相似的方式生成更新日志114A。编排服务110提供针对管理、引导、和执行应用服务器112上的改变的功能。例如而非限制,编排服务110可以提供用于协调应用服务器112上的软件更新、重启应用服务器112、以及用于对应用服务器112执行其他类型的改变的功能。尽管在图1A中示出了编排服务110的单个实例,但是可以在其他配置中利用该服务的多个实例。在其他配置中,其他类型的服务也可以生成更新日志114。
同样如在图1A中所示出的,可以使用各种不同的数据模式来表达更新日志114。例如,在图1A中所示出的示例中,编排服务110已经使用第一模式生成了更新日志114A,并且在应用服务器112N上执行的网络服务已经使用与第一模式不同的模式生成了更新日志114N。多租户云服务102中的其他网络服务和/或组件还可以利用更新日志114的其他不同模式。
在一个配置中,更新日志转换服务116也结合多租户云服务102来执行。更新日志转换服务116从诸如编排服务110之类的各种网络服务中接收更新日志114,并且将更新日志114转换成使用单个公共模式来表达的更新日志118。例如而非限制,更新日志转换服务116可以暴露可以通过其提交更新日志114以供转换和存储的网络服务API。将已经使用不同模式来表达的更新日志114转换成使用公共模式的更新日志允许要以公共方式、跨包含在所有更新日志114中的数据来执行的查询。以下将提供关于该过程的额外的细节。
更新日志转换服务116还可以将唯一的ID分配给使用公共模式表达的每个更新日志118。例如,可以利用唯一的ID来指示单个改变被应用至多租户服务102中的多个组件。例如而没有限制,可以执行将相同的程序代码部署至多个应用服务器112的单个软件部署。在该情况下,可以生成指示相同的改变被应用至多个应用服务器112的单个更新日志118。还可以在其他配置中以其他方式利用向更新日志118分配的唯一的ID。
一旦被转换,则以公共模式的更新日志118可以被存储在中央更新日志存储库122中。更新日志转换服务116可以直接将更新日志118存储在中央更新日志存储库122中,或者可以向CCMS 120提供更新日志以用于在一些配置中存储在中央更新日志存储库122中。中央更新日志存储库122是分布式数据库服务或者适合于存储以公共模式的更新日志118的另一类型的存储服务或者位置。在下文中参考图4提供了关于更新日志转换服务116的操作的额外细节。
在一些配置中,将更新日志118留存在中央更新日志存储库122中以持续用户指定的时间段。以该方式,可以确定针对在多租户云服务102中操作的特定组件的改变历史。可以将改变历史呈现在适合的UI中,或者以根据各种配置的其他方式使其对租户106可用。
立即参考图2,将描述示出了在本文中所公开的一个配置中利用的更新日志118的一个说明性配置的数据结构图。如在图2中所示出的,更新日志118可以包括例如区域202A,其存储标识相关联的改变开始的时间的数据。相似地,更新日志118可以包括区域202B,其存储标识相关联的改变结束的时间的数据。例如而非限制,区域202A和202B可以分别存储描述软件部署开始和结束的时间的数据。
更新日志118还可以包括存储所改变的组件的组件ID的区域202C。例如而非限制,区域202C可以存储唯一地标识被改变的应用服务器112或联网设备的组件ID。存储在区域202C中的ID还可以指定配置对象(即,存储可以应用于租户、用户、软件组件、或者硬件的设置的配置数据的容器)、租户、或用户的ID。更新日志118还可以包括区域202D,其存储描述改变的性质的数据。例如而非限制,如果更新日志118与软件的部署有关,则区域220D可以存储标识部署的软件的版本号、在软件的部署期间遇到的任何错误、关于如何执行软件部署的信息、以及部署的其他属性的数据。在其他配置中,更新日志118还可以包括其他区域202E,其存储在本文中没有具体地描述的其他数据。
参考回至图1A,将提供关于CCMS 120的操作的额外细节。如在上文中简要地讨论的,CCMS 120是也结合多租户云服务120的供应来执行的网络服务。CCMS 120被配置为暴露网络服务API 128(在图1B中示出),多租户云服务102内部或可能在外部的其他网络服务可以通过网络服务API 128获得公共模式的更新日志118并且对公共模式的更新日志118执行各种操作。例如而非限制,在多租户云服务102中执行的其他网络服务可以调用API 128以基于每租户对更新日志118进行搜索、过滤、排序,并且执行其他操作。
其他网络服务还可以调用由CCMS 120所暴露的API 128以获得同与多租户云服务102的特定租户106有关的改变相对应的更新日志118。例如而非限制,API 128可以用于获得仅与对用于向特定租户106提供多租户云服务102的组件进行的改变相对应的更新日志118。为了提供该功能,CCMS 120还能够访问存储映射数据124的映射数据存储库126。映射数据124描述用于提供多租户云服务102的硬件与软件组件之间的各种类型的关系。
映射数据124可以包括,例如,描述用于提供多租户云服务102的各种软件与硬件组件之间的逻辑或物理关系的数据。例如而非限制,映射数据124可以指定由负载平衡器服务的应用服务器112。映射数据124还可以包括将多租户云服务102中的软件和硬件组件映射至租户106的数据。例如,映射数据124可以指定由特定应用服务器112服务的租户106或者其他类型的硬件或软件组件。就这一点而言应当认识到的是,相同的软件和硬件组件可以同时服务多个租户106。在下文中参考图1B和图3提供了关于CCMS 120的操作的额外细节。
图1B是计算机系统架构图,其示出了在图1A中所示出并且在上文中所描述的中央改变管理服务120的操作的额外方面。如在图1B中所示出的,在一个配置中,关联服务138也结合对多租户云服务102的供应来执行。关联服务138被配置为将由CCMS 120所暴露的更新日志118与在多租户云服务102中发生的异常或其他事件相关联。为了提供该功能,关联服务138可以利用描述在多租户云服务102中发生的异常的异常数据140以及从CCMS 120中获得的映射数据124和更新日志118。异常数据140可以由在多租户云服务102中执行的、被配置为对在多租户云服务102中发生的异常进行检测和报告的服务来生成,所述异常例如服务中断、硬件或软件故障、UI经历异常等。
在一个配置中,CCMS 120和关联服务138结合可以提供图形UI(在图1B中示出为更新日志UI 132)的可视化服务130来操作,其中租户106以及与多租户云服务102相关联的工程师(例如,使用管理计算设备136的工程师134)两者可以通过该图形UI而被提供有这样的数据,该数据标识由更新日志118所描述的改变与多租户云服务102中潜在地或实际上影响租户106的异常之间的关联。其他类型的关联还可以由关联服务138来执行,并且在由可视化服务130所提供的更新日志UI 132中被可视化。
在一些配置中,在上文中所描述的更新日志118和映射数据124还可以用于确定由更新日志118描述的改变的影响范围。例如而非限制,在上文中所描述的映射数据124可以用于标识多租户云服务102中可能受由更新日志118中的一个更新日志所描述的改变影响的组件。例如而非限制,如果更新日志118对应于对负载平衡器设备进行的改变,则可以在UI 132中将由负载平衡器服务的应用服务器112标识为可能受改变影响的组件。接着,可以在更新日志UI 132中标识这样的数据,其标识多租户云服务102中与特定租户106相关联并且可能受特定改变影响的组件。
以相似的方式,更新日志118和映射数据124还可以用于标识由更新日志118所描述的可能已经引起了异常的改变,所述异常影响多租户云服务102中与特定租户106相关联的一个或多个组件。例如,如果用于服务租户106的特定的应用服务器112正在经历异常,则与对上游组件(例如,负载平衡器、交换机、路由器等)进行的改变相对应的更新日志118可以被标识为潜在地影响租户106。在该示例中,还可以在更新日志UI 132中标识与潜在地影响租户106的改变相对应的更新日志118。以该方式,可以给多租户云服务102的单个租户106(或者工程师136)提供示出了可能受改变和/或多个改变影响的租户特定的软件和硬件组件的数据,所述改变可以影响用于向租户106提供多租户云服务102的组件。在其他配置中,CCMS 120以及在上文中所描述并且在下文中进一步详述的其他服务还可以在更新日志UI 132中基于每租户106来提供与在多租户云服务102中进行的改变有关的其他类型的数据。
在下文中关于图3-6提供了在上文中关于图1A-2所描述的功能的额外细节。应当理解的是,在图1A和1B中所示出的服务架构仅仅是说明性的,并且可以利用许多其他配置。例如而非限制,CCMS 120可以在由更新日志转换服务116、关联服务138、和/或可视化服务130执行时,执行在本文中所描述的各种功能。在本文中没有具体提及的其他服务也可以执行在上文中所描述并且在下文中进一步详述的各种功能。就这一点而言,还应当认识到的是,出于示出和讨论的目的,已经极大地简化了在图1A和图1B中所示出的服务架构,并且可以利用比在附图中所示出的多得多多的软件和硬件组件。其他配置对于本领域技术人员而言也将是显而易见的。
图3是根据在本文中所公开的一个实现的示出了例程300的流程图,例程300示出了图1A和图1B中所示出以及在上文中所描述的中央改变管理服务120的操作的方面。应当认识到的是,在本文中关于图3和其他附图所描述的逻辑操作可以被实现为(1)在计算系统上运行的计算机实现的动作或程序模块的序列和/或(2)计算系统内的互连的机器逻辑电路或电路模块。实现是取决于计算系统的性能和其他要求的选择问题。由此,在本文中所描述的逻辑操作不同地被称为状态操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以在软件、固件、专用数字逻辑、及其任何组合中实现。还应当认识到的是,可以执行与在附图中所示出和在本文中所描述的操作相比较多或较少的操作。还可以以与在本文中所描述的那些操作相比不同的顺序来执行这些操作。
例程300在操作302处开始,在操作302中,CCMS 120从更新日志转换服务116中接收使用公共模式来表达的更新日志118。例程300接着可以进行至操作302,在操作302中,CCMS 120将更新日志118存储在中央更新日志存储库122中。如在上文中所讨论的,在一些配置中,更新日志转换服务116将更新日志118直接地存储在中央更新日志存储库122中。其他配置(如图1A中示出的)也可以被利用,其中,更新日志转换服务116将更新日志118存储在中央更新日志存储库122中。
从操作304,例程300进行至操作306,在操作306中,CCMS 120可以接收映射数据124并且将映射数据124存储在映射数据存储库126中。如在图1A中所示出的,在一个配置中,映射数据124可以由网络服务结合对更新日志114的供应来提供。在另一配置中,网络服务专用于维持映射数据124并且将映射数据124提供至CCMS 120。其他配置也可以被利用。
从操作306,例程300进行至操作308。在操作308处,CCMS 120暴露API 128,多租户云服务102内部的网络服务可以通过API 128对包含在中央更新日志存储库122中的更新日志118进行取回、搜索、过滤、排序,并且执行其他操作。在一些配置中,API 128还可以暴露用于允许网络服务也获得与特定更新日志118有关的映射数据124的功能。在其他配置中,其他服务可以提供用于获得映射数据124的功能。
从操作308,例程300进行至操作310,在操作310中,CCMS 120接收并且处理由网络服务进行的对API 128的调用。例如而非限制,可视化服务130可以在某个时间段内利用针对与特定租户106相关的更新日志118的请求来调用API 128。作为对其的响应,CCMS 120可以针对匹配的更新日志118来搜索中央更新日志存储库122、排序和/或过滤返回的更新日志118、并且提供经排序/过滤的更新日志118以响应于对API 128的调用。可以以相似的方式来处理对API 128的其他调用。从操作310,例程300进行回至操作302,在操作302中,可以以相似的方式处理额外的更新日志118和对API 128的调用。
图4是示出了例程400的流程图,例程400示出了更新日志转换服务116的操作的方面,所述更新日志转换服务116结合本文中所公开的一个实现中的中央改变管理服务120来操作。例程400在操作402处开始,在操作402中,更新日志转换服务116从在多租户云服务102中执行的网络服务(例如,从编排服务110)接收更新日志114。接着,例程400进行至操作402,在操作402中,更新日志转换服务116确定所接收的更新日志118是否已经使用在上文中所描述的公共模式来表达。如果已经使用公共模式格式化了所接收的更新日志118,则例程400从操作404进行至操作412,在操作412中,更新日志转换服务116向CCMS 120提供所接收的更新日志以用于存储在中央更新日志存储库122中。交替地,更新日志转换服务116可以将所接收的更新日志存储在中央更新日志存储库122本身中。
在操作404处,如果更新日志转换服务116确定所接收的更新日志114不是使用公共模式来表达的,则例程400从操作404进行至操作406。在操作406处,更新日志转换服务116识别已经用于格式化所接收的更新日志114的模式。接着,例程400从操作406进行至操作408,在操作408处,更新日志转换服务116将所接收的更新日志114转换为使用公共模式来表达的更新日志118,如在上文中讨论的。还如在上文中讨论的,在一些配置中,更新日志118可以包括在上文中关于图3所描述的数据。
从操作408,例程400进行至操作410,在操作410中,唯一的ID被生成并且被分配至经转换的以公共模式的更新日志118。接着,例程400进行至操作412,在操作412中,更新日志转换服务116向CCMS 120提供所接收的更新日志以用于存储在中央更新日志存储库122中。交替地,更新日志转换服务116可以将所接收的更新日志存储在中央更新日志存储库122本身中(如图1A中所示出的)。接着,例程400从操作412进行回至操作402,在操作402中,可以以相似的方式接收和处理额外的更新日志114。
图5是流程图,其示出了在本文中所公开的一个实现中示出结合中央改变管理服务120来操作的可视化服务130的操作的方面的例程500。例程500在操作502处开始,在操作502中,可视化服务130接收针对更新日志UI 132的请求。如在上文中讨论的,例如,租户306可以使用租户计算设备108来请求更新日志UI 132。相似地,云服务工程师134可以使用管理计算设备136来请求更新日志UI 132。请求可以指定更新日志UI 132应当指示与特定租户106相关的更新日志118、标识与可能影响服务租户106的组件的改变相对应的更新日志118、和/或标识服务可能受经计划的或实现的改变影响的租户106的组件。
从操作502,例程500进行至操作503,在操作503中,可视化服务130获得映射数据124。如在上文中所讨论的,映射数据124可以描述多租户云服务102中的软件与硬件组件之间的物理和/或逻辑关系。映射数据124还可以提供多租户云服务102中的软件和硬件组件与它们服务的租户(即,组织)或者用户(即,个人)之间的映射。
从操作503,例程500进行至操作504,在操作504中,可视化服务130调用由CCMS120暴露的API 128以获得与在操作502处所接收的请求中所标识的租户相关的更新日志118。映射数据124可以用于确定相关的更新日志118。在操作506处,可视化服务130接着可以对所返回的更新日志118进行排序、过滤、搜索、或者另外处理。交替地,或者除此之外,CCMS 120可以对与所标识的租户有关的更新日志118执行排序、过滤、或者其他操作。
从操作506,例程500进行至操作508,在操作508中,可视化服务130可以从关联服务138获得针对租户的关联数据。如在上文中所讨论的,例如,关联数据可以指示由更新日志118所标识的改变与异常之间的关联。
从操作508,例程500进行至操作512和514,在操作512和514中,可视化服务130响应于在操作502处所接收的请求而生成更新日志UI 132并且提供更新日志UI 132。如在上文中所讨论的,更新日志UI 132可以标识与特定租户106有关的更新日志118,可以标识可以影响多租户云服务102中的用于服务租户106的组件的改变,可以标识多租户云服务102中的用于服务租户106的可能受改变影响的组件,和/或其他信息。接着,例程500从操作514进行至操作516,在操作516中,例程结束。
图6是流程图,其示出了在本文中所公开的一个实现中示出结合中央改变管理服务120来操作的关联服务138的操作的方面的例程600。例程600在操作602处开始,在操作602中,关联服务138接收异常数据140。如在上文中讨论的,异常数据140描述多租户云服务102中的异常,例如但不限于,服务中断、特定软件或硬件组件的问题、用户体验异常、以及潜在地其他异常。异常数据140可以由被配置为针对异常进行监测并且向其他服务暴露描述异常的异常数据140的服务来提供。
从操作602,例程600进行至操作604,在操作604中,关联服务138通过API 128从CCMS 120获得更新日志118。例程600接着进行至操作606,在操作606中,关联服务138利用更新日志118和异常数据140来将在多租户云服务102中进行的改变与异常相关联。在该过程期间,关联服务138也可以利用映射数据124。
例如而非限制,异常数据140可以指示特定的应用服务器112没有在接收网络业务。在该情况下,更新日志118和映射数据124可以指示对服务该应用服务器112的路由器进行的改变。在该情况下,更新日志118可以与异常相关联。在操作608处,接着可以以在上文中所描述的方式将该信息呈现在更新日志UI 132中。例程600接着进行至操作610,在操作610中,例程结束。
应当认识到的是,在一些配置中,关联服务138可以创建将由更新日志118所标识的改变与其他改变相关联的改变图(未在附图中示出)。该改变图还可以包括映射数据124的方面,所述映射数据124指定用于实现多租户云服务102的各种硬件与软件组件之间的逻辑和/或物理关系。
还可以以在上文中文所描述的方式利用改变图以标识对作为另一组件的异常的原因的组件的改变。还可以以相似的方式利用改变图来确定改变的影响范围。例如而非限制,小的改变(例如,对配置参数的改变)可以具有大的影响,而大的改变(例如,对大量服务器的程序代码的部署)可以具有小的影响。可以实时或者几乎实时地利用改变图来标识负责异常的改变以及所述改变的影响范围。该信息可以接着被呈现在更新日志UI 132中,或者以另一方式被提供至租户106。
还应当意识到的是,在一些配置中,关联服务138可以被配置为将由更新日志118所标识的改变与其他类型的数据相关联。例如而非限制,关联服务138可以被配置为将更新日志118与在特定的时间点所接收的针对技术支持的呼叫的数量相关联。关联服务138可以在其他配置中将更新日志118与其他类型的数据相关联,并且在更新日志UI 132中提供标识所述关联的数据。
还应当认识到的是,在其他配置中,还可以以其他方式向租户106提供在更新日志UI 132中所呈现的信息中的一些或所有信息。例如而非限制,在上文中所描述的机制可以用于识别已经或者可能影响租户106的改变。接着可以向租户计算设备108提供标识改变及其实际或潜在的影响的通知(例如,“推送”通知或者电子邮件消息)。还可以在发出诊断、改变风险预测、从异常的快速服务修复、改变生命周期管理、以及其他场景中利用该信息。
图7是计算机架构图,其示出了能够执行在本文中所描述的、用于提供针对多租户云服务102的中央改变管理的软件组件的计算机700的架构。在图7中所示出的架构是针对服务器计算机、移动电话、电子阅读器、智能电话、台式计算机、上网本计算机、平板计算机、膝上型计算机、或者适用于执行在本文中所呈现的软件组件的另一类型的计算设备的架构。就这一点而言,应当认识到的是,在图7中所示出的计算机700可以用于实现能够执行在本文中所呈现的软件组件中的任意一个的计算设备。例如而非限制,计算机700可以用于实现能够执行CCMS 120、更新日志转换服务116、和/或在上文中所描述的其他软件组件中的任何一个的计算设备。计算机700还可以用于实现用于与多租户云服务102进行交互的计算设备,例如但不限于,租户计算设备108和管理计算设备136。
图7中所示出的计算机700包括中央处理单元702(“CPU”)、包括随机存取存储器706(“RAM”)和只读存储器(“ROM”)708的系统存储器704、以及将存储器704耦合至CPU 702的系统总线710。包含帮助在计算机700内的元件之间传输信息的基本例程的基本输入/输出系统(例如在启动期间)被存储在ROM 708中。计算机700还包括用于存储操作系统714以及一个或多个程序的大容量存储设备712,所述程序包括但不限于,中央改变管理服务120和更新日志转换服务116。尽管未在图7中示出,但是大容量存储设备712还可以被配置为存储其他类型的程序和数据,例如,更新日志118。
大容量存储设备712通过连接至总线710的大容量存储控制器(未示出)而连接至CPU 702。大容量存储设备712及其相关联的计算机可读介质为计算机700提供非易失性存储。尽管对在本文中所包含的计算机可读介质的描述指的是大容量存储设备,例如,硬盘或CD-ROM驱动,但是本领域技术人员应当认识到的是,计算机可读介质可以是能够由计算机700访问的任何可用的计算机存储介质或者通信介质。
通信介质包括计算机可读指令、数据结构、程序模块、或者诸如载波或其他传输机制之类的经调制的数据信号中的其他数据,并且包括任何传递介质。术语“经调制的数据信号”表示具有以关于对信号中的信息进行编码的方式改变或设置的信号的特性中的一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外线和其他无线介质之类的无线介质。还应当将以上中的任意一个的组合包括在计算机可读介质的范围内。
作为示例而非限制,计算机存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质,所述信息例如是计算机可读指令、数据结构、程序模块、或其他数据。例如,计算机介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪速存储器或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、BLU-RAY、或者其他光存储设备、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或者可以用于存储期望的信息并且可以由计算机700访问的任何其他介质。出于权利要求的目的,短语“计算机存储介质”及其变型不包括波或信号本身或者通信介质。
根据各种配置,计算机700可以使用通过诸如网络718之类至远程计算机的逻辑连接来在联网环境中操作。计算机700可以通过连接至总线710的网络接口单元720而连接至网络718。应当认识到的是,网络接口单元720还可以用于连接至其他类型的网络和远程计算机系统。计算机700还可以包括用于接收和处理来自许多其他设备的输入的输入/输出控制器716,其包括键盘、鼠标、电子触笔(未在图7中示出)。相似地,输入/输出控制器716可以向显示屏、打印机、或者其他类型的输出设备(也未在图7中示出)提供输出。
应当认识到的是,在本文中所描述的软件组件可以在被加载到CPU 702中并且被执行时,将CPU 702以及整体计算机700从通用计算系统转换成定制以促进在本文中所呈现的功能的专用计算系统。可以从任何数量的晶体管或者其他分立电路元件构建CPU 702,所述晶体管或其他分立电路元件可以单独地或者共同地假定任何数量的状态。更加具体地,CPU 702可以响应于包含在在本文中所公开的软件模块内的可执行指令而充当有限状态机。这些计算机可执行指令可以通过指定CPU 702如何在状态之间进行转变来转换CPU702,由此转换构成CPU 702的晶体管或其他分立硬件元件。
对在本文中所呈现的软件模块进行编码还可以转换在本文中所呈现的计算机可读介质的物理结构。在该描述的不同实现中,物理结构的具体转换取决于各种因素。这样的因素的示例包括但不限于,用于实现计算机可读介质的技术,计算机可读介质的特征在于主要存储还是次要存储等。例如,如果计算机可读介质被实现为基于半导体的存储器,则还可以通过转换半导体存储器的物理状态来在计算机可读介质上对在本文中所公开的软件进行编码。例如,所述软件可以转换晶体管、电容器、或构成半导体存储器的其他分立电路元件的状态。所述软件还可以转换这样的组件的物理状态以便将数据存储在其上。
作为另一示例,在本文中所公开的计算机可读介质可以使用磁或光技术来实现。在这样的实现中,当软件在磁或光学介质中被编码时,在本文中所呈现的软件可以转换磁或光学介质的物理状态。这些转换可以包括改变给定磁性介质内的特定位置的磁特性。这些转换还可以包括改变给定光学介质内的特定位置的物理特征或者特性以改变那些位置的光学特性。在不脱离本描述的范围和精神的情况下,物理介质的其他转换是可能的,其中仅仅用于促进该讨论而提供了前述示例。
鉴于以上,应当认识到的是,许多类型的物理转换在计算机700中进行以便存储并且执行在本文中所呈现的软件组件。还应当认识到的是,计算机700可以包括其他类型的计算设备,其包括手持计算机、嵌入式计算机系统、诸如智能电话和平板计算机之类的移动设备、以及对于本领域技术人员而言已知的其他类型的计算设备。还可以预期的是,计算机700可以不包括在图7中所示出的组件中的所有组件,可以包括没有在图7中明确地示出的其他组件,或者可以利用与在图7中所示出的架构完全不同的架构。
图8示出了说明性分布式计算环境104,其能够执行本文中描述的、用于提供针对多租户云服务102的中央改变管理的软件组件。因此,图8中所示出的分布式计算环境104可以用于提供在本文中关于图1-图6所描述的功能和/或在本文中所描述的其他软件组件中的任何一个。
根据各种实现,分布式计算环境104在网络804上操作、与网络804进行通信、或者作为网络804的部分。一个和多个客户端设备806A-806N(此后共同和/或一般地被称为“客户端806”)可以经由网络804和/或其他连接(未在图8中示出)来与分布式计算环境104进行通信。在示出的配置中,客户端806包括:计算设备806A,例如,膝上型计算机、台式计算机、或其他计算设备;“板式”或平板计算设备(“平板计算设备”)806B;移动计算设备806C,例如,移动电话、智能电话、或其他移动计算设备;服务器计算机806D;和/或其他设备806N。应当理解的是,任何数量的客户端806可以与分布式计算环境104进行通信。参考图7和图9在本文中示出并描述了针对客户端806的两个示例计算架构。应当理解的是,所示出的客户端806和在本文中所示出和描述的计算架构是说明性的,并且不应当被解释为以任何方式受到限制。
在所示出的配置中,分布式计算环境104包括应用服务器112、数据存储810、以及一个或多个网络接口812。根据各种实现,应用服务器112的功能可以由一个或多个服务器计算机来提供,所述一个或多个服务器计算机作为网络804的部分来执行或者与网络804进行通信。应用服务器112可以托管诸如在本文中所描述的那些之类的各种服务、虚拟机、端口、和/或其他资源。在示出的配置中,应用服务器112托管用于托管应用或其他功能的一个或多个虚拟机814。根据各种实现,虚拟机814托管一个或多个应用和/或软件模块,例如,中央改变管理服务120。应当理解的是,该配置是说明性的,并且不应当被解释为以任何方式进行限制。应用服务器112还可以托管或者提供对一个或多个网络端口、链接页、网站和/或其他信息(“网络端口”)816的访问。
根据各种实现,应用服务器112还包括一个或多个邮箱服务818以及一个或多个消息传送服务820。邮箱服务818可以包括电子邮件(“email”)服务。邮箱服务818还可以包括各种个人信息管理(“PIM”)服务,所述个人信息管理服务包括但不限于,日历服务、联系人管理服务、协同服务、和/或其他服务。消息传送服务820可以包括但不限于,即时消息传送(“IM”)服务、聊天服务、论坛服务、和/或其他通信服务。
应用服务器112还可以包括一个或多个社交网络服务822。社交网络服务822可以包括各种社交网络服务,包括但不限于,用于共享或发布状态更新、即时消息、链接、照片、视频、和/或其他信息的服务;用于评论或显示文章、产品、博客或其他资源的兴趣的服务;和/或其他服务。在一些配置中,社交网络服务822由以下网络服务来提供或者包括以下网络服务:FACEBOOK社交网络服务、LINKEDIN职业网络服务、MYSPACE社交网络服务、FOURSQUARE地理网络服务、YAMMER办公室同事网络服务等。在其他配置中,社交网络服务822由可以被称为“社交网络提供商”的其他服务、网站、和/或提供商来提供。例如,一些网站允许用户在诸如阅读发行的文章、评论物品或服务、发行、合作、玩游戏之类的各种活动和/或上下文期间经由电子邮件、聊天服务、和/或其他方式彼此进行交互。其他服务是可能的并且是预期的。
社交网络服务822还可以包括评论、博客、和/或微博客服务。这样的服务的示例包括但不限于,YELP评论服务、KUDZU评述服务、OFFICETALK企业微博客服务、TWITTER消息传送服务、GOOGLE BUZZ服务、和/或其他服务。应当认识到的是,以上服务的列表不是穷尽性的并且为了简单起见,在本文中没有提及许多额外的和/或可替代的社交网络服务822。由此,在上文中所描述的配置是说明性的,并且不应当被理解为以任何方式受到限制。
还如在图8中所示出的,应用服务器112还可以托管其他服务、应用、端口、和/或其他资源(“其他服务”)824。其他服务824可以包括但不限于,中央改变管理服务120、更新日志转换服务116、可视化服务130、关联服务138、和/或在本文中所描述的其他软件组件中的任何软件组件。因此可以认识到的是,分布式计算环境104可以提供对在本文中所公开的概念和技术(其针对多租户云服务102的中央改变管理而被提供)与各种邮箱、消息发送、社交网络、生产和/或其他类型的多租户云服务或资源的集成。
如在上文中提及的,计算环境104可以包括数据存储810。根据各种实现,数据存储810的功能是由在网络804上操作的或者与网络804进行通信的一个或多个数据库提供的。数据存储810的功能还可以由一个或多个服务器计算机来提供,所述服务器计算机被配置为托管针对分布式计算环境104的数据。数据存储810可以包括、托管、或者提供一个或多个实际或虚拟的数据存储826A-826N(在下文中共同和/或一般地被称为“数据存储826”)。数据存储826被配置为托管由应用服务器112使用或创建的数据和/或其他数据。例如,数据存储826可以用于存储更新日志118和/或其他类型的数据。
分布式计算环境104可以与网络接口812进行通信或者由网络接口812来访问。网络接口812可以包括用于支持两个或多个计算设备之间的通信的各种类型的网络硬件和软件,所述计算设备包括但不限于客户端806和应用服务器112。应当认识到的是,网络接口812还可以用于连接至其他类型的网络和/或计算机系统。
应当理解的是,在本文中所描述的分布式计算环境104可以实现在本文中所描述的具有任何数量的虚拟计算资源和/或其他分布式计算功能的软件元件的任何方面,所述虚拟计算资源和/或其他分布式计算功能可以被配置为执行在本文中所公开的软件组件的任何方面。根据在本文中所公开的概念和技术的各种实现,分布式计算环境104提供在本文中所描述的软件功能作为对客户端806的服务。应当理解的是,客户端806还可以包括真实或虚拟的机器,所述真实或虚拟的机器包括但不限于,服务器计算机、网络服务器、个人计算机、移动计算设备、智能电话、和/或其他设备。由此,在本文中所公开的概念和技术的各种实现使得被配置为访问分布式计算环境104的任何设备能够利用在本文中所描述的功能以用于多租户云服务102的中央改变管理。
现在转到图9,将描述计算设备的说明性计算设备架构900,所述计算设备能够执行在本文中所描述的针对多租户云服务102的中央改变管理的各种软件组件。计算设备架构900适用于部分由于形状因子、无线连通性、和/或电池供电操作而促进实现移动计算的计算设备。在一些配置中,计算设备包括但不限于移动电话、平板设备、板式设备、便携视频游戏设备等。
计算设备架构900还适用于在图8中所示出的客户端806中的任何一个。此外,计算设备架构900的方面适用于传统台式计算机、便携计算机(例如,膝上型计算机、笔记本、超便携本、以及上网本)、服务器计算机、和其他计算机系统,例如在本文中参考图7所描述的那些计算系统。例如,在下文中所公开的单点触控和多点触控方面可以应用于台式计算机,所述台式计算机利用触摸屏或某一其他支持触摸的设备,例如具有触摸功能的跟踪板或支持触摸的鼠标。计算设备架构900还可以用于实现租户计算设备108、管理计算设备136、以及用于实现或消费在本文中所描述的功能的其他类型的计算设备。
在图9中所示出的计算设备架构900包括处理器902、存储器组件904、网络连通性组件906、传感器组件908、输入/输出组件910、以及电源组件912。在所示出的配置中,处理器902与存储器组件904、网络连通性组件906、传感器组件908、输入/输出(“I/O”)组件910、以及电源组件912进行通信。尽管没有示出在图9中所示出的个体组件之间的连接,但是所述组件可以交互以实行设备功能。在一些配置中,组件被设置以便经由一个或多个总线(未示出)来进行通信。
处理器902包括一个或多个中央处理单元(“CPU”)内核,它们被配置为处理数据、执行一个或多个应用程序的计算机可执行指令、以及与计算设备架构900的其他组件进行通信以便执行在本文中所描述的各种功能。处理器902可以用于执行在本文中所呈现的软件组件的方面,并且特别地,执行至少部分地利用支持触摸的输入的软件组件的方面。
在一些配置中,处理器902包括图形处理单元(“GPU”),其被配置为加速由CPU所执行的操作,包括但不限于通过执行通用科学和工程计算应用以及诸如高分辨率视频(例如,720P、1080P、4K、以及更大的)、视频游戏、3D建模应用等之类的图形密集型计算应用而执行的操作。在一些配置中,处理器902被配置为与分立GPU(未示出)进行通信。在任何情况下,CPU和GPU可以根据协同处理CPU/GPU计算模型来配置,其中应用的串行部分在CPU上执行,并且计算密集型部分是由GPU加速的。
在一些配置中,处理器902是与在下文中所描述的其他组件中的一个或多个其他组件一同的片上系统(“SoC”)或者包括在所述片上系统中。例如,SoC可以包括处理器902、GPU、网络连通性组件906中的一个或多个、以及传感器组件908中的一个或多个。在一些配置中,部分地利用堆叠式封装(“PoP”)集成电路封装技术来制造处理器902。此外,处理器902可以是单核处理器或多核处理器。
可以根据ARM架构来创建处理器902,所述ARM架构可用于从英联邦的剑桥市的ARM控股公司获得许可证。可替代地,可以根据x86架构来创建处理器902,例如从加利福尼亚州的Mountain View市的Intel公司或其他公司可获得。在一些配置中,处理器902是从加利福尼亚州San Diego市的高通公司可获得的SNAPDRAGON SoC、从加利福尼亚州Santa Clara市的NVIDIA公司可获得的TEGRA SoC、从韩国首尔市的SAMSUNG公司可获得的HUMMINGBIRDSoC、从Texas州的Dallas市的德州仪器公司可获得的开放多媒体应用平台(“OMAP”)SoC、上述SoC中任何一个的定制版本、或者专有SoC。
存储器组件904包括RAM 914、ROM 916、集成存储存储器(“集成存储”)918、以及可移动存储存储器(“可移动存储”)920。在一些配置中,RAM 914或其部分、ROM 916或其部分、和/或RAM 914与ROM 916的某一组合被集成在处理器902中。在一些配置中,ROM 916被配置为存储固件、操作系统或其部分(例如,操作系统内核)、和/或用于从集成存储918或可移动存储920加载操作系统内核的引导加载程序。
集成存储918可以包括固态存储器、硬盘、或固态存储器和硬盘的组合。集成存储918可以被焊接或以其他方式连接至逻辑板,处理器902和在本文中所描述的其他组件也可以在该逻辑板上连接。由此,集成存储918被集成在计算设备中。集成存储918被配置为存储操作系统或其部分、应用程序、数据、和在本文中描述的其他软件组件。
可移动存储920可以包括固态存储器、硬盘、或固态存储器和硬盘的组合。在一些配置中,代替集成存储918而提供可移动存储920。在其他配置中,可移动存储920被提供为额外的可选存储器。在一些配置中,可移动存储920在逻辑上与集成存储918组合,以使得全部的可用存储器可使用并且向用户示出作为集成存储918和可移动存储920的总组合容量。
可移动存储920被配置为插入到可移动存储存储器插槽(未示出)或其他机制中,可移动存储920利用该机制被插入并且被固定以促进通过其可移动存储920可以与诸如处理器902之类的计算设备的其他组件通信的连接。可移动存储920可以以各种存储器卡格式实施,包括但不限于,PC卡、压缩闪存卡、记忆棒、安全数字(“SD”)、迷你SD、微SD、通用集成电路卡(“UICC”)(例如,订阅者身份模块(“SIM”)或者通用SIM(“USIM”))、专有格式等。
可以理解的是,存储器组件904中的一个或多个可以存储操作系统。根据各种配置,操作系统包括但不限于来自微软公司的WINDOWS MOBILE OS、WINDOWS PHONE OS、或WINDOWS OS,来自加拿大安大略省Waterloo市的RESEARCH IN MOTION有限公司的BLACKBERRY OS、来自加利福尼亚州Cupertino市的苹果公司的IOS、来自加利福尼亚州Mountain View市的GOOGLE有限公司的ANDROID OS。可以预期其他操作系统。
网络连通性组件906包括无线广域网组件(“WWAN组件”)922、无线局域网组件(“WLAN组件”)924、以及无线个域网组件(“WPAN组件”)926。网络连通性组件906促进往来于网络928的通信,网络928可以是WWAN、WLAN、或WPAN。尽管示出了单个网络928,但是网络连通性组件906可以促进与多个网络的同时通信。例如,网络连通性组件906可以促进经由WWAN、WLAN或WPAN中的一个或多个与多个网络的同时通信。
网络928可以是WWAN,例如经由WWAN组件922利用一个或多个移动电信技术来向利用计算设备架构900的计算设备提供声音和/或数据服务的移动电信网络。移动电信网络技术可以包括但不限于移动通信全球系统(“GSM”)、码分多址(“CDMA”)ONE、CDMA 2000、通用移动电信系统(“UMTS”)、长期演进(“LTE”)、以及全球微波接入互操作性(WiMAX)。
此外,网络928可以利用各种信道来访问方法(其可以由或不由前述标准使用),所述方法包括但不限于,时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分复用(“OFDM”)、空分多址(“SDMA”)等。数据通信可以使用以下方法来提供:通用分组无线电服务(“GPRS”),用于全球演进的增强型数据速率(“EDGE”),包括高速下行链路分组访问(“HSDPA”)、增强型上行链路(“EUL”)、或者另外被称为高速上行链路分组访问(“HSUPA”)、演进型HSPA(“HSPA+”)的高速分组访问(“HSPA”)协议家族,LTE,以及各种其他当前的和未来的无线数据访问标准。网络928可以被配置为利用上文技术的任何组合来提供声音和/或数据通信。网络928可以被配置为或者被适配成根据后代的技术来提供声音和/或数据通信。
在一些配置中,WWAN组件922被配置为向网络928提供双-多模连通性。例如,WWAN组件922可以被配置为向网络928提供连通性,其中网络928经由GSM和UMTS技术或者经由技术的一些其他组合来提供服务。可替代地,多个WWAN组件922可以用于执行这样的功能,和/或提供额外的功能以支持其他非兼容(即,不能由单个WWAN组件支持)的技术。WWAN组件922可以促进类似的到多个网络(例如,UMTS网络和LTE网络)的连通性。
网络928可以是根据电气和电子工程师协会(“IEEE”)104.11标准中的一个或多个标准来操作的WLAN,所述标准例如IEEE 104.11a、104.11b、104.11g、104.11n、和/或未来的104.11标准(在本文中统称为WI-FI)。可以预期104.11标准草案。在一些配置中,利用一个或多个无线WI-FI接入点来实现WLAN。在一些配置中,无线WI-FI接入点中的一个或多个是具有到充当WI-FI热点的WWAN的连通性的另一计算设备。WLAN组件924被配置为经由WI-FI接入点而连接至网络928。可以经由各种加密技术来使这样的连接安全,所述技术包括但不限于:WI-FI保护接入(“WPA”)、WPA2、有线等效保密(“WEP”)等。
网络928可以是根据红外线数据协会(“IrDA”)、蓝牙、无线通用串行总线(“USB”)、Z-波、ZIGBEE、或某一其他短距无线技术来操作的WPAN。在一些配置中,WPAN组件926被配置为促进经由WPAN与诸如外围设备、计算机、或其他计算设备之类的其他设备进行通信。
传感器组件908包括磁力计930、环境光传感器932、接近度传感器934、加速度计936、陀螺仪938、以及全球定位系统传感器(“GPS传感器”)940。可以预期的是,例如但不限于温度传感器或震动检测传感器的其他的传感器也可以被包含在计算设备架构900中。
磁力计930被配置为测量磁场的强度和方向。在一些配置中,磁力计930提供了针对在存储组件904中的一个中存储的指南针应用程序的测量,以便在参考框架中给用户提供准确的方向,包括基本方向、北、南、东和西。可以向包括指南针组件的导航应用程序提供类似的测量。可以构想通过磁力计930获得的测量的其他使用。
环境光传感器932被配置为测量环境光。在一些配置中,环境光传感器932提供对存储在存储组件904内的应用程序的测量,以便自动地调整显示器的亮度(在下文描述)来针对低亮度和高亮度环境进行补偿。可以构想由环境光传感器932所获得的测量的其他使用。
接近度传感器934被配置为检测邻近于计算设备而不直接接触的对象或东西的存在。在一些配置中,接近度传感器934检测用户的身体(例如,用户的脸)的存在,并且将该信息提供给存储在存储组件904中的一个内的应用程序,该应用程序利用该接近度信息来启用或禁用计算设备的一些功能。例如,电话应用程序可以响应于接收邻近信息而自动地禁用触摸屏(下文描述的),以使得用户的脸不会无意地造成结束通话或者在通话期间启用/禁用电话应用程序之内的其他功能。可以构想如由接近度传感器934所检测到的接近度的其他使用。
加速度计936被配置为测量准确的加速度。在一些配置中,来自加速度计936的输出由应用程序用作输入机制以控制应用程序的一些功能。在一些配置中,向应用程序提供来自加速度计936的输出以用于在风景和肖像模式之间切换、计算协调加速度、或检测降落时使用。可以构想对加速度计936的其他使用。
陀螺仪938被配置为测量并保存朝向。在一些配置中,来自陀螺仪938的输出由应用程序用作输入机制以控制应用程序的一些功能。例如,陀螺仪938可以用于对视频游戏应用或某一其他应用的3D环境内的运动进行准确识别。在一些配置中,应用程序利用来自陀螺仪938和加速度计936的输出来增强对应用程序的一些功能的控制。可以构想对陀螺仪938的其他使用。
GPS传感器940被配置为从GPS卫星接收信号以用于在计算位置时使用。由GPS传感器940所计算的位置可以由需要位置信息或者从位置信息受益的任何应用程序使用。例如,由GPS传感器940计算的位置可以与导航应用程序一起使用,以提供从该位置到目的地的方向或者从目的地到该位置的方向。此外,GPS传感器940可以用于向诸如E911服务之类的基于外部位置的服务提供位置信息。GPS传感器940可以利用网络连通性组件906中的一个或多个来获得经由WI-FI、WIMAX、和/或的蜂窝三角测量技术所生成的位置信息,从而在获得位置定位时协助GPS传感器940。GPS传感器940还可以在辅助GPS(“A-GPS”)系统中使用。
I/O组件910包括显示器942、触摸屏944、数据I/O接口组件(“数据I/O”)946、音频I/O接口组件(“音频I/O”)948、视频I/O接口组件(“视频I/O”)950、以及相机952。在一些配置中,将显示器942和触摸屏944进行组合。在一些配置中,将数据I/O组件946、音频I/O组件948、和视频I/O组件950中的两个或更多个进行组合。I/O组件910可以包括被配置为支持在下文中所描述的各种接口的分立处理器,或者可以包括内置在处理器902中的处理功能。
显示器942是被配置为以可视的形式呈现信息的输出设备。特别地,显示器942可以呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传送数据、互联网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以可视的形式被呈现的任何其他信息。在一些配置中,显示器942是利用任何有源或无源矩阵技术和任何背光技术(如果使用的话)的液晶显示器(“LCD”)。在一些配置中,显示器942是有机发光二极管(“OLED”)显示器。可以构想其他显示器类型。
触摸屏944是被配置为检测触摸的存在和位置的输入设备。触摸屏944可以是电阻性触摸屏、电容性触摸屏、表面声波触摸屏、红外线触摸屏、光学成像触摸屏、分散信号触摸屏、声学脉冲识别触摸屏、或者可以利用任何其他触摸屏技术。在一些配置中,触摸屏944作为透明层而被包含在显示器942顶部,以使得用户能够使用一次或多次触摸来与在显示器942上呈现的对象或其他信息进行交互。在其他配置中,触摸屏944是包含在不包括显示器942的计算设备的表面上的触摸板。例如,计算设备可以具有被包含在显示器942的顶部的触摸屏以及在显示器942对面的表面上的触摸板。
在一些配置中,触摸屏944是单点触摸触摸屏。在其他配置中,触摸屏944是多点触摸触摸屏。在一些配置中,触摸屏944被配置为检测不连续的触摸、单点触摸手势、和/或多点触摸手势。为了方便起见,在本文中将这些被统称为“手势”。现在将描述几个手势。应当理解的是,这些手势是说明性的并且不旨在限制所附权利要求的范围。此外,所描述的手势、额外的手势、和/或可替代的手势可以以软件来实现以与触摸屏944一同使用。由此,开发者可以创建专用于特定应用程序的手势。
在一些配置中,触摸屏944支持轻击手势,其中,用户在呈现在显示器942上的项目上轻击触摸屏944一次。轻击手势可以用于各种原因,包括但不限于,打开或启动任何用户所点击的内容。在一些配置中,触摸屏944支持双击手势,其中用户在呈现在显示器942上的项目上点击触摸屏944两次。双击手势可以用于各种原因,包括但不限于,分阶段地缩小或放大。在一些配置中,触摸屏944支持点击并保持的手势,其中用户点击触摸屏944并保持接触达至少预先定义的时间。点击和保持手势可以用于各种原因,包括但不限于,打开特定于上下文的菜单。
在一些配置中,触摸屏944支持平移手势,其中用户将手指放在触摸屏944上并且在将手指在触摸屏944上移动的同时保持与触摸屏944的接触。平移手势可以用于各种原因,包括但不限于,以受控制的速率移动通过屏幕、图像、或菜单。还可以构想多个手指平移手势。在一些配置中,触摸屏944支持轻弹手势,其中用户在用户想要屏幕移动的方向上滑动手指。轻弹手势可以用于各种原因,包括但不限于,水平地或垂直地滚动通过菜单或页面。在一些配置中,触摸屏944支持捏合和伸展手势,其中用户使用两个手指(例如,拇指和食指)在触摸屏944上进行捏合运动或将两个手指移动分开。捏合和伸展手势可以用于各种原因,包括但不限于逐渐缩小或放大网站、地图、或图片。
尽管已经参考用于执行手势的一个或多个手指的使用而呈现了在上文中所描述的手势,但是诸如脚趾之类的其他附属物或者诸如触摸笔之类的对象可以用于与触摸屏944交互。由此,上文的手势应该被理解为是说明性的而不应该被解释为以任何方式进行限制。
数据I/O接口组件946被配置为促进向计算设备输入数据以及从计算设备输出数据。在一些配置中,数据I/O接口组件946包括被配置为例如出于同步操作的目的而在计算设备与计算机系统之间提供有线连通性的连接器。连接器可以是专有连接器或者标准化连接器,例如USB、微USB、迷你USB、USB-C等。在一些配置中,连接器是用于将计算设备与诸如扩展坞、音频设备(例如,数字音乐播放机)、或视频设备之类的另一设备计算设备对接的底座连接器。
视频I/O接口组件948被配置为向计算设备提供音频输入和/或输出功能。在一些配置中,音频I/O接口组件946包括被配置为收集音频信号的麦克风。在一些配置中,音频I/O接口组件946包括被配置为提供针对耳机或其他外部扬声器的连通性的耳机插孔。在一些配置中,音频接口组件948包括针对音频信号输出的扬声器。在一些配置中,音频I/O接口组件946包括光学音频电缆固定。
视频I/O接口组件950被配置为向计算设备提供视频输入和/或输出功能。在一些配置中,视频I/O接口组件950包括视频连接器,其被配置为将来自另一设备(例如,诸如DVD或蓝光播放机之类的视频媒体播放机)的视频作为输入来接收或者向另一设备(例如,监视器、电视、或某一其他外部显示器)发送视频作为输出。在一些配置中,视频I/O接口组件950包括用于输入/输出视频内容的高分辨率多媒体接口(“HDMI”)、迷你HDMI、微HDMI、显示端口、或者专有连接器。在一些配置中,视频I/O接口组件950或其部分与音频I/O接口组件948或其部分相结合。
相机952可以被配置为捕获静态图像和/或视频。相机952可以利用电荷耦合器件(“CCD”)或互补金属氧化物半导体(“CMOS”)图像传感器来捕获图像。在一些配置中,相机952包括用于在低亮度环境中协助拍照的闪光灯。针对相机952的设置可以被实现为硬件或软件按钮。
尽管未示出,但一个或多个硬件按钮也可以被包括在计算设备架构900中。硬件按钮可以用于控制计算设备的一些操作性方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是机械的或基于传感器的。
所示出的电源组件912包括一个或多个电池954,其可以连接至电池电量计956。电池954可以是可充电的或可丢弃的。可充电电池类型包括但不限于锂聚合物、锂离子、镍镉、镍氢。电池954中的每个可以由一个或多个单元组成。
电池电量计956可以被配置为测量诸如电流、电压、和温度之类的电池参数。在一些配置中,电池电量计956被配置为测量电池的放电速率效应、温度、使用年限、和其他因素,以在某一误差百分比之内预测剩余寿命。在一些配置中,电池电量计956提供了对被配置为使用上述测量来向用户呈现有用的电源管理的应用程序的测量。电源管理数据可以包括以下中的一个或多个:使用的电池百分比、剩余的电池百分比、电池状况、剩余时间、剩余容量(例如,以瓦时为单位)、电流消耗、以及电压。
电源组件912还可以包括电源连接器,其可以与前述I/O组件910中的一个或多个相结合。电源组件912可以经由电源I/O组件944与外部电源系统或充电设备接合。
在本文中所呈现的公开覆盖在以下条款中阐述的主题:
条款1,一种用于中央管理与对多租户云服务中的组件的改变相对应的更新日志的计算机实现的方法,所述方法包括:从在所述多租户云服务中执行的多个服务获得更新日志,所述更新日志描述对所述多租户云服务中的组件的改变并且使用多个模式来表达;将使用所述多个模式表达的更新日志转换为使用公共模式表达的更新日志;以及暴露网络服务应用程序接口,其中在所述多租户云服务中执行的一个或多个其他服务能够通过所述网络服务应用程序接口针对所述多租户云服务的单个租户而获得使用所述公共模式表达的多个更新日志。
条款2,根据条款1所述的计算机实现的方法,其中,使用所述公共模式表达的更新日志包括存储数据的一个或多个字段,所述数据标识改变开始的时间、改变结束的时间、所改变的组件的标识符(ID)、以及改变的一个或多个性质。
条款3,根据条款1到条款2所述的计算机实现的方法,还包括将唯一的标识符(ID)分配至使用所述公共模式表达的所述多个更新日志中的每个更新日志。
条款4,根据条款1到条款2所述的计算机实现的方法,还包括:接收针对用户界面(UI)的请求,所述UI呈现使用所述公共模式表达的更新日志中的一个或多个更新日志;响应于所述请求,调用网络服务API以获得使用所述公共模式表达的更新日志中的所述一个或多个更新日志;对使用所述公共模式表达的更新日志中的所述一个或多个更新日志执行一个或多个处理操作;以及使所述UI被呈现,所述UI包括使用所述公共模式表达的更新日志中的所述一个或多个更新日志。
条款5,根据条款1到条款4所述的计算机实现的方法,还包括:将使用所述公共模式表达的更新日志中的所述一个或多个更新日志与在所述多租户云服务中检测到的一个或多个异常相关联;以及在所述UI中呈现数据以示出使用所述公共模式表达的更新日志中的所述一个或多个更新日志与所述多租户云服务中的所述一个或多个异常之间的关联。
条款6,根据条款1到条款4所述的计算机实现的方法,还包括:获得对所述多租户云服务中的组件之间的关系进行描述的映射数据;利用所述映射数据来标识所述多租户云服务中能够受改变影响的组件中的一个或多个组件,所述改变与使用所述公共模式表达的更新日志中的一个更新日志相关联;以及在所述UI中呈现数据以示出所述多租户云服务中能够受所述改变影响的组件中所标识的一个或多个组件。
条款7,根据条款1到条款4所述的计算机实现的方法,还包括:获得对所述多租户云服务中的组件之间的关系进行描述的映射数据;利用所述映射数据来标识已经影响了所述多租户云服务中的组件中的一个或多个组件的、与使用所述公共模式表达的更新日志中的一个更新日志相关联的改变;以及在所述UI中呈现数据以示出所标识的改变。
条款8,根据条款1到条款4所述的计算机实现的方法,其中,呈现在UI中的、使用所述公共模式表达的所述多个更新日志中的一个或多个更新日志包括与多租户云服务的单个租户相对应的更新日志。
条款9,一种计算机存储介质,其具有存储在其上的计算机可执行指令,所述计算机可执行指令当由计算机执行时,使得所述计算机执行以下操作:从在多租户云服务中执行的多个服务获得更新日志,所述更新日志描述对在所述多租户云服务中操作的组件的改变并且使用多个模式来表达;将使用所述多个模式表达的更新日志转换为使用公共模式表达的更新日志;以及暴露网络服务应用程序接口,其中一个或多个其他服务能够通过所述网络服务应用程序接口获得使用所述公共模式表达的多个更新日志(118)。
条款10,根据条款9所述的计算机存储介质,其具有存储其上以执行以下操作的另外的计算机可执行指令:接收针对用户界面(UI)的请求,所述UI呈现使用所述公共模式表达的更新日志中的一个或多个更新日志;调用网络服务API以获得使用所述公共模式表达的更新日志中的所述一个或多个更新日志;对使用所述公共模式表达的更新日志中的所述一个或多个更新日志执行一个或多个处理操作;并且使得所述UI被呈现,所述UI包括使用所述公共模式表达的更新日志中的所述一个或多个更新日志。
条款11,根据条款9和条款10所述的计算机存储介质,其具有存储其上以执行以下操作的另外的计算机可执行指令:将使用所述公共模式表达的所述一个或多个更新日志与在所述多租户云服务中检测到的一个或多个异常相关联;以及使得数据被呈现在所述UI中以示出使用所述公共模式表达的所述一个或多个更新日志与所述多租户云服务中的所述一个或多个异常之间的关联。
条款12,根据条款9至条款11所述的计算机存储介质,其具有存储其上以执行以下操作的另外的计算机可执行指令:获得对所述多租户云服务中的组件之间的关系进行描述的映射数据;利用所述映射数据来标识所述多租户云服务中能够受改变影响的组件中的一个或多个组件,所述改变与使用所述公共模式表达的更新日志中的一个更新日志相关联;以及使得数据被呈现在所述UI中以示出所述多租户云服务中能够受所述改变影响的组件中所标识的一个或多个组件。
条款13,根据条款9至条款12所述的计算机存储介质,其具有存储其上以执行以下操作的另外的计算机可执行指令:获得对所述多租户云服务中的组件之间的关系进行描述的映射数据;利用所述映射数据来标识已经影响了所述多租户云服务中的组件中的一个或多个组件的、与使用所述公共模式表达的更新日志中的一个更新日志相关联的改变;以及使得所述数据被呈现在所述UI中以示出所标识的改变。
条款14,根据条款9至条款13所述的计算机存储介质,其中,呈现在UI中的、使用所述公共模式表达的更新日志中的所述一个或多个更新日志包括与所述多租户云服务的单个租户相对应的更新日志。
条款15,一种装置,包括:一个或多个处理器;以及至少一个计算机存储介质,其具有存储在其上的计算机可执行指令,所述计算机可执行指令当由所述一个或多个处理器执行时,使得所述装置执行以下操作:从在多租户云服务中执行的多个服务获得更新日志,所述更新日志描述对在所述多租户云服务中操作的组件的改变并且使用多个模式来表达;将使用所述多个模式表达的更新日志转换为使用公共模式表达的更新日志;以及暴露网络服务应用程序接口,其中一个或多个其他服务能够通过所述网络服务应用程序接口获得使用所述公共模式表达的多个更新日志。
条款16,根据条款15所述的装置,其中,其中,所述计算机存储介质具有存储其上以执行以下操作的另外的计算机可执行指令:接收针对用户界面(UI)的请求,所述UI呈现使用所述公共模式表达的更新日志中的一个或多个更新日志;调用网络服务API以获得使用所述公共模式表达的更新日志中的所述一个或多个更新日志;对使用所述公共模式表达的更新日志中的所述一个或多个更新日志执行一个或多个处理操作;并且使得所述UI被呈现,所述UI包括使用所述公共模式表达的更新日志中的所述一个或多个更新日志。
条款17,根据条款15和条款16所述的装置,其中,所述计算机存储介质具有存储其上以执行以下操作的另外的计算机可执行指令:将使用所述公共模式表达的所述一个或多个更新日志与在所述多租户云服务中检测到的一个或多个异常相关联;以及使得数据被呈现在所述UI中以示出使用所述公共模式表达的所述一个或多个更新日志与所述多租户云服务中的所述一个或多个异常之间的关联。
条款18,根据条款15到条款17所述的装置,其中,所述计算机存储介质具有存储其上以执行以下操作的另外的计算机可执行指令:获得对所述多租户云服务中的组件之间的关系进行描述的映射数据;利用所述映射数据来标识所述多租户云服务中能够受改变影响的组件中的一个或多个组件,所述改变与使用所述公共模式表达的更新日志中的一个更新日志相关联;以及使得数据被呈现在所述UI中以示出所述多租户云服务中能够受所述改变影响的组件中所标识的一个或多个组件。
条款19,根据条款15到条款18所述的装置,其中,所述计算机存储介质具有存储其上以执行以下操作的另外的计算机可执行指令:获得对所述多租户云服务中的组件之间的关系进行描述的映射数据;利用所述映射数据来标识与使用所述公共模式表达的更新日志中的一个更新日志相关联的改变,所述改变可能已经影响了所述多租户云服务中的组件中的一个或多个组件;以及使得数据被呈现在所述UI中以示出所标识的改变。
条款20,根据条款15到条款19所述的装置,其中,呈现在UI中的、使用所述公共模式表达的更新日志中的所述一个或多个更新日志包括与所述多租户云服务的单个租户相对应的更新日志。
基于前述内容,应当理解的是,在本文中已经公开了用于在应用与设备之间进行无缝转换的技术。尽管已经用特定于计算机结构特征、方法性和转换性行为、具体的计算机器、以及计算机可读介质的语言描述了本发明,但应当理解的是,在所附权利要求中所定义的本发明非必须限于在本文中所描述的具体的特征、行为、或介质。相反,在上文中所描述的具体的特征、行为、和介质是作为实现权利要求的示例形式而公开的。
在上文中所描述的主题仅仅是作为说明提供的并且不应当被解释为进行限制。可以在不遵循所示出和描述的示例配置和应用的情况下,以及在不脱离在以下的权利要求中所阐述的本发明的真正精神和范围的情况下,对在本文中所描述的主题进行各种修改和改变。
Claims (14)
1.一种用于中央管理与对多租户云服务中的组件的改变相对应的更新日志的计算机实现的方法,所述方法包括:
从在所述多租户云服务中执行的多个服务获得更新日志,所述更新日志描述对所述多租户云服务中的组件的改变并且使用多个模式来表达;
将使用所述多个模式表达的更新日志转换为使用公共模式表达的更新日志;
暴露网络服务应用程序接口API,以访问使用所述公共模式表达的多个更新日志;
通过所述网络服务应用程序接口API从在所述多租户云服务中执行的服务接收调用,所述调用针对使用所述公共模式表达的所述多个更新日志中包括的更新日志集,所述更新日志集描述对与单个租户相关联的所述多租户云服务中的组件的改变;
访问映射数据以确定所述更新日志集,所述映射数据描述所述多个服务与所述多租户云服务中的多个租户之间的关系;以及
响应于所述调用,将所述更新日志集返回给所述服务。
2.根据权利要求1所述的计算机实现的方法,还包括:
接收针对用户界面UI的请求,所述UI呈现所述更新日志集;
响应于所述请求,调用网络服务应用程序接口API以获得所述更新日志集;
对所述更新日志集执行一个或多个处理操作;以及
使所述UI被呈现,所述UI包括所述更新日志集。
3.根据权利要求2所述的计算机实现的方法,还包括:
将所述更新日志集与在所述多租户云服务中检测到的一个或多个异常相关联;以及
在所述UI中呈现数据以示出所述更新日志集与所述多租户云服务中的所述一个或多个异常之间的关联。
4.根据权利要求2所述的计算机实现的方法,还包括:
利用所述映射数据来标识所述多租户云服务中能够受改变影响的组件中的一个或多个组件,所述改变与所述更新日志集中包括的一个更新日志相关联;以及
在所述UI中呈现数据以示出所述多租户云服务中能够受所述改变影响的组件中所标识的一个或多个组件。
5.根据权利要求2所述的计算机实现的方法,还包括:
利用所述映射数据来标识已经影响了所述多租户云服务中的组件中的一个或多个组件的、与所述更新日志集中包括的一个更新日志相关联的改变;以及
在所述UI中呈现数据以示出所标识的改变。
6.一种计算机存储介质,其具有存储在其上的计算机可执行指令,所述计算机可执行指令当由计算机执行时,使得所述计算机执行以下操作:
从在多租户云服务中执行的多个服务获得更新日志,所述更新日志描述对在所述多租户云服务中操作的组件的改变并且使用多个模式来表达;
将使用所述多个模式表达的更新日志转换为使用公共模式表达的多个更新日志;
暴露网络服务应用程序接口API,以访问使用所述公共模式表达的多个更新日志;
通过所述网络服务应用程序接口API从在所述多租户云服务中执行的服务接收调用,所述调用针对使用所述公共模式表达的所述多个更新日志中包括的更新日志集,所述更新日志集描述对与单个租户相关联的所述多租户云服务中的组件的改变;
访问映射数据以确定所述更新日志集,所述映射数据描述所述多个服务与所述多租户云服务中的多个租户之间的关系;以及
响应于所述调用,将所述更新日志集返回给所述服务。
7.根据权利要求6所述的计算机存储介质,其具有存储其上以执行以下操作的另外的计算机可执行指令:
接收针对用户界面UI的请求,所述UI呈现所述更新日志集;
调用网络服务应用程序接口API以获得所述更新日志集;
对所述更新日志集执行一个或多个处理操作;并且
使得所述UI被呈现,所述UI包括所述更新日志集。
8.根据权利要求7所述的计算机存储介质,其具有存储其上以执行以下操作的另外的计算机可执行指令:
将所述更新日志集与在所述多租户云服务中检测到的一个或多个异常相关联;以及
使得数据被呈现在所述UI中以示出所述更新日志集与所述多租户云服务中的所述一个或多个异常之间的关联。
9.根据权利要求7所述的计算机存储介质,其具有存储其上以执行以下操作的另外的计算机可执行指令:
利用所述映射数据来标识所述多租户云服务中能够受改变影响的组件中的一个或多个组件,所述改变与所述更新日志集中包括的一个更新日志相关联;以及
使得数据被呈现在所述UI中以示出所述多租户云服务中能够受所述改变影响的组件中所标识的一个或多个组件。
10.根据权利要求7所述的计算机存储介质,其具有存储其上以执行以下操作的另外的计算机可执行指令:
利用所述映射数据来标识已经影响了所述多租户云服务中的组件中的一个或多个组件的、与所述更新日志集中包括的一个更新日志相关联的改变;以及
使得所述数据被呈现在所述UI中以示出所标识的改变。
11.一种用于中央管理与对多租户云服务中的组件的改变相对应的更新日志的装置,包括:
一个或多个处理器;以及
至少一个计算机存储介质,其具有存储在其上的计算机可执行指令,所述计算机可执行指令当由所述一个或多个处理器执行时,使得所述装置执行以下操作:
从在多租户云服务中执行的多个服务获得更新日志,所述更新日志描述对在所述多租户云服务中操作的组件的改变并且使用多个模式来表达;
将使用所述多个模式表达的更新日志转换为使用公共模式表达的多个更新日志;以及
暴露网络服务应用程序接口API,以访问使用所述公共模式表达的多个更新日志;
通过所述网络服务应用程序接口API从在所述多租户云服务中执行的服务接收调用,所述调用针对使用所述公共模式表达的所述多个更新日志中包括的更新日志集,所述更新日志集描述对与单个租户相关联的所述多租户云服务中的组件的改变;
访问映射数据以确定所述更新日志集,所述映射数据描述所述多个服务与所述多租户云服务中的多个租户之间的关系;以及
响应于所述调用,将所述更新日志集返回给所述服务。
12.根据权利要求11所述的装置,其中,所述计算机存储介质具有存储其上以执行以下操作的另外的计算机可执行指令:
接收针对用户界面UI的请求,所述UI呈现所述更新日志集;
响应于所述请求,调用网络服务应用程序接口API以获得所述更新日志集;
对所述更新日志集执行一个或多个处理操作;并且
使得所述UI被呈现,所述UI包括所述更新日志集。
13.根据权利要求12所述的装置,其中,所述计算机存储介质具有存储其上以执行以下操作的另外的计算机可执行指令:
将所述更新日志集与在所述多租户云服务中检测到的一个或多个异常相关联;以及
使得数据被呈现在所述UI中以示出所述更新日志集与所述多租户云服务中的所述一个或多个异常之间的关联。
14.根据权利要求13所述的装置,其中,所述计算机存储介质具有存储其上以执行以下操作的另外的计算机可执行指令:
利用所述映射数据来标识所述多租户云服务中能够受改变影响的组件中的一个或多个组件,所述改变与更新日志集中包括的一个更新日志相关联;以及
使得数据被呈现在所述UI中以示出所述多租户云服务中能够受所述改变影响的组件中所标识的一个或多个组件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/815,799 US11140045B2 (en) | 2015-07-31 | 2015-07-31 | Changelog transformation and correlation in a multi-tenant cloud service |
US14/815,799 | 2015-07-31 | ||
PCT/US2016/044134 WO2017023628A1 (en) | 2015-07-31 | 2016-07-27 | Changelog transformation and correlation in a multi-tenant cloud service |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107924333A CN107924333A (zh) | 2018-04-17 |
CN107924333B true CN107924333B (zh) | 2022-04-08 |
Family
ID=56609972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680044961.XA Active CN107924333B (zh) | 2015-07-31 | 2016-07-27 | 针对多租户云服务中的更新日志转换和关联的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11140045B2 (zh) |
EP (1) | EP3329371A1 (zh) |
CN (1) | CN107924333B (zh) |
WO (1) | WO2017023628A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9906401B1 (en) * | 2016-11-22 | 2018-02-27 | Gigamon Inc. | Network visibility appliances for cloud computing architectures |
US10644954B1 (en) | 2019-05-10 | 2020-05-05 | Capital One Services, Llc | Techniques for dynamic network management |
US10587457B1 (en) * | 2019-05-10 | 2020-03-10 | Capital One Services, Llc | Techniques for dynamic network resiliency |
US10756971B1 (en) | 2019-05-29 | 2020-08-25 | Capital One Services, Llc | Techniques for dynamic network strengthening |
US10698704B1 (en) | 2019-06-10 | 2020-06-30 | Captial One Services, Llc | User interface common components and scalable integrable reusable isolated user interface |
US11363060B2 (en) * | 2019-10-24 | 2022-06-14 | Microsoft Technology Licensing, Llc | Email security in a multi-tenant email service |
US10846436B1 (en) | 2019-11-19 | 2020-11-24 | Capital One Services, Llc | Swappable double layer barcode |
CN111177078A (zh) * | 2019-12-18 | 2020-05-19 | 广州华多网络科技有限公司 | 日志处理方法、装置及电子设备 |
US10915648B1 (en) * | 2020-04-03 | 2021-02-09 | Imperva, Inc. | Enrichment of database logs |
US11659029B2 (en) * | 2020-05-29 | 2023-05-23 | Vmware, Inc. | Method and system for distributed multi-cloud diagnostics |
US20230164022A1 (en) * | 2021-11-22 | 2023-05-25 | Google Llc | Cloud Network Failure Auto-Correlator |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102511041A (zh) * | 2009-09-29 | 2012-06-20 | 亚马逊技术有限公司 | 将因果律归因于程序执行能力修改和动态修改程序执行能力 |
CN102779087A (zh) * | 2011-05-06 | 2012-11-14 | Sap股份公司 | 业务过程日志记录的系统和方法 |
CN103329129A (zh) * | 2011-01-12 | 2013-09-25 | 国际商业机器公司 | 支持云环境的多租户审计感知 |
CN103634291A (zh) * | 2005-10-18 | 2014-03-12 | 三星电子株式会社 | 使多媒体内容与装置同步的方法和设备 |
WO2014049389A1 (en) * | 2012-09-27 | 2014-04-03 | Hewlett-Packard Development Company, L.P. | Dynamic management of cloud computing infrastructure |
CN103716372A (zh) * | 2013-11-22 | 2014-04-09 | 浙江大学 | 一种数字图书馆即服务的云计算平台构建方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8655623B2 (en) * | 2007-02-13 | 2014-02-18 | International Business Machines Corporation | Diagnostic system and method |
US8069242B2 (en) | 2008-11-14 | 2011-11-29 | Cisco Technology, Inc. | System, method, and software for integrating cloud computing systems |
WO2010073259A2 (en) | 2008-12-22 | 2010-07-01 | Novatium Solutions (P) Limited | Mechanism for the delivery of computing as a utility for different domains over the internet |
US8352609B2 (en) * | 2009-09-29 | 2013-01-08 | Amazon Technologies, Inc. | Dynamically modifying program execution capacity |
US8924559B2 (en) | 2009-12-03 | 2014-12-30 | International Business Machines Corporation | Provisioning services using a cloud services catalog |
US20110225495A1 (en) | 2010-03-12 | 2011-09-15 | Salesforce.Com, Inc. | Service Cloud Console |
US8694906B2 (en) | 2010-04-15 | 2014-04-08 | Adobe Systems Incorporated | Dynamic visualization of physical and geographical multitenant cloud computing |
US8910278B2 (en) | 2010-05-18 | 2014-12-09 | Cloudnexa | Managing services in a cloud computing environment |
US8473484B2 (en) | 2011-06-01 | 2013-06-25 | International Business Machines Corporation | Identifying impact of installing a database patch |
US8612599B2 (en) | 2011-09-07 | 2013-12-17 | Accenture Global Services Limited | Cloud service monitoring system |
US9946988B2 (en) | 2011-09-28 | 2018-04-17 | International Business Machines Corporation | Management and notification of object model changes |
US8601121B2 (en) * | 2012-01-09 | 2013-12-03 | International Business Machines Corporation | Tracking changes to data within various data repositories |
US20130198637A1 (en) | 2012-01-27 | 2013-08-01 | Sungard Availability Services Lp | Cloud service dashboard |
US8707254B2 (en) | 2012-04-06 | 2014-04-22 | Microsoft Corporation | Service level objective for cloud hosted applications |
US9348652B2 (en) | 2012-07-02 | 2016-05-24 | Vmware, Inc. | Multi-tenant-cloud-aggregation and application-support system |
US20140019335A1 (en) | 2012-07-12 | 2014-01-16 | Ca, Inc. | Systems and methods for self-service cloud-based arenas for information technology-driven situational management |
US8769701B2 (en) | 2012-09-05 | 2014-07-01 | International Business Machines Corporation | Single tenant audit view in a multi-tenant environment |
EP2880529A4 (en) | 2012-10-08 | 2016-06-15 | Hewlett Packard Development Co | HYBRID CLOUD ENVIRONMENT |
US20140245141A1 (en) | 2013-02-26 | 2014-08-28 | Microsoft Corporation | Contextual user assistance for cloud services |
US9218246B2 (en) | 2013-03-14 | 2015-12-22 | Microsoft Technology Licensing, Llc | Coordinating fault recovery in a distributed system |
US20140280800A1 (en) | 2013-03-14 | 2014-09-18 | Alcatel-Lucent Bell Labs France | Apparatus and method to maintain consistent operational states in in cloud-based infrastructures |
US20140336791A1 (en) | 2013-05-09 | 2014-11-13 | Rockwell Automation Technologies, Inc. | Predictive maintenance for industrial products using big data |
US9442983B2 (en) | 2013-07-09 | 2016-09-13 | Oracle International Corporation | Method and system for reducing instability when upgrading software |
US9189224B2 (en) | 2013-07-11 | 2015-11-17 | Oracle International Corporation | Forming an upgrade recommendation in a cloud computing environment |
US9601803B2 (en) * | 2013-07-22 | 2017-03-21 | Nanotek Instruments, Inc. | Non-flammable quasi-solid electrolyte-separator layer product for lithium battery applications |
US9852208B2 (en) * | 2014-02-25 | 2017-12-26 | International Business Machines Corporation | Discovering communities and expertise of users using semantic analysis of resource access logs |
US9912529B2 (en) * | 2014-08-20 | 2018-03-06 | International Business Machines Corporation | Tenant-specific log for events related to a cloud-based service |
-
2015
- 2015-07-31 US US14/815,799 patent/US11140045B2/en active Active
-
2016
- 2016-07-27 EP EP16747969.0A patent/EP3329371A1/en not_active Ceased
- 2016-07-27 CN CN201680044961.XA patent/CN107924333B/zh active Active
- 2016-07-27 WO PCT/US2016/044134 patent/WO2017023628A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634291A (zh) * | 2005-10-18 | 2014-03-12 | 三星电子株式会社 | 使多媒体内容与装置同步的方法和设备 |
CN102511041A (zh) * | 2009-09-29 | 2012-06-20 | 亚马逊技术有限公司 | 将因果律归因于程序执行能力修改和动态修改程序执行能力 |
CN103329129A (zh) * | 2011-01-12 | 2013-09-25 | 国际商业机器公司 | 支持云环境的多租户审计感知 |
CN102779087A (zh) * | 2011-05-06 | 2012-11-14 | Sap股份公司 | 业务过程日志记录的系统和方法 |
WO2014049389A1 (en) * | 2012-09-27 | 2014-04-03 | Hewlett-Packard Development Company, L.P. | Dynamic management of cloud computing infrastructure |
CN103716372A (zh) * | 2013-11-22 | 2014-04-09 | 浙江大学 | 一种数字图书馆即服务的云计算平台构建方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170034010A1 (en) | 2017-02-02 |
CN107924333A (zh) | 2018-04-17 |
WO2017023628A1 (en) | 2017-02-09 |
EP3329371A1 (en) | 2018-06-06 |
US11140045B2 (en) | 2021-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107924333B (zh) | 针对多租户云服务中的更新日志转换和关联的方法和装置 | |
US10748070B2 (en) | Identification and presentation of changelogs relevant to a tenant of a multi-tenant cloud service | |
EP3449382B1 (en) | Document collaboration discovery | |
US9979732B2 (en) | Contextually aware sharing recommendations | |
US20140046923A1 (en) | Generating queries based upon data points in a spreadsheet application | |
CA2783223C (en) | Global recently used files list | |
US10050953B2 (en) | Extending a federated graph with third-party data and metadata | |
US11209805B2 (en) | Machine learning system for adjusting operational characteristics of a computing system based upon HID activity | |
US9934331B2 (en) | Query suggestions | |
US20220206485A1 (en) | Predictive maintenance techniques and analytics in hybrid cloud systems | |
KR20170030529A (ko) | 시각화 제안 기법 | |
US9760255B2 (en) | Propagating theming information from host applications to host extensions | |
US11487512B2 (en) | Generating a services application | |
CN107810489B (zh) | 应用与设备之间的无缝转换 | |
WO2018022302A1 (en) | Simplified configuration of computing devices for use with multiple network services |
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 |