业务请求分配系统、方法和装置与流程

文档序号:12377143阅读:369来源:国知局
业务请求分配系统、方法和装置与流程

本发明涉及计算机技术领域,特别是涉及一种业务请求分配系统、方法和装置。



背景技术:

业务处理系统在处理业务请求时,会对不同的业务请求采用不同的业务算法进行处理,这就涉及业务请求的分配问题。比如在互联网广告领域,处理广告请求时会根据广告请求的不同而采用不同的业务算法进行处理。

目前的业务处理系统在分配业务请求时,需要在接入服务器上人工设置业务算法分流配置文件,维护人员需要在该业务算法分流配置文件中对哪些计算服务器加载了哪种业务算法进行详细地配置。这样接入服务器就可以根据该业务算法分流配置文件,将业务请求转发给实现相应业务算法的计算服务器进行计算。

然而,目前的业务处理系统,当维护人员在启用或者停用计算服务器上的业务算法时,需要在相应的计算服务器上手动修改,而且需要手动修改接入服务器上的业务算法分流配置文件,操作复杂,维护成本较高。



技术实现要素:

基于此,有必要针对目前的业务处理系统在维护时操作复杂,维护成本较高的技术问题,提供一种业务请求分配系统、方法和装置。

一种业务请求分配系统,所述系统包括:计算服务器集群、管理服务器和接入服务器;

所述计算服务器集群用于实时向管理服务器上报集群状态;

所述管理服务器用于实时根据所述集群状态生成集群快照;

所述接入服务器用于实时从管理服务器获取集群快照,并根据获取的集群快照更新动态路由表;所述动态路由表包括业务算法标识和计算服务器地址的 映射关系;

所述接入服务器还用于接收业务请求,获取所述业务请求所对应的业务算法标识,并根据所述动态路由表将所述业务请求转发至计算服务器集群中与获取的业务算法标识对应的计算服务器。

一种业务请求分配方法,所述方法包括:

接入服务器在管理服务器接收计算服务器集群实时上报的集群状态并实时根据所述集群状态生成集群快照后,实时从管理服务器获取集群快照;

接入服务器根据获取的集群快照更新动态路由表;所述动态路由表包括业务算法标识和计算服务器地址的映射关系;

接入服务器接收业务请求,获取所述业务请求所对应的业务算法标识;

接入服务器根据所述动态路由表将所述业务请求转发至计算服务器集群中与获取的业务算法标识对应的计算服务器。

一种业务请求分配装置,所述装置包括:

集群快照获取模块,用于在管理服务器接收计算服务器集群实时上报的集群状态并实时根据所述集群状态生成集群快照后,实时从管理服务器获取集群快照;

动态路由表管理模块,用于根据获取的集群快照更新动态路由表;所述动态路由表包括业务算法标识和计算服务器地址的映射关系;

业务请求处理模块,用于接收业务请求,获取所述业务请求所对应的业务算法标识;

转发模块,用于根据所述动态路由表将所述业务请求转发至计算服务器集群中与获取的业务算法标识对应的计算服务器。

上述业务请求分配系统、方法和装置,计算服务器集群主动地实时向管理服务器上报集群状态,这样管理服务器就可以实时根据集群状态生成集群快照,接入服务器实时从管理服务器获取集群快照,并根据获取的集群快照更新动态 路由表。从而接入服务器在接收到业务请求后,就可以根据更新的动态路由表分配业务请求。这样当维护人员对计算服务器集群进行变更时,计算服务器集群发生的变动都可以自动、实时地反馈到动态路由表中,可自适应地转发业务请求给相应的计算服务器,而且降低了对维护人员的要求,降低了维护成本。

附图说明

图1为一个实施例中业务请求分配系统的应用环境图;

图2为另一个实施例中业务请求分配系统的应用环境图;

图3为一个实施例中业务请求分配方法的流程示意图;

图4为另一个实施例中业务请求分配方法的流程示意图;

图5为一个实施例中根据动态路由表将业务请求转发至计算服务器集群中与获取的业务算法标识对应的计算服务器的步骤的流程示意图;

图6为再一个实施例中业务请求分配方法的流程示意图;

图7为一个具体应用场景中广告请求分配方法的时序图;

图8为一个实施例中用于实现业务请求分配方法的服务器的结构示意图;

图9为一个实施例中业务请求分配装置的结构框图;

图10为另一个实施例中业务请求分配装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,在一个实施例中,提供了一种业务请求分配系统100,用于实现一种业务请求分配方法。业务请求分配系统100包括:接入服务器102、计算服务器集群104和管理服务器106。其中,接入服务器102构成接入层,计算服务器集群104构成计算层。接入服务器102可以为一个或者多个,接入服务器102统一接收业务请求,将业务请求路由至计算服务器集群104中的计算服务器。计算服务器集群104是若干计算服务器的集合,每个计算服务器具有加载业务 算法并采用该业务算法处理业务请求的功能。管理服务器106可以为一个或者多个,管理服务器106具有共享集群状态、共享集群快照以及通知的功能。

如图2所示,在另一个实施例中,一种业务请求分配系统200包括接入服务器102、计算服务器集群104、管理服务器106和配置服务器108。配置服务器108具有接收维护人员的维护指令并执行相应的维护操作的功能。

如图3所示,在一个实施例中,提供了一种业务请求分配方法,本实施例主要以该方法应用于上述图1中的业务请求分配系统100,以及图2中业务请求分配系统200中的接入服务器102来举例说明。该方法具体包括如下步骤:

步骤302,在管理服务器接收计算服务器集群实时上报的集群状态并实时根据集群状态生成集群快照后,实时从管理服务器获取集群快照。

具体地,参照图4,计算服务器集群中的所有计算服务器会实时向管理服务器上报集群状态。计算服务器集群中的所有计算服务器,可以在各自的状态发生变化时,实时向管理服务器上报集群状态。

集群状态是指能够反映计算服务器集群的状态的信息。在一个实施例中,集群状态包括计算服务器状态和业务算法状态。

计算服务器状态可包括计算服务器是否正常工作、计算服务器的负载状态以及计算服务器所属的计算服务器子集。负载状态可以用相应计算服务器正在处理的业务请求数量来表示,也可以用处理器占用率和/或内存占用率来表示。通过实时的计算服务器状态,可以实时检测出计算服务器集群中各计算服务器各自发生的变化。

进一步地,业务算法状态可包括业务算法启用、业务算法停用以及业务算法版本更新等。其中业务包括用户注册业务、资源请求业务以及云计算业务等。资源请求业务的资源包括广告、媒体文件以及网页等。业务算法可以是任意的用来处理业务请求的计算方法,当业务请求为广告请求时,业务算法包括广告排序算法、广告打分算法以及广告评估算法等。

快照(Snapshot)是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(比如,拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。在一个实施例中,管理服 务器在生成集群快照时,可以在管理服务器第一次写集群状态时复制集群状态的内容以生成集群快照。集群快照可以为XML(Extensible Markup Language,可扩展标记语言)格式。

在一个实施例中,管理服务器生成的集群快照包括业务算法标识、计算服务器地址。在一个实施例中,集群快照包括业务算法标识、计算服务器子集标识和计算服务器地址。其中业务算法标识用于唯一标识出一种业务算法,计算服务器子集是包含于计算服务器集群的若干计算服务器的集合,计算服务器子集标识则用来唯一标识出该计算服务器子集。划分计算服务器子集便于计算服务器的管理以及负载均衡。计算服务器地址则可以用来定位计算服务器的位置,方便通信。

举例说明,集群快照可表示为如下所示:

其中,xml version="1.0"表示采用的XML版本为1.0。encoding="utf-8",表示采用utf-8格式编码方式。Version ver="1"表示集群快照的版本为1。module_name="scoring_1"表示计算服务器子集名称为scoring_1。module_id="10"表示计算服务器子集编号是10。Solist num="1"attr="common"表示算法列表序号为1,属性值为common。So algid="201.1.0"表示业务算法编号为201.1.0,该业务算法编号可以同时表示相应业务算法的版本号,so是linux系统下的动态库文 件的扩展名。machine ip="xxx.xxx.xxx.xxx"port="50000"表示相应的计算服务器IP地址为xxx.xxx.xxx.xxx,端口号为50000。本例子中,业务算法标识包括算法列表序号和业务算法编号,计算服务器子集标识包括计算服务器子集名称和计算服务器子集编号,计算服务器地址包括计算服务器的IP地址和端口号。

接入服务器实时从管理服务器获取集群快照,可以在接收到管理服务器发出的生成集群快照的通知后,立即从管理服务器获取相应的集群快照。接入服务器也可以每隔预设时间间隔从管理服务器请求获取集群快照,该预设时间间隔非常短时可以认为是实时的。

步骤304,根据获取的集群快照更新动态路由表;动态路由表包括业务算法标识和计算服务器地址的映射关系。

路由表主要存储有指向特定网络地址的路径,动态路由表表示该路由表是根据实时获取的集群快照而动态变化的。动态路由表包括业务算法标识和计算服务器地址的映射关系,比如若业务算法标识为业务算法编号,计算服务器地址为计算服务器IP地址和端口号,则动态路由表可表示为业务算法编号与计算服务器IP地址及端口号的映射关系。接入服务器具有路由模块,用于实现路由功能。

步骤306,接收业务请求,获取业务请求所对应的业务算法标识。

具体地,接入服务器可以事先存储业务请求类型和业务算法标识的映射关系,从而接入服务器在接收到业务请求后,根据该映射关系获取该业务请求所对应的业务算法标识。接入服务器也可以直接从业务请求中提取业务请求所携带的业务算法标识。

步骤308,根据动态路由表将业务请求转发至计算服务器集群中与获取的业务算法标识对应的计算服务器。

接入服务器具有路由功能,可根据动态路由表所包括的业务算法标识和计算服务器地址的映射关系,对业务请求进行路由,将业务请求转发至计算服务器集群中与获取的业务算法标识对应的计算服务器。

具体地,接入服务器可从动态路由表中查询获取的业务算法标识所对应的计算服务器地址,从而按照查询的计算服务器地址的路由路径,将业务请求转 发至查询的计算服务器地址所对应的计算服务器。

上述业务请求分配方法,计算服务器集群主动地实时向管理服务器上报集群状态,这样管理服务器就可以实时根据集群状态生成集群快照,接入服务器实时从管理服务器获取集群快照,并根据获取的集群快照更新动态路由表。从而接入服务器在接收到业务请求后,就可以根据更新的动态路由表分配业务请求。这样当维护人员对计算服务器集群进行变更时,计算服务器集群发生的变动都可以自动、实时地反馈到动态路由表中,可自适应地转发业务请求给相应的计算服务器,而且降低了对维护人员的要求,降低了维护成本。

在一个实施例中,动态路由表包括业务算法标识、计算服务器子集标识和计算服务器地址的映射关系。参照图5,步骤308具体包括如下步骤:

步骤502,根据动态路由表,确定业务请求所对应的业务算法标识所对应的计算服务器子集标识。

具体地,动态路由表包括业务算法标识、计算服务器子集标识和计算服务器地址三者的映射关系。比如201.1.0->module 10->xxx.xxx.xxx.xxx,表示业务算法标识为201.1.0的业务算法,在计算服务器子集标识为module 10的计算服务器子集中的计算服务器上启用,且计算服务器子集标识为module 10的计算服务器子集中的一个计算服务器的IP地址为xxx.xxx.xxx.xxx。这样接入服务器就可以根据动态路由表所包括的映射关系,确定业务请求所对应的业务算法标识所对应的计算服务器子集标识。

步骤504,在确定的计算服务器子集标识所对应的多个计算服务器地址中选择计算服务器地址。

具体地,计算服务器子集中包括若干计算服务器,从中选择一个计算服务器来处理业务请求。接入服务器可以从确定的计算服务器子集标识所对应的多个计算服务器地址中随机或者按顺序选择一个计算服务器地址。

在一个实施例中,接入服务器可获取确定的计算服务器子集标识所对应的多个计算服务器地址各自对应的负载状态,从而根据负载状态选择计算服务器地址。

具体地,接入服务器可保存负载状态表,从而根据该负载状态表来选择当 前负载最低的计算服务器地址。接入服务器每转发一个业务请求至计算服务器,则将负载状态表中对应的计算服务器地址所对应的负载数值加1,若接收到该计算服务器反馈的业务数据,则将负载状态表中对应的计算服务器地址所对应的负载数值减1,这样负载状态表就可以实时反映计算服务器集群中各计算服务器的负载变化。

在另一实施例中,接入服务器也可以从管理服务器获取确定的计算服务器子集标识所对应的多个计算服务器地址各自对应的负载状态,从而根据该负载状态表来选择当前负载最低的计算服务器地址。

步骤506,将业务请求转发至选择的计算服务器地址所对应的计算服务器。

具体地,接入服务器可按照选择的计算服务器地址的路由路径,将业务请求转发至选择的计算服务器地址所对应的计算服务器。

本实施例中,动态路由表包括业务算法标识、计算服务器子集标识和计算服务器地址的映射关系,这样计算服务器集群中的计算服务器被划分为多个计算服务器子集,每个计算服务器子集上可以启用相同的业务算法,这样可以根据情况平衡负载,保证对业务请求的处理能够高效地进行。

在一个实施例中,步骤308包括:根据动态路由表,获取与获取的业务算法标识对应的计算服务器地址的负载状态,并根据负载状态选择计算服务器并转发业务请求。

具体地,接入服务器可保存负载状态表,从而根据该负载状态表来选择当前负载最低的计算服务器地址,从而将业务请求转发至该选择的计算服务器地址所对应的计算服务器。接入服务器每转发一个业务请求至计算服务器,则将负载状态表中对应的计算服务器地址所对应的负载数值加1,若接收到该计算服务器反馈的业务数据,则将负载状态表中对应的计算服务器地址所对应的负载数值减1。另外,接入服务器也可以从管理服务器获取确定的计算服务器子集标识所对应的多个计算服务器地址各自对应的负载状态,从而根据该负载状态表来选择当前负载最低的计算服务器地址,从而将业务请求转发至该选择的计算服务器地址所对应的计算服务器。

本实施例中,可以根据计算服务器集群中各计算服务器的负载状态来转发 业务请求,平衡各计算服务器的负载,保证业务请求能够被高效地处理。

在一个实施例中,该业务请求分配方法还包括:管理服务器统计转发的业务请求,根据统计结果动态控制计算服务器集群中的计算服务器上业务算法的启用或者停用。

管理服务器对转发的业务请求的统计结果,包括各业务算法各自对应的业务请求的数量或频率,还可以包括各业务算法各自对应的业务请求数量或频率相对于时间的分布。管理服务器可以对计算服务器集群中的计算服务器上的业务算法进行动态管理,在某个或者某些计算服务器上启用或者停用业务算法。

具体地,若统计的某类型的业务请求数量减少,则可以通过停用某个或者某些计算服务器上的业务算法,以减少加载该业务算法的计算服务器的数量。相应地,若统计的某类型的业务请求数量增加,则可以通过启用某个或者某些计算服务器上的业务算法,以增加加载该业务算法的计算服务器的数量。管理服务器还可以各业务算法各自对应的业务请求数量或频率相对于时间的分布,在不同的时间段内采用不同的启用或者停用业务算法的策略。

本实施例中,根据业务请求的统计结果来动态控制业务算法的启用或者停用,可以动态调整计算服务器集群中用来处理各种业务请求的计算服务器的数量,保证业务请求能够被更加高效地处理。

在一个实施例中,该业务请求分配方法还包括:管理服务器统计转发的业务请求,根据统计结果动态调整计算服务器集群中计算服务器子集的划分。

管理服务器对转发的业务请求的统计结果,包括各业务算法各自对应的业务请求的数量或频率,还可以包括各业务算法各自对应的业务请求数量或频率相对于时间的分布。管理服务器可以在动态控制计算服务器集群中的计算服务器上业务算法的启用或者停用的同时,对计算服务器集群中计算服务器子集的划分进行动态调整,保证业务请求能够被更加高效地处理。

在一个实施例中,该业务请求分配方法还包括:管理服务器在接收到上报的集群状态后,实时通知配置服务器;管理服务器接收配置服务器根据集群状态生成并返回的集群快照。

具体地,参照图2和图6,本实施例中通过配置服务器来生成集群快照,具 体管理服务器在在接收到上报的集群状态后,实时通知配置服务器,使得配置服务器根据上报的集群状态来生成集群快照并向管理服务器返回生成的集群快照,管理服务器接收该集群快照。然后接入服务器就可以实时从管理服务器获取集群快照从而生成动态路由表。

本实施例中,通过增设配置服务器来生成集群快照,将管理服务器的功能分化,减轻管理服务器的压力。

在一个实施例中,该业务请求分配方法还包括:配置服务器或管理服务器接收维护指令,根据维护指令调整计算服务器集群。其中维护指令包括业务算法调整指令和计算服务器子集调整指令。

在一个实施例中,该业务请求分配方法还包括:配置服务器或管理服务器接收业务算法调整指令,根据业务算法调整指令控制计算服务器集群中的计算服务器上业务算法的启用以及停用。

参照图6,本实施例中,维护人员可以通过操作配置服务器或者管理服务器,来触发业务算法调整指令,从而使得配置服务器或者管理服务器根据该业务算法调整指令来控制计算服务器集群中的计算服务器上业务算法的启用以及停用。

这样维护人员通过操作配置服务器或者管理服务器,可以随时根据需要来维护计算服务器集群中各计算服务器上的业务算法,不需要再操作接入服务器或者计算服务器集群,整个业务请求分配系统就可以自适应地更新动态路由表,并且根据动态路由表正常分配业务请求,极大地提高了操作便利性。

在一个实施例中,该业务请求分配方法还包括:配置服务器或管理服务器接收计算服务器子集调整指令,根据计算服务器子集调整指令调整计算服务器集群中计算服务器子集的划分。

本实施例中,维护人员可以通过操作配置服务器或者管理服务器,来触发计算服务器子集调整指令,从而使得配置服务器或者管理服务器根据该计算服务器子集调整指令来调整计算服务器集群中计算服务器子集的划分。

这样维护人员通过操作配置服务器或者管理服务器,可以随时根据需要来维护计算服务器集群中各计算服务器子集的划分,不需要再操作接入服务器或 者计算服务器集群,整个业务请求分配系统就可以自适应地更新动态路由表,并且根据动态路由表正常分配业务请求,极大地提高了操作便利性。

在一个实施例中,该业务请求分配方法还包括:接收被转发业务请求的计算服务器在采用相应的业务算法对业务请求处理后所反馈的业务数据,并将业务数据反馈给用户端。

在一个实施例中,业务请求包括来自用户端的广告请求;业务数据包括广告数据;该业务请求分配方法还包括:接收被转发广告请求的计算服务器在采用相应的业务算法对广告请求处理后所反馈的广告数据,并将广告数据反馈给用户端。

本实施例中,被转发广告请求的计算服务器采用该业务请求所对应的业务算法进行广告计算,比如广告评估、广告筛选以及广告排序,然后将计算获得的广告数据反馈给接入服务器。接入服务器接收该计算服务器发来的广告数据,并将广告数据反馈给用户端。

其中广告请求可以包括用户属性和/或广告展示位信息。其中用户属性包括用户标识、用户年龄段、用户喜好以及用户广告浏览记录等。广告展示位信息包括网页地址、展示位尺寸以及展示位所在页面等。

用户端可以是台式计算机或者移动终端,移动终端包括手机、平板电脑和智能手表。用户端可以在进入预设的页面时触发广告请求,并在接收到接入服务器所反馈的广告数据后,显示和/或播放广告数据。

本实施例中,将业务请求分配方法应用到广告领域,利用业务请求分配系统来高效地处理广告请求,对广告请求做出即时、高效地响应,提高了广告推广的效率。

参照图7,下面用一个具体应用场景来说明上述业务请求分配方法的原理,本应用场景中业务请求为广告请求。具体包括如下步骤:

步骤701,计算服务器集群向管理服务器实时上报集群状态。

步骤702,管理服务器通知配置服务器上报的集群状态。

步骤703,配置服务器根据集群状态生成集群快照并反馈至管理服务器。

步骤704,接入服务器从管理服务器实时下载集群快照。

步骤705,接入服务器根据集群快照生成或更新动态路由表。

步骤706,用户端向接入服务器发送广告请求。

步骤707,接入服务器根据广告请求在动态路由表中查询广告请求的算法标识所对应的服务器地址。

步骤708,接入服务器将广告请求转发至计算服务器集群中与查询到的服务器地址对应的计算服务器。

步骤709,被转发广告请求的计算服务器根据广告请求进行广告计算,获得广告数据。

步骤710,被转发广告请求的计算服务器将广告数据反馈给接入服务器。

步骤711,接入服务器将广告数据反馈给用户端。

参照图1,在一个实施例中,一种业务请求分配系统100,包括接入服务器102、计算服务器集群104和管理服务器106。

计算服务器集群104用于实时向管理服务器106上报集群状态。

具体地,参照图4,计算服务器集群104中的所有计算服务器会实时向管理服务器106上报集群状态。计算服务器集群104中的所有计算服务器,可以在各自的状态发生变化时,实时向管理服务器106上报集群状态。

集群状态是指能够反映计算服务器集群104的状态的信息。在一个实施例中,集群状态包括计算服务器状态和业务算法状态。

计算服务器状态可包括计算服务器是否正常工作、计算服务器的负载状态以及计算服务器所属的计算服务器子集。负载状态可以用相应计算服务器正在处理的业务请求数量来表示,也可以用处理器占用率和/或内存占用率来表示。通过实时的计算服务器状态,可以实时检测出计算服务器集群104中各计算服务器各自发生的变化。

进一步地,业务算法状态可包括业务算法启用、业务算法停用以及业务算法版本更新等。其中业务包括用户注册业务、资源请求业务以及云计算业务等。资源请求业务的资源包括广告、媒体文件以及网页等。业务算法可以是任意的用来处理业务请求的计算方法,当业务请求为广告请求时,业务算法包括广告 排序算法、广告打分算法以及广告评估算法等。

管理服务器106用于实时根据集群状态生成集群快照。

快照是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。在一个实施例中,管理服务器106在生成集群快照时,可以在管理服务器106第一次写集群状态时复制集群状态的内容以生成集群快照。集群快照可以为XML格式。

在一个实施例中,管理服务器106生成的集群快照包括业务算法标识、计算服务器地址。在一个实施例中,集群快照包括业务算法标识、计算服务器子集标识和计算服务器地址。其中业务算法标识用于唯一标识出一种业务算法,计算服务器子集是包含于计算服务器集群104的若干计算服务器的集合,计算服务器子集标识则用来唯一标识出该计算服务器子集。划分计算服务器子集便于计算服务器的管理以及负载均衡。计算服务器地址则可以用来定位计算服务器的位置,方便通信。

接入服务器102用于实时从管理服务器106获取集群快照,并根据获取的集群快照更新动态路由表;动态路由表包括业务算法标识和计算服务器地址的映射关系。

接入服务器102实时从管理服务器106获取集群快照,可以在接收到管理服务器106发出的生成集群快照的通知后,立即从管理服务器106获取相应的集群快照。接入服务器102也可以每隔预设时间间隔从管理服务器106请求获取集群快照,该预设时间间隔非常短时可以认为是实时的。

路由表主要存储有指向特定网络地址的路径,动态路由表表示该路由表是根据实时获取的集群快照而动态变化的。动态路由表包括业务算法标识和计算服务器地址的映射关系,比如若业务算法标识为业务算法编号,计算服务器地址为计算服务器IP地址和端口号,则动态路由表可表示为业务算法编号与计算服务器IP地址及端口号的映射关系。接入服务器102具有路由模块,用于实现路由功能。

接入服务器102还用于接收业务请求,获取业务请求所对应的业务算法标 识,并根据动态路由表将业务请求转发至计算服务器集群104中与获取的业务算法标识对应的计算服务器。

具体地,接入服务器102可以事先存储业务请求类型和业务算法标识的映射关系,从而接入服务器102在接收到业务请求后,根据该映射关系获取该业务请求所对应的业务算法标识。接入服务器102也可以直接从业务请求中提取业务请求所携带的业务算法标识。

接入服务器102具有路由功能,可根据动态路由表所包括的业务算法标识和计算服务器地址的映射关系,对业务请求进行路由,将业务请求转发至计算服务器集群104中与获取的业务算法标识对应的计算服务器。接入服务器102可从动态路由表中查询获取的业务算法标识所对应的计算服务器地址,从而按照查询的计算服务器地址的路由路径,将业务请求转发至查询的计算服务器地址所对应的计算服务器。

上述业务请求分配系统100,计算服务器集群104主动地实时向管理服务器106上报集群状态,这样管理服务器106就可以实时根据集群状态生成集群快照,接入服务器102实时从管理服务器106获取集群快照,并根据获取的集群快照更新动态路由表。从而接入服务器102在接收到业务请求后,就可以根据更新的动态路由表分配业务请求。这样当维护人员对计算服务器集群104进行变更时,计算服务器集群104发生的变动都可以自动、实时地反馈到动态路由表中,而且降低了对维护人员的要求,降低了维护成本。

在一个实施例中,动态路由表包括业务算法标识、计算服务器子集标识和计算服务器地址的映射关系。接入服务器102还用于根据动态路由表,确定业务请求所对应的业务算法标识所对应的计算服务器子集标识;在确定的计算服务器子集标识所对应的多个计算服务器地址中选择计算服务器地址;将业务请求转发至选择的计算服务器地址所对应的计算服务器。

具体地,动态路由表包括业务算法标识、计算服务器子集标识和计算服务器地址三者的映射关系。比如201.1.0->module 10->xxx.xxx.xxx.xxx,表示业务算法标识为201.1.0的业务算法,在计算服务器子集标识为module 10的计算服务器子集中的计算服务器上启用,且计算服务器子集标识为module 10的计算服 务器子集中的一个计算服务器的IP地址为xxx.xxx.xxx.xxx。这样接入服务器102就可以根据动态路由表所包括的映射关系,确定业务请求所对应的业务算法标识所对应的计算服务器子集标识。

计算服务器子集中包括若干计算服务器,从中选择一个计算服务器来处理业务请求。接入服务器102可以从确定的计算服务器子集标识所对应的多个计算服务器地址中随机或者按顺序选择一个计算服务器地址。接入服务器102可按照选择的计算服务器地址的路由路径,将业务请求转发至选择的计算服务器地址所对应的计算服务器。

本实施例中,动态路由表包括业务算法标识、计算服务器子集标识和计算服务器地址的映射关系,这样计算服务器集群104中的计算服务器被划分为多个计算服务器子集,每个计算服务器子集上可以启用相同的业务算法,这样可以根据情况平衡负载,保证对业务请求的处理能够高效地进行。

在一个实施例中,接入服务器102可获取确定的计算服务器子集标识所对应的多个计算服务器地址各自对应的负载状态,从而根据负载状态选择计算服务器地址。

具体地,接入服务器102可保存负载状态表,从而根据该负载状态表来选择当前负载最低的计算服务器地址。接入服务器102每转发一个业务请求至计算服务器,则将负载状态表中对应的计算服务器地址所对应的负载数值加1,若接收到该计算服务器反馈的业务数据,则将负载状态表中对应的计算服务器地址所对应的负载数值减1,这样负载状态表就可以实时反映计算服务器集群104中各计算服务器的负载变化。

在另一实施例中,接入服务器102也可以从管理服务器106获取确定的计算服务器子集标识所对应的多个计算服务器地址各自对应的负载状态,从而根据该负载状态表来选择当前负载最低的计算服务器地址。

在一个实施例中,接入服务器102还用于根据动态路由表,获取与获取的业务算法标识对应的计算服务器地址的负载状态,并根据负载状态选择计算服务器并转发业务请求。

具体地,接入服务器102可保存负载状态表,从而根据该负载状态表来选 择当前负载最低的计算服务器地址,从而将业务请求转发至该选择的计算服务器地址所对应的计算服务器。接入服务器102每转发一个业务请求至计算服务器,则将负载状态表中对应的计算服务器地址所对应的负载数值加1,若接收到该计算服务器反馈的业务数据,则将负载状态表中对应的计算服务器地址所对应的负载数值减1。另外,接入服务器102也可以从管理服务器106获取确定的计算服务器子集标识所对应的多个计算服务器地址各自对应的负载状态,从而根据该负载状态表来选择当前负载最低的计算服务器地址,从而将业务请求转发至该选择的计算服务器地址所对应的计算服务器。

本实施例中,可以根据计算服务器集群104中各计算服务器的负载状态来转发业务请求,平衡各计算服务器的负载,保证业务请求能够被高效地处理。

在一个实施例中,管理服务器106还用于统计接入服务器102转发的业务请求,根据统计结果动态控制计算服务器集群104中的计算服务器上业务算法的启用或者停用;和/或,根据统计结果动态调整计算服务器集群104中计算服务器子集的划分。

管理服务器106对转发的业务请求的统计结果,包括各业务算法各自对应的业务请求的数量或频率,还可以包括各业务算法各自对应的业务请求数量或频率相对于时间的分布。管理服务器106可以对计算服务器集群104中的计算服务器上的业务算法进行动态管理,在某个或者某些计算服务器上启用或者停用业务算法。

具体地,若统计的某类型的业务请求数量减少,则可以通过停用某个或者某些计算服务器上的业务算法,以减少加载该业务算法的计算服务器的数量。相应地,若统计的某类型的业务请求数量增加,则可以通过启用某个或者某些计算服务器上的业务算法,以增加加载该业务算法的计算服务器的数量。管理服务器106还可以各业务算法各自对应的业务请求数量或频率相对于时间的分布,在不同的时间段内采用不同的启用或者停用业务算法的策略。

管理服务器106可以在动态控制计算服务器集群104中的计算服务器上业务算法的启用或者停用的同时,对计算服务器集群104中计算服务器子集的划分进行动态调整,保证业务请求能够被更加高效地处理。

本实施例中,根据业务请求的统计结果来动态控制业务算法的启用或者停用,可以动态调整计算服务器集群104中用来处理各种业务请求的计算服务器的数量,并对计算服务器集群104中计算服务器子集的划分进行动态调整,保证业务请求能够被更加高效地处理。

如图2所示,一种业务请求分配系统200,包括接入服务器102、计算服务器集群104、管理服务器106和配置服务器108。

管理服务器106用于在接收到上报的集群状态后,实时通知配置服务器108。配置服务器108用于根据集群状态生成集群快照并返回给管理服务器106。

具体地,参照图2和图6,本实施例中通过配置服务器108来生成集群快照,具体管理服务器106在在接收到上报的集群状态后,实时通知配置服务器108,使得配置服务器108根据上报的集群状态来生成集群快照并向管理服务器106返回生成的集群快照,管理服务器106接收该集群快照。然后接入服务器102就可以实时从管理服务器106获取集群快照从而生成动态路由表。

本实施例中,通过增设配置服务器108来生成集群快照,将管理服务器106的功能分化,减轻管理服务器106的压力。

在一个实施例中,配置服务器108或管理服务器106用于接收维护指令,根据维护指令调整计算服务器集群104。其中维护指令包括业务算法调整指令和计算服务器子集调整指令。

在一个实施例中,配置服务器108用于接收业务算法调整指令,根据业务算法调整指令控制计算服务器集群104中的计算服务器上业务算法的启用以及停用;接收计算服务器子集调整指令,根据计算服务器子集调整指令调整计算服务器集群104中计算服务器子集的划分;

在一个实施例中,管理服务器106用于接收业务算法调整指令,根据业务算法调整指令控制计算服务器集群104中的计算服务器上业务算法的启用以及停用;接收计算服务器子集调整指令,根据计算服务器子集调整指令调整计算服务器集群104中计算服务器子集的划分。

本实施例中,维护人员可以通过操作配置服务器108或者管理服务器106,来触发业务算法调整指令,从而使得配置服务器108或者管理服务器106根据 该业务算法调整指令来控制计算服务器集群104中的计算服务器上业务算法的启用以及停用。

这样维护人员通过操作配置服务器108或者管理服务器106,可以随时根据需要来维护计算服务器集群104中各计算服务器上的业务算法,不需要再操作接入服务器102或者计算服务器集群104,整个业务请求分配系统就可以自适应地更新动态路由表,并且根据动态路由表正常分配业务请求,极大地提高了操作便利性。

维护人员可以通过操作配置服务器108或者管理服务器106,来触发计算服务器子集调整指令,从而使得配置服务器108或者管理服务器106根据该计算服务器子集调整指令来调整计算服务器集群104中计算服务器子集的划分。

这样维护人员通过操作配置服务器108或者管理服务器106,可以随时根据需要来维护计算服务器集群104中各计算服务器子集的划分,不需要再操作接入服务器102或者计算服务器集群104,整个业务请求分配系统就可以自适应地更新动态路由表,并且根据动态路由表正常分配业务请求,极大地提高了操作便利性。

在一个实施例中,接入服务器102还用于接收被转发业务请求的计算服务器在采用相应的业务算法对业务请求处理后所反馈的业务数据,并将业务数据反馈给用户端。

在一个实施例中,业务请求包括来自用户端的广告请求;业务数据包括广告数据;接入服务器102还用于接收被转发广告请求的计算服务器在采用相应的业务算法对广告请求处理后所反馈的广告数据,并将广告数据反馈给用户端。

本实施例中,被转发广告请求的计算服务器采用该业务请求所对应的业务算法进行广告计算,比如广告评估、广告筛选以及广告排序,然后将计算获得的广告数据反馈给接入服务器102。接入服务器102接收该计算服务器发来的广告数据,并将广告数据反馈给用户端。

其中广告请求可以包括用户属性和/或广告展示位信息。其中用户属性包括用户标识、用户年龄段、用户喜好以及用户广告浏览记录等。广告展示位信息包括网页地址、展示位尺寸以及展示位所在页面等。

用户端可以是台式计算机或者移动终端,移动终端包括手机、平板电脑和智能手表。用户端可以在进入预设的页面时触发广告请求,并在接收到接入服务器102所反馈的广告数据后,显示和/或播放广告数据。

本实施例中,将业务请求分配方法应用到广告领域,利用业务请求分配系统来高效地处理广告请求,对广告请求做出即时、高效地响应,提高了广告推广的效率。

如图8所示,在一个实施例中,提供了一种服务器800,可作为接入服务器102,用于实现上述各个实施例的业务请求分配方法。服务器800包括通过系统总线连接的处理器、内存储器和非易失性存储介质。其中处理器具有计算功能和控制整个服务器800工作的功能,该处理器被配置为执行一种业务请求分配方法。非易失性存储介质包括磁存储介质、光存储介质和闪存式存储介质。非易失性存储介质存储有操作系统和一种业务请求分配装置,该业务请求分配装置用于实现一种业务请求分配方法。内存储器用来为操作系统和业务请求分配装置提供高速缓存。

如图9所示,在一个实施例中,提供了一种业务请求分配装置900,具有实现上述各个实施例的业务请求分配方法的功能模块。该业务请求分配装置900包括:集群快照获取模块902、动态路由表管理模块904、业务请求处理模块906和转发模块908。

集群快照获取模块902,用于在管理服务器接收计算服务器集群实时上报的集群状态并实时根据集群状态生成集群快照后,实时从管理服务器获取集群快照。

动态路由表管理模块904,用于根据获取的集群快照更新动态路由表;动态路由表包括业务算法标识和计算服务器地址的映射关系。

业务请求处理模块906,用于接收业务请求,获取业务请求所对应的业务算法标识。

转发模块908,用于根据动态路由表将业务请求转发至计算服务器集群中与获取的业务算法标识对应的计算服务器。

在一个实施例中,动态路由表包括业务算法标识、计算服务器子集标识和计算服务器地址的映射关系;

转发模块908还用于根据动态路由表,确定业务请求所对应的业务算法标识所对应的计算服务器子集标识;在确定的计算服务器子集标识所对应的多个计算服务器地址中选择计算服务器地址;将业务请求转发至选择的计算服务器地址所对应的计算服务器。

在一个实施例中,转发模块908还用于根据动态路由表,获取与获取的业务算法标识对应的计算服务器地址的负载状态,并根据负载状态选择计算服务器并转发业务请求。

如图10所示,在一个实施例中,业务请求包括来自用户端的广告请求;业务请求分配装置900还包括:广告数据处理模块910。

广告数据处理模块910,用于接收被转发广告请求的计算服务器在采用相应的业务算法对广告请求处理后所反馈的广告数据,并将广告数据反馈给用户端。

上述业务请求分配装置900,计算服务器集群主动地实时向管理服务器上报集群状态,这样管理服务器就可以实时根据集群状态生成集群快照,业务请求分配装置900实时从管理服务器获取集群快照,并根据获取的集群快照更新动态路由表。从而业务请求分配装置900在接收到业务请求后,就可以根据更新的动态路由表分配业务请求。这样当维护人员对计算服务器集群进行变更时,计算服务器集群发生的变动都可以自动、实时地反馈到动态路由表中,可自适应地转发业务请求给相应的计算服务器,而且降低了对维护人员的要求,降低了维护成本。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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