录像文件的管理方法及装置与流程

文档序号:14747348发布日期:2018-06-21 23:15阅读:249来源:国知局
本发明属于安防设备
技术领域
,尤其涉及一种录像文件的管理方法及装置。
背景技术
:现有的网络摄像机一般采用SD卡或者其他存储设备来存储录像文件,并通过文件管理系统来管理这些录像文件。需要在程序运行的过程中进行录像文件的存入、读出、状态修改或者转存等操作,代码中往往会使用了大量的排序算法、查找算法、状态机算法等。若录像文件的数量巨大时,文件管理系统的逻辑复杂,容易出现问题,且扩展性差,不易于增加新的功能。由于代码臃肿,也增加了后期的维护成本。综上所述,现有技术中的录像文件的管理方式效率低。技术实现要素:鉴于此,本发明实施例提供一种录像文件的管理方法及装置,以提高对录像文件的管理效率,降低维护成本。第一方面,提供了一种录像文件的管理方法,所述管理方法包括:构建嵌入式数据库,所述嵌入式数据库中包括用于记录录像文件对应的属性信息的数据库表格;通过所述嵌入式数据库管理录像文件。第二方面,提供了一种录像文件的管理装置,所述管理装置包括:构建模块,用于构建嵌入式数据库,所述嵌入式数据库中包括用于记录录像文件对应的属性信息的数据库表格;管理模块,用于通过所述嵌入式数据库管理录像文件。与现有技术相比,本发明实施例针对录像文件构建了对应的嵌入式数据库,所述嵌入式数据库中包括用于记录录像文件对应的属性信息的数据库表格;通过所述嵌入式数据库管理录像文件;由于嵌入式数据库是使用精简的代码编写的,相对于文件管理系统的代码量少,从而提高了录像文件的可维护性和可扩展性,方便了用户进行查看和修改等操作,有效地提高了对录像文件的管理效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1是本发明实施例提供的录像文件的管理方法的实现流程图;图2是本发明实施例提供的录像文件的管理方法中步骤S101的具体实现流程图;图3是本发明实施例提供的通过嵌入式数据库创建录像文件的实现流程图;图4是本发明实施例提供的通过嵌入式数据库上传录像文件的实现流程图;图5是本发明实施例提供的录像文件的管理装置的组成结构图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例针对录像文件构建了对应的嵌入式数据库,所述嵌入式数据库中包括用于记录录像文件对应的属性信息的数据库表格;通过所述嵌入式数据库管理录像文件;由于嵌入式数据库是使用精简的代码编写的,相对于文件管理系统的代码量少,从而提高了录像文件的可维护性和可扩展性,方便了用户进行查看和修改等操作,有效地提高了对录像文件的管理效率。本发明实施例还提供了相应的管理装置,以下分别进行详细的说明。图1示出了本发明实施例提供的录像文件的管理方法的实现流程。在本发明实施例中,所述管理方法应用于需要进行录像文件管理的嵌入式设备,比如网络摄像机。参阅图1,所述管理方法包括:在步骤S101中,构建嵌入式数据库,所述嵌入式数据库中包括用于记录录像文件对应的属性信息的数据库表格。在本发明实施例中,所述嵌入式数据库用于管理嵌入式设备中所存储的录像文件,因此,预先定义数据库表格用于记录录像文件对应的属性信息。可选地,所述数据库表格的表项包括主键key_id和用于记录录像文件对应的属性信息的项目;其中,所述项目包括录像文件的文件名file_name、录像文件的创建时间time_seconds、录像文件的索引信息file_index、录像文件的状态信息status、录像文件的从属码流dual_stream_id、设备标识device_id,所述设备标识device_id为产生录像文件的设备的标识。表1示出了本发明实施例提供的数据库表格中的表项组成。名称类型说明key_idINTEGERPRIMARYKEYNOTNULL数据库表格的主键file_nameTEXTNOTNULL录像文件的文件名time_secondsINTEGERNOTNULL录像文件的创建时间file_indexINTEGERNOTNULL录像文件的索引信息device_idTEXTNOTNULL产生录像文件的设备标识statusINTEGERNOTNULL录像文件的状态信息dual_stream_idINTEGERNOTNULL录像文件的从属码流表1作为本发明的一个优选示例,图2示出了本发明实施例提供的录像文件的管理方法中步骤S101的具体实现流程。参阅图2,所述步骤S101包括:在步骤S201中,创建并打开嵌入式数据库,获取所述嵌入式数据库返回的文件句柄。在步骤S202中,将创建模式设置为persist模式,并使用所述文件句柄创建数据库表格。在这里,由于嵌入式设备delete和truncate一个文件比覆盖该文件的代价高,因此,本发明实施例通过设置创建模式为persist模式,使得嵌入式设备按照精简代码的方式创建数据库表格,而不按照PC机的创建方式创建数据库表格。示例性地,以下给出使用所述文件句柄创建数据库表格的实现示例:CREATETABLERECORD(key_idINTEGERPRIMARYKEYNOTNULL,file_nameTEXTNOTNULL,time_secondsINTEGERNOTNULL,file_indexINTEGERNOTNULL,device_idTEXTNOTNULL,statusINTEGERNOTNULL,dual_stream_idINTEGERNOTNULL);在步骤S203中,在建立数据库表格后,关闭所述文件句柄。在数据库表格建立完成后,则关闭所述文件句柄,至此,已完成嵌入式数据库的构建。本发明实施例通过为录像文件构建嵌入式数据库以及定义数据库表格用于存储录像文件对应的属性信息,由于嵌入式数据库使用精简的代码编写,相对于文件管理系统的代码量少,逻辑简单且高效,从而提高了录像文件的可维护性和可扩展性,方便了用户进行查看和修改等操作,有效地提高了对大量录像文件的管理效率,有利于降低维护成本。在步骤S102中,通过所述嵌入式数据库管理录像文件。在本发明实施例中,通过所述嵌入式数据库存储嵌入式设备产生的录像文件,并管理所述录像文件。其中,管理包括使用所述嵌入式数据库创建、删除、查询录像文件以及将录像文件上传至服务器。作为本发明的一个优选示例,所述通过所述嵌入式数据库管理录像文件包括:通过所述嵌入式数据库创建录像文件。图3示出了本发明实施例提供的通过嵌入式数据库创建录像文件的实现流程。参阅图3,所述创建录像文件的实现流程包括:在步骤S301中,在创建录像文件前,若当前的存储容量不足,则根据所述数据库表格中的创建时间获取最早创建的录像文件,删除所述录像文件以及所述数据库表格中该录像文件对应的属性信息。本发明实施例在创建录像文件之前,首先获取嵌入式设备的当前存储容量,判断所述存储容量是否满足预设容量阈值,以确定当前的存储容量是否足够。若存储容量不足,则对数据库表格进行检查,通过数据库表格中的创建时间time_seconds获取创建时间最早的录像文件,删除所述录像文件以及所述数据库表格中该录像文件对应的属性信息,以空出足够的存储容量来创建新的录像文件,保证所创建的录像文件的内容是完整的。在步骤S302中,从所述数据库表格中获取状态信息为第一状态标识的录像文件,删除所述录像文件以及所述数据库表格中该录像文件对应的属性信息。在本发明实施例中,每一个录像文件都有对应的状态标识,当所述录像文件的内容不完整时,状态标识status上的值为第一状态标识。因此,所述第一状态标识表示录像文件的内容不完整。在实际应用中,所述第一状态标识可以设置为INIT。若当前的存储容量足够时,根据所述数据库表格中的状态信息status判断是否有内容不完整的录像文件,即判断是否存在状态信息status为INIT的录像文件。在这里,内容不完整的录像文件包括:1、在录像文件的创建过程中由于嵌入式设备掉电而终止创建的录像文件,此类录像文件没有满足文件格式,不是一个内容完整的录像文件,在数据表格中其对应的状态信息status设置为第一状态标识;2、在录像文件创建完成后,若软件自身或SD卡的文件管理系统缺失,所创建的录像文件没有满足文件格式,不是一个内容完整的录像文件,在数据表格中其对应的状态信息status设置为第一状态标识。对于内容不完整的录像文件,从嵌入式数据库中删除所述录像文件以及从所述数据库表格中删除与该录像文件对应的属性信息。示例性地,以下给出删除录像文件及其对应的属性信息的实现示例:SELECTfile_namefromRecordFilesWHEREstatus=INITDELETEFROMRecordFilesWHEREstatus=INIT在步骤S303中,在所述嵌入式数据库中创建录像文件,将采集到的图像信息写入到所创建的录像文件中,并在所述数据库表格中记录所述录像文件对应的属性信息。在通过步骤S301和S302对嵌入式数据库进行检查之后,在所述嵌入式数据库中创建录像文件(比如文件名为video.mp4),将嵌入式设备采集到的图像信息写入到所创建的录像文件中。同时在数据库表格中增加一条记录,以记录所创建的录像文件对应的属性信息。以下给出在数据库表格中增加录像文件对应的属性信息的实现示例:INSERTINTORECORDVALUES(key_id,file_name,time_seconds,file_index,device_id,status,dual_stream_id)示例性地,在实际应用中,嵌入式设备上电后进行拍摄时,主码流通道和副码流通道都会以固定的时间间隔产生多个录像文件。为了便于说明,这里假设录像时间间隔为10秒。若录像20秒,则主码流通道在0-10秒时间段将图像信息写入至第一个录像文件,在11-20秒的时间段将图像信息写入至第二个录像文件,副码流通道在0-10秒时间段将图像信息写入至第三个录像文件,在11-20秒的时间段将图像信息写入至第四个录像文件,此时,数据库表格中总共增加了4个录像文件对应的属性信息。其中,在图像信息的写入过程中,所述录像文件在数据库表格中对应的状态信息status设置为第一状态标识,即内容不完整。在录像文件创建完成后,所述录像文件在数据库表格中对应的状态信息status设置为第二状态标识,即内容完整。通过上述步骤S301至步骤S303,实现了使用嵌入式数据库创建、删除录像文件,有效地提高了嵌入式设备系统的稳定性;在每次创建录像文件前,嵌入式数据库可以自动删除内容不完整的录像文件,排除了异常的录像文件,有效地提升了嵌入式设备系统的安全性。可选地,所述通过所述嵌入式数据库管理录像文件还包括:通过所述嵌入式数据库查询录像文件。具体为:获取用户输入的关键字信息,根据所述数据库表格中记录的属性信息,获取与所述关键字信息匹配的录像文件。本发明实施例通过在数据库表格中增加所创建的录像文件对应的属性信息,使得嵌入式设备的系统逻辑变得简单、高效,无需通过复杂的逻辑就能完成按照时间、分辨率、状态信息等录像文件的查询,提高了录像文件的管理效率。进一步地,作为本发明的另一个优选示例,所述通过所述嵌入式数据库管理录像文件还包括:通过所述嵌入式数据库上传录像文件。图4示出了本发明实施例提供的通过嵌入式数据库上传录像文件的实现流程。参阅图4,上传录像文件的实现流程包括:在步骤S401中,查询所述嵌入式数据库中的数据库表格。在步骤S402中,从所述数据库表格中获取状态信息为第一状态标识的录像文件,删除所述录像文件以及所述数据库表格中该录像文件对应的属性信息,其中,所述第一状态标识表示录像文件的内容不完整。在步骤S403中,从所述数据库表格中获取状态信息为第三状态标识的录像文件,将所述录像文件的状态信息修改为第二状态标识,并继续将该录像文件上传至服务器,其中,所述第三状态标识表示录像文件处于上传中,所述第二状态标识表示录像文件的内容完整。在本发明实施例中,每次上传录像文件时,先查询嵌入式数据库,获取状态信息status置为第一状态标识的录像文件,得到内容不完整的录像文件,并将此录像文件及其对应的属性信息删除。获取状态信息置为第三状态标识的录像文件,得到上一次传输失败或者查实的录像文件,修改所述录像文件的状态信息status为第二状态标识,并继续将所述录像文件上传至服务器。在步骤S404中,从所述数据库表格中获取状态信息为第二状态标识且创建时间最晚的录像文件,将所述录像文件的状态信息修改为第三状态标识,并将所述录像文件上传至服务器;在上传结束后,将所述录像文件的状态信息修改为第四状态标识,所述第四状态标识表示录像文件已上传。在这里,所述创建时间最晚的录像文件是指最近创建的录像文件。通过在上传前查询嵌入式数据库,自动删除内容不完整的录像文件以及继续上传上一次未上传完的录像文件,防止了嵌入式设备突然掉电导致的录像文件异常或丢失,有效地提升了嵌入式设备系统的安全性。可选地,在实际应用中,所述第一状态标识可以为INIT,所述第二状态标识可以为GENERATED,所述第三状态标识可以为UPLOADING,所述第四状态标识可以为UPLOADED。本发明实施例针对录像文件构建了对应的嵌入式数据库,所述嵌入式数据库中包括用于记录录像文件对应的属性信息的数据库表格;通过所述嵌入式数据库管理录像文件;由于嵌入式数据库是使用精简的代码编写的,相对于文件管理系统的代码量少,从而提高了录像文件的可维护性和可扩展性,方便了用户进行查看和修改等操作,有效地提高了对录像文件的管理效率。图5示出了本发明实施例提供的录像文件的管理装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。在本发明实施例中,所述管理装置用于实现上述图1至图4实施例中任一项所述的录像文件的管理方法,可以是内置于嵌入式设备的软件单元、硬件单元或者软硬件结合的单元。所述嵌入式设备包括但不限于网络摄像机。参阅图5,所述录像文件的管理装置包括:构建模块51,用于构建嵌入式数据库,所述嵌入式数据库中包括用于记录录像文件对应的属性信息的数据库表格。管理模块52,用于通过所述嵌入式数据库管理录像文件。进一步地,所述构建模块51包括:获取单元511,用于创建并打开嵌入式数据库,获取所述嵌入式数据库返回的文件句柄。数据库表格创建单元512,用于将创建模式设置为persist模式,并使用所述文件句柄建立数据库表格。关闭单元513,用于在建立数据库表格后,关闭所述文件句柄。其中,所述数据库表格中的表项包括主键key_id、用于记录录像文件对应的属性信息的项目;所述项目包括录像文件的文件名file_name、录像文件的创建时间time_seconds、录像文件的索引信息file_index、录像文件的状态信息status、录像文件的从属码流dual_stream_id、设备标识device_id。进一步地,所述管理模块52包括录像文件创建子模块521、录像文件查询子模块522、录像文件上传子模块523。所述录像文件创建子模块521具体包括:第一删除单元,用于在创建录像文件前,若当前的存储容量不足,则根据所述数据库表格中的创建时间获取最早创建的录像文件,删除所述录像文件以及所述数据库表格中该录像文件对应的属性信息;第二删除单元,用于从所述数据库表格中获取状态信息为第一状态标识的录像文件,删除所述录像文件以及所述数据库表格中该录像文件对应的属性信息,所述第一状态标识表示录像文件的内容不完整;录像文件创建单元,用于在所述嵌入式数据库中创建录像文件,将采集到的图像信息写入到所创建的录像文件中,并在所述数据库表格中记录所述录像文件对应的属性信息。进一步地,所述录像文件查询子模块522具体还包括:录像文件查询单元,用于获取用户输入的关键字信息,根据所述数据库表格中记录的属性信息,获取与所述关键字信息匹配的录像文件。本发明实施例通过在数据库表格中增加所创建的录像文件对应的属性信息,使得嵌入式设备的系统逻辑变得简单、高效,无需通过复杂的逻辑就能完成按照时间、分辨率、状态信息等录像文件的查询,提高了录像文件的管理效率,有利于降低维护成本。进一步地,所述录像文件上传子模块53具体还包括:查询单元,用于查询所述嵌入式数据库中的数据库表格。第三删除单元,用于从所述数据库表格中获取状态信息为第一状态标识的录像文件,删除所述录像文件以及所述数据库表格中该录像文件对应的属性信息,其中,所述第一状态标识表示录像文件的内容不完整。第一上传单元,用于从所述数据库表格中获取状态信息为第三状态标识的录像文件,将所述录像文件的状态信息修改为第二状态标识,并继续将该录像文件上传至服务器,其中,所述第三状态标识表示录像文件处于上传中,所述第二状态标识表示录像文件的内容完整。第二上传单元,用于从所述数据库表格中获取状态信息为第二状态标识且创建时间最晚的录像文件,将所述录像文件的状态信息修改为第三状态标识,并将所述录像文件上传至服务器;在上传结束后,将所述录像文件的状态信息修改为第四状态标识,所述第四状态标识表示录像文件已上传。本发明实施例通过在上传录像文件前查询嵌入式数据库,自动删除内容不完整的录像文件以及继续上传上一次未上传完的录像文件,防止了突然掉电导致的录像文件异常或丢失,有效地提升了嵌入式设备系统的安全性。需要说明的是,本发明实施例中的装置可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实例中的相关描述,此处不再赘述。本发明实施例针对录像文件构建了对应的嵌入式数据库,所述嵌入式数据库中包括用于记录录像文件对应的属性信息的数据库表格;通过所述嵌入式数据库管理录像文件;由于嵌入式数据库是使用精简的代码编写的,相对于文件管理系统的代码量少,从而提高了录像文件的可维护性和可扩展性,方便了用户进行查看和修改等操作,有效地提高了对录像文件的管理效率。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的录像文件的管理方法及装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块、单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元、模块单独物理存在,也可以两个或两个以上单元、模块集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1