多租户数据库的隔离访问方法、服务端以及存储介质技术

技术编号:19635010 阅读:58 留言:0更新日期:2018-12-01 15:44
本发明专利技术公开了一种多租户数据库的隔离访问方法,包括:响应用户发起的数据访问请求,获取所述数据访问请求对应的UID、RootOrgId以及Dataperm中的数据库表名和字段名;通过ESB总线以http请求的方式将关键数据以WebSession的方式传递至数据库后台服务端;在访问数据库之前,拦截并解析所述http请求,在所述当前操作的数据库名与Dataperm中的数据库表名一致时,对数据库的SQL进行编辑,加入判断所述RootOrgId是否与Dataperm中的字段名相匹配的条件;然后执行所述数据库的结构化查询语言,以对所述用户所属租户的根组织身份识别码所对应的数据进行读写。

Isolated Access Method, Server and Storage Medium for Multi-tenant Database

The invention discloses an isolated access method for multi-tenant database, which includes: responding to data access requests initiated by users, obtaining the corresponding UID, RootOrgId of the data access requests and the database table names and field names in Dataperm; and transmitting key data in the way of HTTP requests through ESB bus in the way of WebSession. Pass it to the database back-end server, intercept and parse the HTTP request before accessing the database, edit the database's SQL when the database name of the current operation is consistent with the database table name in Dataperm, add the condition of judging whether the RootOrgId matches the field name in Dataperm, and then execute. The structured query language of the database reads and writes the data corresponding to the root organization identification code of the tenant to which the user belongs.

【技术实现步骤摘要】
多租户数据库的隔离访问方法、服务端以及存储介质
本专利技术涉及数据库
,尤其涉及一种多租户数据库的隔离访问方法、数据库服务端以及计算机可读存储介质。
技术介绍
数据库层的多租户(MultiTenancy/Tenant)共享是一种软件架构,其定义是:在一台服务器上运行单个应用实例,它为多个租户提供服务。SaaS是(software-as-a-service,软件即服务),它是一种通过Internet提供软件租用的模式。数据库层的多租户共享业务需要满足并实现Saas系统的多租户之间的“数据级权限隔离”,实现用户登录不同的租户,看到不同的租户数据,从而实现相关业务;而权限隔离,指的是平台管理员只能管理租户的账号和相关信息,不能操作租户的内部业务。各租户拥有自己的角色和权限,相互不能影响。SaaS系统最核心的技术难题是租户数据的隔离问题,必须保证租户数据的安全,就是如何对应用数据进行设计,以支持多租户,而这种设计的思路,是要在数据的共享、安全隔离和性能间取得平衡。目前行业内多采用多租户共享数据库模式,通常有三种模式:第一种:独立数据库,即一个租户一个数据库,这种方案的用户数据隔离级别最本文档来自技高网...

【技术保护点】
1.一种多租户数据库的隔离访问方法,其特征在于,包括:响应用户发起的数据访问请求,获取所述数据访问请求对应的用户身份识别码、用户所属租户的根组织身份识别码以及数据权限信息,所述数据权限信息包括所述数据访问请求对应的数据库表名和字段名;将根据所述用户身份识别码、所述用户所属租户的根组织身份识别码、以及所述数据权限信息生成http请求头数据包装在网页会话对象中,通过企业服务总线以http请求的方式传递至数据库后台服务端;在访问数据库之前,拦截并解析所述http请求,根据所述用户所属租户的根组织身份识别码以及所述数据权限信息判断当前操作的数据库名是否与所述数据权限信息中的数据库表名一致;在所述当前操...

【技术特征摘要】
1.一种多租户数据库的隔离访问方法,其特征在于,包括:响应用户发起的数据访问请求,获取所述数据访问请求对应的用户身份识别码、用户所属租户的根组织身份识别码以及数据权限信息,所述数据权限信息包括所述数据访问请求对应的数据库表名和字段名;将根据所述用户身份识别码、所述用户所属租户的根组织身份识别码、以及所述数据权限信息生成http请求头数据包装在网页会话对象中,通过企业服务总线以http请求的方式传递至数据库后台服务端;在访问数据库之前,拦截并解析所述http请求,根据所述用户所属租户的根组织身份识别码以及所述数据权限信息判断当前操作的数据库名是否与所述数据权限信息中的数据库表名一致;在所述当前操作的数据库名与所述数据权限信息中的数据库表名一致时,对数据库的结构化查询语言进行编辑,加入判断所述用户所属租户的根组织身份识别码是否与数据权限信息中的字段名相匹配的条件;在确定所述用户所属租户的根组织身份识别码与数据权限信息中的字段名相匹配时,执行所述数据库的结构化查询语言,以对所述用户所属租户的根组织身份识别码所对应的数据进行读写。2.根据权利要求1所述的多租户数据库的隔离访问方法,其特征在于,所述响应用户发起的数据访问请求,获取所述数据访问请求对应的用户身份识别码、用户所属租户的根组织身份识别码以及数据权限信息,所述数据权限信息包括所述数据访问请求对应的数据库表名和字段名的步骤,包括:响应用户发起的数据访问请求,对所述数据访问请求的身份的合法性进行验证,所述数据访问请求包括用户身份识别码、用户所属租户的根组织身份识别码以及用户身份验证码;在所述数据访问请求的身份合法时,根据所述用户身份识别码以及用户所属租户的根组织身份识别码获取所述数据访问请求对应的数据权限表信息,所述数据权限表信息包括所述数据访问请求对应的数据库表名和字段名。3.根据权利要求2所述的多租户数据库的隔离访问方法,其特征在于,所述响应用户发起的数据访问请求,对所述数据访问请求的身份的合法性进行验证的步骤,包括:通过网关对所述用户发起的数据访问请求进行拦截;调用账号服务模块的身份检验接口,对所述数据访问请求中的所述用户身份识别码、所述用户所属租户的根组织身份识别码以及所述用户身份验证码进行合法性验证。4.根据权利要求3所述的多租户数据库的隔离访问方法,其特征在于,所述在所述数据访问请求的身份合法时,根据所述用户身份识别码以及用户所属租户的根组织身份识别码获取所述数据访问请求对应的数据权限表信息的步骤,包括:在所述数据访问请求的身份合法时,通过调用账号服务模块返回所述用户身份识别码以及所述用户所属租户的根组织身份识别码至所述网关;根据所述用户身份识别码以及用户所属租户的根组织身份识别码,从所述网关的账号管理模块上读取所述数据权限表信息。5.根据权利要求1所述的多租户数据库的隔离访问方法,其特征在于,所述将根据所述用户身份识别码、所述用户所属租户的根组织身份识别码、以及所述...

【专利技术属性】
技术研发人员:何燕春张越吴再聪胡鹏王国彬
申请(专利权)人:深圳市彬讯科技有限公司
类型:发明
国别省市:广东,44

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

1