CN106897288A - 数据库的服务提供方法和系统 - Google Patents
数据库的服务提供方法和系统 Download PDFInfo
- Publication number
- CN106897288A CN106897288A CN201510955708.7A CN201510955708A CN106897288A CN 106897288 A CN106897288 A CN 106897288A CN 201510955708 A CN201510955708 A CN 201510955708A CN 106897288 A CN106897288 A CN 106897288A
- Authority
- CN
- China
- Prior art keywords
- database server
- transaction journal
- main database
- transaction
- main
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- 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/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例涉及数据库的服务提供方法和数据库系统,该方法包括:当主数据库服务器接收到客户端的服务提供请求时,根据服务提供请求更改数据库中的数据,并将数据库的更改信息写入到第一事务日志中,将第一事务日志发送给从数据库服务器;当主数据库服务器与从数据库服务器之间的网络连接断开或超时,或者,主数据库服务器中累积的未发送成功的事务日志的数量超过预设数值时,或者,第一事务日志的发送时间超过预设时间时,主数据库服务器将第一事务日志或者第一事务日志对应的更新对象的信息传输给缓冲区。由上可见,本申请实施例中,当备库暂时无法接收日志时,主库将日志发送给缓冲区,从而保证日志不丢失。
Description
技术领域
本申请涉及计算机领域,尤其涉及数据库的服务提供方法和系统。
背景技术
当前,数据库系统一般采用一主一从的主从架构,来提供高可用性的服务。正常情况下,由主数据库服务器对外服务。如果对外服务的进程执行了对数据的更改,则会在把更改写入数据库存储前,先写入到事务日志中。每条日志记录了对一条数据记录的修改,其中包含了数据记录的主键和更新操作的具体信息。主数据库服务器产生的日志,不断通过网络连接,发送给从数据库服务器。从数据库服务器接收到日志后,将其进行回放,以使其数据跟主数据库服务器同步。为描述简便,在后面的描述中,有时将主数据库服务器简称为主库,将从数据库服务器简称为备库。
现有技术中,数据库系统对外提供针对数据库的服务时,在主库发生宕机等异常,无法对外服务时,需要切换到备库,由备库继续提供服务,从而实现高可用性。为使切换后,备库的状态与主库的最后状态一致,要保证备库已经有主库的所有日志。
由上可见,在现有技术的数据库的服务提供方法中,在一主一从架构中,主备之间经常会发生由于网络不稳定(如丢失数据包)、网络瓶颈、或者备库达到性能瓶颈(如CPU利用率达到峰值)而导致日志无法及时发送到备库的现象,可能导致日志丢失。
发明内容
本申请实施例提供了数据库的服务提供方法和系统,能够保证日志不丢失。
一方面,提供了一种数据库的服务提供方法,所述方法包括:
当主数据库服务器接收到客户端的服务提供请求时,根据所述服务提供请求更改数据库中的数据,并将所述数据库的更改信息写入到第一事务日志中,将所述第一事务日志发送给从数据库服务器;
当所述主数据库服务器与所述从数据库服务器之间的网络连接断开或超时,或者,所述主数据库服务器中累积的未发送成功的事务日志的数量超过预设数值时,或者,所述第一事务日志的发送时间超过预设时间时,所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区。
可选地,所述方法还包括:
当所述主数据库服务器确认所述第一事务日志或者所述第一事务日志对应的更新对象的信息已经传输给所述缓冲区,完成事务提交操作,通知所述客户端事务提交成功。
可选地,所述所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,所述方法还包括:
所述主数据库服务器继续将所述第一事务日志发送给所述从数据库服务器。
可选地,所述所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,所述方法还包括:
当所述主数据库服务器确认所述第一事务日志已经发送给所述从数据库服务器后,所述主数据库服务器向所述缓冲区发送指示消息,所述指示消息用于指示所述缓冲区删除所述第一事务日志。
可选地,所述所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,所述方法还包括:
当所述主数据库服务器和所述从数据库服务器之间发生主从切换时,所述从数据库服务器从所述缓冲区取出所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器与所述主数据库服务器同步数据,回放完成开始对外提供服务。
可选地,所述所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,所述方法还包括:
当所述主数据库服务器和所述从数据库服务器之间发生主从切换时,所述从数据库服务器从所述缓冲区取出所述第一事务日志对应的更新对象的信息,其中,所述更新对象的信息具体为主键或页面号信息,根据所述主键或页面号信息对相应的主键或页面进行加锁,开始对外提供服务。
可选地,所述方法还包括:
当所述从数据库服务器接收到的数据库事务访问了加锁的数据,则会等待;直到所述从数据库服务器接收到所述第一事务日志,将所述第一事务日志进行回放后,释放加锁的数据,再继续所述数据库事务。
可选地,所述方法还包括:
所述从数据库服务器接收所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器与所述主数据库服务器同步数据。
另一方面,提供了一种数据库系统,所述系统包括:主数据库服务器、从数据库服务器和缓冲区;
所述主数据库服务器,用于当所述主数据库服务器接收到客户端的服务提供请求时,根据所述服务提供请求更改数据库中的数据,并将所述数据库的更改信息写入到第一事务日志中,将所述第一事务日志发送给从数据库服务器;
所述从数据库服务器,用于接收所述主数据库服务器发送的所述第一事务日志;
所述主数据库服务器,还用于当所述主数据库服务器与所述从数据库服务器之间的网络连接断开或超时,或者,所述主数据库服务器中累积的未发送成功的事务日志的数量超过预设数值时,或者,所述第一事务日志的发送时间超过预设时间时,将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区;
所述缓冲区,用于存储所述第一事务日志或者所述第一事务日志对应的更新对象的信息。
可选地,所述主数据库服务器,还用于当所述主数据库服务器确认所述第一事务日志或者所述第一事务日志对应的更新对象的信息已经传输给所述缓冲区,完成事务提交操作,通知所述客户端事务提交成功。
可选地,所述主数据库服务器,还用于在将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,继续将所述第一事务日志发送给所述从数据库服务器。
可选地,所述主数据库服务器,还用于当确认所述第一事务日志已经发送给所述从数据库服务器后,向所述缓冲区发送指示消息,所述指示消息用于指示所述缓冲区删除所述第一事务日志。
可选地,所述从数据库服务器,还用于在所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,当所述主数据库服务器和所述从数据库服务器之间发生主从切换时,从所述缓冲区取出所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器与所述主数据库服务器同步数据,回放完成开始对外提供服务。
可选地,所述从数据库服务器,还用于在所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,当所述主数据库服务器和所述从数据库服务器之间发生主从切换时,所述从数据库服务器从所述缓冲区取出所述第一事务日志对应的更新对象的信息,其中,所述更新对象的信息具体为主键或页面号信息,根据所述主键或页面号信息对相应的主键或页面进行加锁,开始对外提供服务。
可选地,所述从数据库服务器,还用于当所述从数据库服务器接收到的数据库事务访问了加锁的数据,则会等待;直到所述从数据库服务器接收到所述第一事务日志,将所述第一事务日志进行回放后,释放加锁的数据,再继续所述数据库事务。
可选地,所述从数据库服务器,还用于接收所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器与所述主数据库服务器同步数据。
本申请提供了一种数据库的服务提供方法,在一主一从架构的基础上,另外设置了缓冲区,当备库暂时无法接收日志时,主库将日志发送给缓冲区,能够保证日志不丢失。并且,可以当主数据库服务器确认第一事务日志或者第一事务日志对应的更新对象的信息已经传输给缓冲区后,完成事务提交操作,通知所述客户端事务提交成功,以便尽快的把日志传出,从而完成事务提交,有效提高了主库的性能,同时又不影响整个系统的可用性。
附图说明
图1为本申请实施例一提供的数据库系统架构图;
图2为本申请实施例二提供的数据库的服务提供方法信号流图;
图3为本申请实施例三提供的数据库系统架构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于对本申请实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本申请实施例的限定。
图1为本申请实施例一提供的数据库系统架构图,该系统在一主一从架构的基础上,另外设置了缓冲区,参照图1,该数据库系统具体包括主数据库服务器、从数据库服务器和缓冲区。基于图1所示的系统架构,本申请提供了一种数据库的服务提供方法,当从数据库服务器即备库暂时无法接收日志时,主数据库服务器即主库将日志发送给缓冲区,以便尽快的把日志传出,从而完成事务提交,有效提高了主库的性能,同时又不影响整个系统的可用性。
图2为本申请实施例二提供的数据库的服务提供方法信号流图,该方法基于图1所示的数据库系统架构,参照图2,该方法包括:
步骤201,主数据库服务器接收客户端的服务提供请求。
其中,当用户需要访问数据库时,通过客户端与主数据库服务器建立连接,主数据库服务器接收到客户端的服务提供请求后,通过服务进程来为用户提供服务。
步骤202,主数据库服务器根据服务提供请求更改数据库中的数据,并将数据库的更改信息写入到第一事务日志中。
本申请实施例中,对于更改数据的操作和写入日志的操作的执行顺序不做限定,可以先更改数据后写入日志,也可以先写入日志后更改数据,还可以同时写入日志和更改数据。
步骤203,主数据库服务器将第一事务日志发送给从数据库服务器。
其中,可以通过在主数据库服务器中设置日志写入与发送模块,由该日志写入与发送模块执行写入日志和发送日志的操作。
步骤204,从数据库服务器接收到第一事务日志后,将第一事务日志进行回放,以使从数据库服务器与主数据库服务器同步数据。
具体地,可以通过日志回放进程,将第一事务日志进行回放。
步骤205,当主数据库服务器确定日志无法及时传输到从数据库服务器时,也即步骤204无法正常执行时,主数据库服务器将第一事务日志或者第一事务日志对应的更新对象的信息传输给缓冲区。
本申请实施例中,主数据库服务器可以但不限于在下述情况下确定日志无法及时传输到从数据库服务器:当主数据库服务器与从数据库服务器之间的网络连接断开或超时,或者,主数据库服务器中累积的未发送成功的事务日志的数量超过预设数值时,或者,第一事务日志的发送时间超过预设时间。
其中,造成网络连接断开或超时的原因可能是由于网络带宽瓶颈或备库的性能瓶颈等原因。
第一事务日志对应的更新对象的信息可以为主键值或者页面号。
缓冲区具体提供一个用作缓冲的消息队列或缓存服务。
步骤206,当主数据库服务器确认第一事务日志已经发送给从数据库服务器,或者,当主数据库服务器确认从数据库服务器已经将第一次事务日志回放完毕后,或者,当主数据库服务器确认第一事务日志或者第一事务日志对应的更新对象的信息已经传输给缓冲区,完成事务提交操作,通知客户端事务提交成功。
本申请提供了一种数据库的服务提供方法,扩大了主数据库服务器完成事务提交操作的范围,不仅可以在当主数据库服务器确认第一事务日志已经发送给从数据库服务器,或者,当主数据库服务器确认从数据库服务器已经将第一次事务日志回放完毕后,完成事务提交操作,而且当从数据库服务器即备库暂时无法接收日志时,主数据库服务器即主库将日志或者日志对应的更新对象的信息发送给缓冲区,从而完成事务提交,有效提高了主库的性能,同时又不影响整个系统的可用性。
在数据库系统的一主一从架构中,设置主数据库服务器和从数据库服务器两个服务器的目的主要是为了当主库不可用时,可以进行主从切换,由从库来为用户提供服务。
本申请的一个具体的实施例中,当主数据库服务器和从数据库服务器之间发生主从切换时,从数据库服务器从缓冲区取出第一事务日志,将第一事务日志进行回放,以使从数据库服务器与主数据库服务器同步数据,回放完成开始对外提供服务。
本申请的另一个具体的实施例中,当主数据库服务器和从数据库服务器之间发生主从切换时,从数据库服务器从缓冲区取出第一事务日志对应的更新对象的信息,其中,更新对象的信息具体为主键或页面号信息,根据主键或页面号信息对相应的主键或页面进行加锁,开始对外提供服务。
可选地,当从数据库服务器接收到的数据库事务访问了加锁的数据,则会等待;直到从数据库服务器接收到第一事务日志,将第一事务日志进行回放后,释放加锁的数据,再由从数据库服务器继续该数据库事务。
此外,也可以采取另外的方式,当从数据库服务器接收到的数据库事务访问了加锁的数据,则会等待;直到主数据库服务器恢复后,再由主数据库服务器继续该数据库事务。
可选地,主数据库服务器将第一事务日志或者第一事务日志对应的更新对象的信息传输给缓冲区之后,主数据库服务器继续将第一事务日志发送给从数据库服务器。
可选地,当主数据库服务器确认第一事务日志已经发送给从数据库服务器后,主数据库服务器向缓冲区发送指示消息,该指示消息用于指示缓冲区删除第一事务日志。
本申请实施例提供的方案其可用性与一主两从方案相当,其中,一主两从方案即基于一个主数据库服务器和两个从数据库服务器的系统架构的数据库的服务提供方法。另外,本申请实施例中,由于缓冲区只需提供主备日志传输异常时,保存日志的空间,主备日志传输恢复正常后,缓冲区即可丢弃日志,因此对缓冲区的存储空间要求较小,实用性强,成本较低;而且作为一个全局的服务,一个缓冲区可以服务于多个数据库系统,所以此方案相对于一主两从方案,降低了对硬件的要求,相应大幅降低了成本。
图3为本申请实施例三提供的数据库系统架构图,该系统用于执行本申请实施例提供的数据库的服务提供方法,参照图3,该系统包括:主数据库服务器301、从数据库服务器302和缓冲区303;
所述主数据库服务器301,用于当所述主数据库服务器301接收到客户端的服务提供请求时,根据所述服务提供请求更改数据库中的数据,并将所述数据库的更改信息写入到第一事务日志中,将所述第一事务日志发送给从数据库服务器302;
所述从数据库服务器302,用于接收所述主数据库服务器301发送的所述第一事务日志;
所述主数据库服务器301,还用于当所述主数据库服务器301与所述从数据库服务器302之间的网络连接断开或超时,或者,所述主数据库服务器301中累积的未发送成功的事务日志的数量超过预设数值时,或者,所述第一事务日志的发送时间超过预设时间时,将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区303;
所述缓冲区303,用于存储所述第一事务日志或者所述第一事务日志对应的更新对象的信息。
可选地,所述主数据库服务器301,还用于当所述主数据库服务器301确认所述第一事务日志或者所述第一事务日志对应的更新对象的信息已经传输给所述缓冲区303,完成事务提交操作,通知所述客户端事务提交成功。
可选地,所述主数据库服务器301,还用于在将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区303之后,继续将所述第一事务日志发送给所述从数据库服务器302。
可选地,所述主数据库服务器301,还用于当确认所述第一事务日志已经发送给所述从数据库服务器302后,向所述缓冲区303发送指示消息,所述指示消息用于指示所述缓冲区303删除所述第一事务日志。
可选地,所述从数据库服务器302,还用于在所述主数据库服务器301将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区303之后,当所述主数据库服务器301和所述从数据库服务器302之间发生主从切换时,从所述缓冲区303取出所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器302与所述主数据库服务器301同步数据,回放完成开始对外提供服务。
可选地,所述从数据库服务器302,还用于在所述主数据库服务器301将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区303之后,当所述主数据库服务器301和所述从数据库服务器302之间发生主从切换时,所述从数据库服务器302从所述缓冲区303取出所述第一事务日志对应的更新对象的信息,其中,所述更新对象的信息具体为主键或页面号信息,根据所述主键或页面号信息对相应的主键或页面进行加锁,开始对外提供服务。
可选地,所述从数据库服务器302,还用于当所述从数据库服务器302接收到的数据库事务访问了加锁的数据,则会等待;直到所述从数据库服务器302接收到所述第一事务日志,将所述第一事务日志进行回放后,释放加锁的数据,再继续所述数据库事务。
可选地,所述从数据库服务器302,还用于接收所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器302与所述主数据库服务器301同步数据。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的对象及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种数据库的服务提供方法,其特征在于,所述方法包括:
当主数据库服务器接收到客户端的服务提供请求时,根据所述服务提供请求更改数据库中的数据,并将所述数据库的更改信息写入到第一事务日志中,将所述第一事务日志发送给从数据库服务器;
当所述主数据库服务器与所述从数据库服务器之间的网络连接断开或超时,或者,所述主数据库服务器中累积的未发送成功的事务日志的数量超过预设数值时,或者,所述第一事务日志的发送时间超过预设时间时,所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述主数据库服务器确认所述第一事务日志或者所述第一事务日志对应的更新对象的信息已经传输给所述缓冲区,完成事务提交操作,通知所述客户端事务提交成功。
3.如权利要求2所述的方法,其特征在于,所述所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,所述方法还包括:
所述主数据库服务器继续将所述第一事务日志发送给所述从数据库服务器。
4.如权利要求3所述的方法,其特征在于,所述所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,所述方法还包括:
当所述主数据库服务器确认所述第一事务日志已经发送给所述从数据库服务器后,所述主数据库服务器向所述缓冲区发送指示消息,所述指示消息用于指示所述缓冲区删除所述第一事务日志。
5.如权利要求1所述的方法,其特征在于,所述所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,所述方法还包括:
当所述主数据库服务器和所述从数据库服务器之间发生主从切换时,所述从数据库服务器从所述缓冲区取出所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器与所述主数据库服务器同步数据,回放完成开始对外提供服务。
6.如权利要求1所述的方法,其特征在于,所述所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,所述方法还包括:
当所述主数据库服务器和所述从数据库服务器之间发生主从切换时,所述从数据库服务器从所述缓冲区取出所述第一事务日志对应的更新对象的信息,其中,所述更新对象的信息具体为主键或页面号信息,根据所述主键或页面号信息对相应的主键或页面进行加锁,开始对外提供服务。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
当所述从数据库服务器接收到的数据库事务访问了加锁的数据,则会等待;直到所述从数据库服务器接收到所述第一事务日志,将所述第一事务日志进行回放后,释放加锁的数据,再继续所述数据库事务。
8.如权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
所述从数据库服务器接收所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器与所述主数据库服务器同步数据。
9.一种数据库系统,其特征在于,所述系统包括:主数据库服务器、从数据库服务器和缓冲区;
所述主数据库服务器,用于当所述主数据库服务器接收到客户端的服务提供请求时,根据所述服务提供请求更改数据库中的数据,并将所述数据库的更改信息写入到第一事务日志中,将所述第一事务日志发送给从数据库服务器;
所述从数据库服务器,用于接收所述主数据库服务器发送的所述第一事务日志;
所述主数据库服务器,还用于当所述主数据库服务器与所述从数据库服务器之间的网络连接断开或超时,或者,所述主数据库服务器中累积的未发送成功的事务日志的数量超过预设数值时,或者,所述第一事务日志的发送时间超过预设时间时,将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区;
所述缓冲区,用于存储所述第一事务日志或者所述第一事务日志对应的更新对象的信息。
10.如权利要求9所述的系统,其特征在于:
所述主数据库服务器,还用于当所述主数据库服务器确认所述第一事务日志或者所述第一事务日志对应的更新对象的信息已经传输给所述缓冲区,完成事务提交操作,通知所述客户端事务提交成功。
11.如权利要求10所述的系统,其特征在于,所述主数据库服务器,还用于在将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,继续将所述第一事务日志发送给所述从数据库服务器。
12.如权利要求11所述的系统,其特征在于,所述主数据库服务器,还用于当确认所述第一事务日志已经发送给所述从数据库服务器后,向所述缓冲区发送指示消息,所述指示消息用于指示所述缓冲区删除所述第一事务日志。
13.如权利要求9所述的系统,其特征在于,所述从数据库服务器,还用于在所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,当所述主数据库服务器和所述从数据库服务器之间发生主从切换时,从所述缓冲区取出所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器与所述主数据库服务器同步数据,回放完成开始对外提供服务。
14.如权利要求9所述的系统,其特征在于,所述从数据库服务器,还用于在所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区之后,当所述主数据库服务器和所述从数据库服务器之间发生主从切换时,所述从数据库服务器从所述缓冲区取出所述第一事务日志对应的更新对象的信息,其中,所述更新对象的信息具体为主键或页面号信息,根据所述主键或页面号信息对相应的主键或页面进行加锁,开始对外提供服务。
15.如权利要求14所述的系统,其特征在于,所述从数据库服务器,还用于当所述从数据库服务器接收到的数据库事务访问了加锁的数据,则会等待;直到所述从数据库服务器接收到所述第一事务日志,将所述第一事务日志进行回放后,释放加锁的数据,再继续所述数据库事务。
16.如权利要求9至15中任一项所述的系统,其特征在于:
所述从数据库服务器,还用于接收所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器与所述主数据库服务器同步数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510955708.7A CN106897288B (zh) | 2015-12-18 | 2015-12-18 | 数据库的服务提供方法和系统 |
PCT/CN2016/108991 WO2017101731A1 (zh) | 2015-12-18 | 2016-12-08 | 数据库的服务提供方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510955708.7A CN106897288B (zh) | 2015-12-18 | 2015-12-18 | 数据库的服务提供方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106897288A true CN106897288A (zh) | 2017-06-27 |
CN106897288B CN106897288B (zh) | 2021-01-08 |
Family
ID=59055824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510955708.7A Active CN106897288B (zh) | 2015-12-18 | 2015-12-18 | 数据库的服务提供方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106897288B (zh) |
WO (1) | WO2017101731A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019042174A1 (zh) * | 2017-08-29 | 2019-03-07 | 阿里巴巴集团控股有限公司 | 在主数据库和备数据库之间的同步方法、数据库系统和设备 |
CN110955556A (zh) * | 2018-09-27 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 数据库恢复方法及装置、存储介质、数据库系统 |
CN113377582A (zh) * | 2021-08-16 | 2021-09-10 | 北京易鲸捷信息技术有限公司 | 基于日志推送的分布式数据库容灾方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124757A (zh) * | 2019-12-16 | 2020-05-08 | 上海热璞网络科技有限公司 | 一种分布式事务数据库的数据节点心跳检测算法 |
CN112416654B (zh) * | 2020-11-26 | 2024-04-09 | 上海达梦数据库有限公司 | 一种数据库日志重演方法、装置、设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060103443A1 (en) * | 2004-11-17 | 2006-05-18 | Young-Chul Rhee | Clocked state devices including master-slave terminal transmission gates and methods of operating same |
CN101681383A (zh) * | 2007-05-21 | 2010-03-24 | Nhn株式会社 | 用于数据库管理系统的数据复制方法及系统 |
CN101706811A (zh) * | 2009-11-24 | 2010-05-12 | 中国科学院软件研究所 | 一种分布式数据库系统事务提交方法 |
CN101876924A (zh) * | 2009-04-30 | 2010-11-03 | 升东网络科技发展(上海)有限公司 | 数据库故障自动检测及转移方法 |
US8045554B2 (en) * | 2007-12-13 | 2011-10-25 | Electronics And Telecommunications Research Institute | Method of and apparatus for processing virtual local area network tag frame |
CN102629268A (zh) * | 2012-03-09 | 2012-08-08 | 华为技术有限公司 | 数据同步方法、系统及数据访问装置 |
US20140006875A1 (en) * | 2012-06-29 | 2014-01-02 | Vivekananda M. Vedula | Systems and methods for analyzing transactions in a computer system |
CN103546579A (zh) * | 2013-11-07 | 2014-01-29 | 陈靓 | 一种用数据日志提高分布式存储系统可用性的方法 |
CN104468399A (zh) * | 2014-12-08 | 2015-03-25 | 北京奇虎科技有限公司 | 数据传输方法、装置和服务器 |
CN104601354A (zh) * | 2013-10-31 | 2015-05-06 | 深圳市腾讯计算机系统有限公司 | 一种业务日志存储方法、装置及系统 |
EP2889812A1 (en) * | 2013-12-24 | 2015-07-01 | Pathway IP SARL | Room access control system |
EP2919131A1 (en) * | 2014-03-13 | 2015-09-16 | Sybase, Inc. | Reduce log contention by batching log record transfers to the log |
CN105210060A (zh) * | 2013-03-28 | 2015-12-30 | 微软技术许可有限责任公司 | 用于持久系统中的数据库的事务处理 |
US9558229B2 (en) * | 2013-11-26 | 2017-01-31 | Sap Se | Transaction private log buffering for high performance of transaction processing |
CN104967658B (zh) * | 2015-05-08 | 2018-11-30 | 成都品果科技有限公司 | 一种多终端设备上的数据同步方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103580891A (zh) * | 2012-07-27 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据同步的方法、系统及服务器 |
CN103580906B (zh) * | 2012-08-09 | 2018-02-27 | 腾讯科技(深圳)有限公司 | 一种数据备份的方法、系统及服务器 |
CN103475718A (zh) * | 2013-09-11 | 2013-12-25 | 北京京东尚科信息技术有限公司 | 一种数据缓存的方法和系统 |
CN105162560A (zh) * | 2015-08-24 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种数据处理方法和系统 |
-
2015
- 2015-12-18 CN CN201510955708.7A patent/CN106897288B/zh active Active
-
2016
- 2016-12-08 WO PCT/CN2016/108991 patent/WO2017101731A1/zh active Application Filing
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060103443A1 (en) * | 2004-11-17 | 2006-05-18 | Young-Chul Rhee | Clocked state devices including master-slave terminal transmission gates and methods of operating same |
CN101681383A (zh) * | 2007-05-21 | 2010-03-24 | Nhn株式会社 | 用于数据库管理系统的数据复制方法及系统 |
US8045554B2 (en) * | 2007-12-13 | 2011-10-25 | Electronics And Telecommunications Research Institute | Method of and apparatus for processing virtual local area network tag frame |
CN101876924A (zh) * | 2009-04-30 | 2010-11-03 | 升东网络科技发展(上海)有限公司 | 数据库故障自动检测及转移方法 |
CN101706811A (zh) * | 2009-11-24 | 2010-05-12 | 中国科学院软件研究所 | 一种分布式数据库系统事务提交方法 |
CN102629268A (zh) * | 2012-03-09 | 2012-08-08 | 华为技术有限公司 | 数据同步方法、系统及数据访问装置 |
US20140006875A1 (en) * | 2012-06-29 | 2014-01-02 | Vivekananda M. Vedula | Systems and methods for analyzing transactions in a computer system |
CN105210060A (zh) * | 2013-03-28 | 2015-12-30 | 微软技术许可有限责任公司 | 用于持久系统中的数据库的事务处理 |
CN104601354A (zh) * | 2013-10-31 | 2015-05-06 | 深圳市腾讯计算机系统有限公司 | 一种业务日志存储方法、装置及系统 |
CN103546579A (zh) * | 2013-11-07 | 2014-01-29 | 陈靓 | 一种用数据日志提高分布式存储系统可用性的方法 |
US9558229B2 (en) * | 2013-11-26 | 2017-01-31 | Sap Se | Transaction private log buffering for high performance of transaction processing |
EP2889812A1 (en) * | 2013-12-24 | 2015-07-01 | Pathway IP SARL | Room access control system |
EP2919131A1 (en) * | 2014-03-13 | 2015-09-16 | Sybase, Inc. | Reduce log contention by batching log record transfers to the log |
CN104468399A (zh) * | 2014-12-08 | 2015-03-25 | 北京奇虎科技有限公司 | 数据传输方法、装置和服务器 |
CN104967658B (zh) * | 2015-05-08 | 2018-11-30 | 成都品果科技有限公司 | 一种多终端设备上的数据同步方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019042174A1 (zh) * | 2017-08-29 | 2019-03-07 | 阿里巴巴集团控股有限公司 | 在主数据库和备数据库之间的同步方法、数据库系统和设备 |
US11429594B2 (en) * | 2017-08-29 | 2022-08-30 | Alibaba Group Holding Limited | Synchronization between primary database and secondary database |
CN110955556A (zh) * | 2018-09-27 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 数据库恢复方法及装置、存储介质、数据库系统 |
CN110955556B (zh) * | 2018-09-27 | 2023-05-02 | 阿里云计算有限公司 | 数据库恢复方法及装置、存储介质、数据库系统 |
CN113377582A (zh) * | 2021-08-16 | 2021-09-10 | 北京易鲸捷信息技术有限公司 | 基于日志推送的分布式数据库容灾方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017101731A1 (zh) | 2017-06-22 |
CN106897288B (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9658912B2 (en) | Method and apparatus for implementing heartbeat service of high availability cluster | |
CN106897288A (zh) | 数据库的服务提供方法和系统 | |
CN101808127B (zh) | 数据备份方法、系统和服务器 | |
CN102867035B (zh) | 一种分布式文件系统集群高可用方法和装置 | |
CN107888657A (zh) | 低延迟分布式存储系统 | |
US20070180309A1 (en) | System and method for mirroring data | |
EP2824893B1 (en) | Data storage method and device | |
MX2007000075A (es) | Metodo de mejorar el funcionamiento de servidor de replica y un sistema de servidor de replica. | |
CN105049258B (zh) | 网络容灾系统的数据传输方法 | |
CN113010496B (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
CN110442646B (zh) | 一种ceph数据同步模块主端写性能优化系统及方法 | |
CN101834904A (zh) | 一种数据备份方法和设备 | |
WO2021139571A1 (zh) | 存储系统中的数据存储方法、数据读取方法、装置及系统 | |
CN109194721A (zh) | 一种异步的rdma通信内存动态管理方法及系统 | |
CN114461593B (zh) | 日志写入方法及其装置、电子设备及存储介质 | |
CN101552799A (zh) | 媒体节点容错方法和装置 | |
CN102541693A (zh) | 数据的多副本存储管理方法和系统 | |
CN113110948A (zh) | 一种容灾数据处理方法和装置 | |
EP3188029B1 (en) | Management and dispatching apparatus, system, and method based on sas | |
CN113051428B (zh) | 一种摄像机前端存储备份的方法及装置 | |
CN108616598A (zh) | 数据同步方法、装置和分布式存储系统 | |
CN117061535A (zh) | 多活构架数据同步方法、装置、计算机设备和存储介质 | |
CN111339059A (zh) | 基于分布式存储系统Ceph的NAS存储系统 | |
CN106528340B (zh) | 移动网用户信令数据快速处理方法和系统 | |
WO2022033269A1 (zh) | 数据处理的方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |