CN107509085A - 一种流媒体文件的存储方法及装置 - Google Patents
一种流媒体文件的存储方法及装置 Download PDFInfo
- Publication number
- CN107509085A CN107509085A CN201710735490.3A CN201710735490A CN107509085A CN 107509085 A CN107509085 A CN 107509085A CN 201710735490 A CN201710735490 A CN 201710735490A CN 107509085 A CN107509085 A CN 107509085A
- Authority
- CN
- China
- Prior art keywords
- streaming media
- file
- media file
- storage
- stored
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000010276 construction Methods 0.000 claims description 6
- 239000002699 waste material Substances 0.000 abstract description 6
- 239000002184 metal Substances 0.000 description 9
- 230000008439 repair process Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23113—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种流媒体文件的存储方法及装置,该方法包括:预先设置至少一个存储块,并确定每个所述存储块对应的存储容量;获取至少两个待存储流媒体文件;根据每个所述存储块对应的存储容量,以及每个所述待存储流媒体文件的大小,将所述至少两个待存储流媒体文件合并为至少一个大文件;将每个所述大文件分别存储至一个对应的所述存储块中。本方案能减少存储资源的浪费。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种流媒体文件的存储方法及装置。
背景技术
HTTP Live Streaming(HLS)是苹果公司开发的动态码率自适应技术,主要用于向ios设备(iPhone和iPad等)传送HLS视频流,其中包括M3U8文件和TS文件等。
服务器对接收到的HLS视频流进行存储时,将其中的TS文件等分开存储,例如,接收到的HLS视频流中包括100个TS文件,内存中设置有100个存储块,则将这100个TS文件分别存储在100个存储块中。
由于TS文件为小文件,其大小一般远远小于存储块的容量,因此,上述分开存储的方式,导致各个存储块有较多剩余存储空间,造成了存储资源的浪费。
发明内容
本发明实施例提供了一种流媒体文件的存储方法及装置,能减少存储资源的浪费。
第一方面,本发明实施例提供了一种流媒体文件的存储方法,包括:
预先设置至少一个存储块,并确定每个所述存储块对应的存储容量;
获取至少两个待存储流媒体文件;
根据每个所述存储块对应的存储容量,以及每个所述待存储流媒体文件的大小,将所述至少两个待存储流媒体文件合并为至少一个大文件;
将每个所述大文件分别存储至一个对应的所述存储块中。
优选地,
在所述获取至少两个待存储流媒体文件之后,进一步包括:
确定所述至少两个待存储流媒体文件的数量是否不大于预设阈值,如果是,则为每个所述待存储流媒体文件分配校验数据;
所述将所述至少两个待存储流媒体文件合并为至少一个大文件,包括:
将各个所述待存储流媒体文件分别对应的校验数据,以及各个所述待存储流媒体文件进行合并,生成所述至少一个大文件。
优选地,
在所述将每个所述大文件分别存储至一个对应的所述存储块中之后,进一步包括:
针对存储有所述大文件的每个所述存储块,均执行:
根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系;
根据所述索引关系,对各个所述流媒体文件进行读取。
优选地,
当所述至少两个待存储流媒体文件的数量大于所述预设阈值时,
所述根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系,包括:
根据所述存储块的存储地址,确定所述存储块中存储的所述大文件中包括的各个流媒体文件分别对应的存储路径;
根据所述存储路径,为各个所述流媒体文件分配所述校验数据;
根据各个所述流媒体文件分别对应的所述校验数据和所述存储路径,构建各个所述流媒体文件分别对应的索引关系。
优选地,
所述根据所述索引关系,对各个所述流媒体文件进行读取,包括:
针对每一个所述流媒体文件,均执行:
根据所述流媒体文件对应的所述存储地址,提取所述流媒体文件;
根据所述索引关系中包括的所述校验数据,确定提取的所述流媒体文件是否存在损坏信息;
当所述流媒体文件存在损坏信息时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件。
优选地,
进一步包括:在指定存储区域存储各个所述流媒体文件对应的备份文件;
进一步包括:构建配置文件,所述配置文件中包括:至少一个损坏信息分别对应的损坏级别;
所述当所述流媒体文件存在损坏信息时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件,包括:
根据所述配置文件,确定所述损坏信息对应的损坏级别;
当所述损坏级别为第一损坏级别时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件;
当所述损坏级别为第二损坏级别时,从所述指定存储区域获取所述流媒体文件对应的备份文件;
利用所述备份文件替代所述流媒体文件,并读取替代后的所述备份文件。
第二方面,本发明实施例提供了一种流媒体文件的存储装置,包括:设置单元、合并单元和存储单元;其中,
所述设置单元,用于预先设置至少一个存储块,并确定每个所述存储块对应的存储容量;
所述合并单元,用于获取至少两个待存储流媒体文件;根据每个所述存储块对应的存储容量,以及每个所述待存储流媒体文件的大小,将所述至少两个待存储流媒体文件合并为至少一个大文件;
所述存储单元,用于将每个所述大文件分别存储至一个对应的所述存储块中。
优选地,
所述合并单元,用于确定所述至少两个待存储流媒体文件的数量是否不大于预设阈值,如果是,则为每个所述待存储流媒体文件分配校验数据;并将各个所述待存储流媒体文件分别对应的校验数据,以及各个所述待存储流媒体文件进行合并,生成所述至少一个大文件。
优选地,
进一步包括:读取单元;其中,
所述读取单元,用于针对存储有所述大文件的每个所述存储块,均执行:根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系;并根据所述索引关系,对各个所述流媒体文件进行读取。
优选地,
当所述至少两个待存储流媒体文件的数量大于所述预设阈值时,所述读取单元,用于根据所述存储块的存储地址,确定所述存储块中存储的所述大文件中包括的各个流媒体文件分别对应的存储路径;根据所述存储路径,为各个所述流媒体文件分配所述校验数据;根据各个所述流媒体文件分别对应的所述校验数据和所述存储路径,构建各个所述流媒体文件分别对应的索引关系;
优选地,
进一步包括:备份单元和构建单元;其中,
所述备份单元,用于在指定存储区域存储各个所述流媒体文件对应的备份文件;
所述构建单元,用于构建配置文件,所述配置文件中包括:至少一个损坏信息分别对应的损坏级别;
所述读取单元,用于针对每一个所述流媒体文件,均执行:根据所述流媒体文件对应的所述存储地址,提取所述流媒体文件;根据所述索引关系中包括的所述校验数据,确定提取的所述流媒体文件是否存在损坏信息;当所述流媒体文件存在损坏信息时,确定所述损坏信息对应的损坏级别;当所述损坏级别为第一损坏级别时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件;当所述损坏级别为第二损坏级别时,从所述指定存储区域获取所述流媒体文件对应的备份文件;利用所述备份文件替代所述流媒体文件,并读取替代后的所述备份文件。
本发明实施例提供了一种流媒体文件的存储方法及装置,在获取到至少两个待存储流媒体文件(TS文件等)之后,根据预设的存储块的存储容量,将各个待存储流媒体文件合并为大文件,然后将合并后的大文件存储至对应的存储块中。由此,将各个较小的待存储流媒体文件合并为大文件,使合并生成的大文件的大小符合存储块的存储容量,减少各个存储块的剩余存储空间,从而减少了存储资源的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种流媒体文件的存储方法的流程图;
图2是本发明另一个实施例提供的一种流媒体文件的存储方法的流程图;
图3是本发明一个实施例提供的一种流媒体文件的存储装置的结构示意图;
图4是本发明另一个实施例提供的一种流媒体文件的存储装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种流媒体文件的存储方法,该方法可以包括以下步骤:
步骤101:预先设置至少一个存储块,并确定每个所述存储块对应的存储容量;
步骤102:获取至少两个待存储流媒体文件;
步骤103:根据每个所述存储块对应的存储容量,以及每个所述待存储流媒体文件的大小,将所述至少两个待存储流媒体文件合并为至少一个大文件;
步骤104:将每个所述大文件分别存储至一个对应的所述存储块中。
上述实施例中,在获取到至少两个待存储流媒体文件(TS文件等)之后,根据预设的存储块的存储容量,将各个待存储流媒体文件合并为大文件,然后将合并后的大文件存储至对应的存储块中。由此,将各个较小的待存储流媒体文件合并为大文件,使合并生成的大文件的大小符合存储块的存储容量,减少各个存储块的剩余存储空间,从而减少了存储资源的浪费。
本发明一个实施例中,在步骤102之后,可以进一步包括:
确定所述至少两个待存储流媒体文件的数量是否不大于预设阈值,如果是,则为每个所述待存储流媒体文件分配校验数据;
步骤103的具体实施方式,可以包括:
将各个所述待存储流媒体文件分别对应的校验数据,以及各个所述待存储流媒体文件进行合并,生成所述至少一个大文件。
在这里,当接收到的待存储流媒体文件不大于预设阈值时,以HLS视频流为例,当单位时间内接收到的TS文件不大于预设阈值时,系统的存储任务不重,即系统较空闲,此时每接收到一个TS文件,则为该TS文件分配对应的校验数据,然后将各个TS文件及其对应的校验数据合并组成大文件。
本发明一个实施例中,在步骤104之后,可以进一步包括:
针对存储有所述大文件的每个所述存储块,均执行:
根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系;
根据所述索引关系,对各个所述流媒体文件进行读取。
根据各个流媒体所存储的存储块的存储地址,以及其对应的校验数据,构建各个流媒体文件对应的索引关系,在此索引关系中详细记录每个流媒体文件的存储位置以及其校验数据。并且,此索引关系可扩展,它会自动利用空闲时间及空间,在存储或读取空闲时扩展校验数据等信息,而当存储块的存储空间紧张时,其会删减某些扩展数据,例如该流媒体文件对应的空包等。由此,通过各个流媒体文件分别对应的索引关系,可快速定位各个流媒体文件的存储位置,减轻系统索引的复杂度,便于系统管理。
本发明一个实施例中,当所述至少两个待存储流媒体文件的数量大于所述预设阈值时,所述根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系,包括:
根据所述存储块的存储地址,确定所述存储块中存储的所述大文件中包括的各个流媒体文件分别对应的存储路径;
根据所述存储路径,为各个所述流媒体文件分配所述校验数据;
根据各个所述流媒体文件分别对应的所述校验数据和所述存储路径,构建各个所述流媒体文件分别对应的索引关系。
以HLS视频流为例,当单位之间内接收到的TS文件大于预设阈值时,系统的存储任务较重,及系统处于忙碌时期,此时先将接收到的TS文件进行合并存储后,确定并记录各个TS文件的存储路径。在大批量存入TS文件后,系统一般会进入一段空闲期,此时再根据各个TS文件分别对应的存储路径,为各个TS文件分配校验数据,以进行视频分析以及记录空包和I帧等位置,由此可便于及时对待存储流媒体文件进行存储,然后再进行校验数据的分配,从而有效管理系统资源。
本发明一个实施例中,所述根据所述索引关系,对各个所述流媒体文件进行读取,包括:
针对每一个所述流媒体文件,均执行:
根据所述流媒体文件对应的所述存储地址,提取所述流媒体文件;
根据所述索引关系中包括的所述校验数据,确定提取的所述流媒体文件是否存在损坏信息;
当所述流媒体文件存在损坏信息时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件。
在读取存储的各个流媒体文件时,根据各个流媒体文件分别对应的校验数据,确定流媒体文件是否存在损坏信息,若存在,则根据确定出的损坏信息的损坏级别,对该流媒体文件进行修复。
具体地,本发明一个实施例中,该方法可以进一步包括:在指定存储区域存储各个所述流媒体文件对应的备份文件;
构建配置文件,所述配置文件中包括:至少一个损坏信息分别对应的损坏级别;
所述当所述流媒体文件存在损坏信息时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件,包括:
根据所述配置文件,确定所述损坏信息对应的损坏级别;
当所述损坏级别为第一损坏级别时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件;
当所述损坏级别为第二损坏级别时,从所述指定存储区域获取所述流媒体文件对应的备份文件;
利用所述备份文件替代所述流媒体文件,并读取替代后的所述备份文件。
在这里,确定出存储的流媒体文件具有损坏信息后,确定该损坏数据对应的损坏级别为第一级别时,说明该视频文件损坏程度较轻,只需进行部分修复即可,此时仅针对损坏信息进行部分修复,并读取修复后的流媒体文件。当损坏级别为第二级别,即说明该视频流文件损坏较严重,此时利用预存的该视频流文件对应的备份文件,直接替换已损坏的视频流文件,完成该视频流文件的完全修复。由此可及时确定出各个视频流文件出现的损坏信息,并进行及时修复,有利于视频流文件的读取,保证视频流文件的正常播放。
值得一提的是,可将各个视频流文件对应的备份文件存储在另一个服务系统中,存储备份文件的服务系统与本服务系统的配置以及存储路径均相同,则是使得存储的备份文件与该视频流文件完全通用,从而可最快速的完成视频流文件损坏时,备份文件的替代操作。
另外,在进行损坏信息修复时,可根据配置以及时间需求,利用各个视频流文件对应的I帧数量,是否空包等计算出修复优先级,然后根据各个视频流文件对应的修复优先级,对各个视频流文件进行修复,由此可在特定时间内尽可能地修复最重要的视频部分,进一步有利于视频流文件的读取。
如图2所示,本发明实施例提供了一种流媒体文件的存储方法,该方法可以包括以下步骤:
步骤201:预先设置至少一个存储块,并确定每个所述存储块对应的存储容量。
例如,预先设置两个存储块A和B,每个存储块的存储容量为10G。
步骤202:获取至少两个待存储流媒体文件。
以HLS视频流为例,在单位时间内接收到20个待存储TS文件,每个TS文件的大小为0.8G。
步骤203:确定所述至少两个待存储流媒体文件的数量是否不大于预设阈值,如果是,则为每个所述待存储流媒体文件分配校验数据。
例如,预设阈值为50,则接收到的TS文件的数量小于预设阈值,此时为每个TS文件分配校验数据。
步骤204:根据每个所述存储块对应的存储容量,以及每个所述待存储流媒体文件的大小,将各个所述待存储流媒体文件分别对应的校验数据,以及各个所述待存储流媒体文件进行合并,生成至少一个大文件,并将每个所述大文件分别存储至一个对应的所述存储块中。
在这里,每个存储块的存储容量为10G,每个TS文件的大小为0.8G,若忽略校验数据的大小,则可根据接收的时间顺序,将先接收到的12个TS文件进行合并,生成大小为9.6G的大文件,存储至存储空间A中,然后将剩余的TS文件合并后,存储至存储空间B中。
另外,当待存储流媒体文件的数量大于所述预设阈值时,可先将接收到的TS文件进行合并存储后,确定并记录各个TS文件的存储路径。在大批量存入TS文件后,系统一般会进入一段空闲期,此时再根据各个TS文件分别对应的存储路径,为各个TS文件分配校验数据。
步骤205:针对存储有所述大文件的每个所述存储块,均执行:根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系。
在这里,各个TS文件对应的索引关系中详细记录每个流媒体文件的存储位置以及其校验数据,通过各个流媒体文件分别对应的索引关系,可快速定位各个流媒体文件的存储位置,减轻系统索引的复杂度,便于系统管理。
步骤206:针对每一个所述流媒体文件,均执行:根据所述流媒体文件对应的索引关系中的所述存储地址,提取所述流媒体文件。
步骤207:根据所述索引关系中包括的所述校验数据,确定提取的所述流媒体文件是否存在损坏信息,当存在损坏信息时,根据预设的配置文件,确定所述损坏信息对应的损坏级别。
步骤208:当所述损坏级别为第一损坏级别时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件。
确定出存储的流媒体文件具有损坏信息后,确定该损坏数据对应的损坏级别为第一级别时,说明该视频文件损坏程度较轻,只需进行部分修复即可,此时仅针对损坏信息进行部分修复,并读取修复后的流媒体文件。
步骤209:当所述损坏级别为第二损坏级别时,从所述指定存储区域获取所述流媒体文件对应的备份文件,并利用预存的备份文件替代所述流媒体文件,并读取替代后的所述备份文件。
当损坏级别为第二级别,即说明该视频流文件损坏较严重,此时利用预存的该视频流文件对应的备份文件,直接替换已损坏的视频流文件,完成该视频流文件的完全修复。
另外,当接收到的流媒体文件为直播类媒体文件时,媒体文件本身较大,可直接存储至存储块中。但为了避免帧不完整等各种因素导致的花屏、音画不同步等问题,必须对接收到的媒体文件进行实时分析,并在关键帧前做文件切分标记。由此可根据切分标记构建该媒体文件的索引关系,以及在读取该媒体文件时,对其中的损坏部分进行修复,以保证视频的正常播放。
如图3所示,本发明实施例提供了一种流媒体文件的存储装置,包括:设置单元301、合并单元302和存储单元303;其中,
所述设置单元301,用于预先设置至少一个存储块,并确定每个所述存储块对应的存储容量;
所述合并单元302,用于获取至少两个待存储流媒体文件;根据每个所述存储块对应的存储容量,以及每个所述待存储流媒体文件的大小,将所述至少两个待存储流媒体文件合并为至少一个大文件;
所述存储单元303,用于将每个所述大文件分别存储至一个对应的所述存储块中。
本发明一个实施例中,所述合并单元302,用于确定所述至少两个待存储流媒体文件的数量是否不大于预设阈值,如果是,则为每个所述待存储流媒体文件分配校验数据;并将各个所述待存储流媒体文件分别对应的校验数据,以及各个所述待存储流媒体文件进行合并,生成所述至少一个大文件。
如图4所示,本发明一个实施例中,该装置可以进一步包括:读取单元401;其中,
所述读取单元401,用于针对存储有所述大文件的每个所述存储块,均执行:根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系;并根据所述索引关系,对各个所述流媒体文件进行读取。
本发明一个实施例中,当所述至少两个待存储流媒体文件的数量大于所述预设阈值时,所述读取单元401,用于根据所述存储块的存储地址,确定所述存储块中存储的所述大文件中包括的各个流媒体文件分别对应的存储路径;根据所述存储路径,为各个所述流媒体文件分配所述校验数据;根据各个所述流媒体文件分别对应的所述校验数据和所述存储路径,构建各个所述流媒体文件分别对应的索引关系。
本发明一个实施例中,该装置可以进一步包括:备份单元和构建单元;其中,
所述备份单元,用于在指定存储区域存储各个所述流媒体文件对应的备份文件;
所述构建单元,用于构建配置文件,所述配置文件中包括:至少一个损坏信息分别对应的损坏级别;
所述读取单元,用于针对每一个所述流媒体文件,均执行:根据所述流媒体文件对应的所述存储地址,提取所述流媒体文件;根据所述索引关系中包括的所述校验数据,确定提取的所述流媒体文件是否存在损坏信息;当所述流媒体文件存在损坏信息时,确定所述损坏信息对应的损坏级别;当所述损坏级别为第一损坏级别时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件;当所述损坏级别为第二损坏级别时,从所述指定存储区域获取所述流媒体文件对应的备份文件;利用所述备份文件替代所述流媒体文件,并读取替代后的所述备份文件。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。
另外,本发明还提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。
综上所述,本发明的各个实施例至少具有如下有益效果:
1、在本发明实施例中,在获取到至少两个待存储流媒体文件之后,根据预设的存储块的存储容量,将各个待存储流媒体文件合并为大文件,然后将合并后的大文件存储至对应的存储块中。由此,将各个较小的待存储流媒体文件合并为大文件,使合并生成的大文件的大小符合存储块的存储容量,减少各个存储块的剩余存储空间,从而减少了存储资源的浪费。
2、在本发明实施例中,当接收到的待存储流媒体文件不大于预设阈值时,为各个流媒体文件分配校验数据,然后将各个流媒体文件及其对应的校验数据合并为大文件。然后根据各个流媒体文件的存储位置及其对应的校验数据,构建索引关系。通过各个流媒体文件分别对应的索引关系,可快速定位各个流媒体文件的存储位置,减轻系统索引的复杂度,便于系统管理。
3、在本发明实施例中,当接收到的待存储流媒体文件的数量大于所述预设阈值时,先将接收到的流媒体文件合并存储后,确定并记录各个流媒体文件的存储路径,然后在系统空闲期,再根据存储路径,为各个流媒体文件分配校验数据,由此可便于及时对待存储流媒体文件进行存储,然后再进行校验数据的分配,从而有效管理系统资源。
4、在本发明实施例中,在读取存储的各个流媒体文件时,根据各个流媒体文件分别对应的校验数据,确定流媒体文件是否存在损坏信息,若存在,则根据确定出的损坏信息的损坏级别,对该流媒体文件进行修复。当损坏级别较轻时,此时仅针对损坏信息进行部分修复,并读取修复后的流媒体文件。当损坏较严重时,利用预存的该视频流文件对应的备份文件,直接替换已损坏的视频流文件,完成该视频流文件的完全修复。由此可及时确定出各个视频流文件出现的损坏信息,并进行及时修复,有利于视频流文件的读取,保证视频流文件的正常播放。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种流媒体文件的存储方法,其特征在于,包括:
预先设置至少一个存储块,并确定每个所述存储块对应的存储容量;
获取至少两个待存储流媒体文件;
根据每个所述存储块对应的存储容量,以及每个所述待存储流媒体文件的大小,将所述至少两个待存储流媒体文件合并为至少一个大文件;
将每个所述大文件分别存储至一个对应的所述存储块中。
2.根据权利要求1所述的方法,其特征在于,
在所述获取至少两个待存储流媒体文件之后,进一步包括:
确定所述至少两个待存储流媒体文件的数量是否不大于预设阈值,如果是,则为每个所述待存储流媒体文件分配校验数据;
所述将所述至少两个待存储流媒体文件合并为至少一个大文件,包括:
将各个所述待存储流媒体文件分别对应的校验数据,以及各个所述待存储流媒体文件进行合并,生成所述至少一个大文件。
3.根据权利要求2所述的方法,其特征在于,
在所述将每个所述大文件分别存储至一个对应的所述存储块中之后,进一步包括:
针对存储有所述大文件的每个所述存储块,均执行:
根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系;
根据所述索引关系,对各个所述流媒体文件进行读取。
4.根据权利要求3所述的方法,其特征在于,
当所述至少两个待存储流媒体文件的数量大于所述预设阈值时,
所述根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系,包括:
根据所述存储块的存储地址,确定所述存储块中存储的所述大文件中包括的各个流媒体文件分别对应的存储路径;
根据所述存储路径,为各个所述流媒体文件分配所述校验数据;
根据各个所述流媒体文件分别对应的所述校验数据和所述存储路径,构建各个所述流媒体文件分别对应的索引关系。
5.根据权利要求3所述的方法,其特征在于,
所述根据所述索引关系,对各个所述流媒体文件进行读取,包括:
针对每一个所述流媒体文件,均执行:
根据所述流媒体文件对应的所述存储地址,提取所述流媒体文件;
根据所述索引关系中包括的所述校验数据,确定提取的所述流媒体文件是否存在损坏信息;
当所述流媒体文件存在损坏信息时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件。
6.根据权利要求5所述的方法,其特征在于,
进一步包括:在指定存储区域存储各个所述流媒体文件对应的备份文件;
进一步包括:构建配置文件,所述配置文件中包括:至少一个损坏信息分别对应的损坏级别;
所述当所述流媒体文件存在损坏信息时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件,包括:
根据所述配置文件,确定所述损坏信息对应的损坏级别;
当所述损坏级别为第一损坏级别时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件;
当所述损坏级别为第二损坏级别时,从所述指定存储区域获取所述流媒体文件对应的备份文件;
利用所述备份文件替代所述流媒体文件,并读取替代后的所述备份文件。
7.一种流媒体文件的存储装置,其特征在于,包括:设置单元、合并单元和存储单元;其中,
所述设置单元,用于预先设置至少一个存储块,并确定每个所述存储块对应的存储容量;
所述合并单元,用于获取至少两个待存储流媒体文件;根据每个所述存储块对应的存储容量,以及每个所述待存储流媒体文件的大小,将所述至少两个待存储流媒体文件合并为至少一个大文件;
所述存储单元,用于将每个所述大文件分别存储至一个对应的所述存储块中。
8.根据权利要求7所述的装置,其特征在于,
所述合并单元,用于确定所述至少两个待存储流媒体文件的数量是否不大于预设阈值,如果是,则为每个所述待存储流媒体文件分配校验数据;并将各个所述待存储流媒体文件分别对应的校验数据,以及各个所述待存储流媒体文件进行合并,生成所述至少一个大文件。
9.根据权利要求8所述的装置,其特征在于,
进一步包括:读取单元;其中,
所述读取单元,用于针对存储有所述大文件的每个所述存储块,均执行:根据所述存储块的存储地址,以及所述存储块中的存储的所述大文件包括的各个流媒体文件分别对应的校验数据,分别构建各个所述流媒体文件分别对应的索引关系;并根据所述索引关系,对各个所述流媒体文件进行读取。
10.根据权利要求9所述的装置,其特征在于,
当所述至少两个待存储流媒体文件的数量大于所述预设阈值时,所述读取单元,用于根据所述存储块的存储地址,确定所述存储块中存储的所述大文件中包括的各个流媒体文件分别对应的存储路径;根据所述存储路径,为各个所述流媒体文件分配所述校验数据;根据各个所述流媒体文件分别对应的所述校验数据和所述存储路径,构建各个所述流媒体文件分别对应的索引关系;
和/或,
进一步包括:备份单元和构建单元;其中,
所述备份单元,用于在指定存储区域存储各个所述流媒体文件对应的备份文件;
所述构建单元,用于构建配置文件,所述配置文件中包括:至少一个损坏信息分别对应的损坏级别;
所述读取单元,用于针对每一个所述流媒体文件,均执行:根据所述流媒体文件对应的所述存储地址,提取所述流媒体文件;根据所述索引关系中包括的所述校验数据,确定提取的所述流媒体文件是否存在损坏信息;当所述流媒体文件存在损坏信息时,确定所述损坏信息对应的损坏级别;当所述损坏级别为第一损坏级别时,对所述损坏信息进行修复,并读取修复后的所述流媒体文件;当所述损坏级别为第二损坏级别时,从所述指定存储区域获取所述流媒体文件对应的备份文件;利用所述备份文件替代所述流媒体文件,并读取替代后的所述备份文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710735490.3A CN107509085B (zh) | 2017-08-24 | 2017-08-24 | 一种流媒体文件的存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710735490.3A CN107509085B (zh) | 2017-08-24 | 2017-08-24 | 一种流媒体文件的存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107509085A true CN107509085A (zh) | 2017-12-22 |
CN107509085B CN107509085B (zh) | 2019-12-24 |
Family
ID=60692756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710735490.3A Active CN107509085B (zh) | 2017-08-24 | 2017-08-24 | 一种流媒体文件的存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107509085B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825694A (zh) * | 2019-11-01 | 2020-02-21 | 北京锐安科技有限公司 | 数据处理方法、装置、设备和存储介质 |
CN117892293A (zh) * | 2023-12-28 | 2024-04-16 | 合肥君行技术有限公司 | 一种基于互联网的安全监控系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281121A (zh) * | 2010-06-13 | 2011-12-14 | 中兴通讯股份有限公司 | 一种数据文件传输和校验的方法、设备及系统 |
CN103064752A (zh) * | 2011-09-27 | 2013-04-24 | 奇智软件(北京)有限公司 | 一种文件修复方法及装置 |
CN103488685A (zh) * | 2013-09-02 | 2014-01-01 | 上海网达软件股份有限公司 | 一种基于分布式存储系统的碎片文件存储方法 |
CN104462563A (zh) * | 2014-12-26 | 2015-03-25 | 浙江宇视科技有限公司 | 一种文件存储方法和系统 |
CN104572670A (zh) * | 2013-10-15 | 2015-04-29 | 方正国际软件(北京)有限公司 | 一种小文件的存储、查询及删除方法和系统 |
CN105224416A (zh) * | 2014-05-28 | 2016-01-06 | 联发科技(新加坡)私人有限公司 | 修复方法及相关电子装置 |
CN105956183A (zh) * | 2016-05-30 | 2016-09-21 | 广东电网有限责任公司电力调度控制中心 | 一种分布式数据库中海量小文件的多级优化存储方法及系统 |
WO2016187831A1 (zh) * | 2015-05-27 | 2016-12-01 | 华为技术有限公司 | 存取文件的方法、装置和存储系统 |
CN106776146A (zh) * | 2016-12-29 | 2017-05-31 | 华为技术有限公司 | 一种数据校验方法、装置及系统 |
-
2017
- 2017-08-24 CN CN201710735490.3A patent/CN107509085B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281121A (zh) * | 2010-06-13 | 2011-12-14 | 中兴通讯股份有限公司 | 一种数据文件传输和校验的方法、设备及系统 |
CN103064752A (zh) * | 2011-09-27 | 2013-04-24 | 奇智软件(北京)有限公司 | 一种文件修复方法及装置 |
CN103488685A (zh) * | 2013-09-02 | 2014-01-01 | 上海网达软件股份有限公司 | 一种基于分布式存储系统的碎片文件存储方法 |
CN104572670A (zh) * | 2013-10-15 | 2015-04-29 | 方正国际软件(北京)有限公司 | 一种小文件的存储、查询及删除方法和系统 |
CN105224416A (zh) * | 2014-05-28 | 2016-01-06 | 联发科技(新加坡)私人有限公司 | 修复方法及相关电子装置 |
CN104462563A (zh) * | 2014-12-26 | 2015-03-25 | 浙江宇视科技有限公司 | 一种文件存储方法和系统 |
WO2016187831A1 (zh) * | 2015-05-27 | 2016-12-01 | 华为技术有限公司 | 存取文件的方法、装置和存储系统 |
CN105956183A (zh) * | 2016-05-30 | 2016-09-21 | 广东电网有限责任公司电力调度控制中心 | 一种分布式数据库中海量小文件的多级优化存储方法及系统 |
CN106776146A (zh) * | 2016-12-29 | 2017-05-31 | 华为技术有限公司 | 一种数据校验方法、装置及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825694A (zh) * | 2019-11-01 | 2020-02-21 | 北京锐安科技有限公司 | 数据处理方法、装置、设备和存储介质 |
CN117892293A (zh) * | 2023-12-28 | 2024-04-16 | 合肥君行技术有限公司 | 一种基于互联网的安全监控系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107509085B (zh) | 2019-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10313712B2 (en) | Method, device, and server for producing video frame set | |
CN105786539B (zh) | 一种文件下载方法及装置 | |
US20190320212A1 (en) | Picture storage method, apparatus and video monitoring system | |
EP3809708B1 (en) | Video data storage method and device in cloud storage system | |
CN107509085B (zh) | 一种流媒体文件的存储方法及装置 | |
CN104834645B (zh) | 用于展示版式文档的方法和装置 | |
WO2016127693A1 (zh) | 一种发送业务数据的方法和存储系统 | |
WO2021017899A1 (zh) | 一种高效清理设备文件的方法及装置 | |
CN112686165A (zh) | 视频中目标对象的识别方法、装置、电子设备及存储介质 | |
CN109597566B (zh) | 一种数据读取、存储方法及装置 | |
WO2017219872A1 (zh) | 机顶盒的升级、换台方法及系统 | |
US20190349618A1 (en) | Content delivery monitor | |
CN105138867A (zh) | 图片版权保护的方法和设备 | |
CN109753482B (zh) | 文件管理方法及装置 | |
CN103678478A (zh) | 信息处理装置、信息处理方法和程序 | |
US11398091B1 (en) | Repairing missing frames in recorded video with machine learning | |
CN110908610A (zh) | 一种卷回收站清理方法、装置、设备及可读存储介质 | |
CN106294576B (zh) | 一种android系统存储空间的清理方法及系统 | |
CN111221468A (zh) | 存储块数据删除方法、装置、电子设备及云存储系统 | |
CN103886028A (zh) | 从存储设备拷贝文件到广告机的方法和装置 | |
WO2017088382A1 (zh) | 数据处理的方法和装置 | |
US20170154651A1 (en) | Method for presenting video segments and electronic device | |
KR102141411B1 (ko) | 콘텐츠 기반 클린 클라우드 시스템 및 그 방법 | |
CN113038248B (zh) | 文件处理方法和装置、视频播放方法和装置及电子装置 | |
CN115953715B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210210 Address after: 250100 Inspur science and Technology Park, 1036 Inspur Road, hi tech Zone, Jinan City, Shandong Province Patentee after: Inspur Software Technology Co.,Ltd. Address before: 250100 First Floor of R&D Building 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province Patentee before: SHANDONG INSPUR BUSINESS SYSTEM Co.,Ltd. |
|
TR01 | Transfer of patent right |