欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018105552514
申请人: 暨南大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2025-04-08
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种内容感知型计算机缓存管理系统,其特征在于,所述的缓存管理系统包括:元数据管理模块和数据块管理模块,其中,所述的元数据管理模块包括顺序连接的源地址映射索引单元、源地址管理单元、指纹索引单元,唯一数据块缓存地址管理单元,所述的源地址映射索引单元,负责请求到达缓存管理系统时,利用散列表映射,快速判断在源地址管理中是否存在所请求的源地址节点;

所述的源地址管理单元,通过双向链表把数据块源地址在缓存中按LRU次序进行组织排列,链表每个节点记录了数据块地址和指纹信息,链表按照节点访问的LRU规则对节点顺序组织;

所述的指纹索引单元,对去重后唯一数据块指纹进行索引,其中去重过程为,当系统写请求数据块到达缓存系统时,对数据块计算指纹,将计算后的指纹散列至指纹索引单元中,通过比对是否存在相同指纹,判断当前写入数据块内容是否与已存储的数据块内容相同,若存在相同指纹,则只增加对指纹和数据块的索引而不进行冗余存储;

所述的唯一数据块缓存地址管理单元,对所述的源地址管理单元中存储的数据块进行索引,通过LRU算法按照数据块访问顺序对数据块进行组织记录,以便缓存需要剔除数据块时,快速发现存在在缓存中适合剔除的数据,缓存数据块经过数据去重后源地址与数据块变为多对一的映射关系,唯一数据块缓存地址管理单元的LRU队列,与源地址管理中的LRU队列保持相对一致的关系;

所述的数据块管理模块,负责数据块的统一存储;

基于所述内容感知型计算机缓存管理系统的缓存管理方法包括:读请求步骤和写请求步骤,其中,

所述的读请求步骤过程如下:

S1、缓存管理系统收到上层系统请求读写请求,判断请求源地址在源地址映射索引单元中是否命中,若源地址命中,转至步骤S2,若源地址未命中,转至步骤S5;

S2、若源地址命中,将源地址管理链表节点中存储的指纹映射至指纹索引单元中,判断指纹是否命中;

S3、若指纹索引命中,通过指纹索引单元中节点获取请求数据块存储位置,若指纹索引不命中,从下层设备中将请求数据块读入缓存中;

S4、从下层存储设备中读取数据块时,需要判断当前缓存空间是否已满,若当前缓存管理系统已满,需要剔除部分数据块,以腾出存储空间存储新的数据块,具体执行如下:选取唯一数据块缓存地址管理单元中链表尾部节点,该节点指向最久未访问数据块,删除该节点和对应数据块,将指纹索引单元中指向该节点的指针置为空;

S5、若读请求到达缓存系统,请求源地址在源地址映射索引未命中,即缓存中未存储请求数据块,此时需要将数据块从下层存储设备中读入缓存,对数据块存储前,首先计算该数据块指纹,并映射至指纹索引单元中,若指纹命中且对应数据块存储在缓存中,则增加对应数据块指纹索引计数,同时在源地址管理链表首部增加新的节点,记录请求源地址和指纹信息,并将唯一数据块缓存地址管理单元的链表中指向与请求数据块内容相同数据块地址的节点移动至链表首部MRU位置;

所述的写请求步骤过程如下:

R1、写请求到达缓存管理系统时,首先计算写入数据块指纹,然后判断当前写入数据块源地址是否已缓存;

R2、若源地址已缓存,判断指纹是否相同,则认为缓存中已存在与当前写入数据块内容完全相同的数据块,则不需要进行写操作,将源地址管理单元的链表和唯一数据块缓存地址管理单元的链表中对应节点分别移动至所在链表的首部MRU位置;

R3、若当前写入数据块源地址已缓存,但新写入的数据块指纹与旧指纹不同或当前写入数据块源地址未缓存,则需要判断与当前写入的新数据块内容相同的数据块是否已在缓存中存储,若已存储,则减少旧数据块的指纹索引,增加与当前写入的新数据块内容相同的数据块的指纹索引计数,并更新源地址管理链表和唯一数据块缓存地址管理单元的链表中节点信息;

R4、当请求写入数据块源地址在缓存中命中,但对应数据块以从缓存中被剔除,此时与请求未命中从下层存储设备中读入数据块操作相同。

2.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,所述的源地址映射索引单元中数据组织形式如下:以散列表的形式组织源地址到源地址管理链表的映射关系,上层读写请求到达缓存管理系统后,以O(1)的时间复杂度判断请求数据的源地址是否存在于源地址管理链表中,从而判断缓存是否命中。

3.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,所述的源地址管理单元中数据组织形式如下:以双向链表的形式管理源地址节点,节点中存放源地址、源地址对应数据块指纹和指向前后源地址节点的指针信息,当请求源地址通过源地址映射索引映射至源地址管理链表中的某一节点时,即缓存命中,根据LRU算法,将命中源地址节点移动至链表首部MRU位置,以维护链表的LRU特性,当源地址未命中时,从下层存储设备获取数据,并构建包含请求源地址信息的新的链表节点至链表首部LRU位置。

4.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,所述的指纹索引单元中数据组织形式如下:以散列表的形式组织数据块指纹到唯一数据块缓存地址链表节点的映射关系,同时每个指纹节点记录当前指纹被多少源地址索引的计数信息,当请求源地址通过源地址映射索引映射在源地址管理链表中命中某一节点时,把源地址管理链表节点获取的数据块指纹信息,映射至指纹索引单元中,查找对应唯一数据块地址链表节点信息,并判断该链表节点是否存在。

5.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,所述的步骤S3中,若源地址命中,且指纹索引命中,但对应数据块已被剔除缓存,则从下层存储设备中读取数据块至缓存,若此时缓存已满,则剔除最近最久未访问的数据块及其元数据信息;

数据块从下层存储设备读入后,在唯一数据块缓存地址管理单元的链表首部MRU位置,创建新的节点,记录该数据块在数据块管理模块中的地址信息,在指纹索引单元映射恢复对唯一数据块缓存地址管理单元的链表中节点的索引。

6.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,计算请求写入数据块指纹信息,并判断请求源地址在源地址管理链表中是否命中的执行算法如下:将数据块指纹信息映射至指纹索引单元中,若对应指纹信息已存在且对应数据块在缓存中,则当前写入数据块为冗余数据块,增加指纹索引中对应指纹索引计数,并将源地址管理链表和唯一数据块缓存地址管理单元的链表中更新对应节点至链表首部MRU位置,使新访问的源地址及其数据块在源地址管理链表和唯一数据块缓存地址管理单元的链表中保持相对同步关系;若对应指纹信息存在,但指纹对应数据块已替换出缓存,则需要将新的数据块写入缓存,并重新恢复元数据映射关系,并更新相关链表信息;若写入数据块时缓存已达到存储上限,需要执行数据块剔除操作。

7.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,所述的缓存管理方法中,插入新数据块的执行算法如下:新数据块写入缓存管理系统前,需要判源地址管理链表中节点数量是否已达到用户设定上限,若已达到,需要剔除最近最久未访问的源地址节点,即源地址管理链表尾部节点;

然后,将节点内指纹信息映射至指纹索引中,减少对应指纹的索引计数;如果指纹索引单元计数减为零,则删除指纹索引单元中该指纹信息,唯一数据块缓存地址管理单元中对应节点信息和数据块管理模块中对应数据块。

8.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,所述的缓存管理方法中,剔除数据块并更新元数据信息的执行算法如下:新数据块写入缓存前,数据块管理模块存储的数据块已满,需要从唯一数据块缓存地址管理单元的链表中选取尾部节点,并删除该节点所指数据块;然后,从链表删除该尾部节点,保留指纹索引单元中该数据块的指纹信息,将指纹索引单元中指向唯一数据块缓存地址管理单元的链表尾部节点的指纹置为空。