CN113254536A - 数据库事务处理方法、***、电子设备及存储介质 - Google Patents
数据库事务处理方法、***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113254536A CN113254536A CN202110642105.7A CN202110642105A CN113254536A CN 113254536 A CN113254536 A CN 113254536A CN 202110642105 A CN202110642105 A CN 202110642105A CN 113254536 A CN113254536 A CN 113254536A
- Authority
- CN
- China
- Prior art keywords
- server
- copy
- database transaction
- context
- switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 12
- 238000012423 maintenance Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24561—Intermediate data storage techniques for performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个或多个实施例提供一种数据库事务处理方法,包括:第一服务器在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文,并将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本;所述第二服务器将自身存储的从副本切换为主副本,并在切换完成后,根据所述上下文继续所述数据库事务的执行。本说明书实施例提供的方法,可以提高数据库事务的执行效率。
Description
技术领域
本说明书一个或多个实施例涉及数据库技术领域,尤其涉及一种数据库事务处理方法、***、电子设备及存储介质。
背景技术
在分布式关系型数据库***中,数据通常包括多个副本,不同的副本可以存储在不同的服务器中。数据的多个副本中包括一个主副本和至少一个从副本,当主副本所在的服务器在将其存储的主副本切换为从副本时,可能存在某些数据库事务还处于执行过程中,若在这些数据库事务的执行过程中进行了主从切换,则这些未执行完的数据库事务只能回滚,即需要重新执行,导致数据库事务的执行效率降低。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种数据库事务处理方法、***、电子设备及存储介质,可以提高数据库事务的执行效率。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种数据库事务处理方法,包括:
第一服务器在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文,并将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本;
所述第二服务器将自身存储的从副本切换为主副本,并在切换完成后,根据所述上下文继续所述数据库事务的执行。
根据本说明书一个或多个实施例的第二方面,提出了一种数据库事务处理***,包括:
第一服务器,用于在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文,并将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本;
所述第二服务器,用于将自身存储的从副本切换为主副本,并在切换完成后,根据所述上下文继续所述数据库事务的执行。
根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令实现以下步骤:
在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文;
将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本,以便于所述第二服务器在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
根据本说明书一个或多个实施例的第四方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令实现以下步骤:
获取第一服务器发送的数据库事务的上下文;
在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
根据本说明书一个或多个实施例的第五方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现以下步骤:
在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文;
将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本,以便于所述第二服务器在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现以下步骤:
获取第一服务器发送的数据库事务的上下文;
在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
本说明书实施例提供的数据库事务处理方法,第一服务器在将自身存储的主副本切换为从副本之前,可以先记录当前正在执行的数据库事务的上下文,并将该上下文发送给第二服务器,而第二服务器在将自身存储的从副本切换为主副本后,可以根据第一服务器发送的上下文继续执行之前未执行完的数据库事务,数据库事务无需回滚,从而提高了数据库事务的执行效率。
附图说明
图1是一种可能的分布式关系型数据库***的架构图。
图2是本说明书实施例提供的一种数据库事务处理方法的流程图。
图3是本说明书实施例提供的主从副本切换的场景示意图。
图4是本说明书实施例提供的数据库事务处理***的结构示意图。
图5是本说明书实施例提供的电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
分布式关系型数据库***通常由多个节点构成,节点和节点之间通过网络进行连接,每个节点可以是一台服务器,服务器可以用于存储数据。在分布式关系型数据库***中,数据通常包括多个副本,不同的副本可以存储在不同的服务器中,以保证数据安全和提供高可用的数据服务。可以参考图1,图1是一种可能的分布式关系型数据库***的架构图,可见,分布式关系型数据库***中包括多个可用区(Zone),图1示出三个可用区,分别是Zone-1,Zone-2和Zone-3。每个可用区可以包括多台服务器。这里,一个可用区可以对应一个机房,可用区内的多台服务器可以是该机房内的多台服务器。
数据的多个副本中包括一个主副本,主副本可以提供写服务,即主副本所在的服务器可以对数据进行修改。主副本以外的其它副本均为从副本,从副本不能提供写服务,即从副本所在的服务器仅能对数据进行读取,而无法对数据进行修改。
在一些情况中,需要进行副本的主从切换。所谓副本的主从切换,即将原来的主副本切换为从副本,将某个从副本切换为新的主副本。主副本所在的服务器在将其存储的主副本切换为从副本之前,可能存在某些数据库事务还处于执行过程中,若在这些数据库事务的执行过程中进行了主从切换,则这些未执行完的数据库事务只能回滚,即需要重新执行,导致数据库事务的执行效率降低。
为解决上述问题,本说明书实施例提供了一种数据库事务处理方法,可以参见图2,图2是本说明书实施例提供的一种数据库事务处理方法的流程图,该方法包括:
步骤202、第一服务器在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文,并将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本。
步骤204、第二服务器将自身存储的从副本切换为主副本,并在切换完成后,根据所述上下文继续所述数据库事务的执行。
如前所述,一个数据可以包括多个副本,不同的副本存储在不同的服务器中。数据的多个副本中包括一个主副本和至少一个从副本,这里可以将存储的副本是主副本的服务器称为第一服务器,将存储的副本是从副本的任一服务器称为第二服务器。
由于主副本提供写服务,备副本不提供写服务,因此必须保证存储主副本的服务器能够正常运行,以使数据修改的服务能够稳定提供。通过切换主从副本,可以改变存储主副本的服务器,是保障数据修改服务稳定提供的有效手段。例如,在一个例子中,若存储主副本的服务器的负载水平过高,比如其CPU、内存、硬盘等的资源利用率接近上限,则为了保证写服务的正常提供,可以变更存储主副本的服务器,此时即需要进行主从副本的切换。在一个例子中,若存储主副本的服务器按照计划需要进行升级或维护,无法继续提供服务,则也需要变更存储主副本的服务器。可以参考图3,图3是主从副本切换的场景示意图。
数据库事务是访问并可能操作各种数据项的一个数据库操作序列,一个数据库事务中可以包含多条待执行的语句,第一服务器可以处理数据库事务,即可以执行数据库事务中的语句。当第一服务器在确定要进行副本的主从切换时,第一服务器可能正在执行一个或多个数据库事务,此时,第一服务器可以在实际进行切换之前,停止执行未完成的数据库事务,先记录当前正在执行的数据库事务的上下文,并将该数据库事务的上下文发送给第二服务器。在完成上下文的记录和发送后,第一服务器可以将自身存储的主副本切换为从副本。
第二服务器是被指定为新的用于存储主副本的服务器,其在第一服务器将自身存储的主副本切换为从副本后,可以将自身存储的从副本切换为主副本。而在完成切换后,第二服务器可以根据第一服务器记录的数据库事务的上下文,继续执行第一服务器在主从切换前未执行完毕的数据库事务,而无需将数据库事务回滚,从而提高数据库事务的处理效率。
本说明书实施例提供的数据库事务处理方法,第一服务器在将自身存储的主副本切换为从副本之前,可以先记录当前正在执行的数据库事务的上下文,并将该上下文发送给第二服务器,而第二服务器在将自身存储的从副本切换为主副本后,可以根据第一服务器发送的上下文继续执行之前未执行完的数据库事务,数据库事务无需回滚,从而提高了数据库事务的执行效率。
需要注意的是,在相关技术中,数据库事务具有原子性(Atomicity),即数据库事务中的全部操作是不可分割的,这些操作要么全部执行,要么全部不执行。而本说明书实施例,在进行副本的主从切换时,对切换前未完成的数据库事务并不进行回滚,而是由新的存储主副本的服务器继续执行,这一定程度上将数据库事务中的操作分割成由不同主体执行的两部分,数据库事务中的前部分语句可以是第一服务器执行的,数据库事务中的后部分语句可以是第二服务器执行的。然而,虽然将数据库事务交由不同主体执行,但数据库事务仍然满足原子性,因为数据库事务仍然满足要不全部执行、要不全部不执行的要求,只是执行的时候并不只是全部由同一个服务器执行。
在一种实施方式中,第一服务器可以同时执行多个数据库事务,当第一服务器确定需要进行副本的主从切换后,第一服务器可以停止开启新的数据库事务,并停止执行当前正在执行的数据库事务中的新语句。
第一服务器在确定是否进行副本的主从切换时,可以有多种方式。在一种实施方式中,第一服务器可以根据第三服务器的指示确定是否需要进行副本的主从切换。这里,第三服务器可以是第一服务器以外的任一服务器,在一个例子中,第三服务器可以是用于管理数据库集群的服务器,其上可以安装有数据库集群的管控软件。
在一种实施方式中,第三服务器可以监测第一服务器的负载水平,例如可以监测第一服务器的CPU的利用率、内存的占用率等。当第三服务器确定第一服务器的负载水平达到预设的负载水平线时,可以认为第一服务器已经无法可靠的提供数据的写服务,此时,第三服务器可以发送切换指令给第一服务器,以通知第一服务器进行主从切换。
在一种实施方式中,第三服务器可以获取服务器的升级或维护计划,当根据升级或维护计划确定即将对第一服务器进行升级或维护时,可以发送切换指令给第一服务器,以通知第一服务器进行主从切换。第一服务器在完成副本的主从切换后,可以对第一服务器进行升级或维护。
在上述实施方式中,第一服务器是根据第三服务器的指示确定是否需要进行副本的主从切换的,但可以理解的,第一服务器也可以自己判断是否需要进行主从切换。例如,第一服务器可以获取自身的负载水平,根据自身的负载水平判断是否需要进行副本的主从切换。又比如,第一服务器可以获取服务器的升级或维护计划,根据服务器的升级或维护计划自动在合适的时间发起副本的主从切换。
第二服务器在确定要将自身存储的从副本切换为主副本时,在一种实施方式中,可以根据第三服务器的指示确定,比如第三服务器可以在给第一服务器发送切换指令的同时,给第二服务器也发送切换指令,从而第二服务器可以根据接收到的切换指令进行副本的主从切换。在一种实施方式中,第二服务器也可以是根据第一服务器的指示确定要将自身存储的从副本切换为主副本的。
数据库事务的上下文可以记录该数据库事务被执行到当前位置时服务器的状态,第二服务器根据该数据库事务的上下文,可以从第一服务器的执行断点继续该数据库事务的执行。在一个例子中,数据库事务的上下文可以包括该数据库事务对应的待操作的数据和状态机。
由于第一服务器可以同时执行多个数据库事务,若第一服务器在确定进行副本的主从切换时有多个数据库事务正在执行,则第一服务器需要记录该多个数据库事务的上下文,并将该多个数据库的上下文发送给第二服务器,这一定程度上增加了对服务器的带宽需求。因此,在一种实施方式中,第一服务器在确定进行副本的主从切换后,可以先不停止数据库事务的执行,而是可以继续执行数据库事务预设时长。如此,在预设时长后,将有部分所需执行时间较短的数据库事务完成执行,从而这些完成执行的数据库事务不再需要记录对应的上下文,减少了要传输的数据量。
在一种实施方式中,所述预设时长可以是自适应更新的。具体的,第一服务器在确定进行副本的主从切换后,可以预估当前正在执行的数据库事务对应的剩余执行时长,若该剩余执行时长小于所述预设时长,则可以将所述预设时长更新为所述剩余执行时长,从而第一服务器可以等待较短的时间,从而更快的进行主从切换;相应的,若该剩余执行时长大于所述预设时长,则预设时长仍然可以是原值,不需要进行更新。
在一种实施方式中,第一服务器在确定进行副本的主从切换后,可以预估当前正在执行的数据库事务对应的剩余执行时长,若该剩余执行时长小于预设的时长阈值,则第一服务器可以在剩余执行时长后进行副本的主备切换,若该剩余执行时长大于预设的时长阈值,则第一服务器可以不进行等待,即可以停止所有的执行行为,直接记录当前执行的数据库事务的上下文,将自身存储的主副本切换为从副本。由于剩余执行时长大于预设的时长阈值意味着第一服务器需要等待较长的时间才可能将当前正在执行的数据库事务完成,而第一服务器等待的时间越久,主副本提供写服务的可靠性越低,因此,在第一服务器需要等待的时间大于预设的时长阈值时,可以不进行等待,以保证主副本的写服务的可靠性。
在预估当前正在执行的数据库事务对应的剩余执行时长时,可以有多种实施方式。在一种实施方式中,可以根据当前正在执行的数据库事务的数量以及数据库事务对应的平均执行时间计算得到剩余执行时长。在一种实施方式中,可以获取当前正在执行的数据库事务剩余的未执行语句,并根据未执行语句的数量和单条语句执行所需的平均时长,可以确定数据库事务对应的剩余执行时长。
在一种实施方式中,第一服务器在发送所述上下文给第二服务器时,第一服务器可以将所述上下文同步到各个存储的副本是从副本的服务器,从而其中的第二服务器在完成从副本到主副本的切换后,可以根据所述上下文继续数据库事务的执行。
本说明书实施例提供的数据库事务处理方法,第一服务器在将自身存储的主副本切换为从副本之前,可以先记录当前正在执行的数据库事务的上下文,并将该上下文发送给第二服务器,而第二服务器在将自身存储的从副本切换为主副本后,可以根据第一服务器发送的上下文继续执行之前未执行完的数据库事务,数据库事务无需回滚,从而提高了数据库事务的执行效率。
本说明书实施例还提供了一种数据库事务处理***,可以参考图4,图4是本说明书实施例提供的数据库事务处理***的结构示意图,该***包括:
第一服务器410,用于在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文,并将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本;
第二服务器420,用于将自身存储的从副本切换为主副本,并在切换完成后,根据所述上下文继续所述数据库事务的执行。
本说明书实施例提供的数据库事务处理***,其对应的其他实施方式可以参考前文的数据库事务处理方法的各种实施方式,在此不再赘述。
本说明书实施例提供的数据库事务处理***,第一服务器在将自身存储的主副本切换为从副本之前,可以先记录当前正在执行的数据库事务的上下文,并将该上下文发送给第二服务器,而第二服务器在将自身存储的从副本切换为主副本后,可以根据第一服务器发送的上下文继续执行之前未执行完的数据库事务,数据库事务无需回滚,从而提高了数据库事务的执行效率。
本说明书实施例还提供了一种电子设备,可以参考图5,图5是本说明书实施例提供的电子设备的结构示意图,该电子设备包括:
处理器510;
用于存储处理器可执行指令的存储器520;
其中,所述处理器通过运行所述可执行指令实现以下步骤:
在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文;
将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本,以便于所述第二服务器在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
本说明书实施例提供的电子设备,可以实现前文中的第一服务器所执行的任意步骤,由于在前文已对这些步骤、动作进行了详细说明,因此不在此赘述。
本说明书实施例提供的电子设备,第一服务器在将自身存储的主副本切换为从副本之前,可以先记录当前正在执行的数据库事务的上下文,并将该上下文发送给第二服务器,而第二服务器在将自身存储的从副本切换为主副本后,可以根据第一服务器发送的上下文继续执行之前未执行完的数据库事务,数据库事务无需回滚,从而提高了数据库事务的执行效率。
本说明书实施例还提供了一种电子设备,其结构如图5所示,该电子设备的处理器可以实现以下步骤:
获取第一服务器发送的数据库事务的上下文;
在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
本说明书实施例提供的电子设备,可以实现前文中的第二服务器所执行的任意步骤,由于在前文已对这些步骤、动作进行了详细说明,因此不在此赘述。
本说明书实施例提供的电子设备,第一服务器在将自身存储的主副本切换为从副本之前,可以先记录当前正在执行的数据库事务的上下文,并将该上下文发送给第二服务器,而第二服务器在将自身存储的从副本切换为主副本后,可以根据第一服务器发送的上下文继续执行之前未执行完的数据库事务,数据库事务无需回滚,从而提高了数据库事务的执行效率。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现以下步骤:
在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文;
将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本,以便于所述第二服务器在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现以下步骤:
获取第一服务器发送的数据库事务的上下文;
在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (12)
1.一种数据库事务处理方法,其特征在于,包括:
第一服务器在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文,并将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本;
所述第二服务器将自身存储的从副本切换为主副本,并在切换完成后,根据所述上下文继续所述数据库事务的执行。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一服务器在确定进行副本的主从切换后,停止开启新的数据库事务,并停止执行当前正在执行的数据库事务中的新语句。
3.根据权利要求1所述的方法,其特征在于,所述第一服务器是根据接收到的切换指令确定进行副本的主从切换的,所述切换指令是第三服务器发送给第一服务器的。
4.根据权利要求3所述的方法,其特征在于,所述切换指令是所述第三服务器是根据所述第一服务器的负载水平生成的。
5.根据权利要求3所述的方法,其特征在于,所述切换指令是所述第三服务器根据服务器的升级或维护计划生成的。
6.根据权利要求1所述的方法,其特征在于,所述第一服务器将自身存储的主副本切换为从副本,包括:
所述第一服务器在预设时长后将自身存储的主副本切换为从副本。
7.根据权利要求1所述的方法,其特征在于,所述上下文包括当前正在执行的数据库事务对应的待操作的数据和状态机。
8.一种数据库事务处理***,其特征在于,包括:
第一服务器,用于在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文,并将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本;
所述第二服务器,用于将自身存储的从副本切换为主副本,并在切换完成后,根据所述上下文继续所述数据库事务的执行。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令实现以下步骤:
在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文;
将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本,以便于所述第二服务器在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令实现以下步骤:
获取第一服务器发送的数据库事务的上下文;
在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
11.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现以下步骤:
在确定进行副本的主从切换后,记录当前正在执行的数据库事务的上下文;
将所述上下文发送给第二服务器,将自身存储的主副本切换为从副本,以便于所述第二服务器在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
12.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现以下步骤:
获取第一服务器发送的数据库事务的上下文;
在将自身存储的从副本切换为主副本后,根据所述上下文继续所述数据库事务的执行。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110642105.7A CN113254536A (zh) | 2021-06-09 | 2021-06-09 | 数据库事务处理方法、***、电子设备及存储介质 |
PCT/CN2022/093816 WO2022257719A1 (zh) | 2021-06-09 | 2022-05-19 | 数据库事务处理的方法、***、电子设备及存储介质 |
US18/521,723 US20240104089A1 (en) | 2021-06-09 | 2023-11-28 | Methods, systems, electronic devices, and storage media for database transaction processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110642105.7A CN113254536A (zh) | 2021-06-09 | 2021-06-09 | 数据库事务处理方法、***、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113254536A true CN113254536A (zh) | 2021-08-13 |
Family
ID=77187227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110642105.7A Pending CN113254536A (zh) | 2021-06-09 | 2021-06-09 | 数据库事务处理方法、***、电子设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240104089A1 (zh) |
CN (1) | CN113254536A (zh) |
WO (1) | WO2022257719A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022257719A1 (zh) * | 2021-06-09 | 2022-12-15 | 北京奥星贝斯科技有限公司 | 数据库事务处理的方法、***、电子设备及存储介质 |
WO2023142543A1 (zh) * | 2022-01-27 | 2023-08-03 | ***股份有限公司 | 分布式数据库的主备切换方法、装置及可读存储介质 |
CN117370078A (zh) * | 2023-10-31 | 2024-01-09 | 广州鼎甲计算机科技有限公司 | 数据库备份管理方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793296A (zh) * | 2014-01-07 | 2014-05-14 | 浪潮电子信息产业股份有限公司 | 一种在集群中用于辅助备份复制计算机***的方法 |
CN108984569A (zh) * | 2017-06-05 | 2018-12-11 | 中兴通讯股份有限公司 | 数据库切换方法、***和计算机可读存储介质 |
CN109936481A (zh) * | 2019-03-22 | 2019-06-25 | 北京达佳互联信息技术有限公司 | 主从服务器切换方法、装置、电子设备及存储介质 |
CN112346912A (zh) * | 2020-12-01 | 2021-02-09 | 成都精灵云科技有限公司 | 基于网络文件***的有状态服务主备高可用***及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003186722A (ja) * | 2001-12-20 | 2003-07-04 | Hitachi Software Eng Co Ltd | クラスタシステムにおけるデータベースサーバフェイルオーバー方法 |
US8326800B2 (en) * | 2011-03-18 | 2012-12-04 | Microsoft Corporation | Seamless upgrades in a distributed database system |
US20140337918A1 (en) * | 2013-03-14 | 2014-11-13 | Faraz A. Siddiqi | Context based switching to a secure operating system environment |
CN113254536A (zh) * | 2021-06-09 | 2021-08-13 | 蚂蚁金服(杭州)网络技术有限公司 | 数据库事务处理方法、***、电子设备及存储介质 |
-
2021
- 2021-06-09 CN CN202110642105.7A patent/CN113254536A/zh active Pending
-
2022
- 2022-05-19 WO PCT/CN2022/093816 patent/WO2022257719A1/zh unknown
-
2023
- 2023-11-28 US US18/521,723 patent/US20240104089A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793296A (zh) * | 2014-01-07 | 2014-05-14 | 浪潮电子信息产业股份有限公司 | 一种在集群中用于辅助备份复制计算机***的方法 |
CN108984569A (zh) * | 2017-06-05 | 2018-12-11 | 中兴通讯股份有限公司 | 数据库切换方法、***和计算机可读存储介质 |
CN109936481A (zh) * | 2019-03-22 | 2019-06-25 | 北京达佳互联信息技术有限公司 | 主从服务器切换方法、装置、电子设备及存储介质 |
CN112346912A (zh) * | 2020-12-01 | 2021-02-09 | 成都精灵云科技有限公司 | 基于网络文件***的有状态服务主备高可用***及方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022257719A1 (zh) * | 2021-06-09 | 2022-12-15 | 北京奥星贝斯科技有限公司 | 数据库事务处理的方法、***、电子设备及存储介质 |
WO2023142543A1 (zh) * | 2022-01-27 | 2023-08-03 | ***股份有限公司 | 分布式数据库的主备切换方法、装置及可读存储介质 |
CN117370078A (zh) * | 2023-10-31 | 2024-01-09 | 广州鼎甲计算机科技有限公司 | 数据库备份管理方法、装置、计算机设备和存储介质 |
CN117370078B (zh) * | 2023-10-31 | 2024-05-28 | 广州鼎甲计算机科技有限公司 | 数据库备份管理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022257719A1 (zh) | 2022-12-15 |
US20240104089A1 (en) | 2024-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9671967B2 (en) | Method and system for implementing a distributed operations log | |
CN113254536A (zh) | 数据库事务处理方法、***、电子设备及存储介质 | |
US11016956B2 (en) | Database management system with database hibernation and bursting | |
US7107294B2 (en) | Method and apparatus for interrupting updates to a database to provide read-only access | |
US8074035B1 (en) | System and method for using multivolume snapshots for online data backup | |
EP2535815B1 (en) | Consistent backup of a distributed database system | |
US7836162B2 (en) | Transaction processing system and transaction processing method | |
JPH0683679A (ja) | データのバックアップ・コピー中の同時アクセスの方法及びシステム | |
US20070143299A1 (en) | Commitment of transactions in a distributed system | |
CN104793988A (zh) | 跨数据库分布式事务的实现方法和装置 | |
CN103443773A (zh) | 利用多个存储设备减少数据库录入的写延迟的方法和*** | |
US9189303B2 (en) | Shadow queues for recovery of messages | |
US6968382B2 (en) | Activating a volume group without a quorum of disks in the volume group being active | |
JPH04299748A (ja) | ファイルの管理方法及び装置 | |
JP2014503895A (ja) | システム・リセット | |
JP2007241486A (ja) | 記憶装置システム | |
US20100023532A1 (en) | Remote file system, terminal device, and server device | |
WO2016143095A1 (ja) | 計算機システム及びトランザクション処理の管理方法 | |
JPH0628402A (ja) | アクティブなデータ辞書を維持するためのデータ辞書マネージャ | |
JP2006004031A (ja) | データ処理方法およびシステム並びにストレージ装置方法およびその処理プログラム | |
JP5284604B2 (ja) | 過渡状態情報を格納するための方法、システムおよびコンピュータ・プログラム | |
JP5250955B2 (ja) | データ処理システムのバックアップ制御装置及びシステム | |
CN104115127B (zh) | 存储***和数据管理方法 | |
CN111159156B (zh) | SQLite数据库的备份方法和装置 | |
CN108351801A (zh) | 多版本移除管理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |