多租户SaaS平台快速搭建及动态扩容的方法及系统技术方案

技术编号:26762538 阅读:31 留言:0更新日期:2020-12-18 23:12
本发明专利技术公开了一种多租户SaaS平台快速搭建及动态扩容的系统及其方法,包括数据层,包括主库和多个相互独立的租户库,所述租户库可根据管理端用户请求进行创建或删除;数据源路由层,介于数据层和业务应用层之间,接收业务应用层发出的数据交互请求命令,并为业务应用层和数据层数据交互提供接口;利用加权随机算法动态创建数据库,根据租户的身份动态切换数据源,达到租户间业务数据的隔离;业务应用层,用于实现管理端、租户端的日常业务操作;管理端用于实现系统设置及系统监控等操作;租户端用于实现租户所使用的业务功能模块。本发明专利技术搭建过程快捷高效,数据安全可靠,可实现数据库的动态扩容和分配,既实现租户间数据在物理层面的隔离,同时又支持数据库服务器的负载均衡和无限扩展。

【技术实现步骤摘要】
多租户SaaS平台快速搭建及动态扩容的方法及系统
本专利技术涉及一种多租户SaaS平台快速搭建及动态扩容的方法及其系统,属于平台搭建

技术介绍
SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务,即通过网络提供软件服务。SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。多租户(MultiTenancy/Tenant)SaaS是一种软件架构,用于实现一个平台同时为多个租户提供服务。在这种架构上,多个租户共享同样的硬件配置和应用程序,并实现数据的隔离。应用程序被设计成能将自己的数据、配置进行虚拟的分区,以便每个租户都感觉到自己是在一个私有的、可定制化的应用实例上工作。由于单台服务器的硬件处理能力有限,随着用户量的不断增长,服务器的压力也会随之增加,因此,急需一种能够随着用户量增长而进行动态扩容的平台搭建方法。
技术实现思路
针对上述现有技术存在的问题,本专利技术提供一种多租户SaaS平台快速搭建及动态扩容的方法及其系统,能够实现租户间数据在物理层面的隔离,同时又支持数据库服务器的负载均衡和无限扩展,搭建过程快捷高效,数据安全可靠。为了实现上述目的,本专利技术采用如下技术方案:一种多租户SaaS平台快速搭建及动态扩容的系统,包括:数据层,用于存储数据,包括主库和多个相互独立的租户库,所述主库用于存储由平台统一配置的数据,所述租户库用户存储对应租户的相关信息,所述租户库可根据管理端用户请求进行创建或删除;数据源路由层,介于数据层和业务应用层之间,接收业务应用层发出的数据交互请求命令,并为业务应用层和数据层数据交互提供接口;利用加权随机算法动态创建数据库,根据租户的身份动态切换数据源,达到租户间业务数据的隔离;业务应用层,用于实现管理端、租户端的日常业务操作,响应管理端、租户端的用户请求,并向数据层传递用户请求获取数据层的数据;管理端,用于实现系统设置及系统监控操作;租户端,用于实现租户所使用的业务功能模块。多租户SaaS平台快速搭建及动态扩容的系统中,所述数据源路由层包括数据库路由控制引擎、数据源注册、数据源匹配和数据源切换模块,通过数据源注册和数据源切换能将数据库扩展到多台服务器,新租户入驻时,系统按照数据源的可用状态和权重随机分配一台可用的服务器作为数据库存储,并记录该服务器的ip地址、数据库用户名和密码。多租户SaaS平台快速搭建及动态扩容的系统中,所述业务应用层包括平台管理应用模块、租户应用模块、日志记录模块和权限控制模块,所述平台管理应用模块用于向管理端提供管理服务,包括租户入驻、租户费用、租户服务、用户权限、数据字典、定时任务、内容发布、系统参数、在线客服和数据分析模块;所述租户应用模块用于向租户端提供管理服务,包括企业信息、员工管理、部门管理、职务权限、线索管理、客户管理、群组管理、营销管理、待办事项、任务工单、营销流程和话术管理模块。多租户SaaS平台快速搭建及动态扩容的系统中,整个系统包括三种用户:平台管理员、租户管理员和租户员工,一个租户相当于一个企业;平台管理员进行系统管理、租户入驻管理和租户费用管理操作,不能操作租户的内部业务;租户管理员账号在创建租户基本信息时同步生成,租户管理员进行企业信息管理、部门管理、职务权限管理、员工管理、流程/参数配置业务操作;租户员工账号在创建企业员工时同步生成,用于进行线索管理、客户管理、群组管理的业务操作。一种多租户SaaS平台快速搭建及动态扩容的方法,包括:构建基本架构:构建包括数据层、数据源路由层、业务应用层、管理端和租户端的架构,所述数据层用于存储数据,包括多个数据库,其中一个作为主库,其余作为租户库,各个租户库相互独立,所述租户库可根据管理端用户请求进行创建或删除;所述数据源路由层用于根据用户请求动态创建数据库,根据租户的身份动态切换数据源,达到租户间业务数据的隔离;所述业务应用层用于实现操作终端的日常业务操作,响应操作终端的用户请求,并向数据层传递用户请求获取数据层的数据;租户创建:将待入驻租户的基本信息录入,录入的租户信息被保存至主库,生成租户ID、租户账号、初始密码,并将租户数据库的建库消息存入消息队列等待租户端依次处理;租户端开启定时任务,不断从消息队列列表里获取待创建的租户库信息,依次为其建库,并将建库情况返回至管理端;管理端根据建库情况处理建库结果,更新租户状态;若建库成功,则租户入驻流程完成;若建库失败,则平台管理员可重新发送建库请求至租户端进行重试,直至建库完成;各个租户创建、删除和权限的设定均由平台管理员统一管理配置。多租户SaaS平台快速搭建及动态扩容的方法中,所述租户创建中通过加权随机选择数据库服务器进行创建租户库,为租户分配相应的租户库,并切换至新创建的数据库为租户创建租户表;租户管理员在租户入驻时同步创建,租户创建成功后,随机根据租户管理员手机号向租户表中插入一条管理员账户数据,租户员工的创建、删除及权限由租户管理员操作。多租户SaaS平台快速搭建及动态扩容的方法中,租户被禁用后所有员工均无法登录,租户启用后恢复正常;租户删除分为两步,第一步,删除:提醒用户删除后将进入回收站,此时只是将租户标记为临时删除,可以从回收站还原或者彻底删除;租户被删除后,所有员工账号都无法登登录,还原后恢复正常;第二步:彻底删除,提醒用户彻底删除后,所有数据都将被清空,用户确认操作后,租标记为彻底删除,此时租户数据不支持还原恢复,视为永久删除。多租户SaaS平台快速搭建及动态扩容的方法中,所述租户端系统启动时默认初始化两个数据源:MASTER和TENANT,MASTER连接主库,用于在登录是校验租户状态;TENANT连接租户默认tanant_0,用于获取数据字典、菜单、系统参数平台公共配置数据;当租户登录时,系统根据租户ID在TENANT数据源的基础上动态创建新的数据源,即将tanant_0库改为租户库,则新的数据源将会连接到tanant_ID上。多租户SaaS平台快速搭建及动态扩容的方法中,所述待入驻租户的基本信息括公司名称、城市、地址、联系人姓名、联系人手机、初始密码、邮箱,并以手机号作为用户唯一标识。与现有的技术相比,本专利技术具有如下优点:1)搭建过程快捷高效:通过清晰有效的数据源注册、切换流程,租户入驻处理流程,用户管理和登录流程等,可以很方便的实现多租户SaaS平台的快速搭建与调试。2)数据安全可靠:数据库采用主库+多租户库的方式实现,为每个租户创建一个独立的数据库,使得各租户间的数据在物理层面进行隔离,无需引入额外的逻辑程序进行处理即可实现数据的安全访问和操作。可通过多个独立任务实现数据库备份与恢复操作,单个租户数据库的损坏不影响其他租户的数据的使用。3)支持通过简单的配置将新本文档来自技高网...

【技术保护点】
1.一种多租户SaaS平台快速搭建及动态扩容的系统,其特征在于,包括:/n数据层,用于存储数据,包括主库和多个相互独立的租户库,所述主库用于存储由平台统一配置的数据,所述租户库用户存储对应租户的相关信息,所述租户库可根据管理端用户请求进行创建或删除;/n数据源路由层,介于数据层和业务应用层之间,接收业务应用层发出的数据交互请求命令,并为业务应用层和数据层数据交互提供接口;利用加权随机算法动态创建数据库,根据租户的身份动态切换数据源,达到租户间业务数据的隔离;/n业务应用层,用于实现管理端、租户端的日常业务操作,响应管理端、租户端的用户请求,并向数据层传递用户请求获取数据层的数据;/n管理端,用于实现系统设置及系统监控操作;/n租户端,用于实现租户所使用的业务功能模块。/n

【技术特征摘要】
1.一种多租户SaaS平台快速搭建及动态扩容的系统,其特征在于,包括:
数据层,用于存储数据,包括主库和多个相互独立的租户库,所述主库用于存储由平台统一配置的数据,所述租户库用户存储对应租户的相关信息,所述租户库可根据管理端用户请求进行创建或删除;
数据源路由层,介于数据层和业务应用层之间,接收业务应用层发出的数据交互请求命令,并为业务应用层和数据层数据交互提供接口;利用加权随机算法动态创建数据库,根据租户的身份动态切换数据源,达到租户间业务数据的隔离;
业务应用层,用于实现管理端、租户端的日常业务操作,响应管理端、租户端的用户请求,并向数据层传递用户请求获取数据层的数据;
管理端,用于实现系统设置及系统监控操作;
租户端,用于实现租户所使用的业务功能模块。


2.根据权利要求1所述的一种多租户SaaS平台快速搭建及动态扩容的系统,其特征在于,所述数据源路由层包括数据库路由控制引擎、数据源注册、数据源匹配和数据源切换模块,通过数据源注册和数据源切换能将数据库扩展到多台服务器,新租户入驻时,系统按照数据源的可用状态和权重随机分配一台可用的服务器作为数据库存储,并记录该服务器的ip地址、数据库用户名和密码。


3.根据权利要求1所述的一种多租户SaaS平台快速搭建及动态扩容的系统,其特征在于,所述业务应用层包括平台管理应用模块、租户应用模块、日志记录模块和权限控制模块,所述平台管理应用模块用于向管理端提供管理服务,包括租户入驻、租户费用、租户服务、用户权限、数据字典、定时任务、内容发布、系统参数、在线客服和数据分析模块;所述租户应用模块用于向租户端提供管理服务,包括企业信息、员工管理、部门管理、职务权限、线索管理、客户管理、群组管理、营销管理、待办事项、任务工单、营销流程和话术管理模块。


4.根据权利要求1所述的一种多租户SaaS平台快速搭建及动态扩容的系统,其特征在于,整个系统包括三种用户:平台管理员、租户管理员和租户员工,一个租户相当于一个企业;平台管理员进行系统管理、租户入驻管理和租户费用管理操作,不能操作租户的内部业务;租户管理员账号在创建租户基本信息时同步生成,租户管理员进行企业信息管理、部门管理、职务权限管理、员工管理、流程/参数配置业务操作;租户员工账号在创建企业员工时同步生成,用于进行线索管理、客户管理、群组管理的业务操作。


5.一种多租户SaaS平台快速搭建及动态扩容的方法,其特征在于,包括:
构建基本架构:构建包括数据层、数据源路由层、业务应用层、管理端和租户端的架构,所述数据层用于存储数据,包括多个数据库,其中一个作为主库,其余作为租户库,各个租...

【专利技术属性】
技术研发人员:卢宪政左赋斌
申请(专利权)人:南京智数云信息科技有限公司
类型:发明
国别省市:江苏;32

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

1