[发明专利]一种分布式流计算系统任务分配负载均衡方法在审
申请号: | 201610196427.2 | 申请日: | 2016-03-31 |
公开(公告)号: | CN105610992A | 公开(公告)日: | 2016-05-25 |
发明(设计)人: | 葛庆环 | 申请(专利权)人: | 浪潮通信信息系统有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/50 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 罗文曌 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 计算 系统 任务 分配 负载 均衡 方法 | ||
技术领域
本发明涉及分布式流计算技术领域,具体提供一种分布式流计算系统任务分配负载均衡方法。
背景技术
随着社会的不断进步,社会经济飞速发展。高性能数据处理系统在工业、医疗、金融及电信等众多领域得到广泛的应用,分布式流计算技术飞速发展。传统的MapReduce用于大规模数据的并行运算,但是其往往是首先拿到一个大的积累后的数据,再进行数据拆分和聚合,导致数据不具备时效性。在大多数领域中,数据的价值会随着时间的流逝而降低,所以事件出现后必须尽快的对数据进行处理,而不是累积,以保证数据的价值。流计算是通过事件机制,类似管道一样,将接收的消息立即进行处理。
由于数据流实时到达,对于大数量、实时处理,必须有具备低延迟、高可靠性和容错能力。而当前几乎所有的流计算处理引擎的数据处理都是通过多个不同功能的算子协调处理实现的,为了达到数据处理秒级甚至是毫秒级时延的性能,算子在多个工作节点的分配方式尤为重要。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种能实现数据处理达到秒级甚至是毫秒级时延性能,并能提高流系统资源的利用与流应用的执行性能的分布式流计算系统任务分配负载均衡方法。
为实现上述目的,本发明提供了如下技术方案:
一种分布式流计算系统任务分配负载均衡方法,包括以下步骤:
S1:用户接收端接收用户流图;
S2:主控节点解析用户流图,构造算子节点与数据流边描述的流图,划分出源算子和其他算子;
S3:按照算子亲疏关系进行邻接算子合并,并按照分布式系统各个工作节点的网卡性能比例和资源比例进行算子分配。
计算出各个工作节点的网卡性能比例与资源比例,并依照资源比例计算应分配到各个工作节点的算子个数。依照各工作节点的网卡性能比例将源算子分配到各个工作节点,依照各工作节点的资源比例将相应个数的算子分配到各个工作节点。
作为优选,步骤S1所述用户流图为xml形式,方便主控节点对用户流图的解析。
作为优选,以备主控节点将每次算子分配后的分配结果做好持久化,当步骤S2中的主控节点出现挂死时,备主控节点重新进行算子分配。
作为优选,步骤S3所述算子合并选取算法,是按照算子与已分配算子的亲近关系最大值和未分配算子的疏远关系最大值进行选取。依照资源比例从高到低进行工作节点算子分配,从未分配算子中选取与该工作节点中已分配算子关系最为亲近并且与其他未分配算子关系最为疏远的算子分配到该节点,直到达到该工作节点应分配的算子个数。
步骤S3所述算子分配到各个工作节点的算法是源算子依照网卡性能比例分配原则进行分配,其他算子按照工作节点的内存和CPU资源比例进行分配。
本发明中,为了保证系统的低时延、快速处理的性能,优先选择使用C/C++开发,能做到跨平台,数据传输使用socket协议传输。其中,每次算子分配时各个工作节点的使用情况是实时获取的,且实际使用的资源比例是当前剩余资源的比例而非总资源的比例,充分考虑到每个工作节点的资源利用率,实现分布式系统各工作节点之间的负载均衡,提高了流系统资源的利用率与流应用的执行性能。
与现有技术相比,本发明具有以下突出的有益效果:
(一)本发明所述方法中依照工作节点的内存和CPU资源比例计算应分配到各个工作节点的算子个数,能充分利用各工作节点的资源,并达到负载均衡的目的;
(二)本发明所述方法是依照资源比例从高到低进行工作节点算子分配,从未分配算子中选取与该工作节点中已分配算子关系最为亲近并且与其他未分配算子关系最为疏远的算子分配到该节点,直到达到该工作节点应分配的算子个数,根据算子的亲疏关系进行分配,保证亲近关系的算子分配到同一台机器上,从而达到高性能计算,实现秒级甚至毫秒级时延的性能。
附图说明
图1是本发明所述分布式流计算系统任务分配负载均衡方法的分布式流计算系统的结构框架图;
图2是本发明所述分布式流计算系统任务分配负载均衡方法的算子节点与数据流边描述的流图示意图。
具体实施方式
下面将结合附图和实施例,对本发明的一种分布式流计算系统任务分配负载均衡方法作进一步详细说明。
实施例
如图1所示,本发明的一种分布式流计算系统任务分配负载均衡方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮通信信息系统有限公司,未经浪潮通信信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610196427.2/2.html,转载请声明来源钻瓜专利网。