一种网络存储方法

文档序号:8430890阅读:224来源:国知局
一种网络存储方法
【技术领域】
[0001] 本发明涉及网络存储,特别涉及一种视频数据存储方法。
【背景技术】
[0002] 近年来,随着视频压缩技术的不断发展以及网络带宽的提升,视频监控系统以其 体积小、一体化、可操作性强、可定制、易维护、可接入的特点,受到了安防监控领域的极大 欢迎。除了可以对现场情况进行实时监控,还可以将无人监视时段的前端现场或者突发报 警事件等进行实时视频,供事后进行读取和分析评价。目前已有多种存储体系来支持视频 监控系统。其中DAS适合服务器在地理分布上很分散的状况,将存储设备通过SCSI接口或 光纤通道直接连接到服务器上。SAN将数据块通过光纤通道传输至存储网络,NAS是通过IP 通道将文件进行多协议共享,适用于文件服务器的整合,CAS适用于长时间的完整性保存固 定数据。以上各种架构均对视频监控提供了较好的系统支持,然而视频存储的稳定性和清 晰度是监控质量的重要保证,目前视频监控系统的存储通常具有以下不足:编码格式较为 固定;传统文件系统采用基于多级指针的数据存储模式,在存储帧数据时具有I/O操作量 大和易产生存储碎片等问题,从而导致视频存储效率低和检索性能差,成为系统性能及规 模提升的瓶颈。

【发明内容】

[0003] 为解决上述现有技术所存在的问题,本发明提出了一种网络存储方法,包括:
[0004] 在存储设备中建立全局块、一级索引区和数据区,将视频数据直接存储在存储设 备中,所述全局块在存储设备格式化时写入,记录系统的全局存储管理信息,该全局存储管 理信息包括创建时间、数据块大小、一级索引树的根节点位置和分段时长,所述一级索引区 由一组索引节点组成,所有节点按索引树结构进行组织,索引树节点由多个一级索引信息 组成,每个一级索引代表一个视频片段,一级索引中记录了视频片段的码流类型、起始存储 位置、视频片段开始时间和结束时间等信息,所述数据区以定长数据块的形式存储视频数 据;
[0005] 设置帧缓存和索引缓存,在视频存储时,将帧数据及其索引信息先保存在帧缓存 和索引缓存中,当缓存区被写满时,采用先数据、后索引的顺序将缓存中的数据一次性写入 存储设备,并采用索引树对视频信息进行组织管理,同时对索引树中相应的视频片段信息 节点进行更新。
[0006] 优选地,该方法还包括,当在存储视频时,包括以下步骤:
[0007] 步骤1. 1 :将帧数据按块对齐写入数据区;
[0008] 步骤1. 2 :写入对应的次级索引;
[0009] 步骤1. 3 :更新对应视频片段的一级索引;
[0010] 步骤1. 4 :更新全局块信息;
[0011] 当从所述存储设备中读取视频时,包括以下步骤:
[0012] 步骤2. 1 :检索索引树获取视频片段的一级索引;
[0013] 步骤2.2 :通过一级索引定位出视频片段的次级索引区间;
[0014] 步骤2. 3 :根据次级索引找出视频片段的帧数据存储块区间;
[0015] 步骤2. 4 :读出视频片段的帧数据。
[0016] 优选地,在所述索引树中,每个关键字对应一个指向子节点的指针,叶节点包含了 树中全部关键字信息,索引树组织所有一级索引信息,其根节点位置记录在全局块中,并以 视频片段的开始时间作为索引键值,所有一级索引信息均可从叶子节点中获取,以提供视 频检索;
[0017] 树中的每个节点由以下部分组成,包括keyNum,用于记录节点中的实际一级索引 数量;main_index和child_pointer,分别用于保存一级索引信息及其对应的子节点指针; 在检索开始时,先从全局块中获取索引树的根节点位置,通过遍历关键字找出一条从根节 点到叶节点的符合检索时间条件的检索路径,通过一级索引定位至次级索引实现帧数据的 检索,得到相应的视频片段。
[0018] 优选地,所述帧缓存用于缓存帧数据,索引缓存用于缓存视频对应的索引信息,帧 缓存组建完成后一次性写入存储设备,所述视频的一帧由一个I帧与多个P帧组成,在每帧 前后各添加一个2字节大小的标志位MH和MT,用于数据校验和实现视频帧的单独提取;
[0019] 所述帧缓存由帧头、帧数据和标志位MH和MT组成,在内存中组建的帧缓存大小为 块大小的整数倍,其计算方法如下:
[0020]
【主权项】
1. 一种网络存储方法,其特征在于,包括: 在存储设备中建立全局块、一级索引区和数据区,将视频数据直接存储在存储设备中, 所述全局块在存储设备格式化时写入,记录系统的全局存储管理信息,该全局存储管理信 息包括创建时间、数据块大小、一级索引树的根节点位置和分段时长,所述一级索引区由一 组索引节点组成,所有节点按索引树结构进行组织,索引树节点由多个一级索引信息组成, 每个一级索引代表一个视频片段,一级索引中记录了视频片段的码流类型、起始存储位置、 视频片段开始时间和结束时间等信息,所述数据区以定长数据块的形式存储视频数据; 设置帧缓存和索引缓存,在视频存储时,将帧数据及其索引信息先保存在帧缓存和索 引缓存中,当缓存区被写满时,采用先数据、后索引的顺序将缓存中的数据一次性写入存储 设备,并采用索引树对视频信息进行组织管理,同时对索引树中相应的视频片段信息节点 进行更新。
2. 根据权利要求1所述的方法,其特征在于,该方法还包括,当在存储视频时,包括以 下步骤: 步骤1. 1 :将帧数据按块对齐写入数据区; 步骤1. 2 :写入对应的次级索引; 步骤1. 3 :更新对应视频片段的一级索引; 步骤1. 4 :更新全局块信息; 当从所述存储设备中读取视频时,包括以下步骤: 步骤2. 1 :检索索引树获取视频片段的一级索引; 步骤2. 2 :通过一级索引定位出视频片段的次级索引区间; 步骤2. 3 :根据次级索引找出视频片段的帧数据存储块区间; 步骤2. 4 :读出视频片段的帧数据。
3. 根据权利要求2所述的方法,其特征在于,在所述索引树中,每个关键字对应一个指 向子节点的指针,叶节点包含了树中全部关键字信息,索引树组织所有一级索引信息,其根 节点位置记录在全局块中,并以视频片段的开始时间作为索引键值,所有一级索引信息均 可从叶子节点中获取,以提供视频检索; 树中的每个节点由以下部分组成,包括keyNum,用于记录节点中的实际一级索引数量; main_index和child_pointer,分别用于保存一级索引信息及其对应的子节点指针;在检 索开始时,先从全局块中获取索引树的根节点位置,通过遍历关键字找出一条从根节点到 叶节点的符合检索时间条件的检索路径,通过一级索引定位至次级索引实现帧数据的检 索,得到相应的视频片段。
4. 根据权利要求3所述的方法,其特征在于,所述帧缓存用于缓存帧数据,索引缓存用 于缓存视频对应的索引信息,帧缓存组建完成后一次性写入存储设备,所述视频的一帧由 一个I帧与多个P帧组成,在每帧前后各添加一个2字节大小的标志位MH和MT,用于数据 校验和实现视频帧的单独提取; 所述帧缓存由帧头、帧数据和标志位MH和MT组成,在内存中组建的帧缓存大小为块大 小的整数倍,其计算方法如下:
其中,BR为视频码率;ML为标志位长度;HS为视频帧头部大小;FR为帧率;BS为存储 设备中数据单元的大小。
【专利摘要】本发明提供了一种网络存储方法,该方法包括:在存储设备中建立全局块、一级索引区和数据区,将视频数据直接存储在存储设备中;设置帧缓存和索引缓存,在视频存储时,将帧数据及其索引信息先保存在帧缓存和索引缓存中,并采用索引树对视频信息进行组织管理。本发明提出了一种基于网络的存储方法,在较高的数据量下实现了稳定存储以及快速准确的检索,具有实用性和可靠性。
【IPC分类】G06F17-30, G06F12-08
【公开号】CN104750859
【申请号】CN201510180766
【发明人】徐宇
【申请人】成都影泰科技有限公司
【公开日】2015年7月1日
【申请日】2015年4月16日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1