CN114816676A - 用于实现低代码开发平台多租户部署的系统及方法 - Google Patents
用于实现低代码开发平台多租户部署的系统及方法 Download PDFInfo
- Publication number
- CN114816676A CN114816676A CN202210594606.7A CN202210594606A CN114816676A CN 114816676 A CN114816676 A CN 114816676A CN 202210594606 A CN202210594606 A CN 202210594606A CN 114816676 A CN114816676 A CN 114816676A
- Authority
- CN
- China
- Prior art keywords
- tenant
- platform
- environment
- creating
- basic
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本说明书涉及低代码平台技术领域,具体地公开了一种用于实现低代码开发平台多租户部署的系统及方法,其中,该系统包括低代码管理平台、租户创建引擎和容器云平台,所述低代码管理平台可以接收低代码开发平台的用户输入的租户创建请求,低代码管理平台可以将租户创建请求中携带的租户基础信息发送至租户创建引擎,租户创建引擎可以调用容器云平台的接口,以创建租户基础信息对应的租户环境,容器云平台用于响应于租户创建引擎的接口调用,创建所述租户环境,并将创建好的租户环境的信息返回给租户创建引擎。上述方案可以在租户创建引擎的调用下基于容器技术实现低代码开发平台多租户部署,可以保证不同开发者之间开发环境与开发数据的物理隔离。
Description
技术领域
本说明书涉及低代码开发平台技术领域,特别涉及一种用于实现低代码开发平台多租户部署的系统及方法。
背景技术
在云计算、云原生等技术的加持下,相较于传统的软件开发模式,低代码开发平台具有按需使用、门槛降低、周期缩短、部署简单、运维方便等优势,受到广大企业的青睐。但是,传统软件开发模式只需考虑单个用户的开发环境,即使需要多人协作开发的大型项目,也会有非常成熟的版本管理工具进行代码的控制,不涉及用户之间开发数据混乱的问题。而aPaaS(application Platform as a Service,应用程序平台即服务)范畴下的低代码开发平台,在使用时无需搭建自己的开发环境,不同开发者共用一套基础服务,按需进行定制。因此,开发环境与数据的隔离成为低代码平台需要解决的核心问题,即不同开发者之间的行为隔离和数据隔离问题。
现有的解决方案虽然对低代码开发平台的开发环境和数据进行了一定程度的隔离,但是依然存在缺陷。现有技术方案大多未采用多租户模式对开发环境和数据进行隔离,不同开发者的数据存储在同一介质中,一定程度上存在非授权访问的风险。而且,现有技术中的方案对平台使用者身份鉴别和权限控制策略提出更高的要求,稍有不慎,就会引起开发环境和数据的混乱,甚至导致开发环境不可用和用户数据丢失问题。此外,现有技术中的方案将不同客户的开发数据,特别是敏感数据一同存储,会引起客户对低代码开发平台安全性和稳定性的顾虑,进而降低客户的使用意愿。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种用于实现低代码开发平台多租户部署的系统及方法,以解决现有技术中采用多租户模式对开发环境和数据进行隔离的方案存在数据安全的问题。
本说明书实施例提供了一种用于实现低代码开发平台多租户部署的系统,包括:低代码管理平台、租户创建引擎和容器云平台;
所述低代码管理平台用于接收低代码开发平台的用户输入的租户创建请求;所述租户创建请求中携带有租户基础信息;所述低代码管理平台还用于将所述租户基础信息发送至所述租户创建引擎;
所述租户创建引擎用于调用所述容器云平台的接口,以创建所述租户基础信息对应的租户环境;
所述容器云平台用于响应于所述租户创建引擎的接口调用,创建所述租户环境,并将创建好的租户环境的信息返回给所述租户创建引擎。
在一个实施例中,所述低代码管理平台还用于对接收到的所述租户创建请求中的租户基础信息进行校验,在校验通过的情况下,将所述租户基础信息发送至所述租户创建引擎。
在一个实施例中,所述租户创建引擎用于调用所述容器云平台提供的创建命名空间接口,以创建所述租户基础信息对应的独立命名空间;所述租户创建引擎还用于调用所述容器云平台提供的服务创建接口,以在创建好的独立命名空间中创建基础服务;所述租户创建引擎还用于调用所述容器云平台提供的配置接口,以对创建好的基础服务进行配置。
在一个实施例中,所述租户创建引擎还用于按照预设的顺序依次调用创建好的基础服务,以确定所述基础服务是否可用,在确定所述基础服务可用的情况下,所述租户创建引擎对接收到的所述租户环境的信息进行写库处理。
在一个实施例中,所述租户创建引擎还用于在接收到租户基础信息之后,对所述租户基础信息进行写库处理,并将所述租户基础信息对应的租户状态变更为创建中;
所述租户创建引擎还用于在对接收到的所述租户环境的信息进行写库处理之后对创建好的租户环境进行连通性测试,在连通性测试通过之后,将所述租户基础信息对应的租户状态变更为运行中。
在一个实施例中,所述低代码管理平台还用于查询所述租户创建引擎中租户状态为运行中的租户环境,并向用户展示所述租户状态为运行中的租户环境的访问地址。
在一个实施例中,所述低代码管理平台还用于根据资源配额情况对所述租户环境所占用的资源进行动态调整。
在一个实施例中,所述容器云平台还用于为所述租户环境提供以下至少之一:自动运维功能、负载均衡功能、配置管理功能和服务编排功能。
本说明书实施例还提供了一种用于实现低代码开发平台多租户部署的方法,应用于租户创建引擎,包括:
接收低代码管理平台发送的租户基础信息;其中,所述租户基础信息是所述低代码管理平台响应于低代码开发平台的用户发送的租户创建请求发送的,所述租户创建请求中携带有所述租户基础信息;
调用容器云平台提供的创建命名空间接口,以创建所述租户基础信息对应的独立命名空间;调用所述容器云平台提供的服务创建接口,以在创建好的独立命名空间中创建基础服务;调用所述容器云平台提供的配置接口,以对创建好的基础服务进行配置,得到创建好的租户环境;
接收所述容器云平台返回的创建好的租户环境的信息。
在一个实施例中,在接收所述容器云平台返回的创建好的租户环境的信息之后,还包括:
按照预设的顺序依次调用创建好的基础服务,以确定所述基础服务是否可用;
在确定所述基础服务可用的情况下,对接收到的所述租户环境的信息进行写库处理。
在一个实施例中,在接收低代码管理平台发送的租户基础信息之后,还包括:
对所述租户基础信息进行写库处理;
将所述租户基础信息对应的租户状态变更为创建中。
在一个实施例中,在对接收到的所述租户环境的信息进行写库处理之后,还包括:
对创建好的租户环境进行连通性测试;
在连通性测试通过之后,将所述租户基础信息对应的租户状态变更为运行中。
本说明书实施例还提供了一种用于实现低代码开发平台多租户部署的装置,应用于租户创建引擎,包括:
第一接收模块,用于接收低代码管理平台发送的租户基础信息;其中,所述租户基础信息是所述低代码管理平台响应于低代码开发平台的用户发送的租户创建请求发送的,所述租户创建请求中携带有所述租户基础信息;
调用模块,用于调用容器云平台提供的创建命名空间接口,以创建所述租户基础信息对应的独立命名空间;调用所述容器云平台提供的服务创建接口,以在创建好的独立命名空间中创建基础服务;调用所述容器云平台提供的配置接口,以对创建好的基础服务进行配置,得到创建好的租户环境;
第二接收模块,用于接收所述容器云平台返回的创建好的租户环境的信息。
本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的用于实现低代码开发平台多租户部署的方法的步骤。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现上述任意实施例中所述的用于实现低代码开发平台多租户部署的方法的步骤。
本说明书实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述任意实施例中所述的用于实现低代码开发平台多租户部署的方法的步骤。
在本说明书实施例中,提供了一种用于实现低代码开发平台多租户部署的系统,包括低代码管理平台、租户创建引擎和容器云平台,所述低代码管理平台可以接收低代码开发平台的用户输入的租户创建请求,低代码管理平台可以将租户创建请求中携带的租户基础信息发送至租户创建引擎,租户创建引擎可以调用容器云平台的接口,以创建租户基础信息对应的租户环境,容器云平台用于响应于租户创建引擎的接口调用,创建所述租户环境,并将创建好的租户环境的信息返回给租户创建引擎。上述实施例中,容器云平台可以在租户创建引擎的调用下基于容器技术实现低代码开发平台多租户部署,可以保证不同开发者之间开发环境与开发数据的物理隔离,可以有效降低非授权访问的风险,可以保证用户数据安全,还可以避免引起开发环境和数据的混乱。同时,通过为不同的企业或者组织创建一套单独的租户环境,其中一个租户在使用中遇到问题,其他租户不会受到任何影响,更不必担心开发环境不稳定及数据丢失问题,因而可以提升低代码平台的安全性和稳定性。进一步地,利用容器技术,租户可以共用一套底层资源,仅仅将上层的服务进行隔离,这样一来,既节省了成本,也满足了不同开发者之间开发环境和数据的隔离性问题。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
图1示出了本说明书一实施例中用于实现低代码开发平台多租户部署的系统的结构示意图;
图2示出了本说明书一实施例中低代码管理平台与低代码多租户之间的关系示意图;
图3示出了本说明书一实施例中的用于实现低代码开发平台多租户部署的方法的流程图;
图4示出了本说明书一实施例中的用于实现低代码开发平台多租户部署的方法的交互流程图;
图5示出了本说明书一实施例中的用于实现低代码开发平台多租户部署的装置的示意图;
图6示出了本说明书一实施例中的计算机设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书,而并非以任何方式限制本说明书的范围。相反,提供这些实施方式是为了使本说明书公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本说明书实施例提供了一种用于实现低代码开发平台多租户部署的系统。本说明书实施例中,所述系统可以包括:低代码管理平台、租户创建引擎和容器云平台。所述低代码管理平台用于接收低代码开发平台的用户输入的租户创建请求;所述租户创建请求中携带有租户基础信息;所述低代码管理平台还用于将所述租户基础信息发送至所述租户创建引擎。所述租户创建引擎用于调用所述容器云平台的接口,以创建所述租户基础信息对应的租户环境。所述容器云平台用于响应于所述租户创建引擎的接口调用,创建所述租户环境,并将创建好的租户环境的信息返回给所述租户创建引擎。
上述实施例中,容器云平台可以在租户创建引擎的调用下基于容器技术实现低代码开发平台多租户部署,可以保证不同开发者之间开发环境与开发数据的物理隔离,可以有效降低非授权访问的风险,可以保证用户数据安全,还可以避免引起开发环境和数据的混乱。同时,通过为不同的企业或者组织创建一套单独的租户环境,其中一个租户在使用中遇到问题,其他租户不会受到任何影响,更不必担心开发环境不稳定及数据丢失问题,因而可以提升低代码平台的安全性和稳定性。进一步地,利用容器技术,租户可以共用一套底层资源,仅仅将上层的服务进行隔离,这样一来,既节省了成本,也满足了不同开发者之间开发环境和数据的隔离性问题。
图1示出了本说明书一实施例中用于实现低代码开发平台多租户部署的系统的结构示意图。如图1所示,一种用于实现低代码开发平台多租户部署的系统可以包括:低代码管理平台101、租户创建引擎102和容器云平台103。
本实施例中,所述低代码管理平台101可以用于接收低代码开发平台的用户输入的租户创建请求。所述租户创建请求中携带有租户基础信息。所述租户基础信息可以包括以下至少之一:租户名称、租户编码、租户密码、租户所使用的低代码平台版本信息等。所述低代码管理平台还可以用于将所述租户基础信息发送至所述租户创建引擎102。
在本说明书的一些实施例中,所述低代码管理平台101还可以用于对接收到的所述租户创建请求中的租户基础信息进行校验。在校验通过的情况下,将所述租户基础信息发送至所述租户创建引擎。在一个实施例中,低代码管理平台可以确定提供的信息有没有被已存在的租户占用,可以确定租户名称和租户编码等是否包含特殊字符、长度是否满足要求,还可以确定租户所提供的版本是否可用。若提供的信息没有被已存在的租户占用,名称和编码不包含特殊字符、长度满足要求,并且版本可用,则校验通过。通过提前校验,可以提高租户创建的成功率和有效性。
所述租户创建引擎102可以用于调用所述容器云平台103的接口,以创建所述租户基础信息对应的租户环境。
所述容器云平台103可以响应于所述租户创建引擎的接口调用,创建所述租户环境,并将创建好的租户环境的信息返回给所述租户创建引擎102。
容器云平台103可以基于容器技术为租户创建租户环境。在本说明书一些实施例中,所述租户创建引擎用于在所述容器云平台的环境中利用Docker为代表的容器技术和以Kubernetes为代表的容器编排技术进行租户环境的创建。
在本说明书一些实施例中,所述租户创建引擎可以调用所述容器云平台提供的创建命名空间接口,以创建所述租户基础信息对应的独立命名空间。命名空间简单的来说提供的就是全局资源的一种抽象,将资源放到不同的命名空间中,各个命名空间中的资源是相互隔离的。
所述租户创建引擎还可以调用所述容器云平台提供的服务创建接口,以在创建好的独立命名空间中创建基础服务。命名空间创建完成后,租户创建引擎还可以调用所述容器云平台提供的服务创建接口,在该命名空间下创建数据库和必要的中间件、部署开发设计器、应用开发生命周期管理、元数据等服务。
所述租户创建引擎还可以调用所述容器云平台提供的配置接口,以对创建好的基础服务进行配置。租户创建引擎可以调用容器云平台的创建ConfigMap接口,对服务的环境变量、配置文件等进行配置,以提供服务的运行环境。
在本说明书一些实施例中,所述租户创建引擎还可以用于按照预设的顺序依次调用创建好的基础服务,以确定所述基础服务是否可用,在确定所述基础服务可用的情况下,所述租户创建引擎对接收到的所述租户环境的信息进行写库处理。
在本说明书一些实施例中,所述租户创建引擎还可以用于在接收到租户基础信息之后,对所述租户基础信息进行写库处理,并将所述租户基础信息对应的租户状态变更为创建中。所述租户创建引擎还可以用于在对接收到的所述租户环境的信息进行写库处理之后对创建好的租户环境进行连通性测试,在连通性测试通过之后,将所述租户基础信息对应的租户状态变更为运行中。
在本说明书一些实施例中,所述低代码管理平台还可以用于查询所述租户创建引擎中租户状态为运行中的租户环境,并向用户展示所述租户状态为运行中的租户环境的访问地址,通过该地址即可进行租户开发环境的访问和使用。
在本说明书一些实施例中,所述低代码管理平台还可以用于根据资源配额情况对所述租户环境所占用的资源进行动态调整。请参考图2,示出了低代码管理平台与多租户之间的关系图。如图2所示,低代码管理平台可以对多个租户环境进行整体的维护和管控。低代码管理平台的作用主要是对相互隔离的租户环境进行整体的管控和维护,并且需要开发平台的使用者在管理平台提出租户环境创建申请,才能进行租户开发环境的创建,并且根据资源配额情况进行租户环境的动态调整,起到统筹规划、统一管理、动态调整的作用。
在本说明书一些实施例中,所述容器云平台还可以用于为所述租户环境提供以下至少之一:自动运维功能、负载均衡功能、配置管理功能和服务编排功能。容器云平台的作用主要是对租户环境进行托管,为低代码租户的开发环境提供自动化运维、负载均衡、配置管理和服务编排等能力。
图3示出了本说明书一实施例中用于实现低代码开发平台多租户部署的方法的流程图,应用于租户创建引擎。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体地,如图3所示,本说明书一种实施例提供的用于实现低代码开发平台多租户部署的方法可以包括以下步骤:
步骤S301,接收低代码管理平台发送的租户基础信息;其中,所述租户基础信息是所述低代码管理平台响应于低代码开发平台的用户发送的租户创建请求发送的,所述租户创建请求中携带有所述租户基础信息。
步骤S302,调用容器云平台提供的创建命名空间接口,以创建所述租户基础信息对应的独立命名空间;调用所述容器云平台提供的服务创建接口,以在创建好的独立命名空间中创建基础服务;调用所述容器云平台提供的配置接口,以对创建好的基础服务进行配置,得到创建好的租户环境。
步骤S303,接收所述容器云平台返回的创建好的租户环境的信息。
在本说明书一些实施例中,在接收所述容器云平台返回的创建好的租户环境的信息之后,还可以包括:按照预设的顺序依次调用创建好的基础服务,以确定所述基础服务是否可用;在确定所述基础服务可用的情况下,对接收到的所述租户环境的信息进行写库处理。
在本说明书一些实施例中,在接收低代码管理平台发送的租户基础信息之后,还可以包括:对所述租户基础信息进行写库处理;将所述租户基础信息对应的租户状态变更为创建中。
在本说明书一些实施例中,在对接收到的所述租户环境的信息进行写库处理之后,还可以包括:对创建好的租户环境进行连通性测试;在连通性测试通过之后,将所述租户基础信息对应的租户状态变更为运行中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本说明书,并不构成对本说明书的不当限定。
本具体实施例提供了一种基于容器技术实现低代码开发平台多租户部署的方法。本实施例中,基于容器技术实现低代码开发平台多租户部署,可以保证不同开发者之间开发环境与开发数据的物理隔离,为不同的企业或者组织创建一套单独的租户环境,其中一个租户在使用中遇到问题,其他租户不会受到任何影响,更不必担心开发环境不稳定及数据丢失问题。利用容器技术,租户可以共用一套底层资源,仅仅将上层的服务进行隔离,这样一来,既节省了成本,也满足了不同开发者之间开发环境和数据的隔离性问题。
总体上来说,通过以Docker为代表的容器技术和以Kubernetes为代表的容器编排技术,为使用低代码开发平台的每个租户创建一个独立的命名空间,在租户独有的命名空间下,将低代码开发中用到的设计器、应用开发生命周期管理、元数据等服务以及租户独有的存储介质进行部署,为使用低代码开发平台的租户开辟一个相对独立的开发环境和数据存储介质。并且,通过建立管理平台,也可以实现对各个租户环境的统一管控和维护,根据租户需要,动态的进行资源配置和升级,为租户提供定制化的开发能力。
通过以上方式,既降低了用户身份鉴别和权限控制策略的难度,也利用容器技术对开发资源进行个隔离,避免了租户间用户非授权访问的风险。并且,租户间的数据单独存储,也打消了客户对于敏感数据共存的顾虑。从而使客户能够在安全、稳定、独立的平台上进行低代码应用的开发。
从具体开发的角度而言,技术人员首先需要将低代码开发平台使用者提供的租户申请信息,保存到管理平台对应的租户信息表中,然后根据这些基础信息调用指定容器云平台提供的创建命名空间接口,利用容器技术为租户开辟一个独立的命名空间。命名空间创建完成后,需要在该命名空间下创建数据库和必要的中间件,部署开发设计器、应用开发生命周期管理、元数据等服务,并对服务进行相应的配置,然后按照既定的启动顺序启动服务。等服务全部创建完成并启动成功后,获取该租户所占的资源配额及访问地址,并将上述信息返回给管理平台,进行写库处理,最后进行租户环境的连通性测试,保证新创建租户环境的可用性。
其中,为租户创建完命名空间后,利用容器技术在指定容器云平台创建服务并启动的过程是最重要也是该过程的难点所在。因为只有在服务正常创建,并且挂载好对应的配置文件后,才能按照既定顺序进行启动,期间可能会受到网络不稳定,资源配额不足,服务没有按照既定顺序调起,配置文件挂载失败等问题的影响,导致整个租户环境创建失败。
本实施例中的方法主要由低代码管理平台、租户创建引擎、容器云平台实现。
管理平台的作用主要是对相互隔离的租户环境进行整体的管控和维护,并且需要开发平台的使用者在管理平台提出租户环境创建申请,才能进行租户开发环境的创建,并且根据资源配额情况进行租户环境的动态调整,起到统筹规划、统一管理、动态调整的作用。
租户创建引擎的作用主要是根据用户实际需求,在指定的容器云平台环境中利用以Docker容器技术和以Kubernetes为代表的容器编排技术,为平台使用者开辟一套相对独立的开发环境。
容器云平台的作用主要是对租户环境进行托管,为低代码租户开发环境提供自动化运维、负载均衡、配置管理和服务编排等能力。
请参考图4,示出了本具体实施例中的用于实现低代码平台多租户部署的方法的流程图。如图4所示,本具体实施例中的方法的具体实现步骤如下:
步骤1,低代码开发平台的使用者在管理平台填写租户基础信息,并提交管理员进行审核。
步骤2,管理平台管理员对租户提交的信息进行审核,审核通过后方可进行租户环境的申请,否则退回给使用者。
步骤3,平台管理员根据使用者提交的基础信息进行租户环境的申请,租户创建引擎接收到基础信息后,首先将租户信息写库,写库成功后,将租户状态变更为创建中,并异步调用容器云平台接口,进行租户环境的创建。
步骤4,租户创建引擎调用容器云平台提供的创建命名空间接口,为平台使用者创建独立的命名空间。
步骤5,租户创建引擎调用容器云平台服务创建接口,依次创建数据库、中间件、开发设计器、应用开发生命周期管理、元数据等服务。
步骤6,上述服务创建成功以后,租户创建引擎会调用容器云平台创建ConfigMap接口,对服务的环境变量、配置文件等进行配置,以提供服务的运行环境。
步骤7,按照既定顺序依次调起服务,确保服务可用。
步骤8,服务调起后,租户创建引擎接收容器云平台返回的租户环境信息,并将相应的信息进行写库处理,完善租户信息。
步骤9,对新创建的租户环境进行连通性测试,测试成功后,将该租户创建中的状态改为运行中。此时,管理平台会展示租户环境的地址,通过该地址即可进行租户开发环境的访问和使用。
可以理解的是,还可以在流程中加入失败重试机制以及创建中断后能够从失败处继续执行的机制。引入失败重试机制可以降低网络抖动、容器云平台接口不稳定等问题引起的风险,提高系统的鲁棒性。引入创建中断后能够从失败处继续执行机制可以减少技术人员的运维成本,为用户提供更好的使用体验。
本具体实施例,提供了一种在低代码开发领域中采用多租户模式进行开发环境与数据间的隔离的构思,借助容器技术,在未增加大量资源成本的前提下,将不同租户间开发环境与数据进行隔离,避免了非授权访问,误操作引起开发环境混乱等问题;在低代码领域引入了一种通过管理平台对多租户环境统一管理与维护的机制。现有解决方案大多从组织和用户的角度入手,对低代码开发环境及数据进行隔离,数据都存储在一起,仅仅通过组织ID或用户ID的标识进行区分,这种方案虽然一定程度上可以实现平台的隔离性,但是由于数据都是存在一起的,因此,会有非授权访问的风险,实际使用中,甚至会出现A用户上传了某个个性化的组件,引起整个开发环境不可用的情况。本方案引入多租户模式,并借助于容器技术进行实现,不同租户共用平台的基础资源,只对上层的服务进行隔离,既控制了成本,又保证了租户环境的隔离性,避免了不同开发者之间非授权访问等一系列安全问题的产生,增加了低代码开发平台的稳定性和安全性。
基于同一发明构思,本说明书实施例中还提供了一种用于实现低代码开发平台多租户部署的装置,应用于租户创建引擎,如下面的实施例所述。由于用于实现低代码开发平台多租户部署的装置解决问题的原理与用于实现低代码开发平台多租户部署的方法相似,因此用于实现低代码开发平台多租户部署的装置的实施可以参见用于实现低代码开发平台多租户部署的方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图5是本说明书实施例的用于实现低代码开发平台多租户部署的装置的一种结构框图,如图5所示,包括:第一接收模块501、调用模块502和第二接收模块503,下面对该结构进行说明。
第一接收模块501用于接收低代码管理平台发送的租户基础信息;其中,所述租户基础信息是所述低代码管理平台响应于低代码开发平台的用户发送的租户创建请求发送的,所述租户创建请求中携带有所述租户基础信息。
调用模块502用于调用容器云平台提供的创建命名空间接口,以创建所述租户基础信息对应的独立命名空间;调用所述容器云平台提供的服务创建接口,以在创建好的独立命名空间中创建基础服务;调用所述容器云平台提供的配置接口,以对创建好的基础服务进行配置,得到创建好的租户环境。
第二接收模块503用于接收所述容器云平台返回的创建好的租户环境的信息。
在本说明书一些实施例中,该装置还包括确定模块,确定模块具体用于:在接收所述容器云平台返回的创建好的租户环境的信息之后,按照预设的顺序依次调用创建好的基础服务,以确定所述基础服务是否可用;在确定所述基础服务可用的情况下,对接收到的所述租户环境的信息进行写库处理。
在本说明书一些实施例中,第一接收模块还可以用于:在接收低代码管理平台发送的租户基础信息之后,对所述租户基础信息进行写库处理;将所述租户基础信息对应的租户状态变更为创建中。
在本说明书一些实施例中,所述确定模块还可以用于:在对接收到的所述租户环境的信息进行写库处理之后,对创建好的租户环境进行连通性测试;在连通性测试通过之后,将所述租户基础信息对应的租户状态变更为运行中。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:容器云平台可以在租户创建引擎的调用下基于容器技术实现低代码开发平台多租户部署,可以保证不同开发者之间开发环境与开发数据的物理隔离,可以有效降低非授权访问的风险,可以保证用户数据安全,还可以避免引起开发环境和数据的混乱。同时,通过为不同的企业或者组织创建一套单独的租户环境,其中一个租户在使用中遇到问题,其他租户不会受到任何影响,更不必担心开发环境不稳定及数据丢失问题,因而可以提升低代码平台的安全性和稳定性。进一步地,利用容器技术,租户可以共用一套底层资源,仅仅将上层的服务进行隔离,这样一来,既节省了成本,也满足了不同开发者之间开发环境和数据的隔离性问题。
本说明书实施方式还提供了一种计算机设备,具体可以参阅图6所示的基于本说明书实施例提供的用于实现低代码开发平台多租户部署的方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备61、处理器62、存储器63。其中,所述存储器63用于存储处理器可执行指令。所述处理器62执行所述指令时实现上述任意实施例中所述的用于实现低代码开发平台多租户部署的方法的步骤。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施方式中还提供了一种基于用于实现低代码开发平台多租户部署的方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被处理器执行时实现上述任意实施例中所述用于实现低代码开发平台多租户部署的方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述任意实施例中所述的基于低代码平台的方法的步骤。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本说明书的优选实施例而已,并不用于限制本说明书,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
Claims (15)
1.一种用于实现低代码开发平台多租户部署的系统,其特征在于,包括:低代码管理平台、租户创建引擎和容器云平台;
所述低代码管理平台用于接收低代码开发平台的用户输入的租户创建请求;所述租户创建请求中携带有租户基础信息;所述低代码管理平台还用于将所述租户基础信息发送至所述租户创建引擎;
所述租户创建引擎用于调用所述容器云平台的接口,以创建所述租户基础信息对应的租户环境;
所述容器云平台用于响应于所述租户创建引擎的接口调用,创建所述租户环境,并将创建好的租户环境的信息返回给所述租户创建引擎。
2.根据权利要求1所述的系统,其特征在于,所述低代码管理平台还用于对接收到的所述租户创建请求中的租户基础信息进行校验,在校验通过的情况下,将所述租户基础信息发送至所述租户创建引擎。
3.根据权利要求1所述的系统,其特征在于,所述租户创建引擎用于调用所述容器云平台提供的创建命名空间接口,以创建所述租户基础信息对应的独立命名空间;所述租户创建引擎还用于调用所述容器云平台提供的服务创建接口,以在创建好的独立命名空间中创建基础服务;所述租户创建引擎还用于调用所述容器云平台提供的配置接口,以对创建好的基础服务进行配置。
4.根据权利要求3所述的系统,其特征在于,所述租户创建引擎还用于按照预设的顺序依次调用创建好的基础服务,以确定所述基础服务是否可用,在确定所述基础服务可用的情况下,所述租户创建引擎对接收到的所述租户环境的信息进行写库处理。
5.根据权利要求4所述的系统,其特征在于,所述租户创建引擎还用于在接收到租户基础信息之后,对所述租户基础信息进行写库处理,并将所述租户基础信息对应的租户状态变更为创建中;
所述租户创建引擎还用于在对接收到的所述租户环境的信息进行写库处理之后对创建好的租户环境进行连通性测试,在连通性测试通过之后,将所述租户基础信息对应的租户状态变更为运行中。
6.根据权利要求5所述的系统,其特征在于,所述低代码管理平台还用于查询所述租户创建引擎中租户状态为运行中的租户环境,并向用户展示所述租户状态为运行中的租户环境的访问地址。
7.根据权利要求1所述的系统,其特征在于,所述低代码管理平台还用于根据资源配额情况对所述租户环境所占用的资源进行动态调整。
8.根据权利要求1所述的系统,其特征在于,所述容器云平台还用于为所述租户环境提供以下至少之一:自动运维功能、负载均衡功能、配置管理功能和服务编排功能。
9.一种用于实现低代码开发平台多租户部署的方法,其特征在于,应用于租户创建引擎,包括:
接收低代码管理平台发送的租户基础信息;其中,所述租户基础信息是所述低代码管理平台响应于低代码开发平台的用户发送的租户创建请求发送的,所述租户创建请求中携带有所述租户基础信息;
调用容器云平台提供的创建命名空间接口,以创建所述租户基础信息对应的独立命名空间;调用所述容器云平台提供的服务创建接口,以在创建好的独立命名空间中创建基础服务;调用所述容器云平台提供的配置接口,以对创建好的基础服务进行配置,得到创建好的租户环境;
接收所述容器云平台返回的创建好的租户环境的信息。
10.根据权利要求9所述的方法,其特征在于,在接收所述容器云平台返回的创建好的租户环境的信息之后,还包括:
按照预设的顺序依次调用创建好的基础服务,以确定所述基础服务是否可用;
在确定所述基础服务可用的情况下,对接收到的所述租户环境的信息进行写库处理。
11.根据权利要求9所述的方法,在接收低代码管理平台发送的租户基础信息之后,还包括:
对所述租户基础信息进行写库处理;
将所述租户基础信息对应的租户状态变更为创建中。
12.根据权利要求9所述的方法,其特征在于,其特征在于,在对接收到的所述租户环境的信息进行写库处理之后,还包括:
对创建好的租户环境进行连通性测试;
在连通性测试通过之后,将所述租户基础信息对应的租户状态变更为运行中。
13.一种计算机设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求9至12中任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时实现权利要求9至12中任一项所述方法的步骤。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求9至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594606.7A CN114816676A (zh) | 2022-05-27 | 2022-05-27 | 用于实现低代码开发平台多租户部署的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594606.7A CN114816676A (zh) | 2022-05-27 | 2022-05-27 | 用于实现低代码开发平台多租户部署的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816676A true CN114816676A (zh) | 2022-07-29 |
Family
ID=82519537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210594606.7A Pending CN114816676A (zh) | 2022-05-27 | 2022-05-27 | 用于实现低代码开发平台多租户部署的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816676A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396511A (zh) * | 2022-08-24 | 2022-11-25 | 数字浙江技术运营有限公司 | 多租户的流程引擎创建、应用方法和系统 |
CN115858133A (zh) * | 2023-03-01 | 2023-03-28 | 北京仁科互动网络技术有限公司 | 批量数据的处理方法、装置、电子设备及存储介质 |
CN116680203A (zh) * | 2023-08-02 | 2023-09-01 | 北京白龙马云行科技有限公司 | 面向多租户的SaaS平台的测试方法、装置、设备和介质 |
CN116760705A (zh) * | 2023-08-18 | 2023-09-15 | 苏州思萃工业互联网技术研究所有限公司 | 基于综合能源管理系统的多租户平台隔离管理系统及方法 |
-
2022
- 2022-05-27 CN CN202210594606.7A patent/CN114816676A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396511A (zh) * | 2022-08-24 | 2022-11-25 | 数字浙江技术运营有限公司 | 多租户的流程引擎创建、应用方法和系统 |
CN115858133A (zh) * | 2023-03-01 | 2023-03-28 | 北京仁科互动网络技术有限公司 | 批量数据的处理方法、装置、电子设备及存储介质 |
CN115858133B (zh) * | 2023-03-01 | 2023-05-02 | 北京仁科互动网络技术有限公司 | 批量数据的处理方法、装置、电子设备及存储介质 |
CN116680203A (zh) * | 2023-08-02 | 2023-09-01 | 北京白龙马云行科技有限公司 | 面向多租户的SaaS平台的测试方法、装置、设备和介质 |
CN116680203B (zh) * | 2023-08-02 | 2024-05-03 | 北京白龙马云行科技有限公司 | 面向多租户的SaaS平台的测试方法、装置、设备和介质 |
CN116760705A (zh) * | 2023-08-18 | 2023-09-15 | 苏州思萃工业互联网技术研究所有限公司 | 基于综合能源管理系统的多租户平台隔离管理系统及方法 |
CN116760705B (zh) * | 2023-08-18 | 2023-10-31 | 苏州思萃工业互联网技术研究所有限公司 | 基于综合能源管理系统的多租户平台隔离管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114816676A (zh) | 用于实现低代码开发平台多租户部署的系统及方法 | |
CN109542611B (zh) | 数据库即服务系统、数据库调度方法、设备及存储介质 | |
CN106537338B (zh) | 自扩展云 | |
US10938668B1 (en) | Safe deployment using versioned hash rings | |
CN111338854B (zh) | 基于Kubernetes集群快速恢复数据的方法及系统 | |
CA2919839C (en) | Virtual computing instance migration | |
CN109120678A (zh) | 用于分布式存储系统的服务托管的方法和装置 | |
US9614931B2 (en) | Identifying a resource set require for a requested application and launching the resource set in a container for execution in a host operating system | |
US20150067167A1 (en) | Hot pluggable extensions for access management system | |
CN101276271A (zh) | 一种面向切面编程的拦截器系统及方法 | |
EP3274831A1 (en) | Application container for live migration of mobile applications | |
JP7493053B2 (ja) | イメージファイル生成方法、装置及びコンピュータプログラム | |
CN109799998B (zh) | OpenStack集群配置及批量部署方法及系统 | |
US11681585B2 (en) | Data migration for a shared database | |
CN111045781A (zh) | 一种云平台创建镜像的方法、装置和存储介质 | |
CN110928554A (zh) | 一种部署方法、装置、设备及存储介质 | |
US20240314021A1 (en) | Method, apparatus, electronic device and storage medium for resource operation | |
CN115499308A (zh) | 一种分布式ftp容器部署方法、装置、终端及存储介质 | |
CN104598309A (zh) | 基于os虚拟化的多模式os的系统和其创建、切换方法 | |
CN115113972A (zh) | 应用改造方法、系统、集群、介质及程序产品 | |
CN117076096A (zh) | 任务流程的执行方法、装置、计算机可读介质及电子设备 | |
WO2021097683A1 (zh) | 安卓系统启动的方法、装置、设备及存储介质 | |
CN109495298B (zh) | 在OpenStack系统中管理节点的方法和装置 | |
CN116225617A (zh) | 容器实例的管理迁移方法、装置和电子设备及存储介质 | |
CN116346728A (zh) | 低代码平台限流方法及装置 |
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 |