发明名称 基于Map/Dedup的数据存储云化和云备份方法
摘要 本发明公开了一种基于Map/Dedup的数据存储云化和云备份方法,包括数据存储云化的步骤和服务器数据备份的步骤,其中数据存储云化的步骤包括:定制Map模块的映射规则以及重复数据删除模块的重复数据删除方式;Map服务器的预处理模块对获取的数据进行预处理,得到结构化数据;Map服务器将结构化数据按映射规则映射到存储服务器上;重复数据删除模块按重复数据删除方式对数据进行重复数据删除;存储数据。服务器数据备份步骤包括:扫描源文件的历史备份,打开源文件的增量备份的索引文件和内容文件;根据索引文件,建立索引网络;根据索引网络,读出增量备份的各数据块到内存;将数据块的数据与源文件中对应的数据作比较,对此数据块生成新的增量备份的索引文件。
申请公布号 CN102436408B 申请公布日期 2014.02.19
申请号 CN201110305170.7 申请日期 2011.10.10
申请人 上海交通大学 发明人 邹恒明;金娟;文珊珊
分类号 G06F11/14(2006.01)I 主分类号 G06F11/14(2006.01)I
代理机构 上海旭诚知识产权代理有限公司 31220 代理人 王萍萍
主权项 一种基于Map/Dedup的数据存储云化和云备份方法,其特征在于,包括数据存储云化的步骤和服务器数据备份的步骤,其中:所述数据存储云化的步骤进一步包括如下步骤:步骤(11)定制映射服务器的映射规则以及重复数据删除模块的重复数据删除方式;步骤(12)映射服务器抓取或者接收数据源的数据;步骤(13)所述映射服务器判断所述数据源的所述数据是否需要进行预处理,如果不需要进行预处理,直接执行步骤(14),如果需要进行预处理,则通过所述映射服务器的预处理模块对所述数据进行预处理,得到结构化数据;步骤(14)所述映射服务器将所述结构化数据按所述映射规则映射到相应的存储服务器上;步骤(15)所述存储服务器读取所述结构化数据,所述重复数据删除模块按所述重复数据删除方式对所述结构化数据进行重复数据删除;步骤(16)所述存储服务器存储重复数据删除完成后的数据;所述服务器数据备份的步骤进一步包括如下步骤:步骤(21)所述存储服务器扫描源文件的历史备份,决定是否备份所述源文件及备份方式;步骤(22)所述存储服务器打开所述源文件的增量备份的索引文件和内容文件,以及所述源文件的完全备份文件,以备读取;步骤(23)所述存储服务器根据所述增量备份的所述索引文件,建立索引网络;步骤(24)所述存储服务器根据所述索引网络,从始至末依次将所述增量备份中的各数据块中的数据读出到内存;步骤(25)将所述存储服务器读出的所述数据块中的数据与所述源文件对应位置的数据作比较,为所述数据块生成新的增量备份的索引文件,释放所述数据块所占的内存空间;步骤(26)所述存储服务器释放所述索引网络所占的内存空间;所述步骤(11)进一步包括如下步骤:步骤(111)根据所述映射服务器上数据源的存储需求,定制映射规则;步骤(112)根据所述映射规则,在所述映射服务器上生成对应的结构化数据模板;步骤(113)根据所述结构化数据模板的特点,定制重复数据删除模块 的重复数据删除方式;所述步骤(13)进一步包括如下步骤:步骤(131)根据所述数据源类型,读取所述数据源对应的、由步骤(112)生成的结构化数据模板;步骤(132)将所述映射服务器上获取的数据的数据结构与步骤(131)读取的所述结构化数据模板进行比对,如果两者相符,则直接执行步骤(14),如果两者的不相符,则执行步骤(133);步骤(133)将所述获取的数据按照所述结构化数据模板进行预处理,生成结构化数据;所述步骤(14)进一步包括如下步骤:步骤(141)所述映射服务器根据所述数据源,读取步骤(111)中定制的所述映射规则;步骤(142)所述映射服务器根据所述映射规则将步骤(13)的所述结构化数据映射到所述存储服务器上;所述步骤(15)进一步包括如下步骤:步骤(151)所述存储服务器的所述重复数据删除模块采用一个Hash函数为数据块计算校验和,所述Hash函数唯一地识别数据;步骤(152)所述重复数据删除模块将所述数据块记录在一张数据表中,所述数据表建立了从所述数据块的校验和到所述数据块的存储位置的映射,以及从所述数据块的校验和到所述数据块的引用次数的映射;步骤(153)当所述数据块在所述存储服务器中已有数据备份时,仅增加所述数据块的引用次数;步骤(154)当数据高度冗余时,以备份服务器、备份虚拟机映像或备份源码库的方式成倍减少空间消耗;所述步骤(21)进一步包括如下步骤:步骤(211)所述存储服务器扫描寻找所述源文件的所有历史备份,所述历史备份包括最初的完全备份和最初的完全备份之后的所有增量备份,并将所述所有增量备份存入一个链表;步骤(212)所述存储服务器取出所述链表中的最新一次增量备份,比较所述最新一次增量备份和所述源文件的修改日期,如果所述最新一次增量备份的日期较新,则放弃备份,执行步骤(22),否则执行步骤(213);步骤(213)备份所述源文件,如果所述源文件以前从未做过备份,则此次执行完全备份;所述步骤(24)进一步包括如下步骤:步骤(241)通过所述索引网络找到所述数据块的依赖块,读取所述依赖块;步骤(242)如果所述依赖块是不匹配块,则将所述依赖块对应的所述增量备份的数据读出到内存,执行步骤(25);步骤(243)如果所述依赖块是匹配块,继续向所述数据块的依赖块追溯,直到遇到不匹配块,执行步骤(242),如果遇到索引文件链中最开始的匹配块,则执行步骤(25)。
地址 200240 上海市闵行区东川路800号