发明名称 |
一种内存冗余消除方法 |
摘要 |
本发明涉及一种内存冗余消除方法,包括:步骤1,将计算机内存划分成不同的区域块并选择;步骤2,计算当前选择区域块的哈希值;步骤3,查找是否有其他区域块的哈希值与步骤2中区域块的哈希值相同;步骤4,如果是,判定两个区域块为高概率相同,转至步骤6;步骤5,将此区域块以及哈希值加入查找数据结构,转至步骤10;步骤6,如果步骤2中采用加密哈希函数,并且哈希函数计算的是区域块的全部内容,则转至步骤8;步骤7,比较这两个区域块的内容是否完全相同;步骤8,将其中一个区域块的索引替换成另一个区域块的索引;步骤9,释放被替换索引的区域块;步骤10,从剩余区域块中选择一区域块,并返回步骤2。 |
申请公布号 |
CN102722452A |
申请公布日期 |
2012.10.10 |
申请号 |
CN201210171790.0 |
申请日期 |
2012.05.29 |
申请人 |
南京大学 |
发明人 |
夏耐 |
分类号 |
G06F12/12(2006.01)I |
主分类号 |
G06F12/12(2006.01)I |
代理机构 |
江苏圣典律师事务所 32237 |
代理人 |
胡建华 |
主权项 |
一种内存冗余消除方法,其特征在于,包括以下步骤:步骤1,将计算机内存划分成不同的区域块,选择其中一个区域块,初始化查找数据结构;步骤2,采用加密的哈希函数或者非加密的哈希函数,计算当前选择区域块的全部内容或者部分内容的哈希值作为当前选择区域块的哈希值;步骤3,从查找数据结构中,查找是否有其他区域块的哈希值与步骤2中区域块的哈希值相同;步骤4,如果是,则判定两个区域块为高概率相同,转至步骤6,否则转至步骤5;步骤5,将此区域块以及哈希值加入查找数据结构,转至步骤10;步骤6,如果步骤2中采用加密哈希函数,并且哈希函数计算的是区域块的全部内容,则转至步骤8,否则转至步骤7;步骤7,比较这两个区域块的内容是否完全相同,如果完全相同,进行步骤8,否则转至步骤10;步骤8,用一个区域块替换另一个区域块,并更改被替换的区域块的索引的访问权限,进行步骤9;步骤9,释放被替换索引的区域块;步骤10,从剩余区域块中选择一区域块,并返回步骤2,直到所有区域块遍历完毕。 |
地址 |
210046 江苏省南京市栖霞区仙林大道163号南京大学 |