一种聚合服务器的用户请求处理方法和装置与流程

文档序号:13317330阅读:162来源:国知局

本发明涉及通信技术领域,特别是涉及一种聚合服务器的用户请求处理方法和一种聚合服务器的用户请求处理装置。



背景技术:

当代的互联网服务为了保证服务的高可用性,防止一旦数据中心出现故障而造成整个服务不可用,都会采取同城跨数据中心部署,甚至异地跨数据中心进行部署。跨数据中心部署有很大可能会引入通信跨数据中心相关的问题,目前我国的现状是不同的互联网服务商之间的通信带宽非常受限。跨数据中心部署由于地理距离的因素,通信延迟也会比较长。如果出现大量的跨数据中心访问,会使得服务响应时间大大增加。

目前比较常见的解决方案是采用物理数据中心隔离。主要做法是通过服务部署隔离,使得各个数据中心之间不相互通信,来最大限度的解决问题。此方法的确是最好的解决方案,但是却需要非常严苛的限制条件,就是一个数据中心可以对外提供完整的服务。

这种方案在很多情况下是无法有效工作的。一个具有普遍性的例子是:在典型的分布式互联网服务,至少需要两种角色的服务器,一种称之为工作服务器(workserver):工作服务器是真正提供服务的机器,一套完整的服务,至少需要多台工作服务器同时进行工作;另一种称之为聚合服务(aggregatorserver):聚合服务对外提供服务,对内将请求分发到多个工作服务器,然后汇总来自工作服务器的响应数据,将数据汇总后提供给用户。

一般工作服务器至少需要多台才能提供完整服务,比较典型的是由5台以上的工作服务器来对外提供服务。假如有a和b两个数据中心,工作服务器数量分别为17和3台。如果要进行完全的物理数据中心隔离,则b数据中心的3台工作服务器是无法独立的对外提供完整的服务的。如果要将两个数据中心的工作服务器都最大限度的利用起来,则数据中心b的工作服务器必须要和数据中心a的工作服务器进行通信。可以看出,难以实现最大限度的使用机器资源,又进行最大限度的数据中心物理隔离。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种聚合服务器的用户请求处理方法和相应的一种聚合服务器的用户请求处理装置。

为了解决上述问题,本发明实施例公开了一种聚合服务器的用户请求处理方法,包括:

接收用户请求;

确定各个数据中心中的各个工作服务器分组的工作服务器的第一资源参数,以及,各个数据中心中的聚合服务器的第二资源参数;所述第一资源参数表示数据中心中属于同一工作服务器分组的工作服务器单位时间内处理的用户请求的数量;所述第二资源参数表示数据中心的聚合服务器单位时间内处理的用户请求的数量;

若当前数据中心中属于同一个工作服务器分组的工作服务器的第一资源参数,小于当前数据中心的第二资源参数,则将该工作服务器分组确定为目标工作服务器分组;

根据目标工作服务器分组的工作服务器的第一资源参数和当前数据中心的第二资源参数,从当前数据中心接收的所有用户请求中,确定分发请求;

在除当前数据中心的其余数据中心中确定目标数据中心;

将所述分发请求,发送到所述目标数据中心的目标工作服务器分组的工作服务器。

优选的,所述在除当前数据中心的其余数据中心中确定目标数据中心的步骤包括:

在除当前数据中心的其余数据中心中,确定属于所述目标工作服务器分组的工作服务器的第一资源参数;

将属于所述目标工作服务器分组的工作服务器的第一资源参数,大于对应数据中心的第二资源参数的数据中心作为目标数据中心。

优选的,所述将属于所述目标工作服务器分组的工作服务器的第一资源参数,小于对应数据中心的第二资源参数的数据中心作为目标数据中心的步骤包括:

在属于所述目标工作服务器分组的工作服务器的第一资源参数小于对应数据中心的第二资源参数的数据中心中,确定剩余资源参数最大的数据中心为目标数据中心;所述剩余资源参数为数据中心的工作服务器当前未用于处理用户请求的资源参数。

优选的,所述将属于所述目标工作服务器分组的工作服务器的第一资源参数,小于对应数据中心的第二资源参数的数据中心作为目标数据中心的步骤包括:

在属于所述目标工作服务器分组的工作服务器的第一资源参数小于对应数据中心的第二资源参数的数据中心中,确定网络延迟最小的数据中心为目标数据中心。

优选的,所述根据目标工作服务器分组的工作服务器的第一资源参数和当前数据中心的第二资源参数,从当前数据中心接收的所有用户请求中,确定分发请求的步骤包括:

将所述当前数据中心的第二资源参数对应的用户请求数目,减去当前数据中心的目标工作服务器分组的工作服务器的第一资源参数对应的用户请求数目,得到分发数目;

从当前数据中心聚合服务器接收的所有用户请求中,选择所述分发数目的用户请求作为分发请求。

优选的,所述将所述分发请求,发送到所述目标数据中心的目标工作服务器分组的工作服务器中的步骤包括:

确定所述目标数据中心的目标工作服务器分组的各个工作服务器的负载;

按照所述目标数据中心的目标工作服务器分组的工作服务器的负载,确定目标工作服务器;

将所述分发请求,分发至所述目标工作服务器。

优选的,还包括:

在当前数据中心聚合服务器接收的所有用户请求中,将所述分发请求之外的用户请求分发到当前数据中心的工作服务器。

优选的,还包括:

接收所述目标数据中心的目标工作服务器分组的工作服务器针对指定用户请求返回的第一响应数据,以及所述当前数据中心的工作服务器针对所述指定用户请求返回的第二响应数据;

汇总所述第一响应数据和第二响应数据,得到第三响应数据;

将所述第三响应数据发送至用户请求的发送方。

优选的,还包括:

若当前数据中心的工作服务器分组的工作服务器的第一资源参数大于当前数据中心的第二资源参数,则将当前数据中心聚合服务器接收到的所有用户请求分发到当前数据中心的工作服务器。

优选的,所述数据中心各个工作服务器分组的工作服务器的第一资源参数由工作服务器的内存容量、cpu配置以及网络延迟确定;所述数据中心的第二资源参数由聚合服务器的内存容量、cpu配置,以及网络延迟确定。

本发明实施例还公开了一种聚合服务器的用户请求处理装置,包括:

用户请求接收模块,用于接收用户请求;

资源参数确定模块,用于确定各个数据中心中的各个工作服务器分组的工作服务器的第一资源参数,以及,各个数据中心中的聚合服务器的第二资源参数;所述第一资源参数表示数据中心中属于同一工作服务器分组的工作服务器单位时间内处理的用户请求的数量;所述第二资源参数表示数据中心的聚合服务器单位时间内处理的用户请求的数量;

目标工作服务器分组确定模块,用于若当前数据中心中属于同一个工作服务器分组的工作服务器的第一资源参数,小于当前数据中心的第二资源参数,则将该工作服务器分组确定为目标工作服务器分组;

分发请求确定模块,用于根据目标工作服务器分组的工作服务器的第一资源参数和当前数据中心的第二资源参数,从当前数据中心接收的所有用户请求中,确定分发请求;

目标数据中心确定模块,用于在除当前数据中心的其余数据中心中确定目标数据中心;

分发请求发送模块,用于将所述分发请求,发送到所述目标数据中心的目标工作服务器分组的工作服务器。

优选的,所述目标数据中心确定模块包括:

跨数据中心资源参数确定子模块,用于在除当前数据中心的其余数据中心中,确定属于所述目标工作服务器分组的工作服务器的第一资源参数;

目标数据中心确定子模块,用于将属于所述目标工作服务器分组的工作服务器的第一资源参数,大于对应数据中心的第二资源参数的数据中心作为目标数据中心。

优选的,所述目标数据中心确定子模块包括:

第一目标数据中心确定单元,用于在属于所述目标工作服务器分组的工作服务器的第一资源参数小于对应数据中心的第二资源参数的数据中心中,确定剩余资源参数最大的数据中心为目标数据中心;所述剩余资源参数为数据中心的工作服务器当前未用于处理用户请求的资源参数。

优选的,所述目标数据中心确定子模块包括:

第二目标数据中心确定单元,用于在属于所述目标工作服务器分组的工作服务器的第一资源参数小于对应数据中心的第二资源参数的数据中心中,确定网络延迟最小的数据中心为目标数据中心。

优选的,所述分发请求确定模块包括:

分发数目确定子模块,用于将所述当前数据中心的第二资源参数对应的用户请求数目,减去当前数据中心的目标工作服务器分组的工作服务器的第一资源参数对应的用户请求数目,得到分发数目;

分发请求确定子模块,用于从当前数据中心聚合服务器接收的所有用户请求中,选择所述分发数目的用户请求作为分发请求。

优选的,所述分发请求发送模块包括:

负载确定子模块,用于确定所述目标数据中心的目标工作服务器分组的各个工作服务器的负载;

目标工作服务器确定子模块,用于按照所述目标数据中心的目标工作服务器分组的工作服务器的负载,确定目标工作服务器;

分发请求发送子模块,用于将所述分发请求,分发至所述目标工作服务器。

优选的,还包括:

第一用户请求分发模块,用于在当前数据中心聚合服务器接收的所有用户请求中,将所述分发请求之外的用户请求分发到当前数据中心的工作服务器。

优选的,还包括:

响应数据接收模块,用于接收所述目标数据中心的目标工作服务器分组的工作服务器针对指定用户请求返回的第一响应数据,以及所述当前数据中心的工作服务器针对所述指定用户请求返回的第二响应数据;

响应数据汇总模块,用于汇总所述第一响应数据和第二响应数据,得到第三响应数据;

响应数据发送模块,用于将所述第三响应数据发送至用户请求的发送方。

优选的,还包括:

第一用户请求分发模块,用于若当前数据中心的工作服务器分组的工作服务器的第一资源参数大于当前数据中心的第二资源参数,则将当前数据中心聚合服务器接收到的所有用户请求分发到当前数据中心的工作服务器。

优选的,所述数据中心各个工作服务器分组的工作服务器的第一资源参数由工作服务器的内存容量、cpu配置以及网络延迟确定;所述数据中心的第二资源参数由聚合服务器的内存容量、cpu配置,以及网络延迟确定。

本发明实施例包括以下优点:

在本发明实施例中,在当前数据中心的工作服务器与聚合服务器的配比不均衡,使得数据中心的工作服务器分组的工作服务器的第一资源参数小于数据中心的第二资源参数时,当前数据中心聚合服务器,根据当前数据中心的工作服务器分组的工作服务器的第一资源参数,将当前数据中心的工作服务器分组能够处理的用户请求分发到前数据中心工作服务器。当前数据中心聚合服务器依据工作服务器分组的工作服务器的第一资源参数和数据中心的第二资源参数确定当前数据中心的工作服务器分组的工作服务器无法处理的用户请求作为分发请求。将分发请求发送到其他数据中心的第一资源参数大于对应第二资源参数的目标服务器分组。本发明实施例,在保证最大限度当前数据中心工作服务器机器利用率的前提下,最小化跨数据中心i/o请求量,提升分布式系统的响应时间,降低对跨数据中心i/o带宽的依赖。

附图说明

图1是本发明的一种聚合服务器的用户请求处理方法实施例1的步骤流程图;

图2是为本发明实施例中一种分布式服务器系统的示意图;

图3是本发明的一种聚合服务器的用户请求处理方法实施例2的步骤流程图;

图4是本发明的一种聚合服务器的用户请求处理装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明的一种聚合服务器的用户请求处理方法实施例1的步骤流程图。所述方法具体可以包括如下步骤:

步骤101,接收用户请求;

当前数据中心聚合服务器可以接收用户设备提交的用户请求,或者其他应用程序转发的用户请求。

在本发明实施例中,分布式服务器系统部署在多个数据中心(也称机房),分布式服务器系统的工作服务器可以划分为多个工作服务器分组。在一般情况下,每个数据中心都包括属于各个工作服务器分组的工作服务器。例如,分布式服务器系统的工作服务器可以划分为:第一工作服务器分组、第二工作服务器分组、第三工作服务器分组以及第四工作服务器分组,数据中心a可以包括分别属于第一工作服务器分组、第二工作服务器分组、第三工作服务器分组以及第四工作服务器分组的工作服务器。当然,在一些情况下,一个数据中心也可能不包括属于各个工作服务器分组的工作服务器,甚至一个数据中心可能只包括聚合服务器,而不包括任何工作服务器。例如,数据中心a只包括属于第一工作服务器分组、第二工作服务器分组、第三工作服务器分组的工作服务器,不包括属于第四工作服务器分组的工作服务器。

将分布式服务器系统的工作服务器可以划分为多个工作服务器分组的好处是,由多个工作服务器独自负责查找与用户请求对应的一部分响应数据,加快了针对用户请求的响应速度。

对于聚合服务器接收的同一个用户请求,聚合服务器会从各个工作服务器分组中选择一个工作服务器来处理同一个用户请求。聚合服务器可以将该用户请求发送到属于各个分组的一个工作服务器中。属于不同分组的工作服务器各自在服务器内部查找与用户请求对应的一部分响应数据,各个分组的工作服务器将各自的一部分响应数据返回至聚合服务器。聚合服务器将各个分组的工作服务器返回的响应数据汇总得到针对一个用户请求的完整的响应数据,最后由聚合服务器将完整的响应数据返回至用户设备。也就是说,同一个用户请求需要属于各个分组的工作服务器来进行处理。

对于各个分组的工作服务器,服务器中存储的数据都是相同的。不同分组的工作服务器的区别是,不同分组的工作服务器负责查找与用户请求对应的不同部分的响应数据。

参照图2所示为本发明实施例中一种分布式服务器系统的示意图。分布式服务器系统由部署在多个数据中心的服务器组成,每个数据中心可以至少包括一个聚合服务器和多个工作服务器。聚合服务器对外提供服务,接收用户设备提交的用户请求,并将用户请求分发到多个工作服务器。工作服务器对用户请求进行处理,将请求所需的响应数据返回值聚合服务器。聚合服务器汇总各个工作服务器返回的响应数据,并将汇总的响应数据发送给用户设备。

分布式服务器系统中,每个数据中心的聚合服务器都可以单独接收各个用户设备提交的用户请求。跨数据中心的请求分发,不需要通过在聚合服务器之间进行转发,当前数据中心的聚合服务器可以直接将用户请求分发到其他数据中心的工作服务器。例如,数据中心a的聚合服务器将多余的请求发送到数据中心b的工作服务器,不需要a数据中心的聚合服务器和b数据中心的聚合服务器通信。

步骤102,确定各个数据中心中的各个工作服务器分组的工作服务器的第一资源参数,以及,各个数据中心中的聚合服务器的第二资源参数;所述第一资源参数表示数据中心中属于同一工作服务器分组的工作服务器单位时间内处理的用户请求的数量;所述第二资源参数表示数据中心的聚合服务器单位时间内处理的用户请求的数量;

第一资源参数是指数据中心中同一工作服务器分组的所有工作服务器对用户请求的处理能力的一种衡量。第一资源参数反映了在单位时间内,数据中心中一个工作服务器分组的所有工作服务器处理的用户请求的数量。

工作服务器对用户请求的处理是指工作服务器针对用户请求返回响应数据。因此也可以认为第一资源参数反映了数据中心中的一个工作服务器分组的工作服务器针对用户请求返回响应数据的速度。

第二资源参数是指数据中心中的聚合服务器能对用户请求的处理能力的一种衡量。第二资源参数反映了在单位时间内,数据中心中的聚合服务器处理的用户请求的数量。

聚合服务器对用户请求的处理是指聚合服务器汇总各个工作服务器分组的工作服务器针对用户请求返回的响应数据。因此也可以认为第二资源参数反映了数据中心中的聚合服务器汇总各个工作服务器分组的工作服务器针对用户请求返回的响应数据的速度。

实际中,可以用每秒查询率qps(queriespersecond)来作为第一资源参数和第二资源参数的计量单位。每秒查询率qps表示服务器处理每个请求的速度。

在本发明实施例中,数据中心各个工作服务器分组的工作服务器的第一资源参数由工作服务器的内存容量、cpu配置,以及网络延迟决定。数据中心的第二资源参数由聚合服务器的内存容量、cpu配置,以及网络延迟决定。

例如,x台工作服务器中,每台工作服务器都是16核cpu,64gb内存,在服务平均响应时间为100ms以内,最大的qps是500,也即是说,这x台工作服务器的第一资源参数为500,每秒可以处理500个用户请求。

聚合服务器的配置是8核cpu,16gb内存,在服务平均响应时间为100ms以内时,最大qps为200。也即是说,聚合服务器的第二资源参数为200,每秒可以处理200个用户请求。

在本发明实施例中,在同一个数据中心内的网络延迟可以忽略。不同数据中心的工作服务器,对用户请求的处理的响应时间(查找与用户请求对应的数据的响应时间),在不包含网络通信的情况,都是一样的。但是由于跨数据中心会存在网络延迟,跨数据中心的响应时间可以认为是同数据中心的响应时间两倍。也就是说,由于跨数据中心的网络延迟,会降低其他数据中心对本数据中心的用户请求的处理速度。

步骤103,若当前数据中心中属于同一个工作服务器分组的工作服务器的第一资源参数,小于当前数据中心的第二资源参数,则将该工作服务器分组确定为目标工作服务器分组;

在数据中心的工作服务器与聚合服务器的配比均衡的情况下,数据中心的各个工作服务器分组的第一资源参数与数据中心的第二资源参数大致相同。

当数据中心的工作服务器分组与聚合服务器的配比不均衡时,数据中心工作服务分组的第一资源参数将与第二资源参数出现较大的差异。

若当前数据中心的某个工作服务器分组的工作服务器的第一资源参数小于当前数据中心的第二资源参数(也就是当前数据中心的工作服务器分组的工作服务器针对用户请求的处理能力小于聚合服务器针对用户请求的处理能力),则将该工作服务器分组作为目标工作服务器分组。

步骤104,根据目标工作服务器分组的工作服务器的第一资源参数和当前数据中心的第二资源参数,从当前数据中心接收的所有用户请求中,确定分发请求;

由于工作服务器分组的第一资源参数小于数据中心的第二资源参数,因此需要将该工作服务器分组无法处理的用户请求分发到其他数据中心的同一个工作服务器分组的工作服务器中。

步骤105,在除当前数据中心的其余数据中心中确定目标数据中心;

目标数据中心中属于目标工作服务器分组的工作服务器的第一资源参数大于目标数据中心的第二资源参数。

步骤106,将所述分发请求,发送到所述目标数据中心的目标工作服务器分组的工作服务器。

将当前数据中心的工作服务器分组的工作服务器无法处理的分发请求,发送给其他数据中心的相同工作服务器分组的工作服务器中。

在本发明实施例中,在当前数据中心的工作服务器与聚合服务器的配比不均衡,使得数据中心的工作服务器分组的工作服务器的第一资源参数小于数据中心的第二资源参数时,当前数据中心聚合服务器,根据当前数据中心的工作服务器分组的工作服务器的第一资源参数,将当前数据中心的工作服务器分组能够处理的用户请求分发到前数据中心工作服务器。当前数据中心聚合服务器依据工作服务器分组的工作服务器的第一资源参数和数据中心的第二资源参数确定当前数据中心的工作服务器分组的工作服务器无法处理的用户请求作为分发请求。将分发请求发送到其他数据中心的第一资源参数大于对应第二资源参数的目标服务器分组。在本发明实施例,在保证最大限度当前数据中心工作服务器机器利用率的前提下,最小化跨数据中心i/o请求量,提升分布式系统的响应时间,降低对跨数据中心i/o带宽的依赖。

参照图3,示出了本发明的一种聚合服务器的用户请求处理方法实施例2的步骤流程图,所述方法具体可以包括如下步骤:

步骤201,接收用户请求;

当前数据中心聚合服务器可以接收用户设备提交的用户请求,或者其他应用程序转发的用户请求。分布式服务器系统中,每个数据中心的聚合服务器都可以单独接收各个用户设备提交的用户请求,或者其他设备的应用程序转发的用户请求。

步骤202,确定各个数据中心中的各个工作服务器分组的工作服务器的第一资源参数,以及,各个数据中心中的聚合服务器的第二资源参数;所述第一资源参数表示数据中心中属于同一工作服务器分组的工作服务器单位时间内处理的用户请求的数量;所述第二资源参数表示数据中心的聚合服务器单位时间内处理的用户请求的数量;;

当数据中心的聚合服务器接收到用户请求后,该聚合服务器确定分布式服务器系统的各个数据中心(包括本数据中心)的各个工作服务器分组的工作服务器针对用户请求返回响应数据的第一资源参数,以及,各个数据中心中的聚合服务器汇总工作服务器返回的响应数据的第二资源参数。

在本发明实施例中,数据中心各个工作服务器分组的工作服务器的第一资源参数由工作服务器的内存容量、cpu配置,以及网络延迟决定。数据中心的第二资源参数由聚合服务器的内存容量、cpu配置,以及网络延迟决定。

步骤203,若当前数据中心中属于同一个工作服务器分组的工作服务器的第一资源参数,小于当前数据中心的第二资源参数,则将该工作服务器分组确定为目标工作服务器分组;

步骤204,根据目标工作服务器分组的工作服务器的第一资源参数和当前数据中心的第二资源参数,从当前数据中心接收的所有用户请求中,确定分发请求;

在本发明实施例中,所述步骤204可以包括如下子步骤:

子步骤s11,将所述当前数据中心的第二资源参数对应的用户请求数目,减去当前数据中心的目标工作服务器分组的工作服务器的第一资源参数对应的用户请求数目,得到分发数目;

子步骤s12,从当前数据中心聚合服务器接收的所有用户请求中,选择所述分发数目的用户请求作为分发请求。

例如,数据中心a的第一工作服务器分组的工作服务器无法处理的用户请求数目为200,也即分发请求的数目为200个。

步骤205,在除当前数据中心的其余数据中心中确定目标数据中心;

在本发明实施例中,所述步骤205可以包括如下子步骤:

子步骤s21,在除当前数据中心的其余数据中心中,确定属于所述目标工作服务器分组的工作服务器的第一资源参数;

子步骤s22,将属于所述目标工作服务器分组的工作服务器的第一资源参数,大于对应数据中心的第二资源参数的数据中心作为目标数据中心。

目标数据中心中属于目标工作服务器分组的工作服务器的第一资源参数大于目标数据中心的第二资源参数。

本数据中心的聚合服务器可以按照预设的比例,将分发请求发送给各个目标数据中心的工作服务器。

为了使本领域技术人员能够更好地理解本发明实施例,下面通过一个例子对本发明实施例加以说明:

参照表1为本发明实施例中一种数据中心的处理能力的参数表。

其中,数据中心a的第一工作服务器分组的工作服务器的第一资源参数小于数据中心a的第二资源参数。因此,第一工作服务器分组为目标工作服务器分组。

数据中心c和数据中心d的第一工作服务器分组的第一资源参数小于对应数据中心的第二资源参数。因此,数据中心c和数据中心d为目标数据中心。

数据中心a的第一工作服务器无法处理的用户请求数目为200,也即分发请求的数目为200。数据中心a的聚合服务器可以按照数据中心c和数据中心d的第一工作服务器分组富余的资源参数的比例,将无法处理的用户请求数目按比例分发给数据中心c和数据中心d的第一工作服务器分组的工作服务器。

数据中心c的第一工作服务器分组富余的资源参数为150,数据中心d的第一工作服务器分组富余的资源参数为50,则数据中心c:数据中心d=3:1。数据中心a的聚合服务器可以将150个用户请求分发给数据中心c的第一工作服务器分组的工作服务器,将50个用户请求分发给数据中心d的第一工作服务器分组的工作服务器。

在本发明实施例的一种优选中,所述子步骤s21可以进一步包括:

在属于所述目标工作服务器分组的工作服务器的第一资源参数小于对应数据中心的第二资源参数的数据中心中,确定剩余资源参数最大的数据中心为目标数据中心;所述剩余资源参数为数据中心的工作服务器当前未用于处理用户请求的资源参数。

剩余资源参数是一个动态变化的参数,同样以表1的数据为示例。数据中心c的第一工作服务器分组的工作服务器的富余的资源参数为1350-1200=150。假如数据中心c的第一工作服务器分组的工作服务器接收了50个来自数据中心a的用户请求,则数据中心c的第一工作服务器分组的工作服务器的剩余资源参数为150-50=100。也就是说数据中心c的第一工作服务器分组的工作服务器还具有100的资源参数未用于处理用户请求。

在本发明实施例的另一种优选中,所述子步骤s21可以进一步包括:

在属于所述目标工作服务器分组的工作服务器的第一资源参数小于对应数据中心的第二资源参数的数据中心中,确定网络延迟最小的数据中心为目标数据中心。

网络延迟越小,数据传输的越快。这样可以使得当前数据中心的聚合服务器能更快速的接收目标数据中心的聚合服务器返回的响应数据。

步骤206,将所述分发请求,发送到所述目标数据中心的目标工作服务器分组的工作服务器;

在本发明实施例中,所述步骤206可以包括如下子步骤:

子步骤s31,确定所述目标数据中心的目标工作服务器分组的各个工作服务器的负载;

数据中心的聚合服务器可以检测该数据中心内所有工作服务器的负载。因此,当前数据中心聚合服务器可以通过目标数据中心的聚合服务器,确定目标数据中心的各个工作服务器的负载。

子步骤s32,按照所述目标数据中心的目标工作服务器分组的工作服务器的负载,确定目标工作服务器;

当前数据中心聚合服务器可以从低至高,优先选择负载最低的工作服务器作为目标工作服务器。

子步骤s33,将所述分发请求,分发至所述目标工作服务器。

在本发明实施例中,在确定了目标数据中心后,优先选择负载较低的工作服务器作为目标工作服务器,保证目标数据中心的负载均衡。

步骤207,在当前数据中心聚合服务器接收的所有用户请求中,将所述分发请求之外的用户请求分发到当前数据中心的工作服务器;

分发请求之外的用户请求为当前数据中心的工作服务器能够处理的用户请求,也就是当前数据中心工作服务器分组的工作服务器的第一资源参数所适配的用户请求。

本发明实施例中,当前数据中心需要保证最大限度的利用本数据中心的工作服务器的处理能力。

步骤208,接收所述目标数据中心的目标工作服务器分组的工作服务器针对指定用户请求返回的第一响应数据,以及所述当前数据中心的工作服务器针对所述指定用户请求返回的第二响应数据;

当前数据中心的聚合服务器,接收目标数据中心的目标工作服务器分组的工作服务器返回的第一响应数据,以及当前数据中心的工作服务器返回的第二响应数据。

例如,针对同一个用户请求,数据中心a的聚合服务器将该请求分别发送到数据中心a的第一工作服务器分组的工作服务器,第二工作服务器分组的工作服务器,以及数据中心b的第三工作服务器分组的工作服务器。数据中心a的聚合服务器接收数据中心b的第三工作服务器分组的工作服务器返回的响应数据,以及数据中心a的第一工作服务器分组的工作服务器和第二工作服务器分组的工作服务器返回的响应数据。

步骤209,汇总所述第一响应数据和第二响应数据,得到第三响应数据;

当前数据中心的聚合服务器,汇总第一响应数据和第二响应数据,得到第三响应数据

步骤210,将所述第三响应数据发送至用户请求的发送方。

当前数据中心的聚合服务器,将第三响应数据发送至用户请求的发送方,用户请求的发送方可以是用户设备,也可以是转发用户请求的中转设备。

在本发明实施例中,所述的方法还可以包括:

若当前数据中心的工作服务器分组的工作服务器的第一资源参数大于当前数据中心的第二资源参数,则将当前数据中心聚合服务器接收到的所有用户请求分发到当前数据中心的工作服务器。

也就是说,当前数据中心的聚合服务器接收到的用户请求,都由当前数据中心的工作服务器进行处理。

在本发明实施例中,当数据中心的聚合服务器或工作服务器上线或下线时,数据中心的聚合服务器会重新确定各个数据中心中各个工作服务器分组的工作服务器的第一资源参数和数据中心的第二资源参数,实时调整用户请求的分发情况,具有高度的自动化和自适应能力。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图4,示出了本发明的一种聚合服务器的用户请求处理装置实施例的结构框图,所述装置具体可以包括如下模块:

用户请求接收模块301,用于接收用户请求;

资源参数确定模块302,用于确定各个数据中心中的各个工作服务器分组的工作服务器的第一资源参数,以及,各个数据中心中的聚合服务器的第二资源参数;所述第一资源参数表示数据中心中属于同一工作服务器分组的工作服务器单位时间内处理的用户请求的数量;所述第二资源参数表示数据中心的聚合服务器单位时间内处理的用户请求的数量;

目标工作服务器分组确定模块303,用于若当前数据中心中属于同一个工作服务器分组的工作服务器的第一资源参数,小于当前数据中心的第二资源参数,则将该工作服务器分组确定为目标工作服务器分组;

分发请求确定模块304,用于根据目标工作服务器分组的工作服务器的第一资源参数和当前数据中心的第二资源参数,从当前数据中心接收的所有用户请求中,确定分发请求;

目标数据中心确定模块305,用于在除当前数据中心的其余数据中心中确定目标数据中心;

分发请求发送模块306,用于将所述分发请求,发送到所述目标数据中心的目标工作服务器分组的工作服务器。

在本发明实施例中,所述目标数据中心确定模块305可以包括:

跨数据中心资源参数确定子模块,用于在除当前数据中心的其余数据中心中,确定属于所述目标工作服务器分组的工作服务器的第一资源参数;

目标数据中心确定子模块,用于将属于所述目标工作服务器分组的工作服务器的第一资源参数,大于对应数据中心的第二资源参数的数据中心作为目标数据中心。

在本发明实施例的一种优选示例中,所述目标数据中心确定子模块可以包括:

第一目标数据中心确定单元,用于在属于所述目标工作服务器分组的工作服务器的第一资源参数小于对应数据中心的第二资源参数的数据中心中,确定剩余资源参数最大的数据中心为目标数据中心;所述剩余资源参数为数据中心的工作服务器当前未用于处理用户请求的资源参数。

在本发明实施例的另一种优选示例中,所述目标数据中心确定子模块可以包括:

第二目标数据中心确定单元,用于在属于所述目标工作服务器分组的工作服务器的第一资源参数小于对应数据中心的第二资源参数的数据中心中,确定网络延迟最小的数据中心为目标数据中心。

在本发明实施例中,所述分发请求确定模块304可以包括:

分发数目确定子模块,用于将所述当前数据中心的第二资源参数对应的用户请求数目,减去当前数据中心的目标工作服务器分组的工作服务器的第一资源参数对应的用户请求数目,得到分发数目;

分发请求确定子模块,用于从当前数据中心聚合服务器接收的所有用户请求中,选择所述分发数目的用户请求作为分发请求。

在本发明实施例中,所述分发请求发送模块306可以包括:

负载确定子模块,用于确定所述目标数据中心的目标工作服务器分组的各个工作服务器的负载;

目标工作服务器确定子模块,用于按照所述目标数据中心的目标工作服务器分组的工作服务器的负载,确定目标工作服务器;

分发请求发送子模块,用于将所述分发请求,分发至所述目标工作服务器。

在本发明实施例中,所述的装置还可以包括:

第一用户请求分发模块,用于在当前数据中心聚合服务器接收的所有用户请求中,将所述分发请求之外的用户请求分发到当前数据中心的工作服务器。

在本发明实施例中,所述的装置还可以包括:

响应数据接收模块,用于接收所述目标数据中心的目标工作服务器分组的工作服务器针对指定用户请求返回的第一响应数据,以及所述当前数据中心的工作服务器针对所述指定用户请求返回的第二响应数据;

响应数据汇总模块,用于汇总所述第一响应数据和第二响应数据,得到第三响应数据;

响应数据发送模块,用于将所述第三响应数据发送至用户请求的发送方。

在本发明实施例中,所述的装置还可以包括:

第一用户请求分发模块,用于若当前数据中心的工作服务器分组的工作服务器的第一资源参数大于当前数据中心的第二资源参数,则将当前数据中心聚合服务器接收到的所有用户请求分发到当前数据中心的工作服务器。

在本发明实施例中,所述数据中心各个工作服务器分组的工作服务器的第一资源参数由工作服务器的内存容量、cpu配置以及网络延迟确定;所述数据中心的第二资源参数由聚合服务器的内存容量、cpu配置,以及网络延迟确定。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种聚合服务器的用户请求处理方法和一种聚合服务器的用户请求处理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1