日志回放方法及装置.pdf
《日志回放方法及装置.pdf》由会员分享,可在线阅读,更多相关《日志回放方法及装置.pdf(23页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010076416.7 (22)申请日 2020.01.23 (71)申请人 阿里巴巴集团控股有限公司 地址 英属开曼群岛大开曼资本大厦一座四 层847号邮箱 (72)发明人 王蕾 (74)专利代理机构 北京清源汇知识产权代理事 务所(特殊普通合伙) 11644 代理人 冯德魁窦晓慧 (51)Int.Cl. G06F 16/27(2019.01) G06F 16/23(2019.01) (54)发明名称 一种日志回放方法及装置 (57)摘要 本申请公开了一种日志回放方法, 。
2、包括: 获 取待更新数据页的数据页标识信息; 根据所述待 更新数据页的数据页标识信息, 从日志索引数据 中, 获得目标日志位置信息, 其中, 所述日志索引 数据用于描述数据页标识信息与日志位置信息 的对应关系; 根据所述目标日志位置信息, 确定 与所述待更新数据页对应的目标日志数据; 通过 回放所述目标日志数据, 更新所述待更新数据 页。 所述方法在获取到待更新数据页的数据页标 识信息之后, 通过获得与该数据页标识信息对应 的目标日志位置信息, 并根据该目标日志位置信 息, 确定与待更新数据页对应的目标日志数据, 从而有针对性的回放与待更新数据页对应的目 标日志数据, 以更新待更新数据页, 可。
3、以增加日 志回放的速度。 权利要求书3页 说明书14页 附图5页 CN 111324665 A 2020.06.23 CN 111324665 A 1.一种日志回放方法, 其特征在于, 包括: 获取待更新数据页的数据页标识信息; 根据所述待更新数据页的数据页标识信息, 从日志索引数据中, 获得目标日志位置信 息, 其中, 所述日志索引数据用于描述数据页标识信息与日志位置信息的对应关系; 根据所述目标日志位置信息, 确定与所述待更新数据页对应的目标日志数据; 通过回放所述目标日志数据, 更新所述待更新数据页。 2.根据权利要求1所述的日志回放方法, 其特征在于, 包括: 根据待重做日志数据的元数。
4、据信息, 判断缓存区中既存的数据页是否需要更新; 如果所述缓存区中所述既存的数据页中, 存在需要更新的数据页, 则在所述缓存区中, 将所述需要更新的数据页对应的可用状态标识置为不可用状态。 3.根据权利要求2所述的日志回放方法, 其特征在于, 还包括: 如果所述缓存区中所述既存的数据页中, 不存在需要更新的数据页, 则生成与所述待 重做日志数据的元数据信息对应的日志索引数据。 4.根据权利要求2所述的日志回放方法, 其特征在于, 所述获取待更新数据页的数据页 标识信息, 包括: 如果获取到针对数据页的事务访问请求, 则根据所述数据页对应的可用状态标识查询 所述数据页是否可用, 若所述数据页对应。
5、的可用状态标识为不可用状态, 则将所述数据页 作为所述待更新数据页, 并获取所述待更新数据页的数据页标识信息。 5.根据权利要求2所述的日志回放方法, 其特征在于, 所述将所述需要更新的数据页对 应的可用状态标识置为不可用状态, 包括: 通过并行或串行方式将所述需要更新的数据页对应的可用状态标识置为不可用状态。 6.根据权利要求1所述的日志回放方法, 其特征在于, 所述获取待更新数据页的数据页 标识信息, 包括: 获取客户端发送的事务访问请求消息; 从所述事务访问请求消息中, 获得请求访问的数据页的标识信息; 根据待重做日志数据的元数据信息, 判断所述请求访问的数据页是否需要更新, 如果 需要。
6、更新, 则将所述请求访问的数据页作为所述待更新数据页, 并获取所述待更新数据页 的数据页标识信息。 7.根据权利要求1所述的日志回放方法, 其特征在于, 所述日志索引数据通过下述方法 获得: 获得主数据库生成的重做日志数据的元数据信息; 从所述元数据信息中, 获得至少一个数据页的数据页标识信息, 以及获得与所述数据 页对应的日志数据在所述待重做日志数据中的日志位置信息; 建立所述数据页标识信息与所述日志位置信息的对应关系, 获得所述日志索引数据。 8.根据权利要求7所述的日志回放方法, 其特征在于, 还包括: 存储所述日志索引数据。 9.根据权利要求8所述的日志回放方法, 其特征在于, 包括:。
7、 获得用于标识所述日志索引数据的标识信息; 根据所述标识信息, 更新与日志索引数据相关联的元数据信息。 权利要求书 1/3 页 2 CN 111324665 A 2 10.根据权利要求8所述的日志回放方法, 其特征在于, 还包括: 生成与所述日志索引数据对应的过滤器, 其中, 所述过滤器用于增加针对日志索引数 据的检索速度。 11.根据权利要求1所述的日志回放方法, 其特征在于, 包括: 如果缓存区中不包括所述待更新数据页, 则在执行所述通过回放所述目标日志数据, 更新所述待更新数据页的步骤之前, 先从共享存储中读取所述数据页到所述缓存区。 12.根据权利要求11所述的日志回放方法, 其特征在。
8、于, 还包括: 如果所述待更新数据页是与客户端请求访问的数据页对应的数据页, 并且所述缓存区 中不包括所述待更新数据页, 则在执行所述通过回放所述目标日志数据, 更新所述待更新 数据页的步骤之前, 先从共享存储中读取所述数据页到所述缓存区。 13.一种日志索引数据的获得方法, 其特征在于, 包括: 获得主数据库生成的重做日志数据的元数据信息; 从所述元数据信息中, 获得至少一个数据页的数据页标识信息, 以及获得与所述数据 页对应的日志数据在所述重做日志数据中的日志位置信息; 建立所述数据页标识信息与所述日志位置信息的对应关系, 获得所述日志索引数据。 14.一种日志回放装置, 其特征在于, 包。
9、括: 数据页标识信息获取单元, 用于获取待更新数据页的数据页标识信息; 目标日志位置信息获得单元, 用于根据所述待更新数据页的数据页标识信息, 从日志 索引数据中, 获得目标日志位置信息, 其中, 所述日志索引数据用于描述数据页标识信息与 日志位置信息的对应关系; 目标日志数据确定单元, 用于根据所述目标日志位置信息, 确定与所述待更新数据页 对应的目标日志数据; 回放单元, 用于通过回放所述目标日志数据, 更新所述待更新数据页。 15.一种电子设备, 其特征在于, 包括: 处理器; 存储器, 用于存储日志回放方法的程序, 该设备通电并通过所述处理器运行所述日志 回放方法的程序后, 执行下述步。
10、骤: 获取待更新数据页的数据页标识信息; 根据所述待更新数据页的数据页标识信息, 从日志索引数据中, 获得目标日志位置信 息, 其中, 所述日志索引数据用于描述数据页标识信息与日志位置信息的对应关系; 根据所述目标日志位置信息, 确定与所述待更新数据页对应的目标日志数据; 通过回放所述目标日志数据, 更新所述待更新数据页。 16.一种存储设备, 其特征在于, 存储有日志回放方法的程序, 该程序被处理器运行, 执 行下述步骤: 获取待更新数据页的数据页标识信息; 根据所述待更新数据页的数据页标识信息, 从日志索引数据中, 获得目标日志位置信 息, 其中, 所述日志索引数据用于描述数据页标识信息与。
11、日志位置信息的对应关系; 根据所述目标日志位置信息, 确定与所述待更新数据页对应的目标日志数据; 通过回放所述目标日志数据, 更新所述待更新数据页。 权利要求书 2/3 页 3 CN 111324665 A 3 17.一种日志索引数据的获得装置, 其特征在于, 包括: 数据获得单元, 用于获得主数据库生成的重做日志数据的元数据信息; 信息获得单元, 用于从所述元数据信息中, 获得至少一个数据页的数据页标识信息, 以 及获得与所述数据页对应的日志数据在所述重做日志数据中的日志位置信息; 日志索引数据获得单元, 用于建立所述数据页标识信息与所述日志位置信息的对应关 系, 获得所述日志索引数据。 1。
12、8.一种电子设备, 其特征在于, 包括: 处理器; 存储器, 用于存储日志索引数据的获得方法的程序, 该设备通电并通过所述处理器运 行所述日志索引数据的获得方法的程序后, 执行下述步骤: 获得主数据库生成的重做日志数据的元数据信息; 从所述元数据信息中, 获得至少一个数据页的数据页标识信息, 以及获得与所述数据 页对应的日志数据在所述重做日志数据中的日志位置信息; 建立所述数据页标识信息与所述日志位置信息的对应关系, 获得所述日志索引数据。 19.一种存储设备, 其特征在于, 存储有日志索引数据的获得方法的程序, 该程序被处 理器运行, 执行下述步骤: 获得主数据库生成的重做日志数据的元数据信。
13、息; 从所述元数据信息中, 获得至少一个数据页的数据页标识信息, 以及获得与所述数据 页对应的日志数据在所述重做日志数据中的日志位置信息; 建立所述数据页标识信息与所述日志位置信息的对应关系, 获得所述日志索引数据。 权利要求书 3/3 页 4 CN 111324665 A 4 一种日志回放方法及装置 技术领域 0001 本申请涉及数据库领域, 具体涉及一种日志回放方法、 装置、 电子设备及存储设 备。 本申请同时涉及一种日志索引数据的获得方法、 装置、 电子设备及存储设备。 背景技术 0002 随着大数据时代的来临, 数据库得到了越来越广泛的应用, 尤其是随着云平台的 逐渐普及, 基于共享存。
14、储的数据库被广泛应用于各行各业。 0003 目前, 在具体应用数据库时, 为了保持数据库服务的高可用性, 一般采用计算与存 储分离, 基于共享存储的分布式架构来提供高可用性的服务。 通俗来讲, 是采取一主多备的 架构提供服务, 主数据库作为可读可写的数据库节点, 即RW节点, 向外提供服务, 并将数据 写到共享存储中; 备数据库作为可读节点, 即RO节点, 基于RW节点生成的重做(redo)日志, 通过日志回放方法保持向外提供的数据与RW节点中的数据的一致性。 0004 然而, 目前的备数据库在通过日志回放方法向外提供数据时, 通常需要获取主数 据库生成的完整的重做日志文件, 之后, 通过单个。
15、进程根据获取到的重做日志文件进行日 志回放, 以保证主备数据库之间提供的数据的一致性, 这种日志回放方法的缺点一方面是 没有针对性, 即, 备数据库不能仅在某个数据页被访问时, 有针对性的更新该数据页, 而是 无论数据页是否被访问到, 只要主数据库中对该数据页进行了更新, 备数据库就需要根据 获取到的重做日志文件更新该数据页; 另一方面, 与之相对应的, 由于备数据库在进行日志 回放时, 无论数据页是否有被访问的需求, 都需要根据获取到的重做日志文件进行日志回 放, 因此也存在回放速度慢, 进而间接影响主数据库的性能的问题。 0005 综上, 目前的日志回放方法存在没有针对性、 回放速度慢的问。
16、题。 发明内容 0006 本申请实施例提供一种日志回放方法, 以解决现有技术存在的没有针对性、 回放 速度慢的问题。 0007 本申请实施例提供一种日志回放方法, 包括: 0008 获取待更新数据页的数据页标识信息; 0009 根据所述待更新数据页的数据页标识信息, 从日志索引数据中, 获得目标日志位 置信息, 其中, 所述日志索引数据用于描述数据页标识信息与日志位置信息的对应关系; 0010 根据所述目标日志位置信息, 确定与所述待更新数据页对应的目标日志数据; 0011 通过回放所述目标日志数据, 更新所述待更新数据页。 0012 可选的, 包括: 根据待重做日志数据的元数据信息, 判断缓。
17、存区中既存的数据页是 否需要更新; 如果所述缓存区中所述既存的数据页中, 存在需要更新的数据页, 则在所述缓 存区中, 将所述需要更新的数据页对应的可用状态标识置为不可用状态。 0013 可选的, 还包括: 如果所述缓存区中所述既存的数据页中, 不存在需要更新的数据 页, 则生成与所述待重做日志数据的元数据信息对应的日志索引数据。 说明书 1/14 页 5 CN 111324665 A 5 0014 可选的, 所述获取待更新数据页的数据页标识信息, 包括: 0015 如果获取到针对数据页的事务访问请求, 则根据所述数据页对应的可用状态标识 查询所述数据页是否可用, 若所述数据页对应的可用状态标。
18、识为不可用状态, 则将所述数 据页作为所述待更新数据页, 并获取所述待更新数据页的数据页标识信息。 0016 可选的, 所述将所述需要更新的数据页对应的可用状态标识置为不可用状态, 包 括: 通过并行或串行方式将所述需要更新的数据页对应的可用状态标识置为不可用状态。 0017 可选的, 所述获取待更新数据页的数据页标识信息, 包括: 获取客户端发送的事务 访问请求消息; 从所述事务访问请求消息中, 获得请求访问的数据页的标识信息; 根据待重 做日志数据的元数据信息, 判断所述请求访问的数据页是否需要更新, 如果需要更新, 则将 所述请求访问的数据页作为所述待更新数据页, 并获取所述待更新数据页。
19、的数据页标识信 息。 0018 可选的, 所述日志索引数据通过下述方法获得: 获得主数据库生成的重做日志数 据的元数据信息; 从所述元数据信息中, 获得至少一个数据页的数据页标识信息, 以及获得 与所述数据页对应的日志数据在所述待重做日志数据中的日志位置信息; 建立所述数据页 标识信息与所述日志位置信息的对应关系, 获得所述日志索引数据。 0019 可选的, 还包括: 存储所述日志索引数据。 0020 可选的, 包括: 获得用于标识所述日志索引数据的标识信息; 根据所述标识信息, 更新与日志索引数据相关联的元数据信息。 0021 可选的, 还包括: 生成与所述日志索引数据对应的过滤器, 其中,。
20、 所述过滤器用于 增加针对日志索引数据的检索速度。 0022 可选的, 包括: 如果缓存区中不包括所述待更新数据页, 则在执行所述通过回放所 述目标日志数据, 更新所述待更新数据页的步骤之前, 先从共享存储中读取所述数据页到 缓存区。 0023 可选的, 还包括: 如果所述待更新数据页是与客户端请求访问的数据页对应的数 据页, 并且所述缓存区中不包括所述待更新数据页, 则在执行所述通过回放所述目标日志 数据, 更新所述待更新数据页的步骤之前, 先从共享存储中读取所述数据页到所述缓存区。 0024 本申请实施例还提供一种日志索引数据的获得方法, 包括: 0025 获得主数据库生成的重做日志数据的。
21、元数据信息; 0026 从所述元数据信息中, 获得至少一个数据页的数据页标识信息, 以及获得与所述 数据页对应的日志数据在所述重做日志数据中的日志位置信息; 0027 建立所述数据页标识信息与所述日志位置信息的对应关系, 获得所述日志索引数 据。 0028 本申请实施例还提供一种日志回放装置, 包括: 0029 数据页标识信息获取单元, 用于获取待更新数据页的数据页标识信息; 0030 目标日志位置信息获得单元, 用于根据所述待更新数据页的数据页标识信息, 从 日志索引数据中, 获得目标日志位置信息, 其中, 所述日志索引数据用于描述数据页标识信 息与日志位置信息的对应关系; 0031 目标日。
22、志数据确定单元, 用于根据所述目标日志位置信息, 确定与所述待更新数 据页对应的目标日志数据; 说明书 2/14 页 6 CN 111324665 A 6 0032 回放单元, 用于通过回放所述目标日志数据, 更新所述待更新数据页。 0033 本申请实施例还提供一种电子设备, 包括: 0034 处理器; 0035 存储器, 用于存储日志回放方法的程序, 该设备通电并通过所述处理器运行所述 日志回放方法的程序后, 执行下述步骤: 0036 获取待更新数据页的数据页标识信息; 0037 根据所述待更新数据页的数据页标识信息, 从日志索引数据中, 获得目标日志位 置信息, 其中, 所述日志索引数据用。
23、于描述数据页标识信息与日志位置信息的对应关系; 0038 根据所述目标日志位置信息, 确定与所述待更新数据页对应的目标日志数据; 0039 通过回放所述目标日志数据, 更新所述待更新数据页。 0040 本申请实施例还提供一种存储设备, 存储有日志回放方法的程序, 该程序被处理 器运行, 执行下述步骤: 0041 获取待更新数据页的数据页标识信息; 0042 根据所述待更新数据页的数据页标识信息, 从日志索引数据中, 获得目标日志位 置信息, 其中, 所述日志索引数据用于描述数据页标识信息与日志位置信息的对应关系; 0043 根据所述目标日志位置信息, 确定与所述待更新数据页对应的目标日志数据;。
24、 0044 通过回放所述目标日志数据, 更新所述待更新数据页。 0045 本申请实施例还提供一种日志索引数据的获得装置, 包括: 0046 数据获得单元, 用于获得主数据库生成的重做日志数据的元数据信息; 0047 信息获得单元, 用于从所述元数据信息中, 获得至少一个数据页的数据页标识信 息, 以及获得与所述数据页对应的日志数据在所述重做日志数据中的日志位置信息; 0048 日志索引数据获得单元, 用于建立所述数据页标识信息与所述日志位置信息的对 应关系, 获得所述日志索引数据。 0049 本申请实施例还提供一种电子设备, 包括: 0050 处理器; 0051 存储器, 用于存储日志索引数据。
25、的获得方法的程序, 该设备通电并通过所述处理 器运行所述日志索引数据的获得方法的程序后, 执行下述步骤: 0052 获得主数据库生成的重做日志数据的元数据信息; 0053 从所述元数据信息中, 获得至少一个数据页的数据页标识信息, 以及获得与所述 数据页对应的日志数据在所述重做日志数据中的日志位置信息; 0054 建立所述数据页标识信息与所述日志位置信息的对应关系, 获得所述日志索引数 据。 0055 本申请实施例还提供一种存储设备, 存储有日志索引数据的获得方法的程序, 该 程序被处理器运行, 执行下述步骤: 0056 获得主数据库生成的重做日志数据的元数据信息; 0057 从所述元数据信息。
26、中, 获得至少一个数据页的数据页标识信息, 以及获得与所述 数据页对应的日志数据在所述重做日志数据中的日志位置信息; 0058 建立所述数据页标识信息与所述日志位置信息的对应关系, 获得所述日志索引数 据。 说明书 3/14 页 7 CN 111324665 A 7 0059 与现有技术相比, 本申请具有以下优点: 0060 本申请实施例提供一种日志回放方法, 包括: 获取待更新数据页的数据页标识信 息; 根据所述待更新数据页的数据页标识信息, 从日志索引数据中, 获得目标日志位置信 息, 其中, 所述日志索引数据用于描述数据页标识信息与日志位置信息的对应关系; 根据所 述目标日志位置信息, 。
27、确定与所述待更新数据页对应的目标日志数据; 通过回放所述目标 日志数据, 更新所述待更新数据页。 所述方法在获取到待更新数据页的数据页标识信息之 后, 通过从日志索引数据中, 获得与该数据页标识信息对应的目标日志位置信息, 并根据该 目标日志位置信息, 确定与待更新数据页对应的目标日志数据, 从而有针对性的回放与待 更新数据页对应的目标日志数据, 以更新待更新数据页, 相较于现有技术中获取完整重做 日志文件并进行整体日志回放的方法, 本申请实施例提供的所述方法更具有针对性, 可以 增加日志回放的速度。 0061 本申请实施例还提供一种日志索引数据的获得方法, 包括: 获得主数据库生成的 重做日。
28、志数据的元数据信息; 从所述元数据信息中, 获得至少一个数据页的数据页标识信 息, 以及获得与所述数据页对应的日志数据在所述重做日志数据中的日志位置信息; 建立 所述数据页标识信息与所述日志位置信息的对应关系, 获得所述日志索引数据。 所述方法 在获得主数据库生成的重做日志数据的元数据信息之后, 通过解析该元数据信息, 获得至 少一个数据页的数据页标识信息, 以及获得与该数据页对应的日志数据在该重做日志数据 汇总的日志位置信息, 通过建立该数据页标识信息与该日志位置信息的对应关系, 以获得 日志索引数据, 相较于传统方法基于整个完整重做日志文件进行日志回放的方法, 通过本 申请实施例提供的所述。
29、方法获得的日志索引数据, 仅需要在主数据库和备数据库之间传输 重做日志文件的元数据信息, 就可以有针对性的进行日志回放, 不仅可以增加日志回放的 速度, 还可以减少主备数据库之间网络传输的数据量。 附图说明 0062 图1是本申请第一实施例提供的一种日志回放方法的应用场景的示意图。 0063 图2是本申请第一实施例提供的一种日志回放方法的流程图。 0064 图3是本申请第一实施例提供的日志索引数据的结构示意图。 0065 图4是本申请第一实施例提供的日志回放方法的第一阶段示意图。 0066 图5是本申请第一实施例提供的日志回放方法的第二阶段示意图。 0067 图6是本申请第一实施例提供的并行实。
30、施日志回放方法的示意图。 0068 图7是本申请第二实施例提供的一种日志索引数据的获得方法的流程图。 0069 图8是本申请第三实施例提供的一种日志回放装置的示意图。 0070 图9是本申请第四实施例提供的一种日志索引数据的获得装置的示意图。 0071 图10是本申请第五实施例提供的一种电子设备的示意图。 具体实施方式 0072 在下面的描述中阐述了很多具体细节以便于充分理解本申请。 但是本申请能够以 很多不同于在此描述的其它方式来实施, 本领域技术人员可以在不违背本申请内涵的情况 下做类似推广, 因此本申请不受下面公开的具体实施的限制。 说明书 4/14 页 8 CN 111324665 A。
31、 8 0073 为了使本领域的技术人员更好的理解本申请方案, 下面基于本申请提供的日志回 放方法, 对其实施例的具体应用场景进行详细描述。 本申请所述日志回放方法具体可以应 用于基于共享存储的分布式数据库的主数据库与备数据库之间, 更进一步的, 可以应用于 分布式数据库的备数据库中, 以用来保证备数据库向客户端提供的数据与主数据库的数据 的一致性。 如图1所示, 其为本申请第一实施例提供的一种日志回放方法的应用场景示意 图。 0074 在具体实施时, 在基于共享存储的分布式数据库中, 主数据库101作为可读可写节 点, 当主数据库101的缓存区中的某一数据页的内容发生变更, 并且, 主数据库1。
32、01还未将该 变更刷新到共享存储时, 为了保证备数据库102向客户端103提供的该数据页的内容与主数 据库101缓存区中的内容的一致性, 当备数据库102获取到客户端103针对该数据页的访问 请求时, 备数据库102将该数据页作为待更新数据页, 并获取该待更新数据页的数据页标识 信息; 之后, 备数据库102根据待更新数据页的数据页标识信息, 从日志索引数据中, 获得目 标日志位置信息, 其中, 所述日志索引数据用于描述数据页标识信息与日志位置信息的对 应关系; 备数据库102根据获得到的目标日志位置信息, 确定与该待更新数据页对应的目标 日志数据, 并通过回访该目标日志数据, 更新该待更新数。
33、据页; 在备数据库102更新该待更 新数据页之后, 将该待更新数据页的内容提供给客户端103。 0075 所述客户端是用于从数据库中获取数据的计算设备, 其可以是传统的计算机设 备, 也可以是移动终端设备, 如手机、 平板电脑等, 其中, 该数据库可以是分布式数据库的主 数据库, 也可以是备数据库。 0076 所述主数据库, 是指在基于共享存储的分布式数据库中, 作为可读可写节点向客 户端提供数据服务的数据库节点, 其中, 主数据库也可称为RW节点, 例如, 主数据库可以是 各种常用的分布式数据库中的主数据库节点。 0077 所述备数据库, 是指在基于共享存储的分布式数据库中, 作为可读节点向。
34、客户端 提供数据服务的数据库节点, 其与主数据库共享底层数据存储空间, 并基于主数据库生成 的重做日志文件保证主备数据库节点的缓存区中数据的一致性, 其中, 备数据库也可称为 RO节点或从数据库节点。 0078 所述重做(Redo)日志文件, 也称为预写式日志(Write-Ahead Logging), 其核心思 想是对数据页的修改必须发生在这些修改已经记录在重做日志文件之后, 也就是说, 在描 述数据变更的日志记录刷新到共享存储之后才能对数据页进行实际的修改操作。 0079 所述数据页, 是数据库中所保存数据的载体, 也可称为数据块或数据文件; 所述数 据具体可以采用数据表、 数据索引等形式。
35、。 0080 所述数据页标识信息, 是用来唯一性的标识数据页的信息, 其具体可以是一串字 符串信息, 例如, 可以是PageID。 0081 以上, 以主数据库101、 备数据库102以及客户端103三个实体为例说明本申请第一 实施例提供的所述日志回放方法的应用场景, 在具体实施时, 上述方法也可仅应用于主数 据库101、 备数据库102之间, 而不需要在备数据库102获取到客户端103的事务访问请求之 后, 才触发实施本申请第一实施例提供的所述日志回放方法。 0082 例如, 在主数据库101的缓存区中的某一数据页的内容发生变更, 并且, 主数据库 101还未将该变更刷新到共享存储时, 为了。
36、保证备数据库102的缓存区中的内容与主数据库 说明书 5/14 页 9 CN 111324665 A 9 101的缓存区中的内容的一致性, 备数据库102从主数据库101发送的重做日志数据的元数 据信息中, 获得主数据库101的缓存区中发生数据变更的数据页, 并将这些数据页作为待更 新数据页, 获取这些待更新数据页的数据页标识信息; 之后, 备数据库102根据这些待更新 数据页的数据页标识信息, 从日志索引数据中, 获得目标日志位置信息, 并根据获得到的目 标日志位置信息, 确定与该待更新数据页对应的目标日志数据, 通过回放该目标日志数据, 更新该待更新数据页, 以保证备数据库102的缓存区中。
37、的内容与主数据库101的缓存区中的 内容的一致性。 0083 需要说明的是, 以上应用场景仅仅是本申请所述日志回放方法的一些具体实施 例, 提供上述应用场景实施例的目的是便于理解本申请的日志回放方法, 而并非用于限定 本申请的日志回放方法。 0084 如图2所示, 其为本申请第一实施例提供的一种日志回放方法的流程图, 以下结合 图2对本申请第一实施例提供的一种日志回放方法进行详细说明。 0085 步骤S201, 获取待更新数据页的数据页标识信息。 0086 具体来讲, 本申请第一实施例提供的所述日志回放方法可以应用于基于共享存储 的分布式数据库的备数据库中, 在具体实施所述方法时, 首先需要确。
38、定备数据库中的待更 新数据页, 即, 在备数据库中等待进行日志回放以使其内容与主数据库的缓存区中的内容 保持一致的数据页, 以下对待更新数据页的确定方法进行介绍。 0087 在基于共享存储的分布式数据库中, 所有针对数据页的变更操作均需要在实际应 用到数据页之前, 先将该变更操作对应的变更记录记录到重做日志文件中, 当针对数据页 的变更操作记录到重做日志文件中, 重做日志文件的元数据信息会对应的发生变更。 因此, 备数据库在获取到重做日志文件的元数据信息之后, 可以从该元数据信息中, 获得未进行 重做操作的待重做日志数据的元数据信息, 并从该待重做日志数据的元数据信息中, 解析 出主数据库中发。
39、生了数据变更的数据页, 即已变更数据页, 并获取这些数据页的数据页标 识信息; 在获得主数据库中的已变更数据页之后, 较为直接的方法是: 直接将获取到的所有 已变更数据页作为待更新数据页。 也就是说, 待更新数据页的确定方法, 包括: 获取待重做 日志数据的元数据信息, 解析所述元数据信息, 获得主数据库中发生变更的数据页, 将所述 主数据库中发生变更的数据页作为所述待更新数据页, 其中, 待重做日志数据, 是等待进行 重做操作的重做日志数据。 0088 需要说明的是, 重做日志文件的元数据(MetaData)信息, 是描述重做日志文件中 的日志数据的数据, 或者也可以说是用于提供重做日志文件。
40、中的日志数据的相关信息的结 构数据。 其使用目的在于: 识别以及评价重做日志文件中的相关日志数据, 以及追踪该日志 数据在使用过程中的变化; 其具有以下特点: 1、 元数据信息一经建立, 即可共享; 2、 元数据 信息是一种有别于传统数据编码体系的编码体系, 其具体用来为重做日志文件中的日志数 据建立一种可以使计算设备可理解的框架。 0089 例如, 元数据信息可以包括数据类型、 数据类型对应的动作以及数据页信息。 其 中, 数据类型, 可以用来标识日志数据的btree类型的数据, 还是heap类型的数据; 数据类型 对应的动作, 可以用来标识数据类型所对应的操作, 例如, 可以是增加、 删除。
41、或分裂动作等; 数据页信息, 可以包含数据页的位置信息, 即db.table.block的位置信息。 在具体实施时, 一条元数据信息里可以包含多个数据页信息, 例如一个btree索引分裂可能牵涉到三个数 说明书 6/14 页 10 CN 111324665 A 10 据页; 在解析元数据信息时需要根据不同的数据类型、 动作, 对牵涉到的数据页按顺序来加 锁, 其中, 该加锁的过程可以称为mini transaction, 以用来保证针对数据页的修改的原子 性。 在生成日志索引数据以及基于日志索引数据进行检索时都需要判断mini transaction 中是否有相关页面被锁住。 0090 在本申。
42、请第一实施例中, 为了增加日志回放速度, 降低日志回放成本, 并有针对性 的进行日志回放, 所述待更新数据页的确定方法, 包括: 根据待重做日志数据的元数据信 息, 判断缓存区中既存的数据页是否需要更新; 如果所述缓存区中所述既存的数据页中, 存 在需要更新的数据页, 则在所述缓存区中, 将所述需要更新的数据页对应的可用状态标识 置为不可用状态。 其中, 所述将所述需要更新的数据页对应的可用状态标识置为不可用状 态, 包括: 通过并行或串行方式将所述需要更新的数据页对应的可用状态标识置为不可用 状态。 0091 另外, 所述方法还包括: 如果所述缓存区中所述既存的数据页中, 不存在需要更新 的。
43、数据页, 则生成与所述待重做日志数据的元数据信息对应的日志索引数据。 即, 如果主数 据库中已经发生更新的数据页不存在于备数据库的缓存区中, 那么就不需要在备数据库中 执行日志回放操作, 备数据库仅需要在其缓存区中生成与获得的待重做日志数据的元数据 信息对应的日志索引数据即可。 0092 如图4所示, 其为本申请第一实施例提供的日志回放方法的第一阶段示意图。 根据 图4内容可知, 考虑到备数据库的缓存区中既存的数据页并不是时刻都会被客户端访问, 在 备数据库获得待重做日志数据的元数据信息之后, 并不直接进行日志回放操作, 而是先在 备数据库的缓存区中并行或者串行的为每一个既存的数据页维护一个对。
44、应的可用状态标 识, 该可用状态标识用来标识数据页的内容是否可直接使用; 同时, 根据该元数据信息, 在 备数据库中生成日志索引数据, 关于日志索引数据的详细描述在后续步骤中进行详细说 明, 此处不再赘述。 0093 在确定备数据库中的待更新数据页之后, 所述获取待更新数据页对应的数据页标 识信息, 包括: 如果获取到针对数据页的事务访问请求, 则根据所述数据页的可用状态标识 查询所述数据页是否可用, 若所述数据页对应的可用状态标识为不可用状态, 则将所述数 据页作为所述待更新数据页, 并获取所述待更新数据页的数据页标识信息。 0094 即, 当备数据接收到客户端的事务访问请求之后, 可以从该。
45、事务访问请求中, 解析 出该事务请求访问的数据页; 如果该数据页在备数据库的缓存区中对应的可用状态标识, 标识该数据页不可用, 则备数据库可以将该数据页作为待更新数据页, 并获取该待更新数 据页的数据页标识信息, 其中, 关于数据库中事务的相关描述因为现有技术中有详细说明, 此处不再赘述。 0095 以上, 是本申请第一实施例提供的第一种获取待更新数据页的数据页标识信息的 方法, 根据上述描述可知, 所述方法具体通过维护备数据库的缓存区中的可用状态标识来 有针对性的确定待更新数据页, 如果数据页有对应的事务访问请求, 就对该数据页进行日 志回放; 如果数据页没有对应的事务访问, 就不对该数据页。
46、进行日志回放, 所述方法可以降 低对存储的访问量, 从而降低日志回放成本, 增加日志回放速度; 另外, 在主数据库和备数 据库之间, 仅需要传输重做日志文件的元数据信息就可以确定待更新数据页, 并进行后续 的日志回放处理, 而不需要传输完整的重做日志文件, 可以减少主备数据库之间的网络传 说明书 7/14 页 11 CN 111324665 A 11 输的数据量。 0096 另外, 本申请第一实施例还提供一种待更新数据页的数据页标识信息的获取方 法, 具体包括: 获取客户端发送的事务访问请求消息; 从所述事务访问请求消息中, 获得请 求访问的数据页的标识信息; 根据待重做日志数据的元数据信息,。
47、 判断所述请求访问的数 据页是否需要更新, 如果需要更新, 则将所述请求访问的数据页作为所述待更新数据页, 并 获取所述待更新数据页的数据页标识信息。 0097 即, 从另一种角度描述待更新数据页的确定过程, 具体是, 当备数据库接收到客户 端的事务访问请求之后, 备数据库从该事务访问请求中, 获得请求访问的数据页的标识信 息; 之后, 备数据库根据待重做日志数据的元数据信息中, 判断该数据页是否需要更新, 即 在主数据库的缓存区中, 该数据页的内容是否发生了变更, 如果是, 即该数据页需要更新, 则备数据库将该请求访问的数据页作为待更新数据页, 并获取所述待更新数据页的数据页 标识信息。 0。
48、098 需要说明的是, 在具体实施时, 可以同时使用上述方法中的一种或多种的组合来 确定待更新数据页以及获取待更新数据页的数据页标识信息, 当然, 随着技术的不断进步, 也可以通过其它方法或者对上述方法进行扩展后获得的方法来确定待更新数据页以及获 取待更新数据页的数据页标识信息。 0099 以上, 详细描述了如何确定待更新数据页, 以及获得待更新数据页的数据页标识 信息, 通过上述描述可知, 本申请第一实施例提供的日志回放方法可以有针对性的确定待 更新数据页, 从而减轻对网络和存储的访问量, 降低日志回放成本, 增加日志回放速度。 0100 步骤S202, 根据所述待更新数据页的数据页标识信息。
49、, 从日志索引数据中, 获得目 标日志位置信息, 其中, 所述日志索引数据用于描述数据页标识信息与日志位置信息的对 应关系。 0101 在经过步骤S201获得到待更新数据页的数据页标识信息之后, 即可根据该数据页 标识信息进行后续的日志回放处理, 即, 根据所述待更新数据页的数据页标识信息, 从日志 索引数据中, 获得目标日志位置信息。 0102 在介绍本步骤S202之前, 首先对本步骤中所使用的日志索引数据的获得方法进行 详细说明, 如图3所示, 其为本申请第一实施例提供的日志索引数据的结构示意图, 所述日 志索引数据具体可以通过下述方法获得: 获得主数据库生成的重做日志数据的元数据信 息;。
50、 从所述元数据信息中, 获得至少一个数据页的数据页标识信息, 以及获得与所述数据页 对应的日志数据在所述待重做日志数据中的日志位置信息; 建立所述数据页标识信息与所 述日志位置信息的对应关系, 获得所述日志索引数据。 0103 在获得所述日志索引数据之后, 还包括: 存储所述日志索引数据。 其中, 在存储所 述日志索引数据的同时, 包括: 获得用于标识所述日志索引数据的标识信息; 根据所述标识 信息, 更新与日志索引数据相关联的元数据信息。 另外, 还包括: 生成与所述日志索引数据 对应的过滤器, 其中, 所述过滤器用于增加针对日志索引数据的检索速度。 0104 在本申请第一实施例中, 所述日。
- 内容关键字: 日志 回放 方法 装置
便于组装的铝单板及其成型加工装置.pdf
水藻打捞装置.pdf
无缝针织内衣机针盘弹性让位式导纱装置.pdf
自动化的农作物运输储存设备.pdf
应用于电缆井的边缘物联代理装置.pdf
机电一体化实训设备.pdf
双层折叠式无线充电设备.pdf
撬装式压裂液混合装置.pdf
适应地基不均匀沉降的支座.pdf
墙面打磨设备.pdf
适用于网条拉伸试验的夹具工装.pdf
污水处理过滤装置.pdf
干式变压器拉板.pdf
工业密集区空气粉尘检测装置.pdf
物料上下转运夹持机械手.pdf
具有收集结构的地质取样器.pdf
机车装配自动化车.pdf
燃气阀流量控制安全结构.pdf
可正反转的风扇灯.pdf
有效保护石墨鳞片特性的球磨系统.pdf
反渗透膜气密性检测装置.pdf
方便更换的除尘滤芯.pdf
棋类设备.pdf
秦皮甲素在提高水曲柳抗旱能力中的应用.pdf
针对Ceph文件的读取方法、装置、服务器及存储介质.pdf
分布式电表采集系统及采集方法.pdf
用于幼教的智慧教学管理系统及方法.pdf
具有硬质镀层的活塞环及其制备方法.pdf
对准标记及图形对准方法.pdf
输出功率的调整方法及美容仪、存储介质、电子设备.pdf
冷氢化生产系统装置及生产工艺.pdf
基于PLC和图像识别的电子围栏安全系统及其控制方法.pdf
复合式健身运动机.pdf
游戏外挂检测方法、装置、服务器、客户端及存储介质.pdf
一种多功能肌肉锻炼器械.pdf
一种轨道集球装置.pdf
一种套装牙刷.pdf
一种锻炼胸部肌肉的健身器械.pdf
一种洗衣刷.pdf
一种利用涨潮退潮自动吹泡泡设备及方法.pdf
由重力势能提供动力的可自动越障的电控无碳小车.pdf
一种人形骨架用转接头结构.pdf
多角度调节、上下肢协同训练康复机器人.pdf
一种玩具.pdf
一种往复式体育比赛跳远沙坑抹平机.pdf
一种VR跑步机.pdf
跑步机安全监测方法、装置及跑步机.pdf
虚拟物品交易方法、装置、电子设备及存储介质.pdf
一种环柄乒乓球拍.pdf
一种变脸发声公仔.pdf
游戏化医疗看牙系统.pdf