处理请求.pdf

上传人:a2 文档编号:4066487 上传时间:2018-08-13 格式:PDF 页数:12 大小:480.56KB
返回 下载 相关 举报
摘要
申请专利号:

CN201380040729.5

申请日:

2013.07.31

公开号:

CN104509071A

公开日:

2015.04.08

当前法律状态:

实审

有效性:

审中

法律详情:

专利申请权的转移IPC(主分类):H04L 29/08变更事项:申请人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150709|||实质审查的生效IPC(主分类):H04L 29/08申请日:20130731|||公开

IPC分类号:

H04L29/08

主分类号:

H04L29/08

申请人:

微软公司

发明人:

S.克斯库拉

地址:

美国华盛顿州

优先权:

13/562692 2012.07.31 US

专利代理机构:

中国专利代理(香港)有限公司72001

代理人:

刘靖龙; 景军平

PDF下载: PDF下载
内容摘要

请求在计算机服务器处通过从用户终端接收针对服务的请求而被处理,请求包括表示处理来自用户终端的针对服务的至少一个之前类似的请求的失败的程度的遇困信息。遇困信息从请求被接收并且请求依照遇困信息被处理。用户终端基于从服务器接收到的响应在请求中提供遇困信息。

权利要求书

权利要求书1.   一种服务器,其可操作来处理在其输入端处接收到的请求,所述服务器包括:接收构件,其可操作来接收识别用户终端的请求,请求包括表示处理来自用户终端的至少一个其它请求的失败的程度的遇困信息,并且其可操作来从请求中读取遇困信息;以及处理构件,其可操作来依照遇困信息处理请求。2.   根据权利要求1的服务器,包括用于处置请求的一组供替换的功能,服务器包括选择功能,其用于基于请求中的遇困信息选择一组功能中的一个以用于处置请求。3.   根据权利要求1的服务器,其中接收构件可操作来从请求的队列中检索请求以及基于队列的请求中的遇困信息来针对检索选择请求。4.   根据权利要求1的服务器,其中处理构件可操作来通过在由遇困信息指示时从至少两个算法中选择用来处理请求的计算上较便宜的算法来处置请求。5.   根据权利要求1的服务器,可操作来响应于请求建立通信事件,其中服务器具有多个通信事件配置并且包括用于基于遇困信息来选择通信事件配置中的一个的选择功能。6.   一种用户终端,其用于访问来自它经由通信网络被连接到的服务器的服务,所述用户终端包括:传送功能,其可操作来向服务器发出针对服务的第一请求;监测功能,其可操作来监测对第一请求的响应是否在预定时间内在终端处被接收到,其中传送功能被配置成如果响应在预定时间内尚未被接收到则发出针对相同服务的第二类似的请求;以及插入功能,其可操作来将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,其中遇困信息通过监测功能被评估。7.   根据权利要求6的用户终端,包括存储器,其存储用于提供传送功能、监测功能以及插入功能的代码;以及处理器,其用于执行所述代码。8.   根据权利要求6的用户终端,其中传送功能、监测功能以及插入功能由存储在用户终端处的可执行应用中的程序代码构成,其中可执行应用包括用于从用户终端建立基于分组的通信事件的通信客户端。9.   根据权利要求8的用户终端,其中可执行应用包括搜索客户端或web浏览器。10.   一种计算机程序产品,其包括在计算机可读介质上的计算机可读指令,所述计算机可读指令当被计算机执行时提供用于建立通信事件的通信客户端并且执行以下步骤:向服务器发出针对通信客户端需要的服务的第一请求;监测对第一请求的响应是否在预定时间内在用户终端处被接收到;以及如果响应在预定时间内尚未被接收到,则发出第二类似的请求并且将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,遇困信息基于监测步骤被评估。

说明书

说明书处理请求
技术领域
本发明涉及特别是在基于云的无状态(stateless)服务器架构的上下文中处理请求。
背景技术
在这样的架构中,多个服务器被提供用于处理来自多个客户端的请求。服务器能够位于相同的物理位置中,或者位于不同的物理位置中,但是就任何特定客户端而言它们不知道服务器的位置。服务器位于负载均衡机制后面,所述负载均衡机制依照各种各样的负载均衡技术来管理从客户端终端到服务器的请求。客户端经由可以为有线的或无线的任何适合的网络与负载均衡机制通信,并因此与服务器通信。
图1图示了示例性架构,其中云被一般地表示成被示出为包括位于负载均衡机制6后面的多个服务器4。客户端终端8经由网络10与云2通信。客户端终端能够被实施为任何形式的计算机终端。例如,它们可以是膝上型电脑、平板、移动电话、个人计算机等。在每种情况下,客户端终端8执行允许终端的用户访问云2的应用(例如,安装的客户端)。云2形成可被应用访问的因特网的一部分。当服务是需要的时,访问特定因特网位置的请求被从客户端终端8发送到网络10以用于例如使用形式为统一资源定位符URL的因特网地址来访问该位置。当云2被访问时,负载均衡机制6接收请求并且将它导向服务器4中的一个。所选服务器处理请求并且将响应返回给发出了请求的客户端终端8。
应当了解,在任何特定时间,非常大量的请求能够由客户端全球性地发出以便将在云2处被接收并且由负载均衡机制6管理。服务器4在它们不知道关于可能已从相同的客户端终端被接收到并且发出到云2中的其它服务器的较早请求的任何事情的意义上而言是不可知论的。每个特定服务器基于由负载均衡机制6所管理的到该服务器的传入请求的队列而管理对它服务的请求的处理。
这样的架构的例子是在搜索引擎中,其中搜索请求被从客户端终端接收并且导向服务器。服务器通过实施搜索并且将搜索结果返回给发出了请求的客户端终端的用户来处理请求。
发明内容
本发明内容被提供来以简化形式引入下面在具体实施方式中被进一步描述的构思的选择。本发明内容不旨在识别所要求保护的主题的关键特征或必要特征,它也不旨在被用来限制所要求保护的主题的范围。
从用户终端发出请求的方法在本文中被描述。针对服务的第一请求被发出到服务器。对第一请求的响应被监测以便确定它是否在预定时间内在用户终端处被接收到。如果响应在预定时间内尚未被接收到,则第二类似的请求被发出,其包括表示处理第一请求的失败的程度的遇困(distress)信息,遇困信息基于监测步骤被评估。
用户终端被描述,其用于访问来自它经由通信网络被连接到的服务器的服务。用户终端具有可操作来将针对服务的第一请求发出到服务器的传送功能。用户终端还具有监测对第一请求的响应是否在预定时间内在终端处被接收到的监测功能。如果响应在预定时间内尚未被接收到,则传送功能发出针对相同服务的第二类似的请求。在用户终端处的插入功能在第二请求中插入表示处理第一请求的失败的程度的遇困信息,其中遇困信息通过监测功能被评估。
具有在计算机可读介质上的计算机可读指令的计算机程序产品被描述,所述计算机可读指令当被计算机执行时提供用于建立通信事件的通信客户端。所述产品还向服务器发出针对通信客户端需要的服务的第一请求,监测对第一请求的响应是否在预定时间内在用户终端处被接收到,并且如果响应在预定时间内尚未被接收到,则发出第二类似的请求并且将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,遇困信息基于监测步骤被评估。
各种实施例能够被应用在各式各样的上下文中。它能够被用于浏览器应用、web客户端以及其它客户端。根据一个例子,可操作来建立基于分组的通信的通信客户端能够受益于本发明构思。
为了更好地理解各种实施例并且为了示出这些实施例可以如何被付诸实施,现在将作为例子对附图进行参考。
附图说明
图1是无状态服务器基于云的架构的示意图;
图2是依照一个或多个实施例的客户端终端的架构的构件的示意框图;
图3是依照一个或多个实施例的浏览器应用的功能框图;以及
图4是依照一个或多个实施例的服务器的功能框图。
具体实施方式
各种实施例能够改进特别地但不排他地在基于无状态服务器的云架构中处理请求的效率。
各种实施例使得客户端侧应用能够根据连续请求向服务器侧发信号通知接收服务的遇困或失败。这使得服务器侧能够优先考虑请求和/或能够后退以便提供较低的复杂性或服务质量。这允许对近实时应用来说是重要的可配置质量/服务时间(time-to-serve)权衡。本原理能够被应用于使得web服务API(应用编程接口)调用能够被建立的通信系统。无状态服务器可以保持针对Web服务API调用的备选进程的列表。在一个实施例中,备选进程可以基于计算要求而被优先考虑。在一个实施例中,如果服务器负载是高的,则较低计算要求进程可以响应于客户端调用而被执行。
服务器配置可以是调用到供替换的调用的映射。
配置能够由app开发者设置。配置被同步到组中的所有其它无状态服务器。替换地,开发者可以在每个服务器处设置不同的配置。
当客户端应用向云做出服务请求时,它附加关于最后失败的请求的信息。在负载均衡后面的无状态云服务器通常将不知道先前的请求的失败,但是由于在该请求中提供的“遇困”信息,它能够优先考虑队列中的该请求,并且还考虑采用不同的(例如,计算上更便宜的)算法来服务该请求。
参考图2,每个客户端终端8包括被连接到存储器22和显示器24的处理器20。处理器20能够执行存储在存储器22中的代码。特别地,它能够执行用于经由因特网来访问服务的客户端。以下描述描述了其中客户端是浏览器应用或web客户端的情况。然而,各种实施例不仅是预定给这样的上下文。根据另一例子,可操作来通过因特网建立基于分组的通信的通信客户端能够受益于本发明构思。这样的通信客户端的例子是由Skype提供的通信客户端。处理器20被连接到端口26,从所述端口26,到云2的请求能够被发出并且对那些请求的响应能够被接收到。如在本领域中众所周知的,浏览器应用能够使用户界面在显示器24上被呈现给用户,借助于这个,用户能够键入因特网地址以便访问用户需要的服务。例如,它可能正从数据库中搜寻内容。
由客户端发出的到云的请求能够响应于用户请求或在不用用户具体地知道请求已被发出的情况下被发出。所有用户知道他已要求了特定服务。
依照本发明的实施例,浏览器应用(web客户端)被修改以便当客户端向云做出服务请求时附加关于最后的先前失败请求的遇困信息。这可能是先前已被提交的失败请求的数目或自第一请求以来以秒为单位的时间,从而提供对于服务质量的感知恶化的梯度。
在负载均衡机制6后面的无状态云服务器(如在图1中一样)通常不知道先前的请求的失败,但是采用本文中所描述的经修改的客户端应用,在请求中提供的遇困信息能够允许请求在服务器处被优先考虑。附加地或替换地,当遇困信息指示已存在恶化的服务质量时服务器能够考虑采用不同的(例如,计算上更便宜的)算法来服务请求。这个机制能够被用来当系统处于压力之下时通过减少服务器上的负载并且通过降低服务质量来减少到客户端终端的服务中断。
出于说明的目的,依照一个或多个实施例的经修改的客户端的示意功能图在图3中被示出。传送功能30将请求32传送到云2。接收功能34接收对该请求的响应35。例如,这可能是在服务来自数据库的用户内容的web页面的上下文中,其中客户端使用AJAX来请求内容。如众所周知的,AJAX(异步Java Script和XML(扩展标记语言))提供能够被用来从服务器中检索数据的请求对象。AJAX允许数据在用户终端与服务器之间被异步地交换,而不干扰当前被呈现给用户的web页面。接收功能34监测用于接收响应的时间。如果响应在指定的时间内未出现,则类似的后续请求被生成(有效地,请求被重复),连同生成修改以包括关于在接收服务时的延迟的遇困信息。遇困信息在遇困功能36中被处理并且通过插入功能38插入到请求中。遇困信息由请求32中的附图标记42来指定,并且能够采取遇困梯度的形式。
在客户端侧做按指数规律地增加的等待以帮助减少过载服务器上的负载是可能的,这将增加在接收到后续响应并且判定遇困信息将被包括在下一个请求中之前的时间周期。这能够给忙碌的服务器基于第一遇困信息做出响应留出时间。
响应与请求的关联能够使用已知机制以各种各样的方式来完成。在一个实施例中,请求与请求标识符44一起被传送,所述请求标识符44能够被包括在被返回的响应35中,这样客户端终端能够识别响应是否已被提供给特定请求。
在客户端是通信客户端的情况下,遇困信息能够被用于对例如客户端的用户不知道的媒体中继请求进行响应。如果中继请求失败则在该上下文中对用户唯一可见的梯度仅仅是长呼叫建立时间。这能够通过客户端发送具有遇困信息的多个请求而被改进。
现在将对在服务器处的功能性进行描述。每个服务器能够被实施为单独的服务器或服务器实例。服务器实例中的一个从服务器队列中拾取不比特定超时周期旧的请求,在所述特定超时周期之后请求被放弃。指示较高的遇困梯度(由请求中的遇困信息42的值来表示)的请求在其余请求之前被拾取,并且请求基于遇困梯度被对待。也就是说,特定算法或后端进程或数据库访问能够基于遇困梯度被选择。
例如,用户通常能够被呈现有具有源于运行大量的查询的高质量结果的网页,其一起呈现关于用户的预期和如何最好地服务他或她的非常有知识的图片。在示出高遇困梯度(例如高于特定门限)的请求的情况下,这能够被用显示最新结果的简单查询代替,而不用修改搜索项来使个性化最大化。
在其中客户端是通信客户端并且请求与遇困信息一起被发送的上下文中,服务器可以通过为中继来建立通信路径的媒体提供候选的较少优化的选择来做出响应。这允许通信事件(诸如,例如,IP语音电话呼叫)被更迅速地建立,即使可能具有稍微较低的呼叫质量。
图4示出了在服务器侧的功能性,其图示依照一个或多个实施例的一个特定服务器实例4a。服务器实例4a具有接收功能50,所述接收功能50评估队列46中的请求32的遇困梯度42并且拾取最遇困的请求以用于处理。选择功能52读取请求中的遇困梯度并且选择许多功能54a、54b、54c中的一个,所述功能54a、54b、54c中的每一个能够以不同程度的复杂性或质量服务请求。所选功能被传递给处理构件56并且请求然后通过处理构件56使用所选功能而被服务,并且结果得到的响应通过传送功能58被生成以用于传送到请求客户端终端。
遇困信息能够取决于传输协议被以任何适当的方式提供,并且在应用层处被读取。
所描述的本发明的实施例使得客户端侧应用能够针对连续请求发信号通知从服务器侧接收服务的遇困或失败,从而使得服务器侧能够优先考虑请求和/或能够后退以便提供较低的复杂性或较低的服务质量。这允许可配置质量对服务时间的权衡被实施,这对近实时应用来说是重要的。
根据本发明的一个实施例,提供了在计算机服务器处处理请求的方法,包括:从用户终端接收针对服务的请求,请求包括遇困信息,其表示处理来自用户终端的针对服务的至少一个之前类似的请求的失败的程度;从请求接收遇困信息;以及依照遇困信息处理请求。
在一个或多个实施例中,处理请求的步骤包括基于遇困信息按顺序对待在服务器处接收到的多个请求当中的请求。
在一个或多个实施例中,处理请求的步骤包括从一组备选功能中选择用于基于遇困信息来处置请求的功能。
在一个或多个实施例中,在遇困信息高于指示处理先前类似的请求的失败的高程度的门限水平时,所选功能与该组备选功能中的其它功能相比具有降低的复杂性或成本。
在一个实施例中,要被服务器处理的多个请求被放入队列,并且其中服务器基于请求中的遇困信息从队列中检索请求以用于处理。
在一个或多个实施例中,已在队列中持续达超过超时周期的周期的请求被丢弃。
根据本发明的另一实施例,提供了可操作来处理在其输入端处接收到的请求的服务器,该服务器包括:接收构件,其可操作来接收识别用户终端的请求,请求包括表示处理来自用户终端的至少一个其它请求的失败的程度的遇困信息,以及可操作来从请求中读取遇困信息;以及处理构件,其可操作来依照遇困信息处理请求。
在一个实施例中,服务器包括用于处置请求的一组供替换的功能,服务器包括选择功能,其用于基于请求中的遇困信息选择一组功能中的一个以用于处置请求。
在另一实施例中,服务器的接收构件可操作来从请求的队列中检索请求以及基于队列的请求中的遇困信息来针对检索选择请求。
根据本发明的另一实施例,提供了从用户终端发出请求的方法,包括:向服务器发出针对服务的第一请求;监测对第一请求的响应是否在预定时间内在用户终端处被接收到;如果响应在预定时间内尚未被接收到,则发出第二类似的请求并且将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,遇困信息基于监测步骤被评估。
在一个实施例中,所述方法包括:监测对第二或任何后续请求的响应是否在预定时间内被接收到,并且如果响应在预定时间内尚未被接收到,则发出后续或另外的后续请求,其包括表示处理第一请求和第二请求以及任何先前的后续请求的失败的程度的遇困信息。
在另一实施例中,遇困信息包括针对相同服务从对于其的响应尚未被接收到的用户终端发出的之前请求的数目。
在另外的实施例中,遇困信息包括自发出第一请求以来经过的时间。
根据本发明的另一实施例,提供了一种用户终端以用于访问来自它经由通信网络被连接到的服务器的服务,该用户终端包括:传送功能,其可操作来向服务器发出针对服务的第一请求;监测功能,其可操作来监测对第一请求的响应是否在预定时间内在终端处被接收到,其中传送功能被配置成如果响应在预定时间内尚未被接收到则发出针对相同服务的第二类似的请求;以及插入功能,其可操作来将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,其中遇困信息通过监测功能被评估。
根据本发明的另一实施例,提供了包括在计算机可读介质上的计算机可读指令的计算机程序产品,所述计算机可读指令当被计算机执行时:将第一请求发出到服务的服务器,监测对第一请求的响应是否在预定时间内在用户终端处被接收到;并且如果响应在预定时间内尚未被接收到,则发出第二类似的请求并且将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,遇困信息基于监测步骤被评估。
根据本发明的另一实施例,提供了包括在计算机可读介质上的计算机可读指令的计算机程序产品,所述计算机可读指令当被计算机执行时:从用户终端接收针对服务的请求,请求包括表示处理来自用户终端的针对服务的至少一个之前类似的请求的失败的程度的遇困信息;从请求接收遇困信息;并且依照遇困信息处理请求。
一般地,本文中所描述的功能中的任一个能够使用软件、固件、硬件(例如,固定逻辑电路)或这些实施方案的组合被实施。如本文中所使用的术语“模块”、“功能性”、“构件”以及“逻辑”一般地表示软件、固件、硬件或其组合。在软件实施方案的情况下,模块、功能性或逻辑表示程序代码,所述程序代码当在处理器(例如,一个或多个CPU)上被执行时执行规定的任务。程序代码能够被存储在一个或多个计算机可读存储器设备中。在下面所描述的技术的特征是平台无关的,意味着技术可以被实施在具有各种各样处理器的各种各样的商业计算平台上。
例如,用户终端还可以包括使用户终端的硬件执行操作(例如,处理器功能块等等)的实体(例如软件)。例如,用户终端可以包括可以被配置成保持指令的计算机可读介质,所述指令使用户终端并且更特别地使用户终端的操作系统和相关联的硬件执行操作。因此,指令运作来配置操作系统和相关联的硬件以执行操作,并且以这种方式导致操作系统和相关联的硬件的转换来执行功能。指令可以由计算机可读介质通过各种各样不同的配置提供给用户终端。
计算机可读介质的一个这样的配置是信号承载介质,并且因此被配置成诸如经由网络将指令(例如作为载波)传送到计算设备。计算机可读介质还可以被配置为计算机可读存储介质并且因此不是信号承载介质。计算机可读存储介质的例子包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪速存储器、硬盘存储器,以及可以使用磁、光学和其它技术来存储指令和其它数据的其它存储器设备。
尽管已经用特定于结构特征和/或方法学动作的语言对本主题进行了描述,但是应当理解,在所附权利要求中定义的本主题未必限于上面所描述的特定特征或动作。相反,上面所描述的特定特征和动作作为实施权利要求的示例性形式被公开。

处理请求.pdf_第1页
第1页 / 共12页
处理请求.pdf_第2页
第2页 / 共12页
处理请求.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《处理请求.pdf》由会员分享,可在线阅读,更多相关《处理请求.pdf(12页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201380040729.5(22)申请日 2013.07.3113/562692 2012.07.31 USH04L 29/08(2006.01)(71)申请人 微软公司地址 美国华盛顿州(72)发明人 S. 克斯库拉(74)专利代理机构 中国专利代理(香港)有限公司 72001代理人 刘靖龙 景军平(54) 发明名称处理请求(57) 摘要请求在计算机服务器处通过从用户终端接收针对服务的请求而被处理,请求包括表示处理来自用户终端的针对服务的至少一个之前类似的请求的失败的程度的遇困信息。遇困信息从请求被接收并且请求依照遇困信息被处理。用户。

2、终端基于从服务器接收到的响应在请求中提供遇困信息。(30)优先权数据(85)PCT国际申请进入国家阶段日2015.01.30(86)PCT国际申请的申请数据PCT/US2013/052806 2013.07.31(87)PCT国际申请的公布数据WO2014/022447 EN 2014.02.06(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书6页 附图4页(10)申请公布号 CN 104509071 A(43)申请公布日 2015.04.08CN 104509071 A1/1 页21. 一种服务器,其可操作来处理在其输入端处接收到的请求,所。

3、述服务器包括 :接收构件,其可操作来接收识别用户终端的请求,请求包括表示处理来自用户终端的至少一个其它请求的失败的程度的遇困信息,并且其可操作来从请求中读取遇困信息 ;以及处理构件,其可操作来依照遇困信息处理请求。2. 根据权利要求 1 的服务器,包括用于处置请求的一组供替换的功能,服务器包括选择功能,其用于基于请求中的遇困信息选择一组功能中的一个以用于处置请求。3. 根据权利要求 1 的服务器,其中接收构件可操作来从请求的队列中检索请求以及基于队列的请求中的遇困信息来针对检索选择请求。4. 根据权利要求 1 的服务器,其中处理构件可操作来通过在由遇困信息指示时从至少两个算法中选择用来处理请求。

4、的计算上较便宜的算法来处置请求。5. 根据权利要求 1 的服务器,可操作来响应于请求建立通信事件,其中服务器具有多个通信事件配置并且包括用于基于遇困信息来选择通信事件配置中的一个的选择功能。6. 一种用户终端,其用于访问来自它经由通信网络被连接到的服务器的服务,所述用户终端包括 :传送功能,其可操作来向服务器发出针对服务的第一请求 ;监测功能,其可操作来监测对第一请求的响应是否在预定时间内在终端处被接收到,其中传送功能被配置成如果响应在预定时间内尚未被接收到则发出针对相同服务的第二类似的请求 ;以及插入功能,其可操作来将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,其中遇困信息通过监。

5、测功能被评估。7. 根据权利要求 6 的用户终端,包括存储器,其存储用于提供传送功能、监测功能以及插入功能的代码 ;以及处理器,其用于执行所述代码。8. 根据权利要求 6 的用户终端,其中传送功能、监测功能以及插入功能由存储在用户终端处的可执行应用中的程序代码构成,其中可执行应用包括用于从用户终端建立基于分组的通信事件的通信客户端。9. 根据权利要求 8 的用户终端,其中可执行应用包括搜索客户端或 web 浏览器。10. 一种计算机程序产品,其包括在计算机可读介质上的计算机可读指令,所述计算机可读指令当被计算机执行时提供用于建立通信事件的通信客户端并且执行以下步骤 :向服务器发出针对通信客户端。

6、需要的服务的第一请求 ;监测对第一请求的响应是否在预定时间内在用户终端处被接收到 ;以及如果响应在预定时间内尚未被接收到,则发出第二类似的请求并且将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,遇困信息基于监测步骤被评估。权 利 要 求 书CN 104509071 A1/6 页3处理请求技术领域0001 本发明涉及特别是在基于云的无状态(stateless)服务器架构的上下文中处理请求。背景技术0002 在这样的架构中,多个服务器被提供用于处理来自多个客户端的请求。服务器能够位于相同的物理位置中,或者位于不同的物理位置中,但是就任何特定客户端而言它们不知道服务器的位置。服务器位于负载。

7、均衡机制后面,所述负载均衡机制依照各种各样的负载均衡技术来管理从客户端终端到服务器的请求。客户端经由可以为有线的或无线的任何适合的网络与负载均衡机制通信,并因此与服务器通信。0003 图 1 图示了示例性架构,其中云被一般地表示成被示出为包括位于负载均衡机制6 后面的多个服务器 4。客户端终端 8 经由网络 10 与云 2 通信。客户端终端能够被实施为任何形式的计算机终端。例如,它们可以是膝上型电脑、平板、移动电话、个人计算机等。在每种情况下,客户端终端 8 执行允许终端的用户访问云 2 的应用(例如,安装的客户端)。云2形成可被应用访问的因特网的一部分。当服务是需要的时,访问特定因特网位置的。

8、请求被从客户端终端 8 发送到网络 10 以用于例如使用形式为统一资源定位符 URL 的因特网地址来访问该位置。当云 2 被访问时,负载均衡机制 6 接收请求并且将它导向服务器 4 中的一个。所选服务器处理请求并且将响应返回给发出了请求的客户端终端 8。0004 应当了解,在任何特定时间,非常大量的请求能够由客户端全球性地发出以便将在云 2 处被接收并且由负载均衡机制 6 管理。服务器 4 在它们不知道关于可能已从相同的客户端终端被接收到并且发出到云 2 中的其它服务器的较早请求的任何事情的意义上而言是不可知论的。每个特定服务器基于由负载均衡机制 6 所管理的到该服务器的传入请求的队列而管理对。

9、它服务的请求的处理。0005 这样的架构的例子是在搜索引擎中,其中搜索请求被从客户端终端接收并且导向服务器。服务器通过实施搜索并且将搜索结果返回给发出了请求的客户端终端的用户来处理请求。发明内容0006 本发明内容被提供来以简化形式引入下面在具体实施方式中被进一步描述的构思的选择。本发明内容不旨在识别所要求保护的主题的关键特征或必要特征,它也不旨在被用来限制所要求保护的主题的范围。0007 从用户终端发出请求的方法在本文中被描述。针对服务的第一请求被发出到服务器。对第一请求的响应被监测以便确定它是否在预定时间内在用户终端处被接收到。如果响应在预定时间内尚未被接收到,则第二类似的请求被发出,其包。

10、括表示处理第一请求的失败的程度的遇困(distress)信息,遇困信息基于监测步骤被评估。0008 用户终端被描述,其用于访问来自它经由通信网络被连接到的服务器的服务。用说 明 书CN 104509071 A2/6 页4户终端具有可操作来将针对服务的第一请求发出到服务器的传送功能。用户终端还具有监测对第一请求的响应是否在预定时间内在终端处被接收到的监测功能。如果响应在预定时间内尚未被接收到,则传送功能发出针对相同服务的第二类似的请求。在用户终端处的插入功能在第二请求中插入表示处理第一请求的失败的程度的遇困信息,其中遇困信息通过监测功能被评估。0009 具有在计算机可读介质上的计算机可读指令的计。

11、算机程序产品被描述,所述计算机可读指令当被计算机执行时提供用于建立通信事件的通信客户端。所述产品还向服务器发出针对通信客户端需要的服务的第一请求,监测对第一请求的响应是否在预定时间内在用户终端处被接收到,并且如果响应在预定时间内尚未被接收到,则发出第二类似的请求并且将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,遇困信息基于监测步骤被评估。0010 各种实施例能够被应用在各式各样的上下文中。它能够被用于浏览器应用、web客户端以及其它客户端。根据一个例子,可操作来建立基于分组的通信的通信客户端能够受益于本发明构思。0011 为了更好地理解各种实施例并且为了示出这些实施例可以如何被付诸。

12、实施,现在将作为例子对附图进行参考。附图说明0012 图 1 是无状态服务器基于云的架构的示意图 ;图 2 是依照一个或多个实施例的客户端终端的架构的构件的示意框图 ;图 3 是依照一个或多个实施例的浏览器应用的功能框图 ;以及图 4 是依照一个或多个实施例的服务器的功能框图。具体实施方式0013 各种实施例能够改进特别地但不排他地在基于无状态服务器的云架构中处理请求的效率。0014 各种实施例使得客户端侧应用能够根据连续请求向服务器侧发信号通知接收服务的遇困或失败。这使得服务器侧能够优先考虑请求和/或能够后退以便提供较低的复杂性或服务质量。这允许对近实时应用来说是重要的可配置质量/服务时间(。

13、time-to-serve)权衡。本原理能够被应用于使得 web 服务 API(应用编程接口)调用能够被建立的通信系统。无状态服务器可以保持针对 Web 服务 API 调用的备选进程的列表。在一个实施例中,备选进程可以基于计算要求而被优先考虑。在一个实施例中,如果服务器负载是高的,则较低计算要求进程可以响应于客户端调用而被执行。0015 服务器配置可以是调用到供替换的调用的映射。0016 配置能够由 app 开发者设置。配置被同步到组中的所有其它无状态服务器。替换地,开发者可以在每个服务器处设置不同的配置。0017 当客户端应用向云做出服务请求时,它附加关于最后失败的请求的信息。在负载均衡后面。

14、的无状态云服务器通常将不知道先前的请求的失败,但是由于在该请求中提供的“遇困”信息,它能够优先考虑队列中的该请求,并且还考虑采用不同的(例如,计算上更便说 明 书CN 104509071 A3/6 页5宜的)算法来服务该请求。0018 参考图2,每个客户端终端8包括被连接到存储器22和显示器24的处理器20。处理器 20 能够执行存储在存储器 22 中的代码。特别地,它能够执行用于经由因特网来访问服务的客户端。以下描述描述了其中客户端是浏览器应用或 web 客户端的情况。然而,各种实施例不仅是预定给这样的上下文。根据另一例子,可操作来通过因特网建立基于分组的通信的通信客户端能够受益于本发明构思。

15、。这样的通信客户端的例子是由 Skype 提供的通信客户端。处理器 20 被连接到端口 26,从所述端口 26,到云 2 的请求能够被发出并且对那些请求的响应能够被接收到。如在本领域中众所周知的,浏览器应用能够使用户界面在显示器 24 上被呈现给用户,借助于这个,用户能够键入因特网地址以便访问用户需要的服务。例如,它可能正从数据库中搜寻内容。0019 由客户端发出的到云的请求能够响应于用户请求或在不用用户具体地知道请求已被发出的情况下被发出。所有用户知道他已要求了特定服务。0020 依照本发明的实施例,浏览器应用(web 客户端)被修改以便当客户端向云做出服务请求时附加关于最后的先前失败请求的。

16、遇困信息。这可能是先前已被提交的失败请求的数目或自第一请求以来以秒为单位的时间,从而提供对于服务质量的感知恶化的梯度。0021 在负载均衡机制 6 后面的无状态云服务器(如在图 1 中一样)通常不知道先前的请求的失败,但是采用本文中所描述的经修改的客户端应用,在请求中提供的遇困信息能够允许请求在服务器处被优先考虑。附加地或替换地,当遇困信息指示已存在恶化的服务质量时服务器能够考虑采用不同的(例如,计算上更便宜的)算法来服务请求。这个机制能够被用来当系统处于压力之下时通过减少服务器上的负载并且通过降低服务质量来减少到客户端终端的服务中断。0022 出于说明的目的,依照一个或多个实施例的经修改的客。

17、户端的示意功能图在图 3中被示出。传送功能 30 将请求 32 传送到云 2。接收功能 34 接收对该请求的响应 35。例如,这可能是在服务来自数据库的用户内容的 web 页面的上下文中,其中客户端使用 AJAX来请求内容。如众所周知的,AJAX(异步 Java Script 和 XML(扩展标记语言)提供能够被用来从服务器中检索数据的请求对象。AJAX允许数据在用户终端与服务器之间被异步地交换,而不干扰当前被呈现给用户的 web 页面。接收功能 34 监测用于接收响应的时间。如果响应在指定的时间内未出现,则类似的后续请求被生成(有效地,请求被重复),连同生成修改以包括关于在接收服务时的延迟的。

18、遇困信息。遇困信息在遇困功能 36 中被处理并且通过插入功能 38 插入到请求中。遇困信息由请求 32 中的附图标记 42 来指定,并且能够采取遇困梯度的形式。0023 在客户端侧做按指数规律地增加的等待以帮助减少过载服务器上的负载是可能的,这将增加在接收到后续响应并且判定遇困信息将被包括在下一个请求中之前的时间周期。这能够给忙碌的服务器基于第一遇困信息做出响应留出时间。0024 响应与请求的关联能够使用已知机制以各种各样的方式来完成。在一个实施例中,请求与请求标识符 44 一起被传送,所述请求标识符 44 能够被包括在被返回的响应 35中,这样客户端终端能够识别响应是否已被提供给特定请求。0。

19、025 在客户端是通信客户端的情况下,遇困信息能够被用于对例如客户端的用户不知道的媒体中继请求进行响应。如果中继请求失败则在该上下文中对用户唯一可见的梯度仅说 明 书CN 104509071 A4/6 页6仅是长呼叫建立时间。这能够通过客户端发送具有遇困信息的多个请求而被改进。0026 现在将对在服务器处的功能性进行描述。每个服务器能够被实施为单独的服务器或服务器实例。服务器实例中的一个从服务器队列中拾取不比特定超时周期旧的请求,在所述特定超时周期之后请求被放弃。指示较高的遇困梯度(由请求中的遇困信息 42 的值来表示)的请求在其余请求之前被拾取,并且请求基于遇困梯度被对待。也就是说,特定算法。

20、或后端进程或数据库访问能够基于遇困梯度被选择。0027 例如,用户通常能够被呈现有具有源于运行大量的查询的高质量结果的网页,其一起呈现关于用户的预期和如何最好地服务他或她的非常有知识的图片。在示出高遇困梯度(例如高于特定门限)的请求的情况下,这能够被用显示最新结果的简单查询代替,而不用修改搜索项来使个性化最大化。0028 在其中客户端是通信客户端并且请求与遇困信息一起被发送的上下文中,服务器可以通过为中继来建立通信路径的媒体提供候选的较少优化的选择来做出响应。这允许通信事件(诸如,例如,IP 语音电话呼叫)被更迅速地建立,即使可能具有稍微较低的呼叫质量。0029 图 4 示出了在服务器侧的功能。

21、性,其图示依照一个或多个实施例的一个特定服务器实例 4a。服务器实例 4a 具有接收功能 50,所述接收功能 50 评估队列 46 中的请求 32 的遇困梯度 42 并且拾取最遇困的请求以用于处理。选择功能 52 读取请求中的遇困梯度并且选择许多功能 54a、54b、54c 中的一个,所述功能 54a、54b、54c 中的每一个能够以不同程度的复杂性或质量服务请求。所选功能被传递给处理构件 56 并且请求然后通过处理构件 56使用所选功能而被服务,并且结果得到的响应通过传送功能 58 被生成以用于传送到请求客户端终端。0030 遇困信息能够取决于传输协议被以任何适当的方式提供,并且在应用层处被。

22、读取。0031 所描述的本发明的实施例使得客户端侧应用能够针对连续请求发信号通知从服务器侧接收服务的遇困或失败,从而使得服务器侧能够优先考虑请求和 / 或能够后退以便提供较低的复杂性或较低的服务质量。这允许可配置质量对服务时间的权衡被实施,这对近实时应用来说是重要的。0032 根据本发明的一个实施例,提供了在计算机服务器处处理请求的方法,包括 :从用户终端接收针对服务的请求,请求包括遇困信息,其表示处理来自用户终端的针对服务的至少一个之前类似的请求的失败的程度 ;从请求接收遇困信息 ;以及依照遇困信息处理请求。0033 在一个或多个实施例中,处理请求的步骤包括基于遇困信息按顺序对待在服务器处接。

23、收到的多个请求当中的请求。0034 在一个或多个实施例中,处理请求的步骤包括从一组备选功能中选择用于基于遇困信息来处置请求的功能。0035 在一个或多个实施例中,在遇困信息高于指示处理先前类似的请求的失败的高程度的门限水平时,所选功能与该组备选功能中的其它功能相比具有降低的复杂性或成本。0036 在一个实施例中,要被服务器处理的多个请求被放入队列,并且其中服务器基于请求中的遇困信息从队列中检索请求以用于处理。说 明 书CN 104509071 A5/6 页70037 在一个或多个实施例中,已在队列中持续达超过超时周期的周期的请求被丢弃。0038 根据本发明的另一实施例,提供了可操作来处理在其输。

24、入端处接收到的请求的服务器,该服务器包括 :接收构件,其可操作来接收识别用户终端的请求,请求包括表示处理来自用户终端的至少一个其它请求的失败的程度的遇困信息,以及可操作来从请求中读取遇困信息 ;以及处理构件,其可操作来依照遇困信息处理请求。0039 在一个实施例中,服务器包括用于处置请求的一组供替换的功能,服务器包括选择功能,其用于基于请求中的遇困信息选择一组功能中的一个以用于处置请求。0040 在另一实施例中,服务器的接收构件可操作来从请求的队列中检索请求以及基于队列的请求中的遇困信息来针对检索选择请求。0041 根据本发明的另一实施例,提供了从用户终端发出请求的方法,包括 :向服务器发出针。

25、对服务的第一请求 ;监测对第一请求的响应是否在预定时间内在用户终端处被接收到 ;如果响应在预定时间内尚未被接收到,则发出第二类似的请求并且将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,遇困信息基于监测步骤被评估。0042 在一个实施例中,所述方法包括 :监测对第二或任何后续请求的响应是否在预定时间内被接收到,并且如果响应在预定时间内尚未被接收到,则发出后续或另外的后续请求,其包括表示处理第一请求和第二请求以及任何先前的后续请求的失败的程度的遇困信息。0043 在另一实施例中,遇困信息包括针对相同服务从对于其的响应尚未被接收到的用户终端发出的之前请求的数目。0044 在另外的实施例中。

26、,遇困信息包括自发出第一请求以来经过的时间。0045 根据本发明的另一实施例,提供了一种用户终端以用于访问来自它经由通信网络被连接到的服务器的服务,该用户终端包括 :传送功能,其可操作来向服务器发出针对服务的第一请求 ;监测功能,其可操作来监测对第一请求的响应是否在预定时间内在终端处被接收到,其中传送功能被配置成如果响应在预定时间内尚未被接收到则发出针对相同服务的第二类似的请求 ;以及插入功能,其可操作来将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,其中遇困信息通过监测功能被评估。0046 根据本发明的另一实施例,提供了包括在计算机可读介质上的计算机可读指令的计算机程序产品,所述计。

27、算机可读指令当被计算机执行时 :将第一请求发出到服务的服务器,监测对第一请求的响应是否在预定时间内在用户终端处被接收到 ;并且如果响应在预定时间内尚未被接收到,则发出第二类似的请求并且将表示处理第一请求的失败的程度的遇困信息包括在第二请求中,遇困信息基于监测步骤被评估。0047 根据本发明的另一实施例,提供了包括在计算机可读介质上的计算机可读指令的计算机程序产品,所述计算机可读指令当被计算机执行时 :从用户终端接收针对服务的请求,请求包括表示处理来自用户终端的针对服务的至少一个之前类似的请求的失败的程度的遇困信息 ;从请求接收遇困信息 ;并且依照遇困信息处理请求。0048 一般地,本文中所描述。

28、的功能中的任一个能够使用软件、固件、硬件(例如,固定逻辑电路)或这些实施方案的组合被实施。如本文中所使用的术语“模块”、“功能性”、“构件”以及“逻辑”一般地表示软件、固件、硬件或其组合。在软件实施方案的情况下,模块、功能性或逻辑表示程序代码,所述程序代码当在处理器(例如,一个或多个 CPU)上被执行时执行说 明 书CN 104509071 A6/6 页8规定的任务。程序代码能够被存储在一个或多个计算机可读存储器设备中。在下面所描述的技术的特征是平台无关的,意味着技术可以被实施在具有各种各样处理器的各种各样的商业计算平台上。0049 例如,用户终端还可以包括使用户终端的硬件执行操作(例如,处理。

29、器功能块等等)的实体(例如软件)。例如,用户终端可以包括可以被配置成保持指令的计算机可读介质,所述指令使用户终端并且更特别地使用户终端的操作系统和相关联的硬件执行操作。因此,指令运作来配置操作系统和相关联的硬件以执行操作,并且以这种方式导致操作系统和相关联的硬件的转换来执行功能。指令可以由计算机可读介质通过各种各样不同的配置提供给用户终端。0050 计算机可读介质的一个这样的配置是信号承载介质,并且因此被配置成诸如经由网络将指令(例如作为载波)传送到计算设备。计算机可读介质还可以被配置为计算机可读存储介质并且因此不是信号承载介质。计算机可读存储介质的例子包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪速存储器、硬盘存储器,以及可以使用磁、光学和其它技术来存储指令和其它数据的其它存储器设备。0051 尽管已经用特定于结构特征和 / 或方法学动作的语言对本主题进行了描述,但是应当理解,在所附权利要求中定义的本主题未必限于上面所描述的特定特征或动作。相反,上面所描述的特定特征和动作作为实施权利要求的示例性形式被公开。说 明 书CN 104509071 A1/4 页9图 1说 明 书 附 图CN 104509071 A2/4 页10图 2说 明 书 附 图CN 104509071 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1