[发明专利]数据库中历史数据的处理方法、装置及系统在审
申请号: | 202011426584.0 | 申请日: | 2020-12-09 |
公开(公告)号: | CN112380193A | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 李年 | 申请(专利权)人: | 北京海量数据技术股份有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/215;G06F16/22 |
代理公司: | 北京尚钺知识产权代理事务所(普通合伙) 11723 | 代理人: | 王海荣 |
地址: | 100083 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 历史数据 处理 方法 装置 系统 | ||
1.一种数据库中历史数据的处理方法,其特征在于,包括:
在创建新的数据库时,同时创建独立的历史表空间,所述历史表空间用于存储历史版本数据和事务信息;
执行Vacuum进程时,直接访问所述历史表空间来清除过期数据。
2.根据权利要求1所述的数据库中历史数据的处理方法,其特征在于,在同时创建独立的历史表空间的步骤之后包括:
接收用户的历史表空间管理信息,并根据所述历史表空间管理信息调整所述历史表空间的大小。
3.根据权利要求2所述的数据库中历史数据的处理方法,其特征在于,在同时创建独立的历史表空间的步骤之后包括:
在收到用户的SQL处理信息时,记录SQL处理之前的历史版本数据和事务信息至所述历史表空间。
4.根据权利要求3所述的数据库中历史数据的处理方法,其特征在于,在同时创建独立的历史表空间的步骤之后包括:
接收事务回滚信息,根据所述事实回滚信息中的事务在所述历史表空间的数据信息,回滚所述事务的数据改变;
数据库在事务中断后重启恢复时,读取所述中断的事务在所述历史表空间中的数据信息,并回滚所述中断的事务的数据改变;
在第一事务在改变目标位置的数据,并且第二事务开始读取所述目标位置的数据时,数据库根据历史表空间的事务信息,仅允许所述第二事务获取开始读取所述目标位置的数据时间之前的所述目标位置的数据。
5.根据权利要求4所述的数据库中历史数据的处理方法,其特征在于,在同时创建独立的历史表空间的步骤之后包括:
在收到包括改变目标数据请求的事务信息后,若收到用于查询所述目标数据改变之前的数据值的请求,且确认所述历史表空间存有目标数据改变之前的数据值,则通过SQL语句从所述历史表空间获取所述目标数据改变之前的数据值。
6.一种数据库中历史数据的处理装置,其特征在于,包括:
历史表空间创建模块,用于在创建新的数据库时,同时创建独立的历史表空间,所述历史表空间用于存储历史版本数据和事务信息;
Vacuum模块,用于执行时,直接访问所述历史表空间来清除过期数据。
7.根据权利要求6所述的数据库中历史数据的处理装置,其特征在于,还包括:
历史表空间管理模块,用于接收用户的历史表空间管理信息,并根据所述历史表空间管理信息调整所述历史表空间的大小;
SQL模块,用于在收到用户的SQL处理信息时,记录SQL处理之前的历史版本数据和事务信息至所述历史表空间。
8.根据权利要求7所述的数据库中历史数据的处理装置,其特征在于,还包括:
事务模块,用于接收事务回滚信息,根据所述事实回滚信息中的事务在所述历史表空间的数据信息,回滚所述事务的数据改变;数据库在事务中断后重启恢复时,读取所述中断的事务在所述历史表空间中的数据信息,并回滚所述中断的事务的数据改变;在第一事务在改变目标位置的数据,并且第二事务开始读取所述目标位置的数据时,数据库根据历史表空间的事务信息,仅允许所述第二事务获取开始读取所述目标位置的数据时间之前的所述目标位置的数据;
闪回模块,用于在收到包括改变目标数据请求的事务信息后,若收到用于查询所述目标数据改变之前的数据值的请求,且确认所述历史表空间存有目标数据改变之前的数据值,则通过SQL语句从所述历史表空间获取所述目标数据改变之前的数据值。
9.一种数据库中历史数据的处理系统,其特征在于,包括:
内存,用于缓存数据;
硬盘,用于存储历史表空间,所述历史表空间用于存储历史版本数据和事务信息;
CPU,用于在创建新的数据库时,同时创建所述历史表空间;并用于执行Vacuum进程时,直接访问所述历史表空间来清除过期数据。
10.根据权利要求9所述的数据库中历史数据的处理系统,其特征在于,所述CPU还用于:接收用户的历史表空间管理信息,并根据所述历史表空间管理信息调整所述历史表空间的大小;在收到用户的SQL处理信息时,记录SQL处理之前的历史版本数据和事务信息至所述历史表空间;接收事务回滚信息,根据所述事实回滚信息中的事务在所述历史表空间的数据信息,回滚所述事务的数据改变;数据库在事务中断后重启恢复时,读取所述中断的事务在所述历史表空间中的数据信息,并回滚所述中断的事务的数据改变;在第一事务在改变目标位置的数据,并且第二事务开始读取所述目标位置的数据时,数据库根据历史表空间的事务信息,仅允许所述第二事务获取开始读取所述目标位置的数据时间之前的所述目标位置的数据;以及在收到包括改变目标数据请求的事务信息后,若收到用于查询所述目标数据改变之前的数据值的请求,且确认所述历史表空间存有目标数据改变之前的数据值,则通过SQL语句从所述历史表空间获取所述目标数据改变之前的数据值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京海量数据技术股份有限公司,未经北京海量数据技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011426584.0/1.html,转载请声明来源钻瓜专利网。