CN105228032B - 一种视频录像的点播方法和装置 - Google Patents

一种视频录像的点播方法和装置 Download PDF

Info

Publication number
CN105228032B
CN105228032B CN201510624469.7A CN201510624469A CN105228032B CN 105228032 B CN105228032 B CN 105228032B CN 201510624469 A CN201510624469 A CN 201510624469A CN 105228032 B CN105228032 B CN 105228032B
Authority
CN
China
Prior art keywords
fragment
video recording
program request
way
time
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
CN201510624469.7A
Other languages
English (en)
Other versions
CN105228032A (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.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview Technologies 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 Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN201510624469.7A priority Critical patent/CN105228032B/zh
Publication of CN105228032A publication Critical patent/CN105228032A/zh
Application granted granted Critical
Publication of CN105228032B publication Critical patent/CN105228032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • 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/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • 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
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明提供一种视频录像的点播方法和装置,该方法包括:将视频录像划分成多个分片子录像,并计算每个分片子录像的预热值;根据每个分片子录像的预热值计算每个分片子录像的预期复制路数;当分片子录像的当前实际复制路数小于所述分片子录像的预期复制路数时,则增加所述分片子录像的复制路数,以达到所述预期复制路数;当分片子录像的当前实际复制路数大于所述分片子录像的预期复制路数时,则减少所述分片子录像的复制路数,以达到所述预期复制路数;其中,所述分片子录像的每个复制路数对应于一个用于存储所述分片子录像的视频点播VOD节点。通过本发明的技术方案,可以减少占用的VOD节点的存储空间。

Description

一种视频录像的点播方法和装置
技术领域
本发明涉及视频技术领域,尤其涉及一种视频录像的点播方法和装置。
背景技术
VOD(Video On Demand,视频点播)系统也称为交互式电视点播系统,它是一种可以按照用户需要点播视频录像的交互式视频系统,可以为用户提供各种交互式的信息服务。其中,VOD系统是计算机技术、网络技术、多媒体技术发展的产物,摆脱了传统电视受到时空限制的束缚,可以基于用户需要,在用户想看视频录像的时间,向用户播放用户想看的视频录像。
VOD系统包括大量的VOD节点,每个VOD节点能够支持的点播需求有限,如VOD节点只能同时向100个用户播放视频录像。当某个视频录像有大量的点播需求时,可以提前将该视频录像存储到多个VOD节点上,这多个VOD节点共同承担该视频录像的点播需求,如VOD节点1向用户1-用户100播放该视频录像,VOD节点2向用户101-用户200播放该视频录像,VOD节点3向用户201-用户300播放该视频录像,以此类推。基于此,通过在多个VOD节点上存储同一个视频录像,可以快速向用户播放该视频录像,并能够同时向大量的用户播放该视频录像,满足大量用户的点播需求。
由于视频录像会占用大量存储空间,在提前将视频录像存储到多个VOD节点时,会占用VOD节点的大量存储空间。如果只有少量用户点播该视频录像,则少量的VOD节点就可以满足这些用户的点播需求,提前将视频录像存储到多个VOD节点的方式,浪费了VOD节点的大量存储空间。
发明内容
本发明提供一种视频录像的点播方法,所述方法包括以下步骤:
将视频录像划分成多个分片子录像,并计算每个分片子录像的预热值;
根据每个分片子录像的预热值计算每个分片子录像的预期复制路数;
当分片子录像的当前实际复制路数小于所述分片子录像的预期复制路数时,则增加所述分片子录像的复制路数,以达到所述预期复制路数;当分片子录像的当前实际复制路数大于所述分片子录像的预期复制路数时,则减少所述分片子录像的复制路数,以达到所述预期复制路数;其中,所述分片子录像的每个复制路数对应于一个用于存储所述分片子录像的视频点播VOD节点。
所述计算每个分片子录像的预热值的过程,具体包括:
步骤A、在点播集合中记录每个分片子录像的分片时间和点播路数;
步骤B、利用每个分片子录像的分片时间和点播路数,计算所述点播集合的时间中心点,并利用所述时间中心点与每个分片子录像的分片时间,计算每个分片子录像的距离,并计算每个分片子录像的距离的平均距离;
步骤C、累加每个分片子录像的点播路数,得到点播总路数,并计算点播密度为所述点播总路数除以所述平均距离;
步骤D、利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值。
所述步骤D,具体包括:当分片子录像的分片时间对应的时间区间位于所述时间中心点之后时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CF;当分片子录像的分片时间对应的时间区间位于所述时间中心点之前时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CB;当分片子录像的分片时间对应的时间区间包括所述时间中心点时,计算所述分片子录像的预热值为LA*MD*CC;其中,LA为所述平均距离,TA为所述时间中心点,MD为所述点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且所述CF的取值大于所述CB的取值。
所述步骤C之前还包括:
步骤E、判断每个分片子录像的距离中是否存在绝对值大于LA*CK的距离;如果不存在,执行步骤C;如果存在,则判断绝对值大于LA*CK的距离的数量是否小于等于CN;如果是,执行步骤F;如果否,执行步骤C;其中,LA为所述平均距离,CK为大于1的常数,CN为异常点个数门限值;
步骤F、从点播集合中删除绝对值大于LA*CK的距离所对应的分片子录像的分片时间和点播路数,并基于更新后的点播集合执行步骤B。
所述步骤C后还包括:当所述平均距离小于等于CT、且所述点播总路数大于等于CL时,则执行所述步骤D;或者,当所述点播密度大于等于CM、所述平均距离小于等于CH、且所述点播总路数大于等于所述CL时,则执行所述步骤D;其中,CT、CL、CM、CH均为预设常数,且CT的取值小于CH的取值;
当平均距离大于CT、点播总路数大于等于CL时,则执行如下步骤:
步骤G、将点播集合划分成第一点播子集合和第二点播子集合,利用所述时间中心点和平均距离确定第一点播子集合的第一时间中心点、第二点播子集合的第二时间中心点;
步骤H、针对所述点播集合内的每个分片子录像,计算所述分片子录像的分片时间与第一时间中心点之间的第一距离,并计算所述分片子录像的分片时间与第二时间中心点之间的第二距离;当所述第一距离小于所述第二距离时,将所述分片子录像划分到所述第一点播子集合中;当所述第一距离大于所述第二距离时,将所述分片子录像划分到所述第二点播子集合中;
步骤I、如果当前得到的第一点播子集合内的分片子录像与上一次得到的第一点播子集合内的分片子录像相同,并且当前得到的第二点播子集合内的分片子录像与上一次得到的第二点播子集合内的分片子录像相同,则基于当前得到的第一点播子集合内的分片子录像、以及当前得到的第二点播子集合内的分片子录像,分别执行所述步骤B;否则,执行步骤J;
步骤J、利用当前得到的第一点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第一点播子集合的第一时间中心点;利用当前得到的第二点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第二点播子集合的第二时间中心点;执行所述步骤H。
所述步骤D,具体包括:
针对每个分片子录像,计算分片子录像在每个点播子集合中对应的预热累计值,并计算所述分片子录像的预热值为得到的各个预热累计值之和;
其中,在计算分片子录像在点播子集合中对应的预热累计值时,当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之后时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CF;当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之前时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CB;当所述分片子录像的分片时间对应的时间区间包括所述点播子集合的时间中心点时,计算所述分片子录像的预热累计值为LA*MD*CC;
其中,LA为所述点播子集合的平均距离,TA为所述点播子集合的时间中心点,MD为所述点播子集合的点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且CF的取值大于CB的取值。
所述根据每个分片子录像的预热值计算每个分片子录像的预期复制路数的过程,具体包括:计算分片子录像的预期复制路数为所述分片子录像的点播路数乘以预设转换系数,再加上所述分片子录像的预热值。
分片子录像的每个当前实际复制路数均设置有对应的老化定时器,所述方法进一步包括:当所述分片子录像的当前实际复制路数小于所述预期复制路数时,则为每个新增加的复制路数设置老化定时器,并设置所述老化定时器的老化时间,并为当前实际复制路数对应的老化定时器重新刷新老化时间;
当所述分片子录像的当前实际复制路数大于所述预期复制路数时,则从当前实际复制路数对应的老化定时器中,选择与所述预期复制路数相适应的老化定时器,并为当前选择的老化定时器重新刷新老化时间;在未被选择的老化定时器超时之后,则删除所述未被选择的老化定时器对应的复制路数,以减少所述分片子录像的复制路数,达到所述预期复制路数。
本发明提供一种视频录像的点播装置,所述装置具体包括:
第一计算模块,用于将视频录像划分成多个分片子录像,并计算每个分片子录像的预热值;
第二计算模块,用于根据每个分片子录像的预热值计算每个分片子录像的预期复制路数;
处理模块,用于当分片子录像的当前实际复制路数小于所述分片子录像的预期复制路数时,则增加所述分片子录像的复制路数,以达到所述预期复制路数;当分片子录像的当前实际复制路数大于所述分片子录像的预期复制路数时,则减少所述分片子录像的复制路数,以达到所述预期复制路数;所述分片子录像的每个复制路数对应于一个用于存储所述分片子录像的视频点播VOD节点。
所述第一计算模块,具体用于在计算每个分片子录像的预热值的过程中,在点播集合中记录每个分片子录像的分片时间和点播路数;利用每个分片子录像的分片时间和点播路数,计算点播集合的时间中心点,并利用所述时间中心点与每个分片子录像的分片时间,计算每个分片子录像的距离,并计算每个分片子录像的距离的平均距离;累加每个分片子录像的点播路数,得到点播总路数,并计算点播密度为所述点播总路数除以所述平均距离;利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值。
所述第一计算模块,具体用于在利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值的过程中,当分片子录像的分片时间对应的时间区间位于所述时间中心点之后时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CF;当分片子录像的分片时间对应的时间区间位于所述时间中心点之前时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CB;当分片子录像的分片时间对应的时间区间包括所述时间中心点时,计算所述分片子录像的预热值为LA*MD*CC;其中,LA为所述平均距离,TA为所述时间中心点,MD为所述点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且所述CF的取值大于所述CB的取值。
所述第一计算模块,还用于在累加每个分片子录像的点播路数,得到点播总路数之前,判断每个分片子录像的距离中是否存在绝对值大于LA*CK的距离;如果不存在,则执行累加每个分片子录像的点播路数,得到点播总路数的过程;如果存在,则判断绝对值大于LA*CK的距离的数量是否小于等于CN;如果是,则从点播集合中删除绝对值大于LA*CK的距离所对应的分片子录像的分片时间和点播路数,并基于更新后的点播集合返回执行利用每个分片子录像的分片时间和点播路数,计算所述点播集合的时间中心点的过程;如果否,则执行累加每个分片子录像的点播路数,得到点播总路数的过程;其中,LA为所述平均距离,CK为大于1的常数,CN为异常点个数门限值。
所述第一计算模块,具体用于在计算点播密度为所述点播总路数除以所述平均距离之后,当所述平均距离小于等于CT、且所述点播总路数大于等于CL时,或者,当所述点播密度大于等于CM、所述平均距离小于等于CH、且所述点播总路数大于等于所述CL时,则利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值;其中,CT、CL、CM、CH均为预设常数,且CT的取值小于CH的取值;
当平均距离大于CT、点播总路数大于等于CL时,将点播集合划分成第一点播子集合和第二点播子集合,利用所述时间中心点和平均距离确定第一点播子集合的第一时间中心点、第二点播子集合的第二时间中心点;针对所述点播集合内的每个分片子录像,计算所述分片子录像的分片时间与第一时间中心点之间的第一距离,计算所述分片子录像的分片时间与第二时间中心点之间的第二距离;当所述第一距离小于所述第二距离时,将所述分片子录像划分到所述第一点播子集合中;当所述第一距离大于所述第二距离时,将所述分片子录像划分到所述第二点播子集合中;如果当前得到的第一点播子集合内的分片子录像与上一次得到的第一点播子集合内的分片子录像相同,当前得到的第二点播子集合内的分片子录像与上一次得到的第二点播子集合内的分片子录像相同,基于当前得到的第一点播子集合内的分片子录像、当前得到的第二点播子集合内的分片子录像,分别返回执行利用每个分片子录像的分片时间和点播路数,计算点播集合的时间中心点的过程;否则,利用当前得到的第一点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第一点播子集合的第一时间中心点,利用当前得到的第二点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第二点播子集合的第二时间中心点,返回执行计算所述分片子录像的分片时间与第一时间中心点之间的第一距离的过程。
所述第一计算模块,具体用于在利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值的过程中,针对每个分片子录像,计算分片子录像在每个点播子集合中对应的预热累计值,并计算所述分片子录像的预热值为得到的各个预热累计值之和;
其中,在计算分片子录像在点播子集合中对应的预热累计值时,当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之后时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CF;当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之前时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CB;当所述分片子录像的分片时间对应的时间区间包括所述点播子集合的时间中心点时,计算所述分片子录像的预热累计值为LA*MD*CC;
其中,LA为所述点播子集合的平均距离,TA为所述点播子集合的时间中心点,MD为所述点播子集合的点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且CF的取值大于CB的取值。
所述第二计算模块,具体用于在根据每个分片子录像的预热值计算每个分片子录像的预期复制路数的过程中,计算分片子录像的预期复制路数为所述分片子录像的点播路数乘以预设转换系数,再加上分片子录像的预热值。
分片子录像的每个当前实际复制路数均设置有对应的老化定时器;
所述处理模块,还用于当所述分片子录像的当前实际复制路数小于所述预期复制路数时,则为每个新增加的复制路数设置老化定时器,并设置所述老化定时器的老化时间,并为当前实际复制路数对应的老化定时器重新刷新老化时间;当所述分片子录像的当前实际复制路数大于所述预期复制路数时,则从当前实际复制路数对应的老化定时器中,选择与所述预期复制路数相适应的老化定时器,并为当前选择的老化定时器重新刷新老化时间;在未被选择的老化定时器超时之后,则删除所述未被选择的老化定时器对应的复制路数,以减少所述分片子录像的复制路数,达到所述预期复制路数。
基于上述技术方案,本发明实施例中,通过将一个连续的视频录像划分成多个分片子录像,并针对每个分片子录像计算预期复制路数,并按照预期复制路数将分片子录像存储到VOD节点。上述方式可以基于用户点播需求,合理的将分片子录像存储到与用户点播需求相适应的多个VOD节点,不会存储多余的分片子录像,而且,存储到VOD节点的只是连续的视频录像中的部分分片子录像,而不是连续的视频录像本身,从而在提前将分片子录像存储到VOD节点时,不需要在VOD节点上存储占用大量存储空间的视频录像,减少占用的VOD节点的存储空间,并且可以满足用户的点播需求。
附图说明
图1是本发明一种实施方式中的视频录像的点播方法的流程图;
图2是本发明一种实施方式中的VOD服务器的硬件结构图;
图3是本发明一种实施方式中的视频录像的点播装置的结构图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提出一种视频录像的点播方法,该方法可以应用于VOD系统中,VOD系统包括VOD服务器和多个VOD节点。VOD节点用于存储视频录像,并向用户播放视频录像,VOD服务器用于管理和控制所有的VOD节点,且该方法可以应用在VOD服务器上。
本发明实施例所指的视频录像,可以是摄像机监控到的连续的视频录像,用户可以点播该视频录像,即用户在自身的显示设备上回放该视频录像。
基于本发明实施例中提出的方法,可以将连续的视频录像中的部分分片子录像提前存储到多个VOD节点,这多个VOD节点共同承担分片子录像的点播需求,并可以快速向用户播放分片子录像,并能够同时向大量的用户播放分片子录像,以满足大量用户的点播需求。由于可以加快分片子录像的播放速度,因此,本发明的这种方式可以称为视频录像回放分布加速策略。
如图1所示,该视频录像的点播方法具体可以包括以下步骤:
步骤101,将视频录像划分成多个分片子录像,并计算每个分片子录像的预热值。
本发明实施例中,计算每个分片子录像的预热值的过程,具体包括:
步骤A、在将视频录像划分成多个分片子录像之后,生成点播集合GV,并在该点播集合GV中,记录每个分片子录像的分片时间TN和点播路数VN。
其中,对摄像机监控的连续的视频录像进行离散化处理,可以得到多个分片子录像。其中,可以根据实际需要选择分片时间,即分片子录像的分片时间可以任意选择。其中,连续的视频录像可以按照固定分片时间进行录像分片,也可以按照不同的分片时间进行录像分片。在按照固定分片时间进行录像分片时,所有的分片子录像的分片时间TN相同。在按照不同的分片时间进行录像分片时,所有的分片子录像的分片时间TN可以不同。
进一步的,在按照不同的分片时间进行录像分片时,不同的分片时间TN可以选择为N个最小的时间单元,N可以为1,2,3,4等数值。最小的时间单元可以是摄像机存储视频录像的最小单元,便于后续按照摄像机存储视频录像的最小单元,将分片子录像存储到多个VOD节点。例如,假设最小的时间单元为5分钟,当N为2时,则分片子录像的分片时间TN为10分钟,当N为4时,则分片子录像的分片时间TN为20分钟。
针对每个分片子录像,统计各分片子录像的分片时间TN和点播路数VN(当前点播路数),并在点播集合GV中记录每个分片子录像的分片时间TN和点播路数VN。例如,针对一个0-60分钟的连续的视频录像,划分成分片子录像1、分片子录像2、分片子录像3和分片子录像4。其中,分片子录像1(0-10分钟的视频录像)的分片时间TN为10分钟,且点播路数VN为200个。分片子录像2(10-30分钟的视频录像)的分片时间TN为20分钟,且点播路数VN为500个。分片子录像3(30-50分钟的视频录像)的分片时间TN为20分钟,且点播路数VN为600个。分片子录像4(50-60分钟的视频录像)的分片时间TN为10分钟,且点播路数VN为400个。
步骤B,利用点播集合GV中的每个分片子录像的分片时间TN和点播路数VN,计算点播集合GV的时间中心点TA,并利用时间中心点TA与每个分片子录像的分片时间TN,计算每个分片子录像的距离,并利用每个分片子录像的距离计算出每个分片子录像的距离的平均距离LA。
其中,后续描述中的分片子录像均是指点播集合GV中的分片子录像。
其中,时间中心点TA为点播集合GV内的所有分片子录像的时间均值。在一种实现方式中,本发明实施例中,利用点播集合GV中的每个分片子录像的分片时间TN和点播路数VN,计算点播集合GV的时间中心点TA的过程,具体可以包括但不限于如下方式:利用如下公式计算点播集合GV的时间中心点TA:TA=(T1*V1+T2*V2+…+Tm*Vm)/(V1+V2+…+Vm)。其中,TA为时间中心点,m为点播集合GV内的分片子录像的数量,Tm为第m个分片子录像的分片时间,Vm为第m个分片子录像的点播路数。
例如,T1为第1个分片子录像1的分片时间10分钟,且V1为第1个分片子录像1的点播路数200个,T2为分片子录像2的分片时间20分钟,且V2为分片子录像2的点播路数500个,T3为分片子录像3的分片时间20分钟,且V3为分片子录像3的点播路数600个,T4为分片子录像4的分片时间10分钟,且V4为分片子录像4的点播路数400个。基于此,则TA=(10*200+20*500+20*600+10*400)/(200+500+600+400)=28000/1700=16。
本发明实施例中,利用时间中心点TA与每个分片子录像的分片时间TN,计算每个分片子录像的距离的过程,具体可以包括但不限于如下方式:将每个分片子录像的分片时间TN与时间中心点TA进行时间差值运算,将运算结果的绝对值作为每个分片子录像的距离。例如,分片子录像1的距离为6分钟(16-10),分片子录像2的距离为4分钟(20-16),分片子录像3的距离为4分钟(20-16),分片子录像4的距离为6分钟(16-10)。
在一种具体实现方式中,本发明实施例中,利用每个分片子录像的距离,计算出每个分片子录像的距离的平均距离LA的过程,具体可以包括但不限于如下方式:利用如下公式计算出每个分片子录像的距离的平均距离:LA=(|L1|*V1+|L2|*V2+…+|Lm|*Vm)/(V1+V2+*+Vm)。其中,该LA为平均距离,该m为点播集合GV内的分片子录像的数量,该Lm为第m个分片子录像的距离,该Vm为第m个分片子录像的点播路数。
例如,L1为第1个分片子录像1的距离6分钟,V1为第1个分片子录像1的点播路数200个,L2为第2个分片子录像2的距离4分钟,V2为第2个分片子录像2的点播路数500个,L3为第3个分片子录像3的距离4分钟,V3为第3个分片子录像3的点播路数600个,L4为第4个分片子录像4的距离6分钟,V4为第4个分片子录像4的点播路数400个。基于此,LA=(6*200+4*500+4*600+6*400)/(200+500+600+400)=8000/1700=5分钟。
步骤C,累加每个分片子录像的点播路数VN,得到点播总路数VS,并计算点播密度MD为点播总路数VS除以平均距离LA。
例如,点播总路数VS=200+500+600+400=1700个,并计算点播密度MD为点播总路数VS(1700个)/平均距离LA(5分钟)=340个每分钟。
步骤D,利用时间中心点TA、平均距离LA、点播密度MD,计算每个分片子录像的预热值。
针对每个分片子录像中的一个分片子录像,利用时间中心点TA、平均距离LA、点播密度MD,计算每个分片子录像的预热值的过程,具体可以包括但不限于如下方式:当该分片子录像的分片时间对应的时间区间位于时间中心点TA之后时,则计算该分片子录像的预热值为(LA/|TN-TA|)*MD*CF;当该分片子录像的分片时间对应的时间区间位于时间中心点TA之前时,则计算该分片子录像的预热值为(LA/|TN-TA|)*MD*CB;当该分片子录像的分片时间对应的时间区间包括时间中心点TA时,则计算该分片子录像的预热值为LA*MD*CC。
其中,分片子录像1的分片时间对应的时间区间为0-10分钟,而时间中心点TA为16分钟,因此分片子录像1对应的时间区间位于时间中心点TA之前。分片子录像2的分片时间对应的时间区间为10-30分钟,而时间中心点TA为16分钟,因此分片子录像2对应的时间区间包括时间中心点TA。分片子录像3的分片时间对应的时间区间为30-50分钟,而时间中心点TA为16分钟,因此分片子录像3对应的时间区间位于时间中心点TA之后。分片子录像4的分片时间对应的时间区间为50-60分钟,而时间中心点TA为16分钟,因此分片子录像4对应的时间区间位于时间中心点TA之后。
其中,TN为分片子录像的分片时间,如分片子录像1的分片时间TN为10分钟等。TN的取值范围为(TA-LA*CI)到(TA+LA*CI),CI为大于1的常数,可以根据实际经验任意设置,用于调节TN的取值范围。例如,当CI为2时,上述过程已经计算出TA为16分钟,LA为5分钟,因此TN的取值范围为6分钟到26分钟。基于此,当分片子录像的分片时间位于该取值范围时,则需要计算该分片子录像的预热值;当分片子录像的分片时间不位于该取值范围时,则不需要计算该分片子录像的预热值。
其中,考虑到视频录像的播放顺序通常为顺时播放,位于时间中心点TA之后的分片子录像被播放的几率大于位于时间中心点TA之前的分片子录像被播放的几率,因此设置CF的取值大于CB的取值,使得位于时间中心点TA之后的分片子录像的预热值大于位于时间中心点TA之前的分片子录像的预热值。还可以设置CC的取值位于CF的取值与CB的取值之间。
其中,CF、CB和CC均为转换系数,可以基于VOD节点的播放能力确定。例如,当VOD节点能够同时向100个用户播放视频录像时,则可以设置CB的取值为1/100。设置CC的取值大于CB的取值,如CC的取值为1/50。设置CF的取值大于CC的取值,如CF的取值为1/20。
在步骤B之后,步骤C之前,还可以包括以下步骤:
步骤E,判断每个分片子录像的距离中是否存在绝对值大于LA*CK的距离。如果不存在,则执行步骤C;如果存在,则判断绝对值大于LA*CK的距离的数量是否小于等于CN;如果是,执行步骤F;如果否,执行步骤C。
步骤F,从点播集合中删除绝对值大于LA*CK的距离所对应的分片子录像的分片时间TN和点播路数VN,并基于更新后的点播集合重新执行步骤B,即步骤B中使用的点播集合GV为更新后的点播集合。
其中,LA为每个分片子录像的距离的平均距离。CK为大于1的常数,用于异常点的距离判断依据,CK的取值可以基于实际经验任意设置。CN为异常点个数门限值,CN的取值可以基于实际经验任意设置。
本发明实施例中,针对步骤D,利用时间中心点TA、平均距离LA、点播密度MD,计算每个分片子录像的预热值的过程,具体可以包括但不限于如下方式:当平均距离LA小于等于CT、且点播总路数VS大于等于CL时,则执行利用时间中心点TA、平均距离LA、点播密度MD,计算每个分片子录像的预热值的过程。或者,当点播密度MD大于等于CM、平均距离LA小于等于CH、且点播总路数VS大于等于CL时,则执行利用时间中心点TA、平均距离LA、点播密度MD,计算每个分片子录像的预热值的过程。
其中,CT、CL、CM、CH均为预设常数,均可以基于实际经验任意设置。具体的,CT为符合加速的最大平均距离常数,CL为符合加速的最小点播路数常数;当平均距离LA小于等于CT,点播总路数VS大于等于CL时,则说明符合加速策略,需要实现分布加速,执行计算预热值的过程。CM为高密度点播的阀值常数,CH为高密度点播的最大平均距离常数,且CH的取值大于CT的取值,CM与CH为长时间高密度点播场景下的参数;当点播密度MD大于等于CM时,虽然平均距离LA大于CT,但是只要平均距离LA小于等于CH,且点播总路数VS大于等于CL,则由于点播密度MD较大,符合加速策略,需要实现分布加速,执行计算预热值的过程。
在步骤C之后,在步骤D之前,还可以包括以下步骤:
步骤G,当平均距离LA大于CT、且点播总路数VS大于等于CL时,则将点播集合划分成第一点播子集合和第二点播子集合,并利用时间中心点TA和平均距离LA确定第一点播子集合的第一时间中心点、以及第二点播子集合的第二时间中心点。在本步骤G之后,执行步骤H。
其中,当不满足条件(平均距离LA小于等于CT、点播总路数VS大于等于CL),且不满足条件(点播密度MD大于等于CM、平均距离LA小于等于CH、且点播总路数VS大于等于CL)时,如果满足条件(平均距离LA大于CT、且点播总路数VS大于等于CL),则执行步骤G以及后续步骤。当不满足条件(平均距离LA小于等于CT、点播总路数VS大于等于CL),且不满足条件(点播密度MD大于等于CM、平均距离LA小于等于CH、且点播总路数VS大于等于CL),且不满足条件(平均距离LA大于CT、且点播总路数VS大于等于CL)时,则不执行计算预热值的过程,也不执行步骤G以及后续步骤,而是直接丢弃点播集合,不再进行后续处理。
其中,在利用时间中心点TA和平均距离LA确定第一点播子集合的第一时间中心点、以及第二点播子集合的第二时间中心点的过程中,可以确定该第一时间中心点为TA-LA/2,确定该第二时间中心为TA+LA/2。
步骤H,针对点播集合(即未划分成第一点播子集合和第二点播子集合时的点播集合)内的每个分片子录像,计算分片子录像的分片时间TN与第一时间中心点之间的第一距离,分片子录像的分片时间TN与第二时间中心点之间的第二距离。当第一距离小于第二距离时,则将分片子录像划分到第一点播子集合中;当第一距离大于第二距离时,则将分片子录像划分到第二点播子集合中;当第一距离等于第二距离时,则将分片子录像划分到第一点播子集合或者第二点播子集合中。在本步骤H之后,执行步骤I。
步骤I,如果当前得到的第一点播子集合内的分片子录像与上一次得到的第一点播子集合内的分片子录像相同,并且当前得到的第二点播子集合内的分片子录像与上一次得到的第二点播子集合内的分片子录像相同,则基于当前得到的第一点播子集合内的分片子录像、以及当前得到的第二点播子集合内的分片子录像,分别执行步骤B;否则,执行步骤J。
其中,如果当前是第一次得到第一点播子集合内的分片子录像,则上一次得到的第一点播子集合内的分片子录像为空,当前得到的第一点播子集合内的分片子录像与上一次得到的第一点播子集合内的分片子录像不同。同理,如果当前是第一次得到第二点播子集合内的分片子录像,则上一次得到的第二点播子集合内的分片子录像为空,当前得到的第二点播子集合内的分片子录像与上一次得到的第二点播子集合内的分片子录像不同。
基于第一点播子集合内的分片子录像重新执行步骤B时,则步骤B中使用的点播集合为第一点播子集合。基于第二点播子集合内的分片子录像重新执行步骤B时,则步骤B中使用的点播集合为第二点播子集合。
步骤J,利用当前得到的第一点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新第一点播子集合的第一时间中心点;利用当前得到的第二点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新第二点播子集合的第二时间中心点。步骤J之后,执行步骤H。
本发明实施例中,基于当前得到的第一点播子集合内的分片子录像、当前得到的第二点播子集合内的分片子录像,分别执行上述步骤B、步骤C和步骤D,以得到每个分片子录像的预热值。步骤B和步骤C的处理与上述步骤B和步骤C的处理类似,在此不再赘述。针对步骤D,在利用时间中心点TA、平均距离LA、点播密度MD,计算每个分片子录像的预热值的过程中,则:针对每个分片子录像,计算该分片子录像在每个点播子集合中对应的预热累计值,并计算该分片子录像的预热值为得到的各个预热累计值之和。例如,假设存在第一点播子集合和第二点播子集合,则计算分片子录像1在第一点播子集合中对应的预热累计值1,计算分片子录像1在第二点播子集合中对应的预热累计值2,并计算分片子录像1的预热值为预热累计值1与预热累计值2之和。
本发明实施例中,在计算分片子录像在点播子集合中对应的预热累计值时,当该分片子录像的分片时间对应的时间区间位于该点播子集合的时间中心点之后时,计算该分片子录像的预热累计值为(LA/|TN-TA|)*MD*CF;当该分片子录像的分片时间对应的时间区间位于该点播子集合的时间中心点之前时,计算该分片子录像的预热累计值为(LA/|TN-TA|)*MD*CB;当该分片子录像的分片时间对应的时间区间包括该点播子集合的时间中心点时,计算该分片子录像的预热累计值为LA*MD*CC;其中,LA为该点播子集合的平均距离,TA为该点播子集合的时间中心点,MD为该点播子集合的点播密度,TN为该分片子录像的分片时间,CF、CB和CC均为转换系数,且CF的取值大于CB的取值。
其中,TN的取值范围为(TA-LA*CI)到(TA+LA*CI),且TA是指该点播子集合的时间中心点,LA是指该点播子集合的平均距离。
步骤102,根据每个分片子录像的预热值计算每个分片子录像的预期复制路数。其中,针对每个分片子录像中的一个分片子录像,利用该分片子录像的点播路数VN和预热值,计算该分片子录像的预期复制路数。
本发明实施例中,根据每个分片子录像的预热值计算每个分片子录像的预期复制路数的过程,具体可以包括但不限于如下方式:计算分片子录像的预期复制路数为:该分片子录像的点播路数VN乘以预设转换系数,再加上该分片子录像的预热值。其中,该预设转换系数的取值可以基于VOD节点的播放能力确定,例如,当VOD节点能够同时向100个用户播放视频录像时,则可以设置预设转换系数的取值为1/100。
步骤103,当分片子录像的当前实际复制路数小于该分片子录像的预期复制路数时,则增加该分片子录像的复制路数,以达到预期复制路数;当分片子录像的当前实际复制路数大于该分片子录像的预期复制路数时,则减少该分片子录像的复制路数,以达到预期复制路数。其中,分片子录像的每个复制路数对应于一个用于存储该分片子录像的VOD节点。
例如,当分片子录像的复制路数为10时,该分片子录像对应10个VOD节点,即该分片子录像需要被复制到10个VOD节点。
本发明实施例中,对于分片子录像的每个当前实际复制路数,均设置有对应的老化定时器。其中,当该分片子录像的当前实际复制路数小于预期复制路数时,则可以为每个新增加的复制路数设置老化定时器,并设置该老化定时器的老化时间,并为当前实际复制路数对应的老化定时器重新刷新老化时间。此外,当该分片子录像的当前实际复制路数大于预期复制路数时,则从当前实际复制路数对应的所有老化定时器中,选择与该预期复制路数相适应的老化定时器,并为当前选择的老化定时器重新刷新老化时间;进一步的,在未被选择的老化定时器超时之后,则删除未被选择的老化定时器对应的复制路数,以减少分片子录像的复制路数,达到预期复制路数。
例如,分片子录像1的当前实际复制路数1、2、3均设置有对应的老化定时器。在当前实际复制路数小于预期复制路数4时,为新增加的复制路数4设置老化定时器,并为当前实际复制路数1、2、3对应的老化定时器重新刷新老化时间。在当前实际复制路数大于预期复制路数2时,从当前实际复制路数1、2、3对应的老化定时器中,选择与预期复制路数2相适应的两个老化定时器,为当前选择的当前实际复制路数1、2对应的老化定时器重新刷新老化时间;在当前实际复制路数3对应的老化定时器超时之后,删除当前实际复制路数3,此时分片子录像1的复制路数为复制路数1、2。
本发明实施例中,通过获取分片子录像对应的预期复制路数,以将该分片子录像提前存储到这预期复制路数对应的多个VOD节点上,这多个VOD节点共同承担该分片子录像的点播需求,并可以快速向用户播放该分片子录像,并能够同时向大量的用户播放分片子录像,以满足大量用户的点播需求。
基于上述技术方案,本发明实施例中,通过将一个连续的视频录像划分成多个分片子录像,并针对每个分片子录像计算预期复制路数,并按照预期复制路数将分片子录像存储到VOD节点。上述方式可以基于用户点播需求,合理的将分片子录像存储到与用户点播需求相适应的多个VOD节点,不会存储多余的分片子录像,而且,存储到VOD节点的只是连续的视频录像中的部分分片子录像,而不是连续的视频录像本身,从而在提前将分片子录像存储到VOD节点时,不需要在VOD节点上存储占用大量存储空间的视频录像,减少占用的VOD节点的存储空间,并且可以满足用户的点播需求。
以下结合具体的实施例对上述过程进行进一步的说明。
步骤1,将视频录像划分成多个分片子录像,并生成点播集合GV,在该点播集合GV中,记录每个分片子录像的分片时间TN和点播路数VN。
步骤2,利用点播集合GV中的每个分片子录像的分片时间TN和点播路数VN,计算点播集合GV的时间中心点TA,并利用时间中心点TA与每个分片子录像的分片时间TN,计算每个分片子录像的距离,并利用每个分片子录像的距离计算出每个分片子录像的距离的平均距离LA。
步骤3,判断每个分片子录像的距离中是否存在绝对值大于LA(即平均距离)*CK的距离。如果不存在,则执行步骤6;如果存在,则执行步骤4。
步骤4,判断绝对值大于LA(即平均距离)*CK的距离的数量是否小于等于CN。如果是,则执行步骤5;如果否,则执行步骤6。
步骤5,从点播集合中删除绝对值大于LA(即平均距离)*CK的距离所对应的分片子录像的分片时间TN和点播路数VN,并基于更新后的点播集合重新执行步骤2,即步骤2中使用的点播集合GV为更新后的点播集合。
步骤6,累加每个分片子录像的点播路数VN,得到点播总路数VS,并计算点播密度MD为点播总路数VS除以平均距离LA。
其中,当满足条件(平均距离LA小于等于CT、点播总路数VS大于等于CL),或者满足条件(点播密度MD大于等于CM、平均距离LA小于等于CH、且点播总路数VS大于等于CL)时,则执行步骤11。当不满足条件(平均距离LA小于等于CT、点播总路数VS大于等于CL),且不满足条件(点播密度MD大于等于CM、平均距离LA小于等于CH、且点播总路数VS大于等于CL),但满足条件(平均距离LA大于CT、且点播总路数VS大于等于CL)时,则执行步骤7。否则,直接丢弃点播集合。
步骤7,将点播集合划分成第一点播子集合和第二点播子集合,并利用时间中心点TA和平均距离LA,确定该第一点播子集合的第一时间中心点、以及确定该第二点播子集合的第二时间中心点。
步骤8,针对点播集合内的每个分片子录像,计算分片子录像的分片时间TN与第一时间中心点之间的第一距离,该分片子录像的分片时间TN与第二时间中心点之间的第二距离。其中,当第一距离小于第二距离时,则将该分片子录像划分到第一点播子集合中;当第一距离大于第二距离时,则将该分片子录像划分到第二点播子集合中;当第一距离等于第二距离时,则将该分片子录像划分到第一点播子集合或者第二点播子集合中。
步骤9,如果当前得到的第一点播子集合内的分片子录像与上一次得到的第一点播子集合内的分片子录像相同,并且当前得到的第二点播子集合内的分片子录像与上一次得到的第二点播子集合内的分片子录像相同,则基于当前得到的第一点播子集合内的分片子录像、以及当前得到的第二点播子集合内的分片子录像,分别执行步骤2;否则,执行步骤10。
步骤10,利用当前得到的第一点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新第一点播子集合的第一时间中心点;利用当前得到的第二点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新第二点播子集合的第二时间中心点。在步骤10之后,执行步骤8。
步骤11,利用时间中心点TA、平均距离LA、点播密度MD,计算每个分片子录像(即点播集合内的每个分片子录像)的预热值。
步骤12,针对每个分片子录像中的一个分片子录像,利用该分片子录像的点播路数VN和预热值,计算该分片子录像的预期复制路数。
步骤13,当分片子录像的当前实际复制路数小于预期复制路数时,则增加该分片子录像的复制路数,以达到预期复制路数;当分片子录像的当前实际复制路数大于预期复制路数时,则减少该分片子录像的复制路数,以达到预期复制路数。其中,分片子录像的每个复制路数对应于一个VOD节点。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种视频录像的点播装置,应用于VOD服务器上。其中,该视频录像的点播装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的VOD服务器的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本发明提出的视频录像的点播装置所在的VOD服务器的一种硬件结构图,除了图2所示的处理器、网络接口、内存以及非易失性存储器外,VOD服务器还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲,该VOD服务器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图3所示,为本发明提出的视频录像的点播装置的结构图,所述视频录像的点播装置具体包括:
第一计算模块11,用于将视频录像划分成多个分片子录像,并计算每个分片子录像的预热值;
第二计算模块12,用于根据每个分片子录像的预热值计算每个分片子录像的预期复制路数;
处理模块13,用于当分片子录像的当前实际复制路数小于所述分片子录像的预期复制路数时,增加所述分片子录像的复制路数,以达到所述预期复制路数;当分片子录像的当前实际复制路数大于所述分片子录像的预期复制路数时,则减少所述分片子录像的复制路数,以达到所述预期复制路数;所述分片子录像的每个复制路数对应于一个用于存储所述分片子录像的视频点播VOD节点。
所述第一计算模块11,具体用于在计算每个分片子录像的预热值的过程,在点播集合中记录每个分片子录像的分片时间和点播路数;利用每个分片子录像的分片时间和点播路数,计算点播集合的时间中心点,并利用所述时间中心点与每个分片子录像的分片时间,计算每个分片子录像的距离,并计算每个分片子录像的距离的平均距离;累加每个分片子录像的点播路数,得到点播总路数,并计算点播密度为所述点播总路数除以所述平均距离;利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值。
所述第一计算模块11,具体用于在利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值的过程中,当分片子录像的分片时间对应的时间区间位于所述时间中心点之后时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CF;当分片子录像的分片时间对应的时间区间位于所述时间中心点之前时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CB;当分片子录像的分片时间对应的时间区间包括所述时间中心点时,计算所述分片子录像的预热值为LA*MD*CC;LA为所述平均距离,TA为所述时间中心点,MD为所述点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且所述CF的取值大于所述CB的取值。
所述第一计算模块11,还用于在累加每个分片子录像的点播路数,得到点播总路数前,判断每个分片子录像的距离中是否存在绝对值大于LA*CK的距离;如果不存在,则执行累加每个分片子录像的点播路数,得到点播总路数的过程;如果存在,则判断绝对值大于LA*CK的距离的数量是否小于等于CN;如果是,则从点播集合中删除绝对值大于LA*CK的距离所对应的分片子录像的分片时间和点播路数,并基于更新后的点播集合返回执行利用每个分片子录像的分片时间和点播路数,计算所述点播集合的时间中心点的过程;如果否,则执行累加每个分片子录像的点播路数,得到点播总路数的过程;其中,LA为所述平均距离,CK为大于1的常数,CN为异常点个数门限值。
所述第一计算模块11,具体用于在计算点播密度为所述点播总路数除以所述平均距离之后,当所述平均距离小于等于CT、且所述点播总路数大于等于CL时,或者,当所述点播密度大于等于CM、所述平均距离小于等于CH、且所述点播总路数大于等于所述CL时,则利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值;其中,CT、CL、CM、CH均为预设常数,且CT的取值小于CH的取值;
当平均距离大于CT、点播总路数大于等于CL时,将点播集合划分成第一点播子集合和第二点播子集合,利用所述时间中心点和平均距离确定第一点播子集合的第一时间中心点、第二点播子集合的第二时间中心点;针对所述点播集合内的每个分片子录像,计算所述分片子录像的分片时间与第一时间中心点之间的第一距离,计算所述分片子录像的分片时间与第二时间中心点之间的第二距离;当所述第一距离小于所述第二距离时,将所述分片子录像划分到所述第一点播子集合中;当所述第一距离大于所述第二距离时,将所述分片子录像划分到所述第二点播子集合中;如果当前得到的第一点播子集合内的分片子录像与上一次得到的第一点播子集合内的分片子录像相同,当前得到的第二点播子集合内的分片子录像与上一次得到的第二点播子集合内的分片子录像相同,基于当前得到的第一点播子集合内的分片子录像、当前得到的第二点播子集合内的分片子录像,分别返回执行利用每个分片子录像的分片时间和点播路数,计算点播集合的时间中心点的过程;否则,利用当前得到的第一点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第一点播子集合的第一时间中心点,利用当前得到的第二点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第二点播子集合的第二时间中心点,返回执行计算所述分片子录像的分片时间与第一时间中心点之间的第一距离的过程。
所述第一计算模块11,具体用于在利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值的过程中,针对每个分片子录像,计算分片子录像在每个点播子集合中对应的预热累计值,并计算所述分片子录像的预热值为得到的各个预热累计值之和;
其中,在计算分片子录像在点播子集合中对应的预热累计值时,当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之后时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CF;当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之前时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CB;当所述分片子录像的分片时间对应的时间区间包括所述点播子集合的时间中心点时,计算所述分片子录像的预热累计值为LA*MD*CC;
其中,LA为所述点播子集合的平均距离,TA为所述点播子集合的时间中心点,MD为所述点播子集合的点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且CF的取值大于CB的取值。
所述第二计算模块12,具体用于在利用所述分片子录像的点播路数和预热值,计算所述分片子录像的预期复制路数的过程中,计算所述分片子录像的预期复制路数为所述分片子录像的点播路数乘以预设转换系数,再加上所述分片子录像的预热值。
所述分片子录像的每个当前实际复制路数均设置有对应的老化定时器;所述处理模块13,还用于当所述分片子录像的当前实际复制路数小于所述预期复制路数时,则为每个新增加的复制路数设置老化定时器,并设置所述老化定时器的老化时间,并为当前实际复制路数对应的老化定时器重新刷新老化时间;当所述分片子录像的当前实际复制路数大于所述预期复制路数时,则从当前实际复制路数对应的老化定时器中,选择与所述预期复制路数相适应的老化定时器,并为当前选择的老化定时器重新刷新老化时间;在未被选择的老化定时器超时之后,则删除所述未被选择的老化定时器对应的复制路数,以减少所述分片子录像的复制路数,达到所述预期复制路数。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (14)

1.一种视频录像的点播方法,其特征在于,所述方法包括以下步骤:
将视频录像划分成多个分片子录像,并计算每个分片子录像的预热值;
根据每个分片子录像的预热值计算每个分片子录像的预期复制路数;
当分片子录像的当前实际复制路数小于所述分片子录像的预期复制路数时,则增加所述分片子录像的复制路数,以达到所述预期复制路数;当分片子录像的当前实际复制路数大于所述分片子录像的预期复制路数时,则减少所述分片子录像的复制路数,以达到所述预期复制路数;其中,所述分片子录像的每个复制路数对应于一个用于存储所述分片子录像的视频点播VOD节点;其中,所述计算每个分片子录像的预热值的过程,具体包括:
步骤A、在点播集合中记录每个分片子录像的分片时间和点播路数;
步骤B、利用每个分片子录像的分片时间和点播路数,计算所述点播集合的时间中心点,并利用所述时间中心点与每个分片子录像的分片时间,计算每个分片子录像的距离,并计算每个分片子录像的距离的平均距离;
步骤C、累加每个分片子录像的点播路数,得到点播总路数,并计算点播密度为所述点播总路数除以所述平均距离;
步骤D、利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值。
2.根据权利要求1所述的方法,其特征在于,所述步骤D,具体包括:
当分片子录像的分片时间对应的时间区间位于所述时间中心点之后时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CF;当分片子录像的分片时间对应的时间区间位于所述时间中心点之前时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CB;当分片子录像的分片时间对应的时间区间包括所述时间中心点时,计算所述分片子录像的预热值为LA*MD*CC;LA为所述平均距离,TA为所述时间中心点,MD为所述点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且CF的取值大于CB的取值。
3.根据权利要求1所述的方法,其特征在于,所述步骤C之前还包括:
步骤E、判断每个分片子录像的距离中是否存在绝对值大于LA*CK的距离;如果不存在,执行步骤C;如果存在,则判断绝对值大于LA*CK的距离的数量是否小于等于CN;如果是,执行步骤F;如果否,执行步骤C;其中,LA为所述平均距离,CK为大于1的常数,CN为异常点个数门限值;
步骤F、从点播集合中删除绝对值大于LA*CK的距离所对应的分片子录像的分片时间和点播路数,并基于更新后的点播集合执行步骤B。
4.根据权利要求1所述的方法,其特征在于,所述步骤C之后还包括:
当所述平均距离小于等于CT、且所述点播总路数大于等于CL时,则执行所述步骤D;或者,当所述点播密度大于等于CM、所述平均距离小于等于CH、且所述点播总路数大于等于所述CL时,则执行所述步骤D;其中,CT、CL、CM、CH均为预设常数,且CT的取值小于CH的取值;
当平均距离大于CT、点播总路数大于等于CL时,则执行如下步骤:
步骤G、将点播集合划分成第一点播子集合和第二点播子集合,利用所述时间中心点和平均距离确定第一点播子集合的第一时间中心点、第二点播子集合的第二时间中心点;
步骤H、针对所述点播集合内的每个分片子录像,计算所述分片子录像的分片时间与第一时间中心点之间的第一距离,并计算所述分片子录像的分片时间与第二时间中心点之间的第二距离;当所述第一距离小于所述第二距离时,将所述分片子录像划分到所述第一点播子集合中;当所述第一距离大于所述第二距离时,将所述分片子录像划分到所述第二点播子集合中;
步骤I、如果当前得到的第一点播子集合内的分片子录像与上一次得到的第一点播子集合内的分片子录像相同,并且当前得到的第二点播子集合内的分片子录像与上一次得到的第二点播子集合内的分片子录像相同,则基于当前得到的第一点播子集合内的分片子录像、以及当前得到的第二点播子集合内的分片子录像,分别执行所述步骤B;否则,执行步骤J;
步骤J、利用当前得到的第一点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第一点播子集合的第一时间中心点;利用当前得到的第二点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第二点播子集合的第二时间中心点;执行所述步骤H。
5.根据权利要求4所述的方法,其特征在于,所述步骤D,具体包括:
针对每个分片子录像,计算分片子录像在每个点播子集合中对应的预热累计值,并计算所述分片子录像的预热值为得到的各个预热累计值之和;
其中,在计算分片子录像在点播子集合中对应的预热累计值时,当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之后时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CF;当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之前时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CB;当所述分片子录像的分片时间对应的时间区间包括所述点播子集合的时间中心点时,计算所述分片子录像的预热累计值为LA*MD*CC;
其中,LA为所述点播子集合的平均距离,TA为所述点播子集合的时间中心点,MD为所述点播子集合的点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且CF的取值大于CB的取值。
6.根据权利要求1所述的方法,其特征在于,所述根据每个分片子录像的预热值计算每个分片子录像的预期复制路数的过程,具体包括:
计算分片子录像的预期复制路数为所述分片子录像的点播路数乘以预设转换系数,再加上所述分片子录像的预热值。
7.根据权利要求1所述的方法,其特征在于,分片子录像的每个当前实际复制路数均设置有对应的老化定时器,所述方法进一步包括:
当所述分片子录像的当前实际复制路数小于所述预期复制路数时,则为每个新增加的复制路数设置老化定时器,并设置所述老化定时器的老化时间,并为当前实际复制路数对应的老化定时器重新刷新老化时间;
当所述分片子录像的当前实际复制路数大于所述预期复制路数时,则从当前实际复制路数对应的老化定时器中,选择与所述预期复制路数相适应的老化定时器,并为当前选择的老化定时器重新刷新老化时间;在未被选择的老化定时器超时之后,则删除所述未被选择的老化定时器对应的复制路数,以减少所述分片子录像的复制路数,达到所述预期复制路数。
8.一种视频录像的点播装置,其特征在于,所述装置具体包括:
第一计算模块,用于将视频录像划分成多个分片子录像,并计算每个分片子录像的预热值;
第二计算模块,用于根据每个分片子录像的预热值计算每个分片子录像的预期复制路数;
处理模块,用于当分片子录像的当前实际复制路数小于所述分片子录像的预期复制路数时,则增加所述分片子录像的复制路数,以达到所述预期复制路数;当分片子录像的当前实际复制路数大于所述分片子录像的预期复制路数时,则减少所述分片子录像的复制路数,以达到所述预期复制路数;所述分片子录像的每个复制路数对应于一个用于存储所述分片子录像的视频点播VOD节点;其中,所述第一计算模块,具体用于在计算每个分片子录像的预热值的过程中,在点播集合中记录每个分片子录像的分片时间和点播路数;利用每个分片子录像的分片时间和点播路数,计算点播集合的时间中心点,并利用所述时间中心点与每个分片子录像的分片时间,计算每个分片子录像的距离,并计算每个分片子录像的距离的平均距离;累加每个分片子录像的点播路数,得到点播总路数,并计算点播密度为所述点播总路数除以所述平均距离;利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值。
9.根据权利要求8所述的装置,其特征在于,
所述第一计算模块,具体用于在利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值的过程中,当分片子录像的分片时间对应的时间区间位于所述时间中心点之后时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CF;当分片子录像的分片时间对应的时间区间位于所述时间中心点之前时,计算所述分片子录像的预热值为(LA/|TN-TA|)*MD*CB;当分片子录像的分片时间对应的时间区间包括所述时间中心点时,计算所述分片子录像的预热值为LA*MD*CC;LA为所述平均距离,TA为所述时间中心点,MD为所述点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且所述CF的取值大于所述CB的取值。
10.根据权利要求8所述的装置,其特征在于,
所述第一计算模块,还用于在累加每个分片子录像的点播路数,得到点播总路数之前,判断每个分片子录像的距离中是否存在绝对值大于LA*CK的距离;如果不存在,则执行累加每个分片子录像的点播路数,得到点播总路数的过程;如果存在,则判断绝对值大于LA*CK的距离的数量是否小于等于CN;如果是,则从点播集合中删除绝对值大于LA*CK的距离所对应的分片子录像的分片时间和点播路数,并基于更新后的点播集合返回执行利用每个分片子录像的分片时间和点播路数,计算所述点播集合的时间中心点的过程;如果否,则执行累加每个分片子录像的点播路数,得到点播总路数的过程;其中,LA为所述平均距离,CK为大于1的常数,CN为异常点个数门限值。
11.根据权利要求8所述的装置,其特征在于,
所述第一计算模块,具体用于在计算点播密度为所述点播总路数除以所述平均距离之后,当所述平均距离小于等于CT、且所述点播总路数大于等于CL时,或者,当所述点播密度大于等于CM、所述平均距离小于等于CH、且所述点播总路数大于等于所述CL时,则利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值;其中,CT、CL、CM、CH均为预设常数,且CT的取值小于CH的取值;
当平均距离大于CT、点播总路数大于等于CL时,将点播集合划分成第一点播子集合和第二点播子集合,利用所述时间中心点和平均距离确定第一点播子集合的第一时间中心点、第二点播子集合的第二时间中心点;针对所述点播集合内的每个分片子录像,计算所述分片子录像的分片时间与第一时间中心点之间的第一距离,计算所述分片子录像的分片时间与第二时间中心点之间的第二距离;当所述第一距离小于所述第二距离时,将所述分片子录像划分到所述第一点播子集合中;当所述第一距离大于所述第二距离时,将所述分片子录像划分到所述第二点播子集合中;如果当前得到的第一点播子集合内的分片子录像与上一次得到的第一点播子集合内的分片子录像相同,当前得到的第二点播子集合内的分片子录像与上一次得到的第二点播子集合内的分片子录像相同,基于当前得到的第一点播子集合内的分片子录像、当前得到的第二点播子集合内的分片子录像,分别返回执行利用每个分片子录像的分片时间和点播路数,计算点播集合的时间中心点的过程;否则,利用当前得到的第一点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第一点播子集合的第一时间中心点,利用当前得到的第二点播子集合内的每个分片子录像的分片时间和点播路数,计算并更新所述第二点播子集合的第二时间中心点,返回执行计算所述分片子录像的分片时间与第一时间中心点之间的第一距离的过程。
12.根据权利要求11所述的装置,其特征在于,
所述第一计算模块,具体用于在利用所述时间中心点、所述平均距离、所述点播密度,计算每个分片子录像的预热值的过程中,针对每个分片子录像,计算分片子录像在每个点播子集合中对应的预热累计值,并计算所述分片子录像的预热值为得到的各个预热累计值之和;
其中,在计算分片子录像在点播子集合中对应的预热累计值时,当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之后时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CF;当所述分片子录像的分片时间对应的时间区间位于所述点播子集合的时间中心点之前时,计算所述分片子录像的预热累计值为(LA/|TN-TA|)*MD*CB;当所述分片子录像的分片时间对应的时间区间包括所述点播子集合的时间中心点时,计算所述分片子录像的预热累计值为LA*MD*CC;
其中,LA为所述点播子集合的平均距离,TA为所述点播子集合的时间中心点,MD为所述点播子集合的点播密度,TN为所述分片子录像的分片时间,CF、CB和CC均为转换系数,且CF的取值大于CB的取值。
13.根据权利要求8所述的装置,其特征在于,
所述第二计算模块,具体用于在根据每个分片子录像的预热值计算每个分片子录像的预期复制路数的过程中,计算分片子录像的预期复制路数为所述分片子录像的点播路数乘以预设转换系数,再加上分片子录像的预热值。
14.根据权利要求8所述的装置,其特征在于,分片子录像的每个当前实际复制路数均设置有对应的老化定时器;
所述处理模块,还用于当所述分片子录像的当前实际复制路数小于所述预期复制路数时,则为每个新增加的复制路数设置老化定时器,并设置所述老化定时器的老化时间,并为当前实际复制路数对应的老化定时器重新刷新老化时间;当所述分片子录像的当前实际复制路数大于所述预期复制路数时,则从当前实际复制路数对应的老化定时器中,选择与所述预期复制路数相适应的老化定时器,并为当前选择的老化定时器重新刷新老化时间;在未被选择的老化定时器超时之后,则删除所述未被选择的老化定时器对应的复制路数,以减少所述分片子录像的复制路数,达到所述预期复制路数。
CN201510624469.7A 2015-09-25 2015-09-25 一种视频录像的点播方法和装置 Active CN105228032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510624469.7A CN105228032B (zh) 2015-09-25 2015-09-25 一种视频录像的点播方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510624469.7A CN105228032B (zh) 2015-09-25 2015-09-25 一种视频录像的点播方法和装置

Publications (2)

Publication Number Publication Date
CN105228032A CN105228032A (zh) 2016-01-06
CN105228032B true CN105228032B (zh) 2018-11-13

Family

ID=54996665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510624469.7A Active CN105228032B (zh) 2015-09-25 2015-09-25 一种视频录像的点播方法和装置

Country Status (1)

Country Link
CN (1) CN105228032B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110534136B (zh) * 2018-05-23 2022-02-01 北京京东尚科信息技术有限公司 录音的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094389A (zh) * 2007-07-24 2007-12-26 杭州华三通信技术有限公司 视频下载方法、视频服务器及监控中心系统
CN101330594A (zh) * 2007-06-18 2008-12-24 中兴通讯股份有限公司 对等网络视频点播媒体的存储方法及其媒体点播系统
CN102790915A (zh) * 2012-07-09 2012-11-21 上海聚力传媒技术有限公司 一种用于向p2p节点预推送视频资源的方法与装置
CN103986977A (zh) * 2014-04-15 2014-08-13 上海聚力传媒技术有限公司 用于在内容分发网络中预加载视频的方法与设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130262693A1 (en) * 2012-04-02 2013-10-03 Chris Phillips Methods and apparatus for segmenting, distributing, and resegmenting adaptive rate content streams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330594A (zh) * 2007-06-18 2008-12-24 中兴通讯股份有限公司 对等网络视频点播媒体的存储方法及其媒体点播系统
CN101094389A (zh) * 2007-07-24 2007-12-26 杭州华三通信技术有限公司 视频下载方法、视频服务器及监控中心系统
CN102790915A (zh) * 2012-07-09 2012-11-21 上海聚力传媒技术有限公司 一种用于向p2p节点预推送视频资源的方法与装置
CN103986977A (zh) * 2014-04-15 2014-08-13 上海聚力传媒技术有限公司 用于在内容分发网络中预加载视频的方法与设备

Also Published As

Publication number Publication date
CN105228032A (zh) 2016-01-06

Similar Documents

Publication Publication Date Title
CN105745938B (zh) 多视角音频和视频交互式回放
US5515490A (en) Method and system for temporally formatting data presentation in time-dependent documents
US9473548B1 (en) Latency reduction in streamed content consumption
US11379528B2 (en) Tag-based, user-directed media recommendations
CN103747343B (zh) 资源分时段推荐的方法和装置
US9659256B2 (en) Network service recommendation method and apparatus
CN106303648A (zh) 一种同步播放多媒体数据的方法及装置
US10491968B2 (en) Time-based video metadata system
CN105338394A (zh) 字幕数据的处理方法及系统
US20180090177A1 (en) Device and method for playing an interactive audiovisual movie
WO2023193521A9 (zh) 一种视频修复的方法、相关装置、设备以及存储介质
GB2596463A (en) Dynamic audiovisual segment padding for machine learning
CN104284214A (zh) 影视资源的下载系统
CN104683766A (zh) 数字视频监控系统
WO2022143385A1 (zh) 基于脉冲信号的显示方法、装置、电子设备及介质
CN105228032B (zh) 一种视频录像的点播方法和装置
CN105100283A (zh) 一种终端之间实现播放列表同步的方法及装置
JP4439523B2 (ja) 登場物推定装置及び方法、並びにコンピュータプログラム
CN104954874A (zh) 多媒体数据播放方法和装置
JP6071933B2 (ja) 配信広告決定装置、配信広告決定方法、および配信広告決定プログラム
CN112153478B (zh) 一种视频处理方法和视频播放方法
US20150271440A1 (en) Information processing apparatus, information processing method, program, and information processing system
CN117037009A (zh) 视频识别方法、装置、计算机设备和存储介质
CN111382313B (zh) 一种动检数据检索方法、设备及装置
US10725619B1 (en) Behavior-influenced content access/navigation menus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant