CN112637232A - 支持多种策略的云平台资源隔离框架实现方法及装置 - Google Patents
支持多种策略的云平台资源隔离框架实现方法及装置 Download PDFInfo
- Publication number
- CN112637232A CN112637232A CN202011599738.6A CN202011599738A CN112637232A CN 112637232 A CN112637232 A CN 112637232A CN 202011599738 A CN202011599738 A CN 202011599738A CN 112637232 A CN112637232 A CN 112637232A
- Authority
- CN
- China
- Prior art keywords
- resource
- isolation
- resource isolation
- detection
- strategy
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种支持多种策略的云平台资源隔离框架实现方法及装置;所述方法包括:设置资源隔离类型;获取资源隔离检测策略,并结合所述资源隔离类型配置对应的资源隔离检测策略类型;配置资源操作类接口调用对应的所述资源隔离检测策略,以检测传入的资源,获得第一资源数据;获取资源隔离过滤策略;配置资源查询类接口,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,实现资源隔离;本申请实施例的方法避免功能业务代码中夹杂着太多非功能性代码使得代码逻辑结构复杂不易维护的问题,不需要再去关注如何实现隔离的逻辑,同时维护简单。
Description
技术领域
本申请实施例涉及资源隔离技术领域,尤其涉及一种支持多种策略的云平台资源隔离框架实现方法及装置。
背景技术
多租户技术,是一种软件架构技术,是实现如何在多用户环境下共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。在当下云计算时代,多租户技术在共用的数据中心以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍可以保障客户的数据隔离。云平台资源主要由云服务器、云盘、快照、虚拟路由、虚拟交换机、虚拟私有云、负载均衡、虚拟网卡、弹性IP、安全组、镜像、映像等资源组成,对于不同的资源它们的隔离策略不一样,比如云服务器、云盘、快照、虚拟网卡、弹性IP这些适合租户内非自建权限共享,而且如果资源权限为自建的用户则只能操作租户内并且自建的资源;虚拟路由、虚拟交换机、虚拟私有云、安全组这些则适合租户内共享,即不管用户角色的资源权限是自建还是所有,只要是在同一个租户下的即可以操作这些资源;而外网资源、镜像、映像则是跨租户共享。
面对不同资源需要不同的隔离策略,但现有的资源隔离技术中,功能业务代码中夹杂着太多非功能性代码使得代码逻辑结构复杂不易维护;同时代码耦合性太高,难于分工与复用。
发明内容
本申请实施例提供一种支持多种策略的云平台资源隔离框架实现方法及装置,以解决现有技术中资源隔离功能业务代码中夹杂着太多非功能性代码使得代码逻辑结构复杂不易维护的问题。
在第一方面,本申请实施例提供了一种支持多种策略的云平台资源隔离框架实现方法,包括:
设置资源隔离类型;
获取资源隔离检测策略,并结合所述资源隔离类型配置对应的资源隔离检测策略类型;
配置资源操作类接口,根据所述资源隔离检测策略类型对所述资源操作类接口进行配置资源隔离检测注解,根据所述资源隔离检测注解来调用对应的所述资源隔离检测策略,以检测传入的资源,获得第一资源数据;
获取资源隔离过滤策略;
配置资源查询类接口,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,实现资源隔离。
进一步的,所述资源隔离类型包括:所有租户共享、所有租户非自建权限共享、租户内共享和租户内非自建资源共享。
进一步的,所述获取资源隔离检测策略,包括:
抽象出资源隔离检测接口,编写实现入参为资源ID和当前用户的检测方法以及获取隔离类型的方法;
编写根据资源ID获取资源归属的抽象方法和编写实现各种资源隔离检测的具体方法,以配置所述资源隔离检测接口的实现抽象类和具体实现类,得到资源隔离检测策略。
进一步的,所述对所述资源操作类接口进行配置资源隔离检测注解,包括:
在资源操作类接口类上通过注解配置需要隔离校验的资源隔离类型、对应的资源ID和对应的资源参数名称。
进一步的,所述根据所述资源隔离检测注解来调用对应的所述资源隔离检测策略,以检测传入的资源,包括:
获取所述资源操作类接口与所述资源隔离检测策略对应的资源隔离检测注解;
根据所述资源隔离检测注解的资源隔离类型获取资源隔离检测策略的具体实现类,同时调用入参为资源ID和当前用户的检测方法,以检测传入的资源。
进一步的,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,包括:
所述资源查询类接口根据资源ID查询存储的数据库,获得资源表对应前缀;
根据当前用户、资源表对应前缀和资源隔离检测类型调用所述过滤策略方法,所述过滤策略方法根据资源隔离检测类型调用对应的数据库过滤查询条件,以过滤所述第一资源数据。
进一步的,所述获取资源隔离过滤策略类,包括:
抽象出资源过滤策略接口,根据所述资源隔离类型配置所述资源过滤策略接口的过滤策略方法实现类,得到资源隔离过滤策略。
进一步的,所述设置资源隔离类型之后,还包括:
抽象出资源隔离策略接口,实现所述资源隔离策略接口的资源隔离策略配置方法、资源隔离检测方法和资源隔离过滤方法;
其中,根据所述资源隔离检测接口和所述资源操作类接口实现所述资源隔离检测方法,根据所述资源过滤策略接口和所述资源查询类接口实现所述资源隔离过滤方法。
在第二方面,本申请实施例提供了一种支持多种策略的云平台资源隔离框架实现装置,包括:
类型设置模块,用于设置资源隔离类型;
检测策略获取模块,用于获取资源隔离检测策略,并结合所述资源隔离类型配置对应的资源隔离检测策略类型;
操作类接口配置模块,用于配置资源操作类接口,根据所述资源隔离检测策略类型对所述资源操作类接口进行配置资源隔离检测注解,根据所述资源隔离检测注解来调用对应的所述资源隔离检测策略,以检测传入的资源,获得第一资源数据;
过滤策略获取模块,用于获取资源隔离过滤策略;
查询类接口配置模块,用于配置资源查询类接口,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,实现资源隔离。
进一步的,所述类型设置模块还用于设置资源隔离类型,所述资源隔离类型包括:所有租户共享、所有租户非自建权限共享、租户内共享和租户内非自建资源共享。
进一步的,所述检测策略获取模块包括:隔离检测抽象单元和隔离检测实现单元,所述隔离检测抽象单元用于抽象出资源隔离检测接口,编写实现入参为资源ID和当前用户的检测方法以及获取隔离类型的方法;所述隔离检测实现单元用于编写根据资源ID获取资源归属的抽象方法和编写实现各种资源隔离检测的具体方法,以配置所述资源隔离检测接口的实现抽象类和具体实现类,得到资源隔离检测策略。
进一步的,所述操作类接口配置模块包括:注解配置单元和检测资源单元,所述注解配置单元用于在资源操作类接口类上通过注解配置需要隔离校验的资源隔离类型、对应的资源ID和对应的资源参数名称;所述检测资源单元用于获取所述资源操作类接口与所述资源隔离检测策略对应的资源隔离检测注解;根据所述资源隔离检测注解的资源隔离类型获取资源隔离检测策略的具体实现类,同时调用入参为资源ID和当前用户的检测方法,以检测传入的资源。
进一步的,查询类接口配置模块还用于所述资源查询类接口根据资源ID查询存储的数据库,获得资源表对应前缀;根据当前用户、资源表对应前缀和资源隔离检测类型调用所述过滤策略方法,所述过滤策略方法根据资源隔离检测类型调用对应的数据库过滤查询条件,以过滤所述第一资源数据。
进一步的,所述过滤策略获取模块还用于抽象出资源过滤策略接口,根据所述资源隔离类型配置所述资源过滤策略接口的过滤策略方法实现类,得到资源隔离过滤策略。
进一步,还包括隔离策略接口配置模块,用于抽象出资源隔离策略接口,实现所述资源隔离策略接口的资源隔离策略配置方法、资源隔离检测方法和资源隔离过滤方法;其中,根据所述资源隔离检测接口和所述资源操作类接口实现所述资源隔离检测方法,根据所述资源过滤策略接口和所述资源查询类接口实现所述资源隔离过滤方法。
在第三方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的支持多种策略的云平台资源隔离框架实现方法。
本申请实施例通过设置资源隔离类型,配置对应的资源隔离检测策略和资源隔离过滤策略,对资源操作类接口进行资源隔离检测注解,资源操作类接口调用资源隔离检测策略对传入的资源进行检测,资源查询类接口调用资源隔离过滤策略对所述第一资源数据进行过滤,实现资源的隔离;避免功能业务代码中夹杂着太多非功能性代码使得代码逻辑结构复杂不易维护的问题,不需要再去关注如何实现隔离的逻辑,同时维护简单,修改隔离策略类型即可更换隔离方式。
附图说明
图1是本申请实施例提供的一种支持多种策略的云平台资源隔离框架实现方法的流程图;
图2是本申请实施例提供的另一种支持多种策略的云平台资源隔离框架实现方法的流程图;
图3是本申请实施例提供的另一种支持多种策略的云平台资源隔离框架实现装置的结构图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请提供的支持多种策略的云平台资源隔离框架实现的方法通过设置资源隔离类型,配置对应的资源隔离检测策略和资源隔离过滤策略,对资源操作类接口进行资源隔离检测注解,资源操作类接口调用资源隔离检测策略对传入的资源进行检测,资源查询类接口调用资源隔离过滤策略对所述第一资源数据进行过滤,实现资源的隔离;避免功能业务代码中夹杂着太多非功能性代码使得代码逻辑结构复杂不易维护的问题,不需要再去关注如何实现隔离的逻辑,同时维护简单。
多租户技术,是一种软件架构技术,是实现如何在多用户环境下共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。在当下云计算时代,多租户技术在共用的数据中心以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍可以保障客户的数据隔离。云平台资源主要由云服务器、云盘、快照、虚拟路由、虚拟交换机、虚拟私有云、负载均衡、虚拟网卡、弹性IP、安全组、镜像、映像等资源组成,对于不同的资源它们的隔离策略不一样,比如云服务器、云盘、快照、虚拟网卡、弹性IP这些适合租户内非自建权限共享,而且如果资源权限为自建的用户则只能操作租户内并且自建的资源;虚拟路由、虚拟交换机、虚拟私有云、安全组这些则适合租户内共享,即不管用户角色的资源权限是自建还是所有,只要是在同一个租户下的即可以操作这些资源;而外网资源、镜像、映像则是跨租户共享。面对不同资源不同的隔离策略,提供本申请实施例的支持多种策略的云平台资源隔离框架实现方法。
实施例中提供的支持多种策略的云平台资源隔离框架实现方法可以由支持多种策略的云平台资源隔离框架实现装置执行,该支持多种策略的云平台资源隔离框架实现装置可以通过软件和/或硬件的方式实现,并集成在支持多种策略的云平台资源隔离框架实现设备中。其中,支持多种策略的云平台资源隔离框架实现设备可以是计算机等设备。
图1为本申请实施例提供的一种支持多种策略的云平台资源隔离框架实现方法的流程图。参考图1,该支持多种策略的云平台资源隔离框架实现方法具体包括:
步骤110、设置资源隔离类型。
具体的,资源隔离类型包括所有租户共享(ALL_TENANT_SELF)、所有租户非自建权限共享(ALL_TENANT)、租户内共享(ALL_TENANT_SELF)和租户内非自建资源共享(IN_TENANT)等4种类型。
可选的,设置资源隔离类型之后,抽象出一个资源隔离策略接口,实现所述资源隔离策略接口的资源隔离配置方法、资源隔离检测方法和资源隔离过滤方法;其中,资源隔离检测方法为入参为资源归属和当前用户的资源隔离检测方法。
其中,根据所述资源隔离检测接口和所述资源操作类接口实现所述资源隔离检测方法,根据所述资源过滤策略接口和所述资源查询类接口实现所述资源隔离过滤方法。
示例性的,资源隔离配置方法是在具体的实现类中配置对应的隔离策略,目前隔离策略有4种,分别为:所有租户非自建权限共享,不管是否自建资源权限,用户均可操作;所有租户共享,自建资源权限,用户非自建资源不可操作;租户内非自建资源共享,不管是否自建资源权限,用户均可操作;租户内共享,自建资源权限,用户非自建资源不可操作。
资源隔离检测方法,用于资源操作类接口隔离检测使用,针对不同的隔离策略,该检测逻辑有所不同,如所有租户非自建权限共享隔离策略的检测逻辑为所有的都通过检测;所有租户共享隔离策略的检测逻辑为,如果是自建资源权限角色的用户,并且资源所属用户与该用户不相同时,则检测不通过;租户内非自建资源共享隔离策略的检测逻辑为,资源的所属租户与用户关联租户为同一个时,则可通过检测;租户内共享隔离策略的检测逻辑为资源的所属租户与用户关联租户为同一个,而且当用户资源权限为所有或者为自建时该资源所属用户和当前用户为同一个时,可通过检测。
资源隔离过滤方法,用于资源查询类接口的过滤,针对不同的隔离策略拼接出不同过滤条件的SQL模型,前文所述的各种隔离策略对应的隔离过滤逻辑为:所有租户非自建权限共享隔离策略的过滤逻辑为所有;所有租户共享隔离策略的过滤逻辑为如果是自建资源权限角色的用户,需要加上资源所属用户与当前用户相同的过滤;租户内非自建资源共享隔离策略的过滤逻辑为资源的所属租户与用户关联租户相同;租户内共享隔离策略的过滤逻辑为资源的所属租户与用户关联租户为相同,而且当用户资源权限为自建时还需添加该资源所属用户和当前用户为同一个的过滤条件。
步骤120、获取资源隔离检测策略,并结合所述资源隔离类型配置对应的资源隔离检测策略类型。
示例性的,抽象出资源隔离检测接口,配置所述资源隔离检测接口的实现抽象类和具体实现类,得到资源隔离检测策略;具体的,抽象出一个资源隔离检测接口,对资源隔离检测接口进行编写一个实现检测的具体方法和一个根据资源ID获取资源归属的抽象方法来配置实现抽象类,编写各种资源的具体方法来配置具体实现类,得到资源隔离检测策略,并结合所述资源隔离类型配置对应的资源隔离检测策略类型。
步骤130、配置资源操作类接口,根据所述资源隔离检测策略类型对所述资源操作类接口进行配置资源隔离检测注解,根据所述资源隔离检测注解来调用对应的所述资源隔离检测策略,以检测传入的资源,获得第一资源数据。
示例性的,抽象出一个资源操作类接口,在资源操作类接口上通过注解配置需要隔离校验的资源类型和对应的资源ID和资源参数名称,实现配置资源隔离检测注解,根据是否配置有资源隔离检测的注解来调用资源隔离检测,从而实现对传入的资源进行检测;其中,资源类型、资源ID和资源参数名称可以根据需求进行设置。
步骤140、获取资源隔离过滤策略。
具体的,抽象出资源过滤策略接口,根据所述资源隔离类型配置所述资源过滤策略接口的过滤策略方法实现类,得到资源隔离过滤策略;示例性的,过滤策略方法为:
Filter Policy Model SQL Model=filter Policy.filter Policy(currentUser,"i.",Resource Isolation CheckType.INSTANCE)。
根据资源隔离检测类型获取对应的资源隔离过滤策略进而调用对应资源隔离过滤策略中的资源过滤方法资源筛选器,根据过滤策略方法返回的SQL模型与数据库查询层中的查询语句进行整合,进而实现资源隔离查询。
步骤150、配置资源查询类接口,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,实现资源隔离。
示例性的,调用对应资源隔离过滤策略中的资源过滤方法资源筛选器,根据过滤策略方法返回的SQL模型与数据库查询层中的查询语句进行整合,获得过滤条件,以过滤所述第一资源数据,实现资源隔离。
在上述实施例的基础上,图2给出了本申请实施例提供的另一种支持多种策略的云平台资源隔离框架实现方法的流程图。该支持多种策略的云平台资源隔离框架实现方法是对上述支持多种策略的云平台资源隔离框架实现方法的具体化。参考图2,该支持多种策略的云平台资源隔离框架实现方法包括:
步骤210、抽象出资源隔离检测接口,编写实现入参为资源ID和当前用户的检测方法以及获取隔离类型的方法。
具体的,抽象出一个资源隔离检测接口,编写输入参数为资源ID和当前用户的检测方法,以及编写获取隔离类型的方法,可以理解的是,这两种方法都属于实现抽象类。
步骤220、编写根据资源ID获取资源归属的抽象方法和编写实现各种资源隔离检测的具体方法,以配置所述资源隔离检测接口的实现抽象类和具体实现类,得到资源隔离检测策略。
具体的,对资源隔离检测接口编写根据资源ID获得资源归属(即资源创建者)的抽象方法,编写实现各自资源隔离检测的具体方法。
示例性的,根据资源ID获取资源归属的抽象方法其中的一个检测的具体方法为:
第一步:通过获取资源归属方法获取资源归属,如果资源归属为空,则抛异常“找不到操作的资源”。
第二步:判断当前用户是否是超级管理员角色,如果不是,则下一步;如果是,调到第四步;
第三步:用户不是超级管理员角色,通过隔离类型检测类和获取隔离类型方法获取到对应的检测实现类并执行检测方法,系统根据每个接口配置的资源类型,调用对应的资源隔离检测实现类,并通过该资源隔离检测实现类配置的隔离类型调用不同的资源隔离策略来实现不同的检测;隔离类型检测类中在系统启动时会自动扫描所有实现了隔离类型检测接口的实现类,并将这些类用隔离类型和对应实现类保存在内存中,以备系统后续通过隔离类型检测接获得获取隔离类型调用,隔离类型检测类中也提供了一个通过隔离类型来获取检测实现类的方法。
第四步:用户是超级管理员角色,则判断当前用户的租户ID参数是否不为空,不为空则判断当前的租户ID是否与资源归属的租户ID相同,不同则抛异常“当前用户没有权限操作该资源”。
示例性的,编写实现各种资源隔离检测的具体方法,并配置对应的资源隔离检测策略类型,例如:
第一步、获取资源归属方法,通过虚拟机的数据库操作类获取虚拟机资源记录并返回资源的所属租户ID和所属用户ID;
第二步、通过获取隔离类型方法,配置虚拟机资源的隔离策略类型,如虚拟机资源是租户内非自建权限共享,则为
步骤230、在资源操作类接口类上通过注解配置需要隔离校验的资源隔离类型、对应的资源ID和对应的资源参数名称。
具体的,根据获取的资源隔离检测策略来对资源操作类接口进行注解配置,其中,根据对需要隔离校验的资源隔离类型、对应的资源ID和对应的资源参数名称来进行资源隔离检测策略的对应注解配置。
示例性的,如:
@Resource Isolation Check(resource Isolation Check Type=ResourceIsolation CheckType.INSTANCE,resource Id Field="instanceId")
步骤240、获取所述资源操作类接口与所述资源隔离检测策略对应的资源隔离检测注解。
示例性的,判断对应资源操作类接口上有没有注解为资源隔离检测的配置,有则获取出来,可为多个。
步骤250、根据所述资源隔离检测注解的资源隔离类型获取资源隔离检测策略的具体实现类,同时调用入参为资源ID和当前用户的检测方法,以检测传入的资源。
示例性的,循环注解为资源隔离检测的配置,根据注解配置的资源参数名称利用反射原理获取出资源ID,还有根据注解配置的资源隔离检测类型获取到具体的资源隔离检测实现类,将资源ID和当前用户作为入参调用对应具体实现类的检测方法,通过检测则继续往下执行;检测不通过,则抛异常“当前用户没有权限操作该资源”。
步骤260、所述资源查询类接口根据资源ID查询存储的数据库,获得资源表对应前缀。
具体的,第一资源数据包含检测后的资源以及该资源对应的资源ID、资源隔离类型和当前用户等多种数据,资源查询类接口根据资源ID查询的数据库,获得资源表对应前缀;其中,数据库为预设的包含资源的多种数据的对应关系,可以理解的,本申请实施例对此不作限定;
步骤270、根据当前用户、资源表对应前缀和资源隔离检测类型调用所述过滤策略方法,所述过滤策略方法根据资源隔离检测类型调用对应的数据库过滤查询条件,以过滤所述第一资源数据。
具体的,过滤策略方法可以根据需求进行设置,其中,所述过滤策略方法根据资源隔离检测类型调用对应的数据库过滤查询条件,以过滤所述第一资源数据,数据库存储有设置的过滤策略方法对应的过滤查询条件,如过滤策略方法对应的查询代码,获取该查询代码,进行运行,实现对第一资源数据进行过滤。
示例性的,第一步、过滤策略方法为:FilterPolicy Model SQL Model=FilterPolicy.FilterPolicy(Current User,"i.",Resource Isolation CheckType.INSTANCE);
第二步、判断过滤策略方法中当前用户是否为超级管理员角色;
第三步、若为超级管理员角色,则判断租户ID是否为空,如果不为空,则添加ANDprefix+“tenant_id=?”的过滤条件;如果为空,则添加AND 1=1;
第四步、若为非超级管理员角色,根据资源隔离检测类型获取对应的隔离策略进而调用对应隔离策略中的资源过滤方法Resource Filter;
第五步、根据过滤策略方法返回的SQL模型与数据库查询层中的查询语句进行整合,进而实现资源隔离查询。
以上步骤并不是严格按照编号描述的顺序依次执行,其应作为一个整体方案进行理解。
在上述实施例的基础上,图3为本申请实施例提供的一种支持多种策略的云平台资源隔离框架实现装置的结构示意图。参考图3,本实施例提供的图像处理装置具体包括:类型设置模块301、检测策略获取模块302、操作类接口配置模块303、过滤策略获取模块304和查询类接口配置模块305。
其中,类型设置模块301用于设置资源隔离类型;所述检测策略获取模块302用于获取资源隔离检测策略,并结合所述资源隔离类型配置对应的资源隔离检测策略类型;所述操作类接口配置模块303用于配置资源操作类接口,根据所述资源隔离检测策略类型对所述资源操作类接口进行配置资源隔离检测注解,根据所述资源隔离检测注解来调用对应的所述资源隔离检测策略,以检测传入的资源,获得第一资源数据;所述过滤策略获取模块304用于获取资源隔离过滤策略;所述查询类接口配置模块305用于配置资源查询类接口,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,实现资源隔离。
进一步的,所述类型设置模块301还用于设置资源隔离类型,所述资源隔离类型包括:所有租户共享、所有租户非自建权限共享、租户内共享和租户内非自建资源共享。
进一步的,所述检测策略获取模块302包括:隔离检测抽象单元和隔离检测实现单元,所述隔离检测抽象单元用于抽象出资源隔离检测接口,编写实现入参为资源ID和当前用户的检测方法以及获取隔离类型的方法;所述隔离检测实现单元用于编写根据资源ID获取资源归属的抽象方法和编写实现各种资源隔离检测的具体方法,以配置所述资源隔离检测接口的实现抽象类和具体实现类,得到资源隔离检测策略。
进一步的,所述操作类接口配置模块303包括:注解配置单元和检测资源单元,所述注解配置单元用于在资源操作类接口类上通过注解配置需要隔离校验的资源隔离类型、对应的资源ID和对应的资源参数名称;所述检测资源单元用于获取所述资源操作类接口与所述资源隔离检测策略对应的资源隔离检测注解;根据所述资源隔离检测注解的资源隔离类型获取资源隔离检测策略的具体实现类,同时调用入参为资源ID和当前用户的检测方法,以检测传入的资源。
进一步的,查询类接口配置模块305还用于所述资源查询类接口根据资源ID查询存储的数据库,获得资源表对应前缀;根据当前用户、资源表对应前缀和资源隔离检测类型调用所述过滤策略方法,所述过滤策略方法根据资源隔离检测类型调用对应的数据库过滤查询条件,以过滤所述第一资源数据。
进一步的,所述过滤策略获取模块304还用于抽象出资源过滤策略接口,根据所述资源隔离类型配置所述资源过滤策略接口的过滤策略方法实现类,得到资源隔离过滤策略。
进一步,还包括隔离策略接口配置模块,用于抽象出资源隔离策略接口,实现所述资源隔离策略接口的资源隔离策略配置方法、资源隔离检测方法和资源隔离过滤方法;其中,根据所述资源隔离检测接口和所述资源操作类接口实现所述资源隔离检测方法,根据所述资源过滤策略接口和所述资源查询类接口实现所述资源隔离过滤方法。
上述,本申请实施例通过设置资源隔离类型,配置对应的资源隔离检测策略和资源隔离过滤策略,对资源操作类接口进行资源隔离检测注解,资源操作类接口调用资源隔离检测策略对传入的资源进行检测,资源查询类接口调用资源隔离过滤策略对所述第一资源数据进行过滤,实现资源的隔离;避免功能业务代码中夹杂着太多非功能性代码使得代码逻辑结构复杂不易维护的问题,不需要再去关注如何实现隔离的逻辑,同时维护简单。
本申请实施例提供的支持多种策略的云平台资源隔离框架实现装置可以用于执行上述实施例提供的支持多种策略的云平台资源隔离框架实现方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种支持多种策略的云平台资源隔离框架实现方法,该支持多种策略的云平台资源隔离框架实现方法包括:设置资源隔离类型;获取资源隔离检测策略,并结合所述资源隔离类型配置对应的资源隔离检测策略类型;配置资源操作类接口,根据所述资源隔离检测策略类型对所述资源操作类接口进行配置资源隔离检测注解,根据所述资源隔离检测注解来调用对应的所述资源隔离检测策略,以检测传入的资源,获得第一资源数据;
获取资源隔离过滤策略;配置资源查询类接口,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,实现资源隔离。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的支持多种策略的云平台资源隔离框架实现方法,还可以执行本申请任意实施例所提供的支持多种策略的云平台资源隔离框架实现方法中的相关操作。
上述实施例中提供的支持多种策略的云平台资源隔离框架实现装置、存储介质及计算机设备可执行本申请任意实施例所提供的支持多种策略的云平台资源隔离框架实现方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的支持多种策略的云平台资源隔离框架实现方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (10)
1.一种支持多种策略的云平台资源隔离框架实现方法,其特征在于,所述方法包括以下步骤:
设置资源隔离类型;
获取资源隔离检测策略,并结合所述资源隔离类型配置对应的资源隔离检测策略类型;
配置资源操作类接口,根据所述资源隔离检测策略类型对所述资源操作类接口进行配置资源隔离检测注解,根据所述资源隔离检测注解来调用对应的所述资源隔离检测策略,以检测传入的资源,获得第一资源数据;
获取资源隔离过滤策略;
配置资源查询类接口,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,实现资源隔离。
2.根据权利要求1所述的支持多种策略的云平台资源隔离框架实现方法,其特征在于,所述资源隔离类型包括:所有租户共享、所有租户非自建权限共享、租户内共享和租户内非自建资源共享。
3.根据权利要求1所述的支持多种策略的云平台资源隔离框架实现方法,其特征在于,所述获取资源隔离检测策略,包括:
抽象出资源隔离检测接口,编写实现入参为资源ID和当前用户的检测方法以及获取隔离类型的方法;
编写根据资源ID获取资源归属的抽象方法和编写实现各种资源隔离检测的具体方法,以配置所述资源隔离检测接口的实现抽象类和具体实现类,得到资源隔离检测策略。
4.根据权利要求3所述的支持多种策略的云平台资源隔离框架实现方法,其特征在于,所述对所述资源操作类接口进行配置资源隔离检测注解,包括:
在资源操作类接口类上通过注解配置需要隔离校验的资源隔离类型、对应的资源ID和对应的资源参数名称。
5.根据权利要求4所述的支持多种策略的云平台资源隔离框架实现方法,其特征在于,所述根据所述资源隔离检测注解来调用对应的所述资源隔离检测策略,以检测传入的资源,包括:
获取所述资源操作类接口与所述资源隔离检测策略对应的资源隔离检测注解;
根据所述资源隔离检测注解的资源隔离类型获取资源隔离检测策略的具体实现类,同时调用入参为资源ID和当前用户的检测方法,以检测传入的资源。
6.根据权利要求5所述的支持多种策略的云平台资源隔离框架实现方法,其特征在于,所述获取资源隔离过滤策略类,包括:
抽象出资源过滤策略接口,根据所述资源隔离类型配置所述资源过滤策略接口的过滤策略方法实现类,得到资源隔离过滤策略。
7.根据权利要求6所述的支持多种策略的云平台资源隔离框架实现方法,其特征在于,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,包括:
所述资源查询类接口根据资源ID查询存储的数据库,获得资源表对应前缀;
根据当前用户、资源表对应前缀和资源隔离检测类型调用所述过滤策略方法,所述过滤策略方法根据资源隔离检测类型调用对应的数据库过滤查询条件,以过滤所述第一资源数据。
8.根据权利要求1-7任一项所述的支持多种策略的云平台资源隔离框架实现方法,其特征在于,所述设置资源隔离类型之后,还包括:
抽象出资源隔离策略接口,实现所述资源隔离策略接口的资源隔离策略配置方法、资源隔离检测方法和资源隔离过滤方法;
其中,根据所述资源隔离检测接口和所述资源操作类接口实现所述资源隔离检测方法,根据所述资源过滤策略接口和所述资源查询类接口实现所述资源隔离过滤方法。
9.一种支持多种策略的云平台资源隔离框架实现装置,其特征在于,包括:
类型设置模块,用于设置资源隔离类型;
检测策略获取模块,用于获取资源隔离检测策略,并结合所述资源隔离类型配置对应的资源隔离检测策略类型;
操作类接口配置模块,用于配置资源操作类接口,根据所述资源隔离检测策略类型对所述资源操作类接口进行配置资源隔离检测注解,根据所述资源隔离检测注解来调用对应的所述资源隔离检测策略,以检测传入的资源,获得第一资源数据;
过滤策略接口配置模块,用于获取资源隔离过滤策略;
查询类接口配置模块,用于配置资源查询类接口,所述资源查询类接口根据所述第一资源数据调用所述资源隔离过滤策略,以过滤所述第一资源数据,实现资源隔离。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8任一所述的一种支持多种策略的云平台资源隔离框架实现方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011599738.6A CN112637232B (zh) | 2020-12-29 | 2020-12-29 | 支持多种策略的云平台资源隔离框架实现方法及装置 |
PCT/CN2021/085331 WO2022141915A1 (zh) | 2020-12-29 | 2021-04-02 | 支持多种策略的云平台资源隔离框架实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011599738.6A CN112637232B (zh) | 2020-12-29 | 2020-12-29 | 支持多种策略的云平台资源隔离框架实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637232A true CN112637232A (zh) | 2021-04-09 |
CN112637232B CN112637232B (zh) | 2022-09-27 |
Family
ID=75287625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011599738.6A Active CN112637232B (zh) | 2020-12-29 | 2020-12-29 | 支持多种策略的云平台资源隔离框架实现方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112637232B (zh) |
WO (1) | WO2022141915A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467817A (zh) * | 2021-07-14 | 2021-10-01 | 广域铭岛数字科技有限公司 | 一种应用管理方法、系统、介质及电子终端 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140150066A1 (en) * | 2012-11-26 | 2014-05-29 | International Business Machines Corporation | Client based resource isolation with domains |
CN105830394A (zh) * | 2014-11-27 | 2016-08-03 | 华为技术有限公司 | 虚拟网络策略的配置方法、系统及其虚拟网元和网管系统 |
CN106411857A (zh) * | 2016-09-07 | 2017-02-15 | 河海大学 | 一种基于虚拟隔离机制的私有云gis服务访问控制方法 |
CN106528215A (zh) * | 2016-10-25 | 2017-03-22 | 广东亿迅科技有限公司 | 基于java的动态加载命令的方法及装置 |
CN109710428A (zh) * | 2018-12-27 | 2019-05-03 | 杭州数梦工场科技有限公司 | 一种实现类的动态调用方法及装置 |
US20190334757A1 (en) * | 2018-04-30 | 2019-10-31 | Oracle International Corporation | Cross-cloud operation management |
CN110532074A (zh) * | 2019-08-08 | 2019-12-03 | 北明云智(武汉)网软有限公司 | 一种多租户模式SaaS服务集群环境的任务调度方法及系统 |
CN110795091A (zh) * | 2018-08-01 | 2020-02-14 | 武汉斗鱼网络科技有限公司 | 一种模块化路由解耦方法、存储介质、电子设备及系统 |
CN111641675A (zh) * | 2020-04-28 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 多租户访问服务实现方法、装置、设备及存储介质 |
CN112000686A (zh) * | 2020-08-14 | 2020-11-27 | 北京金和网络股份有限公司 | 多租户数据共享的管理方法、装置和系统及数据管理设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10855688B2 (en) * | 2014-12-16 | 2020-12-01 | Netapp Inc. | Multi-tenant security in the cloud |
-
2020
- 2020-12-29 CN CN202011599738.6A patent/CN112637232B/zh active Active
-
2021
- 2021-04-02 WO PCT/CN2021/085331 patent/WO2022141915A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140150066A1 (en) * | 2012-11-26 | 2014-05-29 | International Business Machines Corporation | Client based resource isolation with domains |
CN105830394A (zh) * | 2014-11-27 | 2016-08-03 | 华为技术有限公司 | 虚拟网络策略的配置方法、系统及其虚拟网元和网管系统 |
CN106411857A (zh) * | 2016-09-07 | 2017-02-15 | 河海大学 | 一种基于虚拟隔离机制的私有云gis服务访问控制方法 |
CN106528215A (zh) * | 2016-10-25 | 2017-03-22 | 广东亿迅科技有限公司 | 基于java的动态加载命令的方法及装置 |
US20190334757A1 (en) * | 2018-04-30 | 2019-10-31 | Oracle International Corporation | Cross-cloud operation management |
CN110795091A (zh) * | 2018-08-01 | 2020-02-14 | 武汉斗鱼网络科技有限公司 | 一种模块化路由解耦方法、存储介质、电子设备及系统 |
CN109710428A (zh) * | 2018-12-27 | 2019-05-03 | 杭州数梦工场科技有限公司 | 一种实现类的动态调用方法及装置 |
CN110532074A (zh) * | 2019-08-08 | 2019-12-03 | 北明云智(武汉)网软有限公司 | 一种多租户模式SaaS服务集群环境的任务调度方法及系统 |
CN111641675A (zh) * | 2020-04-28 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 多租户访问服务实现方法、装置、设备及存储介质 |
CN112000686A (zh) * | 2020-08-14 | 2020-11-27 | 北京金和网络股份有限公司 | 多租户数据共享的管理方法、装置和系统及数据管理设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467817A (zh) * | 2021-07-14 | 2021-10-01 | 广域铭岛数字科技有限公司 | 一种应用管理方法、系统、介质及电子终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2022141915A9 (zh) | 2022-09-22 |
CN112637232B (zh) | 2022-09-27 |
WO2022141915A1 (zh) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7168759B2 (ja) | ハイパーレッジャファブリックブロックチェーンにおいてsqlベースのリッチクエリをサポートするためのシステムおよび方法 | |
EP3652886B1 (en) | Blockchain | |
Van Steen et al. | A brief introduction to distributed systems | |
US11132278B2 (en) | Application programming interface security validation for system integration testing | |
US9047136B2 (en) | Method and system for migrating the state of a virtual cluster | |
US20180307524A1 (en) | Executing code referenced from a microservice registry | |
US8959484B2 (en) | System for hosted, shared, source control build | |
US9749445B2 (en) | System and method for updating service information for across-domain messaging in a transactional middleware machine environment | |
US10678657B1 (en) | Reversion operations for virtual computing environments | |
CN112714018B (zh) | 基于网关的ElasticSearch搜索服务方法、系统、介质及终端 | |
CN110913024B (zh) | 云平台信息同步方法、系统、控制设备及存储介质 | |
US20110239219A1 (en) | Protecting shared resources using shared memory and sockets | |
US20180302500A1 (en) | Environment isolation method and device | |
CN109491725A (zh) | 应用程序可交互多开方法和系统、存储介质、电子设备 | |
Behl et al. | Providing fault-tolerant execution of web-service-based workflows within clouds | |
CN114189525B (zh) | 服务请求方法、装置和电子设备 | |
CN113821268A (zh) | 一种与OpenStack Neutron融合的Kubernetes网络插件方法 | |
CN112637232B (zh) | 支持多种策略的云平台资源隔离框架实现方法及装置 | |
US10104163B1 (en) | Secure transfer of virtualized resources between entities | |
US20180359317A1 (en) | System and method for non-intrusive context correlation across cloud services | |
CN111723401A (zh) | 数据访问权限控制方法、装置、系统、存储介质及设备 | |
CN112130900B (zh) | 一种bmc的用户信息管理方法、系统、设备以及介质 | |
CN115134367A (zh) | 云平台和业务处理方法 | |
US10157124B1 (en) | Method, apparatus, and system for managing data storage with an application programming interface | |
US9841929B1 (en) | Distributed system software infrastructure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |