直播回看的缓存、播放方法及系统与流程

文档序号:15395297发布日期:2018-09-08 02:02阅读:2397来源:国知局

本发明涉及流媒体技术领域,尤其涉及一种直播回看的缓存、播放方法及系统。



背景技术:

网络带宽的提高和3g/4g无线通信技术的发展为在电信网络上开展基于媒体内容的增值服务业务提供了可能。cdn(contentdeliverynetwork,内容分发网络)系统作为网络中缓存视频、音频、图片及网页的系统,得到进一步地广泛应用。在电信网络中开展多媒体业务,如iptv(交互式网络电视)、otttv(开放互联网的视频服务),cdn系统也发挥着越来越重要的作用。

在当前的otttv中,比较主流的直播频道服务都是基于hls(httplivestreaming,apple的动态码率自适应技术),如ltv(livetv,电视直播)、tvod(truevideoondemand,节目录制)、tstv(timeshifttv,时移电视)等业务,也都需要基于hls进行开发。

目前在otttv中常规的直播回看缓存方式为:在频道ltv服务时,在ott节点缓存一份直播内容;同样,在tvod服务时,也在ott节点缓存一份tvod内容。虽然这种方式保证了存储的有效性和独立性,但是以损失部分存储空间和节点回源带宽为代价,否则无法实现对直播和回看内容进行存储。另外,传统的直播内容存储于dfs(distributedfilesystem,分布式文件系统)中,过分依赖于dfs,一旦dfs异常,直播就出现异常,而且对dfs进行大量读写,会导致性能变差。



技术实现要素:

有鉴于此,本发明的目的在于提供一种直播回看的缓存、播放方法及系统,以解决现有技术中将直播内容存储于dfs中,导致过分依赖于dfs、占用大量的存储资源的问题。

本发明解决上述技术问题所采用的技术方案如下:

根据本发明的第一方面,提供的一种直播回看的缓存方法,包括:

通过频道源站下载ts媒体分片文件;

将ts媒体分片文件存储在内存中;

根据预设时间段,定期将内存中存储的ts媒体分片文件存储至分布式文件系统中,并在内存中删除对应的ts媒体分片文件。

优选地,该通过频道源站下载ts媒体分片文件的步骤,包括:

通过频道源站下载索引文件;

根据索引文件,下载对应的ts媒体分片文件。

优选地,该直播回看的缓存方法,还包括:

获取频道创建请求,根据频道创建请求,创建本地频道。

根据本发明的第二方面,提供的一种直播回看的缓存系统,包括:

下载单元,用于通过频道源站下载ts媒体分片文件;

第一存储单元,用于将ts媒体分片文件存储在内存中;以及

第二存储单元,用于根据预设时间段,定期将内存中存储的ts媒体分片文件存储至分布式文件系统中,并在内存中删除对应的ts媒体分片文件。

优选地,该下载单元包括:

第一下载单元,用于通过频道源站下载索引文件;

第二下载单元,用于根据索引文件,下载对应的ts媒体分片文件。

优选地,该直播回看的缓存系统还包括:

频道创建单元,用于获取频道创建请求,根据频道创建请求,创建本地频道。

根据本发明的第三方面,提供的一种直播回看的播放方法,包括:

获取用户发送的播放请求,该播放请求包括:直播频道信息;

查询与播放请求对应的索引文件,该索引文件包括:ts媒体分片文件的路径信息;

根据索引文件,读取并返回对应的ts媒体分片文件。

优选地,该播放请求还包括:起止时间信息。

优选地,该根据索引文件,读取并返回对应的ts媒体分片文件的步骤,包括:

获取索引文件中的ts媒体分片文件的路径信息;

当ts媒体分片文件的路径信息为存储在内存时,则在内存中读取ts媒体分片文件;

当ts媒体分片文件的路径信息为存储在分布式文件系统时,则在分布式文件系统中读取ts媒体分片文件。

根据本发明的第四方面,提供的一种直播回看的播放系统,包括:

播放请求获取单元,用于获取用户发送的播放请求,该播放请求包括:直播频道信息;

索引文件查询单元,用于查询与所述播放请求对应的索引文件,该索引文件包括:ts媒体分片文件的路径信息;

文件读取单元,用于根据索引文件,读取并返回对应的ts媒体分片文件。

一方面,本发明实施例的直播回看的缓存方法及系统,将通过频道源站下载的ts媒体分片文件保存到内存中,根据预设时间段定时将内存中ts媒体分片文件存储至分布式文件系统dfs中,并删除内存中对应的ts媒体分片文件,保证了同一份码流只会去频道源站请求一次且仅保存一份,克服了现有技术中只依赖于dfs进行存储,在不损失大量存储空间及减少对dfs依赖的前提下,实现分级缓存机制,节约存储资源、减少对dfs的依赖,提高直播安全性。

另一方面,本发明实施例的直播回看的播放方法及系统,在用户发出播放请求时,通过查找索引文件,去对应的存储路径信息读取ts媒体分片文件,保证了频道的服务性能,防止对dfs进行大量读写,会导致性能变差。

附图说明

图1为本发明实施例的一种直播回看的缓存方法的流程图;

图2为本发明实施例的一种直播回看的缓存方法的流程图;

图3为本发明实施例的cdn频道服务器下载ts媒体分片文件的流程图;

图4为本发明实施例的一种直播回看的缓存系统的示意图;

图5为本发明实施例的一种直播回看的缓存系统的示意图;

图6为本发明实施例的一种直播回看的播放方法的流程图;

图7为本发明实施例的一种直播回看的播放方法的流程图;

图8为本发明实施例的一种直播回看的播放方法的流程图;

图9为本发明实施例的一种直播回看的播放系统的示意图;

图10是本发明实施例的文件读取单元的示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1是本发明实施例的一种直播回看的缓存方法的流程图,该方法包括以下步骤:

s101、通过频道源站下载ts媒体分片文件。

在本发明实施例中,应用于内容分发网络cdn系统,cdn频道服务器向频道源站下载ts媒体分片文件。

进一步地,通过频道源站下载ts媒体分片文件,具体为:

通过频道源站下载索引文件;

根据索引文件,下载对应的ts媒体分片文件。

具体地,cdn频道服务器向频道源站下载索引文件,根据索引文件下载对应的ts媒体分片文件,其中,索引文件为m3u8文件。

s102、将ts媒体分片文件存储在内存中。

在本发明实施例中,cdn频道服务器向频道源站下载ts媒体分片文件后,先将ts媒体分片文件存储在内存中。

s103、根据预设时间段,定期将内存中存储的ts媒体分片文件存储至分布式文件系统中,并在内存中删除对应的ts媒体分片文件。

在本发明实施例中,可将预设时间段设置为3分钟,根据预设时间段定时将内存中ts媒体分片文件存储至分布式文件系统dfs中,并删除内存中对应的ts媒体分片文件,保证了同一份码流只会去频道源站请求一次且仅保存一份,不赖于dfs进行存储,在不损失大量存储空间及减少对dfs依赖的前提下,实现分级缓存机制,节约存储资源、减少对dfs的依赖,提高直播安全性。

图2是本发明实施例的一种直播回看的缓存方法的流程图,该方法包括以下步骤:

s201、获取频道创建请求,根据所述频道创建请求,创建本地频道。

在本发明实施例中,向cdn频道服务器发起频道创建请求,cdn频道服务器响应频道创建请求,进行创建本地频道的处理,增加频道数据区,处理频道下载文件的准备工作。

s202、通过频道源站下载ts媒体分片文件。

s203、将ts媒体分片文件存储在内存中。

s204、根据预设时间段,定期将内存中存储的ts媒体分片文件存储至分布式文件系统中,并在内存中删除对应的ts媒体分片文件。

在本发明实施例中,步骤s202—s204的实施方式可对应参考前述步骤s101—s103的描述,在此不再赘述。

图3是本发明实施例的cdn频道服务器下载ts媒体分片文件的流程图,该方法包括以下步骤:

s301,cdn管理平台(本实施例为iam,identityandaccessmanagement,即身份识别与访问管理)向cdn频道服务器(channel)发起频道创建请求。

s302,cdn频道服务器(channel)响应频道创建请求,通知iam收到频道创建请求。

s303,channel进行创建本地频道的处理,增加频道数据区,处理频道下载ts媒体分片文件的准备工作。

s304,channel的创建本地频道后,在数据库(db,database)中插入频道记录,频道状态为工作中。

s305,channel向iam上报创建本地频道成功消息。

s306,iam向channel响应收到创建本地频道成功消息。

s307,创建本地频道成功后,channel向频道源站下载索引文件m3u8文件和ts媒体分片文件,其中,channel先下载索引文件m3u8文件,然后根据索引文件m3u8文件中的索引信息下载对应的ts媒体分片文件。

其中,频道为实时直播流,所以创建本地频道成功后,按照hls协议,channel定时向频道源站请求索引文件m3u8文件和ts媒体分片文件至内存,根据预设时间段,定时拷贝到本地存储,也可以存储在dfs(distributedfilesystem,分布式文件系统)中。

图4是本发明实施例的一种直播回看的缓存系统的示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

一种直播回看的缓存系统,包括:下载单元41、第一存储单元42及第二存储单元43,其中:

下载单元41,用于通过频道源站下载ts媒体分片文件。

在本发明实施例中,应用于内容分发网络cdn系统,cdn频道服务器向频道源站下载ts媒体分片文件。

进一步地,下载单元41包括:

第一下载单元,用于通过频道源站下载索引文件;

第二下载单元,用于根据索引文件,下载对应的ts媒体分片文件。

具体地,cdn频道服务器向频道源站下载索引文件,根据索引文件下载对应的ts媒体分片文件,其中,索引文件为m3u8文件。

第一存储单元42,用于将ts媒体分片文件存储在内存中。

在本发明实施例中,cdn频道服务器向频道源站下载ts媒体分片文件后,先将ts媒体分片文件存储在内存中。

第二存储单元43,用于根据预设时间段,定期将内存中存储的ts媒体分片文件存储至分布式文件系统中,并在内存中删除对应的ts媒体分片文件。

在本发明实施例中,可将预设时间段设置为3分钟,根据预设时间段定时将内存中ts媒体分片文件存储至分布式文件系统dfs中,并删除内存中对应的ts媒体分片文件,保证了同一份码流只会去频道源站请求一次且仅保存一份,不赖于dfs进行存储,在不损失大量存储空间及减少对dfs依赖的前提下,实现分级缓存机制,节约存储资源、减少对dfs的依赖,提高直播安全性。

图5是本发明实施例的一种直播回看的缓存系统的示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

一种直播回看的缓存系统,包括:频道创建单元51、下载单元52、第一存储单元53及第二存储单元54,其中:

频道创建单元51,用于获取频道创建请求,根据频道创建请求,创建本地频道。

下载单元52,用于通过频道源站下载ts媒体分片文件。

在本发明实施例中,向cdn频道服务器发起频道创建请求,cdn频道服务器响应频道创建请求,进行创建本地频道的处理,增加频道数据区,处理频道下载文件的准备工作。

第一存储单元53,用于将ts媒体分片文件存储在内存中。

第二存储单元54,用于根据预设时间段,定期将内存中存储的ts媒体分片文件存储至分布式文件系统中,并在内存中删除对应的ts媒体分片文件。

图6是本发明实施例的一种直播回看的播放方法的流程图,该方法包括以下步骤:

s601、获取用户发送的播放请求,该播放请求包括:直播频道信息。

在本发明实施例中,接收用户发送的播放请求,其中,播放请求包括:直播频道信息。

进一步地,若tstv和tvod服务,则播放请求还包括:起止时间信息。

s602、查询与播放请求对应的索引文件,该索引文件包括:ts媒体分片文件的路径信息。

在本发明实施例中,根据该播放请求获取对应的索引文件,该索引文件包括:ts媒体分片文件的路径信息。

s603、根据索引文件,读取并返回对应的ts媒体分片文件。

在本发明实施例中,根据索引文件,读取ts媒体分片文件返回给用户终端。使得用户终端可以不受限于系统指定的节目单,在任意时间段内录制网络节目,并进行播放。

进一步,根据索引文件,读取并返回对应的ts媒体分片文件的步骤,包括:

获取索引文件中的ts媒体分片文件的路径信息;

当ts媒体分片文件的路径信息为存储在内存时,则在内存中读取ts媒体分片文件;

当ts媒体分片文件的路径信息为存储在分布式文件系统时,则在分布式文件系统中读取ts媒体分片文件。

图7是本发明实施例的一种直播回看的播放方法的流程图,该方法包括以下步骤:

s701,用户终端(stb)发起http播放请求,http播放请求中包含直播频道信息和用户id。

s702,cdn用户服务器(ias)收到播放请求后,在数据库db的频道表中根据直播频道信息,查询到索引文件m3u8文件的路径信息。

s703,ias返回stb一个重定向消息,消息中包含了stb下一步请求索引文件m3u8文件的url。

s704,stb再根据索引文件m3u8文件的url请求ias。

s705,ias根据索引文件m3u8文件的路径信息从内存中获取到索引文件m3u8文件。

s706,ias将索引文件m3u8文件返回给stb。

s707,根据hls协议,索引文件m3u8文件中包含了stb下一步请求所需要的所有ts媒体分片文件url列表,stb根据ts媒体分片文件的url列表持续请求ias去获取对应的ts媒体分片文件。

s708,ias每次收到stb请求ts媒体分片文件的消息,则从内存中读取ts媒体分片文件。

s709,ias每次收到stb请求ts媒体分片文件的消息,ias将读取到的ts媒体分片文件返回给stb。

其中,s707-s709重复到stb请求完成所有的ts媒体分片文件为止。

图8是本发明实施例的一种直播回看的播放方法的流程图,该方法包括以下步骤:

s801,用户终端(stb)通过http发起tvod/tstv服务播放请求,http播放请求中包含直播频道信息、用户id及起止时间信息。

s802,cdn用户服务器(ias)收到播放请求后,在数据库db的频道表中根据直播频道信息,查询到索引文件m3u8文件的路径信息。

s803,ias返回stb一个重定向消息,消息中包含了stb下一步请求索引文件m3u8文件的url。

s804,stb再根据索引文件m3u8文件的url请求ias。

s805,ias根据索引文件m3u8文件的路径信息从dfs中获取到索引文件m3u8文件。

s806,ias将索引文件m3u8文件返回给stb。

s807,根据hls协议,索引文件m3u8文件中包含了stb下一步请求所需要的所有ts媒体分片文件列表,stb根据ts媒体分片文件的url列表持续请求ias去获取相应的ts媒体分片文件。

s808,ias每次收到stb请求ts媒体分片文件的消息,则从db查询对应ts媒体分片文件的路径信息。

s809,如果ts媒体分片文件保存在内存中,则去内存中读取ts媒体分片文件返回给stb。

s809’,如果ts媒体分片文件保存在dfs中,则去dfs中读取ts媒体分片文件返回给stb。

s810,ias每次收到stb请求ts媒体分片文件的消息,ias将读取到的ts媒体分片文件返回给stb。

其中,s807-s810重复到stb请求完成所有的ts媒体分片文件为止。

图9是本发明实施例的一种直播回看的播放系统的示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

一种直播回看的播放系统,包括:播放请求获取单元91、索引文件查询单元92及文件读取单元93,其中:

播放请求获取单元91,用于获取用户发送的播放请求,该播放请求包括:直播频道信息。

在本发明实施例中,接收用户发送的播放请求,其中,播放请求包括:直播频道信息。

进一步地,若tstv和tvod服务,则播放请求还包括:起止时间信息。

索引文件查询单元92,用于查询与播放请求对应的索引文件,该索引文件包括:ts媒体分片文件的路径信息。

在本发明实施例中,根据该播放请求获取对应的索引文件,该索引文件包括:ts媒体分片文件的路径信息。

文件读取单元93,用于根据索引文件,读取并返回对应的ts媒体分片文件。

在本发明实施例中,根据索引文件,读取ts媒体分片文件返回给用户终端。使得用户终端可以不受限于系统指定的节目单,在任意时间段内录制网络节目,并进行播放。

进一步,图10是本发明实施例的文件读取单元的示意图,文件读取单元93包括:

路径获取单元931,用于获取索引文件中的ts媒体分片文件的路径信息。

第一读取单元932,用于当ts媒体分片文件的路径信息为存储在内存时,则在内存中读取ts媒体分片文件。

第二读取单元933,用于当ts媒体分片文件的路径信息为存储在分布式文件系统时,则在分布式文件系统中读取ts媒体分片文件。

在本发明实施例中,在用户发出播放请求时,通过查找索引文件,去对应的存储路径信息读取ts媒体分片文件,保证了频道的服务性能,防止对dfs进行大量读写,会导致性能变差。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

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