CN107391558A - 用于操作数据库集群的方法、装置及系统 - Google Patents
用于操作数据库集群的方法、装置及系统 Download PDFInfo
- Publication number
- CN107391558A CN107391558A CN201710427385.3A CN201710427385A CN107391558A CN 107391558 A CN107391558 A CN 107391558A CN 201710427385 A CN201710427385 A CN 201710427385A CN 107391558 A CN107391558 A CN 107391558A
- Authority
- CN
- China
- Prior art keywords
- data
- user instruction
- implementing result
- database
- cluster
- 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
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/21—Design, administration or maintenance of databases
-
- 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/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于操作数据库集群的方法、装置及系统,其中,方法包括:获取用户指令;将所述用户指令传输至所述数据库集群,以指示所述数据库集群根据所述用户指令执行数据库操作;获取所述数据库操作的执行结果;屏蔽所述执行结果中的敏感信息;输出经屏蔽的执行结果。采用本发明方法,用户可自行进行数据库操作,无需再找数据库管理员沟通,提高工作效率,释放人力,实现自动化。
Description
技术领域
本发明涉及数据库运维管理,尤其涉及用于操作数据库集群的方法、装置及系统。
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
背景技术
作为数据及业务应用的总控中心,数据库生产环境提供关键业务应用的核心计算,它对于企业的重要性无异于心脏之于人体。随着繁忙的业务处理带来巨大的压力,数据库生产环境要确保关键业务7×24小时连续运行,才能保证业务的稳定开展,并为业务发展输送源源不绝的动力。
负责管理和维护数据库的人员称为数据库管理员(Database Administrator,简称DBA),大型企业的数据库管理通常由一个团队负责管理和控制数据库系统,处理各项维护工作,故障处理以及工程的实施。
目前各项数据库管理工作由一线数据库管理员操作实施,出现问题或者技术能力不足时,必须通过邮件、电话、IM(即时通讯)工具等沟通方法,要求后端专家支援,处理不够及时,无法第一时间进行操作。
发明内容
为了解决上述的以及其他潜在的技术问题,本发明的实施例提供了一种用于操作数据库集群的方法、一种用于操作数据库集群的装置和一种用于操作数据库集群的系统。
本发明的第一方面提供了一种用于操作数据库集群的方法的实施例,其包括:
获取用户指令;
将所述用户指令传输至所述数据库集群,以指示所述数据库集群根据所述用户指令执行数据库操作;
获取所述数据库操作的执行结果;
屏蔽所述执行结果中的敏感信息;
输出经屏蔽的执行结果。
采用上述实施例的用于操作数据库集群的方法,可便于用户自行登录数据库集群,执行相关操作,无需依赖数据库管理员,实现数据库运维管理的自动化,提高工作效率,释放人力。
在一些实施例中,所述获取用户指令,包括:
经由跳转服务器获取所述用户指令。
在一些实施例中,所述方法还包括:获取用户权限信息;
并且其中,所述屏蔽所述执行结果中的敏感信息,包括:
根据所述用户权限信息屏蔽所述执行结果中的敏感信息。
在一些实施例中,将所述用户指令发送至所述数据库集群,以指示所述数据库集群根据所述用户指令执行数据库操作包括:
获取来自数据库集群的所述数据库操作的执行计划;
输出所述执行计划;
响应于获取所述执行计划的确认指令,指示所述数据库集群执行所述执行计划。
在一些实施例中,所述方法还包括:记录下列至少一项:
所述用户指令;
所述执行结果;
所述经屏蔽的执行结果。
本发明的第二方面提供了一种用于操作数据库集群的装置的实施例,其包括:
第一获取模块,用于获取用户指令;
传输模块,用于将所述用户指令传输至所述数据库集群,以指示所述数据库集群根据所述用户指令执行数据库操作;
第二获取模块,用于获取所述数据库操作的执行结果;
屏蔽模块,用于屏蔽所述执行结果中的敏感信息;
输出模块,用于输出经屏蔽的执行结果。
所述第一获取模块用于经由跳转服务器获取所述用户指令。
在一些实施例中,所述第一获取模块还用于获取用户权限信息;
并且其中,所述屏蔽模块用于根据所述用户权限信息屏蔽所述执行结果中的敏感信息。
在一些实施例中,所述传输模块包括:
获取子模块,用于获取来自数据库集群的所述数据库操作的执行计划;
输出子模块,用于输出所述执行计划;
指示子模块,用于响应于获取所述执行计划的确认指令,指示所述数据库集群执行所述执行计划。
在一些实施例中,还包括记录模块,所述记录模块用于记录下列至少一项:
所述用户指令;
所述执行结果;
所述经屏蔽的执行结果。
本发明的第三方面提供了一种用于操作数据库集群的系统的实施例,其包括:
根据本发明的第二方面的用于操作数据库集群的装置;
数据库集群,用于接收来自所述用于操作数据库集群的装置的用户指令,并且根据所述用户指令执行数据库操作。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明用于操作数据库集群的系统的实施例的总体架构图。
图2为本发明用于操作数据库集群的装置的实施例的功能模块示意图。
图3为本发明用于操作数据库集群的系统的实施例的功能模块示意图。
图4为本发明用于操作数据库集群方法的实施例的总体流程图。
图5为本发明用于操作数据库集群的装置实现查询、脱敏功能的实施例的操作流程图。
图6为本发明用于操作数据库集群的装置实现数据导出功能的实施例的操作流程图。
图7为本发明用于操作数据库集群的装置实现数据导入功能的实施例的操作流程图。
图8为本发明用于操作数据库集群的装置实现数据迁移功能的实施例的操作流程图。
图9为本发明用于操作数据库集群的装置实现申请权限功能的实施例的操作流程图。
图10为本发明用于操作数据库集群的装置实现审计功能的实施例的操作流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
通常情况下,为保证数据安全,系统规范,研发、测试人员不允许直接访问数据库,由数据库管理员统一管理维护,但是某些场景下,研发、测试人员需要查询生产环境的数据,比如业务分析、定位问题等,就需要数据库管理员代为执行,然后将执行结果转给研发、测试同事。经常出现这些情况,数据库管理员半夜三更被研发同事电话叫醒,只为查询一条数据;一群研发、测试人员围着数据库管理员,排队等着执行SQL(Structured QueryLanguage,结构化查询语言)语句。
针对目前数据库运维管理中存在效率低下的问题,本发明实施例提供了一种用于操作数据库集群的方法、一种用于操作数据库集群的装置和一种用于操作数据库集群的系统。,其中,实施例中的用于操作数据库集群的装置(以下简称装置)与数据库集群交互连接,该装置上线后,研发、测试人员可以登录装置自行查询SQL,无需再找数据库管理员沟通,提高工作效率,释放人力,而且可以将数据以excel、txt、csv等格式导出,便于业务分析,可以设置敏感规则,防止敏感数据泄露。
下面结合附图及具体实施方式对本发明作进一步详细的说明。
首先,参阅图1所示,其为本发明用于操作数据库集群的系统的实施例的总体架构图。图中,本发明实施例中的用于操作数据库集群的系统主要包括用于操作数据库集群的装置10以及数据库集群13,其中:
用于操作数据库集群的装置10,用于:
获取用户指令;
将该用户指令传输至数据库集群,以指示数据库集群根据该用户指令执行数据库操作;
获取数据库操作的执行结果;
屏蔽该执行结果中的敏感信息;
输出经屏蔽的执行结果。
数据库集群13,用于:
接收来自装置10的用户指令,并且根据用户指令执行数据库操作。
进一步的,本发明还提供了用于操作数据库集群的装置10的实施例,参阅图1所示,装置10包括应用服务器11以及数据库服务器12,其中:应用服务器11用于:
获取用户指令;
将该用户指令传输至数据库集群,以指示数据库集群根据该用户指令执行数据库操作;
获取数据库操作的执行结果;
屏蔽该执行结果中的敏感信息;
输出经屏蔽的执行结果。
数据库服务器12用于:
记录下列至少一项:
所述用户指令;
所述执行结果;
所述经屏蔽的执行结果。
再参阅图1所示,装置10与数据库集群13交互相连,数据库集群13进一步包括多个执行服务器131。
装置10的应用服务器11进一步连接一跳转服务器14,用于经由跳转服务器14获取用户指令。具体的,由于生产环境往往需要与网络隔离,因此,可采用跳转服务器14进行端口映射,用户15通过跳转服务器14登录装置10,以访问数据库集群13,从而实现生产环境的网络隔离。
配合图2所示,其为本发明用于操作数据库集群的装置的实施例的功能模块示意图。图中,本发明实施例中的用于操作数据库集群的装置10包括一第一获取模块111、一传输模块112、一第二获取模块113、一屏蔽模块114和一输出模块115,其中:
第一获取模块111,用于获取用户指令;
其中,该第一获取模块111可经由跳转服务器获取用户指令,以适于生产环境的网络隔离。
具体的,用户通过浏览器登录应用服务器11的前端页面,在前端页面进行账户信息的录入、执行服务器的选择、以及SQL语句的编辑等操作,点击“提交”按钮,生成对应的用户指令,第一获取模块111获取该用户指令。
第一获取模块111还用于获取用户权限信息;包括:
用于根据用户权限信息屏蔽执行结果中的敏感信息。
具体的,在第一获取模块111中预先配置有用户权限信息,如允许访问的账号信息及对应的访问权限,仅允许所配置的账号信息在允许的访问权限中对数据库集群转发指令。比如:预先配置dbquery账户(管理员账户),赋予dbquery账户具有审计权限。当管理员(用户)以dbquery账户登录数据操作平台创建的应用服务器的前端页面时,生成查询页面,管理员可以按库名、表名、姓名、日期等维度进行审计,检索数据操作平台中存储的信息,该些信息经由应用服务器反馈至用户,当该些信息中存在敏感信息时,查看管理员账户对该些敏感信息的权限,当不具有权限时,则将敏感信息以特定符号,如“*”号屏蔽后反馈给用户;当管理员账户对该些敏感信息具有权限时,则无需屏蔽直接进行反馈。又比如:第一用户(例如,工程师)具有方案下载、资源填充和最终实施的权限,第二用户(例如,专家)具有方案制定和日志查看的权限,第三用户(例如,主管)具有操作审核的权限,第四用户(例如,客户)具有进度监控的权限。
传输模块112,用于将用户指令传输至数据库集群,以指示数据库集群根据用户指令执行数据库操作;
具体的,应用服务器在校验完毕用户的访问权限后,对校验合格的用户指令透过传输模块112予以转发,并按照该用户指令,连接至数据库集群中对应的执行服务器,保持连接直至用户指令执行结束,对连接予以释放。
其中,该传输模块112进一步包括:
获取子模块,用于获取来自数据库集群的数据库操作的执行计划;
输出子模块,用于输出该执行计划;
指示子模块,用于响应于获取该执行计划的确认指令,指示数据库集群执行该执行计划。
第二获取模块113,用于获取数据库操作的执行结果;
具体的,传输模块112在将该用户指令传输至数据库集群,以指示数据库集群根据该用户指令执行数据库操作的同时,利用获取子模块获取来自数据库集群的数据库操作的执行计划;再利用输出子模块输出该执行计划;用户在应用服务器的前端页面获取该执行计划的信息(如数据库集群打算进行的一系列数据库操作,包括数据导出、导入等)后,通过分析执行计划,可以预估当前指令的执行效率,确认是否需要优化当前指令,并发出确认指令;指示子模块响应于获取该执行计划的确认指令,指示数据库集群执行该执行计划。
屏蔽模块114,用于屏蔽执行结果中的敏感信息;包括:用于根据用户权限信息屏蔽执行结果中的敏感信息。
具体的,屏蔽模块114用于对应用服务器反馈至用户的执行结果的信息根据用户权限信息进行敏感规则匹配,在匹配到敏感规则时屏蔽执行结果中的敏感信息,并将经屏蔽处理的执行结果的信息返回至应用服务器的前端页面,反馈至用户;在没有匹配到敏感规则时,则无需进行敏感信息的屏蔽,直接返回数据库集群的执行结果的信息。其中,用户权限信息需要用户申请或管理员配置。
输出模块115,用于输出经屏蔽的执行结果。若没有需要屏蔽的敏感信息,或者用户对敏感信息具有权限时,则直接返回未经屏蔽的执行结果。
在一些实施例中,本发明用于操作数据库集群的装置还包括记录模块,该记录模块用于记录下列至少一项:
用户指令;
执行结果;
经屏蔽的执行结果。
本发明用于操作数据库集群的装置并不限于上述第一获取模块111、传输模块112、第二获取模块113、屏蔽模块114、输出模块115和记录模块的组合形式,上述组合形式仅为本发明装置的一个实施例,在此基础上,可根据实际功能需求增减功能模块,实现更多操作。
配合图3所示,其为本发明用于操作数据库集群的系统的实施例的功能模块示意图。图中,本发明实施例中的用于操作数据库集群的系统包括用于操作数据库集群的装置及数据库集群13,用于操作数据库集群的装置进一步包括应用服务器11和数据库服务器12,其中,应用服务器11进一步包括前述第一获取模块111、前述传输模块112、前述第二获取模块113、前述屏蔽模块114及前述输出模块115,而数据库服务器12包括前述记录模块121。其中各模块的运行同前所述,在此不作赘述。
本发明实施例的用于操作数据库集群的系统中,应用服务器11安装Django1.6系统,数据库服务器12采用MySQL5.6,数据库集群13采用MySQL。其中,应用服务器11采用Python-MySQL驱动来访问MySQL数据库集群13。
其中,Python是一种面向对象的解释型计算机程序设计语言,它是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNU General Public License)协议。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。使Python可以操作MySQL就需要Python-MySQL驱动,它是Python操作MySQL必不可少的模块。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
本发明用于操作数据库集群的系统并不限于上述应用系统及其组合,本文仅为提供一种系统的实施例而已,并不限制本发明系统的适用范围。
参阅图4所示,其为本发明用于操作数据库集群的方法的实施例的总体流程图。图中,本发明实施例中的用于操作数据库集群的方法,主要包括以下步骤:
S01:获取用户指令;
S02:将该用户指令传输至数据库集群,以指示数据库集群根据该用户指令执行数据库操作;
S03:获取数据库操作的执行结果;
S04:屏蔽执行结果中的敏感信息;
S05:输出经屏蔽的执行结果。
在一些实施例中,获取用户指令,包括:经由跳转服务器获取用户指令。
具体的,利用跳转服务器进行端口映射,用于执行服务器的网络隔离。由于生产环境往往需要与网络隔离,因此,可采用跳转服务器进行端口映射,用户通过跳转服务器登录数据操作平台,以访问数据库集群,从而实现生产环境的网络隔离。
在一些实施例中,获取用户权限信息;
并且其中,屏蔽执行结果中的敏感信息,包括:
根据用户权限信息屏蔽执行结果中的敏感信息。
具体的,在输出执行结果前,基于预设的用户权限信息对执行结果中的敏感信息进行屏蔽,防止敏感信息泄露。用户权限信息由管理员预先设置,需要用户申请或管理员配置,如果用户对某个字段没有权限,那么在指令生成页面上该敏感信息显示为“*”。
在一些实施例中,将用户指令发送至数据库集群,以指示数据库集群根据用户指令执行数据库操作包括:
获取来自数据库集群的数据库操作的执行计划;
输出执行计划;
响应于获取执行计划的确认指令,指示数据库集群执行该执行计划。
具体的,将用户指令发送至执行服务器后,返回执行服务器的执行计划。用户通过分析执行计划,可以预估SQL的执行效率,决定是否需要优化SQL。
在一些实施例中,用于操作数据库集群的方法还包括:记录下列至少一项:
用户指令;
执行结果;
经屏蔽的执行结果。
具体的,用户透过应用服务器对数据库集群执行的所有操作,都会记录到数据库服务器中,并且提供查询页面,管理员可以按库名、表名、姓名、日期等维度进行审计。
以往由数据库管理员(Database Administrator,简称DBA)手工执行SQL语句来进行数据库操作,本发明用于操作数据库集群的装置上线后,可由各用户自行操作,省时省力,支持数据导出、脱敏、迁移、导入、执行计划、审计等功能,实现数据库运维管理的自动化。
下面结合几个具体的实施例,来详细说明如何采用本发明用于操作数据库集群的装置来实现上述数据导出、脱敏、迁移、导入、执行计划、审计等功能。
实施例1:
参阅图5所示,其为本发明用于操作数据库集群的装置实现查询、脱敏功能的实施例的操作流程图。本发明实施例中的装置采用django1.6应用服务器开发,底层使用MySQL5.6数据库服务器存储数据,数据库集群中的执行服务器采用MySQL服务器。
用户通过浏览器发起http(HyperText Transfer Protocol,超文本传输协议)请求,来访问应用服务器,在前端页面选择相应的执行服务器,在编辑框中填写好SQL,点击“提交”按钮,应用服务器捕获到提交的SQL,通过drive api(驱动接口,api-ApplicationProgramming Interface,应用程序编程接口-是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节),使用dbquery账户(预先设置的管理员账户)连接对应的执行服务器,执行SQL,得到返回的执行结果,匹配已有的敏感规则,如果匹配到敏感规则,就把相应的信息用“*”号表示,屏蔽敏感信息,最后返回指令生成页面,通过html(HyperText MarkupLanguage,超文本标记语言)展示反馈至用户;敏感信息,如敏感字段的公开权限需要用户申请或管理员配置,如果用户对某个字段没有权限,那么在指令生成页面上该字段显示为“*”,其他字段则正常显示。
点击“执行计划”按钮,应用服务器将编辑框中的SQL,头部加上“explain”后,提交给相应的执行服务器来执行相应操作,同时,得到SQL的执行计划,该执行计划时服务器集群打算进行的一些列数据库操作(数据导出、导入等),然后返回给前端页面,用户通过分析执行计划,可以预估SQL的执行效率,决定是否需要优化SQL。
实施例2:
参阅图6所示,其为本发明用于操作数据库集群的装置实现数据导出功能的实施例的操作流程图。本发明实施例中的装置采用django1.6应用服务器开发,底层使用MySQL5.6数据库服务器存储数据,数据库集群中的执行服务器采用MySQL服务器。
用户通过浏览器发起http请求,来访问应用服务器,在前端页面点击“数据导出”按钮,选择导出格式(excel、csv、txt),形成包含“数据导出”和“导出格式”的SQL指令,应用服务器捕获到提交的SQL指令,连接数据库集群中相应的执行服务器上执行备份(mysqldump)命令和选择(select)命令,然后把返回结果以对应的文件格式返回,通过浏览器下载文件到本地。
实施例3:
参阅图7所示,其为本发明用于操作数据库集群的装置实现数据导入功能的实施例的操作流程图。本发明实施例中的装置采用django1.6应用服务器开发,底层使用MySQL5.6数据库服务器存储数据,数据库集群中的执行服务器采用MySQL服务器。
用户通过浏览器发起http请求,来访问应用服务器,在前端页面点击“数据导入”按钮,填写目标表名称,选择本地csv(Comma-Separated Values,逗号分隔值)文件,形成SQL指令,上传到应用服务器,应用服务器使用下载(load)命令把数据导入到目标表中,完成操作。
其中,导入的数据文件,必须是unix(尤尼斯)文件格式,以英文逗号分割;后期可以扩展为多种格式,比如excel,txt,csv等等。
实施例4:
参阅图8所示,其为本发明用于操作数据库集群的装置实现数据迁移功能的实施例的操作流程图。本发明实施例中的装置采用django1.6应用服务器开发,底层使用MySQL5.6数据库服务器存储数据,数据库集群中的执行服务器采用MySQL服务器。
用户通过浏览器发起http请求,来访问应用服务器,在前端页面点击“数据迁移”按钮,填写源端和目标端库表信息,形成SQL指令,应用服务器连接源端数据库,用备份(mysqldump)命令把源表导成文件,然后连接目标端数据库,用来源(source)命令把文件导入到目标库中,目标库执行输入(import),完成数据迁移。
实施例5:
参阅图9所示,其为本发明用于操作数据库集群的装置实现申请权限功能的实施例的操作流程图。
用户初次访问时在前端页面的首页注册账号,填写个人信息,申请相关数据库权限。申请流程需要项目组负责人、DBA(Database Administrator,数据库管理员)审核,审核通过后,会以邮件的形式发送账号和密码给申请人。
申请流程环节发生改变时,会用邮件提醒下一环节人员,申请人可以在系统中查看流程状态。
实施例6:
参阅图10所示,其为本发明用于操作数据库集群的装置实现审计功能的实施例的操作流程图。
管理员账户(dbquery账户)登录前端页面时,在前端页面生成查询页面,透过应用服务器连接到数据库服务器,检索数据库服务器中存储的信息。用户执行过的操作,都会记录到数据库服务器中,管理员可以从ip(Internet Protocol,互联网协议)、库名、表名、用户名、时间范围等多个维度来检索操作记录。
实施例7:执行计划
功能和查询类似,都是提交SQL到数据库执行,不同的是,前者提交的SQL由explain关键字和用户SQL组成,在数据库中执行可获得该SQL的执行计划,供用户评估SQL性能。
实施例8:保持常用SQL语句
用户在页面编辑私有SQL语句,保存到数据库服务器中,方便今后使用。同时可以查看别人的SQL语句,但不能修改。系统会根据用户名来判断是私有还是他人的SQL语句,以赋予对应的操作权限。
以上实施例1~7中涉及具体应用系统的描述,如用于操作数据库集群的装置采用django1.6应用服务器开发,底层使用MySQL5.6数据库服务器存储数据,数据库集群中的执行服务器采用MySQL服务器,仅为便于说明本发明用于操作数据库集群的装置的一种实现方式,并不限定本发明数据操作系统的适用系统。
本发明在用于操作数据库集群的装置中,预先配置dbquery账户,赋予相关权限。生产环境的数据库集群,用户可以进行选择(select)操作;预发布环境的数据库,用户可以进行选择(select)、更新(update)、插入(insert)、删除(delete)等操作,执行方式同上述的数据导出、脱敏、迁移、导入、执行计划、审计等,通过数据库中dbquery账户权限来控制。
系统部署完成后,由管理员按项目的维度,将项目负责人、数据库信息、敏感规则录入平台,完成初始化工作。
用户初次访问时在首页注册账号,填写个人信息,申请相关数据库权限。申请流程需要项目组负责人、DBA审核,审核通过后,会以邮件的形式发送账号和密码给申请人。
用户凭账号、密码登录查询平台,选择相应的数据库,可以进行这些操作:
1、查询数据
在编辑框中写好SQL,点击“提交”,页面中显示执行结果。
2、数据导出
在编辑框中写好SQL,点击“导出数据”,选择文件格式和文件名后,浏览器自动下载文件到本地。
3、数据导入
点击导入,选择目标表,选择本地文件后,服务端自动将数据load(下载)到目标表中。
4、数据迁移
选择源表和目标表,服务端自动将源表中的数据迁移到目标表中。
5、保存常用SQL
用户经常使用的SQL,可以配置为常用SQL,保存在系统中,使用时直接点击,无需每次从外部粘贴到编辑框。
6、查看SQL执行计划
在编辑框中写好SQL,点击“执行计划”,页面显示SQL语句的执行计划。
7、申请权限
除了在初次申请账号时,用户可以申请数据库权限,点击“申请权限”,选择相应的数据库,发起申请流程,待项目负责人和数据库管理员审核通过后,获得权限。
8、操作审计
管理员可以在“查询记录页”页面,按数据库、表名、用户名、日期进行检索,发现可疑操作。
以上所述仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案的范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (11)
1.一种用于操作数据库集群的方法,其特征在于,包括:
获取用户指令;
将所述用户指令传输至所述数据库集群,以指示所述数据库集群根据所述用户指令执行数据库操作;
获取所述数据库操作的执行结果;
屏蔽所述执行结果中的敏感信息;
输出经屏蔽的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述获取用户指令,包括:
经由跳转服务器获取所述用户指令。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取用户权限信息;
并且其中,所述屏蔽所述执行结果中的敏感信息,包括:
根据所述用户权限信息屏蔽所述执行结果中的敏感信息。
4.根据权利要求1所述的方法,其特征在于,将所述用户指令发送至所述数据库集群,以指示所述数据库集群根据所述用户指令执行数据库操作包括:
获取来自数据库集群的所述数据库操作的执行计划;
输出所述执行计划;
响应于获取所述执行计划的确认指令,指示所述数据库集群执行所述执行计划。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:记录下列至少一项:
所述用户指令;
所述执行结果;
所述经屏蔽的执行结果。
6.一种用于操作数据库集群的装置,其特征在于,包括:
第一获取模块,用于获取用户指令;
传输模块,用于将所述用户指令传输至所述数据库集群,以指示所述数据库集群根据所述用户指令执行数据库操作;
第二获取模块,用于获取所述数据库操作的执行结果;
屏蔽模块,用于屏蔽所述执行结果中的敏感信息;
输出模块,用于输出经屏蔽的执行结果。
7.根据权利要求6所述的装置,其特征在于,所述第一获取模块用于经由跳转服务器获取所述用户指令。
8.根据权利要求6所述的装置,其特征在于,所述第一获取模块还用于获取用户权限信息;
并且其中,所述屏蔽模块用于根据所述用户权限信息屏蔽所述执行结果中的敏感信息。
9.根据权利要求6所述的装置,其特征在于,所述传输模块包括:
获取子模块,用于获取来自数据库集群的所述数据库操作的执行计划;
输出子模块,用于输出所述执行计划;
指示子模块,用于响应于获取所述执行计划的确认指令,指示所述数据库集群执行所述执行计划。
10.根据权利要求6至9中任一项所述的装置,其特征在于,还包括记录模块,所述记录模块用于记录下列至少一项:
所述用户指令;
所述执行结果;
所述经屏蔽的执行结果。
11.一种用于操作数据库集群的系统,其特征在于,包括:
根据权利要求6至10中任一项所述的装置;
数据库集群,用于接收来自所述装置的用户指令,并且根据所述用户指令执行数据库操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710427385.3A CN107391558A (zh) | 2017-06-08 | 2017-06-08 | 用于操作数据库集群的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710427385.3A CN107391558A (zh) | 2017-06-08 | 2017-06-08 | 用于操作数据库集群的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107391558A true CN107391558A (zh) | 2017-11-24 |
Family
ID=60333178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710427385.3A Pending CN107391558A (zh) | 2017-06-08 | 2017-06-08 | 用于操作数据库集群的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391558A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537062A (zh) * | 2018-04-24 | 2018-09-14 | 山东华软金盾软件股份有限公司 | 一种数据库数据动态加密的方法 |
CN110808850A (zh) * | 2019-10-15 | 2020-02-18 | 武汉达梦数据库有限公司 | 一种PaaS平台的组件接入系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853251A (zh) * | 2009-03-30 | 2010-10-06 | 华为技术有限公司 | 一种保护敏感资源描述框架数据的方法、装置及系统 |
WO2010151873A1 (en) * | 2009-06-26 | 2010-12-29 | Privacydatasystems, Llc | Systems and methods for secure, and certified electronic messaging |
CN102467380A (zh) * | 2010-11-16 | 2012-05-23 | 金蝶软件(中国)有限公司 | 一种图形用户界面单据打开方法、装置及通信终端 |
CN102724221A (zh) * | 2011-03-30 | 2012-10-10 | 上海微河信息科技有限公司 | 云计算企业信息系统及该系统的用户权限设定方法 |
CN104951524A (zh) * | 2015-06-11 | 2015-09-30 | 上海新炬网络信息技术有限公司 | 一种用于数据库运维的移动平台及其使用方法 |
-
2017
- 2017-06-08 CN CN201710427385.3A patent/CN107391558A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853251A (zh) * | 2009-03-30 | 2010-10-06 | 华为技术有限公司 | 一种保护敏感资源描述框架数据的方法、装置及系统 |
WO2010151873A1 (en) * | 2009-06-26 | 2010-12-29 | Privacydatasystems, Llc | Systems and methods for secure, and certified electronic messaging |
CN102467380A (zh) * | 2010-11-16 | 2012-05-23 | 金蝶软件(中国)有限公司 | 一种图形用户界面单据打开方法、装置及通信终端 |
CN102724221A (zh) * | 2011-03-30 | 2012-10-10 | 上海微河信息科技有限公司 | 云计算企业信息系统及该系统的用户权限设定方法 |
CN104951524A (zh) * | 2015-06-11 | 2015-09-30 | 上海新炬网络信息技术有限公司 | 一种用于数据库运维的移动平台及其使用方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537062A (zh) * | 2018-04-24 | 2018-09-14 | 山东华软金盾软件股份有限公司 | 一种数据库数据动态加密的方法 |
CN108537062B (zh) * | 2018-04-24 | 2022-03-22 | 山东华软金盾软件股份有限公司 | 一种数据库数据动态加密的方法 |
CN110808850A (zh) * | 2019-10-15 | 2020-02-18 | 武汉达梦数据库有限公司 | 一种PaaS平台的组件接入系统及方法 |
CN110808850B (zh) * | 2019-10-15 | 2022-09-27 | 武汉达梦数据库有限公司 | 一种PaaS平台的组件接入系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050160104A1 (en) | System and method for generating and deploying a software application | |
US7016919B2 (en) | Enterprise framework and applications supporting meta-data and data traceability requirements | |
US7194692B2 (en) | Method and apparatus for binding user interface objects to application objects | |
US7480898B2 (en) | System and method for building full batch test environments | |
US20040181753A1 (en) | Generic software adapter | |
US20200081690A1 (en) | User Interface Apparatus and Methods | |
EP1317714A1 (en) | Method and system for providing a framework for processing markup language documents | |
US7792851B2 (en) | Mechanism for defining queries in terms of data objects | |
US20060200772A1 (en) | Procedural computation engine for providing complex calculated data results to an object-oriented server system accessible to service clients and agents over a data packet network | |
CN102144230B (zh) | 基于记录的代码结构 | |
CN107391558A (zh) | 用于操作数据库集群的方法、装置及系统 | |
EP1033664B1 (en) | Customized retrieval and presentation of information from a database | |
US11675748B2 (en) | External data repository file integration using a virtual file system | |
US20050262124A1 (en) | Method and apparatus for aggregated update of dataset records in a JavaScript environment | |
Eckard et al. | Bridging technologies to efficiently arrange and describe digital archives: the Bentley Historical Library’s ArchivesSpace-Archivematica-DSpace Workflow Integration Project | |
US20050262070A1 (en) | Method and apparatus for combining of information across multiple datasets in a JavaScript environment | |
US20050262037A1 (en) | Method and apparatus for controlling result dataset generation in a javascript environment | |
JP3429609B2 (ja) | 設計情報管理装置 | |
US20050262156A1 (en) | Method and apparatus for informational comparison of multiple datasets in a javascript environment | |
Willis | beginning vb. net databases | |
EP1051007A2 (en) | Data object encapsulation for data transmission to legacy computing systems | |
Nance et al. | IDACT: automating data discovery and compilation | |
Landrum et al. | Pro SQL Server 2008 Reporting Services | |
Landrum et al. | Pro SQL server 2005 reporting services | |
Flickinger et al. | Recommendations for Enhancement of the Design Criteria Information System (DCIS) |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171124 |