CN104182514B - 一种置换方法及终端 - Google Patents

一种置换方法及终端 Download PDF

Info

Publication number
CN104182514B
CN104182514B CN201410415932.2A CN201410415932A CN104182514B CN 104182514 B CN104182514 B CN 104182514B CN 201410415932 A CN201410415932 A CN 201410415932A CN 104182514 B CN104182514 B CN 104182514B
Authority
CN
China
Prior art keywords
page
tuple
hot
buffering area
affairs
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
CN201410415932.2A
Other languages
English (en)
Other versions
CN104182514A (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.)
Huawei Technologies Co Ltd
Original Assignee
Hangzhou Huawei Digital Technologies Co 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 Hangzhou Huawei Digital Technologies Co Ltd filed Critical Hangzhou Huawei Digital Technologies Co Ltd
Priority to CN201410415932.2A priority Critical patent/CN104182514B/zh
Publication of CN104182514A publication Critical patent/CN104182514A/zh
Application granted granted Critical
Publication of CN104182514B publication Critical patent/CN104182514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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/21Design, administration or maintenance of databases
    • G06F16/214Database migration support

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)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种置换方法,包括:查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面;将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为新的页面,或者,所述第二页面为包括热元组的数量最多的页面;将所述第一页面置换出所述缓冲区。本发明实施例还提供了一种终端。采用本发明,可将包括热元组的数量最少的页面中的热元组迁移至其他页面,再将该页面置换出缓冲区,提高缓冲区的利用率。

Description

一种置换方法及终端
技术领域
本发明涉及数据处理技术领域,尤其涉及一种置换方法及终端。
背景技术
数据库管理系统负责数据库的定义、建立、操作、管理和维护,页面是数据库磁盘存储的基本单位,也是内存缓冲区的基本单位,而元组相当于页面中的每一条记录,用于存储数据。数据库管理系统为了提高系统的处理效率,在必要时从磁盘读入页面,并替换掉缓冲区中不再使用的页面,这种操作过程称为缓冲区管理。缓冲区的管理组件由下列两种机制组成:用于访问及更新页面的缓冲区管理器和用于减少读写数据库文件操作的缓冲区高速缓存(又称为“缓冲池”)。数据库将访问率高的页面放置在缓冲池中,当需要访问的页面不在缓冲池而缓冲池已满时,则需要利用置换策略对缓冲池中的页面进行置换。现有技术中使用LRU(Least Recently Used,近期最少使用)算法、FIFO(First Input FirstOutput,先进先出)算法以及Clock(时钟)算法等通过统计页面的访问频率从而作出缓冲区页面的置换决定。
以LRU算法为例,这种算法的基本思想是:根据一个页面过去的访问历史来推测该页面未来的访问率。若该页面在过去一段时间里不曾被访问过,则在最近的将来可能也不会再被访问。所以,这种算法的实质是:当需要淘汰一个页面时,总是将最近最少使用的页面予以淘汰,即将被淘汰的页面置换到磁盘,将需要的页面换入缓冲区。
然而,现有技术中使用的算法均以页面为单位进行缓冲区管理,即使页面中存储的访问率高的元组的数量较少,该页面也会驻留在缓冲区而不被置换,导致缓冲池的利用率低,同时对缓冲池的存储容量造成一定程度的浪费。
发明内容
本发明实施例提供一种置换方法及终端,可将包括热元组的数量最少的页面中的热元组迁移至其他页面,再将该页面置换出缓冲区,提高缓冲区的利用率。
本发明实施例第一方面提供一种置换方法,包括:
查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面;
将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为新的页面,或者,所述第二页面为包括热元组的数量最多的页面;
将所述第一页面置换出所述缓冲区。
结合本发明实施例第一方面的实施方式,在本发明实施例第一方面的第一种可能的实现方式中,所述将所述第一页面的热元组迁移至所述缓冲区中的第二页面,具体包括:
判断所述热元组的索引是否在所述缓冲区内,所述索引对应于所述热元组在所述第一页面中的位置;
若判断为是,则删除所述热元组;
将删除的热元组插入到所述第二页面;
修改所述索引,以使所述索引对应于所述热元组在所述第二页面中的位置。
结合本发明实施例第一方面的实施方式,在本发明实施例第一方面的第二种可能的实现方式中,所述查找第一页面之前,所述方法还包括:
在预设时间内所有访问元组的事务中抽取预设数量的事务;
根据抽取的事务获取所述事务访问的元组;
从获取的元组中筛选出热元组。
结合本发明实施例第一方面的第二种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,所述从获取的元组中筛选出热元组,具体包括:
根据所述预设时间,以及访问所述元组的事务的数量计算所述元组的访问频率;
确定访问频率大于或等于预设频率的元组为所述热元组。
结合本发明实施例第一方面的实施方式,在本发明实施例第一方面的第四种可能的实现方式中,所述方法还包括:
向所述缓冲区添入第三页面,所述第三页面为需要访问的页面。
本发明实施例第二方面提供一种终端,包括:
查找模块,用于查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面;
迁移模块,用于将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为新的页面,或者,所述第二页面为包括热元组的数量最多的页面;
置换模块,用于将所述第一页面置换出所述缓冲区。
结合本发明实施例第二方面的实施方式,在本发明实施例第二方面的第一种可能的实现方式中,所述迁移模块包括:
判断单元,用于判断所述热元组的索引是否在所述缓冲区内,所述索引对应于所述热元组在所述第一页面中的位置;
删除单元,用于当所述判断单元的判断结果为是时,则删除所述热元组;
插入单元,用于将删除的热元组插入到所述第二页面;
修改单元,用于修改所述索引,以使所述索引对应于所述热元组在所述第二页面中的位置。
结合本发明实施例第二方面的实施方式,在本发明实施例第二方面的第二种可能的实现方式中,所述终端还包括:
抽取模块,用于在预设时间内所有访问元组的事务中抽取预设数量的事务;
获取模块,用于根据抽取的事务获取所述事务访问的元组;
筛选模块,用于从获取的元组中筛选出热元组。
结合本发明实施例第二方面的第二种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,所述筛选模块包括:
计算单元,用于根据所述预设时间,以及访问所述元组的事务的数量计算所述元组的访问频率;
确定单元,用于确定访问频率大于或等于预设频率的元组为所述热元组。
结合本发明实施例第二方面的实施方式,在本发明实施例第二方面的第四种可能的实现方式中,所述终端还包括:
添入模块,用于向所述缓冲区添入第三页面,所述第三页面为需要访问的页面。
采用本发明实施例,可将缓冲区中包括热元组的数量最少的页面中的热元组迁移至缓冲区的第二页面,页面可为新的页面或者为包括热元组的数量最多的页面,修改热元组对应的索引,再将第一页面置换出缓冲区,添入需要访问的页面。在页面的置换过程中,将热元组迁移至其他页面以紧凑存储热元组,再将热元组所属的页面置换出缓冲区,能提高缓冲区的利用率,节省缓冲区的存储容量,减少页面颠簸的概率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种置换方法的流程示意图;
图2是本发明实施例的另一种置换方法的流程示意图;
图3是本发明实施例图2的抽样操作示意图;
图4是本发明实施例图2的S202的具体流程示意图;
图5是本发明实施例图2的迁移热元组的操作示意图;
图6是本发明实施例图2的终端交互的操作示意图;
图7是本发明实施例的一种终端的结构示意图;
图8是本发明实施例的一种终端的具体结构示意图;
图9是本发明实施例的另一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
采用本发明实施例,可将包括热元组的数量最少的页面中的热元组迁移至其他页面,再将该页面置换出缓冲区,提高缓冲区的利用率。
请参阅图1,图1是本发明实施例的一种置换方法的流程图。如图1所示,本发明实施例的一种置换方法可以包括以下步骤。
S100,查找第一页面,第一页面为缓冲区中包括热元组的数量最少的页面。
具体实现中,由于每个页面包含的热元组的数量不同,为了减少迁移带来的资源消耗,将迁移的热元组的数量降到最少,可先在缓冲区中查找包括热元组的数量最少的页面,其中,热元组为访问频率大于或等于预设频率的元组,访问频率指在预设时间内访问某一元组的次数。
S101,将第一页面的热元组迁移至缓冲区中的第二页面,第二页面为新的页面,或者,第二页面为包括热元组的数量最多的页面。
具体实现中,若查找到缓冲区中的第一页面包括的热元组的数量最少,则将第一页面的热元组迁移至缓冲区中的第二页面,可增加热元组分布的密度,使得缓冲区中的页面聚集越来越多的热元组,减少页面颠簸的概率。第二页面可以为新的页面,用于存放热元组,或者第二页面为包括热元组的数量最多的页面。
S102,将第一页面置换出缓冲区。
具体实现中,在将第一页面的热元组迁移至第二页面后,将第一页面置换出缓冲区,将需要访问的页面添加到缓冲区中。
通过实施图1所描述的方法,可将缓冲区中包括热元组的数量最少的页面中的热元组迁移至缓冲区的第二页面,页面可为新的页面或者为包括热元组的数量最多的页面,再将第一页面置换出缓冲区,添入需要访问的页面。在页面的置换过程中,将热元组迁移至其他页面以紧凑存储热元组,再将热元组所属的页面置换出缓冲区,能提高缓冲区的利用率,节省缓冲区的存储容量,减少页面颠簸的概率。
请参阅图2,图2是本发明实施例的另一种置换方法的流程示意图。如图2所示,本发明实施例的另一种置换方法可以包括以下步骤。
S200,在预设时间内所有访问元组的事务中抽取预设数量的事务。
具体实现中,采用抽样的方法在预设时间内缓冲区中所有访问元组的事务中抽取预设数量的事务,事务用于访问并可能更新数据库中的各种数据项。具体的,可先确定在预设时间内所有访问缓冲区中的元组的事务,在确定的事务中抽取预设数量的事务。下面通过图3所示的抽样操作示意图进行详细说明。
如图3所示,在预设时间(例如1小时)内共有18个事务访问6个元组,其访问情况为:事务S0至事务S4访问元组1(即元组1的访问次数为5次),事务S5至事务S6访问元组2(即元组2的访问次数为2次),事务S7至事务S9访问元组3(即元组3的访问次数为3次),事务Sa访问元组4(即元组4的访问次数为1次),事务Sb访问元组5(即元组5的访问次数为1次),事务Sc至事务Sh访问元组6(即元组6的访问次数为6次)。在设定抽取的数量为9的情况下,在这18个事务中随机抽取9个事务。
作为一种可实施的方式,预设时间以及预设数量根据终端的CPU的处理速度而设定。
S201,根据抽取的事务获取事务访问的元组。
具体实现中,在抽取预设数量的事务之后,根据抽取出的事务获取每个事务所访问的元组,统计以及记录获取的元组。如图3所示,抽取后的情况如下:其中抽取到有3个事务访问元组1,有1个事务访问元组2,有1个事务访问元组3,有4个事务访问元组6。因此经过抽样的方法抽取事务而获取的元组为元组1、元组2、元组3以及元组6。
作为一种可实施的方式,可将获取的元组写入统计日志。具体的,可记录元组所属页面的标识、元组的标识以及元组在所属页面中的位置。
S202,从获取的元组中筛选出热元组。
具体实现中,热元组为需要迁移的元组。在获取到元组1、元组2、元组3以及元组6之后,从这4个元组当中筛选出热元组。
可选的,如图4所示,上述S202可以包括:
S400,根据预设时间,以及访问元组的事务的数量计算元组的访问频率。
具体实现中,可通过计算获取的元组的访问频率筛选热元组。根据之前预设的时间以及访问元组的事务的数量(即访问元组的次数)计算元组的访问频率。根据步骤S200每个元组的访问情况,分别计算元组1、元组2、元组3以及元组6的访问频率。由于预设时间为1小时,因此元组1的访问频率为5,元组2的访问频率为2,元组3的访问频率为3,元组6的访问频率为6。
S401,确定访问频率大于或等于预设频率的元组为热元组。
具体实现中,将获取的元组的访问频率与预设频率一一比较,其中,预设频率可根据缓冲区的存储容量以及根据指数平滑法对元组的访问情况的分析而设定。在步骤S400的实施例中,预设频率可设定为3,访问频率大于或等于3的元组为元组1、元组3以及元组6,则将上述3个元组确定为热元组。
S203,查找第一页面,第一页面为缓冲区中包括热元组的数量最少的页面。
具体实现中,以页面内热元组数量最少为标准选择置换的页面。如图5所示,由于元组6在第一页面中,元组1以及元组3在第二页面中,第一页面包括的热元组的数量最少,因此确定置换第一页面。
S204,判断热元组的索引是否在缓冲区内,索引对应于热元组在第一页面中的位置。
具体实现中,迁移元组在带来收益的同时也会带来相应的代价。迁移在以下两种情况下会带来收益:将页面中的热元组整体迁移能大大节省消耗的资源;热元组的索引也在缓冲区内时,不需要额外加载索引,直接在缓冲区中修改索引。而元组迁移所付出的代价包括以下两个方面:每个元组会设置对应的索引,索引用于检索元组在页面中的位置,当元组的位置产生变动,如将元组从第一页面迁移至第二页面时,则需要对应修改元组的索引;置换的页面在被置换出缓冲区后需要长期在磁盘中存储备份。因此,在迁移热元组时需要衡量迁移的代价以及迁移带来的收益。
若索引不在缓冲区内,当需要修改索引时,需要将索引加载入缓冲区,再修改索引,势必消耗系统资源,此时的迁移带来的收益就比付出的代价低,不利于迁移。因此,在确定迁移的元组是热元组的情况下,需要判断热元组的索引是否在缓冲区内,若判断为是,则执行S205,若判断为否,则执行S206,停止迁移元组。
S205,删除热元组。
具体实现中,当步骤S204的判断结果为是时,则将第一页面的元组6删除。
S206,停止迁移元组。
S207,将删除的热元组插入到第二页面。
具体实现中,如图5所示的迁移元组的操作示意图,可将元组6插入新的页面,或者,将元组6插入包括热元组数量最多的页面,即包括元组1以及元组3的第二页面,实现热元组的紧凑存储,能够减少页面颠簸的概率。本实施例则将元组6插入包括元组1以及元组3的第二页面进行举例说明。
作为一种可实施的方式,为了方便热元组的插入,每个页面会预留预设的空闲空间,其中,空闲空间可根据缓冲区的存储容量设定,如图5所示,可设置第二页面的空闲空间为20%。
作为一种可实施的方式,热元组的删除以及插入动作可由原子事务实现。原子事务体现在以下四个方面:原子事务中的所有操作一次执行到底,或者,不执行;原子事务一旦提交,对数据库的改变是永久的,即原子事务的持久性;一个原子事务内部的操作及使用的数据对并发的其他事务是隔离的,即原子事务的隔离性;原子事务必须是使数据库从一个一致性状态改变到另一个一致性状态,即原子事务维持数据库的一致性。
作为一种可实施的方式,页面为一个链表,则插入热元组的操作在表尾进行。因此,如图5所示,将元组6插入到第二页面的表尾,此时元组1、元组3以及元组6共同存储在第二页面,以使缓冲区的页面聚集越来越多的元组,实现热元组的紧凑存储,减少页面颠簸的概率。
作为一种可实施的方式,为了能够在迁移热元组的同时保证系统与客户端之间的交互,并保证事务的逻辑性,迁移热源组以及与客户端的交互可在不同的终端执行。如图6所示的终端交互的操作示意图,第一终端用于根据客户端的指令正常操作,而第二终端用于紧凑存储热元组。此外,第二终端还用于记录客户端为第一终端下发的操作指令,在第二终端结束热元组的紧凑存储后,第二终端根据记录的操作指令与第一终端同步执行剩下未完成的操作,减轻第一终端的执行压力。
S208,修改索引,以使索引对应于热元组在第二页面中的位置。
具体实现中,在完成元组6的紧凑存储后,修改元组6的索引。
S209,将第一页面置换出缓冲区。
具体实现中,当所有热元组从第一页面迁移至第二页面后,将第一页面置换出缓冲区,存入磁盘,以便添入新的需要访问的页面。
S210,向缓冲区添入第三页面,第三页面为需要访问的页面。
具体实现中,将第三页面从磁盘添入缓冲区中。
通过实施图2所描述的方法,可将缓冲区中包括热元组的数量最少的页面中的热元组迁移至缓冲区的第二页面,页面可为新的页面或者为包括热元组的数量最多的页面,修改热元组对应的索引,再将第一页面置换出缓冲区,添入需要访问的页面。在页面的置换过程中,将热元组迁移至其他页面以紧凑存储热元组,再将热元组所属的页面置换出缓冲区,能提高缓冲区的利用率,节省缓冲区的存储容量,减少页面颠簸的概率。
请参阅图7,图7是本发明实施例的一种终端的结构示意图。如图7所示的终端包括查找模块701、迁移模块702以及置换模块703。
查找模块701,用于查找第一页面,第一页面为缓冲区中包括热元组的数量最少的页面。
迁移模块702,用于将第一页面的热元组迁移至缓冲区中的第二页面,第二页面为新的页面,或者,第二页面为包括热元组的数量最多的页面。
置换模块703,用于将第一页面置换出缓冲区。
作为一种可实施的方式,如图8所示,迁移模块702包括判断单元7021、删除单元7022、插入单元7023以及修改单元7024。
判断单元7021,用于判断热元组的索引是否在缓冲区内,索引对应于热元组在第一页面中的位置。
删除单元7022,用于当判断单元7021的判断结果为是时,则删除热元组。
插入单元7023,用于将删除的热元组插入到第二页面。
修改单元7024,用于修改索引,以使索引对应于热元组在第二页面中的位置。
作为一种可实施的方式,如图8所示,终端还包括抽取模块704、获取模块705以及筛选模块706。
抽取模块704,用于在预设时间内所有访问元组的事务中抽取预设数量的事务。
获取模块705,用于根据抽取的事务获取事务访问的元组。
筛选模块706,用于从获取的元组中筛选出热元组。
作为一种可实施的方式,如图8所示,筛选模块706包括计算单元7061以及确定单元7062。
计算单元7061,用于根据预设时间,以及访问元组的事务的数量计算元组的访问频率。
确定单元7062,用于确定访问频率大于或等于预设频率的元组为热元组。
作为一种可实施的方式,如图8所示,终端还包括添入模块707。
添入模块707,用于向缓冲区添入第三页面,第三页面为需要访问的页面。
通过实施图7及图8所描述的终端,可将缓冲区中包括热元组的数量最少的页面中的热元组迁移至缓冲区的第二页面,页面可为新的页面或者为包括热元组的数量最多的页面,修改热元组对应的索引,再将第一页面置换出缓冲区,添入需要访问的页面。在页面的置换过程中,将热元组迁移至其他页面以紧凑存储热元组,再将热元组所属的页面置换出缓冲区,能提高缓冲区的利用率,节省缓冲区的存储容量,减少页面颠簸的概率。
请参阅图9,图9是本发明实施例的另一种终端的结构示意图。
如图9所示的终端包括输入装置900、输出装置901、存储器902和处理器903(终端的处理器903的数量可以为一个或多个,图9中以一个处理器903为例)。在本发明实施例中,输入装置900、输出装置901、存储器902和处理器903可通过总线或其他方式连接,其中,图9中以通过总线连接为例。
其中,存储器902用于存储程序,处理器903用于调用程序执行如下步骤。
查找第一页面,第一页面为缓冲区中包括热元组的数量最少的页面;将第一页面的热元组迁移至缓冲区中的第二页面,第二页面为新的页面,或者,第二页面为包括热元组的数量最多的页面;将第一页面置换出缓冲区。
作为一种可实施的方式,处理器903还执行如下步骤:
判断热元组的索引是否在缓冲区内,索引对应于热元组在第一页面中的位置;若判断为是,则删除热元组;将删除的热元组插入到第二页面;修改索引,以使索引对应于热元组在第二页面中的位置。
作为一种可实施的方式,处理器903还执行如下步骤:
在预设时间内所有访问元组的事务中抽取预设数量的事务;根据抽取的事务获取事务访问的元组;从获取的元组中筛选出热元组。
作为一种可实施的方式,处理器903还执行如下步骤:
根据预设时间,以及访问元组的事务的数量计算元组的访问频率;确定访问频率大于或等于预设频率的元组为热元组。
作为一种可实施的方式,处理器903还执行如下步骤:
向缓冲区添入第三页面,第三页面为需要访问的页面。
通过实施图9所描述的终端,可将缓冲区中包括热元组的数量最少的页面中的热元组迁移至缓冲区的第二页面,页面可为新的页面或者为包括热元组的数量最多的页面,修改热元组对应的索引,再将第一页面置换出缓冲区,添入需要访问的页面。在页面的置换过程中,将热元组迁移至其他页面以紧凑存储热元组,再将热元组所属的页面置换出缓冲区,能提高缓冲区的利用率,节省缓冲区的存储容量,减少页面颠簸的概率。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
本发明实施例的模块或模块,可以以通用集成电路(如中央处理器CPU),或以专用集成电路(ASIC)来实现。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。

Claims (6)

1.一种置换方法,其特征在于,包括:
查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面;
将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为包括热元组的数量最多的页面;
在所述缓冲区中修改迁移至所述第二页面上的热元组的索引,以使修改后的所述热元组的索引对应于所述迁移至所述第二页面上的热元组在所述第二页面中的位置;
将所述第一页面置换出所述缓冲区;
其中,所述热元组为预设时间内被访问频率大于或者等于预设频率的元组,所述被访问频率由在所述预设时间内访问所述热元组的事务的数量确定,所述事务用于访问和/或更新数据库中的数据项。
2.根据权利要求1所述的方法,其特征在于,所述查找第一页面之前,所述方法还包括:
在预设时间内所有访问元组的事务中抽取预设数量的事务;
根据抽取的事务获取所述事务访问的元组;
从获取的元组中筛选出热元组。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述缓冲区添入第三页面,所述第三页面为需要访问的页面。
4.一种终端,其特征在于,包括:
查找模块,用于查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面;
迁移模块,用于将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为包括热元组的数量最多的页面;
所述迁移模块,还用于在所述缓冲区中修改迁移至所述第二页面上的热元组的索引,以使修改后的所述热元组的索引对应于所述迁移至所述第二页面上的热元组在所述第二页面中的位置;
置换模块,用于将所述第一页面置换出所述缓冲区;
其中,所述热元组为预设时间内被访问频率大于或者等于预设频率的元组,所述被访问频率由在所述预设时间内访问所述热元组的事务的数量确定,所述事务用于访问和/或更新数据库中的数据项。
5.根据权利要求4所述的终端,其特征在于,所述终端还包括:
抽取模块,用于在预设时间内所有访问元组的事务中抽取预设数量的事务;
获取模块,用于根据抽取的事务获取所述事务访问的元组;
筛选模块,用于从获取的元组中筛选出热元组。
6.根据权利要求4所述的终端,其特征在于,所述终端还包括:
添入模块,用于向所述缓冲区添入第三页面,所述第三页面为需要访问的页面。
CN201410415932.2A 2014-08-21 2014-08-21 一种置换方法及终端 Active CN104182514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410415932.2A CN104182514B (zh) 2014-08-21 2014-08-21 一种置换方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410415932.2A CN104182514B (zh) 2014-08-21 2014-08-21 一种置换方法及终端

Publications (2)

Publication Number Publication Date
CN104182514A CN104182514A (zh) 2014-12-03
CN104182514B true CN104182514B (zh) 2018-02-06

Family

ID=51963553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410415932.2A Active CN104182514B (zh) 2014-08-21 2014-08-21 一种置换方法及终端

Country Status (1)

Country Link
CN (1) CN104182514B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542662B (zh) * 2018-11-23 2022-04-05 北京锐安科技有限公司 一种内存管理方法、装置、服务器及存储介质
CN110109614B (zh) * 2019-03-22 2022-02-18 浙江工商大学 面向pram/dram混合内存的基于概率的数据迁移方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102651008A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 在关系数据库中组织数据记录的方法和设备
CN103902473A (zh) * 2012-12-31 2014-07-02 华为技术有限公司 一种数据处理方法及数据缓存系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4199519B2 (ja) * 2002-11-05 2008-12-17 パナソニック株式会社 メモリ管理装置及びメモリ管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102651008A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 在关系数据库中组织数据记录的方法和设备
CN103902473A (zh) * 2012-12-31 2014-07-02 华为技术有限公司 一种数据处理方法及数据缓存系统

Also Published As

Publication number Publication date
CN104182514A (zh) 2014-12-03

Similar Documents

Publication Publication Date Title
US10831736B2 (en) Fast multi-tier indexing supporting dynamic update
CN105205014B (zh) 一种数据存储方法和装置
US10078640B2 (en) Adjusting extension size of a database table using a volatile database table attribute
CN103425663B (zh) 嵌入式系统数据库创建表、存记录、删记录的方法和装置
US20130179476A1 (en) Scalable billing usage data storage
US10049034B2 (en) Information processing apparatus
CN107665219A (zh) 一种日志管理方法及装置
CN107704573A (zh) 一种与业务耦合的智能缓存方法
CN107688626A (zh) 慢查询日志处理方法、装置及电子设备
CN110287152A (zh) 一种数据管理的方法以及相关装置
CN110209502A (zh) 一种信息存储方法、装置、电子设备及存储介质
CN109086462A (zh) 一种分布式文件系统中元数据的管理方法
CN104182514B (zh) 一种置换方法及终端
US9275091B2 (en) Database management device and database management method
CN112925792B (zh) 数据存储控制方法、装置、计算设备及介质
CN111913913A (zh) 访问请求的处理方法和装置
CN111427920B (zh) 数据采集方法、装置、系统、计算机设备及存储介质
CN107888686A (zh) 一种位于HBase客户端的用户数据有效性验证方法
CN112632266B (zh) 数据写入方法、装置、计算机设备及可读存储介质
CN106980616A (zh) 一种海量小文件合并存储方法和系统
RU2647648C1 (ru) Способ организации хранения исторических дельт записей
CN109992582A (zh) 一种基于图形编程的临时数据处理方法及电子设备
CN109471898A (zh) 一种用于对数据进行共享分发的方法及系统
CN115827508B (zh) 一种数据处理方法、系统、设备以及存储介质
JP2013246773A (ja) 計算機システム及びデータ管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200423

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 301, A building, room 3, building 301, foreshore Road, No. 310053, Binjiang District, Zhejiang, Hangzhou

Patentee before: Huawei Technologies Co.,Ltd.