1.一种基于全闪存储的数据重删方法,其特征在于,适用于节点,所述方法包括:
接收主机下发的io数据,并对所述io数据设置指纹值;
判断hp元数据库中是否存在与所述指纹值相同的数据;其中,所述hp元数据库中记录有各节点所存储的io数据的指纹值和物理地址的对应关系;
若是,则保存所述io数据相对应的lp元数据;其中,所述lp元数据记录了所述io数据的逻辑地址和物理地址的对应关系;
若否,则将所述io数据的指纹值和物理地址的对应关系存储至所述hp元数据库,并保存所述io数据以及lp元数据,以供元数据处理器对各节点存储的io数据进行查重处理,若存在重复的io数据,元数据处理器则保留最新写入的目标io数据,并向节点下发物理地址修改指令,以便于节点根据所述物理地址修改指令修改相应lp元数据的物理地址。
2.根据权利要求1所述的方法,其特征在于,所述根据所述物理地址修改指令修改相应lp元数据的物理地址包括:
接收元数据处理器下发的物理地址修改指令;其中,所述物理地址修改指令中携带有所述目标io数据的指纹值以及最新写入的目标io数据的物理地址;
根据所述目标io数据的指纹值,查询相对应的目标lp元数据;
将所述目标lp元数据中记录的物理地址修改为所述最新写入的目标io数据的物理地址。
3.根据权利要求2所述的方法,其特征在于,在所述将所述目标lp元数据中记录的物理地址修改为所述最新写入的目标io数据的物理地址之后还包括:
接收主机下发的数据获取指令;其中,所述数据获取指令中携带有待查询逻辑地址;
查询保存的lp元数据,确定出与所述待查询逻辑地址相对应的待查询物理地址;
从所述待查询物理地址对应的存储介质中读取目标数据,并将所述目标数据反馈给所述主机。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述对所述io数据设置指纹值包括:
计算所述io数据的哈希值作为指纹值。
5.一种基于全闪存储的数据重删装置,其特征在于,适用于节点,所述装置包括设置单元、判断单元、第一保存单元和第二保存单元;
所述设置单元,用于接收主机下发的io数据,并对所述io数据设置指纹值;
所述判断单元,用于判断hp元数据库中是否存在与所述指纹值相同的数据;若是,则触发所述第一保存单元;若否,则触发所述第二保存单元;其中,所述hp元数据库中记录有各节点所存储的io数据的指纹值和物理地址的对应关系;
所述第一保存单元,用于保存所述io数据相对应的lp元数据;其中,所述lp元数据记录了所述io数据的逻辑地址和物理地址的对应关系;
所述第二保存单元,用于将所述io数据的指纹值和物理地址的对应关系存储至所述hp元数据库,并保存所述io数据以及lp元数据,以供元数据处理器对各节点存储的io数据进行查重处理,若存在重复的io数据,元数据处理器则保留最新写入的目标io数据,并向节点下发物理地址修改指令,以便于节点根据所述物理地址修改指令修改相应lp元数据的物理地址。
6.根据权利要求5所述的装置,其特征在于,还包括接收单元、查询单元和修改单元;
所述接收单元,用于接收元数据处理器下发的物理地址修改指令;其中,所述物理地址修改指令中携带有所述目标io数据的指纹值以及最新写入的目标io数据的物理地址;
所述查询单元,用于根据所述目标io数据的指纹值,查询相对应的目标lp元数据;
所述修改单元,用于将所述目标lp元数据中记录的物理地址修改为所述最新写入的目标io数据的物理地址。
7.根据权利要求6所述的装置,其特征在于,还包括确定单元和读取单元;
所述接收单元还用于接收主机下发的数据获取指令;其中,所述数据获取指令中携带有待查询逻辑地址;
所述确定单元,用于查询保存的lp元数据,确定出与所述待查询逻辑地址相对应的待查询物理地址;
所述读取单元,用于从所述待查询物理地址对应的存储介质中读取目标数据,并将所述目标数据反馈给所述主机。
8.一种基于全闪存储的数据重删方法,其特征在于,适用于元数据处理器,所述方法包括:
判断是否存在指纹值相同并且物理地址不相同的目标io数据;
若是,则依据各目标io数据的写入时间,保留最新写入的目标io数据;并向接收所述目标io数据的节点下发物理地址修改指令;其中,所述物理地址修改指令中携带有所述目标io数据的指纹值以及最新写入的目标io数据的物理地址。
9.一种基于全闪存储的数据重删装置,其特征在于,适用于元数据处理器,所述装置包括判断单元和调整单元;
所述判断单元,用于判断是否存在指纹值相同并且物理地址不相同的目标io数据;若是,则触发所述调整单元;
所述调整单元,用于依据各目标io数据的写入时间,保留最新写入的目标io数据;并向接收所述目标io数据的节点下发物理地址修改指令;其中,所述物理地址修改指令中携带有所述目标io数据的指纹值以及最新写入的目标io数据的物理地址。
10.一种基于全闪存储的数据重删系统,其特征在于,包括至少两个节点以及元数据处理器;
各所述节点,分别用于接收主机下发的io数据,并对所述io数据设置指纹值;判断hp元数据库中是否存在与所述指纹值相同的数据;其中,所述hp元数据库中记录有各节点所存储的io数据的指纹值和物理地址的对应关系;若是,则保存所述io数据相对应的lp元数据;其中,所述lp元数据记录了所述io数据的逻辑地址和物理地址的对应关系;若否,则将所述io数据的指纹值和物理地址的对应关系存储至所述hp元数据库,并保存所述io数据以及lp元数据,以供元数据处理器对各节点存储的io数据进行查重处理,若存在重复的io数据,元数据处理器则保留最新写入的目标io数据,并向节点下发物理地址修改指令,以便于节点根据所述物理地址修改指令修改相应lp元数据的物理地址;
所述元数据处理器,用于判断是否存在指纹值相同并且物理地址不相同的目标io数据;若是,则依据各目标io数据的写入时间,保留最新写入的目标io数据;向接收所述目标io数据的节点下发物理地址修改指令;其中,所述物理地址修改指令中携带有所述目标io数据的指纹值以及最新写入的目标io数据的物理地址。