数据库事务的处理方法及业务系统技术方案

技术编号:11406392 阅读:80 留言:0更新日期:2015-05-03 23:43
本发明专利技术提供一种数据库事务的处理方法及业务系统。本发明专利技术实施例通过业务系统获得事务标识,所述事务标识为用于标识待处理的业务所涉及的多数据库操作,进而利用所述事务标识和所述业务的执行结果数据,对所述业务所涉及的至少两个数据库进行操作,使得所述业务系统能够根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果,由于在业务的执行过程中可以操作多个数据库,而不是一个数据库,能够避免现有技术中由于一个数据库的容量有限而导致的系统能够完成的事务有限的问题,从而提高了系统的效率和可靠性。

【技术实现步骤摘要】
数据库事务的处理方法及业务系统
本专利技术涉及数据库
,尤其涉及一种数据库事务的处理方法及业务系统。
技术介绍
数据库事务(DatabaseTransaction),是指作为单个逻辑工作单元例如,支付系统等,执行的一系列操作,要么完整地执行,要么完全地不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通常,可以将这些面向数据的资源存储在一个数据库中。然而,由于一个数据库的容量有限,使得系统能够完成的事务有限,从而导致了系统的效率和可靠性的降低。
技术实现思路
本专利技术的多个方面提供一种数据库事务的处理方法及业务系统,用以提高系统的效率和可靠性。本专利技术的一方面,提供一种数据库事务的处理方法,包括:业务系统获得事务标识,所述事务标识为用于标识待处理的业务所涉及的多数据库操作;所述业务系统利用所述事务标识和所述业务的执行结果数据,对所述业务所涉及的至少两个数据库进行操作;所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述业务系统获得事务标识,所述事务标识为用于标识待处理的业务所涉及的多数据库操作,包括:所述业务系统向分布式数据库代理设备发送事务开启指令,所述事务开启指令用于开启一个事务;所述业务系统接收所述分布式数据库代理设备根据所述事务开启指令分配的所述事务标识。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述业务系统至少包括第一业务子系统和第二业务子系统;所述至少两个数据库至少包括第一数据库和第二数据库;所述业务系统利用所述事务标识和所述业务的执行结果数据,对所述业务所涉及的至少两个数据库进行操作,包括:所述第一业务子系统利用所述事务标识和所述第一业务子系统相关业务的执行结果数据,对所述第一数据库进行操作;所述第一业务子系统向所述第二业务子系统发送业务指令,所述业务指令中包含所述事务标识;所述第二业务子系统根据所述业务指令,利用所述事务标识和所述第二业务子系统相关业务的执行结果数据,对所述第二数据库进行操作。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果,包括:所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务成功结果;或者所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务失败结果。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果之后,还包括:所述业务系统根据所述事务结果,提交所述事务标识所对应的事务;或者所述业务系统根据所述事务结果,回滚所述事务标识所对应的事务。本专利技术的另一方面,提供一种业务系统,包括:获得单元,用于获得事务标识,所述事务标识为用于标识待处理的业务所涉及的多数据库操作;操作单元,用于利用所述事务标识和所述业务的执行结果数据,对所述业务所涉及的至少两个数据库进行操作;输出单元,用于根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获得单元,具体用于向分布式数据库代理设备发送事务开启指令,所述事务开启指令用于开启一个事务;以及接收所述分布式数据库代理设备根据所述事务开启指令分配的所述事务标识。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述业务系统至少包括第一业务子系统和第二业务子系统;所述至少两个数据库至少包括第一数据库和第二数据库;所述操作单元,具体包括部署在所述第一业务子系统上的第一操作模块和部署在所述第二业务子系统上的第二操作模块;其中,所述第一操作模块,用于利用所述事务标识和所述第一业务子系统相关业务的执行结果数据,对所述第一数据库进行操作;以及向所述第二操作模块发送业务指令,所述业务指令中包含所述事务标识;所述第二操作模块,用于根据所述业务指令,利用所述事务标识和所述第二业务子系统相关业务的执行结果数据,对所述第二数据库进行操作。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述输出单元,具体用于根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务成功结果;或者根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务失败结果。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述输出单元,还用于根据所述事务结果,提交所述事务标识所对应的事务;或者根据所述事务结果,回滚所述事务标识所对应的事务。由上述技术方案可知,本专利技术实施例通过业务系统获得事务标识,所述事务标识为用于标识待处理的业务所涉及的多数据库操作,进而利用所述事务标识和所述业务的执行结果数据,对所述业务所涉及的至少两个数据库进行操作,使得所述业务系统能够根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果,由于在业务的执行过程中可以操作多个数据库,而不是一个数据库,能够避免现有技术中由于一个数据库的容量有限而导致的系统能够完成的事务有限的问题,从而提高了系统的效率和可靠性。另外,采用本专利技术提供的技术方案,由于利用统一的事务标识,对多个数据库进行操作,使得每个数据库所对应的操作都在一个事务中操作,能够有效保证每个数据库之间数据的强一致性,能够进一步提高系统的可靠性。另外,采用本专利技术提供的技术方案,由于业务系统至少包括第一业务子系统和第二业务子系统这两个独立的子系统,使得两个子系统所对应的业务逻辑可以独立地实现,能够避免将所有的业务逻辑都在一个业务系统中实现而导致的调整业务逻辑的较为复杂的问题,能够有效提高系统的业务逻辑的调整的效率。【附图说明】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的数据库事务的处理方法的流程示意图;图2A~图2C为图1对应的实施例中每种交易模型的状态机示意图;图3为本专利技术另一实施例提供的业务系统的结构示意图;图4为本专利技术另一实施例提供的业务系统的结构示意图。【具体实施方式】为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本专利技术保护的范围。需要说明的是,本专利技术实施例中所涉及的终端可以包括但不限于手机、个人数字助理(PersonalDigitalAssistant,PDA)、无线手持设备、平板电脑(TabletComputer)、个人电脑(PersonalComputer,PC)、MP3播放器、MP4播放器、可穿戴设备(例如,智能眼镜、智能手表、本文档来自技高网...
数据库事务的处理方法及业务系统

【技术保护点】
一种数据库事务的处理方法,其特征在于,包括:业务系统获得事务标识,所述事务标识为用于标识待处理的业务所涉及的多数据库操作;所述业务系统利用所述事务标识和所述业务的执行结果数据,对所述业务所涉及的至少两个数据库进行操作;所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果。

【技术特征摘要】
1.一种数据库事务的处理方法,其特征在于,包括:业务系统获得事务标识,所述事务标识为用于标识待处理的业务所涉及的多数据库操作;所述业务系统利用所述事务标识和所述业务的执行结果数据,对所述业务所涉及的至少两个数据库进行操作;所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果;其中,所述业务系统至少包括第一业务子系统和第二业务子系统;所述至少两个数据库至少包括第一数据库和第二数据库;所述业务系统利用所述事务标识和所述业务的执行结果数据,对所述业务所涉及的至少两个数据库进行操作,包括:所述第一业务子系统利用所述事务标识和所述第一业务子系统相关业务的执行结果数据,对所述第一数据库进行操作;所述第一业务子系统向所述第二业务子系统发送业务指令,所述业务指令中包含所述事务标识;所述第二业务子系统根据所述业务指令,利用所述事务标识和所述第二业务子系统相关业务的执行结果数据,对所述第二数据库进行操作。2.根据权利要求1所述的方法,其特征在于,所述业务系统获得事务标识,所述事务标识为用于标识待处理的业务所涉及的多数据库操作,包括:所述业务系统向分布式数据库代理设备发送事务开启指令,所述事务开启指令用于开启一个事务;所述业务系统接收所述分布式数据库代理设备根据所述事务开启指令分配的所述事务标识。3.根据权利要求1所述的方法,其特征在于,所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果,包括:所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务成功结果;或者所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务失败结果。4.根据权利要求1~3任一权利要求所述的方法,其特征在于,所述业务系统根据所述事务标识和所述至少两个数据库中每个数据库的操作结果,输出事务结果之...

【专利技术属性】
技术研发人员:李兵万涛王金磊闫建良
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1