CN101460930B - 维护数据库与文件系统之间的链接级一致性 - Google Patents
维护数据库与文件系统之间的链接级一致性 Download PDFInfo
- Publication number
- CN101460930B CN101460930B CN2006800122680A CN200680012268A CN101460930B CN 101460930 B CN101460930 B CN 101460930B CN 2006800122680 A CN2006800122680 A CN 2006800122680A CN 200680012268 A CN200680012268 A CN 200680012268A CN 101460930 B CN101460930 B CN 101460930B
- Authority
- CN
- China
- Prior art keywords
- file system
- log
- file
- database
- record
- 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
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- 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
- 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
-
- 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
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Abstract
用于维护数据库与文件系统之间的事务链接级一致性的方法和计算机可读介质。在数据库日志的记录中将文件系统的改变记入日志,且在文件系统文件夹中创建对应于该文件系统改变的文件。在重启恢复过程期间,基于数据库日志执行分析操作和条件重做操作,并基于文件系统文件夹中的文件执行条件重做操作和取消操作。然后基于数据库日志执行取消操作。
Description
发明领域
本发明一般涉及数据库管理领域。更具体地,本发明涉及维护数据库与相应的文件系统之间的链接级一致性。
发明背景
近年来,对诸如图片、视频和电影的大型非结构化数据类型的使用增长巨大,伴随以高效方式存储这些大量数据流的需求。传统上,在诸如文件系统的结构中或数据库中存储数据。
文件系统是其中在诸如硬盘的存储介质上将文件存入文件夹内的分级数据结构。操作系统的一部分维护文件系统,并控制对文件系统中的文件的访问。文件系统擅长将大量非结构化数据以流的形式传入和传出文件。目前已知的文件系统的问题之一在于,诸文件必须被手动组织成分组(诸文件夹和子文件夹),并且,如果用户忘记了他在哪里存储了特定的文件,则可能难以找到该文件。磁盘技术的进步已经预见到发展越来越大的硬盘,诸如此类的技术动力使得这一问题更为严重。能够存储在单张磁盘上的数据的绝对容量可能使跟踪文件系统中的文件成为极其困难的任务。
数据组织的另一广泛使用的方法是数据库。数据库系统将数据存储为一个或多个表,其中表的每一行包括涉及一个实体的相关数据元素的多个分组,各列表示关于该行主题的实体的有用信息。例如,可维护人力资源信息的数据库,其中人力资源数据库的每一行表示一个雇员,而人力资源数据库中的每一列表示诸如雇员名、雇员社会保障号以及雇员薪资的数据元素。
数据库提供优于数据的文件系统组织的众多有用优点。数据库管理系统擅长存储、寻找和检索结构化数据的细小片段。此外,通常存在搜索和访问存储在数据库中的数据的指定部分的高度灵活的手段。然而,数据库还未能很好地处理大量非结构化数据(被称为BLOB(Binary Large Object,二进制大对象))的存储和访问。
具体地,当数据库包括BLOB列时,BLOB一般被拆分成分散在磁盘的细小片段。数据库列中的条目包含指向BLOB第一片段的指针而非包含BLOB本身。这种情况导致检索BLOB中的数据的低效率,因为必须找到并重新组合不同的BLOB片段。为了减少这些低效率的影响,通常返回指向BLOB的第一片段的指针而非即时检索BLOB本身。
例如,假定雇员信息的数据库包括雇员相片的BLOB列。假定用户请求特定雇员的相片,并向其返回了指向该相片的指针。指针表示一个物理位置——例如,表示磁盘扇区上存储相片第一片段的实际磁盘地址的16字节十六进制值。在这种情况中,会引起若干问题。除了磁盘地址无法为用户所知以外,如果操作系统重新组织磁盘上的数据,则相片可能不再存在于该位置,在这种情况中将向用户返回“找不到”消息。
近来,开发了存储BLOB的另一方式,其中BLOB在文件系统中被存储为毗邻文件即“FILESTREAM(文件流)”。提供可用于对关系表中的一列附加标签的FILESTREAM数据存储属性。FILESTREAM属性指示该列的数据将被存储为操作系统(OS)的文件系统中的文件。数据库管理系统管理文件系统中的文件的创建和删除。在文件系统中的文件与单元(行和列的交集)之间存在1:1的引用。可使用诸如SQL或MICROSOFT的T-SQL等程序设计语言按照与其它列中的数据相同的方式操作FILESTREAM列中的数据。
因此,FILESTREAM列在数据库中用于大型非结构化数据。对FILESTREAM数据存储属性的使用允许将大型非结构化数据存储为文件系统中的毗邻文件,而同时仍可供数据库访问。这样的数据库管理系统需要维护具有FILESTREAM属性的数据库行与其相应的FILESTREAM数据之间的链接的一致性(即,“链接级一致性”)以确保数据完整性并避免数据库的讹误。例如,如果在将改变提交给磁盘(即“刷新(flush)”)之前,发生诸如电源故障或系统崩溃的故障,则可能导致若干问题。例如,数据库可能不会反映文件系统中存在的文件或目录的存在;或者,数据库可能会反映文件系统中不存在的文件或目录的存在。因此,数据库与文件之间被破坏链接损害了数据库的完整性,因为数据库用户不能确信数据库准确地反映了由数据库列中FILESTREAM单元所表示的数据的当前状态。
一般,通过两种不同的方式实现了对链接级一致性的维护:一致性检查和修复,以及日志记录和恢复。在一致性检查和修复中,爬行(crawling)任务搜索数据库和文件系统来检查不一致性并潜在地对其修复。这样的方法费时、目标不明,且消耗过多的系统资源。
常规的日志记录和恢复方法可在数据库日志中使用日志记录,或与事务化文件系统协作。在前一方法中,文件系统操作与数据库数据更新一起被记录在数据库日志中。在这样的方法中,当数据库管理系统恢复数据库时,可为所记入日志的文件系统操作触发取消和重做操作,并使文件系统数据与同一数据库恢复框架中的数据库数据一致。这种方法的一个缺点是,数据库管理系统通常不与文件系统紧密集成,从而不了解文件系统对磁盘的数据刷新。在不能协调数据刷新的情况下,数据库管理系统必须强制日志刷新每一文件系统操作的日志记录以实现正确的预写式日志,这有助于在崩溃恢复中维护事务链接级一致性。这种强制日志记录导致每个文件系统操作就有一个磁盘I/O操作,通常这是不可接受的性能开支量。
后一方法涉及与事务化文件系统协作,其中文件系统本身是事务性的,且能够恢复。数据库管理系统参与由高级事务管理器(Transaction Manager,“TM”)协调的分布式事务。在崩溃恢复期间,高级TM解决有疑问的事务,并确保数据库与文件系统资源管理器之间的一致性。该方法的缺点在于,在商业操作系统上没有可用的事务化文件系统。从而,对许多OS平台上的许多数据库管理系统而言,该方法不可用。此外,该方法具有在实现中增加复杂性和执行成本的缺点。
从而,需要维护数据库的诸列与文件系统中其相应的FILESTREAM数据之间的链接级一致性同时解决以上缺点的机制。本发明满足这种需求。
发明概述
考虑以上缺点和不足,此处公开用于维护数据库与文件系统之间的事务链接级一致性的方法和计算机可读介质。在一种方法中,在数据库日志的记录中将文件系统改变记入日志,且在文件系统文件夹中创建对应于该文件系统改变的文件。在重启恢复过程期间,基于数据库日志执行分析操作和条件重做操作,并基于文件系统文件夹中的文件执行条件重做操作和取消操作。然后基于数据库日志执行取消操作。
附图简述
图1是可在其中实现本发明的各方面的示例计算环境;
图2是可在其中实现本发明的各方面的示例数据库配置;
图3A-C是可在其中实现本发明的各方面的示例日志;
图4-5是例示根据本发明诸实施例的示例方法的流程图。
说明性实施例的详细描述
结合特征描述本发明的主题以满足法定要求。然而,描述本身不旨在限制本专利的范围。相反,发明人考虑到,所要求的主题可结合其它目前或将来的技术按照其它方式来具体化,以包括不同的步骤或与本文档中所述的相似的元素。而且,尽管术语“步骤”可在此处用于指示所采用的方法的不同方面,但除非明确描述了各个步骤的顺序,否则该术语不应被解释为暗示此处公开的各个步骤之间的任何特定顺序。
示例计算环境
图1示出了可在其上实现本发明的合适的计算系统环境100的示例。计算系统环境100只是合适的计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。也不应该把计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。
本发明可用众多其它通用或专用计算系统环境或配置来操作。适合在本发明中使用的众所周知的计算系统、环境和/或配置的示例包括但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型机、大型机、包含上述系统或设备中的任一个的分布式计算机环境等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用语境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。通常,程序模块的功能可按各个实施例中所需组合或分布。本发明也可以在分布式计算环境中实现,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
参考图1,用于实现本发明的一个示例性系统包括计算机110形式的通用计算设备。计算机110的组件可以包括但不限于,处理单元120、系统存储器130和将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、扩展的ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也被称为Mezzanine总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能够被计算机110访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术;CD-ROM、数字多功能盘(DVD)或其它光盘存储器;磁带盒、磁带、磁盘存储或其它磁性存储器;或能用于存储所需信息且可以由计算机110访问的任何其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”指的是这样一种信号,其一个或多个特征以在信号中编码信息的方式被设定或更改。作为示例而非限制,通信介质包括诸如有线网络或直接连接的有线介质,以及诸如声学、RF、红外线和其它无线介质的无线介质。上述中任一个的组合也应包括在计算机可读介质的范围之内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含有助于诸如启动时在计算机110中元件之间传递信息的基本例程,它通常被存储在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器140,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘1 56中读取或向其写入的光盘驱动器155。可以在示例性操作环境下使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由诸如接口140的不可移动存储器接口连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由诸如接口150的可移动存储器接口连接至系统总线121。
以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘162和定点设备161(通常指鼠标、跟踪球或触摸垫)向计算机20输入命令和信息。其它输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线的用户输入接口160连接至处理单元120,但也可以由其它接口或总线结构如并行端口、游戏端口或通用串行总线(USB)连接。监视器191或其它类型的显示设备也经由接口如视频接口190连接至系统总线121。除监视器以外,计算机也可以包括其它外围输出设备,如扬声器197和打印机196,它们可以通过输出外围接口190连接。
计算机110可使用至一个或多个远程计算机如远程计算机180的逻辑连接在网络化环境下操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机110描述的许多或所有元件,尽管在图1中只示出存储器存储设备181。图1中所示逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN联网环境中使用时,计算机110通常包括调制解调器172或用于在诸如因特网等WAN 173上建立通信的其它装置。调制解调器172可以是内置或外置的,它可以通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,相对于计算机110描述的程序模块或其部分可以存储在远程存储器存储设备中。作为示例而非限制,图1示出了远程应用程序185驻留在存储器设备181上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
示例分布式计算架构或体系机构
考虑到个人计算和因特网的会聚,已经开发了并正在开发各种分布式计算架构。向个人和企业用户同样地提供用于应用程序和计算设备的无缝的可共同操作并可使用web的接口,使计算活动日益面向web浏览器或网络。
例如,MICROSOFT的.NET平台包括服务器、诸如基于web的数据存储的构件块服务以及可下载设备软件。一般而言,.NET平台提供(1)使整个范围内的计算设备一起工作并在所有计算设备上自动更新和同步化用户信息,(2)通过更多地使用XML而非HTML来增加web站点的交互能力,(3)以从中心起点至用户的产品和服务的定制访问和传递为特征的在线服务,这种访问和传递用于管理诸如(例如)电子邮件的各种应用程序或诸如Office.NET的软件,(4)集中化的数据存储,这将增加访问信息的效率和简易性,并在用户和设备之间同步信息,(5)集成诸如电子邮件、传真和电话等各种通信介质的能力,(6)对开发人员而言,创建可重用模块的能力,从而增加生产率并减少编程错误的次数,以及(7)众多其它跨平台集成特征。
尽管此处结合驻留在计算设备上的软件描述了示例实施例,但本发明的一个或多个部分也可经由操作系统、API或协处理器与请求对象之间的中间件来实现,使得可经由所有的.NET语言和服务并在其它分布式计算框架中执行、支持或访问诸服务。
数据库环境
在以下的讨论中,假定本领域的技术人员熟悉结合数据库的FILESTREAM数据存储属性的实现。此类问题在于2003年1月29日提交的、题为“FILESTREAMData Storage Attribute(FILESTREAM数据存储属性)”的美国专利申请第10/353,730号以及2003年1月29日提交的、题为“Logical Pathname as a Reference Mechanismfor Data(作为数据引用机制的逻辑路径名)”的美国专利申请第10/353,545号中讨论,这些专利申请均整体引用在此作为参考。从而,为清楚起见,此处将忽略此类问题的细节。
然而,为了提供附加的背景信息以将以下实施例的讨论置于上下文中,图2示出了可在其中实现本发明的各方面的示例数据库配置。现在参考图2,可实现三种机制来扮演三个不同的角色:(1)客户机280,可由其针对数据库210启动查询来定位和操作相关信息;(2)主存数据库210的数据库服务器200;以及(3)FILESTREAM服务器240,它管理可在其上存储与给定数据库210相关联的FILESTREAM值(或文件)的文件系统卷225,并支持对数据库210的频带外更新。可以理解,FILESTREAM文件可对应于正被存储在数据库列中的BLOB。每一数据库可含有一个或多个FILESTREAM分组215,且每一FILESTREAM分组215可包括一个或多个卷225。诸卷可驻留在FILESTREAM服务器240上。在示例数据库安装中,可存在数千客户机、数十个FILESTREAM服务器和一个数据库服务器。当其上存储FILESTREAM的卷与数据库并置时,会产生专门的配置。
可提供注册机制,借此利用定位器服务注册与包含FILESTREAM值的所有文件系统卷225相关联的标识符(例如,GUID),以允许客户机280与FILESTREAM服务器240建立网络连接。而且,(诸)数据库服务器200注册其所主存的数据库210的标识符(例如,GUID)。这样的定位器服务的一种可能实现可以是将卷GUID和数据库GUID映射到IP地址的域名系统(Domain Name System,DNS)服务。
可在一协议上构建FILESTREAM服务器240和客户机重定向器,以便维护SQL数据库服务器200与FILESTREAM服务器240之间SQL元数据和FILESTREAM值数据的相干性。在客户机一侧,协议扩展允许客户机280处理从数据库服务器200到FILESTREAM服务器240的重定向请求。为了便于从数据库服务器200到各个FILESTREAM服务器240的活动的最佳下载,协议扩展可包括交换关于各个表的元数据中的改变的通知的能力,例如,添加约束、触发事件或列,以及删除触发事件、约束或列。被实现为SQL堆栈一部分的FILESTREAM访问模块等可包含在FILESTREAM服务器240上启动高速缓存元数据的传播/失效以及确保它们与对数据库服务器200上的元数据改变同步所需的标注(callout)。
存在其中图2中所示的三种机器配置可被压缩成较少机器的某些情况。在一个场景中,例如,包含FILESTREAM数据的文件系统卷可被主存在与数据库(例如,SQL)服务器相同的机器上。在另一示例场景中,可从主存SQL服务器的机器访问该表。从底层体系结构角度来看,这可转换成访问网络上的资源或本地资源。
示例实施例
一实施例提供用于维护数据库列(例如,结构化数据)与文件系统中其相应的FILESTREAM数据(例如,非结构化数据)之间的事务链接级一致性的机制。如此处所使用,事务链接级一致性对响应于其中诸如(例如)SQL数据库等的数据库就文件和目录的名字、位置等而言具有文件和目录的准确状况的一种状态。例如,如果数据库相信存在具有给定名称的文件或目录,则文件系统中一定存在该具有给定名称的文件或目录。同样地,如果数据库不相信存在一文件或目录,则文件系统中一定不存在该文件或目录。在一个实施例中,可保持事务一致性的文件和/或目录操作类型可包括,例如,创建、删除和/或重命名。如上所述,失去事务链接级一致性可能引起错误、数据破坏或甚至系统崩溃,这是因为这样的状态会导致数据不一致性。在系统崩溃的情况中,可能失去链接级一致性。从而,如果要恢复数据库操作,则在崩溃或其它系统故障之后重建链接级一致性的能力是非常重要的。
为了能够维护事务链接级一致性,一个实施例可在执行文件系统操作之前将取消和重做信息均记入日志。在这样的实施例中,可在更新日志序列号(LogSequence Number,“LSN”)的条件下恢复重做操作,因为逻辑运算在文件系统中不是幂等的。而且,一个实施例可按照在文件系统元数据被保存到磁盘之前刷新日志记录的方式来操作,以便于在恢复期间需要回滚数据库事务的情况中实现文件系统回滚效果。最后,应在某时刻将文件系统结果刷新到磁盘,以允许截短日志,从而节省存储空间。
因此,一个实施例提供了用于将文件系统操作(例如在文件或目录上执行的操作)记录在数据库日志和文件系统目录中的机制。一个实施例的机制是通过利用诸如例如NTFS的常见文件系统中存在的“排序属性”以高效方式(例如,无需强制刷新至数据库日志)使用以上日志记录技术来实现预写式日志。“排序特性”规定,如果文件系统对文件或目录进行了改变A,然后对文件或目录进行了改变B,则在崩溃重启之后,文件系统永远不会在没有改变A的情况下具有改变B。换言之,无论崩溃的原因是什么,系统崩溃的时刻(“崩溃点”)可能产生没有任何改变、仅产生改变A、或产生改变A和B,但不会在没有改变A的情况下产生改变B,除非文件系统自身被破坏。此外,一个实施例可使用数据库恢复框架的现有组件而无需外部协调器或事务化文件系统。结果,因为一个实施例的相对简单和有效的操作而可被广泛部署。
在上述数据库环境中,可将FILESTREAM数据文件组织成给定数据库的特定目录。在一个实施例中,每个FILESTREAM文件可具有一路径名,其中该路径名编码可在其中出现该文件的行(可由文件名表示)、列、表和数据库。例如,FILESTREAM文件相对于文件流分组的根的示例路径名可以是\FILESTREAM-data-container\table\column\rowguid。可在例如删除或添加列、表重命名等更改表结构的操作过程期间改变目录结构。在每一情况中,可获取适当的锁定以便在任何这样的表结构操作期间排除操作表内诸行的操作。换言之,数据库管理系统可使文件系统对象(文件或目录)上所执行的诸并发文件系统操作串行化,其中诸并发文件系统操作都是沿着文件系统分层结构中的同一祖先链。
可以理解,一个实施例利用对这样的目录规则的知识来维护事务链接级一致性。此外,一个实施例还将基于文件系统日志的利用语义的恢复和隔离算法(Algorithms for Recovery and Isolation Exploiting Semantics,“ARIES”)恢复方法与数据库管理系统的ARIES恢复方法进行组合。以此方式,每一系统的恢复都是彼此独立的,而当由一个实施例组合时,诸恢复给数据库数据和文件系统数据带来事务链接级一致性。ARIES恢复系统应为本领域的技术人员所知,因而为清楚起见,其实现细节将不被包括在此。
数据库管理系统的ARIES恢复与文件系统的ARIES恢复的这种组合可由实施例对(例如)用于在文件系统中日志记录的目的的文件名的使用而允许。在这样的实施例中,特定操作的LSN可被编码成文件的名字。文件的同一名字也可与经历文件系统改变的文件系统对象(文件或目录)的名字一起编码。可以理解,这样的基于文件名的日志记录(即,将LSN与文件系统对象名联系起来)避免了与基于文件ID日志记录相关联的问题,因为文件ID在数据库还原之后可能会由文件系统重新分配,从而对日志记录目的而言不够稳定。
因此,可结合使用FILESTREAM数据属性来存储BLOB的数据库实现一个实施例。在这样的数据库中,文件系统操作(例如,创建、重命名或删除BLOB)被记入数据库日志和文件系统日志中。当在文件系统日志中记入该操作时,该操作可被记录为零字节文件(这样的零字节文件此处被称为“文件系统日志条目”)。可向每一数据库日志记录分配一LSN。在文件系统日志条目的情况中,可使用相应的数据库日志记录的LSN并将其编码到文件名中。文件名也可包含描述正在记入日志的操作的其它经编码的信息。可以理解,正如将在以下描述的那样,这样的编码仅将LSN和其它操作描述符信息置入文件名内而没有任何附加处理,或者LSN和任何其它信息可按照任何类型的格式存储,例如使用算法加密等。
在操作中,一个实施例规定,当要执行文件系统操作时,首先将该操作记入数据库日志中,然后记入文件系统日志,然后执行该文件系统操作。通过规定在实际文件系统操作之前输入日志条目,恢复方法应能够确定如何取消任何操作,因为无论何时进行了操作本身或操作需要被回滚,操作的文件系统日志条目都将存在。
可使用文件系统文件夹来将文件系统记入日志以实现预写式日志。例如,在文件夹X下创建文件A之前,将在名为LOG的文件系统文件夹中创建名为LOG\x~A.LSN.Xact-ID.Create的文件。该文件名内编码了足够的信息以表示正被执行的动作(作为分别表示LSN、事务ID、文件名和创建操作的描述符的LSN、Xact-ID、A和Create)。在一个实施例中,在创建操作执行之前存储该文件名。从而,上述排序特性指示,如果A存在,则LOG\X~A.LSN.Xact-ID.Create日志条目也一定存在。一个实施例可在操作要被回滚的情况中使用该知识。注意,在NTFS中,如果上述“排序特性”仅适用于同一卷,则一个实施例可能要求文件系统日志文件夹在与文件系统数据相同的卷上并置。
对于删除目录和/或文件中任一个,一个实施例规定,对要删除的项目重命名,使得在回滚的情况中,该项目可被还原。可以理解,如果要删除的项目实际被删除而不是被重命名,则删除操作的回滚将是不可能的,因为没有可还原该项目的数据。一个实施例可为此目的而使用(例如)名为DELETED的文件系统文件夹。
既然讨论了示例文件日志记录操作,将讨论涉及崩溃恢复的实施例。可以理解,在系统崩溃的情况中,在崩溃点,日志条目和/或文件系统操作中的一个或多个可能不会发生。当要重启数据库时,日志可能处于由崩溃所导致的各种配置中。图3A-C示出了因系统故障诸如崩溃等而可能导致的三种示例日志情形。
图3A示出了其中记录日志条目的数据库日志302和文件系统日志304。崩溃点310表示系统停止操作的时间,无论是由于系统崩溃、错误还是其它。可见,日志302和304在图3A中被表示为时间线,日志302和304的左侧在时间上更早,而右侧在时间上更近。操作A和B表示具有适当LSN的日志条目。因此,图3A中可见一种场景,其中数据库日志302记录了改变4和B,而文件系统日志304仅具有改变A。被记录到文件系统日志304中的操作A可具有如上所述的文件名。正如将在以下结合图4讨论的那样,一个实施例可完全基于数据库日志302来执行ARIES恢复,因为数据库日志302比文件系统日志304捕捉的信息更多。
图3B表示一种场景,其中数据库日志302和文件系统日志304均在崩溃点之前刷新了改变A和B。在这样的情形中,实施例也可完全基于数据库日志302来执行ARIES恢复,因为数据库日志至少捕捉与文件系统日志304所捕捉的信息相同量的信息。
图3C表示一种考虑一般涉及数据库日志的某些实际问题的场景。尽管如上所述,一个实施规定数据库日志302可在文件系统日志304之前被更新,但数据库日志记录可能还是未能以足够的频率被刷新,以在文件系统日志条目被提交给文件系统日志304之前将日志记录提交给数据库日志302。可以理解,刷新日志需要开销甚多的系统I/O操作。因此,当数据库被配置成以较低的频率来刷新其日志记录/条目作为获得更高处理速度的折衷时,可能会出现某些情况。从而,图3C表示改变B被记入到数据库日志302和文件系统日志304中,但仅在文件系统日志304中被提交,从而在系统崩溃之后,改变B仅保留在文件系统日志304中。因此,在崩溃重启之后,即使首先为数据库日志302创建了日志记录,改变B也仅被记入文件系统日志304中。正如将在以下结合图4讨论的那样,在这样的情形中,一个实施例可将文件系统日志304作为数据库日志302的逻辑扩展,其中数据库日志302未捕捉的关于文件系统的附加信息可被用于将文件系统回滚到与数据库日志302的崩溃点一致的状态。
现在参考图4,提供表示用于在系统崩溃等之后恢复数据库的示例方法400的流程图。可以理解,示例方法400包括ARIES算法。此外应理解,示例方法400可回顾上面结合图3A-C所描述的数据库和文件系统日志。
因此,在步骤401,分析诸如上面结合图3A-C所描述的数据库日志302的数据库日志来找出自检查点以来积累的所有日志记录等,包括含有最近LSN的日志记录。应理解,在一个实施例中,步骤401可以像在典型ARIES分析阶段中那样进行,其中一个实施例收集活动事务,以便在回滚时标识需要被回滚的事务。
在步骤403中,可通过根据日志记录中所存储的信息有条件地重新应用文件系统改变来前滚(roll forward)数据库日志,如上面结合图3A-C所讨论的数据库日志302。对每个日志记录,重做操作可以两个LSN之间的比较为条件,即日志记录本身的LSN(例如,出于例示目的的“LSN1”),以及被记入到对应于重做信息的文件或目录名或者任何祖先目录的文件系统日志文件夹中的最大的LSN(例如,出于例示目的的“LSN2”)。如果LSN1大于LSN2,则指示:基于上述“排序特性”,文件系统改变的文件系统日志条目未被提交给磁盘。此外这还指示,实际的文件系统改变也未被提交给磁盘,因为如上所述实际文件系统改变总是在创建文件系统日志条目之前进行。在这种情况中,执行数据库日志记录中所述的文件系统改变的重做。
如果LSN1小于LSN2,则实际的文件系统改变已被提交给磁盘。这是因为,如上所述,在保存FILESTREAM数据的数据库中,对同一文件/目录名及其祖先的改变是串行化的。换言之,带有LSN2的文件系统日志条目将不会被创建,直到对应于LSN1的文件系统改变被首先完成。“排序特性”保证,如果带有LSN2的文件系统日志条目已被提交给磁盘,则对应于LSN1的文件系统改变也一定已被提交给磁盘。因此,在这种情况中,跳过重做。
如果LSN1等于LSN2,则实际的文件系统改变有可能已提交给磁盘,也有可能未提交给磁盘。在这种情况中,一个实施例可基于文件系统的实际状态来确定该改变是否需要被重新应用。例如,如果日志记录/条目描述了“创建文件A”,然后可检查文件系统来查看文件“A”是否已经存在。如果是,则无需重新应用改变。如果文件“A”不存在,则将重新创建文件“A”。应理解,在一个实施例中,步骤403可像在典型ARIES重做阶段中那样进行。
在步骤405,取决于数据库和文件系统日志的状态,作出关于所需的恢复类型的判断。此外,可结合步骤405采取准备恢复的步骤。例如,日志可处于以上结合步骤403和图3A-C讨论的任何情形中。在一个实施例中,可扫描文件系统日志文件夹中经过相应的数据库日志末端的每一文件并将其文件名记录在存储器中。然后诸文件名可按照(例如)LSN顺序来排序,以允许根据用于前滚和回滚的诸LSN的顺序或逆序等的扫描次序。含有超出数据库日志末端LSN的诸LSN的日志条目需要被回滚,因为一个实施例可将文件系统恢复到由数据库日志的末端所反映的状态。如果步骤405发现文件系统日志中没有日志条目带有大于数据库日志末端LSN的LSN,则一个实施例可跳过下述步骤407和409。以上结合图3A-B描述了这样的情况。
在步骤407,以步骤405按基于LSN的升序记录在存储器中的每个文件系统日志条目为基础,前滚过程有条件地执行重做操作。在一个实施例中,实际的条件重做算法可与以上结合步骤403所述的完全相同。在步骤409,能以步骤406按基于LSN的降序记录在存储器中的文件系统日志条目为基础来执行回滚过程。如本领域的技术人员应该知道,文件系统的日志文件夹中取消操作的执行可生成补偿日志记录(Compensation Log Record,“CLR”)。这样的CLR可能需要被追加到文件系统日志文件夹中而不会被追加到数据库日志中。在文件系统日志中完成了回滚过程之后,所有的文件系统结果可被刷新,以使得可以删除带有大于数据库日志末端LSN的诸LSN的文件系统日志条目。
可以理解,这样的操作是重要的,因为一旦任何后续数据库日志回滚开始,回滚过程可开始将诸CLR记入数据库日志和文件系统日志内。结果,如果超出数据库日志末端LSN的文件系统日志未被清除,则可能存在由数据库日志的回滚CLR日志记录活动引起的LSN冲突。为了刷新文件系统,一个实施例可跟踪直到步骤409结束受到影响的所有文件,然后刷新这些文件中的每一个。一个实施例也可利用文件系统的“排序特性”来简单地创建新的临时文件,刷新该临时文件,随后删除它。该新文件创建和刷新使得所有之前的文件系统改变(例如,创建、删除、重命名)也被刷新,否则“排序特性”就不再有效。从而,步骤409完成时,将文件系统回滚至由数据库日志末端所反映的状态。
在一个实施例中,取消操作不会占用额外的磁盘空间。例如,文件创建的取消仅释放磁盘资源。文件删除的取消可仅重命名现有文件而不会增加磁盘空间使用。可以理解,这样的特征在磁盘空间几乎完全耗尽的情况中是重要的。
在步骤411,可以从数据库日志的末端到最旧的活动LSN进行回滚。应该理解,在一个实施例中,步骤411可以像在典型ARIES取消阶段中那样进行。一旦完成步骤411,数据库和文件系统就被恢复到互相一致的状态。
从而,在步骤413,可在接受任何新文件系统操作之前执行检查点操作。以此方式,如果在将来出现系统错误如崩溃等,则不必为相同操作重复以上结合步骤401-411所进行的恢复过程。
可以理解,通过将ARIES方法集成到一个实施例的数据库和文件系统恢复方法来实施图4的方法400。然而也应理解,一个实施例可以集成不同于ARIES操作的元素。例如,现在转到图5,例示了回滚具有诸CLR的文件系统日志的示例方法500。方法500结合以上结合图4讨论的方法400实施。在典型的ARIES恢复中,诸CLR是不可取消的。正如以下讨论中将会看到的那样,一个实施例允许对诸CLR执行这样的取消操作。
从而,在步骤501,对日志记录是否是非CLR日志记录作出判断。如果是,则在步骤505,对日志记录是否由CLR补偿作出进一步判断。如果不是,则在步骤509执行取消操作。如果是,则在步骤507跳过取消操作。如果步骤501中作出的判断的结果是该日志记录不是非CLR记录(即,该日志记录是CLR记录),则在步骤503作出关于该日志记录是否是补偿了位于数据库日志末端之前的日志记录的CLR(如由诸LSN等确定)的判断。如果是,则在步骤509,对该记录执行取消操作。如果否,则该日志记录是补偿位于数据库日志末端之后的日志记录的CLR。在这样的情况中,在步骤507,跳过取消操作。可以理解,取消CLR可能会使另一CLR被记入日志(指示之前CLR的取消)。然而,一个实施例考虑:因为特定文件系统操作的恢复操作可导致在文件系统日志中生成最多两条CLR,因此文件系统日志空间预留应该(例如)保证预留了用于创建表示两个单独CLR的两个文件的足够空间。
应该理解,上述处理CLR的过程避免了存储跨文件系统日志回滚和数据库日志回滚的任何持续状态,使得每一个回滚进程彼此独立。其它实施例可持久记住关于数据库日志中的哪些日志记录已由文件系统日志中的CLR补偿的这种状态,同时遵循ARIES算法来跳过对CLR的取消操作。
也可以理解,一个实施例可选择排他地根据文件系统日志文件夹来实现上述日志记录和恢复,而不必在数据库日志中重复记录。然而,一个实施例考虑到数据库日志记录设备的性能通常远优于基于文件系统文件夹的日志的性能。从而,一个实施例基于数据库日志来执行恢复操作,仅使用文件系统日志作为数据库日志未捕获的那些操作的扩展。结果,相比于单单使用文件系统日志,总体的恢复性能得到改善。
尽管结合各个附图的诸实施例描述了本发明,可以理解,可使用其它类似的实施例,或可对所述实施进行修改和添加以便执行本发明的相同功能而不与之背离。从而,本发明应不限于任何单个实施例,而应根据所附权利要求书的广度和范围来解释。
Claims (20)
1.一种维护数据库与文件系统之间的事务链接级一致性的方法,包括:
将文件系统改变记入数据库日志的记录中;
在文件系统日志文件夹中创建对应于所述文件系统改变的文件;以及在重启恢复中,
基于所述数据库日志,执行分析操作来找出自检查点以来积累的所有日志记录和通过根据所述日志记录中所存储的信息有条件地重新应用所述文件系统改变来执行条件重做操作;
取决于所述数据库和文件系统日志的状态,以按基于日志序列号的升序的文件系统日志为基础执行条件重做操作和以按基于日志序列号的降序的文件系统日志为基础执行取消操作;以及
基于所述数据库日志,从所述数据库日志的末端到最旧的活动日志序列号执行取消操作。
2.如权利要求1所述的方法,其特征在于,进一步包括创建与所述文件相关联的文件名。
3.如权利要求2所述的方法,其特征在于,所述文件名包括对应于所述文件系统改变的文件系统对象名、日志序列号、事务标识符和操作描述符。
4.如权利要求2所述的方法,其特征在于,进一步包括在所述文件名中记录所述数据库日志记录的日志序列号,其中所述日志序列号对应于所述文件系统改变。
5.如权利要求1所述的方法,其特征在于,所述记入步骤和创建步骤在所述文件系统改变执行之前进行。
6.如权利要求5所述的方法,其特征在于,所述记入步骤在所述创建步骤之前进行。
7.如权利要求1所述的方法,其特征在于,所述数据库日志包括多项记录且所述文件系统日志文件夹包括多个文件,所述方法进一步包括:
把与所述文件系统改变相关联的日志序列号记录到所述多项记录的其中之一;
对于所述多项记录中的具有所记录的与文件系统改变相关联的日志序列号的每一日志记录,
其中所述基于所述数据库日志执行条件重做操作步骤以与所述文件系统改变相关联的最大日志序列号同与所选择的记录相关联的日志序列号之间的比较为条件。
8.如权利要求7所述的方法,其特征在于,如果与所述记录相关联的所述日志序列号大于与所述文件系统改变相关联的最大日志序列号,则对所述文件执行所述条件重做操作。
9.如权利要求1所述的方法,其特征在于,所述文件系统改变是对存储在所述文件系统中的二进制大对象数据做出的。
10.如权利要求1所述的方法,其特征在于,所述文件系统改变是对所述文件系统的文件或目录做出的。
11.如权利要求1所述的方法,其特征在于,所述对数据库日志执行分析操作、条件重做操作和取消操作的各步骤是根据利用语义的恢复和隔离算法ARIES执行的。
12.如权利要求1所述的方法,其特征在于,对文件执行条件重做操作和取消操作的各步骤是根据ARIES执行的。
13.如权利要求1所述的方法,其特征在于,所述文件是第一文件,所述方法进一步包括在基于所述文件系统日志文件夹执行了所述取消操作之后,通过创建和刷新第二文件来执行文件系统刷新操作。
14.一种维护数据库与文件系统之间的事务链接级一致性的方法,包括:
将文件系统改变记入含有多项记录的数据库日志的记录中;
向所述记录分配第一日志序列号;
在含有多个日志序列号的文件系统日志文件夹中创建具有文件名且对应于所述文件系统改变的文件;
将所述第一日志序列号编码到所述文件名中;以及在重启恢复中,
对所述数据库日志执行分析操作来找出自检查点以来积累的所有日志记录和通过根据所述日志记录中所存储的信息有条件地重新应用所述文件系统改变来执行条件重做操作;
对于所述多项记录中的每一日志记录;
将与所述记录相关联的日志序列号同与所述文件系统改变相关联的最大日志序列号进行比较;
如果与所述记录相关联的所述日志序列号大于与所述文件系统改变相关联的最大日志序列号,则重做一日志记录;
以按基于日志序列号的降序的文件系统日志为基础执行取消操作;以及
基于所述数据库日志,从所述数据库日志的末端到最旧的活动日志序列号执行取消操作。
15.如权利要求14所述的方法,其特征在于,所述文件名进一步包括对应于所述文件系统改变的文件系统对象名、事务标识符和操作描述符。
16.如权利要求14所述的方法,其特征在于,所述记入步骤和创建步骤在所述文件系统改变执行之前进行,且其中所述记入步骤在所述创建步骤之前进行。
17.如权利要求14所述的方法,其特征在于,所述文件系统改变是对存储在所述文件系统中的二进制大对象数据做出的。
18.如权利要求14所述的方法,其特征在于,所述基于数据库日志执行分析操作、条件重做操作和取消操作以及基于文件系统日志执行条件重做操作和取消操作的各步骤是根据利用语义的恢复和隔离算法ARIES执行的。
19.如权利要求14所述的方法,其特征在于,所述文件是第一文件,所述方法进一步包括在基于所述文件系统日志文件夹执行了所述取消操作之后,通过创建和刷新第二文件来执行文件系统刷新操作。
20.一种用于执行维护数据库与文件系统之间的事务链接级一致性的系统,所述系统包括:
用于将文件系统改变记入数据库日志的记录中的装置;
用于在文件系统文件夹中创建对应于所述文件系统改变的文件的装置;以及在重启恢复中,
用于基于所述数据库日志执行分析操作来找出自检查点以来积累的所有日志记录和通过根据所述日志记录中所存储的信息有条件地重新应用所述文件系统改变来执行条件重做操作的装置;
用于取决于所述数据库和文件系统日志的状态,以按基于日志序列号的升序的文件系统日志为基础执行条件重做操作和以按基于日志序列号的降序的文件系统日志为基础执行取消操作的装置;以及
用于从所述数据库日志的末端到最旧的活动日志序列号对所述数据库日志执行取消操作的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/123,563 US8145686B2 (en) | 2005-05-06 | 2005-05-06 | Maintenance of link level consistency between database and file system |
US11/123,563 | 2005-05-06 | ||
PCT/US2006/008278 WO2006121500A2 (en) | 2005-05-06 | 2006-03-09 | Maintenance of link level consistency between database and file system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101460930A CN101460930A (zh) | 2009-06-17 |
CN101460930B true CN101460930B (zh) | 2012-02-15 |
Family
ID=37395231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800122680A Active CN101460930B (zh) | 2005-05-06 | 2006-03-09 | 维护数据库与文件系统之间的链接级一致性 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8145686B2 (zh) |
EP (1) | EP1877906B1 (zh) |
JP (1) | JP5259388B2 (zh) |
KR (1) | KR101255392B1 (zh) |
CN (1) | CN101460930B (zh) |
WO (1) | WO2006121500A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363641A (zh) * | 2017-01-26 | 2018-08-03 | 华为技术有限公司 | 一种主备机数据传递方法、控制节点以及数据库系统 |
Families Citing this family (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6856993B1 (en) * | 2000-03-30 | 2005-02-15 | Microsoft Corporation | Transactional file system |
US7421443B2 (en) * | 2003-01-29 | 2008-09-02 | Microsoft Corporation | Filestream data storage attribute |
US8959125B2 (en) | 2005-07-01 | 2015-02-17 | 226008 Ontario Inc. | File system having inverted hierarchical structure |
US7873683B2 (en) | 2005-07-01 | 2011-01-18 | Qnx Software Systems Gmbh & Co. Kg | File system having transaction record coalescing |
US7809777B2 (en) * | 2005-07-01 | 2010-10-05 | Qnx Software Systems Gmbh & Co. Kg | File system having deferred verification of data integrity |
US7970803B2 (en) | 2005-07-01 | 2011-06-28 | Qnx Software Systems Gmbh & Co. Kg | Optimized startup verification of file system integrity |
US7716189B1 (en) * | 2005-09-23 | 2010-05-11 | Symantec Operating Corporation | Method for preserving relationships/dependencies between data in a file system |
US7490096B2 (en) * | 2005-11-04 | 2009-02-10 | Sun Microsystems, Inc. | Automatic intent log testing |
US7809778B2 (en) * | 2006-03-08 | 2010-10-05 | Omneon Video Networks | Idempotent journal mechanism for file system |
US8589362B1 (en) * | 2006-07-06 | 2013-11-19 | Oracle America, Inc. | Cluster metadata recovery |
US7908276B2 (en) | 2006-08-25 | 2011-03-15 | Qnx Software Systems Gmbh & Co. Kg | Filesystem having a filename cache |
US8358802B2 (en) * | 2006-09-25 | 2013-01-22 | General Electric Company | Method of transmitting medical data |
US8161010B2 (en) * | 2006-10-04 | 2012-04-17 | Salesforce.Com, Inc. | Methods and systems for providing fault recovery to side effects occurring during data processing |
US8682863B2 (en) | 2006-10-04 | 2014-03-25 | Salesforce.Com, Inc. | Methods and systems for bulk row save logic in an object relational mapping layer and application framework |
US8548942B2 (en) | 2006-10-04 | 2013-10-01 | Salesforce.Com, Inc. | Methods and systems for recursive saving of hierarchical objects to a database |
US8688749B1 (en) | 2011-03-31 | 2014-04-01 | Palantir Technologies, Inc. | Cross-ontology multi-master replication |
US8930331B2 (en) * | 2007-02-21 | 2015-01-06 | Palantir Technologies | Providing unique views of data based on changes or rules |
US8554719B2 (en) | 2007-10-18 | 2013-10-08 | Palantir Technologies, Inc. | Resolving database entity information |
US8135746B2 (en) * | 2008-07-30 | 2012-03-13 | International Business Machines Corporation | Management of symbolic links |
JP4399020B1 (ja) * | 2008-08-26 | 2010-01-13 | 株式会社東芝 | 情報処理装置およびメモリ管理方法 |
US9348499B2 (en) | 2008-09-15 | 2016-05-24 | Palantir Technologies, Inc. | Sharing objects that rely on local resources with outside servers |
US9110801B2 (en) * | 2009-02-10 | 2015-08-18 | International Business Machines Corporation | Resource integrity during partial backout of application updates |
US9020905B2 (en) * | 2009-10-31 | 2015-04-28 | International Business Machines Corporation | Synchronizing database and non-database resources without a commit coordinator |
JP5574274B2 (ja) * | 2010-03-31 | 2014-08-20 | 日本電気株式会社 | データ処理装置、データ処理方法、及びプログラム |
US8930321B2 (en) | 2010-06-30 | 2015-01-06 | Microsoft Corporation | Logical recovery with unbundled transaction services |
US8364642B1 (en) * | 2010-07-07 | 2013-01-29 | Palantir Technologies, Inc. | Managing disconnected investigations |
US8401998B2 (en) | 2010-09-02 | 2013-03-19 | Microsoft Corporation | Mirroring file data |
US9189280B2 (en) | 2010-11-18 | 2015-11-17 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US8990416B2 (en) | 2011-05-06 | 2015-03-24 | Oracle International Corporation | Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) |
US8799240B2 (en) | 2011-06-23 | 2014-08-05 | Palantir Technologies, Inc. | System and method for investigating large amounts of data |
US9092482B2 (en) | 2013-03-14 | 2015-07-28 | Palantir Technologies, Inc. | Fair scheduling for mixed-query loads |
US9547693B1 (en) | 2011-06-23 | 2017-01-17 | Palantir Technologies Inc. | Periodic database search manager for multiple data sources |
US9280532B2 (en) | 2011-08-02 | 2016-03-08 | Palantir Technologies, Inc. | System and method for accessing rich objects via spreadsheets |
US8732574B2 (en) | 2011-08-25 | 2014-05-20 | Palantir Technologies, Inc. | System and method for parameterizing documents for automatic workflow generation |
US8504542B2 (en) | 2011-09-02 | 2013-08-06 | Palantir Technologies, Inc. | Multi-row transactions |
CN102339305B (zh) * | 2011-09-07 | 2014-10-08 | 北京人大金仓信息技术股份有限公司 | 基于偏序关系日志的数据库集群故障恢复方法 |
US8782004B2 (en) | 2012-01-23 | 2014-07-15 | Palantir Technologies, Inc. | Cross-ACL multi-master replication |
CN102708166B (zh) * | 2012-04-26 | 2014-07-02 | 北京星网锐捷网络技术有限公司 | 数据复制方法、数据恢复方法及装置 |
US9003162B2 (en) | 2012-06-20 | 2015-04-07 | Microsoft Technology Licensing, Llc | Structuring storage based on latch-free B-trees |
US9514174B2 (en) | 2012-06-30 | 2016-12-06 | Microsoft Technology Licensing, Llc | Classification of data in main memory database systems |
US11288277B2 (en) | 2012-09-28 | 2022-03-29 | Oracle International Corporation | Operator sharing for continuous queries over archived relations |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
KR102050723B1 (ko) * | 2012-09-28 | 2019-12-02 | 삼성전자 주식회사 | 컴퓨팅 시스템 및 그 데이터 관리 방법 |
US8934737B1 (en) | 2012-10-10 | 2015-01-13 | General Electric Company | System and method to de-identify an acquired file |
US9348677B2 (en) | 2012-10-22 | 2016-05-24 | Palantir Technologies Inc. | System and method for batch evaluation programs |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US10298444B2 (en) | 2013-01-15 | 2019-05-21 | Oracle International Corporation | Variable duration windows on continuous data streams |
US9390135B2 (en) | 2013-02-19 | 2016-07-12 | Oracle International Corporation | Executing continuous event processing (CEP) queries in parallel |
US10140664B2 (en) | 2013-03-14 | 2018-11-27 | Palantir Technologies Inc. | Resolving similar entities from a transaction database |
US8868486B2 (en) | 2013-03-15 | 2014-10-21 | Palantir Technologies Inc. | Time-sensitive cube |
US8930897B2 (en) | 2013-03-15 | 2015-01-06 | Palantir Technologies Inc. | Data integration tool |
US8924388B2 (en) | 2013-03-15 | 2014-12-30 | Palantir Technologies Inc. | Computer-implemented systems and methods for comparing and associating objects |
US8855999B1 (en) | 2013-03-15 | 2014-10-07 | Palantir Technologies Inc. | Method and system for generating a parser and parsing complex data |
US8903717B2 (en) | 2013-03-15 | 2014-12-02 | Palantir Technologies Inc. | Method and system for generating a parser and parsing complex data |
US10275778B1 (en) | 2013-03-15 | 2019-04-30 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures |
US9230280B1 (en) | 2013-03-15 | 2016-01-05 | Palantir Technologies Inc. | Clustering data based on indications of financial malfeasance |
US9563519B2 (en) | 2013-03-15 | 2017-02-07 | Sap Se | Reversing changes executed by change management |
US8909656B2 (en) | 2013-03-15 | 2014-12-09 | Palantir Technologies Inc. | Filter chains with associated multipath views for exploring large data sets |
AU2014253672B2 (en) | 2013-04-19 | 2019-05-30 | Commonwealth Scientific And Industrial Research Organisation | Checking undoability of an API-controlled computing system |
US9418113B2 (en) | 2013-05-30 | 2016-08-16 | Oracle International Corporation | Value based windows on relations in continuous data streams |
US8886601B1 (en) | 2013-06-20 | 2014-11-11 | Palantir Technologies, Inc. | System and method for incrementally replicating investigative analysis data |
US9519591B2 (en) | 2013-06-22 | 2016-12-13 | Microsoft Technology Licensing, Llc | Latch-free, log-structured storage for multiple access methods |
US8601326B1 (en) | 2013-07-05 | 2013-12-03 | Palantir Technologies, Inc. | Data quality monitors |
US8938686B1 (en) | 2013-10-03 | 2015-01-20 | Palantir Technologies Inc. | Systems and methods for analyzing performance of an entity |
US9116975B2 (en) | 2013-10-18 | 2015-08-25 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
US9105000B1 (en) | 2013-12-10 | 2015-08-11 | Palantir Technologies Inc. | Aggregating data from a plurality of data sources |
US10579647B1 (en) | 2013-12-16 | 2020-03-03 | Palantir Technologies Inc. | Methods and systems for analyzing entity performance |
US9043696B1 (en) | 2014-01-03 | 2015-05-26 | Palantir Technologies Inc. | Systems and methods for visual definition of data associations |
US10152247B2 (en) | 2014-01-23 | 2018-12-11 | Hewlett Packard Enterprise Development Lp | Atomically committing write requests |
US20150242282A1 (en) * | 2014-02-24 | 2015-08-27 | Red Hat, Inc. | Mechanism to update software packages |
US8935201B1 (en) | 2014-03-18 | 2015-01-13 | Palantir Technologies Inc. | Determining and extracting changed data from a data source |
US9836580B2 (en) | 2014-03-21 | 2017-12-05 | Palantir Technologies Inc. | Provider portal |
WO2015187187A1 (en) * | 2014-06-02 | 2015-12-10 | Hewlett-Packard Development Company, L.P. | Journal events in a file system and a database |
US9712645B2 (en) | 2014-06-26 | 2017-07-18 | Oracle International Corporation | Embedded event processing |
US9619557B2 (en) | 2014-06-30 | 2017-04-11 | Palantir Technologies, Inc. | Systems and methods for key phrase characterization of documents |
US9535974B1 (en) | 2014-06-30 | 2017-01-03 | Palantir Technologies Inc. | Systems and methods for identifying key phrase clusters within documents |
US9514211B2 (en) | 2014-07-20 | 2016-12-06 | Microsoft Technology Licensing, Llc | High throughput data modifications using blind update operations |
US9419992B2 (en) | 2014-08-13 | 2016-08-16 | Palantir Technologies Inc. | Unwanted tunneling alert system |
US9454281B2 (en) | 2014-09-03 | 2016-09-27 | Palantir Technologies Inc. | System for providing dynamic linked panels in user interface |
US10120907B2 (en) | 2014-09-24 | 2018-11-06 | Oracle International Corporation | Scaling event processing using distributed flows and map-reduce operations |
US9886486B2 (en) | 2014-09-24 | 2018-02-06 | Oracle International Corporation | Enriching events with dynamically typed big data for event processing |
US9483546B2 (en) | 2014-12-15 | 2016-11-01 | Palantir Technologies Inc. | System and method for associating related records to common entities across multiple lists |
US9348920B1 (en) | 2014-12-22 | 2016-05-24 | Palantir Technologies Inc. | Concept indexing among database of documents using machine learning techniques |
US10362133B1 (en) | 2014-12-22 | 2019-07-23 | Palantir Technologies Inc. | Communication data processing architecture |
US10552994B2 (en) | 2014-12-22 | 2020-02-04 | Palantir Technologies Inc. | Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items |
US10452651B1 (en) | 2014-12-23 | 2019-10-22 | Palantir Technologies Inc. | Searching charts |
US9817563B1 (en) | 2014-12-29 | 2017-11-14 | Palantir Technologies Inc. | System and method of generating data points from one or more data stores of data items for chart creation and manipulation |
US11302426B1 (en) | 2015-01-02 | 2022-04-12 | Palantir Technologies Inc. | Unified data interface and system |
US10496611B1 (en) * | 2015-03-20 | 2019-12-03 | EMC IP Holding Company LLC | Method and system for file name based command execution in a storage system |
CN106155832B (zh) * | 2015-03-30 | 2019-03-22 | Tcl集团股份有限公司 | 一种数据恢复的方法、装置及Android设备 |
US10103953B1 (en) | 2015-05-12 | 2018-10-16 | Palantir Technologies Inc. | Methods and systems for analyzing entity performance |
US9672257B2 (en) | 2015-06-05 | 2017-06-06 | Palantir Technologies Inc. | Time-series data storage and processing database system |
US9384203B1 (en) | 2015-06-09 | 2016-07-05 | Palantir Technologies Inc. | Systems and methods for indexing and aggregating data records |
US10628834B1 (en) | 2015-06-16 | 2020-04-21 | Palantir Technologies Inc. | Fraud lead detection system for efficiently processing database-stored data and automatically generating natural language explanatory information of system results for display in interactive user interfaces |
US9407652B1 (en) | 2015-06-26 | 2016-08-02 | Palantir Technologies Inc. | Network anomaly detection |
US9418337B1 (en) | 2015-07-21 | 2016-08-16 | Palantir Technologies Inc. | Systems and models for data analytics |
US9392008B1 (en) | 2015-07-23 | 2016-07-12 | Palantir Technologies Inc. | Systems and methods for identifying information related to payment card breaches |
WO2017018901A1 (en) | 2015-07-24 | 2017-02-02 | Oracle International Corporation | Visually exploring and analyzing event streams |
US9537880B1 (en) | 2015-08-19 | 2017-01-03 | Palantir Technologies Inc. | Anomalous network monitoring, user behavior detection and database system |
US10127289B2 (en) | 2015-08-19 | 2018-11-13 | Palantir Technologies Inc. | Systems and methods for automatic clustering and canonical designation of related data in various data structures |
US10402385B1 (en) | 2015-08-27 | 2019-09-03 | Palantir Technologies Inc. | Database live reindex |
US9984428B2 (en) | 2015-09-04 | 2018-05-29 | Palantir Technologies Inc. | Systems and methods for structuring data from unstructured electronic data files |
US9454564B1 (en) | 2015-09-09 | 2016-09-27 | Palantir Technologies Inc. | Data integrity checks |
KR20170033618A (ko) | 2015-09-17 | 2017-03-27 | 에스케이이노베이션 주식회사 | 배터리 시스템 |
CN105306556A (zh) * | 2015-09-30 | 2016-02-03 | 深圳市先河系统技术有限公司 | 一种文件管理方法、服务器及网络附属存储设备 |
US10044745B1 (en) | 2015-10-12 | 2018-08-07 | Palantir Technologies, Inc. | Systems for computer network security risk assessment including user compromise analysis associated with a network of devices |
US9760556B1 (en) | 2015-12-11 | 2017-09-12 | Palantir Technologies Inc. | Systems and methods for annotating and linking electronic documents |
US9514414B1 (en) | 2015-12-11 | 2016-12-06 | Palantir Technologies Inc. | Systems and methods for identifying and categorizing electronic documents through machine learning |
US9542446B1 (en) | 2015-12-17 | 2017-01-10 | Palantir Technologies, Inc. | Automatic generation of composite datasets based on hierarchical fields |
US10769113B2 (en) | 2016-03-25 | 2020-09-08 | Microsoft Technology Licensing, Llc | Attribute-based dependency identification for operation ordering |
US9928266B2 (en) | 2016-06-03 | 2018-03-27 | Workiva Inc. | Method and computing device for minimizing accesses to data storage in conjunction with maintaining a B-tree |
US9753935B1 (en) | 2016-08-02 | 2017-09-05 | Palantir Technologies Inc. | Time-series data storage and processing database system |
US11106692B1 (en) | 2016-08-04 | 2021-08-31 | Palantir Technologies Inc. | Data record resolution and correlation system |
US10133588B1 (en) | 2016-10-20 | 2018-11-20 | Palantir Technologies Inc. | Transforming instructions for collaborative updates |
CN106355991B (zh) * | 2016-10-31 | 2020-12-18 | 成都乐创自动化技术股份有限公司 | 一种示教方法及装置 |
US10318630B1 (en) | 2016-11-21 | 2019-06-11 | Palantir Technologies Inc. | Analysis of large bodies of textual data |
US10884875B2 (en) | 2016-12-15 | 2021-01-05 | Palantir Technologies Inc. | Incremental backup of computer data files |
US10223099B2 (en) | 2016-12-21 | 2019-03-05 | Palantir Technologies Inc. | Systems and methods for peer-to-peer build sharing |
US10552389B2 (en) * | 2017-04-28 | 2020-02-04 | Oath Inc. | Object and sequence number management |
US11074277B1 (en) | 2017-05-01 | 2021-07-27 | Palantir Technologies Inc. | Secure resolution of canonical entities |
US10896097B1 (en) | 2017-05-25 | 2021-01-19 | Palantir Technologies Inc. | Approaches for backup and restoration of integrated databases |
GB201708818D0 (en) | 2017-06-02 | 2017-07-19 | Palantir Technologies Inc | Systems and methods for retrieving and processing data |
US11334552B2 (en) | 2017-07-31 | 2022-05-17 | Palantir Technologies Inc. | Lightweight redundancy tool for performing transactions |
US10417224B2 (en) | 2017-08-14 | 2019-09-17 | Palantir Technologies Inc. | Time series database processing system |
US10216695B1 (en) | 2017-09-21 | 2019-02-26 | Palantir Technologies Inc. | Database system for time series data storage, processing, and analysis |
US11281726B2 (en) | 2017-12-01 | 2022-03-22 | Palantir Technologies Inc. | System and methods for faster processor comparisons of visual graph features |
US10235533B1 (en) | 2017-12-01 | 2019-03-19 | Palantir Technologies Inc. | Multi-user access controls in electronic simultaneously editable document editor |
US10614069B2 (en) | 2017-12-01 | 2020-04-07 | Palantir Technologies Inc. | Workflow driven database partitioning |
US11016986B2 (en) | 2017-12-04 | 2021-05-25 | Palantir Technologies Inc. | Query-based time-series data display and processing system |
US11061874B1 (en) | 2017-12-14 | 2021-07-13 | Palantir Technologies Inc. | Systems and methods for resolving entity data across various data structures |
US10838987B1 (en) | 2017-12-20 | 2020-11-17 | Palantir Technologies Inc. | Adaptive and transparent entity screening |
US10866963B2 (en) | 2017-12-28 | 2020-12-15 | Dropbox, Inc. | File system authentication |
GB201807534D0 (en) | 2018-05-09 | 2018-06-20 | Palantir Technologies Inc | Systems and methods for indexing and searching |
US11061542B1 (en) | 2018-06-01 | 2021-07-13 | Palantir Technologies Inc. | Systems and methods for determining and displaying optimal associations of data items |
US10795909B1 (en) | 2018-06-14 | 2020-10-06 | Palantir Technologies Inc. | Minimized and collapsed resource dependency path |
US11940877B2 (en) | 2018-10-26 | 2024-03-26 | Dropbox, Inc. | Restoring a directory to a state prior to a past synchronization event |
US11449490B1 (en) * | 2018-11-23 | 2022-09-20 | Amazon Technologies, Inc. | Idempotent transaction requests |
CN112256656B (zh) * | 2019-07-22 | 2023-04-18 | 金篆信科有限责任公司 | 事务回滚方法及装置、数据库、系统、计算机存储介质 |
CN110851293B (zh) * | 2019-10-15 | 2023-06-27 | 中国直升机设计研究所 | 一种信息系统联动处理的系统及方法 |
CN112307117B (zh) * | 2020-09-30 | 2023-12-12 | 武汉达梦数据库股份有限公司 | 一种基于日志解析的同步方法和同步系统 |
CN112256485B (zh) * | 2020-10-30 | 2023-08-04 | 网易(杭州)网络有限公司 | 数据备份方法、装置、介质和计算设备 |
CN115129739B (zh) * | 2022-08-31 | 2022-11-25 | 杭州沃趣科技股份有限公司 | 一种数据文件断点续传方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173292B1 (en) * | 1998-03-04 | 2001-01-09 | International Business Machines Corporation | Data recovery in a transactional database using write-ahead logging and file caching |
US6453325B1 (en) * | 1995-05-24 | 2002-09-17 | International Business Machines Corporation | Method and means for backup and restoration of a database system linked to a system for filing data |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1341310C (en) * | 1988-07-15 | 2001-10-23 | Robert Filepp | Interactive computer network and method of operation |
US5900870A (en) * | 1989-06-30 | 1999-05-04 | Massachusetts Institute Of Technology | Object-oriented computer user interface |
US5297279A (en) * | 1990-05-30 | 1994-03-22 | Texas Instruments Incorporated | System and method for database management supporting object-oriented programming |
JPH05143424A (ja) * | 1991-11-15 | 1993-06-11 | Toshiba Corp | ドキユメント・データベース管理方式 |
US5335343A (en) * | 1992-07-06 | 1994-08-02 | Digital Equipment Corporation | Distributed transaction processing using two-phase commit protocol with presumed-commit without log force |
US6708196B1 (en) * | 1994-04-15 | 2004-03-16 | Microsoft Corporation | Method and system for caching presentation data |
US5574902A (en) * | 1994-05-02 | 1996-11-12 | International Business Machines Corporation | Efficient destaging of updated local cache pages for a transaction in a multisystem and multiprocess database management system with a high-speed shared electronic store |
US6078925A (en) * | 1995-05-01 | 2000-06-20 | International Business Machines Corporation | Computer program product for database relational extenders |
US5864862A (en) * | 1996-09-30 | 1999-01-26 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for creating reusable components in an object-oriented programming environment |
US5721918A (en) * | 1996-02-06 | 1998-02-24 | Telefonaktiebolaget Lm Ericsson | Method and system for fast recovery of a primary store database using selective recovery by data type |
US6785690B1 (en) * | 1996-03-18 | 2004-08-31 | Hewlett-Packard Development Company, L.P. | Method and system for storage, retrieval, and query of objects in a schemeless database |
JP3747525B2 (ja) * | 1996-08-28 | 2006-02-22 | 株式会社日立製作所 | 並列データベースシステム検索方法 |
US6112024A (en) * | 1996-10-02 | 2000-08-29 | Sybase, Inc. | Development system providing methods for managing different versions of objects with a meta model |
US5966706A (en) * | 1997-02-19 | 1999-10-12 | At&T Corp | Local logging in a distributed database management computer system |
US6070174A (en) * | 1997-09-30 | 2000-05-30 | Infraworks Corporation | Method and apparatus for real-time secure file deletion |
US6108004A (en) * | 1997-10-21 | 2000-08-22 | International Business Machines Corporation | GUI guide for data mining |
US6088694A (en) * | 1998-03-31 | 2000-07-11 | International Business Machines Corporation | Continuous availability and efficient backup for externally referenced objects |
US6263342B1 (en) * | 1998-04-01 | 2001-07-17 | International Business Machines Corp. | Federated searching of heterogeneous datastores using a federated datastore object |
US6223344B1 (en) * | 1998-06-11 | 2001-04-24 | Internationl Business Machines Corporation | Apparatus and method for versioning persistent objects |
US6397351B1 (en) * | 1998-09-28 | 2002-05-28 | International Business Machines Corporation | Method and apparatus for rapid data restoration including on-demand output of sorted logged changes |
US6519597B1 (en) * | 1998-10-08 | 2003-02-11 | International Business Machines Corporation | Method and apparatus for indexing structured documents with rich data types |
US6338056B1 (en) * | 1998-12-14 | 2002-01-08 | International Business Machines Corporation | Relational database extender that supports user-defined index types and user-defined search |
US6505211B1 (en) * | 1999-01-26 | 2003-01-07 | International Business Machines Corporation | Method for providing for persistence of java classes where the persistence semantics may be orthogonal to the class definition |
JP3763992B2 (ja) * | 1999-03-30 | 2006-04-05 | 富士通株式会社 | データ処理装置及び記録媒体 |
US6199195B1 (en) * | 1999-07-08 | 2001-03-06 | Science Application International Corporation | Automatically generated objects within extensible object frameworks and links to enterprise resources |
US6549916B1 (en) * | 1999-08-05 | 2003-04-15 | Oracle Corporation | Event notification system tied to a file system |
US7206805B1 (en) * | 1999-09-09 | 2007-04-17 | Oracle International Corporation | Asynchronous transcription object management system |
US7290056B1 (en) * | 1999-09-09 | 2007-10-30 | Oracle International Corporation | Monitoring latency of a network to manage termination of distributed transactions |
US6370541B1 (en) * | 1999-09-21 | 2002-04-09 | International Business Machines Corporation | Design and implementation of a client/server framework for federated multi-search and update across heterogeneous datastores |
KR100327122B1 (ko) * | 1999-12-24 | 2002-03-13 | 오길록 | 재삽입 연산을 수행하는 고차원 색인구조를 위한 회복방법 |
US6556983B1 (en) * | 2000-01-12 | 2003-04-29 | Microsoft Corporation | Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space |
US6571259B1 (en) * | 2000-09-26 | 2003-05-27 | Emc Corporation | Preallocation of file system cache blocks in a data storage system |
US6671687B1 (en) * | 2000-09-29 | 2003-12-30 | Ncr Corporation | Method and apparatus for protecting data retrieved from a database |
US6999956B2 (en) * | 2000-11-16 | 2006-02-14 | Ward Mullins | Dynamic object-driven database manipulation and mapping system |
US20020103819A1 (en) * | 2000-12-12 | 2002-08-01 | Fresher Information Corporation | Technique for stabilizing data in a non-log based information storage and retrieval system |
US6877111B2 (en) * | 2001-03-26 | 2005-04-05 | Sun Microsystems, Inc. | Method and apparatus for managing replicated and migration capable session state for a Java platform |
WO2002079905A2 (en) * | 2001-04-02 | 2002-10-10 | Akamai Technologies, Inc. | Scalable, high performance and highly available distributed storage system for internet content |
US6697818B2 (en) * | 2001-06-14 | 2004-02-24 | International Business Machines Corporation | Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database |
US20030041097A1 (en) * | 2001-07-11 | 2003-02-27 | Alexander Tormasov | Distributed transactional network storage system |
US6772178B2 (en) * | 2001-07-27 | 2004-08-03 | Sun Microsystems, Inc. | Method and apparatus for managing remote data replication in a distributed computer system |
KR20030056540A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법 |
US7421443B2 (en) * | 2003-01-29 | 2008-09-02 | Microsoft Corporation | Filestream data storage attribute |
JP3974538B2 (ja) * | 2003-02-20 | 2007-09-12 | 株式会社日立製作所 | 情報処理システム |
US7181646B2 (en) * | 2003-09-16 | 2007-02-20 | Hitachi, Ltd. | Mapping apparatus for backup and restoration of multi-generation recovered snapshots |
US7277905B2 (en) * | 2004-03-31 | 2007-10-02 | Microsoft Corporation | System and method for a consistency check of a database backup |
US7143120B2 (en) * | 2004-05-03 | 2006-11-28 | Microsoft Corporation | Systems and methods for automated maintenance and repair of database and file systems |
US7587429B2 (en) * | 2004-05-24 | 2009-09-08 | Solid Information Technology Oy | Method for checkpointing a main-memory database |
US7472129B2 (en) * | 2004-06-29 | 2008-12-30 | Microsoft Corporation | Lossless recovery for computer systems with map assisted state transfer |
US7360111B2 (en) * | 2004-06-29 | 2008-04-15 | Microsoft Corporation | Lossless recovery for computer systems with remotely dependent data recovery |
-
2005
- 2005-05-06 US US11/123,563 patent/US8145686B2/en active Active
-
2006
- 2006-03-09 CN CN2006800122680A patent/CN101460930B/zh active Active
- 2006-03-09 JP JP2008509997A patent/JP5259388B2/ja not_active Expired - Fee Related
- 2006-03-09 KR KR1020077023755A patent/KR101255392B1/ko active IP Right Grant
- 2006-03-09 WO PCT/US2006/008278 patent/WO2006121500A2/en active Application Filing
- 2006-03-09 EP EP06737449.6A patent/EP1877906B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453325B1 (en) * | 1995-05-24 | 2002-09-17 | International Business Machines Corporation | Method and means for backup and restoration of a database system linked to a system for filing data |
US6173292B1 (en) * | 1998-03-04 | 2001-01-09 | International Business Machines Corporation | Data recovery in a transactional database using write-ahead logging and file caching |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108363641A (zh) * | 2017-01-26 | 2018-08-03 | 华为技术有限公司 | 一种主备机数据传递方法、控制节点以及数据库系统 |
CN108363641B (zh) * | 2017-01-26 | 2022-01-14 | 华为技术有限公司 | 一种主备机数据传递方法、控制节点以及数据库系统 |
Also Published As
Publication number | Publication date |
---|---|
KR101255392B1 (ko) | 2013-04-17 |
US8145686B2 (en) | 2012-03-27 |
CN101460930A (zh) | 2009-06-17 |
JP2008541225A (ja) | 2008-11-20 |
WO2006121500A3 (en) | 2007-12-06 |
WO2006121500A2 (en) | 2006-11-16 |
EP1877906A2 (en) | 2008-01-16 |
US20060253502A1 (en) | 2006-11-09 |
EP1877906A4 (en) | 2010-09-08 |
KR20080005501A (ko) | 2008-01-14 |
EP1877906B1 (en) | 2018-09-26 |
JP5259388B2 (ja) | 2013-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101460930B (zh) | 维护数据库与文件系统之间的链接级一致性 | |
CN101243446B (zh) | 从数据库镜像进行在线页还原 | |
CN105122241B (zh) | 具有数据库引擎和独立分布式存储服务的数据库系统 | |
CN101888405B (zh) | 一种云计算的文件系统和数据处理方法 | |
US20180046552A1 (en) | Variable data replication for storage implementing data backup | |
US8548957B2 (en) | Method and system for recovering missing information at a computing device using a distributed virtual file system | |
CN101495970B (zh) | 用于高性能企业数据保护的系统和方法 | |
US8412685B2 (en) | Method and system for managing data | |
JP5254611B2 (ja) | 固定内容分散データ記憶のためのメタデータ管理 | |
US8527464B2 (en) | Self-contained partial database backups | |
CN104813276A (zh) | 从备份系统流式恢复数据库 | |
US10725666B2 (en) | Memory-based on-demand data page generation | |
US8214377B2 (en) | Method, system, and program for managing groups of objects when there are different group types | |
Peek et al. | EnsemBlue: Integrating distributed storage and consumer electronics | |
CN105210062A (zh) | 用于分布式数据库系统的系统范围检查点避免 | |
CN105190623A (zh) | 日志记录管理 | |
CN105190622A (zh) | 用于分布式数据库系统的快速崩溃恢复 | |
CN105393243A (zh) | 事务定序 | |
CN103119590A (zh) | 在分布式数据库中管理完整性的方法和系统 | |
US20190188309A1 (en) | Tracking changes in mirrored databases | |
KR20140015403A (ko) | 테넌트 이동에 걸친 테넌트 데이터의 복구 | |
US8195612B1 (en) | Method and apparatus for providing a catalog to optimize stream-based data restoration | |
CN104903871A (zh) | 虚拟磁带库系统 | |
US20240004867A1 (en) | Optimization of application of transactional information for a hybrid transactional and analytical processing architecture | |
US7543017B1 (en) | Cluster file system node failure file recovery by reconstructing file state |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150428 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150428 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |