一种数据库故障时的业务处理方法和设备技术

技术编号:13086207 阅读:97 留言:0更新日期:2016-03-30 17:05
本申请公开了一种数据库故障时的业务处理方法和设备,该方法包括:业务处理服务器在收到业务请求时,判断主用数据库是否发生故障;当主用数据库发生故障时,业务处理服务器为所述业务请求设置未处理完成标记,并利用备用数据库中当前存储的数据对所述业务请求进行业务处理,并在业务处理成功时,提示业务处理成功的信息;当主用数据库故障恢复或者主用数据库中存储的数据均备份到备用数据库后,如果有业务请求具有未处理完成标记,则业务处理服务器重新利用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数据,对具有未处理完成标记的业务请求进行业务处理。本申请实施例中,可以避免业务发生中断,并提高用户使用感受。

【技术实现步骤摘要】

本申请涉及互联网
,尤其是涉及一种数据库故障时的业务处理方法和设备,特别是一种基于数据库内数据的业务处理方法和设备。
技术介绍
业务处理服务器用于对业务请求进行业务处理,并利用业务处理的结果更新主用数据库中存储的数据值。例如,主用数据库主要用于存储账户余额,业务处理服务器在需要对业务请求进行业务处理时,假如用户A的支付行为是消费了100元,业务请求用于将用户A的账户余额减100元,则业务处理服务器将用户A的账户余额减100元,假设用户A在主用数据库中对应的账户余额为1000元,则业务处理服务器需要将用户A在主用数据库中存储的账户余额1000元减100元,并将主用数据库中存储的用户A的账户余额更新为900元。为了保证数据库的可靠性,现有技术中,通常使用DataGuard(数据保护)这种高可用性的数据库方案来提供数据库。在DataGuard方案中,包括一个主用数据库和一个备用数据库,且在主用数据库和备用数据库之间通过日志同步来保证数据的同步,从而可以实现数据库快速切换与灾难性恢复。具体的,当主用数据库发生故障时,通过日志同步方式,将主用数据库内所有的数据恢复到备用数据库中,之后利用备用数据库中的数据提供数据读写服务。当主用数据库发生故障时,通常需要10-15分钟才能够将主用数据库内所有的数据恢复到备用数据库,而这段时间内业务处理服务器将无法读写主用数据库中的数据和备用数据库中的数据,从而导致业务中断。进一步的,长时间的业务中断会让用户体验急剧变差,严重影响用户使用感受。对于一些对实时性要求高的业务,业务中断还会导致用户或服务提供方出现损失。
技术实现思路
本申请实施例提供一种数据库故障时的业务处理方法和设备,以避免业务发生中断,并提高用户使用感受,避免用户或服务提供方出现损失。本申请实施例提供一种数据库故障时的业务处理方法,主用数据库中存储的数据需要在M秒之内同步到备用数据库中,所述方法包括以下步骤:业务处理服务器在收到业务请求时,判断所述主用数据库是否发生故障;当所述主用数据库发生故障时,所述业务处理服务器为所述业务请求设置未处理完成标记,并利用所述备用数据库中当前存储的数据对所述业务请求进行业务处理,并在业务处理成功时,提示业务处理成功的信息;当所述主用数据库故障恢复或者所述主用数据库中存储的数据均备份到所述备用数据库之后,如果有业务请求具有未处理完成标记,则所述业务处理服务器重新利用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数据,对具有未处理完成标记的业务请求进行业务处理。所述方法进一步包括:所述业务处理服务器在利用所述备用数据库中当前存储的数据对所述业务请求进行业务处理之后,在业务处理成功时,所述业务处理服务器拒绝利用业务处理结果更新所述备用数据库中存储的数据;所述业务处理服务器在重新利用所述主用数据库中当前存储的数据对具有未处理完成标记的业务请求进行业务处理之后,在业务处理成功时,所述业务处理服务器利用业务处理结果更新所述主用数据库中存储的数据;或者,所述业务处理服务器在重新利用所述备用数据库中当前存储的数据对具有未处理完成标记的业务请求进行业务处理之后,在业务处理成功时,所述业务处理服务器利用业务处理结果更新所述备用数据库中存储的数据。所述业务处理服务器重新利用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数据,对具有未处理完成标记的业务请求进行业务处理之后,所述方法还包括:在业务处理失败时,所述业务处理服务器提示业务处理失败的信息;在业务处理成功时,所述业务处理服务器拒绝提示业务处理成功的信息。所述业务处理服务器重新利用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数据,对具有未处理完成标记的业务请求进行业务处理之后,所述方法还包括:所述业务处理服务器清除所述业务请求具有的未处理完成标记。所述业务处理服务器判断所述主用数据库是否发生故障之后,所述方法进一步包括:当所述主用数据库未发生故障时,所述业务处理服务器利用所述主用数据库中当前存储的数据对所述业务请求进行业务处理;在业务处理成功时,所述业务处理服务器提示业务处理成功的信息,并利用业务处理结果更新所述主用数据库中存储的数据;在业务处理失败时,所述业务处理服务器提示业务处理失败的信息。本申请实施例提供一种业务处理服务器,主用数据库中存储的数据需要在M秒之内同步到备用数据库中,所述业务处理服务器具体包括:判断模块,用于在收到业务请求时,判断所述主用数据库是否发生故障;处理模块,用于当所述主用数据库发生故障时,为所述业务请求设置未处理完成标记,并利用所述备用数据库中当前存储的数据对所述业务请求进行业务处理,并在业务处理成功时,提示业务处理成功的信息;当所述主用数据库故障恢复或者所述主用数据库中存储的数据均备份到所述备用数据库之后,如果有业务请求具有未处理完成标记,则重新利用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数据,并对具有未处理完成标记的业务请求进行业务处理。所述处理模块,进一步用于在利用所述备用数据库中当前存储的数据对所述业务请求进行业务处理之后,在业务处理成功时,拒绝利用业务处理结果更新所述备用数据库中存储的数据;在重新利用所述主用数据库中当前存储的数据对具有未处理完成标记的业务请求进行业务处理之后,在业务处理成功时,利用业务处理结果更新所述主用数据库中存储的数据;或者,在重新利用所述备用数据库中当前存储的数据对具有未处理完成标记的业务请求进行业务处理之后,在业务处理成功时,利用业务处理结果更新所述备用数据库中存储的数据。所述处理模块,进一步用于在重新利用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数据,对具有未处理完成标记的业务请求进行业务处理之后,在业务处理失败时,则提示业务处理失败的信息;在业务处理成功时,则拒绝提示业务处理成功的信息。所述处理模块,进一步用于在重新利用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数据,对具有未处理完成标记的业务请求进行业务处理之后,清除所述业务请求具有的未处理完成标记。所述处理模块,进一步用于在判断所述主用数据库是否发生故障之后,当所述主用数据库未发生故障时,利用所述主用数据库中当前存储的数据对所述业务请求进行业务处理;在业务处理成功时,提示业务处理成功的信息,并利用业务处理结果更新所本文档来自技高网
...

【技术保护点】
一种数据库故障时的业务处理方法,其特征在于,主用数据库中存储的数据需要在M秒之内同步到备用数据库中,所述方法包括以下步骤:业务处理服务器在收到业务请求时,判断所述主用数据库是否发生故障;当所述主用数据库发生故障时,所述业务处理服务器为所述业务请求设置未处理完成标记,并利用所述备用数据库中当前存储的数据对所述业务请求进行业务处理,并在业务处理成功时,提示业务处理成功的信息;当所述主用数据库故障恢复或者所述主用数据库中存储的数据均备份到所述备用数据库之后,如果有业务请求具有未处理完成标记,则所述业务处理服务器重新利用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数据,对具有未处理完成标记的业务请求进行业务处理。

【技术特征摘要】
1.一种数据库故障时的业务处理方法,其特征在于,主用数据库中存储
的数据需要在M秒之内同步到备用数据库中,所述方法包括以下步骤:
业务处理服务器在收到业务请求时,判断所述主用数据库是否发生故障;
当所述主用数据库发生故障时,所述业务处理服务器为所述业务请求设
置未处理完成标记,并利用所述备用数据库中当前存储的数据对所述业务请
求进行业务处理,并在业务处理成功时,提示业务处理成功的信息;
当所述主用数据库故障恢复或者所述主用数据库中存储的数据均备份到
所述备用数据库之后,如果有业务请求具有未处理完成标记,则所述业务处
理服务器重新利用所述主用数据库中当前存储的数据或者所述备用数据库中
当前存储的数据,对具有未处理完成标记的业务请求进行业务处理。
2.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
所述业务处理服务器在利用所述备用数据库中当前存储的数据对所述业
务请求进行业务处理之后,在业务处理成功时,所述业务处理服务器拒绝利
用业务处理结果更新所述备用数据库中存储的数据;
所述业务处理服务器在重新利用所述主用数据库中当前存储的数据对具
有未处理完成标记的业务请求进行业务处理之后,在业务处理成功时,所述
业务处理服务器利用业务处理结果更新所述主用数据库中存储的数据;或者,
所述业务处理服务器在重新利用所述备用数据库中当前存储的数据对具有未
处理完成标记的业务请求进行业务处理之后,在业务处理成功时,所述业务
处理服务器利用业务处理结果更新所述备用数据库中存储的数据。
3.如权利要求1所述的方法,其特征在于,所述业务处理服务器重新利
用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数
据,对具有未处理完成标记的业务请求进行业务处理之后,所述方法还包括:
在业务处理失败时,所述业务处理服务器提示业务处理失败的信息;
在业务处理成功时,所述业务处理服务器拒绝提示业务处理成功的信息。
4.如权利要求1所述的方法,其特征在于,所述业务处理服务器重新利
用所述主用数据库中当前存储的数据或者所述备用数据库中当前存储的数
据,对具有未处理完成标记的业务请求进行业务处理之后,所述方法还包括:
所述业务处理服务器清除所述业务请求具有的未处理完成标记。
5.如权利要求1所述的方法,其特征在于,所述业务处理服务器判断所
述主用数据库是否发生故障之后,所述方法进一步包括:
当所述主用数据库未发生故障时,所述业务处理服务器利用所述主用数
据库中当前存储的数据对所述业务请求进行业务处理;
在业务处理成功时,所述业务处理服务器提示业务处理成功的信息,并
利用业...

【专利技术属性】
技术研发人员:罗自文
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1