一种全局负载均衡中的重定向方法和装置.pdf

上传人:xia****o6 文档编号:1104111 上传时间:2018-03-31 格式:PDF 页数:15 大小:605.59KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010292087.6

申请日:

2010.09.27

公开号:

CN101938427A

公开日:

2011.01.05

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):H04L 12/56变更事项:专利权人变更前:杭州华三通信技术有限公司变更后:新华三技术有限公司变更事项:地址变更前:310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更后:310052 浙江省杭州市滨江区长河路466号|||授权|||实质审查的生效IPC(主分类):H04L 12/56申请日:20100927|||公开

IPC分类号:

H04L12/56; H04L29/08; H04L29/12

主分类号:

H04L12/56

申请人:

杭州华三通信技术有限公司

发明人:

于洪强

地址:

310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

优先权:

专利代理机构:

北京鑫媛睿博知识产权代理有限公司 11297

代理人:

龚家骅

PDF下载: PDF下载
内容摘要

本发明公开了一种全局负载均衡中的重定向方法和装置,该方法包括:负载均衡设备接收来自客户端的超文本传输协议HTTP请求,获取所述HTTP请求中携带的向所述客户端发送过重定向报文的站点的信息;所述负载均衡设备从站点列表选择除所述发送过重定向报文的站点之外的站点,作为本次的重定向站点;所述负载均衡设备根据选择出的重定向站点生成重定向报文,其中,所述负载均衡设备将其所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到所述重定向报文中;所述负载均衡设备将所述重定向报文发送到所述客户端。通过使用本发明,可以避免全局负载均衡中的重复重定向,提高全局负载均衡业务的可用性和可靠性。

权利要求书

1: 一种全局负载均衡中的重定向方法, 其特征在于, 包括 : 负载均衡设备接收来自客户端的超文本传输协议 HTTP 请求, 获取所述 HTTP 请求中携 带的向所述客户端发送过重定向报文的站点的信息 ; 所述负载均衡设备从站点列表选择除所述发送过重定向报文的站点之外的站点, 作为 本次的重定向站点 ; 所述负载均衡设备根据选择出的重定向站点生成重定向报文, 其中, 所述负载均衡设 备将其所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报 文的站点的信息添加到所述重定向报文中 ; 所述负载均衡设备将所述重定向报文发送到所述客户端。
2: 如权利要求 1 所述的方法, 其特征在于, 所述客户端通过以下方式生成 HTTP 请求 : 所述客户端接收重定向报文, 获取所述重定向报文中携带的统一资源定位符 URL 信 息, 所述 URL 信息中的查询 query 部分记录有向所述客户端发送过重定向报文的站点的信 息; 所述客户端生成包含所述 URL 信息的 HTTP 请求。
3: 如权利要求 1 所述的方法, 其特征在于, 还包括 : 当所述 HTTP 请求中没有携带向所述客户端发送过重定向报文的站点的信息时, 所述 负载均衡设备从所述站点列表中选择本次的重定向站点 ; 所述负载均衡设备根据选择出的重定向站点生成重定向报文, 其中, 所述负载均衡设 备将其所在站点的信息作为向所述客户端发送过重定向报文的站点的信息添加到所述重 定向报文中 ; 所述负载均衡设备将所述重定向报文发送到所述客户端。
4: 如权利要求 1 所述的方法, 其特征在于, 所述负载均衡设备将其所在站点的信息和 获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到所 述重定向报文中, 具体为 : 所述负载均衡设备从接收到的客户端的 HTTP 请求中获取 URL 信息, 并将该负载均衡设 备所在站点的信息添加到该 URL 信息中用于记录向所述客户端发送过重定向报文的站点 的信息的 query 部分 ; 所述负载均衡设备根据该添加了站点信息的 URL 信息生成所述重定向报文的 URL 信 息。
5: 如权利要求 1 至 4 中任一项所述的方法, 其特征在于, 所述站点的信息包括所述站点 的 IP 地址、 站点标识和根据 IP 地址生成的用于唯一标识所述站点的标识参数中的至少一 种。
6: 一种负载均衡设备, 其特征在于, 包括 : 获取模块, 用于接收来自客户端的 HTTP 请求, 获取所述 HTTP 请求中携带的向所述客户 端发送过重定向报文的站点的信息 ; 选择模块, 用于从站点列表选择除所述发送过重定向报文的站点之外的站点, 作为本 次的重定向站点 ; 生成模块, 用于根据所述选择模块选择出的重定向站点生成重定向报文, 其中, 所述生 成模块将所述负载均衡设备所在站点的信息和获取到的发送过重定向报文的站点的信息 2 作为发送过重定向报文的站点的信息添加到所述重定向报文中 ; 发送模块, 用于将所述生成模块生成的重定向报文发送到所述客户端。
7: 如权利要求 6 所述的设备, 其特征在于, 所述选择模块, 还用于在所述 HTTP 请求中没有携带向所述客户端发送过重定向报文 的站点的信息时, 从所述站点列表中选择本次的重定向站点 ; 所述生成模块, 还用于根据所述选择模块选择出的重定向站点生成重定向报文, 其中, 所述生成模块将所述负载均衡设备所在站点的信息作为向所述客户端发送过重定向报文 的站点的信息添加到所述重定向报文中。
8: 如权利要求 6 所述的设备, 其特征在于, 所述生成模块, 具体用于从接收到的客户端的 HTTP 请求中获取 URL 信息, 并将所述负 载均衡设备所在站点的信息添加到该 URL 信息中用于记录向所述客户端发送过重定向报 文的站点的信息的 query 部分 ; 根据该添加了站点信息的 URL 信息生成所述重定向报文的 URL 信息。
9: 如权利要求 6 至 8 任一项所述的设备, 其特征在于, 所述站点的信息包括所述站点的 IP 地址、 站点标识和根据 IP 地址生成的用于唯一标识所述站点的标识参数中的至少一种。

说明书


一种全局负载均衡中的重定向方法和装置

    【技术领域】
     本发明涉及通信技术领域, 特别是涉及一种全局负载均衡中的重定向方法和装置。 背景技术
     随着网络业务量的提高, 以及网络访问量和数据流量的快速增长, 现有网络的各 个核心部分的处理能力和计算强度也相应地增大, 使得单一的服务器设备根本无法承担全 部的网络任务。针对上述情况, 网络技术领域提出了负载均衡 (Load Balance, 以下简称 : LB) 技术, 以扩展现有网络设备和服务器的带宽、 增加吞吐量、 加强网络数据处理能力、 提高 网络的灵活性和可用性。
     按照负载均衡设备的网络部署的不同, 负载均衡技术可以包括局域负载均衡 (Local Load Balance, 以下简称 : LLB) 和全局负载均衡 (Global Load Balance, 以下简称 : GLB)。 如图 1 所示, 为现有技术中的局域负载均衡示意图。服务器集群集中在一个物理 位置, 负载均衡设备位于服务器集群外侧, 对客户端向服务器集群发起的服务访问进行分 发处理。
     如图 2 所示, 为现有技术中的全局负载均衡示意图。服务器集群分布在不同地理 位置, 每个服务器集群的前端均部署一台 GLB 设备, 各个 GLB 设备之间协同工作, 对来自客 户端的服务访问进行分发。全局负载均衡能够为用户提供完全透明的服务, 使用户无需关 心服务器集群的物理分布, 能够有效避免服务器集群的单点失效, 通过就近访问的方式提 高服务器集群的响应速度。 相对于局域负载均衡而言, 全局负载均衡更加可靠, 能够向访问 用户提供更好的服务体验。
     全局负载均衡使用的策略包括 HTTP(Hyper Text Transfer Protocol, 超文本传 输协议 ) 重定向技术, 该技术可以通过基于 HTTP 协议的重定向报文将用户流量引导到最优 的站点。如图 3 所示, 为现有技术中的全局负载均衡的 HTTP 重定向示意图。客户端向服务 器集群 I 发送 get( 获取 ) 请求 ; LB 设备 I 接收到 get 请求后, 发现本地服务器全部故障, 需 要将 get 请求重定向到服务器集群 II 上, 于是向客户端返回 HTTP 重定向报文 ( 如图 3 中 的实线流程所示 ) ; 客户端收到重定向报文后, 向重定向目的地址发起新的 HTTP 请求 ( 如 图 3 中的虚线流程所示 )。
     然而, 在上述全局负载均衡的 HTTP 重定向过程中, 会出现在多个站点间重复重定 向的问题。例如, 当服务器集群 I 与服务器集群 II 都发生故障时, 可能会出现 get 请求从 服务器集群 I 重定向到服务器集群 II, 又从服务器集群 II 重定向回服务器集群 I, 导致业 务不可用。
     为解决上述问题, 现有系统通过在站点之间增加私有协议交互的方式, 以规避重 复重定向的问题。例如, 全局负载均衡系统中存在三个服务器集群, 分别为服务器集群 I、 服务器集群 II 和服务器集群 III。三个服务器集群之间进行私有协议进行通信, 分别报告
     各自的可用服务器个数。当服务器集群 I 中的所有服务器发生故障, 需要选择重定向站点 时, 会在存在可用服务器的站点中选择一个最优的站点, 如果服务器集群 II 中没有可用服 务器, 服务器集群 III 中存在可用服务器, 则将 get 请求直接重定向到服务器集群 III。
     在实现本发明的过程中, 发明人发现现有技术至少存在如下问题 :
     由于站点之间的私有协议通信需要一定的通信时间, 而在该通信时间内会发生短 时间的重定向选择错误。 而在访问高峰时期, 对于需要提供高可靠性的服务商, 短时间的选 择错误也是无法接受的。 因此, 现有技术无法解决全局负载均衡中的重复重定向问题, 无法 保证全局负载均衡业务的可靠性。 发明内容 本发明提供一种全局负载均衡中的重定向方法和装置, 用以解决全局负载均衡中 的重复重定向问题。
     本发明提出一种全局负载均衡中的重定向方法, 包括 :
     负载均衡设备接收来自客户端的超文本传输协议 HTTP 请求, 获取所述 HTTP 请求 中携带的向所述客户端发送过重定向报文的站点的信息 ;
     所述负载均衡设备从站点列表选择除所述发送过重定向报文的站点之外的站点, 作为本次的重定向站点 ;
     所述负载均衡设备根据选择出的重定向站点生成重定向报文, 其中, 所述负载均 衡设备将其所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定 向报文的站点的信息添加到所述重定向报文中 ;
     所述负载均衡设备将所述重定向报文发送到所述客户端。
     其中, 所述客户端通过以下方式生成 HTTP 请求 :
     所述客户端接收重定向报文, 获取所述重定向报文中携带的统一资源定位符 URL 信息, 所述 URL 信息中的查询 query 部分记录有向所述客户端发送过重定向报文的站点的 信息 ;
     所述客户端生成包含所述 URL 信息的 HTTP 请求。
     其中, 当所述 HTTP 请求中没有携带向所述客户端发送过重定向报文的站点的信 息时, 所述负载均衡设备从所述站点列表中选择本次的重定向站点 ;
     所述负载均衡设备根据选择出的重定向站点生成重定向报文, 其中, 所述负载均 衡设备将其所在站点的信息作为向所述客户端发送过重定向报文的站点的信息添加到所 述重定向报文中 ;
     所述负载均衡设备将所述重定向报文发送到所述客户端。
     其中, 所述负载均衡设备将其所在站点的信息和获取到的发送过重定向报文的站 点的信息作为发送过重定向报文的站点的信息添加到所述重定向报文中, 具体为 :
     所述负载均衡设备从接收到的客户端的 HTTP 请求中获取 URL 信息, 并将该负载均 衡设备所在站点的信息添加到该 URL 信息中用于记录向所述客户端发送过重定向报文的 站点的信息的 query 部分 ;
     所述负载均衡设备根据该添加了站点信息的 URL 信息生成所述重定向报文的 URL 信息。
     其中, 所述站点的信息包括所述站点的 IP 地址、 站点标识和根据 IP 地址生成的用 于唯一标识所述站点的标识参数中的至少一种。
     本发明还提出一种负载均衡设备, 包括 :
     获取模块, 用于接收来自客户端的 HTTP 请求, 获取所述 HTTP 请求中携带的向所述 客户端发送过重定向报文的站点的信息 ;
     选择模块, 用于从站点列表选择除所述发送过重定向报文的站点之外的站点, 作 为本次的重定向站点 ;
     生成模块, 用于根据所述选择模块选择出的重定向站点生成重定向报文, 其中, 所 述生成模块将所述负载均衡设备所在站点的信息和获取到的发送过重定向报文的站点的 信息作为发送过重定向报文的站点的信息添加到所述重定向报文中 ;
     发送模块, 用于将所述生成模块生成的重定向报文发送到所述客户端。
     其中, 所述选择模块, 还用于在所述 HTTP 请求中没有携带向所述客户端发送过重 定向报文的站点的信息时, 从所述站点列表中选择本次的重定向站点 ;
     所述生成模块, 还用于根据所述选择模块选择出的重定向站点生成重定向报文, 其中, 所述生成模块将所述负载均衡设备所在站点的信息作为向所述客户端发送过重定向 报文的站点的信息添加到所述重定向报文中。 其中, 所述生成模块, 具体用于从接收到的客户端的 HTTP 请求中获取 URL 信息, 并 将所述负载均衡设备所在站点的信息添加到该 URL 信息中用于记录向所述客户端发送过 重定向报文的站点的信息的 query 部分 ; 根据该添加了站点信息的 URL 信息生成所述重定 向报文的 URL 信息。
     其中, 所述站点的信息包括所述站点的 IP 地址、 站点标识和根据 IP 地址生成的用 于唯一标识所述站点的标识参数中的至少一种。
     与现有技术相比, 本发明具有以下优点 : 根据客户端的 HTTP 请求得到向客户端发 送过重定向报文的站点的信息, 并根据该站点的信息选择重定向站点, 避免了全局负载均 衡的重定向过程中出现的不同服务器集群间的重复重定向, 提高全局负载均衡业务的可用 性和可靠性。
     附图说明
     图 1 为现有技术中的局域负载均衡示意图 ; 图 2 为现有技术中的全局负载均衡示意图 ; 图 3 为现有技术中的全局负载均衡的 HTTP 重定向示意图 ; 图 4 为本发明实施例中的全局负载均衡的 HTTP 重定向示意图 ; 图 5 为本发明实施例中的全局负载均衡中的重定向方法流程图 ; 图 6 为本发明实施例中的负载均衡设备的结构示意图。具体实施方式
     本发明实施例提供的技术方案中, 负载均衡设备接收来自客户端的超文本传输协 议 HTTP 请求, 获取该 HTTP 请求中携带的向客户端发送过重定向报文的站点的信息 ; 负载均 衡设备从站点列表选择除发送过重定向报文的站点之外的站点, 作为本次的重定向站点 ;负载均衡设备根据选择出的重定向站点生成重定向报文, 其中, 负载均衡设备将其所在站 点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信 息添加到重定向报文中, 并将该重定向报文发送到客户端, 从而避免全局负载均衡中的重 复重定向。
     下面将结合本发明中的附图, 对本发明中的技术方案进行清楚、 完整的描述, 显 然, 所描述的实施例是本发明的一部分实施例, 而不是全部的实施例。 基于本发明中的实施 例, 本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例, 都属 于本发明保护的范围。
     如图 4 所示, 为本发明实施例中的全局负载均衡的 HTTP 重定向示意图, 包括客户 端、 服务器集群 I、 与服务器集群 I 连接的 LB 设备 I、 服务器集群 II、 与服务器集群 II 连接 的 LB 设备 II、 服务器集群 III, 以及与服务器集群 III 连接的 LB 设备 III。通常, 各个 LB 设备中维护有站点列表, 该站点列表中包含各站点的信息, 即可供选择作为重定向站点的 LB 设备的信息。LB 设备对接收到的 get 请求进行重定向时, 可以从该站点列表中选择重定 向站点。
     在上述架构中, 客户端向 LB 设备 I 发送 get 请求, 该 get 请求中携带 LB 设备 I 的 IP 地址作为该 get 请求的目的地址, 即该 get 请求中的 URL 表示为 : http://1.1.1.1。当 与 LB 设备 I 连接的服务器集群 I 中没有可用的服务器 ( 即 LB 设备 I 所在站点无法响应该 get 请求 ) 时, LB 设备 I 根据站点列表选择 LB 设备 II 作为重定向站点, 并根据 LB 设备 II 的信息生成重定向报文, 并将该重定向报文发送到客户端, 该重定向报文的 URL(Universal Resource Locator, 统一资源定位符 ) 信息中携带 LB 设备 II 的 IP 地址作为重定向站点地 址, 上述 URL 信息中还携带向客户端发送过重定向报文的站点的信息, 即 LB 设备 I 的标识 参数, 其中, LB 设备 I 的标识参数可设置在 URL 信息中, 如重定向报文的 URL 信息表示为 : http://2.2.2.2 ? SrvKey = 01010101, 其中, http 为 URL 信息中的 scheme( 通信协议 ) 部分的内容, 表示该 URL 信息使用 HTTP 协议 ; 2.2.2.2 为 URL 信息中的 host( 主机 ) 部分 的内容, 表示重定向站点地址, 即 LB 设备 II 的地址 ; SrvKey = 01010101 为 URL 信息中的 query( 查询 ) 部分的内容, 表示 LB 设备 I 向客户端发送过重定向报文 (01010101 是 LB 设 备 I 的标识参数 )。
     客户端接收来自 LB 设备 I 的重定向报文, 获取该重定向报文中携带的 URL 信息, 生成包含该 URL 信息的 get 请求, 并向 LB 设备 II 发送该 get 请求, 该 get 请求中的 URL 信 息包括 LB 设备 II 的 IP 地址作为该 get 请求的目的地址, 该 URL 信息的 query 部分记录有 向客户端发送过重定向报文的站点的信息, 例如, LB 设备 I 的标识参数。在具体实现中, 根 据现有协议, 客户端可以直接将重定向报文的 URL 信息作为生成的 get 请求的 URL 信息, 即: http://2.2.2.2 ? SrvKey = 01010101, 其中, 2.2.2.2 是目标站点 ( 即 LB 设备 II) 的 地址, SrvKey = 01010101 表示向客户端发送过重定向报文的站点的信息, 此处为 LB 设备 I 的标识参数。如果与 LB 设备 II 连接的服务器集群 II 中也没有可用的服务器, LB 设备 II 对接收到的 get 请求进行重定向处理, 该重定向处理流程如图 5 所示, 包括以下步骤 :
     步骤 501, LB 设备 II 解析来自客户端的 get 请求。
     该步骤中, 客户端接收到 LB 设备 I 发送的重定向报文后, 通过解析该报文中的 URL 信息获知重定向站点为 LB 设备 II 所在站点, 并向 LB 设备 II 发送包含上述 URL 信息的 get请求, 该 URL 信息中携带在本次全局负载均衡过程中向该客户端发送过重定向报文的站点 的信息, 这里是 LB 设备 I 所在站点的信息。在本发明实施例中, 该 get 请求消息中的 URL 信息可表示为 : http://2.2.2.2 ? SrvKey = 01010101。
     步骤 502, LB 设备 II 根据解析结果判断该 get 请求中是否携带有向客户端发送过 重定向报文的站点的信息。如果判断结果为是, 则执行步骤 503 ; 否则, 执行步骤 504。
     其中, 向客户端发送过重定向报文的站点的信息可以是标识参数。该标识参数可 以为 SrvKey 参数, 该参数与站点的 IP 地址相对应, 可以根据 IP 地址生成。例如, 本实施例 中, 发送过重定向报文的站点为 LB 设备 I, LB 设备 I 的 IP 地址为 1.1.1.1, 可以将该 IP 地 址的每段转换成两位的十进制数, 并将每段转换得到的十进制数进行合并, 相应的 SrvKey 参数可以为 “SrvKey = 01010101” 。需要说明的是, 由于 IP 地址的每段所能表示的十进制 数最大不超过 255, 也可以将 IP 地址的每段转换成三位的十进制整数, 并将转换的结果进 行合并, 得到相应的 SrvKey 参数, 这样可以保证标识参数与 IP 地址的一一对应关系。
     步骤 503, LB 设备 II 从站点列表中选择除该发送过重定向报文的站点以外的其他 站点作为本次重定向站点。
     具体地, 在 get 请求中包含的发送过重定向报文的站点信息表示为站点标识参数 的情况下, 例如发送过重定向报文的站点的标识参数 “SrvKey = 01010101” 时, LB 设备可 以通过解析该标识参数, 得到发送过重定向报文的站点的 IP 地址, 即 1.1.1.1。 由于站点列 表中包含可供选择作为重定向站点的 LB 设备的 IP 地址 (LB 设备的 IP 地址即为该设备所 在站点的 IP 地址 ), LB 设备 II 从该站点列表中选择不同于 1.1.1.1 的 IP 地址作为重定向 地址, 与重定向地址对应的 LB 设备即为重定向站点。LB 设备 II 可针对该客户端复制一份 站点列表副本, 并将发送过重定向报文的站点的 IP 地址从该站点列表副本中删除或标记 为不可用, 以避免选择发送过重定向报文的站点作为重定向站点。
     需要说明的是, 在执行完步骤后, 继续执行步骤 505。
     步骤 504, LB 设备 II 从站点列表中选择重定向站点。
     具体地, 当 LB 设备 II 判断 get 请求中没有携带向客户端发送过重定向报文的站 点的信息时, LB 设备 II 从站点列表中选择重定向站点。
     步骤 505, LB 设备 II 生成重定向报文, 并将重定向报文发送到客户端。
     LB 设备 II 在生成重定向报文时, 将其自身所在站点的信息作为向客户端发送过 重定向报文的站点信息添加到该重定向报文中。具体地, 在 get 请求中携带的发送过重 定向报文的站点信息表示为站点标识参数的情况下, LB 设备 II 可以根据自身的 IP 地址 计算得到相应的标识参数, 并将该标识参数添加到从 get 请求中获得的 URL 信息的 query 部分中。本实施例中, LB 设备 II 的 IP 地址为 2.2.2.2 时, 相应的 SrvKey 参数可以为 “02020202” , LB 设备 II 所接收到的 get 请求中的 URL 表示为 : “http://2.2.2.2/ ? SrvKey = 01010101” , 其中, 标识参数 “SrvKey = 01010101” 表示向客户端发送过重定向报文的站 点, 此时, LB 设备 II 将其自身的标识参数 “02020202” 添加到该 URL 信息中, 得到添加了站 点信息的 URL 信息 : http://2.2.2.2/ ? SrvKey = 0101010102020202, 即表示向客户端发 送过重定向报文的站点为 LB 设备 I 和 LB 设备 II 所在的站点。
     当 LB 设备 II 从 get 请求中解析得到的用于表示向客户端发送过重定向报文的站 点的 URL 信息为 http://2.2.2.2/ 时, 表明目前还没有向客户端发送过重定向报文的站点,LB 设备 II 将其自身的标识参数添加到该 URL 信息的 query 部分后, 该 URL 信息可以表示为 http://2.2.2.2/ ? SrvKey = 02020202, 表明当前向客户端发送过重定向报文的站点为 LB 设备 II 所在的站点。
     LB 设备 II 在生成重定向报文时, 根据添加了站点信息的 URL 信息生成重定向报 文的 URL 信息, 即保留该添加了站点信息的 URL 信息的 query 部分, 将该添加了站点信息的 URL 信息中的 host 部分替换为选择出的重定向站点的信息, 重定向站点的信息可以为重定 向站点的 IP 地址。
     LB 设备 II 生成的重定向报文的 URL 信息可以表示为 Location( 位置 ) 信息的 形式, 该 Location 信息中携带重定向站点的 IP 地址, 以及向客户端发送过重定向报文的 站点的信息, 如采用 URL 方式表示的站点标识参数。例如, 当重定向站点为 LB 设备 III, LB 设备 III 的 IP 地址为 3.3.3.3, 向客户端发送过重定向报文的站点为 LB 设备 I 和 LB 设备 II 所在的站点时, LB 设备 II 生成的重定向报文中的 Location 信息为 : “Location : http://3.3.3.3/ ? SrvKey = 0101010102020202” 。
     需要说明的是, 在本发明的其他实施方式中, 客户端向 LB 设备发送的 get 请求中, 也可以携带发送过重定向报文的站点的 IP 地址或站点标识等信息, 以代替发送过重定向 报文的站点的标识参数。LB 设备向客户端发送的重定向报文中, 也可以携带该发送过重定 向报文的站点的 IP 地址或站点标识等信息, 以代替发送过重定向报文的站点的标识参数。
     在本发明的其他实施方式中, 向客户端发送过重定向报文的站点的信息还可以携 带在除 get 请求之外的其他 HTTP 请求中发送给 LB 设备, 例如, 携带在 post 请求中。
     根据以上描述可以看出, 通过在重定向报文和 HTTP 请求中添加向客户端发送过 重定向报文的站点的信息, 从而协助后续站点选择重定向站点, 避免了全局负载均衡的重 定向过程中出现的不同服务器集群间的重复重定向, 提高了全局负载均衡业务的可用性和 可靠性。当然, 实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优 点。
     根据上述实施方式中提供的全局负载均衡中的重定向方法, 本发明实施例还提供 了应用上述重定向方法的装置。
     如图 6 所示, 为本发明实施例中的负载均衡设备的结构示意图, 包括 :
     获取模块 610, 用于接收来自客户端的 HTTP 请求, 获取所述 HTTP 请求中携带的向 客户端发送过重定向报文的站点的信息。
     其中, 站点的信息包括站点的 IP 地址、 站点标识和根据 IP 地址生成的用于唯一标 识该站点的标识参数中的至少一种。
     选择模块 620, 用于从站点列表选择除发送过重定向报文的站点之外的站点, 作为 本次的重定向站点。
     具体地, 选择模块 620 可以将发送过重定向报文的站点作为不可用站点, 并从排 除该不可用站点的站点列表中选择重定向站点。
     生成模块 630, 用于根据选择模块 620 选择出的重定向站点的信息生成重定向报 文, 其中, 生成模块 630 将负载均衡设备所在站点的信息和获取到的发送过重定向报文的 站点的信息作为发送过重定向报文的站点的信息添加到重定向报文中。
     具体地, 生成模块 630 可以从接收到的客户端的 HTTP 请求中获取 URL 信息, 并将负载均衡设备所在站点的信息添加到该 URL 信息中用于记录向客户端发送过重定向报文 的站点的信息的 query 部分 ; 根据该添加了站点信息的 URL 信息生成重定向报文的 URL 信 息。
     发送模块 640, 用于将生成模块 630 生成的重定向报文发送到客户端。
     此外, 当获取模块 610 接收到的 HTTP 请求中没有携带向客户端发送过重定向报文 的站点的信息时, 上述选择模块 620 还用于在从站点列表中选择本次的重定向站点 ; 相应 地, 上述生成模块 630, 还用于根据选择模块 620 选择出的重定向站点生成重定向报文, 其 中, 生成模块 630 将负载均衡设备所在站点的信息作为向客户端发送过重定向报文的站点 的信息添加到重定向报文中。
     本发明的实施例包括以下优点, 通过在重定向报文和 HTTP 请求中添加向客户端 发送过重定向报文的站点的信息, 协助后续站点选择重定向站点, 避免了全局负载均衡的 重定向过程中出现的不同服务器集群间的重复重定向, 提高全局负载均衡业务的可用性和 可靠性。当然, 实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优 点。
     本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分 布于实施例的装置中, 也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块, 也可以进一步拆分成多个子模块。 通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现, 当然也可以通过硬件, 但很多情况下前者是更 佳的实施方式。基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括若 干指令用以使得一台终端设备 ( 可以是手机, 个人计算机, 服务器, 或者网络设备等 ) 执行 本发明各个实施例所述的方法。
     以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术人 员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也应 视本发明的保护范围。
    

一种全局负载均衡中的重定向方法和装置.pdf_第1页
第1页 / 共15页
一种全局负载均衡中的重定向方法和装置.pdf_第2页
第2页 / 共15页
一种全局负载均衡中的重定向方法和装置.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种全局负载均衡中的重定向方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种全局负载均衡中的重定向方法和装置.pdf(15页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101938427A43申请公布日20110105CN101938427ACN101938427A21申请号201010292087622申请日20100927H04L12/56200601H04L29/08200601H04L29/1220060171申请人杭州华三通信技术有限公司地址310053浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地72发明人于洪强74专利代理机构北京鑫媛睿博知识产权代理有限公司11297代理人龚家骅54发明名称一种全局负载均衡中的重定向方法和装置57摘要本发明公开了一种全局负载均衡中的重定向方法和装置,该方法包括负载均。

2、衡设备接收来自客户端的超文本传输协议HTTP请求,获取所述HTTP请求中携带的向所述客户端发送过重定向报文的站点的信息;所述负载均衡设备从站点列表选择除所述发送过重定向报文的站点之外的站点,作为本次的重定向站点;所述负载均衡设备根据选择出的重定向站点生成重定向报文,其中,所述负载均衡设备将其所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到所述重定向报文中;所述负载均衡设备将所述重定向报文发送到所述客户端。通过使用本发明,可以避免全局负载均衡中的重复重定向,提高全局负载均衡业务的可用性和可靠性。51INTCL19中华人民共和国国家知识产权局12发明专利申。

3、请权利要求书2页说明书7页附图5页CN101938430A1/2页21一种全局负载均衡中的重定向方法,其特征在于,包括负载均衡设备接收来自客户端的超文本传输协议HTTP请求,获取所述HTTP请求中携带的向所述客户端发送过重定向报文的站点的信息;所述负载均衡设备从站点列表选择除所述发送过重定向报文的站点之外的站点,作为本次的重定向站点;所述负载均衡设备根据选择出的重定向站点生成重定向报文,其中,所述负载均衡设备将其所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到所述重定向报文中;所述负载均衡设备将所述重定向报文发送到所述客户端。2如权利要求1所述的方法,。

4、其特征在于,所述客户端通过以下方式生成HTTP请求所述客户端接收重定向报文,获取所述重定向报文中携带的统一资源定位符URL信息,所述URL信息中的查询QUERY部分记录有向所述客户端发送过重定向报文的站点的信息;所述客户端生成包含所述URL信息的HTTP请求。3如权利要求1所述的方法,其特征在于,还包括当所述HTTP请求中没有携带向所述客户端发送过重定向报文的站点的信息时,所述负载均衡设备从所述站点列表中选择本次的重定向站点;所述负载均衡设备根据选择出的重定向站点生成重定向报文,其中,所述负载均衡设备将其所在站点的信息作为向所述客户端发送过重定向报文的站点的信息添加到所述重定向报文中;所述负载。

5、均衡设备将所述重定向报文发送到所述客户端。4如权利要求1所述的方法,其特征在于,所述负载均衡设备将其所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到所述重定向报文中,具体为所述负载均衡设备从接收到的客户端的HTTP请求中获取URL信息,并将该负载均衡设备所在站点的信息添加到该URL信息中用于记录向所述客户端发送过重定向报文的站点的信息的QUERY部分;所述负载均衡设备根据该添加了站点信息的URL信息生成所述重定向报文的URL信息。5如权利要求1至4中任一项所述的方法,其特征在于,所述站点的信息包括所述站点的IP地址、站点标识和根据IP地址生成的用于唯一。

6、标识所述站点的标识参数中的至少一种。6一种负载均衡设备,其特征在于,包括获取模块,用于接收来自客户端的HTTP请求,获取所述HTTP请求中携带的向所述客户端发送过重定向报文的站点的信息;选择模块,用于从站点列表选择除所述发送过重定向报文的站点之外的站点,作为本次的重定向站点;生成模块,用于根据所述选择模块选择出的重定向站点生成重定向报文,其中,所述生成模块将所述负载均衡设备所在站点的信息和获取到的发送过重定向报文的站点的信息权利要求书CN101938427ACN101938430A2/2页3作为发送过重定向报文的站点的信息添加到所述重定向报文中;发送模块,用于将所述生成模块生成的重定向报文发送。

7、到所述客户端。7如权利要求6所述的设备,其特征在于,所述选择模块,还用于在所述HTTP请求中没有携带向所述客户端发送过重定向报文的站点的信息时,从所述站点列表中选择本次的重定向站点;所述生成模块,还用于根据所述选择模块选择出的重定向站点生成重定向报文,其中,所述生成模块将所述负载均衡设备所在站点的信息作为向所述客户端发送过重定向报文的站点的信息添加到所述重定向报文中。8如权利要求6所述的设备,其特征在于,所述生成模块,具体用于从接收到的客户端的HTTP请求中获取URL信息,并将所述负载均衡设备所在站点的信息添加到该URL信息中用于记录向所述客户端发送过重定向报文的站点的信息的QUERY部分;根。

8、据该添加了站点信息的URL信息生成所述重定向报文的URL信息。9如权利要求6至8任一项所述的设备,其特征在于,所述站点的信息包括所述站点的IP地址、站点标识和根据IP地址生成的用于唯一标识所述站点的标识参数中的至少一种。权利要求书CN101938427ACN101938430A1/7页4一种全局负载均衡中的重定向方法和装置技术领域0001本发明涉及通信技术领域,特别是涉及一种全局负载均衡中的重定向方法和装置。背景技术0002随着网络业务量的提高,以及网络访问量和数据流量的快速增长,现有网络的各个核心部分的处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担全部的网络任务。针对上述情。

9、况,网络技术领域提出了负载均衡LOADBALANCE,以下简称LB技术,以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。0003按照负载均衡设备的网络部署的不同,负载均衡技术可以包括局域负载均衡LOCALLOADBALANCE,以下简称LLB和全局负载均衡GLOBALLOADBALANCE,以下简称GLB。0004如图1所示,为现有技术中的局域负载均衡示意图。服务器集群集中在一个物理位置,负载均衡设备位于服务器集群外侧,对客户端向服务器集群发起的服务访问进行分发处理。0005如图2所示,为现有技术中的全局负载均衡示意图。服务器集群分布在不同地理位置。

10、,每个服务器集群的前端均部署一台GLB设备,各个GLB设备之间协同工作,对来自客户端的服务访问进行分发。全局负载均衡能够为用户提供完全透明的服务,使用户无需关心服务器集群的物理分布,能够有效避免服务器集群的单点失效,通过就近访问的方式提高服务器集群的响应速度。相对于局域负载均衡而言,全局负载均衡更加可靠,能够向访问用户提供更好的服务体验。0006全局负载均衡使用的策略包括HTTPHYPERTEXTTRANSFERPROTOCOL,超文本传输协议重定向技术,该技术可以通过基于HTTP协议的重定向报文将用户流量引导到最优的站点。如图3所示,为现有技术中的全局负载均衡的HTTP重定向示意图。客户端向。

11、服务器集群I发送GET获取请求;LB设备I接收到GET请求后,发现本地服务器全部故障,需要将GET请求重定向到服务器集群II上,于是向客户端返回HTTP重定向报文如图3中的实线流程所示;客户端收到重定向报文后,向重定向目的地址发起新的HTTP请求如图3中的虚线流程所示。0007然而,在上述全局负载均衡的HTTP重定向过程中,会出现在多个站点间重复重定向的问题。例如,当服务器集群I与服务器集群II都发生故障时,可能会出现GET请求从服务器集群I重定向到服务器集群II,又从服务器集群II重定向回服务器集群I,导致业务不可用。0008为解决上述问题,现有系统通过在站点之间增加私有协议交互的方式,以规。

12、避重复重定向的问题。例如,全局负载均衡系统中存在三个服务器集群,分别为服务器集群I、服务器集群II和服务器集群III。三个服务器集群之间进行私有协议进行通信,分别报告说明书CN101938427ACN101938430A2/7页5各自的可用服务器个数。当服务器集群I中的所有服务器发生故障,需要选择重定向站点时,会在存在可用服务器的站点中选择一个最优的站点,如果服务器集群II中没有可用服务器,服务器集群III中存在可用服务器,则将GET请求直接重定向到服务器集群III。0009在实现本发明的过程中,发明人发现现有技术至少存在如下问题0010由于站点之间的私有协议通信需要一定的通信时间,而在该通信。

13、时间内会发生短时间的重定向选择错误。而在访问高峰时期,对于需要提供高可靠性的服务商,短时间的选择错误也是无法接受的。因此,现有技术无法解决全局负载均衡中的重复重定向问题,无法保证全局负载均衡业务的可靠性。发明内容0011本发明提供一种全局负载均衡中的重定向方法和装置,用以解决全局负载均衡中的重复重定向问题。0012本发明提出一种全局负载均衡中的重定向方法,包括0013负载均衡设备接收来自客户端的超文本传输协议HTTP请求,获取所述HTTP请求中携带的向所述客户端发送过重定向报文的站点的信息;0014所述负载均衡设备从站点列表选择除所述发送过重定向报文的站点之外的站点,作为本次的重定向站点;00。

14、15所述负载均衡设备根据选择出的重定向站点生成重定向报文,其中,所述负载均衡设备将其所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到所述重定向报文中;0016所述负载均衡设备将所述重定向报文发送到所述客户端。0017其中,所述客户端通过以下方式生成HTTP请求0018所述客户端接收重定向报文,获取所述重定向报文中携带的统一资源定位符URL信息,所述URL信息中的查询QUERY部分记录有向所述客户端发送过重定向报文的站点的信息;0019所述客户端生成包含所述URL信息的HTTP请求。0020其中,当所述HTTP请求中没有携带向所述客户端发送过重定向报文的。

15、站点的信息时,所述负载均衡设备从所述站点列表中选择本次的重定向站点;0021所述负载均衡设备根据选择出的重定向站点生成重定向报文,其中,所述负载均衡设备将其所在站点的信息作为向所述客户端发送过重定向报文的站点的信息添加到所述重定向报文中;0022所述负载均衡设备将所述重定向报文发送到所述客户端。0023其中,所述负载均衡设备将其所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到所述重定向报文中,具体为0024所述负载均衡设备从接收到的客户端的HTTP请求中获取URL信息,并将该负载均衡设备所在站点的信息添加到该URL信息中用于记录向所述客户端发送过重定向。

16、报文的站点的信息的QUERY部分;0025所述负载均衡设备根据该添加了站点信息的URL信息生成所述重定向报文的URL信息。说明书CN101938427ACN101938430A3/7页60026其中,所述站点的信息包括所述站点的IP地址、站点标识和根据IP地址生成的用于唯一标识所述站点的标识参数中的至少一种。0027本发明还提出一种负载均衡设备,包括0028获取模块,用于接收来自客户端的HTTP请求,获取所述HTTP请求中携带的向所述客户端发送过重定向报文的站点的信息;0029选择模块,用于从站点列表选择除所述发送过重定向报文的站点之外的站点,作为本次的重定向站点;0030生成模块,用于根据所。

17、述选择模块选择出的重定向站点生成重定向报文,其中,所述生成模块将所述负载均衡设备所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到所述重定向报文中;0031发送模块,用于将所述生成模块生成的重定向报文发送到所述客户端。0032其中,所述选择模块,还用于在所述HTTP请求中没有携带向所述客户端发送过重定向报文的站点的信息时,从所述站点列表中选择本次的重定向站点;0033所述生成模块,还用于根据所述选择模块选择出的重定向站点生成重定向报文,其中,所述生成模块将所述负载均衡设备所在站点的信息作为向所述客户端发送过重定向报文的站点的信息添加到所述重定向报文中。0。

18、034其中,所述生成模块,具体用于从接收到的客户端的HTTP请求中获取URL信息,并将所述负载均衡设备所在站点的信息添加到该URL信息中用于记录向所述客户端发送过重定向报文的站点的信息的QUERY部分;根据该添加了站点信息的URL信息生成所述重定向报文的URL信息。0035其中,所述站点的信息包括所述站点的IP地址、站点标识和根据IP地址生成的用于唯一标识所述站点的标识参数中的至少一种。0036与现有技术相比,本发明具有以下优点根据客户端的HTTP请求得到向客户端发送过重定向报文的站点的信息,并根据该站点的信息选择重定向站点,避免了全局负载均衡的重定向过程中出现的不同服务器集群间的重复重定向,。

19、提高全局负载均衡业务的可用性和可靠性。附图说明0037图1为现有技术中的局域负载均衡示意图;0038图2为现有技术中的全局负载均衡示意图;0039图3为现有技术中的全局负载均衡的HTTP重定向示意图;0040图4为本发明实施例中的全局负载均衡的HTTP重定向示意图;0041图5为本发明实施例中的全局负载均衡中的重定向方法流程图;0042图6为本发明实施例中的负载均衡设备的结构示意图。具体实施方式0043本发明实施例提供的技术方案中,负载均衡设备接收来自客户端的超文本传输协议HTTP请求,获取该HTTP请求中携带的向客户端发送过重定向报文的站点的信息;负载均衡设备从站点列表选择除发送过重定向报文。

20、的站点之外的站点,作为本次的重定向站点;说明书CN101938427ACN101938430A4/7页7负载均衡设备根据选择出的重定向站点生成重定向报文,其中,负载均衡设备将其所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到重定向报文中,并将该重定向报文发送到客户端,从而避免全局负载均衡中的重复重定向。0044下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

21、。0045如图4所示,为本发明实施例中的全局负载均衡的HTTP重定向示意图,包括客户端、服务器集群I、与服务器集群I连接的LB设备I、服务器集群II、与服务器集群II连接的LB设备II、服务器集群III,以及与服务器集群III连接的LB设备III。通常,各个LB设备中维护有站点列表,该站点列表中包含各站点的信息,即可供选择作为重定向站点的LB设备的信息。LB设备对接收到的GET请求进行重定向时,可以从该站点列表中选择重定向站点。0046在上述架构中,客户端向LB设备I发送GET请求,该GET请求中携带LB设备I的IP地址作为该GET请求的目的地址,即该GET请求中的URL表示为HTTP/111。

22、1。当与LB设备I连接的服务器集群I中没有可用的服务器即LB设备I所在站点无法响应该GET请求时,LB设备I根据站点列表选择LB设备II作为重定向站点,并根据LB设备II的信息生成重定向报文,并将该重定向报文发送到客户端,该重定向报文的URLUNIVERSALRESOURCELOCATOR,统一资源定位符信息中携带LB设备II的IP地址作为重定向站点地址,上述URL信息中还携带向客户端发送过重定向报文的站点的信息,即LB设备I的标识参数,其中,LB设备I的标识参数可设置在URL信息中,如重定向报文的URL信息表示为HTTP/2222SRVKEY01010101,其中,HTTP为URL信息中的S。

23、CHEME通信协议部分的内容,表示该URL信息使用HTTP协议;2222为URL信息中的HOST主机部分的内容,表示重定向站点地址,即LB设备II的地址;SRVKEY01010101为URL信息中的QUERY查询部分的内容,表示LB设备I向客户端发送过重定向报文01010101是LB设备I的标识参数。0047客户端接收来自LB设备I的重定向报文,获取该重定向报文中携带的URL信息,生成包含该URL信息的GET请求,并向LB设备II发送该GET请求,该GET请求中的URL信息包括LB设备II的IP地址作为该GET请求的目的地址,该URL信息的QUERY部分记录有向客户端发送过重定向报文的站点的信。

24、息,例如,LB设备I的标识参数。在具体实现中,根据现有协议,客户端可以直接将重定向报文的URL信息作为生成的GET请求的URL信息,即HTTP/2222SRVKEY01010101,其中,2222是目标站点即LB设备II的地址,SRVKEY01010101表示向客户端发送过重定向报文的站点的信息,此处为LB设备I的标识参数。如果与LB设备II连接的服务器集群II中也没有可用的服务器,LB设备II对接收到的GET请求进行重定向处理,该重定向处理流程如图5所示,包括以下步骤0048步骤501,LB设备II解析来自客户端的GET请求。0049该步骤中,客户端接收到LB设备I发送的重定向报文后,通过解。

25、析该报文中的URL信息获知重定向站点为LB设备II所在站点,并向LB设备II发送包含上述URL信息的GET说明书CN101938427ACN101938430A5/7页8请求,该URL信息中携带在本次全局负载均衡过程中向该客户端发送过重定向报文的站点的信息,这里是LB设备I所在站点的信息。在本发明实施例中,该GET请求消息中的URL信息可表示为HTTP/2222SRVKEY01010101。0050步骤502,LB设备II根据解析结果判断该GET请求中是否携带有向客户端发送过重定向报文的站点的信息。如果判断结果为是,则执行步骤503;否则,执行步骤504。0051其中,向客户端发送过重定向报文。

26、的站点的信息可以是标识参数。该标识参数可以为SRVKEY参数,该参数与站点的IP地址相对应,可以根据IP地址生成。例如,本实施例中,发送过重定向报文的站点为LB设备I,LB设备I的IP地址为1111,可以将该IP地址的每段转换成两位的十进制数,并将每段转换得到的十进制数进行合并,相应的SRVKEY参数可以为“SRVKEY01010101”。需要说明的是,由于IP地址的每段所能表示的十进制数最大不超过255,也可以将IP地址的每段转换成三位的十进制整数,并将转换的结果进行合并,得到相应的SRVKEY参数,这样可以保证标识参数与IP地址的一一对应关系。0052步骤503,LB设备II从站点列表中选。

27、择除该发送过重定向报文的站点以外的其他站点作为本次重定向站点。0053具体地,在GET请求中包含的发送过重定向报文的站点信息表示为站点标识参数的情况下,例如发送过重定向报文的站点的标识参数“SRVKEY01010101”时,LB设备可以通过解析该标识参数,得到发送过重定向报文的站点的IP地址,即1111。由于站点列表中包含可供选择作为重定向站点的LB设备的IP地址LB设备的IP地址即为该设备所在站点的IP地址,LB设备II从该站点列表中选择不同于1111的IP地址作为重定向地址,与重定向地址对应的LB设备即为重定向站点。LB设备II可针对该客户端复制一份站点列表副本,并将发送过重定向报文的站点。

28、的IP地址从该站点列表副本中删除或标记为不可用,以避免选择发送过重定向报文的站点作为重定向站点。0054需要说明的是,在执行完步骤后,继续执行步骤505。0055步骤504,LB设备II从站点列表中选择重定向站点。0056具体地,当LB设备II判断GET请求中没有携带向客户端发送过重定向报文的站点的信息时,LB设备II从站点列表中选择重定向站点。0057步骤505,LB设备II生成重定向报文,并将重定向报文发送到客户端。0058LB设备II在生成重定向报文时,将其自身所在站点的信息作为向客户端发送过重定向报文的站点信息添加到该重定向报文中。具体地,在GET请求中携带的发送过重定向报文的站点信息。

29、表示为站点标识参数的情况下,LB设备II可以根据自身的IP地址计算得到相应的标识参数,并将该标识参数添加到从GET请求中获得的URL信息的QUERY部分中。本实施例中,LB设备II的IP地址为2222时,相应的SRVKEY参数可以为“02020202”,LB设备II所接收到的GET请求中的URL表示为“HTTP/2222/SRVKEY01010101”,其中,标识参数“SRVKEY01010101”表示向客户端发送过重定向报文的站点,此时,LB设备II将其自身的标识参数“02020202”添加到该URL信息中,得到添加了站点信息的URL信息HTTP/2222/SRVKEY01010101020。

30、20202,即表示向客户端发送过重定向报文的站点为LB设备I和LB设备II所在的站点。0059当LB设备II从GET请求中解析得到的用于表示向客户端发送过重定向报文的站点的URL信息为HTTP/2222/时,表明目前还没有向客户端发送过重定向报文的站点,说明书CN101938427ACN101938430A6/7页9LB设备II将其自身的标识参数添加到该URL信息的QUERY部分后,该URL信息可以表示为HTTP/2222/SRVKEY02020202,表明当前向客户端发送过重定向报文的站点为LB设备II所在的站点。0060LB设备II在生成重定向报文时,根据添加了站点信息的URL信息生成重定。

31、向报文的URL信息,即保留该添加了站点信息的URL信息的QUERY部分,将该添加了站点信息的URL信息中的HOST部分替换为选择出的重定向站点的信息,重定向站点的信息可以为重定向站点的IP地址。0061LB设备II生成的重定向报文的URL信息可以表示为LOCATION位置信息的形式,该LOCATION信息中携带重定向站点的IP地址,以及向客户端发送过重定向报文的站点的信息,如采用URL方式表示的站点标识参数。例如,当重定向站点为LB设备III,LB设备III的IP地址为3333,向客户端发送过重定向报文的站点为LB设备I和LB设备II所在的站点时,LB设备II生成的重定向报文中的LOCATIO。

32、N信息为“LOCATIONHTTP/3333/SRVKEY0101010102020202”。0062需要说明的是,在本发明的其他实施方式中,客户端向LB设备发送的GET请求中,也可以携带发送过重定向报文的站点的IP地址或站点标识等信息,以代替发送过重定向报文的站点的标识参数。LB设备向客户端发送的重定向报文中,也可以携带该发送过重定向报文的站点的IP地址或站点标识等信息,以代替发送过重定向报文的站点的标识参数。0063在本发明的其他实施方式中,向客户端发送过重定向报文的站点的信息还可以携带在除GET请求之外的其他HTTP请求中发送给LB设备,例如,携带在POST请求中。0064根据以上描述可。

33、以看出,通过在重定向报文和HTTP请求中添加向客户端发送过重定向报文的站点的信息,从而协助后续站点选择重定向站点,避免了全局负载均衡的重定向过程中出现的不同服务器集群间的重复重定向,提高了全局负载均衡业务的可用性和可靠性。当然,实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优点。0065根据上述实施方式中提供的全局负载均衡中的重定向方法,本发明实施例还提供了应用上述重定向方法的装置。0066如图6所示,为本发明实施例中的负载均衡设备的结构示意图,包括0067获取模块610,用于接收来自客户端的HTTP请求,获取所述HTTP请求中携带的向客户端发送过重定向报文的站点的信息。006。

34、8其中,站点的信息包括站点的IP地址、站点标识和根据IP地址生成的用于唯一标识该站点的标识参数中的至少一种。0069选择模块620,用于从站点列表选择除发送过重定向报文的站点之外的站点,作为本次的重定向站点。0070具体地,选择模块620可以将发送过重定向报文的站点作为不可用站点,并从排除该不可用站点的站点列表中选择重定向站点。0071生成模块630,用于根据选择模块620选择出的重定向站点的信息生成重定向报文,其中,生成模块630将负载均衡设备所在站点的信息和获取到的发送过重定向报文的站点的信息作为发送过重定向报文的站点的信息添加到重定向报文中。0072具体地,生成模块630可以从接收到的客。

35、户端的HTTP请求中获取URL信息,并将说明书CN101938427ACN101938430A7/7页10负载均衡设备所在站点的信息添加到该URL信息中用于记录向客户端发送过重定向报文的站点的信息的QUERY部分;根据该添加了站点信息的URL信息生成重定向报文的URL信息。0073发送模块640,用于将生成模块630生成的重定向报文发送到客户端。0074此外,当获取模块610接收到的HTTP请求中没有携带向客户端发送过重定向报文的站点的信息时,上述选择模块620还用于在从站点列表中选择本次的重定向站点;相应地,上述生成模块630,还用于根据选择模块620选择出的重定向站点生成重定向报文,其中,。

36、生成模块630将负载均衡设备所在站点的信息作为向客户端发送过重定向报文的站点的信息添加到重定向报文中。0075本发明的实施例包括以下优点,通过在重定向报文和HTTP请求中添加向客户端发送过重定向报文的站点的信息,协助后续站点选择重定向站点,避免了全局负载均衡的重定向过程中出现的不同服务器集群间的重复重定向,提高全局负载均衡业务的可用性和可靠性。当然,实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优点。0076本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一。

37、个模块,也可以进一步拆分成多个子模块。0077通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备可以是手机,个人计算机,服务器,或者网络设备等执行本发明各个实施例所述的方法。0078以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。说明书CN101938427ACN101938430A1/5页11图1图2说明书附图CN101938427ACN101938430A2/5页12图3说明书附图CN101938427ACN101938430A3/5页13图4说明书附图CN101938427ACN101938430A4/5页14图5说明书附图CN101938427ACN101938430A5/5页15图6说明书附图CN101938427A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1