一种存储介质的空间释放方法及系统与流程

文档序号:16608753发布日期:2019-01-14 21:23阅读:171来源:国知局
一种存储介质的空间释放方法及系统与流程

本发明涉及计算机技术领域,特别涉及一种存储介质的空间释放方法及系统。



背景技术:

随着物联网的迅猛发展,家电的智能化也越来越普及。智能家电可保存其工作状态等实时信息,以使用户通过手机或电子屏随时了解智能家电的信息。

为了存储智能家电的实时信息,后台服务器一般设置有固定的存储分区,例如mongodb数据库。mongodb数据库的存储空间较大,以保证能及时存储智能家电的图片数据。

然而,删除mongodb数据库中的图片数据后,mongodb数据库占用的服务器资源并不会减少。例如,后台服务器的数据总空间为100g,预设的mongodb数据库的数据空间为50g,则即使mongodb数据库中存放的实时数据仅有1g,其仍占用后台服务器50g资源。由此可见,mongodb数据库占用服务器资源较多。



技术实现要素:

本发明实施例提供了一种存储介质的空间释放方法及系统,能降低存储数据库占用的服务器资源。

第一方面,本发明实施例提供了一种存储空间释放方法,包括:

利用备份存储设备获取存储数据库对应的属性信息;其中,所述存储数据库包括第一数据容量的数据空间,且在所述数据空间中存储有第二数据容量的至少一张图片数据;所述第二数据容量不大于所述第一数据容量;

备份存储设备根据所述属性信息,与所述存储数据库建立通信连接;

利用建立的所述通信连接,将所述存储数据库中的所述至少一张图片数据存储至所述备份存储设备;

释放所述存储数据库中第一数据容量的所述数据空间;

构建与所述至少一张图片数据相对应的第二数据容量的目标数据空间;

将所述至少一张图片数据存储至所述目标数据空间。

可选地,

所述在所述数据空间中存储有第二数据容量的至少一张图片数据,包括:

在所述数据空间中设置有至少一个存储文件夹;其中,每一个所述存储文件夹对应于一个智能家电;

根据每一张所述图片数据所属的智能家电,将所述至少一张图片数据分别存储于对应的所述存储文件夹中;

所述利用建立的所述通信连接,将所述存储数据库中的所述至少一张图片数据存储至所述备份存储设备,包括:

利用所述备份存储设备根据所述通信连接从所述存储数据库中获取各个所述存储文件夹;

根据获取的所述存储文件夹,在所述备份存储设备中形成对应的备份存储数据。

可选地,

在所述利用所述备份存储设备根据所述通信连接从所述存储数据库中获取各个所述存储文件夹之后,在所述释放所述存储数据库中第一数据容量的所述数据空间之前,进一步包括:

确定存储数据库中各个所述存储文件夹对应的第一文件总数量,以及每一个所述存储文件夹对应的文件大小;

确定所述备份存储数据中的备份文件夹对应的第二文件总数量,以及每一个所述备份文件夹对应的文件大小;

根据所述第一文件总数量、第二文件总数量以及各个所述存储文件夹和所述备份文件夹分别对应的文件大小,对所述备份存储数据进行准确性验证;

当验证通过时,执行所述释放所述存储数据库中第一数据容量的所述数据空间。

可选地,

所述根据所述第一文件总数量、第二文件总数量以及各个所述存储文件夹和所述备份文件夹分别对应的文件大小,对所述备份存储数据进行准确性验证,包括:

确定所述第一文件总数量与所述第二文件总数量是否相等,如果是,则根据每一个所述存储文件夹的文件大小,以及所对应的备份文件夹的文件大小,利用下述计算公式,计算所述备份存储数据的准确率;

当所述准确率小于预设阈值时,确定所述备份存储数据通过准确性验证;

其中,y表征所述准确率,xi表征第i个所述存储文件夹的文件大小,xj表征与第i个存储文件夹相对应的备份文件夹的文件大小,n表征所述第一文件总数量,a为预设常数。

可选地,

所述将所述至少一张图片数据存储至所述目标数据空间,包括:

通过scp传输指令将所述至少一张图片数据传输至所述目标数据空间中;

对所述至少一张图片数据进行准确性验证,当验证通过时,将所述至少一张图片数据进行存储,否则,删除所述至少一张图片数据,并执行所述通过scp传输指令将所述至少一张图片数据传输至所述目标数据空间中。

第二方面,本发明实施例提供了一种存储空间释放系统,包括:备份存储设备、存储数据库和处理模块;其中,

所述存储数据库包括第一数据容量的数据空间,且在所述数据空间中存储有第二数据容量的至少一张图片数据;所述第二数据容量不大于所述第一数据容量;

所述备份存储设备,用于获取所述存储数据库对应的属性信息;根据所述属性信息与所述存储数据库建立通信连接;利用所述通信连接,从所述存储数据库中获取所述至少一张图片数据,并存储所述至少一张图片数据;

所述处理模块,用于释放所述存储数据库中第一数据容量的所述数据空间;构建与所述至少一张图片数据相对应的第二数据容量的目标数据空间;将所述至少一张图片数据存储至所述目标数据空间。

可选地,

所述存储数据库的所述数据空间中设置有至少一个存储文件夹;其中,每一个所述存储文件夹对应于一个智能家电;

所述存储数据库,用于根据每一张所述图片数据所属的智能家电,将所述至少一张图片数据分别存储于对应的所述存储文件夹中;

所述备份存储设备,用于根据所述通信连接从所述存储数据库中获取各个所述存储文件夹;根据获取的所述存储文件夹,形成对应的备份存储数据。

可选地,

所述备份存储设备,进一步用于确定存储数据库中各个所述存储文件夹对应的第一文件总数量,以及每一个所述存储文件夹对应的文件大小;确定所述备份存储数据中的备份文件夹对应的第二文件总数量,以及每一个所述备份文件夹对应的文件大小;根据所述第一文件总数量、第二文件总数量以及各个所述存储文件夹和所述备份文件夹分别对应的文件大小,对所述备份存储数据进行准确性验证,当验证通过时,触发所述处理模块。

可选地,

所述备份存储设备,用于确定所述第一文件总数量与所述第二文件总数量是否相等,如果是,则根据每一个所述存储文件夹的文件大小,以及所对应的备份文件夹的文件大小,利用下述计算公式,计算所述备份存储数据的准确率;当所述准确率小于预设阈值时,确定所述备份存储数据通过准确性验证;

其中,y表征所述准确率,xi表征第i个所述存储文件夹的文件大小,xj表征与第i个存储文件夹相对应的备份文件夹的文件大小,n表征所述第一文件总数量,a为预设常数。

可选地,

所述处理模块,用于通过scp传输指令将所述至少一张图片数据传输至所述目标数据空间中;对所述至少一张图片数据进行准确性验证,当验证通过时,将所述至少一张图片数据进行存储,否则,删除所述至少一张图片数据,并执行所述通过scp传输指令将所述至少一张图片数据传输至所述目标数据空间中。

本发明实施例提供了一种存储介质的空间释放方法及系统,备份存储设备通过获取存储数据库的属性信息,与存储数据库建立通信连接。然后利用建立的通信连接获取存储数据库中的图片数据,以对图片数据进行备份。然后释放存储数据库中第一数据容量的数据空间,重新构建与图片数据相对应的第二数据容量的目标数据空间,再将备份存储设备中备份的图片数据存储至目标数据空间中。由于构建的目标数据空间与图片数据的数据容量相对应,因此目标数据空间占用的资源为图片数据真实占用的资源,而预先划分给存储数据库却未存储图片数据的数据空间被释放,因此降低了服务器资源的占用率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种存储空间释放方法的流程图;

图2是本发明另一个实施例提供的一种存储空间释放方法的流程图;

图3是本发明一个实施例提供的一种存储空间释放系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种……,该方法可以包括以下步骤:

如图1所示,本发明实施例提供了一种存储空间释放方法,该方法可以包括以下步骤:

步骤101:利用备份存储设备获取存储数据库对应的属性信息;其中,所述存储数据库包括第一数据容量的数据空间,且在所述数据空间中存储有第二数据容量的至少一张图片数据;所述第二数据容量不大于所述第一数据容量;

步骤102:备份存储设备根据所述属性信息,与所述存储数据库建立通信连接;

步骤103:利用建立的所述通信连接,将所述存储数据库中的所述至少一张图片数据存储至所述备份存储设备;

步骤104:释放所述存储数据库中第一数据容量的所述数据空间;

步骤105:构建与所述至少一张图片数据相对应的第二数据容量的目标数据空间;

步骤106:将所述至少一张图片数据存储至所述目标数据空间。

上述实施例中,备份存储设备通过获取存储数据库的属性信息,与存储数据库建立通信连接。然后利用建立的通信连接获取存储数据库中的图片数据,以对图片数据进行备份。然后释放存储数据库中第一数据容量的数据空间,重新构建与图片数据相对应的第二数据容量的目标数据空间,再将备份存储设备中备份的图片数据存储至目标数据空间中。由于构建的目标数据空间与图片数据的数据容量相对应,因此目标数据空间占用的资源为图片数据真实占用的资源,而预先划分给存储数据库却未存储图片数据的数据空间被释放,因此降低了服务器资源的占用率。

本发明一个实施例中,所述在所述数据空间中存储有第二数据容量的至少一张图片数据,包括:

在所述数据空间中设置有至少一个存储文件夹;其中,每一个所述存储文件夹对应于一个智能家电;

根据每一张所述图片数据所属的智能家电,将所述至少一张图片数据分别存储于对应的所述存储文件夹中;

步骤103的具体实施方式,可以包括:

利用所述备份存储设备根据所述通信连接从所述存储数据库中获取各个所述存储文件夹;

根据获取的所述存储文件夹,在所述备份存储设备中形成对应的备份存储数据。

例如,智能冰箱可以在每次开关门的时候,自动对冰箱内的食品进行拍照,以利于后期通过智能识别技术对照片进行分析,从而根据冰箱内的食物提供相应的食谱推荐。不同用户的智能冰箱拍摄的照片在后台服务器中以不同存储文件夹进行存储。例如,智能冰箱a的照片存储于存储文件夹a中,智能冰箱b的照片存储于存储文件夹b中。当备份存储设备与存储数据库建立通信连接后,备份存储设备从存储数据库中获取各个存储文件夹,以获取存储文件夹中存储的图片数据,并在备份存储设备中进行存储,形成备份存储数据。利用存储文件夹对不同智能家电的图片数据分别进行存储,有利于对不同智能家电的图片数据进行管理。

本发明一个实施例中,在所述利用所述备份存储设备根据所述通信连接从所述存储数据库中获取各个所述存储文件夹之后,在步骤104之前,可以进一步包括:

确定存储数据库中各个所述存储文件夹对应的第一文件总数量,以及每一个所述存储文件夹对应的文件大小;

确定所述备份存储数据中的备份文件夹对应的第二文件总数量,以及每一个所述备份文件夹对应的文件大小;

根据所述第一文件总数量、第二文件总数量以及各个所述存储文件夹和所述备份文件夹分别对应的文件大小,对所述备份存储数据进行准确性验证;

当验证通过时,执行所述释放所述存储数据库中第一数据容量的所述数据空间。

具体地,所述根据所述第一文件总数量、第二文件总数量以及各个所述存储文件夹和所述备份文件夹分别对应的文件大小,对所述备份存储数据进行准确性验证,包括:

确定所述第一文件总数量与所述第二文件总数量是否相等,如果是,则根据每一个所述存储文件夹的文件大小,以及所对应的备份文件夹的文件大小,利用下述计算公式,计算所述备份存储数据的准确率;

当所述准确率小于预设阈值时,确定所述备份存储数据通过准确性验证;

其中,y表征所述准确率,x_i表征第i个所述存储文件夹的文件大小,x_j表征与第i个存储文件夹相对应的备份文件夹的文件大小,n表征所述第一文件总数量,a为预设常数。

由于释放存储数据库中数据空间的过程会删除该数据空间中存储的图片数据,因此,为了保证图片数据的完整性和准确性,在释放数据空间前对图片数据进行校验。具体地,通过确定存储文件夹数量以及每个存储文件夹大小,确定备份存储文件中的备份文件夹数量与存储文件夹的数量相同,并确定相应文件夹的大小相同,即可说明备份存储数据通过准确性校验,此时即可删除存储数据库中的图片数据,即释放存储数据库的数据空间。

本发明一个实施例中,步骤106的具体实施方式,可以包括:

通过scp传输指令将所述至少一张图片数据传输至所述目标数据空间中;

对所述至少一张图片数据进行准确性验证,当验证通过时,将所述至少一张图片数据进行存储,否则,删除所述至少一张图片数据,并执行所述通过scp传输指令将所述至少一张图片数据传输至所述目标数据空间中。

以存储数据库为mongodb数据库为例,mongodb数据库设置在服务器a中,则释放线上存储数据库即是删除mongodb数据库。然后需将备份存储设备中的图片数据重新上传到服务器a中,由于服务器难以直接访问本地备份存储设备,因此采用scp进行图片数据的传输,具体命令可以为scp-i//media/mongo_back/***-new-p**-r/media/mongo_back/mongodbback/imgdbroot@*.*.*.*:/data/mongotest/。则可在服务器a中重新构建与图片数据的数据容量相对应的mongodb数据库,重新构建的mongodb数据库的目标数据空间为第二数据容量,此时再将图片数据重新导入到该mongodb数据库中,并校验图片数据对应的文件数量以及每个文件的大小是否正确,如果是,则说明图片数据重新导入成功,否则从备份存储设备中重新传输图片数据。由此可保证导入的图片数据的准确性,避免在存储空间释放过程中出现数据误丢失等错误。

下面以服务器a上设置有存储数据库mongodb数据库为例,对本发明实施例提供的存储空间释放方法进行详细说明,如图2所示,该方法可以包括以下步骤:

步骤201:在备份存储设备上安装mongodb程序,根据mongodb程序在备份存储设备上构建本地mongodb库,并在mongodb程序安装目录下定义备份目录。

其中,备份存储设备可以为本地服务器,也可以为移动硬盘,或者二者兼有。由于在mongodb数据库中存储的图片数据为mongodb格式,则在备份存储设备上安装mongodb程序,可有利于在备份存储设备查看和使用图片数据。

步骤202:备份存储设备获取服务器a的属性信息,利用所述属性信息,与服务器a建立通信连接。

例如,备份存储设备可通过获取服务器a的ip地址或者端口号等属性信息,与服务器a建立通信连接。

步骤203:备份存储设备根据建立的通信连接,连接服务器a中的mongodb数据库,获取mongodb数据库中的至少一张图片数据,并将获取到的图片数据存储至备份目录下。

该步骤的具体命令可以为mongodump-h*.*.*.*--port*-dimgdb-o/media/mongo_back/mongodbback。此处的imgdb为服务器a中的mongodb数据库,mongodbback为步骤201设置的本地数据读取目录,备份的文件会存在此目录下。

步骤204:将备份目录下的图片数据恢复至本地mongodb库,在本地mongodb库中确定图片数据对应的文件数量和大小。

将备份目录下的图片数据恢复到本地mongodb库的过程可通过以下命令实现:./mongorestore--port9999/media/mongo_back/mongodbback。

步骤205:当本地mongodb库中的文件数量和大小与服务器a中mongodb数据库的文件数量和大小相同时,删除服务器a中的mongodb数据库。

步骤206:将备份存储设备中的图片数据恢复至服务器a中,在服务器a中重新构建与图片数据的数据容量相对应的目标mongodb数据库,将图片数据导入目标mongodb数据库中。

由于服务器a无法直接访问本地服务器内容,所以采用的是scp直接传输,而未能使用./mongorestore命令。其中,具体命令可以为:scp-i//media/mongo_back/***-new-p**-r/media/mongo_back/mongodbback/imgdbroot@*.*.*.*:/data/mongotest/。

上述实施例基于mongodb数据库在删除数据后无法对存储空间进行释放,从而采用在本地服务器进行备份,对线上数据库进行初始化的操作。同时,本地备份数据再迁移至线上服务器,实现对目标数据库的空间释放以及数据还原操作。解决了mongodb数据库存储介质在删除数据后有效释放空间的问题,节约了服务器的存储空间,减少了运维成本,同时对数据进行了有效备份。

如图3所示,本发明实施例提供了一种存储空间释放系统,包括:备份存储设备301、存储数据库302和处理模块303;其中,

所述存储数据库302包括第一数据容量的数据空间,且在所述数据空间中存储有第二数据容量的至少一张图片数据;所述第二数据容量不大于所述第一数据容量;

所述备份存储设备301,用于获取所述存储数据库302对应的属性信息;根据所述属性信息与所述存储数据库302建立通信连接;利用所述通信连接,从所述存储数据库302中获取所述至少一张图片数据,并存储所述至少一张图片数据;

所述处理模块303,用于释放所述存储数据库302中第一数据容量的所述数据空间;构建与所述至少一张图片数据相对应的第二数据容量的目标数据空间;将所述至少一张图片数据存储至所述目标数据空间。

本发明一个实施例中,所述存储数据库302的所述数据空间中设置有至少一个存储文件夹;其中,每一个所述存储文件夹对应于一个智能家电;

所述存储数据库302,用于根据每一张所述图片数据所属的智能家电,将所述至少一张图片数据分别存储于对应的所述存储文件夹中;

所述备份存储设备301,用于根据所述通信连接从所述存储数据库302中获取各个所述存储文件夹;根据获取的所述存储文件夹,形成对应的备份存储数据。

本发明一个实施例中,所述备份存储设备301,进一步用于确定存储数据库302中各个所述存储文件夹对应的第一文件总数量,以及每一个所述存储文件夹对应的文件大小;确定所述备份存储数据中的备份文件夹对应的第二文件总数量,以及每一个所述备份文件夹对应的文件大小;根据所述第一文件总数量、第二文件总数量以及各个所述存储文件夹和所述备份文件夹分别对应的文件大小,对所述备份存储数据进行准确性验证,当验证通过时,触发所述处理模块303。

本发明一个实施例中,所述备份存储设备301,用于确定所述第一文件总数量与所述第二文件总数量是否相等,如果是,则根据每一个所述存储文件夹的文件大小,以及所对应的备份文件夹的文件大小,利用下述计算公式,计算所述备份存储数据的准确率;当所述准确率小于预设阈值时,确定所述备份存储数据通过准确性验证;

其中,y表征所述准确率,xi表征第i个所述存储文件夹的文件大小,xj表征与第i个存储文件夹相对应的备份文件夹的文件大小,n表征所述第一文件总数量,a为预设常数。

本发明一个实施例中,所述处理模块303,用于通过scp传输指令将所述至少一张图片数据传输至所述目标数据空间中;对所述至少一张图片数据进行准确性验证,当验证通过时,将所述至少一张图片数据进行存储,否则,删除所述至少一张图片数据,并执行所述通过scp传输指令将所述至少一张图片数据传输至所述目标数据空间中。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。

本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。

综上所述,本发明以上各个实施例至少具有如下有益效果:

1、在本发明实施例中,备份存储设备通过获取存储数据库的属性信息,与存储数据库建立通信连接。然后利用建立的通信连接获取存储数据库中的图片数据,以对图片数据进行备份。然后释放存储数据库中第一数据容量的数据空间,重新构建与图片数据相对应的第二数据容量的目标数据空间,再将备份存储设备中备份的图片数据存储至目标数据空间中。由于构建的目标数据空间与图片数据的数据容量相对应,因此目标数据空间占用的资源为图片数据真实占用的资源,而预先划分给存储数据库却未存储图片数据的数据空间被释放,因此降低了服务器资源的占用率。

2、在本发明实施例中,确定存储文件夹数量以及每个存储文件夹大小,并确定备份存储文件中的备份文件夹数量与存储文件夹的数量是否相同,以及确定相应文件夹的大小是否相同,如果相同,则说明备份存储数据通过准确性校验,此时才删除存储数据库中的图片数据,即释放存储数据库的数据空间,由此有利保证图片数据的完整性和准确性。

3、在本发明实施例中,基于mongodb数据库在删除数据后无法对存储空间进行释放,从而采用在本地服务器进行备份,并对线上数据库进行初始化。然后,本地备份数据再迁移至线上服务器,实现对目标数据库的空间释放以及数据还原操作。解决了mongodb数据库存储介质在删除数据后有效释放空间的问题,节约了服务器的存储空间,减少了运维成本,同时对数据进行了有效备份。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1