[发明专利]多租户环境下访问数据库的系统、设备和方法无效
| 申请号: | 200910002221.1 | 申请日: | 2009-01-08 |
| 公开(公告)号: | CN101777047A | 公开(公告)日: | 2010-07-14 |
| 发明(设计)人: | 高波;郭常杰;王芝虎;孙伟;熊岳达;安文豪 | 申请(专利权)人: | 国际商业机器公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;李辉 |
| 地址: | 美国纽*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 租户 环境 访问 数据库 系统 设备 方法 | ||
技术领域
本发明涉及多租户技术,更具体地,涉及支持多租户环境下访问数据库的系统、装置和方法。
背景技术
由于SaaS(Software as a Service软件作为服务、软件即服务)的出现,软件行业正在经历一场深刻的变革。SaaS在许多国家已经流行并进入了普及阶段。SaaS的安全技术日新月异,越来越多的企业开始认可SaaS安全性和可靠性。基于互联网的特点,SaaS软件有许多区别于前一代软件的独特性,从服务器端软件和数据库、数据传输、到客户端浏览器都出现了许多新技术。
开发SaaS软件系统时,均建立在多重租赁(Multi-Tenant)的基础上,也就是一套软件和数据库平台,经过软件和数据库的隔离及保密等技术,多个企业(或者企业内部多个租户)同时使用。虽然不是多重租赁的SaaS产品不一定是“假SaaS”产品,然而多重租赁大大提高了运营效率、稳定性,降低运营商的维护和升级成本,变相地说最终消费者得到了价格上的实惠。
在SaaS系统中,相对于应用程序计算逻辑/层面而言,如何处理多租户(Multi-Tenant)对数据库的访问更具有挑战性。目前有多种多租户环境下的数据存储方案,比如租户独立数据库(Separate DB)、共享数据库但独立数据架构(Separate Schema)、共享数据库及数据架构等。在这些数据存储方案的基础上,能否解决多租户在使用SaaS应用程序时的数据访问问题是决定SaaS应用能否适应多租户要求的最大挑战。在解决这一问题时,通常需要考虑以下两点:一是便利性和低成本的转移,也就是在尽量不重写服务器端代码的前提下实现多租户对数据库的访问;二是满足多租户场景下的特定需要,例如安全隔离等需求。租户与用户是一组相对概念,也可以将两者简单地理解为,用户为租户下的用户帐号,一个租户下可以有多个用户帐号。
图1示出现有技术中传统单租户(多用户)环境下数据库访问的系统结构图。该系统在图1中总体由数字100表示。系统100使得单租户环境下的用户能够在运行应用实例时访问数据库。
需要一个Java数据库连接(JDBC)驱动来与所访问的特定数据库管理系统进行通讯。JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。用户的SQL语句被送往数据库中,而其结果将被送回给用户。数据库可以位于另一台计算机上,用户通过网络连接到上面。这就叫做客户机/服务器配置,其中用户的计算机为客户机,提供数据库的计算机为服务器。网络可以是企业内部互联网Intranet(它可将公司职员连接起来),也可以是国际互联网Internet。具体地,数据库访问接口101将用户发出的数据库连接请求发送至数据源(Data Source)102,通过调用对应的数据库访问接口驱动程序,例如JDBC驱动程序103来建立该用户至数据库的连接,并将该连接保存在数据源102的连接池中。用户至数据库的连接建立后,用户将对数据库的数据访问请求(比如SQL查询语句)发送至数据源(Data Source)102,再调用对应的数据库访问接口驱动程序,例如JDBC驱动程序103,将该访问数据库的请求发送至对应的数据库104,执行具体的用户访问数据库的操作。
现有技术中,可以在图1单租户数据库访问系统的基础上,通过为每个租户单独复制或重建一份应用实例及数据库的拷贝来解决多租户访问数据库的问题,使得每个租户具有连接至其特定数据库的特定数据源。这样做的好处是不需要对服务器端代码进行改写,然而却不能够满足多租户场景下对低成本的需求;或者通过改写服务器端代码以使其支持共享的应用实例和数据库的方法来解决上述问题,这样做的好处是可以节约成本并支持多租户场景下对数据库的访问,缺点是需要进行大量的服务器端的代码修改,并且需要技术人员对实现多租户技术场景的细节(比如共享及安全隔离)具有深入、充分的了解。
发明内容
考虑到上述问题,希望提供新的关于多租户数据库访问的技术方案及相关机制,利用多租户场景的特点提供透明的程序接口支持,从而实现方便、快捷、低成本地对应用软件进行支持多租户的扩展,并在管理和运行层面使得应用软件具有多租户功能。
基于上述问题和目的,本发明提供实现多租户场景下访问数据库的系统、装置和方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910002221.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电网输电能力风险评估方法
- 下一篇:一种测距方法





