存储碎片整理方法及装置与流程

文档序号:11063886阅读:611来源:国知局
存储碎片整理方法及装置与制造工艺

本发明涉及存储系统管理技术领域,特别涉及一种存储碎片整理方法。



背景技术:

现有的存储碎片整理技术,是将逻辑上连续而物理上没有连续存放的数据,通过移动数据存放到物理上的连续区域内,消除存储碎片,从而提高数据读取速度,降低存储系统能耗,并且防止存储碎片的进一步产生。

然而,在移动数据过程中,如果发生系统意外中断,没有办法在系统重启后恢复到中断点继续整理。更糟糕的是,系统的意外中断可能造成数据损坏。尤其企业级的存储系统碎片整理,耗时巨大,数据敏感性很高,一旦整理过程发生意外中断,轻则造成前面的整理工作白做,重者造成数据损坏,给企业带来巨大损失。所以一般企业级存储系统不敢做碎片整理,任由碎片产生、蔓延,造成数据读写性能日趋下降,系统能耗日趋增高。



技术实现要素:

本发明实施例所要解决的一个技术问题是:整理存储碎片时在数据移动过程中由于系统意外中断造成的无法从断点恢复或数据损坏的问题,以使得企业级存储系统也可以进行碎片整理。

根据本发明实施例的一个方面,提供的一种存储碎片整理方法,包括:对存储碎片进行模拟整理;根据模拟整理的结果生成快照,快照包括各个整理步骤、每个整理步骤中数据块和存放数据块的存储块之间的对应关系、以及每个整理步骤的完成标记;根据快照对存储碎片 进行整理。

根据快照对存储碎片进行整理包括:在整理存储碎片的过程中如果发生中断,根据快照记录的各个整理步骤的完成标记确定断点,根据快照将存储碎片的整理进度回滚到断点的前一整理步骤,并从断点处继续对存储碎片进行整理。

根据本发明实施例的另一个方面,提供的一种存储碎片整理装置,包括:模拟整理单元,用于对存储碎片进行模拟整理;快照生成单元,用于根据模拟整理的结果生成快照,快照包括各个整理步骤、每个整理步骤中数据块和存放数据块的存储块之间的对应关系、以及每个整理步骤的完成标记;碎片整理单元,用于根据快照对存储碎片进行整理。

碎片整理单元用于:在整理存储碎片的过程中如果发生中断,根据快照记录的各个整理步骤的完成标记确定断点,根据快照将存储碎片的整理进度回滚到断点的前一整理步骤,并从断点处继续对存储碎片进行整理。

本发明通过对存储碎片进行模拟整理,并生成相应的快照,然后按照快照对存储碎片进行整理,在数据移动过程中,即使发生意外中断,利用快照通过回滚技术可以解决数据损坏问题,并且可以从中断点继续进行碎片整理,从而使得企业级存储系统也可以放心地进行碎片整理。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出根据本发明存储碎片整理方法的一个实施例的流程示 意图。

图2A示出根据本发明存储碎片整理方法的另一个实施例的流程示意图。

图2B示出根据本发明用于存储碎片整理工作的一个快照示意图。

图3A示出根据本发明存储碎片整理方法的又一个实施例的流程示意图。

图3B示出本发明一个应用实施例在碎片整理前的数据存储情况示意图。

图3C示出前述应用实施例在碎片整理过程中发生意外中断的情况。

图3D示出前述应用实施例用于修复数据的快照示意图。

图3E示出前述应用实施例修复错误后的数据存储情况示意图。

图4示出根据本发明存储碎片整理装置的一个实施例的结构示意图。

图5示出根据本发明存储碎片整理装置的另一个实施例的结构示意图。

图6示出根据本发明存储碎片整理装置的又一个实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面参考图1描述本发明一个实施例的存储碎片整理方法。

图1示出根据本发明存储碎片整理方法的一个实施例的流程示意图。如图1所示,该实施例的方法包括:

步骤S102,对存储碎片进行模拟整理。模拟整理的方法和过程完全和实际整理一致,但并不对数据进行实际迁移。

步骤S104,根据模拟整理的结果生成快照,快照包括各个整理步骤、每个整理步骤中数据块和存放数据块的存储块之间的对应关系、以及每个整理步骤的完成标记。

例如,参考图2B,上述快照可以包括4列:第一列为步骤号,实际整理时一次数据移动为完成一步;第二列为存储块号,是物理存储块的标记,对应于操作系统层面或存储管理系统层面的存储介质块;第三列为数据块号,通过编号记录、追踪物理存储块的存储数据的变动;第四列为各个整理步骤的完成标记,可以记录完成到哪一步骤。

此外,快照可以存放在无需进行碎片整理的存储卷中,这样可以避免快照的内容被损坏。

步骤S106,根据快照对存储碎片进行整理。

下面参考图2A描述本发明根据快照对存储碎片进行整理的过程。

图2A示出根据本发明存储碎片整理方法的另一个实施例的流程示意图。如图2所示,本实施例的方法包括:

步骤S102,对存储碎片进行模拟整理。

步骤S104,根据模拟整理的结果生成快照。

步骤S2052,可选的,判断是否进行了写操作。如果进行了写操作,则执行步骤S2054,如果没有写操作,执行步骤S2062。

步骤S2054,根据写操作对快照进行修改,从而保证快照能够准确反映存储碎片的最新状况,以利于迁移工作的顺利进行。修改完成之后,再继续进行后续的整理步骤,例如步骤S2062。

步骤S2062,根据快照记录的数据块和存放数据块的存储块之间的对应关系,按照整理步骤的顺序将数据块迁移到对应的存储块。

步骤S2064,迁移成功后,将该整理步骤的完成标记修改为已完成。

步骤S208,判断是否已经完成存储碎片的整理工作,如果已经完成,则流程结束,如果还未完成,则返回步骤S2052继续执行。

下面结合一个应用示例描述上述存储碎片的整理过程。

图2B示出用于存储碎片整理工作的一个快照示例。如图2B所示,某一串数据由3个数据块组成,分别为数据块a、数据块b、数据块c,第0步的记录信息为整理开始前的存储信息,此时数据块a、b、c分别存放在存储块3、5、32上,物理上不连续;第1步进行一步数据移动,将数据块b移动到存储块4,若顺利完成第1步的数据移动,则可以标记为ok,表示已完成;第2步再进行下一步数据移动,将c数据块移动到5存储块,从而a、b、c数据库存放到连续的3、4、5物理存储块上,完成碎片整理。

下面参考图3A描述本发明对存储碎片进行整理过程中发生中断的处理情形。

图3A示出根据本发明存储碎片整理方法的另一个实施例的流程示意图。如图3A所示,本实施例的方法包括:

步骤S302,根据快照记录的各个整理步骤的完成标记确定断点。

步骤S304,根据快照将存储碎片的整理进度回滚到断点的前一整理步骤。

然后,从断点处继续对存储碎片进行整理。继续整理的过程可以参考步骤S2052~步骤S208,这里不再赘述。

对于不同的操作系统和存储系统,碎片整理的流程和技术方案完全一致,但快照的内容根据系统的不同而有细节的不同。以Windows系统举例,Windows系统下的硬盘分为磁道和簇,同一磁道相邻的簇为连续的存储区域,彼此通过指针连接。下面结合一个Windows系统整理存储碎片的过程,来说明碎片整理过程中的中断处理过程。

如图3B所示,在碎片整理前,数据“中国好声音”由3个数据块a“中国”、数据块b“好”和数据块c“声音”组成,数据块a、数据块b和数据块c存放在3个硬盘簇中,分别存放在硬盘簇1、硬盘簇5和硬盘簇3。硬盘簇1、硬盘簇5和硬盘簇3不在同一个磁道中,因而存在数据碎片。

如图3C所示,在数据碎片的整理过程中,需要将数据块b记录 的数据“好”从硬盘簇5复制到硬盘簇2。复制完成后,硬盘簇5中的数据并不删除,只标志空闲,系统进行回收;同时,系统需要将硬盘簇1的指针更新为指向硬盘簇2,假设将硬盘簇2的指针更新为指向硬盘簇3时,系统意外中断,则硬盘簇2指针发生错误,数据“声音”丢失。

此时,可以利用本发明的方法查找快照,用于修改数据的快照参考图3D所示,根据完成标识确定断点的位置位于步骤6,最近成功的步骤为步骤5,于是回滚到步骤5,以修复错误。此时,参考图3E所示的修改错误后的情况,硬盘簇2的数据虽然还存在,但是已经标志为空闲,系统进行回收。回滚到步骤5后,“声音”2字找回,系统继续根据快照进行碎片整理。

上述方法可以使得数据移动过程中,即使系统意外中断造成数据损坏的问题,仍可以使得碎片整理过程可以从中断点继续进行,从而使得企业级存储系统也可以进行碎片整理。

下面参考图4描述本发明存储碎片整理装置的一个实施例的结构。

图4示出根据本发明存储碎片整理装置的一个实施例的结构示意图。如图4所示,该实施例的碎片整理装置400包括:

模拟整理单元402,用于对存储碎片进行模拟整理;

快照生成单元404,用于根据模拟整理的结果生成快照,快照包括各个整理步骤、每个整理步骤中数据块和存放数据块的存储块之间的对应关系、以及每个整理步骤的完成标记;

碎片整理单元406,用于根据快照对存储碎片进行整理。

碎片整理单元406还可以用于:在整理存储碎片的过程中如果发生中断,根据快照记录的各个整理步骤的完成标记确定断点,根据快照将存储碎片的整理进度回滚到断点的前一整理步骤,并从断点处继续对存储碎片进行整理。

碎片整理单元406还可以进一步用于:根据快照记录的数据块和存放数据块的存储块之间的对应关系,按照整理步骤的顺序将数据块 迁移到对应的存储快,迁移成功后,将该整理步骤的完成标记修改为已完成。

下面参考图5描述本发明存储碎片整理装置的另一个实施例的结构。

图5示出根据本发明存储碎片整理装置的另一个实施例的结构示意图。如图5所示,该实施例的碎片整理装置500还包括:

判断单元508和快照修改单元510,其中判断单元508用于在根据快照对存储碎片进行整理之前,判断是否进行了写操作,如果进行了写操作,快照修改单元510根据写操作对快照进行修改。

下面参考图6描述本发明存储碎片整理装置的又一个实施例的结构。

图6示出根据本发明存储碎片整理装置的又一个实施例的结构示意图。如图6所示,该实施例的碎片整理装置600还包括存储单元612无需进行碎片整理,用于存放快照。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1