[发明专利]一种恢复MySQL数据库的innodb压缩数据的方法有效

专利信息
申请号: 201811453262.8 申请日: 2018-11-30
公开(公告)号: CN109271463B 公开(公告)日: 2022-06-07
发明(设计)人: 梁效宁;许超明;张强;朱星海;董超;刘涛 申请(专利权)人: 四川巧夺天工信息安全智能设备有限公司
主分类号: G06F16/28 分类号: G06F16/28;G06F16/22;G06F16/174
代理公司: 暂无信息 代理人: 暂无信息
地址: 641000 四*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 恢复 mysql 数据库 innodb 压缩 数据 方法
【权利要求书】:

1.一种恢复MySQL数据库的innodb压缩数据的方法,其特征在于包括以下步骤:

S100:判断当前数据是否为压缩数据,如果是,执行步骤S200,否则,结束流程;所述压缩数据的页结构如下表1所示,

表1:压缩数据的页结构

文件头
页头
ZLIB头
原压缩数据
压缩数据校验和
未删除数据
压缩页修改日志
空闲空间
外部存储页的列记录指针数组
事务id和回滚指针
页目录

所述文件头具有如下表2所示的数据结构,

表2:文件头的数据结构

步骤S100中的具体步骤如下:

S101:根据所述表2的数据结构,读取当前文件头第25、第26字节的内容作为页类型,判断当前页类型是否为压缩数据,如果是,执行步骤S102,否则执行步骤S103;

S102:以页起始地址为首地址,向后偏移0x36字节,连续读取4字节内容作为标志字节,将所述4字节内容与0x00000020进行逻辑与运算,判断结果是否等于0x00000020,如果是,执行步骤S103,否则,结束流程;

S103:读取ZLIB压缩标志并与0x80进行逻辑与运算,判断结果是否等于0x80,如果是,执行步骤S200,否则,结束流程,其中,所述ZLIB压缩标志为当前页第0x60字节的内容;

S200:计算当前压缩数据的页大小;步骤S200的具体步骤如下:

S201:设置当前压缩数据的页大小,所述页大小为不大于0x4000的正整数;

S202:从当前页的起始地址向后偏移,偏移的字节长度为一个页大小,读取字节长度为0x5E的数据,将所读取的数据按所述表1、表2的数据结构中各项进行一一对应,判断所读取的数据是否满足所述表1、表2的数据结构,如果是,执行步骤S204,否则,执行步骤S203;

S203:将页大小重新赋值并判断是否大于0x4000:页大小=当前页大小*2,判断页大小是否大于0x4000,如果是,结束流程,否则执行步骤S202;

S204:从当前页的起始地址向后偏移,偏移的字节长度为当前页大小-2,读取2字节的内容作为当前页的第一条数据的起始地址,判断起始地址是否不小于0x63且不大于阀值,所述阀值=当前页大小-页内记录总数*(页目录中单个槽的长度+单条事务ID长度+单条回滚指针长度),如果是,执行步骤S300,否则,执行步骤S203;

S300:根据压缩数据的页结构和表结构,计算当前压缩数据的起始地址;

S400:采用ZLIB解压压缩数据后,根据所述压缩数据的页结构确定每一记录条目的地址;

S500:采用非压缩数据页格式恢复MySQL数据库的innodb压缩数据,步骤S500包括以下步骤:

S501:根据表结构计算出NULL标志所占字节数;

S502:寻址至记录在非压缩页中的相对地址,从后往前分别读取NULL标志所占字节数,得到NULL标志;

S503:根据表结构计算出变长度字段个数;

S504:获取变长字段长度,包括以下步骤:

S5041:寻址至记录的起始地址+NULL标志所占字节数,读取并存储当前地址中1字节的内容作为变长字段长度,cnt赋初值为所述变长字段个数;

S5042:所读取1字节的内容与0x80进行逻辑与运算,判断结果是否为0x80,如果是,执行步骤S5044,否则,执行步骤S5043;

S5043:当前地址=当前地址-1,cnt=cnt-1,执行步骤S5046;

S5044:当前地址=当前地址-2;

S5045:读取并存储当前地址中2字节的内容作为变长字段长度,cnt=cnt-1;

S5046:判断当前cnt是否为0,如果是,执行步骤S505,否则,执行步骤S5041;

S505:寻址至记录的起始地址并根据表结构、NULL标志以及步骤S504中所获取的各个变长字段长度,对数据进行解析;

S506:重复执行步骤S501到步骤S505,直至所有记录解析完毕并存储为恢复的所述MySQL数据库的innodb压缩数据。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川巧夺天工信息安全智能设备有限公司,未经四川巧夺天工信息安全智能设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811453262.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top