CN117785941A - 获取数据页面的方法、装置、设备和介质 - Google Patents
获取数据页面的方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN117785941A CN117785941A CN202311820972.0A CN202311820972A CN117785941A CN 117785941 A CN117785941 A CN 117785941A CN 202311820972 A CN202311820972 A CN 202311820972A CN 117785941 A CN117785941 A CN 117785941A
- Authority
- CN
- China
- Prior art keywords
- data page
- target data
- target
- database
- found
- 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 49
- 239000000872 buffer Substances 0.000 claims abstract description 172
- 230000015654 memory Effects 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 15
- 230000036316 preload Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种获取数据页面的方法、装置、设备和介质,通过目标数据库实例访问目标数据页面时,若只有一个数据库实例对应的缓冲区中查找到目标数据页面,将查找到的目标数据页面作为当前最新版本的目标数据页面;若两个或两个以上的数据库实例对应的缓冲区中查找到目标数据页面时,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;若所有数据库实例对应的缓冲区中均未查找到目标数据页面,则从磁盘中获取当前最新版本的目标数据页面,从而在全部数据库实例中,查找当前数据库实例内存中最新数据页面,减小从磁盘获取数据页面的频率,减少磁盘的I/O的操作次数,提升数据库加载数据页面的性能。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种获取数据页面的方法、装置、设备和介质。
背景技术
数据库中,在使用磁盘上的数据页面时,一般在内存中设置缓冲区预加载数据页面,以有效利用磁盘上的资源并减少磁盘输入输出(I/O)的访问次数。预加载数据页面的方法主要是依靠冗余的数据页面,冗余的数据页面可以是从其他服务器的内存或磁盘上获取。
如果预加载的数据页面从磁盘上获取,需要保证在预加载数据页面之前,数据页面的最新版本已经落入磁盘,并且在预加载数据页面时至少一次的磁盘I/O将磁盘上的数据页面加载到内存中。但是,这种从磁盘上获取预加载数据页面的方式会增加磁盘的I/O开销,降低数据库加载数据页面的性能。
为了减小磁盘的I/O开销,可以配置数据库的备机,将数据库中的数据页面在运行期间进行同步备份至数据库的备机。当需要预加载数据页面时,可以将备机内存中最新的数据页面通过网络的方式加载到本地。但是,这种方式虽然减少了磁盘的I/O开销,但是数据库页面在运行期间的同步备份仅用于预加载最新数据页面,会造成资源的浪费。
发明内容
本申请提供一种获取数据页面的方法、装置、设备和介质,用以获取数据页面,减少从磁盘获取数据的频率,减少磁盘I/O操作次数,提升数据库性能。
第一方面,本申请提供一种获取数据页面的方法,包括:
通过目标数据库实例访问目标数据页面时,
所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例对应的缓冲区中未查找到所述目标数据页面,查找到的所述目标数据页面作为当前最新版本的目标数据页面;
所述目标数据库实例对应的缓冲区中未查找到所述目标数据页面,且其他数据库实例中只有一个数据库实例对应的缓冲区中查找到所述目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面;
所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;
所述目标数据库实例对应的缓冲区和所述其他数据库实例对应的缓冲区未找到所述目标数据页面,从磁盘中获取当前最新版本的目标数据页面。
可选的,所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例对应的缓冲区中未查找到所述目标数据页面,查找到的所述目标数据页面作为当前最新版本的目标数据页面,具体包括:
在所述目标数据库实例对应的缓冲区中查找所述目标数据页面;
若在所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,解析查找到的目标数据页面是否为当前正在操作的数据页面;
若是,将在所述目标数据库实例对应的缓冲区中查找到的目标数据页面作为当前最新版本的目标数据页面;
若否,在所述其他数据库实例对应的缓冲区中查找所述目标数据页面,若在所述其他数据库实例对应的缓冲区未查找到所述目标数据页面,将所述目标数据库实例对应的缓冲区中查找到的所述目标数据页面作为当前最新版本的目标数据页面。
可选的,所述目标数据库实例对应的缓冲区中未查找到所述目标数据页面,且其他数据库实例中只有一个数据库实例对应的缓冲区中查找到所述目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面,具体包括:
在所述目标数据库实例对应的缓冲区中查找所述目标数据页面;
若在所述目标数据库实例对应的缓冲区中未查找到所述目标数据页面,在其他数据库实例中查找所述目标数据页面;
若在所述其他数据库实例中的一个数据库实例对应的缓冲区中查找到所述目标数据页面,将查找到的所述目标数据页面作为当前最新版本的目标数据页面;
若在所述其他数据库实例中的至少两个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面。
可选的,所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面,具体包括:
在所述目标数据库实例对应的缓冲区中查找所述目标数据页面;
若查找到所述目标数据页面,解析查找到的数据页面是否为当前正在操作的数据页面;
若否,在其他数据库实例对应的缓冲区查找所述目标数据页面;
若在其他数据库实例中至少一个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面。
可选的,所述目标数据库实例对应的缓冲区和所述其他数据库实例对应的缓冲区未找到所述目标数据页面,从磁盘中获取当前最新版本的目标数据页面,具体包括:
在所述目标数据库实例对应的缓冲区中查找所述目标数据页面;
若未查找到所述目标数据页面,在所述其他数据库实例对应的缓冲区中查找所述目标数据页面;
若在所述其他数据库实例对应的缓冲区中未查找到所述目标数据页面,从磁盘中获取当前最新版本的目标数据页面。
可选的,所述方法还包括:
将所述当前最新版本的目标数据页面加载至所述目标数据库实例对应的缓冲区。
可选的,所述方法还包括:
当目标数据库实例需要访问数据页面时,获取与待访问的数据页面相关的信息,根据所述相关的信息确定待访问的数据页面为目标数据页面。
第二方面,本申请提供一种获取数据页面的装置,包括:
通过目标数据库实例访问目标数据页面时,
第一处理模块,用于所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例对应的缓冲区中未查找到所述目标数据页面,查找到的所述目标数据页面作为当前最新版本的目标数据页面;
第二处理模块,用于所述目标数据库实例对应的缓冲区中未查找到所述目标数据页面,且其他数据库实例中只有一个数据库实例对应的缓冲区中查找到所述目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面;
第三处理模块,用于所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;
第四处理模块,用于所述目标数据库实例对应的缓冲区和所述其他数据库实例对应的缓冲区未找到所述目标数据页面,从磁盘中获取当前最新版本的目标数据页面。
第三方面,本申请提供一种电子设备,包括:存储器和处理器;
存储器用于存储指令;处理器用于调用存储器中的指令执行第一方面及第一方面任一种可能的设计中的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当电子设备的至少一个处理器执行该计算机指令时,电子设备执行第一方面及第一方面任一种可能的设计中的方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机指令,当电子设备的至少一个处理器执行该计算机指令时,电子设备执行第一方面及第一方面任一种可能的设计中的方法。
本申请提供的获取数据页面的方法,通过目标数据库实例访问目标数据页面时,若目标数据库实例对应的缓冲区中查找到目标数据页面,且其他数据库实例对应的缓冲区中未查找到目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面;目标数据库实例对应的缓冲区中未查找到目标数据页面,且其他数据库实例中只有一个数据库实例对应的缓冲区中查找到目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面;目标数据库实例对应的缓冲区中查找到目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区中查找到目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;目标数据库实例对应的缓冲区和其他数据库实例对应的缓冲区未找到目标数据页面,从磁盘中获取当前最新版本的目标数据页面。在全部数据库实例中,通过数据库实例对数据页面操作记录进行解析和筛查,查找当前数据库实例内存中最新数据页面,减小从磁盘获取数据页面的频率,减少磁盘的I/O的操作次数,提升数据库加载数据页面的性能。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的获取数据页面的方法的流程图;
图2为本申请一实施例提供的获取数据页面的方法的流程图;
图3为本申请一实施例提供的获取数据页面的装置的结构示意图;
图4为本申请一实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
数据库中,在使用磁盘上的数据页面时,一般在内存中设置缓冲区预加载数据页面,以有效利用磁盘上的资源并减少磁盘输入输出(I/O)的访问次数。其中,用于预加载的数据页面,首先需要保证该数据页面是当前最新版本的数据页面。
预加载数据页面的方法主要是依靠冗余的数据页面,冗余的数据页面可以是从其他服务器的内存或磁盘上获取。
如果预加载的数据页面从磁盘上获取,需要保证在预加载数据页面之前,数据页面的最新版本已经落入磁盘,并且在预加载数据页面时至少一次的磁盘I/O将磁盘上的数据页面加载到内存中。但是,这种从磁盘上获取预加载数据页面的方式会增加磁盘的I/O开销,降低数据库加载数据页面的性能。
为了减小磁盘的I/O开销,可以配置数据库的备机,将数据库中的数据页面在运行期间进行同步备份至数据库的备机。当需要预加载数据页面时,可以将备机内存中最新的数据页面通过网络的方式加载到本地。但是,这种方式虽然减少了磁盘的I/O开销,但是数据库页面在运行期间的同步备份仅用于预加载最新数据页面,会造成资源的浪费。
以上两种冗余数据库页面的方式均采用了预先将数据页面放在介质上,需要加载数据页面时将数据页面通过传输的方式放到本地,以保证最新数据页面已经放到对应的介质上,使用时将最新的数据页面直接加载到本地的缓冲区中。但是,以上两种解决的方式都需要预先的将所需资源规划完整,在运行期间需要额外的开销。
因此,如何获取最新数据页面是较为重要的问题。
针对上述问题,本申请提出了一种获取数据页面的方法,通过目标数据库实例访问目标数据页面时,若只有一个数据库实例对应的缓冲区中查找到目标数据页面,将查找到的目标数据页面作为当前最新版本的目标数据页面;若两个或两个以上的数据库实例对应的缓冲区中查找到目标数据页面时,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;若所有数据库实例对应的缓冲区中均未查找到目标数据页面,则从磁盘中获取当前最新版本的目标数据页面,从而在全部数据库实例中,通过数据库实例对数据页面操作记录进行解析和筛查,查找当前数据库实例内存中最新数据页面,减小从磁盘获取数据页面的频率,减少磁盘的I/O的操作次数,提升数据库加载数据页面的性能。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本申请中,以电子设备为执行主体,执行如下实施例的获取数据页面的方法。具体地,该执行主体可以为电子设备的硬件装置,或者为电子设备中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
图1示出了本申请一实施例提供的一种获取数据页面方法的流程图。如图1所示,以电子设备为执行主体,本实施例的方法可以包括如下步骤:
S101、通过目标数据库实例访问目标数据页面时,目标数据库实例对应的缓冲区中查找到目标数据页面,且其他数据库实例对应的缓冲区中未查找到目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面。
需要说明,数据库实例指的是操作系统中一系列的进程以及为这些进程所分配的内存块。数据库实例是程序,是位于用户和操作系统之间的一层数据管理软件。数据库实例是访问数据库的通道。用户对数据库中的数据做任何的操作,包括数据定义、数据查询、数据维护、数据库运行控制等等都是在数据库实例下进行的。
在分布式数据库中,每个数据库实例可以视为独立的数据库独立运行,即每个数据库实例可读可写。当通过多个数据库实例操作一个数据页面时,数据页面在各个数据实例的内存或磁盘上产生页面相关操作记录,并在操作过数据页面的数据库实例中暂存此数据页面的最后版本,因此本申请基于数据库的此种特性,提出一种在全部数据库实例中,通过数据库实例对数据页面操作记录进行解析和筛选,查找当前数据库实例对应的内存中最新数据页面的方法。
本申请实施例中,其他数据库实例可以为分布式系统中除目标数据库实例之外的所有数据库实例,每个数据库实例具有对应的缓冲区,即分配的内存块。
本申请实施例中,在通过目标数据库实例访问目标数据页面时,目标数据库实例对应的缓冲区查找到目标数据页面时,若其他数据库实例对应的缓冲区为查找到目标数据页面,即只在一个数据库实例对应的缓冲区查找到目标数据页面,则查找到的目标数据页面为当前最新版本的目标数据页面。
在一些实施例中,通过目标数据库实例访问目标数据页面时,在目标数据库实例对应的缓冲区中查找目标数据页面,若在目标数据库实例对应的缓冲区中查找到目标数据页面,解析在目标数据库实例对应的缓冲区中查找到的目标数据页面是否为当前正在操作的数据页面;若是,将在目标数据库实例对应的缓冲区中查找到的目标数据页面作为当前最新版本的目标数据页面,即当前正在操作的数据页面为当前最新版本的目标数据页面;若否,在其他数据库实例对应的缓冲区查找目标数据页面,若在其他数据库实例对应的缓冲区中未查找到目标数据页面,即只在一个数据库实例对应的缓冲区中查找到目标数据页面,将查找到的目标数据页面作为当前最新版本的目标数据页面。
S102、目标数据库实例对应的缓冲区中未查找到目标数据页面,且其他数据库实例中只有一个数据库实例对应的缓冲区中查找到目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面。
本申请实施例中,在通过目标数据库实例访问目标数据页面时,目标数据库实例对应的缓冲区中未查找到目标数据页面,其他数据库实例中只有一个数据库实例对应的缓冲区中查找到目标数据页面,即只有一个数据库实例对应的缓冲区中查找到目标数据页面,则查找到的目标数据页面为当前最新版本的目标数据页面。
在一些实施例中,通过目标数据库实例访问目标数据页面时,在目标数据库实例对应的缓冲区中查找目标数据页面,若在目标数据库实例对应的缓冲区中查找到目标数据页面,解析查找到的数据页面是否为当前正在操作的数据页面;若否,在其他数据库实例对应的缓冲区查找目标数据页面,若在其他数据库实例中的一个数据库实例对应的缓冲区中查找到目标数据页面,即只在一个数据库实例对应的缓冲区中查找到目标数据页面,将查找到的目标数据页面作为当前最新版本的目标数据页面,若在其他数据库实例中至少两个数据库实例对应的缓冲区中查找到目标数据页面,对比查找到的所有数据页面的版本信息获取当前最新版本的目标数据页面。
S103、目标数据库实例对应的缓冲区中查找到目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区中查找到目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面。
本申请实施例中,在通过目标数据库实例访问目标数据页面时,目标数据库实例对应的缓冲区中查找到目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区也查找到目标数据页面,即至少两个数据库实例对应的缓冲区中查找到目标数据页面,则对比查找到的所有目标数据页面的版本信息获取当前最新版本的目标数据页面,例如根据查找到的所有目标数据页面的修改时间确定当前最新版本的目标数据页面。
在一些实施例中,在通过目标数据库实例访问目标数据页面时,在目标数据库实例对应的缓冲区中查找目标数据页面;若在目标数据库实例对应的缓冲区中查找到目标数据页面,解析查找到的目标数据页面是否为当前正在操作的数据页面;若否,在其他数据库实例对应的缓冲区中查找目标数据页面,若在其他数据库实例中至少一个数据库实例对应的缓冲区中查找到目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面。
S104、目标数据库实例对应的缓冲区和其他数据库实例对应的缓冲区未找到目标数据页面,从磁盘中获取当前最新版本的目标数据页面。
本申请实施例中,在通过目标数据库实例访问目标数据页面时,在目标数据库实例对应的缓冲区以及其他数据库实例对应的缓冲区中均未查找到目标数据页面,则未在内存中产生页面相关操作记录。由于当通过多个数据库实例操作一个数据页面时,数据页面在各个数据实例的内存或磁盘上产生页面相关操作记录,并在操作过数据页面的数据库实例中暂存此数据页面的最后版本,因此从磁盘中获取当前最新版本的目标数据页面。
在一些实施例中,在通过目标数据库实例访问目标数据页面时,在目标数据库实例对应的缓冲区中查找目标数据页面,若在目标数据库实例对应的缓冲区中未查找到目标数据页面,在其他数据库实例对应的缓冲区中查找目标数据页面,若在其他数据库实例对应的缓冲区中也未查找到目标数据页面,则从磁盘中获取当前最新版本的目标数据页面。
本实施例中步骤S101、S102、S103以及S104,并不受所描述的动作顺序的限制,可以采用其他顺序或者同时进行。
本申请提供的获取数据页面的方法,通过目标数据库实例访问目标数据页面时,若只有一个数据库实例对应的缓冲区中查找到目标数据页面,将查找到的目标数据页面作为当前最新版本的目标数据页面;若两个或两个以上的数据库实例对应的缓冲区中查找到目标数据页面时,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;若所有数据库实例对应的缓冲区中均未查找到目标数据页面,则从磁盘中获取当前最新版本的目标数据页面,从而在全部数据库实例中,通过数据库实例对数据页面操作记录进行解析和筛查,查找当前数据库实例内存中最新数据页面,减小从磁盘获取数据页面的频率,减少磁盘的I/O的操作次数,提升数据库加载数据页面的性能。
图2示出了本申请一实施例提供的一种获取数据页面的方法的流程图。
如图2所示,以电子设备为执行主体,本实施例的方法可以包括如下步骤:
S201、当目标数据库实例需要访问数据页面时,获取与待访问的数据页面相关的信息,根据相关的信息确定待访问的数据页面为目标数据页面。
示例的,可以根据待访问的数据页面的标识,根据待访问的数据页面的标识确定目标数据页面。
S202、在目标数据库实例对应的缓冲区中查找目标数据页面。
若在目标数据库实例对应的缓冲区中查找到目标数据页面,执行步骤S203,若在目标数据库实例对应的缓冲区中未查找到目标数据页面,执行步骤S208。
S203、若在目标数据库实例对应的缓冲区查找到目标数据页面,解析查找到的目标数据页面是否为当前正在操作的数据页面。
若是,执行步骤S204,若否,执行步骤S205。
S204、在目标数据库实例对应的缓冲区中查找到的目标数据页面为当前正在操作的数据页面时,将查找到的目标数据页面作为当前最新版本的目标数据页面。
而后,执行步骤S211。
S205、在目标数据库实例对应的缓冲区查找到的目标数据页面不是当前正在操作的数据页面时,在其他数据库实例对应的缓冲区查找目标数据页面。
在其他数据库实例对应的缓冲区中未查找到目标数据页面,执行步骤S206,在其他数据库实例中的至少一个数据库实例对应的缓冲区中查找到目标数据页面,执行步骤S207。
S206、在其他数据库实例对应的缓冲区中未查找到目标数据页面,将在目标数据库实例对应的缓冲区查找到的目标数据页面作为当前最新版本的目标数据页面。
而后,执行步骤S211。
S207、在其他数据库实例中的至少一个数据库实例对应的缓冲区中查找到目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面。
而后,执行步骤S211。
S208、在目标数据库实例对应的缓冲区中未查找到目标数据页面,在其他数据库实例对应的缓冲区中查找目标数据页面。
在其他数据库实例对应的缓冲区中未查找到目标数据页面,执行步骤S209,在其他数据库实例中的至少两个数据库实例对应的缓冲区中查找到目标数据页面,执行步骤S210。
S209、在其他数据库实例对应的缓冲区中未查找到目标数据页面,从磁盘中获取当前最新版本的目标数据页面。
而后,执行步骤S211。
S210、在其他数据库实例的至少两个数据库实例对应的缓冲区中查找到目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面。
而后,执行步骤S211。
S211、将当前最新版本的目标数据页面加载到目标数据库实例对应的缓冲区。
本实施例中,获取当前最新版本的目标数据页面之后,将当前最新版本的目标数据页面加载到目标数据库实例对应的缓冲区,实现对目标数据页面的预加载。还可以在将当前最新版本的目标数据页面加载到目标数据库实例对应的缓冲区之后,对数据页面进行标记,以标识其为最新版本的数据页面。
本申请提供的获取数据页面的方法,通过目标数据库实例访问目标数据页面时,若只有一个数据库实例对应的缓冲区中查找到目标数据页面,将查找到的目标数据页面作为当前最新版本的目标数据页面;若两个或两个以上的数据库实例对应的缓冲区中查找到目标数据页面时,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;若所有数据库实例对应的缓冲区中均未查找到目标数据页面,则从磁盘中获取当前最新版本的目标数据页面,从而在全部数据库实例中,通过数据库实例对数据页面操作记录进行解析和筛查,查找当前数据库实例内存中最新数据页面,减小从磁盘获取数据页面的频率,减少磁盘的I/O的操作次数,提升数据库加载数据页面的性能。并且在多个数据库实例故障时,由于多版本的数据页面的冗余,可以提高数据库的容灾性,提高数据库因磁盘故障带来的数据库稳定性。
图3示出了本申请一实施例提供的一种获取数据页面的装置的结构示意图,如图3所示,本实施例的获取数据页面的装置10用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的获取数据页面的装置10包括:
通过目标数据库实例访问目标数据页面时,
第一处理模块11,用于所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例对应的缓冲区中未查找到所述目标数据页面,查找到的所述目标数据页面作为当前最新版本的目标数据页面;
第二处理模块12,用于所述目标数据库实例对应的缓冲区中未查找到所述目标数据页面,且其他数据库实例中只有一个数据库实例对应的缓冲区中查找到所述目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面;
第三处理模块13,用于所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;
第四处理模块14,用于所述目标数据库实例对应的缓冲区和所述其他数据库实例对应的缓冲区未找到所述目标数据页面,从磁盘中获取当前最新版本的目标数据页面。
本申请实施例提供的获取数据页面的装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图4示出了本申请实施例提供的一种电子设备的硬件结构示意图。如图4所示,该电子设备20,用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的电子设备20可以包括:存储器21,处理器22和通信接口23。
存储器21,用于存储计算机指令。该存储器21可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器22,用于执行存储器存储的计算机指令,以实现上述实施例中的方法。具体可以参见前述方法实施例中的相关描述。该处理器22可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选地,存储器21既可以是独立的,也可以跟处理器22集成在一起。
通信接口23,可以与处理器22连接。处理器22可以控制通信接口23来实现信号的接收和发送的功能。
本实施例提供的电子设备可用于执行上述的方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,计算机指令被处理器执行时用于实现上述的各种实施方式提供的方法。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质中读取该计算机指令,至少一个处理器执行该计算机指令使得设备实施上述的各种实施方式提供的方法。
本申请实施例还提供一种芯片,该芯片包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用并运行所述计算机指令,使得安装有所述芯片的设备执行如上各种可能的实施方式中所述的方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种获取数据页面的方法,其特征在于,所述方法包括:
通过目标数据库实例访问目标数据页面时,
所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例对应的缓冲区中未查找到所述目标数据页面,查找到的所述目标数据页面作为当前最新版本的目标数据页面;
所述目标数据库实例对应的缓冲区中未查找到所述目标数据页面,且其他数据库实例中只有一个数据库实例对应的缓冲区中查找到所述目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面;
所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;
所述目标数据库实例对应的缓冲区和所述其他数据库实例对应的缓冲区未找到所述目标数据页面,从磁盘中获取当前最新版本的目标数据页面。
2.根据权利要求1所述的方法,其特征在于,所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例对应的缓冲区中未查找到所述目标数据页面,查找到的所述目标数据页面作为当前最新版本的目标数据页面,具体包括:
在所述目标数据库实例对应的缓冲区中查找所述目标数据页面;
若在所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,解析查找到的目标数据页面是否为当前正在操作的数据页面;
若是,将在所述目标数据库实例对应的缓冲区中查找到的目标数据页面作为当前最新版本的目标数据页面;
若否,在所述其他数据库实例对应的缓冲区中查找所述目标数据页面,若在所述其他数据库实例对应的缓冲区未查找到所述目标数据页面,将所述目标数据库实例对应的缓冲区中查找到的所述目标数据页面作为当前最新版本的目标数据页面。
3.根据权利要求1所述的方法,其特征在于,所述目标数据库实例对应的缓冲区中未查找到所述目标数据页面,且其他数据库实例中只有一个数据库实例对应的缓冲区中查找到所述目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面,具体包括:
在所述目标数据库实例对应的缓冲区中查找所述目标数据页面;
若在所述目标数据库实例对应的缓冲区中未查找到所述目标数据页面,在其他数据库实例中查找所述目标数据页面;
若在所述其他数据库实例中的一个数据库实例对应的缓冲区中查找到所述目标数据页面,将查找到的所述目标数据页面作为当前最新版本的目标数据页面;
若在所述其他数据库实例中的至少两个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面。
4.根据权利要求1所述的方法,其特征在于,所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面,具体包括:
在所述目标数据库实例对应的缓冲区中查找所述目标数据页面;
若查找到所述目标数据页面,解析查找到的数据页面是否为当前正在操作的数据页面;
若否,在其他数据库实例对应的缓冲区查找所述目标数据页面;
若在其他数据库实例中至少一个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面。
5.根据权利要求1所述的方法,其特征在于,所述目标数据库实例对应的缓冲区和所述其他数据库实例对应的缓冲区未找到所述目标数据页面,从磁盘中获取当前最新版本的目标数据页面,具体包括:
在所述目标数据库实例对应的缓冲区中查找所述目标数据页面;
若未查找到所述目标数据页面,在所述其他数据库实例对应的缓冲区中查找所述目标数据页面;
若在所述其他数据库实例对应的缓冲区中未查找到所述目标数据页面,从磁盘中获取当前最新版本的目标数据页面。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,所述方法还包括:
将所述当前最新版本的目标数据页面加载至所述目标数据库实例对应的缓冲区。
7.根据权利要求1-5中任意一项所述的方法,其特征在于,所述方法还包括:
当目标数据库实例需要访问数据页面时,获取与待访问的数据页面相关的信息,根据所述相关的信息确定待访问的数据页面为目标数据页面。
8.一种获取数据页面的装置,其特征在于,所述装置,包括:
通过目标数据库实例访问目标数据页面时,
第一处理模块,用于所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例对应的缓冲区中未查找到所述目标数据页面,查找到的所述目标数据页面作为当前最新版本的目标数据页面;
第二处理模块,用于所述目标数据库实例对应的缓冲区中未查找到所述目标数据页面,且其他数据库实例中只有一个数据库实例对应的缓冲区中查找到所述目标数据页面,查找到的目标数据页面作为当前最新版本的目标数据页面;
第三处理模块,用于所述目标数据库实例对应的缓冲区中查找到所述目标数据页面,且其他数据库实例中至少一个数据库实例对应的缓冲区中查找到所述目标数据页面,对比查找到的所有目标数据页面的版本信息,获取当前最新版本的目标数据页面;
第四处理模块,用于所述目标数据库实例对应的缓冲区和所述其他数据库实例对应的缓冲区未找到所述目标数据页面,从磁盘中获取当前最新版本的目标数据页面。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311820972.0A CN117785941A (zh) | 2023-12-27 | 2023-12-27 | 获取数据页面的方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311820972.0A CN117785941A (zh) | 2023-12-27 | 2023-12-27 | 获取数据页面的方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785941A true CN117785941A (zh) | 2024-03-29 |
Family
ID=90390380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311820972.0A Pending CN117785941A (zh) | 2023-12-27 | 2023-12-27 | 获取数据页面的方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785941A (zh) |
-
2023
- 2023-12-27 CN CN202311820972.0A patent/CN117785941A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391628B (zh) | 数据同步方法及装置 | |
CN110442560B (zh) | 一种日志重演方法、装置、服务器和存储介质 | |
EP2275939B1 (en) | Processor and address translating method | |
CN104462225B (zh) | 一种数据读取的方法、装置及系统 | |
US6615364B1 (en) | Computer system and methods for acquiring dump information and system recovery | |
CN111125040B (zh) | 管理重做日志的方法、装置及存储介质 | |
CN107665219B (zh) | 一种日志管理方法及装置 | |
CN110019063B (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
CN111897493B (zh) | 存储空间管理方法、装置及电子设备、存储介质 | |
EP3396542A1 (en) | Database operating method and device | |
CN104573112A (zh) | Oltp集群数据库中页面查询方法及数据处理节点 | |
CN115408411A (zh) | 数据写入方法、装置、电子设备及存储介质 | |
US9442790B2 (en) | Computer and dumping control method | |
CN115408391A (zh) | 一种数据库表变更方法、装置、设备和存储介质 | |
CN114443722A (zh) | 缓存管理方法、装置、存储介质及电子设备 | |
US8095768B2 (en) | VSAM smart reorganization | |
US8768988B2 (en) | Accessing snapshots of a time based file system | |
CN117785941A (zh) | 获取数据页面的方法、装置、设备和介质 | |
CN110442575B (zh) | 一种面向科学大数据的索引生成方法和检索方法 | |
CN113590637A (zh) | 一种多进程共享数据库表更新方法及装置、数据库系统 | |
CN107679093B (zh) | 一种数据查询方法及装置 | |
CN117056363B (zh) | 数据缓存方法、系统、设备以及存储介质 | |
US20240362192A1 (en) | Update method and database update apparatus | |
CN118132598B (zh) | 基于多级缓存的数据库数据处理方法及设备 | |
CN111290803B (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 | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing Applicant after: China Electronics Technology Group Jincang (Beijing) Technology Co.,Ltd. Address before: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing Applicant before: BEIJING KINGBASE INFORMATION TECHNOLOGIES Inc. Country or region before: China |
|
CB02 | Change of applicant information |