数据恢复方法和装置制造方法及图纸

技术编号:34330719 阅读:10 留言:0更新日期:2022-07-31 02:01
本申请提供了一种数据恢复方法和装置,可应用于分布式领域或金融领域,该方法包括:截获数据库操作请求,数据库操作请求指示有待操作的数据库及数据库操作语句;如果数据库操作语句的操作类型为插入操作,基于数据库操作语句,确定待插入到数据库内的数据对应的第一主键,将第一主键存储为业务对应的恢复参照数据;如果数据库操作语句的操作类型为修改操作或删除操作,从数据库获得数据库操作语句所需操作的目标数据记录,将目标数据记录存储为恢复参照数据;将数据库操作请求转发给数据库;检测到针对业务的数据库恢复指令,基于业务的恢复参照数据将数据库恢复至执行数据库操作语句前的状态。本申请可以降低业务异常后,恢复数据的复杂度。复数据的复杂度。复数据的复杂度。

Data recovery method and device

【技术实现步骤摘要】
数据恢复方法和装置


[0001]本申请涉及数据处理
,尤其涉及一种数据恢复方法和装置。

技术介绍

[0002]银行的核心业务系统经常会存在分布式部署。
[0003]在核心业务系统采用分布式部署的情况下,完成一个业务可能涉及到在多台服务器上的业务操作,而不同服务器上的业务操作可能涉及到操作不同的数据库。如果业务处理异常,则可能会出现某些数据库中该业务相关的数据已修改,而某些数据库中该业务相关的数据尚未修改,从而出现数据不一致的情况。为了解决该种问题,在业务处理异常后,就需要对该业务涉及到的数据库进行数据恢复,然而,每次执行数据库恢复操作,都需要开发相应的恢复程序,导致数据恢复的复杂度较高。

技术实现思路

[0004]本申请提供了一种数据恢复方法和装置,以降低业务异常后,恢复数据的复杂度。
[0005]一方面,本申请提供了一种数据恢复方法,应用于服务器,包括:
[0006]截获业务触发的数据库操作请求,所述数据库操作请求指示有待操作的数据库以及针对所述数据库的数据库操作语句;
[0007]解析所述数据库操作语句的操作类型;
[0008]如果所述数据库操作语句的操作类型为插入操作,基于所述数据库操作语句,确定待插入到所述数据库内的数据对应的第一主键,将所述第一主键存储为所述业务对应的恢复参照数据,将所述数据库操作请求转发给所述数据库,以使得所述数据库执行所述数据库操作语句;
[0009]如果所述数据库操作语句的操作类型为修改操作或者删除操作,从所述数据库获得所述数据库操作语句所需操作的目标数据记录,将所述目标数据记录存储为所述业务对应的恢复参照数据,将所述数据库操作请求转发给所述数据库,以使得所述数据库执行所述数据库操作语句;
[0010]检测到针对所述业务的数据库恢复指令,基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态。
[0011]在一种可能的实现方式中,所述基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态,包括:
[0012]如果所述数据库操作语句的操作类型为插入操作,基于所述业务的恢复参照数据中的所述第一主键,删除所述数据库中所述第一主键对应的数据记录;
[0013]如果所述数据库操作语句的操作类型为修改操作,确定所述业务的恢复参照数据中的所述目标数据记录对应的第二主键,将所述数据库中所述第二主键下的数据记录更改为所述目标数据记录;
[0014]如果所述数据库操作语句的操作类型为删除操作,将所述业务的恢复参照数据中
的所述目标数据记录插入到所述数据库中。
[0015]在又一种可能的实现方式中,在所述检测到针对所述业务的数据库恢复指令之前,还包括:
[0016]生成所述业务对应的恢复标识;
[0017]将所述数据库的信息、所述数据库操作语句的信息存储为所述恢复标识对应的基础信息;
[0018]所述数据库恢复指令指示有所述业务的恢复标识;
[0019]在基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态之前,包括:
[0020]基于所述业务的恢复标识对应的基础信息,确定所述业务所操作的所述数据库以及所述数据库操作语句的信息,所述数据库操作语句的信息至少包括所述数据库操作语句的操作类型。
[0021]在又一种可能的实现方式中,所述从所述数据库获得所述数据库操作语句所需操作的目标数据记录,包括:
[0022]确定所述数据库操作语句所需操作的目标数据记录的第二主键;
[0023]基于所述第二主键生成数据读取语句,将所述数据读取语句发送给所述数据库,以从所述数据库获取所述第二主键指向的所述目标数据记录。
[0024]在又一种可能的实现方式中,还包括:
[0025]如果所述数据库操作语句的操作类型为读操作,将所述数据库操作语句发送给所述数据库,以使得所述数据库执行所述数据库操作语句。
[0026]在又一种可能的实现方式中,所述如果所述数据库操作语句的操作类型为插入操作,基于所述业务的恢复参照数据中的所述第一主键,删除所述数据库中所述第一主键对应的数据记录,包括:
[0027]如果所述数据库操作语句的操作类型为插入操作,基于所述业务的恢复参照数据中的所述第一主键,生成用于指示删除所述第一主键对应的数据记录的数据删除语句,将所述数据删除语句发送给所述数据库,以删除所述数据库中所述第一主键对应的数据记录。
[0028]在又一种可能的实现方式中,所述如果所述数据库操作语句的操作类型为修改操作,确定所述业务的恢复参照数据中的所述目标数据记录对应的第二主键,将所述数据库中所述第二主键下的数据记录更改为所述目标数据记录,包括:
[0029]如果所述数据库操作语句的操作类型为修改操作,确定所述业务的恢复参照数据中的所述目标数据记录对应的第二主键;
[0030]基于所述第二主键和所述目标数据记录,生成数据修改语句,所述数据修改语句用于指示所述数据库将所述第二主键下的数据记录更改为所述目标数据记录;
[0031]将所述数据修改语句发送给所述数据库,以使得所述数据库将所述第二主键下的数据记录更改为所述目标数据记录。
[0032]在又一种可能的实现方式中,所述如果所述数据库操作语句的操作类型为删除操作,将所述业务的恢复参照数据中的所述目标数据记录插入到所述数据库中,包括:
[0033]如果所述数据库操作语句的操作类型为删除操作,基于目标数据记录,生成数据
插入语句,所述数据插入语句用于指示将所述目标数据记录插入到所述数据库中;
[0034]将所述数据插入语句发送给所述数据库,以使得所述数据库插入所述目标数据记录。
[0035]又一方面,本申请还提供了一种数据恢复装置,应用于服务器,包括:
[0036]截获单元,用于截获业务触发的数据库操作请求,所述数据库操作请求指示有待操作的数据库以及针对所述数据库的数据库操作语句;
[0037]解析单元,用于解析所述数据库操作语句的操作类型;
[0038]第一语句处理单元,用于如果所述数据库操作语句的操作类型为插入操作,基于所述数据库操作语句,确定待插入到所述数据库内的数据对应的第一主键,将所述第一主键存储为所述业务对应的恢复参照数据,将所述数据库操作请求转发给所述数据库,以使得所述数据库执行所述数据库操作语句;
[0039]第二语句处理单元,用于如果所述数据库操作语句的操作类型为修改操作或者删除操作,从所述数据库获得所述数据库操作语句所需操作的目标数据记录,将所述目标数据记录存储为所述业务对应的恢复参照数据,将所述数据库操作请求转发给所述数据库,以使得所述数据库执行所述数据库操作语句;
[0040]数据恢复单元,用于检测到针对所述业务的数据库恢复指令,基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据恢复方法,其特征在于,应用于服务器,包括:截获业务触发的数据库操作请求,所述数据库操作请求指示有待操作的数据库以及针对所述数据库的数据库操作语句;解析所述数据库操作语句的操作类型;如果所述数据库操作语句的操作类型为插入操作,基于所述数据库操作语句,确定待插入到所述数据库内的数据对应的第一主键,将所述第一主键存储为所述业务对应的恢复参照数据,将所述数据库操作请求转发给所述数据库,以使得所述数据库执行所述数据库操作语句;如果所述数据库操作语句的操作类型为修改操作或者删除操作,从所述数据库获得所述数据库操作语句所需操作的目标数据记录,将所述目标数据记录存储为所述业务对应的恢复参照数据,将所述数据库操作请求转发给所述数据库,以使得所述数据库执行所述数据库操作语句;检测到针对所述业务的数据库恢复指令,基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态。2.根据权利要求1所述的方法,其特征在于,所述基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态,包括:如果所述数据库操作语句的操作类型为插入操作,基于所述业务的恢复参照数据中的所述第一主键,删除所述数据库中所述第一主键对应的数据记录;如果所述数据库操作语句的操作类型为修改操作,确定所述业务的恢复参照数据中的所述目标数据记录对应的第二主键,将所述数据库中所述第二主键下的数据记录更改为所述目标数据记录;如果所述数据库操作语句的操作类型为删除操作,将所述业务的恢复参照数据中的所述目标数据记录插入到所述数据库中。3.根据权利要求2所述的方法,其特征在于,在所述检测到针对所述业务的数据库恢复指令之前,还包括:生成所述业务对应的恢复标识;将所述数据库的信息、所述数据库操作语句的信息存储为所述恢复标识对应的基础信息;所述数据库恢复指令指示有所述业务的恢复标识;在基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态之前,包括:基于所述业务的恢复标识对应的基础信息,确定所述业务所操作的所述数据库以及所述数据库操作语句的信息,所述数据库操作语句的信息至少包括所述数据库操作语句的操作类型。4.根据权利要求1或2所述的方法,其特征在于,所述从所述数据库获得所述数据库操作语句所需操作的目标数据记录,包括:确定所述数据库操作语句所需操作的目标数据记录的第二主键;基于所述第二主键生成数据读取语句,将所述数据读取语句发送给所述数据库,以从所述数据库获取所述第二主键指向的所述目标数据记录。
5.根据权利要求1所述的方法,其特征在于,还包括:如果所述数据库操作语句的操作类型为读操作,将所述数据库操作语句发送给所述数据库,以使得所述数据库执行所述数据库操作语句。6.根据权利要求2所述的方法,其特征在于,所述如果所述数据库操作语句的操作类型为插入操作,基于所述业务的恢复参照数据中的所述第一主键,删除所述数据库中所述第一主键对应的数据记录,包括:如果所述数据库操作语句的操作类型为插入操作,基于所述业务的恢复参照数...

【专利技术属性】
技术研发人员:戴翔高芳尤立凯张凤玲
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1