【技术实现步骤摘要】
数据恢复方法和装置
[0001]本申请涉及数据处理
,尤其涉及一种数据恢复方法和装置。
技术介绍
[0002]银行的核心业务系统经常会存在分布式部署。
[0003]在核心业务系统采用分布式部署的情况下,完成一个业务可能涉及到在多台服务器上的业务操作,而不同服务器上的业务操作可能涉及到操作不同的数据库。如果业务处理异常,则可能会出现某些数据库中该业务相关的数据已修改,而某些数据库中该业务相关的数据尚未修改,从而出现数据不一致的情况。为了解决该种问题,在业务处理异常后,就需要对该业务涉及到的数据库进行数据恢复,然而,每次执行数据库恢复操作,都需要开发相应的恢复程序,导致数据恢复的复杂度较高。
技术实现思路
[0004]本申请提供了一种数据恢复方法和装置,以降低业务异常后,恢复数据的复杂度。
[0005]一方面,本申请提供了一种数据恢复方法,应用于服务器,包括:
[0006]截获业务触发的数据库操作请求,所述数据库操作请求指示有待操作的数据库以及针对所述数据库的数据库操作语句;
[0007]解析所述数据库操作语句的操作类型;
[0008]如果所述数据库操作语句的操作类型为插入操作,基于所述数据库操作语句,确定待插入到所述数据库内的数据对应的第一主键,将所述第一主键存储为所述业务对应的恢复参照数据,将所述数据库操作请求转发给所述数据库,以使得所述数据库执行所述数据库操作语句;
[0009]如果所述数据库操作语句的操作类型为修改操作或者删除操作,从所述数据库 ...
【技术保护点】
【技术特征摘要】
1.一种数据恢复方法,其特征在于,应用于服务器,包括:截获业务触发的数据库操作请求,所述数据库操作请求指示有待操作的数据库以及针对所述数据库的数据库操作语句;解析所述数据库操作语句的操作类型;如果所述数据库操作语句的操作类型为插入操作,基于所述数据库操作语句,确定待插入到所述数据库内的数据对应的第一主键,将所述第一主键存储为所述业务对应的恢复参照数据,将所述数据库操作请求转发给所述数据库,以使得所述数据库执行所述数据库操作语句;如果所述数据库操作语句的操作类型为修改操作或者删除操作,从所述数据库获得所述数据库操作语句所需操作的目标数据记录,将所述目标数据记录存储为所述业务对应的恢复参照数据,将所述数据库操作请求转发给所述数据库,以使得所述数据库执行所述数据库操作语句;检测到针对所述业务的数据库恢复指令,基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态。2.根据权利要求1所述的方法,其特征在于,所述基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态,包括:如果所述数据库操作语句的操作类型为插入操作,基于所述业务的恢复参照数据中的所述第一主键,删除所述数据库中所述第一主键对应的数据记录;如果所述数据库操作语句的操作类型为修改操作,确定所述业务的恢复参照数据中的所述目标数据记录对应的第二主键,将所述数据库中所述第二主键下的数据记录更改为所述目标数据记录;如果所述数据库操作语句的操作类型为删除操作,将所述业务的恢复参照数据中的所述目标数据记录插入到所述数据库中。3.根据权利要求2所述的方法,其特征在于,在所述检测到针对所述业务的数据库恢复指令之前,还包括:生成所述业务对应的恢复标识;将所述数据库的信息、所述数据库操作语句的信息存储为所述恢复标识对应的基础信息;所述数据库恢复指令指示有所述业务的恢复标识;在基于所述业务的恢复参照数据将所述数据库恢复至执行所述数据库操作语句前的状态之前,包括:基于所述业务的恢复标识对应的基础信息,确定所述业务所操作的所述数据库以及所述数据库操作语句的信息,所述数据库操作语句的信息至少包括所述数据库操作语句的操作类型。4.根据权利要求1或2所述的方法,其特征在于,所述从所述数据库获得所述数据库操作语句所需操作的目标数据记录,包括:确定所述数据库操作语句所需操作的目标数据记录的第二主键;基于所述第二主键生成数据读取语句,将所述数据读取语句发送给所述数据库,以从所述数据库获取所述第二主键指向的所述目标数据记录。
5.根据权利要求1所述的方法,其特征在于,还包括:如果所述数据库操作语句的操作类型为读操作,将所述数据库操作语句发送给所述数据库,以使得所述数据库执行所述数据库操作语句。6.根据权利要求2所述的方法,其特征在于,所述如果所述数据库操作语句的操作类型为插入操作,基于所述业务的恢复参照数据中的所述第一主键,删除所述数据库中所述第一主键对应的数据记录,包括:如果所述数据库操作语句的操作类型为插入操作,基于所述业务的恢复参照数...
【专利技术属性】
技术研发人员:戴翔,高芳,尤立凯,张凤玲,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。