CN110933447A - 基于小前端环的分布式视频服务架构 - Google Patents

基于小前端环的分布式视频服务架构 Download PDF

Info

Publication number
CN110933447A
CN110933447A CN202010096407.4A CN202010096407A CN110933447A CN 110933447 A CN110933447 A CN 110933447A CN 202010096407 A CN202010096407 A CN 202010096407A CN 110933447 A CN110933447 A CN 110933447A
Authority
CN
China
Prior art keywords
video
small front
chord
ring
industry
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
CN202010096407.4A
Other languages
English (en)
Other versions
CN110933447B (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.)
Shanghai Cleartv Corp Ltd
Zhejiang Qinghe Technology Co Ltd
Original Assignee
Shanghai Cleartv Corp Ltd
Zhejiang Qinghe Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Cleartv Corp Ltd, Zhejiang Qinghe Technology Co Ltd filed Critical Shanghai Cleartv Corp Ltd
Priority to CN202010096407.4A priority Critical patent/CN110933447B/zh
Publication of CN110933447A publication Critical patent/CN110933447A/zh
Application granted granted Critical
Publication of CN110933447B publication Critical patent/CN110933447B/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/21Server components or server architectures
    • H04N21/214Specialised server platform, e.g. server located in an airplane, hotel, hospital
    • H04N21/2143Specialised server platform, e.g. server located in an airplane, hotel, hospital located in a single building, e.g. hotel, hospital or museum
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • 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/26291Content 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 for providing content or additional data updates, e.g. updating software modules, stored at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种基于小前端环的分布式视频服务架构,包括若干行业小前端,每个行业小前端对应多个场景播放终端,每个行业小前端用于与对应的场景播放终端建立连接并提供流媒体视频服务;若干行业小前端基于chord协议通过互联网形成chord环,用于存储视频分片文件;每个行业小前端还用于基于chord协议在chord环上查找目标视频分片文件供对应的场景播放终端播放。本发明采用chord算法把成千上万的行业小前端计算孤岛组织成一个环状大规模计算架构,以此提高行业小前端孤岛的计算存储效率和可扩展性。本发明在不增加硬件开销的前提下能够明显降低视频服务单位订阅的综合成本,使得用户体验得到质和量的提升,从而为场景播放终端的用户提供高质量的用户体验服务。

Description

基于小前端环的分布式视频服务架构
技术领域
本发明涉及视频服务领域,特别涉及一种基于小前端环的分布式视频服务架构。
背景技术
现有酒店或者医院等需要提供视频服务的服务场景中的视频服务架构通常都利用了CDN(Content Delivery Network,内容分发网络),主要包括三种模式:
第一种为通过独立的软件系统实现的模式。例如,对于酒店行业这一服务场景中,软件系统安装在酒店机房的服务器上,该服务器通常称为小前端,视频文件存放在服务器上,通过客房的各个终端(如机顶盒)从机房的服务器上获取视频文件进行播放。有的时候视频文件也存放在云端,由服务器通过互联网从云端下载视频文件供客房的各个终端播放。
第二种为IPTV(交互式网络电视)模式,也就是视频文件存放在各省市IPTV网络的CDN。还是以酒店行业的服务场景为例进行说明,该种模式时酒店不需要在机房中设置用于提供视频服务的服务器,酒店的客房中只需通过机顶盒即可连接到各省、市级的IPTV运营中心。此种模式时各省运营中心互不连通。
第三种为互联网视频服务的模式,例如爱奇艺、乐视等,此时视频文件存放在互联网的CDN中。对于酒店行业的服务场景而言,酒店客房中也是通过机顶盒实现。
对于如酒店或医院等行业存在多个场景播放终端的服务场景而言,无论采用以上哪种服务模式,都存在提供给行业用户的码率偏低、节目内容不够丰富,不够与时俱进、视频服务订阅成本偏高,导致提供给用户的服务质量不高,最终造成用户体验度偏低的问题。
发明内容
本发明要解决的技术问题是为了克服现有技术中的视频服务模式存在提供给行业用户的码率偏低、节目内容不够丰富,不够与时俱进、视频服务订阅成本偏高,导致提供给用户的服务质量不高,最终造成用户体验度偏低的缺陷,提供一种在不增加硬件开销的前提下能够明显降低视频服务单位订阅的综合成本,进而使得用户体验得到质和量的提升的基于小前端环的分布式视频服务架构。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供了一种基于小前端环的分布式视频服务架构,包括若干行业小前端,每个所述行业小前端对应多个场景播放终端,每个所述行业小前端用于与对应的所述场景播放终端建立连接并提供流媒体视频服务;
若干所述行业小前端基于chord(一种协议)协议通过互联网形成chord环,所述chord环用于存储视频分片文件;每个所述行业小前端还用于基于chord协议在所述chord环上查找目标视频分片文件供对应的所述场景播放终端播放。
本方案中,行业小前端(简称小前端)提供给连接到其上的几百上千个场景服务终端做流媒体视频服务,每个场景播放终端用于从所属的行业小前端获取视频数据并播放。其中,行业小前端主要指在特定行业的服务场景和单位的一个或者多个孤岛服务器。举例而言:比如一家酒店内的VOD(Video on Demand,视频点播)视频服务,一家医院内部的VOD视频服务器。场景播放终端(简称终端)是一类物理设备,从小前端获取资源,播放视频资源,带有交互显示屏屏幕,能够显示UI(User Interface,用户界面)并通过一定的手段或者装置与用户产生交互互动。典型的终端比如电视机顶盒,典型的交互设备比如机顶盒遥控器。
本方案中,采用chord算法把成千上万的行业小前端计算孤岛组织成一个环状大规模计算架构,形成chord环,以此提高行业小前端孤岛的计算存储效率和可扩展性,每增加一个新的行业小前端,该行业小前端的视频算力和存储能力线性的赋能到原来的chord环上,对当前各行业孤岛视频服务器的计算资源以统计复用的方式提升,整合升级为一个规模化SaaS(Software-as-a-Service,通过网络提供软件服务)视频计算框架。
本方案中,在同样的B端(企业用户)计算资源和网络带宽资源的条件下,能够大幅度提高视频内容的丰富性与时效性,明显降低C端(消费者用户)单位订阅的综合成本,并在最终C端用户体验上得到量和质的提升。也就是说,本方案在不增加硬件开销的前提下能够明显降低视频服务单位订阅的综合成本,进而使得用户体验得到质和量的提升,从而对终端用户也即场景播放终端提供高质量的用户体验服务。
较佳地,所述分布式视频服务架构还包括云启动中心;
所述云启动中心用于存储所有的视频资源,并将所述视频资源以所述视频分片文件的形式散列推送至所述chord环上的chord节点,所述chord节点为所述行业小前端。
本方案中,云启动中心还用于将视频资源的视频分片文件对应的索引文件推送至chord环的每个行业小前端。
本方案中,将成千上万个分布式的行业小前端,通过互联网和云启动中心组成完全有别于传统CDN的视频服务哈希环的可扩展架构。该架构用于将动态更新的视频资源以哈希算法从云启动中心机房散列推送存储在chord环的chord节点上,通过实时动态调整,能够达到视频服务分布式最优计算的目的。
较佳地,每个所述视频资源包括试看时长部分和非试看时长部分;每个所述行业小前端均存储有每个所述视频资源的所述试看时长部分对应的所述视频分片文件;每个所述视频资源的所述非试看时长部分对应的所述视频分片文件基于散列算法分散存储于所述chord环的所述chord节点上。
本方案中,每个视频资源的头部分片也即试看时长部分大范围重复存储在各小前端,视频资源主体中后端分片也就是非试看时长部分以散列算法分散于chord环,如此存储方式能够提高存储资源利用效率。云启动中心在一部或一批视频资源如影片上传完成后,把每一部视频资源的头部的试看时长部分对应的视频分片文件批量冗余散列到所有的chord节点,并把所有视频分片文件的索引文推送到所有chord节点,以供小前端所属的场景播放终端播放该视频资源时使用。
较佳地,每个所述行业小前端还用于在接收到对应的所述场景播放终端的目标视频的播放请求时按照以下顺序查找对应的所述目标视频分片文件:
先在当前所述行业小前端查找所述目标视频分片文件,若查找不到则在所述chord环的其它所述行业小前端查找所述目标视频分片文件,若在所述chord环查找不到则在所述云启动中心查找所述目标视频分片文件;
查找到后下载所述目标视频分片文件至当前所述行业小前端并更新所述chord环上相关的chord节点的节点路由表,也就是chord算法中的finger table。
本方案中,场景播放终端向小前端请求视频播放服务,从小前端下载视频的索引文件,开始视频播放。小前端按照以下规则对视频分片做查找:先在本小前端查找,如果查找到目标视频分片则直接播放,如果在本chord节点没有查到,则到chord环内查找,再查找不到则到云启动中心查找。无论是在chord环的其它节点还是在云启动中心,查找到目标视频分片之后都下载到当前小前端并更新与该目标视频有关的chord节点的节点路由表。场景播放终端每次请求播放,对应的小前端可以对每个目标视频分片的访问次数做统计。统计目标视频分片的访问热度,定期上传云启动中心,作为后续按照热度做冗余散列的统计的依据。
较佳地,每个所述行业小前端还用于在接收到对应的所述场景播放终端的所述目标视频的播放请求后按照以下顺序查找所述目标视频所属的所有视频分片文件:
先在当前所述行业小前端查找所述目标视频所属的视频分片文件,若查找不到则在所述chord环的其它所述行业小前端中查找所述目标视频所属的视频分片文件,若在所述chord环查找不到则在所述云启动中心查找所述目标视频所属的视频分片文件;
当在所述chord环的其它所述行业小前端或在所述云启动中心中查找到所述目标视频所属的视频分片文件后,持续复制所述目标视频所属的视频分片文件对应的分片序列至当前所述行业小前端,直至所述目标视频在对应的所述场景播放终端播放结束或者所述目标视频所属的视频分片文件对应的分片序列全部复制完毕。
本方案中,场景播放终端向对应的小前端请求播放视频的时候,对应的小前端先在自身查找目标视频所属的所有视频分片文件,查找不到则在chord环中继续查找属于该目标视频的所有分片。第一种情况:如果在chord环中查找到分片,则从chord环持续复制属于该目标视频的分片序列到当前小前端;第二种情况:如果在chord环中查找不到该目标视频的所有分片,小前端则代理场景播放终端向云启动中心发起目标视频的分片请求。无论是哪种情况,当查找到所属目标视频的分片序列之后小前端开始持续复制这个分片序列,这个复制动作直到用户在场景播放终端上结束对该目标视频的播放操作或者序列下载结束才会停止,小前端在复制分片的同时按照chord路由算法把新复制分片的索引信息更新到有关的chord节点的节点路由表上。
较佳地,在每个所述行业小前端上查找所述目标视频分片文件时,若查找不到,则所述云启动中心对所述目标视频分片文件在当前所述行业小前端查找失败的次数进行累加计数,并在所述累加计数的结果超过预设参数值时触发所述当前行业小前端从所述chord环或者所述云启动中心下载所述目标视频分片文件,并更新所述chord环上相关的chord节点的节点路由表。
本方案对chord协议算法中的内容定位与搜索方式进行了改进。具体为,针对某一个目标视频分片文件在一个chord节点的查找请求,每次在该chord节点查找不到时会通知云启动中心,云启动中心对该目标视频分片文件在当前chord节点查找失败的次数进行累加计数,并在累加计数的结果超过预设参数值时触发该当前chord节点从chord环的其它节点或者云启动中心下载对应的目标视频分片文件。如此改进的目的使得下一次针对该目标视频分片文件的查找在当前小前端就能够终止返回,也就是用空间换取时间,即当场景播放终端需要该目标视频分片的时候节省了查找及下载时间,以此提升用户体验。
较佳地,所述视频分片文件为HLS(HTTP Live Streaming,Apple(苹果公司)的动态码率自适应技术)分片文件;
每个所述行业小前端还存储分布式视频散列文件系统,所述分布式视频散列文件系统为基于HLS的散列表视频文件的操作接口和算法,所述分布式视频散列文件系统用于基于chord协议在所述chord环上查找目标HLS分片文件供对应的所述场景播放终端播放。
本方案中,每个行业小前端上均存储有CVFS(chord video file system,分布式视频散列文件系统),用于完成chord环上HLS视频分片的动态搜索。CVFS是基于chord协议算法对HLS视频分片的一层封装,包括以下重要的接口:插入分片insert,删除分片del,查找分片lookup。CVFS包括全部视频的索引表,每个视频的索引文件,每个视频的HLS分片文件。索引主要规定了各个HLS分片文件之间的序列关系。
较佳地,每个所述行业小前端还用于根据所述云启动中心的发出的热度视频的动态更新的散列指令从所述chord环的其它所述行业小前端或者所述云启动中心下载所述散列指令对应的所述热度视频并更新相关的chord节点的节点路由表。
较佳地,所述云启动中心还用于收集每个所述场景播放终端的用户行为日志并分析,基于分析结果生成动态更新的所述热度视频及发出所述热度视频的动态更新的散列指令。
本方案中,场景播放终端在视频播放过程中实时把用户的点播行为日志指令等用户行为日志通过对应的小前端输送往云启动中心。云启动中心可以按周期(如每天)根据所有终端的播放行为日志做分析,计算出全chord环视频请求热度总排行榜(比如选取片库前10%影片),每个小前端视频请求热度排行榜,把这两个排行榜做聚合,以天为单位向chord环发送启动热度视频的动态更新的散列指令。具体更新过程参考如下:chord环的每个小前端接收到热度视频的动态更新的散列指令之后,先向chord环内部查找分片,如果查找到分片则优先从chord环内更新分片并同步更新chord环各节点路由表,如果环内查找不到分片则向云启动中心请求分片。小前端内部更新分片的时候按照以下规则:如果磁盘空间足够则直接更新并存储分片,如果磁盘空间不够,则按照访问频次依次淘汰访问频率低的分片直到空间满足存放所有热度分片,需要注意的是所有视频资源的试看时长部分不允许被热度视频的动态更新的散列指令所淘汰。
较佳地,所述行业小前端还用于存储对应的所述场景播放终端的UI元数据文件;
所述云启动中心还用于收集所述chord环的查找日志,基于所述查找日志和所述用户行为日志分析,以发现当前时刻的热点视频和关联视频,并将所述热点视频和所述关联视频散列推送至所述chord环中活跃度高于预定活跃度阈值的所述行业小前端,同时还将所述热点视频和所述关联视频的UI元信息推送至所有当前在线的所述行业场景播放终端。
本方案中,基于终端的用户行为日志以及chord环的查找日志分析,实现热点视频和关联视频的散列推送与终端的UI的动态反馈控制,能够提高终端用户体验。具体工作过程参考如下:当用户使用控制器(这种控制器可以是遥控器,手机,甚至语音等交互手段)操作浏览场景播放终端的UI,寻找感兴趣的内容时,终端可以实时把用户的交互指令和所处交互界面的元数据信息通过对应的小前端传送到云启动中心,当终端用户启动一个视频的播放操作时,云启动中心根据视频在UI系统关联度开始关联散列视频分片在chord环内的下载,需要注意的是终端的UI动态散列更新由于用于提高用户体验并且变化频繁,所以此类分片更新一般是更新到小前端的内存,这样做的好处是:一是内存响应速度快对用户体验提高明显;二是UI无需占用磁盘存储清除方便;三是不会与其它周期性的更新发生冲突。关于关联视频举例:比如属于该视频序列的分片,另外,比如位于同一界面的其它视频列表或者属于该播放操作视频的推荐视频列表。其次是云启动中心通过实时用户行为信息采集发现该时刻热点视频,把该类视频信息通过chord环大范围更新推送到所有当前在线用户的当前UI上。
较佳地,所述场景播放终端的用户体验评价参数包括视频播放在所述行业小前端的命中率和/或用户定位到感兴趣的视频内容需要的操作数;
和/或,所述分布式视频服务架构的订阅成本评价参数包括视频播放在所述chord环内的命中率和/或chord环的视频资源丰富度。
基于小前端环的分布式视频服务架构的用户体验评价参数通常包括:系统视频播放缓冲时间,视频播放卡顿次数,用户观看时长,用户观看视频数量等。
本方案中,用户体验评价参数还包括视频播放在行业小前端的命中率以及用户定位到感兴趣的视频内容需要的操作数。
其中,视频播放在行业小前端的命中率具体指当前行业小前端对应的场景播放终端请求播放的目标视频分片文件在当前行业小前端中查找时的命中率,如果该命中率高,则说明对应的场景播放终端请求目标视频分片文件播放时直接在其对应的行业小前端获取到的概率高,最佳情况是不需要到chord环上的其它chord节点或者云启动中心下载,也就是说,在场景播放终端对应的行业小前端命中时响应最快,所以用户体验度高。视频播放在行业小前端的命中率和chord算法有关。
用户定位到感兴趣的视频内容需要的操作数具体是指场景播放终端的用户进入终端的首页之后,经过多少个操作(例如遥控器按键操作)才定位到感兴趣的视频。如果交互界面不友好,用户可能需要多个界面跳转多个操作才能定位到感兴趣的视频,所以该参数能够用于评价用户体验。该参数具体可以通过以下方式实现,云启动中心在场景播放终端的UI端放置远程调用操作探针,在每次用户开机或者结束一次播放的时候操作数置零,用户跟UI每次交互记录用户记录操作类型并记录一次操作数增加,直到用户正式启动一个视频播放,由于用户操作数据同时涉及到UI的实时动态调整,所以通过终端UI设置探针实时将操作日志提交到云启动中心,而非像其它用户指标一样做定期上报。
本方案中,视频播放在chord环内的命中率的测量方式参考如下:CVFS在场景播放终端每次请求视频的时候按照前述查找机制遍历chord环的节点路由表查找分片,如果在终端所属小前端命中分片则增加一个统计计数,如果在chord环内命中分片则增加一个环内命中计数,如果向云启动中心请求分片则增加一个云启动中心请求计数。把这些计数作为CVFS文件系统的操作日志记录下来,云启动中心定期向CVFS收集散列文件系统日志做统计分析,生成文件系统命中率报表。视频播放在chord环内的命中率可以定义为环内请求数/(环内请求数+云启动中心请求数)。
本方案中,chord环的视频资源丰富度的测量方式参考如下:云启动中心通过向CVFS请求CVFS视频文件列表,把请求到的视频文件列表跟云启动中心完整视频列表做比对计算。视频丰富程度指标可以定义为chord环总存储/剔除冗余散列文件的CVFS总视频数量,也就是单位视频占用chord环的存储空间。在没有chord环算法的情况下,每个视频文件都必须在每个小前端做复制,视频文件占用的总大小随着chord节点数线性增长,这是整系统视频丰富度最低的情况。
较佳地,所述云启动中心还用于所述chord环的chord节点和所述场景播放终端的接入管理和配置管理;
和/或,所述云启动中心还用于所述场景播放终端的UI的信息采集和动态更新;
和/或,所述云启动中心还用于所述视频资源的转码切片处理。
本发明的积极进步效果在于:
本发明提供了一种基于小前端环的分布式视频服务架构,采用chord算法把成千上万的行业小前端计算孤岛组织成一个环状大规模计算架构,形成chord环,以此提高行业小前端孤岛的计算存储效率和可扩展性。本发明在不增加硬件开销的前提下能够明显降低视频服务单位订阅的综合成本,进而使得用户体验得到质和量的提升,从而对终端用户也即场景播放终端提供高质量的用户体验服务。
进一步地,本发明将成千上万个分布式的行业小前端,通过互联网和云启动中心组成完全有别于传统CDN的视频服务哈希环的可扩展架构。该架构用于将动态更新的视频资源以哈希算法从云启动中心机房散列推送存储在chord环的chord节点上,通过实时动态调整,能够达到视频服务分布式最优计算的目的。
附图说明
图1为本发明实施例1的基于小前端环的分布式视频服务架构的系统示意图。
图2为本发明实施例2的基于小前端环的分布式视频服务架构的系统示意图。
图3为本发明实施例2的基于小前端环的分布式视频服务架构实现的带云启动中心的chord环的构建流程示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供了一种基于小前端环的分布式视频服务架构,包括若干行业小前端,每个行业小前端对应多个场景播放终端,每个行业小前端用于与对应的场景播放终端建立连接并提供流媒体视频服务;若干行业小前端基于chord协议通过互联网形成chord环,chord环用于存储视频分片文件;每个行业小前端作为chord节点还用于基于chord协议在chord环上查找目标视频分片文件供对应的场景播放终端播放。
本实施例中,视频分片文件采用HLS分片文件的形式实现,在其它可选的实施方式中,也可以采用其它类型的视频分片方式。每个行业小前端还存储分布式视频散列文件系统,分布式视频散列文件系统为基于HLS的散列表视频文件的操作接口和算法,分布式视频散列文件系统用于基于chord协议在chord环上查找目标HLS分片文件供对应的场景播放终端播放。
本实施例以酒店行业为例进行说明。如图1所示,本实施例具体提供了一种为酒店行业提供视频服务的基于小前端环的分布式视频服务架构,其中包括三家示例酒店的小前端201,202,203组成chord环200,并通过各自酒店的宽带接入互联网900。三家酒店的小前端分别都有若干个机顶盒通过酒店局域网接入小前端,请求视频文件播放视频。具体包括机顶盒201-1,201-2接入小前端201观看视频,机顶盒202-1接入小前端202观看视频,机顶盒203-1,203-2,203-3接入小前端203观看视频。
chord环200上存储有两个视频,其中一个是视频1000,视频1000为热门视频,另外一个视频为非热门视频。热门视频1000包含它所有分片及索引在每个酒店的小前端都存放一份复制,而非热门视频的HLS索引2001和三个HLS分片文件2002、2003、2004基于chord协议散列存储在三个酒店小前端上。具体为,小前端203存放HLS分片2002和2003,小前端202仅存放HLS分片2002,小前端201存放HLS分片2002和HLS分片2004。
需要说明的是,图1仅以酒店行业为例进行本实施例所实现的基于小前端环的分布式视频服务架构的说明,但是并不仅仅局限于酒店行业,所有其它需要提供视频服务的行业比如医疗病房视频服务,餐饮业视频服务都可以使用本发明的基于小前端环的分布式视频服务架构实现,这些行业采用本实施例的基于小前端环的分布式视频服务架构提供视频服务均属于本发明的保护范围。
本实施例中,行业小前端提供给连接到其上的几百上千个场景播放终端做流媒体视频服务,每个场景播放终端用于从所属的行业小前端获取视频数据并播放。场景播放终端是一类物理设备,从小前端获取资源,播放视频资源,带有交互显示屏屏幕,能够显示UI并通过一定的手段或者装置与用户产生交互互动。典型的终端比如电视机顶盒,典型的交互设备比如机顶盒遥控器。
本实施例中,采用chord算法把成千上万的行业小前端计算孤岛组织成一个环状大规模计算架构,形成chord环,以此提高行业小前端孤岛的计算存储效率和可扩展性,每增加一个新的行业小前端,该行业小前端的视频算力和存储能力线性的赋能到原来的chord环上,对当前各行业孤岛视频服务器也就是行业小前端的计算资源以统计复用的方式提升,整合升级为一个规模化SaaS视频计算框架。
本实施例中,在同样的B端计算资源和网络带宽资源的条件下,大幅度提高视频内容的丰富性与时效性,明显降低C端单位订阅的综合成本,并在最终C端用户体验上得到量和质的提升。也就是说,本实施例在不增加硬件开销的前提下能够明显降低视频服务单位订阅的综合成本,进而使得用户体验得到质和量的提升,从而对终端用户也即场景播放终端提供高质量的用户体验服务。
实施例2
如图2所示,本实施例提供了一种基于小前端环的分布式视频服务架构,与实施例1不同之处在于,该分布式视频服务架构还包括云启动中心100。云启动中心100用于存储所有的视频资源,并将视频资源以视频分片文件的形式散列推送至chord环上的chord节点,chord节点为行业小前端。
具体地,本实施例中的云启动中心100和chord环200构成了“酒店院线”。云启动中心100存储酒店院线的所有视频文件的视频总索引表101,示例视频1000,示例视频2000,在此只是举例,实际情况是存放了成千上万的视频文件。其中视频总索引表101由云启动中心100生成,用于给终端用户提供视频搜索服务,其中视频1000包含一个HLS文件索引1001(就是M3U8)和三个视频分片分别为HLS分片1002,HLS分片1003,HLS分片1004;视频2000包含一个HLS文件索引2001和三个视频分片分别为HLS分片2002,HLS分片2003,HLS分片2004。
云启动中心100由若干虚拟服务器或者物理服务器组成,部署在酒店院线SaaS服务提供商的云计算中心或者阿里云等公有云。云启动中心100用于chord环的chord节点和终端的接入管理与配置管理,UI信息采集和动态更新生成,视频用户行为日志存储和分析,视频散列文件资源存储转码切片等处理,向chord环节点推送视频散列文件等功能。
本实施例中,三家示例酒店的小前端201,202,203组成chord环200并通过各自酒店的宽带互联网连接到云启动中心100。其中云启动中心100的视频1000,视频2000的索引和分片文件基于chord协议散列在三个酒店小前端。具体而言,热门视频1000包含它所有分片及索引在每个酒店的小前端都存放一份复制,而非热门视频2000的HLS索引2001和三个HLS分片文件HLS分片2002、HLS分片2003、HLS分片2004基于chord协议散列存储在三个酒店小前端上。具体为,小前端203存放HLS分片2002和2003,小前端202仅存放HLS分片2002,小前端201存放HLS分片2002和HLS分片2004。
chord环200由小前端基于chord协议并通过酒店宽带连接互联网900组织起来,小前端一般部署在酒店的机房中。chord环200从云启动中心100同步视频分片资源,在chord环200内部动态组织视频资源,同时向云启动中心100汇聚chord环操作日志数据和用户行为日志,最终面向分布式的所有终端提供视频服务。
三家酒店的小前端分别都有若干个机顶盒通过酒店局域网接入小前端,请求视频文件播放视频。具体包括机顶盒201-1,201-2接入小前端201观看视频,机顶盒202-1接入小前端202观看视频,机顶盒203-1,203-2,203-3接入小前端203观看视频。小前端201,203,203通过从云启动中心100或者chord环200上的其它小前端下载视频资源然后存储在本地硬盘中,终端通过局域网HTTP服务向小前端请求视频文件资源,每个小前端服务上百个酒店客房终端(一般是机顶盒或者电视机等),比如机顶盒201-1就是连接到小前端201的一个客房终端。
场景播放终端是一系列连接到小前端的UI交互和视频播放设备,比如电视机、手机、电视机顶盒、智能音箱等。终端通过局域网向小前端请求视频资源和UI资源,下载到终端本地后存放在硬盘或者内存中,然后调用播放器模块进行播放和UI模块进行播放。
本实施例中,每个视频资源包括试看时长部分和非试看时长部分;每个行业小前端均存储有每个视频资源的试看时长部分对应的视频分片文件;每个视频资源的非试看时长部分对应的视频分片文件基于散列算法分散存储于chord环的chord节点上。具体到图2中视频1000和视频2000,HLS分片1002和HLS分片2002分别为视频1000和视频2000对应的试看时长部分对应的视频分片文件,HLS分片1003、HLS分片1004和HLS分片2003、HLS分片2004分别为视频1000和视频2000对应的非试看时长部分对应的视频分片文件。对于HLS分片1002和HLS分片2002作为试看时长部分对应的视频分片文件在每个小前端都有存储。
本实施例中,每个视频资源的头部分片也即试看时长部分大范围重复存储在各小前端,视频资源主体中后端分片也就是非试看时长部分以散列算法分散于chord环,如此存储方式能够提高存储资源利用效率。云启动中心100在一部或一批视频资源如影片上传完成后,把每一部视频资源的头部的试看时长部分对应的视频分片文件批量冗余散列到所有的chord节点,并把所有视频HLS的m3u8格式的索引文件推送到所有chord节点,以供小前端所属的场景播放终端播放该视频资源时使用。其中,m3u8文件用于记录分片文件资源路径,依据该m3u8文件即可获取对应的HLS分片文件。一般称云启动中心100进行的上述操作为“启动指令”。以影片前4分钟试看为例,按照10000部码率2M(兆)的影片计算,每一部影片的头部的试看时长部分数据量为60M,总头部数据量在600GB(千兆字节)。
本实施例中,每个行业小前端还用于在接收到对应的场景播放终端的目标视频的播放请求时按照以下顺序查找对应的目标视频分片文件:
先在当前行业小前端查找目标视频分片文件,若查找不到则在chord环的其它行业小前端查找目标视频分片文件,若在chord环查找不到则在云启动中心查找目标视频分片文件;
查找到后下载目标视频分片文件至当前行业小前端并更新chord环上相关的chord节点的节点路由表。
本实施例中采用的播放机制如下,场景播放终端向小前端请求视频播放服务,从小前端下载视频的索引文件,也就是m3u8格式的索引文件,开始视频播放。小前端按照以下优先算法规则对视频分片做查找:先在本小前端查找,如果查找到目标视频分片则直接播放,如果本chord节点没有查到则到chord环内查找,再查找不到则到云启动中心查找。无论是在chord环的其它节点还是在云启动中心查找到目标视频分片之后,都下载到当前小前端并更新与该目标视频有关的chord节点的节点路由表。场景播放终端每次请求播放,对应的小前端都可以对每个目标视频分片的访问次数做统计。统计目标视频分片的访问热度,定期上传云启动中心,供后续按照热度做冗余散列的统计依据。
本实施例中,每个行业小前端还用于在接收到对应的场景播放终端的目标视频的播放请求后按照以下顺序查找目标视频所属的所有视频分片文件:
先在当前行业小前端查找目标视频所属的视频分片文件,若查找不到则在chord环的其它行业小前端中查找目标视频所属的视频分片文件,若在chord环查找不到则在云启动中心查找目标视频所属的视频分片文件;
当在chord环的其它行业小前端或在云启动中心中查找到目标视频所属的视频分片文件后,持续复制目标视频所属的视频分片文件对应的分片序列至当前行业小前端,直至目标视频在对应的场景播放终端播放结束或者目标视频所属的视频分片文件对应的分片序列全部复制完毕。
本实施例中,场景播放终端向对应的小前端请求播放视频的时候,对应的小前端先在自身查找目标视频所属的所有视频分片文件,查找不到则在chord环中继续查找属于该目标视频的所有分片。第一种情况:如果在chord环中查找到分片,则从chord环持续复制属于该目标视频的分片序列到当前小前端;第二种情况:如果在chord环中查找不到该目标视频的所有分片,小前端则代理场景播放终端向云启动中心发起目标视频的分片请求。无论是哪种情况,当查找到所属目标视频的分片序列之后,小前端开始持续复制这个分片序列,这个复制动作直到用户在场景播放终端上结束对该目标视频的播放操作或者序列下载结束才会停止,小前端在复制分片的同时按照chord路由算法把新复制分片的索引信息更新到有关的chord节点的节点路由表上。前述更新方式称为被动更新。
本实施例中,在每个行业小前端上查找目标视频分片文件时,若查找不到,则云启动中心对目标视频分片文件在当前行业小前端查找失败的次数进行累加计数,并在累加计数的结果超过预设参数值时触发当前行业小前端从chord环或者云启动中心下载目标视频分片文件,并更新chord环上相关的chord节点的节点路由表。
本实施例对chord协议算法中的内容定位与搜索方式进行了改进。具体为,针对某一个目标视频分片文件在一个chord节点的查找请求,每次在该chord节点查找不到时会通知云启动中心,云启动中心对该目标视频分片文件在当前chord节点查找失败的次数进行累加计数,并在累加计数的结果超过预设参数值时触发该当前chord节点从chord环的其它节点或者云启动中心下载对应的目标视频分片文件。如此改进的目的是使得下一次针对该目标视频分片文件的查找在当前小前端就能够终止返回,也就是用空间换取时间,即当场景播放终端需要目标视频分片的时候的查找及下载时间,以此提升用户体验。
本实施例中,云启动中心还用于收集每个场景播放终端的用户行为日志并分析,基于分析结果生成动态更新的热度视频及发出热度视频的动态更新的散列指令。每个行业小前端还用于根据云启动中心发出的热度视频的动态更新的散列指令从chord环的其它行业小前端或者云启动中心下载散列指令对应的热度视频并更新相关的chord节点的节点路由表。
本实施例中,场景播放终端在视频播放过程实时把用户的点播行为日志指令等用户行为日志通过对应的小前端输送往云启动中心。云启动中心可以按周期如每天根据所有终端的播放行为日志做分析,计算出全域视频请求热度总排行榜(比如选取片库前10%影片),每个小前端视频请求热度排行榜,把这两个排行榜做聚合,以天为单位向chord环发送启动热度视频的动态更新的散列指令。具体更新过程可以参考如下:chord环的每个小前端接收到热度视频的动态更新的散列指令之后,先向chord环内部查找分片,如果查找到分片则优先从chord环内更新分片并同步更新chord环各节点路由表,如果环内查找不到分片则向云启动中心请求分片。小前端内部更新分片的时候按照以下规则:如果磁盘空间足够则直接更新并存储分片,如果磁盘空间不够,则按照访问频次依次淘汰访问频率低的分片直到空间满足存放所有热度分片,需要注意的是,所有视频资源的试看时长部分不允许被热度视频的动态更新的散列指令所淘汰。前述更新方式称为主动更新。
接下去举例对更新总存储数据量做一个计算,按照10000部影片计算,10%为1000部影片,每一部影片按照2GB大小计算,小前端需要2TB(太字节)影片存储。如果小前端chord环有1000个chord节点,如果纯使用CDN从云启动中心更新视频,极端情况下需要CDN更新2PB(2的50次方个字节)的数据,使用chord环做环内更新时,由于数据只需要从云启动中心向chord环传输一次,发生在环内不占用CDN流量,在极端情况下可以比纯CDN节省1000倍的CDN流量和费用(这个倍数N等于组成chord环的小前端数量数量级)。
本实施例中,行业小前端还用于存储对应的场景播放终端的UI元数据文件;云启动中心还用于收集chord环的查找日志,基于查找日志和用户行为日志分析,以发现当前时刻的热点视频和关联视频,并将热点视频和关联视频散列推送至chord环中活跃度高于预定活跃度阈值的行业小前端,同时还将热点视频和关联视频的UI元信息推送至所有当前在线的行业场景播放终端。
本实施例中,基于终端的用户行为日志以及chord环的查找日志分析,实现热点视频和关联视频的散列推送与终端的UI的动态反馈控制,能够提高终端用户体验。具体工作过程参考如下:当用户使用控制器(这种控制器可以是遥控器,手机,甚至语音等交互手段)操作浏览场景播放终端的UI寻找感兴趣的内容时,终端可以实时把用户的交互指令和所处交互界面的元数据信息通过对应的小前端传送到云启动中心,当终端用户启动一个视频的播放操作时,云启动中心根据视频在UI系统关联度开始关联散列视频分片在chord环内的下载,需要注意的是终端的UI动态散列更新由于用于提高用户体验并且变化频繁,所以此类分片更新一般是更新到小前端内存,这样做的好处是:一是内存响应速度快,对用户体验提高明显;二是UI无需占用磁盘存储,清除方便;三是不会与其它周期性的更新发生冲突。关于关联视频举例:比如属于该视频序列的分片,另外比如位于同一界面的其它视频列表或者属于该播放操作视频的推荐视频列表。其次是云启动中心通过实时用户行为信息采集发现该时刻热点视频,把该类视频信息通过chord环大范围更新推送到所有当前在线用户的当前UI上。
本实施例中,当一个新的小前端加入chord环的时候,云启动中心向其发送“启动指令”和基于整个chord环的视频热度排行榜的“主动更新指令”,更新完成之后,该小前端使用chord协议加入chord环,生成自己的路由表并更新关联节点的路由表。当一个小前端退出chord环的时候,按照chord算法退出chord环,本实施例中由于存在云启动中心,小前端需要向云启动中心发送一个退出通知,云启动中心将释放所有该小前端占用的计算资源。
本实施例中,场景播放终端的用户体验评价参数包括视频播放在行业小前端的命中率和/或用户定位到感兴趣的视频内容需要的操作数;
和/或,分布式视频服务架构的订阅成本评价参数包括视频播放在chord环内的命中率和/或chord环的视频资源丰富度。
分布式视频服务架构的用户体验评价参数通常包括:系统视频播放缓冲时间,视频播放卡顿次数,用户观看时长,用户观看视频数量等。本实施例中,用户体验评价参数还包括视频播放在行业小前端的命中率以及用户定位到感兴趣的视频内容需要的操作数。其中,视频播放在行业小前端的命中率具体指当前行业小前端对应的场景播放终端请求播放的目标视频分片文件在当前行业小前端中查找时的命中率,如果该命中率高,则说明对应的场景播放终端请求目标视频分片文件播放时直接在其对应的行业小前端获取的概率高,最佳情况是不需要到chord环上的其它chord节点或者云启动中心下载,也就是说,在场景播放终端对应的行业小前端命中时响应最快,所以用户体验度高。视频播放在行业小前端的命中率和chord算法有关。用户定位到感兴趣的视频内容需要的操作数具体是指场景播放终端的用户进入终端的首页之后,经过多少个操作(例如遥控器按键操作)才定位到感兴趣的视频。如果推荐和交互界面不友好,用户可能需要多个界面跳转,多个操作才能定位到感兴趣的视频,所以该参数能够用于评价用户体验。该参数具体可以通过以下方式实现,云启动中心在场景播放终端的UI端放置远程调用操作探针,在每次用户开机或者结束一次播放的时候操作数置零,用户跟UI每次交互记录用户记录操作类型并记录一次操作数增加,直到用户正式启动一个视频播放,由于用户操作数据同时涉及到UI的实时动态调整,所以通过终端UI设置探针实时将操作日志提交到云启动中心,而非像其它用户指标一样做定期上报。
本实施例中,视频播放在chord环内的命中率的测量方式参考如下:CVFS在场景播放终端每次请求视频的时候按照前述查找机制遍历chord环的节点路由表查找分片,如果在终端所属小前端命中分片则增加一个统计计数,如果在chord环内命中分片则增加一个环内命中计数,如果向云启动中心请求分片则增加一个云启动中心请求计数。把这些计数作为CVFS文件系统的操作日志记录下来,云启动中心定期向CVFS收集散列文件系统日志做统计分析,生成文件系统命中率报表。视频播放在chord环内的命中率可以定义为环内请求数/(环内请求数+云启动中心请求数)。
本实施例中,chord环的视频资源丰富度的测量方式参考如下:云启动中心通过对向CVFS请求CVFS视频文件列表,把请求到的视频文件列表跟云启动中心完整视频列表做比对计算。视频丰富程度指标可以定义为chord环总存储/剔除冗余散列文件的CVFS总视频数量,也就是单位视频占用chord环的存储空间。在没有chord环算法的情况下,每个视频文件都必须在每个小前端做复制,视频文件占用的总大小随着chord节点数线性增长,这是整个系统视频丰富度最低的情况。
下面继续通过具体的例子,进一步说明本发明的技术方案和技术效果。
如图3所示,本发明提供的基于小前端环的分布式视频服务架构实现了带云启动中心的chord环,具体构建流程可以参考如下:
步骤S1、管理员在云启动中心录入小前端认证和基本配置信息以及终端与小前端的关联信息。主要包括:哪些终端跟这个小前端做关联服务绑定。小前端登录到云启动中心的管理账号,密码,所在酒店,地理位置,小前端在整个SaaS平台的唯一标识域名:例如xxhotel.xxx.cn,小前端公网ip(Internet Protocol,网际互连协议)等等。
步骤S2、小前端通过互联网连接到云启动中心并发送认证信息到云启动中心。
步骤S3、如果认证通过,云启动中心从配置管理数据库查找小前端配置信息,并根据一定节点优选算法(最简单的算法比如最新加入chord环的节点)选出一个chord环的节点InitNode作为小前端加入chord环的路由引导节点,生成云启动中心全部视频试看分片下载的“启动指令”发送给小前端。
步骤S4、小前端接收到云启动中心向其发送的“启动指令”,更新自己的配置信息,小前端使用chord协议算法计算出跟自己mac(也可以是云启动中心指定的全局唯一ID(标识码))的hash(哈希)值对应chord节点位置,小前端根据chord协议和“启动指令”给出的InitNode引导生成自己的后继节点路由表fingertable。
步骤S5、小前端使用chord协议遍历通知所有路由表中的包含本小前端的前继节点,更新这些前继节点的路由表。这个更新chord环路由表算法过程的复杂度可以优化到O(logN)。
步骤S6、小前端完成加入chord环的过程,向云启动中心发送加入chord环完成的消息。
步骤S7、小前端开始从chord环下载“启动指令”要求初始化的视频分片。
“启动指令”用于云启动中心主动向chord环小前端更新视频分片,对应的流程可以参考如下:
管理员或者供应商通过某种方式上传一批视频内容文件。
云启动中心扫描每一个文件,调用转码切片模块,生成符合CVFS的哈希文件名和HLS索引及视频切片。
云启动中心生成把一部或者多部视频分片的前试看分片和索引文件批量推送到所有chord环的节点的指令,我们称云启动中心主动向小前端推送视频分片的指令为“启动指令”,典型的启动指令有:
云启动中心通过云启动中心跟小前端的通讯链接把这个指令下发到所有小前端。
小前端根据chord查找算法从云启动中心或者chord环内完成视频分片的下载并存储在本机。
本实施例提供的基于小前端环的分布式视频服务架构,相对于欧美的网络架构有很大不同。在欧美的网络架构里,行业用户的带宽成本与家庭用户的带宽成本差距没有那么大,终端也以分体机为主,视频码率与广域网分发带宽之比较小,大部分行业用户不存在小前端机房和服务器,故而不存在小前端服务器构成chord环以大幅度提高服务质量与性价比的实现方式。传统欧美视频服务并未针对此类视频服务孤岛做整合复用以提高效率和扩展性做整系统的设计,并且因为由于互联网视频服务使用场景都偏向于大范围的服务通用性,不存在行业特征和行业场景边缘节点,所以传统的互联网CDN扩展架构没有办法聚合提取定制化行业用户族群的边缘场景特征数据,导致这类技术改进无法结合行业用户特征时刻,地点,人群数据对计算效率和用户体验做深度的系统优化。
发展中国家的行业用户由于技术环境条件和信息化理念落后等原因,行业小前端基本上都是孤立的信息孤岛,闲置了大量的空间与计算能力,以至于不能提供汇聚的互联网服务,不能给行业用户有效提供高码率、与时俱进节目内容和高性价比的视频服务。现有技术中,通常是对chord的P2P(peer-to-peer,个人对个人)算法或者CDN算法做了一定改进,例如增加了区域环提升搜索效率,或者在CDN和P2P中间提出了一个放大层并针对这个放大层提出一个对应的主动优选分发的算法,然而以上这些技术改进解决的主要也是着眼于欧美传统CDN架构和chord算法的一些具体策略优化问题,受限于当前网络技术条件视角,并未意识到行业大量闲置的小前端计算孤岛的一旦形成联合计算的巨大潜力价值,以及由此带来的对用户体验的巨大提升效益。
在未来高速互联网时代,行业用户连通公有云计算资源的带宽资源将大幅度提升,行业用户之间的互联网连接将从Mbps(兆比特每秒)提升到Gbps(千兆比特每秒)级互联网高速带宽交换,这将对行业用户边缘计算的计算模式,资源存储模式,资源分发模式产生巨大影响,使得把上述行业用户成千上万闲置的计算和存储资源做视频计算融合,以统计复用的手段增益视频行业场景计算存储分发效率成为可能。以行业用户独立部署小前端的提供视频计算服务的孤岛模式将不可避免的被以行业SaaS云中心服务加边缘计算为核心的高效率可扩展新计算模式所替代,就如同淘宝云计算服务大范围取代和增益了线下一个个孤岛商店商品经营模式。
本实施例设计了一种带云启动中心的基于小前端环的分布式视频服务架构,将成千上万个分布式的行业小前端,通过互联网和云启动中心组成完全有别于传统CDN的视频服务哈希环的可扩展架构,以此提高行业视频小前端孤岛的计算存储效率和可扩展性,明显降低单位订阅的综合成本,进而使得户体验得到质和量的提升。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (12)

1.一种基于小前端环的分布式视频服务架构,包括若干行业小前端,每个所述行业小前端对应多个场景播放终端,每个所述行业小前端用于与对应的所述场景播放终端建立连接并提供流媒体视频服务;
其特征在于,若干所述行业小前端基于chord协议通过互联网形成chord环,所述chord环用于存储视频分片文件;每个所述行业小前端还用于基于chord协议在所述chord环上查找目标视频分片文件供对应的所述场景播放终端播放。
2.如权利要求1所述的基于小前端环的分布式视频服务架构,其特征在于,所述分布式视频服务架构还包括云启动中心;
所述云启动中心用于存储所有的视频资源,并将所述视频资源以所述视频分片文件的形式散列推送至所述chord环上的chord节点,所述chord节点为所述行业小前端。
3.如权利要求2所述的基于小前端环的分布式视频服务架构,其特征在于,每个所述视频资源包括试看时长部分和非试看时长部分;每个所述行业小前端均存储有每个所述视频资源的所述试看时长部分对应的所述视频分片文件;每个所述视频资源的所述非试看时长部分对应的所述视频分片文件基于散列算法分散存储于所述chord环的所述chord节点上。
4.如权利要求2所述的基于小前端环的分布式视频服务架构,其特征在于,每个所述行业小前端还用于在接收到对应的所述场景播放终端的目标视频的播放请求时按照以下顺序查找对应的所述目标视频分片文件:
先在当前所述行业小前端查找所述目标视频分片文件,若查找不到则在所述chord环的其它所述行业小前端查找所述目标视频分片文件,若在所述chord环查找不到则在所述云启动中心查找所述目标视频分片文件;
查找到后下载所述目标视频分片文件至当前所述行业小前端并更新所述chord环上相关的chord节点的节点路由表。
5.如权利要求4所述的基于小前端环的分布式视频服务架构,其特征在于,每个所述行业小前端还用于在接收到对应的所述场景播放终端的所述目标视频的播放请求后按照以下顺序查找所述目标视频所属的所有视频分片文件:
先在当前所述行业小前端查找所述目标视频所属的视频分片文件,若查找不到则在所述chord环的其它所述行业小前端中查找所述目标视频所属的视频分片文件,若在所述chord环查找不到则在所述云启动中心查找所述目标视频所属的视频分片文件;
当在所述chord环的其它所述行业小前端或在所述云启动中心中查找到所述目标视频所属的视频分片文件后,持续复制所述目标视频所属的视频分片文件对应的分片序列至当前所述行业小前端,直至所述目标视频在对应的所述场景播放终端播放结束或者所述目标视频所属的视频分片文件对应的分片序列全部复制完毕。
6.如权利要求4所述的基于小前端环的分布式视频服务架构,其特征在于,在每个所述行业小前端上查找所述目标视频分片文件时,若查找不到,则所述云启动中心对所述目标视频分片文件在当前所述行业小前端查找失败的次数进行累加计数,并在所述累加计数的结果超过预设参数值时触发所述当前行业小前端从所述chord环或者所述云启动中心下载所述目标视频分片文件,并更新所述chord环上相关的chord节点的节点路由表。
7.如权利要求4所述的基于小前端环的分布式视频服务架构,其特征在于,所述视频分片文件为HLS分片文件;
每个所述行业小前端还存储分布式视频散列文件系统,所述分布式视频散列文件系统为基于HLS的散列表视频文件的操作接口和算法,所述分布式视频散列文件系统用于基于chord协议在所述chord环上查找目标HLS分片文件供对应的所述场景播放终端播放。
8.如权利要求2所述的基于小前端环的分布式视频服务架构,其特征在于,每个所述行业小前端还用于根据所述云启动中心的发出的热度视频的动态更新的散列指令从所述chord环的其它所述行业小前端或者所述云启动中心下载所述散列指令对应的所述热度视频并更新相关的chord节点的节点路由表。
9.如权利要求8所述的基于小前端环的分布式视频服务架构,其特征在于,所述云启动中心还用于收集每个所述场景播放终端的用户行为日志并分析,基于分析结果生成动态更新的所述热度视频及发出所述热度视频的动态更新的散列指令。
10.如权利要求9所述的基于小前端环的分布式视频服务架构,其特征在于,所述行业小前端还用于存储对应的所述场景播放终端的UI元数据文件;
所述云启动中心还用于收集所述chord环的查找日志,基于所述查找日志和所述用户行为日志分析,以发现当前时刻的热点视频和关联视频,并将所述热点视频和所述关联视频散列推送至所述chord环中活跃度高于预定活跃度阈值的所述行业小前端,同时还将所述热点视频和所述关联视频的UI元信息推送至所有当前在线的所述行业场景播放终端。
11.如权利要求2所述的基于小前端环的分布式视频服务架构,其特征在于,所述场景播放终端的用户体验评价参数包括视频播放在所述行业小前端的命中率和/或用户定位到感兴趣的视频内容需要的操作数;
和/或,所述分布式视频服务架构的订阅成本评价参数包括视频播放在所述chord环内的命中率和/或chord环的视频资源丰富度。
12.如权利要求2所述的基于小前端环的分布式视频服务架构,其特征在于,所述云启动中心还用于所述chord环的chord节点和所述场景播放终端的接入管理和配置管理;
和/或,所述云启动中心还用于所述场景播放终端的UI的信息采集和动态更新;
和/或,所述云启动中心还用于所述视频资源的转码切片处理。
CN202010096407.4A 2020-02-18 2020-02-18 基于小前端环的分布式视频服务架构 Active CN110933447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010096407.4A CN110933447B (zh) 2020-02-18 2020-02-18 基于小前端环的分布式视频服务架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010096407.4A CN110933447B (zh) 2020-02-18 2020-02-18 基于小前端环的分布式视频服务架构

Publications (2)

Publication Number Publication Date
CN110933447A true CN110933447A (zh) 2020-03-27
CN110933447B CN110933447B (zh) 2020-12-01

Family

ID=69854848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010096407.4A Active CN110933447B (zh) 2020-02-18 2020-02-18 基于小前端环的分布式视频服务架构

Country Status (1)

Country Link
CN (1) CN110933447B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807539A (zh) * 2021-09-06 2021-12-17 北狐数字科技(上海)有限公司 机器学习与图形算力的高复用方法、系统、介质及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945254A (zh) * 2010-09-15 2011-01-12 中国科学院声学研究所 一种基于虚拟直播源的分布式流媒体点播方法
CN102547395A (zh) * 2011-12-31 2012-07-04 上海聚力传媒技术有限公司 一种用于确定网络播放器的视频数据源的方法与设备
US9785322B2 (en) * 2013-12-11 2017-10-10 Little Engines Group, Inc. Encapsulated interactive secondary digital media program, synchronized and associated with a discrete primary audio or video program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945254A (zh) * 2010-09-15 2011-01-12 中国科学院声学研究所 一种基于虚拟直播源的分布式流媒体点播方法
CN102547395A (zh) * 2011-12-31 2012-07-04 上海聚力传媒技术有限公司 一种用于确定网络播放器的视频数据源的方法与设备
US9785322B2 (en) * 2013-12-11 2017-10-10 Little Engines Group, Inc. Encapsulated interactive secondary digital media program, synchronized and associated with a discrete primary audio or video program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807539A (zh) * 2021-09-06 2021-12-17 北狐数字科技(上海)有限公司 机器学习与图形算力的高复用方法、系统、介质及终端
CN113807539B (zh) * 2021-09-06 2024-05-14 北狐数字科技(上海)有限公司 机器学习与图形算力的高复用方法、系统、介质及终端

Also Published As

Publication number Publication date
CN110933447B (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
US11343351B2 (en) Content distribution network supporting popularity-based caching
US9532114B2 (en) Optimizing caches for media streaming
US8826349B2 (en) Multicast adaptive stream switching for delivery of over the top video content
CN107071511B (zh) 提供客户端接收的广播视频流的倒回的方法及计算机系统
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
US9497035B2 (en) Method, device, and system for playing media based on P2P
WO2017071566A1 (zh) 网络视频播放方法和系统及用户终端、家庭流服务节点
US8347334B2 (en) System and method of recording television content
US8949915B2 (en) System and method for delivery of Video-on-Demand
JP2010079641A (ja) メタデータ収集装置、ならびにその方法およびプログラム
KR20120079880A (ko) 스트리밍 서비스 시스템에서 북마크 생성 장치 및 방법
KR20070047301A (ko) 네트워크 내에서 관련 콘텐트를 탐색하는 방법 및 디바이스
US20100191825A1 (en) Content acquisition apparatus, program, content acquisition method and content acquisition system
CN110933447B (zh) 基于小前端环的分布式视频服务架构
JP5433700B2 (ja) メタデータ収集装置
WO2012142842A1 (zh) 内容发布、内容获取的方法、内容发布装置及内容传播系统
Zhang et al. Video on-demand streaming on the internet—a survey
JP6497993B2 (ja) 中継装置、視聴端末およびそれらのプログラム
US20130226895A1 (en) System and method for multimedia stream data searching and retrieval
US11496803B2 (en) Video stream switching service
JP2009177811A (ja) 分割後のp2pモードでの繰延回復を目的としたコンテンツのライブ送信のための方法、並びに制御装置及び関連する設備
EP2235916A1 (en) A concentrator for storing and forwarding media content
KR20110104697A (ko) 클러스터 구성을 이용한 컨텐츠 제공 시스템 및 방법
JP2010238144A (ja) ノード装置、ノード処理プログラム及びコンテンツデータ削除方法

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