CN102693169B - 在多租户环境下恢复租户数据的方法、设备和数据库系统 - Google Patents
在多租户环境下恢复租户数据的方法、设备和数据库系统 Download PDFInfo
- Publication number
- CN102693169B CN102693169B CN201110073645.4A CN201110073645A CN102693169B CN 102693169 B CN102693169 B CN 102693169B CN 201110073645 A CN201110073645 A CN 201110073645A CN 102693169 B CN102693169 B CN 102693169B
- Authority
- CN
- China
- Prior art keywords
- database
- logout
- tenant
- data
- time point
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000011084 recovery Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 13
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 238000012508 change request Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method 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/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
- 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
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了在多租户环境下恢复租户数据的方法、设备和数据库系统。在多租户环境下恢复租户数据的方法包括:记录多个租户对数据库的请求;针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录;根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点。本发明的一方面解决的一个问题是,当某个租户对数据库进行了错误的操作并想要回到备份时间点时,仅使该租户在数据库中的信息变成备份时间点时的信息,而不影响其它租户。
Description
技术领域
本发明总体上涉及云计算环境,特别地,本发明涉及在多租户环境下恢复租户数据的方法、设备和数据库系统。
背景技术
目前,在云计算环境下,大多数软件即服务(SaaS,Software asa service)应用支持多租户。例如,多个企业在某服务网站开启企业邮箱。每个企业在登录网站时使用同样的界面填写企业ID、密码等认证信息,接受网站同样的服务流程,但网站为每个企业保留的信息是隔离的。一个企业无法看到其它企业的信息。这里,每个企业就是一个租户。一个租户中包含包括管理员与普通员工的个人帐户在内的多个个人账户。
现有的租户间信息隔离主要有三种途径。第一种途径是为不同的租户采用分离的服务器。第二种途径是为不同的租户采用同一服务器上的多个数据库。这两种情况适合于需要维护的信息量较大的租户。对于需要维护的信息量较小的租户,往往采取第三种途径,即在同一数据库内维护多个租户的信息,但在数据表级别实施数据库内隔离。例如,数据库具有多个数据表,每个数据表都由多个租户共享。
图1是现有技术中数据库系统400的框图。数据库系统400包括数据库管理系统402和数据库403。另外,数据库403有自动的数据事件登记机制,即数据事件登记器404。当某租户希望对数据库403的记录(实际上是对数据库403中的数据表中的记录,下文中将数据库中的数据表中的记录简称为数据库中的记录)进行查询、插入、删除或更新时,应用401发SQL请求到数据库管理系统402。数据库管理系统402按照该请求,对数据库403进行查询、插入、删除或更新。如该请求是查询请求,再将查询结果返回应用401。当数据库403的内容改变(即该请求是插入、删除或更新请求)时,数据事件登记器404自动将该改变登记为一个事件。具体地,当该改变是插入时,登记新插入的记录;当该改变是删除时,登记删除的记录;当该改变是更新时,登记更新前的记录和更新后的记录。
在数据库内隔离的情况下,为了减小数据库故障造成的信息丢失或租户对数据库错误操作的影响,设置备份数据库,并且定期地在一些备份时间点将备份数据库的内容更新成与数据库相同。但是,现有技术的一个重大的缺点是:一旦某个租户对数据库进行了错误的操作,想要回到备份时间点,数据库中所有的租户必须同时回到备份时间点,对其它租户造成影响。
如图2所示,A、B是两个备份时间点。当租户A在当前时间发现对数据库进行了错误的操作而想要回到备份时间点B时,不能够仅对租户A的数据进行恢复操作,而必须对不想回到备份时间点B的租户B、C的数据同时进行恢复操作。
发明内容
本发明的一方面解决的一个问题是,当某个租户对数据库进行了错误的操作并想要回到备份时间点时,仅使该租户在数据库中的信息变成备份时间点时的信息,而不影响其它租户。
根据本发明的第一方面,提供了一种在多租户环境下恢复租户数据的方法,包括:记录多个租户对数据库的请求;针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录;根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点。
根据本发明的第二方面,提供了一种在多租户环境下恢复租户数据的设备,包括:记录装置,被配置为记录多个租户对数据库的请求;获得装置,被配置为针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录;恢复装置,被配置为根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点。
根据本发明的第三方面,提供了一种数据库系统,包括:数据库;数据库管理系统;根据第二方面的在多租户环境下恢复租户数据的设备。
本发明的一方面带来的一个有益效果是,当某个租户对数据库进行了错误的操作并想要回到备份时间点时,仅使该租户在数据库中的信息变成备份时间点时的信息,而不影响其它租户。
本发明的一方面带来的另一个有益效果是,在实现将某个租户在数据库中的信息变为备份时间点的信息的同时,无需对原有机制(例如数据库管理系统402和数据库403)进行更改,是一种非侵入性机制。
附图说明
本申请中所参考的附图只用于示例本发明的典型实施例,不应该认为是对本发明范围的限制。
图1是现有技术中数据库系统的框图。
图2示出了租户A想要回到备份时间点而租户B、C并不想回到备份时间点的一个例子。
图3是根据本发明的一方面的在多租户环境下恢复租户数据的方法的流程图。
图4是根据本发明的一方面的在多租户环境下恢复租户数据的设备的框图。
图5示出了根据本发明的一个实施例的详细框图。
图6示出了根据本发明的另一个实施例的详细框图。
具体实施方式
下列讨论中,提供大量具体的细节以帮助彻底了解本发明。然而,很显然对于本领域技术人员来说,即使没有这些具体细节,并不影响对本发明的理解。并且应该认识到,使用如下的任何具体术语仅仅是为了方便描述,因此,本发明不应当局限于只用在这样的术语所表示和/或暗示的任何特定应用中。
先介绍本发明的原理。首先,在租户对数据库的操作中,并不是所有操作都会对数据库的内容产生影响。只有插入、删除、更新这三种操作会对数据库的内容产生影响。另外,租户发出的对数据库的SQL请求中包含着租户的信息。因此,完全可以在SQL请求进入数据库管理系统402之前先将从备份时间点开始的所有SQL请求记录下来。一旦某租户对数据库403进行了错误的操作而需要回到备份时间点,就可以按照记录下来的SQL请求中包含的租户信息提取该租户的SQL请求,并获得从备份时间点开始的影响数据库内容的事件记录。根据这些仅特定于该租户的事件记录,通过施加相反操作等,就可以在数据库中仅恢复该租户的数据而不影响其它租户。
图3是根据本发明的一方面的在共享数据表模式的多租户环境下恢复租户数据的方法的流程图。在步骤S201,记录多个租户对数据库的请求。在步骤S202,针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录。在步骤S203,根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点。
如图4所示,根据本发明的一方面的在多租户环境下恢复租户数据的设备3包括记录装置301、获得装置302和恢复装置303。记录装置301被配置为记录多个租户对数据库的请求。获得装置302被配置为针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录。恢复装置303被配置为根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点。如图5、6所示,记录装置301、获得装置302和恢复装置303部署在数据库管理系统402和数据库403的外部,因而根据本发明的一方面的在多租户环境下恢复租户数据的设备是一种非侵入式结构,其不会对数据库管理系统402和数据库403的运行产生任何影响而同时实现了恢复特定租户的数据而不影响其它租户的效果。
虽然图4以箭头的方式表示了记录装置301、获得装置302、恢复装置303中信号的流向,但该流向仅是示例性的,本领域技术人员能够收益于本公开的教导构想出其它连接方式。
图5示出了根据本发明的第一实施例的详细框图。图5的数据库系统400除了包括数据库管理系统402、数据库403及其附带的数据事件登记器404外,还包括在多租户环境下恢复租户数据的设备,即记录装置301、获得装置302和恢复装置303。
由于记录装置301记录的SQL请求中含有租户信息,获得装置302从自从特定备份时间点开始的多个租户对数据库的请求中提取要求恢复租户数据的特定租户的、影响数据库内容的请求(即插入、删除和更新请求)。然后,获得装置302分析将提取出的请求施加于数据库403将会产生的数据库改变。如果是插入请求,确定插入后产生的新记录并登记。如果是删除请求,确定删除的记录并登记。如果是更新请求,确定更新的记录并登记更新前和更新后的记录。
可选地,恢复装置303通过对数据库施加与获得装置302获得的事件记录关联的操作相反的操作来恢复数据。例如,如果与所获得的事件记录关联的操作是插入操作,则所述与所获得的事件记录关联的操作相反的操作是删除操作;如果与所获得的事件记录关联的操作是插入操作,则所述与所获得的事件记录关联的操作相反的操作是删除操作;如果与所获得的事件记录关联的操作是更新操作,则所述与所获得的事件记录关联的操作相反的操作是反向更新操作。当然,恢复装置303也可以采取本领域技术人员知道的其它方式来进行恢复。
在恢复数据时,首先要确定在数据库403中与获得装置302获得的事件记录关联的是哪条记录,然后才能施加相反的操作。这可以通过主关键字实现。在数据库中指定主关键字,所述主关键字能够唯一识别数据库中的记录。在对数据库施加与所获得的事件记录关联的操作相反的操作时,按照所获得的事件记录中的主关键字查找在数据库中具有相同主关键字的记录。主关键字可以是唯一识别记录的单个主关键字,例如对于不同学生来说不同的“学号”。主关键字也可以是多个联合主关键字,用于共同唯一识别记录,如“姓名”+“出生年月日”。
当然,除了主关键字的方式,也可以采用逐一完全匹配的方式、相似度匹配等本领域技术人员能构想出的其它方式。在本发明的第二实施例中,特定租户并不想将自从特定备份时间点开始的该特定租户对数据库的所有操作对数据库的影响都取消,而是只想将对数据库中某些条目的影响取消,即,对数据库中的该特定租户的某些条目恢复到特定备份时间点的状态而将数据库中该特定租户的其它条目保持不变。
第二实施例仍采用图5的框图。第二实施例与第一实施例的区别在于,获得装置302从自从特定备份时间点开始的多个租户对数据库的请求中提取该特定租户的影响数据库内容的请求后,还要从该特定租户的影响数据库内容的请求提取针对数据库中某些条目的请求,然后获得装置302分析将提取出的针对数据库中某些条目的请求施加于数据库产生的数据库改变,以产生所述事件记录。也就是说,获得装置302不是分析自从特定备份时间点开始该特定租户的所有影响数据库内容的请求施加于数据库产生的数据库改变,而是只分析其中针对数据库某些条目的请求施加于数据库产生的数据库改变。
第二实施例的其它部分与第一实施例类似。
图6示出了根据本发明的第三实施例的详细框图。第三实施例与第一实施例的不同在于,第三实施例不是分析将提取出的请求施加于数据库403将会产生什么样的数据库改变,而是将自从特定备份时间点开始的该特定租户对数据库的请求经由备份数据库管理系统405施加于备份数据库406。备份数据库406在各备份时间点对数据库403中的数据进行备份。这样,通过将特定租户对数据库403的请求施加到备份着特定备份时间点的数据的备份数据库,备份数据库406附带的数据事件登记器404就可以对从特定备份时间点开始的影响数据库403内容的特定租户的事件记录进行登记。
第三实施例利用存储着与数据库403在备份时间点的数据相同的数据的备份数据库及其附带的数据事件登记机制,不用复杂的分析过程自动获得了特定租户的、从特定备份时间点开始的、影响数据库内容的所有事件记录,提高了处理效率。
第三实施例的其它部分与第一实施例类似。
下面举例说明第三实施例的一个实现过程。
例如,下面是备份时间点B的数据库403的内容:
假设有三个租户A,B和C。张三、王五的数据都是属于租户A的数据;租户B暂时没有数据;李四的数据属于租户C。
备份时间点B后,租户A增加了以下记录:
赵六 25 1990/5/12 92
因此赵六的数据也是属于租户A的数据。
另外,租户A将记录
张三 5 1990/7/16 78
修改为
张七 5 1990/7/16 78
备份时间点B后,租户B增加了以下记录:
王五 28 1990/12/21 83
这里王五的数据属于租户B。
备份时间点B后,租户C删除了以下记录:
李四 8 1989/7/16 87
数据库403目前的内容变成:
现在租户A由于对数据库进行误操作需要回到备份时间点B,但租户B、C没有这种要求。
获得装置302从多个租户在备份时间点B后的SQL请求中提取租户A的以上两条请求,以施加于备份数据库406。备份数据库406附带的数据事件登记器404记录以下事件:
(1)增加:“赵六 25 1990/5/12 92”
(2)将“张三 5 1990/7/16 78”修改为“张七 51990/7/16 78”。
设主关键字为“姓名”和“出生年月日”。
首先,恢复装置303根据事件(1)中的“赵六 1990/5/12”事件找到数据库403中对应的记录并删除。数据库403变成:
数据库403目前的内容变成:
然后,恢复装置303根据事件(2)中的“张七 1990/7/16”找到数据库403中对应的记录并反向替换。数据库403变成:
这就实现了将租户A的数据恢复到备份时间点而不影响租户B、C的数据的目的。
本发明的一方面还提供了一种计算机程序产品,包括:输入输出设备;存储器,存储有计算机程序指令;处理器,被配置为执行存储器中存储的所述计算机程序指令,以执行:记录多个租户对数据库的请求;针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录;根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点。
所属技术领域的技术人员知道,本发明可以体现为系统、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium ofexpression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括-但不限于-无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言-诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
以下参照按照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文中所用的术语,仅仅是为了描述特定的实施例,而不意图限定本发明。本文中所用的单数形式的“一”和“该”,旨在也包括复数形式,除非上下文中明确地另外指出。还要知道,“包含”一词在本说明书中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件,以及/或者它们的组合。
权利要求中的对应结构、材料、操作以及所有功能性限定的装置(means)或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也并非是要把本发明限定到所表述的形式。对于所属技术领域的普通技术人员来说,在不偏离本发明范围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的原理和实际应用,使所属技术领域的普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。
Claims (15)
1.一种在多租户环境下恢复租户数据的方法,包括:
记录多个租户对数据库的请求;
针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录;
根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点,
其中获得从特定备份时间点开始的影响数据库内容的事件记录包括:
从自从特定备份时间点开始的多个租户对数据库的请求中提取该特定租户的影响数据库内容的请求;
分析将提取出的该特定租户的影响数据库内容的请求施加于数据库产生的数据库改变,以产生所述事件记录。
2.根据权利要求1的方法,其中获得从特定备份时间点开始的影响数据库内容的事件记录包括:
从自从特定备份时间点开始的多个租户对数据库的请求中提取该特定租户的影响数据库内容的请求;
从该特定租户的影响数据库内容的请求提取针对数据库中某些条目的请求;
分析将提取出的针对数据库中某些条目的请求施加于数据库产生的数据库改变,以产生所述事件记录。
3.一种在多租户环境下恢复租户数据的方法,包括:
记录多个租户对数据库的请求;
针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录;
根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点,
其中获得从特定备份时间点开始的影响数据库内容的事件记录包括:
将自从特定备份时间点开始的该特定租户对数据库的请求施加于该特定备份时间点的备份数据库,以便由备份数据库的数据事件登记器登记所述事件记录。
4.根据权利要求1-3中任一个的方法,其中在数据库中只将该特定租户的数据恢复到该特定备份时间点包括对数据库施加与所获得的事件记录关联的操作相反的操作。
5.根据权利要求4的方法,其中与所获得的事件记录关联的操作相反的操作包括:
如果与所获得的事件记录关联的操作是插入操作,则所述与所获得的事件记录关联的操作相反的操作是删除操作;
如果与所获得的事件记录关联的操作是删除操作,则所述与所获得的事件记录关联的操作相反的操作是插入操作;
如果与所获得的事件记录关联的操作是更新操作,则所述与所获得的事件记录关联的操作相反的操作是反向更新操作。
6.根据权利要求1-3中的任一个的方法,其中在数据库中指定主关键字,所述主关键字能够唯一识别数据库中的记录,且在对数据库施加与所获得的事件记录关联的操作相反的操作时,按照所获得的事件记录中的主关键字查找在数据库中具有相同主关键字的记录。
7.根据权利要求6的方法,其中主关键字是以下中的至少一个:
a.唯一识别记录的单个主关键字;
b.多个联合主关键字,用于共同唯一识别记录。
8.一种在多租户环境下恢复租户数据的设备,包括:
记录装置,被配置为记录多个租户对数据库的请求;
获得装置,被配置为针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录;
恢复装置,被配置为根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点,
其中获得装置被配置为从自从特定备份时间点开始的多个租户对数据库的请求中提取该特定租户的影响数据库内容的请求,并分析将提取出的该特定租户的影响数据库内容的请求施加于数据库产生的数据库改变,以产生所述事件记录。
9.根据权利要求8的设备,其中获得装置被配置为从自从特定备份时间点开始的多个租户对数据库的请求中提取该特定租户的影响数据库内容的请求,从该特定租户的影响数据库内容的请求提取针对数据库中某些条目的请求,并分析将提取出的针对数据库中某些条目的请求施加于数据库产生的数据库改变,以产生所述事件记录。
10.一种在多租户环境下恢复租户数据的设备,包括:
记录装置,被配置为记录多个租户对数据库的请求;
获得装置,被配置为针对要求恢复租户数据的特定租户,获得从特定备份时间点开始的影响数据库内容的事件记录;
恢复装置,被配置为根据所获得的事件记录,在数据库中只将该特定租户的数据恢复到该特定备份时间点,
其中获得装置被配置为将自从特定备份时间点开始的该特定租户对数据库的请求施加于该特定备份时间点的备份数据库,以便由备份数据库的数据事件登记器登记所述事件记录。
11.根据权利要求8-10中任一个的设备,其中恢复装置被配置为对数据库施加与所获得的事件记录关联的操作相反的操作。
12.根据权利要求11的设备,其中与所获得的事件记录关联的操作相反的操作包括:
如果与所获得的事件记录关联的操作是插入操作,则所述与所获得的事件记录关联的操作相反的操作是删除操作;
如果与所获得的事件记录关联的操作是删除操作,则所述与所获得的事件记录关联的操作相反的操作是插入操作;
如果与所获得的事件记录关联的操作是更新操作,则所述与所获得的事件记录关联的操作相反的操作是反向更新操作。
13.根据权利要求8-10中任一个的设备,其中在数据库中指定主关键字,所述主关键字能够唯一识别数据库中的记录,且在对数据库施加与所获得的事件记录关联的操作相反的操作时,按照所获得的事件记录中的主关键字查找在数据库中具有相同主关键字的记录。
14.根据权利要求13的设备,其中主关键字是以下中的至少一个:
a.唯一识别记录的单个主关键字;
b.多个联合主关键字,用于共同唯一识别记录。
15.一种数据库系统,包括:
数据库;
数据库管理系统;
根据权利要求8的在多租户环境下恢复租户数据的设备。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110073645.4A CN102693169B (zh) | 2011-03-25 | 2011-03-25 | 在多租户环境下恢复租户数据的方法、设备和数据库系统 |
US13/423,593 US9075839B2 (en) | 2011-03-25 | 2012-03-19 | Method, apparatus and database system for restoring tenant data in a multi-tenant environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110073645.4A CN102693169B (zh) | 2011-03-25 | 2011-03-25 | 在多租户环境下恢复租户数据的方法、设备和数据库系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102693169A CN102693169A (zh) | 2012-09-26 |
CN102693169B true CN102693169B (zh) | 2015-01-28 |
Family
ID=46858643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110073645.4A Expired - Fee Related CN102693169B (zh) | 2011-03-25 | 2011-03-25 | 在多租户环境下恢复租户数据的方法、设备和数据库系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9075839B2 (zh) |
CN (1) | CN102693169B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449039B2 (en) | 2012-11-26 | 2016-09-20 | Amazon Technologies, Inc. | Automatic repair of corrupted blocks in a database |
TWI476614B (zh) * | 2012-12-27 | 2015-03-11 | Chunghwa Telecom Co Ltd | Multi - tenant Cloud Warehouse Integrated Retrieval System and Its Method |
US9596279B2 (en) | 2013-02-08 | 2017-03-14 | Dell Products L.P. | Cloud-based streaming data receiver and persister |
US9442993B2 (en) | 2013-02-11 | 2016-09-13 | Dell Products L.P. | Metadata manager for analytics system |
US9191432B2 (en) | 2013-02-11 | 2015-11-17 | Dell Products L.P. | SAAS network-based backup system |
US9141680B2 (en) | 2013-02-11 | 2015-09-22 | Dell Products L.P. | Data consistency and rollback for cloud analytics |
CN104182414A (zh) * | 2013-05-24 | 2014-12-03 | 国际商业机器公司 | 用于在多租户系统中管理数据库的方法和设备 |
WO2016018207A1 (en) * | 2014-07-28 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Providing data backup |
CN104217174A (zh) * | 2014-09-05 | 2014-12-17 | 四川长虹电器股份有限公司 | 分布式文件安全存储系统及其存储方法 |
US9742724B2 (en) * | 2014-09-09 | 2017-08-22 | International Business Machines Corporation | Direct transmission of data between applications in a multi-tenant environment |
CN105677675B (zh) * | 2014-11-20 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 业务处理方法及装置 |
CN105989124B (zh) * | 2015-02-13 | 2019-08-16 | 深圳万兴信息科技股份有限公司 | Sqlite文件恢复自增主键值的方法及其系统 |
CN109165121B (zh) * | 2015-12-18 | 2021-03-23 | 福建随行软件有限公司 | 恢复被误操作的数据的方法及系统 |
CN106970855B (zh) * | 2016-01-14 | 2021-04-20 | 华为技术有限公司 | 数据恢复的方法和装置 |
CN105955845A (zh) * | 2016-04-26 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种数据恢复方法及装置 |
CN106055424A (zh) * | 2016-05-19 | 2016-10-26 | 青岛海信移动通信技术股份有限公司 | 一种信息数据库的异常处理方法和装置 |
US10592353B2 (en) * | 2017-06-27 | 2020-03-17 | Salesforce.Com, Inc. | Systems and methods of restoring a dataset of a database for a point in time |
US10901855B2 (en) * | 2018-06-21 | 2021-01-26 | International Business Machines Corporation | On-demand multitenant data backup and restore |
CN115220956A (zh) * | 2021-04-21 | 2022-10-21 | 伊姆西Ip控股有限责任公司 | 恢复数据的方法、电子设备和计算机程序产品 |
CN117033083B (zh) * | 2023-09-28 | 2024-01-19 | 武汉吧哒科技股份有限公司 | 数据备份方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1630674A1 (en) * | 2004-08-24 | 2006-03-01 | Microsoft Corporation | Generating an optimized database restore plan |
CN1955967A (zh) * | 2005-10-27 | 2007-05-02 | 国际商业机器公司 | 用于管理对计算机数据库的访问的系统和方法 |
CN101593185A (zh) * | 2008-05-29 | 2009-12-02 | 国际商业机器公司 | 利用同步进行数据恢复的方法和系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192378B1 (en) * | 1998-05-13 | 2001-02-20 | International Business Machines Corporation | Method and apparatus for combining undo and redo contexts in a distributed access environment |
US8095511B2 (en) * | 2003-06-30 | 2012-01-10 | Microsoft Corporation | Database data recovery system and method |
US8799225B2 (en) * | 2003-11-05 | 2014-08-05 | Lumigent Technologies, Inc. | Process and system for auditing database activity |
US7739244B2 (en) | 2004-10-14 | 2010-06-15 | Oracle International Corporation | Operating logging for online recovery in shared memory information systems |
US7689593B2 (en) * | 2005-12-30 | 2010-03-30 | Sap Ag | Systems and methods for accessing a shared space in a provider-tenant environment |
JP4940730B2 (ja) * | 2006-03-31 | 2012-05-30 | 富士通株式会社 | データベースシステム運用方法,データベースシステム,データベース装置及びバックアッププログラム |
US7587435B2 (en) | 2006-11-10 | 2009-09-08 | Sybase, Inc. | Replication system with methodology for replicating database sequences |
US10007767B1 (en) | 2007-12-21 | 2018-06-26 | EMC IP Holding Company LLC | System and method for securing tenant data on a local appliance prior to delivery to a SaaS data center hosted application service |
US8135838B2 (en) | 2008-04-08 | 2012-03-13 | Geminare Incorporated | System and method for providing data and application continuity in a computer system |
US8972978B2 (en) * | 2008-05-02 | 2015-03-03 | Skytap | Multitenant hosted virtual machine infrastructure |
US9208188B2 (en) * | 2009-02-17 | 2015-12-08 | Microsoft Technology Licensing, Llc | Tenant management of a hosted multi-tenant application |
US8321688B2 (en) | 2009-06-12 | 2012-11-27 | Microsoft Corporation | Secure and private backup storage and processing for trusted computing and data services |
US8825601B2 (en) * | 2010-02-01 | 2014-09-02 | Microsoft Corporation | Logical data backup and rollback using incremental capture in a distributed database |
US9275160B2 (en) * | 2010-05-20 | 2016-03-01 | Salesforce.Com, Inc. | Performing an upgrade in a multi-tenant database system environment |
US8386431B2 (en) * | 2010-06-14 | 2013-02-26 | Sap Ag | Method and system for determining database object associated with tenant-independent or tenant-specific data, configured to store data partition, current version of the respective convertor |
US20120173488A1 (en) * | 2010-12-29 | 2012-07-05 | Lars Spielberg | Tenant-separated data storage for lifecycle management in a multi-tenancy environment |
US9460169B2 (en) * | 2011-01-12 | 2016-10-04 | International Business Machines Corporation | Multi-tenant audit awareness in support of cloud environments |
US9021264B2 (en) * | 2011-02-03 | 2015-04-28 | Cloudlink Technologies Inc. | Method and system for cloud based storage |
US20120254118A1 (en) * | 2011-03-31 | 2012-10-04 | Microsoft Corporation | Recovery of tenant data across tenant moves |
-
2011
- 2011-03-25 CN CN201110073645.4A patent/CN102693169B/zh not_active Expired - Fee Related
-
2012
- 2012-03-19 US US13/423,593 patent/US9075839B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1630674A1 (en) * | 2004-08-24 | 2006-03-01 | Microsoft Corporation | Generating an optimized database restore plan |
CN1955967A (zh) * | 2005-10-27 | 2007-05-02 | 国际商业机器公司 | 用于管理对计算机数据库的访问的系统和方法 |
CN101593185A (zh) * | 2008-05-29 | 2009-12-02 | 国际商业机器公司 | 利用同步进行数据恢复的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20120246118A1 (en) | 2012-09-27 |
US9075839B2 (en) | 2015-07-07 |
CN102693169A (zh) | 2012-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102693169B (zh) | 在多租户环境下恢复租户数据的方法、设备和数据库系统 | |
US11005850B2 (en) | Access control for database | |
US9892276B2 (en) | Verifiable data destruction in a database | |
US9747288B1 (en) | Scalable transaction-based data repository service | |
US20170132269A1 (en) | Scalable enterprise content management | |
CN108255638B (zh) | 一种快照回滚方法及装置 | |
US10013315B2 (en) | Reverse snapshot clone | |
US11748495B2 (en) | Systems and methods for data usage monitoring in multi-tenancy enabled HADOOP clusters | |
Sremack | Big Data Forensics–Learning Hadoop Investigations | |
CN103823902A (zh) | 一种电子文件安全检索的方法 | |
US10007694B2 (en) | Managing data sets of a storage system | |
KR101588375B1 (ko) | 데이터베이스 관리 방법 및 데이터베이스 관리 시스템 | |
KR101071484B1 (ko) | 데이터베이스의 논리적 데이터 오류 복구방법 | |
CN104182414A (zh) | 用于在多租户系统中管理数据库的方法和设备 | |
US9928271B2 (en) | Aggregating and summarizing sequences of hierarchical records | |
US20160085782A1 (en) | Update method and updating device | |
US8635188B2 (en) | Techniques for extracting data from content databases | |
US20160196331A1 (en) | Reconstitution order of entity evaluations | |
Li et al. | A performance evaluation of spark graphframes for fast and scalable graph analytics at Twitter | |
CN102754083A (zh) | 数据库管理系统 | |
CN112286992B (zh) | 一种查询方法、分布式系统、设备及存储介质 | |
CN116226092B (zh) | 数据库更新方法及装置 | |
JP6158361B2 (ja) | 情報処理装置及び方法 | |
Thomas et al. | OCA/OCP: Oracle9i DBA Fundamentals I Study Guide: Exam 1Z0-031 | |
CN112732480A (zh) | 数据库管理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150128 Termination date: 20210325 |
|
CF01 | Termination of patent right due to non-payment of annual fee |