多层次的分布式集群系统的制作方法

文档序号:7898260阅读:458来源:国知局
专利名称:多层次的分布式集群系统的制作方法
技术领域
本发明涉及一种分布式系统,尤其涉及一种具有多个层次的分布式集群系统。
背景技术
在分布式系统中存在局部负载均衡集群技术和一致性哈希(hash)算法技术。局部负载均衡集群技术是由若干台普通服务器组成的集合,该集合对外呈现同一 出口,并能够在集合内部机器之间根据某种算法进行负载均衡。一致性哈希算法具有单调性的特点,单调性是指如果已经有一些内容通过哈希分 派到了相应的缓冲中,又有新的缓冲加入到系统中。哈希的结果应能够保证原有已分配的 内容可以被映射到新的缓冲中去,而不会被映射到旧的缓冲集合中的其他缓冲区。目前在局部负载均衡集群技术上,往往只是采用简单的轮询策略或者根据机器的 连接数或者负载进行均衡,该种均衡最大的问题是,每台服务器都是等价的,即每台服务器 需要存储相同的内容;目前也有根据内容进行分配的策略,不过当集群中设备增减时会造 成内容的迁移

发明内容
本发明的目的在于解决上述问题,提供了一种多层次的分布式集群系统,解决了 普通负载均衡技术的基于轮询策略或者基于内容哈希可能发生的内容迁移,采用了分层次 的负载均衡技术,结合使用轮询策略以及一致性哈希算法,解决了集群的扩展性、内容迁移 等问题。本发明的技术方案为本发明揭示了一种多层次的分布式集群系统,包括位于系 统前端的传输层负载均衡器、位于系统中间层的URL —致性哈希均衡器、位于系统后端的 真实服务器,其中传输层负载均衡器,接收客户端发送的请求数据并进行负载均衡,将客户端请求 分配到中间层的URL —致性哈希均衡器;URL 一致性哈希均衡器,耦接该传输层负载均衡器,接收来自该传输层负载均衡器 分配的客户端的请求数据,通过一致性哈希算法将相同的URL被分配到相同的真实服务器 上进行服务;真实服务器,耦接该URL —致性哈希均衡器,用于存储数据。根据本发明的多层次的分布式集群系统的一实施例,该传输层负载均衡器通过轮 询策略将客户端请求分配到中间层的URL —致性哈希均衡器。根据本发明的多层次的分布式集群系统的一实施例,该传输层负载均衡器进一步 包括数据接收模块,接收客户端发送的请求数据;连接记录模块,耦接该数据接收模块,将客户端传输层协议中的连接信息进行记 录,以识别后续的相同连接的请求数据;
第一请求调度模块,耦接该连接记录模块,根据负载均衡算法和URL —致性哈希 均衡器的健康状态将客户端请求转向某一 URL —致性哈希均衡器;第一后端监控模块,耦接该第一请求调度模块,对配置的URL —致性哈希均衡器 进行健康状态的检测,并提供检测结果供该请求调度模块进行决策;数据转发模块,耦接该第一请求调度模块,将客户端的请求数据转发给URL—致 性哈希均衡器。根据本发明的多层次的分布式集群系统的一实施例,客户端传输层协议中的连接 信息包括客户端IP、客户端端口号、目标IP、目标IP端口号、分配到URL —致性哈希均衡器 IP、分配到的URL —致性哈希均衡器端口号。根据本发明的多层次的分布式集群系统的一实施例,该客户端传输层协议是TCP/ UDP协议。根据本发明的多层次的分布式集群系统的一实施例,该URL—致性哈希均衡器进 一步包括请求接收模块,接收客户端发送的请求数据;HTTP头请求解析模块,耦接该请求接收模块,解析客户端的HTTP请求头中的信 息;第二请求调度模块,根据URL —致性哈希算法和后端的真实服务器的健康状态将 客户端请求转向某一真实服务器;第二后端监控模块,耦接该第二请求调度模块,对配置的真实服务器进行健康状 态的检测,并提供检测结果供该第二请求调度模块进行决策;请求转发模块,耦接该第二请求调度模块,将客户端的请求数据转发给后端的真 实服务器;数据接收模块,耦接该请求转发模块,接收后端的真实服务器的返回数据,并判断 数据发送是否结束;数据发送模块,耦接该数据接收模块,将数据发送到客户端,完成客户端的请求。根据本发明的多层次的分布式集群系统的一实施例,该HTTP头请求解析模块还 提取请求的URL、请求的主机名、请求是否为持久连接的信息。根据本发明的多层次的分布式集群系统的一实施例,该真实服务器中的存储设备 包括内存、高速磁盘和低速磁盘,该真实服务器根据文件的访问情况将文件存储在不同类 型的存储设备中。本发明对比现有技术有如下的有益效果本发明的技术方案是分三个层次来建 立系统,前端是传输层负载均衡器,中间是URL—致性哈希均衡器,后端是真实服务器。其 中URL —致性哈希均衡器将一致性哈希算法作为集群的负载均衡算法,根据客户端请求的 URL进行哈希,则在机器数量保持不变的情况下,保证将相同的内容哈希到相同的机器上, 而当集群内部机器增减时,保证内容的迁移仅仅在增减的机器与集群其他机器之间,而不 会发生在原集群的机器之间,使得内容迁移量尽可能减少。也就是说,本发明技术方案中的 URL 一致性哈希算法使得内容哈希具有单一性的特点,而轮询策略与URL —致性哈希算法 使得整个集群具有很好的扩展性。


图1示例性的示出了本发明的多层次的分布式集群系统的较佳实施例的结构图。图2示例性的示出了本发明的多层次的分布式集群系统中的传输层负载均衡器 的原理图。图3示例性的示出了本发明的多层次的分布式集群系统中的URL —致性哈希均衡 器的原理图。图4示例性的示出了本发明的多层次的分布式集群系统中的真实服务器的存储 层次图。图5示例的示出了本发明的多层次的分布式集群系统中的传输层负载均衡器的 运行流程图。图6示例性的示出了本发明的多层次的分布式集群系统中的URL —致性哈希均衡 器的运行流程图。
具体实施例方式下面结合附图和实施例对本发明作进一步的描述。图1示出了本发明的多层次的分布式集群系统的较佳实施例的整体结构。请参见 图1,本实施例的多层次的分布式集群系统分为三个层次,位于系统前端的传输层负载均衡 器10、位于系统中间层的URL—致性哈希均衡器12以及位于系统后端的真实服务器14。其 中传输层负载均衡器10与URL —致性哈希均衡器12建立数据连接,URL 一致性哈希均衡 器12与真实服务器14之间建立数据连接。传输层负载均衡器10接收客户端发送的请求数据并进行均衡负载,将客户端请 求分配到中间层的URL—致性哈希均衡器12中,其中负载均衡的具体技术手段例如是采用 轮询策略。对客户端而言,整个系统是透明的,即客户端并不会知晓整个系统的存储,相反, 客户端只会看到对外的统一的接口。图2示出了传输层负载均衡器10的细化原理。请参见图2,传输层负载均衡器10 进一步包括数据接收模块100、连接记录模块101、请求调度模块102、后端监控模块103、 数据转发模块104。这些模块之间的连接关系是数据接收模块100耦接连接记录模块101,连接记录 模块101耦接请求调度模块102,后端监控模块103耦接请求调度模块102,请求调度模块 102耦接数据转发模块104。传输层负载均衡器10的工作原理如下数据接收模块100接收客户端发送的请求 数据。连接记录模块101将客户端传输层协议中的连接信息进行记录,以识别后续的相同 连接的请求数据。其中客户端传输层协议例如是TCP/UDP协议,其中中的连接信息包括客 户端IP请求调度模块102根据负载均衡算法和URL —致性哈希均衡器的健康状态将客户 端请求转向某一 URL —致性哈希均衡器。后端监控模块103对配置的URL —致性哈希均衡 器进行健康状态的检测,并提供检测结果供请求调度模块102进行决策。数据转发模块104 将客户端的请求数据转发给URL —致性哈希均衡器。请进一步参见图5,图5示出了传输层负载均衡器的流程。下面是对其运行流程的 详细描述。
步骤SlOO 传输层负载均衡器10中的数据接收模块100接收连接的数据。步骤SlOl 判断是否为已建立的连接,如果是已建立的连接,则进入步骤S103,否 则进入步骤S102。步骤S102 寻找可用的服务器,并根据预定义的均衡算法选择服务的机器。步骤S103 将请求转发给相应的服务器,并记录该连接的情况。URL 一致性哈希均衡器12接收来自传输层负载均衡器10分配的客户端的请求数 据,通过一致性哈希算法将相同的URL被分配到相同的真实服务器上进行服务。URL 一致性哈希均衡器是一种应用层的均衡器,它通过URL —致性的算法使得相 同的URL被分配到相同的真实服务器上,这样就使得后端的真实服务器存储的内容是不同 的,提高了整个系统的存储量;URL —致性哈希的优点在于扩展性很好,当真实服务器增加 或者减少一台时,迁移的数据量仅为所有数据量的1/N(N是增加或者减少后所有真实服务 器的数量),且迁移是单调的,即数据的迁移只可能是从旧的服务器向新的服务器迁移(当 增加时),或者从减少的服务器向剩下的服务器迁移(当减少时),而不可能在旧服务器之 间进行迁移(当增加时),或者在剩下的服务器之间互相迁移(当减少时)。图3示出了 URL —致性哈希均衡器的细化原理。请参见图3,本实施例的URL —致 性哈希均衡器包括如下的模块请求接收模块120、HTTP头请求解析模块121、请求调度模 块122、后端监控模块123、请求转发模块124、数据接收模块125以及数据发送模块126。这些模块之间的连接关系是请求接收模块120耦接HTTP头请求解析模块121, HTTP头请求解析模块121耦接请求调度模块122,后端监控模块123耦接请求调度模块 122,请求调度模块122耦接请求转发模块124,请求转发模块IM耦接数据接收模块125, 数据接收模块1 耦接数据发送模块126。URL 一致性哈希均衡器的运行过程是请求接收模块120接收客户端发送的请求 数据。HTTP头请求解析模块121解析客户端的HTTP请求头中的信息,除此之外,HTTP头请 求解析模块121还提取请求的URL、请求的主机名、请求是否为持久连接的信息等。请求调 度模块122根据URL—致性哈希算法和后端的真实服务器的健康状态将客户端请求转向某 一真实服务器,其调度的目标服务器必须是处于健康状态的。后端监控模块123对配置的 真实服务器进行健康状态的检测,并提供检测结果供该第二请求调度模块进行决策。请求 转发模块1 将客户端的请求数据转发给后端的真实服务器。数据接收模块125接收后端 的真实服务器的返回数据,并判断数据发送是否结束。数据发送模块1 将数据发送到客 户端,完成客户端的请求。图6示出了 URL —致性哈希均衡器的流程。请参见图6,下面是对流程中各个步骤 的详细描述。步骤S120 接收连接的数据。步骤S121 解析请求的HPPT头部信息。步骤S122 寻找可用的服务器,并根据URL —致性哈希算法寻找服务的机器。步骤S123 将请求转发给相应的服务器。步骤SlM 接收相应的服务器返回的内容,并将之发回给请求端。图4示出了真实服务器14的内部结构。真实服务器14中的存储设备包括内存 140、高速磁盘141和低速磁盘142,真实服务器14根据文件的访问情况将文件存储在不同类型的存储设备中。具体而言,真实服务器14上运行的软件会根据访问的热点情况,自 动调整文件的存储位置,将最热的文件缓存于内存140中,次热的文件缓存于高速磁盘141 中,不热的文件缓存于低速磁盘142中。 上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技 术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而 本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的 最大范围。
权利要求
1.一种多层次的分布式集群系统,包括位于系统前端的传输层负载均衡器、位于系统 中间层的URL —致性哈希均衡器、位于系统后端的真实服务器,其中传输层负载均衡器,接收客户端发送的请求数据并进行负载均衡,将客户端请求分配 到中间层的URL —致性哈希均衡器;URL 一致性哈希均衡器,耦接该传输层负载均衡器,接收来自该传输层负载均衡器分配 的客户端的请求数据,通过一致性哈希算法将相同的URL被分配到相同的真实服务器上进 行服务;真实服务器,耦接该URL —致性哈希均衡器,用于存储数据。
2.根据权利要求1所述的多层次的分布式集群系统,其特征在于,该传输层负载均衡 器通过轮询策略将客户端请求分配到中间层的URL —致性哈希均衡器。
3.根据权利要求2所述的多层次的分布式集群系统,其特征在于,该传输层负载均衡 器进一步包括数据接收模块,接收客户端发送的请求数据;连接记录模块,耦接该数据接收模块,将客户端传输层协议中的连接信息进行记录,以 识别后续的相同连接的请求数据;第一请求调度模块,耦接该连接记录模块,根据负载均衡算法和URL —致性哈希均衡 器的健康状态将客户端请求转向某一 URL —致性哈希均衡器;第一后端监控模块,耦接该第一请求调度模块,对配置的URL —致性哈希均衡器进行 健康状态的检测,并提供检测结果供该请求调度模块进行决策;数据转发模块,耦接该第一请求调度模块,将客户端的请求数据转发给URL —致性哈 希均衡器。
4.根据权利要求3所述的多层次的分布式集群系统,其特征在于,客户端传输层协议 中的连接信息包括客户端IP、客户端端口号、目标IP、目标IP端口号、分配到URL —致性哈 希均衡器IP、分配到的URL —致性哈希均衡器端口号。
5.根据权利要求3所述的多层次的分布式集群系统,其特征在于,该客户端传输层协 议是TCP/UDP协议。
6.根据权利要求1所述的多层次的分布式集群系统,其特征在于,该URL—致性哈希均 衡器进一步包括请求接收模块,接收客户端发送的请求数据;HTTP头请求解析模块,耦接该请求接收模块,解析客户端的HTTP请求头中的信息; 第二请求调度模块,根据URL —致性哈希算法和后端的真实服务器的健康状态将客户 端请求转向某一真实服务器;第二后端监控模块,耦接该第二请求调度模块,对配置的真实服务器进行健康状态的 检测,并提供检测结果供该第二请求调度模块进行决策;请求转发模块,耦接该第二请求调度模块,将客户端的请求数据转发给后端的真实服 务器;数据接收模块,耦接该请求转发模块,接收后端的真实服务器的返回数据,并判断数据 发送是否结束;数据发送模块,耦接该数据接收模块,将数据发送到客户端,完成客户端的请求。
7.根据权利要求6所述的多层次的分布式集群系统,其特征在于,该HTTP头请求解析 模块还提取请求的URL、请求的主机名、请求是否为持久连接的信息。
8.根据权利要求1所述的多层次的分布式集群系统,其特征在于,该真实服务器中的 存储设备包括内存、高速磁盘和低速磁盘,该真实服务器根据文件的访问情况将文件存储 在不同类型的存储设备中。
全文摘要
本发明公开了多层次的分布式集群系统,解决普通负载均衡技术的基于轮询策略或者内容哈希(hash)可能发生的内容迁移,采用分层次负载均衡技术,结合轮询策略以及一致性哈希算法,解决集群的扩展性、内容迁移等问题。其技术方案为系统包括位于系统前端的传输层负载均衡器、位于系统中间层的URL一致性哈希均衡器、位于系统后端的真实服务器,其中传输层负载均衡器接收客户端发送的请求数据并进行负载均衡,将客户端请求分配到中间层的URL一致性哈希均衡器;URL一致性哈希均衡器接收来自该传输层负载均衡器分配的客户端的请求数据,通过一致性哈希算法将相同的URL被分配到相同的真实服务器上进行服务;真实服务器存储数据。
文档编号H04L29/08GK102118433SQ201010617218
公开日2011年7月6日 申请日期2010年12月27日 优先权日2010年12月27日
发明者武志鹏, 洪珂, 牛荣利 申请人:网宿科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1