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

针对服务升级的动态调整步调.pdf

关 键 ?#21097;?/dt>
针对 服务 升级 动态 调整 步调
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580031177.0

申请日:

2015.06.10

公开号:

CN106663013A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 9/445申请日:20150610|||公开
IPC分类号: G06F9/445 主分类号: G06F9/445
申请人: 微软技术许可有限责任公司
发明人: T·布哈蒂亚; Z·拉兹; A·乔哈里; M·德洛里亚; P·西梅克; R·D·汤姆森
地址: 美国华盛顿州
优?#28909;ǎ?/td> 2014.06.11 US 14/302,334
专利代理机构: ?#26412;?#24066;金杜律师事务所 11256 代理人: 王茂华
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580031177.0

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

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

摘要

本文中公开的是用于增强关于软件服务部署的升级过程的系统、方法和软件。在至少一个实现方式中,呈?#33267;?#21040;用于管理软件服务的初始部署的管理端口的用户接口并且在其中显现升级可用的通知。响应于对用户接口中的通知的选择,在用户接口中显现用于控制关于初始部署的服务组件的升级的步调的升级控件。至少部分地基于经由升级控件指定的升级的步调来将升级递增地应用到服务组件。

权利要求书

1.一种用于对软件服务部署的升级动态调整步调的方法,所述方法包括:
在到用于管理软件服务的初始部署的管理端口的用户接口中,显现升级可用于所述初
始部署的通知;
响应于对所述用户接口中的所述通知的选择,在所述用户接口中呈现用于控制关于所
述初始部署的服务组件的所述升级的步调的升级控件;以及
至少部分地基于经由所述升级控件指定的所述升级的所述步调,来将所述升级递增地
应用到所述服务组件。
2.根据权利要求1所述的方法,还包括启动所述软件服务的升级部署,其中至少部分地
基于经由所述升级控件指定的所述升级的所述步调来将所述升级递增地应用到所述服务
组件包括:
当由所述升级的所述步调针对所述服务组件中的每个服务组件指定时,在所述升级部
署中加载所述服务组件并将所述升级应用到所述服务组件。
3.根据权利要求2所述的方法,其中所述软件服务包括解析为所述初始部署的服务标
识符,使得服务应用可以使用所述服务标识符与所述初始部署通信,其中所述方法还包括:
建立与所述服务标识符不同的并且解析为所述升级部署的临时服务标识符,使得所述
服务应用的至少一部分可以使用所述临时服务标识符与所述升级部署通信。
4.根据权利要求3所述的方法,还在完成所述升级时,改变所述服务标识符以解析为所
述升级部署而非所述初始部署,使得所述服务应用可以使用所述服务标识符与所述升级部
署通信。
5.根据权利要求4所述的方法,其中所述服务标识符包括初始地解析为与所述初始部
署相关联的互联网协议地址的统一资源定位符,并且其中所述临时服务标识符包括解析为
与所述升级部署相关联的第二互联网协议地址的第二统一资源定位符。
6.根据权利要求5所述的方法,其中所述软件服务包括具有与所述软件服务的多个部
署相关联的多个租户的多租户环境,其中所述初始部署和所述升级部署与所述多个租户中
的特定租户相关联,其中所述统一资源定位符包括所述软件服务的名称和所述特定租户的
名称,并且其中所述第二统一资源定位符包括所述软件服务的所述名称、所述特定租户的
所述名称以及表示所述临时服务标识符的临时状态的?#22336;?#20018;。
7.根据权利要求1所述的方法,其中所述软件服务包括在线协作服务,并且其中所述服
务组件包括由所述软件服务的所述初始部署托管的并且在应用所述升级之后由所述软件
服务的升级部署托管的协作?#38236;恪?br />
8.一种用于在多租户环境中对软件服务部署的升级动态调整步调的方法,所述方法包
括:
标识由租户指定的步调,?#36816;?#36848;步调进行对与所述租户相关联的所述软件服务的初始
部署的升级,其中所述软件服务的所述初始部署包括多个服务组件并且与由服务应用用于
访问所述软件服务的所述初始部署的服务标识符相关联;
当所述升级根据所述步调增量地进展时,将与所述服务标识符不同的临时服务标识符
解析为所述软件服务的升级部署,使得所述服务应用的至少一部分可以使用所述临时服务
标识符来访问所述软件服务的所述升级部署;以及
在完成所述升级时,将所述服务标识符解析为所述软件服务的所述升级部署,使得所
述服务应用可以使用所述服务标识符来访问所述软件服务的所述升级部署。
9.一个或多个计算机可读存储介?#21097;?#20855;有在其上存储的用于支持对软件服务部署的升
级动态调整步调的程序指令,所述程序指令当由处理系统运行?#24065;?#23548;所述处理系统以至
少:
在到软件服务的初始部署的用户接口中显现升级关于所述初始部署可用的通知和用
于导航至升级控件的通知控件,利用所述升级控件来控制所述升级的步调;以及
响应于与所述用户接口中的所述通知控件的交互,在所述用户接口中显现所述升级控
件,通过所述升级控件来接受用户输入,所述用户输入至少根据何时将所述软件服务的所
述初始部署的哪些部分升级到所述软件服务的升级部署来限定所述升级的所述步调。
10.根据权利要求9所述的一个或多个计算机可读存储介?#21097;?#20854;中所述软件服务的所述
初始部署包括多个服务组件,并且其中所述程序指令还引导所述处理系统以至少部分地基
于限定所述升级的所述步调的所述用户输入来将所述升?#23545;?#37327;地应用到所述多个服务组
件。
11.根据权利要求10所述的一个或多个计算机可读存储介?#21097;?#20854;中为了将所述升?#23545;?br />量地应用到所述多个服务组件,所述程序指令引导所述处理系统以至少:
当由所述升级的所述步调针对所述服务组件中的每个服务组件指定时,在所述升级部
署中加载所述服务组件并将所述升级应用到所述服务组件。
12.根据权利要求9所述的一个或多个计算机可读存储介?#21097;?#20854;中所述软件服务的所述
初始部署与由服务应用用于访问所述软件服务的所述初始部署的服务标识符相关联,并且
其中所述升级控件包括标识符控件,通过所述标识符控件来指定与所述服务标识符不同的
并且解析为所述软件服务的所述升级部署的临时服务标识符,使得所述服务应用的至少一
部分可以使用所述临时服务标识符来访问所述软件服务的所述升级部署。
13.根据权利要求12所述的一个或多个计算机可读存储介?#21097;?#20854;中所述程序指令还引
导所述处理系统以在完成所述升级时,改变所述服务标识符以解析为所述升级部署而非所
述初始部署,使得所述服务应用可以使用所述服务标识符与所述升级部署通信。
14.根据权利要求13所述的一个或多个计算机可读存储介?#21097;?#20854;中所述服务标识符包
括初始地解析为与所述初始部署相关联的互联网协议地址的统一资源定位符,并且其中所
述临时服务标识符包括解析为与所述升级部署相关联的第二互联网协议地址的第二统一
资源定位符。
15.根据权利要求14所述的一个或多个计算机可读存储介?#21097;?#20854;中所述软件服务包括
以下之一:在线协作服务、生产力应用服务、统一通信服务、个人信息管理服务、游戏服务以
及数据库应用服务。

说明书

针对服务升级的动态调整步调

技术领域

本公开内容的方面涉及计算硬件和软件技术,并且具体地涉及对服务升级动态调
整步调。

背景技术

软件应用和解决方案越来越多地被交付为来自数据中心和俗称为云的其他远程
计算环境的服务。将软件部署在云中允许组织容易地扩大或缩小以适应需求。软件解决方
案有?#26412;?#30001;由软件供应商托管的公共云被交付,但是?#37096;?#20197;经由?#25509;性?#25110;以?#25345;只?#21512;方式
来被交付。

升级这样的软件解决方案可以是具有挑战性的工作,尤其是当考虑许多部署的规
模时。当软件部署临时被关闭以适应更新时可能发生大量的?#25910;?#26102;间和损失的生产力。另
外,租户可能已经对其给定软件解决方案的部署做出的定制可能通过升级而被丢失或导致
无效。

以一定规模操作的许多软件提供者不向它们的客户给予对何时升级给定软件解
决方案的控制。例如,一些基于云的电子邮件解决方案常规地从一个版本被自动地升级到
下一版本,而不允许客户控制如何或何时应用升级。

各种升级技术已经尝试缓解这些挑战。在一个示例中,当服务部署被调度为要被
升级时,租户可以被提前通知并且可以因?#20439;?#22791;测试。可以向其部署软件的升级版本的测
试环境可以被创建。租户数据可以被移植到测试环境中并且向选定的人员群体提供访问使
得能够针对各种租户情景和定制来测试软件的新的特征和功能。一旦对新的软件给予批
准,则测试环境被拆除并且完全新的构建被启动,伴随租户的数据被并入到其中。

在简单的示例中,协作软件服务的租户部署可以跨物理或虚拟服务器群而被实例
化。当升级可用时,租户可以启动向其部署协作服务的升级版本的另一服务器群(通常为虚
拟的)。一旦升级被租户测试和批准,则服务器群就被拆除,新的服务器群被创建,并且协作
服务被部署到新的服务器群。

发明内容

本文中提供的是用于增强关于软件服务部署的升级过程的系统、方法和软件。本
文中描述的各种实现方式使得租户能够控制他们的升级进行的步调。

在至少一个实现方式中,呈?#33267;?#21040;用于管理软件服务的初始部署的管理端口的用
户接口并且在其中显现升级可用的通知。响应于对用户接口中的通知的选择,在用户接口
中显现用于控制关于初始部署的服务组件的升级的步调的升级控件。至少部分地基于经由
升级控件指定的升级的步调来将升级递增地应用到服务组件。

提供本概述从而以简化的形式介绍下面在具体实施方式中进一步描述的一系列
概念。可以理解,本概述不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于
限制要求保护的主题的范围。

附图说明

可以参考以下附图更好地理解本公开内容的许多方面。尽管结合这些附图描述了
若干实现方式,但是本公开内容不限于本文中公开的实现方式。相反,意图是要涵盖所有备
选方案、修改和等效方案。

图1图示了实现方式中的服务体系结构。

图2图示了实现方式中的升级过程。

图3图示了实现方式中的操作情景。

图4图示了实现方式中的升级的初始阶段。

图5图示了实现方式中的升级的中间阶段。

图6图示了实现方式中的升级的最?#25112;?#27573;。

图7图示了实现方式中的升级的初始阶段。

图8图示了实现方式中的升级的最?#25112;?#27573;。

图9图示了适合于实现本文中关于图1-9所公开的并且在下面的具体实施方式中
?#33268;?#30340;应用、服务、过程、体系结构、阶段和操作情景中的任一项的计算系统。

具体实施方式

本文中所公开的实现方式实现对软件服务部署的升级的自定步调。在本文中描述
的各种实现方式中,管理人员可以与管理端口交互以控制何时进行对软件服务的租户部署
的升级。

除了控制升级的步调之外,租户可以在每个组件的基础上增量地推进升级。租户
可以在服务组件水平处指定要升级租户部署的哪些部分以及何时升级,而不是必须将升级
部署的完整构建一次全部铺开。

可以通过当升级正在进行中时允许租户人员在部署之间巡览的灵活服务标识符
来提供对升级部署的访问。取决于租户的满意水平,升级可以被方便地超前或回滚。一旦升
级被完成和批准,则在评价阶段期间移植的测试数据或其他数据可以被保留在升级部署
中。

在至少一个实现方式中,一种用于对软件服务部署的升级动态调整步调的方法包
括,在到用于管理软件服务的初始部署的管理端口的用户接口中显现升级可用于初始部署
的通知。响应于对用户接口中的通知的选择,在用户接口中呈现用于控制关于初始部署的
服务组件的升级的步调的升级控件。可以至少部分地基于经由升级控件指定的升级的步调
来将升级递增地应用到服务组件。

在一些实施方式中,可以启动软件服务的升级部署,其中当由升级的步调指定时
服务组件中的每个服务组件可以被加载。在?#23454;?#30340;情况下升级还可以被应用到每个服务组
件。

对软件服务的初始部署的访问可以通过解析为初始部署的服务标识符的方式被
提供。以这种方式,从初始部署远程运行的服务应用可以使用服务标识符与初始部署通信。
在随着升级向前推进时,可以建立与服务标识符不同的并且解析为升级部署的临时服务标
识符,使得服务应用的至少一部分可以使用临时服务标识符与升级部署通信。

在完成升级时,服务标识符可以被改变以解析为升级部署而非初始部署,使得服
务应用可以使用服务标识符与升级部署通信。服务标识符的示例是初始地解析为与初始部
署相关联的互联网协议(IP)地址的统一资源定位符(URL)。临时服务标识符的示例是解析
为与升级部署相关联的第二IP地址的第二URL。鉴于第一URL可以在升级之前解析为路由至
初始部署的第一IP地址,在升级完成之后第一URL将解析为路由至软件服务的升级部署的
第二不同的IP地址。

在一些实现方式中,软件服务包括具有与软件服务的多个部署相关联的多个租户
的多租户环境。在示例中,初始部署和升级部署可以与多个租户中的特定租户相关联,在这
种情况下,URL可以包括软件服务的名称和该租户的名称。第二URL还可以包括软件服务的
名称和该租户的名称,并且另外还可以包括表示临时服务标识符的临时状态的?#22336;?#20018;。例
如,如果URL是“contoso.service.com?#20445;?#21017;第二URL可以为“contoso-test.service.com”。
其他标识符也是可能的并且可以被认为是在本公开内容的范围内。

软件服务的示例包括生产力应用服务(例如,文字处理、电子表格以及演示应用服
务)、电子邮件服务、统一通信服务、关系管理服务、数据库服务和在线协作服务,以及任何
其他类型的软件服务。在协作服务的情况下,服务组件的示例包括协作应用或模块、由软件
服务的初始部署托管并且在应用升级之后由软件服务的升级部署托管的协作?#38236;恪?#20854;他示
例包括?#38236;?#38598;、文档存储库、定制代码、小应用程序以及微件。

现在转到图1,服务体系结构100包括应用平台101、应用平台111和应用平台131。
服务应用103运行在应用平台101上并允许用户107经由用户接口105访问软件服务123。服
务应用113被实现在应用平台111上并向用户117提供到软件服务123的用户接口115。应用
平台131运行服务应用133,服务应用133?#22266;?#20379;到软件服务123的用户接口135。

由管理员137表示的管理人员能够经由用户接口135访问管理端口141。软件服务
123被实现在服务平台121上并且包括服务组件125、服务组件127和服务组件129。

在操作时,用户107和117通过用户接口105和115与软件服务123互动,用户接口
105和115分别由服务应用103和113渲染在应用平台101和111上。管理员137可以经由用户
接口135与软件服务123交互?#28304;?#34920;租户来?#28210;?#36719;件服务123。管理员137可以例如添加或移
除用户、?#28210;?#26381;务设置或以其他方式管理软件服务123的部署。

升级可能不时地变得可用。当升级可用于软件服务123时,软件服务123(或某个其
他应用)可以将在用户接口135中并且尤其是在管理端口141中显现的通知传达到服务应用
133。在管理端口141中显现的通知143可以包括可选择以显现更新控件的控件,由更新控件
145和更新控件147表示。更新控件可以由管理员137用以?#28210;?#29992;于升级软件服务123的过
程。

图2图示了表示可以运行在服务平台121或其他地方上的过程的升级过程200,以
便于支持软件服务123从一个版本到下一版本的升级。由升级过程200提供的功能可以以程
序指令被体现为升级服务、应用或模块。程序指令可以被实现为独立服务、应用或模块,或
者可以以分布式方式跨多个服务、应用、或模块或者其任何组合或变型来被实现。如以程序
指令被体现为服务、应用或模块的升级过程200可以被实现为表示图9中图示的计算系统
900的?#23454;?#30340;计算设备或设备集上。

下面顺带指出图2中图示的步骤,尽管可以认识到其他步骤能够被包括在升级过
程200中。开始,升级过程200标识进行对软件服务123的升级的步调(步骤201)。步调可以由
管理员137经由管理端口141中的更新控件145和147限定。管理员137可以指定升级的各个
方面,诸如首先利用哪些组件进行、何时利用每个组件进?#26800;?#31561;。

一旦已经指定了升级的步调,则升级过程200建立针对可能已经启动的支持升级
的升级部署的临时服务标识符(步骤203)。临时标识符可以相对于由服务应用103和113用
于访问软件服务123的服务标识符不同。

在启动升级部署并且建立了临时标识符之后,根据由管理员137指定的升级的步
调关于每个服务组件增量地应用升级(步骤205)。当每个服务组件被加载在升级部署中并
被评价时,做出对服务组件的升级是否成功的确定(步骤207)。这样的确定可以由管理员
137主观地做出并且通过用户输入被传达到升级过程200。然而,这样的确定可以由升级过
程200或能够评价升级的优点的某个其他过程自动地做出。

在这一点上,如果对特定服务组件的升级被认为是不成功的,则升级过程200可以
暂停以向租户提供回滚升级的机会或者暂停升级直到使得能够被应用到服务组件的代码
修正可用。如果回滚发生,则升级过程200可以关于相同服务组件继续。然而,还可能的是,
升级过程200被引导为利用另一服务组件进行。

如果对给定服务组件的升级被认为是成功的,则升级过程200进行至另一服务组
件。该循环可以重复直到升级被解散或者直到不再有要被升级的服务组件,其确定可以由
升级过程200自动地或利用用户输入来做出(步骤209)。最终,软件服务的初始部署中的服
务组件中的全部服务组件或升级可以应用到的服务组件中的全部服务组件被升级。初始地
被解析为初始部署的服务标识符可以被改变以解析为软件服务的升级部署(步骤211)。

图3图示了用于支持本文中提出的各?#25351;?#24565;和原理的实现方式的操作情景300。操
作情景300包括软件服务的初始部署321。初始部署321包括服务组件325、服务组件327和服
务组件329。在初始阶段301期间,对初始部署321的升级的步调已经由管理人员限定。在该
情景中的步调指定升级首先利用服务组件329进行,接着是服务组件327,并且然后是服务
组件325。这样的步调允许与初始部署321相关联的租户在向前推进升级的剩余部分之前在
每个组件的基础上评价升级的优点。注意,服务标识符alpha.service.com与初始部署321
相关联并且用于将流量路由至初始部署321。

一旦已经指定了升级的步调,则在下一阶段303期间升级开始。在该阶?#26410;Γ?#26381;务
标识符保持被解析为初始部署321。软件服务的升级部署322已经被启动并且服务组件329
被加载在其中。服务组件329还可以在初始部署321中保持可操作,尽管其能够可选地被禁
用。临时服务标识符alpha-test.service.com已经被创建并解析为升级部署322。以这种方
式,租户人员可以访问服务组件329的升级版本以便测试其特征和功能。

假定服务组件329的升级被批准,则升级进行至阶段305,在阶段305期间服务组件
327被加载到升级部署322中并且其本身被升级(在其能够被升级的程度上)。正如服务组件
329,服务组件327被加载到升级部署322中。服务组件327可以在初始部署321中保持可操作
或能够被禁用。

在阶段307处,服务组件325被加载到升级部署322中并且在升级部署322的上下文
中被升级。服务组件325可以在初始部署321中保持可操作。然而,一旦对服务组件325的升
级被认为是成功的,则软件服务的初始部署321的整体将已经被升级。因此,服务标识符可
以被改变以解析为升级部署322。以这种方式,先前已经被引导到初始部署321的流量将被
引导至正在向前推进的升级部署322。临时服务标识符可以被禁用,但是可以可选地保持于
服务中。

图4-6图示了如关于协作服务应用的升级过程中的各?#32440;?#27573;。参考图4,在升级过
程的初始阶段400期间,访问系统401提供对协作服务403的访问。服务标识符
alpha.service.com由服务应用用于做出通过访问系统401被路由的协作服务403的请求。
访问系统401的示例是来自F5的负载均衡器。

在初始阶段400期间协作服务403根据版本n来被部署。协作服务403与租户内容
405接口连接,租户内容405可以包括实时数据库407。换言之,与(应用平台上的)服务应用
交互的用户通过协作服务403与存储在实时数据库407中的数据和其他内容互动。用户可以
诸如通过联?#31995;?#32534;辑或共享文档、查看协作?#38236;?#31561;等来在数据上协作。来自的
Docs、来自的以及来自的
是协作服务的示例。

升级过程可以进行到图5中图示的中间阶段500。在该阶?#26410;Γ?#21319;级的步调已经由
管理人员限定并且升级正在相应地前进。临时标识符已经被创建(alpha-
test.service.com),如由协作服务404(版本n+1)表示的,协作服务403的升级版本已经被
实例化。另外,租户内容406已经被实例化,其包括用于人员来交互的测试数据库408。

?#38236;?#22270;410也已经在该情景中被建立。?#38236;?#22270;410允许租户内容405被双重安装使
得其中的至少一些经由除了协作服务403之外的协作服务404可访问。在一些实现方式中,
?#38236;?#22270;410被用于关联或重定义租户内容405,使得在一段时间内,其变成租户内容406。站
点图410可以在升级过程的进程期间被改变以将实时数据库407链接到协作服务404,而非
实际上复制和移动包括在租户内容405中的数据。因此,在测试数据库408被称为“测试”数
据时,可以认识到,数据可以实际上为实时数据的实例并且一旦升级完成就可以被认为是
实时数据。这允许在升级过程期间的服务的连续性。一旦升级过程完成,使用临时服务标识
符与测试数据库408交互的人?#26412;?#33021;够继续在相同的状态中与相同的数据交互。利用?#38236;?br />图410还允许在升级中的任何阶段被回滚而不丢失数据或其他定制。

总体上,使用服务标识符通信的请求和其他交互由访问系统401路由至协作服务
403。因此,请求和交互被应用到租户内容405和实时数据库407。同时,使用临时服务标识符
通信的请求和其他交互由访问系统401路由至协作服务404,其是协作服务403的升级版本。
请求和交互将通常使用租户内容406和测试数据库408来处理,尽管租户内容405和测试数
据库407能够由协作服务404访问。

最终升级过程被完成并且对协作服务403的更新被批准。在图6中图示的该最?#25112;?br />段600处,访问系统401可以通过任一服务标识符到达,尽管临时服务标识符可能被停用。更
?#38750;?#22320;说,主服务标识符alpha.service.com被解析为协作服务404,而非协作服务403。实
际上,协作服务403可以在此刻被拆除。实时数据库407有效地被迁移到经由协作服务404可
访问的租户内容406中。租户内容406因此包括实时数据库407和测试数据库408,其如提到
的可以被认为是实时数据,尤其在升级过程的完成之后。

图7-8图示了在备选实现方式中的另一升级过程的各个阶段。如阶段700中所示,
访问系统701提供对服务的两个版本的访?#21097;?#26381;务703(版本n)和服务704(版本n+1)。用户可
以使用URL www.service.com来访问服务703,而可以使用URL www.service-test.com来访
问服务704。注意,针对服务704的URL包括相对于针对服务703的URL的经修改的域名。服务
703和服务704的示例包括电子邮件服务、游戏服务、统一通信服务、协作服务、社交联网服
务以及任何其他类型的软件服务。

服务703和服务704两者被链接到用户内容705。因此,无论用户是经由服务703还
是经由服务704接近用户内容705,在两种情况?#28388;?#25110;她将能够与用户数据库707中的他的
或她的数据交互。

可以认识到,服务704是服务703的升级版本。可以向用户提供到服务的不同的路
径以允许他们体验该服务或以其他方式评价该服务。

图8中的阶段800图示了一旦个体用户决定她想要在向前推进的基础上使用服务
的升级版本(服务704)可能发生什?#30784;?#29992;户可以与管理或设置端口交互以指示服务的哪个
版本是她偏好的版本。假设用户期望向前推进服务704(版本n+1),则访问系统701可以被配
置为将请求路由至针对该用户的服务704的www.service.com。换言之,访问系统701可以被
?#28210;?#20026;在每个用户的基础上不同地路由URL。

更一般地,可以考虑其中两个用户(用户A和用户B)订阅在线服务的示例。在线服
务的第一版本可以使用第一URL来?#29615;夢剩?#32780;服务的第二版本可以使用第二URL来?#29615;夢剩?br />第二URL为第一URL的经修改的表示。

可以在到服务的第一版本的登?#35745;?#24149;或其他用户接口中通知用户作为升级的服
务的第二版本可用。用户可以点击或以其他方式选择通知以启动管理屏幕。在管理屏幕中,
用户可以被报告针对服务的第二版本的URL。另外,可以呈现用于将服务的第二版本作为向
前推进的他们的主要版本的选项。

然而,在将第二版本作为他们的主要版本之前,用户可能期望利用服务的第二版
本。他们通过使用用于巡览至服务的第二版本的第二URL来这样做。用户的数据可以经由服
务的任一版本来访?#21097;?#24182;且因此他们?#36127;?#19981;会经历各版本之间的不连续性。

最终,给定用户可能期望将服务的新的第二版本作为他们的主要服务。因此,用户
可以在管理端口中做出选择,该选择有效地改变URL和针对该用户的服务之间的关联。向前
推进,第一URL将向该用户提供对服务的第二版本的访问。假设另一用户尚未做出这样的选
择,第一URL将继续向用户提供对服务的第一版本的访问。

这样的布置可以通过将两个URL解析为与访问系统相关联的相同IP地址来完成。
因此,无论哪个URL最初由用户(经由?#23454;?#30340;应用平台)用于到达服务的一个版本或另一版
本,它们的通信将到达相同的访问系统。访问系统可以询问应用平台和/或运行在其上的应
用服务以确定哪个URL被用于发起通信。备选地,原始URL可以被包括在被寻址到针对访问
系统的IP地址的通信中。

访问系统可以在每个用户的基础上查找将用户路由至哪个服务。标识用户可以通
过向用户呈现单个登录页面来完成,该单个页面被呈现给任何用户(无论他们使用哪个
URL)。换言之,登录页面可以跨服务的版本是相同的。

取决于被提供在登录页面中的用户的身份,结合用于初始地路由至访问系统的
URL,访问系统(或者与其相关联的或在其后面运行的某个其他子系统)可以将用户路由至
设备的?#23454;?#30340;版本。因此,尝试利用URL访问服务的一个用户可以被路由至服务的一个版
本,而尝试利用相同URL访问服务的另一用户可以被路由至服务的不同版本。

可以认识到,用户经由在服务的上下文中向他们提供的设置或管理?#35828;?#26469;控制服
务的哪个版本是他们的主要版本。另外,在升级评价阶段期间,两个URL可用于用户,使得用
户能够利用服务的各种特征和功能。这样的布置允许用户在个性化的基础上有效地控制服
务升级的步调。一旦用户对升级满意,则用户可以简单地巡览至用于改变URL与服务版本之
间的关联的设置?#35828;ァ?br />

可?#28304;?#22270;1-8的前述?#33268;?#20013;认识到,当实现如本文中?#33268;?#30340;增强的升级过程时可
以实现各种技术效果。允许租户或用户控制升级进展的步调,减少通常与升级相关联的故
障时间并?#19968;?#35299;与损失的生产力相关联的问题。另外,否则将通过必须建立和拆除升级的
软件服务的实例而消耗的资源能够通过将租户以他们自己的步调从初始部署温和地转变
到软件服务的升级部署来缓解或避免。

返回参考图1,应用平台101、111和132各自表示分别能够运行服务应用103、113和
133的任何物理或虚拟计算系统、设备或其集合。示例包括但不限于图9中图示的计算系统
901所表示的智能电话、膝上型计算机、平板计算机、台式计算机、混合计算机、游戏机、电
视、娱乐设备和虚拟机,及其任何变型或组合。

服务应用103、113和133各自表示能够实现到软件服务123的用户接口105、115和
135的任何软件应用、模块、组件或其集合。示例包括但不限于web浏览器、电子邮件应用、实
时通信应用、博客和微博应用、社交联网应用、电?#30001;?#21153;应用、?#20849;?#27602;应用和游戏应用以及
能够渲染用户接口的任何其他类型的应用。服务应用103、113和133可以是在浏览器应用的
上下文中执行的基于浏览器的应用。在一些实现方式中,服务应用103、113和133可以在网
页或网站的上下文中执行或与网页或网站相关联地执行。服务应用103、113和133各自可以
是本地安装和执行的应用、流传输的应用、移动应用或其任何组合或变型。服务应用103、
113和133可以各自被实现为独立应用或可以跨多个应用分布。

服务平台121表示能够托管软件服务130中的全部或部分并且实现升级过程200中
的全部或部分的任何物理或虚拟计算系统、设备或其集合。服务平台121的示例包括但不限
于图9中图示的计算系统901所表示的服务器计算机、web服务器、应用服务器、机架服务器、
刀片服务器、虚拟机服务器或塔式服务器以及任何其他类型的计算系统。在一些情景中,服
务平台121可以被实现在数据中心、虚拟数据中心或?#25345;?#20854;他?#23454;?#30340;设施中。

图9图示了表示可以在其中实现本文中公开的各种操作体系结构、阶段、情景和过
程的任何系统或系统的集合的计算系统901。计算系统901的示例包括但不限于智能电话、
膝上型计算机、平板计算机、台式计算机、混合计算机、游戏机、虚拟机、智能电视、智能手表
和其他可穿戴设备及其任何变型或组合。其他示例包括服务器计算机、机架服务器、web服
务器、云计算平台和数据中心设备、以及任何其他类型的物理或虚拟服务器机器、以及任何
变型或组合。

计算系统901可以被实现为单个装置、系统或设备或者可以以分布式方式被实现
为多个装置、系统或设备。计算系统901包括但不限于处理系统902、存储系统903、软件905、
通信接口系统907和用户接口系统909。处理系统902与存储系统903、通信接口系统907和用
户接口系统909操作性地耦合。

处理系统902从存储系统903加载并执行软件905。软件905至少包括升级过程906,
其表示关于前述实现方式?#33268;?#30340;升级过程200。当由处理系统902执行以增强如何升级软件
服务时,软件905引?#21363;?#29702;系统902以如本文中描述的针对前述实现方式中的至少各种过
程、操作情景和序列操作。计算系统901可以可选地包括出于简洁的目的未?#33268;?#30340;附加的设
备、特征或功能。

仍然参考图9,处理系统902可以包括从存储系统903获取并执行软件905的微处理
器和其他电路。处理系统902可以被实现在单个处理设备内,但是?#37096;?#20197;跨在执行程序指令
中协作的多个处理设备或子系统分布。处理系统902的示例包括通用中央处理单元、专用处
理器和逻辑器件,以及任何其他类型的处理设备、其组合或变型。

存储系统903可以包括由处理系统902可读取的并且能够存储软件905的任何计算
机可读存储介质。存储系统903可以包括以用于存储信息的任何方法或技术(诸如计算机可
读指令、数据结构、程序模块或其他数据)实现的?#36164;源?#20648;器和?#19988;资源?#20648;器、可移除
介质和不可移除介质。存储介质的示例包括随机访问存储器、只读存储器、磁盘、光盘、闪
存、虚拟存储器和非虚拟存储区、磁带?#23567;?#30913;带、磁盘存储或其他磁?#28304;?#20648;设备、或任何其他
?#23454;?#30340;存储介质。在任何情况下计算机可读存储介质都不是传播信号。

除了计算机可读存储介质之外,在一些实现方式中,存储系统903还可以包括计算
机可读通信介?#21097;?#36719;件905中的至少一些可以内部地或外部地通过计算机可读通信介?#24335;?br />行通信。存储系统903可以被实现为单个存储设备,但是?#37096;?#20197;跨相对于彼此共同定位或分
布的多个存储设备或子系统来被实现。存储系统903可以包括附加的元件,诸如能够与处理
系统902或可能与其他系统通信的控制器。

软件905可以以程序指令来被实现,并且尤其可以当由处理系统902运行?#24065;即?br />理系统902以如关于本文中图示的各种操作情景、序列和过程描述的那样操作。例如,软件
905可以包括用于实现升级过程200及其相关联的功能的程序指令。

具体地,程序指令可以包括协作或以其他方式交互以执行本文中描述的各种过程
和操作情景的各种组件或模块。各种组件或模块可以以经编译或解释的指令、或以指令的
?#25345;?#20854;他变型或组合来体现。可以以同步方式或异步方式、顺序地或并行地、在单线程或多
线程环境中、或根据其任何其他?#23454;?#30340;执行范式、变型或组合来执行各种组件或模块。软件
905可以包括附加的过程、程序或组件,诸如操作系统软件或其他应用软件,除了或包括升
级过程906。软件905还可以包括由处理系统902可执行的固件或?#25345;?#20854;他形式的机器可读
处理指令。

总体上,软件905可以当被加载到处理系统902中并且被执行时将(计算系统901所
表示的)?#23454;?#30340;装置、系统或设备从通用计算系统整体变换成被定制用于支持针对软件服
务的增强的升级的专用计算系统。实际上,将软件905编码在存储系统903上可以变换存储
系统903的物理结构。物理结构的具体变换可以取决于本说明书中的不同实现方式的各种
因素。这样的因素的示例可以包括但不限于用于实现存储系统903的存储介质的技术和计
算机存储介质是被表征为初级存储还是次级存储、以及其他因素。

例如,如果计算机可读存储介?#26102;?#23454;现为基于半导体的存储器,则软件905可以诸
如通过变?#36824;?#25104;半导体存储器的晶体管、电容器或其他?#33267;?#30005;路元件的状态来在程序指令
被存储在半导体存储器中时变换半导体存储器的物理状态。类似的变换可以关于磁性介质
或光学介质发生。在不脱离本说明书的范围的情况下物理介质的其他变换是可能的,其中
前述示例仅仅被提供用于方便当前?#33268;邸?br />

再次参考图3作为示例,通过计算系统901所表示的一个或多个计算系统的操作,
可以关于软件服务的部署执行变换。作为示例,初始部署321可以被标识用于升级。在采用
升级过程200时,升级部署322被启动并且在其中加载和升级服务组件325、327和329。另外,
初始地被解析为初始部署321的alpha.service.com被改变以解析为升级部署322。

可以理解,计算系统901通常旨在表示软件905可以被部署在其上并且在其?#29616;?#34892;
以便实现增强的服务升级的一个或多个计算系统。然而,计算系统901还可以适合作为软件
905可以被展现在其上并且从该处一个或两者可以被分布、运输、下载或以其他方式提供到
又一计算系统以用于部署和执行、或另外的附加分布的任何计算系统。

通信接口系统907可以包括允许通过通信网络(未?#22659;?与其他计算系统(未?#22659;?
通信的通信连接和设备。一起允许系统间通信的连接和设备的示例可以包括网络接口卡、
天线、功率放大器、RF电路、收发器以及其他通信电路。连接和设备可以通过通信介质通信
以与其他计算系统或系统的网络交换通信,通信介质诸如金属、玻璃、空气或任何其他?#23454;?br />的通信介质。前述介质、连接和设备是公知的并且不需要长篇幅地在?#31169;?#34892;?#33268;邸?br />

用户接口系统909是可选的并且可以包括键盘、鼠标、语音输入设备、用于从用户
接收触摸?#36136;?#30340;触摸输入设备、用于检测由用户进行的非触摸?#36136;?#21644;其他运动的运动输入
设备、以及能够从用户接收用户输入的其他相当的输入设备和相关联的处理元件。输出设
备(诸如显示器、扬声器、触控设备以及其他类型的输出设备)还可以被包括在用户接口系
统909中。在一些情况下,输入和输出设备可以被组合在单个设备中,诸如能够显示图像并
接收触摸?#36136;?#30340;显示器。前述用户输入和输出设备是本领域中公知的并且不需要长篇幅地
在?#31169;?#34892;?#33268;邸?br />

用户接口系统909还包括由处理系统902可执行的支持以上?#33268;?#30340;各种用户输入
和输出设备的相关联的用户接口软件。单独地或与彼此以及其他硬件和软件元件结合,用
户接口软件和用户接口设备可以支持图形用户接口、自然用户接口或任何其他类型的用户
接口。例如,用户接口105、用户接口115或用户接口135可以通过用户接口系统909来呈现。
另外,关于用户接口做出的用户输入可以经由用户接口系统909来输入。

在计算系统901与其他计算系统(未?#22659;?之间的通信可以通过一个或多个通信网
络并且根据各种通信协议、协议的组合或其变型来发生。示例包括内联网、互联网、因特网、
局域网、广域网、无线网络、有线网络、虚拟网络、软件定义网络、数据中心总线、计算?#35013;濉?br />或任何其他类型的网络、网络的组合或其变型。前述通信网络和协议是公知的并且不需要
长篇幅地在?#31169;?#34892;?#33268;邸?#28982;而,可以使用的一些通信协议包括但不限于互联网协议(IP、
IPv4、IPv6、等等)、传输控制协议(TCP)和用户数据报协议(UDP),以及任何其他?#23454;?#30340;通信
协议、变型或其组合。

在其中交换数据、内容或任何其他类型的信息的前述示例中的任何示例中,信息
的交换可以根据各?#20013;?#35758;中的任何协议来发生,包括FTP(文件传输协议)、HTTP(超文本传
输协议)、REST(表述性状态传输)、WebSocket、DOM(文档对象模型)、HTML(超文本标记语
言)、CSS(层叠样式表)、HTML5、XML(可扩展标记语言)、JavaScript、JSON(JavaScript对象
表示)以及AJAX(异步JavaScript和XML),以及任何其他?#23454;?#30340;协议、变型或其组合。

尽管图1-8大体描绘了相对少的操作情景和序列,但是可以认识到本文中公开的
概念可以以一定规模并且程式化地针对多个租户来应用。例如,本文中公开的升级服务能
够被部署为支持任何数量的软件服务部署。

附图中提供的功能框图、操作情景和序列以及流程图表示用于执行本公开内容的
新颖方面的示例性系统、环境和方法。尽管出于简化解释的目的,本文中包括的方法可以采
用功能图、操作情景或序列、或流程图的形式,并且可以被描述为一系列动作,但是要理解
这些方法不受动作的顺序限制,因为一些动作可以根据该动作以与来自本文中?#22659;?#21644;描述
的顺序不同的顺序发生和/或与来自本文中?#22659;?#21644;描述的动作的其他动作并行地发生。例
如,本领域技术人员将理解并认识到,方法能够备选地被表示为(诸如在状态图中)一系列
相关的状态或事件。此外,针对新颖实现方式而言,可能不需要方法中图示的所有动作。

本文中包括的描述和附图描绘具体实现方式以教导本领域技术人员如何做出和
使用最好的选项。出于教导发明原理的目的,已经简化或省略了一些常规方面。本领域技术
人员将认识到来自落入本发明的范围内的这些实现方式的变型。本领域技术人员还将认识
到,以上描述的特征能够以各种方式进行组合以形成多个实现方式。因此,本发明不限于以
上描述的具体实现方式,而是仅仅由权利要求及其等效方案限定。

关于本文
本文标题:针对服务升级的动态调整步调.pdf
链接地址:http://www.pqiex.tw/p-6091830.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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


收起
展开
平码五不中公式规律 ewin棋牌二维码 广西十一选五手机版下载 1青海11选5开奖结果 河南快赢481开奖直播 双色球红球五星定位走势图 青海11选5结果 双色球选号 重庆时时彩万位计算公式 天津十一选五走势图图 手游棋牌辅助作弊器