CN111026720A - 一种文件处理方法、系统及相关设备 - Google Patents
一种文件处理方法、系统及相关设备 Download PDFInfo
- Publication number
- CN111026720A CN111026720A CN201911329642.5A CN201911329642A CN111026720A CN 111026720 A CN111026720 A CN 111026720A CN 201911329642 A CN201911329642 A CN 201911329642A CN 111026720 A CN111026720 A CN 111026720A
- Authority
- CN
- China
- Prior art keywords
- aggregation
- homing
- group
- hash value
- preset
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1727—Details of free space management performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种文件处理方法、系统及相关设备,用于提高存储空间利用率,提高文件管理的效率。本发明实施例方法运用于服务端,所述服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,所述第一数量的聚合归置组以预设的规则归类到归置组,文件处理方法还包括:接收扩容指令,所述扩容指令用于指示当前聚合归置组数量由所述第一数量变为第二数量,所述第二数量为大于所述第一数量的正整数;将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组;将所述第二预设数量的新聚合归置组以预设的规则归类到归置组;采用预设的映射算法将所述归置组中的文件对象关联存储在同一个物理存储介质中。
Description
技术领域
本发明涉及分布式数据存储技术领域,尤其涉及一种文件处理方法、系统及相关设备。
背景技术
在分布式文件系统中,常见的存储解决方案有Ceph数据存储系统,其存储过程如图1所示。集群从客户端获取到一个或多个对象(object),然后将这些object进行分组,分为不同pg(placement group,归置组,一个虚拟的对象集合),再根据一定的策略(例如crush算法)存储到集群的OSD(Object Storage Device)节点中。
现有方案中,当pg内存储的空间达到上限需要扩容时,例如由一个磁盘扩容为两个磁盘,发生扩容分裂会导致聚合失效。聚合失效是指,同一个pg内的文件对象需要与原有的pg分离,导致无法基于原有的逻辑映射关系对文件对象进行操作。尤其是数量庞大的小文件聚合失效时,需要重新建立逻辑上的映射关系,费时费力,操作复杂,存储效率低。
为此,本发明中的文件处理系统可以将服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,然后将第一数量的聚合归置组以预设的规则归类到归置组,避免了归置组扩容分裂会导致聚合失效。然而,由于聚合归置组的数量限定,导致在不发生聚合失效的前提下,扩容之后的归置组的数量不能超过原有的聚合归置组的数量(即第一数量)。有鉴于此,有必要进行进一步改进。
发明内容
本发明实施例提供了一种文件处理方法、系统及相关设备,用于提高存储空间利用率,提高文件管理的效率。
本发明实施例第一方面提供了一种文件处理方法,其运用于服务端,所述服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,所述第一数量的聚合归置组以预设的规则归类到归置组,所述方法还包括:
接收扩容指令,所述扩容指令用于指示当前聚合归置组数量由所述第一数量变为第二数量,所述第二数量为大于所述第一数量的正整数;
将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组;
将所述第二预设数量的新聚合归置组以预设的规则归类到归置组;
采用预设的映射算法将所述归置组中的文件对象关联存储在同一个物理存储介质中。
可选的,作为一种可能的实施方式,本发明实施例中,所述服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,包括:
采用预设的哈希算法对所述服务端的存储池中的目标文件的文件名称字符进行计算,得到所述目标文件的哈希值字符串,所述目标文件的大小小于指定阈值;
按照相同的读取规则从每个所述目标文件的哈希值字符串中读取第一预设数量的字符,以组成每个所述目标文件的第一聚合哈希值,所述第一预设数量为正整数;
根据所述第一聚合哈希值将目标文件以聚合的方式存储于第一数量的聚合归置组,其中,所述第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组。
可选的,作为一种可能的实施方式,本发明实施例中,所述第一数量的聚合归置组的ID为所述第一聚合哈希值补零形成预设数位的字符串,所述将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组,包括:
根据所述第二数量计算扩容之后的新聚合归置组的聚合哈希值的字符数量为第三预设数量,所述第三预设数量为大于第一预设数量的正整数;
按照相同的读取规则从所述服务端的存储池中已存储的目标文件的哈希值字符串中读取所述第三预设数量的字符组成第二聚合哈希值;
将所述第二聚合哈希值补零形成所述预设数位的字符串作为所述第二聚合哈希值对应的目标文件关联的新聚合归置组的ID;
将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组,其中,若所述目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将所述目标文件以聚合的方式存储至所述新聚合归置组,否则继续将所述目标文件存储在当前所在的聚合归置组。
可选的,作为一种可能的实施方式,本发明实施例中,所述将所述第二预设数量的新聚合归置组以预设的规则归类到归置组,包括:
按照相同的读取规则从每个新聚合归置组的第二聚合哈希值中读取第二预设数量的字符,以组成每个聚合归置组的归置哈希值,所述第二预设数量为小于第三预设数量的正整数;
将归置哈希值相同的聚合归置组归类到同一个归置组。
可选的,作为一种可能的实施方式,本发明实施例中,若所述目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将所述目标文件以聚合的方式存储至所述新聚合归置组,包括:
若所述目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,在预设时间间隔之后再将所述目标文件以聚合的方式存储至所述新聚合归置组。
可选的,作为一种可能的实施方式,本发明实施例中的文件处理方法还可以包括:
在所述服务端的存储池中的目标文件发生变化之后,记录所述目标文件发生变化之前的存储位置的释放信息;
在将所述目标文件以聚合的方式存储至所述新聚合归置组之后,将所述目标文件对应的释放信息写入所述新聚合归置组中。
可选的,作为一种可能的实施方式,本发明实施例中的文件处理方法还可以包括:
在所述目标文件的元数据中记录所述服务端的存储池中的当前聚合归置组的数量。
本发明实施例第二方面提供了一种文件处理系统,运用于服务端,该服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,所述第一数量的聚合归置组以预设的规则归类到归置组,该文件处理系统还可以包括:
接收单元,用于接收扩容指令,所述扩容指令用于指示当前聚合归置组数量由所述第一数量变为第二数量,所述第二数量为大于所述第一数量的正整数;
第一聚合单元,用于将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组;
归类单元,用于将所述第二预设数量的新聚合归置组以预设的规则归类到归置组;
映射单元,用于采用预设的映射算法将所述归置组中的文件对象关联存储在同一个物理存储介质中。
可选的,作为一种可能的实施方式,本发明实施例中的文件处理系统还可以包括:
计算单元,用于采用预设的哈希算法对所述服务端的存储池中的目标文件的文件名称字符进行计算,得到所述目标文件的哈希值字符串,所述目标文件的大小小于指定阈值;
读取单元,用于按照相同的读取规则从每个所述目标文件的哈希值字符串中读取第一预设数量的字符,以组成每个所述目标文件的第一聚合哈希值,所述第一预设数量为正整数;
第二聚合单元,用于根据所述第一聚合哈希值将目标文件以聚合的方式存储于第一数量的聚合归置组,其中,所述第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组。
可选的,作为一种可能的实施方式,本发明实施例中,所述第一数量的聚合归置组的ID为所述第一聚合哈希值补零形成预设数位的字符串,所述第一聚合单元可以包括:
计算模块,用于根据所述第二数量计算扩容之后的新聚合归置组的聚合哈希值的字符数量为第三预设数量,所述第三预设数量为大于第一预设数量的正整数;
第一读取模块,用于按照相同的读取规则从所述服务端的存储池中已存储的目标文件的哈希值字符串中读取所述第三预设数量的字符组成第二聚合哈希值;
设置模块,用于将所述第二聚合哈希值补零形成所述预设数位的字符串作为所述第二聚合哈希值对应的目标文件关联的新聚合归置组的ID;
聚合模块,用于将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组,其中,若所述目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将所述目标文件以聚合的方式存储至所述新聚合归置组,否则继续将所述目标文件存储在当前所在的聚合归置组。
可选的,作为一种可能的实施方式,本发明实施例中的所述归类单元包括:
第二读取模块,用于按照相同的读取规则从每个新聚合归置组的第二聚合哈希值中读取第二预设数量的字符,以组成每个聚合归置组的归置哈希值,所述第二预设数量为小于第三预设数量的正整数;
归类模块,用于将归置哈希值相同的聚合归置组归类到同一个归置组。
可选的,作为一种可能的实施方式,本发明实施例中的聚合模块可以包括:
聚合子模块,若所述目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,在预设时间间隔之后再将所述目标文件以聚合的方式存储至所述新聚合归置组。
可选的,作为一种可能的实施方式,本发明实施例中的文件处理系统还可以包括:
第一记录单元,在所述服务端的存储池中的目标文件发生变化之后,记录所述目标文件发生变化之前的存储位置的释放信息;
写入单元,用于在将所述目标文件以聚合的方式存储至所述新聚合归置组之后,将所述目标文件对应的释放信息写入所述新聚合归置组中。
可选的,作为一种可能的实施方式,本发明实施例中的文件处理系统还可以包括:
第一记录单元,用于在所述目标文件的元数据中记录所述服务端的存储池中的当前聚合归置组的数量。
本发明实施例第三方面提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一项所述文件处理方法的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一项所述文件处理方法的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,由于整个处理过程在服务端进行实施,减少了目标文件元数据在客户端与服务端之间的数据跳转,节约了带宽资源。同时,将多个目标文件中第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组中,提高了存储空间的利用率。再次,在接收到扩容指令之后,可以将目标文件以聚合的方式存储于第二数量的新聚合归置组,将聚合归置组的数量由第一数量扩展到第二数量,且扩容的过程中也无需改变所有的目标文件到聚合归置组的映射关系,降低了文件管理的复杂度,提高了文件管理的效率,而且,克服了当前的聚合归置组的数量对归置组扩容的限定,使得归置组可以无限扩容。
附图说明
图1为现有技术中Ceph数据存储系统中数据存储流程示意图;
图2为本发明实施例中一种文件处理方法中扩容之前的聚合归置组与目标文件的映射关系示意图;
图3为本发明实施例中一种文件处理方法的一个实施例示意图;
图4为本发明实施例中一种文件处理方法中归置组扩容过程的一个具体运用实施例示意图;
图5为本发明实施例中一种文件处理系统的一个实施例示意图;
图6为本发明实施例中一种计算机设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种文件处理方法、系统及相关设备,用于提高存储空间利用率,提高文件管理的效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有方案中,当pg内存储的空间达到上限需要扩容时,例如由一个磁盘扩容为两个磁盘,发生扩容分裂会导致聚合失效。聚合失效是指,同一个pg内的文件对象需要与原有的pg分离,导致无法基于原有的逻辑映射关系对文件对象进行操作。尤其是数量庞大的小文件聚合失效时,需要重新建立逻辑上的映射关系,费时费力,操作复杂,存储效率低。
为此,本发明中的文件处理系统可以在服务端对目标文件进行处理,可以将服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,并将第一数量的聚合归置组以预设的规则归类到归置组。
具体的,文件处理系统可以采用预设的哈希算法对服务端的存储池中的目标文件的文件名称字符进行计算,得到目标文件的哈希值字符串其中,需要说明的是,本发明实施例中的目标文件是指文件的大小小于指定阈值的文件对象。然后,按照相同的读取规则从每个目标文件的哈希值字符串中读取第一预设数量的字符组成每个目标文件的第一聚合哈希值,其中,第一预设数量为正整数。然后,根据第一聚合哈希值将目标文件以聚合的方式存储于第一数量的聚合归置组,其中,第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组。
最后,按照相同的读取规则从每个聚合归置组的第一聚合哈希值中读取第二预设数量的字符组成每个聚合归置组的归置哈希值,并将归置哈希值相同的聚合归置组归类到相同的归置组中,采用预设的映射算法将同属一个归置组的聚合归置组中的文件对象关联存储在物理存储介质中。
示例性的,假设目标文件A的哈希值字符串为二进制10000001(实际运用中哈希值字符串的位数可以是64位或其它数位,具体此处不做限定),可以设置以哈希值字符串的后四位作为第一聚合哈希值(即0001)。具体的读取规则此处不做限定,只需要保证所有的目标文件的聚合哈希值读取规则相同即可。还可以设置以第一聚合哈希值的后两位作为归置哈希值(即01),将归置哈希值相同的聚合归置组归类到相同的归置组,采用预设的映射算法将同属一个归置组的聚合归置组中的文件对象关联存储在物理存储介质中。例如映射算法可以是CRUSH(Controlled Replication Under Scalable Hashing)算法或一致性哈希算法(Consistent Hashing)具体的算法此处不做限定。
在实际运用中,随着业务数据的递增,目标归置组原先所属的存储空间的被占用的越来越多,存储空间不够用时,需要对目标归置组所属的存储空间扩容。现有技术中,当目标归置组所属的存储空间扩容时需要将归置组中的所有对象与原有的归置组分离重新进行逻辑映射。为了减少扩容过程中,重新生成逻辑映射的工作量,本发明实施例中,可以将以扩容之前的目标归置组拆分为至少两个归置组,以目标归置组中的聚合归置组为基本单位,将目标归置组的所有聚合归置组归置到归置组中。
示例性的,如图2所示,假设当前归置组ID为01,该归置组内存在聚合归置组00000001、聚合归置组00000101、聚合归置组00001001、聚合归置组00001101,有四个目标文件分别为A(哈希值字符串为10000001)、B(哈希值字符串为01000001)、C(哈希值字符串为10011101)、D(哈希值字符串为10001101),如果取哈希值字符串后四位为聚合哈希值,聚合哈希值的后两位为归置哈希值,则目标文件A、B、C、D均可归置于ID为01的归置组内,且目标文件A与B以聚合的方式存储于聚合归置组00000001内,C与D以聚合的方式存储于聚合归置组00001101内。
当归置组01扩容时,可以直接以其内的聚合归置组为基本单位进行数据重映射,可以将分裂为4个归置组(分别为聚合归置组00000001、聚合归置组00000101、聚合归置组00001001、聚合归置组00001101),对于目标文件A、B、C、D而言,其映射逻辑依然归属于原有的聚合归置组,无需改变目标文件A、B、C、D的元数据,只需要在聚合归置组的存储位置改变之后,统一修改聚合归置组的元数据即可,大大减少了逻辑映射修改的工作量,提高了管理效率。
然而,由于聚合归置组的数量限定,导致在不发生聚合失效的前提下,扩容之后的归置组的数量不能超过原有的聚合归置组的数量(即第一数量)。有鉴于此,有必要对本发明实施例中的文件处理方法进行进一步改进。
为了便于理解,下面对本发明实施例中的具体流程进行进一步描述,请参阅图3,本发明实施例中一种文件处理方法的一个实施例可包括:
301、接收扩容指令,扩容指令用于指示当前聚合归置组数量由第一数量变为第二数量;
实际运用中,当服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,并将第一数量的聚合归置组以预设的规则归类到归置组之后,随着业务数据的递增,往往会出现扩容需求。
需要扩容,且当前的聚合归置组的数量不足时,文件处理系统可以接收扩容指令,该扩容指令可以用于指示当前聚合归置组数量由第一数量变为第二数量。
302、将目标文件以聚合的方式存储于第二数量的新聚合归置组;
为了克服当前的聚合归置组的数量对归置组扩容的限定,文件处理系统可以将服务端的存储池中的目标文件以聚合的方式存储于第二数量的新聚合归置组,其中第二数量为大于第一数量的正整数。
可选的,作为一种可能的实施方式,将目标文件以聚合的方式存储于第二数量的新聚合归置组的步骤可以包括:
根据第二数量计算扩容之后的新聚合归置组的聚合哈希值的字符数量为第三预设数量,第三预设数量为大于第一预设数量的正整数;按照相同的读取规则从服务端的存储池中已存储的目标文件的哈希值字符串中读取第三预设数量的字符组成第二聚合哈希值;将第二聚合哈希值补零形成预设数位的字符串作为第二聚合哈希值对应的目标文件关联的新聚合归置组的ID;将目标文件以聚合的方式存储于第二数量的新聚合归置组,其中,若目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将目标文件以聚合的方式存储至新聚合归置组,否则继续将目标文件存储在当前所在的聚合归置组。
以图2所示的示例为基础进行说明,在扩容之前,第一数量的聚合归置组的ID为第一聚合哈希值补零形成预设数位的字符串(例如目标文件A的第一聚合哈希值0001,则其第一聚合哈希值补零形成预设数位的字符串00000001),可以理解的是此处仅以预设数位为8位进行说明,实际运用中预设数位可以是16位、32位、64位或者其它数位,具体此处不做限定。当扩容指令指示聚合归置组由16个变为32个时,可以确定数量增加16个,对应增加的数位为log232-log216=1位,则第三预设数量为第二预设数量增加1,即第三预设数量为5。此时,目标文件A、B、C、D对应的第二聚合哈希值分别为00001、00001、11101、01101,对应的新聚合归置组的ID分别为:00000001、00000001、00011101、00001101,由此可以看出,目标文件A、B、D的聚合归置组ID并没有改变,而目标文件C需要由当前的聚合归置组00001101内重映射至新聚合归置组00011101。由此可知,即使在发生聚合归置组数量扩容时,也无需改变所有的目标文件到聚合归置组的映射关系,降低了文件管理的复杂度,提高了文件管理的效率。
可选的,作为一种可能的实施方式,在确定需要转移的目标文件之后,可以选择立即执行目标文件重写(以聚合的方式存储至新聚合归置组)的操作,也可以在预设时间间隔之后在执行目标文件以聚合的方式存储至新聚合归置组。其中,间隔预设时间之后再重写,若热数据在预设时间内发生变更,则变更的热数据会直接根据第二聚合哈希值分配聚合归置组,可以避免热数据多次重写,节约了系统资源,同时还可以防止扩容时重写数据过多而导致IO风暴。
303、将第二预设数量的新聚合归置组以预设的规则归类到归置组;
实际运用中,为了减少逻辑操作对象,提高文件对象的管理效率,本发明实施例中,还可以进一步将多个聚合归置组归置到一个逻辑集合中。在将服务端的存储池中的目标文件以聚合的方式存储于第二数量的新聚合归置组之后,文件处理系统可以将第二预设数量的新聚合归置组以预设的规则归类到归置组。
可选的,作为一种可能的实施方式,本发明实施例中的文件处理系统可以按照相同的读取规则从每个新聚合归置组的第二聚合哈希值中读取第二预设数量的字符组成每个聚合归置组的归置哈希值,第二预设数量为小于第三预设数量的正整数。然后,将归置哈希值相同的聚合归置组归类到同一个归置组。
示例性的,以步骤302中的示例为基础,若第二预设数量为2,则可以将聚合归置组新聚合归置组的ID分别为:00000001、00000001、00011101、00001101均归类到归置组01中。
304、采用预设的映射算法将归置组中的文件对象关联存储在同一个物理存储介质中。
采用预设的映射算法将同属一个归置组的聚合归置组中的文件对象关联存储在物理存储介质中。例如,同一个归置组中的聚合归置组可以关联存储在同一个磁盘中,不同归置组存储至不同的物理磁盘上。
具体的映射算法可以是CRUSH(Controlled Replication Under ScalableHashing)算法或一致性哈希算法(Consistent Hashing),或其它数据存储位置映射算法,具体此处不做限定。
本发明实施例中,由于整个处理过程在服务端进行实施,减少了目标文件元数据在客户端与服务端之间的数据跳转,节约了带宽资源。同时,将多个目标文件中第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组中,提高了存储空间的利用率。再次,在接收到扩容指令之后,可以将目标文件以聚合的方式存储于第二数量的新聚合归置组,将聚合归置组的数量由第一数量扩展到第二数量,且扩容的过程中也无需改变所有的目标文件到聚合归置组的映射关系,降低了文件管理的复杂度,提高了文件管理的效率,而且,克服了当前的聚合归置组的数量对归置组扩容的限定,使得归置组可以无限扩容。
在服务端的存储池中的聚合归置组进行扩容时,需要保证业务的不间断。因此,在接收到扩容指令之后,新的IO请求中的目标数据会被直接计算第二聚合哈希值,进而以聚合的方式存储至新的聚合归置组中。然而,扩容过程中,由于新的数据的写入,导致无法区分在扩容指令之前早已写入存储池中的目标数据。
为此,本发明实施例中,在目标文件的元数据中记录当前聚合归置组的数量。结合图3所示的实施例来说,在接收到扩容指令之前已存储的目标文件的元数据中记录的当前聚合归置组的数量为第一数量,在接收到扩容指令之后,文件处理系统可以在存储池中逐一检测每个目标文件的元数据中记载的当前聚合归置组的数量是否为第二数量,若否,则对应的目标文件是以第一聚合哈希值进行聚合,需要按照步骤302中所示的方法计算第二聚合哈希值,并根据第二聚合哈希值确定对应的目标文件是否需要重写。
实际运用中,在服务端的存储池中的聚合归置组进行扩容时,需要保证业务的不间断。扩容过程需要一定的时间,而扩容期间由于用户可能对某些目标文件进行编辑而导致对应的目标文件的原来的存储空间需要释放,然而扩容期间无法同时进行空间释放操作。因此,本发明实施例中,在服务端的存储池中的目标文件发生变化之后,文件处理系统可以记录目标文件发生变化之前的存储位置的释放信息。进一步的,若该释放信息对应的目标文件在扩容过程中与原有的聚合归置组分离,则文件处理系统在将目标文件以聚合的方式存储至新聚合归置组之后,需要将目标文件对应的释放信息写入新聚合归置组中,以便于后续根据预设的业务逻辑处理该释放信息。
为了便于理解,请参阅图4,下面将结合具体的运用实施例对本发明实施例中的文件处理方法进行描述。
在存储池初始化聚合归置组数之后,在每个存储的目标文件的元数据中设置最小聚合归置组数字段(min_cpg_num),同时,该字段的字段值被初始化为当前聚合归置组数。已存储的目标文件的最小聚合归置组数字段中记录旧的聚合归置组数,聚合归置组数没扩容之前,最小聚合归置组数字段值是归置组扩容的上限。
当存储池增加聚合归置组数时,新写的小文件使用当前的聚合归置组数(增加之后的聚合归置组数cpg_num)来计算聚合归置组的映射关系。当后台完成对当前系统的扩容检索和重映射后,最小聚合归置组数被自动设置成当前的聚合归置组数。
具体的,请参阅图4,具体包括如下步骤:当系统探测到cpg_num变化后,即当cpg_num不等于min_cpg_num时,对之后的数据清洗(scrub)过程启动扩容逻辑。检索系统数据,对当前所有小对象进行聚合映射变化的探测。为了能检测到所映射的聚合归置组的变化,本实施例中在小对象(目标文件)聚合时,在在小对象的元数据中记录了当初聚合时的聚合归置组数,因此,当再次清洗时,便可以通过按照新旧聚合归置组数新计算的聚合归置组的变化,如果检测到发生变化,则会计算小对象对应的第二聚合哈希值及新聚合归置组的ID,进而判断该小对象是否需要重定向至新的聚合归置组,如果需要重定向,则重写小对象,即聚合重映射(重新以聚合的方式存储至新聚合归置组)。
其中,被标记为需要重写的小对象,并不一定会立即重写,目的是为了防止大量重写带来的IO风暴。这里本实施例设置了两个选项:1)对象重写延迟时间,当对象的mtime大于该时间后,才进行重写,这里是为了考虑到热数据在再次写入时,会自动按照当前的聚合归置组数进行聚合映射,因此可以避免热数据多余的重写过程。2)强制重写选项,打开强制重写后,聚合需要更改映射的小对象会无条件立即重写,因此可以保证单次数据清洗过程可以修改最小聚合归置组数。
同时,如果需要重定向的小对象关联有释放信息(记录该小对象对应的存储空间是否需要释放),因为释放信息记录对象本身也是按照聚合归置组数做聚合映射,因此其本身可能也会和其关联的聚合对象之间发生分离,因此我们这里把释放信息记录对象的产生时的聚合归置组数记录在记录对象内,当cpg_num变化后,在扩容过程中会将释放信息写入到关联的小对象对应的新聚合对象内。当系统检测到所有小对象及其关联的释放信息记录对象的聚合映射完成重映射后,后台会自动发起最小聚合归置组的变更,变更后,归置组的扩容上限即调整成功。
请参阅图5,本发明实施例还提供了一种文件处理系统,运用于服务端,该服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,第一数量的聚合归置组以预设的规则归类到归置组,该文件处理系统可以包括:
接收单元501,用于接收扩容指令,扩容指令用于指示当前聚合归置组数量由第一数量变为第二数量,第二数量为大于第一数量的正整数;
第一聚合单元502,用于将目标文件以聚合的方式存储于第二数量的新聚合归置组;
归类单元503,用于将第二预设数量的新聚合归置组以预设的规则归类到归置组;
映射单元504,用于采用预设的映射算法将归置组中的文件对象关联存储在同一个物理存储介质中。
本发明实施例中,由于整个处理过程在服务端进行实施,减少了目标文件元数据在客户端与服务端之间的数据跳转,节约了带宽资源。同时,将多个目标文件中第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组中,提高了存储空间的利用率。再次,在接收到扩容指令之后,可以将目标文件以聚合的方式存储于第二数量的新聚合归置组,将聚合归置组的数量由第一数量扩展到第二数量,且扩容的过程中也无需改变所有的目标文件到聚合归置组的映射关系,降低了文件管理的复杂度,提高了文件管理的效率,而且,克服了当前的聚合归置组的数量对归置组扩容的限定,使得归置组可以无限扩容。
可选的,作为一种可能的实施方式,本发明实施例中的文件处理系统还可以包括:
计算单元,用于采用预设的哈希算法对服务端的存储池中的目标文件的文件名称字符进行计算,得到目标文件的哈希值字符串,目标文件的大小小于指定阈值;
读取单元,用于按照相同的读取规则从每个目标文件的哈希值字符串中读取第一预设数量的字符组成每个目标文件的第一聚合哈希值,第一预设数量为正整数;
第二聚合单元,用于根据第一聚合哈希值将目标文件以聚合的方式存储于第一数量的聚合归置组,其中,第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组。
可选的,作为一种可能的实施方式,本发明实施例中,第一数量的聚合归置组的ID为第一聚合哈希值补零形成预设数位的字符串,第一聚合单元可以包括:
计算模块,用于根据第二数量计算扩容之后的新聚合归置组的聚合哈希值的字符数量为第三预设数量,第三预设数量为大于第一预设数量的正整数;
第一读取模块,用于按照相同的读取规则从服务端的存储池中已存储的目标文件的哈希值字符串中读取第三预设数量的字符组成第二聚合哈希值;
设置模块,用于将第二聚合哈希值补零形成预设数位的字符串作为第二聚合哈希值对应的目标文件关联的新聚合归置组的ID;
聚合模块,用于将目标文件以聚合的方式存储于第二数量的新聚合归置组,其中,若目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将目标文件以聚合的方式存储至新聚合归置组,否则继续将目标文件存储在当前所在的聚合归置组。
可选的,作为一种可能的实施方式,本发明实施例中的归类单元包括:
第二读取模块,用于按照相同的读取规则从每个新聚合归置组的第二聚合哈希值中读取第二预设数量的字符组成每个聚合归置组的归置哈希值,第二预设数量为小于第三预设数量的正整数;
归类模块,用于将归置哈希值相同的聚合归置组归类到同一个归置组。
可选的,作为一种可能的实施方式,本发明实施例中的聚合模块可以包括:
聚合子模块,若目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,在预设时间间隔之后再将目标文件以聚合的方式存储至新聚合归置组。
可选的,作为一种可能的实施方式,本发明实施例中的文件处理系统还可以包括:
第一记录单元,在服务端的存储池中的目标文件发生变化之后,记录目标文件发生变化之前的存储位置的释放信息;
写入单元,用于在将目标文件以聚合的方式存储至新聚合归置组之后,将目标文件对应的释放信息写入新聚合归置组中。
可选的,作为一种可能的实施方式,本发明实施例中的文件处理系统还可以包括:
第一记录单元,用于在目标文件的元数据中记录服务端的存储池中的当前聚合归置组的数量。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从功能化的角度对本申请实施例中的文件处理系统进行了描述,下面从硬件处理的角度对本申请实施例中的计算机设备进行描述。
本申请实施例还提供了一种计算机设备,如图6所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。参考图6,计算机设备6包括:存储器610、处理器720以及存储在存储器中并可在处理器上运行的计算机程序。处理器执行计算机程序时实现上述各个文件处理方法实施例中的步骤,例如图3所示的步骤301至304。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本申请实施例中的一些实施例中,处理器用于执行存储器中存储的计算机程序时实现如下步骤:
将服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,第一数量的聚合归置组以预设的规则归类到归置组;
接收扩容指令,扩容指令用于指示当前聚合归置组数量由第一数量变为第二数量,第二数量为大于第一数量的正整数;
将目标文件以聚合的方式存储于第二数量的新聚合归置组;
将第二预设数量的新聚合归置组以预设的规则归类到归置组;
采用预设的映射算法将归置组中的文件对象关联存储在同一个物理存储介质中。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
采用预设的哈希算法对服务端的存储池中的目标文件的文件名称字符进行计算,得到目标文件的哈希值字符串,目标文件的大小小于指定阈值;
按照相同的读取规则从每个目标文件的哈希值字符串中读取第一预设数量的字符组成每个目标文件的第一聚合哈希值,第一预设数量为正整数;
根据第一聚合哈希值将目标文件以聚合的方式存储于第一数量的聚合归置组,其中,第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组。
可选的,本申请的一些实施例中,第一数量的聚合归置组的ID为第一聚合哈希值补零形成预设数位的字符串,处理器还可以用于实现如下步骤:
根据第二数量计算扩容之后的新聚合归置组的聚合哈希值的字符数量为第三预设数量,第三预设数量为大于第一预设数量的正整数;
按照相同的读取规则从服务端的存储池中已存储的目标文件的哈希值字符串中读取第三预设数量的字符组成第二聚合哈希值;
将第二聚合哈希值补零形成预设数位的字符串作为第二聚合哈希值对应的目标文件关联的新聚合归置组的ID;
将目标文件以聚合的方式存储于第二数量的新聚合归置组,其中,若目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将目标文件以聚合的方式存储至新聚合归置组,否则继续将目标文件存储在当前所在的聚合归置组。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
按照相同的读取规则从每个新聚合归置组的第二聚合哈希值中读取第二预设数量的字符组成每个聚合归置组的归置哈希值,第二预设数量为小于第三预设数量的正整数;
将归置哈希值相同的聚合归置组归类到同一个归置组。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
若目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,在预设时间间隔之后再将目标文件以聚合的方式存储至新聚合归置组。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
在服务端的存储池中的目标文件发生变化之后,记录目标文件发生变化之前的存储位置的释放信息;
在将目标文件以聚合的方式存储至新聚合归置组之后,将目标文件对应的释放信息写入新聚合归置组中。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
在目标文件的元数据中记录服务端的存储池中的当前聚合归置组的数量。
本领域技术人员可以理解,图6中示出的结构并不构成对计算机设备的限定,计算机设备6可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如还可以包括输入输出设备、总线等。
所称处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
将服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,第一数量的聚合归置组以预设的规则归类到归置组;
接收扩容指令,扩容指令用于指示当前聚合归置组数量由第一数量变为第二数量,第二数量为大于第一数量的正整数;
将目标文件以聚合的方式存储于第二数量的新聚合归置组;
将第二预设数量的新聚合归置组以预设的规则归类到归置组;
采用预设的映射算法将归置组中的文件对象关联存储在同一个物理存储介质中。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
采用预设的哈希算法对服务端的存储池中的目标文件的文件名称字符进行计算,得到目标文件的哈希值字符串,目标文件的大小小于指定阈值;
按照相同的读取规则从每个目标文件的哈希值字符串中读取第一预设数量的字符组成每个目标文件的第一聚合哈希值,第一预设数量为正整数;
根据第一聚合哈希值将目标文件以聚合的方式存储于第一数量的聚合归置组,其中,第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组。
可选的,本申请的一些实施例中,第一数量的聚合归置组的ID为第一聚合哈希值补零形成预设数位的字符串,处理器还可以用于实现如下步骤:
根据第二数量计算扩容之后的新聚合归置组的聚合哈希值的字符数量为第三预设数量,第三预设数量为大于第一预设数量的正整数;
按照相同的读取规则从服务端的存储池中已存储的目标文件的哈希值字符串中读取第三预设数量的字符组成第二聚合哈希值;
将第二聚合哈希值补零形成预设数位的字符串作为第二聚合哈希值对应的目标文件关联的新聚合归置组的ID;
将目标文件以聚合的方式存储于第二数量的新聚合归置组,其中,若目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将目标文件以聚合的方式存储至新聚合归置组,否则继续将目标文件存储在当前所在的聚合归置组。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
按照相同的读取规则从每个新聚合归置组的第二聚合哈希值中读取第二预设数量的字符组成每个聚合归置组的归置哈希值,第二预设数量为小于第三预设数量的正整数;
将归置哈希值相同的聚合归置组归类到同一个归置组。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
若目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,在预设时间间隔之后再将目标文件以聚合的方式存储至新聚合归置组。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
当服务端的存储池中的目标文件发生变化时,记录目标文件发生变化之前的存储位置的释放信息;
在将目标文件以聚合的方式存储至新聚合归置组之后,将目标文件对应的释放信息写入新聚合归置组中。
可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:
在目标文件的元数据中记录服务端的存储池中的当前聚合归置组的数量。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种文件处理方法,其特征在于,运用于服务端,所述服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,所述第一数量的聚合归置组以预设的规则归类到归置组,所述方法还包括:
接收扩容指令,所述扩容指令用于指示当前聚合归置组数量由所述第一数量变为第二数量,所述第二数量为大于所述第一数量的正整数;
将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组;
将所述第二预设数量的新聚合归置组以预设的规则归类到归置组;
采用预设的映射算法将所述归置组中的文件对象关联存储在同一个物理存储介质中。
2.根据权利要求1所述的方法,其特征在于,所述服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,包括:
采用预设的哈希算法对所述服务端的存储池中的目标文件的文件名称字符进行计算,得到所述目标文件的哈希值字符串,所述目标文件的大小小于指定阈值;
按照相同的读取规则从每个所述目标文件的哈希值字符串中读取第一预设数量的字符,以组成每个所述目标文件的第一聚合哈希值,所述第一预设数量为正整数;
根据所述第一聚合哈希值将目标文件以聚合的方式存储于第一数量的聚合归置组,其中,所述第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组。
3.根据权利要求2所述的方法,其特征在于,所述第一数量的聚合归置组的ID为所述第一聚合哈希值补零形成预设数位的字符串,所述将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组,包括:
根据所述第二数量计算扩容之后的新聚合归置组的聚合哈希值的字符数量为第三预设数量,所述第三预设数量为大于第一预设数量的正整数;
按照相同的读取规则从所述服务端的存储池中已存储的目标文件的哈希值字符串中读取所述第三预设数量的字符组成第二聚合哈希值;
将所述第二聚合哈希值补零形成所述预设数位的字符串作为所述第二聚合哈希值对应的目标文件关联的新聚合归置组的ID;
将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组,其中,若所述目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将所述目标文件以聚合的方式存储至所述新聚合归置组,否则继续将所述目标文件存储在当前所在的聚合归置组。
4.根据权利要求3所述的方法,其特征在于,所述将所述第二预设数量的新聚合归置组以预设的规则归类到归置组,包括:
按照相同的读取规则从每个新聚合归置组的第二聚合哈希值中读取第二预设数量的字符,以组成每个聚合归置组的归置哈希值,所述第二预设数量为小于第三预设数量的正整数;
将归置哈希值相同的聚合归置组归类到同一个归置组。
5.根据权利要求3所述的方法,其特征在于,若所述目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将所述目标文件以聚合的方式存储至所述新聚合归置组,包括:
若所述目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,在预设时间间隔之后再将所述目标文件以聚合的方式存储至所述新聚合归置组。
6.根据权利要求3所述的方法,其特征在于,还包括:
在所述服务端的存储池中的目标文件发生变化之后,记录所述目标文件发生变化之前的存储位置的释放信息;
在将所述目标文件以聚合的方式存储至所述新聚合归置组之后,将所述目标文件对应的释放信息写入所述新聚合归置组中。
7.根据权利要求1至6中任一项所述的方法,其特征在于,还包括:
在所述目标文件的元数据中记录所述服务端的存储池中的当前聚合归置组的数量。
8.一种文件处理系统,其特征在于,运用于服务端,所述服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,所述第一数量的聚合归置组以预设的规则归类到归置组,所述系统包括:
接收单元,用于接收扩容指令,所述扩容指令用于指示当前聚合归置组数量由所述第一数量变为第二数量,所述第二数量为大于所述第一数量的正整数;
第一聚合单元,用于将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组;
归类单元,用于将所述第二预设数量的新聚合归置组以预设的规则归类到归置组;
映射单元,用于采用预设的映射算法将所述归置组中的文件对象关联存储在同一个物理存储介质中。
9.根据权利要求8所述的系统,其特征在于,所述服务端的存储池中的目标文件以聚合的方式存储于第一数量的聚合归置组,包括:
计算单元,用于采用预设的哈希算法对所述服务端的存储池中的目标文件的文件名称字符进行计算,得到所述目标文件的哈希值字符串,所述目标文件的大小小于指定阈值;
读取单元,用于按照相同的读取规则从每个所述目标文件的哈希值字符串中读取第一预设数量的字符组成每个所述目标文件的第一聚合哈希值,所述第一预设数量为正整数;
第二聚合单元,用于根据所述第一聚合哈希值将目标文件以聚合的方式存储于第一数量的聚合归置组,其中,所述第一聚合哈希值相同的目标文件以聚合的方式存储到同一个聚合归置组。
10.根据权利要求9所述的系统,其特征在于,所述第一数量的聚合归置组的ID为所述第一聚合哈希值补零形成预设数位的字符串,所述第一聚合单元包括:
计算模块,用于根据所述第二数量计算扩容之后的新聚合归置组的聚合哈希值的字符数量为第三预设数量,所述第三预设数量为大于第一预设数量的正整数;
第一读取模块,用于按照相同的读取规则从所述服务端的存储池中已存储的目标文件的哈希值字符串中读取所述第三预设数量的字符组成第二聚合哈希值;
设置模块,用于将所述第二聚合哈希值补零形成所述预设数位的字符串作为所述第二聚合哈希值对应的目标文件关联的新聚合归置组的ID;
聚合模块,用于将所述目标文件以聚合的方式存储于所述第二数量的新聚合归置组,其中,若所述目标文件关联的新聚合归置组的ID与当前所在的聚合归置组的ID不相同,则将所述目标文件以聚合的方式存储至所述新聚合归置组,否则继续将所述目标文件存储在当前所在的聚合归置组。
11.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的文件处理方法中的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的文件处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911329642.5A CN111026720B (zh) | 2019-12-20 | 2019-12-20 | 一种文件处理方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911329642.5A CN111026720B (zh) | 2019-12-20 | 2019-12-20 | 一种文件处理方法、系统及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026720A true CN111026720A (zh) | 2020-04-17 |
CN111026720B CN111026720B (zh) | 2023-05-12 |
Family
ID=70211295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911329642.5A Active CN111026720B (zh) | 2019-12-20 | 2019-12-20 | 一种文件处理方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026720B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609195A (zh) * | 2024-01-24 | 2024-02-27 | 济南浪潮数据技术有限公司 | 一种分布式存储系统的对象管理方法、装置及设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015176315A1 (zh) * | 2014-05-23 | 2015-11-26 | 华为技术有限公司 | 哈希连接方法、装置和数据库管理系统 |
CN106302607A (zh) * | 2015-06-05 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用于云计算的块存储系统及方法 |
CN108287660A (zh) * | 2017-01-09 | 2018-07-17 | 中国移动通信集团河北有限公司 | 数据存储方法和设备 |
CN109408590A (zh) * | 2018-09-27 | 2019-03-01 | 青岛海信智能商用系统股份有限公司 | 分布式数据库的扩容方法、装置、设备及存储介质 |
CN109462642A (zh) * | 2018-10-30 | 2019-03-12 | 新华三技术有限公司成都分公司 | 数据处理方法及装置 |
JP2019067304A (ja) * | 2017-10-04 | 2019-04-25 | 株式会社シマント | データベース処理装置、グループマップファイル生産方法及びプログラム |
CN109885535A (zh) * | 2019-01-04 | 2019-06-14 | 平安科技(深圳)有限公司 | 一种文件存储的方法及相关装置 |
-
2019
- 2019-12-20 CN CN201911329642.5A patent/CN111026720B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015176315A1 (zh) * | 2014-05-23 | 2015-11-26 | 华为技术有限公司 | 哈希连接方法、装置和数据库管理系统 |
CN106302607A (zh) * | 2015-06-05 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用于云计算的块存储系统及方法 |
CN108287660A (zh) * | 2017-01-09 | 2018-07-17 | 中国移动通信集团河北有限公司 | 数据存储方法和设备 |
JP2019067304A (ja) * | 2017-10-04 | 2019-04-25 | 株式会社シマント | データベース処理装置、グループマップファイル生産方法及びプログラム |
US20200278980A1 (en) * | 2017-10-04 | 2020-09-03 | Simount Inc. | Database processing apparatus, group map file generating method, and recording medium |
CN109408590A (zh) * | 2018-09-27 | 2019-03-01 | 青岛海信智能商用系统股份有限公司 | 分布式数据库的扩容方法、装置、设备及存储介质 |
CN109462642A (zh) * | 2018-10-30 | 2019-03-12 | 新华三技术有限公司成都分公司 | 数据处理方法及装置 |
CN109885535A (zh) * | 2019-01-04 | 2019-06-14 | 平安科技(深圳)有限公司 | 一种文件存储的方法及相关装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609195A (zh) * | 2024-01-24 | 2024-02-27 | 济南浪潮数据技术有限公司 | 一种分布式存储系统的对象管理方法、装置及设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111026720B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243706B2 (en) | Fragment management method and fragment management apparatus | |
CN107807794B (zh) | 一种数据存储方法和装置 | |
US8843447B2 (en) | Resilient distributed replicated data storage system | |
US10936228B2 (en) | Providing data deduplication in a data storage system with parallelized computation of crypto-digests for blocks of host I/O data | |
US9313270B2 (en) | Adaptive asynchronous data replication in a data storage system | |
CN103763383A (zh) | 一体化云存储系统及其存储方法 | |
US10552089B2 (en) | Data processing for managing local and distributed storage systems by scheduling information corresponding to data write requests | |
US9558206B2 (en) | Asymmetric distributed data storage system | |
US10572335B2 (en) | Metadata recovery method and apparatus | |
US9535619B2 (en) | Enhanced reconstruction in an array of information storage devices by physical disk reduction without losing data | |
CN106201652B (zh) | 一种数据处理方法及虚拟机 | |
WO2016029743A1 (zh) | 一种生成虚拟机的逻辑磁盘的方法,及装置 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
US11409456B2 (en) | Methods to reduce storage capacity | |
CN106844491B (zh) | 一种临时数据的写入、读取方法及写入、读取装置 | |
CN104965835A (zh) | 一种分布式文件系统的文件读写方法及装置 | |
CN113419684B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
WO2019037587A1 (zh) | 一种数据恢复方法及装置 | |
EP4170499A1 (en) | Data storage method, storage system, storage device, and storage medium | |
CN111026720A (zh) | 一种文件处理方法、系统及相关设备 | |
CN110658994B (zh) | 一种基于hdd和ssd混合磁盘阵列的数据处理方法及装置 | |
CN104462148A (zh) | 一种数据存储管理方法及装置 | |
CN111125011B (zh) | 一种文件处理方法、系统及相关设备 | |
US10511665B2 (en) | Efficient resource reclamation after deletion of slice from common file | |
CN111966845A (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 |