CN112084265A - 一种日志数据同步方法、装置、服务器及存储介质 - Google Patents
一种日志数据同步方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN112084265A CN112084265A CN202010953290.7A CN202010953290A CN112084265A CN 112084265 A CN112084265 A CN 112084265A CN 202010953290 A CN202010953290 A CN 202010953290A CN 112084265 A CN112084265 A CN 112084265A
- Authority
- CN
- China
- Prior art keywords
- log data
- storage medium
- slave database
- database
- read
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000001360 synchronised effect Effects 0.000 claims abstract description 66
- 230000008569 process Effects 0.000 claims abstract description 40
- 230000004913 activation Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 15
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种日志数据同步方法、装置、服务器及存储介质,生成第一日志数据,并在主数据库对应的第一存储介质中写入第一日志数据,将第一日志数据同步至从数据库,并根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据,以在生成第一日志数据后直接同步第一日志数据至从数据库中,在第一日志数据同步过程中省去因写入第一日志数据到第一存储介质以及从第一存储介质中读取第一日志数据产生的耗时,从而减小第一日志数据的同步耗时。并且在同步反馈消息的接收情况指示没有成功同步第一日志数据的情况下再次向从数据库发送第一日志数据,以保证主数据库和从数据库中的日志数据一致。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及一种日志数据同步方法、装置、服务器及存储介质。
背景技术
目前为了保障数据库的安全性和高可用性,搭建数据库的一个备份库,其中需要搭建备份库的数据库为主数据库,备份库为从数据库,主数据库和从数据库之间为了保证数据的一致性,主数据库写数据过程中生成的日志数据同步发送到从数据库中。同步发送日志数据到从数据库的过程如下:
通过主数据库对应的线程从磁盘中读取日志数据,并将读取到的日志数据发送至从数据库中,如图1所示。主数据库对应的发送线程从磁盘中读取日志数据,再将读取到的日志数据发送给从数据库对应的接收线程。
从数据库对应的接收线程接收到日志数据之后,将日志数据写入到内存中,从数据库对应的加载线程从内存中读取日志数据并根据日志数据加载数据到从数据库中,使主数据库和从数据库中的数据保持一致性。
上述日志数据同步过程需要将日志数据保存到磁盘,然后从磁盘中读取日志数据并同步,保存日志数据到磁盘再从磁盘中读取日志数据是一个非常耗时的处理过程,增大日志数据同步耗时。
发明内容
有鉴于此,本申请的目的在于提供一种日志数据同步方法、装置、服务器及存储介质,用于减小日志数据同步耗时。技术方案如下:
一方面,本申请提供一种日志数据同步方法,所述方法包括:
生成第一日志数据;
在主数据库对应的第一存储介质中写入第一日志数据;
将所述第一日志数据同步至从数据库;
根据所述从数据库发送的同步反馈消息的接收情况判断是否再次向所述从数据库发送所述第一日志数据。
可选的,所述将所述第一日志数据同步至从数据库中包括:在所述主数据库对应的第一存储介质中写入第一日志数据过程中,同步所述第一日志数据至所述从数据库。
可选的,所述根据所述从数据库发送的同步反馈消息的接收情况判断是否再次向所述从数据库发送所述第一日志数据包括:
根据是否接收到所述同步反馈消息,从所述第一存储介质和主数据库对应的第二存储介质中确定待读取的存储介质;
如果确定的待读取的存储介质为所述第一存储介质,在将所述第二日志数据写入到所述第一存储介质的过程中同步发送所述第二日志数据至所述从数据库,所述第二日志数据的生成时间晚于所述第一日志数据的生成时间;
如果确定的待读取的存储介质为所述第二存储介质,至少将所述第二存储介质中的所述第一日志数据发送至所述从数据库,其中,所述第一存储介质的读写速度大于所述第二存储介质的读写速度。
可选的,所述根据是否接收到所述同步反馈消息,从所述第一存储介质和主数据库对应的第二存储介质中确定待读取的存储介质包括:
如果接收到所述同步反馈消息,确定所述第一存储介质为所述待读取的存储介质;
如果没有接收到所述同步反馈消息,确定所述第二存储介质为所述待读取的存储介质;
所述方法还包括:从所述第一存储介质中读取第二日志数据,且将所述第二日志数据写入到所述第二存储介质中。
可选的,所述方法还包括:
如果接收到所述同步反馈消息,记录与所述同步反馈消息对应的第一日志数据,并生成数据标识,所述数据标识用于指示所述第一日志数据同步成功。
可选的,所述如果确定的待读取的存储介质为所述第二存储介质,至少将所述第二存储介质中的所述第一日志数据发送至所述从数据库包括:
如果确定的待读取的存储介质为所述第二存储介质,在接收到所述从数据库发送的激活消息后,从所述激活消息中提取数据标识,所述数据标识为所述从数据库在发送所述激活消息前同步成功的日志数据的标识,所述激活消息用于指示所述从数据库与所述主数据库之间的通信状态从异常状态变为正常状态;
基于所述数据标识,至少从所述第二存储介质中读取所述第一日志数据以及生成时间晚于所述第一日志数据的第二日志数据;
将从所述第二存储介质中读取到的日志数据发送到所述从数据库中。
可选的,所述方法还包括:
在将从所述第二存储介质中读取到的日志数据发送到所述从数据库后,如果接收到所述从数据库反馈的同步反馈消息,继续将从所述第二存储介质中读取的第二日志数据发送至所述从数据库中,并从所述同步反馈消息中获取指示所述从数据库同步成功的数据标识;
基于所获取的数据标识,从所述第一存储介质中读取第二日志数据,并发送至所述从数据库中;
如果确定从所述第二存储介质中读取的第二日志数据与从所述第一存储介质中读取的第二日志数据匹配,停止从所述第二存储介质中读取第二日志数据。
可选的,所述确定从所述第二存储介质中读取的第二日志数据与从所述第一存储介质中读取的第二日志数据匹配的方法包括:
获取从所述第二存储介质中读取的第二日志数据的第一数据标识;
获取从所述第一存储介质中读取的第二日志数据的第二数据标识;
若所述第一数据标识大于所述第二数据标识,确定从所述第二存储介质中读取的第二日志数据与从所述第一存储介质中读取的第二日志数据匹配。
可选的,所述方法还包括:
在所述第一存储介质中已写入的日志数据满足预设条件的情况下,从已写入的日志数据中确定待删除的日志数据;
将所述待删除的日志数据从所述第一存储介质中删除。
可选的,所述第一存储介质为内存,所述第二存储介质为磁盘。
另一方面,本申请提供一种日志数据同步装置,所述装置包括:
生成单元,用于生成第一日志数据;
写入单元,用于在主数据库对应的第一存储介质中写入第一日志数据;
同步单元,用于将所述第一日志数据同步至从数据库;
判断处理单元,用于根据所述从数据库发送的同步反馈消息的接收情况判断是否再次向所述从数据库发送所述第一日志数据。
再一方面,本申请提供一种服务器,其特征在于,所述服务器包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述日志数据同步方法。
再一方面,本申请提供一种存储介质,所述存储介质中存储有指令,当所述存储介质中的指令被执行时实现上述日志数据同步方法。
藉由上述技术方案,生成第一日志数据,并在主数据库对应的第一存储介质中写入第一日志数据,将第一日志数据同步至从数据库,并根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据,以在生成第一日志数据后直接同步第一日志数据至从数据库中,在第一日志数据同步过程中省去因写入第一日志数据到第一存储介质以及从第一存储介质中读取第一日志数据产生的耗时,从而减小第一日志数据的同步耗时。并且根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据,这样可以在同步反馈消息的接收情况指示没有成功同步第一日志数据的情况下再次向从数据库发送第一日志数据,以保证主数据库和从数据库中的日志数据一致。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有日志数据的发送示意图;
图2是本申请实施例提供的一种日志数据同步方法的流程图;
图3是本申请实施例提供的判断是否再次发送第一日志数据的流程图;
图4是本申请实施例提供的从第二存储介质中读取日志数据的流程图;
图5是本申请实施例提供的另一种日志数据同步方法的流程图;
图6是本申请实施例提供的日志数据同步方法的示意图;
图7是本申请实施例提供的一种日志数据同步装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图2,其示出了本申请实施例提供的一种日志数据同步方法的流程,可以包括以下步骤:
101:生成第一日志数据。在本实施例中,第一日志数据是在向主数据库中写入数据过程中生成,向主数据库写入数据可以由主数据库对外提供事务处理的第一线程执行,第一线程可以接收待写入主数据库库中的数据,在将数据写入到主数据库的过程中,第一线程生成当前写入数据对应的第一日志数据。
102:在主数据库对应的第一存储介质中写入第一日志数据,以通过第一存储介质暂时存储第一日志数据。如第一存储介质可以是内存,通过内存暂时存储第一日志数据,这样既能够暂时存储第一日志数据又能够从第一存储介质中读取第一日志数据,加快第一日志数据的读取速度。作为第一存储介质的内存可以是主数据库申请的专门用于存储主数据库的日志数据的内存,也可以是存储主数据库的设备所运行操作系统的内存,对此本实施例不进行限定。
在本实施例中,向第一存储介质中写入第一日志数据可以由上述第一线程执行,意味着第一线程既能够向主数据库中写入数据生成第一日志数据,又能够具备向第一存储介质写入第一日志数据的功能,从而利用第一线程完成多种操作,避免主数据库占用过多的线程。
103:将第一日志数据同步至从数据库。
第一日志数据在生成之后可直接同步至从数据库中,相对于写入第一日志数据至第一存储介质中再从第一存储介质中读取第一日志数据同步来说,可以在同步第一日志数据至从数据库过程中省去因写入第一日志数据至第一存储介质再从第一存储介质中读取第一日志数据产生的耗时。
其中,在第一存储介质中写入第一日志数据和将第一日志数据同步至从数据库的关系是:在向第一存储介质中写入第一日志数据之前,将第一日志数据同步至从数据库中;或者,在主数据库对应的第一存储介质中写入第一日志数据过程中,同步第一日志数据至从数据库,这两种方式都可以省去因写入第一日志数据至第一存储介质再从第一存储介质中读取第一日志数据产生的耗时。
第一线程除了能够生成第一日志数据之外,还能够将第一日志数据同步至从数据库,为了加快向从数据库同步第一日志数据,第一线程可以先将第一日志数据同步至从数据库中,然后将第一日志数据写入到第一存储介质中。若第一线程能够并行执行这两项操作,则第一线程可以在第一存储介质中写入第一日志数据过程中,同步第一日志数据至从数据库。
在本实施例中,若通过第一线程向从数据库同步日志数据,第一线程可以在生成多条日志数据的情况下,向从数据库一次性发送多条日志数据以及一次性写入多条日志数据至第一存储介质,防止日志数据的频繁发送和在第一存储介质中的频繁写入。第一线程每次处理的日志数据可相同也可以不同,例如预先设置第一线程每次处理的日志条数,在生成的日志数据的条数到达日志条数时向从数据库发送当前生成的多条日志数据以及写入当前生成的多条日志数据至第一存储介质。为了区别每次处理的日志数据,可通过日志标识符,如lsn(log sequence number,日志序号)标识日志数据,通过日志标识符确定当前生成的日志数据的条数是否达到日志条数。
104:根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据。
从数据库发送的同步反馈消息的接收情况用于表明是否接收到从数据库发送的同步反馈消息,以通过同步反馈消息指示从数据库成功接收到第一日志数据,之所以发送同步反馈消息是为了保证主数据库和从数据库的数据一致性,以防止因漏发日志数据导致的数据不一致问题。
同步反馈消息是在从数据库与主数据库之间的通信状态为正常状态的情况下发送,如果从数据库与主数据库之间的通信状态为正常状态,将第一日志数据同步至从数据库过程中,从数据库能够准确接收到第一日志数据,然后向主数据库发送同步反馈消息;如果从数据库与主数据库之间的通信状态为异常状态,从数据库可能没有接收到第一日志数据,相对应的从数据库也不会发送同步反馈消息。
如果接收情况表明接收到从数据库发送的同步反馈消息,说明从数据库成功同步第一日志数据,在这种情况下不会再次向从数据库发送第一日志数据;如果接收情况表明没有接收到从数据库发送的同步反馈消息,说明从数据库没有成功同步第一日志数据,在这种情况下会再次向从数据库发送第一日志数据,以保证主数据库和从数据库中的日志数据一致。
因第一存储介质可能会暂时存储第一日志数据,如果再次向从数据库发送第一日志数据时第一存储介质中仍存储有第一日志数据,则可以从第一存储介质中读取第一日志数据进行同步;如果再次向从数据库发送第一日志数据时第一存储介质中存储的第一日志数据已删除,并已经将第一日志数据转移到第二存储介质中,则从第二存储介质中读取第一日志数据进行同步。
第二存储介质的读写速度小于第一存储介质的读写速度,但第二存储介质中日志数据的存储时长大于第一存储介质中日志数据的存储时长,虽然从第二存储介质中读取第一日志数据会增大同步耗时,但是能够增加同步至从数据库中的日志数据的命中率,保证主数据库和从数据库中的日志数据一致。
藉由上述技术方案,生成第一日志数据,并在主数据库对应的第一存储介质中写入第一日志数据,将第一日志数据同步至从数据库,并根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据,以在生成第一日志数据后直接同步第一日志数据至从数据库中,在第一日志数据同步过程中省去因写入第一日志数据到第一存储介质以及从第一存储介质中读取第一日志数据产生的耗时,从而减小第一日志数据的同步耗时。并且根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据,这样可以在同步反馈消息的接收情况指示没有成功同步第一日志数据的情况下再次向从数据库发送第一日志数据,以保证主数据库和从数据库中的日志数据一致。
在本实施例中,根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据的一种可行方式如图3所示,可以包括以下步骤:
201:根据是否接收到同步反馈消息,从第一存储介质和主数据库对应的第二存储介质中确定待读取的存储介质,以从第一存储介质和第二存储介质中选择一个存储介质读取日志数据。
其中,第一存储介质的读写速度大于第二存储介质的读写速度,如第一存储介质为内存,第二存储介质为磁盘,本实施例对第一存储介质和第二存储介质不进行限定。
如果接收到同步反馈消息,说明从数据库与主数据库之间的通信状态为正常状态,第一日志数据成功同步至从数据库中,可继续向从数据库同步日志数据。并且如果接收到同步反馈消息,确定第一存储介质为待读取的存储介质,之所以将第一存储介质确定为待读取的存储介质是因为:第一日志数据同步至从数据库到接收到同步反馈消息间隔的时间较短,第一存储介质中存储有生成时间晚于第一日志数据的生成时间的第二日志数据,由此可以将第一存储介质确定为待读取的存储介质。
如果没有接收到同步反馈消息,说明从数据库与主数据库之间的通信状态为异常状态,第一日志数据没有成功同步至从数据库中,需要再次向从数据库发送第一日志数据。并且再次向从数据库发送第一日志数据是在从数据库与主数据库之间的通信状态为正常状态的情况下,从数据库与主数据库之间的通信状态从异常状态切换至正常状态可能会间隔较长时间,超过第一日志数据在第一存储介质中存储的有效时间,那么如果将第一存储介质确定为待读取的存储介质可能会无法获取到第一日志数据,由此本实施例如果没有接收到同步反馈消息,将第二存储介质确定为待读取的存储介质,以提高命中率。
在本实施例中,可以设置同步反馈消息的反馈时间,反馈时间用于指示从日志数据开始同步到接收到同步反馈消息间隔的时间,从开始同步日志数据开始计算,在间隔反馈时间没有接收到同步反馈消息,则视为没有接收到同步反馈消息。
202:如果确定的待读取的存储介质为第一存储介质,在将第二日志数据写入到第一存储介质的过程中同步发送第二日志数据至从数据库,第二日志数据的生成时间晚于第一日志数据的生成时间。
如果确定的待读取的存储介质为第一存储介质,且当前写入到第一存储介质中的第二日志数据是生成时间与第一日志数据的生成时间相邻且晚于第一日志数据的生成时间,则在将第二日志数据写入到第一存储介质的过程中同步发送第二日志数据至从数据库,与同步第一日志数据类似可以使第二日志数据的写入和第二日志数据的同步并行执行,减少同步耗时。
如果当前写入到第一存储介质中的第二日志数据的生成时间晚于第一日志数据的生成时间,但是与第一日志数据的生成时间相隔至少一条第二日志数据,说明在接收到同步反馈消息时已经完成第二日志数据的生成和写入,此时从第一存储介质中读取第二日志数据并同步发送第二日志数据至从数据库中。
203:如果确定的待读取的存储介质为第二存储介质,至少将第二存储介质中的第一日志数据发送至从数据库。
如果没有接收到同步反馈消息,确定第二存储介质为待读取的存储介质,因为如果没有接收到同步反馈消息,说明第一日志数据没有同步成功,在这种情况下需要从第二存储介质中读取第一日志数据,然后同步至从数据库中。向从数据库再次同步第一日志数据是在从数据库与主数据库之间的通信状态从异常状态切换为正常状态的情况下,从异常状态至正常状态间隔的时长内,除了第一日志数据没有成功同步之外,生成时间晚于第一日志数据的生成时间的第二日志数据也可能没有成功同步,因此本实施例可以将第二存储介质中的第一日志数据和第二日志数据等发送至从数据库中。
在本实施例中,如果确定的待读取的存储介质为第二存储介质,至少将第二存储介质中的第一日志数据发送至从数据库的流程如图4所示,可以包括以下步骤:
301:如果确定的待读取的存储介质为第二存储介质,在接收到从数据库发送的激活消息后,从激活消息中提取数据标识,数据标识为从数据库在发送激活消息前同步成功的日志数据的标识,激活消息用于指示从数据库与主数据库之间的通信状态从异常状态变为正常状态。
302:基于数据标识,至少从第二存储介质中读取第一日志数据以及生成时间晚于第一日志数据的第二日志数据。
在从数据库与主数据库之间的通信状态为异常状态时,从数据库没有发送同步反馈消息,说明第一日志数据没有成功同步至从数据库,且因为在同步第一日志数据过程中没有接收到同步反馈消息,说明生成时间早于第一日志数据的生成时间且生成时间与第一日志数据的生成时间相邻的日志数据(简称为前一条日志数据)成功同步至从数据库中,则激活消息中携带的数据标识为第一日志数据的前一条日志数据的数据标识。
因激活消息中携带的数据标识为第一日志数据的前一条日志数据的数据标识,那么基于激活消息中的数据标识,可以确定当前需要从第二存储介质中读取第一日志数据。并且从异常状态至正常状态间隔的时长内,除了第一日志数据没有成功同步之外,生成时间晚于第一日志数据的生成时间的第二日志数据也可能没有成功同步,基于此还可以从第二存储介质中读取生成时间晚于第一日志数据的第二日志数据,以将第一日志数据和生成时间晚于第一日志数据的第二日志数据都同步至从数据库中。
例如本实施例在生成第一日志数据和第二日志数据过程中,通过日志标识符,如lsn标识日志数据,则同步反馈消息中可携带同步成功的日志数据的日志标识符,将日志标识符确定为数据标识。并且在生成第一日志数据和第二日志数据过程中,为各条日志数据分配的日志标识符是连续的,如每个lsn相差1,则将日志标识符确定为数据标识的情况下,数据标识也是连续的,由此通过激活消息中的数据标识可确定出成功同步第一日志数据的前一条日志数据,当前需要同步第一日志数据至从数据库中。
303:将从第二存储介质中读取到的日志数据发送到从数据库中。
为了能够从第二存储介质中读取到第二日志数据,本实施例提供的日志数据同步方法还包括:从第一存储介质中读取第二日志数据,且将第二日志数据写入到第二存储介质中。
其中,第二日志数据写入到第二存储介质可以是在等待同步反馈消息过程中执行,使得写入第二日志数据到第二存储介质和等待同步反馈消息是并行处理的,同样的第一日志数据写入到第二存储介质的过程也不需要等待同步反馈消息,这样向第二存储介质写入日志数据时就不需要等待同步反馈消息,缩短日志数据从第一存储介质到第二存储介质的时间,提高数据写入速度,且日志数据写入到第二存储介质过程不会影响写入日志数据到第一存储介质,使得日志数据写入到第一存储介质以及从第一存储介质到第二存储介质是一个循环过程,在有数据写入到主数据库过程中就会生成日志数据,就需要将日志数据写入到第一存储介质且需要发送到从数据库,这一过程不会受写入日志数据到第二存储介质的影响,使得日志数据能够及时发送到从数据库中。
此处需要注意的一点是:在生成多条日志数据之后,可以将这多条日志数据写入到第一存储介质中,降低频繁写入数据的次数。例如在本实施例中,可根据写入日志数据到第二存储介质的速度确定写入到第一存储介质中的日志数据的条数,例如写入日志数据到第二存储介质的速度越快,第一存储介质中没有写入到第二存储介质的日志数据越少,第一存储介质中的剩余空间越多,当前可以写入到第一存储介质中的日志数据的条数也越多,相反当前可写入到第一存储介质中的日志数据的条数也越少,这种方式能够根据第一存储介质的剩余空间调整写入到第一存储介质中的日志数据的条数,但是需要占用系统资源进行计算会造成系统资源的占用。或者本实施例可以设置每次写入到第一存储介质的日志数据的条数,虽然固定每次处理的日志数据的条数,但是减少对系统资源的占用。
但是第一存储介质的存储空间有限,为了使得每次生成的日志数据都能够写入到第一存储介质中,本实施例还需要对第一存储介质中的日志数据进行删除操作,如本实施例提供的日志数据同步方法还可以包括:在第一存储介质中已写入的日志数据满足预设条件的情况下,从已写入的日志数据中确定待删除的日志数据;将待删除的日志数据从第一存储介质中删除。
其中,预设条件的一种形式是:第一存储介质中已写入的日志数据占用的存储空间大于预设存储空间,当监测到已写入的日志数据占用的存储空间大于预设存储空间,从已写入的日志数据中确定出待删除的日志数据,如根据已写入的日志数据的生成时间,从已写入的日志数据中确定出待删除的日志数据,如根据已写入的日志数据的生成时间由早至晚的顺序对已写入的日志数据进行排序,选取排序在前N位的日志数据为待删除的日志数据,N为大于等于1的自然数。
预设条件的另一种形式是:第一存储介质中已写入的日志数据的生成时间与当前时间的时间差大于预设时间差,如果监测到第一存储介质中存在生成时间与当前时间的时间差大于预设时间差的日志数据,将这些日志数据确定为待删除的日志数据。
针对上述日志数据同步方法,如果接收到同步反馈消息,记录与同步反馈消息对应的第一日志数据,并生成数据标识,数据标识用于指示第一日志数据同步成功,从而通过数据标识可确定哪些日志数据同步成功,防止日志数据重复发送。
如果在生成第一日志数据和第二日志数据过程中,通过日志标识符,如lsn标识日志数据,则同步反馈消息中可携带同步成功的第一日志数据的日志标识符,将日志标识符确定为数据标识,以通过日志标识符标识生成的日志数据以及同步成功的日志数据。
请参见图5,其示出了本申请实施例提供的另一种日志数据同步方法的流程图,可以包括以下步骤:
401:生成第一日志数据。
402:在主数据库对应的第一存储介质中写入第一日志数据,以通过第一存储介质暂时存储第一日志数据。
403:将第一日志数据同步至从数据库。
404:根据是否接收到同步反馈消息,从第一存储介质和主数据库对应的第二存储介质中确定待读取的存储介质,以从第一存储介质和第二存储介质中选择一个存储介质读取日志数据。
405:如果确定的待读取的存储介质为第一存储介质,在将第二日志数据写入到第一存储介质的过程中同步发送第二日志数据至从数据库,第二日志数据的生成时间晚于第一日志数据的生成时间。
406:如果确定的待读取的存储介质为第二存储介质,至少将第二存储介质中的第一日志数据发送至从数据库。
在本实施例中,步骤401至步骤406的说明请参见上述实施例,对此本实施例不再阐述。
407:在将从第二存储介质中读取到的日志数据发送到从数据库后,如果接收到从数据库反馈的同步反馈消息,继续将从第二存储介质中读取的第二日志数据发送至从数据库中,并从同步反馈消息中获取指示从数据库同步成功的数据标识。
在接收到激活消息的情况下从第二存储介质中读取日志数据发送到从数据库,激活消息指示从数据库与主数据库之间的通信状态从异常状态切换至正常状态,从第二存储介质中读取日志数据发送到从数据库后,能够接收到从数据库反馈的同步反馈消息,以指示从第二存储介质中读取的日志数据成功同步至从数据库中,相对应的同步反馈消息中携带的数据标识是从第二存储介质中读取的日志数据的数据标识。
并且从数据库与主数据库之间的通信状态从异常状态切换至正常状态可能间隔较长时间,导致基于同步反馈消息中的数据标识读取的第二日志数据已经从第一存储介质中转移到第二存储介质中,因此本实施例会继续从第二存储介质中读取第二日志数据,以提高第二日志数据的命中率。
408:基于所获取的数据标识,从第一存储介质中读取第二日志数据,并发送至从数据库中。
基于所获取的数据标识,从第一存储介质中读取第二日志数据的过程与上述基于激活消息中的数据标识读取日志数据的过程相类似,此处不再阐述。但是需要注意的一点是:因为从数据库与主数据库之间的通信状态从异常状态切换至正常状态可能间隔较长时间,第一存储介质中的第二日志数据已经转移到第一存储介质中,所以存在基于所获取的数据标识从第一存储介质中读取不到第二日志数据的情况,但是本实施例能够继续从第二存储介质中读取第二日志数据,以保证从数据库和主数据库之间的日志数据一致。
409:如果确定从第二存储介质中读取的第二日志数据与从第一存储介质中读取的第二日志数据匹配,停止从第二存储介质中读取第二日志数据。
其中确定从第二存储介质中读取的第二日志数据与从第一存储介质中读取的第二日志数据匹配的方法包括:获取从第二存储介质中读取的第二日志数据的第一数据标识;获取从第一存储介质中读取的第二日志数据的第二数据标识;若第一数据标识大于第二数据标识,确定从第二存储介质中读取的第二日志数据与从第一存储介质中读取的第二日志数据匹配。
若第一数据标识大于第二数据标识,说明基于同步反馈消息中的数据标识能够从第一存储介质中读取到第二日志数据,则直接从第一存储介质中读取第二日志数据进行同步,防止重复同步相同的第二日志数据。
藉由上述技术方案,在将从第二存储介质中读取到的日志数据发送到从数据库后,如果接收到同步反馈消息,继续将从第二存储介质中读取的第二日志数据发送至从数据库中,并从同步反馈消息中获取指示从数据库同步成功的数据标识,基于所获取的数据标识,从第一存储介质中读取第二日志数据,并发送至从数据库中,如果确定从第二存储介质中读取的第二日志数据与从第一存储介质中读取的第二日志数据匹配,停止从第二存储介质中读取第二日志数据,以防止发送到从数据库中的日志数据的重复。
对于上述日志数据同步方法,主数据库对应的第一线程可以将日志数据写入到第一存储介质中以及在写入日志数据到第一存储介质过程中将日志数据发送到从数据库中,说明第一线程具备写日志数据到第一存储介质和发送日志数据到从数据库的功能,那么在没有接收到从数据库发送的同步反馈消息情况下,从数据库不能同步日志数据,在这种情况下第一线程向从数据库发送日志数据的功能禁用,但第一线程写日志数据到第一存储介质的功能仍有效。
而从第二存储介质中读取日志数据并同步至从数据库中可以由主数据库对应的第二线程执行,在第一线程同步第一日志数据过程中且在第一日志数据同步后接收到同步反馈消息继续同步第二日志数据过程中,主数据库和从数据库中的日志数据同步由第一线程执行,第二线程可处于休眠状态,以降低第二线程对系统资源的占用。
如果接收到激活消息,说明从数据库可接收日志数据,激活第二线程,使第二线程从休眠状态切换至工作状态且将第一线程向从数据库发送日志数据的功能可用,以通过第二线程从第二存储介质中读取日志数据,且在确定从第二存储介质中读取的第二日志数据与从第一存储介质中读取的第二日志数据匹配,将第二线程从工作状态切换至休眠状态,并利用第一线程继续发送日志数据。
下面以主数据库对应的第一线程和第二线程,第一存储介质为内存,第二存储介质为磁盘为例,对本实施例提供的日志数据同步方法进行说明,第一线程会写入数据到主数据库中并生成日志数据,第一线程和第二线程的处理过程如图6所示,可以包括下述流程:
第一线程写日志数据到内存,以lsn标记日志数据,如每次写入一定条数(例如100条)日志数据;
第一线程将向内存写入的日志数据发送到从数据库;
在等待从数据库发送同步反馈消息的过程中,把写入到内存中的日志数据写入到磁盘中,实现对磁盘中的日志数据的刷新;
第一线程接收到同步反馈消息之后,记录同步成功的日志数据的lsn,如当前同步成功的日志数据的lsn从100变为200。
若没有接收到从数据库的同步反馈消息,第一线程会停止向从数据库发送日志数据,但仍会向内存写入日志数据并将内存中的日志数据写入到磁盘中;
若接收到从数据库的激活消息,激活第二线程以及第一线程的向从数据库发送日志数据的功能,通过第二线程基于激活消息中的数据标识,从磁盘中读取日志数据,然后通过第二线程发送给从数据库,通过第一线程向从数据库发送将写入到内存中的日志数据;
当确定第二线程发送到从数据库中的日志数据的lsn大于第一线程发送到从数据库中的日志数据的lsn,第二线程进入休眠状态,由第一线程继续发送日志数据,其中第二线程进入休眠状态是在从数据库发送的停止消息作用下,停止消息是从数据库在判断出第二线程发送到从数据库中的日志数据的lsn大于第一线程发送到从数据库中的日志数据的lsn生成。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述方法实施例相对应,本申请实施例还提供一种日志数据同步装置,其可选结构如图7所示,可以包括:生成单元100、写入单元200、同步单元300和判断处理单元400。
生成单元100,用于生成第一日志数据,对于第一日志数据的说明请参见上述实施例。
写入单元200,用于在主数据库对应的第一存储介质中写入第一日志数据,以通过第一存储介质暂时存储第一日志数据。如第一存储介质可以是内存,通过内存暂时存储第一日志数据,这样既能够暂时存储第一日志数据又能够从第一存储介质中读取第一日志数据,加快第一日志数据的读取速度。作为第一存储介质的内存可以是主数据库申请的专门用于存储主数据库的日志数据的内存,也可以是存储主数据库的设备所运行操作系统的内存,对此本实施例不进行限定。
在本实施例中,写入单元200可利用第一线程向第一存储介质中写入第一日志数据,意味着第一线程既能够向主数据库中写入数据生成第一日志数据,又能够具备向第一存储介质写入第一日志数据的功能,从而利用第一线程完成多种操作,避免主数据库占用过多的线程。
同步单元300,用于将第一日志数据同步至从数据库。第一日志数据在生成之后可直接同步至从数据库中,相对于写入第一日志数据至第一存储介质中再从第一存储介质中读取第一日志数据同步来说,可以在同步第一日志数据至从数据库过程中省去因写入第一日志数据至第一存储介质再从第一存储介质中读取第一日志数据产生的耗时。
其中,在第一存储介质中写入第一日志数据和将第一日志数据同步至从数据库的关系是:在向第一存储介质中写入第一日志数据之前,将第一日志数据同步至从数据库中;或者,在主数据库对应的第一存储介质中写入第一日志数据过程中,同步第一日志数据至从数据库,这两种方式都可以省去因写入第一日志数据至第一存储介质再从第一存储介质中读取第一日志数据产生的耗时。
判断处理单元400,用于根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据。从数据库发送的同步反馈消息的接收情况用于表明是否接收到从数据库发送的同步反馈消息,以通过同步反馈消息指示从数据库成功接收到第一日志数据,之所以发送同步反馈消息是为了保证主数据库和从数据库的数据一致性,以防止因漏发日志数据导致的数据不一致问题。
如果接收情况表明接收到从数据库发送的同步反馈消息,说明从数据库成功同步第一日志数据,在这种情况下不会再次向从数据库发送第一日志数据;如果接收情况表明没有接收到从数据库发送的同步反馈消息,说明从数据库没有成功同步第一日志数据,在这种情况下会再次向从数据库发送第一日志数据,以保证主数据库和从数据库中的日志数据一致。
例如判断处理单元400的一种处理方式是:根据是否接收到同步反馈消息,从第一存储介质和主数据库对应的第二存储介质中确定待读取的存储介质;如果确定的待读取的存储介质为第一存储介质,在将第二日志数据写入到第一存储介质的过程中同步发送第二日志数据至从数据库,第二日志数据的生成时间晚于第一日志数据的生成时间;如果确定的待读取的存储介质为第二存储介质,至少将第二存储介质中的第一日志数据发送至从数据库,其中,第一存储介质的读写速度大于第二存储介质的读写速度。
确定待读取的存储介质可以是但不限于是:如果接收到同步反馈消息,确定第一存储介质为待读取的存储介质;如果没有接收到同步反馈消息,确定第二存储介质为待读取的存储介质。
并且为了能够从第二存储介质中读取到第二日志数据,本实施例提供的日志数据同步装置中写入单元200还用于从第一存储介质中读取第二日志数据,且将第二日志数据写入到第二存储介质中。
但是第一存储介质的存储空间有限,为了使得每次生成的日志数据都能够写入到第一存储介质中,本实施例还需要对第一存储介质中的日志数据进行删除操作,如本实施例提供的日志数据同步装置还可以包括:确定单元,用于在第一存储介质中已写入的日志数据满足预设条件的情况下,从已写入的日志数据中确定待删除的日志数据;删除单元,用于将待删除的日志数据从第一存储介质中删除,具体说明请参见上述实施例。
藉由上述技术方案,生成第一日志数据,并在主数据库对应的第一存储介质中写入第一日志数据,将第一日志数据同步至从数据库,并根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据,以在生成第一日志数据后直接同步第一日志数据至从数据库中,在第一日志数据同步过程中省去因写入第一日志数据到第一存储介质以及从第一存储介质中读取第一日志数据产生的耗时,从而减小第一日志数据的同步耗时。并且根据从数据库发送的同步反馈消息的接收情况判断是否再次向从数据库发送第一日志数据,这样可以在同步反馈消息的接收情况指示没有成功同步第一日志数据的情况下再次向从数据库发送第一日志数据,以保证主数据库和从数据库中的日志数据一致。
在本实施例中,上述同步单元300,还用于在将从第二存储介质中读取到的日志数据发送到从数据库后,如果接收到从数据库反馈的同步反馈消息,继续将从第二存储介质中读取的第二日志数据发送至从数据库中,并从同步反馈消息中获取指示从数据库同步成功的数据标识,基于所获取的数据标识,从第一存储介质中读取第二日志数据,并发送至从数据库中。
判断处理单元400,还用于如果确定从第二存储介质中读取的第二日志数据与从第一存储介质中读取的第二日志数据匹配,停止从第二存储介质中读取第二日志数据,防止重复同步相同的第二日志数据。
其中确定从第二存储介质中读取的第二日志数据与从第一存储介质中读取的第二日志数据匹配的方法包括:获取从第二存储介质中读取的第二日志数据的第一数据标识;获取从第一存储介质中读取的第二日志数据的第二数据标识;若第一数据标识大于第二数据标识,确定从第二存储介质中读取的第二日志数据与从第一存储介质中读取的第二日志数据匹配。
本申请实施例还提供一种服务器,服务器包括:
处理器。
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现上述日志数据同步方法。
本申请实施例提供一种存储介质,存储介质中存储有指令,当存储介质中的指令被执行时实现上述日志数据同步方法。
需要说明的是,本说明书中的各个实施例可以采用递进的方式描述、各个实施例中记载的特征可以相互替换或者组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (13)
1.一种日志数据同步方法,其特征在于,所述方法包括:
生成第一日志数据;
在主数据库对应的第一存储介质中写入第一日志数据;
将所述第一日志数据同步至从数据库;
根据所述从数据库发送的同步反馈消息的接收情况判断是否再次向所述从数据库发送所述第一日志数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一日志数据同步至从数据库中包括:在所述主数据库对应的第一存储介质中写入第一日志数据过程中,同步所述第一日志数据至所述从数据库。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述从数据库发送的同步反馈消息的接收情况判断是否再次向所述从数据库发送所述第一日志数据包括:
根据是否接收到所述同步反馈消息,从所述第一存储介质和主数据库对应的第二存储介质中确定待读取的存储介质;
如果确定的待读取的存储介质为所述第一存储介质,在将所述第二日志数据写入到所述第一存储介质的过程中同步发送所述第二日志数据至所述从数据库,所述第二日志数据的生成时间晚于所述第一日志数据的生成时间;
如果确定的待读取的存储介质为所述第二存储介质,至少将所述第二存储介质中的所述第一日志数据发送至所述从数据库,其中,所述第一存储介质的读写速度大于所述第二存储介质的读写速度。
4.根据权利要求3所述的方法,其特征在于,所述根据是否接收到所述同步反馈消息,从所述第一存储介质和主数据库对应的第二存储介质中确定待读取的存储介质包括:
如果接收到所述同步反馈消息,确定所述第一存储介质为所述待读取的存储介质;
如果没有接收到所述同步反馈消息,确定所述第二存储介质为所述待读取的存储介质;
所述方法还包括:从所述第一存储介质中读取第二日志数据,且将所述第二日志数据写入到所述第二存储介质中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果接收到所述同步反馈消息,记录与所述同步反馈消息对应的第一日志数据,并生成数据标识,所述数据标识用于指示所述第一日志数据同步成功。
6.根据权利要求3所述的方法,其特征在于,所述如果确定的待读取的存储介质为所述第二存储介质,至少将所述第二存储介质中的所述第一日志数据发送至所述从数据库包括:
如果确定的待读取的存储介质为所述第二存储介质,在接收到所述从数据库发送的激活消息后,从所述激活消息中提取数据标识,所述数据标识为所述从数据库在发送所述激活消息前同步成功的日志数据的标识,所述激活消息用于指示所述从数据库与所述主数据库之间的通信状态从异常状态变为正常状态;
基于所述数据标识,至少从所述第二存储介质中读取所述第一日志数据以及生成时间晚于所述第一日志数据的第二日志数据;
将从所述第二存储介质中读取到的日志数据发送到所述从数据库中。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在将从所述第二存储介质中读取到的日志数据发送到所述从数据库后,如果接收到所述从数据库反馈的同步反馈消息,继续将从所述第二存储介质中读取的第二日志数据发送至所述从数据库中,并从所述同步反馈消息中获取指示所述从数据库同步成功的数据标识;
基于所获取的数据标识,从所述第一存储介质中读取第二日志数据,并发送至所述从数据库中;
如果确定从所述第二存储介质中读取的第二日志数据与从所述第一存储介质中读取的第二日志数据匹配,停止从所述第二存储介质中读取第二日志数据。
8.根据权利要求7所述的方法,其特征在于,所述确定从所述第二存储介质中读取的第二日志数据与从所述第一存储介质中读取的第二日志数据匹配的方法包括:
获取从所述第二存储介质中读取的第二日志数据的第一数据标识;
获取从所述第一存储介质中读取的第二日志数据的第二数据标识;
若所述第一数据标识大于所述第二数据标识,确定从所述第二存储介质中读取的第二日志数据与从所述第一存储介质中读取的第二日志数据匹配。
9.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述第一存储介质中已写入的日志数据满足预设条件的情况下,从已写入的日志数据中确定待删除的日志数据;
将所述待删除的日志数据从所述第一存储介质中删除。
10.根据权利要求1或2所述的方法,其特征在于,所述第一存储介质为内存,所述第二存储介质为磁盘。
11.一种日志数据同步装置,其特征在于,所述装置包括:
生成单元,用于生成第一日志数据;
写入单元,用于在主数据库对应的第一存储介质中写入第一日志数据;
同步单元,用于将所述第一日志数据同步至从数据库;
判断处理单元,用于根据所述从数据库发送的同步反馈消息的接收情况判断是否再次向所述从数据库发送所述第一日志数据。
12.一种服务器,其特征在于,所述服务器包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至10中任一项所述的日志数据同步方法。
13.一种存储介质,其特征在于,所述存储介质中存储有指令,当所述存储介质中的指令被执行时实现如权利要求1至10中任一项所述的日志数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010953290.7A CN112084265A (zh) | 2020-09-11 | 2020-09-11 | 一种日志数据同步方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010953290.7A CN112084265A (zh) | 2020-09-11 | 2020-09-11 | 一种日志数据同步方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112084265A true CN112084265A (zh) | 2020-12-15 |
Family
ID=73736663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010953290.7A Pending CN112084265A (zh) | 2020-09-11 | 2020-09-11 | 一种日志数据同步方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084265A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0601337D0 (en) * | 2006-01-24 | 2006-03-01 | Hawkgrove Ltd | Methods and apparatus for monitoring software systems |
US20140279929A1 (en) * | 2013-03-15 | 2014-09-18 | Amazon Technologies, Inc. | Database system with database engine and separate distributed storage service |
US20180150540A1 (en) * | 2016-11-29 | 2018-05-31 | Sap Se | Synchronization Mechanism for Serialized Data Log Replay in Database Systems |
CN108399186A (zh) * | 2018-01-12 | 2018-08-14 | 联动优势科技有限公司 | 一种数据采集方法及装置 |
CN108804523A (zh) * | 2018-04-27 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据同步方法、系统及计算机可读存储介质 |
CN110083600A (zh) * | 2019-04-04 | 2019-08-02 | 网宿科技股份有限公司 | 一种日志收集处理的方法、装置、计算设备及存储介质 |
CN111475335A (zh) * | 2020-03-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种数据库快速恢复的方法、系统、终端及存储介质 |
CN111552735A (zh) * | 2020-03-27 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 基于数据链路的数据同步方法、装置、计算机设备和介质 |
-
2020
- 2020-09-11 CN CN202010953290.7A patent/CN112084265A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0601337D0 (en) * | 2006-01-24 | 2006-03-01 | Hawkgrove Ltd | Methods and apparatus for monitoring software systems |
US20140279929A1 (en) * | 2013-03-15 | 2014-09-18 | Amazon Technologies, Inc. | Database system with database engine and separate distributed storage service |
US20180150540A1 (en) * | 2016-11-29 | 2018-05-31 | Sap Se | Synchronization Mechanism for Serialized Data Log Replay in Database Systems |
CN108399186A (zh) * | 2018-01-12 | 2018-08-14 | 联动优势科技有限公司 | 一种数据采集方法及装置 |
CN108804523A (zh) * | 2018-04-27 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据同步方法、系统及计算机可读存储介质 |
CN110083600A (zh) * | 2019-04-04 | 2019-08-02 | 网宿科技股份有限公司 | 一种日志收集处理的方法、装置、计算设备及存储介质 |
CN111475335A (zh) * | 2020-03-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种数据库快速恢复的方法、系统、终端及存储介质 |
CN111552735A (zh) * | 2020-03-27 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 基于数据链路的数据同步方法、装置、计算机设备和介质 |
Non-Patent Citations (2)
Title |
---|
王宇飞;刘丹;吴嘉生;: "基于OSGi的分布式系统集中日志管理方案", 计算机系统应用, no. 06, 15 June 2017 (2017-06-15) * |
纪贵;徐可飞;: "电信计费/结算业务处理流程实时监控探讨", 中国新通信, no. 07, 5 April 2019 (2019-04-05) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016127903A1 (zh) | 一种数据同步方法、装置和系统 | |
CN102945278B (zh) | 一种数据库记录重做日志的方法和装置 | |
US9778998B2 (en) | Data restoration method and system | |
CN105824846B (zh) | 数据迁移方法及装置 | |
EP1696611A1 (en) | Server data queuing system and method | |
CN110807062B (zh) | 一种数据同步的方法、装置和数据库主机 | |
CN105468718B (zh) | 数据一致性处理方法、装置和系统 | |
CN108965383B (zh) | 文件同步方法、装置、计算机设备和存储介质 | |
CN109388677B (zh) | 集群之间数据同步方法、装置、设备及其存储介质 | |
CN110019502B (zh) | 在主数据库和备数据库之间的同步方法、数据库系统和设备 | |
CN112084264A (zh) | 一种日志数据同步方法、装置及服务器 | |
CN113204530B (zh) | 分布式文件系统的数据写入方法、装置、设备以及介质 | |
CN113934745A (zh) | 数据同步处理方法、电子设备以及存储介质 | |
US20090132534A1 (en) | Remote replication synchronizing/accessing system and method thereof | |
CN110990363A (zh) | 一种分布式数据库多线程协同事务日志回放方法、系统 | |
CN112711596B (zh) | 多副本数据库系统、数据处理方法、电子设备以及计算机可读存储介质 | |
CN112084265A (zh) | 一种日志数据同步方法、装置、服务器及存储介质 | |
CN114115750B (zh) | 一种应用于全闪存存储的缓存方法和装置 | |
CN108460047A (zh) | 数据同步方法及设备 | |
CN111708780B (zh) | 分布式表格系统与分片选主方法、装置、服务器及介质 | |
US20180309702A1 (en) | Method and device for processing data after restart of node | |
CN111026810B (zh) | 数据同步方法、装置及存储介质 | |
CN114116632A (zh) | 交易日志收集方法、装置及系统 | |
CN110795318B (zh) | 数据处理方法和装置以及电子设备 | |
CN111984592B (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 |