CN104182414A - 用于在多租户系统中管理数据库的方法和设备 - Google Patents

用于在多租户系统中管理数据库的方法和设备 Download PDF

Info

Publication number
CN104182414A
CN104182414A CN201310198785.3A CN201310198785A CN104182414A CN 104182414 A CN104182414 A CN 104182414A CN 201310198785 A CN201310198785 A CN 201310198785A CN 104182414 A CN104182414 A CN 104182414A
Authority
CN
China
Prior art keywords
data
tenant
owned
publicly
metadata information
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.)
Pending
Application number
CN201310198785.3A
Other languages
English (en)
Inventor
王启荣
窦志彤
王宁
李蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310198785.3A priority Critical patent/CN104182414A/zh
Publication of CN104182414A publication Critical patent/CN104182414A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据处理,具体公开了一种用于在多租户系统中管理数据库的方法,包括:提供公有数据,所述公有数据对租户为只读;提供租户数据,所述租户数据基于所述公有数据构建并且对租户为私有;提供记录租户数据的元数据信息的数据结构;响应于租户对租户数据的操作,在所述数据结构中记录所述操作对应的租户数据的元数据信息,其中所述操作至少包括更新或删除中的一种。利用本发明的方法,能够在不影响数据库性能和并发性的前提下,利用较少的数据存储空间实现对多租户的支持。

Description

用于在多租户系统中管理数据库的方法和设备
技术领域
本发明涉及数据处理,更确切的,本发明涉及一种用于在多租户系统中管理数据库的方法和设备。
背景技术
在多租户的系统中,尤其是基于多租户的软件即服务(SaaS)系统中,多租户的提供者会发布或者定期更新一些公用的信息给所有的租户来使用。而租户可能根据各自的情况来个性化的修改、删除这些数据或者增加新的数据以符合自身需求。而怎样在数据库中系统中来高效的保存和展示这些数据,以及使用怎样的方式来处理这些数据是一个关键的问题。
一般有两种常见的解决方案:一种是每个租户各自拷贝一份原始数据到私有空间,各个租户数据相互隔离,互不影响,但是在海量用户情况下需要大量的数据库存储空间,造成浪费,并且在提供者更新数据时难以在所有租户之间同步数据。第二种方案是,由应用程序来进行租户之间的数据隔离,以及将更新的数据通过应用程序关联到已有的数据上,这种方案一方面开发和维护的工作量很大并且适用范围也受到影响,另一方面,由于在数据库和应用程序间过多的数据交互影响了整体的性能及并发性。
发明内容
本发明的说明性实施例提供了一种用于在多租户系统中管理数据库的方法,包括:提供公有数据,所述公有数据对租户为只读;提供租户数据,所述租户数据基于所述公有数据构建并且对租户为私有并且初始为空;提供记录租户数据的元数据信息的数据结构;响应于租户对租户数据的操作,在所述数据结构中记录所述操作对应的租户数据的元数据信息,其中所述操作至少包括更新或删除中的一种。
根据本发明的一个方面,提供了一种用于在多租户系统中管理数据库的设备,包括:提供装置,配置为:提供公有数据,所述公有数据对租户为只读;提供租户数据,所述租户数据基于所述公有数据构建并且对租户为私有并且初始为空;提供记录租户数据的元数据信息的数据结构;以及记录装置,配置为响应于租户对租户数据的操作,在所述数据结构中记录所述操作对应的租户数据的元数据信息,其中所述操作至少包括更新或删除中的一种。
根据本发明的另一个方面,还提供了一种用于在多租户系统中管理数据库的计算机程序产品。
利用本发明的一个或多个实施例,能够在不影响数据库性能和并发性的前提下,利用较少的数据存储空间实现对多租户的支持。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2示出了根据本发明一个实施例的用于在多租户系统中管理数据库的方法200的流程图;
图3示出了根据本发明一个实施例的用于在多租户系统中管理数据库的设备300的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
除了图1显示传统的计算机系统/服务器12,适于用来实现本发明实施方式还可以包括移动电子设备,包括但不限于移动电话、PDA、平板电脑等。典型的,移动电子设备具有输入设备包括但不限于接触式输入设备,如触摸屏、触摸板等。
现在参看图2,其中示出了根据本发明一个实施例的用于在多租户系统中管理数据库的方法200的流程图。方法200从步骤202开始。
接下来,方法200进入步骤204,其中,提供公有数据,所述公有数据对租户为只读。公有数据可以是数据表,也可以是现有技术中任意其他可能的数据结构。为了方便说明,本发明将以数据表为例进行说明。对应于现有技术中其他可能的数据结构,所属领域技术人员可以在本发明构思的框架内通过对给出的实施例进行适当的改变进而得到对应的技术方案。
本发明的示例性实施例可以在多租户系统的数据库管理系统中实施。公有数据例如可以是由Maps这样的服务提供商提供的数据。可以由数据库管理系统的管理员通过将Maps提供的数据复制到数据库管理系统以提供公有数据,并将公有数据的权限设置为对租户为只读。当然,这里只是对公有数据的来源提供一个说明性的例子,任何由数据库管理员设置为可以由多租户使用但对其为只读的数据都可以作为公有数据。
接下来,方法200进入步骤206,其中,提供租户数据,所述租户数据基于所述公有数据构建并且对租户为私有。租户数据对租户为私有,表明除了数据库管理系统的管理员之外,只有被提供该租户数据的租户能够对其数据进行访问或对其进行操作。租户数据初始为空,也就是说,在租户没有执行任何操作的初始状态时,租户数据中没有任何数据记录。根据系统数据策略,多个租户的租户数据可以对应分别存储于彼此独立的租户的存储空间,也可以由多个租户共享同一存储空间。由于租户数据初始为空,大大节省了数据库的存储空间。
接下来,方法200进入步骤208,其中,提供记录租户数据的元数据信息的数据结构。根据本发明的一个实施例,记录租户数据的元数据信息的数据结构可以是数据表,也可以是JSON、XML或其他现有技术中已知或将来可能的数据结构。进一步地,记录租户数据的元数据信息的数据表可以是系统目录表(system catalog table),该租户数据的元数据信息至少包括租户信息:可以包括租户ID,租户的存储空间信息和/或租户对应的系统数据策略等。此外,租户数据的元数据信息还可以包括:响应于租户对租户数据的操作记录的所述操作对应的租户数据的元数据信息,将在下面对步骤210的介绍中进行详细介绍。
下面的表1以示例的方式给出了记录租户数据的元数据信息的系统目录表的可能的形式和内容:
tenant_id table_space system_data_policy
'tenant1' 'tenent1_space' 'shared'
'tenant2' 'tenent2_space' 'shared'
表1–记录租户数据的元数据信息的系统目录表
上表中,tenant_id为租户ID,table_space为租户ID对应的存储空间信息,system_data_policy为系统数据策略,其值'shared'表示系统数据策略为共享。
应当理解,上述说明仅仅是示例,不应理解租户数据的元数据信息仅限于上面描述的这些,而是可以根据需要记录更少或更多的租户数据的元数据信息。
之后,方法200进入步骤210,其中,响应于租户对租户数据的操作,在所述数据结构中记录所述操作对应的租户数据的元数据信息,其中所述操作至少包括更新或删除中的一种。根据本发明的一个实施例,记录所述操作对应的租户数据的元数据信息的数据结构可以是数据表,进一步地,记录所述操作对应的租户数据的元数据信息的数据表可以是系统目录表,该系统目录表可以包括一个或多个数据表。该系统目录表中可以记录的所述操作对应的租户数据的元数据信息包括但不限于以下信息:
所述操作执行者的租户ID:
所述操作针对的数据的信息,可以包括操作针对的数据所在的数据表和数据行等;
所述操作的操作类型:可以包括插入、更新或删除。
下面的表2以示例的方式给出了记录所述操作对应的租户数据的元数据信息的系统目录表的可能的形式和内容:
table_name row_id tenant_id status new_row_id table_space
'student' '0x321894' 'tenant1' 'insert' 'tenent1_space'
'student' '0x321890' 'tenant1' 'update' '0x321895 'tenant1_space'
'student' '0x321891' 'tenant1' 'delete' 'tenant1_space'
表2–记录对所述操作对应的租户数据的元数据信息的系统目录表
上表中,table_name为所述操作针对的数据所在的数据表名,row_id为所述操作针对的数据所在的行id,tenant_id所述操作执行者的租户ID,status为所述操作的操作类型,new_row_id为当所述操作针对的数据发生变化时对应的新的行id,table_space为所述操作针对的数据所在的表空间。为了便于后续的说明,表2中仅示例性的给出了租户ID为tenant1的租户的操作对应的其租户数据的元数据信息,应当理解,表2中还可以记录其他租户的操作对应的其租户数据的元数据信息。当然,也可以利用彼此独立的系统目录表分别记录每个租户的操作对应的其租户数据的元数据信息。
由于没有利用应用程序来进行租户之间的数据隔离以及将更新的数据通过应用程序关联到已有的数据上,而是利用数据结构记录租户对租户数据的操作对应的租户数据的元数据信息,因而由于在数据库和应用程序间过多的数据交互影响了整体的性能及并发性的问题也得到了克服。
应当理解,上述说明仅仅是示例,不应理解租户数据的元数据信息仅限于上面描述的这些,而是可以根据需要记录更少或更多的租户数据的元数据信息。
以上通过结合图1详细介绍了根据本发明的一个实施例的用于在多租户系统中管理数据库的方法。根据本发明的其他实施例,对应于用户对租户数据的操作的类型(插入、更新或删除),方法还可以进一步包括:
如果所述操作的操作类型为插入,在租户数据执行所述插入操作。
如果所述操作的操作类型为更新,则响应于所述更新操作,将所述更新操作针对的数据从公有数据复制到租户数据并执行所述该更新操作。
如果所述操作的操作类型为删除,则响应于所述删除操作,仅在所提供的数据结构中记录删除操作对应的租户数据的元数据信息。
仍以表2中记录的租户对租户数据的操作对应的租户数据的元数据信息为例,其中租户的租户ID为tenant1,该租户对其租户数据进行了如下操作:
1)插入了行id为0x321894的数据记录;
2)将行id为0x321890的数据记录的行id更新为0x321895;
3)将行id为0x321891的数据记录删除。
假设在表2记录的该租户对租户数据的操作之前其租户数据为初始状态,经过表2记录的租户对其对其租户数据的插入、更新和删除操作之后,其租户数据中将包含插入和更新操作对应的数据记录。
根据本发明的一个实施例,响应于租户对租户数据的查询请求,根据记录租户数据的元数据信息的数据结构中记录的租户对租户数据的操作对应的元数据信息将公有数据和租户数据合并。以表2为例,响应于租户ID为tenant_1的租户对其租户数据的查询请求,复制公有数据并读取租户数据,并根据表2的内容将公有数据和租户数据合并。经过所述合并,租户ID为tenant_1的租户所看到的是租户数据为在公有数据的基础上经过表2记录的该租户的操作之后的数据。
现在参看图3,其中示出了根据本发明一个实施例的用于在多租户系统中管理数据库的设备300的框图。
根据本发明一个实施例的用于在多租户系统中管理数据库的设备300包括:提供装置302,配置为:提供公有数据,所述公有数据对租户为只读;提供租户数据,所述租户数据基于所述公有数据构建并且对租户为私有;提供记录租户数据的元数据信息的数据结构;记录装置304,配置为响应于租户对租户数据的操作,在所述数据结构中记录所述操作对应的租户数据的元数据信息,其中所述操作至少包括更新或删除中的一种。
根据本发明的一个实施例,其中所述操作对应的租户数据的元数据信息至少包括:所述操作执行者的租户ID;所述操作针对的数据的信息;以及所述操作的操作类型。
根据本发明的一个实施例,其中所述操作针对的数据的信息包括:所述操作针对的数据所在的数据表和数据行。
根据本发明的一个实施例,设备300还可以包括:插入装置306,配置为在所述操作的操作类型为插入时,在租户数据执行所述插入操作。
根据本发明的一个实施例,设备300还可以包括:更新装置308,配置为在所述操作的操作类型为更新时,响应于租户对租户数据的更新操作将所述更新操作针对的数据从公有数据复制到租户数据并执行所述更新操作。
根据本发明的一个实施例,设备300还可以包括:合并装置310,配置为响应于租户对租户数据的查询请求,根据所述数据结构记录的租户数据的元数据信息将公有数据和租户数据合并。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (12)

1.一种用于在多租户系统中管理数据库的方法,包括:
提供公有数据,所述公有数据对租户为只读;
提供租户数据,所述租户数据基于所述公有数据构建并且对租户为私有并且初始为空;
提供记录租户数据的元数据信息的数据结构;
响应于租户对租户数据的操作,在所述数据结构中记录所述操作对应的租户数据的元数据信息,其中所述操作至少包括更新或删除中的一种。
2.根据权利要求1的方法,其中所述操作对应的租户数据的元数据信息至少包括:
所述操作执行者的租户ID;
所述操作针对的数据的信息;以及
所述操作的操作类型。
3.根据权利要求2的方法,其中所述操作针对的数据的信息包括:所述操作针对的数据所在的数据表和数据行。
4.根据权利要求2的方法,其中所述操作还包括插入,并且所述方法进一步包括:响应于所述操作的操作类型为插入,在租户数据执行所述插入操作。
5.根据权利要求2的方法,其中所述操作的操作类型为更新,所述方法进一步包括:
响应于租户对租户数据的更新操作,将所述更新操作针对的数据从公有数据复制到租户数据并执行所述更新操作。
6.根据权利要求1的方法,进一步包括:
响应于租户对租户数据的查询请求,根据所述数据结构记录的租户数据的元数据信息将公有数据和租户数据合并。
7.一种用于在多租户系统中管理数据库的设备,包括:
提供装置,配置为:
提供公有数据,所述公有数据对租户为只读;
提供租户数据,所述租户数据基于所述公有数据构建并且对租户为私有并且初始为空;
提供记录租户数据的元数据信息的数据结构;
记录装置,配置为响应于租户对租户数据的操作,在所述数据结构中记录所述操作对应的租户数据的元数据信息,其中所述操作至少包括更新或删除中的一种。
8.根据权利要求7的设备,其中所述操作对应的租户数据的元数据信息至少包括:
所述操作执行者的租户ID;
所述操作针对的数据的信息;以及
所述操作的操作类型。
9.根据权利要求8的设备,其中所述操作针对的数据的信息包括:所述操作针对的数据所在的数据表和数据行。
10.根据权利要求8的设备,其中所述操作还包括插入,所述设备进一步包括;
插入装置,配置为响应于所述操作的操作类型为插入,在租户数据执行所述插入操作。
11.根据权利要求8的设备,进一步包括:
更新装置,配置为在所述操作的操作类型为更新时,响应于租户对租户数据的更新操作将所述更新操作针对的数据从公有数据复制到租户数据并执行所述更新操作。
12.根据权利要求1的设备,进一步包括:
合并装置,配置为响应于租户对租户数据的查询请求,根据所述数据结构记录的租户数据的元数据信息将公有数据和租户数据合并。
CN201310198785.3A 2013-05-24 2013-05-24 用于在多租户系统中管理数据库的方法和设备 Pending CN104182414A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310198785.3A CN104182414A (zh) 2013-05-24 2013-05-24 用于在多租户系统中管理数据库的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310198785.3A CN104182414A (zh) 2013-05-24 2013-05-24 用于在多租户系统中管理数据库的方法和设备

Publications (1)

Publication Number Publication Date
CN104182414A true CN104182414A (zh) 2014-12-03

Family

ID=51963465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310198785.3A Pending CN104182414A (zh) 2013-05-24 2013-05-24 用于在多租户系统中管理数据库的方法和设备

Country Status (1)

Country Link
CN (1) CN104182414A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110088743A (zh) * 2016-12-16 2019-08-02 国际商业机器公司 磁带处理卸载到对象存储
CN110147369A (zh) * 2017-10-26 2019-08-20 Sap欧洲公司 多重租赁数据库系统中的数据分离和写入重新定向
CN110799961A (zh) * 2017-06-27 2020-02-14 易享信息技术有限公司 在数据库中创建和删除租户的系统和方法
CN112527807A (zh) * 2019-09-18 2021-03-19 银联数据服务有限公司 一种数据结构操作方法及装置
CN113467817A (zh) * 2021-07-14 2021-10-01 广域铭岛数字科技有限公司 一种应用管理方法、系统、介质及电子终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693169A (zh) * 2011-03-25 2012-09-26 国际商业机器公司 在多租户环境下恢复租户数据的方法、设备和数据库系统
CN102930027A (zh) * 2012-11-06 2013-02-13 苏州两江科技有限公司 云计算多租户架构中数据处理系统及处理方法
CN103036856A (zh) * 2011-10-09 2013-04-10 镇江金软计算机科技有限责任公司 基于saas应用的多租户系统实现
CN103118053A (zh) * 2011-08-17 2013-05-22 国际商业机器公司 在网络计算环境中构建数据安全性的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693169A (zh) * 2011-03-25 2012-09-26 国际商业机器公司 在多租户环境下恢复租户数据的方法、设备和数据库系统
CN103118053A (zh) * 2011-08-17 2013-05-22 国际商业机器公司 在网络计算环境中构建数据安全性的方法和系统
CN103036856A (zh) * 2011-10-09 2013-04-10 镇江金软计算机科技有限责任公司 基于saas应用的多租户系统实现
CN102930027A (zh) * 2012-11-06 2013-02-13 苏州两江科技有限公司 云计算多租户架构中数据处理系统及处理方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110088743A (zh) * 2016-12-16 2019-08-02 国际商业机器公司 磁带处理卸载到对象存储
CN110088743B (zh) * 2016-12-16 2023-05-23 国际商业机器公司 磁带处理卸载到对象存储
CN110799961A (zh) * 2017-06-27 2020-02-14 易享信息技术有限公司 在数据库中创建和删除租户的系统和方法
CN110799961B (zh) * 2017-06-27 2023-12-26 硕动力公司 在数据库中创建和删除租户的系统和方法
CN110147369A (zh) * 2017-10-26 2019-08-20 Sap欧洲公司 多重租赁数据库系统中的数据分离和写入重新定向
CN110147369B (zh) * 2017-10-26 2023-09-12 Sap欧洲公司 多重租赁数据库系统中的数据分离和写入重新定向
CN112527807A (zh) * 2019-09-18 2021-03-19 银联数据服务有限公司 一种数据结构操作方法及装置
CN113467817A (zh) * 2021-07-14 2021-10-01 广域铭岛数字科技有限公司 一种应用管理方法、系统、介质及电子终端

Similar Documents

Publication Publication Date Title
CN102831075B (zh) 将预先存在数据导入存储池的方法和系统
US11005850B2 (en) Access control for database
CN105335411A (zh) 用于数据处理的方法和系统
CN104182414A (zh) 用于在多租户系统中管理数据库的方法和设备
CN103514229A (zh) 用于在分布式数据库系统中处理数据库数据的方法和装置
US20120284231A1 (en) Distributed, asynchronous and fault-tolerant storage system
CN107506484B (zh) 运维数据关联审计方法、系统、设备及存储介质
CN110799961B (zh) 在数据库中创建和删除租户的系统和方法
CN103729169A (zh) 用于确定待迁移文件范围的方法和装置
CN111061740B (zh) 一种数据同步方法、设备和存储介质
CN104765745A (zh) 对数据库中的加载数据进行逻辑验证的方法和系统
CN104765621A (zh) 一种在集群节点中部署程序的方法和系统
US10089385B2 (en) Method and apparatus for asynchroinzed de-serialization of E-R model in a huge data trunk
CN111178849A (zh) 线性流程引擎实现方法、装置、设备及存储介质
CN106557307A (zh) 业务数据的处理方法及处理系统
US8589454B2 (en) Computer data file merging based on file metadata
US11119861B2 (en) Cross-backup application diskless data migration
CN103870762A (zh) 分区访问方法和电子设备
CN104951528A (zh) 一种数据迁移的方法及终端
US9111114B1 (en) Method of transforming database system privileges to object privileges
CN105404828A (zh) 用于数据安全的方法和系统
WO2021012554A1 (zh) 区块链中数据字段的更新方法、装置、介质、电子设备
CN112039975A (zh) 一种报文字段的处理方法、装置、设备及存储介质
CN102087551B (zh) 信息切换模块及相关的文件传送方法
US20200004592A1 (en) Hybridized storage optimization for genomic workloads

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141203