[发明专利]基于区块高度的可定制淘汰策略的可伸缩缓存方法有效
申请号: | 201811636214.2 | 申请日: | 2018-12-29 |
公开(公告)号: | CN109726146B | 公开(公告)日: | 2020-12-15 |
发明(设计)人: | 杨奕辉;邱炜伟;李启雷;李伟;梁秀波;尹可挺;戎佳磊 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F16/901 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于区块高度的可定制淘汰策略的可伸缩缓存方法,通过使用哈希桶的算法实现了一个常规的hashmap,并使用双向链表构建基于区块高度的缓存管理器来管理hashmap中的数据项,通过对数据项的判定调节桶数量,从而能够在缓存数据项个数动态伸缩可用容量的大小,此外,以缓存策略为以区块高度作为唯一参数的判定函数,允许开发者根据区块高度定制淘汰策略,淘汰掉在指定区块高度之前插入缓存的数据项。本发明应用于联盟链背景下的区块链网络上,既保证了状态数据缓存的有效性,同时又实现缓存容量动态伸缩,以及根据区块高度进行缓存项淘汰的机制,防止了数据“写丢失”与内存无上限增长,提高了内存利用率与系统吞吐量。 | ||
搜索关键词: | 基于 区块 高度 定制 淘汰 策略 伸缩 缓存 方法 | ||
【主权项】:
1.一种基于区块高度的可定制淘汰策略的可伸缩缓存方法,其特征在于,该方法包含如下关键技术环节:S1:hashmap的实现及缓存管理器的设计:使用哈希桶的算法实现了一个常规的hashmap,并使用双向链表构建基于区块高度的缓存管理器来管理hashmap中的数据项;其中,数据项以(key,value,block_num)的元组形式插入缓存。key为数据项的索引,value为数据项自身,block_num为区块高度编号。S2:缓存伸缩策略:当数据项增加并超过一定阈值时,将hashmap中的桶数量扩大一倍,map中的数据项重哈希;当数据项减少并低于桶数量的一半时,将hashmap中的桶数量减少一半,map中的数据项重哈希。S3:淘汰策略:开发者可自行定制缓存淘汰策略;缓存策略为以区块高度作为唯一参数的判定函数,在淘汰阶段会将每个数据项插入时的区块高度传入该判定函数,根据函数返回值判断是否需要淘汰该数据项。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811636214.2/,转载请声明来源钻瓜专利网。