一种数据库的处理方法、装置及系统的制作方法_2

文档序号:9787385阅读:来源:国知局
的回退过程是通过执行为每个异常情况编写的相 应的回退代码实现的;该回退代码为针对可能存在的异常情况预先编写保存,直接调用运 行该回退代码,使得目的原子模块回退到运行之前的状态。
[0065] 本发明上述实施例的数据库的处理方法中,通过对各个原子模块实行监测,若原 子模块出现回退类型的异常,则执行第一处理方法将数据库回退到该原子模块执行之前的 状态;同时若原子模块出现的异常不是回退类型的,也执行对应的第二处理方法对异常进 行处理;保证了各个原子模块执行过程中的原子性。
[0066] 为了更好是描述本发明实施例提供的数据库的处理方法,下面结合图3对本发明 实施例的详细步骤作进一步描述:
[0067] 步骤S301,业务处理原子模块1开始执行;
[0068] 步骤S302,判断业务处理原子模块1执行过程中是否存在异常情况;
[0069] 步骤S303,若整个代码执行过程顺利完成,则原子模块1不存在异常情况,则继续 执行原子模块2中的代码;
[0070] 步骤S304,若原子模块1中存在异常情况,获取异常状态信息;
[0071] 步骤S305,根据当前状态信息判断是否需要执行代码的回退操作;
[0072] 步骤S306,如果需要则执行针对本原子模块的回退操作,将数据库的状态回退到 执行本原子模块执行前的状态,并将程序退出;
[0073] 步骤S307,如果不需要执行回退操作,则利用第二处理方法处理该异常信息;
[0074] 步骤S308,判断经过步骤S307的处理后代码是否继续执行;
[0075] 步骤S309,若可以继续执行,则继续执行原子模块2 ;
[0076] 步骤S310,若不可以继续执行,则直接将程序报错退出,结束流程。
[0077] 为了更好的实现上述目的,如图4所示,本发明实施例还提供一种数据库的处理 装置,包括:
[0078] 分割模块41,用于根据所述数据库的业务需求将所述数据库的执行流程依次分割 为多个需要提供原子性保护的原子模块;
[0079] 异常获取模块42,用于实时获取正在运行的目的原子模块的异常状态,根据所述 异常状态确定所述异常的异常类型;
[0080] 第一执行模块43,用于若所述异常类型为回退类型,获取与所述回退类型对应的 第一处理方法并执行所述第一处理方法使得所述目的原子模块回退到该目的原子模块运 行前的状态。
[0081] 进一步的,本发明上述实施例中,上述处理装置还包括:
[0082] 第二执行模块,用于若所述异常类型不为回退类型,获取与该异常类型对应的第 二处理方法并执行所述第二处理方法对所述异常类型进行处理。
[0083] 进一步的,本发明上述实施例中,所述第一执行模块43包括:
[0084] 第一获取单元,用于若所述异常类型为回退类型,获取预先存储的与该回退类型 对应的第一处理方法的回退代码;
[0085] 执行单元,用于执行所述回退代码,使得所述目的原子模块回退到该目的原子模 块运行前的状态,并结束流程。
[0086] 本发明上述实施例中,所述第二执行模块包括:
[0087] 第二获取单元,用于若所述异常类型不为回退类型,获取预先存储的与该异常类 型对应的第二处理方法的处理代码;
[0088] 第三获取单元,用于执行所述处理代码后,进一步获取所述目的原子模块的异常 状态;
[0089] 判断单元,用于若所述目的原子模块不存在异常,则所述数据库继续执行下一原 子模块;若所述目的原子模块存在异常,则结束流程。
[0090] 进一步,本发明具体实施例中,所述回退代码为删除语句。
[0091] 本发明具体实施例的数据库的处理方法中,通过为每一个原子模块的异常类型 设置相应的处理方法,保证了在异常类型为回退类型时,对应的原子模块能够执行相应的 处理方法回退到该原子模块运行前的状态,保证了每一个原子模块在执行业务上具有原子 性,从而保证了整个数据执行的原子性。
[0092] 需要说明的是,本发明实施例提供的处理装置是应用上述处理方法的装置,则上 述处理方法的所有实施例均适用于该处理装置,且均能达到相同或相似的有益效果。
[0093] 为了更好的实现上述目的,本发明实施例还提供一种系统,包括数据库,,所述数 据库包括多个需要提供原子性保护的原子模块,所述系统还包括如上所述的数据库的处理 装置;
[0094] 当所述原子模块出现异常类型为回退类型的异常时,所述数据库的处理装置调用 与所述回退类型对应的回退代码并执行,使得所述数据库回退到该原子模块执行之前的状 〇
[0095] 需要说明的是,本发明实施例提供的系统是包括上述处理装置及数据库的系统, 则上述处理装置的所有实施例及其有益效果均适用于该系统。
[0096] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也 应视为本发明的保护范围。
【主权项】
1. 一种数据库的处理方法,其特征在于,包括: 根据所述数据库的业务需求将所述数据库的执行流程依次分割为多个需要提供原子 性保护的原子模块; 实时获取正在运行的目的原子模块的异常状态,根据所述异常状态确定异常类型; 若所述异常类型为回退类型,获取与所述回退类型对应的第一处理方法并执行所述第 一处理方法使得所述目的原子模块回退到该目的原子模块运行前的状态。2. 根据权利要求1所述的数据库的处理方法,其特征在于,所述方法还包括: 若所述异常类型不为回退类型,获取与该异常类型对应的第二处理方法并执行所述第 二处理方法对所述异常类型进行处理。3. 根据权利要求1所述的数据库的处理方法,其特征在于,若所述异常类型为回退类 型,获取与所述回退类型对应的第一处理方法并执行所述第一处理方法使得所述目的原子 模块回退到该目的原子模块运行前的状态的步骤包括: 若所述异常类型为回退类型,获取预先存储的与该回退类型对应的第一处理方法的回 退代码; 执行所述回退代码,使得所述目的原子模块回退到该目的原子模块运行前的状态,并 结束流程。4. 根据权利要求2所述的数据库的处理方法,其特征在于,若所述异常类型不为回退 类型,获取与该异常类型对应的第二处理方法执行所述第二处理方法对所述异常进行处理 的步骤包括: 若所述异常类型不为回退类型,获取预先存储的与该异常类型对应的第二处理方法的 处理代码; 执行所述处理代码后,进一步获取所述目的原子模块的异常状态; 若所述目的原子模块不存在异常,则所述数据库继续执行下一原子模块;若所述目的 原子模块存在异常,则结束流程。5. 根据权利要求3所述的数据库的处理方法,其特征在于,所述回退代码为删除语句。6. -种数据库的处理装置,其特征在于,包括: 分割模块,用于根据所述数据库的业务需求将所述数据库的执行流程依次分割为多个 需要提供原子性保护的原子模块; 异常获取模块,用于实时获取正在运行的目的原子模块的异常状态,根据所述异常状 态确定所述异常的异常类型; 第一执行模块,用于若所述异常类型为回退类型,获取与所述回退类型对应的第一处 理方法并执行所述第一处理方法使得所述目的原子模块回退到该目的原子模块运行前的 状态。7. 根据权利要求6所述的数据库的处理装置,其特征在于,还包括: 第二执行模块,用于若所述异常类型不为回退类型,获取与该异常类型对应的第二处 理方法并执行所述第二处理方法对所述异常类型进行处理。8. 根据权利要求6所述的数据库的处理装置,其特征在于,所述第一执行模块包括: 第一获取单元,用于若所述异常类型为回退类型,获取预先存储的与该回退类型对应 的第一处理方法的回退代码; 执行单元,用于执行所述回退代码,使得所述目的原子模块回退到该目的原子模块运 行前的状态,并结束流程。9. 根据权利要求7所述的数据库的处理装置,其特征在于,所述第二执行模块包括: 第二获取单元,用于若所述异常类型不为回退类型,获取预先存储的与该异常类型对 应的第二处理方法的处理代码; 第三获取单元,用于执行所述处理代码后,进一步获取所述目的原子模块的异常状 态; 判断单元,用于若所述目的原子模块不存在异常,则所述数据库继续执行下一原子模 块;若所述目的原子模块存在异常,则结束流程。10. 根据权利要求8所述的数据库的处理装置,其特征在于,所述回退代码为删除语 句。11. 一种系统,包括数据库,其特征在于,所述数据库包括多个需要提供原子性保护的 原子模块,所述系统还包括如权利要求6至10任一项所述的数据库的处理装置; 当所述原子模块出现异常类型为回退类型的异常时,所述数据库的处理装置调用与所 述回退类型对应的回退代码并执行,使得所述数据库回退到该原子模块执行之前的状态。
【专利摘要】本发明提供一种数据库的处理方法、装置及系统,其中,数据库的处理方法包括:根据所述数据库的业务需求将所述数据库的执行流程依次分割为多个需要提供原子性保护的原子模块;实时获取正在运行的目的原子模块的异常状态,根据所述异常状态确定所述异常的异常类型;若所述异常类型为回退类型,获取与所述回退类型对应的第一处理方法并执行所述第一处理方法使得所述目的原子模块回退到该目的原子模块运行前的状态。该方法保证了在异常类型为回退类型时,对应的原子模块能够执行相应的处理方法回退到该原子模块运行前的状态,保证了每一个原子模块在执行业务上具有原子性,从而保证了整个数据执行的原子性。
【IPC分类】G06F17/30
【公开号】CN105550178
【申请号】CN201410593605
【发明人】程文超
【申请人】中兴通讯股份有限公司
【公开日】2016年5月4日
【申请日】2014年10月29日
【公告号】WO2016065904A1
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1