一种车载监控数据检索方法及系统与流程

文档序号:16390524发布日期:2018-12-22 11:26阅读:241来源:国知局
一种车载监控数据检索方法及系统与流程

本发明涉及车载监控领域,特别涉及一种车载监控数据检索方法及系统。

背景技术

随着汽车电子设备的不断发展,出于车辆安全和便于车辆事故后责任划分的目的,车上的监控设备和传感器设备正在不断的增加。现如今车载设备主要的监控数据有:车载摄像头的音频数据和视频数据,车辆碰撞信息,车辆异常报警信息,车辆位置信息等。由于车载监控数据都存储在sd卡、硬盘等存储设备中,随着时间的不断增加,存储设备中的监控数据也在不断的增加。对于大容量的存储设备,如何快速而又准确地检索到用户所需要的监控数据已成为一个亟待解决的问题。

传统的车载监控数据检索方法是将每个数据文件信息写入检索表或者是在每次设备启动时将存储的数据文件信息建立数据结构来存储,该检索方法是以文件为单位来进行检索,该方法只能检索到文件,最后用户还需要遍历该文件以找到符合条件的数据,这样的检索方法检索精度不高同时检索速度也慢。



技术实现要素:

本发明的目的在于提供一种能够快速进行车载监控数据检索的方法。旨在解决车载监控数据检索速度慢检索精度不高的问题。

本发明为了解决现有技术中存在的问题,提供了一种车载监控数据检索方法。

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

一种车载监控数据检索方法,包括如下步骤:

a,对每个分区预分配固定大小的监控数据存储文件、索引文件及备份索引文件,并在索引文件及备份索引文件中建立磁盘信息表、监控数据存储文件索引表及图像组索引表;

b,根据索引文件中的相关索引表建立链表;

c,以图像组写监控数据存储文件的同时更新监控数据存储文件索引表及图像组索引表;

d,获取用户检索指令并提取检索关键词;

e,根据检索关键词遍历链表,检索出符合要求的链表节点;

f,根据检索得到的链表节点依次对监控数据存储文件索引表进行检索,检索出符合要求的监控数据存储文件索引表元组中的离散时间段表的元组;

g,根据检索得到的监控数据存储文件索引表元组中的离散时间段表的元组信息,对图像组索引文件进行依次检索,并返回检索结果,如果需要则根据返回的检索结果导出对应的监控数据。

具体的,所述步骤a具体包括:

a1,将分区预分配固定大小的监控数据存储文件、索引文件及备份索引文件,其索引文件中包含磁盘信息表、图像组索引表、监控数据存储文件索引表,磁盘信息表信息包括:预分配的监控数据存储文件个数(预分配时确定)、覆盖状态、分区大小、报警数据大小、已经写入的监控数据大小等信息。监控数据存储文件索引表的元组包含的信息有:监控数据存储文件索引表中元组索引号(预分配时确定)、该元组对应的开始的图像组索引表的元组索引号(预分配时确定)、监控数据存储文件索引表元组占用的图像组索引表中元组的数量(预分配时确定)、文件异常写入的离散时间段表等,所谓离散时间段就是由于异常而造成写文件不连续写入,每个离散时间段表的元组为一个数据文件连续写入的信息。其中监控数据存储文件索引表元组中对应开始的图像组索引表中元组索引号;

计算公式为:

ge=n*h,(其中ge为监控数据存储文件索引表元组中对应开始的图像组索引表中元组索引号,n为监控数据存储文件索引表中元组索引号,h为监控数据存储文件索引表元组占用的图像组索引表中元组的数量);

图像组索引表以图像组信息为一个元组,图像组索引表的元组信息包含:图像组索引表中元组索引号(预分配时确定)、图像组写入监控数据存储文件的偏移地址、图像组的大小、报警类型、经纬度、车速、通道号等信息。监控数据存储文件索引表的元组索引号依次与预分配的监控数据文件序列号映射。

具体的,其中,所述步骤b具体包括:

b1,以监控数据存储文件索引表的元组信息及有效的离散信息为依据建立链表节点,根据公式

(s为建立的链表节点数,sum为磁盘文件数,i为有效的离散时间段个数,i最小为1,最大为6);

计算需要建立的链表节点个数。链表节点信息包含:磁盘号、分区号、监控数据存储文件索引表元组索引号、离散时间段表元组索引号等。

具体的,所述步骤c具体包括:

c1,获取摄像头帧数据以关键帧为开始组成一个图像组。

c2,将组好的图像组数据写入监控数据文件,并更新索引文件相关信息。

具体的,所述步骤f具体包括:

f1,根据链表节点中的磁盘号分区号确定索引文件的绝对路径

f2,根据公式f1(na)=nb+na*ns(na监控数据存储文件索引表中元组的索引号,nb是监控数据存储文件索引表在索引文件中的偏移基地址,ns是监控数据存储文件索引索表中元组的大小)确定监控数据存储文件对应的元组在文件中的偏移地址。读取监控数据存储文件对应的元组,根据公式f2(kh)=ck+kh*cs(kh离散时间段表元组索引号,ck离散时间段表相对于监控数据存储文件索引表元组位置,cs离散时间段表元组的大小)获取离散时间段元组信息,离散时间段元组信息包含:该离散时间段元组对应开始的图像组索引表的元组索引号、该离散时间段总共的图像组索引表中元组的个数、该离散时间段的开始时间及结束时间等信息。

具体的,所述步骤g具体包括:

g1,根据公式f3(gb)=gb+gb*gs(gb为图像组索引表在索引文件中的偏移地址,gs为每个图像组索引表中元组的大小)确定图像组索引表的元组,读取检索到的图像组索引表的元组。

g2,根据检索关键字依次对获取到的图像组索引表的元组进行遍历,获取符合条件的图像组并返回。

一种车载监控数据检索系统,包括:

磁盘管理模块,用于实时监视磁盘状态对磁盘进行分区及文件的预分配;索引管理模块,建立链表并维护索引文件;

监控数据处理模块,用于从摄像头获取监控数据,将监控数据编码获取的码流以图像组为单位写入预先分陪的监控数据存储文件中;

服务端通信模块,用于与服务段保持实时通信;

消息处理模块,用于本进程与其他进程的通信;

gps定位模块,用于实时定位车辆的具体位置;

监控数据检索模块,用来检索监控数据并导出检索到的监控数据;

具体的,所述磁盘管理模块具体包括:

分区单元,根据磁盘物理大小将磁盘分成多个分区;

格式化单元,根据分区物理大小预分配监控数据存储文件、索引文件及备份索引文件。

具体的,所述索引管理模块具体包括:

监控数据存储文件获取单元,用来从链表中获取可写的文件;

更新单元,用来每写一组图像组到监控数据文件时更新链表及索引文件;

索引文件管理单元,用来读写索引文件,主要是对索引文件中表的操作;

链表管理单元,用来建立链表,删除链表节点,增加链表节点,更新链表节点,遍历链表,获取监控数据将要存储的文件名。

具体的,所述监控数据处理模块具体包括:

监控数据编码单元,将从摄像头获得的数据进行编码,将编码的数据写入队列;

监控数据存储单元,将队列中的数据取出组成一个图像组并加入头信息写入文件;

监控数据导出单元,根据导出条件及每次写入图像组的头信息导出所需的监控数据到新文件中。

具体的,所述服务端通信模块具体包括:

数据接收单元,用与读取服务端下发的指令;

数据发送单元,用于向服务器发送设备信息、保持心跳、返回服务端下发指令的操作结果等。

具体的,所述监控数据检索模块具体包括:

监控数据检索单元,用来根据检索条件遍历链表;根据遍历链表得到的链表节点依次读取相应索引文件中的监控数据存储文件索引表的元组;根据链表节点信息获取读取到的监控数据存储文件索引表的元组中的离散时间段;根据获取的离散时间段依次读取离散时间段所对应的图像组表的元组;根据检索条件遍历图像组表中的读取的元组,并将检索结果返回。

本发明的有益效果:能够通过索引表准确的定位到每一包数据的位置;能够通过索引表快速的定位到需要检索的数据

附图说明

下面结合附图对本发明的具体实施方式作进一步详细说明。

图1是监控数据检索流程图;

图2是车载监控数据检索系统图;

图3是文件在写入时产生的离散时间段示意图;

图4是分区中文件结构示意图;

图5是索引文件结构示意图;

图6是分区信息表示意图;

图7是监控数据存储文件索引表结构示意图;

图8是监控数据存储文件索引表中元组信息示意图;

图9是离散时间段表结构示意图;

图10是离散时间段表中元组信息示意图;

图11是图像组表的结构示意图;

图12是图像组表中元组信息示意图;

图13是漏斗型检索示意图;

图14是监控数据检索流向示意图。

具体实施方式

为了使本发明解决的技术问题、采用的技术方案、取得的技术效果易于理解,下面结合具体的附图,对本发明的具体实施方式做进一步说明。

请参阅图1,图1为本发明的一种车载监控数据检索方法较佳实例的流程图,图13为漏斗型检索原理示意图,图14为检索流向图,在图14中链表节点是根据time来从小到大排序的。

通过图1、图13及图14能够更好的理解本发明的车载监控数据检索方法,其步骤包括:

s10对每个分区预分配固定大小的监控数据存储文件、索引文件及备份索引文件,并在索引文件及备份索引文件中建立磁盘信息表、监控数据存储文件索引表及图像组索引表。

s20根据索引文件中的相关索引表建立链表。

s30以图像组写监控数据存储文件的同时更新监控数据存储文件索引表及图像组索引表;

s40获取用户检索指令并提取检索关键词。

s50检索出符合要求的链表节点。

s60根据检索得到的链表节点依次对监控数据存储文件索引表进行检索,检索出符合要求的监控数据存储文件索引表元组中的离散时间段表的元组。

s70根据检索得到的监控数据存储文件索引表元组中的离散时间段表的元组信息,对图像组索引文件进行依次检索,并返回检索结果,如果需要则根据返回的检索结果导出对应的监控数据。

首先,在本发明所述步骤s10中,所述对每个分区预分配固定大小的监控数据存储文件、索引文件及备份索引文件,并在索引文件及备份索引文件中建立磁盘信息表、监控数据存储文件索引表及图像组索引表,具体包括:

s11将分区预分配固定大小的监控数据存储文件、索引文件及备份索引文件,其索引文件中包含磁盘信息表、图像组索引表、监控数据存储文件索引表,磁盘信息表信息包括:预分配的监控数据存储文件个数、覆盖状态、分区大小、报警数据大小、已经写入的监控数据大小等信息。监控数据存储文件索引表的元组索引号依次与预分配的监控数据文件序列号映射,监控数据存储文件索引表的元组包含的信息有:监控数据存储文件索引表中元组索引号(预分配时确定)、该元组对应的开始的图像组索引表的元组索引号(预分配时确定)、监控数据存储文件索引表元组占用的图像组索引表中元组的数量(预分配时确定)、文件异常写入的离散时间段表等,所谓离散时间段就是由于异常而造成写文件不连续写入,每个离散时间段表的元组为一个数据文件连续写入的信息。其中监控数据存储文件索引表元组中对应开始的图像组索引表中元组索引号计算公式为:ge=n*h,(其中ge为监控数据存储文件索引表元组中对应开始的图像组索引表中元组索引号,n为监控数据存储文件索引表中元组索引号,h为监控数据存储文件索引表元组占用的图像组索引表中元组的数量),图像组索引表以图像组信息为一个元组,图像组索引表的元组信息包含:图像组索引表中元组索引号(预分配时确定)、图像组写入监控数据存储文件的偏移地址、图像组的大小、图像组的编码的开始时间、报警类型、经纬度、车速、通道号等信息。接入一个磁盘,这个磁盘分为1个分区,将分区1进行预分配文件,其分区1预分配文件后的示意图如图4所示,在索引文件中建立磁盘信息表、监控数据存储文件索引表、图像组索引表后的索引文件的结构如图5所示,磁盘信息表如图6所示,监控数据存储文件索引表如图7所示,监控数据存储文件索引表元组如图8所示,在监控数据存储文件索引表元组中的离散时间段索引表如图9所示,离散时间段索引表元组信息如图10所示,图像组索引表如图11所示,图像组索引表中元组信息如图12所示。

具体的,所述步骤s20根据索引文件中的相关索引表建立链表具体包括:

s21以监控数据存储文件索引表的元组信息及有效的离散信息为依据建立链表节点,根据公式(s为建立的链表节点数,sum为磁盘文件数,i为有效的离散时间个数,i最小为1,最大为6)计算需要建立的链表节点个数。链表节点信息包含:磁盘号、分区号、监控数据存储文件索引表元组索引号、离散时间段表元组索引号、离散时间段的开始时间及结束时间,其建立的链表如图14所示。

具体的,所述步骤s30以图像组写文件的同时更新监控数据存储文件索引表及图像组索引表具体包括:

s31获取摄像头帧数据以关键帧为开始组成一个图像组。例如关键帧的编码时间为2018年6月10号9点32分43秒,将这个关键帧后的非关键帧组成一个图像组,依次每出现一个关键帧及其后的非关键帧组成图像组;

s32将组好的图像组数据写入监控数据文件,并更新索引文件及链表的相关信息。例如格式化完首次写,分别在2018年6月10号9点32分43秒到2018年6月10号9点32分44秒和2018年6月10号12点1分3秒到2018年6月10号12点1分7秒两个时间段写如第一个文件,其更新后的监控数据存储文件索引表的第一个元组信息如表1,离散时间段表信息如表2,更新后的元组索引表的元组如表3,更新后的链表节点信息如表4。

表1监控数据存储文件索引表元组信息

表2离散时间段表信息

表3更新后的图像组索引表的元组

表4链表节点中更新后的两个链表节点

具体的,所述步骤s40,获取用户检索指令,从用户指令中提取检索的关键词,例如提取的关键词有视频的开始时间:2018年6月10号12点1分5秒,结束时间:2018年6月10号12点1分6秒,通道号:1,报警类型:无。

具体的,所述步骤s50,检索出符合要求的链表节点,根据所述步骤s40获取用户指令后提取的关键词开始时间:2018年6月10号12点1分5秒,结束时间:2018年6月10号12点1分6秒,可检索出符合要求的链表节点只有一个,这个链表的节点信息如表5。

表5检索后得到的链表节点

具体的,所述步骤s60,根据检索得到的链表节点依次对监控数据存储文件索引表进行检索,检索出符合要求的监控数据存储文件元组中的离散时间段表的元组具体包括:

s61根据链表节点中的磁盘号分区号确定索引文件的绝对路径。根据根据所述步骤s50检索出的链表节点,可以根据磁盘号分区号确定索引文件的绝对路径,例如根据磁盘号1及分区号1确定磁盘分区的路径为/mnt/sda1/s62根据公式f1(na)=nb+na*ns(na监控数据存储文件索引表中元组的索引号,nb是监控数据存储文件索引表在索引文件中的偏移基地址,ns是监控数据存储文件索引索表中元组的大小)确定监控数据存储文件对应的元组在索引文件中的偏移地址。读取监控数据存储文件对应的元组,根据公式f2(kh)=ck+kh*cs(kh离散时间段表元组索引号,ck离散时间段表相对于监控数据存储文件索引表元组位置,cs离散时间段表元组的大小)获取离散时间段元组信息,离散时间段元组信息包含:该离散时间段元组对应开始的图像组索引表的元组索引号、该离散时间段总共的图像组索引表中元组的个数、该离散时间段的开始时间及结束时间等信息。

具体的,如所述步骤s50检索出符合的链表节点表2信息及索引文件路径,打开索引文件,根据公式f1(na)=nb+na*ns可以获取监控数据存储文件索引表元组信息如表1,通过获取监控数据存储文件索引表元组信息及根据公式f2(kh)=ck+kh*cs可获得符合要求的离散时间段为离散时间段索引表中的第二个元组。

具体的,所述步骤s70根据检索得到的监控数据存储文件索引元组中的离散时间段表的元组,对图像组索引文件进行依次检索,并返回检索结果。具体包括:

s71根据公式f3(gb)=gb+gb*gs(gb为图像组索引表在索引文件中的偏移地址,gs为每个图像组索引表中元组的大小)确定图像组索引表的元组,读取检索到的图像组索引表的元组。

具体的,根据所述步骤s60根据检索得到的链表节点依次对监控数据存储文件索引表进行检索,检索出符合要求的监控数据存储文件元组中的离散时间段表的元组信息及公式f3(gb)=gb+gb*gs,可确定基本符合要求的图像组元组为图像组索引表中元组索引号为3到6的元组。

s72根据检索关键字依次对获取到的图像组索引表的元组进行遍历,获取符合条件的图像组并返回。

具体的,根据s71检索到的图像组索引表中元组索引号为3到6的元组,再通过获取到的关键词进行检索,可以确定符合要求的图像组元组的索引号为5和6的元组,并将返回的结果返回。

基于以上方法,本发明还提供一种车载监控数据检索系统,如图2所示,包括:

磁盘管理模块100,用于实时监视磁盘状态对磁盘进行分区及文件的预分配等。

索引管理模块200,建立链表并维护索引文件等。

监控数据处理模块300,用于从摄像头获取监控数据,将监控数据编码获取的码流以图像组为单位写入预先分陪的监控数据存储文件中。

服务端通信模块400,用于与服务段保持实时通信。

消息处理模块500,用于本进程与其他进程的通信。

gps定位模块600,用于实时定位车辆的具体位置。

监控数据检索模块700,用来检索监控数据并导出检索到的监控数据。

具体的,所述的车载监控数据检索系统,其中,所述磁盘管理模块100具体包括:

分区单元,根据磁盘物理大小将磁盘分成多个分区;

格式化单元,根据分区物理大小预分配监控数据存储文件、索引文件及备份索引文件。

具体的,所述的车载监控数据检索系统,其中,所述索引管理模块200具体包括:

监控数据存储文件获取单元,用来从链表中获取可写的文件,

更新单元,用来每写一组图像组到监控数据文件时更新链表及索引文件;

索引文件管理单元,用来读写索引文件,主要是对索引文件中表的操作;

链表管理单元,用来建立链表,删除链表节点,增加链表节点,更新链表节点,遍历链表,获取监控数据将要存储的文件名。

具体的,所述的车载监控数据检索系统,其中,所述监控数据处理模块300具体包括:

监控数据编码单元,将从摄像头获得的数据进行编码,将编码的数据写入队列,

监控数据存储单元,将队列中的数据取出组成一个图像组并加入头信息写入文件,

监控数据导出单元,根据导出条件及每次写入图像组的头信息导出所需的监控数据到新文件中。

具体的,所述的车载监控数据检索系统,其中,所述服务端通信模块400具体包括:

数据接收单元,用与读取服务端下发的指令;

数据发送单元,用于向服务器发送设备信息、保持心跳、返回服务端下发指令的操作结果。

具体的,所述的车载监控数据检索系统,其中,所述监控数据检索模块700具体包括:

监控数据检索单元,用来根据检索条件遍历链表;根据遍历链表得到的链表节点依次读取相应索引文件中的监控数据存储文件索引表的元组;根据链表节点信息获取读取到的监控数据存储文件索引表的元组中的离散时间段;根据获取的离散时间段依次读取离散时间段所对应的图像组表的元组;根据检索条件遍历图像组表中的读取的元组,并将检索结果返回。

最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1