同步复制环境中的自动模式切换的制作方法

文档序号:9524246阅读:195来源:国知局
同步复制环境中的自动模式切换的制作方法
【专利说明】同步复制环境中的自动模式切换
[0001] 本专利申请要求2014年6月26日递交的14 290 187. 5号欧洲申请巧P0)的申 请日的优先权益,运里通过引用并入该欧洲申请的全部内容。
【背景技术】
[0002] 关系数据库管理系统巧elationalDat油aseManagementSystem,畑Μ巧是基于 关系数据库模型的数据库管理系统。数据库管理系统可W是在用户(例如,数据库任务)与 一个或多个数据库之间提供接口的软件应用(其可在一个或多个硬件资源上执行)。RDMS 支持在数据库中存储数据、定义和操纵来自数据库的数据结构、更新数据库中的数据、删除 数据库中的数据、在数据库中插入数据、从数据库取回数据、管理数据库W及其他功能。
[0003] 畑MS是基于事务(transaction)的概念来操作的。事务是在数据库管理系统内对 数据库执行的工作单位,并且被W连贯且可靠的方式独立于其他事务来对待。事务通常结 束于COMMIT(提交)指令的发出,并且可包含一个或多个数据库改变。
[0004] RDMS系统有时W数据库复制为特征。数据库复制设及在RDMS中跨一个或多个数 据库复制事务数据W允许数据库的多个拷贝被存储在多个电子位置中。在一些示例中,运 可能是合乎希望的,W便提供分布式访问,允许用户更好地共享信息,并且提供数据库的备 份拷贝。在RDMS中从一数据库复制数据常常是通过从数据库事务日志下称为主数据 库)复制事务日志记录来实现的,运些事务日志记录是在存储在同一个数据库中的数据被 改变时写入的。数据库事务日志可包括在数据库中进行的修改(事务)的历史。

【发明内容】

[0005] 在一些示例实施例中公开的是能够基于情形和数据库任务的需要在同步和异步 复制模式之间实时切换的方法、机器(例如,数据库服务器)和机器可读介质。
[0006] 根据本公开的一个方面,一种数据库复制的方法包括:在关系数据库管理系统 (RDM巧处,利用一个或多个计算机处理器:确定第一复制模式;识别触发事件;确定所述触 发事件指示所述第一复制模式的改变;响应于确定所述触发事件指示所述第一复制模式的 改变,确定第二复制模式,所述第二复制模式是与所述第一复制模式不同的复制模式;识别 由一个或多个数据库任务作出的数据库改变;W及根据所述第二复制模式将所述数据库改 变复制到外部复制组件。
[0007] 根据本公开的另一方面,一种关系数据库管理系统(RDM巧包括:一个或多个计算 机处理器;W及复制代理,该复制代理被所述一个或多个计算机处理器执行来:确定第一 复制模式;识别触发事件;确定所述触发事件指示所述第一复制模式的改变;响应于确定 所述触发事件指示所述第一复制模式的改变,确定第二复制模式,所述第二复制模式是与 所述第一复制模式不同的复制模式;W及根据所述第二复制模式将数据库改变复制到外部 复制组件。
[0008] 根据本公开的另一方面,一种存储指令的机器可读介质,所述指令当被机器执行 时使得该机器执行操作,所述操作包括:识别触发事件;确定所述触发事件指示第一复制 模式的改变;响应于确定所述触发事件指示所述第一复制模式的改变,确定第二复制模式; 识别由一个或多个数据库任务作出的数据库改变;W及根据所述第二复制模式将所述数据 库改变复制到外部复制组件。
【附图说明】
[0009] 在不一定按比例绘制的附图中,相似的标号在不同视图中可描述相似的组件。具 有不同字母后缀的相似标号可表示相似组件的不同实例。附图概括地W示例方式而非限制 方式图示了本文档中论述的各种实施例。
[0010] 图1示出了根据一些示例实施例的从同步到异步的复制模式切换的通知序列图。
[0011] 图2示出了根据一些示例实施例的从异步到同步的复制模式切换的通知序列图。
[0012] 图3示出了根据一些示例实施例的复制代理改变复制模式的方法的流程图。
[0013] 图4示出了根据一些示例实施例的数据库任务的方法的流程图。
[0014] 图5示出了根据一些示例实施例的被复制数据库系统的示意图。
[0015] 图6是图示出一个或多个示例实施例可在其上实现的机器的示例的框图。
【具体实施方式】
[0016] 在RDMS中从一数据库复制数据常常是通过从数据库事务日志(W下称为主数据 库)复制事务日志记录来实现的,运些事务日志记录是在存储在同一个数据库中的数据被 改变时写入的。数据库事务日志可包括在数据库中进行的修改(事务)的历史。对事务日 志的改变被分发到外部复制组件,该外部复制组件然后负责将事务数据复制到其他电子位 置上的数据库的其他拷贝。外部复制组件可利用订阅(subscription)过程,在订阅过程 中,对于接收对被复制数据库的更新感兴趣的数据库服务器向该外部复制组件进行订阅。 订阅可W是对数据库的一些部分的,但在其他示例中,订阅可W是对整个数据库的。随后基 于订阅将更新推送到订阅的设备。
[0017]数据库复制可由复制模式来描述。复制模式可W是定义要如何处理复制的一个或 多个规则。示例模式可包括异步模式和同步模式。在异步模式中,数据库任务在继续进行操 作之前不会等待外部复制组件确认日志数据。在同步模式中,数据库任务将等待继续进行, 直到外部复制组件已确认了该改变为止。数据库任务可W是对数据库作出改变的任何进 程、线程或程序。在一些示例实施例中,数据库任务可W利用结构化查询语言(Struc化red 如eryLanguage,SQL)对数据库作出改变。
[0018] 同步复制的目标是确保在大事故的情况下,在主数据库上提交的数据不仅会存在 于复制的站点上,而且将会存在于盘上。如果源数据库与外部复制组件之间的通信缓慢或 者不工作,则同步复制可负面地影响数据库事务响应时间。异步复制对于数据库事务响应 时间没有任何影响,但在主数据库发生大故障的情况下,数据库拷贝可能失去同步。
[0019] 在一些示例实施例中公开的是能够基于情形和数据库任务的需要在同步和异步 复制模式之间实时切换的方法、机器(例如,数据库服务器)和机器可读介质。实施例自动 地并且在没有手动(例如,人类)干预的情况下在同步和异步复制模式之间切换。
[0020] 在一些示例实施例中,可W检测或创建能够改变数据库复制模式的一个或多个触 发事件。例如,外部复制组件与数据库服务器之间的接口可W是网络(例如,基于分组的计 算机网络)。如果网络遭遇运行中断、流量繁重或者太慢,则来自外部复制组件的确认通知 可能不被递送或者可能被晚递送到RDMS。在同步复制的情况下,等待响应的数据库任务可 能困在对运个确认的等待中。结果,一个示例触发事件可W是RDMS处的定时器的期满,该 定时器的期满可使得RDMS在其接收来自外部复制组件的确认之前唤醒数据库任务,从而 将复制模式切换到异步。
[0021]图1示出了根据本公开的一些示例的从同步复制模式到异步复制模式的复制模 式切换的实施例的示例通知序列图1000。RDMS1010可包括数据库任务1020。数据库任务 1020可W是对数据库作出改变的任何进程、线程或程序。在一些示例实施例中,数据库任 务1020可W利用结构化查询语言(SQL)对数据库作出改变。RDMS1010还可包括复制代理 1030。复制代理1030可与外部复制组件1040通信并且可负责检测对要复制的数据库的改 变。畑MS1010可包括未示出的额外模块,运些模块管理数据库、执行S化语句、管理数据库 任务1020,等等。 阳02引在图1的示例中,在1050,数据库任务1020作出数据库改变(例如,改变(A))并 且将该改变写入到事务日志1025。此时,在对图1的论述中,畑MS1010处于同步复制模式 中。复制代理1030在1060检测对事务日志的改变。复制代理1030可通过就新的日志条 目或者就对事务日志1025的待发生改变(例如,排队等待写入到事务日志1025的改变) 监视事务日志1025,来检测对数据库的改变(例如,作为操作1050的结果的改变)。在检 测到改变1050后,复制代理1030将检测到的改变与消息或通知1070 -起发送到外部复制 组件1040。
[0023] 虽然图1示出了去往/来自数据库任务1020、事务日志1025、复制代理1030化及 从复制代理1030去往/来自外部复制组件1040的线条,但要理解运种线条可W是消息,但 也可W是其他形式的通知,包括对日志文件的监视、进程间通信(例如,共享的存储器)或 者任何其他形式的信息通信。附图中描述的通知可W是基本信号(例如中断),但也可包含 更详细的信息,例如关于对数据库作出的改变的信息(例如,日志条目),等等。
[0024] 由于改变1050不包括提交指令,所W数据库任务1020即使在同步模式中也不等 待外部复制组件1040确认该改变。外部复制组件1040进行的确认可由外部复制组件1040 在外部复制组件1040接收到对改变的通知时或者当复制组件1040向其自己的事务日志的 拷贝应用改变时发送。来自外部复制组件1040的确认改变A被外部复制组件1040接收到 (或者提交)的通知在1080被递送到复制代理1030。
[0025] 在1090,数据库任务1020对数据库作出额外的改变(例如,改变度))并且将该改 变写入到事务日志1025。改变(例如,改变度))包括数据库提交指令。由于此改变包括 提交指令,所W数据库任务1020在1095进入休眠。在一些示例中,休眠包括暂停操作,直 到复制代理1030接收到来自外部复制组件1040的确认为止。一旦复制代理1030在1100 检测到第二改变(例如,改变度)),复制代理1030就在1110将该改变发送到外部复制组件 1040
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1