掌桥专利:专业的专利平台
掌桥专利
首页

一种摄像机前端存储备份的方法及装置

文献发布时间:2023-06-19 11:39:06


一种摄像机前端存储备份的方法及装置

技术领域

本发明属于摄像机前端存储技术领域,尤其涉及一种摄像机前端存储备份的方法及装置。

背景技术

视频监控是安全防范系统的重要组成部分,视频监控以其直观、准确、及时和信息内容丰富而广泛应用于许多场合。近年来,随着计算机、网络以及图像处理、传输技术的飞速发展,视频监控的普及化趋势越来越明显。

在视频监控系统中,摄像机作为采集设备,是视频监控系统的重要组成部分。现在很多摄像机都配置存储卡,当与存储设备之间的网络出现异常时,能够将采集的音视频数据存储在摄像机的存储卡上。当网络恢复以后,摄像机将存储在存储卡上的音视频数据上传到存储设备上,完成音视频数据的缓存补录功能。由于摄像机的音视频是单点保存在自身的存储卡上的,且由于网络不通,无法实现将音视频数据保存到后端存储设备中,因此如果摄像机出现无法识别存储卡或者存储卡损坏时将会造成摄像机的录像数据丢失。如何保证摄像机的录像数据不丢失就是视频监控系统的重要研究方向之一。

发明内容

本申请的目的是提供一种摄像机前端存储备份的方法及装置,解决现有技术在无法识别存储卡或者存储卡损坏时造成摄像机的录像数据丢失问题。

为了实现上述目的,本发明技术方案如下:

一种摄像机前端存储备份的方法,包括:

摄像机与周围的邻居摄像机组成邻居网络;

摄像机在发现将数据存储到后端平台存储设备出现异常时,与邻居网络内的邻居摄像机协同将数据存储在各个摄像机的前端存储介质中;

摄像机在发现与后端平台存储设备的存储恢复正常后,将存储在前端存储介质中的数据补录到后端平台存储设备中。

进一步的,所述摄像机与周围的邻居摄像机组成邻居网络,包括:

根据与各邻居摄像机的通信质量或/和各邻居摄像机的剩余存储空间设置各邻居摄像机的优先级,根据优先级从邻居网络中选择邻居摄像机,建立包括自身的协同存储摄像机列表。

进一步的,所述与邻居网络内的邻居摄像机协同将数据存储在各个摄像机的前端存储介质中,包括:

根据与各邻居摄像机的通信质量和各邻居摄像机的剩余磁盘空间大小,将数据拆分为不同大小的数据块,并生成对应的校验数据,在协同存储摄像机列表内摄像机的前端存储介质中分别存储。

进一步的,所述摄像机前端存储备份的方法,还包括:

摄像机在检测到邻居网络发生异常时,判断发生异常的邻居摄像机是否在自身的协同存储摄像机列表中,如果在,则与协同存储摄像机列表中其他邻居摄像机协同进行数据恢复重建,并删除协同存储摄像机列表中其他邻居摄像机存储的对应数据;

重新根据与各邻居摄像机的通信质量或/和各邻居摄像机的剩余存储空间设置各邻居摄像机的优先级,根据优先级从邻居网络中选择协同存储的邻居摄像机,建立包括自身的协同存储摄像机列表。

进一步的,所述将存储在前端存储介质中的数据补录到后端平台存储设备中,包括:

摄像机先判断能否从当前自身的前端存储介质中读取数据,如果能够读成功,则将读取到的数据通过网络发给后端平台存储设备;如果读取不成功,则从协同存储的邻居摄像机上恢复数据并通过网络发送给后端平台存储设备。

本申请还提出了一种摄像机前端存储备份的装置,包括:

组网模块,用于与周围的邻居摄像机组成邻居网络;

协同存储模块,用于在发现将数据存储到后端平台存储设备出现异常时,与邻居网络内的邻居摄像机协同将数据存储在各个摄像机的前端存储介质中;

数据补录模块,用于在发现与后端平台存储设备的存储恢复正常后,将存储在前端存储介质中的数据补录到后端平台存储设备中。

进一步的,所述组网模块在与周围的邻居摄像机组成邻居网络时,执行如下操作:

根据与各邻居摄像机的通信质量或/和各邻居摄像机的剩余存储空间设置各邻居摄像机的优先级,根据优先级从邻居网络中选择邻居摄像机,建立包括自身的协同存储摄像机列表。

进一步的,所述协同存储模块在与邻居网络内的邻居摄像机协同将数据存储在各个摄像机的前端存储介质中时,执行如下操作:

根据与各邻居摄像机的通信质量和各邻居摄像机的剩余磁盘空间大小,将数据拆分为不同大小的数据块,并生成对应的校验数据,在协同存储摄像机列表内摄像机的前端存储介质中分别存储。

进一步的,所述协同存储模块,还执行如下操作:

在检测到邻居网络发生异常时,判断发生异常的邻居摄像机是否在自身的协同存储摄像机列表中,如果在,则与协同存储摄像机列表中其他邻居摄像机协同进行数据恢复重建,并删除协同存储摄像机列表中其他邻居摄像机存储的对应数据;

所述组网模块,还执行如下操作:

重新根据与各邻居摄像机的通信质量或/和各邻居摄像机的剩余存储空间设置各邻居摄像机的优先级,根据优先级从邻居网络中选择协同存储的邻居摄像机,建立包括自身的协同存储摄像机列表。

进一步的,所述数据补录模块将存储在前端存储介质中的数据补录到后端平台存储设备中,执行如下操作:

先判断能否从当前自身的前端存储介质中读取数据,如果能够读成功,则将读取到的数据通过网络发给后端平台存储设备;如果读取不成功,则从协同存储的邻居摄像机上恢复数据并通过网络发送给后端平台存储设备。

本申请提出的一种摄像机前端存储备份的方法及装置,摄像机与周围邻居摄像机组成邻居网络,并将摄像机采集的音视频数据存放在各个不同的摄像机前端存储介质中,以达到音视频数据的高可靠性。提高了摄像机缓存补录功能的数据可靠性,减少音视频数据丢失的可能性。当摄像机缓存补录时,即使其中某个摄像机损坏或异常,也能通过其他摄像机恢复出原始音视频数据。

附图说明

图1为本申请实施例视频监控系统网络结构示意图;

图2为本申请实施例一种摄像机前端存储备份的方法流程图;

图3为本申请实施例邻居网络结构示意图;

图4为本申请一个实施例数据存储示意图;

图5为本申请另一个实施例数据存储示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请提供的一种摄像机前端存储备份的方法及装置,可以应用于如图1所示的视频监控系统中,其中视频采集设备是网络摄像机IPC(以下简称摄像机,或IPC),一般系统中具有多个网络摄像机IPC(如IPC1-IPC6),摄像机采集的音视频数据通过网络传输,存储到后端视频管理平台的存储设备中。

随着视频监控系统的快速发展,摄像机已经越来越普及,随处可见。例如交通十字路口会安装多台摄像机用于监控不同方向不同车道的交通情况。正常情况下各摄像机都分别注册到视频管理平台上,各摄像机根据安装位置等各种不同原因配置不同的存储计划,在计划时间内将自身采集到的音视频数据存储到对应的存储设备上。当网络出现异常时,摄像机会将采集到的音视频数据存储在自身的存储卡上,当网络恢复时,再将缓存的音视频数据上传到存储设备上,完成缓存补录功能。但摄像机上存储卡由于存储位置单一,存储环境相对恶劣等情况,可能会造成存储卡识别异常,存储不成功等问题,本申请的总体思路重点是如何保证摄像机缓存在存储卡上的音视频数据不丢失。

本申请的一个实施例,如图2所示,提供了一种摄像机前端存储备份的方法,包括:

步骤S1、摄像机与周围的邻居摄像机组成邻居网络。

本申请IPC与周围的邻居摄像机组成邻居网络,可以通过自组网实现,也可以由管理员来进行配置,组成邻居网络。本申请不限于摄像机与周围的其他邻居摄像机如何来组成邻居网络,组成的邻居网络的拓扑结构可以是图3的全连接网状结构,也可以单独就每个摄像机与其周围的邻居摄像机建立星形网络结构。

在采用自组网技术实现组网邻居网络时,可以使用MESH、ZIGBEE、WIFI、蓝牙等自组网技术,自组网技术为比较成熟的技术,这里不再赘述。

本实施例,摄像机配置有本地的前端存储介质,例如SD卡或TF卡等,用于在网络出现异常时将采集到的音视频数据存储在前端存储介质上,防止音视频数据丢失。为了与监控平台的存储设备进行区分,在本实施例中将存储设备称为后端平台存储设备,将摄像机本地的前端存储介质称为存储卡。

本实施例摄像机通过自组网技术可以获取到自身的邻居摄像机,在不同的实际组网环境中,摄像机邻居摄像机有多有少。本实施例优选的,摄像机与周围的邻居摄像机组成邻居网络,包括:

根据与各邻居摄像机的通信质量或/和各邻居摄像机的剩余存储空间设置各邻居摄像机的优先级,根据优先级从邻居网络中选择协同存储的邻居摄像机,建立包括自身的协同存储摄像机列表。

容易理解的是,本申请是希望摄像机在发现将数据存储到后端平台存储设备出现异常时,与邻居网络内的邻居摄像机协同将数据存储在各个摄像机的前端存储介质中,从而防止数据丢失。因此,只要有一定数量的邻居摄像机协助进行数据协同存储即可。

假设当前IPC1(192.168.1.1)发现的邻居摄像机数量有以下几种情况:

1、如果没有发现邻居摄像机,则只能将数据存储在自身的存储卡中,不适用本申请的技术方案。

2、如果发现有1个邻居摄像机(IPC2),则将IPC1、IPC2写入IPC1的协同存储摄像机列表中。例如:

表1

3、如果发现有2~4个邻居设备时(例如发现IPC2、IPC3、IPC4),则将IPC1、IPC2、IPC3、IPC4写入IPC1的协同存储摄像机列表中。如果发现2个,则加上自身写入3个;如果发现3个,则加上自身写入4个;如果发现4个,则加上自身写入5个。例如本次发现3个邻居设备:

表2

4、如果发现有5个及以上邻居摄像机时,则从发现的这些邻居摄像机中选择通信质量最优、剩余存储空间最大的5个,并将筛选出来的的5个邻居摄像机写入IPC1的协同存储摄像机列表中,在协同存储摄像机列表中的摄像机也称为协同存储摄像机。例如某次IPC1发现10个邻居设备IPC2、IPC3、IPC4、IPC5、IPC6、…、IPC11。则根据通信质量选择了IPC2、IPC3、IPC4、IPC5、IPC6这5个摄像机作为IPC1的协同存储摄像机列表。则IPC1的协同存储摄像机列表的数据内容如下:

表3

本实施例在选择协同存储摄像机时,选择最优邻居摄像机的条件可以是通信质量好坏,或剩余存储空间大小,或同时参考通信质量好坏以及剩余存储空间大小。例如本实施例采用同时参考通信质量好坏以及剩余空间大小的方法作为选择协同存储摄像机的方法。首先为通信质量好坏、剩余存储空间大小分别设置对应的权重,然后根据权重的计算方法进行评分并得到最终各自对应的优先级,例如设置的权重为通信质量α=60%,剩余存储空间β=40%。最终评分S=α*Q

需要说明的是,本实施例根据上述选择最优邻居摄像机的条件,为协同存储摄像机列表中的其他邻居摄像机设置优先级。当然也可以不设置优先级,后续随机选择进行协同存储。

步骤S2、摄像机在发现将数据存储到后端平台存储设备出现异常时,与邻居网络内的邻居摄像机协同将数据存储在各个摄像机的前端存储介质中。

当用户将摄像机注册到视频管理平台后,需要配置存储计划以及是否开启缓存补录功能。同时需要配置摄像机对应的存储设备,用于存储摄像机采集到的音视频数据。关于摄像机配置对应的存储设备,是视频监控中比较成熟的技术,这里不再赘述。

以下以IPC1开启缓存补录功能为例进行说明:

当IPC1发现与存储设备的网络出现异常时,即无法通过网络将采集到的音视频数据发送给后端平台存储设备进行存储。此时如果IPC1的存储卡识别正常,则将采集到的音视频数据存储一份到自身的存储卡上。如果IPC1的存储卡识别失败,则将采集到的音视频数据存储到协同存储摄像机列表内的其他摄像机的存储卡(排除自身)上。

本申请摄像机与邻居网络内的邻居摄像机协同将数据存储在各个摄像机的前端存储介质中,可以包括多种形式,以下举例进行说明。

实施例1、将数据备份到协同存储摄像机列表内优先级最高的其他邻居摄像机的前端存储介质中。

本实施例将数据备份到协同存储摄像机列表内优先级最高的其他邻居摄像机的前端存储介质中。

例如,当协同存储摄像机列表内其他邻居摄像机个数为1时,例如IPC1的协同存储摄像机列表内只有一个其他邻居摄像机IPC2,则采用数据镜像的方式,将数据相同地存储在IPC2上。IPC1和IPC2上同时存储1份相同的录像数据。

当协同存储摄像机列表内有多个其他邻居摄像机时,也可以采用这种方式来协同存储数据,此时可以选择优先级最高的邻居摄像机来备份数据,或从协同存储摄像机列表中随机选择一个邻居摄像机来备份数据。

实施例2、将数据拆分为数据块,并生成对应的校验数据,在协同存储摄像机列表内摄像机的前端存储介质中分别存储。

如图4所示,当协同存储摄像机列表内其他邻居摄像机个数等于2时(当其他邻居摄像机个数大于2时,可以选择两个其他邻居摄像机),则可以采用将优先级最高的摄像机作为校验数据存放的位置,其他两个摄像机作为音视频数据存放的位置将数据块按照序号奇偶交叉存储。数据块按奇偶交叉存储到2个数据盘中,奇偶校验数据的计算是将2个存储单元的相对应位的数据进行异或的逻辑运算,然后将校验数据存储在优先级最高的摄像机中。

如图5所示,当协同存储摄像机列表内其他邻居摄像机个数大于等于3时,则不再将校验数据写入同一个摄像机中,而是依次写入各摄像机中。因为协同存储摄像机列表内中摄像机个数越多,可能出现故障的概率也会越高,为了提高存储数据的安全性,将校验数据分散到各个摄像机中。

本申请根据协同存储摄像机列表内摄像机的数量,可以采用不同的音视频数据的存储方式,将音视频数据按照不同的存储方式拆分成指定要求大小的数据块,并依次写入各摄像机的前端存储介质中,完成音视频数据的存储。

在一个实施例中,为了保证存储数据的安全性,可以根据当前摄像机与各协同存储摄像机的通信质量好坏和各协同存储摄像机的剩余存储空间大小,分配不同大小的数据块。数据块的大小为Data=Q

为了最大限度的保证存储数据的安全性和可访问性,且同时为了各协同存储摄像机的负载均衡,因此需要根据通信质量好坏和剩余空间大小两个维度来合理分配存储的数据块大小。通信质量越好,说明数据存储在该摄像机上的速度越快,访问效率越高。假设与该摄像机的通信质量不好,则可能导致存储读写效率低下,甚至读写失败造成数据需要恢复重建,因此更消耗性能,影响整个存储系统的有效性。剩余存储空间越大,说明数据存储在该摄像机上越对该摄像机的业务影响越小,对整个存储系统来说越稳定,不需要频繁的进行数据重建和恢复。例如假设当前摄像机的剩余空间比较小时,如果分配了较大的数据块存储,就会导致该摄像机的负载较高,若此时,该摄像机上也需要进行数据存储时,就会影响该摄像机本身的存储业务。为了平衡这两个维度的效果,需要根据这两个维度计算一个最终的存储数据块大小,这样可以得到相对通信质量较好且剩余空间较大的摄像机存储的数据量更大的效果,更符合实际使用情况。理论上,选择协同存储摄像机的时候也需要从上述两个维度进行考量,最终得到可以用于数据协同存储的摄像机。

最终IPC1的音视频数据被存储到各摄像机上。摄像机对采集到音视频数据编码以后按照上述指定的数据块大小分别存储到各摄像机。假设摄像机(IPC1)共有5个邻居摄像机(不包含自身存储的完整视频),则各摄像机上包含的信息如下:

1)、IPC1上存储的音视频数据总体信息,为了保证数据安全,该部分数据存储在内部存储空间内,不存储在存储卡上,防止存储卡失效导致的存储信息丢失从而无法恢复音视频数据的问题。存储的总体信息如下:

表4数据总体信息表

表5邻居摄像机存储信息表

表6数据详细存储位置信息表

表7数据块内容表

2)、其他摄像机上存储IPC1的音视频数据的内容如下表所示,以IPC2为例:

表8

步骤S3、摄像机在发现与后端平台存储设备的存储恢复正常后,将存储在前端存储介质中的数据补录到后端平台存储设备中。

摄像机先判断能否从当前自身的前端存储介质中读取数据,如果能够读成功,则将读取到的数据通过网络发给后端平台存储设备;如果读取不成功,则从协同存储的邻居摄像机上恢复数据并通过网络发送给后端平台存储设备。

例如,当IPC1的网络恢复时,IPC1需要将缓存的音视频数据补录到存储设备上。此时摄像机IPC1会先判断能否从当前自身的存储卡上读取音视频数据,如果能够读成功,则将读取到的音视频数据通过网络发给后端平台存储设备。如果读取不成功,则摄像机IPC1将会从其他邻居摄像机上恢复录像数据并通过网络发送给后端平台存储设备。

本实施例中IPC1会先从数据总体信息表(表4)中读取存储的音视频数据的总体信息。根据邻居摄像机存储信息表(表5)、数据详细存储位置信息表(表6)得到本次音视频数据存储在各摄像机上的详细数据。

根据数据详细存储位置信息表(表6)得到当前音视频数据存储在各摄像机上的数据序号,根据以上信息,IPC1分别从各摄像机中取出对应的数据块大小,并通过数据恢复技术恢复最终的原始音视频数据。

如果某个摄像机出现异常导致无法读取出原始存储数据块时,则根据邻居摄像机读取到的数据和对应校验数据来重建损坏的数据,并进行数据重建。将恢复出来的音视频数据通过网络发送给后端平台存储设备完成摄像机IPC1的缓存补录功能。

在一个实施例中,本申请所述摄像机前端存储备份的方法,还包括:

摄像机在检测到邻居网络发生异常时,判断发生异常的邻居摄像机是否在自身的协同存储摄像机列表中,如果在,则与协同存储摄像机列表中其他邻居摄像机协同进行数据恢复重建,并删除协同存储摄像机列表中其他邻居摄像机存储的对应数据;

重新根据与各邻居摄像机的通信质量或/和各邻居摄像机的剩余存储空间设置各邻居摄像机的优先级,根据优先级从邻居网络中选择邻居摄像机,建立包括自身的协同存储摄像机列表。

具体的,当摄像机在检测到邻居网络发生异常时,这里的异常包括发现网络拓扑发生改变,且影响到自身数据的存储时,或者当用户在读取存储在存储单元中的音视频数据出现异常导致读取的数据不可用或者无法读取数据,也会自动进行数据恢复重建工作。下面以IPC1为例进行说明:

IPC1检测到自身的网络拓扑结构发生变化(例如邻居摄像机离线等),或者发现协同存储摄像机出现数据读取失败、读取的数据不正确或数据校验不通过等情况时,都将会进行数据恢复重建。

如果发生拓扑结构变化,则检测发生拓扑变化的摄像机设备是否在自身的协同存储摄像机列表中,如果不在,则忽略该消息,不进行任何处理。如果发生拓扑变化的摄像机设备在自身的协同存储摄像机列表中,则进行下一步处理。例如IPC2出现离线,会导致当前摄像机的网络拓扑结构发生变化,且原先存储在IPC2上的数据将无法访问。因此当IPC1发现影响网络拓扑结构变化的是IPC2,且IPC2在自身的协同存储摄像机列表中,因此需要进行数据恢复重建。

如果协同存储摄像机出现数据读取失败或数据异常时,则直接进行数据恢复重建工作。

重建从其他邻居摄像机中读取原先存储在各邻居摄像机上的原始音视频数据块以及校验数据块,并通过以上数据还原出原始音视频数据。数据恢复技术为现有成熟技术,这里不再赘述。

IPC1得到原始音视频数据后,IPC1通知原始数据所在的各摄像机(IPC2到IP6)删除对应数据。

如果是因为网络拓扑结构发生变化导致的数据恢复重建时,如果网络恢复以后,还需要在网络恢复以后通知原发生网络拓扑结构的设备(IPC2)删除对应的原始存储数据(原IPC1存储在IPC2上的数据块)。

IPC1重新获取摄像机的邻居设备列表,重新选择邻居摄像机以及将恢复回来的数据存储到新的邻居摄像机中,并更新各摄像机上的信息。

本申请技术方案,摄像机通过自组网与周围其他邻居摄像机形成一个局域网,根据通信质量好坏和剩余存储空间大小筛选最优的摄像机作为协同存储的邻居摄像机。摄像机根据邻居摄像机的数量动态选择不同的存储备份方式,以达到更优的存储可靠性。当某个摄像机出现损坏或者异常时,可以通过数据校验恢复原始数据,而不会导致数据的丢失。

在一个实施例中,本申请还提出了一种摄像机前端存储备份的装置,包括:

组网模块,用于与周围的邻居摄像机组成邻居网络;

协同存储模块,用于在发现将数据存储到后端平台存储设备出现异常时,与邻居网络内的邻居摄像机协同将数据存储在各个摄像机的前端存储介质中;

数据补录模块,用于在发现与后端平台存储设备的存储恢复正常后,将存储在前端存储介质中的数据补录到后端平台存储设备中。

关于摄像机前端存储备份的装置的具体限定可以参见上文中对于摄像机前端存储备份的方法的限定,在此不再赘述。上述摄像机前端存储备份的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在本装置的一个实施例中,所述组网模块在与周围的邻居摄像机组成邻居网络时,执行如下操作:

从邻居网络中选择邻居摄像机,建立包括自身的协同存储摄像机列表,记录与各邻居摄像机的通信质量和各邻居摄像机的剩余存储空间,并为所选择的邻居摄像机设置对应的优先级。

在本装置的另一个实施例中,所述协同存储模块在与邻居网络内的邻居摄像机协同将数据存储在各个摄像机的前端存储介质中时,执行如下操作:

根据与各邻居摄像机的通信质量和各邻居摄像机的剩余磁盘空间大小,将数据拆分为不同大小的数据块,并生成对应的校验数据,在协同存储摄像机列表内摄像机的前端存储介质中分别存储。

在本装置的另一个实施例中,所述协同存储模块,还执行如下操作:

在检测到邻居网络发生异常时,判断发生异常的邻居摄像机是否在自身的协同存储摄像机列表中,如果在,则与协同存储摄像机列表中其他邻居摄像机协同进行数据恢复重建,并删除协同存储摄像机列表中其他邻居摄像机存储的对应数据;

所述组网模块,还执行如下操作:

重新根据与各邻居摄像机的通信质量或/和各邻居摄像机的剩余存储空间设置各邻居摄像机的优先级,根据优先级从邻居网络中选择邻居摄像机,建立包括自身的协同存储摄像机列表。

在本装置的另一个实施例中,所述数据补录模块将存储在前端存储介质中的数据补录到后端平台存储设备中,执行如下操作:

先判断能否从当前自身的前端存储介质中读取数据,如果能够读成功,则将读取到的数据通过网络发给后端平台存储设备;如果读取不成功,则从协同存储的邻居摄像机上恢复数据并通过网络发送给后端平台存储设备。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 一种摄像机前端存储备份的方法及装置
  • 一种摄像机前端一体化冷却防护装置
技术分类

06120113008028