一种数据管理方法以及装置制造方法及图纸

技术编号:35990273 阅读:46 留言:0更新日期:2022-12-17 23:05
本说明书提供一种数据管理方法以及装置,涉及通信技术领域。一种数据管理方法,包括:获取Ceph中形成的空洞信息以及Ceph中对象空间的空间占用率,其中,空洞信息至少包括空洞对象、空洞范围以及空洞状态的对应关系;若确定Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到空洞对象的空洞范围内,则将待写入数据写入到空洞对象所对应的对象设备的存储空间,并更新空洞信息。通过上述方式,可以提升Ceph中的数据存储效率。可以提升Ceph中的数据存储效率。可以提升Ceph中的数据存储效率。

【技术实现步骤摘要】
一种数据管理方法以及装置


[0001]本说明书涉及通信
,尤其涉及一种数据管理方法以及装置。

技术介绍

[0002]随着网络技术的发展,人们对于网络存储的需求也逐渐增加,比如,存储效率和存储速度等。Ceph作为一种分布式存储系统,为块存储、对象存储和文件存储提供软件定义的、统一的存储解决方案,使Ceph被广泛应用于数据存储领域。
[0003]数据向Ceph的写入和数据从Ceph的读取,通过块设备和对象设备之间的交互实现。在数据到达块设备后,会根据需求被划分写入多个预设空大小的对象,每一个对象具有一定的对象空间。在需要向一个对象写入时,需要向对象设备(可以理解为是硬盘)申请对应的存储空间进行存储。
[0004]在向对象写入数据时,存在两种IO处理(输入输出,Input Output)方式,即顺序IO和随机IO。在采用随机IO的处理方式时,数据会被分散写入到对象空间中。如果对象空间中存在未被占用的部分,但对象空间的头部和尾部被写入,则会向对象设备申请存储空间进行存储。此时,这些未被占用的部分被称为空洞。
[0005]在Ceph中,根据被申请的存储空间监测对象设备的占用情况,但是因为空洞的存在,可能导致Ceph认为对象设备已经被写满,但实际上存在大量存储空间未被有效占用的情况,从而造成了存储空间的浪费。

技术实现思路

[0006]为克服相关技术中存在的问题,本说明书提供了一种数据管理方法以及装置。
[0007]结合本说明书实施方式的第一方面,本申请提供了一种数据管理方法,包括:
[0008]获取Ceph中形成的空洞信息以及Ceph中对象空间的空间占用率,其中,空洞信息至少包括空洞对象、空洞范围以及空洞状态的对应关系;
[0009]若确定Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到空洞对象的空洞范围内,则将待写入数据写入到空洞对象所对应的对象设备的存储空间,并更新空洞信息。
[0010]可选的,若确定Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到空洞对象的空洞范围内,则将待写入数据写入到空洞对象所对应的对象设备的存储空间,并更新空洞信息,包括:
[0011]若确定Ceph中的对象空间的空间占用率大于第一阈值且指向原对象的待写入数据落入到处于空闲状态的第一空洞,则将待写入数据写入到第一空洞所对应的对象设备的存储空间;
[0012]将第一空洞从空洞信息中移除。
[0013]可选的,若确定Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到空洞对象的空洞范围内,则将待写入数据写入到空洞对象所对应的对象设备的存储空
间,并更新空洞信息,包括:
[0014]若确定Ceph中的对象空间的空间占用率大于第一阈值且指向原对象的待写入数据落入到处于非空闲状态的第二空洞,则将第二空间中当前存储的数据迁移至处于空闲状态的第三空洞,将待写入数据写入到第二空洞所对应的对象设备的存储空间;
[0015]将第二空洞从空洞信息中移除,并将第三空洞置为非空闲状态。
[0016]可选的,若确定Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到空洞对象的空洞范围内,则将待写入数据写入到空洞对象所对应的对象设备的存储空间,并更新空洞信息,包括:
[0017]若确定Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到未创建空洞对象的第四空洞内,则从对象空间中划分新的空洞对象,并将待写入数据写入到新的空洞对象中;
[0018]记录新的空洞对象所对应的空洞信息。
[0019]可选的,若确定Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到空洞对象的空洞范围内,则将待写入数据写入到空洞对象所对应的对象设备的存储空间,并更新空洞信息,包括:
[0020]若确定Ceph中的对象空间的空间占用率大于第一阈值且指向空洞对象的待写入数据落入到处于非空闲状态的第五空洞内,则通过待写入数据覆盖第五空洞所对应的对象设备的存储空间中的数据;
[0021]若确定Ceph中的对象空间的空间占用率大于第一阈值且指向空洞对象的待写入数据落入到处于空闲状态的第六空洞内,则将待写入数据写入到第六空洞内所对应的对象设备的存储空间中,并将第六空洞变更为非空闲状态。
[0022]可选的,该方法,还包括:
[0023]若根据读取请求确定从空洞对象中读取数据时,则从空洞对象所对应的对象设备中读取第一数据,并发送第一数据;
[0024]若根据读取请求确定从原对象中读取数据时,则从原对象所对应的对象设备中读取第二数据,根据空洞信息消除第二数据中所包含的空洞对象所对应的数据形成第三数据,并发送第三数据。
[0025]可选的,该方法,还包括:
[0026]若确定Ceph中的对象空间的空间占用率大于第一阈值且对象空间中的空洞空间小于第二阈值时,则阻塞待写入数据的写入。
[0027]结合本说明书实施方式的第二方面,本申请提供了一种数据管理装置,包括:
[0028]获取单元,用于获取Ceph中形成的空洞信息以及Ceph中对象空间的空间占用率,其中,空洞信息至少包括空洞对象、空洞范围以及空洞状态的对应关系;
[0029]写入单元,用于若确定Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到空洞对象的空洞范围内,则将待写入数据写入到空洞对象所对应的对象设备的存储空间,并更新空洞信息。
[0030]可选的,写入单元,包括:
[0031]第一写入模块,用于若确定Ceph中的对象空间的空间占用率大于第一阈值且指向原对象的待写入数据落入到处于空闲状态的第一空洞,则将待写入数据写入到第一空洞所
对应的对象设备的存储空间;
[0032]第一更新模块,用于将第一空洞从空洞信息中移除。
[0033]可选的,写入单元,包括:
[0034]第二写入模块,用于若确定Ceph中的对象空间的空间占用率大于第一阈值且指向原对象的待写入数据落入到处于非空闲状态的第二空洞,则将第二空间中当前存储的数据迁移至处于空闲状态的第三空洞,将待写入数据写入到第二空洞所对应的对象设备的存储空间;
[0035]第二更新模块,用于将第二空洞从空洞信息中移除,并将第三空洞置为非空闲状态。
[0036]可选的,写入单元,包括:
[0037]第三写入模块,用于若确定Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到未创建空洞对象的第四空洞内,则从对象空间中划分新的空洞对象,并将待写入数据写入到新的空洞对象中;
[0038]第三更新模块,用于记录新的空洞对象所对应的空洞信息。
[0039]可选的,写入单元,包括:
[0040]第四写入模块,用于若确定Ceph中的对象空间的空间占用率大于第一阈值且指向空洞对象的待写入数据落入到处于非空闲状态的第五空洞内,则通过待写入数据覆盖第五空洞所对应的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据管理方法,其特征在于,包括:获取分布式存储系统Ceph中形成的空洞信息以及Ceph中对象空间的空间占用率,其中,所述空洞信息至少包括空洞对象、空洞范围以及空洞状态的对应关系;若确定所述Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到所述空洞对象的空洞范围内,则将所述待写入数据写入到所述空洞对象所对应的对象设备的存储空间,并更新所述空洞信息。2.根据权利要求1所述的方法,其特征在于,所述若确定所述Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到所述空洞对象的空洞范围内,则将所述待写入数据写入到所述空洞对象所对应的对象设备的存储空间,并更新所述空洞信息,包括:若确定所述Ceph中的对象空间的空间占用率大于第一阈值且指向原对象的待写入数据落入到处于空闲状态的第一空洞,则将所述待写入数据写入到所述第一空洞所对应的对象设备的存储空间;将所述第一空洞从所述空洞信息中移除。3.根据权利要求1所述的方法,其特征在于,所述若确定所述Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到所述空洞对象的空洞范围内,则将所述待写入数据写入到所述空洞对象所对应的对象设备的存储空间,并更新所述空洞信息,包括:若确定所述Ceph中的对象空间的空间占用率大于第一阈值且指向原对象的待写入数据落入到处于非空闲状态的第二空洞,则将所述第二空间中当前存储的数据迁移至处于空闲状态的第三空洞,将所述待写入数据写入到所述第二空洞所对应的对象设备的存储空间;将所述第二空洞从所述空洞信息中移除,并将所述第三空洞置为非空闲状态。4.根据权利要求1所述的方法,其特征在于,所述若确定所述Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到所述空洞对象的空洞范围内,则将所述待写入数据写入到所述空洞对象所对应的对象设备的存储空间,并更新所述空洞信息,包括:若确定所述Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到未创建空洞对象的第四空洞内,则从所述对象空间中划分新的空洞对象,并将所述待写入数据写入到新的空洞对象中;记录新的空洞对象所对应的空洞信息。5.根据权利要求1所述的方法,其特征在于,所述若确定所述Ceph中的对象空间的空间占用率大于第一阈值且待写入数据落入到所述空洞对象的空洞范围内,则将所述待写入数据写入到所述空洞对象所对应的对象设备的存储空间,并更新所述空洞信息,包括:若确定所述Ceph中的对象空间的空间占用率大于第一阈值且指向空洞对象的待写入数据落入到处于非空闲状态的第五空洞内,则通过所述待写入数据覆盖所述第五空洞所对应的对象设备的存储空间中的数据;若确定所述Ceph中的对象空间的空间占用率大于第一阈值且指向空洞对象的待写入数据落入到处于空闲状态的第六空洞内,则将所述待写入数据写入到所述第六空洞内所对应的对象设备的存储空间中,并将所述第六空洞变更为非空闲状态。6.根据权利要求1所述的方法,其特征在于,还包括:若根据读取请求确定从空洞对象中读取数据时,则从所述空洞对象所对应的对象设备
中读取第一数据,并发送所述第一数据;若根据读取请求确定从原对象中读取数据时,则从所述原对象所对应的对象设备中读取第二数据,根据所述空洞信息消除所述第二数据中所包含的空洞对象所对应的数据形成第三数据,并发送所述第三数据。7.根据权利要求1所述的方法,其特征在于,还包括:若确定所述Ceph中的对象空间的空间占用率大于第一阈值且所述对象空间中的空洞空间小于第二阈值...

【专利技术属性】
技术研发人员:金朴堃杨潇
申请(专利权)人:新华三信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1