一种多CDN辅助的多层云的直播分发系统的制作方法

文档序号:11710238阅读:227来源:国知局
一种多CDN辅助的多层云的直播分发系统的制作方法与工艺

本发明涉及直播流媒体分发领域,更具体地,涉及一种多cdn辅助的多层云的直播分发系统。



背景技术:

随着直播越来越受欢迎,目前越来越多的企业开始提供或使用直播服务。直播服务主要由四个部分组成:主播直播的推流、直播平台的流处理、直播流的分发以及直播在观众端的播放。早期直播平台一般由自己购买资源处理主播直播的推流和流处理两大部分;随着云计算的兴起,由于其弹性资源分配和按需付费的特性,越来越多直播服务提供商(lssp/livestreamingserviceprovider)使用云服务提供商提供的云服务来搭建直播平台,节约了大量直播流媒体服务器的开销。而直播流的分发一般会交由第三方cdn去解决。然而由于观众对于直播需求的复杂性(短期趋势难以预测)、整个网络系统的不稳定性,带宽的昂贵性以及服务节点分布的有限性,事实上并没有一个cdn能为lssp提供持续廉价并且优质的分发服务。



技术实现要素:

本发明提供一种减少对cdn层的依赖的多cdn辅助的多层云的直播分发系统。

为了达到上述技术效果,本发明的技术方案如下:

一种多cdn辅助的多层云的直播分发系统,包括:

中央管理节点,用于主播直播流管理、观看者直播流量预测、系统节点状态搜集、直播流分发决策和边缘层扩容决策;

若干核心层节点,用于主播源直播流接收功能和直播流分发,根据中央管理节点的策略对主播直播流进行接入以及分发给最优的边缘层节点或cdn;

若干边缘层节点,用于优先直播服务功能和观众体验反馈,接收来自核心层节点转发的直播流、服务直播观看者并周期性向中央管理节点反馈观众体验;

若干cdn服务提供系统,用于辅助直播服务,接收来自核心层节点转发的过载直播流、返回给观众一个cdn内部服务节点给观众接入。

进一步地,所述核心层节点转发直播流的过程中,该直播分发系统把观众所处的位置划分为若干个区域,在保证观众最低服务质量要求的基础上通过计算预测整个观众区域的需求来选择观众请求的最优服务节点。

进一步地,直播分发系统通过分析边缘层的性能和cdn层的性价比为每一个观众区域或直播编号的组合请求选择最优的服务节点,如果边缘层能力足够则选择性能最优的边缘层节点,如果不够则选择性价比最高的cdn服务系统。

进一步地,所述所述的边缘节点的优劣主要由节点到观众区域的平均时延、带宽、丢包率来衡量,其中时延由传播时延、处理和排队时延组成;所述的传播时延与链路长度有关,所述的处理和排队时延与链路上经过的节点数量有关;直播分发系统根据所有边缘节点的时延曲线以及预测的观众需求计算出最优的边缘层节点与观众区域的带宽分配。

进一步地,对于cdn服务系统的评判,直播分发系统通过对每一个cdn进行观众区域到该cdn的上述qoe指标的黑盒测试来评估cdn对于该区域的服务质量,并通过收集到的cdn价格报表拟合出一个分段线性函数,然后使用多目标优化模型分析出提升观众体验和降低cdn租用开销为目标的性价比最高的cdn选择方案。

进一步地,该系统的主播要进行直播上传时的过程如下:

a)主播向中央管理节点发送直播上传请求;

b)中央管理节点根据主播所在的位置查找与该区域最能满足主播需求的核心层节点并把该节点的域名返回给主播;

c)主播通过该域名访问核心层节点,向其推送直播流以及一些控制命令;

d)核心层节点根据主播控制指令以及平台一些控制指令对直播流进行处理;

e)核心层节点根据中央管理节点的直播流分发决策功能所做出的决策向边缘层或cdn层分发直播流。

进一步地,对于边缘层的扩容功能,其扩容策略是以每一次的边缘层带宽分配模型为基础,取消对于每一个边缘节点所具有的总带宽的限制,计算出该节点所能承担的最大带宽,并对多个时间周期的统计归总,计算分布曲线并向管理者反馈可以改进的方案,增加或减少资源。

进一步地,在该系统中,在具体的观众请求观看过程中,当观看者向中央管理节点请求某个直播拉取服务时,整个过程如下:

a)观看者向中央管理节点请求某直播;

b)中央管理节点根据上个周期的直播流分发决策列表查找观众区域或直播编号对应的服务节点列表;

c)如果列表中同时存在边缘节点和cdn,优先选择边缘节点分配,当边缘节点带宽资源分配完毕后分配cdn资源,如果观众区域或直播编号对并不在查询列表中则进行随机分配;

d)直播流分配结果以域名的形式返回给观看者,观看者解析该域名,如果域名属于边缘节点则直接从边缘节点拉取直播流观看;

e)如果域名属于cdn则被该cdn重定向系统重新定位到一个这个cdn的节点。

进一步地,直播分发决策系统执行流程如下:

a)边缘节点周期性向中央管理节点汇报资源利用率以及观看者的观众时延;

b)中央管理节点周期性的测试每个观众区域到每个cdn的时延以及现有使用cdn的观看者的时延;

c)核心层节点周期性向中央管理节点汇报资源的利用率以及直播流的转发情况;

d)当边缘节点进行扩容处理后更新其到每一个观众区域的时延函数,当cdn的计费标准改变后更新计费函数;

e)中央管理节点根据凸优化理论计算带宽在边缘层到观众区域的最优分配;

f)若边缘节点不能够提供足够的分发服务则把多余的带宽需求转由cdn层满足,采用nash讨价还价策略在价格和性能之间进行均衡选择性价比最高的cdn分配带宽;

g)求出边缘层和cdn层最优带宽分配后利用贪心算法计算核心层主播直播流的最优分配以尽可能的减少核心层转发出的直播流的数量,并由此决定每一个最终服务观众节点(边缘节点或cdn)的直播流分发策略;

h)当观看者请求到达时根据分发策略优先分发给边缘层节点,当列表中有多个边缘节点时按照带宽分配大小比例进行概率分发,全部被分配的边缘节点带宽使用完后再按照被每个被分配的cdn带宽比例概率分发给cdn;

i)中央管理节点根据所有节点包括观众的反馈信息制作日志报表并为下一轮的直播分发决策收集数据。

进一步地,边缘层扩容决策系统执行流程如下:

a)中央管理节点收集边缘层节点资源利用率以及观看者需求的历史记录根据凸优化理论建立节点扩容模型;

b)对比连续多个计算周期的扩容模型所推导出的扩容解决方案,制作分布曲线并计算取均值和方差上报给管理员并附以分析图表;

c)管理员根据报表进行扩容决策并更新边缘层节点参数。

与现有技术相比,本发明技术方案的有益效果是:

本发明增设多cdn辅助分发模块,并把整个分发决策的过程分解到边缘层、cdn层和核心层中去,高效的完成直播流分发任务,以实现以较低的额外代价来满足之前的一些不能能满足的观众体验。这些任务由于其地理位置的广泛性以及需求波动的复杂性之前很难或者需要以很高的代价来应对需求的变化;根据每一次对于边缘层节点所需要的资源进行推演,即假设在只有边缘层时所需要的资源,并根据时间序列理论计算出观众带宽需求的分布与趋势为管理者扩容边缘层节点提供依据,以求逐步减少外部cdn的使用从而进一步节约开销。

附图说明

图1为本发明的总体架构图;

图2为本发明上游分发系统主播上传直播的流程图;

图3为本发明下游分发系统观看者请求直播的流程图;

图4为本发明直播分发决策的流程图;

图5为本发明边缘层扩容决策的流程图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1-5所示,一种多cdn辅助的多层云的直播分发系统,包括:

中央管理节点,用于主播直播流管理、观看者直播流量预测、系统节点状态搜集、直播流分发决策和边缘层扩容决策;

若干核心层节点,用于主播源直播流接收功能和直播流分发,根据中央管理节点的策略对主播直播流进行接入以及分发给最优的边缘层节点或cdn;

若干边缘层节点,用于优先直播服务功能和观众体验反馈,接收来自核心层节点转发的直播流、服务直播观看者并周期性向中央管理节点反馈观众体验;

若干cdn服务提供系统,用于辅助直播服务,接收来自核心层节点转发的过载直播流、返回给观众一个cdn内部服务节点给观众接入。

核心层节点转发直播流的过程中,该直播分发系统把观众所处的位置划分为若干个区域,在保证观众最低服务质量要求的基础上通过计算预测整个观众区域的需求来选择观众请求的最优服务节点。

直播分发系统通过分析边缘层的性能和cdn层的性价比为每一个观众区域或直播编号的组合请求选择最优的服务节点,如果边缘层能力足够则选择性能最优的边缘层节点,如果不够则选择性价比最高的cdn服务系统。

所述的边缘节点的优劣主要由节点到观众区域的平均时延、带宽、丢包率来衡量,其中时延由传播时延、处理和排队时延组成;所述的传播时延与链路长度有关,所述的处理和排队时延与链路上经过的节点数量有关;直播分发系统根据所有边缘节点的时延曲线以及预测的观众需求计算出最优的边缘层节点与观众区域的带宽分配。

对于cdn服务系统的评判,直播分发系统通过对每一个cdn进行观众区域到该cdn的上述qoe指标的黑盒测试来评估cdn对于该区域的服务质量,并通过收集到的cdn价格报表拟合出一个分段线性函数,然后使用多目标优化模型分析出提升观众体验和降低cdn租用开销为目标的性价比最高的cdn选择方案。

该系统的主播要进行直播上传时的过程如下:

a)主播向中央管理节点发送直播上传请求;

b)中央管理节点根据主播所在的位置查找与该区域最能满足主播需求的核心层节点并把该节点的域名返回给主播;

c)主播通过该域名访问核心层节点,向其推送直播流以及一些控制命令;

d)核心层节点根据主播控制指令以及平台一些控制指令对直播流进行处理;

e)核心层节点根据中央管理节点的直播流分发决策功能所做出的决策向边缘层或cdn层分发直播流。

对于边缘层的扩容功能,其扩容策略是以每一次的边缘层带宽分配模型为基础,取消对于每一个边缘节点所具有的总带宽的限制,计算出该节点所能承担的最大带宽,并对多个时间周期的统计归总,计算分布曲线并向管理者反馈可以改进的方案,增加或减少资源。

在该系统中,在具体的观众请求观看过程中,当观看者向中央管理节点请求某个直播拉取服务时,整个过程如下:

a)观看者向中央管理节点请求某直播;

b)中央管理节点根据上个周期的直播流分发决策列表查找观众区域或直播编号对应的服务节点列表;

c)如果列表中同时存在边缘节点和cdn,优先选择边缘节点分配,当边缘节点带宽资源分配完毕后分配cdn资源,如果观众区域或直播编号对并不在查询列表中则进行随机分配;

d)直播流分配结果以域名的形式返回给观看者,观看者解析该域名,如果域名属于边缘节点则直接从边缘节点拉取直播流观看;

e)如果域名属于cdn则被该cdn重定向系统重新定位到一个这个cdn的节点。

直播分发决策系统执行流程如下:

a)边缘节点周期性向中央管理节点汇报资源利用率以及观看者的观众时延;

b)中央管理节点周期性的测试每个观众区域到每个cdn的时延以及现有使用cdn的观看者的时延;

c)核心层节点周期性向中央管理节点汇报资源的利用率以及直播流的转发情况;

d)当边缘节点进行扩容处理后更新其到每一个观众区域的时延函数,当cdn的计费标准改变后更新计费函数;

e)中央管理节点根据凸优化理论计算带宽在边缘层到观众区域的最优分配;

f)若边缘节点不能够提供足够的分发服务则把多余的带宽需求转由cdn层满足,采用nash讨价还价策略在价格和性能之间进行均衡选择性价比最高的cdn分配带宽;

g)求出边缘层和cdn层最优带宽分配后利用贪心算法计算核心层主播直播流的最优分配以尽可能的减少核心层转发出的直播流的数量,并由此决定每一个最终服务观众节点(边缘节点或cdn)的直播流分发策略;

h)当观看者请求到达时根据分发策略优先分发给边缘层节点,当列表中有多个边缘节点时按照带宽分配大小比例进行概率分发,全部被分配的边缘节点带宽使用完后再按照被每个被分配的cdn带宽比例概率分发给cdn;

i)中央管理节点根据所有节点包括观众的反馈信息制作日志报表并为下一轮的直播分发决策收集数据。

边缘层扩容决策系统执行流程如下:

a)中央管理节点收集边缘层节点资源利用率以及观看者需求的历史记录根据凸优化理论建立节点扩容模型;

b)对比连续多个计算周期的扩容模型所推导出的扩容解决方案,制作分布曲线并计算取均值和方差上报给管理员并附以分析图表;

c)管理员根据报表进行扩容决策并更新边缘层节点参数。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1