• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 14
    • 下载费用:30 金币  

    重庆时时彩可以网购吗: 只读缓存的去冗余系统及方法以及缓存的去冗余方法.pdf

    关 键 词:
    只读 缓存 冗余 系统 方法 以及
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201410168498.2

    申请日:

    2014.04.24

    公开号:

    CN103942161A

    公开日:

    2014.07.23

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 12/08申请日:20140424|||公开
    IPC分类号: G06F12/08 主分类号: G06F12/08
    申请人: 杭州冰特科技有限公司
    发明人: 高宏亮
    地址: 311121 浙江省杭州市余杭区文一西路998号19幢7楼
    优先权:
    专利代理机构: 杭州华知专利事务所 33235 代理人: 张德宝
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410168498.2

    授权公告号:

    ||||||

    法律状态公告日:

    2017.02.15|||2014.08.20|||2014.07.23

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明涉及一种只读缓存的去冗余系统、只读缓存的去冗余方法和缓存的去冗余方法,所述去冗余系统包括主控???、数据块和索引???,数据块与索引??橐灰欢杂?,索引??槟谏栌谢捍嫣婊恍畔⒌ピ褪莸刂繁昵┑ピ?,索引??槟诨股栌惺菘楣V档ピ?,数据地址标签单元内设有多个的数据地址标签,同一数据地址标签单元中所有的数据地址标签在缓存中均指代对应的同一数据块。本发明通过计算比较每个数据块的哈希值,寻找并合并冗余数据,同时给每个数据块增加了多个数据地址标签,以达到对应不同数据地址的冗余数据块在缓存中共享一个数据块的目的,节省了缓存的存储空间。

    权利要求书

    权利要求书
    1.  一种只读缓存的去冗余系统,包括主控???、若干用于存储数据的数据块和若干用于索引数据块的索引???,主控??榉直鹩胧菘楹退饕?橄嗔?,数据块与索引??橐灰欢杂?,索引??槟谏栌杏糜诖娲⑹菘榉梦始锹嫉幕捍嫣婊恍畔⒌ピ陀糜诖娲⒌退俅娲⒔橹噬戏梦适莸刂返氖莸刂繁昵┑ピ?,其特征在于,所述索引??槟诨股栌杏糜诖娲⑹菘楣V档氖菘楣V档ピ?,主控??榧扑闶菘榈墓V挡⒔V敌慈胧菘楣V档ピ写娲?,所述数据地址标签单元内设有多个的数据地址标签,同一数据地址标签单元中所有的数据地址标签在低速存储介质上指代的数据内容相同,同一数据地址标签单元中所有的数据地址标签在缓存中均指代对应的同一数据块。

    2.  根据权利要求1所述的只读缓存的去冗余系统,其特征在于,所述缓存替换信息单元内存储有数据块的访问记录和数据冗余度,所述数据冗余度为数据地址标签单元中有效数据地址标签的个数。

    3.  一种只读缓存的去冗余方法,其特征在于,所述方法基于权利要求1所述的去冗余系统,所述方法包括如下步骤:
    a)主控??槎寥∈菔?,根据读取的访问数据地址,搜索只读缓存中所有数据地址标签单元中的数据地址标签,若数据地址标签单元中包含所述访问数据地址,则读取访问数据地址对应数据块中的数据并将数据返回到主控???,同时更新缓存替换信息单元中的替换信息,否则,进入步骤b;
    b)从低速存储介质中读取所述访问数据地址对应的访问数据并将数据返回到主控???,同时主控??榧扑惴梦适莸墓V?;
    c)将访问数据的哈希值与缓存中所有数据块哈希值单元中的哈希值进行比较,若缓存中包含访问数据的哈希值,则将所述访问数据地址存储到哈希值相同的索引??榈氖莸刂繁昵┑ピ?,同时更新缓存替换信息单元中的替换信息,否则,进入步骤d;
    d)检测缓存是否已满,若缓存未满,将所述访问数据写入缓存的数据块中,进入步骤e,否则,根据缓存替换算法选择需要被替换的数据块,将访问数据写入需要被替换的数据块中,进入步骤e;
    e)更新与步骤d中数据块对应的索引???,将所述访问数据地址存储到数据地址标签单元中,更新缓存替换信息单元中的替换信息,并将步骤b中计算得到的哈希值写入数据块哈希值单元中存储。

    4.  根据权利要求3所述的只读缓存的去冗余方法,其特征在于,所述更新缓存替换信息单元中的替换信息具体为:更新数据块的访问记录和数据冗余度,所述数据冗余度为数据地址标签单元中有效数据地址标签的个数。

    5.  根据权利要求4所述的只读缓存的去冗余方法,其特征在于,所述步骤d中的缓存替换算法具体为:将缓存中所有数据块根据数据冗余度从低到高进行排序,选择数据冗余度相同且数据冗余度最低的数据块,采用LRU算法计算出需要被替换的数据块。

    6.  根据权利要求3所述的只读缓存的去冗余方法,其特征在于,所述哈希值是采用哈希函数计算得到,哈希函数为MD5、SHA或SHA256中的一种。

    7.  一种缓存的去冗余方法,其特征在于,所述方法基于权利要求1所述的去冗余系统,所述方法包括操作类型判断步骤、读操作去冗余步骤和写操作步骤,具体为:
    操作类型判断步骤:判断主控??榈牟僮骼嘈?,若是读操作,则进入读操作去冗余步骤,若是写操作,则进入写操作步骤;
    读操作去冗余步骤:根据读操作的访问数据地址,判断访问数据地址是否已保存在只读缓存或读写缓存中,若访问数据地址均不在只读缓存和读写缓存中,则进入步骤A,若访问数据地址已保存在读写缓存中存储,则进入步骤B,若访问数据地址已保存在只读缓存中,则进入步骤C,否则,返回操作类型判断步骤;
    写操作步骤:根据写操作的访问数据地址,判断访问数据地址是否已保存在只读缓存和读写缓存中,若访问数据地址均不在只读缓存和读写缓存中,则进入步骤B,若访问数据地址已保存在读写缓存中存储,则进入步骤B,若访问数据地址已保存在只读缓存中,则进入步骤D,否则,返回操作类型判断步骤;
    A)从低速存储介质中读取所述访问数据地址对应的访问数据并将数据返回到主控???,同时主控??榧扑惴梦适莸墓V?;将访问数据的哈希 值与只读缓存中所有数据块哈希值单元中的哈希值进行比较,若只读缓存中包含访问数据的哈希值,则将所述访问数据地址存储到哈希值相同的索引??榈氖莸刂繁昵┑ピ?,同时更新缓存替换信息单元中的替换信息,返回操作类型判断步骤,否则,进入步骤A1;
    A1)检测只读缓存是否已满,若缓存未满,将所述访问数据写入缓存的数据块中,进入步骤A2,否则,根据缓存替换算法选择需要被替换的数据块,将访问数据写入需要被替换的数据块中,进入步骤A2;
    A2)更新与步骤A1中数据块对应的索引???,将所述访问数据地址存储到数据地址标签单元中,更新缓存替换信息单元中的替换信息,并将步骤A中计算得到的哈希值写入数据块哈希值单元中存储,返回操作类型判断步骤;
    B)由读写缓存处进行读写访问,返回操作类型判断步骤;
    C)根据读取的访问数据地址,读取访问数据地址对应数据块中的数据并将数据返回到主控???,同时更新缓存替换信息单元中的替换信息,返回操作类型判断步骤;
    D)在只读缓存中删除写操作地址对应的数据地址标签,返回步骤B。

    8.  根据权利要求7所述的缓存的去冗余方法,其特征在于,所述更新缓存替换信息单元中的替换信息具体为:更新数据块的访问记录和数据冗余度,所述数据冗余度为数据地址标签单元中有效数据地址标签的个数。

    9.  根据权利要求8所述的缓存的去冗余方法,其特征在于,所述步骤A1中的缓存替换算法具体为:将缓存中所有数据块根据数据冗余度从低到高进行排序,选择数据冗余度相同且数据冗余度最低的数据块,采用LRU算法计算出需要被替换的数据块。

    说明书

    说明书只读缓存的去冗余系统及方法以及缓存的去冗余方法
    技术领域
    本发明涉及电数据存储及处理技术领域,尤其涉及一种只读缓存的去冗余系统、只读缓存的去冗余方法和缓存的去冗余方法。
    背景技术
    缓存的数据存储于高速存储介质中,数据通常以数据块的形式在缓存中管理,每个数据块需要使用数据地址标签来存储数据使用者在访问低速存储介质时使用的数据地址,为了实现高效的缓存替换算法,每个数据块还需要存储一些缓存替换信息。在典型的缓存设计中,大部分缓存存储空间被数据块占用,缓存替换信息和数据地址标签只占用少量空间。由于高速存储介质的价格昂贵,缓存的数据存储容量通常远小于低速存储介质,在高速存储介质性能一定的情况下,缓存对系统性能的帮助很大程度上取决于缓存的数据存储容量,因此提高缓存的有效数据容量将提高系统的整体性能。
    现有缓存设计中每个数据块都对应于某个访问低速存储介质时使用的数据地址,该地址存储于缓存的数据地址标签中?;捍嫱ü玫刂防磁卸鲜菔褂谜咝枰梦实氖菔欠褚丫娲⒃诨捍嬷?,在很多缓存应用中,不同数据地址标签对应的数据块内容是相同的,这些为冗余数据块,对于这些冗余数据块,缓存仍然给每个数据块都分配存储空间,造成了缓存存储空间的浪费。
    发明内容
    本发明所要解决的技术问题是针对现有技术存在的上述问题,提供了一种提高缓存有效容量的只读缓存的去冗余系统、只读缓存的去冗余方法和缓存的去冗余方法。
    为解决上述问题,本发明的一种技术方案是:
    一种只读缓存的去冗余系统,包括主控???、若干用于存储数据的数据块和若干用于索引数据块的索引???,主控??榉直鹩胧菘楹退饕?橄嗔?,数据块与索引??橐灰欢杂?,索引??槟谏栌杏糜诖娲⑹菘榉梦始锹嫉幕捍嫣婊恍畔⒌ピ陀糜诖娲⒌退俅娲⒔橹噬戏梦适莸刂返氖莸刂繁昵┑ピ?,所述索引??槟诨股栌杏糜诖娲⑹菘楣V档氖菘楣V档ピ?,主控??榧扑闶菘榈墓V挡⒔V敌慈胧菘楣V档ピ写娲?,所述数据地址标签单元内设 有多个的数据地址标签,同一数据地址标签单元中所有的数据地址标签在低速存储介质上指代的数据内容相同,同一数据地址标签单元中所有的数据地址标签在缓存中均指代对应的同一数据块。
    优选地,所述缓存替换信息单元内存储有数据块的访问记录和数据冗余度,所述数据冗余度为数据地址标签单元中有效数据地址标签的个数。
    相比较于现有技术,本发明的只读缓存的去冗余系统通过计算比较每个数据块的哈希值,寻找并合并冗余数据,同时给每个数据块增加了多个数据地址标签,这些数据标签用于存储数据内容相同的数据块所对应的数据使用者在访问低速存储介质时使用的数据地址,以达到对应不同数据地址的冗余数据块在缓存中共享一个数据块的目的,节省了缓存的存储空间。
    本发明的另一种技术方案是:
    一种只读缓存的去冗余方法,所述方法基于上述提及的去冗余系统,所述方法包括如下步骤:
    a)主控??槎寥∈菔?,根据读取的访问数据地址,搜索只读缓存中所有数据地址标签单元中的数据地址标签,若数据地址标签单元中包含所述访问数据地址,则读取访问数据地址对应数据块中的数据并将数据返回到主控???,同时更新缓存替换信息单元中的替换信息,否则,进入步骤b;
    b)从低速存储介质中读取所述访问数据地址对应的访问数据并将数据返回到主控???,同时主控??榧扑惴梦适莸墓V?;
    c)将访问数据的哈希值与缓存中所有数据块哈希值单元中的哈希值进行比较,若缓存中包含访问数据的哈希值,则将所述访问数据地址存储到哈希值相同的索引??榈氖莸刂繁昵┑ピ?,同时更新缓存替换信息单元中的替换信息,否则,进入步骤d;
    d)检测缓存是否已满,若缓存未满,将所述访问数据写入缓存的数据块中,进入步骤e,否则,根据缓存替换算法选择需要被替换的数据块,将访问数据写入需要被替换的数据块中,进入步骤e;
    e)更新与步骤d中数据块对应的索引???,将所述访问数据地址存储到数据地址标签单元中,更新缓存替换信息单元中的替换信息,并将步骤b 中计算得到的哈希值写入数据块哈希值单元中存储。
    优选地,所述更新缓存替换信息单元中的替换信息具体为:更新数据块的访问记录和数据冗余度,所述数据冗余度为数据地址标签单元中有效数据地址标签的个数。
    优选地,所述步骤d中的缓存替换算法具体为:将缓存中所有数据块根据数据冗余度从低到高进行排序,选择数据冗余度相同且数据冗余度最低的数据块,采用LRU算法计算出需要被替换的数据块。
    优选地,所述哈希值是采用哈希函数计算得到,哈希函数为MD5、SHA或SHA256中的一种。
    相比较于现有技术,本发明的只读缓存的去冗余方法通过数据块哈希值比较寻找并合并冗余数据,同时给每个数据块增加了多个数据地址标签,这些数据标签用于存储数据内容相同的数据块所对应的数据使用者在访问低速存储介质时使用的数据地址,以达到对应不同数据地址的冗余数据块在缓存中共享一个数据块的目的,节省了缓存的存储空间,同时结合数据的冗余度优化了缓存替换算法。
    本发明的再一种技术方案是:
    一种缓存的去冗余方法,所述方法基于权利要求1所述的去冗余系统,所述方法包括操作类型判断步骤、读操作去冗余步骤和写操作步骤,具体为:
    操作类型判断步骤:判断主控??榈牟僮骼嘈?,若是读操作,则进入读操作去冗余步骤,若是写操作,则进入写操作步骤;
    读操作去冗余步骤:根据读操作的访问数据地址,判断访问数据地址是否已保存在只读缓存或读写缓存中,若访问数据地址均不在只读缓存和读写缓存中,则进入步骤A,若访问数据地址已保存在读写缓存中存储,则进入步骤B,若访问数据地址已保存在只读缓存中,则进入步骤C,否则,返回操作类型判断步骤;
    写操作步骤:根据写操作的访问数据地址,判断访问数据地址是否已保存在只读缓存和读写缓存中,若访问数据地址均不在只读缓存和读写缓存中,则进入步骤B,若访问数据地址已保存在读写缓存中存储,则进入步骤B,若访问数据地址已保存在只读缓存中,则进入步骤D,否则,返回操作类型判断步骤;
    A)从低速存储介质中读取所述访问数据地址对应的访问数据并将数据返回到主控???,同时主控??榧扑惴梦适莸墓V?;将访问数据的哈希 值与只读缓存中所有数据块哈希值单元中的哈希值进行比较,若只读缓存中包含访问数据的哈希值,则将所述访问数据地址存储到哈希值相同的索引??榈氖莸刂繁昵┑ピ?,同时更新缓存替换信息单元中的替换信息,返回操作类型判断步骤,否则,进入步骤A1;
    A1)检测只读缓存是否已满,若缓存未满,将所述访问数据写入缓存的数据块中,进入步骤A2,否则,根据缓存替换算法选择需要被替换的数据块,将访问数据写入需要被替换的数据块中,进入步骤A2;
    A2)更新与步骤A1中数据块对应的索引???,将所述访问数据地址存储到数据地址标签单元中,更新缓存替换信息单元中的替换信息,并将步骤A中计算得到的哈希值写入数据块哈希值单元中存储,返回操作类型判断步骤;
    B)由读写缓存处进行读写访问,返回操作类型判断步骤;
    C)根据读取的访问数据地址,读取访问数据地址对应数据块中的数据并将数据返回到主控???,同时更新缓存替换信息单元中的替换信息,返回操作类型判断步骤;
    D)在只读缓存中删除写操作地址对应的数据地址标签,返回步骤B。
    优选地,所述更新缓存替换信息单元中的替换信息具体为:更新数据块的记录和数据冗余度,所述数据冗余度为数据地址标签单元中有效数据地址标签的个数。
    优选地,所述步骤A1中的缓存替换算法具体为:将缓存中所有数据块根据数据冗余度从低到高进行排序,选择数据冗余度相同且数据冗余度最低的数据块,采用LRU算法计算出需要被替换的数据块。
    相比较于现有技术,本发明的缓存的去冗余方法适用于缓存的读操作和写操作,通过读写操作的区分及访问地址的存储位置来判断是否应用只读缓存去冗余方法,针对于只读缓存,使用数据块哈希值比较寻找并合并冗余数据,同时给每个数据块增加了多个数据地址标签,以达到对应不同数据地址的冗余数据块在缓存中共享一个数据块的目的,节省了缓存的存储空间,同时结合数据的冗余度优化了缓存替换算法,针对于读写缓存则采用普通缓存方式,该方法尤其适合文件和磁盘等需要支持读写操作的缓存。
    附图说明
    图1是本发明只读缓存的去冗余系统的结构原理框图。
    图2是本发明只读缓存的去冗余方法的流程图。
    图3是本发明只读缓存的去冗余方法中一种实例的缓存结构框图。
    图4是本发明缓存的去冗余方法的缓存结构框图。
    图5是本发明缓存的去冗余方法的条件判断图。
    具体实施方式
    下面结合附图和实施例进一步详细说明本发明,但本发明的?;し段Р⒉幌抻诖?。
    参照图1,本发明的只读缓存的去冗余系统,包括主控???、若干用于存储数据的数据块和若干用于索引数据块的索引???,主控??榉直鹩胧菘楹退饕?橄嗔?,数据块与索引??橐灰欢杂?,即索引???用于索引数据块1,索引??镹用于索引数据块N。索引??楹褪菘榇娲⒂谥欢粱捍嬷?,用于提高光驱等只读设备的访问性能。索引??槟谏栌谢捍嫣婊恍畔⒌ピ?、数据地址标签单元和数据块哈希值单元,缓存替换信息单元、数据地址标签单元和数据块哈希值单元用于提高只读缓存的有效容量。
    数据块哈希值单元用于存储数据块哈希值,主控??樵诙寥》梦适?,会计算每个数据块的哈希值并将哈希值写入与该数据块对应的数据块哈希值单元中存储,通过每个数据块的哈希值可以识别只读缓存中内容相同的冗余数据块。数据块哈希值单元给缓存中每个数据块增加一个字段用于存储数据内容的哈希值,哈希值用于快速判断不同数据块的数据内容是否相同。哈希值的计算方法可以使用通用的哈希函数如MD5(Message Digest Algorithm MD5)、SHA(Secure HashAlgorithm)等,将大块的数据通过数学运算得到一个数据量很小的哈希值。比如使用一个256位的二进制数来存储一个8K字节数据块的哈希值,通过哈希值的比较,缓存可以快速的判断两个数据块是否包含完全一样的数据。如果两个数据块的哈希值不同,那么这两个数据块的数据内容必然不同,如果两个数据块的哈希值相同,那么这两个数据块有很高的概率包含相同的数据。根据实际应用的要求,可以选择是否对哈希值相同的数据块进行完整数据比较来确定数据内容是否相同,如果采用SHA256等用于加密应用的哈希函数,两个不同数据块产生同样 哈希值的概率远远小于硬件存储设备数据出错的概率,因此对大多数应用将不需要再进行完整数据比较。
    数据地址标签单元用于存储低速存储介质上访问数据地址,数据地址标签单元内设有多个的数据地址标签,同一数据地址标签单元中所有的数据地址标签在低速存储介质上指代的数据内容相同,同一数据地址标签单元中所有的数据地址标签在缓存中均指代对应的同一数据块?;捍娴拿扛鍪菘橄喽杂谙钟屑际踉黾恿硕喔鍪莸刂繁昵?,这些数据标签用于存储数据内容相同的数据块所对应的数据使用者在访问低速存储介质时使用的数据地址。由于数据块的容量通常远大于数据地址标签对存储空间的占用,并且合并了内容相同的冗余数据块,这样的设计就能达到对应不同数据地址的冗余数据块在缓存中共享一个数据块的目的,节省了缓存的存储空间。
    缓存替换信息单元用于存储数据块访问记录等,缓存替换信息单元内存储有数据块的访问记录和数据冗余度,访问记录包括访问频次、访问时间等,其中数据冗余度为数据地址标签单元中数据地址标签的有效存储个数,即存储的访问数据地址的个数。根据缓存替换信息单元的替换信息,优化了传统的缓存替换算法。如果缓存的存储空间已经完全被数据块占用,再分配新的数据块到缓存时就需要用新的数据块替换掉一个原有的数据块,缓存替换算法用于在缓存中选择相对不重要的数据块作为被替换的对象。使用本发明提出的去冗余缓存设计之后,可以根据数据块的数据冗余度来判断数据块的重要性,数据冗余度指某个数据块对应的不同数据地址的数量,该值越大,就有越多的地址包含该数据块的数据,其数据冗余度和相对重要性就越高。因此,缓存替换算法需要优先选择冗余度低的数据块作为被替换的对象。
    参照图1-2,本发明的一种只读缓存的去冗余方法,所述方法基于上述提及的去冗余系统,所述方法包括如下步骤:
    a)主控??槎寥∈菔?,根据读取的访问数据地址,搜索只读缓存中所有数据地址标签单元中的数据地址标签,若数据地址标签单元中包含所述访问数据地址,则读取访问数据地址对应数据块中的数据并将数据返回到主控???,同时更新缓存替换信息单元中的替换信息,否则,进入步骤b;
    b)从低速存储介质中读取所述访问数据地址对应的访问数据并将数据返回到主控???,同时主控??榧扑惴梦适莸墓V?;
    c)将访问数据的哈希值与缓存中所有数据块哈希值单元中的哈希值进行比较,若缓存中包含访问数据的哈希值,则将所述访问数据地址存储到哈希值相同的索引??榈氖莸刂繁昵┑ピ?,同时更新缓存替换信息单元中的替换信息,否则,进入步骤d;
    d)检测缓存是否已满,若缓存未满,将所述访问数据写入缓存的数据块中,进入步骤e,否则,根据缓存替换算法选择需要被替换的数据块,将访问数据写入需要被替换的数据块中,进入步骤e;
    e)更新与步骤d中数据块对应的索引???,将所述访问数据地址存储到数据地址标签单元中,更新缓存替换信息单元中的替换信息,将缓存中所有数据块根据数据冗余度从低到高进行排序,选择数据冗余度相同且数据冗余度最低的数据块,采用LRU(Least Recently Used)算法计算出需要被替换的数据块,并将步骤b中计算得到的哈希值写入数据块哈希值单元中存储。
    上述步骤中提及的更新缓存替换信息单元中的替换信息具体为:更新数据块的访问记录和数据冗余度,所述数据冗余度为数据地址标签单元中有效数据地址标签的个数。其中,哈希值是采用哈希函数计算得到,哈希函数为MD5、SHA或SHA256中的一种。
    参照图3的缓存结构框图,本发明的一个比较简单的应用,该应用的场景是为只读光盘驱动器增加一个高速读缓存,对于同一数据地址,数据使用者只对数据进行读取操作。该实例中的低速存储介质指光盘驱动器,缓存的存储介质使用操作系统管理的动态内存。该实例假设只读设备数据访问的地址为20位,该缓存分为256个缓存区域,每个缓存区域包含64个数据块。每个数据块的大小是4K字节,每个数据块哈希值为256位,那么整个缓存的数据块容量总和是64M字节。数据使用者访问缓存时首先定位缓存区域,缓存区域一般由数据地址的高8位确定,数据地址标签包含数据地址的低12位,每个数据块最多可以对应四个数据地址标签,使用四个数据地址标签来存储该数据块对应的访问数据地址?;捍嫣婊恍畔ㄗ罱钌偈褂?LRU)算法需要使用的数据块访问相对时间信 息以及数据块的冗余度,数据冗余度等于数据块对应的有效数据地址标签的个数,其值为0至4。在使用缓存替换算法选择需要被替换的数据块时,首先在数据冗余度为0的数据块中使用LRU算法选择需要被替换的数据块,如果没有数据冗余度为0的数据块,则在数据冗余度为1的数据块中选择,以此类推。这样的缓存替换算法将优先保留数据冗余度高的数据块,以便覆盖更多的数据地址,从而提高缓存的有效容量。
    参照图2-3,本实例只读缓存的去冗余方法,包括如下步骤:
    a)主控??槎寥∈菔?,根据读取的访问数据地址的高8位确定缓存区域,搜索缓存区域中所有数据地址标签单元中的数据地址标签,若数据地址标签单元中包含所述访问数据地址,则读取访问数据地址对应数据块中的数据并将数据返回到主控???,同时更新缓存替换信息单元中的替换信息,否则,进入步骤b;
    b)从低速存储介质中读取所述访问数据地址对应的访问数据并将数据返回到主控???,同时主控??榧扑惴梦适莸墓V?;
    c)将访问数据的哈希值与缓存区域中所有数据块哈希值单元中的哈希值进行比较,若缓存区域中包含访问数据的哈希值,检测该哈希值对应的数据块已有有效的数据地址标签,数据地址标签单元中数据地址标签是否已满,若已经有四个有效的数据地址标签了,则随机删除一个已有数据地址标签,替换为当前访问数据地址,若未满,则将所述访问数据地址存储到哈希值相同的索引??榈氖莸刂繁昵┑ピ?,同时更新缓存替换信息单元中的替换信息,若缓存中不包含访问数据的哈希值,进入步骤d;
    d)检测缓存区域是否已满,若缓存未满,将所述访问数据写入缓存区域的数据块中,进入步骤e,否则,根据缓存替换算法选择需要被替换的数据块,将访问数据写入需要被替换的数据块中,进入步骤e;
    e)更新与步骤d中数据块对应的索引???,将所述访问数据地址存储到数据地址标签单元中,更新缓存替换信息单元中的替换信息,将缓存区域中所有数据块根据数据冗余度从低到高进行排序,选择数据冗余度相同且数据冗余度最低的数据块中,采用LRU算法计算出需要被替换的数据 块,并将步骤b中计算得到的哈希值写入数据块哈希值单元中存储。
    参照图4-5,本发明的另一技术方案:缓存的去冗余方法,所述方法包括操作类型判断步骤、读操作去冗余步骤和写操作步骤,该方法主要针对硬盘文件缓存,并将硬盘文件缓存区分为只读缓存和读写缓存两种。采用该方法进行缓存时,具有如下特点:其一,需要支持对数据的写操作;其二,文件的大小是可变的,而不是固定的大??;其三,数据读取的地址是文件的路径和文件名而不是一个固定长度的数据地址。本文中为了简化说明,在此设计实例中我们假设操作系统可以将文件的路径和文件名通过一个表格映射为一个20位的地址。
    本发明的缓存的去冗余方法具体为:
    操作类型判断步骤:判断主控??榈牟僮骼嘈?,若是读操作,则进入读操作去冗余步骤,若是写操作,则进入写操作步骤;
    读操作去冗余步骤:根据读操作的访问数据地址,判断访问数据地址是否已保存在只读缓存或读写缓存中,若访问数据地址均不在只读缓存和读写缓存中,则进入步骤A,若访问数据地址已保存在读写缓存中存储,则进入步骤B,若访问数据地址已保存在只读缓存中,则进入步骤C,否则,返回操作类型判断步骤;
    写操作步骤:根据写操作的访问数据地址,判断访问数据地址是否已保存在只读缓存和读写缓存中,若访问数据地址均不在只读缓存和读写缓存中,则进入步骤B,若访问数据地址已保存在读写缓存中存储,则进入步骤B,若访问数据地址已保存在只读缓存中,则进入步骤D,否则,返回操作类型判断步骤;
    A)从低速存储介质中读取所述访问数据地址对应的访问数据并将数据返回到主控???,同时主控??榧扑惴梦适莸墓V?;将访问数据的哈希值与只读缓存中所有数据块哈希值单元中的哈希值进行比较,若只读缓存中包含访问数据的哈希值,则将所述访问数据地址存储到哈希值相同的索引??榈氖莸刂繁昵┑ピ?,同时更新缓存替换信息单元中的替换信息,返回操作类型判断步骤,否则,进入步骤A1;
    A1)检测只读缓存是否已满,若缓存未满,将所述访问数据写入缓存的数据块中,进入步骤A2,否则,根据缓存替换算法选择需要被替换的数据块,将访问数据写入需要被替换的数据块中,进入步骤A2;
    A2)更新与步骤A1中数据块对应的索引???,将所述访问数据地址存储 到数据地址标签单元中,更新缓存替换信息单元中的替换信息,并将步骤A中计算得到的哈希值写入数据块哈希值单元中存储,返回操作类型判断步骤;
    B)由读写缓存处进行读写访问,返回操作类型判断步骤;
    C)根据读取的访问数据地址,读取访问数据地址对应数据块中的数据并将数据返回到主控???,同时更新缓存替换信息单元中的替换信息,返回操作类型判断步骤;
    D)在只读缓存中删除写操作地址对应的数据地址标签,返回步骤B。
    其中,更新缓存替换信息单元中的替换信息具体为:更新数据块的访问记录和数据冗余度,所述数据冗余度为数据地址标签单元中有效数据地址标签的个数。步骤A1中的缓存替换算法具体为:将缓存中所有数据块根据数据冗余度从低到高进行排序,选择数据冗余度相同且数据冗余度最低的数据块中,采用LRU算法计算出需要被替换的数据块。
    参照图4,本发明的缓存的去冗余方法的缓存结构框图,在利用本发明的方法消除冗余时,把文件分为两类,第一类是有大量读操作,但是很少有写操作的文件,该类文件拥有比较稳定的冗余性。比如在硬盘用于存储多个虚拟机用户的应用软件时,同一个软件的文件在不同用户的存储空间中实际上包含同样的内容,并且,这些软件的大部分文件是不需要更改的。第二类文件是有大量的写操作的文件,比如用户配置信息等,这类文件通常只有很少的冗余性,并且其内容多变,难于在缓存中实现高效的去冗余?;谝陨戏掷?,本发明将第一类文件缓存于本发明提出的去冗余缓存中,并且只支持读操作,由图4中的只读缓存完成该功能,只读缓存的设计与本发明中只读缓存的去冗余方法相同。第二类文件缓存于不带去冗余功能的传统缓存中,由图4中的读写缓存完成该功能。并且,只读缓存和读写缓存的内容具有互斥性,同一数据地址的文件只能在两种缓存中的一个出现。
    本发明的缓存的去冗余方法适用于缓存的读操作和写操作,对于只读缓存和读写缓存都不包括的数据按照第一类文件处理,并将其存储于只读缓存中,对于有任何写操作的文件,都按照第二类文件处理,由读写缓存完成数据访问。通过读写操作的区分及访问地址的存储位置来判断是否应用缓存去冗余方法,针对与 只读缓存,使用数据块哈希值比较寻找并合并冗余数据,同时给每个数据块增加了多个数据地址标签,已达到对应不同数据地址的冗余数据块在缓存中共享一个数据块的目的,节省了缓存的存储空间,同时结合数据的冗余度优化了缓存替换算法,针对于读写缓存则采用普通缓存方式,该方法尤其适合文件类缓存。
    上述说明中,凡未加特别说明的,均采用现有技术中的技术手段。

    关于本文
    本文标题:只读缓存的去冗余系统及方法以及缓存的去冗余方法.pdf
    链接地址://www.4mum.com.cn/p-6143273.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 快三买和值怎么玩稳赚 新时时软件 双色球100期走势图表 时时彩阶梯倍投方案图 北京pk10挂机投注心得 bet 365英国 足球体育 pk10冷热码趋势图怎么看 体彩最晚几点可以买 黑客为啥不接博彩 黑龙江时时经网 六码倍投表 北京福彩pk10走势图 彩票赢软件是真的吗 2卦网正版一肖包平特 2017开奖记录开奖结果 超牛pk10计划app