CN102184236B - 一种空间数据库中基于距离的自适应页面替换方法 - Google Patents
一种空间数据库中基于距离的自适应页面替换方法 Download PDFInfo
- Publication number
- CN102184236B CN102184236B CN 201110124989 CN201110124989A CN102184236B CN 102184236 B CN102184236 B CN 102184236B CN 201110124989 CN201110124989 CN 201110124989 CN 201110124989 A CN201110124989 A CN 201110124989A CN 102184236 B CN102184236 B CN 102184236B
- Authority
- CN
- China
- Prior art keywords
- page
- formation
- requests
- buffer memory
- management
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明属于空间数据库技术领域,具体涉及一种空间数据库中基于距离的自适应页面替换方法。其步骤为:首先设定策略管理队列的目标容量及约束容量;由空间数据库提出具体页面的请求;缓存接收到请求后,检查缓存中是否存在请求页面内容,进行不同处理;接着加载请求页面的内容到缓存中并记录请求页面的坐标信息;最后约束管理队列容纳页面信息的个数。本发明命中率高,并可以解决LRU、LIRS、ARC等策略对空间局部性工作集不友好的缺点。
Description
技术领域
本发明属于空间数据库技术领域,具体涉及一种空间数据库中自适应页面替换方法。
背景技术
空间数据库是当今的研究热点之一,也是一个具有广阔发展前景的技术领域,缓存页面替换策略也是当前的研究热点,空间数据库需要特殊的页面替换策略提高缓存命中率以减少磁盘的读写操作,本发明所涉及的正是以上两个领域的交叉。
磁盘读写是影响空间数据库系统性能的关键因素。现有的替换策略均从从数据访问的时间局部性角度出发来设计。如选择当前缓存中最久没有被访问的页面进行替换的LRU策略,选择重用距离(页面最后一次访问与倒数第二次访问之间的距离差)大的页面进行替换的LIRS策略,同时考虑页面访问时间与频率的ARC策略。然而在空间数据库中,采用的数据组织和查询不同于基于RDBMS的一般商业应用,从数据访问的角度看,除了具备时间局部性,还具有很强的空间局部性,一段数据被访问后,那么和它地理位置邻近的数据很可能就要被访问。
空间数据组织结构有两种——R树和Voronoi图。Voronoi图以其良好的空间划分性质,极快的查询处理速度赢得了广泛关注。如图1,给定一系列目标节点,Voronoi图根据这些点把地图划分成互不相交的区域(Voronoi格),而且对任意查询点,其最近邻一定是该点所属区域的生成点(generator)。Voronoi图的这种性质,使其在处理最近邻(NN)查询时比采用R树等其他方式组织具有显著性能优势;同时,它所需要更大的存储空间。
在Voronoi图组织的空间数据库中进行各种NN查询时,数据访问的空间局部性表现得特别强。例如我们执行一个2NN查询,查询点所在Voronoi格被访问后,其周围邻近的那些Voronoi格都一定会被访问。此外,对于各类kNN查询,不同的k值对搜索空间大小差异非常大,使得LIRS等需要预设参数的缓存替换策略的命中率受到影响。
在Voronoi图存储结构中,每个页面都会记录该Voronoi格生成点的坐标信息。所以在执行替换策略时可以根据坐标点等信息选择替换的页面。
发明内容
本发明针对空间数据库访问的时空局部性,提出一种基于距离的自适应的页面替换方法(策略AELIRS),以解决LRU、LIRS、ARC等策略对空间局部性工作集不友好的缺点。
本发明提出的空间数据库的页面替换方法,在页面命中时,更新页面在队列中的位置与等级信息,更新队列的目标容量大小;在页面失效时,选择与上一次访问页面所记录生成点的空间距离最远的点所在的页面进行替换,并更新队列中页面信息与等级信息,并更新队列的目标容量大小;最后约束队列的大小来节省空间。通过动态调整队列的目标容量,本发明很好地提高了缓存的命中表现。
本发明页的面替换策略AELIRS中,管理队列中的页面有两种等级:低级与高级。而管理队列如图2所示,主要有两个队列:队列一负责管理一定时间内的所有页面信息,包括这段时间内移出缓存的页面信息。而队列二只管理在缓存中记录内容的低级页面信息。
首先对策略执行过程中的一些操作进行定义。
定义1. 操作队列剪枝:移除队列一中队列头部的低级页面信息并把其中在缓存中有记录的页面信息移至队列二尾部,直到队列一头部是高级页面信息。
定义2. 动态调整操作:当队列二容量小于队列二的目标容量时,把队列一头部页面降级为低级页面,进行队列剪枝操作,直到队列二容量等于其目标容量。
定义3. 队列约束操作:当队列一容量大于队列一的控制容量时,删除队列一中接近头部的没有在缓存中记录其内容的页面信息,直到队列一容量等于其的控制容量。
本发明的详细描述如下:
(1)设定策略管理队列一的控制容量和队列二的目标容量;
(2)空间数据库发起页面请求,把请求页面号发送至缓存;缓存根据页面号码,判断该页面内容是否在缓存中有记录;
(3)若缓存中记录该页面,则执行命中页面管理;若缓存中没有记录该页面,则执行替换页面选择和失效页面管理;
(4)把请求页面加载到缓存中,记录下请求页面记录的坐标信息;
(5)执行队列约束操作;
本发明中,所述执行命中管理操作,具体步骤如下:
(1)判断队列一中是否含有请求页面信息并返回页面信息等级。
(2)若队列一含请求页面,则将队列一中请求页面信息移至队列一尾,此时若该页面是高级,则进行队列剪枝,否则就删除队列二中该页面信息,并进行动态调整。
(3)若队列一不含请求页面,则将队列二中请求页面信息移至队列一与队列二尾部,并增大队列二的目标容量。
本发明中,所述失效页面管理操作,具体步骤如下:
(1)判断队列一中是否含有请求页面信息;(2)若步骤(1)回答含有请求页面信息,则执行失效驻队页面管理;否则执行失效离队页面管理。
本发明中,所述替换页面选择的步骤如下:
(1)选择管理队列二中选择与上一次访问页面空间距离最远的页面从队列二中删除;(2)在缓存移除步骤(1)选择页面的内容。
所述执行命中管理操作中,所述命中高级页面管理的步骤如下:
(1)把队列一中请求页面信息移至队列一尾;(2)进行队列剪枝。
所述执行命中管理操作中,所述命中低级页面管理的步骤如下:
(1)把队列一中请求页面信息移至队列一尾,并把设置为高级页面信息;(2)删除队列二中的请求页面信息;(3)进行动态调整。
所述执行命中管理操作中,所述命中离队页面管理的步骤如下:
(1)把队列二中请求页面信息移至队列一与队列二尾部;(2)增大队列二的目标容量。
本发明中,所述失效页面管理操作中,所述失效驻队页面管理的步骤如下:(1)把队列一中请求页面信息移至队列一尾,并把设置为高级页面信息;(2)减少队列二的目标容量;(3)进行动态调整。
本发明中,所述失效页面管理操作中,所述失效离队页面管理的步骤如下: 把请求页面信息加载至队列一与队列二尾,并设置为低级页面信息。
将实验模拟得到的数据绘制成四幅图(见说明书附图3-6),通过附图可以很清楚地验证本发明始终能适应不同大小的查询空间。相比于其它页面替换策略而言,无论查询空间与缓存大小如何变化,本发明命中率始终是最高的。并可以解决LRU、LIRS、ARC等策略对空间局部性工作集不友好的缺点。
附图说明
图1显示了本发明所针对空间数据库的组织结构Voronoi图。
图2显示了本发明的两个管理队列及三种页面信息类型。
图3显示了在缓存容量为访问页面总数的1%时,kNN查询中本发明(AELIRS)与其它三种常用页面替换策略k增大在相对命中率的比较。
图4显示了在缓存容量为访问页面总数的5%时,kNN查询中本发明(AELIRS)与其它三种常用页面替换策略k增大在相对命中率的比较。
图5显示了在缓存容量为访问页面总数的20%时,kNN查询中本发明(AELIRS)与其它三种常用页面替换策略k增大在相对命中率的比较。
图6显示了kNN查询中k在1~100间随机变化时,本发明(AELIRS)与其它三种常用页面替换策略随缓存容量增大在相对命中率的比较。
图7显示了某个请求发出前两个队列的状态。
图8显示了访问页面p 3后两个队列的状态。
图9显示了队列二目标容量为2时访问页面p 2后两个队列的状态。
图10显示了队列二目标容量为4时访问页面p 2后两个队列的状态。
图11显示了访问页面p 1后两个队列的状态。
图12显示了队列二目标容量为3时访问页面p 4后两个队列的状态。
图13显示了访问页面p 7后两个队列的状态。
图14显示了访问页面p 7并约束队列一大小为5后两个队列的状态。
具体实施方式
下面结合实施例子来详细介绍本发明所述的空间数据库中基于距离的自适应页面替换策略的执行过程。其中空间数据库存储的是如图1所示的Voronoi图,而缓存能存储5个页面的内容。
1、设定队列一的控制容量为5个页面信息,队列二的目标容量为3个页面信息(目标容量是在不停变化的,所以起始值只影响前面有限的请求)。
2、空间数据库提出具体的页面请求并把请求的页面号码发送至缓存。缓存接收请求,判断缓存中是否存在请求页面与队列一中是否含有该页面信息。
3、根据请求的页面不同分情况处理。假设当前管理队列的状态如图7所示,p i 表示储存生成点是p i 的Voronoi格的页面。
3.1、若请求的是p 3页面,该页面在缓存和队列一中。所以把p 3移动至队列一尾部,由于这时队列一头部的页面等级不是高级,所以执行队列剪枝操作。如图8所示,队头页面变成了p 6。
若请求的是p 2,该页面在缓存和队列一中,则删除p 2页面在队列二中的信息,并把队列一中p 2页面信息移动至队列一头部,并设置p 2页面为高级页面,下面有两种情况:
假设这时队列二的目标容量是2。由于队列二容量等于目标容量,所以不用动态调整操作。最终结果如图9。
假设这时队列二的目标容量是4。则需要进行动态调整操作。最终结果如图10所示。
3.2、若请求的是p 1页面,则在缓存中存有该页面内容,而队列一中没有该页面信息。只需把队列二中p 1页面的信息移至队列一与队列二的尾部,并增大队列二的目标容量(假设之前目标容量是2,这步执行完后就是3了),结果如图11所示。
3.3、若请求的是p 4页面并且这时队列二的目标容量为3,在缓存中没有该页面内容,而队列一中有该页面信息。首先,在队列二中选择与上次访问的页面距离最远的页面进行替换。上次访问的页面是队列一尾部的页面p 6,而在图2里p 10、p 2、p 1离p 6最远的是p 10,所以把p 10同时从队列二与缓存中移除。然后将请求的p 4页面信息放入队列一中,并将该页面设置成高级页面。这时目标容量为3而队列二容量为2,所以把队列一头部的p 3页面降级并移至队列二的尾部,然后进行队列剪枝操作,最终结果如图12所示。
3.4、若请求的是p 7页面,而缓存与队列二里面都没有该页面信息。首先在队列二中选择与上次访问的p 6页面距离最远的页面p 10进行替换,把p 10同时从队列二与缓存中移除。把请求页面信息放入队列一尾部,设置其级别为低级。结果如图13所示。
4、若上一步执行的是3.3、3.4,则需要把请求的页面信息加载到缓存中。接着访问页面内容,并且把页面内的生成点坐标记录到队列一与队列二中的相应页面信息中。
5、执行队列约束操作(队列一的约束容量为开始时设定的5)。若上面执行是步骤3.4(图13)的例子,则在这一步需要删除图13队列一中的p 4。最终结果如图14。
以上就是本发明的详细步骤。下面通过实验模拟来验证本发明比常用的LRU、ARC、LIRS算法都要好。
实验使用道路网络中的Voronoi图kNN查询并使用了两组真实中的San Joaquin道路网络,其中共有18263个路口和23874条道路。随机选择其中的0.4%作为V图的生成点。而实验结果都是经过10000次kNN查询得出的。实验中缓存大小则是按照占数据集总页面大小的百分比设置的。本发明开始时设定队列一的控制容量为缓存容纳页面个数的两倍,队列二的目标容量为缓存容纳页面个数的10%。
如图3、4、5所示,在缓存容量比较小(1%)、一般大小(5%)、比较大(20%)的情况下,随着搜索空间(k值)的增大,本发明(AELIRS)始终比其他页面替换策略要好,而且优势明显。
如图6所示,在k值在1~100间随机选择时,无论缓存容量如何变化,本发明(AELIRS)始终优于其他页面替换策略。
Claims (6)
1.一种空间数据库中基于距离的自适应页面替换方法,其特征在于具体步骤如下:
(1)设定策略管理队列一的控制容量和队列二的目标容量;
(2)空间数据库发起页面请求,把请求页面号发送至缓存;缓存根据页面号码,判断该页面内容是否在缓存中有记录;
(3)若缓存中记录该页面,则执行命中页面管理;若缓存中没有记录该页面,则执行替换页面选择和失效页面管理;
(4)把请求页面加载到缓存中,记录下请求页面记录的坐标信息;
(5)执行队列约束操作;
所述步骤(3)中所述替换页面选择的步骤如下:
(a)选择管理队列二中选择与上一次访问页面空间距离最远的页面从队列二中删除;
(b)在缓存移除步骤(a)选择页面的内容;
其中,涉及的一些操作定义如下:
定义1、队列剪枝操作:移除队列一中队列头部的低级页面信息,并把其中在缓存中有记录的页面信息移至队列二尾部,直到队列一头部是高级页面信息;
定义2、动态调整操作:当队列二容量小于队列二的目标容量时,把队列一头部页面降级为低级页面,进行队列剪枝操作,直到队列二容量等于其目标容量;
定义3、队列约束操作:当队列一容量大于队列一的控制容量时,删除队列一中接近头部的没有在缓存中记录其内容的页面信息,直到队列一容量等于其的控制容量。
2.根据权利要求1所述的方法,其特征在于步骤(3)中所述命中页面管理的步骤如下:
(1)判断队列一中是否含有请求页面信息并返回页面信息等级;
(2)若步骤(1)回答含有请求页面信息并且页面为高级页面信息,则执行命中高级页面管理;若步骤(1)回答含有请求页面信息并且页面为低级页面信息,则执行命中低级页面管理;若步骤(1)回答不含请求页面信息,则执行命中离队页面管理。
3.根据权利要求1所述的方法,其特征在于步骤(3)中所述失效页面管理的步骤如下:
(1)判断队列一中是否含有请求页面信息;
(2)若步骤(1)回答含有请求页面信息,则执行失效驻队页面管理;否则执行失效离队页面管理。
4.根据权利要求2所述的方法,其特征在于步骤(2)中:
所述命中高级页面管理的步骤如下:
把队列一中请求页面信息移至队列一尾;
进行队列剪枝;
所述命中低级页面管理的步骤如下:
(1)把队列一中请求页面信息移至队列一尾,并设置为高级页面信息;
(2)删除队列二中的请求页面信息;
(3)进行动态调整;
所述命中离队页面管理的步骤如下:
(1)把队列二中请求页面信息移至队列一与队列二尾部;
(2)增大队列二的目标容量。
5.根据权利要求3所述的方法,其特征在于步骤(2)中所述失效驻队页面管理的步骤如下:
(1)把队列一中请求页面信息移至队列一尾,并设置为高级页面信息;
(2)减少队列二的目标容量;
(3)进行动态调整。
6.根据权利要求3所述的方法,其特征在于步骤(2)中所述失效离队页面管理的步骤如下:
把请求页面信息加载至队列一与队列二尾,并设置为低级页面信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110124989 CN102184236B (zh) | 2011-05-16 | 2011-05-16 | 一种空间数据库中基于距离的自适应页面替换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110124989 CN102184236B (zh) | 2011-05-16 | 2011-05-16 | 一种空间数据库中基于距离的自适应页面替换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102184236A CN102184236A (zh) | 2011-09-14 |
CN102184236B true CN102184236B (zh) | 2013-06-12 |
Family
ID=44570413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110124989 Expired - Fee Related CN102184236B (zh) | 2011-05-16 | 2011-05-16 | 一种空间数据库中基于距离的自适应页面替换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102184236B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909518A (zh) * | 2017-01-24 | 2017-06-30 | 朗坤智慧科技股份有限公司 | 一种实时数据缓存机制 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049478B (zh) * | 2012-11-22 | 2017-05-03 | 浪潮电子信息产业股份有限公司 | 一种Web服务的双路缓存机制设计方法 |
CN109656482B (zh) * | 2018-12-19 | 2022-03-25 | 哈尔滨工业大学 | 一种基于存储器访问的写热页面预测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869979A (zh) * | 2005-12-30 | 2006-11-29 | 华为技术有限公司 | 一种缓存管理方法 |
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996676B2 (en) * | 2002-11-14 | 2006-02-07 | International Business Machines Corporation | System and method for implementing an adaptive replacement cache policy |
-
2011
- 2011-05-16 CN CN 201110124989 patent/CN102184236B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869979A (zh) * | 2005-12-30 | 2006-11-29 | 华为技术有限公司 | 一种缓存管理方法 |
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909518A (zh) * | 2017-01-24 | 2017-06-30 | 朗坤智慧科技股份有限公司 | 一种实时数据缓存机制 |
Also Published As
Publication number | Publication date |
---|---|
CN102184236A (zh) | 2011-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975587B (zh) | 一种高性能的内存数据库索引组织与访问方法 | |
CN102523285B (zh) | 一种基于对象分布式文件系统的存储缓存方法 | |
KR102564170B1 (ko) | 데이터 객체 저장 방법, 장치, 및 이를 이용한 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능한 저장 매체 | |
CN102722449B (zh) | 基于SSD的Key-Value型本地存储方法及系统 | |
CN102843396B (zh) | 一种分布式缓存系统中的数据写入及读取方法及装置 | |
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
US20100185807A1 (en) | Data storage processing method, data searching method and devices thereof | |
CN106031827B (zh) | 基于redis的游戏服务器数据存储、读取方法及系统 | |
CN107066393A (zh) | 提高地址映射表中映射信息密度的方法 | |
CN104731886B (zh) | 一种海量小文件的处理方法及系统 | |
CN103019958A (zh) | 使用数据属性来管理固态存储器里的数据的方法 | |
CN110188108A (zh) | 数据存储方法、装置、系统、计算机设备及存储介质 | |
CN102184236B (zh) | 一种空间数据库中基于距离的自适应页面替换方法 | |
CN107368608A (zh) | 基于arc替换算法的hdfs小文件缓存管理方法 | |
CN113867627B (zh) | 一种存储系统性能优化方法及系统 | |
CN106569963A (zh) | 缓存方法和装置 | |
CN104395892A (zh) | 在缓存系统的c项的存储缓存器中管理n项的列表的存储的方法 | |
CN108959500A (zh) | 一种对象存储方法、装置、设备及计算机可读存储介质 | |
CN106055679A (zh) | 一种多层次缓存感知型索引方法 | |
CN107656701A (zh) | 小文件读加速方法、系统、装置及计算机可读存储介质 | |
CN106095333A (zh) | 一种数据存储系统、数据存储方法及数据存储中心 | |
CN104021226A (zh) | 预取规则的更新方法及装置 | |
CN107037988B (zh) | 一种基于文件级粒度的闪存安全删除方法及系统 | |
CN107180118A (zh) | 一种文件系统缓存数据管理方法及装置 | |
CN116204130A (zh) | 一种键值存储系统和键值存储系统的管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130612 Termination date: 20160516 |