一种实现应用服务器负载均衡的方法及系统的制作方法

文档序号:7660618阅读:186来源:国知局
专利名称:一种实现应用服务器负载均衡的方法及系统的制作方法
技术领域
本发明涉及网络存储技术领域,尤其涉及一种实现应用服务器负载均衡的 方法及系统。
背景技术
网络磁盘(WebDisk)业务主要用于文件上传、下载,为了提供更好的可 扩充性、高可用性,WebDisk系统中的应用服务器通常以群集方式来部署,以 实现应用服务器的负载均衡。但现有的一些负载技术,在处理WebDisk业务时 都存在一些问题。
如Linux虚拟服务器(LVS , Linux Virtual Server )中的IP虚拟服务器(IPVS ) 软件,其采用的三种负载均衡技术均无法完全解决上传下载时,负载均衡调度 器(Load Balance Box)的负载问题。LVS项目提供了 一个实现可伸缩网络服 务的LVS框架,如图l所示,在该LVS框架中,负载均衡调度器负责作业调 度,使调度后的后端真实服务器负载达到均衡;真实服务器用于在负载均衡调 度器的调度下,接收用户发送的请求报文和反馈响应报文给用户,完成数据的 上传下载。在该LVS架构中,IP负载均衡的三种方法工作原理及缺陷如下 1. Virtual Server via Network Address Translation ( VS/NAT)
通过网络地址转换,负载均衡调度器重写用户发来的请求报文的目标地
址,根据预设的调度算法,将请求报文分派给后端的真实服务器;真实服务器 的响应报文通过负载均衡调度器时,报文的源地址被重写,再返回给客户,完
成整个负载调度过程。
这种方式的缺点是无论上传或下载,数据都必须经过负载均衡调度器,很
显然它是系统中的一个热点设备,在WebDisk这样一个大数据量的上传下载系
统中,很容易成为性能瓶颈。
2. Virtual Server via IP T醒eling ( VS/TUN)
采用NAT技术时,由于用户发送的请求报文和真实服务器反馈的响应报 文都必须经过负载均衡调度器进行地址重写,这样当用户请求越来越多时,负 载均衡调度器的处理能力将成为瓶颈。为了解决这个问题,负载均衡调度器把 请求报文通过IP隧道(IP Tunneling)转发至真实服务器,而真实服务器将响 应报文直接返回给用户,这样负载均衡调度器只需处理请求报文。由于一般情 况下网络服务应答比请求报文大许多,因此采用VS/TUN技术后,群集系统的 最大吞吐量可以提高10倍。
这种方式的缺点是,虽然下载数据时绕过了负载均衡调度器,但上传数据 时,数据还是必须经过负载均衡调度器,它依然是上传数据时系统中的一个热 点设备,所以依旧存在瓶颈问题。
3. Virtual Server via Direct Routing ( VS/DR)
VS/DR方式通过改写用户发来的请求报文的MAC地址,将请求报文发送 到真实服务器,而真实服务器将反馈的响应报文直接返回给用户。同上述的 VS/TUN方式一样,VS/DR技术可极大地提高群集系统的伸缩性。这种方法没 有IP隧道的开销,且群集中的真实服务器也没有必须支持IP隧道协议的要求, 但是要求负载均衡调度器与真实服务器都有一块网卡连接在同一物理网段上。
这种方式和IP Tunneling相比,虽然减少了 IP隧道的开销,但仍没有解决 上传数据时热点设备的瓶颈问题。

发明内容
本发明提供一种实现应用服务器负载均衡的方法及系统,用以解决现有技 术在数据上传或下载时,负载均衡调度器容易成为数据传输瓶颈的问题。 本发明提供了 一种实现应用服务器负载均衡的系统,包括 包含有至少 一个应用服务器的应用服务器群集;
元数据数据库服务器,存储有所述应用服务器群集中各个应用服务器当前 的负载信息;
域名解析服务器,存储有所述应用服务器群集域名与该群集中应用服务器 IP地址的对应关系,用于在用户基于所述应用服务器群集域名访问该应用服务 器群集时,根据存储的所述对应关系为用户在应用服务器群集中分配一个IP
地址标识的应用服务器;
应用服务器群集中被分配给用户的应用服务器,根据所述元数据数据库服 务器中存储的各个应用服务器当前的负载信息,为用户定位一个应用服务器, 并将该应用服务器信息反馈给用户;
存储设备,用于存储用户与所述被定位的应用服务器进行通信过程中上传 的文件数据。
本发明提供了 一种实现应用服务器负载均衡的方法,包括步骤 域名解析服务器接收用户发来的携带有应用服务器群集域名的请求,以及 在预先存储的与该域名对应的应用服务器IP地址列表中分配一个IP地址
标识的应用服务器给该用户;
被分配给用户的应用服务器,根据元数据数据库服务器中存储的应用服务
器群集中各个应用服务器当前的负载信息,为该用户定位一个应用服务器,并
将该应用服务器信息反馈给用户;
所述被定位的服务器在和所述用户进行通信过程中,将用户上传的文件数
据保存在网络侧的存储设备中。
本发明消除负载均衡调度器这一热点设备的瓶颈问题,实现直接的、点对
点的数据传输;同时能根据应用服务器群集中各应用服务器的负载情况,均衡
的分配作业,充分利用了应用服务器群集中的每一台应用服务器资源。


图1为现有技术中Linux Virtual Server框架;
图2为本发明实施例中WebDisk系统总体结构图3为本发明实施例中WebDisk负载均衡业务流程图。
具体实施例方式
下面结合说明书附图详细说明本发明。
如图2所示,本发明提出的WebDisk系统包括应用服务器群集201、域 名解析服务器202、元数据数据库服务器203和存储设备204。
应用服务器群集201,如图中的应用服务器1......应用服务器n即组成应
用服务器群集201,所有应用服务器均可以作为负载均衡调度器,负责作业调 度;域名解析服务器(DNS) 202,存储有所述应用服务器群集域名与该群集 中全部或部分应用服务器IP地址的对应关系,用于在用户基于所述应用服务 器群集域名访问该应用服务器群集时,以轮叫(Round Robin)方式在应用服 务器群集201中,为用户分配一个IP地址标识的应用服务器作为负载均衡调 度器;元数据数据库服务器203,用于存放WebDisk系统中的元数据,所述元 数据中包含应用服务器群集201中各个应用服务器当前的负载情况,其中各个 应用服务器当前的负载情况可以由对应的应用服务器定期或按照其他条件进 行上报,元数据数据库服务器203中存储的数据可以为所有应用服务器共享, 被分配给用户的作为负载均衡调度器的应用服务器,通过查询元数据数据库服 务器203中存储的各个应用服务器当前的负载情况,来得到当前负载最轻的应 用服务器作为配置给用户的真实通信服务器;存储设备204,用于存放WebDisk 系统中的业务数据(主要指上传的文件数据),为所有应用服务器共享,可以 是各种DAS、 NAS、 SAN存储设备,其用于存;^文用户通过和配置的真实通信 服务器进行通信时,上传的文件数据等。
所述应用服务器群集是一个大的、虛拟的服务器,由多台应用服务器组成, 用户通过同一个域名来访问这个群集,这样对用户来说,应用服务器的数量是 透明的,即用户只感觉到一个虛拟的大服务器存在,而不知道具体有多少台应用服务器。
应用服务器群集201中各个应用服务器才艮据一定的策略(如时间间隔策略、 负载变化策略等)报告自己当前的负载状态,并将负载状态信息记录在系统的
元数据数据库服务器203中。例如若应用服务器的负载发生改变,且超过了一 定的负载变化阀值,就可以报告并更新自己的负载状态信息;不管应用服务器 的负载是否发生过改变,应用服务器都要在规定的时间间隔内报告一次自己的 负载状态;如果超过规定的时间间隔,应用服务器仍未4艮告自己的负载状态, 系统就会视这台应用服务器的状态为不可用,作为负载均衡调度器的服务器就 不会再向其分配作业。
本发明提出的WebDisk系统负载均衡业务流程如图3所示,包括如下步骤 步骤l、用户发起一个请求,所述请求中携带用户访问的应用服务器群集 的域名;
步骤2、域名解析服务器(DNS)根据用户提供的域名,以轮叫(Round Robin)的方式为其分配一个应用服务器IP;
本步骤中,在DNS中存储有应用服务器群集域名,及其该域名对应的该 群集中各个应用服务器IP列表(至少为一个应用服务器IP,最多为所有应用
服务器IP),这些被注册的应用服务器将充当负载均衡调度器,负责作业调度; DNS以轮叫的方式将用户端请求定位到IP列表中的一个IP地址标识的应用服 务器上。例如,应用服务器群集域名为webdisk.com.cn,该域名对应群集中的 应用服务器IP地址列表为IP1,IP2和IP3,这三个应用服务器将充当负载均衡 调度器;DNS以轮叫的方式将用户请求定位到IP1, IP2和IP3中的一个IP地 址标识的应用服务器上。群集中的每台服务器既是应用服务器,又可以是负载 均衡调度器。
步骤3、建立用户端与上述定位到的应用服务器的通信连接; 步骤4.1 - 4.2、该定位到的应用服务器从元数据数据库中获得最新的各个 应用服务器的负载状态表,找出当前负载最轻的应用服务器;
步骤5、该定位到的应用服务器将查找到的负栽最轻的应用服务器信息反 馈给用户端;
步骤6、用户端将作业重新定位到该负载最轻的应用服务器上,进行数据 传输,并将用户上传的文件数据保存在网络侧的存储设备204中。
图3中虛线为控制信息流,这部分信息数据量相对来说非常小;实线为实 际业务数据流,在WebDisk业务中就是指上传下载的文件数据,数据量非常大。
由于消除了负载均衡调度器这一热点设备的瓶颈问题,本发明实现了直接 的、点对点的数据传输;同时根据应用服务器群集中各应用服务器的负载情况, 均衡的分配作业,充分利用了群集中的每一台应用服务器资源,因此简化了 WebDisk系统,提高了数据上传下载效率,有利于负载均衡的实现。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种实现应用服务器负载均衡的系统,其特征在于,包括包含有至少一个应用服务器的应用服务器群集;元数据数据库服务器,存储有所述应用服务器群集中各个应用服务器当前的负载信息;域名解析服务器,存储有所述应用服务器群集域名与该群集中应用服务器IP地址的对应关系,用于在用户基于所述应用服务器群集域名访问该应用服务器群集时,根据存储的所述对应关系为用户在应用服务器群集中分配一个IP地址标识的应用服务器;应用服务器群集中被分配给用户的应用服务器,根据所述元数据数据库服务器中存储的各个应用服务器当前的负载信息,为用户定位一个应用服务器,并将该应用服务器信息反馈给用户;存储设备,用于存储用户与所述被定位的应用服务器进行通信过程中上传的文件数据。
2、 如权利要求1所述的系统,其特征在于,由所述应用服务器群集中的 各个应用服务器将自身当前的负载信息上报给元数据数据库服务器进行存储。
3、 如权利要求2所述的系统,其特征在于,所述各个应用服务器将自身 的负载信息定时上报给元数据数据库服务器;或每次在自身的负载信息发生变化时,将自身的负载信息上报给元数据数据 库服务器。
4、 如权利要求1所述的系统,其特征在于,所述域名解析服务器以轮叫 方式在应用服务器群集中分配一个IP地址标识的应用服务器给用户。
5、 如权利要求1所述的系统,其特征在于,所述被分配给用户的应用服 务器,根据元数据数据库服务器中存储的各个应用服务器当前的负载信息,为 用户定位当前负载最轻的应用服务器。
6、 一种实现应用服务器负载均衡的方法,其特征在于,包括步骤 域名解析服务器接收用户发来的携带有应用服务器群集域名的请求,以及 在预先存储的与该域名对应的应用服务器IP地址列表中分配一个IP地址标识的应用服务器给该用户;被分配给用户的应用服务器,根据元数据数据库服务器中存储的应用服务器群集中各个应用服务器当前的负载信息,为该用户定位一个应用服务器,并将该应用服务器信息反馈给用户;所述被定位的服务器在和所述用户进行通信过程中,将用户上传的文件数 据保存在网络侧的存储设备中。
7、 如权利要求6所述的方法,其特征在于,所述被分配给用户的应用服 务器根据各个应用服务器当前的负载信息,为用户定位当前负载最轻的应用服 务器。
8、 如权利要求6所述的方法,其特征在于,所述域名解析服务器以轮叫 方式,在预先存储的与该域名对应的应用服务器IP地址列表中分配一个IP地 址标识的应用服务器给该用户。
全文摘要
本发明公开了一种实现应用服务器负载均衡的方法,包括步骤域名解析服务器接收用户发来的携带有应用服务器群集域名的请求,以及在预先存储的与该域名对应的应用服务器IP地址列表中分配一个IP地址标识的应用服务器给该用户;被分配给用户的应用服务器,根据元数据数据库服务器中存储的应用服务器群集中各个应用服务器当前的负载信息,为该用户定位一个应用服务器,并将该应用服务器信息反馈给用户;所述被定位的服务器在和所述用户进行通信过程中,将用户上传的文件数据保存在网络侧的存储设备中。本发明可以实现直接的、点对点的数据传输;同时能均衡的分配作业,充分利用了应用服务器群集中的每一台应用服务器资源。
文档编号H04L29/06GK101115016SQ200710146149
公开日2008年1月30日 申请日期2007年8月23日 优先权日2007年8月23日
发明者祁小满 申请人:创新科存储技术(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1