数据处理方法和装置制造方法

文档序号:6512350阅读:123来源:国知局
数据处理方法和装置制造方法
【专利摘要】本申请实施例提供了一种数据处理方法和装置,所述方法包括:检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,所述第一存储块是将数据存储空间划分确定的;判断所述脏数据所属的第一存储块在第一位图中的对应位置是否设置有脏数据标识;若否,将所述脏数据所属的第一存储块在第一位图中的对应位置设置脏数据标识,并将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述第二存储块的第二位图;若是,确定为所述脏数据所属的第一存储块建立的第二位图,并将所述脏数据所属的第二存储块在第二位图中的对应位置设置脏数据标识。通过本申请实施例,节省了脏数据标记占用的资源。
【专利说明】数据处理方法和装置
【技术领域】
[0001]本申请涉及数据处理【技术领域】,更具体的说是涉及一种数据处理方法和装置。
【背景技术】
[0002]脏数据是指没有进行过预处理而直接接收到的、处于原始状态的数据,或者不完整、含噪声、不一致的数据,或者不在给定的范围内或对于实际业务毫无意义,或是格式非法,以及在源系统中存在不规范的编码和含糊的业务逻辑的数据。比如,在缓存中还未写到磁盘中的数据;在复制操作中,系统下发至源设备,未来得及进行复制的数据等。
[0003]为了能够实现数据的正常处理,需要对脏数据进行标记,以能够快速识别并处理脏数据,比如在复制操作中,需要对源设备中的脏数据进行标记,以方便识别出脏数据并将其复制到镜像设备中。
[0004]现有的脏数据标记方法,仍以复制操作中的脏数据为例,通常是将源设备的存储空间划分为预定容量的存储块,采用位图索引方式索引不同的存储块,位图是利用位数组表示的一个集合,每一存储块对应位图中的不同位置,若存储块存储脏数据,则在该存储块在位图中的相应位置设置脏数据标识,例如可以采用位值“ I ”表示脏数据标识。
[0005]但是,发明人在研究中发现,现有的这种方法,为了减少数据识别和处理时的处理开销,通常存储空间划分的存储块较小,这就导致位图占用的空间较大,资源消耗较大。

【发明内容】

[0006]本申请提供了一种数据处理方法和装置,用以解决现有技术中脏数据标记,导致资源消耗较大的技术问题。
[0007]为实现上述目的,本申请提供如下技术方案:
[0008]第一方面,提供了一种数据处理方法,包括:
[0009]检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,所述至少两个第一预定容量的第一存储块是将数据存储空间划分确定的;
[0010]判断所述脏数据所属的第一存储块在所述第一位图中的对应位置是否设置有脏数据标识;
[0011]若否,将所述脏数据所属的第一存储块在所述第一位图中的对应位置设置脏数据标识,并将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述至少两个第二预定容量的第二存储块的第二位图;
[0012]若是,确定为所述脏数据所属的第一存储块建立的第二位图,所述第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块;将所述脏数据所属的第二存储块在所述第二位图中的对应位置设置脏数据标识。
[0013]在所述第一方面的第一种可能实现方式中,所述方法还包括:
[0014]判断各个第二位图中脏数据标识的数量是否满足预设条件;[0015]若是,则将满足所述预设条件的第二位图删除。
[0016]结合所述第一方面或所述第一方面的第一种可能实现方式,还提供了所述第一方面的第二种可能实现方式,所述方法还包括:
[0017]将设置有脏数据标识的第二位图对应的第二存储块存储的数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的数据,进行处理。
[0018]结合所述第一方面或所述第一方面的第一种可能实现方式,还提供了所述第一方面的第三种可能实现方式所述确定为所述脏数据所属的第一存储块建立的第二位图,并将所述脏数据所属的第二存储块在所述第二位图中的对应位置设置脏数据标识包括:
[0019]判断所述脏数据所属的第一存储块是否存在建立的第二位图;
[0020]若是,确定为所述脏数据所属的第一存储块建立的所述第二位图,并将所述脏数据所属的第二存储块在第二位图中的对应位置设置脏数据标识;
[0021 ] 若否,返回所述检测到脏数据时的步骤继续执行。
[0022]结合所述第一方面或所述第一方面的上述任一种可能实现方式,还提供了所述第一方面的第四种可能实现方式,所述数据存储空间为源设备存储空间,所述脏数据为所述源设备中未复制到镜像设备中的数据;
[0023]所述检测到脏数据具体是检测到系统下发数据至源设备,则确定所述数据为脏数据。
[0024]结合所述第一方面的第四种可能实现方式,还提供了所述第一方面的第五种可能实现方式,所述将设置有脏数据标识的第二位图对应的第二存储块存储的脏数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的脏数据,进行处理包括:
[0025]将设置有脏数据标识的第二位图对应的第二存储块存储的脏数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的脏数据,复制到所述镜像设备中。
[0026]第二方面,提供了一种数据处理装置,包括:
[0027]数据检测单元,用于检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,所述至少两个第一预定容量的第一存储块是将数据存储空间划分确定的;
[0028]标识判断单元,用于判断所述脏数据所属的第一存储块在所述第一位图中的对应位置是否设置有脏数据标识;
[0029]第一标识设置单元,用于当所述标识判断单元结果为否时,将所述脏数据所属的第一存储块在所述第一位图中的对应位置设置脏数据标识;
[0030]位图建立单元,用于将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述至少两个第二预定容量的第二存储块的第二位图;
[0031]第二标识设置单元,用于当所述标识判断单元结果为是时,确定为所述脏数据所属的第一存储块建立的第二位图,所述第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块;将所述脏数据所属的第二存储块在所述第二位图中的对应位置设置脏数据标识。[0032]在所述第二方面的第一种可能实现方式中,还包括:
[0033]数量判断单元,用于判断各个第二位图中脏数据标识的数量是否满足预设条件;
[0034]删除单元,用于将满足所述预设条件的第二位图删除。
[0035]结合所述第二方面或所述第二方面的第一种可能实现方式,还提供了所述第二方面的第二种可能实现方式,还包括:
[0036]处理单元,用于将设置有脏数据标识的第二位图对应的第二存储块存储的数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的数据,进行处理。
[0037]结合所述第二方面或所述第二方面的第一种可能实现方式,还提供了所述第二方面的第三种可能实现方式,所述第二标识设置单元包括:
[0038]位图判断单元,用于判断所述脏数据所属的第一存储块是否存在建立的第二位图,若否,触发所述数据检测单元;
[0039]第二标识设置子单元,用于当所述位图判断单元结果为是时,确定为所述脏数据所属的第一存储块建立的所述第二位图,并将所述脏数据所属的第二存储块在所述第二位图中的对应位置设置脏数据标识。
[0040]结合所述第二方面或所述第二方面的上述任一种可能实现方式,还提供了所述第二方面的第四种可能实现方式,所述数据存储空间为源设备存储空间,所述脏数据为所述源设备中未复制到镜像设备中的数据;
[0041]所述数据检测单元检测到脏数据具体是检测到系统下发数据至源设备,若是,确定所述数据为脏数据。
[0042]结合所述第二方面的第四种可能实现方式,还提供了所述第二方面的第五种可能实现方式,所述处理单元具体用于将设置有脏数据标识的第二位图对应的第二存储块存储的脏数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的脏数据,复制到所述镜像设备中。
[0043]综上,本申请提供了一种数据处理方法和装置,当检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,并判断该脏数据所属第一存储块在第一位图中的对应位置是否设置有脏数据标识,若否,则将其设置脏数据标识,并将该第一存储块划分出至少两个第二预定容量的第二存储块,建立索引第二存储块的第二位图;若是,则将该脏数据所属第二存储块在第二位图中的对应位置设置脏数据标识,第一预定容量可以选用较大的容量,且只在第一存储块存在脏数据标识时,再划分第二存储块建立第二位图进行标记,既保证了数据识别处理时的数据量,减少了处理开销,同时减少了位图占用的资源。
【专利附图】

【附图说明】
[0044]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0045]图1为本申请实施例提供的一种数据处理方法一个实施例的流程图;[0046]图1a为本申请实施例中的一种第一位图的示意图;
[0047]图2为本申请实施例提供的一种数据处理方法另一个实施例的流程图;
[0048]图3为本申请实施例提供的一种数据处理方法又一个实施例的流程图;
[0049]图4为本申请实施例提供的一种数据处理装置一个实施例的结构示意图;
[0050]图5为本申请实施例提供的一种数据处理装置另一个实施例的结构示意图;
[0051]图6为本申请实施例提供的一种计算设备一个实施例的结构示意图。
【具体实施方式】
[0052]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0053]本申请实施例的主要思想之一可以包括:
[0054]检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,并判断该脏数据所属第一存储块在第一位图中的对应位置是否设置有脏数据标识,若否,则将其设置脏数据标识,并将该第一存储块划分出至少两个第二预定容量的第二存储块,建立索引第二存储块的第二位图;若是,则将该脏数据所属第二存储块在第二位图中的对应位置设置脏数据标识,第一预定容量可以选用较大的容量,且只在第一存储块存在脏数据标识时,再划分第二存储块建立第二位图进行标记,既保证了数据识别处理时的数据量,减少了处理开销,同时减少了位图占用的资源。
[0055]图1为本申请实施例提供的一种数据处理方法一个实施例的流程图,该方法可以包括以下几个步骤:
[0056]101:检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图。
[0057]其中,所述至少两个第一预定容量的第一存储块为将数据存储空间划分确定的。
[0058]本实施例中,预先将数据存储空间进行划分,划分出至少两个第一预定容量的第一存储块,并建立至少两个第一存储块对应的第一位图。位图是指利用位数组表示的一个集合,用于索引不同的存储块,其中划分出的第一存储块的数量可以与第一预定容量和数据存储空间总容量有关。
[0059]不同存储块对应第一位图中的不同位置,使得每一个第一存储块对应第一位图的一位,占用一个字节。
[0060]需要说明的是,本申请实施例中将数据存储空间进行划分只是逻辑上的划分,并不是物理上的划分。
[0061]数据存储空间是指用于存储数据的磁盘等存储介质的内存空间。
[0062]该第一预定容量可以设定一个较大的值,从而可以预先将数据存储空间粗略的划分出几个较大存储容量的存储块。
[0063]例如,对于能够存储ITB (Terabyte,万亿字节)数据的磁盘,第一预定容量可以设定为2MB (Megabyte,兆字节),即第一位图中的每一位代表2MB的第一存储块。
[0064]检测到脏数据时,即查询该预先建立的该第一位图。[0065]该脏数据可以是没有进行过预处理而直接接收到的、处于原始状态的数据,或者不完整、含噪声、不一致的数据,或者不在给定的范围内或对于实际业务毫无意义,或是格式非法,以及在源系统中存在不规范的编码和含糊的业务逻辑的数据等。
[0066]102:判断所述脏数据所属的第一存储块在第一位图中的对应位置是否设置有脏数据标记;若否,执行步骤103,若是,执行步骤105。
[0067]数据是按照存储地址进行存储,每一第一存储块对应不同的存储地址,因此根据该脏数据的LBA(Logical Block Address,逻辑区块地址),可以确定其所属的第一存储块,从而可以对应找到存储块在第一位图中的对应位置,并判断该对应位置处是否设置有脏数据标识,该脏数据标识可以作为该对应位置处的位值。
[0068]脏数据标识是用于区分第一存储块中存储有脏数据,可以用位值“I”表示,数值“O”则可以表示未存储脏数据,因此判断对应位置处是否设置有脏数据标识可以具体是判断对应位置处的位值是否为I。
[0069]如图1a所示为本申请实施例中一种第一位图的示意图,假设该第一位图的容量为16字节,占用16比特的资源,对应16个第一存储块,第一位图中位值为I的位置对应的第一存储块即表明存储有脏数据。
[0070]103:将所述脏数据所属的第一存储块在第一位图中的对应位置设置脏数据标识。
[0071]104:将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立所述至少两个第二预定容量的第二存储块对应的第二位图。
[0072]若该脏数据所属第一存储块在第一位图中的对应位置处未设置脏数据标识,则将该对应位置进行标记,设置脏数据标识,表示其对应的第一存储块存储有脏数据。
[0073]同时,将该第一存储块继续进行划分,即将第一存储块进行细分,划分为多个第二存储块,每一第二存储块的容量为第二预定容量,并建立第二存储块对应的第二位图,第二存储块的数量与第二预定容量以及所述第一存储块的容量,即第一预定容量有关,通常第二存储块的数量等于第一预定容量除以第二预定容量得到的商值。
[0074]可知,第二预定容量小于第一预定容量,例如,第一预定容量为2M时,第二预定容量可以为16K。
[0075]105:确定为所述脏数据所属的第一存储块建立的第二位图,并将所述脏数据所属的第二存储块在第二位图中的对应位置设置脏数据标识。
[0076]所述脏数据所属的第一存储块建立的第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块。
[0077]若该脏数据所属第一存储块对应的第一位图设置有脏数据标识,如步骤104所述,该第一存储块此时将被划分出至少两个第二预定容量的第二存储块,并建立有索引第二存储块的第二位图。此时可以继续查找该脏数据所属的第二存储块,将其所属第二存储块在该第二位图中的对应位置设置脏数据标识。
[0078]当然步骤104并不限定于本实施例所述的操作时机,只要第一存储块在第一位图中的对应位置设置有脏数据标识,即可以建立第一存储块的第二位图,其可以在第一存储块在第一位图中的对应位置设置脏数据标识的同时或者之后进行。
[0079]根据第一存储块和第二存储块之间的关系,可以建立第一位图和第二位图的对应关系,从而可以查找到脏数据所属的第二存储块对应的第二位图。
[0080]查找脏数据所属第二存储块对应的第二位图时,具体可以利用红黑树算法查询,以加快查询速度。第一位图和第二位图中的不同位置处的每一位对应一位置索引号,在建立第二位图时,可以将位置索引号作为查找索引插入红黑树中。在进行查询时,通过位置索引号,利用红黑树即可以查找到脏数据所属第一存储块中的第二存储块在第二位图中的对应位置。
[0081]当然,还可以采用其他算法实现,本申请并不对此进行限定。
[0082]本实施例中,只有在第一存储块在第一位图中的对应位置设置有脏数据标识时,才对第一存储块继续进行划分,利用第二存储块对应的第二位图标记脏数据,第一存储块的第一预定容量可以设定较大的容量,从而可以减少位图占用的系统资源,降低了资源消耗。
[0083]在进行脏数据识别和处理时,查找第一位图和第二位图,根据第二位图中的脏数据标识,可以只查找并处理第二存储块存储的数据,若第一存储块不存在第二存储块,再查找并处理第一存储块存储的数据。
[0084]也即是将设置有脏数据标识的第二位图对应的第二存储块存储的数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的数据,进行处理。从而保证了数据处理时的处理量,不至于识别处理容量较大的数据,增加额外开销,例如在需要对脏数据进行复制的处理操作中,若脏数据所属存储块的容量较大,则会使得复制操作处理的数据量较大,导致处理开销较大,而采用本申请,若存在第二存储块,则处理对象变为第二存储块存储的数据,由于第二存储块容量较小,因此可以降低处理开销。
[0085]在本实施例中,检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,当该脏数据所属第一存储块在第一位图中的对应位置未设置有脏数据标识,则将该相应位置设置脏数据标识,并将该第一存储块划分出至少两个第二预定容量的第二存储块,建立索引第二存储块的第二位图,当脏数据所属第一存储块对应的第一位图中的相应位置设置有脏数据标识,则将脏数据所属第二存储块对应的第二位图中的相应位置设置脏数据标识,由于第一预定容量较大,无需消耗过多的系统资源,且只有在第一存储块在第一位图中的对应位置设置有脏数据标识时,才继续划分第二存储块建立第二位图进行标记,既保证了数据识别处理时的处理数据量,使得处理开销不至于过大,同时保证了不消耗过多的资源。
[0086]图2为本申请实施例提供的一种数据处理方法另一个实施例的流程图,该方法可以包括以下几个步骤:
[0087]201:检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图。
[0088]所述少两个第一预定容量的第一存储块是将数据存储空间划分确定的。
[0089]202:判断所述脏数据所属的第一存储块在第一位图中的对应位置是否设置有脏数据标识,若否,执行步骤203,若是,执行步骤205:
[0090]203:将所述脏数据所属的第一存储块在第一位图中的对应位置设置脏数据标识。
[0091]204:将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述至少两个第二预定容量的第二存储块的第二位图。[0092]205:确定为所述脏数据所属的第一存储块建立的第二位图,并将所述脏数据所属的第二存储块在第二位图中的对应位置设置脏数据标识。
[0093]所述脏数据所属的第一存储块建立的第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块。
[0094]步骤201?步骤205与上述实施例中的步骤101?步骤204相似,在此不再赘述。
[0095]206:判断各个第二位图中脏数据标识的数量是否满足预设条件,若是,执行步骤207,若否,继续判断。
[0096]207:将满足所述预设条件的第二位图删除。
[0097]对于检测到的脏数据,均按照步骤201?步骤205所述的操作执行,从而可以将存储在数据存储空间中的数据中的脏数据标记出来。
[0098]本实施例中,还会判断所建立的第二位图中的脏数据标识的数量是否满足预设条件,从而将满足预设条件的第二位图删除,实现了脏数据的高效合并,进一步减少了用于标记脏数据的位图占用的资源。
[0099]预设条件可以是根据实际应用情况设定,当第二位图中的脏数据标识数量满足预设条件时,表明该第一存储块划分的至少两个第二存储块存储的脏数据数量满足预设条件,可以认为第一存储块主要存储脏数据,此时可以将第二位图删除,以使得在索引脏数据时,只根据第一位图查找第一存储块。从而实现了脏数据合并操作,既减小位图占用资源,又方便数据处理。
[0100]该预设条件例如可以是脏数据标识数量占位图容量的百分之三十等。
[0101]步骤206?步骤207的操作并不限定本实施例的执行流程,其可以是在任一步骤之前或之后执行。
[0102]因此,由于第一存储块的第二位图可能不存在,步骤205中,将所述脏数据所属的第二存储块在第二位图中的对应位置设置脏数据标识时可以具体包括:
[0103]判断所述脏数据所属的第一存储块是否存在建立的第二位图;
[0104]若是,将所述脏数据所属的第二存储块在第二位图中的对应位置设置脏数据标识;
[0105]若否,则继续检测脏数据,执行步骤201的操作。
[0106]208:将设置有脏数据标识的第二位图对应的第二存储块存储的数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的数据,进行处理。
[0107]将脏数据标记后,可以方便数据的识别和处理。在进行脏数据处理时,是将设置有脏数据标识的第二位图对应的第二存储块存储的数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的数据,进行处理。根据第二位图中脏数据标识的位置可以确定出对应哪些第二存储块,同样根据第一位图中脏数据标识的位置可以确定出对应哪些第一存储块。从而可以第一存储块存储的脏数据或第二存储块存储的脏数据进行处理。
[0108]步骤208的操作也不限定与本实施例的执行流程,其可以是在任一步骤之前或之后执行。
[0109]不同第二存储块和不同第一存储块存储的脏数据可以同时进行处理,以加快处理进度,例如将脏数据进行复制时,若将设置脏数据标识的第一位图或设置脏数据标识的第二位图分别对应的第一存储块或第二存储块的脏数据同时进行复制,可以提高复制效率。
[0110]在本实施例中,检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,当该脏数据所属第一存储块在第一位图中的对应位置未设置有脏数据标识,则将该相应位置设置脏数据标识,并将该第一存储块划分多至少两个第二预定容量的第二存储块,建立索引第二存储块的第二位图,当脏数据所属第一存储块对应的第一位图中的相应位置设置有脏数据标识,则将脏数据所属第二存储块对应的第二位图中的相应位置设置脏数据标识。当第二位图中的脏数据标识的数量满足预设条件时,则将该第二位图删除,实现了非连续脏数据的合并。从而在进行数据处理时,若存在第二位图,则处理第二位图脏数据标识对应的第二存储块的数据,若不存在第二位图,则处理第一位图脏数据标识对应的第一存储块的数据。从而既降低了位图占用的资源,且保证了数据处理时的数据量,不增加过多的额外的处理开销。
[0111]本申请实施例的一个实际应用中可以具体应用于复制软件中,复制软件是指利用数据的复制能力,提供备份,容灾,数据迁移等功能。复制软件执行设备包括源设备和镜像设备,复制软件是实现将源设备中的数据复制到镜像设备中,并保证源设备和镜像设备的中数据保持一致。系统下发(例如输出/输入IO下发)的数据首先到达源设备,源设备再将下发的数据复制到镜像设备中,由于数据下发的效率可能高于数据复制的效率,因此导致下发至源设备中的数据不能及时复制到镜像设备中,此时该还未进行复制的数据即为脏数据。
[0112]因此,对应本申请实施例中,该数据存储空间也即源设备中用于存储数据的存储空间,脏数据即为源设备中未复制到镜像设备中的数据,检测到脏数据也即是检测到系统下发数据至源设备,系统下发数据至源设备,即可确定该数据为脏数据。
[0113]下面结合该实际应用场景,详细描述本申请技术方案,图3为本申请实施例提供的一种数据处理方法又一个实施例的流程图,该方法可以包括:
[0114]301:检测到系统下发数据至源设备,确定所述数据为脏数据。
[0115]302:查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图。
[0116]所述至少两个第一预定容量的第一存储块是将数据存储空间划分确定的。例如64M的数据存储空间,第一预定容量为2M时,可以最多划分出32块存储块。
[0117]303:判断所述脏数据所属的第一存储块在第一位图中的对应位置是否设置有脏数据标识,若否,执行步骤304,若是,执行步骤306。
[0118]304:将所述脏数据所属的第一存储块在第一位图中的对应位置设置脏数据标识。
[0119]305:将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述至少两个第二预定容量的第二存储块的第二位图;
[0120]306:确定为所述脏数据所属的第一存储块建立的第二位图,并将所述脏数据所属的第二存储块在该第二位图中的对应位置设置脏数据标识。
[0121]所述为脏数据所属的第一存储块建立的第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块。
[0122]307:判断各个第二位图中脏数据标识的数量是否满足预设条件,若是,执行步骤308,若否,继续判断。
[0123]308:将满足所述预设条件的第二位图删除。
[0124]309:将设置有脏数据标识的第二位图对应的第二存储块存储的脏数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的脏数据,复制到所述镜像设备中。
[0125]本实施例中,即是将第一存储块中存储的数据或者第二存储块中存储的数据,复制到镜像设备中,方便了数据处理,利于数据搬运。
[0126]通过脏数据标识,可以只复制第一存储块中的数据或者只复制第二存储块中的数据,从而既减少了位图占用资源,又避免了复制过多的数据量而造成的数据搬运开销较大。且在第二位图中的脏数据标识数量满足预设条件时,删除第二位图,完成位图合并,实现了非连续脏数据的合并,进一步减少位图占用资源。
[0127]对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0128]图4为本申请一种数据处理装置一个实施例的结构示意图,该装置可以包括:
[0129]数据检测单元401,用于检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图。
[0130]所述至少两个第一预定容量的第一存储块是将数据存储空间划分确定的。
[0131]标识判断单元402,用于判断所述脏数据所属的第一存储块在第一位图中的对应位置是否设置有脏数据标识。
[0132]第一标识设置单元403,用于当所述标识判断单元402结果为否时,将所述脏数据所属的第一存储块在第一位图中的对应位置设置脏数据标识。
[0133]位图建立单元404,用于将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述至少两个第二预定容量的第二存储块的第二位图。
[0134]第二标识设置单元405,用于当所述标识判断单元402结果为是时,确定为所述脏数据所属的第一存储块建立的第二位图,所述第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块;将所述脏数据所属的第二存储块在第二位图中的对应位置设置脏数据标识。
[0135]若该脏数据所属第一存储块对应的第一位图设置有脏数据标识,如前文所述,该第一存储块此时包括第二存储块,建立有第二位图。此时可以继续查找该脏数据所属的第二存储块,将其所属第二存储块在第二位图中的对应位置设置脏数据标识。
[0136]本实施例中,只有在第一存储块在第一位图中的对应位置设置有脏数据标识时,才对第一存储块继续进行划分,利用第二存储块对应的第二位图标记脏数据,第一存储块的第一预定容量可以设定较大的容量,从而可以减少位图占用的系统资源,降低了资源消耗。
[0137]在本实施例中,检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,当该脏数据所属第一存储块在第一位图中的对应位置未设置有脏数据标识,则将该相应位置设置脏数据标识,并将该第一存储块划分多至少两个第二预定容量的第二存储块,建立索引第二存储块的第二位图,当脏数据所属第一存储块对应的第一位图中的相应位置设置有脏数据标识,则将脏数据所属第二存储块对应的第二位图中的相应位置设置脏数据标识,由于第一预定容量较大,无需消耗过多的系统资源,且只有在第一存储块在第一位图中的对应位置设置有脏数据标识时,才继续划分第二存储块建立第二位图进行标记,既保证了数据识别处理时的数据量,使得额外开销不至于过大,同时保证了不消耗过多的资源。
[0138]图5为本申请一种数据处理装置另一个实施例的结构示意图,该装置可以包括:
[0139]数据检测单元501,用于检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,所述至少两个第一预定容量的第一存储块是将数据存储空间划分确定的。
[0140]标识判断单元502,用于判断所述脏数据所属的第一存储块在第一位图中的对应位置是否设置有脏数据标识。
[0141]第一标识设置单元503,用于当所述标识判断单元502结果为否时,将所述脏数据所属的第一存储块在第一位图中的对应位置设置脏数据标识。
[0142]位图建立单元504,用于将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述至少两个第二预定容量的第二存储块的第二位图。
[0143]第二标识设置单元505,用于当所述标识判断单元502结果为是时,确定为所述脏数据所属的第一存储块建立的第二位图,所述第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块;将所述脏数据所属的第二存储块在第二位图中的对应位置设置脏数据标识。
[0144]数量判断单元506,判断各个第二位图中脏数据标识的数量是否满足预设条件。
[0145]删除单元507,用于将满足所述预设条件的第二位图删除。
[0146]由于,第一存储块的第二位图可能不存在,因此该第二标识设置单元可以包括:
[0147]位图判断单元,用于判断所述脏数据所属的第一存储块是否存在对应的第二位图,若否,触发所述数据检测单元。
[0148]第二标识设置子单元,用于当所述位图判断单元结果为是时,确定为所述脏数据所属的第一存储块建立的所述第二位图,并将所述脏数据所属的第二存储块在第二位图中的对应位置设置脏数据标识。
[0149]处理单元508,用于将设置有脏数据标识的第二位图对应的第二存储块存储的数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的数据,进行处理。
[0150]将脏数据标记后,可以方便数据的识别和处理。在进行脏数据处理时,是将设置有脏数据标识的第二位图对应的第二存储块存储的数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的数据,进行处理。
[0151]不同第二存储块和不同第一存储块存储的脏数据可以同时进行处理,以加快处理进度,例如将脏数据进行复制时,若将设置脏数据标识的第一位图或第二位图对应的第一存储块或第二存储块的脏数据同时进行复制,可以提高复制效率。[0152]在本实施例中,检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,当该脏数据所属第一存储块在第一位图中的对应位置未设置有脏数据标识,则将该相应位置设置脏数据标识,并将该第一存储块划分出至少两个第二预定容量的第二存储块,建立索引第二存储块的第二位图,当脏数据所属第一存储块对应的第一位图中的相应位置设置有脏数据标识,则将脏数据所属第二存储块对应的第二位图中的相应位置设置脏数据标识。当第二位图中的脏数据标识的数量满足预设条件时,则将该第二位图删除。从而在进行数据处理时,若存在第二位图,则处理第二位图脏数据标识对应的第二存储块的数据,若不存在第二位图,则处理第一位图脏数据标识对应的第一存储块的数据。从而既降低了位图占用的资源,且保证了数据处理时的数据量,不增加过多的额外的处理开销。
[0153]其中,在一个实际应用,所述数据存储空间为源设备存储空间,所述脏数据为所述源设备中未复制到镜像设备中的数据。
[0154]因此,该数据检测单元检测到脏数据具体是检测到系统下发数据至源设备,若是,确定所述数据为脏数据。
[0155]所述处理单元具体用于将设置有脏数据标识的第二位图对应的第二存储块存储的脏数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的脏数据,复制到所述镜像设备中。
[0156]通过脏数据标识,可以只复制第一存储块中的数据或者只复制第二存储块中的数据,从而既减少了位图占用资源,又避免了复制过多的数据量而造成的数据搬运开销较大。且在第二位图中的脏数据标识数量满足预设条件时,删除第二位图,完成位图合并,进一步减少位图占用资源。
[0157]上述提供的数据处理装置,在实际应用中,可以集成到计算设备中,部署本申请实施例该数据处理装置的计算设备,可以实现对脏数据的标记,使得不占用过多的资源,且保证了数据处理时的数据量。
[0158]通过以上描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。因此,参见图6,本申请实施例还提供了一种计算设备,该计算设备至少包括存储器601、和通过总线与存储器601连接的处理器602。
[0159]该存储器601用于存储一组程序指令;该存储器601可以是是高速RAM存储器,也可能是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器等。
[0160]该处理器602用于调用所述存储器的程序指令,执行如下操作:
[0161]检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,所述至少两个第一预定容量的第一存储块是将数据存储空间划分确定的;
[0162]判断所述脏数据所属的第一存储块在第一位图中的对应位置是否设置有脏数据标识;
[0163]若否,将所述脏数据所属的第一存储块在第一位图中的对应位置设置脏数据标识,并将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述至少两个第二预定容量的第二存储块的第二位图;
[0164]若是,确定为所述脏数据所属的第一存储块建立的第二位图,并将所述脏数据所属的第二存储块在该第二位图中的对应位置设置脏数据标识。[0165]所述脏数据所属的第一存储块建立的第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块。
[0166]该处理器602可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0167]可选地,该计算设备可以用于执行本申请实施例提供的图1-图3所示的任一数据处理方法。
[0168]在一个实际应用中,该计算设备可以实现复制操作中脏数据的处理,即将系统下发至源设备的数据确定为脏数据,并按照本申请技术方案进行标记,可以使得对脏数据的标记不占用过多的资源,能够将非连续的脏数据进行合并,方便了数据搬运时的复制处理。
[0169]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0170]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0171]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0172]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0173]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种数据处理方法,其特征在于,包括: 检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,所述至少两个第一预定容量的第一存储块是将数据存储空间划分确定的; 判断所述脏数据所属的第一存储块在所述第一位图中的对应位置是否设置有脏数据标识; 若否,将所述脏数据所属的第一存储块在所述第一位图中的对应位置设置脏数据标识;将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述至少两个第二预定容量的第二存储块的第二位图; 若是,确定为所述脏数据所属的第一存储块建立的第二位图,所述第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块;将所述脏数据所属的第二存储块在所述第二位图中的对应位置设置脏数据标识。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 判断各个第二位图中脏数据标识的数量是否满足预设条件; 若是,则将满足所述预设条件的第二位图删除。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括: 将设置有脏数据标识的第二位图对应的第二存储块存储的数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的数据,进行处理。
4.根据权利要求1或2所述的方法,其特征在于,所述确定为所述脏数据所属的第一存储块建立的第二位图;将所述脏数据所属的第二存储块在所述第二位图中的对应位置设置脏数据标识包括: 判断所述脏数据所属的第一存储块是否存在建立的第二位图; 若是,确定为所述脏数据所属的第一存储块建立的所述第二位图,并将所述脏数据所属的第二存储块在所述第二位图中的对应位置设置脏数据标识; 若否,返回所述检测到脏数据时的步骤继续执行。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述数据存储空间为源设备存储空间,所述脏数据为所述源设备中未复制到镜像设备中的数据; 所述检测到脏数据具体是检测到系统下发数据至源设备,则确定所述数据为脏数据。
6.根据权利要求5所述的方法,其特征在于,所述将设置有脏数据标识的第二位图对应的第二存储块存储的脏数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的脏数据,进行处理包括: 将设置有脏数据标识的第二位图对应的第二存储块存储的脏数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的脏数据,复制到所述镜像设备中。
7.一种数据处理装置,其特征在于,包括: 数据检测单元,用于检测到脏数据时,查询预先建立的用于索引至少两个第一预定容量的第一存储块的第一位图,所述至少两个第一预定容量的第一存储块是将数据存储空间划分确定的; 标识判断单元,用于判断所述脏数据所属的第一存储块在所述第一位图中的对应位置是否设置有脏数据标识; 第一标识设置单元,用于当所述标识判断单元结果为否时,将所述脏数据所属的第一存储块在所述第一位图中的对应位置设置脏数据标识; 位图建立单元,用于将所述第一存储块划分为至少两个第二预定容量的第二存储块,建立用于索引所述至少两个第二预定容量的第二存储块的第二位图; 第二标识设置单元,用于当所述标识判断单元结果为是时,确定为所述脏数据所属的第一存储块建立的第二位图,所述第二位图为将所述第一存储块在第一位图中的对应位置设置脏数据标识时建立的,用于索引所述第一存储块划分的至少两个第二预定容量的第二存储块;将所述脏数据所属的第二存储块在所述第二位图中的对应位置设置脏数据标识。
8.根据权利要求7所述的装置,其特征在于,还包括: 数量判断单元,用于判断各个第二位图中脏数据标识的数量是否满足预设条件; 删除单元,用于将满足所述预设条件的第二位图删除。
9.根据权利要求7或8所述的装置,其特征在于,还包括: 处理单元,用于将设置有脏数据标识的第二位图对应的第二存储块存储的数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的数据,进行处理。
10.根据权利要求7或8所述的装置,其特征在于,所述第二标识设置单元包括: 位图判断单元,用于判断所述脏数据所属的第一存储块是否存在建立的第二位图,若否,触发所述数据检测单元;` 第二标识设置子单元,用于当所述位图判断单元结果为是时,确定为所述脏数据所属的第一存储块建立的第二位图,并将所述脏数据所属的第二存储块在所述第二位图中的对应位置设置脏数据标识。
11.根据权利要求7~10任一项所述的装置,其特征在于,所述数据存储空间为源设备存储空间,所述脏数据为所述源设备中未复制到镜像设备中的数据; 所述数据检测单元检测到脏数据具体是检测到系统下发数据至源设备,若是,确定所述数据为脏数据。
12.根据权利要求11所述的装置,其特征在于,所述处理单元具体用于将设置有脏数据标识的第二位图对应的第二存储块存储的脏数据,以及设置有脏数据标识的第一位图对应的,且不存在第二位图的第一存储块存储的脏数据,复制到所述镜像设备中。
【文档编号】G06F17/30GK103530322SQ201310430443
【公开日】2014年1月22日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】李经纬 申请人:深圳市华为技术软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1