一种负载均衡方法及系统技术方案

技术编号:11856099 阅读:83 留言:0更新日期:2015-08-11 02:36
本发明专利技术公开了一种负载均衡方法及系统,其中,该方法包括:负载均衡引擎根据集群管理与监听器提供的内存数据库集群整体运行状态和访问请求的编号,基于一致性哈希算法计算得出响应访问请求的最佳集群分组,将客户端下发的访问请求发送给最佳集群分组进行响应。本发明专利技术的负载均衡方法及系统,采用内存数据库的方式,规避了当前计算机系统磁盘I/O瓶颈带来的性能影响,并通过集群冗余方式避免了单点故障的风险和缺陷,更好的解决了智能电网和电力物联网数据采集领域处理大数据和高并发时无法有效应对单点故障的问题。

【技术实现步骤摘要】

本专利技术涉及通信领域中智能用电
,具体地,涉及一种负载均衡方法及系统
技术介绍
近年来,随着智能电网和物联网技术的迅速发展,智能传感技术在发电、输电、变电、配电、用电、调度各环节中的应用越来越广泛。支撑智能感知应用的大数据和高并发数据处理技术是整个智能传感技术应用的关键之一。目前在智能电网和电力物联网数据采集领域,解决大数据和高并发问题主要通过关系数据库集群和多核环境下多线程技术;同时单点内存数据库近年来在该领域逐渐应用是技术解决方案的趋势。尽管上述两种方案已经初步实现了智能电网和电力物联网数据采集领域的大数据和高并发问题,但是上述技术方案还存在以下问题:I/O性能问题是指当前的磁盘技术由于在寻道时间、数据碎片化等方面存在技术瓶颈,在智能用电领域高并发场景下会导致性能急剧下降,进而导致系统反应缓慢甚至崩溃。关系数据库集群和多核环境下多线程技术虽然通过集群方式分散了系统1/0,但其存储介质是磁盘,没有从根本上解决在高并发大数据场景下由于目前计算机系统磁盘I/o的技术瓶颈带来的性能问题,难以适应业务和应用快速发展的需求。单点内存数据库方式解决了计算机系统磁盘I/O的性能瓶颈带来的性能问题,但应对单点故障上存在风险和缺陷。内存数据库单点故障问题是关于系统是否可用的问题,在系统长期运行过程中,由于单个内存数据库负载过高、内存耗尽等各种原因,导致内存数据库无法响应用户请求,由于单点内存数据库数据来源的唯一性,一旦单点内存数据库发生故障,必然导致整个信息系统失去响应甚至崩溃,系统运行风险高。
技术实现思路
本专利技术是为了克服现有技术中存在的处理大数据和高并发时无法有效应对单点故障的问题,根据本专利技术的一个方面,提出一种负载均衡方法。根据本专利技术实施例的负载均衡方法,包括:负载均衡引擎根据集群管理与监听器提供的内存数据库集群整体运行状态,基于一致性哈希算法计算得出各集群分组的访问请求权重值,根据访问请求响应权重值得到各集群分组对应的虚拟集群分组;根据一致性哈希算法将虚拟集群分组均匀分布在哈希值空间上;自客户端接收访问请求,根据访问请求的编号进行一致性哈希计算得出访问请求的哈希值,将访问请求的哈希值映射到哈希值空间上,距离访问请求的哈希值最近或重合的虚拟集群分组对应的集群分组即为最佳集群分组,将访问请求发送给最佳集群分组。本专利技术是为了克服现有技术中存在的处理大数据和高并发时无法有效应对单点故障的问题,根据本专利技术的另一个方面,提出一种负载均衡系统。根据本专利技术实施例的负载均衡系统,包括:客户端:用于下发访问请求;集群管理与监听器:用于监听内存数据库集群的运行状态;负载均衡引擎:用于根据集群管理与监听器提供的内存数据库集群整体运行状态,基于一致性哈希算法计算得出各集群分组的访问请求权重值,根据访问请求响应权重值得到各集群分组对应的虚拟集群分组;根据一致性哈希算法将虚拟集群分组均匀分布在哈希值空间上;还用于自客户端接收访问请求,根据访问请求的编号进行一致性哈希计算得出访问请求的哈希值,将访问请求的哈希值映射到哈希值空间上,距离访问请求的哈希值最近或重合的虚拟集群分组对应的集群分组即为最佳集群分组,将访问请求发送给最佳集群分组;集群分组:用于接收负载均衡引擎下发的访问请求。本专利技术实施例的负载均衡方法及系统,采用内存数据库的方式,规避了当前计算机系统磁盘I/o瓶颈带来的性能影响,并通过集群冗余方式避免了单点故障的风险和缺陷,更好的解决了智能电网和电力物联网数据采集领域处理大数据和高并发时无法有效应对单点故障的问题。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。【附图说明】附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为本专利技术实施例的负载均衡方法工作流程图;图2为本专利技术具体实施例处理读访问请求和写访问请求的负载均衡系统的结构示意图;图3为本专利技术具体实施例的客户端10发起读访问请求的工作流程图;图4为本专利技术具体实施例的客户端10发起写访问请求的工作流程图;图5为本专利技术的负载均衡系统结构示意图;图6为本专利技术实施例的内存数据库集群实施示例图;图7为本专利技术实施例的内存数据库集群管理和负载均衡内部交互示意图;图8为本专利技术实施例的内存数据集群的结构示意图。【具体实施方式】下面结合附图,对本专利技术的【具体实施方式】进行详细描述,但应当理解本专利技术的保护范围并不受【具体实施方式】的限制。本专利技术采用内存数据库集群来对客户端10发起的访问请求进行负载均衡,内存数据库集群包括多个集群分组40,每个集群分组40由多个互为镜像的内存数据库实例组成。如图8所示,为内存数据库集群的结构示意图。根据本专利技术一实施例,提供了一种负载均衡方法,以解决现有技术中存在的处理大数据和高并发时无法有效应对单点故障的问题。如图1所示,为本专利技术实施例的负载均衡方法工作流程图,如图7所示,为本专利技术实施例的内存数据库集群管理和负载均衡内部交互示意图。本实施例的工作流程说明如下:SlOl:客户端10对内存数据库集群发起访问请求,在内存数据库集群接收访问请求前,由负载均衡引擎20对该访问请求进行分发操作。S102:负载均衡引擎20采用一致性哈希算法,根据集群管理及监听器30所提供的内存数据库集群整体运行状态计算出各集群分组40的访问请求响应权重值,再根据各集群分组40访问请求响应权重值的大小计算和产生各集群分组40的若干“虚拟集群分组”(virtual group), 一个集群分组40对应于多个虚拟集群分组。负载均衡引擎20将集群分组40映射为“虚拟集群分组”后,根据一致性哈希算法将其均匀分布在哈希值空间上。优选的,该哈希值空间为O?232-1点的哈希值空间,该哈希值空间范围取决于所采用哈希算法的哈希值位数,本领域技术人员应当了解,该哈希值空间也可以选择O?216-1点、O?28-1点等范围的哈希值空间。“虚拟集群分组”(virtualgroup)属于算法范畴,是实际集群分组40在哈希值空间上的逻辑映射(replica)。当客户端10下发访问请求时,负载均衡引擎20对客户端10的访问请求编号进行一致性哈希求值,并将该访问请求的哈希值映射到前述的哈希值空间上。在该哈希值空间中距离该访问请求哈希值最近(或重合)的“虚拟集群分组”对应的集群分组40即为响应访问请求的最佳集群分组。由于与访问请求响应权重值相关的“虚拟集群分组”的存在,访问请求响应权重值高的集群分组40被用来响应访问请求的概率高(访问请求权重值越高的集群分组40对应的虚拟集群分组越多)。负载均衡引擎20由此实现动态调整访问请求的分发策略,定位大数据和高并发环境下统计意义上的响应访问请求的最佳集群分组40。请求编号是客户端10 (API)的接口参数,一般由业务主键+业务命名空间构成。内存数据库集群整体运行状态由集群管理与监听器30提供,包括:各集群分组40的负载状态、在线/离线状态、CPU及内存的运行状态等,集群管本文档来自技高网...

【技术保护点】
一种负载均衡方法,其特征在于,包括:负载均衡引擎根据集群管理与监听器提供的内存数据库集群整体运行状态,基于一致性哈希算法计算得出各集群分组的访问请求权重值,根据所述访问请求响应权重值得到所述各集群分组对应的虚拟集群分组;根据一致性哈希算法将所述虚拟集群分组均匀分布在哈希值空间上;自客户端接收访问请求,根据所述访问请求的编号进行一致性哈希计算得出所述访问请求的哈希值,将所述访问请求的哈希值映射到所述哈希值空间上,距离所述访问请求的哈希值最近或重合的虚拟集群分组对应的集群分组即为最佳集群分组,将所述访问请求发送给所述最佳集群分组。

【技术特征摘要】

【专利技术属性】
技术研发人员:梁俊锋徐鲲鹏
申请(专利权)人:国家电网公司北京南瑞智芯微电子科技有限公司
类型:发明
国别省市:北京;11

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

1