CN107333169B - 一种客户端缓存调整方法及装置 - Google Patents
一种客户端缓存调整方法及装置 Download PDFInfo
- Publication number
- CN107333169B CN107333169B CN201710520340.0A CN201710520340A CN107333169B CN 107333169 B CN107333169 B CN 107333169B CN 201710520340 A CN201710520340 A CN 201710520340A CN 107333169 B CN107333169 B CN 107333169B
- Authority
- CN
- China
- Prior art keywords
- cached
- path
- file
- file stream
- code rate
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种客户端缓存调整方法,包括:在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率,根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间,其中,调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大。应用本发明实施例所提供的技术方案,使得码率高的文件流相较于码率低的文件流,能够分配得到较大的缓存空间,对缓存空间进行调整,避免了各路待缓存文件流之间的相互影响,提高了缓存空间的使用效率。本发明还公开了一种客户端缓存调整装置,具有相应技术效果。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种客户端缓存调整方法及装置。
背景技术
随着计算机技术的不断发展,对于数据的包括读写操作在内的访问操作提出了更高的要求,以提高数据的读写速度。
在视频监控和广电媒资等应用场景下,要求文件在录入和播放时必须用恒定的码率,因存储性能不足导致的卡顿都会引起丢帧,发生马赛克现象,严重的将影响视频和媒体质量。
为了提高读写性能,通常会利用客户端节点进行数据缓存。当客户端节点监测到顺序读时,对接下来一定量的数据从后端存储中进行预读,确保大部分读取均可以在客户端节点中直接获取到。当客户端节点监测到顺序写时,会在本地暂存一定量的数据,进行拼接合并之后大块落盘。客户端节点可以同时处理一个或多个用户的文件流的读写请求。
在现有技术中,针对文件流访问操作的常用码率,在做缓存处理时,客户端节点会分配固定大小的缓存空间。例如对应于标清、高清、超清等视频质量,常用码率有2MB、8MB、120MB等。针对常用码率分配固定大小的缓存空间后,将各路文件流的读写操作都混合在一起处理。这样容易导致各路文件流之间带宽相互影响,例如某一路文件流的码率较高,将其和码率较低的文件流一起放在这一个固定大小的缓存空间中,容易造成码率较高的文件流的缓存空间不足,进而导致丢帧问题影响数据传输质量。
发明内容
本发明的目的是提供一种客户端缓存调整方法及装置,以避免各路待缓存文件流之间的相互影响,提高缓存空间的使用效率。
为解决上述技术问题,本发明提供如下技术方案:
一种客户端缓存调整方法,该方法包括:
在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率;
根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间;
其中,所述调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大。
优选的,通过以下步骤确定所述客户端节点上的待缓存文件流:
针对所述客户端节点上的任意一路文件流,对该路文件流的访问操作进行监测;
如果监测到该路文件流每次访问操作的访问位置均与相应的上一次访问操作的最终位置相接,则确定该路文件流为待缓存文件流,所述上一次访问操作的最终位置根据上一次访问操作的访问位置与相应访问偏移量得到。
优选的,通过以下步骤获得目标待缓存文件流的码率,所述目标待缓存文件流为所述客户端节点上的任意一路待缓存文件流:
在达到设定第一时长时,根据所述第一时长对应的目标待缓存文件流针对数据的访问量,确定所述目标待缓存文件流的码率;
或者,在未达到设定第二时长,所述目标待缓存文件流针对数据的访问量大于设定的访问量阈值时,确定所述目标待缓存文件流的码率。
优选的,所述访问操作为写入操作,在所述调整分配给各路待缓存文件流的缓存空间之后,还包括:
针对每路待缓存文件流的每次写入操作,如果该路待缓存文件流的该次待写入数据的数据量大于当前分配给该路待缓存文件流的可用缓存空间的大小,则阻塞该次待写入数据。
优选的,所述访问操作为写入操作,还包括:
针对每路待缓存文件流,根据当前分配给该路待缓存文件流的缓存空间的大小,确定该路待缓存文件流的拼接合并数据的异步刷新频率。
一种客户端缓存调整装置,该装置包括:
码率获得模块,用于在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率;
缓存空间分配模块,用于根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间;
其中,所述调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大。
优选的,还包括待缓存文件流确定模块,用于通过以下步骤确定所述客户端节点上的待缓存文件流:
针对所述客户端节点上的任意一路文件流,对该路文件流的访问操作进行监测;
如果监测到该路文件流每次访问操作的访问位置均与相应的上一次访问操作的最终位置相接,则确定该路文件流为待缓存文件流,所述上一次访问操作的最终位置根据上一次访问操作的访问位置与相应访问偏移量得到。
优选的,所述码率获得模块,具体用于通过以下步骤获得目标缓存文件流的码率,所述目标待缓存文件流为所述客户端节点上的任意一路待缓存文件流:
在达到设定第一时长时,根据所述第一时长对应的目标待缓存文件流针对数据的访问量,确定所述目标待缓存文件流的码率;
或者,在未达到设定第二时长,所述目标待缓存文件流针对数据的访问量大于设定的访问量阈值时,确定所述目标待缓存文件流的码率。
优选的,所述访问操作为写入操作,还包括阻塞模块,用于:
在所述调整分配给各路待缓存文件流的缓存空间之后,针对每路待缓存文件流的每次写入操作,如果该路待缓存文件流的该次待写入数据的数据量大于当前分配给该路待缓存文件流的可用缓存空间的大小,则阻塞该次待写入数据。
优选的,所述访问操作为写入操作,还包括异步刷新频率确定模块,用于:
针对每路待缓存文件流,根据当前分配给该路待缓存文件流的缓存空间的大小,确定该路待缓存文件流的拼接合并数据的异步刷新频率。
应用本发明实施例所提供的技术方案,在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率,根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间,其中,调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大。
相较于现有技术中将各路文件流放入同一个固定大小的缓存空间中,各路文件流的访问操作混合在一起进行处理,本发明通过获得各路待缓存文件流的码率,根据各路待缓存文件流的码率的不同,按照调整策略分配缓存空间,使得码率高的文件流相较于码率低的文件流,能够分配得到较大的缓存空间。并且如果各路文件流的码率发生变化,也能根据变化后的码率,对各路文件流的缓存空间进行调整。本发明可以根据各路待缓存文件流的码率的大小对缓存空间进行调整,避免了各路待缓存文件流之间的相互影响,提高了缓存空间的使用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种客户端缓存调整方法的实施流程图;
图2为本发明中一种客户端缓存调整装置的结构示意图。
具体实施方式
本发明的核心是提供一种客户端缓存调整方法,使得码率高的文件流相较于码率低的文件流,能够分配得到较大的缓存空间。并且如果各路文件流的码率发生变化,也能根据变化后的码率,对各路文件流的缓存空间进行调整,本发明针对缓存空间进行调整,避免了各路待缓存文件流之间的相互影响,提高了缓存空间的使用效率。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,为本发明中一种客户端缓存调整方法的实施流程图,该方法包括以下步骤:
S101:在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率。
一个客户端节点上可以有多路文件流进行不同的数据访问操作,该访问操作可以是读取操作或者写入操作,每一路文件流有着各自的码率,并且对于同一路文件流而言,码率也有可能发生变化。
预先设定一个缓存调整触发条件,当达到该缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率。
具体的,可以将预设周期作为缓存调整的触发条件,例如可以在缓存调整周期性地触发时,将当前客户端节点上各路文件流都设定为待缓存文件流,并计算各路待缓存文件流的码率。还可以进一步设定一个码率阈值,当设定的缓存调整触发条件为周期触发时,计算每一路文件流的码率,并将码率高于码率阈值的文件流作为待缓存文件流。
对于每一路文件流,可以在缓存调整周期性地触发时,计算此时一个单位时间段内的数据读取量或者数据写入量,根据该数据读取量或者数据写入量以及该单位时间段得到该路文件流的码率。该单位时间段可以根据实际情况进行具体设定和调整,但应该远小于缓存调整的触发周期。
在本发明的一种具体实施方式中,可以通过以下步骤确定客户端节点上的待缓存文件流:
步骤一:针对客户端节点上的任意一路文件流,对该路文件流的访问操作进行监测;
步骤二:如果监测到该路文件流每次访问操作的访问位置均与相应的上一次访问操作的最终位置相接,则确定该路文件流为待缓存文件流,上一次访问操作的最终位置根据上一次访问操作的访问位置与相应访问偏移量得到。
针对客户端节点上的每一路文件流,监测该路文件流的访问操作。对于某一路文件流而言,监测该路文件流的每次访问操作的访问位置以及与每次访问操作相对应的偏移量,根据每次访问操作相应的上一次访问操作的访问位置以及上一次访问操作相对应的偏移量,得出相应的上一次访问操作的最终位置,以确定每次访问操作的访问位置是否均与相应的上一次访问操作的最终位置相接。
可以预设第一时长,当确定该路文件流的每次访问操作均与上次访问操作相接的时长高于预设的第一时长,则确定该路文件流为待缓存文件流。也可以预设操作次数阈值,当确定该路文件流的每次访问操作均与上次访问操作相接的操作次数高于预设的操作次数阈值,则确定该路文件流为待缓存文件流。
具体的,对于每一路文件流,可以记录下该路文件流第一次访问操作的时间戳和第一次访问操作的操作位置以及第一次访问操作的偏移量,记录下该路文件流第二次访问操作的时间戳和第二次访问操作的操作位置以及第二次访问操作的偏移量。根据第一次访问操作的操作位置和第一次访问操作的偏移量以及第二次访问操作的操作位置,确定第一次访问操作和第二次访问操作是否相接。如果否,可以更新时间戳和相应的访问位置以及访问偏移量,也就是说将第二次访问操作的数据,重新定义为第一次访问操作的数据以进行后续的第二次访问操作。如果是,可以记录两个时间戳的时间间隔,并进行该路文件流第三次访问操作的相应数据与第二次访问操作的相应数据的比对,直到某一次访问操作的时间戳与第一次访问操作的时间戳的差值高于预设的第一时长,可以确定该路文件流为待缓存文件流。第一时长可以由用户根据实际情况进行设定和调整,如可以预设为两秒。
需要说明的是,以上方案的选取,并不影响本发明的实施。
在本发明的一种具体实施方式中,可以通过以下步骤获得目标待缓存文件流的码率,目标待缓存文件流为客户端节点上的任意一路待缓存文件流:
在达到设定第一时长时,根据第一时长对应的目标待缓存文件流针对数据的访问量,确定目标待缓存文件流的码率;
或者,在未达到设定第二时长,目标待缓存文件流针对数据的访问量大于设定的访问量阈值时,确定目标待缓存文件流的码率。
在本发明的该种实施例中定义的第一时长和上一个实施例中定义的第一时长概念相同。可以通过以下步骤获得客户端节点上任意一路待缓存文件流的码率,将该路待缓存文件流称为目标待缓存文件流。
在达到设定的第一时长时,可以记录下目标待缓存文件流的总共的访问偏移量,以及完成该总共的访问偏移量的第一次访问操作的时间戳和最后一次访问操作的时间戳,根据这两个时间戳的差值以及该总共的访问偏移量,可以得到目标待缓存文件流的数据访问量和时间跨度,可以根据该数据访问量与该时间跨度的商,得到目标待缓存文件流的码率。
可以设定第二时长,在目标待缓存文件流的访问操作未达到设定的第二时长时,如果目标待缓存文件流针对数据的访问量大于设定的访问量阈值时,确定目标待缓存文件流的码率。可以记录下目标待缓存文件流针对数据的访问量大于设定的访问量阈值时使用的时间,可以根据该使用的时间内数据的访问量与该使用的时间的商,得到目标待缓存文件流的码率。
第二时长可以设定为两秒,访问量阈值可以设定为8MB,当然,也可以根据实际情况进行设定和调整,并不影响本发明的实施。
S102:根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间。
其中,调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大。
根据各路待缓存文件流的码率的大小,可以根据预设的调整策略,为各路待缓存文件流分配相应大小的缓存空间,当然,分配原则应当满足码率大的文件流相较于码率小的文件流,能够分配得到更大的缓存控制。
可以根据每一路待缓存文件流的码率,计算每一路待缓存文件流的码率与其他路待缓存文件流的码率的比例,根据比例关系分配对应大小的缓存空间。
在本发明的一种具体实施方式中,如果采用根据记录的每次访问操作的时间戳以及偏移量获取各路待缓存文件流的码率,则可以在步骤S102中为各路待缓存文件流分配缓存空间之后,更新时间戳并记录该时间戳对应的访问位置以及偏移量,以使得重新计算各路待缓存文件流的码率。
应用本发明实施例所提供的技术方案,在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率,根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间,其中,调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大。
相较于现有技术中将各路文件流放入同一个固定大小的缓存空间中,各路文件流的访问操作混合在一起进行处理,本发明通过获得各路待缓存文件流的码率,根据各路待缓存文件流的码率的不同,按照调整策略分配缓存空间,使得码率高的文件流相较于码率低的文件流,能够分配得到较大的缓存空间。并且如果各路文件流的码率发生变化,也能根据变化后的码率,对各路文件流的缓存空间进行调整。本发明可以根据各路待缓存文件流的码率的大小对缓存空间进行调整,避免了各路待缓存文件流之间的相互影响,提高了缓存空间的使用效率。
在本发明的一种具体实施方式中,当访问操作为写入操作时,在步骤S102中调整分配给各路待缓存文件流的缓存空间之后,还包括:
针对每路待缓存文件流的每次写入操作,如果该路待缓存文件流的该次待写入数据的数据量大于当前分配给该路待缓存文件流的可用缓存空间的大小,则阻塞该次待写入数据。
当访问操作为待缓存文件流的写入操作时,在开始进行写入操作之前,可以预先判断该次写入数据的数据量,并将该数据量和分配给该路待缓存文件流的缓存空间做比较。如果该数据量的大小大于该缓存空间的大小,可以阻塞该次待写入数据。如果不对写入操作的数据量加以判断,在出现写入操作的数据量的大于该待缓存文件流的缓存空间的大小的情况时,由于写入操作耗时相对较长,有着大量数据量的写入操作可能会持续占用该待缓存文件流的缓存空间,且该缓存空间还会占据总共的缓存空间的一大部分。因此,采用本发明的该种实施方式,能够有效的避免写入操作时,数据量过大造成的写入操作数据持续占用缓存的情况。
在本发明的一种具体实施方式中,当访问操作为写入操作时,还包括:
针对每路待缓存文件流,根据当前分配给该路待缓存文件流的缓存空间的大小,确定该路待缓存文件流的拼接合并数据的异步刷新频率。
客户端在处理各路待缓存文件流的访问操作时,对于进行写入操作的待缓存文件流,按照各路待缓存文件流的缓存空间的大小决定该路文件流的刷新频度。由于本发明使得码率高的待缓存文件流相较于码率低的待缓存文件流,获得较高的缓存空间,缓存空间大的待缓存文件流相较于缓存空间小的待缓存文件流,获得更高的刷新频度。也就意味着,码率高的待缓存文件流能够获得更高的刷新频度。采用本发明的该种实施方式,能够提高缓存空间的使用效率。
相应于上面的方法实施例,本发明实施例还提供了一种客户端缓存调整装置,下文描述的客户端缓存调整装置与上文描述的客户端缓存调整方法可相互对应参照。
参见图2所示,为本发明中一种客户端缓存调整装置的结构示意图。该装置包括以下模块:
码率获得模块201,用于在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率;
缓存空间分配模块202,用于根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间;
其中,调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大。
应用本发明实施例所提供的装置,在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率,根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间,其中,调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大。
相较于现有技术中将各路文件流放入同一个固定大小的缓存空间中,各路文件流的访问操作混合在一起进行处理,本发明通过获得各路待缓存文件流的码率,根据各路待缓存文件流的码率的不同,按照调整策略分配缓存空间,使得码率高的文件流相较于码率低的文件流,能够分配得到较大的缓存空间。并且如果各路文件流的码率发生变化,也能根据变化后的码率,对各路文件流的缓存空间进行调整,本发明可以根据各路待缓存文件流的码率的大小对缓存空间进行调整,避免了各路待缓存文件流之间的相互影响,提高了缓存空间的使用效率。
在本发明的一种具体实施方式中,还包括待缓存文件流确定模块,用于通过以下步骤确定所述客户端节点上的待缓存文件流:
对客户端节点上的任意一路文件流,对该路文件流的访问操作进行监测;
如果监测到该路文件流每次访问操作的访问位置均与相应的上一次访问操作的最终位置相接,则确定该路文件流为待缓存文件流,上一次访问操作的最终位置根据上一次访问操作的访问位置与相应访问偏移量得到。
在本发明的一种具体实施方式中,码率获得模块201,具体用于通过以下步骤获得目标缓存文件流的码率,所述目标待缓存文件流为所述客户端节点上的任意一路待缓存文件流:
在达到设定第一时长时,根据第一时长对应的目标待缓存文件流针对数据的访问量,确定目标待缓存文件流的码率;目标待缓存文件流为客户端节点上的任意一路待缓存文件流;
或者,在未达到设定第二时长,目标待缓存文件流针对数据的访问量大于设定的访问量阈值时,确定目标待缓存文件流的码率。
在本发明的一种具体实施方式中,访问操作为写入操作,还包括阻塞模块,用于:
在调整分配给各路待缓存文件流的缓存空间之后,针对每路待缓存文件流的每次写入操作,如果该路待缓存文件流的该次待写入数据的数据量大于当前分配给该路待缓存文件流的可用缓存空间的大小,则阻塞该次待写入数据。
在本发明的一种具体实施方式中,访问操作为写入操作,还包括异步刷新频率确定模块,用于:
针对每路待缓存文件流,根据当前分配给该路待缓存文件流的缓存空间的大小,确定该路待缓存文件流的拼接合并数据的异步刷新频率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (6)
1.一种客户端缓存调整方法,其特征在于,包括:
在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率;
根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间;
其中,所述调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大;
通过以下步骤获得目标待缓存文件流的码率,所述目标待缓存文件流为所述客户端节点上的任意一路待缓存文件流:
在达到设定第一时长时,根据所述第一时长对应的目标待缓存文件流针对数据的访问量,确定所述目标待缓存文件流的码率;
或者,在未达到设定第二时长,所述目标待缓存文件流针对数据的访问量大于设定的访问量阈值时,确定所述目标待缓存文件流的码率;
还包括:
针对每路待缓存文件流,根据当前分配给该路待缓存文件流的缓存空间的大小,确定该路待缓存文件流的拼接合并数据的异步刷新频率。
2.根据权利要求1所述的方法,其特征在于,通过以下步骤确定所述客户端节点上的待缓存文件流:
针对所述客户端节点上的任意一路文件流,对该路文件流的访问操作进行监测;
如果监测到该路文件流每次访问操作的访问位置均与相应的上一次访问操作的最终位置相接,则确定该路文件流为待缓存文件流,所述上一次访问操作的最终位置根据上一次访问操作的访问位置与相应访问偏移量得到。
3.根据权利要求1或2所述的方法,其特征在于,所述访问操作为写入操作,在所述调整分配给各路待缓存文件流的缓存空间之后,还包括:
针对每路待缓存文件流的每次写入操作,如果该路待缓存文件流的该次待写入数据的数据量大于当前分配给该路待缓存文件流的可用缓存空间的大小,则阻塞该次待写入数据。
4.一种客户端缓存调整装置,其特征在于,包括:
码率获得模块,用于在达到设定的缓存调整触发条件时,获得客户端节点上各路待缓存文件流对数据的访问操作的码率;
缓存空间分配模块,用于根据各路待缓存文件流的码率的大小和预设的调整策略,调整分配给各路待缓存文件流的缓存空间;
其中,所述调整策略为:针对任意一路待缓存文件流,该路待缓存文件流的码率越大,分配给该路待缓存文件流的缓存空间越大;
所述码率获得模块,具体用于通过以下步骤获得目标缓存文件流的码率,所述目标待缓存文件流为所述客户端节点上的任意一路待缓存文件流:
在达到设定第一时长时,根据所述第一时长对应的目标待缓存文件流针对数据的访问量,确定所述目标待缓存文件流的码率;
或者,在未达到设定第二时长,所述目标待缓存文件流针对数据的访问量大于设定的访问量阈值时,确定所述目标待缓存文件流的码率;
还包括异步刷新频率确定模块,用于:
针对每路待缓存文件流,根据当前分配给该路待缓存文件流的缓存空间的大小,确定该路待缓存文件流的拼接合并数据的异步刷新频率。
5.根据权利要求4所述的装置,其特征在于,还包括待缓存文件流确定模块,用于通过以下步骤确定所述客户端节点上的待缓存文件流:
针对所述客户端节点上的任意一路文件流,对该路文件流的访问操作进行监测;
如果监测到该路文件流每次访问操作的访问位置均与相应的上一次访问操作的最终位置相接,则确定该路文件流为待缓存文件流,所述上一次访问操作的最终位置根据上一次访问操作的访问位置与相应访问偏移量得到。
6.根据权利要求4或5所述的装置,其特征在于,所述访问操作为写入操作,还包括阻塞模块,用于:
在所述调整分配给各路待缓存文件流的缓存空间之后,针对每路待缓存文件流的每次写入操作,如果该路待缓存文件流的该次待写入数据的数据量大于当前分配给该路待缓存文件流的可用缓存空间的大小,则阻塞该次待写入数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710520340.0A CN107333169B (zh) | 2017-06-30 | 2017-06-30 | 一种客户端缓存调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710520340.0A CN107333169B (zh) | 2017-06-30 | 2017-06-30 | 一种客户端缓存调整方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107333169A CN107333169A (zh) | 2017-11-07 |
CN107333169B true CN107333169B (zh) | 2020-03-06 |
Family
ID=60199177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710520340.0A Active CN107333169B (zh) | 2017-06-30 | 2017-06-30 | 一种客户端缓存调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107333169B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111479160B (zh) | 2019-01-23 | 2023-02-21 | 上海哔哩哔哩科技有限公司 | 基于浏览器的Web视频智能缓冲方法、装置和存储介质 |
CN113972962B (zh) * | 2020-07-25 | 2023-02-03 | 华为技术有限公司 | 一种缓冲区管理方法及相关装置 |
CN114979726B (zh) * | 2022-06-30 | 2023-09-26 | 重庆紫光华山智安科技有限公司 | 码率调整方法、装置、服务器和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883193A (zh) * | 2012-10-09 | 2013-01-16 | 乐视网信息技术(北京)股份有限公司 | 内容分发流量控制方法 |
CN102883143A (zh) * | 2012-09-21 | 2013-01-16 | 浙江宇视科技有限公司 | 一种调整raid阵列缓存的方法 |
CN104133782A (zh) * | 2014-07-04 | 2014-11-05 | 深圳英飞拓科技股份有限公司 | 一种数字监控平台内存自适应管理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160249092A1 (en) * | 2015-02-24 | 2016-08-25 | Layer3 TV, Inc. | System and method for digital video recording backfill |
-
2017
- 2017-06-30 CN CN201710520340.0A patent/CN107333169B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883143A (zh) * | 2012-09-21 | 2013-01-16 | 浙江宇视科技有限公司 | 一种调整raid阵列缓存的方法 |
CN102883193A (zh) * | 2012-10-09 | 2013-01-16 | 乐视网信息技术(北京)股份有限公司 | 内容分发流量控制方法 |
CN104133782A (zh) * | 2014-07-04 | 2014-11-05 | 深圳英飞拓科技股份有限公司 | 一种数字监控平台内存自适应管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107333169A (zh) | 2017-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107333169B (zh) | 一种客户端缓存调整方法及装置 | |
EP0595268B1 (en) | Variable transfer rate control coding apparatus and method | |
CN108076317B (zh) | 视频数据存储方法及系统、视频接入方法及节点 | |
KR960043549A (ko) | 속도-양자화 모델을 사용하여 인코딩하는 비디오 인코딩 시스템 및 방법 | |
US8438167B2 (en) | Method and device for recording media | |
JP2009515278A (ja) | メディア記憶デバイスを管理する方法および装置 | |
CN105872722A (zh) | 一种在线视频起播缓冲系统和方法 | |
US8699808B2 (en) | Method and apparatus of temporary image frame compression | |
CN106791930B (zh) | 一种视频处理方法和装置 | |
JP2003529146A (ja) | 記憶媒体上のブロックにアクセスするシステムおよび方法 | |
US20020131765A1 (en) | Digital video recorder | |
US7660964B2 (en) | Windowing external block translations | |
CN113315810A (zh) | 一种在线音频播放方法及设备 | |
DE102012201534A1 (de) | Vorrichtung zur zwischenspeicherung einer skalierbaren original-datei | |
CN101425310B (zh) | 在音频视频交织记录期间保留索引存储空间的方法 | |
US10782888B2 (en) | Method and device for improving file system write bandwidth through hard disk track management | |
US9392291B2 (en) | Method and apparatus of temporary image frame compression | |
CN115379235A (zh) | 基于缓冲池的图像解码方法、装置、可读介质及电子设备 | |
CN112995610A (zh) | 共享内存在多路视频监控中运用的方法 | |
CN110214352B (zh) | 与存储介质的损耗程度相适配的记录方法 | |
CN111464860B (zh) | 一种视频数据的缓存分配方法 | |
KR100565307B1 (ko) | 이동 통신 단말기의 스트리밍 콘텐츠 저장 방법 | |
KR101636198B1 (ko) | 무선 통신 환경에서 비디오 스트리밍의 트래픽 제어 방법 및 이를 구현하는 수신기 장치 | |
US11212573B2 (en) | Systems, methods, and devices for managing segmented media content | |
JP7458848B2 (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 |