CN107463333B - 网络硬盘空间的回收方法、装置和系统 - Google Patents

网络硬盘空间的回收方法、装置和系统 Download PDF

Info

Publication number
CN107463333B
CN107463333B CN201610392634.5A CN201610392634A CN107463333B CN 107463333 B CN107463333 B CN 107463333B CN 201610392634 A CN201610392634 A CN 201610392634A CN 107463333 B CN107463333 B CN 107463333B
Authority
CN
China
Prior art keywords
storage
data
stripe
recovered
unrecycled
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610392634.5A
Other languages
English (en)
Other versions
CN107463333A (zh
Inventor
曹力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201610392634.5A priority Critical patent/CN107463333B/zh
Priority to PCT/CN2016/104494 priority patent/WO2017206436A1/zh
Publication of CN107463333A publication Critical patent/CN107463333A/zh
Application granted granted Critical
Publication of CN107463333B publication Critical patent/CN107463333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种网络硬盘空间的回收方法、装置和系统。其中,该方法包括:数据服务器接收空间回收请求,其中,空间回收请求,用于指示回收待回收数据所属的存储空间;数据服务器查询待回收数据对应的预设存储列表组,得到待回收数据所属的存储条带组;数据服务器依据存储条带组中的未回收数据对存储条带组中的存储条带进行分组,得到未回收数据所属的存储条带;数据服务器依据存储条带生成空间回收指令,并发送空间回收指令;数据服务器接收空间回收响应信息。本发明解决了由于相关技术中仅提供了对垃圾数据块进行数据擦除操作,而没有提出对数据搬移过程中如何提升数据存储管理效率的技术问题。

Description

网络硬盘空间的回收方法、装置和系统
技术领域
本发明涉及通信技术应用领域,具体而言,涉及一种网络硬盘空间的回收方法、装置和系统。
背景技术
随着网络技术的发展,常规意义上的存储概念也被更新,其中,网络硬盘,云盘等虚拟存储概念扩展了存储技术的存储类型。
计算机本地存储,即,计算机本地的固态硬盘通过I/O和主机执行数据的读取和写入功能。区别于计算机本地存储,在网络硬盘的运用过程中,以数据上传为例,用户通过访问网络服务器,将用户物理机中的本地数据上传至网络服务器提供的虚拟存储中;同理,在数据读取过程中,用户通过访问网络服务器中对应的虚拟存储,从虚拟存储中下载对应的文件数据。在回收存储空间技术上,相关技术中提供一种固态硬盘垃圾回收的方法,通过对已有垃圾回收条带中的垃圾回收数据块的数据擦除和搬移,得到空白的数据块,并对由空白的数据块组成的逻辑子带进行条带化管理。
针对上述由于相关技术中仅提供了对垃圾数据块进行数据擦除操作,而没有提出对数据搬移过程中如何提升数据存储管理效率的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种网络硬盘空间的回收方法、装置和系统,以至少解决由于相关技术中仅提供了对垃圾数据块进行数据擦除操作,而没有提出对数据搬移过程中如何提升数据存储管理效率的技术问题。
根据本发明实施例的一个方面,提供了一种网络硬盘空间的回收系统,包括:数据服务器、存储服务器和网络硬盘,其中,数据服务器,与存储服务器通信连接,用于在预先存储的存储列表组中,查询空间回收请求中待回收数据所属的存储条带组的存储属性,并依据未回收数据对存储条带组中的存储条带进行分组,根据分组和存储属性生成空间回收指令;存储服务器,与网络硬盘通信连接,用于依据空间回收指令,将存储条带组中的存储条带中的未回收数据存储至网络硬盘中的新的存储条带组,回收存储条带组,并依据存储未回收数据后的新的存储条带组的存储属性,生成空间回收响应信息,将空间回收响应信息返回数据服务器。根据本发明实施例的另一方面,还提供了一种网络硬盘空间的回收方法,包括:数据服务器接收空间回收请求,其中,空间回收请求,用于指示回收待回收数据所属的存储空间;数据服务器查询待回收数据对应的预设存储列表组,得到待回收数据所属的存储条带组;数据服务器依据存储条带组中的未回收数据对存储条带组中的存储条带进行分组,得到未回收数据所属的存储条带;数据服务器依据存储条带生成空间回收指令,并发送空间回收指令;数据服务器接收空间回收响应信息。
根据本发明实施例的另一方面,还提供了另一种网络硬盘空间的回收方法,包括:存储服务器接收空间回收指令;存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组;存储服务器删除待回收数据,并回收待回收数据所属的存储条带组;存储服务器依据存储未回收数据所属的新的存储条带组的存储属性,生成空间回收响应信息,并发送空间回收响应信息。
根据本发明实施例的又一方面,还提供了一种网络硬盘空间的回收装置,包括:第一接收模块,用于接收空间回收请求,其中,空间回收请求,用于指示回收待回收数据所属的存储空间;查询模块,用于查询待回收数据对应的预设存储列表组,得到待回收数据所属的存储条带组;分组模块,用于依据存储条带组中的未回收数据对存储条带组中的存储条带进行分组,得到未回收数据所属的存储条带;发送模块,用于依据存储条带生成空间回收指令,并发送空间回收指令;第二接收模块,用于接收空间回收响应信息。
根据本发明实施例的又一方面,还提供了另一种网络硬盘空间的回收装置,包括:接收模块,用于接收空间回收指令;存储模块,用于依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组;回收模块,用于删除待回收数据,并回收待回收数据所属的存储条带组;信息生成模块,用于依据存储未回收数据所属的新的存储条带组的存储属性生成空间回收响应信息;第一发送模块,用于发送空间回收响应信息。
在本发明实施例中,通过与存储服务器通信连接的数据服务器在预先存储的存储列表组中,查询空间回收请求中待回收数据所属的存储条带组的存储属性,并依据未回收数据对存储条带组中的存储条带进行分组,对存储条带分组管理;与网络硬盘通信连接的存储服务器,,将存储条带组中的存储条带中的未回收数据存储至网络硬盘中的新的存储条带组,然后整体回收未回收数据被转移后的待回收的存储条带组,既达到了对待回收数据的存储条带进行空间回收的目的,又能够将未回收数据的整体转移至新的存储条带组,实现对待回收的存储条带组的整体回收,从而实现了提升数据搬移过程中的数据存储管理效率的技术效果,进而解决了由于相关技术中仅提供了对垃圾数据块进行数据擦除操作,而没有提出对数据搬移过程中如何提升数据存储管理效率的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的网络硬盘空间的回收系统的结构示意图;
图2是根据本发明实施例的一种网络硬盘空间的回收系统的结构示意图;
图3是根据本发明实施例的一种网络硬盘空间的回收系统中查询装置执行查询的流程示意图;
图4是根据本发明实施例的一种网络硬盘空间的回收系统中数据服务器、存储服务器和网络硬盘之间的数据交互示意图;
图5是根据本发明实施例的一种网络硬盘空间的回收系统中回收流程的示意图;
图6是根据本发明实施例的网络硬盘空间的回收方法的流程示意图;
图7是根据本发明另一实施例的网络硬盘空间的回收方法的流程示意图;
图8是根据本发明又一实施例的网络硬盘空间的回收装置的结构示意图;
图9是根据本发明再一实施例的网络硬盘空间的回收装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
根据本发明实施例,提供了一种网络硬盘空间的回收系统实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的网络硬盘空间的回收系统的结构示意图,如图1所示,该系统包括:数据服务器12、存储服务器14和网络硬盘(Internet Protocol硬盘,简称IP硬盘)16,其中,
数据服务器12,与存储服务器14通信连接,用于在预先存储的存储列表组中,查询空间回收请求中待回收数据所属的存储条带组的存储属性,并依据未回收数据对存储条带组中的存储条带进行分组,根据分组和存储属性生成空间回收指令;
存储服务器14,与网络硬盘16通信连接,用于依据空间回收指令,将存储条带组中的存储条带中的未回收数据存储至网络硬盘16中的新的存储条带组,回收存储条带组,并依据存储未回收数据后的新的存储条带组的存储属性生成空间回收响应信息,将空间回收响应信息返回数据服务器12。
上述条带(Strip),是指用于存储数据的存储数据块集合。上述被创建的新的存储条带组可以是空白条带组。
具体的,本申请实施例提供的网络硬盘空间的回收系统由数据服务器12、存储服务器14和网络硬盘16组成,以数据读取流程为例,用户可以通过移动终端访问数据服务器12,由数据服务器12查询该用户所需的数据的存储位置,数据服务器12依据得到的存储位置访问存储服务器14,由存储服务器14从网络硬盘16中读取数据。在本申请实施例中,数据服务器12接收空间回收请求后,在预先存储的存储列表组中通过遍历查询,得到待回收数据的存储条带组的存储属性,其中,存储属性可以包括:存储位置和存储状态;数据服务器12在查询得到待回收数据所属的存储条带组后,获取该存储条带组中的未回收数据,并依据该未回收数据对存储条带组中的存储条带进行分组,最后数据服务器12根据分组和存储属性生成空间回收指令;在存储服务器14侧,在接收空间回收指令后,将把未回收数据存储至网络硬盘中的空白存储条带组,进一步地,通过网络硬盘16删除待回收数据,并回收待回收数据所属的存储条带组,最后,依据存储未回收数据后的空白存储条带组的存储属性生成空间回收响应信息,将空间回收响应信息返回数据服务器12。此处需要说明的是,数据服务器12可以为元数据服务器。
综上,图2是根据本发明实施例的一种网络硬盘空间的回收系统的结构示意图,如图2所示,在用户访问数据服务器12时,数据服务器12将依据用户的需求遍历内部的信息表组(即,本申请实施例中的存储列表组),其中,该信息表组可以包括:Object信息表、Strip信息表和网络硬盘信息表,其中,通过查询Object信息表可以得到用户所需的数据是否存在,且,若存在,则该数据的存储位置,进一步的,通过查询Strip信息表可以得到该数据在一个或多个条带Strip中具体的存储位置,如,该数据存放在2个Strip中的2个存储数据块中,通过查询Object信息表中该数据的偏移量和Strip信息表中该数据的对应位置,可以得到实际的存储位置,例如,该数据在X条带的第一存储数据模块,以及Y条带的第二存储数据模块;除此之外,还可以通过查询Object信息表和Strip信息表得到该数据的数据存储状态和所属条带的存储状态。
当数据进行搬移时,数据服务器12通过下发空间回收指令至存储服务器14,通过数据服务器12生成的新的存储条带标识,由存储服务器14在网络硬盘16中创建对应该新的存储条带标识的新的存储条带,并从网络硬盘16中获取未回收数据,将未回收数据搬移至该新的存储条带,并依据存储未回收数据后的新的存储条带组的存储属性生成空间回收响应信息,将空间回收响应信息返回数据服务器12。以使得在后续对未回收数据进行管理的过程中,数据服务器12能够依据该未回收数据的新的存储状态,快速定位到该未回收数据所属的存储位置,提升了数据的读写效率,并且一旦执行操作,将更直接的通过定位删除该未回收数据以及存储有该未回收数据的存储条带组,由此可见本申请实施例提供的网络硬盘空间的回收系统提升了数据的存储管理效率。
在本发明实施例提供的网络硬盘空间的回收系统中,通过数据服务器,与存储服务器通信连接,用于在预先存储的存储列表组中,查询空间回收请求中待回收数据所属的存储条带组的存储属性,并依据未回收数据对存储条带组中的存储条带进行分组,根据分组和存储属性生成空间回收指令;存储服务器,与网络硬盘通信连接,用于依据空间回收指令,将存储条带组中的存储条带中的未回收数据存储至网络硬盘中的新的存储条带组,回收存储条带组,并依据存储未回收数据后的新的存储条带组的存储属性生成空间回收响应信息,将空间回收响应信息返回数据服务器,达到了对待回收数据的存储条带进行空间回收的目的,通过将未回收数据转存至新的存储条带,并对存储该未回收数据的新的存储条带进行记录,从而实现了提升数据搬移过程中的数据存储管理效率的技术效果,进而解决了由于相关技术中仅提供了对垃圾数据块进行数据擦除操作,而没有提出对数据搬移过程中如何提升数据存储管理效率的技术问题。
可选的,存储列表组包括:数据存储信息表、存储条带信息表和网络硬盘信息表,其中,数据存储信息表包括:存储于网络硬盘中的数据、数据在存储条带中的位置、数据的大小和数据的存储状态;存储条带信息表包括:每个存储条带的标识、存储条带的属性、纠删码(Erasure Coding,简称EC)类型、存储条带所属磁盘的磁盘标识和磁盘的存储状态;网络硬盘信息表包括:每个磁盘的磁盘标识和每个磁盘的地址信息。
具体的,在数据服务器12中建立数据存储Object(对象)信息表、存储条带Strip信息表、网络硬盘IP硬盘信息表,Object信息表中记录Object_key(对象键)和Object数据写入的Strip_id及其偏移,Strip信息表中记录Strip_id及其对应的IP硬盘wwn(world widename,全球唯一名字)和unit_key,IP硬盘信息表中记录IP硬盘wwn及其IP地址;如表1、表2和表3所示,分别为Object信息表、Strip信息表和IP硬盘信息表,其中,Object表示存储于网络硬盘中的数据:
表1,Object信息表格式如下表所示:
如表1所示,数据服务器12通过查询待回收数据对应的Object_key,可以得到该Object_key所属的Strip,进而通过Object_key得到Object_key所属的存储条带Strip的存储条带标识Strip_id,Object的数据大小Object_size,数据存储状态status以及Object_key在Object和Strip中的偏移量,其中,依据Object_key在Object和Strip中的偏移量查询Strip信息表,可以得到Object_key实际的存储位置。具体见表2。
需要说明的是,Object内偏移用于指示待回收数据对应的Object_key在该Object中的序号,即,通过查询该Object内偏移,可以得到该Object_key在Object中的位置;
同理,Strip内偏移用于指示Object_key在Strip内的位置。
表2,Strip信息表格式如下所示:
结合表1得到的Strip_id,数据服务器12通过查询该Strip信息表,得到Object_key所属的Strip_id中存储数据块unit_key的信息,以及Strip纠删码模式,即,表2中的EC_mode,其中,EC计算模式可以包括:N+M=4+1or 4+2or 8+2,N表示实际用于存储数据的存储数据块个数,M为冗余数据所占的存储数据块个数。
需要说明的是,表2中的wwn用于指示存储条带Strip所属的网络硬盘16中对应磁盘的标识。
表3,IP硬盘信息表如下所示:
字段 Key 备注
wwn Primary 主键,表示每个磁盘
IP 磁盘IP地址
基于表1和表2,通过查询表1可以得到Object_key对应的Strip_id,进一步通过查询表2得到Strip_id对应的磁盘wwn,最后通过查询表3可以定位至Object_key所属磁盘的IP地址。
可选的,在存储属性包括存储地址和存储状态的情况下,数据服务器12包括:查询装置、分类装置和指令生成装置,其中,
查询装置,用于遍历存储列表组,查询待回收数据所属的存储条带组,依据查询结果更改存储条带组的存储状态,并在存储条带组中的存储条带查询存储待回收数据所属的存储数据块以及未回收数据所属的存储数据块;
分类装置,与查询装置通信连接,用于依据未回收数据对存储条带组中的存储条带进行分组,得到未回收数据所属的存储条带组;
指令生成装置,与分类装置通信连接,用于将未回收数据所属的存储条带组的存储状态更改为待回收存储状态,并依据待回收存储状态和未回收数据所属的存储条带组,生成空间回收指令。
可选的,查询装置包括:第一查询模块、第二查询模块、状态更新模块和判断模块,其中,
第一查询模块,用于依据数据存储信息表查询待回收数据是否存在,在查询结果为是的情况下,查询数据存储信息表中待回收数据对应的存储条带组;
第二查询模块,与第一查询模块通信连接,用于提取数据存储信息中待回收数据在存储条带中的位置,并依据位置查询存储条带信息表,得到存储待回收数据的存储数据块;
状态更新模块,与第二查询模块通信连接,用于将存储数据块的存储状态标记为待删除;
判断模块,与状态更新模块通信连接,用于判断在一个存储条带中标记为待删除的存储数据块的数量是否大于或等于预设阈值,在判断结果为是的情况下,标记存储待回收数据的存储条带的存储状态为待回收。
综上,图3是根据本发明实施例的一种网络硬盘空间的回收系统中查询装置执行查询的流程示意图,如图3所示,在对待回收数据进行查询的过程中,即,数据服务器12在内部遍历查询表1至表3所示的Object信息表、Strip信息表、IP硬盘信息表,
首先,通过查询Object信息表判断待回收数据对应的Object是否存在;
第二,在Object存在的情况下,在Object信息表查询Object_key对应的Strip_id;
第三,在得到Strip_id后,在Strip信息表中查询Strip_id对应的存储数据块unit_key;
第四,结合Object信息表中Object_key的偏移量和Strip长度,以及Strip信息表中得到的Strip_id对应的存储数据块unit_key,定位Object对应的unit_key;
第五,在Strip信息表中更改unit_key的存储状态,将该存储状态更改为“待删除”;
第六,检查Strip_id中状态为“待删除”的unit_key的数量;
第七,判断该数量是否大于或等于预设阈值N-1;
第八,在判断结果为是的情况下,将Strip的存储状态置为“待回收”;并判断该存储条带Strip是否为遍历查询的最后一条Strip,若是,则查询流程结束,若否,则继续执行第二步至第八步。
由于数据服务器接收到的空间回收请求,Object数据并没有真实删除,而是需要由数据服务器指示存储服务器对存储有Object数据的网络硬盘进行数据删除,该Object数据才会被真实删除。因此,本发明实施例中的“待删除”状态是针对被执行了删除操作(例如,在用户界面被删除),在网络硬盘或服务器中尚未被真实删除的数据(信息);“未删除”状态是指未被执行删除操作的数据(信息)。
可选的,数据服务器12还包括:数据接收装置和状态更新装置,其中,
数据接收装置,与存储服务器14通信连接,用于接收空间回收响应信息,其中,空间回收响应信息包括:未回收数据的数据存储状态和待回收数据的数据存储状态,以及未回收数据所属存储条带的存储状态和待回收数据所属存储条带的存储状态;
状态更新装置,与数据接收装置通信连接,用于依据接收到的数据存储状态更新数据存储信息表,以及依据接收到的存储条带的存储状态更新存储条带信息表。
可选的,存储服务器14包括:数据缓存装置、纠删码计算装置和硬盘读写装置,其中,
数据缓存装置,分别与数据服务器12和网络硬盘16通信连接,用于在接收空间回收指令之后,向数据服务器发送新的存储条带创建请求,在接收数据服务器返回的新的存储条带标识后,向网络硬盘发送未回收数据反馈请求,并缓存网络硬盘返回的未回收数据;
纠删码计算装置,与数据缓存装置通信连接,用于依据预设纠删码规则,在新的存储条带中,为未回收数据分配对应的存储数据块;
硬盘读写装置,与网络硬盘16通信连接,用于将未回收数据存储至新的存储条带中的存储数据块中。
可选的,存储服务器14还包括:状态反馈装置,其中,
状态反馈装置,与数据服务器12通信连接,用于依据存储于新的存储条带中的未回收数据的数据存储状态、新的存储条带的存储状态、待回收数据的数据存储状态和待回收数据所属的存储条带组的存储状态生成空间回收响应信息,并将空间回收响应信息返回数据服务器12。
上述被创建的新的存储条带可以为新创建的空白存储条带组中的存储条带。
综上,图4是根据本发明实施例的一种网络硬盘空间的回收系统中数据服务器、存储服务器和网络硬盘之间的数据交互示意图,如图4所示,
数据服务器12(即图4所示的元数据服务器)定时扫描Strip信息表,查找待回收Strip,由Strip信息表中的unit_key得到对应的Object_key;在Object信息表中查询Object_key是否被删除,并记录未删除的Object_key,将待回收Strip按照Object_key进行分类,并向存储服务器14发送未删除的Object和待回收Strip以及Strip中的unit_key。存储服务器14在接收到未删除的Object和待回收Strip以及Strip中的unit_key后,向数据服务器12反馈接收成功的信息。
针对每一个待回收Strip,该回收系统可以从第一个待回收Strip开始,依次读取其中的未删除Object数据,对未删除Object数据执行loop循环框中的步骤,具体参见下方:
存储服务器14向数据服务器12发送新的存储条带创建请求(即,图4所示的向元数据服务器申请新的Strip_id),并接收数据服务器12返回的新的存储条带标识(即,图4所示的元数据服务器返回新的“Strip_id”),存储服务器14从网络硬盘16(即图4所示的IP硬盘)中读取未删除Object在待回收Strip中的数据,在接收网络硬盘16返回的未删除Object数据后,缓存该未删除Object数据。存储服务器14通过纠删码计算装置依据预设纠删码规则(EC计算)生成该未删除Object数据的unit_key(EC计算也会产生校验数据)。存储服务器14在新的存储条带中,为未删除Object新的分配对应的存储数据块,存储服务器14通过硬盘读写装置将未删除Object数据和校验数据写入网络硬盘16中的新的存储条带Strip_id中。存储服务器14接收网络硬盘16返回的写入成功的响应信息后,向数据服务器12发送包含有存储于新的存储条带中的未回收数据的数据存储状态、新的存储条带的存储状态、待回收数据的数据存储状态和待回收数据所属的存储条带组的存储状态的空间回收响应信息(即,图4所示的存储服务器向元数据服务器发送的未删除Object信息和新的Strip信息)。
在数据服务器12侧将接收存储服务器14返回的空间回收响应信息,并依据空间回收响应信息更新数据存储信息表,以及依据接收到的存储条带的存储状态更新存储条带信息表,即,图4所示的在Object信息中更新未删除Object信息,在Object信息表中更新新的Strip信息。然后,数据服务器12向存储服务器14反馈更新成功的信息。
存储服务器14向网络硬盘16发送删除待回收的Object的数据,并接收网络硬盘16反馈的删除成功的信息,然后向数据服务器12发送在Object信息表中删除对应的待回收Object信息和该待回收的Strip信息的命令。数据服务器12在Object信息表中删除对应信息后,向存储服务器反馈删除该待回收Strip成功的信息。
然后再按照图4中的loop循环,返回依次读取下一个待回收Strip的未删除Object数据,针对该未删除Object数据执行loop循环框中的步骤。这样就可以完成该下一个待回收Strip的删除。
上述实施例是通过loop循环对每个Strip依次删除的过程。在本发明的另一个实施例中,也可以对一个存储条带组中的所有Strip进行未删除数据的搬移和待删除数据的删除,然后结束循环,再对整个存储条带组中的待回收Strip同时进行删除。对于存储条带组的各Strip的管理可以依次进行,也可以对多个Strip并行管理,在此不做限制。
结合数据服务器、存储服务器和网络硬盘,图5是根据本发明实施例的一种网络硬盘空间的回收系统中回收流程的示意图;如图5所示,数据回收流程具体如下:
由图5可知,object1~object7均被删除,则strip1~strip4都是待回收strip,在进行待回收strip分类时,strip1、strip2、strip3分到object_123这组,strip4分到object8这组。回收后,object_123分散的数据都聚集到strip5中。即,object1~object7为数据服务器中查询到的待回收数据的对象,通过查询strip信息表得到object1~object7的存储位置,即,strip1~strip4都是待回收strip(即,本申请实施例中的存储条带组),由于object_123和object8为未回收数据,因此在回收strip1~strip4之前,依据图5所示,strip1、strip2、strip3分到object_123这组,strip4分到object8这组,在strip1~strip4回收后,object_123分散的数据都聚集到strip5中,即,存储服务器14向数据服务器12发送新的存储条带创建请求,数据服务器12依据该新的存储条带创建请求生成新的存储条带标识,存储服务器14依据该新的存储条带标识在网络硬盘16中生成新的存储条带strip5,并将未回收数据object_123和object8存储至strip5。
本申请实施例提供的网络硬盘空间的回收系统,将待回收Strip按照未删除Object进行分组,回收时,将分散于多个待回收Strip的未删除Object数据读取出来,集中存储与一个或多个Strip中,可以加速Object数据读取,减少Object元数据存储空间,Object元数据可以包括Object数据的存储位置等。
上述被创建的新的存储条带组可以是空白条带组。
上述被创建的新的存储条带可以为新创建的空白存储条带组中的存储条带。
实施例二
图6是根据本发明实施例的网络硬盘空间的回收方法的流程示意图,在数据服务器侧,如图6所示,该方法包括如下步骤:
步骤S602,数据服务器接收空间回收请求,其中,空间回收请求,用于指示回收待回收数据所属的存储空间;
具体的,对应实施例一中的网络硬盘空间的回收系统中的数据服务器,数据服务器接收用户由移动终端发送的空间回收请求,其中该空间回收请求中可以包含待回收数据。
步骤S604,数据服务器查询待回收数据对应的预设存储列表组,得到待回收数据所属的存储条带组;
具体的,对应实施例一中的数据服务器对存储列表组的遍历查询,数据服务器通过查询该存储列表组,定位待回收数据存储的位置,即,本申请实施例中的待回收数据的存储条带组。其中,本申请实施例中的存储列表组可以包括:数据存储信息表、存储条带信息表和网络硬盘信息表。
步骤S606,数据服务器依据存储条带组中的未回收数据对存储条带组中的存储条带进行分组,得到未回收数据所属的存储条带;
具体的,数据服务器统计存储条带组中的未回收数据,并依据未回收数据对存储条带组中的存储条带分组,得到未回收数据对应的存储条带,以使得在数据搬移过程中通过明确未回收数据的位置,提升数据存储管理效率。
步骤S608,数据服务器依据存储条带生成空间回收指令,并发送空间回收指令;
具体的,由于数据服务器接收到的空间回收请求,Object数据并没有真实删除,而是需要由数据服务器指示存储服务器对存储有Object数据的网络硬盘进行数据删除,该Object数据才会真实删除。因此,数据服务器依据存储条带生成空间回收指令,并将空间回收指令发送至存储服务器。
步骤S610,数据服务器接收空间回收响应信息。
具体的,当空间回收指令发送至存储服务器后,存储服务器将与网络硬盘将对待回收数据进行删除,并对该待回收数据所属的存储条带组进行回收,在回收完毕,数据服务器将接受存储服务器返回的空间回收响应信息,其中,该空间回收响应信息可以包含:未回收数据的数据存储状态和待回收数据的数据存储状态,以及未回收数据所属存储条带的存储状态和待回收数据所属存储条带的存储状态。以使得数据服务器依据该空间回收响应信息更新数据存储信息表和存储条带信息表。
本申请实施例提供的网络硬盘空间的回收方法,通过数据服务器接收空间回收请求,其中,空间回收请求,用于指示回收待回收数据所属的存储空间;数据服务器查询待回收数据对应的预设存储列表组,得到待回收数据所属的存储条带组;数据服务器依据存储条带组中的未回收数据对存储条带组中的存储条带进行分组,得到未回收数据所属的存储条带;数据服务器依据存储条带生成空间回收指令,并发送空间回收指令;数据服务器接收返回的空间回收响应信息,达到了对待回收数据的存储条带进行空间回收的目的,从而实现了提升数据搬移过程中的数据存储管理效率的技术效果,进而解决了由于相关技术中仅提供了对垃圾数据块进行数据擦除操作,而没有提出对数据搬移过程中如何提升数据存储管理效率的技术问题。
可选的,在存储列表组包括数据存储信息表、存储条带信息表和网络硬盘信息表的情况下,步骤S604中数据服务器查询待回收数据对应的预设的存储列表组,得到待回收数据所属的存储条带组包括:
Step1,数据服务器在数据存储信息表中查询待回收数据是否存在;
Step2,在查询结果为是的情况下,数据服务器在数据存储信息表中查询待回收数据所属的存储条带组;
Step3,提取待回收数据在数据存储信息表中的偏移量;
Step4,依据偏移量在存储条带信息表进行查询,得到待回收数据对应的存储数据块。
具体的,步骤Step1至Step4,对应实施例一中图3中数据服务器中查询装置查询存储列表组的过程,其中,数据服务器通过查询Object信息表判断待回收数据对应的Object是否存在;在Object存在的情况下,在Object信息表查询Object_key对应的Strip_id;在得到Strip_id后,在Strip信息表中查询Strip_id对应的存储数据块unit_key;结合Object信息表中Object_key的偏移量和Strip长度,以及Strip信息表中得到的Strip_id对应的存储数据块unit_key,定位Object对应的unit_key。
可选的,步骤S606中数据服务器依据存储条带组中的未回收数据对存储条带组中的存储条带进行分组,得到未回收数据所属的存储条带包括:
Step1,将待回收数据所属的存储数据块的存储状态,在存储条带信息表中更改为删除;
Step2,统计存储状态为删除的存储数据块的个数,得到未回收数据对应的存储数据块的个数;
Step3,依据未回收数据对应的存储数据块的个数,得到未回收数据对应的存储条带。
具体的,结合Step1至Step3,数据服务器更改存储条带信息表中待回收数据对应的存储数据块的存储状态为删除,并统计存储状态为删除的存储数据块的个数,得到未回收数据对应的存储数据块个数,即,数据服务器在Strip信息表中更改unit_key的存储状态,将该存储状态更改为“删除”;检查Strip_id中状态为“删除”的unit_key的数量;通过统计删除的存储数据块个数,则得到未回收数据对应的存储数据块个数,进而得到未回收数据对应的存储条带。
进一步地,可选的,在步骤S606中的Step2中得到未回收数据对应的存储数据块个数之前,本申请实施例提供的网络硬盘空间的回收方法还包括:
步骤A,判断个数是否大于或等于预设阈值;
步骤B,在判断结果为是的情况下,标记待回收数据对应的存储数据块所属的存储条带的存储状态为待回收。
具体的,对应实施例1中的图3中数据服务器对存储列表组的遍历查询,首先判断该数量是否大于或等于预设阈值N-1;在判断结果为是的情况下,将Strip的存储状态置为“待回收”。其中,预设阈值中的N可以为纠删码模式N+M中的N,即,N为实际存储数据的存储数据块个数。
可选的,在步骤S610中数据服务器接收返回的空间回收响应信息之前,本申请实施例提供的网络硬盘空间的回收方法还包括:
步骤S605,接收新的存储条带创建请求;
步骤S607,依据新的存储条带创建请求,创建新的存储条带标识;
步骤S609,发送新的存储条带标识。
具体的,对应实施例1中图4的数据回收流程,结合步骤S605至S609,在存储服务器执行数据回收过程之前,数据服务器接收存储服务器发送的新的存储条带创建请求;数据服务器依据新的存储条带创建请求创建新的存储条带标识,并将该新的存储条带标识返回存储服务器,以使得存储服务器依据该新的存储条带标识在网络硬盘中创建新的存储条带。
可选的,在空间回收响应信息包括:未回收数据的数据存储状态和待回收数据的数据存储状态,以及未回收数据所属存储条带的存储状态和待回收数据所属存储条带的存储状态的情况下,在步骤S610中数据服务器接收返回的空间回收响应信息之后,本申请实施例提供的网络硬盘空间的回收方法还包括:
步骤S611,依据接收到的数据存储状态,更新数据存储信息表;
步骤S612,依据接收到的存储条带的存储状态,更新存储条带信息表。
具体的,对应实施例1中的图4,在存储服务器和网络硬盘结束回收流程时,数据服务器接收存储服务器返回的空间回收响应信息,在该空间回收响应信息包括未回收数据的数据存储状态和待回收数据的数据存储状态,以及未回收数据所属存储条带的存储状态和待回收数据所属存储条带的存储状态的情况下,数据服务器依据接收到的数据存储状态更新数据存储信息表,并依据接收到的存储条带的存储状态更新存储条带信息表。
本申请实施例提供的网络硬盘空间的回收方法,在数据服务器侧将待回收Strip按照未删除Object进行分组,回收时,将分散于多个待回收Strip的未删除Object数据读取出来,集中存储与一个或多个Strip中,并对回收后的存储状态进行反馈,从而可以达到加速Object数据读取,减少Object元数据存储空间的效果。
上述被创建的新的存储条带组可以是空白条带组。
上述被创建的新的存储条带可以为新创建的空白存储条带组中的存储条带。
实施例三
图7是根据本发明另一实施例的网络硬盘空间的回收方法的流程示意图,在存储服务器侧,如图7所示,该方法包括如下步骤:
步骤S702,存储服务器接收空间回收指令;
具体的,对应实施例1中的存储服务器,在本申请实施例提供的网络硬盘空间的回收方法中,在存储服务器侧,对应实施例2提供的数据服务器侧,存储服务器接收数据服务器发送的空间回收指令。
步骤S704,存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组;
具体的,基于步骤S702接收的空间回收指令,存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据转存至网络硬盘中的新的存储条带组。
步骤S706,存储服务器删除待回收数据,并回收待回收数据所属的存储条带组;
具体的,基于步骤S704中对未回收数据的搬移,在将未回收数据转存至网络硬盘中的新的存储条带组后,存储服务器将删除待回收数据,以及回收该待回收数据所属的存储条带组。
步骤S708,存储服务器依据存储未回收数据所属的新的存储条带组的存储属性,生成空间回收响应信息,并发送空间回收响应信息。
具体的,存储服务器在回收待回收数据所属的存储条带组之后,将依据未回收数据的数据存储状态,未回收数据所属的新的存储条带组(表示S704中确定的新的存储条带组,该新的存储条带组存储有该未回收数据)的存储状态,待回收数据的数据存储状态和待回收数据所属的存储条带组的存储状态生成空间回收响应信息。
在本发明的一个实施例中,存储服务器向数据服务器发送空间回收响应信息。或者,存储服务器也可以向其他节点发送空间回收响应,由其他节点将该空间回收响应转发至数据服务器。
本申请实施例提供的网络硬盘空间的回收方法,通过存储服务器接收空间回收指令;存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组;存储服务器删除待回收数据,并回收待回收数据所属的存储条带组;存储服务器依据存储未回收数据所属的新的存储条带组的存储属性生成空间回收响应信息;存储服务器发送空间回收响应信息,达到了分组对待回收数据的存储条带进行空间回收的目的,从而实现了提升数据搬移过程中的数据存储管理效率的技术效果,进而解决了由于相关技术中仅提供了对垃圾数据块进行数据擦除操作,而没有提出对数据搬移过程中如何提升数据存储管理效率的技术问题。
可选的,在步骤S704存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组之前,本申请实施例提供的网络硬盘空间的回收方法还包括:
步骤S698,发送新的存储条带创建请求;
步骤S699,接收返回的新的存储条带标识;
步骤S701,向网络硬盘发送未回收数据反馈请求;
步骤S703,缓存网络硬盘返回的未回收数据。
具体的,结合步骤S698至步骤S703,对应实施例1中的图4,以及实施例2中数据服务器中的步骤S605至S609,在存储服务器侧,由于需要安置未回收数据,因此存储服务器向数据服务器发送新的存储条带创建请求;在数据服务器创建新的存储条带标识之后,接收该新的存储条带标识,并向网络硬盘发送未回收数据反馈请求,缓存该未回收数据。
可选的,步骤S704中存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组包括:
Step1,依据预设纠删码规则,在新的存储条带中,为未回收数据新的分配对应的存储数据块;
Step2,将未回收数据存储至新的存储条带中的存储数据块中。
具体的,结合Step1和Step2,对应实施例1中的图4,存储服务器依据预设纠删码规则,在新的存储条带中,为未回收数据新的分配对应的存储数据块,并将未回收数据存储至新的存储条带中的存储数据块中。
可选的,步骤S708中存储服务器依据存储未回收数据所属的新的存储条带组的存储属性,生成空间回收响应信息,并发送空间回收响应信息包括:
Step1,依据存储于新的存储条带中的未回收数据的数据存储状态、新的存储条带的存储状态、待回收数据的数据存储状态和待回收数据所属的存储条带组的存储状态生成空间回收响应信息。
上述被创建的新的存储条带组可以是空白条带组。
上述被创建的新的存储条带可以为新创建的空白存储条带组中的存储条带。
实施例四
图8是根据本发明又一实施例的网络硬盘空间的回收装置的结构示意图,在数据服务器侧,如图8所示,包括:第一接收模块81、查询模块82、分组模块83、发送模块84和第二接收模块85,其中,
第一接收模块81,用于接收空间回收请求,其中,空间回收请求,用于指示回收待回收数据所属的存储空间;
查询模块82,用于查询待回收数据对应的预设存储列表组,得到待回收数据所属的存储条带组;
分组模块83,用于依据存储条带组中的未回收数据对存储条带组中的存储条带进行分组,得到未回收数据所属的存储条带;
发送模块84,用于依据存储条带生成空间回收指令,并发送空间回收指令;
第二接收模块85,用于接收空间回收响应信息。
在接收到空间回收响应信息后,数据服务器可以根据空间回收响应信息中包含的未回收数据(例如,尚未被指示删除的视频数据)所属的存储条带组的存储状态,确定未回收数据被转移后的存储位置。
本申请实施例提供的网络硬盘空间的回收装置,通过数据服务器接收空间回收请求,其中,空间回收请求,用于指示回收待回收数据所属的存储空间;数据服务器查询待回收数据对应的预设存储列表组,得到待回收数据所属的存储条带组;数据服务器依据存储条带组中的未回收数据对存储条带组中的存储条带进行分组,得到未回收数据所属的存储条带;数据服务器依据存储条带生成空间回收指令,并发送空间回收指令;数据服务器接收返回的空间回收响应信息,达到了分组对待回收数据的存储条带进行空间回收的目的,从而实现了提升数据搬移过程中的数据存储管理效率的技术效果,进而解决了由于相关技术中仅提供了对垃圾数据块进行数据擦除操作,而没有提出对数据搬移过程中如何提升数据存储管理效率的技术问题。
可选的,查询模块82包括:
第一查询单元,用于在存储列表组包括数据存储信息表、存储条带信息表和网络硬盘信息表的情况下,在数据存储信息表中查询待回收数据是否存在;
第二查询单元,用于在查询结果为是的情况下,在数据存储信息表中查询待回收数据所属的存储条带组;
提取单元,用于提取待回收数据在数据存储信息表中的偏移量;
第三查询单元,用于依据偏移量在存储条带信息表进行查询,得到待回收数据对应的存储数据块。
可选的,分组模块83包括:
状态更改单元,用于将待回收数据所属的存储数据块的存储状态,在存储条带信息表中更改为删除;
第一统计单元,用于统计存储状态为删除的存储数据块的个数,得到未回收数据对应的存储数据块的个数;
第二统计单元,用于依据未回收数据对应的存储数据块的个数,得到未回收数据对应的存储条带。
进一步地,可选的,本申请实施例提供的网络硬盘空间的回收装置还包括:
判断单元,用于在得到未回收数据对应的存储数据块个数之前,判断个数是否大于或等于预设阈值;
标记单元,用于在判断结果为是的情况下,标记待回收数据对应的存储数据块所属的存储条带的存储状态为待回收。
可选的,本申请实施例提供的网络硬盘空间的回收装置还包括:
第三接收模块,用于在数据服务器接收返回的空间回收响应信息之前,接收新的存储条带创建请求;
标识创建模块,用于依据新的存储条带创建请求,创建新的存储条带标识;
标识发送模块,用于发送新的存储条带标识。
可选的,本申请实施例提供的网络硬盘空间的回收装置还包括:
第一状态更新模块,用于在空间回收响应信息包括:未回收数据的数据存储状态和待回收数据的数据存储状态,以及未回收数据所属存储条带的存储状态和待回收数据所属存储条带的存储状态的情况下,在数据服务器接收返回的空间回收响应信息之后,依据接收到的数据存储状态,更新数据存储信息表;
第二状态更新模块,用于依据接收到的存储条带的存储状态,更新存储条带信息表。
上述被创建的新的存储条带组可以是空白条带组。
上述被创建的新的存储条带可以为新创建的空白存储条带组中的存储条带。
实施例五
图9是根据本发明再一实施例的网络硬盘空间的回收装置的结构示意图,在存储服务器侧,如图9所示,包括:接收模块91、存储模块92、回收模块93、信息生成模块94和第一发送模块95,其中,
接收模块91,用于接收空间回收指令;
存储模块92,用于依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组;
回收模块93,用于删除待回收数据,并回收待回收数据所属的存储条带组;
信息生成模块94,用于依据存储未回收数据所属的新的存储条带组的存储属性生成空间回收响应信息;
第一发送模块95,用于发送空间回收响应信息。
本申请实施例提供的网络硬盘空间的回收装置,通过存储服务器接收空间回收指令;存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组;存储服务器删除待回收数据,并回收待回收数据所属的存储条带组;存储服务器依据存储未回收数据所属的新的存储条带组的存储属性生成空间回收响应信息;存储服务器发送空间回收响应信息,达到了分组对待回收数据的存储条带进行空间回收的目的,从而实现了提升数据搬移过程中的数据存储管理效率的技术效果,进而解决了由于相关技术中仅提供了对垃圾数据块进行数据擦除操作,而没有提出对数据搬移过程中如何提升数据存储管理效率的技术问题。
可选的,本申请实施例提供的网络硬盘空间的回收装置还包括:
第二发送模块,用于在存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组之前,发送新的存储条带创建请求;
标识接收模块,用于接收新的存储条带标识;
请求发送模块,用于向网络硬盘发送未回收数据反馈请求;
缓存模块,用于缓存网络硬盘返回的未回收数据。
可选的,存储模块92包括:
分配单元,用于依据预设纠删码规则,在新的存储条带中,为未回收数据新的分配对应的存储数据块;
存储单元,用于将未回收数据存储至新的存储条带中的存储数据块中。
可选的,信息生成模块94包括:
信息生成单元,用于依据存储于新的存储条带中的未回收数据的数据存储状态、新的存储条带的存储状态、待回收数据的数据存储状态和待回收数据所属的存储条带组的存储状态生成空间回收响应信息。
上述被创建的新的存储条带组可以是空白条带组。上述被创建的新的存储条带可以为新创建的空白存储条带组中的存储条带。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (27)

1.一种网络硬盘空间的回收系统,其特征在于,包括:数据服务器、存储服务器和网络硬盘,其中,
所述数据服务器,与所述存储服务器通信连接,用于在预先存储的存储列表组中,查询空间回收请求中待回收数据所属的存储条带组的存储属性,并依据未回收数据对所述存储条带组中的存储条带进行分组,根据所述分组和所述存储属性生成空间回收指令;
所述存储服务器,与所述网络硬盘通信连接,用于依据所述空间回收指令,将所述存储条带组中的存储条带中的未回收数据存储至所述网络硬盘中的新的存储条带组,回收所述存储条带组,并依据存储所述未回收数据后的所述新的存储条带组的存储属性,生成空间回收响应信息,将所述空间回收响应信息返回所述数据服务器。
2.根据权利要求1所述的系统,其特征在于,在所述存储属性包括存储地址和存储状态的情况下,所述数据服务器包括:查询装置、分类装置和指令生成装置,其中,
所述查询装置,用于遍历所述存储列表组,查询所述待回收数据所属的存储条带组,依据查询结果更改所述存储条带组的存储状态,并在所述存储条带组中的存储条带查询存储所述待回收数据所属的存储数据块以及未回收数据所属的存储数据块;
所述分类装置,与所述查询装置通信连接,用于依据所述未回收数据对所述存储条带组中的存储条带进行分组,得到所述未回收数据所属的存储条带组;
所述指令生成装置,与所述分类装置通信连接,用于将所述未回收数据所属的存储条带组的存储状态更改为待回收存储状态,并依据所述待回收存储状态和所述未回收数据所属的存储条带组,生成所述空间回收指令。
3.根据权利要求2所述的系统,其特征在于,所述存储列表组包括:数据存储信息表、存储条带信息表和网络硬盘信息表,其中,所述数据存储信息表包括:存储于所述网络硬盘中的数据、所述数据在所述存储条带中的位置、所述数据的大小和所述数据的存储状态;所述存储条带信息表包括:每个存储条带的标识、所述存储条带的属性、所述存储条带所属磁盘的磁盘标识和所述磁盘的存储状态;所述网络硬盘信息表包括:每个磁盘的磁盘标识和每个磁盘的地址信息。
4.根据权利要求3所述的系统,其特征在于,所述查询装置包括:第一查询模块、第二查询模块、状态更新模块和判断模块,其中,
所述第一查询模块,用于依据所述数据存储信息表查询所述待回收数据是否存在,在查询结果为是的情况下,查询所述数据存储信息表中所述待回收数据对应的存储条带组;
所述第二查询模块,与所述第一查询模块通信连接,用于提取所述数据存储信息表中所述待回收数据在所述存储条带中的位置,并依据所述位置查询所述存储条带信息表,得到存储所述待回收数据的存储数据块;
所述状态更新模块,与所述第二查询模块通信连接,用于将所述存储数据块的存储状态标记为待删除;
所述判断模块,与所述状态更新模块通信连接,用于判断在一个存储条带中标记为待删除的存储数据块的数量是否大于或等于预设阈值,在判断结果为是的情况下,标记存储所述待回收数据的存储条带的存储状态为待回收。
5.根据权利要求3所述的系统,其特征在于,所述数据服务器还包括:数据接收装置和状态更新装置,其中,
所述数据接收装置,与所述存储服务器通信连接,用于接收所述空间回收响应信息,其中,所述空间回收响应信息包括:所述未回收数据的数据存储状态和所述待回收数据的数据存储状态,以及所述未回收数据所属存储条带的存储状态和所述待回收数据所属存储条带的存储状态;
所述状态更新装置,与所述数据接收装置通信连接,用于依据接收到的数据存储状态更新所述数据存储信息表,以及依据接收到的存储条带的存储状态更新所述存储条带信息表。
6.根据权利要求3所述的系统,其特征在于,所述存储服务器包括:数据缓存装置、纠删码计算装置和硬盘读写装置,其中,
所述数据缓存装置,分别与所述数据服务器和所述网络硬盘通信连接,用于在接收所述空间回收指令之后,向所述数据服务器发送新的存储条带创建请求,在接收所述数据服务器返回的所述新的存储条带标识后,向所述网络硬盘发送未回收数据反馈请求,并缓存所述网络硬盘返回的未回收数据;
所述纠删码计算装置,与所述数据缓存装置通信连接,用于依据预设纠删码规则,在所述新的存储条带中,为所述未回收数据分配对应的存储数据块;
所述硬盘读写装置,与所述网络硬盘通信连接,用于将所述未回收数据存储至所述新的存储条带中的存储数据块中。
7.根据权利要求6所述的系统,其特征在于,所述存储服务器还包括:状态反馈装置,其中,
所述状态反馈装置,与所述数据服务器通信连接,用于依据存储于所述新的存储条带中的未回收数据的数据存储状态、所述新的存储条带的存储状态、所述待回收数据的数据存储状态和所述待回收数据所属的存储条带组的存储状态生成所述空间回收响应信息,并将所述空间回收响应信息返回所述数据服务器。
8.一种网络硬盘空间的回收方法,其特征在于,包括:
数据服务器接收空间回收请求,其中,所述空间回收请求,用于指示回收待回收数据所属的存储空间;
所述数据服务器查询所述待回收数据对应的预设存储列表组,得到所述待回收数据所属的存储条带组;
所述数据服务器依据所述存储条带组中的未回收数据对所述存储条带组中的存储条带进行分组,得到所述未回收数据所属的存储条带;
所述数据服务器依据所述存储条带生成空间回收指令,并发送所述空间回收指令;
所述数据服务器接收空间回收响应信息。
9.根据权利要求8所述的方法,其特征在于,在所述存储列表组包括数据存储信息表、存储条带信息表和网络硬盘信息表的情况下,所述数据服务器查询所述待回收数据对应的预设的存储列表组,得到所述待回收数据所属的存储条带组包括:
所述数据服务器在所述数据存储信息表中查询所述待回收数据是否存在;
在查询结果为是的情况下,所述数据服务器在所述数据存储信息表中查询所述待回收数据所属的存储条带组;
提取所述待回收数据在所述数据存储信息表中的偏移量;
依据所述偏移量在所述存储条带信息表进行查询,得到所述待回收数据对应的存储数据块。
10.根据权利要求9所述的方法,其特征在于,所述数据服务器依据所述存储条带组中的未回收数据对所述存储条带组中的存储条带进行分组,得到所述未回收数据所属的存储条带包括:
将所述待回收数据所属的存储数据块的存储状态,在所述存储条带信息表中更改为删除;
统计所述存储状态为删除的存储数据块的个数,得到所述未回收数据对应的存储数据块的个数;
依据所述未回收数据对应的存储数据块的个数,得到所述未回收数据对应的存储条带。
11.根据权利要求10所述的方法,其特征在于,在所述得到所述未回收数据对应的存储数据块个数之前,所述方法还包括:
判断所述个数是否大于或等于预设阈值;
在判断结果为是的情况下,标记所述待回收数据对应的存储数据块所属的存储条带的存储状态为待回收。
12.根据权利要求9所述的方法,其特征在于,在所述数据服务器接收返回的空间回收响应信息之前,所述方法还包括:
接收新的存储条带创建请求;
依据所述新的存储条带创建请求,创建新的存储条带标识,并发送所述新的存储条带标识。
13.根据权利要求9所述的方法,其特征在于,在所述空间回收响应信息包括:所述未回收数据的数据存储状态和所述待回收数据的数据存储状态,以及所述未回收数据所属存储条带的存储状态和所述待回收数据所属存储条带的存储状态的情况下,在所述数据服务器接收返回的空间回收响应信息之后,所述方法还包括:
依据接收到的数据存储状态,更新所述数据存储信息表;
依据接收到的存储条带的存储状态,更新所述存储条带信息表。
14.一种网络硬盘空间的回收方法,其特征在于,包括:
存储服务器接收空间回收指令;所述空间回收指令是数据服务器在预先存储的存储列表组中,查询空间回收请求中待回收数据所属的存储条带组的存储属性,并依据未回收数据对所述存储条带组中的存储条带进行分组,根据所述分组和所述存储属性生成的;
所述存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组;
所述存储服务器删除待回收数据,并回收所述待回收数据所属的存储条带组;
所述存储服务器依据存储所述未回收数据所属的所述新的存储条带组的存储属性,生成空间回收响应信息,并发送所述空间回收响应信息。
15.根据权利要求14所述的方法,其特征在于,在所述存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组之前,所述方法还包括:
发送新的存储条带创建请求;
接收返回的新的存储条带标识;
向所述网络硬盘发送未回收数据反馈请求;
缓存所述网络硬盘返回的未回收数据。
16.根据权利要求15所述的方法,其特征在于,所述存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组包括:
依据预设纠删码规则,在所述新的存储条带中,为所述未回收数据新的分配对应的存储数据块;
将所述未回收数据存储至所述新的存储条带中的存储数据块中。
17.根据权利要求16所述的方法,其特征在于,所述存储服务器依据存储所述未回收数据所属的所述新的存储条带组的存储属性生成空间回收响应信息包括:
依据存储于所述新的存储条带中的未回收数据的数据存储状态、所述新的存储条带的存储状态、所述待回收数据的数据存储状态和所述待回收数据所属的存储条带组的存储状态生成所述空间回收响应信息。
18.一种网络硬盘空间的回收装置,其特征在于,包括:
第一接收模块,用于接收空间回收请求,其中,所述空间回收请求,用于指示回收待回收数据所属的存储空间;
查询模块,用于查询所述待回收数据对应的预设存储列表组,得到所述待回收数据所属的存储条带组;
分组模块,用于依据所述存储条带组中的未回收数据对所述存储条带组中的存储条带进行分组,得到所述未回收数据所属的存储条带;
发送模块,用于依据所述存储条带生成空间回收指令,并发送所述空间回收指令;
第二接收模块,用于接收空间回收响应信息。
19.根据权利要求18所述的装置,其特征在于,所述查询模块包括:
第一查询单元,用于在所述存储列表组包括数据存储信息表、存储条带信息表和网络硬盘信息表的情况下,在所述数据存储信息表中查询所述待回收数据是否存在;
第二查询单元,用于在查询结果为是的情况下,在所述数据存储信息表中查询所述待回收数据所属的存储条带组;
提取单元,用于提取所述待回收数据在所述数据存储信息表中的偏移量;
第三查询单元,用于依据所述偏移量在所述存储条带信息表进行查询,得到所述待回收数据对应的存储数据块。
20.根据权利要求19所述的装置,其特征在于,所述分组模块包括:
状态更改单元,用于将所述待回收数据所属的存储数据块的存储状态,在所述存储条带信息表中更改为删除;
第一统计单元,用于统计所述存储状态为删除的存储数据块的个数,得到所述未回收数据对应的存储数据块的个数;
第二统计单元,用于依据所述未回收数据对应的存储数据块的个数,得到所述未回收数据对应的存储条带。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
判断单元,用于在所述得到所述未回收数据对应的存储数据块个数之前,判断所述个数是否大于或等于预设阈值;
标记单元,用于在判断结果为是的情况下,标记所述待回收数据对应的存储数据块所属的存储条带的存储状态为待回收。
22.根据权利要求19所述的装置,其特征在于,所述装置还包括:
第三接收模块,用于在所述数据服务器接收返回的空间回收响应信息之前,接收新的存储条带创建请求;
标识创建模块,用于依据所述新的存储条带创建请求,创建新的存储条带标识;
标识发送模块,用于发送所述新的存储条带标识。
23.根据权利要求19所述的装置,其特征在于,所述装置还包括:
第一状态更新模块,用于在所述空间回收响应信息包括:所述未回收数据的数据存储状态和所述待回收数据的数据存储状态,以及所述未回收数据所属存储条带的存储状态和所述待回收数据所属存储条带的存储状态的情况下,在所述数据服务器接收返回的空间回收响应信息之后,依据接收到的数据存储状态,更新所述数据存储信息表;
第二状态更新模块,用于依据接收到的存储条带的存储状态,更新所述存储条带信息表。
24.一种网络硬盘空间的回收装置,其特征在于,包括:
接收模块,用于接收空间回收指令;所述空间回收指令是数据服务器在预先存储的存储列表组中,查询空间回收请求中待回收数据所属的存储条带组的存储属性,并依据未回收数据对所述存储条带组中的存储条带进行分组,根据所述分组和所述存储属性生成的;
存储模块,用于依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组;
回收模块,用于删除待回收数据,并回收所述待回收数据所属的存储条带组;
信息生成模块,用于依据存储所述未回收数据所属的所述新的存储条带组的存储属性生成空间回收响应信息;
第一发送模块,用于发送所述空间回收响应信息。
25.根据权利要求24所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于在所述存储服务器依据空间回收指令将存储条带组中存储条带中的未回收数据存储至网络硬盘中的新的存储条带组之前,发送新的存储条带创建请求;
标识接收模块,用于接收新的存储条带标识;
请求发送模块,用于向所述网络硬盘发送未回收数据反馈请求;
缓存模块,用于缓存所述网络硬盘返回的未回收数据。
26.根据权利要求25所述的装置,其特征在于,所述存储模块包括:
分配单元,用于依据预设纠删码规则,在所述新的存储条带中,为所述未回收数据新的分配对应的存储数据块;
存储单元,用于将所述未回收数据存储至所述新的存储条带中的存储数据块中。
27.根据权利要求26所述的装置,其特征在于,所述信息生成模块包括:
信息生成单元,用于依据存储于所述新的存储条带中的未回收数据的数据存储状态、所述新的存储条带的存储状态、所述待回收数据的数据存储状态和所述待回收数据所属的存储条带组的存储状态生成所述空间回收响应信息。
CN201610392634.5A 2016-06-03 2016-06-03 网络硬盘空间的回收方法、装置和系统 Active CN107463333B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610392634.5A CN107463333B (zh) 2016-06-03 2016-06-03 网络硬盘空间的回收方法、装置和系统
PCT/CN2016/104494 WO2017206436A1 (zh) 2016-06-03 2016-11-04 网络硬盘空间的回收方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610392634.5A CN107463333B (zh) 2016-06-03 2016-06-03 网络硬盘空间的回收方法、装置和系统

Publications (2)

Publication Number Publication Date
CN107463333A CN107463333A (zh) 2017-12-12
CN107463333B true CN107463333B (zh) 2019-12-20

Family

ID=60478466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610392634.5A Active CN107463333B (zh) 2016-06-03 2016-06-03 网络硬盘空间的回收方法、装置和系统

Country Status (2)

Country Link
CN (1) CN107463333B (zh)
WO (1) WO2017206436A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874182B (zh) * 2018-08-31 2023-12-26 杭州海康威视系统技术有限公司 一种条带索引的处理方法、装置及设备
CN111949434B (zh) * 2019-05-17 2022-06-14 华为技术有限公司 磁盘冗余阵列raid管理方法、raid控制器和系统
CN110568993B (zh) * 2019-08-06 2022-04-12 新华三技术有限公司成都分公司 一种数据更新方法及相关装置
CN111767010B (zh) * 2020-06-30 2023-03-14 杭州海康威视系统技术有限公司 数据处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514098A (zh) * 2012-06-29 2014-01-15 伊姆西公司 用于回收存储空间的方法和系统
US8768898B1 (en) * 2007-04-26 2014-07-01 Netapp, Inc. Performing direct data manipulation on a storage device
CN103902465A (zh) * 2014-03-19 2014-07-02 华为技术有限公司 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973731B (zh) * 2013-01-29 2017-12-29 中兴通讯股份有限公司 一种云存储的回收站管理方法和装置
CN103744798A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 固态硬盘的垃圾回收方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8768898B1 (en) * 2007-04-26 2014-07-01 Netapp, Inc. Performing direct data manipulation on a storage device
CN103514098A (zh) * 2012-06-29 2014-01-15 伊姆西公司 用于回收存储空间的方法和系统
CN103902465A (zh) * 2014-03-19 2014-07-02 华为技术有限公司 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器

Also Published As

Publication number Publication date
WO2017206436A1 (zh) 2017-12-07
CN107463333A (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN107463333B (zh) 网络硬盘空间的回收方法、装置和系统
CN103064639B (zh) 数据存储方法及装置
CN102511044B (zh) 一种数据删除方法及装置
CN110032521B (zh) 增强闪存转换层映射灵活性的方法和系统
CN103154950B (zh) 重复数据删除方法及装置
CN110321301B (zh) 一种数据处理的方法及装置
CN105224546A (zh) 数据存储和查询方法及设备
CN104933051B (zh) 文件存储空间回收方法和装置
CN101606133A (zh) 具有连续逻辑地址空间接口的直接数据文件系统的使用
CN107239526B (zh) 文件系统实现方法、碎片整理方法、操作位置定位方法
CN107786638A (zh) 一种数据处理方法、装置及系统
CN107092439A (zh) 一种数据存储的方法及设备
CN103678337A (zh) 数据清除方法、装置及系统
CN104346357A (zh) 一种嵌入式终端的文件存取方法及系统
CN105938457A (zh) 数据的过滤方法、装置及数据读取系统
CN104268159A (zh) 一种基于动态镜像的实时数据仓库数据预存取方法
CN105677238A (zh) 一种基于分布式存储重复数据删除的虚拟机系统盘的方法
CN105446664A (zh) 一种对存储器进行文件存储方法和存储装置
CN103530067B (zh) 一种数据操作的方法和设备
CN112052193B (zh) 一种垃圾回收方法、装置、可读存储介质及电子设备
CN106528703A (zh) 一种重复删除的模式切换方法及装置
CN113867627A (zh) 一种存储系统性能优化方法及系统
CN102724301A (zh) 云数据库系统以及云数据读写处理方法、设备
CN101655819B (zh) 对半导体存储介质进行空块回收的方法、系统及设备
CN107765992B (zh) 一种处理数据的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant