一种数据库高可用实现方法及数据库服务器技术

技术编号:18913547 阅读:68 留言:0更新日期:2018-09-12 02:57
本发明专利技术公开了一种数据库高可用实现方法及数据库服务器,包括数据库实例在读写数据库的过程中,将自身对数据库的修改操作记录至数据库对应的重做日志内;重做日志接收到修改操作后,发送携带有修改操作的操作指令至数据库指定的对端数据库上的standby日志内;对端数据库的standby日志接收到操作指令后,将操作指令中的修改操作写入对端数据库;其中,数据库与对端数据库的初始状态一致。本发明专利技术将数据库的修改操作通过重做日志‑standby日志存储至对端数据库,实现数据库的高可用,可靠性高。

A database high availability implementation method and database server

The invention discloses a method for realizing high availability of a database and a database server, which comprises a database instance recording its modification operation to a redo log corresponding to the database during the process of reading and writing the database, and sending an operation instruction carrying the modification operation to the redo log after the redo log receives the modification operation. In the standby log on the opposite database specified by the database, the standby log of the opposite database receives the operation instructions and writes the modifications in the operation instructions to the opposite database, where the initial state of the database is the same as that of the opposite database. The invention stores the modification operation of the database to the opposite end database by redo log standby log, thus realizing high availability and high reliability of the database.

【技术实现步骤摘要】
一种数据库高可用实现方法及数据库服务器
本专利技术涉及数据库高可用
,特别是涉及一种数据库高可用实现方法。本专利技术还涉及一种数据库服务器。
技术介绍
K-DB数据库是一种通用关系型数据库,数据库服务器包括数据库和数据库实例,数据库实例包括内存和后台进程,用于进行数据库的读写和重做日志的记录,重做日志是用于记录数据库中增删改等操作的日志。现阶段K-DB数据库服务器只能做成多实例单库的方式,即每个数据库服务器内包含一个数据库实例,多个数据库服务器共享一个数据库,该数据库为外置的存储组件。在这种结构中,数据库实例实现了高可用,但是共享的数据库并没有实现高可用,在没有容灾或备份的情况下,数据库一旦损坏将无法恢复,整个数据库就挂掉,可靠性低。因此,如何提供一种可靠性高的数据库高可用实现方法及数据库服务器是本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种数据库高可用实现方法及数据库服务器,将数据库的修改操作通过重做日志-standby日志存储至对端数据库,实现数据库的高可用,可靠性高。为解决上述技术问题,本专利技术提供了一种数据库高可用实现方法,用于数据库服务器,包括:数据库实例在读写数据库的过程中,将自身对所述数据库的修改操作记录至所述数据库对应的重做日志内;所述重做日志接收到所述修改操作后,发送携带有所述修改操作的操作指令至所述数据库指定的对端数据库上的standby日志内;所述对端数据库的standby日志接收到所述操作指令后,将所述操作指令中的所述修改操作写入所述对端数据库;其中,所述数据库与所述对端数据库的初始状态一致。优选地,数据库成对存在,且每对数据库中的两个数据库互为彼此的对端数据库;相应的,每对数据库中的两个数据库的重做日志的的组数、大小以及standby日志的组数、大小分别对应相同。优选地,所述数据库服务器包括一个数据库实例以及一个内置的数据库,所述数据库对应所述数据库服务器内包含的数据库实例。优选地,所述数据库为共享存储组件,多个所述数据库服务器共享所述数据库,所述数据库对应多个所述数据库服务器中的数据库实例,所述重做日志与所述数据库实例一一对应。优选地,数据库成对存在;每对数据库中,一个数据库对应的数据库实例仅承担读操作,另一个数据库对应的的数据库实例仅承担写操作。为解决上述技术问题,本专利技术还提供了一种数据库服务器,包括:数据库实例,所述数据库实例用于在读写数据库的过程中,将自身对所述数据库的修改操作记录至所述数据库对应的重做日志内;所述重做日志,用于接收到所述修改操作后,发送携带有所述修改操作的操作指令至所述数据库指定的对端数据库上的standby日志内;其中,所述数据库与所述对端数据库的初始状态一致;所述standby日志,用于接收到操作指令后,将接收到的操作指令中的修改操作写入自身对应的数据库;所述数据库。优选地,包括一个数据库实例以及一个内置的数据库,所述数据库对应所述数据库服务器内包含的数据库实例。优选地,所述数据库为共享存储组件,多个所述数据库服务器共享所述数据库,所述数据库对应多个所述数据库服务器中的数据库实例,所述重做日志与所述数据库实例一一对应。优选地,数据库成对存在;每对数据库中,一个数据库对应的数据库实例仅承担读操作,另一个数据库对应的的数据库实例仅承担写操作。本专利技术提供了一种数据库高可用实现方法,为每个数据库设置一个对端数据库,数据库实例一旦对数据库进行读写后,数据库对应的重做日志内会记录有数据库的修改操作,之后将该修改操作发送至对端数据库内的standby日志,由对端数据库内的standby日志将修改操作写入对端数据库,这样使得对端数据库内存储有该数据库的修改情况作为备份,一旦该数据库损坏,后续还可以使用对端数据库中的备份数据,避免了数据库损坏后其内数据完全丢失的情况,实现了数据库的高可用,数据库服务器的可靠性高。本专利技术还提供了一种数据库服务器,也具有上述优点。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种数据库高可用实现方法的过程的流程图;图2为本专利技术提供的一种数据库服务器工作过程示意图;图3为本专利技术提供的另一种数据库服务器工作过程的示意图;图4为本专利技术提供的另一种数据库服务器工作过程的示意图。具体实施方式本专利技术的核心是提供一种数据库高可用实现方法及数据库服务器,将数据库的修改操作通过重做日志-standby日志存储至对端数据库,实现数据库的高可用,可靠性高。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供了一种数据库高可用实现方法,用于数据库服务器,参见图1所示,图1为本专利技术提供的一种数据库高可用实现方法的过程的流程图;该方法包括:步骤s1:数据库实例在读写数据库的过程中,将自身对数据库的修改操作记录至数据库对应的重做日志内;其中,重做日志内记录的是数据库增删改操作的内容,在数据库损坏时,若重做日志能够完整保留,即可依据重做日志进行数据库恢复。需要注意的是,由于数据库的增删改操作是由数据库实例执行的,因此,重做日志的记录工作也是由数据库实例完成的。步骤s2:重做日志接收到修改操作后,发送携带有修改操作的操作指令至数据库指定的对端数据库上的standby日志内;其中,standby日志的功能是用于接收对端数据库传来的重做日志;即standby日志的内容是对端数据库的重做日志的内容。standby日志中的对端数据库的增删改操作可以应用到自身对应的本地数据库,达到在本地数据库内同步对端数据库的数据的目的。因此,在本专利技术中,对端数据库的standby日志接收数据库的重做日志后,即可依据该重做日志将数据库的增删改操作同步至standby日志所处的对端数据库内。另外,为了保证能够将数据库的重做日志发送到对端数据库内,需要在数据库所在的数据库服务器上指定:自身重做日志传输的目的地为对端服务器的standby日志。步骤s3:对端数据库的standby日志接收到操作指令后,将操作指令中的修改操作写入对端数据库;其中,数据库与对端数据库的初始状态一致。需要注意的是,一个数据库与其对端数据库的架构也要是一致的,并且两个数据库的名称不能相同。可以理解的是,在一个系统中,每个数据库均可选择任意一个除自身以外的数据库作为对端;但是若系统内包含的数据库较多的情况下,这种随意选择的方式会导致备份非常乱,不容易进行管理,若每个数据库均随意选择的话,可能会导致有数据库同时作为多个数据库的对端,进而使该数据库压力过大。因此,可采用以下两种实施例避免上述问题:在其中一种优选实施例中,数据库成对存在,且每对数据库中的两个数据库互为彼此的对端数据库;相应的,每对数据库中的两个数据库的重做日志本文档来自技高网...

【技术保护点】
1.一种数据库高可用实现方法,用于数据库服务器,其特征在于,包括:数据库实例在读写数据库的过程中,将自身对所述数据库的修改操作记录至所述数据库对应的重做日志内;所述重做日志接收到所述修改操作后,发送携带有所述修改操作的操作指令至所述数据库指定的对端数据库上的standby日志内;所述对端数据库的standby日志接收到所述操作指令后,将所述操作指令中的所述修改操作写入所述对端数据库;其中,所述数据库与所述对端数据库的初始状态一致。

【技术特征摘要】
1.一种数据库高可用实现方法,用于数据库服务器,其特征在于,包括:数据库实例在读写数据库的过程中,将自身对所述数据库的修改操作记录至所述数据库对应的重做日志内;所述重做日志接收到所述修改操作后,发送携带有所述修改操作的操作指令至所述数据库指定的对端数据库上的standby日志内;所述对端数据库的standby日志接收到所述操作指令后,将所述操作指令中的所述修改操作写入所述对端数据库;其中,所述数据库与所述对端数据库的初始状态一致。2.根据权利要求1所述的数据库高可用实现方法,其特征在于,数据库成对存在,且每对数据库中的两个数据库互为彼此的对端数据库;相应的,每对数据库中的两个数据库的重做日志的的组数、大小以及standby日志的组数、大小分别对应相同。3.根据权利要求1所述的数据库高可用实现方法,其特征在于,所述数据库服务器包括一个数据库实例以及一个内置的数据库,所述数据库对应所述数据库服务器内包含的数据库实例。4.根据权利要求1所述的数据库高可用实现方法,其特征在于,所述数据库为共享存储组件,多个所述数据库服务器共享所述数据库,所述数据库对应多个所述数据库服务器中的数据库实例,所述重做日志与所述数据库实例一一对应。5.根据权利要求3或4所述的数据库高可用实现...

【专利技术属性】
技术研发人员:魏本帅杜彦魁
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1