本发明专利技术提供了一种文本数据库的容灾修复方法和装置,所述方法主要包括:检测数据库是否存在数据损坏;若所述数据库存在数据损坏,根据所述数据库是否设置备份容灾脚本对所述数据库进行容灾修复。通过本发明专利技术,无需引入新的资源,在没有大规模增加系统开销的情况下,解决了现有技术中缺少针对文本数据库的容灾修复,提高了文本数据库的可用性。
Disaster recovery method and device for text database
The present invention provides a method and apparatus for disaster recovery and repair the text database, the method mainly includes: whether the data corruption detection database; if the database has data damage, according to the database backup script is set to repair the database for disaster recovery. According to the invention, without the introduction of new resources, in the absence of a massive increase in system overhead, solves the lack of repair for disaster recovery text database, improve the usability of text database.
【技术实现步骤摘要】
一种文本数据库的容灾修复方法及装置
本专利技术涉及数据库存储领域,具体而言,涉及一种文本数据库的容灾修复方法及装置。
技术介绍
在目前的移动通信网管监控系统中,会大量的运用数据库进行数据缓存。基于成本、易用性等多方面因素的考虑。目前系统使用开源的文本数据库(FB、Sqlite)的方式已经非常普遍。文本数据库具有体积小、资源占用少、操作维护简单等便利,但是它的最大缺陷是数据库在异常情况下的损坏后的恢复,由于没有商业数据库的比较成熟的数据恢复机制。往往数据库损坏后,意味着数据的丢失。在正常的数据库损坏后的恢复中,都是需要人工进行干预的,通过人工的操作把之前备份的数据导入到事后数据库中。这种处理的弊端很明显:1、无法在系统出现问题的第一时间就将数据进行恢复,特别是如果系统问题发生在无人值守的情况下,将大大延误系统的解决。2、人工的干预人为地降低了系统的可靠性,增加了故障的隐患。
技术实现思路
本专利技术实施例提供了一种文本数据库的修复方法及装置,以至少解决相关技术中缺少针对文本数据库损坏后能够及时、自动和稳定的对数据库修复的问题。根据本专利技术的一个实施例,提供了一种文本数据库的容灾修复方法,包括:检测数据库是否存在数据损坏;若所述数据库存在数据损坏,根据所述数据库是否设置备份容灾脚本对所述数据库进行容灾修复。优选地,若所述数据库设置了容灾脚本,则采用最新备份库和容灾脚本的方式对所述数据库进行容灾修复;若所述数据库没有设置容灾脚本,则根据所述备份库中的操作日志对所述数据库进行容灾修复。优选地,根据所述备份库生成时间,采集所述时间后的所有操作日志;对所述操作日志进行处理,保留对所述数据库修改的操作日志数据;通过所述备份库执行所述操作日志数据完成对所述数据库的容灾修复。根据本专利技术的另一个实施例,提供了一种文本数据库的容灾修复的装置,包括:检测模块,用于检测数据库是否存在数据损坏;修复模块,用于在所述数据库存在数据损坏时,根据所述数据库是否设置备份容灾脚本对所述数据库进行容灾修复。优选地,若所述数据库设置了容灾脚本,则采用最新备份库和容灾脚本的方式对所述数据库进行容灾修复;若所述数据库没有设置容灾脚本,则根据所述备份库中的操作日志对所述数据库进行容灾修复。优选地,根据所述备份库生成时间,采集所述时间后的所有操作日志;对所述操作日志进行处理,保留对所述数据库修改的操作日志数据;通过所述备份库执行所述操作日志数据完成对所述数据库的容灾修复。有益效果:通过本专利技术的技术方案,在数据库存在数据损坏时,根据所述数据库是否设置备份容灾脚本对所述数据库进行容灾修复,无需引入新的资源,在没有大规模增加系统开销的情况下,解决了现有技术中缺少针对文本数据库的容灾修复,并能使用系统自动、及时和稳定的对数据库进行数据修复,大大提高了文本数据库的可用性。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例文本数据库容灾修复方法的示意图;图2是根据本专利技术实施例文本数据库容灾修复方法的流程图;图3是根据本专利技术实施例文本数据库容灾修复中间文件清理流程图;图4是根据本专利技术实施例文本数据库容灾修复装置的示意图;具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。方法实施例结合上述提到的问题,在本专利技术实施例中提供了一种文本数据库容灾修复方法,如图1所示,该方法示意图包括:S101:检测数据库是否存在数据损坏;S102:若所述数据库存在数据损坏,根据所述数据库是否设置备份容灾脚本对所述数据库进行容灾修复。可选地,若所述数据库设置了容灾脚本,则采用最新备份库和容灾脚本的方式对所述数据库进行容灾修复;若所述数据库没有设置容灾脚本,则根据所述备份库中的操作日志对所述数据库进行容灾修复。可选地,根据所述备份库生成时间,采集所述时间后的所有操作日志;对所述操作日志进行处理,保留对所述数据库修改的操作日志数据;通过所述备份库执行所述操作日志数据完成对所述数据库的容灾修复。通过上述方法步骤,数据库系统能够依据现有的数据备份规则找到近期的数据库完整备份,并利用日志库的时间排序查找到备份库生成后用户执行的命令,通过去除其中未对数据库进行写操作的查询命令,生成一份增、删、改操作的批命令数据。然后再将这些数据重新导入到文本数据库中来保证数据库数据的完整性和准确性。并且能够通过告警的方式直接通过展示给运维任务,从而使运维人员能够快速进行数据核对,保证数据的准确性。本专利技术实施例提供了一种文本数据库的容灾修复方法的流程图,如图2所示,包括:S201:进入数据库巡检,读取知识库内容,执行巡检命令;S202:返回结果是否正常;若正常,则进入S203;进异常则进入S204;S203:流程结束;S204:是否存在备份的脚本文件,若存在,则进入S206;若不存在,则进入S205;S205:获取最新备份库生成时间;S206:获取最新备份库,获取备份脚本文件;S207:执行脚本,结果导入数据库中;S208:生成新库,计算数据库文件校验和;S209:查询操作日志库,并导出文件;S210:剔除查询类命令,保留增删改命令日志;S211:将文件中的日志记录导成批处理命令;S212:执行批处理;S213:和保存的文件校验和进行比较;S214:触发告警。本专利技术实施例提供了文本数据库容灾修复中间文件清理流程图,如图3所示,包括:S301:接收用户操作;S302:是否导致数据变理(增删改)操作;若否,则流程结束;若是,则进入S303;S303:数据入库操作;S304:判断入库是否成功;若成功,则进入S305;进失败,系统则提示错误;S305:是否需要保存入库脚本;若保存,则进入S306;若不保存,则入S307;S306:将入库脚本缓存文件;S307:记录操作日志;数据库系统在每次传送后(保证网管服务器上的数据和前台数据是一致的),都需要对现有文本数据库进行保存,作为基础数据恢复库。在系统资源允许的情况下,配置成入库脚本文件缓存机制。这样每个入库动作都将生成Sql脚本制动保存在缓存文件中。如果数据脚本无法缓存则通过操作日志中记录的动作进行恢复。缓存文件在进行数据传送后,作用就已经失去。因此数据传送后需要删除,后续的操作会生成新的缓存文件。装置实施例该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本专利技术实施例提供的一种文本数据库容灾修复的装置,包括:检测模块41:用于检测数据库是否存在数据损坏;修复模块42:用于在所述数据库存在数据损坏时,根据所述数据库是否设置备份容灾脚本对所述数据库进行容灾修复。可选地,若所述数据库设置了容灾脚本,则采用最新备份库和容灾脚本的方式对所述数据库进行容灾修本文档来自技高网...
【技术保护点】
一种文本数据库的容灾修复方法,其特征在于,检测数据库是否存在数据损坏;若所述数据库存在数据损坏,根据所述数据库是否设置备份容灾脚本对所述数据库进行容灾修复。
【技术特征摘要】
1.一种文本数据库的容灾修复方法,其特征在于,检测数据库是否存在数据损坏;若所述数据库存在数据损坏,根据所述数据库是否设置备份容灾脚本对所述数据库进行容灾修复。2.如权利要求1所述的方法,其特征在于,根据所述数据库是否设置备份容灾脚本对数据库进行容灾修复包括:若所述数据库设置了容灾脚本,则采用最新备份库和容灾脚本的方式对所述数据库进行容灾修复;若所述数据库没有设置容灾脚本,则根据所述备份库中的操作日志对所述数据库进行容灾修复。3.如权利要求2所述的方法,所述根据所述备份库中的操作日志对所述数据库进行容灾修复包括:根据所述备份库生成时间,采集所述时间后的所有操作日志;对所述操作日志进行处理,保留对所述数据库修改的操作日志数据;通过所述备份库执行所述操作日志数据完成对所述数据库的容灾修复。4.一种文本数据库的容灾修...
【专利技术属性】
技术研发人员:廖思华,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。