通过主从数据库实现多租户软件的系统及方法与流程

文档序号:17762625发布日期:2019-05-24 21:50阅读:375来源:国知局
通过主从数据库实现多租户软件的系统及方法与流程

本发明涉及一种计算机应用技术领域,尤其涉及一种通过主从数据库实现多租户软件的系统及方法。



背景技术:

传统的应用,仅仅服务于单个租户,数据库多部署在企业内部网络环境,对于数据拥有者来说,这些数据是自己“私有”的,它符合自己所定义的全部安全标准。

随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式;它与"on-demandsoftware"(按需软件),theapplicationserviceprovider(asp,应用服务提供商),hostedsoftware(托管软件)所具有相似的含义,它是一种通过internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。对于许多小型企业来说,saas是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。

在saas实施过程中,有一个显著的考量点,就是如何对应用数据进行设计,以支持多租户,而这种设计的思路,是要在数据的共享、安全隔离和性能间取得平衡。

本系统采用共享数据库、独立schema将每个租户关联到同一个数据库的不同schema,租户间数据彼此逻辑不可见,上层应用程序的实现和独立数据库一样简单。

由于每个租户的信息独立存放到不同的schema,系统需要根据租户信息,动态切换到相应的租户schema。

综上,现有技术中存在以下问题:传统的应用智能服务于单个租户。



技术实现要素:

为此,本发明提供一种通过主从数据库实现多租户软件的系统及方法,用以克服现有技术中传统的应用智能服务于单个租户的问题。一种通过主从数据库实现多租户软件系统,其特征在于,包括:数据库模块、操作模块和数据处理模块;其中,数据库模块,用于设置租户的数据源信息和配置数据库的同步信息;操作模块,用于登陆操作和退出操作;数据处理模块,用于查找信息和反馈信息。

进一步地,租户的数据源信息,在数据源配置画面设置租户的数据源信息。

进一步地,配置数据库的同步信息,配置主从数据库的同步信息。

进一步地,登陆操作,客户端登录时根据用户名,密码及所属租户在主数据库执行登录操作。

进一步地,退出操作,根据提示进行退出操作。

进一步地,查找信息,动态切换相应的租户数据源。

进一步地,反馈信息,没有查找到相应租户的数据源,就产生租户数据源切换异常并返回给客户端。

进一步地,种通过主从数据库实现多租户软件的方法,其方法包括以下步骤:

第一步,客户端根据用户名、密码及所属租户在主数据库执行登录操作;

第二步,登录成功后,在租户信息中查找数据源;

第三步,如果查找到相应租户的数据源,就动态切换相应的租户数据源

第四步,如果没有查找到相应租户的数据源,就产生租户数据源切换异常并返回给客户端;

第五步,退出操作,在主数据库执行。

与现有技术相比,本发明的有益效果在于,客户端登录后,客户端随后的所有操作在服务器端都可以根据登录的租户信息,自动切换相应的租户数据源。

附图说明

图1为本发明通过主从数据库实现多租户软件的系统主体构成图;

图2为本发明通过主从数据库实现多租户软件方法的主流程图。

具体实施方式

以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。

下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。

需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。

如图1所示,其为本发明通过主从数据库实现多租户软件的系统主体构成图;整个系统包括客户端,软件服务器,数据库服务器,客户端安装有业务相关的客户端软件,服务器安装有动态切换数据源的软件,数据库服务器安装有主从数据库。

客户端包括:主登录页面调用模块,用于调用并显示主登录界面;登录调度模块,用于根据登录结果,调度到相应的导航界面。

服务器端包括:登录验证模块,根据客户端传递的用户名,密码及租户信息,验证登录操作,并把结果返回给客户端。

客户端登录后,客户端随后的所有操作在服务器端都可以根据登录的租户信息,自动切换相应的租户数据源。

如图2所示,其为本发明通过主从数据库实现多租户软件方法的主流程图,在实施例提供的通过主从数据库实现多租户软件系统的服务器端的方法,包括:

(1)在数据源配置画面设置租户的数据源信息。

(2)配置主从数据库的同步信息。

(3)客户端登录时根据用户名,密码及所属租户在主数据库执行登录操作。

(4)登录成功后,除去退出登录方法在主数据库执行以外,其它所有操作都根据操作(3)的租户信息在操作(1)中查找数据源。

(5)如果没有查找到相应租户的数据源,就产生租户数据源切换异常并返回给客户端。

(6)如果查找到相应租户的数据源,就动态切换相应的租户数据源。

(7)通过上述处理实现每个租户都可以使用独立的数据库并动态切换的系统。

上述实施例中,通过租户信息动态切换数据源的方法,大大降低了租户管理的复杂性,在新增租户时,只要新建数据库并和租户信息绑定即可,可以短时间快速扩展大量租户。为每个租户备份数据也比较容易,因为他们存放在不同的数据表中,只需对整个schema进行备份。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。



技术特征:

技术总结
本发明涉及一种通过主从数据库实现多租户软件的系统及方法,用以克服现有技术中传统的应用智能服务于单个租户的问题,一种通过主从数据库实现多租户软件系统,其特征在于,包括:数据库模块、操作模块和数据处理模块,其中,数据库模块,用于设置租户的数据源信息和配置数据库的同步信息,操作模块,用于登陆操作和退出操作,数据处理模块,用于查找信息和反馈信息。客户端登录后,客户端随后的所有操作在服务器端都可以根据登录的租户信息,自动切换相应的租户数据源。

技术研发人员:王峥
受保护的技术使用者:北京航天福道高技术股份有限公司
技术研发日:2018.12.18
技术公布日:2019.05.24
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1