[发明专利]一种还原误删除的数据表内容的方法在审

专利信息
申请号: 201310660782.7 申请日: 2013-12-09
公开(公告)号: CN103617277A 公开(公告)日: 2014-03-05
发明(设计)人: 孙京本;卢健 申请(专利权)人: 山东瀚高基础软件股份有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 济南金迪知识产权代理有限公司 37219 代理人: 吕利敏
地址: 250101 山东省济南市高新(历下*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开一种还原误删除的数据表内容的方法,数据库的外存管理负责数据库与外存介质的交互过程。数据库的外存管理中最重要的是表文件管理。数据库中所有的表文件唯一对应一个数据库表。每一个表文件在磁盘中都以一定的结构进行存储,同时,表文件的内容也是按照一定规则进行存储。数据库表中元组被删除时,数据库会更改对应表文件中相应的标志位。本发明所述的还原方法通过读取、解析数据库表文件来还原数据库表被删除的元组内容。该方法应用于计算机技术以及数据库领域,用以保护数据库表内容,防止由于数据库管理员、使用者以及其他数据库操作类程序的误操作,而引起得数据库表内容被意外删除。
搜索关键词: 一种 还原 删除 数据表 内容 方法
【主权项】:
一种还原误删除的数据表内容的方法,包括步骤如下:(1)数据库文件管理模块通过用户或者DBA在数据库系统输入的还原命令以获取到数据库表名称;查询系统类别表,根据所获得的数据库表名称得到对应数据库表的表文件的名称以及路径;(2)打开数据库表文件;打开成功,则进行步骤(3);如打开失败,则程序返回失败;(3)按BLOCK_SIZE大小读取数据库表文件中的一个文件页,解析PageHead,得到文件页的一般描述性信息,所述一般描述性信息是指对应于文件页结构的各个部分的描述信息,包括空闲空间的开始位置、空闲空间的结束位置、指向linp项指针的地址;所述BLOCK_SIZE是指块大小,因为数据库表文件用“分页”的方式存储数据内容,BLOCK_SIZE是每一页的大小,该大小可以在数据库配置文件中进行配置,编译安装之后生效,BLOCK_SIZE在本方法处理代码中可以直接获取;所述文件页是BLOCK_SIZE的数据库表文件,文件页有统一的存储结构;所述PageHead为页头,是文件页的结构的一部分,由数据库系统自动维护;所述空闲空间是指所述数据库表文件中未被数据内容占用的空间;所述指向linp项指针的地址是指文件页中用来存储元组的状态信息,指向元组实际内容所在地址;所述的元组是指文件页结构,对应数据库表的一条数据记录;(4)在BLOCK_SIZE大小的文件页中循环执行以下步骤:a)读取linp项指针,解析出元组的描述性信息,包括元组偏移量、状态以及长度;如果没读取到,则返回步骤(3)继续执行;b)读取一个元组tuple,解析tuple头部信息,所述tuple头部信息包括元组的插入事务id,插入命令id,删除事务id,删除命令id,元组的物理位置、具体状态、属性个数;如读取失败,则返回步骤a)继续执行;所述具体状态包括是否有空值,插入是否有效,插入是否已提交,删除是否有效,删除是否已提交;c)判断元组的插入事务id、删除事务id:当上述插入事务id和删除事务id均为0时,则返回步骤a)继续执行;当上述插入事务id或删除事务id不为0时,则继续执行步骤d);d)查询系统属性表,所述系统属性表保存每一个数据库表的字段信息,在表创建时由系统自动保存;通过查询系统属性表解析出该数据库表的结构,得到表中所有字段的数据类型,根据数据类型解析出各个字段值;e)判断元组是不是该block中的最后一个元组,如果不是,继续执行步骤a),如果是,则返回步骤(3)继续执行;(5)读取、解析数据库表文件的最后一个block,完毕。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东瀚高基础软件股份有限公司,未经山东瀚高基础软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201310660782.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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