1、业务背景:随着短视频和自媒体平台的急速发展,移动互联网中产生了巨量的信息,CDN(内容分发网络)通过缓存源站点的内容,使用户可以就近、快速地获取所需内容,从而提升用户体验和网站/平台的用户留存率。
2、关键挑战:
数据规模爆炸性增长:自媒体时代,网络数据量呈现爆炸性增长态势,对网络的容量和带宽提出了更高要求。
移动数据需求时空不均匀分布:不同地区、不同时段的用户对数据的需求存在显著差异,可能导致源站负载不均衡。
1、问题定义:在某个通信网络中,为了能将内容快速、低成本地传送到每个用户,需要选择一些网络节点放置内容存储服务器,并决定每个服务器分别向哪些用户分配多大的带宽。
2、决策变量:
如何选择服务器放置的位置。
每个用户与所有服务器之间的网络路径以及路径上占用的带宽。
3、部署要求:
每个消费节点的带宽消耗需求必须被满足。
每个网络节点上最多仅可部署一台服务器。
服务器输出能力有限,其输出总流量不可超出最大输出流量。
每条网络链路上的总流量不能超出该链路的总带宽。
4、业务目标:在满足用户需求的基础上,尽可能地减少总的成本(包括部署成本和带宽租用成本)。
1、基础网络构建:设网络G=(V,E),其中V为节点集合,E为弧集合,每个节点i∈V存在以下关键属性:需求bi(消费节点的需求带宽)、部署成本di(在节点i部署服务器将产生的成本)、输出能力pi(服务器最大能够输出的流量),每条弧(i,j)∈E存在以下关键属性:容量上限ui,j(该条弧允许传输的最大带宽)、单位传输费用ci,j(该条弧单位带宽的费用)、流量fi,j(经过该条弧的总带宽)。
2、数学模型刻画:该问题可以视为一个多源点多汇点的费用流问题,目标函数为最小化总成本(部署成本总和+带宽租用成本总和),同时需要满足流守恒、网络节点最多只能部署一个服务器等约束条件。
| 求解器 | 调用模式 |
| Gurobi | ‘gurobi_cl model.mps’ |
| CPLEX | ‘read model.mps’, ‘optimize’ |
| COPT | ‘copt_cmd -i config.in’ |
| MindOpt | ‘mindopt model.mps’ |
通过对比测试,发现不同求解器在求解时间和解的质量上存在差异,在选择求解器时,需要根据具体问题的规模和复杂度进行权衡。
1、问:如何选择合适的CDN服务器部署位置?
答:选择合适的CDN服务器部署位置需要考虑地理位置、网络带宽、用户规模等多个因素,CDN会根据用户请求的来源地,选择将内容分发到最近的节点,以降低网络延迟,还需要考虑服务器的部署成本、输出能力以及网络链路的容量等因素。
2、问:如何制定合理的缓存策略?
答:制定合理的缓存策略需要考虑缓存内容的选取、缓存时间的设置以及缓存失效机制等因素,可以将热门内容或经常访问的内容缓存到CDN服务器上,以提高访问速度和用户体验,需要根据实际情况调整缓存时间,避免缓存内容过时或失效。