平码五不中公式规律
  • / 25
  • 下载费用:30 金币  

在多租户系统中处理变化.pdf

关 键 ?#21097;?/dt>
租户 系统 处理 变化
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580038979.4

申请日:

2015.07.14

公开号:

CN106663036A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 9/50申请日:20150714|||公开
IPC分类号: G06F9/50 主分类号: G06F9/50
申请人: 微软技术许可有限责任公司
发明人: S·高拉夫; M·V·S·戈?#20102;? M·科伯恩; S·?#20102;?#27604;拉曼; V·班萨尔
地址: 美国华盛顿州
优?#28909;ǎ?/td> 2014.07.17 US 14/334,307
专利代理机构: 永新专利商标代理有限公司 72002 代理人: 王英;刘瑜
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580038979.4

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

在多租户服务处接收租户改变。将租户改变划分成多个部分。在多租户服务处、跨已经请求了改变的所有租户来处理租户改变的多个部分,以跨所有进行请求的租户而均匀地分配处理资源。

权利要求书

1.一种多租户计算系统,包括:
租户行为监视系统,其生成指示发送对应的改变请求的进行请求的租户的特性的数
据,每个改变请求都指示对与所述进行请求的租户相对应的租户数据的所请求的改变;
改变调度组件,其从多个不同的租户接收改变请求,所述改变调度组件基于所述进行
请求的租户的所述特性而将所述改变请求划分成多个部分的改变,并?#19994;?#24230;待对对应的租
户数据进行的改变的部分;以及
改变请求处理系统,其按照由所述改变调度组件所调度的那样对所述租户数据进行改
变请求。
2.根据权利要求1所述的多租户计算系统,其中,所述改变调度组件包括:
改变切分组件,其基于指示在针对所述进行请求的租户进行改变时所述改变请求处理
系统的性能的性能信息,来确定是否要将每个改变请求分成多个不同的部分以供调度。
3.根据权利要求2所述的多租户计算系统,其中,所述改变调度组件还包括:
下一改变识别器组件,其基于所述性能信息来?#28304;?#30001;所述改变请求处理系统进行的下
一改变进行调度。
4.根据权利要求3所述的多租户计算系统,其中,所述下一改变切分组件和所述下一改
变识别器组件基于指示针对不同的进行请求的租户的期望的性能的租户公平策略来分别
确定是否要将每个改变请求分成多个不同的部分,并?#19994;?#24230;待进行的所述下一改变。
5.根据权利要求3所述的多租户计算系统,其中,所述下一改变切分组件和所述下一改
变识别器组件基于对针对不同的进行请求的租户的性能的测量来分别确定是否要将每个
改变请求分成多个不同的部分,并?#19994;?#24230;待进行的所述下一改变。
6.根据权利要求5所述的多租户计算系统,其中,所述租户行为监视系统包括:
一组性能测量组件,其提供对针对所述不同的进行请求的租户的性能的测量。
7.根据权利要求6所述的多租户计算系统,其中,所述租户行为监视系统包括:
业务监视组件,其将由所述进行请求的租户中的每个进行请求的租户所请求的改变的
数量作为对性能的测量来监视并提供。
8.根据权利要求6所述的多租户计算系统,其中,所述租户行为监视系统包括:
延迟监视器,其将指示由所述进行请求的租户中的每个进行请求的租户在发送所述改
变请求与具有由所述改变请求处理系统所进行的对租户数据的所述对应的改变之间所体
验的延迟的延迟测量作为对性能的测量来监视并提供。
9.根据权利要求6所述的多租户计算系统,其中,所述租户行为监视系统包括:
租户类型识别器,其识别每个行请求的租户的的租户类型,并且将所述租户类型作为
所述进行请求的租户的特性中的一个特性来提供。
10.一种多租户计算系统,包括:
租户改变系统,其从多个不同的进行请求的租户接收改变请求,所述改变请求指示对
与所述不同的进行请求的租户相对应的租户数据的改变;以及
调度组件,其基于所述改变请求中的每个改变请求中的改变的数量,来针对所述多个
不同的进行请求的租户而将所述改变请求划分成改变的分组并对所述改变的分组进行调
度,以跨所述改变请求来分配改变处理资源。
11.根据权利要求10所述的多租户计算系统,其中,所述租户改变系统还包括:
改变请求处理系统,其包括所述改变处理资源,所述改变请求处理系统按照由所述调
度组件所调度的那样进行所述改变的分组中的对所述租户数据的改变。
12.根据权利要求11所述的多租户计算系统,其中,所述租户改变系统还包括:
租户行为监视系统,其监视所述改变请求中的每个改变请求中的所述改变的数量。
13.根据权利要求12所述的多租户计算系统,其中,所述租户行为监视系统包括:
延迟监视器,其监视指示发送改变请求与具有由所述改变请求处理系统所进行的改变
请求中的改变之间的时间的针对每个租户的延迟。
14.根据权利要求13所述的多租户计算系统,其中,所述租户行为监视系统包括:
租户识别器,其识别与每个进行请求的租户相对应的租户的类型。
15.一种方法,包括:
在多租户计算系统中,监视指示在进行由进行请求的租户所请求的、对租户数据的所
请求的改变时租户改变系统的性能的性能度量;
将所述所请求的改变划分成改变的多个部分;
基于所述性能度量,通过在所述进行请求的租户间分配改变请求处理资源来调度待进
行的改变的所述部分;以及
使用所分配的改变请求处理资源,按照所调度的那样进行改变的所述部分中的每个部
分中的对所述租户数据的改变。

说明书

在多租户系统中处理变化

背景技术

计算机系统当前?#36824;?#27867;使用。一些计算机系统是本地计算机系统,而其他系统在
远程服务器环境中使用。

公司或另一个组织在计算机系统的本地(内部)实现与计算机系统的远程服务器
实现(例如基于云的实现)之间进行切换不是不常见的。作为示例,公司有时候在它们的电
子邮件系统、它们的文档管理系统、或者它们的商业系统的本地实现与远程服务器实?#31181;?br />间进行切换。商业系统的一些示例包括:企业资源规划(ERP)系统、客户关系管理(CRM)系
统、经营范围(LOB)系统等。这些仅仅是其中公司在本地的、内部的实现与远程服务器或基
于云的实?#31181;?#38388;进行切换的计算机系统的类型的一些示例。

类似地,一些组织具有混?#31995;?#23454;现。服务中的一些服务是由计算机系统的本地的、
内部的组件执行的,而其他服务是在远程服务器或基于云的环境中执行的。在混?#31995;?#31995;统
中,组织将某些服务从内部实现迁移至基于云的实现不是不常见的。

具有远程服务器或基于云的实现的一些公司是相?#28304;?#22411;的。企业组织例如可以具
有数千雇员。因此,它们的计算机系统的远程服务器或基于云的实现必须服务大量个体。对
计算机系统进行的许多业务或改变涉及?#28304;?#37327;用户账户或大量用户数据进行改变。

作为示例,当企业组织想要将一些计算系统功能从内部实现迁移至基于云的实现
时,这可能涉及对企业的计算机系统的许多不同的更新。作为示例,如果企业正在迁移其电
子邮件系统,则这可能涉及大量雇员账户的创建。账户创建通常以序列化的方式完成,这可
能花费大量时间。另外,在进行一些改变的情况下,那些改变会消?#33041;?#31243;服务器或基于云的
实现的大量处理和存储器开销,以及带宽。

许多基于云的或远程的服务器实?#21482;?#26159;多租户系统。即,它们为多个不同的租户
提供一定等级的服务,所述多个租户通常是多个不同的组织。?#24065;?#20010;租户进行大量改变时,
这可能?#22909;?#22320;影响其他租户所体验的性能。

以上讨论仅仅是针对一般的背景信息而提供的,而不旨在用来帮助确定所要求保
护的主题的范围。

发明内容

在多租户服务处接收租户改变。将租户改变划分成多个部分。在多租户服务处、跨
已经请求了改变的所有租户来处理租户改变的多个部分,以跨所有进行请求的租户而均匀
地分配处理资源。

提供了该发明内容以用简化的形式引入在以下的具体实施方式中进一步描述的
概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在
用来帮助确定所要求保护的主题的范围。所要求保护的主题不限于解决了在背景技术中所
提出的任何或所有缺点的实现。

附图说明

图1是基于云的多租户服务架构的一个示例的框图。

图2是更加详细地示出了改变调度组件的一个示例的框图。

图3A和图3B(统称为图3)示出了在图1中所示出的架构的操作的一个示例的流程
图。

图4是图示了多租户云架构的一个示例中的不同等级的多租户的框图。

图5-图7示出了移动设备的示例。

图8是计算环境的一个示例的框图。

具体实施方式

图1是基于云的多租户服务架构100的一个示例的框图。架构100包括能够由多个
不同的租户系统104-106来访问的基于云的多租户服务系统102。如在下文中参考图4更加
详细地描述的,基于云的多租户服务系统102向使用租户系统104-106的租户提供某等级的
多租户服务。所述租户说明性地是分离的组织,以使得由系统102提供的多租户服务在期望
的等级处是每租户分离或隔离的。另外,如以下参考图4更加详细地描述的,可以在基础设
施等级、在应用平台等级、或者在应用软件等级等处提供多租户服务。因此,取决于由系统
102所提供的多租户的特定等级,与特定的客户端(或租户)相对应的信息将在该等级处是
分离的并?#20918;?#38548;离,从而其不能由其他客户端(或租户)来访问。

作为示例,如果系统102提供基础设施即服务,则系统102的基础设备组件由租户
104-106共享,但是它们的信息以其他方式保持为分离的。如果系统102提供平台即服务,则
平台组件由租户104-106共享。如果系统102提供应用软件即服务,则通用应用由系统102运
行,以对租户104-106进行服务。在这些实现中的任何实现中,由于系统102提供某等级的多
租户,因此与不同的租户104-106相对应的信息保持为分离的。这在下文中关于图4更加详
细地进行了描述。

在图1中所示出的系统102的示例中,租户系统104-106访?#35782;运?#20204;对应的租户数
据108-110进行操作的应用。租户系统104-106可以提供改变请求112-114以改变它们对应
的租户数据108-110。作为示例,租户104可以将多个用户从内部系统迁移至基于云的系统
102。因此,改变请求112可以用于为租户系统104而添加内部系统102中的大量电子邮件账
户。在另一个示例中,租户系统106可以已经获取了另一个组织,并且因此可能需要将大量
电子邮件账户添加至系统102中的其基于云的实现。在另一个示例中,可以已经重新组织了
使用租户系统104的组织。因此,可能需要改变大量雇员记录以示出他们不再是人力资源部
的一部分,而现在是市场部的一部分。在这些示例或者宽泛的多种其他示例中的任何示例
中,对租户的基于云的实现的改变在数量上可以是相?#28304;?#30340;。然而,在一个示例中,系统102
以将在服务其他租户时不影响系统102的性能的方式来处理这些改变。

以下关于图2和图3提供了对进行租户更新或改变时系统102的操作的更加详细的
描述。现在将提供简要概述以加强理解。

系统102说明性地包括改变请求处理系统116、改变调度组件118、租户行为监视系
统120、以及其他云实现组件122。其还可以包括公平策略119。改变调度组件118(其在图2中
更加详细地示出)从租户系统104-106接收改变请求并且访问租户行为监视系统120,该租
户行为监视系统120提供由改变调度组件118用来调度改变请求的信息。在一个示例中,改
变调度组件118将从各个租户系统104-106接收到的改变请求划分成部分,并跨各个租户而
分配改变请求处理系统116的资源,以使得可能提交相?#28304;?#25968;量的改变请求的单个租户不
会压制(overwhelm)这些资源而损害其他租户。

在对改变进行调度时,组件118访?#35270;?#31199;户行为系统120所提供的信息。租户行为
系统120本身说明性地包括租户类型识别器124、流入业务监视器126、流出业务监视器128、
以及其他识别器组件130。租户类型识别器124可以识别进行请求的租户104的不同的特性。
例如,其可以确定租户是对基于云的服务付费的租户还是具有试用账户的租户。其可以识
别租户的大小(例如,座位和活跃用户的数量)并且其还可以通过监视流入和流出业务来考
虑当前的业务等级或者改变请求处理系统116?#31995;?#36127;载。其可以计算由各个租户104-106当
前观察到的延迟(例如,通过测量改变请求与实际进行的改变之间的时间),其可以分析历
史业务数据、以及宽泛的多种其他数据。在任何情况下,改变调度组件118说明性地控制提
交至改变请求处理系统116的改变,以使得租户的任何集?#31995;?#34892;为都不会压制系统或者以
其他方式显著地?#26723;?#20854;他租户所体验的性能。

图2是改变调度组件的一个示例的更加详细的框图。组件118说明性地包括改变切
分(slice)组件132、下一改变识别器组件134、调度器通信组件136、以及未决改变储存138。
组件118还可以包括其他项目140。组件118说明性地从各个租户系统104-106接收改变请求
112-114。组件118还从租户行为监视系统120接收进行请求的租户行为特性142。改变切分
组件132接着按租户来划分所请求的改变,并将它们作为租户改变144-146保存在未决改变
储存138中。基于当前正请求的改变的数量(和其他信息),改变切分组件132可以针对租户
中的每个租户将改变144-146切分成多个不同的部分148-150。每个部分都可具有相同数量
的改变,并且该数量可以是预先定义的或动态地确定的。下一改变识别器组件134识别部分
148-150中的哪个部分是应当被处理以便确保各个租户系统104-106看到可接受的性能的
下一个部分。它将这向调度器通信组件136进行指示,调度器通信组件136接着向改变请求
处理系统116发送接下来的改变152。通过将针对每个租户的改变请求分割成常见尺寸的部
分,并且接着通过?#28304;?#30001;改变请求处理系统116进行的改变的那些部分进行调度,改变调度
组件118可以控制由租户系统104-106中的每个租户系统在进行他们所请求的改变时所观
察到的性能等级(例如,延迟)。组件118可以根据预先定义的公平策略119或者以其他方式
来完成该动作。因此,组件118可以确保没有单个租户或租户的分组压制改变请求处理系统
116从而极大地损害其他租户。替代地,组件118可以根据可以由管理员或其他人员设置或
者以其他方式确定的公平策略119来对改变进行调度。

图3A和图3B(统称为图3)示出了在进行租户改变时基于云的多租户服务系统102
的改变调度组件118和其他组件的操作的一个示例。系统102首先接收针对租户的改变请
求。这由图3中的框156指示。改变请求将说明性地包括识别正在进行改变的租户系统104-
106的租户识别器,以及对对应的租户数据的一组所请求的改变。

一旦接收到改变请求,改变调度组件118中的改变切分组件132就访问租户行为监
视系统120以获得进行请求的租户行为特性和其他数据142。这由框158指示。如在上文中简
要地讨论的,那些特性可以包括租户类型160。租户类型可以指示租户是付费租户还是具有
试用账户的租户。租户类型还可以指示已经由进行请求的租户购买的、或者被许可给进行
请求的租户的服务的等级。另外,租户类型识别器124可以提供对被许可给进行请求的租户
的座位的数量162以及进行请求的租户的活动用户的数量164的指示。其?#37096;?#20197;包括识别特
定的类型的租户的多种其他识别器。

流入业务监视器126和流出业务监视器128可以提供指?#38236;?#21069;正请求改变的租户
的数量的信息。这由框166指示。其可以识别流入和流出业务168的单位(例如,已经接收到
的改变请求的数量、每个改变请求中的改变的数量等)、正被请求的改变的类型、以及分别
由流入和流出业务监视器126和128所执行的其他分析结果。

其他行为监视组件130?#37096;?#20197;提供其他项目。例如,它们可以监视或测量由租户
104-106所进行的改变请求与其中由改变请求处理系统116实际所进行的写操作之间的延
迟。延迟由图3中的框170来指示。其他组件130可以提供指示延迟如何随着时间改变的历史
数据172。所述数据可以是滚动的平均数、或者其他历史数据172。另外,租户行为监视系统
120可以提供可以由改变调度组件118用来调度待进行的改变的其他特性174。

基于由改变调度组件118所接收到的改变请求以及行为特性和其他数据142,改变
切分组件132确定是否需要将当前接收到的改变请求切分成部分。这由图3中的框176来指
示。这可以参考公平策略119来完成。公平策略119可以采用宽泛的多种不同的形式。例如,
公平策略119可以被实施为标识在由数据142所指示的某些条件下改变请求将如何被切分
和调度的一组规则。公平策略119可以是静态策略或者是随着可用资源的等级、随着被服务
的租户的数量等而改变的动态策略。

例如,如果当前接收到的改变请求是针对对租户的电子邮件系统的大量增加的,
则改变切分组件132可以确定,如果请求这些改变中的所有改变,则这将压制改变请求处理
系统116的资源,以使得其他进行请求的租户将在延迟方面遭受性能?#26723;汀?#22240;此,改变切分
组件132可以将刚接收到的改变请求切分成较小的部分148,以使得针对该进行请求的租户
的改变仅仅每?#25105;?#20010;部分地被提供给改变请求处理系统116,以与来自其他进行请求的租
户的改变请求部分交织。以该方式,可以以交织的方式将来自其他进行请求的租户的改变
的部分提供至处理系统116,以使得在进行所请求的改变时所有进行请求的租户都关于改
变请求处理系统116的性能而受到公平的?#28304;?#22312;一些示例中,可以不以相同的速率(例如,
每个租户一个部分)将不同租户的部分提供至处理系统116。替代地,可以针?#38405;?#20123;类型的
租户而优先地提供部分。例如,针对已经对服务付费的进行请求的租户、针?#28304;?#20855;有试用账
户的进行请求的租户提供的每一个部分,可以将两个部分提供至处理系统116。可以在公平
策略196中或者在其他地方陈述这些类型的优先化的处理。类似地,改变切分组件132?#37096;?br />以改变每个进行请求的租户的部分的大小,以获得期望的公平。

如果改变切分组件132确定(基于当前所接收到的请求中的改变的数量或者基于
其他特性和数据142)不需要将请求切分成部分,则将改变请求视为单个部分。这由框178来
指示。

然而,如果需要将改变请求切分,则改变切分组件132将改变请求切分成部分并且
以每个租户为基础将它们储存在未决改变储存138中。将改变请求切分成部分由图3中的框
180来指示。

接着,下一改变识别器组件134确定待处理部分的顺序。即,下一改变识别器组件
134对数据储存器138中的各个部分进行调度,以用于由改变请求处理系统116来处理。下一
改变识别器组件134以这样的方式来进行操作:其以公平的方式跨所有进行请求的租户来
分配改变请求处理系统116的处理资源。在一个示例中,其按顺序每租户调度一个部分,并
且重复该调度过程直到针对所有进行请求的租户进行了改变的部分中的所有部分为止。在
另一个示例中,如在上文中所提及的,其可以针对付费租户调度多个部分而针对具有试用
账户的租户调度较少部分。当然,其?#37096;?#20197;以其他方式在租户间进行区分。其说明性地根据
可以由管理员或者以其他方式确定的公平策略119来对改变进行调度。对部分进行调度由
图3中的框182来指示。

一旦调度了改变的部分,下一改变识别器组件134就选择待进行的改变的下一部
分并将其识别至调度器通信组件136。调度器通信组件136向改变请求处理系统116发?#36879;?br />部分,或者将其识别至改变请求处理系统116,以使得系统116可以从未决改变储存138中拉
取那些改变请求。在两种情况中的?#25105;?#24773;况下,系统116进行与待针对其进行改变的下一部
分相对应的改变。选择下一部分并且在所选择的部分中进行改变由图3中的框184和186来
指示。

下一改变识别器组件134接着确定是否存在待处理的更多部分。这由框188来指
示。如果存在,则改变切分组件132确定其他租户是否同时具有所请求的更多改变。这由框
190来指示。如果没有,则处理便回到框184,其中,下一所调度的部分被识别并?#20918;?#25552;供至
改变请求处理系统116。

然而,如果在框190处确定一个或多个额外的租户已经请求了改变,则改变切分组
件132再次接收与进行请求的租户相对应的特性142,并且确定新进行请求的租户的请求是
否也需要被切分。这由框192来指示。如果不需要,则处理回到框182,其中,对新的改变请求
进行调度。然而,如果新的改变请求中的改变需要被切分,则改变切分组件132将那些改变
请求切分成部分并且将它们置于未决改变储存138中。这由图3中的框194来指示。同样,在
框182处,新切分的改变请求与已经存在的改变请求一起被调度,并且处理继续直到在框
188处确定不需要处理更多的改变请求为止。

因此,可以看到改变调度组件118和监视系统120确保大租户不会耗尽(starve)较
小的租户的规定的资源。其调度板载(onboarding)活动和其他改变请求活动,以使得以公
平的方式来分配由所有租户所体验的性能。改变调度组件118是可扩展的以迎合不同的商
业场景,例如基于使用系统102的租户的类型的差异化行为。同样,系统并不?#35272;?#20110;租户的
良好的行为。即,系统不?#35272;?#20110;租户控制它们自身的改变请求,以便不造成其他租户的性能
?#31995;慕档汀?#26367;代地,系统可以调度系统的资源,以使得相比于其他的、较大的租户,较小的租
户不受影响(例如,它们不体验较高的延迟)。系统实时地或接近实时地监视租户的行为,并
且系统决定对于给定的租户一次处理多少改变。这使得系统能够针对板载或其他改变处理
活动而为所有租户提供公平的量的带宽和其他计算资源。

本讨论已经提及了处理器和服务器。在一个实施例中,处理器和服务器包括具有
相关联的存储器和定时电路(没有分别地示出)的计算机处理器。它们是其所属的系统或设
备的功能部件,并且由这些系统或设备来激活,并且它们促进这些系统中的其他部件或项
目的功能。

同样,?#22266;?#35770;了多个用户界面显示。所述用户界面显示可以采用宽泛的多种不同
的形式,并可以具有布置在其?#31995;?#23485;泛的多种不同的用户可致动输入机制。例如,用户可致
动输入机制可以是文本框、勾选框、图标、链接、下拉?#35828;ァ?#25628;索框等。它们还可以以宽泛的
多种不同的方式来致动。例如,它们可以使用指向和点击设备(例如,轨迹球或鼠标)来致
动。它们可以使用硬件按键、开关、操纵杆或键盘、拇指开关或者拇指垫等来致动。它们还可
以使用虚拟键盘或者其他虚拟致动器来致动。另外,在显示这些用户界面的屏幕是触摸感
应屏幕的情况下,它们可以使用触摸?#36136;?#26469;致动。同样,在显示它们的设备具有语音识别组
件的情况下,它们可以使用语音命令来致动。

?#22266;?#35770;了多个数据存储。应当注意的是,可以将它们中的每个数据存储分成多个
数据存储。所有这些数据存储可以对访?#25910;?#20123;数据存储的系统而言是本地的,所有这些数
据存储可以是远程的,或者可以一些是本地的而其他的是远程的。在本文中构想所有这些
配置。

同样,附图示出了具有归属于每个框的功能的多个框。应当注意的是,可以使用更
少的框因此由更少的组件来执行功能。此外,可以使用具有分布在更多组件之间的功能的
更多的框。

图4是示出了其中可以实现系统102的多租户云架构196(云196)的更加详细的示
例的框图。图4示出了更加详细的其他云实现组件122(在图1中所示出的)的一个示例。

云计算提供了不需要末端用户了解传递服务的系统的物理位置或配置的计算、软
件、数据访问、和存储服务。在各种实施例中,云计算使用合适的协议而通过诸如互联网之
类的广域网来传递服务。例如,云计算提供者通过广域网传递应用并且可以通过网络浏览
器或任何其他计算组件?#36816;?#20204;进行访问。可以将架构100的软件或组件以及对应的数据存
储在远程位置处的服务器上。可以在远程数据中心位置处对云计算环境中的计算资源进行
整合,或者它们可以是分散的。云计算基础设施可以通过共享的数据中心来传递服务,即使
它们对用户而?#21592;?#29616;为单个访问点。因此,在本文中所描述的组件和功能可以使用云计算
架构从远程位置处的服务提供者来提供。可替代地,它们可以从传统服务器来提供,或者它
们可以直接安装在客户端设备上,或者以其他方式来提供。

该描述旨在包括公共云计算和?#25509;性?#35745;算两者。云计算(公共的和?#25509;?#30340;两者)提
供大体上资源的无缝集中化(pooling),而且?#26723;?#20102;管理和配置底层硬件基础设施的需求。

公共云是由供应者所管理的,并且通常支持多个客户使用相同的基础设施。同样,
与?#25509;性?#30456;反,公共云可以使得末端用户免于对硬件进行管理。?#25509;性?#21487;以由组织自行管
理并且设施通常并不与其他组织共享。该组织?#21248;?#35201;在一定程度上维护硬件,例如安装和
维修等。

图4示出了系统102中的组件122,其说明性地包括虚拟化系统198、基础设施组件
200、应用平台组件202、和应用软件组件204。基础设施组件200可以包括安全组件206、硬
件/软件基础设施208、服务器210、负载平衡组件212、网络组件214,并且其?#37096;?#20197;包括其他
组件216。

应用平台组件202可以包括执行运行时组件218、操作系统组件220、数据库组件
222、网络服务器组件224,并且其?#37096;?#20197;包括其他组件226。应用软件组件204说明性地包括
用户接口组件228、应用工作流230、应用逻辑232、数据库系统234,并且其可以包括其他项
目236。

取决于?#31245;?96所实现的多租户的等级,虚拟化系统198将把物理计算设备组件
122电子地分隔成一个或多个虚拟设备。可以使用和管理这些设备中的每个设备以执行计
算任务。

多租户云计算架构196可以根据多个不同的模型而在多个不同的等级处提供服
务。所述服务可以包括例如基础设施即服务(IaaS)、平台即服务(PaaS)、和软件即服务
(SaaS)等。IaaS是最基础的,并且较高等级的模型中的每个模型(分别为PaaS和SaaS)是从
?#31995;?#31561;级的模型的?#38468;?#20013;提取的。

在IaaS中,提供了物理机或虚拟机、以及其他资源。监督组件(有?#24065;?#34987;称为管理
程序)运行虚拟机。多个不同的管理程序可以用于运行相?#28304;?#25968;量的虚拟机,并且根据各个
租户的需求来按比例缩放。IaaS模型还可以按需求供应额外的资源(例如,其他基础设施组
件200)。为了使租户部署它们的应用,它们在云基础设施组件200上安装操作系统映像以及
它们的应用软件。接着,租户负责维护操作系统和应用软件。

PaaS涉及云架构196提供应用平台组件202即服务。应用开发者可以在?#30772;?#21488;组件
202上开发并运行他们的软件,而不需要管理底层硬件和软件层。

SaaS涉及架构196提供对应用组件204中的应用软件和数据库的访问。云架构196
管理基础设施组件200和运行应用的平台组件202。云196还安装并操作在应用组件204中的
应用软件,并且租户?#21248;?#20214;进行访?#23454;还?#29702;云基础设施组件200或应用在其中运行的平
台组件202。在这样的实现中,虚拟化系统198在运行时提供多个虚拟机以满足变化的工作
负荷。负载平衡器跨虚拟机来分配工作。该过程对于仅看到至应用的单个接入点的租户而
言常常是透明的。

在多租户环境中,任何机器都可以对部署租户系统104-106的多于一个的用户组
织进行服务。然而,多租户可以应用于云架构的所有三个层(IaaS、PaaS、和SaaS)。精确的多
租户的程度可以基于核心应用(或应用组件204)中有多少被设计为跨租户104-106共享。相
对高程度的多租户允许数据库方案?#36824;?#20139;,并且支持商业逻辑、工作流、和用户接口层的自
定义。在相对?#32479;?#24230;的多租户中,IaaS和PaaS组件200和202分别由具有专用于每个租户的
专用虚拟化组件的应用组件204共享。

已经关于供应软件即服务的基于云的多租户服务系统102进行了以?#31995;?#35752;论。因
此,虚拟化系统198将提供分离的虚拟机以在应用软件层上为每个租户104-106提供它们自
己的、安全的、和分离的虚拟计算环境。因此,每个租户104-106可以?#36816;?#20204;自己的应用(例
如,它们自己的电子邮件应用、文档管理系统、商业系统等)进行改变。当如在上文中关于图
1-图3所描述的那样完成时,它们可以这样做而不会?#36824;?#24179;地影响由其他租户所观察到的
性能。

还预期到的是,系统102的一些元件可以被设置在云中,而其他元件可以不被设置
在云中。作为示例,数据库和数据储存器可以被设置在云196外部,并且通过云196来访问。
在另一个示例中,其他组件可以位于云196外部。无论它们位于何处,它们都可以由租户系
统104-106中的设备通过网络300(广域网或局域网)直接地访?#21097;?#23427;们可以由服务托管在远
程?#38236;?#22788;,或者它们可以通过云被提供为服务或者由驻留在云中的连接服务来访问。在本
文中预期到这些架构中的所有架构。

还应当注意的是,可以将架构100或其部分设置在宽泛的多种不同的设备上。这些
设备中的一些设备包括:服务器、台式计算机、膝上型计算机、平板计算机、或其他移动设
备,例如掌上计算机、蜂窝电话、智能电话、多媒体播放机、个人数?#31181;?#29702;等。

图5提供了可以运行架构100或租户104-106的组件或者与架构100进行交互、或两
者的客户端设备16的组件的总体框图。在设备16中,提供允许手持设备与其他计算设备进
行通信的通信链路13,并且在某些实施例中,提供用于自动地接收信息(例如,通过扫描)的
信道。通信链路13的示例包括红外端口、串行/USB端口、诸如以太网端口之类的有线网络端
口、以及允许通过一个或多个通信协议进行通信的无线网络端口,其中所述一个或多个通
信协议包括通用分组无线服务(GPRS)、LTE、HSPA、HSPA+和其他3G与4G无线协议、1Xrtt和短
消息服务(其是用于提供至网络的蜂窝接入的无线服务)、以及提供至网络的本地无线连接
的Wi-Fi协议和蓝牙协议。

在其他实施例中,在连接至可移动安全数字(SD)卡接口15的SD卡上接收应用或系
统。SD卡接口15和通信链路13沿着总线19与处理器17(其?#37096;?#20197;实施在其他附图中所描述
的处理器或服务器)进行通信,其中总线19也连接至存储器21和输入/输出(I/O)组件23、以
及时钟25和定位系统27。

在一个实施例中,提供I/O组件23以促进输入和输出操作。设备16的各种实施例的
I/O组件23可以包括诸如按键、触摸传感器、多点触摸传感器、光学或视频传感器、语音传感
器、触摸屏、接近度传感器、麦克风、倾斜传感器、以及重力开关之类的输入组件和诸如显示
设备、扬声器、和/或打印机端口之类的输出组件。?#37096;?#20197;使用其他I/O组件23。

时钟25说明性地包括输出时间和日期的实时时钟组件。还可以说明性地为处理器
17提供定时功能。

定位系统27说明性地包括输出设备16的当前地理位置的组件。这可以包括例如全
球定位系统(GPS)接收机、LORAN系统、航位推算系统、蜂窝三角测量系统、或其他定位系统。
还可以包括例如生成期望的地图、?#24049;?#36335;线、和其他地理功能的地图软件或者?#24049;?#36719;件。

存储器21存储操作系统29、网络设置31、应用33、应用配置设置35、数据存储37、通
信驱动器39、以及通信配置设置41。存储器21可以包括所有类型的有形的?#36164;?#24615;和?#19988;资?br />性计算机可读存储器设备。其还可以包括计算机存储介质(在下文中所描述的)。存储器21
存储计算机可读指令,当由处理器17执行时,所述计算机可读指令使得该处理器根据这些
指令来执行计算机实现的步骤或功能。类似地,设备16可以具有客户端商业系统24,其可以
运行各种商业应用或者实施租户系统104-106的部分或全部。?#37096;?#20197;由其他组件来激活处
理器17以促进它们的功能。

网络设置31的示例包括诸如代理信息、互联网连接信息、以及?#25104;?#20043;类的事情。应
用配置设置35包括针对具体的企业或用户来定制应用的设置。通信配置设置41提供用于与
其他计算机进行通信的参数,并包括诸如GPRS参数、SMS参数、连接用户名和密码之类的项
目。

应用33可以是先前已经存储在设备16?#31995;?#24212;用,或者在使用期间安装的应用,尽
管这些应用?#37096;?#20197;是操作系统29的一部分,或者托管在设备16外部。

图6示出了在其中设备16是平板计算机600的一个实施例。在图6中,计算机600被
示为具有用户界面显示屏602。屏幕602可以是触摸屏(因此可以使用来自用户的?#31181;?#30340;触
摸?#36136;?#26469;与应用进行交互),或者是从笔或者触摸笔接收输入的支持笔的界面。其?#37096;?#20197;使
用屏上虚拟键盘。当然,?#37096;?#20197;通过合适的附接机制(例如,无线链路或者USB端口)来附接
至键盘或者其他用户输入设备。计算机600?#37096;?#20197;说明性地接收语音输入。

?#37096;?#20197;使用设备16的额外的示例。它们可以包括功能电话、智能电话、或移动电
话。电话可以包括用于拨打电话号码的一组键盘、能够显示包括应用图像、图标、网页、照
片、和视频在内的图像的显示器、以及用于选择在显示器上所示出的项目的控制按钮51。电
话包括用于接收诸如通用分组无线服务(GPRS)和1Xrtt之类的蜂窝电话信号以及短消息服
务(SMS)信号的天线。在一些实施例中,电话还包括接受安全数字(SD)卡57的SD卡插槽55。

移动设备?#37096;?#20197;是个人数?#31181;?#29702;(PDA)或多媒体播放器或平板计算设备、等等(在
下文中成为PDA)。PDA包括感应屏,其感测当触摸笔(或者其他指向器,例如用户的?#31181;?位
于该屏幕上?#22791;?#35302;摸笔的位置。这允许用户选择、突出显示和移动屏幕?#31995;?#39033;目、以及画和
?#30784;DA还包括多个用户输入键或者按钮,其允许用户滚动浏览在显示器上所显示的?#35828;?#36873;
项或其他显示选项,并?#20197;?#35768;用户在不接触显示器的情况下改变应用或者选择用户输入功
能。尽管没有示出,但PDA可以包括内置天线和支持与其他计算机进行无线通信的红外发射
机/接收机、以及支持至其他计算设备的硬件连接的连接端口。通常而言,这样的硬件连接
是通过支架(cradle)来实现的,该支架通过串行或USB端口连接至其他计算机。因此,这些
连接是非网络连接。

图7示出了智能电话71。智能电话71具有显示图标或区块(tile)或者其他用户输
入机制75的触摸感应显示器73。用户可以使用机制75来运行应用、进行通话、执行数据传输
操作等。通常而言,智能电话71构建在移动操作系统上,并且提供比特征电话更先进的计算
能力和连通性。

应当注意的是,其他形式的设备16是可能的。

图8是其中可以部署架构100或其部分的计算环境的一个示例。参考图8,用于实现
一些实施例的示例系统包括以计算机810为形式的通用计算设备。计算机810的组件可以包
括但不限于:处理单元820(其可以包括在上文中所讨论的处理器或服务器)、系统存储器
830、以及将包括系统存储器的各种系统组件耦?#29616;?#22788;理单元820的系统总线821。系统总线
821可以是几种类型的总线结构中的任?#25105;?#31181;,包括使用多种总线架构中的任?#25105;?#31181;的存
储器总线或存储器控制器、外围总线、以及本地总线。作为示例而非限制,这样的架构包括
工业标准结构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准关
联(VESA)本地总线、以及外围组件互连(PCI)总线(也被称为Mezzanine总线)。关于图1所描
述的存储器?#32479;?#24207;可以部署在图8的对应的部分中。

计算机810通常包括宽泛的多种计算机可读介质。计算机可读介质可以是能够由
计算机810来访问的任何可用的介?#21097;?#24182;且包括?#36164;?#24615;介质和?#19988;资?#24615;介质两者、可移动介
质和不可以移动介质两者。作为示例而非限制,计算机可读介质可以包括计算机存储介质
和通信介质。计算机存储介质不同于并?#20063;?#21253;括经调制的数据信号或载波。计算机存储介
质包括硬件存储介?#21097;?#25152;述硬件存储介质包括以用于存储信息(例如,计算机可读指令、数
据结构、程序模块、或其他数据)的任何方法或技术来实现的?#36164;?#24615;和?#19988;资?#24615;的、可以移
动和不可移动的介质。计算机存储介质包括但不限于:RAM、ROM、EEPROM、?#20102;?#23384;储器或其他
存储器技术、CD-ROM、数字通用盘(DVD)或者其他光盘存储、盒式磁带、磁带、磁盘存储或其
他磁存储设备、或者可以用于存储期望的信息并且可以由计算机810来访问的任何其他介
质。通常而言,通信介质实施计算机可读指令、数据结构、程序模块、或传输机制中的其他数
据,并且包括任何信息传递介质。术语“已调制的数据信号”是指这样的信号:具有使该信号
的特性中的一个或多个以如将信息编码在信号中的方式来设置或改变的信号。作为示例而
非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介?#21097;?#20197;及诸如声学、RF、
红外、和其他无线介质之类的无线介质。上文中的任何组合也应当被包括在计算机可读介
质的范围内。

系统存储器830包括以?#36164;源?#20648;器和/或?#19988;资源?#20648;器为形式的计算机存储
介?#21097;?#20363;如只读存储器(ROM)831和随机存取存储器(RAM)832。通常将基本输入/输出系统
833(BIOS)(其包含有助于例如在启动期间,在计算机810中的元件之间传输信息的基本例
程)存储在ROM 831中。RAM 832通常包含可以由处理单元820立即访问和/或目前由处理单
元820操作的数据和/或程序模块。作为示例而非限制,图8示出了操作系统834、应用程序
835、其他程序模块836、以及程序数据837。

计算机810还可以包括其他可移动/不可移动?#36164;?#24615;/?#19988;资?#24615;计算机存储介质。
仅仅作为示例,图8示出了从不可移动、?#19988;资源?#20171;质中读取信息或者向其写入信息的硬
盘驱动器841、用于从可移动、?#19988;资源?#30424;852中读取信息或者向其写入信息的磁盘驱动
器851、以及用于从可移动、?#19988;资?#24615;光盘856(例如,CD ROM或其他光学介质)中读取信息或
者向其写入信息的光盘驱动器855。可以在示例性操作环境中使用的其他可移动/不可移
动、?#36164;?#24615;/?#19988;资?#24615;计算机存储介质包括但不限于:盒式磁带、?#20102;?#23384;储器卡、数字通用
盘、数?#36136;?#39057;磁带、固态RAM、固态ROM等。硬盘驱动器841通常通过不可移动存储器接口(例
如,接口840)而连接至系统总线821,磁盘驱动器851和光盘驱动器855通常通过可移动存储
器接口(例如,接口850)连接至系统总线821。

可替代地或额外地,在本文中所描述的功能可以至少部分地由一个或多个硬件逻
辑组件来执行。作为示例而非限制,可以使用的说明性类型的硬件逻辑组件包括:现场可编
程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程
逻辑器件(CPLD)等。

在上文中讨论并在图8中示出的驱动器及其相关联的计算机存储介质提供对计算
机可读指令、数据结构、程序模块、和针对计算机810的其它数据的存储。例如,在图8中,硬
盘驱动器841被示出为对操作系统844、应用程序845、其它程序模块846、以及程序数据847
进行存储。应当注意的是,这些组件可以与操作系统834、应用程序835、其它程序模块836、
以及程序数据837相同或不同。在这里,给操作系统844、应用程序845、其它程序模块846、以
及程序数据847以不同的标号从而说明至少它们是不同的复本。

用户可以通过诸如键盘862、麦克风863、以及指向设备861(例如,鼠标、轨迹球、或
触摸板)之类的输入设备来向计算机810中输入命令和信息。其它输入设备(未示出)可以包
括:操纵杆、游戏垫、碟式卫星天线、扫描仪等。这些和其它输入设备通常通过耦?#29616;?#31995;统总
线的用户输入接口860而连接至处理单元820,但?#37096;?#20197;通过诸如并行端口、游戏端口、或通
用串行总线(USB)之类的其它接口和总线结构而连接。可视显示器891或者其它类型的显示
设备也经由诸如视频接口890之类的接口而连接至系统总线821。除了监视器之外,计算机
还可以包括其它外围输出设备,例如扬声器897和打印机896,它们可以通过输出外围接口
895而连接。

使用至一个或多个远程计算机(例如,远程计算机880)的逻辑连接来在网络化环
境下操作计算机810。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络
PC、对等设备、或其它公共网络节点,并且通常包括在上文中相对于计算机810所描述的元
件中的许多个或全部元件。在图8中所描绘的逻辑连接包括局域网(LAN)871和广域网(WAN)
873,但?#37096;?#20197;包括其它网络。这样的网络环境在办公室、企业范围的计算机网络、内联网、
以及互联网中是常见的。

当在LAN网络环境中使用时,将计算机810通过网络接口或者适配器870连接至LAN
871。当在WAN网络环境中使用时,计算机810通常包括调制解调器872、或者用于通过WAN
873(例如,互联网)来建立通信的其它单元。可以将调制解调器872(其可以是内置的或者外
置的)经由用户输入接口860或者其它合适的机制连接至系统总线821。在网络化环境中,可
以将相对于计算机810或其一部分所描述的程序模块存储在远程存储器存储设备中。作为
示例而非限制,图8将远程应用程序885示出为驻留在远程计算机880上。应当理解的是,所
示出的网络连接是示例性的,并且?#37096;?#20197;使用在计算机之间建立通信链路的其它方式。

还应当注意的是,可以以不同的方式对在本文中所描述的不同的实施例进行组
合。即,可以将一个或多个实施例的部分与一个或多个其它实施例的部分进行组合。在本文
中构想所有这些组合。

示例1是一种多租户计算系统,包括:

租户行为监视系统,其生成指示发送对应的改变请求的进行请求的租户的特性的
数据,每个改变请求都指示对与所述进行请求的租户相对应的租户数据的所请求的改变;

改变调度组件,其从多个不同的租户接收改变请求,所述改变调度组件基于所述
进行请求的租户的所述特性而将所述改变请求划分成多个部分的改变,并?#19994;?#24230;待对对应
的租户数据进行的改变的部分;以及

改变请求处理系统,其按照由所述改变调度组件所调度的那样对所述租户数据进
行改变请求。

示例2是任何或所有先前的示例的多租户计算系统,其中,所述改变调度组件包
括:

改变切分组件,其基于指示在针对所述进行请求的租户进行改变时所述改变请求
处理系统的性能的性能信息,来确定是否要将每个改变请求分成多个不同的部分以供调
度。

示例3是任何或所有先前的示例的多租户计算系统,其中,所述改变调度组件还包
括:

下一改变识别器组件,其基于所述性能信息来?#28304;?#30001;所述改变请求处理系统进行
的下一改变进行调度。

示例4是任何或所有先前的示例的多租户计算系统,其中,所述下一改变切分组件
和所述下一改变识别器组件基于指示针对不同的进行请求的租户的期望的性能的租户公
平策略来分别确定是否要将每个改变请求分成多个不同的部分,并?#19994;?#24230;待进行的所述下
一改变。

示例5是任何或所有先前的示例的多租户计算系统,其中,所述下一改变切分组件
和所述下一改变识别器组件基于对针对不同的进行请求的租户的性能的测量来分别确定
是否要将每个改变请求分成多个不同的部分,并?#19994;?#24230;待进行的所述下一改变。

示例6是任何或所有先前的示例的多租户计算系统,其中,所述租户行为监视系统
包括:

一组性能测量组件,其提供对针对所述不同的进行请求的租户的性能的测量。

示例7是任何或所有先前的示例的多租户计算系统,其中,所述租户行为监视系统
包括:

业务监视组件,其将由所述进行请求的租户中的每个进行请求的租户所请求的改
变的数量作为对性能的测量来监视并提供。

示例8是任何或所有先前的示例的多租户计算系统,其中,所述租户行为监视系统
包括:

延迟监视器,其将指示由所述进行请求的租户中的每个进行请求的租户在发送所
述改变请求与具有由所述改变请求处理系统所进行的对租户数据的所述对应的改变之间
所体验的延迟的延迟测量作为对性能的测量来监视并提供。

示例9是示例6的所述多租户计算系统,其中,所述租户行为监视系统包括:

租户类型识别器,其识别每个行请求的租户的的租户类型,并且将所述租户类型
作为所述进行请求的租户的特性中的一个特性来提供。

示例10是多租户计算系统,包括:

租户改变系统,其从多个不同的进行请求的租户接收改变请求,所述改变请求指
示对与所述不同的进行请求的租户相对应的租户数据的改变;以及

调度组件,其基于所述改变请求中的每个改变请求中的改变的数量,来针对所述
多个不同的进行请求的租户而将所述改变请求划分成改变的分组并对所述改变的分组进
行调度,以跨所述改变请求来分配改变处理资源。

示例11是任何或所有先前的示例的多租户计算系统,其中,所述租户改变系统还
包括:

改变请求处理系统,其包括所述改变处理资源,所述改变请求处理系统按照由所
述调度组件所调度的那样在所述改变的分组中对所述租户数据进行改变。

示例12是任何或所有先前的示例的多租户计算系统,其中,所述租户改变系统还
包括:

租户行为监视系统,其监视所述改变请求中的每个改变请求中的改变的数量。

示例13是任何或所有先前的示例的多租户计算系统,其中,所述租户行为监视系
统包括:

延迟监视器,其监视指示发送改变请求与具有由所述改变请求处理系统所进行的
改变请求中的改变之间的时间的针对每个租户的延迟。

示例14是任何或所有先前的示例的多租户计算系统,其中,所述租户行为监视系
统包括:

租户识别器,其识别与每个进行请求的租户相对应的租户的类型。

示例15是一种方法,其包括:

在多租户计算系统中,监视指示在进行由进行请求的租户所请求的、对租户数据
的所请求的改变时租户改变系统的性能的性能度量;

将所述所请求的改变划分成改变的多个部分;

基于所述性能度量,通过在所述进行请求的租户间分配改变请求处理资源来调度
待进行的改变的所述部分;以及

使用所分配的改变请求处理资源,按照所调度的那样进行改变的所述部分中的每
个部分中的对所述租户数据的改变。

示例16是任何或所有先前的示例的方法,其中,调度改变的所述部分包括:

调度改变的所述部分以针对相对于请求相?#28304;?#37327;改变的进行请求的租户而言的
请求相对少量改变的进行请求的租户而保持给定的性能等级,所述相?#28304;?#37327;的改变相对于
相对少量的改变是大的。

示例17是任何或所有先前的示例的方法,其中,调度改变的所述部分包括:

从第一所请求的改变调度待进行的改变的第一部分,所述改变的第一部分是在所
述第一所请求的改变中所请求的改变的子集。

示例18是任何或所有先前的示例的方法,其中,调度改变的所述部分包括:

在从所述第一所请求的改变调度改变的任何额外的部分之前,从第二所请求的改
变调度待进行的改变的第二部分,改变的所述第二部分是在所述第二所请求的改变中的所
述改变的子集。

示例19是任何或所有先前的示例的方法,其中,监?#26377;?#33021;包括:

检测与每个进行请求的租户相对应的租户的类型,所述租户的类型至少标识每个
进行请求的租户包括支付对所述多租户计算系统的访问的付费租户还是包括具有对多租
户计算系统的非支付访问的租户。

示例20是任何或所有先前的示例的方法,其中,调度改变的所述部分包括:

基于所述租户的类型来调度改变的所述部分,从而每个进行请求的租户都具有在
给定范围内的延迟。

尽管已经用特定于结?#22266;?#24449;和/或方法行为的语言描述了本主题,但应当理解的
是,在所附权利要求中所定义的主题非必须限于在上文中所描述的具体的特征或行为。相
反,在上文中所描述的具体的特征或行为是作为实现所述权利要求的示例形式而公开的。

关于本文
本文标题:在多租户系统中处理变化.pdf
链接地址:http://www.pqiex.tw/p-6091842.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 官方欢乐捕鱼人礼包领取 3d捕鱼达人最老版本 05444定羸 江苏快3预测 牛牛对战赌博 电玩城注册送28元 足彩稳胜技巧 仁王一周目怎么赚钱 预测彩票最准确的方法 欢乐生肖实时计划网