CN110247983A - 一种均衡负载方法及系统 - Google Patents
一种均衡负载方法及系统 Download PDFInfo
- Publication number
- CN110247983A CN110247983A CN201910567746.3A CN201910567746A CN110247983A CN 110247983 A CN110247983 A CN 110247983A CN 201910567746 A CN201910567746 A CN 201910567746A CN 110247983 A CN110247983 A CN 110247983A
- Authority
- CN
- China
- Prior art keywords
- nodes
- uploading nodes
- downloading
- node
- uploading
- 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
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/1085—Resource delivery mechanisms involving dynamic management of active down- or uploading connections
Abstract
本发明实施例提供了一种均衡负载方法及系统,涉及计算机技术领域,可以提高下载节点获取资源的速度。本申请的实施例包括:上传节点根据其接入上限,确定允许接入的下载节点的第一数量,其中,第一数量为除已接入上传节点的下载节点外,允许接入的下载节点数量,接入上限为基于上传节点的资源利用率确定的上传节点允许接入的下载节点总数。然后上传节点向追踪节点发送第一数量。追踪节点接收上传节点发送的第一数量,若第一数量大于第一阈值,则停止为上传节点分配除已接入所述上传节点的下载节点以外的其他下载节点。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种均衡负载方法及系统。
背景技术
目前,可以使用对等(Peer to Peer,简称P2P)网络实现视频内容的分发。P2P网络中包括上传节点和下载节点,上传节点是视频内容的提供者,下载节点是视频内容的获取者。
当下载节点需要获取视频时,如果随机地选择P2P网络中的一个上传节点,并向其发送用于获取视频的请求。由于上传节点收到的请求是随机的,所以一个上传节点可能接收到请求较多,也可能接收到的请求较少。所以可能出现P2P网络中一些上传节点负载空闲,一些上传节点负载过重的情况。
上传节点负载空闲会使得资源利用率较低,负载过重会影响上传节点处理获取请求的速度,导致响应获取请求的时间过长。负载过重的上传节点接入的下载节点较多,而上传节点自身处理能力有限,使得各下载节点获取资源的速度较慢。
发明内容
本发明实施例的目的在于提供一种均衡负载方法及系统,以实现提高下载节点获取资源的速度。具体技术方案如下:
第一方面,本发明实施例提供了一种均衡负载方法,应用于均衡负载系统,所述均衡负载系统包括:追踪节点、对等P2P网络中的上传节点和下载节点,所述方法包括:
所述上传节点根据自身的接入上限,确定允许接入的下载节点的第一数量,所述第一数量为除已接入所述上传节点的下载节点外,允许接入的下载节点数量,所述接入上限为基于所述上传节点的资源利用率确定的所述上传节点允许接入的下载节点总数;
所述上传节点向追踪节点发送所述第一数量;
所述追踪节点接收所述上传节点发送的所述第一数量,若所述第一数量小于或等于第一阈值,则停止为所述上传节点分配除已接入所述上传节点的下载节点以外的其他下载节点。
可选的,所述上传节点根据自身的接入上限,确定允许接入的下载节点的第一数量,包括:
若已接入所述上传节点的下载节点数量小于所述接入上限,则所述上传节点确定所述第一数量为所述接入上限与已接入所述上传节点的下载节点数量的差值;或者,
若已接入所述上传节点的下载节点数量大于或等于所述接入上限,则所述上传节点确定所述第一数量为零。
可选的,所述方法还包括:
所述上传节点判断自身的资源利用率是否小于资源利用率阈值;
若自身的资源利用率小于所述资源利用率阈值,且所述接入上限与已接入所述上传节点的下载节点数量的差值小于预设差值,则所述上传节点提高所述接入上限;或者,
若自身的资源利用率大于或等于所述资源利用率阈值,则所述上传节点降低所述接入上限;
若降低后的所述接入上限小于已接入所述上传节点的下载节点数量,则所述上传节点断开所述上传节点与第二数量的下载节点之间的连接,所述第二数量为已接入所述上传节点的下载节点数量与降低后的所述接入上限的差值。
可选的,所述资源利用率包括:所述上传节点的网络流量速度、输入输出IO资源占用率和中央处理器CPU占用率,所述上传节点判断自身的资源利用率是否小于资源利用率阈值,包括:
若所述上传节点的网络流量速度大于或等于网络流量速度峰值、IO资源占用率大于或等于IO资源阈值、和/或CPU占用率大于或等于CPU占用率阈值,则所述上传节点确定自身的资源利用率大于或等于所述资源利用率阈值;或者,
若所述上传节点的网络流量速度小于所述网络流量速度峰值、IO资源占用率小于所述IO资源阈值、和CPU占用率小于所述CPU占用率阈值,则所述上传节点确定自身的资源利用率小于所述资源利用率阈值。
可选的,所述方法还包括:
所述上传节点根据预设时间段内,通过用户数据报协议UDP,向同一下载节点发送数据包时刻和接收同一下载节点回复的确认消息时刻,确定平滑往返时长,所述确认消息为所述下载节点接收到所述上传节点的数据包后,回复的确认消息;
所述上传节点根据所述平滑往返时长,确定所述上传节点与所述下载节点之间的重传超时时长;
在所述上传节点向所述下载节点发送数据包后,若经过所述重传超时时长,未接收到所述下载节点的确认消息,则所述上传节点重新向所述下载节点发送所述数据包。
第二方面,本发明实施例提供了一种均衡负载系统,所述均衡负载系统包括:追踪节点、对等P2P网络中的上传节点和下载节点;
所述上传节点,用于根据自身的接入上限,确定允许接入的下载节点的第一数量,所述第一数量为除已接入所述上传节点的下载节点外,允许接入的下载节点数量,所述接入上限为基于所述上传节点的资源利用率确定的所述上传节点允许接入的下载节点总数;
所述上传节点,还用于向追踪节点发送所述第一数量;
所述追踪节点,用于接收所述上传节点发送的所述第一数量,若所述第一数量小于或等于第一阈值,则停止为所述上传节点分配除已接入所述上传节点的下载节点以外的其他下载节点。
可选的,所述上传节点,具体用于:
若已接入所述上传节点的下载节点数量小于所述接入上限,则确定所述第一数量为所述接入上限与已接入所述上传节点的下载节点数量的差值;或者,
若已接入所述上传节点的下载节点数量大于或等于所述接入上限,则确定所述第一数量为零。
可选的,所述上传节点,还用于:
判断自身的资源利用率是否小于资源利用率阈值;
若自身的资源利用率小于所述资源利用率阈值,且所述接入上限与已接入所述上传节点的下载节点数量的差值小于预设差值,则提高所述接入上限;或者,
若自身的资源利用率大于或等于所述资源利用率阈值,则降低所述接入上限;
若降低后的所述接入上限小于已接入所述上传节点的下载节点数量,则断开所述上传节点与第二数量的下载节点之间的连接,所述第二数量为已接入所述上传节点的下载节点数量与降低后的所述接入上限的差值。
可选的,所述资源利用率包括:所述上传节点的网络流量速度、输入输出IO资源占用率和中央处理器CPU占用率,所述上传节点,具体用于:
若所述上传节点的网络流量速度大于或等于网络流量速度峰值、IO资源占用率大于或等于IO资源阈值、和/或CPU占用率大于或等于CPU占用率阈值,则确定自身的资源利用率大于或等于所述资源利用率阈值;或者,
若所述上传节点的网络流量速度小于所述网络流量速度峰值、IO资源占用率小于所述IO资源阈值、和CPU占用率小于所述CPU占用率阈值,则确定自身的资源利用率小于所述资源利用率阈值。
可选的,所述上传节点,还用于:
根据预设时间段内,通过用户数据报协议UDP,向同一下载节点发送数据包时刻和接收同一下载节点回复的确认消息时刻,确定平滑往返时长,所述确认消息为所述下载节点接收到所述上传节点的数据包后,回复的确认消息;
根据所述平滑往返时长,确定所述上传节点与所述下载节点之间的重传超时时长;
在所述上传节点向所述下载节点发送数据包后,若经过所述重传超时时长,未接收到所述下载节点的确认消息,则重新向所述下载节点发送所述数据包。
第三方面,本发明实施例提供了一种上传节点,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中由上传节点执行的方法步骤。
第四方面,本发明实施例提供了一种追踪节点,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中由追踪节点执行的方法步骤。
第五方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中由上传节点执行的方法步骤。
第六方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中由追踪节点执行的方法的步骤。
第七方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中由上传节点执行的方法。
第八方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中由追踪节点执行的方法。
本发明实施例提供的均衡负载方法及系统,由于P2P网络中的上传节点可以根据自身的接入上限,确定该上传节点允许接入的下载节点的第一数量,并向追踪节点发送第一数量,其中,第一数量为除已接入上传节点的下载节点外,允许接入的下载节点数量。且追踪节点可以接收上传节点发送的第一数量,若第一数量小于或等于第一阈值,则停止为上传节点分配除已接入上传节点的下载节点以外的其他下载节点。当第一数量小于或等于第一阈值时,说明上传节点允许新增接入的下载节点数量较少,该上传节点负载较重,所以追踪节点此时可以不为其分配更多的下载节点,达到均衡负载的效果,避免部分上传节点负载过重的情况,提高了下载节点获取资源的速度。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种均衡负载系统结构示意图;
图2为本发明实施例提供的一种均衡负载方法流程图;
图3为本发明实施例提供的另一种均衡负载方法流程图;
图4为本发明实施例提供的一种信息交互过程的示例性示意图;
图5为本发明实施例提供的另一种均衡负载系统结构示意图;
图6为本发明实施例提供的上传节点的结构示意图;
图7为本发明实施例提供的追踪节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参见图1,图1为本发明实施例提供的一种均衡负载系统,该系统包括:追踪节点、对等(Peer to Peer,简称P2P)网络中的上传节点和下载节点。
上传节点为上传多媒体资源的服务器,用于为下载节点提供多媒体资源。上传节点可提供的多媒体资源包括:文本、视频、音频和图片等。
下载节点为下载多媒体资源的服务器,可以从上传节点处获取多媒体资源。
追踪节点用于接收各上传节点的负载情况以及各上传节点可提供的多媒体资源,并为各下载节点分配上传节点。追踪节点可以为安装了追踪程序(Tracker)的服务器。
可以理解的是,对于P2P网络中的一个节点而言,当该节点从其他节点处获取多媒体资源时,该节点称为下载节点;当该节点向其他节点发送多媒体资源时,该节点称为上传节点。
需要说明的是,图1示例性地示出了一个上传节点、一个下载节点和一个追踪节点,本申请实施例中的各设备数量不限于此。
结合图1,图2为本发明实施例提供的一种均衡负载方法,应用于图1所示的均衡负载系统,该方法包括:
步骤201,上传节点根据上传节点的接入上限,确定允许接入的下载节点的第一数量。
其中,第一数量为除已接入上传节点的下载节点外,允许接入的下载节点数量。接入上限为基于上传节点的资源利用率确定的上传节点允许接入的下载节点总数,或者,接入上限还可以是预设的。
一种实施方式中,若已接入上传节点的下载节点数量小于接入上限,则上传节点确定第一数量为接入上限与已接入上传节点的下载节点数量的差值。
或者,若已接入上传节点的下载节点数量大于或等于接入上限,则上传节点确定第一数量为零,表示不允许接入除已接入上传节点的下载节点外的其他下载节点。
可以理解的是,若已接入上传节点的下载节点数量小于接入上限,说明上传节点接入的下载节点较少,资源利用率较低,响应数据请求的速度较快。所以此时上传节点可以接入更多的下载节点,为更多的下载节点提供高速下载服务。其中,数据请求为下载节点发送的用于请求获取多媒体资源的请求消息。
或者,若已接入上传节点的下载节点数量大于或等于接入上限,说明上传节点当前负载较重,若再接入更多的下载节点,会使得上传节点负载更重,降低上传节点响应数据请求的速度。所以将第一数量设置为零,可以避免上传节点负载加重,提高上传节点响应数据请求的速度,即提高了下载节点获取多媒体资源的速度。
步骤202,上传节点向追踪节点发送第一数量。
步骤203,追踪节点接收上传节点发送的第一数量,若第一数量小于或等于第一阈值,则停止为上传节点分配除已接入上传节点的下载节点以外的其他下载节点。
在本发明实施例中,追踪节点可以根据各上传节点对应的第一数量为下载节点分配上传节点。
可选的,追踪节点接收到下载节点发送的数据请求后,筛选出满足以下两个条件的上传节点,向该下载节点发送筛选出的上传节点的互联网协议(Internet Protocol,简称IP)地址,进而下载节点可根据接收到的IP地址,向IP地址对应的服务器发送数据请求,以请求获取多媒体资源。
条件1:上传节点允许接入的下载节点的第一数量大于第一阈值;条件2:上传节点具有该数据请求请求获取的多媒体资源。
另外,追踪节点在为下载节点分配上传节点时,可以为其分配满足上述两个条件的上传节点中,第一数量最大的上传节点,以使得该下载节点从分配的上传节点中以较快的速度下载多媒体资源。
本发明实施例提供的均衡负载方法,由于P2P网络中的上传节点可以根据自身的接入上限,确定该上传节点允许接入的下载节点的第一数量,并向追踪节点发送第一数量,其中,第一数量为除已接入上传节点的下载节点外,允许接入的下载节点数量。且追踪节点可以接收上传节点发送的第一数量,若第一数量小于或等于第一阈值,则停止为上传节点分配除已接入上传节点的下载节点以外的其他下载节点。当第一数量小于或等于第一阈值时,说明上传节点允许新增接入的下载节点数量较少,该上传节点负载较重,所以追踪节点此时可以不为其分配更多的下载节点,达到均衡负载的效果,避免部分上传节点负载过重的情况,提高了下载节点获取资源的速度。
可选的,本发明实施例还可以调整上传节点的接入上限,参见图3,该方法应用于图1所示的均衡负载系统中的上传节点,包括如下步骤:
步骤301,上传节点判断自身的资源利用率是否小于资源利用率阈值。若是,则执行步骤302;若否,则执行步骤304。
一种实施方式中,若上传节点的网络流量速度大于或等于网络流量速度峰值、输入输出(Input Output,简称IO)资源占用率大于或等于IO资源阈值、和/或中央处理器(Central Processing Unit,简称CPU)占用率大于或等于CPU占用率阈值,则上传节点确定自身的资源利用率大于或等于资源利用率阈值。
或者,若上传节点的网络流量速度小于网络流量速度峰值、IO资源占用率小于IO资源阈值、和CPU占用率小于CPU占用率阈值,则上传节点确定自身的资源利用率小于资源利用率阈值。
其中,网络流量速度为上传节点向下载节点上传数据的速度。
网络流量峰值为上传节点上传数据的最高速度。网络流量峰值可以为预先统计的一段时间内,上传节点上传数据的最高速度。网络流量峰值可能会随着上传节点的资源利用率变化发生改变,所以可以每隔一段时间,确定一次上传节点的网络流量峰值。
IO资源占用率可以根据IO操作的数量、执行IO操作的时长、和/或IO操作的等待时长确定。
例如:资源占用率可以为:上传节点的IO系统中每秒用于执行IO操作的总时长。
又例如,根据IO操作的平均时长与资源占用率的对应关系,确定IO资源占用率。可以理解的,若IO操作的平均时长较长,则说明上传节点执行IO操作速度较慢,IO资源占用率较高。
可以理解的是,上传节点的网络流量速度大于或等于网络流量速度峰值,说明上传节点已没有剩余带宽可以分配给其他下载节点。若此时上传节点接入的下载节点数量增加,则上传节点向接入的下载节点发送数据的速度较慢,或无法向接入的下载节点发送数据。
上传节点的IO资源占用率大于或等于IO资源阈值,说明IO操作数量较多,若此时接入的下载节点数量增加,则IO操作数量会更多,导致IO操作的等待时间和执行IO操作的时间过长,使得下载节点获取资源的速度较慢。
上传节点的CPU占用率大于或等于CPU占用率阈值,说明上传节点的处理速度较慢,若此时接入的下载节点数量增加,则上传节点收到的数据请求会增加,CPU占用率也会增加,使得上传节点处理速度更慢,甚至导致卡顿或停止运行。
步骤302,上传节点判断自身的接入上限与已接入上传节点的下载节点数量的差值是否小于预设差值。若是,则执行步骤303。
可选的,上传节点的初始接入上限是预设的。在上传节点的运行过程中,上传节点可以根据自身的资源利用率,更新自身的接入上限。
可以理解的,若上传节点的资源利用率小于资源利用率阈值,且上传节点的接入上限与已接入上传节点的下载节点数量的差值大于或等于预设差值,说明上传节点负载空闲的原因是接入上传节点的下载节点数量较少,可以不调整上传节点的接入上限。
步骤303,上传节点提高自身的接入上限。
可以理解的是,上传节点的资源利用率小于资源利用率阈值,且上传节点的接入上限与已接入上传节点的下载节点数量的差值小于预设差值,说明已接入上传节点的下载节点较多,而上传节点仍负载空闲,此时上传节点的处理数据请求的速度较快,所以可以允许更多的下载节点接入,为更多的下载节点提供高速下载服务,所以可以提高上传节点的接入上限。
步骤304,上传节点降低自身的接入上限。
可以理解的是,上传节点资源利用率大于或等于资源利用率阈值,说明上传节点负载较重,需要降低上传节点允许接入的下载节点总数。
可选的,若降低后的接入上限小于已接入上传节点的下载节点数量,说明上传节点负载较重,无法向已接入的各下载节点发送多媒体资源,需要减少接入的下载节点数量,所以上传节点断开其与第二数量的下载节点之间的连接。其中,第二数量为已接入上传节点的下载节点数量与降低后的接入上限的差值。
其中,第二数量的下载节点为:已接入上传节点的下载节点中,与上传节点传输数据的速度最慢的第二数量个下载节点。
在上传节点向下载节点发送多媒体资源之前,需要先与下载节点建立连接。
可选的,上传节点与下载节点建立连接的方法包括以下步骤:
步骤一、下载节点向上传节点发送握手数据包。其中,握手数据包中包括:下载节点请求的文件的标识、下载节点支持的各P2P协议版本、以及下载节点支持的各传输协议版本。
步骤二、上传节点向下载节点回复握手数据包。其中,回复的握手数据包中包括:P2P协议版本和传输协议版本。
其中,上传节点可以从下载节点发送的各P2P协议版本中,选取一个上传节点支持的P2P协议版本;从下载节点发送的各传输协议版本中,选取一个上传节点支持的传输协议版本,并将选取的P2P协议版本和传输协议版本发送给下载节点。
可选的,上传节点支持的各P2P协议版本和各传输协议版本可以设有优先级,当上传节点和下载节点同时支持的版本有多个,则上传节点从同时支持的版本中选取优先级最高的版本发送给下载节点。
若上传节点不支持下载节点支持的各P2P协议版本,或者上传节点不支持下载节点支持的各传输协议版本,则上传节点和下载节点连接失败。
若上传节点支持下载节点支持的任一P2P协议版本、以及任一传输协议版本,则上传节点和下载节点连接成功。连接成功后,上传节点接收下载节点发送的数据请求,并向下载节点发送针对数据请求的数据响应。
其中,数据请求中包括:文件标识。数据请求中还可以包括:数据长度,表示请求一个文件中的一段数据。
在上传节点与下载节点传输数据包的过程中,上传节点和下载节点均可以计算该上传节点与该下载节点之间的重传超时时长,且计算方法相同。
以上传节点为例,计算重传超时时长的方法包括以下步骤:
步骤一、上传节点根据预设时间段内,上传节点通过用户数据报协议(UserDatagram Protocol,UDP),向同一下载节点发送数据包时刻和接收同一下载节点回复的确认消息时刻,确定平滑往返时长。
其中,确认消息为下载节点接收到上传节点的数据包后,回复的确认消息。
一种实施方式中,确定在预设时间段内,上传节点发送的各个数据包的发送数据包时刻和接收确认消息时刻之间的时长,计算确定的各个时长加权平均值,将计算结果确定为上传节点与下载节点之间的平滑往返时长。
步骤二、上传节点根据平滑往返时长,确定上传节点与下载节点之间的重传超时时长。
一种实施方式中,可以将平滑往返时长的整数倍确定为重传超时时长,或者将平滑往返时长与预设时长的和确定为重传超时时长。
例如:重传超时时长=3×平滑往返时长。
在本发明实施例中,在上传节点向下载节点发送数据包后,若经过重传超时时长,未接收到下载节点的确认消息,则重新向下载节点发送该数据包。
同理,在下载节点向上传节点发送数据包后,若经过重传超时时长,未接收到上传节点的确认消息,则重新向上传节点发送该数据包。
可选的,下载节点向上传节点发送数据包后,若经过预设的连接超时时长内,未接收到上传节点发送的任一数据包,则下载节点与上传节点断开连接,从其他上传节点中获取多媒体资源。并且在预设时间段内,下载节点不再向该上传节点发送数据请求。
另外,现有技术中,若一个节点发送数据包1后,经过一段时间,没有接收到数据包1对应的确认消息。而在数据包1发送后,该节点发送了数据包2和数据包3,经过一段时间,收到了数据包2和数据包3对应的确认消息,则认为数据包1发送成功,无需重传。但可能存在数据包1在传输过程中丢失,接收方未接收到数据包1的情况。
但是,在本发明实施例中,一个节点发送数据包后的,若经过重传超时时长,未接到接收方发送的确认消息,则认为该数据包丢失,需要重传,可以避免上述情况发生。
在本发明实施例中,节点发送数据包时可以检测是否需要重传,并重新发送需要重传的数据包,减少了接收方接收到的数据不完整的情况发生。
而且,通过传输控制协议(Transmission Control Protocol,简称TCP)传输数据包时,若发送方与接收方之间的通信信道存在一定的丢包,则发送方通常会降低向接收方发送数据包的速度。
而本发明实施例中的各节点基于UDP发送数据包,即使发送方与接收方之间的通信信道存在一定的丢包,也不会降低发送数据包的速度。提高了下载节点获取多媒体资源的速度。
为了更清楚的解释本发明实施例提供的均衡负载方法,结合图4对本申请实施例提供的均衡负载方法进行说明,具体包括如下步骤:
步骤一、下载节点向追踪节点请求获取存在某一多媒体资源的上传节点的IP地址。上传节点向追踪节点发送上传节点允许接入的下载节点的第一数量、以及上传节点可提供的多媒体资源。
上传节点中设置有性能监控系统,用于监控上传节点的资源利用率。
可选的,上传节点还可以向追踪节点发送:接入上限、已接入上传节点的下载节点数量和上传节点的资源利用率。
步骤二、追踪节点向下载节点发送上传节点的IP地址。
在本发明实施例中,追踪节点可以向下载节点发送多个上传节点的IP地址,下载节点可以任选一个IP地址对应的上传节点并发送握手数据包,或者同时向多个IP地址对应的上传节点发送握手数据包。
可以理解的是,由于能够提供下载节点请求的多媒体资源的上传节点并非都能与下载节点连接成功,所以追踪节点需要向下载节点发送多个能够提供下载节点请求的多媒体资源的上传节点IP地址。
基于同样的理由,追踪节点为上传节点分配的下载节点数量可以超过上传节点的接入上限,以提高上传节点的资源利用率。
步骤三、下载节点接收追踪节点发送的上传节点的IP地址,并向IP地址对应的上传节点发送握手数据包。
步骤四、上传节点向下载节点回复握手数据包。
上传节点收到下载节点发送的握手数据包后,判断已接入上传节点的下载节点数量是否小于接入上限。若是,则允许下载节点接入,允许接入的数量为:接入上限与已接入上传节点的下载节点数量的差值。若否,则不允许下载节点接入。
可选的,若不允许下载节点接入上传节点,则上传节点可以不向下载节点回复握手数据包,或者向下载节点回复用于表示不允许接入的数据包。
若允许下载节点接入上传节点,则上传节点向下载节点回复握手数据包。
可以理解的,在追踪节点为上传节点分配的下载节点数量超过上传节点的接入上限的情况下,若已接入上传节点的下载节点数量小于上传节点的接入上限,则允许更多的下载节点接入,允许接入的数量为:接入上限与已接入上传节点的下载节点数量的差值。若已接入上传节点的下载节点数量达到上传节点的接入上限,则不允许接入更多的下载节点。
步骤五、下载节点向上传节点发送数据请求。
其中,数据请求可以用于请求获取一个多媒体资源,或者用于请求获取一个多媒体资源中的部分数据。
步骤六、上传节点向下载节点发送针对数据请求的数据响应。
步骤五和步骤六中,上传节点和下载节点均可以检测各自发送的数据包是否需要重传,若需要重传,则重新发送需要重传的数据包。
对应于上述方法实施例,如图5所示,本发明实施例提供了一种均衡负载系统,均衡负载系统包括:追踪节点502、对等P2P网络中的上传节点501和下载节点503;
上传节点501,用于根据自身的接入上限,确定允许接入的下载节点的第一数量,第一数量为除已接入上传节点的下载节点外,允许接入的下载节点数量,接入上限为基于上传节点的资源利用率确定的上传节点允许接入的下载节点总数;
上传节点501,还用于向追踪节点发送第一数量;
追踪节点502,用于接收上传节点发送的第一数量,若第一数量小于或等于第一阈值,则停止为上传节点分配除已接入上传节点的下载节点以外的其他下载节点。
可选的,上传节点501,可以具体用于:
若已接入上传节点的下载节点数量小于接入上限,则确定第一数量为接入上限与已接入上传节点的下载节点数量的差值;或者,
若已接入上传节点的下载节点数量大于或等于接入上限,则确定第一数量为零。
可选的,上传节点501,还可以用于:
判断自身的资源利用率是否小于资源利用率阈值;
若自身的资源利用率小于资源利用率阈值,且接入上限与已接入上传节点的下载节点数量的差值小于预设差值,则提高接入上限;或者,
若自身的资源利用率大于或等于资源利用率阈值,则降低接入上限;
若降低后的接入上限小于已接入上传节点的下载节点数量,则断开上传节点与第二数量的下载节点之间的连接,第二数量为已接入上传节点的下载节点数量与降低后的接入上限的差值。
可选的,资源利用率包括:上传节点的网络流量速度、输入输出IO资源占用率和中央处理器CPU占用率,上传节点501,可以具体用于:
若上传节点的网络流量速度大于或等于网络流量速度峰值、IO资源占用率大于或等于IO资源阈值、和/或CPU占用率大于或等于CPU占用率阈值,则确定自身的资源利用率大于或等于资源利用率阈值;或者,
若上传节点的网络流量速度小于网络流量速度峰值、IO资源占用率小于IO资源阈值、和CPU占用率小于CPU占用率阈值,则确定自身的资源利用率小于资源利用率阈值。
可选的,上传节点501,还用于:
根据预设时间段内,通过用户数据报协议UDP,向同一下载节点发送数据包时刻和接收同一下载节点回复的确认消息时刻,确定平滑往返时长,确认消息为下载节点接收到上传节点的数据包后,回复的确认消息;
根据平滑往返时长,确定上传节点与下载节点之间的重传超时时长;
在上传节点向下载节点发送数据包后,若经过重传超时时长,未接收到下载节点的确认消息,则重新向下载节点发送数据包。
本发明实施例还提供了一种上传节点,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述方法实施例中由上传节点执行的步骤。
本发明实施例还提供了一种追踪节点,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述方法实施例中由追踪节点执行的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述由上传节点执行的均衡负载方法的步骤。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述由追踪节点执行的均衡负载方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中由上传节点执行的均衡负载方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中由追踪节点执行的均衡负载方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种均衡负载方法,其特征在于,应用于均衡负载系统,所述均衡负载系统包括:追踪节点、对等P2P网络中的上传节点和下载节点,所述方法包括:
所述上传节点根据自身的接入上限,确定允许接入的下载节点的第一数量,所述第一数量为除已接入所述上传节点的下载节点外,允许接入的下载节点数量,所述接入上限为基于所述上传节点的资源利用率确定的所述上传节点允许接入的下载节点总数;
所述上传节点向追踪节点发送所述第一数量;
所述追踪节点接收所述上传节点发送的所述第一数量,若所述第一数量小于或等于第一阈值,则停止为所述上传节点分配除已接入所述上传节点的下载节点以外的其他下载节点。
2.根据权利要求1所述的方法,其特征在于,所述上传节点根据自身的接入上限,确定允许接入的下载节点的第一数量,包括:
若已接入所述上传节点的下载节点数量小于所述接入上限,则所述上传节点确定所述第一数量为所述接入上限与已接入所述上传节点的下载节点数量的差值;或者,
若已接入所述上传节点的下载节点数量大于或等于所述接入上限,则所述上传节点确定所述第一数量为零。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述上传节点判断自身的资源利用率是否小于资源利用率阈值;
若自身的资源利用率小于所述资源利用率阈值,且所述接入上限与已接入所述上传节点的下载节点数量的差值小于预设差值,则所述上传节点提高所述接入上限;或者,
若自身的资源利用率大于或等于所述资源利用率阈值,则所述上传节点降低所述接入上限;
若降低后的所述接入上限小于已接入所述上传节点的下载节点数量,则所述上传节点断开所述上传节点与第二数量的下载节点之间的连接,所述第二数量为已接入所述上传节点的下载节点数量与降低后的所述接入上限的差值。
4.根据权利要求3所述的方法,其特征在于,所述资源利用率包括:所述上传节点的网络流量速度、输入输出IO资源占用率和中央处理器CPU占用率;所述上传节点判断自身的资源利用率是否小于资源利用率阈值,包括:
若所述上传节点的网络流量速度大于或等于网络流量速度峰值、IO资源占用率大于或等于IO资源阈值、和/或CPU占用率大于或等于CPU占用率阈值,则所述上传节点确定自身的资源利用率大于或等于所述资源利用率阈值;或者,
若所述上传节点的网络流量速度小于所述网络流量速度峰值、IO资源占用率小于所述IO资源阈值、和CPU占用率小于所述CPU占用率阈值,则所述上传节点确定自身的资源利用率小于所述资源利用率阈值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述上传节点根据预设时间段内,通过用户数据报协议UDP,向同一下载节点发送数据包时刻和接收同一下载节点回复的确认消息时刻,确定平滑往返时长,所述确认消息为所述下载节点接收到所述上传节点的数据包后,回复的确认消息;
所述上传节点根据所述平滑往返时长,确定所述上传节点与所述下载节点之间的重传超时时长;
在所述上传节点向所述下载节点发送数据包后,若经过所述重传超时时长,未接收到所述下载节点的确认消息,则所述上传节点重新向所述下载节点发送所述数据包。
6.一种均衡负载系统,其特征在于,所述均衡负载系统包括:追踪节点、对等P2P网络中的上传节点和下载节点;
所述上传节点,用于根据自身的接入上限,确定允许接入的下载节点的第一数量,所述第一数量为除已接入所述上传节点的下载节点外,允许接入的下载节点数量,所述接入上限为基于所述上传节点的资源利用率确定的所述上传节点允许接入的下载节点总数;
所述上传节点,还用于向追踪节点发送所述第一数量;
所述追踪节点,用于接收所述上传节点发送的所述第一数量,若所述第一数量小于或等于第一阈值,则停止为所述上传节点分配除已接入所述上传节点的下载节点以外的其他下载节点。
7.根据权利要求6所述的系统,其特征在于,所述上传节点,具体用于:
若已接入所述上传节点的下载节点数量小于所述接入上限,则确定所述第一数量为所述接入上限与已接入所述上传节点的下载节点数量的差值;或者,
若已接入所述上传节点的下载节点数量大于或等于所述接入上限,则确定所述第一数量为零。
8.根据权利要求7所述的系统,其特征在于,所述上传节点,还用于:
判断自身的资源利用率是否小于资源利用率阈值;
若自身的资源利用率小于所述资源利用率阈值,且所述接入上限与已接入所述上传节点的下载节点数量的差值小于预设差值,则提高所述接入上限;或者,
若自身的资源利用率大于或等于所述资源利用率阈值,则降低所述接入上限;
若降低后的所述接入上限小于已接入所述上传节点的下载节点数量,则断开所述上传节点与第二数量的下载节点之间的连接,所述第二数量为已接入所述上传节点的下载节点数量与降低后的所述接入上限的差值。
9.根据权利要求8所述的系统,其特征在于,所述资源利用率包括:所述上传节点的网络流量速度、输入输出IO资源占用率和中央处理器CPU占用率,所述上传节点,具体用于:
若所述上传节点的网络流量速度大于或等于网络流量速度峰值、IO资源占用率大于或等于IO资源阈值、和/或CPU占用率大于或等于CPU占用率阈值,则确定自身的资源利用率大于或等于所述资源利用率阈值;或者,
若所述上传节点的网络流量速度小于所述网络流量速度峰值、IO资源占用率小于所述IO资源阈值、和CPU占用率小于所述CPU占用率阈值,则确定自身的资源利用率小于所述资源利用率阈值。
10.根据权利要求6所述的系统,其特征在于,所述上传节点,还用于:
根据预设时间段内,通过用户数据报协议UDP,向同一下载节点发送数据包时刻和接收同一下载节点回复的确认消息时刻,确定平滑往返时长,所述确认消息为所述下载节点接收到所述上传节点的数据包后,回复的确认消息;
根据所述平滑往返时长,确定所述上传节点与所述下载节点之间的重传超时时长;
在所述上传节点向所述下载节点发送数据包后,若经过所述重传超时时长,未接收到所述下载节点的确认消息,则重新向所述下载节点发送所述数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910567746.3A CN110247983A (zh) | 2019-06-27 | 2019-06-27 | 一种均衡负载方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910567746.3A CN110247983A (zh) | 2019-06-27 | 2019-06-27 | 一种均衡负载方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110247983A true CN110247983A (zh) | 2019-09-17 |
Family
ID=67889918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910567746.3A Pending CN110247983A (zh) | 2019-06-27 | 2019-06-27 | 一种均衡负载方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110247983A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200657A (zh) * | 2020-01-03 | 2020-05-26 | 网宿科技股份有限公司 | 一种管理资源状态信息的方法和资源下载系统 |
US11102289B2 (en) | 2020-01-03 | 2021-08-24 | Wangsu Science & Technology Co., Ltd. | Method for managing resource state information and system for downloading resource |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061356A1 (en) * | 2001-09-24 | 2003-03-27 | Jason James L. | Load balancing in a data delivery system |
CN1691617A (zh) * | 2004-04-21 | 2005-11-02 | 华为技术有限公司 | 在通信系统中进行流量控制的方法 |
CN101127726A (zh) * | 2007-09-27 | 2008-02-20 | 中兴通讯股份有限公司 | 一种基于业务优先级的流量控制方法及其系统 |
US20110258259A1 (en) * | 2008-10-02 | 2011-10-20 | Ray-V Technologies, Ltd. | Dynamic Allocation of a Quota of Consumer Nodes Connecting to a Resource Node of a Peer-to-Peer Network |
CN103973671A (zh) * | 2014-04-09 | 2014-08-06 | 汉柏科技有限公司 | 一种局域网防火墙用户数接入的控制方法及装置 |
CN106255154A (zh) * | 2016-08-03 | 2016-12-21 | 上海斐讯数据通信技术有限公司 | 一种基于资源利用率的负载均衡系统及方法 |
CN106385459A (zh) * | 2016-10-20 | 2017-02-08 | 杭州迪普科技有限公司 | 一种连接请求报文的分配方法及装置 |
CN106886458A (zh) * | 2016-12-27 | 2017-06-23 | 北京奇艺世纪科技有限公司 | 一种集群资源分配方法和装置 |
CN107295090A (zh) * | 2017-06-30 | 2017-10-24 | 北京奇艺世纪科技有限公司 | 一种资源调度的方法和装置 |
-
2019
- 2019-06-27 CN CN201910567746.3A patent/CN110247983A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061356A1 (en) * | 2001-09-24 | 2003-03-27 | Jason James L. | Load balancing in a data delivery system |
CN1691617A (zh) * | 2004-04-21 | 2005-11-02 | 华为技术有限公司 | 在通信系统中进行流量控制的方法 |
CN101127726A (zh) * | 2007-09-27 | 2008-02-20 | 中兴通讯股份有限公司 | 一种基于业务优先级的流量控制方法及其系统 |
US20110258259A1 (en) * | 2008-10-02 | 2011-10-20 | Ray-V Technologies, Ltd. | Dynamic Allocation of a Quota of Consumer Nodes Connecting to a Resource Node of a Peer-to-Peer Network |
CN103973671A (zh) * | 2014-04-09 | 2014-08-06 | 汉柏科技有限公司 | 一种局域网防火墙用户数接入的控制方法及装置 |
CN106255154A (zh) * | 2016-08-03 | 2016-12-21 | 上海斐讯数据通信技术有限公司 | 一种基于资源利用率的负载均衡系统及方法 |
CN106385459A (zh) * | 2016-10-20 | 2017-02-08 | 杭州迪普科技有限公司 | 一种连接请求报文的分配方法及装置 |
CN106886458A (zh) * | 2016-12-27 | 2017-06-23 | 北京奇艺世纪科技有限公司 | 一种集群资源分配方法和装置 |
CN107295090A (zh) * | 2017-06-30 | 2017-10-24 | 北京奇艺世纪科技有限公司 | 一种资源调度的方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200657A (zh) * | 2020-01-03 | 2020-05-26 | 网宿科技股份有限公司 | 一种管理资源状态信息的方法和资源下载系统 |
US11102289B2 (en) | 2020-01-03 | 2021-08-24 | Wangsu Science & Technology Co., Ltd. | Method for managing resource state information and system for downloading resource |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11057287B2 (en) | Systems and methods for setting a rate limit for a computing device | |
US10880226B2 (en) | Scheduled transmission of data | |
JP5767706B2 (ja) | データの送信方法、送信機、受信機、並びにプログラム | |
JP5189974B2 (ja) | 負荷制御装置およびその方法 | |
JP2020502948A (ja) | パケット伝送システムおよび方法 | |
CN106612284B (zh) | 一种流数据的传输方法和装置 | |
WO2008147578A1 (en) | System and/or method for client- driven server load distribution | |
WO2012034856A1 (en) | Client/subscriber rotation for server resiliency | |
Hwang et al. | Deadline and incast aware TCP for cloud data center networks | |
CN110247983A (zh) | 一种均衡负载方法及系统 | |
CN108322836A (zh) | 一种数据传输的方法及装置 | |
CN109995664B (zh) | 一种发送数据流的方法、设备和系统 | |
Olshefski et al. | Understanding the management of client perceived response time | |
CN108156257A (zh) | 一种信息推送方法及装置 | |
CN113014499B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN109618004A (zh) | 一种报文转发方法及装置 | |
KR101540494B1 (ko) | 네트워크 메시지 관리 디바이스 및 그 방법들 | |
CN103916681A (zh) | 一种流媒体内容播放方法、装置及系统 | |
CN101958934B (zh) | 一种电子节目指南增量内容同步方法、装置及系统 | |
CN114024913B (zh) | 一种网络性能优化方法、装置、设备以及存储介质 | |
CN108600308A (zh) | 数据上传方法、装置、存储介质和服务器 | |
CN109587249A (zh) | 信息发送、接收方法、装置、服务器、客户端及存储介质 | |
JP4888653B2 (ja) | トラヒック規制方法、中継システム、中継装置およびプログラム | |
US8806287B1 (en) | Retransmission systems and methods in reliable streaming protocols using connection characteristics | |
JP2017034562A (ja) | 通信装置および再接続方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190917 |