CN112364110A - 元数据管理方法、装置、设备及计算机存储介质 - Google Patents
元数据管理方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112364110A CN112364110A CN202011297768.1A CN202011297768A CN112364110A CN 112364110 A CN112364110 A CN 112364110A CN 202011297768 A CN202011297768 A CN 202011297768A CN 112364110 A CN112364110 A CN 112364110A
- Authority
- CN
- China
- Prior art keywords
- metadata
- tenant
- database
- client
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
Abstract
本发明涉及金融科技(Fintech)技术领域,并公开了一种元数据管理方法,该方法包括:对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户,将原始数据仓库中的元数据迁移至各租户对应的数据库,以得到多个关联数据库;基于各关联数据库和各租户构建权限映射表;若接收到各客户端中的目标客户端发送的元数据请求,则确定元数据请求对应的访问数据库,基于权限映射表检测目标客户端是否具有操作访问数据库的操作权限;若具有操作权限,则根据元数据请求对访问数据库进行元数据请求操作,并将元数据请求操作的操作结果反馈至目标客户端。本发明实现了数据仓库中数据实例出现问题时,各个用户的业务也能正常进行。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及元数据管理方法、装置、设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对元数据管理技术提出了更高的要求。
在当前的Hive(数据仓库)Metastore(元数据服务)架构体系中,用户一般是使用Hive客户端来访问Hive Metastore服务,以获取元数据的。而且由于元数据是一种描述数据的数据,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能,因此是将所有的元数据都存储在一个数据库实例中。当该数据库实例出现异常时,由于多个业务的元数据都存储在这里,会影响多个业务的进行,导致各个业务无法正常进行。
发明内容
本发明的主要目的在于提出一种元数据管理方法、装置、设备及计算机存储介质,旨在解决如何避免在数据仓库中数据实例出现问题时,各个用户的业务无法正常进行的技术问题。
为实现上述目的,本发明提供一种元数据管理方法,所述元数据管理方法包括如下步骤:
对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户,将所述原始数据仓库中的元数据迁移至各所述租户对应的数据库,以得到多个关联数据库;
基于各所述关联数据库和各所述租户构建权限映射表;
若接收到各所述客户端中的目标客户端发送的元数据请求,则确定所述元数据请求对应的访问数据库,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限;
若具有所述操作权限,则根据所述元数据请求对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
可选地,根据所述元数据请求对所述访问数据库进行元数据请求操作的步骤,包括:
将所述元数据请求发送至预设的元数据代理服务,根据所述元数据代理服务对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
可选地,确定所述元数据请求对应的访问数据库的步骤,包括:
基于所述元数据请求启动预设的元数据服务代理器,对所述元数据服务代理器中的路由进行映射缓存,以得到映射路由,根据所述映射路由对所述元数据请求进行解析,并基于所述解析的解析结果确定所述元数据请求对应的访问数据库。
可选地,基于各所述关联数据库和各所述租户构建权限映射表的步骤,包括:
依次遍历各所述租户,基于各所述关联数据库确定遍历的租户对应的目标关联数据库,并确定各所述关联数据库中除所述目标关联数据库之外的其它关联数据库;
赋予所述遍历的租户读写对应的所述目标关联数据库的读写权限,并赋予所述遍历的租户只读所述其它关联数控库的只读权限;
获取各所述租户对应的读写权限和只读权限,并根据各所述租户对应的读写权限和只读权限构建权限映射表。
可选地,对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户的步骤,包括:
确定与原始数据仓库建立连接的多个客户端,根据预设的业务需求对各所述客户端进行分区处理,并检测所述分区处理的次数是否小于预设次数;
若所述分区处理的次数小于预设次数,则根据所述分区处理的结果确定各所述客户端对应的客户端集群,并将所述客户端集群作为租户。
可选地,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限的步骤,包括:
基于各所述租户确定所述目标客户端对应的目标租户,并根据所述权限映射表对所述目标租户进行鉴权处理,以获取所述鉴权处理的鉴权结果,根据所述鉴权结果确定所述目标客户端是否具有操作所述访问数据库的操作权限。
可选地,根据所述鉴权结果确定所述目标客户端是否具有操作所述访问数据库的操作权限的步骤,包括:
若所述鉴权结果失败,则获取预设时间范围内鉴权结果失败的鉴权次数;
若所述鉴权次数大于预设定值,则确定所述权限映射表存在异常;或,
若所述鉴权次数小于或等于预设定值,则确定所述目标客户端不具有操作所述访问数据库的操作权限。
此外,为实现上述目的,本发明还提供一种元数据管理装置,所述元数据管理装置包括:
获取模块,用于对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户,将所述原始数据仓库中的元数据迁移至各所述租户对应的数据库,以得到多个关联数据库;
构建模块,用于基于各所述关联数据库和各所述租户构建权限映射表;
检测模块,用于若接收到各所述客户端中的目标客户端发送的元数据请求,则确定所述元数据请求对应的访问数据库,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限;
反馈模块,用于若具有所述操作权限,则根据所述元数据请求对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
此外,为实现上述目的,本发明还提供一种元数据管理设备,所述元数据管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的元数据管理程序,所述元数据管理程序被所述处理器执行时实现如上所述的元数据管理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有元数据管理程序,所述元数据管理程序被处理器执行时实现如上所述的元数据管理方法的步骤。
本发明通过对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户,将所述原始数据仓库中的元数据迁移至各所述租户对应的数据库,以得到多个关联数据库;基于各所述关联数据库和各所述租户构建权限映射表;若接收到各所述客户端中的目标客户端发送的元数据请求,则确定所述元数据请求对应的访问数据库,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限;若具有所述操作权限,则根据所述元数据请求对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。通过对各个客户端进行分区处理,得到各个租户,根据原始数据仓库中的元数据确定各个关联数据库,根据各个租户,各个关联数据库构建权限映射表,并在接收到目标客户端发送的元数据请求时,根据权限映射表确定目标客户端具有操作权限时,对访问数据库进行元数据请求操作,并将操作结果反馈至目标客户端,从而避免了现有技术中所有的元数据操作都在同一个数据库实例中进行处理,当该数据库实例出现问题时,影响到所有客户端的业务的正常进行的现象发生,也就是实现了数据仓库中数据实例出现问题时,各个用户的业务也能正常进行。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的元数据管理设备结构示意图;
图2为本发明元数据管理方法第一实施例的流程示意图;
图3为本发明元数据管理装置的装置模块示意图;
图4为本发明元数据管理方法中多租户模式的流程示意图;
图5为本发明元数据管理方法中代理服务的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的元数据管理设备结构示意图。
本发明实施例元数据管理设备可以是PC机或服务器设备,其上运行有Java虚拟机。
如图1所示,该元数据管理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的元数据管理设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及元数据管理程序。
在图1所示的元数据管理设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的元数据管理程序,并执行下述元数据管理方法中的操作。
基于上述硬件结构,提出本发明元数据管理方法实施例。
参照图2,图2为本发明元数据管理方法第一实施例的流程示意图,所述方法包括:
步骤S10,对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户,将所述原始数据仓库中的元数据迁移至各所述租户对应的数据库,以得到多个关联数据库;
由于目前在进行元数据管理时,都是在原始数据仓库中进行的,而且所有的元数据都是存储在一个数据库实例中的,当此数据库实例出现故障时,会影响到存储在该数据库实例中的所有元数据,进而影响到与这些元数据相关的所有业务的进行。因此在本实施例中,进行元数据管理时,进行HiveDB(开源框架)切分,将原始数据仓库中的元数据分布为多个放置在各个TiDB(关系型数据库)中存在,并且每个TiDB中的元数据初始都相同,同时由于数据存储使用分布式存储,可以保证元数据持续增加时,元数据存储实例实现水平拓展,避免了现有技术中只在一个数据库中进行元数据操作的现象发生。而且在本实施例中,主要是通过Proxys(代理)服务来实现,即先在后端配置多个Metastore(元数据代理服务)实例,通过在Proxy中配置的预设路由关系将客户端发送的请求转发到元数据代理服务中,其中,Proxys的架构可以如图4所示,将各个客户端划分为租户1,租户2和租户3,也就是租户1,租户2和租户3中都包含有不同的客户端。并在确定各个租户后,需要为各个租户创建各自对应的关联数据库,元数据代理服务等,并且每个关联数据库中都具有全量元数据。当租户中的客户端需要操作元数据时,可以发送元数据请求到Proxy代理,并确定元数据请求对应的关联数据库,确定是进行读写操作还是只读操作,再通过元数据代理服务到关联数据库中进行元数据请求操作。
因此在本实施例中,在通过Proxy进行元数据操作时,需要先创建权限映射表,即需要先确定与原始数据仓库建立连接的所有客户端,并在客户端存在多个时,可以按照不同的业务功能进行分区处理,得到各个租户,如租户1,租户2和租户3等,并且每个租户中至少存在一个客户端。并为每个租户构建对应的数据库,并将原始数据仓库中的所有元数据全量迁移至每个租户对应的数据库,以获取各个租户对应的关联数据库。需要说明的是,每个关联数据库中的元数据的数据量初始是相同的,也是全量的。
步骤S20,基于各所述关联数据库和各所述租户构建权限映射表;
当获取到各个租户和各个租户对应的关联数据库后,可以构建相应的映射权限映射表,保障每个租户只对属于自己的元数据代理服务才有读写权限(如修改元数据),若不属于该租户的元数据代理服务则只有读权限。保障了该租户的元数据只会存储在自己对应的元数据存储数据库(即关联数据库)中,还可以读其他租户的元数据。权限映射表可以如下表1所示。
表1
步骤S30,若接收到各所述客户端中的目标客户端发送的元数据请求,则确定所述元数据请求对应的访问数据库,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限;
当构建好权限映射表后,若在Proxy中接收到某一个客户端发送的元数据请求(如RPC请求)时,可以将此客户端作为目标客户端,并通过Proxy对该元数据请求进行解析,以获取元数据请求对应的访问数据库,并确定目标客户端所在的租户,再根据权限映射表检测该租户是否具有操作访问数据库的操作权限,如读写权限,并根据不同的检测结果执行不同的操作。
由于Proxy主要是由ProxyThriftServer(元数据服务代理器)、HMSMonitor(元数据代理服务监控器)、FederationHmsAdmin(元数据服务联邦集群管理器)这三个核心模块组成。并且元数据服务代理器是实现原始数据仓库中与元数据操作相关的RPC(远程过程调用)接口,可以做到兼容Hive客户端,Hivesever2等服务请求协议,当获取到RPC请求时,会通过路由解析至对应的元数据代理服务,建立连接并调用同名方法执行该操作(例如,create_database(创建数据库)、drop_database(删除数据库)、create_table(创建数据库中的表)以及汇总信息查询等操作)。而且RPC接口的操作是用于区分权限,如只读权限,读写权限等,区分方式是根据权限映射表中的权限属性确定的。而且为了避免每个客户端连接过程中都需要建立一个路由信息耗费的内存操作,因此会在每个元数据服务代理器实例启动时,缓存一个映射路由信息,该路由信息会被每个客户端连接请求的线程共用。
元数据代理服务监控器是主要监控元数据服务代理器的JVM(虚拟机)内存,线程执行状态,Hive元数据相关操作等,并将相应的监控数据上传至预设的监控系统。
元数据服务联邦集群管理器是用于对接Hive Metastore Federation管理界面,供管理员使用,可动态完成对Federation(联邦)Metastore注册、注销及Hive Database(数据库)名字与Metastore路由信息修改。
因此在本实施例中,当Proxy接收到客户端发送的元数据请求,即RPC请求时,会通过元数据服务代理器解析客户端的RPC请求,确认客户端请求的租户、Hive数据库信息,查询权限映射表查看请求是否有权限,鉴权通过元数据服务代理器将该RPC请求转发到代理的Metastore进行元数据查询处理,Metastore结果返回给元数据服务代理器,元数据服务代理器再将处理结果返回给客户端。
步骤S40,若具有所述操作权限,则根据所述元数据请求对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
因此,在客户端具有操作访问数据库的操作权限时,会将元数据请求发送到与目标客户端所在租户对应的代理的元数据代理服务,再让该元数据代理服务根据元数据请求对访问数据库进行元数据请求操作,如修改元数据操作,并将元数据请求操作的操作结果反馈至Proxy,通过Proxy反馈至客户端。若客户端不具有操作访问数据库的操作权限,则输出相应的提示信息至目标客户端。
而且需要说明的是,在本实施例中,需要将代理和元数据代理服务都设置为无状态服务,以避免代理和元数据代理服务为有状态服务时需要依赖其它请求,无法进行有效的水平拓展的现象发生,某个代理或者元数据代理服务不可用的时候不会影响全局的服务可用性;同时通过Proxy提供的监控接口可以实时获取元数据的请求监控数据,并配置对应的告警规则。其中,告警规则可以是对元数据请求进行监控,当在Proxy中发现元数据请求超过处理阈值时,会触发告警。告警规则还可以是对元数据关键请求事件进行处理,如监控ALTER ADD/DROP Partiton(更改添加/删除分区),由于Hive元数据中,分区的数量是最大的,分区的操作过多会影响整体的数据库性能,因此当更改添加/删除分区请求数超过阈值时触发告警。告警规则可以是对元数据鉴权失败的失败数量监控,当预设时间段内元数据鉴权失败的次数超过一定阈值时触发告警。
此外,为辅助理解本实施例中的元数据管理的操作,下面进行举例说明。
例如,如图5所示,当在Proxy代理中接收到元数据请求时,根据提前进行映射处理得到的权限映射表确定元数据请求对应的租户是否具有访问元数据请求对应的关联数据库的权限,若具有,则根据相应的元数据代理服务(如元数据代理服务A,或元数据代理服务B,或元数据代理服务C)进行相应的元数据操作处理。其中确定元数据请求需要访问的关联数据库的方式可以是对元数据请求进行解析,以获取元数据请求中携带的标识符,判断该标识符是标识符A,还是标识符B,或者是标识符C,并根据不同的判断结果确定需要访问的关联数据库。
在本实施例中,通过对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户,将所述原始数据仓库中的元数据迁移至各所述租户对应的数据库,以获取多个关联数据库;基于各所述关联数据库和各所述租户构建权限映射表;若接收到各所述客户端中的目标客户端发送的元数据请求,则确定所述元数据请求对应的访问数据库,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限;若具有所述操作权限,则根据所述元数据请求对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。通过对各个客户端进行分区处理,得到各个租户,根据原始数据仓库中的元数据确定各个关联数据库,根据各个租户,各个关联数据库构建权限映射表,并在接收到目标客户端发送的元数据请求时,根据权限映射表确定目标客户端具有操作权限时,对访问数据库进行元数据请求操作,并将操作结果反馈至目标客户端,从而避免了现有技术中所有的元数据操作都在同一个数据库实例中进行处理,当该数据库实例出现问题时,影响到所有客户端的业务的正常进行的现象发生,也就是实现了数据仓库中数据实例出现问题时,各个用户的业务也能正常进行。
进一步地,基于本发明元数据管理方法第一实施例,提出本发明元数据管理方法第二实施例。本实施例是本发明第一实施例的步骤S40,根据所述元数据请求对所述访问数据库进行元数据请求操作的步骤的细化,包括:
步骤a,将所述元数据请求发送至预设的元数据代理服务,根据所述元数据代理服务对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
在本实施例中,当检测目标客户端具有操作访问数据库的操作权限时,可以先确定该目标客户端所在租户对应的元数据代理服务,即Metastore,需要说明的是,元数据代理服务是提前设置好的,并且每个租户都对应有各自的元数据代理服务。元数据代理服务会在接收到元数据请求时,根据此元数据请求对访问数据库进行元数据请求操作,如进行元数据删除,修改等操作,并将经过元数据请求操作的操作结果反馈至Proxy,再通过Proxy将操作结果反馈至目标客户端。在本实施例中,通过采用元数据代理服务来对访问数据库进行元数据请求操作,从而可以实现各个客户端在对访问数据库进行操作时,不需要知道访问数据库的用户名和密码,只需要连接元数据代理服务即可,保障了访问数据库中的数据的安全性。
在本实施例中,通过将元数据请求发送至元数据代理服务,通过元数据代理服务对访问数据库进行元数据请求操作,并将操作结果反馈至目标客户端,从而保障了元数据请求访问的有效进行。
进一步地,将所述元数据请求发送至预设的元数据代理服务的步骤之前,包括:
步骤d,检测预设时间段内获取到的历史元数据请求的请求数量是否小于预设处理阈值;
在本实施例中,在执行元数据请求前,需要进行监控检测,即获取预设时间段内的历史元数据请求,并确定历史元数据请求的请求数量是否小于预设处理阈值,根据不同的检测结果执行不同的操作。其中,预设时间段可以是用户提前设置的在当前时刻之前的时间段,且该时间段的结束时间节点是当前时间节点。历史元数据请求可以是已经处理过的元数据请求。预设处理阈值可以是用户提前设置的任意阈值。
步骤e,若所述请求数量小于预设处理阈值,则执行根据所述元数据请求对所述访问数据库进行元数据请求操作的步骤。
若请求数量小于预设处理阈值,则可以继续执行根据元数据请求对访问数据库进行元数据请求操作的步骤。若请求数量大于或等于预设处理阈值,则触发预设的告警规则,输出告警信息。
在本实施例中,通过在历史元数据请求的请求数量小于预设处理阈值时,继续执行将元数据请求发送至元数据代理服务的步骤,避免了在请求数量过多,造成服务性能变差,导致应用服务效果变差的现象发生。
进一步地,确定所述元数据请求对应的访问数据库的步骤,包括:
步骤x,基于所述元数据请求启动预设的元数据服务代理器,对所述元数据服务代理器中的路由进行映射缓存,以得到映射路由,根据所述映射路由对所述元数据请求进行解析,并基于所述解析的解析结果确定所述元数据请求对应的访问数据库。
在本实施例中,当获取到目标客户端发送的元数据请求后,会根据此元数据请求启动代理中预设的元数据服务代理器中的元数据服务代理器实例,并为了避免每个客户端连接过程中都需要建立一个路由耗费的内存操作,会在每个元数据服务代理器实例启动时,缓存一个映射路由,该路由会被每个客户端连接请求的线程共用。而且映射路由是通过对元数据服务代理器中已建立的路由进行映射缓存得到的。然后再根据此映射路由对元数据请求进行解析,以获取解析的解析结果,如元数据请求对应的租户信息、请求访问的数据库信息(即访问数据库)等。
在本实施例中,通过根据元数据请求启动元数据服务代理器,并对元数据服务代理器中的路由进行映射缓存,以得到映射路由,再根据映射路由对元数据请求进行解析,以确定访问数据库,从而保障了在进行元数据请求解析时无需创建新的路由,也能进行解析。
进一步地,基于各所述关联数据库和各所述租户构建权限映射表的步骤,包括:
步骤b,依次遍历各所述租户,基于各所述关联数据库确定遍历的租户对应的目标关联数据库,并确定各所述关联数据库中除所述目标关联数据库之外的其它关联数据库;
在本实施例中,当对各个客户端进行分区处理构建好各个租户后,可以依次遍历各个租户,并在各个关联数据库中确定遍历的租户对应的关联数据库,将此关联数据库作为目标关联数据库。并将各个关联数据库中除目标数据库之外的其它所有关联数据库作为其它关联数据库。
步骤c,赋予所述遍历的租户读写对应的所述目标关联数据库的读写权限,并赋予所述遍历的租户只读所述其它关联数控库的只读权限;
步骤y,获取各所述租户对应的读写权限和只读权限,并根据各所述租户对应的读写权限和只读权限构建权限映射表。
当确定目标关联数据库后,会赋予遍历的租户读写目标关联数据库的读写权限,让遍历的租户可以管控自身的元数据。并赋予遍历的租户只读其它关联数据库的只读权限,让遍历的租户可以读其它租户的元数据。并对其它所有租户都采用相同的操作,以确定各个租户对应的读写权限,各个租户对应的只读权限,再根据各个租户对应的读写权限和只读权限,构建具有所有租户和关联数据库的权限映射表。
在本实施例中,通过遍历各个租户,确定遍历的租户对应的目标关联数据库和其它关联数据库,以便确定遍历的租户对应的读写权限和只读权限,根据所有租户对应的读写权限和只读权限构建权限映射表,从而保障了获取到的权限映射表的准确性。
进一步地,对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户的步骤,包括:
步骤f,确定与原始数据仓库建立连接的多个客户端,根据预设的业务需求对各所述客户端进行分区处理,并检测所述分区处理的次数是否小于预设次数;
在本实施例中,在进行分区处理时,需要确定与原始数据仓库建立连接的多个客户端,然后可以根据提取设置好的业务需求对各个客户端进行分区处理,将相同业务需求的客户端划分为一类,作为一个租户,并检测分区处理的次数是否小于预设次数,根据不同的检测结果执行不同的操作。
步骤h,若所述分区处理的次数小于预设次数,则根据所述分区处理的结果确定各所述客户端对应的客户端集群,并将所述客户端集群作为租户。
当经过判断发现分区处理的次数小于预设次数,则确定分区处理对应的各个区间内的客户端,并将属于同一个区间内的所有客户端作为一个客户端集群,将客户端集群作为租户,并且由于经过分区处理后的客户端集群是多个,则确定的租户也是多个。若分区处理的次数大于或等于预设次数,则触发预设的告警规则,输出告警信息。
在本实施例中,通过根据预设的业务需求对于原始数据仓库建立连接的多个客户端进行分区处理,并在分区处理小于预设次数时,确定客户端集群,将客户端集群作为租户,从而可以实现根据业务需求将各个客户端划分为多个租户,以便后续实现将原始数据仓库中的元数据迁移至各个租户对应的数据库,为后续进行元数据管理提供了基础。
进一步地,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限的步骤,包括:
步骤k,基于各所述租户确定所述目标客户端对应的目标租户,并根据所述权限映射表对所述目标租户进行鉴权处理,以获取所述鉴权处理的鉴权结果,根据所述鉴权结果确定所述目标客户端是否具有操作所述访问数据库的操作权限。
在本实施例中,当确定元数据请求对应的目标客户端后,需要在各个租户中确定目标客户端所在的租户,并将其作为目标租户,再根据权限映射表对目标租户进行鉴权处理,即将目标租户和权限映射表中的各个租户进行匹配,确定和目标租户匹配的匹配租户,并确定匹配租户是否具有操作访问数据库的操作权限,若具有,则确定对目标租户鉴权成功,确定目标客户端具有操作访问数据库的操作权限。反之,则确定对目标租户鉴权失败,确定目标客户端不具有操作访问数据库的操作权限。
在本实施例中,通过确定目标客户端对应的目标租户,根据权限映射表对目标租户进行鉴权处理,基于鉴权结果确定目标客户端是否具有操作访问数据库的操作权限。从而保障了检测操作权限的准确性。
具体地,根据所述鉴权结果确定所述目标客户端是否具有操作所述访问数据库的操作权限的步骤,包括:
步骤m,若所述鉴权结果失败,则获取预设时间范围内鉴权结果失败的鉴权次数;
步骤n,若所述鉴权次数大于预设定值,则确定所述权限映射表存在异常,并输出权限映射表异常的告警信息;或
步骤q,若所述鉴权次数小于或等于预设定值,则确定所述目标客户端不具有操作所述访问数据库的操作权限。
在本实施例中,当对目标租户鉴权失败时,需要获取预设时间范围(用户提前设置的任意时间范围,其时间结束节点是当前时间节点)内鉴权结果失败的鉴权次数,检测鉴权次数是否大于预设定值(用户提前设置的容易值),若鉴权次数大于预设定值,则确定权限映射表异常,输出权限映射表异常的告警信息,以提醒用户。或者是若鉴权次数小于或等于预设定值,则可以确定目标客户端不具有操作访问数据库的操作权限。若鉴权结果成功,则直接确定目标客户端具有操作访问数据库的操作权限。
在本实施例中,通过在鉴权结果失败时,且预设时间范围内鉴权结果失败的鉴权愁死大于预设定值时,确定权限映射表存在异常,或鉴权次数小于或等于预设定值,确定目标客户端不具有操作权限,从而保障了鉴权操作的准确有效性。
本发明还提供一种元数据管理装置,参照图3,所述元数据管理装置包括:
获取模块A10,用于对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户,将所述原始数据仓库中的元数据迁移至各所述租户对应的数据库,以得到多个关联数据库;
构建模块A20,用于基于各所述关联数据库和各所述租户构建权限映射表;
检测模块A30,用于若接收到各所述客户端中的目标客户端发送的元数据请求,则确定所述元数据请求对应的访问数据库,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限;
反馈模块A40,用于若具有所述操作权限,则根据所述元数据请求对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
可选地,反馈模块A40,用于:
将所述元数据请求发送至预设的元数据代理服务,根据所述元数据代理服务对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
可选地,检测模块A30,用于:
基于所述元数据请求启动预设的元数据服务代理器,对所述元数据服务代理器中的路由进行映射缓存,以得到映射路由,根据所述映射路由对所述元数据请求进行解析,并基于所述解析的解析结果确定所述元数据请求对应的访问数据库。
可选地,构建模块A20,用于:
依次遍历各所述租户,基于各所述关联数据库确定遍历的租户对应的目标关联数据库,并确定各所述关联数据库中除所述目标关联数据库之外的其它关联数据库;
赋予所述遍历的租户读写对应的所述目标关联数据库的读写权限,并赋予所述遍历的租户只读所述其它关联数控库的只读权限;
获取各所述租户对应的读写权限和只读权限,并根据各所述租户对应的读写权限和只读权限构建权限映射表。
可选地,获取模块A10,用于:
确定与原始数据仓库建立连接的多个客户端,根据预设的业务需求对各所述客户端进行分区处理,并检测所述分区处理的次数是否小于预设次数;
若所述分区处理的次数小于预设次数,则根据所述分区处理的结果确定各所述客户端对应的客户端集群,并将所述客户端集群作为租户。
可选地,检测模块A30,用于:
基于各所述租户确定所述目标客户端对应的目标租户,并根据所述权限映射表对所述目标租户进行鉴权处理,以获取所述鉴权处理的鉴权结果,根据所述鉴权结果确定所述目标客户端是否具有操作所述访问数据库的操作权限。
可选地,检测模块A30,用于:
若所述鉴权结果失败,则获取预设时间范围内鉴权结果失败的鉴权次数;
若所述鉴权次数大于预设定值,则确定所述权限映射表存在异常;或,
若所述鉴权次数小于或等于预设定值,则确定所述目标客户端不具有操作所述访问数据库的操作权限。
上述各程序单元所执行的方法可参照本发明元数据管理方法各个实施例,此处不再赘述。
本发明还提供一种计算机存储介质。
本发明计算机存储介质上存储有元数据管理程序,所述元数据管理程序被处理器执行时实现如上所述的元数据管理方法的步骤。
其中,在所述处理器上运行的元数据管理程序被执行时所实现的方法可参照本发明元数据管理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种元数据管理方法,其特征在于,所述元数据管理方法包括如下步骤:
对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户,将所述原始数据仓库中的元数据迁移至各所述租户对应的数据库,以得到多个关联数据库;
基于各所述关联数据库和各所述租户构建权限映射表;
若接收到各所述客户端中的目标客户端发送的元数据请求,则确定所述元数据请求对应的访问数据库,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限;
若具有所述操作权限,则根据所述元数据请求对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
2.如权利要求1所述的元数据管理方法,其特征在于,所述根据所述元数据请求对所述访问数据库进行元数据请求操作的步骤,包括:
将所述元数据请求发送至预设的元数据代理服务,根据所述元数据代理服务对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
3.如权利要求1所述的元数据管理方法,其特征在于,所述确定所述元数据请求对应的访问数据库的步骤,包括:
基于所述元数据请求启动预设的元数据服务代理器,对所述元数据服务代理器中的路由进行映射缓存,以得到映射路由,根据所述映射路由对所述元数据请求进行解析,并基于所述解析的解析结果确定所述元数据请求对应的访问数据库。
4.如权利要求1所述的元数据管理方法,其特征在于,所述基于各所述关联数据库和各所述租户构建权限映射表的步骤,包括:
依次遍历各所述租户,基于各所述关联数据库确定遍历的租户对应的目标关联数据库,并确定各所述关联数据库中除所述目标关联数据库之外的其它关联数据库;
赋予所述遍历的租户读写对应的所述目标关联数据库的读写权限,并赋予所述遍历的租户只读所述其它关联数控库的只读权限;
获取各所述租户对应的读写权限和只读权限,并根据各所述租户对应的读写权限和只读权限构建权限映射表。
5.如权利要求1所述的元数据管理方法,其特征在于,所述对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户的步骤,包括:
确定与原始数据仓库建立连接的多个客户端,根据预设的业务需求对各所述客户端进行分区处理,并检测所述分区处理的次数是否小于预设次数;
若所述分区处理的次数小于预设次数,则根据所述分区处理的结果确定各所述客户端对应的客户端集群,并将所述客户端集群作为租户。
6.如权利要求1-5任一项所述的元数据管理方法,其特征在于,所述基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限的步骤,包括:
基于各所述租户确定所述目标客户端对应的目标租户,并根据所述权限映射表对所述目标租户进行鉴权处理,以获取所述鉴权处理的鉴权结果,根据所述鉴权结果确定所述目标客户端是否具有操作所述访问数据库的操作权限。
7.如权利要求6所述的元数据管理方法,其特征在于,所述根据所述鉴权结果确定所述目标客户端是否具有操作所述访问数据库的操作权限的步骤,包括:
若所述鉴权结果失败,则获取预设时间范围内鉴权结果失败的鉴权次数;
若所述鉴权次数大于预设定值,则确定所述权限映射表存在异常;或,
若所述鉴权次数小于或等于预设定值,则确定所述目标客户端不具有操作所述访问数据库的操作权限。
8.一种元数据管理装置,其特征在于,所述元数据管理装置包括:
获取模块,用于对与原始数据仓库建立连接的多个客户端进行分区处理,以获取多个租户,将所述原始数据仓库中的元数据迁移至各所述租户对应的数据库,以得到多个关联数据库;
构建模块,用于基于各所述关联数据库和各所述租户构建权限映射表;
检测模块,用于若接收到各所述客户端中的目标客户端发送的元数据请求,则确定所述元数据请求对应的访问数据库,基于所述权限映射表检测所述目标客户端是否具有操作所述访问数据库的操作权限;
反馈模块,用于若具有所述操作权限,则根据所述元数据请求对所述访问数据库进行元数据请求操作,并将所述元数据请求操作的操作结果反馈至所述目标客户端。
9.一种元数据管理设备,其特征在于,所述元数据管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的元数据管理程序,所述元数据管理程序被所述处理器执行时实现如权利要求1至7中任一项所述的元数据管理方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有元数据管理程序,所述元数据管理程序被处理器执行时实现如权利要求1至7中任一项所述的元数据管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011297768.1A CN112364110A (zh) | 2020-11-17 | 2020-11-17 | 元数据管理方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011297768.1A CN112364110A (zh) | 2020-11-17 | 2020-11-17 | 元数据管理方法、装置、设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112364110A true CN112364110A (zh) | 2021-02-12 |
Family
ID=74533748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011297768.1A Pending CN112364110A (zh) | 2020-11-17 | 2020-11-17 | 元数据管理方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364110A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988874A (zh) * | 2021-04-08 | 2021-06-18 | 海南车智易通信息技术有限公司 | 一种数据处理方法、系统、计算设备及可读存储介质 |
CN113779625A (zh) * | 2021-08-31 | 2021-12-10 | 成都商汤科技有限公司 | 一种数据访问的方法、装置、电子设备及存储介质 |
CN114238420A (zh) * | 2022-02-24 | 2022-03-25 | 北京仁科互动网络技术有限公司 | 基于多租户架构的元数据使用的方法、装置及电子设备 |
CN114791907A (zh) * | 2022-03-30 | 2022-07-26 | 北京柏睿数据技术股份有限公司 | 一种多租户共享数据的处理方法和系统 |
CN115964444A (zh) * | 2023-02-07 | 2023-04-14 | 敏博科技(武汉)有限公司 | 一种云原生分布式多租户数据库实现方法及系统 |
WO2023077970A1 (zh) * | 2021-11-04 | 2023-05-11 | 腾讯科技(深圳)有限公司 | 一种元数据的管理方法、相关装置、设备以及存储介质 |
CN116521488A (zh) * | 2023-07-03 | 2023-08-01 | 杭州新中大科技股份有限公司 | 基于元数据的自定义单据溯源方法、装置、设备及介质 |
-
2020
- 2020-11-17 CN CN202011297768.1A patent/CN112364110A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988874A (zh) * | 2021-04-08 | 2021-06-18 | 海南车智易通信息技术有限公司 | 一种数据处理方法、系统、计算设备及可读存储介质 |
CN113779625A (zh) * | 2021-08-31 | 2021-12-10 | 成都商汤科技有限公司 | 一种数据访问的方法、装置、电子设备及存储介质 |
WO2023077970A1 (zh) * | 2021-11-04 | 2023-05-11 | 腾讯科技(深圳)有限公司 | 一种元数据的管理方法、相关装置、设备以及存储介质 |
CN114238420A (zh) * | 2022-02-24 | 2022-03-25 | 北京仁科互动网络技术有限公司 | 基于多租户架构的元数据使用的方法、装置及电子设备 |
CN114791907A (zh) * | 2022-03-30 | 2022-07-26 | 北京柏睿数据技术股份有限公司 | 一种多租户共享数据的处理方法和系统 |
CN115964444A (zh) * | 2023-02-07 | 2023-04-14 | 敏博科技(武汉)有限公司 | 一种云原生分布式多租户数据库实现方法及系统 |
CN116521488A (zh) * | 2023-07-03 | 2023-08-01 | 杭州新中大科技股份有限公司 | 基于元数据的自定义单据溯源方法、装置、设备及介质 |
CN116521488B (zh) * | 2023-07-03 | 2024-03-26 | 杭州新中大科技股份有限公司 | 基于元数据的自定义单据溯源方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112364110A (zh) | 元数据管理方法、装置、设备及计算机存储介质 | |
US11711420B2 (en) | Automated management of resource attributes across network-based services | |
US9971823B2 (en) | Dynamic replica failure detection and healing | |
KR101925696B1 (ko) | 대규모 데이터 스트림들의 획득, 저장, 및 소비를 위한 관리 서비스 | |
US8255409B2 (en) | Systems and methods for generating a change log for files in a managed network | |
US8825817B1 (en) | Using a template to update a stack of resources | |
US10972435B2 (en) | Dynamic discovery of executing applications | |
CN112989330B (zh) | 容器的入侵检测方法、装置、电子设备及存储介质 | |
CN111324606B (zh) | 数据分片的方法及装置 | |
US8660996B2 (en) | Monitoring files in cloud-based networks | |
US9514176B2 (en) | Database update notification method | |
CN108287894B (zh) | 数据处理方法、装置、计算设备及存储介质 | |
CN113037891B (zh) | 边缘计算系统中有状态应用的访问方法、装置及电子设备 | |
CN113835836B (zh) | 动态发布容器服务的系统、方法、计算机设备及介质 | |
CN107992491A (zh) | 一种分布式文件系统、数据访问和数据存储的方法及装置 | |
CN110706148B (zh) | 人脸图像处理方法、装置、设备和存储介质 | |
US20150150081A1 (en) | Template representation of security resources | |
US20230344781A1 (en) | Grouping resource metadata tags | |
US20140040479A1 (en) | Method for a self organizing load balance in a cloud file server network | |
CN117389830A (zh) | 集群日志采集方法、装置、计算机设备及存储介质 | |
CN111399999A (zh) | 计算机资源处理方法、装置、可读存储介质和计算机设备 | |
US11777810B2 (en) | Status sharing in a resilience framework | |
US8650548B2 (en) | Method to derive software use and software data object use characteristics by analyzing attributes of related files | |
US11709750B2 (en) | Dynamically mapping software infrastructure utilization | |
CN114816914A (zh) | 基于Kubernetes的数据处理方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |