用于公交车载硬盘的音视频数据存取方法与流程

文档序号:14057102阅读:335来源:国知局
用于公交车载硬盘的音视频数据存取方法与流程

本发明涉及硬盘数据存取领域,具体的说,涉及了一种用于公交车载硬盘的音视频数据存取方法。



背景技术:

公交车载硬盘的音视频数据存取异常现象通常包括的有:设备上电后,ui主界面长时间显示“硬盘挂载中”提示信息且不消失,ui主界面的“录像图标”没有显示;设备运行过程中,ui主界面的“录像图标”消失,同时视频界面的“录像标识”消失;设备运行过程中,ui主界面的“录像图标”和视频界面的“录像标识”都显示正常,查看进程的状态,并没有已打开的录像文件:即没有录像;设备运行过程中,打开并拔出硬盘盒,再次插入硬盘盒时,通过查看挂载状态,硬盘不会挂载;查看硬盘盒中的录像数据,录像时长与硬盘上电时长不一致:即实际硬盘上电工作时长大于录像时长;查看硬盘盒中的录像文件索引,文件索引出现乱码情况。导致上述音视频数据存取异常现象一般有结构方面的原因,如尺寸不匹配、安装不正确、结构材料处理不合格,也有硬件方面的原因,如sata线松动等,最主要是软件方面的原因,如设备节点异常、温度电容检测异常、索引记录异常等。因此,需提供一种音视频数据存取方法,对搜索和索引记录进行优化,保证数据的正确存取。

为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。



技术实现要素:

本发明的目的是针对现有技术的不足,提供一种设计科学、易于实现的用于公交车载硬盘的音视频数据存取方法。

为了实现上述目的,本发明所采用的技术方案是:一种用于公交车载硬盘的音视频数据存取方法,该方法包括:

设置内存,从编码器获取编码后的数据,存储在内存中;从固态硬盘ssd-2levelcach或机械硬盘hdd-storage读取的数据,存放在内存中;

存流程

如果存在固态硬盘ssd-2levelcache,先把数据存储在固态硬盘ssd-2levelcache,然后在满足约束条件的情况下把数据存储到机械硬盘hdd-storage;

如果固态硬盘ssd-2levelcache不存在,则直接把数据存储到机械硬盘hdd-storage;

取流程

如果固态硬盘ssd-2levelcach不存在,直接从机械硬盘hdd-storage读取数据;

如果固态硬盘ssd-2levelcach存在,但该固态硬盘ssd-2levelcache上的数据已同步到机械硬盘hdd-storage介质,则从机械硬盘hdd-storage读取数据;

如果固态硬盘ssd-2levelcach存在,但该固态硬盘ssd-2levelcache上的数据未同步到机械硬盘hdd-storage介质,则从固态硬盘ssd-2levelcache读取数据。

基于上述,所述内存的存取为用于快速存储和读取编码后的视音频数据的一级缓存;

所述固态硬盘ssd-2levelcache的存取为用于触发释放和触发分配一级缓存的二级缓存,所述二级缓存,在机械硬盘hdd-storage无法正常存储数据时,先把从一级缓存中获取的数据,暂时存储于二级缓存中,等待数据存储正常时,再把二级缓存中的数据转存至机械硬盘hdd-storage。

基于上述,所述二级缓存采用的存取机制为:固态硬盘ssd-2levelcache的文件系统使用fat,提前生成固定大小的用于存取数据的数据文件和用于索引数据文件的索引文件,将数据文件和索引文件存在设备文件的mount和umount操作;

其中,根据实际需求按照顺序生成需求大小的数据文件,每一个数据文件存储一个通道的数据文件;

所述索引文件,记录是否固态硬盘ssd-2levelcache存储的数据都同步到机械硬盘hdd-storage上;记录用于搜索对应数据文件的数据文件项,其中,每一个索引项,记录一个通道的启停时间和数据文件。

基于上述,所述二级缓存采用的存取机制为:固态硬盘ssd-2levelcache的文件系统使用fat,提前生成固定大小的用于存取数据的数据文件和用于索引数据文件的索引文件,将数据文件和索引文件存在设备文件的mount和umount操作;

其中,根据实际需求按照顺序生成需求大小的数据文件,每一个数据文件存储所有通道的数据文件;

所述索引文件,记录是否固态硬盘ssd-2levelcache存储的数据都同步到机械硬盘hdd-storage上;记录用于搜索对应数据文件的数据文件项,其中,每一个索引项,记录一个通道的一段连续时间的数据。

基于上述,所述二级缓存采用的存取机制为:在固态硬盘ssd-2levelcache中设置用于记录数据索引项的数据索引区域,用于循环存储音视频数据的数据文件区域,数据索引项中记录是否固态硬盘ssd-2levelcache存储的数据都同步到机械硬盘hdd-storage上。

基于上述,所述索引文件中的索引项为第一级索引,所述数据文件包括音视频数据和i/p帧的索引,所述i/p帧的索引为第二级索引,所述数据文件和所述索引文件采用循环存储方式存储于逻辑分区,当分区都满时,覆盖最早的分区,当存在坏逻辑分区时,跳过当前分区。

本发明相对现有技术具有突出的实质性特点和显著进步,具体的说,本发明采用二级缓存的形式,通过把一级缓存(当二级缓存不存在)或二级缓存中的音视频数据存储到机械硬盘hdd-storage中,读取时,把机械硬盘hdd-storage的内容读取至内存中,避免了数据丢失的情况。

附图说明

图1是本发明的存储数据的数据流图。

图2是本发明的读取数据的数据流图。

图3是本发明中二级缓存采用的存取机制一的索引文件和数据文件关系图。

图4是本发明中二级缓存采用的存取机制二的索引文件和数据文件关系图。

图5是本发明中二级缓存采用的存取机制一的索引文件和数据文件关系图。

图6是本发明的文件循环存储图-无坏区域。

图7是本发明的文件循环存储图-有坏区域。

具体实施方式

下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。

如图1和图2所示,一种用于公交车载硬盘的音视频数据存取方法,该方法包括:

设置内存,从编码器获取编码后的数据,存储在内存中;从固态硬盘ssd-2levelcach或机械硬盘hdd-storage读取的数据,存放在内存中。

存流程

如果存在固态硬盘ssd-2levelcache,先把数据存储在固态硬盘ssd-2levelcache,然后在满足约束条件的情况下把数据存储到机械硬盘hdd-storage;

如果固态硬盘ssd-2levelcache不存在,则直接把数据存储到机械硬盘hdd-storage;

其中,数据存储约束条件可以如下表所示设定。

取流程

如果固态硬盘ssd-2levelcach不存在,直接从机械硬盘hdd-storage读取数据;

如果固态硬盘ssd-2levelcach存在,但该固态硬盘ssd-2levelcache上的数据已同步到机械硬盘hdd-storage介质,则从机械硬盘hdd-storage读取数据;

如果固态硬盘ssd-2levelcach存在,但该固态硬盘ssd-2levelcache上的数据未同步到机械硬盘hdd-storage介质,则从固态硬盘ssd-2levelcache读取数据。

其中,所述内存的存取为用于快速存储和读取编码后的视音频数据的一级缓存;所述固态硬盘ssd-2levelcache的存取为用于触发释放和触发分配一级缓存的二级缓存,所述二级缓存,在机械硬盘hdd-storage无法正常存储数据时,先把从一级缓存中获取的数据,暂时存储于二级缓存中,等待数据存储正常时,再把二级缓存中的数据转存至机械硬盘hdd-storage。采用二级缓存,防止在机械硬盘存储条件比较苛刻时,存储数据所导致的盘面损坏或数据丢失;防止机械硬盘无法正常工作时,导致数据不能存储;防止数据丢失而导致的不一致性。

具体的,如图3所示,所述二级缓存采用的存取机制为:固态硬盘ssd-2levelcache的文件系统使用fat,提前生成固定大小的用于存取数据的数据文件和用于索引数据文件的索引文件,将数据文件和索引文件存在设备文件的mount和umount操作;

其中,根据实际需求按照顺序生成需求大小的数据文件,每一个数据文件存储一个通道的数据文件;

所述索引文件,记录是否固态硬盘ssd-2levelcache存储的数据都同步到机械硬盘hdd-storage上,用于搜索数据时,判断是否要在固态硬盘ssd-2levelcache上搜索;还用于同步数据时,判断是否要把固态硬盘ssd-2levelcache上未同步的数据,同步至机械硬盘hdd-storage上;记录用于搜索对应数据文件的数据文件项,其中,每一个索引项,记录一个通道的启停时间和数据文件。

如图4所示,所述二级缓存也可以采用如下的存取机制:固态硬盘ssd-2levelcache的文件系统使用fat,提前生成固定大小的用于存取数据的数据文件和用于索引数据文件的索引文件,将数据文件和索引文件存在设备文件的mount和umount操作;

其中,根据实际需求按照顺序生成需求大小的数据文件,每一个数据文件存储所有通道的数据文件;

所述索引文件,记录是否固态硬盘ssd-2levelcache存储的数据都同步到机械硬盘hdd-storage上,用于搜索数据时,判断是否要在固态硬盘ssd-2levelcache上搜索;还用于同步数据时,判断是否要把固态硬盘ssd-2levelcache上未同步的数据,同步至机械硬盘hdd-storage上;记录用于搜索对应数据文件的数据文件项,其中,每一个索引项,记录一个通道的一段连续时间的数据。

如图5所示,所述二级缓存还可以采用如下的存取机制:在固态硬盘ssd-2levelcache中设置用于记录数据索引项的数据索引区域,用于循环存储音视频数据的数据文件区域,数据索引项中记录是否固态硬盘ssd-2levelcache存储的数据都同步到机械硬盘hdd-storage上,用于搜索数据时,判断是否要在固态硬盘ssd-2levelcache上搜索;还用于同步数据时,判断是否要把固态硬盘ssd-2levelcache上未同步的数据,同步至机械硬盘hdd-storage上。该存储机制,不使用文件系统,直接操作设备文件,不需要mount和umount动作,所有的索引在内存中管理,但是要保证内存和固态硬盘ssd-2levelcache中的索引的一致性。

如图6和图7所示,本发明方法中,使用fat文件系统时,所述索引文件中的索引项为第一级索引,所述数据文件包括音视频数据和i/p帧的索引,所述i/p帧的索引为第二级索引,所述数据文件和所述索引文件采用循环存储方式存储于逻辑分区,当分区都满时,覆盖最早的分区,当存在坏逻辑分区时,跳过当前分区。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

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