处理事务的方法和装置制造方法及图纸

技术编号:32349609 阅读:18 留言:0更新日期:2022-02-20 02:14
本公开披露了一种处理事务的方法和装置。该方法包括:接收第一事务,第一事务为非只读事务,第一事务包括第一数据库语句和第二数据库语句,第一数据库语句和第二数据库语句分别用于对分布式数据库中的第一数据库节点和第二数据库节点进行操作;与第一数据库节点建立第一数据库连接;通过第一数据库连接向第一数据库节点发送第一数据库语句;与第二数据库节点建立第二数据库连接;通过第二数据库连接向第二数据库节点发送第二数据库语句;接收第一数据库针对第一数据库语句的反馈信息,反馈信息包括第一事务的控制信息;向第二数据库语句对应的数据库节点发送控制信息。对应的数据库节点发送控制信息。对应的数据库节点发送控制信息。

【技术实现步骤摘要】
处理事务的方法和装置


[0001]本公开涉及分布式数据库领域,并且更为具体地,涉及一种处理事务的方法和装置。

技术介绍

[0002]分布式数据包括多个数据库节点。在处理涉及多个数据库节点的非只读事务时,现有技术会先与其中一个数据库节点建立数据库连接,然后由该数据库节点在数据库内部将该事务转发至其他数据库节点,从而在其他数据库节点进行远程事务执行。过多的远程事务执行会降低非只读事务的处理效率。

技术实现思路

[0003]本公开提供一种事务处理方法和装置,以提高分布式数据库中的非只读事务的处理效率。
[0004]第一方面,提供一种处理事务的方法,包括:接收第一事务,所述第一事务为非只读事务,所述第一事务包括第一数据库语句和第二数据库语句,所述第一数据库语句和所述第二数据库语句分别用于对分布式数据库中的第一数据库节点和第二数据库节点进行操作;与所述第一数据库节点建立第一数据库连接;通过所述第一数据库连接向所述第一数据库节点发送所述第一数据库语句;与所述第二数据库节点建立第二数据库连接;通过所述第二数据库连接向所述第二数据库节点发送所述第二数据库语句。
[0005]可选地,所述方法还包括:接收所述第一数据库针对所述第一数据库语句的反馈信息,所述反馈信息包括所述第一事务的控制信息;向所述第二数据库语句对应的数据库节点发送所述控制信息。
[0006]可选地,所述第一事务的控制信息包括所述第一数据库语句的执行结果和/或所述第一事务的状态。
[0007]可选地,在所述与所述第二数据库节点建立第二数据库连接之前,所述方法还包括:断开所述第一数据库连接。
[0008]可选地,所述第一事务中的数据库语句为SQL语句。
[0009]第二方面,提供一种处理事务的装置,包括:接收单元,被配置为接收第一事务,所述第一事务为非只读事务,所述第一事务包括第一数据库语句和第二数据库语句,所述第一数据库语句和所述第二数据库语句分别用于对分布式数据库中的第一数据库节点和第二数据库节点进行操作;第一连接单元,被配置为与所述第一数据库节点建立第一数据库连接;第一发送单元,被配置为通过所述第一数据库连接向所述第一数据库节点发送所述第一数据库语句;第二连接单元,被配置为与所述第二数据库节点建立第二数据库连接;第二发送单元,被配置为通过所述第二数据库连接向所述第二数据库节点发送所述第二数据库语句。
[0010]可选地,所述接收单元还被配置为:接收所述第一数据库针对所述第一数据库语
句的反馈信息,所述反馈信息包括所述第一事务的控制信息;所述第二发送单元还被配置为:向所述第二数据库语句对应的数据库节点发送所述控制信息。
[0011]可选地,所述第一事务的控制信息包括所述第一数据库语句的执行结果和/或所述第一事务的状态。
[0012]可选地,在所述与所述第二数据库节点建立第二数据库连接之前,所述第一连接单元还被配置为:断开所述第一数据库连接。
[0013]可选地,所述第一事务中的数据库语句为SQL语句。
[0014]第三方面,提供一种处理事务的装置,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器被配置为执行所述可执行代码,以实现如第一方面所述的方法。
[0015]第四方面,提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
[0016]第五方面,提供一种计算机程序产品,包括可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
[0017]相关技术中,如果非只读事务涉及多个数据库节点,往往只会与其中一个数据库节点建立连接。不同于相关技术,本公开实施例在处理非只读事务时,可以与多个数据库节点建立多个数据库连接,并通过该多个数据库连接将事务相关的数据库语句直接传输至该多个数据库节点。这样可以避免仅建立一个数据库连接而引起大量的远程事务执行,从而提高了非只读事务的处理效率。
[0018]另外,在本公开中可以接收第一数据库返回的第一事务的控制信息,并将该控制信息转发至第二数据库语句对应的数据库节点,以便第二数据库语句对应的数据库节点可以获知第一事务的控制信息,避免了传统的方案中,第二数据库语句对应的数据库节点需要通过远程执行的方式来获得第一事务的控制信息,有利于降低数据库中远程执行占用的开销。
附图说明
[0019]图1是相关技术提供的处理事务的流程示意图。
[0020]图2是本公开一实施例提供的处理事务的方法的流程示意图。
[0021]图3是本公开又一实施例提供的处理事务的方法的流程示意图。
[0022]图4是本公开又一实施例提供的处理事务的方法的流程示意图。
[0023]图5是本公开一实施例提供的处理事务的装置的结构示意图。
[0024]图6是本公开又一实施例提供的处理事务的装置的结构示意图。
具体实施方式
[0025]下面将结合附图,对本公开中的技术方案进行描述。为了便于理解本公开,下文先介绍本公开实施例涉及的术语。
[0026]分布式数据库数据库是按照数据结构来组织、存储和管理数据的仓库。数据库是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。分布式数据库是一种结合了数据库与分布式的技术。分布式数据库将地理意义上分散,但计算机系统逻辑上属于
同一个系统的各个数据库节点结合起来。
[0027]结构化查询语言结构化查询语言(structured query language,SQL)是一种特殊的的编程语言。结构化查询语言用于存取数据以及查询、更新和管理数据库系统。
[0028]结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式。因此,具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言的语句可以嵌套,这使它具有极大的灵活性和强大的功能。
[0029]事务事务(transaction)是针对数据库的一组操作。一个事务可以由一条或多条数据库语句组成。事务是数据库中一个不可分割的执行单元。和事务相关的语句包括开启事务(start transaction)、结束事务(end transaction)、提交事务(commit transaction)、回滚事务(rollback transaction)等。
[0030]事务需要具备ACID,即原子性(Atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。
[0031]原子性指一个事务中的语句需要一起提交或回滚。例如,一个用户A向用户B转账100元的事务,包括用户A的账户余额扣除100元和用户B的账户余额增加100元两个操作。上述两个操作需要都成功执行或者都不执行。
[0032]一致性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理事务的方法,包括:接收第一事务,所述第一事务为非只读事务,所述第一事务包括第一数据库语句和第二数据库语句,所述第一数据库语句和所述第二数据库语句分别用于对分布式数据库中的第一数据库节点和第二数据库节点进行操作;与所述第一数据库节点建立第一数据库连接;通过所述第一数据库连接向所述第一数据库节点发送所述第一数据库语句;与所述第二数据库节点建立第二数据库连接;通过所述第二数据库连接向所述第二数据库节点发送所述第二数据库语句;接收所述第一数据库针对所述第一数据库语句的反馈信息,所述反馈信息包括所述第一事务的控制信息;向所述第二数据库语句对应的数据库节点发送所述控制信息。2.根据权利要求1所述的方法,所述第一事务的控制信息包括所述第一数据库语句的执行结果和/或所述第一事务的状态。3.根据权利要求1所述的方法,在所述与所述第二数据库节点建立第二数据库连接之前,所述方法还包括:断开所述第一数据库连接。4.根据权利要求1所述的方法,所述第一事务中的数据库语句为结构化查询语言SQL语句。5.一种处理事务的装置,包括:接收单元,被配置为接收第一事务,所述第一事务为非只读事务,所述第一事务包括第一数据库语句和第二数据库语句,所述第一数据库语句和所述第二数据库语句分别用于对分布...

【专利技术属性】
技术研发人员:阳振坤韩富晟闫建良肖金亮乔国治
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1