一种高并发量分布式文件系统及其二次负载均衡方法

文档序号:7812589阅读:496来源:国知局
一种高并发量分布式文件系统及其二次负载均衡方法
【专利摘要】本发明公开了一种高并发量分布式文件系统及其二次负载均衡方法,涉及文件分布式存储技术。本发明技术要点包括:步骤1:客户端向负载均衡服务器组中的任意一台负载均衡服务器发出访问请求;步骤2:所述负载均衡服务器接收客户端的访问请求,根据自身及其他负载均衡服务器的状态信息为客户端分配一台为其提供负载均衡服务的负载均衡服务器;步骤3:分配给客户端的负载均衡服务器根据各文件存储器的状态信息为客户端分配一台为其提供文件服务的文件服务器等。
【专利说明】一种高并发量分布式文件系统及其二次负载均衡方法

【技术领域】
[0001]本发明涉及分布式文件存储技术,尤其是一种基于二次负载均衡的高并发量的分布式文件系统。

【背景技术】
[0002]分布式文件系统是为了满足大量客户端对文件服务器访问的需求而提出来的。其基本思想是利用多台文件服务器为大量的客户端服务。这种方法有效提高了为客户端提供的文件服务的效率。
[0003]后来人们发现,在这种系统中,有的文件服务器被客户端访问的频率很高、工作负载量特别大,而有的文件服务器却处于闲置状态。不能充分利用文件服务器资源、发挥系统的优势。为此,人们提出了负载均衡的思想。
[0004]现有的分布式文件系统包括一台负载均衡服务器及多台文件服务器。其工作原理是,客户端向负载均衡服务器发出访问请求,要求访问文件服务器,负载均衡服务器根据各文件服务器的工作状态为客户端指派一台负载量较小的文件服务器为其提供文件服务。本申请中的文件服务主要是指文件服务器为客户端提供文件存储空间,客户端可在文件服务器上完成文件的上传、下载、更新等操作。
[0005]随着客户端的数量越来越大,现有的负载均衡服务器也不能满足其高并发量的访问请求。


【发明内容】

[0006]本发明所要解决的技术问题是:针对上述存在的问题,提供一种分布式文件系统的二次负载均衡方法。
[0007]本发明采用的技术方案如下:
步骤1:客户端向负载均衡服务器组中的任意一台负载均衡服务器发出访问请求;步骤2:所述负载均衡服务器接收客户端的访问请求,根据自身及其他负载均衡服务器的状态信息为客户端分配一台为其提供负载均衡服务的负载均衡服务器;
步骤3:分配给客户端的负载均衡服务器根据各文件存储器的状态信息为客户端分配一台为其提供文件服务的文件服务器。
[0008]进一步,每台负载均衡服务器定时统计自己的状态信息,并定时向其他负载均衡服务器发送自己的状态信息。
[0009]进一步,每台文件服务器定时统计自己的状态信息,并定时向所有负载均衡服务器发送自己的状态信息。
[0010]进一步,每台文件服务器定时统计自己的状态信息,并定时向负载均衡服务器组的至少一台负载均衡服务器发送自己的状态信息;所述负载均衡服务器再定时向其他负载均衡服务器发送所有文件服务器的状态信息。
[0011]步骤2进一步包括,负载均衡服务器收到客户端的访问请求后,先将自己状态信息中的负载状态与阈值比较,若小于阈值则将自己分配给客户端,若大于阈值则按照一定的策略在其他负载均衡服务器中一台分配给客户端;所述决策为负载情况未超出所述阈值且负载情况越低的负载均衡服务器被分配给客户端的概率越大。
[0012]步骤2进一步包括,当前负载均衡服务器的负载情况比阈值大时,当前的解析服务器将为客户端选择的其他解析服务器的地址返回给客户端,客户端根据所述地址重新所述其他解析服务器发送访问请求并附带重定向标识消息。
[0013]所述步骤3进一步包括:负载均衡服务器收到客户端的访问请求及重定向标识消息后直接为客户端分配一台为其提供文件服务的文件服务器。
[0014]所述步骤3进一步包括,分配给客户端的负载均衡服务器根据各文件存储器的负载状态按照一定的策略为客户端分配一台为其提供文件服务的文件服务器,将所述文件服务器的地址返回给客户端;同时所述负载均衡服务器统计自己当前的状态信息,并发送给其他负载均衡服务器;所述策略为:负载情况未超出设定阈值且负载情况越低的文件服务器被分配给客户端的概率越大。
[0015]进一步,还包括步骤4:客户端根据地址访问文件服务器,文件服务器为客户端提供文件服务;同时文件服务器统计自己当前的状态信息,并发送给所有的负载均衡服务器。
[0016]本发明还提供了一种基于二次负载均衡的高并发量分布式文件系统,包括大量客户端、负载均衡服务器组及若干文件服务器;
负载均衡服务器组包括若干负载均衡服务器,各负载均衡服务器之间具有信号连接且每台负载均衡服务器均具有其他负载均衡服务器的状态信息及所有文件服务器的状态信息;
所述负载均衡服务器用于接收客户端的访问请求,并根据自身及其他负载均衡服务器的状态信息为客户端分配为其提供负载均衡服务的负载均衡服务器;以及用于为客户端提供负载均衡服务:根据文件服务器的状态信息为客户端分配为其提供文件服务的文件服务器。
[0017]综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明将原有文件系统的单台负载均衡服务器扩充为多台,提高了系统负载均衡的效率。
[0018]2.本发明提出了负载均衡服务器的负载均衡重定向策略,在系统原有的文件服务器负载均衡的基础上实现了二次负载均衡,不仅提供了系统中文件服务器负载均衡的效率,同时充分利用了多台负载均衡服务器资源,进一步提供了效率。

【专利附图】

【附图说明】
[0019]本发明将通过例子并参照附图的方式说明,其中:
图1为本发明的分布式文件系统框图。
[0020]图2为本发明中负载均衡服务器负载均衡重定向的流程图。
[0021]图3为本发明中文件服务器负载均衡定向的流程图。
[0022]图4为本发明中负载均衡服务器更新状态信息的流程图。
[0023]图5为本发明中负载均衡服务器更新文件服务器状态信息的流程图。

【具体实施方式】
[0024]本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
[0025]本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0026]如图1,本发明提出的分布式文件服务器系统包括大量客户端、负载均衡服务器组及若干文件服务器。
[0027]负载均衡服务器组包括若干负载均衡服务器,各负载均衡服务器之间具有信号连接且每台负载均衡服务器均具有其他负载均衡服务器的状态信息及所有文件服务器的状态信息。在一个具体实施例中,负载均衡服务器为解析服务器,解析服务器接受来自文件服务器定时发送的心跳包,心跳包中包含文件服务器的状态信息,状态信息包括在线状态和负载情况,所述负载情况进一步包括网络占用率、磁盘读写状态及CPU占用率等信息,该解析服务器收到该信息后更新自身的文件服务器状态队列,并向其他解析服务器发送同步消息。解析服务器建立单独的线程更新维护自身的文件服务器状态信息队列。
[0028]同时解析服务器开辟另一个新的线程统计自己的负载状态,并定时向其他解析服务器发送同步消息。也就是说每台解析服务器都拥有其他解析服务器的状态信息列表以及所有文件服务器状态信息列表。解析服务器的状态信息与文件服务器的状态信息保含的内容可以是一样的。
[0029]在其他实施例中,解析服务器更新文件服务器状态信息列表的方式可以有以下变形:
变形1:每台文件服务器定时统计自己的状态信息,并定时向所有解析服务器发送自己的状态信息。解析服务器根据收到的状态信息更新文件服务器状态信息列表。
[0030]变形2:各文件服务器之间具有信号连接,每台文件服务器定时统计自己的状态信息,并定时向其他文件服务器发送自己的状态信息。再由一台文件服务器向某一解析服务器发送全部文件服务器的状态信息,该解析服务器再向其他解析服务器发送所有文件服务器的状态信息。解析服务器根据收到的状态信息更新文件服务器状态信息列表。
[0031]所述负载均衡服务器用于接收客户端的访问请求,并根据自身及其他负载均衡服务器的状态信息为客户端分配为其提供负载均衡服务的负载均衡服务器;以及用于为客户端提供负载均衡服务:根据文件服务器的状态信息为客户端分配为其提供文件服务的文件服务器。
[0032]下面再结合图1说明本发明的二次负载均衡方法。
[0033]本方法的第I实施例包括:
步骤1:客户端向负载均衡服务器组中的任意一台负载均衡服务器发出访问请求。在一个实施例中,客户端配置有包含所有解析服务器地址的列表,客户端发出访问请求时只需随机选择一台解析服务器即可。
[0034]步骤2:所述负载均衡服务器接收客户端的访问请求,根据自身及其他负载均衡服务器的状态信息为客户端分配一台为其提供负载均衡服务的负载均衡服务器。
[0035]步骤3:分配给客户端的负载均衡服务器根据各文件存储器的状态信息为客户端分配一台为其提供文件服务的文件服务器。
[0036]第2实施例,第I实施例的基础上对步骤2进行了改进。第2实施例的步骤2是这样的:
预先为解析服务器有一个设置好的负载情况的阈值:若其负载情况超过该阈值则当接受到客户端的请求后,选择同组其他服务器来处理;若其负载情况小于该阈值则自行直接处理客户端的请求,开始解析客户端发送来的请求,并重新统计自身的状态信息更新列表,发送给其他解析服务器,其他解析服务器收到状态信息后更新列表。如果当前负载情况大于阈值,这该服务器查看其维护的解析服务器负载情况列表,先选出满足条件的文件服务器,如负载情况小于设定阈值的解析服务器,再在所有满足条件的解析服务器中通过赌轮盘的方式选择一个解析服务器。所谓赌轮盘的方式就是指负载情况越小越容易被选择到,但负载情况最低的服务器并非绝对会被选择到。赌轮盘的决策算法为现有技术,在此不再赘述。当前的解析服务器选择得到解析服务器St后,将其路径返回给客户端,客户端重新向解析服务器St发送请求消息,并附带标识表示其为重定向消息,如此St将直接执行该请求而不再进行负载重定向。
[0037]第3实施例,在第I或第2实施例的基础上对步骤3做了进一步改进:分配给客户端的解析服务器解析客户端的请求,并为客户端选择一台负载情况较低的文件服务器。
[0038]解析服务器查看其维护的文件服务器状态信息列表,选出满足条件的文件服务器,如负载情况小于设定阈值的文件服务器,在所有满足条件的文件服务器中使用一定的方法进行决策,选出最终的文件服务器。如赌轮盘决策法,文件服务器负载情况越小者越容易被选择到。
[0039]解析服务器确定了合适的文件服务器Sf后,将文件服务器Sf的地址返回给客户端。
[0040]在另一实施例中,还包括步骤4:客户端根据地址访问文件服务器,文件服务器为客户端提供文件服务。同时文件服务器重新统计自身的信息状态并将其上传到一台或全部的解析服务器,各解析服务器根据文件服务器上传的状态信息更新其所维护的文件服务器信息状态列表。
[0041]本发明并不局限于前述的【具体实施方式】。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
【权利要求】
1.一种高并发量分布式文件系统的二次负载均衡方法,其特征在于,包括: 步骤1:客户端向负载均衡服务器组中的任意一台负载均衡服务器发出访问请求; 步骤2:所述负载均衡服务器接收客户端的访问请求,根据自身及其他负载均衡服务器的状态信息为客户端分配一台为其提供负载均衡服务的负载均衡服务器; 步骤3:分配给客户端的负载均衡服务器根据各文件存储器的状态信息为客户端分配一台为其提供文件服务的文件服务器。
2.根据权利要求1所述的一种高并发量分布式文件系统的二次负载均衡方法,其特征在于,每台负载均衡服务器定时统计自己的状态信息,并定时向其他负载均衡服务器发送自己的状态信息。
3.根据权利要求2所述的一种高并发量分布式文件系统的二次负载均衡方法,其特征在于,每台文件服务器定时统计自己的状态信息,并定时向所有负载均衡服务器发送自己的状态信息。
4.根据权利要求2所述的一种高并发量分布式文件系统的二次负载均衡方法,其特征在于,每台文件服务器定时统计自己的状态信息,并定时向负载均衡服务器组的至少一台负载均衡服务器发送自己的状态信息;所述负载均衡服务器再定时向其他负载均衡服务器发送所有文件服务器的状态信息。
5.根据权利要求1所述的一种高并发量分布式文件系统的二次负载均衡方法,其特征在于,步骤2进一步包括,负载均衡服务器收到客户端的访问请求后,先将自己状态信息中的负载状态与阈值比较,若小于阈值则将自己分配给客户端,若大于阈值则按照一定的策略在其他负载均衡服务器中一台分配给客户端;所述决策为负载情况未超出所述阈值且负载情况越低的负载均衡服务器被分配给客户端的概率越大。
6.根据权利要求5所述的一种高并发量分布式文件系统的二次负载均衡方法,其特征在于,步骤2进一步包括,当前负载均衡服务器的负载情况比阈值大时,当前的解析服务器将为客户端选择的其他解析服务器的地址返回给客户端,客户端根据所述地址重新所述其他解析服务器发送访问请求并附带重定向标识消息。
7.根据权利要求6所述的一种高并发量分布式文件系统的二次负载均衡方法,其特征在于,所述步骤3进一步包括:负载均衡服务器收到客户端的访问请求及重定向标识消息后直接为客户端分配一台为其提供文件服务的文件服务器。
8.根据权利要求1或7所述的一种高并发量分布式文件系统的二次负载均衡方法,其特征在于,所述步骤3进一步包括,分配给客户端的负载均衡服务器根据各文件存储器的负载状态按照一定的策略为客户端分配一台为其提供文件服务的文件服务器,将所述文件服务器的地址返回给客户端;同时所述负载均衡服务器统计自己当前的状态信息,并发送给其他负载均衡服务器;所述策略为:负载情况未超出设定阈值且负载情况越低的文件服务器被分配给客户端的概率越大。
9.根据权利要求1或8所述的一种高并发量分布式文件系统的二次负载均衡方法,其特征在于,还包括步骤4:客户端根据地址访问文件服务器,文件服务器为客户端提供文件服务;同时文件服务器统计自己当前的状态信息,并发送给所有的负载均衡服务器。
10.一种基于二次负载均衡的高并发量分布式文件系统,其特征在于,包括若干客户端、负载均衡服务器组及若干文件服务器; 负载均衡服务器组包括若干负载均衡服务器,各负载均衡服务器之间具有信号连接且每台负载均衡服务器均具有其他负载均衡服务器的状态信息及所有文件服务器的状态信息; 所述负载均衡服务器用于接收客户端的访问请求,并根据自身及其他负载均衡服务器的状态信息为客户端分配为其提供负载均衡服务的负载均衡服务器;以及用于为客户端提供负载均衡服务:根据文件服务器的状态信息为客户端分配为其提供文件服务的文件服务器。
【文档编号】H04L29/08GK104202386SQ201410426214
【公开日】2014年12月10日 申请日期:2014年8月27日 优先权日:2014年8月27日
【发明者】肖锋, 黄德俊, 林小宾, 刘 东, 李晓东 申请人:四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1