本发明专利技术涉及数据处理技术领域,特别是一种数据处理方法、装置和系统,所述方法包括:提供第一接口,通过所述第一接口接收来自应用程序的文件写操作请求;将文件的数据切分成至少一个子数据块,获取各所述子数据块的唯一标识,分别将其与保存的唯一标识进行比较;如果相同,建立与所述保存的唯一标识相同的子数据块与所述保存的唯一标识对应的数据之间的链接;如果不同,则保存所述与所述保存的唯一标识不同的子数据块的唯一标识,并且通过第二接口向存储系统发送数据写操作请求,所述数据写操作请求包括所述与所述保存的唯一标识不同的子数据块的数据,使得所述存储系统保存所述子数据块的数据。本发明专利技术有效减少了重复数据,节省了存储空间。
【技术实现步骤摘要】
本专利技术涉及数据处理
,特别是涉及一种数据处理方法、装置和系统。
技术介绍
重复数据删除技术在本世纪初被提出后,迅速在各个存储企业中得到应用,成为存储技术的标志性功能。重复数据删除意指将相同的数据只存储一份以节省空间。重复数据删除可以有效地减少数据,降低存储成本。现有的重复数据删除模块一般是集成在存储系统内部的,其过程一般是对数据库进行切片,计算每个切片的hash值(哈希值),并根据hash值生成逻辑地址,从逻辑地址映射为物理地址存储。这种方法适用于新开发的存储系统,但对于一些老存储系统则不适用, 需要对原存储系统的架构进行大量修改才能使其支持重复数据删除功能。目前,现有技术还存在一种方案,可以实现一般的文件系统增加重复数据删除的功能。这种方案通过增加一个额外的数据库来维护重复数据的记录。当一个文件被写入文件系统时,这时并不对文件进行任何操作,而是保存全部数据。当数据保存后另外有一个进程对文件系统进行扫描,如果发现文件在一段时间内没有被访问过,对这个文件执行重复数据删除操作。由于这种操作是在文件被保存之后进行的,因此称为后重删。在后重删执行时,重删进程首先把这个文件读取出来,按照一定规则切分成不等长大小的块,然后把每块数据按照普通文件的方式保存,同时在数据库中记录该文件被拆分保存的信息。然后在文件元数据中加一个标志位,表示这个文件已经被重删过,所以以后读取这个文件时,并不会像普通文件一样直接读取磁盘,而是通过数据库找到其分片文件所在,然后再读取数据。在实现本专利技术的过程中,专利技术人发现现有技术中至少存在如下问题现有技术提供的方案只能支持后重删,并不能进行实时重删。在第一次存储时,文件系统需要保存全部数据,即便有重复的数据也会保存多份。在执行重删进程时,需要将文件读取出来才能执行重删操作。这种方法使得重复的数据执行了多次读写操作,占用了大量的系统资源,并导致大量存储空间被浪费,并不能有效的节省存储空间。
技术实现思路
为解决上述技术问题,本专利技术实施例提供了一种数据处理方法和装置,可以方便地为一般的文件系统增加重复数据删除功能,所需的花销小,且支持实时重删功能,有效节省存储空间。—方面,本专利技术实施例提供了一种数据处理方法,所述方法应用于数据处理装置,所述方法包括提供第一接口,通过所述第一接口接收来自应用程序的文件写操作请求;将文件的数据切分成至少一个子数据块,获取各所述子数据块的唯一标识,分别将其与保存的唯一标识进行比较;如果相同,建立与所述保存的唯一标识相同的子数据块与所述保存的唯一标识对应的数据之间的链接;如果不同,则保存所述与所述保存的唯一标识不同的子数据块的唯一标识,并且通过第二接口向存储系统发送数据写操作请求,所述数据写操作请求包括所述与所述保存的唯一标识不同的子数据块的数据,使得所述存储系统保存所述子数据块的数据。另一方面,本专利技术实施例提供了一种数据处理装置,所述装置包括第一接口,用于接收来自应用程序的文件写操作请求;所述第一接口与第二接口为相同类型的接口,所述第二接口与存储系统相连;元数据管理模块,用于存储文件的元数据以及文件分块信息;重复数据删除模块,用于将通过第一接口接收的文件的数据切分成至少一个子数据块,获取各所述子数据块的唯一标识,分别将其与元数据管理模块中保存的唯一标识进行比较;如果相同,建立与所述保存的唯一标识相同的子数据块与所述元数据管理模块中保存的唯一标识对应的数据之间的链接;如果不同,则保存所述与所述保存的唯一标识不同的子数据块的唯一标识,并且通过第二接口向存储系统发送数据写操作请求,所述数据写操作请求包括所述与所述保存的唯一标识不同的子数据块的数据,使得所述存储系统保存所述子数据块的数据。再一方面,本专利技术实施例还提供了一种数据处理系统,所述系统包括数据处理装置和存储系统,所述数据处理装置具有第一接口,所述数据处理装置通过第一接口接收来自应用程序的数据操作请求;所述存储系统具有第二接口,所述第二接口与第一接口为相同类型的接口,所述存储系统通过第二接口与数据处理装置交互,其中所述数据处理装置用于接收应用程序的文件写操作请求;将所述文件的数据切分成至少一个子数据块,获取各所述子数据块的唯一标识,分别将其与元数据管理模块中保存的唯一标识进行比较;如果相同,建立与所述保存的唯一标识相同的子数据块与所述元数据管理模块中保存的唯一标识对应的数据之间的链接;如果不同,则保存所述与所述保存的唯一标识不同的子数据块的唯一标识,并且通过第二接口向存储系统发送数据写操作请求,所述数据写操作请求包括所述与所述保存的唯一标识不同的子数据块的数据,使得所述存储系统保存与所述保存的唯一标识不同的子数据块的数据;所述存储系统用于接收来自数据处理装置的数据写操作请求,保存所述数据。本专利技术实施例能够达到的有益效果为本专利技术实施例通过为应用程序提供一个通用的第一接口,接收应用程序的文件写操作请求,如果经过唯一标识比较,判断所述文件的子数据块存在重复数据,则通过数据处理装置进行重复数据删除处理;如果经过唯一标识比较,判断所述文件的子数据块的唯一标识与已有的唯一标识不同,则将子数据块的数据发送至存储系统进行存储。由于在文件进行第一次写操作时,即进行了重复数据删除处理,因此有效减少了重复数据,节省了存储空间。另一方面,本专利技术实施例为所有应用程序提供了一个通用的第一接口,所述第一接口与原有的存储系统中提供给应用程序的第二接口相同,使得普通的文件系统即存储系统的接口在不需要改动的情况下就能支持重复删除功能,通过较小的花销即实现了普通文件系统具备重复删除功能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本专利技术实施例提供的数据处理方法第一实施例流程图;图2为本专利技术实施例重复数据处理流程示意图;图3为本专利技术实施例提供的数据处理方法第二实施例流程图; 图4为本专利技术实施例数据组织方式示意图;图5a_图5d为本专利技术实施例提供的数据处理方法第二实施例示意图;图6为本专利技术提供的数据处理方法第三实施例流程图;图7a_图7f为本专利技术提供的数据处理方法第三实施例示意图;图8为本专利技术提供的数据处理方法第四实施例流程图;图9为本专利技术实施例提供的数据处理系统示意图;图10为本专利技术实施例提供的数据处理装置示意图。具体实施例方式本专利技术实施例提供了一种数据处理方法和装置,可以方便地为一般的文件系统增加重复数据删除功能,所需的花销小,且支持实时重删功能,有效节省存储空间。为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。参见图1,为本专利技术实施例提供的数据处理方法第一实施例流程图。所述方法包括SlOl,提供第一接口,通过所述第一接口接收来自应用程序的文件写操作本文档来自技高网...
【技术保护点】
【技术特征摘要】
...
【专利技术属性】
技术研发人员:曹宇,
申请(专利权)人:成都市华为赛门铁克科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。