CN116501736A - 一种数据库延迟回放的控制方法以及控制系统 - Google Patents
一种数据库延迟回放的控制方法以及控制系统 Download PDFInfo
- Publication number
- CN116501736A CN116501736A CN202310386026.3A CN202310386026A CN116501736A CN 116501736 A CN116501736 A CN 116501736A CN 202310386026 A CN202310386026 A CN 202310386026A CN 116501736 A CN116501736 A CN 116501736A
- Authority
- CN
- China
- Prior art keywords
- log
- read
- playback
- log index
- index table
- 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 93
- 230000003111 delayed effect Effects 0.000 title claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012966 insertion method Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000000926 separation method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000001680 brushing effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种数据库延迟回放的控制方法以及控制系统,所述控制方法包括:读写节点依据日志元信息生成日志索引写入日志索引表中,日志索引表写满之后落盘,保存至共享存储中;只读节点接收读写节点所发送的日志元信息,并基于日志元信息在内存中生成相应的日志索引后标记为过时即可推进回放位点进行回放操作,日志的回放操作被交由Backend进程执行以实现日志的并行回放。本发明的数据库延迟回放的控制方法可以显著降低网络流量、降低节点延迟、提升回放速度。
Description
技术领域
本发明涉及数据库延迟回放领域,具体而言,涉及一种数据库延迟回放的控制方法以及控制系统。
背景技术
通常,数据库系统有很多种不同的架构,比如读写分离集群,共享存储集群,分布式集群,存储计算分离集群,共享存储一写多读集群等,不同的架构分别有着各自的优势和劣势。
其中,共享存储一写多读集群是指若干个数据库节点共享一份数据和日志,整个集群中只有一个读写节点可以产生数据和日志,读写节点把数据和日志刷到共享存储以便只读节点可以读取;读写节点刷到共享存储中的数据往往不是最新的,最新的数据和在读写节点的内存中;为了保证节点之间数据的一致性,读写节点通过流复制把最新的日志发送给只读节点,只读节点通过接收到的日志把从共享存储中读取到的数据回放到最新的状态。
然而,节点之间传输完整的日志对网络造成很大的压力,而且只读节点回放日志会浪费大量的时间导致只读节点相对于读写节点延迟很大。
有鉴于此,特提出本发明。
发明内容
有鉴于此,本发明公开了一种数据库延迟回放的控制方法,该方法实现了读写节点与只读节点之间不再传输完整的日志,仅传输日志元信息,减少网络数据传输量,降低了只读节点与读写节点的延迟,可见该控制方法可以显著降低网络流量、降低节点延迟、提升回放速度。
具体地,本发明是通过以下技术方案实现的:
第一方面,本发明公开了一种数据库延迟回放的控制方法,包括如下步骤:
读写节点依据日志元信息生成日志索引写入日志索引表中,日志索引表写满之后落盘,保存至共享存储中;
只读节点接收读写节点所发送的日志元信息,并基于日志元信息在内存中生成相应的日志索引后标记为过时即可推进回放位点进行回放操作,日志的回放操作被交由Backend进程执行以实现日志的并行回放。
从完整的日志中删除数据部分,只保留元信息,以便减少网络流量。
日志回放实现了延迟回放以及并行回放的功能,延迟回放:日志索引机制下,只读节点的回放进程只需要把需要回放的数据页标记为过时即可推进回放位点,日志的回放操作交由后台进程及真正访问该页面的Backend(用户会话对应的后台进程)进程进行;并行回放:每个用户会话对应一个Backend进程,每个Backend会对读到的页面进行回放操作,不同以前的串行回放,日志索引机制下的日志回放是并行的。
优选地,所述日志元信息的同步方法包括:从完整的日志中提取元信息加入日志发送队列;读写节点发送元信息到其他节点;只读节点从读写节点接收元信息加入日志接收队列。
优选地,所述日志索引表的操作方法包括:日志索引表的插入方法,在内存中生成日志索引表并插入日志索引数据;日志索引表的保存方法,把内存中的日志索引表刷到共享存储;日志索引表的删除方法,数据持久化之后从共享存储中删除无用的日志索引表;日志索引表的同步方法,读写节点和只读节点之间日志索引的一致性。
优选地,日志索引表的插入方法具体包括:读写节点的日志索引表通过解析日志发送队列产生日志索引并插入日志索引表,只读节点通过解析日志接收队列产生日志索引并插入日志索引表。
优选地,日志索引表的删除方法具体包括:当只读节点内存中对应的日志索引表尚未被读写节点刷写到外存,则不能删除该日志索引表,否则会导致节点间日志索引表不一致。这个过程中只有读写节点可以删除外存中的日志索引表,所有节点可以删除内存中的日志索引表。
优选地,日志索引表的保存方法包括:只有读写节点会保存日志索引表到外存,只读节点结果内外存中的日志索引表组成数据持久化周期内完成的日志索引表。
第二方面,本发明公开了一种数据库延迟回放的控制系统,包括:
索引模块:用于读写节点依据日志元信息生成日志索引写入日志索引表中,日志索引表写满之后落盘,保存至共享存储中;
控制模块:用于只读节点接收读写节点所发送的日志元信息,并基于日志元信息在内存中生成相应的日志索引后标记为过时即可推进回放位点进行回放操作,日志的回放操作被交由Backend进程执行以实现日志的并行回放。
第三方面,本发明公开了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述数据库延迟回放的控制方法的步骤。
第四方面,本发明公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述数据库延迟回放的控制方法的步骤。
本发明提出的数据库延迟回放的控制方法以及控制系统,主要实现了以下方面的功能:使得节点之间网络流量显著降低;使得节点数据能够快速达到一致;可以为用户提供持续的保护服务,保证了应用系统提供的服务具有可靠性、稳定性和完整性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的数据库延迟回放的整体结构图;
图2为本发明实施例提供的读写日志索引表示意图;
图3为本发明实施例提供的延迟回放结构图;
图4为本发明实施例提供的延迟回放非原子操作示意图;
图5为本发明实施例提供的延迟回放的原子操作示意图;
图6为本发明实施例提供的一种计算机设备的流程示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明公开了一种数据库延迟回放的控制方法,包括如下步骤:
读写节点依据日志元信息生成日志索引写入日志索引表中,日志索引表写满之后落盘,保存至共享存储中;
只读节点接收读写节点所发送的日志元信息,并基于日志元信息在内存中生成相应的日志索引后标记为过时即可推进回放位点进行回放操作,日志的回放操作被交由Backend进程执行以实现日志的并行回放。
在本发明中,如图1所示,共享存储一写多读架构,读写节点和多个只读节点共享同一份存储,读写节点可以读写共享存储中的数据;只读节点各自通过回放日志,从共享存储中读取数据,而不能写入,只读节点通过内存同步来维护数据的一致性;
共享存储一写多读架构下只读节点可直接从共享存储上获取需要回放的日志。若共享存储上的数据页是最新的,那么只读节点可直接读取数据页而不需要再进行回放操作;基于此,本发明设计了日志索引来加速只读节点的日志回放;
日志索引表中保存了数据页与修改该数据页的所有LSN的映射关系,基于日志索引可快速获取到修改某个数据页的所有LSN,从而可将该数据页对应日志的回放操作延迟到真正访问该数据页的时刻进行;
日志索引机制下节点之间内存同步的架构图如图1所示:
读写节点与只读节点之间不再传输完整的日志,仅传输日志元信息,减少网络数据传输量,降低了只读节点与读写节点的延迟;
读写节点依据日志元信息生成日志索引写入日志索引表中,日志索引表写满之后落盘,保存至共享存储中,已落盘的日志索引表可以被复用;
只读节点接收读写节点所发送的日志元信息,并基于日志元信息在内存中生成相应的日志索引,同样写入其内存的日志索引表中,同时将日志元信息对应已存在于数据缓存中中的页面标记为过时,该阶段只读节点并不进行真正的日志回放,无数据I/O操作;
只读节点基于日志元信息生成日志索引后即可推进回放位点,日志回放操作被交由后台回放进程及真正访问该页面的Backend进程执行,由此只读节点也可实现日志的并行回放;
只读节点生成的日志索引表不会落盘,其基于日志索引元文件判断已满的日志索引表是否在读写节点已落盘,已落盘的日志索引表可被复用,当读写节点判断存储上的日志索引表不再使用时可以删除。
通过仅传输日志元信息降低读写节点与只读节点之间的延迟,通过日志索引实现日志的延迟回放和并行回放以加速只读节点的回放速度。
上述所提到的日志索引表实质为一个哈希表结构,其key为PageTag(可以唯一定位一个页面的物理位置),可标识一个具体数据页,其value即为修改该page的所有LSN;
内存中保存的日志索引表又可分为活跃和非活跃两种。如图2所示,基于日志元信息生成的日志索引记录会写入活跃表,活跃表写满后会转为非活跃表,并重新申请一个新的活跃表,非活跃表可直接落盘,落盘后的非活跃表可再次转为活跃表。
当非活跃表成功落盘后,日志索引元文件也被更新,该文件可保证日志索引表文件I/O操作的原子性。日志索引元文件保存了当前磁盘上最小日志索引表及最大日志索引表的相关信息,其Start LSN(日志索引元文件中记录的数据)记录了当前已落盘的所有日志索引表中最大的LSN。若日志索引表刷盘时发生部分写,系统会从日志索引元信息文件记录的Start LSN开始解析日志,如此部分写舍弃的日志索引记录也会重新生成,保证了其I/O操作的原子性。
一致性位点之前的所有日志修改的数据页均已持久化到共享存储中,只读节点无需回放该位点之前的日志,故日志索引表中小于一致性位点的LSN均可清除。读写节点据此删除掉存储上不再使用的日志索引表,在加速只读节点回放效率的同时还可减少日志索引表占用的空间。
日志索引机制下,读写节点的日志回放进程基于接收到的日志元信息成日志索引,同时将该日志元信息对应的已存在于缓存中的页面标记为过时后即可推进回放位点,回放进程本身并不对日志进行回放,日志的回放操作交由背景回放进程及真正访问该页面的Backend进程进行,回放过程如图3所示,其中:
后台回放进程按照日志顺序依次进行日志回放操作,根据要回放的LSN检索日志索引表,获取该LSN修改的Page List,若某个Page存在于缓存中则对其进行回放,否则直接跳过。后台回放进程按照LSN的顺序逐步推进缓存中的页面位点,避免单个Page需要回放的LSN数量堆积太多;
Backend进程则仅对其实际需要访问的Page进行回放,当Backend进程需要访问一个Page时,如果该Page在缓存中不存在,则将该Page读到缓存后进行回放;如果该Page已经在缓存中且标记为过时,则将该Page回放到最新。Backend进程依据Page TAG对日志索引表进行检索,按序生成与该Page相关的LSN List,基于LSN List从共享存储中读取完整的日志来对该Page进行回放;
日志索引机制下,日志回放进程解析日志元信息生成日志索引与Backend进程基于日志索引对Page进行回放的操作是并行的,且各个Backend进程仅对其需要访问的Page进行回放。由于一条日志记录可能会对多个Page进行修改,以索引分裂为例,其涉及对Page0、Page1的修改,且其对Page0及Page1的修改为一个原子操作,即修改要么全部可见,要么全部不可见。针对此,设计了原子锁机制以保证Backend进程回放过程中内存数据结构的一致性;
如图4所示,无原子锁时,日志回放进程对日志元信息进行解析并按序将当前LSN插入到各个Page对应的LSN List中。若日志回放进程完成对Page0LSN List的更新,但尚未完成对Page1 LSN List的更新时,Backend0和Backend1分别对Page0及Page1进行访问,Backend0和Backend1分别基于Page对应的LSN List进行回放操作,Page0被回放至LSN_N+1处,Page1被回放至LSN_N处,可见此时数据缓冲区中两个Page对应的版本并不一致,从而导致相应内存数据结构的不一致。
如图5所示,原子锁机制下,对Page0及Page1 LSN List的更新被视为一个原子操作。日志回放进程更新Page对应的LSN List时,需先获取该Page的原子锁,如下先获取Page0对应的原子锁,获取原子锁的顺序与回放时的顺序保持一致,更新完Page0及Page1LSN List后再释放Page0对应的原子锁。Backend进程基于日志索引对特定Page进行回放时,若该Page对应在日志回放进程仍处于一个原子操作中,则同样需先获取该Page对应的原子锁后再进行回放操作。故若日志回放进程完成对Page0 LSN List的更新,但尚未完成对Page1 LSN List的更新时,Backend0和Backend1分别对Page0及Page1进行访问,此时Backend0需等待LSN List更新完毕并释放Page0的原子锁之后才可进行回放操作,而释放Page0的原子锁时Page1的LSN List已完成更新,从而实现了内存数据结构的原子修改。
基于读写节点与只读节点共享存储这一特性,设计了日志索引机制来加速只读节点的内存同步,降低只读节点与读写节点之间的延迟,确保了只读节点的一致性与可用性。
另外,本发明还提供了一种数据库延迟回放的控制系统,具体包括:
索引模块:用于读写节点依据日志元信息生成日志索引写入日志索引表中,日志索引表写满之后落盘,保存至共享存储中;
控制模块:用于只读节点接收读写节点所发送的日志元信息,并基于日志元信息在内存中生成相应的日志索引后标记为过时即可推进回放位点进行回放操作,日志的回放操作被交由Backend进程执行以实现日志的并行回放。
该处理系统主要由上述两个模块构成,通过该系统的搭建很好的降低网络流量、降低节点延迟、提升回放速度。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
总之,本发明的方案可以实现以下四个方面的功能:
第一方面,本发明的方案可降低节点之间网络传输流量,可应用于数据库集群中的所有节点,包括:
读写节点处理接收客户端的读写请求进行数据修改并生成日志,从完整的日志中提取日志元信息发送给所有只读节点;
只读节点接收日志元信息并将对应的页面标记为过时,更新回放位点的更新并把回放位点回复给读写节点;
读写节点接收到只读节点发送的回放位点,数据同步完成;
第二方面,该方案可实现日志索引的方法记录数据页的修改过程,应用于数据库集群中的所有节点,包括:
读写节点解析日志发送队列,提取数据页和LSN的对应关系,插入到日志索引表,一个日志索引表满了之后需要刷到共享存储并创建新的日志索引表;
只读节点解析日志接收队列,提取数据页和LSN的对应关系,插入到日志索引表;
第三方面,本发明的方案可实现节点延迟回放日志,应用于数据库集群的只读节点,包括:
后台回放进程根据日志接收的顺序对标记为过时的数据页进行回放;
Backend进程对读到的数据页进行回放,因为会同时有个Backend,因此回放是并行的;
其中,对数据页的回放过程为:从日志索引表中找到需要回放的数据页和其对应的LSN列表;页面加锁;按照顺序根据LSN去共享存储读取完整日志并对数据页执行回放操作;清除页面的过时状态;页面放锁;
第四方面,本发明此外还提供了功能开启关闭功能,支持打开和关闭延迟回放特性,并且支持配置日志索引表可用的内存大小,提升了该系统的兼容性和灵活性。
图6为本发明公开的一种计算机设备的结构示意图。参考图6所示,该计算机设备400,至少包括存储器402和处理器401;所述存储器402通过通信总线403和处理器连接,用于存储所述处理器401可执行的计算机指令,所述处理器401用于从所述存储器402读取计算机指令以实现上述任一实施例所述的数据库延迟回放的控制方法的步骤。
对于上述装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部磁盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
最后应说明的是:虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (10)
1.一种数据库延迟回放的控制方法,其特征在于,包括如下步骤:
读写节点依据日志元信息生成日志索引写入日志索引表中,日志索引表写满之后落盘,保存至共享存储中;
只读节点接收读写节点所发送的日志元信息,并基于日志元信息在内存中生成相应的日志索引后标记为过时即可推进回放位点进行回放操作,日志的回放操作被交由Backend进程执行以实现日志的并行回放。
2.根据权利要求1所述的控制方法,其特征在于,所述日志元信息的同步方法包括:
从完整的日志中提取元信息加入日志发送队列;读写节点发送元信息到其他节点;只读节点从读写节点接收元信息加入日志接收队列。
3.根据权利要求2所述的控制方法,其特征在于,所述日志索引表的操作方法包括日志索引表的插入方法:读写节点的日志索引表通过解析日志发送队列产生日志索引并插入日志索引表,只读节点通过解析日志接收队列产生日志索引并插入日志索引表。
4.根据权利要求3所述的控制方法,其特征在于,所述日志索引表的操作方法还包括日志索引表的删除的方法:当只读节点内存中对应的日志索引表尚未被读写节点刷写到外存,则不能删除该日志索引表,否则会导致节点间日志索引表不一致。
5.根据权利要求1-4任一项所述的控制方法,其特征在于,日志索引表分为活跃与非活跃两种类型,基于日志元信息生成的日志索引记录会写入活跃表,活跃表写满后转为非活跃表,并重新申请一个新的活跃表,非活跃表直接落盘,落盘后的非活跃表再次转为活跃表。
6.根据权利要求1-4任一项所述的控制方法,其特征在于,所述回放操作按照日志顺序依次进行,根据要回放的LSN检索日志索引表,获取该LSN修改的Page List,若某个Page存在于缓存中则对其进行回放,否则直接跳过。
7.根据权利要求1-4任一项所述的控制方法,其特征在于,日志回放进程解析日志元信息生成日志索引表与Backend进程基于日志索引对Page进行回放的操作是并行的。
8.采用权利要求1-7任一项所述的数据库延迟回放的控制方法的控制系统,其特征在于,包括:
索引模块:用于读写节点依据日志元信息生成日志索引写入日志索引表中,日志索引表写满之后落盘,保存至共享存储中;
控制模块:用于只读节点接收读写节点所发送的日志元信息,并基于日志元信息在内存中生成相应的日志索引后标记为过时即可推进回放位点进行回放操作,日志的回放操作被交由Backend进程执行以实现日志的并行回放。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序执行时实现权利要求1-7任一项所述数据库延迟回放的控制方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述数据库延迟回放的控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310386026.3A CN116501736A (zh) | 2023-04-12 | 2023-04-12 | 一种数据库延迟回放的控制方法以及控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310386026.3A CN116501736A (zh) | 2023-04-12 | 2023-04-12 | 一种数据库延迟回放的控制方法以及控制系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501736A true CN116501736A (zh) | 2023-07-28 |
Family
ID=87322287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310386026.3A Pending CN116501736A (zh) | 2023-04-12 | 2023-04-12 | 一种数据库延迟回放的控制方法以及控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501736A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775664A (zh) * | 2023-08-17 | 2023-09-19 | 金篆信科有限责任公司 | 一种提高时间自由度的数据库回放方法、装置、系统及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752901A (zh) * | 2020-06-23 | 2020-10-09 | 网易(杭州)网络有限公司 | 索引创建方法及装置、电子设备、存储介质 |
CN113590596A (zh) * | 2021-07-02 | 2021-11-02 | 阿里巴巴新加坡控股有限公司 | 数据处理方法、系统、设备、计算机程序产品及存储介质 |
CN114063922A (zh) * | 2021-11-17 | 2022-02-18 | 上海理想信息产业(集团)有限公司 | 一种主从库流复制加速方法及装置、设备及介质 |
CN114816247A (zh) * | 2022-04-13 | 2022-07-29 | 阿里云计算有限公司 | 一种逻辑数据获取方法及装置 |
CN115617571A (zh) * | 2022-08-18 | 2023-01-17 | 阿里云计算有限公司 | 一种数据备份方法、装置、系统、设备及存储介质 |
-
2023
- 2023-04-12 CN CN202310386026.3A patent/CN116501736A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752901A (zh) * | 2020-06-23 | 2020-10-09 | 网易(杭州)网络有限公司 | 索引创建方法及装置、电子设备、存储介质 |
CN113590596A (zh) * | 2021-07-02 | 2021-11-02 | 阿里巴巴新加坡控股有限公司 | 数据处理方法、系统、设备、计算机程序产品及存储介质 |
CN114063922A (zh) * | 2021-11-17 | 2022-02-18 | 上海理想信息产业(集团)有限公司 | 一种主从库流复制加速方法及装置、设备及介质 |
CN114816247A (zh) * | 2022-04-13 | 2022-07-29 | 阿里云计算有限公司 | 一种逻辑数据获取方法及装置 |
CN115617571A (zh) * | 2022-08-18 | 2023-01-17 | 阿里云计算有限公司 | 一种数据备份方法、装置、系统、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
开源数据库: "PolarDB PostgreSQL logindex 设计", Retrieved from the Internet <URL:https://blog.csdn.net/weixin_48293282/article/details/120507560> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775664A (zh) * | 2023-08-17 | 2023-09-19 | 金篆信科有限责任公司 | 一种提高时间自由度的数据库回放方法、装置、系统及介质 |
CN116775664B (zh) * | 2023-08-17 | 2023-11-14 | 金篆信科有限责任公司 | 一种提高时间自由度的数据库回放方法、装置、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110554834B (zh) | 文件系统数据访问方法和文件系统 | |
US20080005145A1 (en) | Data processing | |
CN110321301B (zh) | 一种数据处理的方法及装置 | |
US8095678B2 (en) | Data processing | |
KR100790991B1 (ko) | 데이터베이스 관리 시스템을 이용하여 파일시스템의메타데이터를 관리하는 방법 | |
JP4916892B2 (ja) | トランザクション処理のためのログ情報管理システムおよび方法 | |
JP2000515284A (ja) | ツリー構造に分類されたファイルを含むicカード | |
US8090925B2 (en) | Storing data streams in memory based on upper and lower stream size thresholds | |
JPH1063555A (ja) | ファイル管理方法 | |
CN113377292B (zh) | 一种单机存储引擎 | |
CN116501736A (zh) | 一种数据库延迟回放的控制方法以及控制系统 | |
WO2015097774A1 (ja) | 計算機システム及びデータ管理方法 | |
US8176087B2 (en) | Data processing | |
CN110895545B (zh) | 共享数据同步方法及装置 | |
JP2007287147A (ja) | 高速ファイル属性検索 | |
JP2553751B2 (ja) | ディスクセクタ代替方式 | |
US8886656B2 (en) | Data processing | |
US5978810A (en) | Data management system and method for storing a long record in a set of shorter keyed records | |
US8290993B2 (en) | Data processing | |
JP3760804B2 (ja) | バックアップシステム | |
CN114356232B (zh) | 数据读写方法和装置 | |
CN114327283B (zh) | 分布式存储系统内的数据迁移方法及分布式存储系统 | |
CN112988766A (zh) | 一种数据库访问方法和装置 | |
KR20080069071A (ko) | 개선된 파일 시스템과 이를 이용한 파일 관리 방법 | |
KR20030095704A (ko) | 공간데이터 관리방법 |
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 |