CN117762335A - 针对Ceph对象的写入方法、装置、设备及存储介质 - Google Patents
针对Ceph对象的写入方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117762335A CN117762335A CN202311786611.9A CN202311786611A CN117762335A CN 117762335 A CN117762335 A CN 117762335A CN 202311786611 A CN202311786611 A CN 202311786611A CN 117762335 A CN117762335 A CN 117762335A
- Authority
- CN
- China
- Prior art keywords
- data
- object data
- storage system
- stored
- osd
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000001514 detection method Methods 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种针对Ceph对象的写入方法、装置、设备及存储介质,方法包括当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中;当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象;采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。本申请实施例在通过数据指纹在OSD中存储的存储对象查找到对象数据时,通过将对象数据转换为携带有已存储对象的数据指望的空对象形成来存储对象数据,这样一方面存储了对象数据,另一方面也减少了对象数据所占用的存储资源,提高了OSD的资源利用率。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种针对Ceph对象的写入方法、装置、设备及存储介质。
背景技术
分布式对象存储***包括多个存储节点,可以将待存储的数据映射至一组不同存储节点的对象存储设备(Object-based Storage Device,OSD)上。由于分布式对象存储***具备横向扩展(scale-out)能力。利用横向扩展能力,可使存储容量和性能同步扩展,所以分布式对象存储***近年来在企业广泛部署。随着云计算、大数据、物联网的发展,分布式对象存储***需要存储的数据量快速增长,并且很多数据仅有局部数据不同的特点,这就造成仅有局部数据不同的各数据间存在数据冗余,进而影响OSD的空间利用率。
因而现有技术还有待改进和提高。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种针对Ceph对象的写入方法、装置、设备及存储介质。
为了解决上述技术问题,本申请实施例第一方面提供了一种针对Ceph对象的写入方法,所述的针对Ceph对象的写入方法包括:
当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD;
当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象,其中,所述空对象记录有所述对象数据在分布式对象存储***中的位置信息;
采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。
所述的针对Ceph对象的写入方法,其中,所述方法还包括:
当所述对象数据未存储于OSD时,通过所述写入操作将所述对象数据写入OSD,并将所述对象数据的数据指纹记录在RocksDB。
所述的针对Ceph对象的写入方法,其中,所述根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD具体包括:
在用于记录数据指纹的RocksDB中查找所述对象数据的数据指纹;
当查找到对象数据的数据指纹时,判断所述对象数据存储于分布式对象存储***时;
当未查找到对象数据存储于分布式对象存储***时,判断所述对象数据未存储于OSD。
所述的针对Ceph对象的写入方法,其中,所述的当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象具体包括:
当所述对象数据存储于分布式对象存储***时,获取所述对象数据在分布式对象存储***的位置信息;
为所述对象数据创建空对象,并将所述位置信息记录于所述空对象内,以使得所述空对象记录有所述对象数据在分布式对象存储***中的位置信息。
所述的针对Ceph对象的写入方法,其中,所述分布式对象存储***内存储的对象数据配置有重删计数器,并且当所述对象数据被以空对象写入OSD时,所述对象数据配置的重删计数器增加1。
所述的针对Ceph对象的写入方法,其中,所述方法还包括:
当分布式对象存储***中的空对象被删除时,基于所述空对象记录的位置信息查找所述对象数据,并将所述对象数据的重删计数器减1。
所述的针对Ceph对象的写入方法,其中,所述当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹之前,所述方法还包括:
当接收到待写入文件时,将所述待写入文件切分为若干对象数据,并将若干对象数据中的各对象数据逐个写入OSD。
本申请实施例第二方面提供了一种针对Ceph对象的写入装置,所述的针对Ceph对象的写入装置包括:
检测模块,用于当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD;
创建模块,用于当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象,其中,所述空对象记录有所述对象数据在分布式对象存储***中的位置信息;
写入模块,用于采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。
本申请实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的针对Ceph对象的写入方法中的步骤。
本申请实施例第四方面提供了一种终端设备,其包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如上任一所述的针对Ceph对象的写入方法中的步骤。
有益效果:与现有技术相比,本申请实施例提供了一种针对Ceph对象的写入方法、装置、设备及存储介质,方法包括当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD;当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象;采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。本申请实施例在通过数据指纹在OSD中存储的存储对象查找到对象数据时,通过将对象数据转换为携带有已存储对象的数据指望的空对象形成来存储对象数据,这样一方面存储了对象数据,另一方面也减少了对象数据所占用的存储资源,提高了OSD的资源利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的针对Ceph对象的写入方法的流程图。
图2为本申请提供的针对Ceph对象的写入方法的步骤S10的流程图。
图3为本申请提供的针对Ceph对象的写入方法的步骤S10的流程图。
图4为本申请提供的针对Ceph对象的写入装置的结构原理图。
图5为本申请提供的终端设备的结构原理图。
具体实施方式
本申请提供一种针对Ceph对象的写入方法、装置、设备及存储介质,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
经过研究发现,分布式对象存储***包括多个存储节点,可以将待存储的数据映射至一组不同存储节点的对象存储设备OSD(Object-based Storage Device,OSD)上。由于分布式对象存储***具备横向扩展(scale-out)能力。利用横向扩展能力,可使存储容量和性能同步扩展,所以分布式对象存储***近年来在企业广泛部署。随着云计算、大数据、物联网的发展,分布式对象存储***需要存储的数据量快速增长,并且很多数据仅有局部数据不同的特点,这就造成仅有局部数据不同的各数据间存在数据冗余,进而影响OSD的空间利用率。
为了解决上述问题,在本申请实施例中,当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD;当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象;采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。本申请实施例在通过数据指纹在OSD中存储的存储对象查找到对象数据时,通过将对象数据转换为携带有已存储对象的数据指望的空对象形成来存储对象数据,这样一方面存储了对象数据,另一方面也减少了对象数据所占用的存储资源,提高了OSD的资源利用率。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种针对Ceph对象的写入方法,如图1所示,所述方法包括:
S10、当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD。
具体地,写入操作为需要对OSD进行数据写入的操作,用于将待写入的对象数据写入OSD中,其中,对象数据将待写入文件按照预设对象大小划分得到的。也就是说,在向OSD内写入数据文件时,会将待写入文件按照预设对象大小划分为若干对象数据,然后再将各对象数据写入OSD。
基于此,所述当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹之前,所述方法还包括:
当接收到待写入文件时,将所述待写入文件切分为若干对象数据,并将若干对象数据中的各对象数据逐个写入OSD。
具体地,OSD用于存储待写入文件,其中,OSD对应一块硬盘,例如,OSD可以采用固态驱动器SSD(Solid State Drive,SSD),SSD也称为固态硬盘,也可以采用传统磁盘,例如串行连接SCSI(Serial Attached SCSI,SAS)盘、串口硬盘SATA(Serial ATA,SATA)盘等。
待写入文件可以为用户通过客户端发送的待存储数据,在接收到待写入文件后,可以将待写入文件切分为若干对象数据,若干对象数据可以为一个,也可以为多个。其中,在将待写入文件进行切分时,可以按照数据大小,例如,待写入文件为4MB,可以等分为4个1MB的对象数据。此外,随着有直播等形成的多媒体资源越来越多,而多媒体资源间的资源差异性可以通过播放内容来显示,例如,多媒体资源A和多媒体资源B均为播放时长为10分钟的直播视频,多媒体资源A和多媒体资源B的数据区别为第五分钟的播放内容不同。因此,对于多媒体资源而言,除了可以采用常规的按照对象数据的大小来对待写入文件进行划分外,还可以按照播放时长来对多媒体资源进行划分。
基于此,所述将所述待写入文件切分为若干对象数据具体包括:读取所述待写入文件的文件类型;当所述文件类型为多媒体资源时,将所述待写入文件以预设播放时长为单位切分为若干对象数据;当所述文件类型不为多媒体资源时,将所述待写入文件以预设大小为单元切分为若干对象数据。例如,待写入文件为播放时长为10分钟的视频文件,预设时长为1分钟,那么可以将待写入文件切分为10个播放时长均为1分钟的对象数据。
在划分得到对象数据后,获取每个对象数据的数据指纹,其中,数据指纹可以为依据对象数据的数据内容按照HASH算法计算得到的HASH值。此外,由于数据指纹是基于数据内容计算得到的,从而对于两个对象数据,当两个对象数据的数据内容相同时,两个对象数据的数据指纹相同,反之,当两个对象数据的数据内容不同时,两个对象数据的数据指纹也不相同。基于数据指纹的特性,在获取到待写入的对象数据的数据指纹后,可以根据数据指纹来查找是否已经存储该对象数据。
在一些实现方式中,对于分布式对象存储***而言,每个OSD在写入对象数据的同时都会将对象数据的数据指纹记录于BuleFS中RocksDB。由此,可以通过记录于BuleFS中RocksDB的数据指纹来确定待写入的对象数据是否已经存在所述OSD所属的分布式对象存储***,其中,分布式对象存储***可以包括多个存储节点,每个存储节点可以包括有OSD存储区域,OSD存储区域可以包括多个OSD。
基于此,如图2所示,所述根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD具体包括:
S11、在用于记录数据指纹的RocksDB中查找所述对象数据的数据指纹;
S12、当查找到对象数据的数据指纹时,判断所述对象数据存储于分布式对象存储***时;
S13、当未查找到对象数据存储于分布式对象存储***时,判断所述对象数据未存储于OSD。
具体地,RocksDB存储于BuleFS,用于存储分布式对象存储***中的每个OSD中存储的对象数据的数据指纹。因此,在将对象数据写入OSD时,可以通过BuleFS中RocksDB检测分布式对象存储***中已经存储有待写入的对象数据,当在BuleFS中RocksDB中查找到待写入的对象数据的数据指纹,判定对象数据存储于分布式对象存储***,反之,当未在BuleFS中RocksDB中查找到待写入的对象数据的数据指纹,判定对象数据存未储于分布式对象存储***。S20、当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象。
具体地,空对象为不包含数据内容的对象数据,其中,空对象记录有对象数据在分布式对象存储***中的位置信息。位置信息为分布式对象存储***中已经存储的与待写入的对象数据的数据内容相同的已存储对象数据的存储地址。也就是说,当对象数据存储于分布式对象存储***时,无需将对象数据存储于OSD内,仅需要记录对象数据在分布式对象存储***中的存储位置就可以。因此,在对象数据存储于分布式对象存储***时,为对象数据创建一个空对象,并通过该空对象记录有对象数据在分布式对象存储***中的位置信息。这样通过将待写入OSD的写入文件划分为若干对象数据,并采用空对象来替换已经存储在分布式对象存储***中的对象数据,可以解决现有数据写入方式所导致的分布式对象存储***中存储数据冗余的问题。此外,需要说明的是,当所述对象数据未存储于OSD时,通过所述写入操作将所述对象数据写入OSD,并将所述对象数据的数据指纹记录在RocksDB。
举例说明:假设写入文件被划分为对象数据1、对象数据2和对象数据3,其中,对象数据1和对象数据2已经存储于分布式对象存储***中,对象数据3未存储于分布式对象存储***中,那么可以分布为对象数据1和对象数据2创建空对象,而将对象数据3直接写入OSD。这样相对于现有的直接将写入文件直接写入OSD而言,避免了重复存储对象数据1和对象数据2,提高了OSD的空间利用率。
在一些实现方式中,如图3所示,所述的当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象具体包括:
S21、当所述对象数据存储于分布式对象存储***时,获取所述对象数据在分布式对象存储***的位置信息;
S22、为所述对象数据创建空对象,并将所述位置信息记录于所述空对象内,以使得所述空对象记录有所述对象数据在分布式对象存储***中的位置信息。
具体地,位置信息为对象数据在分布式对象存储***中存储地址,根据位置信息可以获取到的对象数据。位置信息记录于空对象内,其中,位置信息可以作为空对象的数据内容,也可以作为空对象的对象名称,还可以作为空对象的对象属性信息等。这样在需要读取该对象数据时,可以通过空对象中存储的位置信息来获取对象数据的数据内容。
S30、采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。
具体地,采用所述空对象替换所述对象数据指的是直接将空对象作为对象数据,并将实际的对象数据丢弃,并通过写入操作将空对象写入OSD内。此外,在实际应用中,为了便于知道空对象对应的对象数据被引用,可以为分布式对象存储***中存储的具有数据内容的对象数据配置重删计数器,通过重删计数器来表示对象数据对应的空对象的数量,并且每当构建一个记录有对象数据的位置信息的空对象时,对象数据配置的重删计数器增加1。也就是说,所述分布式对象存储***内存储的对象数据配置有重删计数器,并且当所述对象数据被以空对象写入OSD时,所述对象数据配置的重删计数器增加1,当对象数据对应的空对象被删除时,对象数据的重删计数器减1。具体地,当分布式对象存储***中的空对象被删除时,基于所述空对象记录的位置信息查找所述对象数据,并将所述对象数据的重删计数器减1。
进一步,当重删计数器的计数为0时,说明对象数据未对应有空对象,当重删计数器的计数大于0时,说明对象数据对应有空对象。本申请通过为对象数据配置重删计数器,可以快速获知各对象数据对应的空对象的情况,从而可以避免因对象数据被删除而导致空对象无法获取到数据内容的问题。
综上所述,本实施例提供了一种针对Ceph对象的写入方法,方法包括当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD;当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象;采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。本申请实施例在通过数据指纹在OSD中存储的存储对象查找到对象数据时,通过将对象数据转换为携带有已存储对象的数据指望的空对象形成来存储对象数据,这样一方面存储了对象数据,另一方面也减少了对象数据所占用的存储资源,提高了OSD的资源利用率。
基于上述针对Ceph对象的写入方法,本实施例提供了一种针对Ceph对象的写入装置,如图4所示,所述的针对Ceph对象的写入装置包括:
检测模块100,用于当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD;
创建模块200,用于当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象,其中,所述空对象记录有所述对象数据在分布式对象存储***中的位置信息;
写入模块300,用于采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。
基于上述针对Ceph对象的写入方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的针对Ceph对象的写入方法中的步骤。
基于上述针对Ceph对象的写入方法,本申请还提供了一种终端设备,如图5所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种针对Ceph对象的写入方法,其特征在于,所述的针对Ceph对象的写入方法包括:
当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD;
当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象,其中,所述空对象记录有所述对象数据在分布式对象存储***中的位置信息;
采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。
2.根据权利要求1所述的针对Ceph对象的写入方法,其特征在于,所述方法还包括:
当所述对象数据未存储于OSD时,通过所述写入操作将所述对象数据写入OSD,并将所述对象数据的数据指纹记录在RocksDB。
3.根据权利要求1所述的针对Ceph对象的写入方法,其特征在于,所述根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD具体包括:
在用于记录数据指纹的RocksDB中查找所述对象数据的数据指纹;
当查找到对象数据的数据指纹时,判断所述对象数据存储于分布式对象存储***时;
当未查找到对象数据存储于分布式对象存储***时,判断所述对象数据未存储于OSD。
4.根据权利要求1所述的针对Ceph对象的写入方法,其特征在于,所述的当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象具体包括:
当所述对象数据存储于分布式对象存储***时,获取所述对象数据在分布式对象存储***的位置信息;
为所述对象数据创建空对象,并将所述位置信息记录于所述空对象内,以使得所述空对象记录有所述对象数据在分布式对象存储***中的位置信息。
5.根据权利要求1所述的针对Ceph对象的写入方法,其特征在于,所述分布式对象存储***内存储的对象数据配置有重删计数器,并且当所述对象数据被以空对象写入OSD时,所述对象数据配置的重删计数器增加1。
6.根据权利要求5所述的针对Ceph对象的写入方法,其特征在于,所述方法还包括:
当分布式对象存储***中的空对象被删除时,基于所述空对象记录的位置信息查找所述对象数据,并将所述对象数据的重删计数器减1。
7.根据权利要求1所述的针对Ceph对象的写入方法,其特征在于,所述当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹之前,所述方法还包括:
当接收到待写入文件时,将所述待写入文件切分为若干对象数据,并将若干对象数据中的各对象数据逐个写入OSD。
8.一种针对Ceph对象的写入装置,其特征在于,所述的针对Ceph对象的写入装置包括:
检测模块,用于当OSD接收到数据写入操作时,获取所述写入操作对应的对象数据的数据指纹,并根据所述数据指纹检测所述对象数据是否存储于分布式对象存储***中,其中,所述分布式对象存储***包括所述OSD;
创建模块,用于当所述对象数据存储于分布式对象存储***时,为所述对象数据创建空对象,其中,所述空对象记录有所述对象数据在分布式对象存储***中的位置信息;
写入模块,用于采用所述空对象替换所述对象数据,以通过所述写入操作将所述空对象写入OSD。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述的针对Ceph对象的写入方法中的步骤。
10.一种终端设备,其特征在于,包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述的针对Ceph对象的写入方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311786611.9A CN117762335A (zh) | 2023-12-22 | 2023-12-22 | 针对Ceph对象的写入方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311786611.9A CN117762335A (zh) | 2023-12-22 | 2023-12-22 | 针对Ceph对象的写入方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762335A true CN117762335A (zh) | 2024-03-26 |
Family
ID=90313976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311786611.9A Pending CN117762335A (zh) | 2023-12-22 | 2023-12-22 | 针对Ceph对象的写入方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117762335A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273536A (zh) * | 2017-06-30 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种重复数据确定方法、***及分布式存储*** |
CN107506150A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 分布式存储装置、重删、写、删除、读取方法以及*** |
CN112835511A (zh) * | 2019-11-25 | 2021-05-25 | 浙江宇视科技有限公司 | 分布式存储集群的数据写入方法、装置、设备和介质 |
CN116578746A (zh) * | 2023-05-19 | 2023-08-11 | 上海哔哩哔哩科技有限公司 | 对象去重方法及装置 |
-
2023
- 2023-12-22 CN CN202311786611.9A patent/CN117762335A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273536A (zh) * | 2017-06-30 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种重复数据确定方法、***及分布式存储*** |
CN107506150A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 分布式存储装置、重删、写、删除、读取方法以及*** |
CN112835511A (zh) * | 2019-11-25 | 2021-05-25 | 浙江宇视科技有限公司 | 分布式存储集群的数据写入方法、装置、设备和介质 |
CN116578746A (zh) * | 2023-05-19 | 2023-08-11 | 上海哔哩哔哩科技有限公司 | 对象去重方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531482B2 (en) | Data deduplication method and apparatus | |
CN102929750B (zh) | 非易失性介质肮脏区段跟踪 | |
EP3522042A1 (en) | Method and apparatus for information processing, server and computer readable medium | |
US7933938B2 (en) | File storage system, file storing method and file searching method therein | |
US9639272B2 (en) | Sliding-window multi-class striping | |
US10007548B2 (en) | Transaction system | |
CN108268344B (zh) | 一种数据处理方法和装置 | |
CN111324665B (zh) | 一种日志回放方法及装置 | |
KR20140060308A (ko) | 사용 비트맵을 갖는 저장 장치에 대한 효율적 액세스 기법 | |
CN107391544B (zh) | 列式存储数据的处理方法、装置、设备及计算机储存介质 | |
US20180300250A1 (en) | Method and apparatus for storing data | |
US9430492B1 (en) | Efficient scavenging of data and metadata file system blocks | |
US10324794B2 (en) | Method for storage management and storage device | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
US10712943B2 (en) | Database memory monitoring and defragmentation of database indexes | |
US8903804B2 (en) | Data existence judging device and data existence judging method | |
CN107423425B (zh) | 一种对k/v格式的数据快速存储和查询方法 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
EP3264254A1 (en) | System and method for a simulation of a block storage system on an object storage system | |
CN114328007B (zh) | 一种容器备份还原方法、装置及其介质 | |
CN108021562B (zh) | 应用于分布式文件***的存盘方法、装置及分布式文件*** | |
CN117762335A (zh) | 针对Ceph对象的写入方法、装置、设备及存储介质 | |
CN111966845B (zh) | 图片管理方法、装置、存储节点及存储介质 | |
CN114297196A (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 |