CN110545315B - 基于数据块数量变化以及带宽变化的心跳间隔调整方法 - Google Patents
基于数据块数量变化以及带宽变化的心跳间隔调整方法 Download PDFInfo
- Publication number
- CN110545315B CN110545315B CN201910750307.6A CN201910750307A CN110545315B CN 110545315 B CN110545315 B CN 110545315B CN 201910750307 A CN201910750307 A CN 201910750307A CN 110545315 B CN110545315 B CN 110545315B
- Authority
- CN
- China
- Prior art keywords
- heartbeat
- heartbeat interval
- bandwidth
- data block
- interval
- 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.)
- Active
Links
Images
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
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于数据块数量变化以及带宽变化的心跳间隔调整方法,一方面,由于不同的DataNode从节点上存储的数据块数量是不同的,当集群节点中的数据块数量发生改变时,可根据心跳间隔计算公式重新计算出一个新的心跳间隔,能够减少心跳传输的消耗,同时进一步加强集群的数据更新实时性,有利于提高HDFS系统的性能。另一方面,还可根据当前网络带宽环境进行调节,当当前网络带宽环境发送变化时,可根据心跳间隔计算公式重新计算出一个新的心跳间隔,实现自适应不同的网络带宽环境来提高心跳机制的网络调节能力,这样能有效的避免在发送高并发心跳信息时发生网络拥塞,有利于提高HDFS系统的性能。
Description
技术领域
本发明涉及大数据技术领域,特别涉及一种基于数据块数量变化以及带宽变化的心跳间隔调整方法。
背景技术
心跳机制是保证分布式文件系统的HDFS中NameNode主节点与DataNode从节点之间进行通信、保证节点运行正常的关键技术。所述心跳机制就是收发心跳数据包的机制,DataNode从节点周期性地主动向NameNode主节点发送心跳信息,报告该节点的存储的数据块数量信息以及报告该节点的健康状态。
在HDFS系统中,NameNode主节点与DataNode从节点之间是利用心跳机制来进行通信从而保证节点运行正常,而传统的心跳机制是在HDFS的配置文件中设定的固定周期发送的。这种方式不能动态调整心跳间隔,特别是根据每个节点中所存储的数据量以及当前集群所处的网络环境来动态调整心跳间隔,这样不利于提高HDFS系统的性能。具体如下:
(1)传统的心跳机制是以固定周期由DataNode从节点向NameNode主节点发送心跳包,这种发送方式不能充分满足现有分布式系统信息量剧增和节点数量多样化的要求,不能根据不同节点上存储的数据量的不同而动态调整心跳间隔。
(2)分布式集群节点所处的网络环境发生变化时,心跳包发送间隔周期不能根据当前网络环境进行调节,从而没有充分满足自适应不同的网络环境来提高心跳机制的网络调节能力。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种基于数据块数量变化以及带宽变化的心跳间隔调整方法。可根据每个DataNode从节点中所存储的数据块数量以及当前集群所处的网络环境来动态调整心跳间隔,提高分布式文件系统的HDFS的性能。
本发明的第一方面,提供了一种基于数据块数量变化的心跳间隔调整方法,包括以下步骤:
在HDFS配置文件中设置预设参数,所述预设参数包括初始心跳间隔T1、数据块数量中位数M、第一数据块收缩因子α1以及第二数据块收缩因子α2,所述第一数据块收缩因子α1以及第二数据块收缩因子α2均为正实数;
NameNode主节点接收到来自DataNode从节点发送的心跳包,在对应的心跳应答信息中添加任务信息;
所述DataNode从节点执行完所述任务信息后,更新当前数据块数量m,若所述当前数据块数量m大于所述数据块数量中位数M时,则新的心跳间隔t1的计算公式为:若所述当前数据块数量m小于所述数据块数量中位数M时,则新的心跳间隔t1的计算公式为:并且所述第二数据块收缩因子α2满足公式:
本发明的第二方面,提供了一种基于带宽变化的心跳间隔调整方法,包括以下步骤:
在HDFS配置文件中设置预设参数,所述预设参数包括初始心跳间隔T1、带宽中位数S、第一带宽收缩因子β1以及第二带宽收缩因子β2,所述第一带宽收缩因子β1以及第二带宽收缩因子β2均为正实数;
NameNode主节点接收到来自DataNode从节点发送的心跳包,在对应的心跳应答信息中添加任务信息;
所述DataNode从节点执行完所述任务信息后,获取当前带宽s,若所述当前带宽s大于所述带宽中位数S时,则新的心跳间隔t2的计算公式为:若所述当前带宽s小于所述带宽中位数S时,则新的心跳间隔t2的计算公式为:并且所述第二带宽收缩因子β2满足公式:
本发明提供的一种基于数据块数量变化以及带宽变化的心跳间隔调整方法,至少具有以下有益效果:
(1)根据每个节点上实际存储的数据块数量来动态调整心跳间隔,以此能动态调节心跳间隔,能减少心跳传输消耗,同时进一步加强集群的数据更新实时性。
(2)根据当前网络环境进行调节,可以自适应不同的网络环境来提高心跳机制的网络调节能力,这样能有效的避免在发送高并发心跳信息时发生网络拥塞。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1为本发明实施例所提供的一种基于数据块数量变化的心跳间隔调整方法的流程示意图;
图2为本发明实施例所提供的一种基于带宽变化的心跳间隔调整方法的流程示意图;
图3为本发明实施例所提供的一种基于数据块数量变化以及带宽变化的心跳间隔调整方法的简要流程示意图。
具体实施方式
心跳机制是保证分布式文件系统的HDFS中NameNode主节点与DataNode从节点之间进行通信、保证节点运行正常的关键技术。所述心跳机制就是收发心跳数据包的机制,DataNode从节点周期性地主动向NameNode主节点发送心跳信息,报告该节点的存储的数据块数量信息以及报告该节点的健康状态。
在HDFS系统中,NameNode主节点与DataNode从节点之间是利用心跳机制来进行通信从而保证节点运行正常,而传统的心跳机制是在HDFS的配置文件中设定的固定周期发送的。这种方式不能动态调整心跳间隔,特别是根据每个节点中所存储的数据量以及当前集群所处的网络环境来动态调整心跳间隔,这样不利于提高HDFS系统的性能。具体如下:
(1)传统的心跳机制是以固定周期由DataNode从节点向NameNode主节点发送心跳包,这种发送方式不能充分满足现有分布式系统信息量剧增和节点数量多样化的要求,不能根据不同节点上存储的数据量的不同而动态调整心跳间隔。
(2)分布式集群节点所处的网络环境发生变化时,心跳包发送间隔周期不能根据当前网络环境进行调节,从而没有充分满足自适应不同的网络环境来提高心跳机制的网络调节能力。
例如:传统的HDFS系统上的心跳间隔默认为3秒,该时间间隔可以在系统配置文件中修改,设置完成后,整个集群中的DataNode从节点都以该时间间隔向NameNode主节点发送心跳包。若该心跳间隔设置的数值的太小,而集群节点数量较多时,NameNode主节点即需要同时处理大量高并发的心跳信息,这样很容易会给其造成很大的处理压力,同时也会增加DataNode从节点的心跳包发送的传输代价;若该心跳间隔设置的太大,则会导致NameNode主节点发送任务不及时,同时导致DataNode从节点的信息更新不实时。此外,若整个集群网络环境发生变化,如网络带宽发生变化时,心跳间隔也应随之改变。带宽较高时,心跳间隔可减少;带宽较低时,心跳间隔可增加。这样能有效的避免在发送高并发心跳信息时发生网络拥塞。
综上,传统的周期性心跳发送机制不能根据每个DataNode从节点中所存储的数据量以及当前集群所处的网络环境来动态调整心跳间隔,这样不利于提高HDFS系统的性能。
因此,为了解决上述现有技术存在的技术问题,本发明提供了一种基于数据块数量变化以及带宽变化的心跳间隔调整方法。可根据每个DataNode从节点中所存储的数据块数量以及当前集群所处的网络环境来动态调整心跳间隔,提高分布式文件系统的HDFS的性能。
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
参照图1、图3,本发明的一个实施例,提供了一种基于数据块数量变化的心跳间隔调整方法,包括以下步骤:
S101、在HDFS配置文件中设置预设参数,预设参数包括初始心跳间隔T1、数据块数量中位数M、第一数据块收缩因子α1以及第二数据块收缩因子α2;
S102、DataNode从节点以初始心跳间隔T1向NameNode主节点发送心跳包,NameNode主节点接收到来自DataNode从节点的心跳包,再根据用户提交的任务,在对应的心跳应答信息中添加任务信息,同时更新该DataNode从节点的状态信息;
S103、DataNode从节点执行完任务信息后,更新当前数据块数量m,若当前数据块数量m等于数据块数量中位数M时,则新的心跳间隔t1等于初始心跳间隔T1;若当前数据块数量m大于数据块数量中位数M时,则新的心跳间隔t1的计算公式为:若当前数据块数量m小于数据块数量中位数M时,则新的心跳间隔t1的计算公式为:并且第二数据块收缩因子α2满足公式:
在本实施例中,数据块数量中位数M指的是系统用户在配置文件中设置一个标准数据块数量,通过获取当前数据块数量m与该数据块数量中位数M进行比较,若数据块数量m有所增加或有所减少,则可根据上述计算公式来确定心跳间隔是减少还是增加。第一数据块收缩因子α1是用来控制心跳间隔减少的幅度,为正实数,同等情况下,第一数据块收缩因子α1设置越大,心跳间隔减小的幅度越大,同时,第一数据块收缩因子α1还用来保证最低心跳间隔,防止心跳间隔过小,心跳包发送的过于频繁,造成网络阻塞。同理,第二数据块收缩因子α2用来控制心跳间隔增加的幅度,为正实数,同等情况下,第二数据块收缩因子α2设置越大,心跳间隔增加的幅度越大,同时,第二数据块收缩因子α2还用来保证了最高心跳间隔,防止心跳间隔过大,心跳包发送的过于慢,这样可能被NameNode主节点判定为宕机。DataNode从节点根据计算出来的心跳间隔,动态的调节心跳包发送周期。需要注意的是,在当前数据块数量m小于数据块数量中位数M时,第二数据块收缩因子α2需要满足公式:以此确保心跳间隔不为0。
例如:系统用户首先在HDFS的配置文件中设置好相关参数,包括初始心跳间隔T1、数据块数量中位数M、第一数据块收缩因子α1以及第二数据块收缩因子α2;假设初始心跳间隔T1为3s,数据块数量中位数M为100block。
若当前数据块数量m大于数据块数量中位数M时,将第一数据块收缩因子α1设为0.01,若当前一个DataNode从节点的数据块数量m为200block时,那么当前从节点的新的心跳间隔t1等于心跳间隔减少,心跳发送频率增加。
若当前数据块数量m小于数据块数量中位数M时,将第二数据块收缩因子α2设为0.01,若当前DataNode从节点中的数据块数量为50block,那么当前从节点的新的心跳间隔t1等于心跳间隔增加,心跳发送频率减少。
本实施例的有益效果:由于不同的DataNode从节点上存储的数据块数量是不同的,有些DataNode从节点在某一时段上存储的数据块较少,数据块上的信息更新情况也可能较少,此时可以增加心跳发送间隔,从而减少心跳传输消耗;而有些DataNode从节点可能上数据块较多时,收到NameNode主节点上的更新任务的可能性就也随之增加,此时可以减少心跳发送间隔,从而能够及时得到NameNode主节点的数据更新信息,进一步加强集群的数据更新实时性。当集群节点中的数据块数量发生改变时,则根据心跳间隔计算公式动态计算每个DataNode从节点的新的心跳间隔,这种方法能够减少心跳传输消耗,同时进一步加强集群的数据更新实时性,有利于提高HDFS系统的性能。
参照图2、图3,本发明的另一个实施例,提供了一种基于带宽变化的心跳间隔调整方法,包括以下步骤:
S201、在HDFS配置文件中设置预设参数,预设参数包括初始心跳间隔T1、带宽中位数S、第一带宽收缩因子β1以及第二带宽收缩因子β2;
S202、DataNode从节点以初始心跳间隔T1向NameNode主节点发送心跳包,NameNode主节点接收到来自DataNode从节点的心跳包,再根据用户提交的任务,在对应的心跳应答信息中添加任务信息,同时更新该DataNode从节点的状态信息;
S203、DataNode从节点执行完任务信息后,获取当前带宽s,若当前带宽s等于带宽中位数S时,则新的心跳间隔t2等于初始心跳间隔T1;若当前带宽s大于带宽中位数S时,则新的心跳间隔t2的计算公式为:若当前带宽s小于带宽中位数S时,则新的心跳间隔t2的计算公式为:并且第二带宽收缩因子β2满足公式:
在本实施例中,带宽中位数S是用户在配置文件中设置一个标准带宽,每隔一段用户自定义时间过后,将获取的当前带宽s与该带宽中位数S进行比较,若当前带宽s有所增加或有所减少,则可根据上述计算公式来确定心跳间隔是减少还是增加。第一带宽收缩因子β1是用来控制心跳间隔减少的幅度,为正实数,同等情况下,第一带宽收缩因子β1设置越大,心跳间隔减小的幅度越大,同时,第一带宽收缩因子β1还用来保证了最低心跳间隔,防止心跳间隔过小,这样能有效的避免在发送高并发心跳信息时发生网络拥塞。同理,第二带宽收缩因子β2用来控制心跳间隔增加的幅度,为正实数,同等情况下,第二带宽收缩因子β2设置越大,心跳间隔增加的幅度越大,同时,第二带宽收缩因子β2还用来保证了最高心跳间隔,防止心跳间隔过大,心跳包发送的过于慢,这样可能被NameNode主节点判定为宕机。需要注意的是,在当前带宽s小于带宽中位数S时,第二带宽收缩因子β2需要满足以此确保心跳间隔不为0。
例如:系统用户首先在HDFS的配置文件中设置好相关参数,包括初始心跳间隔T1、带宽中位数S、第一带宽收缩因子β1以及第二带宽收缩因子β2;假设初始心跳为3s,带宽的中位数为20M/s。
本实施例的有益效果:根据当前网络环境进行调节,可以自适应不同的网络环境来提高心跳机制的网络调节能力,这样能有效的避免在发送高并发心跳信息时发生网络拥塞,有利于提高HDFS系统的性能。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (2)
1.一种基于数据块数量变化的心跳间隔调整方法,其特征在于,包括以下步骤:
在HDFS配置文件中设置预设参数,所述预设参数包括初始心跳间隔T1、数据块数量中位数M、第一数据块收缩因子α1以及第二数据块收缩因子α2,所述第一数据块收缩因子α1以及第二数据块收缩因子α2均为正实数,其中,所述第一数据块收缩因子α1是用来控制心跳间隔减少的幅度,为正实数,所述第二数据块收缩因子α2用来控制心跳间隔增加的幅度,为正实数;
NameNode主节点接收到来自DataNode从节点发送的心跳包,在对应的心跳应答信息中添加任务信息;
2.一种基于带宽变化的心跳间隔调整方法,其特征在于,包括以下步骤:
在HDFS配置文件中设置预设参数,所述预设参数包括初始心跳间隔T1、带宽中位数S、第一带宽收缩因子β1以及第二带宽收缩因子β2,所述第一带宽收缩因子β1以及第二带宽收缩因子β2均为正实数;其中,所述第一带宽收缩因子β1是用来控制心跳间隔减少的幅度,为正实数,所述第二带宽收缩因子β2用来控制心跳间隔增加的幅度,为正实数;
NameNode主节点接收到来自DataNode从节点发送的心跳包,在对应的心跳应答信息中添加任务信息;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750307.6A CN110545315B (zh) | 2019-08-14 | 2019-08-14 | 基于数据块数量变化以及带宽变化的心跳间隔调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750307.6A CN110545315B (zh) | 2019-08-14 | 2019-08-14 | 基于数据块数量变化以及带宽变化的心跳间隔调整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110545315A CN110545315A (zh) | 2019-12-06 |
CN110545315B true CN110545315B (zh) | 2022-07-05 |
Family
ID=68711400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910750307.6A Active CN110545315B (zh) | 2019-08-14 | 2019-08-14 | 基于数据块数量变化以及带宽变化的心跳间隔调整方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110545315B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112671633B (zh) * | 2020-12-01 | 2022-08-23 | 重庆邮电大学 | 一种基于bp神经网络预测的二分探测心跳间隔系统及方法 |
CN113626098B (zh) * | 2021-07-21 | 2024-05-03 | 长沙理工大学 | 一种基于信息交互的数据节点动态配置方法 |
CN114114075B (zh) * | 2021-12-15 | 2024-10-11 | 国家石油天然气管网集团有限公司 | 油气管道高速总线的断路诊断方法和装置 |
CN116881984B (zh) * | 2023-09-08 | 2024-02-23 | 云筑信息科技(成都)有限公司 | 一种数据监测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100367714C (zh) * | 2004-02-27 | 2008-02-06 | 联想(北京)有限公司 | 基于网络和主机负载的变速心跳机制的实现方法 |
CN109327346A (zh) * | 2018-07-27 | 2019-02-12 | 上海电享信息科技有限公司 | 一种客户端心跳频率动态控制方法及系统 |
-
2019
- 2019-08-14 CN CN201910750307.6A patent/CN110545315B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110545315A (zh) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110545315B (zh) | 基于数据块数量变化以及带宽变化的心跳间隔调整方法 | |
JP5040311B2 (ja) | 資源管理システム、資源情報提供方法、及び、プログラム | |
US8458357B2 (en) | Technique for setting network communication parameters | |
JP5342658B2 (ja) | I/o駆動の速度適応のための方法およびシステム | |
US9667545B2 (en) | Method and system for aggregate bandwidth control | |
EP1559022B1 (en) | System and method for receive queue provisioning | |
CN109936473B (zh) | 基于深度学习预测的分布计算系统及其运行方法 | |
JP6137657B2 (ja) | 帯域調整方法および帯域調整コントローラ | |
JP2009501496A5 (zh) | ||
WO2021103706A1 (zh) | 控制数据包发送方法、模型训练方法、装置及系统 | |
WO2014200561A1 (en) | Methods and systems for adaptive buffer allocation in systems with adaptive resource allocation | |
US20050278166A1 (en) | Data distribution apparatus, its control method, program, and storage medium | |
CN116527587A (zh) | 一种基于aimd实现依权重分配带宽的系统及方法 | |
CN111970204A (zh) | 网络流量控制方法及装置 | |
WO2023093256A1 (zh) | 一种参数调整方法和装置 | |
WO2023051537A1 (zh) | 策略调整方法、数据传输方法、系统、服务器及存储介质 | |
CN116346621A (zh) | 网络切片选择辅助信息的调整方法、装置、电子设备和存储介质 | |
JP2006235736A (ja) | クラスタシステムのキャッシュ同期制御方法 | |
CN112437494A (zh) | 一种资源分配方法及装置 | |
KR20220159741A (ko) | 통신 시스템에서 네트워크 슬라이싱의 자원 관리를 위한 방법 및 자원 할당 훈련 방법 | |
CN113626098B (zh) | 一种基于信息交互的数据节点动态配置方法 | |
CN118316877B (zh) | 一种网络拥塞控制方法、系统、装置、设备及存储介质 | |
Yang et al. | Cross-layer self-similar coflow scheduling for machine learning clusters | |
CN110166370B (zh) | 一种基于拥塞因子预判的传输方法 | |
CN114697187B (zh) | 一种master选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |