CN115202581A - 一种视频流数据的存储方法、装置以及介质 - Google Patents

一种视频流数据的存储方法、装置以及介质 Download PDF

Info

Publication number
CN115202581A
CN115202581A CN202210900712.3A CN202210900712A CN115202581A CN 115202581 A CN115202581 A CN 115202581A CN 202210900712 A CN202210900712 A CN 202210900712A CN 115202581 A CN115202581 A CN 115202581A
Authority
CN
China
Prior art keywords
data
block
video stream
file
stream data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210900712.3A
Other languages
English (en)
Inventor
夏华丽
郭军
张志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202210900712.3A priority Critical patent/CN115202581A/zh
Publication of CN115202581A publication Critical patent/CN115202581A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Abstract

本申请公开了一种视频流数据的存储方法、装置以及介质,应用于数据存储领域。该方法包括:将新的视频流数据进行切片得到原始数据条块,再通过纠删算法处理原始数据条块得到冗余数据条块,再将各数据条块均存储在非故障的纠删组的块文件中,并生成块文件的元数据信息以便于根据元数据信息找到对应的数据条块进行读取,即不需要存储在预先确定的存储位置上,可以将数据条块保存在任意的非故障的纠删组中,只需要在存储时生成元数据信息,就可通过元数据信息对数据条块进行读取,从而保证新的视频流数据完整的保存在磁盘中。其中,元数据信息包括块文件标识和数据条块在块文件上的偏移地址,数据条块包括原始数据条块和冗余数据条块。

Description

一种视频流数据的存储方法、装置以及介质
技术领域
本申请涉及数据存储领域,特别是涉及一种视频流数据的存储方法、装置以及介质。
背景技术
随着安防技术的快速发展,安防监控逐渐向着数字化、网络化、智能化的方向演进,随之而来的是海量视频流数据存储压力,传统的单机文件系统在容量大小、容量增长速度、数据备份、数据安全等方面的表现都差强人意,那么就催生出了通过集群应用、网格技术或分布式文件系统等功能,因此对存储设备的容量、读写性能、可靠性、扩展性等都提出了更高的要求。视频流数据均存储在磁盘中,目前,对于视频流数据的存储方式,通常是提前确定出各数据条块的存储位置,然后通过预先确定的位置直接读取对应的数据条块即可。
但是,新的视频流数据又比较重要,需要保存完整的新的视频流数据。而一些磁盘可能会出现故障,若按目前的方式进行存储,确定出的数据条块的存储位置可能存在故障,从而导致这部分磁盘中的视频流数据不可读,无法保证新的视频流数据完整的保存在磁盘中。
由此可见,如何保证新的视频流数据完整的保存在磁盘中,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种视频流数据的存储方法、装置以及介质,以保证新的视频流数据完整的保存在磁盘中。
为解决上述技术问题,本申请提供一种视频流数据的存储方法,包括:
将新的视频流数据进行切片得到原始数据条块;
通过纠删算法处理所述原始数据条块得到冗余数据条块;
将各数据条块均存储在非故障的纠删组的块文件中,并生成所述块文件的元数据信息以便于根据所述元数据信息找到对应的所述数据条块进行读取;其中,所述元数据信息包括块文件标识和所述数据条块在所述块文件上的偏移地址,所述数据条块包括所述原始数据条块和所述冗余数据条块。
优选地,所述将新的视频流数据进行切片得到原始数据条块包括:
将新的所述视频流数据进行切片得到包含完整的GOP数据包的所述原始数据条块。
优选地,所述块文件的存储结构为块文件头信息、多个数据条块头信息和所述数据条块、块文件尾信息;其中,所述块文件头信息包括:块文件大小、版本号、纠删模型、第一个数据条块的时间;所述数据条块头信息包括:数据条块名称、数据条块大小、数据条块时间、数据条块类型。
优选地,所述将各数据条块均存储在非故障纠删组的块文件中包括:
按顺序追加写的方式将各所述数据条块存储在非故障的所述纠删组的所述块文件中。
优选地,所述纠删组由单个存储节点的多个磁盘组成。
优选地,所述纠删组由多个存储节点的磁盘组成。
优选地,所述将新的视频流数据进行切片得到原始数据条块包括:
将新的所述视频流数据进行切片得到包含I帧的GOP数据包的所述原始数据条块。
为解决上述技术问题,本申请还提供一种视频流数据的存储装置,包括:
切片模块,用于将新的视频流数据进行切片得到原始数据条块;
处理模块,用于通过纠删算法处理所述原始数据条块得到冗余数据条块;
生成模块,将各数据条块均存储在非故障的纠删组的块文件中,并生成所述块文件的元数据信息以便于根据所述元数据信息找到对应的所述数据条块进行读取;其中,所述元数据信息包括块文件标识和所述数据条块在所述块文件上的偏移地址,所述数据条块包括所述原始数据条块和所述冗余数据条块。
为解决上述技术问题,本申请还提供一种视频流数据的存储装置,包括:存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述视频流数据的存储方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述视频流数据的存储方法的步骤。
本申请所提供的视频流数据的存储方法,包括:将新的视频流数据进行切片得到原始数据条块,记为N个,再通过纠删算法处理原始数据条块得到冗余数据条块,记为M个,则通过纠删算法一共得到了N+M个数据条块。再将N+M个数据条块均存储在非故障的纠删组的块文件中,并生成块文件的元数据信息以便于根据元数据信息找到对应的数据条块进行读取,即不需要存储在预先确定的存储位置上,可以将数据条块保存在任意的非故障的纠删组中,只需要在存储时生成元数据信息,就可通过元数据信息对数据条块进行读取。其中,元数据信息包括块文件标识和数据条块在块文件上的偏移地址,数据条块包括原始数据条块和冗余数据条块。本申请所提供的方法,通过块文件的元数据信息对数据条块进行定位,可以将数据条块保存在任意的非故障的纠删组中,从而保证新的视频流数据完整的保存在磁盘中。
本申请还提供了一种视频流数据的存储装置和计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种视频流数据的存储方法的流程图;
图2为本申请实施例提供的一种纠删计算的流程示意图;
图3为本申请实施例所提供的一种块文件的存储结构的示意图;
图4为本申请实施例提供的一种纠删组的结构示意图;
图5为本申请实施例提供一种存储系统的逻辑架构示意图;
图6为本申请实施例提供的视频流数据的存储装置的结构图;
图7为本申请另一实施例提供的视频流数据的存储装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种视频流数据的存储方法、装置以及介质,以保证新的视频流数据完整的保存在磁盘中。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
本申请的视频流数据储存在存储系统中,该存储系统由全对称的存储服务器组成,每个存储服务器也可简称为存储节点,在存储节点上,运行着存储节点服务,对于每个存储节点而言,本身又是相对独立的存储子系统,支持存储系统业务的一切接口和特征。存储节点服务提供高度可配置的运行选项,可适配多种需求和环境,存储系统将所有存储节点的硬盘(磁盘)通过多个纠删组整合成一个统一的资源池,对外提供统一命名空间,同时对用户数据提供跨节点、跨机架、跨机房的数据纠删冗余保护。纠删组就是将存储节点的磁盘进行分组,纠删组之间可以独立的设置不同的纠删模型,某个纠删组里的磁盘故障,只对所在纠删组的数据可用性有影响,不会影响到其它纠删组里的数据可用性。
本申请涉及安防监控技术领域,由于在安防监控系统中存在新产生的视频流数据重要性比较高,随着时间的推移视频流数据的重要性会变低的特性,那么保证新产生的视频流数据进行完整的存储就显得至关重要,为了实现新的视频流数据的完整存储,需要保证视频流数据均储存在非故障的磁盘上。图1为本申请实施例提供的一种视频流数据的存储方法的流程图,如图1所示,该方法包括如下步骤:
S10:将新的视频流数据进行切片得到原始数据条块。
该存储系统提到的视频流数据是编码后的画面组(Group of Pictures,GOP)数据包集合,一个GOP就是一组连续的画面,一般是一秒内的画面。GOP的第一个图像必须为I帧,这样就能保证GOP不需要参考其他图像,可以独立解码,而P帧和B帧记录的是相对于I帧的变化,是辅助画面,没有I帧,P帧和B帧就无法解码。所以为了在故障程度超过故障域后能够将读取的原始数据条块有意义的应用(计算或者点播),那么在视频流数据切片的原始数据条块中的GOP数据包必须要包括I帧,为了更好的获取到视频流数据,原始数据条块中还可以包含一个完整的GOP数据包,而原始数据条块的大小可根据视频流的码流大小和帧率进行动态的设置。
S11:通过纠删算法处理原始数据条块得到冗余数据条块。
该存储系统的纠删计算是根据配置的N+M纠删模型,具体可根据N个原始数据条块使用里德-所罗门(Reed-Solomon,RS)算法计算出M个冗余数据条块,并能通过N+M个数据条块中的任意N个数据条块,还原为原始的视频流数据。即如果有任意小于等于M个数据条块失效,仍然能通过剩下的数据条块完整的还原出来,如果大于M个数据条块失效后,则能够读取未失效的原始数据条块并进行有效的应用(计算或者点播)。本申请的存储系统的数据保护机制采用纠删码方式,根据不同的N+M模型设置进行不同程度的数据保护,纠删码是一种数据保护方法,它将原始数据条块分割成固定大小的小数据条块,并将这些小数据条块通过纠删算法计算出指定的冗余数据条块,然后将原始数据条块和冗余数据条块存储在纠删组内不同的磁盘位置上。比如N+M模型设置,其中N为原始数据条块数,M为冗余数据条块数,在此纠删组里故障域是M,也即是最多可允许M块磁盘故障,此时数据仍可被正常访问,当磁盘故障超过故障域(大于M块)时,该纠删组将失效不可用,无法进行数据读写。
图2为本申请实施例提供的一种纠删计算的流程示意图;如图2所示,纠删组的数据保护模式为5+1纠删模型,首先将原始的数据流数据通过切片分为5个原始数据条块,然后根据配置模型进行纠删计算,通过纠删编码计算出1个冗余数据条块,最后将这6个数据条块(5个原始数据条块和一个冗余数据条块)分别存储在纠删组里的6个不同的磁盘上,若一个磁盘出现故障,则该磁盘上的数据条块均不可读。
S12:将各数据条块均存储在非故障的纠删组的块文件中,并生成块文件的元数据信息以便于根据元数据信息找到对应的数据条块进行读取。
其中,元数据信息包括块文件标识和数据条块在块文件上的偏移地址,数据条块包括原始数据条块和冗余数据条块。该存储系统的磁盘是以纠删组的方式进行整合管理,同一个纠删组内,每个磁盘角色是相同的,没有原始数据磁盘和冗余数据磁盘之分,原始数据条块和冗余数据条块的分布也无需指定,一个磁盘上的数据即有原始数据条块也有冗余数据条块。即使纠删组的磁盘故障超过故障域后,也要保证新的视频流数据的所有数据条块(所有的原始数据条块和冗余数据条块)存储在可用的磁盘上。
该存储系统里的磁盘空间资源都构建出多个固定大小的块文件来进行管理,块文件的大小可进行配置,若设置为1G,当某个磁盘的存储空间为1T,那也就是该磁盘上最多有1024个块文件来进行数据条块的存储。块文件可使用1、2、3……1024这样的自加数来进行命名,在整个系统中块文件通过磁盘标识和自加数的组合的字符串来保证块文件的在系统中的唯一性。图3为本申请实施例所提供的一种块文件的存储结构的示意图;如图3所示,块文件开头有固定大小的存储空间来记录块文件头信息,然后依次是数据条块头信息、数据条块、数据条块信息、数据条块、数据条块信息、数据条块······块文件尾信息。其中,块文件头信息包括:块文件大小、版本号、纠删模型、第一个数据条块的时间等信息。数据条块头信息包括:数据条块名称、数据条块大小、数据条块时间、数据条块类型(原始数据条块、冗余数据条块)等信息。通过采用以上的存储结构,在元数据信息丢失的情况下,也可以进行扫描块文件进行元数据信息的构建。在一些实施例中,块文件构建后,块文件自身以及块文件上的数据都不会进行删除操作,往块文件上写数据可以是循环覆盖的顺序追加写入。
该存储系统除了块文件上存储的数据条块外,还需要额外的数据库存储块文件和数据条块的元数据信息。块文件的元数据定义具体可如下所示,以键-值形式体现,键(Key):块文件标识;是由磁盘标识、文件名称(可以是自加数)拼接的字符串。值(Value):块文件大小、版本号、纠删模型、所属通道标识、包含数据条块个数、第一个数据条块的时间、最后一个数据条块的结束偏移地址、状态(空闲、已写满、未写满)。数据条块的元数据定义具体如下,以键-值形式体现,键(Key):数据条块标识。值(Value):数据条块大小、数据条块类型(原始数据条块、冗余数据条块)、所属通道标识、所属块文件标识、数据条块时间(第一帧关键帧时间)、所属块文件的偏移地址。
数据条块写入:在整个块文件的数据条块写入过程中,该块文件以及包含的所有数据条块的元数据信息都在内存中缓存,定时持久化到存储元数据的数据库中,并且块文件上的数据条块写入方式是顺序追加,这样就能保证每次写入时只进行一次IO往块文件上写入数据条块头信息和数据条块,很大程度的提高数据条块的写入性能。数据条块读取:读取任意数据条块时,进行1~2次磁盘IO,先从数据库中读取数据条块的元数据信息(多数情况是读内存缓存),然后根据块文件标识和数据条块在块文件上的偏移地址直接定位到数据条块的位置进行数据条块的读取。
本申请实施例提供的方案符合安防监控系统的使用场景,在系统损坏程度超过故障域后,能够读取正常存储介质上的原始数据条块进行视频计算和点播等应用,也能保证新产生的视频流数据完整存储。
本申请实施例所提供的视频流数据的存储方法,包括:将新的视频流数据进行切片得到原始数据条块,记为N个,再通过纠删算法处理原始数据条块得到冗余数据条块,记为M个,则通过纠删算法一共得到了N+M个数据条块。再将N+M个数据条块均存储在非故障的纠删组的块文件中,并生成块文件的元数据信息以便于根据元数据信息找到对应的数据条块进行读取,即不需要存储在预先确定的存储位置上,可以将数据条块保存在任意的非故障的纠删组中,只需要在存储时生成元数据信息,就可通过元数据信息对数据条块进行读取。其中,元数据信息包括块文件标识和数据条块在块文件上的偏移地址,数据条块包括原始数据条块和冗余数据条块。本申请实施例所提供的方法,通过块文件的元数据信息对数据条块进行定位,可以将数据条块保存在任意的非故障的纠删组中,从而保证新的视频流数据完整的保存在磁盘中。
GOP的第一个图像必须为I帧,这样就能保证GOP不需要参考其他图像,可以独立解码,而P帧和B帧记录的是相对于I帧的变化,是辅助画面,没有I帧,P帧和B帧就无法解码。所以为了在故障程度超过故障域后能够将读取的原始数据条块有意义的应用(计算或者点播),那么为了能够获取视频流数据,在视频流数据切片的原始数据条块中的GOP数据包必须要包括I帧,为了更好的获取到视频流数据,原始数据条块中还可以包含一个完整的GOP数据包,能够保证存储系统的故障程度超过故障域后能够读取非故障存储介质上的历史数据,保证读写业务不中断。
在具体实施中,元数据信息可能存在丢失的情况,为了应对该情况,本申请实施例提供一种解决方案,即提供一种块文件的存储结构,块文件的存储结构为块文件头信息、多个数据条块头信息和数据条块、块文件尾信息;具体结构如图3所示,块文件开头有固定大小的存储空间来记录块文件头信息,然后依次是数据条块头信息、数据条块、数据条块信息、数据条块、数据条块信息、数据条块······块文件尾信息。其中,块文件头信息包括:块文件大小、版本号、纠删模型、第一个数据条块的时间等信息。数据条块头信息包括:数据条块名称、数据条块大小、数据条块时间、数据条块类型(原始数据条块、冗余数据条块)等信息。通过采用以上的存储结构,在元数据信息丢失的情况下,也可以进行扫描块文件进行元数据信息的构建。存储系统里的磁盘空间资源都构建出多个固定大小的块文件来进行管理,块文件的大小可进行配置,若设置为1G,当某个磁盘的存储空间为1T,那也就是该磁盘上最多有1024个块文件来进行数据条块的存储,每个块文件又存储有多个数据条块。块文件可使用1、2、3……1024这样的自加数来进行命名,在整个系统中块文件通过磁盘标识和自加数的组合的字符串来保证块文件的在系统中的唯一性。
在实际应用时,为了提高数据条块的写入性能,将各数据条块均存储在非故障纠删组的块文件中包括:按顺序追加写的方式将各数据条块存储在非故障的纠删组的块文件中。即在数据条块写入时,块文件以及包含的所有数据条块的元数据信息都在内存中缓存,定时持久化到存储元数据的数据库中,并且块文件上的数据条块写入方式是顺序追加,这样就能保证每次写入时只进行一次输入/输出(Input/Output,IO)往块文件上写入数据条块头信息和数据条块,很大程度的提高数据条块的写入性能。
纠删组就是将磁盘进行分组,纠删组之间可以独立的设置不同的纠删模型,某个纠删组里的磁盘故障,只对所在纠删组的数据可用性有影响,不会影响到其它纠删组里的数据可用性。可以将一个存储节点内的不同磁盘设置为一个纠删组,一个存储节点只属于一个纠删组,即纠删组由单个存储节点的多个磁盘组成。也可以将多个存储节点上的磁盘设置为一个纠删组,即纠删组由多个存储节点的磁盘组成,图4为本申请实施例提供的一种纠删组的结构示意图;如图4所示,包括存储节点1和纠删组2;将5个存储节点1的磁盘划分为5个纠删组2,每个纠删组2包含了5个存储节点1的不同磁盘。不同的划分方式可以预防不同的情况,若一个存储节点1出现故障,则该存储节点1上的磁盘可能都不可用,若该存储节点1的磁盘位于多个纠删组2,则可能导致多个纠删组2内的数据条块均不可读取;若该存储节点1为一个纠删组2,则有可能导致该纠删组2内的数据全部丢失。因此,可根据实际情况进行选择。
本申请的视频存储系统在故障程度超过故障域后能实现读写业务不中断,并保证了新的视频流数据的完整存储,该系统可分为设备层、数据层以及业务层,图5为本申请实施例提供一种存储系统的逻辑架构示意图;如图5所示,存储系统的逻辑架构包括应用层、业务层、数据层以及设备层;其中,设备层为具体的物理设备;业务层包括统一接口、配置管理、视频接入、视频业务等功能,用于实现存储系统资源的统一调度以及视频业务相关的功能;数据层包括集群管理、设备管理、块文件管理、元数据管理、数据切片、纠删计算、数据条块读取、数据条块写入等功能,用于实现数据保护、数据读写及物理设备管理等功能,视频存储系统通过采用N+M纠删保护机制,保障数据的完整性、可靠性,相应的物理设备也是按照纠删组的模式来进行管理和分配;应用层包括上级平台、应用系统、计算系统等,可通过存储系统标准SDK或协议与存储系统无缝对接,提供完整的视频存储业务功能;此外,存储系统还提供统一运维管理系统,实现对系统的监测、管理,使系统运维更简便、可视化。
在上述实施例中,对于视频流数据的存储方法进行了详细描述,本申请还提供视频流数据的存储装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,本实施例提供一种视频流数据的存储装置,图6为本申请实施例提供的视频流数据的存储装置的结构图,如图6所示,该装置包括:
切片模块10,用于将新的视频流数据进行切片得到原始数据条块;
处理模块11,用于通过纠删算法处理原始数据条块得到冗余数据条块;
生成模块12,将各数据条块均存储在非故障的纠删组的块文件中,并生成块文件的元数据信息以便于根据元数据信息找到对应的数据条块进行读取;其中,元数据信息包括块文件标识和数据条块在块文件上的偏移地址,数据条块包括原始数据条块和冗余数据条块。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例提供的视频流数据的存储装置,与上述方法对应,故具有与上述方法相同的有益效果。
基于硬件的角度,本实施例提供了另一种视频流数据的存储装置,图7为本申请另一实施例提供的视频流数据的存储装置的结构图,如图7所示,视频流数据的存储装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的视频流数据的存储方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的视频流数据的存储方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于视频流数据的存储方法涉及到的数据等。
在一些实施例中,视频流数据的存储装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图中示出的结构并不构成对视频流数据的存储装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的视频流数据的存储装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:视频流数据的存储方法。
本实施例提供的视频流数据的存储装置,与上述方法对应,故具有与上述方法相同的有益效果。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例描述的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
以上对本申请所提供的视频流数据的存储方法、装置以及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种视频流数据的存储方法,其特征在于,包括:
将新的视频流数据进行切片得到原始数据条块;
通过纠删算法处理所述原始数据条块得到冗余数据条块;
将各数据条块均存储在非故障的纠删组的块文件中,并生成所述块文件的元数据信息以便于根据所述元数据信息找到对应的所述数据条块进行读取;其中,所述元数据信息包括块文件标识和所述数据条块在所述块文件上的偏移地址,所述数据条块包括所述原始数据条块和所述冗余数据条块。
2.根据权利要求1所述的视频流数据的存储方法,其特征在于,所述将新的视频流数据进行切片得到原始数据条块包括:
将新的所述视频流数据进行切片得到包含完整的GOP数据包的所述原始数据条块。
3.根据权利要求2所述的视频流数据的存储方法,其特征在于,所述块文件的存储结构为块文件头信息、多个数据条块头信息和所述数据条块、块文件尾信息;其中,所述块文件头信息包括:块文件大小、版本号、纠删模型、第一个数据条块的时间;所述数据条块头信息包括:数据条块名称、数据条块大小、数据条块时间、数据条块类型。
4.根据权利要求3所述的视频流数据的存储方法,其特征在于,所述将各数据条块均存储在非故障纠删组的块文件中包括:
按顺序追加写的方式将各所述数据条块存储在非故障的所述纠删组的所述块文件中。
5.根据权利要求1所述的视频流数据的存储方法,其特征在于,所述纠删组由单个存储节点的多个磁盘组成。
6.根据权利要求1所述的视频流数据的存储方法,其特征在于,所述纠删组由多个存储节点的磁盘组成。
7.根据权利要求1所述的视频流数据的存储方法,其特征在于,所述将新的视频流数据进行切片得到原始数据条块包括:
将新的所述视频流数据进行切片得到包含I帧的GOP数据包的所述原始数据条块。
8.一种视频流数据的存储装置,其特征在于,包括:
切片模块,用于将新的视频流数据进行切片得到原始数据条块;
处理模块,用于通过纠删算法处理所述原始数据条块得到冗余数据条块;
生成模块,将各数据条块均存储在非故障的纠删组的块文件中,并生成所述块文件的元数据信息以便于根据所述元数据信息找到对应的所述数据条块进行读取;其中,所述元数据信息包括块文件标识和所述数据条块在所述块文件上的偏移地址,所述数据条块包括所述原始数据条块和所述冗余数据条块。
9.一种视频流数据的存储装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的视频流数据的存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的视频流数据的存储方法的步骤。
CN202210900712.3A 2022-07-28 2022-07-28 一种视频流数据的存储方法、装置以及介质 Pending CN115202581A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210900712.3A CN115202581A (zh) 2022-07-28 2022-07-28 一种视频流数据的存储方法、装置以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210900712.3A CN115202581A (zh) 2022-07-28 2022-07-28 一种视频流数据的存储方法、装置以及介质

Publications (1)

Publication Number Publication Date
CN115202581A true CN115202581A (zh) 2022-10-18

Family

ID=83583475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210900712.3A Pending CN115202581A (zh) 2022-07-28 2022-07-28 一种视频流数据的存储方法、装置以及介质

Country Status (1)

Country Link
CN (1) CN115202581A (zh)

Similar Documents

Publication Publication Date Title
CN107544862B (zh) 一种基于纠删码的存储数据重构方法和装置、存储节点
US11003533B2 (en) Data processing method, system, and apparatus
CN105404469B (zh) 一种视频数据的存储方法和系统
US9015431B2 (en) Distributed storage revision rollbacks
US9817715B2 (en) Resiliency fragment tiering
CN110442535B (zh) 提高分布式固态盘键值缓存系统可靠性的方法及系统
US11698728B2 (en) Data updating technology
EP2115640A2 (en) Method and apparatus to store data patterns
CN103929609B (zh) 一种录像回放方法和装置
US20210181992A1 (en) Data storage method and apparatus, and storage system
US20170017401A1 (en) Redundant array of independent discs and dispersed storage network system re-director
WO2024001494A1 (zh) 一种数据存储的方法、单节点服务器及设备
CN110597779A (zh) 一种分布式文件系统中的数据读写方法及相关装置
CN115328407A (zh) 一种缓存盘更换方法、装置、设备、存储介质
CN111857603B (zh) 数据处理方法及相关装置
EP4170499A1 (en) Data storage method, storage system, storage device, and storage medium
CN115202581A (zh) 一种视频流数据的存储方法、装置以及介质
CN115061640B (zh) 一种容错分布存储系统、方法、电子设备及介质
CN115878381A (zh) 基于srm盘的数据恢复方法及装置、存储介质、电子装置
US11481275B2 (en) Managing reconstruction of a malfunctioning disk slice
CN112860476A (zh) 一种基于视频分层存储的近似纠删码编码方法及装置
CN113553215A (zh) 一种基于环境信息的纠删码数据恢复优化方法及装置
CN111949440A (zh) 数据恢复方法及装置
CN116028276B (zh) 延迟数据重构方法、装置、存储节点和存储介质
CN113282238B (zh) 归档数据的存储方法、系统、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination