对实时采集的数据压缩存储的方法及系统的制作方法

文档序号:6536892阅读:164来源:国知局
对实时采集的数据压缩存储的方法及系统的制作方法
【专利摘要】本发明公开了一种对实时采集的数据压缩存储的方法及系统,该方法包括:获取预设缓存区的当前剩余空间大小,将当前采集到的数据大小与预设缓存区的当前剩余空间大小进行比较;在当前采集到的数据大小大于预设缓存区的当前剩余空间大小时,压缩预设缓存区中缓存的数据,将压缩后的数据写入存储器,清空预设缓存区中缓存的数据;将当前采集到的数据缓存到预设缓存区。本发明的对实时采集的数据压缩存储的方法及系统,系统内存中缓存实时采集的数据总量不会超过预设缓存区的总空间大小,不会造成内存中缓存实时采集的数据总量过大,而导致压缩内存中的缓存的数据时占用内存空间过大和处理时间过长,提高系统的实时性。
【专利说明】对实时采集的数据压缩存储的方法及系统
【技术领域】
[0001]本发明涉及到数据处理【技术领域】,特别涉及到一种对实时采集的数据压缩存储的方法及系统。
【背景技术】
[0002]目前,数据采集装置(例如,视频监控装置)对实时采集的数据进行存储的方法是:数据采集装置将采集到的数据全部缓存在系统的内存(RAM)中,间隔预设的时间后对内存中缓存的数据进行一次压缩并写入到存储器中以释放系统的内存空间。由于缓存到内存中的数据来源多且大小变化,因此每个预设的时间内缓存到内存中的数据总量大小不同,当内存中缓存的数据总量大小过大时,压缩内存中缓冲的数据时占用的内存空间较大并且需要较长的处理器运算时间。由于系统在执行压缩的这个过程中被占用了较大内存空间,这种存储方法通常会导致对其他事件(例如数据的实时采集)的内存占用而影响对其他事件的处理,尤其是对于内存空间较小的系统,甚至会导致没有足够的内存处理其他事件,影响系统的实时性。

【发明内容】

[0003]本发明的主要目的为提供一种对实时采集的数据压缩存储的方法及系统,旨在降低数据压缩过程对系统内存的占用量和缩短数据压缩过程系统所需的处理时间,从而提高系统的实时性。
[0004]本发明提出一种对实时采集的数据压缩存储的方法,包括以下步骤:
[0005]获取预设缓存区的当前剩余空间大小,将当前采集到的数据大小与所述预设缓存区的当前剩余空间大小进行比较;
[0006]在所述当前采集到的数据大小大于所述预设缓存区的当前剩余空间大小时,压缩所述预设缓存区中缓存的数据,将压缩后的数据写入存储器,清空所述预设缓存区中缓存的数据;
[0007]将所述当前采集到的数据缓存到所述预设缓存区。
[0008]优选地,所述获取预设缓存区的当前剩余空间大小,将当前采集到的数据大小与所述预设缓存区的当前剩余空间大小进行比较的步骤之后还包括:
[0009]在所述当前采集到的数据大小小于或等于所述预设缓存区的当前剩余空间大小时,将所述当前采集到的数据缓存到所述预设缓存区。
[0010]优选地,所述获取预设缓存区的当前剩余空间大小的步骤包括:
[0011]获取预设缓存区已缓存的数据大小;
[0012]将所述预设缓存区的总空间大小与所述已缓存的数据大小做差,得到所述预设缓存区的当前剩余空间大小。
[0013]优选地,所述获取预设缓存区的当前剩余空间大小的步骤之前,还包括:
[0014]在内存中建立预设缓存区以及在所述存储器上建立存储文件。[0015]优选地,所述将压缩后的数据写入存储器的步骤包括:
[0016]将所述压缩后的数据添加到所述存储文件中。
[0017]本发明进一步提出一种对实时采集的数据压缩存储的系统,包括:
[0018]获取模块,用于获取预设缓存区的当前剩余空间大小;
[0019]压缩模块,用于将当前采集到的数据大小与所述预设缓存区的当前剩余空间大小进行比较,在所述当前采集到的数据大小大于所述预设缓存区的当前剩余空间大小时压缩所述预设缓存区中缓存的数据;
[0020]写入模块,用于将所述压缩模块压缩后的数据写入存储器,清空所述预设缓存区中缓存的数据,将所述当前采集到的数据缓存到所述预设缓存区。
[0021]优选地,所述写入模块还用于在所述当前采集到的数据大小小于或等于所述预设缓存区的当前剩余空间大小时,将所述当前采集到的数据缓存到所述预设缓存区。
[0022]优选地,所述获取模块用于:
[0023]获取预设缓存区已缓存的数据大小;
[0024]将所述预设缓存区的总空间大小与所述已缓存的数据大小做差,得到所述预设缓存区的当前剩余空间大小。
[0025]优选地,还包括建立模块,用于在内存中建立预设缓存区以及在所述存储器上建立存储文件。
[0026]优选地,所述写入模块用于将所述压缩模块压缩后的数据添加到所述存储文件中。
[0027]本发明的对实时采集的数据压缩存储的方法及系统,先将实时采集的数据先缓存在预设缓存区,在当前采集到的数据大小大于预设缓存区的当前剩余空间大小时,就将预设缓存区中的数据进行压缩写入到存储器中。因此系统内存中缓存实时采集的数据总量不会超过预设缓存区的总空间大小,不会造成内存中缓存实时采集的数据总量过大,而导致压缩内存中的缓存的数据时占用内存空间过大和处理时间过长,提高系统的实时性。
【专利附图】

【附图说明】
[0028]图1为本发明对实时采集的数据压缩存储的方法较佳实施例的流程图;
[0029]图2为本发明对实时采集的数据压缩存储的系统较佳实施例的模块示意图。
[0030]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0031]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0032]如图1所示,图1为本发明对实时采集的数据压缩存储的方法较佳实施例的流程图。
[0033]该实施例提到的对实时采集的数据压缩存储的方法,包括:
[0034]步骤S10,获取预设缓存区的当前剩余空间大小。
[0035]获取到所述预设缓存区的当前剩余空间大小后,将当前采集到的数据大小与所述预设缓存区的当前剩余空间大小进行比较,也就是执行步骤S20。
[0036]步骤S20,判断当前采集到的数据大小是否大于所述预设缓存区的当前剩余空间大小。
[0037]在所述当前采集到的数据大小大于所述预设缓存区的当前剩余空间大小时,即所述预设缓存区的当前剩余空间大小不够缓存所述当前采集到的数据,因此执行步骤S30。
[0038]步骤S30,压缩所述预设缓存区中缓存的数据。
[0039]根据系统对实时性能要求的不同,在系统制作时选择相应的压缩等级(系统运行后系统不能自动调节)。选择的压缩等级越高,系统对相同大小的数据执行压缩所需的处理时间越长,对系统的实时性影响就越大,因此系统对实时性能要求越高,则选择越低的压缩等级,以缩短系统执行压缩操作时所需的时间。压缩所述预设缓存区中缓存的数据后,对压缩后的数据执行步骤S40。
[0040]步骤S40,将压缩后的数据写入存储器。
[0041]在所述压缩后的数据被写入到所述存储器存储后,所述预设缓存区中的数据成无用数据,执行步骤S50以释放所述预设缓存区的空间。
[0042]步骤S50,清空所述预设缓存区中缓存的数据。
[0043]清空所述预设缓存区后,所述预设缓存区的当前剩余空间大小为其最大空间大小(预设缓存区的总空间大小),完全足够缓存当前采集到的数据,因而此时无需再将的预设缓存区的当前剩余空间大小与所述当前采集到的数据大小进行比较,直接执行步骤S60。
[0044]步骤S60,将所述当前采集到的数据缓存到所述预设缓存区。
[0045]进一步地,在所述当前采集到的数据小于或等于所述预设缓存区的当前剩余空间大小时,即所述预设缓存区的当前剩余空间大小足够缓存所述当前采集到的数据,可以跳转到步骤S60,也可以接着执行步骤S30,或者是执行其他操作。本实施例优选当所述当前采集到的数据小于或等于所述预设缓存区的当前剩余空间大小时,跳转到步骤S60。
[0046]本实施例提出的对实时采集的数据压缩存储的方法,先将实时采集的数据先缓存在预设缓存区,在当前采集到的数据大小大于预设缓存区的当前剩余空间大小时,就将预设缓存区中的数据进行压缩写入到存储器中。因此系统内存中缓存实时采集的数据总量不会超过预设缓存区的总空间大小,不会造成内存中缓存实时采集的数据总量过大,而导致压缩内存中的缓存的数据时占用内存空间过大和处理时间过长,提高系统的实时性。
[0047]进一步地,步骤SlO包括:
[0048]获取预设缓存区已缓存的数据大小。
[0049]将所述预设缓存区的总空间大小与所述已缓存的数据大小做差,得到所述预设缓存区的当前剩余空间大小。
[0050]由于所述预设缓存区的剩余空间大小=所述预设缓存区的总空间大小-所述预设缓存区中已缓存的数据大小;因此通过上述方式即可得到所述预设缓存区的当前剩余空间大小。当然,步骤Sio还可以是通过其他方式获取预设缓存区的当前剩余空间大小。
[0051]进一步地,在步骤SlO之前,还包括:
[0052]在内存中建立预设缓存区以及在所述存储器上建立存储文件。
[0053]在内存中建立预设缓存区,所述预设缓存区的容量大小根据系统的剩余内存空间和实时性能要求进行设定,预设缓存区的容量越小,步骤S30和S40执行的频率越高,步骤S30每次执行的时间越短,实时性能越好。存储文件即在存储器上建立的存储路径。
[0054]进一步地,本实施例步骤S40包括:[0055]将所述压缩后的数据添加到所述存储文件中。
[0056]所述存储文件可用来存储一段时间(预设时间内)内从所述预设缓存区写入到的数据,该存储时间到达时关闭当前存储文件,建立新的存储文件存储一个预设时间内从所述预设缓存区写入到的数据。这样就可以方便数据的查找和管理。
[0057]如图2所示,本发明进一步提出一种对实时采集的数据压缩存储的系统,包括:获取模块、压缩模块和写入模块。其中:
[0058]获取模块用于获取预设缓存区的当前剩余空间大小。
[0059]压缩模块用于将当前采集到的数据大小与所述预设缓存区的当前剩余空间大小进行比较,在所述当前采集到的数据大小大于所述预设缓存区的当前剩余空间大小时压缩所述预设缓存区中缓存的数据。
[0060]写入模块用于将所述压缩模块压缩后的数据写入存储器,清空所述预设缓存区中缓存的数据,将所述当前采集到的数据缓存到所述预设缓存区。
[0061]在所述当前采集到的数据大小大于所述预设缓存区的当前剩余空间大小时,说明所述预设缓存区的当前剩余空间大小不够缓存所述当前采集到的数据,此时需要先对所述预设缓存区中的数据进行清理以释放出足够的空间存储所述当前采集到的数据。首先通过压缩模块将所述预设缓存区中缓存的数据压缩;然后所述写入模块将所述压缩模块压缩后的数据写入到所述存储器中,此时预设缓存区中缓存的数据已在存储器中保存,可以清理;写入模块将所述预设缓存区清空。清空所述预设缓存区后,所述预设缓存区的当前剩余空间大小为其最大空间大小(预设缓存区的总空间大小),完全足够缓存当前采集到的数据,因而此时无需再将的预设缓存区的当前剩余空间大小与所述当前采集到的数据大小进行比较,写入模块直接将所述当前采集到的数据缓存到所述预设缓存区中。
[0062]进一步地,所述写入模块还用于在所述当前采集到的数据大小小于或等于所述预设缓存区的当前剩余空间大小时,将所述当前采集到的数据缓存到所述预设缓存区。
[0063]在所述当前采集到的数据小于或等于所述预设缓存区的当前剩余空间大小时,SP所述预设缓存区的当前剩余空间大小足够缓存所述当前采集到的数据,所述写入模块直接将所述当前采集到的数据直接缓存到所述预设缓存区。
[0064]本实施例提出的对实时采集的数据压缩存储的系统,先将实时采集的数据先缓存在预设缓存区,在当前采集到的数据大小大于预设缓存区的当前剩余空间大小时,就将预设缓存区中的数据进行压缩写入到存储器中。因此系统内存中缓存实时采集的数据总量不会超过预设缓存区的总空间大小,不会造成内存中缓存实时采集的数据总量过大,而导致压缩内存中的缓存的数据时占用内存空间过大和处理时间过长,提高系统的实时性。
[0065]进一步地,所述获取模块用于:
[0066]获取预设缓存区已缓存的数据大小;
[0067]将所述预设缓存区的总空间大小与所述已缓存的数据大小做差,得到所述预设缓存区的当前剩余空间大小。
[0068]所述预设缓存区的剩余空间大小=所述预设缓存区的总空间大小-所述预设缓存区中已缓存的数据大小。所述获取模块通过该方式可以得到所述预设缓存区的当前剩余空间大小。当然,所述获取模块还可以是通过其他方式获取预设缓存区的当前剩余空间大小。
[0069]进一步地,本实施例对实时采集的数据压缩存储的系统还包括建立模块,用于在内存中建立预设缓存区以及在所述存储器上建立存储文件。
[0070]建立模块在内存中建立预设缓存区,所述预设缓存区的容量大小根据系统的剩余内存空间和实时性能要求进行设定,预设缓存区的容量越小,压缩模块执行压缩的频率越高,压缩模块每次执行压缩的时间越短,实时性能越好。存储文件即在存储器上建立的存储路径。
[0071]进一步地,所述写入模块用于将所述压缩模块压缩后的数据添加到所述存储文件中。
[0072]所述存储文件可用来存储一段时间(预设时间内)内从所述预设缓存区写入到的数据,该存储时间到达时关闭当前存储文件,建立新的存储文件存储一个预设时间内从所述预设缓存区写入到的数据。这样就可以方便数据的查找和管理。
[0073]以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种对实时采集的数据压缩存储的方法,其特征在于,包括以下步骤: 获取预设缓存区的当前剩余空间大小,将当前采集到的数据大小与所述预设缓存区的当前剩余空间大小进行比较; 在所述当前采集到的数据大小大于所述预设缓存区的当前剩余空间大小时,压缩所述预设缓存区中缓存的数据,将压缩后的数据写入存储器,清空所述预设缓存区中缓存的数据; 将所述当前采集到的数据缓存到所述预设缓存区。
2.根据权利要求1所述的对实时采集的数据压缩存储的方法,其特征在于,所述获取预设缓存区的当前剩余空间大小,将当前采集到的数据大小与所述预设缓存区的当前剩余空间大小进行比较的步骤之后还包括: 在所述当前采集到的数据大小小于或等于所述预设缓存区的当前剩余空间大小时,将所述当前采集到的数据缓存到所述预设缓存区。
3.根据权利要求1所述的对实时采集的数据压缩存储的方法,其特征在于,所述获取预设缓存区的当前剩余空间大小的步骤包括: 获取预设缓存区已缓存的数据大小; 将所述预设缓存区的总空间大小与所述已缓存的数据大小做差,得到所述预设缓存区的当前剩余空间大小。
4.根据权利要求1至3中任一项所述的对实时采集的数据压缩存储的方法,其特征在于,所述获取预设缓存区的当前剩余空间大小的步骤之前,还包括: 在内存中建立预设缓存区以及在所述存储器上建立存储文件。
5.根据权利要求4所述的对实时采集的数据压缩存储的方法,其特征在于,所述将压缩后的数据写入存储器的步骤包括: 将所述压缩后的数据添加到所述存储文件中。
6.一种对实时采集的数据压缩存储的系统,其特征在于,包括: 获取模块,用于获取预设缓存区的当前剩余空间大小; 压缩模块,用于将当前采集到的数据大小与所述预设缓存区的当前剩余空间大小进行比较,在所述当前采集到的数据大小大于所述预设缓存区的当前剩余空间大小时压缩所述预设缓存区中缓存的数据; 写入模块,用于将所述压缩模块压缩后的数据写入存储器,清空所述预设缓存区中缓存的数据,将所述当前采集到的数据缓存到所述预设缓存区。
7.根据权利要求6所述的对实时采集的数据压缩存储的系统,其特征在于,所述写入模块还用于在所述当前采集到的数据大小小于或等于所述预设缓存区的当前剩余空间大小时,将所述当前采集到的数据缓存到所述预设缓存区。
8.根据权利要求6所述的对实时采集的数据压缩存储的系统,其特征在于,所述获取模块用于: 获取预设缓存区已缓存的数据大小; 将所述预设缓存区的总空间大小与所述已缓存的数据大小做差,得到所述预设缓存区的当前剩余空间大小。
9.根据权利要求6至8中任一项所述的对实时采集的数据压缩存储的系统,其特征在于,还包括建立模块,用于在内存中建立预设缓存区以及在所述存储器上建立存储文件。
10.根 据权利要求9所述的对实时采集的数据压缩存储的系统,其特征在于,所述写入模块用于将所述压缩模块压缩后的数据添加到所述存储文件中。
【文档编号】G06F12/08GK103744627SQ201410037361
【公开日】2014年4月23日 申请日期:2014年1月26日 优先权日:2014年1月26日
【发明者】刘笃佼, 李立 申请人:武汉英泰斯特电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1