CN112787833B - 内容分发网络cdn服务器的部署方法和装置 - Google Patents
内容分发网络cdn服务器的部署方法和装置 Download PDFInfo
- Publication number
- CN112787833B CN112787833B CN201911079914.0A CN201911079914A CN112787833B CN 112787833 B CN112787833 B CN 112787833B CN 201911079914 A CN201911079914 A CN 201911079914A CN 112787833 B CN112787833 B CN 112787833B
- Authority
- CN
- China
- Prior art keywords
- population
- individual
- fitness value
- cdn server
- deployment
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- 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/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]
Abstract
本公开提供一种CDN服务器的部署方法和装置。部署方法包括:获取部署CDN服务器的多个候选节点、在各个候选节点部署CDN服务器的成本;随机选择在至少一个候选节点部署CDN服务器的部署方案,构建第一种群和第二种群共同的初始种群;分别计算各个个体的第一适应度值和第二适应度值;分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率,并根据遗传概率选择保留到下一代的个体;对第一种群和第二种群中的个体执行交叉操作;设置第一种群和第二种群中各个个体遗传到下一代的变异概率,并使个体根据变异概率进行变异;利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案。
Description
技术领域
本公开涉及人工智能和网络规划领域,特别涉及一种内容分发网络CDN服务器的部署方法和装置。
背景技术
对于静态内容分发,例如视频节目点播,如果用户请求都导向同一个内容服务器,容易因服务器处理能力不足导致处理拥塞,因流量过于集中、传输带宽不足导致的网络拥塞,最终导致对用户请求的响应时间过大,影响用户使用体验。
采用CDN(Content Delivery Network,即内容分发网络)可以很好地解决上述问题。CDN能够实时地根据网络流量和各候选节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务候选节点上,使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
在实施CDN网络扩充、下沉到更接近用户的规划实践中,通常会先根据用户地域分布和网络资源分布设定能够满足用户体验要求的缓存CDN服务器候选节点位置列表。由于成本的限制,以及各个CDN服务器候选节点的成本因服务用户规模不同、处理能力不同而有所不同,因此只能在CDN服务器候选节点列表中选择部分CDN服务器候选节点进行部署。传统的规划方法主要依据优先顺序选择部分CDN服务器候选节点进行部署。
发明内容
发明人发现,对于无法确定优先级的场景,传统规划方法无法获得最优的网络拥塞改善、用户请求响应时间缩短等结果。
据此,本公开提供一种利用遗传算法的CDN服务器的部署方案,能够均衡地兼顾传输负荷改善和响应时间改善的优化。
根据本公开实施例的第一方面,提供一种内容分发网络CDN服务器的部署方法,包括:
获取部署CDN服务器的多个候选节点以及在各个候选节点部署CDN服务器的成本,其中每个候选节点至多部署一个CDN服务器;
随机选择在至少一个候选节点部署CDN服务器的多种部署方案,构建第一种群和第二种群共同的初始种群,其中每种部署方案是一个个体;
分别计算各个个体的第一适应度值和第二适应度值,其中第一适应度值与个体带来的下载传输负荷减轻量正相关,第二适应度值与个体带来的请求响应延时改善量正相关;
根据第一适应度值和第二适应度值,分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率,并根据遗传概率选择保留到下一代的个体;
根据第一适应度值和第二适应度值,对第一种群和第二种群中的个体执行交叉操作;
根据第一适应度值和第二适应度值,设置第一种群和第二种群中各个个体遗传到下一代的变异概率,并使个体根据变异概率进行变异;
利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案。
在一些实施例中,分别计算各个个体的第一适应度值和第二适应度值包括:
分别建立下载传输负荷减轻量的第一目标函数和请求响应延时改善量的第二目标函数;
分别计算各个个体的第一目标函数和第二目标函数;
根据第一目标函数和第二目标函数,分别计算各个个体的第一适应度值和第二适应度值。
其中,i表示候选节点的编号,N表示候选节点的总数,j表示种群中个体或部署方案的编号,M表示预定种群规模或部署方案的总数,dij表示个体j中在第i个候选节点部署CDN服务器所带来的下载传输负荷减轻量,tij表示个体j中在第i个候选节点部署CDN服务器所带来的请求响应延时改善量,i、N、j和M都为正整数,且i≤N,j≤M。
在一些实施例中,分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率包括:
在第一种群中,根据每个个体的第一适应度值与各个个体的第一适应度值的和的比值,确定第一遗传概率;
在第二种群中,根据每个个体的第二适应度值与各个个体的第二适应度值的和的比值,确定第二遗传概率。
在一些实施例中,对第一种群和第二种群中的个体执行交叉操作包括:
将第一适应度值最高的个体作为第一种群的第一精英,将第二适应度值最高的个体作为第二种群的第一精英;
将第一种群的第一精英复制到第二种群作为第二种群的第二精英,替换第二种群中第二适应度值最低的个体;
将第二种群的第一精英复制到第一种群作为第一种群的第二精英,替换第一种群中第一适应度值最低的个体,其中第一种群和第二种群的共同精英将遗传到下一代。
在一些实施例中,设置第一种群和第二种群中各个个体遗传到下一代的变异概率包括:
对于第一种群和第二种群存在共同精英的情况,设置第一变异概率;而对于第一种群和第二种群不存在共同精英的情况,设置第二变异概率,其中第二变异概率小于第一变异概率。
在一些实施例中,利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案,包括:
在执行选择、交叉、变异操作后,判断个体是否满足成本约束条件;
如果是,将该个体保留到下一代;
如果否,重新执行选择、交叉、变异操作。
在一些实施例中,利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案,还包括:
重复执行选择、交叉、变异操作,直到满足终止条件,其中终止条件包括达到预定迭代次数、或者下载传输负荷减轻量与其目标值的差值在第一阈值范围内且请求响应延时改善量与其目标值的差值在第二阈值范围内、或者经连续多次迭代后的下载传输负荷减轻量与迭代前的下载传输负荷减轻量的差值在第三阈值范围内且经连续多次迭代后的请求响应延时改善量与迭代前的请求响应延时改善量的差值在第四阈值范围内。
在一些实施例中,成本约束条件表示为其中,i表示候选节点的编号,N表示候选节点的总数,在第i个候选节点部署CDN服务器的情况下xi=1,而在第i个候选节点不部署CDN服务器的情况下xi=0,si表示在第i个候选节点部署CDN服务器的成本,S表示总成本,i和N都为正整数,且i≤N。
根据本公开实施例的第二方面,提供一种内容分发网络CDN服务器的部署装置,包括:
获取模块,被配置为获取部署CDN服务器的多个候选节点以及在各个候选节点部署CDN服务器的成本,其中每个候选节点至多部署一个CDN服务器;
构建模块,被配置为随机选择在至少一个候选节点部署CDN服务器的多种部署方案,构建第一种群和第二种群共同的初始种群,其中每种部署方案是一个个体;
计算模块,被配置为分别计算各个个体的第一适应度值和第二适应度值,其中第一适应度值与个体带来的下载传输负荷减轻量正相关,第二适应度值与个体带来的请求响应延时改善量正相关;
选择模块,被配置为根据第一适应度值和第二适应度值,分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率,并根据遗传概率选择保留到下一代的个体;
交叉模块,被配置为根据第一适应度值和第二适应度值,对第一种群和第二种群中的个体执行交叉操作;
变异模块,被配置为根据第一适应度值和第二适应度值,设置第一种群和第二种群中各个个体遗传到下一代的变异概率,并使个体根据变异概率进行变异;
确定模块,被配置为利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案。
根据本公开实施例的第三方面,提供一种,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的部署方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上述任一实施例涉及的方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是根据本公开一个实施例的CDN服务器的部署方法的流程示意图;
图2是根据本公开一个实施例的CDN服务器的部署装置的结构示意图;
图3是根据本公开另一个实施例的CDN服务器的部署装置的结构示意图。
应当明白,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。此外,相同或类似的参考标号表示相同或类似的构件。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。对示例性实施例的描述仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。本公开可以以许多不同的形式实现,不限于这里所述的实施例。提供这些实施例是为了使本公开透彻且完整,并且向本领域技术人员充分表达本公开的范围。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、材料的组分和数值应被解释为仅仅是示例性的,而不是作为限制。
本公开中使用的“包括”或者“包含”等类似的词语意指在该词前的要素涵盖在该词后列举的要素,并不排除也涵盖其他要素的可能。
本公开使用的所有术语(包括技术术语或者科学术语)与本公开所属领域的普通技术人员理解的含义相同,除非另外特别定义。还应当理解,在诸如通用字典中定义的术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
遗传算法是一种模拟生物进化的自然选择与自然遗传机制的随机自适应搜索算法,通过模拟生物进化过程来完成多参数、多个体(或多群体)同时优化的方法。由于遗传算法不依赖于问题的具体领域,因而适用于不同领域实际问题的优化求解,通过有限的迭代次数可以获得近似最优解。
使用遗传算法求解CDN服务器的部署方案主要包括以下步骤:首先,建立模型,将部署方案编码为一段染色体,每一个染色体又由若干个基因位(即CDN服务器的候选节点)组成,为了便于实现遗传算法的处理过程,需要对每一代部署方案集中的部署方案进行编码;其次,选择并应用适应度函数决定染色体的优胜劣汰;然后染色体之间互相交叉产生新一代染色体;最后采用变异方式得到新的部署方案;循环进行此过程直到得出最优的部署方案,或者达到设定的迭代循环代次数的近似最优部署方案。
对基因采用二进制编码,二进制编码长度等于CDN服务器的候选节点的数量,“1”表示在候选节点部署CDN服务器,“0”表示不在候选节点部署CDN服务器。
CDN网络可以包括主CDN服务器、分布式缓存CDN服务器、以及连接主CDN服务器和分布式缓存CDN服务器的传输网络。主CDN服务器在处理用户请求时,需要根据用户的地理位置、用户附近缓存CDN服务器的地理位置、以及用户和附近缓存CDN服务器之间传输延时参数,将用户请求导向合适的缓存CDN服务器。因此,部分用户请求会从主CDN服务器获得内容分发服务,其他部分用户请求从分布式缓存CDN服务器获得分发服务。为了简化分析,假设部署缓存CDN服务器覆盖区域的用户请求由其提供内容分发服务,没有部署缓存CDN服务器的区域的用户请求将由主CDN服务器提供内容分发服务。因此,部署缓存CDN服务器和没有部署缓存CDN服务器的区别就是用户请求由缓存CDN服务器提供内容分发服务的还是由主CDN服务器提供内容分发服务的区别。
假设,主CDN服务器和缓存CDN服务器处理用户请求的延时相同,主CDN服务器将用户请求导向缓存CDN服务器访问请求的传输得到优先保障,因而和将用户请求导向主CDN服务器存储相比,增加的传输延时主要和传输距离相关。主CDN服务器到用户的传输距离与主CDN服务器到缓存CDN服务器再到用户的传输距离相差不大,可以忽略。因此,用户请求的响应时间差异主要和因网络拥塞而增加的传输延时相关。当部署缓存CDN服务器后,可以假设全部缓存CDN服务器到其用户的传输不会再发生网络拥塞,传输延时仅和传输距离相关。一个缓存CDN服务器被列入部署列表和没有被列入部署列表,其用户响应时间的差异就等于缓存CDN服务器到用户的传输延时和主CDN服务器到用户的传输延时的差异,因此也就仅和主CDN服务器到用户之间的传输拥塞导致的传输延时相关,而传输拥塞导致的传输延时和缓存CDN服务器的存储能力相关,其数学模型是:缓存CDN服务器的候选节点的成本与传输拥塞导致的传输延时改善量正相关。
因此,CDN服务器部署的最优规划问题,一种表达可以为:在给定的缓存CDN服务器的候选节点列表中选出部分候选节点,使得响应时间整体最优,约束条件是成本。
本公开提供一种基于双种群协同进化遗传算法的CDN服务器的部署方案。
图1是根据本公开一个实施例的CDN服务器的部署方法的流程示意图。在一些实施例中,CDN服务器的部署方法包括步骤101-107。
在步骤101,获取部署CDN服务器的多个候选节点以及在各个候选节点部署CDN服务器的成本。
假设存在N个候选节点,其中一个候选节点可以记为第i个候选节点,其中N和i都为正整数,且i≤N。每个候选节点至多部署一个CDN服务器。在各个候选节点部署CDN服务器的成本可以根据候选节点的位置、CDN服务器的性能等计算。
在步骤102,随机选择在至少一个候选节点部署CDN服务器的多种部署方案,构建第一种群和第二种群共同的初始种群,其中每种部署方案是一个个体。
在至少一个候选节点部署CDN服务器的一种部署方案,作为一个个体,记为第j个个体,种群规模即种群中包括的部署方案的总数记为M,其中j和M都为正整数,且j≤M。
例如,可以选择在编号i为奇数的候选节点部署CDN服务器的部署方案,作为第1个个体(即j=1);选择在编号i为偶数的候选节点部署CDN服务器的部署方案,作为第2个个体(即j=2);……。
在步骤103,分别计算各个个体的第一适应度值和第二适应度值,其中第一适应度值与个体带来的下载传输负荷减轻量正相关,第二适应度值与个体带来的请求响应延时改善量正相关。
在一些实施例中,可以根据不同的目标函数分别计算各个个体的第一适应度值和第二适应度值。
首先,分别建立下载传输负荷减轻量的第一目标函数和请求响应延时改善量的第二目标函数。例如,第一目标函数表示为:第二目标函数表示为:其中,dij表示个体j中在第i个候选节点部署CDN服务器所带来的下载传输负荷减轻量,tij表示个体j中在第i个候选节点部署CDN服务器所带来的请求响应延时改善量。
接着,分别计算各个个体的第一目标函数和第二目标函数。例如,对于步骤102的示例中的第1个个体,第一目标函数表示为对i为奇数的di1求和,第二目标函数表示为对i为奇数的ti1求和。
然后,根据第一目标函数和第二目标函数,分别计算各个个体的第一适应度值和第二适应度值。
在一些实施例中,第一适应度值表示为 第二适应度值表示为其中,w1i和w2i分别表示第一目标函数和第二目标函数的权重系数。权重系数w1i和w2i起到调整、均衡两个目标函数值权重的作用。通过线性加权的适应度函数可以提高全局搜索能力。
权重系数w1i和w2i可以分别随着种群的进化自适应调整。另外,也可以根据部署CDN服务器时的其他部署因素来调整w1i和w2i,以调整两个种群中各自的目标函数的权重。例如,在部署CDN服务器时,将规划扩容传输设备以改善传输拥堵。这种情况下,可以使得请求响应延时改善量的权重大于下载传输负荷减轻量。例如,设置w1i=w2i+Δw,其中Δw大于零,为偏重系数。
在步骤104,根据第一适应度值和第二适应度值,分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率,并根据遗传概率选择保留到下一代的个体。
在一些实施例中,可以根据各自的适应度比例,来分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率。例如,在第一种群中,根据每个个体的第一适应度值与各个个体的第一适应度值的和的比值,确定第一遗传概率;在第二种群中,根据每个个体的第二适应度值与各个个体的第二适应度值的和的比值,确定第二遗传概率。采用双种群并行进化,可以以提高多样性和分布均匀性。
在另一些实施例中,还可以确定出两个种群的共同精英,并使得共同精英遗传到下一代。例如,假设第一种群和第二种群中均包括5个个体,第一种群中适应度值fj(fd,ft)分别为:f1(5,6)、f2(3,4)、f3(7,5)、f4(4,7)、f5(6,1);第二种群中适应度值fj(fd,ft)分别为:f1(5,6)、f2(2,4)、f3(7,5)、f4(4,6)、f5(6,3)。可以看出,两个种群的共同精英为(5,6)和(7,5)。
在步骤105,根据第一适应度值和第二适应度值,对第一种群和第二种群中的个体执行交叉操作。
在一些实施例中,可以根据适应度值的大小,对第一种群和第二种群中的个体执行交叉操作。例如,将第一适应度值最高的个体作为第一种群的第一精英,将第二适应度值最高的个体作为第二种群的第一精英;将第一种群的第一精英复制到第二种群作为第二种群的第二精英,替换第二种群中第二适应度值最低的个体;将第二种群的第一精英复制到第一种群作为第一种群的第二精英,替换第一种群中第一适应度值最低的个体。第一种群和第二种群的共同精英将遗传到下一代。通过双种群保留共同精英,可以发挥优秀基因的作用。采用双种群、双精英保留机制,无需支配分层和拥挤度计算,使得计算更简单。
例如,仍假设第一种群和第二种群中均包括5个个体,第一种群中适应度值fj(fd,ft)分别为:f1(5,6)、f2(3,4)、f3(7,5)、f4(4,7)、f5(6,1);而第二种群中适应度值fj(fd,ft)变为:f1(5,7)、f2(2,4)、f3(7,6)、f4(4,5)、f5(6,3)。可以看出,两个种群不存在共同精英。对两个种群分别按第一适应度值fd和第二适应度值ft进行降序(即从大到小)排列,可以得到表1。从表1可以得到,第一种群中的第一精英为f3(7,5),而第二种群中的第一精英为f1(5,7)。
执行如上所述的交叉操作,即将第一种群中的第一精英f3(7,5)复制到第二种群,替换掉第二适应度值最低的个体f5(6,3),并将第二种群的第一精英f1(5,7)复制到第一种群,替换第一种群中第一适应度值最低的个体f5(6,1),可以得到表2。从表2可以看出,知悉交叉操作后,第一种群和第二种群存在共同精英f3(7,5)和f1(5,7),这些共同精英将遗传到下一代。从表2还可以看到,存在某一适应度值相同但另一适应度值不同的两个个体,例如按第一适应度值fd进行降序排列行中的f1(5,6)和f1(5,7),以及按第二适应度值ft进行降序排列行中的f3(7,5)和f4(4,5)。这种情况下,可以考虑不同的另一适应度值的大小进行排列,得到表3。
f<sub>d</sub>降序排列 | f<sub>3</sub>(7,5) | f<sub>5</sub>(6,1) | f<sub>1</sub>(5,6) | f<sub>4</sub>(4,7) | f<sub>2</sub>(3,4) |
f<sub>t</sub>降序排列 | f<sub>1</sub>(5,7) | f<sub>3</sub>(7,6) | f<sub>4</sub>(4,5) | f<sub>2</sub>(2,4) | f<sub>5</sub>(6,3) |
表1
f<sub>d</sub>降序排列 | f<sub>3</sub>(7,5) | f<sub>5</sub>(6,1) | f<sub>1</sub>(5,6) | f<sub>4</sub>(4,7) | f<sub>1</sub>(5,7) |
f<sub>t</sub>降序排列 | f<sub>1</sub>(5,7) | f<sub>3</sub>(7,6) | f<sub>4</sub>(4,5) | f<sub>2</sub>(2,4) | f<sub>3</sub>(7,5) |
表2
f<sub>d</sub>降序排列 | f<sub>3</sub>(7,5) | f<sub>5</sub>(6,1) | f<sub>1</sub>(5,7) | f<sub>1</sub>(5,6) | f<sub>4</sub>(4,7) |
f<sub>t</sub>降序排列 | f<sub>1</sub>(5,7) | f<sub>3</sub>(7,6) | f<sub>3</sub>(7,5) | f<sub>4</sub>(4,5) | f<sub>2</sub>(2,4) |
表3
在步骤106,根据第一适应度值和第二适应度值,设置第一种群和第二种群中各个个体遗传到下一代的变异概率,并使个体根据变异概率进行变异。
在一些实施例中,可以根据两个种群中个体的差异大小,确定变异概率。对于第一种群和第二种群存在共同精英的情况,设置第一变异概率;而对于第一种群和第二种群不存在共同精英的情况,设置第二变异概率,其中第二变异概率小于第一变异概率。
例如,在迭代开始阶段,如果两个种群没有共同精英,表示个体的差异交大,可以设置较小的变异概率;而当产生共同精英后,表示个体差异较小,则可以设置较大的变异概率,以提高种群的多样性。这样可以克服局部搜索能力的局限性。
在步骤107,利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案。
在一些实施例中,在执行选择、交叉、变异操作后,需要判断个体是否满足成本约束条件。如果是,将该个体保留到下一代;如果否,重新执行选择、交叉、变异操作。
为了成本简化约束条件的检验计算,可以建立不完全门限,即不完全约束条件的上下限。例如,将si从大到小排列,取排列在前的si直到其和最接近S但小于S,其中si的个数为不完全约束条件的下限V1;取排列在后的si直到其和最接近S但小于S,其中si的个数为不完全约束条件的上限V2。然后判断个体是否满足不完全约束条件。例如设个体中xi=1的xi总数(即编码重量)为Q,则判断是否满足V1<Q<V2。如果满足,保留该个体;如果不满足,删除该个体。满足约束条件的个体一定满足V1<Q<V2,但满足V1<Q<V2的个体不一定是可行解。
在另一些实施例中,利用遗传算法还包括:重复执行选择、交叉、变异操作,直到满足终止条件。终止条件包括达到预定迭代次数、或者下载传输负荷减轻量与其目标值的差值在第一阈值范围内且请求响应延时改善量与其目标值的差值在第二阈值范围内、或者经连续多次迭代后的下载传输负荷减轻量与迭代前的下载传输负荷减轻量的差值在第三阈值范围内且经连续多次迭代后的请求响应延时改善量与迭代前的请求响应延时改善量的差值在第四阈值范围内。
图2是根据本公开一个实施例的CDN服务器的部署装置的结构示意图。如图2所示,CDN服务器的部署装置包括获取模块201、构建模块202、计算模块203、选择模块204、交叉模块205、变异模块206、确定模块207。
获取模块201,被配置为获取部署CDN服务器的多个候选节点以及在各个候选节点部署CDN服务器的成本,其中每个候选节点至多部署一个CDN服务器。
构建模块202,被配置为随机选择在至少一个候选节点部署CDN服务器的多种部署方案,构建第一种群和第二种群共同的初始种群,其中每种部署方案是一个个体。
计算模块203,被配置为分别计算各个个体的第一适应度值和第二适应度值,其中第一适应度值与个体带来的下载传输负荷减轻量正相关,第二适应度值与个体带来的请求响应延时改善量正相关。
选择模块204,被配置为根据第一适应度值和第二适应度值,分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率,并根据遗传概率选择保留到下一代的个体。
交叉模块205,被配置为根据第一适应度值和第二适应度值,对第一种群和第二种群中的个体执行交叉操作。
变异模块206,被配置为根据第一适应度值和第二适应度值,设置第一种群和第二种群中各个个体遗传到下一代的变异概率,并使个体根据变异概率进行变异。
确定模块207,被配置为利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案。
图3是根据本公开另一个实施例的CDN服务器的部署装置的结构示意图。如图3所示,该装置包括存储器31和处理器32。
存储器31用于存储指令。处理器32耦合到存储器31。处理器32被配置为基于存储器存储的指令执行实现如图1中任一实施例涉及的部署方法。
如图3所示,该装置还包括通信接口33,用于与其它设备进行信息交互。同时,该装置还包括总线34,处理器32、通信接口33、以及存储器31通过总线34完成相互间的通信。
存储器31可以包含高速RAM(Random Access Memory,随机存取存储器),也可还包括NVM(Non-Volatile Memory,非易失性存储器)。例如至少一个磁盘存储器。存储器31也可以是存储器阵列。存储器31还可能被分块,并且块可按一定的规则组合成虚拟卷。
此外,处理器32可以是一个中央处理器,或者可以是ASIC(Application SpecificIntegrated Circuit,专用集成电路),或者是被配置成实施本公开实施例的一个或多个集成电路。
本公开还提供一种计算机可读存储介质。计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述任一实施例涉及的部署方法。
在一些实施例中,上述功能模块可以实现为用于执行本公开所描述功能的通用处理器、可编程逻辑控制器(Programmable Logic Controller,简称:PLC)、数字信号处理器(Digital Signal Processor,简称:DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称:ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
至此,已经详细描述了本公开的实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
Claims (14)
1.一种内容分发网络CDN服务器的部署方法,包括:
获取部署CDN服务器的多个候选节点以及在各个候选节点部署CDN服务器的成本,其中每个候选节点至多部署一个CDN服务器;
随机选择在至少一个候选节点部署CDN服务器的多种部署方案,构建第一种群和第二种群共同的初始种群,其中每种部署方案是一个个体;
分别计算各个个体的第一适应度值和第二适应度值,
根据第一适应度值和第二适应度值,分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率,并根据遗传概率选择保留到下一代的个体;
根据第一适应度值和第二适应度值,对第一种群和第二种群中的个体执行交叉操作;
根据第一适应度值和第二适应度值,设置第一种群和第二种群中各个个体遗传到下一代的变异概率,并使个体根据变异概率进行变异;
利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案。
2.根据权利要求1所述的部署方法,其中,分别计算各个个体的第一适应度值和第二适应度值包括:
分别建立下载传输负荷减轻量的第一目标函数和请求响应延时改善量的第二目标函数;
分别计算各个个体的第一目标函数和第二目标函数;
根据第一目标函数和第二目标函数,分别计算各个个体的第一适应度值和第二适应度值。
5.根据权利要求1所述的部署方法,其中,分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率包括:
在第一种群中,根据每个个体的第一适应度值与各个个体的第一适应度值的和的比值,确定第一遗传概率;
在第二种群中,根据每个个体的第二适应度值与各个个体的第二适应度值的和的比值,确定第二遗传概率。
6.根据权利要求1所述的部署方法,其中,对第一种群和第二种群中的个体执行交叉操作包括:
将第一适应度值最高的个体作为第一种群的第一精英,将第二适应度值最高的个体作为第二种群的第一精英;
将第一种群的第一精英复制到第二种群作为第二种群的第二精英,替换第二种群中第二适应度值最低的个体;
将第二种群的第一精英复制到第一种群作为第一种群的第二精英,替换第一种群中第一适应度值最低的个体,其中第一种群和第二种群的共同精英将遗传到下一代。
7.根据权利要求6所述的部署方法,其中,设置第一种群和第二种群中各个个体遗传到下一代的变异概率包括:
对于第一种群和第二种群存在共同精英的情况,设置第一变异概率;而对于第一种群和第二种群不存在共同精英的情况,设置第二变异概率,其中第二变异概率小于第一变异概率。
8.根据权利要求1所述的部署方法,其中,利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案,包括:
在执行选择、交叉、变异操作后,判断个体是否满足成本约束条件;
如果是,将该个体保留到下一代;
如果否,重新执行选择、交叉、变异操作。
9.根据权利要求8所述的部署方法,其中,利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案,还包括:
重复执行选择、交叉、变异操作,直到满足终止条件,其中终止条件包括达到预定迭代次数、或者下载传输负荷减轻量与其目标值的差值在第一阈值范围内且请求响应延时改善量与其目标值的差值在第二阈值范围内、或者经连续多次迭代后的下载传输负荷减轻量与迭代前的下载传输负荷减轻量的差值在第三阈值范围内且经连续多次迭代后的请求响应延时改善量与迭代前的请求响应延时改善量的差值在第四阈值范围内。
11.根据权利要求10所述的部署方法,其中,判断个体是否满足成本约束条件包括:
建立成本的不完全约束条件,包括:将si从大到小排列,取排列在前的si直到其和最接近S但小于S,其中si的个数为不完全约束条件的下限V1;取排列在后的si直到其和最接近S但小于S,其中si的个数为不完全约束条件的上限V2;
判断个体是否满足成本的不完全约束条件,包括:判断个体中xi=1的xi总数Q是否满足V1<Q<V2。
12.一种内容分发网络CDN服务器的部署装置,包括:
获取模块,被配置为获取部署CDN服务器的多个候选节点以及在各个候选节点部署CDN服务器的成本,其中每个候选节点至多部署一个CDN服务器;
构建模块,被配置为随机选择在至少一个候选节点部署CDN服务器的多种部署方案,构建第一种群和第二种群共同的初始种群,其中每种部署方案是一个个体;
计算模块,被配置为分别计算各个个体的第一适应度值和第二适应度值,其中第一适应度值与个体带来的下载传输负荷减轻量正相关,第二适应度值与个体带来的请求响应延时改善量正相关;
选择模块,被配置为根据第一适应度值和第二适应度值,分别确定第一种群和第二种群中各个个体被遗传到下一代的遗传概率,并根据遗传概率选择保留到下一代的个体;
交叉模块,被配置为根据第一适应度值和第二适应度值,对第一种群和第二种群中的个体执行交叉操作;
变异模块,被配置为根据第一适应度值和第二适应度值,设置第一种群和第二种群中各个个体遗传到下一代的变异概率,并使个体根据变异概率进行变异;
确定模块,被配置为利用遗传算法,在满足成本约束条件下,确定下载传输负荷减轻量最大且请求响应延时改善量最大的个体,作为CDN服务器的部署方案。
13.一种内容分发网络CDN服务器的部署装置,包括:
存储器,被配置为存储指令;
处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如权利要求1-11中任一项所述的部署方法。
14.一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如权利要求1-11中任一项所述的部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911079914.0A CN112787833B (zh) | 2019-11-07 | 2019-11-07 | 内容分发网络cdn服务器的部署方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911079914.0A CN112787833B (zh) | 2019-11-07 | 2019-11-07 | 内容分发网络cdn服务器的部署方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112787833A CN112787833A (zh) | 2021-05-11 |
CN112787833B true CN112787833B (zh) | 2022-08-12 |
Family
ID=75747719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911079914.0A Active CN112787833B (zh) | 2019-11-07 | 2019-11-07 | 内容分发网络cdn服务器的部署方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112787833B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113993136B (zh) * | 2021-08-04 | 2023-03-21 | 东华大学 | 一种边缘环境下应用服务的冗余部署方法 |
CN115103408B (zh) * | 2022-06-27 | 2024-03-22 | 西安电子科技大学 | 一种面向mec的边缘视频缓存服务器部署规划方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148752A (zh) * | 2010-12-22 | 2011-08-10 | 华为技术有限公司 | 基于内容分发网络的路由实现方法及相关设备、系统 |
WO2016165392A1 (zh) * | 2015-04-17 | 2016-10-20 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
WO2017107127A1 (en) * | 2015-12-24 | 2017-06-29 | Orange | Method and system for optimisation of virtual network functions under network function virtualisation environment |
CN107679750A (zh) * | 2017-09-30 | 2018-02-09 | 桂林电子科技大学 | 一种基于自适应系数遗传算法的云制造服务资源匹配方法 |
CN110225096A (zh) * | 2019-05-20 | 2019-09-10 | 电子科技大学 | 基于遗传算法的服务器负载均衡方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957200B2 (en) * | 2001-04-06 | 2005-10-18 | Honeywell International, Inc. | Genotic algorithm optimization method and network |
-
2019
- 2019-11-07 CN CN201911079914.0A patent/CN112787833B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148752A (zh) * | 2010-12-22 | 2011-08-10 | 华为技术有限公司 | 基于内容分发网络的路由实现方法及相关设备、系统 |
WO2016165392A1 (zh) * | 2015-04-17 | 2016-10-20 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
WO2017107127A1 (en) * | 2015-12-24 | 2017-06-29 | Orange | Method and system for optimisation of virtual network functions under network function virtualisation environment |
CN107679750A (zh) * | 2017-09-30 | 2018-02-09 | 桂林电子科技大学 | 一种基于自适应系数遗传算法的云制造服务资源匹配方法 |
CN110225096A (zh) * | 2019-05-20 | 2019-09-10 | 电子科技大学 | 基于遗传算法的服务器负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112787833A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714263B (zh) | 一种在卫星通信网络中的路径选择方法及装置 | |
CN108573326B (zh) | 基于遗传蚁群混合算法的视频服务器选址方法 | |
CN112787833B (zh) | 内容分发网络cdn服务器的部署方法和装置 | |
CN110995619B (zh) | 一种服务质量感知的虚拟网络映射方法和装置 | |
Mi et al. | Embedding virtual infrastructure based on genetic algorithm | |
CN115242295B (zh) | 一种卫星网络sdn多控制器部署方法及系统 | |
CN109347657B (zh) | Sdn模式下支撑科技业务的虚拟数据域构建方法 | |
CN103281374A (zh) | 一种云存储中数据快速调度的方法 | |
CN108809860B (zh) | 基于业务可靠性的网络节点资源分配方法 | |
CN113472671B (zh) | 组播路由的确定方法、装置和计算机可读存储介质 | |
CN113191619A (zh) | 一种应急救援物资分配及车辆调度动态优化方法 | |
CN111885493A (zh) | 一种基于改进布谷鸟搜索算法的微云部署方法 | |
CN113365229B (zh) | 一种多联盟链共识算法的网络时延优化方法 | |
CN108400935B (zh) | 一种基于遗传算法的业务路径选择方法、装置及电子设备 | |
CN111885551B (zh) | 基于边云协同模式的多移动社交网络中高影响力用户的选择和分配机制 | |
CN109889573B (zh) | 混合云中基于ngsa多目标的副本放置方法 | |
Gódor et al. | Cost-optimal topology planning of hierarchical access networks | |
Li et al. | Genetic algorithm for spanning tree construction in P2P distributed interactive applications | |
CN111047040A (zh) | 基于IFPA算法的Web服务组合方法 | |
CN108809728B (zh) | 内容分发网络数据转发方法和内容分发网络数据转发系统 | |
CN113285832B (zh) | 基于nsga-ii的电力多模态网络资源优化分配方法 | |
Zarrinpoor | An exploration of evolutionary algorithms for a bi-objective competitive facility location problem in congested systems | |
CN116932199A (zh) | 云渲染方法、系统、装置、设备以及计算机存储介质 | |
CN109379413A (zh) | 用户贡献值的获取方法、装置及存储介质 | |
Alhihi et al. | Operating task redistribution in hyperconverged networks |
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 |