CN102968593B - 用于多租户环境下定位应用程序的隔离点的方法和系统 - Google Patents

用于多租户环境下定位应用程序的隔离点的方法和系统 Download PDF

Info

Publication number
CN102968593B
CN102968593B CN201110270231.0A CN201110270231A CN102968593B CN 102968593 B CN102968593 B CN 102968593B CN 201110270231 A CN201110270231 A CN 201110270231A CN 102968593 B CN102968593 B CN 102968593B
Authority
CN
China
Prior art keywords
isolating points
potential
points
relation
isolating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110270231.0A
Other languages
English (en)
Other versions
CN102968593A (zh
Inventor
樊莉亚
周明骏
高波
马丽丽
王芝虎
蔡弘
郭常杰
安文豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201110270231.0A priority Critical patent/CN102968593B/zh
Priority to US13/600,619 priority patent/US8949787B2/en
Priority to US13/604,051 priority patent/US20130055204A1/en
Publication of CN102968593A publication Critical patent/CN102968593A/zh
Application granted granted Critical
Publication of CN102968593B publication Critical patent/CN102968593B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开一种用于多租户环境下定位应用程序的隔离点的方法和系统,该方法包括:利用扫描规则扫描应用程序以获得潜在隔离点以及潜在隔离点之间的关系;从潜在隔离点中指定至少一个隔离点;利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出隔离点。

Description

用于多租户环境下定位应用程序的隔离点的方法和系统
技术领域
本发明涉及软件即服务SaaS,特别涉及多租户环境下定位应用程序的隔离点的方法和系统。
背景技术
随着互联网技术的发展,软件即服务(SaaS,Softwareasaservice)将软件作为一种服务形式提供给客户,帮助软件开发商通过提供服务的形式赢得客户。云计算的兴起,使SaaS的安全性和可靠性受到越来越多企业的认可和信赖。作为SaaS应用的核心技术,多重租赁(Multi-Tenant),又称“多租户”受到越来越多的重视,多租户的思想是将多个租户的数据和业务流程托管存放在SaaS服务商的同一服务器组上,经过软件和数据库的隔离及保密等技术同时使用,其目的是允许多个企业(或者企业内部多个租户)共享软硬件资源,提高资源利用率,降低了分摊在单个租户上的平均基础设施和管理成本。
虽然多租户可以提高资源的利用率,但是同时也存在着一些问题,其中如何保证各租户之间的数据隔离是多租户应用面临的难点之一,一个应用实例需要支持多个租户资源共享,需要确保多个租户的数据能够安全隔离,从而正确运行多个租户的应用实例,应用的开发人员在对应用进行程序开发和转换(修改成多租户模式)时需要确定应用实例的隔离点,其中隔离点即多租户各自享有的资源,例如某些文件、静态变量、数据库以及缓存,其区别于共享点,共享点即多租户共享的资源。现有的方法需要开发人员通过人工查找所有数据库、源代码来确定隔离点,然而由于涉及的隔离数量庞大,不仅需要花费大量的人力成本,而且效率低、准确性差。
因此需要一种在多租户环境下高效、准确定位应用程序中的隔离点的方法。
发明内容
基于上述问题,本发明提供一种在多租户环境下高效、准确定位应用程序中的隔离点的方法和装置。
根据本发明的第一方面,提供一种用于多租户环境下定位应用程序的隔离点的方法,该方法包括:利用扫描规则扫描应用程序以获得潜在隔离点以及潜在隔离点之间的关系;从潜在隔离点中指定至少一个隔离点;利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出隔离点。
根据本发明的第二方面,提供一种用于多租户环境下定位应用程序的隔离点的装置,该装置包括:扫描模块,被配置为利用扫描规则扫描应用程序以获得潜在隔离点以及潜在隔离点之间的关系;指定模块,被配置为从潜在隔离点中指定至少一个隔离点;以及
隔离点筛选模块,被配置为利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出隔离点。
根据本发明的实施例的定位应用程序中的隔离点的方法和装置,能够高效、准确定位应用程序中的隔离点,节省大量的人力成本。
附图说明
结合附图,通过参考下列的实施例详细描述多租户环境下定位应用程序的隔离点的方法和系统,将会更好地理解本发明本身、优选的实施方式以及本发明的目的和优点,其中:
图1示出根据本发明实施例的多租户环境下定位应用程序的隔离点的方法;
图2示出根据本发明实施例构建的有向图的示例;
图3示出根据本发明实施例的多租户环境下定位应用程序的隔离点的方法;
图4示出根据本发明实施例的多租户环境下定位应用程序的隔离点的方法;
图5示出根据本发明实施例的多租户环境下定位应用程序的隔离点的装置框图;以及
图6示意性示出了实现根据本发明的实施例的计算设备的结构方框图。
具体实施方式
以下结合附图描述根据本发明实施例的多租户环境下定位应用程序的隔离点的方法和系统,将会更好地理解本发明的目的和优点。
图1示出根据本发明实施例的多租户环境下定位应用程序的隔离点的方法,该方法包括:在步骤S101,利用扫描规则扫描应用程序以获得潜在隔离点以及潜在隔离点之间的关系;在步骤S102,从潜在隔离点中指定至少一个隔离点;在步骤S103,利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出真正隔离点。
在步骤S101,利用扫描规则扫描应用程序以获得潜在隔离点以及潜在隔离点之间的关系。
首先预先定义扫描规则,扫描规则用于查找潜在隔离点以及潜在隔离点之间的关系,在扫描规则中定义扫描应用程序以获得的潜在隔离点的类型以及潜在隔离点之间的关系,根据本发明的实施例,潜在隔离点包括静态变量类型的隔离点、文件类型的隔离点和数据库类型的隔离点。对于静态变量类型的隔离点,通过对应用程序进行静态分析查找到所有的变量声明,在所有的变量声明中搜索关键字“static”,从而找到静态变量,并获得静态变量类型的隔离点的属性,即,静态变量的名称、类别、所属的类以及声明静态变量的位置,通过静态变量类型的隔离点的属性可以唯一确定静态变量类型的隔离点。对于文件类型的隔离点,通过对应用程序进行静态分析查找到对文件API的调用,对调用的参数返回值进行分析获得文件类型的隔离点的属性,即,文件的名称、目录,文件类型的隔离点的属性可以唯一确定文件类型的隔离点。对于数据库类型的隔离点,通过对数据库脚本静态分析查找到表结构的创建语句,对表结构的创建语句进行分析获得数据库类型的隔离点的属性,即,表结构和表名,数据库类型的隔离点的属性可以唯一确定数据库类型的隔离点。
扫描规则中定义的潜在隔离点之间的关系至少包括以下其中之一:赋值关系和成员关系,其中赋值关系表示将一个潜在隔离点赋值给另一个潜在隔离点,赋值关系包括直接赋值、参数传递以及函数调用返回值赋值,成员关系表示一个潜在隔离点包含另一个潜在隔离点。
根据本发明的实施例,对于静态变量类型、文件类型和数据库类型的潜在隔离点来说,存在六种潜在隔离点之间的关系,即,静态变量类型的隔离点之间的关系、静态变量类型的隔离点与文件类型的隔离点之间的关系、静态变量类型的隔离点与数据库类型的隔离点之间、文件类型的隔离点之间、文件类型的隔离点与数据库类型的隔离点之间以及数据库类型的隔离点之间的关系,以下分别介绍六种隔离点之间的关系。
静态变量类型的潜在隔离点之间的关系包括赋值关系和成员关系,其中赋值关系表示将一个静态变量的值赋值给另一个静态变量,包括直接赋值、参数传递以及函数调用返回值赋值,成员关系表明一个静态变量是另一个静态变量的成员。
静态变量类型的潜在隔离点与文件类型的潜在隔离点之间的关系包括赋值关系,其中赋值关系包括:将文件的内容赋给变量;以及将变量赋给文件。
静态变量类型的潜在隔离点与数据库类型的潜在隔离点之间的关系包括赋值关系,其中赋值关系包括:将数据库的内容赋给变量;以及将变量赋给数据库。
文件类型的潜在隔离点之间的关系包括赋值关系和成员关系,其中赋值关系表示将文件的内容赋给变量并且将变量赋给另一个文件,成员关系表示一个文件是另一个目录类型文件的子文件。
文件类型的潜在隔离点与数据库类型的潜在隔离点之间的关系包括赋值关系,其中赋值关系表示将文件的内容赋给变量并且将变量赋给数据库,或者将数据库的内容赋值给变量并且将变量赋值给文件。
数据库类型的潜在隔离点之间的关系包括赋值关系,其中赋值关系表示将数据库的内容赋给变量并且将变量赋给数据库,数据库类型的潜在隔离点之间的关系还包括通过SQL(StructuredQueryLanguage)结构化查询语句将数据库读出再写入另一个数据库。
利用扫描规则扫描应用程序的代码以获得具有上述类型以及上述关系的潜在隔离点,根据本发明的实施例,利用获得的潜在隔离点和潜在隔离点之间的关系构建有向图,有向图G=(V,E),由多个结点V和至少一条有向边构成,V表示结点的集合,E表示结点之间的有向边集合,其中每个结点表示潜在隔离点,从一个结点指向另一个结点的有向边表示潜在隔离点之间的关系。例如通过扫描程序代码获得潜在隔离点静态变量i和j,inti=j,能够确定静态变量i和j之间的关系是赋值关系,图2示出根据本发明实施例构建的有向图的示例,如图所示,结点i和j分别表示静态变量i和j,从结点j指向结点i的有向边表明将静态变量j的值赋给静态变量i。
在步骤S102,从潜在隔离点中指定至少一个隔离点,由应用程序的开发人员根据应用程序的应用场景从潜在隔离点中指定至少一个隔离点。
在步骤S103,利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出隔离点。具体地,通过对构建的有向图中的潜在隔离点应用隔离点确定规则来确定隔离点。
根据本发明的实施例,如果将所述指定的至少一个隔离点赋值给潜在隔离点,则确定潜在隔离点是隔离点。例如,对于具有赋值关系的指定隔离点a和潜在隔离点b,如果将a赋值给b并且a是隔离点,那么能够确定b也是隔离点。本发明实施例的隔离点的确定规则并不限于具有直接赋值关系的隔离点,对于具有传递赋值关系的多个隔离点也适用,例如,对于指定隔离点a和潜在隔离点b和c,如果将a赋值给b并且将b赋值给c,那么能够确定b和c是隔离点。
根据本发明的实施例,如果所述指定的至少一个隔离点包含潜在隔离点,则确定潜在隔离点是隔离点。例如,对于具有成员关系的指定隔离点a和潜在隔离点b,如果a包含b,那么能够确定b也是隔离点。
图3示出根据本发明实施例的多租户环境下定位应用程序的隔离点的方法,步骤S301至步骤S303分别对应于步骤S101至步骤S103,具体实现参照步骤S101至步骤S103,在此不一一赘述。根据本发明的实施例,增加步骤S304-S306。
在步骤S304,从潜在隔离点中指定至少一个共享点,由应用程序的开发人员根据应用程序的应用场景从潜在隔离点中指定至少一个共享点。在步骤S305,利用所述指定的至少一个共享点与其余所述潜在隔离点之间的关系从潜在隔离点中过滤出至少一个共享点。
根据本发明的实施例,如果将潜在隔离点赋值给所述共享点,则确定潜在隔离点是共享点。例如,对于具有赋值关系的潜在隔离点b和共享点a,如果将b赋值给a,那么能够确定b也是共享点。本发明实施例的共享点的确定规则并不限于具有直接赋值关系的共享点,对于具有传递赋值关系的多个共享点也适用,例如,对于指定共享点a和潜在隔离点b和c,如果将c赋值给b并且将b赋值给a,那么能够确定b和c是共享点。
根据本发明的实施例,如果潜在隔离点包含所述共享点,那么确定潜在隔离点是共享点。例如,对于具有成员关系的共享点a和潜在隔离点b,如果b包含a,那么b也是共享点
在步骤S306,检测筛选出的隔离点中是否存在共享点,响应于检测结果为是,则报告存在冲突的隔离点。在利用上述确定隔离点的规则筛出隔离点,以及利用确定共享点的规则过滤出共享点之后,检测筛选出的隔离点中是否存在共享点,如果存在共享点,则报告存在冲突的隔离点,由应用程序的开发人员去处理。
图4示出根据本发明实施例的多租户环境下定位应用程序的隔离点的方法,步骤S401至步骤S406分别对应于步骤S301至步骤S306,具体实现参照步骤S301至步骤S306,在此不一一赘述。根据本发明的实施例,增加步骤S407。
在步骤S407,进一步包括通过计算剩余潜在隔离点与确定的隔离点的相关度向用户推荐剩余潜在隔离点中高概率的隔离点。
根据本发明的实施例,利用推荐算法计算剩余潜在隔离点与确定的隔离点的相关度,假设给定的有向图G=(V,E),其中V表示结点的集合,E表示结点之间的有向边集合,根据上述的方法将结点集合V划分为隔离点集合Vd(u1,u2...un)、潜在隔离点集合Vp(v1,v2...vm)以及共享点集合Vs(w1,w2...wk),选取潜在隔离点集合Vp中任意一个潜在隔离点vj,计算隔离点集合Vd(u1,u2...un)中每个隔离点ui与潜在隔离点vj之间的距离d(vj,ui),Floyd-Warshall算法(Floyd-Warshallalgorithm)是解决任意两点间最短路径的一种算法,可以利用Floyd-Warshall算法计算隔离点集合Vd(u1,u2...un)中每个隔离点ui与潜在隔离点vj之间的距离d(ui,vj):
将结点集V中的所有结点记为V={x1,x2,...,xp}设dk(ui,vj)为从ui到vj的只以{x1,x2,...,xk}集合中的结点为中间结点的最短路径的长度,
若最短路径经过结点xk,则dk(ui,vj)=dk-1(ui,xk)+dk-1(xk,vj);
若最短路径不经过点xk,则dk(ui,vj)=dk-1(ui,vj);
因此,dk(ui,vj)=min(dk-1(ui,xk)+dk-1(xk,vj),dk-1(ui,vj))
按照上述算法计算出隔离点集合Vd(u1,u2...un)中每个隔离点到潜在隔离点vj的最短距离d(ui,vj)(ui∈Vd),选取其中的最小值作为隔离点集合Vd(u1,u2...un)与潜在隔离点vj的距离:
D(vj)=min{dk(ui,vj)|ui∈Vd}
按照上述方法计算出隔离点集合Vd与所有潜在隔离点的距离D(vj)(vj∈Vp),并按照D(vj)的大小排序呈现给用户,D(vj)越大,表明潜在隔离点是隔离点的概率越小,为应用程序的开发人员提供推荐的隔离点的列表,开发人员按照推荐的隔离点的列表首先查找高概率的隔离点,节省了开发人员的手工查找的人力成本和时间成本。
基于同一发明构思,本发明提出一种多租户环境下定位应用程序的隔离点的装置,图5示出根据本发明的实施例用于多租户环境下定位应用程序的隔离点的装置,该装置包括:扫描模块501,被配置为利用扫描规则扫描应用程序以获得潜在隔离点以及潜在隔离点之间的关系;指定模块502,被配置为从潜在隔离点中指定至少一个隔离点;以及隔离点筛选模块503,被配置为利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出隔离点。
根据本发明的实施例,其中所述潜在隔离点之间的关系至少包括以下其中之一:赋值关系和成员关系。
根据本发明的实施例,隔离点筛选模块503进一步被配置为:如果将所述指定的至少一个隔离点赋值给潜在隔离点,则确定潜在隔离点是隔离点。
根据本发明的实施例,其中隔离点筛选模块503进一步被配置为:如果所述指定的至少一个隔离点包含潜在隔离点,则确定潜在隔离点是隔离点。
根据本发明的实施例,其中指定模块502进一步被配置为:从潜在隔离点中指定至少一个共享点。根据本发明的实施例,该装置进一步包括共享点过滤模块504,被配置为利用所述指定的至少一个共享点与其余所述潜在隔离点之间的关系从潜在隔离点中过滤出共享点。
根据本发明的实施例,其中共享点过滤模块504被进一步配置为:如果将潜在隔离点赋值给所述指定的至少一个共享点,则确定潜在隔离点是共享点。根据本发明的实施例,其中共享点过滤模块被进一步配置为:如果潜在隔离点包含所述指定的至少一个共享点,则确定潜在隔离点是共享点。
根据本发明的实施例,进一步包括冲突报告模块505,被配置为如果检测到筛选出的隔离点中存在共享点,则报告存在冲突的隔离点。
根据本发明的实施例进一步包括隔离点推荐模块506,被配置为通过计算剩余潜在隔离点与筛选的隔离点之间的相关度向用户推荐剩余潜在隔离点中高概率的隔离点。
图6则示意性示出了可以实现根据本发明的实施例的计算设备的结构方框图。图6中所示的计算机系统包括CPU(中央处理单元)601、RAM(随机存取存储器)602、ROM(只读存储器)603、系统总线604,硬盘控制器605、键盘控制器606、串行接口控制器607、并行接口控制器608、显示器控制器609、硬盘610、键盘611、串行外部设备612、并行外部设备613和显示器614。在这些部件中,与系统总线604相连的有CPU601、RAM602、ROM603、硬盘控制器605、键盘控制器606,串行接口控制器607,并行接口控制器608和显示器控制器609。硬盘610与硬盘控制器605相连,键盘611与键盘控制器606相连,串行外部设备612与串行接口控制器607相连,并行外部设备613与并行接口控制器608相连,以及显示器614与显示器控制器609相连。
图6中每个部件的功能在本技术领域内都是众所周知的,并且图6所示的结构也是常规的。这种结构不仅用于个人计算机,而且用于手持设备,如PalmPC、PDA(个人数据助理)、移动电话等等。在不同的应用中,例如用于实现包含有根据本发明的客户端模块的用户终端或者包含有根据本发明的网络应用服务器的服务器主机时,可以向图6中所示的结构添加某些部件,或者图6中的某些部件可以被省略。图6中所示的整个系统由通常作为软件存储在硬盘610中、或者存储在EPROM或者其它非易失性存储器中的计算机可读指令控制。软件也可从网络(图中未示出)下载。或者存储在硬盘610中,或者从网络下载的软件可被加载到RAM602中,并由CPU601执行,以便完成由软件确定的功能。
尽管图6中描述的计算机系统能够支持根据本发明提供的技术方案,但是该计算机系统只是计算机系统的一个例子。本领域的熟练技术人员可以理解,许多其它计算机系统设计也能实现本发明的实施例。
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。
应当理解,本发明的至少某些方面可以可替代地以程序产品实现。定义有关本发明的功能的程序可以通过各种信号承载介质被传送到数据存储系统或计算机系统,所述信号承载介质包括但不限于,不可写存储介质(例如,CD-ROM)、可写存储介质(例如,软盘、硬盘驱动器、读/写CDROM、光介质)以及诸如包括以太网的计算机和电话网络之类的通信介质。因此应当理解,在此类信号承载介质中,当携带或编码有管理本发明中的方法功能的计算机可读指令时,代表本发明的可替代实施例。本发明可以硬件、软件、固件或其组合的方式实现。本发明可以集中的方式在一个计算机系统中实现,或以分布方式实现,在这种分布方式中,不同的部件分布在若干互连的计算机系统中。适于执行本文中描述的方法的任何计算机系统或其它装置都是合适的。优选地,本发明以计算机软件和通用计算机硬件的组合的方式实现,在这种实现方式中,当该计算机程序被加载和执行时,控制该计算机系统而使其执行本发明的方法,或构成本发明的系统。
上面出于举例说明的目的,给出了本发明的优选实施例的说明。优选实施例的上述说明不是穷尽的,也不打算把本发明局限于公开的明确形式,显然鉴于上述教导,许多修改和变化是可能的。对本领域的技术人员来说显而易见的这种修改和变化包括在由附加的权利要求限定的本发明的范围内。

Claims (16)

1.一种用于多租户环境下定位应用程序的隔离点的方法,包括:
利用扫描规则扫描应用程序以获得潜在隔离点以及潜在隔离点之间的关系;
从潜在隔离点中指定至少一个隔离点;
利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出隔离点;
在潜在隔离点中指定至少一个共享点;
利用所述指定的至少一个共享点与其余所述潜在隔离点之间的关系从所述潜在隔离点中过滤出共享点;以及
检测筛选出的隔离点中是否存在共享点,
其中所述潜在隔离点包括以下类型的隔离点的至少其中之一:静态变量类型的隔离点、文件类型的隔离点和数据库类型的隔离点,所述各类型的隔离点通过静态分析确定。
2.根据权利要求1的方法,其中所述潜在隔离点之间的关系至少包括以下其中之一:赋值关系和成员关系。
3.根据权利要求2的方法,其中利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出隔离点包括:
如果将所述指定的至少一个隔离点赋值给潜在隔离点,则确定潜在隔离点是隔离点。
4.根据权利要求2的方法,其中利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出隔离点包括:
如果所述指定的至少一个隔离点包含潜在隔离点,则确定潜在隔离点是隔离点。
5.根据权利要求1的方法,其中利用所述指定的至少一个共享点与其余所述潜在隔离点之间的关系从潜在隔离点中过滤出共享点进一步包括:如果将潜在隔离点赋值给所述共享点,则确定潜在隔离点是共享点。
6.根据权利要求1的方法,其中利用所述指定的至少一个共享点与其余所述潜在隔离点之间的关系从潜在隔离点中过滤出共享点进一步包括:如果潜在隔离点包含所述共享点,那么确定潜在隔离点是共享点。
7.根据权利要求1的方法,响应于检测结果为是,则报告存在冲突的隔离点。
8.根据权利要求1-4任一项所述的方法,进一步包括:通过计算剩余的潜在隔离点与确定的隔离点之间的相关度向用户推荐剩余的潜在隔离点中高概率的隔离点。
9.一种用于多租户环境下定位应用程序的隔离点的装置,包括:
扫描模块,被配置为利用扫描规则扫描应用程序以获得潜在隔离点以及潜在隔离点之间的关系;
指定模块,被配置为从潜在隔离点中指定至少一个隔离点;
隔离点筛选模块,被配置为利用所述指定的至少一个隔离点与其余所述潜在隔离点之间的关系从潜在隔离点中筛选出隔离点;
其中指定模块进一步被配置为:从潜在隔离点中指定至少一个共享点;进一步包括共享点过滤模块,被配置为利用所述指定的至少一个共享点与其余所述潜在隔离点之间的关系从潜在隔离点中过滤出共享点;
进一步包括冲突报告模块,被配置为检测筛选出的隔离点中是否存在共享点,
其中所述潜在隔离点包括以下类型的隔离点的至少其中之一:静态变量类型的隔离点、文件类型的隔离点和数据库类型的隔离点,所述各类型的隔离点通过静态分析确定。
10.根据权利要求9的装置,其中所述潜在隔离点之间的关系至少包括以下其中之一:赋值关系和成员关系。
11.根据权利要求10的装置,其中隔离点筛选模块进一步被配置为:如果将所述指定的至少一个隔离点赋值给潜在隔离点,则确定潜在隔离点是隔离点。
12.根据权利要求10的装置,其中隔离点筛选模块进一步被配置为:如果所述指定的至少一个隔离点包含潜在隔离点,则确定潜在隔离点是隔离点。
13.根据权利要求9的装置,其中共享点过滤模块被进一步配置为:如果将潜在隔离点赋值给所述指定的至少一个共享点,则确定潜在隔离点是共享点。
14.根据权利要求9的装置,其中共享点过滤模块被进一步配置为:如果潜在隔离点包含所述指定的至少一个共享点,则确定潜在隔离点是共享点。
15.根据权利要求9的装置,进一步包括冲突报告模块响应于冲突报告模块检测结果为是,则报告存在冲突的隔离点。
16.根据权利要求9-12任一项所述的装置,进一步包括隔离点推荐模块,被配置为通过计算剩余潜在隔离点与筛选的隔离点之间的相关度向用户推荐剩余潜在隔离点中高概率的隔离点。
CN201110270231.0A 2011-08-31 2011-08-31 用于多租户环境下定位应用程序的隔离点的方法和系统 Active CN102968593B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201110270231.0A CN102968593B (zh) 2011-08-31 2011-08-31 用于多租户环境下定位应用程序的隔离点的方法和系统
US13/600,619 US8949787B2 (en) 2011-08-31 2012-08-31 Locating isolation points in an application under multi-tenant environment
US13/604,051 US20130055204A1 (en) 2011-08-31 2012-09-05 Locating isolation points in an application under multi-tenant environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110270231.0A CN102968593B (zh) 2011-08-31 2011-08-31 用于多租户环境下定位应用程序的隔离点的方法和系统

Publications (2)

Publication Number Publication Date
CN102968593A CN102968593A (zh) 2013-03-13
CN102968593B true CN102968593B (zh) 2016-08-03

Family

ID=47745564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110270231.0A Active CN102968593B (zh) 2011-08-31 2011-08-31 用于多租户环境下定位应用程序的隔离点的方法和系统

Country Status (2)

Country Link
US (2) US8949787B2 (zh)
CN (1) CN102968593B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9355248B1 (en) * 2015-01-26 2016-05-31 Red Hat, Inc. Container and image scanning for a platform-as-a-service system
CN109669946B (zh) * 2018-12-14 2021-11-16 中南设计集团(武汉)工程技术研究院有限公司 一种基于海量用户的复杂权限体系数据隔离系统及方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381735B1 (en) * 1998-10-02 2002-04-30 Microsoft Corporation Dynamic classification of sections of software
US6658652B1 (en) * 2000-06-08 2003-12-02 International Business Machines Corporation Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing
US20040015816A1 (en) * 2001-01-05 2004-01-22 Hines Kenneth Joseph Coordination synthesis for software systems
US7210124B2 (en) * 2003-06-16 2007-04-24 Microsoft Corporation Reformulating resources with nodes reachable from defined entry points
US7680758B2 (en) * 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US7673051B2 (en) * 2005-07-26 2010-03-02 Microsoft Corporation Resource usage conflict identifier
US8312459B2 (en) * 2005-12-12 2012-11-13 Microsoft Corporation Use of rules engine to build namespaces
US8271641B2 (en) * 2006-10-04 2012-09-18 Salesforce.Com, Inc. Method and system for governing resource consumption in a multi-tenant system
US7895409B2 (en) * 2007-07-30 2011-02-22 Hewlett-Packard Development Company, L.P. Application inspection tool for determining a security partition
US10007767B1 (en) 2007-12-21 2018-06-26 EMC IP Holding Company LLC System and method for securing tenant data on a local appliance prior to delivery to a SaaS data center hosted application service
EP2698710A3 (en) * 2008-02-12 2014-05-28 Scrutiny, INC. Systems and methods for information flow analysis
US10657466B2 (en) * 2008-05-29 2020-05-19 Red Hat, Inc. Building custom appliances in a cloud-based network
US8356274B2 (en) 2008-07-07 2013-01-15 International Business Machines Corporation System and methods to create a multi-tenancy software as a service application
US8869099B2 (en) 2008-07-28 2014-10-21 Infosys Limited System and method of enabling multi-tenancy for software as a service application
US8615400B2 (en) 2008-08-19 2013-12-24 International Business Machines Corporation Mapping portal applications in multi-tenant environment
US8417658B2 (en) * 2008-09-12 2013-04-09 International Business Machines Corporation Deployment pattern realization with models of computing environments
US8424059B2 (en) 2008-09-22 2013-04-16 International Business Machines Corporation Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment
US9734466B2 (en) 2008-11-11 2017-08-15 Sap Se Multi-tenancy engine
US8271536B2 (en) 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
US8782670B2 (en) * 2009-04-10 2014-07-15 Open Invention Network, Llc System and method for application isolation
US8429097B1 (en) * 2009-08-12 2013-04-23 Amazon Technologies, Inc. Resource isolation using reinforcement learning and domain-specific constraints
US8793690B2 (en) * 2009-10-09 2014-07-29 International Business Machines Corporation Generating timing sequence for activating resources linked through time dependency relationships
US20110126168A1 (en) 2009-11-25 2011-05-26 Crowdsource Technologies Ltd. Cloud plarform for managing software as a service (saas) resources
WO2011091056A1 (en) * 2010-01-19 2011-07-28 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US8984009B2 (en) * 2010-04-21 2015-03-17 Salesforce.Com, Inc. Methods and systems for utilizing bytecode in an on-demand service environment including providing multi-tenant runtime environments and systems
US8707264B2 (en) * 2010-05-18 2014-04-22 Salesforce.Com, Inc. Methods and systems for testing methods in a multi-tenant database environment
US8612577B2 (en) * 2010-11-23 2013-12-17 Red Hat, Inc. Systems and methods for migrating software modules into one or more clouds
US8839208B2 (en) * 2010-12-16 2014-09-16 Sap Ag Rating interestingness of profiling data subsets
US8261295B1 (en) * 2011-03-16 2012-09-04 Google Inc. High-level language for specifying configurations of cloud-based deployments
EP2690820B1 (en) * 2011-04-26 2016-06-08 Huawei Technologies Co., Ltd. Method, apparatus and system for mapping service instance
AU2012307044B2 (en) * 2011-09-07 2017-02-02 Imagine Communications Corp. System and methods for developing component-based computing applications
US8887154B2 (en) * 2012-09-06 2014-11-11 Imagine Communications Corp. Systems and methods for partitioning computing applications to optimize deployment resources
US9424024B2 (en) * 2012-09-07 2016-08-23 Oracle International Corporation System and method for elasticity management of services with a cloud computing environment
US9342298B2 (en) * 2013-03-14 2016-05-17 Microsoft Technology Licensing, Llc Application compatibility checking in a distributed computing environment
US9317410B2 (en) * 2013-03-15 2016-04-19 International Business Machines Corporation Testing functional correctness and idempotence of software automation scripts

Also Published As

Publication number Publication date
CN102968593A (zh) 2013-03-13
US8949787B2 (en) 2015-02-03
US20130055204A1 (en) 2013-02-28
US20130055203A1 (en) 2013-02-28

Similar Documents

Publication Publication Date Title
US11574063B2 (en) Automatic detection of an incomplete static analysis security assessment
US20190079936A1 (en) Calculating expertise confidence based on content and social proximity
US10452702B2 (en) Data clustering
US20200183900A1 (en) Deduplication of Metadata for Places
US10936765B2 (en) Graph centrality calculation method and apparatus, and storage medium
US20190205550A1 (en) Updating monitoring systems using merged data policies
US20140143407A1 (en) Multi-objective server placement determination
US20170351728A1 (en) Detecting potential root causes of data quality issues using data lineage graphs
US20180107751A1 (en) Role-relative social networking
US10992972B1 (en) Automatic identification of impermissable account sharing
CN110908980B (zh) 用户标识映射关系建立方法、系统、设备及存储介质
US11049027B2 (en) Visual summary of answers from natural language question answering systems
CN115455046A (zh) 图中的重复确定
US20120106853A1 (en) Image search
US11062007B2 (en) Automated authentication and access
CN102968593B (zh) 用于多租户环境下定位应用程序的隔离点的方法和系统
US11487824B2 (en) Automated database query filtering for spatial joins
CN115048284A (zh) 用于测试系统的应用的方法、计算设备和存储介质
US10621205B2 (en) Pre-request execution based on an anticipated ad hoc reporting request
CN112101390B (zh) 属性信息确定方法、属性信息确定装置及电子设备
KR102136222B1 (ko) 그래프 데이터 클러스터링 시스템 및 방법과, 이를 위한 컴퓨터 프로그램
CN113761289A (zh) 图学习方法、框架、计算机系统及可读存储介质
US12050575B2 (en) Mapping of heterogeneous data as matching fields
US12086183B2 (en) Graph data structure edge profiling in MapReduce computational framework
US20210118062A1 (en) Attaching prospective benefit information to an invitation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant