提高视频监控***音视频数据存储效率的方法及装置
技术领域
本发明实施例涉及视频监控技术领域,具体涉及一种提高视频监控***音视频数据存储效率的方法及装置。
背景技术
现有视频监控***,对于视频监控数据的存储,都有专门的存储服务程序来完成。存储服务程序将接收到的音视频数据存储到本地磁盘或者挂载的存储设备中。
存储服务程序的数据存储方式主要以文件操作为主。当有新的前端编码采集设备的音视频数据需要存储时,存储服务程序会在磁盘上新建文件,该文件能够在内容上标识所属采集设备,或者采用新建与此文件对应的索引文件来标识所属采集设备,一个编码采集设备通常会对应多个录像文件。当所需存储的编码采集设备的录像计划过期、该编码采集设备在***中被删除或当前存储的数据到时候需要被覆盖,则存储服务程序会找到相应的文件并删除。存储服务程序在将音视频写入文件的同时,会将音视频数据的时间信息写入该文件对应的索引文件中,用于音视频数据的检索查询,随着音视频数据的不断存储写入,也会不断的更新相应的索引文件中的时间段信息,用以保证能够对录像的时间段进行查询。存储服务程序对于录像文件和索引文件的操作,都是基于操作***的API(应用程序编程接口),主要操作方式有文件创建、文件打开、文件读取、文件写入、文件关闭等。
但是,随着社会安全要求的不断提升,各行业对于视频监控***的音视频数据存储要求也不断提高。目前各行业的视频监控数据,大多数均要求24小时连续存储,并且存储时长在几天到几十天不等。对于音视频数据存储量的增大,就意味着存储服务程序在文件操作频率、文件读写效率、***资源利用率等方面的要求需要提升。随着数据存储时间的增加,尤其在大容量高并发存储的视频监控***中,存储服务程序对操作***中文件操作频率和次数也会变大,对于音视频存储文件需要频繁创建、读写、删除,对于存储文件相应的索引文件在时间记录上也需要不断更新文件,所以操作***的IO(输入输出)使用量非常大,对于物理存储介质的使用寿命也会随着高频率的使用而降低。随着硬件技术的不断发展,成本的不断降低,现有视频监控***中运行存储服务程序的服务器配置已经完全足以支撑软件的使用要求,尤其是在CPU(中央处理器)和内存方面。一般而言,运行存储服务程序的物理设备,瓶颈都在网络接口或者硬盘转速方面,而CPU和内存方面恰恰相反,仅使用了很少比例的资源,并没有很好的利用起来,这就相当于造成了一定程度的资源浪费。
鉴于此,如何提高视频监控***音视频数据存储效率成为目前需要解决的技术问题。
发明内容
由于现有方法存在上述问题,本发明实施例提出一种提高视频监控***音视频数据存储效率的方法及装置。
第一方面,本发明实施例提出一种提高视频监控***音视频数据存储效率的方法,包括:
建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系;
在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将所述音视频数据的时间段信息存储在所述本地文件数据库中。
可选地,在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,使所述数据文件与所述数据文件对应的索引文件采用相同的名称进行命名。
可选地,所述方法还包括:
在视频监控***中的存储服务程序开启后,计算出每个编码采集设备在预设时间段内所需存储空间要创建的数据文件的数量,为每个编码采集设备创建所述数量的数据文件和所述数量的索引文件,使每个数据文件和每个索引文件均占用固定空间;
在任一编码采集设备的数据文件写满过期后,不进行删除操作,当所述数据文件需要存储新的音视频数据时,将所述数据文件中的原有数据内容清空,写入新的音视频数据并修改所述本地文件数据库中的对应关系。
可选地,所述方法还包括:
当需要对一个新的数据文件进行数据写入时,将所述数据文件和对应的索引文件进行文件与内存的映射操作。
第二方面,本发明实施例还提出一种提高视频监控***音视频数据存储效率的装置,包括:
建立模块,用于建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系;
存储模块,用于在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将所述音视频数据的时间段信息存储在所述本地文件数据库中。
可选地,所述存储模块在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,使所述数据文件与所述数据文件对应的索引文件采用相同的名称进行命名。
可选地,所述装置还包括:
创建模块,用于在视频监控***中的存储服务程序开启后,计算出每个编码采集设备在预设时间段内所需存储空间要创建的数据文件的数量,为每个编码采集设备创建所述数量的数据文件和所述数量的索引文件,使每个数据文件和每个索引文件均占用固定空间;
写入模块,用于在任一编码采集设备的数据文件写满过期后,不进行删除操作,当所述数据文件需要存储新的音视频数据时,将所述数据文件中的原有数据内容清空,写入新的音视频数据并修改所述本地文件数据库中的对应关系。
可选地,所述装置还包括:
映射模块,用于当需要对一个新的数据文件进行数据写入时,将所述数据文件和对应的索引文件进行文件与内存的映射操作。
第三方面,本发明实施例还提出一种电子设备,包括:处理器、存储器、总线及存储在存储器上并可在处理器上运行的计算机程序;
其中,所述处理器,存储器通过所述总线完成相互间的通信;
所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法。
由上述技术方案可知,本发明实施例提供的一种提高视频监控***音视频数据存储效率的方法及装置,通过建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系;在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将音视频数据的时间段信息存储在本地文件数据库中,由此,能够在***环境不改变、存储介质不改变的前提下,提高视频监控***音视频数据的存储效率和性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种提高视频监控***音视频数据存储效率的方法的流程示意图;
图2为本发明一实施例提供的一种提高视频监控***音视频数据存储效率的装置的结构示意图;
图3为本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
现有视频监控***中,存储服务程序对于音视频数据的存储,存储位置主要有本地磁盘空间、挂载的网络存储设备如磁盘阵列、云存储设备等。无论是哪种存储介质,都主要是基于操作***文件创建、读写、删除方式,将媒体数据和索引数据分别写入到相应文件中。每个采集设备的数据信息存储在有关联关系的多对数据文件和索引文件上。
图1示出了本发明一实施例提供的一种提高视频监控***音视频数据存储效率的方法的流程示意图,如图1所示,本实施例的提高视频监控***音视频数据存储效率的方法,包括:
S1、建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系。
S2、在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将所述音视频数据的时间段信息存储在所述本地文件数据库中。
在具体应用中,在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,可以使所述数据文件与所述数据文件对应的索引文件采用相同的名称进行命名,便于对应和查找。数据文件与索引文件通过名称相同等方式,本身就具备对应关系,无需记录在本地的文件数据库中。
可以理解的是,本实施例是将原来的存储服务程序同时操作多个编码采集设备对应的索引文件来记录时间数据信息,改变为存储服务程序仅操作本地文件数据库的一个表来记录各设备的时间数据信息。此方式能够较大的降低并发操作多个索引文件的IO问题,提升时间信息存储的效率和成功率,提升视频监控***的安全性,将原有的文件IO操作问题转移为CPU利用率问题,而CPU利用率低造成的资源浪费也是目前视频监控***存在的问题之一,所以此处的CPU额外使用也解决了CPU利用率低问题。
本实施例的提高视频监控***音视频数据存储效率的方法,通过建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系;在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将音视频数据的时间段信息存储在本地文件数据库中,由此,能够在***环境不改变、存储介质不改变的前提下,提高视频监控***音视频数据的存储效率和性能。
进一步地,在上述实施例的基础上,本实施例所述方法还可以包括图中未示出的步骤P1-P2:
P1、在视频监控***中的存储服务程序开启后,计算出每个编码采集设备在预设时间段内所需存储空间要创建的数据文件的数量,为每个编码采集设备创建所述数量的数据文件和所述数量的索引文件,使每个数据文件和每个索引文件均占用固定空间;
可以理解的是,正常情况下,视频监控***的存储服务程序能够知道需要存储的时长和空间大小。基于此,存储服务程序可计算出每个编码采集设备需要的存储空间,也就能够计算出预设时间段内需要创建的文件数量。存储服务程序在开启后,可将所有数据文件、索引文件提前创建。
P2、在任一编码采集设备的数据文件写满过期后,不进行删除操作,当所述数据文件需要存储新的音视频数据时,将所述数据文件中的原有数据内容清空,写入新的音视频数据并修改所述本地文件数据库中的对应关系。
可以理解的是,本实施例极大的降低了文件创建和删除的频繁操作,也减少了文件碎片。另外,通过提前创建固定空间的数据文件的方式,也保证了视频监控***的数据空间不被其他程序或***占用,提高了***的安全性。
进一步地,在上述实施例的基础上,本实施例所述方法还可以包括图中未示出的步骤:
当需要对一个新的数据文件进行数据写入时,将所述数据文件和对应的索引文件进行文件与内存的映射操作。
可以理解的是,通过此方法,将原有的文件操作改变为内存操作,提高了存储数据的执行速度,降低了纯粹的IO操作,使***整体性能提升。同时,也将频繁的文件IO操作问题转移为内存操作,解决了视频监控***内存利用率低的问题,使资源能够合理利用。
本实施例的提高视频监控***音视频数据存储效率的方法,可以采用建立本地文件数据库、为每个编码采集设备创建占用固定空间的数据文件和索引文件以及文件与内存的映射操作三种方法任意相结合的方式来提高视频监控***音视频数据的存储效率和设备资源利用率,提高***性能和安全性。与现有技术相比,本实施例所述方法解决了IO操作量大、效率低、文件操作或IO操作失败率高、服务器设备资源利用率低等问题,降低了大量的索引文件的操作频率,降低了***IO资源利用频率,提升了***CPU和内存的利用率,提高了文件操作的成功率,提升了文件写入的速度和效率。
图2示出了本发明一实施例提供的一种提高视频监控***音视频数据存储效率的装置的结构示意图,如图2所示,本实施例的提高视频监控***音视频数据存储效率的装置,包括:建立模块21和存储模块22;其中:
所述建立模块21,用于建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系;
所述存储模块22,用于在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将所述音视频数据的时间段信息存储在所述本地文件数据库中。
具体地,所述建立模块21建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系;所述存储模块22在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将所述音视频数据的时间段信息存储在所述本地文件数据库中。
在具体应用中,所述存储模块在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,可以使所述数据文件与所述数据文件对应的索引文件采用相同的名称进行命名,便于对应和查找。数据文件与索引文件通过名称相同等方式,本身就具备对应关系,无需记录在本地的文件数据库中。
可以理解的是,本实施例是将原来的存储服务程序同时操作多个编码采集设备对应的索引文件来记录时间数据信息,改变为存储服务程序仅操作本地文件数据库的一个表来记录各设备的时间数据信息。此方式能够较大的降低并发操作多个索引文件的IO问题,提升时间信息存储的效率和成功率,提升视频监控***的安全性,将原有的文件IO操作问题转移为CPU利用率问题,而CPU利用率低造成的资源浪费也是目前视频监控***存在的问题之一,所以此处的CPU额外使用也解决了CPU利用率低问题。
本实施例的提高视频监控***音视频数据存储效率的装置,通过建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系;在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将音视频数据的时间段信息存储在本地文件数据库中,由此,能够在***环境不改变、存储介质不改变的前提下,提高视频监控***音视频数据的存储效率和性能。
进一步地,在上述实施例的基础上,本实施例所述装置还包括图中未示出的:
创建模块,用于在视频监控***中的存储服务程序开启后,计算出每个编码采集设备在预设时间段内所需存储空间要创建的数据文件的数量,为每个编码采集设备创建所述数量的数据文件和所述数量的索引文件,使每个数据文件和每个索引文件均占用固定空间;
写入模块,用于在任一编码采集设备的数据文件写满过期后,不进行删除操作,当所述数据文件需要存储新的音视频数据时,将所述数据文件中的原有数据内容清空,写入新的音视频数据并修改所述本地文件数据库中的对应关系。
可以理解的是,正常情况下,视频监控***的存储服务程序能够知道需要存储的时长和空间大小。基于此,存储服务程序可计算出每个编码采集设备需要的存储空间,也就能够计算出预设时间段内需要创建的文件数量。存储服务程序在开启后,可将所有数据文件、索引文件提前创建。
可以理解的是,本实施例极大的降低了文件创建和删除的频繁操作,也减少了文件碎片。另外,通过提前创建固定空间的数据文件的方式,也保证了视频监控***的数据空间不被其他程序或***占用,提高了***的安全性。
进一步地,在上述实施例的基础上,本实施例所述装置还包括图中未示出的:
映射模块,用于当需要对一个新的数据文件进行数据写入时,将所述数据文件和对应的索引文件进行文件与内存的映射操作。
可以理解的是,通过将原有的文件操作改变为内存操作,提高了存储数据的执行速度,降低了纯粹的IO操作,使***整体性能提升。同时,也将频繁的文件IO操作问题转移为内存操作,解决了视频监控***内存利用率低的问题,使资源能够合理利用。
本实施例的提高视频监控***音视频数据存储效率的装置,可以采用建立本地文件数据库、为每个编码采集设备创建占用固定空间的数据文件和索引文件以及文件与内存的映射操作三种方法任意相结合的方式来提高视频监控***音视频数据的存储效率和设备资源利用率,提高***性能和安全性。与现有技术相比,本实施例所述装置解决了IO操作量大、效率低、文件操作或IO操作失败率高、服务器设备资源利用率低等问题,降低了大量的索引文件的操作频率,降低了***IO资源利用频率,提升了***CPU和内存的利用率,提高了文件操作的成功率,提升了文件写入的速度和效率。
本实施例的提高视频监控***音视频数据存储效率的装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图3示出了本发明实施例提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器31、存储器32、总线33及存储在存储器32上并可在处理器31上运行的计算机程序;
其中,所述处理器31,存储器32通过所述总线33完成相互间的通信;
所述处理器31执行所述计算机程序时实现上述各方法实施例所提供的方法,例如包括:获取目标商户所有驻店骑士的当前信息,所述当前信息,包括:建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系;在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将所述音视频数据的时间段信息存储在所述本地文件数据库中。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例所提供的方法,例如包括:建立本地文件数据库,所述本地文件数据库用于记录编码采集设备信息、数据文件信息、音视频数据的时间信息的对应关系;在视频监控***中的存储服务程序将编码采集设备的音视频数据存储进数据文件时,将所述音视频数据的时间段信息存储在所述本地文件数据库中。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置/***。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。