CN107656834A - 基于事务日志恢复主机访问 - Google Patents
基于事务日志恢复主机访问 Download PDFInfo
- Publication number
- CN107656834A CN107656834A CN201710621070.2A CN201710621070A CN107656834A CN 107656834 A CN107656834 A CN 107656834A CN 201710621070 A CN201710621070 A CN 201710621070A CN 107656834 A CN107656834 A CN 107656834A
- Authority
- CN
- China
- Prior art keywords
- memory cell
- node
- affairs
- exception table
- transaction journal
- 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.)
- Granted
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
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
-
- 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/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- 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/18—File system types
- G06F16/182—Distributed file systems
-
- 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/18—File system types
- G06F16/1865—Transactional file systems
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2035—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文公开的示例涉及基于事务日志恢复主机访问。本文公开的示例涉及处理用于存储节点的事务日志。多个节点管理对存储单元的事务,包括事务日志。节点取得对存储单元的集合的控制并且阻止对存储单元的主机访问请求。处理事务日志以确定要为其执行复原的集合的子集。在该示例中,存储单元的子集被锁定。恢复主机访问请求。
Description
背景技术
迄今为止,一些分布式文件系统使用控制器的网络来管理去往和来自存储单元的事务。这样的控制器可以在它们自己之间复制事务日志。如果控制器出故障,事务日志可以用于确定在控制器出故障时进行中的事务。
附图说明
以下详细描述参考附图,其中:
图1和2是根据各种示例的能够在节点接管冗余系统中的存储单元的控制之后恢复主机访问请求的计算系统的框图;
图3是根据示例的用于使用临时元数据的数据结构来在节点接管冗余系统中的存储单元的控制之后加速主机访问请求的恢复的方法的流程图;
图4是根据示例的能够使用临时元数据的数据结构来在节点接管冗余系统中的存储单元的控制之后加速主机访问请求的恢复的计算设备的框图;
图5是根据示例的用于在复原期间页调入异常表的方法的流程图;以及
图6是根据示例的用于基于来自主机的请求而优先化异常表的页调入的方法的流程图。
具体实施方式
计算设备可以在文件系统中存储数据,所述文件系统可以在文件、目录或者其它“文件系统对象”中存储数据,并且可以存储与每一个文件系统对象相关联的各种元数据。在一些示例中,(多个)计算设备可以在分布式文件系统(DFS)中存储数据,所述数据提供用于DFS的存储的全局文件系统命名空间语义,其中总体DFS的不同存储部分物理上相互分离、逻辑上相互分离、或者其组合,不过(例如,经由至少一个计算机网络)可被DFS的全局功能性访问。
在一些示例中,DFS可以包括多个存储节点或者“节点”,每一个管理DFS的一个或多个存储单元。在一些示例中,存储节点可以物理上或逻辑上相互分离或远离(或其组合),但是可相互访问或者(例如,经由至少一个计算机网络)可被实现用于DFS的全局功能的至少一个存储节点访问。在本文描述的示例中,存储节点可以包括至少一个计算设备以实现存储节点的功能性,所述功能性包括本地管理DFS的一个或多个存储单元。在其它示例中,存储节点可以通过分离的物理计算设备和不同的逻辑计算设备(例如,虚拟机等)的组合来实现。
在本文描述的示例中,“存储单元”可以是DFS中离散的物理和/或逻辑存储部分,所述存储部分实现其自身独立的特定于该存储部分的本地文件系统。在一些示例中,不同存储单元可以通过不同存储设备(例如,不同物理盘、驱动等)、通过单个存储设备的不同部分、或者其组合而实现。在一些示例中,由相关联的存储节点管理的存储单元可以通过在本地物理地连接到实现存储节点的计算设备的至少一个存储设备来实现,或者可以通过存储阵列的部分(例如,由给定的逻辑单元号(LUN)标识的给定的逻辑存储单元)来实现。
在本文描述的示例中,元数据是给出关于其它数据的信息的数据集。在存储系统的上下文中,元数据的示例是位图、异常表、日志页等。
在一个示例中,位图用于空间管理。当存储系统需要空间时(例如,用于元数据,比如异常表,或者用于主机想要写入的数据),存储系统检查属于该LUN的位图列表以便确定哪里存在空余空间并且分配所需要的空间。在一些示例中,寻找空余空间可以包括翻查没有存储在所翻查的系统节点的主存储器中的信息。
在另一个示例中,“日志页”用于空间释放操作。日志页存储需要在那里执行释放操作的位置。考虑示例,在示例中,LUN 20的偏移量120最初指向逻辑盘(LD1)的偏移量10,并且之后,完全消除零(write full off zeros)发生于LUN 20的偏移量120。如果系统具有零的特殊表示,空间不再需要用于存储零数据。照此,可以释放LD 1的偏移量10。代替直接更新位图,LD 1的偏移量10可以放置到日志页中,所述日志页最终可以由后台线程处理。在一些示例中,可以使事务日志条目用于日志页的更新直至将它冲刷到非易失性存储器。
如本文中使用,术语“异常表”是数据结构,所述数据结构可以包括虚拟卷到逻辑驱动的映射信息。例如,异常表可以由地址表形成,所述地址表将虚拟卷页映射到存储单元(例如,逻辑盘页)。随着存储需求增长,从分离的存储池给数据页和地址表分配附加存储。如果任何池快用完,将更多逻辑盘区分配给该池。照此,可以为主机提供对可能可变的存储空间的访问。另外,多个等级的异常表可以用于确定针对存储单元的逻辑/物理位置。例如,第一等级的异常表可以被系统中的每一个节点指向并且对于系统中的每一个节点而言已知。异常表条目可以引用第二等级的异常表。类似地,可以使用异常表的进一步层。在一个示例中,可以使用虚拟标识符和偏移量来根据第一等级异常表确定第二等级异常表。然后,虚拟标识符和偏移量可以用于根据第二等级异常表确定向物理存储单元或者另一等级异常表的映射。由于可以控制大量存储,所以异常表和/或其它元数据的数据结构的尺寸可以是大的,例如达到数百兆字节或更大的量级。
存储节点可以充当用于存储单元的高速缓存器(例如,以写入信息)。主机可以请求使用存储节点从存储单元读取和/或向存储单元写入。网络中的存储节点可以出于故障容错目的而在它们自己之间复制事务日志。如果一个节点出故障,另一个存储节点可以替代出故障的存储节点。通过分析事务日志,替代的存储节点可以从出故障的存储节点结束的地方继续。
此外,在故障容错系统中,事务日志的副本和所高速缓存的数据(例如,要写入的信息)的副本可以保持在两个或更多节点处。在一些示例中,所高速缓存的数据可以实现为高速缓存存储器页。另外,写入信息可以包括标记为脏(或已更改)的高速缓存存储器页。照此,控制存储器单元的集合的存储节点可以在存储节点上的存储器中包括写入信息以及事务日志。控制的存储节点还可以将事务日志拷贝到另一个节点。另外,控制的存储节点还可以将写入信息拷贝到另一个节点。最终,将写入信息冲刷到对应存储单元。此外,具有事务日志的副本的节点与具有写入信息的副本的节点可以是相同的节点。在故障容错系统中,目标可以是在提供主机读取和写入访问时,为主机提供事务日志和写入信息的至少两个副本。照此,在控制的存储节点出故障时,接收控制的存储节点处理事务日志以便确保写入信息和事务日志的两个副本存在。
如本文中使用,术语“事务日志”是包括以下的日志:两个节点上的数据(例如,写入信息)的两个副本的位置、对元数据的更新(例如,新的异常表条目值)、以及关于要在哪里写入数据的信息(例如,存储单元的位置,诸如主机向其写入过的LUN的偏移量)。当主机向存储单元写入时,控制的节点创建事务日志并且在第二节点处做出事务日志的副本。另外,写入信息被包括在控制的节点上,并且写入信息的副本保持在第二节点处。事务日志的副本和写入信息的副本可以处在相同的节点上或者可以处在不同的节点上。
在一个示例中,在正常操作期间,系统可以提供的不变属性可以是:在向存储单元提供主机访问时,存在写入信息和事务日志的副本。在一个节点死亡时,这样的不变量不再成立。在该示例中,术语“回放”是遍历事务日志并且创建写入信息和事务日志的新副本的操作,使得不变量在回放完成之后仍然成立。不存在已死亡的节点将回来的假设。
在处理期间,阻止来自主机对集合中的存储单元的输入/输出(IO)以确保故障容错。然而,这可能耗费时间,因为用于完成与事务日志相关联的复原操作的信息中的一些可能存储在存储单元之一上,相比于例如存储节点的主存储器,这花费更多的时间来页调入。如本文中使用,节点的“主存储器”是由节点的处理器可直接访问的存储器。在阻止对IO的主机访问的时间期间,IO搁置时间可能引起应用出故障。
相应地,本文公开的各种实施例涉及在存储节点出故障以及它的相关联的存储单元集合被新存储节点控制之后加快使得主机IO恢复所花费的时间量。如本文中使用,“出故障”或死亡的存储节点是将不再控制它正控制的存储单元的集合的存储节点。这可以例如是由于非预期的故障、节点出问题以重启、或者出于某种其它原因的转移。
当接收对存储单元的集合的控制的存储节点接收到控制时,接收的存储节点阻止对所转移的存储单元集合的主机访问请求。接收的存储节点处理事务日志以便确定必需在其上执行复原的存储单元集合的子集,例如因为那些存储单元具有尚未完成的待决活动。一些复原操作可以由接收的存储节点快速地执行,而例如当异常表或其它元数据需要从存储单元加载以执行复原时,其它复原操作可能花费延长的时间段。
照此,在页调入异常表的示例中,可以创建临时异常表,而不是加载异常表。类似地,可以针对可能需要页调入的其它元数据来创建对应的临时元数据的数据结构。临时异常表或临时元数据的数据结构将在存储器分配的次序上花费时间。异常表的加载可以在后台中排队进行,而临时异常表可以用于标示存储单元具有待决的一个或多个复原操作并且锁定存储单元以防由主机访问。临时异常表还可以包括一个或多个相关联的复原事务。在一些示例中,复原事务或操作包括要对异常表做出的改变。例如,假定异常表A的条目10为空,那么主机向该位置写入到逻辑盘LD的偏移量100的映射,异常表A的条目10将更新为在写入完成之后具有该信息。如果节点在其间出问题,那么在复原期间,系统将创建复原项,所述复原项标明要利用向逻辑盘LD的偏移量100的映射来更新条目100。如本文中使用,虚拟卷和虚拟卷页可以称为虚拟存储单元,而物理盘或驱动,诸如逻辑盘,可以称为存储单元。主机IO请求可以例如通过使用虚拟标识符和偏移量引用虚拟存储单元。该虚拟标识符和偏移量可以用于在第一等级异常表中查找第二等级异常表(类似地,第二等级异常表可以用于查找第三个等)。如果一个等级的异常表没有处在接收控制的节点的主存储器中,可以做出临时异常表并且在数据结构(例如,散列表)中对其进行引用。这样,如果主机IO请求加入请求虚拟存储单元,接收控制的节点将知晓复原操作在虚拟存储单元以及因而在存储单元上待决。
一旦根据经处理的事务日志做出临时异常表,主机访问请求就可以恢复。利用该方案,仅仅锁定具有待决复原的存储单元以防可从主机访问请求访问。此外,主机访问请求可以对所有存储单元而恢复。
当接收到主机访问请求时,接收的存储节点可以检查其异常表(包括临时异常表),使用数据结构来确定要访问的存储单元是否具有相关联的待决复原事务。如果不存在待决复原事务,那么可以正常地处理IO。如果存在相关联的待决复原事务,对主机请求的答复可以等待任何所需要的异常表的页调入,这可以相比于其它复原事务而优先化。然后,存储单元上的锁可以被释放,并且可以使用正常过程答复主机请求。在一个示例中,锁是临时异常表的存在,并且解锁可以通过从数据结构移除临时异常表来执行。
当参照示例和附图的以下描述考虑时,将领会到本公开的方面、特征和优点。以下描述不限制本申请;相反地,本公开的方面由随附权利要求和等同方案来限定。
图1和2是根据各种示例的能够在节点接管冗余系统中的存储单元的控制之后恢复主机访问请求的计算系统的框图。在一个示例中,系统100可以包括多个存储节点或者节点102a、102b-102n,它们可以用于控制存储单元104a-104m。节点102和存储单元104可以经由一个或多个网络106进行通信。在该示例中,节点102a可以控制存储单元的集合-例如存储单元104b-104i(未示出),并且包括事务日志110。另外,节点102a可以包括来自主机请求的写入信息120,所述主机请求尚未写入到存储单元104b-104i。节点102b可以包括事务日志的副本或者事务日志副本112,以及控制对存储单元的访问的控制引擎130和处理事务日志的事务引擎132。
此外,图2的示例示出了系统200,所述系统200进一步包括主机250,所述主机250经由网络210向节点102请求对存储单元104的IO访问。在该示例中,节点102b进一步包括复原引擎234和页调入引擎236以及至少一个处理器240和存储器242。此外,节点102n可以包括写入信息222的副本。
如所指出的,节点102a可以控制存储单元104b-104i。节点102a可以管理去往和来自存储单元104b-104i的事务。管理事务可以包括维护以上描述的事务日志(包括事务的细节),以及管理相关联的写入信息。如上文所指出,在事务日志中维护的事务的细节包括写入信息的位置、写入信息的副本的位置(例如在另一个节点上,写入信息副本222在节点102n上)、对异常表的更新、以及关于要将写入信息写入在哪里(例如,哪个存储单元)的信息(例如,以主机向其写入的LUN和偏移量的形式)。如所示的,节点102b包括事务日志副本112,所述事务日志副本112是事务日志110的副本。当节点102a出故障时,系统100,200可以被配置为使节点102b恢复对存储单元104b-104i的集合的控制。
控制引擎130可以取得对存储单元104b-104i的集合的控制。尽管在数字104b-104i中描述该集合,但是该集合不需要是连续的。在该点处,系统100,200不具有事务日志和写入信息的至少两个分离的副本。照此,节点102b开始复原操作。控制引擎130可以阻止对存储单元104b-104i的集合的主机访问请求。主机请求或者可以返回错误或者进入队列排队直至处理恢复。
事务引擎132处理事务日志来确定要为其执行复原的存储单元的集合的子集并且更新数据结构(诸如散列表或链接列表)以锁定存储单元的子集。如本文中使用,子集包括来自存储单元的集合的存储单元中的至少一个,但是并不是来自存储单元的集合的所有存储单元。在一些示例中,数据结构包括存储的信息的类型-例如正常IO操作或者复原操作。在正常操作期间,数据结构可以用于指出哪个数据处在高速缓存器中。在一些示例中,在该复原期间,数据结构可以根据事务日志创建或更新。处理可以包括回放事务日志以便创建写入信息的新副本并且在另一个节点或其它节点处创建新的事务日志。在一个示例中,旧的事务日志将具有写入信息在节点102a和102n中的位置。新的事务日志将具有写入信息在节点102n和另一个位置(例如,节点102d)处的位置。在一些示例中,具有写入信息副本的节点实际上是节点102b,并且事务日志和写入信息二者的副本处在相同的节点上。
在事务日志副本112的回放期间,回放可以通过使用临时元数据的数据结构(诸如临时异常表)而提速。复原引擎234可以对来自存储单元的子集的存储单元(例如,存储单元104c-104h)发起复原操作。对于与数据结构(诸如异常表)相关联的每一个复原操作,可以确定元数据或者异常表是否需要从比经由快速链路连接的节点102中的另一个或者节点102的主存储器更慢的存储器源(例如,非主存储器或非易失性存储器)进行页调入。如果是这样,创建诸如临时异常表之类的临时元数据的数据结构,并且所述临时元数据的数据结构包括相关联的复原事务(例如,在异常表中标记要与事务日志中的虚拟卷相关联的物理存储单元)。临时元数据的数据结构-诸如临时异常表可以在主机访问请求被恢复之前创建。
如上文指出,复原操作的部分可以包括从存储单元(例如,不是节点102b的主存储器的单元)进行异常表的页调入。数据结构(诸如散列表)可以用于控制异常表和其它临时元数据的数据结构(例如,临时异常表)。在一些示例中,数据结构可以在正常IO事务和复原相关IO事务之间进行区分。例如,异常表和临时异常表可以具有标示,所述标示将它们区分为异常表或临时异常表。与临时异常表相关联的存储单元可以视为被隐含地锁定。在其它示例中,可以使用明确锁。
一旦临时异常表就位,控制引擎130就可以恢复主机访问请求。在一个示例中,数据结构可以标识每一个临时异常表。例如一旦主机访问请求已经恢复的话,相关联的异常表就可以在后台中被页调入。照此,页调入引擎236可以从较慢的存储器向节点102b的主存储器或易失性存储器页调入异常表。如上文指出,异常表可以包括用于写入信息的映射信息。恢复主机访问请求可以意味着主机访问请求被解锁并且被服务和被处理。
如上文指出,可以使写入信息副本222由复原引擎234拷贝到另一个节点-例如节点102b。写入信息的部分每次都可以被拷贝,作为事务日志的处理的部分。
一旦IO恢复,控制引擎130就可以通过网络210从相应主机250接收请求。控制引擎130可以接收对存储单元104c的主机请求,所述存储单元104c是该示例中的子集的部分。控制引擎130可以基于散列表、基于查找临时异常表或者使用类似查找而确定存储单元104c被锁定。基于存储单元104c被锁定的确定,与存储单元104c相关联的(多个)复原事务的性能得以优先化。一旦复原事务完成,存储单元104c就可以针对主机请求而被解锁。同时,对来自未被锁定过的集合的存储单元的其它IO可以继续,而同时复原操作在后台中发生。在等待对存储单元104c的(多个)复原事务完成时,对存储单元104c的主机访问请求可以暂停。
尽管以上示例涉及异常表和临时异常表。当确定其它元数据(例如,位图或日志页)没有位于控制的节点102b的主存储器中并且需要从较慢的存储器源页调入时,可以使用类似的方法。
在某些示例中,节点102是计算设备,诸如服务器、客户端计算机、桌上型计算机、移动计算机等。在其它实施例中,节点102可以包括专用机器。节点102可以经由处理元件、存储器和/或其它组件实现。
引擎130,132,234,236包括执行本文提供的功能的硬件和编程的组合和/或硬件。此外,在一些示例中,模块(未示出)可以包括要由硬件执行以便实施引擎130,234,236的功能性的编程功能和/或编程功能的组合。当讨论引擎和模块时,要指出,归因于引擎的功能性还可以归因于对应的模块。此外,归因于特定模块和/或引擎的功能性还可以使用另一个模块和/或引擎实现。
处理器240-诸如中央处理单元(CPU)或者适用于检索和执行指令的微处理器和/或电子电路-可以配置为实施本文描述的引擎130,132,234,236中的任一个的功能性。在某些场景中,指令和/或其它信息-诸如异常表、临时异常表、散列表等-可以包括在存储器242或者其它存储器中。此外,在某些示例中,一些组件可以用于实现本文描述的其它组件的功能性。输入/输出设备-诸如通信设备,比如网络通信设备或者无线设备-也可以作为节点的组件而包括。
每一个引擎可以包括例如硬件设备,所述硬件设备包括用于实现本文描述的功能性的电子电路。此外或者作为可替换方案,每一个模块对应的模块可以实现为编码在节点的机器可读存储介质上并且可由处理器执行的指令的序列。应当指出,在一些实施例中,一些模块实现为硬件设备,而其它模块实现为可执行指令。
主机250、节点102和存储单元104可以包括(多个)网络接口设备以便经由至少一个计算机网络与(多个)其它计算资源(例如,(多个)计算设备)通信。如本文中所述,计算机网络可以包括例如局域网(LAN)、虚拟LAN(VLAN)、无线局域网(WLAN)、虚拟私人网络(VPN)、互联网等、或其组合。在另一个示例中,存储单元104可以是驻留在存储网络上的存储设备,诸如使用光纤信道、无限宽带或互联网协议(“IP”)接口呈现给存储域网络(“SAN”)的小型计算机系统接口(“SCSI”)设备。要理解到,每一个存储单元104a-104m可以包括任何其它类型的存储单元并且前文是非穷举性列表。在另一个示例中,存储单元104可以配置为可以经由操作系统的逻辑接口访问的卷。
图3是根据示例的用于使用临时元数据的数据结构以在节点接管冗余系统中的存储单元的控制之后加速主机访问请求的恢复的方法的流程图。图4是根据示例的能够使用元数据的数据结构(诸如临时异常表)以在节点接管冗余系统中的存储单元的控制之后加速主机访问请求的恢复的计算设备的框图。计算设备400可以是接管处理存储单元的工作的节点。计算设备400例如包括处理元件410和机器可读存储介质420,所述机器可读存储介质420包括指令422,424,426以用于使用临时异常表来加速故障容错系统中的主机访问请求的恢复。计算设备400可以实现为例如笔记本计算机、服务器、工作站或者任何其它计算设备。
处理元件410可以是一个或多个中央处理单元(CPU)、一个或多个基于半导体的微处理器、一个或多个图形处理单元(GPU)、适用于检索和执行存储在机器可读存储介质420中的指令的其它硬件设备、或其组合。处理元件410可以是物理硬件。此外,在一个示例中,处理元件410可以包括芯片上的多个核,包括跨多个芯片的多个核、跨多个设备的多个核(例如,如果计算设备400包括多个节点设备)或其组合。处理元件410可以获取、解码和执行指令422,424,426以实现方法300。作为可替换方案或者除检索和执行指令之外,处理元件410可以包括至少一个集成电路(IC)、其它控制逻辑、其它电子电路或其组合,它们包括用于执行指令422,424,426的功能性的数个电子组件。
机器可读存储介质420可以是包含或存储可执行指令的任何电子、磁性、光学或其它物理存储设备。因而,机器可读存储介质可以例如是随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动、压缩盘只读存储器(CD-ROM)等。照此,机器可读存储介质可以是非暂时性的。如本文中详细描述,机器可读存储介质420可以编码有用于使用临时异常表来加速故障容错存储系统的复原的可执行指令序列。
如上文指出,多个节点(例如,节点A-节点N)可以使用在能够将信息存储于存储单元上的故障容错系统中。计算设备400可以是节点之一。节点可以负责管理去往和来自数个存储单元的事务。节点A可以控制对去往和来自存储单元的集合的事务的管理。此外,节点A可以包括对存储单元的集合的写入信息并且可以维护相应的事务日志,所述事务日志包括事务的细节,诸如写入信息的位置、写入信息的副本的位置、对异常表所需要的更新、以及要在哪里写入信息。第二节点(节点B)-例如计算设备400-可以包括事务日志的副本。计算设备400还可以包括写入信息的副本,或者写入信息可以定位在节点中的另一个节点上。如上文指出,节点A可能出故障。
当节点A出故障时,在304处,处理元件410可以执行控制指令422以便控制取得对节点A控制过的存储单元的集合的控制。在一个示例中,一旦触发条件或者事件发生(例如,在预设时间量内来自节点A的通信的缺失、来自节点A的指示等)控制就可以转移。
在306处,可以执行控制指令422以便阻止对存储单元的集合的主机访问请求。为了确保在允许对存储单元的访问之前存在故障容错,可以这样做。如上文所指出,为了处理事务日志并且确保故障容错,阻止可以是临时的。
在308处,使用复原指令424以基于事务日志的副本来确定要为其执行复原的存储单元的集合的子集。可以处理事务日志以便创建事务日志的新集合、对元数据的更新、以及关于要把数据写入到哪里的信息,所述事务日志的新集合指向写入信息的副本的位置以及写入信息在另一个节点(节点C)上的另一个副本的新位置。复原指令424还可以用于引起写入信息向节点C的拷贝。在节点之间拷贝信息可以(例如在毫秒量级下)迅速发生,这可以不只是单个节点中的存储器操作,而是比使用主存储器之外的另一个存储装置更快的幅度量级,所述另一个存储装置诸如非易失性存储装置,诸如固态驱动或阵列、硬盘驱动或阵列、或其它类似的非易失性存储器。
在事务日志的处理期间,可能需要异常表的页调入以完成日志的回放。为了缩短用于集合中的存储单元的复原的时间,在310处,复原指令424可以用于创建临时元数据的数据结构,所述临时元数据的数据结构诸如用于来自子集的存储单元中的一个或多个的临时异常表428。这可以是基于以下确定:(多个)存储单元与没有存储在计算设备400的主存储器中的元数据之一相关联,所述元数据诸如异常表。临时元数据的数据结构还可以充当存储单元的子集上的锁。照此,可以执行锁指令426以将存储单元设置为锁定的。如上文指出,例如通过相比于所使用的通常异常表而将临时元数据的数据结构(例如,临时异常表428)标记为临时的或者虚假的,锁就可以是隐含的。此外,临时异常表428是临时的这一事实可以指示相关联的存储单元处在复原中。如上文指出,临时元数据的数据结构-诸如(多个)临时异常表428-可以与复原事务或操作或者多个复原事务或操作相关联。尽管此处使用的示例是针对异常表和临时异常表,但是所使用的过程还可以用于使用临时元数据的数据结构的其它类似元数据-诸如位图和日志页。临时元数据的数据结构和/或指向临时元数据的数据结构的数据结构可以指示临时元数据的数据结构与复原操作或者事务相关联而不是与通常的IO相关联。
在312处,控制指令422可以由处理元件410执行以便在创建临时元数据的数据结构之后恢复对存储单元的集合的主机访问请求。因而,在对集合的所有复原完成之后,对集合中的存储单元的IO请求可以从主机恢复,并且存在写入信息和新事务日志的两个副本。然而,在后台中,元数据-诸如异常表、位图、日志页等-正进行页调入,并且仍然处于复原中的存储单元仍然使用临时元数据的数据结构被锁定。可以更新数据结构(例如,散列表、链接列表等)以便基于事务日志锁定和解锁存储单元的集合。如上文指出,锁可以是隐含的(例如,存在(例如使用虚拟标识符和偏移量)引用存储单元的临时异常表或者临时元数据的数据结构)或者是明确的。
图5是根据示例的用于在复原期间页调入异常表的方法的流程图。尽管在下文参照计算设备400描述方法500的执行,但是可以利用执行方法500的其它适合的组件(例如,节点102b)。附加地,执行方法500的组件可以分散在多个设备之间。方法500可以以存储在机器可读存储介质(诸如存储介质420)上的可执行指令的形式实现,和/或以电子电路的形式实现。尽管该方法500关注于一个异常表,但是该过程可以对多个异常表串行地或者并行地实现。
在502处,在主机访问请求恢复之后,将异常表页调入到计算设备400的主存储器。在该示例中,页调入异常表的时间是页调入完成的时间。照此,页调入过程可以在由计算设备400恢复主机访问请求之前开始。在一个示例中,数据结构(例如,链接列表或表格)可以用于标识每一个临时异常表并且可以用于处理页调入和相关联的复原事务或操作。
在504处,用于临时异常表的相关联的复原事务使用复原指令424执行。如上文指出,在一个示例中,复原操作可以是需要对异常表做出的改变。此外,(多个)相关联的复原事务可以作为后台过程实现。例如,假定异常表A的条目10曾为空,当时主机写入过该位置并且节点A分配到逻辑盘LD的偏移量120的映射,异常表A的条目10将更新为在向存储单元的写入完成之后具有该信息。如果节点A在其间出问题,那么在复原期间,计算设备400将创建复原项,所述复原项指示条目10需要利用到逻辑盘LD的偏移量120的映射进行更新。
在506处,使用锁指令426来更新管理针对存储单元的锁的数据结构。在一个示例中,更新包括移除临时异常表,这也移除对存储单元的锁定。照此,将数据结构更新为移除以下指示:存储单元具有相关联的待决复原事务。在另一个示例中,存储单元上的明确锁可以被移除。在一些示例中,存储单元上的锁还可以包括较大的存储容器(包括存储单元),例如如果存储单元是LD偏移量120,那么LD偏移量120可以被锁定,或者LD的较大部分可以在复原期间针对IO被锁定。
图6是根据示例的用于基于来自主机的请求而优先化异常表的页调入的方法的流程图。尽管在下文参照计算设备400描述方法600的执行,但是可以利用用于执行方法600的其它适合的组件(例如,节点102b)。附加地,用于执行方法600的组件可以分散在多个设备之间。方法600可以以存储在机器可读存储介质(诸如存储介质420)上的可执行指令的形式实现,和/或以电子电路的形式实现。尽管该方法600关注于一个存储单元,但是可以针对其它存储单元实现该过程。
在602处,计算设备400从主机接收用于访问存储单元的主机请求。可以执行锁指令426以便确定存储单元是否被锁定(604)。例如,与存储单元相关联的临时异常表的存在可以意味着存储单元被锁定。
如果存储单元被锁定,在606处,可以执行复原指令424以便优先化与存储单元相关联的异常表向计算设备400的主存储器中的页调入。另外,可以执行相关联的复原事务(608)。如上文指出,相关联的复原事务可以是被页调入的异常表的更新。在一些示例中,当更新异常表时,异常表可以被标记为脏的并且之后冲刷到从其页调入了异常表的非易失性存储装置。在其它示例中,相关联的复原事务还可以包括引起写入信息的副本的部分从一个节点被拷贝到另一个以便确保故障容错。在610处,存储单元可以被解锁。如上文指出,解锁可以被执行作为对数据结构的更新。然后,可以执行主机请求。
在该说明书(包括任何附随的权利要求、摘要和附图)中公开的所有特征和/或如此公开的任何方法或过程的所有元素可以在任何组合(除去其中这样的特征和/或元素中的至少一些相互排斥的组合之外)中进行组合。
Claims (15)
1.一种系统,包括:
多个节点,用于管理去往和来自多个存储单元的事务并且用于维护事务日志,所述事务日志包括事务的细节,
其中所述节点中的第一节点控制存储单元的集合,并且包括用于存储单元的集合的写入信息,并且维护用于写入信息的对应事务日志,
其中所述节点中的第二节点包括事务日志的副本,所述第二节点还包括:
控制引擎,用来取得对存储单元的集合的控制并且阻止对存储单元的集合的主机访问请求;
事务引擎,用来处理事务日志以便确定要为其执行复原的存储单元的集合的子集并且更新散列表以锁定存储单元的子集,
其中控制引擎进一步用来恢复主机访问请求。
2.权利要求1所述的系统,第二节点还包括:
复原引擎,用来:
对来自子集的存储单元发起多个复原操作,
其中每一个复原操作与所述多个元数据之一相关联;
对每一个复原操作,确定相应元数据存储在非易失性存储器中;以及
基于每一个确定,为每一个相应元数据创建临时元数据的数据结构,其中临时元数据的数据结构包括相关联的复原事务,
其中临时元数据的数据结构在主机访问请求被恢复之前创建。
3.权利要求2所述的系统,还包括:
页调入引擎,用来使用后台过程从非易失性存储器向易失性存储器页调入相应元数据,所述非易失性存储器与临时元数据的数据结构相关联。
4.权利要求1所述的系统,其中第二节点还包括:
复原引擎,用来:
对来自子集的存储单元中的第一存储单元发起复原操作;
确定包括映射信息的第一存储单元的异常表存储在非易失性存储器上;以及
在主机访问请求被恢复之前,基于所述确定创建用于所述一个存储单元的临时异常表并且包括相关联的复原事务。
5.权利要求4所述的系统,其中第二节点还包括:
页调入引擎,用来在主机访问请求被恢复之后从非易失性存储器向易失性存储器页调入映射信息,所述非易失性存储器与临时异常表相关联。
6.权利要求5所述的系统,其中所述节点中的第三节点包括写入信息的副本,并且其中复原引擎进一步用来:
基于事务日志而将第三节点上的写入信息的第一部分拷贝到第二节点。
7.权利要求5所述的系统,其中控制引擎进一步用来:
接收对第一一个存储单元的主机请求;
确定基于散列表而锁定第一一个存储单元;
优先化相关联的复原事务的性能;以及
针对主机请求而解锁第一一个存储单元。
8.权利要求7所述的系统,其中控制引擎进一步用来:
暂停针对第一存储单元的主机访问请求,而同时执行相关联的复原事务。
9.一种方法,包括:
在用于管理去往和来自多个存储单元的事务的多个节点中的第一节点处,控制存储单元的集合,
其中第一节点包括用于存储单元的集合的写入信息并且维护对应事务日志,所述事务日志包括事务的细节,
其中所述节点中的第二节点包括事务日志的副本,
由第二节点取得对存储单元的集合的控制;
阻止对存储单元的集合的主机访问请求;
基于事务日志的副本来确定要为其执行复原的存储单元的集合的子集;
基于以下确定而为来自子集的存储单元之一创建临时异常表:所述一个存储单元与没有存储在第二节点的主存储器中的多个元数据之一相关联;以及
在创建临时元数据之后恢复对存储单元的集合的主机访问请求。
10.权利要求9所述的方法,还包括:
基于事务日志的副本更新数据结构以便锁定存储单元的集合。
11.权利要求10所述的方法,其中所述一个元数据是异常表并且临时元数据是临时异常表,并且其中创建临时异常表以便包括至少一个相关联的复原事务,所述方法还包括:
在主机访问请求恢复之后向第二节点的主存储器页调入所述一个异常表;以及
在主机访问请求恢复之后执行相关联的复原事务;以及
更新数据结构以便移除第二存储单元具有相关联的复原事务的指示。
12.权利要求10所述的方法,其中创建临时元数据以便包括相关联的复原事务,所述方法还包括:
接收对所述一个存储单元的主机请求;
基于数据结构来确定所述一个存储单元被锁定;
优先化向第二节点的主存储器页调入所述一个元数据和执行相关联的复原事务;以及
更新数据结构以解锁所述一个存储单元。
13.一种存储指令的非暂时性机器可读存储介质,所述指令如果由计算设备的物理处理元件执行则使所述计算设备:
在其中使用多个节点管理去往和来自多个存储单元的事务的系统中,取得对之前由所述节点中的第一一个节点控制的存储单元的集合的控制,
其中第一节点包括用于存储单元的集合的写入信息并且维护对应事务日志,所述事务日志包括事务的细节;
其中所述设备包括事务日志的副本;
阻止对存储单元的集合的主机访问请求;
基于事务日志的副本确定要为其执行复原的存储单元的集合的子集;
基于事务日志的副本更新数据结构以锁定存储单元的子集;
基于以下确定而为来自子集的存储单元之一创建临时异常表:所述一个存储单元与没有存储在设备的主存储器中的异常表相关联,其中临时异常表包括相关联的复原事务;以及
在创建临时异常表之后恢复对存储单元的集合的主机访问请求。
14.权利要求13所述的非暂时性机器可读存储介质,还包括指令,所述指令如果由物理处理元件执行则使所述计算设备:
在主机访问请求恢复之后向设备的主存储器页调入异常表;以及
在主机访问请求恢复之后执行相关联的复原事务;以及
解锁所述一个存储单元。
15.权利要求12所述的非暂时性机器可读存储介质,还包括指令,所述指令如果由物理处理元件执行则使计算设备:
接收对所述一个存储单元的主机请求;
基于数据结构确定所述一个存储单元被锁定;
优先化向设备的主存储器页调入异常表;
执行相关联的复原事务,其中复原事务包括引起所述节点中的第二节点上的写入信息的副本的部分拷贝到设备;以及
更新数据结构以解锁所述一个存储单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/219,613 US10387275B2 (en) | 2016-07-26 | 2016-07-26 | Resume host access based on transaction logs |
US15/219613 | 2016-07-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107656834A true CN107656834A (zh) | 2018-02-02 |
CN107656834B CN107656834B (zh) | 2021-04-09 |
Family
ID=61009606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710621070.2A Active CN107656834B (zh) | 2016-07-26 | 2017-07-26 | 用于基于事务日志恢复主机访问的系统和方法及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10387275B2 (zh) |
CN (1) | CN107656834B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190874A (zh) * | 2019-12-27 | 2020-05-22 | 天津中科曙光存储科技有限公司 | 一种分布式存储的高可靠数据日志模块及其构建方法 |
CN113052576A (zh) * | 2020-11-05 | 2021-06-29 | 北京跨联元焕网络科技有限公司 | 跨链交换的托管方法和系统 |
CN113868028A (zh) * | 2020-06-30 | 2021-12-31 | 华为技术有限公司 | 一种在数据节点上回放日志的方法、数据节点及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109791541B (zh) * | 2018-11-29 | 2023-11-24 | 袁振南 | 日志序列号生成方法、装置及可读存储介质 |
US20210081365A1 (en) * | 2019-09-16 | 2021-03-18 | Oracle International Corporation | Applying Rules to Client Updates on Shared Records to Trigger System-Generated Updates |
US11797523B2 (en) * | 2020-12-18 | 2023-10-24 | Microsoft Technology Licensing, Llc | Schema and data modification concurrency in query processing pushdown |
EP4264448A1 (en) * | 2020-12-18 | 2023-10-25 | Microsoft Technology Licensing, LLC | Schema and data modification concurrency in query processing pushdown |
US11860829B2 (en) | 2020-12-18 | 2024-01-02 | Microsoft Technology Licensing, Llc | Page split detection and affinity in query processing pushdowns |
CN113420011A (zh) * | 2021-06-29 | 2021-09-21 | 平安消费金融有限公司 | redis事务回滚方法、装置、计算机设备和存储介质 |
CN113791922B (zh) * | 2021-07-30 | 2024-02-20 | 济南浪潮数据技术有限公司 | 一种分布式存储系统的异常处理方法、系统及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658590B1 (en) * | 2000-03-30 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Controller-based transaction logging system for data recovery in a storage area network |
CN1736078A (zh) * | 2002-08-28 | 2006-02-15 | 皇家飞利浦电子股份有限公司 | 事务的安全日志 |
CN1784677A (zh) * | 2004-03-31 | 2006-06-07 | 微软公司 | 用于数据库备份的一致性检验的系统和方法 |
US7111189B1 (en) * | 2000-03-30 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Method for transaction log failover merging during asynchronous operations in a data storage network |
CN103270500A (zh) * | 2010-12-03 | 2013-08-28 | 美光科技公司 | 事务日志恢复 |
CN103608781A (zh) * | 2011-06-06 | 2014-02-26 | 微软公司 | 用于服务的恢复服务位置 |
US20140156595A1 (en) * | 2012-11-30 | 2014-06-05 | Metaswitch Networks Ltd. | Synchronisation system and method |
CN104156420A (zh) * | 2014-08-06 | 2014-11-19 | 曙光信息产业(北京)有限公司 | 事务日志的管理方法和装置 |
CN105069160A (zh) * | 2015-08-26 | 2015-11-18 | 国家电网公司 | 一种基于自主可控数据库的高可用性方法及构架 |
CN105760252A (zh) * | 2014-12-19 | 2016-07-13 | 中兴通讯股份有限公司 | 实现事务日志镜像备份的方法及装置 |
CN105900073A (zh) * | 2013-08-29 | 2016-08-24 | 慧与发展有限责任合伙企业 | 分离存储事务日志 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7305421B2 (en) | 2001-07-16 | 2007-12-04 | Sap Ag | Parallelized redo-only logging and recovery for highly available main memory database systems |
CA2422176C (en) | 2003-03-14 | 2009-07-21 | Ibm Canada Limited - Ibm Canada Limitee | Method and apparatus for interrupting updates to a database to provide read-only access |
US7873605B2 (en) | 2007-01-29 | 2011-01-18 | Oracle International Corporation | Apparatus to selectively remove the effects of transactions in online database and enable logical recovery |
US9495370B1 (en) | 2007-07-19 | 2016-11-15 | American Megatrends, Inc. | Data recovery point review in a continuous data protection system |
US8429377B2 (en) | 2010-01-08 | 2013-04-23 | International Business Machines Corporation | Optimizing TLB entries for mixed page size storage in contiguous memory |
US9459970B2 (en) | 2014-05-19 | 2016-10-04 | Netapp, Inc. | Performance during playback of logged data storage operations |
-
2016
- 2016-07-26 US US15/219,613 patent/US10387275B2/en active Active
-
2017
- 2017-07-26 CN CN201710621070.2A patent/CN107656834B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658590B1 (en) * | 2000-03-30 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Controller-based transaction logging system for data recovery in a storage area network |
US7111189B1 (en) * | 2000-03-30 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Method for transaction log failover merging during asynchronous operations in a data storage network |
CN1736078A (zh) * | 2002-08-28 | 2006-02-15 | 皇家飞利浦电子股份有限公司 | 事务的安全日志 |
CN1784677A (zh) * | 2004-03-31 | 2006-06-07 | 微软公司 | 用于数据库备份的一致性检验的系统和方法 |
CN103270500A (zh) * | 2010-12-03 | 2013-08-28 | 美光科技公司 | 事务日志恢复 |
CN103608781A (zh) * | 2011-06-06 | 2014-02-26 | 微软公司 | 用于服务的恢复服务位置 |
US20140156595A1 (en) * | 2012-11-30 | 2014-06-05 | Metaswitch Networks Ltd. | Synchronisation system and method |
CN105900073A (zh) * | 2013-08-29 | 2016-08-24 | 慧与发展有限责任合伙企业 | 分离存储事务日志 |
CN104156420A (zh) * | 2014-08-06 | 2014-11-19 | 曙光信息产业(北京)有限公司 | 事务日志的管理方法和装置 |
CN105760252A (zh) * | 2014-12-19 | 2016-07-13 | 中兴通讯股份有限公司 | 实现事务日志镜像备份的方法及装置 |
CN105069160A (zh) * | 2015-08-26 | 2015-11-18 | 国家电网公司 | 一种基于自主可控数据库的高可用性方法及构架 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190874A (zh) * | 2019-12-27 | 2020-05-22 | 天津中科曙光存储科技有限公司 | 一种分布式存储的高可靠数据日志模块及其构建方法 |
CN111190874B (zh) * | 2019-12-27 | 2023-10-03 | 天津中科曙光存储科技有限公司 | 一种分布式存储的高可靠数据日志模块及其构建方法 |
CN113868028A (zh) * | 2020-06-30 | 2021-12-31 | 华为技术有限公司 | 一种在数据节点上回放日志的方法、数据节点及系统 |
CN113052576A (zh) * | 2020-11-05 | 2021-06-29 | 北京跨联元焕网络科技有限公司 | 跨链交换的托管方法和系统 |
CN113052576B (zh) * | 2020-11-05 | 2024-02-27 | 北京跨联元焕网络科技有限公司 | 跨链交换的托管方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180032412A1 (en) | 2018-02-01 |
CN107656834B (zh) | 2021-04-09 |
US10387275B2 (en) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107656834A (zh) | 基于事务日志恢复主机访问 | |
CN100462930C (zh) | 备份数据协调方法和系统 | |
JP6362685B2 (ja) | オンライン・ホット・スタンバイ・データベースのためのレプリケーション方法、プログラム、および装置 | |
US7814065B2 (en) | Affinity-based recovery/failover in a cluster environment | |
DE112019002584T5 (de) | Wechseln zwischen vermittlerdiensten für ein speichersystem | |
US9141480B2 (en) | Handling failed transaction peers in a distributed hash table | |
US10146632B2 (en) | Efficient mechanism to replicate data for multiple controllers | |
US11809707B2 (en) | File operations in a distributed storage system | |
JP6152431B2 (ja) | データベース管理システム及び方法 | |
US10387273B2 (en) | Hierarchical fault tolerance in system storage | |
US8090683B2 (en) | Managing workflow communication in a distributed storage system | |
US12013758B2 (en) | Methods and systems for power failure resistance for a distributed storage system | |
US11119862B2 (en) | Delta information volumes to enable chained replication of data by uploading snapshots of data to cloud | |
US20230109530A1 (en) | Synchronous object placement for information lifecycle management | |
US9971532B2 (en) | GUID partition table based hidden data store system | |
US11593399B2 (en) | System and method for managing B tree node sharing using operation sequence numbers | |
CN115470041A (zh) | 一种数据灾备管理方法及装置 | |
US8356230B2 (en) | Apparatus to manage data stability and methods of storing and recovering data | |
CN104220982A (zh) | 一种事务处理方法与装置 | |
CN116257531B (zh) | 一种数据库空间回收方法 | |
US20240111623A1 (en) | Extended protection storage system put operation | |
US20090077004A1 (en) | Data Recovery in a Hierarchical Data Storage System | |
US20240241727A1 (en) | Fault Recovery In Zoned Storage Devices |
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 |