频繁使用的去重复对象的完整性的制作方法

文档序号:9872428阅读:338来源:国知局
频繁使用的去重复对象的完整性的制作方法
【专利说明】
【背景技术】
[0001 ] 去重复(de-duplicat1n)对象可以用于消除数据的冗余副本。在去重复过程中,可以标识和存储唯一数据单元并且可以将后续数据单元与所存储的单元比较。
【附图说明】
[0002]图1是依照本公开的各方面的示例系统的框图。
[0003]图2是依照本公开的各方面的示例方法的流程图。
[0004]图3是依照本公开的各方面的工作示例。
[0005]图4是依照本公开的各方面的另外的工作示例。
【具体实施方式】
[0006]如以上所指出的,去重复过程可以包括唯一数据单元的标识和存储以及其与后续数据单元的比较。如果接收到冗余数据单元,冗余数据单元可以由包括到早前发现的唯一数据单元的引用或指针的去重复对象替代。去重复对象可以在大小方面比数据单元小得多。因此,假定相同数据单元可能出现十几次、数百次或甚至数千次,去重复可以大幅降低存储设备中的数据量或者可以大幅降低通过网络传递的数据量。不幸地,这些去重复对象可能最终变为损坏的(corrupt)并且可能不再引用正确的数据单元。损坏的去重复对象可能由盘故障、I/O错误、数据库损坏或操作错误导致。虽然存在用于检查去重复对象的完整性的一些技术,但是这些技术可能随机地检查对象而不使去重复对象优先。在一个示例中,优先去重复对象可以定义为由访问数据的程序频繁使用或引用的去重复对象。在系统在完整性检查期间失败的情况下,高优先级去重复对象可能被忽略。这些去重复对象的恢复可能包括繁重的手动过程。
[0007]鉴于前文,本文所公开的是用于检查去重复对象的完整性的系统、计算机可读介质和方法。在一个示例中,向最频繁引用或使用的去重复对象的完整性检查给出较高的优先级。在另外的示例中,如果给定去重复对象的完整性失败,可以生成警告。因此,完整性检查可以智能地实施使得首先检查引用最多的去重复对象,而不是随机或顺序地验证去重复对象。在完整性检查期间的系统故障的情况下,验证高优先级去重复对象的可能性较高。当参照示例的以下描述和附图来考虑时,将领会到本公开的各方面、特征和优点。以下描述不限制本申请;而是,本公开的范围由随附权利要求和等同物限定。
[0008]图1呈现了用于执行本文所公开的技术的说明性计算机装置100的示意图。计算机装置100可以包括通常结合计算机使用的所有组件。例如,其可以具有键盘和鼠标和/或各种其它类型的输入设备,诸如输入笔、操纵杆、按钮、触摸屏等,以及显示器,其可以包括例如CRT、LCD、等离子体屏幕监视器、TV、投影仪等。计算机装置100还可以包括网络接口(未示出)以通过网络与其它计算机通信。计算机装置100还可以包含处理器110,其可以是任何数目的公知处理器,诸如来自Intel ?公司的处理器。在另一示例中,处理器110可以是专用集成电路(151(:”)。非暂时性计算机可读介质(“0?1”)112可以存储可以由处理器110检索和执行的指令。如以下将更加详细地讨论的,指令可以包括完整性模块116。非暂时性CRM 112可以由任何指令执行系统使用或与其结合使用,所述指令执行系统可以从非暂时性CRM112提取或获得逻辑并且执行包含在其中的指令。
[0009]非暂时性计算机可读介质可以包括诸如例如电子、磁性、光学、电磁或半导体介质之类的许多物理介质中的任一个。合适的非暂时性计算机可读介质的更加具体的示例包括但不限于,诸如软盘或硬驱动器之类的便携式磁性计算机盘、只读存储器(“ROM”)、可擦除可编程只读存储器、便携式压缩盘或可以直接或间接耦合到计算机装置100的其它存储设备。可替换地,非暂时性CRM 112可以是随机存取存储器(“RAM”)设备,或者可以被划分成被组织为双列直插存储器模块(“DMM”)的多个存储器段。非暂时性CRM 112也还可以包括前述和/或其它设备中的一个或多个的任何组合。虽然在图1中仅示出一个处理器和一个非暂时性CRM,但是计算机装置100实际上可以包括附加的处理器和存储器,其可以或可以不存储在相同的物理外壳或位置内。
[0010]驻留在非暂时性CRM112中的指令可以包括由处理器110直接(诸如机器代码)或间接(诸如脚本)执行的任何指令集。在这方面,术语“指令”、“脚本”和“应用”在本文中可以可互换地使用。计算机可执行指令可以以任何计算机语言或格式存储,诸如以对象代码或源代码模块存储。另外,要理解的是,指令可以以硬件、软件或硬件和软件的组合的形式实现,并且本文的示例仅仅是说明性的。
[0011]在一个示例中,存储设备可以存储数据单元并且可以代替给定数据单元的至少一个冗余副本而存储去重复对象。如上文所指出的,去重复对象可以包括到给定数据单元的指针。存储设备可以是允许信息被处理器110检索、操纵和存储的任何设备。存储设备的一些示例包括但不限于,盘驱动器、固定或可移除磁性介质驱动器(例如硬驱动器、软驱动器或基于Zip的驱动器)、可写或只读光学介质驱动器(例如⑶或DVD)、带驱动器或固态大容量存储设备。在另外的示例中,完整性模块116可以指示至少一个处理器确定哪些去重复对象被最频繁地引用并且执行去重复对象的完整性检查,使得向最频繁引用的去重复对象给出超过其它去重复对象的优先级。在另外的示例中,如果去重复对象的完整性检查失败,完整性模块116可以生成警告。
[0012]在图2-4中示出系统、方法和非暂时性计算机可读介质的工作示例。特别地,图2图示了用于检查去重复对象的完整性的示例方法200的流程图。图3-4均示出依照本文所公开的技术的工作示例。以下将关于图2的流程图来讨论图3-4中所示的动作。
[0013]如图2的块202中所示,可以确定最频繁使用的去重复对象。在一个示例中,阈值可以用于区分最频繁使用和并非最频繁使用的去重复对象。在一个示例中,用于备份储存中并且一周被引用多于一次的去重复对象可以视为最频繁使用的去重复对象。一周被引用多于一次的备份文件可以视为关键的。现在参照图3,程序A、B和C可以是将数据写入到存储设备301和从存储设备301读取数据的程序。在该示例中,存储设备301可以包括去重复对象302到326。完整性模块116可以监视程序A、B和C以确定哪些去重复对象被程序A,B和C最频繁引用。监视可以使用常规监视工具来实施,诸如例如在UNIX环境中可用的系统活动报告(“SAR”)工具;可替换地,可以利用信息节点(inode)通知(“Inotify”)
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1