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

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

Info

Publication number
CN111262886A
CN111262886A CN202010224214.2A CN202010224214A CN111262886A CN 111262886 A CN111262886 A CN 111262886A CN 202010224214 A CN202010224214 A CN 202010224214A CN 111262886 A CN111262886 A CN 111262886A
Authority
CN
China
Prior art keywords
node
neighbor
client
streaming media
nodes
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.)
Granted
Application number
CN202010224214.2A
Other languages
English (en)
Other versions
CN111262886B (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:计算拖动后播放点所在播放分片号Kd;
Step003:建立一个数组r,依次保存斐-幂环状结构半径值,具体值为r[0]-1, r[1]-2,r[2]-3,r[3]-4,r[4]-5,r[5]-8,r[6]-13,r[7]-16,r[8]-32,r[9]-64,…;
Step004:计算拖动距离dist=|Kd-Ks|,K0=Ks;//Ks为原播放分片号;
Step005:在数组r中,查找dist,如果未找到,转到步骤Step006,否则, 转到Step016;
Step006:如果拖动距离dist>=16,转到步骤Step007;否则,转到步骤Step008;
Step007:在r数组中,从后往前寻找第一项比dist小的项r[i],转到步骤Step009;
Step008:在r数组中,从r[6]至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]环状上的邻居节点中选取一 个邻居节点pi,其播放块号为K0-r[i],转到步骤Step019;
Step018:根据dist对应的r[i]值,从半径为r[i]环状上的邻居节点中选取一 个客户端节点pj,其播放块号为K0+r[i],转到步骤Step019;
Step019:获取客户端节点pi的三个邻居节点列表,更新自己的邻居节点列 表,即更新斐-幂环状结构;
Step020:结束;
所述的自适应码率控制方法,是一个客户端节点根据节点服务质量指标、覆 盖网服务质量指标和覆盖网潜在服务质量指标,综合决定是否切换到相邻码率, 具体步骤如下:
Step100:开始;
Step101:计算客户端节点j近三个周期的节点服务质量指标QoSpeerij,存储 于qos[0]、qos[1]、qos[2];
Step102:如果i<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:客户端节点j的码率可提升到ratei+1,转到步骤108;
Step105:如果qos[0]、qos[1]、qos[2]均小于0.65,并且i>0,转到步骤Step106,否则,转到步骤Step107;
Step106:客户端节点j的码率可降到ratei-1,转到步骤Step108;
Step107:客户端节点j的码率为ratei,转到步骤Step108;
Step108:结束。
所述的节点服务质量指标,是一个客户端节点周期性(典型取值20秒)统 计自身的节点服务质量指标,一个周期的节点服务质量指标由两个指标衡量:及 时到达率指标ARR_on、连续及时到达指标ARR_con;一个客户端节点j在周期 i的节点服务质量指标,用QoSpeerij表示,其计算公式如下所示:
QoSpeerij=α×ARR_oni+β×ARR_coni (1)
公式(1)中,α、β为权值,α+β=1,典型取值,α=0.5,β=0.5;ARR_oni表 示周期i的及时到达率指标;ARR_coni表示周期i的连续及时到达指标;
所述的及时到达率指标,是一个周期i的及时到达率指标ARR_oni定义为该 周期实际到达的流媒体分块数pieNumArri除以该周期应到达的流媒体分块总数 pieNumTotali,计算公式为:
Figure BDA0002427107480000081
所述的连续及时到达率指标,是一个周期i的连续及时到达率指标ARR_coni定义为该周期内从播放点起能连续播放的流媒体分块数piePlayConi除以该周期 应到达的流媒体分块总数pieNumTotali,计算公式为:
Figure BDA0002427107480000082
所述的覆盖网服务质量指标,是指注册与辅助服务器周期性(典型取值10s) 地统计一个覆盖网的服务质量,覆盖网服务质量指标由下面的公式进行计算:
Figure BDA0002427107480000083
公式(4)中,QoS_overlayi表示覆盖网i服务质量指标,ni表示覆盖网i的 客户端节点总数,ratei表示覆盖网i的码率,bwj表示覆盖网i中客户端节点j的 上传带宽,bwSi表示服务器用于覆盖网i的可用带宽。
所述的覆盖网潜在服务质量指标,是当一个客户端节点Peerx准备加入覆盖 网i时,覆盖网i的潜在服务质量指标的记号是QoS_overlayFi,其计算公式如下:
Figure BDA0002427107480000091
公式(5)中,QoS_overlayFi表示覆盖网i的潜在服务质量指标;ni表示节 点Peerx未加入时覆盖网i的客户端节点总数;ratei表示覆盖网i的码率;bwj表示覆盖网i中客户端节点j的上传带宽;bw_Avail_Smaxi表示服务器在不影响 系统性能的情况下,用于覆盖网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个节点(超 清码率)。
假设一个客户端节点Peer_j播放码率为标清码率rate1,播放分片号为15。 Peer_j位于覆盖网1,在相邻码率的覆盖网0、覆盖网2中,从播放分片号为15 的客户端节点中,各随机选取2个节点,一共4个节点作为自己的跨码率邻居节 点。
构建斐-幂环状结构:首先,在覆盖网1中,节点Peer_j从播放分片号为15 的客户端节点中随机选取6-12个作为自己的伙伴节点,也是处于斐-幂环状结构 零环上的邻居节点;然后,在覆盖网1中,节点Peer_j从播放分片号为15±1、 15±2、15±3、15±5、15±8、15±13、15+24、15+25、15+26、15+27的客户端节 点中,各随机选取两个邻居节点(尽量均匀分布,一前一后),一共有20个节点 作为同码率邻居节点,前6项位于斐波那契环状上,后4项位于2的幂次环状上
如图3所示,一种客户端节点功能模块结构示意图,客户端节点功能模块结 构包括支持视频播放和拖动操作的播放器模块,还包括覆盖网模块、数据调度模 块、缓存模块和web分发模块。
假定所有客户端节点均已安装实现了上述功能模块的客户端软件。下面以前 述的节点Peer_j为例说明各个功能模块。
节点Peer_j播放器模块提供流媒体编解码和播放功能,在播放过程中,允许 前后拖动、暂停等操作,播放器模块会维护一个播放点的指示变量,可被覆盖网 模块和数据调度模块读取。
节点Peer_j的覆盖网模块管理和维护四个邻居节点列表:伙伴邻居节点列表partnerList、同码率邻居节点列表sameNeighList、跨码率邻居节点列表 jumpNeighList、备选邻居节点列表candiNeighList。partnerList保存选取的6-12 个邻居节点,sameNeighList保存选取的20个邻居节点,jumpNeighList保存选 取的4个邻居节点列表。candiNeighList可保存邻居节点的数量最大为40个。节 点Peer_j会保存所有邻居节点的IP地址、端口、URL地址、带宽、播放点。对 于伙伴邻居节点,更进一步,节点Peer_j会保存所有伙伴节点的缓存窗口位图信 息。
节点Peer_j的覆盖网模块会维持与邻居节点的周期性通信。针对伙伴节点, 节点Peer_j会将ip地址、端口、播放点、缓存窗口位图、带宽封装在一起,根 据伙伴节点的ip地址和端口,基于UDP协议,周期性广播给伙伴节点。针对非 伙伴节点的邻居节点,节点Peer_j会将ip地址、端口、播放点、带宽封装在一 起,根据这些邻居节点的ip地址和端口,基于UDP协议,周期性广播给邻居节 点列表中的这些节点。
节点Peer_j的数据调度模块在本实施例中,首先执行本发明提出的一种自适 应码率控制方法,决定播放码率;然后,执行一种稀有片段优先贪心数据调度方 法;节点Peer_j的数据调度模块,可以20秒为一个周期,周期性执行。当节点 Peer_j的码率上升时,数据调度模块通知覆盖网模块要加入到新的覆盖网,原来 节点Peer_j处于标清码率(覆盖网1的播放码率),现在要从覆盖网2(播放高清 码率)中寻找新的邻居节点构建自己的四个邻居节点列表。当覆盖网模块更新成 功后,覆盖网模块将新的伙伴节点信息<邻居节点ID、缓存窗口位图、播放点> 传递给数据调度模块。数据调度模块执行数据调度算法,决定哪些片段向哪些伙 伴节点请求,并将调度决策信息发送给web分发模块。
节点Peer_j的缓存模块可以向播放器模块提供流媒体数据,可从web分发模 块,接收流媒体分块及其索引信息。缓存模块的主要功能包括:分片数据管理、 缓存位图管理。分片数据管理可将接收到的流媒体分块组装成流媒体分片,并根 据需要将流媒体数据提供给播放器模块和web分发模块。缓存位图管理根据索 引信息,构建和维护三个位图:分片位图segBitMap、分块位图pieBitMap、缓 存窗口位图slideBitMap。节点Peer_j所播放的流媒体资源是45分钟,有2700 秒,分为270个分片、2700个分块。节点Peer_j的分片位图由270个比特构成, 当分片位图的某一位为1时,表示拥有对应的分片数据(有可能缺失某些分块), 当分片位图的某一位为0时,表示缺失该分片的所有数据。节点Peer_j的分块位 图,是一个变长位图,依据分片位图来创建。当分片位图的某一位为1时,对应 该位的分块位图分配10个比特。否则,对应该位的分块位图分配1个比特,且 置其值为0。节点Peer_j的分块位图最长由2700个比特构成。缓存窗口位图 slideBitMap会取以播放点为中心的5个分片(播放分片及其前后各两个分片) 的分块位图,由50个比特构成,分块已被缓存用1表示,未被缓存用0表示。
节点Peer_j的web分发模块可处理HTTP请求的发送、HTTP请求的响应与 HTTP响应的接收。处理HTTP请求发送的流程是:当节点Peer_j的数据调度模 块完成调度决策后,调度决策信息传给web分发模块,web分发模块组装调度决 策信息与伙伴节点的URL地址,向伙伴节点发出HTTP请求。处理HTTP请求 响应的流程是:当节点Peer_j的伙伴节点发送HTTP请求给自己时,web分发模 块解析HTTP请求,从缓存模块中取出对应的流媒体数据分块,封装成HTTP响 应,返回给邻居节点。处理HTTP响应接收的流程是:当节点Peer_j发出HTTP 请求给其伙伴节点后,其伙伴节点会返回一个HTTP响应,web分发模块会解析 HTTP响应,取出流媒体分块、以及对应的索引信息,传递给缓存模块。
一种对等网络自适应流媒体点播系统的服务质量保证方法,包括基于斐-幂环 状结构的邻居节点搜索方法和自适应码率控制方法;
如图4所示为一种基于斐-幂环状结构的邻居节点搜索方法的流程图,在本实 施例中,以前述节点Peer_j为例,它已建好斐-幂环状结构,当前播放分片号为 15。为了具体说明其实施,假定节点Peer_j会发生近距离拖动或远距离拖动。当 节点Peer_j发生拖动时,本发明的一种基于斐-幂环状结构的邻居节点搜索方法 就开始执行。
下面针对近距离拖动,叙述本发明的一种基于斐-幂环状结构的邻居节点搜索 方法的具体实施。假定前述节点Peer_j在播放过程中,向前拖动到205秒,本发 明的一种基于斐-幂环状结构的邻居节点搜索方法具体实施步骤如下:
Step301:开始;
Step302:计算拖动后播放点所在播放分片号Kd,Kd=[205/10]+1=21;
Step303:建立一个数组r,依次保存斐-幂环状结构半径值,具体值为,r[0]-1, r[1]-2,r[2]-3,r[3]-4,r[4]-5,r[5]-8,r[6]-13,r[7]-16,r[8]-32,r[9]-64,r[10]-128;
Step304:计算拖动距离dist=|Kd-Ks|=|21-15|=6,K0=Ks=15;
Step305:在数组r中,查找dist=6,未找到,转到步骤Step006;
Step306:如果拖动距离dist>=16,转到步骤Step307;否则,转到步骤 Step308;
Step308:在r数组中,从r[6]至r[0]中寻找第一项比dist要小的项r[i],找到 i=4,转到步骤Step309;
Step309:如果(Ks>Kd),转到步骤Step310,否则转到步骤Step312;
Step312:从半径为r[4]环状上的邻居节点中选取一个客户端节点pj,其播放 块号为K0+r[i]=20;
Step313:K0=K0+r[i]=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]值,从半径为r[0]环状上的邻居节点中选取一 个客户端节点pj,其播放块号为K0+r[i]=20+r[1]=21,转到步骤Step319;
Step319:获取客户端节点pi的三个邻居节点列表,更新自己的邻居节点列 表,即更新斐-幂环状结构;
Step320:结束;
在上面实施中,节点Peer_j只需要两次与邻居节点通信,就完成邻居节点搜 索,重新构建自己的三个邻居节点列表,完成覆盖网重建。
下面针对远距离拖动,叙述本发明的一种基于斐-幂环状结构的邻居节点搜索 方法的具体实施。假定前述节点Peer_j在播放过程中,向前拖动到505秒,本发 明的一种基于斐-幂环状结构的邻居节点搜索方法具体实施步骤如下:
Step401:开始;
Step402:计算拖动后播放点所在播放分片号Kd,Kd=[505/10]+1=51;
Step403:建立一个数组r,依次保存斐-幂环状结构半径值,具体值为,r[0]-1, r[1]-2,r[2]-3,r[3]-4,r[4]-5,r[5]-8,r[6]-13,r[7]-16,r[8]-32,r[9]-64,r[10]-128;
Step404:计算拖动距离dist=|Kd-Ks|=|51-15|=36,K0=Ks=15;
Step405:在数组r中,查找dist=36,未找到,转到步骤Step406;
Step406:如果拖动距离dist>=16,转到步骤Step407;否则,转到步骤 Step408;
Step407:在r数组中,从后往前寻找第一项比dist小的项r[i],找到i=8, 转到步骤Step409;
Step409:如果(Ks>Kd),转到步骤Step410,否则转到步骤Step412;
Step412:从半径为r[8]环状上的邻居节点中选取一个客户端节点pj,其播放 块号为K0+r[i]=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[6]至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,找到,跳出循环 体,转入步骤Step416;
Step416:如果(Ks>Kd),转到Step417,否则转到Step418;
Step418:根据dist对应的r[0]值,从半径为r[0]环状上的邻居节点中选取一 个客户端节点pj,其播放块号为K0+r[i]=50+r[0]=51,转到步骤Step419;
Step419:获取客户端节点pi的三个邻居节点列表,更新自己的邻居节点列 表,即更新斐-幂环状结构;
Step420:结束。
在上面实施中,节点Peer_j需要三次与邻居节点通信,就完成邻居节点搜索, 重新构建自己的三个邻居节点列表,完成覆盖网重建。
如图5所示为一种自适应码率控制方法的流程图,本发明的一种自适应码率 控制方法的实施,需要注册与辅助服务器的统计信息辅助。在本实施例中,注册 与辅助服务器和客户端节点一样,可以20秒为周期统计服务质量的相关指标。 注册与辅助服务器统计各覆盖网的服务质量指标与潜在服务质量指标,并向所有 客户端节点周期性广播。每个客户端节点在播放的第三个周期后,统计自身的服 务质量指标。根据这些统计信息,本发明的一种自适应码率控制方法得以实施。
假定前述节点Peer_j当前播放分片号为15,当前码率是标清。下面针对提升 码率、降低码率、维持码率不变的三种场景说明自适应码率控制方法实施。
下面针对提升码率的场景,叙述本发明的一种自适应码率控制方法的具体实 施。假定节点Peer_j近三个周期服务质量指标为0.85、0.88、0.90,覆盖网2服 务质量指标为1,覆盖网2潜在服务质量指标为1.1;节点Peer_j在数据调度的 每个周期均会执行自适应码率控制方法,具体实施步骤如下:
Step500:开始;
Step501:计算客户端节点j近三个周期的节点服务质量指标,存储于 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:客户端节点j的码率可提升到ratei+1,即提升到高清码率,转到步 骤Step108;
Step508:结束;
在上面实施中,节点Peer_j在3个历史周期中服务质量均好,覆盖网服务质 量和潜在服务质量好,因此,提升到高清码率。
下面针对降低码率的场景,叙述本发明的一种自适应码率控制方法的具体实 施。假定前述客户端节点Peer_j在播放过程中,当前播放分片号为15,当前码 率是标清,节点近三个周期服务质量指标为0.62、0.60、0.55,节点Peer_j在数 据调度的每个周期均会执行自适应码率控制方法,具体实施步骤如下:
Step600:开始;
Step601:计算客户端节点j近三个周期的节点服务质量指标,存储于 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:客户端节点j的码率可降到ratei-1,转到步骤Step608;
Step608:结束;
在上面实施中,节点Peer_j在3个历史周期中服务质量均不好,因此,降低 到省流码率。
下面针对码率不变的场景,叙述本发明的一种自适应码率控制方法的具体实 施。假定前述客户端节点Peer_j在播放过程中,当前播放分片号为15,当前码 率是标清,节点近三个周期服务质量指标为0.68、0.70、0.85,节点Peer_j在数 据调度的每个周期均会执行自适应码率控制方法,具体实施步骤如下:
Step700:开始;
Step701:计算客户端节点j近三个周期的节点服务质量指标QoSpeerij,存储 于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:客户端节点j的码率为ratei,转到步骤Step708;
Step708:结束;
在上面实施中,节点Peer_j在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:计算拖动后播放点所在播放分片号Kd;
Step003:建立一个数组r,依次保存斐-幂环状结构半径值,具体值为r[0]-1,r[1]-2,r[2]-3,r[3]-4,r[4]-5,r[5]-8,r[6]-13,r[7]-16,r[8]-32,r[9]-64,…;
Step004:计算拖动距离dist=|Kd-Ks|,K0=Ks;//Ks为原播放分片号;
Step005:在数组r中,查找dist,如果未找到,转到步骤Step006,否则,转到Step 016;
Step006:如果拖动距离dist>=16,转到步骤Step007;否则,转到步骤Step008;
Step007:在r数组中,从后往前寻找第一项比dist小的项r[i],转到步骤Step009;
Step008:在r数组中,从r[6]至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]环状上的邻居节点中选取一个邻居节点pi,其播放块号为K0-r[i],转到步骤Step019;
Step018:根据dist对应的r[i]值,从半径为r[i]环状上的邻居节点中选取一个客户端节点pj,其播放块号为K0+r[i],转到步骤Step019;
Step019:获取客户端节点pi的三个邻居节点列表,更新自己的邻居节点列表,即更新斐-幂环状结构;
Step020:结束;
所述的自适应码率控制方法,是一个客户端节点根据节点服务质量指标、覆盖网服务质量指标和覆盖网潜在服务质量指标,综合决定是否切换到相邻码率,具体步骤如下:
Step100:开始;
Step101:计算客户端节点j近三个周期的节点服务质量指标
Figure FDA0002427107470000051
存储于qos[0]、qos[1]、qos[2];
Step102:如果i<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:客户端节点j的码率可提升到ratei+1,转到步骤108;
Step105:如果qos[0]、qos[1]、qos[2]均小于0.65,并且i>0,转到步骤Step106,否则,转到步骤Step107;
Step106:客户端节点j的码率可降到ratei-1,转到步骤Step108;
Step107:客户端节点j的码率为ratei,转到步骤Step108;
Step108:结束。
6.根据权利要求5所述的一种对等网络自适应流媒体点播系统的服务质量保证方法,其特征在于,所述的节点服务质量指标,是一个客户端节点周期性统计自身的节点服务质量指标,一个周期的节点服务质量指标由两个指标衡量:及时到达率指标ARR_on、连续及时到达指标ARR_con;一个客户端节点j在周期i的节点服务质量指标,用
Figure FDA0002427107470000052
表示,其计算公式如下所示:
Figure FDA0002427107470000053
公式(1)中,α、β为权值,α+β=1;ARR_oni表示周期i的及时到达率指标;ARR_coni表示周期i的连续及时到达指标;
所述的及时到达率指标,是一个周期i的及时到达率指标ARR_oni定义为该周期实际到达的流媒体分块数pieNumArri除以该周期应到达的流媒体分块总数pieNumTotali,计算公式为:
Figure FDA0002427107470000061
所述的连续及时到达率指标,是一个周期i的连续及时到达率指标ARR_coni定义为该周期内从播放点起能连续播放的流媒体分块数piePlayConi除以该周期应到达的流媒体分块总数pieNumTotali,计算公式为:
Figure FDA0002427107470000062
7.根据权利要求5所述的一种对等网络自适应流媒体点播系统的服务质量保证方法,其特征在于,所述的覆盖网服务质量指标,是指注册与辅助服务器周期性地统计一个覆盖网的服务质量,覆盖网服务质量指标由下面的公式进行计算:
Figure FDA0002427107470000063
公式(4)中,QoS_overlayi表示覆盖网i服务质量指标,ni表示覆盖网i的客户端节点总数,ratei表示覆盖网i的码率,bwj表示覆盖网i中客户端节点j的上传带宽,bwSi表示服务器用于覆盖网i的可用带宽。
8.根据权利要求5所述的一种对等网络自适应流媒体点播系统的服务质量保证方法,其特征在于,所述的覆盖网潜在服务质量指标,是当一个客户端节点Peerx准备加入覆盖网i时,覆盖网i的潜在服务质量指标的记号是QoS_overlayFi,其计算公式如下:
Figure FDA0002427107470000064
公式(5)中,QoS_overlayFi表示覆盖网i的潜在服务质量指标;ni表示节点Peerx未加入时覆盖网i的客户端节点总数;ratei表示覆盖网i的码率;bwj表示覆盖网i中客户端节点j的上传带宽;bw_Avail_Smaxi表示服务器在不影响系统性能的情况下,用于覆盖网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 true CN111262886A (zh) 2020-06-09
CN111262886B 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)

Cited By (1)

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

Citations (5)

* 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
CN101562737A (zh) * 2009-05-19 2009-10-21 华中科技大学 一种对等直播系统中多码率调度方法
CN102158767A (zh) * 2010-09-30 2011-08-17 大连理工大学 一种基于可扩展编码的对等网络流媒体直播系统
CN102833163A (zh) * 2012-08-23 2012-12-19 桂林电子科技大学 对等网络流媒体点播服务质量保证方法及系统
CN203027293U (zh) * 2012-08-23 2013-06-26 桂林电子科技大学 对等网络流媒体点播服务质量保证系统

Patent Citations (5)

* 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
CN101562737A (zh) * 2009-05-19 2009-10-21 华中科技大学 一种对等直播系统中多码率调度方法
CN102158767A (zh) * 2010-09-30 2011-08-17 大连理工大学 一种基于可扩展编码的对等网络流媒体直播系统
CN102833163A (zh) * 2012-08-23 2012-12-19 桂林电子科技大学 对等网络流媒体点播服务质量保证方法及系统
CN203027293U (zh) * 2012-08-23 2013-06-26 桂林电子科技大学 对等网络流媒体点播服务质量保证系统

Cited By (2)

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

Also Published As

Publication number Publication date
CN111262886B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
US10659425B2 (en) Network monitoring and control system and method
US11140210B2 (en) Information centric network for content data networks
US9037657B2 (en) Systems and methods for peer-to-peer bandwidth allocation
US9432452B2 (en) Systems and methods for dynamic networked peer-to-peer content distribution
EP2288085A1 (en) P2p based method, device and system for playing media
EP2290912A1 (en) Content distributing method, service redirecting method and system, node device
US20090106441A1 (en) Methods for high bandwidth utilization by a distributed storage system
CN101567796B (zh) 一种内容分片的多媒体网络及其业务方法
CN113453038B (zh) 一种cdn-p2p混合架构下效用最优协同缓存管理方法
KR20110119229A (ko) 고화질 미디어 방송을 위한 피투피 라이브 스트리밍 시스템 및 방법
US20160381127A1 (en) Systems and methods for dynamic networked peer-to-peer content distribution
Ghaffari Sheshjavani et al. An adaptive buffer-map exchange mechanism for pull-based peer-to-peer video-on-demand streaming systems
CN111262886B (zh) 一种对等网络自适应流媒体点播系统及服务质量保证方法
Shehab et al. Efficient schemes for playout latency reduction in P2P-VoD systems
CN104822084A (zh) 基于并发流的p2p实时播放系统快速频道切换方法
Wang et al. PLVER: Joint stable allocation and content replication for edge-assisted live video delivery
Detti et al. Tracker-assisted rate adaptation for MPEG DASH live streaming
CN107113332A (zh) 媒体客户端稳定状态的服务器侧预测
Liang et al. Adjustable Two‐Tier Cache for IPTV Based on Segmented Streaming
Zhang et al. Video on-demand streaming on the internet—a survey
Dubin et al. Hybrid clustered peer-assisted DASH-SVC system
Tian et al. A novel caching mechanism for peer-to-peer based media-on-demand streaming
Yu et al. Self-adaptive schedule mechanism for peer-to-peer multi-rate live streaming system
CN109246487B (zh) 一种智能调度系统
Silva et al. Joint content-mobility priority modeling for cached content selection in D2D networks

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

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

TR01 Transfer of patent right