HTTP请求处理方法、装置及系统制造方法及图纸

技术编号:16348842 阅读:76 留言:0更新日期:2017-10-03 23:21
本发明专利技术公开了一种HTTP请求处理方法、装置及系统,所述方法包括:代理服务器接收客户端发送的超文本传输协议HTTP请求,所述HTTP请求携带有统一资源标识符URI和用户标识;所述代理服务器确定与所述URI对应的服务器组,所述服务器组包括至少两个响应服务器;所述代理服务器根据所述用户标识的一致性哈希计算结果从所述服务器组中确定出目标服务器;所述代理服务器将所述HTTP请求发送至所述目标服务器进行处理;解决了现有技术中当Web服务器集群中增加服务器或者删除服务器时,无法稳定地向客户端提供HTTP服务的问题;实现了当增减服务器以及整个系统服务时,大部分客户端所发送的HTTP请求,仍然由指定的服务器提供Web服务,不会受到增减服务器的任何影响的效果。

【技术实现步骤摘要】
HTTP请求处理方法、装置及系统
本专利技术实施例涉及网络
,特别涉及一种HTTP请求处理方法、装置及系统。
技术介绍
Web服务集群是用于向客户端提供HTTP(HyperTextTransferProtocol,超文本传输协议)服务的服务器集群。Web服务器集群包括多台Web服务器,每台Web服务器上运行有至少一个Web容器,Web容器是一种用于提供HTTP服务的服务程序。目前的Web服务器集群常采用Tomcat容器和Jetty容器作为Web容器。在Web服务集群中可能会提供多个同类型的Web容器。当Web服务器集群接收到客户端发送的HTTP请求时,采用轮询方式从多个同类型的Web容器中确定出一个Web容器,由确定出的Web容器处理该HTTP请求。在实现本专利技术实施例的过程中,专利技术人发现现有技术至少存在以下问题:当Web服务器集群中增加服务器或者删除服务器时,会影响HTTP服务的正常响应,无法稳定地向客户端提供HTTP服务。
技术实现思路
为了解决现有技术中当Web服务器集群中增加服务器或者删除服务器时,会影响HTTP服务的正常响应,无法稳定地向客户端提供HTTP服务的问题,本专利技术实施例提供了一种HTTP请求处理方法、装置及系统。所述技术方案如下:根据本专利技术实施例的第一方面,提供了一种HTTP请求处理方法,所述方法包括:代理服务器接收客户端发送的HTTP请求,所述HTTP请求携带有URI和用户标识;所述代理服务器确定与所述URI对应的服务器组,所述服务器组包括至少两个响应服务器;所述代理服务器根据所述用户标识的一致性哈希计算结果从所述服务器组中确定出目标服务器;所述代理服务器将所述HTTP请求发送至所述目标服务器进行处理。根据本专利技术实施例的第二方面,提供了一种HTTP请求处理系统,所述系统包括:所述代理服务器,用于接收所述客户端发送的HTTP请求,所述HTTP请求携带有统一资源标识符URI和用户标识;所述代理服务器,用于确定与所述URI对应的服务器组,所述服务器组包括至少两个服务器;所述代理服务器,用于根据所述用户标识的一致性哈希计算结果从所述服务器组中确定出目标服务器;所述代理服务器,用于将所述HTTP请求发送至所述目标服务器进行处理。根据本专利技术实施例的第三方面,提供了一种HTTP请求处理装置,所述装置包括:第一接收模块,用于接收所述客户端发送的HTTP请求,所述HTTP请求携带有URI和用户标识;第一确定模块,用于确定与所述URI对应的服务器组,所述服务器组包括至少两个服务器;哈希计算模块,用于根据所述用户标识的一致性哈希计算结果从所述服务器组中确定出目标服务器;第一发送模块,用于将所述HTTP请求发送至所述目标服务器进行处理。本专利技术实施例提供的技术方案带来的有益效果是:通过代理服务器接收客户端发送的超文本传输协议HTTP请求,确定与URI对应的服务器组,根据用户标识的一致性哈希计算结果从服务器组中确定出目标服务器,将HTTP请求发送至目标服务器进行处理,使得来自同一客户端的HTTP请求由同一个服务器提供web服务;解决了现有技术中当Web服务器集群中增加服务器或者删除服务器时,无法稳定地向客户端提供HTTP服务的问题;实现了当增减服务器以及整个系统服务时,大部分客户端所发送的HTTP请求,仍然由指定的服务器提供Web服务,不会受到增减服务器的任何影响的效果。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1A和图1B是本专利技术一个实施例提供的HTTP请求处理系统的系统结构图;图2是本专利技术一个实施例提供的HTTP请求处理方法的流程图;图3是本专利技术一个实施例提供的一致性哈希算法的方法原理图;图4是本专利技术另一个实施例提供的HTTP请求处理方法的流程图;图5是本专利技术一个实施例提供的HTTP请求处理装置的结构方框图;图6是本专利技术另一个实施例提供的HTTP请求处理装置的结构方框图;图7是本专利技术一个实施例提供的服务器的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。图1A和图1B是本专利技术一个实施例提供的HTTP请求处理系统的系统结构图。示意性的,该HTTP请求处理系统包括:客户端100、代理服务器120、服务器组A、服务器组B、队列160和业务处理服务器组180。其中,服务器组A、服务器组B、队列160和业务处理服务器组180均属于Web服务器。客户端100是浏览器客户端。可选地,浏览器客户端向代理服务器发送HTTP请求,HTTP请求中携带有统一资源标识符(UniformResourceIdentifier,URI)和用户标识UserID。其中,UserID用于代表用户身份。代理服务器120是代理用户获取的Web服务的服务器。代理服务器120可以是反向代理(ReverseProxy)服务器。其中,反向代理方式是指以代理服务器120来接受internet上的HTTP请求,然后将HTTP请求转发给Web服务器所在内部网络上的Web服务器,并将从Web服务器上得到的响应结果反馈给客户端100。可选地,代理服务器由虚拟机(VirtualMachine,VM)或物理服务器实现,本专利技术对代理服务器的具体实现形式不加以限定。可选地,代理服务器120中包括Locator服务121和Lua脚本122。其中,代理服务器120接收客户端100发送的HTTP请求;Lua脚本122用于截获HTTP请求中携带的URI和用户标识,并将URI发送给Locator服务121,Locator服务121根据HTTP请求中携带的URI确定与URI对应的服务器组,该服务器组包括多台响应服务器;同时,Lua脚本还接收Locator服务121反馈的服务器组。可选地,Lua脚本122还根据用户标识UserID做一致性哈希算法,查找对应服务器组中的一台目标服务器。服务器组A和服务器组B是将很多响应服务器以负载均衡方式部署,同时提供同一种服务的一个群组。在客户端100看来就像是只有一个响应服务器。服务器组A和服务器组B中包含多个响应服务器,每个响应服务器均用于处理代理服务器120发送的HTTP请求。可选地,服务器组A包括响应服务器1、响应服务器2、响应服务器3和响应服务器4,服务器组B包括响应服务器5、响应服务器6、响应服务器7和响应服务器8。本专利技术实施例对以上对服务器组A和服务器组B中的响应服务器的数量的描述不加以限定。示意性的,服务器组A用于处理不需要向客户端100反馈响应的HTTP请求,比如消息和通知;服务器组B用于处理需要向客户端100反馈响应的HTTP请求。队列160是一款分布式、队列模型的消息中间件,用于接收目标服务器(目标服务器是响应服务器中的一个)构建的HTTP对象,等待业务服务器组180的处理。队列160可以由单独的一个服务器实现,也可以由一个虚拟机实现,也可以集成在响应服务器或业务处理服务器中来实现。业务处理服务器组180是将很多业务处理服务器集中起来以负载均衡方式部署本文档来自技高网...
HTTP请求处理方法、装置及系统

【技术保护点】
一种HTTP请求处理方法,其特征在于,所述方法包括:代理服务器接收客户端发送的超文本传输协议HTTP请求,所述HTTP请求携带有统一资源标识符URI和用户标识;所述代理服务器确定与所述URI对应的服务器组,所述服务器组包括至少两个响应服务器;所述代理服务器根据所述用户标识的一致性哈希计算结果从所述服务器组中确定出目标服务器;所述代理服务器将所述HTTP请求发送至所述目标服务器进行处理。

【技术特征摘要】
1.一种HTTP请求处理方法,其特征在于,所述方法包括:代理服务器接收客户端发送的超文本传输协议HTTP请求,所述HTTP请求携带有统一资源标识符URI和用户标识;所述代理服务器确定与所述URI对应的服务器组,所述服务器组包括至少两个响应服务器;所述代理服务器根据所述用户标识的一致性哈希计算结果从所述服务器组中确定出目标服务器;所述代理服务器将所述HTTP请求发送至所述目标服务器进行处理。2.根据权利要求1所述的方法,其特征在于,所述代理服务器根据所述用户标识的一致性哈希计算结果从所述服务器组中确定出目标服务器,包括:对所述用户标识按照预设的哈希算法计算哈希值;将所述哈希值散列到环形哈希空间上的目标节点,所述环形哈希空间上的目标节点与所述服务器组中的所述服务器存在对应关系;将与所述目标节点对应的所述服务器确定为所述目标服务器。3.根据权利要求1所述的方法,其特征在于,所述代理服务器确定与所述URI对应的服务器组,包括:通过Lua脚本向Locator服务发送所述URI;通过所述Locator服务确定与所述URI对应的服务器组;通过所述Lua脚本接收所述Locator服务反馈的所述服务器组。4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:所述目标服务器确定所述HTTP请求的请求类型,若所述请求类型是不需要反馈响应消息的HTTP请求,则所述目标服务器根据所述HTTP请求构建HTTP对象,将所述HTTP对象发送至队列中;以便响应服务器从所述队列中获取所述HTTP对象并处理。5.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:所述目标服务器确定所述HTTP请求的请求类型,若所述请求类型是需要反馈响应消息的HTTP请求,则所述目标服务器生成所述HTTP请求的响应消息,并通过所述代理服务器向所述客户端反馈所述响应消息。6.一种HTTP请求处理系统,其特征在于,所述系统包括:客户端、代理服务器和服务器组;所述代理服务器,用于接收所述...

【专利技术属性】
技术研发人员:赵东
申请(专利权)人:北京新媒传信科技有限公司
类型:发明
国别省市:北京,11

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

1