CN111385315B - 点对点资源下载方法和装置 - Google Patents
点对点资源下载方法和装置 Download PDFInfo
- Publication number
- CN111385315B CN111385315B CN201811609382.2A CN201811609382A CN111385315B CN 111385315 B CN111385315 B CN 111385315B CN 201811609382 A CN201811609382 A CN 201811609382A CN 111385315 B CN111385315 B CN 111385315B
- Authority
- CN
- China
- Prior art keywords
- node
- downloading
- resource
- target resource
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种点对点资源下载方法,应用于下载节点,该方法包括:确定目标资源所对应的目标资源节点,目标资源节点用于提供目标资源;基于目标资源的可播放区和下载节点的可下载区中至少一项,从多个下载策略中确定出目标下载策略,下载策略用于反映资源节点的优先程度与上传参数之间的相关关系;基于目标下载策略和目标资源节点的上传参数,确定目标资源节点的优先程度;基于目标资源节点的优先程度,从目标资源节点中确定出至少一个上传节点,并从至少一个上传节点下载待下载资源,上传节点的优先程度满足预设条件。采用本方案进行资源下载,能够在不同的情况下采用不同的资源下载策略,使得对用户需求和运营成本的兼顾成为可能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及点对点资源下载方法和装置。
背景技术
随着互联网技术的发展,各种资源共享方式层出不穷。其中,基于点对点P2P(全称Peer to Peer)技术的下载方式,由于能够直接将资源的提供方和需求方联系起来,使得双方可以直接传递数据,而不再需要通过服务器进行数据传输,因此,网络用户之间的资源分享变得更容易,交互更便利。
由于不同资源提供方提供资源的能力参差不齐,所产生的运营成本也有所不同,因此,亟需一种点对点资源下载方法,能够在不同的情况下采用不同的资源下载策略,使得对用户需求和运营成本的兼顾成为可能。
发明内容
本申请实施例提供了点对点资源下载方法和装置,能够在不同的情况下采用不同的资源下载策略,使得对用户需求和运营成本的兼顾成为可能。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种点对点资源下载方法,应用于下载节点,其中,所述方法包括:
确定目标资源所对应的目标资源节点,所述目标资源节点用于提供所述目标资源;
基于所述目标资源的可播放区和所述下载节点的可下载区中至少一项,从多个下载策略中确定出目标下载策略,所述下载策略用于反映资源节点的优先程度与上传参数之间的相关关系;
基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度;
基于所述目标资源节点的优先程度,从所述目标资源节点中确定出至少一个上传节点,并从所述至少一个上传节点下载所述待下载资源,所述上传节点的优先程度满足预设条件。
可选的,本申请实施例第一方面提供的方法中,基于所述目标资源的可播放区,从多个下载策略中确定出目标下载策略,包括:
在所述可播放区小于第一阈值的情况下,将第一下载策略确定为所述目标下载策略;
在所述可播放区介于所述第一阈值和第二阈值之间的情况下,将第二下载策略确定为所述目标下载策略;
在所述可播放区大于所述第二阈值的情况下,将第三下载策略确定为所述目标下载策略;
其中,所述第一下载策略所对应的下载紧急等级高于所述第二下载策略所对应的下载紧急等级,所述第二下载策略所对应的下载紧急等级高于所述第三下载策略所对应的下载紧急等级。
可选的,本申请实施例第一方面提供的方法中,基于所述下载节点的可下载区,从多个下载策略中确定出目标下载策略,包括:
在所述可下载区小于第四阈值的情况下,将第三下载策略确定为所述目标下载策略;
在所述可下载区介于所述第四阈值和第五阈值之间的情况下,将第二下载策略确定为所述目标下载策略;
在所述可下载区大于所述第五阈值的情况下,将第一下载策略确定为所述目标下载策略;
其中,所述第一下载策略所对应的下载紧急等级高于所述第二下载策略所对应的下载紧急等级,所述第二下载策略所对应的下载紧急等级高于所述第三下载策略所对应的下载紧急等级。
可选的,本申请实施例第一方面提供的方法中,所述上传参数包括资源节点的付费属性信息,所述付费属性信息为付费或非付费;
则基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度,包括以下至少一项:
在所述目标下载策略为所述第一下载策略的情况下,确定付费属性信息为付费的目标资源节点的优先程度高于付费属性信息为非付费的目标资源节点;
在所述目标下载策略为所述第二下载策略的情况下,确定付费属性信息为付费的目标资源节点的优先程度低于付费属性信息为非付费的目标资源节点;
在所述目标下载策略为所述第三下载策略的情况下,确定付费属性信息为付费的目标资源节点的优先程度低于付费属性信息为非付费的目标资源节点。
可选的,本申请实施例第一方面提供的方法中,所述上传参数包括资源节点的能力参数,所述能力参数与所述目标资源相对应;
则基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度,包括以下至少一项:
在所述目标下载策略为所述第一下载策略的情况下,确定所述目标资源节点的优先程度与该目标资源节点的能力参数正相关;
在所述目标下载策略为所述第二下载策略的情况下,确定所述目标资源节点的优先程度与该目标资源节点的能力参数正相关;
在所述目标下载策略为所述第三下载策略的情况下,确定所述目标资源节点的优先程度与该目标资源节点的能力参数负相关。
可选的,本申请实施例第一方面提供的方法中,所述方法还包括:
从服务器获取所述目标资源节点的初始能力参数,所述初始能力参数由所述服务器基于所述目标资源节点的历史任务处理信息确定;
则基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度,具体为:
基于所述目标下载策略和所述目标资源节点的初始能力参数,确定所述目标资源节点的优先程度。
可选的,本申请实施例第一方面提供的方法中,在从所述至少一个上传节点下载所述待下载资源之后,所述方法还包括:
确定与所述至少一个上传节点中各上传节点分别相对应的当前任务处理信息,所述当前任务处理信息用于反映所对应上传节点提供所述待下载资源的情况;
基于所述当前任务处理信息,重新确定所对应上传节点的能力参数,并将重新确定后的能力参数,确定为所对应上传节点的能力参数。
可选的,本申请实施例第一方面提供的方法中,所述当前任务处理信息包括所对应上传节点在提供所述待下载资源时的任务完成数、未完成任务数和当前任务数;
则基于所述当前任务处理信息,重新确定所对应上传节点的能力参数,包括:
对所述任务完成数与所述当前任务数进行线性加权,得到线性加权和;
计算所述线性加权和与所述未完成任务数的差值;
基于所述差值确定所对应上传节点的能力参数。
可选的,本申请实施例第一方面提供的方法中,从所述至少一个上传节点下载所述待下载资源,包括:
基于所述待下载资源,确定多个资源下载任务;
将所述多个资源下载任务分发至所述至少一个上传节点,以使各上传节点提供与所述资源下载任务相对应的资源。
可选的,本申请实施例第一方面提供的方法中,将所述多个资源下载任务分发至所述至少一个上传节点,包括:
以任一上传节点作为当前节点,在所述当前节点在预设任务时间内完成第一下载任务的情况下,根据所述当前节点完成所述第一下载任务所耗费的时间,确定待分发至所述当前节点的第二下载任务的数量,所述第一下载任务为分发至所述当前节点的任意一批资源下载任务;
将所述第二下载任务分发至所述当前节点。
可选的,本申请实施例第一方面提供的方法中,根据所述当前节点完成所述第一下载任务所耗费的时间,确定待分发至所述当前节点的第二下载任务的数量,包括:
根据所述当前节点完成所述第一下载任务所耗费的时间与所述预设任务时间的比例关系,确定所述第二下载任务的数量,所述第二下载任务的数量与所述比例关系负相关。
可选的,本申请实施例第一方面提供的方法中,根据所述当前节点完成所述第一下载任务所耗费的时间,确定待分发至所述当前节点的第二下载任务的数量,包括:
在所述当前节点完成所述第一下载任务所耗费的时间小于或者等于所述预设任务时间的一半的情况下,确定所述第二下载任务的数量为所述第一下载任务的数量的两倍;
在所述当前节点完成所述第一下载任务所耗费的时间大于所述预设任务时间的一半的情况下,确定所述第二下载任务的数量等于所述第一下载任务的数量。
可选的,本申请实施例第一方面提供的方法中,将所述多个资源下载任务分发至所述至少一个上传节点,包括:
以任一上传节点作为当前节点,在所述当前节点未在预设任务时间内完成第一下载任务的情况下,根据所述第一下载任务的数量,确定待分发至所述当前节点的第二下载任务的数量,所述第一下载任务为分发至所述当前节点的任意一批资源下载任务;
将所述第二下载任务分发至所述当前节点。
可选的,本申请实施例第一方面提供的方法中,根据所述第一下载任务的数量,确定待分发至所述当前节点的第二下载任务的数量,包括:
在所述第一下载任务的数量大于1的情况下,确定所述第二下载任务的数量为1;
在所述第一下载任务的数量等于1的情况下,确定所述第二下载任务的数量为0,并在预设时间段内停止向所述当前节点分发资源下载任务。
可选的,本申请实施例第一方面提供的方法中,基于所述待下载资源,确定多个资源下载任务,包括:
确定任务切分步长;
基于所述任务切分步长,对所述待下载资源进行切分,得到多个资源下载任务。
可选的,本申请实施例第一方面提供的方法中,确定任务切分步长,包括以下至少一项:
根据所述上传节点的能力参数,确定所述任务切分步长;
根据所述上传节点完成下载任务所耗费的时间,确定所述任务切分步长。
可选的,本申请实施例第一方面提供的方法中,确定目标资源所对应的目标资源节点,包括:
向服务器发送资源获取请求,所述资源获取请求中包括目标资源标识;
接收所述服务器基于所述资源获取请求返回的目标资源节点信息,所述目标资源节点信息中包括所述目标资源节点的上传参数。
可选的,本申请实施例第一方面提供的方法中,所述目标资源为直播资源和/或点播资源。
第二方面,本申请实施例提供一种点对点资源下载方法,应用于服务器,其中,所述方法包括:
提供目标资源所对应的目标资源节点信息,所述目标资源节点信息包括目标资源节点的上传参数,所述目标资源节点用于提供所述目标资源。
可选的,本申请实施例第二方面提供的方法中,提供目标资源所对应的目标资源节点信息,包括:
接收下载节点发送来的资源获取请求,所述资源获取请求中包括目标资源标识;
基于所述资源获取请求,确定与所述目标资源标识相对应的目标资源,并确定与所述目标资源相对应的候选资源节点;
基于所述候选资源节点的上传参数,确定所述目标资源节点,并向所述下载节点返回所述目标资源节点信息。
可选的,本申请实施例第二方面提供的方法中,所述资源获取请求中还包括所述下载节点的地区信息和运营商信息中至少一项;
则确定与所述目标资源相对应的候选资源节点,具体为:
基于所述下载节点的地区信息和运营商信息中至少一项,确定所述候选资源节点。
可选的,本申请实施例第二方面提供的方法中,所述上传参数包括候选资源节点的初始能力参数;
则在提供目标资源所对应的目标资源节点信息之前,所述方法还包括:
获取所述候选资源节点的历史任务处理信息,所述历史任务处理信息包括所述候选资源节点在提供所述目标资源时的历史任务完成数、历史未完成任务数和当前剩余任务数;
基于所述历史任务处理信息,确定所述候选资源节点的初始能力参数。
可选的,本申请实施例第二方面提供的方法中,所述上传参数包括候选资源节点的付费属性信息,所述付费属性信息为付费或非付费;
则在提供目标资源所对应的目标资源节点信息之前,所述方法还包括:
确定所述候选资源节点的付费属性信息。
第三方面,本申请实施例提供一种点对点资源下载方法,应用于下载节点,其中,所述方法包括:
确定目标资源所对应的上传节点,所述上传节点用于提供所述目标资源;
基于所述目标资源中的待下载资源,确定多个资源下载任务;
将所述多个资源下载任务分发至所述上传节点,以使所述上传节点提供与所述资源下载任务相对应的资源。
第四方面,本申请实施例提供一种点对点资源下载装置,应用于下载节点,其中,所述装置包括:
目标资源节点确定模块,用于确定目标资源所对应的目标资源节点,所述目标资源节点用于提供所述目标资源;
下载策略确定模块,用于基于所述目标资源的可播放区和所述下载节点的可下载区中至少一项,从多个下载策略中确定出目标下载策略,所述下载策略用于反映资源节点的优先程度与上传参数之间的相关关系;
优先程度确定模块,用于基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度;
资源下载模块,用于基于所述目标资源节点的优先程度,从所述目标资源节点中确定出至少一个上传节点,并从所述至少一个上传节点下载所述待下载资源,所述上传节点的优先程度满足预设条件。
第五方面,本申请实施例提供一种点对点资源下载装置,应用于服务器,其中,所述装置包括:
目标资源节点信息确定模块,用于提供目标资源所对应的目标资源节点信息,所述目标资源节点信息包括目标资源节点的上传参数,所述目标资源节点用于提供所述目标资源。
第六方面,本申请实施例提供一种点对点资源下载装置,应用于下载节点,其中,所述装置包括:
上传节点确定模块,用于确定目标资源所对应的上传节点,所述上传节点用于提供所述目标资源;
任务确定模块,用于基于所述目标资源中的待下载资源,确定多个资源下载任务;
任务分发模块,用于将所述多个资源下载任务分发至所述上传节点,以使所述上传节点提供与所述资源下载任务相对应的资源。
第七方面,本申请实施例提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行本申请实施例第一方面提供的点对点资源下载方法。
第八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行本申请实施例第一方面提供的点对点资源下载方法。
第九方面,本申请实施例提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行本申请实施例第二方面提供的点对点资源下载方法。
第十方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行本申请实施例第二方面提供的点对点资源下载方法。
第十一方面,本申请实施例提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行本申请实施例第三方面提供的点对点资源下载方法。
第十二方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行本申请实施例第三方面提供的点对点资源下载方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例中,下载节点可以根据目标资源的可播放区和/或下载节点的可下载区,从多个下载策略中确定出目标下载策略,并可进一步结合目标资源节点的上传参数,确定各目标资源节点的优先程度。在此基础上,下载节点可以基于目标资源节点的优先程度,确定出优先程度满足预设条件的上传节点,从而可以从上传节点下载待下载资源。
采用本申请实施例提供的技术方案,下载节点能够根据目标资源的可播放区和/或下载节点的可下载区的不同情况,选择采用不同的资源下载策略,还能在不同的下载策略下,结合资源节点的上传参数的不同情况,确定从不同的上传节点获取待下载资源。因此,既能够满足用户对资源获取速度和时效性的要求,又能兼顾运营成本的控制,使得对用户需求和运营成本的兼顾成为可能。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的资源下载方法所适用的一种场景示意图;
图2为本申请实施例提供的一种点对点资源下载方法的流程示意图;
图3为本申请实施例中可播放区的示意图;
图4为本申请实施例中可下载区的示意图;
图5为本申请实施例提供的第二种点对点资源下载方法的流程示意图;
图6为本申请实施例提供的一种点对点资源下载装置的结构示意图;
图7为本申请实施例提供的第二种点对点资源下载装置的结构示意图;
图8为本申请实施例提供的第三种点对点资源下载装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1给出了本申请实施例提供的资源下载方法所适用的一种场景示意图。图1所示的资源下载系统包括服务器、下载节点和资源节点。其中,下载节点用于发起对目标资源的下载过程,并从选中的资源节点上下载目标资源。服务器用于向下载节点提供资源节点的相关信息,例如,资源节点的连接信息等,供下载节点从资源节点上下载目标资源。资源节点用于按照下载节点的调度,向下载节点提供目标资源。
在相关技术中,为了满足用户体验,与其是直播和点播场景下用户对资源获取的速度和时效性要求较高时,下载节点通常仅会根据资源节点的节点质量进行排序,并优先选择从节点质量高的资源节点上获取目标资源,以满足用户需求。而由于大部分属于生产端的付费节点(如CDN节点,路由节点、矿机节点等),其节点质量往往会高于属于消费端的非付费节点(如OTT节点,PC节点,Android节点,IPhone节点等各种终端节点),因此,P2P平台的运维成本将居高不下,难以控制。
鉴于此,本申请实施例提供了基于点对点技术的点对点资源下载方法,以期既能够满足用户对资源获取速度和时效性的要求,又能兼顾运营成本的控制,使得对用户需求和运营成本的兼顾成为可能。
参见图2所示,本申请实施例提供一种点对点资源下载方法,应用于下载节点。其中,该方法可具体包括:
S101:确定目标资源所对应的目标资源节点。
可以理解到,上述目标资源,指的是用户希望获取的任何资源。具体的,从资源的类型上看,可以是图片资源、视频资源、音频资源等多媒体资源。综合考虑到资源的数据量大小,以及用户对资源获取速度和时效性的要求,本申请实施例所适用的目标资源,尤其指用户希望获取的直播资源和/或点播资源。
可以理解到,上述目标资源节点,指的是能够提供目标资源的资源节点,可以理解为存储有目标资源,并能够基于P2P技术向下载节点提供目标资源中的部分或者全部的资源节点。
可选的,下载节点确定目标资源所对应的目标资源节点时,可以先向服务器发送资源获取请求,其中,资源获取请求中包括目标资源标识,以便告知服务器希望获取的是哪个资源。
相对应的,服务器在向下载节点提供目标资源所对应的目标资源节点信息时,也可以先接收到下载节点发送来的、包含有目标资源标识的资源获取请求。在此基础上,服务器可以基于目标资源标识确定目标资源,进而确定与目标资源相对应的、包含有目标资源节点的上传参数的目标资源节点信息,并向下载节点返回。
相对应的,下载节点也将接收到服务器基于资源获取请求返回的、包括有目标资源节点的上传参数的目标资源节点信息,从而能确定目标资源节点。
需要说明的是,服务器向下载节点返回的目标资源节点信息中,还可以包含目标资源节点的连接信息,例如,目标资源节点的IP地址等,以便下载节点与目标资源节点建立连接,获取目标资源。
还需要说明的是,服务器基于资源获取请求,向下载节点提供目标资源所对应的目标资源节点信息时,可以分两个阶段进行:第一阶段,服务器先基于资源获取请求,确定与目标资源标识相对应的目标资源,并确定与目标资源相对应的候选资源节点;第二阶段,服务器进一步基于候选资源节点的上传参数,确定目标资源节点。可以理解到,候选资源节点可以是能够提供目标资源的全部资源节点,而目标资源节点,是基于候选资源节点的上传参数、从候选资源节点中筛选出来的部分资源节点。
在进行上述第一阶段时,可选的,下载节点向服务器发送的资源获取请求中,可以还包括下载节点的地区信息和运营商信息中至少一项。相对应的,服务器在基于资源获取请求,确定与目标资源相对应的候选资源节点时,也可以基于下载节点的地区信息和运营商信息中至少一项,确定候选资源节点。
例如,服务器可以根据下载节点的地区信息,将距离下载节点较近的、能够提供目标资源的资源节点,确定为候选资源节点。具体的,可以将距离下载节点的距离小于预设阈值的资源节点,确定为候选资源节点。
又例如,服务器可以根据下载节点的运营商信息,将与下载节点归属于同一运营商的、能够提供目标资源的资源节点,确定为候选资源节点。
在进行上述第二阶段时,一种情况在于,候选资源节点的上传参数具体为候选资源节点的初始能力参数,则服务器在基于上传参数确定目标资源节点时,可以按照预设比例或数值,将初始能力参数落入不同范围区间的候选资源节点选取出来,作为目标资源节点返回到下载节点,供下载节点调度。
在进行上述第二阶段时,又一种情况在于,候选资源节点的上传参数具体为候选资源节点的付费属性信息,则服务器在基于上传参数确定目标资源节点时,同样可以按照预设比例或数值,将付费属性信息不同,甚至节点类型不同的候选资源节点选取出来,作为目标资源节点返回到下载节点,供下载节点调度。
可以理解到,在服务器从候选资源节点中筛选目标资源节点时,上述预设比例或数值、初始能力参数的范围区间、以及付费属性信息或节点类型的划分,均可以根据目标资源的数据总量、播放总时长等因素确定,也可以根据下载节点所对应的用户等级确定。
例如,若目标资源的数据总量较大,播放总时长较长,或者下载节点所对应的用户等级较高(例如,超级VIP用户),则服务器在从候选资源节点中筛选目标资源节点时,目标资源节点中,初始能力参数较强,付费属性信息为付费,或者节点类型为合作节点(如CDN节点)的候选资源节点所占的比例可以较高,数量可以较多。
又例如,若目标资源的数据总量较小,播放总时长较短,或者下载节点所对应的用户等级较低(例如,普通用户),则服务器在从候选资源节点中筛选目标资源节点时,目标资源节点中,初始能力参数较强,付费属性信息为付费,或者节点类型为合作节点(如CDN节点)的候选资源节点所占的比例可以较低,数量可以较少。
S103:基于目标资源的可播放区和下载节点的可下载区中至少一项,从多个下载策略中确定出目标下载策略。
需要说明的是,目标资源的可播放区,指的是在下载节点中已经下载、尚未播放的资源部分,参见图3中斜线区域所示。目标资源的可播放区,可以理解为当前下载点与当前播放点之间的“距离”。此处所称的“距离”,可以是播放时间上的差距,也可以是数据量上的差距。
一种可选情况是,以播放时间衡量可播放区时,可以先确定在某一时刻,当前播放点所对应的第一时间信息和当前下载点所对应的第二时间信息,通过计算第一时间信息和第二时间信息的差值,确定该时刻的可播放区所对应的时长信息。可以理解到,可播放区所对应的时长信息,可以反映在该时刻,目标资源中已下载的资源所能够支持的播放时间长度。
又一种可选情况是,以数据量衡量可播放区时,可以先确定在某一时刻,下载节点已经下载的第一数据量和播放器已经播放过的第二数据量,通过计算第一数据量和第二数据量之间的差值,确定该时刻的可播放区所对应的数据量信息。可以理解到,可播放区所对应的数据量信息,可以反映在该时刻,目标资源中已下载的资源所能够支持的播放数据量。
需要说明的是,根据目标资源的码率,即单位时间内传输的二进制数据量,可以在播放时间长度和播放数据量之间进行换算。
可选的,在基于目标资源的可播放区,从多个下载策略中确定出目标下载策略时,可以采用以下方式:
第一种方式,在可播放区小于第一阈值的情况下,将第一下载策略确定为目标下载策略;
第二种方式,在可播放区介于第一阈值和第二阈值之间的情况下,将第二下载策略确定为目标下载策略;
第三种方式,在可播放区大于第二阈值的情况下,将第三下载策略确定为目标下载策略;
其中,第一下载策略所对应的下载紧急等级高于第二下载策略所对应的下载紧急等级,第二下载策略所对应的下载紧急等级高于第三下载策略所对应的下载紧急等级。
可以理解到,在以播放时间衡量可播放区时,第一阈值和第二阈值也都将以播放时间长度为单位(例如,秒)进行配置。在以数据量衡量可播放区时,第一阈值和第二阈值也都将以数据量为单位(例如,兆比特)进行配置。
下面举例说明基于目标资源的可播放区确定目标下载策略的过程。
与第一种方式相对应的,假设在时刻08:00:00,下载节点收到播放器发出的资源播放请求,请求开始播放目标资源,该目标资源的码率为1Mbps(兆比特每秒)。此时,下载节点中资源下载进度和资源播放进度均为0,可播放区为0(无论是可播放区对应的播放时间长度还是播放数据量均为0)。
假设第一阈值取为可播放时间长度为10s(秒),或者可播放数据量为10MB(兆比特),则可以确定此时的可播放区小于第一阈值,可以理解为当前时刻的可播放区很可能不足以支持播放器正常播放目标资源,因此,急需对目标资源进行下载。因此,在这种情况下,可以将与最高的下载紧急等级相对应的第一下载策略确定为目标资源。
与第二种方式相对应的,假设在时刻08:00:08,下载节点中已下载的资源(即图3中资源下载进度中位于当前下载点之前的资源部分)的数据量为20MB,根据码率换算为播放时长约20s。播放器中已播放的资源(即图3中资源播放进度中位于当前播放点之前的资源部分)的数据量为8MB,根据码率换算为播放时长约8s。此时,可播放区所对应的数据量为12MB,所对应的播放时长为12s。
假设第一阈值取为可播放时间长度为10s,或者可播放数据量为10MB,且第二阈值取为可播放时间长度为20s,或者可播放数据量为20MB,则可以确定此时的可播放区介于第一阈值和第二阈值之间,可以理解为当前时刻的可播放区能够支持播放器短时间内的正常播放,但可能无法长期支持目标资源的正常播放。因此,稳定持续的下载目标资源即可。因此,在这种情况下,可以将与适中的下载紧急等级相对应的第二下载策略确定为目标策略。
与第三种方式相对应的,假设在时刻08:00:15,下载节点中已下载的资源(即图3中资源下载进度中位于当前下载点之前的资源部分)的数据量为50MB,根据码率换算为播放时长约50s。播放器中已播放的资源(即图3中资源播放进度中位于当前播放点之前的资源部分)的数据量为15MB,根据码率换算为播放时长约15s。此时,可播放区所对应的数据量为35MB,所对应的播放时长为35s。
假设第二阈值取为可播放时间长度为20s,或者可播放数据量为20MB,则可以确定此时的可播放区大于第二阈值,可以理解为当前时刻的可播放区能够支持播放器在较长时间内的正常播放,因此,平稳缓慢的下载目标资源即可。因此,在这种情况下,可以将与较低的下载紧急等级相对应的第三下载策略确定为目标策略。
还需要说明的是,下载节点的可下载区,指的是下载节点中尚能接受资源的部分,参见图4中斜线区域所示。下载节点的可下载区,可以理解为下载节点的全部下载能力与当前已使用下载能力之间的“距离”。此处所称的“距离”,可以是缓存空间上的剩余能力,也可以是下载速度/下载带宽上的剩余能力。
一种可选情况是,以缓存空间衡量可下载区时,可以先确定下载节点所允许的最大缓存空间的大小。然后,确定在某一时刻已被占用的缓存空间的大小。进一步的,通过计算已被占用的缓存空间和最大缓存空间的差距或比例,即可确定该时刻的剩余缓存空间,即图4缓冲区中可下载区的大小。可以理解到,可下载区所对应的剩余缓存空间,可以反映在该时刻,下载节点中尚能接受的资源的多少。
又一种可选情况是,以下载速度衡量可下载区时,可以先根据下载节点的配置信息或者历史下载情况,确定下载节点的下载速度的上限值。然后,确定在某一时刻的当前下载速度。进一步的,通过计算当前下载速度与下载速度上限值之间的差距或者比例,即可确定该时刻的剩余下载速度,即图4中下载速度中可下载区的大小。可以理解到,可下载区所对应的剩余下载速度,可以反映在该时刻,下载节点中尚能接受的下载速度。
可选的,在基于下载节点的可下载区,从多个下载策略中确定出目标下载策略时,可以采用以下方式:
第一种方式在于,在可下载区小于第四阈值的情况下,将第三下载策略确定为目标下载策略;
第二种方式在于,在可下载区介于第四阈值和第五阈值之间的情况下,将第二下载策略确定为目标下载策略;
第三种方式在于,在可下载区大于第五阈值的情况下,将第一下载策略确定为目标下载策略;
其中,第一下载策略所对应的下载紧急等级高于第二下载策略所对应的下载紧急等级,第二下载策略所对应的下载紧急等级高于第三下载策略所对应的下载紧急等级。
可以理解到,在以缓存空间衡量可下载区时,第四阈值和第五阈值也可以缓存空间的大小为单位(例如,兆比特)进行配置。在以下载速度衡量可下载区时,第四阈值和第五阈值也可以下载速度为单位(例如,兆比特每秒)进行配置。第四阈值和第五阈值也可以基于当前的可下载区在整体缓存空间或者所允许下载速度的上限值中的比例进行配置。
在上述多个下载策略中,按照下载策略所对应的下载紧急等级由高到低排序,依次是第一下载策略、第二下载策略和第三下载策略。
如果可下载区大于第五阈值,表示下载节点中的可下载区较大(可理解为剩余的缓存空间容量较大,或者下载速度的可提升幅度较大),因此,下载节点可以采用下载紧急等级较高的第一下载策略,以便充分利用下载节点的下载能力。
如果可下载区小于第四阈值,表示下载节点中的可下载区较小(可理解为剩余的缓存空间容量较小,或者下载速度的提升幅度较小),因此,下载节点可以采用下载紧急等级较低的第三下载策略,以便平稳、缓慢的进行目标资源下载,以免超出下载节点的下载能力。
如果可下载区介于第四阈值和第五阈值之间,表示下载节点中的可下载区适中(可理解为剩余的缓存空间容量适中,或者下载速度的提升幅度适中),因此,下载节点也可以采用下载紧急等级适中的第二下载策略,以便持续的进行目标资源下载,维持对下载节点下载能力的适度利用。
需要特别说明的是,在本申请实施例中,下载策略能够反映资源节点的优先程度与上传参数之间的相关关系。可以理解到,资源节点的上传参数有多种不同的类型,不同类型的上传参数能够反映资源节点提供目标资源的不同方面,对资源节点提供目标资源的过程也可能有着不同的影响。除此之外,在不同的下载策略中,资源节点的优先程度与上传参数的相关关系也可以有所不同。以下将结合步骤S105予以说明。
S105:基于目标下载策略和目标资源节点的上传参数,确定目标资源节点的优先程度。
可以理解到,基于目标资源节点的不同类型的上传参数,在通过步骤S105确定出的不同目标下载策略下,目标资源节点的优先程度可以有所不同。以下将举例说明不同情况下目标资源节点的优先程度。
可选的,上述上传参数可以包括资源节点的付费属性信息,其中,付费属性信息分为付费和非付费。通常情况下,付费属性信息为付费的资源节点(可简称为付费节点)相比于付费属性信息为非付费的资源节点(可简称为非付费节点),能够更好的提供目标资源,例如,速度更快,带宽更宽,连接更稳定,资源更丰富,等等。因此,在较高的下载紧急等级所对应的下载策略中,付费节点的优先程度会高于非付费节点的优先程度,以便下载节点更快、更好的进行资源下载;在较低的下载紧急等级所对应的下载策略中,付费节点的优先程度会低于非付费节点的优先程度,以便在满足用户基本需求的同时,降低运营成本。
因此,在这种情况下,基于目标下载策略和目标资源节点的上传参数,确定目标资源节点的优先程度时,可以包括以下至少一项:
在目标下载策略为第一下载策略(该下载策略对应的下载紧急等级最高)的情况下,确定付费属性信息为付费的目标资源节点的优先程度高于付费属性信息为非付费的目标资源节点;
在目标下载策略为第二下载策略(该下载策略对应的下载紧急等级居中)的情况下,确定付费属性信息为付费的目标资源节点的优先程度低于付费属性信息为非付费的目标资源节点;
在目标下载策略为第三下载策略(该下载策略对应的下载紧急等级最低)的情况下,确定付费属性信息为付费的目标资源节点的优先程度低于付费属性信息为非付费的目标资源节点。
可选的,上述上传参数可以包括资源节点的能力参数,其中,此处所称的能力参数,是与目标资源相对应的,即,是资源节点在提供目标资源时的能力参数。可以理解到,能力参数越大,表示资源节点在提供目标资源时的能力越强,能够越快、越稳定的向下载节点提供目标资源。因此,在较高的下载紧急等级所对应的下载策略中,能力参数较高的资源节点的优先程度会高于能力参数较低的资源节点,以便下载节点更快、更好的获取资源;在较低的下载紧急等级所对应的下载策略中,能力参数较低的资源节点的优先程度可以高于能力参数较高的资源节点,只要能够满足用户获取目标资源的需求即可。
因此,在这种情况下,基于目标下载策略和目标资源节点的上传参数,确定目标资源节点的优先程度时,可以包括以下至少一项:
在目标下载策略为第一下载策略的情况下,确定目标资源节点的优先程度与该目标资源节点的能力参数正相关;
在目标下载策略为第二下载策略的情况下,确定目标资源节点的优先程度与该目标资源节点的能力参数正相关;
在目标下载策略为第三下载策略的情况下,确定目标资源节点的优先程度与该目标资源节点的能力参数负相关。
在利用资源节点的能力参数确定其优先程度前,下载节点可以从服务器获取目标资源节点的初始能力参数,并进而基于目标下载策略和目标资源节点的初始能力参数,确定目标资源节点的优先程度。其中,初始能力参数由服务器基于目标资源节点的历史任务处理信息确定,初始能力参数用于反映该目标资源节点在历史上提供目标资源的能力情况。
除此之外,除基于从服务器获取到的初始能力参数确定优先程度之外,对于已被确定为上传节点、并为当前的下载节点提供待下载资源的上传节点,下载节点也可以对这些上传节点的能力参数进行重新确定。
具体的,下载节点可以确定与至少一个上传节点中各上传节点分别相对应的当前任务处理信息,其中,当前任务处理信息用于反映所对应上传节点在本次下载过程中、向当前的下载节点提供待下载资源的情况。然后,下载节点可以基于当前任务处理信息,重新确定所对应上传节点的能力参数,并将重新确定后的能力参数,确定为所对应上传节点的能力参数。在此基础上,下载节点可以基于所有目标资源节点(包括上述上传节点)的新的能力参数,重新确定上传节点,以便对目标资源的下载过程进行优化。
可选的,以上所称的当前任务处理信息,可以包括所对应上传节点在提供待下载资源时的任务完成数(记为∑TC)、未完成任务数(记为∑UC)和当前任务数(记为TN)。则下载节点在基于当前任务处理信息,重新确定所对应上传节点的能力参数时,可以对任务完成数∑TC与当前任务数TN进行线性加权,得到线性加权和;然后计算线性加权和与未完成任务数∑UC的差值;进而基于差值确定所对应上传节点的能力参数。
具体的,计算上传节点的能力参数(记为Q)的公式可以表示为:
Q=∑TC–p*∑UC+q*TN
其中,TC表示每次完成的任务数,∑TC表示上传节点在提供待下载资源时总的任务完成数,UC表示未完成的任务数,∑UC表示上传节点在提供待下载资源时总的未完成任务数,TN表示当前任务数,p和q是两个权重系数。
可以理解到,采用上述方式,下载节点既可以根据目标资源节点提供目标资源的历史情况(通过初始能力参数反映)确定目标资源节点的优先程度,又可以结合上传节点(目标资源节点中的一部分)在本次下载过程中提供目标资源的实际情况(通过重新确定后的能力参数反映)重新确定各目标资源节点的优先程度,从而能够从目标资源节点中确定出更符合当前实际需求的上传节点,以便更好的提供目标资源。
可以理解到,资源节点的付费属性信息,能够反映使用资源节点提供目标资源所消耗的运营成本;资源节点的能力参数,能够反映资源节点在提供目标资源时的任务完成质量。因此,基于这两方面中任一项作为目标资源节点的上传参数,即可确定在不同的下载策略下各目标资源节点的优先程度,进而确定出符合具体需求的上传节点。
除以上所示例的,上传参数还可以包括资源节点的存储能力,和/或与下载节点之间的距离。可以理解到,资源节点的存储能力越强,能够提供的资源越多;资源节点与下载节点之间的距离越近,提供资源的效率越高。因此,在同等条件下,例如,节点的付费属性信息相同,或者提供目标资源的能力参数相当时,存储能力强和/或与下载节点之间的距离更近的目标资源节点,其优先程度越高。可以理解为,目标资源节点的优先程度,与存储能力正相关,与资源节点与下载节点之间的距离负相关。
以上举例说明了多种上传参数与资源节点的优先程度之间的相关关系。需要说明的是,在结合多个维度的上传参数确定优先程度时,可以对不同上传参数分别进行评分,并根据上传参数与优先程度的相关关系,为不同的上传参数配置不同的权重,以便根据不同下载策略的需求,按照不同的标准确定目标资源节点的优先程度,使之匹配到不同的下载紧急等级。
S107:基于目标资源节点的优先程度,从目标资源节点中确定出至少一个上传节点。
可以理解到,可以基于目标资源节点的优先程度,将优先程度满足预设条件的目标资源节点,确定为上传节点,供下载节点在本次资源下载过程中获取目标资源。
可选的,可以将优先程度最高的预设数量个(例如,10个)或者预设比例(例如,20%)的目标资源节点,确定为上传节点。本申请实施例对此不做限定。
S109:从至少一个上传节点下载待下载资源。
可以理解到,此处所称的待下载资源,指的是目标资源中尚未下载的部分,参见图3所示。可以理解到,在下载节点对目标资源的下载过程中,目标资源的可播放区、下载节点的可下载区、以及资源节点的上传参数,都可能发生变化。因此,下载节点可以周期性的重复执行上述资源下载方法,以便及时根据变化后的可播放区和/或可下载区重新确定目标下载策略,并结合目标资源节点的变化后的上传参数,重新确定各目标资源节点的优先程度,进而确定出新的、更符合当前实际需求的上传节点。
除此之外,下载节点也可以在满足预设的触发条件时重复执行上述资源下载方法。例如,可以在接收到用户的重连指示时,或者监测到下载速度小于某预设阈值时,或者监测到可播放区小于某预设阈值(例如,可以取为前述第一阈值)时,或者监测到可下载区小于某预设阈值(例如,可以取为前述第四阈值)时,重新确定与当前时刻(可理解为满足触发条件的时刻)的可播放区和/或可下载区相匹配的目标下载策略,并结合目标资源节点的新的上传参数,重新确定各目标资源节点的优先程度,进而确定出新的、更符合当前实际需求的上传节点。
本申请实施例中,下载节点可以根据目标资源的可播放区和/或下载节点的可下载区,从多个下载策略中确定出目标下载策略,并可进一步结合目标资源节点的上传参数,确定各目标资源节点的优先程度。在此基础上,下载节点可以基于目标资源节点的优先程度,确定出优先程度满足预设条件的上传节点,从而可以从上传节点下载待下载资源。
采用本申请实施例提供的技术方案,下载节点能够根据目标资源的可播放区和/或下载节点的可下载区的不同情况,选择采用不同的资源下载策略,还能在不同的下载策略下,结合资源节点的上传参数的不同情况,确定从不同的上传节点获取待下载资源。因此,既能够满足用户对资源获取速度和时效性的要求,又能兼顾运营成本的控制,使得对用户需求和运营成本的兼顾成为可能。
需要说明的是,下载节点在执行步骤S109,从至少一个上传节点下载待下载资源时,可以在已确定目标资源所对应的上传节点的基础上,先基于上述待下载资源,确定多个资源下载任务;进而将多个资源下载任务分发至至少一个上传节点,以使各上传节点提供与资源下载任务相对应的资源。
可以理解到,无论采用何种方式确定上传节点,下载节点都可以采用上述方式从上传节点下载待下载资源。因此,本申请实施例还提供了一种点对点资源下载方法,参见图5所示。
下面将结合图5,详细说明下载节点执行步骤S109的下载过程,也相当于本申请实施例提供的又一种点对点资源下载方法。
参见图5所示,该点对点资源下载方法,应用于下载节点,可具体包括:
S201:确定目标资源所对应的上传节点,上传节点用于提供目标资源;
可选的,下载节点在执行步骤S201时,可以采用前述实施例中步骤S101~S107的具体方式进行。
可选的,下载节点在执行步骤S201时,也可以直接向服务器发送资源获取请求,其中,资源获取请求中包括目标资源标识;进而接收服务器基于资源获取请求返回的目标资源节点信息,目标资源节点信息中包括目标资源节点的上传参数。
可以理解到,服务器基于资源获取请求确定目标资源节点信息的过程,与前述实施例中一样,此处不再赘述。
S203:基于目标资源中的待下载资源,确定多个资源下载任务。
具体的,下载节点可以先确定任务切分步长,然后基于任务切分步长,对待下载资源进行切分,得到多个资源下载任务。下载节点确定多个资源下载任务后,可以将多个资源下载任务分发至不同的上传节点,进而从不同的上传节点并行的获取待下载资源,因此,有利于提高资源获取的效率。
可选的,下载节点在确定任务切分步长时,可以根据上传节点的能力参数,确定任务切分步长。具体的,上传节点的能力参数较高时,任务切分步长可以取得较大(例如,100M),使得单个资源下载任务的下载量较大,以便充分利用上传节点的上传能力;反之,上传节点的能力参数较低时,任务切分步长可以取得较小(例如,10M),使得单个资源下载任务的下载量较小,符合上传节点的处理能力。
可选的,下载节点在确定任务切分步长时,也可以根据上传节点完成下载任务所耗费的时间,确定任务切分步长。具体的,上传节点完成下载任务所耗费的时间较短时,表示上传节点可以快速的完成已分发的资源下载任务,并有余力提供更多的资源,因此,任务切分步长可以取得较大(例如,50M),使得单个资源下载任务的下载量较大,以便充分利用上传节点的上传能力。反之,上传节点完成下载任务所耗费的时间较长时,表示上传节点的上传能力基本已被充分调用,因此,任务切分步长可以取得较小(例如,10M),使得单个资源下载任务的下载量较小,更加符合上传节点的处理能力。
S205:将多个资源下载任务分发至上传节点,以使上传节点提供与资源下载任务相对应的资源。
可选的,在分发资源下载任务时,对于任意一个上传节点(可记为当前节点),如果当前节点在预设任务时间内完成第一下载任务,则可以根据当前节点完成第一下载任务所耗费的时间,确定待分发至当前节点的第二下载任务的数量,并进而将第二下载任务分发至当前节点。其中,第一下载任务为分发至当前节点的任意一批资源下载任务,第二下载任务为第一下载任务之后的一批资源下载任务。
可以理解到,上述预设任务时间,是与第一下载任务相对应的,与第一下载任务中所包含的资源下载任务的数量、需要下载的数据量等有关。当前节点在预设任务时间内能够完成第一下载任务,表示当前节点的上传能力已经能够满足第一下载任务的要求,并可能有余力承担更多的资源下载任务。因此,下载节点可以进一步根据当前节点完成第一下载任务所耗费的实际时间,确定待分发至当前节点的第二下载任务的数量,以便更充分的利用当前节点的上传能力。
例如,下载节点可以根据当前节点完成第一下载任务所耗费的时间与预设任务时间的比例关系,确定第二下载任务的数量,其中,第二下载任务的数量与比例关系负相关。具体的,可以计算当前节点完成第一下载任务所耗费的时间与预设任务时间的比值。比值越高,表示当前节点承接第一下载任务所占用的上传能力越趋于饱和,第二下载任务的数量可以越少。反之,比值越低,表示当前节点承接第一下载任务所所占用的上传能力越少,第二下载任务的数量可以越多,以便充分利用当前节点的上传能力。
又例如,可以直接判断当前节点完成第一下载任务所耗费的时间是否达到预设任务时间的一半。如果当前节点完成第一下载任务所耗费的时间小于或者等于预设任务时间的一半,表示当前节点承接第一下载任务所占用的上传能力较少,因此,可直接确定第二下载任务的数量为第一下载任务的数量的两倍,以便快速的提升对当前节点的上传能力的利用效率。反之,如果当前节点完成第一下载任务所耗费的时间大于预设任务时间的一半,表示当前节点承接第一下载任务所占用的上传能力已经较饱和,因此,可确定第二下载任务的数量等于第一下载任务的数量。
可选的,在分发资源下载任务时,对于任意一个上传节点(可记为当前节点),如果当前节点未在预设任务时间内完成第一下载任务,则可以根据第一下载任务的数量,确定待分发至当前节点的第二下载任务的数量,并进而将第二下载任务分发至当前节点。其中,第一下载任务为分发至当前节点的任意一批资源下载任务,第二下载任务为第一下载任务之后的一批资源下载任务。
可以理解到,上述预设任务时间,是与第一下载任务相对应的,与第一下载任务中所包含的资源下载任务的数量、需要下载的数据量等有关。当前节点在预设任务时间内未完成第一下载任务,表示当前节点的上传能力已经难以满足第一下载任务的要求,很可能会出现资源下载任务的拥堵现象了。因此,下载节点可以进一步根据第一下载任务的数量,确定待分发至当前节点的第二下载任务的数量,以便缓解当前节点的任务拥堵隐患。
可选的,下载节点在根据第一下载任务的数量,确定待分发至当前节点的第二下载任务的数量时,如果第一下载任务的数量大于1,可以直接将第二下载任务的数量确定为1,以便快速减少分发至当前节点的资源下载任务的数量,消除当前节点的任务拥堵隐患。如果第一下载任务的数量已经等于1,表示当前节点可能已经出现了任务拥堵现象,因此,可以直接将第二下载任务的数量确定为0,以便快速消除当前节点的任务拥堵隐患,并在预设时间段内停止向当前节点分发资源下载任务,以便当前节点可逐渐恢复资源上传能力。
在本申请实施例中,可以采用上述资源下载方法实现下载过程中的任务调度,以通过合理的任务调度,充分利用各上传节点的上传能力,提高下载节点获取目标资源的效率和稳定性。
可以理解到,前述图2和图5所示例的资源下载方法,针对资源下载过程的不同阶段:前者主要针对资源下载前对上传节点的选取过程,主要目的在于从目标资源节点中选取合适的上传节点;后者主要针对资源下载时对资源下载任务的调度过程,主要目的在于为上传节点分发合适的资源下载任务。因此,二者可以单独实施,也可以组合实施,本申请实施例对此不做限定。
本申请实施例还提供一种点对点资源下载方法,应用于服务器,该服务器主要提供目标资源所对应的目标资源节点信息。其中,目标资源节点信息包括目标资源节点的上传参数,目标资源节点用于提供目标资源。
在提供目标资源所对应的目标资源节点信息时,服务器可以接收下载节点发送来的资源获取请求,其中,资源获取请求中包括目标资源标识。然后,服务器可以基于资源获取请求,确定与目标资源标识相对应的目标资源,并确定与目标资源相对应的候选资源节点;进而基于候选资源节点的上传参数,确定目标资源节点,并向下载节点返回目标资源节点信息。
可选的,资源获取请求中还包括下载节点的地区信息和运营商信息中至少一项时,服务器确定与目标资源相对应的候选资源节点时,可以基于下载节点的地区信息和运营商信息中至少一项,确定候选资源节点。
可选的,上述上传参数可包括候选资源节点的初始能力参数。则服务器在提供目标资源所对应的目标资源节点信息之前,可以先获取候选资源节点的历史任务处理信息,历史任务处理信息包括候选资源节点在提供目标资源时的历史任务完成数、历史未完成任务数和当前剩余任务数;进而基于历史任务处理信息,确定候选资源节点的初始能力参数,以便向下载节点提供。
可选的,上述上传参数还可包括候选资源节点的付费属性信息,付费属性信息为付费或非付费。则服务器在提供目标资源所对应的目标资源节点信息之前,还要确定候选资源节点的付费属性信息,以便向下载节点提供。
可以理解到,服务器所执行的点对点资源下载方法,与前述由下载节点执行的点对点资源下载方法相对应,前述实施例中的相关描述均适用于此,不再赘述。
参见图6所示,本申请实施例还提供一种点对点资源下载装置,应用于下载节点,其中,装置包括:
目标资源节点确定模块101,用于确定目标资源所对应的目标资源节点,目标资源节点用于提供目标资源;
下载策略确定模块103,用于基于目标资源的可播放区和下载节点的可下载区中至少一项,从多个下载策略中确定出目标下载策略,下载策略用于反映资源节点的优先程度与上传参数之间的相关关系;
优先程度确定模块105,用于基于目标下载策略和目标资源节点的上传参数,确定目标资源节点的优先程度;
资源下载模块107,用于基于目标资源节点的优先程度,从目标资源节点中确定出至少一个上传节点,并从至少一个上传节点下载待下载资源,上传节点的优先程度满足预设条件。
能够理解,上述点对点资源下载装置能够实现前述图2所示实施例中由下载节点执行的点对点资源下载方法的各个步骤,关于图2所示点对点资源下载方法的相关阐述均适用于点对点资源下载装置,此处不再赘述。
参见图7所示,本申请实施例还提供一种点对点资源下载装置,应用于服务器,其中,装置包括:
目标资源节点信息确定模块301,用于提供目标资源所对应的目标资源节点信息,目标资源节点信息包括目标资源节点的上传参数,目标资源节点用于提供目标资源。
能够理解,上述点对点资源下载装置能够实现前述实施例中由服务器执行的点对点资源下载方法的各个步骤,关于点对点资源下载方法的相关阐述均适用于点对点资源下载装置,此处不再赘述。
参见图8所示,本申请实施例还提供一种点对点资源下载装置,应用于下载节点,其中,装置包括:
上传节点确定模块201,用于确定目标资源所对应的上传节点,上传节点用于提供目标资源;
任务确定模块203,用于基于目标资源中的待下载资源,确定多个资源下载任务;
任务分发模块205,用于将多个资源下载任务分发至上传节点,以使上传节点提供与资源下载任务相对应的资源。
能够理解,上述点对点资源下载装置能够实现前述图5所示实施例中由下载节点执行的点对点资源下载方法的各个步骤,关于图5所示点对点资源下载方法的相关阐述均适用于点对点资源下载装置,此处不再赘述。
图9是本申请的一个实施例电子设备的结构示意图。请参考图9,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成点对点资源下载装置。
在上述点对点资源下载装置应用于下载节点时,处理器,执行存储器所存放的程序,并具体用于执行前述实施例中由下载节点执行的点对点资源下载方法的各方面内容。
在上述点对点资源下载装置应用于服务器时,处理器,执行存储器所存放的程序,并具体用于执行前述实施例中由服务器执行的点对点资源下载方法的各方面内容。
在上述点对点资源下载装置应用于下载节点时,处理器,执行存储器所存放的程序,并具体用于执行前述实施例中由下载节点执行的点对点资源下载方法的各方面内容。
上述如本申请前述实施例揭示的点对点资源下载装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行前述点对点资源下载装置执行的方法,并实现点对点资源下载装置在前述实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行前述实施例中应用于下载节点的点对点资源下载装置执行的方法,并具体用于执行前述实施例中由下载节点执行的点对点资源下载方法的各方面内容。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行前述实施例中应用于服务器的点对点资源下载装置执行的方法,并具体用于执行前述实施例中由服务器执行的点对点资源下载方法的各方面内容。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行前述实施例中应用于下载节点的点对点资源下载装置执行的方法,并具体用于执行前述实施例中由下载节点执行的点对点资源下载方法的各方面内容。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (30)
1.一种点对点资源下载方法,应用于下载节点,其中,所述方法包括:
从服务器中确定目标资源所对应的目标资源节点,所述目标资源节点用于提供所述目标资源;
基于所述目标资源的可播放区和所述下载节点的可下载区中至少一项,从多个下载策略中确定出目标下载策略,所述下载策略用于反映资源节点的优先程度与上传参数之间的相关关系;
基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度;其中,所述目标资源节点的上传参数包括资源节点的付费属性信息,所述付费属性信息为付费或非付费;或者,所述目标资源节点的上传参数包括资源节点的能力参数,所述能力参数与所述目标资源相对应,所述能力参数为基于资源节点在提供所述目标资源时的任务完成数、未完成任务数和当前任务数确定;
基于所述目标资源节点的优先程度,从所述目标资源节点中确定出至少一个上传节点,并从所述至少一个上传节点下载待下载资源,所述上传节点的优先程度满足预设条件;
从所述至少一个上传节点下载待下载资源,包括:
基于所述待下载资源,确定多个资源下载任务;包括:确定任务切分步长;确定任务切分步长,包括以下至少一项:根据所述上传节点的能力参数,确定所述任务切分步长;根据所述上传节点完成下载任务所耗费的时间,确定所述任务切分步长;
基于所述任务切分步长,对所述待下载资源进行切分,得到多个资源下载任务;
将所述多个资源下载任务分发至所述至少一个上传节点,以使各上传节点提供与所述资源下载任务相对应的资源。
2.根据权利要求1所述方法,其中,基于所述目标资源的可播放区,从多个下载策略中确定出目标下载策略,包括:
在所述可播放区小于第一阈值的情况下,将第一下载策略确定为所述目标下载策略;
在所述可播放区介于所述第一阈值和第二阈值之间的情况下,将第二下载策略确定为所述目标下载策略;
在所述可播放区大于所述第二阈值的情况下,将第三下载策略确定为所述目标下载策略;
其中,所述第一下载策略所对应的下载紧急等级高于所述第二下载策略所对应的下载紧急等级,所述第二下载策略所对应的下载紧急等级高于所述第三下载策略所对应的下载紧急等级。
3.根据权利要求1所述方法,其中,基于所述下载节点的可下载区,从多个下载策略中确定出目标下载策略,包括:
在所述可下载区小于第四阈值的情况下,将第三下载策略确定为所述目标下载策略;
在所述可下载区介于所述第四阈值和第五阈值之间的情况下,将第二下载策略确定为所述目标下载策略;
在所述可下载区大于所述第五阈值的情况下,将第一下载策略确定为所述目标下载策略;
其中,所述第一下载策略所对应的下载紧急等级高于所述第二下载策略所对应的下载紧急等级,所述第二下载策略所对应的下载紧急等级高于所述第三下载策略所对应的下载紧急等级。
4.根据权利要求2或3所述方法,其中,所述上传参数包括资源节点的付费属性信息,所述付费属性信息为付费或非付费;
则基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度,包括以下至少一项:
在所述目标下载策略为所述第一下载策略的情况下,确定付费属性信息为付费的目标资源节点的优先程度高于付费属性信息为非付费的目标资源节点;
在所述目标下载策略为所述第二下载策略的情况下,确定付费属性信息为付费的目标资源节点的优先程度低于付费属性信息为非付费的目标资源节点;
在所述目标下载策略为所述第三下载策略的情况下,确定付费属性信息为付费的目标资源节点的优先程度低于付费属性信息为非付费的目标资源节点。
5.根据权利要求2或3所述方法,其中,所述上传参数包括资源节点的能力参数,所述能力参数与所述目标资源相对应;
则基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度,包括以下至少一项:
在所述目标下载策略为所述第一下载策略的情况下,确定所述目标资源节点的优先程度与该目标资源节点的能力参数正相关;
在所述目标下载策略为所述第二下载策略的情况下,确定所述目标资源节点的优先程度与该目标资源节点的能力参数正相关;
在所述目标下载策略为所述第三下载策略的情况下,确定所述目标资源节点的优先程度与该目标资源节点的能力参数负相关。
6.根据权利要求5所述方法,其中,所述方法还包括:
从服务器获取所述目标资源节点的初始能力参数,所述初始能力参数由所述服务器基于所述目标资源节点的历史任务处理信息确定;
则基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度,具体为:
基于所述目标下载策略和所述目标资源节点的初始能力参数,确定所述目标资源节点的优先程度。
7.根据权利要求6所述方法,其中,在从所述至少一个上传节点下载待下载资源之后,所述方法还包括:
确定与所述至少一个上传节点中各上传节点分别相对应的当前任务处理信息,所述当前任务处理信息用于反映所对应上传节点提供所述待下载资源的情况;
基于所述当前任务处理信息,重新确定所对应上传节点的能力参数,并将重新确定后的能力参数,确定为所对应上传节点的能力参数。
8.根据权利要求7所述方法,其中,所述当前任务处理信息包括所对应上传节点在提供待下载资源时的任务完成数、未完成任务数和当前任务数;
则基于所述当前任务处理信息,重新确定所对应上传节点的能力参数,包括:
对所述任务完成数与所述当前任务数进行线性加权,得到线性加权和;
计算所述线性加权和与所述未完成任务数的差值;
基于所述差值确定所对应上传节点的能力参数。
9.根据权利要求1所述方法,其中,将所述多个资源下载任务分发至所述至少一个上传节点,包括:
以任一上传节点作为当前节点,在所述当前节点在预设任务时间内完成第一下载任务的情况下,根据所述当前节点完成所述第一下载任务所耗费的时间,确定待分发至所述当前节点的第二下载任务的数量,所述第一下载任务为分发至所述当前节点的任意一批资源下载任务;
将所述第二下载任务分发至所述当前节点。
10.根据权利要求9所述方法,其中,根据所述当前节点完成所述第一下载任务所耗费的时间,确定待分发至所述当前节点的第二下载任务的数量,包括:
根据所述当前节点完成所述第一下载任务所耗费的时间与所述预设任务时间的比例关系,确定所述第二下载任务的数量,所述第二下载任务的数量与所述比例关系负相关。
11.根据权利要求9所述方法,其中,根据所述当前节点完成所述第一下载任务所耗费的时间,确定待分发至所述当前节点的第二下载任务的数量,包括:
在所述当前节点完成所述第一下载任务所耗费的时间小于或者等于所述预设任务时间的一半的情况下,确定所述第二下载任务的数量为所述第一下载任务的数量的两倍;
在所述当前节点完成所述第一下载任务所耗费的时间大于所述预设任务时间的一半的情况下,确定所述第二下载任务的数量等于所述第一下载任务的数量。
12.根据权利要求1所述方法,其中,将所述多个资源下载任务分发至所述至少一个上传节点,包括:
以任一上传节点作为当前节点,在所述当前节点未在预设任务时间内完成第一下载任务的情况下,根据所述第一下载任务的数量,确定待分发至所述当前节点的第二下载任务的数量,所述第一下载任务为分发至所述当前节点的任意一批资源下载任务;
将所述第二下载任务分发至所述当前节点。
13.根据权利要求12所述方法,其中,根据所述第一下载任务的数量,确定待分发至所述当前节点的第二下载任务的数量,包括:
在所述第一下载任务的数量大于1的情况下,确定所述第二下载任务的数量为1;
在所述第一下载任务的数量等于1的情况下,确定所述第二下载任务的数量为0,并在预设时间段内停止向所述当前节点分发资源下载任务。
14.根据权利要求1~3、6~8、9~13之任一所述方法,其中,确定目标资源所对应的目标资源节点,包括:
向服务器发送资源获取请求,所述资源获取请求中包括目标资源标识;
接收所述服务器基于所述资源获取请求返回的目标资源节点信息,所述目标资源节点信息中包括所述目标资源节点的上传参数。
15.根据权利要求14所述方法,其中,所述目标资源为直播资源和/或点播资源。
16.一种点对点资源下载方法,应用于服务器,其中,所述方法包括:
向下载节点提供目标资源所对应的目标资源节点信息,所述目标资源节点信息包括目标资源节点的上传参数,所述目标资源节点用于提供所述目标资源,以使得所述下载节点基于所述目标资源的可播放区和所述下载节点的可下载区中至少一项,从多个下载策略中确定出目标下载策略,所述下载策略用于反映资源节点的优先程度与上传参数之间的相关关系,并基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度,以及基于所述目标资源节点的优先程度,从所述目标资源节点中确定出至少一个上传节点,并从所述至少一个上传节点下载所述目标资源,所述上传节点的优先程度满足预设条件;
从所述至少一个上传节点下载待下载资源,包括:
基于所述待下载资源,确定多个资源下载任务;包括:确定任务切分步长;确定任务切分步长,包括以下至少一项:根据所述上传节点的能力参数,确定所述任务切分步长;根据所述上传节点完成下载任务所耗费的时间,确定所述任务切分步长;
基于所述任务切分步长,对所述待下载资源进行切分,得到多个资源下载任务;
将所述多个资源下载任务分发至所述至少一个上传节点,以使各上传节点提供与所述资源下载任务相对应的资源;
其中,所述目标资源节点的上传参数包括资源节点的付费属性信息,所述付费属性信息为付费或非付费;或者,所述目标资源节点的上传参数包括资源节点的能力参数,所述能力参数与所述目标资源相对应,所述能力参数为基于资源节点在提供所述目标资源时的任务完成数、未完成任务数和当前任务数确定得到。
17.根据权利要求16所述方法,其中,提供目标资源所对应的目标资源节点信息,包括:
接收下载节点发送来的资源获取请求,所述资源获取请求中包括目标资源标识;
基于所述资源获取请求,确定与所述目标资源标识相对应的目标资源,并确定与所述目标资源相对应的候选资源节点;
基于所述候选资源节点的上传参数,确定所述目标资源节点,并向所述下载节点返回所述目标资源节点信息。
18.根据权利要求17所述方法,其中,所述资源获取请求中还包括所述下载节点的地区信息和运营商信息中至少一项;
则确定与所述目标资源相对应的候选资源节点,具体为:
基于所述下载节点的地区信息和运营商信息中至少一项,确定所述候选资源节点。
19.根据权利要求17所述方法,其中,所述上传参数包括候选资源节点的初始能力参数;
则在提供目标资源所对应的目标资源节点信息之前,所述方法还包括:
获取所述候选资源节点的历史任务处理信息,所述历史任务处理信息包括所述候选资源节点在提供所述目标资源时的历史任务完成数、历史未完成任务数和当前剩余任务数;
基于所述历史任务处理信息,确定所述候选资源节点的初始能力参数。
20.根据权利要求17所述方法,其中,所述上传参数包括候选资源节点的付费属性信息,所述付费属性信息为付费或非付费;
则在提供目标资源所对应的目标资源节点信息之前,所述方法还包括:
确定所述候选资源节点的付费属性信息。
21.一种点对点资源下载方法,应用于下载节点,其中,所述方法包括:
基于目标资源节点的优先程度,从所述目标资源节点中确定所述目标资源所对应的上传节点,所述上传节点用于提供所述目标资源;其中,所述目标资源节点的优先程度为基于目标下载策略和所述目标资源节点的上传参数确定,所述目标下载策略为基于所述目标资源的可播放区和所述下载节点的可下载区中至少一项从多个下载策略中确定,所述下载策略用于反映资源节点的优先程度与上传参数之间的相关关系,所述目标资源节点的上传参数包括资源节点的付费属性信息,所述付费属性信息为付费或非付费;或者,所述目标资源节点的上传参数包括资源节点的能力参数,所述能力参数与所述目标资源相对应,所述能力参数为基于资源节点在提供所述目标资源时的任务完成数、未完成任务数和当前任务数确定,所述目标资源节点为从服务器中确定;
基于所述目标资源中的待下载资源,确定多个资源下载任务;包括:确定任务切分步长;确定任务切分步长,包括以下至少一项:根据所述上传节点的能力参数,确定所述任务切分步长;根据所述上传节点完成下载任务所耗费的时间,确定所述任务切分步长;
基于所述任务切分步长,对所述待下载资源进行切分,得到多个资源下载任务;
将所述多个资源下载任务分发至所述上传节点,以使所述上传节点提供与所述资源下载任务相对应的资源。
22.一种点对点资源下载装置,应用于下载节点,其中,所述装置包括:
目标资源节点确定模块,用于从服务器中确定目标资源所对应的目标资源节点,所述目标资源节点用于提供所述目标资源;
下载策略确定模块,用于基于所述目标资源的可播放区和所述下载节点的可下载区中至少一项,从多个下载策略中确定出目标下载策略,所述下载策略用于反映资源节点的优先程度与上传参数之间的相关关系;
优先程度确定模块,用于基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度;其中,所述目标资源节点的上传参数包括资源节点的付费属性信息,所述付费属性信息为付费或非付费;或者,所述目标资源节点的上传参数包括资源节点的能力参数,所述能力参数与所述目标资源相对应,所述能力参数为基于资源节点在提供所述目标资源时的任务完成数、未完成任务数和当前任务数确定;
资源下载模块,用于基于所述目标资源节点的优先程度,从所述目标资源节点中确定出至少一个上传节点,并从所述至少一个上传节点下载待下载资源,所述上传节点的优先程度满足预设条件;
从所述至少一个上传节点下载待下载资源,包括:
基于所述待下载资源,确定多个资源下载任务;包括:确定任务切分步长;确定任务切分步长,包括以下至少一项:根据所述上传节点的能力参数,确定所述任务切分步长;根据所述上传节点完成下载任务所耗费的时间,确定所述任务切分步长;
基于所述任务切分步长,对所述待下载资源进行切分,得到多个资源下载任务;
将所述多个资源下载任务分发至所述至少一个上传节点,以使各上传节点提供与所述资源下载任务相对应的资源。
23.一种点对点资源下载装置,应用于服务器,其中,所述装置包括:
目标资源节点信息确定模块,用于向下载节点提供目标资源所对应的目标资源节点信息,所述目标资源节点信息包括目标资源节点的上传参数,所述目标资源节点用于提供所述目标资源,以使得所述下载节点基于所述目标资源的可播放区和所述下载节点的可下载区中至少一项,从多个下载策略中确定出目标下载策略,所述下载策略用于反映资源节点的优先程度与上传参数之间的相关关系,并基于所述目标下载策略和所述目标资源节点的上传参数,确定所述目标资源节点的优先程度,以及基于所述目标资源节点的优先程度,从所述目标资源节点中确定出至少一个上传节点,并从所述至少一个上传节点下载所述目标资源,所述上传节点的优先程度满足预设条件;
从所述至少一个上传节点下载待下载资源,包括:
基于所述待下载资源,确定多个资源下载任务;包括:确定任务切分步长;确定任务切分步长,包括以下至少一项:根据所述上传节点的能力参数,确定所述任务切分步长;根据所述上传节点完成下载任务所耗费的时间,确定所述任务切分步长;
基于所述任务切分步长,对所述待下载资源进行切分,得到多个资源下载任务;
将所述多个资源下载任务分发至所述至少一个上传节点,以使各上传节点提供与所述资源下载任务相对应的资源;
其中,所述目标资源节点的上传参数包括资源节点的付费属性信息,所述付费属性信息为付费或非付费;或者,所述目标资源节点的上传参数包括资源节点的能力参数,所述能力参数与所述目标资源相对应,所述能力参数为基于资源节点在提供所述目标资源时的任务完成数、未完成任务数和当前任务数确定得到。
24.一种点对点资源下载装置,应用于下载节点,其中,所述装置包括:
上传节点确定模块,用于基于目标资源节点的优先程度,从所述目标资源节点中确定所述目标资源所对应的上传节点,所述上传节点用于提供所述目标资源;其中,所述目标资源节点的优先程度为基于目标下载策略和所述目标资源节点的上传参数确定,所述目标下载策略为基于所述目标资源的可播放区和所述下载节点的可下载区中至少一项从多个下载策略中确定,所述下载策略用于反映资源节点的优先程度与上传参数之间的相关关系,所述目标资源节点的上传参数包括资源节点的付费属性信息,所述付费属性信息为付费或非付费;或者,所述目标资源节点的上传参数包括资源节点的能力参数,所述能力参数与所述目标资源相对应,所述能力参数为基于资源节点在提供所述目标资源时的任务完成数、未完成任务数和当前任务数确定,所述目标资源节点为从服务器中确定;
任务确定模块,用于基于所述目标资源中的待下载资源,确定多个资源下载任务;包括:确定任务切分步长;确定任务切分步长,包括以下至少一项:根据所述上传节点的能力参数,确定所述任务切分步长;根据所述上传节点完成下载任务所耗费的时间,确定所述任务切分步长;
基于所述任务切分步长,对所述待下载资源进行切分,得到多个资源下载任务;
任务分发模块,用于将所述多个资源下载任务分发至所述上传节点,以使所述上传节点提供与所述资源下载任务相对应的资源。
25.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1~15之任一所述点对点资源下载方法。
26.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~15之任一所述点对点资源下载方法。
27.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求16~20之任一所述点对点资源下载方法。
28.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求16~20之任一所述点对点资源下载方法。
29.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求21所述点对点资源下载方法。
30.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求21所述点对点资源下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811609382.2A CN111385315B (zh) | 2018-12-27 | 2018-12-27 | 点对点资源下载方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811609382.2A CN111385315B (zh) | 2018-12-27 | 2018-12-27 | 点对点资源下载方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385315A CN111385315A (zh) | 2020-07-07 |
CN111385315B true CN111385315B (zh) | 2022-12-16 |
Family
ID=71217920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811609382.2A Active CN111385315B (zh) | 2018-12-27 | 2018-12-27 | 点对点资源下载方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111385315B (zh) |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7944832B2 (en) * | 2006-04-21 | 2011-05-17 | Yongmin Zhang | Method and device for realizing content flowing on P2P network |
CN101360042B (zh) * | 2007-08-01 | 2010-12-08 | 中国电信股份有限公司 | 可运营p2p网络应用路由系统及其路由实现方法 |
CN101771931A (zh) * | 2008-12-26 | 2010-07-07 | 中国移动通信集团公司 | P2p资源下载方法与识别装置 |
CN102014143A (zh) * | 2009-09-04 | 2011-04-13 | 株式会社日立制作所 | 数据接收/发送终端、装置、方法及机顶盒 |
CN101697554B (zh) * | 2009-09-27 | 2012-05-09 | 华中科技大学 | 一种p2p流媒体视频数据传输调度方法 |
CN101753623B (zh) * | 2009-12-15 | 2013-02-20 | 中国人民解放军信息工程大学 | 一种适用于全ip宽带移动网的p2p系统及内容共享方法 |
CN101841556B (zh) * | 2010-02-23 | 2013-01-30 | 中国科学院计算技术研究所 | Cdn-p2p网络中放置资源副本的方法及系统 |
JP2014522594A (ja) * | 2011-05-31 | 2014-09-04 | トムソン ライセンシング | マルチメディア・コンテンツをストリーミングする方法および装置 |
CN102821115B (zh) * | 2011-06-08 | 2015-11-25 | 华为技术有限公司 | 一种点对点p2p传输资源的方法和装置 |
CN103782542A (zh) * | 2011-07-12 | 2014-05-07 | Lg电子株式会社 | 用于设备发现的方法和用于下载内容的方法 |
CN103581878B (zh) * | 2012-07-20 | 2018-07-06 | 百度在线网络技术(北京)有限公司 | 一种用于在移动设备中获取目标资源的方法和设备 |
CN102882712B (zh) * | 2012-09-17 | 2019-02-19 | 中兴通讯股份有限公司 | 网络策略的控制方法、装置及系统 |
CN103024001B (zh) * | 2012-11-30 | 2018-07-31 | 中兴通讯股份有限公司 | 一种业务调度方法与装置及融合设备 |
CN103501327B (zh) * | 2013-09-25 | 2017-04-05 | 北京奇虎科技有限公司 | 基于移动终端应用的下载方法和装置 |
CN104735115A (zh) * | 2013-12-24 | 2015-06-24 | 乐视网信息技术(北京)股份有限公司 | 一种p2p下载方法及装置 |
US9609056B2 (en) * | 2014-03-29 | 2017-03-28 | Google Technology Holdings LLC | Methods for obtaining content from a peer device |
CN103974138B (zh) * | 2014-04-15 | 2018-04-10 | 上海聚力传媒技术有限公司 | 用于在内容分发网络中预加载视频的方法与设备 |
CN106161524A (zh) * | 2015-04-03 | 2016-11-23 | 中国移动通信集团上海有限公司 | 一种基于分布式资源节点的资源下载方法及装置 |
US9961139B2 (en) * | 2016-05-24 | 2018-05-01 | International Business Machines Corporation | Cooperative download among low-end devices under resource constrained environment |
CN105915648B (zh) * | 2016-06-20 | 2020-03-03 | 北京佰才邦技术有限公司 | 基于缓存平台的资源调度方法和装置 |
CN106027673B (zh) * | 2016-07-06 | 2019-07-12 | 北京奇艺世纪科技有限公司 | 资源预推送的控制及训练方法、装置 |
CN107920108A (zh) * | 2016-10-11 | 2018-04-17 | 华为技术有限公司 | 一种媒体资源的推送方法、客户端及服务器 |
CN106790689B (zh) * | 2017-02-20 | 2020-08-04 | 网宿科技股份有限公司 | 基于对等网络的节点推荐方法、服务器和客户端 |
CN108366020B (zh) * | 2018-02-02 | 2020-09-18 | 网宿科技股份有限公司 | 一种发送数据资源的获取请求的方法和系统 |
CN108833968B (zh) * | 2018-05-29 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 一种缓存视频的方法以及相关设备 |
CN108683747B (zh) * | 2018-06-11 | 2020-11-27 | 华为技术有限公司 | 资源获取、分发、下载方法、装置、设备及存储介质 |
-
2018
- 2018-12-27 CN CN201811609382.2A patent/CN111385315B/zh active Active
Non-Patent Citations (3)
Title |
---|
Distributed mobile devices caching over edge computing wireless networks;Xi Zhang等;《2017 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS)》;20171123;全文 * |
Modeling and Optimization of Bandwidth Supply Performance for Cloud-Assisted Video Systems under Flash Crowd;Shijie Jia等;《中国通信》;20160915(第09期);全文 * |
一种遥感数据快速传输策略研究;葛强等;《计算机工程》;20160615(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111385315A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yin et al. | A control-theoretic approach for dynamic adaptive video streaming over HTTP | |
US9407944B1 (en) | Resource allocation optimization for cloud-based video processing | |
CN102763396B (zh) | 用于在http流传输中进行表示切换的方法和装置 | |
RU2657183C2 (ru) | Повышение производительности одноранговых сетей | |
CN107317841B (zh) | 一种数据服务请求处理方法及装置 | |
US20100235845A1 (en) | Sub-task processor distribution scheduling | |
CN113645262A (zh) | 云计算服务系统和方法 | |
CN115190078B (zh) | 一种访问流量控制方法、装置、设备以及存储介质 | |
CN108243032A (zh) | 一种服务等级信息的获取方法、装置及设备 | |
EP2252057B1 (en) | Method and system for storing and distributing electronic content | |
CN116048740A (zh) | 基于众核系统的任务调度方法、系统、电子设备及介质 | |
CN111385315B (zh) | 点对点资源下载方法和装置 | |
CN103336670A (zh) | 一种基于数据温度对数据块自动进行分布的方法和装置 | |
CN114024973B (zh) | 直播云转码的资源调度方法、装置、服务器及系统 | |
Brik et al. | GSS-VC: A game-theoretic approach for service selection in vehicular cloud | |
CN116071012A (zh) | 工作流的节点跳转方法、装置、处理器以及电子设备 | |
CN108521577B (zh) | 一种视频播放方法、装置、设备和存储介质 | |
CN108616600B (zh) | 资源调度方法、客户服务器、节点设备、网络系统和介质 | |
CN113344248A (zh) | 一种订单分配的方法、装置、存储介质以及电子设备 | |
CN107329832B (zh) | 一种数据接收方法及装置 | |
Liang et al. | ipass: Incentivized peer-assisted system for asynchronous streaming | |
CN111611512B (zh) | 一种网络代理的质量评估方法、装置、存储介质及处理器 | |
US10142184B2 (en) | Centralized architecture for establishing federations of content distributors | |
RU2522995C2 (ru) | Способ и устройство создания одноранговой группы в одноранговом приложении и способ применения одноранговой группы | |
CN116627653A (zh) | 服务请求的处理方法和装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |