数据块在存储设备中存储方法和存储设备的制作方法
【专利摘要】本发明实施例提供的数据块在存储设备中存储方法和存储设备,该存储设备用于将第一数据进行重复数据删除获得第一重复数据删除集合;该存储设备用于将第二数据进行重复数据删除获得第二重复数据删除集合;第一重复数据删除集合包含第一数据在该存储设备中存储的唯一数据块;第二重复数据删除集合包括第二数据在该存储设备中存储的唯一数据块和指针;指针用于引用第一重复数据删除集合中的第一数据块;第一数据块是第二数据的组成部分,并且第一数据块与第二数据在该存储设备中存储的唯一数据块不同;首先判断所述第一数据块的被引用数量;然后当所述被引用数量超过第一阈值时,将所述第一数据块迁移到第三重复数据删除集合中。
【专利说明】数据块在存储设备中存储方法和存储设备
【技术领域】
[0001]本发明实施例涉及数据存储技术,尤其涉及一种数据块在存储设备中存储方法和存储设备。
【背景技术】
[0002]随着信息时代的不断发展,网络中的数据也在急速增长,存储海量数据的同时也随之带来了能源消耗高的问题。重复数据删除技术可以有效的删除数据中的重复部分以减少存储所需空间,多份相同的数据之间会互相引用,由于哈希计算的随机性,为了读取一份数据可能会涉及到磁盘的全面寻址。
[0003]在现有的重复数据删除技术中,将数据被分为多个数据块(Chunk),在存储时不考虑数据块的引用关系,对各个数据块进行哈希计算得到各个数据块的哈希值后将各个数据块随机存储在不同的磁盘或磁带当中,即一份数据的多个数据块存储在较多不同的磁盘或磁带当中,因此,在读取该份数据时,需要对较多的磁盘或磁带上电,导致能源消耗过大。
【发明内容】
[0004]本发明实施例提供的数据块在存储设备中存储方法和存储设备,可以在读取数据时减少读取时需要调用的磁盘,从而可以降低能源消耗。
[0005]第一方面,本发明实施例提供一种数据块在存储设备中存储方法,所述存储设备用于将第一数据进行重复数据删除获得第一重复数据删除集合;所述存储设备用于将第二数据进行重复数据删除获得第二重复数据删除集合;所述第一重复数据删除集合包含所述第一数据在所述存储设备中存储的唯一数据块;所述第二重复数据删除集合包括所述第二数据在所述存储设备中存储的唯一数据块和指针;所述指针用于引用所述第一重复数据删除集合中的第一数据块;其中,所述第一数据块是所述第二数据的组成部分,并且所述第一数据块与所述第二数据在所述存储设备中存储的唯一数据块不同;所述方法包括:
[0006]判断所述第一数据块的被引用数量;
[0007]当所述被引用数量超过第一阈值时,将所述第一数据块迁移到第三重复数据删除
^ 由:? 口卞 O
[0008]结合第一方面,在第一种可能的实现方式中,所述第一重复数据删除集合存储在所述存储设备的第一硬盘中;所述第二重复数据删除集合存储在所述存储设备的第二硬盘中;所述第三重复数据删除集合存储在所述存储设备的第三硬盘中。
[0009]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第三硬盘的数据访问速度大于所述第一硬盘的数据访问数度。
[0010]结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,当所述第一重复数据删除集合的数据块的被引用数量均为I时,关闭所述第一硬盘电源。
[0011]第二方面,本发明实施例提供一种存储设备,所述存储设备用于将第一数据进行重复数据删除获得第一重复数据删除集合;所述存储设备用于将第二数据进行重复数据删除获得第二重复数据删除集合;所述第一重复数据删除集合包含所述第一数据在所述存储设备中存储的唯一数据块;所述第二重复数据删除集合包括所述第二数据在所述存储设备中存储的唯一数据块和指针;所述指针用于引用所述第一重复数据删除集合中的第一数据块;其中,所述第一数据块是所述第二数据的组成部分,并且所述第一数据块与所述第二数据在所述存储设备中存储的唯一数据块不同;所述设备包括:
[0012]判断单元,用于判断所述第一数据块的被引用数量;
[0013]处理单元,用于当所述被引用数量超过第一阈值时,将所述第一数据块迁移到第三重复数据删除集合中。
[0014]结合第二方面,在第一种可能的实现方式中,所述处理单元还用于:将所述第一重复数据删除集合存储在所述存储设备的第一硬盘中;将所述第二重复数据删除集合存储在所述存储设备的第二硬盘中;将所述第三重复数据删除集合存储在所述存储设备的第三硬盘中。
[0015]结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第三硬盘的数据访问速度大于所述第一硬盘的数据访问数度。
[0016]结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述处理单元还用于:当所述第一重复数据删除集合的数据块的被引用数量均为I时,关闭所述第一硬盘电源。
[0017]第三方面,本发明实施例提供一种存储设备,包括中央处理器和存储器;所述中央处理器和所述存储器通过总线通信;所述存储器存储计算机执行指令;所述中央处理器执行所述计算机执行指令,用于执行第一方面所述的任一可能的实现方式。本发明实施例提供的数据块在存储设备中存储方法和存储设备,该存储设备用于将第一数据进行重复数据删除获得第一重复数据删除集合;该存储设备用于将第二数据进行重复数据删除获得第二重复数据删除集合;第一重复数据删除集合包含第一数据在该存储设备中存储的唯一数据块;第二重复数据删除集合包括第二数据在该存储设备中存储的唯一数据块和指针;指针用于引用第一重复数据删除集合中的第一数据块;第一数据块是第二数据的组成部分,并且第一数据块与第二数据在该存储设备中存储的唯一数据块不同;首先判断所述第一数据块的被引用数量;然后当所述被引用数量超过第一阈值时,将所述第一数据块迁移到第三重复数据删除集合中。可以在读取数据时减少读取时需要调用的磁盘,从而可以降低能源消耗。
【专利附图】
【附图说明】
[0018]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本发明实施例提供的数据块在存储设备中存储方法的流程示意图;
[0020]图2为本发明实施例提供的数据块在存储设备中存储方法的效果示意图;
[0021]图3为本发明实施例提供的数据块在存储设备中存储方法的实施场景示意图;
[0022]图4为本发明实施例提供的存储设备的结构示意图。
【具体实施方式】
[0023]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]在介绍本发明实施例提供的技术方案前,先对本发明实施例涉及到的相关的内容以及现有技术进行介绍:
[0025]重复数据删除技术是一种数据缩减技术,通常用于基于磁盘的备份系统,旨在减少存储系统中使用的存储容量。通过删除重复的数据,只保留其中一份,从而消除冗余数据,可对存储容量进行有效优化。通过判断待存储的数据块的指纹,如果备份系统中已经存在相同指纹的数据块,则表明待存储数据块为重复数据块,因此,备份系统不再存储该待存储数据块,只使用指针指向备份系统中相同指纹的数据块。这样,当访问该待存储数据块时,根据指针指向的数据块地址,读取数据块。备份系统中存储的该数据块被指针指向一次,也称为被引用一次,或者称为数据块引用。如果备份系统中不相同指纹的数据块,则存储该数据块。在重复数据删除实现中,通常一个新的数据块写入(备份系统中没有存储相同的数据块)时,该新的数据块的引用次数默认为I。本发明实施例中,存储设备用于实现上述备份系统的功能。
[0026]现有的数据存储方案中,将数据块与数据块的指纹分开存储,该指纹为根据哈希算法为该数据块计算得到的哈希值。将数据块与数据块的指纹分开存储的原因是:在数据块待写入,查找是否存在重复数据块时,不需要查找数据块,根据待写入数据块的指纹查找是否存在相同的指纹即可。现有实现方案中,在数据块下盘存储时并不考虑数据块的引用次数,仅仅将数据块存储在不同的磁盘或磁带当中。在重复数据删除技术的存储场景中,由于重复数据块不保存,则存储的唯一的数据块会被多个数据块引用。在数据读取过程中,被引用次数多的数据块可能会多次被使用,则保存被引用次数多的数据块为频繁上电,或持运转,以满足数据块读取需求。另外,重复数据删除过程中,为了提高重复数据删除效率,会将相同业务产生的数据重删后保存在同一个重复数据删除集合中。如邮件服务器产生的数据,重删除后会保存在同一个重复数据删除集合中。
[0027]本发明实施例提供的数据块在存储设备中存储方法,存储设备用于将第一数据进行重复数据删除获得第一重复数据删除集合;该存储设备用于将第二数据进行重复数据删除获得第二重复数据删除集合;第一重复数据删除集合包含第一数据在该存储设备中存储的唯一数据块;第二重复数据删除集合包括第二数据在该存储设备中存储的唯一数据块和指针;指针用于引用第一重复数据删除集合中的第一数据块;其中,第一数据块是第二数据的组成部分,并且第一数据块与第二数据在该存储设备中存储的唯一数据块不同;如图1所示,该方法包括:
[0028]S101、判断第一数据块的被引用数量。
[0029]示例性的,可以判断第一数据块的指纹信息也即哈希值的引用次数,具体的判断过程可以参照现有技术。
[0030]S102、当该被引用数量超过第一阈值时,将第一数据块迁移到第三重复数据删除^ 由:? 口卞 O
[0031]示例性的,假设第一阈值为20,当第一数据块的哈希值的引用次数大于20时,将第一数据块迁移到第三重复数据删除集合中。
[0032]一种实现方式,可以将第一重复数据删除集合存储在存储设备的第一硬盘中;将第二重复数据删除集合存储在存储设备的第二硬盘中;将第三重复数据删除集合存储在存储设备的第三硬盘中。第三硬盘的数据访问速度大于第一硬盘的数据访问数度。当第一重复数据删除集合的数据块的被引用数量均为I时,关闭第一硬盘电源。这样,根据重复数据删除集合中数据块被引用次数,确定不同存储介质的硬盘。这样,可以使存储数据块被引次数较高的重复数据删除集合的硬盘保持上电,而将存储数据块被引次数较低的重复数据删除集合的硬盘下电。可以达到节能的目的。
[0033]另外,需要说明的是,上述实施例中的第一重复数据删除集合、第二重复数据删除集合、第三重复数据删除集合只是为了区分不同的数据集合,并不是对数据集合进行编号,同时,第一数据、第二数据以及第一数据块只是为了区分不同的数据。
[0034]为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,结合图2对本发明的实施例提供的数据块在存储设备中存储方法进行详细说明:
[0035]示例性的,假设有五种数据,例如,五种数据分别来自文件服务器、邮件服务器、数据库服务器、虚拟桌面服务器和网站服务器。在将每种数据中的数据块写入硬盘时,需要先经过重复数据删除的步骤得到每种数据对应的重复数据删除集合,然后将每份数据对应的重复数据删除集合存储在对应的硬盘中。通常,来自相同服务器的数据重复率更高,因此,将来处同一个服务器的数据进行重复数据删除,并将重复数据删除后得到的数据块保存到同一个重复数据删除集合,但在查找重复数据块时,则查找存储的所有数据块的指令,而不限于来自某一特定服务器的数据块的指纹。其中,对每种数据中的数据块,在进行重复数据删除时,将(例如哈希值)在已存储的数据块的指纹信息库中查找数据块的指纹,如果在已存储的数据块的指纹信息库中没有发现相同的指纹,则将该数据块存储在相应的重复数据删除集合中,如果在已存储的数据块的指纹信息库中发现该数据块的指纹,则为该数据块生成一个指针指用已经存储的相同的数据块,并将该指针存储在相应的重复数据删除集合中,同时将该已存储的数据块的引用数量加I。其中,该指针用于将该数据块与该已存储的数据块进行关联。需要说明的是,上一实施例中的第一数据和第二数据可以理解为该五种数据中的任意两种不同的数据,一种数据对应的重复数据删除集合中包括有该份数据中的唯一数据块以及重复数据块的指针。
[0036]如图2所示,上述种份数据的重复数据删除集合为:存储在硬盘C的重复数据删除集合(简称为数据集合,用DS表示)1、存储在硬盘D的DS2、存储在硬盘E的DS3、存储在硬盘F的DS4以及存储在硬盘G的DS5。其中,上述实施例中的第一重复数据删除集合和第二重复数据删除集合可以是上述5个DS中的任意两个。前述各个DS中分别存储了唯一数据块以及指针。重复的数据块不再存储,用指针指向已经存储的唯一数据块,或者说引用已经存储的唯一的数据块。已经存储的唯一数据块可以存储在同一个DS中,也可以存储在不同的DS中。如果第一数据中的数据块Ia为重复的数据块,并且已经存储的唯一数据块Ia则在DS3中,DSl中存储指针,用于指向DS3中数据块la。DS3中的数据块la(即上述实施例中的第一数据块)被DSl中的数据块的指针引用的数量大于阈值20,将数据块Ia迁移出来构成DS6 (即上述实施例中的第三重复数据删除集合),并将DS6存储在硬盘B (即上述实施例中的第三硬盘)中。同理,判断其他DS中数据块被引用的次数以决定数据块是否迁移到新的DS中。同理当DS2中的数据块2a被DS5中指针引用的次数大于阈值20,DS5中的数据块5a被DS2中的指针引次的次数大于阈值20,则将数据块2a、5a迁移出来构成DS7(即上述实施例中的第三重复数据删除集合),并将DS7存储在硬盘H (即上述实施例中的第三硬盘);同理,根据DS6和DS7中指针的引用次数可以决定是否将DS6和DS7中的数据块是否迁移到新的DS中。
[0037]一种实现方式,图2中的硬盘A、B和H的数据访问速度大于硬盘C、D、E、F、G的访问速度,硬盘C、D、E、F、G可以关闭电源。通过图2可以发现,如果要读取DSl的完整的数据则只需要加载硬盘A、B和C,如果要读取DS2的数据,只需要加载硬盘A、H和D。
[0038]另外,图3为本发明实施例一个可能的实施场景图,其中,分别来自邮件服务器、数据库服务器以及文件服务器的备份数据,比如存储设备将邮件服务器的备份数据进行重复数据删除后得到的数据作为DS1,将存储设备数据库服务器的备份数据进行重复数据删除后得到的数据作为DS2,将存储设备文件服务器的备份数据进行重复数据删除后得到的数据作为DS3,DS1、DS2以及DS3的数据存储在临时存储区,然后按照上述实施例中的技术方案将DS1、DS2以及DS3中的数据块存储到硬盘中。
[0039]本发明实施例提供的存储设备00,存储设备用于将第一数据进行重复数据删除获得第一重复数据删除集合;存储设备用于将第二数据进行重复数据删除获得第二重复数据删除集合;第一重复数据删除集合包含第一数据在存储设备中存储的唯一数据块;第二重复数据删除集合包括第二数据在存储设备中存储的唯一数据块和指针;指针用于引用第一重复数据删除集合中的第一数据块;其中,第一数据块是第二数据的组成部分,并且第一数据块与第二数据在存储设备中存储的唯一数据块不同;如图4所示,该设备00包括:
[0040]判断单元10,用于判断第一数据块的被引用数量。
[0041]处理单元20,用于当被引用数量超过第一阈值时,将第一数据块迁移到第三重复数据删除集合中。
[0042]本实施例用于实现上述方法实施例,本实施例中各个单元的工作流程和工作原理参见上述方法实施例中的描述,在此不再赘述。
[0043]本发明实施例提供一种存储设备,包括中央处理器和存储器;所述中央处理器和所述存储器通过总线通信;所述存储器存储计算机执行指令;所述中央处理器执行所述计算机执行指令,用于实现上述方法实施例。本发明实施例中的硬盘,具体实现中,可以指物理硬盘,也可以为逻辑硬盘,即逻辑单元,或者卷等,本发明实施例对此不作限定。同时本发明实施例中用到的C盘等类似的表述方式,并不限定C盘为一块盘。
[0044]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0045]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种数据块在存储设备中存储方法,其特征在于,所述存储设备用于将第一数据进行重复数据删除获得第一重复数据删除集合;所述存储设备用于将第二数据进行重复数据删除获得第二重复数据删除集合;所述第一重复数据删除集合包含所述第一数据在所述存储设备中存储的唯一数据块;所述第二重复数据删除集合包括所述第二数据在所述存储设备中存储的唯一数据块和指针;所述指针用于引用所述第一重复数据删除集合中的第一数据块;其中,所述第一数据块是所述第二数据的组成部分,并且所述第一数据块与所述第二数据在所述存储设备中存储的唯一数据块不同;所述方法包括: 判断所述第一数据块的被引用数量; 当所述被引用数量超过第一阈值时,将所述第一数据块迁移到第三重复数据删除集合中。
2.根据权利要求1所述的方法,其特征在于,所述第一重复数据删除集合存储在所述存储设备的第一硬盘中;所述第二重复数据删除集合存储在所述存储设备的第二硬盘中;所述第三重复数据删除集合存储在所述存储设备的第三硬盘中。
3.根据权利要求2所述的方法,其特征在于,所述第三硬盘的数据访问速度大于所述第一硬盘的数据访问数度。
4.根据权利要求2所述的方法,其特征在于,当所述第一重复数据删除集合的数据块的被引用数量均为I时,关闭所述第一硬盘电源。
5.一种存储设备,其特征在于,所述存储设备用于将第一数据进行重复数据删除获得第一重复数据删除集合;所述存储设备用于将第二数据进行重复数据删除获得第二重复数据删除集合;所述第一重复数据删除集合包含所述第一数据在所述存储设备中存储的唯一数据块;所述第二重复数据删除集合包括所述第二数据在所述存储设备中存储的唯一数据块和指针;所述指针用于引用所述第一重复数据删除集合中的第一数据块;其中,所述第一数据块是所述第二数据的组成部分,并且所述第一数据块与所述第二数据在所述存储设备中存储的唯一数据块不同;所述设备包括: 判断单元,用于判断所述第一数据块的被引用数量; 处理单元,用于当所述被引用数量超过第一阈值时,将所述第一数据块迁移到第三重复数据删除集合中。
6.根据权利要求5所述的设备,其特征在于,所述处理单元还用于:将所述第一重复数据删除集合存储在所述存储设备的第一硬盘中;将所述第二重复数据删除集合存储在所述存储设备的第二硬盘中;将所述第三重复数据删除集合存储在所述存储设备的第三硬盘中。
7.根据权利要求6所述的设备,其特征在于,所述第三硬盘的数据访问速度大于所述第一硬盘的数据访问数度。
8.根据权利要求6所述的设备,其特征在于,所述处理单元还用于:当所述第一重复数据删除集合的数据块的被引用数量均为I时,关闭所述第一硬盘电源。
9.一种存储设备,其特征在于,包括:中央处理器和存储器;所述中央处理器和所述存储器通过总线通信;所述存储器存储计算机执行指令;所述中央处理器执行所述计算机执行指令,用于执行权利要求1-4任一所述的方法。
【文档编号】G06F3/06GK104298614SQ201410526254
【公开日】2015年1月21日 申请日期:2014年9月30日 优先权日:2014年9月30日
【发明者】李育国 申请人:华为技术有限公司