CN104754000B - 一种负载均衡方法及系统 - Google Patents
一种负载均衡方法及系统 Download PDFInfo
- Publication number
- CN104754000B CN104754000B CN201310744904.0A CN201310744904A CN104754000B CN 104754000 B CN104754000 B CN 104754000B CN 201310744904 A CN201310744904 A CN 201310744904A CN 104754000 B CN104754000 B CN 104754000B
- Authority
- CN
- China
- Prior art keywords
- access request
- cluster
- grouping
- hash
- memory database
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 34
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 2
- 239000004744 fabric Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 7
- 230000007547 defect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种负载均衡方法及系统,其中,该方法包括:负载均衡引擎根据集群管理与监听器提供的内存数据库集群整体运行状态和访问请求的编号,基于一致性哈希算法计算得出响应访问请求的最佳集群分组,将客户端下发的访问请求发送给最佳集群分组进行响应。本发明的负载均衡方法及系统,采用内存数据库的方式,规避了当前计算机系统磁盘I/O瓶颈带来的性能影响,并通过集群冗余方式避免了单点故障的风险和缺陷,更好的解决了智能电网和电力物联网数据采集领域处理大数据和高并发时无法有效应对单点故障的问题。
Description
技术领域
本发明涉及通信领域中智能用电技术领域,具体地,涉及一种负载均衡方法及系统。
背景技术
近年来,随着智能电网和物联网技术的迅速发展,智能传感技术在发电、输电、变电、配电、用电、调度各环节中的应用越来越广泛。支撑智能感知应用的大数据和高并发数据处理技术是整个智能传感技术应用的关键之一。
目前在智能电网和电力物联网数据采集领域,解决大数据和高并发问题主要通过关系数据库集群和多核环境下多线程技术;同时单点内存数据库近年来在该领域逐渐应用是技术解决方案的趋势。
尽管上述两种方案已经初步实现了智能电网和电力物联网数据采集领域的大数据和高并发问题,但是上述技术方案还存在以下问题:
I/O性能问题是指当前的磁盘技术由于在寻道时间、数据碎片化等方面存在技术瓶颈,在智能用电领域高并发场景下会导致性能急剧下降,进而导致系统反应缓慢甚至崩溃。关系数据库集群和多核环境下多线程技术虽然通过集群方式分散了系统I/O,但其存储介质是磁盘,没有从根本上解决在高并发大数据场景下由于目前计算机系统磁盘I/O的技术瓶颈带来的性能问题,难以适应业务和应用快速发展的需求。
单点内存数据库方式解决了计算机系统磁盘I/O的性能瓶颈带来的性能问题,但应对单点故障上存在风险和缺陷。内存数据库单点故障问题是关于系统是否可用的问题,在系统长期运行过程中,由于单个内存数据库负载过高、内存耗尽等各种原因,导致内存数据库无法响应用户请求,由于单点内存数据库数据来源的唯一性,一旦单点内存数据库发生故障,必然导致整个信息系统失去响应甚至崩溃,系统运行风险高。
发明内容
本发明是为了克服现有技术中存在的处理大数据和高并发时无法有效应对单点故障的问题,根据本发明的一个方面,提出一种负载均衡方法。
根据本发明实施例的负载均衡方法,包括:
负载均衡引擎根据集群管理与监听器提供的内存数据库集群整体运行状态,基于一致性哈希算法计算得出各集群分组的访问请求权重值,根据访问请求响应权重值得到各集群分组对应的虚拟集群分组;根据一致性哈希算法将虚拟集群分组均匀分布在哈希值空间上;
自客户端接收访问请求,根据访问请求的编号进行一致性哈希计算得出访问请求的哈希值,将访问请求的哈希值映射到哈希值空间上,距离访问请求的哈希值最近或重合的虚拟集群分组对应的集群分组即为最佳集群分组,将访问请求发送给最佳集群分组。
本发明是为了克服现有技术中存在的处理大数据和高并发时无法有效应对单点故障的问题,根据本发明的另一个方面,提出一种负载均衡系统。
根据本发明实施例的负载均衡系统,包括:
客户端:用于下发访问请求;
集群管理与监听器:用于监听内存数据库集群的运行状态;
负载均衡引擎:用于根据集群管理与监听器提供的内存数据库集群整体运行状态,基于一致性哈希算法计算得出各集群分组的访问请求权重值,根据访问请求响应权重值得到各集群分组对应的虚拟集群分组;根据一致性哈希算法将虚拟集群分组均匀分布在哈希值空间上;
还用于自客户端接收访问请求,根据访问请求的编号进行一致性哈希计算得出访问请求的哈希值,将访问请求的哈希值映射到哈希值空间上,距离访问请求的哈希值最近或重合的虚拟集群分组对应的集群分组即为最佳集群分组,将访问请求发送给最佳集群分组;
集群分组:用于接收负载均衡引擎下发的访问请求。
本发明实施例的负载均衡方法及系统,采用内存数据库的方式,规避了当前计算机系统磁盘I/O瓶颈带来的性能影响,并通过集群冗余方式避免了单点故障的风险和缺陷,更好的解决了智能电网和电力物联网数据采集领域处理大数据和高并发时无法有效应对单点故障的问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例的负载均衡方法工作流程图;
图2为本发明具体实施例处理读访问请求和写访问请求的负载均衡系统的结构示意图;
图3为本发明具体实施例的客户端10发起读访问请求的工作流程图;
图4为本发明具体实施例的客户端10发起写访问请求的工作流程图;
图5为本发明的负载均衡系统结构示意图;
图6为本发明实施例的内存数据库集群实施示例图;
图7为本发明实施例的内存数据库集群管理和负载均衡内部交互示意图;
图8为本发明实施例的内存数据集群的结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
本发明采用内存数据库集群来对客户端10发起的访问请求进行负载均衡,内存数据库集群包括多个集群分组40,每个集群分组40由多个互为镜像的内存数据库实例组成。如图8所示,为内存数据库集群的结构示意图。根据本发明一实施例,提供了一种负载均衡方法,以解决现有技术中存在的处理大数据和高并发时无法有效应对单点故障的问题。如图1所示,为本发明实施例的负载均衡方法工作流程图,如图7所示,为本发明实施例的内存数据库集群管理和负载均衡内部交互示意图。本实施例的工作流程说明如下:
S101:客户端10对内存数据库集群发起访问请求,在内存数据库集群接收访问请求前,由负载均衡引擎20对该访问请求进行分发操作。
S102:负载均衡引擎20采用一致性哈希算法,根据集群管理及监听器30所提供的内存数据库集群整体运行状态计算出各集群分组40的访问请求响应权重值,再根据各集群分组40访问请求响应权重值的大小计算和产生各集群分组40的若干“虚拟集群分组”(virtual group),一个集群分组40对应于多个虚拟集群分组。
负载均衡引擎20将集群分组40映射为“虚拟集群分组”后,根据一致性哈希算法将其均匀分布在哈希值空间上。优选的,该哈希值空间为0~232-1点的哈希值空间,该哈希值空间范围取决于所采用哈希算法的哈希值位数,本领域技术人员应当了解,该哈希值空间也可以选择0~216-1点、0~28-1点等范围的哈希值空间。“虚拟集群分组”(virtual group)属于算法范畴,是实际集群分组40在哈希值空间上的逻辑映射(replica)。
当客户端10下发访问请求时,负载均衡引擎20对客户端10的访问请求编号进行一致性哈希求值,并将该访问请求的哈希值映射到前述的哈希值空间上。在该哈希值空间中距离该访问请求哈希值最近(或重合)的“虚拟集群分组”对应的集群分组40即为响应访问请求的最佳集群分组。由于与访问请求响应权重值相关的“虚拟集群分组”的存在,访问请求响应权重值高的集群分组40被用来响应访问请求的概率高(访问请求权重值越高的集群分组40对应的虚拟集群分组越多)。负载均衡引擎20由此实现动态调整访问请求的分发策略,定位大数据和高并发环境下统计意义上的响应访问请求的最佳集群分组40。
请求编号是客户端10(API)的接口参数,一般由业务主键+业务命名空间构成。内存数据库集群整体运行状态由集群管理与监听器30提供,包括:各集群分组40的负载状态、在线/离线状态、CPU及内存的运行状态等,集群管理与监听器30对内存数据库集群运行状态进行监听,动态更新各集群分组40的状态信息,且对不良运行状态提出告警操作。
一致性哈希算法是实现负载均衡的成熟算法,一致性哈希算法由于平衡性(Balance)、单调性(Monotonicity)、分散性(Spread)等方面的优势,对集群路由的容错性、命中率、扩展性具有良好表现。
S103:S102中的集群分组40收到负载均衡引擎20转发的访问请求后,通知该集群分组40内的内存数据库实例50进行响应。
当该访问请求是读访问请求时,由于集群分组40内互为镜像的N个单点内存数据库实例50中数据互为冗余,所以仅需要集群分组40内N个单点内存数据库实例50中的随机一个响应,实现集群分组40内各内存数据库实例50共同分担读访问请求压力;
当该访问请求是写访问请求时,集群分组40内各内存数据库实例50采用多线程方式并发写入访问请求数据,以实现数据的合理冗余,避免因为单点故障,造成访问请求无法响应。
内存数据库实例50作为内存数据库集群中的最小受管单元,隶属于各集群分组40。内存数据库实例50是数据的最终承载单元,并提供内存数据的持久化功能,以实现内存数据库集群重启后数据的重新载入。
S104:当访问请求是读访问请求时,S103中的单点内存数据库实例50对读访问请求响应完成后,该单点内存数据库实例50将读访问请求结果返回客户端10,一次读访问请求完成;
当访问请求是写访问请求时,S103中的集群分组40内全部内存数据库实例50对写访问请求响应完成后,该全部内存数据库实例50将写访问请求结果返回客户端10,一次写访问请求完成。
上述实施例中的负载均衡方法举例说明如下,如图2所示,假设该内存数据集群由集群分组401、集群分组402、集群分组403组成(不限于此)。其中,集群分组401由内存数据库实例501、502、503组成(不限于此),集群分组402由内存数据库实例504、505、506组成(不限于此),集群分组403由内存数据库实例507、508、509组成(不限于此)。如图3所示,客户端10发起读访问请求的具体工作流程说明如下:
S201:客户端10对内存数据库集群发起读访问请求,在内存数据库集群接收读访问请求前,由负载均衡引擎20对读访问请求进行分发操作。
S202:负载均衡引擎20根据客户端10的读访问请求编号及内存数据库集群整体运行状态进行一致性哈希算法求值,动态调整读访问请求分发策略,将读访问请求发送给集群分组401、402、403中最佳的一个。
负载均衡引擎20采用一致性哈希算法,根据集群管理及监听器30所提供内存数据库集群整体运行状态(包括集群分组401、402、403的负载状态、在线/离线状态、CPU及内存运行状态),计算出集群分组401、402、403各自的访问请求响应权重值,再根据前述的访问请求响应权重值的大小计算和产生集群分组401、402、403各自的若干“虚拟集群分组”(virtual group),集群分组401、402、403分别对应于多个虚拟集群分组。
负载均衡引擎20将集群分组401、402、403映射为“虚拟集群分组”后,根据一致性哈希算法将其均匀分布在哈希值空间上。优选的,该哈希值空间为0~232-1点的哈希值空间,该哈希值空间范围取决于所采用哈希算法的哈希值位数,本领域技术人员应当了解,该哈希值空间也可以选择0~216-1点、0~28-1点等范围的哈希值空间。“虚拟集群分组”(virtual group)属于算法范畴,是实际集群分组401、402、403在哈希值空间的逻辑映射(replica)。
当客户端10下发读访问请求时,负载均衡引擎20对客户端10的读访问请求编号进行一致性哈希求值,并将该读访问请求的哈希值映射到前述的哈希值空间上。假设在本具体实施例中,在哈希值空间中距离该读访问请求哈希值最近(或重合)的“虚拟集群分组”所对应的实际集群分组40为集群分组401,即在本具体实施例中,响应该读访问请求的最佳集群分组40为集群分组401,负载均衡引擎20将该读访问请求转发给集群分组401。
S203:集群分组401收到负载均衡引擎20转发的读访问请求后,通知各内存数据库实例(包括内存数据库实例501、502、503)进行响应。由于集群分组401内互为镜像的各单点内存数据库实例501、502、503中数据互为冗余,所以仅需要其中随机一个内存数据库实例(可能为内存数据库实例501或502或503)响应,实现分组内各内存数据库实例501、502、503共同分担读访问请求压力,假设随机选择的为内存数据库实例501(也可能为502或503)对该读访问请求进行响应。
S204:内存数据库实例501(也可能为502或503)对读访问请求响应完成后,将读访问请求结果返回客户端10,一次读访问请求完成。
如图4所示,客户端10发起写访问请求的具体工作流程如下:
S301:客户端10对内存数据库集群发起写访问请求,在内存数据库集群接收写访问请求前,由负载均衡引擎20对该写访问请求进行分发操作。
S302:负载均衡引擎20根据客户端10的写访问请求编号及内存数据库集群整体运行状态进行一致性哈希算法求值,动态调整写访问请求分发策略,将写访问请求发送给集群分组401、402、403中最佳的一个。
负载均衡引擎20采用一致性哈希算法,根据集群管理及监听器30所提供的内存数据库集群整体运行状态(包括集群分组401、402、403的负载状态、在线/离线状态、CPU及内存运行状态),计算出集群分组401、402、403各自的访问请求响应权重值,再根据前述的访问请求响应权重值的大小计算和产生集群分组401、402、403各自的若干“虚拟集群分组”(virtual group),集群分组401、402、403分别对应于多个虚拟集群分组。
负载均衡引擎20将集群分组401、402、403映射为“虚拟集群分组”后,根据一致性哈希算法将其均匀分布在哈希值空间上。优选的,该哈希值空间为0~232-1点的哈希值空间,该哈希值空间范围取决于所采用哈希算法的哈希值位数,本领域技术人员应当了解,该哈希值空间也可以选择0~216-1点、0~28-1点等范围的哈希值空间。“虚拟集群分组”(virtual group)属于算法范畴,是实际集群分组401、402、403在哈希值空间的逻辑映射(replica)。
当客户端10下发写访问请求时,负载均衡引擎20对客户端10的写访问请求编号进行一致性哈希求值,并将该写访问请求的哈希值映射到前述的哈希值空间上。假设在本具体实施例中,在哈希值空间中距离该写访问请求哈希值最近(或重合)的“虚拟集群分组”对应的实际的集群分组40为集群分组401,即在本具体实施例中,响应该写访问请求的最佳集群分组40为集群分组401,负载均衡引擎20将该写访问请求转发给集群分组401。
S303:集群分组401收到负载均衡引擎20转发的写访问请求后,通知各内存数据库实例(包括内存数据库实例501、502、503)进行响应。集群分组401内各内存数据库实例501、502、503采用多线程方式并发写入写访问请求数据,以实现数据的合理冗余,避免因为单点故障,造成写访问请求无法得到响应。
S304:内存数据库实例501、502、503对写访问请求响应完成后,各自将写访问请求结果返回客户端10,一次写访问请求完成。
本发明实施例的负载均衡方法,采用内存数据库的方式,规避了当前计算机系统磁盘I/O瓶颈带来的性能影响,并通过集群冗余方式避免了单点故障的风险和缺陷,更好的解决了智能电网和电力物联网数据采集领域处理大数据和高并发时无法有效应对单点故障的问题。
根据本发明又一实施例,提供了一种负载均衡系统,以解决现有技术中存在的处理大数据和高并发时无法有效应对单点故障的问题。如图5所示,该系统包括:客户端10,负载均衡引擎20,集群管理与监听器30,集群分组40、内存数据库实例50。图6为本发明实施例的内存数据库集群实施示例示意图。
客户端10:应用系统与内存数据库集群交互的程序接口(ApplicationProgramming Interface,API)。
负载均衡引擎20:依据集群管理与监听器30提供的内存数据库集群整体运行状态,采用一致性哈希算法作为路由算法,采用一致性哈希算法,根据集群管理及监听器30所提供的内存数据库集群整体运行状态(包括:各集群分组40的负载状态、在线/离线状态、CPU及内存运行状态等)计算出各集群分组40的访问请求响应权重值,再根据前述的访问请求响应权重值的大小计算和产生各集群分组40的若干“虚拟集群分组”(virtual group),一个集群分组40分别对应于多个虚拟集群分组。
负载均衡引擎20将各集群分组40映射为“虚拟集群分组”后,根据一致性哈希算法将其均匀分布在哈希值空间上。本发明实施例采用的哈希值空间为0~232-1点的哈希值空间,该哈希值空间范围取决于所采用哈希算法的哈希值位数,本领域技术人员应当了解,该哈希值空间也可以选择0~216-1点、0~28-1点等范围的哈希值空间。
当客户端10下发访问请求时,负载均衡引擎20对客户端10的访问请求编号进行一致性哈希求值,并将该访问请求的哈希值映射到前述的哈希值空间上。在该哈希值空间中距离该访问请求哈希值最近(或重合)的“虚拟集群分组”对应的集群分组40即为响应访问请求的最佳集群分组。由于与访问请求响应权重值相关的“虚拟集群分组”的存在,访问请求响应权重值高的集群分组40被用来响应访问请求的概率高(访问请求权重值越高的集群分组40对应的虚拟集群分组越多)。负载均衡引擎20由此实现动态调整访问请求的分发策略,定位大数据和高并发环境下统计意义上的响应访问请求的最佳集群分组40。
集群管理与监听器30:集群管理与监听器30的职责是以集群分组40为逻辑受管单元,监听和维护集群分组40的存活状态、负载状态,以及为新添加的集群分组40进行注册,为负载均衡引擎20的分发策略提供计算依据。集群分组40的存活状态检测是对该集群分组40内各单点内存数据库实例50是否可用、是否可响应、是否在线的检测,集群分组40存活是该分组是否可为内存数据库集群提供计算服务的前提。集群管理与监听器30还负责对内存数据库集群的不良运行状态发出预警,为内存数据库集群的运行维护工作提供参考依据。
集群分组40:内存数据库集群由多个集群分组40组成,集群分组40是内存数据库集群内的最小逻辑受管单元,由1-N(N>1)个互为镜像的单点内存数据库实例50构成。N的大小取决于对集群可用性的要求程度,互为镜像的单点内存数据库实例50一方面分担读访问请求压力,另一方面作为集群分组40内的数据冗余,承担写访问请求操作,避免因为集群分组40内部的单点故障,造成写访问请求无法得到响应。
内存数据库实例50:内存数据库集群中的最小物理受管单元,用户读/写访问请求的最终执行者和响应者。
本发明实施例的负载均衡方法及系统,采用内存数据库的方式,规避了当前计算机系统磁盘I/O瓶颈带来的性能影响,并通过集群冗余方式避免了单点故障的风险和缺陷,更好的解决了智能电网和电力物联网数据采集领域处理大数据和高并发时无法有效应对单点故障的问题。
本发明能有多种不同形式的具体实施方式,上面以图1-图8为例结合附图对本发明的技术方案作举例说明,这并不意味着本发明所应用的具体实例只能局限在特定的流程或实施例结构中,本领域的普通技术人员应当了解,上文所提供的具体实施方案只是多种优选用法中的一些示例,任何体现本发明权利要求的实施方式均应在本发明技术方案所要求保护的范围之内。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种负载均衡方法,其特征在于,包括:
负载均衡引擎根据集群管理与监听器提供的内存数据库集群整体运行状态,基于一致性哈希算法计算得出各集群分组的访问请求响应权重值,根据所述访问请求响应权重值得到所述各集群分组对应的虚拟集群分组;根据一致性哈希算法将所述虚拟集群分组均匀分布在哈希值空间上;
自客户端接收访问请求,根据所述访问请求的编号进行一致性哈希计算得出所述访问请求的哈希值,将所述访问请求的哈希值映射到所述哈希值空间上,距离所述访问请求的哈希值最近或重合的虚拟集群分组对应的集群分组即为最佳集群分组,将所述访问请求发送给所述最佳集群分组。
2.根据权利要求1所述的负载均衡方法,其特征在于,还包括:所述最佳集群分组自所述负载均衡引擎接收所述访问请求,并将所述访问请求发送给内存数据库实例进行响应。
3.根据权利要求2所述的负载均衡方法,其特征在于,当所述访问请求为读访问请求时,所述最佳集群分组内随机的一个所述内存数据库实例响应所述读访问请求;
当所述访问请求为写访问请求时,所述最佳集群分组内全部所述内存数据库实例响应所述写访问请求。
4.根据权利要求1所述的负载均衡方法,其特征在于,所述哈希值空间范围为0~232-1点。
5.一种负载均衡系统,其特征在于,包括:
客户端:用于下发访问请求;
集群管理与监听器:用于监听内存数据库集群的运行状态;
负载均衡引擎:用于根据集群管理与监听器提供的内存数据库集群整体运行状态,基于一致性哈希算法计算得出各集群分组的访问请求响应权重值,根据所述访问请求响应权重值得到所述各集群分组对应的虚拟集群分组;根据一致性哈希算法将所述虚拟集群分组均匀分布在哈希值空间上;
还用于自客户端接收访问请求,根据所述访问请求的编号进行一致性哈希计算得出所述访问请求的哈希值,将所述访问请求的哈希值映射到所述哈希值空间上,距离所述访问请求的哈希值最近或重合的虚拟集群分组对应的集群分组即为最佳集群分组,将所述访问请求发送给所述最佳集群分组;
集群分组:用于接收所述负载均衡引擎下发的访问请求。
6.根据权利要求5所述的负载均衡系统,其特征在于,所述集群分组还用于将所述访问请求发送给内存数据库实例进行响应。
7.根据权利要求6所述的负载均衡系统,其特征在于,
所述集群分组还用于当所述访问请求为读访问请求时,所述集群分组内随机的一个所述内存数据库实例响应所述读访问请求;
当所述访问请求为写访问请求时,所述集群分组内全部所述内存数据库实例响应所述写访问请求。
8.根据权利要求5所述的负载均衡系统,其特征在于,所述哈希值空间为0~232-1点的哈希值空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744904.0A CN104754000B (zh) | 2013-12-30 | 2013-12-30 | 一种负载均衡方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744904.0A CN104754000B (zh) | 2013-12-30 | 2013-12-30 | 一种负载均衡方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104754000A CN104754000A (zh) | 2015-07-01 |
CN104754000B true CN104754000B (zh) | 2018-08-24 |
Family
ID=53593097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310744904.0A Active CN104754000B (zh) | 2013-12-30 | 2013-12-30 | 一种负载均衡方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104754000B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106034144B (zh) * | 2015-03-12 | 2019-10-15 | 中国人民解放军国防科学技术大学 | 一种基于负载均衡的虚拟资产数据存储方法 |
CN105262808B (zh) * | 2015-09-28 | 2019-01-25 | 四川神琥科技有限公司 | 一种在大数据背景下的负载平衡系统 |
CN105320771A (zh) * | 2015-10-31 | 2016-02-10 | 南京南瑞继保电气有限公司 | 基于哈希环的时间序列数据库服务集群的实现方法与系统 |
CN105282045B (zh) * | 2015-11-17 | 2018-11-16 | 高新兴科技集团股份有限公司 | 一种基于一致性哈希算法的分布式计算和储存方法 |
CN107295080B (zh) * | 2017-06-19 | 2020-12-18 | 北京百度网讯科技有限公司 | 应用于分布式服务器集群的数据存储方法和服务器 |
CN107979646A (zh) * | 2017-12-07 | 2018-05-01 | 郑州云海信息技术有限公司 | 一种基于一致性hash策略的PaaS平台负载均衡方法 |
CN109995834A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团贵州有限公司 | 大流量数据处理方法、装置、计算设备及存储介质 |
CN108494868A (zh) * | 2018-03-30 | 2018-09-04 | 三盟科技股份有限公司 | 一种基于云业务系统下的负载均衡方法及系统 |
CN108989107A (zh) * | 2018-07-17 | 2018-12-11 | 北京中科网威信息技术有限公司 | 一种基于申威架构的网卡收发报文的统计调试方法及装置 |
CN111459903A (zh) * | 2019-01-21 | 2020-07-28 | 顺丰科技有限公司 | 数据库管理系统及方法 |
CN110489059B (zh) * | 2019-07-11 | 2022-04-12 | 平安科技(深圳)有限公司 | 数据集群存储的方法、装置及计算机设备 |
CN110515731A (zh) * | 2019-08-22 | 2019-11-29 | 北京浪潮数据技术有限公司 | 一种数据处理方法、装置及系统 |
CN111259048B (zh) * | 2020-01-08 | 2023-09-05 | 人民法院信息技术服务中心 | 基于内存数据库和多数据通道的数据传输方法及系统 |
CN114090394B (zh) * | 2022-01-19 | 2022-04-22 | 山东卓朗检测股份有限公司 | 分布式服务器集群负载异常分析方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457571A (zh) * | 2011-09-15 | 2012-05-16 | 中标软件有限公司 | 一种云存储中数据均衡分布方法 |
CN102843403A (zh) * | 2011-06-23 | 2012-12-26 | 盛大计算机(上海)有限公司 | 基于分布式文件系统的文件处理方法、系统及客户端 |
CN103124299A (zh) * | 2013-03-21 | 2013-05-29 | 杭州电子科技大学 | 一种异构环境下的分布式块级别存储系统 |
-
2013
- 2013-12-30 CN CN201310744904.0A patent/CN104754000B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843403A (zh) * | 2011-06-23 | 2012-12-26 | 盛大计算机(上海)有限公司 | 基于分布式文件系统的文件处理方法、系统及客户端 |
CN102457571A (zh) * | 2011-09-15 | 2012-05-16 | 中标软件有限公司 | 一种云存储中数据均衡分布方法 |
CN103124299A (zh) * | 2013-03-21 | 2013-05-29 | 杭州电子科技大学 | 一种异构环境下的分布式块级别存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104754000A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104754000B (zh) | 一种负载均衡方法及系统 | |
US11113150B2 (en) | Distributing data on distributed storage systems | |
CN105960639B (zh) | 分布式存储系统中的优先化数据重构 | |
CN106164899B (zh) | 从分布式存储系统的高效数据读取 | |
CN104135539B (zh) | 数据存储方法、sdn控制器和分布式网络存储系统 | |
CN102882983B (zh) | 一种云存储系统中提升并发访问性能的数据快速存储方法 | |
US8627015B2 (en) | Data processing system using cache-aware multipath distribution of storage commands among caching storage controllers | |
Jung et al. | Agent-based adaptive resource allocation on the cloud computing environment | |
CN112000421A (zh) | 基于超融合架构的管理调度技术 | |
CN101594309B (zh) | 集群系统中内存资源的管理方法、设备及网络系统 | |
CN102387218B (zh) | 一种计算机多机热备负载均衡系统 | |
US20170344283A1 (en) | Data access between computing nodes | |
CN107450855B (zh) | 一种用于分布式存储的模型可变的数据分布方法及系统 | |
CN103095806B (zh) | 一种面向大电网的实时数据库系统的负载均衡管理系统 | |
CN103124299A (zh) | 一种异构环境下的分布式块级别存储系统 | |
WO2015116490A1 (en) | Efficient resource utilization in data centers | |
CN105354091A (zh) | 一种基于空间位置的弹性负载均衡方法及系统 | |
JP2023099186A (ja) | 複数の故障ドメインに及ぶストレージシステム | |
CN112492022A (zh) | 提高数据库可用性的集群、方法、系统及存储介质 | |
Zhang et al. | Data replication placement strategy based on bidding mode for cloud storage cluster | |
CN110389825A (zh) | 管理专用处理资源的方法、设备和计算机程序产品 | |
Zhong et al. | A dynamic replica management strategy based on data grid | |
US20150378856A1 (en) | Storage system, storage device, control method and control program of storage device, management device, and control method and storage medium | |
US20200042184A1 (en) | Cost-Effective Deployments of a PMEM-Based DMO System | |
CN104750614B (zh) | 用于管理存储器的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |