一种数字监控平台内存自适应管理方法及装置制造方法

文档序号:6552341阅读:218来源:国知局
一种数字监控平台内存自适应管理方法及装置制造方法
【专利摘要】本发明公开一种数字监控平台内存自适应管理方法及装置,所述数字监控平台内存自适应管理方法包括步骤:设置一内存池,为每个视频通道配置预设大小的最小缓存;根据当前需要写入的帧大小计算各视频通道需要的缓存大小,并根据所计算的缓存大小为各视频通道申请缓存;监测各视频通道码率变化,当码率变大时,继续申请缓存;当码率变小时,释放多余缓存空间给内存池。本发明内存管理方法及装置能有效提高内存的利用效率,提高NVR的存储性能。
【专利说明】一种数字监控平台内存自适应管理方法及装置

【技术领域】
[0001]本发明涉及内存管理领域,特别是涉及一种数字监控平台内存自适应管理方法及
>J-U ρ?α装直。

【背景技术】
[0002]视频存储服务器(NVR),NVR是(Network-Video-Recorder即网络硬盘录像机)的缩写。视频存储服务器最主要的功能是通过网络接收IPC(网络摄像机)设备传输的数字视频码流,并进行存储、管理,从而实现网络化带来的分布式架构优势。简单来说,通过视频存储服务器,可以同时观看、浏览、回放、管理、存储多个网络摄像机。
[0003]随着安防行业高清视频技术和信息化技术的发展,迫切需要提高的是网络视频存储服务器(NVR)的各项性能,而存储性能又是NVR各项性能中最核心的性能之一。
[0004]服务器性能最关注的是CPU占用率和内存,而NVR服务器不存在大量的计算,所以(PU占用率一般较低,但是因码率变化较大,读写持续时间长,需要消耗不少的内存。而一般的内存管理方法是根据最大码流预先给每个通道固定分配一定的空间,或者采用多个通道共用内存池的方法。内存池的方式优于第一种方式,可以共享内存使用。但是NVR的内存使用地方较多,如录像,预录像,回放,下载等等。这些内存使用差别较大,如报警预录像需要长达20秒,普通预录像3秒。而且即使只有录像时,各个前端设备的码率变化也是相当大的,如码率可能低至256Kbps,可能高达8Mbps。在许多实际工程中,服务器配置,录像过程、报警预录像都可能发生变化,如果采用固定内存池方式,那么就会对服务器资源造成不同程度的浪费,或者根据服务器硬件资源和不同应用来设置,这样需要编译出不同版本的NVR或者修改配置文件。随着平台上部署越来越多的NVR,出现NVR集群时,以前的方式越来越难以满足要求。


【发明内容】

[0005]本发明所要解决的技术问题是:提供一种数字监控平台内存管理方法,该内存管理方法能有效提高内存的利用效率,提高NVR的存储性能。
[0006]为了解决上述技术问题,本发明采用的技术方案为:
[0007]一种数字监控平台内存自适应管理方法,包括步骤:
[0008]S1、设置一内存池,为每个视频通道配置预设大小的最小缓存;
[0009]S2、根据当前需要写入的帧大小计算各视频通道需要的缓存大小,并根据所计算的缓存大小为各视频通道申请缓存;
[0010]S3、监测各视频通道码率变化,当码率变大时,继续申请缓存;当码率变小时,释放多余缓存空间给内存池。
[0011]为解决上述技术问题,本发明所采用的另一技术方案为:
[0012]一种数字监控平台内存自适应管理装置,包括配置单元、缓存申请单元和通道监测单元;
[0013]所述配置单元用于设置一内存池,为每个视频通道配置预设大小的最小缓存;
[0014]所述缓存申请单元用于根据当前需要写入的帧大小计算各视频通道需要的缓存大小,并根据所计算的缓存大小为各视频通道申请缓存;
[0015]所述通道监测单元用于监测各视频通道码率变化,当码率变大时,继续申请缓存;当码率变小时,释放多余缓存空间给内存池。
[0016]本发明的有益效果在于:通过设置内存池,为各视频通道配置最小缓存,并根据各视频通道写入的帧大小的申请缓存,从而实现各视频通道根据实际需要自适应申请缓存,有效解决固定内存池方式所带来的内存浪费,提高了内存的利用率,并且,本发明通过监测各视频通道码率变化,来调整各通道的缓存,从而进一步提高内存的利用效率。

【专利附图】

【附图说明】
[0017]图1为本发明一实施方式中数字监控平台内存管理方法的方法流程图;
[0018]图2为本发明一实施方式中数字监控平台内存管理装置的功能框图;
[0019]主要标号说明:
[0020]10-配置单元;20_缓存申请单元;30_通道监测单元。

【具体实施方式】
[0021]为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0022]本发明最关键的构思在于:在已分配的最小缓存的基础上,根据视频通道写入帧大小申请缓存,并进行动态调整,从而有效提闻内存的利用效率。
[0023]请参阅图1,一种数字监控平台内存自适应管理方法,包括步骤:
[0024]S1、设置一内存池,为每个视频通道配置预设大小的最小缓存;
[0025]S2、根据当前需要写入的帧大小计算各视频通道需要的缓存大小,并根据所计算的缓存大小为各视频通道申请缓存;
[0026]S3、监测各视频通道码率变化,当码率变大时,继续申请缓存;当码率变小时,释放多余缓存空间给内存池。
[0027]从上述描述可知,本发明的有益效果在于:本发明通过设置一内存池,使各视频通道能够共用内存,本发明为每个视频通道配置预设大小的最小缓存,使每通道能满足基本操作的要求,并在最小缓存的基础上,根据视频通道写入帧大小申请缓存,从而实现各视频通道根据实际需要自适应申请缓存,有效解决固定内存池方式所带来的内存浪费,提高了内存的利用率,并且,本发明通过监测各视频通道码率变化,来调整各通道的缓存,因此,能够及时的为各通道申请足够的内存,同时又能防止各通道占用空闲内存,从而进一步提高内存的利用效率。
[0028]进一步的,在上述实施方式中,为减少内存碎片,当所述申请缓存时,所申请的缓存大小为最小缓存块的倍数。因在视频存储服务器(NVR)内存中,最小缓存块的大小为256KB,所以在上述实施方式中,所申请的缓存大小为256KB的倍数。
[0029]进一步的,所述步骤S3后还包括步骤S4,S4、判断内存池内是否超过预定时间未使用的内存空间,若有,则将所述未使用的内存空间释放给计算机系统。
[0030]通过步骤S4可实现动态调整内存池的大小,使监控平台可以根据实际情况需要调整内存池的大小,使数字监控平台的内存得到合理有效使用。
[0031]进一步的,为了防止视频通道异常原因造成的缓存浪费,不影响其他视频通道的正常工作,在本实施方式中增加了视频通道异常监测,当视频通道缓存持续申请变大,且大于视频通道最大码率超过预设时间阀值时,判定该视频通道异常,则此视频通道将进行丢包处理。其中,最大码率和时间阀值根据实际情况而定。
[0032]例如,在一实施方式中,在缓冲持续申请变大的情况下,当视频通道码率大于最大码率8Mbps的时间超过10秒,缓存1MB大小时,判定该通道异常,将丢包处理。
[0033]进一步的,为防止申请缓存的通道太多,而造成申请缓存失败,在上述实施方式中,在所述申请缓存时,还包括设置一全局最大申请缓存数量值,当所有需要再申请缓存的视频通道超过所述最大申请缓存数量值时,超过部分将不予以处理,因此,可以防止因申请缓存通道太多而影响其他通道正常录像。
[0034]当申请缓存的视频通道数超过所述最大申请缓存数量值时,还生成日志和报警。
[0035]本发明的另一实施方式为:
[0036]一种数字监控平台内存自适应管理装置,包括配置单元10、缓存申请单元20和通道监测单元30 ;
[0037]所述配置单元10用于设置一内存池,为每个视频通道配置预设大小的最小缓存;
[0038]所述缓存申请单元20用于根据当前需要写入的帧大小计算各视频通道需要的缓存大小,并根据所计算的缓存大小为各视频通道申请缓存;
[0039]所述通道监测单元30用于监测各视频通道码率变化,当码率变大时,继续申请缓存;当码率变小时,释放多余缓存空间给内存池。
[0040]本发明通过设置一内存池,使各视频通道能够共用内存,本发明为每个视频通道配置预设大小的最小缓存,使每通道能满足基本操作的要求,并在最小缓存的基础上,根据视频通道写入帧大小申请缓存,从而实现各视频通道根据实际需要自适应申请缓存,有效解决固定内存池方式所带来的内存浪费,提高了内存的利用率,并且,本发明通过监测各视频通道码率变化,来调整各通道的缓存,因此,能够及时的为各通道申请足够的内存,同时又能防止各通道占用空闲内存,从而进一步提高内存的利用效率。
[0041]进一步的,所述缓存申请单所申请的缓存大小为最小缓存块的倍数。因在视频存储服务器(NVR)内存中,最小缓存块的大小为256KB,所以在上述实施方式中,所申请的缓存大小为256KB的倍数。
[0042]进一步的,还包括缓存释放单元,所述缓存释放单元用于判断内存池内是否超过预定时间未使用的内存空间,若有,则将所述未使用的内存空间释放给计算机系统。
[0043]进一步的,还包括异常判断单元;
[0044]所述异常判断单元用于当视频通道缓存持续申请变大,且大于视频通道最大码率超过预设时间阀值时,判定该视频通道异常,则此视频通道将进行丢包处理。
[0045]进一步的,所述缓存申请单元20设置一全局最大申请缓存数量值,当所有需要再申请缓存的视频通道超过所述最大申请缓存数量值时,超过部分将不予以处理。
[0046]在本发明实施例中,NVR可以从以下几个方面做到内存自适应控制:
[0047]一、录像过程码率调整。
[0048]录像过程中码率变大时,将当前需要写入缓存帧大小与该通道剩余空间比较,根据比较结果申请缓存,所申请的缓存为最小缓存块(256KB)的倍数。例如,如果某通道的剩余空间50KB,需要写入300KB大小帧,那么可以再申请512KB的缓存大小(即最小缓存块的两倍)。如果在这次申请前,分配的缓存为1MB,那么该通道占用1.5MB大小。再次写缓冲时,如果空间仍然不够,将循环申请。
[0049]如果通道码率保持不变,缓存满足要求,没有再变化,那么内存总大小在一定时间内保持不变。
[0050]如果视频通道码率变小时,内存调整需要滞后一段时间,具体滞后时间可以根据实际情况设置,如定义5秒。当程序检测到长达5秒的时间内,有一部分内存一直空闲,则这部分空闲的内存将会被释放。释放的内存大小必须为缓存块256KB的倍数,以减少碎片,程序内存统一由内存池管理,可方便下次使用。
[0051]二、预录像和录像之间切换
[0052]预录像常用于报警,故常称为报警预录像。因为报警特殊的作用,理论上预录像时间越久越好,能捕捉的信息就越多。一般情况下,报警预录像码流为2Mbps,时长最大30秒,这样内存需要7.5MB (2*30/8)。而码率2Mbps在普通录像模式下,只需要IMb就可以缓存5秒的数据,远远足够读写线程写入文件。所以当从预录像启动,切换到录像,同样可以使用自适应内存分配。
[0053]同时,随着高清视频的普及,码率2Mbps的报警预录像已经不能满足要求。所以需要提高码流进行报警预录像,如果设置报警预录像码流为4Mbps,时长同样为30秒,那么需要15MB的缓存。所以报警预录像的缓存消耗将越来越大,如果不采用内存自适应控制,将极大的浪费内存资源,更无法提高存储性能。
[0054]所以内存自适应分配方式,在预录像和录像切换应用中显得更为重要,优势更加明显,充分显示了对内存资源的充分利用,保证和提升NVR的存储性能。
[0055]综上所述,本发明提供的数字监控平台内存管理方法及装置能够根据各视频通道的写入帧和码率自适应分配缓存空间,并且,本发明可以减少内存碎片,大大提高了内存的利用率;本发明通过监测视频通道状态,防止因视频通道异常而导致的内存分配浪费,本发明还根据实际情况需要调整内存池的大小,使数字监控平台的内存得到合理有效使用。
[0056]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种数字监控平台内存自适应管理方法,其特征在于,包括步骤: 设置一内存池,为每个视频通道配置预设大小的最小缓存; 根据当前需要写入的帧大小计算各视频通道需要的缓存大小,并根据所计算的缓存大小为各视频通道申请缓存; 监测各视频通道码率变化,当码率变大时,继续申请缓存;当码率变小时,释放多余缓存空间给内存池。
2.根据权利要求1所述的数字监控平台内存自适应管理方法,其特征在于,当所述申请缓存时,所申请的缓存大小为最小缓存块的倍数。
3.根据权利要求1所述的数字监控平台内存自适应管理方法,其特征在于,还包括,判断内存池内是否超过预定时间未使用的内存空间,若有,则将所述未使用的内存空间释放给计算机系统。
4.根据权利要求1至3任一所述的数字监控平台内存自适应管理方法,其特征在于,当视频通道缓存持续申请变大,且大于视频通道最大码率超过预设时间阀值时,判定该视频通道异常,则此视频通道将进行丢包处理。
5.根据权利要求1至3任一所述的数字监控平台内存自适应管理方法,其特征在于,在所述申请缓存时,还包括设置一全局最大申请缓存数量值,当所有需要再申请缓存的视频通道超过所述最大申请缓存数量值时,超过部分将不予以处理。
6.一种数字监控平台内存自适应管理装置,其特征在于,包括配置单元、缓存申请单元和通道监测单元; 所述配置单元用于设置一内存池,为每个视频通道配置预设大小的最小缓存; 所述缓存申请单元用于根据当前需要写入的帧大小计算各视频通道需要的缓存大小,并根据所计算的缓存大小为各视频通道申请缓存; 所述通道监测单元用于监测各视频通道码率变化,当码率变大时,继续申请缓存;当码率变小时,释放多余缓存空间给内存池。
7.根据权利要求6所述的数字监控平台内存自适应管理装置,其特征在于,所述缓存申请单所申请的缓存大小为最小缓存块的倍数。
8.根据权利要求6所述的数字监控平台内存自适应管理装置,其特征在于,还包括缓存释放单元; 所述缓存释放单元用于判断内存池内是否超过预定时间未使用的内存空间,若有,则将所述未使用的内存空间释放给计算机系统。
9.根据权利要求6至8任一所述的数字监控平台内存自适应管理装置,其特征在于,还包括异常判断单元; 所述异常判断单元用于当视频通道缓存持续申请变大,且大于视频通道最大码率超过预设时间阀值时,判定该视频通道异常,则此视频通道将进行丢包处理。
10.根据权利要求6至8任一所述的数字监控平台内存自适应管理装置,其特征在于,所述缓存申请单元设置一全局最大申请缓存数量值,当所有需要再申请缓存的视频通道超过所述最大申请缓存数量值时,超过部分将不予以处理。
【文档编号】G06F12/08GK104133782SQ201410318274
【公开日】2014年11月5日 申请日期:2014年7月4日 优先权日:2014年7月4日
【发明者】毛金花 申请人:深圳英飞拓科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1