CN104967807A - 一种缓存方法和装置 - Google Patents
一种缓存方法和装置 Download PDFInfo
- Publication number
- CN104967807A CN104967807A CN201410842310.8A CN201410842310A CN104967807A CN 104967807 A CN104967807 A CN 104967807A CN 201410842310 A CN201410842310 A CN 201410842310A CN 104967807 A CN104967807 A CN 104967807A
- Authority
- CN
- China
- Prior art keywords
- code stream
- image code
- cache pool
- road image
- memory space
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及通信领域,公开了一种缓存方法和装置,该方法为:启动摄像头进行图像采集,并分别针对每一路摄像头采集的图像码流申请相应的存储空间;根据图像码流的路数将缓存块划分成不小于图像码流的路数的缓存池以及计算每一路图像码流对应的一个缓存池,并将每一路图像码流分别保存至对应的缓存池中,当任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。这样,通过对缓存块进行缓存池的划分,可以将不连续的图像码流合并,将合并后的码流写入存储空间,不仅可以实现成百上千路码流同时写入存储空间,而且提高了存储设备的性能。
Description
技术领域
本发明涉及数据通信领域,特别是涉及一种缓存方法和装置。
背景技术
缓存块(cache)是在计算机存储系统的层次结构中,介于中央处理器和主存储器之间的高速小容量。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。
在安防领域中,需要接成百上千的摄像头,而每一路摄像头的码流是连续的,不同路的摄像头码流却是不连续的。各路摄像头码流以业务请求(Input-Output,IO)的形式通过处理码流平台流入存储设备中。存储设备可以先通过缓存块保存各路图像码流,然后将缓存块中的多个IO的访问地址写入磁盘中。
然而,现有技术下,只能解决几路或者几十路连续的IO和随机的IO的访问,针对成百上千的连续的IO,不可能记录那么多的历史记录。而且不连续IO会造成磁盘的存储性能差。
发明内容
本发明实施例提供一种缓存方法和装置,用以实现成百上千路码流同时写入存储设备,而且提高了存储设备的性能。
本发明实施例提供的具体技术方案如下:
一种缓存方法,包括:
启动摄像头进行图像采集,并分别针对每一路摄像头采集的图像码流申请相应的存储空间;
根据图像码流的路数将缓存块划分成预设数目的缓存池;其中,缓存池的数目不小于所述图像码流的路数;
根据每一路图像码流对应的存储空间的地址、存储空间的大小以及缓存池的数目,计算所述每一路图像码流对应的一个缓存池,并将每一路图像码流分别保存至对应的缓存池中;
当任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
这样,可以实现成百上千路码流同时写入存储设备中,而且提高了存储设备的性能。
较佳的,进一步包括:
在图像码流写入过程中,若确定任意一路图像码流对应的存储空间已写满,则针对所述任意一路图像码流分配新的存储空间,并基于所述新的存储空间的地址重新计算所述任意一路图像码流对应的缓存池。
较佳的,计算所述每一路图像码流对应的一个缓存池之后,将每一路图像码流分别保存至对应的缓存池中之前,进一步包括:
基于每一路图像码流对应的缓存池,分别为每一路图像码流申请对应的元数据区和数据缓存区,分别在每一路图像码流对应的元数据区中记录相应图像码流的缓存池地址信息,以及分别将每一路图像码流对应的数据缓存区作为相应缓存池的待用存储区域;
将每一路图像码流分别保存至对应的缓存池中之后,进一步包括:
分别对应每一路图像码流记录存储空间标记,并将各个存储空间标记结果记录在超级块中,其中,所述超级块记录的信息用于表征所述超级块管理的每一个缓存池中保存的图像码流是否已写入对应的存储空间。
较佳的,当任意一路图像码流对应的缓存池中保存的码流数目达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中,具体包括:
根据所述元数据区中对应所述任意一路图像码流记录的缓存池地址信息,确定所述任意一路图像码流对应的缓存池的已存数据量;
当确定所述任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
较佳的,进一步包括:
当出现电源断电时,根据所述超级块的记录,将各个缓存池内保存的未写入对应存储空间的图像码流保存至闪存或者SD卡中;
当电源接通时后,根据所述超级块的记录,将保存至闪存或者SD卡中的各个图像码流分别还原至对应的缓存池中。
一种缓存装置,包括:
申请单元,用于启动摄像头进行图像采集,并分别针对每一路摄像头采集的图像码流申请相应的存储空间;
划分单元,用于根据图像码流的路数将缓存块划分成预设数目的缓存池;其中,缓存池的数目不小于所述图像码流的路数;
计算单元,用于根据每一路图像码流对应的存储空间的地址、存储空间的大小以及缓存池的数目,计算所述每一路图像码流对应的一个缓存池,并将每一路图像码流分别保存至对应的缓存池中;
写入单元,用于当任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
这样,可以实现成百上千路码流同时写入存储设备中,而且提高了存储设备的性能。
较佳的,所述计算单元进一步用于:
在图像码流写入过程中,若确定任意一路图像码流对应的存储空间已写满,则针对所述任意一路图像码流分配新的存储空间,并基于所述新的存储空间的地址重新计算所述任意一路图像码流对应的缓存池。
较佳的,所述计算单元进一步用于:
在计算所述每一路图像码流对应的一个缓存池之后,将每一路图像码流分别保存至对应的缓存池中之前,基于每一路图像码流对应的缓存池,分别为每一路图像码流申请对应的元数据区和数据缓存区,分别在每一路图像码流对应的元数据区中记录相应图像码流的缓存池地址信息,以及分别将每一路图像码流对应的数据缓存区作为相应缓存池的待用存储区域;
所述写入单元进一步用于:
将每一路图像码流分别保存至对应的缓存池中之后,分别对应每一路图像码流记录存储空间标记,并将各个存储空间标记结果记录在超级块中,以及在所述超级块中记录的信息用于表征所述超级块管理的每一个缓存池中保存的图像码流是否已写入对应的存储空间。
较佳的,当任意一路图像码流对应的缓存池中保存的码流数目达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中,所述写入单元具体用于:
根据所述元数据区中对应所述任意一路图像码流记录的缓存池地址信息,确定所述任意一路图像码流对应的缓存池的已存数据量;
当确定所述任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
较佳的,进一步包括:还原单元,
所述还原单元用于当出现电源断电时,根据所述超级块的记录,将各个缓存池内保存的未写入对应存储空间的图像码流保存至闪存或者SD卡中;以及当电源接通时后,根据所述超级块的记录,将保存至闪存或者SD卡中的各个图像码流分别还原至对应的缓存池中。
附图说明
图1为本发明实施例中缓存的概述流程示意图;
图2为本发明实施例中逻辑卷结构示意图;
图3为本发明实施例中缓存块的结构示意图;
图4为本发明实施例中子缓存块的结构示意图;
图5为本发明实施例中缓存装置的结构示意图。
具体实施方式
为了解决将不连续的IO写入存储设备的过程中,造成的存储设备性能差,本发明实施例中,提出了一种缓存方法:通过将缓存块划分为若干缓存池,将每一路码流放存入对应的缓存池中,当任意一路图像码流对应的缓存池中的已存容量达到设定阈值时,将任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1所示,本发明实施例中,存储设备存储缓存数据的流程如下:
步骤100:启动摄像头进行图像采集,并分别针对每一路摄像头采集的图像码流申请相应的存储空间。
其中,存储空间可以是物理磁盘、磁盘阵列或者逻辑卷等,本发明实施例中,以逻辑卷为例,可参阅图2所示。
此外,在图像码流写入过程中,若确定任意一路图像码流对应的存储空间已写满,则针对任意一路图像码流分配新的存储空间。
例如,一个磁盘的存储空间为100G,启动摄像头进行图像采集时,针对各路码流会申请磁盘中相应的存储空间(buffer,Buf),假设每个存储空间大小都相等,且为16MB,当启动512路摄像头开始图像采集时,在逻辑卷中会分配512个连续的存储空间,为第一路图像码流申请0-16MB(大于等于0且小于16MB)的存储空间,记为第一块存储空间,为第二路图像码流申请16MB-32MB(大于等于16MB且小于32MB)的存储空间,记为第二块存储空间,为第三路图像码流申请32MB-48MB(大于等于16MB且小于32MB)的存储空间,记为第三块存储空间,以此类推。由于每一路图像码流写入磁盘的速度不一样,假如第12路图像码流写入磁盘的速度最快,那么,当写满原先申请的存储空间时,对第12路图像码流申请新的存储空间,即申请第513块存储空间,第15路图像码流写入磁盘的速度次之,那么,当写满原先申请的存储空间时,对第15路图像码流申请新的存储空间,即申请第514块存储空间,也就是,同一时刻只存在512份存储空间在存储数据。
步骤110:根据图像码流的路数将缓存块划分成预设数目的缓存池;其中,缓存池的数目不小于图像码流的路数。
一般的,划分的缓存池个数不小于图像码流的路数,不大于图像码流路数的2倍。
接着,在图像码流保存到缓存池之前,需要分别为每一路图像码流申请对应的元数据区和数据缓存区,分别在每一路图像码流对应的元数据区中记录相应图像码流的缓存池地址信息,以及分别将每一路图像码流对应的数据缓存区作为相应缓存池的待用存储区域。
具体的,缓存块可以是一个单独的缓存块,也可以是由若干个子缓存块共同组成一个缓存块,参阅图3所示,每一个子缓存块包括超级块、元数据区和数据缓存区,各个子缓存块共享一个全局超级块,即缓存块中只有一个全局超级块。
其中,超级块记录的是它所在的一个子缓存块中是否将每一个缓存池中保存的图像码流数据写入相应的存储空间中,并将未写入存储空间的数据标记为脏数据,将写入相应存储空间的数据记录为有效数据;元数据区记录的是在每一路图像码流保存在缓存池的地址,每一路图像码流申请对应的元数据区的所有信息都记录在Meta[i]中,即Meta[i]不仅记录了每一路图像码流保存在缓存池的地址,还可以记录在存储空间中的地址以及记录每一路图像码流中的每个图像码流是否是脏数据等信息;用户数据区作为相应缓存池的待用存储区域,将需要保存的数据以Block[i]标记,并且Meta[i]和Block[i]是一一对应的;而全局超级块记录整个缓存块中包含的子缓存块的个数,数据缓存区的容量以及掉电保护的标志等信息,其中,一个子缓存块的结构示意图参阅图4所示,本发明实施例中,均以一个缓存块是一个单独的缓存块为例来说明。
例如,计算出A路图像码流对应的缓存池为3号,采用元数据区记录A路码流中每个图像码流在缓存块中的地址和脏数据等信息,采用数据缓存区记录数据Block[i]信息,并将A路图像码流中每个图像码流的信息,即Meta[i]和Block[i]的信息都以链表的形式都记录在3号缓存池中。
步骤120:根据每一路图像码流对应的存储空间的地址、存储空间的大小以及缓存池的数目,计算每一路图像码流对应的一个缓存池,并将每一路图像码流分别缓存至对应的缓存池中。
本发明实施例中,在执行步骤120时,需要将各路图像码流存入对应的缓存池中。
例如,可以采用公式一进行计算对应的缓存池:
缓存池号=(图像码流地址÷存储空间的大小)%缓存池数目(公式一)
如,A路图像码流的存储空间地址为64MB-80MB(大于等于64MB且小于80MB),A路图像码流中每一个图像码流的地址可以以起始地址作为图像码流地址,比如,其中一个图像码流B的地址为65MB-(65MB+64k),则将65MB作为其中一个图像码流B的地址来计算,存储空间大小为16M,缓存池数目为5,那么,根据公式一计算:
(65÷16)%5=4
其中,65代表一个图像码流B的地址,16代表存储空间的大小,5代表缓存池数目。
可以得出其中一个图像码流B对应的缓存池号为4。
这样,A路图像码流中的存储空间地址在64MB-80MB范围中的每一个图像码流对应的缓存池号都是4。
即在实际图像码流存入缓存池的过程中,为每一个图像码流计算一次缓存池号,而且每一路图像码流中的每一个图像码流都在相同的缓存池号中。
此外,当针对任意一路图像码流分配新的存储空间时,基于新的存储空间的地址重新计算任意一路图像码流对应的缓存池。
例如,A路图像码流的存储空间地址为64MB-80MB(大于等于64MB且小于80MB),存储空间大小为16M,缓存池数目为5,那么,根据公式一计算得出A路图像码流对应的缓存池号为4,当为A路图像码流的原先申请的存储空间64MB-80MB写完以后,为A路图像码流申请的新的存储空间地址,且为80MB-96MB(大于等于80MB且小于96MB),根据公式一计算:
(80÷16)%5=0
其中,80代表A路图像码流的地址,16代表存储空间的大小,5代表缓存池数目。
即A路图像码流对应的缓存池号更改为0。
进一步的,将每一路图像码流分别保存至对应的缓存池中之后,分别对应每一路图像码流记录存储空间标记,并将各个存储空间标记结果记录在超级块中。
步骤130:当任意一路图像码流对应的缓存池中保存的码流数目达到设定阈值时,将任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
具体的,根据元数据区中对应任意一路图像码流记录的缓存池地址信息,确定任意一路图像码流对应的缓存池的已存数据量;当确定任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
例如,设定阈值为1MB,每个图像码流的大小为64k,那么,在A路图像码流存入对应的缓存池的过程中,第一个图像码流存入缓存池后,缓存池的已存数据量为64k,第二个图像码流存入缓存池后,缓存池的已存数据量为128k,(64k+64k=128k),第三个图像码流存入缓存池后,缓存池的已存数据量为192k(64k+64k+64k=192k),那么,当缓存池的已存数据量为1024k时,即达到1M时,将A路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
进一步地,当出现电源断电时,根据超级块的记录,将各个缓存池内保存的未写入对应存储空间的图像码流保存至闪存或者存储卡(Secure Digital,SD)卡中;
当电源接通时后,根据超级块的记录,将保存至闪存或者SD卡中的各个图像码流分别还原至对应的缓存池中。
例如,超级块中记录的1号缓存池中A路码流中各个图像码流的数据尚未写入缓存池中,那么,当电源断电时,将A路码流中各个图像码流的数据暂且保存至SD卡或者保存至闪存,当电源接通时,A路码流中各个图像码流的数据仍然会恢复到1号缓存池中。
这样,可以确保在电源意外断电的时候数据不会丢失。
下面采用具体的实施例作出进一步详细说明。
例如,一共有512路摄像头进行图像采集,已知缓存块的容量为2G,将缓存块划分成512个缓存池,那么,缓存池的容量为2MB(2G÷512=2MB),并且为每一路图像码流申请的存储空间大小为16M,当图像码流在缓存池的存储数据达到1MB时,将缓存池中保存的图像码流的数据写入申请的存储空间中。
基于上述实施例,参阅图5所示,本发明实施例中,缓存装置包括申请单元50、划分单元51、计算单元52、写入单元53,其中,
申请单元50,用于启动摄像头进行图像采集,并分别针对每一路摄像头采集的图像码流申请相应的存储空间;
划分单元51,用于根据图像码流的路数将缓存块划分成预设数目的缓存池;其中,缓存池的数目不小于图像码流的路数;
计算单元52,用于根据每一路图像码流对应的存储空间的地址、存储空间的大小以及缓存池的数目,计算每一路图像码流对应的一个缓存池,并将每一路图像码流分别保存至对应的缓存池中;
写入单元53,用于当任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
这样,可以实现成百上千路码流同时写入存储设备中,而且提高了存储设备的性能。
较佳的,计算单元52进一步用于:
在图像码流写入过程中,若确定任意一路图像码流对应的存储空间已写满,则针对任意一路图像码流分配新的存储空间,并基于新的存储空间的地址重新计算任意一路图像码流对应的缓存池。
较佳的,计算单元52进一步用于:
在计算每一路图像码流对应的一个缓存池之后,将每一路图像码流分别保存至对应的缓存池中之前,基于每一路图像码流对应的缓存池,分别为每一路图像码流申请对应的元数据区和数据缓存区,分别在每一路图像码流对应的元数据区中记录相应图像码流的缓存池地址信息,以及分别将每一路图像码流对应的数据缓存区作为相应缓存池的待用存储区域;
写入单元53进一步用于:
将每一路图像码流分别保存至对应的缓存池中之后,分别对应每一路图像码流记录存储空间标记,并将各个存储空间标记结果记录在超级块中,以及在超级块中记录的信息用于表征该超级块管理的每一个缓存池中的图像码流是否已写入对应的存储空间。
较佳的,当任意一路图像码流对应的缓存池中保存的码流数目达到设定阈值时,将任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中,写入单元53具体用于:
根据元数据区中对应任意一路图像码流记录的缓存池地址信息,确定任意一路图像码流对应的缓存池的已存数据量;
当确定任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
较佳的,进一步包括:
还原单元54,用于当出现电源断电时,根据超级块的记录,将各个缓存池内保存的未写入对应存储空间的图像码流保存至闪存或者SD卡中;以及当电源接通时后,根据超级块的记录,将保存至闪存或者SD卡中的各个图像码流分别还原至对应的缓存池中。
综上所述,本发明涉及通信领域,公开了一种缓存方法和装置,该方法为:启动摄像头进行图像采集,并分别针对每一路摄像头采集的图像码流申请相应的存储空间;根据图像码流的路数将缓存块划分成不小于图像码流的路数的缓存池以及根据每一路图像码流对应的存储空间的地址、存储空间的大小以及缓存池的数目,计算每一路图像码流对应的一个缓存池,并将每一路图像码流分别保存至对应的缓存池中,当任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。这样,通过对缓存块进行缓存池的划分,可以将不连续的图像码流合并,将合并后的码流写入存储空间,不仅可以实现成百上千路码流同时写入存储设备,而且提高了存储设备的性能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种缓存方法,其特征在于,所述方法包括:
启动摄像头进行图像采集,并分别针对每一路摄像头采集的图像码流申请相应的存储空间;
根据图像码流的路数将缓存块划分成预设数目的缓存池;其中,缓存池的数目不小于所述图像码流的路数;
根据每一路图像码流对应的存储空间的地址、存储空间的大小以及缓存池的数目,计算所述每一路图像码流对应的一个缓存池,并将每一路图像码流分别保存至对应的缓存池中;
当任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
2.如权利要求1所述的方法,其特征在于,进一步包括:
在图像码流写入过程中,若确定任意一路图像码流对应的存储空间已写满,则针对所述任意一路图像码流分配新的存储空间,并基于所述新的存储空间的地址重新计算所述任意一路图像码流对应的缓存池。
3.如权利要求1或2所述的方法,其特征在于,计算所述每一路图像码流对应的一个缓存池之后,将每一路图像码流分别保存至对应的缓存池中之前,进一步包括:
基于每一路图像码流对应的缓存池,分别为每一路图像码流申请对应的元数据区和数据缓存区,分别在每一路图像码流对应的元数据区中记录相应图像码流的缓存池地址信息,以及分别将每一路图像码流对应的数据缓存区作为相应缓存池的待用存储区域;
将每一路图像码流分别保存至对应的缓存池中之后,进一步包括:
分别对应每一路图像码流记录存储空间标记,并将各个存储空间标记结果记录在超级块中,其中,所述超级块记录的信息用于表征所述超级块管理的每一个缓存池中保存的图像码流是否已写入对应的存储空间。
4.如权利要求3所述的方法,其特征在于,当任意一路图像码流对应的缓存池中保存的码流数目达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中,具体包括:
根据所述元数据区中对应所述任意一路图像码流记录的缓存池地址信息,确定所述任意一路图像码流对应的缓存池的已存数据量;
当确定所述任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
5.如权利要求3所述的方法,其特征在于,进一步包括:
当出现电源断电时,根据所述超级块的记录,将各个缓存池内保存的未写入对应存储空间的图像码流保存至闪存或者SD卡中;
当电源接通时后,根据所述超级块的记录,将保存至闪存或者SD卡中的各个图像码流分别还原至对应的缓存池中。
6.一种缓存装置,其特征在于,所述装置包括:
申请单元,用于启动摄像头进行图像采集,并分别针对每一路摄像头采集的图像码流申请相应的存储空间;
划分单元,用于根据图像码流的路数将缓存块划分成预设数目的缓存池;其中,缓存池的数目不小于所述图像码流的路数;
计算单元,用于根据每一路图像码流对应的存储空间的地址、存储空间的大小以及缓存池的数目,计算所述每一路图像码流对应的一个缓存池,并将每一路图像码流分别保存至对应的缓存池中;
写入单元,用于当任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
7.如权利要求6所述的装置,其特征在于,所述计算单元进一步用于:
在图像码流写入过程中,若确定任意一路图像码流对应的存储空间已写满,则针对所述任意一路图像码流分配新的存储空间,并基于所述新的存储空间的地址重新计算所述任意一路图像码流对应的缓存池。
8.如权利要求6或7所述的装置,其特征在于,所述计算单元进一步用于:
在计算所述每一路图像码流对应的一个缓存池之后,将每一路图像码流分别保存至对应的缓存池中之前,基于每一路图像码流对应的缓存池,分别为每一路图像码流申请对应的元数据区和数据缓存区,分别在每一路图像码流对应的元数据区中记录相应图像码流的缓存池地址信息,以及分别将每一路图像码流对应的数据缓存区作为相应缓存池的待用存储区域;
所述写入单元进一步用于:
将每一路图像码流分别保存至对应的缓存池中之后,分别对应每一路图像码流记录存储空间标记,并将各个存储空间标记结果记录在超级块中,以及在所述超级块中记录的信息用于表征所述超级块管理的每一个缓存池中保存的图像码流是否已写入对应的存储空间。
9.如权利要求8所述的装置,其特征在于,当任意一路图像码流对应的缓存池中保存的码流数目达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中,所述写入单元具体用于:
根据所述元数据区中对应所述任意一路图像码流记录的缓存池地址信息,确定所述任意一路图像码流对应的缓存池的已存数据量;
当确定所述任意一路图像码流对应的缓存池中的已存数据量达到设定阈值时,将所述任意一路图像码流对应的缓存池中当前保存的全部图像码流写入对应的存储空间中。
10.如权利要求8所述的装置,其特征在于,进一步包括:
还原单元,用于当出现电源断电时,根据所述超级块的记录,将各个缓存池内保存的未写入对应存储空间的图像码流保存至闪存或者SD卡中;以及当电源接通时后,根据所述超级块的记录,将保存至闪存或者SD卡中的各个图像码流分别还原至对应的缓存池中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410842310.8A CN104967807B (zh) | 2014-12-30 | 2014-12-30 | 一种缓存方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410842310.8A CN104967807B (zh) | 2014-12-30 | 2014-12-30 | 一种缓存方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104967807A true CN104967807A (zh) | 2015-10-07 |
CN104967807B CN104967807B (zh) | 2017-03-22 |
Family
ID=54221742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410842310.8A Active CN104967807B (zh) | 2014-12-30 | 2014-12-30 | 一种缓存方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104967807B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038830A (zh) * | 2017-12-18 | 2018-05-15 | 北京理工雷科电子信息技术有限公司 | 软件cache技术用于SAR图像几何校正的方法 |
CN108694187A (zh) * | 2017-04-07 | 2018-10-23 | 北京国双科技有限公司 | 实时流数据的存储方法及装置 |
CN111831206A (zh) * | 2019-04-15 | 2020-10-27 | 浙江宇视科技有限公司 | 存储空间切换方法及后端监控系统 |
CN112349315A (zh) * | 2019-08-07 | 2021-02-09 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和操作方法 |
CN113259582A (zh) * | 2020-02-13 | 2021-08-13 | 青岛海信移动通信技术股份有限公司 | 图片生成方法及终端 |
CN115543865A (zh) * | 2022-11-25 | 2022-12-30 | 成都佰维存储科技有限公司 | 掉电保护方法、装置、可读存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320353A (zh) * | 2008-07-18 | 2008-12-10 | 四川长虹电器股份有限公司 | 嵌入式浏览器缓存设计方法 |
US20120221797A1 (en) * | 2011-02-25 | 2012-08-30 | Chung Moo-Kyoung | Multi-port cache memory apparatus and method |
CN102682794A (zh) * | 2012-05-15 | 2012-09-19 | 杭州海康威视数字技术股份有限公司 | 一种多码流混合直刻的控制方法及系统 |
-
2014
- 2014-12-30 CN CN201410842310.8A patent/CN104967807B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320353A (zh) * | 2008-07-18 | 2008-12-10 | 四川长虹电器股份有限公司 | 嵌入式浏览器缓存设计方法 |
US20120221797A1 (en) * | 2011-02-25 | 2012-08-30 | Chung Moo-Kyoung | Multi-port cache memory apparatus and method |
CN102682794A (zh) * | 2012-05-15 | 2012-09-19 | 杭州海康威视数字技术股份有限公司 | 一种多码流混合直刻的控制方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694187A (zh) * | 2017-04-07 | 2018-10-23 | 北京国双科技有限公司 | 实时流数据的存储方法及装置 |
CN108038830A (zh) * | 2017-12-18 | 2018-05-15 | 北京理工雷科电子信息技术有限公司 | 软件cache技术用于SAR图像几何校正的方法 |
CN108038830B (zh) * | 2017-12-18 | 2021-05-07 | 北京理工雷科电子信息技术有限公司 | 软件cache技术用于SAR图像几何校正的方法 |
CN111831206A (zh) * | 2019-04-15 | 2020-10-27 | 浙江宇视科技有限公司 | 存储空间切换方法及后端监控系统 |
CN111831206B (zh) * | 2019-04-15 | 2022-06-14 | 浙江宇视科技有限公司 | 存储空间切换方法及后端监控系统 |
CN112349315A (zh) * | 2019-08-07 | 2021-02-09 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和操作方法 |
CN112349315B (zh) * | 2019-08-07 | 2023-08-01 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和操作方法 |
CN113259582A (zh) * | 2020-02-13 | 2021-08-13 | 青岛海信移动通信技术股份有限公司 | 图片生成方法及终端 |
CN115543865A (zh) * | 2022-11-25 | 2022-12-30 | 成都佰维存储科技有限公司 | 掉电保护方法、装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104967807B (zh) | 2017-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104967807A (zh) | 一种缓存方法和装置 | |
CN102508784B (zh) | 视频监控设备中闪存卡的数据存储方法及其系统 | |
US10481837B2 (en) | Data storage device and method for operating data storage device with efficient trimming operations | |
US7536500B2 (en) | Header blocks for flash memory writes | |
CN104484283B (zh) | 一种降低固态硬盘写放大的方法 | |
US20100174864A1 (en) | Performance in a data storage system | |
US20160170873A1 (en) | Information processing device | |
CN104503703A (zh) | 缓存的处理方法和装置 | |
CN103399823A (zh) | 业务数据的存储方法、设备和系统 | |
CN103970669A (zh) | 用于加速在固态设备中的回收操作的物理到逻辑地址映射 | |
CN109471843A (zh) | 一种元数据缓存方法、系统及相关装置 | |
US8903804B2 (en) | Data existence judging device and data existence judging method | |
CN106201329A (zh) | 循环区块模式下的数据存取方法以及使用该方法的装置 | |
CN112835528A (zh) | 脏页刷新方法和装置、电子设备和存储介质 | |
US9176675B1 (en) | Fast-zeroing in a file system | |
CN114327270B (zh) | 一种请求处理方法、装置、设备及可读存储介质 | |
US20150347320A1 (en) | ENCRYPTION FOR SOLID STATE DRIVES (SSDs) | |
CN105302501A (zh) | 一种磁盘扇区的控制方法和装置 | |
CN105095352B (zh) | 应用于分布式系统的数据处理方法及装置 | |
CN104252415B (zh) | 一种重新分布数据的方法和系统 | |
CN110990301A (zh) | 多plane存储介质的顺序读方法及相关装置 | |
CN111158606A (zh) | 存储方法、装置、计算机设备和存储介质 | |
CN107924350B (zh) | 电子设备及其数据压缩方法 | |
CN105260264A (zh) | 一种快照实现方法及快照系统 | |
CN109271538A (zh) | 一种图片存储方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |