1 .一种分布式数据库数据自动恢复方法,其特征在于:数据库系统持续监控节点进程
状态,当因节点故障造成数据损坏时,数据库通过数据自动恢复方法自动地修复数据,数据
自动恢复方法包括以下步骤:
T1、触发自动恢复服务:若检查到用户对数据库进行操作时节点进程发生故障,则启动
自动恢复服务转到T2;
T2、查询表操作:检查用户对数据库表的操作,若是对表结构的操作转到T3,若是对表
数据的操作转到T4,若包括对表的结构和数据的操作则转到T5;
T3、表结构恢复:系统根据已记录的序列化ddl事件日志恢复表的结构,在追平原表结
构后结束数据自动恢复流程;
T4、表数据恢复:系统根据已记录的dml数据丢失事件恢复表的数据,在同步对齐原表
数据后结束数据自动恢复流程;
T5、表结构和数据恢复:系统依次执行T3、T4后结束数据自动恢复流程。
2 .根据权利要求1所述的一种分布式数据库数据自动恢复方法,其特征在于:所述T3表
结构恢复包括以下分步骤:
S1、用户对数据库表下发ddl语句时,数据库系统将ddl操作分发给各数据节点;
S2、当数据库中的某个数据节点进程出现故障时,数据库系统会记录该数据节点的ddl
事件日志,并将ddl事件日志序列化和压缩后存入ddl_fevent_log文件里;
S3、当S2中数据节点故障修复后,系统根据S2中ddl_fevent_log文件里记录的ddl事件
日志解压缩和反序列化,再对故障数据节点进行ddl重做,完成表结构恢复。
3 .根据权利要求2所述的一种分布式数据库数据自动恢复方法,其特征在于:所述ddl
事件日志序列化后的格式为head+content,head包括序列化标记、Redolog标记、版本号,
content包括Lockinfo、dbtablename、nodeinfo、statement;
其中Lockinf为锁相关信息包含锁id和锁字符串信息,dbtablename为数据库表名称信
息,nodeinfo为节点信息包含节点的ip地址信息,statement为需要执行的ddl_sql语句。
4 .根据权利要求1所述的一种分布式数据库数据自动恢复方法,其特征在于:所述T4表
数据恢复包括以下步骤:
A1、用户对数据库表下发dml语句时,数据库系统将dml操作分发给其相联系数据节点;
A2、当数据库中的某个数据节点进程出现故障时,数据库系统会记录故障数据节点相
应表的dml数据丢失事件,并将dml数据丢失事件存入dml_fevent_log日志里;
A3、当A2中数据节点故障修复后,系统根据A2中dml_fevent_log日志里的dml数据丢失
事件从其它正常运行的相联系数据节点中获取备份数据;
A4、利用备份数据对该故障数据节点进行数据块的同步写入操作,完成表数据恢复。
5 .根据权利要求4所述的一种分布式数据库数据自动恢复方法,其特征在于:所述dml_
fevent_log日志内容包括tableinfo、noddeinfo、datainfo,其中tableinfo为丢失数据的
表名称,noddeinfo丢失数据的节点ip和备份数据节点ip,datainfo为丢失的数据块信息。
6 .根据权利要求1所述的一种分布式数据库数据自动恢复方法,其特征在于:在所述T2
中,对表结构操作的场景包括创建表、修改表、删除表、创建索引、修改索引、删除索引,对表
数据操作的场景包括数据插入、数据更新、数据删除、数据查询。
7 .根据权利要求4所述的一种分布式数据库数据自动恢复方法,其特征在于:所述A4
权 利 要 求 书
1/2 页
2
相关文档
评论