1.一种基于目录的缓存一致性的实现方法,其特征在于,包括:
在第一访问者首次访问一缓存区域时创建一区域目录项之后,第二访问者访问所述缓存区域时,将所述区域目录项转换为区域共享目录项,其中,所述区域共享目录项记录所述第一访问者和第二访问者的标识、以及所述第一访问者和第二访问者分别访问的所述缓存区域内缓存块的个数;
后续的访问者访问所述缓存区域时,对所述区域共享目录项进行更新,其中,更新后的区域共享目录项记录所述后续的访问者的标识、以及所述后续的访问者访问的所述缓存区域内缓存块的个数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一访问者、第二访问者或者后续的访问者再次访问所述缓存区域时,对所述区域共享目录项进行更新,其中,更新后的区域共享目录项中所述第一访问者、第二访问者或者后续的访问者所访问的所述缓存区域内缓存块的个数加上了再次访问的次数。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当访问所述缓存区域的访问者的数量超过所述区域共享目录项的预设共享数量阈值时,创建块目录项,其中,所述块目录项记录当前访问者的标识作为所述当前访问者所访问的缓存块的拥有者、以及记录所述当前访问者之前的所有访问者作为所述缓存块的共享者。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述当前访问者所访问的缓存块为所述当前访问者之前的一个访问者的私有缓存,则对所述区域共享目录项进行更新,其中,更新后的区域共享目录项中所述当前访问者之前的一个访问者所访问的所述缓存区域内缓存块的个数 减去了所述当前访问者所访问的缓存块的个数;
当所述当前访问者之前的一个访问者所访问的所述缓存区域内缓存块的个数减为0时,将所述区域共享目录项中所述当前访问者之前的一个访问者的信息清空。
5.根据权利要求3所述的方法,其特征在于,所述区域共享目录项和所述块目录项为多路组相联结构;所述区域共享目录项的格式按地址由低到高依次包括:用于区分是块目录项、区域目录项还是区域共享目录项的区域位,表示该区域共享目录项所对应的缓存区域物理地址的标签字段,所述第一访问者的标识,所述第一访问者所缓存的该缓存区域中缓存块的数量,所述第二访问者的标识,所述第二访问者所缓存的该缓存区域中缓存块的数量,所述后续访问者的标识,所述后续访问者所缓存的该缓存区域中缓存块的数量。
6.一种基于目录的缓存一致性的实现装置,其特征在于,包括:
转换单元,用于在第一访问者首次访问一缓存区域时创建一区域目录项之后,第二访问者访问所述缓存区域时,将所述区域目录项转换为区域共享目录项,其中,所述区域共享目录项记录所述第一访问者和第二访问者的标识、以及所述第一访问者和第二访问者分别访问的所述缓存区域内缓存块的个数;
第一更新单元,用于当后续的访问者访问所述缓存区域时,对所述区域共享目录项进行更新,其中,更新后的区域共享目录项记录所述后续的访问者的标识、以及所述后续的访问者访问的所述缓存区域内缓存块的个数。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二更新单元,用于当所述第一访问者、第二访问者或者后续的访问者再次访问所述缓存区域时,对所述区域共享目录项进行更新,其中,更新后的区 域共享目录项中所述第一访问者、第二访问者或者后续的访问者所访问的所述缓存区域内缓存块的个数加上了再次访问的次数。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
创建单元,用于当访问所述缓存区域的访问者的数量超过所述区域共享目录项的预设共享数量阈值时,创建块目录项,其中,所述块目录项记录当前访问者的标识作为所述当前访问者所访问的缓存块的拥有者、以及记录所述当前访问者之前的所有访问者作为所述缓存块的共享者。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第三更新单元,用于当所述当前访问者所访问的缓存块为所述当前访问者之前的一个访问者的私有缓存时,对所述区域共享目录项进行更新,其中,更新后的区域共享目录项中所述当前访问者之前的一个访问者所访问的所述缓存区域内缓存块的个数减去了所述当前访问者所访问的缓存块的个数;
清空单元,用于当所述当前访问者之前的一个访问者所访问的所述缓存区域内缓存块的个数减为0时,将所述区域共享目录项中所述当前访问者之前的一个访问者的信息清空。
10.根据权利要求8所述的装置,其特征在于,所述区域共享目录项和所述块目录项为多路组相联结构;所述区域共享目录项的格式按地址由低到高依次包括:用于区分是块目录项、区域目录项还是区域共享目录项的区域位,表示该区域共享目录项所对应的缓存区域物理地址的标签字段,所述第一访问者的标识,所述第一访问者所缓存的该缓存区域中缓存块的数量,所述第二访问者的标识,所述第二访问者所缓存的该缓存区域中缓存块的数量,所述后续访问者的标识,所述后续访问者所缓存的该缓存区域中缓存块的数量。