CN105700947A - 一种针对实时云环境Storm的提高网络资源利用率计算方法 - Google Patents
一种针对实时云环境Storm的提高网络资源利用率计算方法 Download PDFInfo
- Publication number
- CN105700947A CN105700947A CN201610084894.6A CN201610084894A CN105700947A CN 105700947 A CN105700947 A CN 105700947A CN 201610084894 A CN201610084894 A CN 201610084894A CN 105700947 A CN105700947 A CN 105700947A
- Authority
- CN
- China
- Prior art keywords
- bolt
- tuple
- spout
- tuple data
- data
- 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
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明提出了一种针对实时云环境Storm的提高网络资源利用率计算方法,在一个Tuple数据从一个Spout或者Bolt发送之前,结合拓扑动态结构,首先进行第一个判断过程,判断即将接受Tuple数据的Bolt是否与发射Tuple数据的Spout或者Bolt在同一个Worker里面;如果是,那么直接将数据的引用或指针发送给接受Bolt;如果不是,那么接下来进行第二个判断过程,判断即将接受Tuple数据的Bolt是否与发射Tuple数据的Spout或者Bolt在同一个物理节点上。本发明旨在确定Tuple的发送者与接收者之间的部署关系,来减少网络开销。
Description
技术领域
本发明涉及云计算大数据计算、实时流处理以及网络优化领域,具体涉及到一种针对实时云环境Storm的提高网络资源利用率计算方法。
背景技术
网络负载对保证实时云计算环境的高可用性、高可靠性以及实时性具有至关重要的作用。实时云计算环境Storm对计算要求处理时间低延迟、数据大规模和数据结构动态变化。图1示出了一个普通的Storm拓扑结构的基本组成,在一个拓扑结构中,Spout(喷口)代表整个拓扑结构的数据入口,实时流数据被封装在Tuple(元组)中,通过Stream(流)再流向下一层Bolt(螺栓),其负责进行相应的应用计算。
图2示出了一个Storm拓扑结构并行机制。一个Spout或者Bolt被实例化为一个或者多个任务,这样一个拓扑包含了多个任务,每一个任务都会被调度到某一个Worker里面,一个Worker在操作系统层面相当于一个Java虚拟机,而每一个Wroker最后被分配到集群中某一个节点中的某一个端口Slot。
可以看出,当一个Tuple从前面一层向后面一层发送任务时,是可以进行优化的。由于前面一层的某些任务和后面一层的某些任务可能在部署层面存在一种相似关系,这种相似关系由近到远分别由以下三种情况组成:
(1)前面一层的某一个或者几个任务与后面一层的某一个或者几个任务存在于同一个Worker(计算者)里面。对于这种情况,Tuple的发送者与接收者都存在于同一Java虚拟机内部,意味着不会产生物理节点间网络开销,而只是引用或者指针的传递。
(2)前面一层的某一个或者几个任务与后面一层的某一个或者几个任务存在于不同Worker,但是都存在于同一物理节点上。对于这种情况,Tuple的发送者与接收者都存在于同一物理节点内部的不同Java虚拟机里,同样意味着不会产生物理节点间网络开销,而同一物理机端口间的消息传送。
(3)前面一层的某一个或者几个任务与后面一层的某一个或者几个任务存在于不同的物理节点上。对于这种情况,Tuple的发送者与接收者都存在于不同的物理节点之间,意味着会产生物理节点间网络开销,从而产生网络负载。
发明内容
本发明提出一种针对实时云环境Storm的提高网络资源利用率计算方法,旨在确定Tuple的发送者与接收者之间的部署关系,来减少网络开销。
本发明的技术方案是这样实现的:
一种针对实时云环境Storm的提高网络资源利用率计算方法,在一个Tuple数据从一个Spout或者Bolt发送之前,结合拓扑动态结构,首先进行第一个判断过程,判断即将接受Tuple数据的Bolt是否与发射Tuple数据的Spout或者Bolt在同一个Worker里面:
如果是,那么直接将数据的引用或指针发送给接受Bolt;
如果不是,那么接下来进行第二个判断过程,判断即将接受Tuple数据的Bolt是否与发射Tuple数据的Spout或者Bolt在同一个物理节点上;
第二个判断过程中,如果是,那么接受Bolt与发射Tuple数据的Spout或者Bolt位于同一物理节点的不同Worker里面,此时就将Tuple数据发送给本物理节点的另一个端口;
如果否,那么接受Bolt与发射Tuple数据的Spout或者Bolt不在同一个物理节点上,进行网络传输。
本发明的有益效果是:确定Tuple的发送者与接收者之间的部署关系,来减少网络开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个普通的Storm拓扑结构的基本组成示意图;
图2为一个Storm拓扑结构并行机制示意图;
图3为本发明一种针对实时云环境Storm的提高网络资源利用率计算方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当一个Tuple从前面一层向后面一层发送任务时,是可以进行优化的。因此,本发明提出一种针对实时云环境Storm的提高网络资源利用率计算方法,旨在确定Tuple的发送者与接收者之间的部署关系,来减少网络开销。
首先,开启Storm实时云环境,并提交拓扑到集群;
接下来,开启Storm部署状态收集器;
然后,判断Storm部署状态是否为最新数据;
再然后,启用针对实时云环境Storm的提高网络资源利用率计算方法,指导Tuple的发送与接收。
最后,观察网络使用情况,判断针对实时云环境Storm的提高网络资源利用率计算方法的性能。
下面结合图1、图2和图3,对本发明提出的一种针对实时云环境Storm的提高网络资源利用率计算方法进行详细说明。
如图1所示,实时云计算环境Storm的任务(包括Spout和Bolt)在物理层面表现为一个线程,Worker表现为一个虚拟机,也就是一个进程。Spout接收拓扑外面的数据,将数据结构化为Tuple流,并发送给指定目标的Bolt,Bolt消费Tuple,产生新的Tuple,然后发送给下一层指定的Bolt。一个拓扑中所有Spout和Bolt是分布在同一个云平台下的相同或不同的Worker里面,每一个Worker又位于某一个物理节点的Slot中,
如图2所示。当一个拓扑上传到Storm计算集群之后,根据任务调度本发明的计算方法,所有Spout和Bolt都会入驻于某一个Worker。然而计算任务重的Spout和Bolt之间的消息传输会给网络带来巨大压力。基于以上的分析,本发明提出的一种针对实时云环境Storm的提高网络资源利用率计算方法旨在减少Spout和Bolt的网络传输量。
如图3所示,在一个Tuple数据从一个Spout或者Bolt发送之前,结合拓扑动态结构,本发明的一种针对实时云环境Storm的提高网络资源利用率计算方法,首先判断即将接受Tuple数据的Bolt是否与发射Tuple数据的Spout或者Bolt在同一个Worker里面,如果是,那么直接将数据的引用或指针发送给接受Bolt;如果不是,那么接下来判断是否与发射Tuple数据的Spout或者Bolt在同一个物理节点上,如果是,那么意味着接受端与发送端位于同一物理节点的不同Worker里面,此时就将Tuple数据发送给本物理节点的另一个端口。注意:到目前为止,Tuple数据的接受与发送都不会产生网络开销,除非接受Bolt与发射Tuple数据的Spout或者Bolt不在同一个物理节点上,才会进行网络传输,也就是图3中第二个判断是“否”的时候,形成网络传输。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种针对实时云环境Storm的提高网络资源利用率计算方法,其特征在于,在一个Tuple数据从一个Spout或者Bolt发送之前,结合拓扑动态结构,首先进行第一个判断过程,判断即将接受Tuple数据的Bolt是否与发射Tuple数据的Spout或者Bolt在同一个Worker里面:
如果是,那么直接将数据的引用或指针发送给接受Bolt;
如果不是,那么接下来进行第二个判断过程,判断即将接受Tuple数据的Bolt是否与发射Tuple数据的Spout或者Bolt在同一个物理节点上;
第二个判断过程中,如果是,那么接受Bolt与发射Tuple数据的Spout或者Bolt位于同一物理节点的不同Worker里面,此时就将Tuple数据发送给本物理节点的另一个端口;
如果否,那么接受Bolt与发射Tuple数据的Spout或者Bolt不在同一个物理节点上,进行网络传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610084894.6A CN105700947A (zh) | 2016-02-02 | 2016-02-02 | 一种针对实时云环境Storm的提高网络资源利用率计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610084894.6A CN105700947A (zh) | 2016-02-02 | 2016-02-02 | 一种针对实时云环境Storm的提高网络资源利用率计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105700947A true CN105700947A (zh) | 2016-06-22 |
Family
ID=56222944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610084894.6A Pending CN105700947A (zh) | 2016-02-02 | 2016-02-02 | 一种针对实时云环境Storm的提高网络资源利用率计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105700947A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844042A (zh) * | 2016-12-29 | 2017-06-13 | 全球能源互联网研究院 | 电力ip多媒体子系统网络的数据处理方法以及处理装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140064066A1 (en) * | 2012-08-29 | 2014-03-06 | Nec Laboratories America, Inc. | Data Processing |
CN103763378A (zh) * | 2014-01-24 | 2014-04-30 | 中国联合网络通信集团有限公司 | 基于分布式流式计算系统的任务处理方法、系统及节点 |
CN104917825A (zh) * | 2015-05-20 | 2015-09-16 | 中国科学院信息工程研究所 | 一种面向实时流计算平台的负载均衡方法 |
-
2016
- 2016-02-02 CN CN201610084894.6A patent/CN105700947A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140064066A1 (en) * | 2012-08-29 | 2014-03-06 | Nec Laboratories America, Inc. | Data Processing |
CN103763378A (zh) * | 2014-01-24 | 2014-04-30 | 中国联合网络通信集团有限公司 | 基于分布式流式计算系统的任务处理方法、系统及节点 |
CN104917825A (zh) * | 2015-05-20 | 2015-09-16 | 中国科学院信息工程研究所 | 一种面向实时流计算平台的负载均衡方法 |
Non-Patent Citations (3)
Title |
---|
Z00221388: "Storm内部通信机制分析", 《HTTP://SUPPORT.HUAWEI.COM/HUAWEI CONNECT/ENTERPRISE/ZH/THREAD-327549.HTML》 * |
无: "Storm在线业务实践-集群空闲CPU飙高问题排查", 《HTTP://XINGYUSU.COM》 * |
马延辉 等: "《Storm企业级应用 实战、运维和调优》", 30 June 2015 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844042A (zh) * | 2016-12-29 | 2017-06-13 | 全球能源互联网研究院 | 电力ip多媒体子系统网络的数据处理方法以及处理装置 |
CN106844042B (zh) * | 2016-12-29 | 2024-06-18 | 全球能源互联网研究院有限公司 | 电力ip多媒体子系统网络的数据处理方法以及处理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10331590B2 (en) | Graphics processing unit (GPU) as a programmable packet transfer mechanism | |
CN107729147B (zh) | 流计算系统中的数据处理方法、控制节点及流计算系统 | |
WO2017181587A1 (zh) | Cdn网络中的节点管理方法和电子设备 | |
CN109412958A (zh) | 数据中心的拥塞控制方法和装置 | |
CN103873523B (zh) | 客户端集群访问方法及装置 | |
CN106453625B (zh) | 信息同步方法及高可用性集群系统 | |
US20170124871A1 (en) | System and method for vehicle data communication | |
CN105049485B (zh) | 一种面向实时视频处理的负载感知云计算系统 | |
Kliazovich et al. | CA-DAG: Communication-aware directed acyclic graphs for modeling cloud computing applications | |
US10091063B2 (en) | Technologies for directed power and performance management | |
CN112583895B (zh) | Tcp通信方法、系统及装置 | |
CN104917825A (zh) | 一种面向实时流计算平台的负载均衡方法 | |
CN110351199A (zh) | 流量平滑方法、服务器及转发设备 | |
WO2019237531A1 (zh) | 一种网络节点的监测方法与系统 | |
CN104580322A (zh) | 一种分布式数据流处理方法及装置 | |
CN105700947A (zh) | 一种针对实时云环境Storm的提高网络资源利用率计算方法 | |
CN103326916A (zh) | 智能变电站自动划分并优化vlan的系统及方法 | |
CN115865333B (zh) | 量子纠缠建立方法、装置及电子设备 | |
CN103685260A (zh) | 覆盖多播的区文件传送方法及系统 | |
CN114531377B (zh) | 流程工业设备数据的流量控制方法、系统、设备及介质 | |
CN102281179A (zh) | Vpn隧道中继加速技术 | |
Byun et al. | A real-time message delivery method of publish/subscribe model in distributed cloud environment | |
CN114501374A (zh) | 车联网的动态服务部署方法、系统、装置及存储介质 | |
CN103246497A (zh) | 一种基于数据划分的实时数据并行处理方法 | |
TW202218380A (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: 20160622 |