CN112637616A - 一种对象存储方法、系统及服务器 - Google Patents
一种对象存储方法、系统及服务器 Download PDFInfo
- Publication number
- CN112637616A CN112637616A CN202011421776.2A CN202011421776A CN112637616A CN 112637616 A CN112637616 A CN 112637616A CN 202011421776 A CN202011421776 A CN 202011421776A CN 112637616 A CN112637616 A CN 112637616A
- Authority
- CN
- China
- Prior art keywords
- local object
- data
- storage unit
- metadata
- index information
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 161
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000012634 fragment Substances 0.000 claims abstract description 76
- 230000015654 memory Effects 0.000 claims description 27
- 230000002776 aggregation Effects 0.000 claims description 14
- 238000004220 aggregation Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21815—Source of audio or video content, e.g. local disk arrays comprising local storage units
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种对象存储方法、系统及服务器,其中,所述方法包括:针对待存储的直播视频文件,在副本存储单元中生成所述直播视频文件的局部对象,并向所述局部对象中依次写入所述直播视频文件的各个分片数据;在向所述局部对象中写入分片数据时,在元数据存储单元中记录各个所述分片数据的索引信息;当所述局部对象中写满分片数据后,将所述元数据存储单元中所述分片数据的索引信息删除,并在所述元数据存储单元中保留所述局部对象的索引信息,以使得用户客户端通过所述局部对象的索引信息,从所述副本存储单元中获取所述局部对象的整体数据。本申请提供的技术方案,能够提高系统的整体稳定性。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种对象存储方法、系统及服务器。
背景技术
对象存储技术现在被广泛地用于存储直播视频文件。随着时效要求的不断提高,直播视频文件通常会被切分为时长较短的一个个分片数据,然后将这些分片数据提供给用户客户端进行播放。
现有的对象存储系统在存储这些分片数据时,通常是将分片数据写入底层的存储单元中,然后在业务层维护这些分片数据的元数据。这样,用户客户端通过获取分片数据的元数据,从而可以从底层的存储单元处加载实际的分片数据进行播放。然而,由于分片数据的数量通常比较多,从而导致元数据的数据量也较大,零散的数据较多,这样会使得存储元数据的数据库负载过高、压力大、性能大幅下降。磁盘资源碎片化严重,对象存储系统的元数据性能大幅下降,对象存储系统在面对扩容、迁移等场景时性能低下,从而影响整个系统的稳定性。
发明内容
本申请的目的在于提供一种对象存储方法、系统及服务器,能够提高系统的整体稳定性。
为实现上述目的,本申请一方面提供一种对象存储方法,所述方法包括:针对待存储的直播视频文件,在副本存储单元中生成所述直播视频文件的局部对象,并向所述局部对象中依次写入所述直播视频文件的各个分片数据;在向所述局部对象中写入分片数据时,在元数据存储单元中记录各个所述分片数据的索引信息;当所述局部对象中写满分片数据后,将所述元数据存储单元中所述分片数据的索引信息删除,并在所述元数据存储单元中保留所述局部对象的索引信息,以使得用户客户端通过所述局部对象的索引信息,从所述副本存储单元中获取所述局部对象的整体数据。
为实现上述目的,本申请另一方面还提供一种对象存储系统,所述系统包括:局部对象初始化单元,用于针对待存储的直播视频文件,在副本存储单元中生成所述直播视频文件的局部对象,并向所述局部对象中依次写入所述直播视频文件的各个分片数据;索引信息记录单元,用于在向所述局部对象中写入分片数据时,在元数据存储单元中记录各个所述分片数据的索引信息;聚合单元,用于当所述局部对象中写满分片数据后,将所述元数据存储单元中所述分片数据的索引信息删除,并在所述元数据存储单元中保留所述局部对象的索引信息,以使得用户客户端通过所述局部对象的索引信息,从所述副本存储单元中获取所述局部对象的整体数据。
为实现上述目的,本申请另一方面还提供一种服务器,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的对象存储方法。
由上可见,本申请一个或者多个实施方式提供的技术方案,在存储直播视频文件的分片数据时,可以现在副本存储单元中生成一个容量较大的局部对象,然后向该局部对象中依次写入分片数据。在分片数据的写入过程中,可以在元数据存储单元中暂时记录各个分片数据的索引信息。当局部对象中写满分片数据之后,便可以将元数据存储单元中分片数据的索引信息删除,仅保留局部对象的索引信息。这样,相当于完成了分片数据的聚合过程。通过将分片数据在底层的副本存储单元中聚合为大的局部对象,并在元数据存储单元中仅记录局部对象的索引信息,从而极大地减少了元数据的数量,进而提高了系统的整体稳定性。
附图说明
为了更清楚地说明本发明实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中的系统架构示意图;
图2是本发明实施方式中对象存储方法的步骤示意图;
图3是本发明实施方式中分片数据的写入示意图;
图4是本发明实施方式中元数据的聚合示意图;
图5是本发明实施方式中局部对象的数据迁移示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施方式及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施方式仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
本申请提供一种对象存储方法,该方法可以应用于如图1所示的系统中。在图1所示的系统中,可以包括元数据存储单元和底层数据存储单元。在实际应用中,底层数据存储单元可以根据存储方式的不同,划分为不同类型的存储单元。例如,在ceph系统中,存储方式可以包括副本(replicas)方式或者纠删码(erasure codin,EC)方式。这样,底层数据存储单元也可以分为副本存储单元(副本pool)和纠删码存储单元(EC pool)。通常而言,副本存储单元的读写效率较高,因此可以对正在直播的直播视频文件进行存储,从而便于用户客户端进行快速的访问。随着时间的推移,直播视频文件的热度会慢慢降低,此时可以将直播视频文件的数据从副本存储单元迁移至纠删码存储单元中。
请参阅图2,本申请一个实施方式提供的对象存储方法,可以包括以下多个步骤。
S1:针对待存储的直播视频文件,在副本存储单元中生成所述直播视频文件的局部对象,并向所述局部对象中依次写入所述直播视频文件的各个分片数据。
在本实施方式中,正在直播的或者刚刚完成直播的直播视频文件,由于热度较高,访问量较大,因此可以先将该直播视频文件存储于副本存储单元中,从而能够向用户客户端提供比较高效的数据访问过程。在准备向副本存储单元中写入直播视频文件的分片数据时,可以先在副本存储单元中生成该直播视频文件的局部对象。
在本实施方式中,在副本存储单元中初始化局部对象时,需要确定局部对象的对象标识和存储容量。具体地,可以先识别该直播视频文件的文件标识,然后基于该文件标识确定局部对象的对象标识。例如,该直播视频文件的文件标识为m3u8_a,那么局部对象的对象标识便可以是m3u8_a_part1。在确定对象标识之后,可以为局部对象设置存储容量。该存储容量可以根据实际需求进行灵活设置。例如,可以将局部对象的存储容量设置为预设存储容量,该预设存储容量例如可以是64MB。这样,在确定了对象标识和预设存储容量后,便可以在副本存储单元中生成具备所述对象标识和预设存储容量的局部对象。
在本实施方式中,生成局部对象后,便可以将直播视频文件的数据写入该局部对象中。具体地,直播视频文件可以被划分为多个分片数据,分片数据可以按顺序依次写入局部对象中。例如,直播视频文件可以按照1秒的时长被划分为多个分片数据,这些分片数据根据划分的先后顺序,依次写入局部对象中。
在一个实施方式中,直播视频文件的数据量通常较大,一个局部对象很有可能无法容纳直播视频文件的全部数据,因此当一个局部对象中写满分片数据后,可以在副本存储单元中生成新的局部对象,并继续向该新的局部对象中写入直播视频文件的分片数据。可见,通过局部对象空间的一次性预分配,能够避免对分片数据进行零散分配,从而造成存储碎片和性能问题。此外,能够有效控制系统存储的对象数,避免业务层元数据和ceph底层元数据暴涨,导致性能急剧下降和稳定性问题,还可以避免了大量小文件的随机读写和删除,导致随机且巨量的输入输出数据,对底层存储系统造成过高负载的问题。
S3:在向所述局部对象中写入分片数据时,在元数据存储单元中记录各个所述分片数据的索引信息。
在本实施方式中,在向局部对象中写入分片数据时,需要同步地在元数据存储单元中记录分片数据的索引信息。请参阅图3,在元数据存储单元中,可以标注出直播视频文件的文件标识m3u8_a,在该文件标识后面,可以添加分片数据的数据列表。在该数据列表中,可以包含各个分片数据的分片标识。例如在图3中,m3u8_a之后可以记录ts1_1、ts1_2这样的分片标识。同时,还可以一并记录副本存储单元中的局部对象的对象标识。例如在图3中,可以记录m3u8_a_part1、m3u8_a_part2这些局部对象的对象标识。当然,在实际应用中,元数据存储单元中还可以注明各个局部对象的存储容量。例如,m3u8_a_part1之后可以备注存储容量64MB。
在本实施方式中,除了可以记录各个分片数据的分片标识,还可以记录分片数据在局部对象中所处的位置。该位置可以通过分片数据的起始偏移量和分片数据的数据量共同表征。例如,对于分片数据ts1_1而言,可以存储于局部对象m3u8_a_part1中,并且该分片数据的起始偏移量为0,数据量为128kb。又例如,对于分片数据ts2_2而言,可以存储于局部对象m3u8_a_part2中,并且该分片数据的起始偏移量为128kb,数据量为也是128kb(终止偏移量为256kb)。可见,在实际应用中,分片数据在局部对象中所处的位置也可以通过起始偏移量和终止偏移量共同表征。
在本实施方式中,在向局部对象中写入分片数据后,用户客户端可以从对象存储系统处获取到对应的分片数据。具体地,用户客户端可以先向对象存储系统发送元数据查询请求。此时,元数据存储单元中的元数据是包含分片数据的索引信息的元数据,因此元数据存储单元可以向用户客户端提供该包含分片数据的索引信息的元数据。用户客户端可以将该元数据缓存在本地,在该元数据中,除了包含上述的各项索引信息,还可以具备元数据对应的版本号,该版本号可以随着元数据的更新而同步更新。用户客户端在获取到元数据之后,便可以根据元数据内的信息,向对象存储系统继续发起数据获取请求。该数据获取请求可以指向局部对象中的一个目标分片数据。这样,对象存储系统可以将局部对象中的目标分片数据提供给用户客户端。也就是说,在局部对象中未写满分片数据时,用户客户端可以获取该局部对象中的某个目标分片数据。
陆续上传的直播视频文件被切分为分片数据,陆续存入副本存储单元的局部对象中,避免底层产生大量的小对象,从而对系统造成压力。同时在元数据未聚合前,用户客户端可以根据分片数据的索引信息读取某个分片数据,这时候可以先对局部对象做预读取,从而提高读取粒度,提升读取性能。
S5:当所述局部对象中写满分片数据后,将所述元数据存储单元中所述分片数据的索引信息删除,并在所述元数据存储单元中保留所述局部对象的索引信息,以使得用户客户端通过所述局部对象的索引信息,从所述副本存储单元中获取所述局部对象的整体数据。
在本实施方式中,当局部对象中写满分片数据后,为了减少元数据的数量,可以对局部对象中分片数据的元数据进行聚合。具体地,当局部对象中写满分片数据后,可以将元数据存储单元中该局部对象内的分片数据的索引信息删除,并在所述元数据存储单元中仅保留该局部对象的索引信息。请参阅图4,当局部对象m3u8_a_part1中已经写满分片数据后,便可以将ts1_1、ts1_2这样的分片标识删除,并且可以删除分片数据的起始偏移量、终止偏移量、数据量等信息。这样,在元数据存储单元中,仅保留m3u8_a_part1的对象标识。
在本实施方式中,在对当前的局部对象的元数据进行上述的聚合处理时,可以在元数据存储单元中生成新的局部对象,并继续向新的局部对象中写入直播视频文件的其它分片数据。如果新的局部对象中也写满了分片数据,则可以再次针对该新的局部对象进行元数据聚合处理,同时可以继续生成新的局部对象。
在本实施方式中,每当对一个局部对象的元数据进行聚合之后,就可以更新元数据存储单元中元数据的版本号。这样处理的目的在于,用户客户端之前可能已经获取了元数据存储单元中的元数据,该元数据中可能依然包含分片数据的索引信息。在进行元数据聚合之后,如果用户客户端想再次从对象存储系统中获取数据,那么可以先发送元数据查询请求,对象存储系统会向用户客户端反馈当前的元数据的版本号。用户客户端在获取了最新的元数据的版本之后,可以与本地缓存的元数据的版本号进行对比,如果两个版本号不一致,则表示本地缓存的元数据已经过期。此时,用户客户端可以重新从对象存储系统处获取最新的元数据。这样,在完成元数据聚合后,在接收到用户客户端发来的元数据查询请求时,可以向所述用户客户端反馈聚合后的局部对象的索引信息,该聚合后的索引信息可以覆盖之前包含分片数据的索引信息的元数据。这样,在完成元数据聚合之后,在对象存储系统中,就相当于只有局部对象的整体数据,而不再具备各个分片数据(实际上分片数据依然存在,只是以整体的局部对象的形式出现)。用户客户端根据聚合后的局部对象的索引信息,可以从副本存储单元中获取局部对象的整体数据。
在元数据聚合之后,可以极大地减少元数据的数据量,从而减轻系统压力,降低元数据的数据量上升带来的风险。聚合过程只针对元数据,存储底层的数据不会被再次读出、聚合、删除、写入,从而可以将聚合对存储层的扰动和压力降到最低。
在实际应用中,存储底层根据m3u8信息,将归属于同一视频文件的ts小文件,预先追加写到一个大ts文件中,后续小ts文件合并,只需要更改m3u8 ts列表信息即可,不需要再次从底层存储读取、合并、删除小ts文件和重新写入合并后的大ts文件,大大减少了对存储的扰动和读写压力。
在一个实施方式中,考虑到直播视频文件的时效性较强,随着时间的不断推移,直播视频文件的热度可能会很快消退,用户的访问量也会大幅度降低。此时,为了节省副本存储单元的容量以及系统的整体成本,可以将副本存储单元中局部对象的数据迁移至读取效率稍低一点的纠删码存储单元(EC pool)中。这样,在直播视频文件热度较高时,数据存储于副本存储单元中,可以提高读写性能、降低延迟,保证业务质量;当随着时间推移,直播视频文件热度下降时,可以将数据迁移到纠删码存储单元中,从而降低存储的副本率,并且这个过程对用户而言是无感知的。
在实际应用中,小ts文件追加写为大ts文件,在ts列表做合并前,客户端依据小ts列表来读取文件,因为大ts是根据小ts文件追加写而成的,可以进行预读优化,提高读粒度,优化读性能。
具体地,请参阅图5,在将局部对象的数据迁移至纠删码存储单元中后,副本存储单元中可以仅保留局部对象的头文件信息,而不再存储局部对象的实际数据。当局部对象的实际数据存储于副本存储单元中时,局部对象的头文件信息中可以保存该实际数据的存放位置,这样,局部对象的头文件信息可以指向副本存储单元中局部对象的实际数据的存放位置。而当完成数据迁移之后,需要同步更改局部对象的头文件信息中的内容。具体地,可以将头文件信息更新为指向所述纠删码存储单元中的迁移后的数据。这样,根据用户客户端访问时机的不同,该头文件信息实际指向的位置也可能不同。具体地,对象存储系统在接收到用户客户端发来的指向目标局部对象的数据获取请求后,可以从所述副本存储单元中读取所述目标局部对象的头文件信息,然后,可以识别所述目标局部对象的头文件信息表征的数据存储位置,该数据存储位置可以指向副本存储单元,也可能指向纠删码存储单元。在确定出头文件信息表征的数据存储位置后,便可以从副本存储单元或者纠删码存储单元处,将所述数据存储位置处的目标局部对象的整体数据提供给用户客户端。
本申请还提供一种对象存储系统,所述系统包括:
局部对象初始化单元,用于针对待存储的直播视频文件,在副本存储单元中生成所述直播视频文件的局部对象,并向所述局部对象中依次写入所述直播视频文件的各个分片数据;
索引信息记录单元,用于在向所述局部对象中写入分片数据时,在元数据存储单元中记录各个所述分片数据的索引信息;
聚合单元,用于当所述局部对象中写满分片数据后,将所述元数据存储单元中所述分片数据的索引信息删除,并保留所述局部对象的索引信息,以使得用户客户端通过所述局部对象的索引信息,从所述副本存储单元中获取所述局部对象的整体数据。
本申请还提供一种服务器,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的对象存储方法。
在本申请中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。所述存储器又可以包括:利用电能方式存储信息的装置,如RAM或ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器或U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器或石墨烯存储器等等。
在本申请中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
由上可见,本申请一个或者多个实施方式提供的技术方案,在存储直播视频文件的分片数据时,可以现在副本存储单元中生成一个容量较大的局部对象,然后向该局部对象中依次写入分片数据。在分片数据的写入过程中,可以在元数据存储单元中暂时记录各个分片数据的索引信息。当局部对象中写满分片数据之后,便可以将元数据存储单元中分片数据的索引信息删除,仅保留局部对象的索引信息。这样,相当于完成了分片数据的聚合过程。通过将分片数据在底层的副本存储单元中聚合为大的局部对象,并在元数据存储单元中仅记录局部对象的索引信息,从而极大地减少了元数据的数量,进而提高了系统的整体稳定性。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对系统和服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本领域内的技术人员应明白,本发明的实施方式可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施方式而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种对象存储方法,其特征在于,所述方法包括:
针对待存储的直播视频文件,在副本存储单元中生成所述直播视频文件的局部对象,并向所述局部对象中依次写入所述直播视频文件的各个分片数据;
在向所述局部对象中写入分片数据时,在元数据存储单元中记录各个所述分片数据的索引信息;
当所述局部对象中写满分片数据后,将所述元数据存储单元中所述分片数据的索引信息删除,并在所述元数据存储单元中保留所述局部对象的索引信息,以使得用户客户端通过所述局部对象的索引信息,从所述副本存储单元中获取所述局部对象的整体数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述局部对象中写满分片数据后,在所述副本存储单元中生成新的局部对象,并继续向所述新的局部对象中写入所述直播视频文件的分片数据。
3.根据权利要求1所述的方法,其特征在于,在副本存储单元中生成所述直播视频文件的局部对象包括:
识别所述直播视频文件的文件标识,并基于所述文件标识确定局部对象的对象标识;
在所述副本存储单元中生成具备所述对象标识和预设存储容量的局部对象。
4.根据权利要求1所述的方法,其特征在于,在元数据存储单元中记录各个所述分片数据的索引信息包括:
在元数据存储单元那种记录各个所述分片数据的分片标识,并记录所述分片数据在所述局部对象中所处的位置。
5.根据权利要求4所述的方法,其特征在于,所述分片数据在所述局部对象中所处的位置通过所述分片数据的起始偏移量和所述分片数据的数据量共同表征。
6.根据权利要求1所述的方法,其特征在于,在将所述元数据存储单元中所述分片数据的索引信息删除,并保留所述局部对象的索引信息之后,所述方法还包括:
更新所述元数据存储单元中元数据的版本号,并在接收到用户客户端发来的元数据查询请求时,向所述用户客户端反馈所述局部对象的索引信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述局部对象的数据迁移至纠删码存储单元中,并在所述副本存储单元中仅保留所述局部对象的头文件信息;其中,所述头文件信息被更新为指向所述纠删码存储单元中的迁移后的数据。
8.根据权利要求1或7所述的方法,其特征在于,所述方法包括:
接收所述用户客户端发来的指向目标局部对象的数据获取请求,并从所述副本存储单元中读取所述目标局部对象的头文件信息;
识别所述目标局部对象的头文件信息表征的数据存储位置,所述数据存储位置指向副本存储单元或者纠删码存储单元;
将所述数据存储位置处的所述目标局部对象的整体数据提供给所述用户客户端。
9.根据权利要求1所述的方法,其特征在于,在所述局部对象中未写满分片数据时,所述方法还包括:
接收用户客户端发来的元数据查询请求,并向所述用户客户端提供包含所述分片数据的索引信息的元数据;
接收所述用户客户端发来的数据获取请求,所述数据获取请求指向所述局部对象中的目标分片数据,并将所述目标分片数据提供给所述用户客户端。
10.一种对象存储系统,其特征在于,所述系统包括:
局部对象初始化单元,用于针对待存储的直播视频文件,在副本存储单元中生成所述直播视频文件的局部对象,并向所述局部对象中依次写入所述直播视频文件的各个分片数据;
索引信息记录单元,用于在向所述局部对象中写入分片数据时,在元数据存储单元中记录各个所述分片数据的索引信息;
聚合单元,用于当所述局部对象中写满分片数据后,将所述元数据存储单元中所述分片数据的索引信息删除,并在所述元数据存储单元中保留所述局部对象的索引信息,以使得用户客户端通过所述局部对象的索引信息,从所述副本存储单元中获取所述局部对象的整体数据。
11.一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011421776.2A CN112637616B (zh) | 2020-12-08 | 2020-12-08 | 一种对象存储方法、系统及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011421776.2A CN112637616B (zh) | 2020-12-08 | 2020-12-08 | 一种对象存储方法、系统及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637616A true CN112637616A (zh) | 2021-04-09 |
CN112637616B CN112637616B (zh) | 2024-02-23 |
Family
ID=75308568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011421776.2A Active CN112637616B (zh) | 2020-12-08 | 2020-12-08 | 一种对象存储方法、系统及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637616B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114063937A (zh) * | 2022-01-18 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种存储池副本策略调整方法、装置、设备及介质 |
WO2023087816A1 (zh) * | 2021-11-16 | 2023-05-25 | 中兴通讯股份有限公司 | 媒体文件聚合方法、播放方法、cdn系统、终端、存储介质 |
CN116737664A (zh) * | 2023-08-14 | 2023-09-12 | 中国科学院软件研究所 | 一种面向对象的嵌入式数据库高效索引组织方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332027A (zh) * | 2011-10-15 | 2012-01-25 | 西安交通大学 | 一种基于Hadoop的海量非独立小文件关联存储方法 |
CN103617260A (zh) * | 2013-11-29 | 2014-03-05 | 华为技术有限公司 | 重复数据删除的索引生成方法及装置 |
WO2015124015A1 (zh) * | 2014-02-21 | 2015-08-27 | 华为技术有限公司 | 一种数据包转发方法及设备 |
CN105808589A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 文件处理的方法和装置 |
CN107295425A (zh) * | 2017-06-12 | 2017-10-24 | 北京达沃时代科技股份有限公司 | 一种快速拼接转码分片文件的方法 |
CN107911461A (zh) * | 2017-11-24 | 2018-04-13 | 网宿科技股份有限公司 | 云存储系统中的对象处理方法、存储服务器及云存储系统 |
CN108256115A (zh) * | 2017-09-05 | 2018-07-06 | 国家计算机网络与信息安全管理中心 | 一种面向SparkSql的HDFS小文件实时合并实现方法 |
CN108763473A (zh) * | 2018-05-29 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种分布式存储的本地对象存储方法及装置 |
CN109726177A (zh) * | 2018-12-29 | 2019-05-07 | 北京赛思信安技术股份有限公司 | 一种基于HBase的海量文件分区索引方法 |
CN109819265A (zh) * | 2017-11-20 | 2019-05-28 | 杭州萤石网络有限公司 | 数据存储、数据获取方法及系统 |
CN111078653A (zh) * | 2019-10-29 | 2020-04-28 | 厦门网宿有限公司 | 一种数据存储方法、系统及设备 |
CN111309687A (zh) * | 2020-01-21 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种对象存储小文件处理方法、装置、设备及存储介质 |
CN111881133A (zh) * | 2020-07-24 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 存储桶管理方法、装置、计算机设备及可读存储介质 |
-
2020
- 2020-12-08 CN CN202011421776.2A patent/CN112637616B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332027A (zh) * | 2011-10-15 | 2012-01-25 | 西安交通大学 | 一种基于Hadoop的海量非独立小文件关联存储方法 |
CN103617260A (zh) * | 2013-11-29 | 2014-03-05 | 华为技术有限公司 | 重复数据删除的索引生成方法及装置 |
WO2015124015A1 (zh) * | 2014-02-21 | 2015-08-27 | 华为技术有限公司 | 一种数据包转发方法及设备 |
CN105808589A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 文件处理的方法和装置 |
CN107295425A (zh) * | 2017-06-12 | 2017-10-24 | 北京达沃时代科技股份有限公司 | 一种快速拼接转码分片文件的方法 |
CN108256115A (zh) * | 2017-09-05 | 2018-07-06 | 国家计算机网络与信息安全管理中心 | 一种面向SparkSql的HDFS小文件实时合并实现方法 |
CN109819265A (zh) * | 2017-11-20 | 2019-05-28 | 杭州萤石网络有限公司 | 数据存储、数据获取方法及系统 |
CN107911461A (zh) * | 2017-11-24 | 2018-04-13 | 网宿科技股份有限公司 | 云存储系统中的对象处理方法、存储服务器及云存储系统 |
CN108763473A (zh) * | 2018-05-29 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种分布式存储的本地对象存储方法及装置 |
CN109726177A (zh) * | 2018-12-29 | 2019-05-07 | 北京赛思信安技术股份有限公司 | 一种基于HBase的海量文件分区索引方法 |
CN111078653A (zh) * | 2019-10-29 | 2020-04-28 | 厦门网宿有限公司 | 一种数据存储方法、系统及设备 |
CN111309687A (zh) * | 2020-01-21 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种对象存储小文件处理方法、装置、设备及存储介质 |
CN111881133A (zh) * | 2020-07-24 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 存储桶管理方法、装置、计算机设备及可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023087816A1 (zh) * | 2021-11-16 | 2023-05-25 | 中兴通讯股份有限公司 | 媒体文件聚合方法、播放方法、cdn系统、终端、存储介质 |
CN114063937A (zh) * | 2022-01-18 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种存储池副本策略调整方法、装置、设备及介质 |
CN116737664A (zh) * | 2023-08-14 | 2023-09-12 | 中国科学院软件研究所 | 一种面向对象的嵌入式数据库高效索引组织方法 |
CN116737664B (zh) * | 2023-08-14 | 2023-11-14 | 中国科学院软件研究所 | 一种面向对象的嵌入式数据库高效索引组织方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112637616B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799959B2 (en) | Data processing method, apparatus, and system | |
CN112637616B (zh) | 一种对象存储方法、系统及服务器 | |
CN106951375B (zh) | 在存储系统中删除快照卷的方法及装置 | |
US20180307413A1 (en) | Control of storage of data in a hybrid storage system | |
US9298384B2 (en) | Method and device for storing data in a flash memory using address mapping for supporting various block sizes | |
CN107168651B (zh) | 一种小文件聚合存储处理方法 | |
CN107817946B (zh) | 用于混合存储设备读写数据的方法以及装置 | |
US9189494B2 (en) | Object file system | |
CN103399823B (zh) | 业务数据的存储方法、设备和系统 | |
WO2018141304A1 (zh) | 一种闪存文件系统及其数据管理方法 | |
EP3944556B1 (en) | Block data storage method and apparatus, and block data access method and apparatus | |
WO2020098654A1 (zh) | 基于云存储的数据存储方法、装置和存储介质 | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
CN111651127A (zh) | 一种基于叠瓦式磁记录盘的监控数据存储方法及装置 | |
CN112783449A (zh) | 数据迁移方法及装置 | |
JP3762203B2 (ja) | コンパクトディスクメディアのデータの読み書き方法 | |
TWI332198B (en) | Storage device and method of accessing storage device | |
JP4502375B2 (ja) | ファイルシステムおよびその制御方法 | |
CN114416677A (zh) | 一种冷存储数据的更新方法、装置、设备及存储介质 | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
CN109508140B (zh) | 存储资源管理方法、装置、电子设备及电子设备、系统 | |
CN113051301A (zh) | 一种对象存储方法、系统及设备 | |
CN103905694A (zh) | 一种关键帧处理方法及系统 | |
WO2016184199A1 (zh) | 一种文件管理的方法、设备和系统 | |
CN109241011B (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 |