一种数据存储方法、设备及介质与流程

摘要: 本发明涉及存储,特别涉及一种数据存储方法、设备及介质。背景技术:1、在安防设备的数据存储场景中,安防设备需长时间不间断接收多路音视频、图片等各类数据帧并完成存储...
一种数据存储方法、设备及介质与流程

本发明涉及存储,特别涉及一种数据存储方法、设备及介质。

背景技术:

1、在安防设备的数据存储场景中,安防设备需长时间不间断接收多路音视频、图片等各类数据帧并完成存储,数据写入频次高、存储体量庞大。

2、当前,安防设备存储音视频、图片等业务数据时,依赖通用文件系统,普遍采用随机写入模式,数据存储位置杂乱无序,极易产生写入放大现象。同时通用文件系统通常是将数据块对应的元数据集中存储在存储介质的单一指定区域,一旦该指定区域出现磁盘坏道、异常断电、硬件波动等情况,极易造成集中存储的元数据出现丢失或损坏问题。

3、综上,如何减少写入放大现象,并在元数据损坏时实现快速自修复是目前有待解决的问题。

技术实现思路

1、有鉴于此,本发明的目的在于提供一种数据存储方法、设备及介质,能够减少写入放大现象,并在元数据损坏时实现快速自修复。其具体方案如下:

2、本申请提供了一种数据存储方法,应用于安防设备,包括:

3、根据接收到的数据帧的数据属性,从多个数据块中确定目标数据块;其中,所述多个数据块为对存储介质进行划分后得到的,每个所述数据块包括位于头部位置的第一冗余区和位于尾部位置的第二冗余区;

4、将所述数据帧顺序写入所述目标数据块;

5、将所述目标数据块对应的元数据存储至所述目标数据块的第一冗余区和第二冗余区,以及存储至所述存储介质中的指定区域;其中,元数据用于描述数据块的基本属性信息;

6、当检测到所述指定区域存在损坏元数据时,从与所述损坏元数据对应的数据块中的第一冗余区和/或第二冗余区读取元数据,以恢复所述损坏元数据。

7、本申请还提供了一种安防设备,包括:

8、至少一个处理器;

9、以及与所述至少一个处理器通信连接的存储器;其中,所述存储器中存储有计算机程序,所述计算机程序被所述至少一个处理器执行时,使所述至少一个处理器实现前述公开的数据存储方法的步骤。

10、本申请还提供了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据存储方法的步骤。

11、有益效果:本申请通过将存储介质划分为多个数据块,在接收到待存储的数据帧时,根据数据帧的数据属性确定目标数据块,并将数据帧顺序写入该目标数据块。由于数据帧按属性分类后顺序写入同一数据块,相同属性的数据聚合存储,避免了传统随机写入模式下的跨块跳跃写入和存储混乱,显著缓解写入放大问题,减轻存储介质运行负载,从而延长存储介质使用寿命。另外,由于每个数据块设置有头部冗余区和尾部冗余区,每个数据块对应的元数据不仅存储于存储介质的指定区域,还同时存储于该数据块的头部冗余区和尾部冗余区,当指定区域中的元数据发生损坏时,直接从与损坏元数据对应的数据块的头部冗余区和/或尾部冗余区中读取元数据进行恢复,无需依赖外部备份,也无需遍历全部数据块,大幅降低了恢复开销,保障了安防设备在长时间连续录制场景下的业务连续性和数据可靠性。并且,通过头部和尾部的冗余存储,即使头部和尾部任意一个发生损坏,仍可从另一个未损坏的冗余区中完整读取元数据,从而恢复出对应数据块的元数据信息,有效避免了单点冗余区损坏导致的数据块元数据丢失问题,大幅提升了存储系统的容错能力。

1.一种数据存储方法,其特征在于,应用于安防设备,包括:

2.根据权利要求1所述的数据存储方法,其特征在于,所述将所述数据帧顺序写入所述目标数据块,包括:

3.根据权利要求1所述的数据存储方法,其特征在于,所述从与所述损坏元数据对应的数据块中的第一冗余区和/或第二冗余区读取元数据,以恢复所述损坏元数据,包括:

4.根据权利要求3所述的数据存储方法,其特征在于,还包括:

5.根据权利要求1所述的数据存储方法,其特征在于,还包括:

6.根据权利要求1所述的数据存储方法,其特征在于,所述存储介质包括第一存储介质和第二存储介质,所述方法还包括:

7.根据权利要求1所述的数据存储方法,其特征在于,所述基本属性信息包括数据块的数据属性、时间范围和状态标识;所述数据属性用于标识所述数据块存储的数据类型,所述状态标识用于标识所述数据块的状态类型,状态类型为写满状态、坏块状态和空闲状态中的任意一种;

8.根据权利要求1至7任一项所述的数据存储方法,其特征在于,还包括:

9.一种安防设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的数据存储方法的步骤。