CN113467721A - 一种数据删除系统、方法及装置 - Google Patents
一种数据删除系统、方法及装置 Download PDFInfo
- Publication number
- CN113467721A CN113467721A CN202110830742.7A CN202110830742A CN113467721A CN 113467721 A CN113467721 A CN 113467721A CN 202110830742 A CN202110830742 A CN 202110830742A CN 113467721 A CN113467721 A CN 113467721A
- Authority
- CN
- China
- Prior art keywords
- target
- block
- block device
- deleting
- thread
- 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 48
- 238000012217 deletion Methods 0.000 claims abstract description 187
- 230000037430 deletion Effects 0.000 claims abstract description 187
- 238000004891 communication Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012790 confirmation Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000011435 rock Substances 0.000 description 3
- 230000002618 waking effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/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/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据删除系统、方法及装置,涉及分布式存储技术领域。该系统应用于Ceph系统,Ceph系统包括客户端和至少一个块设备:客户端用于确定待删除对象块的目标标识;遍历预设的块设备与对象块标识的对应关系,确定存储有具有目标标识的目标对象块的目标块设备,并将目标对象块存储至目标块设备的指定队列;向目标块设备发送用于指示目标块设备删除目标对象块的数据删除请求;每个块设备用于在接收到客户端发送的数据删除请求时,获取目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用指定线程删除该块设备的指定队列中的目标对象块。与现有技术相比,应用本发明实施例提供的方案,可以提高对象块的删除效率。
Description
技术领域
本发明涉及分布式存储技术领域,特别是涉及一种数据删除系统、方法及装置。
背景技术
当前,随着分布式存储技术的不断发展,Ceph系统(自由软件分布式文件系统)由于具有可扩展到PB容量、支持多种工作负载以及高可靠性等特性,被越来越多的技术人员所关注。其中,PB是存储容量的数据单位,1PB=1027TB。
其中,Ceph系统包括:客户端(RBD CLIENT)和至少一个块设备(OSD,ObjectStorage Device);其中,每个块设备具有存储数据、复制数据、删除数据、恢复数据等功能,并且,每个块设备中的数据,是以对象块的形式存储的。相应的,客户端可以用于根据用户发出的指令,完成对Ceph的初始化配置,并在需要对各个块设备中的指定对象块进行各类操作时,向各个块设备发送数据操作命令。进而,每个块设备便可以根据所接收到的各个数据操作命令,完成对指定对象块的各类操作,例如,对象块删除等。
然而,在相关技术中,在控制块设备进行对象块删除时,是在每查询到一个待删除的对象块时,控制块设备删除该对象块,进而,再去查询下一个待删除的对象块,以便于控制块设备删除该下一个对象块。
也就是说,在相关技术中,各个待删除的对象块是依次逐个被查询且删除的,因此,当待删除的对象块的数量较多时,删除待删除的对象块的耗时较长,从而,导致对象块的删除效率较低。
发明内容
本发明实施例的目的在于提供一种数据删除系统、方法及装置,以提高对象块的删除效率。具体技术方案如下:
第一方面,本发明实施例提供了一种数据删除系统,应用于Ceph系统,所述Ceph系统包括:客户端和至少一个块设备:
所述客户端,用于确定待删除对象块的目标标识;遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列;向所述目标块设备发送用于指示所述目标块设备删除所述目标对象块的数据删除请求;
每个块设备,用于在接收到所述客户端发送的所述数据删除请求时,获取所述目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的目标对象块;其中,所述线程池是在该块设备启动时创建的。
可选的,一种具体实现方式中,所述利用所述指定线程删除该设备的指定队列中的具有所述目标标识的对象块,包括:
利用所述指定线程,按照与当前负载压力对应的删除速率,删除该设备的指定队列中的具有所述目标标识的对象块;
其中,所述删除速率用于保证在所述当前负载压力下,按照所述删除速率进行对象块删除操作时,各类实时操作被执行的速率满足预定速率要求。
可选的,一种具体实现方式中,所述目标标识为多个,所述利用所述指定线程删除该设备的指定队列中的具有所述目标标识的对象块,包括:
利用所述指定线程,判断该块设备的指定队列中的待处理对象块的数量是否大于预设删除数量;其中,每个待处理块设备具有任一所述目标标识;
若大于,则利用所述指定线程,删除所述待处理对象块中的所述预设删除数量个对象块;返回所述利用所述指定线程,判断该块设备的指定队列中的待处理对象块的数量是否大于预设删除数量的步骤;
否则,则利用所述指定线程,删除该块设备的指定队列中的全部所述待处理对象块。
可选的,一种具体实现方式中,所述唤醒线程池中预设的用于执行对象块删除操作的指定线程,包括:
在到达当前周期内的对象块删除触发时刻时,唤醒线程池中预设的用于执行对象块删除操作的指定线程。
可选的,一种具体实现方式中,在所述唤醒线程池中预设的用于执行对象块删除操作的指定线程之前,每个块设备还用于:
向所述客户端反馈用于表征接收到所述数据删除请求的确认字符。
可选的,一种具体实现方式中,
所述客户端还用于:在所述目标块设备的指定数据库中写入针对所述目标对象块的删除任务;
每个块设备还用于:在利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的目标对象块后,利用所述指定线程删除该块设备的指定数据库中,关于所删除的目标对象块的删除任务。
可选的,一种具体实现方式中,所述客户端还用于:删除所述对应关系中的所述目标标识。
第二方面,本发明实施例提供了一种数据删除方法,应用于Ceph系统中的客户端,所述Ceph系统还包括至少一个块设备;所述方法包括:
确定待删除对象块的目标标识;
遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列;
向所述目标块设备发送用于指示所述目标块设备删除所述目标对象块的数据删除请求,以使所述目标块设备在接收到所述客户端发送的所述数据删除请求时,获取所述目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块;其中,所述线程池是在所述目标块设备启动时创建的。
第三方面,本发明实施例提供了一种数据删除方法,应用于Ceph系统中的目标块设备;所述目标块设备为所述Ceph系统包括的至少一个块设备中的任一块设备,所述Ceph系统还包括客户端;所述方法包括
在接收到所述客户端发送的所述数据删除请求时,获取待删除对象块的目标标识;其中,所述数据删除请求是所述客户端在确定所述目标标识,遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的所述目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列后,向所述目标块设备发送的用于指示所述目标块设备删除所述目标对象块的请求;
唤醒线程池中预设的用于执行对象块删除操作的指定线程;其中,所述线程池是在所述目标块设备启动时创建的;
利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的所述目标对象块。
第四方面,本发明实施例提供了一种数据删除装置,应用于Ceph系统中的客户端,所述Ceph系统还包括至少一个块设备;所述装置包括:
目标标识确定模块,用于确定待删除对象块的目标标识;
目标对象块确定模块,用于遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列;
请求发送模块,用于向所述目标块设备发送用于指示所述目标块设备删除所述目标对象块的数据删除请求,以使所述目标块设备在接收到所述客户端发送的所述数据删除请求时,获取所述目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块;其中,所述线程池是在所述目标块设备启动时创建的。
第五方面,本发明实施例提供了一种数据删除装置,应用于Ceph系统中的目标块设备;所述目标块设备为所述Ceph系统包括的至少一个块设备中的任一块设备,所述Ceph系统还包括客户端;所述装置包括:
目标标识获取模块,用于在接收到所述客户端发送的所述数据删除请求时,获取待删除对象块的目标标识;其中,所述数据删除请求是所述客户端在确定所述目标标识,遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的所述目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列后,向所述目标块设备发送的用于指示所述目标块设备删除所述目标对象块的请求;
线程唤醒模块,用于唤醒线程池中预设的用于执行对象块删除操作的指定线程;其中,所述线程池是在所述目标块设备启动时创建的;
对象块删除模块,用于利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的所述目标对象块。
第六方面,本发明实施例提供了一种电子设备,所述电子设备安装有Ceph系统所包括的客户端,所述Ceph系统还包括至少一个块设备;所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面提供的方法步骤。
第七方面,本发明实施例提供了一种块设备,所述块设备为Ceph系统所包括的至少一个块设备中的任一块设备,所述Ceph系统还包括客户端;所述块设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第三方面提供的方法步骤。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面或者第三方面提供的方法步骤。
第九方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面或者第三方面提供的方法步骤。
本发明实施例有益效果:
以上可见,应用本发明实施例提供的方案,在删除Ceph系统中的块设备所存储的对象块时,客户端可以首先确定待删除对象块的目标标识,从而,通过遍历块设备与对象块标识的对应关系,确定存储有具有该目标标识的目标对象块的目标块设备,并将目标对象块存储至目标块设备的指定队列中。进而,向目标块设备发送用于指示目标块设备删除目标对象块的数据删除请求。这样,对于Ceph系统中的每个块设备而言,当其被客户端确定为目标块设备时,在接收到客户端发送的数据删除请求时,便可以首先获取上述待删除对象块的目标标识,从而,唤醒在自身启动时所创建的线程池中,预设的用于执行对象块删除操作的指定线程,进而,便可以利用所唤醒的指定线程,删除自身的指定队列中的具有上述目标标识的目标对象块。
基于此,应用本发明实施例提供的方案,客户端可以一次性查询到全部待删除的目标对象块,从而,目标块设备可以直接对全部的目标对象块进行删除。这样,当待删除的对象块的数量较多时,便可以避免由于各个待删除的对象块是依次逐个被查询且删除的,所带来删除待删除的对象块的耗时较长的情况发送,从而,提高对象块的删除效率较低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种数据删除系统的结构示意图;
图2为本发明实施例提供的一种数据删除方法的流程示意图;
图3为本发明实施例提供的另一种数据删除方法的流程示意图;
图4为本发明实施例提供的一种数据删除装置的结构示意图;
图5为本发明实施例提供的另一种数据删除装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图;
图7本发明实施例提供的一种块设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
在相关技术中,各个待删除的对象块是依次逐个被查询且删除的,因此,当待删除的对象块的数量较多时,删除待删除的对象块的耗时较长,从而,导致对象块的删除效率较低。
为了解决上述技术问题,本发明实施例提供了一种数据删除系统。
在对本发明实施例提供的一种数据删除系统进行说明之前,首先,对Ceph系统进行简要介绍。其中,Ceph系统的核心是RADOS(Reliable,Autonomic Distributed ObjectStore),由于RADOS可以作为一个完整的分布式对象存储系统,并且,具有可靠、智能、分布式等特性,因此,可以基于RADOS,实现Ceph系统的高可靠、高可扩展、高性能以及高自动化。
RADOS主要由OSD(Object Storage Device,块设备)和Monitor(监视模块)组成。其中,OSD中具有存储数据、复制数据、删除数据、恢复数据等功能。每个OSD中可以存储有至少一个对象块(object),每个对象块(object)可以具有对象块标识,并且,可以建立objectmap,其中,object map用于记录块设备(OSD)与块设备(OSD)所存储的对象块(object)的对象块标识的对应关系。Monitor用于监视Ceph系统的集群状态,并生成最新的用于存储RADOS中各个块设备(OSD)的状态信息的crush map。例如,crush map中可以存储RADOS中各个块设备(OSD)的当前正在执行的指令信息、可用的存储空间等信息。
在建立Ceph系统时,客户端(RBD CLIENT)可以获取配置文件的配置信息,从而,利用该配置信息,进行权限认证、创建socket网络链接等操作,实现对Ceph系统的初始化操作,进而,客户端(RBD CLIENT)可以与Monitor建立链接,获取Monitor所生成的最新的crush map。
其中,RBD为RADOS Block Device的简写,是一种构建在RADOS集群之上为客户端提供块设备接口的存储服务中间层。
本发明实施例提供的一种数据删除系统可以应用于Ceph系统,也就是说,本发明实施例提供的一种数据删除系统即可以理解为:本发明实施例提供的一种Ceph系统,并且,该Ceph系统采用了新的对象块删除方式。其中,Ceph系统可以包括:客户端和至少一个块设备。
所述客户端,用于确定待删除对象块的目标标识;遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列;向所述目标块设备发送用于指示所述目标块设备删除所述目标对象块的数据删除请求;
每个块设备,用于在接收到所述客户端发送的所述数据删除请求时,获取所述目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的目标对象块;其中,所述线程池是在该块设备启动时创建的。
以上可见,应用本发明实施例提供的方案,在删除Ceph系统中的块设备所存储的对象块时,客户端可以首先确定待删除对象块的目标标识,从而,通过遍历块设备与对象块标识的对应关系,确定存储有具有该目标标识的目标对象块的目标块设备,并将目标对象块存储至目标块设备的指定队列中。进而,向目标块设备发送用于指示目标块设备删除目标对象块的数据删除请求。这样,对于Ceph系统中的每个块设备而言,当其被客户端确定为目标块设备时,在接收到客户端发送的数据删除请求时,便可以首先获取上述待删除对象块的目标标识,从而,唤醒在自身启动时所创建的线程池中,预设的用于执行对象块删除操作的指定线程,进而,便可以利用所唤醒的指定线程,删除自身的指定队列中的具有上述目标标识的目标对象块。
基于此,应用本发明实施例提供的方案,客户端可以一次性查询到全部待删除的目标对象块,从而,目标块设备可以直接对全部的目标对象块进行删除。这样,当待删除的对象块的数量较多时,便可以避免由于各个待删除的对象块是依次逐个被查询且删除的,所带来删除待删除的对象块的耗时较长的情况发送,从而,提高对象块的删除效率较低。
下面,结合附图,对本发明实施例提供的一种数据删除系统进行具体说明。
图1为本发明实施例提供的一种数据删除系统的流程示意图,如图1所示,该系统可以包括客户端(RBD CLIENT)101和至少一个块设备(OSD)102。
其中,客户端(RBD CLIENT)101,用于确定待删除对象块(object)的目标标识;遍历预设的块设备(OSD)102与对象块标识的对应关系,确定存储有具有目标标识的目标对象块的目标块设备(OSD)102,并将目标对象块存储至目标块设备(OSD)102的指定队列;向目标块设备(OSD)102发送用于指示目标块设备(OSD)102删除目标对象块的数据删除请求;
每个块设备(OSD)102,用于在接收到客户端(RBD CLIENT)101发送的数据删除请求时,获取目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用指定线程删除该块设备(OSD)102的指定队列中的具有目标标识的目标对象块;其中,线程池是在该块设备(OSD)102启动时创建的。
当用户希望删除Ceph系统中的各个块设备(OSD)102中所存储的对象块(object)时,用户可以向客户端(RBD CLIENT)101发送数据删除指令,并且,该数据删除指令中可以携带有用户希望删除的对象块(object)的对象块标识。也就是说,该数据删除指令中可以携带待删除对象块的目标标识。
这样,客户端(RBD CLIENT)101在接收到上述数据删除指令后,便可以确定待删除对象块(object)的目标标识,进而,便可以遍历预设的块设备(OSD)102与对象块标识的对应关系(object map),确定存储有具有上述目标标识的目标对象块(object)的目标块设备(OSD)102,并将上述目标对象块(object)存储至目标块设备(OSD)102的指定队列(ROCKSDB数据库队列)。这样,客户端(RBD CLIENT)101便可以向所确定的目标块设备(OSD)102发送用于指示目标块设备(OSD)102删除目标对象块(object)的数据删除请求。其中,该数据删除请求可以携带有上述待删除对象块(object)的目标标识。
其中,上述预设的块设备(OSD)102与对象块标识的对应关系(object map)中,每个块设备(OSD)102所对应的对象块标识即为:该对象块所存储的对象块的标识。并且,每个块设备(OSD)102可以对应于一个或多个对象块标识。
此外,用户可以通过多种方式向客户端(RBD CLIENT)101发送数据删除指令,例如,在客户端(RBD CLIENT)101的配置文件中直接写入数据删除指令的程序代码、在客户端(RBD CLIENT)101界面的指定区域内,通过输入、点选等操作向客户端(RBD CLIENT)101发送数据删除指令等,这都是合理的。对此,本发明实施例不做具体限定。
其中,可选的,当上述待删除对象块的目标标识为多个时,客户端(RBD CLIENT)101所确定的目标块设备(OSD)102为:存储有具有各个目标标识的对象块(object)中的至少一个对象块(object)的块设备(OSD)102。
对于每个块设备(OSD)102而言,当该块设备(OSD)102存储有具有上述目标标识的目标对象块(object)时,该块设备(OSD)102即可以被客户端(RBD CLIENT)101确定为目标块设备(OSD)102,从而,接收到客户端(RBD CLIENT)101发送的上述数据删除请求。
这样,每个块设备(OSD)102在接收到客户端(RBD CLIENT)101发送的上述数据删除请求时,便可以获取上述待删除对象块(object)的目标标识。
其中,每个块设备(OSD)102在接收到上述数据删除请求后,便可以通过解析该数据删除请求,获取该数据删除请求所携带的待删除对象块(object)的目标标识。
每个块设备(OSD)102在启动时,可以创建线程池,该线程池中预设有用于执行各种操作的线程。从而,在接收到客户端(RBD CLIENT)101发送的上述数据删除请求,获取到上述目标标识后,该块设备(OSD)102可以确定自身当前所需执行的操作为:删除自身所存储的具有上述目标标识的目标对象块(object)。
进而,由于该块设备(OSD)102自身所存储的具有上述目标标识的目标对象块(object)已经被客户端(RBD CLIENT)101存储至自身的指定队列(ROCKSDB数据库队列)中,因此,该块设备(OSD)102可以确定自身当前所需执行的操作为:删除自身的指定队列(ROCKSDB数据库队列)中所存储的具有上述目标标识的目标对象块(object)。
这样,该块设备(OSD)102便可以唤醒线程池中预设的用于执行对象块删除操作的指定线程,从而,该块设备(OSD)102便可以利用该指定线程删除自身的指定队列(ROCKSDB数据库队列)中所存储的具有上述目标标识的目标对象块(object)。
可选的,一种具体实现方式中,针对每个块设备(OSD)102,当该块设备(OSD)102利用上述指定线程删除自身的指定队列(ROCKSDB数据库队列)中所存储的具有上述目标标识的目标对象块(object)后,则该块设备中将不再存储有具有上述目标标识的目标对象块(object)。这样,上述预设的块设备(OSD)102与对象块标识的对应关系(object map)中,将不再存在该块设备(OSD)102与目标标识的对应关系。
基于此,在本具体实现方式中,客户端(RBD CLIENT)101还可以用于:删除上述对应关系中的目标标识。
在本具体实现方式中,客户端还可以删除上述预设的块设备(OSD)102与对象块标识的对应关系(object map)中,目标块设备(OSD)102所对应的对象块标识中的目标标识。
基于此,应用本发明实施例提供的方案,客户端可以一次性查询到全部待删除的目标对象块,从而,目标块设备可以直接对全部的目标对象块进行删除。这样,当待删除的对象块的数量较多时,便可以避免由于各个待删除的对象块是依次逐个被查询且删除的,所带来删除待删除的对象块的耗时较长的情况发送,从而,提高对象块的删除效率较低。
并且,应用本发明实施例提供的方案,当客户端确定出多个目标块设备时,可以向多个目标块设备同时发送数据删除请求。这样,多个目标块设备可以同时对自身的指定队列中所存储的具有上述目标标识的目标对象块进行删除,即多个目标块设备可以通过并行的方式执行数据删除操作,而无需在一个目标块设备完成数据删除操作后,再触发下一个目标块设备执行数据删除操作。这样,在存在多个目标块设备时,便可以进一步提高Ceph系统中所存储的具有上述目标标识的目标对象块的删除效率,从而,可以尽量减少对Ceph系统中各类实时操作的处理效率的影响。
可选的,一种具体实现方式中,每个块设备(OSD)102利用指定线程删除该设备的指定队列中的具有目标标识的对象块,可以包括如下步骤11:
步骤11:利用指定线程,按照与当前负载压力对应的删除速率,删除该设备的指定队列中的具有目标标识的对象块。
其中,删除速率用于保证在当前负载压力下,按照删除速率进行对象块删除操作时,各类实时操作被执行的速率满足预定速率要求。
在本具体实现方式中,针对每个块设备而言,在接收到客户端(RBD CLIENT)101发送的数据删除请求,并获取到的待删除对象块的目标标识后,该块设备(OSD)102便可以检测自身的当前负载压力。
其中,每个块设备(OSD)102的当前负载压力可以通过该块设备(OSD)102的当前忙碌程度表示,也可以通过该块设备(OSD)102的当前资源使用率表示,这都是合理的。对此,本发明实施例不做具体限定。
在检测到自身的当前负载压力后,该块设备(OSD)102便可以在预设的各负载压力与删除速率的对应关系中,查找该当前负载压力对应的删除速率,进而,按照所查找到的删除速率,自身的指定队列(ROCKSDB数据库队列)中所存储的具有上述目标标识的目标对象块(object)。
其中,该删除速率可以通过单位时间内所删除的数据的数据量表示,也可以通过删除指定数据量的数据所耗费的时长表示,这都是合理的。对此,本发明实施例不做具体限定。
在本具体实现方式中,任一负载压力对应的删除速率可以用于保证在当前负载压力下,按照删除速率进行对象块删除操作时,各类实时操作被执行的速率满足预定速率要求。
其中,在每个块设备(OSD)102执行各类实时操作的情况下,客户端(RBD CLIENT)101可以向该块设备(OSD)102发送数据删除请求,则在该块设备(OSD)102将同时执行各类实时操作以及对象块删除操作,该块设备(OSD)102的负载压力将随之增大,并且,可以影响该块设备(OSD)102执行各类实时操作的速率。
这样,为了保证该块设备(OSD)102执行对象块删除操作时,不会对该块设备(OSD)102执行各类实时操作的速率造成较大的影响,可以预先设定一个速率要求,进而,确定在保证各类实时操作被执行的速率满足预定速率要求的情况下,当该块设备(OSD)102处于不同负载压力时,所能够分配给执行对象块删除操作的各类资源的资源量,从而,根据上述资源量,确定当该块设备(OSD)102处于不同负载压力时,执行对象块删除操作时所能采用的删除速率,建立上述各负载压力与删除速率的第一对应关系。
这样,当该块设备(OSD)102处于某一负载压力的情况下,客户端(RBD CLIENT)101向该块设备(OSD)102发送数据删除请求后,该块设备(OSD)102便可以按照该负载压力对应的删除速率,执行对象块删除操作。从而,可以保证在该负载压力下,执行采用该负载压力对应的删除速率的对象块删除操作时,各类实时操作被执行的速率可以满足预定速率要求。
其中,上述预定速率要求可以根据块设备(OSD)102的性能以及实际应用场景下对各类实时操作被执行的速率的要求进行设定。
基于此,在本具体实现方式中,由于所确定的删除速率可以保证在所检测到的当前负载压力下,执行采用该删除速率的对象块删除操作时,各类实时操作被执行的速率满足预定速率要求,因此,当每个块设备(OSD)102被确定为目标块设备(OSD)102,从而,执行数据删除操作时,可以根据自身的当前负载压力,确定合适的删除速率,从而,在该块设备(OSD)102同时执行对象块读写等各类实时操作,以及对象块删除操作时,便可以避免由于执行对象块删除操作,导致自身的负载压力过大,影响各类实时操作的处理效率。
可选的,一种具体实现方式中,上述待删除对象块的目标标识可以为多个,则在本具体实现方式中,每个块设备(OSD)102利用指定线程删除该设备的指定队列中的具有目标标识的对象块,可以包括如下步骤21-23:
步骤21:利用指定线程,判断该块设备的指定队列中的待处理对象块的数量是否大于预设删除数量;若大于,则执行步骤22;否则,则执行步骤23;
其中,每个待处理块设备具有任一目标标识;
步骤22:利用指定线程,删除待处理对象块中的预设删除数量个对象块;返回步骤21;
步骤23:利用指定线程,删除该块设备的指定队列中的全部待处理对象块。
在本具体实现方式中,在唤醒用于执行对象块删除操作的指定线程后,便可以利用该指定线程,判断该块设备(OSD)102的指定队列(ROCKSDB数据库队列)中所存储的具有上述多个目标标识中的任一目标标识的待处理对象块(object)的数量是否大于预设删除数量。
这样,当上述步骤21的判断结果为待处理对象块(object)的数量大于预设删除数量时,则说明该块设备(OSD)102不能一次完成对自身的指定队列(ROCKSDB数据库队列)中所存储的全部待处理对象块(object)的删除,从而,该块设备(OSD)102便可以继续执行上述步骤22,从自身的指定队列(ROCKSDB数据库队列)中所存储的全部待处理对象块(object)中,选取预设删除数量个待处理对象块(object),并删除所选取的预设删除数量个待处理对象块(object),即利用上述指定线程,删除自身的指定队列(ROCKSDB数据库队列)中所存储的全部待处理对象块(object)中的预设删除数量个待处理对象块(object)。此时,由于上述步骤21的判断结果为待处理对象块(object)的数量大于预设删除数量,则在此次完成步骤22后,自身的指定队列(ROCKSDB数据库队列)中仍然存储有待处理对象块(object),因此,该块设备(OSD)102可以返回执行上述步骤21;
相反的,当上述步骤21的判断结果为待处理对象块(object)的数量不大于预设删除数量时,则说明该块设备(OSD)102可以一次完成对自身的指定队列(ROCKSDB数据库队列)中所存储的全部待处理对象块(object)的删除,从而,该块设备(OSD)102可以直接利用上述指定线程,删除自身的指定队列(ROCKSDB数据库队列)中所存储的全部待处理对象块(object)。至此,自身的指定队列(ROCKSDB数据库队列)中所存储的具有上述目标标识的全部目标对象块(object)均已被删除,从而,上述数据删除请求响应完成。
例如,上述待删除对象块的目标标识可以为20个,预设删除数量为5。则上述指定线程首先确定20>5,从而,可以从自身的指定队列(ROCKSDB数据库队列)中的20个待处理对象块(object),选取5个待处理对象块(object),并对所选取的待处理对象块(object)进行删除;在删除完成后,由于上述指定线程可以确定15>5,因此,上述指定线程可以继续从自身的指定队列(ROCKSDB数据库队列)中的15个待处理对象块(object),选取5个待处理对象块(object),并对所选取的待处理对象块(object)进行删除;在删除完成后,由于上述指定线程可以确定10>5,因此,上述执行线程可以继续从自身的指定队列(ROCKSDB数据库队列)中的10个待处理对象块(object),选取5个待处理对象块(object),并对所选取的待处理对象块(object)进行删除;在删除完成后,由于上述指定线程可以确定5=5,因此,上述执行线程可以删除自身的指定队列(ROCKSDB数据库队列)中的全部共5个待处理对象块(object)。至此,该块设备(OSD)102完成对自身所存储的具有目标标识的20个目标对象块(object)的删除,从而,响应完成所接收到的数据删除请求。
在很多情况下,块设备(OSD)102的负载压力的变化可以是周期性的,例如,在某个时长范围内的某个时段中,块设备(OSD)102的负载压力可以较大,而在该时长范围内的另外一个时段中,块设备(OSD)102的负载压力可以较小。
示例性的,以24小时为一个周期,则在每天的0点-6点之间,块设备(OSD)102的负载压力可以较小,而在每天的9点-17点之间,块设备(OSD)102的负载压力可以较大。
则为了进一步减少由于执行对象块删除操作所带来的块设备(OSD)102的负载压力的增加,从而,减少对块设备(OSD)102的各类实时操作的处理效率的影响,块设备(OSD)102在接收到数据删除请求后,可以不立即响应该数据删除请求,而在时间到达当前周期内,负载压力较小的时段时,再响应该数据删除请求。这样,可以充分利用负载压力较小的时段,完成对自身的指定队列(ROCKSDB数据库队列)中所存储的具有目标标识的目标对象块(object)的删除,避免由于执行对象块删除操作,导致自身的负载压力过大,影响各类实时操作的处理效率。
基于此,可选的,一种具体实现方式中,每个块设备(OSD)102唤醒线程池中预设的用于执行对象块删除操作的指定线程,可以包括如下步骤31:
步骤31:在到达当前周期内的对象块删除触发时刻时,唤醒线程池中预设的用于执行对象块删除操作的指定线程。
在本具体实现方式中,可以根据每个块设备(OSD)102的负载压力变化的周期性,确定每个周期内的对象块删除触发时刻,从而,可以在时间达到当前周期内的对象块删除触发时刻时,集中响应所接收到的数据删除请求。
这样,每个块设备(OSD)102便可以在到达当前周期内的对象块删除触发时刻时,唤醒线程池中预设的用于执行对象块删除操作的指定线程,进而,利用所唤醒的指定线程,删除自身的指定队列(ROCKSDB数据库队列)中所存储的具有目标标识的目标对象块(object)。
可选的,一种具体实现方式中,在上述各具体实现方式的基础上,在唤醒线程池中预设的用于执行对象块删除操作的指定线程之前,每个块设备(OSD)102还可以用于:向客户端(RBD CLIENT)101反馈用于表征接收到数据删除请求的确认字符。
在本具体实现方式中,每个块设备(OSD)102在接收到客户端(RBD CLIENT)101发送的数据删除请求后,可以向客户端(RBD CLIENT)101反馈用于表征接收到数据删除请求的确认字符。其中,由于上述数据删除请求是客户端(RBD CLIENT)101向存储有具有目标标识的目标对象块(object)的目标块设备(OSD)102发送的,因此,客户端(RBD CLIENT)101在接收到上述确认字符时,可以获知目标块设备(OSD)102已经接收到自身所发送的数据删除请求,这样,可以避免由于数据删除请求丢失所导致的待删除对象块(object)未被删除的情况发生,提高数据删除的效率。
可选的,一种具体实现方式中,在上述各个具体实现方式的基础上,客户端(RBDCLIENT)101还可以用于:在目标对象块(OSD)的指定数据库(ROCKSDB数据库)中写入针对目标对象块(object)的删除任务。
相应的,在本具体实现方式中,每个块设备(OSD)102还可以用于:在利用指定线程删除该块设备(OSD)102的指定队列(ROCKSDB数据库队列)中的具有目标标识的目标对象块(object)后,利用指定线程删除该块设备(OSD)102的指定数据库(ROCKSDB数据库)中,关于所删除的目标对象块(object)的删除任务。
在本具体实现方式中,客户端(RBD CLIENT)101在确定出存储有具有目标标识的目标对象块(object)的目标块设备(OSD)102,并将目标对象块(object)存储至目标块设备的指定队列(ROCKSDB数据库队列)后,便可以进一步在目标块设备(OSD)102的指定数据库(ROCKSDB数据库)中,写入关于目标对象块(object)的删除任务。
这样,针对每个块设备(OSD)102,当该块设备(OSD)102被确定为目标块设备(OSD)102,从而,响应客户端(RBD CLIENT)101发送的数据删除请求时,该块设备(OSD)102便可以则在利用指定线程删除该块设备(OSD)102的指定队列(ROCKSDB数据库队列)中的具有目标标识的目标对象块(object)后,进一步利用指定线程删除该块设备(OSD)102的指定数据库(ROCKSDB数据库)中,关于所删除的目标对象块(object)的删除任务。
相应于上述本发明实施例提供的一种数据删除系统,本发明实施例还提供了一种数据删除方法。
图2为本发明实施例提供的一种数据删除方法的流程示意图,其中,该方法应用于Ceph系统中的客户端,该Ceph系统还包括至少一个块设备;如图2所示,该方法可以包括如下步骤:
S201:确定待删除对象块的目标标识;
S202:遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列;
S203:向所述目标块设备发送用于指示所述目标块设备删除所述目标对象块的数据删除请求,以使所述目标块设备在接收到所述客户端发送的所述数据删除请求时,获取所述目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块;
其中,所述线程池是在所述目标块设备启动时创建的。
基于此,应用本发明实施例提供的方案,客户端可以一次性查询到全部待删除的目标对象块,从而,目标块设备可以直接对全部的目标对象块进行删除。这样,当待删除的对象块的数量较多时,便可以避免由于各个待删除的对象块是依次逐个被查询且删除的,所带来删除待删除的对象块的耗时较长的情况发送,从而,提高对象块的删除效率较低。
可选的,一种具体实现方式中,所述方法还包括:
在所述目标块设备的指定数据库中写入针对所述目标对象块的删除任务,以使所述目标对象块在利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块后,利用所述指定线程删除所述目标块设备的指定数据库中,关于所删除的目标对象块的删除任务。
可选的,一种具体实现方式中,所述方法还包括:
删除所述对应关系中的所述目标标识。
相应于上述本发明实施例提供的一种数据删除系统,本发明实施例还提供了另一种数据删除方法。
图3为本发明实施例提供的另一种数据删除方法的流程示意图,其中,该方法应用于Ceph系统中的目标块设备,该目标块设备为该Ceph系统包括的至少一个块设备中的任一块设备,该Ceph系统还包括客户端;如图3所示,该方法可以包括如下步骤:
S301:在接收到所述客户端发送的所述数据删除请求时,获取待删除对象块的目标标识;
其中,所述数据删除请求是所述客户端在确定所述目标标识,遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的所述目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列后,向所述目标块设备发送的用于指示所述目标块设备删除所述目标对象块的请求;
S302:唤醒线程池中预设的用于执行对象块删除操作的指定线程;
其中,所述线程池是在所述目标块设备启动时创建的;
S303:利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的所述目标对象块。
基于此,应用本发明实施例提供的方案,客户端可以一次性查询到全部待删除的目标对象块,从而,目标块设备可以直接对全部的目标对象块进行删除。这样,当待删除的对象块的数量较多时,便可以避免由于各个待删除的对象块是依次逐个被查询且删除的,所带来删除待删除的对象块的耗时较长的情况发送,从而,提高对象块的删除效率较低。
可选的,一种具体实现方式中,上述步骤S303可以包括:
利用所述指定线程,按照与当前负载压力对应的删除速率,删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块;
其中,所述删除速率用于保证在所述当前负载压力下,按照所述删除速率进行对象块删除操作时,各类实时操作被执行的速率满足预定速率要求。
可选的,一种具体实现方式中,所述目标标识为多个,上述步骤S303可以包括:
利用所述指定线程,判断所述目标块设备的指定队列中的待处理对象块的数量是否大于预设删除数量;其中,每个待处理块设备具有任一所述目标标识;
若大于,则利用所述指定线程,删除所述待处理对象块中的所述预设删除数量个对象块;返回所述利用所述指定线程,判断所述目标块设备的指定队列中的待处理对象块的数量是否大于预设删除数量的步骤;
否则,则利用所述指定线程,删除所述目标块设备的指定队列中的全部所述待处理对象块。
可选的,一种具体实现方式中,上述步骤S302可以包括:
在到达当前周期内的对象块删除触发时刻时,唤醒线程池中预设的用于执行对象块删除操作的指定线程。
可选的,一种具体实现方式中,在上述步骤S302之前,所述方法还包括:
向所述客户端反馈用于表征接收到所述数据删除请求的确认字符。
可选的,一种具体实现方式中,所述方法还包括:
在利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块后,利用所述指定线程删除所述目标块设备的指定数据库中,关于所删除的目标对象块的删除任务;
其中,所述删除任务是所述客户端在所述目标块设备的指定数据库中写入的。
相应于上述本发明实施例提供的一种数据删除系统,本发明实施例还提供了一种数据删除装置。
图4为本发明实施例提供的一种数据删除装置的结构示意图。其中,该方法应用于Ceph系统中的客户端,该Ceph系统还包括至少一个块设备;如图4所示,该装置可以包括如下模块:
目标标识确定模块410,用于确定待删除对象块的目标标识;
目标对象块存储模块420,用于遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列;
请求发送模块430,用于向所述目标块设备发送用于指示所述目标块设备删除所述目标对象块的数据删除请求,以使所述目标块设备在接收到所述客户端发送的所述数据删除请求时,获取所述目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块;
其中,所述线程池是在所述目标块设备启动时创建的。
基于此,应用本发明实施例提供的方案,客户端可以一次性查询到全部待删除的目标对象块,从而,目标块设备可以直接对全部的目标对象块进行删除。这样,当待删除的对象块的数量较多时,便可以避免由于各个待删除的对象块是依次逐个被查询且删除的,所带来删除待删除的对象块的耗时较长的情况发送,从而,提高对象块的删除效率较低。
可选的,一种具体实现方式中,所述装置还包括:
任务写入模块,用于在所述目标块设备的指定数据库中写入针对所述目标对象块的删除任务,以使所述目标对象块在利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块后,利用所述指定线程删除所述目标块设备的指定数据库中,关于所删除的目标对象块的删除任务。
可选的,一种具体实现方式中,所述装置还包括:
标识删除模块,用于删除所述对应关系中的所述目标标识。
相应于上述本发明实施例提供的一种数据删除系统,本发明实施例还提供了另一种数据删除装置。
图5为本发明实施例提供的另一种数据删除装置的结构示意图,其中,该装置应用于Ceph系统中的目标块设备,该目标块设备为该Ceph系统包括的至少一个块设备中的任一块设备,该Ceph系统还包括客户端;如图5所示,该装置可以包括如下步骤:
目标标识获取模块510,用于在接收到所述客户端发送的所述数据删除请求时,获取待删除对象块的目标标识;
其中,所述数据删除请求是所述客户端在确定所述目标标识,遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的所述目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列后,向所述目标块设备发送的用于指示所述目标块设备删除所述目标对象块的请求;
线程唤醒模块520,用于唤醒线程池中预设的用于执行对象块删除操作的指定线程;
其中,所述线程池是在所述目标块设备启动时创建的;
对象块删除模块530,用于利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的所述目标对象块。
基于此,应用本发明实施例提供的方案,客户端可以一次性查询到全部待删除的目标对象块,从而,目标块设备可以直接对全部的目标对象块进行删除。这样,当待删除的对象块的数量较多时,便可以避免由于各个待删除的对象块是依次逐个被查询且删除的,所带来删除待删除的对象块的耗时较长的情况发送,从而,提高对象块的删除效率较低。
可选的,一种具体实现方式中,对象块删除模块530具体用于:
利用所述指定线程,按照与当前负载压力对应的删除速率,删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块;
其中,所述删除速率用于保证在所述当前负载压力下,按照所述删除速率进行对象块删除操作时,各类实时操作被执行的速率满足预定速率要求。
可选的,一种具体实现方式中,所述目标标识为多个,对象块删除模块530具体用于:
利用所述指定线程,判断所述目标块设备的指定队列中的待处理对象块的数量是否大于预设删除数量;其中,每个待处理块设备具有任一所述目标标识;
若大于,则利用所述指定线程,删除所述待处理对象块中的所述预设删除数量个对象块;返回所述利用所述指定线程,判断所述目标块设备的指定队列中的待处理对象块的数量是否大于预设删除数量的步骤;
否则,则利用所述指定线程,删除所述目标块设备的指定队列中的全部所述待处理对象块。
可选的,一种具体实现方式中,线程唤醒模块520具体用于:
在到达当前周期内的对象块删除触发时刻时,唤醒线程池中预设的用于执行对象块删除操作的指定线程。
可选的,一种具体实现方式中,所述装置还包括:
字符反馈模块,用于在所述唤醒线程池中预设的用于执行对象块删除操作的指定线程之前,向所述客户端反馈用于表征接收到所述数据删除请求的确认字符。
可选的,一种具体实现方式中,所述装置还包括:
任务删除模块,用于在利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块后,利用所述指定线程删除所述目标块设备的指定数据库中,关于所删除的目标对象块的删除任务;
其中,所述删除任务是所述客户端在所述目标块设备的指定数据库中写入的。
相应于本发明实施例提供的一种数据存储系统,本发明实施例还提供了一种电子设备,该电子设备安装有Ceph系统所包括的客户端,所述Ceph系统还包括至少一个块设备。如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述本发明实施例提供的任一应用于Ceph系统所包括的客户端的数据存储方法的步骤。
相应于上述本发明实施例提供的一种数据存储系统,本发明实施例还提供了一种块设备,所述块设备为Ceph系统所包括的至少一个块设备中的任一块设备,所述Ceph系统还包括客户端;如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述本发明实施例提供的任一应用于Cehp系统所包括的目标对象块的数据存储方法的步骤。
上述电子设备和块设备提到的通信总线可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述块设备或块设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述本发明实施例提供的任一种数据存储方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述本发明实施例提供的任一种数据存储方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例、装置实施例、电子设备实施例、块设备实施例、计算机可读存储介质实施例,以及计算机程序产品实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种数据删除系统,其特征在于,应用于Ceph系统,所述Ceph系统包括:客户端和至少一个块设备:
所述客户端,用于确定待删除对象块的目标标识;遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列;向所述目标块设备发送用于指示所述目标块设备删除所述目标对象块的数据删除请求;
每个块设备,用于在接收到所述客户端发送的所述数据删除请求时,获取所述目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的目标对象块;其中,所述线程池是在该块设备启动时创建的。
2.根据权利要求1所述的系统,其特征在于,所述利用所述指定线程删除该设备的指定队列中的具有所述目标标识的对象块,包括:
利用所述指定线程,按照与当前负载压力对应的删除速率,删除该设备的指定队列中的具有所述目标标识的对象块;
其中,所述删除速率用于保证在所述当前负载压力下,按照所述删除速率进行对象块删除操作时,各类实时操作被执行的速率满足预定速率要求。
3.根据权利要求1所述的系统,其特征在于,所述目标标识为多个,所述利用所述指定线程删除该设备的指定队列中的具有所述目标标识的对象块,包括:
利用所述指定线程,判断该块设备的指定队列中的待处理对象块的数量是否大于预设删除数量;其中,每个待处理块设备具有任一所述目标标识;
若大于,则利用所述指定线程,删除所述待处理对象块中的所述预设删除数量个对象块;返回所述利用所述指定线程,判断该块设备的指定队列中的待处理对象块的数量是否大于预设删除数量的步骤;
否则,则利用所述指定线程,删除该块设备的指定队列中的全部所述待处理对象块。
4.根据权利要求1-3任一项所述的系统,其特征在于,所述唤醒线程池中预设的用于执行对象块删除操作的指定线程,包括:
在到达当前周期内的对象块删除触发时刻时,唤醒线程池中预设的用于执行对象块删除操作的指定线程。
5.根据权利要求1-3任一项所述的系统,其特征在于,在所述唤醒线程池中预设的用于执行对象块删除操作的指定线程之前,每个块设备还用于:
向所述客户端反馈用于表征接收到所述数据删除请求的确认字符。
6.根据权利要求1-3任一项所述的系统,其特征在于,
所述客户端还用于:在所述目标块设备的指定数据库中写入针对所述目标对象块的删除任务;
每个块设备还用于:在利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的目标对象块后,利用所述指定线程删除该块设备的指定数据库中,关于所删除的目标对象块的删除任务。
7.根据权利要求1-3任一项所述的系统,其特征在于,所述客户端还用于:
删除所述对应关系中的所述目标标识。
8.一种数据删除方法,其特征在于,应用于Ceph系统中的客户端,所述Ceph系统还包括至少一个块设备;所述方法包括:
确定待删除对象块的目标标识;
遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列;
向所述目标块设备发送用于指示所述目标块设备删除所述目标对象块的数据删除请求,以使所述目标块设备在接收到所述客户端发送的所述数据删除请求时,获取所述目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块;其中,所述线程池是在所述目标块设备启动时创建的。
9.一种数据删除方法,其特征在于,应用于Ceph系统中的目标块设备;所述目标块设备为所述Ceph系统包括的至少一个块设备中的任一块设备,所述Ceph系统还包括客户端;所述方法包括
在接收到所述客户端发送的所述数据删除请求时,获取待删除对象块的目标标识;其中,所述数据删除请求是所述客户端在确定所述目标标识,遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的所述目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列后,向所述目标块设备发送的用于指示所述目标块设备删除所述目标对象块的请求;
唤醒线程池中预设的用于执行对象块删除操作的指定线程;其中,所述线程池是在所述目标块设备启动时创建的;
利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的所述目标对象块。
10.一种数据删除装置,其特征在于,应用于Ceph系统中的客户端,所述Ceph系统还包括至少一个块设备;所述装置包括:
目标标识确定模块,用于确定待删除对象块的目标标识;
目标对象块确定模块,用于遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列;
请求发送模块,用于向所述目标块设备发送用于指示所述目标块设备删除所述目标对象块的数据删除请求,以使所述目标块设备在接收到所述客户端发送的所述数据删除请求时,获取所述目标标识;唤醒线程池中预设的用于执行对象块删除操作的指定线程;利用所述指定线程删除所述目标块设备的指定队列中的具有所述目标标识的目标对象块;其中,所述线程池是在所述目标块设备启动时创建的。
11.一种数据删除装置,其特征在于,应用于Ceph系统中的目标块设备;所述目标块设备为所述Ceph系统包括的至少一个块设备中的任一块设备,所述Ceph系统还包括客户端;所述装置包括:
目标标识获取模块,用于在接收到所述客户端发送的所述数据删除请求时,获取待删除对象块的目标标识;其中,所述数据删除请求是所述客户端在确定所述目标标识,遍历预设的块设备与对象块标识的对应关系,确定存储有具有所述目标标识的目标对象块的所述目标块设备,并将所述目标对象块存储至所述目标块设备的指定队列后,向所述目标块设备发送的用于指示所述目标块设备删除所述目标对象块的请求;
线程唤醒模块,用于唤醒线程池中预设的用于执行对象块删除操作的指定线程;其中,所述线程池是在所述目标块设备启动时创建的;
对象块删除模块,用于利用所述指定线程删除该块设备的指定队列中的具有所述目标标识的所述目标对象块。
12.一种电子设备,其特征在于,所述电子设备安装有Ceph系统所包括的客户端,所述Ceph系统还包括至少一个块设备;所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求8所述的方法步骤。
13.一种块设备,其特征在于,所述块设备为Ceph系统所包括的至少一个块设备中的任一块设备,所述Ceph系统还包括客户端;所述块设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求9任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求8或9所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110830742.7A CN113467721A (zh) | 2021-07-22 | 2021-07-22 | 一种数据删除系统、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110830742.7A CN113467721A (zh) | 2021-07-22 | 2021-07-22 | 一种数据删除系统、方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113467721A true CN113467721A (zh) | 2021-10-01 |
Family
ID=77881861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110830742.7A Pending CN113467721A (zh) | 2021-07-22 | 2021-07-22 | 一种数据删除系统、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467721A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117762336A (zh) * | 2023-12-22 | 2024-03-26 | 柏域信息科技(上海)有限公司 | 针对Ceph对象的定期删除方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229420A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 数据存储方法、读取方法、删除方法和数据操作系统 |
CN112612791A (zh) * | 2020-12-22 | 2021-04-06 | 新华三大数据技术有限公司 | 一种数据处理方法及装置 |
US20210109913A1 (en) * | 2018-08-02 | 2021-04-15 | Wangsu Science & Technology Co., Ltd. | Object storage method and object storage gateway |
CN113076290A (zh) * | 2021-04-12 | 2021-07-06 | 百果园技术(新加坡)有限公司 | 文件删除方法、装置、设备、系统及存储介质 |
-
2021
- 2021-07-22 CN CN202110830742.7A patent/CN113467721A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229420A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 数据存储方法、读取方法、删除方法和数据操作系统 |
US20210109913A1 (en) * | 2018-08-02 | 2021-04-15 | Wangsu Science & Technology Co., Ltd. | Object storage method and object storage gateway |
CN112612791A (zh) * | 2020-12-22 | 2021-04-06 | 新华三大数据技术有限公司 | 一种数据处理方法及装置 |
CN113076290A (zh) * | 2021-04-12 | 2021-07-06 | 百果园技术(新加坡)有限公司 | 文件删除方法、装置、设备、系统及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117762336A (zh) * | 2023-12-22 | 2024-03-26 | 柏域信息科技(上海)有限公司 | 针对Ceph对象的定期删除方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536526B (zh) | 一种基于可编程硬件的资源管理方法以及装置 | |
CN101673192B (zh) | 时序化的数据处理方法、装置及系统 | |
CN104461744A (zh) | 一种资源分配方法及装置 | |
KR20170008152A (ko) | 불휘발성 메모리 장치에서의 데이터 특성 기반 데이터 배치 | |
KR20120102664A (ko) | 미래 사용 추정에 기반한 저장 메모리 할당 | |
CN110658980B (zh) | 数据处理方法及装置、存储系统 | |
CN104020834A (zh) | 控制设备和控制方法 | |
WO2020133995A1 (zh) | 副本部署方法、云服务器及存储介质 | |
CN113031870A (zh) | 一种集群系统动态管理方法、装置、存储介质及设备 | |
CN105512188A (zh) | 数据连接方法和数据连接系统 | |
WO2021018052A1 (zh) | 一种垃圾回收方法及装置 | |
CN104636159A (zh) | 对虚拟机中的软件进行升级的方法和装置 | |
CN113364877A (zh) | 数据处理方法、装置、电子设备和介质 | |
CN103500108A (zh) | 系统内存访问方法、节点控制器和多处理器系统 | |
US10228885B2 (en) | Deallocating portions of data storage based on notifications of invalid data | |
CN113467721A (zh) | 一种数据删除系统、方法及装置 | |
CN105677533A (zh) | 应用进程监控方法及应用进程监控装置 | |
CN109753222B (zh) | 数据删除方法、服务器及计算机可读介质 | |
CN110795041A (zh) | 分布式文件系统的配额方法、装置、服务器和存储介质 | |
JP5956064B2 (ja) | 計算機システム、データ管理方法、及び計算機 | |
CN101483668A (zh) | 热点数据的网络存储和访问方法、设备及系统 | |
JP5692355B2 (ja) | コンピュータシステム、制御システム、制御方法および制御プログラム | |
CN106549983B (zh) | 一种数据库的访问方法及终端、服务器 | |
CN104268231B (zh) | 一种文件访问方法、装置及智能文件系统 | |
CN112395337A (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 |