说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211124435.8 (22)申请日 2022.09.15 (71)申请人 中航信移动科技有限公司 地址 100041 北京市石景山区田顺庄北路1 号院1号楼12层1201室 (72)发明人 高栋 刘春磊 黄光龙 上官茜茜  (74)专利代理 机构 北京锺维联合知识产权代理 有限公司 1 1579 专利代理师 安娜 (51)Int.Cl. G06F 16/22(2019.01) G06F 16/242(2019.01) G06F 16/2458(2019.01) G06F 16/28(2019.01) (54)发明名称 一种用于 MySQL数据表的数据恢复方法 (57)摘要 本发明提供了一种用于M ySQL数据表的数据 恢复方法, 该方法包括: 获取目标时间Tm和第一 更新时间Tnew; 若Tnew‑Tm>Tc, 则获取第一镜像数 据表的生成时间Ta; 若Ta<Tm, 则获取第二处理时 长ΔT2=Tm‑Ta; 若Ta>Tm, 则确定第三处理时长 ΔT3=Tp‑Tm和第四处理时长ΔT4=Tm‑Tq; 若ΔT3 >ΔT4, 则对第三镜像数据表进行正向数据处 理, 得到目标数据表; 若ΔT3<ΔT4, 则对第二镜 像数据表进行反向数据处理, 得到目标数据表。 本发明通过在不同判断标准情况下, 选择正向数 据处理或反向数据处理, 可以减少MySQL数据表 的回溯操作, 缩短数据执 行时间。 权利要求书2页 说明书7页 附图2页 CN 115374126 A 2022.11.22 CN 115374126 A 1.一种用于 MySQL数据表的数据恢复方法, 其特 征在于, 所述方法包括如下步骤: S100、 获取目标时间Tm; 所述目标时间Tm为MySQL数据表执 行目标误操作指令的时间; S200、 获取第一更新时间Tnew; 所述第一更新时间Tnew为MySQL数据表最后一次更新的时 间; S300、 若第一处理时长ΔT1>Tc, 则执行步骤S410; 否则, 则执行步骤S500; 其中, ΔT1= Tnew‑Tm; Tc为预设的时间 间隔; S410、 获取所述MySQL数据表的第一镜像数据表的生成时间Ta; 所述第一镜像数据表为 所述MySQ L数据表最 新的镜像数据表; S420、 若Ta<Tm, 则执行步骤S43 0; 若Ta>Tm, 则执行步骤S4 40; S430、 获取第二处理时长ΔT2=Tm‑Ta; 若ΔT1>ΔT2, 则执行步骤S600; 若ΔT1<ΔT2, 则 执行步骤S5 00; S440、 确定第三处理时长ΔT3=Tp‑Tm; 其中, Tp为第二镜像 数据表的生成时间, 所述第二 镜像数据表为 生成时间晚于目标时间Tm且距离目标时间Tm的时间间隔最小的镜像数据表; S450、 确定第四处理时长ΔT4=Tm‑Tq; 其中, Tq为第三镜像 数据表的生成时间, 所述第三 镜像数据表为 生成时间早于目标时间Tm且距离目标时间Tm的时间间隔最小的镜像数据表; S460、 若ΔT3>ΔT4, 则执行步骤S70 0; 若ΔT3<ΔT4, 则执行步骤S800; S500、 将所述MySQL数据表作为待处理数据表, 以Tm为第一目标时间TL、 Tnew为第二目标 时间TM, 对待处 理数据表进行反向数据处 理, 得到目标 数据表; S600、 将所述第一镜像数据表作为待处理数据表, 以Tm为第一目标时间TL、 Ta为第二目 标时间TM, 对待处 理数据表进行正向数据处 理, 得到目标 数据表; S700、 将所述第三镜像数据表作为待处理数据表, 以Tm为第一目标时间TL、 Tq为第二目 标时间TM, 对待处 理数据表进行正向数据处 理, 得到目标 数据表; S800、 将所述第二镜像数据表作为待处理数据表, 以Tm为第一目标时间TL、 Tp为第二目 标时间TM, 对待处 理数据表进行反向数据处 理, 得到目标 数据表。 2.根据权利要求1所述的方法, 其特 征在于, 所述 正向数据处 理包括: S811、 对binlog文件中生成时间在目标时间段[TL,TM]内的数据进行提取, 得到第一待 处理数据; 其中, bi nlog文件与所述MySQ L数据表对应; S812、 对所述第一待 处理数据进行转换处理, 得到若干第一SQL指令; 所述第一SQL指令 具有对应的执 行时间; S813、 控制所述待处理数据表, 按执行时间正序依次执行若干所述第一SQL指令, 以得 到所述目标 数据表。 3.根据权利要求1所述的方法, 其特 征在于, 所述反向数据处 理包括: S821、 对binlog文件中生成时间在目标时间段[TL,TM]内的数据进行提取, 得到第二待 处理数据; 其中, bi nlog文件与所述MySQ L数据表对应; S822、 对所述第二待 处理数据进行转换处理, 得到若干第二SQL指令; 所述第二SQL指令 具有对应的执 行时间; S823、 对每一所述第二SQL指令进行逆向转换处理, 得到每一所述第二SQL指令对应的 第三SQL指令; 所述第三SQ L指令为所述第二SQ L指令的逆向指令; S824、 控制所述待处理数据表, 按执行时间倒序依次执行若干所述第三SQL指令, 以得权 利 要 求 书 1/2 页 2 CN 115374126 A 2到所述目标 数据表。 4.根据权利要求1所述的方法, 其特征在于, 所述MySQL数据表的binlog文件被配置为 每当当前的bi nlog文件的数据大小达 到设定阈值G时, 生成新的bi nlog文件; 所述MySQ L数据表进行镜像处 理的时间 间隔Tc通过以下 方法确定: S310、 获取每一满容量binlog文件对应的满容量时长, 得到满容量时长集F=(F1, F2,...,Fz); 其中, 满容量binlog文件为 数据大小达到设定阈值G的binlog文件; 满容量时长 为所述满容量binlog文件的数据大小由零到G所用的时间差值; Fj为第j个满容量binlog文 件的满容量时长; j =1,2,...,z; z为所述满容量binlog文件的数量; Fj=Yj‑Wj; Yj为对应的 第j个满容量binlog文件的尾条数据信息的生成时间; Wj为对应的第j个满容量binlog文件 的首条数据信息的生成时间; S320、 确定Tc=(g/G)*(∑z j=1Fj/z); 其中, g为预设的目标容 量值, g<G。 5.根据权利要求2所述的方法, 其特 征在于, 所述 步骤S420, 还 包括: 若Ta=Tm, 将第四镜像 数据表作为待处理数据表, 以Tm为第一目标时间TL、 Tb为第二目标 时间TM, 对待处理数据表进行正向数据处理, 得到目标数据表, 其中, Tb为所述MySQL数据表 的第四镜像数据表的生成时间; 所述第四镜像数据表为生成时间早于Ta且距离Ta的时间间 隔最小的镜像数据表。 6.根据权利要求1所述的方法, 其特 征在于, 所述 步骤S430, 还包括: 若ΔT1=ΔT2, 则执行步骤S432; 其中, 步骤S432包括以下步骤: S4321、 获取Tm至Tnew时间段内MySQ L数据表的bi nlog文件的记录数据的数量H; S4322、 获取Ta至Tm时间段内MySQ L数据表的bi nlog文件的记录数据的数量 I; S4323、 若H>I, 则执 行步骤S6 00; 否则, 则执 行步骤S5 00。 7.根据权利要求1所述的方法, 其特 征在于, 所述 步骤S460, 还包括: 若ΔT3=ΔT4, 则执行步骤S462; 其中, 步骤S462包括以下步骤: S4621、 获取Tm至Tp时间段内MySQ L数据表的bi nlog文件的记录数据的数量K; S4622、 获取Tq至Tm时间段内MySQ L数据表的bi nlog文件的记录数据的数量 L; S4623、 若K>L, 则执 行步骤S70 0; 否则, 则执 行步骤S800。 8.根据权利 要求1所述的方法, 其特征在于, 将所述MySQL数据表作为待 处理数据表, 包 括: 对所述MySQL数据表在原保存路径下进行复制并命名为A+Tm, 得到所述待处理数据表; 其中, A为所述MySQ L数据表的原文件名称。 9.一种非瞬时性计算机可读存储介质, 所述存储介质中存储有至少一条指令或至少一 段程序, 所述至少一条指 令或所述至少一段程序由处理器加载并执行以实现如权利要求 1‑ 8中任意一项的所述方法。 10.一种电子设备, 其特征在于, 包括处理器和权利要求9中所述的非瞬时性计算机可 读存储介质。权 利 要 求 书 2/2 页 3 CN 115374126 A 3

PDF文档 专利 一种用于MySQL数据表的数据恢复方法

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种用于MySQL数据表的数据恢复方法 第 1 页 专利 一种用于MySQL数据表的数据恢复方法 第 2 页 专利 一种用于MySQL数据表的数据恢复方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:34:13上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。