CN102882973A - 基于p2p技术的分布式负载均衡系统和方法 - Google Patents
基于p2p技术的分布式负载均衡系统和方法 Download PDFInfo
- Publication number
- CN102882973A CN102882973A CN2012103841851A CN201210384185A CN102882973A CN 102882973 A CN102882973 A CN 102882973A CN 2012103841851 A CN2012103841851 A CN 2012103841851A CN 201210384185 A CN201210384185 A CN 201210384185A CN 102882973 A CN102882973 A CN 102882973A
- Authority
- CN
- China
- Prior art keywords
- processing
- node
- processing node
- load
- distributed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
一种基于P2P技术的分布式负载均衡系统和方法,系统由均衡负载功能的分布式处理集群所组成,该集群内只设有分设于不同服务器的、由处理层和通信层构成的多个同构或异构处理节点,每个处理节点都能独立承担分布式仲裁的负载均衡功能,且其权限与功能都相同,差异只是事件的处理速率不同;当客户端向分布式处理集群实时发送海量数据处理请求时,某个处理节点完成请求处理后,将产生的中间结果封装为事件,发往其它处理节点继续处理;各处理节点在分发事件过程中,始终采用分布式负载均衡方法保证事件分发的负载均衡,直到产生最终结果并返还给客户端。本发明有效避免系统出现单点失效的负载均衡,能够在分布式集群系统中实现节点动态变化的负载均衡。
Description
技术领域
本发明涉及一种基于点对点P2P(Peer-to-Peer)技术的分布式负载均衡系统和方法,属于计算机网络的技术领域。
背景技术
随着网络业务量、访问量和数据流量的快速增长,服务器集群技术得到广泛的应用和研究,而负载均衡技术作为服务器集群技术中的重要组成部分,也得到了广泛、深入的研究和应用。
目前,负载均衡技术在商业化的web服务的业务负载管理、网格计算中的计算任务负载管理、并行计算中的计算任务负载管理、云计算的计算资源负载管理等领域问题都有大量的研究和实践应用。
按照仲裁方式,负载均衡技术主要分为集中式仲裁的负载均衡和分布式仲裁的负载均衡。由于集中式仲裁需要设置一个集中的负载均衡器,因此容易出现单点失效;并且随着分布式集群处理节点的增多,其处理性能也会受到一定的限制,容易成为性能瓶颈。分布式仲裁的负载均衡已经逐渐成为新的研究方向。P2P技术由于具有全分布、无中心节点等优势,进行负载决策时不会出现性能瓶颈和单故障点问题,而且,集群的伸缩性比较好,因此成为分布式负载均衡研究和应用的新方向。在P2P技术中,分布式哈希表DHT(Distributed HashTable)是一种广泛应用的方法。其主要思想是通过哈希函数建立各个请求和分布式集群处理节点之间的映射关系,并在分布式集群处理节点处于动态增加和移出时,能够最小化地改变每个请求和分布式集群处理节点之间映射关系。
基于P2P技术的分布式负载均衡方法的现有技术存在两个问题亟待解决:节点动态变化的管理和节点请求的负载均衡。
现有技术中,基于DHT实现的负载均衡经典算法方案有两种:Chord算法方案和Kademlia算法方案。这两种方案都很好地解决了分布式集群环境下的节点动态变化管理和数据快速存取的处理过程,但是,它们都没有很好地解决节点请求负载均衡的问题,系统中的节点可能出现负载过重或过轻的现象。其中,
Chord算法在一致性哈希算法的基础上,提高了查找指定请求所在节点的效率,但是,在节点数量不多时,很难保证每个节点在哈希环上的分布是否具有随机性,这个问题又会造成哈希环上相邻节点之间的间隔不够均匀,从而带来某些节点负载过重或者过轻的后果。
Kademlia算法在一致性哈希算法的基础上,根据请求的关键字和节点ID的相似度来选择为其服务的节点。在查询选择时,通过异或运算来优化查询效率,即查找与请求关键字的异或运算结果最小的节点,用作为其服务的节点,这个方法具有一定的随机性。但是,该方案没有考虑节点的负载情况,而且,系统中每个节点的负载分配跟请求的关键字有较大的关联,造成系统中每个节点的负载出现不均衡的概率比较大,因此,基于Kademlia算法虽然和Chord算法同样解决了分布式集群环境下的处理节点动态变化和数据快速存取过程。但是,它们的共同缺点是:均没有负载均衡的策略,系统中的节点都可能出现负载过重或者过轻的现象。
查找现有的论文和专利申请等资料,发现有2篇专利申请涉及到基于P2P技术的分布式负载均衡机制,分别介绍和对比分析如下。
《一种集群服务的负载均衡方法和装置》(公开号:CN 102137128A)介绍一种基于反馈机制的动态负载均衡技术,其方法是:首先获得集群中负载节点的负载能力,再根据负载能力获得负载节点的负载因子,再根据负载因子生成负载分配序列;当接收到待分配的服务请求时,根据服务请求生成随机数,再把生成的随机数根据所有节点负载因子总和取模余,得到一个参考值,再以负载节点的负载因子为参考值的节点做为接受请求的节点。但是,其没有提供解决节点动态变化的管理问题,在分布式集群环境下应用具有一定的局限性。
《一种DHT网络负载均衡装置及虚节点划分的方法》(公开号:CN101834897A)介绍了一种DHT网络负载均衡装置结构组成,以及其虚节点的划分方法:节点加入网络时,通过性能模型定义自身节点级别,若本身为弱节点,找到临近的弱节点,并与邻近的弱节点合并;接着,该节点退出网络并与找到的临近弱节点建立连接,共同组成一个强虚节点,同时退出节点,通过相邻弱节点与系统中的其他节点进行交互,其他节点将退出节点看成为强虚节点的一部分;节点合并后的调整,使得节点查询装置只包含强虚节点ID,由强虚节点给各弱节点分配负载,实现负载均衡。该方法有效解决了节点动态变化的管理问题,但是,因为强虚节点的数量少于弱节点的数量,不可避免造成弱节点扎堆和系统整体均衡性不佳的情况。
综合上述两个专利申请的方技术案,尽管其在一定程度上解决节点动态变化和系统负载均衡的问题。其系统负载均衡性是通过三层来保证的:第一层是请求到参考值的均衡分布,第二层是参考值到强虚节点的均衡映射,第三层是强虚节点将请求均衡分配给其负责的各弱节点。但是,这样处理仍然不能很好地解决分布式集群环境中的负载均衡问题,其原因在于:首先因其存在强虚节点层,当一个物理节点变动时,需要更改弱节点到强虚节点的映射关系和强虚节点到参考值的映射关系,一个弱节点的变动可能还会引起其邻居强虚节点的变动;因此当系统规模较大、节点动态变化较频繁时,强虚节点的变更给系统带来的开销会严重影响系统的整体性能和稳定性。其次,由于其强虚节点作为多个弱节点、即实际处理节点的集合,在第二层参考值到强虚节点的均衡映射只是保证了请求到弱节点集合的均衡性,并没有实现分布式集群系统全局意义上的负载均衡。因此,如何对现有的分布式负载均衡技术继续进行改进和提高,就成为业内科技人员关注的新课题。
发明内容
有鉴于此,本发明的目的是提供一种基于P2P技术的分布式负载均衡系统和方法,本发明系统用于分布式网络环境下,能够实现具有分布式仲裁功能、有效避免系统出现单点失效情况的负载均衡,该系统和方法能够支持分布式集群系统中节点增加和移出等情况下实现动态变化的负载均衡,并且可以有效保证环境变化后各节点的负载均衡。
为了达到上述目的,本发明提供了一种基于P2P技术的分布式负载均衡系统,其特征在于:该系统由具有均衡负载功能的分布式处理集群所组成,该处理集群内没有集中控制的中心节点,只设有分设于不同服务器、并分别用作该系统分布式控制核心的多个同构或异构的处理节点,每个处理节点都能独立提供分布式仲裁的负载均衡功能,且各自的处理事件的权限与均衡负载的功能都相同,异构处理节点的差异只是其事件的处理速率不同;当客户端向分布式处理集群实时发送海量数据处理请求时,该系统的某个处理节点完成请求处理后,将产生的中间结果封装为事件,发往其它处理节点继续处理;各处理节点在分发事件过程中,始终采用分布式负载均衡方法保证事件分发的负载均衡,直到产生最终结果并返还给客户端;该处理节点设有处理层和通信层;其中:
处理层,由包含多个处理单元的处理单元容器所组成,负责进行事件处理:接收来自通信层的事件,再根据事件类型和每个事件所设定属性的属性值,将该事件交由特定处理单元进行处理,同时负责将该事件处理完成后产生的新事件或最终结果,交给通信层进行分发与发送;
通信层,用于监听、分发事件及实现分布式负载均衡:负责从网络接收事件并转交给处理层;然后接收处理层完成处理后产生的新事件或最终结果,再使用分布式负载均衡方法将该新事件或最终结果分发给其他处理节点或客户端,保证该分布式处理集群中的各处理节点负载均衡;设有:事件监听、事件分发、事件发送、负载管理和分布式集群管理共五个模块。
为了达到上述目的,本发明还提供了一种基于P2P技术的分布式负载均衡系统的工作方法,其特征在于:每个处理节点的通信层中的事件分发模块和负载管理模块协同完成基于虚拟节点与处理节点之间映射的事件分发方法,实现基于P2P技术的分布式负载均衡;所述方法包括下述两个操作步骤:
步骤1,每个处理节点的通信层中的负载管理模块创建或更新虚拟节点映射表和动态负载信息表:
步骤2,每个处理节点的通信层中的事件分发模块与负载管理模块交互,根据虚拟节点映射表执行事件分发决策操作,将每个事件分发到相应的处理节点,并实现负载均衡:
事件分发模块计算每个事件的关键属性的哈希值,再将该哈希值除以虚拟节点总个数所得到的余数,作为将该事件准备分发到的虚拟节点编号;
事件分发模块与负载管理模块交互,从虚拟节点映射表查找该虚拟节点编号及其所对应的处理节点编号,以获取准备将该事件分发到的处理节点编号。
本发明系统和方法的主要创新技术是:采用在系统的通信层建立虚拟节点映射表和动态负载信息表来实现分布式负载均衡。本发明中的虚拟节点概念与DHT算法中一致性哈希的哈希环值有相似之处,但是,本发明的事件分发方法是对一致性哈希中的均衡策略的改进,更具优势。究其原因在于:DHT算法中的一致性哈希是将资源映射到哈希环上的数值,然后,某段哈希环上的数值就与某个处理节点相对应;由于处理节点在哈希环上是随机分布的,在查询处理节点时,需要顺时针或逆时针遍历所有处理节点的集合,这样就会产生处理节点扎堆和查询效率不高的缺陷。
本发明是先用哈希方法获取虚拟节点编号,然后再映射到处理节点。本发明保证虚拟节点编号可以均匀地分布在哈希环上。此外,通过第一阶段的哈希方法分散性和第二阶段的虚拟节点映射到处理节点的均衡性,以保证系统全局意义上的均衡性,并且,在查询处理节点时,只需在虚拟节点映射表中一次查询便能获知处理节点,查询效率高。因而,本发明分布式负载均衡方法的实质是一种改进的DHT实现方法。多次的仿真实施例的试验证明,本发明具有很好的推广应用前景。
附图说明
图1是本发明基于P2P技术的分布式负载均衡系统总体结构组成示意图。
图2是本发明分布式负载均衡系统中的处理节点组成结构示意图。
图3是本发明基于P2P技术的分布式负载均衡系统的工作方法流程图。
图4是本发明分布式负载均衡系统中的事件分发方案示意图。
图5是本发明分布式负载均衡系统中分布式负载均衡事件分发时序图。
图6是本发明分布式负载均衡系统中新增处理节点表的更新操作时序图。
图7是本发明分布式负载均衡系统中处理节点动态移出表的更新操作时序图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。
本发明是一种基于对等P2P(Peer-to-Peer)技术的分布式负载均衡系统,同时,提供了一种基于该系统的负载均衡方法。首先介绍系统结构组成:
参见图1,本发明基于P2P技术的分布式负载均衡系统由具有均衡负载功能的分布式处理集群所组成,该处理集群内没有中心节点(即集中控制节点),只有分设于不同服务器、并分别用作该系统分布式控制核心的多个同构或异构的处理节点(实际环境部署时,同一台服务器也可以设置多个处理节点),每个处理节点都能独立提供分布式仲裁的负载均衡功能,且各自处理事件的权限与均衡负载的功能都相同,异构处理节点的差异只是其事件的处理速率不同。当客户端向分布式处理集群实时发送海量数据处理请求时,该系统的某个处理节点完成请求处理后,将产生的中间结果封装为事件,并发往其它处理节点继续处理。而且,各处理节点在分发事件过程中,始终采用分布式负载均衡方法保证事件分发的负载均衡,直到产生最终结果并返还给客户端。
参见图2,介绍处理节点内部功能模块,其设有处理层和通信层;其中:
处理层由包含多个处理单元的处理单元容器所组成,负责进行事件处理:接收来自通信层的事件,再根据事件类型和每个事件所设定属性的属性值,将该事件交由特定处理单元进行处理,同时负责将该事件处理完成后产生的新事件或最终结果,交给通信层进行分发与发送。处理层的两种组成部件功能如下:
处理单元容器,用于管理和控制其内部的各个处理单元,采用设定顺序激活相应的处理单元来处理不同事件。
处理单元,用于处理特定类型和属性的事件,负责藉由通信层的事件分发模块和事件发送模块,将产生的中间处理结果作为新事件,发往其他处理单元继续处理;或者将处理的最终结果返回给客户端;每个处理单元都是系统预先设置的,或者由第三方程序员开发并部署到处理节点上。
通信层用于监听、分发事件及实现分布式负载均衡(参见第4节):负责从网络接收事件并转交给处理层,然后接收处理层完成处理后产生的新事件或最终结果,再使用分布式负载均衡方法将该新事件或最终结果分发给其他处理节点或客户端,保证该分布式处理集群中的各处理节点负载均衡。设有下述五个模块:事件监听、事件分发、事件发送、负载管理和分布式集群管理模块:
事件监听模块,负责接收网络事件,并交由处理层的处理单元进行处理。
事件分发模块,负责接收处理层的新事件或最终结果,并按照负载管理模块提供的负载均衡信息来分发新事件或最终结果,再经由事件发送模块将其发送到其他处理节点或客户端。
事件发送模块,用于将来自事件分发模块的新事件或最终结果分别发送到设定的处理节点或客户端,分发过程中保证系统负载均衡。
负载管理模块,其为处理节点实现分布式负载均衡方法的关键模块,负责创建与维护事件分发模块所需的负载信息,并为此定义了下述几个重要概念:
(A)虚拟节点是为了实现分布式负载均衡方法而设置的一个与处理节点相互映射的逻辑符号,每个虚拟节点只能映射到一个处理节点,但是,每个处理节点能够映射到多个虚拟节点。虚拟节点个数是在系统启动时设置的,其数量远大于处理节点个数;且在系统运行后,虚拟节点个数保持不变;当系统新增或退出处理节点时,处理节点及其虚拟节点之间的映射关系也要根据调整算法作相应改变。
(B)虚拟节点映射表是本发明的重要数据结构,设于每个处理节点的负载管理模块,用于表示每个虚拟节点编号及其对应的处理节点编号,以便在系统分发事件时,查找该虚拟节点映射表,根据虚拟节点编号获取其对应的处理节点。虚拟节点映射表是根据每个处理节点的事件处理速率高低降序排列形成的;因每个处理节点处理事件的速率不同,故每个处理节点所分配的对应虚拟节点个数也不相等;且在系统运行后,为节省更新时间,采取增删处理节点的动态负载信息表和虚拟节点映射表的更新方法来实时更新虚拟节点映射表。
下表1就是一个虚拟节点映射表的示例:其中第一项是虚拟节点编号,第二项是该虚拟节点对应的处理节点编号。在需要进行事件分发时,即本发明事件分发第二阶段就是通过根据虚拟节点编号查找虚拟节点映射表的方式,获取该虚拟节点对应的处理节点。
虚拟节点 | 处理节点 |
虚拟节点0 | 处理节点0 |
虚拟节点1 | 处理节点1 |
虚拟节点2...... | |
虚拟节点3 | 处理节点K |
虚拟节点4 | 处理节点0 |
虚拟节点5 | 处理节点1 |
虚拟节点6...... | |
虚拟节点7 | 处理节点K............ |
虚拟节点N | 处理节点K |
本发明实施例是根据每个处理节点的事件处理速率的高低,采用降序排列方式来初始化虚拟节点映射表。实际应用时,也可用其它能够保证按照处理节点的事件处理速率高低降序排列的方法来初始化虚拟节点映射表,而且,对于每个处理效率不同的处理节点,可以给其分配数量不同的虚拟节点。
需要注意的是,虚拟节点映射表的初始化方法仅适用于初始构建的时候。系统运行后,为节省虚拟节点映射表的更新时间,不再采用该初始化的方法来更新虚拟节点映射表。在动态新增或移出处理节点后,本发明是采用动态新增或移出处理节点的动态负载信息表和虚拟节点映射表的更新方法来实时更新虚拟节点映射表。
(C)动态负载信息表是是本发明的另一重要数据结构,设于每个处理节点负载管理模块,用于表示每个处理节点编号、按照其事件处理速率在理论上分配的虚拟节点个数与其实际对应的虚拟节点个数。本发明系统中各处理节点对应的虚拟节点个数称为节点负载数。在初始建立虚拟节点映射表时,为方便维护每个处理节点的负载信息,根据虚拟节点映射表信息建立了一张动态负载信息表。该动态负载信息表是按照每个处理节点的负载数量与其理论上分配的负载数量之差的绝对值降序排列形成的,且其信息与虚拟节点映射表的信息逐一对应的。故在虚拟节点映射表更新时,动态负载信息表也要相应更新。
下表2是一个动态负载信息表的示例:其中第一项是处理节点编号,第二项是该处理节点对应的虚拟节点个数,第三项是一个列表,包含该处理节点对应的各个虚拟节点编号。动态负载信息表中每一项是按照处理节点负载数从大到小降序排列的。同时,为了保证分布式处理集群中增加处理节点时,新增的处理节点和虚拟节点的映射集均匀分开,在创建动态负载信息表时,对每个处理节点对应的虚拟节点编号执行乱序操作。
处理节点 | 节点负载数 | 虚拟节点列表 |
处理节点0 | 256 | 40,4,0,...... |
处理节点1 | 256 | 5,41,1,........................ |
处理节点K | 256 | 19,7,3,...... |
虚拟节点映射表与动态负载信息表之间的关系:在系统启动时,借助分布式集群管理模块中的信息创建虚拟节点映射表;在系统启动后,利用已经建立的虚拟节点映射表信息创建动态负载信息表,且在分布式处理集群中有新增或退出处理节点时,对虚拟节点映射表和动态负载信息表进行实时更新。
分布式集群管理模块,负责管理和维护分布式处理集群及其中的全部处理节点与其对应的虚拟节点,该分布式处理集群中的各处理节点也经由该分布式集群管理模块实时获取该集群中自身与其他处理节点的链接地址、当前存活状态、负载状态与相关信息。
本发明系统的应用场景主要有下述三种:
(1)分发事件场景:客户端向分布式负载均衡系统中的分布式处理集群发送海量数据处理请求,分布式处理集群中的每个处理节点分别独立、均等地完成各自的负载决策,且在处理过程中,保证每个处理节点的负载均衡;并实时向客户端返回处理结果;
(2)新增处理节点场景:客户端向分布式处理集群发送海量数据处理请求过程中,为减轻该处理集群中各处理节点的负载压力,向该处理集群中实时增加新的处理节点;并在尽可能短时间内,由新增处理节点分担原处理集群中各处理节点的部分负载,使得新增处理节点和原处理集群中各处理节点重新实现负载均衡。
(3)移出处理节点场景:客户端向该分布式处理集群发送海量数据处理请求过程中,因故障或管理需要等原因,有节点要迁移离开该处理集群时,由该集群中其它处理节点承担该移出处理节点的负载;并在尽可能短时间内,使得移出一个或多个处理节点后的处理集群中的每个处理节点重新达到负载均衡。
参见图3,介绍本发明基于P2P技术的分布式负载均衡系统的工作方法:每个处理节点的通信层中的事件分发模块和负载管理模块协同完成基于虚拟节点与处理节点之间映射的事件分发方法,实现基于P2P技术的分布式负载均衡。包括下述两个操作步骤:
步骤1,每个处理节点的通信层中的负载管理模块创建或更新虚拟节点映射表和动态负载信息表。该步骤1包括下列操作内容:
(11)系统初始建立时,负载管理模块根据每个处理节点的事件处理速率高低采用降序排列方式创建初始化虚拟节点映射表,此时对于事件处理速率不同的处理节点,分别设置相应不同的虚拟节点个数。该步骤包括下列操作内容:
(11A)为保证负载均衡,负载管理模块先计算系统当前每个处理节点理论上获取的负载个数,即其理论负载个数loadAfter(i)为:
(11B)负载管理模块顺序给每个处理节点随机分配loadAfter(i)个负载,直到所有虚拟节点都有一个与其对应的处理节点;且每次分配都要分别在动态负载信息表和虚拟节点映射表执行相应更新操作。
(11C)负载管理模块对动态负载信息表中各个处理节点按照其当前的实际负载数与理论负载数之差的绝对值进行降序排列。
(12)系统运行后,当新增或移出处理节点时,为使系统尽快重新达到负载均衡,负载管理模块实时更新虚拟节点映射表和动态负载信息表。
步骤2(参见图4),每个处理节点的通信层中的事件分发模块与负载管理模块交互,根据虚拟节点映射表执行事件分发决策操作,将每个事件分发到相应的处理节点,并实现负载均衡:
事件分发模块计算每个事件的关键属性的哈希值,再将该哈希值除以虚拟节点总个数所得到的余数,作为将该事件准备分发到的虚拟节点编号;
事件分发模块与负载管理模块交互,从虚拟节点映射表查找该虚拟节点编号及其所对应的处理节点编号,以获取准备将该事件分发到的处理节点编号。
图4所示的系统事件分发机制示意图是本发明方法的关键,为了更详细地介绍其操作流程,下面根据本发明三种应用场景分别介绍三种不同场景下的分布式负载均衡事件分发流程。
参见图5,说明分发事件场景的分布式负载均衡事件分发操作流程,其对应的是本系统进行海量数据处理的场景。分发事件场景包括下列操作内容:
(A1)处理节点的事件监听模块监测到网络中新出现需要处理的事件,就根据该事件类型将其发送到处理单元容器,交给相应的处理单元进行处理。需要说明的是,分布式处理集群中每个处理节点都在时刻监听是否有需处理事件。
(A2)该处理单元完成事件处理后,将新产生的事件准备发往其他处理节点或由其自身继续处理。
(A3)事件分发模块先计算该新事件属性的哈希值,再利用哈希方法、即将该哈希值除以虚拟节点总个数所得到的余数(启动时配置,系统启动后为常量),作为对应的虚拟节点编号。
(A4)事件分发模块与负载管理模块交互,根据该虚拟节点编号查询虚拟节点映射表(参见表1),得到该新事件准备分发到的处理节点编号;然后,将该新事件与要分发的对应处理节点编号信息传给事件发送模块。
(A5)事件发送模块将该新事件发往其他处理节点或自身节点继续处理,直到产生事件最终结果,返回给客户端。
需要注意的是,上述两个步骤(A3)和(A4)是本发明负载均衡方法的核心流程,可以看到各个处理节点分别执行负载均衡策略,无中心负载均衡处理节点,是一种典型的基于p2p技术的分布式负载均衡方法。
参见图6,介绍新增处理节点场景时、即系统进行海量数据处理时,新增一个处理节点后,其他处理节点的部分负载分摊给新处理节点,使得分布式处理集群重新达到负载均衡的操作流程。该场景包括下列操作内容:
(B1)处理节点的分布式集群管理模块检测到新增处理节点加入,就将该信息通知分布式集群中的所有处理节点的负载管理模块,并提供该新增处理节点的配置信息(包括该新增处理节点编号、IP地址、事件处理速率和端口号)。
(B2)其他各个处理节点负载管理模块接收上述信息,再根据该新增处理节点信息对动态负载信息表和虚拟节点映射表进行更新。该更新方法借鉴了一致性哈希在节点加入系统时尽量减少系统拓扑维护的思路:设置一个通用场景,用于说明增加一个处理节点时的动态负载信息表和虚拟节点映射表更新方法。假设当前系统设有N个处理节点,总共有VIRTUAL_NODES_NUM个虚拟节点(VIRTUAL_NODES_NUM远大于N)。现在要增加一个处理节点,也就是处理节点从N个增加到N+1个。具体操作内容如下:
(B2A)为保证负载均衡,负载管理模块先计算系统当前包括新增处理节点在内的所有处理节点理论上将获取的负载个数,即其理论负载个数loadAfter(i)为: 式中,自然数i是处理节点编号,其最大值为N;,VIRTUAL_NODES_NUM是虚拟节点总个数,其数值远大于系统处理节点总个数N;P_CAPACITY(i)是编号为i的处理节点的事件处理速率,是系统当前所有处理节点的总事件处理速率;
(B2B)负载管理模块将动态负载信息表按照处理节点的实际负载数与理论负载数之差的绝对值进行降序排列;
(B2C)负载管理模块按照调整后的动态负载信息表的排列顺序,从绝对值最大的处理节点k开始,将(|loadAfter(k)-loadActual(k)|)个负载转移给新增处理节点,式中,loadActual(k)为处理节点的实际负载个数;直到新增处理节点i的理论负载个数与实际负载个数相等;需要注意的是:对于需要转移负载给新增处理节点的最后一个处理节点l,其转移的负载个数应不多于(|loadAfter(l)-loadActual(l)|),以保证该新增处理节点所分配的实际负载个数不大于其理论分配的负载个数,且负载数多的处理节点移出更多的负载:
(B2D)根据上述步骤调整结果,对虚拟节点映射表和动态负载信息表做相应更新:遍历处理节点的动态负载信息表,对于该表中每个处理节点转移(|loadAfter(k)-loadActual(k)|)个负载给新增处理节点,直到新增处理节点i理论负载个数loadAfter(i)与实际负载个数相等loadActual(i);且每次转移都要分别在动态负载信息表和虚拟节点映射表执行相应更新操作;再在动态负载信息表上新建一行,用于表示该新增处理节点的负载信息;最后,对动态负载信息表中各个处理节点重新按照其实际负载数与理论负载数之差的绝对值进行降序排列。
(B3)每个处理节点负载管理模块完成虚拟节点映射表和动态负载信息表的更新后,新增处理节点就分担该分布式处理集群中的所有原处理节点的部分负载,使得新增处理节点和该处理集群中的所有原处理节点很快重新达到负载均衡。
参见图7,介绍对于处理节点移出场景的分布式负载均衡表更新流程。该场景是:本发明系统进行海量数据处理时,某个处理节点因故障或管理原因被移出系统后,分布式处理集群其他处理节点取代移出处理节点工作,重新达到负载均衡的过程。此时的操作步骤如下:
(C1)处理节点的分布式集群管理模块采用各个处理节点之间互发心跳信息或其他方法,检测到该集群中有移出处理节点的状况:处理节点正常关闭或因故障而宕机,使得该集群中的处理节点减少的现象。
(C2)发现移出处理节点的处理节点中的分布式集群管理模块,通知该分布式集群中的所有处理节点的负载管理模块有处理节点移出,并提供该移出处理节点包括其编号、IP地址、事件处理速率和端口号的配置信息。
(C3)其他各个处理节点的负载管理模块接收上述信息后,根据该移出的处理节点信息更新动态负载信息表和虚拟节点映射表。这个更新过程是重新达到负载均衡的核心,本发明对于处理节点移出的动态负载信息表和虚拟节点映射表的更新方法同样也借鉴了一致性哈希在节点加入系统时尽量减少系统拓扑维护的思想。处理节点移出的动态负载信息表和虚拟节点映射表的详细更新过程包括下列操作内容:
(C3A)假设原处理节点总个数为N,虚拟节点总个数为VIRTUAL_NODES_NUM,且VIRTUAL_NODES_NUM远大于N,此时移出一个处理节点,即当前处理节点总个数为(N-1);同时,计算当前系统各处理节点的理论负载为: 并对动态负载信息表中各个处理节点重新按照其实际负载数与理论负载数之差的绝对值降序排列;
(C3B)为保证移出处理节点的负载转移后,仍然实现均衡负载,采取下述更新策略:按照调整后的动态负载信息表的排列顺序,从绝对值最大的处理节点k开始,逐个进行下述操作:从该移出处理节点处获取(|loadAfter(k)-loadActual(k)|)个负载,直到该移出处理节点的所有负载都已被重新分配给其他各个处理节点;需要注意的是,操作到动态负载信息表中最后一个处理节点时,如果该移出处理节点的负载还没有全部被分配出去,则将该移出处理节点剩余的所有负载都转移给最后一个处理节点,保证负载数少的处理节点能从该移出处理节点处获取更多负载;
(C3C)根据上述操作结果,相应修改虚拟节点映射表和动态负载信息表:遍历处理节点的动态负载信息表,该表中的每个处理节点从该移出处理节点处获取(|loadAfter(k)-loadActual(k)|)个负载,其中,自然数k为遍历时的当前处理节点编号;直到该移出处理节点的所有负载都已被重新分配给其他各个处理节点;且每次转移负载都要分别在动态负载信息表和虚拟节点映射表执行相应修改操作;
(C34)在动态负载信息表上删除已经移出的处理节点信息;最后,对动态负载信息表中各个处理节点重新按照其实际负载数与理论负载数之差的绝对值进行降序排列。
(C4)每个处理节点负载管理模块更新完成虚拟节点映射表和动态负载信息表后,该集群中的其他各个处理节点就承担了该退出处理节点的负载,并在尽可能短的时间内,移出处理节点后的该分布式处理集群重新实现负载均衡。
本发明已经进行了大量的仿真实施试验,试验的结果成功的,实现了发明目的。
Claims (13)
1.一种基于点对点P2P(Peer-to-Peer)技术的分布式负载均衡系统,其特征在于:该系统由具有均衡负载功能的分布式处理集群所组成,该处理集群内没有集中控制的中心节点,只设有分设于不同服务器、并分别用作该系统分布式控制核心的多个同构或异构的处理节点,每个处理节点都能独立提供分布式仲裁的负载均衡功能,且各自的处理事件的权限与均衡负载的功能都相同,异构处理节点的差异只是其事件的处理速率不同;当客户端向分布式处理集群实时发送海量数据处理请求时,该系统的某个处理节点完成请求处理后,将产生的中间结果封装为事件,发往其它处理节点继续处理;各处理节点在分发事件过程中,始终采用分布式负载均衡方法保证事件分发的负载均衡,直到产生最终结果并返还给客户端;该处理节点设有处理层和通信层;其中:
处理层,由包含多个处理单元的处理单元容器所组成,负责进行事件处理:接收来自通信层的事件,再根据事件类型和每个事件所设定属性的属性值,将该事件交由特定处理单元进行处理,同时负责将该事件处理完成后产生的新事件或最终结果,交给通信层进行分发与发送;
通信层,用于监听、分发事件及实现分布式负载均衡:负责从网络接收事件并转交给处理层;然后接收处理层完成处理后产生的新事件或最终结果,再使用分布式负载均衡方法将该新事件或最终结果分发给其他处理节点或客户端,保证该分布式处理集群中的各处理节点负载均衡;设有:事件监听、事件分发、事件发送、负载管理和分布式集群管理共五个模块。
2.根据权利要求1所述的系统,其特征在于:所述处理层的各个组成部件功能如下:
处理单元容器,用于管理和控制其内部的各个处理单元,采用设定顺序激活相应的处理单元来处理不同事件;
处理单元,用于处理特定类型和属性的事件,负责藉由通信层的事件分发模块和事件发送模块,将产生的中间处理结果作为新事件,发往其他处理单元继续处理;或者将处理的最终结果返回给客户端;每个处理单元都是系统预先设置的,或者由第三方程序员开发并部署到处理节点上。
3.根据权利要求1所述的系统,其特征在于:所述通信层的各个组成部件功能如下:
事件监听模块,负责接收网络事件,并交由处理层的处理单元进行处理;
事件分发模块,负责接收处理层的新事件或最终结果,并按照负载管理模块提供的负载均衡信息来分发新事件或最终结果,再经由事件发送模块将其发送到其他处理节点或客户端;
事件发送模块,用于将来自事件分发模块的新事件或最终结果分别发送到设定的处理节点或客户端;
负载管理模块,负责创建与维护事件分发模块所需的负载信息,即虚拟节点映射表与动态负载信息表:在系统启动时,借助分布式集群管理模块中的信息创建虚拟节点映射表;在系统启动后,利用已经建立的虚拟节点映射表信息创建动态负载信息表,且在分布式处理集群中有新增或退出处理节点时,对虚拟节点映射表和动态负载信息表进行实时更新;
分布式集群管理模块,负责管理和维护分布式处理集群及其中的全部处理节点与其对应的虚拟节点,该分布式处理集群中的各处理节点也经由该分布式集群管理模块实时获取该集群中自身与其他处理节点的链接地址、当前存活状态、负载状态与相关信息。
4.根据权利要求3所述的系统,其特征在于:所述虚拟节点是为了实现分布式负载均衡方法而设置的一个与处理节点相互映射的逻辑符号,每个虚拟节点只能映射到一个处理节点,但每个处理节点能够映射到多个虚拟节点;虚拟节点个数是在系统启动时设置的,其数量远大于处理节点个数;且在系统运行后,虚拟节点个数保持不变;当系统新增或退出处理节点时,处理节点及其虚拟节点之间的映射关系也根据调整算法作相应改变;
所述虚拟节点映射表设于每个处理节点的负载管理模块,用于表示每个虚拟节点编号及其对应的处理节点编号,以便在系统分发事件时,查找该虚拟节点映射表,根据虚拟节点编号获取其对应的处理节点;该虚拟节点映射表是根据每个处理节点的事件处理速率高低降序排列形成的;因每个处理节点处理事件的速率不同,故每个处理节点所分配的对应虚拟节点个数也不相等;且在系统运行后,为节省更新时间,采取增删处理节点的动态负载信息表和虚拟节点映射表的更新方法来实时更新虚拟节点映射表;
所述动态负载信息表设于每个处理节点负载管理模块,用于表示每个处理节点编号、按照其事件处理速率在理论上分配的虚拟节点个数与其实际对应的虚拟节点个数;该动态负载信息表是按照每个处理节点的负载数量与其理论上分配的负载数量之差的绝对值降序排列形成的,且其信息与虚拟节点映射表的信息逐一对应;故在虚拟节点映射表更新时,动态负载信息表也要相应更新。
5.一种基于P2P技术的分布式负载均衡系统的工作方法,其特征在于:每个处理节点的通信层中的事件分发模块和负载管理模块协同完成基于虚拟节点与处理节点之间映射的事件分发方法,实现基于P2P技术的分布式负载均衡;所述方法包括下述两个操作步骤:
步骤1,每个处理节点的通信层中的负载管理模块创建或更新虚拟节点映射表和动态负载信息表:
步骤2,每个处理节点的通信层中的事件分发模块与负载管理模块交互,根据虚拟节点映射表执行事件分发决策操作,将每个事件分发到相应的处理节点,并实现负载均衡:
事件分发模块计算每个事件的关键属性的哈希值,再将该哈希值除以虚拟节点总个数所得到的余数,作为将该事件准备分发到的虚拟节点编号;
事件分发模块与负载管理模块交互,从虚拟节点映射表查找该虚拟节点编号及其所对应的处理节点编号,以获取准备将该事件分发到的处理节点编号。
6.根据权利要求5所述的方法,其特征在于:所述方法的应用场景有三种:
分发事件:客户端向分布式负载均衡系统中的分布式处理集群发送海量数据处理请求,分布式处理集群中的各个处理节点分别独立、均等地完成各自的负载决策,且在处理过程中,保证各个处理节点的负载均衡;并实时向客户端返回处理结果;
新增处理节点:客户端向分布式处理集群发送海量数据处理请求过程中,为减轻该处理集群中各处理节点的负载压力,在该处理集群中实时增加新的处理节点;并在尽可能短时间内,由新增处理节点分担原处理集群中各处理节点的部分负载,使得新增处理节点和原处理集群中各处理节点重新实现负载均衡;
移出处理节点:客户端向该分布式处理集群发送海量数据处理请求过程中,因故障或管理需要,有节点要迁移离开该处理集群时,由该处理集群中的其它处理节点承担该移出处理节点的负载;并在尽可能短时间内,使得移出一个或多个处理节点后的该处理集群中的各个处理节点重新达到负载均衡。
7.根据权利要求5所述的方法,其特征在于:所述步骤1包括下列操作内容:
(11)系统初始建立时,负载管理模块根据每个处理节点的事件处理速率高低降序排列方式创建初始化虚拟节点映射表,此时对于事件处理速率不同的处理节点,分别设置相应不同的虚拟节点个数;
(12)系统运行后,当新增或移出处理节点时,为使系统尽快重新达到负载均衡,负载管理模块实时更新虚拟节点映射表和动态负载信息表。
8.根据权利要求7所述的方法,其特征在于:所述步骤(11)包括下列操作内容:
(11A)为保证负载均衡,负载管理模块先计算系统当前每个处理节点理论上获取的负载个数,即其理论负载个数loadAfter(i)为: 式中,VIRTUAL_NODES_NUM是虚拟节点总个数,其数值远大于系统处理节点总个数N;自然数i是处理节点编号,其最大值为N;P_CAPACITY(i)是编号为i的处理节点的事件处理速率,该事件处理速率取决于包括CPU和内存的权衡因子,或者由专业测试工具事先测定的;是系统当前所有处理节点的事件处理总速率;
(11B)负载管理模块顺序给每个处理节点随机分配loadAfter(i)个负载,直到所有虚拟节点都有一个与其对应的处理节点;且每次分配都要分别在动态负载信息表和虚拟节点映射表执行相应更新操作。
(11C)负载管理模块对动态负载信息表中各个处理节点按照其当前的实际负载数与理论负载数之差的绝对值进行降序排列。
9.根据权利要求6所述的方法,其特征在于:所述方法应用于分发事件场景时,包括下列操作内容:
(A1)处理节点的事件监听模块监测到网络中新出现需要处理的事件,就根据该事件类型将其发送到处理单元容器,交给相应的处理单元进行处理;
(A2)该处理单元完成事件处理后,将新产生的事件准备发往其他处理节点或由其自身继续处理;
(A3)事件分发模块先计算该新事件属性的哈希值,再利用哈希方法、即将该哈希值除以虚拟节点总个数所得到的余数,作为对应的虚拟节点编号;
(A4)事件分发模块与负载管理模块交互,根据该虚拟节点编号查询虚拟节点映射表,得到该新事件准备分发到的处理节点编号;然后,将该新事件与要分发的对应处理节点编号信息传给事件发送模块;
(A5)事件发送模块将该新事件发往其他处理节点或自身节点继续处理,直到产生事件最终结果,返回给客户端。
10.根据权利要求6所述的方法,其特征在于:所述方法应用于新增处理节点场景时,包括下列操作内容:
(B1)处理节点的分布式集群管理模块检测到新增处理节点加入,就将该信息通知分布式集群中的所有处理节点的负载管理模块,并提供该新增处理节点的包括编号、IP地址、事件处理速率和端口号的配置信息;
(B2)其他各个处理节点负载管理模块接收上述信息,再根据该新增处理节点信息对动态负载信息表和虚拟节点映射表进行更新;
(B3)每个处理节点负载管理模块完成虚拟节点映射表和动态负载信息表的更新后,新增处理节点就分担该分布式处理集群中的所有原处理节点的部分负载,使得新增处理节点和该处理集群中的所有原处理节点很快重新达到负载均衡。
11.根据权利要求10所述的方法,其特征在于:所述步骤(B2)中,动态负载信息表和虚拟节点映射表的更新包括下列操作内容:
(B2A)为保证负载均衡,负载管理模块先计算系统当前包括新增处理节点在内的所有处理节点理论上将获取的负载个数,即其理论负载个数loadAfter(i)为: 式中,自然数i是处理节点编号,其最大值为N;,VIRTUAL_NODES_NUM是虚拟节点总个数,其数值远大于系统处理节点总个数N;P_CAPACITY(i)是编号为i的处理节点的事件处理速率,是系统当前所有处理节点的总事件处理速率;
(B2B)负载管理模块将动态负载信息表按照处理节点的实际负载数与理论负载数之差的绝对值进行降序排列;
(B2C)负载管理模块按照调整后的动态负载信息表的排列顺序,从绝对值最大的处理节点k开始,将(|loadAfter(k)-loadActual(k)|)个负载转移给新增处理节点,式中,loadActual(k)为处理节点的实际负载个数;直到新增处理节点i的理论负载个数与实际负载个数相等;需要注意的是:对于需要转移负载给新增处理节点的最后一个处理节点l,其转移的负载个数应不多于(|loadAfter(l)-loadActual(l)|),以保证该新增处理节点所分配的实际负载个数不大于其理论分配的负载个数,且负载数多的处理节点移出更多的负载:
(B2D)根据上述步骤调整结果,对虚拟节点映射表和动态负载信息表做相应更新:遍历处理节点的动态负载信息表,对于该表中每个处理节点转移(|loadAfter(k)-loadActual(k)|)个负载给新增处理节点,直到新增处理节点i理论负载个数loadAfter(i)与实际负载个数相等loadActual(i);且每次转移都要分别在动态负载信息表和虚拟节点映射表执行相应更新操作;再在动态负载信息表上新建一行,用于表示该新增处理节点的负载信息;最后,对动态负载信息表中各个处理节点重新按照其实际负载数与理论负载数之差的绝对值进行降序排列。
12.根据权利要求6所述的方法,其特征在于:所述方法应用于移出处理节点场景时,包括下列操作内容:
(C1)处理节点的分布式集群管理模块采用各个处理节点之间互发心跳信息或其他方法,检测到该集群中有移出处理节点的状况:处理节点正常关闭或因故障而宕机,使得该集群中的处理节点减少的现象;
(C2)发现移出处理节点的处理节点中的分布式集群管理模块,通知该分布式集群中的所有处理节点的负载管理模块有处理节点移出,并提供该移出处理节点包括其编号、IP地址、事件处理速率和端口号的配置信息;
(C3)其他各个处理节点的负载管理模块接收上述信息后,根据该移出的处理节点信息更新动态负载信息表和虚拟节点映射表;
(C4)每个处理节点负载管理模块更新完成虚拟节点映射表和动态负载信息表后,该集群中的其他各个处理节点就承担了该退出处理节点的负载,并在尽可能短的时间内,移出处理节点后的该分布式处理集群重新实现负载均衡。
13.根据权利要求12所述的方法,其特征在于:所述步骤(C3)中,动态负载信息表和虚拟节点映射表的更新包括下列操作内容:
(C31)假设原处理节点总个数为N,虚拟节点总个数为VIRTUAL_NODES_NUM,且VIRTUAL_NODES_NUM远大于N,此时移出一个处理节点,即当前处理节点总个数为(N-1);同时,计算当前系统各处理节点的理论负载为: 并对动态负载信息表中各个处理节点重新按照其实际负载数与理论负载数之差的绝对值降序排列;
(C32)为保证移出处理节点的负载转移后,仍然实现均衡负载,采取下述更新策略:按照调整后的动态负载信息表的排列顺序,从绝对值最大的处理节点k开始,逐个进行下述操作:从该移出处理节点处获取(|loadAfter(k)-loadActual(k)|)个负载,直到该移出处理节点的所有负载都已被重新分配给其他各个处理节点;需要注意的是,操作到动态负载信息表中最后一个处理节点时,如果该移出处理节点的负载还没有全部被分配出去,则将该移出处理节点剩余的所有负载都转移给最后一个处理节点,保证负载数少的处理节点能从该移出处理节点处获取更多负载;
(C33)根据上述操作结果,相应修改虚拟节点映射表和动态负载信息表:遍历处理节点的动态负载信息表,该表中的每个处理节点从该移出处理节点处获取(|loadAfter(k)-loadActual(k)|)个负载,其中,自然数k为遍历时的当前处理节点编号;直到该移出处理节点的所有负载都已被重新分配给其他各个处理节点;且每次转移负载都要分别在动态负载信息表和虚拟节点映射表执行相应修改操作;
(C34)在动态负载信息表上删除已经移出的处理节点信息;最后,对动态负载信息表中各个处理节点重新按照其实际负载数与理论负载数之差的绝对值进行降序排列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210384185.1A CN102882973B (zh) | 2012-10-11 | 2012-10-11 | 基于p2p技术的分布式负载均衡系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210384185.1A CN102882973B (zh) | 2012-10-11 | 2012-10-11 | 基于p2p技术的分布式负载均衡系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102882973A true CN102882973A (zh) | 2013-01-16 |
CN102882973B CN102882973B (zh) | 2015-05-20 |
Family
ID=47484115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210384185.1A Expired - Fee Related CN102882973B (zh) | 2012-10-11 | 2012-10-11 | 基于p2p技术的分布式负载均衡系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102882973B (zh) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188345A (zh) * | 2013-03-01 | 2013-07-03 | 北京邮电大学 | 分布式动态负载管理系统和方法 |
CN103297268A (zh) * | 2013-05-13 | 2013-09-11 | 北京邮电大学 | 基于p2p技术的分布式数据一致性维护系统和方法 |
CN103533068A (zh) * | 2013-10-22 | 2014-01-22 | 黎亮 | 基于ip的任务自主均衡分配集群系统 |
CN103560943A (zh) * | 2013-10-31 | 2014-02-05 | 北京邮电大学 | 支持海量数据实时处理的网络分析系统和方法 |
CN103605698A (zh) * | 2013-11-06 | 2014-02-26 | 广东电子工业研究院有限公司 | 一种用于分布异构数据资源整合的云数据库系统 |
CN104021033A (zh) * | 2014-06-23 | 2014-09-03 | 中国银行股份有限公司 | 一种繁忙处理节点的散列方法和系统 |
CN104780201A (zh) * | 2015-03-02 | 2015-07-15 | 新浪网技术(中国)有限公司 | 一种ipvs集群中的数据包处理方法及装置 |
WO2015192291A1 (zh) * | 2014-06-16 | 2015-12-23 | 华为技术有限公司 | 业务报文分发方法与装置 |
CN105320676A (zh) * | 2014-07-04 | 2016-02-10 | 中国移动通信集团黑龙江有限公司 | 一种客户数据查询服务方法及装置 |
WO2014173295A3 (en) * | 2013-04-26 | 2016-02-25 | Huawei Technologies Co., Ltd. | System and method for creating highly scalable high availability cluster in a massively parallel processing cluster of machines in a network |
CN105373431A (zh) * | 2015-10-29 | 2016-03-02 | 武汉联影医疗科技有限公司 | 一种计算机系统资源的管理方法及计算机资源管理系统 |
CN105554115A (zh) * | 2015-12-16 | 2016-05-04 | 国网浙江省电力公司湖州供电公司 | 电力视频传输环境下的p2p多节点并发融合方法 |
CN105592139A (zh) * | 2015-10-28 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种分布式文件系统管理平台的ha实现方法及装置 |
CN106776001A (zh) * | 2016-11-14 | 2017-05-31 | 天津南大通用数据技术股份有限公司 | 一种分布式数据库集群数据的分布方法及装置 |
CN106941421A (zh) * | 2017-03-31 | 2017-07-11 | 北京奇艺世纪科技有限公司 | 一种链路故障修复方法及装置 |
WO2017157156A1 (zh) * | 2016-03-14 | 2017-09-21 | 阿里巴巴集团控股有限公司 | 一种用户请求的处理方法和装置 |
CN107438106A (zh) * | 2017-08-23 | 2017-12-05 | 北京慧点科技有限公司 | 对等网络的负载均衡的方法、装置及对等网络系统 |
CN107566484A (zh) * | 2017-08-31 | 2018-01-09 | 深信服科技股份有限公司 | 一种流量调度方法及装置 |
CN107888697A (zh) * | 2017-11-24 | 2018-04-06 | 北京航天自动控制研究所 | 一种负载均衡算法中的节点锁定方法 |
CN108810120A (zh) * | 2018-05-31 | 2018-11-13 | 中国联合网络通信集团有限公司 | 区块链节点通信方法、装置及区块链节点 |
CN108920270A (zh) * | 2018-07-23 | 2018-11-30 | 国云科技股份有限公司 | 一种动态多源异构数据关联查询系统及其实现方法 |
CN109669775A (zh) * | 2018-12-10 | 2019-04-23 | 平安科技(深圳)有限公司 | 分布式任务调度方法、系统及存储介质 |
CN110308983A (zh) * | 2019-04-19 | 2019-10-08 | 中国工商银行股份有限公司 | 资源负载均衡方法及系统、服务节点和客户端 |
CN111262916A (zh) * | 2020-01-10 | 2020-06-09 | 深圳市网心科技有限公司 | 数据分布式存储方法、装置、存储节点及存储介质 |
CN112100280A (zh) * | 2020-11-12 | 2020-12-18 | 南京云信达科技有限公司 | 一种分布式数据一致性映射处理方法及装置 |
CN112417050A (zh) * | 2020-11-25 | 2021-02-26 | 青岛海尔科技有限公司 | 数据同步方法和装置、系统、存储介质及电子装置 |
CN114143320A (zh) * | 2021-09-01 | 2022-03-04 | 浪潮云信息技术股份公司 | 一种基于分布式数据库的数据网关方法及系统 |
CN114579311A (zh) * | 2022-03-04 | 2022-06-03 | 北京百度网讯科技有限公司 | 执行分布式计算任务的方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090082761A (ko) * | 2008-01-28 | 2009-07-31 | 주식회사 한성전자산업개발 | 밧데리 충전회로 및 충전방법 |
CN101834897A (zh) * | 2010-04-23 | 2010-09-15 | 哈尔滨工程大学 | 一种dht网络负载均衡装置及虚节点划分的方法 |
CN102137128A (zh) * | 2010-01-27 | 2011-07-27 | 腾讯科技(深圳)有限公司 | 一种集群服务的负载均衡方法和装置 |
CN102281329A (zh) * | 2011-08-02 | 2011-12-14 | 北京邮电大学 | 一种PaaS云平台的资源调度方法和系统 |
US20120131093A1 (en) * | 2010-11-22 | 2012-05-24 | International Business Machines Corporation | Connection distribution for load balancing in a distributed database |
-
2012
- 2012-10-11 CN CN201210384185.1A patent/CN102882973B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090082761A (ko) * | 2008-01-28 | 2009-07-31 | 주식회사 한성전자산업개발 | 밧데리 충전회로 및 충전방법 |
CN102137128A (zh) * | 2010-01-27 | 2011-07-27 | 腾讯科技(深圳)有限公司 | 一种集群服务的负载均衡方法和装置 |
CN101834897A (zh) * | 2010-04-23 | 2010-09-15 | 哈尔滨工程大学 | 一种dht网络负载均衡装置及虚节点划分的方法 |
US20120131093A1 (en) * | 2010-11-22 | 2012-05-24 | International Business Machines Corporation | Connection distribution for load balancing in a distributed database |
CN102281329A (zh) * | 2011-08-02 | 2011-12-14 | 北京邮电大学 | 一种PaaS云平台的资源调度方法和系统 |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188345A (zh) * | 2013-03-01 | 2013-07-03 | 北京邮电大学 | 分布式动态负载管理系统和方法 |
CN103188345B (zh) * | 2013-03-01 | 2016-05-18 | 北京邮电大学 | 分布式动态负载管理系统和方法 |
CN106170782B (zh) * | 2013-04-26 | 2020-08-14 | 华为技术有限公司 | 用于在网络中的机器的大规模并行处理集群中创建高度可扩展的高可用性集群的系统和方法 |
CN106170782A (zh) * | 2013-04-26 | 2016-11-30 | 华为技术有限公司 | 用于在网络中的机器的大规模并行处理集群中创建高度可扩展的高可用性集群的系统和方法 |
US9448966B2 (en) | 2013-04-26 | 2016-09-20 | Futurewei Technologies, Inc. | System and method for creating highly scalable high availability cluster in a massively parallel processing cluster of machines in a network |
WO2014173295A3 (en) * | 2013-04-26 | 2016-02-25 | Huawei Technologies Co., Ltd. | System and method for creating highly scalable high availability cluster in a massively parallel processing cluster of machines in a network |
CN103297268B (zh) * | 2013-05-13 | 2016-04-06 | 北京邮电大学 | 基于p2p技术的分布式数据一致性维护系统和方法 |
CN103297268A (zh) * | 2013-05-13 | 2013-09-11 | 北京邮电大学 | 基于p2p技术的分布式数据一致性维护系统和方法 |
CN103533068A (zh) * | 2013-10-22 | 2014-01-22 | 黎亮 | 基于ip的任务自主均衡分配集群系统 |
CN103533068B (zh) * | 2013-10-22 | 2017-08-25 | 黎亮 | 基于ip的任务自主均衡分配集群系统 |
CN103560943B (zh) * | 2013-10-31 | 2017-01-11 | 北京邮电大学 | 支持海量数据实时处理的网络分析系统和方法 |
CN103560943A (zh) * | 2013-10-31 | 2014-02-05 | 北京邮电大学 | 支持海量数据实时处理的网络分析系统和方法 |
CN103605698A (zh) * | 2013-11-06 | 2014-02-26 | 广东电子工业研究院有限公司 | 一种用于分布异构数据资源整合的云数据库系统 |
US10225191B2 (en) | 2014-06-16 | 2019-03-05 | Huawei Technologies Co., Ltd. | Service packet distribution method and apparatus |
CN105379199B (zh) * | 2014-06-16 | 2019-07-09 | 华为技术有限公司 | 业务报文分发方法与装置 |
WO2015192291A1 (zh) * | 2014-06-16 | 2015-12-23 | 华为技术有限公司 | 业务报文分发方法与装置 |
CN105379199A (zh) * | 2014-06-16 | 2016-03-02 | 华为技术有限公司 | 业务报文分发方法与装置 |
CN104021033A (zh) * | 2014-06-23 | 2014-09-03 | 中国银行股份有限公司 | 一种繁忙处理节点的散列方法和系统 |
CN104021033B (zh) * | 2014-06-23 | 2018-06-08 | 中国银行股份有限公司 | 一种繁忙处理节点的散列方法和系统 |
CN105320676A (zh) * | 2014-07-04 | 2016-02-10 | 中国移动通信集团黑龙江有限公司 | 一种客户数据查询服务方法及装置 |
CN104780201A (zh) * | 2015-03-02 | 2015-07-15 | 新浪网技术(中国)有限公司 | 一种ipvs集群中的数据包处理方法及装置 |
CN105592139A (zh) * | 2015-10-28 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种分布式文件系统管理平台的ha实现方法及装置 |
CN105592139B (zh) * | 2015-10-28 | 2019-03-15 | 新华三技术有限公司 | 一种分布式文件系统管理平台的ha实现方法及装置 |
CN105373431B (zh) * | 2015-10-29 | 2022-09-27 | 武汉联影医疗科技有限公司 | 一种计算机系统资源的管理方法及计算机资源管理系统 |
CN105373431A (zh) * | 2015-10-29 | 2016-03-02 | 武汉联影医疗科技有限公司 | 一种计算机系统资源的管理方法及计算机资源管理系统 |
CN105554115A (zh) * | 2015-12-16 | 2016-05-04 | 国网浙江省电力公司湖州供电公司 | 电力视频传输环境下的p2p多节点并发融合方法 |
WO2017157156A1 (zh) * | 2016-03-14 | 2017-09-21 | 阿里巴巴集团控股有限公司 | 一种用户请求的处理方法和装置 |
US10902030B2 (en) | 2016-03-14 | 2021-01-26 | Alibaba Group Holding Limited | User request processing method and device |
CN106776001A (zh) * | 2016-11-14 | 2017-05-31 | 天津南大通用数据技术股份有限公司 | 一种分布式数据库集群数据的分布方法及装置 |
CN106941421A (zh) * | 2017-03-31 | 2017-07-11 | 北京奇艺世纪科技有限公司 | 一种链路故障修复方法及装置 |
CN107438106A (zh) * | 2017-08-23 | 2017-12-05 | 北京慧点科技有限公司 | 对等网络的负载均衡的方法、装置及对等网络系统 |
CN107566484B (zh) * | 2017-08-31 | 2020-12-18 | 深信服科技股份有限公司 | 一种流量调度方法及装置 |
CN107566484A (zh) * | 2017-08-31 | 2018-01-09 | 深信服科技股份有限公司 | 一种流量调度方法及装置 |
CN107888697B (zh) * | 2017-11-24 | 2020-07-14 | 北京航天自动控制研究所 | 一种负载均衡算法中的节点锁定方法 |
CN107888697A (zh) * | 2017-11-24 | 2018-04-06 | 北京航天自动控制研究所 | 一种负载均衡算法中的节点锁定方法 |
CN108810120A (zh) * | 2018-05-31 | 2018-11-13 | 中国联合网络通信集团有限公司 | 区块链节点通信方法、装置及区块链节点 |
CN108810120B (zh) * | 2018-05-31 | 2021-01-26 | 中国联合网络通信集团有限公司 | 区块链节点通信方法、装置及区块链节点 |
CN108920270A (zh) * | 2018-07-23 | 2018-11-30 | 国云科技股份有限公司 | 一种动态多源异构数据关联查询系统及其实现方法 |
CN109669775A (zh) * | 2018-12-10 | 2019-04-23 | 平安科技(深圳)有限公司 | 分布式任务调度方法、系统及存储介质 |
CN110308983A (zh) * | 2019-04-19 | 2019-10-08 | 中国工商银行股份有限公司 | 资源负载均衡方法及系统、服务节点和客户端 |
CN111262916A (zh) * | 2020-01-10 | 2020-06-09 | 深圳市网心科技有限公司 | 数据分布式存储方法、装置、存储节点及存储介质 |
CN111262916B (zh) * | 2020-01-10 | 2022-11-08 | 深圳市网心科技有限公司 | 数据分布式存储方法、装置、存储节点及存储介质 |
CN112100280A (zh) * | 2020-11-12 | 2020-12-18 | 南京云信达科技有限公司 | 一种分布式数据一致性映射处理方法及装置 |
CN112100280B (zh) * | 2020-11-12 | 2021-02-26 | 南京云信达科技有限公司 | 一种分布式数据一致性映射处理方法及装置 |
CN112417050A (zh) * | 2020-11-25 | 2021-02-26 | 青岛海尔科技有限公司 | 数据同步方法和装置、系统、存储介质及电子装置 |
CN114143320A (zh) * | 2021-09-01 | 2022-03-04 | 浪潮云信息技术股份公司 | 一种基于分布式数据库的数据网关方法及系统 |
CN114579311A (zh) * | 2022-03-04 | 2022-06-03 | 北京百度网讯科技有限公司 | 执行分布式计算任务的方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102882973B (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102882973B (zh) | 基于p2p技术的分布式负载均衡系统和方法 | |
CN104461740B (zh) | 一种跨域集群计算资源聚合和分配的方法 | |
CN103473334B (zh) | 数据存储、查询方法及系统 | |
US20020065870A1 (en) | Method and apparatus for heterogeneous distributed computation | |
CN114626547A (zh) | 一种基于区块链的群组协同学习方法 | |
CN108810115A (zh) | 一种适用于分布式数据库的负载均衡方法、装置及服务器 | |
CN106209563A (zh) | 一种云计算平台网络虚拟化实现方法及相应插件和代理 | |
CN107749887A (zh) | 一种cdn资源分配、定位方法和装置及cdn系统 | |
CN101465875B (zh) | 一种基于网络定位的负载均衡方法 | |
CN107070645A (zh) | 比较数据表的数据的方法和系统 | |
CN113382074A (zh) | 一种基于动态反馈的微服务负载均衡优化方法 | |
Woo et al. | GARET: improving throughput using gas consumption-aware relocation in Ethereum sharding environments | |
Wu et al. | On P2P mechanisms for VM image distribution in cloud data centers: Modeling, analysis and improvement | |
Li et al. | A data placement strategy based on clustering and consistent hashing algorithm in cloud computing | |
Xie et al. | Admmlib: a library of communication-efficient ad-admm for distributed machine learning | |
CN105120008B (zh) | 一种基于分层的分布式云计算中心负载平衡方法 | |
Wang et al. | Coupling GPU and MPTCP to improve Hadoop/MapReduce performance | |
Nakazato et al. | Data allocation method considering server performance and data access frequency with consistent hashing | |
CN113688115A (zh) | 一种基于Hadoop的档案大数据分布式存储系统 | |
Furuya et al. | Load balancing method for data management using high availability distributed clusters | |
Zhu et al. | A PBFT consensus scheme with reputation value voting based on dynamic clustering | |
崔岩松 et al. | Dynamic load balancing algorithm for distributed system | |
CN108228324A (zh) | 一种服务器集群抢占分配任务的方法和系统 | |
CN105765569B (zh) | 一种数据分发方法,装载机及存储系统 | |
Huang et al. | Optimizing data partition for NoSQL cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150520 Termination date: 20151011 |
|
EXPY | Termination of patent right or utility model |