基于saas服务的多租户无感传参系统技术方案

技术编号:38214082 阅读:10 留言:0更新日期:2023-07-25 11:22
本发明专利技术涉及无感传参技术领域,公开了基于saas服务的多租户无感传参系统,包括登录模块,用于确定登录用户的租户标识,并将租户标识提取存储;识别模块,用于对存储的租户标识进行鉴定判定,并将需要鉴定的租户标识形成标记;拦截模块,用于根据标记拦截租户标识,并对拦截的租户标识按照设定的属性进行填充,并完成隐式修改;配置模块,用于对不需要鉴定的租户标识进行配置;异常模块,用于检测未配置的租户标识,并发出异常提示。本申请自动识别并存储租户标识,并对需要鉴定的租户标识进行拦截,自动进行填充和修改,实现开发无感知租户的效果,极大减少开发过程中的重复工作量,有效确保数据稳定性和安全性。效确保数据稳定性和安全性。效确保数据稳定性和安全性。

【技术实现步骤摘要】
基于saas服务的多租户无感传参系统


[0001]本专利技术涉及无感传参
,具体涉及基于saas服务的多租户无感传参系统。

技术介绍

[0002]Saas,软件即服务,是一种通过Internet提供软件的模式:客户根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。从而使客户不用再购买软件,而改用向提供商租用基于Web

base的软件,来管理企业经营活动,且无需对软件进行维护,由服务提供商全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。
[0003]而因为这种saas服务分为多个不同的租户,在服务提供商进行管理维护时,需要将各租户之间的数据进行区分隔离,以保证数据的安全性。而现在对租户数据的隔离一般都依赖于租户标识码,开发者在对软件进行维护或管理时,在获取数据前都需要传入租户标识,以区分数据信息,防止数据混乱,导致开发者需要时刻关注租户标识,造成编码时大量的重复工作,同时也很容易遗漏,造成租户间数据错乱的问题。
[0004]因此,针对在saas服务开发过程中需要重复传入租户标识,且很容易出错的问题,现在需要提供基于saas服务的多租户无感传参系统。

技术实现思路

[0005]本专利技术意在提供基于saas服务的多租户无感传参系统,解决在saas服务中需要重复传入租户标识且容易出错的问题。/>[0006]为达到上述目的,本专利技术采用如下技术方案:
[0007]本专利技术用于提供一种在saas服务中自动对租户标识进行识别,并根据开发操作自动填充的传参系统,具体为基于saas服务的多租户无感传参系统,具体包括登录模块,用于确定登录用户的租户标识,并将租户标识提取存储,所述租户标识存储于session中;识别模块,用于在与DB进行交互时,自动识别存储在session中的租户标识的table,并判定table是否需要进行租户识别鉴定,并将需要鉴定的租户标识形成标记;拦截模块,用于根据标记拦截租户标识,并对拦截的租户标识按照设定的属性进行填充,并完成隐式修改;配置模块,用于对不需要鉴定的租户标识进行配置;异常模块,用于检测未配置的租户标识,并发出异常提示。
[0008]本方案的原理及优点是:在saas服务的应用中,由于为多租户模式,各租户之间的数据需要隔离,而隔离都依赖于租户标识,因此在开发时,为避免数据混乱,也需要将租户数据隔离处理,导致在开发时租户数据与租户标识需要作为一个整体,以此实现租户数据隔离。但本申请克服技术偏见,将租户标识单独识别处理,通过用户登录自动确定用户所属的租户标识,并将租户标识进行存储,然后在存储的租户标识中进行操作,保证租户标识数据的稳定性,避免数据丢失。同时通过对租户标识进行鉴定识别,并根据识别结果进行有效
拦截,从而隔离大部分需要鉴定的租户标识,并对该部分租户标识进行自动填充和修改,从而使开发者不用再额外关注这部分租户标识,极大降低开发者的重复工作量,而只需要对少量不需要鉴定的租户标识进行配置,极大降低操作难度,保证开发过程中数据稳定性,确保数据隔离的安全性,实现开发无感知租户的效果。
[0009]优选的,作为一种改进,所述拦截模块为DB拦截器模块;所述设定的属性为根据开发操作的DB类型以及table,对租户标识进行填充。
[0010]优选的,作为一种改进,所述DB类型为mysql;所述table为具体数据库表名称。
[0011]优选的,作为一种改进,所述填充方式为在租户标识前添加enterpriseCode标识,并对sql进行隐式修改。通过直接在租户标识前添加企业代码标识,便于快速对租户进行区分,且不会存在租户重复等问题,保证租户数据的唯一性和安全性。
[0012]优选的,作为一种改进,所述配置模块包括table配置子模块和DB接口配置子模块;所述table配置子模块用于对不需要鉴定的table进行配置;所述DB接口配置子模块用于对不需要鉴定的DB接口进行配置。通过不同的子模块分别对需要鉴定和不需要鉴定的信息进行配置,分类处理避免出现数据混乱或数据交叉,导致数据准确性,同时将同类数据批量处理,也能够提高处理效率。
[0013]优选的,作为一种改进,所述table配置子模块用于对需要进行租户鉴定的数据库表名称进行配置,配置方式包括通过配置文件进行配置;所述DB接口配置子模块用于在与数据库进行交互时,对不必区分租户的操作进行配置。对不需要鉴定租户的操作类型统一处理,进而避免反复关注租户标识,有效防止操作错误,提高开发效率。
[0014]优选的,作为一种改进,所述异常模块包括table异常检测子模块和DB接口异常检测子模块。所述异常提示为根据异常内容分别弹出提示框。
[0015]本方案通过用户登录确定用户所属租户,存储于session中,在进行与DB交互时,自动识别table是否需要进行租户识别,如果需要则通过DB拦截器隐式修改sql,使开发无感知租户这个概率。在新增数据时也会自动携带相应的租户标识,从而使开发者在开发过程中不必过度关注租户标识的问题,减少编码的重复工作量,避免造成租户之间数据混乱或数据错误的问题。而一般在saas服务中,都是分为不同租户的,而租户之间的数据都是独立的,因此需要将租户数据进行隔离,而隔离方式都依赖租户标识,导致开发者在获取任何数据的前提下都会将租户数据和租户标识作为一个整体处理,从而导致对租户标识的反复操作,但本申请将租户标识与租户数据分开,将租户标识作为单独对象处理,自动识别租户标识并将租户标识分类处理,即减少了开发者的重复工作量,降低对租户标识的过度关注,同时又进一步保证开发过程中数据的准确性,极大提升开发效率。
附图说明
[0016]图1为本专利技术实施例的结构示意图。
具体实施方式
[0017]下面通过具体实施方式进一步详细说明:
[0018]名词解释,saas:Software

as

a

Service(软件即服务)的简称;
[0019]无感传参:无感知参数传递的简称;
[0020]Session:session_cache_limiter,是session在客户端的缓存方式,有nocache,private,private_no_expire,public几种;
[0021]DB:数据库存储;
[0022]Table:一个数据库控件,主要用于在web页面上创建表格;
[0023]Sql:SQL语言,是结构化查询语言(Structured Query Language)的简称;
[0024]enterpriseCode:企业代码。
[0025]实施例基本如附图1所示:基于saas服务的多租户无感传参系统,用于在与DB交互时,自动识别租户标识,并对需要本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于saas服务的多租户无感传参系统,其特征在于,包括登录模块,用于确定登录用户的租户标识,并将租户标识提取存储,所述租户标识存储于session中;识别模块,用于在与DB进行交互时,自动识别存储在session中的租户标识的table,并判定table是否需要进行租户识别鉴定,并将需要鉴定的租户标识形成标记;拦截模块,用于根据标记拦截租户标识,并对拦截的租户标识按照设定的属性进行填充,并完成隐式修改;配置模块,用于对不需要鉴定的租户标识进行配置;异常模块,用于检测未配置的租户标识,并发出异常提示。2.根据权利要求1所述的基于saas服务的多租户无感传参系统,其特征在于:所述拦截模块为DB拦截器模块;设定的属性为根据开发操作的DB类型以及table,对租户标识进行填充。3.根据权利要求2所述的基于saas服务的多租户无感传参系统,其特征在于:所述DB类型为mysql;所述table为具体数据库表名称。4.根据权利要求3所述的基于saas服务的多租户无感传参系统,...

【专利技术属性】
技术研发人员:陈孟许楠
申请(专利权)人:重庆天智慧启科技有限公司
类型:发明
国别省市:

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

1