当前位置: 首页 > 专利查询>奈飞公司专利>正文

使用金丝雀分析确定服务器侧行为的客户端侧影响的技术制造技术

技术编号:18737511 阅读:30 留言:0更新日期:2018-08-22 05:49
在本发明专利技术的一个实施例中,粘性金丝雀路由器将与服务相关联的每个请求路由到实现对服务的修改的金丝雀服务器群集或不实现修改的基线服务器群集。粘性金丝雀路由器实现映射算法,该映射算法基于当前时间、路由的时间窗口、和请求的特征来确定每个请求的路由。注意,映射算法可以被实现为使得,针对持续时间等于时间窗口的时间段,粘性金丝雀路由器以一致的方式将从特定设备接收到的所有请求路由到金丝雀群集或基线群集。如此配置,粘性金丝雀路由器能够分析客户端与金丝雀服务器的交互的大致完整部分,从而促进识别改变的客户端侧影响。

【技术实现步骤摘要】
【国外来华专利技术】使用金丝雀分析确定服务器侧行为的客户端侧影响的技术相关申请的交叉引用本申请要求于2015年10月23日提交的序列号为14/922,101的美国专利申请的权益,其通过引用合并于此。
本专利技术的实施例一般地涉及计算机科学,并且更具体地涉及使用金丝雀(canary)分析确定服务器侧行为的客户端侧影响的技术。
技术介绍
许多服务提供商通过客户端-服务器架构(其中客户通过客户端设备请求服务,并且作为响应,服务器提供服务)来提供服务。例如,Netflix是一家为客户提供点播流媒体视频的服务提供商。客户通过客户端设备提交请求(例如,请求播放特定视频),Netflix服务器响应于请求来执行软件以将视频传送到客户端设备。客户可以使用任意受支持的客户端设备(例如,视频游戏控制台、电视机、手持设备等)来输入请求。作为改善客户体验的一部分,服务提供商经常部署引入新功能、改进现有功能、和/或修复缺陷的软件更新。更具体地,服务提供商将软件更新“推送”到服务器,并且随后服务器执行更新的软件。为了确保客户体验不受软件更新的不利影响,服务提供商通常会采用各种测试方法在部署软件更新之前验证软件更新。然而,通过所有客户端工作流程在所有受支持类型的客户端设备上手动测试软件更新通常非常困难且耗时(如果不是不可能的话)。例如,Netflix点播流媒体视频服务支持众多蓝光光盘播放器、众多平板电脑、众多移动电话、众多高清晰度电视接收器、众多家庭影院系统、众多机顶盒、众多视频游戏控制台等等。因此,使用每种受支持类型的客户端设备彻底测试软件更新所需的时间长度是不可接受的。此外,如果在部署软件更新之前没有检测到并且校正由软件更新引入的缺陷,则客户体验可能会降级。在降低由软件更新引入的未检测到的缺陷的影响的一种方法中,一些服务提供商使用称为金丝雀分析的部署过程。在金丝雀分析中,服务提供商向相对较小比例的“金丝雀”服务器推送软件更新,而相对大比例的“基线(baseline)”服务器保持不变-执行基线(即,未更新的)软件。因为仅在有限数量的服务器上测试软件更新,所以如果软件更新引入了缺陷,则与相对较少的客户端设备相关的相对较小比例的请求会受到影响。随着金丝雀服务器和基线服务器的运行,服务提供商测量服务器的运行情况以评估软件更新的效果。通常,这种测量的结果被称为“服务器侧度量”。通过将与金丝雀服务器相关联的服务器侧度量和与基线服务器相关联的服务器侧度量进行比较,服务提供商可以检测指示由软件更新引入的一个或多个缺陷的异常。例如,假设软件更新引入了额外的延迟。在金丝雀分析期间,服务器侧度量可以指示与金丝雀服务器相关的延迟显著超过与基线服务器相关的延迟。在做出该确定之后,服务提供商可以在将最终软件更新推送到所有服务器之前修改软件更新以消除额外的延迟。然而,虽然金丝雀分析可以检测金丝雀服务器的操作中的异常,从而减轻与部署软件更新相关联的风险,但是由软件更新引入的一些缺陷可以逃避通过上述金丝雀分析过程的检测。具体地,在金丝雀分析期间,基线软件的可用性可能会掩盖软件更新对客户端设备操作的影响。例如,假设特定客户端设备发出由金丝雀服务器接收到的请求,然后金丝雀服务器执行更新的软件以生成对请求的响应。此外,假设与更新的软件相关联的缺陷导致金丝雀服务器发生故障,使得特定客户端设备不能解释响应。在传统金丝雀分析过程中,特定客户端设备将重新尝试请求,并且因为实现该服务的服务器中相对较少的服务器是金丝雀服务器,所以基线服务器很可能会接收到该第二请求。基线服务器将执行基线软件,并且因此正确处理第二请求以生成对第二请求的响应。因为特定客户端设备将能够正确解释对第二请求的响应,所以服务器侧度量将不会指示与软件更新相关联的问题。因此,缺陷将有效地逃避检测。服务器行为对客户端设备的操作的这类未检测到的影响(本文称为服务器侧行为的客户端侧影响)可以包括数据差异、格式改变、空服务器响应等。在操作中,如果引入未检测到的缺陷的软件更新通过了金丝雀分析,则服务提供商可能最终将软件更新推送到所有服务器,而不知道该缺陷。因为基线软件将不再可用,软件更新中的缺陷可能会对跨多种类型的客户端设备的客户体验产生负面影响。如前所述,本领域需要的是用于在对(在服务器机器上执行的)软件的改变进行测试时检测缺陷的更有效的技术。
技术实现思路
本专利技术的一个实施例阐述了一种用于在执行金丝雀分析时路由请求的计算机实现的方法。该方法包括基于第一请求的至少一个特征、与第一请求相关联的时间、和路由的时间窗口来计算第一映射;确定第一映射是否指示第一请求将与对通过服务器提供的服务的修改相关联;以及基于第一映射是否指示第一请求将与修改相关联,将第一请求路由到实现修改的第一服务器或不实现修改的第二服务器。公开的用于路由请求的技术的一个优点是,服务提供商可以利用这些技术来全面地分析服务的修改对客户体验和服务器行为两者的影响。具体地,为了监控修改的客户端侧影响,服务提供商可以配置时间窗口,使得来自客户端设备子集的请求被一致地路由到实现针对大致完整客户端会话的修改的服务器。因为被包括在子集中的客户端设备在时间窗口的持续时间内不能访问没有进行修改的服务,所以服务提供商可以收集使得服务提供商能够分析修改对客户端设备的影响的度量。附图说明能够详细理解本专利技术的上述特征的方式可以是,通过参考实施例(其中一些在附图中示出)来获得上面简要总结的本专利技术的更具体描述。然而,要注意的是,附图仅示出了本专利技术的典型实施例,因此不应被视为限制本专利技术的范围,因为本专利技术可以允许其他等效实施例。图1A是被配置为实现本专利技术的一个或多个方面的系统的概念图;图1B是根据本专利技术的各种实施例的图1A的服务提供商基础设施的更详细图示;图2是根据本专利技术的各种实施例的图1B的粘性金丝雀路由器(stickycanaryrouter)的更详细的图示;图3是根据本专利技术的各种实施例的由图2的粘性金丝雀路由器实现的路由的示例;以及图4是根据本专利技术的各种实施例的用于在执行与服务相关联的软件更新的金丝雀分析时路由请求的方法步骤的流程图。具体实施方式在以下描述中,阐述了许多具体细节以提供对本专利技术更透彻的理解。然而,本领域技术人员显而易见的是,可以在没有这些具体细节中的一个或多个的情况下实施本专利技术。系统概述图1A是被配置为实现本专利技术的一个或多个方面的系统100的概念图。如图所示,系统100包括但不限于云102(例如,封装的共享资源、软件、数据等),该云102连接到能够与云102进行交互的各种客户端设备。这类客户端设备包括但不限于,台式计算机108、膝上型计算机106、智能电话104、智能电视109、游戏控制台107、平板电脑105、电视连接设备(未示出)、手持设备(未示出)、和流式娱乐设备(未示出)。云102可以包括配置有任意数量(包括零)的中央处理单元(CPU)112、图形处理单元(GPU)114、存储器116等的任意数量的计算实例110。在操作中,CPU112是计算实例110的主处理器,该CPU112控制和协调计算实例110中包括的其他组件的操作。具体地,CPU112发布控制GPU114的操作的命令。GPU114结合了针对图形和视频处理进行优化的电路,包括例如视频输出电路。在各种实施例中,GPU114可本文档来自技高网
...

【技术保护点】
1.一种用于在执行金丝雀分析时路由请求的计算机实现的方法,所述方法包括:基于第一请求的至少一个特征、与所述第一请求相关联的时间、和路由的时间窗口来计算第一映射;确定所述第一映射是否指示所述第一请求将与对通过多个服务器提供的服务的修改相关联;以及基于所述第一映射是否指示所述第一请求将与所述修改相关联,将所述第一请求路由到实现所述修改的第一服务器或不实现所述修改的第二服务器。

【技术特征摘要】
【国外来华专利技术】2015.10.23 US 14/922,1011.一种用于在执行金丝雀分析时路由请求的计算机实现的方法,所述方法包括:基于第一请求的至少一个特征、与所述第一请求相关联的时间、和路由的时间窗口来计算第一映射;确定所述第一映射是否指示所述第一请求将与对通过多个服务器提供的服务的修改相关联;以及基于所述第一映射是否指示所述第一请求将与所述修改相关联,将所述第一请求路由到实现所述修改的第一服务器或不实现所述修改的第二服务器。2.根据权利要求1所述的计算机实现的方法,其中,所述第一请求的所述至少一个特征包括设备标识符,并且计算所述第一映射包括:对所述设备标识符执行第一散列操作以生成设备散列;将当前时间除以所述路由的时间窗口以确定时间段,其中与所述第一请求相关联的时间位于所述时间段内;对所述时间段执行第二散列操作以生成时间散列;以及对所述设备散列和所述时间散列执行第三散列操作以生成所述第一映射。3.根据权利要求1所述的计算机实现的方法,其中,与所述第一请求相关联的时间位于第一时间段内,所述第一时间段的持续时间等于所述路由的时间窗口,并且还包括:接收第二请求,其中,所述第二请求的至少一个特征等于所述第一请求的所述至少一个特征;以及基于与所述第二请求相关联的时间是否位于所述第一时间段内,将所述第一请求路由到实现所述修改的第三服务器或不实现所述修改的第四服务器。4.根据权利要求1所述的计算机实现的方法,其中,计算所述第一映射包括对所述第一请求的第一特征、与所述第一请求相关联的时间、和所述路由的时间窗口执行散列操作和循环冗余校验操作中的至少一个。5.根据权利要求4所述的计算机实现的方法,其中,所述散列操作和循环冗余校验中的至少一个基于与所述修改相关联的唯一常数。6.根据权利要求1所述的计算机实现的方法,其中,所述修改包括软件更新。7.根据权利要求1所述的计算机实现的方法,其中,请求的至少一个特征包括设备标识符、客户端标识符、电子序列号、或会话标识符中的一个。8.一种包括指令的计算机可读存储介质,所述指令在由处理器执行时使得所述处理器执行以下步骤:基于第一请求的第一特征来确定将与对服务的修改相关联的映射比例;基于所述第一请求的第二特征、与所述第一请求相关联的时间、和路由的时间窗口来计算第一映射;执行基于所述第一映射和所述映射比例的比较操作,从而确定所述第一映射是否指示所述第一请求将与所述修改相关联;以及基于所述第一映射是否指示所述第一请求将与所述修改相关联,将所述第一请求路由到实现所述修改的第一服务器或不实现所述修改的第二服务器。9.根据权利要求8所述的计算机可读存储介质,其中,计算所述第一映射包括对所述第二特征、与所述第一请求相关联的时间、和所述路由的时间窗口执行散列操作和循环冗余校验操作中的至少一个。10.根据权利要求9所述的计算机可读存储介质,其中,所述散列操作和循环冗余校验中的至少一个基于与所述修改相关联的唯一常数。11.根据权利要求8所述的计算...

【专利技术属性】
技术研发人员:迈克尔·劳埃德·科恩
申请(专利权)人:奈飞公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1