CN109962948B - 一种p2p任务的处理方法及装置 - Google Patents

一种p2p任务的处理方法及装置 Download PDF

Info

Publication number
CN109962948B
CN109962948B CN201711407167.XA CN201711407167A CN109962948B CN 109962948 B CN109962948 B CN 109962948B CN 201711407167 A CN201711407167 A CN 201711407167A CN 109962948 B CN109962948 B CN 109962948B
Authority
CN
China
Prior art keywords
task
information
node
resource
preset
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
Application number
CN201711407167.XA
Other languages
English (en)
Other versions
CN109962948A (zh
Inventor
石杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201711407167.XA priority Critical patent/CN109962948B/zh
Publication of CN109962948A publication Critical patent/CN109962948A/zh
Application granted granted Critical
Publication of CN109962948B publication Critical patent/CN109962948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/61Scheduling 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

Abstract

一种P2P任务的处理方法及装置,包括:接收来自消费端节点的P2P任务,所述P2P任务携带第一信息和第二信息中之一或两项、以及资源ID,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,以将对应所述资源ID的数据返回给所述消费端节点。本申请能够对不同P2P任务进行分级处理,有效提升用户体验和P2P网络的处理效率。

Description

一种P2P任务的处理方法及装置
技术领域
本发明涉及对等计算机(P2P,peer to peer)网络技术领域,尤其涉及一种P2P任务的处理方法及装置。
背景技术
随着P2P网络技术的发展和推广,提供差异化服务的能力,即分级加速,变得越来越重要。
目前,P2P网络提供差异化服务的技术方案主要有如下两种:
一种方案是根据节点类型来进行分级,即:在节点属性中增加节点类型的标识,在消费端节点(即下载资源的P2P节点)分配P2P任务时,根据消费端节点自身的节点类型和每种类型预设的等级值,给P2P任务加上对应的等级值。供给端节点(即上传资源的P2P节点)收到P2P任务后,从中解析出任务等级值,按任务等级值从高到低进行排序,优先处理高等级的任务。
另一种方案是根据播放类型来进行分级,即:根据不同的播放类型对实时性要求的高低,预设不同的分值。在消费端节点(即下载资源的P2P节点)收到下载请求时,先从该下载请求中解析出其播放类型,根据不同的播放类型,给P2P任务加上对应的分值再向供给端节点(即上传资源的P2P节点)请求资源。供给端节点在收到P2P任务后,根据P2P任务的分值从高往低排序,优先处理分值高的P2P任务。
以上两种方案,都只是处理单一维度的任务分级,缺少多维度综合的任务分级。另外,对任务的分级都是固化在程序中,不能灵活配置,一旦需求变更,就需要重新开发升级,成本高,扩展性差。最后,对VIP类型的资源使用方的请求没有做差异化处理,影响资源请求方的会员用户体验。
然而,在实际应用中,P2P网络至少需要在如下之一或多种情况下提供差异化服务。
一方面,视频网站的会员部分的营收所占的比例越来越大,为了吸引资源使用方付费,除了传统的版权视频和免广告等方式,也需要提供比普通会员更好的播放体验和流畅度。这就需要对作为会员的资源使用方的播放请求和普通资源使用方的播放请求提供差异化的加速服务。
另一方面,视频类的请求可以分为视频点播、视频下载、视频预加载等几种类型,每一种类型的请求对实时性的要求都不一样。点播类型主要是指当前用户观看的视频请求,这种对实时性的要求最高,因为网络延迟会直接影响用户的观看效果。预加载类型的实时性次之,相比而言下载类型对实时性的要求没有那么高,任务稍微延迟几秒钟处理,资源使用方几乎感知不到。因此,为了提升服务效率,针对不同类型的视频请求,也需要做差异化服务。
又一方面,视频的码率(比如,标清,高清,超清,1080P等)不同,在播放时对带宽的要求也不同。在P2P系统中,为了保证资源使用方的使用体验,在前面的紧急区部分主要是从内容分发网络(CDN,Content Delivery Network)下载。如果P2P带宽达不到要求,下载速率跟不上播放码率,就会走CDN流量,无法起到节省带宽的作用。
再一方面,在P2P网络中,P2P节点的种类很多,不同类型的P2P节点上的网络质量参差不齐。在有线网络的环境下,网络质量比较稳定,且使用百兆或千兆的网卡时,网速也相对比较好。而在移动端和OTT端用的大部分是WIFI,网络信号不稳定,且速度没有有线网络那么快。因此,对于不同终端类型、不同网络环境的P2P节点,提供差异化的服务,才能更好的提升播放体验。
目前,供给端节点处理P2P任务的方式主要是先来先服务的方法,即供给端节点根据收到P2P任务的先后次序来进行服务。首先,在供给端节点有一个待处理队列,每次新来一个P2P任务,就添加到该待处理队列的末尾。每次处理完一个P2P任务后,再从该待处理队列中领取下一个P2P任务,继续处理,以此,来保证先来的任务优先处理。
供给端节点的上述处理方式,是对所有P2P任务统一处理,没有做到差异化服务,无法有效提升资源使用方的使用体验。另外,处理的效率也比较低,比如剩余时间比较短的P2P任务可能会排在待处理队列的末尾,有可能因未及时处理而被取消。甚至于,对一些重要的P2P任务都没能及时处理,导致这些重要的P2P任务被取消掉,最终影响资源使用方的使用体验。
发明内容
本申请旨在至少解决相关技术中的技术问题之一。
本申请提供一种P2P任务的处理方法及装置,至少能够对不同P2P任务进行分级处理,有效提升用户体验和P2P网络的处理效率。
本申请采用如下技术方案。
一种对等计算机P2P任务的处理方法,包括:
接收来自消费端节点的P2P任务,所述P2P任务携带第一信息和第二信息中之一或两项、以及资源ID,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,以将对应所述资源ID的数据返回给所述消费端节点。
其中,所述根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,包括:
在至少符合如下之一时,立即处理所述P2P任务:
所述第一信息满足预先设定的第一条件;
所述第二信息满足预先设定的第二条件。
其中,所述根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,包括:
在符合如下条件时,基于所述第一信息和所述第二信息中之一或两项确定所述P2P任务在待处理队列中的次序,并按照所述次序处理所述P2P任务:
所述第一信息不满足预先设定的第一条件;
所述第二信息不满足预先设定的第二条件。
其中,所述根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,至少包括如下之一:
在所述第一信息满足预先设定的第一条件但所述第二信息不满足预先设定的第二条件时,直接读取对应所述P2P任务的数据,在当前流量值不超出预设的流量阈值时所述数据直接返回给所述消费端节点,在当前流量值超出所述流量阈值时等待到下一周期将所述数据返回给所述消费端节点;
在所述第一信息不满足预先设定的第一条件但所述第二信息满足预先设定的第二条件时,直接读取对应所述资源ID的数据,在当前任务数不超出预设的任务数阈值时将所述数据直接返回给所述消费端节点,在当前任务数超出所述任务数阈值时等待到下一周期将所述数据返回给所述消费端节点;
在所述第一信息满足预先设定的第一条件且所述第二信息满足预先设定的第二条件时,直接读取对应所述资源ID的数据,并将所述数据直接返回给所述消费端节点。
其中,所述基于所述第一信息和所述第二信息中之一或两项确定所述P2P任务在待处理队列中的次序,包括:按照所述第一信息对所述待处理队列的P2P任务进行排序,并基于所述第二信息对所述第一信息相同的P2P任务进行排序。
其中,所述第二信息包括:所述P2P任务的过期时刻,所述过期时刻表示所述P2P任务在此时刻之后即失效。
其中,所述第二条件包括:所述过期时刻到当前时刻的时长低于预设的第二阈值。
其中,所述第一信息包括:所述P2P任务的任务等级值,所述任务等级值至少基于所述P2P任务相关的维度信息确定;所述维度信息包括如下之一或多项:资源使用方的会员等级信息、所述P2P任务的请求类型信息、消费端节点的终端类型信息、所述P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率信息。
其中,所述第一条件包括:所述任务等级值高于预设的第一阈值。
一种P2P任务的处理方法,包括:
获取当前P2P任务相关的维度信息;
根据所述维度信息,确定所述P2P任务的第一信息和第二信息中之一或两项,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
向供给端节点发送所述P2P任务,所述P2P任务携带所述第一信息和所述第二信息中之一或两项;
其中,所述维度信息包括如下之一或多项:
资源使用方的会员等级信息、所述P2P任务的请求类型信息、消费端节点的终端类型信息、所述P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率信息。
其中,所述获取当前P2P任务相关的维度信息,包括如下之一或多项:
从来自资源请求方的请求中解析到资源使用方的会员等级信息;
从来自资源请求方的请求中解析到所述请求类型信息;
根据自身的节点类型获取所述终端类型信息;
根据所述P2P任务请求的数据块的起始位置信息和大小信息,得到所述P2P任务请求的数据块与当前播放点之间的时差;
通过解析已获取的资源数据得到所述视频码率信息。
其中,所述第一信息包括:任务等级值,所述任务等级值以数值的形式表征所述P2P任务的重要程度;所述根据所述维度信息,确定所述P2P任务的第一信息,包括:至少根据所述维度信息,确定所述P2P任务的任务等级值。
其中,根据所述维度信息、以及预先配置的对应所述维度信息的权重,确定所述P2P任务的任务等级值。
其中,所述方法还包括:从服务器获取所述权重并更新到本地。
其中,所述根据所述维度信息,确定所述P2P任务的第一信息,包括:通过预先定义的计算模型得到所述P2P任务的任务等级值;其中,所述计算模型至少以预先设定的所述维度信息的分值为参数,以所述任务等级值为目标值。
其中,所述计算模型以所述维度信息的分值、以及对应所述维度信息的权重为参数,以所述任务等级值为目标值。
其中,所述根据所述维度信息,确定所述P2P任务的第二信息,包括:根据所述P2P任务请求的数据块与当前播放点之间的时差、以及所述最大有效时长,确定所述P2P任务的有效时长,并基于所述P2P任务的有效时长确定所述P2P任务的第二信息。
其中,所述根据所述P2P任务请求的数据块与当前播放点之间的时差、以及所述最大有效时长,确定所述P2P任务的有效时长,包括:所述P2P任务的有效时长为:所述最大有效时长和所述P2P任务请求的数据块与当前播放点之间的时差之中的最小值。
其中,所述第二信息,包括:所述P2P任务的过期时刻,所述过期时刻表示所述P2P任务在此时刻之后即失效。
一种P2P任务的处理方法,包括:
通过API获取预先设定的权重表;
将所述权重表提供给P2P节点;
其中,所述权重表包含与P2P任务的维度相对应的权重;
所述P2P任务的维度至少包括如下之一:资源使用方的会员等级、请求类型、终端类型、P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率。
其中,所述将权重表提供给P2P节点,包括:接收所述P2P节点发送的身份信息;在所述P2P节点的身份信息验证通过后,将发生更新的配置参数发送给所述P2P节点,所述配置参数包括所述权重表。
一种P2P任务处理装置,包括:
接收模块,用于接收来自消费端节点的P2P任务,所述P2P任务携带第一信息和第二信息中之一或两项、以及资源ID,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
处理模块,用于根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,以将对应所述资源ID的数据返回给所述消费端节点。
其中,所述处理模块,用于根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,包括:
在至少符合如下之一时,立即处理所述P2P任务:
所述第一信息满足预先设定的第一条件;
所述第二信息满足预先设定的第二条件。
一种P2P任务处理装置,包括:
获取模块,用于获取当前P2P任务相关的维度信息;
确定模块,用于根据所述维度信息,确定所述P2P任务的第一信息和第二信息中之一或两项,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
发送模块,用于向供给端节点发送所述P2P任务,所述P2P任务携带所述第一信息和所述第二信息中之一或两项;
其中,所述维度信息包括如下之一或多项:
资源使用方的会员等级信息、所述P2P任务的请求类型信息、消费端节点的终端类型信息、所述P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率信息。
一种P2P任务处理装置,包括:
存储有计算机程序的存储器;
处理器,配置为读取所述计算机程序以执行上述P2P任务的处理方法或上述P2P任务的处理方法。
一种P2P任务处理装置,包括:存储有计算机程序的存储器;处理器,配置为读取所述计算机程序以执行上述的最后一种P2P任务的处理方法。
本申请包括以下优点:
本发明实施例的一个技术方案中,供给端节点基于表示P2P任务重要程度的第一信息和/或表示P2P任务紧急程度的第二信息进行P2P任务的处理,这样,可按P2P任务的重要性和紧急性进行分类处理,针对不同类型的P2P任务提供差异化服务,以满足不同场景下对任务分级的需求,不但能提升消费端节点的用户体验,而且能提升供给端节点的服务效率。
本发明实施例的另一个技术方案中,通过P2P任务的多种维度确定该P2P任务的第一信息和/或第二信息,并将该第一信息和/或第二信息携带在P2P任务中发送给供给端节点,以便供给端节点能够按P2P任务的重要性和紧急性进行分类处理,可针对不同类型的P2P任务提供差异化服务,以满足不同场景下对任务分级的需求,进而提升用户体验和P2P网络的服务质量及处理效率。
本发明实施例的又一个技术方案中,基于服务器提供的权重表动态调整表示P2P任务重要程度的第一信息,可以在不升级的情况下动态更新和调整分级的策略,提高方案的扩展性和易用性,减少开发和维护成本。此外,通过服务端动态配置权重表的方式,还能起到引导P2P网络流量的作用,提升带宽的利用率。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有优点。
附图说明
图1为本申请中P2P网络系统的示例性网络架构示意图;
图2为实施例一的一种P2P任务处理方法的流程示意图;
图3为实施例一的另一种P2P任务处理方法的流程示意图;
图4为实施例一的又一种P2P任务处理方法的流程示意图;
图5为实施例一中供给端节点对P2P任务进行排队处理的示例性流程图;
图6为实施例一中P2P网络中P2P任务处理的示例性交互流程图;
图7为实施例二的P2P任务处理装置的结构示意图;
图8为实施例三的P2P任务处理装置的结构示意图;
图9为实施例四的P2P任务处理装置的结构示意图。
具体实施方式
下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一个典型的配置中,客户端或服务器的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块N(N为大于2的整数)。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请中所述的P2P节点可以为任何能够实现其功能的设备。该设备可以是PC端、OTT(Over The Top)端、移动端(比如,Android端)或其他系统端的设备。换言之,该设备可以为(但不限于):通过互联网向用户提供各种应用服务的OTT设备、移动终端、平板电脑、移动互联网设备、可穿戴设备或其他可运行P2P程序的硬件实体或虚拟装置。
本申请中所述的资源请求方可以为通过加速器获取资源的硬件实体或虚拟装置。资源请求方可以为(但不限于)集成有加速器的应用程序。例如,资源请求方可以为视频服务提供商的应用程序(比如,播放器),该应用程序中可集成有加速器等。本申请所述的资源使用方是指资源请求方的服务对象。比如,资源请求方是视频服务提供商的应用程序时,该资源使用方可以是通过该应用程序享受视频服务的用户。
本文涉及术语解释如下:
P2P:是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。
P2P节点:P2P网络系统中的每个终端,可以称为一个P2P节点。
加速器:是指P2P节点上运行的P2P程序。P2P程序可以是集成在应用程序里面的动态库或静态库,比如可以是集成在手机上的优酷App、PC上的IKU客户端等上的软件开发工具包(SDK,Software Development Kit)。P2P程序还可以是一个独立的可执行程序。
P2P分享:在P2P网络中节点与节点之间可共享资源,换言之,P2P节点之间相互上传资源和下载资源。
上传资源的P2P节点:即供给端节点,在P2P资源分享中上传资源的一方。
下载资源的P2P节点:即消费端节点,在P2P资源分享中下载资源的一方。
分块:将资源文件按固定大小(如10KB)分割成不同的小块。
单个分块的MD5值:对每个分块,通过MD5运算,计算出一个16个字节的MD5值。如:AAAAAAAAAAAAAAAA。
分块校验信息:将所有分块的MD5值合起来,总称分块校验信息。
比如,所有分块有四个,分别为如下:
AAAAAAAAAAAAAAAA;
BBBBBBBBBBBBBBBB;
CCCCCCCCCCCCCCCC;
DDDDDDDDDDDDDDDD。
那么,相应的分块校验信息如下:
AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDD。
如图1所示,为本申请技术方案的示例性应用环境架构。P2P网络系统包括云和端两大部分。其中,端指的是各类终端设备上的P2P节点,比如,图1中的n个(n为不小于1的整数)P2P节点(即,P2P节点1、P2P节点2、P2P节点3、……、P2P节点n)。其中,云指的是各种职能的服务器,比如:图1中,负责资源信息存储的资源服务器(也可以称为中继(trunk)服务器),负责节点身份认证和各种在线配置的登录服务器,负责P2P网络中各P2P节点之间通信的连接服务器等。其中,P2P节点2作为一个供给端节点,可以向资源服务器发布资源,以便其他P2P节点从自身下载该资源,还可以向日志服务器上报日志,以便对P2P节点2进行日常维护。P2P节点1作为消费端节点,可以通过登录服务器进行身份认证和更新配置等处理,还可以通过向资源服务器请求资源来获取供给端节点的节点列表。如图1所示的示例中,P2P节点1从该节点列表中选中P2P节点2后,P2P节点1通过向P2P节点2请求数据并接收P2P节点2发送的数据,来完成资源的下载。
下面对本申请技术方案的具体实现方式进行详细说明。
实施例一
一种P2P任务处理方法,应用于P2P网络,可通过作为消费端节点的P2P节点实现,如图2所示,可包括:步骤201~步骤203。
步骤201,获取当前P2P任务相关的维度信息;
步骤202,根据所述维度信息,确定所述P2P任务的第一信息和第二信息中之一或两项,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
步骤203,向供给端节点发送所述P2P任务,所述P2P任务携带所述第一信息和所述第二信息中之一或两项;
其中,所述维度信息可以包括如下之一或多项:资源使用方的会员等级信息、所述P2P任务的请求类型信息、消费端节点的终端类型信息、所述P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率信息。
本实施例中,通过P2P任务的多种维度确定该P2P任务的第一信息和/或第二信息,并将该第一信息和/或第二信息携带在P2P任务中发送给供给端节点,以便供给端节点能够按P2P任务的重要性和紧急性进行分类处理,针对重要性和/或紧急性不同的P2P任务,提供差异化的服务,以满足不同场景下对任务分级的需求,进而提升用户体验和P2P网络的服务质量及处理效率。
本实施例中,所述获取当前P2P任务相关的维度信息,可以包括如下之一或多项:1)从来自资源请求方的请求中解析到资源使用方的会员等级信息;2)从来自资源请求方的请求中解析到所述请求类型信息;3)根据自身的节点类型获取所述终端类型信息;3)根据所述P2P任务请求的资源块的起始位置信息和大小信息,得到所述P2P任务请求的数据块与当前播放点之间的时差;4)通过解析已获取的资源数据获取到所述视频码率信息。
实际应用中,可以根据需要自由配置P2P任务的维度,在获取维度信息时,可以根据预先配置的P2P任务的维度获取相应的维度信息。如果预先配置P2P任务的维度包括五个维度,分别是:资源使用方的会员等级、请求类型、视频码率、终端类型、任务离播放点的远近,那么,P2P任务相关的维度信息就包含有这五个维度的信息。如果预先配置P2P任务的维度包括四个维度,分别是:资源使用方的会员等级、请求类型、终端类型、任务离播放点的远近,那么,P2P任务相关的维度信息可以包括这四个维度的信息。
下面对维度信息进行举例说明。
a)资源使用方的会员等级:维度的信息可以包括钻石会员、黄金会员、白银会员、普通会员等。此维度信息可根据视频服务提供商在其应用程序中预先设定的会员信息得到。该维度信息可以由资源请求方(比如,视频服务提供商的应用程序的播放器)在发送给消费端节点的任务请求的URL中通过参数值表示,换言之,消费端节点可通过解析来自资源请求方的请求中的URL中的参数值,获取到资源使用方的会员等级信息。
b)请求类型:维度的信息可以包括视频点播、视频预加载、视频下载、热点视频下载、普通文件下载等。此维度信息可根据视频服务提供商在其应用程序中预先设定的播放类型得到。该维度信息可以在任务请求的URL中通过参数值表示,换言之,消费端节点可通过解析来自资源请求方的请求中的URL中的参数值,获取到请求类型信息。
c)视频码率:维度的信息可以包括1080P、超清、高清、标清、省流等,此维度信息可根据视频服务提供商在其应用程序中预先设定的视频码率类型得到。该维度信息可以由加速器(即,消费端节点)在拿视频数据后从媒体头中解析出来得到,换言之,消费端节点可通过解析已获取的资源数据获取到所述视频码率信息。
d)终端类型:维度的信息可以包括IOS、Android、OTT、路由器(router)、PC等。该维度信息可以在加速器(即,消费端节点)启动后,根据自身的节点类型获取到。
e)任务离播放点的远近:维度的信息可以包括:P2P任务请求的数据块与当前播放点之间的时差。此维度主要针对视频点播的请求。该维度信息可以由加速器(即,消费端节点)在任务调度时实时计算出来,换言之,消费端节点可以根据P2P任务中数据块的起始位置信息和大小信息,得到该P2P任务请求的数据块与当前播放点之间的时差,该时差表示任务离播放点的远近,离播放点越近的P2P任务越紧急,需要尽早处理,离播放点远的P2P任务可以预留较长的处理时间。
f)最大有效时长是指一个P2P任务的最大有效时长,即P2P任务从产生时刻开始其有效时长不超过该最大有效时长。实际应用中,最大有效时长还可以称为最大过期时间。一般来说,该最大有效时长的具体值与P2P任务的类型相关,例如,该最大有效时长可以设定为10s,即从产生时刻起超过10s该P2P任务即失效。
本实施例中,P2P任务为P2P节点之间共享资源时的请求,即消费端节点向供给端节点发送的请求,该请求用于获取资源的数据。实际应用中,为防止P2P任务中携带的信息被截获,该P2P任务优选为基于私有协议的请求,该私有协议可用于P2P网络中P2P节点之间通信,也可用于P2P节点与服务器之间通信。
本实施例中,第一信息可以是任何可表征P2P任务重要程度的信息。比如,第一信息可以是P2P任务的任务等级值,该任务等级值的取值可表征P2P任务的重要性。该任务等级值的取值可以自由设定。例如,任务等级值的取值可以是具体数值,数值越大说明P2P任务越重要。除此之外,在其他实现方式中,第一信息还可以是其他类型的信息,对此,本申请不予限制。
本实施例中,第二信息可以是任何可表征P2P任务紧急程度的信息。比如,该第二信息可以包括P2P任务的过期时刻,在该过期时刻之前P2P任务有效,一旦过了该过期时刻,P2P任务则失效。除此之外,在其他实现方式中,第二信息还可以是其他类型的信息,对此,本申请不予限制。
本实施例中,可以基于P2P任务相关的维度信息可以确定该P2P任务的第一信息和/或第二信息。换言之,可以根据P2P任务相关的维度信息确定该P2P任务的第一信息,也可以根据P2P任务相关的维度信息确定该P2P任务的第二信息,还可以根据P2P任务相关的维度信息确定该P2P任务的第一信息和第二信息。
本实施例中,可针对不同应用场景,可设置不同的维度,这些维度还可分配不同的权重,以体现各维度在重要性上的不同,有助于实现P2P任务的差异化处理,进而达到差异化服务的目的。换言之,本实施例的一个备选实现方式中,可以根据所述维度信息以及预先配置的权重表,确定所述P2P任务的第一信息,所述权重表可以包含预先设定的对应所述维度信息的权重。这样,可通过维度信息的权重动态调整第一信息,以满足各类应用场景的需求。
实际应用中,可以根据P2P任务的不同维度,通过分析其重要性,形成上述权重表,该权重表可以包括预先设置的维度及其对应的权重。实际应用中,权重表中的各项权重可以根据不同资源请求方(比如,优酷、爱奇艺等视频服务提供商)的需求设置不同的取值。该权重表中权重与维度之间的对应关系也可以根据实际应用场景的需求自由设置,比如,权重与维度之间可以设置为一对一,一对多、多对一等对应关系。比如,有些资源请求方关注资源使用方的会员等级,那么可以将这些资源请求方的权重表中资源使用方的会员等级的权重拉高。有些资源请求方关注终端类型,那么可以将这些资源请求方的权重表中终端类型的权重增大。此外,还可以根据资源请求方的定制需求设置一些特有的维度及其权重。对于权重的具体设置方式,本文不予限制。
本实施例的一种备选方案中,所述第一信息包括任务等级值,该任务等级值可以以数值的形式表征所述P2P任务的重要程度。
上述备选方案的一种实现方式中,根据所述维度信息确定所述P2P任务的第一信息,可以包括:至少根据所述维度信息,确定所述P2P任务的任务等级值。上述备选方案的另一种实现方式中,可以根据所述维度信息、以及预先配置的对应所述维度信息的权重,确定所述P2P任务的任务等级值。具体实现过程可参照下文各示例。
上述备选方案的一种实现方式中,根据所述维度信息确定所述P2P任务的第一信息,可以包括:通过预先定义的计算模型得到所述P2P任务的任务等级值;其中,所述计算模型至少以预先设定的所述维度信息的分值为参数,以所述任务等级值为目标值。上述备选方案的另一种实现方式中,所述计算模型可以以所述维度信息的所述分值、以及对应所述维度信息的权重为参数,以所述任务等级值为目标值。
实际应用中,可以针对每个维度配置一个维度分值映射表,该维度分值映射表可以包含该维度下各维度信息及其对应的分值。其中,各维度信息的分值可根据实际应用场景的需要自由设定。这样,可通过这些维度分值映射表获得维度信息的分值,进而计算任务等级值。这里,可以将上述维度分值映射表配置在所有P2P节点上,以便所有P2P节点作为消费端节点时可通过这些维度分值映射表确定任务等级值。具体实现过程可参照下文示例1和示例3。
本实施例的上述备选方案中,还可以包括:从服务器获取所述权重并更新到本地。具体的,消费端节点从服务器获取权重表并更新到本地,所述权重表可以包括对应各维度的权重。这样,方便工作人员通过服务器端动态配置每个维度的权重,动态调整各P2P任务的第一信息,最终实现P2P任务处理方式的动态调整,从而控制流量流向哪些节点、哪些请求,达到导流的目的,以适应各类应用场景的需求。
本实施例的上述备选方案中还提供一种P2P任务处理方法,如图3所示,该方法可以包括:步骤301~步骤302。该方法可通过服务器执行,该服务器可以是登录服务器或其他类型,对此,本文不予限制。
步骤301,通过API获取预先设定的权重表;
步骤302,将所述权重表提供给P2P节点;
其中,所述权重表包含与P2P任务的维度相对应的权重;
所述P2P任务的维度至少包括如下之一:资源使用方的会员等级、请求类型、终端类型、P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率。
图3所示的方案中,基于服务器提供的权重表动态调整表示P2P任务重要程度的第一信息,可以在不升级的情况下动态更新和调整分级的策略,提高方案的扩展性和易用性,减少开发和维护成本。此外,还能起到引导P2P网络流量的作用,提升带宽的利用率。
通过图3所示的方法,将权重表放到P2P网络的服务端,通过服务端动态配置权重表的方式,可实现该权重表的动态更新和动态配置。服务端可通过权重表的控制各P2P节点上第一信息的形成,从而控制各P2P任务的处理方式,最终实现P2P网络中流量的引导和服务的分级。
图3所示方法的一种实现方式中,步骤302中将权重表提供给P2P节点,可以包括:接收所述P2P节点发送的身份信息;在所述P2P节点的身份信息验证通过后,将发生更新的配置参数发送给所述P2P节点,所述配置参数包括所述权重表。这样,每次加速器启动后进行身份认证时,P2P节点都会从服务器(比如,登录服务器)获取到最新的权重表。
实际应用时,图3所示的方法中,可以由工作人员按照用户的需求设置各维度的权重,形成权重表并通过API配置到服务器上。
实际应用中,动态配置权重表的过程可以是:
1)工作人员根据资源请求方提出的需求,设计相应的权重表。
2)通过云端的接口(API)将权重表更新到登录服务器上。
3)P2P节点启动时向登录服务器发起身份认证,登录服务器根据P2P节点的身份信息进行认证,认证通过之后,向最新的配置参数下发给P2P节点,该配置参考中包含上述权重表。
4)P2P节点接收登录服务器下发的配置参数,更新到本地。在该过程中,P2P节点将配置参数中的权重表也更新到本地,这样,在P2P节点的本地配置文件中即可查询到该权重表。
本实施例的另一个备选方案中,根据所述维度信息确定所述P2P任务的第二信息,可以包括:根据所述P2P任务请求的数据块与当前播放点之间的时差、以及所述最大有效时长,确定所述P2P任务的有效时长,并基于所述P2P任务的有效时长确定所述P2P任务的第二信息。在第二信息为过期时刻时,所述基于所述P2P任务的有效时长确定所述P2P任务的第二信息,可以包括:基于当前时刻与所述P2P任务的有效时长,得到所述P2P任务的过期时刻。此外,还可以采用其他方式,对此,本文不予限制。
在上述另一种备选方案中,所述根据所述P2P任务请求的数据块与当前播放点之间的时差、以及所述最大有效时长,确定所述P2P任务的有效时长,可以包括:所述P2P任务的有效时长为:所述最大有效时长和所述P2P任务请求的数据块与当前播放点之间的时差之中的最小值。
在上述另一种备选方案中,所述第二信息可以包括:所述P2P任务的过期时刻,所述过期时刻表示所述P2P任务在此时刻之后即失效。
下面说明本实施例图2所示方法技术细节的示例性实现方式。
示例1
本示例中,举例说明维度信息及其分值。
举例来说,对于维度“资源使用方的会员等级”,其维度分值映射表可以配置为如下表1,其中,按资源使用方的会员等级从高往低,分值依次降低,最高为10,最低为0。如此,可确保优先服务会员等级高的资源使用方。
Figure BDA0001520573550000181
表1
对于维度“终端类型”,也可以配置类似表1的维度分值映射表,其分值也可以预设在区间0-10内。实际应用中,可基于用户量和终端网络质量的分布情况,可将IOS、Android和OTT设置为最高分值(比如,10),router设置为中间分值(比如,5),PC设置为最低分值(比如,0),如此,可优先服务使用IOS、Android和OTT的资源使用方,使用router的资源使用方次之,使用PC的资源释放方则放在最后。
对于维度“请求类型”,也可以配置类似表1的维度分值映射表,其分值也可以预设在区间0-10内。实际应用中,其中点播的实时性要求最高,预加载次之,后面对实时性要求不高,可将视频点播设置为最高分值(比如,10),视频预加载设置为中间分值(比如,8),视频下载、热点视频下载、普通文件下载等可以设置为较低分值(比如,2),如此,可优先处理实时性要求比较高的P2P任务。
对于维度“视频码率”,也可以配置类似表1的维度分值映射表,其分值也可以预设在区间0-10内。实际应用中,为了达到较高的P2P效率,需要优先处理高码率的视频请求,可以按照码率从高往低,分值依次降低,最高为10,最低为0。比如,将1080P的视频请求设置为最高分值(比如,10),将“超清”的视频请求设置为次高分值(比如,8),将“高清”的视频请求设置为中间分值(比如,6),将“标清”的视频请求设置为次低分值(比如,4),将“省流”的视频请求设置为低分值(比如,2),如此,可优先处理码率要求高的P2P任务。
示例2
本示例中,对权重表进行举例说明。
本示例中,该权重表中各项权重之和设置为10,权重与维度一一对应。
如下表2所示,为权重表的一个示例。
Figure BDA0001520573550000191
表2
示例3
本示例中,举例说明任务等级值的计算模型。
本示例中的一个例子中,计算模型可以定义为:Rank=∑(Xi×Qi),(i=1,2,3,4,5);
其中,Rank表示任务等级值,任务等级值表示当前P2P任务的等级,Rank的值越大,则P2P任务的等级越高,表示重要性越高。Xi表示第i个维度信息的权重,Qi表示第i个维度的实际分值。比如,单个维度的取值范围设定为0-10,各项权重之和设定为10,那么通过上述计算模型得到的任务等级值范围在0-100。
本示例中,计算模型中还可以设置一些附加分值,通过附加分值可以对各维度所占的比重进行微调。本示例中的另一个例子中,计算模型可以定义为:Rank=∑(Xi×Qi+Yi),(i=1,2,3,4,5);其中,Yi表示第i个维度的附加分值。
实际应用中,计算模型还可以是其他形式,对此,本文不予限制。
示例4
本示例中,第二信息表示为P2P任务的过期时刻。实际应用中,当P2P任务没有在该过期时刻规定的时间内完成,就会被消费端节点回收,再发给其他的供给端节点进行处理。
本示例中,P2P任务的过期时刻基于P2P任务请求的数据块与当前播放点之间的时差得到。
本例子中,P2P任务的过期时刻可以通过如下式子得到:
P2P任务的有效时长=Min(P2P任务请求的数据块与当前播放点之间的时差,预先设定的最大有效时长);
P2P任务的过期时刻=P2P任务的发送时刻+P 2P任务的有效时长;
比如,预先设定的最大有效时长是10s,当前的播放点是视频第100s的位置:a)P2P任务请求的数据块是第102s的数据时,P2P任务请求的数据块与当前播放点之间的时差是2s,小于10s,则P2P任务的有效时长为2s;b)P2P任务请求的数据块是第120s的数据时,,P2P任务请求的数据块与当前播放点之间的时差是20s,大于10s,则P2P任务的有效时长是10s。
比如,P2P任务的发送时刻为08:00:00,P2P任务的有效时长是10s,那么P2P任务的过期时刻为08:00:10。
在其他实施例中,P2P任务的过期时刻还可通过其他方式得到。对于P2P任务过期时刻的具体计算方式,本文不予限制。
另一种P2P任务处理方法,应用于P2P网络,可通过作为供给端节点的P2P节点实现,如图4所示,可包括:步骤401~步骤402。
步骤401,接收来自消费端节点的P2P任务,所述P2P任务携带第一信息和第二信息中之一或两项、以及资源ID,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
步骤402,根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,以将对应所述资源ID的数据返回给所述消费端节点。
本实施例中,供给端节点可按P2P任务的重要性和紧急性进行分类处理,可针对不同类型的P2P任务提供差异化服务,以满足不同场景下对任务分级的需求,不但能提升消费端节点的用户体验,而且能提升供给端节点的服务效率。
本实施例的一种备选方案中,所述根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,可以包括:在至少符合如下之一时,立即处理所述P2P任务:1)所述第一信息满足预先设定的第一条件;2)所述第二信息满足预先设定的第二条件。
上述备选方案的一种实现方式中,在所述第一信息满足预先设定的第一条件但所述第二信息不满足预先设定的第二条件时,直接读取对应所述P2P任务的数据,在当前流量值不超出预设的流量阈值时所述数据直接返回给所述消费端节点,在当前流量值超出所述流量阈值时等待到下一周期将所述数据返回给所述消费端节点。
上述备选方案的另一种实现方式中,在所述第一信息不满足预先设定的第一条件但所述第二信息满足预先设定的第二条件时,直接读取对应所述资源ID的数据,在当前任务数不超出预设的任务数阈值时将所述数据直接返回给所述消费端节点,在当前任务数超出所述任务数阈值时等待到下一周期将所述数据返回给所述消费端节点;
上述备选方案的又一种实现方式中,在所述第一信息满足预先设定的第一条件且所述第二信息满足预先设定的第二条件时,直接读取对应所述资源ID的数据,并将所述数据直接返回给所述消费端节点。
本实施例的另一种备选方案中,所述根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,可以包括:在符合如下条件时,基于所述第一信息和所述第二信息中之一或两项确定所述P2P任务在待处理队列中的次序,并按照所述次序处理所述P2P任务:1)所述第一信息不满足预先设定的第一条件;2)所述第二信息不满足预先设定的第二条件。
在上述备选方案的一种实现方式中,所述基于所述第一信息和所述第二信息中之一或两项确定所述P2P任务在待处理队列中的次序,可以包括:按照所述第一信息对所述待处理队列中的P2P任务进行排序,并基于所述第二信息对所述第一信息相同的P2P任务进行排序。
在上述备选方案的另一种实现方式中,所述基于所述第一信息和所述第二信息中之一或两项确定所述P2P任务在待处理队列中的次序,可以包括:按照所述第一信息对所述待处理队列中的P2P任务进行排序。
在上述备选方案的又一种实现方式中,所述基于所述第一信息和所述第二信息中之一或两项确定所述P2P任务在待处理队列中的次序,可以包括:按照所述第二信息对所述待处理队列中的P2P任务进行排序。
本实施例中,第一条件用于确定一个P2P任务是否属于重要任务,换言之,在P2P任务的第一信息满足第一条件时,该P2P任务属于重要任务,在该P2P任务的第一信息不满足第一条件时则不属于重要任务。实际应用中,第一条件可以根据实际应用场景的需要自由设定。一种实现方式中,第一信息包括任务等级值时,该第一条件可以包括:所述第一信息(即,任务等级值的当前值)高于预设的第一阈值。实际应用中,该第一阈值可以根据实际应用场景的需要自由设定。比如,任务等级值是0~100的数值时,该第一阈值可以设置为50,也就是说,如果任务等级值的当前值超过50时,则满足第一条件,相应的P2P任务可视为重要任务,如果任务等级值的当前值不超过50则不满足第一条件,相应的P2P任务就不是重要任务。除上述之外,第一条件、第一阈值等还可以采用其他形式,对于第一条件、第一阈值等的具体内容、取值,本文不予限制。
本实施例中,第二条件用于确定一个P2P任务是否属于紧急任务,换言之,在P2P任务的第二信息满足第二条件时,该P2P任务属于紧急任务,在该P2P任务的第二信息不满足第二条件时则不属于紧急任务。实际应用中,第二条件可以根据实际应用场景的需要自由设定。一种实现方式中,第二信息包括过期时刻时,该第二条件可以包括:所述第二信息到当前时刻的时长低于预设的第二阈值(即,过期时刻到当前时刻的时长(即下文的Urgent_time)低于预设的第二阈值)。实际应用中,该第二阈值可以根据实际应用场景的需要自由设定。比如,在过期时刻到当前时刻的时长不超过10s时,第二阈值可以设定为5s,也就是说,如果过期时刻到当前时刻的时长低于5s时,则满足第二条件,相应的P2P任务视为紧急任务,如果过期时刻到当前时刻的时长不低于5s则不满足第二条件,相应的P2P任务就不属于紧急任务。除上述之外,第二条件、第二阈值等还可以采用其他形式。对于第二条件、第二阈值等的具体内容、取值等,本文不予限制。
本实施例的一个备选方案中,所述第二信息包括:所述P2P任务的过期时刻,所述过期时刻表示所述P2P任务在此时刻之后即失效。所述第二条件包括:过期时刻到当前时刻的时长低于预设的第二阈值。
本实施例的另一备选方案中,所述第一信息可以包括:所述P2P任务的任务等级值,所述任务等级值至少基于所述P2P任务相关的维度信息确定;所述维度信息包括如下之一或多项:资源使用方的会员等级信息、所述P2P任务的请求类型信息、消费端节点的终端类型信息、所述P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率信息。所述第一条件包括:所述第一信息高于预设的第一阈值。
本实施例的上述备选方案中,可以按照所述第一信息的取值从大到小对所述待处理队列中的P2P任务进行排序,按照所述第二信息对应的有效时长的取值从小到大对所述第一信息相同的P2P任务进行排序。
下面说明本实施例图4所示方法技术细节的示例性实现方式。
示例5
本例子中,第一信息表示为任务等级值,第二信息表示为P2P任务的过期时刻。关于任务等级值和过期时刻可参照上文,不再赘述。
本例子中,供给端节点从消费端节点获取到P2P任务之后,并不一定立即处理,而是根据该P2P任务的任务等级值确定P2P任务的重要性,根据P2P任务的过期时刻中确定P2P任务的紧急性,再基于P2P任务的重要性和/或紧急性处理该P2P任务。
本例子中,在根据P2P任务的过期时刻中确定P2P任务的紧急性时,可以先根据P2P任务的过期时刻计算P2P任务的剩余处理时长,再基于该P2P任务的剩余处理时长确定P2P任务的紧急性。本例子中,将P2P任务的剩余处理时长表示为Urgent_time,Urgent_time可以反映P2P任务的紧急性,Urgent_time的值越大说明P2P任务的剩余时长越长,P2P任务越不紧急,Urgent_time的值越小则说明P2P任务的剩余时长越短,P2P任务越紧急。
本例子中,供给端在处理P2P任务的过程中,会周期性的扫描每个P2P任务,更新每个P2P任务的Urgent_time,针对Urgent_time过短的P2P任务则立即处理,以避免P2P任务被取消,或中断该P2P任务相关的数据传送。针对Urgent_time较长的P2P任务则可以先进入排队环节,按照待处理队列的排序进行处理。
本例子中,Urgent_time可以基于如下公式计算得到:
Urgent_time=过期时刻-当前时刻;
比如,过期时刻是08:00:30,当前时刻是08:00:24,则Urgent_time为6s,也就是说当前的P2P任务需要在6s内处理完成。实际应用中,Urgent_time一般会在0~10s,不会超过10s。Urgent_time的取值范围,可以通过上文的最大有效时长调整。
需要说明的,除上述计算方式之外,还可以通过其他方式确定Urgent_time,对于具体方式本文不予限制。
本例子中,设定两个阈值:重要性阈值(即上文的第一阈值)和紧急性阈值(即上文的第二阈值)。如果任务等级值超过该重要性阈值,相应的P2P任务即为重要任务,如果任务等级值不超过该重要性阈值,相应的P2P任务就不是重要任务。如果Urgent_time低于该紧急性阈值,相应的P2P任务即为紧急任务,如果Urgent_time不低于该紧急性阈值,相应的P2P任务就不是紧急任务。
比如,任务等级值的取值范围是0-100,将该重要性阈值设置为50,也就是说,任务等级值超过50的P2P任务为重要任务。Urgent_time的取值范围是0-10,可以将紧急性阈值设置为5,若Urgent_time低于5则表示该P2P任务为紧急任务。
本例子中,供给端节点处理P2P任务的方式可以包括如下四种:
A,重要且紧急的任务
跳过排队环节,直接读取数据,且不受任务数限制,在上传限速环节,也不受上传流量的限制,最后,直接上传数据。
B,重要不紧急的任务
跳过排队环节,直接读取数据,且不受任务数限制,在上传限速环节,受流量限制,若当前线程的剩余流量足够上传当前P2P任务的数据则可以立即上传,若不够则可以在下一个周期上传。
C,紧急不重要的任务
跳过排队环节,进入读数据环节,但是受任务数限制,若当前任务数低于预先设定的任务数阈值,则可以立即读取数据,反之,等待前面P2P任务的数据读完之后再读取当前P2P任务的数据。
D,不重要且不紧急的任务
进入排队环节,将P2P任务放入待处理队列中,并将待处理队列中的各P2P任务按重要性(任务等级值)和紧急性(Urgent_time)进行排序。这里,先按任务等级值从高到低排序,若任务等级值相同,则按Urgent_time从低往高排。排完序后,每次有空闲的线程,会从待处理队列的队首取出一个P2P任务进行处理,P2P任务处理完成后将该P2P任务从该待处理队列中删除。
示例6
本示例,对供给端节点对P2P任务进行排队处理的示例性流程进行说明。
如图5所示,供给端节点处理P2P任务的示例性流程可以包括:
步骤501,接收来自消费端节点的P2P任务;
步骤502,在确定P2P任务为不紧急且不重要的任务时,将该P2P任务添加到待处理队列中;
步骤503,排队等待;
步骤504,当前读到的任务数是否低于预设的任务数阈值,如果任务数低于该任务数阈值则继续步骤505,如果任务数不低于该任务数阈值则返回步骤503;
步骤505,读取所述P2P任务请求的数据;
步骤506,检测当前线程的剩余流量是否足够上传所述数据;如果足够上传数据,则继续步骤508,如果不足以上传数据,则继续步骤507,
步骤507,等待下一个周期,并返回步骤506;
步骤508,上传数据给消费端节点;
步骤509,数据上传完成后,结束。
在图5所示的流程中,有两个限制因素:第一个是在读数据环节,读出来的数据存放在内存中,为了避免占用的内存过多,一般会限制当前读数据的任务数,也就是步骤504;第二个是在限速控制环节,一般在上传数据给消费端节点的过程中,为了避免不影响用户上网,会控制每个周期的上传速率,如果当前周期的上传量已经超过预设的流量阈值,则剩余的数据会放到下一个周期内处理,也就是步骤506。
下面通过一个例子对本实施例中图2和图4的P2P任务处理方法在P2P网络中的实现过程进行说明。
如图6所示,P2P网络执行P2P任务处理的示例性流程可以包括:
步骤601,消费端节点将要下载的整个资源文件,分解成一个个小的P2P任务,形成一个P2P任务池,存放在内存中。
步骤602,消费端节点从资源服务器获取可提供资源的节点列表,并从所述节点列表选中一个供给端节点;
步骤603,消费端节点向步骤602选中的供给端节点发送P2P任务,携带任务信息,该任务信息包括但不限于:资源ID、整个资源的MD5值、数据块的起始位置、数据块的大小、任务等级(Rank)值、过期时刻。
步骤604,供给端节点收到消费端节点发送过来的P2P任务,解析得到任务信息,该任务信息包括但不限于:资源ID、整个资源的MD5值、数据块的起始位置、数据块的大小、任务等级值、过期时刻,根据其中的过期时刻计算该P2P任务的剩余处理时长Urgent_time。
步骤605,供给端节点根据步骤604得到的任务等级值和Urgent_time,确定P2P任务的重要性和紧急性,并基于P2P任务的重要性和紧急性进行步骤606至步骤609的处理;
步骤606,供给端节点根据步骤604得到的资源ID从本地存储的资源列表中,查找对应的资源信息;
这里,若找不到对应的资源信息,则通知消费端节点不具有该资源,当前流程结束。反之,继续执行步骤607;
这里,资源信息可以包括但不限于:资源ID、资源大小、整个资源的MD5值、分块校验信息的MD5值、文件存储的路径。
步骤607,供给端节点将步骤606查找到的资源信息中的整个资源的MD5值和步骤604解析得到的整个资源的MD5值做比较;如果资源信息中的整个资源的MD5值和步骤604解析得到的整个资源的MD5值一致,则继续执行步骤608;
本步骤中,如果资源信息中的整个资源的MD5值和步骤604解析得到的整个资源的MD5值不一致,则通知消费端节点,文件不一致,当前流程结束。
步骤608,供给端节点根据步骤606查找到的资源信息中的文件存储路径,打开文件,并按照步骤604解析得到的数据块的起始位置、数据块的大小读取相应的数据;
步骤609,供给端节点将步骤608读取的数据返回给消费端节点;
步骤610,消费端节点接收供给端节点发送的数据,将该数据存放到本地内存或写入磁盘。
图6中,步骤606至步骤609在执行时基于步骤605确定的P2P任务的重要性和紧急性进行处理,具体过程可以参考示例5,不再赘述。
实施例二
本实施例还提供一种P2P任务处理装置70,应用于P2P网络,如图7所示,可以包括:
接收模块71,用于接收来自消费端节点的P2P任务,所述P2P任务携带第一信息和第二信息中之一或两项、以及资源ID,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
处理模块72,用于根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,以将对应所述资源ID的数据返回给所述消费端节点。
一种实现方式中,所述处理模块72,用于根据所述第一信息和第二信息中之一或两项,处理所述P2P任务,可以包括:在至少符合如下之一时,立即处理所述P2P任务:所述第一信息满足预先设定的第一条件;所述第二信息满足预先设定的第二条件。
实际应用中,P2P任务处理装置70可以设置于P2P网络中的供给端节点,或者通过P2P网络中的供给端节点实现。
需要说明的是,本实施例的P2P任务处理装置70中:
接收模块71负责接收其他P2P节点的消息,该消息可以包括P2P任务,也可以包括其他类型的消息,实际应用中可以是软件、硬件或两者的结合。
处理模块72负责完成P2P任务的处理,比如,可以通过调用空闲线程实现P2P任务的处理,实际应用中可以是软件、硬件或两者的结合。
本实施例的其他技术细节可参照实施例一。
实施例三
本实施例还提供一种P2P任务处理装置80,应用于P2P网络,如图8所示,可以包括:
获取模块81,用于获取当前P2P任务相关的维度信息;
确定模块82,用于根据所述维度信息,确定所述P2P任务的第一信息和第二信息中之一或两项,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
发送模块83,用于向供给端节点发送所述P2P任务,所述P2P任务携带所述第一信息和所述第二信息中之一或两项;
其中,所述维度信息包括如下之一或多项:
资源使用方的会员等级信息、所述P2P任务的请求类型信息、消费端节点的终端类型信息、所述P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率信息。
实际应用中,P2P任务处理装置80可以设置于P2P网络中的消费端节点,或者通过P2P网络中的消费端节点实现。
需要说明的是,本实施例的P2P任务处理装置80中:
获取模块81负责获取当前P2P节点相关的维度信息,实际应用中可以是软件、硬件或两者的结合。
确定模块82负责基于维度信息确定P2P任务的第一信息和/或第二信息,比如,可以基于维度信息确定P2P任务的任务等级值和/或过期时刻等,实际应用中可以是软件、硬件或两者的结合。
发送模块83负责向其他P2P节点发送P2P任务,实际应用中可以是软件、硬件或两者的结合。
本实施例的其他技术细节可参照实施例一。
实施例四
一种P2P任务处理装置,应用于P2P网络,如图9所示,可以包括:
存储有计算机程序的存储器91;
处理器92,配置为读取所述计算机程序以执行实施例一中图2或图4所示P2P任务处理方法的操作。
一种实现方式中,上述处理器92,配置为读取所述计算机程序以执行实施例一中步骤201~步骤203的操作。
另一种实现方式中,上述处理器92,配置为读取所述计算机程序以执行实施例一中步骤401~步骤402的操作。
本实施例的其他技术细节可参照实施例一。
需要说明的是,图9所示的P2P任务处理装置除包含上述的存储器91、处理器92之外,还可以包含其他部件,比如,总线、内存、磁盘等。除此之外,上述装置还可以包含其他部件。比如,输入输出部件(如,麦克风、喇叭、显示器等)。对于P2P任务处理装置的具体结构,本文不予限制。
实施例五
本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现实施例一中图2或图4所示P2P任务处理方法的步骤。
一种实现方式中,所述计算机程序被处理器执行时实现实施例一中步骤201~步骤203的操作。
另一种实现方式中,所述计算机程序被处理器执行时实现实施例一中步骤401~步骤402的操作。
本实施例的其他技术细节可参照实施例一。
实施例六
一种P2P任务处理装置,应用于P2P网络,可以包括:
存储有计算机程序的存储器;
处理器,配置为读取所述计算机程序以执行实施例一中图3所示P2P任务处理方法的操作。
本实施例的其他技术细节可参照实施例一。
需要说明的是,本实施例的P2P任务处理装置除包含上述的存储器、处理器之外,还可以包含其他部件,比如,通信电路等。对于该P2P任务处理装置的具体结构,本文不予限制。实际应用中,该P2P任务处理装置可设置于P2P网络中的服务器上或者通过P2P网络中的服务器实现。一种实现方式中,该P2P任务处理装置可以通过P2P网络中的登录服务器实现。
实施例七
本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现实施例一中图3所示P2P任务处理方法的步骤。
本实施例的其他技术细节可参照实施例一。
下面以一个实例对上述各实施例中P2P任务处理在P2P网络中的实现过程进行详细说明。需要说明的是,下文实例中的执行过程可以根据实际应用的需要进行调整。此外,在实际应用中,上述各实施例在P2P网络中还可通过其他方式来实现。
本实例中,P2P网络中处理P2P任务的过程可以包括:
阶段1、启动该资源下载任务,包括如下步骤:
步骤1.1,消费端节点收到应用程序发过来的、播放视频的HTTP请求。
步骤1.2,消费端节点从应用程序发过来HTPP请求中,解析出URL。
步骤1.3,消费端节点判断应用程序发过来HTPP请求中解析出的URL,是否符合加速条件。若不符合,则直接从CDN请求,如果符合,继续执行步骤1.4。
步骤1.4,消费端节点从来自应用程序的HTPP请求中解析的URL中提取出特征信息。
步骤1.5,消费端节点对来自应用程序的HTPP请求中解析出的URL中提取出来的特征信息做MD5运算,生成一个MD5值。在MD5值的基础上,加入一些辅助信息,拼接成一个40个字符的资源ID值。
步骤1.6,消费端节点启动该资源的下载任务。
阶段2、消费端节点从服务器(比如,资源服务器)获取资源信息,包括如下步骤:
步骤2.1,消费端节点向服务器请求资源信息,该请求中包括资源ID。
步骤2.2,服务器接收来自消费端节点的请求。
步骤2.3,服务器解析来自消费端节点的请求,得到资源ID。
步骤2.4,服务器根据步骤2.3解析得到的资源ID,从本地内存中存储的资源列表中,查询对应的资源。若没有查询到,则通知消费端节点该资源ID的加速信息为空;若查询到资源信息,则继续执行步骤2.5。
步骤2.5,服务器将步骤2.4查到的资源信息打包发送给消费端节点,该资源信息可以包括:资源ID,资源大小,整个资源的MD5值,分块校验信息的MD5值,节点列表等。
步骤2.6,消费端节点接收来自服务器的资源信息包。
步骤2.7,消费端节点解析来自服务器的资源信息包,得到资源信息。
步骤2.8,消费端节点将步骤2.7解析出来的资源信息,存储到本地内存中。
阶段3、从供给端节点下载分块校验信息,可以包括如下步骤:
步骤3.1,消费端节点从步骤2.8中存储的节点列表中取出一个供给端节点,节点信息包括:节点的公网地址,节点的公网端口,节点的Relay地址,节点的Relay端口,节点的地址类型等。
步骤3.2,消费端节点向步骤3.1取出的供给端节点,发起连接请求。
步骤3.3,消费端节点和步骤3.1取出的供给端节点,建立网络连接。
步骤3.4,消费端节点向步骤3.3已建立连接的供给端节点发送请求,请求分块校验信息,该请求中可以包含:资源ID、分块校验信息的MD5值、块校验信息的大小等信息。
步骤3.5,供给端节点接收来自消费端节点的分块校验信息的请求。
步骤3.6,供给端节点从步骤3.5收到的请求中解析出资源ID、分块校验信息的MD5值、分块校验信息的大小等信息。
步骤3.7,供给端节点根据资源ID从本地内存中存储的资源列表中,查找该资源是否存在。如果不存在,则通知消费端节点不存在该资源,流程结束。如果存在,继续往下执行步骤3.8。
步骤3.8,供给端节点从资源列表中查找步骤3.6解析到的资源ID对应的资源信息,该资源信息可以包括资源ID、资源大小、整个资源的MD5值、分块校验信息的MD5值、文件存储的路径等。
步骤3.9,供给端节点将步骤3.8查找到的分块校验信息的MD5值和步骤3.6解析得到的分块校验信息的MD5值做比较,判断是否一致。若不一致,则通知消费端节点文件不一致,流程结束。反之,继续往下执行步骤3.10。
步骤3.10,供给端节点根据步骤3.8查到到的文件存储路径,打开文件。
步骤3.11,供给端节点根据步骤3.10打开的文件,读取分块校验信息。
步骤3.12,供给端节点将步骤3.11读到的分块校验信息返回给消费端节点。
步骤3.13,消费端节点接收供给端节点发送的分块校验信息包。
步骤3.14,消费端节点解析步骤3.13接收到的分块校验信息包,得到分块校验信息,并存储到本地内存中。
阶段4、消费端节点从供给端节点下载资源,可以包括如下步骤:
步骤4.1,消费端节点将整个资源文件分解成一个个小的P2P任务(即下载任务),形成一个P2P任务池,存放在内存中。
步骤4.2,消费端节点从步骤2.8中存储的节点列表中取出一个供给端节点。
步骤4.3,消费端节点向步骤4.2取出的供给端节点发送P2P任务,该P2P任务携带的任务信息可以包括资源ID,整个资源的MD5值,文件的起始位置,数据块的大小等。
步骤4.4,供给端节点接收来自消费端节点的P2P任务,解析得到任务信息:资源ID,整个资源的MD5值,数据块的起始位置,数据块的大小等。
步骤4.5,供给端节点根据步骤4.4解析得到的资源ID,从本地存储的资源列表中,查找对应的资源。若找不到,则通知消费端节点没有该资源。反之,继续往下执行步骤4.6。
步骤4.6供给端节点根据步骤4.5查找到的资源,得到本地的资源信息,包括:资源ID,资源大小,整个资源的MD5值,分块校验信息的MD5值,文件存储的路径等。
步骤4.7,供给端节点将步骤4.6得到的整个资源的MD5值,和步骤4.4解析得到的整个文件的MD5值做比较。若不一致,则通知消费端节点文件不一致。反之,则继续往下执行步骤4.8。
步骤4.8,供给端节点根据步骤4.6查找到文件存储路径,打开文件。
步骤4.9,供给端节点根据步骤4.4解析出来的数据块的起始位置和数据块的大小,计算出需要做分块校验的数据块。
比如,起始位置是8KB,数据块大小是9KB,则对应的Range为[8KB,17KB)。若分块校验的分块大小是10KB,则请求的数据块落在[0KB,10KB)和[10KB,20KB)两个分块中。
步骤4.10,供给端节点从步骤4.8打开的文件中读取出步骤4.9计算出来的需要做校验的分块数据。
步骤4.11,供给端节点对步骤4.10读取出来的分块数据,计算每个分块的MD5值。
步骤4.12,供给端节点从步骤4.8打开的文件中,读取分块校验信息。
步骤4.13,供给端节点从步骤4.12的分块校验信息中,提取步骤4.9需要做校验的分块的MD5值。
步骤4.14,供给端节点将步骤4.11计算出来的MD5值和步骤4.13提取出来的MD5值做比较,若不一致,则通知消费端节点数据错误。反之,继续往下执行步骤4.15。
步骤4.15,供给端节点从校验成功的分块数据中,读取步骤4.4解析出来的数据块。比如,从[0KB,10KB)和[10KB,20KB)两个分块中,取出[8KB,17KB)的数据块。
步骤4.16,供给端节点将步骤4.15取出的数据返回给消费端节点。
步骤4.17,消费端节点接收供给端节点发送过来的数据,存放到本地内存中或者写入磁盘文件中。
阶段5、消费端节点将数据写入磁盘,包括如下步骤:
步骤5.1,消费端节点,在启动下载任务之后,在指定的磁盘目录下,创建资源文件,文件名即资源ID。同时将文件存储路径,记录到内存中。
步骤5.2,消费端节点打开资源文件。
步骤5.3,消费端节点将步骤2.7中的分块校验信息写入到步骤5.2打开的文件中。
步骤5.4,消费端节点重复阶段4,收到数据。
步骤5.5,当一个分块的数据完了,比如第0个分块,[0KB,10KB)的数据收完了,消费端节点就可计算当前分块的MD5值。
步骤5.6,消费端节点,根据分块的序号,从步骤5.3中的分块校验信息中,提取对应的MD5值。比如,分块校验信息中,第0个分块的MD5值,是AAAAAAAAAAAAAAAA。
步骤5.7,消费端节点将步骤5.5计算得到的MD5值,和步骤5.6提取出来的MD5值,做比较。若MD5值一致,则说明数据是正确的,反之数据有误,需要删除重新下载。
步骤5.8,消费端节点将步骤5.7校验正确的数据写入到步骤5.2打开的文件中。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。

Claims (21)

1.一种对等计算机P2P任务的处理方法,包括:
接收来自消费端节点的P2P任务,所述P2P任务携带第一信息以及资源ID,还携带有第二信息,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
根据所述第一信息和所述第二信息,处理所述P2P任务,以将对应所述资源ID的数据返回给所述消费端节点;
所述根据所述第一信息和所述第二信息,处理所述P2P任务,至少包括如下之一:
在所述第一信息满足预先设定的第一条件但所述第二信息不满足预先设定的第二条件时,直接读取对应所述P2P任务的数据,在当前流量值不超出预设的流量阈值时所述数据直接返回给所述消费端节点,在当前流量值超出所述流量阈值时等待到下一周期将所述数据返回给所述消费端节点;
在所述第一信息不满足预先设定的第一条件但所述第二信息满足预先设定的第二条件时,直接读取对应所述资源ID的数据,在当前任务数不超出预设的任务数阈值时将所述数据直接返回给所述消费端节点,在当前任务数超出所述任务数阈值时等待到下一周期将所述数据返回给所述消费端节点;
在所述第一信息满足预先设定的第一条件且所述第二信息满足预先设定的第二条件时,直接读取对应所述资源ID的数据,并将所述数据直接返回给所述消费端节点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一信息和所述第二信息,处理所述P2P任务,还包括:
在符合如下条件时,基于所述第一信息和所述第二信息确定所述P2P任务在待处理队列中的次序,并按照所述次序处理所述P2P任务:
所述第一信息不满足预先设定的第一条件;
所述第二信息不满足预先设定的第二条件。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一信息和所述第二信息确定所述P2P任务在待处理队列中的次序,包括:
按照所述第一信息对所述待处理队列的P2P任务进行排序,并基于所述第二信息对所述第一信息相同的P2P任务进行排序。
4.根据权利要求1至3中任一项所述的方法,其特征在于:
所述第二信息包括:所述P2P任务的过期时刻,所述过期时刻表示所述P2P任务在此时刻之后即失效。
5.根据权利要求4所述的方法,其特征在于:
所述第二条件包括:所述过期时刻到当前时刻的时长低于预设的第二阈值。
6.根据权利要求1至3中任一项所述的方法,其特征在于:
所述第一信息包括:所述P2P任务的任务等级值,所述任务等级值至少基于所述P2P任务相关的维度信息确定;
所述维度信息包括如下之一或多项:资源使用方的会员等级信息、所述P2P任务的请求类型信息、消费端节点的终端类型信息、所述P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率信息。
7.根据权利要求6所述的方法,其特征在于:
所述第一条件包括:所述任务等级值高于预设的第一阈值。
8.一种P2P任务的处理方法,包括:
获取当前P2P任务相关的维度信息;
根据所述维度信息,确定所述P2P任务的第一信息和第二信息,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
向供给端节点发送所述P2P任务,所述P2P任务携带所述第一信息和所述第二信息;
其中,所述维度信息包括如下之一或多项:
资源使用方的会员等级信息、所述P2P任务的请求类型信息、消费端节点的终端类型信息、所述P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率信息;
所述根据所述维度信息,确定所述P2P任务的第二信息,包括:
根据所述P2P任务请求的数据块与当前播放点之间的时差、以及所述最大有效时长,确定所述P2P任务的有效时长,并基于所述P2P任务的有效时长确定所述P2P任务的第二信息;所述P2P任务的有效时长为:所述最大有效时长和所述P2P任务请求的数据块与当前播放点之间的时差之中的最小值。
9.根据权利要求8所述的处理方法,其特征在于,所述获取当前P2P任务相关的维度信息,包括如下之一或多项:
从来自资源请求方的请求中解析到资源使用方的会员等级信息;
从来自资源请求方的请求中解析到所述请求类型信息;
根据自身的节点类型获取所述终端类型信息;
根据所述P2P任务请求的数据块的起始位置信息和大小信息,得到所述P2P任务请求的数据块与当前播放点之间的时差;
通过解析已获取的资源数据得到所述视频码率信息。
10.根据权利要求8所述的处理方法,其特征在于,
所述第一信息包括:任务等级值,所述任务等级值以数值的形式表征所述P2P任务的重要程度;
所述根据所述维度信息,确定所述P2P任务的第一信息,包括:至少根据所述维度信息,确定所述P2P任务的任务等级值。
11.根据权利要求10所述的处理方法,其特征在于:
根据所述维度信息、以及预先配置的对应所述维度信息的权重,确定所述P2P任务的任务等级值。
12.根据权利要求11所述的处理方法,其特征在于,所述方法还包括:
从服务器获取所述权重并更新到本地。
13.根据权利要求10至12中任一项所述的处理方法,其特征在于,所述根据所述维度信息,确定所述P2P任务的第一信息,包括:
通过预先定义的计算模型得到所述P2P任务的任务等级值;
其中,所述计算模型至少以预先设定的所述维度信息的分值为参数,以所述任务等级值为目标值。
14.根据权利要求13所述的处理方法,其特征在于:
所述计算模型以所述维度信息的分值、以及对应所述维度信息的权重为参数,以所述任务等级值为目标值。
15.根据权利要求8所述的处理方法,其特征在于,
所述第二信息,包括:所述P2P任务的过期时刻,所述过期时刻表示所述P2P任务在此时刻之后即失效。
16.一种P2P任务的处理方法,包括:
通过API获取预先设定的权重表;
将所述权重表提供给P2P节点;
其中,所述权重表包含与P2P任务的维度相对应的权重;所述权重表用于确定所述P2P任务的第一信息,所述第一信息表示所述P2P任务的重要程度;
所述P2P任务的维度至少包括如下之一:资源使用方的会员等级、请求类型、终端类型、P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率;
其中,所述P2P任务还包括第二信息,所述第二信息表示所述P2P任务的紧急程度; P2P任务的第二信息通过以下方式确定:
根据所述P2P任务请求的数据块与当前播放点之间的时差、以及所述最大有效时长,确定所述P2P任务的有效时长,并基于所述P2P任务的有效时长确定所述P2P任务的第二信息;所述P2P任务的有效时长为:所述最大有效时长和所述P2P任务请求的数据块与当前播放点之间的时差之中的最小值。
17.根据权利要求16所述的处理方法,其特征在于,所述将权重表提供给P2P节点,包括:
接收所述P2P节点发送的身份信息;
在所述P2P节点的身份信息验证通过后,将发生更新的配置参数发送给所述P2P节点,所述配置参数包括所述权重表。
18.一种P2P任务处理装置,其特征在于,包括:
接收模块,用于接收来自消费端节点的P2P任务,所述P2P任务携带第一信息以及资源ID,还携带有第二信息,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
处理模块,用于根据所述第一信息和所述第二信息,处理所述P2P任务,以将对应所述资源ID的数据返回给所述消费端节点;
所述处理模块根据所述第一信息和所述第二信息,处理所述P2P任务,至少包括如下之一:
在所述第一信息满足预先设定的第一条件但所述第二信息不满足预先设定的第二条件时,直接读取对应所述P2P任务的数据,在当前流量值不超出预设的流量阈值时所述数据直接返回给所述消费端节点,在当前流量值超出所述流量阈值时等待到下一周期将所述数据返回给所述消费端节点;
在所述第一信息不满足预先设定的第一条件但所述第二信息满足预先设定的第二条件时,直接读取对应所述资源ID的数据,在当前任务数不超出预设的任务数阈值时将所述数据直接返回给所述消费端节点,在当前任务数超出所述任务数阈值时等待到下一周期将所述数据返回给所述消费端节点;
在所述第一信息满足预先设定的第一条件且所述第二信息满足预先设定的第二条件时,直接读取对应所述资源ID的数据,并将所述数据直接返回给所述消费端节点。
19.一种P2P任务处理装置,其特征在于,包括:
获取模块,用于获取当前P2P任务相关的维度信息;
确定模块,用于根据所述维度信息,确定所述P2P任务的第一信息和第二信息,所述第一信息表示所述P2P任务的重要程度,所述第二信息表示所述P2P任务的紧急程度;
发送模块,用于向供给端节点发送所述P2P任务,所述P2P任务携带所述第一信息和所述第二信息;
其中,所述维度信息包括如下之一或多项:
资源使用方的会员等级信息、所述P2P任务的请求类型信息、消费端节点的终端类型信息、所述P2P任务请求的数据块与当前播放点之间的时差、预先设定的最大有效时长、视频码率信息;
所述确定模块根据所述维度信息确定所述P2P任务的第二信息,包括:
根据所述P2P任务请求的数据块与当前播放点之间的时差、以及所述最大有效时长,确定所述P2P任务的有效时长,并基于所述P2P任务的有效时长确定所述P2P任务的第二信息;所述P2P任务的有效时长为:所述最大有效时长和所述P2P任务请求的数据块与当前播放点之间的时差之中的最小值。
20.一种P2P任务处理装置,包括:
存储有计算机程序的存储器;
处理器,配置为读取所述计算机程序以执行如权利要求1至7中任一项所述P2P任务的处理方法或如权利要求8至15中任一项所述P2P任务的处理方法。
21.一种P2P任务处理装置,包括:
存储有计算机程序的存储器;
处理器,配置为读取所述计算机程序以执行如权利要求16或17所述方法。
CN201711407167.XA 2017-12-22 2017-12-22 一种p2p任务的处理方法及装置 Active CN109962948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711407167.XA CN109962948B (zh) 2017-12-22 2017-12-22 一种p2p任务的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711407167.XA CN109962948B (zh) 2017-12-22 2017-12-22 一种p2p任务的处理方法及装置

Publications (2)

Publication Number Publication Date
CN109962948A CN109962948A (zh) 2019-07-02
CN109962948B true CN109962948B (zh) 2022-06-03

Family

ID=67019553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711407167.XA Active CN109962948B (zh) 2017-12-22 2017-12-22 一种p2p任务的处理方法及装置

Country Status (1)

Country Link
CN (1) CN109962948B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021150244A1 (en) * 2020-01-24 2021-07-29 Hewlett-Packard Development Company, L.P. Resource download in peer-to-peer networks

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945278A (zh) * 2010-09-15 2011-01-12 中国科学院深圳先进技术研究院 视频自适应转码方法和系统
CN102014143A (zh) * 2009-09-04 2011-04-13 株式会社日立制作所 数据接收/发送终端、装置、方法及机顶盒
US8769090B2 (en) * 2011-11-30 2014-07-01 At&T Intellectual Property I, L.P. Method and apparatus for managing communication inquiries
CN105610869A (zh) * 2016-03-03 2016-05-25 腾讯科技(深圳)有限公司 一种流媒体的调度方法及装置
CN107396207A (zh) * 2017-07-21 2017-11-24 南京邮电大学 一种基于特征优先级的p2p数据调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102014143A (zh) * 2009-09-04 2011-04-13 株式会社日立制作所 数据接收/发送终端、装置、方法及机顶盒
CN101945278A (zh) * 2010-09-15 2011-01-12 中国科学院深圳先进技术研究院 视频自适应转码方法和系统
US8769090B2 (en) * 2011-11-30 2014-07-01 At&T Intellectual Property I, L.P. Method and apparatus for managing communication inquiries
CN105610869A (zh) * 2016-03-03 2016-05-25 腾讯科技(深圳)有限公司 一种流媒体的调度方法及装置
CN107396207A (zh) * 2017-07-21 2017-11-24 南京邮电大学 一种基于特征优先级的p2p数据调度方法

Also Published As

Publication number Publication date
CN109962948A (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
WO2018133306A1 (zh) 内容分发网络中的调度方法和设备
CN106713028B (zh) 业务降级方法、装置和分布式任务调度系统
CN112714029B (zh) 一种内容分发网络带宽调度的方法、装置及设备
WO2017167121A1 (zh) 确定及运用应用程序之间的关系关联的方法及装置
US10440082B1 (en) Adjusting parameter settings for bitrate selection algorithms
CN104092756A (zh) 一种基于dht机制的云存储系统的资源动态分配方法
US20210400317A1 (en) Method for processing video-dragging data, and proxy server
CN110278254B (zh) 用于FogCDN场景的调度方法及调度端
US20140344901A1 (en) Method And System For Sharing A File
CN111431813A (zh) 访问限流方法、设备及存储介质
CN105610869B (zh) 一种流媒体的调度方法及装置
CN108282668B (zh) 一种视频的获取方法及系统
CN109962947B (zh) 一种对等网络中的任务分配方法及装置
US20240106890A1 (en) Peer-to-peer network scheduling method and system
CN110515728B (zh) 服务器调度方法、装置、电子设备及机器可读存储介质
US20240106891A1 (en) Peer-to-peer network scheduling method and system
CN113301072A (zh) 服务调度方法及系统、调度设备、客户端
EP3338409A1 (fr) Procédé de gestion dynamique d'un service réseau dans un réseau de communication
US9736082B2 (en) Intelligent high-volume cloud application programming interface request caching
CN109639813B (zh) 视频文件传输处理方法及装置、电子设备和存储介质
CN109962948B (zh) 一种p2p任务的处理方法及装置
CN107908730B (zh) 一种下载数据的方法和装置
CN109347967A (zh) 一种获取音视频数据的方法及装置
CN109413117A (zh) 分布式数据计算方法、装置、服务器及计算机存储介质
CN109995824B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40010303

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant