CN116305288B - 一种隔离数据库资源的方法、装置、设备和存储介质 - Google Patents

一种隔离数据库资源的方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN116305288B
CN116305288B CN202310450702.9A CN202310450702A CN116305288B CN 116305288 B CN116305288 B CN 116305288B CN 202310450702 A CN202310450702 A CN 202310450702A CN 116305288 B CN116305288 B CN 116305288B
Authority
CN
China
Prior art keywords
database
environment
target
current service
configuration file
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.)
Active
Application number
CN202310450702.9A
Other languages
English (en)
Other versions
CN116305288A (zh
Inventor
黄贤栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Easy Yikang Information Technology Co ltd
Original Assignee
Beijing Qingsongchou Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qingsongchou Information Technology Co ltd filed Critical Beijing Qingsongchou Information Technology Co ltd
Priority to CN202310450702.9A priority Critical patent/CN116305288B/zh
Publication of CN116305288A publication Critical patent/CN116305288A/zh
Application granted granted Critical
Publication of CN116305288B publication Critical patent/CN116305288B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种隔离数据库资源的方法、装置、设备和存储介质,该方法包括,当前服务环境连接目标数据库时,拦截当前服务环境对应的数据库请求指令,其中,当前服务环境为服务环境中的一种,服务环境包括线上环境、开发环境、测试环境和预发布环境;解析数据库请求指令,获取当前服务环境对应的配置文件;根据配置文件,生成对应数据库资源隔离组件;利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源。通过该方法可以达到准确的隔离数据库资源的效果。

Description

一种隔离数据库资源的方法、装置、设备和存储介质
技术领域
本申请涉及隔离数据库资源的领域,具体而言,涉及一种隔离数据库资源的方法、装置、设备和存储介质。
背景技术
目前公司的服务环境分为线上环境和预发布环境,为了更贴近线上环境,预发布环境和线上环境公用了数据库。由于两个环境都在读写同一个数据库,就会导致预发布写入的测试数据污染了线上数据,进而影响了线上功能。现有数据库资源区分方法主要是将每个数据库都手动添加隔离标识,根据隔离标识实现数据库资源的隔离。
上述手动添加隔离标识隔离数据库资源的方法存在很大的局限性,可能会有隔离标识遗漏或者错加的风险,导致最终数据库资源隔离的不够准确。
因此,如何准确的隔离数据库资源,是一个需要解决的技术问题。
发明内容
本申请实施例的目的在于提供一种隔离数据库资源的方法,通过本申请的实施例的技术方案可以达到准确的隔离数据库资源的效果。
第一方面,本申请实施例提供了一种隔离数据库资源的方法,包括,当前服务环境连接目标数据库时,拦截当前服务环境对应的数据库请求指令,其中,当前服务环境为服务环境中的一种,服务环境包括线上环境、开发环境、测试环境和预发布环境;解析数据库请求指令,获取当前服务环境对应的配置文件;根据配置文件,生成对应数据库资源隔离组件;利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源。
本申请在上述实施例中,通过拦截连接数据库的数据库请求指令,可以匹配当前服务环境对应数据库资源隔离组件的配置文件,进而通过配置文件可以快速生成数据库资源隔离组件,通过该数据库资源隔离组件可以达到准确的隔离数据库资源的效果。
在一些实施例中,解析数据库请求指令,获取当前服务环境对应的配置文件,包括:
解析数据库请求指令,得到当前服务环境对应的环境标识;
确定请求连接的目标数据库是否存在环境标识;
当确定请求连接的目标数据库不存在环境标识时,重写目标数据库,并获取重写后目标数据库对应的配置文件;
当确定请求连接的目标数据库存在环境标识时,获取目标数据库对应的配置文件。
本申请在上述实施例中,通过解析数据库请求指令对应的环境标识,并判断数据库中是否存在该标识,可以直接获取对应配置文件或者重写数据库之后获取对应的配置文件,准确的获取生成数据库资源隔离组件对应的配置文件。
在一些实施例中,重写目标数据库,并获取重写后目标数据库对应的配置文件,包括:
将当前服务环境对应的环境标识添加至目标数据库中,得到重写后目标数据库;
匹配重写后目标数据库对应的配置文件或者配置重写后目标数据库对应的配置文件。
本申请在上述实施例中,通过对目标数据库重写之后,可以对数据库添加对应的环境标识,用于作为是否匹配所述当前服务环境的匹配条件,可以准确的根据匹配条件获取对应的配置文件。
在一些实施例中,重写目标数据库,并获取重写后目标数据库对应的配置文件,包括:
确定目标数据库是否为聚合数据库;
当确定目标数据库为聚合数据库时,根据目标数据库的聚合方式重写目标数据库并获取重写后目标数据库对应的配置文件;
当确定目标数据库不是聚合数据库时,根据目标数据库的数据库语言类型重写目标数据库并获取重写后目标数据库对应的配置文件。
本申请在上述实施例中,可以根据目标数据库的类型通过不同的方式重写目标数据库,达到针对目标数据库语言类型准确获取对应配置文件的效果。
在一些实施例中,拦截当前服务环境对应的数据库请求指令,包括:
通过拦截器提供的拦截接口,拦截当前服务环境对应的数据库请求指令。
本申请在上述实施例中,通过拦截器可以准确的拦截数据库请求指令。
在一些实施例中,根据配置文件,生成对应数据库资源隔离组件,包括:
根据配置文件,配置对应的全局表或者目标表;
生成全局表或者目标表对应的数据库资源隔离组件。
本申请在上述实施例中,根据配置文件可以一键配置全局表或者目标表,进而达到一键生成数据库资源隔离组件的效果。
在一些实施例中,利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源,包括:
通过数据库资源隔离组件,识别目标数据库中的环境标识;
隔离环境标识对应的数据库资源。
本申请在上述实施例中,通过匹配环境标识,可以准确的隔离该环境标识对应的数据库资源。
第二方面,本申请实施例提供了一种隔离数据库资源的装置,包括:
拦截模块,用于当前服务环境连接目标数据库时,拦截当前服务环境对应的数据库请求指令,其中,当前服务环境为服务环境中的一种,服务环境包括线上环境、开发环境、测试环境和预发布环境;
获取模块,用于解析数据库请求指令,获取当前服务环境对应的配置文件;
生成模块,用于根据配置文件,生成对应数据库资源隔离组件;
隔离模块,用于利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源。
可选的,获取模块具体用于:
解析数据库请求指令,得到当前服务环境对应的环境标识;
确定请求连接的目标数据库是否存在环境标识;
当确定请求连接的目标数据库不存在环境标识时,重写目标数据库,并获取重写后目标数据库对应的配置文件;
当确定请求连接的目标数据库存在环境标识时,获取目标数据库对应的配置文件。
可选的,获取模块具体用于:
将当前服务环境对应的环境标识添加至目标数据库中,得到重写后目标数据库;
匹配重写后目标数据库对应的配置文件或者配置重写后目标数据库对应的配置文件。
可选的,获取模块具体用于:
确定目标数据库是否为聚合数据库;
当确定目标数据库为聚合数据库时,根据目标数据库的聚合方式重写目标数据库并获取重写后目标数据库对应的配置文件;
当确定目标数据库不是聚合数据库时,根据目标数据库的数据库语言类型重写目标数据库并获取重写后目标数据库对应的配置文件。
可选的,拦截模块具体用于:
通过拦截器提供的拦截接口,拦截当前服务环境对应的数据库请求指令。
可选的,生成模块具体用于:
根据配置文件,配置对应的全局表或者目标表;
生成全局表或者目标表对应的数据库资源隔离组件。
可选的,隔离模块具体用于:
通过数据库资源隔离组件,识别目标数据库中的环境标识;
隔离环境标识对应的数据库资源。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种隔离数据库资源的方法的流程图;
图2为本申请实施例提供的一种隔离数据库资源的实施方法的流程图;
图3为本申请实施例提供的一种隔离数据库资源的装置的示意框图;
图4为本申请实施例提供的一种隔离数据库资源的装置的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和显示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
首先对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
终端设备:可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统设备、个人导航设备、个人数字助理、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,终端设备能够支持任意类型的针对用户的接口(例如可穿戴设备)等。
服务器:可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
SQL :(Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。
本申请应用于隔离数据库资源的场景,具体场景为通过拦截连接数据库的指令,根据当前服务环境的配置文件生成隔离数据库资源的隔离组件,进而实现数据库资源的隔离。
目前公司的服务环境分为线上环境和预发布环境,为了更贴近线上环境,预发布环境和线上环境公用了数据库。由于两个环境都在读写同一个数据库,就会导致预发布写入的测试数据污染了线上数据,进而影响了线上功能。现有数据库资源区分方法主要是将每个数据库都手动添加隔离标识,根据隔离标识实现数据库资源的隔离。上述手动添加隔离标识隔离数据库资源的方法存在很大的局限性,可能会有隔离标识遗漏或者错加的风险,导致最终数据库资源隔离的不够准确。
为此本申请通过当前服务环境连接目标数据库时,拦截当前服务环境对应的数据库请求指令,其中,当前服务环境为服务环境中的一种,服务环境包括线上环境、开发环境、测试环境和预发布环境;解析数据库请求指令,获取当前服务环境对应的配置文件;根据配置文件,生成对应数据库资源隔离组件;利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源。通过拦截连接数据库的数据库请求指令,可以匹配当前服务环境对应数据库资源隔离组件的配置文件,进而通过配置文件可以快速生成数据库资源隔离组件,通过该数据库资源隔离组件可以达到准确的隔离数据库资源的效果。
本申请实施例中,执行主体可以为隔离数据库资源系统中的隔离数据库资源设备,实际应用中,隔离数据库资源设备可以为终端设备和服务器等电子设备,在此不做限制。
下面结合图1对本申请实施例的隔离数据库资源的方法进行详细描述。
请参看图1,图1为本申请实施例提供的一种隔离数据库资源的方法的流程图,如图1所示的隔离数据库资源的方法包括:
步骤110:当前服务环境连接目标数据库时,拦截当前服务环境对应的数据库请求指令。
其中,当前服务环境为服务环境中的一种,服务环境包括线上环境、开发环境、测试环境和预发布环境等等,本申请不限于此,而目标数据库则可以是除当前服务环境之外的其它服务环境所访问的数据库。目标数据库可以是服务环境中的一个服务环境所连接的数据库(SQL),也可以是服务环境中的多个服务环境公用的数据库。数据库请求指令可以是服务器或者客户端访问数据库时所发出的请求访问的指令,其包括一个访问指令和访问的环境标识,也可以将环境标识作为一个访问数据库的条件。
在本申请的一些实施例中,拦截当前服务环境对应的数据库请求指令,包括:通过拦截器提供的拦截接口,拦截当前服务环境对应的数据库请求指令。
本申请在上述过程中,通过拦截器可以准确的拦截数据库请求指令。
其中,拦截器(mybatis)可以提供一个拦截接口(Interceptor),用于拦截服务环境访问数据库时发出的请求访问指令。
步骤120:解析数据库请求指令,获取当前服务环境对应的配置文件。
其中,可以通过控制解析器(StatementHandler)解析出具体访问目标数据库的服务环境的环境标识,根据环境标识获取预设的配置文件或者重写目标数据库后配置新的配置文件,并将对应的环境标识添加至重写后的数据库中,进而通过解析出的环境标识匹配重写后的数据库中的环境标识,进而获取对应的配置文件。配置文件包括全局的配置表和/或目标表,全局的配置表和/目标表用于配置对应的隔离组件。可以支持多种数据库语言数据库请求指的解析,例如,多表查询、子查询和关联查询等。
在本申请的一些实施例中,解析数据库请求指令,获取当前服务环境对应的配置文件,包括:解析数据库请求指令,得到当前服务环境对应的环境标识;确定请求连接的目标数据库是否存在环境标识;当确定请求连接的目标数据库不存在环境标识时,重写目标数据库,并获取重写后目标数据库对应的配置文件;当确定请求连接的目标数据库存在环境标识时,获取目标数据库对应的配置文件。
本申请在上述过程中,通过解析数据库请求指令对应的环境标识,并判断数据库中是否存在该标识,可以直接获取对应配置文件或者重写数据库之后获取对应的配置文件,准确的获取生成数据库资源隔离组件对应的配置文件。
其中,所述环境标识用于确定当前服务环境的类型,可以通过环境标识匹配数据库中的环境标识,进而针对性的获取对应的配置文件。
在本申请的一些实施例中,重写目标数据库,并获取重写后目标数据库对应的配置文件,包括:将当前服务环境对应的环境标识添加至目标数据库中,得到重写后目标数据库;匹配重写后目标数据库对应的配置文件或者配置重写后目标数据库对应的配置文件。
本申请在上述过程中,通过对目标数据库重写之后,可以对数据库添加对应的环境标识,用于作为是否匹配所述当前服务环境的匹配条件,可以准确的根据匹配条件获取对应的配置文件。
在本申请的一些实施例中,重写目标数据库,并获取重写后目标数据库对应的配置文件,包括:确定目标数据库是否为聚合数据库;当确定目标数据库为聚合数据库时,根据目标数据库的聚合方式重写目标数据库并获取重写后目标数据库对应的配置文件;当确定目标数据库不是聚合数据库时,根据目标数据库的数据库语言类型重写目标数据库并获取重写后目标数据库对应的配置文件。
本申请在上述过程中,可以根据目标数据库的类型通过不同的方式重写目标数据库,达到针对目标数据库语言类型准确获取对应配置文件的效果。
其中,聚合数据库表示多种类型的数据库聚合到一起得到的数据库。聚合方式可以是通过数据库聚合函数实现数据库的聚合,可以是将数据库语言类型相关的数据库进行聚合。数据库语言类型包括插入、选择、删除和更新等类型。
步骤130:根据配置文件,生成对应数据库资源隔离组件。
在本申请的一些实施例中,根据配置文件,生成对应数据库资源隔离组件,包括:根据配置文件,配置对应的全局表或者目标表;生成全局表或者目标表对应的数据库资源隔离组件。
本申请在上述过程中,根据配置文件可以一键配置全局表或者目标表,进而达到一键生成数据库资源隔离组件的效果。
其中,全局表是用于配置隔离整个目标数据库的隔离组件配置表,目标表是用于配置目标数据库中当前服务环境对应的数据库资源的隔离组件配置表。
步骤140:利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源。
在本申请的一些实施例中,利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源,包括:通过数据库资源隔离组件,识别目标数据库中的环境标识;隔离环境标识对应的数据库资源。
本申请在上述过程中,通过匹配环境标识,可以准确的隔离该环境标识对应的数据库资源。
其中,环境标识和隔离数据库资源所用的隔离字段可以根据需求自定义设置。
在上述图1所示的过程中,本申请通过当前服务环境连接目标数据库时,拦截当前服务环境对应的数据库请求指令,其中,当前服务环境为服务环境中的一种,服务环境包括线上环境、开发环境、测试环境和预发布环境;解析数据库请求指令,获取当前服务环境对应的配置文件;根据配置文件,生成对应数据库资源隔离组件;利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源。通过拦截连接数据库的数据库请求指令,可以匹配当前服务环境对应数据库资源隔离组件的配置文件,进而通过配置文件可以快速生成数据库资源隔离组件,通过该数据库资源隔离组件可以达到准确的隔离数据库资源的效果。
下面结合图2对本申请实施例的隔离数据库资源的实施方法进行详细描述。
请参看图2,图2为本申请实施例提供的一种隔离数据库资源的实施方法的流程图,如图2所示的隔离数据库资源的实施方法包括:
步骤210:拦截sql执行指令。
具体的:当前服务环境连接目标数据库时,拦截当前服务环境对应的数据库请求指令。
步骤220:解析sql执行指令。
具体的:解析数据库请求指令,获取当前服务环境对应环境标识。
步骤230:读取表和目标字段配置。
具体的:匹配所述环境标识对应的表和目标字段,并获取对应的配置文件。
步骤240:确定是否重写sql。
具体的:确定请求连接的目标数据库是否存在环境标识,是否需要重写数据库,不存在时需要重写数据库,进入步骤250,存在时不需要重写数据库,进入步骤260。
步骤250:重写sql。
具体的:将当前服务环境对应的环境标识添加至目标数据库中,得到重写后目标数据库。
步骤260:生成隔离组件。
具体的:根据配置文件,生成对应数据库资源隔离组件。
步骤270:隔离sql资源。
具体的:利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源。
此外,图2所示的具体方法和步骤可以参看图1所示的方法,此处不在过多赘述。
前文通过图1-图2描述了隔离数据库资源的方法和实施方法,下面结合图3-图4描述隔离数据库资源的装置。
请参照图3,为本申请实施例中提供的一种隔离数据库资源的装置300的示意框图,该装置300可以是电子设备上的模块、程序段或代码。该装置300与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置300具体的功能可以参见下文中的描述,为避免重复,此处适当省略详细描述。
可选的,所述装置300包括:
拦截模块310,用于当前服务环境连接目标数据库时,拦截当前服务环境对应的数据库请求指令,其中,当前服务环境为服务环境中的一种,服务环境包括线上环境、开发环境、测试环境和预发布环境;
获取模块320,用于解析数据库请求指令,获取当前服务环境对应的配置文件;
生成模块330,用于根据配置文件,生成对应数据库资源隔离组件;
隔离模块340,用于利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源。
可选的,获取模块具体用于:
解析数据库请求指令,得到当前服务环境对应的环境标识;确定请求连接的目标数据库是否存在环境标识;当确定请求连接的目标数据库不存在环境标识时,重写目标数据库,并获取重写后目标数据库对应的配置文件;当确定请求连接的目标数据库存在环境标识时,获取目标数据库对应的配置文件。
可选的,获取模块具体用于:
将当前服务环境对应的环境标识添加至目标数据库中,得到重写后目标数据库;匹配重写后目标数据库对应的配置文件或者配置重写后目标数据库对应的配置文件。
可选的,获取模块具体用于:
确定目标数据库是否为聚合数据库;当确定目标数据库为聚合数据库时,根据目标数据库的聚合方式重写目标数据库并获取重写后目标数据库对应的配置文件;当确定目标数据库不是聚合数据库时,根据目标数据库的数据库语言类型重写目标数据库并获取重写后目标数据库对应的配置文件。
可选的,拦截模块具体用于:
通过拦截器提供的拦截接口,拦截当前服务环境对应的数据库请求指令。
可选的,生成模块具体用于:
根据配置文件,配置对应的全局表或者目标表;生成全局表或者目标表对应的数据库资源隔离组件。
可选的,隔离模块具体用于:
通过数据库资源隔离组件,识别目标数据库中的环境标识;隔离环境标识对应的数据库资源。
请参照图4为本申请实施例中提供的一种隔离数据库资源的装置的结构示意图,该装置可以包括存储器410和处理器420。可选的,该装置还可以包括:通信接口430和通信总线440。该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见下文中的描述。
具体的,存储器410,用于存储计算机可读指令。
处理器420,用于处理存储器存储的可读指令,能够执行图1方法中的各个步骤。
通信接口430,用于与其他节点设备进行信令或数据的通信。例如:用于与服务器或者终端的通信,或者与其它设备节点进行通信,本申请实施例并不限于此。
通信总线440,用于实现上述组件直接的连接通信。
其中,本申请实施例中设备的通信接口430用于与其他节点设备进行信令或数据的通信。存储器410可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器410可选的还可以是至少一个位于远离前述处理器的存储装置。存储器410中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器420执行时,电子设备执行上述图1所示方法过程。处理器420可以用于装置300上,并且用于执行本申请中的功能。示例性地,上述的处理器420可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,本申请实施例并不局限于此。
本申请实施例还提供一种可读存储介质,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本申请实施例提供一种隔离数据库资源的方法、装置、电子设备和可读存储介质,该方法包括,当前服务环境连接目标数据库时,拦截当前服务环境对应的数据库请求指令,其中,当前服务环境为服务环境中的一种,服务环境包括线上环境、开发环境、测试环境和预发布环境;解析数据库请求指令,获取当前服务环境对应的配置文件;根据配置文件,生成对应数据库资源隔离组件;利用数据库资源隔离组件,隔离当前服务环境连接的数据库资源。通过该方法可以达到准确的隔离数据库资源的效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (9)

1.一种隔离数据库资源的方法,其特征在于,包括:
当前服务环境连接目标数据库时,拦截所述当前服务环境对应的数据库请求指令,其中,所述当前服务环境为服务环境中的一种,所述服务环境包括线上环境、开发环境、测试环境和预发布环境;
解析所述数据库请求指令,获取所述当前服务环境对应的配置文件;
根据所述配置文件,生成对应数据库资源隔离组件;
利用所述数据库资源隔离组件,隔离所述当前服务环境连接的数据库资源;
所述根据所述配置文件,生成对应数据库资源隔离组件,包括:根据所述配置文件,配置对应的全局表或者目标表;生成所述全局表或者所述目标表对应的所述数据库资源隔离组件,其中,所述全局表是用于配置隔离整个目标数据库对应数据库资源隔离组件的隔离组件配置表,目标表是用于配置隔离所述当前服务环境的数据库资源对应数据库资源隔离组件的隔离组件配置表。
2.根据权利要求1所述的方法,其特征在于,所述解析所述数据库请求指令,获取所述当前服务环境对应的配置文件,包括:
解析所述数据库请求指令,得到所述当前服务环境对应的环境标识;
确定请求连接的所述目标数据库是否存在所述环境标识;
当确定请求连接的所述目标数据库不存在所述环境标识时,重写所述目标数据库,并获取重写后目标数据库对应的配置文件;
当确定请求连接的所述目标数据库存在所述环境标识时,获取所述目标数据库对应的配置文件。
3.根据权利要求2所述的方法,其特征在于,所述重写所述目标数据库,并获取重写后目标数据库对应的配置文件,包括:
将所述当前服务环境对应的所述环境标识添加至所述目标数据库中,得到所述重写后目标数据库;
匹配所述重写后目标数据库对应的配置文件或者配置所述重写后目标数据库对应的配置文件。
4.根据权利要求2所述的方法,其特征在于,所述重写所述目标数据库,并获取重写后目标数据库对应的配置文件,包括:
确定所述目标数据库是否为聚合数据库;
当确定所述目标数据库为所述聚合数据库时,根据所述目标数据库的聚合方式重写所述目标数据库并获取所述重写后目标数据库对应的配置文件;
当确定所述目标数据库不是所述聚合数据库时,根据所述目标数据库的数据库语言类型重写所述目标数据库并获取所述重写后目标数据库对应的配置文件。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述拦截所述当前服务环境对应的数据库请求指令,包括:
通过拦截器提供的拦截接口,拦截所述当前服务环境对应的所述数据库请求指令。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述利用所述数据库资源隔离组件,隔离所述当前服务环境连接的数据库资源,包括:
通过所述数据库资源隔离组件,识别所述目标数据库中的环境标识;
隔离所述环境标识对应的所述数据库资源。
7.一种隔离数据库资源的装置,其特征在于,包括:
拦截模块,用于当前服务环境连接目标数据库时,拦截所述当前服务环境对应的数据库请求指令,其中,所述当前服务环境为服务环境中的一种,所述服务环境包括线上环境、开发环境、测试环境和预发布环境;
获取模块,用于解析所述数据库请求指令,获取所述当前服务环境对应的配置文件;
生成模块,用于根据所述配置文件,生成对应数据库资源隔离组件;
隔离模块,用于利用所述数据库资源隔离组件,隔离所述当前服务环境连接的数据库资源;
所述生成模块具体用于:根据所述配置文件,配置对应的全局表或者目标表;生成所述全局表或者所述目标表对应的所述数据库资源隔离组件,其中,所述全局表是用于配置隔离整个目标数据库对应数据库资源隔离组件的隔离组件配置表,目标表是用于配置隔离所述当前服务环境的数据库资源对应数据库资源隔离组件的隔离组件配置表。
8.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-6中任一项所述方法中的步骤。
9.一种计算机可读存储介质,其特征在于,包括:
计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的方法。
CN202310450702.9A 2023-04-25 2023-04-25 一种隔离数据库资源的方法、装置、设备和存储介质 Active CN116305288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310450702.9A CN116305288B (zh) 2023-04-25 2023-04-25 一种隔离数据库资源的方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310450702.9A CN116305288B (zh) 2023-04-25 2023-04-25 一种隔离数据库资源的方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN116305288A CN116305288A (zh) 2023-06-23
CN116305288B true CN116305288B (zh) 2023-09-22

Family

ID=86788895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310450702.9A Active CN116305288B (zh) 2023-04-25 2023-04-25 一种隔离数据库资源的方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN116305288B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527310A (zh) * 2020-12-15 2021-03-19 平安国际智慧城市科技股份有限公司 多租户数据隔离方法、装置、计算机设备及存储介质
CN113301155A (zh) * 2021-05-24 2021-08-24 挂号网(杭州)科技有限公司 数据路由方法、装置、设备和存储介质
CN114356521A (zh) * 2021-12-30 2022-04-15 挂号网(杭州)科技有限公司 任务调度方法、装置、电子设备及存储介质
CN114925066A (zh) * 2022-05-13 2022-08-19 京东科技控股股份有限公司 数据处理方法、装置、电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527310A (zh) * 2020-12-15 2021-03-19 平安国际智慧城市科技股份有限公司 多租户数据隔离方法、装置、计算机设备及存储介质
CN113301155A (zh) * 2021-05-24 2021-08-24 挂号网(杭州)科技有限公司 数据路由方法、装置、设备和存储介质
CN114356521A (zh) * 2021-12-30 2022-04-15 挂号网(杭州)科技有限公司 任务调度方法、装置、电子设备及存储介质
CN114925066A (zh) * 2022-05-13 2022-08-19 京东科技控股股份有限公司 数据处理方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN116305288A (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
US11277498B2 (en) Method, apparatus and system for processing data
US9460138B2 (en) Managing an index of a table of a database
CN111258978B (zh) 一种数据存储的方法
US11310066B2 (en) Method and apparatus for pushing information
US10891302B2 (en) Scalable synchronization with cache and index management
CN107103011B (zh) 终端数据搜索的实现方法和装置
CN109783543B (zh) 数据查询方法、装置、设备和存储介质
CN111767407A (zh) 用可搜索的地理时间值对知识图条目进行编码以评估实体提及的传递地理时间接近度
US9665732B2 (en) Secure Download from internet marketplace
CN112954043B (zh) 基于网站访问日志识别用户的方法及计算机设备
CN108154024B (zh) 一种数据检索方法、装置及电子设备
CN111506611A (zh) 数据的查询方法、装置、设备及存储介质
CN115168362A (zh) 数据处理方法、装置、可读介质及电子设备
JP6779307B2 (ja) ページ表示のための方法及び装置
WO2022057525A1 (zh) 一种数据找回方法、装置、电子设备及存储介质
CN112783842B (zh) 一种日志收集方法和装置
CN112491943B (zh) 数据请求方法、装置、存储介质和电子设备
CN112579877B (zh) 信源系统的控制方法、装置、存储介质和设备
CN116305288B (zh) 一种隔离数据库资源的方法、装置、设备和存储介质
US12001458B2 (en) Multi-cloud object store access
CN114371969B (zh) 一种页面性能测试方法、装置、电子设备及存储介质
CN117009430A (zh) 数据管理方法、装置和存储介质及电子设备
US10114864B1 (en) List element query support and processing
CN113486025A (zh) 数据存储方法、数据查询方法及装置
CN112181391A (zh) 一种可动态扩展数据的方法及系统

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Room 716, floor 7, building 2, No. 28 Andingmen East Street, Dongcheng District, Beijing 100010

Patentee after: Beijing Easy Yikang Information Technology Co.,Ltd.

Address before: Room 716, floor 7, building 2, No. 28 Andingmen East Street, Dongcheng District, Beijing 100010

Patentee before: BEIJING QINGSONGCHOU INFORMATION TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder