CN105610992A - 一种分布式流计算系统任务分配负载均衡方法 - Google Patents
一种分布式流计算系统任务分配负载均衡方法 Download PDFInfo
- Publication number
- CN105610992A CN105610992A CN201610196427.2A CN201610196427A CN105610992A CN 105610992 A CN105610992 A CN 105610992A CN 201610196427 A CN201610196427 A CN 201610196427A CN 105610992 A CN105610992 A CN 105610992A
- Authority
- CN
- China
- Prior art keywords
- operator
- distributed
- computing system
- stream computing
- balancing method
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000002688 persistence Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种分布式流计算系统任务分配负载均衡方法,属于分布式流计算技术领域。本发明的分布式流计算系统任务分配负载均衡方法包括以下步骤:S1:用户接收端接收用户流图;S2:主控节点解析用户流图,构造算子节点与数据流边描述的流图,划分出源算子和其他算子;S3:按照算子亲疏关系进行邻接算子合并,并按照分布式系统各个工作节点的网卡性能比例和资源比例进行算子分配。该发明的分布式流计算系统任务分配负载均衡方法能实现数据处理达到秒级甚至是毫秒级时延的性能,并能提高流系统资源的利用与流应用的执行性能,具有很好的推广应用价值。
Description
技术领域
本发明涉及分布式流计算技术领域,具体提供一种分布式流计算系统任务分配负载均衡方法。
背景技术
随着社会的不断进步,社会经济飞速发展。高性能数据处理系统在工业、医疗、金融及电信等众多领域得到广泛的应用,分布式流计算技术飞速发展。传统的MapReduce用于大规模数据的并行运算,但是其往往是首先拿到一个大的积累后的数据,再进行数据拆分和聚合,导致数据不具备时效性。在大多数领域中,数据的价值会随着时间的流逝而降低,所以事件出现后必须尽快的对数据进行处理,而不是累积,以保证数据的价值。流计算是通过事件机制,类似管道一样,将接收的消息立即进行处理。
由于数据流实时到达,对于大数量、实时处理,必须有具备低延迟、高可靠性和容错能力。而当前几乎所有的流计算处理引擎的数据处理都是通过多个不同功能的算子协调处理实现的,为了达到数据处理秒级甚至是毫秒级时延的性能,算子在多个工作节点的分配方式尤为重要。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种能实现数据处理达到秒级甚至是毫秒级时延性能,并能提高流系统资源的利用与流应用的执行性能的分布式流计算系统任务分配负载均衡方法。
为实现上述目的,本发明提供了如下技术方案:
一种分布式流计算系统任务分配负载均衡方法,包括以下步骤:
S1:用户接收端接收用户流图;
S2:主控节点解析用户流图,构造算子节点与数据流边描述的流图,划分出源算子和其他算子;
S3:按照算子亲疏关系进行邻接算子合并,并按照分布式系统各个工作节点的网卡性能比例和资源比例进行算子分配。
计算出各个工作节点的网卡性能比例与资源比例,并依照资源比例计算应分配到各个工作节点的算子个数。依照各工作节点的网卡性能比例将源算子分配到各个工作节点,依照各工作节点的资源比例将相应个数的算子分配到各个工作节点。
作为优选,步骤S1所述用户流图为xml形式,方便主控节点对用户流图的解析。
作为优选,以备主控节点将每次算子分配后的分配结果做好持久化,当步骤S2中的主控节点出现挂死时,备主控节点重新进行算子分配。
作为优选,步骤S3所述算子合并选取算法,是按照算子与已分配算子的亲近关系最大值和未分配算子的疏远关系最大值进行选取。依照资源比例从高到低进行工作节点算子分配,从未分配算子中选取与该工作节点中已分配算子关系最为亲近并且与其他未分配算子关系最为疏远的算子分配到该节点,直到达到该工作节点应分配的算子个数。
步骤S3所述算子分配到各个工作节点的算法是源算子依照网卡性能比例分配原则进行分配,其他算子按照工作节点的内存和CPU资源比例进行分配。
本发明中,为了保证系统的低时延、快速处理的性能,优先选择使用C/C++开发,能做到跨平台,数据传输使用socket协议传输。其中,每次算子分配时各个工作节点的使用情况是实时获取的,且实际使用的资源比例是当前剩余资源的比例而非总资源的比例,充分考虑到每个工作节点的资源利用率,实现分布式系统各工作节点之间的负载均衡,提高了流系统资源的利用率与流应用的执行性能。
与现有技术相比,本发明具有以下突出的有益效果:
(一)本发明所述方法中依照工作节点的内存和CPU资源比例计算应分配到各个工作节点的算子个数,能充分利用各工作节点的资源,并达到负载均衡的目的;
(二)本发明所述方法是依照资源比例从高到低进行工作节点算子分配,从未分配算子中选取与该工作节点中已分配算子关系最为亲近并且与其他未分配算子关系最为疏远的算子分配到该节点,直到达到该工作节点应分配的算子个数,根据算子的亲疏关系进行分配,保证亲近关系的算子分配到同一台机器上,从而达到高性能计算,实现秒级甚至毫秒级时延的性能。
附图说明
图1是本发明所述分布式流计算系统任务分配负载均衡方法的分布式流计算系统的结构框架图;
图2是本发明所述分布式流计算系统任务分配负载均衡方法的算子节点与数据流边描述的流图示意图。
具体实施方式
下面将结合附图和实施例,对本发明的一种分布式流计算系统任务分配负载均衡方法作进一步详细说明。
实施例
如图1所示,本发明的一种分布式流计算系统任务分配负载均衡方法,包括以下步骤:
S1:用户接收端接收用户流图,用户流图为xml形式,方便主控节点对用户流图的解析。
S2:主控节点解析用户流图,构造算子节点与数据流边描述的流图(如图2所示),划分出源算子和其他算子。主控节点通过解析用户流图,划分出源算子1、2、3和其他算子4、5、6、7、8、9、10、11、12。
S3:按照算子亲疏关系进行邻接算子合并,并按照分布式系统各个工作节点的网卡性能比例和资源比例进行算子分配。资源比例为各个工作节点的内存和CPU资源比例。
计算出各个工作节点的网卡性能比例与资源比例,并依照资源比例计算应分配到各个工作节点的算子个数。依照各工作节点的网卡性能比例将源算子1、2、3分配到各个工作节点,依照各工作节点的资源比例从高到低将算子4、5、6、7、8、9、10、11、12分配到各个工作节点。分配过程中从未分配算子中选取与该工作节点中已分配的算子关系最为亲近并且与其他未分配算子关系最为疏远的算子分配到该节点,直到达到该工作节点应分配的算子个数。
以备主控节点将每次算子分配后的分配结果做好持久化,当步骤S2中的主控节点出现挂死时,备主控节点重新进行算子分配。
其中,每次算子分配时各个工作节点的使用情况是实时获取的,且实际使用的资源比例是当前剩余资源的比例而非总资源的比例,充分考虑到每个工作节点的资源利用率,实现分布式系统各工作节点之间的负载均衡,提高了流系统资源的利用率与流应用的执行性能。
本发明中,为了保证系统的低时延、快速处理的性能,选择使用C/C++开发,能做到跨平台。数据传输使用socket协议传输。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (5)
1.一种分布式流计算系统任务分配负载均衡方法,其特征在于:包括以下步骤:
S1:用户接收端接收用户流图;
S2:主控节点解析用户流图,构造算子节点与数据流边描述的流图,划分出源算子和其他算子;
S3:按照算子亲疏关系进行邻接算子合并,并按照分布式系统各个工作节点的网卡性能比例和资源比例进行算子分配。
2.根据权利要求1所述的分布式流计算系统任务分配负载均衡方法,其特征在于:步骤S1所述用户流图为xml形式。
3.根据权利要求1或2所述的分布式流计算系统任务分配负载均衡方法,其特征在于:以备主控节点将每次算子分配后的分配结果做好持久化,当步骤S2中的主控节点出现挂死时,备主控节点重新进行算子分配。
4.根据权利要求3所述的分布式流计算系统任务分配负载均衡方法,其特征在于:步骤S3所述算子合并选取算法,是按照算子与已分配算子的亲近关系最大值和未分配算子的疏远关系最大值进行选取。
5.根据权利要求4所述的分布式流计算系统任务分配负载均衡方法,其特征在于:步骤S3所述算子分配到各个工作节点的算法是源算子依照网卡性能比例分配原则进行分配,其他算子按照工作节点的内存和CPU资源比例进行分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610196427.2A CN105610992A (zh) | 2016-03-31 | 2016-03-31 | 一种分布式流计算系统任务分配负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610196427.2A CN105610992A (zh) | 2016-03-31 | 2016-03-31 | 一种分布式流计算系统任务分配负载均衡方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105610992A true CN105610992A (zh) | 2016-05-25 |
Family
ID=55990526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610196427.2A Pending CN105610992A (zh) | 2016-03-31 | 2016-03-31 | 一种分布式流计算系统任务分配负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105610992A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243228A (zh) * | 2016-12-27 | 2018-07-03 | 中国电信股份有限公司 | 用于数据调度的方法和智能伺服集群 |
CN109343958A (zh) * | 2018-09-25 | 2019-02-15 | 江苏满运软件科技有限公司 | 计算资源分配方法、装置、电子设备、存储介质 |
CN109345377A (zh) * | 2018-09-28 | 2019-02-15 | 北京九章云极科技有限公司 | 一种数据实时处理系统及数据实时处理方法 |
CN109981710A (zh) * | 2017-12-28 | 2019-07-05 | 中移物联网有限公司 | 一种面向物联网流计算的负载均衡和容错方法 |
CN111737531A (zh) * | 2020-06-12 | 2020-10-02 | 深圳计算科学研究院 | 一种应用驱动的图划分调整方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104020994A (zh) * | 2014-05-30 | 2014-09-03 | 华为技术有限公司 | 基于流系统的流过程定义装置和流过程定义方法 |
CN104267939A (zh) * | 2014-09-17 | 2015-01-07 | 华为技术有限公司 | 一种业务处理的方法、装置及系统 |
CN104504143A (zh) * | 2015-01-04 | 2015-04-08 | 华为技术有限公司 | 一种流图优化方法及其装置 |
CN104683488A (zh) * | 2015-03-31 | 2015-06-03 | 百度在线网络技术(北京)有限公司 | 流式计算系统及其调度方法和装置 |
-
2016
- 2016-03-31 CN CN201610196427.2A patent/CN105610992A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104020994A (zh) * | 2014-05-30 | 2014-09-03 | 华为技术有限公司 | 基于流系统的流过程定义装置和流过程定义方法 |
CN104267939A (zh) * | 2014-09-17 | 2015-01-07 | 华为技术有限公司 | 一种业务处理的方法、装置及系统 |
CN104504143A (zh) * | 2015-01-04 | 2015-04-08 | 华为技术有限公司 | 一种流图优化方法及其装置 |
CN104683488A (zh) * | 2015-03-31 | 2015-06-03 | 百度在线网络技术(北京)有限公司 | 流式计算系统及其调度方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243228A (zh) * | 2016-12-27 | 2018-07-03 | 中国电信股份有限公司 | 用于数据调度的方法和智能伺服集群 |
CN108243228B (zh) * | 2016-12-27 | 2020-09-29 | 中国电信股份有限公司 | 用于数据调度的方法和智能伺服集群 |
CN109981710A (zh) * | 2017-12-28 | 2019-07-05 | 中移物联网有限公司 | 一种面向物联网流计算的负载均衡和容错方法 |
CN109981710B (zh) * | 2017-12-28 | 2021-10-29 | 中移物联网有限公司 | 一种面向物联网流计算的负载均衡和容错方法 |
CN109343958A (zh) * | 2018-09-25 | 2019-02-15 | 江苏满运软件科技有限公司 | 计算资源分配方法、装置、电子设备、存储介质 |
CN109343958B (zh) * | 2018-09-25 | 2021-05-11 | 广州回头车信息科技有限公司 | 计算资源分配方法、装置、电子设备、存储介质 |
CN109345377A (zh) * | 2018-09-28 | 2019-02-15 | 北京九章云极科技有限公司 | 一种数据实时处理系统及数据实时处理方法 |
CN111737531A (zh) * | 2020-06-12 | 2020-10-02 | 深圳计算科学研究院 | 一种应用驱动的图划分调整方法和系统 |
CN111737531B (zh) * | 2020-06-12 | 2021-05-28 | 深圳计算科学研究院 | 一种应用驱动的图划分调整方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105610992A (zh) | 一种分布式流计算系统任务分配负载均衡方法 | |
US10630737B2 (en) | Data processing method in stream computing system, control node, and stream computing system | |
CN113315700B (zh) | 算力资源调度方法、装置和存储介质 | |
Wen et al. | Effective load balancing for cloud-based multimedia system | |
CN103516744A (zh) | 一种数据处理的方法和应用服务器及集群 | |
CN103812949A (zh) | 一种面向实时云平台的任务调度与资源分配方法及系统 | |
CN103412786A (zh) | 一种高性能服务器架构系统及数据处理方法 | |
CN110187960A (zh) | 一种分布式资源调度方法及装置 | |
CN103777950B (zh) | 一种对aos遥测数据解析的网格化方法 | |
CN103049336A (zh) | 一种基于哈希的网卡软中断负载均衡方法 | |
CN113259415B (zh) | 一种网络报文处理方法、装置及网络服务器 | |
CN103336684B (zh) | 一种并发处理ap消息的ac及其处理方法 | |
CN103179009B (zh) | 一种分布式管理系统的动态自适应调用方法 | |
CN105204948A (zh) | 虚拟机物理内存配置方法及装置 | |
WO2017114180A1 (zh) | 调整组件逻辑线程数量的方法及装置 | |
CN109600240A (zh) | 群通信方法和装置 | |
CN108280018B (zh) | 一种节点工作流通信开销效率分析优化方法及系统 | |
CN104580322A (zh) | 一种分布式数据流处理方法及装置 | |
CN104468710A (zh) | 一种混合大数据处理系统及处理方法 | |
CN110377411B (zh) | 一种面向分布式云的工作流任务调度方法和系统 | |
CN103207775A (zh) | 采用gpu加速进行实时网络流应用程序的处理方法 | |
CN103152428A (zh) | 云平台上节点间进行服务通信的方法 | |
WO2012159493A1 (zh) | 一种用于实现用户信息共享的即时通讯系统及方法 | |
CN115599571A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN103246497A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160525 |