CN105159804B - 一种数据块处理的方法、装置及设备 - Google Patents
一种数据块处理的方法、装置及设备 Download PDFInfo
- Publication number
- CN105159804B CN105159804B CN201510618845.1A CN201510618845A CN105159804B CN 105159804 B CN105159804 B CN 105159804B CN 201510618845 A CN201510618845 A CN 201510618845A CN 105159804 B CN105159804 B CN 105159804B
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- data
- end address
- address
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,特别涉及一种数据块处理的方法、装置及设备,该方法包括:接收第一数据写请求;将该第一数据写入目标数据块;接收第二数据写请求;将该第二数据写入目标数据块;当确定该目标数据块中的第i个子数据块中未写入第二数据时,记录第i个子数据块的信息;当确定该目标数据块中的第i个子数据块中写入第二数据时,则从第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据块处理的方法、装置及设备。
背景技术
目前,虚拟机备份一般是将虚拟机的一个磁盘作为一个文件,例如的vmdk文件,将需要备份的文件划分为固定大小的目标数据块,通常情况下,目标Block的大小为4M或8M等,在获得目标数据块后,还可以以子数据块的粒度监控目标数据块中数据的变化。使用备份软件对目标数据块进行备份,需要对目标数据块进行分块以执行重复数据删除操作。当目标数据块完成一次备份后,再有新的数据写入目标数据块,尽管只有目标数据块中只有少量数据被修改,但现有技术中,仍然需要对整个数据块进行重新备份,对修改后的整个目标数据块进行分块以执行重复数据删除操作。因此,对修改后的整个目标数据块进行分块消耗了大量计算资源。
发明内容
本发明实施例提供了一种数据块处理的方法、装置及设备。
第一方面,提供了一种数据块处理的方法,包括:
接收第一数据写请求,所述第一数据写请求携带第一数据;
将所述第一数据写入目标数据块,所述目标数据块包括n个地址连续的子数据块,其中n为正整数;
接收第二数据写请求,所述第二数据写请求携带第二数据;
将所述第二数据写入所述目标数据块;
当确定所述目标数据块中的第i个子数据块中未写入所述第二数据时,记录所述第i个子数据块的信息,所述子数据块的信息包括所述子数据块的起始地址和所述子数据块的大小;
当确定所述目标数据块中的第i个子数据块中写入所述第二数据时,则从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与所述第二结束地址重合时结束,其中所述第一结束地址为从所述第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,所述第二结束地址为所述目标数据块中的第r个子数据块的结束地址。
结合第一方面,在第一方面的第一种可能的实现方式中,在从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息结束之后,还包括:
确定所述第二结束地址小于所述目标数据块的结束地址;
若确定以所述第二结束地址作为起始地址的所述目标数据块中的第r+1个子数据块中未写入所述第二数据时,记录所述第r+1个子数据块的信息;
若确定所述第r+1个子数据块中写入所述第二数据时,从所述第二结束地址开始重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中所述第三结束地址为从所述第二结束地址开始重新确定的最后一个新的子数据块的结束地址,所述第四结束地址为所述目标数据块中的第y个子数据块的结束地址。
结合第一方面的第一种可能的实现方式,在第一方面第二种可能的实现方式中,在从所述第二结束地址开始重新确定并记录新的子数据块的信息结束之后,还包括:
确定所述第四结束地址等于所述目标数据块的结束地址,结束记录在将所述第二数据写入所述目标数据块后子数据块的信息。
第二方面,提供一种数据块处理装置,包括:
接收单元,用于接收第一数据写请求,所述第一数据写请求携带第一数据;
写入单元,用于将所述第一数据写入目标数据块,所述目标数据块包括n个地址连续的子数据块,其中n为正整数;
所述接收单元,还用于接收第二数据写请求,所述第二数据写请求携带第二数据;
所述写入单元还用于,将所述第二数据写入所述目标数据块;
处理单元,用于在确定所述目标数据块中的第i个子数据块中未写入所述第二数据时,记录所述第i个子数据块的信息,所述子数据块的信息包括所述子数据块的起始地址和所述子数据块的大小;在确定所述目标数据块中的第i个子数据块中写入所述第二数据时,则从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与所述第二结束地址重合时结束,其中所述第一结束地址为从所述第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,所述第二结束地址为所述目标数据块中的第r个子数据块的结束地址。
结合第二方面,在第二方面的第一种可能的实现方式中,所述处理单元还用于:
在从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息结束之后,确定所述第二结束地址小于所述目标数据块的结束地址;在确定以所述第二结束地址作为起始地址的所述目标数据块中的第r+1个子数据块中未写入所述第二数据时,记录所述第r+1个子数据块的信息;在确定所述第r+1个子数据块中写入所述第二数据时,从所述第二结束地址开始重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中所述第三结束地址为从所述第二结束地址开始重新确定的最后一个新的子数据块的结束地址,所述第四结束地址为所述目标数据块中的第y个子数据块的结束地址。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理单元还用于:
在从所述第二结束地址开始重新确定并记录新的子数据块的信息结束之后,确定所述第四结束地址等于所述目标数据块的结束地址,结束记录在将所述第二数据写入所述目标数据块后子数据块的信息。
第三方面,提供了一种数据块处理设备,包括:处理器、输入/输出接口和总线,其中,所述处理器和所述输入/输出接口通过所述总线实现彼此之间的通信连接;
所述输入/输出接口用于接收第一数据写请求,所述第一数据写请求携带第一数据;
所述处理器,用于将所述第一数据写入目标数据块;所述目标数据块包括n个地址连续的子数据块,其中n为正整数;
所述输入/输出接口还用于接收第二数据写请求;所述第二数据写请求携带第二数据;
所述处理器,还用于将所述第二数据写入所述目标数据块;在确定所述目标数据块中的第i个子数据块中未写入所述第二数据时,记录所述第i个子数据块的信息,所述子数据块的信息包括所述子数据块的起始地址和所述子数据块的大小;在确定所述目标数据块中的第i个子数据块中写入所述第二数据时,则从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与所述第二结束地址重合时结束,其中所述第一结束地址为从所述第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,所述第二结束地址为所述目标数据块中的第r个子数据块的结束地址。
结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器还用于:
在从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息结束之后,确定所述第二结束地址小于所述目标数据块的结束地址;在确定以所述第二结束地址作为起始地址的所述目标数据块中的第r+1个子数据块中未写入所述第二数据时,记录所述第r+1个子数据块的信息;在确定所述第r+1个子数据块中写入所述第二数据时,从所述第二结束地址开始重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中所述第三结束地址为从所述第二结束地址开始重新确定的最后一个新的子数据块的结束地址,所述第四结束地址为所述目标数据块中的第y个子数据块的结束地址。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器还用于:
在从所述第二结束地址开始重新确定并记录新的子数据块的信息结束之后,确定所述第四结束地址等于所述目标数据块的结束地址,结束记录在将所述第二数据写入所述目标数据块后子数据块的信息。
本发明实施例由于当目标数据块中部分数据发生变化后,在确定目标数据块中的子数据块中未写入变化数据时,将该子数据块的信息作为部分数据发生变化的目标数据块中子数据块的信息,避免了在目标数据块中部分数据发生变化时,对于目标数据块所有数据重新划分子数据块,节省了计算资源。
附图说明
图1为本发明实施例数据块处理的方法流程示意图;
图2为本发明实施例数据块处理的方法原理示意图;
图3为本发明实施例数据块处理的方法流程示意图;
图4为本发明实施例数据块处理的装置示意图;
图5为本发明实施例数据块处理的设备示意图。
具体实施方式
本发明实施例接收第一数据写请求,第一数据写请求携带第一数据;将该第一数据写入目标数据块,该目标数据块包括n个地址连续的子数据块,其中n为正整数;接收第二数据写请求,该第二数据写请求携带第二数据;将该第二数据写入目标数据块;当确定该目标数据块中的第i个子数据块中未写入第二数据时,记录第i个子数据块的信息,子数据块的信息包括子数据块的起始地址和子数据块的大小;当确定该目标数据块中的第i个子数据块中写入第二数据时,则从第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束,其中第一结束地址为从第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,第二结束地址为目标数据块中的第r个子数据块的结束地址。这种技术方案由于当目标数据块中部分数据发生变化后,在确定目标数据块中的子数据块中未写入变化的数据时,将该子数据块的信息作为部分数据发生变化的目标数据块中子数据块的信息,避免了在目标数据块中部分数据发生变化时,对于目标数据块中未写入变化数据的子数据块,需要按照分块的方式重新计算子数据块的信息的过程,从而提高了记录子数据块的信息的效率,进而提高了重删的效率。
一种实现场景,基于写复制(copy on write,COW)机制的快照(snapshot)技术对虚拟机数据进行备份时,在第一时刻对虚拟机进行快照操作,以目标数据块为例,在第一时刻快照后,如果有数据写入修改目标数据块,则将原目标数据块中的数据复制到快照区域保存,记录原目标数据块中的数据信息,包含子数据块的信息;新的数据写入目标数据块。在第二时刻对虚拟机进行快照操作,备份第二时刻虚拟机的快照数据。此时,尽管目标数据块发生变化,但只需要判断目标数据块中发生变化的子数据块,记录没有发生变化的子数据块信息,避免了在目标数据块中部分数据发生变化时,对于目标数据块所有数据重新划分子数据块,节省了计算资源。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图1所示,本发明实施例数据块处理的方法,包括:
步骤100,接收第一数据写请求,该第一数据写请求携带第一数据;
步骤101,将该第一数据写入目标数据块,该目标数据块包括n个地址连续的子数据块,其中n为正整数;
步骤102,接收第二数据写请求,该第二数据写请求携带第二数据;
步骤103,将该第二数据写入该目标数据块;
步骤104,当确定该目标数据块中的第i个子数据块中未写入第二数据时,记录第i个子数据块的信息,子数据块的信息包括子数据块的起始地址和子数据块的大小;当确定该目标数据块中的第i个子数据块中写入第二数据时,则从第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束,其中第一结束地址为从第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,第二结束地址为目标数据块中的第r个子数据块的结束地址。
本发明实施例的执行主体可以为支持虚拟机运行的计算机、平板等终端。
其中,子数据块的结束地址为该子数据块的起始地址与该子数据块的大小之和。
需要说明的是,可以按照预先设置的分块方法,如基于内容的变长分块方法,重新确定并记录新的子数据块的信息。
可选的,在从第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息结束之后,确定第二结束地址小于目标数据块的结束地址;
若确定以第二结束地址作为起始地址的目标数据块中的第r+1个子数据块中未写入所述第二数据时,记录第r+1个子数据块的信息;
若确定第r+1个子数据块中写入第二数据时,从第二结束地址开始重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中第三结束地址为从第二结束地址开始重新确定的最后一个新的子数据块的结束地址,第四结束地址为目标数据块中的第y个子数据块的结束地址。
可选的,在从第二结束地址开始重新确定并记录新的子数据块的信息结束之后,确定第四结束地址等于目标数据块的结束地址,结束记录在将第二数据写入目标数据块后子数据块的信息。
以图2为例对数据块的处理过程进行具体说明。
如图2中的(a)所示,将第一数据写入目标数据块200后,目标数据块200包括8个子数据块,分别是子数据块1、子数据块2、子数据块3、子数据块4、子数据块5、子数据块6、子数据块7以及子数据块8,其中,由于子数据块1的结束地址和子数据块2的起始地址重合,子数据块2的结束地址和子数据块3的起始地址重合,子数据块3的结束地址和子数据块4的起始地址重合,……,子数据块7的结束地址和子数据块8的起始地址重合,因此在目标数据块200中的这些子数据块为地址连续的子数据块。
需要说明的是,第二数据可以对目标数据块200中的全部第一数据进行修改,也可以对目标数据块200中的部分第一数据进行修改,其中如图2中的(b)所示,为第二数据对目标数据块200中的部分数据进行修改的示意图,其中第二数据包括第二数据201、第二数据202。
在写入第二数据后,需要重新记录目标数据块的子数据块的信息,从目标数据块200的子数据块1开始,确定子数据块1中是否写入第二数据,以图2中的(c)为例,则确定子数据块1中未写入第二数据,因此记录子数据块1的信息作为目标数据块200中写入第二数据后子数据块1'的信息。
由于确定子数据块1的结束地址小于目标数据块的结束地址,然后,继续确定子数据块2中是否写入第二数据,由于子数据块2中写入第二数据201,则从子数据块2的起始地址开始,重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束,其中第一结束地址为从子数据块2的起始地址开始重新确定的最后一个新的子数据块4'的结束地址,第二结束地址为目标数据块200中的子数据块3的结束地址。
由于确定子数据块3的结束地址小于目标数据块的结束地址,因此,继续确定子数据块4中是否写入第二数据,子数据块4中未写入第二数据,则记录子数据块4的信息作为目标数据块200中写入第二数据后子数据块5'的信息。
由于确定子数据块4的结束地址小于目标数据块的结束地址,因此,继续确定子数据块5中是否写入第二数据,由于子数据块5中写入第二数据,则从子数据块5的起始地址开始,重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中第三结束地址为从子数据块5的起始地址开始重新确定的最后一个新的子数据块9'的结束地址,第四结束地址为目标数据块200中的子数据块8的结束地址。
由于子数据块8的结束地址为目标数据块200的结束地址,因此结束记录在将第二数据写入目标数据块200后子数据块的信息。
特别的,当第二数据与第一数据完全不相同时,则从第一个子数据块的起始地址开始,重新确定并记录新的子数据块的信息。
如图3所示,本发明实施例数据块处理的方法,包括:
步骤300,接收第一数据写请求,该第一数据写请求携带第一数据。
步骤301,将该第一数据写入目标数据块,该目标数据块包括n个地址连续的子数据块,其中n为正整数。
步骤302,接收第二数据写请求,该第二数据写请求携带第二数据。
步骤303,将该第二数据写入该目标数据块。
步骤304,判断目标数据块中的第一个子数据块中是否写入第二数据,若是则执行步骤306,否则执行步骤305。
步骤305,记录第一个子数据块中的信息,然后执行步骤307。
步骤306,从该第一个子数据块的起始地址开始,重新确定并记录新的子数据块的信息,直至确定的最后一个新的子数据块的结束地址与目标数据块中未写入第二数据之前的一个子数据块的结束地址重合时结束。
步骤307,判断重新记录的最后一个子数据块的结束地址是否为目标数据块的结束地址,若是,则执行步骤308,否则,将以记录的最后一个子数据块的结束地址为起始地址的子数据块作为第一个子数据块,执行步骤304。
步骤308,本流程结束。
基于同一发明构思,本发明实施例中还提供了数据块处理的装置和设备,由于本发明实施例数据块处理的装置和设备对应的方法为数据块处理的方法,因此本发明实施例装置和设备的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,本发明实施例数据块处理的装置,包括:
接收单元400,用于接收第一数据写请求;第一数据写请求携带第一数据;
写入单元401,用于将第一数据写入目标数据块;目标数据块包括n个地址连续的子数据块,其中n为正整数;
接收单元400,还用于接收第二数据写请求;第二数据写请求携带第二数据;
写入单元401,还用于将第二数据写入目标数据块;
处理单元402,用于在确定目标数据块中的第i个子数据块中未写入第二数据时,记录第i个子数据块的信息,子数据块的信息包括子数据块的起始地址和子数据块的大小;在确定目标数据块中的第i个子数据块中写入第二数据时,则从第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束,其中第一结束地址为从第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,第二结束地址为目标数据块中的第r个子数据块的结束地址。
可选的,处理单元402还用于:
在从第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息结束之后,确定第二结束地址小于目标数据块的结束地址;在确定以第二结束地址作为起始地址的目标数据块中的第r+1个子数据块中未写入第二数据时,记录第r+1个子数据块的信息;在确定第r+1个子数据块中写入第二数据时,从第二结束地址开始重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中第三结束地址为从第二结束地址开始重新确定的最后一个新的子数据块的结束地址,第四结束地址为目标数据块中的第y个子数据块的结束地址。
可选的,处理单元402还用于:
在从第二结束地址开始重新确定并记录新的子数据块的信息结束之后,确定第四结束地址等于目标数据块的结束地址,结束记录在将第二数据写入目标数据块后子数据块的信息。
如图5所示,本发明实施例数据块处理的设备,包括:处理器500、输入/输出接口501和总线502,其中,处理器500、和输入/输出接口501通过总线502实现彼此之间的通信连接;
输入/输出接口501,用于接收第一数据写请求;第一数据写请求携带第一数据;
处理器500,用于将第一数据写入目标数据块;目标数据块包括n个地址连续的子数据块,其中n为正整数;
输入/输出接口501,还用于接收第二数据写请求;第二数据写请求携带第二数据;
处理器500,还用于将第二数据写入目标数据块;在确定目标数据块中的第i个子数据块中未写入第二数据时,记录第i个子数据块的信息,子数据块的信息包括子数据块的起始地址和子数据块的大小;在确定目标数据块中的第i个子数据块中写入第二数据时,则从第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束,其中第一结束地址为从第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,第二结束地址为目标数据块中的第r个子数据块的结束地址。
可选的,处理器500还用于:
在从第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息结束之后,确定第二结束地址小于目标数据块的结束地址;在确定以第二结束地址作为起始地址的目标数据块中的第r+1个子数据块中未写入第二数据时,记录第r+1个子数据块的信息;在确定第r+1个子数据块中写入第二数据时,从第二结束地址开始重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中第三结束地址为从第二结束地址开始重新确定的最后一个新的子数据块的结束地址,第四结束地址为目标数据块中的第y个子数据块的结束地址。
可选的,处理器500还用于:
在从第二结束地址开始重新确定并记录新的子数据块的信息结束之后,确定第四结束地址等于目标数据块的结束地址,结束记录在将第二数据写入目标数据块后子数据块的信息。
需要说明的是,处理器500可以采用通用的中央处理器(Central ProcessingUnit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。在具体实现中,如果是通用的中央处理器,则需要通过读取存储器中存储的计算机指令以实现上述实施例。
总线502可包括一通路,在该设备的各个部件(例如处理器500输入/输出接口501)之间传送信息。
应注意,尽管图5仅仅示出了处理器500、输入/输出接口501、以及总线502,但是在具体实现过程中,本领域的技术人员应当明白,该设备还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,该设备还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,该设备也可仅仅包含实现本发明实施例所必须的器件或模块,而不必包含图5中所示的全部器件。
本发明各实施例中目标数据块包含n个子数据块,其中,第i个子数据块,第r个子数据块,第y个子数据块是指从目标数据块的开始位置开始执行本发明实施例,或在目标数据块的结束位置开始执行本发明实施例涉及到的子数据块。第i个子数据块为当前本发明实施正在进行判断的子数据块,因此,第r个子数据块、第y个子数据块体现出在目标数据块中连续地址上的先后位置关系。当在目标数据块的结束位置开始执行本发明实施例涉及到的子数据块时,通常子数据块的结束地址则成为该子数据块的起始地址。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁盘、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:RandomAccess Memory)等。
从上述内容可以看出:本发明实施例接收第一数据写请求,第一数据写请求携带第一数据;将该第一数据写入目标数据块;该目标数据块包括n个地址连续的子数据块,其中n为正整数;接收第二数据写请求,该第二数据写请求携带第二数据;将该第二数据写入目标数据块;当确定该目标数据块中的第i个子数据块中未写入第二数据时,记录第i个子数据块的信息,子数据块的信息包括子数据块的起始地址和子数据块的大小;当确定该目标数据块中的第i个子数据块中写入第二数据时,则从第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束,其中第一结束地址为从第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,第二结束地址为目标数据块中的第r个子数据块的结束地址。这种技术方案由于当目标数据块中部分数据发生变化后,在确定目标数据块中的子数据块中未写入变化数据时,将该子数据块的信息作为部分数据发生变化的目标数据块中子数据块的信息,避免了在目标数据块中部分数据发生变化时,对于目标数据块所有数据重新划分子数据块,节省了计算资源。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种数据块处理的方法,其特征在于,包括:
接收第一数据写请求,所述第一数据写请求携带第一数据;
将所述第一数据写入目标数据块,所述目标数据块包括n个地址连续的子数据块,其中n为正整数;
接收第二数据写请求,所述第二数据写请求携带第二数据;
将所述第二数据写入所述目标数据块;
当确定所述目标数据块中的第i个子数据块中未写入所述第二数据时,记录所述第i个子数据块的信息,所述子数据块的信息包括所述子数据块的起始地址和所述子数据块的大小;
当确定所述目标数据块中的第i个子数据块中写入所述第二数据时,则从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束,其中所述第一结束地址为从所述第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,所述第二结束地址为所述目标数据块中的第r个子数据块的结束地址。
2.如权利要求1所述的方法,其特征在于,在从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息结束之后,还包括:
确定所述第二结束地址小于所述目标数据块的结束地址;
若确定以所述第二结束地址作为起始地址的所述目标数据块中的第r+1个子数据块中未写入所述第二数据时,记录所述第r+1个子数据块的信息;
若确定所述第r+1个子数据块中写入所述第二数据时,从所述第二结束地址开始重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中所述第三结束地址为从所述第二结束地址开始重新确定的最后一个新的子数据块的结束地址,所述第四结束地址为所述目标数据块中的第y个子数据块的结束地址。
3.如权利要求2所述的方法,其特征在于,在从所述第二结束地址开始重新确定并记录新的子数据块的信息结束之后,还包括:
确定所述第四结束地址等于所述目标数据块的结束地址,结束记录在将所述第二数据写入所述目标数据块后子数据块的信息。
4.一种数据块处理的装置,其特征在于,包括:
接收单元,用于接收第一数据写请求,所述第一数据写请求携带第一数据;
写入单元,用于将所述第一数据写入目标数据块,所述目标数据块包括n个地址连续的子数据块,其中n为正整数;
所述接收单元,还用于接收第二数据写请求,所述第二数据写请求携带第二数据;
所述写入单元还用于,将所述第二数据写入所述目标数据块;
处理单元,用于在确定所述目标数据块中的第i个子数据块中未写入所述第二数据时,记录所述第i个子数据块的信息,所述子数据块的信息包括所述子数据块的起始地址和所述子数据块的大小;在确定所述目标数据块中的第i个子数据块中写入所述第二数据时,则从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束,其中所述第一结束地址为从所述第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,所述第二结束地址为所述目标数据块中的第r个子数据块的结束地址。
5.如权利要求4所述的装置,其特征在于,所述处理单元还用于:
在从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息结束之后,确定所述第二结束地址小于所述目标数据块的结束地址;在确定以所述第二结束地址作为起始地址的所述目标数据块中的第r+1个子数据块中未写入所述第二数据时,记录所述第r+1个子数据块的信息;在确定所述第r+1个子数据块中写入所述第二数据时,从所述第二结束地址开始重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中所述第三结束地址为从所述第二结束地址开始重新确定的最后一个新的子数据块的结束地址,所述第四结束地址为所述目标数据块中的第y个子数据块的结束地址。
6.如权利要求5所述的装置,其特征在于,所述处理单元还用于:
在从所述第二结束地址开始重新确定并记录新的子数据块的信息结束之后,确定所述第四结束地址等于所述目标数据块的结束地址,结束记录在将所述第二数据写入所述目标数据块后子数据块的信息。
7.一种数据块处理的设备,其特征在于,包括:处理器、输入/输出接口和总线,其中,所述处理器和所述输入/输出接口通过所述总线实现彼此之间的通信连接;
所述输入/输出接口,用于接收第一数据写请求,所述第一数据写请求携带第一数据;
所述处理器,用于将所述第一数据写入目标数据块;所述目标数据块包括n个地址连续的子数据块,其中n为正整数;
所述输入/输出接口,还用于接收第二数据写请求;所述第二数据写请求携带第二数据;
所述处理器,还用于将所述第二数据写入所述目标数据块;在确定所述目标数据块中的第i个子数据块中未写入所述第二数据时,记录所述第i个子数据块的信息,所述子数据块的信息包括所述子数据块的起始地址和所述子数据块的大小;在确定所述目标数据块中的第i个子数据块中写入所述第二数据时,则从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息,直至第一结束地址与第二结束地址重合时结束,其中所述第一结束地址为从所述第i个子数据块的起始地址开始重新确定的最后一个新的子数据块的结束地址,所述第二结束地址为所述目标数据块中的第r个子数据块的结束地址。
8.如权利要求7所述的设备,其特征在于,所述处理器还用于:
在从所述第i个子数据块的起始地址开始重新确定并记录新的子数据块的信息结束之后,确定所述第二结束地址小于所述目标数据块的结束地址;在确定以所述第二结束地址作为起始地址的所述目标数据块中的第r+1个子数据块中未写入所述第二数据时,记录所述第r+1个子数据块的信息;在确定所述第r+1个子数据块中写入所述第二数据时,从所述第二结束地址开始重新确定并记录新的子数据块的信息,直至第三结束地址与第四结束地址重合时结束,其中所述第三结束地址为从所述第二结束地址开始重新确定的最后一个新的子数据块的结束地址,所述第四结束地址为所述目标数据块中的第y个子数据块的结束地址。
9.如权利要求8所述的设备,其特征在于,所述处理器还用于:
在从所述第二结束地址开始重新确定并记录新的子数据块的信息结束之后,确定所述第四结束地址等于所述目标数据块的结束地址,结束记录在将所述第二数据写入所述目标数据块后子数据块的信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510618845.1A CN105159804B (zh) | 2015-09-24 | 2015-09-24 | 一种数据块处理的方法、装置及设备 |
PCT/CN2016/093586 WO2017050029A1 (zh) | 2015-09-24 | 2016-08-05 | 一种数据块处理的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510618845.1A CN105159804B (zh) | 2015-09-24 | 2015-09-24 | 一种数据块处理的方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105159804A CN105159804A (zh) | 2015-12-16 |
CN105159804B true CN105159804B (zh) | 2018-03-13 |
Family
ID=54800666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510618845.1A Active CN105159804B (zh) | 2015-09-24 | 2015-09-24 | 一种数据块处理的方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105159804B (zh) |
WO (1) | WO2017050029A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159804B (zh) * | 2015-09-24 | 2018-03-13 | 华为技术有限公司 | 一种数据块处理的方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477447A (zh) * | 2009-01-21 | 2009-07-08 | 杭州华三通信技术有限公司 | 磁盘快照方法与装置 |
CN104216666A (zh) * | 2014-09-03 | 2014-12-17 | 浪潮(北京)电子信息产业有限公司 | 一种管理磁盘数据写入的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5391712B2 (ja) * | 2009-02-05 | 2014-01-15 | 富士通株式会社 | ディスクアレイ装置 |
CN105159804B (zh) * | 2015-09-24 | 2018-03-13 | 华为技术有限公司 | 一种数据块处理的方法、装置及设备 |
-
2015
- 2015-09-24 CN CN201510618845.1A patent/CN105159804B/zh active Active
-
2016
- 2016-08-05 WO PCT/CN2016/093586 patent/WO2017050029A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477447A (zh) * | 2009-01-21 | 2009-07-08 | 杭州华三通信技术有限公司 | 磁盘快照方法与装置 |
CN104216666A (zh) * | 2014-09-03 | 2014-12-17 | 浪潮(北京)电子信息产业有限公司 | 一种管理磁盘数据写入的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105159804A (zh) | 2015-12-16 |
WO2017050029A1 (zh) | 2017-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2840495B1 (en) | Container-based processing method and apparatus | |
CN109445861A (zh) | 系统启动方法、装置、计算机装置及存储介质 | |
CN104461641B (zh) | 一种数据烧写方法、系统、烧写设备以及目标设备 | |
WO2013152660A1 (zh) | 加速操作系统启动的方法、装置、终端及计算机存储介质 | |
CN110704161B (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN104391727B (zh) | 数据烧写方法、系统、烧写设备以及目标设备 | |
JP2014513338A5 (ja) | 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム | |
CN103198122B (zh) | 重启内存数据库的方法和装置 | |
CN109710185A (zh) | 数据处理方法及装置 | |
CN115098046B (zh) | 磁盘阵列初始化方法、系统、电子设备及存储介质 | |
US8903804B2 (en) | Data existence judging device and data existence judging method | |
CN116719484A (zh) | 一种磁盘阵列的写数据处理方法、装置、设备和介质 | |
CN111984421B (zh) | 数据处理方法、装置及存储介质 | |
CN116501259A (zh) | 磁盘组双活同步方法、装置、计算机设备及存储介质 | |
CN105159804B (zh) | 一种数据块处理的方法、装置及设备 | |
CN104407806B (zh) | 独立磁盘冗余阵列组硬盘信息的修改方法和装置 | |
CN110187834A (zh) | 重删副本的数据处理方法、装置、电子设备 | |
CN108874318A (zh) | 固态硬盘的数据恢复方法以及固态硬盘 | |
CN113190241A (zh) | 数据分区的容量扩充方法、装置、电子设备、存储介质 | |
CN106708445A (zh) | 链路选择方法及装置 | |
CN106611138B (zh) | 一种ghost文件保密检查方法及装置 | |
CN114138424B (zh) | 一种虚拟机内存快照生成方法、装置及电子设备 | |
CN109597577A (zh) | 一种处理nvme协议读写命令的方法、系统及相关装置 | |
WO2022166265A1 (zh) | 一种数据恢复方法、装置、设备及介质 | |
CN115951845A (zh) | 一种磁盘管理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |