一种数据处理系统及数据处理方法技术方案

技术编号:19544316 阅读:26 留言:0更新日期:2018-11-24 20:42
本申请提供了一种数据处理系统及数据处理方法,控制服务器接收第一客户端发送的事务开启请求,生成事务号并将事务号发送至第一客户端;第一客户端向第一操作服务器发送携带事务号的第一操作请求;第一操作服务器基于第一操作请求对第一数据库进行第一操作;第二客户端获取事务号,向第二操作服务器发送携带事务号的第二操作请求;第二操作服务器基于第二操作请求对第二数据库进行第二操作;控制服务器在第一操作成功且第二操作成功时,控制第一操作服务器和第二操作服务器提交事务,在第一操作失败或第二操作失败时,控制第一操作服务器和第二操作服务器回滚事务。本申请能够保证具有关联关系的业务对应的数据库中数据的一致性。

A Data Processing System and Method

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

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

1