CN105550288A - 数据库系统的更新方法和管理系统 - Google Patents
数据库系统的更新方法和管理系统 Download PDFInfo
- Publication number
- CN105550288A CN105550288A CN201510918563.3A CN201510918563A CN105550288A CN 105550288 A CN105550288 A CN 105550288A CN 201510918563 A CN201510918563 A CN 201510918563A CN 105550288 A CN105550288 A CN 105550288A
- Authority
- CN
- China
- Prior art keywords
- database
- database systems
- systems
- mirroring system
- access request
- 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
-
- 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/23—Updating
- G06F16/2308—Concurrency control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据库系统的更新方法和管理系统。所述更新方法包括:为当前工作的第一数据库系统制作镜像数据库系统,并记录第一数据库系统的状态;根据预定的更新规则更新该镜像数据库系统;根据该更新规则,自记录的第一数据库系统的状态起将第一数据库系统中的增量数据更新至该镜像数据库系统中,其中,当第一数据库系统和该镜像数据库系统的更新进度差值小于预定阈值时,将该镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对第一数据库系统的数据库访问请求的连接,直至完成该切换过程后,继续根据该数据库访问请求对第二数据库系统进行访问。采用本发明,可使数据库在不停服的前提下进行更新,提高数据库的稳定性。
Description
技术领域
本发明涉及计算机技术,尤其涉及一种数据库系统的更新方法和管理系统。
背景技术
随着计算机技术的不断发展,各种业务类型层出不穷,而且每种业务的数据量越来越大,使得数据库越来越庞大,从而为数据库的更新和管理带来困难。
基于关系型数据库管理系统(即MySQL),在对数据库系统中的数据进行SchemaChange操作(如大表变更和/或拓扑变更等)时,为了保证数据的一致性,则需要暂停对数据库中的数据的写入操作,相应的,数据库停止对外提供服务,具体地,对于对数据库中的数据进行大表变更的情况,采用AlterTable(即锁表)命令完成,此时,数据库系统会进行锁表处理,从而进行大表变更的处理,对于拓扑变更的情况,人工设置数据库为只读状态,然后,通过人工的方式对数据进行对比修改,修改完成后,将数据库的状态设置为读写状态,从而完成拓扑变更操作。
然而,在对数据库中的数据进行变更(如大表变更和/或拓扑变更等)时,需要将数据库对外提供服务的功能暂停,如果需要变更的数据量较大,则数据库停止服务的时间会较长,从而降低了数据库的稳定性。
发明内容
本发明的目的在于,提供一种对数据库系统进行更新的技术方案,通过为当前工作的数据库系统制作镜像数据库系统完成对数据库的更新,从而使得数据库可在不停服的前提下进行更新,提高了数据库的稳定性。
根据本发明的一方面,提供一种数据库系统的更新方法。所述更新方法包括,为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态;根据预定的更新规则更新所述镜像数据库系统;根据所述更新规则,自记录的所述第一数据库系统的状态起将所述第一数据库系统中的增量数据更新至所述镜像数据库系统中,其中,当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问。
优选地,所述更新规则包括数据库的结构更新规则和数据库的拓扑更新规则当中的至少一种。
优选地,所述更新方法还包括:通过数据库代理模块接收来自客户端的数据库访问请求并且将数据库访问请求连接到当前工作的第一数据库系统或第二数据库系统。
优选地,所述将所述镜像数据库系统切换为当前工作的第二数据库系统的处理包括:通知所述数据库代理模块将数据库访问请求连接到所述镜像数据库系统。
优选地,所述将所述镜像数据库系统切换为当前工作的第二数据库系统的处理还包括:通过所述数据库代理模块将对数据库访问请求的连接切换到所述第二数据库系统,以使所述第二数据库系统对所述数据库访问请求做出响应。
优选地,所述为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态的处理包括:通过数据库即服务为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态。
根据本发明的另一方面,提供一种数据库管理系统。所述数据库管理系统包括中控模块和数据库同步模块,其中:所述中控模块用于为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态,用于控制所述数据库同步模块执行数据库更新,并且用于当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问;所述数据库同步模块用于根据预定的更新规则更新所述镜像数据库系统,并且自所述中控模块记录的所述第一数据库系统的状态起将所述第一数据库系统中的增量数据更新至所述镜像数据库系统中。
优选地,所述更新规则包括数据库的结构更新规则和数据库的拓扑更新规则当中的至少一种。
优选地,所述数据库管理系统还包括:数据库代理模块,用于接收来自客户端的数据库访问请求并且将数据库访问请求连接到当前工作的第一数据库系统或第二数据库系统。
优选地,所述中控模块用于通知所述数据库代理模块将数据库访问请求连接到所述镜像数据库系统,以将所述镜像数据库系统切换为当前工作的第二数据库系统。
优选地,所述数据库代理模块还用于在所述中控模块的控制下,将对数据库访问请求的连接切换到所述第二数据库系统,以使所述第二数据库系统对所述数据库访问请求做出响应。
优选地,所述中控模块用于通过数据库即服务为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态。
根据本发明实施例提供的数据库系统的更新方法和管理系统,通过为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态;根据预定的更新规则更新所述镜像数据库系统;并将自记录的状态起所述第一数据库系统中的增量数据更新至所述镜像数据库系统中,并当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问,从而使得数据库系统可在不停服的前提下进行更新,提高了数据库的稳定性。
附图说明
图1是示出根据本发明实施例一的数据库系统的更新方法的流程图;
图2是示出根据本发明实施例二的数据库系统的更新方法的流程图;
图3是本发明实施例提供的一种数据库系统的架构的示例性示意图;
图4是示出根据本发明实施例三的数据库管理系统的逻辑框图;
图5是示出根据本发明实施例三的数据库管理系统的逻辑框图。
具体实施方式
本方案的发明构思是,本发明的技术方案可应用于关系型数据库管理系统(即MySQL)中,通过为当前工作的第一数据库系统制作镜像数据库系统,根据包括第一数据库系统中数据和第一数据库系统的状态等数据更新镜像数据库系统,并将第一数据库系统中自记录第一数据库系统的状态起的增量数据更新至镜像数据库系统中,将镜像数据库系统切换为当前工作的数据库系统,从而使得数据库系统可在不停服的前提下进行更新,提高了数据库的稳定性。
下面结合附图详细描述本发明的示例性实施例。
实施例一
图1是示出根据本发明实施例一的数据库系统的更新方法的流程图。通过包括如图4所示的数据库管理系统执行所述更新方法。
参照图1,在步骤S110,为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态。
其中,第一数据库系统可为基于某应用程序或数据库开发工具创建的数据库系统。第一数据库的状态可包括数据的一致性状态、数据的健康状态等。
具体地,在关系型数据库管理系统中存在相应管理应用程序,当用户需要对当前数据库中的数据进行变更时,尤其是进行如大表变更(即schema变更)和拓扑变更(即topology变更)等大型SchemaChange操作时,为了不中断数据库的对外服务,可对当前数据库系统(即第一数据库系统)进行镜像,得到镜像数据库系统,此时,第一数据库系统继续对外提供相应的服务,所述镜像数据库系统不对外提供服务,为了方便后续对镜像数据库系统中的各数据所处的状态进行更新,可实时记录第一数据库系统中各数据当前所处的状态。
在步骤S120,根据预定的更新规则更新所述镜像数据库系统。
其中,更新规则可根据实际情况进行设定,例如设定数据更新的先后顺序得到的更新规则。
具体地,获取第一数据库系统中的数据和记录的第一数据库系统的状态,将上述信息根据预定的更新规则对所述镜像数据库系统进行更新,得到更新后的镜像数据库系统,此时,更新后的镜像数据库系统中的数据与记录的第一数据库系统的状态时第一数据库系统中的数据相同,而且,两者包括的各数据所处的状态相同。
在步骤S130,根据所述更新规则,自记录的所述第一数据库系统的状态起将所述第一数据库系统中的增量数据更新至所述镜像数据库系统中,其中,当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问。
其中,预定阈值可根据实际情况设定,例如预定阈值可为5秒或10秒等。
具体地,通常,更新所述镜像数据库系统的时长较长,在更新所述镜像数据库系统的同时,第一数据库系统仍然对外提供服务,因此镜像数据库系统更新完成后,第一数据库系统和所述镜像数据库系统中的数据是不同的,为了将两数据库系统中的数据达到一致,可获取记录第一数据库系统的状态的开始时间和当前的时间,从第一数据库系统中提取开始时间到当前时间的时间间隔内增加或修改的数据(即增量数据),根据所述预定的更新规则将提取出的数据转移到所述镜像数据库系统中。由于第一数据库系统实时对外提供服务,第一数据库系统的状态和数据结构等实时变化,因此,向所述镜像数据库系统中更新第一数据库系统中的增量数据时,两数据库系统很难达到完全一致,这样可预先设置更新进度的阈值(即预定阈值),在进行上述更新的过程中,当第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,停止第一数据库对外提供的服务,并将新接收的数据在数据库代理模块中排队,当第一数据库系统中的增量数据被更新到镜像数据库系统,而且,将记录的所述第一数据库系统的状态更新到镜像数据库系统后,可将所述镜像数据库系统作为第二数据库系统,并停止第一数据库系统对外提供的服务,转由所述第二数据库系统对外提供服务。
需要说明的是,在执行上述处理的过程中,如果用户的终端设备向第一数据库系统请求访问其数据库,则可继续保持对数据库访问请求的连接,但不对所述数据库访问请求做出响应,直到所述镜像数据库系统与当前工作的第二数据库系统切换完成,然后再继续根据所述数据库访问请求对所述第二数据库系统进行访问。
本发明实施例提供的数据库系统的更新方法,通过为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态;根据预定的更新规则更新所述镜像数据库系统;并将自记录的状态起所述第一数据库系统中的增量数据更新至所述镜像数据库系统中,并当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问,从而使得数据库系统可在不停服的前提下进行更新,提高了数据库的稳定性。
实施例二
图2是示出根据本发明实施例二的数据库系统的更新方法的流程图,所述实施例可视为图1的又一种具体的实现方案。本实施例可基于关系型数据库管理系统(即MySQL)对数据库系统的更新方法的技术方案进行详细说明。
参照图2,在步骤S210,通过数据库即服务为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态。
其中,数据库即服务可为DBaas(DataBase-as-a-Service),可用于向用户提供灵活性较高、可扩展性强、按需提供服务的平台,数据库即服务可以自助服务和便捷管理为导向,可以对环境中的资源进行调配。
具体地,数据库系统中可设置有控制台,负责启动或终止资源调配和切换过程,控制台可通过与其相应的web页面相匹配,可使得通过人工操作的方式从外部控制整个系统的运转。当用户需要对当前工作的第一数据库系统中的数据进行变更时,尤其是进行如大表变更(即schema变更)和拓扑变更(即topology变更)等大型SchemaChange操作时,可通过与控制台相匹配的web页面发起OSC操作请求,控制台接收到OSC请求消息后,可调用数据库即服务从资源池申请资源自动搭建数据库实例,然后,可从当前工作的第一数据库系统中获取需要的数据,使用第一数据库系统中的数据制作镜像数据,将得到的镜像数据存储到搭建的数据库中。同时,可记录第一数据库系统中各数据所处的状态,便于后续数据库系统能够顺利完成切换,相应的处理可参见上述实施例一中步骤S110。
需要说明的是,本发明实施例中,OSC并非传统意义上的OSC,而是异步的OSC,这样,镜像数据库系统中的OSC操作是通过异步完成,此时,即使第一数据库系统或镜像数据库系统进行了锁表处理,也不会对OSC操作产生任何影响。
在步骤S220,根据预定的更新规则更新所述镜像数据库系统。
其中,所述更新规则包括数据库的结构更新规则和数据库的拓扑更新规则当中的至少一种。数据库的结构更新规则可用于对数据库中现有的数据结构进行更新,例如,数据库中的表、视图、记录、字段、索引等数据结构进行更新等,如数据库系统中包含一个两列的表格,两列可分别用于表示“学号”和“姓名”,可对该两列的表格增加一列,用于表示“地址”,这样,数据库系统中原有的两列的表格的结构发生了变化,在进行数据库的结构更新时,可根据结构更新规则对数据库系统进行更新。数据库的拓扑更新规则可用于对与数据库相关的其它数据库的主从关系进行更新。
具体地,可获取第一数据库系统中的结构数据和拓扑数据等,可将所述结构数据通过结构更新规则更新到所述镜像数据库系统中,并可将所述拓扑数据通过拓扑更新规则更新到所述镜像数据库系统中。
需要说明的是,更新规则除了包括结构更新规则和拓扑更新规则外,还可包括其他更新规则,例如,共享数据更新规则等。
在步骤S230,根据所述更新规则,自记录的所述第一数据库系统的状态起将所述第一数据库系统中的增量数据更新至所述镜像数据库系统中,其中,当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问。
具体地,当镜像数据库系统完成由预定的更新规则更新数据库后,可启动增量数据更新处理,即将自记录的所述第一数据库系统的状态起第一数据库系统中的增量数据存储到所述镜像数据库系统中,并实时监测第一数据库系统和所述镜像数据库系统的更新进度,同时检测数据库并发,当两者均极小(即第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值)时,数据库系统执行无损流切处理,相应的处理可包括:可保持对数据库访问请求的连接,而不对所述数据库访问请求做出响应,利用binlog(用于使其能够最大可能地更新数据库,并在主服务器上记录所有将发送给从服务器的命令语句)序列化,在数据库代理模块探测数据库连接空闲后,写入标签(即TAG)以标记增量数据更新结束,当数据库系统检测到上述标签(即TAG)后可确定数据已完成更新,此时可向发送完成流量切换的通知消息,同时,启动计时器记录上述切换时长,如果所述切换时长超过预定时长,则计时器重置,并重新发起上述切换处理。当接收到完成流量切换的通知消息时,数据库系统执行秒级阻塞,当第一数据库系统中的数据和镜像数据库系统中的数据达到一致时,自动将流量从第一数据库系统切换到镜像数据库系统,并将第一数据库系统回收到资源池中,此时,镜像数据库系统对外提供服务。
需要说明的是,在进行上述同步更新的处理的过程中还可通过DBaas完成,具体处理过程可参见上述步骤S220和步骤S230,在此不再赘述。
另外,在上述步骤S230的更新处理的过程中,可通过数据库代理模块接收来自客户端的数据库访问请求并且将数据库访问请求连接到当前工作的第一数据库系统或第二数据库系统。
其中,数据库代理模块可用于接收来自客户端的数据库访问请求,并将所述数据库访问请求转发给相应的数据库系统,并为相应的业务系统提供需要访问的数据库。
具体地,用户使用的客户端可为用户访问数据库系统的应用程序,也可为终端设备(如手机或平板电脑等)。如果用户需要访问当前数据库系统(即第一数据库系统)中数据,或者需要对第一数据库系统中的数据进行变更,则可通过其使用的客户端和第一数据库系统的网络地址,向数据库代理模块发送数据库访问请求,并将所述数据库访问请求发送给当前正在工作的第一数据库系统。
第一数据库系统可将相应的数据库的数据通过数据库代理模块发送给用户使用的客户端,相应的业务系统可通过数据库代理模块访问第一数据库系统。其中,还可将所述数据库访问请求发送给第二数据库系统。
这样,通过上述方式,可在最合适的阶段发起数据库切换过程,并使用最快的方法确认数据库切换完成,使得切换过程的时长尽可能短。同时,整个数据库切换过程通过内置状态机自动完成,避免人工操作的低效,保证切换过程的时长尽可能短。而且,在数据库切换过程中一旦发生切换故障,或者切换时间长超出预定阈值,可重置各模块的状态放弃数据库切换,以便第一数据库系统继续对外提供服务,进而严格有效的限制了数据库访问请求的不响应时长。
在步骤S240,通知所述数据库代理模块将数据库访问请求连接到所述镜像数据库系统。
具体地,当停止第一数据库系统的对外服务功能,同时启动镜像数据库系统(即第二数据库系统)替代所述第一数据库系统对外提供服务后,第二数据库系统可向所述数据库代理模块发送通知消息,以通知所述数据库代理模块当前提供对外服务的数据库系统为第二数据库系统。
在步骤S250,通过所述数据库代理模块将对数据库访问请求的连接切换到所述第二数据库系统,以使所述第二数据库系统对所述数据库访问请求做出响应。
具体地,当当前工作的第一数据库系统切换到镜像数据库系统(即第二数据库系统)后,可将所述数据库代理模块对用户的客户端发送的数据库访问请求的连接切换到所述第二数据库系统。如果所述数据库代理模块接收到用户的客户端发送的数据库访问请求时,所述数据库代理模块可将所述数据库访问请求发送给第二数据库系统,第二数据库系统可根据所述数据库访问请求生成相应的数据库访问响应发送给用户的客户端。
为了更好的说明上述步骤S210~步骤S250的处理,图3为本发明实施例提供的一种数据库系统的架构的示例性示意图。参照图3,数据库系统中可包括数据库代理模块、第一数据库系统、镜像数据库系统、状态记录模块(或状态机)、中控模块、数据库同步模块、数据库即服务和资源池。其中,数据库代理模块负责转发数据库访问请求,并且为各业务系统提供待访问的数据库。状态记录模块用于存储和维护当前工作的数据库系统与镜像数据库系统之间的切换状态,并负责通知其它模块上述切换状态。中控模块可用于控制第一数据库系统与镜像数据库系统之间的切换过程,控制数据库同步模块对第一数据库系统和镜像数据库系统进行数据同步,控制上述切换过程的发生时间,并控制上述切换过程中的异常情况的处理。控制台可便于用户从外围对数据库系统的运行进行控制,并负责启动或终止资源调配和上述切换过程。数据库即服务可为基于虚拟化技术的数据库系统,其负责资源的分配和环境的搭建。
当用户需要对数据库中的数据进行变更(尤其是schema变更和topology变更)时,可通过终端设备开启数据库管理页面,用户可在该数据库管理页面中输入需要变更的数据,输入完成后,可点击确定按键,终端设备向所述控制台发送OSC操作请求,控制台接收到所述OSC操作请求后,可调用数据库即服务从资源池中申请相应的资源,并自动搭建数据库实例,从而得到镜像数据库系统。数据库同步模块获取第一数据库系统中的数据,并将获取到的数据存储到镜像数据库系统中。
另一方面,用户可通过终端设备实时向相应的数据库代理模块请求访问数据库,数据库代理模块接收到请求访问数据库的数据库访问请求后,可将所述数据库访问请求发送给当前工作的数据库,当前工作的数据库可继续保持对数据库访问请求的连接。数据库同步模块监测当前工作的数据库系统的状态,同时,数据库同步模块还可从状态记录模块中获取最新的数据库系统的状态信息。状态记录模块可通过数据库代理模块、中控模块和数据库同步模块获取第一数据库系统的状态和第一数据库系统与镜像数据库系统之间的切换状态等。数据库同步模块将自记录的所述第一数据库系统的状态起将所述第一数据库系统中的增量数据更新至所述镜像数据库系统中。当数据即将完成向镜像数据库系统中存储的处理时,检测自记录的所述第一数据库系统的状态起第一数据库系统中的增量数据,同时检测数据库并发,当两者均极小(即第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值)时,保持对数据库访问请求的连接,而不对所述数据库访问请求做出响应,同时数据库系统执行秒级阻塞待第一数据库系统与镜像数据库系统中的数据达到一致,数据库系统执行无损流切,将镜像数据库系统设置为当前工作的数据库系统,并将第一数据库系统回收到资源池中。
本发明实施例提供的数据库系统的更新方法,一方面,通过自动化无损异步OSC方法完成数据库系统的更新,使得在数据库系统更新的过程中不会受到数据库系统的锁表处理的影响,而且在数据库更新的过程中不会对数据库中的数据造成损耗,从而使得数据库系统可在不停服的前提下顺利完成更新,进一步地,可基于数据库即服务为当前工作的第一数据库系统制作镜像数据库系统的处理方式,对当前工作的第一数据库系统制作更多的镜像数据库系统,以将其应用于扩展出的服务器中,从而提高数据库系统的可扩展性,而且在上述过程中不需要对当前工作的第一数据库系统进行停服处理,提高了数据库的稳定性;另一方面,通过标签(即TAG)的方式对第一数据库系统和镜像数据库系统中的数据进行一致性校验,使得数据库更新的过程可靠性强,提高了数据库的更新效率。
实施例三
基于相同的技术构思,图4是示出根据本发明实施例三的数据库管理系统的逻辑框图。参照图4,所述数据库管理系统包括中控模块410和数据库同步模块420。
中控模块410用于为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态,用于控制数据库同步模块420执行数据库更新,并且用于当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问。
数据库同步模块420用于根据预定的更新规则更新所述镜像数据库系统,并且自中控模块410记录的所述第一数据库系统的状态起将所述第一数据库系统中的增量数据更新至所述镜像数据库系统中。
另外,所述更新规则包括数据库的结构更新规则和数据库的拓扑更新规则当中的至少一种。
进一步地,在图4所示实施例的基础上,如图5所示的数据库管理系统还包括:数据库代理模块430,用于接收来自客户端的数据库访问请求并且将数据库访问请求连接到当前工作的第一数据库系统或第二数据库系统。
此外,中控模块410用于通知所述数据库代理模块将数据库访问请求连接到所述镜像数据库系统,以将所述镜像数据库系统切换为当前工作的第二数据库系统。
此外,数据库代理模块430还用于在中控模块410的控制下,将对数据库访问请求的连接切换到所述第二数据库系统,以使所述第二数据库系统对所述数据库访问请求做出响应。
此外,中控模块410用于通过数据库即服务为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态。
本发明实施例提供的数据库管理系统,通过为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态;根据预定的更新规则更新所述镜像数据库系统;并将自记录的状态起所述第一数据库系统中的增量数据更新至所述镜像数据库系统中,并当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问,从而使得数据库系统可在不停服的前提下进行更新,提高了数据库的稳定性。
进一步地,本发明实施例中,一方面,通过自动化无损异步OSC方法完成数据库系统的更新,使得在数据库系统更新的过程中不会受到数据库系统的锁表处理的影响,而且在数据库更新的过程中不会对数据库中的数据造成损耗,从而使得数据库系统可在不停服的前提下顺利完成更新,进一步地,可基于数据库即服务为当前工作的第一数据库系统制作镜像数据库系统的处理方式,对当前工作的第一数据库系统制作更多的镜像数据库系统,以将其应用于扩展出的服务器中,从而提高数据库系统的可扩展性,而且在上述过程中不需要对当前工作的第一数据库系统进行停服处理,提高了数据库的稳定性;另一方面,通过标签(即TAG)的方式对第一数据库系统和镜像数据库系统中的数据进行一致性校验,使得数据库更新的过程可靠性强,提高了数据库的更新效率。
需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CDROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种数据库系统的更新方法,其特征在于,所述更新方法包括:
为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态;
根据预定的更新规则更新所述镜像数据库系统;
根据所述更新规则,自记录的所述第一数据库系统的状态起将所述第一数据库系统中的增量数据更新至所述镜像数据库系统中,其中,当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问。
2.根据权利要求1所述的更新方法,其特征在于,所述更新规则包括数据库的结构更新规则和数据库的拓扑更新规则当中的至少一种。
3.根据权利要求1或2所述的更新方法,其特征在于,所述更新方法还包括:
通过数据库代理模块接收来自客户端的数据库访问请求并且将数据库访问请求连接到当前工作的第一数据库系统或第二数据库系统。
4.根据权利要求3所述的更新方法,其特征在于,所述将所述镜像数据库系统切换为当前工作的第二数据库系统的处理包括:
通知所述数据库代理模块将数据库访问请求连接到所述镜像数据库系统。
5.根据权利要求4所述的更新方法,其特征在于,所述将所述镜像数据库系统切换为当前工作的第二数据库系统的处理还包括:
通过所述数据库代理模块将对数据库访问请求的连接切换到所述第二数据库系统,以使所述第二数据库系统对所述数据库访问请求做出响应。
6.根据权利要求1所述的更新方法,其特征在于,所述为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态的处理包括:通过数据库即服务为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态。
7.一种数据库管理系统,其特征在于,所述数据库管理系统包括中控模块和数据库同步模块,其中:
所述中控模块用于为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态,用于控制所述数据库同步模块执行数据库更新,并且用于当所述第一数据库系统和所述镜像数据库系统的更新进度差值小于预定阈值时,将所述镜像数据库系统切换为当前工作的第二数据库系统,在切换过程中保持对所述第一数据库系统的数据库访问请求的连接,直至完成所述切换过程后,继续根据所述数据库访问请求对所述第二数据库系统进行访问;
所述数据库同步模块用于根据预定的更新规则更新所述镜像数据库系统,并且自所述中控模块记录的所述第一数据库系统的状态起将所述第一数据库系统中的增量数据更新至所述镜像数据库系统中。
8.根据权利要求7所述的数据库管理系统,其特征在于,所述更新规则包括数据库的结构更新规则和数据库的拓扑更新规则当中的至少一种。
9.根据权利要求7或8所述的数据库管理系统,其特征在于,所述数据库管理系统还包括:
数据库代理模块,用于接收来自客户端的数据库访问请求并且将数据库访问请求连接到当前工作的第一数据库系统或第二数据库系统。
10.根据权利要求9所述的数据库管理系统,其特征在于,所述中控模块用于通知所述数据库代理模块将数据库访问请求连接到所述镜像数据库系统,以将所述镜像数据库系统切换为当前工作的第二数据库系统。
11.根据权利要求10所述的数据库管理系统,其特征在于,所述数据库代理模块还用于在所述中控模块的控制下,将对数据库访问请求的连接切换到所述第二数据库系统,以使所述第二数据库系统对所述数据库访问请求做出响应。
12.根据权利要求7所述的数据库管理系统,其特征在于,所述中控模块用于通过数据库即服务为当前工作的第一数据库系统制作镜像数据库系统,并记录所述第一数据库系统的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510918563.3A CN105550288B (zh) | 2015-12-10 | 2015-12-10 | 数据库系统的更新方法和管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510918563.3A CN105550288B (zh) | 2015-12-10 | 2015-12-10 | 数据库系统的更新方法和管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105550288A true CN105550288A (zh) | 2016-05-04 |
CN105550288B CN105550288B (zh) | 2019-07-02 |
Family
ID=55829477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510918563.3A Active CN105550288B (zh) | 2015-12-10 | 2015-12-10 | 数据库系统的更新方法和管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105550288B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106611062A (zh) * | 2016-12-29 | 2017-05-03 | 北京奇虎科技有限公司 | 数据库更新方法及装置 |
CN107644030A (zh) * | 2016-07-20 | 2018-01-30 | 华为技术有限公司 | 分布式数据库数据同步方法、相关装置及系统 |
CN108694189A (zh) * | 2017-04-07 | 2018-10-23 | 微软技术许可有限责任公司 | 共同所有权的数据库系统的管理 |
CN109308323A (zh) * | 2018-12-07 | 2019-02-05 | 中国科学院长春光学精密机械与物理研究所 | 一种因果关系知识库的构建方法、装置及设备 |
CN109614398A (zh) * | 2018-11-02 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 数据库中表结构的变更方法及装置 |
CN109614660A (zh) * | 2018-11-16 | 2019-04-12 | 国网宁夏电力有限公司电力科学研究院 | 智能变电站二次设备评估体系的构建方法及装置 |
CN109656933A (zh) * | 2018-11-14 | 2019-04-19 | 许昌许继软件技术有限公司 | 用于配网主站系统的实时库模型在线更新方法与装置 |
CN110297859A (zh) * | 2019-06-10 | 2019-10-01 | 恩亿科(北京)数据科技有限公司 | 处理实时数据的方法和装置 |
CN111026805A (zh) * | 2019-11-08 | 2020-04-17 | 许昌许继软件技术有限公司 | 一种变电站主站系统及遥测数据跨区传输方法 |
CN111198911A (zh) * | 2018-11-19 | 2020-05-26 | 珠海格力电器股份有限公司 | 一种数据提取增量区间的获取方法、数据提取方法 |
CN111294410A (zh) * | 2020-05-11 | 2020-06-16 | 杭州朗澈科技有限公司 | 一种本地镜像上传多地域私有镜像仓库的方法 |
CN111783141A (zh) * | 2020-07-02 | 2020-10-16 | 深圳市腾盟技术有限公司 | 基于区块链的数据存储方法、装置、设备及存储介质 |
CN112463132A (zh) * | 2020-11-13 | 2021-03-09 | 四川新网银行股份有限公司 | 一种数据库切换工具及切换方法 |
CN113312395A (zh) * | 2021-06-23 | 2021-08-27 | 中国农业银行股份有限公司 | 数据访问方法及设备 |
CN113518984A (zh) * | 2019-03-04 | 2021-10-19 | 华为技术有限公司 | 数据库更新 |
CN113821525A (zh) * | 2021-11-24 | 2021-12-21 | 北京金堤科技有限公司 | 数据更新系统和方法、以及存储介质和电子设备 |
CN115114260A (zh) * | 2021-08-24 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629268A (zh) * | 2012-03-09 | 2012-08-08 | 华为技术有限公司 | 数据同步方法、系统及数据访问装置 |
US20130304722A1 (en) * | 2004-11-05 | 2013-11-14 | International Business Machines Corporation | Range query methods and apparatus |
-
2015
- 2015-12-10 CN CN201510918563.3A patent/CN105550288B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130304722A1 (en) * | 2004-11-05 | 2013-11-14 | International Business Machines Corporation | Range query methods and apparatus |
CN102629268A (zh) * | 2012-03-09 | 2012-08-08 | 华为技术有限公司 | 数据同步方法、系统及数据访问装置 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107644030B (zh) * | 2016-07-20 | 2021-05-18 | 华为技术有限公司 | 分布式数据库数据同步方法、相关装置及系统 |
CN107644030A (zh) * | 2016-07-20 | 2018-01-30 | 华为技术有限公司 | 分布式数据库数据同步方法、相关装置及系统 |
CN106611062A (zh) * | 2016-12-29 | 2017-05-03 | 北京奇虎科技有限公司 | 数据库更新方法及装置 |
CN108694189A (zh) * | 2017-04-07 | 2018-10-23 | 微软技术许可有限责任公司 | 共同所有权的数据库系统的管理 |
CN108694189B (zh) * | 2017-04-07 | 2022-01-21 | 微软技术许可有限责任公司 | 共同所有权的数据库系统的管理 |
CN109614398A (zh) * | 2018-11-02 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 数据库中表结构的变更方法及装置 |
CN109656933A (zh) * | 2018-11-14 | 2019-04-19 | 许昌许继软件技术有限公司 | 用于配网主站系统的实时库模型在线更新方法与装置 |
CN109614660A (zh) * | 2018-11-16 | 2019-04-12 | 国网宁夏电力有限公司电力科学研究院 | 智能变电站二次设备评估体系的构建方法及装置 |
CN111198911A (zh) * | 2018-11-19 | 2020-05-26 | 珠海格力电器股份有限公司 | 一种数据提取增量区间的获取方法、数据提取方法 |
CN109308323A (zh) * | 2018-12-07 | 2019-02-05 | 中国科学院长春光学精密机械与物理研究所 | 一种因果关系知识库的构建方法、装置及设备 |
CN113518984A (zh) * | 2019-03-04 | 2021-10-19 | 华为技术有限公司 | 数据库更新 |
CN110297859A (zh) * | 2019-06-10 | 2019-10-01 | 恩亿科(北京)数据科技有限公司 | 处理实时数据的方法和装置 |
CN111026805A (zh) * | 2019-11-08 | 2020-04-17 | 许昌许继软件技术有限公司 | 一种变电站主站系统及遥测数据跨区传输方法 |
CN111294410A (zh) * | 2020-05-11 | 2020-06-16 | 杭州朗澈科技有限公司 | 一种本地镜像上传多地域私有镜像仓库的方法 |
CN111294410B (zh) * | 2020-05-11 | 2020-08-14 | 杭州朗澈科技有限公司 | 一种本地镜像文件上传多地域私有镜像仓库的方法 |
CN111783141B (zh) * | 2020-07-02 | 2021-08-06 | 深圳市腾盟技术有限公司 | 基于区块链的数据存储方法、装置、设备及存储介质 |
CN111783141A (zh) * | 2020-07-02 | 2020-10-16 | 深圳市腾盟技术有限公司 | 基于区块链的数据存储方法、装置、设备及存储介质 |
CN112463132A (zh) * | 2020-11-13 | 2021-03-09 | 四川新网银行股份有限公司 | 一种数据库切换工具及切换方法 |
CN112463132B (zh) * | 2020-11-13 | 2023-06-06 | 四川新网银行股份有限公司 | 一种数据库切换工具及切换方法 |
CN113312395A (zh) * | 2021-06-23 | 2021-08-27 | 中国农业银行股份有限公司 | 数据访问方法及设备 |
CN115114260A (zh) * | 2021-08-24 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113821525A (zh) * | 2021-11-24 | 2021-12-21 | 北京金堤科技有限公司 | 数据更新系统和方法、以及存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105550288B (zh) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105550288A (zh) | 数据库系统的更新方法和管理系统 | |
EP3493471B1 (en) | Data disaster recovery method, apparatus and system | |
US7610511B2 (en) | Journal migration method and data recovery management method | |
US9207929B2 (en) | Integrated system and firmware update method | |
JP4467624B2 (ja) | ソフトウェアアップデート管理プログラム、ソフトウェアアップデート管理装置、およびソフトウェアアップデート管理方法 | |
CN108153849B (zh) | 一种数据库表切分方法、装置、系统和介质 | |
US20130198730A1 (en) | Update systems responsive to ongoing processing at a storage system | |
US10747777B2 (en) | Computer system and transaction processing management method | |
CN109886693B (zh) | 区块链系统的共识实现方法、装置、设备和介质 | |
CN104965879A (zh) | 修改数据表的表结构的方法及装置 | |
CN108205560B (zh) | 一种数据同步方法以及装置 | |
JP6905161B2 (ja) | マスタおよびスタンバイデータベースのための管理方法、システム、およびデバイス | |
US10048978B2 (en) | Apparatus and method for identifying a virtual machine having changeable settings | |
US11281550B2 (en) | Disaster recovery specific configurations, management, and application | |
JP5352027B2 (ja) | 計算機システムの管理方法及び管理装置 | |
CN111274192A (zh) | 一种多bmc管理系统及刀片服务器 | |
CN106708541A (zh) | 版本升级处理方法及装置 | |
CN110569231B (zh) | 数据迁移方法、装置、设备和介质 | |
CN112925770A (zh) | 一种数据库扩容方法、装置、设备和介质 | |
JP2007264770A (ja) | データベースアクセス方法及び装置 | |
JP2020095322A (ja) | 分散ファイル装置、フェイルオーバ方法、プログラム及び記録媒体 | |
JP7191493B2 (ja) | スケジュール設定されたアンチエントロピー修復の設計のための技法 | |
WO2024000535A1 (zh) | 分区表更新方法、装置、电子设备及存储介质 | |
JP6557197B2 (ja) | 分散dbシステム、db装置、および、サービス再開方法 | |
CN117520053A (zh) | 一种基于主备复制协议的数据库系统管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |