CN110597453A - 一种云存储系统中的视频数据存储方法及装置 - Google Patents
一种云存储系统中的视频数据存储方法及装置 Download PDFInfo
- Publication number
- CN110597453A CN110597453A CN201810609979.0A CN201810609979A CN110597453A CN 110597453 A CN110597453 A CN 110597453A CN 201810609979 A CN201810609979 A CN 201810609979A CN 110597453 A CN110597453 A CN 110597453A
- Authority
- CN
- China
- Prior art keywords
- frame
- security level
- stored
- video data
- storing
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/062—Securing storage systems
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/2312—Data placement on disk arrays
- H04N21/2315—Data placement on disk arrays using interleaving
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例提供了一种云存储系统中的视频数据存储方法,所述方法包括:接收待存储视频数据;获取所述待存储视频数据对应的存储对象的标识信息;根据所述标识信息,确定所述待存储视频数据对应的存储对象、所述存储对象对应的第一数据安全级别和第二数据安全级别;其中,所述第一数据安全级别高于所述第二数据安全级别;针对所述待存储的视频数据中的每一帧,判断该帧是否为关键帧;若是关键帧,则基于所述第一数据安全级别,将该帧存储至所确定的存储对象中;若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中。应用本发明提供的视频数据存储方法,可以实现对视频数据中的关键帧进行保护,降低视频数据丢失风险。
Description
技术领域
本发明涉及视频云存储技术领域,特别是涉及一种云存储系统中的视频数据存储方法及装置。
背景技术
云存储系统可以将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储服务。在云存储系统中,通常利用RAID(Redundant Arrayof Independent Disks,独立磁盘构成的具有冗余能力的阵列)技术进行数据存储。
具体的,利用RAID技术进行存储的方案可以包括:对待存储数据进行冗余处理,得到冗余数据,将待存储数据及冗余数据分别存储在多个磁盘中;这样,即使某个磁盘发生故障,导致存储在该磁盘内的数据丢失,仍然能够利用存储在其他磁盘中的数据,对丢失的数据进行修复。
利用上述存储方案可以对视频数据进行存储,然而,视频数据相比于其他的数据,具有特殊性:
一般来说,一份视频数据包括多个GOP(Group of Pictures,画面组),每个GOP由多个视频帧组成,其中包含一个关键帧。如果一个GOP中的关键帧发生损坏,那么整个GOP将无法进行播放。而在上述存储方案中,没有对视频数据中的关键帧进行针对性的保护,因此,利用该方案存储视频数据时,视频数据中的关键帧还不够安全。
发明内容
本发明实施例的目的在于提供一种提高云存储系统中视频数据安全性的方法、装置及电子设备,以对视频数据中的关键帧进行保护,提高数据存储的安全性。
本发明实施例提供了一种云存储系统中的视频数据存储方法,所述方法包括:
接收待存储视频数据;
获取所述待存储视频数据对应的存储对象的标识信息;
根据所述标识信息,确定所述待存储视频数据对应的存储对象、所述存储对象对应的第一数据安全级别和第二数据安全级别;其中,所述第一数据安全级别高于所述第二数据安全级别;
针对所述待存储的视频数据中的每一帧,判断该帧是否为关键帧;
若是关键帧,则基于所述第一数据安全级别,将该帧存储至所确定的存储对象中;若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中。
可选的,所述若是关键帧,则基于所述第一数据安全级别,将该帧存储至所确定的存储对象中;若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中,包括:
若是关键帧,则根据所述第一数据安全级别,确定第一纠删码策略;根据所述第一纠删码策略,将该帧存储至所确定的存储对象中;
若不是关键帧,则根据所述第二数据安全级别,确定第二纠删码策略;根据所述第二纠删码策略,将该帧存储至所确定的存储对象中。
可选的,所述第一数据安全级别为第一原始片段份数N1及第一冗余片段份数M1;所述第二数据安全级别为第二原始片段份数N2及第二冗余片段份数M2;所述第一冗余片段份数M1大于所述第二冗余片段份数M2;
所述根据所述第一纠删码策略,将该帧存储至所确定的存储对象中,包括:
针对所述待存储视频数据中的每个关键帧,将该帧分为N1个第一原始片段;将所述N1个第一原始片段进行冗余处理,得到M1个第一冗余片段;将所述N1个第一原始片段和M1个第一冗余片段存储至所确定的存储对象中;
所述根据所述第二纠删码策略,将该帧存储至所确定的存储对象中,包括:
针对所述待存储视频数据中的每个非关键帧,将该帧分为N2个第二原始片段;将所述N2个第二原始片段进行冗余处理,得到M2个第二冗余片段;将所述N2个第二原始片段和M2个第二冗余片段存储至所确定的存储对象中。
可选的,在所述接收待存储视频数据之前,所述方法还包括:
创建存储对象;其中,所述存储对象中包括多个磁盘,所述多个磁盘属于一个或多个存储节点;
所述将所述N1个第一原始片段和M1个第一冗余片段存储至所确定的存储对象中,包括:
将所述N1个第一原始片段和M1个第一冗余片段分别存储至所确定的存储对象中的不同的磁盘中;
所述将所述N2个第二原始片段和M2个第二冗余片段存储至所确定的存储对象中,包括:
将所述N2个第二原始片段和M2个第二冗余片段分别存储至所确定的存储对象中的不同的磁盘中。
可选的,在所述将所述N1个第一原始片段和M1个第一冗余片段分别存储至所确定的存储对象中的不同的磁盘中之后,所述方法还包括:
记录该帧对应的索引信息,所述索引信息包括:存储每个第一原始片段及第一冗余片段的存储对象及磁盘的信息;
在所述将所述N2个第二原始片段和M2个第二冗余片段分别存储至所确定的存储对象中的不同的磁盘中之后,所述方法还包括:
记录该帧对应的索引信息,所述索引信息包括:存储每个第二原始片段及第二冗余片段的存储对象及磁盘的信息。
本发明实施例还提供了一种云存储系统中的视频数据存储装置,其特征在于,所述装置包括:视频接入模块和编码模块,其中,所述视频接入模块包括:数据接收子模块、信息获取子模块、存储信息确定子模块和帧分析子模块;
所述数据接收子模块,用于接收待存储视频数据;
所述信息获取子模块,用于获取所述待存储视频数据对应的存储对象的标识信息;
所述存储信息确定子模块,用于根据所述标识信息,确定所述待存储视频数据对应的存储对象、所述存储对象对应的第一数据安全级别和第二数据安全级别;其中,所述第一数据安全级别高于所述第二数据安全级别;
所述帧分析子模块,用于针对所述待存储的视频数据中的每一帧,判断该帧是否为关键帧;
所述编码模块,用于若是关键帧,则基于所述第一数据安全级别,将该帧存储至所确定的存储对象中;若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中。
可选的,所述编码模块,具体用于:
若是关键帧,则根据所述第一数据安全级别,确定第一纠删码策略;根据所述第一纠删码策略,将该帧存储至所确定的存储对象中;
若不是关键帧,则根据所述第二数据安全级别,确定第二纠删码策略;根据所述第二纠删码策略,将该帧存储至所确定的存储对象中。
可选的,所述第一数据安全级别为第一原始片段份数N1及第一冗余片段份数M1;所述第二数据安全级别为第二原始片段份数N2及第二冗余片段份数M2;所述第一冗余片段份数M1大于所述第二冗余片段份数M2;
所述编码模块,包括:
切片子模块,用于针对所述待存储视频数据中的每个关键帧,将该帧分为N1个第一原始片段;还用于针对所述待存储视频数据中的每个非关键帧,将该帧分为N2个第二原始片段;
冗余处理子模块,用于将所述N1个第一原始片段进行冗余处理,得到M1个第一冗余片段;还用于将所述N2个第二原始片段进行冗余处理,得到M2个第二冗余片段;
存储子模块,用于将所述N1个第一原始片段和M1个第一冗余片段存储至所确定的存储对象中;将所述N2个第二原始片段和M2个第二冗余片段存储至所确定的存储对象中。
可选的,所述装置还包括:
存储对象创建模块,用于创建存储对象;其中,所述存储对象中包括多个磁盘,所述多个磁盘属于一个或多个存储节点;
所述存储子模块,具体用于:
将所述N1个第一原始片段和M1个第一冗余片段分别存储至所确定的存储对象中的不同的磁盘中;将所述N2个第二原始片段和M2个第二冗余片段分别存储至所确定的存储对象中的不同的磁盘中。
可选的,所述装置还包括:
索引创建模块,用于针对所述待存储的视频数据中的每一帧,记录该帧对应的索引信息,所述索引信息包括:存储每个第一原始片段及第一冗余片段的存储对象及磁盘的信息,或存储每个第二原始片段及第二冗余片段的存储对象及磁盘的信息。
本发明实施例还提供了一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的云存储系统中的视频数据存储方法。
本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的云存储系统中的视频数据存储方法。
本发明实施例提供的云存储系统中的视频数据存储方法及装置,在对视频数据进行云存储时,基于数据安全级别较高的第一数据安全级别存储待存储视频数据中的关键帧,基于数据安全级别较低的第二数据安全级别存储待存储视频数据中的非关键帧,为关键帧对应更高的数据安全级别,从而实现对视频数据中的关键帧进行保护,提高数据存储的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的云存储系统中的视频数据存储方法的一种流程示意图;
图2为本发明实施例提供的云存储系统中的视频数据存储方法的另一种流程示意图;
图3为在一种实现方式中,本发明实施例提供的云存储系统中的视频数据存储方法的时序图;
图4为本发明实施例提供的一种云存储系统中的视频数据存储装置的结构示意图;
图5为本发明实施例还提供的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对视频数据而言,每个视频数据由多个视频帧组成,其中,每个视频数据中包含一个关键帧,如果某一视频数据的关键帧发生损坏,那么,该视频数据将无法进行播放。
但是,现有技术中,云存储系统在存储视频数据时,没有对视频数据中的关键帧进行保护,因此,仍然存在很大的视频数据丢失风险。
为了解决上述技术问题,本发明实施例提供了一种云存储系统中的视频数据存储方法及装置。
在云存储系统中,通常包括多个存储节点,每个存储节点都可以获取待存储视频数据,并对待存储视频数据进行存储,同时,每个存储节点还具有一定数量的磁盘,这些磁盘可以提供一定的存储空间,例如,存储节点可以是存储服务器等。云存储系统中的存储节点可以执行在本发明实施例提供的视频数据存储方法,对所获取的待存储视频数据进行存储。一些情况下,存储节点中的磁盘可以虚拟为一个或多个资源池,资源池可以作为存储对象,其中,每个资源池可以包括一个或多个磁盘,这些磁盘可以来自于同一个存储节点,也可以来自于不同的存储节点,这样,存储节点可以执行本发明实施例提供的视频数据存储方法,将待存储视频数据存储至某一资源池中。
下面从总体上对本发明实施例提供的云存储系统中的视频数据存储方法进行说明。
接收待存储视频数据;
获取所述待存储视频数据对应的存储对象的标识信息;
根据所述标识信息,确定所述待存储视频数据对应的存储对象、所述存储对象对应的第一数据安全级别和第二数据安全级别;其中,所述第一数据安全级别高于所述第二数据安全级别;
针对所述待存储的视频数据中的每一帧,判断该帧是否为关键帧;
若是关键帧,则基于所述第一数据安全级别,将该帧存储至所确定的存储对象中;若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中。
由以上可见,应用本发明实施例提供的云存储系统中的视频数据存储方法,在对视频数据进行云存储时,基于数据安全级别较高的第一数据安全级别存储待存储视频数据中的关键帧,基于数据安全级别较低的第二数据安全级别存储待存储视频数据中的非关键帧,为关键帧对应更高的数据安全级别,从而实现对视频数据中的关键帧进行保护,提高数据存储的安全性。
下面将通过具体的实施例,对本发明实施例提供的云存储系统中的视频数据存储方法进行详细描述。
如图1所示,为本发明实施例提供的云存储系统中的视频数据存储方法的流程示意图,包括如下步骤:
步骤S101:接收待存储视频数据。
云存储系统可以为多种不同的设备提供访问接口,因此,在云存储系统中,本存储节点(执行主体)可以通过多种不同的采集设备获取待存储视频数据,例如,本存储节点(执行主体)可以获取网络摄像机、智能手机采集的视频数据,或者还可以从服务器、客户端中获取视频数据。
或者,本存储节点(执行主体)还可以从其他的存储节点中获取视频数据。比如,存储节点A从网络摄像机中获取视频数据,并将该视频数据发送至存储节点B,这样,存储节点B就是从其他存储节点中获取到视频数据。本发明实施例对此不做限定。
在一种实现方式中,可以先由本存储节点(执行主体)向采集设备发送数据获取指令,再由采集设备向本存储节点(执行主体)返回待存储视频数据,或者,也可以是由采集设备定期向本存储节点(执行主体)主动发送待存储数据,具体不做限定。
步骤S102:获取待存储视频数据对应的存储对象的标识信息。
在云存储系统中,通常包括多个存储节点,而每个存储节点又包括多个磁盘。在本发明实施例中,用于存储待存储视频数据的存储对象,可以是云存储系统中的某一个存储节点中的一个或多个磁盘,也可以是一个资源池,其中,资源池是指由一些磁盘虚拟出来的存储空间,这些磁盘可以来自于同一个存储节点,也可以来自于不同的存储节点,本发明实施例对此不做限定。
在本发明实施例中,待存储视频数据可以存储在接收该待存储视频数据的存储节点的磁盘中,也可以存储在其他存储节点的磁盘中,或者,还可以存储在由不同的存储节点的磁盘虚拟的资源池中,换句话说,待存储视频数据的存储对象可以属于本存储节点(执行主体),也可以属于其他存储节点;或者,存储对象可以为虚拟资源池,属于不同的存储节点。
当云存储系统中的存储节点接收到待存储视频数据之后,云存储系统中管理设备可以为待存储视频数据分配相应的存储对象,并将该存储对象的标识信息发送至接收该待存储视频数据的存储节点中。
在一种实现方式中,云存储系统中的所有磁盘被虚拟为多个资源池,管理设备可以随机确定一个资源池,作为待存储视频数据对应的存储对象;
或者,还可以预先设置各个采集设备与资源池之间对应关系,在获取到待存储视频数据之后,可以进一步确定待存储视频数据对应的采集设备标识信息,例如:采集设备的ID等;然后,根据预先设置的各个采集设备与资源池之间对应关系,查找采集设备的标识信息对应的资源池。通过这样的实现方式,各个采集设备采集的视频数据都会存储至对应的某个资源池中,使得视频数据在云存储系统中的存储更集中,便于用户后续的查询和调用;
或者,也可以根据待存储视频数据的文件大小、格式、采集时间等信息,确定对应的资源池,例如,将文件较大的待存储视频数据存储至内存空间较大的资源池中,或者对待存储视频数据的格式进行分类,将相同格式的待存储视频数据存储至同一个资源池中,再或者将某一时间段内采集的待存储视频数据存储至某一资源池中,等等,本发明实施例对此不做限定。
步骤S103:根据标识信息,确定待存储视频数据对应的存储对象、以及所确定的存储对象对应的第一数据安全级别和第二数据安全级别,其中,第一数据安全级别高于第二数据安全级别。
存储节点获取待存储视频数据对应的存储对象的标识信息后,可以根据标识信息确定待存储视频数据对应的存储对象,并进一步确定所确定的存储对象对应的第一数据安全级别和第二数据安全级别,作为所述待存储视频数据对应的第一数据安全级别和第二数据安全级别。其中,第一数据安全级别高于第二数据安全级别,也就是说,按照第一数据安全级别存储的视频数据会比按照第二数据安全级别存储的视频数据更安全,发生损坏的可能性更低。
具体的,存储对象对应的第一数据安全级别和第二数据安全级别可以是由用户针对某一存储对象预先进行设置的,例如,在一种实现方式中,在获取待存储视频数据之前,首先需要创建一个资源池,然后可以针对这个资源池设置第一数据安全级别和第二数据安全级别。
或者,存储对象对应的第一数据安全级别和第二数据安全级别也可以是用户根据待存储视频数据的重要性,临时对存储对象进行设置的,例如,在一种实现方式中,在获取待存储视频数据的同时,还获取了与该待存储视频数据对应的属性信息,举例而言,属性信息可以是该待存储视频数据存储时的数据安全级别的具体要求,也可以是该待存储视频数据的重要性等级,然后根据重要性等级及存储对象中预设的几种据安全级别的对应关系,确定该待存储视频数据存储时的数据安全级别,进一步的,对存储对象的第一数据安全级别和第二数据安全级别进行设置。
或者,也可以通过其他的实现方式确定的存储对象对应的第一数据安全级别和第二数据安全级别,本发明实施例对此不做限定。
步骤S104:针对待存储的视频数据中的每一帧,判断该帧是否为关键帧,若是关键帧,则执行步骤S105;若不是关键帧,则执行步骤S106。
步骤S105:基于所述第一数据安全级别,将该帧存储至所确定的存储对象中。
步骤S106:基于所述第二数据安全级别,将该帧存储至所确定的存储对象中。
对于视频数据来说,一个视频数据由多个帧数据组成,而多个连续的帧数据的组合即为GOP(Group of Pictures,画面组),每个GOP中的帧类型可以包括关键帧和非关键帧,其中,关键帧即为I帧,I帧是内部编码帧,举例而言,非关键帧又包括P帧和B帧,P帧是前向预测帧,B帧是双向内插帧,或者,非关键帧也可以只包括P帧或只是B帧,具体不做限定。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化,没有I帧,P帧和B帧就无法解码,因此,关键帧(I帧)的重要程度高于非关键帧,如果某一视频数据的关键帧发生损坏,那么,该视频数据将无法进行播放。
因此,在一种实现方式中,本存储节点(执行主体)在对视频数据进行存储之前,首先判断进行存储的当前帧是否为关键帧,若是,则基于安全级别更高的第一数据安全级别,将该帧存储至所确定的存储对象中,若不是,则基于安全级别较低的第二数据安全级别,将该帧存储至所确定的存储对象中。
在另一种实现方式中,本存储节点(执行主体)接收到的待存储视频数据中存在标记信息,该标记信息可以区分存储视频数据中关键帧及非关键帧。另外,本存储节点(执行主体)还接收到关键帧对应的第一数据安全级别信息、以及非关键帧对应的第二数据安全级别信息;这样,便可以基于第一数据安全级别,将关键帧存储至所确定的存储对象中,基于第二数据安全级别,将非关键帧存储至所确定的存储对象中;或者,本存储节点(执行主体)可以将待存储视频数据中的关键帧、非关键帧、以及对应的第一数据安全级别和第二数据安全级别发送至其他的存储节点进行编码存储。这样,可以使云存储系统中的各个存储节点得到有效的利用,提高云存储系统的存储效率。
举例而言,将待存储视频数据中的关键帧和非关键帧存储至所确定的存储对象中的方式可以有以下几种。
在一种实现方式中,可以根据纠删码策略存储视频数据,根据第一数据安全级别,确定第一纠删码策略;根据所述第二数据安全级别,确定第二纠删码策略。
例如,可以预设几种不同数据安全级别的纠删码策略,并为每一个纠删码策略设定唯一的标识信息,而第一数据安全级别和第二数据安全级别即为不同的纠删码策略的标识信息。
又例如,第一数据安全级别可以为第一纠删码策略中的第一原始片段份数N1及第一冗余片段份数M1;第二数据安全级别可以为第二纠删码策略中的第二原始片段份数N2及第二冗余片段份数M2。
本领域技术人员可以理解,一般来说,纠删码策略是指:对待存储数据进行冗余处理,得到冗余数据,将待存储数据及冗余数据分别存储在多个磁盘中,这样,即使某个磁盘发生故障,导致存储在该磁盘内的数据丢失,仍然能够利用存储在其他磁盘中的数据,对丢失的数据进行修复。因此,在纠删码策略中,冗余片段份数越多,该纠删码策略的安全级别越高,或者,也可以说冗余片段份数与原始片段分数的比值越大,该纠删码策略的安全级别越高。而在本发明实施例中,第一数据安全级别高于第二数据安全级别,因此,第一冗余片段份数M1大于第二冗余片段份数M2,或者,可以说M1:N1的值大于M2:N2的值,举例而言,第一数据安全级别可以表示为N1+M1,如:4+2,第二数据安全级别可以表示为N2+M2,如:4+1。
又例如,第一数据安全级别还可以为第一纠删码策略中的冗余片段份数;第二数据安全级别还可以为第二纠删码策略中的冗余片段份数。
在上述实现方式中,确定第一纠删码策略和第二纠删码策略之后,就可以进一步根据每一帧所对应的具体的纠删码策略,对该帧的数据进行存储。
具体的,根据第一纠删码策略,将待存储视频数据中的关键帧分为N1个第一原始片段,再对N1个第一原始片段进行冗余处理,得到M1个第一冗余片段,然后在所确定的存储对象中,对N1个第一原始片段和M1个第一冗余片段进行存储;类似的,根据第二纠删码策略,将待存储视频数据中的非关键帧分为N2个第二原始片段,再对N2个第二原始片段进行冗余处理,得到M2个第二冗余片段,然后在所确定的存储对象中,对所述N2个第二原始片段和M2个第二冗余片段进行存储。
又例如,第一数据安全级别和第二数据安全级别可以分别为预设的某一纠删码策略的标识或序号,比如,预设三个纠删码策略,其标识为A、B、C,其中,这三个纠删码策略的数据安全等级依次降低,而第一数据安全级别和第二数据安全级别则可以为这三个纠删码策略的标识A、B、C,等等。
或者,在另一种实现方式中,第一数据安全级别和第二数据安全级别可以对应视频数据的备份数,则第一数据安全级别高于第二数据安全级别即为:第一数据安全级别对应的备份数多于第二数据安全级别对应的备份数,例如,第一数据安全级别对应的备份数可以为2,第二数据安全级别对应的备份数可以为1,则,在对视频数据进行存储时,对于关键帧而言,先复制生成该帧的2个备份,再将该帧及对应的2个备份存储至对应的存储对象中,而对于非关键帧而言,只进行1次备份,就将该帧及对应的1个备份存储至对应的存储对象中。在该实现方式中,备份数的增加也会使得关键帧的数据安全级别更高。
或者,也可以是通过其他的实现方式,使得针对关键帧和非关键帧,分别基于第一数据安全级别和第二数据安全级别将该帧存储至存储对象中时,关键帧的数据安全级别更高,本发明实施例对此不做限定。
由以上可见,应用本发明实施例提供的云存储系统中的视频数据存储方法,在对视频数据进行云存储时,基于数据安全级别较高的第一数据安全级别存储待存储视频数据中的关键帧,基于数据安全级别较低的第二数据安全级别存储待存储视频数据中的非关键帧,为关键帧对应更高的数据安全级别,从而实现对视频数据中的关键帧进行保护,提高数据存储的安全性。
如图2所示,为本发明实施例提供的云存储系统中的另一种视频数据存储方法的流程示意图,包括如下步骤:
步骤S201:接收待存储视频数据。
云存储系统可以为多种不同的设备提供访问接口,因此,在云存储系统中,本存储节点(执行主体)可以通过多种不同的采集设备获取待存储视频数据,例如,本存储节点(执行主体)可以获取网络摄像机采集的视频数据,或者还可以从其他的存储节点获取视频数据。
在一种实现方式中,先由本存储节点(执行主体)向采集设备发送数据获取指令,再由采集设备向本存储节点(执行主体)返回待存储视频数据。
在一种实现方式中,获取待存储视频数据之前,可以预先创建存储对象,存储对象可以是一个资源池,其中,资源池是指由一些磁盘虚拟出来的存储空间,这些磁盘可以来自于同一个存储节点,也可以来自于不同的存储节点,本发明实施例对此不做限定。
步骤S202:获取待存储视频数据对应的存储对象的标识信息。
在本发明实施例中,待存储视频数据可以存储在接收该待存储视频数据的存储节点的磁盘中,也可以存储在其他存储节点的磁盘中,或者,还可以存储在由不同的存储节点的磁盘虚拟的资源池中,换句话说,待存储视频数据的存储对象可以属于本存储节点(执行主体),也可以属于其他存储节点;或者,存储对象可以为虚拟资源池,属于不同的存储节点。
当云存储系统中的存储节点接收到待存储视频数据之后,云存储系统中管理设备可以为待存储视频数据分配相应的存储对象,并将该存储对象的标识信息发送至接收该待存储视频数据的存储节点中。
在一种实现方式中,云存储系统中的所有磁盘被虚拟为多个资源池,管理设备可以随机确定一个资源池,作为待存储视频数据对应的存储对象;
或者,还可以预先设置各个采集设备与资源池之间对应关系,在获取到待存储视频数据之后,可以进一步确定待存储视频数据对应的采集设备标识信息,例如:采集设备的ID等;然后,根据预先设置的各个采集设备与资源池之间对应关系,查找采集设备的标识信息对应的资源池。通过这样的实现方式,各个采集设备采集的视频数据都会存储至对应的某个资源池中,使得视频数据在云存储系统中的存储更集中,便于用户后续的查询和调用;
或者,也可以根据待存储视频数据的文件大小、格式、采集时间等信息,确定对应的资源池,例如,将文件较大的待存储视频数据存储至内存空间较大的资源池中,或者对待存储视频数据的格式进行分类,将相同格式的待存储视频数据存储至同一个资源池中,再或者将某一时间段内采集的待存储视频数据存储至某一资源池中,等等,本发明实施例对此不做限定。
步骤S203:根据标识信息,确定待存储视频数据对应的存储对象、第一纠删码策略中的第一原始片段份数N1及第一冗余片段份数M1以及第二纠删码策略中的第二原始片段份数N2及第二冗余片段份数M2,其中,第一冗余片段份数M1大于第二冗余片段份数M2。
本领域技术人员可以理解,一般来说,在纠删码策略中,冗余片段份数越多,该纠删码策略的安全级别越高,或者,也可以说冗余片段份数与原始片段分数的比值越大,该纠删码策略的安全级别越高。而在本发明实施例中,第一数据安全级别高于第二数据安全级别,因此,第一冗余片段份数M1大于第二冗余片段份数M2,或者,可以说M1:N1的值大于M2:N2的值,举例而言,第一数据安全级别可以表示为N1+M1,如:4+2,第二数据安全级别可以表示为N2+M2,如:4+1。
步骤S204:针对待存储的视频数据中的每一帧,判断该帧是否为关键帧;若是关键帧,则执行步骤S205;若不是关键帧,则执行步骤S206。
步骤S205:将该帧分为N1个第一原始片段,再对N1个第一原始片段进行冗余处理,得到M1个第一冗余片段,将所述N1个第一原始片段和M1个第一冗余片段存储至所确定的存储对象中。
步骤S206:将该帧分为N2个第二原始片段,再对N2个第二原始片段进行冗余处理,得到M2个第二冗余片段,将所述N2个第二原始片段和M2个第二冗余片段存储至所确定的存储对象中。
在一种实现方式中,本存储节点(执行主体)在对视频数据进行存储之前,首先判断进行存储的当前帧是否为关键帧,若是,则基于安全级别更高的第一数据安全级别,将该帧存储至所确定的存储对象中,若不是,则基于安全级别较低的第二数据安全级别,将该帧存储至所确定的存储对象中。
在另一种实现方式中,本存储节点(执行主体)接收到的待存储视频数据中存在标记信息,该标记信息可以区分存储视频数据中关键帧及非关键帧。另外,本存储节点(执行主体)还接收到关键帧对应的第一数据安全级别信息、以及非关键帧对应的第二数据安全级别信息;这样,便可以基于第一数据安全级别,将关键帧存储至所确定的存储对象中,基于第二数据安全级别,将非关键帧存储至所确定的存储对象中;或者,本存储节点(执行主体)可以将待存储视频数据中的关键帧、非关键帧、以及对应的第一数据安全级别和第二数据安全级别发送至其他的存储节点进行编码存储。这样,可以使云存储系统中的各个存储节点得到有效的利用,提高云存储系统的存储效率。
进一步的,可以在对待存储视频数据中每一帧的原始片段和冗余片段进行存储时,将不同的片段分别存储至不同的磁盘中。那么,根据上面描述,如果存储对象中的磁盘的数量大于该帧的原始片段和冗余片段的总数,那么应当使得各个数据片段存储至不同的磁盘中,如果存储对象中的磁盘的数量小于该帧的原始片段和冗余片段的总数,则应当将各个数据片段尽量均匀地存储至各个磁盘中。综上所述,也就是将当前数据帧尽量分散存储,从而使得当存储对象中的某一个磁盘发生损坏时,损坏的原始片段或冗余片段最少,对待存储视频数据造成的损失最小。
针对待存储视频数据中的每一帧,在将该帧对应的原始片段和冗余片段分别存储至不同的磁盘中之后,在一种实现方式中,本存储节点(执行主体)还可以记录该帧对应的索引信息,其中,索引信息包括:存储每个原始片段及冗余片段的存储对象的信息。利用记录的索引信息,可以方便用户后续的查询或下载。
举例而言,假设当前帧对应的纠删码策略中,原始片段份数为4,冗余片段份数为2,则在对当前帧进行存储时,将当前帧切分成4个原始片段,并得到了2个冗余片段。这6个数据片段(4个原始片段和2个冗余片段)可以分别表示为:A1、A2、A3、A4、A5、A6。假设存储对象中的磁盘的数量大于该帧的原始片段和冗余片段的总数,那么当前帧的6个数据片段分别存储至了不同的6个磁盘中,则,存储对象可以表示为B0,这6个磁盘可以分别表示为:B1、B2、B3、B4、B5、B6。
具体的,假设将数据片段A1存储至磁盘B1,将数据片段A2存储至磁盘B2,将数据片段A3存储至磁盘B3,将数据片段A4存储至磁盘B4,将数据片段A5存储至磁盘B5,将数据片段A6存储至磁盘B6。则该帧对应的索引信息可以为:A1—B1、A2—B2、A3—B3、A4—B4、A5—B5、A6—B6。同时,索引信息中还可以包括存储对象B0,即,索引信息也可以为:A1—B0—B1、A2—B0—B2、A3—B0—B3、A4—B0—B4、A5—B0—B5、A6—B0—B6。
或者,在索引信息中还可以进一步区分标识原始片段及冗余片段,本发明实施例对此不做限定。
由以上可见,应用本发明实施例提供的云存储系统中的视频数据存储方法,在对视频数据进行云存储时,基于数据安全级别较高的第一数据安全级别存储待存储视频数据中的关键帧,基于数据安全级别较低的第二数据安全级别存储待存储视频数据中的非关键帧,为关键帧对应更高的数据安全级别,对应更多的冗余片段,从而实现对视频数据中的关键帧进行保护,提高数据存储的安全性。
如图3所示,为在一种实现方式中,应用本发明实施例提供的云存储系统中的视频数据存储方法,对待存储视频数据进行存储的时序图。
在图3中,云存储系统包括多个存储节点,其中,存储节点中包括视频接入处理器和编码器等设备,还包括一些磁盘,这些磁盘可以提供一定的存储空间,存储节点中的存储空间可以被虚拟化为一个或多个资源池,每个资源池中包括多个磁盘,云存储系统与IPC(IP Camera,网络摄像机)通信连接,并向IPC提供数据存储服务。
在本实施例中,首先,本存储节点(执行主体)中的视频接入处理器从IPC获取待存储视频数据,具体的:先由视频接入处理器向IPC发送数据获取指令,再接收IPC返回的数据,作为待存储视频数据。
然后,视频接入处理器确定待存储视频数据对应的资源池的信息,及预先设定的该资源池对应的第一数据安全等级和第二数据安全等级,同时,对待存储视频数据进行帧分析,即针对待存储视频数据中的每一帧,判断该帧是I帧还是非I帧,并将I帧数据对应第一数据安全等级、非I帧数据对应第二数据安全等级,将数据及其对应的安全等级信息发送至编码器。具体的,数据安全等级信息可以为纠删码策略中的原始片段份数和冗余片段份数。
接着,本存储节点(执行主体)中的编码器根据所确定的数据安全等级,针对待存储视频数据中的每一帧,进行EC(erasure code,纠删码)编码,将编码后的数据发送至所确定的资源池中的不同的磁盘中。
另外,磁盘可以向视频编码器返回存储结果,再由视频编码器返回至视频接入处理器。具体的,视频接入处理器根据接收到的存储结果,可以生成索引信息,在索引信息中记录着存储待存储视频数据中每一帧的原始片段及冗余片段的资源池及磁盘的信息。
如图4所示,为本发明实施例提供的一种云存储系统中的视频数据存储装置的结构示意图,该装置包括:
视频接入模块410和编码模块420,其中,所述视频接入模块410包括:数据接收子模块411、信息获取子模块412、存储信息确定子模块413和帧分析子模块414。具体的:
数据接收子模块411,用于获取待存储视频数据;
信息获取子模块412,用于获取所述待存储视频数据对应的存储对象的标识信息;
存储信息确定子模块413,用于根据所述标识信息,确定所述待存储视频数据对应的存储对象、以及所确定的存储对象对应的第一数据安全级别和第二数据安全级别;其中,所述第一数据安全级别高于所述第二数据安全级别;
帧分析子模块414,用于针对所述待存储的视频数据中的每一帧,判断该帧是否为关键帧;还用于触发编码模块420;
编码模块420,用于若是关键帧,则基于所述第一数据安全级别,在所确定的存储对象中,将该帧存储至所确定的存储对象中;还用于若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中。
在本实施例中,编码模块420,具体用于若是关键帧,则根据所述第一数据安全级别,确定第一纠删码策略;根据所述第一纠删码策略,将该帧存储至所确定的存储对象中;若不是关键帧,则根据所述第二数据安全级别,确定第二纠删码策略;根据所述第二纠删码策略,将该帧存储至所确定的存储对象中。
在一种实现方式中,所述第一数据安全级别为第一原始片段份数N1及第一冗余片段份数M1;所述第二数据安全级别为第二原始片段份数N2及第二冗余片段份数M2;所述第一数据安全级别中的M1大于所述第二数据安全级别中的M2;则编码模块420,可以包括:切片子模块421、冗余处理子模块422和存储子模块423,其中,
切片子模块431,用于针对所述待存储视频数据中的每个关键帧,将该帧分为N1个第一原始片段;还用于针对所述待存储视频数据中的每个非关键帧,将该帧分为N2个第二原始片段;
冗余处理子模块432,用于将所述N1个第一原始片段进行冗余处理,得到M1个第一冗余片段;还用于将所述N2个第二原始片段进行冗余处理,得到M2个第二冗余片段;
存储子模块433,用于将所述N1个第一原始片段和M1个第一冗余片段存储至所确定的存储对象中;将所述N2个第二原始片段和M2个第二冗余片段存储至所确定的存储对象中。
在本实施例中,该装置还包括:
存储对象创建模块430,用于创建存储对象;其中,所述存储对象中包括多个磁盘,所述多个磁盘属于一个或多个存储节点;
所述存储子模块433,具体用于:
将所述N1个第一原始片段和M1个第一冗余片段分别存储至所述存储对象中的不同的磁盘中;将所述N2个第二原始片段和M2个第二冗余片段分别存储至所述存储对象中的不同的磁盘中。
在本实施例中,该装置还包括:
索引创建模块440,用于针对所述待存储的视频数据中的每一帧,记录该帧对应的索引信息,所述索引信息包括:存储每个第一原始片段及第一冗余片段的存储对象及磁盘的信息,或存储每个第二原始片段及第二冗余片段的存储对象及磁盘的信息。
由以上可见,本发明实施例提供的云存储系统中的视频数据存储方法,在对视频数据进行云存储时,基于数据安全级别较高的第一数据安全级别存储待存储视频数据中的关键帧,基于数据安全级别较低的第二数据安全级别存储待存储视频数据中的非关键帧,为关键帧对应更高的数据安全级别,从而实现对视频数据中的关键帧进行保护,提高数据存储的安全性。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
接收待存储视频数据;
获取所述待存储视频数据对应的存储对象的标识信息;
根据所述标识信息,确定所述待存储视频数据对应的存储对象、所述存储对象对应的第一数据安全级别和第二数据安全级别;其中,所述第一数据安全级别高于所述第二数据安全级别;
针对所述待存储的视频数据中的每一帧,判断该帧是否为关键帧;
若是关键帧,则基于所述第一数据安全级别,将该帧存储至所确定的存储对象中;若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可见,应用本发明实施例提供的云存储系统中的视频数据存储方法,在对视频数据进行云存储时,基于数据安全级别较高的第一数据安全级别存储待存储视频数据中的关键帧,基于数据安全级别较低的第二数据安全级别存储待存储视频数据中的非关键帧,为关键帧对应更高的数据安全级别,从而实现对视频数据中的关键帧进行保护,提高数据存储的安全性。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的云存储系统中的视频数据存储方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种云存储系统中的视频数据存储方法,其特征在于,所述方法包括:
接收待存储视频数据;
获取所述待存储视频数据对应的存储对象的标识信息;
根据所述标识信息,确定所述待存储视频数据对应的存储对象、所述存储对象对应的第一数据安全级别和第二数据安全级别;其中,所述第一数据安全级别高于所述第二数据安全级别;
针对所述待存储的视频数据中的每一帧,判断该帧是否为关键帧;
若是关键帧,则基于所述第一数据安全级别,将该帧存储至所确定的存储对象中;若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中。
2.根据权利要求1所述的方法,其特征在于,所述若是关键帧,则基于所述第一数据安全级别,将该帧存储至所确定的存储对象中;若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中,包括:
若是关键帧,则根据所述第一数据安全级别,确定第一纠删码策略;根据所述第一纠删码策略,将该帧存储至所确定的存储对象中;
若不是关键帧,则根据所述第二数据安全级别,确定第二纠删码策略;根据所述第二纠删码策略,将该帧存储至所确定的存储对象中。
3.根据权利要求2所述的方法,其特征在于,所述第一数据安全级别为第一原始片段份数N1及第一冗余片段份数M1;所述第二数据安全级别为第二原始片段份数N2及第二冗余片段份数M2;所述第一冗余片段份数M1大于所述第二冗余片段份数M2;
所述根据所述第一纠删码策略,将该帧存储至所确定的存储对象中,包括:
针对所述待存储视频数据中的每个关键帧,将该帧分为N1个第一原始片段;将所述N1个第一原始片段进行冗余处理,得到M1个第一冗余片段;将所述N1个第一原始片段和M1个第一冗余片段存储至所确定的存储对象中;
所述根据所述第二纠删码策略,将该帧存储至所确定的存储对象中,包括:
针对所述待存储视频数据中的每个非关键帧,将该帧分为N2个第二原始片段;将所述N2个第二原始片段进行冗余处理,得到M2个第二冗余片段;将所述N2个第二原始片段和M2个第二冗余片段存储至所确定的存储对象中。
4.根据权利要求3所述的方法,其特征在于,在所述接收待存储视频数据之前,所述方法还包括:
创建存储对象;其中,所述存储对象中包括多个磁盘,所述多个磁盘属于一个或多个存储节点;
所述将所述N1个第一原始片段和M1个第一冗余片段存储至所确定的存储对象中,包括:
将所述N1个第一原始片段和M1个第一冗余片段分别存储至所确定的存储对象中的不同的磁盘中;
所述将所述N2个第二原始片段和M2个第二冗余片段存储至所确定的存储对象中,包括:
将所述N2个第二原始片段和M2个第二冗余片段分别存储至所确定的存储对象中的不同的磁盘中。
5.根据权利要求4所述的方法,其特征在于,在所述将所述N1个第一原始片段和M1个第一冗余片段分别存储至所确定的存储对象中的不同的磁盘中之后,所述方法还包括:
记录该帧对应的索引信息,所述索引信息包括:存储每个第一原始片段及第一冗余片段的存储对象及磁盘的信息;
在所述将所述N2个第二原始片段和M2个第二冗余片段分别存储至所确定的存储对象中的不同的磁盘中之后,所述方法还包括:
记录该帧对应的索引信息,所述索引信息包括:存储每个第二原始片段及第二冗余片段的存储对象及磁盘的信息。
6.一种云存储系统中的视频数据存储装置,其特征在于,所述装置包括:视频接入模块和编码模块,其中,所述视频接入模块包括:数据接收子模块、信息获取子模块、存储信息确定子模块和帧分析子模块;
所述数据接收子模块,用于接收待存储视频数据;
所述信息获取子模块,用于获取所述待存储视频数据对应的存储对象的标识信息;
所述存储信息确定子模块,用于根据所述标识信息,确定所述待存储视频数据对应的存储对象、所述存储对象对应的第一数据安全级别和第二数据安全级别;其中,所述第一数据安全级别高于所述第二数据安全级别;
所述帧分析子模块,用于针对所述待存储的视频数据中的每一帧,判断该帧是否为关键帧;
所述编码模块,用于若是关键帧,则基于所述第一数据安全级别,将该帧存储至所确定的存储对象中;若不是关键帧,则基于所述第二数据安全级别,将该帧存储至所确定的存储对象中。
7.根据权利要求6所述的装置,其特征在于,
所述编码模块,具体用于:
若是关键帧,则根据所述第一数据安全级别,确定第一纠删码策略;根据所述第一纠删码策略,将该帧存储至所确定的存储对象中;
若不是关键帧,则根据所述第二数据安全级别,确定第二纠删码策略;根据所述第二纠删码策略,将该帧存储至所确定的存储对象中。
8.根据权利要求7所述的装置,其特征在于,所述第一数据安全级别为第一原始片段份数N1及第一冗余片段份数M1;所述第二数据安全级别为第二原始片段份数N2及第二冗余片段份数M2;所述第一冗余片段份数M1大于所述第二冗余片段份数M2;
所述编码模块,包括:
切片子模块,用于针对所述待存储视频数据中的每个关键帧,将该帧分为N1个第一原始片段;还用于针对所述待存储视频数据中的每个非关键帧,将该帧分为N2个第二原始片段;
冗余处理子模块,用于将所述N1个第一原始片段进行冗余处理,得到M1个第一冗余片段;还用于将所述N2个第二原始片段进行冗余处理,得到M2个第二冗余片段;
存储子模块,用于将所述N1个第一原始片段和M1个第一冗余片段存储至所确定的存储对象中;将所述N2个第二原始片段和M2个第二冗余片段存储至所确定的存储对象中。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
存储对象创建模块,用于创建存储对象;其中,所述存储对象中包括多个磁盘,所述多个磁盘属于一个或多个存储节点;
所述存储子模块,具体用于:
将所述N1个第一原始片段和M1个第一冗余片段分别存储至所确定的存储对象中的不同的磁盘中;将所述N2个第二原始片段和M2个第二冗余片段分别存储至所确定的存储对象中的不同的磁盘中。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
索引创建模块,用于针对所述待存储的视频数据中的每一帧,记录该帧对应的索引信息,所述索引信息包括:存储每个第一原始片段及第一冗余片段的存储对象及磁盘的信息,或存储每个第二原始片段及第二冗余片段的存储对象及磁盘的信息。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810609979.0A CN110597453A (zh) | 2018-06-13 | 2018-06-13 | 一种云存储系统中的视频数据存储方法及装置 |
EP19818774.2A EP3809708B1 (en) | 2018-06-13 | 2019-03-07 | Video data storage method and device in cloud storage system |
US17/251,326 US11316925B2 (en) | 2018-06-13 | 2019-03-07 | Video data storage method and device in cloud storage system |
PCT/CN2019/077349 WO2019237774A1 (zh) | 2018-06-13 | 2019-03-07 | 一种云存储系统中的视频数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810609979.0A CN110597453A (zh) | 2018-06-13 | 2018-06-13 | 一种云存储系统中的视频数据存储方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110597453A true CN110597453A (zh) | 2019-12-20 |
Family
ID=68842747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810609979.0A Pending CN110597453A (zh) | 2018-06-13 | 2018-06-13 | 一种云存储系统中的视频数据存储方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11316925B2 (zh) |
EP (1) | EP3809708B1 (zh) |
CN (1) | CN110597453A (zh) |
WO (1) | WO2019237774A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874185A (zh) * | 2018-09-04 | 2020-03-10 | 杭州海康威视系统技术有限公司 | 一种数据存储方法及存储装置 |
CN112860476A (zh) * | 2021-02-19 | 2021-05-28 | 上海交通大学 | 一种基于视频分层存储的近似纠删码编码方法及装置 |
CN113220935A (zh) * | 2021-05-28 | 2021-08-06 | 杭州海康威视系统技术有限公司 | 录像数据的存储、查询方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114371815B (zh) * | 2021-12-13 | 2024-05-28 | 浙江大华技术股份有限公司 | 一种数据存储方法、装置及系统 |
CN114218619A (zh) * | 2021-12-20 | 2022-03-22 | 昊链(中山)科技有限责任公司 | 数据安全保护方法、装置、介质及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050226331A1 (en) * | 2004-03-31 | 2005-10-13 | Honeywell International Inc. | Identifying key video frames |
CN103970487A (zh) * | 2014-05-23 | 2014-08-06 | 浙江宇视科技有限公司 | 一种独立磁盘冗余阵列及实现方法 |
US20140359218A1 (en) * | 2013-02-08 | 2014-12-04 | Huawei Technologies Co., Ltd. | Distributed Storage Method, Apparatus, and System |
CN105227991A (zh) * | 2014-07-03 | 2016-01-06 | 深圳中兴力维技术有限公司 | 可靠视频存储方法及其装置 |
CN105308580A (zh) * | 2013-05-15 | 2016-02-03 | 亚马逊技术股份有限公司 | 基于硬件故障分配数据 |
CN105630418A (zh) * | 2015-12-24 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 一种数据存储方法及装置 |
CN105959708A (zh) * | 2016-06-07 | 2016-09-21 | 浪潮软件股份有限公司 | 一种视频数据的加密方法 |
CN106713940A (zh) * | 2015-08-04 | 2017-05-24 | 杭州海康威视数字技术股份有限公司 | 视频流的存储方法、读取方法及装置 |
CN107229423A (zh) * | 2017-05-31 | 2017-10-03 | 郑州云海信息技术有限公司 | 数据处理方法、装置以及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8788913B1 (en) * | 2011-12-30 | 2014-07-22 | Emc Corporation | Selection of erasure code parameters for no data repair |
CN102752402A (zh) * | 2012-07-20 | 2012-10-24 | 广东威创视讯科技股份有限公司 | 一种云存储方法及系统 |
CN105338297B (zh) | 2014-08-11 | 2019-03-12 | 杭州海康威视系统技术有限公司 | 一种视频数据存储及回放系统、装置和方法 |
US10409514B2 (en) * | 2015-11-30 | 2019-09-10 | International Business Machines Corporation | IP multicast message transmission for event notifications |
CN105611428A (zh) * | 2015-12-22 | 2016-05-25 | 北京安寻网络科技有限公司 | 视频证据保全、校验方法及装置 |
CN108229423B (zh) | 2018-01-25 | 2021-01-12 | 维沃移动通信有限公司 | 一种指纹识别的扫描方法及移动终端 |
-
2018
- 2018-06-13 CN CN201810609979.0A patent/CN110597453A/zh active Pending
-
2019
- 2019-03-07 WO PCT/CN2019/077349 patent/WO2019237774A1/zh unknown
- 2019-03-07 US US17/251,326 patent/US11316925B2/en active Active
- 2019-03-07 EP EP19818774.2A patent/EP3809708B1/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050226331A1 (en) * | 2004-03-31 | 2005-10-13 | Honeywell International Inc. | Identifying key video frames |
US20140359218A1 (en) * | 2013-02-08 | 2014-12-04 | Huawei Technologies Co., Ltd. | Distributed Storage Method, Apparatus, and System |
CN105308580A (zh) * | 2013-05-15 | 2016-02-03 | 亚马逊技术股份有限公司 | 基于硬件故障分配数据 |
CN103970487A (zh) * | 2014-05-23 | 2014-08-06 | 浙江宇视科技有限公司 | 一种独立磁盘冗余阵列及实现方法 |
CN105227991A (zh) * | 2014-07-03 | 2016-01-06 | 深圳中兴力维技术有限公司 | 可靠视频存储方法及其装置 |
CN106713940A (zh) * | 2015-08-04 | 2017-05-24 | 杭州海康威视数字技术股份有限公司 | 视频流的存储方法、读取方法及装置 |
CN105630418A (zh) * | 2015-12-24 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 一种数据存储方法及装置 |
CN105959708A (zh) * | 2016-06-07 | 2016-09-21 | 浪潮软件股份有限公司 | 一种视频数据的加密方法 |
CN107229423A (zh) * | 2017-05-31 | 2017-10-03 | 郑州云海信息技术有限公司 | 数据处理方法、装置以及系统 |
Non-Patent Citations (1)
Title |
---|
佚名: ""Raid5和Raid6的数据安全性比较"", 《51博客》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874185A (zh) * | 2018-09-04 | 2020-03-10 | 杭州海康威视系统技术有限公司 | 一种数据存储方法及存储装置 |
CN110874185B (zh) * | 2018-09-04 | 2021-12-17 | 杭州海康威视系统技术有限公司 | 一种数据存储方法及存储装置 |
CN112860476A (zh) * | 2021-02-19 | 2021-05-28 | 上海交通大学 | 一种基于视频分层存储的近似纠删码编码方法及装置 |
CN113220935A (zh) * | 2021-05-28 | 2021-08-06 | 杭州海康威视系统技术有限公司 | 录像数据的存储、查询方法及装置 |
CN113220935B (zh) * | 2021-05-28 | 2023-03-24 | 杭州海康威视系统技术有限公司 | 录像数据的存储、查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210250404A1 (en) | 2021-08-12 |
US11316925B2 (en) | 2022-04-26 |
EP3809708A4 (en) | 2021-07-14 |
WO2019237774A1 (zh) | 2019-12-19 |
EP3809708B1 (en) | 2023-10-04 |
EP3809708A1 (en) | 2021-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597453A (zh) | 一种云存储系统中的视频数据存储方法及装置 | |
US11200337B2 (en) | System and method for user data isolation | |
US11003556B2 (en) | Method, device and computer program product for managing storage system | |
US10229004B2 (en) | Data transfer priority levels | |
CN112799584B (zh) | 一种数据存储方法及装置 | |
US10013312B2 (en) | Method and system for a safe archiving of data | |
CN112579551B (zh) | 数据存储和读取方法、装置、客户端、管理服务器及系统 | |
US11210003B2 (en) | Method, device and computer program product for restoring data based on replacing child node identifiers with parent node identifier | |
US9167313B1 (en) | Methods and system for transferring data for remote storage | |
WO2020048488A1 (zh) | 一种数据存储方法及存储装置 | |
CN111046310A (zh) | 页面处理方法、装置、服务器及计算机可读存储介质 | |
CN109597566B (zh) | 一种数据读取、存储方法及装置 | |
US20230109530A1 (en) | Synchronous object placement for information lifecycle management | |
CN110069217B (zh) | 一种数据存储方法及装置 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
AU2020366615B2 (en) | Maintaining system security | |
CN109144766B (zh) | 一种数据存储、重构方法和装置、及电子设备 | |
EP3816782B1 (en) | Data reconstruction method, apparatus and storage medium | |
CN109150792B (zh) | 一种提高数据存储安全性方法及装置 | |
KR101844528B1 (ko) | 통합 파일을 이용한 백업 방법 및 장치 | |
CN111435323A (zh) | 信息的传输方法、装置、终端、服务器及存储介质 | |
CN115599299A (zh) | 一种存储桶管理方法、装置及电子设备和存储介质 | |
CN111967001B (zh) | 一种基于双容器的解码与编码安全隔离方法 | |
CN110333968B (zh) | 应用于数据库的数据管理方法、装置及计算机设备 | |
CN107346273B (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 |