一种服务器负载均衡的方法和装置与流程

文档序号:12132701阅读:219来源:国知局
一种服务器负载均衡的方法和装置与流程

本申请涉及网络技术领域,特别是涉及一种服务器负载均衡的方法和装置。



背景技术:

宽带远程接入服务器(Broadband Remote Access Server,BRAS)是面向宽带网络应用的接入网关,它位于网络的边缘,提供宽带接入服务、实现多种业务的汇聚与转发。

在网络中,用户主机通过广播发送以太网上的点对点协议(Point to Point Protocol over Ethernet,PPPoE)主动发现起始(PPPoE Active Discovery Initiation,PADI)报文,寻找可以为其分配地址的BRAS。当网络上存在多个BRAS,各BRAS在接收到PADI报文后,都会响应PPPoE主动发现提议(PPPoE Active Discovery Offer,PADO)报文给用户主机。用户主机收到首个PADO报文后就指定接入服务器来通信。

显然,目前的负载分担方案,按照哪一台BRAS最先响应,后续就指定该BRAS认证,以及后续的访问流量也走该BRAS。这样,用户主机所发送的访问流量都偏向往高性能的服务器上走,导致存在性能差异的各服务器负载分担不均。



技术实现要素:

鉴于上述问题,提出了本申请实施方式以便提供一种克服上述问题或者至少部分地解决上述问题的一种服务器负载均衡的方法和相应的一种服务器负载均衡的装置,以解决现有BRAS的负载分担不均的问题,实现BRAS的负载均衡。

为了解决上述问题,本申请实施方式公开了一种服务器负载均衡的方法,该方法应用于通过远端接入服务器BRAS连接因特网的用户主机中,所述方法包括:

发送发现起始报文PADI,以触发接收到所述PADI报文的BRAS反馈主动发现提议报文PADO,其中,所述PADO携带BRAS当前对应的负载参数;

接收所述PADO;

依据所述PADO,确定对应BRAS的负载参数;

依据所述负载参数,确定接入的BRAS。

本申请实施方式还公开了一种服务器负载均衡的方法,该方法应用于远端接入服务器BRAS中,包括:

在接收到发现起始报文PADI时,生成主动发现提议报文PADO,其中,所述PADO携带BRAS当前对应的负载参数;

将所述PADO发送给用户主机,以触发所述用户主机依据所述PADO确定接入的BRAS。

本申请实施方式还公开了一种服务器负载均衡的装置,该装置应用于通过远端接入服务器BRAS连接因特网的用户主机中,包括:

报文发送模块,用于发送发现起始报文PADI,以触发接收到所述PADI报文的BRAS反馈主动发现提议报文PADO,其中,所述PADO携带BRAS当前对应的负载参数;

接收模块,用于接收所述PADO;

负载参数确定模块,用于依据所述接收模块接收到的PADO,确定对应BRAS的负载参数;

服务器确定模块,用于依据所述负载参数,确定接入的BRAS。

本申请实施方式还公开了一种服务器负载均衡的装置,该装置应用于远端接入服务器BRAS中,包括:

报文生成模块,用于在接收到发现起始报文PADI时,生成主动发现提议报文PADO,其中,所述PADO携带BRAS当前对应的负载参数;

报文发送模块,用于将所述PADO发送给用户主机,以触发所述用户主机依据所述PADO确定接入的BRAS。

本申请实施方式包括以下优点:

本申请实施方式中,通过对BRAS所发送的主动发现提议报文PADO进行扩展,从而可以在PADO增加BRAS当前对应的负载参数,使得用户主机可以依据接收到的PADO确定对应BRAS的负载参数,即可以确定各BRAS当前的负载情况,以及可以依据负载参数确定接入的BRAS,即可以基于各BRAS当前的负载情况,选中合适接入的BRAS,进而可以避免用户流量集中于高性能的BRAS而导致该高性能BRAS超负荷运行,解决了现有技术中网络中各BRAS负载分担不均的问题。

附图说明

图1是本申请的一种服务器负载均衡的方法实施方式的步骤流程图;

图2是用户主机通过远端的BRAS接入因特网的示意图;

图3是本申请的另一种服务器负载均衡的方法实施方式的步骤流程图;

图4是本申请的又一种服务器负载均衡的方法实施方式的步骤流程图;

图5是本申请的一种服务器均衡的装置实施方式的结构框图;

图6A是本申请的另一种服务器均衡的装置实施方式的结构框图;

图6B是本申请的另一种服务器均衡的装置可选实施方式的结构框图。

具体实施方式

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

在实际处理中,本申请的发明人发现现有的用户主机在接收到首个PADO报文后就直接将发送该PADO报文的BRAS确定为接入的BRAS,导致用户流量集中于网络中某一台高性能的BRAS,即导致网络中服务器负载分担不均的问题。

本申请实施方式的核心构思之一在于,在PADO报文中增加BRAS当前对应的负载参数,使得用户主机可以依据PADO报文确定对应BRAS当前的负载参数,并且可以依据各BRAS的负载参数确定其所选择接入的BRAS,从而可以避免用户主机的访问流量集中于高性能BRAS,解决了现有BRAS的负载分担不均的问题,即实现BRAS的负载均衡。

参照图1,示出了本申请的一种服务器负载均衡的方法实施方式的步骤流程图。该方法具体可以应用于通过远端服务器BRAS连接因特网的用户主机中,具体可以包括如下步骤:

步骤102,发送发现起始报文PADI,以触发接收到所述PADI报文的BRAS反馈主动发现提议报文PADO。

其中,主动发现提议报文PADO可携带有BRAS当前对应的负载参数。该负载参数可以用于确定BRAS当前的负载情况,如可以确定BRAS当前连接的用户数量、确定BRAS当前的内存占用率、中央处理器(Central Processing Unit,CPU)占用率等。

需要说明的是,以太网上的点对点协议(Point to Point Protocol over Ethernet,PPPoE)是指在以太网上承载点到点连接协议(Point to Point Protocol,PPP),它利用以太网将大量用户主机组成网络,通过一个远端接入服务器连入因特网(Internet),并对接入的每一个用户主机实现控制、计费功能。如图2所示,局域网中的用户主机可以通过中间二层交换机设备与远端的BRAS连接,以接入Internet。

本申请实施方式的用户主机具体可以包括用户所使用的终端设备,如个人计算机(Personal Computer,PC)、平板电脑、智能手机等。当一个用户主机希望能够开始一个PPPOE会话时,它可以在网络上广播发送PADI,寻找BRAS。网络上的各BRAS在接收到用户主机所发送的PADI后,可以对该PADI进行响应,向该用户主机反馈PADO,以触发该用户主机依据该PADO确定接入的服务器BRAS。

步骤104,接收所述PADO。

步骤106,依据所述PADO,确定对应BRAS的负载参数。

本申请实施方式中,用户主机可以接收到网络中各BRAS所发送的PADO,以及可以通过对接收到的PADO进行解析,确定对应BRAS的负载参数,亦即,可以采用PADO携带的负载参数确定各BRAS当前的负载情况,以选中其所需要接入的BRAS。

步骤108、依据所述负载参数,确定接入的BRAS。

在本申请实施方式中,用户主机可以通过携带负载参数的PADO确定BRAS当前的负载情况,并基于该负载参数确定其所选择接入的BRAS,即基于各BRAS当前的负载情况选择接入的BRAS,从而可以避免接入超负荷运行的BRAS,避免了访问流量集中于高性能的BRAS而导致该BRAS超负荷运行的情形,实现网络中BRAS负载均衡的目的。

在其中一个实施方式中,用户主机可以采用PADO携带的负载参数确定发送该PADO的BRAS是否处于超负荷运行,从而在BRAS未超负荷运行时,将该BRAS确定为可接入的BRAS。例如,若可接入的BRAS存至少两台,则用户主机选择任一台可接入的BRAS作为选中的BRAS,也可以按照接收到PADO的时间顺序,将最早接收到的PADO对应的可接入的BRAS作为选中的BRAS;若仅存一台可接入的BRAS,则用户主机将该可接入的BRAS作为选中的BRAS。

在本申请的一个可选实施方式中,依据所述负载参数,确定接入的BRAS,具体可以包括:基于各BRAS的负载参数,确定各BRAS的负载状态值;对各BRAS的负载状态值进行比较,将负载状态值最小的BRAS确定为接入的BRAS。具体的,用户主机可以在预设时间内连续接收到多台BRAS所发的PADO,即在预设时间内接收到多个PADO;以及可以分别对每一个PADO进行解析,从解析的PADO中提取出其所携带的负载参数,如用户数量、权重数据或性能数据等,以采用负载参数确定每一台BRAS当前对应的负载状态,如确定每一台BRAS的负载状态值,进而可以将负载状态值最小的BRAS确定为接入的BRAS,以通过该接入的BRAS进行认证,接入因特网,从而可以避免访问流量都偏向往高性能的服务器上走的情形,即解决了现有技术网络中各BRAS负载分担不均的问题。

在本申请的一个可选实施方式中,负载参数可以包括:用户数量和/或权重数据和/或性能数据和/或根据上述两个或两个以上参数计算得出的第一参数。其中,第一负载参数可以是在用户主机中计算得到的,也可以是BRAS中计算得到的,本申请实施方式对此不作具体限制。例如,第一参数可以是BRAS的负载状态值。

在其中一个实施方式中,负载参数可以包括但不仅限于以下至少一种:用户数量、权重数据、性能数据。其中,用户主机可以基于各BRAS的负载参数,确定各BRAS的负载状态值,包括:当负载参数为用户数量、性能数据或权重数据时,依据所述负载参数的值确定负载状态值;当所述负载参数包括用户数量、性能数据、权重数据中至少两种时,对所述负载参数进行计算,确定负载状态值。

在其中一个实施方式中,当负载参数为用户数量或性能数据时,可以将所述负载参数的值作为所述负载状态值,其中,所述性能数据包括BRAS的中央处理器占用率或BRAS的内存占用率;或者,当所述负载参数为权重数据时,可以将所述权重数据的倒数作为所述负载状态值,其中,所述权重数据依据BRAS当前的中央处理器占用率和/或内存占用率确定的。

在其中一个实施方式中,当负载参数包括用户数量和权重数据时,可以对所述用户数量和权重数据进行计算,确定BRAS的负载状态值。

在其中一个实施方式中,当负载参数包括用户数量和性能数据时,可以采用所述性能数据计算BRAS对应的权重,以及对所述用户数量和所述权重进行计算,确定所述BRAS的负载状态值;或者,可以获取性能数据对应的预设用户数量,以及对所述预设用户数量和用户数量进行计算,确定BRAS的负载状态值。

在其中一个实施方式中,当负载参数包括用户数量、权重数据以及性能数据时,用户主机可以通过对用户数量、权重数据以及性能数据进行计算,得出对应的负载状态值,如可以按照预设计算公式,计算权重数据与用户数量和/或性能数据相乘的值,以将计算得到的积作为负载状态值。

在其中一个实施方式中,PADO携带的负载参数可以包括:用户数量,该用户数量具体可以包括BRAS依据当前连接的用户主机确定的数量。用户主机可以将该用户数量的值确定为负载状态值,以基于该负载状态值确定选中的BRAS。

在其中一个实施方式中,PADO携带的负载参数可以包括:性能数据,该性能数据可以用于表征BRAS当前的运行状态,具体可以包括CUP占用率、内存占用率等。用户主机可以将该性能数据的值确定为负载状态值,以基于该负载状态值确定选中的BRAS,如可以将CUP占用率或内存占用率最小的BRAS确定为选中的BRAS。当然,用户主机也可以通过CUP占用率以及内存占用率计算,得到对应的负载状态值,以基于计算得到的负载状态值确定选中的BRAS,本申请对此不作限制。

综上,通过计算BRAS的负载参数进行来确定BRAS的负载负载状态值的具体计算实现方式具有多种,本申请对负载参数的具体计算方式不作具体限制。

作为本申请的一个具体示例,作为用户主机的PC在接收到多个PADO时,如接收到3个PADO,分别为PADO1、PADO2、PADO3,可以通过对各PADO进行解析,确定各BRAS当前对应的负载参数,如将PADO1所携带的用户数量BRAS-Count1和权重数据BRAS-Count1确定为BRAS1当前对应的负载参数,将PADO2所携带的用户数量BRAS-Count2和权重数据BRAS-Count2确定为BRAS2当前对应的负载参数,以及将PADO3所携带的用户数量BRAS-Count3和权重数据BRAS-Count3确定为BRAS3当前对应的负载参数;从而可以通过对各BRAS的负载参数进行比较,将负载比例最小的BRAS确定为接入的BRAS,如通过对BRAS1的负载状态值(BRAS-Count1/BRAS-Weight1)、BRAS2的负载状态值(BRAS-Count2/BRAS-Weight2)和BRAS3的负载状态值(BRAS-Count3/BRAS-Weight3)进行比较,确定这三者中的最小值,从而可以将最小负载状态值的BRAS确定为选中接入的BRAS。

显然,本申请实施方式中通过对BRAS所发送的PADO进行扩展,在该PADO增加了BRAS当前对应的负载参数,从而使得用户主机可以依据携带负载参数的PADO,确定各BRAS当前的负载情况,以及基于各BRAS当前的负载情况选中合适接入的BRAS,从而可以避免用户流量集中于高性能的BRAS而导致该高性能BRAS超负荷运行,解决了现有技术中网络中各BRAS负载分担不均的问题。

参照图3,示出了本申请的另一种服务器负载均衡的方法实施方式的步骤流程图。该方法连接具体可以应用于远端接入服务器BRAS中,具体可以包括如下步骤:

步骤302,在接收到发现起始报文PADI时,生成主动发现提议报文PADO,其中,所述PADO携带BRAS当前对应的负载参数。

本申请实施方式中,BRAS可以在接收到用户主机通过广播发送的发现起始报文PADI时,可以获取该BRAS当前对应的负载参数,从而可以依据BRAS当前的负载参数,生成该PADI对应的主动发现提议报文PADO。该PADO携带BRAS当前对应的负载参数。例如,BRAS可以通过检测当前连接的用户主机,确定当前连接的用户数量,进而可以生成携带该用户数量的主动发现提议报文PADO,以对用户主机所发送的发现起始报文PADI进行响应。

步骤304,将所述PADO发送给用户主机,以触发所述用户主机依据所述PADO确定接入的BRAS。

本申请实施方式中,BRAS在生成PADO后,可以将该PADO反馈给用户主机,以对该用户主机所发送的PADI进行响应,从而使得该用户主机可以依据PADO携带的负载参数确定该BRAS当前的负载情况,以确定合适接入的BRAS,避免的访问流量都偏向往高性能的服务器上走的情形,解决了现有技术中网络中各BRAS负载分担不均的问题。

在本申请的一个可选实施方式中,负载参数可以包括:用户数量和/或权重数据和/或性能数据和/或根据上述两个或两个以上参数计算得出的第一参数。其中,第一负载参数可以是在BRAS中计算得到的,如可以BRAS计算得到的负载比例值。例如,BRAS可以计算用户数量与权重数据的比值,以及将得到的比值作为该BRAS的负载比例值。

在上述实施方式基础之上,下文基于用户主机与网络中的BRAS的交互,并结合具体示例,对本申请实施方式的服务器负载均衡进行详细论述。

参照图4,示出了本申请的又一种服务器负载均衡的方法实施方式的步骤流程图,具体可以包括如下步骤:

步骤402,用户主机发送发现起始报文PADI。

在本申请实施方式中,用户主机在建立PPPOE会话时,可以通过广播通告的方式在网络中发送PADI,以触发网络中接收到该PADI报文的BRAS反馈主动发现提议报文PADO。其中,所述主动发现提议报文PADO用于BRAS对用户主机发送的发现起始报文PADI进行响应。

步骤404,BRAS在接收到PADI时,生成PADO,其中,所述PADO携带BRAS当前对应的负载参数。

本申请实施方式中,BRAS可以对发现起始报文PADI进行监测,以在监测到发现起始报文PADI时,执行生成主动发现提议报文PADO的步骤,如BRAS在接收到发现起始报文PADI后,可以对该发现起始报文PADI进行响应,生成主动发现提议报文PADO。

在本申请的一个可选实施方式中,负载参数可以包括但不限于以下至少一种:用户数量、权重数据、性能数据。其中,依据所述BRAS当前的负载参数,生成所述PADI对应的主动发现提议报文PADO,具体可以包括:确实所述BRAS当前的负载参数;采用所述负载参数,生成所述PADO。

在其中一个可选实施方式中,在确实所述BRAS当前的负载参数,具体可以包括:获取所述BRAS当前的中央处理器占用率和/或内存占用率,并将获取的中央处理器占用率和/或内存占用率作为所述性能数据。

在其中一个可选实施方式中,在确实所述BRAS当前的负载参数,具体可以包括:获取所述用户数量,所述用户数量依据所述BRAS当前连接的用户主机确定的。

在其中一个可选实施方式中,依据所述BRAS当前的中央处理器占用率和/或内存占用率进行计算,确定所述权重数据,或者,获取预先配置的权重数据。

本申请实施方式可以通过扩展PADO,以在PADO中增加BRAS当前的负载参数,从而使得用户主句可以依据该PADO携带的负载参数,确定发送该PADO的BRAS当前的负载情况。例如,可以通过扩展PPPoE标签(Tags)里面的字段,新增用户数量BRAS-Count及权重数据BRAS-Weight这两个属性字段,从而使得用户主机可以依据该PADO报文里的用户数量BRAS-Count属性和权重数据BRAS-Weight属性,确定BRAS当前的负载情况。其中,用户数量BRAS-Count可以通过统计BRAS当前所接入的用户主机进行确定;权重数据BRAS-Weight属性可以依据BRAS的处理性能或其它因素进行配置,如可以基于BRAS的中央处理器(Central Processing Unit,CPU)的性能参数进行配置,本申请实施方式对此不作具体限制。

在本申请的一个可选实施方式中,BRAS依据当前连接的用户数量,生成主动发现提议报文PADO,具体可以包括:对当前连接的用户主机进行检测,确定所述用户数量,获取预先配置的权重数据,从而可以采用所述权重数据和所述用户数量,生成所述主动发现提议报文PADO。

BRAS可以对当前已经连接的用户主机进行统计,确定当前连接的用户数量BRAS-Count。例如,若BRAS1当前有100个用户主机在线,则BRAS1可以确定用户数量BRAS-Count1的属性值为100;若BRAS2当前有100个用户主机在线,则BRAS2可以确定用户数量BRAS-Count2的属性值为200;若BRAS3当前有300个用户主机在线,则BRAS3可以确定用户数量BRAS-Count1的属性值为300……同时,BRAS可以获取预先配置的权重数据BRAS-Weight。例如,若BRAS1中预先配置的权重数据为1,则BRAS1可以将权重数据BRAS-Weight的属性值设置为1。BRAS可以通过将权重数据BRAS-Weight和用户数量BRAS-Count封装到PPPoE报文中,生成PADO。

步骤406,BRAS将PADO发送给用户主机。

从而可以触发所述用户主机依据所述PADO确定接入的BRAS,如触发用户主机依据该PADO所携带的用户数量BRAS-Count和权重数据BRAS-Weight确定接入的BRAS。

步骤408,用户主机在预设时间内接收PADO。

步骤410,用户主机依据PADO,确定对应BRAS的负载参数。

在本申请的一个可选实施方式中,用户主机在发送所述PADI后,可以检测在预设时间内是否接收到所述PADO;若是,则对接收到的PADO进行解析,确定对应BRAS的负载参数;若否,则重新发送PADI,即在超过预设时间未接收到PADO,可以重新发送PADI,以查找可以接入的BRAS。

在其中一个可选实施方式中,若检测到在预设时间未接收到PADO,用户主机可以在接收到所述PADO时,将发送所述PADO的BRAS确定为接入的BRAS,即在超过预设时间后,可以在接收到首个PADO时,直接将发送该PADO的BRAS确定为接入的BRAS,从而可以保证用户主机接入BRAS的效率,本申请对此不作限制。

本申请实施方式中,当用户主机收到多个PADO报文时,亦即接收到多台BRAS所发送的PADO报文,分别为PADO1、PADO1、PADO3……从而可以针对每一台BRAS,对其所发送的PADO报文进行解析,确定该BRAS对应的负载参数,如确定每一台BRAS当前对应的用户数量BRAS-Count和权重数据BRAS-Weight,以采用用户数量BRAS-Count和权重数据BRAS-Weight确定每一台BRAS的负载状态值。

作为本申请的一个具体示例,若用户主机在预设时间内仅接收到1个PADO,则可以将发送该PADO的BRAS确定为接入的BRAS,以对通过该接入的BRAS进行验证,接入因特网;或者,若在该预设时间内未接收到PADO报文,则可以按照首个接收到的PADO报文进行认证,即在超过该预设时间时,可以将接收到的首个PADO报文对应BRAS确定为指定认证的BRAS,本申请实施方式对此不作具体限制。

在本申请的一个可选实施方式中,用户主机依据各BRAS发送的PADO,确定各BRAS当前对应的负载参数,具体可以包括:对各BRAS发送的PADO进行解析,确定各BRAS当前对应的用户数量和权重数据,从而可以将各BRAS对应的用户数量和权重数据作为各BRAS的负载参数。具体而言,用户主机可以针对每一台BRAS,对其所发送的PADO进行解析,得到每个PADO所携带的用户数量BRAS-Count和权重数据BRAS-Weight;以及将得到的用户数量BRAS-Count和权重数据BRAS-Weight确定为该BRAS当前对应的负载参数。

步骤412,用户主机依据所述负载参数,确定接入的BRAS。

在本申请实施方式中,用户主机可以按照预先定义的比较规则,对各服务器的负载参数,确定当前合适接入的BRAS,以到确定的BRAS进行认证,接入因特网。

作为本申请的一个具体示例,用户主机可以通过两两比较在预设时间内接受到各PADO对应BRAS的负载参数,确定接入的BRAS。例如,在接收到两个PADO时,用户主机可以通过判断(BRAS-Count1/BRAS-Count2)与(BRAS-Weight1/BRAS-Weight2)的比值是否大于1,来选中接入的BRAS,如在大于或等于1时可以选择BRAS2,在小于1时可以选择BRAS1;或者在等于1时,也可以按照这个两个PADO接收到的时间顺序选择接入的BRAS;以及,若在预设时间内接收到第三个PADO,则可以将第一次的比较结果与第三个PADO所携带的用户数量BRAS-Count3和权重数据BRAS-Weight3进行比较,确定第二次比较结果;若在预设时间内接收到第四个PADO,则可以将第二次的比较结果与第四个PADO所携带的用户数量BRAS-Count4和权重数据BRAS-Weight4进行比较……如此类推,直到比较完在预设时间内所接收到的所有PADO,并将最终比较结果所选择的BRAS作为接入的BRAS。

当然,本申请实施方式的用户主机还可以按照其他比较规则确定当前负载比例较小的BRAS,如可以将BRAS的用户数量BRAS-Count和权重数据BRAS-Weight之间比值作为BRAS的负载状态值,通过比较各BRAS的负载状态值,将负载状态值最小的BRAS确定为接入的BRAS,本申请实施方式对用户主机预先配置的比较规则不作具体限制。

在本申请的一个可选实施方式中,依据所述负载参数,确定接入的BRAS,可以包括:将负载参数最小的BRAS确定为接入的BRAS。

在其中一个实施方式中,依据所述负载参数,确定接入的BRAS,具体可以包括:基于各BRAS的负载参数,确定各BRAS的负载状态值,然后可以通过对各BRAS的负载状态值进行比较,将负载状态值最小的BRAS确定为接入的BRAS。

例如,结合上述例子,用户主机可以对各BRAS的用户数量和权重数据进行计算,确定各BRAS的负载状态值;然后对各BRAS的负载状态值进行比较,将负载状态值最小的BRAS确定为接入的BRAS。

作为本申请的另一个具体示例,当用户主机在预设时间内接收多个时,可以将各PADO中的用户数量BRAS-Count与权重数据BRAS-Weight的比值(BRAS-Count/BRAS-Weight)确定为各BRAS的负载状态值,从而可以通过对各BRAS的负载状态值进行比较,将负载状态值最小的BRAS确定为接入的BRAS,亦即可以通过比较通过比较(BRAS-Count1/BRAS-Weight1)、(BRAS-Count2/BRAS-Weight2)、(BRAS-Count3/BRAS-Weight3)……,将负载状态值(BRAS-Count/BRAS-Weight)最小的BRAS作为接入的BRAS。以在预设时间内接收到三个PADO为例,若BRAS1当前有100个用户主机在线,权重数据BRAS-Weight1设成1;BRAS2当前有200个用户主机在线,权重数据BRAS-Weight2设成1,BRAS3当前有300个用户主机在线,权重数据BRAS-Weight3设成1,则用户主机可以按照预先定义规则得出BRAS1的负载状态值为100、BRAS2的负载状态值为200、BRAS3的负载状态值为300,进而可以选择负载比例BRAS1作为认证BRAS设备。

当以采用用户数量BRAS-Count和权重数据BRAS-Weight确定每一台BRAS的负载状态值,如将用户数量BRAS-Count与权重数据BRAS-Weigh的比值作为BRAS的负载状态值,从而将负载状态值最小的BRAS确定为接入的服务器。例如,BRAS1当前有100个用户主机在线,权重数据设成1;BRAS2当前有300个用户主机在线,权重数据设成1,按照定义规则得出结果为1/3,则选择BRAS1作为认证BRAS设备。

综上,本申请实施方式中的用户主机可以依据携带负载参数的PADO,确定BRAS当前的负载情况;并且可以依据各BRAS的负载参数确定其所选择接入的BRAS,亦即,可以依据各BRAS当前的负载情况确定接入的BRAS,以通过该BRAS来进行通信,从而可以避免用户主机按照哪一台BRAS最先响应就指定该BRAS认证而导致网络中的访问流量集中于高性能的服务器,进而实现了网络中BRAS的负载均衡。

通过本申请实施方式,网络中的BRAS的负载比例可以通过预先设置的权重数据进行设定,即可以按照不同的负载比例调整用户主机接入的BRAS,解决了由于用户流量偏向高性能往的服务器上走而导致存在性能差异的各服务器负载分担不均的问题;并且可以适用于不同厂商所提供的BRAS,解决了在推行堆叠或者双机的技术方案时,多台BRAS设备都需要属于同一厂商所存在的限制问题。

具体的,堆叠或者双机的技术方案是指在网络中任意一台BRAS宕机,另一台BRAS能够立即接管,从而实现网络中物理BRAS的负载分担和备份。本申请实施方式中的用户主机可以通过BRAS的负载比例确定接入的BRAS,从而可以在网络中一台BRAS宕机后,采用负载比例较小的BRAS进行恢复,使得用户主机可以快速与因特网恢复连接,即该机制恢复效果较明显。

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

参照图5,示出了本申请的一种服务器均衡的装置实施方式的结构框图。本申请实施方式所提供的服务器均衡的装置具体可以应用于通过远端接入服务器BRAS连接因特网的用户主机中,具体包括如下模块:

报文发送模块502,用于发送发现起始报文PADI,以触发接收到所述PADI报文的BRAS反馈主动发现提议报文PADO,其中,所述PADO携带BRAS当前对应的负载参数;

接收模块504,用于接收所述PADO;

负载参数确定模块506,用于依据所述接收模块接504收到的PADO,确定对应BRAS的负载参数。

服务器确定模块508,用于依据所述负载参数,确定接入的BRAS。

在本申请的一个可选实施方式中,负载参数可以包括:用户数量和/或权重数据和/或性能数据和/或根据上述两个或两个以上参数计算得出的第一参数。其中,第一负载参数可以是在用户主机中计算得到的,也可以是BRAS中计算得到的,本申请实施方式对此不作具体限制。例如,第一参数可以是BRAS的负载状态值。

在其中一个实施方式中,所述服务器确定模块508,具体用于将负载参数最小的BRAS确定为接入的BRAS。例如,服务器确定模块508具体用于基于各BRAS的负载参数,确定各BRAS的负载状态值,以及,对各BRAS的负载状态值进行比较,将负载状态值最小的BRAS确定为接入的BRAS。

在本申请的一个可选实施方式中,负载参数具体可以包括但不仅限于以下至少一种:用户数量、权重数据、性能数据。其中,所述服务器确定模块508,具体可以用于当负载参数为用户数量、性能数据或权重数据时,依据所述负载参数的值确定负载状态值;以及,当所述负载参数包括用户数量、性能数据、权重数据中至少两种时,对所述负载参数进行计算,确定负载状态值。

例如,负载参数确定模块506可以对各BRAS发送的PADO进行解析,确定各BRAS当前对应的用户数量和权重数据,并且可以将各BRAS对应的用户数量和权重数据作为各BRAS的负载参数,并且可以触发服务器确定模块508对各BRAS的用户数量和权重数据进行计算,确定各BRAS的负载比例值,以及,对各BRAS的负载比例值进行比较,将负载比例值最小的BRAS确定为接入的BRAS。

在本申请的一个可选实施方式中,所述接收模块504,具体可以用于在所述报文发送模块发送所述PADI后,检测在预设时间内是否接收到所述PADO;若是,则触发所述负载参数确定模块506对接收到的PADO进行解析,确定对应BRAS的负载参数;若所述接收模块504在预设时间内未接收到所述PADO,则触发所述报文发送模块502重新发送PADI,或者,在超过所述预设时间接收到所述PADO时,触发所述服务器确定模块508将发送所述PADO的BRAS确定为接入的BRAS。

参照图6A,示出了本申请的另一种服务器均衡的装置实施方式的结构框图。本申请实施方式所提供的服务器均衡的装置具体可以应用于远端接入服务器BRAS中,具体可以包括如下模块:

报文生成模块602,用于在接收到发现起始报文PADI时,生成主动发现提议报文PADO,其中,所述PADO携带BRAS当前对应的负载参数。

报文发送模块604,用于将所述PADO发送给用户主机,以触发所述用户主机依据所述PADO确定接入的BRAS。

参照图6B,示出了本申请的另一种服务器均衡的装置实施方式的结构框图。

在本申请的一个可选实施方式中,负载参数可以包括:用户数量和/或权重数据和/或性能数据和/或根据上述两个或两个以上参数计算得出的第一参数。

在其中一个实施方式中,负载参数包括以下至少一种:用户数量、权重数据、性能数据。其中,所述报文生成模块602,具体用于确实所述BRAS当前的负载参数,以及,采用所述负载参数,生成所述PADO。

在本申请的一个可选实施方式中,报文生成模块602,用于获取所述BRAS当前的中央处理器占用率和/或内存占用率,并将获取的中央处理器占用率和/或内存占用率作为所述性能数据;或,用于获取所述用户数量,所述用户数量依据所述BRAS当前连接的用户主机确定的;或,用于依据所述BRAS当前的中央处理器占用率和/或内存占用率进行计算,确定所述权重数据,或,获取预先配置的权重数据。

例如,报文生成模块602,可以对当前连接的用户主机进行检测,确定所述用户数量,同时可以获取预先配置的权重数据,从而可以采用所述权重数据和所述用户数量,生成PADO。

在本申请的一个可选实施方式中,该服务器负载均衡的装置还可以包括如下模块:

报文监测模块606,用于对发现起始报文PADI进行监测,以及在监测到PADI时,触发所述报文生成模块602执行生成PADO的步骤。

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

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

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

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

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

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

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

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

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

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