一种视频监控录像数据加锁的方法

文档序号:8384014阅读:1700来源:国知局
一种视频监控录像数据加锁的方法
【技术领域】
[0001]本发明涉及录像数据存储及安防、智能交通技术领域,特别涉及一种视频监控录像数据加锁的方法。
【背景技术】
[0002]近年来,随着网络技术的不断发展和经济、生活方式的多样化,视频监控业务收到了广泛重视。视频监控业务可以为用户提供图像远程传输,云镜控制操作,录像存储管理以及告警联动通知等服务。但是,由于视频监控该业务受网络连接状况的限制,使用及维护成本较高,且安全等级要求较低的地区或者部门不需要图像远程传输,云镜控制操作以及告警联动通知等功能,这些地区或部门采用实时监控录像的方法,并妥善存储管理视频监控录像数据即可。
[0003]由于实时监控录像具有数据量巨大,且不断更新的特点,在存储视频监控录像数据时,一般采取将存储介质分块(chunk),并以块为单位按录像时间将录像数据依次存储在存储介质上。当存储介质有剩余空间时,顺序存储新的录像数据;而当存储介质没有剩余空间后,采取从最早时间的录像内容开始循环覆盖来存储新的录像内容。然而,在一定情况下,用户可能需要对过去某段时间的录像内容进行着重保护,防止随新录像的不断录入,上述时间段的录像内容遭循环覆盖而造成丢失。
[0004]为了解决以上问题,本发明提出了一种视频监控录像数据加锁的方法。所述视频录像加锁是指通过特定的实现方式,对用户要着重保护的视频监控录像数据进行保护,从而防止视频录像数据的损坏和丢失。

【发明内容】

[0005]本发明为了弥补现有技术的缺陷,提供了一种简单有效的视频监控录像数据加锁的方法。
[0006]本发明是通过如下技术方案实现的:通过数据库记录相应加锁记录
一种视频监控录像数据加锁的方法,其特征在于:将需要着重保护的录像加锁,并通过数据库记录加锁录像的基本描述信息和加锁录像数据在介质上存储的位置以及该段录像加锁生效的时间区间信息;当剩余磁盘空间不足时,对数据库中加锁录像数据信息进行检索,跳过相应加锁磁盘chunk块位置不做覆盖以此保护加锁录像数据;同时不断更新加锁信息,根据对加锁录像数据设置的加锁生效和结束加锁时间,在到达指定时间后加锁生效和自动解锁功能;另外根据用户的解锁请求还能进行录像解锁。
[0007]所述加锁录像的基本描述信息记录在lock info表中,所述lock info表包括录像加锁编号lock seq、录像通道号came rid、录像开始时间begin time、录像结束时间endtime、加锁生效时间lock begin time、加锁结束时间lock end time六个字段的数据;
所述加锁录像数据在介质上存储的位置以及该段录像加锁生效的时间区间信息记录在lock chunk表中,所述lock chunk表包括自增编号lock id、录像加锁编号lock seq、存储录像的chunk编号chunk index、加锁生效时间lock begin time、加锁结束时间lockend time五个字段的数据;
同时,还要维护近期失效加锁链表,所述近期失效加锁链表的各个节点lock_endtime_node按录像加锁的失效时间进行排序,每个节点包括录像结束时间time_t lock endtime、指向加锁录像信息的链表struct lock_info* lock info、指向下一个节点structlock_end time_node* next 三个成员组成;
当同一时间点存在多个加锁录像信息时,相应的加锁录像信息lock_info被插入到所述lock_end time_node节点的指向加锁录像信息的链表struct lock_info* lock info指向的加锁信息子链表中,所述加锁信息子链表的各个节点lock_info包括录像通道号int came rid、录像加锁编号int lock seq、录像加锁结束时间time_t lock end time、指向下一个节点struct lock_info* next四个成员,该结构对应数据库表中相应记录项。
[0008]所述录像加锁原语为先对用户要加锁录像信息进行验证,并获取录像数据在存储介质上的各chunk块的位置,然后添加相应记录到lock info表和lock chunk库表中;同时还要判断该加锁录像的加锁结束时间是否在近期,如果条件成立则将相应信息插入到近期失效加锁链表相应节点的子链表中;
所述加锁录像信息检索原语为根据用户输入的录像通道号和检索时间区间,从lockinfo表中获取相应加锁录像信息返回给用户使用;
所述更新加锁信息原语为先对用户要更新录像加锁信息进行验证,从数据库表lockinfo表和lock chunk表中检索匹配的记录项,然后对记录项进行更新,最后根据更新后的录像加锁结束时间对近期失效加锁链表的相应加锁信息进行更新;
所述录像解锁原语为先对用户的解锁请求进行验证,然后在lock info表和lockchunk表中进行检索并删除相应记录;当该加锁录像的加锁结束时间在近期时,则从近期失效加锁链表的相应节点子链上删除相应加锁数据;
所述自动解锁原语通过后台线程对近期失效加锁链表的管理来实现,后台线程定时启动对近期失效加锁链表头结点的检查,当头结点的加锁结束时间lock end time不晚于当前的系统时间时,分别对数据库lock chunk表和lock info表的相应记录进行删除操作,然后删除所述加锁信息子链表的各个节点,所述lock_end time_node头结点指向当前节点的下一个节点并删除当前节点;随后,对新的头结点做相同检验和操作,直到条件不再成立,线程睡眠,等待下一时间点的检查;当近期失效加锁链表内容为空时,程序从数据库表中检索符合在下一段近期时间区间内加锁失效条件的记录,并按录像加锁失效时间字段值进行排序,添加到近期失效加锁链表相应节点指向的加锁信息子链表上。
[0009]当存储介质剩余空间不足,需要循环覆盖掉已有视频录像数据时,首先检查chunk编号在数据库lock chunk表中是否有相应记录项命中并且处于加锁的有效时间区间内,即是否被锁定,如果该chunk块被锁定,则跳过该chunk块不做覆盖操作,然后对下一个chunk块进行上述检查,直到找到未加锁的chunk块执行覆盖操作。
[0010]本发明的有益效果是:该视频监控录像数据加锁的方法,当存储介质剩余空间不足,需要循环覆盖掉已有视频录像数据时,采用将制定录像数据加锁的方式,通过对数据库中已加锁录像数据信息的记录进行检索,跳过相应加锁磁盘chunk位置不做覆盖,实现了对加锁录像数据的保护;另外,根据加锁生效和结束加锁时间,还可以实现在到达指定时间后加锁生效和自动解锁的功能。
【附图说明】
[0011]附图1为本发明中视频监控录像数据加锁的方法示意图。
[0012]附图2为本发明近期失效加锁链表结构示意图。
【具体实施方式】
[0013]下面结合附图对本发明进行详细说明。
[0014]该视频监控录像数据加锁的方法,将需要着重保护的录像加锁,并通过数据库记录加锁录像的基本描述信息和加锁录像数据在介质上存储的位置以及该段录像加锁生效的时间区间信息;当剩余磁盘空间不足时,对数据库中加锁录像数据信息进行检索,跳过相应加锁磁盘chunk块位置不做覆盖以此保护加锁录像数据;同时不断更新加锁信息,根据对加锁录像数据设置的加锁生效和结束加锁时间,在到达指定时间后加锁生效和自动解锁功能;另外根据用户的解锁请求还能进行录像解锁。
[0015]所述加锁录像的基本描述信息记录在lock info表中,所述lock info表包括录像加锁编号lock seq、录像通道号came rid、录像开始时间begin time、录像结束时间endtime、加锁生效时间lock begin time、加锁结束时间lock end time六个字段的数据;
所述加锁录像数据在介质上存储的位置以及该段录像加锁生效的时间区间信息记录在lock chunk表中,所述lock chunk表包括自增编号lock id、录像加锁编号lock seq、存储录像的chunk编号chunk index、加锁生效时间lock begin time、加锁结束时间lockend time五个字段的数据;
同时,还要维护近期失效加锁链表,所述近期失效加锁链表的各个节点lock_endtime_node按录像加锁的失效时间进行排序,每个节点包括录像结束时间time_t lock endtime、指向加锁录像信息的链表struct lock_info* lock info、指向下一个节点
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1