著录项信息
专利名称 | 多媒体文件的下载播放系统和方法 |
申请号 | CN200810085550.2 | 申请日期 | 2008-03-17 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2008-08-20 | 公开/公告号 | CN101247402 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;L;2;9;/;0;8;;;H;0;4;L;1;2;/;1;8查看分类表>
|
申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 | 广东省深圳市福田区振兴路赛格科技园2栋东403室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 腾讯科技(深圳)有限公司 | 当前权利人 | 腾讯科技(深圳)有限公司 |
发明人 | 关镇安;聂科峰 |
代理机构 | 北京派特恩知识产权代理事务所(普通合伙) | 代理人 | 张颖玲;王黎延 |
摘要
本发明公开了一种多媒体文件的下载播放系统和方法,系统包括:下载模块,其中设置有至少两种下载方式模块,利用至少两种下载方式模块并行下载多媒体文件;数据管理模块,用于保存管理所述下载模块下载的多媒体文件数据,为播放器提供播放数据;播放模块,用于启动播放器播放所下载的多媒体文件数据。方法包括:A、利用至少两种下载方式并行下载多媒体文件数据;B、对所述并行下载的多媒体文件数据进行管理,保存在本地;C、利用播放器播放所下载的多媒体文件数据。利用本发明,可以实现边下载边播放多媒体文件的同时提高下载速度和下载成功率。
1.一种多媒体文件的下载播放系统,其特征在于,包括:
下载模块,其中设置有至少两种下载方式模块,利用至少两种下载方式模块并行分片下载多媒体文件;
数据管理模块,用于将并行分片下载的分片数据按照分片顺序进行排序,并将排序后的分片数据整合到本地的一个文件中保存,为播放器提供播放数据;
播放模块,用于启动播放器播放所下载的多媒体文件数据;
其中,所述下载模块包括:下载记录上报单元、统计服务器、下载请求分析模块、至少两种下载方式模块、以及片控制模块;
所述每种下载方式模块,用于利用各自的下载协议下载数据;
所述下载记录上报单元,用于在本地每下载一个多媒体文件时,将该多媒体文件的信息和本次下载信息上报给统计服务器;
所述统计服务器,对数据进行整理,收集同一多媒体文件的至少两种下载方式的下载信息;
所述下载请求分析模块,用于在接收到新的多媒体文件下载请求后,将该下载请求中的下载信息发送给所述统计服务器,统计服务器根据该下载信息查询同一多媒体文件的其它下载信息并下发给所述下载请求分析模块;
所述片控制模块,用于确定所述下载请求中的下载信息对应的下载方式,以及确定统计服务器返回的下载信息所对应的下载方式,控制对应的下载方式模块分片下载所述多媒体文件数据。
2.根据权利要求1所述的系统,其特征在于,所述播放模块具体包括:
启动模块,用于监测数据管理模块中是否下载到足以播放的多媒体文件数据,当下载到足以播放的多媒体文件数据后,在本地启动播放器,生成所述多媒体文件数据在所述数据管理模块中的访问地址并通知给该播放器;
实时播放服务器,用于接收播放器的包括所述访问地址的下载播放请求,依据所述下载播放请求从所述数据管理模块中获取相应的数据返回给播放器进行播放。
3.一种多媒体文件的下载播放方法,其特征在于,包括:
A、利用至少两种下载方式并行分片下载多媒体文件数据;
B、将并行分片下载的分片数据按照分片顺序进行排序,并将排序后的分片数据整合到本地的一个文件中保存;
C、利用播放器播放所下载的多媒体文件数据;
其中,步骤A具体包括:
A1、预先在以往的下载过程中收集同一多媒体文件的至少两种下载方式的下载信息;
A2、在接收到新的多媒体文件下载请求后,根据该下载请求中的下载信息查询同一多媒体文件的其它下载信息;
A3、针对每种下载信息采用对应的下载方式并行分片下载所述多媒体文件数据。
4.根据权利要求3所述的方法,其特征在于,
所述步骤A1具体包括:在以往的下载过程中,每下载一个多媒体文件,计算该多媒体文件的哈希值,并将该多媒体文件的哈希值和本次下载信息上报给一统计服务器;统计服务器将具有相同哈希值的至少两个下载信息对应记录;
所述步骤A2具体包括:接收到新的多媒体文件下载请求后,将该下载请求中的下载信息发送给所述统计服务器,统计服务器根据该下载信息查找到具有相同哈希值的其它下载信息并返回查询结果。
5.根据权利要求3所述的方法,其特征在于,所述步骤A3具体包括:
针对所述待下载的多媒体文件,按照本地指定的划分策略为所述的每种下载方式划分对应的下载分片,并利用所述下载信息对应的下载方式依据所述下载信息下载相应的分片数据。
6.根据权利要求5所述的方法,其特征在于,当所述下载方式固有针对下载文件的划分策略、且该划分策略与所述本地指定的划分策略不同时,在利用该下载方式下载对应的分片数据之前进一步包括:将所述按照本地指定划分策略划分的分片格式转化为符合该下载方式固有划分策略的分片格式;并在后续下载过程中依据所述下载信息下载符合所述转化后分片格式的分片数据。
7.根据权利要求3所述的方法,其特征在于,所述步骤C进一步包括:在下载过程中判断下载到的多媒体文件数据是否足以播放,如果足以播放则实时播放所述多媒体文件数据。
8.根据权利要求7所述的方法,其特征在于,所述步骤C所述利用播放器实时播放所述多媒体文件数据具体为:
在本地启动一播放器和一实时播放服务器;生成多媒体文件数据在本地存储器中的访问地址通知给该播放器;所述播放器向所述实时播放服务器发送包含所述访问地址的下载播放请求,所述实时播放服务器根据所述下载播放请求从本地存储器中获取对应的多媒体文件数据并发送给所述播放器,所述播放器接收到数据并进行播放。
多媒体文件的下载播放系统和方法 \n技术领域\n[0001] 本发明涉及数据通信网络技术,尤其涉及一种数据通信网络中,多媒体文件的下载播放的系统和方法。 \n背景技术\n[0002] 随着数据通信网络的不断发展,业界陆续出现了许多可供用户下载网络数据资源的下载方式。例如目前主要包括以下几种下载方式: \n[0003] 比特彗星(BT,BitTorrent)下载方式,是一种基于BitTorrent协议的点对点(P2P,peer-to-peer)下载方式。 \n[0004] Ed2k下载方式,是一种基于Ed2k协议的P2P下载方式。 \n[0005] P2SP下载方式,P2SP有效地把原本孤立的服务器和其镜像资源以及P2P资源整合到了一起。也就是说,在下载的稳定性和下载的速度上,都比传统的P2P或点对服务器(P2S,peer-to-Server)有了非常大的提高。 \n[0006] 超文本传输协议(HTTP,Hyper Text Transferring Protocol)下载方式,该下载方式通过HTTP协议进行文件下载。HTTP是一种为了将位于全球各个地方的Web服务器中的内容发送给不特定多数用户而制订的协议。也就是说,可以把HTTP看作是旨在向不特定多数的用户“发放”文件的协议。 \n[0007] 文件传输协议(FTP,File Transfer Protocol)下载方式,用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的计算机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。 [0008] 对于多媒体数据资源,目前出现了一种边下载边播放多媒体文件的技术方案。该方案是基于P2P网络下载的多媒体文件实现实时播放的方法,其下载客户端包括一个播放模块和一个P2P数据传输模块,下载客户端通过P2P网络下载多媒体数据,同时传送给播放模块进行播放。 \n[0009] 但是,现有的这种边下载边播放多媒体数据的方案只能从P2P网络中下载,获取的方式单一,下载成功率和下载速度都比较低。 \n[0010] 发明内容\n[0011] 有鉴于此,本发明所要解决的技术问题在于提供一种多媒体文件的下载播放系统,以实现边下载边播放多媒体文件的同时提高下载速度和下载成功率。 [0012] 本发明所要解决的另一技术问题在于提供一种多媒体文件的下载播放方法,以实现边下载边播放多媒体文件的同时提高下载速度和下载成功率。 \n[0013] 为了实现上述发明目的,本发明的主要技术方案为: \n[0014] 一种多媒体文件的下载播放系统,包括: \n[0015] 下载模块,其中设置有至少两种下载方式模块,利用至少两种下载方式模块并行分片下载多媒体文件; \n[0016] 数据管理模块,用于将并行分片下载的分片数据按照分片顺序进行排序,并将排序后的分片数据整合到本地的一个文件中保存,为播放器提供播放数据; [0017] 播放模块,用于启动播放器播放所下载的多媒体文件数据。 \n[0018] 优选的,所述下载模块具体包括:下载记录上报单元、统计服务器、下载请求分析模块、至少两种下载方式模块、以及片控制模块; \n[0019] 所述每种下载方式模块,用于利用各自的下载协议下载数据; [0020] 所述下载记录上报单元用于在本地每下载一个多媒体文件时,将该多媒体文件的信息和本次下载信息上报给统计服务器; \n[0021] 所述统计服务器对数据进行整理,收集同一多媒体文件的至少两种下载方式的下载信息; \n[0022] 所述下载请求分析模块用于在接收到新的多媒体文件下载请求后,将该 下载请求中的下载信息发送给所述统计服务器,统计服务器根据该下载信息查询同一多媒体文件的其它下载信息并下发给所述下载请求分析模块; \n[0023] 所述片控制模块用于确定所述下载请求中的下载信息对应的下载方式,以及确定统计服务器返回的下载信息所对应的下载方式,控制对应的下载方式模块分片下载所述多媒体文件数据。 \n[0024] 优选的,所述播放模块具体包括: \n[0025] 启动模块,用于监测数据管理模块中是否下载到足以播放的多媒体文件数据,当下载到足以播放的多媒体文件数据后,在本地启动播放器,生成所述多媒体文件数据在所述数据管理模块中的访问地址并通知给该播放器; \n[0026] 实时播放服务器,用于接收播放器的包括所述访问地址的下载播放请求,依据所述下载播放请求从所述数据管理模块中获取相应的数据返回给播放器进行播放。 [0027] 一种多媒体文件的下载播放方法,包括: \n[0028] A、利用至少两种下载方式并行分片下载多媒体文件数据; \n[0029] B、将并行分片下载的分片数据按照分片顺序进行排序,并将排序后的分片数据整合到本地的一个文件中保存; \n[0030] C、利用播放器播放所下载的多媒体文件数据。 \n[0031] 优选的,步骤A具体包括: \n[0032] A1、预先在以往的下载过程中收集同一多媒体文件的至少两种下载方式的下载信息; \n[0033] A2、在接收到新的多媒体文件下载请求后,根据该下载请求中的下载信息查询同一多媒体文件的其它下载信息; \n[0034] A3、针对每种下载信息采用对应的下载方式并行分片下载所述多媒体文件数据。 [0035] 优选的,所述步骤A1具体包括:在以往的下载过程中,每下载一个多媒体文件,计算该多媒体文件的哈希值,并将该多媒体文件的哈希值和本次下载信息上报给一统计服务器;统计服务器将具有相同哈希值的至少两个下 载信息对应记录;所述步骤A2具体包括:\n接收到新的多媒体文件下载请求后,将该下载请求中的下载信息发送给所述统计服务器,统计服务器根据该下载信息查找到具有相同哈希值的其它下载信息并返回查询结果。 [0036] 优选的,所述步骤A3具体包括: \n[0037] 针对所述待下载的多媒体文件,按照本地指定的划分策略为所述的每种下载方式划分对应的下载分片,并利用所述下载信息对应的下载方式依据所述下载信息下载相应的分片数据。 \n[0038] 优选的,当所述下载方式固有针对下载文件的划分策略、且该划分策略与所述本地指定的划分策略不同时,在利用该下载方式下载对应的分片数据之前进一步包括:将所述按照本地指定划分策略划分的分片格式转化为符合该下载方式固有划分策略的分片格式;并在后续下载过程中依据所述下载信息下载符合所述转化后分片格式的分片数据。 [0039] 优选的,所述步骤C进一步包括:在下载过程中判断下载到的多媒体文件数据是否足以播放,如果足以播放则实时播放所述多媒体文件数据。 \n[0040] 优选的,所述步骤C所述利用播放器实时播放所述多媒体文件数据具体为: [0041] 在本地启动一播放器和一实时播放服务器;生成多媒体文件数据在本地存储器中的访问地址通知给该播放器;所述播放器向所述实时播放服务器发送包含所述访问地址的下载播放请求,所述实时播放服务器根据所述下载播放请求从本地存储器中获取对应的多媒体文件数据并发送给所述播放器,所述播放器接收到数据并进行播放。 [0042] 本发明中,可以利用两种或两种以上的下载方式,例如HTTP、FTP、BT、Ed2k、P2SP等下载方式,同时并行下载多媒体文件,大大提升了下载多媒体数据的速度和成功率,并且在下载到足以播放的多媒体数据后实时播放,相对于现有技术,可以在实现边下载边播放多媒体文件的同时提高下载速度和下载成功率。 \n附图说明\n[0043] 图1为本发明所述多媒体文件下载播放系统的组成示意图; \n[0044] 图2为本发明所述下载模块的组成示意图; \n[0045] 图3为本发明所述播放模块的组成示意图; \n[0046] 图4为本发明所述多媒体文件下载播放方法的主要流程图。 \n具体实施方式\n[0047] 下面通过具体实施例和附图对本发明做进一步详细说明。 \n[0048] 图1为本发明所述多媒体文件下载播放系统的组成示意图。参见图1,所述下载播放系统包括: \n[0049] 下载模块101,其中设置有至少两种下载方式模块,利用至少两种下载方式模块并行下载多媒体文件。所述下载方式模块可以是任一种具有下载数据功能的下载模块,例如图1中所示的一种实施方式中包括:HTTP下载方式模块、FTP下载方式模块、BT下载方式模块、Ed2k下载方式模块、以及P2SP下载方式模块。本发明可以根据实际下载需要利用其中的任意两种或两种以上的方式下载多媒体文件数据。 \n[0050] 数据管理模块102,用于保存管理所述下载模块101下载的多媒体文件数据,为播放器提供播放数据; \n[0051] 播放模块103,用于在下载到足以播放的多媒体文件数据后,启动播放器实时播放所下载的多媒体文件数据。 \n[0052] 图2为本发明所述下载模块的组成示意图。参见图2,该下载模块101具体包括:\n下载记录上报单元201、统计服务器202、下载请求分析模块203、片控制模块204、以及至少两种下载方式模块205。 \n[0053] 所述下载记录上报单元201用于分析以往的下载过程中,对于在本地下载的每一个多媒体文件,将该多媒体文件的信息和本次下载信息上报给统计服务器202,所述多媒体文件的信息可以是根据该多媒体文件的特征码计算出的哈希值。对于同一个多媒体文件,在采用不同下载方式下载时,其依据 的下载信息可能是不同的。所述下载信息一般是下载地址,对于没有固定下载地址的下载方式例如P2P网络上的BT方式或Ed2k方式,所述下载信息为多媒体文件的下载特征码,下载协议可以根据该下载特征码在P2P网络上下载文件。 \n[0054] 所述统计服务器202对数据进行整理,收集同一多媒体文件的至少两种下载方式的下载信息,即将具有相同哈希值的多媒体文件的至少两个下载信息对应记录。 [0055] 所述下载请求分析模块203在接收到新的多媒体文件下载请求后,将该下载请求中的下载信息发送给所述统计服务器202,统计服务器202根据该下载信息查询同一多媒体文件的其它下载信息,也就是查询具有相同哈希值的其它下载信息,并将查找到的下载信息下发给所述下载请求分析模块203,并由下载请求分析模块203进一步发给片控制模块204。 \n[0056] 片控制模块204,用于确定所述新收到下载请求中的下载信息对应的下载方式,以及确定统计服务器202返回的下载信息所对应的下载方式,控制对应的下载方式模块分片下载所述多媒体文件数据。 \n[0057] 下载方式模块205,其中包括至少两种具体的下载方式模块,每种下载方式模块利用各自的下载协议下载数据。例如在一种实施例中包括HTTP下载方式模块、FTP下载方式模块、BT下载方式模块、Ed2k下载方式模块、以及P2SP下载方式模块。 [0058] 所述片控制模块204针对所述待下载的多媒体文件,按照本地指定的划分策略为所述的每种下载方式划分对应的下载分片,利用所确定的各下载方式依据对应的下载信息下载相应的分片数据。在下载分片数据时,可以依据顺序下载或乱序下载等不同的下载策略。 \n[0059] 图3为本发明所述播放模块的组成示意图。参见图3,该播放模块103具体包括: [0060] 启动模块301,用于监测数据管理模块102中是否下载到足以播放的多媒体文件数据,当下载到足以播放的多媒体文件数据后,在本地启动一播放 器303,生成所述多媒体文件数据在本地数据管理模块102中的访问地址,通常是一个统一资源访问地址(URL),将该URL通知给该播放器303,并触发该播放器303打开所述URL。 \n[0061] 实时播放服务器302,用于接收播放器303的包括所述URL的下载播放请求,依据所述下载播放请求从所述数据管理模块102中获取相应的数据返回给播放器进行播放。所述实时播放服务器可以是HTTP实时播放服务器,或者为RSTP实时播放服务器。 [0062] 图4为本发明所述多媒体文件下载播放方法的主要流程图。参见图4,该流程主要包括: \n[0063] 步骤401、利用至少两种下载方式并行下载多媒体文件数据; \n[0064] 步骤402、对所述并行下载的多媒体文件数据进行管理,保存在本地; [0065] 步骤403、利用播放器播放所下载的多媒体文件数据。 \n[0066] 所述步骤401具体包括: \n[0067] 步骤411、预先在以往的下载过程中收集多媒体文件的至少两种下载方式的下载信息。即:在以往的各个下载过程中,下载客户端每下载一个多媒体文件,该下载客户端计算本次下载的多媒体文件的哈希值,并将该多媒体文件的哈希值和本次下载的下载信息上报给一统计服务器;该统计服务器将对数据进行整理,将具有相同哈希值的至少两个下载信息对应记录。 \n[0068] 步骤412、在下载客户端接收到新的多媒体文件下载请求后,根据该下载请求中的下载信息查询同一多媒体文件的其它下载信息。具体为:下载客户端在接收到新的多媒体文件下载请求后,将该下载请求中的下载信息发送给所述统计服务器,统计服务器根据该下载信息查找到具有相同哈希值的其它下载信息,并将查找到的下载信息返回给下载客户端。 \n[0069] 步骤413、确定所述新收到下载请求中的下载信息对应的下载方式,以及确定统计服务器返回的下载信息所对应的下载方式;针对每种下载信息采用对应的下载方式并行分片下载所述多媒体文件数据。此处,针对所述待下载的多媒体文件,按照本地指定的划分策略为所确定的各种下载方式划分对 应的下载分片,并利用所述下载信息对应的下载方式依据所述下载信息下载对应的分片数据。 \n[0070] 例如,在一种具体实施例中,所述的划分策略可以是按一定的大小将待下载的多媒体文件划分成一个个需要下载的数据片,并进行编号,例如将一个200MB的文件会以\n256KB的片进行划分,片号从1开始,总共分成800个片,可以将这800个片分配给两个或者两个以上的下载方式模块。假设此处下载请求中的下载信息是HTTP下载地址,查找到的另一个下载信息是BT特征码,那么在下载过程中,将所述800个片分配给HTTP下载方式模块和BT下载方式模块分别下载,每个下载方式模块下载分配给它的数据片,最后由数据管理模块进行整合。具体怎样划分下载分片可以由片控制模块进行控制,各个下载方式模块根据自身的特点申请自己要下载的片,片控制模块协调各个下载方式模块的片申请从而既保证所述多媒体文件可以被完整下载,又可以避免不同的下载方式模块下载重复的数据片。例如HTTP下载方式模块可以向片控制模块申请要下载编号为奇数的片数据,片控制模块决定是否由该HTTP下载方式模块下载该数据片,申请成功则由HTTP下载方式模块从所述HTTP下载地址下载相应的数据片;BT下载方式模块可以向片控制模块申请下载编号为偶数的数据片,片控制模块决定是否由该BT下载方式模块下载该数据片,申请成功则由该BT下载方式模块按照所述BT特征码下载相应的数据片。 \n[0071] 另外,对于某些下载方式,例如BT下载方式,其自身固有针对下载文件的划分策略。当某下载方式的划分策略与所述本地指定的划分策略不同时,例如BT下载方式如果以每片128KB为单位对文件进行划分,而本地的划分策略为以每片256KB为单位对文件进行划分,需要进一步将所述按照本地指定划分策略划分的分片格式转化为符合BT下载方式固有划分策略的分片格式;并在后续下载过程中按照对应的下载信息下载符合所述转化后分片格式的分片数据。例如按照本地划分策略将一个200MB的文件以256KB的片划分成\n800片,由BT下载方式下载其中的第n个片,假设n为小于等 于800的偶数,而按照BT下载方式可以划分为以128KB为单位的1600片,那么在BT下载之前,需要将n转化为2n和\n2n+1,即BT依照BT特征码下载的是第2n片和第2n+1。 \n[0072] 在下载过程中可以按照指定的下载策略进行分片下载,所述的下载策略可以是顺序下载或者乱序下载。 \n[0073] 分片数据下载到本地后,由于是各个下载方式并行分片下载,因此在步骤402中,数据管理模块将并行分片下载的分片数据按照分片编号顺序进行排序,并将排序后的分片数据整合到本地的一个文件中保存。对于一个待下载的多媒体文件,可以整合到同一个本地文件中。 \n[0074] 在步骤403中,可以实时监测当前是否下载到足以播放的多媒体文件数据,当下载到足以播放的多媒体文件数据后,进行实时播放,参见图3,实时播放过程具体包括: [0075] 步骤431、在用户本地计算机启动一个实时播放服务器,该实时播放服务器可以是HTTP实时播放服务器或者RTSP实时播放服务器。具体可以根据所要播放的多媒体文件数据的类型决定启动哪一个实时播放服务器,例如对于wmv和mp3等文件类型启动HTTP实时播放服务器,对于rm和rmvb文件类型的多媒体文件数据 \n[0076] 步骤432、生成一条可以让本地播放器打开的URL,该URL为所要播放的多媒体文件数据在本地存储器中的访问地址。 \n[0077] 步骤433、启动用户本地计算机的播放器,将所述URL发送给该播放器。 [0078] 步骤434、所述播放器打开所述URL,向实时播放服务器发出包含该URL的下载播放请求。 \n[0079] 步骤435、实时播放服务器接收到播放器的下载播放请求,向数据管理模块申请数据。 \n[0080] 步骤436、数据管理模块根据实时播放服务器的请求,从对应URL中查找出相应的数据并发送给实时播放服务器。 \n[0081] 步骤437、实时播放服务器将从数据管理模块获取的数据发送给播放器。 [0082] 步骤438、所述播放器接收到数据并进行播放。 \n[0083] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
法律信息
- 2011-09-14
- 2008-10-15
- 2008-08-20
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-10-25
|
2005-08-10
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2013-07-15 | 2013-07-15 | | |