利索能及
我要发布
收藏
专利号: 2016108568341
申请人: 杭州海康威视数字技术股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-11-28
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种文件存储方法,其特征在于,所述方法包括:

接收针对待存储文件的存储请求;

确定用于存储所述待存储文件的目标键;

根据所确定的目标键,获得所述待存储文件的待存储元数据;所述待存储元数据包括:固定子元数据和可变子元数据;

将所述待存储元数据存储至元数据库,以及将所述固定子元数据存储至所确定的目标键的名字中,将所述可变子元数据存储至所确定的目标键对应的预设存储区域,并将所述待存储文件存储至所确定的目标键的值中。

2.根据权利要求1所述的方法,其特征在于,在所确定的目标键为多个键的情况下,在所述根据所确定的目标键,获得所述待存储文件的待存储元数据之前,还包括:根据所确定的目标键的数量,获得每一目标键要存储的所述待存储文件的文件块;

所述根据所确定的目标键,获得所述待存储文件的待存储元数据,包括:获得每一目标键要存储的文件块的元数据,并将所获得的元数据确定为所述待存储文件的待存储元数据。

3.根据权利要求2所述的方法,其特征在于,所述获得每一目标键要存储的文件块的元数据,包括:确定每一目标键要存储的文件块相对于所述待存储文件的文件头的偏移量,并确定每一目标键对应的条带信息;

对于每一目标键,根据该目标键要存储的文件块相对于所述待存储文件的文件头的偏移量,获得该目标键要存储的文件块的第一固定子元数据,并根据该目标键对应的条带信息,获得该目标键要存储的文件块的第一可变子元数据;所述第一固定子元数据和所述第一可变子元数据构成该目标键要存储的文件块的元数据;

所述将所述固定子元数据存储至所确定的目标键的名字中,将所述可变子元数据存储至所确定的目标键对应的预设存储区域,包括:对于每一目标键,将所述第一固定子元数据存储至该目标键的名字中,将所述第一可变子元数据存储至该目标键对应的预设存储区域。

4.根据权利要求1所述的方法,其特征在于,在将所述待存储元数据存储至元数据库,以及将所述固定子元数据存储至所确定的目标键的名字中,将所述可变子元数据存储至所确定的目标键对应的预设存储区域,并将所述待存储文件存储至所确定的目标键的值中之后,所述方法还包括:在所述元数据库存在元数据丢失的情况下,根据所有键的名字中存储的固定子元数据和预设存储区域中存储的可变子元数据,更新所述元数据库。

5.根据权利要求4所述的方法,其特征在于,所述根据所有键的名字中存储的固定子元数据和预设存储区域中存储的可变子元数据,更新所述元数据库,包括:获得元数据丢失的文件的标识;

根据所获得的标识和所有键的名字中存储的固定子元数据,确定包含所获得的标识的键;

根据所确定的键的名字中存储的固定子元数据以及所确定的键对应的预设存储区域中存储的可变子元数据,更新所述元数据库。

6.根据权利要求1所述的方法,其特征在于,当第一键对应的条带被回收时,所述方法还包括:获取所述第一键对应的新的条带信息;

根据所述新的条带信息,获得所述第一键中已存储文件的第二可变子元数据;

根据所述第二可变子元数据,更新所述第一键对应的预设存储区域中存储的可变子元数据。

7.一种文件存储装置,其特征在于,所述装置包括:

接收单元,用于接收针对待存储文件的存储请求;

确定单元,用于确定用于存储所述待存储文件的目标键;

第一获得单元,用于根据所确定的目标键,获得所述待存储文件的待存储元数据;所述待存储元数据包括:固定子元数据和可变子元数据;

存储单元,用于将所述待存储元数据存储至元数据库,以及将所述固定子元数据存储至所确定的目标键的名字中,将所述可变子元数据存储至所确定的目标键对应的预设存储区域,并将所述待存储文件存储至所确定的目标键的值中。

8.根据权利要求7所述的装置,其特征在于,在所确定的目标键为多个键的情况下,所述装置还包括:第二获得单元,用于在所述根据所确定的目标键,获得所述待存储文件的待存储元数据之前,根据所确定的目标键的数量,获得每一目标键要存储的所述待存储文件的文件块;

所述第一获得单元,具体用于:

获得每一目标键要存储的文件块的元数据,并将所获得的元数据确定为所述待存储文件的待存储元数据。

9.根据权利要求8所述的装置,其特征在于,所述第一获得单元,包括:第一确定子单元,用于确定每一目标键要存储的文件块相对于所述待存储文件的文件头的偏移量,并确定每一目标键对应的条带信息;

第一获得子单元,用于对于每一目标键,根据该目标键要存储的文件块相对于所述待存储文件的文件头的偏移量,获得该目标键要存储的文件块的第一固定子元数据,并根据该目标键对应的条带信息,获得该目标键要存储的文件块的第一可变子元数据;所述第一固定子元数据和所述第一可变子元数据构成该目标键要存储的文件块的元数据;

所述存储单元,具体用于:

对于每一目标键,将所述待存储元数据存储至元数据库,以及将所述第一固定子元数据存储至该目标键的名字中,将所述第一可变子元数据存储至该目标键对应的预设存储区域,并将所述待存储文件存储至所确定的目标键的值中。

10.根据权利要求7所述的装置,其特征在于,所述装置还包括:更新单元,用于在所述元数据库存在元数据丢失的情况下,根据所有键的名字中存储的固定子元数据和预设存储区域中存储的可变子元数据,更新所述元数据库。

11.根据权利要求10所述的装置,其特征在于,所述更新单元,包括:第二获得子单元,用于在所述元数据库存在元数据丢失的情况下,获得元数据丢失的文件的标识;

第二确定子单元,用于根据所获得的标识和所有键的名字中存储的固定子元数据,确定包含所获得的标识的键;

更新子单元,用于根据所确定的键的名字中存储的固定子元数据以及所确定的键对应的预设存储区域中存储的可变子元数据,更新所述元数据库。

12.根据权利要求7所述的装置,其特征在于,当第一键对应的条带被回收时,所述装置还包括:获取单元,用于获取所述第一键对应的新的条带信息;

第三获得单元,用于根据所述新的条带信息,获得所述第一键中已存储文件的第二可变子元数据;

所述更新单元,还用于:

根据所述第二可变子元数据,更新所述第一键对应的预设存储区域中存储的可变子元数据。