掌桥专利:专业的专利平台
掌桥专利
首页

多租户数据隔离方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 10:19:37


多租户数据隔离方法、装置、计算机设备及存储介质

技术领域

本发明涉及云部署技术领域,具体涉及一种多租户数据隔离方法、装置、计算机设备及存储介质。

背景技术

在云计算时代,应用被放到云端,随着客户和业务的增长,在常规情况下,软件运营商需要为N个租户创建N个Web服务器及N个数据库,并为N个租户部署相同的应用程序N次,增加了运营商的运营成本和维护复杂度,同时也不能快速交付产品给租户。

因此,单租户架构已经不能再满足多租户在云端上共享应用和资源的业务场景。

发明内容

鉴于以上内容,有必要提出一种多租户数据隔离方法、装置、计算机设备及存储介质,能够在物理层为多租户配置隔离区实现数据的隔离。

本发明的第一方面提供一种多租户数据隔离方法,所述方法包括:

在云服务器的后端部署单个应用实例;

当验证租户注册成功时,获取所述租户的标识码并通过所述单个应用实例根据所述标识码为所述租户配置隔离数据库;

接收到所述租户的应用操作请求时,通过面向切面编程拦截所述应用操作请求,并对所述应用操作请求进行解析得到数据源;

识别与所述数据源对应的目标隔离数据库;

根据所述应用操作请求对所述目标隔离数据库进行操作。

根据本发明的一个可选的实施例,所述根据所述标识码为所述租户配置隔离数据库包括:

获取所述标识码中的租户标识及群体信息;

根据所述租户标识配置数据隔离区;

根据所述群体信息在所述数据隔离区中创建数据库。

根据本发明的一个可选的实施例,所述对所述应用操作请求进行解析得到数据源包括:

通过面向切面编程解析出所述应用操作请求中需要选择的数据源;

在需要选择数据源的业务方法上添加注解,并在所述注解的属性中指定数据源标识;

拦截带有所述注解的业务方法,以执行所述数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量;

通过所述业务方法根据所述线程上下文环境变量,选择与所述业务方法对应的数据源。

根据本发明的一个可选的实施例,所述根据所述应用操作请求对所述目标隔离数据库进行操作包括:

当所述应用操作请求为用户数据写入请求时,获取网络服务质量;

确定与所述网络服务质量对应的切片策略;

采用所述切片策略对所述数据进行切片得到多个切片数据;

将所述多个切片数据逐次写入所述目标隔离数据库中。

根据本发明的一个可选的实施例,所述根据所述应用操作请求对所述目标隔离数据库进行操作包括:

当所述应用操作请求为用户数据读取请求时,获取所述用户的操作权限;

根据所述操作权限确定是否允许所述用户读取数据;

当确定允许所述用户读取数据时,从所述目标隔离数据库中读取出数据并返回给所述用户。

根据本发明的一个可选的实施例,所述方法还包括:

获取数据源的数据;

将所述数据源的数据中不可复用数据写入消息队列;

将所述数据源的数据中可复用数据写入所述隔离数据库。

根据本发明的一个可选的实施例,所述方法还包括:

响应于所述租户的服务到期时,移除所述隔离分区中的隔离数据库。

本发明的第二方面提供一种多租户数据隔离装置,所述装置包括:

部署模块,用于在云服务器的后端部署单个应用实例;

配置模块,用于当验证租户注册成功时,获取所述租户的标识码并通过所述单个应用实例根据所述标识码为所述租户配置隔离数据库;

解析模块,用于接收到所述租户的应用操作请求时,通过面向切面编程拦截所述应用操作请求,并对所述应用操作请求进行解析得到数据源;

识别模块,用于识别与所述数据源对应的目标隔离数据库;

操作模块,用于根据所述应用操作请求对所述目标隔离数据库进行操作。

本发明的第三方面提供一种计算机设备,所述计算机设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现所述的多租户数据隔离方法。

本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的多租户数据隔离方法。

综上所述,本发明所述的多租户数据隔离方法、装置、计算机设备及存储介质,通过在云服务器的后端部署单个应用实例,并通过所述单个应用实例根据不同租户的标识码为所述租户配置隔离数据库,在接收到所述租户的应用操作请求时,通过面向切面编程拦截所述应用操作请求,并对所述应用操作请求进行解析得到数据源;识别与所述数据源对应的目标隔离数据库;根据所述应用操作请求对所述目标隔离数据库进行操作。采用前后端分离的模式,使多租户的场景可以实现后端服务复用,从而在保证较低的开发维护成本前提下,既能充分满足多租户的个性化需求,又能通过故障隔离的手段屏蔽多租户之间服务的相互影响。

附图说明

图1是本发明实施例一提供的多租户数据隔离方法的流程图。

图2是本发明实施例提供的多租户数据隔离的示意图。

图3是本发明实施例二提供的多租户数据隔离装置的结构图。

图4是本发明实施例三提供的计算机设备的结构示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

图1是本发明实施例一提供的多租户数据隔离方法的流程图。所述的多租户数据隔离方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。

S11,在云服务器的后端部署单个应用实例。

软件运营商将云服务器平台或者开发环境作为服务提供给租户,在后台服务器上运行单个应用实例的同时,为多个租户提供服务,有效减少了租户的应用成本。

S12,当验证租户注册成功时,获取所述租户的标识码并通过所述单个应用实例根据所述标识码为所述租户配置隔离数据库。

隔离数据库指的是一个租户独享一个数据库实例,租户的数据彼此物理不可见,从而使得备份与恢复都很灵活。

租户在发起注册请求时,会通过注册请求携带标识码,所述标识码包括租户的租户标识及租户的群体信息。

在一个可选的实施例中,所述根据所述标识码为所述租户配置隔离数据库包括:

获取所述标识码中的租户标识及群体信息;

根据所述租户标识配置数据隔离区;

根据所述群体信息在所述数据隔离区中创建数据库。

该可选的实施例中,所述群体信息用以表示租户中的用户体量,用户体量越大,表明租户中的用户人数较多,需要处理的数据的量也越大,用户体量越小,表明租户中的用户人数较少,需要处理的数据的量也越少。

为不同的租户配置不同的数据隔离区,能够在物理上实现数据隔离,保护数据的安全;根据用户体量的大小,创建不同大小的数据库,既能满足租户的需求,也能节省云服务器的资源。

S13,接收到所述租户的应用操作请求时,通过面向切面编程拦截所述应用操作请求,并对所述应用操作请求进行解析得到数据源。

其中,所述应用操作请求可以包括,但不限于:数据读取请求,数据写入请求。

面向切面编程(Aspect Oriented Programming,AOP)为通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

在一个可选的实施例中,所述对所述应用操作请求进行解析得到数据源包括:

通过面向切面编程解析出所述应用操作请求中需要选择的数据源;

在需要选择数据源的业务方法上添加注解,并在所述注解的属性中指定数据源标识;

拦截带有所述注解的业务方法,以执行所述数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量;

通过所述业务方法根据所述线程上下文环境变量,选择与所述业务方法对应的数据源。

通过切面拦截带有注解的业务方法,以通过执行切面中的数据源选择逻辑,得到与数据源标识对应的线程上下文环境变量;业务方法根据线程上下文环境变量,选择与业务方法对应的数据源。

该实施方式能够减少重复的数据源选择逻辑代码,减少对业务代码的侵入,降低数据源选择代码与业务代码的耦合度,可以灵活配置动态数据源选择,实现统一管理数据源的动态切换,可以根据指定策略来确定数据源,不仅满足基本管理需求,还可以满足扩展需求,降低集成成本,提高开发效率。

S14,识别与所述数据源对应的目标隔离数据库。

计算机设备中预先存储有数据源与隔离分区之间的对应关系,确定了数据源,即可得知隔离分区,从而确定出目标隔离数据库。

S15,根据所述应用操作请求对所述目标隔离数据库进行操作。

在一个可选的实施例中,所述根据所述应用操作请求对所述目标隔离数据库进行操作包括:

当所述应用操作请求为用户数据写入请求时,获取网络服务质量;

确定与所述网络服务质量对应的切片策略;

采用所述切片策略对所述数据进行切片得到多个切片数据;

将所述多个切片数据逐次写入所述目标隔离数据库中。

网络服务质量较佳时,可以不对数据进行切片,或者对数据进行少量切片;当网络服务质量较差时,对数据进行多次切片。

通过网络服务质量对数据进行切片后再写入数据库中,能够充分的利用网络资源又可快速的写入数据。

在一个可选的实施例中,所述根据所述应用操作请求对所述目标隔离数据库进行操作包括:

当所述应用操作请求为用户数据读取请求时,获取所述用户的操作权限;

根据所述操作权限确定是否允许所述用户读取数据;

当确定允许所述用户读取数据时,从所述目标隔离数据库中读取出数据并返回给所述用户。

每个租户还包括多个用户,租户在注册时,可以为每个用户配置不同的操作权限,例如,读写权限,修改权限等。

当租户中的用户具备读取权限时,方可允许用户读取对应数据库中的数据,如此,确保了数据库中的数据的安全性。

在一个可选的实施例中,所述方法还包括:

响应于所述租户的服务到期时,移除所述隔离分区中的隔离数据库。

该可选的实施例中,每个租户还可以订阅服务期限,云服务器监控租户的服务期限,并在服务期限到期时,将与租户相关的隔离分区及隔离分区中的隔离数据库均移除,从而腾出更多的存储资源,以更好的服务其他租户,或者服务于新的租户。

在一个可选的实施例中,所述方法还包括:

获取数据源的数据;

将所述数据源的数据中不可复用数据写入消息队列;

将所述数据源的数据中可复用数据写入所述隔离数据库。

该可选的实施例中,通过将数据源的数据区分为可复用数据和不可复用数据,将不可复用数据写入消息队列中,及将可复用数据写入隔离数据库,实现了可复用数据和不可复用数据的分区。将数据进行分区,便于对数据的恢复。

本发明实施例,通过在云服务器的后端部署单个应用实例,并通过所述单个应用实例根据不同租户的标识码为所述租户配置隔离数据库,在接收到所述租户的应用操作请求时,通过面向切面编程拦截所述应用操作请求,并对所述应用操作请求进行解析得到数据源;识别与所述数据源对应的目标隔离数据库;根据所述应用操作请求对所述目标隔离数据库进行操作。采用前后端分离的模式,使多租户的场景可以实现后端服务复用,从而在保证较低的开发维护成本前提下,既能充分满足多租户的个性化需求,又能通过故障隔离的手段屏蔽多租户之间服务的相互影响。

所述方法可应用于智慧政务中,促进智慧城市的发展。

为便于更清楚的理解本发明的技术方案,下面结合图2来具体描述:

假设有三个租户,例如,公司A、公司B及公司C为发展业务需求向好律师应用程序的运营商申请使用好律师应用程序的服务及其资源,好律师应用程序的运营商首先在云服务器的后端部署好律师应用程序(单个应用实例),通过将好律师应用程序以单个应用实例部署在云服务器的后端,避免为这三个租户创建三个Web服务器。由于每个租户首次使用好律师应用程序时需要先进行注册,注册时提交了能够表明身份信息的标识码,好律师应用程序根据不同租户的标识码为所述租户配置隔离数据库。如图2中,为公司A配置数据隔离区,为公司B配置数据隔离区,为公司C配置数据隔离区,其中,公司A数据隔离区、公司B数据隔离区及公司C数据隔离区在物理上是隔离的。当接收到任意一个租户,例如公司A的应用操作请求时,通过面向切面编程执行数据源选择逻辑,确定公司A数据隔离区作为目标数据源,根据所述应用操作请求对公司A数据隔离区中的数据库进行操作。

图3是本发明实施例二提供的多租户数据隔离装置的结构图。

在一些实施例中,所述多租户数据隔离装置30可以包括多个由计算机程序段所组成的功能模块。所述多租户数据隔离装置30中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)多租户数据隔离的功能。

本实施例中,所述多租户数据隔离装置30根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:部署模块301、配置模块302、解析模块303、识别模块304、操作模块305、移除模块306、获取模块307及写入模块308。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。

所述部署模块301,用于在云服务器的后端部署单个应用实例。

软件运营商将云服务器平台或者开发环境作为服务提供给租户,在后台服务器上运行单个应用实例的同时,为多个租户提供服务,有效减少了租户的应用成本。

所述配置模块302,用于当验证租户注册成功时,获取所述租户的标识码并通过所述单个应用实例根据所述标识码为所述租户配置隔离数据库。

隔离数据库指的是一个租户独享一个数据库实例,租户的数据彼此物理不可见,从而使得备份与恢复都很灵活。

租户在发起注册请求时,会通过注册请求携带标识码,所述标识码包括租户的租户标识及租户的群体信息。

在一个可选的实施例中,所述配置模块302根据所述标识码为所述租户配置隔离数据库包括:

获取所述标识码中的租户标识及群体信息;

根据所述租户标识配置数据隔离区;

根据所述群体信息在所述数据隔离区中创建数据库。

该可选的实施例中,所述群体信息用以表示租户中的用户体量,用户体量越大,表明租户中的用户人数较多,需要处理的数据的量也越大,用户体量越小,表明租户中的用户人数较少,需要处理的数据的量也越少。

为不同的租户配置不同的数据隔离区,能够在物理上实现数据隔离,保护数据的安全;根据用户体量的大小,创建不同大小的数据库,既能满足租户的需求,也能节省云服务器的资源。

所述解析模块303,用于接收到所述租户的应用操作请求时,通过面向切面编程拦截所述应用操作请求,并对所述应用操作请求进行解析得到数据源。

其中,所述应用操作请求可以包括,但不限于:数据读取请求,数据写入请求。

面向切面编程(Aspect Oriented Programming,AOP)为通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

在一个可选的实施例中,所述解析模块303对所述应用操作请求进行解析得到数据源包括:

通过面向切面编程解析出所述应用操作请求中需要选择的数据源;

在需要选择数据源的业务方法上添加注解,并在所述注解的属性中指定数据源标识;

拦截带有所述注解的业务方法,以执行所述数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量;

通过所述业务方法根据所述线程上下文环境变量,选择与所述业务方法对应的数据源。

通过切面拦截带有注解的业务方法,以通过执行切面中的数据源选择逻辑,得到与数据源标识对应的线程上下文环境变量;业务方法根据线程上下文环境变量,选择与业务方法对应的数据源。

该实施方式能够减少重复的数据源选择逻辑代码,减少对业务代码的侵入,降低数据源选择代码与业务代码的耦合度,可以灵活配置动态数据源选择,实现统一管理数据源的动态切换,可以根据指定策略来确定数据源,不仅满足基本管理需求,还可以满足扩展需求,降低集成成本,提高开发效率。

所述识别模块304,用于识别与所述数据源对应的目标隔离数据库。

计算机设备中预先存储有数据源与隔离分区之间的对应关系,确定了数据源,即可得知隔离分区,从而确定出目标隔离数据库。

所述操作模块305,用于根据所述应用操作请求对所述目标隔离数据库进行操作。

在一个可选的实施例中,所述操作模块305根据所述应用操作请求对所述目标隔离数据库进行操作包括:

当所述应用操作请求为用户数据写入请求时,获取网络服务质量;

确定与所述网络服务质量对应的切片策略;

采用所述切片策略对所述数据进行切片得到多个切片数据;

将所述多个切片数据逐次写入所述目标隔离数据库中。

网络服务质量较佳时,可以不对数据进行切片,或者对数据进行少量切片;当网络服务质量较差时,对数据进行多次切片。

通过网络服务质量对数据进行切片后再写入数据库中,能够充分的利用网络资源又可快速的写入数据。

在一个可选的实施例中,所述操作模块305根据所述应用操作请求对所述目标隔离数据库进行操作包括:

当所述应用操作请求为用户数据读取请求时,获取所述用户的操作权限;

根据所述操作权限确定是否允许所述用户读取数据;

当确定允许所述用户读取数据时,从所述目标隔离数据库中读取出数据并返回给所述用户。

每个租户还包括多个用户,租户在注册时,可以为每个用户配置不同的操作权限,例如,读写权限,修改权限等。

当租户中的用户具备读取权限时,方可允许用户读取对应数据库中的数据,如此,确保了数据库中的数据的安全性。

所述移除模块306,用于响应于所述租户的服务到期时,移除所述隔离分区中的隔离数据库。

该可选的实施例中,每个租户还可以订阅服务期限,云服务器监控租户的服务期限,并在服务期限到期时,将与租户相关的隔离分区及隔离分区中的隔离数据库均移除,从而腾出更多的存储资源,以更好的服务其他租户,或者服务于新的租户。

所述获取模块307,用于获取数据源的数据。

所述写入模块308,用于将所述数据源的数据中不可复用数据写入消息队列;将所述数据源的数据中可复用数据写入所述隔离数据库。

该可选的实施例中,通过将数据源的数据区分为可复用数据和不可复用数据,将不可复用数据写入消息队列中,及将可复用数据写入隔离数据库,实现了可复用数据和不可复用数据的分区。将数据进行分区,便于对数据的恢复。

本发明实施例,通过在云服务器的后端部署单个应用实例,并通过所述单个应用实例根据不同租户的标识码为所述租户配置隔离数据库,在接收到所述租户的应用操作请求时,通过面向切面编程拦截所述应用操作请求,并对所述应用操作请求进行解析得到数据源;识别与所述数据源对应的目标隔离数据库;根据所述应用操作请求对所述目标隔离数据库进行操作。采用前后端分离的模式,使多租户的场景可以实现后端服务复用,从而在保证较低的开发维护成本前提下,既能充分满足多租户的个性化需求,又能通过故障隔离的手段屏蔽多租户之间服务的相互影响。

所述方法可应用于智慧政务中,促进智慧城市的发展。

为便于更清楚的理解本发明的技术方案,下面结合图2来具体描述:

假设有三个租户,例如,公司A、公司B及公司C为发展业务需求向好律师应用程序的运营商申请使用好律师应用程序的服务及其资源,好律师应用程序的运营商首先在云服务器的后端部署好律师应用程序(单个应用实例),通过将好律师应用程序以单个应用实例部署在云服务器的后端,避免为这三个租户创建三个Web服务器。由于每个租户首次使用好律师应用程序时需要先进行注册,注册时提交了能够表明身份信息的标识码,好律师应用程序根据不同租户的标识码为所述租户配置隔离数据库。如图2中,为公司A配置数据隔离区,为公司B配置数据隔离区,为公司C配置数据隔离区,其中,公司A数据隔离区、公司B数据隔离区及公司C数据隔离区在物理上是隔离的。当接收到任意一个租户,例如公司A的应用操作请求时,通过面向切面编程执行数据源选择逻辑,确定公司A数据隔离区作为目标数据源,根据所述应用操作请求对公司A数据隔离区中的数据库进行操作。

参阅图4所示,为本发明实施例三提供的计算机设备的结构示意图。在本发明较佳实施例中,所述计算机设备4包括存储器41、至少一个处理器42、至少一条通信总线43及收发器44。

本领域技术人员应该了解,图4示出的计算机设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结为构,所述计算机设备4还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。

在一些实施例中,所述计算机设备4是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的计算机设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述计算机设备4还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。

需要说明的是,所述计算机设备4仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。

在一些实施例中,所述存储器41中存储有计算机程序,所述计算机程序被所述至少一个处理器42执行时实现如所述的多租户数据隔离方法中的全部或者部分步骤。所述存储器41包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(ProgrammableRead-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

在一些实施例中,所述至少一个处理器42是所述计算机设备4的控制核心(Control Unit),利用各种接口和线路连接整个计算机设备4的各个部件,通过运行或执行存储在所述存储器41内的程序或者模块,以及调用存储在所述存储器41内的数据,以执行计算机设备4的各种功能和处理数据。例如,所述至少一个处理器42执行所述存储器中存储的计算机程序时实现本发明实施例中所述的多租户数据隔离方法的全部或者部分步骤;或者实现多租户数据隔离装置的全部或者部分功能。所述至少一个处理器42可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。

本实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述多租户数据隔离方法实施例中的步骤,例如图1所示的S11-S15:

S11,在云服务器的后端部署单个应用实例;

S12,当验证租户注册成功时,获取所述租户的标识码并通过所述单个应用实例根据所述标识码为所述租户配置隔离数据库;

S13,接收到所述租户的应用操作请求时,通过面向切面编程拦截所述应用操作请求,并对所述应用操作请求进行解析得到数据源;

S14,识别与所述数据源对应的目标隔离数据库;

S15,根据所述应用操作请求对所述目标隔离数据库进行操作。

或者,所述计算机程序被处理器执行时实现上述装置实施例中各模块的功能,例如图3中的模块301-308:

所述部署模块301,用于在云服务器的后端部署单个应用实例;

所述配置模块302,用于当验证租户注册成功时,获取所述租户的标识码并通过所述单个应用实例根据所述标识码为所述租户配置隔离数据库;

所述解析模块303,用于接收到所述租户的应用操作请求时,通过面向切面编程拦截所述应用操作请求,并对所述应用操作请求进行解析得到数据源;

所述识别模块304,用于识别与所述数据源对应的目标隔离数据库;

所述操作模块305,用于根据所述应用操作请求对所述目标隔离数据库进行操作;

所述移除模块306,用于响应于所述租户的服务到期时,移除所述隔离分区中的隔离数据库;

所述获取模块307,用于获取数据源的数据。

所述写入模块308,用于将所述数据源的数据中不可复用数据写入消息队列;将所述数据源的数据中可复用数据写入所述隔离数据库。

在一些实施例中,所述至少一条通信总线43被设置为实现所述存储器41以及所述至少一个处理器42等之间的连接通信。

尽管未示出,所述计算机设备4还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器42逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备4还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。

上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

相关技术
  • 多租户数据隔离方法、装置、计算机设备及存储介质
  • SaaS多租户数据隔离访问方法、装置、电子设备及存储介质
技术分类

06120112503022