CN106951183A - 一种高效可靠的网络摄像机数据存储方法 - Google Patents

一种高效可靠的网络摄像机数据存储方法 Download PDF

Info

Publication number
CN106951183A
CN106951183A CN201710105975.4A CN201710105975A CN106951183A CN 106951183 A CN106951183 A CN 106951183A CN 201710105975 A CN201710105975 A CN 201710105975A CN 106951183 A CN106951183 A CN 106951183A
Authority
CN
China
Prior art keywords
file
data
information table
record
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710105975.4A
Other languages
English (en)
Inventor
胡茂福
王兴国
陆国强
穆科明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANJING JIEMAI VIDEO TECHNOLOGY Co Ltd
Original Assignee
NANJING JIEMAI VIDEO TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NANJING JIEMAI VIDEO TECHNOLOGY Co Ltd filed Critical NANJING JIEMAI VIDEO TECHNOLOGY Co Ltd
Priority to CN201710105975.4A priority Critical patent/CN106951183A/zh
Publication of CN106951183A publication Critical patent/CN106951183A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明公开了一种高效可靠的网络摄像机数据存储方法,初始化阶段按照预先设置的大文件大小新建首个大文件,新建主数据库文件和记录表;按照开始数据存储、停止数据存储和默认状态三种处理流程进行数据存储;数据存储可以循环更新过程;触发抓拍的图片保存在本地存储设备中,同时更新文件信息表和图片信息表;录像存储服务启动后,主动开启备份线程,采用预先设定的周期备份主数据库,保证数据库记录的可靠稳定;同时支持数据存储文件查询、下载和回放。本发明采用动态预分配的技术存储多媒体数据,有效避免存储空间碎片增长问题,降低存储介质初始化的时间消耗;适应网络摄像机对多媒体数据的快速和精确查找的要求。

Description

一种高效可靠的网络摄像机数据存储方法
技术领域
本发明属于图像通信技术领域,具体涉及一种高效可靠的网络摄像机数据存储方法。
背景技术
网络摄像机的嵌入式数据存储一般通过采用Flash芯片、SD卡、NAS或者USB存储介质等实现。包括音视频和图像等网络摄像机采集的多媒体数据的安全性和可靠性直接影响整个安防监控系统的作用和效果。通用网络传输的不可靠性导致传输存储过程中容易丢失数据。数据完整性是视频监控的基本要求,考虑到网络传输的不稳定性,摄像机都会配置前端存储系统,实现数据的缓存和备份,保证数据的完整性和可用性,同时满足不同的应用场景需求。
网络摄像机存储的数据类型主要包括:音视频的流媒体数据、图片数据、索引信息、语义描述信息(MetaData)及其他辅助信息。现有的数据存取方法中会涉及大量的文件新建、更新和删除操作,同时存储的数据会被频繁地查询、下载、回放,因此网络摄像机的数据存储具有数据吞吐量大、信息访问频繁、可靠性要求高的特点。
现有网络摄像机数据存储方法主要是将音视频、图片数据存储成媒体文件和将文件描述信息保存成索引文件。数据存储时,新建文件记录某时间段的音视频或图片数据,同时更新索引记录;当存储空间不足时,根据事先定义的逻辑,比如先删除部分历史文件,再新建文件记录当前数据。
现有网络摄像机数据存储方案存在的问题有三方面,首先是存储介质存取寿命有限,容易损坏。网络摄像机的数据存储过程中,频繁新建、删除文件容易造成存储碎片,降低存储介质读写速度、引发坏块。其次是索引管理复杂、查询速度慢、精度低。现有方案中,每产生一个录像文件,就在索引文件里新增一条索引记录,管理索引记录位置和存储形式比较复杂。随着录像文件数目增加,记录条数越来越多,索引记录更新和查询速度就会变慢。通常,索引文件的每条索引记录对应一个文件的整体信息,很难精确定位到文件某时刻或与某个事件对应的媒体数据。第三是安全性、可扩展和兼容性差。现有方案中,索引文件在同步读写、掉电等情况下的保护完全由开发者的编程逻辑和文件系统决定,一旦文件破损,所有数据将无法使用,数据存储的可靠性差。网络摄像机的存储数据形式会随着需求而变化,数据形式一旦变化,索引结构和原有的索引查询和处理机制都要相应变化,因此可扩展性和兼容性差。
发明内容
本发明针对上述现有技术中存在的问题提出一种高效可靠的网络摄像机数据存储方法,其特点是数据存储采用预分配和大文件片段存储,避免文件新增和删除带来的存储空间碎片和存储介质使用不均衡,可以延长存储介质的使用寿命。采用数据库多级索引管理降低索引管理复杂度,提高查询和处理效率,实现精准查询。采用数据库双备份机制,降低主索引文件破损后数据无法处理的风险,增强数据安全性;多级索引机制屏蔽不同大文件存储数据类型的差异,通过片段类型区分文件数据的种类,适应多种数据存储需求,方便扩展和兼容。
为达到上述目的,本发明提出的技术方案为一种高效可靠的网络摄像机数据存储方法,包含以下步骤:
(1)初始化过程
网络摄像机首次启动,挂载存储设备后,存储设备进入初始化阶段,对于通过网络摄像机格式化存储设备或者外部格式化存储设备后首次初始化时获取存储设备的空间大小,按照预先设置的大文件大小新建首个大文件,新建主数据库文件和记录表,初始化成功后,进入录像监听,等待录像状态的变化,进入相应的状态处理程序;
(2)数据存储过程
数据存储监听线程收到存储状态的变化信息,按照开始数据存储、停止数据存储和默认状态三种处理流程进行数据存储;
(3)数据存储循环更新过程
在写满最后一个大文件时,下一个可写大文件指向首个大文件,满足特定的条件时开始处理最早数据存储记录;
(4)图片存储过程
触发抓拍的图片保存在本地存储设备中,同时更新文件信息表和图片信息表;当图片大文件已满时,找到最早的图片信息记录,置状态为已覆盖,同时记录可以写入的空间大小,继续更新下一条记录的状态,直到空间达到要求,写入新图片数据同时更新相关信息表;
(5)数据库的备份与恢复
录像存储服务启动后,主动开启备份线程,采用预先设定的周期备份主数据库,保证数据库记录的可靠稳定,前端启动进行存储设备初始化时,当主数据库出现异常时,将备份数据库代替主数据库调用,恢复正常工作后,再利用周期更新备份数据库的机制重新生成备份数据库并同步主数据库的表记录;
(6)数据存储文件查询、下载和回放
文件下载,先通过时间或事件检索得到的查询出结果下载需要的文件,多媒体数据查询根据索引的起始和终止时间组合成逻辑文件的名称显示给用户,用户点击某文件下载时,下载模块需要重新查询下载文件信息,根据传入的逻辑文件名称找到物理文件的实际路径和偏移位置,并返回文件长度等信息;
数据回放,先查询出结果再根据结果回放文件,遇到回放时间段内有空档期的情况,直接跳到有效期内下个文件的起始位置回放,当开始时间点回放后,网络摄像机内部首先在时间段内查询文件数目,并返回当前需要回放的第一个文件信息,收到文件信息后开始回放,待此文件回放即将结束时,查询下个可以回放的文件信息,直到播放文件数目达到开始查询的文件总数为止。
进一步,上述记录表包括文件信息总表、多媒体数据信息表、片段信息表和图片信息表,并将当前存储设备中的新建的文件信息作为记录项更新到文件信息表;否则直接查找文件信息表初始化全局文件信息变量。
数据存储过程中所述对开始数据存储状态的处理流程包括:
(1)查找当前可写文件序号,获取文件句柄,置录像开始标识,用全局信息初始化数据存储信息;
(2)按照初始化后的录像信息,在多媒体数据信息表中末尾更新一条录像记录。
数据存储过程中所述对默认数据存储状态的处理流程包括:
(1)判断是否有已打开的文件句柄和开始存储标识是否有效,无效则结束流程,重新进入监听等待状态;
(2)获取需存储的数据,按照片段大小分割,每次只写入片段大小的录像数据,剩下的部分等待下次写入,更新片段信息表中对应的片段记录、多媒体数据信息表和文件信息表;
(3)计算当前可写文件剩余的空闲空间大小remSpace,每个的大文件大小最大不超过256MB,对于实际要写的数据长度realData小于remSpace的直接写入当前文件,进入步骤7,否则进入步骤4;
(4)判断大文件是否进入循环覆盖阶段,未进入循环覆盖阶段时,进入步骤5,否则进入步骤6;
(5)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,建立新的大文件,获取文件句柄,重新初始化录像信息,在多媒体数据信息表中末尾更新一条录像记录,将剩下的realData-remSpace部分写入新的文件,转入步骤7;
(6)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,查找最早的大文件序号,获取文件句柄,查找文件信息表找到最早的数据存储信息记录序号,置此数据存储记录状态为已覆盖,计算可覆盖的空间大小,如果可写空间大小小于要写入的数据大小,就需要继续查找当前最早的数据存储记录并将状态置为已覆盖,直到可写空间大于等于要写入数据大小时结束数据存储记录的覆盖,初始化数据存储信息,在多媒体数据信息表的末尾更新一条录像记录,将剩下的realData-remSpace部分写入新的文件,转入步骤7;
(7)更新当前片段记录长度和可写片段序号,进入步骤8;
(8)更新文件信息表,更新最早片段记录信息,重新初始化数据存储信息,在多媒体数据信息表的末尾再更新一条数据存储记录。
数据存储过程中所述对数据停止存储状态的处理流程包括:
(1)判断开始数据存储标识是否有效,无效则结束流程,重新进入监听等待状态;
(2)判断文件句柄是否有效,无效则结束流程,重新进入监听等待状态;
(3)获取需存储的数据,按照片段大小分割,每次只写入片段大小的录像数据,剩下的部分等待下次写入,更新片段信息表中对应的片段记录、多媒体数据信息表和文件信息表;
(4)计算当前可写文件剩余的空闲空间大小remSpace,每个的大文件大小最大不超过256MB,对于实际要写的数据长度realData小于remSpace的直接写入当前文件,进入步骤8,否则进入步骤5;
(5)判断大文件是否进入循环覆盖阶段,未进入循环覆盖阶段时,进入步骤6,否则进入步骤7;
(6)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,建立新的大文件,获取文件句柄,重新初始化数据存储信息,在多媒体数据信息表中末尾更新一条录像记录,将剩下的realData-remSpace部分写入新的文件,转入步骤7;
(7)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,查找最早的大文件序号,获取文件句柄,查找文件信息表找到最早的数据存储信息记录序号,置此数据存储记录状态为已覆盖,计算可覆盖的空间大小,如果可写空间大小小于要写入的数据大小,就需要继续查找当前最早的数据存储记录并将状态置为已覆盖,直到可写空间大于等于要写入数据大小时结束数据存储记录的覆盖,初始化数据存储信息,在多媒体数据信息表的末尾更新一条数据存储记录,将剩下的realData-remSpace部分写入新的文件,转入步骤8;
(8)更新当前片段记录长度和可写片段簇序号,进入步骤9;
(9)更新文件信息表,更新最早片段记录信息,重新初始化数据存储信息,在多媒体数据信息表的末尾再更新一条数据存储记录,关闭当前正在写的文件,清除正在数据存储标识,清除数据存储和片段信息。
上述数据存储循环更新过程包括:
(1)查询到最早的数据存储信息记录,更新此多媒体数据信息表的记录状态为已覆盖,同时更新文件信息表的最早数据存储信息记录相关字段;
(2)记录当前可用的空间大小或者可写片段数目,保证在不够时及时更新最早的数据存储信息记录,预留足够的空间供数据写入,每个片段的写入需要立即更新片段信息表和定时更新多媒体数据信息表、文件信息表。
本发明还提出一种上述高效可靠的网络摄像机数据存储方法采用的索引数据结构,包含文件信息表,其预分配两条记录,第一条记录代表多媒体数据的信息总表,第二条记录代表图片数据的信息总表,多媒体数据信息表、片段信息表和图片信息表分别按照每个片段一定大小的存储空间预分配索引记录条数。
进一步,上述多媒体数据信息表按照每个片段1MB、每个大文件256MB预分配索引记录条数;片段信息表按照每个片段1MB、每个大文件256MB预分配索引记录条数;图片信息表按照每个片段512KB、每个图片大文件256MB预分配索引记录条数。
与现有技术相比,本发明的有益效果在于:
1,本发明采用动态预分配的技术存储多媒体数据,可以有效的避免存储空间碎片增长问题,降低存储介质初始化的时间消耗;大文件片段存储,适应网络摄像机对音视频、图片多媒体数据的快速和精确查找的要求,存储介质使用寿命得到了显著的延长。
2,通过数据库索引技术和在线备份的方式实现文件索引,可以降低管理复杂度,提高查询检索效率,索引管理简单、查询速度快、支持精确查询。
3,可以增强数据存储和使用的安全性,适合实际应用中不同类型数据的存储,扩展性和兼容性强,保证数据安全性,增加数据存储的可扩展性和兼容性。
附图说明
图1是本发明描述的存储介质内数据文件和索引文件存在形式。
图2是本发明描述的多级索引形式。
图3是存储设备的初始化流程。
图4是录像模块工作流程。
图5是文件写入的循环覆盖流程。
图6是数据库文件的备份与恢复。
具体实施方式
现结合附图对本发明的具体实施方式作进一步的说明。
本方法使用存储介质动态预分配、大文件片段存储、数据库多级索引、数据库在线备份机制实现数据存储。
预分配技术是按照存储媒体的特性和存储介质的大小预分配好若干个固定大小的文件空间,后续的数据操作只对现有已分配文件操作的一种技术。网络摄像机的音视频、图片等数据的新增、删除都只是更新文件数据和索引文件记录来实现虚拟意义上的文件新建和删除,并不执行物理上的文件新建和删除操作。这种技术可有效避免频繁的文件新增和删除带来的存储空间碎片和存储介质使用不均衡问题,从而延长存储介质的使用寿命。普通的预分配技术需要在存储介质使用前预先分配好所有文件空间,而网络摄像机是嵌入式设备,资源有限,对大容量存储介质的完全预先分配空间会耗费大量时间。动态预分配是基于预分配的思想,初始化存储空间时,索引文件中先记录出当前存储空间下要预分配文件的总数,但只生成一个预分配文件,后期根据数据存储的需要再动态生成文件,降低预分配文件空间的时间消耗。
大文件是针对实际音视频数据、图片数据等媒体文件提出的新存储文件形式,在大文件中会涵盖多个时间段的音视频或者图片的多媒体数据,根据时间段的先后顺序数据依次存储到大文件上。大文件上采用片段存储方式,每个大文件按照固定大小划分为若干个片段,每个片段作为存储的最小数据单元,索引记录通过多媒体的片段起始位置和码率来精准定位和查询数据,减少索引记录条数,降低索引记录的占用空间。
数据库管理索引信息借助数据库机制,降低索引管理复杂度,提高查询和处理效率。多级索引机制通过几级索引关系,将大文件中的片段信息关联,实现快速定位和查询录像。多级索引屏蔽不同大文件存储数据类型的差异,通过片段类型区分文件中数据的种类,适应多种数据存储需求,提高数据存储的可扩展性。
数据库索引记录在线备份机制,以时间片的方式更新备份索引文件,降低主索引文件破损后数据无法处理的风险。
本发明的存储方法利用动态预分配生成大文件,在大文件中采用片段记录数据,在新建和更新大文件、片段写入数据时更新相关索引记录,当需要查询、下载或者回放数据时,即刻查询数据库索引记录,快速定位数据读取位置进行处理。
网络摄像机的数据存储形式如图1所示,包含大文件、索引表信息、主数据库几类文件形式。大文件是根据动态预分配策略按照存储需求生成的,大文件划分为多个片段,每个片段固定大小。新建大文件的信息会更新到数据库的文件信息表、多媒体数据信息表,数据写入片段时周期更新片段信息表和多媒体数据信息表。主数据库文件内容周期性同步到在线备份数据库文件中。数据库中的文件信息表、多媒体数据信息表、片段信息表关联关系如图2所示。文件信息表有两条记录,第一条记录:记录所有的音视频文件的信息、存储状态等;第二条记录:记录所有的图片文件的信息、存储状态等。多媒体数据信息表记录每个多媒体文件信息;片段信息表记录256*N(N为录像大文件总数—固定大小的预分配录像文件总数)条片段信息;图片信息表记录每个图片文件信息。
本方法的实现流程如下:
1、初始化过程
网络摄像机首次启动,挂载存储设备后,存储设备进入初始化阶段,如图3所示,对于通过网络摄像机格式化存储设备或者外部格式化存储设备后首次初始化时获取存储设备的空间大小,按照媒体码率等逻辑预先设置的大文件大小新建首个大文件(预分配为256MB),新建主数据库文件和四个记录表(文件信息表、多媒体数据信息表、片段信息表、图片信息表)【预分配好表中的记录项】,并将当前存储设备中的新建的文件信息作为记录项更新到文件信息表;否则,直接查找文件信息表初始化全局文件信息变量。初始化成功后,进入录像监听,等待录像状态的变化,进入相应的状态处理程序。
2、数据存储过程
数据存储监听线程收到存储状态的变化信息(开始数据存储、停止数据存储和默认状态),如图4所示。
(a)对开始数据存储状态的处理流程
查找当前可写文件序号,获取文件句柄,置录像开始标识,用全局信息初始化数据存储信息(数据存储记录号、数据存储当前可写的文件序号、可写的片段簇号以及起始和终止时间);
按照初始化后的录像信息,在多媒体数据信息表中末尾更新一条录像记录。
(b)对默认数据存储状态的处理流程
(1)判断是否有已打开的文件句柄和开始存储标识是否有效,无效则结束流程,重新进入监听等待状态;
(2)获取需存储的数据,按照片段大小分割,每次只写入片段大小的录像数据,剩下的部分等待下次写入,更新片段信息表中对应的片段记录、多媒体数据信息表和文件信息表;
(3)计算当前可写文件剩余的空闲空间大小remSpace(每个的大文件大小最大不超过256MB),对于实际要写的数据长度realData小于remSpace的直接写入当前文件,进入步骤(7),否则进入步骤(4);
(4)判断大文件是否进入循环覆盖阶段,未进入循环覆盖阶段时,进入步骤(5),否则进入步骤(6);
(5)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,建立新的大文件,获取文件句柄,重新初始化录像信息,在多媒体数据信息表中末尾更新一条录像记录,将剩下的realData-remSpace部分写入新的文件,转入步骤(7);
(6)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,查找最早的大文件序号,获取文件句柄,查找文件信息表找到最早的数据存储信息记录序号,置此数据存储记录状态为已覆盖,计算可覆盖的空间大小,如果可写空间大小小于要写入的数据大小,就需要继续查找当前最早的数据存储记录并将状态置为已覆盖,直到可写空间大于等于要写入数据大小时结束数据存储记录的覆盖,初始化数据存储信息,在多媒体数据信息表的末尾更新一条录像记录,将剩下的realData-remSpace部分写入新的文件,转入步骤(7);
(7)更新当前片段记录长度和可写片段序号【更新片段信息表和多媒体数据信息表】,进入步骤(8);
(8)更新文件信息表,更新最早片段记录信息,重新初始化数据存储信息,在多媒体数据信息表的末尾再更新一条数据存储记录。
(c)对数据停止存储状态的处理流程
(1)判断开始数据存储标识是否有效,无效则结束流程,重新进入监听等待状态;
(2)判断文件句柄是否有效,无效则结束流程,重新进入监听等待状态;
(3)获取需存储的数据,按照片段大小分割,每次只写入片段大小的录像数据,剩下的部分等待下次写入,更新片段信息表中对应的片段记录、多媒体数据信息表和文件信息表;
(4)计算当前可写文件剩余的空闲空间大小remSpace(每个的大文件大小最大不超过256MB),对于实际要写的数据长度realData小于remSpace的直接写入当前文件,进入步骤(8),否则进入步骤(5);
(5)判断大文件是否进入循环覆盖阶段,未进入循环覆盖阶段时,进入步骤(6),否则进入步骤(7);
(6)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,建立新的大文件,获取文件句柄,重新初始化数据存储信息,在多媒体数据信息表中末尾更新一条录像记录,将剩下的realData-remSpace部分写入新的文件,转入步骤(7);
(7)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,查找最早的大文件序号,获取文件句柄,查找文件信息表找到最早的数据存储信息记录序号,置此数据存储记录状态为已覆盖,计算可覆盖的空间大小,如果可写空间大小小于要写入的数据大小,就需要继续查找当前最早的数据存储记录并将状态置为已覆盖,直到可写空间大于等于要写入数据大小时结束数据存储记录的覆盖,初始化数据存储信息,在多媒体数据信息表的末尾更新一条数据存储记录,将剩下的realData-remSpace部分写入新的文件,转入步骤(8);
(8)更新当前片段记录长度和可写片段簇序号【更新片段信息表和多媒体数据信息表】,进入步骤(9);
(9)更新文件信息表,更新最早片段记录信息,重新初始化数据存储信息,在多媒体数据信息表的末尾再更新一条数据存储记录,关闭当前正在写的文件,清除正在数据存储标识,清除数据存储和片段信息。
3、数据存储循环更新过程
循环覆盖是指在写满最后一个大文件时,下一个可写大文件指向首个大文件的情况,此时需要特定的条件来处理最早数据存储记录。循环覆盖过程如图5所示。
查询到最早的数据存储信息记录,更新此多媒体数据信息表的记录状态为已覆盖【对应原有的片段信息记录同时也无效,片段数据存储信息是否有效主要和数据存储信息记录的状态有关】,同时更新文件信息表的最早数据存储信息记录相关字段;
记录当前可用的空间大小(或者可写片段数目),保证在不够时及时更新最早的数据存储信息记录,预留足够的空间供数据写入,每个片段的写入需要立即更新片段记录信息和定时更新多媒体数据信息表、文件信息表。
4、图片存储过程
触发抓拍的图片保存在本地存储设备中,当产生一张图片,更新文件信息表的第二条记录信息和图片信息表,当需要写入到大文件的图片数据大小超过大文件当前的剩余空间时,自动切换到下个图片大文件进行写入,同时更新文件信息表和图片信息表;当图片大文件已满时,查找文件信息表找到最早的图片信息记录,置状态为已覆盖,同时记录可以写入的空间大小,继续更新下一条记录的状态,直到空间达到要求,写入新图片数据同时更新文件信息表和图片信息表。
5、数据表的索引说明
文件信息表表预分配两条记录,第一条记录代表多媒体数据的信息总表,第二条记录代表图片数据的信息总表。
多媒体数据信息表按照每个片段1MB(每个大文件256MB)预分配索引记录条数【极限情况一个片段为一个有效文件】,例如:32GB的SD卡(不考虑预留的索引空间大小),需要分配(32GB*1024/256)*256=32768条记录,按照256字节一条记录算索引的空间大小为:32768*256/1024=8192KB。
片段信息表按照每个片段1MB(每个大文件256MB)预分配索引记录条数,例如:32GB的SD卡(不考虑预留的索引空间大小),需要分配(32GB*1024/256)*256=32768条记录,按照256字节一条记录算索引的空间大小为:32768*256/1024=8192KB。
图片信息表按照每个片段512KB(每个图片大文件256MB)预分配索引记录条数,例如:32GB的SD卡(不考虑预留的索引空间大小),图片大文件个数占存储空间总大小的10%,向上取整,计算有13个图片大文件,需要分配13*256*1024/512=6656条记录,按照64字节一条记录算索引的空间大小为:6656*64/1024=416KB。
6、数据库的备份与恢复
为了保证数据库的稳定与可靠,增加对主数据库的备份处理。录像存储服务启动后,主动开启备份线程,采用预先设定的周期(例如2分钟)备份主数据库的机制,保证数据库记录的可靠稳定。前端启动进行存储设备初始化时,当主数据库出现异常时,将备份数据库代替主数据库调用,恢复正常工作后,再利用周期更新备份数据库的机制重新生成备份数据库并同步主数据库的表记录。如图6所示。
7、数据存储文件查询、下载和回放
文件下载,先通过时间或事件检索得到的查询出结果下载需要的文件。多媒体数据查询根据索引的起始和终止时间组合成逻辑文件的名称显示给用户。用户点击某文件下载时,下载模块需要重新查询下载文件信息,根据传入的逻辑文件名称找到物理文件的实际路径和偏移位置,并返回文件长度等信息。
数据回放,先查询出结果再根据结果回放文件,遇到回放时间段内有空档期的情况,直接跳到有效期内下个文件的起始位置回放。当开始时间点回放后,网络摄像机内部首先在时间段(回放时间时刻和查询到的有效期内最后一个文件的终止时间)内查询文件数目,并返回当前需要回放的第一个文件信息(路径等),收到文件信息后开始回放,待此文件回放即将结束时,查询下个可以回放的文件信息,直到播放文件数目达到开始查询的文件总数为止。
需要说明的是,本发明所提供的上述实施例仅具有示意性,不具有限定本发明的具体实施的范围的作用。本发明的保护范围应包括那些对于本领域的普通技术人员来说显而易见的变换或替代方案。

Claims (8)

1.一种高效可靠的网络摄像机数据存储方法,其特征在于,包含以下步骤:
(1)初始化过程
网络摄像机首次启动,挂载存储设备后,存储设备进入初始化阶段,对于通过网络摄像机格式化存储设备或者外部格式化存储设备后首次初始化时获取存储设备的空间大小,按照预先设置的大文件大小新建首个大文件,新建主数据库文件和记录表,初始化成功后,进入录像监听,等待录像状态的变化,进入相应的状态处理程序;
(2)数据存储过程
数据存储监听线程收到存储状态的变化信息,按照开始数据存储、停止数据存储和默认状态三种处理流程进行数据存储;
(3)数据存储循环更新过程
在写满最后一个大文件时,下一个可写大文件指向首个大文件,满足特定的条件时开始处理最早数据存储记录;
(4)图片存储过程
触发抓拍的图片保存在本地存储设备中,同时更新文件信息表和图片信息表;当图片大文件已满时,找到最早的图片信息记录,置状态为已覆盖,同时记录可以写入的空间大小,继续更新下一条记录的状态,直到空间达到要求,写入新图片数据同时更新相关信息表;
(5)数据库的备份与恢复
录像存储服务启动后,主动开启备份线程,采用预先设定的周期备份主数据库,保证数据库记录的可靠稳定,前端启动进行存储设备初始化时,当主数据库出现异常时,将备份数据库代替主数据库调用,恢复正常工作后,再利用周期更新备份数据库的机制重新生成备份数据库并同步主数据库的表记录;
(6)数据存储文件查询、下载和回放
文件下载,先通过时间或事件检索得到的查询出结果下载需要的文件,多媒体数据查询根据索引的起始和终止时间组合成逻辑文件的名称显示给用户,用户点击某文件下载时,下载模块需要重新查询下载文件信息,根据传入的逻辑文件名称找到物理文件的实际路径和偏移位置,并返回文件长度等信息;
数据回放,先查询出结果再根据结果回放文件,遇到回放时间段内有空档期的情况,直接跳到有效期内下个文件的起始位置回放,当开始时间点回放后,网络摄像机内部首先在时间段内查询文件数目,并返回当前需要回放的第一个文件信息,收到文件信息后开始回放,待此文件回放即将结束时,查询下个可以回放的文件信息,直到播放文件数目达到开始查询的文件总数为止。
2.根据权利要求1所述的高效可靠的网络摄像机数据存储方法,其特征在于初始化过程中所述记录表包括文件信息总表、多媒体数据信息表、片段信息表和图片信息表,并将当前存储设备中的新建的文件信息作为记录项更新到文件信息表;否则直接查找文件信息表初始化全局文件信息变量。
3.根据权利要求1所述的高效可靠的网络摄像机数据存储方法,其特征在于数据存储过程中所述对开始数据存储状态的处理流程包括:
(1)查找当前可写文件序号,获取文件句柄,置录像开始标识,用全局信息初始化数据存储信息;
(2)按照初始化后的录像信息,在多媒体数据信息表中末尾更新一条录像记录。
4.根据权利要求1所述的高效可靠的网络摄像机数据存储方法,其特征在于数据存储过程中所述对默认数据存储状态的处理流程包括:
(1)判断是否有已打开的文件句柄和开始存储标识是否有效,无效则结束流程,重新进入监听等待状态;
(2)获取需存储的数据,按照片段大小分割,每次只写入片段大小的录像数据,剩下的部分等待下次写入,更新片段信息表中对应的片段记录、多媒体数据信息表和文件信息表;
(3)计算当前可写文件剩余的空闲空间大小remSpace,每个的大文件大小最大不超过256MB,对于实际要写的数据长度realData小于remSpace的直接写入当前文件,进入步骤7,否则进入步骤4;
(4)判断大文件是否进入循环覆盖阶段,未进入循环覆盖阶段时,进入步骤5,否则进入步骤6;
(5)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,建立新的大文件,获取文件句柄,重新初始化录像信息,在多媒体数据信息表中末尾更新一条录像记录,将剩下的realData-remSpace部分写入新的文件,转入步骤7;
(6)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,查找最早的大文件序号,获取文件句柄,查找文件信息表找到最早的数据存储信息记录序号,置此数据存储记录状态为已覆盖,计算可覆盖的空间大小,如果可写空间大小小于要写入的数据大小,就需要继续查找当前最早的数据存储记录并将状态置为已覆盖,直到可写空间大于等于要写入数据大小时结束数据存储记录的覆盖,初始化数据存储信息,在多媒体数据信息表的末尾更新一条录像记录,将剩下的realData-remSpace部分写入新的文件,转入步骤7;
(7)更新当前片段记录长度和可写片段序号,进入步骤8;
(8)更新文件信息表,更新最早片段记录信息,重新初始化数据存储信息,在多媒体数据信息表的末尾再更新一条数据存储记录。
5.根据权利要求1所述的高效可靠的网络摄像机数据存储方法,其特征在于数据存储过程中所述对数据停止存储状态的处理流程包括:
(1)判断开始数据存储标识是否有效,无效则结束流程,重新进入监听等待状态;
(2)判断文件句柄是否有效,无效则结束流程,重新进入监听等待状态;
(3)获取需存储的数据,按照片段大小分割,每次只写入片段大小的录像数据,剩下的部分等待下次写入,更新片段信息表中对应的片段记录、多媒体数据信息表和文件信息表;
(4)计算当前可写文件剩余的空闲空间大小remSpace,每个的大文件大小最大不超过256MB,对于实际要写的数据长度realData小于remSpace的直接写入当前文件,进入步骤8,否则进入步骤5;
(5)判断大文件是否进入循环覆盖阶段,未进入循环覆盖阶段时,进入步骤6,否则进入步骤7;
(6)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,建立新的大文件,获取文件句柄,重新初始化数据存储信息,在多媒体数据信息表中末尾更新一条录像记录,将剩下的realData-remSpace部分写入新的文件,转入步骤7;
(7)将realData中remSpace大小的数据写入当前的文件,关闭当前文件,更新文件信息表、片段信息表和多媒体数据信息表,查找最早的大文件序号,获取文件句柄,查找文件信息表找到最早的数据存储信息记录序号,置此数据存储记录状态为已覆盖,计算可覆盖的空间大小,如果可写空间大小小于要写入的数据大小,就需要继续查找当前最早的数据存储记录并将状态置为已覆盖,直到可写空间大于等于要写入数据大小时结束数据存储记录的覆盖,初始化数据存储信息,在多媒体数据信息表的末尾更新一条数据存储记录,将剩下的realData-remSpace部分写入新的文件,转入步骤8;
(8)更新当前片段记录长度和可写片段簇序号,进入步骤9;
(9)更新文件信息表,更新最早片段记录信息,重新初始化数据存储信息,在多媒体数据信息表的末尾再更新一条数据存储记录,关闭当前正在写的文件,清除正在数据存储标识,清除数据存储和片段信息。
6.根据权利要求1所述的高效可靠的网络摄像机数据存储方法,其特征在于所述数据存储循环更新过程包括:
(1)查询到最早的数据存储信息记录,更新此多媒体数据信息表的记录状态为已覆盖,同时更新文件信息表的最早数据存储信息记录相关字段;
(2)记录当前可用的空间大小或者可写片段数目,保证在不够时及时更新最早的数据存储信息记录,预留足够的空间供数据写入,每个片段的写入需要立即更新片段信息表和定时更新多媒体数据信息表、文件信息表。
7.一种权利要求1所述的高效可靠的网络摄像机数据存储方法采用的索引数据结构,其特征在于包含文件信息表,其预分配两条记录,第一条记录代表多媒体数据的信息总表,第二条记录代表图片数据的信息总表,多媒体数据信息表、片段信息表和图片信息表分别按照每个片段一定大小的存储空间预分配索引记录条数。
8.根据权利要求7所述的索引数据结构,其特征在于,多媒体数据信息表按照每个片段1MB、每个大文件256MB预分配索引记录条数;片段信息表按照每个片段1MB、每个大文件256MB预分配索引记录条数;图片信息表按照每个片段512KB、每个图片大文件256MB预分配索引记录条数。
CN201710105975.4A 2017-02-27 2017-02-27 一种高效可靠的网络摄像机数据存储方法 Pending CN106951183A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710105975.4A CN106951183A (zh) 2017-02-27 2017-02-27 一种高效可靠的网络摄像机数据存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710105975.4A CN106951183A (zh) 2017-02-27 2017-02-27 一种高效可靠的网络摄像机数据存储方法

Publications (1)

Publication Number Publication Date
CN106951183A true CN106951183A (zh) 2017-07-14

Family

ID=59466523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710105975.4A Pending CN106951183A (zh) 2017-02-27 2017-02-27 一种高效可靠的网络摄像机数据存储方法

Country Status (1)

Country Link
CN (1) CN106951183A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165305A (zh) * 2018-07-24 2019-01-08 浙江大华技术股份有限公司 一种特征值存储、检索方法及装置
CN111046074A (zh) * 2019-12-13 2020-04-21 北京百度网讯科技有限公司 流式数据处理方法、装置、设备和介质
CN111176571A (zh) * 2019-12-27 2020-05-19 浪潮电子信息产业股份有限公司 一种本地对象的管理方法、装置、设备及介质
CN111382122A (zh) * 2020-03-11 2020-07-07 杭州涂鸦信息技术有限公司 一种多路网络摄像机子设备的文件管理系统和方法
CN112948134A (zh) * 2019-12-10 2021-06-11 天津光电通信技术有限公司 通信数据追溯采集方法、装置、服务器及存储介质
CN114442544A (zh) * 2021-12-16 2022-05-06 捷飞特(大连)工业技术有限公司 一种基于plc的工业设备智能监控录像采集方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1750164A (zh) * 2005-07-20 2006-03-22 杭州海康威视数字技术有限公司 一种防止文件碎片产生的数字硬盘录像机文件管理方法
CN101211338A (zh) * 2006-12-29 2008-07-02 上海欣泰通信技术有限公司 快速文件预分配与文件箱动态管理方法
CN101442647A (zh) * 2008-12-30 2009-05-27 北京中星微电子有限公司 视频监控系统中录像回放定位的控制方法以及存储服务器
CN101872639A (zh) * 2010-01-11 2010-10-27 杭州海康威视数字技术股份有限公司 在数字硬盘录像机上存储及检索图片数据的方法及装置
CN102143351A (zh) * 2010-08-06 2011-08-03 华为软件技术有限公司 监控录像的定位方法、图片抓拍方法,及装置和系统
CN102325244A (zh) * 2011-08-26 2012-01-18 杭州海康威视数字技术股份有限公司 按时间快速定位录像的方法、录像存储控制装置及定位装置
CN103164528A (zh) * 2013-03-29 2013-06-19 苏州皓泰视频技术有限公司 一种音视频数据的索引建立方法
CN103761056A (zh) * 2014-01-17 2014-04-30 浪潮电子信息产业股份有限公司 一种视频监控应用中流式数据的存储方法
CN104750859A (zh) * 2015-04-16 2015-07-01 成都影泰科技有限公司 一种网络存储方法
CN106095331A (zh) * 2016-05-31 2016-11-09 浙江科澜信息技术有限公司 一种固定大文件内部资源的控制方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1750164A (zh) * 2005-07-20 2006-03-22 杭州海康威视数字技术有限公司 一种防止文件碎片产生的数字硬盘录像机文件管理方法
CN101211338A (zh) * 2006-12-29 2008-07-02 上海欣泰通信技术有限公司 快速文件预分配与文件箱动态管理方法
CN101442647A (zh) * 2008-12-30 2009-05-27 北京中星微电子有限公司 视频监控系统中录像回放定位的控制方法以及存储服务器
CN101872639A (zh) * 2010-01-11 2010-10-27 杭州海康威视数字技术股份有限公司 在数字硬盘录像机上存储及检索图片数据的方法及装置
CN102143351A (zh) * 2010-08-06 2011-08-03 华为软件技术有限公司 监控录像的定位方法、图片抓拍方法,及装置和系统
CN102325244A (zh) * 2011-08-26 2012-01-18 杭州海康威视数字技术股份有限公司 按时间快速定位录像的方法、录像存储控制装置及定位装置
CN103164528A (zh) * 2013-03-29 2013-06-19 苏州皓泰视频技术有限公司 一种音视频数据的索引建立方法
CN103761056A (zh) * 2014-01-17 2014-04-30 浪潮电子信息产业股份有限公司 一种视频监控应用中流式数据的存储方法
CN104750859A (zh) * 2015-04-16 2015-07-01 成都影泰科技有限公司 一种网络存储方法
CN106095331A (zh) * 2016-05-31 2016-11-09 浙江科澜信息技术有限公司 一种固定大文件内部资源的控制方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165305A (zh) * 2018-07-24 2019-01-08 浙江大华技术股份有限公司 一种特征值存储、检索方法及装置
CN109165305B (zh) * 2018-07-24 2021-02-02 浙江大华技术股份有限公司 一种特征值存储、检索方法及装置
CN112948134A (zh) * 2019-12-10 2021-06-11 天津光电通信技术有限公司 通信数据追溯采集方法、装置、服务器及存储介质
CN111046074A (zh) * 2019-12-13 2020-04-21 北京百度网讯科技有限公司 流式数据处理方法、装置、设备和介质
CN111046074B (zh) * 2019-12-13 2023-09-01 北京百度网讯科技有限公司 流式数据处理方法、装置、设备和介质
CN111176571A (zh) * 2019-12-27 2020-05-19 浪潮电子信息产业股份有限公司 一种本地对象的管理方法、装置、设备及介质
CN111382122A (zh) * 2020-03-11 2020-07-07 杭州涂鸦信息技术有限公司 一种多路网络摄像机子设备的文件管理系统和方法
CN111382122B (zh) * 2020-03-11 2024-01-30 杭州涂鸦信息技术有限公司 一种多路网络摄像机子设备的文件管理系统和方法
CN114442544A (zh) * 2021-12-16 2022-05-06 捷飞特(大连)工业技术有限公司 一种基于plc的工业设备智能监控录像采集方法
CN114442544B (zh) * 2021-12-16 2023-09-26 捷飞特(大连)工业技术有限公司 一种基于plc的工业设备智能监控录像采集方法

Similar Documents

Publication Publication Date Title
CN106951183A (zh) 一种高效可靠的网络摄像机数据存储方法
US7111136B2 (en) Method and apparatus for backup and recovery system using storage based journaling
US7577808B1 (en) Efficient backup data retrieval
CN104462563B (zh) 一种文件存储方法和系统
US8606751B1 (en) System and method for backup by inode number
CN103226965B (zh) 基于时间位图的音视频数据存取方法
US20140019420A1 (en) Efficient use of memory and accessing of stored records
CN103198088B (zh) 基于阴影分页的日志段目录
CN106055431A (zh) 基于快照在线回滚的数据备份与恢复的方法及装置
CN103838830A (zh) 一种HBase数据库的数据管理方法及系统
CN108399050B (zh) 一种数据处理方法及装置
CN107092598A (zh) 数据存储位置信息的管理方法和装置
US11250888B1 (en) Flash memory and method for storing and retrieving embedded audio video data
CN107885616A (zh) 一种基于文件系统解析的海量小文件备份恢复方法
CN111651127A (zh) 一种基于叠瓦式磁记录盘的监控数据存储方法及装置
CN103207916B (zh) 元数据处理的方法和装置
CN104462148B (zh) 一种数据存储管理方法及装置
CN105653385B (zh) 一种车载录像方法
CN115481086A (zh) 一种海量小文件读写方法、系统、电子设备及存储介质
WO2022126551A1 (zh) 一种时序数据的存储方法
KR101642533B1 (ko) 파일 시스템에 파일들을 생성하기 위한 방법 및 장치
JP2822869B2 (ja) ライブラリファイル管理装置
CN110362424A (zh) 一种基于连续数据保护的快速恢复方法和系统
JP2001092701A (ja) ファイル復旧方法
CN116991815B (zh) 一种分布式存储系统的日志收集方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170714

WD01 Invention patent application deemed withdrawn after publication