CN110784775A - 一种视频分片缓存方法、装置及视频点播*** - Google Patents

一种视频分片缓存方法、装置及视频点播*** Download PDF

Info

Publication number
CN110784775A
CN110784775A CN201911169831.0A CN201911169831A CN110784775A CN 110784775 A CN110784775 A CN 110784775A CN 201911169831 A CN201911169831 A CN 201911169831A CN 110784775 A CN110784775 A CN 110784775A
Authority
CN
China
Prior art keywords
video
client
target video
caching
fragments
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.)
Pending
Application number
CN201911169831.0A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201911169831.0A priority Critical patent/CN110784775A/zh
Publication of CN110784775A publication Critical patent/CN110784775A/zh
Pending legal-status Critical Current

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/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/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/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种视频分片缓存方法、装置及视频点播***,属于视频点播技术领域。该视频分片缓存方法包括:在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;其中,所述预设值为所述服务器配置的所述客户端正常运行的存储空间值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令。在本申请实施例中,通过上述视频分片缓存方法,与现有技术相比,能够充分、合理的利用了客户端的闲置资源,减轻了服务器的压力,降低了视频点播***的营运成本。

Description

一种视频分片缓存方法、装置及视频点播***
技术领域
本申请涉及视频点播技术领域,具体而言,涉及一种视频分片缓存方法、装置及视频点播***。
背景技术
在视频点播***中,需要在网络中部署较多的服务器,用于存储视频文件并为客户端提供视频文件内容推送服务。目前,为了减轻服务器的存储压力,当客户端请求点播某个视频分片时,服务器会将该视频分片存储在发送点播请求的客户端中,以便后续其他客户端在点播该视频分片时为其他客户端提供服务。但是,在实际应用中,大多数客户端的存储空间仍大部分处于闲置状态,造成了资源的浪费,也并未有效的减轻服务器的压力。
发明内容
本申请实施例的目的在于提供一种视频分片缓存方法、装置及视频点播***,以改善“大多数客户端仍处于闲置状态,造成了资源的浪费,也并未有效的减轻服务器的压力”的问题。
本发明是这样实现的:
第一方面,本申请实施例提供一种视频分片缓存方法,应用于视频点播***中的服务器,所述方法包括:在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;其中,所述预设值为所述服务器配置的所述客户端正常运行的存储空间值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令。
在本申请中,通过在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令,以使客户端缓存其他的视频分片,与现有技术相比,能够充分、合理的利用了客户端的闲置资源,减轻了服务器的压力,降低了视频点播***的营运成本。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,通过以下步骤确定所述满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片,包括:从所述目标视频中查找出位于所述目标视频分片后的视频分片;将所述视频分片按照每个所述视频分片的供需差从小到大进行排序;将从小到大进行排序的所述视频分片中的前N个所述视频分片作为所述满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片;其中,N小于等于位于所述目标视频分片后的视频分片的总数。
在本申请中,通过将所述视频分片按照每个所述视频分片的供需差从小到大进行排序,以使后续客户端按照供需差从小到大的顺序进行缓存视频分片,保证了客户端先缓存的是最供不应求的视频分片。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,N需满足以下条件:所述客户端在成功缓存所述N个视频分片后,所述客户端的剩余存储空间大于所述预设值和/或所述客户端在成功缓存所述N个视频分片后,所述客户端中缓存的所述目标视频的视频分片的数量不大于预设的同一视频的最大视频分片缓存数量。
在本申请中,设置客户端在成功缓存N个视频分片后,客户端的剩余存储空间大于所述预设值这一条件,保证了客户端即使缓存了N个视频分片仍然能够正常运行,充分利用的是客户端的闲置空间。其次,设置客户端在成功缓存N个视频分片后,客户端中缓存的目标视频的视频分片的数量不大于预设的同一视频的最大视频分片缓存数量。避免同一客户端缓存有同一视频的过多视频分片,给用户带来较差的体验。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述将所述视频分片按照每个所述视频分片的供需差从小到大进行排序,包括:从所述视频分片中筛选出供需差小于预设的最小供需差的所述视频分片;将所述供需差小于预设的最小供需差的所述视频分片按照每个所述视频分片的供需差从小到大进行排序。
在本申请中,通过在视频分片中筛选出供需差小于预设的最小供需差的视频分片,进而使得后续客户端需要缓存的都是供不应求的视频分片,进而维持了视频点播***中的视频分片的供需平衡。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述视频分片的供需差的计算公式为:其中,i表示第i个视频分片,DSNi表示所述第i个视频分片的供需差,pi表示所述第i个视频分片的需求量,vi表示所述第i个视频分片的访问量,n表示所述目标视频中的视频分片的总数,qi表示所述第i个视频分片的供应量,ci表示所述第i个视频分片的缓存量。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值之后,所述方法还包括:若否,则判断所述客户端中是否缓存有供需差大于预设的最小供需差的第一视频分片;若是,则从所述目标视频中查找出位于所述目标视频分片后的视频分片;从所述视频分片中筛选出供需差小于预设的最小供需差的所述视频分片;将所述供需差小于预设的最小供需差的所述视频分片按照每个所述视频分片的供需差从小到大进行排序;根据所述视频分片的排序顺序,依次将所述第一视频分片替换为所述视频分片。
在本申请中,当客户端的剩余存储空间已经小于预设值时,仍可以将客户端中的缓存的供需差大于预设的最小供需差的第一视频分片进行替换,替换为目标视频中供需差小于设的最小供需差的视频分片,以使后续客户端需要缓存的都是供不应求的视频分片,进而维持了视频点播***中的视频分片的供需平衡。
第二方面,本申请实施例提供一种视频分片缓存方法,应用于视频点播***中的客户端,所述方法包括:在成功缓存所请求的目标视频的目标视频分片后,接收服务器发送的缓存满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片的指令。
第三方面,本申请实施例提供一种视频分片缓存装置,应用于视频点播***中的服务器,所述装置包括:判断模块,用于在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;其中,所述预设值为所述服务器配置的所述客户端正常运行的存储空间值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令。
第四方面,本申请实施例提供一种视频分片缓存装置,应用于视频点播***中的客户端,所述装置包括:接收模块,用于在成功缓存所请求的目标视频的目标视频分片后,接收服务器发送的缓存满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片的指令。
第五方面,本申请实施例提供一种视频点播***,包括服务器和客户端;所述服务器,用于在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;其中,所述预设值为所述服务器配置的所述客户端正常运行的存储空间值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令;所述客户端,用于接收所述服务器发送的缓存满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片的指令。
第六方面,本申请实施例提供一种服务器,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
第七方面,本申请实施例提供一种客户端,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第二方面实施例提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种视频点播***的结构框图。
图2为本申请实施例提供的一种服务器的结构框图。
图3为本申请实施例提供的一种视频分片缓存方法的步骤流程图。
图4为本申请实施例提供的一种确定满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片的步骤流程图。
图5为本申请实施例提供的一种将第一视频分片替换的步骤流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
在视频点播***中,需要在网络中部署较多的服务器,用于存储视频文件并为客户端提供视频文件内容推送服务。目前,为了减轻服务器的存储压力,当客户端请求点播某个视频分片时,服务器会将该视频分片存储在发送点播请求的客户端中,以便后续其他客户端在点播该视频分片时为其他客户端提供服务。但是,在实际应用中,大多数客户端的存储空间仍大部分处于闲置状态,造成了资源的浪费,也并未有效的减轻服务器的压力。
鉴于上述问题,本申请发明人经过研究探索,提出以下实施例以解决上述问题。
请参阅图1,本申请实施例提供一种视频点播***100,该视频点播***100包括服务器10以及多个客户端(如客户端21、客户端22),服务器10通过网络与多个客户端进行数据交互。需要说明的是,当满足传输条件时,客户端之间也可以实现数据交互,比如,客户端之间满足传输协议,如UPnP协议、私有协议等,则客户端之间也能够实现数据交互。
请参阅图2,其中,服务器10包括至少一个处理器101,至少一个存储器102、至少一个通信总线103和通信模块104。其中,通信总线103用于实现处理器101、存储器102以及通信模块104之间的连接通信。通信模块104用于与客户端建立通信连接,其可以是WiFi模块、ZigBee模块、3G模块等,在此不做限定。存储器102可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器102中存储有计算机程序。该处理器101用于调用存储于存储器102中的程序,例如,所述处理器101用于在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令。
上述的处理器101可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)。可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。
其中,所述客户端也包括至少一个处理器,至少一个存储器、至少一个通信总线和通信模块。存储器中存储有计算机程序。该处理器用于调用存储于存储器中的程序,例如,处理器用于在成功缓存所请求的目标视频的目标视频分片后,接收所述服务器发送的缓存满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片的指令。可以理解的是,该客户端与服务器10相同结构的部分可以互相参考,为了避免累赘,在此不再阐述。
该客户端可以包括但不限于:个人电脑、机顶盒、智能投影仪等设备。
请参阅图3,本申请实施例提供一种视频分片缓存方法,应用于视频点播***100中的服务器10。可以理解的是,本申请实施例以其中一个客户端21作为视频点播请求的发起端为例,对本申请实施例提供的视频分片缓存方法进行说明。该视频分片缓存方法可以包括:步骤S101-步骤S103。
步骤S101:在客户端21成功缓存所请求的目标视频的目标视频分片后,判断客户端21的剩余存储空间是否大于预设值。
当客户端21向服务器10发出缓存目标视频分片的请求后,服务器10会为客户端21提供目标视频分片的下载服务或者服务器10会向客户端21推送其他已经缓存有该目标视频分片的客户端的地址,以使客户端21从其他客户端中下载目标视频分片。
当目标视频分片下载成功后,服务器10判断客户端21的剩余存储空间是否大于预设值。其中,该预设值为服务器10配置的客户端21正常运行的存储空间值。下面举例进行说明,比如服务器10配置的客户端21正常运行的存储空间值为10G,则预设值为10G。10G表示当客户端21可用内存小于10G时,则客户端21运行缓慢,影响客户端21的正常运行,当然,也可以将10G理解为客户端21正常运行的必要存储空间。服务器10配置的客户端21正常运行的存储空间值与客户端21的总存储空间有关,比如,客户端21的总存储空间为100G时,服务器10配置的客户端21正常运行的存储空间值可以为10G,又比如,客户端21的总存储空间为500G时,服务器10配置的客户端21正常运行的存储空间值可以为50G。具体如何配置,可以根据实际情况而设定,本申请不作限定。
若判断结果为是,则说明客户端21还有闲置空间,此时,执行步骤S102,若判断结果为否,则说明客户端21已经没有闲置空间了,此时,执行步骤S103。
步骤S102:向客户端21发送缓存满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片的指令。
当客户端21的剩余空间大于预设值时,为了充分利用客户端21的闲置空间,会向客户端21发送缓存满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片的指令,以使客户端21缓存需要缓存的视频分片。
请参阅图4,作为一种可选的实施方式,通过以下步骤确定满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片,包括:步骤S201-步骤S203。
步骤S201:从目标视频中查找出位于目标视频分片后的视频分片。
假设一段视频根据视频的播放顺序被拆分为了10个视频分片,而客户端21请求点播的目标视频分片为第4个视频分片,则此时服务器10查找出第5个至第10个视频分片。
当然,在其他实施例中,可以是从目标视频中查找出位于目标视频分片前的视频分片,或者从目标视频中查找出除目标视频分片的其他所有视频分片,对此,本申请不作限定。
步骤S202:将视频分片按照每个视频分片的供需差从小到大进行排序。
查找出位于目标视频分片后的视频分片后,此时,根据每个视频分片的供需差从小到大将视频分片进行排序。
其中,视频分片的供需差的计算公式为:
Figure BDA0002286985140000091
Figure BDA0002286985140000092
其中,i表示第i个视频分片,DSNi表示所述第i个视频分片的供需差,pi表示所述第i个视频分片的需求量,vi表示所述第i个视频分片的访问量,n表示所述目标视频中的视频分片的总数,qi表示所述第i个视频分片的供应量,ci表示所述第i个视频分片的缓存量。
根据上述供需差的计算公式即可得到每个视频分片的供需差。服务器10中记录有每个客户端对于每个视频分片的缓存状态,并且根据事件触发来计算和更新每个视频分片的供需差。
每个客户端对于视频分片(假设用fi表示第i个视频分片)均有三种缓存状态:
第一种:客户端尚未缓存视频分片fi,且服务器尚未通知客户端缓存视频分片fi,则服务器将客户端对于视频分片fi的缓存状态标记为EMPTY。
第二种:服务器已通知客户端缓存视频分片fi,但是客户端还未缓存成功,则服务器将客户端对于视频分片fi的缓存状态标记为ALLOCATED。
第三种,客户端已经成功缓存视频分片fi,且服务器已经接收到客户端发送的视频分片fi成功缓存的消息,则服务器将客户端对于视频分片fi的缓存状态标记为CACHED。
可选地,服务器10会记录视频分片fi正在被客户端使用的情况以及视频分片fi被客户端删除的情况(当客户端将视频分片fi删除会主动将删除情况上报给服务器)。
可选地,根据事件触发来计算和更新每个视频分片的供需差,包括:
(1)服务器10每收到一个视频分片fi的请求,会将视频分片fi的访问计数vi加1,然后更新视频分片fi的供需差。
(2)服务器10每收到一个视频分片fi的缓存成功的消息,会将视频分片fi的缓存量ci加1,然后更新视频分片fi的供需差。
(3)服务器10每收到一个视频分片fi被删除的消息,会将视频分片fi的缓存量ci减1,然后更新视频分片fi的供需差。
(4)服务器10检测到某个客户端中缓存的视频分片fi未被其他客户端缓存的持续时间超过预设时间,则会将视频分片fi在该客户端上的状态标记为EMPTY,并将视频分片fi的缓存量ci减1,然后更新视频分片fi的供需差。需要解释的是,预设时间可以是1天、一周或者一个月,也即当客户端上的某个视频分片fi长时间未被缓存/点播,则会将该视频分片fi在该客户端上的状态标记为EMPTY,并将该视频分片fi删除。
(5)客户端退出登录,此时服务器10与客户端断开了连接,若客户端fi缓存有视频分片fi,则将视频分片fi的缓存量ci减1,然后更新视频分片fi的供需差。
(6)当客户端停止点播视频分片fi,则将视频分片fi的访问计数vi减1,然后更新视频分片fi的供需差。
综上,通过上述事件触发来计算和更新每个视频分片的供需差,然后根据每个视频分片的供需差从小到大将视频分片进行排序。
可选地,将所述视频分片按照每个所述视频分片的供需差从小到大进行排序的步骤还包括:从所述视频分片中筛选出供需差小于预设的最小供需差的所述视频分片;将所述供需差小于预设的最小供需差的所述视频分片按照每个所述视频分片的供需差从小到大进行排序。
可以理解的是,设置的预设的最小供需差是一个具体的数值,比如可以是1、-1等等,通过在视频分片中筛选出供需差小于预设的最小供需差的视频分片,进而使得后续客户端需要缓存的都是供不应求的视频分片,进而维持了视频点播***中的视频分片的供需平衡。
步骤S203:将从小到大进行排序的视频分片中的前N个视频分片作为满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片。
然后按照供需差从小到大进行排序的视频分片中取出前N个视频分片作为满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片。其中,N小于等于位于目标视频分片后的视频分片的总数。比如位于目标视频分片后的视频分片的总数为20,则N小于等于20。
其中,N需满足以下条件:客户端在成功缓存N个视频分片后,客户端的剩余存储空间大于预设值和/或客户端在成功缓存N个视频分片后,客户端中缓存的目标视频的视频分片的数量不大于预设的同一视频的最大视频分片缓存数量。
下面对上述两种方式进行解释:
第一种,客户端在成功缓存N个视频分片后,客户端的剩余存储空间大于预设值,也即成功缓存的N个视频不能影响客户端的正常运行。比如,预设值为10G,若客户端缓存8个视频分片后,客户端的剩余存储空间大于预设值,但是当客户端缓存9个视频分片时,客户端的剩余存储空间小于预设值了,此时为了不影响客户端的正常运行,N应该为小于等于8。
第二种,客户端在成功缓存N个视频分片后,客户端中缓存的目标视频的视频分片的数量不大于预设的同一视频的最大视频分片缓存数量。比如同一视频在一个客户端中的最大视频缓存数量为8个,客户端在缓存N个视频分片之前以有2个目标视频中的视频分片,则N的取值小于等于6,比如可以是5,可以是6,也可以是3。
在本申请实施例中,设置客户端在成功缓存N个视频分片后,客户端的剩余存储空间大于所述预设值这一条件,保证了客户端即使缓存了N个视频分片仍然能够正常运行,充分利用的是客户端的闲置空间。其次,设置客户端在成功缓存N个视频分片后,客户端中缓存的目标视频的视频分片的数量不大于预设的同一视频的最大视频分片缓存数量。避免同一客户端缓存有同一视频的过多视频分片,给用户带来较差的体验。
可以理解的是,在其他实施例中,还可以通过其他方式确定满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片:
比如将目标视频中的除目标视频分片的M个视频分片作为满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片,其中,M小于目标视频中的视频分片的总数,M需满足的条件为:客户端在成功缓存M个视频分片后,客户端的剩余存储空间大于预设值和/或客户端在成功缓存M个视频分片后,客户端中缓存的目标视频的视频分片的数量不大于预设的同一视频的最大视频分片缓存数量。也即,从其他视频分片中随机选择M个视频分片作为满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片,而非按照供需差从小到大的顺序排序后选择前N个作为满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片。可以理解的是,M需满足的条件与上述N需满足的条件相同,为了避免累赘,在此不作阐述,相同部分相互参考即可。
又比如,判断目标视频中的其他视频分片的视频分片的大小是否小于预设分片值,若是,在将小于预设分片值的视频分片作为满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片。下面举例进行说明,比如,预设分片值为80M,则将目标视频中的其他视频分片的视频分片的大小小于80M的视频分片作为满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片。通过设定预设分片值,能够保证客户端缓存的都是视频文件较小的视频分片,避免过大的视频分片对客户端的运行造成影响。
又比如,判断目标视频中的其他视频分片的视频分片的大小是否小于预设分片值,若是,则将小于预设分片值中的Q个视频分片作为满足预设缓存条件的目标视频中的除目标视频分片的其他视频分片,其中,Q小于小于预设分片值的视频分片的总数,Q需满足的条件为:客户端在成功缓存Q个视频分片后,客户端的剩余存储空间大于预设值和/或客户端在成功缓存Q个视频分片后,客户端中缓存的目标视频的视频分片的数量不大于预设的同一视频的最大视频分片缓存数量。可以理解的是,Q需满足的条件与上述N需满足的条件相同,为了避免累赘,在此不作阐述,相同部分相互参考即可。
综上所述,在本申请实施例中,通过在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令,以使客户端缓存其他的视频分片,与现有技术相比,能够充分、合理的利用了客户端的闲置资源,减轻了服务器的压力,降低了视频点播***的营运成本。
步骤S103:判断客户端21中是否缓存有供需差大于预设的最小供需差的第一视频分片,若是,对第一视频分片进行替换。
当客户端21成功缓存所请求的目标视频分片后,若客户端21的剩余存储空间已经小于预设值,说明客户端21不足以再存储新的视频分片了,此时会判断客户端21中是否缓存有供需差大于预设的最小供需差的第一视频分片,若有,可以对第一视频分片进行替换。其中,第一视频分片可以是目标视频中的视频分片,也可以是客户端21中存储的其他视频的视频分片。
当然,若客户端21中没有供需差大于预设的最小供需差的第一视频分片,则步骤执行结束。
请参阅图5,当客户端中21缓存有供需差大于预设的最小供需差的第一视频分片,此时通过以下步骤,对第一视频分片进行替换,包括:步骤S301-步骤S304。
步骤S301:从目标视频中查找出位于目标视频分片后的视频分片。
该步骤S301与上述步骤S201步骤相同,为了避免累赘,在此不作阐述,相同部分互相参考即可。
步骤S302:从视频分片中筛选出供需差小于预设的最小供需差的视频分片。
然后从视频分片中筛选出供需差小于预设的最小供需差的视频分片。需要说明的是,供需差的计算公式在上述步骤S202中已经进行了说明,在此不作阐述。
步骤S303:将供需差小于预设的最小供需差的视频分片按照每个视频分片的供需差从小到大进行排序。
步骤S304:根据视频分片的排序顺序,依次将第一视频分片替换为视频分片。
最后根据视频分片的排序顺序,依次将第一视频分片替换为视频分片。比如客户端21中缓存有三个供需差大于预设的最小供需差的第一视频分片,则将根据视频分片的排序顺序得到的最小的视频分片替换第一个第一视频分片,再将第二小的视频分片替换第二个第一视频分片,再将第三小的视频分片替换第三个第一视频分片。若客户端21中仅缓存有一个供需差大于预设的最小供需差的第一视频分片,则直接根据视频分片的排序顺序得到的最小的视频分片替换该第一视频分片即可。需要说明的是,替换是指的将第一视频分片从客户端中移除,将替换的视频分片缓存至客户端。
需要说明的是,替换过程需要满足以下三个条件中的一种或多种:
1.当客户端21替换第一视频分片后,客户端21的剩余存储空间不小于替换前客户端21的剩余存储空间。
2.客户端21替换第一视频分片后,客户端21中缓存的目标视频的视频分片的数量不大于预设的同一视频的最大视频分片缓存数量。
3.当第一视频分片正在被其他客户端使用时(也即其他客户端正在缓存第一视频分片时),则不能替换。
在本申请实施例中,当客户端21的剩余存储空间已经小于预设值时,仍可以将客户端21中的缓存的供需差大于预设的最小供需差的第一视频分片进行替换,替换为目标视频中供需差小于预设的最小供需差的视频分片,以使后续客户端需要缓存的都是供不应求的视频分片,进而维持了视频点播***中的视频分片的供需平衡。
基于同一发明构思,本申请实施例中还提供另一种视频分片缓存方法,应用于视频点播***中的客户端,该方法包括:在成功缓存所请求的目标视频的目标视频分片后,接收服务器发送的缓存满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片的指令。
基于同一发明构思,本申请实施例中还提供一种视频分片缓存装置,应用于视频点播***中的服务器,该装置包括:
判断模块,用于在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;其中,所述预设值为所述服务器配置的所述客户端正常运行的存储空间值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令。
可选地,该判断模块,还用在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;若否,则判断所述客户端中是否缓存有供需差大于预设的最小供需差的第一视频分片。
基于同一发明构思,本申请实施例中还提供一种视频分片缓存装置,应用于视频点播***中的客户端,该装置包括:
接收模块,用于在成功缓存所请求的目标视频的目标视频分片后,接收服务器发送的缓存满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片的指令。
基于同一发明构思,本申请实施例还提供一种存储介质,其上存储有计算机程序,计算机程序在被运行时执行上述实施例中提供的方法。
该存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种视频分片缓存方法,其特征在于,应用于视频点播***中的服务器,所述方法包括:
在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;其中,所述预设值为所述服务器配置的所述客户端正常运行的存储空间值;
若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令。
2.根据权利要求1所述的方法,其特征在于,通过以下步骤确定所述满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片,包括:
从所述目标视频中查找出位于所述目标视频分片后的视频分片;
将所述视频分片按照每个所述视频分片的供需差从小到大进行排序;
将从小到大进行排序的所述视频分片中的前N个所述视频分片作为所述满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片;其中,N小于等于位于所述目标视频分片后的视频分片的总数。
3.根据权利要求2所述的方法,其特征在于,N需满足以下条件:
所述客户端在成功缓存所述N个视频分片后,所述客户端的剩余存储空间大于所述预设值和/或所述客户端在成功缓存所述N个视频分片后,所述客户端中缓存的所述目标视频的视频分片的数量不大于预设的同一视频的最大视频分片缓存数量。
4.根据权利要求2所述的方法,其特征在于,所述将所述视频分片按照每个所述视频分片的供需差从小到大进行排序,包括:
从所述视频分片中筛选出供需差小于预设的最小供需差的所述视频分片;
将所述供需差小于预设的最小供需差的所述视频分片按照每个所述视频分片的供需差从小到大进行排序。
5.根据权利要求2所述的方法,其特征在于,所述视频分片的供需差的计算公式为:
Figure FDA0002286985130000021
其中,i表示第i个视频分片,DSNi表示所述第i个视频分片的供需差,pi表示所述第i个视频分片的需求量,vi表示所述第i个视频分片的访问量,n表示所述目标视频中的视频分片的总数,qi表示所述第i个视频分片的供应量,ci表示所述第i个视频分片的缓存量。
6.根据权利要求1所述的方法,其特征在于,在所述在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值之后,所述方法还包括:
若否,则判断所述客户端中是否缓存有供需差大于预设的最小供需差的第一视频分片;
若是,则从所述目标视频中查找出位于所述目标视频分片后的视频分片;
从所述视频分片中筛选出供需差小于预设的最小供需差的所述视频分片;
将所述供需差小于预设的最小供需差的所述视频分片按照每个所述视频分片的供需差从小到大进行排序;
根据所述视频分片的排序顺序,依次将所述第一视频分片替换为所述视频分片。
7.一种视频分片缓存方法,其特征在于,应用于视频点播***中的客户端,所述方法包括:
在成功缓存所请求的目标视频的目标视频分片后,接收服务器发送的缓存满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片的指令。
8.一种视频分片缓存装置,其特征在于,应用于视频点播***中的服务器,所述装置包括:
判断模块,用于在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;其中,所述预设值为所述服务器配置的所述客户端正常运行的存储空间值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令。
9.一种视频分片缓存装置,其特征在于,应用于视频点播***中的客户端,所述装置包括:
接收模块,用于在成功缓存所请求的目标视频的目标视频分片后,接收服务器发送的缓存满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片的指令。
10.一种视频点播***,其特征在于,包括服务器和客户端;
所述服务器,用于在客户端成功缓存所请求的目标视频的目标视频分片后,判断所述客户端的剩余存储空间是否大于预设值;其中,所述预设值为所述服务器配置的所述客户端正常运行的存储空间值;若是,则向所述客户端发送缓存满足预设缓存条件的所述目标视频中的除所述目标视频分片的其他视频分片的指令;
所述客户端,用于接收所述服务器发送的缓存满足预设缓存条件的所述目标视频中的除目标视频分片的其他视频分片的指令。
CN201911169831.0A 2019-11-25 2019-11-25 一种视频分片缓存方法、装置及视频点播*** Pending CN110784775A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911169831.0A CN110784775A (zh) 2019-11-25 2019-11-25 一种视频分片缓存方法、装置及视频点播***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911169831.0A CN110784775A (zh) 2019-11-25 2019-11-25 一种视频分片缓存方法、装置及视频点播***

Publications (1)

Publication Number Publication Date
CN110784775A true CN110784775A (zh) 2020-02-11

Family

ID=69392589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911169831.0A Pending CN110784775A (zh) 2019-11-25 2019-11-25 一种视频分片缓存方法、装置及视频点播***

Country Status (1)

Country Link
CN (1) CN110784775A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112233217A (zh) * 2020-12-18 2021-01-15 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969459A (zh) * 2009-09-30 2011-02-09 突触计算机***(上海)有限公司 数据块分布控制方法及其装置
US20140244727A1 (en) * 2013-02-22 2014-08-28 Samsung Electronics Co., Ltd. Method and apparatus for streaming multimedia content of server by using cache
US20150350714A1 (en) * 2014-05-29 2015-12-03 Apple Inc. Playback of video on demand
CN105792020A (zh) * 2014-12-26 2016-07-20 北京奇虎科技有限公司 播放视频文件的方法及装置
CN105915938A (zh) * 2016-06-24 2016-08-31 贵州万臻时代通讯技术有限公司 一种下载视频的方法、装置及***
CN106162109A (zh) * 2016-08-30 2016-11-23 浙江大华技术股份有限公司 一种远程监视方法和监控设备
CN106550284A (zh) * 2015-09-21 2017-03-29 北京国双科技有限公司 一种播放分片视频的方法及装置
CN107396207A (zh) * 2017-07-21 2017-11-24 南京邮电大学 一种基于特征优先级的p2p数据调度方法
WO2018059283A1 (zh) * 2016-09-28 2018-04-05 中兴通讯股份有限公司 一种无线资源分配方法及装置
EP3340633A1 (en) * 2015-09-30 2018-06-27 Huawei Technologies Co., Ltd. Terminal, cache server, and method for acquiring video slices and device thereof
CN110213662A (zh) * 2019-07-09 2019-09-06 金明晔 一种视频点播方法、服务器、客户端及视频点播***

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969459A (zh) * 2009-09-30 2011-02-09 突触计算机***(上海)有限公司 数据块分布控制方法及其装置
US20140244727A1 (en) * 2013-02-22 2014-08-28 Samsung Electronics Co., Ltd. Method and apparatus for streaming multimedia content of server by using cache
US20150350714A1 (en) * 2014-05-29 2015-12-03 Apple Inc. Playback of video on demand
CN105792020A (zh) * 2014-12-26 2016-07-20 北京奇虎科技有限公司 播放视频文件的方法及装置
CN106550284A (zh) * 2015-09-21 2017-03-29 北京国双科技有限公司 一种播放分片视频的方法及装置
EP3340633A1 (en) * 2015-09-30 2018-06-27 Huawei Technologies Co., Ltd. Terminal, cache server, and method for acquiring video slices and device thereof
CN105915938A (zh) * 2016-06-24 2016-08-31 贵州万臻时代通讯技术有限公司 一种下载视频的方法、装置及***
CN106162109A (zh) * 2016-08-30 2016-11-23 浙江大华技术股份有限公司 一种远程监视方法和监控设备
WO2018059283A1 (zh) * 2016-09-28 2018-04-05 中兴通讯股份有限公司 一种无线资源分配方法及装置
CN107396207A (zh) * 2017-07-21 2017-11-24 南京邮电大学 一种基于特征优先级的p2p数据调度方法
CN110213662A (zh) * 2019-07-09 2019-09-06 金明晔 一种视频点播方法、服务器、客户端及视频点播***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112233217A (zh) * 2020-12-18 2021-01-15 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置
CN112233217B (zh) * 2020-12-18 2021-04-02 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置

Similar Documents

Publication Publication Date Title
CN109688235B (zh) 虚拟网络业务处理方法、装置和***,控制器,存储介质
CN111159436B (zh) 一种推荐多媒体内容的方法、装置及计算设备
US8612668B2 (en) Storage optimization system based on object size
JP5592489B2 (ja) キャッシング情報のシステム及び方法
CN108683668B (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
CN105095364A (zh) 一种数据同步***和方法
CN116661705B (zh) 基于kafka的数据管理方法、***、电子设备及存储介质
CN105786539B (zh) 一种文件下载方法及装置
US20220046113A1 (en) Distributed state recovery in a system having dynamic reconfiguration of participating nodes
CN105653209A (zh) 一种对象存储数据传输方法及装置
US11444998B2 (en) Bit rate reduction processing method for data file, and server
CN109274720B (zh) 一种传输数据的方法和***
CN110784775A (zh) 一种视频分片缓存方法、装置及视频点播***
CN110784534B (zh) 数据服务方法、装置、***及电子设备
CN114817090B (zh) 低ram消耗mcu通信管理方法及***
CN111090818A (zh) 资源管理方法、资源管理***、服务器及计算机存储介质
US11880605B2 (en) Managing ephemeral storage of a virtual machine to provide victim caches for use by virtual storage appliances in a cloud environment
CN111835801A (zh) 文件下载方法、装置、服务器、边缘设备、终端及介质
CN101819589B (zh) 一种控制文件输入输出缓存的方法及装置
AU2020226900B2 (en) Adaptive retrieval of objects from remote storage
CN115914380A (zh) 基于Zlib压缩算法的云计算资源管理器通信延迟优化方法
CN111939562A (zh) 共享存储方法、电子设备及计算机可读存储介质
CN113742376A (zh) 一种同步数据的方法、第一服务器以及同步数据的***
CN114402577A (zh) 单页应用的缓存能力
CN113765871A (zh) 堡垒机管理的方法和装置

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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20221111