[发明专利]用于在JVM中支持多租户隔离/多租户定制的系统和方法无效

专利信息
申请号: 200810134398.2 申请日: 2008-07-30
公开(公告)号: CN101639770A 公开(公告)日: 2010-02-03
发明(设计)人: 高波;郭常杰;王芝虎;孙伟;黄莹;安文豪;刘天成 申请(专利权)人: 国际商业机器公司
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 北京市金杜律师事务所 代理人: 王茂华
地址: 美国纽*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 jvm 支持 租户 隔离 定制 系统 方法
【说明书】:

技术领域

发明涉及计算机领域,更具体地,本发明涉及用于在JVM中支持多租户隔离和/或多租户定制的系统和方法。

背景技术

SaaS(Software-as-a-Service:软件即服务)服务通常基于单个应用程序实例为成百上千的不同客户(又称租户,其中每个租户又有很多用户)提供服务。这就要求系统能够支持不同租户之间数据的隔离,从而保证每个租户的数据的安全与隐私,以及各个租户对诸如界面、业务逻辑等的个性化需求。

例如,在用JAVA语言编写的web应用程序中通常通过一个静态变量来记录在一个时间周期期间的站点访问量。在多租户环境中,在每个租户希望看到其自己的用户对于站点的访问量的情况下,如果仍然使用传统的静态变量或单态模式来记录在一个时间周期期间的站点访问量,将会出现冲突。

考虑下面的代码,即在支持多租户的一个web应用程序中,采用静态变量counter来记录在一个时间周期期间的站点访问量:

Class SiteCounter{

  public static int counter=0;

  //一些其他逻辑

  ...

  }

租户1的用户Bob访问该站点将使静态变量counter的值变成1。

租户2的用户Ted查看站点访问量将得到静态变量counter的值,现在的值是2,包括Ted他自己的对站点的访问次数。然而,实际上,对于租户2来说,只有1次站点访问。也就是说,在这种情况下,不同租户之间的数据没有被隔离。

再考虑如下的代码,即在支持多租户的一个web应用程序中,使用单态模式来记录在一个时间周期期间的站点访问量(在http://en.wikipedia.org/wiki/Singleton_pattern中有关于单态模式的介绍):

Class SiteCounter{

  private int counter=0;

  private static SiteCounter_instance=null;

  private SiteCounter(){

  }

  public static synchronized SiteCounter getInstance(){

    if(_instance==null)

       _instance=new SiteCounter();

    return_instance;

    }

public void addCounter(){

    counter++;

    }

   public int getCounter(){

     return counter;

    }

}

租户1的用户Bob访问站点将调用SiteCounter.getInstance.addCounter(),因此变量counter的值现在变为1。租户2的用户Ted查看站点访问量将调用SiteCounter.getInstance.getCounter(),变量counter现在具有值2,包括Ted自己的对站点的访问次数。然而,实际上,对于租户2来说,只有1次站点访问。也就是说,在这种情况下,不同租户之间的数据也没有被隔离。

当前,对于上述问题的一种解决方案是为每个租户安装专用应用拷贝,然而这种方案的性能和可扩展性差,很难支持大量的租户。

另一种解决方案是在应用层采用隔离和定制机制,例如,在应用程序中对需要隔离的变量使用集合对象(Collection Object)(例如Map)来为每个租户分配一个特定值,来纪录每个租户的变量的值;对需要定制的类,使用工厂模式和配置文件来动态加载租户特定的类实现。这种方案要求开发人员注意多租户实现的细节,因此极大地增加了应用程序开发人员的负担。对于租户的特定定制要求,如果在开发时没有考虑到,可能需要修改并且重新安装应用程序,具有扩展性问题。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810134398.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top