数据访问系统和方法技术方案

技术编号:38634164 阅读:16 留言:0更新日期:2023-08-31 18:31
本申请提供一种数据访问系统和方法,包括:数据访问子系统,以及,权限搜索引擎,权限搜索引擎基于Elasticsearch技术构建,包括:多个节点,节点的内存中存储有数据访问子系统的用户与业务数据访问权限的映射关系的至少一个主分片或者是副本分片;数据访问子系统,用于接收第一客户端发送的针对目标数据的访问请求,并通过微服务向第一节点发送第一客户端对应的第一用户是否有访问目标数据的权限的鉴权请求;第一节点,用于向第二节点发送鉴权请求,以获取第一用户是否有访问目标数据的权限的结果;数据访问子系统,还用于在接收到第一节点返回的第一用户具有访问目标数据的权限时,向第一客户端发送目标数据。本申请的方法,提升了数据访问的鉴权效率。提升了数据访问的鉴权效率。提升了数据访问的鉴权效率。

【技术实现步骤摘要】
数据访问系统和方法


[0001]本申请涉及大数据领域,尤其涉及一种数据访问系统和方法。

技术介绍

[0002]企业级架构数据治理平台中,不同机构、条线、职级的用户对业务数据的权限,有复杂且明确的规定。不同职级,或,条线的用户往往对业务数据的访问权限是不同的。如何保证高效且高可用性的对业务数据访问权限进行管理,是企业级架构数据治理平台不得不面对的一个难题。
[0003]目前,通常基于传统数据库(例如Oracle数据库),或者,MySQL数据库实现对用户的业务数据访问权限的鉴权。然而,上述方法存在权限鉴定速率较低的问题。

技术实现思路

[0004]本申请提供一种数据访问系统和方法,用以解决业务数据访问权限鉴定速率较低的问题。
[0005]第一方面,本申请提供一种数据访问方法,数据访问系统包括:数据访问子系统,以及,权限搜索引擎,所述权限搜索引擎基于Elasticsearch技术构建,包括:多个节点,所述节点的内存中存储有所述数据访问子系统的用户与业务数据访问权限的映射关系的至少一个主分片或者是副本分片;
[0006]所述数据访问子系统,用于接收第一客户端发送的针对目标数据的访问请求,并通过微服务向第一节点发送所述第一客户端对应的第一用户是否有访问所述目标数据的权限的鉴权请求;所述第一节点为所述多个节点中的任一节点;
[0007]所述第一节点,用于向第二节点发送所述鉴权请求,以获取所述第一用户是否有访问所述目标数据的权限的结果;所述第二节点为存储有所述第一用户与业务数据访问权限的映射关系的第一分片的节点;
[0008]所述数据访问子系统,还用于在接收到所述第一节点返回的所述第一用户具有访问所述目标数据的权限时,向所述第一客户端发送所述目标数据。
[0009]可选的,所述多个节点中还包括:所述权限搜索引擎的主节点,所述权限搜索引擎的主节点,用于:
[0010]从所述数据访问子系统的用户数据库中读取用户数据;
[0011]从所述数据访问子系统的业务数据库中读取业务权限数据;
[0012]根据所读取的用户数据、业务权限数据,采用倒排索引的方式构建所述数据访问子系统的用户与业务数据访问权限的映射关系;
[0013]对所述数据访问子系统的用户与业务数据访问权限的映射关系进行分片;
[0014]向各节点分发对应的分片。
[0015]可选的,所述权限搜索引擎的主节点,具体用于:
[0016]创建临时表;
[0017]将所读取的用户数据、业务数据,以及,权限数据导入所述临时表;
[0018]以业务标识为单位,获取每个用户针对每种业务的业务数据的默认权限和授权权限;
[0019]根据每个用户针对每种业务的业务数据的默认权限和授权权限,采用倒排索引的方式构建所述数据访问子系统的用户与业务数据访问权限的映射关系。
[0020]可选的,所述权限搜索引擎的主节点,具体用于接收配置参数,所述配置参数包括下述至少一项:分片数量、分片分发策略;
[0021]根据所述分片数量,对所述数据访问子系统的用户的标识与业务数据访问权限的映射关系进行分片;
[0022]和/或,
[0023]根据分片分发策略,向各节点分发对应的分片。
[0024]可选的,
[0025]所述数据访问子系统,还用于:
[0026]接收第二客户端发送的权限获取请求;所述权限获取请求携带有所述第二客户端对应的第二用户的标识,以及,待查询权限的第三用户的标识;
[0027]根据所述第二用户的标识,以及,待查询权限的第三用户的标识,确定所述第二用户是否具有查询所述第三用户的数据访问权限的权限;
[0028]若确定所述第二用户具有查询所述第三用户的数据访问权限的权限,则向所述第三节点发送权限查询请求,所述权限查询请求用于请求查询所述第三用户的数据访问权限;所述第三节点为所述多个节点中的任一节点;
[0029]所述第三节点,还用于向第四节点发送所述鉴权请求,以获取所述第三用户的数据访问权限;所述第四节点为存储有包括所述第三用户与业务数据访问权限的映射关系的第二分片的节点;
[0030]所述数据访问子系统,还用于在接收到所述第三节点返回的所述第三用户的数据访问权限时,向所述第二客户端输出所述第三用户的数据访问权限。
[0031]可选的,所述数据访问子系统,还用于接收所述第二客户端发送的所述第三用户的权限配置变更请求;
[0032]所述第三节点,还用于根据所述权限配置变更请求,控制所述存储有所述主分片的节点执行权限配置变更请求对应的操作,以使所述存储有所述主分片的节点同步控制其他存储有第二分片副本的节点同步执行对应操作。
[0033]可选的,所述权限配置变更请求对应的操作包括:删除所述第三用户的至少一个数据访问权限,和/或,修改所述第三用户的至少一个数据访问权限。
[0034]第二方面,本申请提供一种数据访问方法,数据访问系统包括:数据访问子系统,以及,权限搜索引擎,所述权限搜索引擎基于Elasticsearch技术构建,包括:多个节点,所述节点的内存中存储有所述数据访问子系统的用户与业务数据访问权限的映射关系的至少一个主分片或者是副本分片,所述方法包括:
[0035]所述数据访问子系统接收第一客户端发送的针对目标数据的访问请求,并通过微服务向第一节点发送所述第一客户端对应的第一用户是否有访问所述目标数据的权限的鉴权请求;所述第一节点为所述多个节点中的任一节点;
[0036]所述第一节点向第二节点发送所述鉴权请求,以获取所述第一用户是否有访问所述目标数据的权限的结果;所述第二节点为存储有所述第一用户与业务数据访问权限的映射关系的第一分片的节点;
[0037]所述数据访问子系统在接收到所述第一节点返回的所述第一用户具有访问所述目标数据的权限时,向所述第一客户端发送所述目标数据。
[0038]可选的,所述多个节点中还包括:所述权限搜索引擎的主节点,所述方法还包括:
[0039]所述权限搜索引擎的主节点从所述数据访问子系统的用户数据库中读取用户数据;
[0040]所述权限搜索引擎的主节点从所述数据访问子系统的业务数据库中读取业务权限数据;
[0041]所述权限搜索引擎的主节点根据所读取的用户数据、业务权限数据,采用倒排索引的方式构建所述数据访问子系统的用户与业务数据访问权限的映射关系;
[0042]所述权限搜索引擎的主节点对所述数据访问子系统的用户的标识与业务数据访问权限的映射关系进行分片;
[0043]所述权限搜索引擎的主节点向各节点分发对应的分片。
[0044]可选的,所述权限搜索引擎的主节点根据所读取的用户数据、业务数据,以及,权限数据,采用倒排索引的方式构建所述数据访问子系统的用户与业务数据访问权限的映射关系,包括:
[0045]所述权限搜索引擎的主节点创建临时表;
[0046]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据访问系统,其特征在于,数据访问系统包括:数据访问子系统,以及,权限搜索引擎,所述权限搜索引擎基于Elasticsearch技术构建,包括:多个节点,所述节点的内存中存储有所述数据访问子系统的用户与业务数据访问权限的映射关系的至少一个主分片或者是副本分片;所述数据访问子系统,用于接收第一客户端发送的针对目标数据的访问请求,并通过微服务向第一节点发送所述第一客户端对应的第一用户是否有访问所述目标数据的权限的鉴权请求;所述第一节点为所述多个节点中的任一节点;所述第一节点,用于向第二节点发送所述鉴权请求,以获取所述第一用户是否有访问所述目标数据的权限的结果;所述第二节点为存储有所述第一用户与业务数据访问权限的映射关系的第一分片的节点;所述数据访问子系统,还用于在接收到所述第一节点返回的所述第一用户具有访问所述目标数据的权限时,向所述第一客户端发送所述目标数据。2.根据权利要求1所述的系统,其特征在于,所述多个节点中还包括:所述权限搜索引擎的主节点,所述权限搜索引擎的主节点,用于:从所述数据访问子系统的用户数据库中读取用户数据;从所述数据访问子系统的业务数据库中读取业务权限数据;根据所读取的用户数据、业务权限数据,采用倒排索引的方式构建所述数据访问子系统的用户与业务数据访问权限的映射关系;对所述数据访问子系统的用户与业务数据访问权限的映射关系进行分片;向各节点分发对应的分片。3.根据权利要求2所述的系统,其特征在于,所述权限搜索引擎的主节点,具体用于:创建临时表;将所读取的用户数据、业务数据,以及,权限数据导入所述临时表;以业务标识为单位,获取每个用户针对每种业务的业务数据的默认权限和授权权限;根据每个用户针对每种业务的业务数据的默认权限和授权权限,采用倒排索引的方式构建所述数据访问子系统的用户与业务数据访问权限的映射关系。4.根据权利要求2所述的系统,其特征在于,所述权限搜索引擎的主节点,具体用于接收配置参数,所述配置参数包括下述至少一项:分片数量、分片分发策略;根据所述分片数量,对所述数据访问子系统的用户的标识与业务数据访问权限的映射关系进行分片;和/或,根据分片分发策略,向各节点分发对应的分片。5.根据权利要求1

4任一项所述的系统,其特征在于,所述数据访问子系统,还用于:接收第二客户端发送的权限获取请求;所述权限获取请求携带有所述第二客户端对应的第二用户的标识,以及,待查询权限的第三用户的标识;根据所述第二用户的标识,以及,待查询权限的第三用户的标识,确定所述第二用户是否具有查询所述第三用户的数据访问权限的权限;若确定所述第二用户具有查询所述第三用户的数据访问权限的权限,则向所述第三节
点发送权限查询请求,所述权限查询请求用于请求查询所述第三用户的数据访问权限;所述第三节点为所述多个节点中的任一节点;所述第三节点,还用于向第四节点发送所述鉴权请求,以获取所述第三用户的数据访问权限;所述第四节点为存储有包括所述第三用户与业务数据访问权限的映射...

【专利技术属性】
技术研发人员:刘晰元毛福林郭钰洁郭强张航赵恒熠张嫄魏晨曦
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1