The application provides a data processing system and a data processing method to control the server to receive the transaction opening request sent by the first client, generate the transaction number and send the transaction number to the first client, send the first operation request carrying the transaction number to the first operation server, and the first operation server base. The first database is operated on in the first operation request; the second client obtains the transaction number and sends the second operation request carrying the transaction number to the second operation server; the second operation server performs the second operation to the second database based on the second operation request; the control server succeeds in the first operation and the second operation. When successful, control the first operation server and the second operation server to submit transactions, and control the first operation server and the second operation server to roll back transactions when the first operation fails or the second operation fails. This application can ensure the consistency of data in the database corresponding to the business with related relationship.
【技术实现步骤摘要】
一种数据处理系统及数据处理方法
本专利技术涉及数据处理
,尤其涉及一种数据处理系统及数据处理方法。
技术介绍
现有技术中,各业务对应的数据库混在一个大数据库里面,基于此,事务处理的过程为:使用SQLiteDatabase的beginTransaction()方法开启一个事务,程序执行到endTransaction()方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful()方法将事务的标志设置为成功则提交事务,如果没有调用setTransactionSuccessful()方法则回滚事务。现有技术中,由于各个业务对应的数据库均混在一个大数据库里面,即各个业务中心均访问该大数据库,大数据库中各个业务对应的数据库之间相互连接难以拆分,现有方案通过连接数据表来实现各自业务线的一些业务逻辑,由于各个不同业务之间会相互关联,因此,业务数据难以拆分。随着业务量的增大,数据越来越多,为了应对较大的业务量,需要将各个业务对应的数据库拆分开,即每个业务中心对应一数据库,然而,之后随之会产生一个新的问题:由于一个事务通常涉及多个业务中心,因此,一个事务通常需要跨业务中心完成,此时,就会出现数据不一致现象。
技术实现思路
有鉴于此,本专利技术提供了一种数据处理系统及数据处理方法,用以解决将各个业务对应的数据库拆分开后,事务跨业务中心完成时导致相关联的业务对应的数据库中的数据出现不一致的问题,其技术方案如下:一种数据处理系统,至少包括:控制服务器、与第一业务对应的第一客户端和第一操作服务器、与所 ...
【技术保护点】
1.一种数据处理系统,其特征在于,至少包括:控制服务器、与第一业务对应的第一客户端和第一操作服务器、与所述第一业务具有关联关系的第二业务对应的第二客户端和第二操作服务器,所述第一业务对应第一数据库,所述第二业务对应第二数据库;所述第一客户端,用于向所述控制服务器发送事务开启请求;所述控制服务器,用于基于所述事务开启请求生成目标事务号,将所述目标事务号发送至所述第一客户端;所述第一客户端,还用于向所述第一操作服务器发送携带所述目标事务号的第一操作请求;所述第一操作服务器,用于基于所述第一操作请求对所述第一数据库进行第一操作;第二客户端,用于获取所述目标事务号,向所述第二操作服务器发送携带所述目标事务号的第二操作请求;所述第二操作服务器,用于基于所述第二操作请求对所述第二数据库进行第二操作;所述控制服务器,还用于在所述第一操作成功且所述第二操作成功时,控制所述第一操作服务器和所述第二操作服务器提交事务,在所述第一操作失败或所述第二操作失败时,控制所述第一操作服务器和所述第二操作服务器回滚事务。
【技术特征摘要】
1.一种数据处理系统,其特征在于,至少包括:控制服务器、与第一业务对应的第一客户端和第一操作服务器、与所述第一业务具有关联关系的第二业务对应的第二客户端和第二操作服务器,所述第一业务对应第一数据库,所述第二业务对应第二数据库;所述第一客户端,用于向所述控制服务器发送事务开启请求;所述控制服务器,用于基于所述事务开启请求生成目标事务号,将所述目标事务号发送至所述第一客户端;所述第一客户端,还用于向所述第一操作服务器发送携带所述目标事务号的第一操作请求;所述第一操作服务器,用于基于所述第一操作请求对所述第一数据库进行第一操作;第二客户端,用于获取所述目标事务号,向所述第二操作服务器发送携带所述目标事务号的第二操作请求;所述第二操作服务器,用于基于所述第二操作请求对所述第二数据库进行第二操作;所述控制服务器,还用于在所述第一操作成功且所述第二操作成功时,控制所述第一操作服务器和所述第二操作服务器提交事务,在所述第一操作失败或所述第二操作失败时,控制所述第一操作服务器和所述第二操作服务器回滚事务。2.根据权利要求1所述的数据处理系统,其特征在于,所述控制服务器,具体用于当接收到所述第一客户端和/或所述第二客户端发送的、指示所述第一操作成功且所述第二操作成功的事务提交请求时,控制所述第一操作服务器和所述第二操作服务器提交事务;当接收到所述第一客户端和/或所述第二客户端发送的、指示所述第一操作失败或所述第二操作失败的事务回滚请求时,控制所述第一操作服务器和所述第二操作服务器回滚事务。3.根据权利要求2所述的数据处理系统,其特征在于,所述第一客户端,还用于接收所述第一操作的第一操作结果,并将所述第一操作结果发送至第三方系统;所述第二客户端,还用于接收所述第二操作的第二操作结果,并将所述第二操作结果发送至所述第三方系统,以使所述第三方系统基于所述第一操作结果和所述第二操作结果确定事务处理方式,所述事务处理方式为事务提交或事务回滚中的一种;所述第一客户端和/或所述第二客户端,还用于接收所述第三方系统发送的事务处理方式信息,并基于所述事务处理方式信息向所述控制服务器发送事务提交请求或事务回滚请求。4.根据权利要求1所述的数据处理系统,其特征在于,所述第二客户端,具体用于从所述第一客户端获取所述目标事务号;或者,从第三方系统获取所述目标事务号,所述目标事务号由所述第一客户端或所述控制服务器发送至所述第三方系统。5.根据权利要求1所述的数据处理系统,其特征在于,所述控制服务器,还用于在系统启动时,获取所述第一操作服务器和所述第二操作服务器的标识信息,得到操作服务器标识列表,将所述操作服务器标识列表发送至所述第一客户端和所述第二客户端;所述第一客户端,还用于基于所述操作服务器标识列表与所述第一操作服务器建立通信连接;所述第二客户端,还用于基于所述操作服务器标识列表与所述第二操作服务器建立通信连接。6.根据权利要...
【专利技术属性】
技术研发人员:孙德东,喻晓,
申请(专利权)人:亚信科技中国有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。