首页> 中国专利> 一种实现负载均衡的方法和一种负载均衡设备

一种实现负载均衡的方法和一种负载均衡设备

摘要

本发明公开了一种实现负载均衡的方法和一种负载均衡设备。该负载均衡设备主要包括控制单元和收发单元。该方法包括:负载均衡设备确定各个服务器当前的响应时间;负载均衡设备接收到客户端发来的访问请求报文后,从各个服务器中选择当前响应时间最短的服务器,并将访问请求报文发送至当前所选的服务器。本发明能够保证客户端在最短的时间内便可接收到服务器响应的报文,从而大大提高了业务服务质量。

著录项

  • 公开/公告号CN1937534A

    专利类型发明专利

  • 公开/公告日2007-03-28

    原文格式PDF

  • 申请/专利权人 杭州华为三康技术有限公司;

    申请/专利号CN200610127830.6

  • 发明设计人 常利民;

    申请日2006-09-20

  • 分类号H04L12/24(20060101);H04L12/56(20060101);H04L27/01(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人宋志强;麻海明

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路东华为3Com总部

  • 入库时间 2023-12-17 18:25:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-07-11

    专利权的转移 IPC(主分类):H04L12/24 专利号:ZL2006101278306 登记生效日:20230629 变更事项:专利权人 变更前权利人:新华三技术有限公司 变更后权利人:新华三信息技术有限公司 变更事项:地址 变更前权利人:310052 浙江省杭州市滨江区长河路466号 变更后权利人:310052 浙江省杭州市滨江区长河路466号11楼

    专利申请权、专利权的转移

  • 2017-05-03

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/24 变更前: 变更后: 申请日:20060920

    专利权人的姓名或者名称、地址的变更

  • 2009-03-04

    授权

    授权

  • 2007-06-27

    实质审查的生效

    实质审查的生效

  • 2007-03-28

    公开

    公开

说明书

技术领域

本发明涉及网络通信技术,特别是涉及一种实现负载均衡的方法和一种负载均衡设备。

背景技术

伴随着互联网(Internet)技术的不断发展,网络服务器面对的访问数量大大增加并且更加不可预知。在网络中,如果仅使用一个服务器对客户端提供服务,那么,服务器的处理能力和输入输出能力必然会成为提供服务的瓶颈。

为了解决单台服务器处理能力有限,无法保证为客户端提供服务的缺点,目前出现了负载均衡技术。

图1是采用负载均衡技术时的设备连接情况示意图。参见图1,负载均衡技术就是在网络侧设置可以为客户端提供服务的多个服务器,并在服务器侧设置一个负载均衡设备。客户端需要进行访问时,只需访问该负载均衡设备,负载均衡设备接收到客户端的访问请求后,根据一定的规则从多个服务器中选择一个,由所选的服务器回应客户端,为客户端提供服务。

可见,负载均衡技术可以利用多台服务器同时为大量用户提供并发访问服务,因此,能够大大提高访问速度和网络的吞吐容量。并且,当某一个服务器出现故障时,负载均衡设备也能够自动进行检测并停止将服务请求分发至该故障的服务器,而由其他工作正常的服务器继续提供服务,因此,负载均衡技术也保证了服务的可靠性。鉴于负载均衡技术的诸多优点,负载均衡技术得到了广泛的应用。

在负载均衡技术中,负载均衡设备在接收到客户端的访问请求时,必须选择为客户端提供服务的服务器。而在目前,随着用户对业务服务质量要求的不断提升,用户在通过客户端发出访问请求后,希望在很短的时间内便可接收到服务器响应的报文。这样,则要求负载均衡设备在选择服务器时,必须考虑服务器当前的负载情况,必须考虑所选服务器是否能够在最短时间内响应客户端。

可见,在负载均衡技术中,保证所选服务器能够在最快时间内响应客户端已经成为了一个值得关注的问题。

发明内容

有鉴于此,本发明的主要目的在于提供一种实现负载均衡的方法,本发明的另一目的在于提供一种负载均衡设备,以保证负载均衡设备所选的服务器能够在最快时间内响应客户端。

为了达到上述目的,本发明的技术方案是这样实现的:

一种实现负载均衡的方法,该方法包括:

负载均衡设备确定各个服务器当前的响应时间;负载均衡设备接收到客户端发来的访问请求报文后,从各个服务器中选择当前响应时间最短的服务器,并将访问请求报文发送至当前所选的服务器。

所述确定各个服务器当前的响应时间的步骤包括:

负载均衡设备根据各个服务器对客户端报文的响应时间,确定各个服务器当前的响应时间。

所述确定各个服务器当前的响应时间的步骤包括:

负载均衡设备接收任意一个客户端发来的访问请求报文,将访问请求报文分别发送至各个服务器;负载均衡设备分别针对每一个服务器记录,将访问请求报文发送至该服务器与该服务器针对访问请求报文返回响应报文的时间差;负载均衡设备将针对各服务器记录的时间差,确定为各个服务器当前的响应时间。

所述确定各个服务器当前的响应时间的步骤包括:

负载均衡设备接收到不同客户端发来的各个访问请求报文,将各个访问请求报文分别发送至各个服务器;负载均衡设备分别针对每一个服务器记录,将访问请求报文发送至该服务器与该服务器针对接收到的访问请求报文返回响应报文的时间差;负载均衡设备将针对各服务器记录的时间差,确定为各个服务器当前的响应时间。

所述确定各个服务器当前的响应时间的步骤包括:

在不同客户端与各个服务器建立连接后,针对每一个服务器,负载均衡设备接收客户端发来的针对该服务器的业务数据报文,将业务数据报文发送至该服务器,并针对该服务器记录,将业务数据报文发送至该服务器与该服务器针对业务数据报文返回响应报文的时间差;负载均衡设备将针对各服务器记录的时间差,确定为各个服务器当前的响应时间。

在负载均衡设备将报文发送至所述任意一个服务器之后,并在针对该服务器执行记录之前,进一步包括:

负载均衡设备判断从上一次确定该服务器响应时间到当前的时间长度内,发送给该服务器的报文个数是否达到预先设定的采样个数,如果是,则继续执行所述的针对该服务器记录时间差的步骤,否则,直接将上一次确定的该服务器的响应时间确定为该服务器当前的响应时间。

在负载均衡设备将报文发送至所述任意一个服务器之后,并在针对该服务器执行记录之前,进一步包括:

负载均衡设备判断从上一次确定该服务器响应时间到当前的时间长度是否等于预先设定的采样时间间隔,如果是,则继续执行所述的针对该服务器记录时间差的步骤,否则,直接将上一次确定的该服务器的响应时间确定为该服务器当前的响应时间。

所述确定各个服务器当前的响应时间的步骤包括:

负载均衡设备根据各个服务器对负载均衡设备所发送探测报文的响应时间,确定各个服务器当前的响应时间。

所述确定各个服务器当前的响应时间的步骤包括:

负载均衡设备构造探测报文,将各个服务器分别作为探测报文的接收方,然后将探测报文分别发送至各个服务器;负载均衡设备针对每一个服务器记录,将探测报文发送至该服务器与该服务器针对探测报文返回响应报文的时间差;负载均衡设备将针对各服务器记录的时间差,确定为各个服务器当前的响应时间。

在针对所述任意一个服务器记录时间差之后,并在将时间差确定为该服务器当前的响应时间之前,进一步包括:

负载均衡设备判断从上一次确定该服务器响应时间到当前的时间长度内,针对该服务器记录时间差的次数是否达到预先设定的采样次数,如果是,则根据针对该服务器所记录的各次时间差,计算对应于该服务器的平均响应时间,将对应于该服务器的平均响应时间,确定为该服务器当前的响应时间,否则,直接将上一次确定的该服务器的响应时间确定为该服务器当前的响应时间。

一种负载均衡设备,该负载均衡设备包括:控制单元和收发单元,其中,

控制单元,用于确定各个服务器当前的响应时间,在收发单元接收到客户端发来的访问请求报文后,控制收发单元将访问请求报文发送至当前响应时间最短的服务器;

收发单元,用于接收客户端发来的访问请求报文,并将访问请求报文发送至当前响应时间最短的服务器。

所述负载均衡设备进一步包括:计时器,

所述控制单元,通过收发单元将报文发送至各个服务器,并在将报文发送至各个服务器时,启动计时器,在收发单元接收到任意一个服务器返回的响应报文时,获取对应于该服务器的计时器的当前值,分别将针对各个服务器所获取的计时器的当前值确定为各个服务器的当前响应时间。

由此可见,在本发明中,当负载均衡设备接收到一个客户端的访问请求报文时,能够选择当前响应时间最短的服务器为客户端服务,而由于服务器对报文的响应时间能够最为准确地反映服务器当前的业务负荷情况,因此,本发明能够保证负载均衡设备所选的服务器能够在最快时间内响应客户端,即保证客户端在最短的时间内便可接收到服务器响应的报文,从而大大提高了业务服务质量。

另外,在本发明中,可以通过现有的不同服务器为不同客户端服务的过程来确定各个服务器当前的响应时间,负载均衡设备和服务器无需额外的报文交互及业务处理流程来确定响应时间,因此,减少了负载均衡设备和服务器的业务负荷量,大大增加了本发明的实用性。

附图说明

图1是采用负载均衡技术时的设备连接情况示意图。

图2是在本发明中负载均衡设备内部的基本结构示意图。

图3是在本发明中负载均衡设备内部的优化结构示意图。

图4是在本发明实施例中实现负载均衡的流程图。

具体实施方式

在实际的业务实现中,一个服务器对接收到报文的响应时间,可以最为准确地衡量出服务器当前的业务负荷情况,也就是说,响应时间短,则表明服务器当前不繁忙,能够以最快速度响应客户端,响应时间长,则表明服务器当前繁忙,无法尽快响应客户端。

针对上述特点,为了提高业务服务质量,保证服务器在最快时间内响应客户端,本发明提出了一种实现负载均衡的方法,其核心思想是:负载均衡设备确定各个服务器当前的响应时间;负载均衡设备接收到客户端发来的访问请求报文,从各个服务器中选择当前响应时间最短的服务器,并将访问请求报文发送至当前所选的服务器。

相应的,本发明还提出了一种负载均衡设备。图2是在本发明中负载均衡设备内部的基本结构示意图。参见图2,在本发明中,负载均衡设备的内部结构主要包括:控制单元和收发单元,其中,

控制单元,用于确定各个服务器当前的响应时间,在收发单元接收到客户端发来的访问请求报文后,控制收发单元将访问请求报文发送至当前响应时间最短的服务器;

收发单元,用于接收客户端发来的访问请求报文,并将访问请求报文发送至当前响应时间最短的服务器。

图3是在本发明中负载均衡设备内部的优化结构示意图。参见图2和图3,较佳地,在本发明中,负载均衡设备的内部还可以进一步包括:计时器,

所述控制单元,通过收发单元将报文发送至各个服务器,并在将报文发送至各个服务器时,启动计时器,在收发单元接收到任意一个服务器返回的响应报文时,获取对应于该服务器的计时器的当前值,分别将针对各个服务器所获取的计时器的当前值确定为各个服务器的当前响应时间。

为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。

图4是在本发明实施例中实现负载均衡的流程图。参见图2、图3和图4,在本发明中,实现负载均衡的过程包括以下步骤:

步骤401:在业务运行过程中,负载均衡设备中的控制单元确定各个服务器当前的响应时间。

这里,负载均衡设备中的控制单元可以采用包括但不限于以下两种方式来确定各个服务器当前的响应时间:

方式一、根据各个服务器对客户端报文的响应时间,确定各个服务器当前的响应时间。

在实际的业务实现中,由于各个服务器均需要接收客户端报文,并对客户端报文进行响应,因此,在该方式一中,可以利用服务器必须处理客户端报文的特点来确定各个服务器当前的响应时间,从而可以避免为负载均衡设备和服务器带来额外的业务负荷。

在该方式一中,确定各个服务器当前的响应时间的实现过程也可以具体通过以下方式A或方式B来实现:

方式A、通过同时将一个访问请求报文分别发送给各个服务器来确定各个服务器当前的响应时间。

该方式A的具体实现过程可以为:负载均衡设备中的收发单元接收任意一个客户端发来的访问请求报文,控制单元控制收发单元将该访问请求报文分别发送至各个服务器;负载均衡设备中的控制单元分别针对每一个服务器记录,收发单元将访问请求报文发送至该服务器与收发单元接收到该服务器针对访问请求报文返回响应报文的时间差;负载均衡设备中的控制单元将针对各服务器记录的时间差,确定为各个服务器当前的响应时间。

方式B、在现有的通过不同服务器为不同客户端服务的过程中确定各个服务器当前的响应时间。

在现有的通过不同服务器为不同客户端服务的过程中,可以通过不同客户端与不同服务器建立连接的过程,即将不同访问请求报文分别发送给各个服务器的过程,来确定各个服务器当前的响应时间,其具体实现过程可以为:负载均衡设备中的收发单元接收到不同客户端发来的各个访问请求报文,控制单元控制收发单元将各个访问请求报文分别发送至各个服务器;负载均衡设备中的控制单元分别针对每一个服务器记录,收发单元将访问请求报文发送至该服务器与收发单元接收到该服务器针对访问请求报文返回响应报文的时间差;负载均衡设备中的控制单元将针对各服务器记录的时间差,确定为各个服务器当前的响应时间。

或者,在现有的通过不同服务器为不同客户端服务的过程中,还可以通过建立连接后的数据交互过程,即将针对不同服务器的业务数据报文分别发送给各个服务器的过程,来确定各个服务器当前的响应时间,其具体实现过程可以为:在不同客户端与各个服务器建立连接后,针对每一个服务器,负载均衡设备中的收发单元接收客户端发来的针对该服务器的业务数据报文,控制单元控制收发单元将业务数据报文发送至该服务器,并且,控制单元针对该服务器记录,收发单元将业务数据报文发送至该服务器与收发单元接收到该服务器针对业务数据报文返回响应报文的时间差;负载均衡设备中的控制单元将针对各服务器记录的时间差,确定为各个服务器当前的响应时间。

在上述方式一中,包括方式A和方式B,由于是利用业务实现过程中的客户端报文确定各个服务器当前的响应时间,因此,为了不给负载均衡设备带来较多的业务负荷量,不影响负载均衡设备对客户端报文的处理性能,在本发明中,可以按照采样比例或者按照采样时间间隔确定各个服务器当前的响应时间。其中,

当按照采样比例确定各个服务器当前的响应时间时,对于每一个服务器,可以每当该服务器接收到所设定的采样个数的报文后,比如100个报文,确定一次该服务器当前的响应时间,其具体实现过程可以是:在上述方式A和方式B中,负载均衡设备中的收发单元在将上述报文发送至任意一个服务器之后,并在由控制单元针对该服务器执行记录时间差之前,首先由负载均衡设备中的控制单元判断从上一次确定该服务器响应时间到当前的时间长度内,发送给该服务器的报文个数是否达到预先设定的采样个数,如果是,则继续执行所述的针对该服务器记录时间差的过程及其后续过程,否则,直接将上一次确定的该服务器的响应时间确定为该服务器当前的响应时间。

当按照采样时间间隔确定各个服务器当前的响应时间时,对于每一个服务器,可以每隔一个时间周期,比如100毫秒,确定一次该服务器当前的响应时间,其具体实现过程可以是:在上述方式A和方式B中,负载均衡设备中的收发单元在将上述报文发送至任意一个服务器之后,并由控制单元针对该服务器执行记录时间差之前,首先由负载均衡设备中的控制单元判断从上一次确定该服务器响应时间到当前的时间长度是否等于预先设定的采样时间间隔,如果是,则继续执行所述的针对该服务器记录时间差的过程及其后续过程,否则,直接将上一次确定的该服务器的响应时间确定为该服务器当前的响应时间。

至此,则完成了通过方式一来实现本步骤401的过程。

方式二、根据各个服务器对负载均衡设备所发送探测报文的响应时间,确定各个服务器当前的响应时间。

该方式二的具体实现过程包括:负载均衡设备中的控制单元构造探测报文,将各个服务器分别作为探测报文的接收方,然后控制单元控制收发单元将探测报文分别发送至各个服务器;负载均衡设备中的控制单元针对每一个服务器记录,收发单元将探测报文发送至该服务器与收发单元接收到该服务器针对探测报文返回响应报文的时间差;负载均衡设备中的控制单元将针对各服务器记录的时间差,确定为各个服务器当前的响应时间。

在上述方式一和方式二中,控制单元可以利用计时器来实现记录针对每一个服务器的时间差的过程。具体为:在控制单元需要记录任意一个服务器的时间差时,该控制单元可以在收发单元将所述报文发送至该服务器时,启动计时器,并在收发单元接收到该服务器返回的响应报文时,获取计时器的当前值,将所获取的计时器的当前值记录为针对该服务器的时间差。

需要说明的是,在实际的业务实现中,各个服务器的业务负荷量是动态变化的,如果仅根据一次报文交互便确定服务器当前的响应时间,则有可能会出现未综合衡量服务器响应速度的缺点,因此,为了更加准确地确定各个服务器当前的响应时间,较佳地,在本步骤401中,可以根据各个服务器在最近一个时间段内的平均响应时间来确定各个服务器当前的响应时间,其具体实现过程包括:

在上述方式一和方式二中,在针对任意一个服务器记录时间差之后,并在将时间差确定为该服务器当前的响应时间之前,首先由负载均衡设备中的控制单元判断,从上一次确定该服务器响应时间到当前的时间长度内,针对该服务器记录时间差的次数是否达到预先设定的采样次数,如果是,则根据针对该服务器所记录的各次时间差,计算对应于该服务器的平均响应时间,也就是用针对该服务器所记录的各次时间差的和除以记录的次数,得到对应于该服务器的平均响应时间,然后将对应于该服务器的平均响应时间,确定为该服务器当前的响应时间,否则,直接将上一次确定的该服务器的响应时间确定为该服务器当前的响应时间。

步骤402:负载均衡设备中的收发单元接收到客户端发来的访问请求报文。

步骤403:负载均衡设备中的控制单元根据所确定的各个服务器当前的响应时间,从各个服务器中选择当前响应时间最短的服务器。

步骤404:负载均衡设备中的控制单元控制收发单元将访问请求报文发送至当前所选的服务器。

步骤405:当前所选的服务器根据接收到的访问请求报文与对应的客户端进行报文交互。

总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号