用于对从多租户中间件应用调用的OS程序进行多租户执行的系统和方法技术方案

技术编号:16934702 阅读:35 留言:0更新日期:2018-01-03 05:04
根据实施例,本文所描述的是用于支持对从多租户中间件应用调用的非租户感知程序的多租户执行的系统和方法。示例性方法可以提供多个分区和多个租户感知程序,其中多个租户感知程序中的每一个租户感知程序与分区相关联。该方法可以将多个分区和多个租户感知程序中的每一个与多个租户中的租户相关联。该方法可以从多个分区中的召用分区调用非租户感知进程,该召用分区与多个租户中的召用租户相关联。该方法可以收集关于召用租户的租赁信息。并且,基于所收集的租赁信息,该方法可以通过建立进程执行环境和资源来将非租户感知进程的执行的范围限定到召用租户。

Systems and methods for multi tenant execution for OS programs that are invoked from multi tenant middleware applications

According to the implementation example, the system and method used to support multi tenant execution of non tenant perceptive program from multi tenant middleware application is described in this paper. The exemplary method can provide multiple partitions and multiple tenants aware programs, where each tenant perception program is associated with partitions in multiple tenants. This method can associate every one of multiple partitions and multiple tenant perception programs with tenants in multiple tenants. This method can call the non tenant perception process from the call partition in multiple partitions, which is associated with the hire tenants of multiple tenants. This method can collect the lease information about the hire tenants. Moreover, based on the collected rental information, this method can establish the process execution environment and resources to restrict the scope of the execution process of the non tenant to the calling tenant.

【技术实现步骤摘要】
【国外来华专利技术】用于对从多租户中间件应用调用的OS程序进行多租户执行的系统和方法版权声明本专利文档的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人如专利商标局专利文件或记录中所出现的那样对专利文档或专利公开内容进行传真复制,但以其他方式保留所有版权。
本专利技术的实施例一般而言涉及应用服务器和云环境,并且具体而言涉及用于支持从多租户中间件平台调用的应用的系统和方法。
技术介绍
软件应用服务器(其示例包括OracleWebLogicServer(WLS)和Glassfish)一般为运行企业软件应用提供受管理的环境。最近,还已经开发出了用于在云环境中使用的技术,这些技术允许用户或租户在云环境内开发和运行他们的应用,并利用由环境提供的分布式资源。
技术实现思路
根据实施例,本文所描述的是用于支持对从多租户中间件应用调用的非租户感知程序进行多租户执行的系统和方法。示例性方法可以提供多个分区和多个租户感知的程序,其中多个租户感知的程序中的每一个与分区相关联。该方法可以将多个分区和多个租户感知程序中的每一个与多个租户中的租户相关联。该方法可以从多个分区中的召用分区来调用非租户感知进程,该召用分区与多个租户中的召用租户相关联。该方法可以收集关于召用租户的租赁信息。并且,基于所收集的租赁信息,该方法可以通过建立进程执行环境和资源来将非租户感知进程的执行的范围限定到召用租户。根据实施例,使用容器化的应用,范围被限定的执行可以支持非租户感知进程与多租户中间件环境的其他租户的运行时隔离,从而导致对OS应用程序的多租户操作。附图说明图1图示了根据实施例的用于在应用服务器、云或其它环境中支持多租赁的系统。图2进一步图示了根据实施例的用于在应用服务器、云或其它环境中支持多租赁的系统。图3进一步图示了根据实施例的用于在应用服务器、云或其它环境中支持多租赁的系统。图4图示了根据实施例的用于与示例性多租户环境一起使用的域配置。图5进一步图示了根据实施例的示例性多租户环境。图6图示了根据实施例的用于对非租户感知进程进行租户范围被限定的执行(tenantscopedexecution)的系统。图7图示了根据实施例的用于对非租户感知进程进行租户范围被限定的执行的系统。图8图示了根据实施例的用于对非租户感知进程进行租户范围被限定的执行的系统。图9是根据实施例的用于为对非租户感知进程进行租户范围被限定的执行创建环境和资源的示例性方法的流程图。图10是根据实施例的用于创建和配置进程构建器的示例性方法的流程图。图11是根据实施例的用于从MT中间件应用(例如,JEE应用)对非租户感知OS应用进行多租户执行的示例性方法的流程图。图12是用于支持对从多租户中间件应用调用的非租户感知进程进行租户范围被限定的执行的示例性方法的流程图。具体实施方式根据实施例,本文所描述的是用于支持对从多租户中间件应用调用的非租户感知(在本文中也不一样地称为“非租户感知”)进程的租户范围被限定的执行(在本文中也不一样地称为“多租户执行”)的系统和方法。示例性方法可以提供多个分区以及多个租户感知(在本文中也不一样地称为“租户感知的”)程序,其中多个租户感知程序中的每一个与分区相关联。该方法可以将多个分区和多个租户感知程序中的每一个与多个租户中的租户相关联。该方法可以从多个分区中的召用分区来调用非租户感知进程,该召用分区与多个租户中的召用租户相关联。该方法可以收集关于召用租户的租赁信息。并且,基于所收集的租赁信息,该方法可以通过建立进程执行环境和资源来将非租户感知进程的执行的范围限定到该召用租户。根据实施例,通过使用本文所描述的系统和方法,包括作为操作系统上的本地程序/进程运行的非Java组件的租户感知JEE应用(例如,SaaS应用)可以以租户范围被限定的的方式进行操作,从而使完整的应用(端到端)是多租户感知的并且是隔离的。即,在多租户应用服务器环境内提供的多租赁支持可以在本地OS上的MT应用服务器环境之外被支持,而不限于在MT应用服务器环境(例如,WebLogicMT)内运行的组件/程序。应用服务器(例如,多租户(MT))环境图1图示了根据实施例的用于在应用服务器、云或其它环境中支持多租赁的系统。如图1中所示,根据实施例,启用软件应用的部署和执行的应用服务器(例如,多租户(MT))环境100或其它计算环境可以被配置为包括域102并且根据域102配置来操作,其中域102配置在运行时被用来定义应用服务器域。根据实施例,应用服务器可以包括被定义用于在运行时使用的一个或多个分区104。每个分区可以与全局唯一的分区标识符(ID)和分区配置相关联,并且还可以包括一个或多个资源组124,连同对资源组模板126的引用和/或特定于分区的应用或资源128。域级别资源组、应用和/或资源140也可以在域级别被定义,其可选地具有对资源组模板的引用。每个资源组模板160可以定义一个或多个应用A162、应用B164、资源A166、资源B168和/或其它可部署的应用或资源170,并且可以被资源组引用。例如,如图1中所示,分区104中的资源组124可以引用190资源组模板160。一般而言,系统管理员可以定义分区、域级别资源组和资源组模板以及安全领域;而分区管理员可以例如通过创建分区级别资源组、将应用部署到分区或者为分区引用具体的领域来定义其自己的分区的各方面。图2进一步图示了根据实施例的用于在应用服务器、云或其它环境中支持多租赁的系统。如图2中所示,根据实施例,分区202可以包括例如资源组205、虚拟目标(例如,虚拟主机)信息207以及可插拔数据库(PDB)信息208,资源组205包括对资源组模板210的引用206。资源组模板(例如,210)可以定义例如多个应用A211和B212,连同诸如Java消息服务器(JMS)服务器213、存储转发(SAF)代理215、邮件会话组件216或Java数据库连接(JDBC)资源217之类的资源。图2中所示的资源组模板是以示例方式提供的;根据其它实施例,可以提供不同类型的资源组模板和元件。根据实施例,当分区(例如,202)内的资源组引用220特定的资源组模板(例如,210)时,与特定分区相关联的信息可以与所引用的资源组模板结合使用,以指示特定于分区的信息230,例如特定于分区的PDB信息。然后,特定于分区的信息可以被应用服务器用来配置资源(例如PDB资源)以供该分区使用。例如,与分区202相关联的特定于分区的PDB信息可以被应用服务器用来利用适当的PDB238配置232容器数据库(CDB)236,以供该分区使用。类似地,根据实施例,与特定分区相关联的虚拟目标信息可以被用来定义239特定于分区的虚拟目标240(例如,baylandurgentcare.com)以供该分区使用,然后可以使其经由统一资源定位符(URL)(例如,http://baylandurgentcare.com)可访问。图3进一步图示了根据实施例的用于在应用服务器、云或其它环境中支持多租赁的系统。根据实施例,系统配置(诸如config.xml配置文件)被用来定义分区,该系统配置包括用于与该分区相关联的资源组的配置元素和/或其它分区属性。可以使用属性名/值对为每个分区指定值。根据实施例,多个分区可以在受管理的服务本文档来自技高网...
用于对从多租户中间件应用调用的OS程序进行多租户执行的系统和方法

【技术保护点】
一种用于支持对从多租户中间件应用调用的非租户感知进程进行租户范围被限定的执行的方法,包括:在包括在其上执行的应用服务器环境的一个或多个计算机处提供:多个分区,其中每个分区提供域的管理性和运行时细分,以及多个租户感知程序,其中所述多个租户感知程序中的每一个租户感知程序与所述多个分区中的分区相关联;将所述多个分区中的每一个分区以及所述多个租户感知程序中的每一个租户感知程序与多个租户中的租户相关联,以用于由该租户使用;从所述多个分区中的召用分区调用所述非租户感知进程,所述召用分区与所述多个租户中的召用租户相关联;收集关于所述召用租户的租赁信息;基于所收集的关于所述召用租户的租赁信息,创建特定于租户的虚拟文件系统;以及基于所收集的租赁信息,通过建立进程执行环境和资源来将所述非租户感知进程的执行的范围限定到所述召用租户,其中将所述非租户感知进程的执行的范围限定到所述召用租户包括:将所述非租户感知进程的流重定向到所述特定于租户的虚拟文件系统,其中所述非租户感知进程的流包括输入流、输出流和错误流中的至少一个;其中,限定执行的范围允许将范围被限定到所述召用租户的对所述非租户感知进程的执行与多租户中间件环境的其他租户隔离。...

【技术特征摘要】
【国外来华专利技术】2015.10.23 US 62/245,611;2016.03.02 US 15/059,193;1.一种用于支持对从多租户中间件应用调用的非租户感知进程进行租户范围被限定的执行的方法,包括:在包括在其上执行的应用服务器环境的一个或多个计算机处提供:多个分区,其中每个分区提供域的管理性和运行时细分,以及多个租户感知程序,其中所述多个租户感知程序中的每一个租户感知程序与所述多个分区中的分区相关联;将所述多个分区中的每一个分区以及所述多个租户感知程序中的每一个租户感知程序与多个租户中的租户相关联,以用于由该租户使用;从所述多个分区中的召用分区调用所述非租户感知进程,所述召用分区与所述多个租户中的召用租户相关联;收集关于所述召用租户的租赁信息;基于所收集的关于所述召用租户的租赁信息,创建特定于租户的虚拟文件系统;以及基于所收集的租赁信息,通过建立进程执行环境和资源来将所述非租户感知进程的执行的范围限定到所述召用租户,其中将所述非租户感知进程的执行的范围限定到所述召用租户包括:将所述非租户感知进程的流重定向到所述特定于租户的虚拟文件系统,其中所述非租户感知进程的流包括输入流、输出流和错误流中的至少一个;其中,限定执行的范围允许将范围被限定到所述召用租户的对所述非租户感知进程的执行与多租户中间件环境的其他租户隔离。2.如权利要求1所述的方法,其中所述多租户中间件应用与所述多个分区中的所述召用分区相关联,并且其中所述多租户中间件应用与调用所述非租户感知进程一起传递所述租赁信息。3.如权利要求1或2所述的方法,还包括:在所述特定于租户的虚拟文件系统下创建进程工作目录,其中所述进程工作目录包括输入子目录、输出子目录、数据库子目录和错误子目录。4.如权利要求3所述的方法,还包括:使用至少一个数据文件来建立所述输入子目录;以及使用钱包来建立所述数据库子目录,所述钱包包括与所述召用租户相关联的配置文件和凭证。5.如权利要求4所述的方法,还包括:在所述非租户感知进程完成之后,由所述非租户感知进程访问特定于租户的数据库,其中访问是经由所述钱包授权的;以及在所述非租户感知进程完成以及由所述非租户感知进程访问特定于租户的数据库之后,清理所述特定于租户的虚拟文件系统,其中清理所述特定于租户的虚拟文件系统包括删除所述进程工作目录。6.如权利要求3至5中任一项所述的方法,其中所述非租户感知进程的流分别被重定向到所述进程工作目录的输入子目录、输出子目录和错误子目录。7.如前述权利要求中任一项所述的方法,其中从所述多个分区中的所述召用分区调用的所述非租户感知进程是复合应用的一部分,所述复合应用还包括在所述多个分区中的所述召用分区的上下文中运行的租户感知应用。8.一种用于支持对从多租户中间件应用调用的非租户感知进程进行租户范围被限定的执行的系统,包括:一个或多个计算机,包括在其上执行的应用服务器环境,连同:多个分区,其中每个分区提供域的管理性和运行时细分,以及多个租户感知程序,其中每个租户感知程序与所述多个分区中的一个分区相关联,其中所述多个分区中的每一个分区以及所述多个租户感知程序中的每一个租户感知程序与多个租户中的租户相关联,以用于由该租户使用;以及其中所述多个分区中的召用分区调用所述非租户感知进程,所述召用分区与所述多个租户中的召用租户相关联;其中收集关于所述召用租户的租赁信息;其中基于所收集的关于所述召用租户的租赁信息来创建特定于租户的虚拟文件系统,其中,基于所收集的租赁信息,通过建立进程执行环境和资源来将所述非租户感知进程的执行的范围限定到所述租户,其中将所述非租户感知进程的执行的范围限定到所述召用租户包括:将所述非租户感知进程的流重定向到所述特定于租户的虚拟文件系统,其中所述非租户感知进程的流包括输入流、输出流和错误流中的至少一个;以及其中,限定所述非租户感知进程的执行的范围允许将范围被限定到所述召用租户的对所述非租户感知进程的执行与多租户中间件环境的其他租户隔离。9.如权利要求8所述的系统,其中所述多租户中间件应用与所述多个分区中的所述召用分区相关联,并且其中所述多租户中间件应用与调用所述非租户感知进程一起传递所述租赁信息。10.如权利要求8或9所述的系统,其中在所述特定于租户的虚拟文件系统下创建工作进程目录,并且其中所述进程工作目录包括输入子目录、输出子目录、数据库子目录和错误子目录。11.如权利要求10所述的系统,其中使用至少一个数据文件建立所述输入子目录,并且其中使用钱包建立所述数据库子目录,所述钱包包括与所述召用租户相关联的配置文件和凭证。12.如权利要求11所述的系统,其中在所述非租户感知进程完成之后,由所述非租户感知进程使用所述钱包访问特定于租户的数据库,并且其中所述特定于租户的虚拟文件系统在所述非租户感知进程完成之后被清理,其中清理所述特定于租户的虚拟文件系统包括删除所述进程工作目录。13.如权利要求10至12中任一项所述的系统,其中所述非租户感知进程的流分别被重定向到所述进程工作目录的输入子目录、输出子目录和错误子目录。14.如权利要求8至13中任一项所述的系统,其中从所述多个分区中的所述召用分区调用的所述非租户感知进程是复合应用的一部分,所述复合应用还包括在所述多个分区中的所述召用分区的上下文中运行的租户感知应用。15.一种非暂态计算机可读存储介质,包括存储在其上的指令,所述指令用于支持对从多租户中间件应用调用的非租户感知进程进行租户范围被限定的执行,其中所述指令在由一个或多个计算机读取和执行时,使所述一个或多个计算机执行步骤,所述步骤包括:在包括在其上执行的应用服务器环境的一个或多个计算机处提供:多个分区,其中每个分区提供域的管理性和运行时细分,以及多个租户感知程序,其中所述多个租户感知程序中的每一个租户感知程序与所述多个分区中的分区相关联;将所述多个分区中的每一个分区以及所述多个租户感知程序中的每一个租户感知程序与多个租户中的租户相关联,以用于由该租户使用;从所述多个分区中的召用分区调用所述非租户感知进程,所述召用分区与所述多个租户中的召用租户相关联;收集关于所述召用租户的租赁信息;基于所收集的关于所述召用租户的租赁信息,创建特定于租户的虚拟文件系统;以及基于所收集的租赁信息,通过建立进程执行环境和资源来将所述非租户感知进程的执行的范围限定到所述召用租户,其中将所述非租户感知进程的执行的范围限定到所述召用租户包括:将所述非租户感知进程的流重定向到所述特定于租户的虚拟文件系统,其中所述非租户感知进程的流包括输入流、输出流和错误流中的至少一个;其中,限定执行的范围允许将范围被限定到所述召用租户的对所述非租户感知进程的执行与多租户中间件环境的其他租户隔离。16.如权利要求15所述的非暂态计算机可读存储介质,其中所述多租户中间件应用与所述多个分区中的所述召用分区相关联,并且其中所述多租户中间件应用与调用所述非租户感知进程一起来传递所述租赁信息。17.如权利要求15或16所述的非暂态计算机可读存储介质,所述步骤还包括:在所述特定于租户的虚拟文件系统下创建进程工作目录,其中所述进程工作目录包括输入子目录、输出子目录、数据库子目录和错误子目录。18.如权利要求17所述的非暂态计算机可读存储介质,所述步骤还包括:使用至少一个数据文件建立所述输入子目录;以及使用钱包建立所述数据库子目录,所述钱包包括与所述召用租户相关联的配置文件和凭证。19.如权利要求18所述的非暂态计算机可读存储介质,所述步骤还包括:在所述非租户感知进程完成之后,由所述非租户感知进程访问特定于租户的数据库,其中访问是经由所述钱包授权的;以及在所述非租户感知进程完成以及由所述非租户感知进程访问特定于租户的数据库之后,清理所述特定于租户的虚拟文件系统,其中清理所述特定于租户的虚拟文件系统包括删除所述进程工作目录。20.如权利要求17至19中任一项所述的非暂态计算机可读存储介质,其中所述非租户感知进程的流分别被重定向到所述进程工...

【专利技术属性】
技术研发人员:V·K·南俊达斯瓦米
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1