一种非集中式拓扑系统的负载均衡策略方法及系统技术方案

技术编号:28320412 阅读:15 留言:0更新日期:2021-05-04 13:00
本申请公开了一种非集中式拓扑系统的负载均衡策略方法及系统,方法包括:完成初步负载均衡步骤:根据用户向集群提交数据,采用分布式哈希表完成初步的负载均衡;生成l eader节点步骤:系统中各存储节点分别计算自己的负载状态,生成l eader节点;优先队列生成步骤:所述l eader节点向系统中的其他节点请求负载状态,按负载优先级生成优先队列;负载均衡步骤:所述l eader节点从所述优先队列中找出节点并启动数据迁移,并将所述节点的负载和优先级最高的节点的负载计算出来并插入所述优先队列形成负载状态优先队列,并向所述节点发送所述负载状态优先队列。本发明专利技术的整个负载均衡的时间复杂度为O,并且可实现负载状态动态更新。

【技术实现步骤摘要】
一种非集中式拓扑系统的负载均衡策略方法及系统
本专利技术属于非集中式拓扑系统的负载均衡策略领域,具体涉及一种非集中式拓扑系统的负载均衡策略方法及系统。
技术介绍
分布式文件系统(DistributedFileSystem,DFS)是指文件系统(HDFS)管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件如同操作本机一样方便。分布式文件系统在各行各业都有广泛的应用,当前,在云计算的背景下,其也渗透到云存储领域,成为云端平台的底层基础。伴随着大量互联网巨头开始进入云服务领域,为分布式文件系统的发展提供了良好的机遇。目前,分布式文件系统的的研究和开发已经走向成熟,市场上已经有一批产品得到不同程度的应用,其中HDFS是最为典型的分布式文件系统。HDFS内部包含的NameNode节点和DataNode节点,其中前者作为中心节点,起数据分配作用,本身不存储数据。网络内的所有DataNode均受中心节点的调度,因此可以实现负载均衡。HDFS的文件系统中通常包含大量服务器节点,由于客户端在访问服务器的时候具有随机性,这就必然会导致部分主机在某些时刻成为热点,从而对整个分布式系统的性能产生了制约,同时,部分服务器节点的负载却远远没有达到额定值,又会造成资源浪费,显然,在分布式文件系统中进行负载均衡是十分必要的,通过应用负载均衡技术,可以实现分布式系统中所有节点的负载相对平衡,既保证了系统的性能,又充分利用了资源。负载均衡意味着节点之间需要进行数据迁移,而且负载均衡本身也有一定的开销,所以通常要求负载均衡算法具有较高的效率。负载均衡技术包括非集中式拓扑系统的负载均衡,分布式文件系统是由很多个服务器节点构成的,根据整个系统是否具有中心节点,一般将分布式文件系统分为集中式和非集中式两大类拓扑结构,其中前者是以某台服务器作为中心节点进行分布式组网。相较于集中式的分布式文件系统,非集中式的分布式文件系统不存在一个用于分配数据的主控节点,集群中的每一个节点都是相互平行的。P2P网络就是一种典型的无中心节点分布式文件系统,因此又被称为对等网络。网络中的任意一个节点都具有同等的作用,可以向其它节点发起连接。Napster是最早的P2P系统之一,但他有一个索引服务器,本质上还不是真正的P2P系统,不适合大型网络应用。基于Gnutella的网络抛弃了索引服务器,实现了所有机器的对等关系,但又带来了较大的带宽消耗。Tapestry,Pastry,Chrod和CAN等基于DHT网络的出现,提升了系统的可扩展性和精确发现性。为了改善DHT系统在维护机制上的复杂性,当前广泛采用KaZaa等P2P共享文件系统,通过超级节点的引入,解决了传统分布式网络的诸多问题。一般而言,非集中式文件系统的负载均衡策略如图3所示,其具体步骤如下:1.用户向分布式文件系统提交数据块,系统在接收到数据后,采用分布式哈希表(DHT)来为数据分配节点。数据在经由DHT路由后实际上就已经实现了初步的负载均衡;2.随着系统运行时间的增长、数据的增多,各节点的负载又会慢慢失衡,导致负载向某些节点集中,某些节点将会成为热点,从而出现高负载节点和低负载节点。所以,每个节点会定时计算自己的的负载状态,如果发现自己是低负载节点,则开始对网络中的所有节点进行扫描以进行数据迁移从而实现负载均衡;3.在扫描的过程中,如果发现某节点是高负载节点,则立即停止通信遍历,启动数据迁移,部分数据由高负载节点转移到低负载节点,进而实现两个节点间的负载均衡;4.为了避免节点扫描和数据重复迁移带来的开销,也可以在多个节点之间进行数据迁移。首先由高负载节点对其他节点进行遍历,如果发现一个节点是低负载节点,就把它加入到一个队列中;5.当队列数量达到一定值时,或者所有节点已经遍历完成时,对队列中的节点按照负载的高低进行排序;6.取出低负载的节点,对其进行数据迁移,完成一轮负载平衡,如此反复进行,实现集群的动态负载平衡。现有非集中式文件系统的负载均衡技术的缺点采用上述的第一种负载均衡方法(见图3-1),低负载节点第一次扫描到高负载节点即停止节点扫描然后启动数据迁移,若存在比接受数据的节点负载更低的节点,则又会启动下一次数据迁移,数据迁移没有一次性到位,会带来数据重复迁移的问题,同时,多次的节点扫描还会增加负载均衡算法的时间复杂度,这样的负载均衡算法不够高效。为了解决上述负载均衡方法所带来的节点扫描和数据重复迁移带来的问题,第二种负载均衡策略会从所有的节点中选出负载最低的节点来进行数据迁移(见图3-2)。首先遍历所有的节点,并维护一个队列,遍历结束之后,在队列中找出负载最低的节点并进行数据迁移,这样就完成了一轮的负载均衡。然后下一个节点采用同样的方式平衡其负载。采用该负载均衡策略,一轮的负载均衡需要O(nlogn)的时间复杂度,整个系统的负载均衡所需的时间复杂度为O(n^2logn),负载均衡算法所需的时间复杂度较高。
技术实现思路
本申请实施例提供了一种非集中式拓扑系统的负载均衡策略方法及系统,以至少解决相关技术中主观因素影响的问题。本专利技术提供了一种非集中式拓扑系统的负载均衡策略方法,其中,包括:完成初步负载均衡步骤:根据用户向集群提交数据,采用分布式哈希表完成初步的负载均衡;生成leader节点步骤:系统中各存储节点分别计算自己的负载状态,生成leader节点;优先队列生成步骤:所述leader节点向系统中的其他节点请求负载状态,按负载优先级生成优先队列;负载均衡步骤:所述leader节点从所述优先队列中找出节点并启动数据迁移,并将所述节点的负载和优先级最高的节点的负载计算出来并插入所述优先队列形成负载状态优先队列,并向所述节点发送所述负载状态优先队列。上述非集中式拓扑系统的负载均衡策略方法,其中,所述生成leader节点步骤包括:在进行负载均衡时,各节点分别计算自己的负载状态,高负载节点会向其他节点请求他们的负载状态,所述节点作为所述leader节点。上述非集中式拓扑系统的负载均衡策略方法,其中,所述优先队列生成步骤包括:负载均衡开始步骤:所述leader节点向系统中的其他节点请求其负载状态,并将每个所述节点的负载均衡的开关打开;构成优先队列步骤:所述leader节点收到其他节点的负载状态后,将所述节点的负载状态根据负载越小的优先级越高的规则构成所述优先队列。上述非集中式拓扑系统的负载均衡策略方法,其中,所述负载均衡步骤包括:所述leader节点从所述优先队列中找出任一节点并启动数据迁移,并在本地将其自身的负载和优先级最高的节点的负载计算出来并插入所述优先队形成所述负载状态优先队列,选出成员列表的第一个节点同时将该节点从所述负载本文档来自技高网
...

【技术保护点】
1.一种非集中式拓扑系统的负载均衡策略方法,其特征在于,包括:/n完成初步负载均衡步骤:根据用户向集群提交数据,采用分布式哈希表完成初步的负载均衡;/n生成leader节点步骤:系统中各存储节点分别计算自己的负载状态,生成leader节点;/n优先队列生成步骤:所述leader节点向系统中的其他节点请求负载状态,按负载优先级生成优先队列;/n负载均衡步骤:所述leader节点从所述优先队列中找出节点并启动数据迁移,并将所述节点的负载和优先级最高的节点的负载计算出来并插入所述优先队列形成负载状态优先队列,并向所述节点发送所述负载状态优先队列。/n

【技术特征摘要】
1.一种非集中式拓扑系统的负载均衡策略方法,其特征在于,包括:
完成初步负载均衡步骤:根据用户向集群提交数据,采用分布式哈希表完成初步的负载均衡;
生成leader节点步骤:系统中各存储节点分别计算自己的负载状态,生成leader节点;
优先队列生成步骤:所述leader节点向系统中的其他节点请求负载状态,按负载优先级生成优先队列;
负载均衡步骤:所述leader节点从所述优先队列中找出节点并启动数据迁移,并将所述节点的负载和优先级最高的节点的负载计算出来并插入所述优先队列形成负载状态优先队列,并向所述节点发送所述负载状态优先队列。


2.如权利要求1所述的非集中式拓扑系统的负载均衡策略方法,其特征在于,所述生成leader节点步骤包括:
在进行负载均衡时,各节点分别计算自己的负载状态,高负载节点会向其他节点请求他们的负载状态,所述节点作为所述leader节点。


3.如权利要求1所述的非集中式拓扑系统的负载均衡策略方法,其特征在于,所述优先队列生成步骤包括:
负载均衡开始步骤:所述leader节点向系统中的其他节点请求其负载状态,并将每个所述节点的负载均衡的开关打开;
构成优先队列步骤:所述leader节点收到其他节点的负载状态后,将所述节点的负载状态根据负载越小的优先级越高的规则构成所述优先队列。


4.如权利要求1所述的非集中式拓扑系统的负载均衡策略方法,其特征在于,所述负载均衡步骤包括:
所述leader节点从所述优先队列中找出任一节点并启动数据迁移,并在本地将其自身的负载和优先级最高的节点的负载计算出来并插入所述优先队形成所述负载状态优先队列,选出成员列表的第一个节点同时将该节点从所述负载状态优先队列中删除,并向该节点发送负载状态优先队列。


5.如权利要求1所述的非集中式拓扑系统的负载均衡策略方法,其特征在于,还包括判断步骤:
判断接收负载状态优先队列的节点并查看队列中优先级最低的节点是否仍有较低的负载,如果是的话重复所述负载均衡步骤,如果不是的话结束整个负载均衡过程,重复所述判断步骤和所述负载均衡步骤,直到优先级最小的节点不处于低负载状态为止。


6.一种非集中式拓扑系统的负载均衡策略系统,其特征在于,包括:<...

【专利技术属性】
技术研发人员:杨晓婕郭镔刘远
申请(专利权)人:北京明略昭辉科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1