MySQL数据库备份文件的数据获取方法、装置和系统制造方法及图纸

技术编号:24455285 阅读:18 留言:0更新日期:2020-06-10 15:22
本申请提供了一种MySQL数据库备份文件的数据获取方法、装置和系统,涉及数据库的技术领域,包括:对web客户端待获取数据的目标备份文件进行文本分析,得到所述目标备份文件对应的数据表名称列表;基于所述数据表名称列表,确定目标数据表;对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据;以及对所述目标数据表的表数据进行分析统计,获得数据分析统计结果;将所述分析统计结果发送至所述web客户端。缓解了现有技术中存在的在对多个对备份文件进行表数据读取时数据获取的工作效率较低的技术问题。

Data acquisition method, device and system of MySQL database backup file

【技术实现步骤摘要】
MySQL数据库备份文件的数据获取方法、装置和系统
本申请涉及数据库
,尤其是涉及一种MySQL数据库备份文件的数据获取方法、装置和系统。
技术介绍
MySQL是一种开放源代码的关系型数据库管理系统,属于中、小型关系型数据库管理系统,它将数据保存在不同的表中,而不是将所有数据放在一起,因此可以提高数据处理的速度和灵活性。MySQL数据库具有开放源码、体积小、速度快、成本低等特点,这使得MySQL数据库广泛应用于中小型网站的数据管理。在MySQL数据库运维中,因为业务需要,运维人员需要经常访问数据库的历史备份文件,以对之前某天的某个表的备份数据在开发及测试环境进行数据读取及分析。在现有技术的MySQL数据库运维中,运维人员为了解决以上需求,采用对数据库的历史备份文件拷贝还原的方式,运维人员首先将MySQL数据库的某天的备份文件从备份服务器上拷贝到开发或测试环境,通过shell命令将整个数据库进行还原,根据权限删除开发及测试人员没有权限的数据表,然后开发及测试人员通过数据库工具对经过还原所得到的数据库中的某表的数据进行读取及分析。现有的MySQL数据库运维方法中对历史备份文件拷贝还原的方式费时费力,当数据库备份文件较大时,从备份服务器上拷贝备份文件,以及通过shell命令还原整个数据库都需要耗费很长时间,当需要对多个日期的备份文件或者多个数据库的备份文件进行单表数据读取时,需要进行多次操作,耗费运维人员的大量精力,提高了数据库运维的人工成本,降低了数据获取的工作效率。
技术实现思路
r>本申请的目的在于提供一种MySQL数据库备份文件的数据获取方法、装置和系统,以缓解现有技术中存在的在对多个对备份文件进行表数据读取时数据获取的工作效率较低的技术问题。第一方面,实施例提供一种MySQL数据库备份文件的数据获取方法,应用于存储MySQL数据库备份文件的web服务器,所述方法包括:对web客户端待获取数据的目标备份文件进行文本分析,得到所述目标备份文件对应的数据表名称列表;基于所述数据表名称列表,确定目标数据表;对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据;以及对所述目标数据表的表数据进行分析统计,获得数据分析统计结果;将所述分析统计结果发送至所述web客户端。在可选的实施方式中,在对web客户端待获取的目标备份文件进行文本分析的步骤之前,所述方法还包括:接收web客户端发送的查询请求;基于python的标准库的glob指令,获取本地备份文件目录中所有备份文件的名称;将所获取的备份文件的名称存储为备份文件名称列表;向所述web客户端发送所述备份文件名称列表,以便所述web客户端基于所述备份文件名称列表确定目标备份文件。在可选的实施方式中,还包括:获取每个备份文件对应的数据库的名称;将备份文件名称与该备份文件对应的数据库名称的对应关系存储至备份文件名称列表中。在可选的实施方式中,对web客户端待获取的目标备份文件进行文本分析,得到所述目标备份文件对应的数据表名称列表的步骤,包括:将所述目标备份文件读取到内存中;基于标准库gzip和第一预设规则对所述目标备份文件进行检索分析,获取到所述目标备份文件包括的所有数据表的名称,并将所述目标备份文件的所有数据表的名称存储为所述目标备份文件对应的数据表名称列表;在可选的实施方式中,所述第一预设规则通过re正则表达式表示。在可选的实施方式中,对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据的步骤,包括:通过标准库gzip和第二预设规则对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据;将解析得到的所述目标数据表的表结构及表数据存入python的第三方库的DataFrame。在可选的实施方式中,所述第三方库为pandas库,所述第二预设规则通过re正则表达式表达。在可选的实施方式中,对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据的步骤,包括:对所述目标备份文件进行解析,获取创建所述目标数据表表结构的第一SQL文本;对所述第一SQL文本进行解析,得到所述目标数据表的字段名称列表;使用python的第三方库创建DataFrame;将所述目标数据表的字段名称作为DataFrame的列名称,增加到DataFrame列中;解析目标备份文件,获取目标数据表的表数据的第二SQL文本;对所述第二SQL文本进行解析,将解析得到的所述目标数据表的表数据存入所述DataFrame列中。在可选的实施方式中,对所述目标数据表的表数据进行分析统计,获得数据分析统计结果的步骤,包括:接收所述web客户端发送的SQL代码;将所述SQL代码转换为所述DataFrame的命令;基于所述DataFrame的命令对所述DataFrame中的所述目标数据表的表数据进行分析统计;在DataFrame中更新数据分析统计结果。在可选的实施方式中,所述方法还包括:接收所述web客户端发送的还原命令,所述还原命令包括所述目标数据表的标识以及待还原数据库的标识;将所述目标数据表的数据分析统计结果还原至所述待还原数据库中。第二方面,实施例提供一种MySQL数据库备份文件的数据获取方法,应用于web客户端,所述方法包括:根据用户输入操作确定查询命令,将所述查询命令发送至存储MySQL数据库备份文件的web服务器;接收所述web服务器返回的查询结果;所述查询结果是所述web服务器基于所述查询命令对所述MySQL数据库备份文件的数据表进行分析统计而得到的分析统计结果;对所述分析统计结果进行显示。第三方面,实施例提供一种MySQL数据库备份文件的数据获取方法,所述方法包括:web客户端根据用户输入操作确定查询命令,将所述查询命令发送至存储所述MySQL数据库备份文件的web服务器;所述web服务器基于所述查询命令对所述web客户端待获取数据的目标备份文件进行文本分析,得到所述目标备份文件对应的数据表名称列表;所述web服务器基于所述数据表名称列表,确定所述MySQL数据库备份文件的目标数据表;所述web服务器对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据;以及对所述目标数据表的表数据进行分析统计,获得数据分析统计结果;所述web服务器将所述分析统计结果发送至所述web客户端;所述web客户端接收所述分析统计结果,并对所述分析统计结果进行显示。第四方面,实施例提供一种MySQL数据库备份文件的数据获取装置,应用于存储MySQL数据库备份文件的web服务器,所述装置包括:分析模块,用于对web客户端待获取数据的目标备份文件进行文本分析,得到所述目标备份文件对应的数据表名称列表;确定模块,用于基于所述本文档来自技高网...

【技术保护点】
1.一种MySQL数据库备份文件的数据获取方法,其特征在于,应用于存储MySQL数据库备份文件的web服务器,所述方法包括:/n对web客户端待获取数据的目标备份文件进行文本分析,得到所述目标备份文件对应的数据表名称列表;/n基于所述数据表名称列表,确定目标数据表;/n对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据;以及对所述目标数据表的表数据进行分析统计,获得数据分析统计结果;/n将所述分析统计结果发送至所述web客户端。/n

【技术特征摘要】
1.一种MySQL数据库备份文件的数据获取方法,其特征在于,应用于存储MySQL数据库备份文件的web服务器,所述方法包括:
对web客户端待获取数据的目标备份文件进行文本分析,得到所述目标备份文件对应的数据表名称列表;
基于所述数据表名称列表,确定目标数据表;
对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据;以及对所述目标数据表的表数据进行分析统计,获得数据分析统计结果;
将所述分析统计结果发送至所述web客户端。


2.根据权利要求1所述的方法,其特征在于,在对web客户端待获取的目标备份文件进行文本分析的步骤之前,所述方法还包括:
接收web客户端发送的查询请求;
基于python的标准库的glob指令,获取本地备份文件目录中所有备份文件的名称;
将所获取的备份文件的名称存储为备份文件名称列表;
向所述web客户端发送所述备份文件名称列表,以便所述web客户端基于所述备份文件名称列表确定目标备份文件。


3.根据权利要求1所述的方法,其特征在于,对web客户端待获取的目标备份文件进行文本分析,得到所述目标备份文件对应的数据表名称列表的步骤,包括:
将所述目标备份文件读取到内存中;
基于标准库gzip和第一预设规则对所述目标备份文件进行检索分析,获取到所述目标备份文件包括的所有数据表的名称,并将所述目标备份文件的所有数据表的名称存储为所述目标备份文件对应的数据表名称列表。


4.根据权利要求1所述的方法,其特征在于,对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据的步骤,包括:
通过标准库gzip和第二预设规则对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据;
将解析得到的所述目标数据表的表结构及表数据存入python的第三方库的DataFrame。


5.根据权利要求1所述的方法,其特征在于,对所述目标数据表进行解析,得到所述目标数据表的表结构及表数据的步骤,包括:
对所述目标备份文件进行解析,获取创建所述目标数据表的表结构的第一SQL文本;
对所述第一SQL文本进行解析,得到所述目标数据表的字段名称列表;
使用python的第三方库创建DataFrame;
将所述目标数据表的字段名称作为DataFrame的列名称,增加到DataFrame列中;
解析目标备份文件,获取目标数据表的表数据的第二SQL文本...

【专利技术属性】
技术研发人员:董斌李德逸李洪明曹孔强李钢
申请(专利权)人:山东新北洋信息技术股份有限公司
类型:发明
国别省市:山东;37

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

1