CN107077514A - 一种数据存储的方法及设备 - Google Patents
一种数据存储的方法及设备 Download PDFInfo
- Publication number
- CN107077514A CN107077514A CN201680003568.6A CN201680003568A CN107077514A CN 107077514 A CN107077514 A CN 107077514A CN 201680003568 A CN201680003568 A CN 201680003568A CN 107077514 A CN107077514 A CN 107077514A
- Authority
- CN
- China
- Prior art keywords
- storage medium
- capture apparatus
- write
- speed
- video 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000013500 data storage Methods 0.000 title claims abstract description 20
- 238000003860 storage Methods 0.000 claims abstract description 820
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 45
- 230000008439 repair process Effects 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 238000013459 approach Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 description 20
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000000151 deposition Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101000911390 Homo sapiens Coagulation factor VIII Proteins 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 102000057593 human F8 Human genes 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 229940047431 recombinate Drugs 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/71—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
- Studio Devices (AREA)
Abstract
一种数据存储的方法及设备,该方法应用于拍摄设备,方法包括:在拍摄之前,根据预设选择规则在N个存储介质中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质;将拍摄设备拍摄的视频数据写入所述第一目标存储介质;预设选择规则至少包括以下项之一:根据拍摄设备当前拍摄设定的视频码率选择第一目标存储介质,根据拍摄设备中各存储介质的实际写入速度选择第一目标存储介质,根据拍摄设备当前拍摄设定的视频码率、以及拍摄设备中各存储介质的实际写入速度选择第一目标存储介质根据均衡算法选择第一目标存储介质,或根据拍摄设备中内置的应用计算得到第一目标存储介质。能够提高写入速度的可靠性以及录象流水过程的流畅性。
Description
技术领域
本发明涉及涉及存储技术领域,尤其涉及的是一种数据存储的方法及设备。
背景技术
在相机拍摄视频时,对不同的帧数据均按照图像采集、图像处理、编码、存储的流水进行,由于视频分辨率越高,在保证视频局部清晰度的情况下,若使用同样的编码方式,视频码率也越高,相应的,所拍摄的视频的文件大小也越大。较大的视频需要更快的写入速度,因此,对于视频码率高的视频,在写入相机的存储介质时整个流水容易发生阻塞,从而导致编码缓存溢出,甚至无法继续拍摄。目前为了保证整个流水正常进行,一般采取写入速度大于编码生成的速度的存储介质,否则将导致编码缓存溢出,进而导致录像无法继续进行,因此写入速度不足制约视频画质的提升。例如,采用安全数字卡(英文全称:SecureDigital card,英文简称:SD Card)、闪存卡(英文全称:Compact Flash Card,英文简称:CFCard)、记忆棒、固态硬盘(英文全称:Solid State Disk,英文简称:SSD)等写入速度高、容量大、可靠性高的存储介质。
由于各个存储卡厂家的技术与生产工艺的差异,并不能保证任何时刻的写入速度都能达到标称的写入速度,特别是在随机写入(英文全称:Random Write)状态下。并且由于相机拍摄视频为并行流水处理的过程,如果中间出现突发的存储介质写入速度变慢、卡顿(比如SD卡,由于每个区块的速度可能会有差异,厂家不保证任何时刻的写入速度都能达到标称的速度,特别是在随机写入状态下)等情况,则会导致视频拍摄无法继续进行。
现有机制中,主要采用以下两种方式解决写入速度的稳定性的问题:一、采用内置的存储介质,但不支持外部存储介质,但采用内置的存储介质不利于设备间的数据分发和流转,使用场景受限,并且在内置的存储介质的容量较大时,成本较高。二、通过厂商的大量评测,提供可支持的外存储设备型号的列表供用户选择。但该列表限制用户选择存储设备,且生产过程中的大量评测需额外增加测试成本。
发明内容
本申请提供了一种数据存储的方法及设备,能够解决现有技术中存储设备的写入速度的可靠性较低的问题。
本申请第一方面提供了一种数据存储的方法,所述方法应用于拍摄设备,所述拍摄设备包括N个存储介质,其中,N为大于或等于2的正整数;所述方法包括:
在拍摄之前,根据预设选择规则在所述N个存储介质中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质;
将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质;
所述预设选择规则至少包括以下项之一:根据所述拍摄设备当前拍摄设定的视频码率选择所述第一目标存储介质,根据所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质,根据所述拍摄设备当前拍摄设定的视频码率、以及所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质根据均衡算法选择所述第一目标存储介质,或根据所述拍摄设备中内置的应用计算得到所述第一目标存储介质。
在一种可能的设计中,为实现后期对存储的视频文件进行针对性、有效的修复,还可以在存储上述视频数据过程中,对相应视频数据的存储信息进行记录和备份,具体体现为:
在所述拍摄设备拍摄过程中,为拍摄的视频数据建立索引文件,所述索引文件包括所述视频数据的索引信息;
采用乒乓交替方式将所述索引文件写入所述第一目标存储介质。
可选的,所述索引文件包括至少一个索引信息,每个所述索引信息包括索引号、帧数据的时间戳、帧数据在所述视频数据中的偏移以及帧数据的长度,还可以包括存储帧数据的存储介质的编号。
在一种可能的设计中,在存储拍摄视频的过程中,还可以根据所述索引文件对所述视频数据定时进行增量备份或全备份。可以采用快照或类似技术进行备份操作,备份的时刻可以根据用户需求或由软件配置,具体不作限定。
在一种可能的设计中,在拍摄之前,为适应视频数据的写入速度,可以根据存储模式和视频码率选择第一目标存储介质,具体为:
在拍摄之前,根据目的存储介质和所述拍摄设备当前拍摄设定的视频码率计算将拍摄的视频数据写入目的存储介质所需的理论写入速度,所述目的存储介质为所述拍摄设备当前设定的存储模式对应的用于存储所述视频数据的存储介质;
根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的第一目标存储介质。一定程度上能够提高视频数据的写入速度。
在一种可能的设计中,由于拍摄设备的存储介质的写入速度、型号等参数会有所不同,可以为一个拍摄设备配置N个存储介质,其中,N为大于或等于2的正整数。例如,可能存在某些存储介质无法达到当前的写入速度,则可以同时选择多个存储介质来并行写入视频数据以适应当前视频数据的写入速度,在拍摄完毕后,可以将存储在各存储介质中的视频数据合并为完整的视频文件。由此可见,在拍摄之前,可以根据存储介质的写入速度、和所述理论写入速度选择第一目标存储介质,则在根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的第一目标存储介质时,满足以下之一:
若所述N个存储介质中的至少2个存储介质的实际写入速度均大于或等于所述理论写入速度,则按照用户配置信息或均衡算法选择所述第一目标存储介质;
若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则从所述至少2个存储介质中选择至少2个目的存储介质作为所述第一目标存储介质;
或者,若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则将实际写入速度均大于或等于所述理论写入速度的存储介质作为临时存储介质。
在一种可能的设计中,根据存储介质的写入速度、和所述理论写入速度选择第一目标存储介质时,将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质,至少包括以下两种情况:
1、若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则按照均衡算法将所述视频数据分为至少两块数据,并将所述至少两块数据分别写入所述至少2个目的存储介质;
在所述拍摄设备的空闲时间或低负载时,将写入所述至少2个目的存储介质的所述至少两块数据合并,并迁移至所述N个存储介质中的第二目标存储介质,该第二目标存储介质为N各存储介质中的任意存储介质,可以是除所述至少2个目的存储介质之外的任意存储介质,可以是除所述至少2个目的存储介质之外的任意存储介质,可以是内部存储介质,也可以是外部存储介质,也可以是内部存储介质与外部存储介质的组合,具体的存储介质数量、类型或组合方式均不作限定。
其中,合并的过程为:读取所述至少两块数据中各数据的索引信息,然后根据所述至少两块数据中每块数据对应的索引信息,按照帧数据的时间戳将所述至少两块数据拼接,形成一个视频文件。
2、若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则将所述视频数据写入所述临时存储介质;
在所述拍摄设备的空闲时间或低负载时,将写入所述临时存储介质的所述视频数据迁移至所述N个存储介质中除所述临时存储介质之外的第三目标存储介质,该第三目标存储介质可由用户自行选择。
在第2种情况下,若当前拍摄设备的存储模式为自动存储模式,则可将写入该临时存储介质的视频数据不作迁移,仍存储于该临时存储介质,即将该临时存储介质作为上述第一目标存储介质。
在一种可能的设计中,为提高写入视频数据的稳定性,在拍摄过程中,为视频数据建立索引文件之后,所述采用乒乓交替方式将所述索引文件写入所述第一目标存储介质中之前,本申请还可以进行:
按队列管理方式对所述视频数据进行监控;
在编码完成的帧数据进入写队列之前,判断所述写队列当前的占用率高于第一阈值时,则确定写操作异常;
根据所述预设选择规则从所述N个存储介质中选择第四目标存储介质,将未进入所述写队列的已编码的帧数据写入所述第四目标存储介质。
在一种可能的设计中,还可以根据存储模式和写入速度选择第一目标存储介质,故根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的所述第一目标存储介质,至少满足以下之一:
若所述拍摄设备的外部存储介质的实际写入速度小于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述拍摄设备的内部存储介质作为所述第一目标存储介质;
若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为内部存储模式,或当前设定的存储模式为自动模式,则选择所述内部存储介质作为所述第一目标存储介质;
或者,若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述外部存储介质作为所述第一目标存储介质。
在一种可能的设计中,当所述拍摄设备当前设定的存储模式为外部存储模式,且选择所述内部存储介质作为所述第一目标存储介质时,所述方法还包括:
在将所述视频数据写入所述内部存储介质时,将写入所述内部存储介质中的视频数据同步至所述外部存储介质。通过本设计,无需等到拍摄停止后再同步,若出现了内部存储介质的部分区域速度不够,可以将其他视频数据临时放到外部存储介质,最终做修复,从而保证数据的可用性。
在一种可能的设计中,在将所述视频数据写入所述内部存储介质过程中,当所述内部存储介质的实际写入速度低于所述理论写入速度时,则将未写入所述内部存储介质的待修复数据写入所述外部存储介质,以便通过所述拍摄设备内置的应用或用户配置方式将所述待修复数据写入所述内部存储介质。其中,内置的应用可以是拍摄设备的交互界面,例如虚拟按钮或者物理按钮,用户配置方式一般通过APP或者物理按钮来响应用户的指令。
在一种可能的设计中,在选择所述外部存储介质作为所述第一目标存储介质时,若视频数据无法写入所述外部存储介质,则将第一目标存储介质切换为所述内部存储介质,并在所述内部存储介质中记录切换时刻之后写入所述内部存储介质中的帧数据,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述内部存储介质中的帧数据与写入所述外部存储介质的帧数据合并,并迁移至备用存储介质。
通过提供灵活的存储机制,可以应付多种写入受限的场景,从而保证数据的完整度和有效性。
在一种可能的设计中,还可以实时监测写入状态,在写入状态异常(例如,进入写入速度慢区、死区、其他外界突发因素导致的无法写入)时,切换到备份存储介质,进一步提高数据的稳定性和完整性。具体为:
在将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质的过程中,实时监测写入状态;
若监测到将所述拍摄设备拍摄的视频数据无法写入所述第一目标存储介质,则将第一目标存储介质切换为备用存储介质,将所述拍摄设备拍摄的视频数据写入所述备用存储介质,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述备用存储介质中的帧数据与写入所述第一目标存储介质的帧数据合并,形成一个视频文件。
在一种可能的设计中,在完成拍摄后,对需要修复的视频数据进行修复时,考虑到视频文件的大小不一,可以根据存储介质的实际空闲容量来选择用于存储修复后的视频文件,具体为:
从所述外部存储介质和所述内部存储介质中读取所述索引文件,从所述索引文件中提取目标索引信息;例如可以选择索引信息最完整且修复信息最多的索引信息作为目标索引信息,以减少合并多个修复数据的操作。
根据均衡算法选择用于存储修复所述待修复数据后的所述视频数据的第五目标存储介质,并根据所述目标索引信息获取所述待修复数据;
使用所述待修复数据对所述视频数据进行修复,以及将修复后的所述视频数据写入所述第五目标存储介质,其中,第五目标存储介质可以是N各存储介质中的任意存储介质,可以是内部存储介质,也可以是外部存储介质,也可以是内部存储介质与外部存储介质的组合,具体的存储介质数量、类型或组合方式均不作限定。
在一种可能的设计中,所述目标索引信息包括索引号、帧头信息、所述待修复数据中每个帧数据存储的索引信息、以及切换时刻之后写入所述内部存储介质中的帧数据的索引信息,还可以包括存储所述拍摄设备拍摄的视频数据的存储介质的编号。通过提供每帧数据的存储信息,使得后期在修复时可以快速、有针对性、准确的定位到想要修复的数据。
在一种可能的设计中,为进一步的提高修复数据的效率,还可以先获取待修复数据的所有索引信息,然后使用这些索引信息为待修复数据建立一个索引表,实现在修复数据时,可以直接调用、定位修复的数据,有效缩短修复数据的查找时间。即上述目标索引信息包括至少一个索引信息,所述从所述索引文件中提取目标索引信息之后,所述使用所述待修复数据对所述视频数据进行修复之前,所述方法还包括:
根据索引号的编排规则,将至少一个索引信息重组为一个索引表;
则根据所述索引表指示的所述待修复数据中帧数据的时间戳,对所述视频数据进行修复。
在一种可能的设计中,存储介质的实际写入速度通过以下步骤得到:
通过读取存储介质的状态寄存器,或对存储介质进行读写速度测试,得到存储介质的实际写入速度,所述读写速度包括连续写入速度和随机写入速度。
本发明第二方面还提供一种存储设备,该存储设备具有实现上述方法设计中存储设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
一种可能的设计中,所述存储设备包括存储模块,处理模块以及写模块;
所述存储模块包括N个存储介质,其中,N为大于或等于2的正整数;
所述处理模块,用于在拍摄之前,根据预设选择规则在所述N个存储介质中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质;
所述写模块,用于将所述拍摄设备拍摄的视频数据写入所述处理模块选择的所述第一目标存储介质;
所述预设选择规则至少包括以下项之一:根据所述拍摄设备当前拍摄设定的视频码率选择所述第一目标存储介质,根据所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质,根据所述拍摄设备当前拍摄设定的视频码率、以及所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质根据均衡算法选择所述第一目标存储介质,或根据所述拍摄设备中内置的应用计算得到所述第一目标存储介质。
一种可能的设计中,所述存储设备包括:
处理器、N个存储器、控制器;
其中,N为大于或等于2的正整数,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行以下操作:
在拍摄之前,根据预设选择规则在所述拍摄设备中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质;
通过所述控制器将所述拍摄设备拍摄的视频数据写入选择的所述第一目标存储介质;
所述预设选择规则至少包括以下项之一:根据所述拍摄设备当前拍摄设定的视频码率选择所述第一目标存储介质,根据所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质,根据所述拍摄设备当前拍摄设定的视频码率、以及所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质根据均衡算法选择所述第一目标存储介质,或根据所述拍摄设备中内置的应用计算得到所述第一目标存储介质。
相较于现有技术,本发明提供的方案中,在拍摄之前根据预设选择规则动态的选择适合写入拍摄数据的第一目标存储介质,有效提高写入速度的可靠性以及录象流水过程的流畅性,避免写入速度不足导致的卡顿、画面不流畅等问题。
附图说明
图1为本发明实施例中数据存储的方法的一种流程示意图;
图2为本发明实施例中数据存储的方法的另一种流程示意图;
图3为本发明实施例拍摄设备的一种结构示意图;
图4为本发明实施例拍摄设备的另一种结构示意图;
图5为本发明实施例拍摄设备的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本文中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本文中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分不到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本发明实施例方案的目的。
本发明实施例提供了一种数据存储的方法及设备,用于存储技术领域。以下对本文中所出现的技术名词进行详细说明。
贯穿本文,拍摄设备包括拍摄装置、处理模块、写模块、至少2个存储介质,其中,写模块包括缓存模块和回写模块,缓存模块用于将写入存储介质的数据缓存至缓存介质;回写模块用于将缓存模块缓存至缓存介质的数据写入存储介质;缓存介质为至少2个存储介质中的一种存储介质,读/写速度较快。
本发明中的拍摄设备可应用于各种拍摄场景,尤其适用于对实时拍摄的效率要求较高的场景,例如拍摄设备搭载于飞行器、地面端的电影录制、运动赛况的实时录制等场景。
本发明中的拍摄设备可以预留多种类型的接口,可支持多种类型的外接存储介质,方便用户选择。该拍摄设备可以是移动终端、平板电脑、数码相机、单反相机等具有拍摄功能的装置。
为解决写入速度的可靠性较低的问题,本发明实施主要提供以下技术方案:
1、拍摄设备采用多个存储介质。
存储介质可以采用非易失性存储器,存储介质的数量可以配置最少两个,可以是多种类型的存储介质的组合,存储介质的容量可相同或不相同,具体的存储介质的数量、类型或容量本文均不作限定。另外,各存储介质可支持内置或外接扩展等方式,具体的安装方式也不限定。
2、根据预设选择规则选择用于存储视频数据的存储介质。
例如,该预设选择规则可以是,根据存储介质的实际写入速度、当前的存储模式或拍摄的视频码率等选择合适的存储介质,以适应视频数据的写入速度,将拍摄设备的写性能发挥到最大。
需要说明的是,选择录像阶段用于存储视频数据的存储介质需要考虑的是:实际写入速度需要足够支持录像的存储介质。在后期需要选择长期保存视频数据的存储介质时需要考虑的则是:存储介质的空闲容量,而不用考虑实际写入速度。可以理解的是,选择录像时用的存储介质和选择存储用的介质可以相同或不同,或者有交集,即可以将录像时使用的存储介质中的视频数据部分或全部迁移至其他存储介质,也可以不迁移,继续保存在录像时使用的存储介质中。
请参照图1,以下对本发明实施例中的一种数据存储的方法进行描述,所述拍摄设备包括包括N个存储介质,其中,N为大于或等于2的正整数,N各存储介质至少包括内部存储介质、和外部存储介质中的一种,存储介质的类型可相同或不同,本发明实施例包括:
101、在拍摄之前,根据预设选择规则在所述N个存储介质中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质;
所述预设选择规则至少包括以下项之一:根据所述拍摄设备当前拍摄设定的视频码率选择所述第一目标存储介质,根据所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质,根据所述拍摄设备当前拍摄设定的视频码率、以及所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质根据均衡算法选择所述第一目标存储介质,或根据所述拍摄设备中内置的应用计算得到所述第一目标存储介质。
102、将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质。
可选的,在一些发明实施例中,为实现后期对存储的视频文件进行针对性、有效的修复,还可以在存储上述视频数据过程中,对相应视频数据的存储信息进行记录和备份,具体体现为:
在所述拍摄设备拍摄过程中,为拍摄的视频数据建立索引文件,所述索引文件包括所述视频数据的索引信息;
采用乒乓交替方式将所述索引文件写入所述第一目标存储介质和/或备用存储介质。其中,乒乓交替方式是指每次只更新第一目标存储介质中的一个存储介质的索引信息,从而避免在更新的瞬间断电导致的信息异常等情况。另外,通过将索引文件同时写入备用存储介质实现对索引文件的备份,能够进一步加强数据备份机制。
可选的,所述索引文件包括至少一个索引信息,每个所述索引信息包括索引号、帧数据的时间戳、帧数据在所述视频数据中的偏移以及帧数据的长度,还可以包括存储帧数据的存储介质的编号。可选的,索引信息可以是针对I帧、P帧或B帧中的至少一个的写入记录,例如同时针对I帧、P帧和B帧进行记录时,则后期可以根据I帧、P帧和B帧的时间戳等信息形成完整的视频文件时,相较于只针对I帧、P帧和B帧中的一种或两种类型的帧记录,在拼接帧数据时不容易出错。
可选的,在存储拍摄视频的过程中,还可以根据所述索引文件对所述视频数据定时进行增量备份或全备份。例如,可以采用快照或类似技术进行备份操作,备份的时刻可以根据用户需求或由软件配置,可以采用第三方的备份软件实现增量备份或全备份,具体不作限定。
其中,全备份是指对本次备份时刻之前的所有数据进行一次备份,或者是基础备份。增量备份是指对上一次备份时刻到本次备份时刻之间的差异数据进行备份,即在前一次备份的基础上进行的增量备份。
本发明实施例中,在拍摄之前根据预设选择规则动态的选择适合写入拍摄数据的第一目标存储介质,有效提高写入速度的可靠性以及录象流水过程的流畅性,避免写入速度不足导致的卡顿、画面不流畅等问题。
具体的数据存储过程可参考图2所示的流程示意图,本处不作赘述。
可选的,在一些发明实施例中,在拍摄之前,为适应视频数据的写入速度,可以根据存储模式和视频码率选择第一目标存储介质,具体为:
在拍摄之前,根据目的存储介质和所述拍摄设备当前拍摄设定的视频码率计算将拍摄的视频数据写入目的存储介质所需的理论写入速度,所述目的存储介质为所述拍摄设备当前设定的存储模式对应的用于存储所述视频数据的存储介质;
根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的第一目标存储介质。一定程度上能够提高视频数据的写入速度。
可选的,在一些发明实施例中,由于拍摄设备的存储介质的写入速度、型号等参数会有所不同,可以为一个拍摄设备配置N个存储介质,其中,N为大于或等于2的正整数。例如,可能存在某些存储介质无法达到当前的写入速度,则可以同时选择多个存储介质来并行写入视频数据以适应当前视频数据的写入速度,在拍摄完毕后,可以将存储在各存储介质中的视频数据合并为完整的视频文件。由此可见,在拍摄之前,可以根据存储介质的写入速度、和所述理论写入速度选择第一目标存储介质,则在根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的第一目标存储介质时,至少满足以下情况之一:
1、若所述N个存储介质中的至少2个存储介质的实际写入速度均大于或等于所述理论写入速度,则按照用户配置信息或均衡算法选择所述第一目标存储介质。
举例来说,若有2个存储介质的实际写入速度均大于或等于理论写入速度,则可以采用均衡算法选择其中一个,或者同时选择这两个。N个存储介质中每个存储介质的实际写入速度均大于或等于理论写入速度时,同理,不作赘述。
2、若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则从所述至少2个存储介质中选择至少2个目的存储介质作为所述第一目标存储介质。
进一步的,按照均衡算法将所述视频数据分为至少两块数据,并将所述至少两块数据分别写入所述至少2个目的存储介质,在所述拍摄设备的空闲时间或低负载时,将写入所述至少2个目的存储介质的所述至少两块数据合并,并迁移至所述N个存储介质中的第二目标存储介质,该第二目标存储介质为N各存储介质中的任意存储介质,可以是除所述至少2个目的存储介质之外的任意存储介质,可以是除所述至少2个目的存储介质之外的任意存储介质,可以是内部存储介质,也可以是外部存储介质,也可以是内部存储介质与外部存储介质的组合,具体的存储介质数量、类型或组合方式均不作限定。
其中,合并的过程为:读取所述至少两块数据中各数据的索引信息,然后根据所述至少两块数据中每块数据对应的索引信息,按照帧数据的时间戳将所述至少两块数据拼接,形成一个视频文件。可以理解的是,不管是针对待修复数据的合并、还是针对存储于多个存储介质的多块数据的合并等类似的数据合并场景,均可参考此处说明,后文类似之处均不再赘述。
3、若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则将实际写入速度均大于或等于所述理论写入速度的存储介质作为临时存储介质。
进一步的,将所述视频数据写入所述临时存储介质;
在所述拍摄设备的空闲时间或低负载时,将写入所述临时存储介质的所述视频数据迁移至所述N个存储介质中除所述临时存储介质之外的第三目标存储介质,该第三目标存储介质由用户自行选择。
在第3种情况下,若当前拍摄设备的存储模式为自动存储模式,则可以不用对写入该临时存储介质的视频数据进行迁移,仍存储于该临时存储介质,即将该临时存储介质作为长期保存视频数据的上述第一目标存储介质。
可选的,在一些发明实施例中,为提高写入视频数据的稳定性,在拍摄过程中,为视频数据建立索引文件之后,所述采用乒乓交替方式将所述索引文件写入所述第一目标存储介质中之前,本申请还可以进行写入速度的监控,并提供灵活的异常处理机制,例如:
一、根据写队列当前的占用率判断写操作是否异常。
具体为:按队列管理方式对所述视频数据进行监控;
在编码完成的帧数据进入写队列之前,判断所述写队列当前的占用率高于第一阈值时,则确定写操作异常;
在确定写操作异常后,则根据所述预设选择规则从所述N个存储介质中选择第四目标存储介质,将未进入所述写队列的已编码的帧数据写入所述第四目标存储介质。
二、实时监测写入状态。
在写入状态异常(例如,进入写入速度慢区、死区、其他外界突发因素导致的无法写入)时,切换到备份存储介质,进一步提高数据的稳定性和完整性。
具体为:在将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质的过程中,实时监测写入状态;
若监测到将所述拍摄设备拍摄的视频数据无法写入所述第一目标存储介质,则将第一目标存储介质切换为备用存储介质,将所述拍摄设备拍摄的视频数据写入所述备用存储介质,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述备用存储介质中的帧数据与写入所述第一目标存储介质的帧数据合并,形成一个视频文件。
可选的,在一些发明实施例中,还可以根据存储模式和写入速度选择第一目标存储介质,故根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的所述第一目标存储介质,至少满足以下之一:
若所述拍摄设备的外部存储介质的实际写入速度小于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述拍摄设备的内部存储介质作为所述第一目标存储介质;
若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为内部存储模式,或当前设定的存储模式为自动模式,则选择所述内部存储介质作为所述第一目标存储介质;
或者,若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述外部存储介质作为所述第一目标存储介质。
可选的,在一些发明实施例中,当所述拍摄设备当前设定的存储模式为外部存储模式,且选择所述内部存储介质作为所述第一目标存储介质时,所述方法还包括:
在将所述视频数据写入所述内部存储介质时,将写入所述内部存储介质中的视频数据同步至所述外部存储介质。通过本可能的设计,无需等到拍摄停止后再同步,可以缩短用户等待至同步到外部存储介质的时间。
并且,写入所述内部存储介质,和同步至外部存储介质为两个任务,可以为这两个任务设置优先级,以保证同步不影响拍摄的效率。另外,若出现了内部存储介质的部分区域速度不够,可以将其他视频数据临时放到外部存储介质,最终做修复,从而保证数据的可用性。
可选的,在一些发明实施例中,在将所述视频数据写入所述内部存储介质过程中,当所述内部存储介质的实际写入速度低于所述理论写入速度时,则将未写入所述内部存储介质的待修复数据写入所述外部存储介质,以便通过所述拍摄设备内置的应用或用户配置方式将所述待修复数据写入所述内部存储介质。其中,内置的应用可以是拍摄设备的交互界面,例如虚拟按钮或者物理按钮,用户配置方式一般通过内置的应用(英文全称:Application,英文简称:App)或者物理按钮来响应用户的指令。
可选的,在一些发明实施例中,在选择所述外部存储介质作为所述第一目标存储介质时,若视频数据无法写入所述外部存储介质,则将第一目标存储介质切换为所述内部存储介质,并在所述内部存储介质中记录切换时刻之后写入所述内部存储介质中的帧数据。在所述拍摄设备的空闲时间或低负载时,再通过所述拍摄设备内置的应用或用户配置方式将写入所述内部存储介质中的帧数据与写入所述外部存储介质的帧数据合并,并迁移至备用存储介质。合并的方式不再赘述。
通过提供灵活的存储机制,可以应付多种写入受限的场景,从而保证数据的完整度和有效性。
可选的,在一些发明实施例中,在完成拍摄后,对需要修复的视频数据进行修复时,考虑到视频文件的大小不一,可以根据存储介质的实际空闲容量来选择用于存储修复后的视频文件,具体为:
从所述外部存储介质和所述内部存储介质中读取所述索引文件,从所述索引文件中提取目标索引信息;例如可以选择索引信息最完整且修复信息最多的索引信息作为目标索引信息,以减少合并多个修复数据的操作。
根据均衡算法选择用于存储修复所述待修复数据后的所述视频数据的第五目标存储介质,并根据所述目标索引信息获取所述待修复数据,即根据目标索引信息的指示去对应的存储介质中提取相应的待修复数据。
使用所述待修复数据对所述视频数据进行修复,以及将修复后的所述视频数据写入所述第五目标存储介质。该修复后的所述视频数据为最终合并后的完整视频文件。其中,第五目标存储介质可以是N各存储介质中的任意存储介质,可以是内部存储介质,也可以是外部存储介质,也可以是内部存储介质与外部存储介质的组合,具体的存储介质数量、类型或组合方式均不作限定。
例如,该第五目标存储介质可以是空闲容量最多的存储介质,也可以由用户指定第五目标存储介质,原则上要能够保证空闲容量大于或等于修复后的所述视频数据的实际大小。可选的,为尽可能的减少数据的迁移,在修复后的所述视频数据写入所述第五目标存储介质时,还可以将修复的数据都写入数据大小最大的存储介质,即将数据大小最大的存储介质作为第五目标存储介质。
可选的,所述目标索引信息包括索引号、帧头信息、所述待修复数据中每个帧数据存储的索引信息、以及切换时刻之后写入所述内部存储介质中的帧数据的索引信息,还可以包括存储所述拍摄设备拍摄的视频数据的存储介质的编号,以便在拼接帧数据时,能够有序的从对应的存储介质中提取帧数据,从而提高处理效率。通过提供每帧数据的存储信息,使得后期在修复时可以快速、有针对性、准确的定位到想要修复的数据。可以理解的是,切换时刻之后写入所述内部存储介质中的帧数据的索引信息主要是用在:将各分块的视频数据存储存储于多个不同的存储介质时,保证后续修复视频文件时,能够重组准确的帧上下文,使得按照拍摄时的帧数据的顺序进行修复,从而保证视频文件的完整性。其中,切换时刻可以包括:内/外部存储介质之间的切换时刻,异常(例如拔出正在写入视频数据的外部存储介质、断电、存储介质故障、写入存储空间不足等)时切换存储介质的切换时刻,具体不作限定。
可选的,在一些发明实施例中,为进一步的提高修复数据的效率,还可以先获取待修复数据的所有索引信息,然后使用这些索引信息为待修复数据建立一个索引表,实现在修复数据时,可以直接调用、定位对应的存储介质中待修复的数据,有效保证数据的准确度,以及缩短修复数据的查找时间。即上述目标索引信息包括至少一个索引信息,所述从所述索引文件中提取目标索引信息之后,所述使用所述待修复数据对所述视频数据进行修复之前,所述方法还包括:
根据索引号的编排规则,将至少一个索引信息重组为一个索引表;
然后根据所述索引表指示的所述待修复数据中帧数据的时间戳,对所述视频数据进行修复,具体来说,则是按照帧数据的顺序将多个帧数据拼接,然后替换原视频文件中故障的数据,从而形成一个完整的视频文件。
可选的,在一些发明实施例中,存储介质的实际写入速度通过以下步骤得到:
通过读取存储介质的状态寄存器,或对存储介质进行读写速度测试,得到存储介质的实际写入速度,所述读写速度包括连续写入速度和随机写入速度。
例如,所述目的存储介质为外部存储介质时,可执行对外部存储介质进行写入速度的测试,即通过读取所述目的存储介质的状态寄存器,或对所述目的存储介质进行读写速度测试,得到所述目的介质的实际写入速度,所述读写速度包括连续写入速度和随机写入速度。
请参照图3,以下对本发明实施例中用于执行上述图1或图2中数据存储的方法的拍摄设备30进行描述,需要说明的是,本实施例中,处理模块301对应的实体设备可以是处理器,获取模块302对应的实体设备可以是输入/输出单元,写模块303对应的实体设备可以是控制器,处理器可通过调用存储在存储介质中的程序代码执行上述图1和图2所对应的方法。其中,处理模块301、获取模块302、写模块303可以分别通过专有电路来实现,具体实现方式参见现有技术,这里不作赘述。当拍摄设备30具有如图5所示的结构时,图5中的处理器、发射器和接收器实现前述对应该装置的装置实施例提供的处理模块、获取模块和写模块相同或相似的功能,图5中的存储器存储处理器执行上述数据存储的方法时需要调用的程序代码。
本发明实施例中,所述拍摄设备30包括存储模块,处理模块以及写模块;
所述存储模块包括N个存储介质,其中,N为大于或等于2的正整数;
所述处理模块301,用于在拍摄之前,根据预设选择规则在所述N个存储介质中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质;
获取模块302,用于获取所述拍摄设备拍摄的视频数据;
所述写模块303,用于将所述拍摄设备拍摄的视频数据写入所述处理模块301选择的所述第一目标存储介质;
所述预设选择规则至少包括以下项之一:根据所述拍摄设备当前拍摄设定的视频码率选择所述第一目标存储介质,根据所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质,根据所述拍摄设备当前拍摄设定的视频码率、以及所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质根据均衡算法选择所述第一目标存储介质,或根据所述拍摄设备中内置的应用计算得到所述第一目标存储介质。
可选的,在一些发明实施例中,所述处理模块301还用于:
在所述拍摄设备拍摄过程中,为拍摄的视频数据建立索引文件,所述索引文件包括所述视频数据的索引信息;
采用乒乓交替方式通过所述写模块303将所述索引文件写入所述第一目标存储介质和/或备用存储介质。
进一步,所述处理模块301还用于:
根据所述索引文件对所述视频数据定时进行增量备份或全备份。
其中,所述索引文件包括至少一个索引信息,每个所述索引信息包括索引号、帧数据的时间戳、帧数据在所述视频数据中的偏移以及帧数据的长度,还可以包括存储帧数据的存储介质的编号。
可选的,在一些发明实施例中,所述处理模块301具体用于:
在拍摄之前,根据目的存储介质和所述拍摄设备当前拍摄设定的视频码率计算将拍摄的视频数据写入目的存储介质所需的理论写入速度,所述目的存储介质为所述拍摄设备当前设定的存储模式对应的用于存储所述视频数据的存储介质;
根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的第一目标存储介质。
可选的,在一些发明实施例中,所述拍摄设备包括N个存储介质,其中,N为大于或等于2的正整数;所述处理模块301具体用于执行以下之一:
若所述N个存储介质中的至少2个存储介质的实际写入速度均大于或等于所述理论写入速度,则按照用户配置信息或均衡算法选择所述第一目标存储介质;
若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则从所述至少2个存储介质中选择至少2个目的存储介质作为所述第一目标存储介质;按照均衡算法将所述视频数据分为至少两块数据,并通过所述写模块303将所述至少两块数据分别写入所述至少2个目的存储介质,并在所述拍摄设备的空闲时间或低负载时,将写入所述至少2个目的存储介质的所述至少两块数据合并后,通过所述写模块303迁移至所述N个存储介质中的第二目标存储介质,该第二目标存储介质为N各存储介质中的任意存储介质,可以是除所述至少2个目的存储介质之外的任意存储介质,可以是内部存储介质,也可以是外部存储介质,也可以是内部存储介质与外部存储介质的组合,具体的存储介质数量、类型或组合方式均不作限定。
或者,若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则将实际写入速度均大于或等于所述理论写入速度的存储介质作为临时存储介质,通过所述写模块303将所述视频数据写入所述临时存储介质,并在所述拍摄设备的空闲时间或低负载时,将写入所述临时存储介质的所述视频数据通过所述写模块303迁移至所述N个存储介质中除所述临时存储介质之外的第三目标存储介质,该第三目标存储介质由用户自行选择,或者,如果当前拍摄设备的存储模式为自动存储模式,则可以不用迁移,继续存储在该临时存储介质中。
可选的,在一些发明实施例中,所述拍摄设备30还包括监控模块,在拍摄过程中,所述处理模块301为视频数据建立索引文件之后,采用乒乓交替方式通过所述写模块303将所述视频数据和所述索引文件写入拍摄设备的存储介质中之前,还用于:
通过所述监控模块按队列管理方式对所述视频数据进行监控;
在编码完成的帧数据进入写队列之前,判断所述写队列当前的占用率高于第一阈值时,则确定写操作异常;
根据所述预设选择规则从所述N个存储介质中选择第四目标存储介质,通过所述写模块303将未进入所述写队列的已编码的帧数据写入所述第四目标存储介质。
可选的,在一些发明实施例中,所述处理模块301至少还执行以下之一:
若所述拍摄设备的外部存储介质的实际写入速度小于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述拍摄设备的内部存储介质作为所述第一目标存储介质;
若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为内部存储模式,或当前设定的存储模式为自动模式,则选择所述内部存储介质作为所述第一目标存储介质;
或者,若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述外部存储介质作为所述第一目标存储介质。
可选的,在一些发明实施例中,当所述拍摄设备当前设定的存储模式为外部存储模式,且选择所述内部存储介质作为所述第一目标存储介质时,所述处理模块301还用于:
在将所述视频数据写入所述内部存储介质时,通过所述写模块303将写入所述内部存储介质中的视频数据同步至所述外部存储介质。
可选的,在一些发明实施例中,在将所述视频数据写入所述内部存储介质过程中,当所述内部存储介质的实际写入速度低于所述理论写入速度时,则所述处理模块301通过所述写模块303将未写入所述内部存储介质的待修复数据写入所述外部存储介质,以便在拍摄设备空闲或负载较小时,通过所述拍摄设备内置的应用或用户配置方式将所述待修复数据写入所述内部存储介质。
可选的,在一些发明实施例中,在选择所述外部存储介质作为所述第一目标存储介质时,若视频数据无法写入所述外部存储介质,则所述处理模块301将第一目标存储介质切换为所述内部存储介质,并在所述内部存储介质中记录切换时刻之后写入所述内部存储介质中的帧数据。在所述拍摄设备的空闲时间或低负载时,再通过所述拍摄设备内置的应用或用户配置方式将写入所述内部存储介质中的帧数据与写入所述外部存储介质的帧数据合并,并迁移至备用存储介质。
或者,通过所述监控模块用于在将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质的过程中,实时监测写入状态;
若所述监控模块监测到将所述拍摄设备拍摄的视频数据无法写入所述第一目标存储介质,则所述处理模块还用于将第一目标存储介质切换为备用存储介质,通过所述写模块将所述拍摄设备拍摄的视频数据写入所述备用存储介质,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述备用存储介质中的帧数据与写入所述第一目标存储介质的帧数据合并,形成一个视频文件。
可选的,在一些发明实施例中,所述处理模块301还用于:
从所述外部存储介质和所述内部存储介质中读取所述索引文件,从所述索引文件中提取目标索引信息;
根据均衡算法选择用于存储修复所述待修复数据后的所述视频数据的第五目标存储介质,并根据所述目标索引信息获取所述待修复数据;
使用所述待修复数据对所述视频数据进行修复,以及通过所述写模块303将修复后的所述视频数据写入所述第五目标存储介质。
其中,第五目标存储介质可以是N各存储介质中的任意存储介质,可以是内部存储介质,也可以是外部存储介质,也可以是内部存储介质与外部存储介质的组合,具体的存储介质数量、类型或组合方式均不作限定。
可选的,所述目标索引信息包括索引号、帧头信息、所述待修复数据中每个帧数据存储的索引信息、以及切换时刻之后写入所述内部存储介质中的帧数据的索引信息,还可以包括存储所述拍摄设备拍摄的视频数据的存储介质的编号。
可选的,在一些发明实施例中,所述目标索引信息包括至少一个索引信息,所述处理模块301在从所述索引文件中提取目标索引信息之后,使用所述待修复数据对所述视频数据进行修复之前,还用于:
根据索引号的编排规则,将至少一个索引信息重组为一个索引表;
所述使用所述待修复数据对所述视频数据进行修复,包括:
根据所述索引表指示的所述待修复数据中帧数据的时间戳,对所述视频数据进行修复。
可选的,在一些发明实施例中,所述处理模块301通过执行以下步骤得到存储介质的实际写入速度:
读取存储介质的状态寄存器,或对存储介质进行读写速度测试,得到存储介质的实际写入速度,所述读写速度包括连续写入速度和随机写入速度。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (57)
1.一种数据存储的方法,所述方法应用于拍摄设备,其特征在于,所述拍摄设备包括N个存储介质,N为大于或等于2的正整数,所述方法包括:
在拍摄之前,根据预设选择规则在所述N个存储介质中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质;
将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质;
所述预设选择规则至少包括以下项之一:根据所述拍摄设备当前拍摄设定的视频码率选择所述第一目标存储介质,根据所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质,根据所述拍摄设备当前拍摄设定的视频码率、以及所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质根据均衡算法选择所述第一目标存储介质,或根据所述拍摄设备中内置的应用计算得到所述第一目标存储介质。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述拍摄设备拍摄过程中,为拍摄的视频数据建立索引文件,所述索引文件包括所述视频数据的索引信息;
采用乒乓交替方式将所述索引文件写入所述第一目标存储介质和/或备用存储介质。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述索引文件对所述视频数据定时进行增量备份或全备份。
4.根据权利要求3所述的方法,其特征在于,所述索引文件包括至少一个索引信息,每个所述索引信息包括索引号、帧数据的时间戳、帧数据在所述视频数据中的偏移以及帧数据的长度。
5.根据权利要求1-4任一所述的方法,其特征在于,所述根据预设选择规则在所述拍摄设备中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质,包括:
在拍摄之前,根据目的存储介质和所述拍摄设备当前拍摄设定的视频码率计算将拍摄的视频数据写入目的存储介质所需的理论写入速度,所述目的存储介质为所述拍摄设备当前设定的存储模式对应的用于存储所述视频数据的存储介质;
根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的第一目标存储介质。
6.根据权利要求5所述的方法,其特征在于,所述根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的第一目标存储介质,包括以下之一:
若所述N个存储介质中的至少2个存储介质的实际写入速度均大于或等于所述理论写入速度,则按照用户配置信息或均衡算法选择所述第一目标存储介质;
若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则从所述至少2个存储介质中选择至少2个目的存储介质作为所述第一目标存储介质;
或者,若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则将实际写入速度均大于或等于所述理论写入速度的存储介质作为临时存储介质。
7.根据权利要求6所述的方法,其特征在于,所述将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质,包括:
若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则按照均衡算法将所述视频数据分为至少两块数据,并将所述至少两块数据分别写入所述至少2个目的存储介质;
所述方法还包括:
在所述拍摄设备的空闲时间或低负载时,将写入所述至少2个目的存储介质的所述至少两块数据合并,并迁移至所述N个存储介质中的第二目标存储介质。
8.根据权利要求7所述的方法,其特征在于,所述将写入所述至少2个目的存储介质的所述至少两块数据合并,包括:
根据所述至少两块数据中每块数据对应的索引信息,按照帧数据的时间戳将所述至少两块数据拼接,形成一个视频文件。
9.根据权利要求6所述的方法,其特征在于,所述将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质,包括:
若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则将所述视频数据写入所述临时存储介质;
所述方法还包括:
在所述拍摄设备的空闲时间或低负载时,将写入所述临时存储介质的所述视频数据迁移至所述N个存储介质中除所述临时存储介质之外的第三目标存储介质。
10.根据权利要求6至9任一所述的方法,其特征在于,所述在拍摄过程中,为视频数据建立索引文件之后,所述采用乒乓交替方式将所述索引文件写入所述第一目标存储介质中之前,还包括:
按队列管理方式对所述视频数据进行监控;
在编码完成的帧数据进入写队列之前,判断所述写队列当前的占用率高于第一阈值时,则确定写操作异常;
根据所述预设选择规则从所述N个存储介质中选择第四目标存储介质,将所述写队列中等待写入的帧数据,以及未进入所述写队列的已编码的帧数据写入所述第四目标存储介质。
11.根据权利要求5所述的方法,其特征在于,所述根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的所述第一目标存储介质,至少包括以下之一:
若所述拍摄设备的外部存储介质的实际写入速度小于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述拍摄设备的内部存储介质作为所述第一目标存储介质;
若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为内部存储模式,或当前设定的存储模式为自动模式,则选择所述内部存储介质作为所述第一目标存储介质;
或者,若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述外部存储介质作为所述第一目标存储介质。
12.根据权利要求11所述的方法,其特征在于,当所述拍摄设备当前设定的存储模式为外部存储模式,且选择所述内部存储介质作为所述第一目标存储介质时,所述方法还包括:
在将所述视频数据写入所述内部存储介质时,将写入所述内部存储介质中的视频数据同步至所述外部存储介质。
13.根据权利要求12所述的方法,其特征在于,在将所述视频数据写入所述内部存储介质过程中,当所述内部存储介质的实际写入速度低于所述理论写入速度时,则将未写入所述内部存储介质的待修复数据写入所述外部存储介质,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将所述待修复数据写入所述内部存储介质。
14.根据权利要求11所述的方法,其特征在于,在选择所述外部存储介质作为所述第一目标存储介质时,若视频数据无法写入所述外部存储介质,则将第一目标存储介质切换为所述内部存储介质,并在所述内部存储介质中记录切换时刻之后写入所述内部存储介质中的帧数据,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述内部存储介质中的帧数据与写入所述外部存储介质的帧数据合并,并迁移至备用存储介质。
15.根据权利要求1-14任一所述的方法,其特征在于,所述方法还包括:
在将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质的过程中,实时监测写入状态;
若监测到将所述拍摄设备拍摄的视频数据无法写入所述第一目标存储介质,则将第一目标存储介质切换为备用存储介质,将所述拍摄设备拍摄的视频数据写入所述备用存储介质,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述备用存储介质中的帧数据与写入所述第一目标存储介质的帧数据合并,形成一个视频文件。
16.根据权利要求4-13任一所述的方法,其特征在于,所述方法还包括:
从所述外部存储介质和所述内部存储介质中读取所述索引文件,从所述索引文件中提取目标索引信息;
根据均衡算法选择用于存储修复所述待修复数据后的所述视频数据的第五目标存储介质,并根据所述目标索引信息获取所述待修复数据;
使用所述待修复数据对所述视频数据进行修复,以及将修复后的所述视频数据写入所述第五目标存储介质。
17.根据权利要求16所述的方法,其特征在于,所述目标索引信息包括索引号、帧头信息、所述待修复数据中每个帧数据存储的索引信息、以及切换时刻之后写入所述内部存储介质中的帧数据的索引信息。
18.根据权利要求16或17所述的方法,其特征在于,所述目标索引信息包括至少一个索引信息,所述从所述索引文件中提取目标索引信息之后,所述使用所述待修复数据对所述视频数据进行修复之前,所述方法还包括:
根据索引号的编排规则,将至少一个索引信息重组为一个索引表;
所述使用所述待修复数据对所述视频数据进行修复,包括:
根据所述索引表指示的所述待修复数据中帧数据的时间戳,对所述视频数据进行修复。
19.根据权利要求6所述的方法,其特征在于,存储介质的实际写入速度通过以下步骤得到:
通过读取存储介质的状态寄存器,或对存储介质进行读写速度测试,得到存储介质的实际写入速度,所述读写速度包括连续写入速度和随机写入速度。
20.一种拍摄设备,其特征在于,所述拍摄设备包括存储模块,处理模块以及写模块;
所述存储模块包括N个存储介质,其中,N为大于或等于2的正整数;
所述处理模块,用于在拍摄之前,根据预设选择规则在所述N个存储介质中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质;
所述写模块,用于将所述拍摄设备拍摄的视频数据写入所述处理模块选择的所述第一目标存储介质;
所述预设选择规则至少包括以下项之一:根据所述拍摄设备当前拍摄设定的视频码率选择所述第一目标存储介质,根据所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质,根据所述拍摄设备当前拍摄设定的视频码率、以及所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质根据均衡算法选择所述第一目标存储介质,或根据所述拍摄设备中内置的应用计算得到所述第一目标存储介质。
21.根据权利要求20所述的拍摄设备,其特征在于,所述处理模块还用于:
在所述拍摄设备拍摄过程中,为拍摄的视频数据建立索引文件,所述索引文件包括所述视频数据的索引信息;
采用乒乓交替方式通过所述写模块将所述索引文件写入所述第一目标存储介质和/或备用存储介质。
22.根据权利要求21所述的拍摄设备,其特征在于,所述处理模块还用于:
根据所述索引文件对所述视频数据定时进行增量备份或全备份。
23.根据权利要求21所述的拍摄设备,其特征在于,所述索引文件包括至少一个索引信息,每个所述索引信息包括索引号、帧数据的时间戳、帧数据在所述视频数据中的偏移以及帧数据的长度。
24.根据权利要求20-23任一所述的拍摄设备,其特征在于,所述处理模块具体用于:
在拍摄之前,根据目的存储介质和所述拍摄设备当前拍摄设定的视频码率计算将拍摄的视频数据写入目的存储介质所需的理论写入速度,所述目的存储介质为所述拍摄设备当前设定的存储模式对应的用于存储所述视频数据的存储介质;
根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的第一目标存储介质。
25.根据权利要求24所述的拍摄设备,其特征在于,所述处理模块具体用于执行以下之一:
若所述N个存储介质中的至少2个存储介质的实际写入速度均大于或等于所述理论写入速度,则按照用户配置信息或均衡算法选择所述第一目标存储介质;
若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则从所述至少2个存储介质中选择至少2个目的存储介质作为所述第一目标存储介质;
或者,若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则将实际写入速度均大于或等于所述理论写入速度的存储介质作为临时存储介质。
26.根据权利要求25所述的拍摄设备,其特征在于,所述处理模块具体用于:
若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则按照均衡算法将所述视频数据分为至少两块数据,并通过所述写模块将所述至少两块数据分别写入所述至少2个目的存储介质;
所述处理模块还用于:
在所述拍摄设备的空闲时间或低负载时,将写入所述至少2个目的存储介质的所述至少两块数据合并,并通过所述写模块迁移至所述N个存储介质中的第二目标存储介质。
27.根据权利要求26所述的拍摄设备,其特征在于,所述处理模块具体用于:
根据所述至少两块数据中每块数据对应的索引信息,按照帧数据的时间戳将所述至少两块数据拼接,形成一个视频文件。
28.根据权利要求25所述的拍摄设备,其特征在于,所述处理模块具体用于:
若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则通过所述写模块将所述视频数据写入所述临时存储介质;
所述处理模块还用于:
在所述拍摄设备的空闲时间或低负载时,将写入所述临时存储介质的所述视频数据通过所述写模块迁移至所述N个存储介质中除所述临时存储介质之外的第三目标存储介质。
29.根据权利要求25-28任一所述的拍摄设备,其特征在于,所述拍摄设备还包括监控模块,在拍摄过程中,所述处理模块为视频数据建立索引文件之后,采用乒乓交替方式通过所述写模块将所述索引文件写入所述第一目标存储介质中之前,还用于:
通过所述监控模块按队列管理方式对所述视频数据进行监控;
在编码完成的帧数据进入写队列之前,判断所述写队列当前的占用率高于第一阈值时,则确定写操作异常;
根据所述预设选择规则从所述N个存储介质中选择第四目标存储介质,通过所述写模块将所述写队列中等待写入的帧数据,以及未进入所述写队列的已编码的帧数据写入所述第四目标存储介质。
30.根据权利要求24所述的拍摄设备,其特征在于,所述处理模块至少还执行以下之一:
若所述拍摄设备的外部存储介质的实际写入速度小于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述拍摄设备的内部存储介质作为所述第一目标存储介质;
若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为内部存储模式,或当前设定的存储模式为自动模式,则选择所述内部存储介质作为所述第一目标存储介质;
或者,若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述外部存储介质作为所述第一目标存储介质。
31.根据权利要求30所述的拍摄设备,其特征在于,当所述拍摄设备当前设定的存储模式为外部存储模式,且选择所述内部存储介质作为所述第一目标存储介质时,所述处理模块还用于:
在将所述视频数据写入所述内部存储介质时,通过所述写模块将写入所述内部存储介质中的视频数据同步至所述外部存储介质。
32.根据权利要求31所述的拍摄设备,其特征在于,在将所述视频数据写入所述内部存储介质过程中,当所述内部存储介质的实际写入速度低于所述理论写入速度时,则通过所述写模块将未写入所述内部存储介质的待修复数据写入所述外部存储介质。
33.根据权利要求30所述的拍摄设备,其特征在于,在选择所述外部存储介质作为所述第一目标存储介质时,若视频数据无法写入所述外部存储介质,则所述处理模块还用于将第一目标存储介质切换为所述内部存储介质,并在所述内部存储介质中记录切换时刻之后写入所述内部存储介质中的帧数据,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述内部存储介质中的帧数据与写入所述外部存储介质的帧数据合并,并迁移至备用存储介质。
34.根据权利要求29-33任一所述的拍摄设备,其特征在于,所述监控模块用于在将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质的过程中,实时监测写入状态;
若所述监控模块所述监测到将所述拍摄设备拍摄的视频数据无法写入所述第一目标存储介质,则所述处理模块还用于将第一目标存储介质切换为备用存储介质,通过所述写模块将所述拍摄设备拍摄的视频数据写入所述备用存储介质,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述备用存储介质中的帧数据与写入所述第一目标存储介质的帧数据合并,形成一个视频文件。
35.根据权利要求23至32任一所述的拍摄设备,其特征在于,所述处理模块还用于:
从所述外部存储介质和所述内部存储介质中读取所述索引文件,从所述索引文件中提取目标索引信息;
根据均衡算法选择用于存储修复所述待修复数据后的所述视频数据的第五目标存储介质,并根据所述目标索引信息获取所述待修复数据;
使用所述待修复数据对所述视频数据进行修复,以及通过所述写模块将修复后的所述视频数据写入所述第五目标存储介质。
36.根据权利要求35所述的拍摄设备,其特征在于,所述目标索引信息包括索引号、帧头信息、所述待修复数据中每个帧数据存储的索引信息、以及切换时刻之后写入所述内部存储介质中的帧数据的索引信息。
37.根据权利要求35或36所述的拍摄设备,其特征在于,所述目标索引信息包括至少一个索引信息,所述处理模块在从所述索引文件中提取目标索引信息之后,使用所述待修复数据对所述视频数据进行修复之前,还用于:
根据索引号的编排规则,将至少一个索引信息重组为一个索引表;
所述使用所述待修复数据对所述视频数据进行修复,包括:
根据所述索引表指示的所述待修复数据中帧数据的时间戳,对所述视频数据进行修复。
38.根据权利要求24所述的拍摄设备,其特征在于,所述处理模块通过执行以下步骤得到存储介质的实际写入速度:
读取存储介质的状态寄存器,或对存储介质进行读写速度测试,得到存储介质的实际写入速度,所述读写速度包括连续写入速度和随机写入速度。
39.一种拍摄设备,其特征在于,所述拍摄设备包括:
处理器、N个存储器、控制器;
其中,N为大于或等于2的正整数,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行以下操作:
在拍摄之前,根据预设选择规则在所述N个存储介质中选择用于存储拍摄设备所拍摄的视频数据的第一目标存储介质;
通过所述控制器将所述拍摄设备拍摄的视频数据写入选择的所述第一目标存储介质;
所述预设选择规则至少包括以下项之一:根据所述拍摄设备当前拍摄设定的视频码率选择所述第一目标存储介质,根据所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质,根据所述拍摄设备当前拍摄设定的视频码率、以及所述拍摄设备中各存储介质的实际写入速度选择所述第一目标存储介质根据均衡算法选择所述第一目标存储介质,或根据所述拍摄设备中内置的应用计算得到所述第一目标存储介质。
40.根据权利要求39所述的拍摄设备,其特征在于,所述处理器还用于:
在所述拍摄设备拍摄过程中,为拍摄的视频数据建立索引文件,所述索引文件包括所述视频数据的索引信息;
采用乒乓交替方式通过所述写模块将所述索引文件写入所述第一目标存储介质和/或备用存储介质。
41.根据权利要求40所述的拍摄设备,其特征在于,所述处理模块还用于:
根据所述索引文件对所述视频数据定时进行增量备份或全备份。
42.根据权利要求40所述的拍摄设备,其特征在于,所述索引文件包括至少一个索引信息,每个所述索引信息包括索引号、帧数据的时间戳、帧数据在所述视频数据中的偏移以及帧数据的长度。
43.根据权利要求40-42任一所述的拍摄设备,其特征在于,所述处理器具体用于:
在拍摄之前,根据目的存储介质和所述拍摄设备当前拍摄设定的视频码率计算将拍摄的视频数据写入目的存储介质所需的理论写入速度,所述目的存储介质为所述拍摄设备当前设定的存储模式对应的用于存储所述视频数据的存储介质;
根据所述理论写入速度和/或所述拍摄设备当前设定的存储模式,确定用于存储视频数据的第一目标存储介质。
44.根据权利要求43所述的拍摄设备,其特征在于,所述处理器具体用于执行以下之一:
若所述N个存储介质中的至少2个存储介质的实际写入速度均大于或等于所述理论写入速度,则按照用户配置信息或均衡算法选择所述第一目标存储介质;
若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则从所述至少2个存储介质中选择至少2个目的存储介质作为所述第一目标存储介质;
或者,若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则将实际写入速度均大于或等于所述理论写入速度的存储介质作为临时存储介质。
45.根据权利要求44所述的拍摄设备,其特征在于,所述处理器具体用于:
若所述N个存储介质中的每个存储介质的实际写入速度均小于所述理论写入速度,且所述N个存储介质中的至少2个存储介质的实际写入速度总和大于或等于所述理论写入速度,则按照均衡算法将所述视频数据分为至少两块数据,并通过所述写模块将所述至少两块数据分别写入所述至少2个目的存储介质;
所述处理器还用于:
在所述拍摄设备的空闲时间或低负载时,将写入所述至少2个目的存储介质的所述至少两块数据合并,并通过所述写模块迁移至所述N个存储介质中的第二目标存储介质。
46.根据权利要求45所述的拍摄设备,其特征在于,所述处理器具体用于:
根据所述至少两块数据中每块数据对应的索引信息,按照帧数据的时间戳将所述至少两块数据拼接,形成一个视频文件。
47.根据权利要求44所述的拍摄设备,其特征在于,所述处理器具体用于:
若所述N个存储介质中,仅有1个存储介质的实际写入速度大于或等于所述理论写入速度,则通过所述写模块将所述视频数据写入所述临时存储介质;
所述处理器还用于:
在所述拍摄设备的空闲时间或低负载时,将写入所述临时存储介质的所述视频数据通过所述写模块迁移至所述N个存储介质中除所述临时存储介质之外的第三目标存储介质。
48.根据权利要求44-47任一所述的拍摄设备,其特征在于,所述在拍摄过程中,所述处理器为视频数据建立索引文件之后,采用乒乓交替方式通过所述写模块将所述索引文件写入所述第一目标存储介质中之前,还用于:
按队列管理方式对所述视频数据进行监控;
在编码完成的帧数据进入写队列之前,判断所述写队列当前的占用率高于第一阈值时,则确定写操作异常;
根据所述预设选择规则从所述N个存储介质中选择第四目标存储介质,通过所述写模块将所述写队列中等待写入的帧数据,以及未进入所述写队列的已编码的帧数据写入所述第四目标存储介质。
49.根据权利要求43所述的拍摄设备,其特征在于,所述处理器至少还执行以下之一:
若所述拍摄设备的外部存储介质的实际写入速度小于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述拍摄设备的内部存储介质作为所述第一目标存储介质;
若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为内部存储模式,或当前设定的存储模式为自动模式,则选择所述内部存储介质作为所述第一目标存储介质;
或者,若所述拍摄设备的外部存储介质的实际写入速度大于或等于所述理论写入速度,且所述拍摄设备当前设定的存储模式为外部存储模式,则选择所述外部存储介质作为所述第一目标存储介质。
50.根据权利要求49所述的拍摄设备,其特征在于,当所述拍摄设备当前设定的存储模式为外部存储模式,且选择所述内部存储介质作为所述第一目标存储介质时,所述处理器还用于:
在将所述视频数据写入所述内部存储介质时,通过所述写模块将写入所述内部存储介质中的视频数据同步至所述外部存储介质。
51.根据权利要求50所述的拍摄设备,其特征在于,在将所述视频数据写入所述内部存储介质过程中,当所述内部存储介质的实际写入速度低于所述理论写入速度时,则所述处理器还用于通过所述写模块将未写入所述内部存储介质的待修复数据写入所述外部存储介质。
52.根据权利要求49所述的拍摄设备,其特征在于,在选择所述外部存储介质作为所述第一目标存储介质时,若视频数据无法写入所述外部存储介质,则所述处理器还用于将第一目标存储介质切换为所述内部存储介质,并在所述内部存储介质中记录切换时刻之后写入所述内部存储介质中的帧数据,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述内部存储介质中的帧数据与写入所述外部存储介质的帧数据合并,并迁移至备用存储介质。
53.根据权利要求39-52任一所述的拍摄设备,其特征在于,所述拍摄设备还包括监控模块,所述监控模块用于在将所述拍摄设备拍摄的视频数据写入所述第一目标存储介质的过程中,实时监测写入状态;
若监测到将所述拍摄设备拍摄的视频数据无法写入所述第一目标存储介质,则所述处理器将第一目标存储介质切换为备用存储介质,通过所述写模块将所述拍摄设备拍摄的视频数据写入所述备用存储介质,以便在所述拍摄设备的空闲时间或低负载时,通过所述拍摄设备内置的应用或用户配置方式将写入所述备用存储介质中的帧数据与写入所述第一目标存储介质的帧数据合并,形成一个视频文件。
54.根据权利要求42至51任一所述的拍摄设备,其特征在于,所述处理器还用于:
从所述外部存储介质和所述内部存储介质中读取所述索引文件,从所述索引文件中提取目标索引信息;
根据均衡算法选择用于存储修复所述待修复数据后的所述视频数据的第五目标存储介质,并根据所述目标索引信息获取所述待修复数据;
使用所述待修复数据对所述视频数据进行修复,以及通过所述写模块将修复后的所述视频数据写入所述第五目标存储介质。
55.根据权利要求54所述的拍摄设备,其特征在于,所述目标索引信息包括索引号、帧头信息、所述待修复数据中每个帧数据存储的索引信息、以及切换时刻之后写入所述内部存储介质中的帧数据的索引信息。
56.根据权利要求54或55所述的拍摄设备,其特征在于,所述目标索引信息包括至少一个索引信息,所述处理器在从所述索引文件中提取目标索引信息之后,使用所述待修复数据对所述视频数据进行修复之前,还用于:
根据索引号的编排规则,将至少一个索引信息重组为一个索引表;
所述使用所述待修复数据对所述视频数据进行修复,包括:
根据所述索引表指示的所述待修复数据中帧数据的时间戳,对所述视频数据进行修复。
57.根据权利要求53所述的拍摄设备,其特征在于,所述处理器通过执行以下步骤得到存储介质的实际写入速度:
读取存储介质的状态寄存器,或对存储介质进行读写速度测试,得到存储介质的写入速度,所述读写速度包括连续写入速度和随机写入速度。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/082979 WO2017201646A1 (zh) | 2016-05-23 | 2016-05-23 | 一种数据存储的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107077514A true CN107077514A (zh) | 2017-08-18 |
CN107077514B CN107077514B (zh) | 2021-05-25 |
Family
ID=59624503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680003568.6A Expired - Fee Related CN107077514B (zh) | 2016-05-23 | 2016-05-23 | 一种数据存储的方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107077514B (zh) |
WO (1) | WO2017201646A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520569A (zh) * | 2018-03-30 | 2018-09-11 | 深圳市华宝电子科技有限公司 | 视频数据的存储方法、装置、系统及存储介质 |
CN109445527A (zh) * | 2018-12-21 | 2019-03-08 | 李银花 | 平板电脑数据转存系统 |
CN110770713A (zh) * | 2018-07-31 | 2020-02-07 | 深圳市大疆创新科技有限公司 | 文件浏览方法、电子设备、机器可读存储介质 |
CN110795316A (zh) * | 2018-08-01 | 2020-02-14 | 昆山研达电脑科技有限公司 | 摄像设备警示方法 |
CN110809874A (zh) * | 2018-08-24 | 2020-02-18 | 深圳市大疆创新科技有限公司 | 数据的同步方法及系统、可移动平台和可读存储介质 |
CN112506447A (zh) * | 2021-02-01 | 2021-03-16 | 成都焱之阳科技有限公司 | 一种用于视频监控设备的数据无锁缓存方法和服务器 |
CN114339330A (zh) * | 2021-11-25 | 2022-04-12 | 浙江大华技术股份有限公司 | 网络硬盘录像写入方法、装置、电子装置和存储介质 |
CN114461151A (zh) * | 2022-04-11 | 2022-05-10 | 武汉中科通达高新技术股份有限公司 | 国标相机的视频存储方法、计算机设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109688070A (zh) * | 2018-12-13 | 2019-04-26 | 迈普通信技术股份有限公司 | 一种数据调度方法、网络设备及转发单元 |
CN112631524B (zh) * | 2020-12-29 | 2023-04-07 | 杭州海康汽车软件有限公司 | 一种存储介质分配方法、装置及电子设备 |
CN114245052B (zh) * | 2021-12-28 | 2024-04-16 | 浙江大华技术股份有限公司 | 视频数据的存储方法及装置、存储介质、电子装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090129744A1 (en) * | 2007-11-16 | 2009-05-21 | Canon Kabushiki Kaisha | Video processing apparatus, method, and storage medium |
CN102244726A (zh) * | 2010-05-10 | 2011-11-16 | 佳能株式会社 | 视频处理设备及其控制方法 |
CN102264003A (zh) * | 2010-05-27 | 2011-11-30 | 华为软件技术有限公司 | 降低码率的实现方法与相关设备及系统 |
CN102623033A (zh) * | 2011-01-31 | 2012-08-01 | 苏州科达科技有限公司 | 一种基于快速视频数据存储的文件系统的控制方法及装置 |
CN102811344A (zh) * | 2011-12-08 | 2012-12-05 | 苏州科达科技有限公司 | 一种视频监控系统中提高存储稳定性的控制方法以及装置 |
CN104394382A (zh) * | 2014-12-09 | 2015-03-04 | 浙江省公众信息产业有限公司 | 视频监控录像的存储方法、设备和系统 |
CN104765576A (zh) * | 2015-04-28 | 2015-07-08 | 广东欧珀移动通信有限公司 | 一种数据存储方法和数据存储装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916716B (zh) * | 2013-01-08 | 2017-06-20 | 北京信威通信技术股份有限公司 | 一种无线网络下视频实时传输的码率平滑方法 |
-
2016
- 2016-05-23 CN CN201680003568.6A patent/CN107077514B/zh not_active Expired - Fee Related
- 2016-05-23 WO PCT/CN2016/082979 patent/WO2017201646A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090129744A1 (en) * | 2007-11-16 | 2009-05-21 | Canon Kabushiki Kaisha | Video processing apparatus, method, and storage medium |
CN102244726A (zh) * | 2010-05-10 | 2011-11-16 | 佳能株式会社 | 视频处理设备及其控制方法 |
CN102264003A (zh) * | 2010-05-27 | 2011-11-30 | 华为软件技术有限公司 | 降低码率的实现方法与相关设备及系统 |
CN102623033A (zh) * | 2011-01-31 | 2012-08-01 | 苏州科达科技有限公司 | 一种基于快速视频数据存储的文件系统的控制方法及装置 |
CN102811344A (zh) * | 2011-12-08 | 2012-12-05 | 苏州科达科技有限公司 | 一种视频监控系统中提高存储稳定性的控制方法以及装置 |
CN104394382A (zh) * | 2014-12-09 | 2015-03-04 | 浙江省公众信息产业有限公司 | 视频监控录像的存储方法、设备和系统 |
CN104765576A (zh) * | 2015-04-28 | 2015-07-08 | 广东欧珀移动通信有限公司 | 一种数据存储方法和数据存储装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520569A (zh) * | 2018-03-30 | 2018-09-11 | 深圳市华宝电子科技有限公司 | 视频数据的存储方法、装置、系统及存储介质 |
CN110770713A (zh) * | 2018-07-31 | 2020-02-07 | 深圳市大疆创新科技有限公司 | 文件浏览方法、电子设备、机器可读存储介质 |
CN110795316A (zh) * | 2018-08-01 | 2020-02-14 | 昆山研达电脑科技有限公司 | 摄像设备警示方法 |
CN110809874A (zh) * | 2018-08-24 | 2020-02-18 | 深圳市大疆创新科技有限公司 | 数据的同步方法及系统、可移动平台和可读存储介质 |
CN109445527A (zh) * | 2018-12-21 | 2019-03-08 | 李银花 | 平板电脑数据转存系统 |
CN112506447A (zh) * | 2021-02-01 | 2021-03-16 | 成都焱之阳科技有限公司 | 一种用于视频监控设备的数据无锁缓存方法和服务器 |
CN112506447B (zh) * | 2021-02-01 | 2021-04-30 | 成都焱之阳科技有限公司 | 一种用于视频监控设备的数据无锁缓存方法和服务器 |
CN114339330A (zh) * | 2021-11-25 | 2022-04-12 | 浙江大华技术股份有限公司 | 网络硬盘录像写入方法、装置、电子装置和存储介质 |
CN114461151A (zh) * | 2022-04-11 | 2022-05-10 | 武汉中科通达高新技术股份有限公司 | 国标相机的视频存储方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017201646A1 (zh) | 2017-11-30 |
CN107077514B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077514A (zh) | 一种数据存储的方法及设备 | |
CN111522501B (zh) | 磁盘阵列空间划分方法、装置、电子设备及存储介质 | |
CN103631633B (zh) | 虚拟机全系统在线迁移方法、装置与系统 | |
CN106201659B (zh) | 一种虚拟机热迁移的方法及宿主机 | |
US9251230B2 (en) | Exchanging locations of an out of synchronization indicator and a change recording indicator via pointers | |
CN104750573B (zh) | 分布式数据系统数据节点的全局一致性备份和还原方法 | |
CN104836992A (zh) | 一种监控视频录制方法及装置 | |
CN105573888A (zh) | 一种分布式文件系统中的磁盘性能检测方法及装置 | |
CN103826109A (zh) | 一种视频监控图像数据处理方法及系统 | |
CN103905220B (zh) | 数据同步处理方法及系统 | |
CN105049258B (zh) | 网络容灾系统的数据传输方法 | |
CN110381310B (zh) | 一种检测视觉系统的健康状态的方法及装置 | |
CN110597655A (zh) | 一种迁移与基于纠删码的重构相耦合的快速预知修复方法和实现 | |
CN105975360A (zh) | 用于处理并行程序中的故障的弹性编程框架 | |
CN105260485A (zh) | 一种数据加载的方法和装置 | |
CN116501259A (zh) | 磁盘组双活同步方法、装置、计算机设备及存储介质 | |
CN105847723B (zh) | 视频信息的备份方法及装置 | |
CN103412800B (zh) | 一种虚拟机热备份方法和设备 | |
CN108536822A (zh) | 数据迁移方法、装置、系统及存储介质 | |
CN102325171B (zh) | 一种监控系统中数据的存储方法及其系统 | |
CN104793899A (zh) | 一种基于虚拟磁盘层的检测Raid磁盘拔出的方法及装置 | |
CN210405337U (zh) | 一种ar服务器的动态扩缩容装置 | |
CN105094712B (zh) | 一种数据处理方法及装置 | |
CN102650961B (zh) | 监控容灾系统数据复制的方法、系统和一种容灾系统 | |
CN104536845B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210525 |