CN111262886B - 一种对等网络自适应流媒体点播系统及服务质量保证方法 - Google Patents

一种对等网络自适应流媒体点播系统及服务质量保证方法 Download PDF

Info

Publication number
CN111262886B
CN111262886B CN202010224214.2A CN202010224214A CN111262886B CN 111262886 B CN111262886 B CN 111262886B CN 202010224214 A CN202010224214 A CN 202010224214A CN 111262886 B CN111262886 B CN 111262886B
Authority
CN
China
Prior art keywords
node
neighbor
nodes
client
streaming media
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
CN202010224214.2A
Other languages
English (en)
Other versions
CN111262886A (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.)
Beijing Sihua Laimeng Cultural Technology Co.,Ltd.
Original Assignee
Guilin University of Electronic Technology
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 Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN202010224214.2A priority Critical patent/CN111262886B/zh
Publication of CN111262886A publication Critical patent/CN111262886A/zh
Application granted granted Critical
Publication of CN111262886B publication Critical patent/CN111262886B/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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种对等网络自适应流媒体点播系统及服务质量保证方法;该系统包括对等网络多码率覆盖网结构和客户端节点功能模块结构,支持HTTP自适应流媒体技术与对等网络技术的融合,从而利用HTTP自适应流媒体技术部署简单、自适应码率调整特性与对等网络技术高可扩展、低成本特性;该系统的服务质量保证方法,包括基于斐‑幂环状结构的邻居节点搜索方法和自适应码率控制方法;基于斐‑幂环状结构的邻居节点搜索方法,支持客户端节点拖动播放点时高效查找邻居节点,获取所需流媒体资源;自适应码率控制方法,支持客户端节点根据相关服务质量指标自适应调整码率,保障用户观看体验。

Description

一种对等网络自适应流媒体点播系统及服务质量保证方法
技术领域
本发明涉及计算机网络、对等网络技术、流媒体技术领域,具体是一种对等网络自适应流媒体点播系统及服务质量保证方法,它属于互联网上流媒体点播服务应用领域。
背景技术
流媒体点播服务已成为互联网的主要应用之一。在实现流媒体点播系统时,HTTP自适应流媒体技术得到了广泛应用,商业部署的代表性产品,包括微软的平滑流技术(Smooth Streaming,SS)、苹果公司的HTTP直播流(HTTP Live Streaming,HLS)、Adobe的HTTP动态流(HTTP Dynamic Streaming,HDS)。HTTP自适应流媒体技术具备以下优点:部署简单(不存在NAT转换和防火墙问题);能随着网络带宽变化自适应调整视频播放码率(简称码率),保障用户观看体验;能像其他的HTTP内容一样重用HTTP服务器、内容分发网络(Content Delivery Network,CDN)、Cache基础设施。然而,商业应用的HTTP自适应流媒体技术均采用客户-服务器架构,服务器带宽开销与网络规模成正比。虽然CDN技术近年来发展很快,而且服务价格降低,但是随着网络规模的扩大,服务器带宽开销还是会变得非常昂贵,甚至超出CDN网络的服务能力。因此,基于HTTP自适应流媒体的流媒体点播系统,虽然具有部署简单、自适应码率调整等优点,但是也面临随着网络规模的增长,服务器带宽开销巨大且不断增长的挑战。
另一方面,对等网络技术应用于流媒体点播服务已被证明是一种高可扩展、低成本的技术,能够很好地降低服务器带宽开销,以及能够支持很大的网络规模。对等网络技术能够利用每个客户端节点提供的资源(计算资源、存储资源、带宽资源),提升整个系统的服务能力。每个客户端节点既是客户端,又是服务器端。作为客户端,每个客户端节点请求自己所需的视频资源。作为服务端,每个客户端节点向系统提供缓存的流媒体视频资源。因此,随着客户端节点的加入,整个系统的资源也会随之增加,体现出高扩展性。在对等网络中,由于每个节点提供的资源被系统免费使用,所以基于对等网络的系统能很好地降低服务器带宽开销,体现出低成本。
因此,如果HTTP自适应流媒体技术与对等网络技术结合,就能解决HTTP自适应流媒体技术遇到的服务器带宽开销巨大其不断增长的问题,从而实现部署简单、自适应码率调整、高可扩展、低成本的流媒体点播服务。
然而,HTTP自适应流媒体技术与对等网络技术的结合面临着一些挑战。首先,在流媒体点播服务中,播放同一视频的客户端节点会根据带宽选择不同码率进行播放,而且会播放视频的不同部分,如何构建多码率的覆盖网是两个技术结合要考虑第一个问题。其次,客户端节点的功能设计应如何兼顾HTTP自适应流媒体部署简单、自适应码率调整的优点与对等网络技术能利用客户端节点资源的优点。目前,对等网络技术与流媒体点播服务结合,主要应用的是RTSP/RTP(Real Time Streaming Protocol/Real Time Streaming)流媒体协议。基于该协议,客户端向服务器端发出流媒体数据请求,服务器端通过UDP端口将流媒体数据传输给客户端。然而,在HTTP自适应流媒体技术中,流媒体传输是建立在HTTP协议上的,而HTTP协议是建立在TCP协议之上的。因此,客户端节点在功能设计时,为了利用HTTP自适应流媒体部署简单、自适应调整码率的优点,如何既能采用HTTP协议进行传输,又能兼顾支持对等网络,是要考虑的一个关键问题。然后,在流媒体点播服务中,客户端节点有可能发生拖动,为了在对等网络中快速查找邻居节点,如何设计一种覆盖网结构支持高效查找邻居节点,是要考虑的一个重点问题。最后,基于所设计的对等网络覆盖网结构,如何设计一种自适应码率控制方法,在不同码率之间进行切换,也是要考虑的一个重要问题。
目前,如何将HTTP自适应流媒体技术与对等网络技术结合实现流媒体点播服务,而解决上述问题,尚无公开的技术实现和参考。
发明内容
本法的目的在于上述背景技术中的不足,而提供一种对等网络自适应流媒体点播系统及服务质量保证方法。
本发明涉及自适应流媒体点播网络、流媒体分片,描述如下:
一、自适应流媒体点播网络
自适应流媒体点播网络,包括流媒体服务器、注册与辅助服务器、Web服务器、客户端节点。
流媒体服务器:负责为web服务器提供流媒体分片分块资源。
Web分发服务器:用于接收流媒体服务器的流媒体分片分块资源,将分片分块文件和索引文件基于HTTP协议分发给客户端节点。
注册与辅助服务器:负责记录和维护自适应流媒体点播网络中客户端节点的信息,并根据需要周期性统计相关信息,如在线时长、在各个不同码率覆盖网中的节点数、覆盖网服务质量指标、覆盖网潜在服务质量指标等信息,向客户端节点周期性地广播覆盖网服务质量指标、覆盖网潜在服务质量指标等信息。
客户端节点:客户端节点分为两类:一类是具有较大计算能力和存储能力的电脑端节点,包括PC机、笔记本电脑、智能电视等;一类是计算能力和存储能力有限的移动端节点,包括平板电脑、智能手机等。两类节点均可通过有线网络或WIFI连接互联网,它们的区别在于缓存空间大小不同,电脑端节点的缓存空间更大。客户端节点可随时加入或离开自适应流媒体点播网络,或者在播放过程中拖动播放点。
二、流媒体分片
流媒体分片按分片-小块二级组织,每个分片的时间长度为10秒,可分为10个小块,每个小块的时间长度为1秒,流媒体服务器中含有一个流分割器,该流分割器将一个流媒体资源按时间长度等长地分为多片,再对每个分片划分为小块。一个流媒体资源最后一个分片的时间长度为该流媒体资源的时长对10取余。每个流媒体分片的字节长度不同,客户端节点在不同码率进行切换时,可根据时间点请求不同码率的流媒体分块。
在分片及分块后,流分割器还会产生一个索引文件来索引这些分片和分块。索引文件中的索引信息包括分片号、分块号(分片号与分块号均从1开始编号,即1,2,3,…)、长度、对应URL。
实现本发明目的的技术方案是:
一种对等网络自适应流媒体点播系统,包括对等网络多码率覆盖网结构和客户端节点功能模块结构;
所述的对等网络多码率覆盖网结构,是播放同一视频的所有客户端节点,根据播放码率从低到高依次分布到不同的覆盖网,同码率覆盖网的所有客户端节点按斐-幂环状结构组织在一起共享流媒体数据和交换控制信息,相邻码率覆盖网的客户端节点根据播放分片号相同,即播放点所对应的流媒体分片号,构成跨码率邻居节点关系,跨码率邻居节点之间以交换控制信息为主,也能共享流媒体分片;不相邻码率覆盖网的客户端节点之间无信息交互。
所述的斐-幂环状结构,是一种集成斐波那契环与2的幂次环的环状结构,在斐-幂环状结构中,一个客户端节点根据其同码率邻居节点的播放分片号与自身播放分片号的差值的绝对值,将其邻居节点组织在零环上或斐波那契序列值前六项(1、2、3、5、8、13)为半径的同心圆环上或以2的幂次序列值(从24开始,16、32、64、128、256、…)为半径的同心圆环上;当差值为零时,其邻居节点称为伙伴节点,位于零环上;当差值的绝对值为斐波那契序列值前六项时(如:1、2、3、5、8、13时),其邻居节点在斐波那契环上;当差值的绝对值为2的幂次(16、32、64、128、256、…)时,其邻居节点在幂次环上;幂次环半径的最大值取决于视频的长度,两个同码率客户端节点的播放分片号差值的绝对值不为上述值时,不在斐-幂环状结构上。
所述的客户端节点功能模块结构,包括支持视频播放和拖动操作的播放器模块,还包括覆盖网模块、数据调度模块、缓存模块和web分发模块。
所述的覆盖网模块,包括邻居节点信息管理子模块和邻居节点通信管理子模块。
所述的邻居节点信息管理子模块,用于一个客户端节点管理与维护四个邻居节点列表,四个邻居节点列表包括伙伴节点列表、同码率邻居节点列表、跨码率邻居节点列表、备选邻居节点列表;伙伴节点列表管理同码率覆盖网中具有相同播放分片号的其他客户端节点,伙伴节点数为6-12个,处于斐-幂环状结构的零环上;同码率邻居节点列表管理斐-幂环状结构上的邻居节点,在每个非零环的环上保存2-3个邻居节点;跨码率邻居节点列表管理相邻码率覆盖网层播放分片号相同的客户端节点,每个相邻码率覆盖网层选取2-3个跨码率邻居节点;备选邻居节点列表管理与自己具有邻居节点关系的其他客户端节点,当伙伴节点、同码率邻居节点、跨码率邻居节点数量不够时,客户端节点从备选邻居节点列表中选取相应的邻居节点进入斐-幂环状结构,如果备选邻居节点列表中节点数量也不足,则该客户端节点周期性向自己的邻居节点请求新的邻居节点,或向注册与辅助服务器请求新的邻居节点;伙伴节点列表管理的节点信息包括:邻居节点的IP地址、端口、URL地址、带宽、缓存窗口位图、播放点;同码率邻居节点列表、跨码率邻居节点列表、备选邻居节点列表管理的节点信息包括:邻居节点的IP地址、端口号、URL地址、带宽、播放点。
所述的邻居节点通信管理子模块,用于管理每个客户端节点与自己的邻居节点进行周期性通信,采用UDP协议进行通信;在第一次相互通信时,每个客户端节点与邻居节点之间交换IP地址、端口、URL地址、带宽;在后续周期性通信中,每个客户端节点根据IP地址、端口,基于UDP协议与自己邻居节点进行通信,针对邻居节点类别不同,分别进行处理;针对伙伴节点,每个客户端节点周期性发送自己的缓存窗口位图信息、播放点信息给伙伴节点列表中的每个伙伴节点;针对同码率邻居节点、跨码率邻居节点、候选邻居节点,每个客户端节点周期发送自己的播放点信息给邻居节点;邻居节点根据接收到的信息,更新自己的邻居节点列表信息。
所述的数据调度模块,数据调度模块首先执行自适应码率控制算法,决定客户端节点的播放码率,再执行对等网络流媒体点播的数据调度算法,若客户端节点播放码率发生变化,则数据调度模块通知覆盖网模块搜寻新的邻居节点;当覆盖网模块执行完更新,加入到新的覆盖网之后,覆盖网模块将伙伴节点的信息发送至数据调度模块,数据调度模块根据数据需求以及伙伴节点的信息,执行数据调度算法,确定请求的流媒体分块与伙伴节点的对应关系,该种对应关系提供给web分发模块进一步处理。
所述的缓存模块,用于向播放器模块提供流媒体数据,当web分发模块接收到伙伴节点返回的HTTP响应后,web分发模块取出HTTP响应中的流媒体分块及其索引信息,传递至缓存模块。
所述的缓存模块,包括分片数据管理子模块、缓存位图管理子模块;分片数据管理子模块将接收到的流媒体分块组装成分片,并根据需要将流媒体数据提供给播放器模块和web分发模块;缓存位图管理子模块根据索引信息更新缓存位图信息,并根据索引信息构建和维护三个位图,三个位图包括分片位图、分块位图、缓存窗口位图。
分片位图是指每个流媒体分片按顺序对应一个比特位,分片已被缓存用1表示,未被缓存用0表示;
分块位图是指每个流媒体分块按顺序对应一个比特位,分块已被缓存用1表示,未被缓存用0表示,分块位图的构建依赖于分片位图,当分片位图中分块所在分片对应的比特位为1时,该分片对应的分块位图分配10个比特;当分片位图中分块所在分片对应的比特位为1时,该分片对应的分块位图分配1个比特,其比特位用0表示;
缓存窗口位图,是指以播放分片号为中心,向前、向后两个分片与播放分片构成的5个分片的分块位图,由50个比特构成,分块已被缓存用1表示,未被缓存用0表示。
所述的web分发模块,用于处理HTTP请求的发送、HTTP请求的响应与HTTP响应的接收;HTTP请求的发送是指当数据调度模块确定请求的流媒体分块与伙伴节点的对应关系后,数据调度模块将确定请求的流媒体分块与伙伴节点的对应关系的调度决策信息传输至web分发模块,web分发模块组装调度决策信息与伙伴节点的URL地址,向伙伴节点发出HTTP请求;HTTP请求的响应,是指当一个客户端节点的伙伴节点发送HTTP请求给自己时,该节点的web分发模块解析HTTP请求,从缓存模块中取出对应的流媒体分块,封装成HTTP响应,返回给伙伴节点;HTTP响应的接收,是指当一个客户端节点发出HTTP请求给其伙伴节点后,其伙伴节点返回一个HTTP响应,web分发模块解析HTTP响应,取出流媒体分块、以及对应的索引信息,传输至缓存模块。
一种对等网络自适应流媒体点播系统的服务质量保证方法,包括基于斐-幂环状结构的邻居节点搜索方法和自适应码率控制方法;
所述的基于斐-幂环状结构的邻居节点搜索方法,是当一个客户端节点执行拖动播放点的操作时,该节点在自己的斐-幂环状结构上执行搜索操作,具体步骤如下:
Step001:开始;
Step002:建立一个数组r,保存斐-幂环状结构半径值,数组r的前面6项为斐波拉契数列值,具体值为r[0]=1,r[1]=2,r[2]=3,r[3]=5,r[4]=8,r[5]=13,数组的后面4项为幂次序列值,具体值为:r[6]=16,r[7]=32,r[8]=64,r[9]=128;
Step003:客户端节点的原始播放块号为Ks,计算拖动后播放点所在播放分片号Kd;
Step004:计算拖动距离值dist=|Kd-Ks|,K0=Ks;
Step005:在数组r中,查找与dist值相等的项;如果找到,转到Step016,否则,转到Step006;
Step006:如果拖动距离值dist >= 16,转到步骤Step007;否则,转到步骤Step008;
Step007:在r数组中,从r[9]至r[6]中寻找第一项比dist小的项r[i],转到步骤Step009;
Step008:在r数组中,从r[5]至r[0]中寻找第一项比dist要小的项r[i],转到步骤Step009;
Step009:如果Ks>Kd,转到步骤Step010,否则转到步骤Step012;
Step010:从半径值为r[i]环状上的邻居节点中,选取一个客户端节点pj,其播放块号为K0 - r[i];
Step011:K0=K0 - r[i],转到步骤Step014;
Step012:从半径为r[i]环状上的邻居节点中,选取一个客户端节点pj,其播放块号为K0 + r[i];
Step013:K0 = K0 + r[i],转到步骤Step014;
Step014:获取客户端节点pj的三个邻居节点列表,作为自己的邻居节点列表,即更新斐-幂环状结构;
Step015:dist=|Kd - K0|,转到步骤Step005;
Step016:如果Ks>Kd,转到Step017,否则转到Step018;
Step017:根据dist对应的r[i]值,从半径为r[i]环状上的邻居节点中选取一个播放块号为K0-r[i]的客户端点pj,转到步骤Step019;
Step018:根据dist对应的r[i]值,从半径为r[i]环状上的邻居节点中选取一个播放块号为K0+r[i]的客户端节点pj,转到步骤Step019;
Step019:获取客户端节点pj的三个邻居节点列表,更新自己的邻居节点列表,即更新斐-幂环状结构;
Step020:结束;
所述的自适应码率控制方法,是一个客户端节点根据节点服务质量指标、覆盖网服务质量指标和覆盖网潜在服务质量指标,综合决定是否切换到相邻码率,具体步骤如下:
Step100:开始;
Step101:计算客户端节点pj近三个周期的节点服务质量指标
Figure 575876DEST_PATH_IMAGE002
,存储于qos[0]、qos[1]、qos[2];
Step102:如果j<n,n为正整数,并且qos[0]、qos[1]、qos[2]均不小于0.85,转到步骤Step103,否则转到步骤Step105;
Step103:如果覆盖网i+1服务质量指标QoS_overlayi+1与覆盖网i+1的潜在服务质量指标QoS_overlayFi+1均不小于1,转到步骤Step104,否则转到步骤Step105;
Step104:客户端节点pj的码率可提升到ratei+1,转到步骤108;
Step105:如果qos[0]、qos[1]、qos[2]均小于0.65,并且i>0,转到步骤Step106,否则,转到步骤Step107;
Step106:客户端节点pj的码率可降到ratei-1,转到步骤Step108;
Step107:客户端节点pj的码率为ratei,转到步骤Step108;
Step108:结束。
所述的节点服务质量指标,是一个客户端节点周期性(典型取值20秒)统计自身的节点服务质量指标,一个周期的节点服务质量指标由两个指标衡量:及时到达率指标ARR_on、连续及时到达率指标ARR_con;一个客户端节点pj在周期k的节点服务质量指标,用
Figure 474562DEST_PATH_IMAGE003
表示,其计算公式如下所示:
Figure 830369DEST_PATH_IMAGE004
(1)
公式(1)中,α、β为权值,α+β=1,典型取值,α=0.5,β=0.5;ARR_on k 表示周期k的及时到达率指标;ARR_con k 周期k的连续及时到达率指标;
周期k的及时到达率指标ARR_on k 定义为该周期实际到达的流媒体分块数pieNumArr k 除以该周期应到达的流媒体分块总数pieNumTotal k ,计算公式为:
Figure 574334DEST_PATH_IMAGE005
(2)
周期k的连续及时到达率指标ARR_con k 定义为该周期内从播放点起能连续播放的流媒体分块数piePlayCon i 除以该周期应到达的流媒体分块总数pieNumTotal k ,计算公式为:
Figure 952226DEST_PATH_IMAGE006
(3)。
所述的覆盖网服务质量指标,是指注册与辅助服务器周期性(典型取值10s)地统计一个覆盖网的服务质量,覆盖网服务质量指标由下面的公式进行计算:
Figure 146447DEST_PATH_IMAGE007
(4)
公式(4)中,QoS_overlay i 表示覆盖网i服务质量指标,n i 表示覆盖网i的客户端节点总数,rate i 表示覆盖网i的码率,bw j 表示覆盖网i中客户端节点pj的上传带宽,bwS i 表示服务器用于覆盖网i的可用带宽。
所述的覆盖网潜在服务质量指标,是当一个客户端节点pj准备加入覆盖网i时,覆盖网i的潜在服务质量指标的记号是QoS_overlayF i ,其计算公式如下:
Figure 609789DEST_PATH_IMAGE008
(5)
公式(5)中,QoS_overlayF i 表示覆盖网i的潜在服务质量指标;n i 表示客户端节点pj未加入时覆盖网i的客户端节点总数;rate i 表示覆盖网i的码率;bw j 表示覆盖网i中客户端节点pj的上传带宽;bw_Avail_Smax i 表示服务器在不影响系统性能的情况下,用于覆盖网i的最大可分配带宽。
本发明提供的一种对等网络自适应流媒体点播系统及服务质量保证方法;该系统通过设计一种对等网络多码率覆盖网结构与一种客户端功能模块结构,融合HTTP自适应流媒体技术与对等网络技术,采用HTTP协议传输流媒体数据,既能利用HTTP自适应流媒体技术的优点,又能利用对等网络技术的优点;该系统的服务质量保证方法提出一种基于斐-幂环状结构的邻居节点搜索方法和一种高效搜索邻居节点的方法,其中斐波那契环状结构前6项值比较密集,比较适合于近距离拖动时的搜索;2的幂次环状从2的4次幂开始,两项之间的值差距较大,比较适合远距离拖动时的搜索。仅仅使用2的幂次环状结构,不能很好地支持近距离拖动的搜索;仅仅使用斐波那契环状结构,不能很好地支持远距离拖动的搜索,因此,集成两个环状结构的斐-幂环状结构,能同时高效支持近距离拖动与远距离拖动的搜索;针对流媒体点播服务中对等网络多码率覆盖网情况,提出的一种自适应码率控制方法,能够兼顾局部信息与全局信息,可更好地控制码率调整,保障用户的观看体验。
附图说明
图1为一种自适应流媒体点播网络结构示意图;
图2为一种对等网络多码率覆盖网结构示意图;
图3为一种客户端节点功能模块结构示意图;
图4为一种基于斐-幂环状结构的邻居节点搜索方法的流程图;
图5为一种自适应码率控制方法的流程图。
具体实施方式
下面结合附图和实施例对本发明内容做进一步阐述,但不是对本发明的限定。
一种自适应流媒体点播网络的结构如图1所示,由流媒体服务器、Web服务器、注册与辅助服务器、客户端节点组成。流媒体服务器、web服务器、注册与辅助服务器,都可以用服务器集群实现。自适应点播网络规模随着客户端节点的加入或离开而变化。客户端节点可以随时加入或离开自适应流媒体点播系统,也可以在播放过程中随时拖动播放点。
当一个客户端节点加入自适应流媒体点播网络,它首先和注册与辅助服务器进行通信,根据码率和播放点,获取所需要的邻居节点信息。然后,它与邻居节点通信,获取邻居节点的邻居节点列表信息,构建自己的邻居节点列表,形成斐-幂环状结构,加入覆盖网。
当一个客户端节点离开自适应流媒体点播网络时,它首先向注册与辅助服务器、自己的邻居节点发送离开网络的信息,通知注册与辅助服务器、邻居节点更新自己的邻居节点列表,然后再离开网络。
当一个客户端节点由于断电或故障离开自适应流媒体网络时,注册与辅助服务器以及它的邻居节点,由于没有收到它的周期性广播信息,而知道它已离开自适应点播网络。于是,注册与服务服务器以及它的邻居节点会删除该客户端节点的信息。
当一个客户端节点拖动自己的播放节点时,它会根据播放点和码率,寻找新的邻居节点。为了避免发生拖动操作的所有客户端节点,都向注册与辅助服务器请求邻居节点信息,使得服务器端形成性能瓶颈。每个客户端节点会在覆盖网上搜索邻居节点,无需与注册与辅助服务器通信。高效的邻居节点搜索方法能更快找到邻居节点和所需资源,保障服务质量。
实施例:
假设一个自适应流媒体点播网络有一个流媒体服务器集群、一个web服务器集群、一个注册与辅助服务器集群,有5000个客户端节点播放同一个流媒体资源(即1个视频)。该流媒体资源播放码率分为省流rate0、标清rate1、高清rate2、超清rate3四种。该流媒体资源时长为45分钟,每个码率的流媒体资源按每10秒1个分片,划分为270个分片,每个分片按1秒1块划分为小块,该流媒体资源每个码率都有2700个分块。
一种对等网络自适应流媒体点播系统,包括对等网络多码率覆盖网结构和客户端节点功能模块结构;
如图2所示,一种对等网络多码率覆盖网结构示意图,对等网络多码率覆盖网结构由播放同一流媒体并具有相同码率的所有客户端节点构成一个覆盖网,每个覆盖网具有一个编号。在本实施例中,按照码率由低到高,分别编为覆盖网0(对应省流码率)、覆盖网1(对应标清码率)、覆盖网2(对应高清码率)、覆盖网3(对应超清码率)。相邻码率覆盖网之间可以进行数据共享。
假设覆盖网0上有1000个节点(省流码率),覆盖网1上有1800个节点(标清码率),覆盖网2上有1200个节点(高清码率),覆盖网3上1000个节点(超清码率)。
假设一个客户端节点pj播放码率为标清码率rate1,播放分片号为15。pj位于覆盖网1,在相邻码率的覆盖网0、覆盖网2中,从播放分片号为15的客户端节点中,各随机选取2个节点,一共4个节点作为自己的跨码率邻居节点。
构建斐-幂环状结构:首先,在覆盖网1中,节点pj从播放分片号为15的客户端节点中随机选取6-12个作为自己的伙伴节点,也是处于斐-幂环状结构零环上的邻居节点;然后,在覆盖网1中,节点pj从播放分片号为15
Figure DEST_PATH_IMAGE010
1、15
Figure 767232DEST_PATH_IMAGE010
2、15
Figure 999630DEST_PATH_IMAGE010
3、15
Figure 505698DEST_PATH_IMAGE010
5、15
Figure 49812DEST_PATH_IMAGE010
8、15
Figure 666738DEST_PATH_IMAGE010
13、15+24、15+25、15+26、15+27的客户端节点中,各随机选取两个邻居节点(尽量均匀分布,一前一后),一共有20个节点作为同码率邻居节点,前6项位于斐波那契环状上,后4项位于2的幂次环状上
如图3所示,一种客户端节点功能模块结构示意图,客户端节点功能模块结构包括支持视频播放和拖动操作的播放器模块,还包括覆盖网模块、数据调度模块、缓存模块和web分发模块。
假定所有客户端节点均已安装实现了上述功能模块的客户端软件。下面以前述的节点pj为例说明各个功能模块。
节点pj播放器模块提供流媒体编解码和播放功能,在播放过程中,允许前后拖动、暂停等操作,播放器模块会维护一个播放点的指示变量,可被覆盖网模块和数据调度模块读取。
节点pj的覆盖网模块管理和维护四个邻居节点列表:伙伴节点列表partnerList、同码率邻居节点列表sameNeighList、跨码率邻居节点列表jumpNeighList、备选邻居节点列表candiNeighList。partnerList保存选取的6-12个邻居节点,sameNeighList保存选取的20个邻居节点,jumpNeighList保存选取的4个邻居节点列表。candiNeighList可保存邻居节点的数量最大为40个。节点pj会保存所有邻居节点的IP地址、端口、URL地址、带宽、播放点。对于伙伴节点,更进一步,节点pj会保存所有伙伴节点的缓存窗口位图信息。
节点pj的覆盖网模块会维持与邻居节点的周期性通信。针对伙伴节点,节点pj会将ip地址、端口、播放点、缓存窗口位图、带宽封装在一起,根据伙伴节点的ip地址和端口,基于UDP协议,周期性广播给伙伴节点。针对非伙伴节点的邻居节点,节点pj会将ip地址、端口、播放点、带宽封装在一起,根据这些邻居节点的ip地址和端口,基于UDP协议,周期性广播给邻居节点列表中的这些节点。
节点pj的数据调度模块在本实施例中,首先执行本发明提出的一种自适应码率控制方法,决定播放码率;然后,执行一种稀有片段优先贪心数据调度方法;节点pj的数据调度模块,可以20秒为一个周期,周期性执行。当节点pj的码率上升时,数据调度模块通知覆盖网模块要加入到新的覆盖网,原来节点pj处于标清码率(覆盖网1的播放码率),现在要从覆盖网2(播放高清码率)中寻找新的邻居节点构建自己的四个邻居节点列表。当覆盖网模块更新成功后,覆盖网模块将新的伙伴节点信息<邻居节点ID、缓存窗口位图、播放点>传递给数据调度模块。数据调度模块执行数据调度算法,决定哪些片段向哪些伙伴节点请求,并将调度决策信息发送给web分发模块。
节点pj的缓存模块可以向播放器模块提供流媒体数据,可从web分发模块,接收流媒体分块及其索引信息。缓存模块的主要功能包括:分片数据管理、缓存位图管理。分片数据管理可将接收到的流媒体分块组装成流媒体分片,并根据需要将流媒体数据提供给播放器模块和web分发模块。缓存位图管理根据索引信息,构建和维护三个位图:分片位图segBitMap、分块位图pieBitMap、缓存窗口位图slideBitMap。节点pj所播放的流媒体资源是45分钟,有2700秒,分为270个分片、2700个分块。节点pj的分片位图由270个比特构成,当分片位图的某一位为1时,表示拥有对应的分片数据(有可能缺失某些分块),当分片位图的某一位为0时,表示缺失该分片的所有数据。节点pj的分块位图,是一个变长位图,依据分片位图来创建。当分片位图的某一位为1时,对应该位的分块位图分配10个比特。否则,对应该位的分块位图分配1个比特,且置其值为0。节点pj的分块位图最长由2700个比特构成。缓存窗口位图slideBitMap会取以播放点为中心的5个分片(播放分片及其前后各两个分片)的分块位图,由50个比特构成,分块已被缓存用1表示,未被缓存用0表示。
节点pj的web分发模块可处理HTTP请求的发送、HTTP请求的响应与HTTP响应的接收。处理HTTP请求发送的流程是:当节点pj的数据调度模块完成调度决策后,调度决策信息传给web分发模块,web分发模块组装调度决策信息与伙伴节点的URL地址,向伙伴节点发出HTTP请求。处理HTTP请求响应的流程是:当节点pj的伙伴节点发送HTTP请求给自己时,web分发模块解析HTTP请求,从缓存模块中取出对应的流媒体数据分块,封装成HTTP响应,返回给邻居节点。处理HTTP响应接收的流程是:当节点pj发出HTTP请求给其伙伴节点后,其伙伴节点会返回一个HTTP响应,web分发模块会解析HTTP响应,取出流媒体分块、以及对应的索引信息,传递给缓存模块。
一种对等网络自适应流媒体点播系统的服务质量保证方法,包括基于斐-幂环状结构的邻居节点搜索方法和自适应码率控制方法;
如图4所示为一种基于斐-幂环状结构的邻居节点搜索方法的流程图,在本实施例中,以前述节点pj为例,它已建好斐-幂环状结构,当前播放分片号为15。为了具体说明其实施,假定节点pj会发生近距离拖动或远距离拖动。当节点pj发生拖动时,本发明的一种基于斐-幂环状结构的邻居节点搜索方法就开始执行。
下面针对近距离拖动,叙述本发明的一种基于斐-幂环状结构的邻居节点搜索方法的具体实施。假定前述节点pj在播放过程中,向前拖动到205秒,本发明的一种基于斐-幂环状结构的邻居节点搜索方法具体实施步骤如下:
Step301:开始;
Step302:建立一个数组r,保存斐-幂环状结构半径值,数组r的前面6项为斐波拉契数列值,具体值为r[0]=1, r[1]=2, r[2]=3, r[3]=5, r[4]=8, r[5]=13,数组的后面4项为幂次序列值,具体值为: r[6]=16, r[7]=32, r[8]=64, r[9]=128;
Step303:该节点的原始播放块号Ks=15,计算拖动后播放点所在播放分片号Kd,Kd=[205/10]+1=21;
Step304:计算拖动距离dist=|Kd-Ks|=|21-15|=6,K0=Ks=15;
Step305:在数组r中,查找与dist值相等的项;未找到,转到步骤Step006;
Step306:如果拖动距离dist >= 16,转到步骤Step307;否则,转到步骤 Step308;
Step308:在r数组中,从r[5]至r[0]中寻找第一项比dist要小的项r[i],找到r[3]=5,转到步骤Step309;
Step309:如果Ks>Kd,转到步骤Step310,否则转到步骤Step312;
Step312:从半径为r[3]环状上的邻居节点中选取一个客户端节点pj,其播放块号为K0 + r[3]= 15 + 5 = 20;
Step313:K0 = K0 + r[3] = 20,转到步骤Step314;
Step314:与客户端节点pj通信,获取它的三个邻居节点列表,作为自己的邻居节点列表,即更新斐-幂环状结构;
Step315:dist = |Kd - K0| = |21 - 20| = 1,转到步骤Step305’,进行下一次循环;
Step305’(下次循环条件判断):在数组r中,查找与dist=1相等的项,找到了r[0],转到步骤Step316,跳出循环;
Step316:如果Ks>Kd,转到Step317,否则转到Step318;
Step318:根据dist对应的r[0] = 1值,从半径为r[0]环状上的邻居节点中选取一个客户端节点pj,其播放块号为K0 + r[i] = 20 + r[0] = 21,转到步骤Step319;
Step319:获取客户端节点pj的三个邻居节点列表,更新自己的邻居节点列表,即更新斐-幂环状结构;
Step320:结束;
在上面实施中,节点pj只需要两次与邻居节点通信,就完成邻居节点搜索,重新构建自己的三个邻居节点列表,完成覆盖网重建。
下面针对远距离拖动,叙述本发明的一种基于斐-幂环状结构的邻居节点搜索方法的具体实施。假定前述节点pj在播放过程中,向前拖动到505秒,本发明的一种基于斐-幂环状结构的邻居节点搜索方法具体实施步骤如下:
Step401:开始;
Step402:建立一个数组r,保存斐-幂环状结构半径值,数组r的前面6项为斐波拉契数列值,具体值为r[0]=1, r[1]=2, r[2]=3, r[3]=5, r[4]=8, r[5]=13,数组的后面4项为幂次序列值,具体值为: r[6]=16, r[7]=32, r[8]=64, r[9]=128;
Step403:该节点的原始播放块号Ks=15,计算拖动后播放点所在播放分片号Kd,Kd=[505/10]+1=51;
Step404:计算拖动距离dist = |Kd - Ks| = |51 - 15|=36,K0=Ks=15;
Step405:在数组r中,查找与dist=36相等的项,未找到, 转到步骤Step406;
Step406:如果拖动距离dist >= 16,转到步骤Step407;否则,转到步骤 Step408;
Step407:在r数组中,从r[9]至r[6]中寻找第一项比dist小的项r[i],找到r[7] =32,转到步骤Step409;
Step409:如果Ks > Kd,转到步骤Step410,否则转到步骤Step412;
Step412:从半径为r[7]环状上的邻居节点中选取一个客户端节点pj,其播放块号为K0 + r[7] = 15 + 32 = 47;
Step413:K0 = K0 + r[i] = 47,转到步骤Step414;
Step414:与客户端节点pj通信,获取它的三个邻居节点列表,作为自己的邻居节点列表,即更新斐-幂环状结构;
Step415:dist=|Kd - K0|=|51 - 47|=4,转到步骤Step405’,进行下一次循环;
Step405’(下次循环条件判断):在数组r中,查找与dist=4值相等的项,未找到,继续执行循环体,进入步骤Step406’;
Step406’:如果拖动距离dist >= 16,转到步骤Step407;否则,转到步骤Step408;
Step408’:在r数组中,从r[5]至r[0]中寻找第一项比dist要小的项r[i],找到r[2]=3,转到步骤Step409’;
Step409’:如果Ks>Kd,转到步骤Step010,否则转到步骤Step412’;
Step412’:从半径为r[2]环状上的邻居节点中选取一个客户端节点pj,其播放块号为K0 + r[2] = 47 + 3 = 50;
Step413’:K0 = K0 + r[i] = 50,转到步骤Step414’;
Step414’:与客户端节点pj通信,获取它的三个邻居节点列表,作为自己的邻居节点列表,即更新斐-幂环状结构;
Step415’:dist = |Kd - K0| = |51 - 50|=1,转到步骤Step405’’,进行下一次循环;
Step405” (下次循环条件判断):在数组r中,查找与dist=1相等的项,找到r[0],跳出循环体,转入步骤Step416;
Step416:如果Ks>Kd,转到Step417,否则转到Step418;
Step418:根据dist对应的r[0]值,从半径为r[0]环状上的邻居节点中选取一个客户端节点pj,其播放块号为K0 + r[i] = 50 + r[0] = 51,转到步骤Step419;
Step419:获取客户端节点pj的三个邻居节点列表,更新自己的邻居节点列表,即更新斐-幂环状结构;
Step420:结束。
在上面实施中,节点pj需要三次与邻居节点通信,就完成邻居节点搜索,重新构建自己的三个邻居节点列表,完成覆盖网重建。
如图5所示为一种自适应码率控制方法的流程图,本发明的一种自适应码率控制方法的实施,需要注册与辅助服务器的统计信息辅助。在本实施例中,注册与辅助服务器和客户端节点一样,可以20秒为周期统计服务质量的相关指标。注册与辅助服务器统计各覆盖网的服务质量指标与潜在服务质量指标,并向所有客户端节点周期性广播。每个客户端节点在播放的第三个周期后,统计自身的服务质量指标。根据这些统计信息,本发明的一种自适应码率控制方法得以实施。
假定前述节点pj当前播放分片号为15,当前码率是标清。下面针对提升码率、降低码率、维持码率不变的三种场景说明自适应码率控制方法实施。
下面针对提升码率的场景,叙述本发明的一种自适应码率控制方法的具体实施。假定节点pj近三个周期服务质量指标为0.85、0.88、0.90,覆盖网2服务质量指标为1,覆盖网2潜在服务质量指标为1.1;节点pj在数据调度的每个周期均会执行自适应码率控制方法,具体实施步骤如下:
Step500:开始;
Step501:计算客户端节点pj近三个周期的节点服务质量指标,存储于qos[0]=0.85、qos[1]=0.88、qos[2]=0.90;
Step502:如果i<n,并且qos[0]、qos[1]、qos[2]均不小于0.85,转到步骤Step503,否则转到步骤Step505;
Step503:如果覆盖网i+1服务质量指标QoS_overlayi+1=1与覆盖网i+1的潜在服务质量指标QoS_overlayFi+1=1.2,两个值均不小于1,转到步骤Step504,否则转到步骤Step505;
Step504:客户端节点pj的码率可提升到ratei+1,即提升到高清码率,转到步骤Step108;
Step508:结束;
在上面实施中,节点pj在3个历史周期中服务质量均好,覆盖网服务质量和潜在服务质量好,因此,提升到高清码率。
下面针对降低码率的场景,叙述本发明的一种自适应码率控制方法的具体实施。假定前述客户端节点pj在播放过程中,当前播放分片号为15,当前码率是标清,节点近三个周期服务质量指标为0.62、0.60、0.55,节点pj在数据调度的每个周期均会执行自适应码率控制方法,具体实施步骤如下:
Step600:开始;
Step601:计算客户端节点pj近三个周期的节点服务质量指标,存储于qos[0]=0.62、qos[1]=0.61、qos[2]=0.55;
Step602:如果i<n,并且qos[0]、qos[1]、qos[2]均不小于0.85,转到步骤Step603,否则转到步骤Step605;
Step605:如果qos[0]、qos[1]、qos[2]均小于0.65,并且i>0,转到步骤Step606,否则,转到步骤Step608;
Step606:客户端节点pj的码率可降到ratei-1,转到步骤Step608;
Step608:结束;
在上面实施中,节点pj在3个历史周期中服务质量均不好,因此,降低到省流码率。
下面针对码率不变的场景,叙述本发明的一种自适应码率控制方法的具体实施。假定前述客户端节点pj在播放过程中,当前播放分片号为15,当前码率是标清,节点近三个周期服务质量指标为0.68、0.70、0.85,节点pj在数据调度的每个周期均会执行自适应码率控制方法,具体实施步骤如下:
Step700:开始;
Step701:计算客户端节点pj近三个周期的节点服务质量指标
Figure DEST_PATH_IMAGE012
,存储于qos[0]=0.68、qos[1]=0.70、qos[2]=0.85;
Step702:如果i<n,并且qos[0]、qos[1]、qos[2]均不小于0.85,转到步骤Step703,否则转到步骤Step705;
Step705:如果qos[0]、qos[1]、qos[2]均小于0.65,并且i>0,转到步骤Step706,否则,转到步骤Step707;
Step707:客户端节点pj的码率为ratei,转到步骤Step708;
Step708:结束;
在上面实施中,节点pj在3个历史周期中服务质量还可以,但不是足够好,因此,继续维持标清码率。

Claims (8)

1.一种对等网络自适应流媒体点播系统,其特征在于,包括对等网络多码率覆盖网结构和客户端节点功能模块结构;
所述的对等网络多码率覆盖网结构,是播放同一视频的所有客户端节点,根据播放码率从低到高依次分布到不同的覆盖网,同码率覆盖网的所有客户端节点按斐-幂环状结构组织在一起共享流媒体数据和交换控制信息,相邻码率覆盖网的客户端节点根据播放分片号相同,即播放点所对应的流媒体分片号,构成跨码率邻居节点关系,跨码率邻居节点之间以交换控制信息为主,也能共享流媒体分片;不相邻码率覆盖网的客户端节点之间无信息交互;
所述的客户端节点功能模块结构,包括支持视频播放和拖动操作的播放器模块,还包括覆盖网模块、数据调度模块、缓存模块和web分发模块;
所述的覆盖网模块,包括邻居节点信息管理子模块和邻居节点通信管理子模块;
所述的邻居节点信息管理子模块,用于一个客户端节点管理与维护四个邻居节点列表,四个邻居节点列表包括伙伴节点列表、同码率邻居节点列表、跨码率邻居节点列表、备选邻居节点列表;
所述的邻居节点通信管理子模块,用于管理每个客户端节点与自己的邻居节点进行周期性通信,采用UDP协议进行通信;在第一次相互通信时,每个客户端节点与邻居节点之间交换IP地址、端口、URL地址、带宽;在后续周期性通信中,每个客户端节点根据IP地址、端口,基于UDP协议与自己邻居节点进行通信,针对邻居节点类别不同,分别进行处理;针对伙伴节点,每个客户端节点周期性发送自己的缓存窗口位图信息、播放点信息给伙伴节点列表中的每个伙伴节点;针对同码率邻居节点、跨码率邻居节点、候选邻居节点,每个客户端节点周期发送自己的播放点信息给邻居节点;邻居节点根据接收到的信息,更新自己的邻居节点列表信息;
所述的数据调度模块,数据调度模块首先执行自适应码率控制算法,决定客户端节点的播放码率,再执行对等网络流媒体点播的数据调度算法,若客户端节点播放码率发生变化,则数据调度模块通知覆盖网模块搜寻新的邻居节点;当覆盖网模块执行完更新,加入到新的覆盖网之后,覆盖网模块将伙伴节点的信息发送至数据调度模块,数据调度模块根据数据需求以及伙伴节点的信息,执行数据调度算法,确定请求的流媒体分块与伙伴节点的对应关系,该种对应关系提供给web分发模块进一步处理;
所述的缓存模块,用于向播放器模块提供流媒体数据,当web分发模块接收到伙伴节点返回的HTTP响应后,web分发模块取出HTTP响应中的流媒体分块及其索引信息,传递至缓存模块;
所述的web分发模块,用于处理HTTP请求的发送、HTTP请求的响应与HTTP响应的接收;HTTP请求的发送是指当数据调度模块确定请求的流媒体分块与伙伴节点的对应关系后,数据调度模块将确定请求的流媒体分块与伙伴节点的对应关系的调度决策信息传输至web分发模块,web分发模块组装调度决策信息与伙伴节点的URL地址,向伙伴节点发出HTTP请求;HTTP请求的响应,是指当一个客户端节点的伙伴节点发送HTTP请求给自己时,该节点的web分发模块解析HTTP请求,从缓存模块中取出对应的流媒体分块,封装成HTTP响应,返回给伙伴节点;HTTP响应的接收,是指当一个客户端节点发出HTTP请求给其伙伴节点后,其伙伴节点返回一个HTTP响应,web分发模块解析HTTP响应,取出流媒体分块、以及对应的索引信息,传输至缓存模块。
2.根据权利要求1所述的一种对等网络自适应流媒体点播系统,其特征在于,所述的斐-幂环状结构,是一种集成斐波那契环与2的幂次环的环状结构,在斐-幂环状结构中,一个客户端节点根据其同码率邻居节点的播放分片号与自身播放分片号的差值的绝对值,将其邻居节点组织在零环上或斐波那契序列值前六项为半径的同心圆环上或以2的幂次序列值为半径的同心圆环上;当差值为零时,其邻居节点称为伙伴节点,位于零环上;当差值的绝对值为斐波那契序列值前六项时,其邻居节点在斐波那契环上;当差值的绝对值为2的幂次时,其邻居节点在幂次环上;幂次环半径的最大值取决于视频的长度,两个同码率客户端节点的播放分片号差值的绝对值不为上述值时,不在斐-幂环状结构上。
3.根据权利要求1所述的一种对等网络自适应流媒体点播系统,其特征在于,所述的伙伴节点列表管理同码率覆盖网中具有相同播放分片号的其他客户端节点,伙伴节点数为6-12个,处于斐-幂环状结构的零环上;所述的同码率邻居节点列表管理斐-幂环状结构上的邻居节点,在每个非零环的环上保存2-3个邻居节点;所述的跨码率邻居节点列表管理相邻码率覆盖网层播放分片号相同的客户端节点,每个相邻码率覆盖网层选取2-3个跨码率邻居节点;备选邻居节点列表管理与自己具有邻居节点关系的其他客户端节点,当伙伴节点、同码率邻居节点、跨码率邻居节点数量不够时,客户端节点从备选邻居节点列表中选取相应的邻居节点进入斐-幂环状结构,如果备选邻居节点列表中节点数量也不足,则该客户端节点周期性向自己的邻居节点请求新的邻居节点,或向注册与辅助服务器请求新的邻居节点;所述的伙伴节点列表管理的节点信息包括:邻居节点的IP地址、端口、URL地址、带宽、缓存窗口位图、播放点;同码率邻居节点列表、跨码率邻居节点列表、备选邻居节点列表管理的节点信息包括:邻居节点的IP地址、端口号、URL地址、带宽、播放点。
4.根据权利要求1所述的一种对等网络自适应流媒体点播系统,其特征在于,所述的缓存模块,包括分片数据管理子模块、缓存位图管理子模块;分片数据管理子模块将接收到的流媒体分块组装成分片,并根据需要将流媒体数据提供给播放器模块和web分发模块;缓存位图管理子模块根据索引信息更新缓存位图信息,并根据索引信息构建和维护三个位图,三个位图包括分片位图、分块位图、缓存窗口位图;
分片位图是指每个流媒体分片按顺序对应一个比特位,分片已被缓存用1表示,未被缓存用0表示;
分块位图是指每个流媒体分块按顺序对应一个比特位,分块已被缓存用1表示,未被缓存用0表示,分块位图的构建依赖于分片位图,当分片位图中分块所在分片对应的比特位为1时,该分片对应的分块位图分配10个比特;当分片位图中分块所在分片对应的比特位为1时,该分片对应的分块位图分配1个比特,其比特位用0表示;
缓存窗口位图,是指以播放分片号为中心,向前、向后两个分片与播放分片构成的5个分片的分块位图,由50个比特构成,分块已被缓存用1表示,未被缓存用0表示。
5.一种对等网络自适应流媒体点播系统的服务质量保证方法,其特征在于,包括基于斐-幂环状结构的邻居节点搜索方法和自适应码率控制方法;
所述的基于斐-幂环状结构的邻居节点搜索方法,是当一个客户端节点执行拖动播放点的操作时,该节点在自己的斐-幂环状结构上执行搜索操作,具体步骤如下:
Step001:开始;
Step002:建立一个数组r,保存斐-幂环状结构半径值,数组r的前面6项为斐波拉契数列值,具体值为r[0]=1,r[1]=2,r[2]=3,r[3]=5,r[4]=8,r[5]=13,数组的后面4项为幂次序列值,具体值为:r[6]=16,r[7]=32,r[8]=64,r[9]=128;
Step003:客户端节点的原始播放块号为Ks,计算拖动后播放点所在播放分片号Kd;
Step004:计算拖动距离值dist=|Kd-Ks|,K0=Ks;
Step005:在数组r中,查找与dist值相等的项;如果找到,转到Step016,否则,转到Step006;
Step006:如果拖动距离值dist >= 16,转到步骤Step007;否则,转到步骤Step008;
Step007:在r数组中,从r[9]至r[6]中寻找第一项比dist小的项r[i],转到步骤Step009;
Step008:在r数组中,从r[5]至r[0]中寻找第一项比dist要小的项r[i],转到步骤Step009;
Step009:如果Ks>Kd,转到步骤Step010,否则转到步骤Step012;
Step010:从半径值为r[i]环状上的邻居节点中,选取一个客户端节点pj,其播放块号为K0 - r[i];
Step011:K0=K0 - r[i],转到步骤Step014;
Step012:从半径为r[i]环状上的邻居节点中,选取一个客户端节点pj,其播放块号为K0+ r[i];
Step013:K0 = K0 + r[i],转到步骤Step014;
Step014:获取客户端节点pj的三个邻居节点列表,作为自己的邻居节点列表,即更新斐-幂环状结构;
Step015:dist=|Kd - K0|,转到步骤Step005;
Step016:如果Ks>Kd,转到Step017,否则转到Step018;
Step017:根据dist对应的r[i]值,从半径为r[i]环状上的邻居节点中选取一个播放块号为K0-r[i]的客户端点pj,转到步骤Step019;
Step018:根据dist对应的r[i]值,从半径为r[i]环状上的邻居节点中选取一个播放块号为K0+r[i]的客户端节点pj,转到步骤Step019;
Step019:获取客户端节点pj的三个邻居节点列表,更新自己的邻居节点列表,即更新斐-幂环状结构;
Step020:结束;
所述的自适应码率控制方法,是一个客户端节点根据节点服务质量指标、覆盖网服务质量指标和覆盖网潜在服务质量指标,综合决定是否切换到相邻码率,具体步骤如下:
Step100:开始;
Step101:计算客户端节点pj近三个周期的节点服务质量指标
Figure 708569DEST_PATH_IMAGE001
,存储于qos [0]、qos[1]、qos[2];
Step102:如果j<n,n为正整数,并且qos[0]、qos[1]、qos[2]均不小于0.85,转到步骤Step103,否则转到步骤Step105;
Step103:如果覆盖网i+1服务质量指标QoS_overlayi+1与覆盖网i+1的潜在服务质量指标QoS_overlayFi+1均不小于1,转到步骤Step104,否则转到步骤Step105;
Step104:客户端节点pj的码率可提升到ratei+1,转到步骤108;
Step105:如果qos[0]、qos[1]、qos[2]均小于0.65,并且i>0,转到步骤Step106,否则,转到步骤Step107;
Step106:客户端节点pj的码率可降到ratei-1,转到步骤Step108;
Step107:客户端节点pj的码率为ratei,转到步骤Step108;
Step108:结束。
6.根据权利要求5所述的一种对等网络自适应流媒体点播系统的服务质量保证方法, 其特征在于,所述的节点服务质量指标,是一个客户端节点周期性统计自身的节点服务质 量指标,一个周期的节点服务质量指标由两个指标衡量:及时到达率指标ARR_on、连续及时 到达率指标ARR_con;一个客户端节点pj在周期k的节点服务质量指标,用
Figure 658332DEST_PATH_IMAGE002
表示, 其计算公式如下所示:
Figure 234807DEST_PATH_IMAGE003
(1)
公式(1)中,α、β为权值,α+β=1;ARR_on k 表示周期k的及时到达率指标;ARR_con k 表示周期k的连续及时到达率指标;
周期k的及时到达率指标ARR_on k 定义为该周期实际到达的流媒体分块数pieNumArr k 除以该周期应到达的流媒体分块总数pieNumTotal k ,计算公式为:
Figure 364437DEST_PATH_IMAGE004
(2)
周期k的连续及时到达率指标ARR_con k 定义为该周期内从播放点起能连续播放的流媒体分块数piePlayCon k 除以该周期应到达的流媒体分块总数pieNumTotal k ,计算公式为:
Figure 709968DEST_PATH_IMAGE005
(3)
7.根据权利要求5所述的一种对等网络自适应流媒体点播系统的服务质量保证方法,其特征在于,所述的覆盖网服务质量指标,是指注册与辅助服务器周期性地统计一个覆盖网的服务质量,覆盖网服务质量指标由下面的公式进行计算:
Figure 329168DEST_PATH_IMAGE006
(4)
公式(4)中,QoS_overlay i 表示覆盖网i服务质量指标,n i 表示覆盖网i的客户端节点总数,rate i 表示覆盖网i的码率,bw j 表示覆盖网i中客户端节点pj的上传带宽,bwS i 表示服务器用于覆盖网i的可用带宽。
8.根据权利要求5所述的一种对等网络自适应流媒体点播系统的服务质量保证方法,其特征在于,所述的覆盖网潜在服务质量指标,是当一个客户端节点pj准备加入覆盖网i时,覆盖网i的潜在服务质量指标的记号是QoS_overlayF i ,其计算公式如下:
Figure 330622DEST_PATH_IMAGE007
(5)
公式(5)中,QoS_overlayF i 表示覆盖网i的潜在服务质量指标;n i 表示客户端节点pj未加入时覆盖网i的客户端节点总数;rate i 表示覆盖网i的码率;bw j 表示覆盖网i中客户端节点pj的上传带宽;bw_Avail_Smax i 表示服务器在不影响系统性能的情况下,用于覆盖网i的最大可分配带宽。
CN202010224214.2A 2020-03-26 2020-03-26 一种对等网络自适应流媒体点播系统及服务质量保证方法 Active CN111262886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010224214.2A CN111262886B (zh) 2020-03-26 2020-03-26 一种对等网络自适应流媒体点播系统及服务质量保证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010224214.2A CN111262886B (zh) 2020-03-26 2020-03-26 一种对等网络自适应流媒体点播系统及服务质量保证方法

Publications (2)

Publication Number Publication Date
CN111262886A CN111262886A (zh) 2020-06-09
CN111262886B true CN111262886B (zh) 2020-11-03

Family

ID=70955012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010224214.2A Active CN111262886B (zh) 2020-03-26 2020-03-26 一种对等网络自适应流媒体点播系统及服务质量保证方法

Country Status (1)

Country Link
CN (1) CN111262886B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866730B (zh) * 2020-12-31 2022-09-13 广州博冠信息科技有限公司 流媒体数据传输方法及装置、系统、电子设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN203027293U (zh) * 2012-08-23 2013-06-26 桂林电子科技大学 对等网络流媒体点播服务质量保证系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047406B2 (en) * 2001-03-21 2006-05-16 Qurlo Holdings, Inc. Method and system for providing a secure peer-to-peer file delivery network
CN101562737B (zh) * 2009-05-19 2010-12-29 华中科技大学 一种对等直播系统中多码率调度方法
CN102158767B (zh) * 2010-09-30 2012-11-07 大连理工大学 一种基于可扩展编码的对等网络流媒体直播系统
CN102833163B (zh) * 2012-08-23 2015-03-04 桂林电子科技大学 对等网络流媒体点播服务质量保证方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN203027293U (zh) * 2012-08-23 2013-06-26 桂林电子科技大学 对等网络流媒体点播服务质量保证系统

Also Published As

Publication number Publication date
CN111262886A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
US10659425B2 (en) Network monitoring and control system and method
JP4808925B2 (ja) 固定および移動システムにおいてサーバに多重記述符号化メディアストリームを配布する方法
US11140210B2 (en) Information centric network for content data networks
CN100559776C (zh) 一种流媒体系统
CN101567796B (zh) 一种内容分片的多媒体网络及其业务方法
EP2288085A1 (en) P2p based method, device and system for playing media
JP6606516B2 (ja) 効率的なピア支援ストリーミングのためのキャッシュマニフェスト
EP2290912A1 (en) Content distributing method, service redirecting method and system, node device
CN113453038B (zh) 一种cdn-p2p混合架构下效用最优协同缓存管理方法
CN104427354A (zh) 一种直播媒体共享的方法、流媒体服务器及节点子系统
CN111262886B (zh) 一种对等网络自适应流媒体点播系统及服务质量保证方法
CN104822084A (zh) 基于并发流的p2p实时播放系统快速频道切换方法
Raheel et al. A novel energy-efficient video streaming method for decentralized mobile ad-hoc networks
Dubin et al. Hybrid clustered peer-assisted DASH-SVC system
Alomari et al. A video on demand system architecture for heterogeneous Mobile Ad hoc networks for different devices
CN109246487B (zh) 一种智能调度系统
Yu et al. Self-adaptive schedule mechanism for peer-to-peer multi-rate live streaming system
CN103037017A (zh) 一种p2p数据被动分发方法及节点客户端
Silva et al. Joint content-mobility priority modeling for cached content selection in D2D networks
CN113396597A (zh) 自适应比特率数据广播
US11706469B2 (en) Systems and methods for streaming media content during unavailability of content server
CN115174999B (zh) 基于未来网络的真4k家庭影院5g网络点播系统
EP2913979B1 (en) A method and system to process traffic optimization requests
KR101663282B1 (ko) 클러스터 구성을 이용한 컨텐츠 제공 시스템 및 방법
Zhang et al. Partial overlapping chunk based dual-path transmission: Scheme and modelling

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240403

Address after: 230000 B-1015, wo Yuan Garden, 81 Ganquan Road, Shushan District, Hefei, Anhui.

Patentee after: HEFEI MINGLONG ELECTRONIC TECHNOLOGY Co.,Ltd.

Country or region after: China

Address before: 541004 1 Jinji Road, Guilin, the Guangxi Zhuang Autonomous Region

Patentee before: GUILIN University OF ELECTRONIC TECHNOLOGY

Country or region before: China

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240407

Address after: Building A, 2nd Floor, No. 32, Courtyard 5, Guangshun North Street, Chaoyang District, Beijing, 100020, 2006

Patentee after: Beijing Sihua Laimeng Cultural Technology Co.,Ltd.

Country or region after: China

Address before: 230000 B-1015, wo Yuan Garden, 81 Ganquan Road, Shushan District, Hefei, Anhui.

Patentee before: HEFEI MINGLONG ELECTRONIC TECHNOLOGY Co.,Ltd.

Country or region before: China