一种分布式事务处理方法及装置制造方法及图纸

技术编号:15649897 阅读:80 留言:0更新日期:2017-06-17 02:48
本申请公开了一种分布式事务处理方法及装置,该方法包括:第二节点接收第一节点发送的携带分布式事务标识的、针对数据库中同一个指定参数的至少两个更新请求;响应于更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到更新后的中间参数;根据更新后的中间参数,更新所述指定参数。通过本申请,第一节点可以是上层服务器,第二节点可以是下层服务器,由于可以利用中间参数保存要针对指定参数执行的每次更新后的更新结果,作为中间结果,以用于进行下次更新,进而可以根据多次更新后得到的中间结果更新指定参数,这个过程可以在一次分布式事务中完成,因此,无需上层服务器发起额外的分布式事务,可以减小工作负担。

【技术实现步骤摘要】
一种分布式事务处理方法及装置
本申请涉及事务处理
,尤其涉及一种分布式事务处理方法及装置。
技术介绍
随着信息技术的发展,某些事务的处理变得越来越复杂。比如,一个事务需要由网络系统中多个节点的共同配合才能完成,这类事务可以称为分布式事务。完成分布式事务处理的节点可以体现为各种类型,比如,在一种情况下,处理分布式事务的节点可以包括面向用户的上层服务器、向上层服务器提供业务支持并对数据库中的业务参数进行操作的下层服务器。在实际进行分布式事务处理过程中,在接收到用户针对数据库中某个业务参数(指定参数)进行有关操作的应用请求后,便会发起分布式事务的处理。该分布式事务随后将进行两个阶段的执行过程:第一阶段,分布式事务涉及的有关节点针对指定参数准备数据;第二阶段,各相关节点提交准备的数据,根据提交的准备数据对指定参数进行更新。以上述上层服务器、下层服务器为分布式事务处理节点为例,在第一阶段,可以由下层服务器根据上层服务器发送的针对数据库中指定参数的更新请求,生成与该更新请求相关的准备数据,(此时尚未对该指定参数进行变更);在第二阶段,下层服务器提交准备的数据,利用下层服务器准备的数据对该指定参数进行最终更新。上述过程是分布式事务处理的一般过程,但是,在实际应用中,可能存在如下的场景:上层服务器可能针对同一个指定参数向下层服务器发送不止一个更新请求,且针对后一个更新请求可能要依赖于前一个更新请求对应的更新结果(可以称为中间结果)。在这种场景下,由于一般采用串行读的方式执行分布式事务中的各步骤,在第一阶段,下层服务器根据上层服务器发送的第一个更新请求尚不未能对指定参数进行变更,第一个更新请求对应的中间结果尚未生成,上层服务器无法正确地向下层服务器发送下一个更新请求,只有等到第二阶段,上层服务器才能获得第一个更新请求对应的中间结果,因此,上层服务器需要额外地发起另一个分布式事务,以用于对该指定参数进行最终更新,增大了上层服务器的工作负担。
技术实现思路
本申请实施例提供一种分布式事务处理方法及装置,用以解决现有技术中由于在分布式事务二阶段前,中间结果尚未生成,导致上层服务器要发起额外的分布式事务,增大了上层服务器的工作负担的问题。本申请实施例提供的一种分布式事务处理方法,所述分布式事务涉及第一节点、以及位于第一节点下层的第二节点,所述分布式事务为对数据库中指定参数进行更新的事务,该方法包括:第二节点接收第一节点发送的携带所述分布式事务标识的、针对数据库中同一个指定参数的至少两个更新请求;第二节点响应于所述更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到更新后的中间参数;第二节点根据所述更新后的中间参数,更新所述指定参数。本申请实施例提供的一种分布式事务处理装置,所述分布式事务涉及第一节点、以及位于第一节点下层的第二节点,所述分布式事务为对数据库中指定参数进行更新的事务,所述装置位于第二节点上,该装置包括:接收模块,用于接收第一节点发送的携带所述分布式事务标识的、针对数据库中同一个指定参数的至少两个更新请求;响应模块,用于响应于所述更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到更新后的中间参数;更新模块,用于根据所述更新后的中间参数,更新所述指定参数。本申请实施例还提供另一种分布式事务处理方法及装置,用以解决现有技术中由于在分布式事务二阶段前,中间结果尚未生成,导致上层服务器要发起额外的分布式事务,增大了上层服务器的工作负担的问题。本申请实施例提供的另一种分布式事务处理方法,所述分布式事务涉及第一节点、以及位于第一节点下层的第二节点,所述分布式事务为对数据库中指定参数进行更新的事务,该方法包括:第一节点响应于用户发送的应用请求,发起所述分布式事务,并获取所述分布式事务标识;第一节点向第二节点发送携带所述分布式事务标识的、针对数据库中同一个指定参数的至少两个更新请求,以便于第二节点响应于所述更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到更新后的中间参数,根据所述更新后的中间参数,更新所述指定参数;第一节点获取更新后的所述指定参数并返回给所述用户。本申请实施例提供的一种分布式事务处理装置,所述分布式事务涉及第一节点、以及位于第一节点下层的第二节点,所述分布式事务为对数据库中指定参数进行更新的事务,所述装置位于第一节点上,该装置包括:发送模块,用于响应于用户发送的应用请求,发起所述分布式事务,并获取所述分布式事务标识;请求模块,用于向第二节点发送携带所述分布式事务标识的、针对数据库中同一个指定参数的至少两个更新请求,以便于第二节点响应于所述更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到更新后的中间参数,根据所述更新后的中间参数,更新所述指定参数;获取模块,用于获取更新后的所述指定参数并返回给所述用户。本申请实施例通过上述至少一种技术方案,第一节点可以是上层服务器,第二节点可以是下层服务器,由于可以利用中间参数保存要针对指定参数执行的每次更新后的更新结果,作为中间结果,以用于进行下次更新,进而可以根据多次更新后得到的中间结果更新指定参数,这个过程可以在一次分布式事务中完成,因此,无需上层服务器发起额外的分布式事务,可以减小工作负担。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例提供的分布式事务处理方法的过程;图2为本申请实施例提供的另一种分布式事务处理方法的过程;图3为本申请实施例提供的与一种实际业务场景相关的系统结构图;图4为现有技术提供的在图3中的实际业务场景下,对一种业务过程的实施步骤;图5为本申请实施例提供的在图3中的实际业务场景下,对一种业务过程的实施步骤;图6为本申请实施例提供的对应于图1的分布式事务处理装置结构示意图;图7为本申请实施例提供的对应于图2的分布式事务处理装置结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。针对
技术介绍
中提到的问题,在本申请实施例中,假定要对数据库中的同一个指定参数依次进行多次更新,虽然,在分布式事务的第一阶段(以下简称为:第一阶段),无法更新该指定参数,但是,可以利用与该分布式事务标识以及该指定参数具有对应关系的中间参数,通过对中间参数执行原本要在分布式事务的第二阶段(以下简称为:第二阶段)对指定参数执行的多次更新操作,使得中间参数可以反映各次更新后的更新结果(也即,导致该次更新的更新请求对应的中间结果)。需要说明的是,由于中间参数并不是该分布式事务直接针对的参数,因此,可以在该分布式事务的第一阶段对中间参数进行更新。上层服务器在每次发起更新请求时,可根据该分布式事务标识,获取上一个更新请求对应的中间结果,本文档来自技高网
...
一种分布式事务处理方法及装置

【技术保护点】
一种分布式事务处理方法,所述分布式事务涉及第一节点、以及位于第一节点下层的第二节点,所述分布式事务为对数据库中指定参数进行更新的事务,其特征在于,所述方法包括:第二节点接收第一节点发送的携带所述分布式事务标识的、针对数据库中同一个指定参数的至少两个更新请求;第二节点响应于所述更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到更新后的中间参数;第二节点根据所述更新后的中间参数,更新所述指定参数。

【技术特征摘要】
1.一种分布式事务处理方法,所述分布式事务涉及第一节点、以及位于第一节点下层的第二节点,所述分布式事务为对数据库中指定参数进行更新的事务,其特征在于,所述方法包括:第二节点接收第一节点发送的携带所述分布式事务标识的、针对数据库中同一个指定参数的至少两个更新请求;第二节点响应于所述更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到更新后的中间参数;第二节点根据所述更新后的中间参数,更新所述指定参数。2.如权利要求1所述的方法,其特征在于,响应于所述更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到更新后的中间参数,具体包括:针对接收到的各所述更新请求中的第一个更新请求,执行:根据所述第一个更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到作为本次更新结果的中间结果;针对接收到的各所述更新请求中的其他各个更新请求,执行下述操作,直至对接收到的各所述更新请求中的最后一个更新请求执行下述操作后,将相应的中间结果作为所述更新后的中间参数:根据该更新请求,对根据该更新请求的前一个更新请求更新得到的中间结果进行更新,得到作为本次更新结果的中间结果。3.如权利要求2所述的方法,其特征在于,第二节点接收到的各所述更新请求中的其他各个更新请求,是由第一节点根据所述分布式事务标识,向第二节点获取该更新请求的前一个更新请求对应的中间结果,并根据获取的该中间结果生成的。4.如权利要求3所述的方法,其特征在于,所述方法还包括:第二节点当接收到第一节点发送的针对该中间结果的获取请求时,在确定所述获取请求携带有所述分布式事务标识时,向第一节点返回该中间结果。5.如权利要求2所述的方法,其特征在于,根据所述第一个更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,具体包括:根据所述指定参数,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行赋值;根据所述第一个更新请求,对赋值后的所述中间参数进行更新。6.一种分布式事务处理方法,所述分布式事务涉及第一节点、以及位于第一节点下层的第二节点,所述分布式事务为对数据库中指定参数进行更新的事务,其特征在于,所述方法包括:第一节点响应于用户发送的应用请求,发起所述分布式事务,并获取所述分布式事务标识;第一节点向第二节点发送携带所述分布式事务标识的、针对数据库中同一个指定参数的至少两个更新请求,以便于第二节点响应于所述更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到更新后的中间参数,根据所述更新后的中间参数,更新所述指定参数;第一节点获取更新后的所述指定参数并返回给所述用户。7.如权利要求6所述的方法,其特征在于,第一节点向第二节点发送携带所述分布式事务标识的、针对数据库中同一个指定参数的至少两个更新请求,具体包括:第一节点向第二节点发送携带所述分布式事务标识的、针对数据库中同一个指定参数的各所述更新请求中的第一个更新请求,以便于第二节点针对所述第一个更新请求,执行:根据所述第一个更新请求,对与所述分布式事务标识以及所述指定参数具有对应关系的中间参数进行更新,得到作为本次更新结果的中间结果;第一节点向第二节点发送的各所述更新请求中的其他各个更新请求,以便于第二节点针对所述其他各个更新请求执行下述操作,直至对接收到的各所述更新请求中的最后一个更新请求执行下述操作后,将相应的中间结果作为所述更新后的中间参数:根据该更新请求,对根据该更新请求的前一个更新请求更新得到的中间结果进行更新,得到作为本次更新结果的中间结果。8.如权利要求7所述的方法,其特征在于,各所述更新请求中的其他各个更新请求,是由第一节点根据所述分布式事务标识,向第二节点获取该更新请求的前一个更新请求对应的中间结果,并根据获取的该中间结果生成的。9.如权利要求8所述的方法,其特征在于,所述方法还包括:第一节点向第二节点发送携带所述分布式标识的、针对该中间结果的获取请求;第一节点接收第二节点...

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

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

1