一种置换方法及终端技术

技术编号:10724912 阅读:174 留言:0更新日期:2014-12-04 01:50
本发明专利技术实施例提供了一种置换方法,包括:查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面;将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为新的页面,或者,所述第二页面为包括热元组的数量最多的页面;将所述第一页面置换出所述缓冲区。本发明专利技术实施例还提供了一种终端。采用本发明专利技术,可将包括热元组的数量最少的页面中的热元组迁移至其他页面,再将该页面置换出缓冲区,提高缓冲区的利用率。

【技术实现步骤摘要】
【专利摘要】本专利技术实施例提供了一种置换方法,包括:查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面;将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为新的页面,或者,所述第二页面为包括热元组的数量最多的页面;将所述第一页面置换出所述缓冲区。本专利技术实施例还提供了一种终端。采用本专利技术,可将包括热元组的数量最少的页面中的热元组迁移至其他页面,再将该页面置换出缓冲区,提高缓冲区的利用率。【专利说明】一种置换方法及终端
本专利技术涉及数据处理
,尤其涉及一种置换方法及终端。
技术介绍
数据库管理系统负责数据库的定义、建立、操作、管理和维护,页面是数据库磁盘存储的基本单位,也是内存缓冲区的基本单位,而元组相当于页面中的每一条记录,用于存储数据。数据库管理系统为了提高系统的处理效率,在必要时从磁盘读入页面,并替换掉缓冲区中不再使用的页面,这种操作过程称为缓冲区管理。缓冲区的管理组件由下列两种机制组成:用于访问及更新页面的缓冲区管理器和用于减少读写数据库文件操作的缓冲区高速缓存(又称为“缓冲池”)。数据库将访问率高的页面放置在缓冲池中,当需要访问的页面不在缓冲池而缓冲池已满时,则需要利用置换策略对缓冲池中的页面进行置换。现有技术中使用 LRU (Least Recently Used,近期最少使用)算法、FIFO (First Input FirstOutput,先进先出)算法以及Clock (时钟)算法等通过统计页面的访问频率从而作出缓冲区页面的置换决定。 以LRU算法为例,这种算法的基本思想是:根据一个页面过去的访问历史来推测该页面未来的访问率。若该页面在过去一段时间里不曾被访问过,则在最近的将来可能也不会再被访问。所以,这种算法的实质是:当需要淘汰一个页面时,总是将最近最少使用的页面予以淘汰,即将被淘汰的页面置换到磁盘,将需要的页面换入缓冲区。 然而,现有技术中使用的算法均以页面为单位进行缓冲区管理,即使页面中存储的访问率高的元组的数量较少,该页面也会驻留在缓冲区而不被置换,导致缓冲池的利用率低,同时对缓冲池的存储容量造成一定程度的浪费。
技术实现思路
本专利技术实施例提供一种置换方法及终端,可将包括热元组的数量最少的页面中的热元组迁移至其他页面,再将该页面置换出缓冲区,提高缓冲区的利用率。 本专利技术实施例第一方面提供一种置换方法,包括: 查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面; 将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为新的页面,或者,所述第二页面为包括热元组的数量最多的页面; 将所述第一页面置换出所述缓冲区。 结合本专利技术实施例第一方面的实施方式,在本专利技术实施例第一方面的第一种可能的实现方式中,所述将所述第一页面的热元组迁移至所述缓冲区中的第二页面,具体包括: 判断所述热元组的索引是否在所述缓冲区内,所述索引对应于所述热元组在所述第一页面中的位置; 若判断为是,则删除所述热元组; 将删除的热元组插入到所述第二页面; 修改所述索引,以使所述索引对应于所述热元组在所述第二页面中的位置。 结合本专利技术实施例第一方面的实施方式,在本专利技术实施例第一方面的第二种可能的实现方式中,所述查找第一页面之前,所述方法还包括: 在预设时间内所有访问元组的事务中抽取预设数量的事务; 根据抽取的事务获取所述事务访问的元组; 从获取的元组中筛选出热元组。 结合本专利技术实施例第一方面的第二种可能的实现方式,在本专利技术实施例第一方面的第三种可能的实现方式中,所述从获取的元组中筛选出热元组,具体包括: 根据所述预设时间,以及访问所述元组的事务的数量计算所述元组的访问频率; 确定访问频率大于或等于预设频率的元组为所述热元组。 结合本专利技术实施例第一方面的实施方式,在本专利技术实施例第一方面的第四种可能的实现方式中,所述方法还包括: 向所述缓冲区添入第三页面,所述第三页面为需要访问的页面。 本专利技术实施例第二方面提供一种终端,包括: 查找模块,用于查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面; 迁移模块,用于将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为新的页面,或者,所述第二页面为包括热元组的数量最多的页面; 置换模块,用于将所述第一页面置换出所述缓冲区。 结合本专利技术实施例第二方面的实施方式,在本专利技术实施例第二方面的第一种可能的实现方式中,所述迁移模块包括: 判断单元,用于判断所述热元组的索引是否在所述缓冲区内,所述索引对应于所述热元组在所述第一页面中的位置; 删除单元,用于当所述判断单元的判断结果为是时,则删除所述热元组; 插入单元,用于将删除的热元组插入到所述第二页面; 修改单元,用于修改所述索引,以使所述索引对应于所述热元组在所述第二页面中的位置。 结合本专利技术实施例第二方面的实施方式,在本专利技术实施例第二方面的第二种可能的实现方式中,所述终端还包括: 抽取模块,用于在预设时间内所有访问元组的事务中抽取预设数量的事务; 获取模块,用于根据抽取的事务获取所述事务访问的元组; 筛选模块,用于从获取的元组中筛选出热元组。 结合本专利技术实施例第二方面的第二种可能的实现方式,在本专利技术实施例第二方面的第三种可能的实现方式中,所述筛选模块包括: 计算单元,用于根据所述预设时间,以及访问所述元组的事务的数量计算所述元组的访问频率; 确定单元,用于确定访问频率大于或等于预设频率的元组为所述热元组。 结合本专利技术实施例第二方面的实施方式,在本专利技术实施例第二方面的第四种可能的实现方式中,所述终端还包括: 添入模块,用于向所述缓冲区添入第三页面,所述第三页面为需要访问的页面。 采用本专利技术实施例,可将缓冲区中包括热元组的数量最少的页面中的热元组迁移至缓冲区的第二页面,页面可为新的页面或者为包括热元组的数量最多的页面,修改热元组对应的索引,再将第一页面置换出缓冲区,添入需要访问的页面。在页面的置换过程中,将热元组迁移至其他页面以紧凑存储热元组,再将热元组所属的页面置换出缓冲区,能提高缓冲区的利用率,节省缓冲区的存储容量,减少页面颠簸的概率。 【专利附图】【附图说明】 为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1是本专利技术实施例的一种置换方法的流程示意图; 图2是本专利技术实施例的另一种置换方法的流程示意图; 图3是本专利技术实施例图2的抽样操作示意图; 图4是本专利技术实施例图2的S202的具体流程示意图; 图5是本专利技术实施例图2的迁移热元组的操作示意图; 图6是本专利技术实施例图2的终端交互的操作示意图; 图7是本专利技术实施例的一种终端的结构示意图; 图8是本专利技术实施例的一种终端的具体结构示意图; 图9是本专利技术实施例的另一种终端的结构示意图。 【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的本文档来自技高网
...
一种置换方法及终端

【技术保护点】
一种置换方法,其特征在于,包括:查找第一页面,所述第一页面为缓冲区中包括热元组的数量最少的页面;将所述第一页面的热元组迁移至所述缓冲区中的第二页面,所述第二页面为新的页面,或者,所述第二页面为包括热元组的数量最多的页面;将所述第一页面置换出所述缓冲区。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱阅岸周烜董亚辉
申请(专利权)人:杭州华为数字技术有限公司
类型:发明
国别省市:浙江;33

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

1