CN103685263A - 轮播媒体资源的方法、服务器及系统 - Google Patents
轮播媒体资源的方法、服务器及系统 Download PDFInfo
- Publication number
- CN103685263A CN103685263A CN201310664003.0A CN201310664003A CN103685263A CN 103685263 A CN103685263 A CN 103685263A CN 201310664003 A CN201310664003 A CN 201310664003A CN 103685263 A CN103685263 A CN 103685263A
- Authority
- CN
- China
- Prior art keywords
- carousel
- content
- media
- module
- index list
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了轮播媒体资源的方法、服务器及系统,其中,所述方法包括:收到客户端发来的轮播索引列表获取请求,根据客户端的位置自动计算出距离客户端最近的若干内容节点;从若干内容节点中选取一内容节点,使用内容节点上先前已经分发过的用于点播的一媒体分片的播放地址更新轮播索引列表,其中,用于点播的该媒体分片与最新的用于轮播的一媒体分片相同;生成更新的轮播索引列表下发到客户端,其中,更新的轮播索引列表中具有待顺序播放的用于轮播和/或用于点播的媒体分片的播放地址。服务器利用管辖的内容节点上已经分发过的用于点播的相同媒体分片提供给客户端来播放,节省了服务器分发所占用的带宽以及服务器处理分发所耗费的机器资源。
Description
技术领域
本申请涉及流媒体播放领域,具体涉及一种轮播媒体资源的方法、服务器及系统。
背景技术
HLS(Http live streaming)协议,是由苹果公司提出的基于HTTP协议的流媒体网络传输协议,可实现流媒体的直播和点播。不同于常见的流媒体直播协议,进行HLS直播的客户端获取到的不是一个完整的数据流,而是在服务器端将最新的直播数据流存储为连续的、很短时长的媒体分片(MPEG-TS,动态图像专家组-传输流),客户端需要不断地按顺序下载并按顺序播放这些媒体分片,就实现了HLS直播。
目前HLS协议并不支持轮播模式,但是轮播模式的形式类似于直播,只是服务器端播放的数据流并不是直播数据流,而是预先做好的如电影、电视剧、综艺录像等数据。因此可以以HLS直播的方式为基础来实现HLS轮播模式。
在HLS轮播模式中,服务器将需要轮播的最新的媒体分片分发到各个服务器所管辖的内容节点,并不断更新索引列表下发给客户端以便客户端根据索引列表访问相应内容节点获取轮播的媒体分片。但对于某些节目,轮播的流量需求较小,这时往往服务器并没有部署轮播的媒体分片到各个内容节点,这时如果一客户端请求轮播的媒体分片,往往需要就服务器实时分发该媒体分片内容给内容节点,甚至由服务器直接提供媒体分片给客户端,分发本身需要耗费很多时间和处理资源,而分发过程中还会受到网络状况的影响,这样导致服务器端分发的压力很大,客户端获取播放资源的速度比较慢、而且不稳定。
因此,在进行HLS轮播时,如何减轻服务器端分发的压力,使客户端快速、稳定地播放轮播资源就成为了亟待解决的技术问题。
发明内容
本申请所要解决的技术问题在于提供一种轮播媒体资源的方法、服务器及系统,直接利用管辖的内容节点上已经分发过的用于点播的相同媒体分片提供给客户端来播放,服务器不需要再分发用于轮播的同样的媒体分片给管辖的内容节点,从而节省了服务器分发所占用的带宽以及服务器处理分发所耗费的机器资源。
为了解决上述问题,本申请揭示了一种轮播媒体资源的方法,包括:收到客户端发来的轮播索引列表获取请求,识别所述客户端的位置并根据所述客户端的位置自动计算出距离所述客户端最近的若干内容节点;从所述若干内容节点中选取一内容节点,使用所述内容节点上先前已经分发过的用于点播的一媒体分片的播放地址更新轮播索引列表,其中,用于点播的该媒体分片与最新的用于轮播的一媒体分片相同;生成更新的轮播索引列表下发到所述客户端,以便所述客户端根据所述轮播索引列表中的播放地址下载相应的媒体分片进行播放,其中,更新的轮播索引列表中具有待顺序播放的用于轮播和/或用于点播的媒体分片的播放地址。
进一步地,根据所述最新的用于轮播的一媒体分片的数字签名,与之前已经向所述若干内容节点分发过的用于点播的媒体分片的数字签名进行一致性比对,来验证是否已经向所述若干内容节点中的至少一个内容节点分发过用于点播的相同媒体分片,其中,相同的媒体分片具有唯一的数字签名。
进一步地,如果已经向所述若干内容节点中的一个内容节点分发过用于点播的相同媒体分片,则使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表,不再分发用于轮播的该媒体分片;或者,如果已经向所述若干内容节点中的两个以上内容节点分发过用于点播的相同媒体分片,则从所述两个以上内容节点中选取距离所述客户端最近的一内容节点,使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表,不再分发用于轮播的该媒体分片。
进一步地,还包括:检测到之前没有向所述若干内容节点分发过用于点播的相同媒体分片,则分发所述用于轮播的该媒体分片给距离所述客户端最近的一内容节点,使用所述内容节点上所述用于轮播的该媒体分片的播放地址更新轮播索引列表。
进一步地,根据所述客户端的位置自动计算出距离所述客户端最近的若干内容节点的操作,包括:根据所述客户端的本地域名系统DNS的网络地址进行判断,根据该网络地址所归属的运营商及地理位置计算距离所述客户端最近且能提供服务的最优内容节点。
为了解决上述问题,本申请还揭示了一种轮播媒体资源的服务器,包括:接收模块、计算模块、更新模块、生成模块和下发模块;所述接收模块,用于接收客户端发来的轮播索引列表获取请求;所述计算模块,用于识别所述客户端的位置并根据所述客户端的位置自动计算出距离所述客户端最近的若干内容节点;所述更新模块,用于从所述若干内容节点中选取一内容节点,使用所述内容节点上先前已经分发过的用于点播的一媒体分片的播放地址更新轮播索引列表,其中,用于点播的该媒体分片与最新的用于轮播的一媒体分片相同;所述生成模块,用于生成更新的轮播索引列表,其中,更新的轮播索引列表中具有待顺序播放的最新的若干用于轮播和/或用于点播的媒体分片的播放地址;所述下发模块,用于将更新的轮播索引列表下发到所述客户端以便所述客户端根据所述轮播索引列表中的播放地址去下载相应的媒体分片进行播放。
进一步地,还包括:验证模块,分别与所述计算模块、更新模块相连,用于根据所述最新的用于轮播的每一个媒体分片的数字签名与之前已经向所述若干内容节点分发过的用于点播的媒体分片的数字签名进行一致性比对,来验证是否已经向所述若干内容节点中的至少一个内容节点分发过用于点播的相同媒体分片,其中,相同媒体分片具有唯一的数字签名。
进一步地,还包括:内容模块;所述验证模块,检测到之前没有向所述若干内容节点分发过用于点播的相同媒体分片,通知所述内容模块;所述内容模块,用于分发所述用于轮播的该媒体分片给距离所述客户端最近的一内容节点,通知所述更新模块;所述更新模块,用于使用所述内容节点上所述用于轮播的该媒体分片的播放地址更新轮播索引列表。
进一步地,还包括:内容模块;所述验证模块,检测到所述内容模块之前已经向所述若干内容节点中的一个内容节点分发过用于点播的相同媒体分片,通知所述更新模块和内容模块;所述更新模块,使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表;所述内容模块,不再分发用于轮播的该媒体分片。
进一步地,还包括:内容模块;所述验证模块,检测到所述内容模块之前已经向所述若干内容节点中的两个以上内容节点分发过用于点播的相同媒体分片,通知所述更新模块和内容模块;所述更新模块,从所述两个以上内容节点中选取距离所述客户端最近的一内容节点,使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表;所述内容模块,不再分发用于轮播的该媒体分片。
进一步地,所述计算模块,进一步用于根据所述客户端的本地域名系统DNS的网络地址进行判断,根据该网络地址所归属的运营商及地理位置计算距离所述客户端最近且能提供服务的最优内容节点。
为了解决上述问题,本申请还揭示了一种轮播媒体资源的系统,包括:一个或多个客户端、服务器和和所述服务器管辖的若干内容节点,其中,所述服务器,包括如前中所述的轮播媒体分片的服务器;所述客户端,用于不断向所述服务器发送轮播索引列表获取请求,还用于接收所述服务器下发的更新的轮播索引列表,并根据所述轮播索引列表中具有待顺序播放的最新的若干用于轮播和/或用于点播的媒体分片的播放地址,去下载位于相应内容节点上的相应媒体分片进行播放。
与现有技术相比,本申请可以获得包括以下技术效果:
1)在服务器收到客户端的轮播请求时,利用管辖的内容节点上已经分发过的用于点播的相同媒体分片提供给客户端来播放,服务器不需要直接再分发用于轮播的同样的媒体分片给管辖的内容节点,从而节省了服务器分发所占用的带宽以及服务器处理分发所耗费的机器资源。
2)在服务器收到客户端的轮播请求时,如果所管辖的内容节点上并没有分发过的用于点播的相同媒体分片,则依然可以使用现有的处理方式,通过分发用于轮播的媒体分片给内容节点的方式,保证轮播的顺利进行。
3)客户端依次根据轮播索引列表中的播放地址下载相应的媒体分片进行播放,如果缓存足够大,可以在播放当前下载的媒体分片的同时,下载下一个媒体分片甚至是下两个媒体分片以应付因为网络抖动导致的由服务器获取数据或者更新的轮播索引列表的延迟。
需要说明的是,以上技术效果并不一定同时达到。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请第一实施例的方法流程图。
图2为本申请第二实施例的方法流程图。
图3a为本申请第三实施例的服务器结构图。
图3b为本申请第三实施例的又一服务器结构图。
图4为本申请第四实施例的系统架构图。
具体实施方式
以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
实施例一
对于冷门的轮播媒体分片,其轮播需求可能不高,导致不会在内容节点中进行大面积的资源分发部署。但是冷门的某些轮播媒体分片,其有可能发生过点播,甚至有可能是热门的点播媒体分片,比如对于一些轮播电视剧集本身播放需求较小,但是电视剧集中某一个桥段却成为了点播的热门。
这样在一些服务器管辖的内容节点上之前已经分发过相同内容的点播媒体分片,虽然是用于点播而不是轮播,但是媒体分片本身是一样的,因此,可以考虑服务器发送轮播索引列表时,利用这些已经分发过的点播媒体分片,使客户端在播放这部分内容时直接从已经分发的点播地址中获取,可以减轻服务器进行轮播分发资源的压力。
媒体分片,可以是动态图像专家组-传输流(MPEG-TS)等流媒体分片格式文件,当然本申请并不限于此。
播放地址,可以是统一资源定位符(URL)等网络存取地址,当然本申请并不限于此。
数字签名,一般可以使用媒体分片的MD5(消息摘要算法第五版)来实现,当然本申请并不限于此。
如图1所示,为本申请第一实施例的方法流程图,包括:
步骤S100,服务器收到客户端发来的轮播索引列表获取请求,识别所述客户端的位置并根据所述客户端的位置自动计算出距离所述客户端最近的若干内容节点。
当然,纯粹的距离近并不代表网络条件就一定好,因此除了计算若干内容节点距离所述客户端最近,还需要综合计算这些若干内容节点的当前网络状况。上述计算的步骤中进一步为:根据所述客户端的位置自动计算出距离所述客户端最近且当前网络状况最优(网络状况包括网络负载、网络带宽等,网络状况最优指网络负载最轻和/或网络带宽最大)的若干内容节点。
步骤S102,所述服务器从所述若干内容节点中选取一内容节点,使用所述内容节点上所述服务器先前已经分发过的用于点播的一媒体分片的播放地址更新轮播索引列表,其中,用于点播的该媒体分片与所述服务器上最新的用于轮播的一媒体分片相同。
这样,所述服务器直接利用先前分发过的用于点播的媒体分片,不需要再分发用于轮播的相同媒体分片,节省了服务器分发所占用的带宽以及服务器处理分发所耗费的机器资源。
步骤S104,所述服务器生成更新的轮播索引列表下发到所述客户端,其中,更新的轮播索引列表中具有待顺序播放的最新的若干用于轮播和/或用于点播的媒体分片的播放地址。
所述客户端根据所述轮播索引列表中的播放地址去下载相应的媒体分片进行播放。
实施例二
如图2所示,为本申请第二实施例的方法流程图,包括:
步骤S200,客户端不断向服务器发送轮播索引列表获取请求。
步骤S202,服务器收到客户端发来的轮播索引列表获取请求,识别所述客户端的位置并根据所述客户端的位置自动计算出距离所述客户端最近的若干内容节点。
所述服务器根据所述客户端的本地域名系统DNS的网络地址进行判断,根据该网络地址所归属的运营商及地理位置(这个根据计算的精细程度还可以参考其他属性信息,本申请并不限于此)计算距离所述客户端最近且能提供服务的最优内容节点。
当然,纯粹的距离近并不代表网络条件就一定好,因此除了计算若干内容节点距离所述客户端最近,还需要综合计算这些若干内容节点的当前网络状况。上述计算的步骤中进一步为:根据所述客户端的位置自动计算出距离所述客户端最近且当前网络状况最优(网络状况包括网络负载、网络带宽等,网络状况最优指网络负载最轻和/或网络带宽最大)的若干内容节点。
步骤S204,所述服务器根据最新的用于轮播的每一个媒体分片,分别验证是否已经向所述若干内容节点中的至少一个内容节点分发过用于点播的相同媒体分片,根据上述验证结果分别执行步骤S206、步骤S208以及步骤S210。
所述服务器保存有轮播资源库(也包括轮播)和点播资源库,各个库中存放有相应的待播放的媒体分片。例如,轮播资源库中保存有不断更新的用于轮播的媒体分片,多个媒体分片按顺序组合在一起播放就构成了一段的用于轮播的视频资源,一段的用于轮播的视频资源可以是一部电影或者一集电视剧,多个媒体分片组合在一起播放的顺序按每个媒体分片的序列号进行排列。
所述服务器查询用于轮播的一媒体分片的近期点播次数和/或历史点播总次数高于一阈值,此时说明该媒体分片在之前被分发点播的可能性很大,因此执行以下内容,当然,以下内容的触发执行也可以不依据任何分发点播可能性的判断,而直接进行,本申请并不限于此:
根据所述最新的用于轮播的一媒体分片的数字签名与之前已经向所述若干内容节点分发过的用于点播的媒体分片的数字签名进行一致性比对,来验证所述服务器是否已经向所述若干内容节点中的至少一个内容节点分发过用于点播的相同媒体分片,其中,相同媒体分片具有唯一的数字签名。
如果最新的用于轮播的该媒体分片与之前已经向所述若干内容节点中至少一个内容节点分发过的用于点播的一媒体分片的数字签名相同,说明所述服务器已经向至少一个内容节点分发过用于点播的相同媒体分片,而该媒体分片用于点播,一般会是相对热点的播放资源,所以会在内容节点上保存相对久的时间,所以可以执行步骤S206或者步骤S208,直接利用至少一个内容节点上已经分发过的用于点播的相同媒体分片提供给客户端来播放,所述服务器不需要再分发用于轮播的同样的媒体分片给管辖的内容节点,从而节省了服务器分发所占用的带宽以及服务器处理分发所耗费的机器资源。
如果最新的用于轮播的该媒体分片与之前已经向所述若干内容节点分发过的用于点播的媒体分片的数字签名都不同,说明所述服务器没有向所述若干内容节点分发过用于点播的相同媒体分片,因此只能执行步骤S210,由服务器重新分发用于点播的该媒体分片。
步骤S206,所述服务器之前已经向所述若干内容节点中的一个内容节点分发过用于点播的相同媒体分片,则使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表,所述服务器不再分发用于轮播的该媒体分片,执行步骤S212。
步骤S208,所述服务器之前已经向所述若干内容节点中的两个以上内容节点分发过用于点播的相同媒体分片,则从所述两个以上内容节点中选取距离所述客户端最近的一内容节点,使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表,所述服务器不再分发用于轮播的该媒体分片,执行步骤S212。
步骤S210,所述服务器检测到之前没有向所述若干内容节点分发过用于点播的相同媒体分片,则分发所述用于轮播的该媒体分片给距离所述客户端最近的一内容节点,使用所述内容节点上所述用于轮播的该媒体分片的播放地址更新轮播索引列表,执行步骤S212。
步骤S212,所述服务器生成更新的轮播索引列表并下发到所述客户端,其中更新的轮播索引列表中具有待顺序播放的最新的若干用于轮播和/或用于点播的媒体分片的播放地址。
按照HLS协议的规定轮播索引列表一般会存有3个播放地址,当然本申请并不限于此。这3个播放地址可能有2个播放地址是服务器当前分发给一个内容节点并存储的用于轮播的媒体分片的播放地址,而有1个播放地址是服务器之前已经分发给另一个内容节点并存储的用于点播的相同媒体分片的播放地址。当然,也有可能3个播放地址都是服务器之前已经分发过的用于点播的播放地址,这3个用于点播的播放地址有可能位于同一个内容节点上,也可能不是同一个内容节点上。还有可能3个播放地址都是服务器之前当前分发的用于轮播的播放地址。
步骤S214,所述客户端根据所述轮播索引列表中的播放地址去下载相应的媒体分片进行播放。
轮播索引列表中一般存有多个播放地址,按照HLS协议的规定会存有3个播放地址。所述客户端依次根据所述轮播索引列表中的播放地址下载相应的媒体分片进行播放,如果缓存足够大,可以在播放当前下载的媒体分片的同时下载下一个媒体分片甚至是下两个媒体分片以应付因为网络抖动导致的由服务器获取数据或者更新的轮播索引列表的延迟。
实施例三
如图3a所示,为本申请第三实施例的服务器结构图。轮播媒体资源的服务器,包括:接收模块300、计算模块310、更新模块320、生成模块330和下发模块340;
接收模块300,用于接收客户端发来的轮播索引列表获取请求,并通知计算模块310;
计算模块310,用于识别所述客户端的位置并根据所述客户端的位置自动计算出距离所述客户端最近的若干内容节点,并通知更新模块320;进一步用于根据所述客户端的本地域名系统DNS的网络地址进行判断,根据该网络地址所归属的运营商及地理位置计算距离所述客户端最近且能提供服务的最优内容节点;
更新模块320,用于从所述若干内容节点中选取一内容节点,使用所述内容节点上先前已经分发过的用于点播的一媒体分片的播放地址更新轮播索引列表,并通知生成模块330,其中,用于点播的该媒体分片与最新的用于轮播的一媒体分片相同;
生成模块330,用于生成更新的轮播索引列表,并通知下发模块340,其中,更新的轮播索引列表中具有待顺序播放的最新的若干用于轮播和/或用于点播的媒体分片的播放地址;
所述下发模块340,用于将更新的轮播索引列表下发到所述客户端以便所述客户端根据所述轮播索引列表中的播放地址去下载相应的媒体分片进行播放。
如图3b所示,为本申请第三实施例的又一服务器结构图。轮播媒体资源的服务器,除了包含图3a中接收模块300、计算模块310、更新模块320、生成模块330和下发模块340,还包括:内容模块350。
更新模块320,还包括:验证单元3200和更新单元3220。
验证单元3200,分别与所述计算模块310、更新单元3220、内容模块350相连,用于根据所述最新的用于轮播的每一个媒体分片的数字签名与之前已经向所述若干内容节点分发过的用于点播的媒体分片的数字签名进行一致性比对,来验证是否已经向所述若干内容节点中的至少一个内容节点分发过用于点播的相同媒体分片,其中,相同媒体分片具有唯一的数字签名。
所述验证单元3200,检测到之前没有向所述若干内容节点分发过用于点播的相同媒体分片,通知所述内容模块350;
所述内容模块350,用于分发所述用于轮播的该媒体分片给距离所述客户端最近的一内容节点,通知所述更新单元3220;
所述更新单元3220,用于使用所述内容节点上所述用于轮播的该媒体分片的播放地址更新轮播索引列表,并通知生成模块330。
所述验证单元3200,检测到所述内容模块350之前已经向所述若干内容节点中的一个内容节点分发过用于点播的相同媒体分片,通知所述更新单元3220和内容模块350;
所述更新单元3220,使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表,并通知生成模块330;
所述内容模块350,不再分发用于轮播的该媒体分片。
所述验证单元3200,检测到所述内容模块350之前已经向所述若干内容节点中的两个以上内容节点分发过用于点播的相同媒体分片,通知所述更新单元3220和内容模块350;
所述更新单元3220,从所述两个以上内容节点中选取距离所述客户端最近的一内容节点,使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表,并通知生成模块330;
所述内容模块350,不再分发用于轮播的该媒体分片。
以上不足之处参考实施例一和实施例二。
实施例四
如图4所示,为本申请第四实施例的系统架构图。包括:一个或多个客户端600、服务器620和所述服务器管辖的若干内容节点640,其中,
所述服务器620,包括如图3a和/或图3b中所示出的轮播媒体分片的服务器,参考实施例三,在此不再赘述。
所述客户端600,用于不断向所述服务器发送轮播索引列表获取请求,还用于接收所述服务器下发的更新的轮播索引列表,并根据所述轮播索引列表中具有待顺序播放的最新的若干用于轮播和/或用于点播的媒体分片的播放地址,去下载位于相应内容节点640上的相应媒体分片进行播放。所述客户端可以是网络电视、平板电脑、个人电脑、网络视频播放机(网络机顶盒)、手机等,本申请并不限于此。
所述服务器管辖的内容节点640,
以上不足之处参考实施例三。
应用实例
服务器为某网络视频服务商建立的视频资源的播控服务器,该播控服务器中支持HLS协议,并支持基于HLS协议所做出的如以上实施例所进行的轮播模式配置,该播控服务器中安装有以上实施例中所述的各模块;服务器管辖的若干内容节点,所述服务器与若干内容节点基于内容分发网络机制(CDN)架设,若干内容节点以下简称为CDN节点。
客户端为该网络视频服务商推出的某品牌的网络电视机。
服务器中保存有轮播媒体库(轮播涵盖轮播)和点播媒体库。服务器当前正在某轮播电视剧集ABC。如果不依靠本申请的方案,轮播该电视剧集ABC时服务器会直接向客户端附近的CDN节点分发电视剧集ABC的最新媒体分片,然后通知客户端去下载进行播放。
但是利用本申请的方案后,首先,服务器收到客户端周期性发来的轮播索引列表获取请求,识别所述客户端的本地DNS的IP地址处于某运营商LT信号覆盖下的小区QH,并根据运营商LT和小区QH自动计算出距离所述客户端最近且网络状况最优的三个CDN节点:QH1、QH2、QH3。
按照HLS协议轮播索引列表中只能放3个媒体分片的播放地址,服务器找到电视剧集ABC的三个最新的媒体分片ABC-3、ABC-4、ABC-5。
服务器发现电视剧集ABC是近期点播次数和/或历史点播总次数高于一阈值的视频资源,因此分别根据媒体分片ABC-3、ABC-4和ABC-5的MD5值与之前向CDN节点(QH1、QH2、QH3)上发送分发过的用于点播的媒体分片的MD5值进行一致性比对,发现就在1分钟之前服务器曾经向CDN节点QH2上分发过媒体分片ABC-3,在2分钟之前服务器曾经同时向CDN节点QH1和QH3上分发过媒体分片ABC-5,不过媒体分片ABC-3和媒体分片ABC-5都是用于点播的。
服务器之前已经向CDN节点QH2分发过用于点播的媒体分片ABC-3,则使用CDN节点QH2上媒体分片ABC-3的播放地址URL.ABC-3.QH2更新轮播索引列表,所述服务器不再分发用于轮播的媒体分片ABC-3给可以为客户端提供服务的CDN节点(包括QH1、QH2、QH3,当然还可以有其他的CDN节点),这样就节省了服务器再次分发媒体分片ABC-3的带宽资源。
服务器之前已经向CDN节点QH1和QH3分发过用于点播的媒体分片ABC-5,而QH1和QH3的网络状况都很不错,但是QH3距离所述客户端更近,因此使用QH3上用于点播的媒体分片ABC-5的播放地址URL.ABC-5.QH3更新轮播索引列表,所述服务器不再分发用于轮播的该媒体分片ABC-5给可以为客户端提供服务的CDN节点(包括QH1、QH2、QH3,当然还可以有其他的CDN节点),这样就节省了服务器再次分发媒体分片ABC-5的带宽资源。
服务器检测到之前没有向CDN节点QH1、QH2、QH3分发过用于点播的媒体分片ABC-4,QH1、QH2、QH3的网络状况都很不错,但是QH3距离所述客户端最近,则分发用于轮播的该媒体分片ABC-4给QH3,使用QH3上所述用于轮播的媒体分片ABC-4的播放地址URL.ABC-4.QH3更新轮播索引列表。
所述服务器生成更新的轮播索引列表如下,并下发到所述客户端:
Sequence3 |
URL.ABC-3.QH2 |
URL.ABC-4.QH3 |
URL.ABC-5.QH3 |
轮播索引列表
上述更新的轮播索引列表中具有待顺序播放的最新的一个用于轮播的播放地址URL.ABC-4.QH3,以及两个用于点播的播放地址URL.ABC-3.QH2和URL.ABC-5.QH3。
所述客户端按照顺序,根据所述轮播索引列表中的播放地址URL.ABC-3.QH2,访问CDN节点QH2下载用于点播的媒体分片ABC-3进行播放;
在播放媒体分片ABC-3的过程中,根据所述轮播索引列表中的播放地址URL.ABC-4.QH3,去CDN节点QH3处下载用于轮播的媒体分片ABC-4并放入缓存;
在缓存足够大的情况下,还可以根据所述轮播索引列表中的播放地址URL.ABC-5.QH3,去CDN节点QH3处下载用于点播的媒体分片ABC-5并放入缓存。
在一个周期的时间间隔后,所述客户端再一次向服务器发送轮播索引列表获取请求。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
Claims (12)
1.一种轮播媒体资源的方法,其特征在于,包括:
收到客户端发来的轮播索引列表获取请求,识别所述客户端的位置并根据所述客户端的位置自动计算出距离所述客户端最近的若干内容节点;
从所述若干内容节点中选取一内容节点,使用所述内容节点上先前已经分发过的用于点播的一媒体分片的播放地址更新轮播索引列表,其中,用于点播的该媒体分片与最新的用于轮播的一媒体分片相同;
生成更新的轮播索引列表下发到所述客户端,以便所述客户端根据所述轮播索引列表中的播放地址下载相应的媒体分片进行播放,其中,更新的轮播索引列表中具有待顺序播放的用于轮播和/或用于点播的媒体分片的播放地址。
2.如权利要求1所述的方法,其特征在于,
根据所述最新的用于轮播的一媒体分片的数字签名,与之前已经向所述若干内容节点分发过的用于点播的媒体分片的数字签名进行一致性比对,来验证是否已经向所述若干内容节点中的至少一个内容节点分发过用于点播的相同媒体分片,其中,相同的媒体分片具有唯一的数字签名。
3.如权利要求1或2所述的方法,其特征在于,
如果已经向所述若干内容节点中的一个内容节点分发过用于点播的相同媒体分片,则使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表,不再分发用于轮播的该媒体分片;或者,
如果已经向所述若干内容节点中的两个以上内容节点分发过用于点播的相同媒体分片,则从所述两个以上内容节点中选取距离所述客户端最近的一内容节点,使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表,不再分发用于轮播的该媒体分片。
4.如权利要求1或2所述的方法,其特征在于,还包括:
检测到之前没有向所述若干内容节点分发过用于点播的相同媒体分片,则分发所述用于轮播的该媒体分片给距离所述客户端最近的一内容节点,使用所述内容节点上所述用于轮播的该媒体分片的播放地址更新轮播索引列表。
5.如权利要求1所述的方法,其特征在于,根据所述客户端的位置自动计算出距离所述客户端最近的若干内容节点的操作,进一步包括:
根据所述客户端的本地域名系统DNS的网络地址进行判断,根据该网络地址所归属的运营商及地理位置计算距离所述客户端最近且能提供服务的最优内容节点。
6.一种轮播媒体资源的服务器,其特征在于,包括:接收模块、计算模块、更新模块、生成模块和下发模块;
所述接收模块,用于接收客户端发来的轮播索引列表获取请求;
所述计算模块,用于识别所述客户端的位置并根据所述客户端的位置自动计算出距离所述客户端最近的若干内容节点;
所述更新模块,用于从所述若干内容节点中选取一内容节点,使用所述内容节点上先前已经分发过的用于点播的一媒体分片的播放地址更新轮播索引列表,其中,用于点播的该媒体分片与最新的用于轮播的一媒体分片相同;
所述生成模块,用于生成更新的轮播索引列表,其中,更新的轮播索引列表中具有待顺序播放的最新的若干用于轮播和/或用于点播的媒体分片的播放地址;
所述下发模块,用于将更新的轮播索引列表下发到所述客户端以便所述客户端根据所述轮播索引列表中的播放地址去下载相应的媒体分片进行播放。
7.如权利要求6所述的服务器,其特征在于,还包括:
验证模块,分别与所述计算模块、更新模块相连,用于根据所述最新的用于轮播的每一个媒体分片的数字签名与之前已经向所述若干内容节点分发过的用于点播的媒体分片的数字签名进行一致性比对,来验证是否已经向所述若干内容节点中的至少一个内容节点分发过用于点播的相同媒体分片,其中,相同媒体分片具有唯一的数字签名。
8.如权利要求7所述的服务器,其特征在于,还包括:内容模块;
所述验证模块,检测到之前没有向所述若干内容节点分发过用于点播的相同媒体分片,通知所述内容模块;
所述内容模块,用于分发所述用于轮播的该媒体分片给距离所述客户端最近的一内容节点,通知所述更新模块;
所述更新模块,用于使用所述内容节点上所述用于轮播的该媒体分片的播放地址更新轮播索引列表。
9.如权利要求7所述的服务器,其特征在于,还包括:内容模块;
所述验证模块,检测到所述内容模块之前已经向所述若干内容节点中的一个内容节点分发过用于点播的相同媒体分片,通知所述更新模块和内容模块;
所述更新模块,使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表;
所述内容模块,不再分发用于轮播的该媒体分片。
10.如权利要求7所述的服务器,其特征在于,还包括:内容模块;
所述验证模块,检测到所述内容模块之前已经向所述若干内容节点中的两个以上内容节点分发过用于点播的相同媒体分片,通知所述更新模块和内容模块;
所述更新模块,从所述两个以上内容节点中选取距离所述客户端最近的一内容节点,使用所述内容节点上所述用于点播的该媒体分片的播放地址更新轮播索引列表;
所述内容模块,不再分发用于轮播的该媒体分片。
11.如权利要求6所述的服务器,其特征在于,
所述计算模块,进一步用于根据所述客户端的本地域名系统DNS的网络地址进行判断,根据该网络地址所归属的运营商及地理位置计算距离所述客户端最近且能提供服务的最优内容节点。
12.一种轮播媒体资源的系统,其特征在于,包括:一个或多个客户端、服务器和和所述服务器管辖的若干内容节点,其中,
所述服务器,包括如权利要求6-11中任一项所述的轮播媒体分片的服务器;
所述客户端,用于不断向所述服务器发送轮播索引列表获取请求,还用于接收所述服务器下发的更新的轮播索引列表,并根据所述轮播索引列表中具有待顺序播放的最新的若干用于轮播和/或用于点播的媒体分片的播放地址,去下载位于相应内容节点上的相应媒体分片进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310664003.0A CN103685263A (zh) | 2013-12-06 | 2013-12-06 | 轮播媒体资源的方法、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310664003.0A CN103685263A (zh) | 2013-12-06 | 2013-12-06 | 轮播媒体资源的方法、服务器及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103685263A true CN103685263A (zh) | 2014-03-26 |
Family
ID=50321578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310664003.0A Pending CN103685263A (zh) | 2013-12-06 | 2013-12-06 | 轮播媒体资源的方法、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685263A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104284202A (zh) * | 2014-10-14 | 2015-01-14 | 无锡云捷科技有限公司 | 一种采用优化式结构的cdn透明传输方法 |
WO2016074149A1 (en) * | 2014-11-11 | 2016-05-19 | 21 Vianet Group, Inc. | Expedited media content delivery |
CN105744309A (zh) * | 2014-12-12 | 2016-07-06 | 中兴通讯股份有限公司 | 一种直播视频的生成及播放方法、装置、终端及系统 |
CN106131587A (zh) * | 2016-07-22 | 2016-11-16 | 亦非云互联网技术(上海)有限公司 | 音/视频轮播方法、系统及具有该系统的服务器端 |
CN106791988A (zh) * | 2016-11-23 | 2017-05-31 | 青岛海信电器股份有限公司 | 多媒体数据轮播方法和终端 |
CN106878815A (zh) * | 2017-03-09 | 2017-06-20 | 青岛海信电器股份有限公司 | 视频的播放方法和装置 |
CN107820111A (zh) * | 2016-09-12 | 2018-03-20 | 船井电机株式会社 | 信息设备 |
CN108306849A (zh) * | 2017-01-13 | 2018-07-20 | 上海交通大学 | 一种基于广播系统的媒体点播服务控制方法 |
CN109255641A (zh) * | 2017-07-14 | 2019-01-22 | 合网络技术(北京)有限公司 | 业务对象的处理方法及装置 |
CN111787372A (zh) * | 2020-07-01 | 2020-10-16 | 苏州万店掌网络科技有限公司 | 基于多种条件调度的流媒体分发方法 |
JP2022068231A (ja) * | 2020-11-18 | 2022-05-09 | Line株式会社 | コンピュータプログラム、情報処理方法および端末 |
WO2023082587A1 (zh) * | 2021-11-11 | 2023-05-19 | 华为云计算技术有限公司 | 流媒体调度方法、装置及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050278364A1 (en) * | 2004-05-28 | 2005-12-15 | Hillcrest Communications, Inc. | Methods and apparatuses for video on demand (VOD) metadata organization |
CN102685561A (zh) * | 2012-05-08 | 2012-09-19 | 华为技术有限公司 | 节目轮播的方法、系统、终端设备和节目点播装置 |
-
2013
- 2013-12-06 CN CN201310664003.0A patent/CN103685263A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050278364A1 (en) * | 2004-05-28 | 2005-12-15 | Hillcrest Communications, Inc. | Methods and apparatuses for video on demand (VOD) metadata organization |
CN102685561A (zh) * | 2012-05-08 | 2012-09-19 | 华为技术有限公司 | 节目轮播的方法、系统、终端设备和节目点播装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104284202A (zh) * | 2014-10-14 | 2015-01-14 | 无锡云捷科技有限公司 | 一种采用优化式结构的cdn透明传输方法 |
CN104284202B (zh) * | 2014-10-14 | 2017-12-01 | 无锡云捷科技有限公司 | 一种采用优化式结构的cdn透明传输方法 |
WO2016074149A1 (en) * | 2014-11-11 | 2016-05-19 | 21 Vianet Group, Inc. | Expedited media content delivery |
CN105744309A (zh) * | 2014-12-12 | 2016-07-06 | 中兴通讯股份有限公司 | 一种直播视频的生成及播放方法、装置、终端及系统 |
CN106131587A (zh) * | 2016-07-22 | 2016-11-16 | 亦非云互联网技术(上海)有限公司 | 音/视频轮播方法、系统及具有该系统的服务器端 |
CN107820111B (zh) * | 2016-09-12 | 2020-06-30 | 船井电机株式会社 | 信息设备 |
CN107820111A (zh) * | 2016-09-12 | 2018-03-20 | 船井电机株式会社 | 信息设备 |
CN106791988A (zh) * | 2016-11-23 | 2017-05-31 | 青岛海信电器股份有限公司 | 多媒体数据轮播方法和终端 |
CN108306849A (zh) * | 2017-01-13 | 2018-07-20 | 上海交通大学 | 一种基于广播系统的媒体点播服务控制方法 |
CN108306849B (zh) * | 2017-01-13 | 2020-12-18 | 上海交通大学 | 一种基于广播系统的媒体点播服务控制方法 |
CN106878815B (zh) * | 2017-03-09 | 2020-01-31 | 青岛海信电器股份有限公司 | 视频的播放方法和装置 |
CN106878815A (zh) * | 2017-03-09 | 2017-06-20 | 青岛海信电器股份有限公司 | 视频的播放方法和装置 |
CN109255641A (zh) * | 2017-07-14 | 2019-01-22 | 合网络技术(北京)有限公司 | 业务对象的处理方法及装置 |
CN111787372A (zh) * | 2020-07-01 | 2020-10-16 | 苏州万店掌网络科技有限公司 | 基于多种条件调度的流媒体分发方法 |
JP2022068231A (ja) * | 2020-11-18 | 2022-05-09 | Line株式会社 | コンピュータプログラム、情報処理方法および端末 |
JP7161635B2 (ja) | 2020-11-18 | 2022-10-26 | Line株式会社 | プログラム、動画配信方法および動画コンテンツ配信サーバ |
WO2023082587A1 (zh) * | 2021-11-11 | 2023-05-19 | 华为云计算技术有限公司 | 流媒体调度方法、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685263A (zh) | 轮播媒体资源的方法、服务器及系统 | |
US11343351B2 (en) | Content distribution network supporting popularity-based caching | |
CN100571377C (zh) | 一种利用对等网络技术实现视频点播的系统及方法 | |
US11252075B2 (en) | Packetized content delivery apparatus and methods | |
CN101378494B (zh) | 一种实现互联网电视媒体交互的系统及方法 | |
US10616301B2 (en) | Request-based encoding for streaming content portions | |
US11057650B2 (en) | Packetized content delivery apparatus and methods | |
CN102238419B (zh) | 播放实况内容的方法和装置 | |
CN102088620B (zh) | 一种内容分发网络中媒体文件下载方法及客户端 | |
CN101360221B (zh) | 网络电视业务适配方法、服务器及系统 | |
CN103563327A (zh) | 定位和检索分段内容 | |
US20090113039A1 (en) | Method and system for content handling | |
CN107222480A (zh) | 一种流媒体播放方法、终端设备及cdn服务器 | |
CN101202882B (zh) | 一种媒体资源传输方法、系统及机顶盒 | |
CN103813185A (zh) | 一种分段节目快速分发的方法、服务器及客户端 | |
CN101873354B (zh) | 一种交互式电视中的数据同步方法及系统 | |
CN108683728B (zh) | 数据传输方法、服务器、终端、网络系统和存储介质 | |
CN101938634B (zh) | Iptv系统中顶盒带宽控制方法及装置 | |
Liang et al. | Adjustable Two‐Tier Cache for IPTV Based on Segmented Streaming | |
KR20100059117A (ko) | 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법 | |
CN102438170B (zh) | 应用于广电网络中的音视频业务点播方法、系统及装置 | |
CN108683726B (zh) | 数据传输方法、服务器、终端、网络系统和存储介质 | |
CN103686433A (zh) | 向p2p服务提供校验文件的方法和系统 | |
EP3337178A1 (en) | Method for distributing metadata to devices in a network and corresponding metadata distribution device, corresponding method for receiving metadata from devices in a network and corresponding device | |
CN104735089A (zh) | 内容处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20180105 |
|
AD01 | Patent right deemed abandoned |