[发明专利]一种基于zookeeper实现负载均衡的方法及系统在审
申请号: | 201611038251.4 | 申请日: | 2016-11-23 |
公开(公告)号: | CN106776008A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 王琦;刘坤朋;郑杭;练军 | 申请(专利权)人: | 福建六壬网安股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 福州科扬专利事务所35001 | 代理人: | 徐开翟 |
地址: | 350015 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 zookeeper 实现 负载 均衡 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于zookeeper实现负载均衡的方法及系统。
背景技术
企业大数据量的快速激增要求对业务数据分块,进而由分布式系统对各块进行高可用的并行处理。在分布式数据处理系统中,通常有一些通过网络彼此互联且在数量上可以弹性扩展的节点,每个节点都采用相同的工作方式,他们通过一定的协商机制,在协商完毕后结合一致性哈希算法,能够自发地确定由自身处理的数据块,然后对这些数据块进行处理。
对于分布式系统,需要一定的协调机制使系统在节点变动例如增加、删除一个或多个节点的情况下系统仍具有较高的可靠性。Zookeeper常被软件系统用于构建这种协调机制,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
申请号为201410154133.4的专利申请中公开一种处理数据的方法和装置,。该方法中,当前节点向zookeeper进行注册并触发对系统中所有其他节点的监听;当前节点在从注册完成时起,干预设时长内监听到全部其他节点对新增节点事件做出确认的事件的情况下,确定由自身来处理的数据块;当前节点在注册完成时起,经预设时长后仍未监听到至少一个其他节点对新增节点事件做出确认的事件情况下,判断zookeeper中是否保存该至少一个其他节点对新增节点事件做出确认信息,若是,则确定由自身来处理的数据块,否则重新向zookeeper进行注册。上述方法有助于避免在分布式数据处理系统中采用zookeeper进行任务调度时出现的数据被不同的节点重复处理的现象,但该方法不能实现各个节点数据均衡处理且容易出现单点故障故障问题。
申请号为201510561242.2的专利申请中公开用于基于zookeeper实现分布式调度的方法,该方法包括在zookeeper注册中心处的分布式队列中注册多个调度应用;调用注册的多个调度应用中的第一调度应用,以向所述第一调度应用分配分布式锁,使得仅所述第一调度应用能够执行任务;以及当所述第一调度应用获得所分配的分布式锁时,利用所述第一调度应用执行相应的任务。上述方法利用zookeeper替代数据库来控制实现单点任务调度的Quartz单点应用的执行以实现分布式调度,实现了一种既能满足定时调度任务、又能满足多任务同时执行的调度框架,但该方式无法实现各个节点数据均衡处理且容易出现单点故障。
发明内容
本发明的目的在于,提出一种能够灵活实现系统稳定的负载均衡,避免单点故障,且支持周期性任务与单次任务的基于zookeeper实现负载均衡的方法,避免无法实现各个节点数据均衡处理,容易出现单点故障的问题。
为了实现上述目的,本发明所采用的技术方案为:
一种基于zookeeper实现负载均衡的方法,包括如下步骤:
S100:获取任务处理器负载信息素;
S200:调用用户发起的任务请求,获取所述任务请求的任务信息并存入任务就绪队列,将任务就绪队列依照任务的时间松弛度从小到大的顺序依序输出待执行任务;
S300:逐个将待执行任务分配给一最大分配概率的任务处理器,并计算每一任务分配方案的负载不均衡度,比较各任务分配方案的负载不均衡度大小并输出最优的任务分配方案。
每一待执行任务分配给一最大分配概率的任务处理器,并计算每一任务分配方案的负载不均衡度,比较各任务分配方案的负载不均衡度大小并输出最优的任务分配方案,包括以下步骤:
步骤A:初始化m个任务处理器负载信息素,根据式(1)计算所有任务处理器i(i=1,2,...,m)的初始负载信息素Load(i);
Load(i)=|Uti(i)-Uti(i).avg|式(1)
步骤B:在n个任务中,根据所选的第一个任务i在满足式(2)的情况下,按照式(3)计算可执行该任务的处理器j(处理器j满足式(2))的任务分配概率pij,选择其中最大概率的处理器完成对要执行的任务的的部署,选择下一个任务继续执行上述操作,直至任务全部执行完,得到一种分配方案;
Ti<Sj式(2)
步骤C:对所分配的任务处理器按照式(4)进行负载信息素Load’(i)更新(i为参与分配任务的处理器),并根据式(5)计算该方案的负载不均衡度H;
Load'(i)=(1-ρ)Load(i)+ρΔLoad(i)
步骤D:更换所选的第一个任务转至步骤B,直至不同的n种方案处理完毕;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建六壬网安股份有限公司,未经福建六壬网安股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611038251.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据清理方法及装置
- 下一篇:计算节点集群中的工作负载之间的交叉干扰的识别