CN108271063A - 一种基于p2p网络的直播数据处理方法、装置和系统 - Google Patents

一种基于p2p网络的直播数据处理方法、装置和系统 Download PDF

Info

Publication number
CN108271063A
CN108271063A CN201611265065.4A CN201611265065A CN108271063A CN 108271063 A CN108271063 A CN 108271063A CN 201611265065 A CN201611265065 A CN 201611265065A CN 108271063 A CN108271063 A CN 108271063A
Authority
CN
China
Prior art keywords
request
data block
area
data
live
Prior art date
Application number
CN201611265065.4A
Other languages
English (en)
Inventor
李响
孔韬
刘春瑞
赵国鑫
Original Assignee
北京优朋普乐科技有限公司
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 北京优朋普乐科技有限公司 filed Critical 北京优朋普乐科技有限公司
Priority to CN201611265065.4A priority Critical patent/CN108271063A/zh
Publication of CN108271063A publication Critical patent/CN108271063A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices

Abstract

本申请提供了一种基于P2P网络的直播数据处理方法、装置和系统,在直播数据请求端一侧,所述方法包括:根据请求端类型、直播数据参数以及所述直播数据的最新数据块信息,将请求端本地的缓冲区划分为若干个不同播放紧急程度的区域;根据待请求数据块在缓冲区中的区域位置选择响应端,向所述响应端发出数据块下载请求,并将所述响应端返回的数据缓存到缓冲区的相应区域。本申请通过上述手段,能够根据非紧急区的请求一般会在较长时间之后才会播放的特点尽可能选择从其他客户端获取数据,可有效提高分享率,降低P2P服务器的压力。

Description

一种基于P2P网络的直播数据处理方法、装置和系统

技术领域

[0001]本申请涉及网络服务技术领域,特别地,涉及一种基于P2P网络的直播数据处理方 法、装置和系统。

背景技术

[0002]近年来,随着互联网视频行业蓬勃发展,基于点到点网络(P2P,Peer to Peer Network)的视频点播技术受到越来越多的关注,各种各样的p2p视频播放软件也走进了 人们的生活。P2P技术是采用点对点的方式进行数据传输,与传统的客户端/服务器(C/S, Client/Server)模式不同,在P2P网络中,节点既要从邻居节点下载数据,同时也要为邻居 节点服务,上传数据给邻居节点。

[0003]在网络直播系统中,P2P作为一项关键技术,能有效利用客户端提供数据、带宽、存 储等资源,有效降低服务器压力,提高服务质量。

[0004]在现有P2P直播系统中,请求端请求数据时按数据包的序号依次发出请求,响应端 按请求的到达顺序依次响应,因此,具有如下缺点:1.对于同一个请求端,按序号从小到大 的顺序向响应端发送请求,由于存在UDP丢包及重传问题,到达响应端的顺序可能会发生变 化,从而会出现响应数据时不是按序响应的问题,序号小、相对较紧急的请求可能需要等待 较长的时间才能得到应答,在一定程度上会影响播放质量。2.对于同一个响应端,接收到不 同请求端的数据请求的紧急程度不一样,有的客户端请求的可能是即将要播放的数据,而 有的客户端请求的可能是一段时间之后才能播放到的数据,按请求的到达顺序响应数据, 会导致有的客户端拿到的数据够很长一段时间播放,而有的客户端下载的数据却跟不上播 放所需,而出现播放缓冲的问题;当数据响应出现丢包,且需要在较短的时间内做重传时, 会带来较高的重传率和服务压力,降低服务质量。

发明内容

[0005]本申请提供一种基于P2P网络的直播数据处理方法、装置和系统,用于解决现有技 术可能因丢包重传而导致播放缓冲的问题以及重传率高、服务压力大的问题。

[0006]本申请公开的一种基于P2P网络的直播数据处理方法,在直播数据请求端一侧,所 述方法包括:根据请求端类型、直播数据参数以及所述直播数据的最新数据块信息,将请求 端本地的缓冲区划分为若干个不同播放紧急程度的区域;根据待请求数据块在缓冲区中的 区域位置选择响应端,向所述响应端发出数据块下载请求,并将所述响应端返回的数据缓 存到缓冲区的相应区域。

[0007]优选的,根据待请求数据块在缓冲区中的区域位置选择响应端,向所述相应端发 出数据块下载请求,具体包括:对于位于播放紧急程度高于预设紧急程度的区域的待请求 数据块,选择P2P服务器作为响应端,并从所述P2P服务器下载数据;对于位于播放紧急程度 不高于预设紧急程度的区域的待请求数据块,选择其他客户端作为响应端并从所述其他客 户端下载数据;或先从其他客户端节点下载数据,若尝试预设次数之后数据块下载失败或 数据块下载不完整,转向从P2P服务器下载。

[0008] 优选的,所述方法还包括:为不同播放紧急程度的区域设置不同的超时重传时间, 其中,播放紧急程度越高的区域的超时重传时间越小。

[0009] 优选的,根据待请求数据块在缓冲区中的区域位置选择响应端,向所述响应端发 出数据块下载请求,具体包括:根据待请求数据块在缓冲区中的区域位置所对应的播放紧 急程度选择响应端,并确定所述待请求数据块对应的优先级标识,向所述响应端发出携带 所述优先级标识的所述数据块下载请求。

[0010] 优选的,根据请求端类型、直播数据参数以及所述直播数据的最新数据块信息,将 请求端本地的缓冲区划分为若干个不同播放紧急程度的区域,具体包括:向登录服务器发 出登录请求,接收登录服务器根据请求端类型和直播数据参数生成并返回的缓冲区分级参 数;与P2P服务器交互,获得所述最新数据块信息;根据所述缓冲区分级参数和最新数据块 信息,确定分区数量以及每个区域的边界。

[0011] 优选的,所述将请求端本地的缓冲区划分为若干个不同播放紧急程度的区域,具 体包括:将请求端本地的缓冲区划分为已下载区、紧急区、次紧急区和非紧急区;所述将请 求端本地的缓冲区划分为己下载区、紧急区、次紧急区和非紧急区,具体包括:向登录服务 器发出登录请求,接收登录服务器根据请求端类型和直播数据参数生成并返回的缓冲区分 级参数;与P2P服务器交互,获得所述最新数据块信息,其中,所述最新直播数据块信息包括 最新直播数据块序号E;根据所述缓冲区分级参数和最新数据块序号E,计算次紧急区的结 束位置C和紧急区的结束位置B;将缓冲区的开始位置S与正在下载的数据块号A之间的区域 作为已下载区,A与B之间的区域作为紧急区,B和C之间的区域作为次紧急区,C和E之间的区 域作为非紧急区;所述根据待请求数据块在缓冲区中的区域位置选择响应端,向所述响应 端发出数据块下载请求,具体包括:对于位于紧急区的待请求数据块,选择P2P服务器作为 响应端,并从所述P2P服务器下载数据;对于位于次紧急区的待请求数据块,先从其他客户 端节点下载数据,若尝试预设次数之后数据块下载失败或数据块下载不完整,转向从P2P服 务器下载;对于位于非紧急区的待请求数据块,选择其他客户端作为响应端,并从该所述其 他客户端下载数据;所述方法还包括:将紧急区、次紧急区和非紧急区的超时重传时间分别 设置为第一超时时间、第二超时时间和第三超时时间,其中,第一超时时间<第二超时时间〈 第三超时时间。

[0012]本申请公开的一种基于P2P网络的直播数据处理方法,在直播数据响应端一侧,所 述方法包括:接收请求端发出的数据块下载请求,根据下载请求的数据块在请求端缓冲区 中的区域位置,确定所述数据块下载请求在所述请求端对应的优先级队列中的排序位置, 并将所述数据块下载请求插入所述请求端对应的优先级队列中;从各个请求端对应的优先 级队列的头部开始依次轮询回复各个数据块下载请求,并将回复后的数据块下载请求从优 先级队列中删除。

[0013]优选的,所述方法还包括:为不同优先级的数据块下载请求设置不同的超时重传 时间,其中、,优先级越高的数据块下载请求的超时重传时间越小。

[00M]优选的,每个优先级队列中优先级相同的数据块下载请求按照请求的数据块序号 从小到大排序。

[0015]本申请公开的一种基于P2P网络的直播数据处理装置,在直播数据请求端一侧,所 述装置包括:缓冲区分级模块,用于根据请求端类型、直播数据参数以及所述直播数据的最 新数据块信息,将请求端本地的缓冲区划分为若干个不同播放紧急程度的区域;分级下载 模块,用于根据待请求数据块在缓冲区中的区域位置选择响应端,向所述响应端发出数据 块下载请求,并将所述响应端返回的数据缓存到缓冲区的相应区域。

[0016]本申请公开的一种基于P2P网络的直播数据处理装置,在直播数据响应端一侧,所 述装置包括:下载请求分级模块,用于接收请求端发出的数据块下载请求,根据下载请求的 数据块在请求端缓冲区中的区域位置,确定所述数据块下载请求在所述请求端对应的优先 级队列中的排序位置,并将所述数据块下载请求插入所述请求端对应的优先级队列中;分 级应答模块,用于从各个请求端对应的优先级队列的头部开始依次轮询回复各个数据块下 载请求,并将回复后的数据块下载请求从优先级队列中删除。

[0017]本申请公开的一种基于P2P网络的直播数据处理系统,包括通过网络互相连接的 登录服务器、P2P服务器和客户端,其中:所述P2P服务器配置有上述基于P2P网络的直播数 据处理装置;所述客户端配置有上述基于P2P网络的直播数据处理装置。

[0018]本申请还公开了一种在其上记录有用于执行上述方法的程序的计算机可读记录 介质。

[0019]与现有技术相比,本申请优选实施例请求端利用P2P服务器(P2Pserver)中最新直 播数据位置以及请求端类型、直播数据参数等将缓冲区划分为多个不同播放紧急程度区域 (如紧急区、次紧急区和非紧急区等),并根据待下载数据块在缓冲区中的区域位置选择响 应端,能够根据非紧急区的请求一般会在较长时间之后才会播放的特点尽可能选择从其他 客户端获取数据,可有效提高分享率,降低P2P服务器的压力。对于响应端来说,通过紧急数 据优先响应策略,能够较大程度的提高用户观看直播数据的流畅度。在进一步的优选实施 例中,通过为不同优先级的数据设置不同的重传时间,可以有效降低重传率,从而进一步提 高网络传输效率和直播数据的流畅度,提升用户观看体验。

附图说明

[0020] 图1为本申请基于P2P网络的直播数据处理方法第一实施例的流程图; 图2为本申请基于P2P网络的直播数据处理方法第二实施例的流程图; 图3为本申请基于P2P网络的直播数据请求装置一实施例的结构示意图; 图4为本申请基于P2P网络的直播数据应答装置一实施例的结构示意图; 图5为本申请基于P2P网络的直播数据处理系统一实施例的结构示意图; 图6为图1所示方法实施例中请求端的缓冲区分级结构示意图; 图7为图2所示方法实施例中响应端的响应队列结构示意图。

具体实施方式

[0021] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本申请作进一步详细的说明。

[0022] 在本申请的描述中,需要理解的是,术语“第一”、“第二,,仅用于描述目的,而不能 理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第 一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“多个,,的含义是 两个或两个以上,除非另有明确具体的限定。术语“包括”、“包含,,及类似术语应该被理解为 是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一实施 例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的 相关定义将在下文描述中给出。

[0023]参照图1,示出了本申请基于P2P网络的直播数据处理方法第一实施例的流程,该 P2P网络设置有通过网络互相连接的登录服务器、二个以上的P2P服务器节点和二个以上的 客户端节点,本方法实施例的执行主体为直播数据的请求端(一般是客户端),具体包括以 下步骤: 步骤S101:根据请求端类型、直播数据参数以及所述直播数据的最新数据块信息,将请 求端本地的缓冲区划分为若干个不同播放紧急程度的区域。

[0024]在具体实施时,可以根据服务端预置的规则,将本地缓冲区划分为己下载区、紧急 区、次紧急区和非紧急区。另外,直播数据的最新数据块信息可以从P2P服务器节点获得。 [0025]步骤S102:根据待请求数据块在缓冲区中的区域位置选择响应端,向所述响应端 发出数据块下载请求,并将所述响应端返回的数据缓存到缓冲区的相应区域。

[0026]在进一步的优选实施例中,请求端根据待请求数据块在缓冲区中的区域位置选择 响应端的策略,具体包括:对于位于播放紧急程度高于预设紧急程度的区域的待请求数据 块,选择P2P服务器作为响应端,并从所述P2P服务器下载数据;对于位于播放紧急程度不高 于预设紧急程度的区域的待请求数据块,选择其他客户端作为响应端并从所述其他客户端 下载数据;或先从其他客户端节点下载数据,若尝试预设次数之后数据块下载失败或数据 块下载不完整,转向从P2P服务器下载。

[0027]以将本地缓冲区划分为已下载区、紧急区、次紧急区和非紧急区的区域划分方式 为例: 对于紧急区的数据块,选择P2P服务器作为响应端,并从该P2P服务器下载数据; 对于次紧急区的数据块,先从其他客户端节点下载数据,若尝试预设次数之后数据块 下载失败或数据块下载不完整,转向从P2P服务器下载; 对于非紧急区的数据块,选择其他客户端作为响应端,并从该其他客户端下载数据。 [0028]在另一实施例中,为减少丢包率,降低系统的服务压力,还可以为不同紧急区的请 求设置不同的超时重传时间,紧急程度越高设置的超时重传时间越短,对于将本地缓冲区 划分为已下载区、紧急区、次紧急区和非紧急区的情况,超时重传时间的设置方式具体方法 可以为: 将紧急区、次紧急区和非紧急区的超时重传时间分别设置为第一超时时间、第二超时 时间和第三超时时间,其中,第一超时时间〈第二超时时间〈第三超时时间。

[0029]在另一实施例中,为使响应端及时处理紧急的数据,根据待请求数据块在缓冲区 中的区域位置选择响应端,向所述响应端发出数据块下载请求,具体包括: 根据待请求数据块在缓冲区中的区域位置所对应的播放紧急程度选择响应端,并确定 所述待请求数据块对应的优先级标识,向所述响应端发出携带所述优先级标识的所述数据 块下载请求。

[0030]在另一进一步的优选实施例中,根据请求端类型、直播数据参数以及所述直播数 据的最新数据块信息,将请求端本地的缓冲区划分为若干个不同播放紧急程度的区域,具 体包括: 向登录服务器发出登录请求,接收登录服务器根据请求端类型和直播数据参数生成并 返回的缓冲区分级参数; 与P2P服务器交互,获得所述最新数据块信息; 根据所述缓冲区分级参数和最新数据块信息,确定分区数量以及每个区域的边界。 [0031]优选地,上述步骤S101生成的缓冲区分级结构如图6所示,其具体实现方法可以包 括: 步骤S101-1:向登录服务器发出登录请求,接收登录服务器根据请求端类型和直播数 据参数生成并返回的缓冲区分级参数nl和n2,其中,nl<n2; 具体实施时,可以根据请求端(即客户端)CPU的处理能力、直播数据(直播视频或音频) 的码率生成缓冲区的分级参数。客户端开始播放时,P2Pserver会从当前最新位置往后回退 一定数据量(如时长为3〇s的数据量)的位置开始给请求端提供数据。参数n2的取值可以按 照客户端刚开始播放时前几秒(如3秒)数据的大小设置;参数nl的取值可以在ri2的基础上 再往后延几秒(如5秒)数据的大小设置。

[0032] 例如,对于主频为1GHz的CPU (即处理1条指令的时间为1ns),当直播视频的码率为 1.5Mbps 时,n2 的取值可以为 40.5Mb (30s*1.5Mbps-3s*l. 5Mbps),nl 的取值可以为 33Mb (30s*l • 5Mbps-8s*l • 5Mbps)。

[0033]步骤S101-2:与P2P服务器交互,获得最新直播数据块信息,其中,所述最新直播数 据块彳§息包括最新直播数据块序号E; 步骤S101-3:计算次紧急区的结束位置C和紧急区的结束位置B,其中C=E-nl;B=E-n2; 步骤S10104:将缓冲区的开始位置S与当前正在下载的数据块号A之间的区域作为已下 载区,A与B之间的区域作为紧急区,B和C之间的区域作为次紧急区,C和E之间的区域作为非 紧急区。

[0034] 其中,S彡A彡B彡C彡E;当B=C(即nl=n2)时,将缓冲区划分为已下载区、紧急区和非 紧急区(即不存在次紧急区)。

[0035]参照图2,示出了本申请基于P2P网络的直播数据处理方法第二实施例的流程,本 方法实施例的执行主体为P2P网络的直播数据的响应端,该响应端可以是P2P服务器,也可 以是为其他客户端提供下载服务的客户端。本实施例方法具体包括: 步骤S201:接收请求端发出的数据块下载请求,根据下载请求的数据块在请求端缓冲 区中的区域位置,确定所述数据块下载请求在所述请求端对应的优先级队列中的排序位 置,并将所述数据块下载请求插入所述请求端对应的优先级队列中; 步骤S202:从各个请求端对应的优先级队列的头部开始依次轮询回复各个数据块下载 请求,并将回复后的数据块下载请求从优先级队列中删除。

[0036]上述优先级队列的结构以及响应顺序如图7所示。

[0037]在另一实施例中,为减少丢包率,降低服务压力,还可以为不同优先级的数据块下 载请求设置不同的超时重传时间,优先级越高的数据块下载请求的超时重传时间越小,具 体方法可以为:将优先级最高、优先级最低和介于二者之间的优先级的超时重传时间分别 设置为第一超时时间、第三超时时间和第二超时时间,其中,第一超时时间〈第二超时时间< 第三超时时间。 L〇〇38」在进一步的优选实施例中,当一个优先级队列中存在优先级相同的数据块下载请 求时,按照请求的数据块序号从小到大排序。

[0039]对于前述的各方法实施例,为了描述简单,故将其都表述为一系列的动作组合,但 是本领域的技^人员应该知悉,本申请并不受所描述的动作顺序的限制,因为根据本申请, 某些步骤可以采用其他顺序或同时执行;其次,本领域技术人员也应该知悉,上述方法实施 例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

[0040]本申请还公开了一种在其上记录有用于执行上述方法的程序的计算机可读记录 介质。所述计算机可读记录介质包括配置为以计算机(以计算机为例)可读的形式存储或传 送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁 盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红 外信号、数字信号等)等。

[0041]参照图3,示出了本申请基于P2P网络的直播数据请求装置一实施例的结构示意 图,包括: 缓冲区分级模块31,用于根据请求端类型、直播数据参数以及所述直播数据的最新数 据块信息,将请求端本地的缓冲区划分为若千个不同播放紧急程度的区域; 分级下载模块32,用于根据待请求数据块在缓冲区中的区域位置选择响应端,向所述 响应端发出数据块下载请求,并将所述响应端返回的数据缓存到缓冲区的相应区域。

[0042]参照图4,示出了本申请基于P2P网络的直播数据响应装置一实施例的结构示意 图,所述装置包括: 下载请求分级模块41,用于接收请求端发出的数据块下载请求,根据下载请求的数据 块在请求端缓冲区中的区域位置,确定所述数据块下载请求在所述请求端对应的优先级队 列中的排序位置,并将所述数据块下载请求插入所述请求端对应的优先级队列中; 分级应答模块42,用于从各个请求端对应的优先级队列的头部开始依次轮询回复各个 数据块下载请求,并将回复后的数据块下载请求从优先级队列中删除。

[0043]参照图5,示出了本申请基于P2P网络的直播数据处理系统一实施例的结构示意 图,包括通过网络互相连接的登录服务器、二个以上的P2P服务器节点和二个以上的客户端 节点,另外,所述系统还配置有数据接入分发层,用于将直播源中的直播数据流封装成私有 格式,切割成固定大小的数据块,并对数据块进行编号,增加频道号、码率、是否关键帧等信 息后,分发推送至P2P服务器。其中: P2P服务器缓存固定时间长度的直播数据,并配置有图4所示的基于P2P网络的直播数 据响应装置; 登录服务器(Tracker)主要用于节点管理、路由服务和负载均衡; 客户端作为直播终端(如网络机顶盒、网络电视等),配置有图3所示的基于P2P网络的 直播数据请求装置;另外,客户端还可以用作其他客户端的响应端,并配置有图4所示的基 于P2P网络的直播数据响应装置,为其他客户端提供数据下载服务。

[0044] 关于缓冲区分级参数,可以在客户端启动时登录Tracker,并接收tracker根据客 户端类型、直播数据信息(如频道码率等)等参数返回的两个缓冲区分级参数(假设为nl和 n2,nl < n2);也可以由客户端的缓冲区分级模块31动态向Tracker请求获取。之后,缓冲区 分级模块31从P2P服务器获取当前直播数据的最新数据块号E,将自己的缓冲区划分成四个 区域:已下载区、紧急区、次紧急区、非紧急区。之后,分级下载模块32根据待请求数据块在 缓冲区的位置选择响应端(如P2P服务器或其他客户端),并向选择出的响应端发送数据块 下载请求,收到响应端返回的数据后缓存到本地缓冲区的已下载区。

[0045]作为响应端的客户端或P2P服务器的下载请求分级模块41收到请求端的分级下载 模块发出的数据块下载请求后,首先根据请求的优先级(来自紧急区、次紧急区或非紧急 区)将请求插入到对应请求端的优先级队列中。为确保各个数据块下载请求都能得到及时 响应,响应端的分级应答模块42从各个优先级队列的头部开始依次轮询回复各个请求端的 请求,响应顺序可参照图7所示的方式进行。

[0046]需要说明的是,上述装置和系统实施例属于优选实施例,所涉及的单元和模块并 不一定是本申请所必须的。

[0047]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本申请的装 置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实 施例的部分说明即可。

[0048]以上对本申请所提供的一种基于P2P网络的直播数据处理方法、装置和系统,进行 了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例 的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员, 依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内 容不应理解为对本申请的限制。

Claims (12)

1. 一种基于P2P网络的直播数据处理方法,其特征在于,在直播数据请求端一侧,所述 方法包括: 根据请求端类型、直播数据参数以及所述直播数据的最新数据块信息,将请求端本地 的缓冲区划分为若千个不同播放紧急程度的区域; 根据待请求数据块在缓冲区中的区域位置选择响应端,向所述响应端发出数据块下载 请求,并将所述响应端返回的数据缓存到缓冲区的相应区域。
2. 根据权利要求1所述的方法,其特征在于,根据待请求数据块在缓冲区中的区域位置 选择响应端,向所述相应端发出数据块下载请求,具体包括: 对于位于播放紧急程度高于预设紧急程度的区域的待请求数据块,选择P2P服务器作 为响应端,并从所述P2P服务器下载数据; 对于位于播放紧急程度不高于预设紧急程度的区域的待请求数据块,选择其他客户端 作为响应端并从所述其他客户端下载数据;或先从其他客户端节点下载数据,若尝试预设 次数之后数据块下载失败或数据块下载不完整,转向从P2P服务器下载。
3. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 为不同播放紧急程度的区域设置不同的超时重传时间,其中,播放紧急程度越高的区 域的超时重传时间越小。
4. 根据权利要求1所述的方法,其特征在于,根据待请求数据块在缓冲区中的区域位置 选择响应端,向所述响应端发出数据块下载请求,具体包括: 根据待请求数据块在缓冲区中的区域位置所对应的播放紧急程度选择响应端,并确定 所述待请求数据块对应的优先级标识,向所述响应端发出携带所述优先级标识的所述数据 块下载请求。
5.根据权利要求1〜4任一项所述的方法,其特征在于,根据请求端类型、直播数据参数 以及所述直播数据的最新数据块信息,将请求端本地的缓冲区划分为若干个不同播放紧急 程度的区域,具体包括: 向登录服务器发出登录请求,接收登录服务器根据请求端类型和直播数据参数生成并 返回的缓冲区分级参数; 与P2P服务器交互,获得所述最新数据块信息; 根据所述缓冲区分级参数和最新数据块信息,确定分区数量以及每个区域的边界。
6.根据权利要求1所述的方法,其特征在于,所述将请求端本地的缓冲区划分为若干个 不同播放紧急程度的区域,具体包括: 将请求端本地的缓冲区划分为已下载区、紧急区、次紧急区和非紧急区; 所述将请求端本地的缓冲区划分为已下载区、紧急区、次紧急区和非紧急区,具体包 括: 向登录服务器发出登录请求,接收登录服务器根据请求端类型和直播数据参数生成并 返回的缓冲区分级参数; 与P2P服务器交互,获得所述最新数据块信息,其中,所述最新直播数据块信息包括最 新直播数据块序号E; 根据所述缓冲区分级参数和最新数据块序号E,计算次紧急区的结束位置c和紧急区的 结束位置B; 将缓冲区的开始位置S与正在下载的数据块号A之间的区域作为已下载区,A与B之间的 区域作为紧急区,B和C之间的区域作为次紧急区,C和E之间的区域作为非紧急区; 所述根据待请求数据块在缓冲区中的区域位置选择响应端,向所述响应端发出数据块 下载请求,具体包括: 对于位于紧急区的待请求数据块,选择P2P服务器作为响应端,并从所述P2P服务器下 载数据; 对于位于次紧急区的待请求数据块,先从其他客户端节点下载数据,若尝试预设次数 之后数据块下载失败或数据块下载不完整,转向从P2P服务器下载; 对于位于非紧急区的待请求数据块,选择其他客户端作为响应端,并从该所述其他客 户端下载数据; 所述方法还包括:将紧急区、次紧急区和非紧急区的超时重传时间分别设置为第一超 时时间、第二超时时间和第三超时时间,其中,第一超时时间〈第二超时时间〈第三超时时 间。
7.—种基于P2P网络的直播数据处理方法,其特征在于,在直播数据响应端一侧,所述 方法包括: 接收请求端发出的数据块下载请求,根据下载请求的数据块在请求端缓冲区中的区域 位置,确定所述数据块下载请求在所述请求端对应的优先级队列中的排序位置,并将所述 数据块下载请求插入所述请求端对应的优先级队列中; 从各个请求端对应的优先级队列的头部开始依次轮询回复各个数据块下载请求,并将 回复后的数据块下载请求从优先级队列中删除。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:为不同优先级的数据块 下载请求设置不同的超时重传时间,其中,优先级越高的数据块下载请求的超时重传时间 越小。
9.根据权利要求7所述的方法,其特征在于,每个优先级队列中优先级相同的数据块下 载请求按照请求的数据块序号从小到大排序。 1〇 •—种基于P2P网络的直播数据处理装置,其特征在于,在直播数据请求端一侧,所述 装置包括: 缓冲区分级模块,用于根据请求端类型、直播数据参数以及所述直播数据的最新数据 块信息,将请求端本地的缓冲区划分为若干个不同播放紧急程度的区域; 分级下载模块,用于根据待请求数据块在缓冲区中的区域位置选择响应端,向所述响 应端发出数据块下载请求,并将所述响应端返回的数据缓存到缓冲区的相应区域。
11. 一种基于P2P网络的直播数据处理装置,其特征在于,在直播数据响应端一侧,所述 装置包括: 下载请求分级模块,用于接收请求端发出的数据块下载请求,根据下载请求的数据块 在请求端缓冲区中的区域位置,确定所述数据块下载请求在所述请求端对应的优先级队列 中的排序位置,并将所述数据块下载请求插入所述请求端对应的优先级队列中; 分级>应答模块,用于从各个请求端对应的优先级队列的头部开始依次轮询回复各个数 据块下载请求,并将回复后的数据块下载请求从优先级队列中删除。
12.—种基于P2P网络的直播数据处理系统,其特征在于,包括通过网络互相连接的登 录服务器、P2P服务器和客户端,其中: 所述P2P服务器配置有权利要求11所述的基于P2P网络的直播数据处理装置; 所述客户端配置有权利要求10所述的基于P2P网络的直播数据处理装置和权利要求11 所述的基于P2P网络的直播数据处理装置。
CN201611265065.4A 2016-12-30 2016-12-30 一种基于p2p网络的直播数据处理方法、装置和系统 CN108271063A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611265065.4A CN108271063A (zh) 2016-12-30 2016-12-30 一种基于p2p网络的直播数据处理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611265065.4A CN108271063A (zh) 2016-12-30 2016-12-30 一种基于p2p网络的直播数据处理方法、装置和系统

Publications (1)

Publication Number Publication Date
CN108271063A true CN108271063A (zh) 2018-07-10

Family

ID=62770206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611265065.4A CN108271063A (zh) 2016-12-30 2016-12-30 一种基于p2p网络的直播数据处理方法、装置和系统

Country Status (1)

Country Link
CN (1) CN108271063A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325686A (zh) * 2007-06-15 2008-12-17 中兴通讯股份有限公司 下拉式对等网络直播业务实现方法
CN101552660A (zh) * 2008-04-01 2009-10-07 中国移动通信集团公司 对流媒体数据进行重传、播放的方法、装置及通信系统
CN101626304A (zh) * 2008-07-11 2010-01-13 宝利微电子系统控股公司 P2p协议下实现多媒体即时播放的方法及装置
US20100146138A1 (en) * 2008-12-09 2010-06-10 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Method of data request scheduling in peer-to-peer sharing networks
CN102137124A (zh) * 2010-01-27 2011-07-27 中国电信股份有限公司 一种p2p流媒体直播方法和系统
CN103607439A (zh) * 2013-11-08 2014-02-26 四川长虹电器股份有限公司 基于预连接的动态资源下载方法
CN104320672A (zh) * 2014-09-24 2015-01-28 中国人民解放军理工大学 Cdn-p2p混合架构下的直播流媒体系统资源调度方法
CN106067870A (zh) * 2015-04-22 2016-11-02 北京邮电大学 基于混合优先级的移动医疗流媒体数据调度方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325686A (zh) * 2007-06-15 2008-12-17 中兴通讯股份有限公司 下拉式对等网络直播业务实现方法
CN101552660A (zh) * 2008-04-01 2009-10-07 中国移动通信集团公司 对流媒体数据进行重传、播放的方法、装置及通信系统
CN101626304A (zh) * 2008-07-11 2010-01-13 宝利微电子系统控股公司 P2p协议下实现多媒体即时播放的方法及装置
US20100146138A1 (en) * 2008-12-09 2010-06-10 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Method of data request scheduling in peer-to-peer sharing networks
CN102137124A (zh) * 2010-01-27 2011-07-27 中国电信股份有限公司 一种p2p流媒体直播方法和系统
CN103607439A (zh) * 2013-11-08 2014-02-26 四川长虹电器股份有限公司 基于预连接的动态资源下载方法
CN104320672A (zh) * 2014-09-24 2015-01-28 中国人民解放军理工大学 Cdn-p2p混合架构下的直播流媒体系统资源调度方法
CN106067870A (zh) * 2015-04-22 2016-11-02 北京邮电大学 基于混合优先级的移动医疗流媒体数据调度方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王群等: "CDN-P2P混合架构下直播流媒体系统服务应急保障研究", 《计算机科学》 *

Similar Documents

Publication Publication Date Title
US9521180B2 (en) Adaptive variable fidelity media distribution system and method
US10002141B2 (en) Distributed database in software driven networks
CN104350755B (zh) 通过速率限制的自适应流视频客户端的稳定的方法和装置
Nygren et al. The akamai network: a platform for high-performance internet applications
EP3211857B1 (en) Http scheduling system and method of content delivery network
US8850497B2 (en) Efficiently distributing video content using a combination of a peer-to-peer network and a content distribution network
US10630785B2 (en) Scalable, real-time messaging system
US9407585B1 (en) Scalable, real-time messaging system
EP1633111B1 (en) A system and method for distributed streaming of scalable media
ES2360647T3 (es) Método y sistema para la diseminación del contenido igual a igual.
Liao et al. Anysee: Peer-to-peer live streaming
US20160072865A1 (en) Active offline storage management for streaming media application used by multiple client devices
Deshpande et al. Streaming live media over a peer-to-peer network
US9749293B2 (en) Systems for improved mobile internet performance and security
KR101183430B1 (ko) 피어-투-피어 네트워크에서의 수신자 구동형 스트리밍을위한 시스템 및 방법
US8880650B2 (en) System and method for storing streaming media file
US6925484B2 (en) Dynamic proxy server apparatus
KR101176648B1 (ko) 스트리밍 미디어의 삭제 코딩을 위한 시스템 및 방법
Lao et al. A scalable overlay multicast architecture for large-scale applications
WO2017088384A1 (zh) 一种直播视频的上传方法、装置及系统
US9602450B1 (en) Maintaining persistence of a messaging system
US9037657B2 (en) Systems and methods for peer-to-peer bandwidth allocation
Li et al. Coding or not: Optimal mobile data offloading in opportunistic vehicular networks
KR101544485B1 (ko) 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치
CN103457993B (zh) 本地缓存装置和提供内容缓存服务的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination