CN112416860B - 数据回滚更新方法、装置、计算机设备和存储介质 - Google Patents
数据回滚更新方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112416860B CN112416860B CN202011281876.XA CN202011281876A CN112416860B CN 112416860 B CN112416860 B CN 112416860B CN 202011281876 A CN202011281876 A CN 202011281876A CN 112416860 B CN112416860 B CN 112416860B
- Authority
- CN
- China
- Prior art keywords
- data
- bitmap
- relay
- relay data
- rollback
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013507 mapping Methods 0.000 claims description 10
- 238000005096 rolling process Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 238000010367 cloning Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- 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
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明涉及一种数据回滚更新方法、装置、计算机设备和存储介质,所述方法包括:当接收到指示进行数据回滚操作的消息时,根据位图确定待回滚中继数据;所述位图用于标记由于数据重定向而被修改的中继数据;根据所确定的待回滚中继数据中所记录的存储位置,将存储于快照卷中的待回滚中继数据更新至源卷中;重置位图的标记,完成数据回滚操作;更新经过所述数据回滚操作的数据的索引结构。本申请的方法在进行数据回滚操作时不需要将快照卷中的业务数据复制到源卷中,只需要更新中继数据即可,能够快速完成数据回滚操作,极大地减少了回滚数据所需要等待的时间和数据复制量,有效提高了数据回滚更新的效率。
Description
技术领域
本发明涉及数据处理领域,特别是涉及数据回滚更新方法、装置、计算机设备和存储介质。
背景技术
在数据处理领域,随着数据从离散、不统一和不规范的分布状况向数据集中方向转变,对海量数据进行快速批量处理具有广泛的实际需求。随着数据向集中化发展的趋势,尤其是随着大数据的应用和飞速发展,很多场合下需要针对当前执行的任务停止后续任务的执行,要求任务能够快速有效自我终止执行的机制,并且还能够对已执行任务进行回滚的回滚机制。数据回滚指的是由于发生数据处理错误,而将数据恢复到上一次正确状态的行为。
现有技术中,数据回滚时,容易造成数据丢失,不易查找到目标数据。另外,现有技术采用的数据回滚技术方案包括将快照卷中的业务数据复制到源卷中,这样就造成数据回滚过程要消耗较多的时间。
发明内容
基于此,有必要针对在进行数据回滚时,容易造成数据丢失,不易查找到目标数据的问题,提供一种数据回滚更新方法、装置、计算机设备和存储介质。
一种数据回滚更新方法,包括:
当接收到指示进行数据回滚操作的消息时,根据位图确定待回滚中继数据;所述位图用于标记由于数据重定向而被修改的中继数据;
根据所确定的待回滚中继数据中所记录的存储位置,将存储于快照卷中的待回滚中继数据更新至源卷中;
重置位图的标记,完成数据回滚操作;
对经过所述数据回滚操作的数据的索引结构进行更新。
在其中一个实施例中,所述根据位图确定待回滚中继数据,包括:
遍历位图,查找出状态值发生变化的比特位;
基于所述发生变化的比特位的位置,将对应于所述发生变化的比特位的中继数据作为待回滚中继数据。
在其中一个实施例中,所述将存储于快照卷中的待回滚中继数据更新至源卷中,包括:
复制存储于快照卷中的待回滚中继数据所对应的第一中继数据块,得到复制数据块;
利用复制数据块覆盖源卷中的第二中继数据块;所述第二中继数据块位于所述源卷中的位置与所述第一中继数据块位于所述快照卷中的位置相同。
在其中一个实施例中,在所述当接收到指示进行数据回滚操作的消息时之前,所述方法还包括:
对源卷创建写时重定向快照卷,将源卷的第二中继数据复制到快照卷,在源卷与快照卷之间建立对应关系;
根据中继数据的容量,为位图分配空间。
在其中一个实施例中,在所述为位图分配空间之后,所述方法还包括:
当检测到数据写入请求时,判断快照卷是否发生过写时重定向;
若未发生过写时重定向,则将数据写入请求所对应的业务数据写入新的存储位置,且更新中继数据中的逻辑地址和物理地址之间的映射,并更新位图的标记;
若发生过写时重定向,则利用数据写入请求所对应的业务数据覆盖相应的旧数据。
在其中一个实施例中,所述根据位图确定待回滚中继数据,包括:
遍历位图,查找出状态值发生变化的比特位;
基于查找出的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
在其中一个实施例中,所述索引结构为map结构、二叉搜索树结构、红黑树结构、B树结构或B+树结构。
一种数据回滚更新装置,包括:
确定模块,用于当接收到指示进行数据回滚操作的消息时,根据位图确定待回滚中继数据;所述位图用于标记由于数据重定向而被修改的中继数据;
第一更新模块,用于根据所确定的待回滚中继数据中所记录的存储位置,将存储于快照卷中的待回滚中继数据更新至源卷中;
重设模块,用于重置位图的标记,完成数据回滚操作;
第二更新模块,用于对经过所述数据回滚操作的数据的索引结构进行更新。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述数据回滚更新方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述数据回滚更新方法的步骤。
上述数据回滚更新方法、装置、计算机设备和存储介质,在进行数据回滚操作时不需要将快照卷中的业务数据复制到源卷中,只需要更新中继数据即可,能够快速完成数据回滚操作,极大地减少了回滚数据所需要等待的时间和数据复制量,有效提高了数据回滚更新的效率,更新经过数据回滚操作的数据的索引结构,便于后续对目标数据的查找,避免了数据回滚后产生混乱导致难以查找以及经过数据回滚操作之后导致数据丢失或者不易查找到目标数据的问题。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施方式中提供的数据回滚更新方法的流程图;
图2为本申请另一个实施方式中提供的数据回滚更新方法的流程图;
图3为本申请一个实施方式中的根据位图确定待回滚中继数据的步骤流程图;
图4为本申请一个实施例中提供的数据回滚更新装置的结构框图;
图5为本申请的一个实施例中提供的计算机设备的内部结构框图;
图6为本申请一个实施方式中的将存储于快照卷中的待回滚中继数据更新至源卷中的过程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
如图1所示,本申请的一个实施例提供了一种数据回滚更新方法,包括:
S10、当接收到指示进行数据回滚操作的消息时,根据位图确定待回滚中继数据;其中,该位图(bitmap)用于标记由于数据重定向而被修改的中继数据。
数据回滚指的是由于数据处理错误而将数据恢复到上一次正确状态的行为。在实际操作过程中,数据重定向指的是业务数据重定向,即数据的物理存储位置改变,中继数据存储逻辑地址到物理地址的对应关系,中继数据的内容改变,存储位置不发生变化,回滚时只需要回滚内容改变过的中继数据就可以了。此处的消息可以为指令。
中继数据(Metadata),又称元数据、中介数据,是描述数据的数据(data aboutdata),主要是用于描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。中继数据属于一种电子式目录。
数据重定向是将某个消息执行后应该要出现在屏幕上的数据传输到其他地方,例如保存到文件或者设备中。数据重定向的作用包括:1)保存重要的屏幕输出信息;2)避免后台执行的程序干扰到屏幕正常的数据结果;3)不显示错误的输出信息;4)错误信息和正确信息需要分别记录。
S20、根据所确定的待回滚中继数据中所记录的存储位置,将存储于快照卷中的待回滚中继数据更新至源卷中。
业务数据是通过划分为小数据块的方式分散存储到硬盘的,所以需要记录所有小数据块的存储地址、数据长度等才能再次访问这些业务数据。但是本申请实施例中的中继数据为用于描述业务数据的存储地址、数据长度等信息的数据,根据中继数据存储空间的起始地址和偏移量就能够确定中继数据的存储位置。
源卷即当前逻辑卷。快照卷是一种特殊的逻辑卷。逻辑卷(Logical Volume,LV)类似于非逻辑卷管理器系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。
逻辑卷管理器(Logical Volume Manager,LVM)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次。逻辑卷管理器可以将几块磁盘(物理卷,Physical Volume)组合起来形成一个存储池或者卷组(Volume Group)。逻辑卷管理器可以每次从卷组中划分出不同大小的逻辑卷(Logical Volume)来创建新的逻辑设备。底层的原始的磁盘不再由内核直接控制,而由逻辑卷管理器来控制。对于上层应用来说卷组替代了磁盘块成为数据存储的基本单元。逻辑卷管理器管理所有物理卷的物理盘区,维持逻辑盘区和物理盘区之间的映射。
逻辑卷管理器还具备有“快照卷”的功能,这项功能很类似于虚拟机软件的还原时间点功能。具体地,快照是一种基于时间点的数据复制技术,其能够记录某一时间点的数据并将其保存,如果之后发生某些故障需要恢复数据,可通过快照来将数据恢复到之前时间点的状态。通过快照可以为当前逻辑卷建立一个拷贝,当前逻辑卷即源卷,通过快照建立的拷贝即快照卷。本地复制是存储系统中的一种高级应用,本地复制的一种模式即为克隆。具体地,用户在某一时间点,对源卷发起了克隆请求,随后存储系统会将源卷的数据完完整整的拷贝到目标卷上去,以达到备份数据的目的。
S30、重置位图的标记,完成数据回滚操作。
位图通过不同的状态值来标记数据,例如可以用状态值1来标记待回滚中继数据,待回滚中继数据更新至源卷中之后,对应的状态值1重置为0。这是位图的标记的重置过程。
通过本申请实施例所提供的方法进行数据回滚时不需要将快照卷中的业务数据复制到源卷中,只需要更新中继数据即可,能够快速完成数据回滚操作,极大地减少数据回滚所需要的等待时间和数据复制量,有效提高数据回滚的效率。
S40、对经过数据回滚操作的数据的索引结构进行更新。
其中,在本实施例中索引结构可以采用map结构,key(键)代表时间中的日期,value代表数组结构,存储每小时区块高度,数字下标表示当天小时。map结构类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。
索引结构是帮助数据库高效获取数据的排好序的数据结构。在索引结构和数据之间形成一对一的映射关系,突出了数据的惟一性特点,可以极大地提高在数据库中获取所需数据的速度。map结构原生提供三个遍历器生成函数和一个遍历方法:keys():返回键名的遍历器;values():返回键值的遍历器;entries():返回所有成员的遍历器;forEach():遍历map的所有成员。
另外,索引结构也可以采用二叉搜索树结构、红黑树结构、B树结构以及B+树结构等结构。
在某些实施方式中,参考图2所示,在执行步骤S10的接收到指示进行数据回滚操作的消息之前,该数据回滚更新方法还可以包括步骤:
S01、对源卷创建写时重定向快照卷,将源卷的中继数据复制到快照卷,在源卷与快照卷之间建立映射关系;
S02、根据中继数据的容量,为位图分配空间。
写时重定向即为了保护原数据,将对原数据存储空间的写操作重新定向到另一个存储空间的操作方法。写时重定向英文全称Redirect-on-write,简称ROW。
创建写时重定向快照卷时可以根据卷容量空间为中继数据分配容量空间,例如一个中继数据块6~8个字节,管理一个256KB大小的业务数据;然后根据中继数据的容量空间为位图分配空间,在位图中用1比特标记一个中继数据块的状态,有多少个中继数据块就采用多少比特进行标记,就为位图分配多少比特的空间,即位图所占空间的比特数等于中继数据块的数量。中继数据中会记录数据的存储位置,每个中继数据记录一个数据块的逻辑地址和物理地址之间的映射关系。
在某些实施方式中,在为位图分配空间之后,数据回滚更新方法还包括:
当检测到数据写入请求时,判断快照卷是否发生过写时重定向;
若未发生过写时重定向,则将数据写入请求所对应的业务数据写入新的存储位置,且更新中继数据中的逻辑地址和物理地址之间的映射,并更新位图的标记;
若发生过写时重定向,则利用数据写入请求所对应的业务数据覆盖相应的旧数据。
例如:假设在检测到数据写入请求之前存储位置中所存储的原始数据是D,在检测到数据写入请求之后,根据数据写入请求写入新的数据D’时,检测到存在写时重定向快照但没有发生过数据重定向时,数据D’不会覆盖原始数据D,而是写入新的存储位置,并且更新中继数据中的逻辑地址和物理地址之间的对应关系,以及更新对应的位图标记。
当再次检测到数据写入请求之后,根据再次检测到的数据写入请求写入新的数据D”时,若检测到存在写时重定向快照且已经发生过数据重定向时,则不会再次进行数据重定向,而是直接用数据D”覆盖数据D’。
在某些实施方式中,如图3所示,步骤S10中,所述根据位图确定待回滚中继数据,包括:
S101、遍历位图,查找出状态值发生变化的比特位;
S102、基于查找出的状态值发生变化的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
比特位的状态值发生变化的情况包括:比特位的状态值的初始为0,发生变化时变为1;比特位的状态值的初始为1,发生变化时变为0。状态值是比特位的值,为0或1。状态值变化规则可根据实际情况进行设定。当要进行快照回滚时,遍历位图寻找状态值发生变化的比特位,根据比特位的位置能够确定需要回滚的中继数据块。
在某些实施方式中,步骤S20中,将存储于快照卷中的待回滚中继数据更新至源卷中,包括:复制存储于快照卷中的待回滚中继数据所对应的第一中继数据块,得到复制数据块;利用复制数据块覆盖源卷中的第二中继数据块;第二中继数据块位于所述源卷中的位置与第一中继数据块位于快照卷中的位置相同。具体地,参照图6所示,复制快照卷中位于第一位置的中继数据块,得到复制数据块,利用复制数据块覆盖源卷中同样位于第一位置的中继数据块。
在某些实施方式中,在接收到指示进行数据回滚操作的消息之后,该数据回滚更新方法还可以包括:记录数据回滚操作进程状态。具体地,将数据回滚操作过程中的数据状态(例如存储位置等)变化以及操作步骤进程(例如具体进行到哪一步骤、数据回卷完成比例以及是否完成回卷等)记录下来。
在某些实施方式中,在完成数据回滚操作之前,数据回滚更新方法还可以包括:根据所记录的最新的数据回滚操作进程状态继续执行数据回滚操作(数据回滚操作同上述实施例),直至位图被遍历完为止。遍历完整个位图就完成了数据回滚操作。具体地,确定位图的各比特位的状态值是否均已经被检测过,若是则表示数据回滚操作完成。
本申请实施例在进行数据回滚操作时不需要将快照卷中的业务数据复制到源卷中,只需要更新中继数据即可,能够快速完成数据回滚操作,极大地减少了回滚数据所需要等待的时间和数据复制量,有效提高了数据回滚更新的效率,更新经过数据回滚操作的数据的索引结构,便于后续对目标数据的查找,避免了数据回滚后产生混乱导致难以查找以及经过数据回滚操作之后导致数据丢失或者不易查找到目标数据的问题。
如图4所示,本申请的另一个实施例提供了一种数据回滚更新装置,包括:
确定模块,用于当接收到指示进行数据回滚操作的消息时,根据位图确定待回滚中继数据;所述位图用于标记由于数据重定向而被修改的中继数据;
第一更新模块,用于根据所确定的待回滚中继数据中所记录的存储位置,将存储于快照卷中的待回滚中继数据更新至源卷中;
重设模块,用于重置位图的标记,完成数据回滚操作;
第二更新模块,用于更新经过所述数据回滚操作的数据的索引结构。
在某些实施方式中,确定模块所执行的根据位图确定待回滚中继数据的步骤,包括:
遍历位图,查找出状态值发生变化的比特位;
基于查找出的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
在某些实施方式中,第一更新模块所执行的将存储于快照卷中的待回滚中继数据更新至源卷中,包括:
复制存储于快照卷中的待回滚中继数据所对应的第一中继数据块,得到复制数据块;
利用复制数据块覆盖源卷中的第二中继数据块;所述第二中继数据块与所述第一中继数据块位于相同的位置。
在某些实施方式中,该数据回滚更新装置还包括创建模块和分配模块;
创建模块用于在接收到回滚消息之前对源卷创建写时重定向快照,将源卷的中继数据复制到快照卷,在源卷与快照卷之间建立对应关系;
分配模块用于根据中继数据的容量,为位图分配空间。
在某些实施方式中,该数据回滚更新装置还包括判断模块、写入模块和覆盖模块,判断模块用于在分配模块为位图分配空间之后,当检测到数据写入请求时,判断快照卷是否发生过写时重定向;
写入模块用于若未发生过写时重定向,则将数据写入请求所对应的业务数据写入新的存储位置,且更新中继数据中的逻辑地址和物理地址之间的映射,并更新位图的标记;
覆盖模块用于若发生过写时重定向,则利用数据写入请求所对应的业务数据覆盖相应的旧数据。
在某些实施方式中,确定模块所执行的根据位图确定待回滚中继数据的步骤,包括:
遍历位图,查找出状态值发生变化的比特位;
基于查找出的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
所述索引结构为map结构、二叉搜索树结构、红黑树结构、B树结构或B+树结构。
图5为一个实施例中计算机设备的内部结构示意图。如图5所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种数据回滚更新方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种数据回滚更新方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:当接收到指示进行数据回滚操作的消息时,根据位图确定待回滚中继数据;所述位图用于标记由于数据重定向而被修改的中继数据;根据所确定的待回滚中继数据中所记录的存储位置,将存储于快照卷中的待回滚中继数据更新至源卷中;重置位图的标记,完成数据回滚操作;更新经过所述数据回滚操作的数据的索引结构。
在某些实施方式中,处理器所执行的根据位图确定待回滚中继数据的步骤,包括:
遍历位图,查找出状态值发生变化的比特位;
基于查找出的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
在某些实施方式中,处理器所执行的将存储于快照卷中的待回滚中继数据更新至源卷中的步骤,包括:
复制存储于快照卷中的待回滚中继数据所对应的第一中继数据块,得到复制数据块;
利用复制数据块覆盖源卷中的第二中继数据块;所述第二中继数据块与所述第一中继数据块位于相同的位置。
在某些实施方式中,所述处理器执行所述计算机程序时,在接收到回滚消息之前,还执行以下步骤:
对源卷创建写时重定向快照,将源卷的中继数据复制到快照卷,在源卷与快照卷之间建立对应关系;
根据中继数据的容量,为位图分配空间。
在某些实施方式中,所述处理器在执行为位图分配空间的步骤之后,还执行以下步骤:
当检测到数据写入请求时,判断快照卷是否发生过写时重定向;
若未发生过写时重定向,则将数据写入请求所对应的业务数据写入新的存储位置,且更新中继数据中的逻辑地址和物理地址之间的映射,并更新位图的标记;
若发生过写时重定向,则利用数据写入请求所对应的业务数据覆盖相应的旧数据。
在某些实施方式中,所述处理器所执行的根据位图确定待回滚中继数据,包括:
遍历位图,查找出状态值发生变化的比特位;
基于查找出的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
所述索引结构为map结构、二叉搜索树、红黑树、B树或B+树结构。
其中,存储器可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
系统总线可以是ISA总线、PCI总线或EISA总线等。所述系统总线可以分为地址总线、数据总线、控制总线等。其中,存储器用于存储程序,所述处理器在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述数据回滚更新方法可以应用于处理器中,或者由处理器实现。
处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,可以包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的数据回滚更新方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请的另一个实施例提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行一种数据回滚更新方法的步骤,包括:
当接收到指示进行数据回滚操作的消息时,根据位图确定待回滚中继数据;所述位图用于标记由于数据重定向而被修改的中继数据;
根据所确定的待回滚中继数据中所记录的存储位置,将存储于快照卷中的待回滚中继数据更新至源卷中;
重置位图的标记,完成数据回滚操作;
更新经过所述数据回滚操作的数据的索引结构。
在某些实施方式中,所述一个或多个处理器所执行的根据位图确定待回滚中继数据的步骤,包括:
遍历位图,查找出状态值发生变化的比特位;
基于查找出的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
在某些实施方式中,所述一个或多个处理器所执行的所述将存储于快照卷中的待回滚中继数据更新至源卷中的步骤,包括:
复制存储于快照卷中的待回滚中继数据所对应的第一中继数据块,得到复制数据块;
利用复制数据块覆盖源卷中的第二中继数据块;所述第二中继数据块与所述第一中继数据块位于相同的位置。
在某些实施方式中,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行一种数据回滚更新方法的步骤,在接收到回滚消息之前,所述方法还包括:
对源卷创建写时重定向快照,将源卷的中继数据复制到快照卷,在源卷与快照卷之间建立对应关系;
根据中继数据的容量,为位图分配空间。
在某些实施方式中,所述一个或多个处理器执行一种数据回滚更新方法的步骤,在所述为位图分配空间之后,所述方法还包括:
当检测到数据写入请求时,判断快照卷是否发生过写时重定向;
若未发生过写时重定向,则将数据写入请求所对应的业务数据写入新的存储位置,且更新中继数据中的逻辑地址和物理地址之间的映射,并更新位图的标记;
若发生过写时重定向,则利用数据写入请求所对应的业务数据覆盖相应的旧数据。
在某些实施方式中,所述一个或多个处理器所执行的所述根据位图确定待回滚中继数据,包括:
遍历位图,查找出状态值发生变化的比特位;
基于查找出的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
所述索引结构为map结构、二叉搜索树、红黑树、B树或B+树结构。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
术语“模块”并非意图受限于特定物理形式。取决于具体应用,模块可以实现为硬件、固件、软件和/或其组合。此外,不同的模块可以共享公共组件或甚至由相同组件实现。不同模块之间可以存在或不存在清楚的界限。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种数据回滚更新方法,其特征在于,包括:
当接收到指示进行数据回滚操作的消息时,根据位图确定待回滚中继数据;所述位图用于标记由于数据重定向而被修改的中继数据;
根据所确定的待回滚中继数据中所记录的存储位置,将存储于快照卷中的待回滚中继数据更新至源卷中;
重置位图的标记,完成数据回滚操作,包括:确定位图的各比特位的状态值是否均已经被检测过,若是则表示数据回滚操作完成;
对经过所述数据回滚操作的数据的索引结构进行更新,其中,所述索引结构为map结构、二叉搜索树结构、红黑树结构、B树结构或B+树结构;
根据位图确定待回滚中继数据,包括:
遍历位图,查找出状态值发生变化的比特位;基于查找出的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
2.根据权利要求1所述的方法,其特征在于,所述根据位图确定待回滚中继数据,包括:
遍历所述位图,查找出状态值发生变化的比特位;
基于所述发生变化的比特位的位置,将对应于所述发生变化的比特位的中继数据作为待回滚中继数据。
3.根据权利要求2所述的方法,其特征在于,所述将存储于快照卷中的待回滚中继数据更新至源卷中,包括:
复制存储于快照卷中的待回滚中继数据所对应的第一中继数据块,得到复制数据块;
利用复制数据块覆盖所述源卷中的第二中继数据块;所述第二中继数据块位于所述源卷中的位置与所述第一中继数据块位于所述快照卷中的位置相同。
4.根据权利要求3所述的方法,其特征在于,在所述当接收到指示进行数据回滚操作的消息时之前,所述方法还包括:
对源卷创建写时重定向快照卷,将所述源卷的第二中继数据复制到快照卷,在源卷与快照卷之间建立对应关系;
根据中继数据的容量,为位图分配空间。
5.根据权利要求4所述的方法,其特征在于,在所述为位图分配空间之后,所述方法还包括:
当检测到数据写入请求时,判断所述快照卷是否发生过写时重定向;
若未发生过写时重定向,则将数据写入请求所对应的业务数据写入新的存储位置,且更新中继数据中的逻辑地址和物理地址之间的映射,并更新位图的标记;
若发生过写时重定向,则利用数据写入请求所对应的业务数据覆盖相应的旧数据。
6.一种数据回滚更新装置,其特征在于,包括:
确定模块,用于当接收到指示进行数据回滚操作的消息时,根据位图确定待回滚中继数据;所述位图用于标记由于数据重定向而被修改的中继数据;
第一更新模块,用于根据所确定的待回滚中继数据中所记录的存储位置,将存储于快照卷中的待回滚中继数据更新至源卷中;
重设模块,用于重置位图的标记,完成数据回滚操作,其中,所述重设模块进一步用于:确定位图的各比特位的状态值是否均已经被检测过,若是则表示数据回滚操作完成;
第二更新模块,用于对经过所述数据回滚操作的数据的索引结构进行更新,其中,所述索引结构为map结构、二叉搜索树结构、红黑树结构、B树结构或B+树结构;
所述确定模块,进一步用于遍历位图,查找出状态值发生变化的比特位;基于查找出的比特位的位置,将对应于比特位的中继数据作为待回滚中继数据。
7.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项权利要求所述数据回滚更新方法的步骤。
8.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至5中任一项权利要求所述数据回滚更新方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011281876.XA CN112416860B (zh) | 2020-11-16 | 2020-11-16 | 数据回滚更新方法、装置、计算机设备和存储介质 |
PCT/CN2021/096876 WO2022100064A1 (zh) | 2020-11-16 | 2021-05-28 | 数据回滚更新方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011281876.XA CN112416860B (zh) | 2020-11-16 | 2020-11-16 | 数据回滚更新方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416860A CN112416860A (zh) | 2021-02-26 |
CN112416860B true CN112416860B (zh) | 2024-04-26 |
Family
ID=74831849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011281876.XA Active CN112416860B (zh) | 2020-11-16 | 2020-11-16 | 数据回滚更新方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112416860B (zh) |
WO (1) | WO2022100064A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416860B (zh) * | 2020-11-16 | 2024-04-26 | 平安科技(深圳)有限公司 | 数据回滚更新方法、装置、计算机设备和存储介质 |
US20230273742A1 (en) * | 2022-02-28 | 2023-08-31 | Nebulon, Inc. | Recovery of clustered storage systems |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140536A (zh) * | 2007-05-21 | 2008-03-12 | 中兴通讯股份有限公司 | 一种支持级联快照的快照系统及其快照处理方法 |
CN104407935A (zh) * | 2014-11-07 | 2015-03-11 | 华为数字技术(成都)有限公司 | 快照回滚方法和存储设备 |
CN106055431A (zh) * | 2016-05-30 | 2016-10-26 | 河海大学 | 基于快照在线回滚的数据备份与恢复的方法及装置 |
CN106293882A (zh) * | 2016-08-12 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟磁盘快照实现方法及装置 |
CN108958974A (zh) * | 2018-06-29 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种快照方法、装置、系统及可读存储介质 |
CN110795282A (zh) * | 2019-10-18 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 一种数据回滚方法、装置、设备及存储介质 |
CN111831475A (zh) * | 2019-05-31 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 数据备份方法、装置、节点设备及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108634B1 (en) * | 2008-06-27 | 2012-01-31 | Emc B.V., S.A.R.L. | Replicating a thin logical unit |
US9128901B1 (en) * | 2011-12-30 | 2015-09-08 | Emc Corporation | Continuous protection of data and storage management configuration |
CN112416860B (zh) * | 2020-11-16 | 2024-04-26 | 平安科技(深圳)有限公司 | 数据回滚更新方法、装置、计算机设备和存储介质 |
-
2020
- 2020-11-16 CN CN202011281876.XA patent/CN112416860B/zh active Active
-
2021
- 2021-05-28 WO PCT/CN2021/096876 patent/WO2022100064A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140536A (zh) * | 2007-05-21 | 2008-03-12 | 中兴通讯股份有限公司 | 一种支持级联快照的快照系统及其快照处理方法 |
CN104407935A (zh) * | 2014-11-07 | 2015-03-11 | 华为数字技术(成都)有限公司 | 快照回滚方法和存储设备 |
CN106055431A (zh) * | 2016-05-30 | 2016-10-26 | 河海大学 | 基于快照在线回滚的数据备份与恢复的方法及装置 |
CN106293882A (zh) * | 2016-08-12 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟磁盘快照实现方法及装置 |
CN108958974A (zh) * | 2018-06-29 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种快照方法、装置、系统及可读存储介质 |
CN111831475A (zh) * | 2019-05-31 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 数据备份方法、装置、节点设备及可读存储介质 |
CN110795282A (zh) * | 2019-10-18 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 一种数据回滚方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022100064A1 (zh) | 2022-05-19 |
CN112416860A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10642729B2 (en) | Data storage device and operating method thereof wherein update to physical-to-logical mapping of destination block is restarted when closing active block | |
CN109426619B (zh) | 访问快闪存储器模块的方法及相关闪存控制器与电子装置 | |
CN109343790B (zh) | 一种基于nand flash的数据存储方法、终端设备及存储介质 | |
US10983955B2 (en) | Data unit cloning in memory-based file systems | |
JP3708047B2 (ja) | フラッシュメモリの管理方法 | |
CN110018989B (zh) | 一种快照比对的方法和装置 | |
US11347417B2 (en) | Locking structures in flash memory | |
JP6013626B2 (ja) | 不揮発性メモリ書込み機構 | |
CN112416860B (zh) | 数据回滚更新方法、装置、计算机设备和存储介质 | |
US11354192B2 (en) | Data storage devices and methods for firmware failure prevention | |
CN110399333B (zh) | 删除快照的方法、设备和计算机程序产品 | |
CN112463058B (zh) | 一种碎片数据整理方法、装置及存储节点 | |
CN112988611A (zh) | 非易失性存储器的数据写入方法、终端和可读存储介质 | |
WO2024099448A1 (zh) | 内存释放、内存恢复方法、装置、计算机设备及存储介质 | |
CN108614780B (zh) | 数据储存装置及其数据维护方法 | |
US9535796B2 (en) | Method, apparatus and computer for data operation | |
US10678453B2 (en) | Method and device for checking false sharing in data block deletion using a mapping pointer and weight bits | |
CN112988037A (zh) | 静态磨损均衡方法、终端和计算机可读存储介质 | |
CN116126591B (zh) | 一种嵌入式系统的事务机制 | |
CN113342751B (zh) | 元数据处理方法、装置、设备和可读存储介质 | |
US12039193B2 (en) | Apparatus, method and computer program for managing memory page updates within non-volatile memory | |
CN114518834B (zh) | 一种信息存储方法、装置及电子设备 | |
CN115098044B (zh) | 一种提升周期异步远程复制方法、系统及主机 | |
CN107967222A (zh) | 一种SPI-Nand查找数据页的方法及装置 | |
US12079209B1 (en) | Checkpoints management by a memory controller |
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 |