用于cdn平台的内容分发方法及调度代理服务器的制造方法

文档序号:10555968阅读:368来源:国知局
用于cdn平台的内容分发方法及调度代理服务器的制造方法
【专利摘要】本发明提供一种用于CDN平台的内容分发方法,调度代理服务器将接收到的用户的访问请求发送至所述调度中心,并接收所述调度中心根据用户的访问请求确定的能够响应所述访问请求的视频服务节点地址;所述调度代理服务器从所述调度中心确定的视频服务节点地址下载并缓存视频文件;所述调度代理服务器将缓存的视频文件拼接成完整的媒体文件;所述调度代理服务器利用缓存的完整的媒体文件响应用户的访问请求。本发明还提供一种用于CDN平台的调度代理服务器,减少了用户与多个不同的节点通信的次数,提高响应速度,增加视频播放时的稳定性,进而提高了用户体验。
【专利说明】
用于CDN平台的内容分发方法及调度代理服务器
技术领域
[0001]本发明实施例涉及互联网媒体技术领域,尤其涉及一种用于CDN平台的内容分发方法及调度代理服务器。
【背景技术】
[0002]Q)N(Content Delivery Network,内容分发网络)是一种通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络。CDN能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是能够选择离用户相对较近的节点向用户发送用户所需的内容,缓解网络拥挤的状况,提高网站的响应速度。
[0003]在各大视频网站目前所使用的传输协议中流媒体传输协议HLS(H11P I i Vestreaming)占据了重要的地位。HLS协议是苹果公司实现的基于超文本传输协议Http的流媒体传输协议,HLS协议将容量巨大的连续媒体数据进行分段,分割为数量众多的小文件进行传递,迎合了网页服务器的文件传输性,采用一个不断更新的轻量级索引文件来控制分割后小媒体文件的下载和播放,可以实现流媒体的直播和点播。HLS协议在优先考虑流畅性的前提下支持码率的自动切换,目前被各大视频网站广泛使用。
[0004]通过HLS协议,视频数据经处理后分为媒体数据ts文件以及媒体数据索引m3u8文件,并存在于服务器上。m3u8文件实际上只是一种文件组的组织形式,将视频片段以播放列表的形式组织在一起以供多媒体播放器下载播放。m3u8文件中通常包括多个上述媒体数据ts文件的多个统一资源定位符URL。多媒体播放器获取m3u8文件后,进而按照其中的URL下载对应的ts文件并进行播放。
[0005]现有技术中,当客户请求访问某一视频时,客户请求信息发送到调度中心,再由调度中心反馈距离客户最近的CDN节点的地址,之后客户端在根据调度中心反馈的地址访问相应的距离最近的⑶N节点,以获取请求资源。
[0006]然而在某些访问中,当视频中存在多个广告,而且多个广告又由多个不同的CDN节点提供时,客户端就需要多次与多个不同的节点进行通信请求。从而导致客户端与服务器(调度中心、CDN节点)之间的通信很容易受到网络环境的影响,出现响应延时,视频播放不顺畅且不稳定,影响用户体验。

【发明内容】

[0007]为了减少用户与多个不同的节点通信的次数,解决因网络响应延时而导致的视频播放不顺畅且不稳定的问题,本发明实施例提供一种用于CDN平台的内容分发方法及调度代理服务器以及一种内容分发系统。
[0008]本发明实施例提供一种用于⑶N平台的内容分发方法,包括:
[0009]调度代理服务器将接收到的用户的访问请求发送至调度中心,并接收所述调度中心根据用户的访问请求确定的响应所述访问请求的视频服务节点地址;
[0010]所述调度代理服务器从所述调度中心确定的视频服务节点地址下载并缓存视频文件;
[0011 ]所述调度代理服务器将缓存的视频文件拼接成完整的媒体文件;
[0012]所述调度代理服务器利用缓存的完整的媒体文件响应用户的访问请求。
[0013]本发明实施例提供一种用于⑶N平台的调度代理服务器,所述⑶N平台包括所述调度中心、视频服务节点,所述调度代理服务器包括:
[0014]接收单元,用于将接收到的用户的访问请求发送至调度中心,并接收所述调度中心根据用户的访问请求确定的响应所述访问请求的视频服务节点地址;
[0015]下载和存储单元,用于从所述调度中心确定的视频服务节点地址下载并缓存视频文件;
[0016]拼接单元,用于将缓存的视频文件拼接成完整的媒体文件;
[0017]传输单元,用于利用缓存的完整的媒体文件响应用户的访问请求。
[0018]本发明实施例提供一种内容分发系统,其中,所述内容包括视频和广告,所述系统包括:
[0019]视频服务节点;
[0020]广告服务节点;
[0021]调度中心,用于根据用户的访问请求,确定能够响应所述访问请求的视频服务节点和广告服务节点;
[0022]根据上述实施例中所述的调度代理服务器。
[0023]本发明实施例提供的用于⑶N平台的内容分发方法及调度代理服务器以及一种内容分发系统,通过调度代理服务器接收调度中心确定的视频服务点的地址并根据所述地址从相应的视频服务节点和广告服务节点下载并缓存视频文件,进而对缓存的视频文件进行拼接,用拼接后的完整的媒体文件响应用户的访问请求,与现有技术相比,用户不用多次与视频服务节点进行通信,只需通过调度代理服务器,再由调度代理服务器与调度中心、视频服务节点通信即可,降低了网络延时,提高了响应速度,增加视频播放时的稳定性,从而提尚了用户体验。
【附图说明】
[0024]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为本发明一实施例的用于CDN平台的内容分发方法流程图;
[0026]图2为本发明一实施例的用于⑶N平台的调度代理服务器的示意图;
[0027]图3a为本发明的内容分发系统的一实施方式示意图;
[0028]图3b为本发明的内容分发系统的另一实施方式示意图。
【具体实施方式】
[0029]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]需要说明的是,在不冲突的情况下,本申请中的实施方式及实施方式中所涉及到的技术特征彼此之间可以相互组合。
[0031]参照图1,示出了根据本发明的一个实施例的用于CDN平台的内容分发方法,此方法包括如下步骤:
[0032]步骤101:调度代理服务器将接收到的用户的访问请求发送至调度中心,并接收所述调度中心根据用户的访问请求确定的能够响应所述访问请求的视频服务节点地址;
[0033]步骤102:所述调度代理服务器从所述调度中心确定的视频服务节点地址下载并缓存视频文件;
[0034]步骤103:所述调度代理服务器将缓存的视频文件拼接成完整的媒体文件;
[0035]步骤104:所述调度代理服务器利用缓存的完整的媒体文件响应用户的访问请求。
[0036]本发明实施例通过调度代理服务器接收用户的内容访问请求,并根据调度中心反馈的视频服务节点的地址到相应的视频服务节点获取响应用户的访问请求的视频和广告并进行下载和缓存,避免了用户多次与视频服务节点的通信,只需通过调度代理服务器与各个视频服务节点进行通信,再由调度代理服务器将缓存的媒体文件发送给用户即可,使得调度中心、调度代理服务器、视频服务节点之间的通信以及视频的下载缓存和拼接只需在相应的局域网中完成,不易受到网络环境的影响,从而减少了网络延时,提尚了响应速度。
[0037]进一步地,调度代理服务器接收所述调度中心根据用户的访问请求确定的响应所述访问请求的视频服务节点地址和广告服务节点地址;所述调度代理服务器从所述调度中心确定的视频服务节点地址和广告服务节点地址下载并缓存视频文件;所述调度代理服务器将缓存的视频文件和广告文件拼接成完整的媒体文件;所述调度代理服务器利用缓存的完整的媒体文件响应用户的访问请求。
[0038]现有CDN平台中包含调度中心、多个视频服务节点以及多个广告服务节点,用于提供不同的视频和不同的广告,根据不同的访问请求,调度中心能够确定出存储有相应的资源的视频服务节点和广告服务节点。
[0039]由于在CDN平台中包含多个视频服务节点和多个广告服务节点,所述视频服务节点的地址至少根据用户距各个能够响应所述用户的访问请求的视频服务节点的距离而确定,所述广告服务节点的地址至少根据用户距各个广告服务节点的距离而确定,但在通信的过程中也会考虑其它因素,例如视频服务节点和广告服务节点的处理能力、响应速度、正在处理的用户的访问请求数等。
[0040]优选地,当所述调度代理服务器接收到同一视频文件的用户的访问请求时,直接利用缓存的完整的媒体文件响应用户的访问请求,提高响应速度,而且因为无需再通过调度代理服务器从相应的视频服务节点和广告服务节点下载缓存视频和广告,所以减轻了视频服务节点和广告服务节点的工作。
[0041]优选地,所述调度代理服务器从所述调度中心确定的视频服务节点地址和广告服务节点地址下载并缓存视频文件和广告文件包括:所述调度代理服务器根据所述视频服务节点的地址和所述广告服务节点的地址,获取相应的视频m3u8文件和广告m3u8文件,利用所述视频m3u8文件从相应的视频服务节点下载和缓存ts视频分片文件,利用所述广告m3u8文件,从相应的广告服务节点下载和缓存ts广告分片文件。
[0042]进一步地,所述调度代理服务器对缓存的ts视频分片文件和ts广告分片文件进行拼接并缓存拼接后的媒体文件;并将所述视频m3u8文件和广告m3u8文件合成完整的媒体m3u8文件。
[0043]进一步地,所述调度代理服务器对缓存的ts视频分片文件和ts广告分片文件进行拼接并缓存拼接后的媒体文件包括:例如现在有ts视频分片文件A、B和ts广告分片文件a,这时需要分析ts视频分片文件A、B和ts广告分片文件a的头信息区,确定待拼接成的整段媒体文件的文件类型为MP4、文件播放时长(各个分片时长相加)、所含视音频流数量(与各个分片数量一致)、各视音频流采用的编码标准、以及ts视频分片文件A、B和ts广告分片文件a所含的所有视音频帧(关键帧)在待拼接成的整段媒体文件中的位置和时间信息,根据确定结果,生成待拼接成的整段媒体文件的头信息。
[0044]在ts视频分片文件A的媒体数据区I和ts广告分片文件a的媒体数据区2之间以及ts广告分片文件a的媒体数据区2和ts视频分片文件B的媒体数据区3之间添加过度标签并在按顺序进行拼接;利用生成的待拼接成的整段媒体文件的头信息和待拼接成的整段媒体文件的媒体数据,输出拼接后的媒体文件并缓存所述媒体文件。
[0045]上述实施例中ts视频分片文件A、B和ts广告分片文件a采用的是同一编码标准,以便于同待拼接成的整段媒体文件的编码标准一致,进而可以将ts视频分片文件A、ts广告分片文件a和ts视频分片文件B的媒体数据区按顺序拼接为同一个媒体数据区,形成合法的媒体文件。
[0046]本发明实施例通过上述方法,避免了用户多次与视频服务节点和广告服务节点的通信,只需通过调度代理服务器与各个视频服务节点和广告服务节点进行通信,再由调度代理服务器将媒体文件发送给用户即可,使得调度代理器与视频服务节点和广告服务节点的通信只需在相应的内网中即可完成,不易受到网络环境的影响,从而减少了网络延时,提尚了响应速度,进而提尚了用户体验。
[0047]此外,因为调度代理器与视频服务节点和广告服务节点的通信是在内网中完成的,从而也相应的减少了被盗链的可能,实现了对视频和广告资源的保护。
[0048]上述与图1所示的实施例有关的方法,参照图2,可以根据本发明实施例的调度代理服务器予以实施。
[0049]用于⑶N平台的调度代理服务器,包括:
[0050]接收单元,将接收到的用户的访问请求发送至调度中心,并接收所述调度中心根据用户的访问请求确定的响应所述访问请求的视频服务节点地址;
[0051]下载和存储单元,用于从所述调度中心确定的视频服务节点下载并缓存视频文件和广告文件;
[0052]拼接单元,用于将缓存的视频文件拼接成完整的媒体文件;
[0053]传输单元,用于利用缓存的完整的媒体文件响应用户的访问请求。
[0054]优选地,上述调度代理服务器还包括:
[0055]检查单元,用于检查当所述调度代理服务器接收到同一视频文件的用户的访问请求时,直接利用缓存的完整的媒体文件响应用户的访问请求。
[0050]进一步地,上述实施例中的调度代理服务器,所述接收单元接收单元,用于接收所述调度中心根据用户的访问请求确定的响应所述访问请求的视频服务节点地址和广告服务节点地址;
[0057]所述下载和存储单元用于根据所述视频服务节点地址和广告服务节点地址获取相应的视频索引文件和广告索引文件,利用所述视频索引文件从相应的视频服务节点下载和缓存视频分片文件,利用所述广告索引文件从相应的广告服务节点下载和缓存广告分片文件。
[0058]上述实施例中所述拼接单元用于对缓存的视频分片文件和广告分片文件进行拼接并缓存拼接后的媒体文件;将所述视频索引文件和广告索引文件合成完整的媒体索引文件。
[0059]进一步地,上述拼接单元用于分析视频分片文件和广告分片文件的头信息区,确定待拼接成的整段媒体文件的文件类型、文件播放时长、所含视音频流数量、各视音频流采用的编码标准、以及各视频分片文件和广告分片文件所含的所有视音频帧在待拼接成的整段媒体文件中的位置和时间信息;
[0060]根据确定结果,生成待拼接成的整段媒体文件的头信息;
[0061]利用各个视频分片文件和广告分片文件的媒体数据区按顺序拼接,生成待拼接成的整段媒体文件的媒体数据;
[0062]利用生成的待拼接成的整段媒体文件的头信息和待拼接成的整段媒体文件的媒体数据,输出拼接后的媒体文件并缓存所述媒体文件。
[0063]本发明实施例还提供了一种内容分发系统,其中,所述内容包括视频和广告,所述系统包括:
[0064]视频服务节点;
[0065]广告服务节点;
[0066]调度中心,用于根据用户的访问请求,确定能够响应所述访问请求的视频服务节点和广告服务节点;
[0067]以及根据上述实施例所述的调度代理服务器。
[0068]根据图3a所示的内容分发系统,当调度代理服务器接收到用户I的访问请求时,将所述访问请求转发至调度中心,调度中心会根据这个访问请求将相应的视频服务节点和广告服务节点的地址发送至调度代理服务器,所述调度代理服务器根据收到的视频服务节点的地址和广告服务节点的地址获取相应的视频m3u8文件和广告m3u8文件,并将所述视频m3u8文件和广告m3u8文件合成完整的媒体m3u8文件;而且所述调度代理服务器利用所述视频m3u8文件从相应的视频服务节点下载和缓存ts视频分片文件,利用所述广告m3u8文件从相应的广告服务节点下载和缓存ts广告分片文件,进而对缓存的视频分片文件和广告分片文件进行拼接并缓存拼接后的媒体文件,从而调度代理服务器利用缓存的完整的媒体文件响应用户I的访问请求。
[0069]根据图3b所示的内容分发系统,当所述调度代理服务器接收到同一视频文件的用户2的访问请求时,就直接利用缓存的完整的媒体文件响应用户2的访问请求。
[0070]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0071]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0072]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种用于⑶N平台的内容分发方法,包括: 调度代理服务器将接收到的用户的访问请求发送至调度中心,并接收所述调度中心根据用户的访问请求确定的响应所述访问请求的视频服务节点地址; 所述调度代理服务器从所述调度中心确定的视频服务节点地址下载并缓存视频文件; 所述调度代理服务器将缓存的视频文件拼接成完整的媒体文件; 所述调度代理服务器利用缓存的完整的媒体文件响应用户的访问请求。2.根据权利要求1所述的方法,其特征在于,还包括: 调度代理服务器接收所述调度中心根据用户的访问请求确定的响应所述访问请求的视频服务节点地址和广告服务节点地址; 所述调度代理服务器从所述调度中心确定的视频服务节点地址和广告服务节点地址下载并缓存视频文件和广告文件; 所述调度代理服务器将缓存的视频文件和广告文件拼接成完整的媒体文件; 所述调度代理服务器利用缓存的完整的媒体文件响应用户的访问请求。3.根据权利要求1或2所述的方法,其特征在于,还包括: 当所述调度代理服务器接收到同一视频文件的用户的访问请求时,直接利用缓存的完整的媒体文件响应用户的访问请求。4.根据权利要求2所述的方法,其特征在于,所述调度代理服务器从所述调度中心确定的视频服务节点地址和广告服务节点地址下载并缓存视频文件包括: 所述调度代理服务器根据所述视频服务节点地址和所述广告服务节点地址,获取相应的视频索引文件和广告索引文件,利用所述视频索引文件从相应的视频服务节点下载和缓存视频分片文件,利用所述广告索引文件,从相应的广告服务节点下载和缓存广告分片文件; 所述调度代理服务器将缓存的视频文件和广告文件拼接成完整的媒体文件包括:所述调度代理服务器对缓存的视频分片文件和广告分片文件进行拼接并缓存拼接后的媒体文件, 将所述视频索引文件和广告索引文件合成完整的媒体索引文件。5.根据权利要求4所述的方法,其特征在于,所述调度代理服务器对缓存的视频分片文件和广告分片文件进行拼接并缓存拼接后的媒体文件包括: 分析视频分片文件和广告分片文件的头信息区,确定待拼接成的整段媒体文件的文件类型、文件播放时长、所含视音频流数量、各视音频流采用的编码标准、以及各视频分片文件和广告分片文件所含的所有视音频帧在待拼接成的整段媒体文件中的位置和时间信息;根据确定结果,生成待拼接成的整段媒体文件的头信息; 利用各个视频分片文件和广告分片文件的媒体数据区按顺序拼接,生成待拼接成的整段媒体文件的媒体数据; 利用生成的待拼接成的整段媒体文件的头信息和待拼接成的整段媒体文件的媒体数据,输出拼接后的媒体文件并缓存所述媒体文件。6.—种用于⑶N平台的调度代理服务器,包括: 接收单元,用于将接收到的用户的访问请求发送至调度中心,并接收所述调度中心根据用户的访问请求确定的响应所述访问请求的视频服务节点地址; 下载和存储单元,用于从所述调度中心确定的视频服务节点地址下载并缓存视频文件; 拼接单元,用于将缓存的视频文件拼接成完整的媒体文件; 传输单元,用于利用缓存的完整的媒体文件响应用户的访问请求。7.根据权利要求6所述的调度代理服务器,其特征在于, 所述接收单元,用于接收所述调度中心根据用户的访问请求确定的响应所述访问请求的视频服务节点地址和广告服务节点地址; 所述下载和存储单元用于根据所述视频服务节点地址和广告服务节点地址获取相应的视频索引文件和广告索引文件,利用所述视频索引文件从相应的视频服务节点下载和缓存视频分片文件,利用所述广告索引文件从相应的广告服务节点下载和缓存广告分片文件。8.根据权利要求6或7所述的调度代理服务器,其特征在于,还包括: 检查单元,用于检查当所述调度代理服务器接收到同一视频文件的用户的访问请求时,直接利用缓存的完整的媒体文件响应用户的访问请求。9.根据权利要求7所述的调度代理服务器,其特征在于,所述拼接单元用于对缓存的视频分片文件和广告分片文件进行拼接并缓存拼接后的媒体文件;将所述视频索引文件和广告索引文件合成完整的媒体索引文件。10.根据权利要求9所述的调度代理服务器,其特征在于,所述拼接单元用于分析视频分片文件和广告分片文件的头信息区,确定待拼接成的整段媒体文件的文件类型、文件播放时长、所含视音频流数量、各视音频流采用的编码标准、以及各视频分片文件和广告分片文件所含的所有视音频帧在待拼接成的整段媒体文件中的位置和时间信息; 根据确定结果,生成待拼接成的整段媒体文件的头信息; 利用各个视频分片文件和广告分片文件的媒体数据区按顺序拼接,生成待拼接成的整段媒体文件的媒体数据; 利用生成的待拼接成的整段媒体文件的头信息和待拼接成的整段媒体文件的媒体数据,输出拼接后的媒体文件并缓存所述媒体文件。11.一种内容分发系统,其中,所述内容包括视频和广告,所述系统包括: 视频服务节点; 广告服务节点; 调度中心,用于根据用户的访问请求,确定能够响应所述访问请求的视频服务节点和广告服务节点; 根据权利要求6-10中任一项所述的调度代理服务器。
【文档编号】H04N21/262GK105915945SQ201510896611
【公开日】2016年8月31日
【申请日】2015年12月8日
【发明人】李洪福
【申请人】乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1