CN110430440B - 视频传输方法、系统、计算机设备和存储介质 - Google Patents

视频传输方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN110430440B
CN110430440B CN201910530061.1A CN201910530061A CN110430440B CN 110430440 B CN110430440 B CN 110430440B CN 201910530061 A CN201910530061 A CN 201910530061A CN 110430440 B CN110430440 B CN 110430440B
Authority
CN
China
Prior art keywords
video data
video
qoe
cache
edge server
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
CN201910530061.1A
Other languages
English (en)
Other versions
CN110430440A (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.)
Southwest University of Science and Technology
Peng Cheng Laboratory
Original Assignee
Southwest University of Science and Technology
Peng Cheng Laboratory
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 Southwest University of Science and Technology, Peng Cheng Laboratory filed Critical Southwest University of Science and Technology
Priority to CN201910530061.1A priority Critical patent/CN110430440B/zh
Publication of CN110430440A publication Critical patent/CN110430440A/zh
Priority to PCT/CN2020/096239 priority patent/WO2020253664A1/zh
Application granted granted Critical
Publication of CN110430440B publication Critical patent/CN110430440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • 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/643Communication protocols
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请涉及一种视频传输方法、系统、计算机设备和存储介质,利用边缘服务器预先将流行度较高的视频进行预取和缓存,这样在客户端请求视频时,边缘服务器可以高效的将对应的视频输出给客户端,极大地提高了视频传输性能、效率。

Description

视频传输方法、系统、计算机设备和存储介质
技术领域
本申请涉及计算机网络技术领域,特别是涉及一种视频传输方法、系统、计算机设备和存储介质。
背景技术
基于超文本传输协议(HyperText Transfer Protocol,HTTP)的动态自适应流技术(Dynamic Adaptive Streaming over HTTP,DASH)因其灵活性和可压缩性而得到广泛的应用,这一传输方式能够提高视频传输的带宽利用率,从而提升用户体验。
通常在DASH的传输模式下,客户端基于视频块序列请求内容并在本地采用码率自适应算法,根据网络实时状态自适应选择最合适码率,根据当前网络条件自动调整下载和播放方案,以避免播放卡顿或重新缓冲事件,从而提高网络的整体传输效率,无缝地适应不断变化的网络并提供高质量的播放体验,使得网络视频播放更为流畅。
但是,现有技术中采用DASH技术,视频传输仍存在性能和效率较低的技术问题。
发明内容
基于此,有必要针对上述现有技术中采用DASH技术,视频传输仍存在性能和效率较低的技术问题,提供一种视频传输方法、系统、计算机设备和存储介质。
第一方面,本申请实施例提供一种视频传输方法,该方法包括:
边缘服务器接收客户端发送的请求信号,提取请求信号的特征信息;请求信号用于指示获取待请求视频数据;
边缘服务器根据请求信号的特征信息,从本地数据库中查找待请求视频数据;本地数据库中存储了预取视频和缓存视频;
边缘服务器将待请求视频数据传输至客户端。
在其中一个实施例中,上述方法还包括:
边缘服务器根据请求信号的特征信息,预测当前的视频体验质量QOE增益值;
边缘服务器根据当前的视频QOE增益值和请求信号的特征信息进行视频数据的预取管理和缓存管理。
在其中一个实施例中,上述边缘服务器包括QOE增益预测器;
则边缘服务器根据请求信号的特征信息,预测当前的视频QOE增益值,包括:
QOE增益预测器根据请求信号的特征信息,预测待请求视频数据的缓存命中吞吐量和缓存未命中吞吐量;
QOE增益预测器根据缓存命中吞吐量和缓存未命中吞吐量,预测当前的视频QOE增益值。
在其中一个实施例中,上述QOE增益预测器根据缓存命中吞吐量和缓存未命中吞吐量,预测当前的QOE增益值,包括:
QOE增益预测器采用预设的神经网络模型,分别预测缓存命中吞吐量对应的QOE值和缓存未命中吞吐量对应的QOE值;
QOE增益预测器将缓存命中吞吐量对应的QOE值与缓存未命中吞吐量对应的QOE值之间的差值,确定为当前的QOE增益值。
在其中一个实施例中,上述边缘服务器根据当前的视频QOE增益值和请求信号的特征信息进行视频数据的预取和缓存,包括:
边缘服务器根据当前的视频QOE增益值对待请求视频数据进行缓存管理,和根据当前的视频QOE增益值和请求信号的特征信息对待请求视频数据的关联视频数据进行预取管理。
在其中一个实施例中,上述边缘服务器包括缓存管理器;
则边缘服务器根据当前的视频QOE增益值对待请求的视频数据进行缓存管理,包括:
缓存管理器获取多个前半个缓存周期内所有待请求视频数据的QOE增益累计值;
缓存管理器对各待请求视频数据的QOE增益累计值进行从高到底进行排序,并依照从高到底的顺序将QOE增益累计值对应的待请求视频数据进行缓存,直至缓存管理器存满。
在其中一个实施例中,上述边缘服务器包括预取管理器;
则边缘服务器根据当前的视频QOE增益值和请求信号的特征信息对待请求视频数据的关联视频数据进行预取管理,包括:
预取管理器根据请求信号的特征信息,获取多个与待请求视频数据的关联视频数据;
预取管理器预测在当前预取周期内,可以预取的关联视频数据的最大效益值;
预取管理器根据关联视频数据的最大效益值、当前的视频QOE增益值、各关联视频数据,对关联视频数据进行预取管理。
在其中一个实施例中,上述预取管理器根据关联视频数据的最大效益值、当前的视频QOE增益值、各关联视频数据,对关联视频数据进行预取管理,包括:
预取管理器根据关联视频数据的最大效益值、当前的视频QOE增益值确定待预取的视频数据;
预取管理器向源服务器发送携带待预取的视频数据的预取请求;
预取管理器接收源服务器回传的待预取的视频数据,并存储待预取的视频数据。
第二方面,本申请实施例提供一种视频传输方法,该方法包括:
客户端发送请求信号至源服务器;请求信号用于指示获取待请求视频数据;
客户端接收待请求视频数据;待请求数据为边缘服务器根据源服务器重定向的请求信号回传的。
第三方面,本申请实施例提供一种视频传输系统,应用于上述第一方面和第二方面实施例提供的视频传输方法,该系统包括:客户端、边缘服务器和源服务器;
客户端,用于执行第二方面实施例提供的方法步骤;
源服务器,用于重定向请求信号至边缘服务器;或者,在待请求视频数据未存储在边缘服务器时,向客户端发送待请求视频数据;
边缘服务器用于执行第一方面实施例提供任一项的方法步骤。
在其中一个实施例中,上述边缘服务器包括:请求收集器、QoE增益预测器、缓存管理器和预取管理器;
请求收集器,用于收集和分析客户端发送的请求信号,并将请求信号的特征信息分别发送至QoE增益预测器和预取管理器;
QoE增益预测器,用于执行以下方法步骤:
QOE增益预测器根据请求信号的特征信息,预测待请求视频数据的缓存命中吞吐量和缓存未命中吞吐量;
QOE增益预测器根据缓存命中吞吐量和缓存未命中吞吐量,预测当前的视频QOE增益值。
和/或以下步骤:
QOE增益预测器采用预设的神经网络模型,分别预测缓存命中吞吐量对应的QOE值和缓存未命中吞吐量对应的QOE值;
QOE增益预测器将缓存命中吞吐量对应的QOE值与缓存未命中吞吐量对应的QOE值之间的差值,确定为当前的QOE增益值。
缓存管理器,用于执行以下方法步骤:
缓存管理器获取多个前半个缓存周期内所有待请求视频数据的QOE增益累计值;
缓存管理器对各待请求视频数据的QOE增益累计值进行从高到底进行排序,并依照从高到底的顺序将QOE增益累计值对应的待请求视频数据进行缓存,直至缓存管理器存满。
预取管理器,用户执行以下方法步骤:
预取管理器根据请求信号的特征信息,获取多个与待请求视频数据的关联视频数据;
预取管理器预测在当前预取周期内,可以预取的关联视频数据的最大效益值;
预取管理器根据关联视频数据的最大效益值、当前的视频QOE增益值、各关联视频数据,对关联视频数据进行预取管理。
和/或以下步骤:
预取管理器根据关联视频数据的最大效益值、当前的视频QOE增益值确定待预取的视频数据;
预取管理器向源服务器发送携带待预取的视频数据的预取请求;
预取管理器接收源服务器回传的待预取的视频数据,并存储待预取的视频数据。
第四方面,本申请实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面和第二方面实施例提供的任一项方法的步骤。
第五方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面和第二方面实施例提供的任一项方法的步骤。
本申请实施例提供的一种视频传输方法、系统、计算机设备和存储介质,利用边缘服务器预先将流行度较高的视频进行预取和缓存,这样在客户端请求视频时,边缘服务器可以高效的将对应的视频输出给客户端,极大地提高了视频传输性能、效率。
附图说明
图1为一个实施例提供的一种视频传输系统示意图;
图2为一个实施例提供的一种边缘服务器结构示意图;
图3为一个实施例提供的一种视频传输方法的流程示意图;
图4为一个实施例提供的一种视频传输方法的流程示意图;
图5为一个实施例提供的一种视频传输方法的流程示意图;
图5a为一个实施例提供的一种吞吐量与其他指标关系散布图;
图6为一个实施例提供的一种视频传输方法的流程示意图;
图6a为一个实施例提供的一种吞吐量与QoE预测流程图;
图6b为一个实施例提供的一种SSIM的视频分类示意图;
图7为一个实施例提供的一种视频传输方法的流程示意图;
图8为一个实施例提供的一种视频传输方法的流程示意图;
图8a为一个实施例提供的一种链长变化概率示意图;
图9为一个实施例提供的一种视频传输方法的流程示意图;
图10为一个实施例提供的一种视频传输方法的流程示意图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种视频传输方法,可以应用于如图1所示的视频传输系统中,该系统包括客户端、边缘服务器和源服务器;该系统中,所有的视频资源存储在源服务器上,而热点内容则存储在边缘服务器中。其中,客户端观看视频过程中,会向源服务器发起视频请求,源服务器与边缘服务器之间相互协作,源服务器在接收到客户端请求后会重定向请求至边缘服务器,如果客户端请求的内容在边缘服务器中,则边缘服务器会直接将内容返回给客户端,如果,客户端请求的内容不在边缘服务器中,则边缘服务器通过广域网接收源服务器发送的视频,并将该视频发送给客户端端。其中,广域网可以被简化建模为源服务器到边缘服务器的瓶颈链路。其中,该客户端可以是智能手机、电脑、IPAD等可以上网的智能设备,本实施例对此不做限定,其中,该边缘服务器在实际应用中部署的位置比源服务器相对于客户端距离近,对于具体的部署方式以及本方案的实施方式将在下述实施例中进行具体说明。
目前,随着视频流量急剧增加,网络状态变化迅速,基于超文本传输协议(HyperText Transfer Protocol,HTTP)的动态自适应流技术(Dynamic Adapt iveStreaming over HTTP,DASH)因其灵活性和可压缩性而得到广泛的应用,这一传输方式能够提高视频传输的带宽利用率,从而提升用户的体验质量(Qua lity of Experience,QoE)。在这样的一种传输模式下,客户端基于视频块序列请求内容并在本地采用码率自适应算法,根据网络实时状态自适应选择最合适码率,从而满足用户需求。因此,加强面向QoE的视频传输对于提高网络的整体效率具有重要意义。然而,即使采用DASH技术,由于目前网络是高度动态的,只能提供无保证服务。对于单个视频用户来说,不可避免的带宽抖动会导致频繁的码率切换,甚至会引起缓冲,由此将严重影响用户体验。且,视频传输在时间和空间两个维度上都有很强的集中性,即某些特定网络的用户在某个特定的时间内往往会请求一些流行的视频。例如,Facebook排名前0.1%、前1%的视频分别占据其视频传输的62%、83%。用户频繁请求的内容会被多次传输,引起带宽消耗,这就导致本已充足的带宽被大量浪费。使得视频传输仍然面临着严峻的挑战,包括网络状态变化导致用户体验不稳定、视频冗余传输导致带宽利用效率低下等问题。
针对这些问题,现有技术中优化视频传输的方法可分为三类。示例地,第一类方法是客户端的自适应码率调整和预测机制,该方案中每个客户端做各自的码率决策,争夺共享带宽。这一类型的解决方案缺乏全局性和公平性。有的方法如MPC(Model PredictiveControl,表示一种视频传输的客户端自适应算法,采用了控制理论方法),假定网络吞吐量的精确预测,并利用控制理论方法在客户端选择合适的比特率,以获得最佳的QoE。而Pensieve则通过一个强化学习模型来决定比特率。Bola方案利用Lyapunov技术实现了比特率选择的局部优化。对于Oboe(Oboe是一个C++库,它用来构建在99%的安卓设备上都有着最低可能延迟的高性能音频应用,是一种自动调整视频传输自适应算法的方案,能够适应各种状态),它会根据不同的网络条件自动调整参数,并根据当前网络动态调整参数。这些客户端方案有助于终端用户适应DASH视频传输,同时考虑缓冲占用和传输速率。但是,由于该方案缺乏全局优化和公平性,每个客户端都会做出自己的比特率决策,争夺共享带宽。其中,第二类方法是服务器端的全局优化,该方案对于服务器来说,实时感知整个网络状态是非常困难的,因此支持在线全局优化是一个挑战,因为它离最终用户很遥远。虽然基于服务器的方法释放了源服务器的流量负载,并在一定程度上提高了响应速度,但由于计算和存储量很大,它们需要在设备和维护方面进行高投资。因此,基于服务器的方法对于其粗粒度的优化效果和高成本来说还不够理想。其中,第三类方法是基于网络侧缓存与预取方案,该方案为了有效地利用网络侧的存储容量,研究者提出了多种缓存方案,一些离线缓存方案设计了复杂的算法来缓存最流行的内容。为了提高实时性,提出了基于马尔可夫模型的流行内容替换算法、基于增强学习方法的缓存方法、非流行内容的实时动态缓存等先进辅助手段的在线缓存方案,同时为了在缓存替换中引入QoE影响,出现了一些基于QoE的缓存方案。当前基于缓存的方法还需要预取策略,因为第一次请求的缓存丢失、有限的缓存容量或不可避免的设备故障。但是缓存无法加速传输第一次被请求的内容或者非热点内容,由此预取成为一个良好的辅助手段。在传统的HTTP下载中,预取一直持续到视频结束,而不需要考虑码率转换。针对基于DASH的视频传输加速,一些研究构建了基于效益的预取模型,如iPac,但是该方案不考虑启动阶段的码率切换。随着对QoE的日益重视,综合考虑缓存与预取的方案已成为网络端的主流解决方案。尽管这些方案在网络端的应用迅速增长,但第三方的基础设施还不够实用和智能,包括内容传输网络、以信息为中心的网络和缓存代理等。内容传输网络作为一种全新的网络架构,其部署难度较大。而以信息为中心的网络的PoP节点因为灵活性低和成本高而难以在网络中高密度地广泛部署,这就意味着,在以信息为中心的网络机制下,用户仍然离内容服务器较远,视频传输质量仍然无法得到保证。至于已被广泛使用的缓存代理,由于其功能单一,智能化较低,故而难以适应高动态的网络。所以,现有技术中仍然存在视频传输效率低下的问题。本申请实施例提供一种视频传输方法、装置、计算机设备和存储介质,旨在解决现有技术中采用DASH技术,视频传输仍存在性能和效率较低的技术问题。下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请提供的一种视频传输方法,图3-图9的执行主体为边缘服务器,图10的执行主体为客户端,其中,其图3-图10的执行主体还可以是视频传输装置,其中该装置可以通过软件、硬件或者软硬件结合的方式实现成为视频传输的部分或者全部。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
在对本申请实施例提供的一种视频传输方法的实施例进行说明之前,为了有助于理解本方案,先对本申请实施例提供的一种视频传输系统进行详细说明,则在一个实施例中,请继续参见图1,本申请实施例提供一种视频传输系统,该系统包括:客户端、边缘服务器和源服务器;可选地,边缘服务器包括:请求收集器、QoE增益预测器、缓存管理器和预取管理器。
本实施例中,客户端用于向所述源服务器发送携带待请求视频数据的请求信号;源服务器,用于重定向所述请求信号至所述边缘服务器;或者,在所述待请求视频数据未存储在所述边缘服务器时,向所述客户端发送所述待请求视频数据;边缘服务器用于根据述请求信号向所述客户端发送所述待请求视频数据。对于客户端、边缘服务器和源服务器的具体作用以及工作交互过程,可参见上述应用环境部分的描述,本实施例在此不再赘述。
其中,边缘服务器在实际应用中为一种智能边缘架构,其用于处理基于DA SH的视频请求,它能够根据用户信息和网络状态做出有益于QoE的缓存预取决策。图2呈现了该边缘服务器的构成,由四个模块组成,包括请求收集器、缓存管理器、QoE增益预测器和预取管理器。其中,请求收集器,用于收集和分析来自用户的请求,并将并将用户信息分别发送至QoE增益预测器和预取管理器;QoE增益预测器,利用用户信息和网络状态预测吞吐量和当前的视频QoE增益值;缓存管理器,用于当前的视频QOE增益值,实现缓存更新、缓存查找和内容应答的功能;预取管理器,用于计算预取视频块的效益并基于计算结果来执行预取策略。这些模块相互协作和交互,为该智能边缘所覆盖的用户提供服务。这样的智能边缘架构能够提供全局优化的传输服务,而非局限于本地单用户优化,所以更有利于高效利用有限的网络带宽。同时,它可以为不同的用户或视频(甚至视频块级别)实现智能化的差异服务。此外,差异化服务不会带来传输冗余负担,但能够帮助智能边缘实时对抗网络抖动,最终保证用户得到流畅的观看体验。
对于边缘服务器在实际应用中的可实现方式,本申请实施例提供一种示例,例如:借助Apache流量服务器(ATS)实现该边缘服务方案。其中ATS是一种高性能的开源HTTP代理,在处理HTTP事务的过程中包含一系列重要的状态节点。ATS的插件通过各种HOOK连接到相应的状态。当HTTP事务达到一定状态时,相应的HOOK会自动调用相应插件,以便将用户定义的函数与基本的HTTP事务过程结合起来。可以通过ATS中的插件实现了本方案中包含的四个模块:请求收集器、缓存管理器、预取管理器、QoE增益预测器。在ATS中,可以借助READ_REQUEST_HDR_HOOK解析用户请求。于此同时,CACHE_LOOKUP_COMPLETE_HOOK实现缓存管理器以实现缓存状态反馈和基于QoE的缓存替换。先回复响应的时候,QoE增益预测器从功能调用者处获取输入。在增益预测过程中所采用的神经网络中有三个隐藏层,分别包含256、128和128个神经元。通过卷积神经网络(CNN)在隐层前处理多维变量。神经网络的功能是用PyTorch的一个C++接口l ibtorch来实现的。因此,QoE增益预测器是在预取管理器模块的请求事务开始之前由系统命令调用的已编译过的C++程序。此外,还利用HSDPA中的吞吐量历史数据作为带宽变化来训练预测模型,分别得到缓存命中和缓存未命中的QoE值。然后,预取管理器处理生成的预取请求,并将这些请求的一部分发送到源服务器。同时,还可以通过部署TXN_CLOSE_HOOK来持续更新源服务器的下载吞吐量。
在实际应用中,为了避免没有服务质量保证网络路径,该边缘服务器应该部署在离用户更近的地方。例如,校园和企业网络可以在连接到网络提供商的出口点部署该服务。这样可以减少校园或企业用户的流量,从而提高服务质量。另外,视频提供商还可以以容器、虚拟机或者应用程序的形式在公共云平台、I SP的虚拟化边缘数据中心(DC)或某些超级客户端上部署该服务。通过这种方式,内容提供商还可以改善其用户的QoE,并减少视频传输所需的带宽。所以该边缘服务能够以多种方式部署,例如校园网络出口部署一个x86LEAP服务器、特定客户机上运行该智能边缘应用程序或ISP边缘数据中心实现该虚拟化网络功能等。
我们下面对于执行主体为边缘服务器一侧的视频传输方法实施例进行说明。需要说明的是,在下述对视频传输方法实施例说明的过程中,其客户端、边缘服务器和源服务器,以及边缘服务器中的请求收集器、QoE增益预测器、缓存管理器和预取管理器其硬件、软件实现方式均可参见上述对视频传输系统中的说明,重复内容将不再赘述。
在一个实施例中,图3提供了一种视频传输方法,本实施例涉及的是边缘服务器根据客户的请求信号发送其待请求视频数据的具体过程,如图3所示,所述方法包括:
S101,边缘服务器接收客户端发送的请求信号,提取请求信号的特征信息;请求信号用于指示获取待请求视频数据。
本实施例中,请求信号为客户端发出给源服务器,用于获取待请求视频数据的DASH请求,由于在本方案中,源服务器在接收到客户端发送的请求信号后,会将该请求信号重定向至边缘服务器,因此边缘服务器在接收到该请求信号后,从该请求信号中提取特征信息。其中,该特征信息可以表示用户信息和网络状态,例如该特征信息包括但不限于上一个视频块的QoE、播放器的buffer进度、当前被请求的视频块码率、视频类型、往返时延(Round-Trip Time,RTT)、视频块链长、吞吐量变化、下载时间、视频块大小以及实际命中情况等。其中,上一个视频块的QoE、播放器的buffer进度、当前被请求的视频块码率、视频类型、RTT特征都是都是一维特征,视频类型指的是当前播放的视频基于SSIM分类所属的视频类型,而RTT指的是用户与边缘服务器之间的往返时间。其中,吞吐量变化、下载时间、视频块大小以及实际命中情况都是多维变量,比如可以获取过去五个视频块的下载吞吐量、下载时间、视频块大小以及命中情况用以神经网络训练,例如,这些特征信息如下:lastQoE:客户端感应到的上一块视频块的QoE;buffer:客户端的本地缓存利用情况,这能够表示客户端请求的紧迫程度;bitrate:客户端当前请求视频块的码率大小;videoType:根据SSI M特征对视频的分类。不同视频类型会呈现出不同的SSIM走势;chainLength:某个用户请求某个视频所形成的视频块链长,这表示的是在没有码率转换的情况下的视频块个数;throughputList_n:下载过去n个视频块时历史吞吐量;downloadTime_n:下载过去n个视频块时历史下载时长;segmentSize_n:过去请求的n个视频块的大小;ifHit_n:过去n个请求在边缘服务器的命中情况。为了减少状态维护开销,本发明会将命中信息返回给用户,由客户端自己维护命中状态信息;RTT:客户端到边缘服务器之间往返时间。由于不同用户到边缘服务器的可用带宽不同,并且会时间变化,所以有必要将客户端感知到的链路状态反馈给边缘服务器。这样也避免了边缘服务器对传输状态的维护开销。
在实际应用中,基于计算量以及预测精度,这个各特征信息的维度可做适当调整,本实施例对此不做限定。在实际应用中,边缘服务器从请求信号中解析上述特征信息的方式可以通过协议进行解析,也可以是其他方式,本实施例对此不做限定。其中,边缘服务器可以通过请求收集器从DASH请求中提取以下状态信息以供进一步使用。这些额外的信息只消耗少量的传输带宽,因此DASH场景中额外的开销可以忽略不计。
S102,边缘服务器根据请求信号的特征信息,从本地数据库中查找待请求视频数据;本地数据库中存储了预取视频和缓存视频。
基于上述S101步骤中边缘服务器提取的特征信息,边缘服务器从本地数据库中查找该待请求视频数据,其中,本地数据库表示的是边缘服务器的存储预取视频和缓存视频的数据库,其中,预取视频表示客户端从未请求过的视频,该预取视频为边缘服务器预先根据客户端平时的请求数据分析确定,然后向边缘服务器获取并进行了存储。其中,缓存视频表示客户端已请求过的视频,边缘服务器会将其进行存储。可以理解的是,该预取视频和缓存视频均是流行度较高的热点内容,即,基本上可实现用户平时需要观看的视频均已存储在了边缘服务器的本地数据库中。
S103,边缘服务器将待请求视频数据传输至客户端。
本步骤中,边缘服务器在本地数据库中查找到了客户端请求的视频后,将该待请求视频数据直接传输至客户端。需要说明的是,如果边缘服务器的本地数据库中没有该待请求视频数据,边缘服务器会向源服务器实时请求该视频,然后接收到该待请求视频后再发送至客户端。
本实施例提供的视频传输方法,利用边缘服务器预先将流行度较高的视频进行预取和缓存,这样在客户端请求视频时,边缘服务器可以高效的将对应的视频输出给客户端,极大地提高了视频传输性能、效率。
在以上实施例的基础上,本申请实施例还提供了一种视频传输方法,其涉及的是边缘服务器存储预取视频和缓存视频的具体过程,如图4所示,上述S102步骤包括:
S201,边缘服务器根据请求信号的特征信息,预测当前的视频体验质量QO E增益值。
由于预取策略与用户QoE密切相关,缓存命中必然会带来QoE增益,QoE增益指的是缓存命中和缓存未命中所对应的QoE之间的差值。因为缓存边缘服务器离客户端更近,能够加速下载,降低延迟,使得客户端得到更高吞吐的响应。因此,预取QoE增益较高的视频块能够使用户受益更多。然而,客户端难以知晓自己所请求的内容在边缘服务器命中与否,更无法知晓缓存命中所对应的Qo E增益,因此,本实施例中,边缘服务器需要根据请求信号的特征信息,预测当前的视频体验质量QOE增益值。
示例地,边缘服务器预测当前的视频体验质量QOE增益值的方式可以是利用深度神经网络进行预测,例如,将上述提取的请求信号的特征信息全部输入至预先训练好的神经网络模型中,然后,根据该神经网络模型的输出直接确定当前的视频体验质量QOE增益值,当然还可以是其他方式,例如,先确定出缓存命中时的吞吐量与缓存未命中时的吞吐量,然后根据预设的算法结合该缓存命中时的吞吐量与缓存未命中时的吞吐量确定当前视频的QOE增益值,本实施例对此不做限定,可根据实际情况而定。
S202,边缘服务器根据当前的视频QOE增益值和请求信号的特征信息进行视频数据的预取管理和缓存管理。
基于上述S202步骤中确定的当前的视频QOE增益值,边缘服务器根据当前的视频QOE增益值和请求信号的特征信息进行视频数据的预取管理和缓存管理,例如,边缘服务器根据将QOE增益值较高的视频缓存或预取。这样当服务器的带宽多余时,边缘服务器预取QoE增益最高的视频块,当带宽不足时,可以利用之前预取的内容保证用户得到较好的观看体验,同样,将视频流行度及QoE增益进行缓存,在客户端请求视频时,可以高效的将对应视频传输给客户端,保证用户得到较好的观看体验。
下面通过两个实施例对边缘服务器预测当前的视频体验质量QOE增益值的具体过程进行说明。则在一个实施例中,上述边缘服务器包括QOE增益预测器;则如图5所示,上述S201步骤包括:
S301,QOE增益预测器根据请求信号的特征信息,预测待请求视频数据的缓存命中吞吐量和缓存未命中吞吐量。
本实施例中,网络吞吐量是QoE增益预测中的一个重要因素,所以我们首先借助线性回归来预测未来的吞吐量。其中,影响网络吞吐量的因素较多,图5a所示散列分布图即呈现了吞吐量和其他因素之间的相关性。散列分布图中各个子图呈现一定的走势,不同的散列状态表明不同的相关度。如果两个变量之间呈现规律的走势,则具有较强的相关性,反之相关性较弱。结果表明,在缓存命中和缓存未命中的情况下,视频块的大小、用户到边缘服务器的RTT以及视频块下载时间都与网络吞吐量密切相关。在一个视频请求中,缓存命中和缓存未命中不能同时发生,因此在发生缓存未命中时,无法获取缓存命中的吞吐量,反之亦然。但是,从散列矩阵中,可以发现缓存命中时的吞吐量与缓存未命中时的吞吐量之间存在着很强的相关性。因此,在实际应用中,QOE增益预测器可以通过线性回归来预测缓存命中与未命中情况下的吞吐量。
S302,QOE增益预测器根据缓存命中吞吐量和缓存未命中吞吐量,预测当前的视频QOE增益值。
基于上述缓存命中吞吐量和缓存未命中吞吐量,QOE增益预测器预测当前的视频QOE增益值。可选地,如图6所示,上述S302的一种可实现方式包括:
S401,QOE增益预测器采用预设的神经网络模型,分别预测缓存命中吞吐量对应的QOE值和缓存未命中吞吐量对应的QOE值。
由于QoE增益指的是缓存命中和缓存未命中所对应的QoE之间的差值,则本方案需要预测两个QoE值,即缓存命中吞吐量对应的QOE值和缓存未命中吞吐量对应的QOE值。示例地,如图6a所示,QOE增益预测器中神经网络的输入包括主要从请求收集器获得的特征信息,其中历史吞吐量、若干视频块的下载时间、历史命中状态以及客户端与服务器之间RTT将首先在线性回归中用于过去若干视频块命中与否的吞吐量。线性回归得到的所有视频块命中状态下的吞吐量信息将与请求收集器获取的其他特征用于预测下一个视频块命中的QOE值.同理,通过预测缓存未命中的吞吐量,也能够得到下一个视频块未命中的QOE值。
S402,QOE增益预测器将缓存命中吞吐量对应的QOE值与缓存未命中吞吐量对应的QOE值之间的差值,确定为当前的QOE增益值。
基于上述S401步骤中确定的缓存命中吞吐量对应的QOE值与缓存未命中吞吐量对应的QOE值,QOE增益预测器将两者之间的差值确定为当前的QOE增益值,示例地,若缓存命中吞吐量对应的QOE值为
Figure BDA0002099458300000151
缓存未命中吞吐量对应的QOE值表示为
Figure BDA0002099458300000152
则可求的下一个视频块命中的QoE增益并计算出效益值,公式为:
Figure BDA0002099458300000153
另外对于QoE增益预测模型的定义方法,本申请以影响QoE的因素包括平均码率、缓冲时间和码率切换相关。所以QoE可以被定义如下:
QoEu(fm,k)=q(fm,k)-ur(fm,k)-≈|q(fm,k)-q(fm,k-1)|
上述公式中,q表示的是视频的质量水平,而u和≈两个系数分别用以调整缓冲时间和码率切换对用户体验的影响程度。在本申请中,缓存不同QoE的视频块所带来的效益是不同的。所以可以利用结构相似性(SSIM)来表征不同视频块的质量。如图6b所示,不同的视频根据其SSIM特征可以被归属到不同的类别中。图6b中走势越陡峭的直线表明,选择码率越高的视频块所带来的QoE增益越大。同理,相对平缓的曲线则表明缓存不同码率的视频块所带来的效益差异并不大。
本实施例提供的视频传输方法,由于客户端机器计算能力有限,能源开销大,该QoE增益预测模型未在用户端进行训练,而是利用Backend服务器来协助训练预测模型,在本申请场景中,边缘服务器就是一个很好的选择。故而,在边缘服务器上训练QoE预测模型、计算QoE增益和收集历史统计数据,可以充分利用计算能力,调动边缘服务器的可用资源,即智能边缘有限的计算能力和存储容量可被充分利用,大大提高了动态网络下的用户体验。
另外,对于上述S202中边缘服务器根据当前的视频QOE增益值和请求信号的特征信息进行视频数据的预取和缓存的方式包括边缘服务器根据当前的视频QOE增益值对待请求视频数据进行缓存管理,和根据当前的视频QOE增益值和请求信号的特征信息对待请求视频数据的关联视频数据进行预取管理两种情况,则下面通过几个实施例分别对这两种情况进行说明。
在其中一个实施例中,如图7所示,为边缘服务器进行缓存管理的过程,其中,上述边缘服务器包括缓存管理器;则S202包括:
S501,缓存管理器获取多个前半个缓存周期内所有待请求视频数据的QOE增益累计值。
本实施例中,缓存管理器执行的是相应的缓存策略并定期更新本地缓存的内容。示例地,将缓存更新周期定义为Tc,并假设在第s个周期中,针对视频f的所有请求中包含Hf(sTc)个视频块ID,每个视频块对应一个请求数量。然后缓存管理器根据接收QoE增益预测器发送的视频QoE增益值,计算所有被请求视频的平均QoE增益,然后统计在一个周期内前某个视频块所带来的QoE增益累计值,即统计一个周期前半周期视频块增益累计值。
S502,缓存管理器对各待请求视频数据的QOE增益累计值进行从高到底进行排序,并依照从高到底的顺序将QOE增益累计值对应的待请求视频数据进行缓存,直至缓存管理器存满。
基于上述S501步骤中缓存管理器统计的各周期内前半周期视频块增益累计值,缓存管理器对各待请求视频数据的QOE增益累计值进行从高到底进行排序,依照从高到底的顺序将QOE增益累计值对应的待请求视频数据进行缓存,直至缓存管理器存满,可以理解的是,也可以不用全部排序,只需将最新统计的QOE增益累计值与已缓存的视频块进行比较,将增益较大的视频块替换进去,直到缓存空间被填满为止。
本实施例提供的视频传输方法,由缓存管理器将增益较大的视频块即热点内容进行缓存、更新,这样可以较大的覆盖所有客户端需要请求的视频,满足客户端请求的视频均已存储在边缘服务器的缓存管理器中。
在另外一个实施例中,如图8所示,为边缘服务器进行预取管理的过程,其中,上述边缘服务器包括预取管理器;则S202包括:
S601,预取管理器根据请求信号的特征信息,获取多个与待请求视频数据的关联视频数据。
本实施例中,预取管理器用于据预测出的QoE增益执行预取策略。选择产生最大整体效益的视频块进行预取,从而达到最佳优化效果。则示例地,预取管理器根据请求信号的特征信息,获取多个与待请求视频数据的关联视频数据,即预取管理器通过分析多个请求信号的特征信息,确定综合特征,继而确定多个与待请求视频数据的关联视频数据,相当于,预取管理器会根据客户端的请求习惯确定在未来时间段客户端有可能会请求的视频。
S602,预取管理器预测在当前预取周期内,可以预取的关联视频数据的最大效益值。
本步骤中,预取管理器需要预测当前预取周期内,可以预取的关联视频数据的最大效益值。这里实际上预测的是能够最大化的效益,示例地,本申请给出一种具体实施过程为:
定义本申请整个视频传输系统为一个网络模型,将整个网络定义为一个有向图
Figure BDA0002099458300000171
其中,E={e}表示边缘服务器的集合,U={u}表示客户端的集合,而O={o}表示源服务器的集合,LE={lu,e|u∈U,e∈E}表示客户端到边缘服务器之间的链路集合,同理,LO={le,o|o∈O,e∈E}表示边缘服务器到源服务器之间的链路集合,lu,e和le,o的传输能力可以分别定义为cu,e(t)和ce,o(t)。并且,在本申请中,客户端需要为边缘服务器提供以下状态信息,即在t时刻,需要获得以下状态信息,包括客户端的用户体验评价QoEu(t),客户端本地缓存情况bu(t),缓冲情况ru(t)以及端到端往返时间
Figure BDA0002099458300000172
此外,由于自适应码率算法往往是以视频块为粒度进行码率决策的,所以上述四个指标可以以视频块为粒度替换QoEu(k),bu(k),ru(k)和
Figure BDA0002099458300000173
另外,将所有可以被请求的视频集合定义为F={f}.而每一个视频f可以被编码成多个码率版本,可表示为M{f}。并且每一个视频可以被切成若干视频块,可表示为K{f}.由此,每一个视频块可有唯一的标志,该标志表示为fm,k,m∈M(f),k∈K(f),采用fm,k来表示用户体验评价情况。当一个DASH视频请求到达时,边缘服务器会利用请求中包含的URL信息来推测出可能需要预取的内容,并从请求中提取出相应的状态信息用作后续的预测和计算。同时,将预取某个视频块fm,k的效益定义为Utility(fm,k),其中,该效益与对应的用户无关,仅与视频块本身特征有关。
首先边缘服务器中确定视频的效益值,其中,该效益值是用来评估预取和缓存不同视频所带来的益处。除了考虑QoE指标,还需要考虑码率切换的概率,其中,码率切换的概率是与视频块链长相关的。DASH视频请求是由一系列连续的视频块组成,并且当视频块的码率不进行切换的时候就会形成所说的视频链。假设链长为x,在不同的链长情形下,该视频链进行码率切换的可能性也不同。可表示为p(x)。根据实际视频请求的链长统计,可以得到一条拟合的曲线如附图8a所示,用以表征该用户视频请求码率不发生变化的可能性。
所以针对视频f的码率版本m,其第k块视频,将之大小定义为c(fm,k+1)。在此基础上,针对所有请求该视频块的用户,通过下述公式可以计算出一个预取效益总和,公式如下所示:
Figure BDA0002099458300000181
基于此,预取管理器计算一个周期内可以预取的关联视频数据的最大效益值,则假设当前处在第d个预取周期内第一阶段中,将获取边缘服务器与源服务器之间的可用带宽定义为ce,o(dTp)。并且通过统计获得上一个周期内的平均预取码率为
Figure BDA0002099458300000182
则可以计算出当前周期内能够预取的视频块的最大数目为
Figure BDA0002099458300000183
为了尽可能避免不确定性与随机性,利用加权平均的方法来计算当前周期可预取视频块的最大数目,即可以计算出在第d个周期内可预取的视频块数量计算如下:v(dTp)=av((d-1)Tp)+″k(dTp),则可以计算出在第一阶段中,可预取视频块的累积量为
Figure BDA0002099458300000184
可以理解的是,预取管理器在第一阶段只是根据r(dTp)的真实请求计算出预取能够最大化的效益Utilitymax(dTp),而不是立即执行预取请求的。
S603,预取管理器根据关联视频数据的最大效益值、当前的视频QOE增益值、各关联视频数据,对关联视频数据进行预取管理。
基于上述S602步骤中确定的关联视频数据的最大效益值,预取管理器根据关联视频数据的最大效益值、当前的视频QOE增益值、各关联视频数据,对关联视频数据进行预取管理,可选地,如图9所示,S603步骤包括:
S701,预取管理器根据关联视频数据的最大效益值、当前的视频QOE增益值确定待预取的视频数据。
本实施例中,预取管理器根据关联视频数据的最大效益值、当前的视频QOE增益值先确定待预取的视频数据,即所有关联视频数据中只需确定出效益值较大的视频确定为待预取的视频数据。
S702,预取管理器向源服务器发送携带待预取的视频数据的预取请求。
基于上述S701步骤中确定的待预取的视频数据,预取管理器向源服务器发送携带待预取的视频数据的预取请求。
其中,在一个实例中,预取管理器向源服务器发送携带待预取的视频数据的预取请求时,可以以关联视频数据的最大效益值是否超过预设阈值为条件进行发送,例如,预取管理器预测在当前预取周期内的前半阶段统计出该阶段内预取请求的效益最大值,不向服务器发预取请求,然后在预取周期内的后半阶段,将该阶段内预取请求的效益值与前半阶段得到的最大值进行对比,超过最大值,则发送预取请求,反之则不发送预取请求。
示例地,预取管理器发送预取请求的前提是需要上述确定的最大效益值Utilitymax(dTp)大于边缘服务器确定的视频的效益值Utility(fm,k),示例地,在实际应用中,当预取管理器收集完足够的信息后,预取管理器将执行基于效益的预取策略可以按照以下算法程序执行:如下算法程序第10至13行,如果一个请求在第一阶段结束后到达,预取管理器将会把这个请求的效益Utility(fm,k)同第一阶段计算出的最大化效益Utilitymax(dTp)进行比较,如果大于该Utility(fm,k),则这个请求会被执行,即向源服务器请求获取想要预取的内容。
算法p-Tops机制
输入:Utility(fm,k+1),r(dTp),Utilitymax(dTp),ncount
输出:xf–0或1,表示是否进行预取.
Figure BDA0002099458300000191
Figure BDA0002099458300000201
S703,预取管理器接收源服务器回传的待预取的视频数据,并存储待预取的视频数据。
本步骤中,预取管理器将源服务器回传的待预取的视频数据进行存储,即将预取视频存储在本地数据库中,以便客户端请求时即时发送给客户端。需要说明的是,若预取管理器预取的视频内容超出预设时长后,未被客户端进行请求,则预取管理器可以不再存储该预取视频,以便保证预取的视频为最新最热的视频内容。
本实施例提供的视频传输方法,将用户体验质量增益值评价纳入缓存预取策略,改善传统缓存预取的僵化策略,使之更灵活有效,利用码率恒定的概率,计算存储相应视频块的效益,使之更符合自适应码率视频传输的请求机制。通常用户观看视频的行为模式是有迹可循的,本申请设定的预取策略可通过捕捉用户观看视频的历史行为,预测用户即将请求的视频内容,进而有效缓存及预取。借助人工神经网络训练QoE增益的预测模型,在提升用户体验的同时,有效提高视频内容复用。同时综合QoE增益、码率恒定概率及链路瓶颈信息进行预取,有效提高“first mile”的链路利用率,降低链路传输峰值,避免传输拥塞,由此达到削峰填谷的传输效果。
下面对执行主体为客户端的一侧视频传输方法的实施例进行说明。
在一个实施例中,本申请实施例提供一种视频传输方法,其涉及的客户端请求视频数据的具体过程,如图10所示,该方法包括:
S801,客户端发送请求信号至源服务器;请求信号用于指示获取待请求视频数据。
本实施例中,客户端发送请求信息号至源服务器,其中该请求信号用于指示获取待请求视频数据,示例地,该请求信号可以是客户端接收的用户通过外接输入设备或者触屏输入设备输入的指令后生成的信号,对于输入设备的具体形式本实施例不做限定。
S802,客户端接收待请求视频数据;待请求数据为边缘服务器根据源服务器重定向的请求信号回传的。
基于上述S801中客户端发送请求信号,源服务器会对该请求信号进行重定向至边缘服务器,则边缘服务器会将客户端待请求的视频数据返回至客户端,则本步骤中,客户端接收的待请求数据为边缘服务器根据源服务器重定向的请求信号回传的。这样,当客户端需要请求视频时,本申请在整个系统中加入边缘服务器,利用网络边缘的计算能力和存储空间,加速视频传输,从而优化用户观看体验。
应该理解的是,虽然图3-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,上述源服务器、客户端、边缘服务器内部结构图可以如图11所示的计算机设备内部结构图。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。对于边缘服务器或者客户端,该计算机程序被处理器执行时以实现一种视频传输方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
边缘服务器接收客户端发送的请求信号,提取请求信号的特征信息;请求信号用于指示获取待请求视频数据;
边缘服务器根据请求信号的特征信息,从本地数据库中查找待请求视频数据;本地数据库中存储了预取视频和缓存视频;
边缘服务器将待请求视频数据传输至客户端。
或者,计算机程序被处理器执行时实现以下步骤:
客户端发送请求信号至源服务器;请求信号用于指示获取待请求视频数据;
客户端接收待请求视频数据;待请求数据为边缘服务器根据源服务器重定向的请求信号回传的。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种视频传输方法,其特征在于,所述方法包括:
边缘服务器接收客户端发送的请求信号,提取所述请求信号的特征信息;所述请求信号用于指示获取待请求视频数据;
所述边缘服务器根据所述请求信号的特征信息,预测当前的视频体验质量QOE增益值;
所述边缘服务器根据所述当前的视频QOE增益值对所述待请求视频数据进行缓存管理,和根据所述当前的视频QOE增益值和所述请求信号的特征信息对所述待请求视频数据的关联视频数据进行预取管理;
所述边缘服务器根据所述请求信号的特征信息,从本地数据库中查找所述待请求视频数据;所述本地数据库中存储了预取视频和缓存视频;
所述边缘服务器将所述待请求视频数据传输至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述边缘服务器包括QOE增益预测器;
则所述边缘服务器根据所述请求信号的特征信息,预测当前的视频QOE增益值,包括:
所述QOE增益预测器根据所述请求信号的特征信息,预测所述待请求视频数据的缓存命中吞吐量和缓存未命中吞吐量;
所述QOE增益预测器根据所述缓存命中吞吐量和缓存未命中吞吐量,预测所述当前的视频QOE增益值。
3.根据权利要求2所述的方法,其特征在于,所述QOE增益预测器根据所述缓存命中吞吐量和缓存未命中吞吐量,预测所述当前的QOE增益值,包括:
所述QOE增益预测器采用预设的神经网络模型,分别预设所述缓存命中吞吐量对应的QOE值和所述缓存未命中吞吐量对应的QOE值;
所述QOE增益预测器将所述缓存命中吞吐量对应的QOE值与所述缓存未命中吞吐量对应的QOE值之间的差值,确定为所述当前的QOE增益值。
4.根据权利要求1所述的方法,其特征在于,所述边缘服务器包括缓存管理器;
则所述边缘服务器根据所述当前的视频QOE增益值对所述待请求的视频数据进行缓存管理,包括:
所述缓存管理器获取多个前半个缓存周期内所有待请求视频数据的QOE增益累计值;
所述缓存管理器对各待请求视频数据的QOE增益累计值进行从高到底进行排序,并依照从高到底的顺序将QOE增益累计值对应的待请求视频数据进行缓存,直至所述缓存管理器存满。
5.根据权利要求1所述的方法,其特征在于,所述边缘服务器包括预取管理器;
则所述边缘服务器根据所述当前的视频QOE增益值和所述请求信号的特征信息对所述待请求视频数据的关联视频数据进行预取管理,包括:
所述预取管理器根据所述请求信号的特征信息,获取多个与所述待请求视频数据的关联视频数据;
所述预取管理器预测在当前预取周期内,可以预取的所述关联视频数据的最大效益值;
所述预取管理器根据所述关联视频数据的最大效益值、所述当前的视频QOE增益值、各所述关联视频数据,对所述关联视频数据进行预取管理。
6.根据权利要求5所述的方法,其特征在于,所述预取管理器根据所述关联视频数据的最大效益值、所述当前的视频QOE增益值、各所述关联视频数据,对所述关联视频数据进行预取管理,包括:
所述预取管理器根据所述关联视频数据的最大效益值、所述当前的视频QOE增益值确定待预取的视频数据;
所述预取管理器向源服务器发送携带所述待预取的视频数据的预取请求;
所述预取管理器接收所述源服务器回传的所述待预取的视频数据,并存储所述待预取的视频数据。
7.一种视频传输系统,其特征在于,应用于权利要求1-6任一项所述的视频传输方法,所述系统包括:客户端、边缘服务器和源服务器;
所述客户端,用于发送获取待请求视频数据至源服务器并接收待请求视频数据;其中,待请求数据为边缘服务器根据源服务器重定向的请求信号回传的;
所述源服务器,用于重定向所述请求信号至所述边缘服务器;或者,在所述待请求视频数据未存储在所述边缘服务器时,向所述客户端发送所述待请求视频数据;
所述边缘服务器用于执行权利要求1-6任一项所述的方法步骤。
8.根据权利要求7所述的系统,其特征在于,所述边缘服务器包括:请求收集器、QoE增益预测器、缓存管理器和预取管理器;
所述请求收集器,用于收集和分析所述客户端发送的请求信号,并将所述请求信号的特征信息分别发送至所述QoE增益预测器和所述预取管理器;
所述QoE增益预测器,用于执行权利要求2或3所述的方法步骤;
所述缓存管理器,用于执行权利要求4所述的方法步骤;
所述预取管理器,用户执行权利要求5或6所述的方法步骤。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201910530061.1A 2019-06-19 2019-06-19 视频传输方法、系统、计算机设备和存储介质 Active CN110430440B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910530061.1A CN110430440B (zh) 2019-06-19 2019-06-19 视频传输方法、系统、计算机设备和存储介质
PCT/CN2020/096239 WO2020253664A1 (zh) 2019-06-19 2020-06-16 视频传输方法、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910530061.1A CN110430440B (zh) 2019-06-19 2019-06-19 视频传输方法、系统、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110430440A CN110430440A (zh) 2019-11-08
CN110430440B true CN110430440B (zh) 2021-11-30

Family

ID=68408672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910530061.1A Active CN110430440B (zh) 2019-06-19 2019-06-19 视频传输方法、系统、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN110430440B (zh)
WO (1) WO2020253664A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430440B (zh) * 2019-06-19 2021-11-30 鹏城实验室 视频传输方法、系统、计算机设备和存储介质
CN111212301B (zh) * 2020-01-09 2021-10-08 鹏城实验室 一种视频码率的匹配方法、存储介质及终端设备
CN111372096B (zh) * 2020-03-12 2022-02-18 重庆邮电大学 一种基于d2d辅助的视频质量自适应缓存方法和设备
CN111966889B (zh) * 2020-05-20 2023-04-28 清华大学深圳国际研究生院 一种图嵌入向量的生成方法以及推荐网络模型的生成方法
CN112202800B (zh) * 2020-10-10 2021-10-01 中国科学技术大学 C-ran架构中基于强化学习的vr视频边缘预取方法和系统
CN112202802B (zh) * 2020-10-10 2021-10-01 中国科学技术大学 C-ran架构中基于强化学习的vr视频多级缓存方法和系统
CN112565606B (zh) * 2020-12-02 2022-04-01 鹏城实验室 全景视频智能传输方法、设备及计算机存储介质
CN113301396B (zh) * 2021-05-12 2023-01-31 中国联合网络通信集团有限公司 基于边缘计算的视频服务方法及边缘计算服务器
CN113596021B (zh) * 2021-07-28 2023-02-07 中国人民解放军国防科技大学 一种支持神经网络的流媒体码率自适应方法、装置和设备
CN114143376A (zh) * 2021-11-18 2022-03-04 青岛聚看云科技有限公司 一种用于加载缓存的服务器、显示设备及资源播放方法
CN114584801B (zh) * 2022-01-13 2022-12-09 北京理工大学 一种基于图神经网络推荐算法的视频资源缓存方法
CN115988267B (zh) * 2022-12-20 2023-09-15 哈尔滨工业大学(深圳) 一种基于dash的视频码率自适应调整方法及系统
CN116112740A (zh) * 2023-01-19 2023-05-12 深圳大学 一种视频播放方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916698A (zh) * 2014-04-24 2014-07-09 梁科 视频传输方法、设备及系统
CN108235131A (zh) * 2018-01-30 2018-06-29 重庆邮电大学 一种基于dash的全景视频自适应传输方法
CN109327867A (zh) * 2018-10-26 2019-02-12 西安交通大学 LTE网络下QoE驱动的视频码率自适应和资源分配联合算法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519614B2 (en) * 2012-01-10 2016-12-13 Verizon Digital Media Services Inc. Multi-layer multi-hit caching for long tail content
CN104796443B (zh) * 2014-01-17 2019-12-20 中兴通讯股份有限公司 一种移动流媒体用户体验质量QoE修正方法和服务器
CN106134215A (zh) * 2015-01-05 2016-11-16 华为技术有限公司 用户体验质量QoE预测装置、网络设备和方法
CN106027291B (zh) * 2015-11-25 2019-03-12 北京邮电大学 基于韦伯费希纳定理的BE业务QoE评价方法
CN105812834B (zh) * 2016-05-10 2019-03-12 南京大学 基于聚类信息的视频推荐服务器、推荐方法和预缓存方法
CN106303704B (zh) * 2016-08-19 2020-06-12 上海交通大学 一种基于代理服务器的dash流媒体直播系统及方法
CN109218814B (zh) * 2018-09-28 2020-10-27 西安交通大学 一种云计算环境下QoE驱动的HAS直播频道调度方法
CN110430440B (zh) * 2019-06-19 2021-11-30 鹏城实验室 视频传输方法、系统、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916698A (zh) * 2014-04-24 2014-07-09 梁科 视频传输方法、设备及系统
CN108235131A (zh) * 2018-01-30 2018-06-29 重庆邮电大学 一种基于dash的全景视频自适应传输方法
CN109327867A (zh) * 2018-10-26 2019-02-12 西安交通大学 LTE网络下QoE驱动的视频码率自适应和资源分配联合算法

Also Published As

Publication number Publication date
CN110430440A (zh) 2019-11-08
WO2020253664A1 (zh) 2020-12-24

Similar Documents

Publication Publication Date Title
CN110430440B (zh) 视频传输方法、系统、计算机设备和存储介质
US20160142510A1 (en) Cache-aware content-based rate adaptation mechanism for adaptive video streaming
Pedersen et al. Enhancing mobile video capacity and quality using rate adaptation, RAN caching and processing
KR101556453B1 (ko) 분할 멀티미디어를 위한 캐시 관리자 및 캐시 관리를 위한 대응 방법
Ahlehagh et al. Video caching in radio access network: Impact on delay and capacity
EP2179567A2 (en) Media streaming with online caching and peer-to-peer forwarding
Ahlehagh et al. Adaptive bit rate capable video caching and scheduling
Narayanan et al. Making content caching policies' smart'using the deepcache framework
CN117221403A (zh) 一种基于用户移动和联邦缓存决策的内容缓存方法
Shi et al. LEAP: learning-based smart edge with caching and prefetching for adaptive video streaming
US20220191260A1 (en) Method for playing on a player of a client device a content streamed in a network
CN114786034A (zh) 一种基于边缘计算的全景视频优化传输方法和系统
Shi et al. CoLEAP: Cooperative learning-based edge scheme with caching and prefetching for DASH video delivery
Fan et al. Pa-cache: Learning-based popularity-aware content caching in edge networks
Ramu et al. A study on web prefetching techniques
Li et al. Energy optimization for mobile video streaming via an aggregate model
Aguilar-Armijo et al. Segment prefetching at the edge for adaptive video streaming
Chiu et al. Cache management in information-centric networks using convolutional neural network
CN113766540B (zh) 低时延的网络内容传输方法、装置、电子设备及介质
Duraimurugan et al. Maximizing the quality of service in distributed multimedia streaming in heterogeneous wireless network
Coutinho et al. Just-in-time proactive caching for dash video streaming
He et al. CUBIST: High-quality 360-degree video streaming services via tile-based edge caching and FoV-adaptive prefetching
Gupta et al. Optimal searching of prefetched DASH segments in fog nodes: a multi-armed bandit approach
Ju et al. Video prediction strategy based on Markov modified model
WO2017097368A1 (en) System and method for efficient caching in the access network

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