CN110019506B - 日志记录处理方法和装置 - Google Patents

日志记录处理方法和装置 Download PDF

Info

Publication number
CN110019506B
CN110019506B CN201710857469.0A CN201710857469A CN110019506B CN 110019506 B CN110019506 B CN 110019506B CN 201710857469 A CN201710857469 A CN 201710857469A CN 110019506 B CN110019506 B CN 110019506B
Authority
CN
China
Prior art keywords
log
record
records
log record
database
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.)
Active
Application number
CN201710857469.0A
Other languages
English (en)
Other versions
CN110019506A (zh
Inventor
曹伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN201710857469.0A priority Critical patent/CN110019506B/zh
Publication of CN110019506A publication Critical patent/CN110019506A/zh
Application granted granted Critical
Publication of CN110019506B publication Critical patent/CN110019506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

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)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了日志记录处理方法和装置,当备用数据库从主用数据库中接收日志记录时检测到日志断点;确定所述日志断点之前存在K条连续缺少的日志记录;若K小于预设的容错条数阈值N,则在确定当前接收的所述日志记录与所述备用数据库本地内存维护的日志记录没有冲突时,回放当前接收的所述日志记录。可以实现在主备数据同步过程中出现断点问题时自动进行容错,从而不中断备用数据库服务器的同步服务。

Description

日志记录处理方法和装置
技术领域
本发明涉及云数据库技术领域,尤其涉及一种日志记录处理方法和装置。
背景技术
为实现高可靠性,数据库系统一般采取一主一备或一主多备的架构,图1为一种主备数据库系统的架构图,如图1所示的一主一备数据库系统。主数据库服务器将日志通过网络发送给从数据库服务器,从数据库服务器接收日志后,不断回放日志,使得从数据库服务器的数据状态与主数据库服务器的数据状态保持一致。
为了保证数据在主数据库服务器和从数据库服务器达到完全一致,主数据库服务器一般以顺序串行的方式把日志发送给从数据库服务器,从数据库服务器也以顺序串行的方式来回放日志。但是,回放一条日志记录的前提条件是从数据库服务器需要接收这条日志记录之前的所有日志记录,如果主数据库服务器和从数据库服务器同步时出现了断点,例如因为网络问题丢失了一条或一段日志记录,那从这个断点开始,之后的所有日志记录从数据库服务器是不能回放的,从数据库服务器需要等到从主数据库服务器或其他地方获取到中间断点缺失的日志记录后才能继续回放,即使有多线程并行回放日志能力的从数据库服务器也不能避免断点缺失的问题。
因此,现有的主备数据同步过程中存在的断点问题容易造成从数据库服务器同步服务中断的问题。
发明内容
为了解决上述问题,本发明提供一种日志记录处理方法和装置,可以实现在主备数据同步过程中出现断点问题时自动进行容错,从而不影响从数据库服务器的同步服务。
本发明提供一种日志记录处理方法,包括:
当备用数据库从主用数据库中接收日志记录时检测到日志断点;
确定所述日志断点之前存在K条连续缺少的日志记录;
若K小于预设的容错条数阈值N,则在确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突时,回放当前接收的所述日志记录。
可选地,所述当备用数据库从主用数据库中接收日志记录时检测到日志断点,包括:
当所述备用数据库从所述主用数据库中接收到日志记录时,若查询到不存在所述日志记录的前一条日志记录,则确定存在日志断点。
可选地,所述备用数据库当前接收的所述日志记录中携带有所述日志记录之前的连续N条日志记录的元信息,所述元信息包含事务标识、被修改的数据记录的标识集合;
所述确定当前接收的所述日志记录与所述连续缺少的K条日志记录没有冲突,包括:
从当前接收的所述日志记录中获取所述连续缺少的K条日志记录的元信息;
根据所述连续缺少的K条日志记录的元信息,确定当前接收的所述日志记录与所述连续缺少的K条日志记录没有冲突。
可选地,所述的方法还包括:
遍历所述K条日志记录的元信息,将每条元信息中包含的所有被修改的数据记录的标识都添加到第一集合中,将每条元信息中包含的事务标识添加到第二集合中;
所述第一集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的日志记录中包含的所有被修改的数据记录的标识;
所述第二集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的事务标识。
可选地,所述确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录没有冲突,包括:
检测所述第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
若不存在交集,则确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录没有冲突。
可选地,所述的方法还包括:
若存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述备用数据库本地内存维护的第二集合中,且将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中;
所述日志记录暂停列表为所述备用数据库在本地内存维护的列表,用来记录因为日志断点造成的所述备用数据库已接收且不能回放的日志记录。
可选地,所述的方法还包括:
根据所述K条日志记录的元信息从所述主用数据库中获取与所述连续缺失的K条日志记录的元信息对应的K条日志记录;
将所述K条日志记录和所述日志记录暂停列表中的日志记录合并到日志记录恢复列表中;
清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;
按日志写入顺序回放所述日志记录恢复列表中的日志记录。
可选地,所述的方法还包括:
当所述备用数据库从所述主用数据库中接收到日志记录时不存在日志断点;
检测所述备用数据库本地内存维护的第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
若不存在交集,则回放当前接收的所述日志记录;
若存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述第二集合中,将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中。
可选地,所述的方法还包括:
若K大于等于预设的容错条数阈值N,则所述备用数据库暂停回放当前接收的所述日志记录;
从所述主用数据库获取日志断点位置所有缺失的日志记录;
回放所有缺失的日志记录之后,再对当前接收的所述日志记录进行回放。
可选地,回放所有缺失的日志记录,包括:
将所有缺失的日志记录与所述备用数据库本地内存维护的日志记录暂停列表进行拼接,并对拼接的日志记录按日志写入顺序进行排序,得到日志记录恢复列表;
清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;
按日志写入顺序回放所述日志记录恢复列表中的日志记录。
本申请提供一种日志记录处理装置,包括:
检测模块,用于当备用数据库从主用数据库中接收日志记录时检测到日志断点;且检测到所述日志断点之前存在K条连续缺少的日志记录;
回放模块,用于在确定K小于预设的容错条数阈值N,且在确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突时,回放当前接收的所述日志记录。
可选地,所述备用数据库当前接收的所述日志记录中携带有所述日志记录之前的连续N条日志记录的元信息,所述元信息包含事务标识、被修改的数据记录的标识集合。
所述装置还包括:
获取模块,用于从当前接收的所述日志记录中获取所述连续缺少的K条日志记录的元信息;
确定模块,用于根据所述连续缺少的K条日志记录的元信息,确定当前接收的所述日志记录与所述连续缺少的K条日志记录没有冲突。
可选地,所述的装置还包括:
添加模块,用于遍历所述K条日志记录的元信息,将每条元信息中包含的所有被修改的数据记录的标识都添加到第一集合中,将每条元信息中包含的事务标识添加到第二集合中;
所述第一集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的日志记录中包含的所有被修改的数据记录的标识;
所述第二集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的事务标识。
可选地,所述检测模块,还用于检测所述第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
所述确定模块,还用于在不存在交集时,确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录没有冲突。
可选地,所述添加模块,还用于在检测到存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述备用数据库本地内存维护的第二集合中,且将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中;
所述日志记录暂停列表为所述备用数据库在本地内存维护的列表,用来记录因为日志断点造成的所述备用数据库已接收且不能回放的日志记录。
可选地,所述获取模块,还用于根据所述K条日志记录的元信息从所述主用数据库中获取与所述连续缺失的K条日志记录的元信息对应的K条日志记录;
所述回放模块,还用于将所述K条日志记录和所述日志记录暂停列表中的日志记录合并到日志记录恢复列表中;清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;按日志写入顺序回放所述日志记录恢复列表中的日志记录。
可选地,所述检测模块,还用于从所述主用数据库中接收到日志记录时不存在日志断点;进一步检测所述备用数据库本地内存维护的第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
所述回放模块,还用于在检测到不存在交集时,回放当前接收的所述日志记录;
所述添加模块,还用于在检测到存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述第二集合中,将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中。
可选地,所述获取模块,还用于在确定K大于等于预设的容错条数阈值N时,暂停回放当前接收的所述日志记录,从所述主用数据库获取日志断点位置所有缺失的日志记录;
所述回放模块,还用于回放所有缺失的日志记录之后,再对当前接收的所述日志记录进行回放。
可选地,所述回放模块,具体用于将所有缺失的日志记录与所述备用数据库本地内存维护的日志记录暂停列表进行拼接,并对拼接的日志记录按日志写入顺序进行排序,得到日志记录恢复列表;清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;按日志写入顺序回放所述日志记录恢复列表中的日志记录。
本申请实施例还提供一种数据库服务器,用于管理备用数据库,所述数据库服务器包括:存储器、处理器以及通信组件;
所述通信组件,用于从主用数据库中接收日志记录;
所述存储器,用于存储计算机程序;
所述处理器,耦合至所述存储器,用于执行所述计算机程序,以用于:
在所述通信组件从主用数据库中接收日志记录时检测到日志断点;
确定所述日志断点之前存在K条连续缺少的日志记录;
若K小于预设的容错条数阈值N,在确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突时,回放当前接收的所述日志记录。
本申请实施例还提供一种数据库系统,包括:主用数据库、主用数据库服务器、备用数据库以及备用数据库服务器;
所述主用数据库服务器,用于从所述主用数据库中读取日志记录并发送给所述备用数据库服务器;
所述备用数据库服务器,用于在从所述主用数据库服务器接收日志记录时检测到日志断点;确定所述日志断点之前存在K条连续缺少的日志记录;以及在K小于预设的容错条数阈值N时,确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突,并回放当前接收的所述日志记录。
本发明实施例中,当出现日志断点时且断点缺失的日志记录条数在容错范围之内时,本申请通过判断当前接收到的日志记录是否与之前已接收到的因为日志断点暂时不能回放的日志记录以及当前日志记录之前连续缺少的日志记录存在冲突,在确定不存在冲突时可以跳过日志断点,继续回放与缺失的日志记录不冲突的日志记录,降低备用数据库因为日志断点而中断服务的概率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种主备数据库系统的架构图;
图2a为本申请一实施例提供的一种数据库系统的结构示意图;
图2b为本申请另一实施例提供的一种日志记录处理方法的流程示意图;
图3为本申请又一实施例提供的另一种日志记录处理方法的流程示意图;
图4为本申请又一实施例提供的又一种日志记录处理方法的流程示意图;
图5为本申请又一实施例提供的一种日志记录处理装置的结构示意图;
图6为本申请又一实施例提供的一种数据库服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
本申请可以应用于主用数据库和备用数据库同步的应用场景中,本申请的技术方案中,当主用数据库在生成一条日志记录时,在当前生成的日志记录中携带有当前生成的日志记录之前的N条日志记录的元信息,该N条日志记录的元信息用于在主备数据库同步过程中存在的日志断点时,备用数据库利用该N条日志记录的元信息知道日志断点中缺失的日志记录中包含哪些事务,修改了哪些数据库记录,从而可以跳过日志断点,继续回放与缺失的日志记录不冲突的日志记录,而与缺失的日志记录存在冲突的日志记录添加到日志记录暂停列表中,并在找回所有缺失的日志记录后一并执行回放,从而可以在主备数据同步过程中存在的日志断点时,跳过日志断点,继续回放日志断点后的日志记录,降低从数据库服务器同步服务的中断概率。
本申请中使用的技术术语包括:日志是在数据库/存储系统中保证原子性和持久性的一种技术。在使用日志的系统中,任何更新操作会先写入一个日志中,再对数据进行修改,日志由很多条日志记录组成,每条日志记录中会包含事务标识、被修改的数据库的记录标识和数据库记录更新后的值。
下面对本申请的技术方案通过具体实施例进行详细说明。为了描述简单,本申请假设事务和日志记录是一一对应的,即一个事务不会跨多条日志记录,一条日志记录里也仅包含一个事务。但是需要说明的是,即使一条事务会跨多条日志记录,或者一条日志记录里包含多个事务,也可以应用本方法描述的技术。
图2a为本申请一实施例提供提供的数据库系统的结构示意图。如图2a所示,该系统包括:主用数据库、主用数据库服务器、备用数据库以及备用数据库服务器。
其中,主用数据库和备用数据库主要用于存储与业务相关的数据。一般情况下,主用数据库面向用户提供数据库业务。主用数据库服务器主要负责管理主用数据库,实现主用数据库的业务逻辑,例如向用户提供增删改查数据库的功能以及日志备份逻辑。同理,备用数据库服务器主要负责管理备用数据库,实现主用数据库的业务逻辑,例如向用户提供增删改查数据库的功能。
主用数据库服务器,用于将主用数据库中的日志记录发送给备用数据库服务器。可选地,如图2a所示,主用数据库服务器可以记录主用数据库中的事务日志,并且可以通过网络将日志记录发送给备用数据库服务器。
备用数据库服务器,用于从主用数据库服务器接收日志记录,并在从主用数据库服务器接收日志记录时检测是否存在日志断点;当从主用数据库服务器接收日志记录时检测到日志断点时,确定日志断点之前存在的K条连续缺少的日志记录;以及在K小于预设的容错条数阈值N时,确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突,并回放当前接收的所述日志记录。可选地,如图2a所示,备用数据库服务器可以记录从主用数据库服务器接收的日志记录,以及可以将日志记录的回放结果存储至备用数据库中。
无论是主用数据库还是备用数据库,主要是按照一定的数据结构来组织、存储和管理各种数据。主用数据库或备用数据库可以是各种类型的数据库,本实施例对此不做限定。例如,从数据库开发者角度来看,主用数据库或备用数据库可以是Oracle、DB2、Sybase、MS SQL Server、Informax、MySQL等。从数据组织结构角度来看,主用数据库或备用数据库可以是网状数据库(Network Database)、关系数据库(Relational Database)、树状数据库(Hierarchical Database)、面向对象数据库(Object-oriented Database)等。
在本实施例中,在备用数据库服务器接收主用数据库服务器发送的日志记录的过程中,当出现日志断点时且断点缺失的日志记录条数在容错范围之内时,备用数据库服务器可以判断出当前接收到的日志记录是否与这些缺失日志记录存在冲突,进而在判断不存在冲突时,回放当前接收的所述日志记录,无需找回所有缺失日志记录之后再回放,有利于降低备用数据库的服务被中断的概率。
其中,备用数据库服务器与主用数据库服务器相互配合,在缺失日志记录的情况下进行日志回放处理的详细过程可参见下述方法实施例的描述。值得说明的是,在下述方法实施例中为简化描述,直接用主用数据库和备用数据库进行描述。
图2b为本申请一实施例提供的日志记录处理方法的流程示意图,如图2b所示,包括:
101、当备用数据库从主用数据库中接收日志记录时检测到日志断点;
具体地,当备用数据库从主用数据库中接收到一条日志记录时,会查询该日志记录的前一条日志记录是否接收到,如果没有接收到前一条日志记录,则确定存在日志断点,即意味着当前接收的这条日志记录紧连着一个日志断点;假设接收到前一条日志记录,则确定不存在日志断点。
102、确定所述日志断点之前存在K条连续缺少的日志记录;
具体地,备用数据库根据当前接收的日志记录获取日志断点之前连续缺少的日志记录的条数,这里假设连续缺少的日志记录的条数为K条。
103、在K小于预设的容错条数阈值N,且在确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突时,回放当前接收的所述日志记录。
这里需要说明的是,本发明中为了可以在主备数据同步过程中出现日志断点后,容忍日志断点上连续N条日志记录的缺失,允许备用数据库跳过日志断点,继续回放断点后的日志记录从而避免备用数据库的服务中断,这里的N是一个可配置的参数,具体设置时包括:主用数据库在生成一条日志记录时,在生成的日志记录中会携带之前N条日志记录的元信息,其中,元信息中包含事务标识、被修改的数据记录的标识集合。
这里需要说明的是,备用数据库在本地内存中维护有第一集合(PendingRecordSet<RecordId>)、第二集合(PendingTransactionSet<TransId>)和日志记录暂停列表(PendingLogList<LogEntry>);
其中,所述第一集合用来记录因为日志断点造成的暂时不能在所述备用数据库中回放的日志记录中包含的所有被修改的数据记录的标识;即第一集合的元素是记录的标识,被初始化为空集合。
所述第二集合用来记录因为日志断点造成的暂时不能在所述备用数据库中回放的事务标识;即第二集合的元素是事务的标识,被初始化为空集合。
所述日志记录暂停列表用来记录因为日志断点造成的所述备用数据库已接收且不能回放的日志记录,即日志记录暂停列表的元素是日志记录,被初始化为空列表。
具体地,步骤103在具体实现时可以包括:
遍历K条日志记录的元信息,将每条元信息中包含的事务标识添加到上述备用数据库本地内存维护的第二集合中,将每条元信息中包含的所有被修改的数据记录的标识都添加到上述备用数据库本地内存维护的第一集合中;
检测第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
若不存在交集,说明当前接收的所述日志记录与所述备用数据库本地内存维护的日志记录没有冲突,则回放当前接收的所述日志记录;即可以跳过日志断点,继续回放和缺失的日志记录不冲突的事务(继续回放日志断点后的日志记录),从而避免备用数据库服务器同步服务的中断。这里需要说明的是,备用数据库根据所述K条日志记录的元信息可以从主用数据库中获取与所述K条日志记录的元信息对应的K条日志记录;将所述K条日志记录与所述备用数据库本地内存维护的日志记录暂停列表进行拼接,并对拼接的日志记录按日志写入顺序进行排序,得到日志记录恢复列表;清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;按日志写入顺序回放所述日志记录恢复列表中的日志记录。
若存在交集,说明当前接收的所述日志记录与所述备用数据库本地内存维护的日志记录存在冲突,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述备用数据库本地内存维护的第二集合中,且将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中。也就是说,当前接收的日志记录与备用数据库本地内存维护的日志记录存在冲突时,将存在冲突的日志记录添加到日志记录暂停列表中,在找回所有缺失的日志记录后一并执行日志记录的回放。需要说明的是,备用数据库需要从所述主用数据库获取日志断点位置所有缺失的日志记录;之后,将所有缺失的日志记录与备用数据库本地内存维护的日志记录暂停列表进行拼接,并对拼接的日志记录按日志写入顺序进行排序,得到日志记录恢复列表进行;为了避免后续发生日志断点时产生日志记录的冲突,在本次对断点日志记录进行回放时,需要清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;按日志写入顺序回放所述日志记录恢复列表中的日志记录;之后继续回放从所述主用数据库同步过来的日志记录。
在现有技术中,当主用数据库和备用数据库同步时出现了日志断点,例如因为网络问题丢失了一条或一段日志记录,如果不应用本申请的缺失容错机制,备用数据库不知道执行后续的日志记录回放是否与缺失的日志记录会不会出现冲突,因此必须要等到从主用数据库获取到日志断点所有缺失的日志记录之后才能继续执行,这样就会中断备用数据库服务器的同步服务。
因此,应用本发明实施例的技术方案,当出现日志断点时且断点缺失的日志记录条数在容错范围之内时,本申请通过在当前接收的日志记录中携带的之前日志记录的元信息中可以获取的连续缺少的日志记录的元信息,能够实现在主备数据库同步过程中存在的日志断点时,备用数据库利用当前接收的日志记录中携带的之前日志记录的元信息知道日志断点中缺失的日志记录中包含哪些事务,修改了哪些数据库记录,从而可以跳过日志断点,继续回放与缺失的日志记录不冲突的日志记录,而与缺失的日志记录存在冲突的日志记录添加到日志记录暂停列表中,并在找回所有缺失的日志记录后一并执行回放的目的。
图3为本申请另一实施例提供的日志记录处理方法的流程示意图,如图3所示,包括:
201、当备用数据库从主用数据库中接收日志记录时不存在日志断点;
具体地,当备用数据库从主用数据库中接收到一条日志记录时,会查询该日志记录的前一条日志记录是否接收到,如果接收到前一条日志记录,则确定不存在日志断点。
202、检测所述备用数据库本地内存维护的第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
203、若不存在交集,则回放当前接收的所述日志记录;
也就是说,当前接收的日志记录与备用数据库本地内存维护的日志记录不存在冲突,可以回放当前接收的日志记录,主备数据同步正常进行。
204、若存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述第二集合中,将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中。
也就是说,虽然当前接收的日志记录没有发生日志断点,但是主备数据库同步过程中曾经出现过日志断点,所以又可能造成,当前接收的日志记录与备用数据库本地内存维护的日志记录存在冲突的情况,此时,可以暂时停止(推迟)回放当前接收的日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述第二集合中,将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将所述日志记录追加到所述日志记录暂停列表中。以便以后发生日志断点的时候,可以在找回所有缺失的日志记录后一并执行回放的目的。
因此,本发明实施例中,在主用数据库生成日志记录时,额外捎带了之前N条日志记录的元信息,使得备用数据库可以利用日志记录的元信息在本地内存中维护日志记录的事物标识和被修改数据的记录标识以及日志记录暂停列表,进而可以在后续发生日志断点的时候,可以利用日志记录暂停列表找回所有缺失的日志记录后一并执行回放的目的。
图4为本申请又一实施例提供的日志记录处理方法的流程示意图,如图4所示,包括:
301、当备用数据库从主用数据库中接收日志记录时检测到日志断点;
具体地,当备用数据库从主用数据库中接收到一条日志记录时,会查询该日志记录的前一条日志记录是否接收到,如果没有接收到前一条日志记录,则确定存在日志断点,即意味着当前接收的这条日志记录紧连着一个日志断点;假设接收到前一条日志记录,则确定不存在日志断点。
302、确定所述日志断点之前存在K条连续缺少的日志记录;
具体地,备用数据库根据当前接收的日志记录获取日志断点之前连续缺少的日志记录的条数,这里假设连续缺少的日志记录的条数为K条。
303、若K大于等于预设的容错条数阈值N,则暂停回放当前接收的所述日志记录;
当K条连续缺少的日志记录超过本申请设置的容错条数阈值N时,不允许备用数据库跳过日志断点,此时,需要暂停回放从主用数据库同步过来的日志记录。
304、从所述主用数据库中获取日志断点位置所有缺失的日志记录;
305、回放所有缺失的日志记录之后,再对当前接收的所述日志记录进行回放。
可选地,在本申请中,回放所有缺失的日志记录的具体过程包括:
将所有缺失的日志记录与所述备用数据库本地内存维护的日志记录暂停列表进行拼接,并对拼接的日志记录按日志写入顺序进行排序,得到日志记录恢复列表;
清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;
按日志写入顺序回放所述日志记录恢复列表中的日志记录。
本发明实施例中,当出现日志断点时且断点缺失的日志记录条数在容错范围之外时,需要暂停回放从主用数据库同步过来的日志记录,通过在当前接收的日志记录中携带的之前日志记录的元信息,结合备用数据库本地内存中维护的日志记录的事物标识和被修改数据的记录标识以及日志记录暂停列表中,进而可以在后续发生日志断点的时候,可以利用日志记录暂停列表找回所有缺失的日志记录后一并执行回放的目的。
图5为本申请一实施例提供的日志记录处理装置的结构示意图,如图5所示,包括:
检测模块,用于当备用数据库从主用数据库中接收日志记录时检测到日志断点;且检测到所述日志断点之前存在K条连续缺少的日志记录;
回放模块,用于在确定K小于预设的容错条数阈值N,且在确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突时,回放当前接收的所述日志记录。
可选地,所述备用数据库当前接收的所述日志记录中携带有所述日志记录之前的连续N条日志记录的元信息,所述元信息包含事务标识、被修改的数据记录的标识集合。
所述装置还包括:
获取模块,用于从当前接收的所述日志记录中获取所述连续缺少的K条日志记录的元信息;
确定模块,用于根据所述连续缺少的K条日志记录的元信息,确定当前接收的所述日志记录与所述连续缺少的K条日志记录没有冲突。
可选地,所述的装置还包括:
添加模块,用于遍历所述K条日志记录的元信息,将每条元信息中包含的所有被修改的数据记录的标识都添加到第一集合中,将每条元信息中包含的事务标识添加到第二集合中;
所述第一集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的日志记录中包含的所有被修改的数据记录的标识;
所述第二集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的事务标识。
可选地,所述检测模块,还用于检测所述第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
所述确定模块,还用于在不存在交集时,确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录没有冲突。
可选地,所述添加模块,还用于在检测到存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述备用数据库本地内存维护的第二集合中,且将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中;
所述日志记录暂停列表为所述备用数据库在本地内存维护的列表,用来记录因为日志断点造成的所述备用数据库已接收且不能回放的日志记录。
可选地,所述获取模块,还用于根据所述K条日志记录的元信息从所述主用数据库中获取与所述连续缺失的K条日志记录的元信息对应的K条日志记录;
所述回放模块,还用于将所述K条日志记录和所述日志记录暂停列表中的日志记录合并到日志记录恢复列表中;清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;按日志写入顺序回放所述日志记录恢复列表中的日志记录。
可选地,所述检测模块,还用于从所述主用数据库中接收到日志记录时不存在日志断点;进一步检测所述备用数据库本地内存维护的第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
所述回放模块,还用于在检测到不存在交集时,回放当前接收的所述日志记录;
所述添加模块,还用于在检测到存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述第二集合中,将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中。
可选地,所述获取模块,还用于在确定K大于等于预设的容错条数阈值N时,暂停回放当前接收的所述日志记录,从所述主用数据库获取日志断点位置所有缺失的日志记录;
所述回放模块,还用于回放所有缺失的日志记录之后,再对当前接收的所述日志记录进行回放。
可选地,所述回放模块,具体用于将所有缺失的日志记录与所述备用数据库本地内存维护的日志记录暂停列表进行拼接,并对拼接的日志记录按日志写入顺序进行排序,得到日志记录恢复列表;清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;按日志写入顺序回放所述日志记录恢复列表中的日志记录。
本发明实施例所述的装置可以上述实施例所示的方法,其实现原理和技术效果不再赘述。
以上描述了日志记录处理装置的内部功能和结构,实际中,该日志记录处理装置可作为备用数据库的服务器实现,如图6所示,一种数据库服务器包括:存储器、处理器以及通信组件。
通信组件,用于从主用数据库服务器接收日志记录;
所述存储器,用于存储计算机程序;
所述处理器,耦合至所述存储器,用于执行所述计算机程序,以用于:
在所述通信组件从主用数据库服务器接收日志记录时检测到日志断点;
确定所述日志断点之前存在K条连续缺少的日志记录;
若K小于预设的容错条数阈值N,在确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突时,回放当前接收的所述日志记录。
可选地,处理器具体用于:当通信组件从所述主用数据库中接收到日志记录时,若查询到不存在所述日志记录的前一条日志记录,则确定存在日志断点。
可选地,通信组件当前接收的所述日志记录中携带有所述日志记录之前的连续N条日志记录的元信息,所述元信息包含事务标识、被修改的数据记录的标识集合。基于此,处理器具体用于:从当前接收的所述日志记录中获取所述连续缺少的K条日志记录的元信息;根据所述连续缺少的K条日志记录的元信息,确定当前接收的所述日志记录与所述连续缺少的K条日志记录没有冲突。
进一步,处理器还用于:遍历所述K条日志记录的元信息,将每条元信息中包含的所有被修改的数据记录的标识都添加到第一集合中,将每条元信息中包含的事务标识添加到第二集合中。其中,所述第一集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的日志记录中包含的所有被修改的数据记录的标识;所述第二集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的事务标识。
可选地,处理器具体用于:检测所述第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;若不存在交集,则确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录没有冲突。
进一步,处理器还用于:若存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述备用数据库本地内存维护的第二集合中,且将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中。其中,所述日志记录暂停列表为所述备用数据库在本地内存维护的列表,用来记录因为日志断点造成的所述备用数据库已接收且不能回放的日志记录。
可选地,处理器还用于:根据所述K条日志记录的元信息从所述主用数据库中获取与所述连续缺失的K条日志记录的元信息对应的K条日志记录;将所述K条日志记录和所述日志记录暂停列表中的日志记录合并到日志记录恢复列表中;清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;按日志写入顺序回放所述日志记录恢复列表中的日志记录。
可选地,处理器还用于:当通信组件从所述主用数据库中接收到日志记录时不存在日志断点;检测所述备用数据库本地内存维护的第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;若不存在交集,则回放当前接收的所述日志记录;若存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述第二集合中,将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中。
可选地,处理器还用于:若K大于等于预设的容错条数阈值N,则所述备用数据库暂停回放当前接收的所述日志记录;从所述主用数据库获取日志断点位置所有缺失的日志记录;回放所有缺失的日志记录之后,再对当前接收的所述日志记录进行回放。
进一步,处理器在回放所有缺失的日志记录时,具体用于:将所有缺失的日志记录与所述备用数据库本地内存维护的日志记录暂停列表进行拼接,并对拼接的日志记录按日志写入顺序进行排序,得到日志记录恢复列表;清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;按日志写入顺序回放所述日志记录恢复列表中的日志记录。
进一步,如图6所示,数据库服务器还包括:显示器、电源组件、音频组件等其它组件。图6中仅示意性给出部分组件,并不意味着存储管理设备只包括图6所示组件。
通信组件,可被配置为便于通信组件所属设备和其他设备之间有线或无线方式的通信。通信组件所属设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
显示器,可以包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
电源组件,为电源组件所属设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所属设备生成、管理和分配电力相关联的组件。
音频组件,被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所属设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本发明实施例还提供了一种计算机存储介质,用于储存日志记录处理装置所用的计算机软件指令,所述计算机软件指令包含了用于执行上述日志记录处理方法为日志记录处理装置所涉及的程序。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (15)

1.一种日志记录处理方法,其特征在于,包括:
当备用数据库从主用数据库中接收日志记录时检测到日志断点;
确定所述日志断点之前存在K条连续缺少的日志记录;
若K小于预设的容错条数阈值N,则在确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突时,回放当前接收的所述日志记录。
2.根据权利要求1所述的方法,其特征在于,所述当备用数据库从主用数据库中接收日志记录时检测到日志断点,包括:
当所述备用数据库从所述主用数据库中接收到日志记录时,若查询到不存在所述日志记录的前一条日志记录,则确定存在日志断点。
3.根据权利要求1所述的方法,其特征在于:所述备用数据库当前接收的所述日志记录中携带有所述日志记录之前的连续N条日志记录的元信息,所述元信息包含事务标识、被修改的数据记录的标识集合;
所述确定当前接收的所述日志记录与所述连续缺少的K条日志记录没有冲突,包括:
从当前接收的所述日志记录中获取所述连续缺少的K条日志记录的元信息;
根据所述连续缺少的K条日志记录的元信息,确定当前接收的所述日志记录与所述连续缺少的K条日志记录没有冲突。
4.根据权利要求3所述的方法,其特征在于,还包括:
遍历所述K条日志记录的元信息,将每条元信息中包含的所有被修改的数据记录的标识都添加到第一集合中,将每条元信息中包含的事务标识添加到第二集合中;
所述第一集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的日志记录中包含的所有被修改的数据记录的标识;
所述第二集合为所述备用数据库在本地内存维护的集合,用于记录因为日志断点造成的暂时不能在所述备用数据库中回放的事务标识。
5.根据权利要求4所述的方法,其特征在于,所述确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录没有冲突,包括:
检测所述第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
若不存在交集,则确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录没有冲突。
6.根据权利要求5所述的方法,其特征在于,还包括:
若存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到所述备用数据库本地内存维护的第二集合中,且将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中;
所述日志记录暂停列表为所述备用数据库在本地内存维护的列表,用来记录因为日志断点造成的所述备用数据库已接收且不能回放的日志记录。
7.根据权利要求6所述的方法,其特征在于,还包括:
根据所述K条日志记录的元信息从所述主用数据库中获取与所述连续缺少的K条日志记录的元信息对应的K条日志记录;
将所述K条日志记录和所述日志记录暂停列表中的日志记录合并到日志记录恢复列表中;
清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;
按日志写入顺序回放所述日志记录恢复列表中的日志记录。
8.根据权利要求1所述的方法,其特征在于,还包括:
当所述备用数据库从所述主用数据库中接收到日志记录时不存在日志断点;
检测所述备用数据库本地内存维护的第一集合与当前接收的所述日志记录中所有被修改的数据记录的标识集合是否存在交集;
若不存在交集,则回放当前接收的所述日志记录;
若存在交集,则暂停回放当前接收的所述日志记录,将当前接收的所述日志记录中所包含的事务标识添加到第二集合中,将所述事务标识对应的事务中包含的所有被修改的数据记录的记录标识都添加到所述第一集合中,并将当前接收的所述日志记录添加到所述日志记录暂停列表中。
9.根据权利要求1所述的方法,其特征在于,还包括:
若K大于等于预设的容错条数阈值N,则所述备用数据库暂停回放当前接收的所述日志记录;
从所述主用数据库获取日志断点位置所有缺失的日志记录;
回放所有缺失的日志记录之后,再对当前接收的所述日志记录进行回放。
10.根据权利要求9所述的方法,其特征在于,回放所有缺失的日志记录,包括:
将所有缺失的日志记录与所述备用数据库本地内存维护的日志记录暂停列表进行拼接,并对拼接的日志记录按日志写入顺序进行排序,得到日志记录恢复列表;
清空所述备用数据库本地内存维护的第一集合、第二集合和日志记录暂停列表;
按日志写入顺序回放所述日志记录恢复列表中的日志记录。
11.一种日志记录处理装置,其特征在于,包括:
检测模块,用于当备用数据库从主用数据库中接收日志记录时检测到日志断点;且检测到所述日志断点之前存在K条连续缺少的日志记录;
回放模块,用于在确定K小于预设的容错条数阈值N,且在确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突时,回放当前接收的所述日志记录。
12.一种数据库服务器,用于管理备用数据库,其特征在于,所述数据库服务器包括:存储器、处理器以及通信组件;
所述通信组件,用于从主用数据库中接收日志记录;
所述存储器,用于存储计算机程序;
所述处理器,耦合至所述存储器,用于执行所述计算机程序,以用于:
在所述通信组件从主用数据库中接收日志记录时检测到日志断点;
确定所述日志断点之前存在K条连续缺少的日志记录;
若K小于预设的容错条数阈值N,在确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突时,回放当前接收的所述日志记录。
13.一种数据库系统,其特征在于,包括:主用数据库、主用数据库服务器、备用数据库以及备用数据库服务器;
所述主用数据库服务器,用于从所述主用数据库中读取日志记录并发送给所述备用数据库服务器;
所述备用数据库服务器,用于在从所述主用数据库服务器接收日志记录时检测到日志断点;确定所述日志断点之前存在K条连续缺少的日志记录;以及在K小于预设的容错条数阈值N时,确定当前接收的所述日志记录与所述备用数据库已接收且因为日志断点暂时不能回放的日志记录以及所述连续缺少的K条日志记录没有冲突,并回放当前接收的所述日志记录。
14.根据权利要求13所述的数据库系统,其特征在于,所述主用数据库服务器还用于:获取所述备用数据库服务器当前接收的所述日志记录之前的连续N条日志记录的元信息,所述元信息包含事务标识、被修改的数据记录的标识集合,并将所述日志记录之前的连续N条日志记录的元信息携带在所述日志记录中发送给所述备用数据库服务器。
15.根据权利要求14所述的数据库系统,其特征在于,所述备用数据库服务器具体用于:
从当前接收的所述日志记录中获取所述连续缺少的K条日志记录的元信息;
根据所述连续缺少的K条日志记录的元信息,确定当前接收的所述日志记录与所述连续缺少的K条日志记录没有冲突。
CN201710857469.0A 2017-09-21 2017-09-21 日志记录处理方法和装置 Active CN110019506B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710857469.0A CN110019506B (zh) 2017-09-21 2017-09-21 日志记录处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710857469.0A CN110019506B (zh) 2017-09-21 2017-09-21 日志记录处理方法和装置

Publications (2)

Publication Number Publication Date
CN110019506A CN110019506A (zh) 2019-07-16
CN110019506B true CN110019506B (zh) 2023-03-31

Family

ID=67186331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710857469.0A Active CN110019506B (zh) 2017-09-21 2017-09-21 日志记录处理方法和装置

Country Status (1)

Country Link
CN (1) CN110019506B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391628B (zh) * 2017-06-30 2021-04-09 北京奇虎科技有限公司 数据同步方法及装置
CN113761051A (zh) * 2020-07-01 2021-12-07 北京沃东天骏信息技术有限公司 消息推送方法、数据获取方法、装置、系统、设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100251031A1 (en) * 2009-03-24 2010-09-30 Jason Nieh Systems and methods for recording and replaying application execution
CN104899117A (zh) * 2015-06-17 2015-09-09 江苏师范大学 面向非易失性内存的内存数据库并行日志方法
CN105242979A (zh) * 2015-09-09 2016-01-13 高胜法 一种具有前向恢复特征的后向恢复容错方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100251031A1 (en) * 2009-03-24 2010-09-30 Jason Nieh Systems and methods for recording and replaying application execution
CN104899117A (zh) * 2015-06-17 2015-09-09 江苏师范大学 面向非易失性内存的内存数据库并行日志方法
CN105242979A (zh) * 2015-09-09 2016-01-13 高胜法 一种具有前向恢复特征的后向恢复容错方法

Also Published As

Publication number Publication date
CN110019506A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
US9179199B2 (en) Media playback across multiple devices
CA2790734C (en) Data synchronization between a data center environment and a cloud computing environment
CN105893459A (zh) 媒体内容回放系统和方法
US8909662B2 (en) Message based mobile object with native PIM integration
CN105893457A (zh) 媒体内容回放系统和方法
CN109313634A (zh) 用于单个文件的文件同步暂停
CN103138912A (zh) 数据同步方法及系统
US20220276993A1 (en) Watermark-based techniques for change-data-capture
CN110019506B (zh) 日志记录处理方法和装置
CN104169902A (zh) 同步本地和远程数据
US20200104404A1 (en) Seamless migration of distributed systems
CN107451172A (zh) 用于版本管理系统的数据同步方法及设备
CN110309156A (zh) 数据库系统、数据库更新、扩容方法及设备
CN109600410A (zh) 数据存储系统以及方法
CN103020236B (zh) 一种视频录像检索方法、系统及分布式数据库系统
CN113806301A (zh) 数据同步方法、装置、服务器及存储介质
CN102467940A (zh) 一种无索引视频文件快进快退方法、装置以及播放系统
CN105893458A (zh) 媒体内容回放系统和方法
CN105760251B (zh) 一种备份数据的方法和装置
CN109558297A (zh) 内存管理方法及装置
CN115827774A (zh) 数据同步方法及计算设备
CN113438275B (zh) 数据迁移方法、装置、存储介质及数据迁移设备
CN113515317A (zh) 数据恢复的方法、装置
CN110647421B (zh) 数据库处理方法、装置、系统以及电子设备
CN103092988A (zh) 一种直接在桌面管理手机媒体资源的实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210906

Address after: Room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: ALIBABA GROUP HOLDING Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211118

Address after: No.12, Zhuantang science and technology economic block, Xihu District, Hangzhou City, Zhejiang Province, 310012

Applicant after: Aliyun Computing Co.,Ltd.

Address before: 310052 room 508, 5th floor, building 4, No. 699 Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Alibaba (China) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant