CN111399754A - 存储空间的释放方法、装置及分布式*** - Google Patents

存储空间的释放方法、装置及分布式*** Download PDF

Info

Publication number
CN111399754A
CN111399754A CN201910826429.9A CN201910826429A CN111399754A CN 111399754 A CN111399754 A CN 111399754A CN 201910826429 A CN201910826429 A CN 201910826429A CN 111399754 A CN111399754 A CN 111399754A
Authority
CN
China
Prior art keywords
time point
reference time
target reference
storage
server
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.)
Granted
Application number
CN201910826429.9A
Other languages
English (en)
Other versions
CN111399754B (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 System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System 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 System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201910826429.9A priority Critical patent/CN111399754B/zh
Publication of CN111399754A publication Critical patent/CN111399754A/zh
Application granted granted Critical
Publication of CN111399754B publication Critical patent/CN111399754B/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/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/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/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)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供的一种存储空间的释放方法、装置及分布式***。其中,一种分布式***,包括:管理服务器,用于在检测到分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中选择作为删除依据的目标参考时间点;获取辅助时钟当前的时间点作为辅助时间点;将目标参考时间点以及辅助时间点发送给述分布式***中的每个存储服务器;存储服务器,用于接收目标参考时间点和辅助时间点;利用存储服务器自身的当前***时间和辅助时间点之间的差异值,对目标参考时间点进行纠偏,得到纠偏后的目标参考时间点;从已存储的子对象中,删除本地存储时间点与纠偏后的目标参考时间点匹配的子对象。本方案可以提高存储空间的释放准确度。

Description

存储空间的释放方法、装置及分布式***
技术领域
本发明涉及数据存储技术领域,特别是涉及一种存储空间的释放方法、装置及分布式***。
背景技术
为了方便对海量数据的存储和管理,越来越多的分布式***对数据进行对象存储,以实现兼顾资源集中管理和分布式共享的效果。在进行对象存储时,对于用户角度的一个完整数据,例如,一个文件夹或者一部视频等等,上传至存储***后,被管理服务器作为一个Object(对象)并将该对象切分为多个子对象,将切分得到的子对象分配给各个存储服务器进行存储。而由于分布式***的各个存储服务器的分布位置不同,不同存储服务器的***时间可能不同,因此,为了保证空间释放过程中管理服务器能够以统一的存储时间通知各个存储服务,通常设置一个能够统一各个存储服务器的***时间的辅助时钟。具体可以为:管理服务器根据所有存储服务器的***时间,确定一个统一的时间点,将该统一的时间点作为辅助时钟的初始时间点,并且按预设时钟递增规则,该辅助时钟的时间点持续递增。每完成一次对象存储,管理服务器将该辅助时钟的当前时间点,记录为所存储对象的参考时间点,该参考时间点为所存储对象的各个存储在存储服务器中的子对象的统一存储时间点。
基于上述辅助时钟,相关技术中,在释放存储空间时,管理服务器下发作为删除依据的目标参考时间点,给各个存储服务器。相应的,各个存储服务器将所接收到的目标参考时间点,作为检索依据,检索本地存储的子对象,并删除检索到的子对象。
但是,由于分布式***中某些存储服务器与其他存储服务器的***时间之间差异较大,可能会导致管理服务器所记录的参考时间点与该某些服务器相应的本地存储时间点的差异比较大,造成该某些服务器利用目标参考时间点进行空间释放时,可能对所存储的子对象进行错误删除。
因此,如何减少对所存储的子对象的错误删除,提高存储空间的释放准确度,是亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种存储空间的释放方法、装置及分布式***,以实现减少对所存储的对象的单元的错误删除,提高存储空间的释放准确度的效果。具体技术方案如下:
第一方面,本发明实施例提供了一种分布式***,该***包括:
管理服务器,用于在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点;获取辅助时钟当前的时间点,作为辅助时间点;将所述目标参考时间点、以及所述辅助时间点发送给所述分布式***中的每个存储服务器;
所述存储服务器,用于接收所述目标参考时间点和所述辅助时间点;利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点;从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
第二方面,本发明实施例提供了一种存储空间的释放方法,,应用于分布式***的存储服务器,该方法包括:
接收所述分布式***的管理服务器发送的目标参考时间点和辅助时间点;所述目标参考时间点为所述管理服务器在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择的作为删除依据的目标参考时间点;所述辅助时间点为所述管理服务器在确定所述目标参考时间点后,获取的辅助时钟的当前的时间点;
利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点;
从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
第三方面,本发明实施例提供了一种存储空间的释放方法,应用于分布式***的管理服务器,该方法包括:
在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点;
获取辅助时钟当前的时间点,作为辅助时间点;
将所述目标参考时间点、以及所述辅助时间点发送给所述分布式***中的每个存储服务器,以使得所述存储服务器在接收到所述目标参考时间点和所述辅助时间点后,利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点,并从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
第四方面,本发明实施例提供了一种存储空间的释放装置,应用于分布式***的存储服务器,该装置包括:
接收模块,用于接收所述分布式***的管理服务器发送的目标参考时间点和辅助时间点;所述目标参考时间点为所述管理服务器在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择的作为删除依据的目标参考时间点;所述辅助时间点为所述管理服务器在确定所述目标参考时间点后,获取的辅助时钟的当前的时间点;
纠偏模块,用于利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点;
删除模块,用于从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
第五方面,本发明实施例提供了一种存储空间的释放装置,应用于分布式***的管理服务器,该装置包括:
时间点确定模块,用于在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点;获取辅助时钟当前的时间点,作为辅助时间点;
发送模块,用于将所述目标参考时间点、以及所述辅助时间点发送给所述分布式***中的每个存储服务器,以使得所述存储服务器在接收到所述目标参考时间点和所述辅助时间点后,利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点,并从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
第六方面,本发明实施例提供了一种存储服务器,该存储服务器包括:
处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现上述第二方面提供的存储空间的释放方法的步骤。
第七方面,本发明实施例提供了一种管理服务器,该管理服务器包括:
处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现上述第三方面提供的存储空间的释放方法的步骤。
第八方面,本发明实施例提供了一种计算机可读存储介质,包含于存储服务器,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述第二方面提供的存储空间的释放方法的步骤。
第九方面,本发明实施例提供了一种计算机可读存储介质,包含于管理服务器,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述第三方面提供的存储空间的释放方法的步骤。
本发明实施例提供的方案中,辅助时钟的初始时间点,是根据所有存储服务器的***时间得到的,作为删除依据的参考时间点是辅助时钟的时间点;并且,子对象在存储服务器中的本地存储时间点是完成子对象的存储时存储服务器的***时间。因此,存储服务器的当前***时间和作为辅助时间点的辅助时钟当前的时间点之间的差异值,能够反映目标参考时间点和子对象的本地存储时间点之间的差异值,可以用于对目标参考时间点进行纠偏;从而保证纠偏后的目标参考时间点与目标参考时间点相比,纠正了和存储服务器的***时间之间的差异。因此,对于分布式***中,各个存储服务器的***时间存在较大差异的情况,进行存储空间的释放时,利用纠偏后的目标参考时间点进行已存储的子对象的删除,能够保证纠偏后的目标参考时间点和子对象的本地存储时间点之间的差异值,与目标参考时间点和子对象的本地存储时间点之间的差异值相比更小,从而减少目标参考时间点与子对象在存储服务器中的本地存储时间点差异较大所导致的子对象的删除错误,提高存储空间的释放准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一实施例提供的分布式***的结构示意图;
图2为本发明一实施例提供的存储空间的释放方法的流程示意图;
图3为本发明另一实施例提供的存储空间的释放方法的流程示意图;
图4为本发明一实施例提供的存储空间的释放装置的结构示意图;
图5为本发明另一实施例提供的存储空间的释放装置的结构示意图;
图6为本发明一实施例提供的存储服务器的结构示意图;
图7为本发明一实施例提供的管理服务器的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
分布式***中某些存储服务器与其他存储服务器的***时间之间差异较大,可能会导致管理服务器所记录的参考时间点与该某些服务器相应的本地存储时间点的差异比较大,造成该某些服务器利用目标参考时间点进行空间释放时,可能对所存储的子对象进行错误删除。例如,某一对象Ob1的某个子对象SOb1在存储服务器的本地存储时间点大于管理服务器记录的对象Ob1的参考时间点RT1,将该对象Ob1的参考时间点确定为删除依据目标参考时间点。释放存储空间时,由于该子对象SOb1的本地存储时间点大于目标参考时间点RT1,因此,该子对象SOb1不会被删除,导致应该被删除的子对象SOb1的漏删除。或者,另一对象Ob2的Sob2的在存储服务器的本地存储时间点不等于管理服务器记录的对象Ob2的参考时间点RT2,且小于或者等于目标参考时间点RT1。因此,释放存储空间时,该子对象Sob2会被删除,导致对不应该删除的子对象Sob2的误删除。
对此,为了减少对所存储的对象的单元的错误删除,提高存储空间的释放准确度,本发明实施例提供了一种存储空间的释放方法、装置及分布式***。其中,存储空间的释放方法的执行主体可以是分布式***的存储服务器,也可以是分布式***的管理服务器。为了便于理解,下面首先对本发明一实施例的分布式***进行介绍。
在具体应用中,本发明实施例提供的分布式***可以是多种的。示例性的,分布式***可以是分布式存储***、云存储***以及采用分布式架构进行数据存储的视频***等等。任何分布式***均属于本发明实施例的保护范围,在此不作限定。
如图1所示,本发明一实施例的分布式***的结构,该***可以包括:
管理服务器101,用于在检测到分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点;获取辅助时钟当前的时间点,作为辅助时间点;将目标参考时间点、以及辅助时间点发送给所述分布式***中的每个存储服务器;
存储服务器102,用于接收目标参考时间点和辅助时间点;利用存储服务器自身的当前***时间和辅助时间点之间的差异值,对目标参考时间点进行纠偏,得到纠偏后的目标参考时间点;从已存储的子对象中,删除本地存储时间与所述纠偏后的目标参考时间点匹配的子对象。
在具体应用中,管理服务器101和存储服务器102中的任一个可以是能够进行数据处理的电子设备。举例而言,该设备可以包括台式计算机、便携式计算机、互联网电视,智能移动终端、可穿戴式智能终端、服务器等,在此不作限定,任何可以实现本发明实施例的电子设备,均属于本发明实施例的保护范围。
另外,分布式***中存储服务器102的数量为多个,管理服务器101的数量可以为多个,也可以为1个。如果管理服务器101的数量为多个,可以组成管理服务器集群,以提高管理效率,降低管理服务器异常造成的***异常风险。
本发明实施例提供的方案中,辅助时钟的初始时间点,是根据所有存储服务器的***时间得到的,作为删除依据的参考时间点是辅助时钟的时间点;并且,子对象在存储服务器中的本地存储时间点是完成子对象的存储时存储服务器的***时间。因此,存储服务器的当前***时间和作为辅助时间点的辅助时钟当前的时间点之间的差异值,能够反映目标参考时间点和子对象的本地存储时间点之间的差异值,可以用于对目标参考时间点进行纠偏;从而保证纠偏后的目标参考时间点与目标参考时间点相比,纠正了和存储服务器的***时间之间的差异。因此,对于分布式***中,各个存储服务器的***时间存在较大差异的情况,进行存储空间的释放时,利用纠偏后的目标参考时间点进行已存储的子对象的删除,能够保证纠偏后的目标参考时间点和子对象的本地存储时间点之间的差异值,与目标参考时间点和子对象的本地存储时间点之间的差异值相比更小,从而减少目标参考时间点与子对象在存储服务器中的本地存储时间点差异较大所导致的子对象的删除错误,提高存储空间的释放准确度。
为了合理布局和便于理解,下面从管理服务器和存储服务器的交互角度,对本发明一实施例的存储空间的释放方法进行说明。
如图2所示,本发明一实施例的存储空间的释放方法,应用于本发明图1实施例的分布式***,该方法可以包括:
S201,管理服务器在检测到分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点。
在具体应用中,管理服务器对分布式***是否满足预设的存储空间释放条件的检测方式可以是多种的。示例性的,该检测方式可以是管理服务器检测到分布式***的存储空间达到预设阈值时,确定检测到分布式***满足预设的存储空间释放条件。其中,对存储空间达到预设阈值的检测时机可以是按照预设周期,可以是进行对象存储时,或者,可以是完成对象存储时。或者,示例性,该检测方式可以是管理服务器检测是否接收到用户输入的关于释放存储空间的指令,如果接收到,确定检测到分布式***满足预设的存储空间释放条件。
任何能够确定分布式***是否满足预设的存储空间释放条件的检测方式,均可用于本发明,本实施例对此不作限制。
分布式***进行对象存储时,存储服务器按照管理服务器下发的存储任务,完成对象的子对象的存储后,将关于完成存储的信息上报给管理服务器。举例而言,可以是存储服务器将完成存储的对象的子对象的索引信息上报给管理服务器,或者,可以是存储服务器将完成存储的通知信息上报给管理服务器。管理服务器接收到存储服务器上报的信息后,获取辅助时钟的当前时间点,记录为所存储对象的参考时间点,该参考时间点为所存储对象的各个存储在存储服务器中的子对象的统一存储时间点。因此,管理服务器在检测到分布式***满足预设的存储空间释放条件时,已记录有多个参考时间点。
为了在后续步骤S204至S205中利用目标参考时间点进行存储空间的释放,需要在步骤S201中确定作为删除依据的目标参考时间点。目标参考时间点的选择方式可以是多种的。示例性的,可以从已记录的多个参考时间点中,选择最小的时间点作为目标参考时间点;最小的时间点相当于存储时间最早。或者,示例性的,可以从已记录的多个参考时间点中,按照从小到大的顺序,选择预设数量个时间点作为目标参考时间点。或者,示例性的,可以从已记录的多个参考时间点中,选择指定的时间点作为目标参考时间点。例如,用户输入的指定时间点,或者,预设的指定时间点等等。
另外,在按照参考时间点的大小选择的两种示例性说明中,管理服务器可以对参考时间点进行有序记录,以便确定目标参考时间点时,可以直接从已记录的参考时间点中选择,节省比较大小和排序的步骤,提高存储空间的释放效率。
S202,管理服务器获取辅助时钟当前的时间点,作为辅助时间点。
存储有对象的子对象的各个存储服务器之间的***时间可能不同,而在存储空间释放过程中,管理服务器从对象的角度确定是否进行删除。因此,管理服务器不能直接记录子对象在存储服务器中的本地存储时间点以作为删除依据,而是需要确定某一对象的子对象的统一的存储时间;以便管理服务器可以利用统一的存储时间点通知各个存储服务器删除相应的子对象。为此,通常设置一个能够统一各个存储服务器的***时间的辅助时钟。具体可以为:管理服务器根据所有存储服务器的***时间,确定一个统一的时间点,将该统一的时间点作为辅助时钟的初始时间点,并且按预设时钟递增规则,该辅助时钟的时间点持续递增。举例而言,管理服务器确定的统一的时间点为20180910143056,即2018年09月10日14点30分56秒,预设时钟递增规则可以为每秒辅助时钟的时间点增加1。
其中,管理服务器根据所有存储服务器的***时间,确定一个统一的时间点的具体方式可以是多种的。示例性的,管理服务器可以将所有存储服务器的***时间的平均值,作为统一的时间点。例如,去掉所有存储服务器的***时间中,最大和最小的***时间,对余下的***时间取平均值。或者,示例性的,管理服务器可以将所有存储服务器的***时间中,数量最多的***时间作为统一的时间点。任何管理服务器根据所有存储服务器的***时间,确定一个统一的时间点的的方式,均可用于本发明,本实施例对此不作限制。
每完成一次对象存储,管理服务器将辅助时钟的当前时间点,记录为所存储对象的参考时间点,且辅助时钟的初始时间点是根据所有存储服务器的***时间确定的,存储服务器的***时间和参考时间点的差异,相当于存储服务器的***时间和辅助时钟的时间点的差异。因此,对于各个存储服务器之间的***时间存在较大差异所导致的对象的参考时间,和对象的子对象在存储服务器的本地存储时间差异大的情况,可以获取辅助时钟当前的时间点,作为辅助时间点。由此,可以在后续步骤S203中利用辅助时间点和存储服务器的当前***时间之间的差异值对目标参考时间点纠偏。
S203,管理服务器将目标参考时间点以及辅助时间点发送给分布式***中的每个存储服务器。
S204,存储服务器利用自身的当前***时间和所接收的辅助时间点之间的差异值,对所接收的目标参考时间点进行纠偏,得到纠偏后的目标参考时间点。
在步骤S203中管理服务器向分布式***中的每个存储服务器发送目标参考时间点、以及辅助时间点,由存储服务器利用所接收的时间点进行子对象删除,可以保证不论要删除的子对象数量为多少,管理服务器只需一次性下发相应的时间点即可。与管理服务器自身确定要删除的子对象,再将每个要删除的子对象作为一个任务下发给分布式***中的存储服务器相比,可以减少管理服务器与存储服务器的交互次数,提高存储空间的释放效率。
在步骤S204中,存储服务器利用自身的当前***时间和所接收的辅助时间点之间的差异值,对所接收的目标参考时间点进行纠偏的方式,可以是多种的。示例性的,存储服务器可以计算存储服务器自身的当前***时间和所接收的辅助时间点之间的差值,按照得到的差值调整目标参考时间点,得到纠偏后的目标参考时间点。或者,示例性的,存储服务器可以计算存储服务器自身的当前***时间和所接收的辅助时间点之间的差值,按照得到的差值、以及预设的波动阈值调整目标参考时间点,得到纠偏后的目标参考时间点。为了便于理解和合理布局,后续以可选实施例的方式对步骤S204进行详细说明。
S205,存储服务器从已存储的子对象中,删除本地存储时间点与纠偏后的目标参考时间点匹配的子对象。
其中,子对象的本地存储时间点可以为:存储服务器完成子对象的存储时,存储服务器的***时间。例如,存储服务器可以在完成子对象的存储时,将存储服务器自身的***时间记录为该子对象的本地存储时间点。
在具体应用中,本地存储时间点与纠偏后的目标参考时间点的匹配可以是多种的。示例性的,可以将小于或者等于目标参考时间点的本地存储时间点确定为与目标参考时间点匹配。此时,按照小于或者等于的匹配进行子对象的删除,可以保证所删除的子对象是已存储的子对象中,存储时间相对而言最早的。与存储时间相对而言较晚的子对象相比,存储时间相对而言最早的子对象更符合用户的删除意向。或者,示例性的,存储服务器可以从预设的目标参考时间点与时间段的对应关系中,查找与所接收的本地存储时间点对应的时间段,将属于所查找到的时间段的本地存储时间点确定为与目标参考时间点匹配。例如,所查找到的时间段可以为:目标参考时间点20180910143500对应的时间段20180910143500至20180910150500,存储服务器删除的子对象相当于从目标参考时间点开始,30分钟内存储的子对象。此时,可以在一次删除过程中删除相对而言更多的子对象,释放更多的存储空间,节省存储空间释放不足造成的再次进行存储空间释放的步骤,提高存储空间的释放效率。
本发明实施例提供的方案中,辅助时钟的初始时间点,是根据所有存储服务器的***时间得到的,作为删除依据的参考时间点是辅助时钟的时间点;并且,子对象在存储服务器中的本地存储时间点是完成子对象的存储时存储服务器的***时间。因此,存储服务器的当前***时间和作为辅助时间点的辅助时钟当前的时间点之间的差异值,能够反映目标参考时间点和子对象的本地存储时间点之间的差异值,可以用于对目标参考时间点进行纠偏;从而保证纠偏后的目标参考时间点与目标参考时间点相比,纠正了和存储服务器的***时间之间的差异。因此,对于分布式***中,各个存储服务器的***时间存在较大差异的情况,进行存储空间的释放时,利用纠偏后的目标参考时间点进行已存储的子对象的删除,能够保证纠偏后的目标参考时间点和子对象的本地存储时间点之间的差异值,与目标参考时间点和子对象的本地存储时间点之间的差异值相比更小,从而减少目标参考时间点与子对象在存储服务器中的本地存储时间点差异较大所导致的子对象的删除错误,提高存储空间的释放准确度。
可选的,上述步骤S204:利用存储服务器自身的当前***时间和辅助时间点之间的差异值,对目标参考时间点进行纠偏,得到纠偏后的目标参考时间点,具体可以包括如下步骤:
将存储服务器自身的当前***时间、辅助时间点以及目标参考时间点输入预设的纠偏公式,得到纠偏后的目标参考时间点;其中,预设的纠偏公式包括:
Ser_time=del_time+(cur_time-loop_time+protect_time);
其中,Ser_time为纠偏后的目标参考时间点,del_time为目标参考时间点,cur_time为存储服务器自身的当前***时间,loop_time为辅助时间点,protect_time为预设的波动阈值。具体的,管理服务器根据所有存储服务器的***时间,确定一个统一的时间点,将该统一的时间点作为辅助时钟的初始时间点,并且按预设时钟递增规则,维护该辅助时钟的时间点进行持续递增。每完成一次对象存储,管理服务器将该辅助时钟的当前时间点,记录为所存储对象的参考时间点,该参考时间点为所存储对象的各个存储在存储服务器中的子对象的统一存储时间点。基于上述辅助时钟,在释放存储空间时,管理服务器下发作为删除依据的目标参考时间点del_time,给各个存储服务器,以及辅助时钟的时间点作为辅助时间点loop_time。
在具体应用中,预设的波动阈值可以是按照历史经验设置的。举例而言,在2018年3月16日进行存储空间释放之前,分析存储空间释放的历史数据,存在应当被删除的子对象,因本地存储时间比目标参考时间点大1未删除的情况。此时,可以将预设的波动阈值设置为1。当然,预设的波动阈值也可以为0。预设的波动阈值的具体设置,可以按照具体需求进行,本实施例对此不作限制。与未设置预设的波动阈值相比,本可选实施例可以按照具体的存储空间释放是否准确的情况,调整纠偏后的目标参考时间点的大小,提高存储空间的释放准确度。
示例性的,将存储服务器SS1自身的当前***时间2018年10月10日15点、辅助时间点2018年10月10日18点以及目标参考时间点2018年9月10日15点30分,输入预设的纠偏公式Ser_time=del_time+(cur_time-loop_time+protect_time)=2018年9月10日15点30分+(2018年10月10日15点-2018年10月10日18点+0)=2018年9月10日12点30分。即对于存储服务器SS1,纠偏后的目标参考时间点为2018年9月10日12点30分。当然,对于***时间和参考时间不存在差异的存储服务器,纠偏后的目标参考时间点等于目标参考时间点。
可选的,在上述步骤S205:存储服务器从已存储的子对象中,删除本地存储时间点与纠偏后的目标参考时间点匹配的子对象之后,本发明实施例提供的存储空间的释放方法,还可以包括如下步骤:
存储服务器检测自身是否满足预设的存储空间可用量条件;如果满足,结束存储空间的释放,否则,按照指定增量调整目标参考时间点,得到当前的目标参考时间点;利用存储服务器自身的当前***时间和辅助时间点之间的差异值,对当前的目标参考时间点进行纠偏,得到纠偏后的当前的目标参考时间点;从已存储的子对象中,删除本地存储时间点与纠偏后的当前的目标参考时间点匹配的子对象;返回执行存储服务器检测自身是否满足预设的存储空间可用量条件的步骤。
在具体应用中,可能存在经过存储空间的释放后,存储服务器的存储空间仍然不能满足存储需求,需要继续释放的情况。对此,为了保证存储空间能够释放至满足存储所需的大小为止,并兼顾所删除的子对象尽可能少,存储服务器可以在上述步骤S205之后检测存储服务器自身是否满足预设的存储空间可用量条件。如果满足,表明存储空间已释放至满足存储需求的程度,无需继续释放存储空间,因此,可以结束存储空间的释放。如果不满足,表明存储服务器的存储空间仍然不能满足存储需求,需要继续释放,因此,可以调整目标参考时间点,以便从未删除的子对象中选择要删除的子对象。由于已删除的子对象是存储时间点相对而言最早的子对象,因此,继续释放存储空间时,可以按照指定增量调整目标参考时间点,以便利用当前的目标参考时间点进行存储空间释放时,删除未删除的子对象中存储时间点相对而言最早的子对象。
其中,预设的存储空间可用量条件可以是多种的。示例性的,可以是存储服务器的存储空间大于或者等于预设的存储空间阈值。或者,示例性的,可以是接收到管理服务器发送的关于结束存储空间释放的指令。另外,管理服务器发送的关于结束存储空间释放的指令,具体可以是用户输入的指令。任何预设的存储空间可用量条件均可用于本发明,本实施例对此不作限制。
存储服务器按照指定增量调整目标参考时间点,得到当前的目标参考时间点,具体可以包括:存储服务器将目标参考时间点和指定增量输入预设的递增公式,得到当前的目标参考时间点。其中,预设的递增公式为:当前的目标参考时间点=目标参考时间点+指定增量。
示例性的,存储服务器SS1检测到自身不满足预设的存储空间可用量条件,按照指定增量1小时调整目标参考时间点2018年9月10日15点30分,得到当前的目标参考时间点2018年9月10日16点30分。利用存储服务器自身的当前***时间2018年10月10日15点10分和辅助时间点2018年10月10日18点10分之间的差异值﹣3小时,对当前的目标参考时间点2018年9月10日16点30分进行纠偏,得到纠偏后的当前的目标参考时间点2018年9月10日13点30分;从已存储的子对象中,删除本地存储时间点与纠偏后的当前的目标参考时间点匹配的子对象。
如图3所示,本发明另一实施例的存储空间的释放方法的流程,应用于本发明图3实施例的分布式***,该方法可以包括:
S301,管理服务器在检测到分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点。
S302,管理服务器获取辅助时钟当前的时间点,作为辅助时间点。
S303,管理服务器将目标参考时间点、以及辅助时间点发送给分布式***中的每个存储服务器。
S301至S303与本发明图2实施例中的S201至S203为相同步骤,在此不再赘述,详见本发明图2实施例的描述。
S304,管理服务器从多个索引信息中,确定作为删除依据的目标索引信息。其中,索引信息包括:存储有子对象的虚拟资源池的标识,和/或,对象标识。
在具体应用中,可能存在无需删除的对象的子对象在存储服务器的本地存储时间与纠偏后的目标参考时间点匹配,导致该无需删除的对象的子对象被删除的问题;以及需要删除的对象的子对象在存储服务器的本地存储时间与纠偏后的目标参考时间点不匹配,导致该需要删除的对象的子对象未被删除的问题。并且,当存储服务器删除本地存储时间点与目标参考时间点匹配的子对象时,需要从所有已存储的子对象中删除,删除时的检索范围过大,可能存在降低删除效率的问题。
对此,管理服务器可以从多个索引信息中,确定作为删除依据的目标索引信息,以便后续存储服务器可以在步骤S307中利用目标索引信息中的虚拟资源池标识缩小删除时的检索范围,利用目标索引信息中的对象标识保证子对象的准确删除。其中,目标索引信息的确定方式具体可以包括:从预存的参考时间点和对象的对应关系中,查找目标参考时间点对应的对象,将所查找到的对象的索引信息确定为目标索引信息。
并且,在具体应用中,为了保证所存储数据的粒度小,数据相对而言更精确,实现数据的精细化管理,例如,可以将视频内容存储为多个时长为秒级的子对象,从而管理时可以按秒级管理。为此,子对象的存储层级具体可以包括:object(对象)>stripe(条)->unit(单元),一个对象可以划分为多条,N(如5/10等)个unit组成一个stripe,所有一个object包含多个unit,存储服务器中存储的子对象即为unit。并且,为了方便针对不同的对象执行不同的预设的存储空间释放条件,可以将同一类型的多个对象存储在同一虚拟资源池(Bucket)中。例如,虚拟资源池B1存储的数据不可以删除,目标索引信息中的虚拟资源池标识不会是虚拟资源池B1的标识;虚拟资源池B2中的对象满足预设的存储空间释放条件,虚拟资源池B2的标识可以包含在目标索引信息中。
相应的,按照上述存储层级,子对象的索引信息具体可以包括:虚拟资源池的标识、对象标识以及条标识。以此为基础,在进行存储空间释放时,管理服务器可以通过上述步骤S304从多个索引信息中,确定作为删除依据的目标索引信息,从而在后续步骤S307按照目标索引信息和目标参考时间点进行子对象的删除,从而准确删除目标索引信息下的全部子对象。例如,需要删除某一虚拟资源池B1中的对象object1,组成该对象的条包括条st1和条st2;按照目标索引信息和目标参考时间点进行子对象的删除时,可以针对虚拟资源池B1,将具有对象object1的标识的条st1中的unit,以及具有对象object1的标识的条st2中的unit全部删除。此时,与没有目标索引信息作为删除依据相比,可以在需要删除的对象的子对象在存储服务器的本地存储时间与纠偏后的目标参考时间点不匹配时,按照目标索引信息和目标参考时间点进行子对象的删除,可以实现对object的完整删除。并且,与仅按照虚拟资源池标识和目标参考时间点的删除相比,可以避免对无需删除的object的子对象的删除,也就是可以保证所删除的unit提高存储空间的释放准确度。
另外,步骤S304的执行顺序可以是多种的。示例性的,步骤S304可以与步骤S302同时执行,可以在步骤S302之前执行,或者,可以在步骤S302之后执行。
S305,管理服务器将目标索引信息,发送给分布式***的每个存储服务器。
在具体应用中,步骤S305的执行顺序可以是多种的。示例性的,步骤S305可以与步骤S303同时执行,可以在步骤S303之前执行,或者,可以在步骤S303之后执行。当步骤S305与步骤S303同时执行时,对空间释放所需的信息进行统一下发,可以减少多次下发造成的延时,以及管理服务器和存储服务器的多次交互对管理服务器处理资源的占用。
S306,存储服务器利用自身的当前***时间和所接收的辅助时间点之间的差异值,对所接收的目标参考时间点进行纠偏,得到纠偏后的目标参考时间点。
S306和本发明图2实施例的S204为相同的步骤,在此不再赘述,详见本发明图2实施例的描述。
S307,存储服务器利用目标索引信息,从已存储的子对象中,删除本地存储时间点与纠偏后的目标参考时间点匹配的子对象。
在具体应用中,存储服务器利用目标索引信息,从已存储的子对象中,删除本地存储时间与纠偏后的目标参考时间点匹配的子对象的具体方式可以是多种的。示例性的,存储服务器可以将具有目标索引信息、以及本地存储时间与纠偏后的目标参考时间点匹配作为并列的检索条件,检索满足这两个并列的检索条件的子对象,并删除检索到的子对象。举例而言,需要删除某一虚拟资源池B1中的对象object1,组成该对象的条包括条st1和条st2;按照目标索引信息和目标参考时间点进行子对象的删除时,可以检索本地存储时间与纠偏后的目标参考时间点匹配,并且属于虚拟资源池B1的具有对象object1标识的条st1中的unit,以及条st2中的unit,进行删除。
或者,示例性的,当目标索引信息中包含对象标识时,存储服务器可以先检索本地存储时间点与纠偏后的目标参考时间点匹配的子对象,再筛选出检索结果中具有目标索引信息的子对象,删除筛选出的子对象,以保证需要删除的对象被完整删除,无需删除的对象可以完整存储,子对象不被误删。举例而言,需要删除某一虚拟资源池B1中的对象object1,组成该对象的条包括条st1和条st2。可以检索本地存储时间与纠偏后的目标参考时间点匹配的unit,从所检索到的unit中筛选属于虚拟资源池B1,且具有对象object1标识的条st1中的子对象和条st2中的子对象,进行删除。当然,在上述两种示例性说明中,如果没有将某一类对象作为一个虚拟资源池进行存储,可以直接按照示例性说明中的检索条件检索,无需针对该虚拟资源池进行检索。
或者,示例性的,当目标索引信息中包含虚拟资源池的标识时,存储服务器可以先将检索范围缩小为具有虚拟资源池的标识的虚拟资源池,在具有虚拟资源池的标识的虚拟资源池中,检索本地存储时间点与纠偏后的目标参考时间点匹配的子对象,并删除检索到的子对象。举例而言,需要删除某一对象object1,组成该对象的条包括条st1和条st2。可以针对虚拟资源池B1,检索本地存储时间与纠偏后的目标参考时间点匹配的unit,从所检索到的unit中筛选具有对象object1的标识的条st1中的子对象和条st2中的子对象,进行删除。
本发明图3实施例,通过目标索引信息中的虚拟资源池标识缩小删除时的检索范围,通过目标索引信息中的对象标识,保证需要删除的对象被完整删除,以及无需删除的对象的子对象不被误删,保证无需删除的对象的完整性。
另外,管理服务器在确定了目标索引信息后,可以删除向用户展示的目标索引信息,或者,向用户展示目标索引信息时,可以表明该目标索引信息对应的对象已被删除,以保证索引信息与存储服务器中存储的对象一致。例如,目标索引信息为object1和strip1,可以从索引信息中,删除object1和strip1,或者,在向用户展示的索引信息中,注明object1和strip1已删除。此时,可以避免对象已被删除,而索引未删除造成的查找不到该索引对应的对象的问题,保证索引信息与存储情况的一致性。
如图4所示,本发明一实施例的存储空间的释放装置,应用于分布式***的存储服务器,该装置可以包括:
接收模块401,用于接收所述分布式***的管理服务器发送的目标参考时间点和辅助时间点;所述目标参考时间点为所述管理服务器在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择的作为删除依据的目标参考时间点;所述辅助时间点为所述管理服务器在确定所述目标参考时间点后,获取的辅助时钟的当前的时间点;
纠偏模块402,用于利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点;
删除模块403,用于从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
本发明实施例提供的方案中,辅助时钟的初始时间点,是根据所有存储服务器的***时间得到的,作为删除依据的参考时间点是辅助时钟的时间点;并且,子对象在存储服务器中的本地存储时间点是完成子对象的存储时存储服务器的***时间。因此,存储服务器的当前***时间和作为辅助时间点的辅助时钟当前的时间点之间的差异值,能够反映目标参考时间点和子对象的本地存储时间点之间的差异值,可以用于对目标参考时间点进行纠偏;从而保证纠偏后的目标参考时间点与目标参考时间点相比,纠正了和存储服务器的***时间之间的差异。因此,对于分布式***中,各个存储服务器的***时间存在较大差异的情况,进行存储空间的释放时,利用纠偏后的目标参考时间点进行已存储的子对象的删除,能够保证纠偏后的目标参考时间点和子对象的本地存储时间点之间的差异值,与目标参考时间点和子对象的本地存储时间点之间的差异值相比更小,从而减少目标参考时间点与子对象在存储服务器中的本地存储时间点差异较大所导致的子对象的删除错误,提高存储空间的释放准确度。
可选的,所述纠偏模块402,具体用于:
将所述存储服务器自身的当前***时间、所述辅助时间点以及所述目标参考时间点输入预设的纠偏公式,得到纠偏后的目标参考时间点;其中,所述预设的纠偏公式包括:
Ser_time=del_time+(cur_time-loop_time+protect_time);
其中,所述Ser_time为纠偏后的目标参考时间点,所述del_time为目标参考时间点,所述cur_time为所述存储服务器自身的当前***时间,所述loop_time为所述辅助时间点,所述protect_time为预设的波动阈值。
可选的,所述接收模块401,还用于:
接收所述管理服务器发送的目标索引信息;其中,所述目标索引信息为所述管理服务器从多个索引信息中,确定的作为删除依据的索引信息;所述索引信息包括:存储有所述子对象的虚拟资源池的标识,和/或,对象标识;
所述删除模块403,具体用于:
利用所述目标索引信息,从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
可选的,其特征在于,所述装置还包括:检测模块;
所述检测模块,用于在所述从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象之后,检测所述存储服务器自身是否满足预设的存储空间可用量条件;如果满足,结束存储空间的释放,否则,触发所述纠偏模块402按照指定增量调整所述目标参考时间点,得到当前的目标参考时间点;
所述纠偏模块402,还用于利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述当前的目标参考时间点进行纠偏,得到纠偏后的当前的目标参考时间点;
所述删除模块403,还用于从已存储的子对象中,删除本地存储时间点与所述纠偏后的当前的目标参考时间点匹配的子对象,并触发所述检测模块执行所述检测所述存储服务器自身是否满足预设的存储空间可用量条件。
如图5所示,本发明一实施例的存储空间的释放装置,应用于分布式***的管理服务器,该装置可以包括:
时间点确定模块501,用于在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点;获取辅助时钟当前的时间点,作为辅助时间点;
发送模块502,用于将所述目标参考时间点、以及所述辅助时间点发送给所述分布式***中的每个存储服务器,以使得所述存储服务器在接收到所述目标参考时间点和所述辅助时间点后,利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点,并从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
本发明实施例提供的方案中,辅助时钟的初始时间点,是根据所有存储服务器的***时间得到的,作为删除依据的参考时间点是辅助时钟的时间点;并且,子对象在存储服务器中的本地存储时间点是完成子对象的存储时存储服务器的***时间。因此,存储服务器的当前***时间和作为辅助时间点的辅助时钟当前的时间点之间的差异值,能够反映目标参考时间点和子对象的本地存储时间点之间的差异值,可以用于对目标参考时间点进行纠偏;从而保证纠偏后的目标参考时间点与目标参考时间点相比,纠正了和存储服务器的***时间之间的差异。因此,对于分布式***中,各个存储服务器的***时间存在较大差异的情况,进行存储空间的释放时,利用纠偏后的目标参考时间点进行已存储的子对象的删除,能够保证纠偏后的目标参考时间点和子对象的本地存储时间点之间的差异值,与目标参考时间点和子对象的本地存储时间点之间的差异值相比更小,从而减少目标参考时间点与子对象在存储服务器中的本地存储时间点差异较大所导致的子对象的删除错误,提高存储空间的释放准确度。
可选的,所述装置还包括:索引信息确定模块;
所述索引信息确定模块,用于从多个索引信息中,确定作为删除依据的目标索引信息,并将所述目标索引信息,发送给所述分布式***中的每个存储服务器,以使得所述存储服务器在接收所述目标索引信息后,利用所述目标索引信息,从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象;
其中,所述索引信息包括:存储有子对象的虚拟资源池的标识,和/或,对象标识。
相应于上述实施例,本发明实施例还提供了一种存储服务器,如图6所示,该存储服务器可以包括:
处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器通603过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行上述存储器603上所存放的计算机程序时,实现上述任一实施例中,应用于存储服务器的存储空间的释放方法的步骤。
本发明实施例提供的方案中,辅助时钟的初始时间点,是根据所有存储服务器的***时间得到的,作为删除依据的参考时间点是辅助时钟的时间点;并且,子对象在存储服务器中的本地存储时间点是完成子对象的存储时存储服务器的***时间。因此,存储服务器的当前***时间和作为辅助时间点的辅助时钟当前的时间点之间的差异值,能够反映目标参考时间点和子对象的本地存储时间点之间的差异值,可以用于对目标参考时间点进行纠偏;从而保证纠偏后的目标参考时间点与目标参考时间点相比,纠正了和存储服务器的***时间之间的差异。因此,对于分布式***中,各个存储服务器的***时间存在较大差异的情况,进行存储空间的释放时,利用纠偏后的目标参考时间点进行已存储的子对象的删除,能够保证纠偏后的目标参考时间点和子对象的本地存储时间点之间的差异值,与目标参考时间点和子对象的本地存储时间点之间的差异值相比更小,从而减少目标参考时间点与子对象在存储服务器中的本地存储时间点差异较大所导致的子对象的删除错误,提高存储空间的释放准确度。
本发明实施例还提供了一种管理服务器,如图7所示,该管理服务器可以包括:
处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器通703过通信总线704完成相互间的通信;
存储器703,用于存放计算机程序;
处理器701,用于执行上述存储器703上所存放的计算机程序时,实现上述任一实施例中,应用于管理服务器的存储空间的释放方法的步骤。
本发明实施例提供的方案中,辅助时钟的初始时间点,是根据所有存储服务器的***时间得到的,作为删除依据的参考时间点是辅助时钟的时间点;并且,子对象在存储服务器中的本地存储时间点是完成子对象的存储时存储服务器的***时间。因此,存储服务器的当前***时间和作为辅助时间点的辅助时钟当前的时间点之间的差异值,能够反映目标参考时间点和子对象的本地存储时间点之间的差异值,可以用于对目标参考时间点进行纠偏;从而保证纠偏后的目标参考时间点与目标参考时间点相比,纠正了和存储服务器的***时间之间的差异。因此,对于分布式***中,各个存储服务器的***时间存在较大差异的情况,进行存储空间的释放时,利用纠偏后的目标参考时间点进行已存储的子对象的删除,能够保证纠偏后的目标参考时间点和子对象的本地存储时间点之间的差异值,与目标参考时间点和子对象的本地存储时间点之间的差异值相比更小,从而减少目标参考时间点与子对象在存储服务器中的本地存储时间点差异较大所导致的子对象的删除错误,提高存储空间的释放准确度。
上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离于上述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明一实施例提供的计算机可读存储介质,包含于存储服务器,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中,应用于存储服务器的存储空间的释放方法的步骤。
本发明实施例提供的方案中,辅助时钟的初始时间点,是根据所有存储服务器的***时间得到的,作为删除依据的参考时间点是辅助时钟的时间点;并且,子对象在存储服务器中的本地存储时间点是完成子对象的存储时存储服务器的***时间。因此,存储服务器的当前***时间和作为辅助时间点的辅助时钟当前的时间点之间的差异值,能够反映目标参考时间点和子对象的本地存储时间点之间的差异值,可以用于对目标参考时间点进行纠偏;从而保证纠偏后的目标参考时间点与目标参考时间点相比,纠正了和存储服务器的***时间之间的差异。因此,对于分布式***中,各个存储服务器的***时间存在较大差异的情况,进行存储空间的释放时,利用纠偏后的目标参考时间点进行已存储的子对象的删除,能够保证纠偏后的目标参考时间点和子对象的本地存储时间点之间的差异值,与目标参考时间点和子对象的本地存储时间点之间的差异值相比更小,从而减少目标参考时间点与子对象在存储服务器中的本地存储时间点差异较大所导致的子对象的删除错误,提高存储空间的释放准确度。
本发明一实施例提供的计算机可读存储介质,包含于管理服务器,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中,应用于管理服务器的存储空间的释放方法的步骤。
本发明实施例提供的方案中,辅助时钟的初始时间点,是根据所有存储服务器的***时间得到的,作为删除依据的参考时间点是辅助时钟的时间点;并且,子对象在存储服务器中的本地存储时间点是完成子对象的存储时存储服务器的***时间。因此,存储服务器的当前***时间和作为辅助时间点的辅助时钟当前的时间点之间的差异值,能够反映目标参考时间点和子对象的本地存储时间点之间的差异值,可以用于对目标参考时间点进行纠偏;从而保证纠偏后的目标参考时间点与目标参考时间点相比,纠正了和存储服务器的***时间之间的差异。因此,对于分布式***中,各个存储服务器的***时间存在较大差异的情况,进行存储空间的释放时,利用纠偏后的目标参考时间点进行已存储的子对象的删除,能够保证纠偏后的目标参考时间点和子对象的本地存储时间点之间的差异值,与目标参考时间点和子对象的本地存储时间点之间的差异值相比更小,从而减少目标参考时间点与子对象在存储服务器中的本地存储时间点差异较大所导致的子对象的删除错误,提高存储空间的释放准确度。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在存储服务器上运行时,使得存储服务器执行上述任一实施例中,应用于存储服务器的存储空间的释放方法。
在本发明提供的再一实施例中,还提供了一种包含指令的计算机程序产品,当其在管理服务器上运行时,使得管理服务器执行上述任一实施例中,应用于管理服务器的存储空间的释放方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、DSL(Digital Subscriber Line,数字用户线)或无线(例如:红外线、无线电、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如:DVD(Digital Versatile Disc,数字通用光盘))、或者半导体介质(例如:SSD(Solid StateDisk,固态硬盘))等。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、存储服务器、管理服务器和***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (16)

1.一种分布式***,其特征在于,所述***包括:
管理服务器,用于在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点;获取辅助时钟当前的时间点,作为辅助时间点;将所述目标参考时间点、以及所述辅助时间点发送给所述分布式***中的每个存储服务器;
所述存储服务器,用于接收所述目标参考时间点和所述辅助时间点;利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点;从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
2.根据权利要求1所述的***,其特征在于,所述存储服务器利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点,包括:
将所述存储服务器自身的当前***时间、所述辅助时间点以及所述目标参考时间点输入预设的纠偏公式,得到纠偏后的目标参考时间点;其中,所述预设的纠偏公式包括:
Ser_time=del_time+(cur_time-loop_time+protect_time);
其中,所述Ser_time为纠偏后的目标参考时间点,所述del_time为目标参考时间点,所述cur_time为所述存储服务器自身的当前***时间,所述loop_time为所述辅助时间点,所述protect_time为预设的波动阈值。
3.根据权利要求1所述的***,其特征在于,所述管理服务器还用于:
从多个索引信息中,确定作为删除依据的目标索引信息,并将所述目标索引信息,发送给所述分布式***的每个存储服务器;其中,所述索引信息包括:存储有子对象的虚拟资源池的标识,和/或,对象标识;
所述存储服务器还用于,接收所述目标索引信息;
所述存储服务器从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象,包括:
所述存储服务器利用所述目标索引信息,从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
4.根据权利要求1至2任一项所述的***,其特征在于,所述存储服务器,还用于:
在所述从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象之后,检测所述存储服务器自身是否满足预设的存储空间可用量条件;
如果满足,结束存储空间的释放,否则,按照指定增量调整所述目标参考时间点,得到当前的目标参考时间点;利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述当前的目标参考时间点进行纠偏,得到纠偏后的当前的目标参考时间点;从已存储的子对象中,删除本地存储时间点与所述纠偏后的当前的目标参考时间点匹配的子对象;返回执行所述检测所述存储服务器自身是否满足预设的存储空间可用量条件。
5.一种存储空间的释放方法,其特征在于,应用于分布式***的存储服务器,所述方法包括:
接收所述分布式***的管理服务器发送的目标参考时间点和辅助时间点;所述目标参考时间点为所述管理服务器在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择的作为删除依据的目标参考时间点;所述辅助时间点为所述管理服务器在确定所述目标参考时间点后,获取的辅助时钟的当前的时间点;
利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点;
从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
6.根据权利要求5所述的方法,其特征在于,所述利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点的步骤,包括:
将所述存储服务器自身的当前***时间、所述辅助时间点以及所述目标参考时间点输入预设的纠偏公式,得到纠偏后的目标参考时间点;其中,所述预设的纠偏公式包括:
Ser_time=del_time+(cur_time-loop_time+protect_time);
其中,所述Ser_time为纠偏后的目标参考时间点,所述del_time为目标参考时间点,所述cur_time为所述存储服务器自身的当前***时间,所述loop_time为所述辅助时间点,所述protect_time为预设的波动阈值。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述管理服务器发送的目标索引信息;其中,所述目标索引信息为所述管理服务器从多个索引信息中,确定的作为删除依据的索引信息;所述索引信息包括:存储有所述子对象的虚拟资源池的标识,和/或,对象标识;
所述从已存储的子对象中,删除本地存储时间与所述纠偏后的目标参考时间点匹配的子对象,包括:
利用所述目标索引信息,从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
8.根据权利要求5至6任一项所述的方法,其特征在于,在所述从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象之后,所述方法还包括:
检测所述存储服务器自身是否满足预设的存储空间可用量条件;
如果满足,结束存储空间的释放,否则,按照指定增量调整所述目标参考时间点,得到当前的目标参考时间点;
利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述当前的目标参考时间点进行纠偏,得到纠偏后的当前的目标参考时间点;
从已存储的子对象中,删除本地存储时间点与所述纠偏后的当前的目标参考时间点匹配的子对象,并返回执行所述检测所述存储服务器自身是否满足预设的存储空间可用量条件。
9.一种存储空间的释放方法,其特征在于,应用于分布式***的管理服务器,所述方法包括:
在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点;
获取辅助时钟当前的时间点,作为辅助时间点;
将所述目标参考时间点、以及所述辅助时间点发送给所述分布式***中的每个存储服务器,以使得所述存储服务器在接收到所述目标参考时间点和所述辅助时间点后,利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点,并从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
从多个索引信息中,确定作为删除依据的目标索引信息,并将所述目标索引信息,发送给所述分布式***中的每个存储服务器,以使得所述存储服务器在接收所述目标索引信息后,利用所述目标索引信息,从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象;
其中,所述索引信息包括:存储有子对象的虚拟资源池的标识,和/或,对象标识。
11.一种存储空间的释放装置,其特征在于,应用于分布式***的存储服务器,所述装置包括:
接收模块,用于接收所述分布式***的管理服务器发送的目标参考时间点和辅助时间点;所述目标参考时间点为所述管理服务器在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择的作为删除依据的目标参考时间点;所述辅助时间点为所述管理服务器在确定所述目标参考时间点后,获取的辅助时钟的当前的时间点;
纠偏模块,用于利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点;
删除模块,用于从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
12.根据权利要求11所述的装置,其特征在于,所述纠偏模块,具体用于:
将所述存储服务器自身的当前***时间、所述辅助时间点以及所述目标参考时间点输入预设的纠偏公式,得到纠偏后的目标参考时间点;其中,所述预设的纠偏公式包括:
Ser_time=del_time+(cur_time-loop_time+protect_time);
其中,所述Ser_time为纠偏后的目标参考时间点,所述del_time为目标参考时间点,所述cur_time为所述存储服务器自身的当前***时间,所述loop_time为所述辅助时间点,所述protect_time为预设的波动阈值。
13.根据权利要求11所述的装置,其特征在于,所述接收模块,还用于:
接收所述管理服务器发送的目标索引信息;其中,所述目标索引信息为所述管理服务器从多个索引信息中,确定的作为删除依据的索引信息;所述索引信息包括:存储有所述子对象的虚拟资源池的标识,和/或,对象标识;
所述删除模块,具体用于:
利用所述目标索引信息,从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
14.根据权利要求11至12任一项所述的装置,其特征在于,所述装置还包括:检测模块;
所述检测模块,用于在所述从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象之后,检测所述存储服务器自身是否满足预设的存储空间可用量条件;如果满足,结束存储空间的释放,否则,触发所述纠偏模块按照指定增量调整所述目标参考时间点,得到当前的目标参考时间点;
所述纠偏模块,还用于利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述当前的目标参考时间点进行纠偏,得到纠偏后的当前的目标参考时间点;
所述删除模块,还用于从已存储的子对象中,删除本地存储时间点与所述纠偏后的当前的目标参考时间点匹配的子对象,并触发所述检测模块执行所述检测所述存储服务器自身是否满足预设的存储空间可用量条件。
15.一种存储空间的释放装置,其特征在于,应用于分布式***的管理服务器,所述装置包括:
时间点确定模块,用于在检测到所述分布式***满足预设的存储空间释放条件时,从所记录的多个参考时间点中,选择作为删除依据的目标参考时间点;获取辅助时钟当前的时间点,作为辅助时间点;
发送模块,用于将所述目标参考时间点、以及所述辅助时间点发送给所述分布式***中的每个存储服务器,以使得所述存储服务器在接收到所述目标参考时间点和所述辅助时间点后,利用所述存储服务器自身的当前***时间和所述辅助时间点之间的差异值,对所述目标参考时间点进行纠偏,得到纠偏后的目标参考时间点,并从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:索引信息确定模块;
所述索引信息确定模块,用于从多个索引信息中,确定作为删除依据的目标索引信息,并将所述目标索引信息,发送给所述分布式***中的每个存储服务器,以使得所述存储服务器在接收所述目标索引信息后,利用所述目标索引信息,从已存储的子对象中,删除本地存储时间点与所述纠偏后的目标参考时间点匹配的子对象;
其中,所述索引信息包括:存储有子对象的虚拟资源池的标识,和/或,对象标识。
CN201910826429.9A 2019-09-03 2019-09-03 存储空间的释放方法、装置及分布式*** Active CN111399754B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910826429.9A CN111399754B (zh) 2019-09-03 2019-09-03 存储空间的释放方法、装置及分布式***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910826429.9A CN111399754B (zh) 2019-09-03 2019-09-03 存储空间的释放方法、装置及分布式***

Publications (2)

Publication Number Publication Date
CN111399754A true CN111399754A (zh) 2020-07-10
CN111399754B CN111399754B (zh) 2023-11-03

Family

ID=71434023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910826429.9A Active CN111399754B (zh) 2019-09-03 2019-09-03 存储空间的释放方法、装置及分布式***

Country Status (1)

Country Link
CN (1) CN111399754B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433809A (zh) * 2020-11-05 2021-03-02 北京浪潮数据技术有限公司 一种jvm内存管理方法、装置、设备及可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201726424U (zh) * 2009-08-18 2011-01-26 升东网络科技发展(上海)有限公司 分布式存储***
US20130061232A1 (en) * 2011-09-02 2013-03-07 Ilt Innovations Ab Method And Device For Maintaining Data In A Data Storage System Comprising A Plurality Of Data Storage Nodes
US20140379670A1 (en) * 2013-06-19 2014-12-25 Sap Ag Data Item Deletion in a Database System
JP2015109053A (ja) * 2013-12-05 2015-06-11 ブラザー工業株式会社 筆記データ処理装置
US9152578B1 (en) * 2013-03-12 2015-10-06 Emc Corporation Securing data replication, backup and mobility in cloud storage
US20160231934A1 (en) * 2015-02-09 2016-08-11 International Business Machines Corporation Management of extents for space efficient storage volumes by reusing previously allocated extents
US20160379196A1 (en) * 2015-06-26 2016-12-29 Seiko Epson Corporation Network System, Control Method of a Network System, and Management Server
CN107734008A (zh) * 2017-09-27 2018-02-23 柏科数据技术(深圳)股份有限公司 一种数据存储***中的故障处理的方法、装置、节点设备以及存储介质
CN109558065A (zh) * 2017-09-25 2019-04-02 杭州海康威视***技术有限公司 数据删除方法及分布式存储***

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201726424U (zh) * 2009-08-18 2011-01-26 升东网络科技发展(上海)有限公司 分布式存储***
US20130061232A1 (en) * 2011-09-02 2013-03-07 Ilt Innovations Ab Method And Device For Maintaining Data In A Data Storage System Comprising A Plurality Of Data Storage Nodes
US9152578B1 (en) * 2013-03-12 2015-10-06 Emc Corporation Securing data replication, backup and mobility in cloud storage
US20140379670A1 (en) * 2013-06-19 2014-12-25 Sap Ag Data Item Deletion in a Database System
JP2015109053A (ja) * 2013-12-05 2015-06-11 ブラザー工業株式会社 筆記データ処理装置
US20160231934A1 (en) * 2015-02-09 2016-08-11 International Business Machines Corporation Management of extents for space efficient storage volumes by reusing previously allocated extents
US20160379196A1 (en) * 2015-06-26 2016-12-29 Seiko Epson Corporation Network System, Control Method of a Network System, and Management Server
CN109558065A (zh) * 2017-09-25 2019-04-02 杭州海康威视***技术有限公司 数据删除方法及分布式存储***
CN107734008A (zh) * 2017-09-27 2018-02-23 柏科数据技术(深圳)股份有限公司 一种数据存储***中的故障处理的方法、装置、节点设备以及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433809A (zh) * 2020-11-05 2021-03-02 北京浪潮数据技术有限公司 一种jvm内存管理方法、装置、设备及可读存储介质
CN112433809B (zh) * 2020-11-05 2023-12-22 北京浪潮数据技术有限公司 一种jvm内存管理方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN111399754B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US10949253B2 (en) Data forwarder for distributed data acquisition, indexing and search system
CN110851308A (zh) 一种测试方法、装置、电子设备及存储介质
CN107656807B (zh) 一种虚拟资源的自动弹性伸缩方法及装置
CN107315825B (zh) 一种索引更新***、方法及装置
JP2019523499A (ja) アプリケーションメッセージをプッシュする方法及びデバイス
CN110022259B (zh) 消息到达率确定方法、装置、数据统计服务器及存储介质
CN111488377A (zh) 数据查询方法、装置、电子设备及存储介质
CN111399754A (zh) 存储空间的释放方法、装置及分布式***
CN114281648A (zh) 一种数据采集方法、装置、电子设备及存储介质
CN111783107B (zh) 一种多源可信数据接入方法、装置及设备
CN109976828B (zh) 一种配置文件的方法及装置
CN110677683B (zh) 视频存储、视频访问方法及分布式存储、视频访问***
CN108156086B (zh) 一种策略规则下发方法及装置
CN110955460A (zh) 一种服务进程启动方法、装置、电子设备和存储介质
JP6574310B2 (ja) 評価情報のマッチング方法、装置及びサーバー
CN111400327B (zh) 一种数据同步方法、装置、电子设备及存储介质
CN111291127B (zh) 一种数据同步方法、装置、服务器及存储介质
CN110457332B (zh) 一种信息处理方法及相关设备
CN110223108B (zh) 点击通过率的预测方法、装置及设备
CN113760854A (zh) Hdfs内存中数据的识别方法及相关设备
CN113282601A (zh) 数据更新方法、装置及电子设备
CN107168547B (zh) 一种输入命令的方法及装置
CN111367703A (zh) 故障排查方法及装置
CN111104582A (zh) 一种搜索页面容错方法、装置及电子设备
CN110691143A (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