一种后端负载均衡方法、装置、系统及存储介质与流程

文档序号:21926689发布日期:2020-08-21 14:47阅读:157来源:国知局
一种后端负载均衡方法、装置、系统及存储介质与流程

本申请涉及计算机网络负载均衡技术领域,尤其涉及一种后端负载均衡方法、装置、系统及存储介质。



背景技术:

对于吞吐量较大的b/s、和c/s网络服务,因为不可能将所有业务都集中在一台算力能够满足全部业务需要的服务器上,需要将同类任务分配给多台计算机完成,传统上通常采用集群的技术将多台计算机并入到一个网络当中,实现对多任务同时提供服务,或是服务的一部分,每台计算机的实际处理能力不一样,在不同时间所负载的任务量也不一样,为了使得任务能够合理的分配给所有计算机,有效的利用现有的计算资源,在分配过程中通常会涉及到集群中计算机的负载均衡问题。

现有的负载均衡通常是基于ip地址的随机分配、轮询、以及根据服务器性能事先制定的权重,以及依据各个计算机响应的速度进行分配,然而涉及到计算机负载以及运算性能的实时变化以及网络传输本身的不确定性,容易造成任务分配的不合理而影响算力的有效利用。



技术实现要素:

本申请实施例的目的在于提出一种后端负载均衡方法、装置、系统及存储介质,能够在计算机负载、运算性能、网络环境本身实时变化的情况下合理分配任务负载。

为了解决上述技术问题,本申请实施例提供一种后端负载均衡方法,采用了如下所述的技术方案:

一种后端负载均衡方法,应用于应用服务器,包括以下步骤:根据至少一种当前业务,确定完成一项当前业务所需要消耗的开销并传输至代理服务器,以使所述代理服务器确定目标标准事务开销;获取所述代理服务器确定的目标标准事务开销,并以所述目标标准事务开销为基准,衡量当前应用服务器业务的开销,确定性能评分;根据所述性能评分估算剩余算力;将所述估算的剩余算力传输至所述代理服务器,以使所述代理服务器根据所述剩余算力的排序分配待分配业务。

进一步的,所述以所述目标标准事务开销为基准,衡量当前应用服务器业务的开销,确定性能评分,具体包括:根据单位时间内处理的业务总量和目标标准事务开销,确定所述应用服务器当前的运算能力;根据应用服务器的冗余占比,确定所述应用服务器当前资源使用率;根据所述应用服务器当前的资源使用率和对应的运算能力,确定应用服务器的性能评分。

进一步的,所述根据单位时间内处理的业务总量和目标标准事务开销,确定所述应用服务器当前的运算能力,具体包括:监控单位时间内的每种业务的业务量;根据完成每种所述业务的开销和目标标准事务开销的比值,确定与所述业务相对应的标准事务比例;根据每种所述业务的业务量以及所述标准事务比例,确定每种业务的相对业务量;累加所有种类的相对业务量,作为单位时间内所述应用服务器处理的运算能力。

进一步的,所述根据所述性能评分估算剩余算力,具体包括:实时获取待分配业务的业务量;确定所述待分配业务的业务量加载在当前应用服务器后的总任务量;根据性能评分和所述总任务量,评估当前处理的业务加载在所述应用服务器后,应用服务器的剩余算力。

为了解决上述技术问题,本申请实施例还提供一种应用于代理服务器的后端负载均衡方法,采用了如下所述的技术方案:

一种后端负载均衡方法,应用于代理服务器,包括下述步骤:接收各应用服务器完成至少一项当前业务所需要消耗的开销,并根据所述开销确定目标标准事务开销;将所述目标标准事务开销和待分配业务的业务量发送至应用服务器,并获取相应的应用服务器的剩余算力;对获取的所述剩余算力进行排序,并根据所述剩余算力的排序分配所述待分配业务。

进一步的,所述据所述开销确定目标标准事务开销,具体包括:分别获取多台应用服务器上确定的完成至少一种业务的所述开销;根据出现频率和相应的业务量对所述至少一种业务设置权重,并确定目标标准事务;根据完成至少一种业务所述开销及对应的权重,确定完成目标标准事务的目标标准事务开销。

为了解决上述技术问题,本申请实施例还提供一种应用于应用服务器的、后端负载均衡装置,采用了如下所述的技术方案:

一种后端负载均衡装置,应用于应用服务器,包括:

传输模块,用于根据至少一种当前业务,确定完成一项当前业务所需要消耗的开销并传输至代理服务器,以使所述代理服务器确定目标标准事务开销;

性能评分模块,用于获取代理服务器确定的目标标准事务开销,并以所述目标标准事务开销为基准,衡量当前应用服务器业务的开销,确定性能评分;

剩余算力确定模块,用于根据所述性能评分估算剩余算力;

所述传输模块还用于将所述估算的剩余算力传输至所述代理服务器,以使所述代理服务器根据所述剩余算力的排序分配所述待分配业务。

为了解决上述技术问题,本申请实施例还提供一种应用于代理服务器的、后端负载均衡装置,采用了如下所述的技术方案:

一种后端负载均衡装置,应用于代理服务器,包括:

目标标准事务开销确定模块,用于接收应用服务器完成至少一项当前业务所需要消耗的开销,并根据所述开销确定目标标准事务开销;

剩余算力获取模块,用于将所述目标标准事务开销和待分配业务的业务量发送至应用服务器,并获取相应的应用服务器的剩余算力;及

任务分配模块,用于对获取的所述剩余算力进行排序,并根据所述剩余算力的排序分配所述待分配业务。

为了解决上述技术问题,本申请实施例还提供一种后端负载均衡系统,包括应用服务器以及与所述应用服务器通信连接的代理服务器,所述应用服务器包括第一存储器和第一处理器,所述第一存储器中存储有计算机程序,所述第一处理器执行所述计算机程序时实现如上述的应用于应用服务器的后端负载均衡方法的步骤;所述代理服务器包括第二存储器和第二处理器,所述第二存储器中存储有计算机程序,所述第二处理器执行所述计算机程序时实现上述的应用于代理服务器的后端负载均衡方法的步骤。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的应用于应用服务器的后端负载均衡方法的步骤,或者如上述的应用于代理服务器的后端负载均衡方法的步骤。

与现有技术相比,本申请实施例主要有以下有益效果:通过根据至少一种当前业务的开销以确定一个目标标准事务开销,通过目标标准事务开销进行一台应用服务器的性能评分,并且根据其性能评分结合当前的待分配的业务的业务量估算将待分配的业务分配给对应的应用服务器,则该应用服务器的剩余算力,通过代理服务器收集应用服务器的剩余算力并进行排序,根据排序结果将任务分配给剩余算力较高的应用服务器,如此在进行负载均衡的过程中,根据各个应用服务器实时的性能进行任务的分配,保证硬件资源的有效利用,提高业务处理效率。

附图说明

为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请可以应用于其中的示例性系统架构图;

图2根据本申请用于应用服务器端的一种后端负载均衡方法的一个实施例的流程图;

图3是图2中步骤s200的一种具体实施方式的流程图;

图4是图3中步骤s201的一种具体实施方式的流程图;

图5是图2中步骤s300的一种具体实施方式的流程图;

图6根据本申请用于代理服务器端的一种后端负载均衡方法的一个实施例的流程图;

图7是图6中步骤s500的一种具体实施方式的流程图;

图8是根据本申请的用于应用服务器端的一种后端负载均衡装置的一个实施例的结构示意图;

图9是根据本申请的用于代理服务器端的一种后端负载均衡装置的一个实施例的结构示意图;

图10是根据本申请的系统的一个实施例的结构示意图。

附图标记:

200——应用服务器端、201——传输模块、202——性能评分模块、203——剩余算力确定模块、300——代理服务器端、301——目标标准事务开销确定模块、302——剩余算力获取模块、303——任务分配模块。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104代理服务器105和应用服务器106。网络104用以在终端设备101、102、103和代理服务器105或应用服务器106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与代理服务器105或应用服务器106交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

代理服务器105或应用服务器106可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。

需要说明的是,本申请实施例所提供的一种后端负载均衡方法一般由服务器执行,相应地,一种后端负载均衡装置一般设置于服务器中。

应该理解,图1中的终端设备、网络和各服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、代理服务器和应用服务器。

继续参考图2,示出了根据本申请的一种后端负载均衡方法的一个实施例的流程图。所述的一种后端负载均衡方法,用于应用服务器端,包括以下步骤:

步骤s100,根据至少一种当前业务,确定完成一项当前业务所需要消耗的开销并传输至代理服务器,以使所述代理服务器确定目标标准事务开销。

在本实施例中,一种后端负载均衡方法运行于其上的电子设备(例如图1所示的务器)可以通过有线连接方式或者无线连接方式根据至少一种当前业务,确定完成一项当前业务所需要消耗的开销并传输至代理服务器,以使所述代理服务器确定目标标准事务开销。需要指出的是,上述无线连接方式可以包括但不限于3g/4g连接、wifi连接、蓝牙连接、wimax连接、zigbee连接、uwb(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。

具体的,根据应用服务器的性能进行业务的分配,首先需要对应用服务器的性能进行一个统一的标定既目标标准事务开销,以标识每台应用服务器实时的处理能力,并根据其实时的处理能力进行业务分配,将业务分配给处理能力尚可的应用服务器,而避免将业务分配给性能有限的应用服务器。

因为计算应用服务器的业务处理能力,需要根据具体业务的具体处理能力来标的,但是业务服务器所处理的业务类型种类并不唯一,不同的业务类型所需要消耗的运算资源以及使用的时间并不一样,具体而言,一些业务的处理更注重计算机数学运算,而另一些业务的处理更依赖于应用服务器逻辑运算的能力,还有的业务对存储器(内存)的占用较高。如此,并不能简单的通过对一种或者几种业务的处理能力,来标的应用服务器的运算能力。应用服务器的运算能力需要根据对实时的当前业务的处理能力进行判断,需要定义一种目标标准事务开销,其他业务类型所产生的开销大小与目标标准事务开销相对比,统一以目标标准事务开销体现。

目标标准事务开销在代理服务器处进行计算,应用服务器将完成至少一种当前业务所需要的消耗传输至代理服务器作为目标标准事务开销计算的依据。在一种实施例当中所有的应用服务器均向代理服务器提供其处理一组或多组当前业务所需消耗的开销,供代理服务器从全局上确定目标标准事务开销,以平衡的确定对代理服务器进行性能判断的基准。

其中当前业务,为各个应用服务器当前正在处理的业务;

标准事务,为代理服务器根据从应用服务器获取的当前业务确定的一种虚拟的业务,与上述当前业务不同,标准事务并不真实存在,只是根据若干当前业务产生的度量单位,用来衡量各个应用服务器当前正在处理的任务量。

在一种实施例当中,可以根据获取的若干当前业务所消耗的计算机硬件资源的开销,进行平均确定;在另一种实施例当中,可以根据当前任务出现频率、占总任务数量的比例等因素进行适当加权,并确定最终的标准事务,标准事务随当前业务的变化而实时变动。在一种实施例当中,设定一个时间阈值,在一段时间过后,代理服务器自行更新标准事务,以保证标准事务始终能够与各个应用服务器所处理的当前业务相适应,高效的评价各个用用服务器处理任务的任务量。

步骤s200,获取所述代理服务器确定的目标标准事务开销,并以所述目标标准事务开销为基准,衡量当前应用服务器业务的开销,确定性能评分。

目标标准事务开销是实时变动的,根据目标标准事务开销以及应用服务器所具备的硬件资源进行运算,即可产生实时的性能评分,通过该评分实时的标记应用服务器的业务处理能力。在一种实施例当中,目标标准事务开销,分别记载了对不同种类运算,以及存储能力的衡量标准,通过每台应用服务器相应的性能与上述衡量标准进行对比,即可清晰的确定该应用服务器的各项相应性能的水平,再加之以加权或相加即可得到一个客观的性能评分。

其中,应用服务器设置有多个,各个服务器根据从代理服务器获取的目标标准事务开销和当前所处理的业务,确定自身的性能评分。

应用服务器的性能评分,反映了应用服务器的算力,也就是处理业务的能力。应用服务器持续处于运行状态,受硬件性能波动,以及操作系统以及其他维护性质的程序对硬件资源的占用,不能简单通过硬件的参数反应应用服务器的实时性能,通过应用服务器在单位时间内所处理任务量并以目标标准事务开销作为计量单位进行计算,能够确定应用服务器在单位时间内,实际运算能力。

步骤s300,根据所述性能评分估算剩余算力。

确定了应用服务器的性能评分之后,根据待分配业务,确定将当前任务分配给应用服务器之后,应用服务器的剩余算力,通常来讲,应用服务器的剩余算力剩余的越多,对于业务的处理就越稳定,应用服务器也能消耗更少的资源,用更快的速度实现对业务的处理。

在一种实施例当中,根据性能评分减去完成待分配业务的业务量所需开销,确定剩余算力,其中待分配业务的业务量通过目标标准事务开销标的。

步骤s400,将所述估算的剩余算力传输至所述代理服务器,以使所述代理服务器根据所述剩余算力的排序分配待分配业务。

各个应用服务器将其剩余算力汇总到代理服务器上,供代理服务器统筹选取剩余算力较多的应用服务器分配待分配业务,该方案能够将待分配业务合理的分配到相应的应用服务器上,如此有效利用各个应用服务器所提供的算力,提高业务处理效率。

进一步的,所述以所述目标标准事务开销为基准,衡量当前应用服务器业务的开销,确定性能评分,具体包括:

步骤s201,根据单位时间内处理的业务总量和目标标准事务开销,确定所述应用服务器当前的运算能力。

根据单位时间内的业务总量,并通过目标标准事务开销表示应用服务器在单位时间内能够处理的业务量,以定量的确定单位时间内应用服务器的运算能力。通常应用服务器的运算能力可以根据处理器计算速度、网络访交互速度和存储器存储速度等具体指标体现。

步骤s202,根据应用服务器的冗余占比,确定所述应用服务器当前资源使用率。

应用服务器的运算能力,无法代表其实际的整体性能,因为在任何情况下,应用服务器均留有部分性能上的冗余,来处理浮动的运算开销,将应用服务器的冗余考虑进应用服务器的运算能力后,才能整体的反应应用服务器整体的性能得到其性能得分。

在实时的状态下,不同的业务服务器根据业务不同,和运算情况的不同,根据应用服务器自身监控获取的冗余占比p,确定应用服务器当前的资源使用率q=1-p。

步骤s203,根据所述应用服务器当前的资源使用率和对应的运算能力,确定应用服务器的性能评分。

根据性能评分m=当前的运算能力/q确定应用服务器的性能评分。可选的,通过多次计算取均值的形式计算性能评分能够综合考虑到各种数据类型处理时的具体状态,更加客观的反应应用服务器的性能。

该方案能够根据应用服务器实时的资源使用率,确定应用服务器实时的性能评分,客观反映应用服务器的性能。

该方案能够考虑到应用服务器的冗余性能,准确的反应应用服务器的业务处理能力。

进一步的,所述根据单位时间内处理的业务总量和目标标准事务开销,确定所述应用服务器当前的运算能力,具体包括:

步骤s2011,监控单位时间内的每种业务的业务量。

计算单位时间内的运算能力,是根据实时运行环境下的业务处理量分别进行计算的,因为不同时间点,应用服务器处理的业务种类和业务量都是不同的,而在同一时间段内,应用服务器可能会同时处理多种业务,所以需要实时计算出当前状态下处理的至少一种业务的业务量。

步骤s2012,根据完成每种所述业务的开销和目标标准事务开销的比值,确定与所述业务相对应的标准事务比例。

根据实时运行环境下需要处理的每种业务的开销与目标标准事务开销的比值确定所述业务相对应的标准事务比例,将当前处理的所有业务的开销,以目标标准事务开销为单位通过标准事务比例进行表示。如此才能进行当前业务整体开销的定量计算。

步骤s2013,根据至少一种所述业务的业务量以及所述标准事务比例,确定至少一种业务的相对业务量。

根据每种当前所处理的业务的标准事务比例以及对应的当前处理的业务的业务量,计算出通过目标标准事务开销为基准表示的相对业务量。

在一种实施例当中,目标标准事务开销包括处理器的运算能力、存储器占用量、总线带宽占用、网络带宽占用等,当前所处理的业务的业务量也有相应的参数与目标标准事务开销相对应,以目标标准事务开销的各个参数作为基准,计算当前所处理的业务相对于目标标准事务的相对业务量。

将所有当前处理的业务进行乘积和加和,以确定当前所处理的相对业务量。具体的,将当前处理的每个业务,分别与与其相对应的标准事务比例乘积,计算出每个业务的相对业务量,并且将每个业务的相对业务量进行加和以确定应用服务器当前所处理的业务的相对业务量。

步骤s2014,累加所有种类的相对业务量,作为单位时间内所述应用服务器处理的运算能力。

将所有当前处理的业务进行乘积和加和以确定当前所处理的相对业务量的总量,作为单位时间内所述应用服务器处理器的运算能力。

该方案能够根据目标标准事务开销实时变化,以及应用服务器实时处理任务,确定单位时间内应用服务器的运算能力。以提升应用服务器的硬件利用率。

进一步的,所述根据当前的运算能力以及应用服务器的冗余性能确定应用服务器的性能评分,具体包括:

该方案能够根绝当前的硬件情况和任务处理情况,精确的提供应用服务器的性能评分

进一步的,所述根据所述性能评分估算剩余算力,具体包括:

步骤s301,实时获取待分配业务的业务量。

根据待分配业务的业务量确定当前业务分配之后应用服务器的剩余算力,而当前业务的业务量通过实时获取确定。

步骤s302,确定所述待分配业务的业务量加载在当前应用服务器后的总任务量。

通过目标标准事务开销表示当前处理的事务量,并且结合应用服务器已被分配的业务总量,确定如果将当前处理的事务量加载到该业务服务器,所要处理的总任务量。

步骤s303,根据性能评分和所述总任务量,评估当前处理的业务加载在所述应用服务器后,应用服务器的剩余算力。

根据当前应用服务器的性能评分,结合当前业务量后所消耗的计算能力确定如果将当前业务量加载在所述应用服务器之后,该应该用服务器所剩余的运算能力。

在实际操作过程当中,应用服务器可以自行计算剩余算力,并将结果上传给代理服务器供代理服务器进行排序,或者是将性能评分和总任务量传输至代理服务器,并通过代理服务器进行实时计算以确定应用服务器的剩余算力。

该方案能够根据每台应用服务器实时的硬件资源和当前所负载的任务,更准确的确定该应用服务器的剩余算力。

为了解决上述技术问题,本申请实施例还提供一种后端负载均衡方法,采用了如下所述的技术方案:

一种后端负载均衡方法,应用于代理服务器,包括下述步骤:

步骤s500,接收各应用服务器完成至少一项当前业务所需要消耗的开销,并根据所述开销确定目标标准事务开销。

目标标准事务开销在代理服务器处进行计算,应用服务器将完成至少一种当前业务所需要的消耗传输至代理服务器作为目标标准事务开销计算的依据。在一种实施例当中所有的应用服务器均向代理服务器提供其处理一组或多组当前业务所需消耗的开销,供代理服务器从全局上确定目标标准事务开销,以平衡的确定对代理服务器进行性能判断的基准。

在获取至少一组应用服务器所提供的当前业务所需的开销后,通过将所有的开销整合来确定一个目标标准事务开销。在一种实施例当中,可以根据不同当前业务对应的业务数量进行加权,以针对出现频率更高的当前业务进行运算,根据不同的当前业务所对应的开销进行加权以确定一个目标标准事务开销。目标标准事务开销不是针对某个具体的业务所要花费的开销,而是作为一个基准衡量和计量每种具体业务所需要的开销。

步骤s600,将所述目标标准事务开销和待分配业务的业务量发送至应用服务器,并获取相应的应用服务器的剩余算力。

确定了应用服务器的性能评分之后,根据待分配业务,确定将当前任务分配给应用服务器之后,应用服务器的剩余算力,通常来讲,应用服务器的剩余算力剩余的越多,对于业务的处理就越稳定,应用服务器也能消耗更少的资源,用更快的速度实现对业务的处理。

步骤s700,对获取的所述剩余算力进行排序,并根据所述剩余算力的排序分配所述待分配业务。

当接收到至少一组应用服务器的剩余算力之后,对至少一组应用服务器的剩余算力进行排序,通常选取剩余算力最高的应用服务器分配当前待分配的任务,也可以将待分配的任务随机的,或指定的分配给剩余算力较高的几组应用服务器中的一组进行处理。该方案能够根据应用服务器所剩余的资源进行任务的分配,充分使用硬件资源。

进一步的,步骤s500,据所述开销确定目标标准事务开销,具体包括:

步骤s501,分别获取多台应用服务器上确定的完成至少一种业务的所述开销。

步骤s502,根据出现频率和相应的业务量对所述至少一种业务设置权重,并确定目标标准事务。

步骤s503,根据完成至少一种业务所述开销及对应的权重,确定完成目标标准事务的目标标准事务开销。

具体的,通过多台应用服务器获取每台服务器所处理的业务,业务种类包括一种或者多种,当业务种类不唯一时,将每种业务和对应完成该业务所需的开销获取到代理服务器上,根据不同业务出现的频率,和业务本身的业务量大小能够估算当前状态下,处理的业务的业务量,即目标标准事务;同时根据不同应用服务器完成这些业务所花费的开销,确定目标标准事务开销,根据当前应用服务器的处理能力和业务量,确定一个用于衡量所有应用服务器运算能力的标准。该方案能够提升计算应用服务器算力时的效率。

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

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

进一步参考图8,作为对上述图2所示方法的实现,本申请提供了应用于应用服务器的一种后端负载均衡装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

一种后端负载均衡装置,应用于应用服务器端200,包括:传输模块201,性能评分模块202,剩余算力确定模块203。

传输模块201,用于根据至少一种当前业务,确定完成一项当前业务所需要消耗的开销并传输至代理服务器,以使所述代理服务器确定目标标准事务开销;还用于将所述估算的剩余算力传输至所述代理服务器,以使所述代理服务器根据所述剩余算力的排序分配所述待分配业务;

因为计算应用服务器的业务处理能力,需要根据具体业务的具体处理能力来标的,但是业务服务器所处理的业务类型种类并不唯一,不同的业务类型所需要消耗的运算资源以及使用的时间并不一样,具体而言,一些业务的处理更注重计算机数学运算,而另一些业务的处理更依赖于应用服务器逻辑运算的能力,还有的业务对存储器(内存)的占用较高。如此,并不能简单的通过对一种或者几种业务的处理能力,来标的应用服务器的运算能力。应用服务器的运算能力需要根据对实时的当前业务的处理能力进行判断,需要定义一种目标标准事务开销,其他业务类型所产生的开销大小与目标标准事务开销相对比,统一以目标标准事务开销体现。

目标标准事务开销在代理服务器处进行计算,应用服务器将完成至少一种当前业务所需要的消耗传输至代理服务器作为目标标准事务开销计算的依据。在一种实施例当中所有的应用服务器均向代理服务器提供其处理一组或多组当前业务所需消耗的开销,供代理服务器从全局上确定目标标准事务开销,以平衡的确定对代理服务器进行性能判断的基准。

各个应用服务器将其剩余算力汇总到代理服务器上,供代理服务器统筹选取剩余算力较多的应用服务器分配待分配业务,该方案能够将待分配业务合理的分配到相应的应用服务器上,如此有效利用各个应用服务器所提供的算力。

性能评分模块202,用于获取代理服务器确定的目标标准事务开销,并以所述目标标准事务开销为基准,衡量当前应用服务器业务的开销,确定性能评分;

目标标准事务开销是实时变动的,根据目标标准事务开销以及应用服务器所具备的硬件资源进行运算,即可产生实时的性能评分,通过该评分实时的标记应用服务器的业务处理能力。在一种实施例当中,目标标准事务开销,分别记载了对不同种类运算,以及存储能力的衡量标准,通过每台应用服务器相应的性能与上述衡量标准进行对比,即可清晰的确定该应用服务器的各项相应性能的水平,再加之以加权或相加即可得到一个客观的性能评分。

剩余算力确定模块203,用于获取待分配业务的业务量,并且根据所述性能评分估算剩余算力。

确定了应用服务器的性能评分之后,根据待分配业务,确定将当前任务分配给应用服务器之后,应用服务器的剩余算力,通常来讲,应用服务器的剩余算力剩余的越多,对于业务的处理就越稳定,应用服务器也能消耗更少的资源,用更快的速度实现对业务的处理。该方案能够综合多台应用服务器处理的硬件情况和处理的业务情况,确定一个统一标准,根据当前应用服务器的负载和硬件情况精确确定其剩余算力。

进一步的,性能评分模块202还包括:

运算能力确定子模块,用于根据单位时间内处理的业务总量和目标标准事务开销,确定所述应用服务器当前的运算能力。

资源使用率确定子模块,用于根据应用服务器的冗余占比,确定所述应用服务器当前资源使用率。

性能评分确定子模块,用于根据所述应用服务器当前的资源使用率和对应的运算能力,确定应用服务器的性能评分。

该方案能够考虑到应用服务器的冗余性能,准确的反应应用服务器的业务处理能力。

进一步的,所述剩余算力确定模块203还包括:

待分配业务获取子模块,用于实时获取待分配业务的业务量。

总任务量确定子模块,用于确定所述待分配业务的业务量加载在当前应用服务器后的总任务量。

剩余算力确定子模块,用于根据性能评分和所述总任务量,评估当前处理的业务加载在所述应用服务器后,应用服务器的剩余算力。

该方案能够根据每台应用服务器实时的硬件资源和当前所负载的任务,更准确的确定该应用服务器的剩余算力。

进一步参考图9,作为对上述图2所示方法的实现,本申请提供了应用于代理服务器的一种后端负载均衡装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图9所示,本实施例所述的一种后端负载均衡装置,应用于代理服务器端300,包括:目标标准事务开销确定模块301、剩余算力获取模块302、任务分配模块303。其中:

目标标准事务开销确定模块301,用于接收应用服务器完成至少一项当前业务所需要消耗的开销,并根据所述开销确定目标标准事务开销。

目标标准事务开销在代理服务器处进行计算,应用服务器将完成至少一种当前业务所需要的消耗传输至代理服务器作为目标标准事务开销计算的依据。在一种实施例当中所有的应用服务器均向代理服务器提供其处理一组或多组当前业务所需消耗的开销,供代理服务器从全局上确定目标标准事务开销,以平衡的确定对代理服务器进行性能判断的基准。

在获取至少一组应用服务器所提供的当前业务所需的开销后,通过将所有的开销整合来确定一个目标标准事务开销。在一种实施例当中,可以根据不同当前业务对应的业务数量进行加权,以针对出现频率更高的当前业务进行运算,根据不同的当前业务所对应的开销进行加权以确定一个目标标准事务开销。目标标准事务开销不是针对某个具体的业务所要花费的开销,而是作为一个基准衡量和计量每种具体业务所需要的开销。

剩余算力获取模块302,用于将所述目标标准事务开销和待分配业务的业务量发送至应用服务器,并获取相应的应用服务器的剩余算力。

确定了应用服务器的性能评分之后,根据待分配业务,确定将当前任务分配给应用服务器之后,应用服务器的剩余算力,通常来讲,应用服务器的剩余算力剩余的越多,对于业务的处理就越稳定,应用服务器也能消耗更少的资源,用更快的速度实现对业务的处理。

任务分配模块303,用于对获取的所述剩余算力进行排序,并根据所述剩余算力的排序分配所述待分配业务。

当接收到至少一组应用服务器的剩余算力之后,对至少一组应用服务器的剩余算力进行排序,通常选取剩余算力最高的应用服务器分配当前待分配的任务,也可以将待分配的任务随机的,或指定的分配给剩余算力较高的几组应用服务器中的一组进行处理。该方案能够根据应用服务器所剩余的资源进行任务的分配,充分使用硬件资源。

进一步的,所述目标标准事务开销确定模块301包括:

业务开销获取子模块,用于分别获取多台应用服务器上确定的完成至少一种业务的所述开销。

目标标准事务确定子模块,用于根据出现频率和相应的业务量对所述至少一种业务设置权重,并确定目标标准事务。

目标标准事物开销子模块,用于根据完成至少一种业务所述开销及对应的权重,确定完成目标标准事务的目标标准事务开销。

该方案能够提升计算应用服务器算力时的效率。

为解决上述技术问题,本申请实施例还提供后端负载均衡系统。具体请参阅图10,图10为本实施例后端负载均衡系统基本结构框图。

所述后端负载均衡系统包括应用服务器以及与所述应用服务器通信连接的代理服务器,所述应用服务器包括第一存储器61和第一处理器62,所述第一存储器61中存储有第一计算机程序,所述第一处理器61执行所述第一计算机程序时实现如上所述应用于应用服务器的一种后端负载均衡方法;所述代理服务器包括第二存储器64和第二处理器65,所述第二存储器64中存储有第二计算机程序,所述第二处理器65执行所述第二计算机程序时实现如上所述应用于代理服务器的一种后端负载均衡方法。其中,代理服务器包括通过系统总线相互通信连接第一存储器61、第一处理器62、第一网络接口63,应用服务器包括第二存储器64、第二处理器65、第二网络接口66。需要指出的是,图中仅示出了具有组件61-66的包括了代理服务器和应用服务器的后端负载均衡系统,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的系统所包括的代理服务器和应用服务器是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述后端负载均衡系统可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述后端负载均衡系统可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述第一存储器61或第二存储器64至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述第一存储器61或第二存储器64可以是所述后端负载均衡系统的内部存储单元,例如该后端负载均衡系统的硬盘或内存。在另一些实施例中,所述第一存储器61或第二存储器64也可以是所述后端负载均衡系统6的外部存储设备,例如后端负载均衡系统上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述第一存储器61或第二存储器64还可以既包括后端负载均衡系统的内部存储单元也包括其外部存储设备。本实施例中,所述第一存储器61或第二存储器64通常用于存储安装于所述后端负载均衡系统的操作系统和各类应用软件,例如一种后端负载均衡方法的程序代码等。此外,所述第一存储器61或第二存储器64还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器62在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制后端负载均衡系统的总体操作。本实施例中,所述处理器62用于运行所述第一存储器61或第二存储器64中存储的程序代码或者处理数据,例如运行所述一种后端负载均衡方法的程序代码。

所述第一网络接口63和第二网络接口66可包括无线网络接口或有线网络接口,该第一网络接口63和第二网络接口66通常用于在所述后端负载均衡系统6内部,或后端负载均衡系统6与其他电子设备之间建立通信连接。

该方案能够实时的根据应用服务器的负载情况及其剩余的运算性能进行任务分配,合理的利用多组应用服务器的硬件资源。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有一种后端负载均衡方法程序,所述一种后端负载均衡方法程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的应用于应用服务器的后端负载均衡方法的步骤,或者应用于代理服务器的后端负载均衡方法的步骤。

该方案能够通过执行后端负载均衡方法,实时的根据应用服务器的负载情况及其剩余的运算性能进行任务分配,合理的利用多组应用服务器的硬件资源。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

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