本发明专利技术公开了一种用于对多租户数据库进行操控的方法,其中该多租户数据库包括用于存储租户数据的一个或多个源数据库。该方法包括:接收针对租户特定的逻辑视图的数据库操作请求,其中租户特定的逻辑视图是基于指向多租户数据库中包括的一个或多个源数据库的映射信息以及多租户元数据为各个租户创建的;获取与数据库操作请求有关的指向多租户数据库中包括的一个或多个源数据库的映射信息;基于获取的映射信息,执行对一个或多个源数据库的数据库操作。本发明专利技术还公开一种相应的系统和计算机程序产品。
【技术实现步骤摘要】
用于对多租户数据库进行操控的方法和系统
本专利技术涉及多租户数据库系统,更具体地,涉及一种用于对多租户数据库进行操控的方法和装置。
技术介绍
多租户(mult1-tenency)技术近年来日益引起人们的兴趣。多租户技术是指在服务提供商的服务器上运行软件的实例,由该实例为多个客户组织(也即租户)尤其是中小型客户提供服务。在大规模多租户应用场景中可能有大量的(例如超过100万个)中小型租户的数据物理上分布在不同的源数据库中。现有的多租户技术在这些源数据库中通常采用多种物理数据共享或存储/隔离模式。图1示意性示出了多租户系统源数据库中物理数据共享或存储/隔离模式的框图。如图1所示,例如可以包括以下三种典型模式:独立数据库模式,即每个租户拥有自己单独的数据库。这种模式对于用户数据隔离级别最高,安全性最好。但是这种模式增大了数据库的安装数量,随之带来维护成本和购置成本的增加。对于硬盘和内存空间的利用率不高,并且随着租户数量的增加,整体系统数据访问性能水平会显著降低。这种单独数据库模式适用于租户数量较少并且为大型租户的应用场景。共享数据库及隔离数据架构。在这种模式中,多个租户共享同一个数据库,每个租户拥有自己单独的表组,每个租户采用各自的架构(schema)。这种模式能够为安全性要求较高的租户提供了一定程度的逻辑数据隔离。共享数据库及共享数据架构。在这种模式中,多个租户共享同一个数据库中的同一个表组,采用同一个架构。在表组的每一个表中记录“租户ID”字段以便将不同的租户的数据记录区分开。这种模式是共享程度最高、隔离级别最低的模式。同时,采用这种模式的数据库维护和购置成本低,允许每个数据库支持的较大数据量的租户。因此,例如在支持多租户平台即服务(PaaS)平台上,每个应用将实际上具有以上述一种或多种物理数据共享或存储/隔离模式组织的租户数据的多个源数据库。存在对各个源数据库中的租户数据操作的各种需求。例如,当独立软件供应商(ISV)在应用调试、测试和更新中需要对各个源数据库中的租户数据进行操作,或者当应用运行时租户数据出现问题时需要在一定时间内修复数据以保证租户的事务。然而,由于源数据库底层(underlying)模式和技术的复杂性,在现有系统中对多租户系统中的源数据库进行操作是繁复而耗时的。
技术实现思路
为了解决现有技术中存在的问题,本专利技术提供一种对多租户数据库进行操作的技术方案。根据本专利技术的一个方面,提供了一种用于对多租户数据库进行操控的方法,其中该多租户数据库包括用于存储租户数据的一个或多个源数据库。该方法包括:接收针对租户特定的逻辑视图的数据库操作请求,其中租户特定的逻辑视图是基于指向多租户数据库中包括的一个或多个源数据库的映射信息以及多租户元数据为各个租户创建的;获取与数据库操作请求有关的指向多租户数据库中包括的一个或多个源数据库的映射信息;基于获取的映射信息,执行对一个或多个源数据库的数据库操作。根据本专利技术的一个方面,提供了一种对多租户数据库进行操控的方法,其中该多租户数据库包括用于存储租户数据的一个或多个源数据库。该方法包括:在操控台数据库中建立指向所述源数据库的映射信息;基于所述映射信息以及多租户元数据,为各个租户创建租户特定的逻辑视图;以及在运行时支持对至少一个所创建的租户特定的逻辑视图进行数据库操作。根据本专利技术的另一个方面,提供了一种对多租户数据库进行操控的系统,其中该多租户数据库包括用于存储租户数据的一个或多个源数据库。该系统包括:操控台数据库管理器,被配置为在操控台数据库中建立指向所述源数据库的映射信息;逻辑视图生成器,被配置为基于所述映射信息以及多租户元数据,为各个租户创建租户特定的逻辑视图,并且被配置为在运行时支持对至少一个所创建的租户特定的逻辑视图进行数据库操作。根据本专利技术的实施方式,能够向操作者隐藏底层源数据库复杂的模式和技术,并且便于提供用户熟悉的界面和操作风格,由此简化操作者在对多租户系统的多个源数据库进行操控的过程。【附图说明】通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示意性示出了多租户系统源数据库中物理数据共享或存储/隔离模式的框图。图2示出了适于用来实现本专利技术实施方式的示例性计算系统200的框图。图3示出了根据本专利技术实施方式的用于对多租户数据库进行操控的系统300的框图。图4示出了根据本专利技术实施方式的在初始化时用于对多租户数据库进行操控的方法400的流程图。图5示出了根据本专利技术实施方式的在运行时用于对多租户数据库进行操控的方法500的流程图。【具体实施方式】下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。图2示出了适于用来实现本专利技术实施方式的示例性计算系统200的框图。如图2所示,计算机系统200可以包括:CPU(中央处理单元)201、RAM (随机存取存储器)202、ROM (只读存储器)203、系统总线204、硬盘控制器205、键盘控制器206、串行接口控制器207、并行接口控制器208、显示控制器209、硬盘210、键盘211、串行外部设备212、并行外部设备213和显示器214。在这些设备中,与系统总线204耦合的有CPU 201、RAM 202、ROM203、硬盘控制器205、键盘控制器206、串行控制器207、并行控制器208和显示控制器209。硬盘210与硬盘控制器205耦合,键盘211与键盘控制器206耦合,串行外部设备212与串行接口控制器207耦合,并行外部设备213与并行接口控制器208耦合,以及显示器214与显示控制器209耦合。应当理解,图2所述的结构框图仅仅是为了示例的目的,而不是对本专利技术范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含本文档来自技高网...
【技术保护点】
一种用于对多租户数据库进行操控的方法,其中该多租户数据库包括用于存储租户数据的一个或多个源数据库,该方法包括:接收针对租户特定的逻辑视图的数据库操作请求,其中所述租户特定的逻辑视图是基于指向所述多租户数据库中包括的一个或多个源数据库的映射信息以及多租户元数据为各个租户创建的;获取与所述数据库操作请求有关的指向所述多租户数据库中包括的一个或多个源数据库的映射信息;基于获取的映射信息,执行对所述一个或多个源数据库的数据库操作。
【技术特征摘要】
1.一种用于对多租户数据库进行操控的方法,其中该多租户数据库包括用于存储租户数据的一个或多个源数据库,该方法包括: 接收针对租户特定的逻辑视图的数据库操作请求,其中所述租户特定的逻辑视图是基于指向所述多租户数据库中包括的一个或多个源数据库的映射信息以及多租户元数据为各个租户创建的; 获取与所述数据库操作请求有关的指向所述多租户数据库中包括的一个或多个源数据库的映射信息; 基于获取的映射信息,执行对所述一个或多个源数据库的数据库操作。2.根据权利要求1所述的方法,还包括: 调用针对所述租户特定的逻辑视图的数据库操作所创建的触发器。3.根据权利要求1所述的方法,其中 通过编目所述源数据库的每一个,并且为编目的源数据库创建映射信息以建立数据库联邦,来创建到多个源数据库的映射信息。4.根据权利要求1或2所述的方法,其中: 所述映射信息包括所述 数据库联邦的表组别名。5.根据权利要求1所述的方法,其中: 所述多租户元数据包括各租户与所述源数据库中表组的对应关系。6.根据权利要求1所述的方法,其中: 所述源数据库中的至少一个源数据库包括多租户共享表组。7.一种对多租户数据库进行操控的方法,其中该多租户数据库包括用于存储租户数据的一个或多个源数据库,该方法包括: 建立到所述...
【专利技术属性】
技术研发人员:支雷,安文豪,王芝虎,郭常杰,高波,王宁,王小锋,王启荣,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。