一种日志处理方法及系统技术方案

技术编号:25087005 阅读:23 留言:0更新日期:2020-07-31 23:30
本发明专利技术公开了一种日志处理方法及系统。其中,该方法包括:至少两个数据库服务节点将各自生成的日志记录发送至匹配的日志节点,其中,至少两个数据库服务节点属于一个共享存储数据库集群,日志记录为至少两个数据库服务节点针对同一数据页进行修改生成的日志记录,日志节点对接收的日志记录进行处理,并将处理后的日志记录发送至存储节点,存储节点根据预设规则对接收到的日志记录进行处理。这样能够在分布式数据库系统扩展日志节点后,在数据库服务节点为共享存储数据库集群的情况下,有效保证存储节点以正确的顺序执行REDO日志,从而保证数据的正确性。

【技术实现步骤摘要】
一种日志处理方法及系统
本专利技术实施例涉及数据处理技术,尤其涉及一种日志处理方法及系统。
技术介绍
在分布式数据库系统架构中,如图1所示,数据库服务(DatabaseServer,DS)节点接收、执行客户端的数据库操作请求并生成日志,日志(RedologServer,RS)节点接收DS节点发送的REDO日志,然后将其分发到多个存储(StorageServer,SS)节点,实现多副本存储。当DS节点中的若干个节点属于一个共享存储数据库集群时,该集群中的各个DS节点可能会修改相同的数据页,这些节点通过共享存储集群的同步机制保证发送给RS节点的REDO日志为有序的,因此,RS节点只需根据数据副本分布,将日志依次分发给对应的SS节点,由SS节点逐个写入即可。在整个系统中,DS节点和SS节点可以通过扩展节点的方式缓解数据库计算和存储的压力,此时,RS节点的网络、缓存等资源容易成为整个系统的性能瓶颈,因此,需要对RS节点进行扩展,扩展后的系统架构如图2所示。扩展RS节点之后,每个DS节点仍唯一与某一RS节点对应,但SS节点可以同时接收多个RS节点的REDO日志,这样当DS节点属于一个共享存储数据库集群,且集群中的各个DS节点修改相同的数据页时,若这些DS节点对应不同的RS节点,那么SS按照接收REDO日志的顺序逐次写入可能会导致数据混乱。
技术实现思路
本专利技术提供一种日志处理方法及系统,能够在分布式数据库系统扩展日志节点后,在数据库服务节点为共享存储数据库集群的情况下,有效保证存储节点以正确的顺序执行REDO日志,从而保证数据的正确性。第一方面,本专利技术实施例提供了一种日志处理方法,该方法包括:至少两个数据库服务节点将各自生成的日志记录发送至匹配的日志节点,其中,至少两个数据库服务节点属于一个共享存储数据库集群,日志记录为至少两个数据库服务节点针对同一数据页进行修改生成的日志记录;日志节点对接收的日志记录进行处理,并将处理后的日志记录发送至存储节点;存储节点根据预设规则对接收到的日志记录进行处理。第二方面,本专利技术实施例还提供了一种日志处理系统,该系统包括:至少两个数据库服务节点、日志节点、存储节点;其中,至少两个数据库服务节点,用于将各自生成的日志记录发送至匹配的日志节点,其中,至少两个数据库服务节点属于一个共享存储数据库集群,日志记录为至少两个数据库服务节点针对同一数据页进行修改生成的日志记录;日志节点,用于对接收的日志记录进行处理,并将处理后的日志记录发送至存储节点;存储节点,用于根据预设规则对接收到的日志记录进行处理。本专利技术实施例提供了一种日志处理方法及系统,具体为至少两个数据库服务节点将各自生成的日志记录发送至匹配的日志节点,其中,至少两个数据库服务节点属于一个共享存储数据库集群,日志记录为至少两个数据库服务节点针对同一数据页进行修改生成的日志记录,日志节点对接收的日志记录进行处理,并将处理后的日志记录发送至存储节点,存储节点根据预设规则对接收到的日志记录进行处理。这样能够在分布式数据库系统扩展日志节点后,在数据库服务节点为共享存储数据库集群的情况下,有效保证存储节点以正确的顺序执行REDO日志,从而保证数据的正确性。附图说明图1是现有技术中的分布式数据库系统架构示意图;图2是扩展后的分布式数据库系统架构示意图;图3是本专利技术实施例中的日志处理方法流程图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。另外,在本专利技术实施例中,“可选地”或者“示例性地”等词用于表示作例子、例证或说明。本专利技术实施例中被描述为“可选地”或者“示例性地”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“可选地”或者“示例性地”等词旨在以具体方式呈现相关概念。为了更加清楚的理解本实施例提供的方案,示例地给出了部分与本专利技术相关概念的说明以供参考。如下所示:数据库服务节点:用于接收执行客户端的数据库操作请求并产生REDO日志;日志服务节点:用于提供REDO日志分发和数据的读写服务;存储节点:用于执行REDO日志,其中,多个存储节点可实现多个副本数据存储。日志组:根据日志来源将日志划分为不同的日志组,每个数据库服务节点属于一个组,且仅能配置一个日志节点。在上述概念的基础上,图3为本专利技术实施例提供的一种日志处理方法的流程图,该方法可以应用于分布式数据库系统架构下,如图3所示,该方法具体包括:S301、至少两个数据库服务节点将各自生成的日志记录发送至匹配的日志节点。在本实施例中,步骤S301中的至少两个数据库服务节点为属于一个共享数据库集群的节点,至少两个数据库服务节点各自生成的日志记录为针对同一个数据页进行修改生成的日志记录。即本步骤可以理解为共享存储数据库集群中的至少两个数据库服务节点针对同一数据页进行修改,并生成相应的修改日志记录,进而将生成的日志记录发送至匹配的日志节点。如图2所示,假设DS1节点、DS2节点、DS3节点为一个共享存储数据库集群的不同数据库实例,DS1节点配置的为RS1节点,DS2节点和DS3节点配置的为RS2节点,则DS1节点将生成的日志记录发送至匹配的RS1节点,DS2节点和DS3节点将生成的日志记录发送至匹配的RS2节点。S302、日志节点对接收的日志记录进行处理,并将处理后的日志记录发送至存储节点。示例性地,在本实施例中,日志节点接收到匹配的数据库服务节点发送的日志记录后,可以在该日志记录中设置序号(例如,日志节点序号等),进而将设置有序号的日志记录发送至存储节点。例如,假设本实施例中存在有两个日志节点RS1和RS2,其序号分别为1和2,在接收到的匹配的DS节点发送的日志记录REDO后,设置相应的序号,设置序号后的日志记录分别为REDO1和REDO2,进而,将日志记录REDO1和REDO2发送至存储节点。S303、存储节点根据预设规则对接收到的日志记录进行处理。存储节点接收到设置有序号的日志记录后,可以根据日志记录的序号为每个日志节点发送的日志记录分配对应的处理线程,并将接收到的日志记录放在对应的处理线程中,各处理线程以并行运行的方式根据预设规则进行日志处理。在一种示例中,本步骤中的预设规则可以为,在存储节点确定当前处理的日志记录为页同步重做日志的情况下,存储节点根据日志记录对应的数据页中日志记录序列号(LogSequenceNumber,LSN)对当前处理的日志记录进行处理;或者,在存储节点确认当前处理的日志记录为LSN更新日志记录的情况下,存储节点更新日志记录的LSN,并根据日志记录的数据页页号和更新后的LSN查找等待事件;或者,在存储节点确认当前处理本文档来自技高网...

【技术保护点】
1.一种日志处理方法,其特征在于,包括:/n至少两个数据库服务节点将各自生成的日志记录发送至匹配的日志节点,其中,所述至少两个数据库服务节点属于一个共享存储数据库集群,所述日志记录为至少两个数据库服务节点针对同一数据页进行修改生成的日志记录;/n所述日志节点对接收的日志记录进行处理,并将处理后的日志记录发送至存储节点;/n所述存储节点根据预设规则对接收到的日志记录进行处理。/n

【技术特征摘要】
1.一种日志处理方法,其特征在于,包括:
至少两个数据库服务节点将各自生成的日志记录发送至匹配的日志节点,其中,所述至少两个数据库服务节点属于一个共享存储数据库集群,所述日志记录为至少两个数据库服务节点针对同一数据页进行修改生成的日志记录;
所述日志节点对接收的日志记录进行处理,并将处理后的日志记录发送至存储节点;
所述存储节点根据预设规则对接收到的日志记录进行处理。


2.根据权利要求1所述的方法,其特征在于,所述日志节点对接收的日志记录进行处理,包括:
所述日志节点在接收的日志记录中设置序号。


3.根据权利要求1或2所述的方法,其特征在于,所述存储节点根据预设规则对接收到的日志记录进行处理,包括:
所述存储节点为日志记录分配对应的处理线程;
所述存储节点以各处理线程并行运行的方式根据预设规则对接收到的日志记录进行处理。


4.根据权利要求3所述的方法,其特征在于,所述存储节点以各处理线程并行运行的方式根据预设规则对接收到的日志记录进行处理,包括:
在所述存储节点确认当前处理的日志记录为页同步重做日志的情况下,所述存储节点根据日志记录对应的数据页中日志序列号LSN对当前处理的日志记录进行处理;
或者,在所述存储节点确认当前处理的日志记录为LSN更新日志记录的情况下,所述存储节点更新所述日志记录的LSN,并根据日志记录的数据页页号和更新后的LSN查找等待事件;
或者,在所述存储节点确认当前处理的日志记录为普通数据页修改日志记录的情况下,所述存储节点直接对当前处理的日志记录进行处理。


5.根据权利要求4所述的方法,其特征在于,所述根据日志记录对应的数据页中LSN对当前处理的日志记录进行处理,包括:
在所述存储节点确认日志记录对应的数据页中LSN小于当前处理的日志记录LSN的情况下,所述存储节点...

【专利技术属性】
技术研发人员:徐超国郭琰韩朱忠
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1