流媒体下载方法和装置的制造方法

文档序号:8383739阅读:638来源:国知局
流媒体下载方法和装置的制造方法
【技术领域】
[0001]本申请涉及计算机技术领域,具体涉及下载技术领域,尤其涉及流媒体下载方法和装置。
【背景技术】
[0002]随着多媒体技术的不断发展,多媒体文件的质量越来越高,其文件大小也在成倍的激增。流媒体作为一种可以边下载边播放的网络媒体格式,不仅可以使终端启动播放的延时成十倍、百倍地缩短,而且不需要终端具有太大的缓存容量,因此已经成为高质量多媒体文件的主流文件格式。
[0003]在现有技术中,流媒体的下载模式主要有两种:一种是单纯以原生的超文本传送协议HTTP单连接进行下载的方式;另一种是通过多线程并发HTTP连接对流媒体进行分段下载,最后将各片段合并成原始文件的下载方式。但是,单连接下载受制于传输控制协议TCP的慢启动和拥塞控制特性,对于网络的利用效率较低,影响了流媒体的下载效率;而使用多连接下载时,由于多连接本身会产生较多的额外开销(例如,每个连接的建立耗时),有时候甚至会出现多连接下载速度反而不如单个连接的情况,导致流媒体的下载效率较低。

【发明内容】

[0004]本申请提供了一种流媒体下载方法和装置。
[0005]第一方面,本申请提供了一种流媒体下载方法,该方法包括:确定至少两个试探连接数;采用所述试探连接数分别进行试探下载,获取各个试探连接数对应的第一下载信息;根据所述各个试探连接数对应的第一下载信息中的下载速度,确定下载连接数;采用所述下载连接数下载所述流媒体。
[0006]在某些实施方式中,所述根据所述各个试探连接数对应的第一下载信息中的下载速度,确定下载连接数包括:根据各个试探连接数与下载速度的对应关系,建立连接数与下载速度的关系模型;通过所述关系模型确定多个预设连接数对应的理论下载速度;将所述理论下载速度的最大值对应的预设连接数作为所述下载连接数。
[0007]在某些实施方式中,所述第一下载信息还包括下载时间损耗,所述根据所述第一下载信息确定下载连接数还包括:通过所述第一下载信息中的下载时间损耗对所述理论下载速度进行修正。
[0008]在某些实施方式中,所述下载时间损耗包括以下至少一项:域名系统解析时间;传输控制协议三次握手时间;头消息处理、发送时间;获取消息处理时间;传输控制协议层中套接字的连接、读写、选择时间;超文本传送协议层中各字段的发送、接收、处理时间。
[0009]在某些实施方式中,所述方法还包括:采用单连接下载所述流媒体;当检测到已下载的流媒体数据量是否达到预定数量时,执行所述对所述流媒体进行试探下载。
[0010]在某些实施方式中,所述第一下载信息包括所述单连接下载的下载信息。
[0011]在某些实施方式中,所述采用所述下载连接数下载所述流媒体包括:判断所述流媒体的待下载片段是否为预定片段;若是,采用单连接下载所述待下载片段;否则,采用所述下载连接数下载所述待下载片段。
[0012]在某些实施方式中,所述判断所述流媒体的待下载片段是否为预定片段包括:根据所述待下载片段的后缀名,判断所述待下载片段是否为预定片段;或通过估算所述待下载片段的下载用时,判断所述待下载片段是否为预定片段。
[0013]在某些实施方式中,所述方法还包括:获取下载所述待下载片段时的第二下载信息;通过所述第二下载信息更新所述第一下载信息。
[0014]在某些实施方式中,所述通过所述第二下载信息更新所述第一下载信息还包括:基于所述下载速度的变化情况,确定所述第二下载信息在所述第一下载信息中所占比例。
[0015]在某些实施方式中,所述方法还包括:通过随机概率确定是否使用随机连接数下载所述流媒体;若是,则将所述随机连接数作为所述下载连接数;否则,执行所述根据所述第一下载信息确定下载连接数。
[0016]在某些实施方式中,所述方法还包括:根据所述下载速度的变化情况,重置所述随机概率。
[0017]在某些实施方式中,所述随机概率在预定的阈值范围内。
[0018]在某些实施方式中,所述方法还包括:将对所述流媒体进行下载的下载连接保存在连接池中。
[0019]在某些实施方式中,同一域名下的固定数量的所述下载连接共享所述下载信息。
[0020]第二方面,本申请提供了一种流媒体下载装置,该装置包括:试探连接数确定模块、试探下载模块、连接数确定模块和流媒体下载模块,其中:试探连接数确定模块,用于确定至少两个试探连接数,并将所述试探连接数发送给试探下载模块;试探下载模块,用于采用所述试探连接数分别进行试探下载,获取各个试探连接数对应的第一下载信息,并将所述第一下载信息发送给连接数确定模块;连接数确定模块,用于根据所述各个试探连接数对应的第一下载信息中的下载速度,确定下载连接数,并将所述下载连接数发送给流媒体下载模块;流媒体下载模块,用于采用所述下载连接数下载所述流媒体。
[0021]在某些实施方式中,所述连接数确定模块包括:建模单元,用于根据各个试探连接数与下载速度的对应关系,建立连接数与下载速度的关系模型;速度确定单元,用于通过所述关系模型确定多个预设连接数对应的理论下载速度;连接数确定单元,用于将所述理论下载速度的最大值对应的预设连接数作为所述下载连接数。
[0022]在某些实施方式中,所述第一下载信息还包括下载时间损耗,所述连接数确定模块还包括:下载速度修正单元,用于通过所述第一下载信息中的下载时间损耗对所述理论下载速度进行修正。
[0023]在某些实施方式中,所述下载时间损耗包括以下至少一项:域名系统解析时间;传输控制协议三次握手时间;头消息处理、发送时间;获取消息处理时间;传输控制协议层中套接字的连接、读写、选择时间;超文本传送协议层中各字段的发送、接收、处理时间。
[0024]在某些实施方式中,所述装置还包括:单连接下载模块,用于采用单连接下载所述流媒体;所述试探下载模块进一步用于在检测到已下载的流媒体数据量达到预定数量时,对所述流媒体进行试探下载。
[0025]在某些实施方式中,所述第一下载信息包括所述单连接下载的下载信息。
[0026]在某些实施方式中,所述流媒体下载模块包括:待下载片段判断单元,用于判断所述流媒体的待下载片段是否为预定片段;第一下载单元,用于当所述待下载片段是预定片段时,采用单连接下载所述待下载片段;第二下载单元,用于当所述待下载片段不是预定片段时,采用所述下载连接数下载所述待下载片段。
[0027]在某些实施方式中,所述待下载片段判断单元包括:第一判断子单元,用于根据所述待下载片段的后缀名,判断所述待下载片段是否为预定片段;第二判断子单元,用于通过估算所述待下载片段的下载用时,判断所述待下载片段是否为预定片段。
[0028]在某些实施方式中,所述装置还包括:第二下载信息获取模块,用于获取下载所述待下载片段时的第二下载信息;第一下载信息更新模块,用于通过所述第二下载信息更新所述第一下载信息。
[0029]在某些实施方式中,所述第一下载信息更新模块还用于基于所述下载速度的变化情况,确定所述第二下载信息在所述第一下载信息中所占比例。
[0030]在某些实施方式中,所述装置还包括:随机下载确定模块,用于通过随机概率确定是否使用随机连接数下载所述流媒体;随机数确定模块,用于在确定使用随机连接数下载所述流媒体时,将所述随机连接数作为所述下载连接数;所述连接数确定模块,进一步用于在确定不使用随机连接数下载所述流媒体时,根据所述第一下载信息确定所述下载连接数。
[0031]在某些实施方式中,所述装置还包括:随机概率重置模块,用于根据所述下载速度的变化情况,重置所述随机概率。
[0032]在某些实施方式中,所述随机概率在预定的阈值范围内。
[0033]在某些实施方式中,所述装置还包括:连接保存模块,用于将对所述流媒体进行下载的下载连接保存在连接池中。
[0034]在某些实施方式中,同一域名下的固定数量的所述下载连接共享所述下载信息。
[0035]本申请提供的流媒体下载方法和装置,可以首先对流媒体进行试探下载,然后根据在试探下载的过程中获取的第一下载信息来确定下载连接数,最后采用该下载连接数进行流媒体的下载。本申请可以通过试探下载,获得影响流媒体下载效率的下载信息,然后根据该下载信息确定一个最适宜的下载连接数,从而提高流媒体的下载效率。
【附图说明】
[0036]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0037]图1是本申请流媒体下载方法的一个实施例的流程图;
[0038]图2是本申请对流媒体进行试探下载,获取第一下载信息的一个实施例的流程图;
[0039]图3是本申请根据各个试探连接数对应的第一下载信息中的下载速度,确定下载连接数的一个实施例的流程图;
[0040]图4是
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1