CN102968593B - 用于多租户环境下定位应用程序的隔离点的方法和系统 - Google Patents
用于多租户环境下定位应用程序的隔离点的方法和系统 Download PDFInfo
- 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
Links
- 230000003068 static effect Effects 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 30
- 238000012216 screening Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols 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)
- Design And Manufacture Of Integrated Circuits (AREA)
- Mobile Radio Communication Systems (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任一项所述的装置,进一步包括隔离点推荐模块,被配置为通过计算剩余潜在隔离点与筛选的隔离点之间的相关度向用户推荐剩余潜在隔离点中高概率的隔离点。
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)
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)
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 |
US8931038B2 (en) * | 2009-06-19 | 2015-01-06 | Servicemesh, Inc. | System and method for a cloud computing abstraction layer |
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 |
US9104484B2 (en) * | 2010-04-21 | 2015-08-11 | Salesforce.Com, Inc. | Methods and systems for evaluating bytecode in an on-demand service environment including translation of apex to bytecode |
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 |
WO2011113381A2 (zh) * | 2011-04-26 | 2011-09-22 | 华为技术有限公司 | 业务实例映射方法、装置和系统 |
WO2013033824A2 (en) * | 2011-09-07 | 2013-03-14 | Digital Rapids Corporation | Systems and methods for 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 |
-
2011
- 2011-08-31 CN CN201110270231.0A patent/CN102968593B/zh active Active
-
2012
- 2012-08-31 US US13/600,619 patent/US8949787B2/en active Active
- 2012-09-05 US US13/604,051 patent/US20130055204A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN102968593A (zh) | 2013-03-13 |
US20130055203A1 (en) | 2013-02-28 |
US20130055204A1 (en) | 2013-02-28 |
US8949787B2 (en) | 2015-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nitti et al. | IoT Architecture for a sustainable tourism application in a smart city environment | |
US20190205550A1 (en) | Updating monitoring systems using merged data policies | |
CN108009933B (zh) | 图中心性计算方法及装置 | |
US10902073B2 (en) | Role-relative social networking | |
US20140143407A1 (en) | Multi-objective server placement determination | |
CN111046237B (zh) | 用户行为数据处理方法、装置、电子设备及可读介质 | |
US20170351728A1 (en) | Detecting potential root causes of data quality issues using data lineage graphs | |
KR20120036831A (ko) | 갱신들의 소셜 네트워킹 서비스 내로의 통합 | |
US10992972B1 (en) | Automatic identification of impermissable account sharing | |
WO2018227773A1 (zh) | 地点推荐方法、装置、计算机设备和存储介质 | |
JP2019513245A (ja) | ソーシャルネットワークに基づいてグループを探索する方法、デバイス、サーバ及び記憶媒体 | |
CN115455046A (zh) | 图中的重复确定 | |
US11049027B2 (en) | Visual summary of answers from natural language question answering systems | |
US11487824B2 (en) | Automated database query filtering for spatial joins | |
US11062007B2 (en) | Automated authentication and access | |
CN102968593B (zh) | 用于多租户环境下定位应用程序的隔离点的方法和系统 | |
US20160350763A1 (en) | Context-Aware Display Of Objects In Mixed Environments | |
US20140244741A1 (en) | Computer-Implemented System And Method For Context-Based APP Searching And APP Use Insights | |
US12050575B2 (en) | Mapping of heterogeneous data as matching fields | |
US10621205B2 (en) | Pre-request execution based on an anticipated ad hoc reporting request | |
CN115048284A (zh) | 用于测试系统的应用的方法、计算设备和存储介质 | |
CN112101390B (zh) | 属性信息确定方法、属性信息确定装置及电子设备 | |
KR102136222B1 (ko) | 그래프 데이터 클러스터링 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 | |
EP4162369A1 (en) | Graph data structure edge profiling in mapreduce computational framework | |
CN113761289A (zh) | 图学习方法、框架、计算机系统及可读存储介质 |
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 |