CN107967117B - 一种数据存储、读取、清理方法、装置及云存储系统 - Google Patents

一种数据存储、读取、清理方法、装置及云存储系统 Download PDF

Info

Publication number
CN107967117B
CN107967117B CN201610911405.XA CN201610911405A CN107967117B CN 107967117 B CN107967117 B CN 107967117B CN 201610911405 A CN201610911405 A CN 201610911405A CN 107967117 B CN107967117 B CN 107967117B
Authority
CN
China
Prior art keywords
resource pool
data
storage
resource
storage block
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
CN201610911405.XA
Other languages
English (en)
Other versions
CN107967117A (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 CN201610911405.XA priority Critical patent/CN107967117B/zh
Priority to US16/343,219 priority patent/US11003367B2/en
Priority to PCT/CN2017/101821 priority patent/WO2018072576A1/zh
Priority to EP17862250.2A priority patent/EP3531264B1/en
Publication of CN107967117A publication Critical patent/CN107967117A/zh
Application granted granted Critical
Publication of CN107967117B publication Critical patent/CN107967117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0608Saving storage space on storage systems
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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/064Management of blocks
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据存储、读取、清理方法、装置及云存储系统,将存储节点中的存储块组成一个一个的资源池,以资源池为单位进行数据的存储、读取和清理,减少了管理的工作量。特别是数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量;判断第一数量是否符合预设数据清理条件;如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对存储块中的数据进行清理,过程简单,减少了管理节点的工作量。

Description

一种数据存储、读取、清理方法、装置及云存储系统
技术领域
本发明涉及云存储技术领域,特别涉及一种数据存储、读取、清理方法、装置及云存储系统。
背景技术
云存储系统中包括管理节点和存储节点,存储节点为存储数据的物理介质,管理节点对系统中各存储节点存储的数据进行管理。
通常情况下,存储节点将自身存储数据的元数据信息上报给管理节点,管理节点根据接收到的元数据信息对各存储节点存储的数据进行管理。比如:
设备需要在存储节点中存储数据时,设备向管理节点发送资源请求,管理节点根据该资源请求及各存储节点上报的元数据信息,为该设备分配存储节点,该设备将数据存储至分配的存储节点中;
设备需要读取存储节点中的数据时,设备向管理节点发送资源查询请求,管理节点根据该资源查询请求及各存储节点上报的元数据信息,确定待读取数据所在的存储节点的路径信息,将该路径信息发送给该设备,该设备根据该路径信息读取待读取数据;
另外,管理节点还可以根据各存储节点上报的元数据信息计算存储节点的剩余容量,当剩余容量低于设定阈值时,向该存储节点发送清理数据的指令,该存储节点将预设时间点之前的数据清理掉,保证存储空间可以重复利用。
在上述方案中,管理节点接收各个存储节点发送的元数据信息,计算各个存储节点的剩余容量,向各个存储节点发送指令,这一过程非常复杂,管理节点的工作量很大。
发明内容
本发明实施例的目的在于提供一种数据存储、读取、清理方法、装置及云存储系统,降低管理节点的工作量。
为达到上述目的,本发明实施例公开了一种数据存储方法,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述方法包括:
接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
可选的,在所述接收第一设备发送的资源请求之后,还可以包括:
根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含所述第一设备是否有在各个资源池中存储数据的权限的信息;
如果是,执行所述根据所述资源请求,为所述第一设备分配第一存储块的步骤。
可选的,所述根据所述资源请求,为所述第一设备分配第一存储块,包括:
判断所述第一资源池是否可用;
如果是,根据所述资源请求,为所述第一设备分配第一存储块;
如果否,确定所述第一资源池所在的第一域,其中,域由多个资源池组成;
根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加所述第一设备在所述第二资源池中存储数据的权限。
为达到上述目的,本发明实施例还公开了一种数据读取方法,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述方法包括:
接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
可选的,在所述确定所述待读取数据所在的目的资源池之后,还可以包括:
根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在所述目标资源池中读取数据的权限;其中,所述第二类权限信息中包含所述第二设备是否有在各个资源池中读取数据的权限;
如果是,执行确定所述待读取数据在所述目的资源池中所在的目的存储块的步骤。
可选的,所述方法还可以包括:
在接收到为预设的第二设备添加在第二资源池中读取数据的权限的指令后,添加所述第二设备在所述第二资源池中读取数据的权限。
为达到上述目的,本发明实施例还公开了一种数据清理方法,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,存储块中的数据根据权利要求1所述的数据存储方法进行存储;所述方法包括:
针对每个资源池,确定所述资源池中被占用的存储块的第一数量;
判断所述第一数量是否符合预设数据清理条件;
如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
可选的,所述判断所述第一数量是否符合预设数据清理条件,可以包括:
判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
或者,根据所述第一数量,计算所述资源池的资源占用率;
判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
可选的,所述根据所述第一数量,计算所述资源池的资源占用率,包括:
统计所述资源池中可用的存储块的第二数量;
根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
可选的,所述向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,可以包括:
确定每个第二存储块中存储数据的最早时刻及最晚时刻;
在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
可选的,所述向每个第二存储块所在的存储节点发送清理数据指令之后,还可以包括:
记录所述清理数据指令的发送时刻;
在所述发送时刻后,每当到达预设时长时,执行所述向每个第二存储块所在的存储节点发送清理数据指令的步骤。
为达到上述目的,本发明实施例还公开了一种数据存储装置,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述装置包括:
第一接收模块,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
分配模块,用于根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
第一发送模块,用于将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
可选的,所述装置还可以包括:
第一判断模块,用于根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含所述第一设备是否有在各个资源池中存储数据的权限的信息;如果是,触发所述分配模块。
可选的,所述分配模块,可以包括:
第一判断子模块,用于判断所述第一资源池是否可用;如果是,触发分配子模块,如果否,触发确定子模块;
所述分配子模块,用于根据所述资源请求,为所述第一设备分配第一存储块;
所述确定子模块,用于确定所述第一资源池所在的第一域,其中,域由多个资源池组成;根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
发送子模块,用于向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加子模块,用于添加所述第一设备在所述第二资源池中存储数据的权限。
为达到上述目的,本发明实施例还公开了一种数据读取装置,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述装置包括:
第二接收模块,用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
第一确定模块,用于确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
第二发送模块,用于将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
可选的,所述装置还可以包括:
第二判断模块,用于根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在所述目标资源池中读取数据的权限;其中,所述第二类权限信息中包含所述第二设备是否有在各个资源池中读取数据的权限;如果是,触发所述第一确定模块。
可选的,所述装置还可以包括:
添加模块,用于在接收到为预设的第二设备添加在第三资源池中读取数据的权限的指令后,添加所述第二设备在所述第三资源池中读取数据的权限。
为达到上述目的,本发明实施例还公开了一种数据清理装置,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,存储块中的数据根据权利要求13所述的数据存储装置进行存储;所述装置包括:
第二确定模块,用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;
第三判断模块,用于判断所述第一数量是否符合预设数据清理条件;如果是,触发第三发送模块;
所述第三发送模块,用于向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
可选的,所述第三判断模块,可以包括:第二判断子模块、或者计算子模块和第三判断子模块,其中,
所述第二判断子模块,用于判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
所述计算子模块,用于根据所述第一数量,计算所述资源池的资源占用率;
所述第三判断子模块,用于判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
可选的,所述计算子模块,具体可以用于:
统计所述资源池中可用的存储块的第二数量;
根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
可选的,所述第三发送模块,具体可以用于:
确定每个第二存储块中存储数据的最早时刻及最晚时刻;
在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
可选的,所述装置还可以包括:
记录模块,用于记录所述清理数据指令的发送时刻;
定时模块,用于在所述发送时刻后,每当到达预设时长时,触发所述第五发送模块。
为达到上述目的,本发明实施例还公开了一种云存储系统,包括:管理节点,多个存储节点,其中,每个存储节点包括M个存储块,N个存储块组成一个资源池;
所述管理节点,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
可选的,所述管理节点,还可以用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
可选的,所述管理节点,还可以用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;判断所述第一数量是否符合预设数据清理条件;如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
应用本发明实施例,将存储节点中的存储块组成一个一个的资源池,以资源池为单位,进行数据的存储、读取和清理,减少了管理的工作量。特别是在数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量;判断第一数量是否符合预设数据清理条件;如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对资源池中的存储块中的数据进行清理,过程简单,减少了管理节点的工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的云存储系统的结构示意图;
图2为本发明实施例提供的数据存储方法的流程示意图;
图3为本发明实施例提供的数据读取方法的流程示意图;
图4为本发明实施例提供的数据清理方法的流程示意图;
图5为本发明实施例提供的数据存储装置的结构示意图;
图6为本发明实施例提供的数据读取装置的结构示意图;
图7为本发明实施例提供的数据清理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明实施例提供了一种数据存储、读取、清理方法、装置及云存储系统。该云存储系统可以如图1所示,包括管理节点和多个存储节点(存储节点1、存储节点2、存储节点3、存储节点3……存储节点N),其中,每个存储节点包括M个存储块,N个存储块组成一个资源池。也就是说,可以利用虚拟化技术,将存储节点虚拟化为一个一个的存储块,N个存储块组成一个资源池,管理节点对每个资源池中的数据进行管理。
当然,该云存储系统也可以包括多个管理节点,在此不做限制。
该数据存储、清理、读取方法及装置应用于该云存储系统中的管理节点。下面首先对本发明实施例提供的数据存储方法进行详细说明。
图2为本发明实施例提供的数据存储方法的流程示意图,包括:
S201:接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息。
第一设备可以为图像采集设备,也可以为用户使用的计算机等其他设备,在此不做限制。当第一设备需要在存储节点中存储数据时,第一设备首先向管理节点发送资源请求,以请求资源池中的存储块来存储数据。需要说明的是,第一设备中可以预先获得资源池的标识信息,并确定自身存储数据的第一资源池的标识信息,将所确定的标识信息携带在资源请求中发送给管理节点。
S202:根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中。
假设第一设备发送的资源请求中携带的第一资源池的标识信息为1,也就是说,第一资源池为资源池1。管理节点在资源池1中为第一设备分配第一存储块。假设资源池1中包括20个存储块,管理节点为第一设备分配的第一存储块为存储块5。
S203:将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
延续上面的例子,管理节点将存储块5的路径信息发送给第一设备,第一设备根据存储块5的路径信息,将待存储数据存储至资源池1中的存储块5。
作为本发明的一种实施方式,管理节点中可以存储有第一类权限信息,该第一类权限信息中可以包含第一设备是否有在各个资源池中存储数据的权限的信息;这样,管理节点在接收到第一设备发送的资源请求后,可以先根据该第一类权限信息,判断第一设备是否有在第一资源池中存储数据的权限;如果有,再为第一设备分配第一存储块,如果没有,则可以不作处理,或者向第一设备反馈类似于“没有权限”之类的提示信息。
假设管理节点存储的第一类权限信息中针对第一设备存储数据的权限为:第一设备可以在资源池1和资源池2中存储数据。管理节点在接收到第一设备发送的资源请求之后,判断第一设备有在第一资源池(即资源池1)中存储数据的权限;这种情况下,管理节点执行上述S202及S203。
上述权限可以理解为一种绑定关系,比如,将第一设备与资源池1和资源池2进行绑定,第一设备存储的数据只存储在资源池1和资源池2中,这样,管理节点中便可以存储第一设备可以在资源池1和资源池2中存储数据的权限。这种绑定关系可以根据实际需求进行设定。建立设备与资源池的绑定关系,可以对设备能够存储数据的数据量进行控制。
作为本发明的一种实施方式,管理节点为第一设备分配第一存储块的过程,可以包括:
判断所述第一资源池是否可用;
如果是,根据所述资源请求,为所述第一设备分配第一存储块;
如果否,确定所述第一资源池所在的第一域,其中,域由多个资源池组成;
根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加所述第一设备在所述第二资源池中存储数据的权限。
需要说明的是,在本实施方式中,可以将多个资源池划分为一个域。具体的划分方式可以有多种,比如,将属于同一网段的资源池划分为一个域,或者根据地理区域进行划分等等,在此不作限定。
当第一设备请求的第一资源池不可用时,管理节点确定第一资源池所在的域,这里将其称为第一域。通常情况下,如果第一资源池不可用,则第一域内的资源池大部分都不可用。
因此,管理节点可以根据预设规则,确定第一域对应的目的域。具体的,可以在与第一域相邻或相近的域中确定一个目的域。假设第一资源池所在的域为域A,域A与域B所在的地理区域最接近,这时,可以将域B确定为目的域。当然,预设规则也可以为其他,比如,将与域A在相邻网段的其他域确定为目的域等,在此不做限定。
管理节点在域B中确定第二资源池,向第一设备发送提示信息,该提示信息中携带有第二资源池的标识信息。另外,管理节点还需要添加第一设备与第二资源池的绑定关系,也就是在管理节点存储的第一类权限信息中添加第一设备在第二资源池中存储数据的权限。
应用本实施方式,可以控制存储数据时的离散度,即使出现请求的资源池不可用的情况时,也能保证将数据存储在与请求的资源池相邻或相近的域内,避免了数据过度离散对网络造成额外的压力。
应用本发明图2所示实施例,将存储节点中的存储块组成一个一个的资源池,管理节点以资源池为单位,对每个资源池中的数据进行管理,管理方便。
图3为本发明实施例提供的数据读取方法的流程示意图,包括:
S301:接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息。
第二设备可以为用户使用的计算机或其他终端设备,在此不做限制。当第二设备需要读取数据时,第二设备首先向管理节点发送资源查询请求,以请求待读取数据的存储位置。该资源查询请求中需要携带待读取数据的标识信息,这样,管理节点才能根据该标识信息,确定待读取数据的存储位置。
S302:确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块。
如上所述,管理节点根据接收到的资源查询请求中携带的待读取数据的标识信息,确定该待读取数据所在的目的资源池及目的存储块。假设目的资源池为资源池1,目的存储块为资源池1中的存储块5。
作为一种实施方式,管理节点中可以存储有第二类权限信息,该第二类权限信息中可以包含第二设备是否有在各个资源池中读取数据的权限。这样,管理节点确定出目的资源池后,可以先根据该第二类权限信息判断第二设备是否有在所述目标资源池中读取数据的权限,如果有,再继续确定目的存储块,如果没有,则可以不作处理,或者向第二设备反馈类似于“没有权限”之类的提示信息。
上述权限可以理解为一种绑定关系,比如,将第二设备与资源池1、资源池2、资源池3和资源池4进行绑定,第一设备可以读取这4个资源池中的数据,这样,管理节点中便可以存储第二设备可以在资源池1、资源池2、资源池3和资源池4中读取数据的权限。这种绑定关系可以根据实际需求进行设定。
需要说明的是,图3实施例中的绑定关系与图2实施例中的绑定关系可以不同,也就是说,设备在资源池中存储数据的权限与读取数据的权限可以不同,比如,某设备可以读取资源池3中的数据,但是不能在资源池3中存储数据。
作为一种实施方式,管理节点可以对自身存储的第二设备在资源池中读取数据的权限进行修改。具体的,管理节点可以在为预设的第二设备添加在第二资源池中读取数据的权限的指令后,添加所述第二设备在所述第二资源池中读取数据的权限。
也就是说,如果出现图2实施例中管理节点为设备添加存储数据权限的情况,那么相应的,该设备对应的读取数据的权限也应当对应修改。
举例来说,假设管理节点中原本存储的第二类权限信息中关于设备A的权限为:设备A可以在资源池1和资源池2中存储数据,可以在资源池1、资源池2、资源池3和资源池4中读取数据。之后,管理节点又添加了设备A可以在资源池5中存储数据的权限,那么,管理节点也应当在其存储的第二类权限信息中添加设备A可以在资源池5中读取数据的权限。或者,添加设备A及其他设备在资源池5中读取数据的权限。这里的“其他设备”可以为预先设定的其他可以在资源池5中读取数据的设备,添加的具体权限可以根据实际需求确定,在此不做限制。
S303:将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
延续上述例子,假设目的资源池为资源池1,目的存储块为资源池1中的存储块5,管理节点将资源池1及存储块5的第二路径信息发送给第二设备。第二设备从资源池1中的存储块5中读取该待读取数据。
应用本发明图3所示实施例,将存储节点中的存储块组成一个一个的资源池,管理节点以资源池为单位,对每个资源池中的数据进行管理,管理方便。
图4为本发明实施例提供的数据清理方法的流程示意图,包括:
S401:针对每个资源池,确定所述资源池中被占用的存储块的第一数量。
在本发明所示实施例中,可以利用虚拟化技术,将存储节点虚拟化为一个一个的存储块,每个存储块的容量可以相同,比如,每个存储块容量均为64MB,当然也可以为其他,也可以不同,在此不做限定。N个存储块组成一个资源池。存储节点可以将自身使用信息定时上报给管理节点,该使用信息可以包括该存储节点中包括的每个存储块的标识、被占用的存储块的标识等等。
管理节点根据存储节点上报的信息,确定每个资源池中被占用的存储块的第一数量。
S402:判断所述第一数量是否符合预设数据清理条件,如果是,执行S403。
作为一种实施方式,可以判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件。第一预设阈值可以根据实际需求进行设定。
作为另一种实施方式,根据所述第一数量,计算所述资源池的资源占用率;判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
需要说明的是,可能存在这样一种情况,某个资源池包含的存储块中被占用的存储块并不多,但是该资源池中大多存储块不可用,这样,也应该对该资源池进行清理。
这种情况下,可以统计所述资源池中可用的存储块的第二数量;根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。第二预设阈值可以根据实际需求进行设定。
当然,还可以采用其他方式判断资源池是否需要清理,比如,当每个存储块的容量为64MB时,可以通过第一数量*64MB得到第一资源池中已占用的容量,第一资源池包含的存储块的数量*64MB得到第一资源池的总容量,总容量与已占用的容量之差可以作为第一资源池的剩余容量,可以针对该剩余容量设定阈值,当该剩余容量小于设定的阈值时,则判断资源池需要清理。其他方式不做限制。
S403:向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
如上所述,存储节点将自身被占用的存储块的标识上报给管理节点,管理节点便可以确定资源池中每个被占用的第二存储块,也可以确定第二存储块所在的存储节点。管理节点向每个第二存储块所在的存储节点发送清理数据指令,存储节点在接收到该指令后,清理第二存储块中存储的数据。
存储节点向管理节点上报的信息中还可以包括存储节点自身包括的每个存储块中存储数据的最早时刻及最晚时刻,这样,管理节点在确定出被占用的第二存储块后,可以确定每个第二存储块中存储数据的最早时刻及最晚时刻。
假设管理节点确定出资源池1中被占用的存储块为存储块3、存储块6和存储块10,并确定出存储块3中存储数据的最早时刻为2015年8月10日、最晚时刻为2016年8月9日,存储块6中存储数据的最早时刻为2016年1月1日、最晚时刻为2016年8月15日,存储块10中存储数据的最早时刻为2015年5月4日、最晚时刻为2016年7月6日。
管理节点可以在最早时刻及最晚时刻对应的时间段中,确定目标时刻。具体确定方式可以有多种,比如,将最早时刻与最晚时刻的中间时刻确定为目标时刻,或者将最早时刻之后的几个月中某一时刻确定为目标时刻,或者将最晚时刻之前的几个月中某一时刻确定为目标时刻等等,在此不做限定。
假设将最早时刻之后4个月的时刻确定为目标时刻,则确定存储块3的目标时刻为2015年12月10日,存储块6中存储数据的目标时刻为2016年5月1日,存储块10中存储数据的目标时刻为2015年9月4日。
管理节点向存储块3、存储块6和存储块10所在的存储节点分别发送清理数据指令。其中,向存储块3所在的存储节点发送的清理数据指令中携带的目标时刻为2015年12月10日,存储块3所在的存储节点将存储块3中2015年12月10日之前存储的数据删除。类似的,向存储块6所在的存储节点发送的清理数据指令中携带的目标时刻为2016年5月1日,存储块6所在的存储节点将存储块6中2016年5月1日之前存储的数据删除;向存储块10所在的存储节点发送的清理数据指令中携带的目标时刻为2015年9月4日,存储块10所在的存储节点将存储块10中2015年9月4日之前存储的数据删除。
作为本发明的一种实施方式,管理节点可以记录每个清理数据指令的发送时刻;在该发送时刻后,每当到达预设时长时,向该发送时刻对应的第二存储块所在的存储节点发送清理数据指令。
以存储块3为例,管理节点在向存储块3所在的存储节点发送清理数据指令后,记录该指令的发送时刻,假设为2016年8月17日,另外,假设预设时长为一个月,则管理节点每隔一个月,向存储块3所在的存储节点发送清理数据指令,使该存储节点对存储块3中存储的数据进行清理。
应用本发明图4所示实施例,将存储节点中的存储块组成一个一个的资源池,以资源池为单位,进行数据的存储、读取和清理,减少了管理的工作量。特别是在数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量;判断第一数量是否符合预设数据清理条件;如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对资源池中的存储块中的数据进行清理,过程简单,减少了管理节点的工作量。
与上述方法实施例相对应,本发明还提供一种数据存储、清理、读取装置。
图5为本发明实施例提供的数据存储装置的结构示意图,包括:
第一接收模块501,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
分配模块502,用于根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
第一发送模块503,用于将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
在本实施例中,所述装置还可以包括:
第一判断模块(图中未示出),用于根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含第一设备是否有在各个资源池中存储数据的权限的信息;如果是,触发分配模块502。
在本实施例中,分配模块502,可以包括:第一判断子模块、分配子模块、确定子模块、发送子模块和添加子模块(图中未示出),其中,
第一判断子模块,用于判断所述第一资源池是否可用;如果是,触发分配子模块,如果否,触发确定子模块;
所述分配子模块,用于根据所述资源请求,为所述第一设备分配第一存储块;
所述确定子模块,用于确定所述第一资源池所在的第一域,其中,域由多个资源池组成;根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
发送子模块,用于向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加子模块,用于添加所述第一设备在所述第二资源池中存储数据的权限。
应用本发明图5所示实施例,将存储节点中的存储块组成一个一个的资源池,管理节点以资源池为单位,对每个资源池中的数据进行管理,管理方便。
图6为本发明实施例提供的数据读取装置的结构示意图,包括:
第二接收模块601,用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
第一确定模块602,用于确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
第二发送模块603,用于将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
在本实施例中,所述管理节点中存储有第二设备在资源池中读取数据的权限;所述装置还可以包括:
第二判断模块(图中未示出),用于根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在所述目标资源池中读取数据的权限;其中,所述第二类权限信息中包含第二设备是否有在各个资源池中读取数据的权限;如果是,触发第一确定模块602。
在本实施例中,所述装置还可以包括:
添加模块(图中未示出),用于在接收到为预设的第二设备添加在第三资源池中读取数据的权限的指令后,添加所述第二设备在所述第三资源池中读取数据的权限。
应用本发明图6所示实施例,将存储节点中的存储块组成一个一个的资源池,管理节点以资源池为单位,对每个资源池中的数据进行管理,管理方便。
图7为本发明实施例提供的数据清理装置的结构示意图,包括:
第二确定模块701,用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;
第三判断模块702,用于判断所述第一数量是否符合预设数据清理条件;如果是,触发第五发送模块703;
第三发送模块703,用于向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
在本实施例中,第三判断模块702,可以包括:第二判断子模块、或者计算子模块和第三判断子模块(图中未示出),其中,
所述第二判断子模块,用于判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
所述计算子模块,用于根据所述第一数量,计算所述资源池的资源占用率;
所述第三判断子模块,用于判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
在本实施例中,所述计算子模块,具体可以用于:
统计所述资源池中可用的存储块的第二数量;
根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
在本实施例中,第三发送模块703,具体可以用于:
确定每个第二存储块中存储数据的最早时刻及最晚时刻;
在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
在本实施例中,所述装置还可以包括:记录模块和定时模块(图中未示出),其中,
记录模块,用于记录所述清理数据指令的发送时刻;
定时模块,用于在所述发送时刻后,每当到达预设时长时,触发第五发送模块703。
应用本发明图7所示实施例,将存储节点中的存储块组成一个一个的资源池,以资源池为单位,进行数据的存储、读取和清理,减少了管理的工作量。特别是在数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量;判断第一数量是否符合预设数据清理条件;如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对资源池中的存储块中的数据进行清理,过程简单,减少了管理节点的工作量。
本发明实施例还提供一种云存储系统,如图1所示,包括:管理节点,多个存储节点(存储节点1、存储节点2、存储节点3、存储节点3……存储节点N),当然,该云存储系统也可以包括多个管理节点,在此不做限制。每个存储节点包括M个存储块,N个存储块组成一个资源池。
所述管理节点,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
在本实施例中,所述管理节点,还可以用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
在本实施例中,所述管理节点,还可以用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;判断所述第一数量是否符合预设数据清理条件;如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
应用本发明所示实施例,将存储节点中的存储块组成一个一个的资源池,以资源池为单位,进行数据的存储、读取和清理,减少了管理的工作量。特别是在数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量;判断第一数量是否符合预设数据清理条件;如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对资源池中的存储块中的数据进行清理,过程简单,减少了管理节点的工作量。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (25)

1.一种数据存储方法,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述方法包括:
接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
2.根据权利要求1所述的方法,其特征在于,在所述接收第一设备发送的资源请求之后,还包括:
根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含所述第一设备是否有在各个资源池中存储数据的权限的信息;
如果是,执行所述根据所述资源请求,为所述第一设备分配第一存储块的步骤。
3.根据权利要求2所述的方法,其特征在于,所述根据所述资源请求,为所述第一设备分配第一存储块,包括:
判断所述第一资源池是否可用;
如果是,根据所述资源请求,为所述第一设备分配第一存储块;
如果否,确定所述第一资源池所在的第一域,其中,域由多个资源池组成;
根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加所述第一设备在所述第二资源池中存储数据的权限。
4.一种数据读取方法,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述方法包括:
接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
5.根据权利要求4所述的方法,其特征在于,在所述确定所述待读取数据所在的目的资源池之后,还包括:
根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在目标资源池中读取数据的权限;其中,所述第二类权限信息中包含所述第二设备是否有在各个资源池中读取数据的权限;
如果是,执行确定所述待读取数据在所述目的资源池中所在的目的存储块的步骤。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在接收到为预设的第二设备添加在第二资源池中读取数据的权限的指令后,添加所述第二设备在所述第二资源池中读取数据的权限。
7.一种数据清理方法,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,存储块中的数据根据权利要求1所述的数据存储方法进行存储;所述方法包括:
针对每个资源池,确定所述资源池中被占用的存储块的第一数量;
判断所述第一数量是否符合预设数据清理条件;
如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
8.根据权利要求7所述的方法,其特征在于,所述判断所述第一数量是否符合预设数据清理条件,包括:
判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
或者,根据所述第一数量,计算所述资源池的资源占用率;
判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一数量,计算所述资源池的资源占用率,包括:
统计所述资源池中可用的存储块的第二数量;
根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
10.根据权利要求7所述的方法,其特征在于,所述向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,包括:
确定每个第二存储块中存储数据的最早时刻及最晚时刻;
在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
11.根据权利要求7所述的方法,其特征在于,所述向每个第二存储块所在的存储节点发送清理数据指令之后,还包括:
记录所述清理数据指令的发送时刻;
在所述发送时刻后,每当到达预设时长时,执行所述向每个第二存储块所在的存储节点发送清理数据指令的步骤。
12.一种数据存储装置,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述装置包括:
第一接收模块,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
分配模块,用于根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
第一发送模块,用于将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第一判断模块,用于根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含所述第一设备是否有在各个资源池中存储数据的权限的信息;如果是,触发所述分配模块。
14.根据权利要求13所述的装置,其特征在于,所述分配模块,包括:
第一判断子模块,用于判断所述第一资源池是否可用;如果是,触发分配子模块,如果否,触发确定子模块;
所述分配子模块,用于根据所述资源请求,为所述第一设备分配第一存储块;
所述确定子模块,用于确定所述第一资源池所在的第一域,其中,域由多个资源池组成;根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
发送子模块,用于向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加子模块,用于添加所述第一设备在所述第二资源池中存储数据的权限。
15.一种数据读取装置,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述装置包括:
第二接收模块,用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
第一确定模块,用于确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
第二发送模块,用于将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在目标资源池中读取数据的权限;其中,所述第二类权限信息中包含所述第二设备是否有在各个资源池中读取数据的权限;如果是,触发所述第一确定模块。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
添加模块,用于在接收到为预设的第二设备添加在第三资源池中读取数据的权限的指令后,添加所述第二设备在所述第三资源池中读取数据的权限。
18.一种数据清理装置,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,存储块中的数据根据权利要求13所述的数据存储装置进行存储;所述装置包括:
第二确定模块,用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;
第三判断模块,用于判断所述第一数量是否符合预设数据清理条件;如果是,触发第三发送模块;
所述第三发送模块,用于向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
19.根据权利要求18所述的装置,其特征在于,所述第三判断模块,包括:第二判断子模块、或者计算子模块和第三判断子模块,其中,
所述第二判断子模块,用于判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
所述计算子模块,用于根据所述第一数量,计算所述资源池的资源占用率;
所述第三判断子模块,用于判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
20.根据权利要求19所述的装置,其特征在于,所述计算子模块,具体用于:
统计所述资源池中可用的存储块的第二数量;
根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
21.根据权利要求18所述的装置,其特征在于,所述第三发送模块,具体用于:
确定每个第二存储块中存储数据的最早时刻及最晚时刻;
在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
22.根据权利要求18所述的装置,其特征在于,所述装置还包括:
记录模块,用于记录所述清理数据指令的发送时刻;
定时模块,用于在所述发送时刻后,每当到达预设时长时,触发第五发送模块。
23.一种云存储系统,其特征在于,包括:管理节点,多个存储节点,其中,每个存储节点包括M个存储块,N个存储块组成一个资源池;
所述管理节点,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
24.根据权利要求23所述的系统,其特征在于,
所述管理节点,还用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
25.根据权利要求23所述的系统,其特征在于,
所述管理节点,还用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;判断所述第一数量是否符合预设数据清理条件;如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
CN201610911405.XA 2016-10-20 2016-10-20 一种数据存储、读取、清理方法、装置及云存储系统 Active CN107967117B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610911405.XA CN107967117B (zh) 2016-10-20 2016-10-20 一种数据存储、读取、清理方法、装置及云存储系统
US16/343,219 US11003367B2 (en) 2016-10-20 2017-09-15 Data storage, reading, and cleansing method and device, and cloud storage system
PCT/CN2017/101821 WO2018072576A1 (zh) 2016-10-20 2017-09-15 一种数据存储、读取、清理方法、装置及云存储系统
EP17862250.2A EP3531264B1 (en) 2016-10-20 2017-09-15 Data storage, reading, and cleansing method and device, and cloud storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610911405.XA CN107967117B (zh) 2016-10-20 2016-10-20 一种数据存储、读取、清理方法、装置及云存储系统

Publications (2)

Publication Number Publication Date
CN107967117A CN107967117A (zh) 2018-04-27
CN107967117B true CN107967117B (zh) 2020-10-20

Family

ID=61996393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610911405.XA Active CN107967117B (zh) 2016-10-20 2016-10-20 一种数据存储、读取、清理方法、装置及云存储系统

Country Status (4)

Country Link
US (1) US11003367B2 (zh)
EP (1) EP3531264B1 (zh)
CN (1) CN107967117B (zh)
WO (1) WO2018072576A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625258B2 (en) * 2017-10-31 2023-04-11 Nokia Solutions And Networks Oy Method, apparatus and system for real-time virtual network function orchestration
CN111061423B (zh) * 2018-10-17 2023-09-26 杭州海康威视系统技术有限公司 一种数据处理方法、装置和管理节点
CN111221468B (zh) * 2018-11-26 2023-10-13 杭州海康威视系统技术有限公司 存储块数据删除方法、装置、电子设备及云存储系统
CN111522805B (zh) * 2020-04-23 2023-05-02 中国银行股份有限公司 分布式批量数据清理方法及系统
CN115271938A (zh) * 2022-06-16 2022-11-01 芯华章科技股份有限公司 一种交易数据的处理方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526521B1 (en) * 1999-06-18 2003-02-25 Emc Corporation Methods and apparatus for providing data storage access
US9325791B1 (en) * 2013-03-12 2016-04-26 Western Digital Technologies, Inc. Cloud storage brokering service

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100583832C (zh) * 2007-03-30 2010-01-20 华为技术有限公司 数据管理方法及系统
US7904690B2 (en) * 2007-12-14 2011-03-08 Netapp, Inc. Policy based storage appliance virtualization
US20140081911A1 (en) * 2011-01-10 2014-03-20 Netapp, Inc. Optimizing automatic deletion of backup files
US8595460B2 (en) * 2011-08-26 2013-11-26 Vmware, Inc. Configuring object storage system for input/output operations
CN105843557B (zh) * 2016-03-24 2019-03-08 天津书生云科技有限公司 冗余存储系统、冗余存储方法和冗余存储装置
CN103257958B (zh) * 2012-02-16 2016-01-20 中兴通讯股份有限公司 一种基于云存储的翻译方法及系统
US8942715B2 (en) * 2012-08-02 2015-01-27 Apple Inc. Distributed computing in a wireless communication system
US8589659B1 (en) 2012-11-08 2013-11-19 DSSD, Inc. Method and system for global namespace with consistent hashing
US9411973B2 (en) * 2013-05-02 2016-08-09 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a security gateway
US9489387B2 (en) 2014-01-15 2016-11-08 Avigilon Corporation Storage management of data streamed from a video source device
US10067722B2 (en) * 2014-07-02 2018-09-04 Hedvig, Inc Storage system for provisioning and storing data to a virtual disk
CN105338027B (zh) * 2014-07-30 2019-01-25 杭州海康威视系统技术有限公司 进行视频数据云存储的方法、系统及装置
CN104253865B (zh) * 2014-09-18 2017-06-06 华南理工大学 一种混合型桌面云服务平台的两级管理方法
CN104618482B (zh) * 2015-02-02 2019-07-16 浙江宇视科技有限公司 访问云数据的方法、服务器、传统存储设备、系统
US20170063708A1 (en) * 2015-09-01 2017-03-02 International Business Machines Corporation Resource exchange service transaction for cloud computing
CN105630419B (zh) * 2015-12-25 2018-09-21 华为技术有限公司 一种资源池的分区视图发送方法及管理节点

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526521B1 (en) * 1999-06-18 2003-02-25 Emc Corporation Methods and apparatus for providing data storage access
US9325791B1 (en) * 2013-03-12 2016-04-26 Western Digital Technologies, Inc. Cloud storage brokering service

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"云存储";薛一波 等;《中兴通讯技术》;20120210(第01期);第57-60页 *
"云平台构架浅析";董飞宇;《中国新通信》;20151220(第24期);第46页 *
"虚拟资源池设计及应用";朱晓静;《科技与企业》;20140722(第14期);第165页 *

Also Published As

Publication number Publication date
EP3531264B1 (en) 2023-06-07
EP3531264A4 (en) 2020-03-04
US11003367B2 (en) 2021-05-11
US20190250836A1 (en) 2019-08-15
EP3531264A1 (en) 2019-08-28
CN107967117A (zh) 2018-04-27
WO2018072576A1 (zh) 2018-04-26

Similar Documents

Publication Publication Date Title
CN107967117B (zh) 一种数据存储、读取、清理方法、装置及云存储系统
CN110300134B (zh) 云存储资源池的存储空间调整方法、装置及云存储系统
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
EP3419247B1 (en) Method and device for storage resource allocation for video cloud storage
CN102217256A (zh) 队列调度的方法和装置
CN106470163B (zh) 一种信息处理方法、装置和系统
CN102650931A (zh) 一种写入数据的方法及系统
CN105338297A (zh) 一种视频数据存储及回放系统、装置和方法
CN103324533A (zh) 分布式数据处理方法、装置及系统
CN109308269B (zh) 一种内存管理方法及装置
CN104301257A (zh) 一种资源分配方法、装置及设备
CN111857597A (zh) 一种热点数据缓存方法、系统及相关装置
CN110636388A (zh) 一种业务请求分配方法、系统、电子设备及存储介质
CN114816241A (zh) 分布式存储集群的磁盘分配方法、装置及分布式存储集群
CN108536525B (zh) 一种宿主机调度方法及装置
CN109977074B (zh) 一种基于hdfs的lob数据处理方法及装置
WO2016206441A1 (zh) 一种虚拟资源分配方法及装置、计算机存储介质
CN111143071A (zh) 基于mcs系统的缓存分区管理方法、系统及相关组件
CN109150792B (zh) 一种提高数据存储安全性方法及装置
CN115756955A (zh) 一种数据备份、数据恢复的方法、装置及计算机设备
CN109445996B (zh) 一种分配io流的方法、系统及相关组件
CN104881245A (zh) 存储系统的配置方法及配置装置
CN110968406A (zh) 处理任务的方法、装置、存储介质和处理器
CN106610967B (zh) 对nas设备中视频数据的读写方法及装置
CN113568754A (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