多租户数据共享系统及其管理方法、数据库部署方法技术方案

技术编号:24756091 阅读:23 留言:0更新日期:2020-07-04 09:09
本申请涉及信息技术领域,公开了一种多租户数据共享系统及其管理方法、数据库部署方法。本申请提供的多租户数据共享系统及其管理方法、数据库部署方法,能够实现将多租户的公共属性数据抽取出来,存储在第一数据库实例中的公共数据库中,租户的个性化和定制化数据作为私有数据存储在第二数据库实例中对应该租户的租户数据库中,使得多租户的数据能够有效隔离,安全性能高。

Multi tenant data sharing system and its management method and database deployment method

【技术实现步骤摘要】
多租户数据共享系统及其管理方法、数据库部署方法
本申请涉及信息
,具体而言,涉及一种多租户数据共享系统及其管理方法、数据库部署方法。
技术介绍
新零售云平台是基于SaaS(SoftwareasaService,软件即服务)的为多个运营商提供服务的平台,采用多租户方式为多个运营商提供服务。多租户是一种架构方法,新零售云平台应用程序服务多个租户,是在共用的数据中心以单一系统架构与服务提供给多个运营商相同甚至可定制化的服务,并且仍可以保障运营商的数据隔离,因此多租户的设计关键是数据的存储,在数据存储中要解决租户数据的共享和隔离。相关技术使用“共享数据库、共享数据架构”的方式存储多个租户的数据,共享数据库共享架构模式中,多个用户共享一个数据库,每个数据库包括多个数据表,每个数据表存储多个租户的数据,因此,相关技术的数据存储方式中,在同一个数据表中存储的不同租户的数据之间缺少隔离,数据的安全性能差。
技术实现思路
本申请的目的包括提供一种多租户数据共享系统及其管理方法、数据库部署方法,其能够更安全地对租户的相关数据进行管理。本申请的实施例可以这样实现:第一方面,本申请实施例提供一种多租户数据共享系统的管理方法,应用于多租户数据共享系统,多租户数据共享系统包括第一数据库实例和第二数据库实例,第一数据库实例包括公共数据库,公共数据库用于存储多个租户的公共属性数据,第二数据库实例包括至少一个租户数据库,每个租户数据库用于存储一个租户的私有数据,一个租户对应至少一个租户数据库,该方法包括:接收数据处理请求,其中,数据处理请求包括目标租户的标识和请求类型;根据数据处理请求确定目标数据库;针对目标数据库执行数据处理请求。在可选的实施例中,多租户数据共享系统还包括路由模块,第一数据库实例和第二数据库实例分别与路由模块进行数据交互,路由模块用于存储配置信息,其中,配置信息包括:至少一个租户的标识、第一数据库实例的标识、第一数据库实例的公共数据库的标识、第二数据库实例的标识、第二数据库实例的租户数据库的标识,以及每个租户的标识与上述标识的关联关系,根据数据处理请求确定目标数据库具体包括:根据数据处理请求中的目标租户的标识和路由模块中存储的配置信息确定目标数据库。在可选的实施例中,请求类型包括写数据和读数据,针对目标数据库执行数据处理请求,具体包括:当请求类型为写数据时,将接收到的目标租户的数据中的公共属性数据存储至第一数据库实例的公共数据库中,将目标租户的数据中的私有数据存储至第二数据库实例中目标租户对应的租户数据库中;当请求类型为读数据时,从公共数据库中读取公共属性数据,从目标租户对应的租户数据库中读取目标租户的私有数据。在可选的实施例中,公共数据库包括第一公共数据库和第二公共数据库,公共属性数据包括:多租户的共同属性数据和跨租户的统计数据;将接收到的目标租户的数据中的公共属性数据存储至第一数据库实例的公共数据库中,具体包括:将多租户的共同属性数据存储至第一公共数据库中;将跨租户的统计数据存储至第二公共数据库中。第二方面,本申请实施例提供一种多租户数据共享系统的数据库部署方法,多租户数据共享系统包括第一数据库实例和至少两个第二数据库实例,第一数据库实例包括公共数据库,公共数据库用于存储多个租户的公共属性数据,第二数据库实例包括至少一个租户数据库,每个租户数据库用于存储一个租户的私有数据,一个租户对应至少一个租户数据库,数据库部署方法包括:每隔第一预设时间检测每个第二数据库实例的负载值,判断是否存在超载的第二数据库实例,其中,当一个第二数据库实例的负载值大于预设负载阈值时,确定第二数据库实例为超载的第二数据库实例;当判定存在超载的第二数据库实例时,将超载的第二数据库实例中的至少一个租户数据库迁移到备选的第二数据库实例中。在可选的实施例中,将超载的第二数据库实例中的至少一个租户数据库迁移到备选的第二数据库实例中之前,数据库部署方法还包括:判断是否存在空闲的第二数据库实例,其中,当一个第二数据库实例的负载值与预设负载阈值的差值大于额定值时,确定第二数据库实例为空闲的第二数据库实例;当判定存在空闲的第二数据库实例时,将空闲的第二数据库实例确定为备选的第二数据库实例;当判定不存在空闲的第二数据库实例时,新建一个第二数据库实例作为备选的第二数据库实例。在可选的实施例中,每个第二数据库实例的负载值包括:对应的第二数据库实例的订单数据量、每秒事务数、每秒查询率以及并发数。在可选的实施例中,数据库部署方法还包括:每隔第二预设时间检测每个第二数据库实例中的每个租户数据库的负载值,当一个租户数据库的负载值超过对应的第二数据库实例的预设负载阈值时,将该租户数据库单独部署到一个新建的第二数据库实例中,作为写数据库,再重复部署到至少一个新建的第二数据库实例中,作为只读数据库。第三方面,本申请实施例提供一种多租户数据共享系统,包括第一数据库实例和第二数据库实例,第一数据库实例包括公共数据库,公共数据库用于存储多个租户的公共属性数据,第二数据库实例包括至少一个租户数据库,每个租户数据库用于存储一个租户的私有数据,一个租户对应至少一个租户数据库;多租户数据共享系统还包括数据处理装置,数据处理装置用于:接收数据处理请求,其中,数据处理请求包括目标租户的标识和请求类型;根据数据处理请求确定目标数据库;针对目标数据库执行数据处理请求。在可选的实施例中,多租户数据共享系统还包括路由模块,第一数据库实例和第二数据库实例分别与路由模块进行数据交互,路由模块用于存储配置信息,其中,配置信息包括:至少一个租户的标识、第一数据库实例的标识、第一数据库实例的公共数据库的标识、第二数据库实例的标识、第二数据库实例的租户数据库的标识,以及每个租户的标识与上述标识的关联关系;数据处理装置具体被设置为:根据数据处理请求中的目标租户的标识和路由模块中存储的配置信息确定目标数据库。本申请实施例的有益效果包括,例如:本申请提供的多租户数据共享系统及其管理方法、数据库部署方法,能够将多租户的公共属性数据抽取出来,存储在第一数据库实例中的公共数据库中,租户的个性化和定制化数据作为私有数据存储在第二数据库实例中对应该租户的租户数据库中,使得多租户的数据能够有效隔离,安全性能高。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请一种实施例中多租户数据共享系统与客户端的通信示意图;图2为本申请一种实施例中多租户数据共享系统的管理方法的流程图。图标:010-多租户数据共享系统;100-服务器;110-第一数据库实例本文档来自技高网...

【技术保护点】
1.一种多租户数据共享系统的管理方法,应用于多租户数据共享系统,其特征在于,所述多租户数据共享系统包括第一数据库实例和第二数据库实例,所述第一数据库实例包括公共数据库,所述公共数据库用于存储多个租户的公共属性数据,所述第二数据库实例包括至少一个租户数据库,每个所述租户数据库用于存储一个租户的私有数据,一个租户对应至少一个租户数据库,该方法包括:/n接收数据处理请求,其中,所述数据处理请求包括目标租户的标识和请求类型;/n根据所述数据处理请求确定目标数据库;/n针对所述目标数据库执行所述数据处理请求。/n

【技术特征摘要】
1.一种多租户数据共享系统的管理方法,应用于多租户数据共享系统,其特征在于,所述多租户数据共享系统包括第一数据库实例和第二数据库实例,所述第一数据库实例包括公共数据库,所述公共数据库用于存储多个租户的公共属性数据,所述第二数据库实例包括至少一个租户数据库,每个所述租户数据库用于存储一个租户的私有数据,一个租户对应至少一个租户数据库,该方法包括:
接收数据处理请求,其中,所述数据处理请求包括目标租户的标识和请求类型;
根据所述数据处理请求确定目标数据库;
针对所述目标数据库执行所述数据处理请求。


2.根据权利要求1所述的多租户数据共享系统的管理方法,其特征在于,所述多租户数据共享系统还包括路由模块,所述第一数据库实例和所述第二数据库实例分别与所述路由模块进行数据交互,所述路由模块用于存储配置信息,其中,所述配置信息包括:至少一个租户的标识、所述第一数据库实例的标识、所述第一数据库实例的公共数据库的标识、所述第二数据库实例的标识、所述第二数据库实例的租户数据库的标识,以及每个所述租户的标识与上述标识的关联关系,根据数据处理请求确定目标数据库具体包括:
根据所述数据处理请求中的目标租户的标识和所述路由模块中存储的配置信息确定所述目标数据库。


3.根据权利要求1所述的多租户数据共享系统的管理方法,其特征在于,所述请求类型包括写数据和读数据,针对所述目标数据库执行所述数据处理请求,具体包括:
当所述请求类型为写数据时,将接收到的目标租户的数据中的公共属性数据存储至所述第一数据库实例的公共数据库中,将所述目标租户的数据中的私有数据存储至所述第二数据库实例中所述目标租户对应的租户数据库中;
当所述请求类型为读数据时,从所述公共数据库中读取所述公共属性数据,从所述目标租户对应的租户数据库中读取所述目标租户的私有数据。


4.根据权利要求3所述的多租户数据共享系统的管理方法,其特征在于,所述公共数据库包括第一公共数据库和第二公共数据库,所述公共属性数据包括:多租户的共同属性数据和跨租户的统计数据;
将接收到的目标租户的数据中的公共属性数据存储至所述第一数据库实例的公共数据库中,具体包括:
将所述多租户的共同属性数据存储至所述第一公共数据库中;
将所述跨租户的统计数据存储至所述第二公共数据库中。


5.一种多租户数据共享系统的数据库部署方法,其特征在于,所述多租户数据共享系统包括第一数据库实例和至少两个第二数据库实例,所述第一数据库实例包括公共数据库,所述公共数据库用于存储多个租户的公共属性数据,所述第二数据库实例包括至少一个租户数据库,每个所述租户数据库用于存储一个租户的私有数据,一个租户对应至少一个所述租户数据库,所述数据库部署方法包括:
每隔第一预设时间检测每个所述第二数据库实例的负载值,判断是否存在超载的第二数据库...

【专利技术属性】
技术研发人员:李德逸
申请(专利权)人:威海新北洋数码科技有限公司山东新北洋信息技术股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1