CN111966295B - 一种基于ceph的多journal记录方法、装置和介质 - Google Patents
一种基于ceph的多journal记录方法、装置和介质 Download PDFInfo
- Publication number
- CN111966295B CN111966295B CN202010832983.0A CN202010832983A CN111966295B CN 111966295 B CN111966295 B CN 111966295B CN 202010832983 A CN202010832983 A CN 202010832983A CN 111966295 B CN111966295 B CN 111966295B
- Authority
- CN
- China
- Prior art keywords
- journ
- data
- target
- file
- queue
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于ceph的多journal记录方法、装置和介质,预先为每个shard队列建立对应的journal队列和journal文件;每个journal文件有其对应的文件标识。当目标shard队列中生成新的journal数据时,将journal数据***到目标journal队列。根据目标journal队列所对应的文件标识确定出相对应的目标journal文件,将journal数据存储至目标journal文件中。通过对每个shard队列建立对应的journal队列和journal文件,无需额外调用write_thread线程,减少了IO栈中的线程切换带来的性能损耗,同时实现了OSD中shard队列的joural数据的并行处理。
Description
技术领域
本发明涉及分布式存储技术领域,特别是涉及一种基于ceph的多journal记录方法、装置和计算机可读存储介质。
背景技术
对象存储设备(Object Store Device,OSD)主要负责处理客户端的输入输出(Input/Output,IO)请求,并将数据写到磁盘。为了保证数据的一致性,在OSD崩溃之后可以找回数据,写数据之前,OSD会构造journal数据(journal),并将journal写到磁盘之后向客户端返回写操作已完成,然后再进行数据的写入即执行数据的落盘操作。
在数据落盘之前需要执行journal写入磁盘的操作,由此可见,提高journal的处理速度能改善ceph的写性能。
每个OSD中有多个用于处理IO数据的工作队列即shard队列,所有数据的处理在shard队列中进行,shard队列通过shard线程进行事务的构造及journal的生成,之后会提交journal到writeq队列中。传统方式中多个shard队列将生成的journal数据向一个writeq队列提交时,为了避免数据存储的混乱,每个shard队列在向writeq队列存储数据时需要进行加锁操作,并且通过信号量唤醒write_thread线程,从而完成journal数据的存储。对于NVMe闪存(Non-Volatile Memory express,NVMe)、存储级内存(Storage ClassMemory,SCM)等高性能硬件平台,这种设计会成为性能瓶颈,造成IO处理达不到应用要求,出现延时高等问题。
可见,如何提升IO处理及响应速度,以减少IO时延,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种基于ceph的多journal记录方法、装置和计算机可读存储介质,可以提升IO处理及响应速度,以减少IO时延。
为解决上述技术问题,本发明实施例提供一种基于ceph的多journal记录方法,包括:
预先为每个shard队列建立对应的journal队列和journal文件;其中,每个所述journal文件有其对应的文件标识;
当目标shard队列中生成新的journal数据时,将所述journal数据***到对应的目标journal队列;其中,所述目标shard队列为所有所述shard队列中的任意一个shard队列;
根据所述目标journal队列所对应的文件标识确定出相对应的目标journal文件,将所述journal数据存储至所述目标journal文件中。
可选地,在所述根据所述目标journal队列所对应的文件标识确定出相对应的目标journal文件,将所述journal数据存储至所述目标journal文件之后还包括:
获取journal数据当前所对应的的水位线信息;
将所述目标journal文件中与所述水位线信息相匹配的journal数据删除。
可选地,在所述根据所述目标journal队列所对应的文件标识确定出相对应的目标journal文件,将所述journal数据存储至所述目标journal文件中之后还包括:
判断当前更新的数据序列号与已落盘数据序列号是否一致;
若当前更新的数据序列号与已落盘数据序列号不一致,则依据所述当前更新的数据序列号与所述已落盘数据序列号,从相应的journal文件中读取目标journal数据;
根据所述目标journal数据生成相应的数据信息,并对所述数据信息执行落盘操作。
可选地,所述依据所述当前更新的数据序列号与所述已落盘数据序列号,从相应的journal文件中读取目标journal数据包括:
从所有所述journal文件中查找与所述已落盘数据序列号相匹配的journal文件;
将所述已落盘数据序列号作为起始序列号,将所述当前更新的数据序列号作为结束序列号,从所述相匹配的journal文件中读取所述起始序列号到所述结束序列号之间的目标journal数据。
本发明实施例还提供了一种基于ceph的多journal记录装置,包括建立单元、***单元和存储单元;
所述建立单元,用于预先为每个shard队列建立对应的journal队列和journal文件;
所述***单元,用于当目标shard队列中生成新的journal数据时,将所述journal数据***到对应的目标journal队列;其中,所述目标shard队列为所有所述shard队列中的任意一个shard队列;
所述存储单元,用于根据所述目标journal队列所对应的文件标识确定出相对应的目标journal文件,将所述journal数据存储至所述目标journal文件中。
可选地,还包括获取单元和删除单元;
所述获取单元,用于获取journal数据当前所对应的的水位线信息;
所述删除单元,用于将所述目标journal文件中与所述水位线信息相匹配的journal数据删除。
可选地,还包括判断单元、读取单元和落盘单元;
所述判断单元,用于判断当前更新的数据序列号与已落盘数据序列号是否一致;
所述读取单元,用于当前更新的数据序列号与已落盘数据序列号不一致,则依据所述当前更新的数据序列号与所述已落盘数据序列号,从相应的journal文件中读取目标journal数据;
所述落盘单元,用于根据所述目标journal数据生成相应的数据信息,并对所述数据信息执行落盘操作。
可选地,所述读取单元具体用于从所有所述journal文件中查找与所述已落盘数据序列号相匹配的journal文件;将所述已落盘数据序列号作为起始序列号,将所述当前更新的数据序列号作为结束序列号,从所述相匹配的journal文件中读取所述起始序列号到所述结束序列号之间的目标journal数据。
本发明实施例还提供了一种基于ceph的多journal记录装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述基于ceph的多journal记录方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述基于ceph的多journal记录方法的步骤。
由上述技术方案可以看出,预先为每个shard队列建立对应的journal队列和journal文件其中,每个journal文件有其对应的文件标识。每个shard队列中journal数据的处理方式类似,以所有shard队列中的任意一个shard队列即目标shard队列为例,当目标shard队列中生成新的journal数据时,将journal数据***到对应的目标journal队列。journal队列可以实现对journal数据的暂时缓存,并且journal队列的存储空间有限,为了保证新产生的journal数据可以顺利缓存至journal队列,需要根据目标journal队列所对应的文件标识确定出相对应的目标journal文件,将journal数据存储至目标journal文件中。在该技术方案中,通过对每个shard队列建立对应的journal队列和journal文件,使得所有的journal数据写处理都可以在OSD的shard线程中进行,无需额外调用write_thread线程,减少了IO栈中的线程切换带来的性能损耗。同时由于各shard队列可以独立处理journal数据,实现了OSD中shard队列的Joural数据的并行处理,有效的提升了IO处理及响应速度,减少了IO时延。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于ceph的多journal记录方法的流程图;
图2为本发明实施例提供的一种多shard队列并行处理journal数据的示意图;
图3为本发明实施例提供的一种基于ceph的多journal记录装置的结构示意图;
图4为本发明实施例提供的一种基于ceph的多journal记录装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种基于ceph的多journal记录方法。图1为本发明实施例提供的一种基于ceph的多journal记录方法的流程图,该方法包括:
S101:预先为每个shard队列建立对应的journal队列和journal文件。
队列之间可以通过指针的方式实现数据的迁移,其迁移速度较快。为了保证可以及时快速的对shard队列中的journal数据进行处理,可以针对于每个shard队列建立其对应的journal队列和journal文件。
journal文件指的是在磁盘上建立的用于存储journal数据的文件,初始状态下,journal文件为空。为了便于区分不同的journal文件,可以针对于每个journal文件设置其对应的文件标识。
每个shard队列有其对应的shard_id信息,每个journal队列有其对应的journal_id信息。
S102:当目标shard队列中生成新的journal数据时,将journal数据***到对应的目标journal队列。
每个shard队列有其对应shard线程,shard线程主要用于进行事务的构造及journal数据的生成。
考虑到每个shard队列中journal数据的处理方式类似,在本发明实例中均以所有shard队列中的任意一个shard队列即目标shard队列为例展开介绍。
当目标shard队列中有新的journal数据生成时,需要将该journal数据存储至相应的journal文件中。本发明实施例中,为了提升目标shard队列中journal数据的处理速度,对目标shard队列建立了相应的journal队列。因此,当目标shard队列中生成新的journal数据时,便可以将journal数据***到目标journal队列。
S103:根据目标journal队列所对应的文件标识确定出相对应的目标journal文件,将journal数据存储至目标journal文件中。
在对应关系中可以查找到目标journal队列所对应的文件标识,根据该文件标识便可以定位到具体的目标journal文件,从而可以将目标journal队列中记录的journal数据转移至目标journal文件中存储。
如图2所示为本发明实施例一种多shard队列并行处理journal数据的示意图,从图2可以看出每个shard队列有其对应的一个journal队列(writeq)和journal文件(Journal file),图2中是以5个shard队列为例,通过设置数字0-4作为后缀,可以用于区分不同的writeq以及Journal file。每个shard队列通过shard进程(ShardedOpWQ_process)可以将生成的journal数据提交至相应的writeq,最终将writeq队列中的journal数据存储至Journal file,实现journal数据的落盘操作。
由上述技术方案可以看出,预先为每个shard队列建立对应的journal队列和journal文件;其中,每个journal文件有其对应的文件标识。每个shard队列中journal数据的处理方式类似,以所有shard队列中的任意一个shard队列即目标shard队列为例,当目标shard队列中生成新的journal数据时,将journal数据***到对应的目标journal队列。journal队列可以实现对journal数据的暂时缓存,并且journal队列的存储空间有限,为了保证新产生的journal数据可以顺利缓存至journal队列,需要根据目标journal队列所对应的文件标识确定出相对应的目标journal文件,将journal数据存储至目标journal文件中。在该技术方案中,通过对每个shard队列建立对应的journal队列和journal文件,使得所有的journal数据写处理都可以在OSD的shard线程中进行,无需额外调用write_thread线程,减少了IO栈中的线程切换带来的性能损耗。同时由于各shard队列可以独立处理journal数据,实现了OSD中shard队列的Joural数据的并行处理,有效的提升了IO处理及响应速度,减少了IO时延。
在本发明实施例中,将journal数据存储至目标journal文件之后,会执行数据信息的落盘操作。当完成数据信息的落盘操作之后,与该数据信息相对应的journal数据不具有太大的使用价值,为了降低无用的journal数据长时间占用journal文件的存储空间,可以在根据目标journal队列所对应的文件标识确定出相对应的目标journal文件,将journal数据存储至目标journal文件之后,获取journal数据当前所对应的的水位线信息;将目标journal文件中与水位线信息相匹配的journal数据删除。
其中,水位线信息用于指示当前已经完成落盘操作的数据信息的位置。例如,一共有100条数据信息需要执行落盘操作,各条数据信息可以用标号0-99表示,当前50条数据信息完成落盘操作之后,此时水位线信息可以更新为50。
journal数据以journal条目的形式存储,每条数据信息对应一个journal条目。
每个journal条目有其对应的journal序列号,journal序列号往往按照journal数据的产生时间依次递增。当获取到journal数据当前对应的的水位线信息时,根据数据信息与journal条目的对应关系,便可以确定出该水位线信息所对应的journal序列号,从而将该journal序列号之前的journal数据全部删除即可。
通过依据水位线信息可以及时准确的将已经完成落盘操作的数据信息所对应的journal数据删除,有效的避免了无用的journal数据长时间对journal文件存储空间的占用。
在执行数据信息的落盘操作时,可能会由于***故障或者***异常掉电,导致部分数据信息丢失的情况发生。为了保证所有数据信息可以顺利落盘,在根据目标journal队列所对应的文件标识确定出相对应的目标journal文件,将journal数据存储至目标journal文件中之后,可以判断当前更新的数据序列号与已落盘数据序列号是否一致。
其中,已落盘数据序列号用于表征最新一次完成落盘操作的数据信息对应的序列号。当前更新的数据序列号用于表征理论上完成本次落盘操作的数据序列号。
若当前更新的数据序列号与已落盘数据序列号不一致,则说明存在数据信息未执行落盘的情况,此时可以依据当前更新的数据序列号与已落盘数据序列号,从相应的journal文件中读取目标journal数据;根据目标journal数据生成相应的数据信息,并对数据信息执行落盘操作。
在实际应用中,可以将已落盘数据序列号作为起始序列号,将当前更新的数据序列号作为结束序列号。为了快速查找到与未落盘的数据信息相匹配的目标journal数据,可以从所有journal文件中查找与已落盘数据序列号相匹配的journal文件。从相匹配的journal文件中读取起始序列号到结束序列号之间的目标journal数据。
通过将当前更新的数据序列号和已落盘数据序列号进行比较,可以及时的发现部分数据信息落盘失败的情况,从而可以根据当前更新的数据序列号和已落盘数据序列号,确定出相应的的journal数据,完成所有数据信息的落盘操作。
图3为本发明实施例提供的一种基于ceph的多journal记录装置的结构示意图,包括建立单元31、***单元32和存储单元33;
建立单元31,用于预先为每个shard队列建立对应的journal队列和journal文件;
***单元32,用于当目标shard队列中生成新的journal数据时,将journal数据***到对应的目标journal队列;其中,目标shard队列为所有shard队列中的任意一个shard队列;
存储单元33,用于根据目标journal队列所对应的文件标识确定出相对应的目标journal文件,将journal数据存储至目标journal文件中。
可选地,还包括获取单元和删除单元;
获取单元,用于获取journal数据当前所对应的的水位线信息;
删除单元,用于将目标journal文件中与水位线信息相匹配的journal数据删除。
可选地,还包括判断单元、读取单元和落盘单元;
判断单元,用于判断当前更新的数据序列号与已落盘数据序列号是否一致;
读取单元,用于当前更新的数据序列号与已落盘数据序列号不一致,则依据当前更新的数据序列号与已落盘数据序列号,从相应的journal文件中读取目标journal数据;
落盘单元,用于根据目标journal数据生成相应的数据信息,并对数据信息执行落盘操作。
可选地,读取单元具体用于从所有journal文件中查找与已落盘数据序列号相匹配的journal文件;将已落盘数据序列号作为起始序列号,将当前更新的数据序列号作为结束序列号,从相匹配的journal文件中读取起始序列号到结束序列号之间的目标journal数据。
图3所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,预先为每个shard队列建立对应的journal队列和journal文件;其中,每个journal文件有其对应的文件标识。每个shard队列中journal数据的处理方式类似,以所有shard队列中的任意一个shard队列即目标shard队列为例,当目标shard队列中生成新的journal数据时,将journal数据***到对应的目标journal队列。journal队列可以实现对journal数据的暂时缓存,并且journal队列的存储空间有限,为了保证新产生的journal数据可以顺利缓存至journal队列,需要根据目标journal队列所对应的文件标识确定出相对应的目标journal文件,将journal数据存储至目标journal文件中。在该技术方案中,通过对每个shard队列建立对应的journal队列和journal文件,使得所有的journal数据写处理都可以在OSD的shard线程中进行,无需额外调用write_thread线程,减少了IO栈中的线程切换带来的性能损耗。同时由于各shard队列可以独立处理journal数据,实现了OSD中shard队列的Joural数据的并行处理,有效的提升了IO处理及响应速度,减少了IO时延。
图4为本发明实施例提供的一种基于ceph的多journal记录装置40的硬件结构示意图,包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序以实现如上述任意实施例所述的基于ceph的多journal记录方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例所述的基于ceph的多journal记录方法的步骤。
以上对本发明实施例所提供的一种基于ceph的多journal记录方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (10)
1.一种基于ceph的多journal记录方法,其特征在于,包括:
预先为每个shard队列建立对应的journal队列和journal文件;其中,每个所述journal文件有其对应的文件标识;
当目标shard队列中生成新的journal数据时,将所述journal数据***到对应的目标journal队列;其中,所述目标shard队列为所有所述shard队列中的任意一个shard队列,所述目标journal队列为所有所述journal队列中与所述目标shard队列对应的一个所述journal队列;
根据所述目标journal队列所对应的文件标识确定出相对应的目标journal文件,将所述journal数据存储至所述目标journal文件中。
2.根据权利要求1所述的基于ceph的多journal记录方法,其特征在于,在所述根据所述目标journal队列所对应的文件标识确定出相对应的目标journal文件,将所述journal数据存储至所述目标journal文件之后还包括:
获取journal数据当前所对应的水位线信息;
将所述目标journal文件中与所述水位线信息相匹配的journal数据删除。
3.根据权利要求1所述的基于ceph的多journal记录方法,其特征在于,在所述根据所述目标journal队列所对应的文件标识确定出相对应的目标journal文件,将所述journal数据存储至所述目标journal文件中之后还包括:
判断当前更新的数据序列号与已落盘数据序列号是否一致;
若当前更新的数据序列号与已落盘数据序列号不一致,则依据所述当前更新的数据序列号与所述已落盘数据序列号,从相应的journal文件中读取目标journal数据;
根据所述目标journal数据生成相应的数据信息,并对所述数据信息执行落盘操作。
4.根据权利要求3所述的基于ceph的多journal记录方法,其特征在于,所述依据所述当前更新的数据序列号与所述已落盘数据序列号,从相应的journal文件中读取目标journal数据包括:
从所有所述journal文件中查找与所述已落盘数据序列号相匹配的journal文件;
将所述已落盘数据序列号作为起始序列号,将所述当前更新的数据序列号作为结束序列号,从所述相匹配的journal文件中读取所述起始序列号到所述结束序列号之间的目标journal数据。
5.一种基于ceph的多journal记录装置,其特征在于,包括建立单元、***单元和存储单元;
所述建立单元,用于预先为每个shard队列建立对应的journal队列和journal文件;
所述***单元,用于当目标shard队列中生成新的journal数据时,将所述journal数据***到对应的目标journal队列;其中,所述目标shard队列为所有所述shard队列中的任意一个shard队列,所述目标journal队列为所有所述journal队列中与所述目标shard队列对应的一个所述journal队列;
所述存储单元,用于根据所述目标journal队列所对应的文件标识确定出相对应的目标journal文件,将所述journal数据存储至所述目标journal文件中。
6.根据权利要求5所述的基于ceph的多journal记录装置,其特征在于,还包括获取单元和删除单元;
所述获取单元,用于获取journal数据当前所对应的水位线信息;
所述删除单元,用于将所述目标journal文件中与所述水位线信息相匹配的journal数据删除。
7.根据权利要求5所述的基于ceph的多journal记录装置,其特征在于,还包括判断单元、读取单元和落盘单元;
所述判断单元,用于判断当前更新的数据序列号与已落盘数据序列号是否一致;
所述读取单元,用于当前更新的数据序列号与已落盘数据序列号不一致,则依据所述当前更新的数据序列号与所述已落盘数据序列号,从相应的journal文件中读取目标journal数据;
所述落盘单元,用于根据所述目标journal数据生成相应的数据信息,并对所述数据信息执行落盘操作。
8.根据权利要求7所述的基于ceph的多journal记录装置,其特征在于,所述读取单元具体用于从所有所述journal文件中查找与所述已落盘数据序列号相匹配的journal文件;将所述已落盘数据序列号作为起始序列号,将所述当前更新的数据序列号作为结束序列号,从所述相匹配的journal文件中读取所述起始序列号到所述结束序列号之间的目标journal数据。
9.一种基于ceph的多journal记录装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至4任意一项所述基于ceph的多journal记录方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述基于ceph的多journal记录方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010832983.0A CN111966295B (zh) | 2020-08-18 | 2020-08-18 | 一种基于ceph的多journal记录方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010832983.0A CN111966295B (zh) | 2020-08-18 | 2020-08-18 | 一种基于ceph的多journal记录方法、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966295A CN111966295A (zh) | 2020-11-20 |
CN111966295B true CN111966295B (zh) | 2023-12-29 |
Family
ID=73388921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010832983.0A Active CN111966295B (zh) | 2020-08-18 | 2020-08-18 | 一种基于ceph的多journal记录方法、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966295B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729442A (zh) * | 2013-12-30 | 2014-04-16 | 华为技术有限公司 | 记录事务日志的方法和数据库引擎 |
CN106549990A (zh) * | 2015-09-18 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种分布式数据的处理方法和*** |
WO2018121740A1 (zh) * | 2016-12-30 | 2018-07-05 | 北京奇虎科技有限公司 | 一种流数据的并发读写方法和装置 |
CN110399101A (zh) * | 2019-07-19 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种磁盘的写操作处理方法、装置、***及存储介质 |
CN110399095A (zh) * | 2019-06-12 | 2019-11-01 | 厦门网宿有限公司 | 一种存储空间的统计方法和装置 |
-
2020
- 2020-08-18 CN CN202010832983.0A patent/CN111966295B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729442A (zh) * | 2013-12-30 | 2014-04-16 | 华为技术有限公司 | 记录事务日志的方法和数据库引擎 |
CN106549990A (zh) * | 2015-09-18 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种分布式数据的处理方法和*** |
WO2018121740A1 (zh) * | 2016-12-30 | 2018-07-05 | 北京奇虎科技有限公司 | 一种流数据的并发读写方法和装置 |
CN110399095A (zh) * | 2019-06-12 | 2019-11-01 | 厦门网宿有限公司 | 一种存储空间的统计方法和装置 |
CN110399101A (zh) * | 2019-07-19 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种磁盘的写操作处理方法、装置、***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111966295A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106527958B (zh) | 用于分布式存储***的写入数据、获取数据的方法和设备 | |
JP4916892B2 (ja) | トランザクション処理のためのログ情報管理システムおよび方法 | |
CN108733306B (zh) | 一种文件合并方法及装置 | |
CN110555001B (zh) | 数据处理方法、装置、终端及介质 | |
WO2017113213A1 (zh) | 访问请求处理方法、装置及计算机*** | |
US10884926B2 (en) | Method and system for distributed storage using client-side global persistent cache | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN114281762B (zh) | 一种日志存储加速方法、装置、设备及介质 | |
CN112395212A (zh) | 减少键值分离存储***的垃圾回收和写放大的方法及*** | |
CN109471843A (zh) | 一种元数据缓存方法、***及相关装置 | |
CN109558456A (zh) | 一种文件迁移方法、装置、设备及可读存储介质 | |
CN111190537B (zh) | 一种追加写场景下顺序存储磁盘管理的方法及*** | |
CN114827178A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN116431080B (zh) | 一种数据落盘方法、***、设备及计算机可读存储介质 | |
CN112463073A (zh) | 一种对象存储分布式配额方法、***、设备和存储介质 | |
CN111966295B (zh) | 一种基于ceph的多journal记录方法、装置和介质 | |
CN114490540B (zh) | 数据存储方法、介质、装置和计算设备 | |
US11789908B2 (en) | Offloading memory maintenance for a log-structured file system | |
CN111399753B (zh) | 写入图片的方法和装置 | |
CN114579061A (zh) | 一种数据存储方法、装置、设备及介质 | |
CN113590273A (zh) | 事务处理方法、***、设备及存储介质 | |
CN111240591A (zh) | 一种存储设备的操作请求处理方法及相关装置 | |
CN111694806A (zh) | 一种事务日志的缓存方法、装置、设备和存储介质 | |
CN117271440B (zh) | 一种基于freeRTOS文件信息存储方法、读取方法及相关设备 | |
CN116991542B (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 |