CN112532665A - 一种服务器负载均衡的方法、装置及cdn节点 - Google Patents
一种服务器负载均衡的方法、装置及cdn节点 Download PDFInfo
- Publication number
- CN112532665A CN112532665A CN201910881892.3A CN201910881892A CN112532665A CN 112532665 A CN112532665 A CN 112532665A CN 201910881892 A CN201910881892 A CN 201910881892A CN 112532665 A CN112532665 A CN 112532665A
- Authority
- CN
- China
- Prior art keywords
- server
- load information
- bandwidth
- weight
- ith
- 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 31
- 230000015556 catabolic process Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种服务器负载均衡的方法、装置及CDN节点,其中该方法应用于包括n个异构服务器的内容分发网络CDN节点,包括:获取所述n个异构服务器各自的负载信息,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;根据所述n个异构服务器各自的负载信息进行负载均衡。如此,能够防止节点内单点服务器宕机造成的雪崩效应,充分发挥各台服务器的性能。
Description
技术领域
本发明实施例涉及但不限于内容分发网络(CDN,Content Delivery Network)技术,更具体地涉及一种服务器负载均衡的方法、装置及CDN节点。
背景技术
为了最大化的利用服务器资源,提高服务器整体的吞吐量,如图1所示,一个节点中通常会设置有一个负载均衡模块(Load Balance)负责调度节点内各个服务器的资源,一般选择当前负载最轻的服务器去提供服务,
随着业务量和用户量的增多,节点扩容已经成为了一个不可绕开的操作,但是在扩容新的服务器时,原有的设备类型可能已经停产,因此就要求节点的负载均衡模块在面对各种磁盘容量不同、带宽不同、CPU(中央处理器,central processing unit))处理能力不同的服务器时仍然能够发挥作用,尽量最大化的利用所有的服务器资源。
对于相同型号的服务器组成的节点,由于节点管理的各个服务器的硬件配置都相同,因此在做负载均衡时可以保证各服务器使用的资源都是相同的,这就如同往几个相同容积的杯子里面加水,只要保证每个杯子里面加同样的水,就不会出现某个杯子的水很快灌满溢出。
对于异构节点,即多台不同性能服务器共同组成的内容分发网络节点(异构)的场景下,Load Balance能够保证平均使用各台服务器的资源,但是由于各台服务器硬件不同,总会有服务器率先达到性能瓶颈(磁盘IO、磁盘空间、CPU、网口带宽等),一旦达到瓶颈LoadBalance就不会继续向这台服务器调度内容,这样会出现下面的情况:(1)某台服务器率先达到性能瓶颈,有可能引发宕机;(2)少了一台服务器的性能,那么多出来的性能消耗就需要其他服务器来共同分担,会加剧其他服务器的负担,这样就会造成第二台服务器达到性能瓶颈引发宕机,然后是第三台、第四台...这是一个连锁反应,最后造成很大的损失。
发明内容
有鉴于此,本发明实施例提供了一种服务器负载均衡的方法,应用于包括n个异构服务器的内容分发网络CDN节点,包括:
获取所述n个异构服务器各自的负载信息,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;
根据所述n个异构服务器各自的负载信息进行负载均衡。
本发明实施例还提供了一种服务器负载均衡的装置,应用于包括n个异构服务器的内容分发网络CDN节点,包括:
获取单元,用于获取所述n个异构服务器各自的负载信息,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;
负载均衡单元,用于根据所述n个异构服务器各自的负载信息进行负载均衡。
本发明实施例还提供了一种内容分发网络CDN节点,包括:n个异构服务器;
每一服务器上设置有获取模块,其中一个服务器上设置有负载均衡模块;
每一个获取模块,用于获取对应服务器的负载信息,并将获取的负载信息发送给所述负载均衡模块;
其中,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;
所述负载均衡模块,用于根据所述n个异构服务器各自的负载信息进行负载均衡。
本发明实施例提供的技术方案,能够防止节点内单点服务器宕机造成的雪崩效应,充分发挥各台服务器的性能。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为现有服务器负载均衡的结构示意图;
图2为本发明一实施例提供的一种服务器负载均衡的方法的流程示意图;
图3为本发明另一实施例提供的一种服务器负载均衡的方法的流程示意图;
图4为本发明另一实施例提供的一种服务器负载均衡的方法的流程示意图;
图5为本发明另一实施例提供的一种服务器负载均衡的方法的流程示意图;
图6为本发明一实施例中不频道类型和码率权重映射关系的示例图;
图7为本发明一实施例中不同类型设备的最大频道数和最大频道入向带宽的示例图;
图8为本发明一实施例提供的一种服务器负载均衡的装置的结构示意图;
图9为本发明一实施例提供的一种内容分发网络CDN节点的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2为本发明一实施例提供的一种服务器负载均衡的方法的流程示意图,如图2所示,该方法包括:
步骤201,获取所述n个异构服务器各自的负载信息,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;
步骤202,根据所述n个异构服务器各自的负载信息进行负载均衡。
其中,所述获取所述n个异构服务器各自的负载信息,包括:
使用du命令获取每一个服务器中磁盘已使用空间,将每一个服务器的总磁盘空间减去已使用空间,得到对应的剩余磁盘空间space;
使用iostat命令获取每一个服务器中磁盘IO使用率;
使用dstat命令获取每一个服务器的可用带宽bandwidth。
其中,所述根据所述n个异构服务器各自的负载信息进行负载均衡,包括:
当需要进行内容缓存时,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容缓存性能权重;
选择内容缓存性能权重最大的服务器进行内容缓存。
其中,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的内容缓存性能权重,包括:
根据如下公式计算每一个服务器的内容缓存性能权重:
Weighti=a·WSi+b·WIOi+c·WBi;
其中,Weighti表示第i个服务器的内容缓存性能权重,WSi表示第i个服务器的空间权重,WIOi表示第i个服务器的IO权重,WBi表示第i个服务器的带宽权重;
spacei表示第i个服务器的剩余磁盘空间,ioi表示第i个服务器的剩余磁盘输入输出IO,bandwidthi表示第i个服务器的可用带宽;i为大于等于1小于等于n的整数;权重因子a、b、c分别表示剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度。
其中,所述根据所述n个异构服务器各自的负载信息进行负载均衡,包括:
当需要进行文件发包时,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容读取剩余能力;
选择内容读取剩余能力最大的服务器进行文件发包。
其中,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的内容读取剩余能力,包括:
根据如下公式计算每一个服务器的内容读取剩余能力:
Weighti=d·WIOi+e·WBi;
其中,Weighti表示第i个服务器的内容读取剩余能力,WIOi表示第i个服务器的IO权重,WBi表示第i个服务器的带宽权重,
ioi表示第i个服务器的剩余磁盘输入输出IO,bandwidthi表示第i个服务器的可用带宽;i为大于等于1小于等于n的整数;权重因子d、e分别表示剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度。
其中,所述根据所述n个异构服务器各自的负载信息进行负载均衡,包括:
当需要创建新频道时,根据所述n个异构服务器各自的负载信息计算每一个服务器的入向带宽百分比;
选择入向带宽百分比最小的服务器创建所述新频道。
其中,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的入向带宽百分比,包括:
根据如下公式计算每一个服务器的入向带宽百分比:
inbandratei=(curInbandwidthi+inbandwidth)/mInbandwidthi
其中,inbandratei表示第i个服务器的入向带宽百分比,curInbandwidthi表示第i个服务器的当前入向带宽,inbandwidth表示新建频道需要占用的入向带宽,mInbandwidthi表示第i个服务器的最大入向带宽。
图3为本发明另一实施例提供的一种服务器负载均衡的方法的流程示意图。
服务器目前主要的功能有诸如内容缓存、内容读取、网络收包和网络发包等等,这是目前各个公司在服务器应用领域普遍需要使用到的功能。
本实施例应用于需要进行内容缓存的场景。内容缓存即利用网络技术从其他服务器上拉取文件到本服务器上,并使用文件系统将拉取到的文件存储在本服务器的磁盘上,文件格式根据服务器上承载的业务不同而不同。在内容缓存过程中,都需要使用到服务器的带宽、磁盘IO、磁盘空间等资源。
假设本实施例中,CDN节点中包括n个异构服务器;
如图3所示,该方法包括:
步骤301,获取所述n个异构服务器各自的负载信息;
其中,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth。
其中,可以使用du命令获取磁盘已使用空间,使用iostat命令获取磁盘IO使用率,使用dstat命令获取服务器带宽。
具体命令行示意如下:
其中,du命令行中,第二列是目录的名称,第一列是这个目录占用磁盘空间的大小(单位:Byte)。iostat命令行中,最后一列,表示磁盘的使用率(单位:%)。dstat命令行中,send列表示当前出向带宽(单位:Byte),recv列表示当前入向带宽(单位:Byte),需要将send和recv相加表示当前已使用的带宽;每一行表示从当前时间开始每一秒服务器此时的send和recv。
步骤302,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容缓存性能权重;
其中,可以根据如下公式计算每一个服务器的内容缓存性能权重:
Weighti=a·WSi+b·WIOi+c·WBi;
其中,Weighti表示第i个服务器的内容缓存性能权重,WSi表示第i个服务器的空间权重,WIOi表示第i个服务器的IO权重,WBi表示第i个服务器的带宽权重;
spacei表示第i个服务器的剩余磁盘空间,ioi表示第i个服务器的剩余磁盘输入输出IO,bandwidthi表示第i个服务器的可用带宽;i为大于等于1小于等于n的整数;权重因子a、b、c分别表示剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度。
步骤303,选择内容缓存性能权重最大的服务器进行内容缓存。
其中,可以根据各个服务器的内容缓存性能权重Weight来选择一个内容缓存性能权重最大的服务器缓存内容。
具体而言,可以在CDN节点中的每一个服务器上设置获取模块,其中一个服务器上设置负载均衡模块。各服务器上的获取模块可以定时获取本服务器的负载信息并发送给负载均衡模块,由负载均衡模块计算各个服务器的内容缓存性能权重。例如,假设当前节点下管理了n台服务器(ZMSS)。spacei表示第i台服务器的剩余空间(1≤i≤n)。ioi表示第i台服务器的剩余IO,bandwidthi表示第i台服务器的可用带宽。
设置三个权重因子a、b、c分别表示剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度,则服务器i的内容缓存性能权重是Weighti=a·WSi+b·WIOi+c·WBi。然后由负载均衡策略根据各个服务器的Weight来选择一个内容缓存性能权重最大的服务器缓存内容。
图4为本发明另一实施例提供的一种服务器负载均衡的方法的流程示意图。
服务器目前主要的功能有诸如内容缓存、内容读取、网络收包和网络发包等等,这是目前各个公司在服务器应用领域普遍需要使用到的功能。
本实施例应用于需要进行文件发包的场景。文件发包即读取本服务器磁盘上的文件,并利用网络发送出去,发送出去网络包可以是流式的,也可以是小文件形式的。在文件读取过程中需要占用磁盘IO,带宽等资源。
假设本实施例中,CDN节点中包括n个异构服务器;
如图4所示,该方法包括:
步骤401,获取所述n个异构服务器各自的负载信息;
其中,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth。
具体而言,可以使用du命令获取磁盘已使用空间,使用iostat命令获取磁盘IO使用率,使用dstat命令获取服务器带宽。
具体命令行见上一实施例。
步骤402,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容读取剩余能力;
其中,可以根据如下公式计算每一个服务器的内容读取剩余能力:
Weighti=d·WIOi+e·WBi;
其中,Weighti表示第i个服务器的内容读取剩余能力,WIOi表示第i个服务器的IO权重,WBi表示第i个服务器的带宽权重,
ioi表示第i个服务器的剩余磁盘输入输出IO,bandwidthi表示第i个服务器的可用带宽;i为大于等于1小于等于n的整数;权重因子d、e分别表示剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度。
步骤403,选择内容读取剩余能力最大的服务器进行文件发包。
具体而言,可以在CDN节点中的每一个服务器上设置获取模块,其中一个服务器上设置负载均衡模块。各服务器上的获取模块可以定时获取本服务器的负载信息并发送给负载均衡模块,由负载均衡模块计算各个服务器的内容读取剩余能力,选择内容读取剩余能力最大的服务器进行文件发包。
图5为本发明另一实施例提供的一种服务器负载均衡的方法的流程示意图。
服务器目前主要的功能有诸如内容缓存、内容读取、网络收包和网络发包等等,这是目前各个公司在服务器应用领域普遍需要使用到的功能。
本实施例应用于需要创建新频道的场景。网络收包和网络发包,即服务器从其他服务器上接收网络包,请过处理后直接发送出去。这种场景最直接的引用在音视频频道直播的场景,服务器需要使用到带宽、CPU等资源。
假设本实施例中,CDN节点中包括n个异构服务器;
如图5所示,该方法包括:
如图5所示,该方法包括:
步骤501,获取所述n个异构服务器各自的负载信息;
其中,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth。
具体而言,可以使用du命令获取磁盘已使用空间,使用iostat命令获取磁盘IO使用率,使用dstat命令获取服务器带宽。
具体命令行见上一实施例。
步骤502,根据所述n个异构服务器各自的负载信息计算每一个服务器的入向带宽百分比;
其中,可以根据如下公式计算每一个服务器的入向带宽百分比:
inbandratei=(curInbandwidthi+inbandwidth)/mInbandwidthi;
其中,inbandratei表示第i个服务器的入向带宽百分比,curInbandwidthi表示第i个服务器的当前入向带宽,inbandwidth表示新建频道需要占用的入向带宽,mInbandwidthi表示第i个服务器的最大入向带宽。
其中,服务器可以根据新建频道接收码流的码率信息以及频道类型计算出新频道实际需要占用的入向带宽inbandwidth。频道类型和码率权重可以根据服务器类型做一个映射关系,例如图6所示。
其中,服务器的最大入向带宽mInbandwidth可以根据服务器的服务器类型以及预设的服务器类型和频道资源对照表确定。例如,不同类型设备最大入向带宽mInbandwidth可以进行预先配置,如图7所示。
步骤503,选择入向带宽百分比最小的服务器创建所述新频道。
具体而言,可以在CDN节点中的每一个服务器上设置获取模块,其中一个服务器上设置负载均衡模块。各服务器上的获取模块可以定时获取本服务器的负载信息并发送给负载均衡模块,由负载均衡模块计算各个服务器的入向带宽,根据各服务器的占用带宽百分比取最小的服务器进行频道创建。例如,假设需要新建频道的码率是codespeed(kbps),根据频道类型码率权重是factor,根据频道类型的不同新建频道时需要占用的入向带宽inbandwidth(kbps)如下inbandwidth=codespeed*factor。
假设当前节点下有n台服务器,第i台服务器(1≤i≤n)查找配置表得到最大入向带宽为mInbandwidthi,当前入向带宽为curInbandwidthi,则它的入向带宽百分比inbandratei=(curInbandwidthi+inbandwidth)/mInbandwidthi。负载均衡模块依次获取所有节点下挂服务器的inbandrate,选取最小inbandrate的服务器创建频道。
图8为本发明一实施例提供的一种服务器负载均衡的装置的结构示意图,如图8所示,该装置包括:
获取单元,用于获取所述n个异构服务器各自的负载信息,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;
负载均衡单元,用于根据所述n个异构服务器各自的负载信息进行负载均衡。
其中,所述获取单元,具体用于使用du命令获取每一个服务器中磁盘已使用空间,将每一个服务器的总磁盘空间减去已使用空间,得到对应的剩余磁盘空间space;
使用iostat命令获取每一个服务器中磁盘IO使用率;
使用dstat命令获取每一个服务器的可用带宽bandwidth。
其中,所负载均衡单元,具体用于当需要进行内容缓存时,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容缓存性能权重;
选择内容缓存性能权重最大的服务器进行内容缓存。
其中,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的内容缓存性能权重,包括:
根据如下公式计算每一个服务器的内容缓存性能权重:
Weighti=a·WSi+b·WIOi+c·WBi;
其中,Weighti表示第i个服务器的内容缓存性能权重,WSi表示第i个服务器的空间权重,WIOi表示第i个服务器的IO权重,WBi表示第i个服务器的带宽权重;
spacei表示第i个服务器的剩余磁盘空间,ioi表示第i个服务器的剩余磁盘输入输出IO,bandwidthi表示第i个服务器的可用带宽;i为大于等于1小于等于n的整数;权重因子a、b、c分别表示剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度。
其中,所负载均衡单元,具体用于当需要进行文件发包时,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容读取剩余能力;
选择内容读取剩余能力最大的服务器进行文件发包。
其中,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的内容读取剩余能力,包括:
根据如下公式计算每一个服务器的内容读取剩余能力:
Weighti=d·WIOi+e·WBi;
其中,Weighti表示第i个服务器的内容读取剩余能力,WIOi表示第i个服务器的IO权重,WBi表示第i个服务器的带宽权重,
ioi表示第i个服务器的剩余磁盘输入输出IO,bandwidthi表示第i个服务器的可用带宽;i为大于等于1小于等于n的整数;权重因子d、e分别表示剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度。
其中,所负载均衡单元,具体用于当需要创建新频道时,根据所述n个异构服务器各自的负载信息计算每一个服务器的入向带宽;
选择入向带宽最小的服务器创建所述新频道。
其中,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的入向带宽百分比,包括:
根据如下公式计算每一个服务器的入向带宽百分比:
inbandratei=(curInbandwidthi+inbandwidth)/mInbandwidthi;
其中,inbandratei表示第i个服务器的入向带宽,curInbandwidthi表示第i个服务器的当前入向带宽,mInbandwidthi表示第i个服务器的最大入向带宽。
图9为本发明一实施例提供的一种内容分发网络CDN节点的结构示意图,如图9所示,该CDN节点包括:n个异构服务器;
每一服务器上设置有获取模块,其中一个服务器上设置有负载均衡模块;
每一个获取模块,用于获取对应服务器的负载信息,并将获取的负载信息发送给所述负载均衡模块;
其中,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;
所述负载均衡模块,用于根据所述n个异构服务器各自的负载信息进行负载均衡。
其中,所述获取模块,具体用于使用du命令获取对应服务器中磁盘已使用空间,将对应服务器的总磁盘空间减去已使用空间,得到对应的剩余磁盘空间space;
使用iostat命令获取对应服务器中磁盘IO使用率;
使用dstat命令获取对应服务器的可用带宽bandwidth。
其中,所负载均衡模块,具体用于当需要进行内容缓存时,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容缓存性能权重;
选择内容缓存性能权重最大的服务器进行内容缓存。
其中,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的内容缓存性能权重,包括:
根据如下公式计算每一个服务器的内容缓存性能权重:
Weighti=a·WSi+b·WIOi+c·WBi;
其中,Weighti表示第i个服务器的内容缓存性能权重,WSi表示第i个服务器的空间权重,WIOi表示第i个服务器的IO权重,WBi表示第i个服务器的带宽权重;
spacei表示第i个服务器的剩余磁盘空间,ioi表示第i个服务器的剩余磁盘输入输出IO,bandwidthi表示第i个服务器的可用带宽;i为大于等于1小于等于n的整数;权重因子a、b、c分别表示剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度。
其中,所负载均衡模块,具体用于当需要进行文件发包时,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容读取剩余能力;
选择内容读取剩余能力最大的服务器进行文件发包。
其中,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的内容读取剩余能力,包括:
根据如下公式计算每一个服务器的内容读取剩余能力:
Weighti=d·WIOi+e·WBi;
其中,Weighti表示第i个服务器的内容读取剩余能力,WIOi表示第i个服务器的IO权重,WBi表示第i个服务器的带宽权重,
ioi表示第i个服务器的剩余磁盘输入输出IO,bandwidthi表示第i个服务器的可用带宽;i为大于等于1小于等于n的整数;权重因子d、e分别表示剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度。
其中,所负载均衡模块,具体用于当需要创建新频道时,根据所述n个异构服务器各自的负载信息计算每一个服务器的入向带宽百分比;
选择入向带宽百分比最小的服务器创建所述新频道。
其中,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的入向带宽百分比,包括:
根据如下公式计算每一个服务器的入向带宽百分比:
inbandratei=(curInbandwidthi+inbandwidth)/mInbandwidthi;
其中,inbandratei表示第i个服务器的入向带宽,curInbandwidthi表示第i个服务器的当前入向带宽,mInbandwidthi表示第i个服务器的最大入向带宽。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种服务器负载均衡的方法,应用于包括n个异构服务器的内容分发网络CDN节点,包括:
获取所述n个异构服务器各自的负载信息,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;
根据所述n个异构服务器各自的负载信息进行负载均衡。
2.根据权利要求1所述的方法,其特征在于,所述获取所述n个异构服务器各自的负载信息,包括:
使用du命令获取每一个服务器中磁盘已使用空间,将每一个服务器的总磁盘空间减去已使用空间,得到对应的剩余磁盘空间space;
使用iostat命令获取每一个服务器中磁盘IO使用率;
使用dstat命令获取每一个服务器的可用带宽bandwidth。
3.根据权利要求1所述的方法,其特征在于,所述根据所述n个异构服务器各自的负载信息进行负载均衡,包括:
当需要进行内容缓存时,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容缓存性能权重;
选择内容缓存性能权重最大的服务器进行内容缓存。
4.根据权利要求1所述的方法,其特征在于,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的内容缓存性能权重,包括:
根据如下公式计算每一个服务器的内容缓存性能权重:
Weighti=a·WSi+b·WIOi+c·WBi;
其中,Weighti表示第i个服务器的内容缓存性能权重,WSi表示第i个服务器的空间权重,WIOi表示第i个服务器的IO权重,WBi表示第i个服务器的带宽权重;
spacei表示第i个服务器的剩余磁盘空间,ioi表示第i个服务器的剩余磁盘输入输出IO,bandwidthi表示第i个服务器的可用带宽;i为大于等于1小于等于n的整数;权重因子a、b、c分别表示剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth对服务器性能的影响度。
5.根据权利要求1所述的方法,其特征在于,所述根据所述n个异构服务器各自的负载信息进行负载均衡,包括:
当需要进行文件发包时,根据所述n个异构服务器各自的负载信息计算每一个服务器的内容读取剩余能力;
选择内容读取剩余能力最大的服务器进行文件发包。
7.根据权利要求1所述的方法,其特征在于,所述根据所述n个异构服务器各自的负载信息进行负载均衡,包括:
当需要创建新频道时,根据所述n个异构服务器各自的负载信息计算每一个服务器的入向带宽百分比;
选择入向带宽百分比最小的服务器创建所述新频道。
8.根据权利要求7所述的方法,其特征在于,所述根据所述n个异构服务器各自的负载信息计算每一个服务器的入向带宽百分比,包括:
根据如下公式计算每一个服务器的入向带宽百分比:
inbandratei=(curInbandwidthi+inbandwidth)/mInbandwidthi
其中,inbandratei表示第i个服务器的入向带宽百分比,curInbandwidthi表示第i个服务器的当前入向带宽,inbandwidth表示新建频道需要占用的入向带宽,mInbandwidthi表示第i个服务器的最大入向带宽。
9.一种服务器负载均衡的装置,其特征在于,应用于包括n个异构服务器的内容分发网络CDN节点,包括:
获取单元,用于获取所述n个异构服务器各自的负载信息,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;
负载均衡单元,用于根据所述n个异构服务器各自的负载信息进行负载均衡。
10.一种内容分发网络CDN节点,其特征在于,包括:n个异构服务器;
每一服务器上设置有获取模块,其中一个服务器上设置有负载均衡模块;
每一个获取模块,用于获取对应服务器的负载信息,并将获取的负载信息发送给所述负载均衡模块;
其中,所述负载信息包括剩余磁盘空间space、剩余磁盘输入输出IO、可用带宽bandwidth;
所述负载均衡模块,用于根据所述n个异构服务器各自的负载信息进行负载均衡。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910881892.3A CN112532665A (zh) | 2019-09-18 | 2019-09-18 | 一种服务器负载均衡的方法、装置及cdn节点 |
PCT/CN2020/113598 WO2021052199A1 (zh) | 2019-09-18 | 2020-09-04 | 一种服务器负载均衡的方法、装置及cdn节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910881892.3A CN112532665A (zh) | 2019-09-18 | 2019-09-18 | 一种服务器负载均衡的方法、装置及cdn节点 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112532665A true CN112532665A (zh) | 2021-03-19 |
Family
ID=74883886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910881892.3A Pending CN112532665A (zh) | 2019-09-18 | 2019-09-18 | 一种服务器负载均衡的方法、装置及cdn节点 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112532665A (zh) |
WO (1) | WO2021052199A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500551B (zh) * | 2021-12-31 | 2024-04-05 | 杭州未名信科科技有限公司 | 边缘计算传输负载均衡方法、装置、设备及存储介质 |
CN114567637A (zh) * | 2022-03-01 | 2022-05-31 | 浪潮云信息技术股份公司 | 一种智能设置负载均衡后端服务器权重的方法及系统 |
CN116450054B (zh) * | 2023-06-16 | 2023-09-26 | 成都泛联智存科技有限公司 | Io请求处理方法、装置、主机和计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546775B (zh) * | 2011-12-27 | 2015-05-20 | 中兴通讯股份有限公司 | 一种cdn中的节点及其自组网方法 |
CN104168332A (zh) * | 2014-09-01 | 2014-11-26 | 广东电网公司信息中心 | 高性能计算中负载均衡与节点状态监控方法 |
EP3270536B1 (en) * | 2016-07-14 | 2019-03-06 | Huawei Technologies Co., Ltd. | Sdn controller and method for task scheduling, resource provisioning and service providing |
CN107196869B (zh) * | 2017-07-14 | 2019-11-15 | 北京知道创宇信息技术股份有限公司 | 基于主机实际负载的自适应负载均衡方法、设备和系统 |
-
2019
- 2019-09-18 CN CN201910881892.3A patent/CN112532665A/zh active Pending
-
2020
- 2020-09-04 WO PCT/CN2020/113598 patent/WO2021052199A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021052199A1 (zh) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6228141B2 (ja) | 仮想パイプ内のマルチメディアストリームによって使用されるネットワークリソースを管理する方法及び装置 | |
CN112218100B (zh) | 内容分发网络、数据处理方法、装置、设备及存储介质 | |
US10848433B2 (en) | Method for distributing available bandwidth of a network amongst ongoing traffic sessions run by devices of the network, corresponding device | |
KR100988177B1 (ko) | 품질 및 레이트 정보에 기초하여 멀티미디어 콘텐츠를 리사이징하기 위한 방법 및 시스템 | |
CN112532665A (zh) | 一种服务器负载均衡的方法、装置及cdn节点 | |
US10680911B2 (en) | Quality of experience based network resource management | |
EP0923248A2 (en) | Multimedia server | |
US7496367B1 (en) | Method of multi-carrier traffic allocation for wireless communication system | |
RU2571732C2 (ru) | Управляющее устройство и способ управления передачей потока видеоданных по сети на сетевое пользовательское устройство | |
CN108965884B (zh) | 一种转码任务的分配方法及调度设备、转码设备 | |
CN105122819A (zh) | 用于在广播系统中管理动态队列的方法和设备 | |
US11838574B2 (en) | Content distribution system | |
US20140298394A1 (en) | Image processing device, image processing method, and computer program | |
KR20150025484A (ko) | 복수개의 네트워크 인터페이스들을 이용하여 데이터를 수신하기 위한 방법 및 장치 | |
CN112911708A (zh) | 资源分配方法、服务器及存储介质 | |
KR101451956B1 (ko) | 클라우드 서비스 시스템, 클라우드 서비스 장치 및 이를 이용한 방법 | |
CN101997720B (zh) | 跨区域监控流量点播的方法及视频管理服务器 | |
CN113676510A (zh) | 一种云存储方法、系统、设备及存储介质 | |
KR20180110353A (ko) | 저장 장치 활용 기지국의 저장 용량 및 백홀 사용량 최적화 방법 및 송신 장치 | |
CN107276786B (zh) | 一种基于wlan的无线限速方法及系统 | |
CN113315945B (zh) | 分布式视频会议系统的终端接入方法 | |
JP6247782B1 (ja) | 端末装置、映像配信システムおよび映像配信方法 | |
CN118158138A (zh) | 数据分发控制方法、装置、服务器及存储介质 | |
CN116846915A (zh) | 一种数据处理方法 | |
CN116846836A (zh) | 链路负载的调节方法和装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210319 |