用于共享Java虚拟机的方法和系统技术方案

技术编号:11367796 阅读:88 留言:0更新日期:2015-04-29 18:26
本发明专利技术涉及虚拟化技术,公开了一种用于共享JAVA虚拟机的方法和系统其中所述JAVA虚拟机具有多个租户,所述方法包括:分别为所述多个租户的每一个分配IP地址;分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。通过本发明专利技术的方法能够实现共享Java虚拟机的多个租户之间的网络隔离。

【技术实现步骤摘要】
用于共享Java虚拟机的方法和系统
本专利技术涉及虚拟化技术。更确切的,本专利技术涉及一种用于共享Java虚拟机的方法和系统。
技术介绍
多租户Java虚拟机技术允许多个租户程序运行在共享的Java虚拟机内。这种技术在基于云环境的高密度部署中将会扮演重要角色。然而,当前的多租户Java虚拟机不能实现多个租户之间的网络隔离。如果租户没有被配置正确的话,网络资源(比如端口)将会冲突;另外,由于没有实现网络隔离,对租户的网络资源控制能力也将变得十分有限。例如:我们将很难为不同的租户配置不同的防火墙策略。
技术实现思路
因此,需要一种用于共享Java虚拟机的方法和系统,能够实现共享Java虚拟机的多个租户之间的网络隔离。本专利技术的说明性实施例提供了一种用于共享JAVA虚拟机的方法,其中所述JAVA虚拟机具有多个租户,所述方法包括:分别为所述多个租户的每一个分配IP地址;分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。根据本专利技术的一个实施例,如果某一租户的IP地址与IPADDR_ANY绑定,所述方法进一步包括:将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定;建立所述另一端口和所有租户共享的localhost端口之间的映射。本专利技术的说明性实施例还提供了一种用于共享JAVA虚拟机的系统,其中所述JAVA虚拟机具有多个租户,所述系统包括:分配单元,配置为分别为所述多个租户的每一个分配IP地址;创建单元,配置为分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。根据本专利技术的一个实施例,如果某一租户的IP地址与IPADDR_ANY绑定,所述系统进一步包括:绑定单元,配置为将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定;建立单元,配置为建立所述另一端口和所有租户共享的localhost端口之间的映射。利用说明性实施例的方法和系统,能够实现共享Java虚拟机的多个租户之间的网络隔离。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图;图2示出了根据本专利技术一个实施例的用于共享Java虚拟机的方法200的流程图;图3示出了根据本专利技术一个实施例的用于共享Java虚拟机的系统300的框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本专利技术操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。下面将参照本专利技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本专利技术。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本专利技术实施例的功能和使用范围带来任何限制。如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。本文档来自技高网
...
用于共享Java虚拟机的方法和系统

【技术保护点】
一种用于共享JAVA虚拟机的方法,其中所述JAVA虚拟机具有多个租户,所述方法包括:分别为所述多个租户的每一个分配IP地址;分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。

【技术特征摘要】
1.一种用于共享JAVA虚拟机的方法,其中所述JAVA虚拟机具有多个租户,所述方法包括:分别为所述多个租户的每一个分配IP地址;分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址;响应于某一租户的IP地址与IPADDR_ANY绑定:将该租户的localhost与不同于所有租户共享的localhost端口的另一端口绑定;建立所述另一端口和所有租户共享的localhost端口之间的映射;其中,对于所述多个租户的每一个,其网络操作通过为其创建的虚拟网络接口进行。2.根据权利要求1的方法,其中利用虚拟化技术应用程序接口分别为所述多个租户的每一个创建独立的虚拟网络接口并配置所分配的IP地址。3.根据权利要求1的方法,进一步包括:响应于租户终止,回收为其分配的IP地址。4.根据权利要求1的方法,其中,所述多个租户通过租户上下文信息进行识别。5.一种用于共享JAVA虚拟机的系统,其中所述JAVA虚...

【专利技术属性】
技术研发人员:蔡俊杰李三红高巍巍陈磊
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1