一种基于云存储的流媒体点播方法和装置制造方法
【专利摘要】本发明公开了一种基于云存储的流媒体点播方法和装置:RJ-FAC接收流媒体文件点播请求,其中携带流媒体文件ID和点播参数;RJ-FAC根据流媒体文件ID向数据库读取对应的所有文件分片的描述信息,并根据点播参数查找目的文件分片的描述信息;RJ-FAC根据流媒体文件ID向FLR读取对应的所有文件分片的存储信息,并根据目的文件分片的描述信息查找目的文件分片的存储信息;RJ-FAC根据查找到的目的文件分片的存储信息到FAS读取目的文件分片的数据。通过本发明,可以在网络带宽和网络侧系统资源受限的情况下,实现流媒体点播的快速跳转。
【专利说明】一种基于云存储的流媒体点播方法和装置
【技术领域】
[0001]本发明涉及计算机网络技术,特别是指一种基于云存储的流媒体点播方法和装置。
【背景技术】
[0002]随着电信业务和互联网业务的融合,音视频的视听业务越来越普及,服务形式也多种多样,内容信息也爆炸性增长。由于用户需求的变化,多媒体信息的文件数量飞速增长同时,文件大小也是过去的成百上千倍。作为应对,越来越多的多媒体文件存放在分布式文件系统等云存储系统中。
[0003]另一方面,流媒体播放系统是互联网多媒体应用的主要形式之一,是通过网络进行实时下载播放的系统。随着社会生活的网络化水平的不断提高,流媒体已经成为人们日常生活、娱乐中不可或缺的手段。在流媒体播放过程中,人们最常使用的功能之一是快进快退,即快速跳过已经欣赏过的或不感兴趣的部分,或者快速回放精彩部分。
[0004]一般,流媒体点播跳转服务为了精确计算出所跳到的部分在流媒体信息中的确切位置,需要终端经过大量的计算和多次与流媒体服务器进行交互,以及流媒体服务器大量缓存读取才能完成,若网络状态不好、并发访问用户过多、文件太大等情况存在,还会造成多次的缓存等待。这使得用户跳转等待时间较长,给用户带来了不好的用户体验;同时在进行在线播放中的跳转时,需要与服务器进行多次交互,浪费了网络侧系统资源。
[0005]因此,受限于网络带宽和网络侧系统资源等的处理能力,对于PC、手机等终端播放器是否还能实现在线播放中的快速跳转,提出了新的挑战。
【发明内容】
[0006]有鉴于此,本发明的主要目的在于提供一种基于云存储的流媒体点播方法和装置,以在网络带宽和网络侧系统资源受限的情况下,实现流媒体点播的快速跳转。
[0007]为达到上述目的,本发明的技术方案是这样实现的:
[0008]本发明提供了一种基于云存储的流媒体点播方法,该方法包括:
[0009]RJ-FAC接收流媒体文件点播请求,其中携带流媒体文件ID和点播参数;
[0010]RJ-FAC根据所述流媒体文件ID向数据库读取对应的所有文件分片的描述信息,并根据所述点播参数查找目的文件分片的描述信息;
[0011]RJ-FAC根据所述流媒体文件ID向FLR读取对应的所有文件分片的存储信息,并根据目的文件分片的描述信息查找目的文件分片的存储信息;
[0012]RJ-FAC根据查找到的目的文件分片的存储信息到FAS读取目的文件分片的数据。
[0013]所述点播参数至少包括:播放指示和跳转指示;
[0014]所述跳转指示包括:跳转后的播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比。
[0015]所述文件分片的描述信息,包括:流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID、文件分片大小、播放起始时间、播放结束时间、进度开始百分比和进度结束百分比。
[0016]所述文件分片的存储信息,包括:流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID、文件分片大小、压缩指示、加密指示和物理存放位置信息。
[0017]所述根据所述点播参数查找目的文件分片的描述信息,为:
[0018]将所述所有文件分片的描述信息转换为哈希表,将播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比作为索引;
[0019]依据点播参数中包含的跳转后的播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比查找所述哈希表,得到目的文件分片的描述信息。
[0020]根据目的文件分片的描述信息查找目的文件分片的存储信息,为:
[0021]将目的文件分片的描述信息依次与各个文件分片的存储信息进行比对,当流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID和文件分片大小相同时,则查找到目的文件分片的存储信息。
[0022]所述RJ-FAC根据查找到的目的文件分片的存储信息到FAS读取目的文件分片的数据,为:
[0023]RJ-FAC根据目的文件分片的存储信息中的文件分片ID和物理存放位置信息到FAS读取目的文件分片的数据。
[0024]接收流媒体文件点播请求之前,该方法还包括:将流媒体文件写入云存储系统。
[0025]所述将流媒体文件写入云存储系统,包括:
[0026]RJ-FAC向FLR发起写入流媒体文件请求;
[0027]FLR返回写入文件参数响应,告知RJ-FAC提供服务的FAS列表和存储策略;
[0028]RJ-FAC按照存储策略对请求写入的流媒体文件进行分片,得到一个或多个文件分片;
[0029]RJ-FAC从所述FAS列表选择指定的FAS,并将各个文件分片写入所述FAS ;
[0030]FAS向RJ-FAC返回保存文件分片成功响应,响应消息中包含各个文件分片在FAS的物理存放位置信息;
[0031]RJ-FAC生成各个文件分片对应的描述信息,保存在数据库中,并向FLR申请记录注册,注册信息包括:流媒体文件名称和各个文件分片的存储信息;
[0032]FLR记录流媒体文件及其对应的各个文件分片的存储信息,并向RJ-FAC返回写入文件记录成功响应。
[0033]所述写入流媒体文件请求,包括:流媒体文件的全路径文件名称、文件大小、压缩指示、加密指示以及扩展参数文件类型;
[0034]所述存储策略,包括:文件分片大小、文件分片副本数量、压缩指示和加密指示。
[0035]本发明还提供了一种基于云存储的流媒体点播装置的装置,包括:流媒体接口模块、快速跳转模块、文件读写接口模块和索引数据模块,其中:
[0036]所述流媒体接口模块,用于接收流媒体文件点播请求,其中携带流媒体文件ID和点播参数;并将流媒体文件点播请求提供给快速跳转模块;
[0037]所述快速跳转模块,用于根据所述流媒体文件点播请求控制所述文件读写接口模块读取文件分片的描述信息和文件分片的存储信息;[0038]所述文件读写接口模块,用于根据所述快速跳转模块的控制,向数据库读取所述媒体文件ID对应的所有文件分片的描述信息,以及向FLR读取所述媒体文件ID对应的所有文件分片的存储信息;
[0039]所述索引数据模块,用于保存所述文件读写接口模块读取的文件分片的描述信息和文件分片的存储信息;
[0040]所述快速跳转模块,还用于从所述索引数据模块加载所述文件分片的描述信息和文件分片的存储信息,根据所述点播参数查找目的文件分片的描述信息;还用于根据目的文件分片的描述信息查找目的文件分片的存储信息;
[0041]所述文件读写接口模块,还用于根据所述快速跳转模块的控制,依据快速跳转模块提供的目的文件分片的存储信息到FAS读取目的文件分片的数据。
[0042]所述索引数据模块,还用于将所述所有文件分片的描述信息转换为哈希表,将播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比作为索引;
[0043]所述速跳转模块,还用于从所述索引数据模块加载所述文件分片的描述信息的哈希表,依据点播参数中包含的跳转后的播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比查找加载的哈希表,得到目的文件分片的描述信息。
[0044]所述速跳转模块,还用于将目的文件分片的描述信息依次与各个文件分片的存储信息进行比对,当流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID和文件分片大小相同时,则查找到目的文件分片的存储信息。
[0045]所述文件读写接口模块,还用于根据目的文件分片的存储信息中的文件分片ID和物理存放位置信息到FAS读取目的文件分片的数据。
[0046]本发明基于云存储的流媒体点播方法和装置=RJ-FAC根据流媒体文件点播请求(其中携带流媒体文件ID和点播参数),向数据库读取对应的所有文件分片的描述信息以及向FLR读取对应的所有文件分片的存储信息,并根据点播参数查找目的文件分片的描述信息,再根据目的文件分片的描述信息查找目的文件分片的存储信息;通过存储信息到FAS读取目的文件分片的数据,最后由SS将目的文件分片的数据提供给播放器。在该过程中,播放器不再需要多次与流服务器的交互会话,而只需要一次交互即可,减少了流服务器计算资源开销,降低了播放器的计算开销和计算复杂度。流媒体服务器不再需要持续多次读取、缓存文件内容片段,而是获取由RJ-FAC提供的文件分片数据,减少了流服务器计算资源开销、减少缓存开销,并降低了流服务器与云存储系统之间网络带宽开销,提升了系统总体并发性能。另外,通过查找文件分片的方式仍然能够实现流媒体文件点播的快速跳转。
【专利附图】
【附图说明】
[0047]图1是本发明基于云存储的流媒体快速跳转系统总体架构示意图。
[0048]图2是本发明典型的流媒体文件写入云存储流程示意图。
[0049]图3是本发明典型的流媒体点播快速跳转流程示意图。
[0050]图4是本发明典型的快速跳转RJ-FAC装置示意图。
【具体实施方式】
[0051]本发明的快速跳转方案的应用涉及到如下几个部分:应用终端、流媒体点播平台以及云存储平台组成。
[0052]应用终端,包括各种类型终端的客户端或应用程序,也可以是应用服务器的应用程序,主要是指流媒体播放模块,如播放器。
[0053]流媒体点播平台,具有点播流媒体服务功能,负责执行和管理流媒体点播功能,主要值流服务器(SS)
[0054]云存储平台,包括云存储元数据服务器(FLR, File Location Register)服务器、云存储节点服务器(FAS, File Access Server)集群等,负责分片存储音视频等流媒体文件,以及存储流媒体文件的分片对应的描述信息。
[0055]除了上述三个部分,本发明还涉及了快速跳转FAC:记为RJ-FAC(Rapid JumpFAC)。
[0056]如图1所示为本发明实施例基于云存储的流媒体点播的总体架构,主要包括:
[0057]播放器(Ml),发现和点播视频等流媒体文件,执行用户点播跳转请求。
[0058]流服务器(SS, Streaming Server) (M2),主要功能是对流媒体文件进行采集、缓存、调度和传输播放,包括响应跳转请求,快速跳转、读取和缓存云存储中的流媒体内容。具体地:
[0059]1、接收播放器的流媒体点播、跳转等请求;
[0060]2、从云存储中读取、缓存全部或部分流媒体文件;
[0061]3、从云存储中读取、缓存流媒体文件对应的描述信息;
[0062]4、为播放器传输、播放流媒体文件;
[0063]5、响应播放器的跳转请求,快速跳转、读取和缓存云存储中的流媒体。
[0064]快速跳转FAC (M3):记为RJ-FAC (Rap i d Jump FAC),包含云存储客户端(FAC,FileAccess Client)功能,完成云存储客户端代理功能,一方面给应用进程提供文件操作的API接口 ;另一方面完成和FLR和FAS的交互,完成数据的搬移。
[0065]FLR(M4):负责文件访问控制,数据文件分布和各种元数据的管理。
[0066]FAS(M5):负责与存储硬件设备层接口进行文件分片的存取、搬移操作。包括响应流服务器的文件读取操作,以及云存储本身的存储均衡、副本维护时进行数据的读写等。
[0067]基于上述的架构,本发明提供的基于云存储的流媒体点播方法,包括如下步骤:
[0068]一、RJ-FAC接收流媒体文件点播请求,其中携带流媒体文件ID和点播参数;
[0069]二、RJ-FAC根据流媒体文件ID向数据库读取对应的所有文件分片的描述信息,并根据点播参数查找目的文件分片的描述信息;
[0070]三、RJ-FAC根据流媒体文件ID向FLR读取对应的所有文件分片的存储信息,并根据目的文件分片的描述信息查找目的文件分片的存储信息;
[0071]四、RJ-FAC根据查找到的目的文件分片的存储信息到FAS读取目的文件分片的数据。
[0072]其中,点播参数至少包括:播放指示和跳转指示;
[0073]跳转指示包括:跳转后的播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比。
[0074]文件分片的描述信息,包括:流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID、文件分片大小、播放起始时间、播放结束时间、进度开始百分比和进度结束百分比。
[0075]文件分片的存储信息,包括:流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID、文件分片大小、压缩指示、加密指示和物理存放位置信息。
[0076]优选地,根据点播参数查找目的文件分片的描述信息,为:
[0077]将所有文件分片的描述信息转换为哈希表,将播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比作为索引;
[0078]依据点播参数中包含的跳转后的播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比查找哈希表,得到目的文件分片的描述信息。
[0079]优选地,根据目的文件分片的描述信息查找目的文件分片的存储信息,为:
[0080]将目的文件分片的描述信息依次与各个文件分片的存储信息进行比对,当流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID和文件分片大小相同时,则查找到目的文件分片的存储信息。
[0081]优选地,RJ-FAC根据查找到的目的文件分片的存储信息到FAS读取目的文件分片的数据,为:
[0082]RJ-FAC根据目的文件分片的存储信息中的文件分片ID和物理存放位置信息到FAS读取目的文件分片的数据。
[0083]在接收流媒体文件点播请求之前,该方法还包括:将流媒体文件写入云存储系统,包括:
[0084]RJ-FAC向FLR发起写入流媒体文件请求;
[0085]FLR返回写入文件参数响应,告知RJ-FAC提供服务的FAS列表和存储策略;
[0086]RJ-FAC按照存储策略对请求写入的流媒体文件进行分片,得到一个或多个文件分片;
[0087]RJ-FAC从FAS列表选择指定的FAS,并将各个文件分片写入FAS ;
[0088]FAS向RJ-FAC返回保存文件分片成功响应,响应消息中包含各个文件分片在FAS的物理存放位置信息;
[0089]RJ-FAC生成各个文件分片对应的描述信息,保存在数据库中,并向FLR申请记录注册,注册信息包括:流媒体文件名称和各个文件分片的存储信息;
[0090]FLR记录流媒体文件及其对应的各个文件分片的存储信息,并向RJ-FAC返回写入文件记录成功响应。
[0091]其中,写入流媒体文件请求,包括:流媒体文件的全路径文件名称、文件大小、压缩指示、加密指示以及扩展参数文件类型;
[0092]存储策略,包括:文件分片大小、文件分片副本数量、压缩指示和加密指示。
[0093]下面通过具体的实施例来说明本发明的上述技术方案。
[0094]实施例一
[0095]本发明提供的将流媒体文件写入云存储系统的流程如图2所示,包括:
[0096]步骤201,RJ-FAC向FLR发起写入流媒体文件请求;请求消息包含请求写入的流媒体文件的全路径文件名称、文件大小、压缩指示、加密指示以及扩展参数文件类型等。扩展参数文件类型指示请求写入的流媒体文件的类型为点播时,后续流程中,需要RJ-FAC产生该流媒体文件的分片的描述信息。[0097]步骤202,FLR返回写入文件参数响应,告知RJ-FAC可提供服务的FAS列表和存储策略等。其中,存储策略包括:文件分片大小、文件分片副本数量、压缩指示和加密指示等。文件分片大小完全由存储策略决定,不要求所有文件分片都一样大小。
[0098]RJ-FAC按照存储策略对请求写入的流媒体文件进行分片,得到一个或多个文件分片。其中,如果写入的流媒体文件为视频文件,优选地,按照独立解码的片段分割方式进行分片,也可以按照绝对大小或时间长度进行分片。
[0099]步骤203,RJ-FAC按照存储策略对请求写入的流媒体文件进行分片、压缩及加密处理后,按照指定的规则,从FAS列表选择对应的FAS,并将各个文件分片写入该FAS。
[0100]步骤204,写入文件分片完成后,FAS向RJ-FAC返回保存文件分片成功响应,响应消息中包含各个文件分片在FAS的物理存放位置信息。
[0101]然后,RJ-FAC生成各个文件分片对应的描述信息,包括:流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID、文件分片大小、播放起始时间、播放结束时间、进度开始百分比和进度结束百分比等。
[0102]其中,对于一个文件分片而言,其对应的描述信息的含义为:
[0103]流媒体文件ID,指示该文件分片所属的流媒体文件的ID ;
[0104]文件分片数量,指示将该文件分片所属的流媒体文件分片得到的文件分片数量;
[0105]文件分片副本数量,指该文件分片的副本数量;
[0106]文件分片大小,指该文件分片的数据量;
[0107]文件分片序号,即为该文件分片在其所属的流媒体文件的所有文件分片中的序号;
[0108]文件分片ID,即为为该文件分片的ID ;
[0109]播放起始时间,指示了该文件分片在其所属的流媒体文件中的起始时间;
[0110]播放结束时间,指示了该文件分片在其所属的流媒体文件中的结束时间;
[0111]进度起始百分比,指示了该文件分片在其所属的流媒体文件中起始位置对应的进度百分比;
[0112]进度结束百分比,指示了该文件分片在其所属的流媒体文件中结束位置对应的进度百分比;
[0113]例如,将一个流媒体文件分为4个文件分片,其中第二个文件分片的进度起始百分比为25%,进度结束百分比为50%,就是说,该流媒体文件从进度25%到50%之间为第二个分片文件。
[0114]文件分片的描述信息可以作为文件存放在云存储系统中专门的数据库中,也可以存放在其他结构化数据存储系统中,例如关系型数据库等。
[0115]步骤205,针对流媒体文件的写入,RJ-FAC向FLR申请记录注册,注册信息包括:流媒体文件名称和各个文件分片的存储信息等,其中各个文件分片的存储信息包括:流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID、文件分片大小、压缩指示、加密指示和物理存放位置信息等。
[0116]步骤206,FLR记录流媒体文件及其对应的各个文件分片的存储信息。
[0117]步骤207,FLR给RJ-FAC返回写入文件记录成功响应。
[0118]实施例二[0119]本发明提供的流媒体点播的快速跳转流程如图3所示,包括:
[0120]步骤301,播放器向SS发起流媒体文件点播请求,该请求消息包括请求点播的流媒体文件ID和点播参数等。点播参数包含:播放和跳转等操作指示。跳转指示,例如,跳转后的播放起始时间或进度起始百分比等。
[0121 ] 步骤302,SS向RJ-FAC转发流媒体文件点播请求。
[0122]步骤303,RJ-FAC根据点播请求中流媒体文件ID向数据库(云存储系统中专门的数据库或者结构化数据存储系统)获取对应的所有文件分片的描述信息,进一步地,根据点播参数,例如跳转后的播放起始时间或进度起始百分比,查找目的文件分片的描述信息。
[0123]步骤304,RJ-FAC根据点播请求中的流媒体文件ID向FLR读取对应的所有文件分片的存储信息,并根据目的文件分片的描述信息查找目的文件分片的存储信息。
[0124]步骤305,RJ-FAC根据查找到的目的文件分片的存储信息(主要指文件分片ID、物理存放位置信息等),向FAS读取目的文件分片的数据。
[0125]或者,RJ-FAC向FAS读取目的文件分片及其后续连续的若干文件分片的数据。
[0126]步骤306,RJ-FAC将获取的目的文件分片的数据或者目的文件分片及其后续连续的若干文件分片的数据返回给ss,SS进行缓存。
[0127]步骤307,SS为播放器提供跳转后目标位置的传输播放服务。
[0128]为了实现上述快速跳转,本发明提供了如图4所示的装置,应用在RJ-FAC中,包括:流媒体接口模块1、快速跳转模块2、文件读写接口模块3和索引数据模块4,其中:
[0129]流媒体接口模块1,用于接收流媒体文件点播请求,其中携带流媒体文件ID和点播参数;并将流媒体文件点播请求提供给快速跳转模块2 (此处,流媒体接口模块I可以根据配置进行是否执行快速跳转的功能,如果是,将流媒体文件点播请求提供给快速跳转模块2);
[0130]快速跳转模块2,用于根据流媒体文件点播请求控制文件读写接口模块3读取文件分片的描述信息和文件分片的存储信息;
[0131]文件读写接口模块3,用于根据快速跳转模块2的控制,向数据库读取媒体文件ID对应的所有文件分片的描述信息,以及向FLR读取媒体文件ID对应的所有文件分片的存储
信息;
[0132]索引数据模块4,用于保存文件读写接口模块3读取的文件分片的描述信息和文件分片的存储信息;
[0133]快速跳转模块2,还用于从索引数据模块4加载文件分片的描述信息和文件分片的存储信息,根据点播参数查找目的文件分片的描述信息;还用于根据目的文件分片的描述信息查找目的文件分片的存储信息;
[0134]文件读写接口模块3,还用于根据快速跳转模块2的控制,依据快速跳转模块2提供的目的文件分片的存储信息到FAS读取目的文件分片的数据。
[0135]进一步地,文件读写接口模块3读取到目的文件分片的数据后,提供给SS,由SS为播放器提供跳转后目标位置的传输播放服务。
[0136]索引数据模块4,还用于将所有文件分片的描述信息转换为哈希表,将播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比作为索引;
[0137]快速跳转模块2,还用于从索引数据模块4加载文件分片的描述信息的哈希表,依据点播参数中包含的跳转后的播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比查找加载的哈希表,得到目的文件分片的描述信息。
[0138]快速跳转模块2,还用于将目的文件分片的描述信息依次与各个文件分片的存储信息进行比对,当流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID和文件分片大小相同时,则查找到目的文件分片的存储信息。
[0139]文件读写接口模块3,还用于根据目的文件分片的存储信息中的文件分片ID和物理存放位置信息到FAS读取目的文件分片的数据。
[0140]进一步地,在流媒体文件写入云存储系统的过程中:
[0141]文件读写接口模块3向FLR发送写入流媒体文件请求;并接收FLR返回的写入文件参数响应,其中携带提供服务的FAS列表和存储策略;按照存储策略对请求写入的流媒体文件进行分片,得到一个或多个文件分片;并从FAS列表选择指定的FAS,并将各个文件分片写入FAS;
[0142]文件读写接口模块3接收FAS返回保存文件分片成功响应,其中包含各个文件分片在FAS的物理存放位置信息;生成各个文件分片对应的描述信息,保存在数据库中;并向FLR申请记录注册,注册信息包括:流媒体文件名称和各个文件分片的存储信息;当FLR记录流媒体文件及其对应的各个文件分片的存储信息后,接收FLR返回的写入文件记录成功响应。
[0143]上述,文件读写接口模块3在将各个文件分片写入FAS以及到FAS读取目的文件分片的数据时,需要和分片存储处理模块5交互,由于分片存储处理模块5进行文件分片的读取和写入。
[0144]在上述方案中,播放器不再需要多次与流服务器的交互会话,而只需要一次交互即可,减少了流服务器计算资源开销,降低了播放器的计算开销和计算复杂度。流媒体服务器不再需要持续多次读取、缓存文件内容片段,而是获取由RJ-FAC提供的文件分片数据,减少了流服务器计算资源开销、减少缓存开销,并降低了流服务器与云存储系统之间网络带宽开销,提升了系统总体并发性能。另外,通过查找文件分片的方式仍然能够实现流媒体文件点播的快速跳转。
[0145]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【权利要求】
1.一种基于云存储的流媒体点播方法,其特征在于,该方法包括: RJ-FAC接收流媒体文件点播请求,其中携带流媒体文件ID和点播参数; RJ-FAC根据所述流媒体文件ID向数据库读取对应的所有文件分片的描述信息,并根据所述点播参数查找目的文件分片的描述信息; RJ-FAC根据所述流媒体文件ID向FLR读取对应的所有文件分片的存储信息,并根据目的文件分片的描述信息查找目的文件分片的存储信息; RJ-FAC根据查找到的目的文件分片的存储信息到FAS读取目的文件分片的数据。
2.根据权利要求1所述基于云存储的流媒体点播方法,其特征在于,所述点播参数至少包括:播放指示和跳转指示; 所述跳转指示包括:跳转后的播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比。
3.根据权利要求2所述基于云存储的流媒体点播方法,其特征在于,所述文件分片的描述信息,包括:流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID、文件分片大小、播放起始时间、播放结束时间、进度开始百分比和进度结束百分比。
4.根据权利要求3所述基于云存储的流媒体点播方法,其特征在于,所述文件分片的存储信息,包括:流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID、文件分片大小、 压缩指示、加密指示和物理存放位置信息。
5.根据权利要求4所述基于云存储的流媒体点播方法,其特征在于,所述根据所述点播参数查找目的文件分片的描述信息,为: 将所述所有文件分片的描述信息转换为哈希表,将播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比作为索引; 依据点播参数中包含的跳转后的播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比查找所述哈希表,得到目的文件分片的描述信息。
6.根据权利要求5所述基于云存储的流媒体点播方法,其特征在于,根据目的文件分片的描述信息查找目的文件分片的存储信息,为: 将目的文件分片的描述信息依次与各个文件分片的存储信息进行比对,当流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID和文件分片大小相同时,则查找到目的文件分片的存储信息。
7.根据权利要求6所述基于云存储的流媒体点播方法,其特征在于,所述RJ-FAC根据查找到的目的文件分片的存储信息到FAS读取目的文件分片的数据,为: RJ-FAC根据目的文件分片的存储信息中的文件分片ID和物理存放位置信息到FAS读取目的文件分片的数据。
8.根据权利要求1至7任一所述基于云存储的流媒体点播方法,其特征在于,接收流媒体文件点播请求之前,该方法还包括:将流媒体文件写入云存储系统。
9.根据权利要求8所述基于云存储的流媒体点播方法,其特征在于,所述将流媒体文件写入云存储系统,包括: RJ-FAC向FLR发起写入流媒体文件请求; FLR返回写入文件参数响应,告知RJ-FAC提供服务的FAS列表和存储策略; RJ-FAC按照存储策略对请求写入的流媒体文件进行分片,得到一个或多个文件分片;RJ-FAC从所述FAS列表选择指定的FAS,并将各个文件分片写入所述FAS ; FAS向RJ-FAC返回保存文件分片成功响应,响应消息中包含各个文件分片在FAS的物理存放位置信息; RJ-FAC生成各个文件分片对应的描述信息,保存在数据库中,并向FLR申请记录注册,注册信息包括:流媒体文件名称和各个文件分片的存储信息; FLR记录流媒体文件及其对应的各个文件分片的存储信息,并向RJ-FAC返回写入文件记录成功响应。
10.根据权利要求9所述基于云存储的流媒体点播方法,其特征在于, 所述写入流媒体文件请求,包括:流媒体文件的全路径文件名称、文件大小、压缩指示、加密指示以及扩展参数文件类型; 所述存储策略,包括:文件分片大小、文件分片副本数量、压缩指示和加密指示。
11.一种基于云存储的流媒体点播装置的装置,其特征在于,包括:流媒体接口模块、快速跳转模块、文件读写接口模块和索引数据模块,其中: 所述流媒体接口模块,用于接收流媒体文件点播请求,其中携带流媒体文件ID和点播参数;并将流媒体文件点播请求提供给快速跳转模块; 所述快速跳转模块,用 于根据所述流媒体文件点播请求控制所述文件读写接口模块读取文件分片的描述信息和文件分片的存储信息; 所述文件读写接口模块,用于根据所述快速跳转模块的控制,向数据库读取所述媒体文件ID对应的所有文件分片的描述信息,以及向FLR读取所述媒体文件ID对应的所有文件分片的存储信息; 所述索引数据模块,用于保存所述文件读写接口模块读取的文件分片的描述信息和文件分片的存储信息; 所述快速跳转模块,还用于从所述索引数据模块加载所述文件分片的描述信息和文件分片的存储信息,根据所述点播参数查找目的文件分片的描述信息;还用于根据目的文件分片的描述信息查找目的文件分片的存储信息; 所述文件读写接口模块,还用于根据所述快速跳转模块的控制,依据快速跳转模块提供的目的文件分片的存储信息到FAS读取目的文件分片的数据。
12.根据权利要求11所述基于云存储的流媒体点播装置的装置,其特征在于, 所述索引数据模块,还用于将所述所有文件分片的描述信息转换为哈希表,将播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比作为索引; 所述速跳转模块,还用于从所述索引数据模块加载所述文件分片的描述信息的哈希表,依据点播参数中包含的跳转后的播放起始时间和/或播放结束时间和/或进度开始百分比和/或进度结束百分比查找加载的哈希表,得到目的文件分片的描述信息。
13.根据权利要求12所述基于云存储的流媒体点播装置的装置,其特征在于, 所述速跳转模块,还用于将目的文件分片的描述信息依次与各个文件分片的存储信息进行比对,当流媒体文件ID、文件分片数量、文件分片副本数量、文件分片序号、文件分片ID和文件分片大小相同时,则查找到目的文件分片的存储信息。
14.根据权利要求13所述基于云存储的流媒体点播装置的装置,其特征在于,所述文件读写接口模块,还用于根据目的文件分片的存储信息中的文件分片ID和物理存放位置.信息到FAS读取目的文件分片的数据。
【文档编号】H04N21/239GK103634616SQ201210307668
【公开日】2014年3月12日 申请日期:2012年8月27日 优先权日:2012年8月27日
【发明者】柯尊友, 王伟, 叶郁文 申请人:中兴通讯股份有限公司