CN111125034A - 一种聚合对象数据处理方法、系统及相关设备 - Google Patents

一种聚合对象数据处理方法、系统及相关设备 Download PDF

Info

Publication number
CN111125034A
CN111125034A CN201911379784.2A CN201911379784A CN111125034A CN 111125034 A CN111125034 A CN 111125034A CN 201911379784 A CN201911379784 A CN 201911379784A CN 111125034 A CN111125034 A CN 111125034A
Authority
CN
China
Prior art keywords
small file
target
aggregation
metadata
offset
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
Application number
CN201911379784.2A
Other languages
English (en)
Inventor
张增冉
宁韬
陈岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201911379784.2A priority Critical patent/CN111125034A/zh
Publication of CN111125034A publication Critical patent/CN111125034A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种聚合对象数据处理方法、系统及相关设备。本发明实施例中,可以根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布,然后读取目标聚合对象中的所有有效小文件对象至缓存中,并删除目标聚合对象所占用的目标物理存储空间,最后根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入目标物理存储空间。相对于现有技术,由于整个处理过程在服务端进行实施,减少了目标文件元数据在客户端与服务端之间的数据跳转,节约了带宽资源,提高了数据管理效率。同时,在物理存储空间上实现了无效小文件对象的释放,提高了存储空间利用率。

Description

一种聚合对象数据处理方法、系统及相关设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种聚合对象数据处理方法、系统及相关设备。
背景技术
小文件聚合技术:通过将多个小文件对象聚合成一个聚合对象进行存储实现高效的文件存储。比如淘宝应用程序的TFS和facebook应用程序的hash stack,都采用了类似的技术,提供海量图片的访问。
在现有的聚合对象管理方式中,多个小文件对象共用一个对象,删除聚合对象中的小文件对象,只是逻辑上的删除(删除了小文件对象的映射关系),并不能真正释放被删除的所占用的空间,导致存储空间的浪费。
同时,常见的逻辑上的空间清理是在客户端进行修改小文件对象的元数据。由于整个处理过程在客户端进行实施,客户端需要先从服务端获取小文件对象的元数据,然后再发送清理操作指令,即空间清理至少数据需要至少两次网络跳转,浪费带宽资源,费时费力,管理效率低下。
发明内容
本发明实施例提供了一种聚合对象数据处理方法、系统及相关设备,用于提高存储空间利用率,提高文件管理的效率。
本发明实施例第一方面提供了一种聚合对象数据处理方法,运用于服务端,所述方法可包括:
在所述服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,所述服务端的存储池中的小文件对象以聚合的方式存储于聚合对象;
根据所述目标聚合对象的元数据中的文件释放信息确定未被释放的有效小文件对象,所述文件释放信息中记录有被释放的小文件对象的名称;
根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布;
读取所述目标聚合对象中的所有有效小文件对象至缓存中,并删除所述目标聚合对象所占用的目标物理存储空间;
根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入所述目标物理存储空间。
可选的,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理方法还可以包括:
在所述目标聚合对象的元数据中记录各个有效小文件对象的原始逻辑偏移量与最新逻辑偏移量的映射关系。
可选的,作为一种可能的实施方式,本发明实施例中,各个小文件对象的元数据中记录其所属的聚合对象ID、原始逻辑偏移量及数据长度,所述方法还可以包括:
接收客户端发送的数据提取请求,所述提取请求中包含提取的第一小文件对象的名称;
查询所述第一小文件对象的目标元数据;
根据所述目标元数据中的原始逻辑偏移量查询所述目标小文件对象的最新逻辑偏移量;
根据所述目标小文件对象的最新逻辑偏移量及数据长度在所述目标物理存储空间中提取所述目标小文件对象。
可选的,作为一种可能的实施方式,本发明实施例中,各个聚合对象的元数据中还记录有已存储的所有小文件对象的数据长度之和,所述在所述服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,包括:
根据文件释放信息及已存储的所有小文件对象的数据长度计算各个聚合对象的存储空间使用率;
确定存储空间使用率小于第一预设阈值,且预设时间内未发生修改的聚合对象为目标聚合对象。
可选的,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理方法还可以包括:
确定存储空间使用率小于第二预设阈值的聚合对象为强制释放对象;
将所述强制释放对象中的有效小文件对象转存至其它聚合对象中,并删除所述强制释放对象。
可选的,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理方法还可以包括:
接收到删除指令,所述删除指令中包含需要被删除的第二小文件对象的名称;
查询所述第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度;
将所述第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度写入所述第二小文件对象的元数据中记录对象中,作为所述文件释放信息中的一种。
本发明实施例第二方面提供了一种聚合对象数据处理系统,运用于服务端,聚合对象数据处理系统可以包括:
第一确定单元,用于在所述服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,所述服务端的存储池中的小文件对象以聚合的方式存储于聚合对象;
第二确定单元,用于根据所述目标聚合对象的元数据中的文件释放信息确定未被释放的有效小文件对象,所述文件释放信息中记录有被释放的小文件对象的名称;
计算单元,用于根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布;
读取单元,用于读取所述目标聚合对象中的所有有效小文件对象至缓存中,并删除所述目标聚合对象所占用的目标物理存储空间;
重写单元,用于根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入所述目标物理存储空间。
可选的,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理系统还可以包括:
记录单元,用于在所述目标聚合对象的元数据中记录各个有效小文件对象的原始逻辑偏移量与最新逻辑偏移量的映射关系。
可选的,本发明实施例中的各个小文件对象的元数据中记录其所属的聚合对象ID、原始逻辑偏移量及数据长度,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理系统还可以包括:
第一接收单元,用于接收客户端发送的数据提取请求,所述提取请求中包含提取的第一小文件对象的名称;
第一查询单元,用于查询所述第一小文件对象的目标元数据;
第二查询单元,用于根据所述目标元数据中的原始逻辑偏移量查询所述目标小文件对象的最新逻辑偏移量;
提取单元,用于根据所述目标小文件对象的最新逻辑偏移量及数据长度在所述目标物理存储空间中提取所述目标小文件对象。
可选的,作为一种可能的实施方式,本发明实施例中的所述第一确定单元,包括:
计算模块,用于根据文件释放信息及已存储的所有小文件对象的数据长度计算各个聚合对象的存储空间使用率;
确定模块,用于确定存储空间使用率小于第一预设阈值,且预设时间内未发生修改的聚合对象为目标聚合对象。
可选的,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理系统还可以包括:
第三确定单元,用于确定存储空间使用率小于第二预设阈值的聚合对象为强制释放对象;
转存单元,用于将所述强制释放对象中的有效小文件对象转存至其它聚合对象中,并删除所述强制释放对象。
可选的,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理系统还可以包括:
第二接收单元,用于接收到删除指令,所述删除指令中包含需要被删除的第二小文件对象的名称;
第三查询单元,用于查询所述第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度;
写入单元,用于将所述第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度写入所述第二小文件对象的元数据中记录对象中,作为所述文件释放信息中的一种。
本发明实施例第三方面提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一项所述聚合对象数据处理方法的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一项所述聚合对象数据处理方法的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,聚合对象数据处理系统可以根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布,然后读取目标聚合对象中的所有有效小文件对象至缓存中,并删除目标聚合对象所占用的目标物理存储空间,最后根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入目标物理存储空间。相对于现有技术,由于整个处理过程在服务端进行实施,减少了目标文件元数据在客户端与服务端之间的数据跳转,节约了带宽资源,提高了数据管理效率。同时,在物理存储空间上实现了无效小文件对象的释放,提高了存储空间利用率。
附图说明
图1为本发明实施例中的聚合对象中小文件对象与聚合对象的映射关系示意图;
图2为本发明实施例中的一种聚合对象数据处理方法的一个实施例示意图;
图3为本发明实施例中的一种聚合对象数据处理方法中数据压缩前后有效小文件对象的逻辑地址变化对照示意图;
图4为本发明实施例中的一种聚合对象数据处理方法中强制释放聚合对象存储空间的示意图;
图5为本发明实施例中的一种聚合对象数据处理系统的一个实施例示意图;
图6为本发明实施例中的一种计算机设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种聚合对象数据处理方法、系统及相关设备,用于提高存储空间利用率,提高数据管理的效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解,首先对本发明实施例中的聚合对象数据处理方法的运用场景进行简单说明。本发明实施例中的聚合对象数据处理方法运用于分布式存储系统的,该服务端的存储池中的小文件对象以聚合的方式存储于聚合对象中,如图1所示,存储池中的小文件对象在逻辑上依次连续存储,小文件对象的元数据中记录该小文件对象所属的聚合对象的身份标识(oid)(例如图1中的compound-001)、在聚合对象中的逻辑偏移量(例如4096)、数据长度(例如1024)。各个聚合对象的元数据中记录有文件释放信息,该文件释放信息中记录有被释放的小文件对象的名称。其中,本发明实施例中的小文件对象是指文件大小小于预设阈值的文件。
请参阅图2,下面对本发明实施例中的聚合对象数据处理方法具体流程进行进一步的描述。本发明实施例中一种聚合对象数据处理方法的一个实施例可包括:
201、在服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,服务端的存储池中的小文件对象以聚合的方式存储于聚合对象;
在进行数据压缩之前,需要通过预设的规则确定需要进行压缩的目标聚合对象。例如,可以根据用户的设置指令确定需要进行压缩的目标聚合对象,也可以根据预设条件确定满足该预设条件的聚合对象为压缩的目标聚合对象,具体此处不做限定。
可选的,作为一种可能的实施方式,本发明实施例中,在服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象的流程可以包括:
根据文件释放信息及已存储的所有小文件对象的数据长度计算各个聚合对象的存储空间使用率;确定存储空间使用率小于第一预设阈值,且预设时间内未发生修改的聚合对象为目标聚合对象。
202、根据目标聚合对象的元数据中的文件释放信息确定未被释放的有效小文件对象,文件释放信息中记录有被释放的小文件对象的名称;
实际运用中,每一个聚合对象的元数据中保存有文件释放信息,该文件释放信息记录了聚合对象中已存储的小文件中哪些需要被释放,该文件释放信息记录了需要释放的小文件对象的元数据的部分或全部信息。具体的,该释放信息中至少记录有需要被释放的小文件对象的名称。
在查询到目标聚合对象的文件释放信息中记录的被释放的小文件对象之后,可以采用排除法确定没有被记录的剩余小文件对象为未被释放的小文件对象,为了便于区分,后续的描述中统称为有效小文件对象。
203、根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布;
由于压缩之前,目标聚合对象中的各个小文件对象的逻辑地址范围(逻辑偏移量为起始逻辑地址,逻辑偏移量与数据长度之和为终止逻辑地址)是连续的,当目标聚合对象中出现需要被释放的小文件对象之后,有效小文件对象的逻辑地址将不再连续。示例性的,如图3所示,以白色矩形框标识被释放的小文件对象的逻辑地址范围,黑色矩形框标识有效小文件对象的逻辑地址范围,可以看出有效小文件对象的逻辑地址将不再连续。
为此,本发明实施例中的聚合对象数据处理系统可以根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布。具体的,可以对所有的有效小文件对象进行排序,按照序号依次计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布。
示例性的,如果排序第一的有效小文件对象的数据长度为1024,排序第二的有效小文件对象的数据长度为4096,排序第三的有效小文件对象的数据长度为4096。那么,排序第一的有效小文件对象在聚合对象中的最新逻辑偏移量为0,排序第二的有效小文件对象在聚合对象中的最新逻辑偏移量为1024,排序第三的有效小文件对象在聚合对象中的最新逻辑偏移量为5120,排序第四的有效小文件对象在聚合对象中的最新逻辑偏移量为9216。
204、读取目标聚合对象中的所有有效小文件对象至缓存中,并删除目标聚合对象所占用的目标物理存储空间;
在重新计算各个有效小文件对象的最新逻辑偏移量之后,聚合对象数据处理系统可以读取目标聚合对象中的所有有效小文件对象至缓存中,并删除目标聚合对象所占用的目标物理存储空间,完成物理存储空间的释放。
205、根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入目标物理存储空间。
在完成物理存储空间的释放之后,聚合对象数据处理系统可以根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入同一个目标物理存储空间,但是该目标聚合对象实际占用的物理存储空间相对于压缩之前显然会减少。
本发明实施例中,聚合对象数据处理系统可以根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布,然后读取目标聚合对象中的所有有效小文件对象至缓存中,并删除目标聚合对象所占用的目标物理存储空间,最后根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入目标物理存储空间。相对于现有技术,由于整个处理过程在服务端进行实施,减少了目标文件元数据在客户端与服务端之间的数据跳转,节约了带宽资源,提高了数据管理效率。同时,在物理存储空间上实现了无效小文件对象的释放,提高了存储空间利用率。
在上述图2所示的实施例的基础上,本发明实施例中的聚合对象数据处理方法的另一个实施例中,在对目标聚合对象的进行数据压缩之后,由于有效小文件对象在压缩之前记录的原始逻辑偏移量与压缩之后的最新逻辑偏移量可能不同,导致按照原始逻辑偏移量将不能映射得到对应的有效小文件对象。为解决上述问题,本发明实施例中,可以将各个有效小文件对象的原始逻辑偏移量与最新逻辑偏移量的映射关系统一记录在目标聚合对象的元数据中。采用这种统一的记录方式,可以避免修改各个有效小文件对象的元数据,也无需逐一查找各个有效小文件对象的元数据,大大降低了操作的复杂度,提高了数据管理的效率。
实际运用中,当目标聚合文件的存储空间使用率足够小,例如低于用户设置的第二预设阈值(例如1/10)时,再次对目标聚合对象进行压缩存储空间的使用率提升有限。在上述任一实施例的基础上,本发明实施例中的聚合对象数据处理方法的另一个实施例中,聚合对象数据处理系统可以确定存储空间使用率小于第二预设阈值的聚合对象为强制释放对象;并将强制释放对象中的有效小文件对象转存至其它聚合对象中,并删除强制释放对象。示例性的,如图4所示,如果聚合对象A中包含的有效小文件对象为:对象a、对象b,且聚合对象A存储空间使用率低于第二预设阈值,则可以将对象a转存至聚合对象B,将对象b转存至聚合对象C。
在实际运用中,当聚合对象正在执行压缩操作或其它预设的操作时,如果客户端需要删除该聚合对象上的其他小对象,该删除操作等聚合对象完成压缩后才可以进行,为避免客户端操作阻塞无法实现,本发明实施例中还在聚合对象的元数据中增加了记录对象,使用该记录对象先对客户端要删除的小对象所需释放的空间进行记录,并延后实施对应的删除操作。具体可以包括:接收到删除指令,删除指令中包含需要被删除的第二小文件对象的名称;查询第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度;将第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度写入第二小文件对象的元数据中记录对象中,作为文件释放信息中的一种。
示例性的,记录对象的格式如下:(oid,release_off,release_len),其中,oid:聚合对象的id,release_off:待释放小文件对象的偏移,release_len:待释放小文件对象长度。待下次执行聚合对象压缩时,先扫描记录对象,作为释放信息的一种,聚合对象根据最新的空间释放信息进行数据压缩。
上述实施例对数据的压缩过程进行了描述,下面将对采用上述的聚合对象数据处理方法对数据进行压缩之后的数据提取过程进行描述。
在上述图2所示的实施例的基础上,本发明实施例中的一种聚合对象数据处理方法还可以进一步包括如下步骤:
401、接收客户端发送的数据提取请求,提取请求中包含提取的第一小文件对象的名称;
当用户需要提取数据时,聚合对象数据处理系统可以接收到客户端发送的数据提取请求,该提取请求中包含提取的第一小文件对象的名称。
402、查询第一小文件对象的目标元数据;
聚合对象数据处理系统可以根据第一小文件对象的名称查询到第一小文件对象的目标元数据,该目标元数据中包含原始逻辑偏移量、数据长度及其所属的聚合对象ID。
403、根据目标元数据中的原始逻辑偏移量查询目标小文件对象的最新逻辑偏移量;
在获取到第一小文件对象的原始逻辑偏移量、数据长度及其所属的聚合对象ID之后,可以根据其所属的聚合对象ID查询对应的聚合对象的元数据,并在对应的目标聚合文件的元数据中记录的原始逻辑偏移量与最新逻辑偏移量的映射关系,查询到目标小文件对象的最新逻辑偏移量。
404、根据目标小文件对象的最新逻辑偏移量及数据长度在目标物理存储空间中提取目标小文件对象。
聚合对象数据处理系统可以根据目标小文件对象的最新逻辑偏移量及数据长度在目标物理存储空间中提取目标小文件对象,并返回给客户端。
请参阅图5,本发明实施例还提供了一种聚合对象数据处理系统,运用于服务端,服务端的存储池中的小文件对象以聚合的方式存储于聚合对象中,各个聚合对象的元数据中记录有文件释放信息,聚合对象数据处理系统还可以包括:
第一确定单元501,用于在服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,服务端的存储池中的小文件对象以聚合的方式存储于聚合对象;
第二确定单元502,用于根据目标聚合对象的元数据中的文件释放信息确定未被释放的有效小文件对象,文件释放信息中记录有被释放的小文件对象的名称;
计算单元503,用于根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布;
读取单元504,用于读取目标聚合对象中的所有有效小文件对象至缓存中,并删除目标聚合对象所占用的目标物理存储空间;
重写单元505,用于根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入目标物理存储空间。
本发明实施例中,聚合对象数据处理系统可以根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,然后读取目标聚合对象中的所有有效小文件对象至缓存中,并删除目标聚合对象所占用的目标物理存储空间,最后根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入目标物理存储空间。相对于现有技术,由于整个处理过程在服务端进行实施,减少了目标文件元数据在客户端与服务端之间的数据跳转,节约了带宽资源,提高了数据管理效率。同时,在物理存储空间上实现了无效小文件对象的释放,提高了存储空间利用率。
可选的,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理系统还可以包括:
记录单元,用于在目标聚合对象的元数据中记录各个有效小文件对象的原始逻辑偏移量与最新逻辑偏移量的映射关系。
可选的,本发明实施例中的各个小文件对象的元数据中记录其所属的聚合对象ID、原始逻辑偏移量及数据长度,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理系统还可以包括:
第一接收单元,用于接收客户端发送的数据提取请求,提取请求中包含提取的第一小文件对象的名称;
第一查询单元,用于查询第一小文件对象的目标元数据;
第二查询单元,用于根据目标元数据中的原始逻辑偏移量查询目标小文件对象的最新逻辑偏移量;
提取单元,用于根据目标小文件对象的最新逻辑偏移量及数据长度在目标物理存储空间中提取目标小文件对象。
可选的,作为一种可能的实施方式,本发明实施例中的第一确定单元,包括:
计算模块,用于根据文件释放信息及已存储的所有小文件对象的数据长度计算各个聚合对象的存储空间使用率;
确定模块,用于确定存储空间使用率小于第一预设阈值,且预设时间内未发生修改的聚合对象为目标聚合对象。
可选的,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理系统还可以包括:
第三确定单元,用于确定存储空间使用率小于第二预设阈值的聚合对象为强制释放对象;
转存单元,用于将强制释放对象中的有效小文件对象转存至其它聚合对象中,并删除强制释放对象。
可选的,作为一种可能的实施方式,本发明实施例中的聚合对象数据处理系统还可以包括:
第二接收单元,用于接收到删除指令,删除指令中包含需要被删除的第二小文件对象的名称;
第三查询单元,用于查询第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度;
写入单元,用于将第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度写入第二小文件对象的元数据中记录对象中,作为文件释放信息中的一种。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从功能化的角度对本申请实施例中的文件处理系统进行了描述,下面从硬件处理的角度对本申请实施例中的计算机设备进行描述。
本申请实施例还提供了一种计算机设备,如图6所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。参考图6,计算机设备6包括:存储器610、处理器620以及存储在存储器中并可在处理器上运行的计算机程序。处理器执行计算机程序时实现上述各个聚合对象数据处理方法实施例中的步骤,例如图2所示的步骤201至205。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本申请实施例中的一些实施例中,处理器用于执行存储器中存储的计算机程序时实现如下步骤:
在服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,服务端的存储池中的小文件对象以聚合的方式存储于聚合对象;
根据目标聚合对象的元数据中的文件释放信息确定未被释放的有效小文件对象,文件释放信息中记录有被释放的小文件对象的名称;
根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布;
读取目标聚合对象中的所有有效小文件对象至缓存中,并删除目标聚合对象所占用的目标物理存储空间;
根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入目标物理存储空间。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
在目标聚合对象的元数据中记录各个有效小文件对象的原始逻辑偏移量与最新逻辑偏移量的映射关系。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
接收客户端发送的数据提取请求,提取请求中包含提取的第一小文件对象的名称;
查询第一小文件对象的目标元数据;
根据目标元数据中的原始逻辑偏移量查询目标小文件对象的最新逻辑偏移量;
根据目标小文件对象的最新逻辑偏移量及数据长度在目标物理存储空间中提取目标小文件对象。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
根据文件释放信息及已存储的所有小文件对象的数据长度计算各个聚合对象的存储空间使用率;
确定存储空间使用率小于第一预设阈值,且预设时间内未发生修改的聚合对象为目标聚合对象。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
确定存储空间使用率小于第二预设阈值的聚合对象为强制释放对象;
将强制释放对象中的有效小文件对象转存至其它聚合对象中,并删除强制释放对象。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
接收到删除指令,删除指令中包含需要被删除的第二小文件对象的名称;
查询第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度;
将第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度写入第二小文件对象的元数据中记录对象中,作为文件释放信息中的一种。
本领域技术人员可以理解,图6中示出的结构并不构成对计算机设备的限定,计算机设备7可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如还可以包括输入输出设备、总线等。
所称处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
在服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,服务端的存储池中的小文件对象以聚合的方式存储于聚合对象;
根据目标聚合对象的元数据中的文件释放信息确定未被释放的有效小文件对象,文件释放信息中记录有被释放的小文件对象的名称;
根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布;
读取目标聚合对象中的所有有效小文件对象至缓存中,并删除目标聚合对象所占用的目标物理存储空间;
根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入目标物理存储空间。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
在目标聚合对象的元数据中记录各个有效小文件对象的原始逻辑偏移量与最新逻辑偏移量的映射关系。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
接收客户端发送的数据提取请求,提取请求中包含提取的第一小文件对象的名称;
查询第一小文件对象的目标元数据;
根据目标元数据中的原始逻辑偏移量查询目标小文件对象的最新逻辑偏移量;
根据目标小文件对象的最新逻辑偏移量及数据长度在目标物理存储空间中提取目标小文件对象。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
根据文件释放信息及已存储的所有小文件对象的数据长度计算各个聚合对象的存储空间使用率;
确定存储空间使用率小于第一预设阈值,且预设时间内未发生修改的聚合对象为目标聚合对象。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
确定存储空间使用率小于第二预设阈值的聚合对象为强制释放对象;
将强制释放对象中的有效小文件对象转存至其它聚合对象中,并删除强制释放对象。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
接收到删除指令,删除指令中包含需要被删除的第二小文件对象的名称;
查询第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度;
将第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度写入第二小文件对象的元数据中记录对象中,作为文件释放信息中的一种。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (11)

1.一种聚合对象数据处理方法,其特征在于,运用于服务端,所述方法包括:
在所述服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,所述服务端的存储池中的小文件对象以聚合的方式存储于聚合对象;
根据所述目标聚合对象的元数据中的文件释放信息确定未被释放的有效小文件对象,所述文件释放信息中记录有被释放的小文件对象的名称;
根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布;
读取所述目标聚合对象中的所有有效小文件对象至缓存中,并删除所述目标聚合对象所占用的目标物理存储空间;
根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入所述目标物理存储空间。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述目标聚合对象的元数据中记录各个有效小文件对象的原始逻辑偏移量与最新逻辑偏移量的映射关系。
3.根据权利要求2所述的方法,其特征在于,各个小文件对象的元数据中记录其所属的聚合对象ID、原始逻辑偏移量及数据长度,所述方法还包括:
接收客户端发送的数据提取请求,所述提取请求中包含提取的第一小文件对象的名称;
查询所述第一小文件对象的目标元数据;
根据所述目标元数据中的原始逻辑偏移量查询所述目标小文件对象的最新逻辑偏移量;
根据所述目标小文件对象的最新逻辑偏移量及数据长度在所述目标物理存储空间中提取所述目标小文件对象。
4.根据权利要求1至3中任一项所述的方法,其特征在于,各个聚合对象的元数据中还记录有已存储的所有小文件对象的数据长度之和,所述在所述服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,包括:
根据文件释放信息及已存储的所有小文件对象的数据长度计算各个聚合对象的存储空间使用率;
确定存储空间使用率小于第一预设阈值,且预设时间内未发生修改的聚合对象为目标聚合对象。
5.根据权利要求4所述的方法,其特征在于,还包括:
确定存储空间使用率小于第二预设阈值的聚合对象为强制释放对象;
将所述强制释放对象中的有效小文件对象转存至其它聚合对象中,并删除所述强制释放对象。
6.根据权利要求2至3中任一项所述的方法,其特征在于,还包括:
接收到删除指令,所述删除指令中包含需要被删除的第二小文件对象的名称;
查询所述第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度;
将所述第二小文件对象的元数据中的聚合对象ID、原始逻辑偏移量及数据长度写入所述第二小文件对象的元数据中记录对象中,作为所述文件释放信息中的一种。
7.一种聚合对象数据处理系统,其特征在于,运用于服务端,所述系统包括:
第一确定单元,用于在所述服务端的存储池中的聚合对象中确定需要进行压缩的目标聚合对象,所述服务端的存储池中的小文件对象以聚合的方式存储于聚合对象;
第二确定单元,用于根据所述目标聚合对象的元数据中的文件释放信息确定未被释放的有效小文件对象,所述文件释放信息中记录有被释放的小文件对象的名称;
计算单元,用于根据各个有效小文件对象的数据长度,重新计算各个有效小文件对象的最新逻辑偏移量,使得各个有效小文件对象的逻辑地址连续分布;
读取单元,用于读取所述目标聚合对象中的所有有效小文件对象至缓存中,并删除所述目标聚合对象所占用的目标物理存储空间;
重写单元,用于根据各个有效小文件对象的最新逻辑偏移量将对应的小文件对象重新写入所述目标物理存储空间。
8.根据权利要求7所述的系统,其特征在于,还包括:
记录单元,用于在所述目标聚合对象的元数据中记录各个有效小文件对象的原始逻辑偏移量与最新逻辑偏移量的映射关系。
9.根据权利要求8所述的系统,其特征在于,各个小文件对象的元数据中记录其所属的聚合对象ID、原始逻辑偏移量及数据长度,所述系统还包括:
第一接收单元,用于接收客户端发送的数据提取请求,所述提取请求中包含提取的第一小文件对象的名称;
第一查询单元,用于查询所述第一小文件对象的目标元数据;
第二查询单元,用于根据所述目标元数据中的原始逻辑偏移量查询所述目标小文件对象的最新逻辑偏移量;
提取单元,用于根据所述目标小文件对象的最新逻辑偏移量及数据长度在所述目标物理存储空间中提取所述目标小文件对象。
10.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的聚合对象数据处理方法中的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的聚合对象数据处理方法中的步骤。
CN201911379784.2A 2019-12-27 2019-12-27 一种聚合对象数据处理方法、系统及相关设备 Pending CN111125034A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911379784.2A CN111125034A (zh) 2019-12-27 2019-12-27 一种聚合对象数据处理方法、系统及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911379784.2A CN111125034A (zh) 2019-12-27 2019-12-27 一种聚合对象数据处理方法、系统及相关设备

Publications (1)

Publication Number Publication Date
CN111125034A true CN111125034A (zh) 2020-05-08

Family

ID=70504312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911379784.2A Pending CN111125034A (zh) 2019-12-27 2019-12-27 一种聚合对象数据处理方法、系统及相关设备

Country Status (1)

Country Link
CN (1) CN111125034A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949617A (zh) * 2020-09-11 2020-11-17 苏州浪潮智能科技有限公司 一种聚合文件对象头管理方法、系统、终端及存储介质
CN112667525A (zh) * 2020-12-23 2021-04-16 北京浪潮数据技术有限公司 一种持久性内存的已用空间度量方法及组件
WO2021238246A1 (zh) * 2020-05-28 2021-12-02 苏州浪潮智能科技有限公司 一种聚合小文件的操作请求的处理方法及装置
WO2021238408A1 (zh) * 2020-05-25 2021-12-02 百果园技术(新加坡)有限公司 对象存储平台以及对象聚合方法、装置和服务器
CN113886347A (zh) * 2021-09-23 2022-01-04 北京金山云网络技术有限公司 节点数据压缩方法、装置、存储介质和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014000458A1 (zh) * 2012-06-28 2014-01-03 华为技术有限公司 小文件处理方法及装置
WO2016086649A1 (zh) * 2014-12-04 2016-06-09 中兴通讯股份有限公司 写、读、删除、查询文件的方法、客户端和存储介质
CN108958653A (zh) * 2018-06-26 2018-12-07 郑州云海信息技术有限公司 一种基于底层聚合文件的空间回收方法、系统及相关装置
CN110531929A (zh) * 2019-08-09 2019-12-03 济南浪潮数据技术有限公司 存储系统的小文件处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014000458A1 (zh) * 2012-06-28 2014-01-03 华为技术有限公司 小文件处理方法及装置
WO2016086649A1 (zh) * 2014-12-04 2016-06-09 中兴通讯股份有限公司 写、读、删除、查询文件的方法、客户端和存储介质
CN108958653A (zh) * 2018-06-26 2018-12-07 郑州云海信息技术有限公司 一种基于底层聚合文件的空间回收方法、系统及相关装置
CN110531929A (zh) * 2019-08-09 2019-12-03 济南浪潮数据技术有限公司 存储系统的小文件处理方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021238408A1 (zh) * 2020-05-25 2021-12-02 百果园技术(新加坡)有限公司 对象存储平台以及对象聚合方法、装置和服务器
WO2021238246A1 (zh) * 2020-05-28 2021-12-02 苏州浪潮智能科技有限公司 一种聚合小文件的操作请求的处理方法及装置
CN111949617A (zh) * 2020-09-11 2020-11-17 苏州浪潮智能科技有限公司 一种聚合文件对象头管理方法、系统、终端及存储介质
CN112667525A (zh) * 2020-12-23 2021-04-16 北京浪潮数据技术有限公司 一种持久性内存的已用空间度量方法及组件
CN113886347A (zh) * 2021-09-23 2022-01-04 北京金山云网络技术有限公司 节点数据压缩方法、装置、存储介质和电子设备

Similar Documents

Publication Publication Date Title
CN111125034A (zh) 一种聚合对象数据处理方法、系统及相关设备
US11531482B2 (en) Data deduplication method and apparatus
CN108255989B (zh) 图片存储方法、装置、终端设备及计算机存储介质
CN111125033B (zh) 一种基于全闪存阵列的空间回收方法及系统
CN112954244B (zh) 监控录像的存储实现方法、装置、设备及存储介质
WO2011155551A1 (ja) ファイル記憶装置、ファイル記憶方法およびプログラム
US10804930B2 (en) Compressed data layout with variable group size
CN110597762A (zh) 文件处理方法、装置、设备及存储介质
CN105446664A (zh) 一种对存储器进行文件存储方法和存储装置
CN111857574A (zh) 一种写请求数据压缩方法、系统、终端及存储介质
CN103229150B (zh) 数据控制方法及系统
CN111803917A (zh) 资源的处理方法和装置
CN104408126A (zh) 一种数据库的持久化写入方法、装置和系统
CN109144403B (zh) 一种用于云盘模式切换的方法与设备
CN111124940A (zh) 一种基于全闪存阵列的空间回收方法及系统
CN111143092A (zh) 故障录波数据处理方法、系统及终端设备
CN107832021B (zh) 一种电子证据固定方法、终端设备及存储介质
CN111125011B (zh) 一种文件处理方法、系统及相关设备
CN110007860A (zh) 基于lsm数据库的垃圾处理的方法、固态硬盘以及存储装置
CN111198857A (zh) 一种基于全闪存阵列的数据压缩方法及系统
CN111026720B (zh) 一种文件处理方法、系统及相关设备
CN111309255B (zh) 一种卷类型转换的方法、系统、设备及介质
CN110262758B (zh) 一种数据存储管理方法、系统及相关设备
US20130218851A1 (en) Storage system, data management device, method and program
CN114675776A (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