The embodiment of the invention discloses a data de-duplication method for a storage system, which comprises receiving a data writing request sent by a memory device, dividing the data indicated by the request into preset granularity data blocks, calculating the fingerprint of the data blocks, querying a hot fingerprint database of the memory device, and judging the data block according to the request. Whether the fingerprint exists in the fingerprint database or not, the memory devices include: the first file metadata database and the hot fingerprint database; if not, query the full flash array for the de-duplicated fingerprint database, and determine whether the fingerprint exists in the de-duplicated fingerprint database. The full flash array includes: the second file metadata database, the data area and the de-duplicated fingerprint. If the fingerprint exists in the de-duplicated fingerprint database, it is determined that the data block belongs to duplicate data, the fingerprint sequence corresponding to the data block and adjacent data block in the data area is sent to the hot fingerprint database of the memory device, and the metadata information of the data block is stored in the second file metadata database.
【技术实现步骤摘要】
存储系统的数据去重方法及装置、计算机装置及存储介质
本专利技术涉及数据存储
,尤其涉及一种存储系统的数据去重方法及装置、计算机装置及存储介质。
技术介绍
数据去重又称重复数据删除(DataDeduplication),是一种应用在存储系统中的全局地识别和消除冗余数据的技术,成为近些年来存储系统研究的热点。数据去重通过计算数据块的安全哈希摘要(比如SHA1指纹)来唯一识别数据块,避免了数据的逐个字符的匹配,而且存储系统只需要简单地维护安全哈希摘要的索引表,就可以实现快速方便地识别重复数据,具有良好的可扩展性;重复的数据内容只需要记录相应的数据指针信息即可达到节省存储空间的目的;所以数据去重技术能够极大地节省存储空间从而提高存储设备的资源利用率。数据去重指纹一般使用的是SHA1哈希摘要(20个字节),如果是4TB的数据,按照4KB的数据块粒度,那就是有1G个数据块,指纹总大小20GB,如果把指纹放在内存中,这将非常消耗内存资源,如果全部放在全阵列闪存上组织索引,这样的查找速度将慢很多。故如何在内存设备及全闪存阵列之间设置数据存储策略,是提高存储系统IO性能的一个重要途径。
技术实现思路
本专利技术实施例提供了一种存储系统的数据去重方法及装置、计算机装置及存储介质,用于提高存储系统中数据去重速度和数据写入速度。本专利技术第一方面提供了一种存储系统的数据去重方法,包括:接收内存设备发送的数据写入请求;根据数据写入请求,将数据写入请求所指示的数据划分为预设粒度的数据块,并计算数据块的指纹;查询内存设备的热点指纹库,并判断热点指纹库中是否存在指纹,内存设备包括:第一 ...
【技术保护点】
1.一种存储系统的数据去重方法,所述存储系统包括内存设备及全闪存阵列,其特征在于,包括:接收所述内存设备发送的数据写入请求;根据所述数据写入请求,将所述数据写入请求所指示的数据划分为预设粒度的数据块,并计算所述数据块的指纹;查询所述内存设备的热点指纹库,并判断所述热点指纹库中是否存在所述指纹,所述内存设备包括:第一文件元数据库及所述热点指纹库;若所述热点指纹库中不存在所述指纹,则查询所述全闪存阵列的去重指纹库,并判断所述去重指纹库中是否存在所述指纹,所述全闪存阵列包括:第二文件元数据库、数据区域及所述去重指纹库;若所述去重指纹库中存在所述指纹,则确定所述数据块为重复数据,将所述数据区域中的所述数据块及相邻数据块所对应的指纹序列发送至所述内存设备的热点指纹库中,并将所述数据块的元数据信息存储至所述第二文件元数据库中,所述元数据信息包括:所述数据块在所述数据段中的顺序、所述数据块的物理存储地址及所述数据块的长度。
【技术特征摘要】
1.一种存储系统的数据去重方法,所述存储系统包括内存设备及全闪存阵列,其特征在于,包括:接收所述内存设备发送的数据写入请求;根据所述数据写入请求,将所述数据写入请求所指示的数据划分为预设粒度的数据块,并计算所述数据块的指纹;查询所述内存设备的热点指纹库,并判断所述热点指纹库中是否存在所述指纹,所述内存设备包括:第一文件元数据库及所述热点指纹库;若所述热点指纹库中不存在所述指纹,则查询所述全闪存阵列的去重指纹库,并判断所述去重指纹库中是否存在所述指纹,所述全闪存阵列包括:第二文件元数据库、数据区域及所述去重指纹库;若所述去重指纹库中存在所述指纹,则确定所述数据块为重复数据,将所述数据区域中的所述数据块及相邻数据块所对应的指纹序列发送至所述内存设备的热点指纹库中,并将所述数据块的元数据信息存储至所述第二文件元数据库中,所述元数据信息包括:所述数据块在所述数据段中的顺序、所述数据块的物理存储地址及所述数据块的长度。2.根据权利要求1所述的方法,其特征在于,所述数据区域包括多个数据容器,所述数据容器用于存储多个连续数据块及所述多个连续数据块对应的指纹序列;所述将所述数据区域中的所述数据块及相邻数据块所对应的指纹序列发送至所述内存设备的热点指纹库中,包括:将所述数据块所在的数据容器中的所述指纹序列发送至所述内存设备的热点指纹库中。3.根据权利要求1所述的方法,其特征在于,在判断所述热点指纹库中是否存在所述指纹之后,所述方法还包括:若所述热点指纹库中存在所述指纹,则确定所述数据块为重复数据,并将所述数据块的元数据信息存储至所述第一文件元数据库中,所述元数据信息包括:所述数据块在所述数据段中的顺序、所述数据块的物理存储地址及所述数据块的长度。4.根据权利要求2所述的方法,其特征在于,在判断所述去重指纹库中是否存在所述指纹之后,所述方法还包括:若所述去重指纹库中不存在所述指纹,则对所述数据块执行压缩操作,并将压缩后的数据块存储至所述数据容器,并更新所述数据容器的指纹序列,同时将压缩后数据块的元数据信息及所述数据块的指纹更新至所述去重指纹库中,所述元数据信息包括:所述数据块压缩后的物理存储地址及所述数据块压缩后的长度。5.根据权利要求2所述的方法,其特征在于,所述内存设备还包括:热点数据库;在所述确定所述数据块为重复数据之后,所述方法还包括:将所述数据容器中的所述数据块及相邻数据块发送至所述内存设备的热点数据库中。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:判断所述热点数据库是否达到热点数据库的存储阈值;若达到所述热点数据库的存储阈值,则按照预设的规则淘汰出第一热点数据,并更新所述热点数据库。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:分别判断所述热点指纹库及所述第一文件元数据库是否达到各自的存储阈值;若所述热点指纹库或所述第一文件元数据库达到各自的存储阈值,则按照预设的规则淘汰出第一热点指纹及第一元数据,并更新所述热点指纹库及所述第一文件元数据库。8.一种存储系统的数据去重装置,所述存储系统包括内存设备及全闪存阵列,其特征在于,包括:接收单元,用于接收所述内存设备发送的数据写入请求;划分计算单元,用于根据所述数据写入请求,将所述数据写入请求所指示的数据划分为预设粒度的数据块,并计算所述数据块的指纹;第一查询判断单元,用于查询...
【专利技术属性】
技术研发人员:夏文,古亮,
申请(专利权)人:深信服科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。