一种对等节点选择方法及装置转让专利

申请号 : CN202310379388.X

文献号 : CN116095092B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周跃鹏李云龙杨正

申请人 : 湖南快乐阳光互动娱乐传媒有限公司

摘要 :

本申请提供了一种对等节点选择方法及装置。在执行该方法时,从对等网络中确定对待下载文件进行下载的对等节点;基于预设切片规则,对待下载文件进行切片,得到待下载文件对应的切片序列,然后根据第一切片序号确定当前下载节点的切片位图,以及根据多个第二切片序号分别确定每个目标对等节点的切片位图;基于当前下载节点的切片位图和每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分;根据每个目标对等节点对应的服务得分,从多个目标对等节点中选择用于对待下载文件进行下载的目标下载节点。这样一来,通过计算每个目标对等节点对应的服务得分,能从海量的对等节点中挑选出资源丰富程度靠前的节点,提升对等节点的利用率。

权利要求 :

1.一种对等节点选择方法,其特征在于,所述方法包括:

从对等网络中确定用于对待下载文件进行下载的对等节点,所述对等节点包括当前下载节点和多个目标对等节点,所述目标对等节点为所述对等网络中除所述当前下载节点之外的节点;

基于预设切片规则,对所述待下载文件进行切片,得到所述待下载文件对应的切片序列,所述切片序列包括:所述当前下载节点下载的分片对应的第一切片序号、所述多个目标对等节点中每个目标对等节点下载的分片对应的多个第二切片序号;

根据所述第一切片序号确定所述当前下载节点的切片位图,以及根据所述多个第二切片序号分别确定所述每个目标对等节点的切片位图;其中,所述当前下载节点的切片位图的位数和所述目标对等节点的切片位图的位数相同;

基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分;

根据所述每个目标对等节点对应的服务得分,从所述多个目标对等节点中选择用于对所述待下载文件进行下载的目标下载节点;

所述基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分,包括:基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定所述每个目标对等节点对应的首次可服务得分、连续可服务得分和最大可服务得分;

根据所述每个目标对等节点对应的首次可服务得分、连续可服务得分和最大可服务得分,确定所述每个目标对等节点对应的服务得分;

其中,所述基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定所述每个目标对等节点对应的首次可服务得分,包括:确定所述当前下载节点的切片位图对应的第一切片状态标识,所述第一切片状态标识用于指示所述当前下载节点的切片服务能力;

确定所述每个目标对等节点的切片位图对应的第二切片状态标识,所述第二切片状态标识用于指示所述每个目标对等节点的切片服务能力;所述第二切片状态标识包括切片存在标识和切片缺失标识;

根据所述当前下载节点的切片位图中正在下载的切片对应的第一切片序号,确定正在下载的切片对应的第一切片序号对应的所述每个目标对等节点的切片位图中的第二切片序号为起始序号;

根据所述起始序号,遍历所述每个目标对等节点的切片位图的第二切片状态标识中首个切片存在标识的切片序号,将所述首个切片存在标识的切片序号作为首次可服务序号;

计算所述起始序号与所述首次可服务序号之间的差值,得到所述每个目标对等节点的首次可服务偏移量;

计算所述首次可服务偏移量与预设基准参考值之间的比值,得到所述每个目标对等节点对应的首次可服务得分。

2.根据权利要求1所述的方法,其特征在于,基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定所述每个目标对等节点对应的连续可服务得分和最大可服务得分包括:基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图分别对应的第二切片状态标识,确定所述每个目标对等节点对应的连续可服务得分;

基于所述当前下载节点的切片位图对应的第一切片状态标识和所述每个目标对等节点的切片位图对应的第二切片状态标识,确定所述每个目标对等节点对应的最大可服务得分。

3.根据权利要求2所述的方法,其特征在于,所述基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图分别对应的第二切片状态标识,确定所述每个目标对等节点对应的连续可服务得分,包括:根据从所述每个目标对等节点的切片位图中所述首次可服务序号到首个切片缺失标识之间切片存在标识的序号个数,得到所述每个目标对等节点的连续可服务位数;

计算所述连续可服务位数与预设基准参考值之间的比值,得到所述每个目标对等节点对应的连续可服务得分。

4.根据权利要求2所述的方法,其特征在于,所述第一切片状态标识包括切片存在标识和切片缺失标识;

所述基于所述当前下载节点的切片位图对应的第一切片状态标识和所述每个目标对等节点的切片位图对应的第二切片状态标识,确定所述每个目标对等节点对应的最大可服务得分,包括:根据从所述每个目标对等节点的切片位图中所述首次可服务序号到结尾切片序号之间切片存在标识的序号个数,得到所述每个目标对等节点的最大可服务位数;

计算所述每个目标对等节点的最大可服务位数与所述当前下载节点缺失的切片位数之间的比值,得到所述每个目标对等节点对应的最大可服务得分,所述当前下载节点缺失的切片位数为所述当前下载节点的切片位图中从所述正在下载的切片对应的第一切片序号到结尾切片序号之间切片缺失标识的序号个数。

5.根据权利要求1所述的方法,其特征在于,所述根据所述每个目标对等节点对应的首次可服务得分、连续可服务得分和最大可服务得分,确定所述每个目标对等节点对应的服务得分,包括:利用预设权重算法分别计算每个目标对等节点的所述首次可服务得分对应的第一权重、所述连续可服务得分对应的第二权重、所述最大可服务得分对应的第三权重;

根据所述首次可服务得分与所述第一权重之间的乘积、所述连续可服务得分与所述第二权重之间的乘积和所述最大可服务得分与第三权重之间的乘积,确定所述每个目标对等节点对应的服务得分。

6.一种对等节点选择装置,其特征在于,所述装置包括:确定模块、切片模块、选择模块;

所述确定模块,用于从对等网络中确定用于对待下载文件进行下载的对等节点,所述对等节点包括当前下载节点和多个目标对等节点,所述目标对等节点为所述对等网络中除所述当前下载节点之外的节点;

所述切片模块,用于基于预设切片规则,对所述待下载文件进行切片,得到所述待下载文件对应的切片序列,所述切片序列包括:所述当前下载节点下载的分片对应的第一切片序号、所述多个目标对等节点中每个目标对等节点下载的分片对应的多个第二切片序号;

所述确定模块,用于根据所述第一切片序号确定所述当前下载节点的切片位图,以及根据所述多个第二切片序号分别确定所述每个目标对等节点的切片位图;其中,所述当前下载节点的切片位图的位数和所述目标对等节点的切片位图的位数相同;

所述确定模块,还用于基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分;

选择模块,用于根据所述每个目标对等节点对应的服务得分,从所述多个目标对等节点中选择用于对所述待下载文件进行下载的目标下载节点;

所述确定模块,具体用于基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定所述每个目标对等节点对应的首次可服务得分、连续可服务得分和最大可服务得分;

根据所述每个目标对等节点对应的首次可服务得分、连续可服务得分和最大可服务得分,确定所述每个目标对等节点对应的服务得分;

其中,所述基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定所述每个目标对等节点对应的首次可服务得分,包括:确定所述当前下载节点的切片位图对应的第一切片状态标识,所述第一切片状态标识用于指示所述当前下载节点的切片服务能力;

确定所述每个目标对等节点的切片位图对应的第二切片状态标识,所述第二切片状态标识用于指示所述每个目标对等节点的切片服务能力;所述第二切片状态标识包括切片存在标识和切片缺失标识;

根据所述当前下载节点的切片位图中正在下载的切片对应的第一切片序号,确定正在下载的切片对应的第一切片序号对应的所述每个目标对等节点的切片位图中的第二切片序号为起始序号;

根据所述起始序号,遍历所述每个目标对等节点的切片位图的第二切片状态标识中首个切片存在标识的切片序号,将所述首个切片存在标识的切片序号作为首次可服务序号;

计算所述起始序号与所述首次可服务序号之间的差值,得到所述每个目标对等节点的首次可服务偏移量;

计算所述首次可服务偏移量与预设基准参考值之间的比值,得到所述每个目标对等节点对应的首次可服务得分。

7.根据权利要求6所述的装置,其特征在于,所述确定模块具体还用于:

基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图分别对应的第二切片状态标识,确定所述每个目标对等节点对应的连续可服务得分;

基于所述当前下载节点的切片位图对应的第一切片状态标识和所述每个目标对等节点的切片位图对应的第二切片状态标识,确定所述每个目标对等节点对应的最大可服务得分。

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法。

说明书 :

一种对等节点选择方法及装置

技术领域

[0001] 本申请涉及通信网络技术领域,尤其涉及一种对等节点选择方法及装置。

背景技术

[0002] 对等网络是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。它与目前网络中占据主导地位的客户端/服务器(Client/Server)结构(也就是WWW所采用的结构方式)的一个本质区别是,整个网络结构中不存在中心节点(或中心服务器)。在P2P(Peer to Peer)结构中,每一个节点(peer)大都同时具有信息消费者、信息提供者和信息通讯等三方面的功能。在网络中的每个节点的地位都是对等的。每个节点既充当服务器,为其他节点提供服务,同时也享用其他节点提供的服务。
[0003] 由于对等网络中的对等节点不会存储全量数据的天然属性,导致对等节点上的资源分布参差不齐,如何从海量对等节点中挑选出资源丰富程度靠前的节点,提升对等节点的利用率成为本领域亟需解决的问题。

发明内容

[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] 所述选择模块,用于根据所述每个目标对等节点对应的服务得分,从所述多个目标对等节点中选择用于对所述待下载文件进行下载的目标下载节点。
[0038] 可选地,所述确定模块具体用于:
[0039] 确定所述当前下载节点的切片位图对应的第一切片状态标识,所述第一切片状态标识用于指示当前下载节点的切片服务能力;
[0040] 确定所述每个目标对等节点的切片位图对应的第二切片状态标识,所述第二切片状态标识用于指示所述每个目标对等节点的切片服务能力;
[0041] 基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图分别对应的第二切片状态标识,确定所述每个目标对等节点对应的首次可服务得分、连续可服务得分;
[0042] 基于所述当前下载节点的切片位图对应的第一切片状态标识和所述每个目标对等节点的切片位图对应的第二切片状态标识,确定所述每个目标对等节点对应的最大可服务得分;
[0043] 根据所述每个目标对等节点对应的首次可服务得分、连续可服务得分和最大可服务得分,确定所述每个目标对等节点对应的服务得分。
[0044] 可选地,所述第二切片状态标识包括切片存在标识和切片缺失标识;所述确定模块,具体还用于根据所述当前下载节点的切片位图中正在下载的切片对应的第一切片序号,确定正在下载的切片对应的第一切片序号对应的所述每个目标对等节点的切片位图中的第二切片序号为起始序号;
[0045] 根据所述起始序号,遍历所述每个目标对等节点的切片位图的第二切片状态标识中首个切片存在标识的切片序号,将所述首个切片存在标识的切片序号作为首次可服务序号;
[0046] 计算所述起始序号与所述首次可服务序号之间的差值,得到所述每个目标对等节点的首次可服务偏移量;
[0047] 计算所述首次可服务偏移量与预设基准参考值之间的比值,得到所述每个目标对等节点对应的首次可服务得分。
[0048] 第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以上任意一项所述方法。
[0049] 上述技术方案具有如下有益效果:
[0050] 本申请提供了一种对等节点选择方法及装置。在执行所述方法时,首先从对等网络中确定用于对待下载文件进行下载的对等节点,所述对等节点包括当前下载节点和多个目标对等节点,所述目标对等节点为所述对等网络中除当前下载节点之外的节点;接着基于预设切片规则,对所述待下载文件进行切片,得到所述待下载文件对应的切片序列,所述切片序列包括:所述当前下载节点下载的分片对应的第一切片序号、所述多个目标对等节点中每个目标对等节点下载的分片对应的多个第二切片序号;然后根据所述第一切片序号确定所述当前下载节点的切片位图,以及根据所述多个第二切片序号分别确定每个目标对等节点的切片位图;其中,所述当前下载节点的切片位图的位数和所述目标对等节点的切片位图的位数相同,基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分;最后根据所述每个目标对等节点对应的服务得分,从所述多个目标对等节点中选择用于对所述待下载文件进行下载的目标下载节点。这样一来,通过当前下载节点的切片位图和每个目标对等节点的切片位图计算出每个目标对等节点对应的服务得分,能从海量的对等节点中挑选出资源丰富程度靠前的节点,进而提升对等节点的利用率。

附图说明

[0051] 为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0052] 图1为本申请实施例提供的对等节点选择方法的一种方法流程图;
[0053] 图2为本申请实施例提供的对等节点切片位图的一种举例示例图;
[0054] 图3为本申请实施例提供的对等节点选择方法的另一种方法流程图;
[0055] 图4为本申请实施例提供的对等节点选择装置的一种结构示意图。

具体实施方式

[0056] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0057] 为便于理解本申请提供的技术方案,下面将先对本申请涉及的背景技术进行说明。
[0058] 在现有技术中,在从对等网络中选择待下载文件对应的对等节点时,仅仅利用对等节点的网络状态来挑选对等节点,对等节点的利用率低下,而且需要频繁的跟调度服务交互来获取对等节点,浪费带宽。
[0059] 为了克服上述技术问题,本申请实施例提供了一种对等节点选择方法,该方法可以由一种对等节点选择方法及装置来执行,该装置可以由软件和/或硬件的方式实现,并一般可集成于服务器或终端设备中。
[0060] 请参见图1,图1为本申请实施例提供的对等节点选择方法的一种方法流程图,该方法可以包括:
[0061] 步骤S101:从对等网络中确定用于对待下载文件进行下载的对等节点,所述对等节点包括当前下载节点和多个目标对等节点,所述目标对等节点为所述对等网络中除所述当前下载节点之外的节点。
[0062] 本申请实施例中,首先从对等网络中确定出用于对待下载文件进行下载的对等节点,该对等网络中包括多个对等节点,对等节点包括对待下载文件的当前下载节点,和多个目标对等节点。其中,目标对等节点为对等网络中的远程对等节点,可以理解的是,多个目标对等节点也用于下载该待下载文件,目标对等节点为对等网络中除当前下载节点之外的节点。
[0063] 步骤S102:基于预设切片规则,对所述待下载文件进行切片,得到所述待下载文件对应的切片序列,所述切片序列包括:所述当前下载节点下载的分片对应的第一切片序号、所述多个目标对等节点中每个目标对等节点下载的分片对应的多个第二切片序号。
[0064] 本申请实施例中,当从对等网络中确定用于对待下载文件进行下载的对等节点之后,基于预设切片规则,对待下载文件进行切片,得到待下载文件对应的切片序列。该待下载文件对应的切片序列包括当前下载节点已下载的分片对应的第一切片序号、每个目标对等节点已下载的分片对应的多个第二切片序号。
[0065] 如图2所示,为本申请实施例提供的对等节点切片位图的一种举例示例图,在图2中,切片序号为0‑15,切片缺失的切片序号分别为1、5、6、10、13、15。
[0066] 需要说明的是,上述仅为对待下载文件进行切片的示例,在实际应用中,可以采用固定时长切片,比如每10秒音视频数据为一个切片,对此本申请不做限定。
[0067] 需要说明的是,本申请在得到待下载文件对应的切片序列后,通过建立快速索引信息,得到当前下载节点已下载的分片对应的第一切片序号、每个目标对等节点已下载的分片对应的多个第二切片序号。
[0068] 步骤S103:根据所述第一切片序号确定所述当前下载节点的切片位图,以及根据所述多个第二切片序号分别确定所述每个目标对等节点的切片位图;其中,所述当前下载节点的切片位图的位数和所述目标对等节点的切片位图的位数相同。
[0069] 具体地,本申请可以根据第一切片序号确定当前下载节点的切片位图,根据多个第二切片序号分别确定每个目标对等节点的切片位图,其中,当前下载节点的切片位图的位数和目标对等节点的切片位图的位数相同。
[0070] 例如:若以0表示当前下载节点未下载的切片状态标识和1表示当前下载节点已下载的切片状态标识为例,在图2中,切片缺失的切片序号分别为1、5、6、10、13、15。
[0071] 步骤S104:基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分。
[0072] 本申请实施例中,可以根据当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分。
[0073] 在一种可能的实现方式中,如图3所示,为本申请提供的对等节点选择方法的另一种举例示意图。步骤S104可以包括:
[0074] 步骤S1041:确定所述当前下载节点的切片位图对应的第一切片状态标识,所述第一切片状态标识用于指示所述当前下载节点的切片服务能力。
[0075] 需要说明的是,本申请通过对切片序列建立位图索引,能用较短的字段串即可标识出对等节点中的切片状态标识,便于后续对对等节点进行资源打分,能从海量的对等节点中挑选出资源丰富程度靠前的节点,进而提升对等节点的利用率。
[0076] 步骤S1042:确定所述每个目标对等节点的切片位图对应的第二切片状态标识,所述第二切片状态标识用于指示所述每个目标对等节点的切片服务能力。
[0077] 例如:在图2中,若以0表示当前下载节点未下载的切片状态标识和1表示当前下载节点已下载的切片状态标识,则目标对等节点的切片位图为1011100111011010。
[0078] 需要说明的是,本申请通过对切片序列建立位图索引,能用较短的字段串即可标识出对等节点中的切片状态标识,便于后续对对等节点进行资源打分,能够提升对等节点的利用率。
[0079] 步骤S1043:基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图分别对应的第二切片状态标识,确定所述每个目标对等节点对应的首次可服务得分、连续可服务得分。
[0080] 在一种可能的实现方式中,步骤S1043可以包括:
[0081] 所述第二切片状态标识包括切片存在标识和切片缺失标识;所述基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图分别对应的第二切片状态标识,确定所述每个目标对等节点对应的首次可服务得分,包括:
[0082] 根据所述当前下载节点的切片位图中正在下载的切片对应的第一切片序号,确定正在下载的切片对应的第一切片序号对应的所述每个目标对等节点的切片位图中的第二切片序号为起始序号;
[0083] 根据所述起始序号,遍历所述每个目标对等节点的切片位图的第二切片状态标识中首个切片存在标识的切片序号,将所述首个切片存在标识的切片序号作为首次可服务序号;
[0084] 计算所述起始序号与所述首次可服务序号之间的差值,得到所述每个目标对等节点的首次可服务偏移量;
[0085] 计算所述首次可服务偏移量与预设基准参考值之间的比值,得到所述每个目标对等节点对应的首次可服务得分。
[0086] 具体地,根据当前下载节点的切片位图中正在下载的切片对应的第一切片序号,确定正在下载的切片对应的第一切片序号对应所述每个目标对等节点的切片位图中的第二切片序号,作为起始序号。
[0087] 可以理解的是,由于当前下载节点的切片位图的位数和目标对等节点的切片位图的位数相同,因此,假设当前下载节点的切片位图中正在下载的切片对应的第一切片序号为3,对应地,每个目标对等节点的切片位图中的第二切片序号的起始序号也为3。
[0088] 从起始序号开始,往后遍历所述每个目标对等节点的切片位图的第二切片状态标识中首个切片存在标识的切片序号,将所述首个切片存在标识的切片序号作为首次可服务序号,计算所述起始序号与所述首次可服务序号之间的差值,得到所述每个目标对等节点的首次可服务偏移量,计算所述首次可服务偏移量与预设基准参考值之间的比值,得到所述每个目标对等节点对应的首次可服务得分。
[0089] 如图2所示,假设起始序号为5,则首次可服务序号为7。
[0090] 需要说明的是,预设基准参考值可以根据实际需求进行设定,在此本申请不做限定。
[0091] 在此基础上,在一种可能的实现方式中,所述基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图分别对应的第二切片状态标识,确定所述每个目标对等节点对应的连续可服务得分,包括:
[0092] 根据从所述每个目标对等节点的切片位图中所述首次可服务序号到首个切片缺失标识之间切片存在标识的序号个数,得到所述每个目标对等节点的连续可服务位数;
[0093] 计算所述连续可服务位数与预设基准参考值之间的比值,得到所述每个目标对等节点对应的连续可服务得分。
[0094] 具体地,以每个目标对等节点的切片位图中所述首次可服务序号开始,往后遍历每个目标对等节点的切片位图,直到首个切片缺失标识则结束遍历,计算从首次可服务序号到首个切片缺失标识的切片序号之间切片存在标识的序号个数,得到所述每个目标对等节点的连续可服务位数,然后计算所述连续可服务位数与预设基准参考值之间的比值,得到所述每个目标对等节点对应的连续可服务得分。
[0095] 如图2所示,假设起始序号为6,遍历到切片序号10停止,连续可服务位数为3。
[0096] 需要说明的是,预设基准参考值可以根据实际需求进行设定,在此本申请不做限定。
[0097] 步骤S1044:基于所述当前下载节点的切片位图对应的第一切片状态标识和所述每个目标对等节点的切片位图对应的第二切片状态标识,确定所述每个目标对等节点对应的最大可服务得分。
[0098] 在一种可能的实现方式中,所述第一切片状态标识包括切片存在标识和切片缺失标识;步骤S1044可以包括:
[0099] 根据从所述每个目标对等节点的切片位图中所述首次可服务序号到结尾切片序号之间切片存在标识的序号个数,得到所述每个目标对等节点的最大可服务位数;
[0100] 计算所述每个目标对等节点的最大可服务位数与所述当前下载节点缺失的切片位数之间的比值,得到所述每个目标对等节点对应的最大可服务得分,所述当前下载节点缺失的切片位数为所述当前下载节点的切片位图中从所述正在下载的切片对应的第一切片序号到结尾切片序号之间切片缺失标识的序号个数。
[0101] 具体地,以每个目标对等节点的切片位图中所述首次可服务序号开始,往后遍历每个目标对等节点的切片位图,直至结尾,记录从所述每个目标对等节点的切片位图中所述首次可服务序号到结尾切片序号之间切片存在标识的序号个数,得到所述每个目标对等节点的最大可服务位数。
[0102] 如图2所示,假设起始序号为1,遍历到结尾中切片存在的序号个数为9,则最大可服务序号为9。
[0103] 接着,计算所述每个目标对等节点的最大可服务位数与所述当前下载节点缺失的切片位数之间的比值,得到所述每个目标对等节点对应的最大可服务得分。其中,当前下载节点缺失的切片位数为所述当前下载节点的切片位图中从所述正在下载的切片对应的第一切片序号到结尾切片序号之间切片缺失标识的序号个数。
[0104] 步骤S1045:根据所述每个目标对等节点对应的首次可服务得分、连续可服务得分和最大可服务得分,确定所述每个目标对等节点对应的服务得分。
[0105] 本申请实施例中,通过计算每个目标对等节点对应的首次可服务得分、连续可服务得分和最大可服务得分,从而确定所述每个目标对等节点对应的服务得分,能从海量的对等节点中挑选出资源丰富程度靠前的节点,进而提升对等节点的利用率。
[0106] 步骤S105:根据所述每个目标对等节点对应的服务得分,从所述多个目标对等节点中选择用于对所述待下载文件进行下载的目标下载节点。
[0107] 本申请实施例中,可以根据每个目标对等节点对应的服务得分,从所述多个目标对等节点中选择用于对所述待下载文件进行下载的目标下载节点,该目标下载节点用于下载待下载文件。可以理解的是,本申请可以通过计算对等节点的资源丰富程度得分,能从海量的对等节点中挑选出资源丰富程度靠前的节点,进而提升对等节点的利用率。
[0108] 从上述技术方案可以看出,本申请首先从对等网络中确定用于对待下载文件进行下载的对等节点,所述对等节点包括当前下载节点和多个目标对等节点,所述目标对等节点为所述对等网络中除当前下载节点之外的节点;接着基于预设切片规则,对所述待下载文件进行切片,得到所述待下载文件对应的切片序列,所述切片序列包括:所述当前下载节点下载的分片对应的第一切片序号、每个目标对等节点下载的分片对应的多个第二切片序号;然后根据所述第一切片序号确定所述当前下载节点的切片位图,以及根据所述多个第二切片序号分别确定每个目标对等节点的切片位图;其中,所述当前下载节点的切片位图的位数和所述目标对等节点的切片位图的位数相同,基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分;最后根据所述每个目标对等节点对应的服务得分,从所述多个目标对等节点中选择用于对所述待下载文件进行下载的目标下载节点。这样一来,通过当前下载节点的切片位图和每个目标对等节点的切片位图计算出每个目标对等节点对应的服务得分,能从海量的对等节点中挑选出资源丰富程度靠前的节点,进而提升对等节点的利用率,而且,不需要频繁的跟调度服务交互来获取对等节点,节省带宽。
[0109] 在一种可能的实现方式中,步骤S1045可以包括:
[0110] 利用预设权重算法分别计算每个目标对等节点的所述首次可服务得分对应的第一权重、所述连续可服务得分对应的第二权重、所述最大可服务得分对应的第三权重;
[0111] 根据所述首次可服务得分与所述第一权重之间的乘积、所述连续可服务得分与所述第二权重之间的乘积和所述最大可服务得分与第三权重之间的乘积,确定所述每个目标对等节点对应的服务得分。
[0112] 具体地,在实际应用中,考虑到目标对等节点首次服务和连续服务这两个因素更能真实反应对等节点的持续服务能力,因此,目标对等节点首次服务和连续服务两个得分的权重应该更高,将这两个得分的权重看做一个整体,记为ResGroupWT,为首次可服务和连续可服务组合权重。可以理解的是,ResGroupWT可以根据实际情况进行设定,在此本申请不做限定。
[0113] 计算首次可服务和连续可服务中得分较高者的权重WT_A=(fabs(FirstSvrScore ‑ SerialSvrScore) /(100.0 * 0.5)+ 0.5) * ResGroupWT,fabs函数为求绝对值的函数。
[0114] 计算首次可服务和连续可服务中得分较低者的权重WT_B = ResGroupWT ‑ WT_A。
[0115] 计算最大可服务得分权重:WT_C = 1.0 ‑ WT_A ‑ WT_B。
[0116] 目标对等节点对应的服务得分RemoteResScore = fmax(FirstSvrScore, SerialSvrScore) * WT_A + fmin(FirstSvrScore, SerialSvrScore) * WT_B + MaxSvrScore * WT_C,fmax函数为求二者中最大值的函数,fmin函数为求二者中最小值的函数,其中,FirstSvrScore为目标对等节点首次可服务得分,SerialSvrScore为目标对等节点连续可服务得分,MaxSvrScore为目标对等节点最大可服务得分。
[0117] 可见,本申请实施例通过利用预设权重算法分别计算每个目标对等节点的所述首次可服务得分对应的第一权重、所述连续可服务得分对应的第二权重、所述最大可服务得分对应的第三权重,确定首次可服务得分、连续可服务得分、最大可服务得分在服务得分中的相对重要程度,使得计算得到的目标对等节点对应的服务得分更具为准确,进一步提升对等节点的利用率。
[0118] 接下来,以一个具体的场景例对本申请实施例进行详细的说明。
[0119] 步骤1:获取待下载的文件;利用切片规则,对待下载的文件进行切片,得到所述待下载文件对应的切片序列。
[0120] 步骤2:根据待下载文件,获取对等网络中的对等节点,对等节点包括当前下载节点和目标对等节点。
[0121] 根据当前下载节点下载的切片序号,以及目标对等节点下载的切片序号,确定当前下载节点的切片位图和目标对等节点的切片位图。
[0122] 步骤3:计算目标对等节点的服务得分。
[0123] 3.1计算目标对等节点的首次可服务得分FirstSvrScore=100.0*(1.0‑min(1.0,FirstSvrOffset/ ResBitRefer)),FirstSvrOffset为首次可服务偏移量,ResBitRefer为预设基准参考值。
[0124] 其中,FirstSvrOffset= FirstSvrPos‑ LocalPos,其中,FirstSvrPos 为所述目标对等节点的切片位图中首个切片存在标识的序号,LocalPos为根据所述当前下载节点的切片位图信息中正在下载的切片对应的切片序号。
[0125] 需要说明的是,本申请中切片位图的切片状态可以为0和1表示,0表示切片缺失,即未下载的切片的状态,1表示切片存在状态。对应的,FirstSvrPos 为所述目标对等节点的切片位图中出现首个1的序号。
[0126] 需要说明的是,该预设基准参考值可以根据需求进行设定,对此本申请不做限定。
[0127] 3.2,计算目标对等节点的连续可服务得分SerialSvrScore=100.0*(1.0‑min(1.0,SerialSvrLen / ResBitRefer)),SerialSvrLen为连续可服务位数,该连续可服务位数是目标对等节点的切片位图中从FirstSvrPos开始,到首个切片缺失标识的序号之间切片存在标识的位数。
[0128] 仍以切片状态标识0和1表示,0表示切片缺失状态,1表示切片存在状态为例。SerialSvrLen是目标对等节点的切片位图中从首次可服务序号开始,到首个出现0的序号之间切片状态为1的位数。ResBitRefer为预设基准参考值。例如:以目标对等节点首次可服务序号(FirstSvrPos)为起始序号,在远程对等节点的切片位图上逐位向后遍历,直到首次碰到值为0的位则结束遍历,记录所有值不为0的位个数,即为连续可服务位数,记为SerialSvrLen。
[0129] 3.3,计算目标对等节点的最大可服务得分MaxSvrScore==100.0*(1.0‑min(1.0,MaxSvrLen /  LocalLackLen)),其中,MaxSvrLen为目标对等节点的切片位图从FirstSvrPos开始可为当前节点提供服务的最大切片数量,LocalLackLen为当前下载节点的切片位图从LocalPos开始到最后一共缺失的切片数。
[0130] 仍以切片状态0和1表示,0表示切片缺失状态,1表示切片存在状态为例。MaxSvrLen是目标对等节点的切片位图中从首次可服务序号,逐位向后遍历直到结尾,记录所有值不为0的位个数,即为最大可服务位数。
[0131] LocalLackLen是当前下载节点的切片位图中从正在下载的切片序号(LocalPos)为起始序号,逐位向后遍历一直到结尾,记录所有值为0的位个数,即为当前下载节点仍缺失的切片数。
[0132] 步骤4:考虑到远程对等节点首次服务和连续服务这两个因素更能真实反应对等节点的持续服务能力,所以这两个得分的权重应该更高,于是将这两个得分的权重看做一个整体,记为ResGroupWT,为首次可服务和连续可服务组合权重。可以理解的是,ResGroupWT可以根据实际情况进行设定,在此本申请不做限定。
[0133] 4.1,计算首次可服务和连续可服务中得分较高者的权重WT_A=(fabs(FirstSvrScore ‑ SerialSvrScore) /(100.0 * 0.5)+ 0.5) * ResGroupWT,fabs函数为求绝对值的函数。
[0134] 4.2,计算首次可服务和连续可服务中得分较低者的权重WT_B = ResGroupWT ‑ WT_A。
[0135] 4.3,计算最大可服务得分权重:WT_C = 1.0 ‑ WT_A ‑ WT_B。
[0136] 4.4,对等节点资源丰富程度得分RemoteResScore = fmax(FirstSvrScore, SerialSvrScore) * WT_A + fmin(FirstSvrScore, SerialSvrScore) * WT_B + MaxSvrScore * WT_C,fmax函数为求二者中最大值的函数,fmin函数为求二者中最小值的函数。
[0137] 对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0138] 以上为本申请实施例提供的对等节点选择方法的一些具体实现方式,基于此,本申请还提供了对应的装置。下面将从功能模块化的角度对本申请实施例提供的装置进行介绍。
[0139] 参见图4所示的对等节点选择装置的一种结构示意图,该装置可以包括:确定模块100、切片模块200、选择模块300;
[0140] 所述确定模块100,用于从对等网络中确定用于对待下载文件进行下载的对等节点,所述对等节点包括当前下载节点和多个目标对等节点,所述目标对等节点为所述对等网络中除当前下载节点之外的节点;
[0141] 所述切片模块200,用于基于预设切片规则,对所述待下载文件进行切片,得到所述待下载文件对应的切片序列,所述切片序列包括:所述当前下载节点下载的分片对应的第一切片序号、每个目标对等节点下载的分片对应的多个第二切片序号;
[0142] 所述确定模块100,用于根据所述第一切片序号确定所述当前下载节点的切片位图,以及根据所述多个第二切片序号分别确定每个目标对等节点的切片位图;其中,所述当前下载节点的切片位图的位数和所述目标对等节点的切片位图的位数相同;
[0143] 所述确定模块100,还用于基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分;
[0144] 所述选择模块300,用于根据所述每个目标对等节点对应的服务得分,从所述多个目标对等节点中选择用于对所述待下载文件进行下载的目标下载节点。
[0145] 可选地,所述确定模块100具体用于:
[0146] 确定所述当前下载节点的切片位图对应的第一切片状态标识,所述第一切片状态标识用于指示当前下载节点的切片服务能力;
[0147] 确定所述每个目标对等节点的切片位图对应的第二切片状态标识,所述第二切片状态标识用于指示所述每个目标对等节点的切片服务能力;
[0148] 基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图分别对应的第二切片状态标识,确定所述每个目标对等节点对应的首次可服务得分、连续可服务得分;
[0149] 基于所述当前下载节点的切片位图对应的第一切片状态标识和所述每个目标对等节点的切片位图对应的第二切片状态标识,确定所述每个目标对等节点对应的最大可服务得分;
[0150] 根据所述每个目标对等节点对应的首次可服务得分、连续可服务得分和最大可服务得分,确定所述每个目标对等节点对应的服务得分。
[0151] 可选地,所述第二切片状态标识包括切片存在标识和切片缺失标识;所述确定模块,具体还用于根据所述当前下载节点的切片位图中正在下载的切片对应的第一切片序号,确定正在下载的切片对应的第一切片序号对应的所述每个目标对等节点的切片位图中的第二切片序号为起始序号;
[0152] 根据所述起始序号,遍历所述每个目标对等节点的切片位图的第二切片状态标识中首个切片存在标识的切片序号,将所述首个切片存在标识的切片序号作为首次可服务序号;
[0153] 计算所述起始序号与所述首次可服务序号之间的差值,得到所述每个目标对等节点的首次可服务偏移量;
[0154] 计算所述首次可服务偏移量与预设基准参考值之间的比值,得到所述每个目标对等节点对应的首次可服务得分。
[0155] 从上述技术方案可以看出,本申请首先从对等网络中确定用于对待下载文件进行下载的对等节点,所述对等节点包括当前下载节点和多个目标对等节点,所述目标对等节点为所述对等网络中除当前下载节点之外的节点;接着基于预设切片规则,对所述待下载文件进行切片,得到所述待下载文件对应的切片序列,所述切片序列包括:所述当前下载节点下载的分片对应的第一切片序号、每个目标对等节点下载的分片对应的多个第二切片序号;然后根据所述第一切片序号确定所述当前下载节点的切片位图,以及根据所述多个第二切片序号分别确定每个目标对等节点的切片位图;其中,所述当前下载节点的切片位图的位数和所述目标对等节点的切片位图的位数相同,基于所述当前下载节点的切片位图和所述每个目标对等节点的切片位图,确定每个目标对等节点对应的服务得分;最后根据所述每个目标对等节点对应的服务得分,从所述多个目标对等节点中选择用于对所述待下载文件进行下载的目标下载节点。这样一来,通过当前下载节点的切片位图和每个目标对等节点的切片位图计算出每个目标对等节点对应的服务得分,能从海量的对等节点中挑选出资源丰富程度靠前的节点,进而提升对等节点的利用率,节省带宽。
[0156] 本申请实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述实施例中所述的一种对等节点选择方法。
[0157] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0158] 本领域技术人员可以理解,图所示的流程图仅是本申请的实施方式可以在其中得以实现的一个示例,本申请实施方式的适用范围不受到该流程图任何方面的限制。
[0159] 在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0160] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0161] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。