一种多源下载性能优化方法及装置与流程

文档序号:12694717阅读:261来源:国知局
一种多源下载性能优化方法及装置与流程

本发明涉及网络内容分发技术领域,尤其涉及一种多源下载性能优化方法及装置。



背景技术:

文件下载作为最基础最普适的一项网络服务已经历经几代支持技术,包括直接内容分发(C/S)、内容分发网络(CDNs)、对等网络(P2P)以及基于云的技术。但是,目前的网络基础设施并不能够满足持续增长的用户数量和数据传输数量。因此,文件下载的性能(如下载速度和下载成功率)并不尽如人意。

为了给文件下载加速,许多网络服务和内容提供商采用了目前最新的文件下载方式——多源文件下载。在多源下载中,用户(即客户端)可以通过各种各样的内容分发技术和协议同时从多个数据源中获取被请求的文件的不同部分。比如:在一个P2P文件下载系统中,客户端可以维持几十个TCP对等点连接来并发地获取被请求文件的不同的数据块。当P2P这种下载模式被延伸到P2SP(peer-to-server&peer)这种混合模式后,用户除了可以从对等点中获取数据快,还可以从专用的服务器中获取数据块。直观地来看,多源下载能够有效地改善文件(尤其是大文件)下载的性能。很多先前的研究工作也确实证明了这一点。但是随着时间的推移,现在客户端和多个数据源之间的交互变得比几年前要复杂的多。如果多源下载协议不能够被合理地设计,相比于原始的单源下载,它可能会导致更差的性能以及更高的网络和财政开销。这种现象被称为多源下载的性能异常。尽管性能异常在客户端时有发生,但是目前仍然缺乏在真实系统中全面理解这些性能异常的研究工作,更不用说指导用户和开发者来处理这些异常现象了。

为了能够全面了解多源下载中的性能异常,之前的研究工作利用大规模的工业多源下载数据深入分析了七类最常用的下载技术(即C/S,免费C/S镜像,收费C/S镜像,免费内容分发网络,收费内容分发网络,网络服务商缓存,以及对等网络)的特征。目前工业界许多流行的下载器(比如:QQ旋风,迅雷等)中常用的多源下载流程如下:安装在客户端的下载器接收到用户的下载请求后,开始从原始的数据源中下载被请求的文件。同时,下载器的云端也会查询可用的数据源,并将找到的数据源告知客户端,使其从源链下载升级为多源下载,从而达到下载加速的目的。在下载完成后,客户端会将整个下载过程中记录的数据发送到下载器的云端。因此,利用这一过程中获取的日志数据,多源下载和源链下载的性能对比以及七类下载技术的特征可以被分析获得,并且多源下载中的性能异常现象也能被全面地分析总结。之前的研究工作发现的多源下载的性能异常主要有:文件流行度和该文件资源数量并不是完全正相关的;当下载中使用的数据源的下载时长不一致时,多源下载的下载性能往往会较差;多源下载中并不是使用越多的数据源下载其下载性能就越好;由于带宽等限制,收费的数据源往往性能会更差。为了能够理解这些异常的根本原因,研究工作中重点探索了多源下载中的一些通用测量指标(比如:下载速度,下载耗时,数据源数量,文件大小,文件流行度等)以及非常规的测量指标(比如:参与时间的多样性,抛弃率,估计的剩余下载时间等)。分析结果显示,当某次下载中某些测量指标的值明显异于其他下载中该指标的值时,其下载的性能往往并不如预期的理想性能。因此,通过实验分析,之前的工作总结出一些有效的并且实际可用的启示和结论来指导下载器的算法设计以便能够有效地处理多源下载中出现的这些异常。



技术实现要素:

本发明的目的在于通过一种多源下载性能优化方法及装置,来解决以上背景技术部分提到的问题。

为达此目的,本发明采用以下技术方案:

一种多源下载性能优化方法,其包括如下步骤:

S101、云端对已有的日志数据进行整理并按照下载时使用的数据源的数目进行分类,找出使用相同数目的数据源进行下载的所有日志;

S102、云端对已分类的各类日志数据进行对比分析,统计得到每类数据中不同文件大小的各种测量指标的最大值、最小值、中位数值和均值;

S103、云端对统计得到的测量指标的值综合地进行对比分析,总结归纳出不同特征的下载适用的下载方案;

S104、云端将具有不同特征的下载适用的下载方案汇总后发送给客户端;

S105、客户端在下载过程中收集数据并分析,得到当前的下载性能;

S106、客户端将当前的下载性能和下载文件的特征作为本次下载的特征信息,选择最优的下载方案进行调整以优化多源下载的性能。

特别地,所述步骤S101包括:云端对下载日志按照用户ID,文件ID和下载完成时间这三列从小到大进行排序;将具有相同的用户ID,文件ID和下载完成时间的记为一次下载,一次下载中日志条数即为使用的数据源的数目;将具有相同数据源数目的下载归为一类。

特别地,所述步骤S102包括:将每一类日志数据按照文件大小从小到大进行排序;计算每一类数据中不同文件大小的下载的各类测量指标的最大值、最小值、中位数值和均值,所需要计算的测量指标包括:下载平均速度(AS),下载成功率(SR),下载抛弃率(AR),数据源参与时间的多样性(DPT)。

特别地,所述步骤S102中下载平均速度(AS),下载成功率(SR),下载抛弃率(AR),数据源参与时间的多样性(DPT)的计算方法如下:

其中,DownloadSize表示下载的字节数,DownloadTime表示已经下载的时长,SuccessNumber表示下载成功的任务数,TotalNumber表示所有的下载任务数,CancelNumber表示用户主动取消的任务数,Ti表示一次下载任务中第i个数据源参与下载的时长,Tmax表示一次下载任务中所有数据源参与下载的最大时长,Tmin表示一次下载任务中所有数据源参与下载的最小时长,表示一次下载任务中所有数据源参与下载时长的平均值。

特别地,所述步骤S103包括:比较在使用不同数量的数据源和不同的文件大小下,多源下载的平均速度,下载成功率以及数据源参与时间的多样性这三个测量指标,分析得到不同文件大小的下载中所需使用数据源的数量的上限;

比较在数据源收费和免费情况下,多源下载的平均速度,下载成功率以及下载抛弃率这三个测量指标,分析得到收费文件采用的下载策略,即优先使用免费数据源进行下载。

特别地,所述步骤S105包括:获取实时下载中的文件大小、当前使用的数据源数量、每条数据源参与下载的时长及对应已下载的字节数、每条数据源所使用的资源类型即收费或免费;计算得到每条数据源的实时平均下载速度(AS)。

特别地,所述步骤S106包括:如果当前使用的数据源数量小于或者等于数据源数量使用上限且使用的数据源都为免费资源,则保持当前的下载链接;

如果使用的数据源中有收费资源,则用免费资源替换收费资源,若无免费资源可用,继续使用收费资源进行下载;

如果当前使用的数据源数量大于数据源数量使用上限,则中断质量较差的数据源即下载平均速度较低的数据源。

与上述多源下载性能优化方法对应,本发明还公开了一种多源下载性能优化装置,该装置包括:

日志数据分析模块,用于通过云端对已有的日志数据进行整理并按照下载时使用的数据源的数目进行分类,找出使用相同数目的数据源进行下载的所有日志;

分类数据统计模块,用于通过云端对已分类的各类日志数据进行对比分析,统计得到每类数据中不同文件大小的各种测量指标的最大值、最小值、中位数值和均值;

特征方案关联模块,用于通过云端对统计得到的测量指标的值综合地进行对比分析,总结归纳出不同特征的下载适用的下载方案;

数据传递模块,用于通过云端将具有不同特征的下载适用的下载方案汇总后发送给客户端;

实时数据分析模块,用于客户端在下载过程中收集数据并分析,得到当前的下载性能;

下载方案选择模块,用于客户端将当前的下载性能和下载文件的特征作为本次下载的特征信息,选择最优的下载方案进行调整以优化多源下载的性能。

本发明提出的多源下载性能优化方法及装置通过采用对云端的日志数据进行分类,按照要求找出相同类型的日志数据;对分类后的日志数据的各类测量指标进行分析对比,统计并计算得到需要的结果;对测量指标的结果综合地进行对比分析,根据不同下载的特征,设置适用的下载方案;将云端分析后得到的下载方案发送到客户端;对下载过程中实时获取的数据进行分析,得到当前下载的性能;对当前下载与已有的下载方案进行匹配,选择合适的下载方案的方法和相应的装置,解决了目前多源下载中使用较多的数据源下载的性能反而较差以及使用收费数据源下载的抛弃率更高等问题。

附图说明

图1为本发明实施例提供的多源下载性能优化方法流程图;

图2为本发明实施例提供的多源下载性能优化装置示意图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容理解的更加透彻全面。需要说明的是,当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

请参照图1所示,图1为本发明实施例提供的多源下载性能优化方法流程图。本实施例中多源下载性能优化方法包括如下步骤:

S101、云端对已有的日志数据进行整理并按照下载时使用的数据源的数目进行分类,找出使用相同数目的数据源进行下载的所有日志。

云端对下载日志按照用户ID,文件ID和下载完成时间这三列从小到大进行排序;如果在一个下载任务中使用了N条数据源,那么这N条数据源有相同的文件ID,用户ID和下载完成时间,由此可以对不同的下载任务进行区分;将具有相同的用户ID,文件ID和下载完成时间的记为一次下载,一次下载中日志条数即为使用的数据源的数目;将具有相同数据源数目的下载归为一类:记下载任务A中使用的数据源数目为Na,下载任务B中使用的数据源数目为Nb,如果Na=Nb,则他们属于一类下载,否则不属于同一类下载。

S102、云端对已分类的各类日志数据进行对比分析,统计得到每类数据中不同文件大小的各种测量指标的最大值、最小值、中位数值和均值。

将每一类日志数据按照文件大小从小到大进行排序:若步骤S101中得到了k类下载,分别用S1,S2,……,Sk表示得到的k类下载的日志数据集合。现以Si为例具体说明步骤S102。将Si中的日志数据按照文件大小从小到大排序。

计算每一类数据中不同文件大小的下载的各类测量指标的最大值、最小值、中位数值和均值,所需要计算的测量指标包括:下载平均速度(AS),下载成功率(SR),下载抛弃率(AR),数据源参与时间的多样性(DPT),分别记为ASi,SRi,ARi,DPTi

下载平均速度(AS),下载成功率(SR),下载抛弃率(AR),数据源参与时间的多样性(DPT)的计算方法如下:

其中,DownloadSize表示下载的字节数,DownloadTime表示已经下载的时长,SuccessNumber表示下载成功的任务数,TotalNumber表示所有的下载任务数,CancelNumber表示用户主动取消的任务数,Ti表示一次下载任务中第i个数据源参与下载的时长,Tmax表示一次下载任务中所有数据源参与下载的最大时长,Tmin表示一次下载任务中所有数据源参与下载的最小时长,表示一次下载任务中所有数据源参与下载时长的平均值。

S103、云端对统计得到的测量指标的值综合地进行对比分析,总结归纳出不同特征的下载适用的下载方案。

综合比较在使用不同数量的数据源和不同的文件大小下,多源下载的平均速度,下载成功率以及数据源参与时间的多样性这三个测量指标,分析得到不同文件大小的下载中所需使用数据源的数量的上限;

由于在多源下载中出现的异常,即使用较多的数据源下载的性能反而较差,因此,对于下载不同大小的文件,在使用不同数量的数据源时,上述三个测量指标的值总是呈现较为规律性的波动,从而可以分析得到不同文件大小的下载中使用数据源的数量的最佳上限;

综合比较在数据源收费和免费情况下,多源下载的平均速度,下载成功率以及下载抛弃率这三个测量指标。之前的研究工作发现使用收费数据源下载的抛弃率更高,通过分析发现一般情况下,服务商会对采用收费资源的下载进行限速,从而会使得下载速度过低进而引起较高的下载抛弃率,因此对于收费文件,其最优的下载策略为优先使用免费数据源进行下载。

S104、云端将具有不同特征的下载适用的下载方案汇总后发送给客户端。

在这个过程中,需要发送的数据为不同文件大小对应的数据源数量的使用上限。

S105、客户端在下载过程中收集数据并分析,得到当前的下载性能。

在这个过程中,需要获取的数据主要有实时下载中的文件大小、当前使用的数据源数量N、每条数据源参与下载的时长及对应已下载的字节数、每条数据源所使用的资源类型即收费或免费;计算得到每条数据源的实时平均下载速度。

S106、客户端将当前的下载性能和下载文件的特征作为本次下载的特征信息,选择最优的下载方案进行调整以优化多源下载的性能。

当文件大小为F时,如果当前使用的数据源数量N小于或者等于数据源数量使用上限Nf且使用的数据源都为免费资源,则保持当前的下载链接;

当文件大小为F时,如果使用的数据源中有收费资源,则用免费资源替换收费资源,若无免费资源可用,继续使用收费资源进行下载;

当文件大小为F时,如果当前使用的数据源数量N大于数据源数量使用上限Nf,则中断质量较差的数据源即下载平均速度较低的数据源。值得一提的是,所述“下载平均速度较低”中具体下载速度低于哪个阈值即认为此时的下载平均速度较低,可根据实际情况进行灵活设置。

如图2所示,图2为本发明实施例提供的多源下载性能优化装置示意图。

与上述多源下载性能优化方法对应,本实施例还公开了一种多源下载性能优化装置,该装置具体包括:

日志数据分析模块201,用于通过云端对已有的日志数据进行整理并按照下载时使用的数据源的数目进行分类,找出使用相同数目的数据源进行下载的所有日志。

云端对下载日志按照用户ID,文件ID和下载完成时间这三列从小到大进行排序;如果在一个下载任务中使用了N条数据源,那么这N条数据源有相同的文件ID,用户ID和下载完成时间,由此可以对不同的下载任务进行区分;将具有相同的用户ID,文件ID和下载完成时间的记为一次下载,一次下载中日志条数即为使用的数据源的数目;将具有相同数据源数目的下载归为一类:记下载任务A中使用的数据源数目为Na,下载任务B中使用的数据源数目为Nb,如果Na=Nb,则他们属于一类下载,否则不属于同一类下载。

分类数据统计模块202,用于通过云端对已分类的各类日志数据进行对比分析,统计得到每类数据中不同文件大小的各种测量指标的最大值、最小值、中位数值和均值。

将每一类日志数据按照文件大小从小到大进行排序:若步骤S101中得到了k类下载,分别用S1,S2,……,Sk表示得到的k类下载的日志数据集合。现以Si为例具体说明步骤S102。将Si中的日志数据按照文件大小从小到大排序。

计算每一类数据中不同文件大小的下载的各类测量指标的最大值、最小值、中位数值和均值,所需要计算的测量指标包括:下载平均速度(AS),下载成功率(SR),下载抛弃率(AR),数据源参与时间的多样性(DPT),分别记为ASi,SRi,ARi,DPTi

下载平均速度(AS),下载成功率(SR),下载抛弃率(AR),数据源参与时间的多样性(DPT)的计算方法同上述方法。

特征方案关联模块203,用于通过云端对统计得到的测量指标的值综合地进行对比分析,总结归纳出不同特征的下载适用的下载方案。

综合比较在使用不同数量的数据源和不同的文件大小下,多源下载的平均速度,下载成功率以及数据源参与时间的多样性这三个测量指标,分析得到不同文件大小的下载中所需使用数据源的数量的上限;

由于在多源下载中出现的异常,即使用较多的数据源下载的性能反而较差,因此,对于下载不同大小的文件,在使用不同数量的数据源时,上述三个测量指标的值总是呈现较为规律性的波动,从而可以分析得到不同文件大小的下载中使用数据源的数量的最佳上限;

综合比较在数据源收费和免费情况下,多源下载的平均速度,下载成功率以及下载抛弃率这三个测量指标。之前的研究工作发现使用收费数据源下载的抛弃率更高,通过分析发现一般情况下,服务商会对采用收费资源的下载进行限速,从而会使得下载速度过低进而引起较高的下载抛弃率,因此对于收费文件,其最优的下载策略为优先使用免费数据源进行下载。

数据传递模块204,用于通过云端将具有不同特征的下载适用的下载方案汇总后发送给客户端。

在这个过程中,需要发送的数据为不同文件大小对应的数据源数量的使用上限。

实时数据分析模块205,用于客户端在下载过程中收集数据并分析,得到当前的下载性能。

在这个过程中,需要获取的数据主要有实时下载中的文件大小、当前使用的数据源数量N、每条数据源参与下载的时长及对应已下载的字节数、每条数据源所使用的资源类型即收费或免费;计算得到每条数据源的实时平均下载速度。

下载方案选择模块206,用于客户端将当前的下载性能和下载文件的特征作为本次下载的特征信息,选择最优的下载方案进行调整以优化多源下载的性能。

当文件大小为F时,如果当前使用的数据源数量N小于或者等于数据源数量使用上限Nf且使用的数据源都为免费资源,则保持当前的下载链接;

当文件大小为F时,如果使用的数据源中有收费资源,则用免费资源替换收费资源,若无免费资源可用,继续使用收费资源进行下载;

当文件大小为F时,如果当前使用的数据源数量N大于数据源数量使用上限Nf,则中断质量较差的数据源即下载平均速度较低的数据源。值得一提的是,所述“下载平均速度较低”中具体下载速度低于哪个阈值即认为此时的下载平均速度较低,可根据实际情况进行灵活设置。

本发明的技术方案通过采用对云端的日志数据进行分类,按照要求找出相同类型的日志数据;对分类后的日志数据的各类测量指标进行分析对比,统计并计算得到需要的结果;对测量指标的结果综合地进行对比分析,根据不同下载的特征,设置适用的下载方案;将云端分析后得到的下载方案发送到客户端;对下载过程中实时获取的数据进行分析,得到当前下载的性能;对当前下载与已有的下载方案进行匹配,选择合适的下载方案的方法和相应的装置,解决了目前多源下载中使用较多的数据源下载的性能反而较差以及使用收费数据源下载的抛弃率更高等问题。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

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