一种可视化的分布式数据修复工具及其方法与流程

文档序号:14950778发布日期:2018-07-17 22:30阅读:346来源:国知局

本发明涉及数据修复领域,尤其涉及一种可视化的分布式数据修复工具及其方法。



背景技术:

随我国it系统建设取得阶段性成果,it的发展由普遍建设向普遍运维转型,面对电信行业多级、分域、面向社会服务的特性,福建电信互联网化分布式应用可视化项目,为中国电信福建分公司的互联网分布式的运维,提供了从it可用到服务可用的保障性解决方案,助力it企业服务型组织的快速转型。

主要着力于解决互联网化分布式试点项目建设带来的新的运维难题,对系统存在的几大类亟待改进的内容进行分析,同时对解决过程中的一些经验进行分享。传统的ssh架构待分布式应用架构的转换过程中,运维的技术特点和业务特点都发生了极大的改变,现有的一系列运维工具和流程逐步不适应新的架构,需要有一套运维体系来支撑it系统的日常运行维护。接下来,让我们来看看在分布式架构下,分布式数据修复存在哪些问题:

基于存储过程的修复不可用:在传统的数据修复中,运维人员只需要编写存储过程,对单库的数据进行提数,修复。而在分布式数据库下,原本只存在单库的数据会落到不同机器、数据库以及不同的分片下,要在数据库上使用存储过程将要面临重复创建,脚本一致性等问题。有时分片的规则又复杂多变,不能简单的建过程就能满足需求。

关联查询数据的不准确:在分布式数据库下,不同表之间的物理存储有可能不在一起,或者有些表虽然在同一个物理库上,但是他们的数据是落在不同的物理库,通过关联可能会丢失不在相同物理库上的数据。

人工操作修数的不可复制繁琐:针对每一次的数据修复都需要人工操作,提数并将获得的数据进行判断,修复。针对简单的提数,将是及其痛苦的,有时还要求运维人员编写代码进行操作。判断所得数据的操作情况往往需要人工介入,大大加大的运维人员的工作量,还无法保证操作的准确性。在进行修复时难以保证事务的一致性,万一出错往往不知如何回滚。

修复数据人员要求高:对数据修复人员的要求较高,还要了解分布式数据的使用与限制,有时根本不知道自己操作的数据在哪里,以及在传统单库上正常执行的脚本,在分布式数据库上执行的异常一头雾水;



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种可视化的分布式数据修复工具及其方法。

本发明采用的技术方案是:

一种可视化的分布式数据修复工具,其包括以下模块:

可视化配置模块:用于修复任务的可视化配置服务;

日志模块:记录每次执行的成功失败,已经执行结果等信息,可用于历史追溯;

权限控制模块:基于角色的访问控制(rbac)的权限控制,对分布式数据修复的配置与执行做精确的控制,保障数据的安全性;

任务调度模块:调用分布式任务调度实现任务的定时执行;

sql审核模块:对编写的python脚本进行sql检查,防止不安全的sql脚本混入;

修复执行模块:通过指定执行主机,运行配置的python脚本,完成修复作业。

可视化配置模块包括单次执行配置和批量执行配置,

单次执行配置通过pythonide编写数据修复逻辑单次执行配置,通过pythonide调试修复逻辑的可靠性,单次执行配置通过分布式上传可用的python脚本到所有的服务器节点,并将上传的python脚本自动生成可视化web端配置;

批量执行配置用于选择批量执行sql查询数据库,批量执行配置编写批量执行的sql语句并拆分sql查询的结果,再将查询结果作为入参循环执行单次配置。

单次执行配置还用于手动补充额外扩展配置。

单次执行配置包括python封装库,用于脚本编写时调用,以提高编写效率。

本发明还公开了一种可视化的分布式数据修复方法,其包括单次执行步骤和批量执行步骤,单次执行配置步骤包括以下步骤:

1-1,单次执行配置依赖ide进行python原始数据数据修复的逻辑编写以及调试,

1-2,单次执行配置将编写好的脚本通过web端上传到服务器,

1-3,单次执行配置自动解析所上传脚本,生成可视化web端配置,

1-5,修复执行模块通过指定执行主机运行配置的python脚本,

1-6,python脚本执行动态获取配置好的数据库资源,防止用户名,密码的外泄引发安全问题,

1-7,权限控制模块对分布式数据修复的配置与执行做精确的权限控制,防止非相关人员的操作引起生产事故,保障数据的安全性,

1-8,任务调度模块配置修复过程的轮询,节约人工执行的成本,

1-9,日志模块执行过程中记录执行日志,记录每次执行的成功失败,已经执行结果等信息,可用于历史追溯,

1-10,修复成功后,返回符合预期执行的结果值。

批量执行配置步骤包括以下步骤:

2-1,选择批量执行sql查询数据库,

2-2,编写批量执行的sql语句,

2-3,拆分sql查询的结果,

2-4,将查询结果作为入参循环执行单次配置,

2-5,修复执行模块通过指定执行主机运行配置的python脚本,

2-6,python脚本执行动态获取配置好的数据库资源,防止用户名,密码的外泄引发安全问题,

2-7,权限控制模块对分布式数据修复的配置与执行做精确的权限控制,防止非相关人员的操作引起生产事故,保障数据的安全性,

2-8,任务调度模块配置修复过程的轮询,节约人工执行的成本,

2-9,日志模块执行过程中记录执行日志,记录每次执行的成功失败,已经执行结果等信息,可用于历史追溯,

2-10,修复成功后,返回符合预期执行的结果值。

本发明采用以上技术方案,具有如下优点:1)本发明利用记录各个执行状态的执行信息,提供中断继续执行功能,提升了数据修复的可操作性;2)本发明提供了分布式并发调度执行的能力,提供了多并发执行机制,极大的提升了数据修复的进度,具备动态扩缩数据修复能力。3)本发明能够统计分析执行过程中一些关键数据,为分析问题数据,避免产生类似的问题提供参考依据,并能够实时记录执行现场信息,确保问题回溯和安全审计。4)本发明能够针对不同的权限,提供相应的功能,并且审核配置的sql语句,严格规范生产数据操作,避免对生产数据的不受控制的操作;5)本发明能够在sql语句执行前进行相关的语法和执行下来的审核与校验,确保数据修复逻辑的正确和高效的执行。6)任务调度模块实现轮询调度的功能,避免运维人员需要7*24小时的值班,提升工作效率和节约工作成本。

总而言之,本发明的实施,在分布式数据库运维的数据操作上,大提升了数据修复成功率和可回溯性,并具备一定的sql审核校验和动态扩缩容能力,大节约了运维人力成本,降低了数据修复的难度,提升了数据修复的效率。

附图说明

以下结合附图和具体实施方式对本发明做进一步详细说明;

图1为本发明一种可视化的分布式数据修复工具的框架示意图;

图2为本发明一种可视化的分布式数据修复工具的修复方法示意图。

具体实施方式

如图1所示,本发明公开了一种可视化的分布式数据修复工具,其包括以下模块:

可视化配置模块:用于修复任务的可视化配置服务;

日志模块:记录每次执行的成功失败,已经执行结果等信息,可用于历史追溯;

权限控制模块:基于角色的访问控制(rbac)的权限控制,对分布式数据修复的配置与执行做精确的控制,保障数据的安全性;

任务调度模块:调用分布式任务调度实现任务的定时执行;

sql审核模块:对编写的python脚本进行sql检查,防止不安全的sql脚本混入;

修复执行模块:通过指定执行主机,运行配置的python脚本,完成修复作业。

可视化配置模块包括单次执行配置和批量执行配置,

单次执行配置通过pythonide编写数据修复逻辑单次执行配置,通过pythonide调试修复逻辑的可靠性,单次执行配置通过分布式上传可用的python脚本到所有的服务器节点,并将上传的python脚本自动生成可视化web端配置;

批量执行配置用于选择批量执行sql查询数据库,批量执行配置编写批量执行的sql语句并拆分sql查询的结果,再将查询结果作为入参循环执行单次配置。

单次执行配置还用于手动补充额外扩展配置。

单次执行配置包括python封装库,用于脚本编写时调用,以提高编写效率。

如图2所示,本发明还公开了一种可视化的分布式数据修复方法,其包括单次执行步骤和批量执行步骤,单次执行配置步骤包括以下步骤:

1-1,单次执行配置依赖ide进行python原始数据数据修复的逻辑编写以及调试,

1-2,单次执行配置将编写好的脚本通过web端上传到服务器,

1-3,单次执行配置自动解析所上传脚本,生成可视化web端配置,

1-5,修复执行模块通过指定执行主机运行配置的python脚本,

1-6,python脚本执行动态获取配置好的数据库资源,防止用户名,密码的外泄引发安全问题。

1-7,权限控制模块对分布式数据修复的配置与执行做精确的权限控制,防止非相关人员的操作引起生产事故,保障数据的安全性。

1-8,任务调度模块配置修复过程的轮询,节约人工执行的成本。

1-9,日志模块执行过程中记录执行日志,记录每次执行的成功失败,已经执行结果等信息,可用于历史追溯,

1-10,修复成功后,返回符合预期执行的结果值。

批量执行配置步骤包括以下步骤:

2-1,选择批量执行sql查询数据库,

2-2,编写批量执行的sql语句,

2-3,拆分sql查询的结果,

2-4,将查询结果作为入参循环执行单次配置,

2-5,修复执行模块通过指定执行主机运行配置的python脚本,

2-6,python脚本执行动态获取配置好的数据库资源,防止用户名,密码的外泄引发安全问题。

2-7,权限控制模块对分布式数据修复的配置与执行做精确的权限控制,防止非相关人员的操作引起生产事故,保障数据的安全性。

2-8,任务调度模块配置修复过程的轮询,节约人工执行的成本。

2-9,日志模块执行过程中记录执行日志,记录每次执行的成功失败,已经执行结果等信息,可用于历史追溯,

2-10,修复成功后,返回符合预期执行的结果值。

本发明采用以上技术方案,具有如下优点:1)本发明利用记录各个执行状态的执行信息,提供中断继续执行功能,提升了数据修复的可操作性;2)本发明提供了分布式并发调度执行的能力,提供了多并发执行机制,极大的提升了数据修复的进度,具备动态扩缩数据修复能力。3)本发明能够统计分析执行过程中一些关键数据,为分析问题数据,避免产生类似的问题提供参考依据,并能够实时记录执行现场信息,确保问题回溯和安全审计。4)本发明能够针对不同的权限,提供相应的功能,并且审核配置的sql语句,严格规范生产数据操作,避免对生产数据的不受控制的操作;5)本发明能够在sql语句执行前进行相关的语法和执行下来的审核与校验,确保数据修复逻辑的正确和高效的执行。6)任务调度模块实现轮询调度的功能,避免运维人员需要7*24小时的值班,提升工作效率和节约工作成本。

总而言之,本发明的实施,在分布式数据库运维的数据操作上,大提升了数据修复成功率和可回溯性,并具备一定的sql审核校验和动态扩缩容能力,大节约了运维人力成本,降低了数据修复的难度,提升了数据修复的效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1