基于Openstack清理冗余数据的方法及装置转让专利

申请号 : CN202310960475.4

文献号 : CN116701380B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 田晋丞李飞刘无敌刘琼姜海昆范宇

申请人 : 长扬科技(北京)股份有限公司

摘要 :

本发明涉及云计算技术领域,特别涉及一种基于Openstack清理冗余数据的方法及装置,包括:对Openstack前端上传的数据进行监测,当监测到目标数据上传完成,则计算目标数据的唯一性码;确定云端数据库中是否存在与目标数据的唯一性码相同的存储数据;若存在,则基于存储数据的冷热状态,确定是否可将目标数据删除;若可删除,则将目标用户的Openstack前端针对目标数据的数据指针指向存储数据;若不可删除,则将目标数据存储到云端数据库中,并将目标用户的Openstack前端针对目标数据的数据指针指向云端数据库中存储的目标数据。本方案,能够对不同用户上传的相同数据进行清理,以最大化利用硬件存储空间。

权利要求 :

1.一种基于Openstack清理冗余数据的方法,其特征在于,由云端服务器执行,用于对不同用户上传的数据进行冗余数据的清理,所述方法包括:对目标用户在Openstack前端上传的数据进行监测,当监测到目标数据上传完成,则计算所述目标数据的唯一性码;

确定云端数据库中是否存在与所述目标数据的唯一性码相同的存储数据;

若存在,则基于所述存储数据的冷热状态,确定是否可将所述目标数据删除;若确定可将所述目标数据删除,则删除所述目标数据,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述存储数据;若确定不可将所述目标数据删除,则将所述目标数据存储到所述云端数据库中,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述云端数据库中存储的所述目标数据;

所述基于所述存储数据的冷热状态,确定是否可将所述目标数据删除,包括:当所述存储数据的冷热状态为冷数据时,则确定可将所述目标数据删除;当所述存储数据的冷热状态为热数据时,则等待所述存储数据冷却,并确定冷却前后的存储数据的唯一性码是否发生变化,若未发生变化,则确定可将所述目标数据删除;若发生变化,则确定不可将所述目标数据删除;所述冷数据是指所述存储数据当前未被进行操作,所述热数据是指所述存储数据当前正在被进行操作;所述操作至少包括访问、下载、更新和删除中的一种。

2.根据权利要求1所述的方法,其特征在于,所述目标数据的类型为文件、块数据或压缩包文件。

3.根据权利要求2所述的方法,其特征在于,

在计算所述目标数据的唯一性码之前,还包括:基于所述目标数据的类型确定所述目标数据是否可进行拆分,若是,则将所述目标数据拆分为多个子目标数据;

所述计算所述目标数据的唯一性码,包括:将每一个子目标数据分别作为目标数据,以计算每一个目标数据的唯一性码;

还包括:确定多个子目标数据一一对应的多个数据指针分别指向所述云端数据库中的数据在所述目标数据中的顺序关系,以基于所述顺序关系将多个数据指针分别指向的所述云端数据库中的数据在Openstack前端进行整合。

4.根据权利要求3所述的方法,其特征在于,基于所述目标数据的类型确定所述目标数据是否可进行拆分,包括:当所述目标数据的类型为块数据时,则确定所述目标数据可进行拆分;以及当所述目标数据的类型为压缩包文件且该压缩包文件是针对至少两个文件压缩而成的时,则确定所述目标数据可进行拆分;

否则,确定所述目标数据不可进行拆分。

5.根据权利要求4所述的方法,其特征在于,将所述目标数据拆分为多个子目标数据,包括:当所述目标数据的类型为块数据时,则将该块数据中按顺序连续排列在一起的若干组数据块进行拆分,将得到的每一组数据块作为拆分后的子目标数据;

当所述目标数据的类型为压缩包文件时,则将该压缩包文件解压缩后得到的至少两个文件分别作为拆分后的子目标数据。

6.根据权利要求1所述的方法,其特征在于,在确定冷却前后的存储数据的唯一性码发生变化后,还包括:确定对所述存储数据进行操作的更新用户;

针对冷却后存储数据变化后的唯一性码,确定所述云端数据库中是否存在唯一性码与该变化后的唯一性码相同的冷数据;

若存在,则将所述更新用户Openstack前端针对所述存储数据的数据指针指向云端数据库中与该变化后的唯一性码相同的冷数据;

若不存在,则将所述更新用户Openstack前端针对所述存储数据的数据指针指向冷却后的存储数据;

确定数据指针指向冷却前的存储数据的用户是否除所述更新用户外还对应其他用户;

若是,则将其他用户Openstack前端针对冷却前的存储数据的数据指针指向所述目标数据。

7.一种基于Openstack清理冗余数据的装置,其特征在于,位于云端服务器,用于对不同用户上传的数据进行冗余数据的清理,所述装置包括:计算单元,用于对目标用户在Openstack前端上传的数据进行监测,当监测到目标数据上传完成,则计算所述目标数据的唯一性码;

数据处理单元,用于确定云端数据库中是否存在与所述目标数据的唯一性码相同的存储数据;若存在,则基于所述存储数据的冷热状态,确定是否可将所述目标数据删除;若确定可将所述目标数据删除,则删除所述目标数据,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述存储数据;若确定不可将所述目标数据删除,则将所述目标数据存储到所述云端数据库中,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述云端数据库中存储的所述目标数据;

所述数据处理单元在基于所述存储数据的冷热状态确定是否可将所述目标数据删除时,具体包括:当所述存储数据的冷热状态为冷数据时,则确定可将所述目标数据删除;当所述存储数据的冷热状态为热数据时,则等待所述存储数据冷却,并确定冷却前后的存储数据的唯一性码是否发生变化,若未发生变化,则确定可将所述目标数据删除;若发生变化,则确定不可将所述目标数据删除;所述冷数据是指所述存储数据当前未被进行操作,所述热数据是指所述存储数据当前正在被进行操作;所述操作至少包括访问、下载、更新和删除中的一种。

8.一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1‑6中任一项所述的方法。

9.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1‑6中任一项所述的方法。

说明书 :

基于Openstack清理冗余数据的方法及装置

技术领域

[0001] 本发明实施例涉及云计算技术领域,特别涉及一种基于Openstack清理冗余数据的方法及装置。

背景技术

[0002] 目前,越来越多的用户通过不断将自身数据上传至云端实现数据存储。在云端每个用户具有自身的私有化存储空间,自身数据也是上传上自身的私有化存储空间内。而不同用户存在上传相同数据的情况,也就是说,不同用户的私有化存储空间内存储有相同数据。在面临数据量的逐渐增多,硬件存储资源的需求越来越大的情况下,如何对冗余数据进行清理,以最大化利用硬件存储空间,成为当前亟需处置和解决的问题。

发明内容

[0003] 本发明实施例提供了一种基于Openstack清理冗余数据的方法及装置,能够对不同用户上传的相同数据进行清理,以最大化利用硬件存储空间。
[0004] 第一方面,本发明实施例提供了一种基于Openstack清理冗余数据的方法,包括:
[0005] 对目标用户在Openstack前端上传的数据进行监测,当监测到目标数据上传完成,则计算所述目标数据的唯一性码;
[0006] 确定云端数据库中是否存在与所述目标数据的唯一性码相同的存储数据;
[0007] 若存在,则基于所述存储数据的冷热状态,确定是否可将所述目标数据删除;若确定可将所述目标数据删除,则删除所述目标数据,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述存储数据;若确定不可将所述目标数据删除,则将所述目标数据存储到所述云端数据库中,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述云端数据库中存储的所述目标数据。
[0008] 第二方面,本发明实施例还提供了一种基于Openstack清理冗余数据的装置,包括:
[0009] 计算单元,用于对目标用户在Openstack前端上传的数据进行监测,当监测到目标数据上传完成,则计算所述目标数据的唯一性码;
[0010] 数据处理单元,用于确定云端数据库中是否存在与所述目标数据的唯一性码相同的存储数据;若存在,则基于所述存储数据的冷热状态,确定是否可将所述目标数据删除;若确定可将所述目标数据删除,则删除所述目标数据,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述存储数据;若确定不可将所述目标数据删除,则将所述目标数据存储到所述云端数据库中,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述云端数据库中存储的所述目标数据。
[0011] 第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
[0012] 第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
[0013] 本发明实施例提供了一种基于Openstack清理冗余数据的方法及装置,通过对目标用户在Openstack前端上传的目标数据计算唯一性码,以利用唯一性码来判定云端数据库中是否已经存储有相同的存储数据,然后根据该相同的存储数据的冷热状态,来判定是否可将目标数据删除,如果可删除该目标数据,则表明该存储数据与目标数据是完全相同的数据,若云端数据库中同时存储该目标数据和该存储数据,则存在相同数据的冗余,因此可以将目标数据作为冗余数据删除,只需将目标用户的Openstack前端针对该目标数据的数据指针指向云端数据库中的存储数据即可。可见,本方案能够对不同用户上传的相同数据进行清理,以最大化利用硬件存储空间。

附图说明

[0014] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015] 图1是本发明一实施例提供的一种基于Openstack清理冗余数据的方法流程图;
[0016] 图2是本发明一实施例提供的一种电子设备的硬件架构图;
[0017] 图3是本发明一实施例提供的一种基于Openstack清理冗余数据的装置结构图;
[0018] 图4是本发明一实施例提供的另一种基于Openstack清理冗余数据的装置结构图。

具体实施方式

[0019] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0020] 如前所述,每个用户在云端均具有自身的私有化存储空间,自身数据也是上传上自身的私有化存储空间内。也就是说,不同用户之间上传至云端的数据是隔离的。然而,存在不同用户上传相同数据的情况,会造成数据冗余,额外占用云端的硬件存储资源。
[0021] 针对上述问题,本发明的发明构思在于:基于Openstack云级服务,用户在Openstack前端上传数据时,对上传完成的目标数据与云端数据库存储的数据进行匹配以进行冗余性判断,若匹配到相同数据,则表明该目标数据为冗余数据,可以将该目标数据从云端数据库删除,通过在用户Openstack前端针对该目标数据的数据指针指向云端数据库存储的该相同数据,从而可以满足云级服务的数据协同性。
[0022] 下面描述以上构思的具体实现方式。
[0023] 请参考图1,本发明实施例提供了一种基于Openstack清理冗余数据的方法,该方法包括:
[0024] 步骤100,对目标用户在Openstack前端上传的数据进行监测,当监测到目标数据上传完成,则计算所述目标数据的唯一性码;
[0025] 步骤102,确定云端数据库中是否存在与所述目标数据的唯一性码相同的存储数据;若存在,则基于所述存储数据的冷热状态,确定是否可将所述目标数据删除;若确定可将所述目标数据删除,则删除所述目标数据,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述存储数据;若确定不可将所述目标数据删除,则将所述目标数据存储到所述云端数据库中,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述云端数据库中存储的所述目标数据。
[0026] 本发明实施例中,通过对目标用户在Openstack前端上传的目标数据计算唯一性码,以利用唯一性码来判定数据库中是否已经存储有相同的存储数据,然后根据该相同的存储数据的冷热状态,来判定是否可将目标数据删除,如果可删除该目标数据,则表明该存储数据与目标数据是完全相同的数据,若数据库中同时存储该目标数据和该存储数据,则存在相同数据的冗余,因此可以将目标数据作为冗余数据删除,只需将目标用户的Openstack前端针对该目标数据的数据指针指向数据库中的存储数据即可。可见,本方案能够对不同用户上传的相同数据进行清理,以最大化利用硬件存储空间。
[0027] 下面描述图1所示的各个步骤的执行方式。
[0028] 首先,针对步骤100,对目标用户在Openstack前端上传的数据进行监测,当监测到目标数据上传完成,则计算所述目标数据的唯一性码。
[0029] Openstack为私有云和公有云提供可扩展的弹性的云计算服务,用户可通过Openstack前端上传数据至自身的私有化存储空间,不同用户的私有化存储空间均是由云端为其提供的硬件资源,因此,不同用户的私有化存储空间在云端看来是一个整体存储空间,对于不同用户上传的数据可以进行冗余数据的清理。
[0030] 具体地,可以由云端服务器对目标用户在Openstack前端上传的数据进行监测,当监测到数据上传完成后,对该上传完成的目标数据与云端数据库中的存储数据进行匹配,以对目标数据进行冗余性判断。
[0031] 本发明实施例中,可以通过计算数据唯一性码的方式来确定云端数据库中是否存在与目标数据相同的存储数据。
[0032] 由于数据上传过程中存在数据缺失乱码等问题,在本发明一个实施例中,在目标数据上传完成后,可以先使用CRC算法对目标数据进行扫描,以校验数据完整性。在完整性校验通过后,在针对目标数据计算相应的唯一性码。其中,该唯一性码可以为哈希值。
[0033] Openstack的云端数据库可以实现存储的数据类型是多样的,而对于流数据,由于其数据空间占用量较小,因此可以不进行冗余性判定,本发明一个实施例中,在对目标数据进行冗余性判定时是针对目标数据的类型为文件、块数据或压缩包文件时执行的。
[0034] 由于目标数据的类型可以为块数据或压缩包文件,而块数据是由按顺序连续排列在一起的若干组数据块组成的,压缩包文件可能是将至少两个文件压缩在一起后形成的,也就是说,块数据和压缩包文件均是可以进一步拆分的。基于此,在本发明一个实施例中,在计算所述目标数据的唯一性码之前,还包括:基于所述目标数据的类型确定所述目标数据是否可进行拆分,若是,则将所述目标数据拆分为多个子目标数据。
[0035] 那么,在计算目标数据的唯一性码时,具体包括:将每一个子目标数据分别作为目标数据,以计算每一个目标数据的唯一性码。也就是说,每一个子目标数据均可以看作是一个目标数据,以针对每一个子目标数据进行冗余性判定及冗余性清理。
[0036] 由于一个目标数据拆分为多个子目标数据之后,多个子目标数据在目标数据中是存在顺序关系的,为了保证目标用户的Openstack前端针对目标数据的显示是正常的,以及为了保证目标用户对该目标数据进行操作(比如下载该目标数据)时目标数据的准确性,本发明实施例中,还需要确定多个子目标数据一一对应的多个数据指针分别指向所述云端数据库中的数据在所述目标数据中的顺序关系,以基于所述顺序关系将多个数据指针分别指向的所述云端数据库中的数据在Openstack前端进行整合。
[0037] 进一步地,在基于所述目标数据的类型确定所述目标数据是否可进行拆分时,可以包括:当所述目标数据的类型为块数据时,则确定所述目标数据可进行拆分;以及当所述目标数据的类型为压缩包文件且该压缩包文件是针对至少两个文件压缩而成的时,则确定所述目标数据可进行拆分;否则,确定所述目标数据不可进行拆分。
[0038] 那么,在将所述目标数据拆分为多个子目标数据,可以包括:
[0039] 当所述目标数据的类型为块数据时,则将该块数据中按顺序连续排列在一起的若干组数据块进行拆分,将得到的每一组数据块作为拆分后的子目标数据;
[0040] 当所述目标数据的类型为压缩包文件时,则将该压缩包文件解压缩后得到的至少两个文件分别作为拆分后的子目标数据。
[0041] 以目标数据的类型为块数据为例,目标数据为数据块1、数据块2、数据块3、数据块4按顺序组成的块数据,则将目标数据进行拆分,得到数据块1、数据块2、数据块3和数据块
4。
[0042] 以目标数据的类型为压缩包文件为例,目标数据是针对文件1和文件2压缩而成的压缩包文件,则将目标数据进行拆分,得到文件1和文件2。
[0043] 可见,对于两个块数据之间若存在一组或多组数据块是不同的,则表明该两个块数据是不同的,则需要将该两个块数据分别作为一个单独整体进行存储;相应地,对于两个压缩包文件之间若存在一个或多个被压缩文件是不同的,则表明两个压缩包文件是不同的,则需要将该两个压缩包文件分别作为一个单独整体进行存储。如此,云端数据库需要提供两个数据的存储空间。而本发明实施例中,通过将块数据和压缩包文件进行拆分,以针对拆分后的子目标数据进行冗余性判定和清理,如此,对于两个块数据之间或两个压缩包文件之间,只需对相同的数据块或被压缩文件存储一份即可,从而可以进一步提高硬件存储资源的利用率。
[0044] 然后,针对步骤102,确定云端数据库中是否存在与所述目标数据的唯一性码相同的存储数据;若存在,则基于所述存储数据的冷热状态,确定是否可将所述目标数据删除;若确定可将所述目标数据删除,则删除所述目标数据,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述存储数据;若确定不可将所述目标数据删除,则将所述目标数据存储到所述云端数据库中,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述云端数据库中存储的所述目标数据。
[0045] 云端数据库中存储有各个用户上传的数据,在目标用户上传完成目标数据后,需要对目标数据进行冗余性判定,即云端数据库中若存在与目标数据的唯一性码相同的存储数据,则此时表明该目标数据是冗余的。但是,云端数据库中与该目标数据唯一性码相同的存储数据大概率是由其他用户上传的,且该存储数据可能存在被更新的情况,若存储数据发生更新,则其唯一性码也会发生变化,因此,需要确定存储数据当前的冷热状态,该冷热状态包括冷数据和热数据,冷数据是指该存储数据当前未被进行操作,热数据是指存储数据当前正在被进行操作。该操作可以包括访问、下载、更新、删除等。
[0046] 具体地,在基于存储数据的冷热状态确定是否可将目标数据删除时,可以包括:
[0047] 当所述存储数据的冷热状态为冷数据时,则确定可将所述目标数据删除;
[0048] 当所述存储数据的冷热状态为热数据时,则等待所述存储数据冷却,并确定冷却前后的存储数据的唯一性码是否发生变化,若未发生变化,则确定可将所述目标数据删除;若发生变化,则确定不可将所述目标数据删除。
[0049] 由于存储数据在由热数据的状态冷却后可能会发生唯一性码的变化,也可能未发生唯一性码的变化,若发生了变化,则表明该目标数据不是冗余数据,则需要存储该目标数据。
[0050] 进一步地,在确定冷却前后的存储数据的唯一性码发生变化后(下文称之为变化后的唯一性码),则会面临如下两种情况:
[0051] 情况一、云端数据库中存在唯一性码与变化后的唯一性码相同的冷数据;
[0052] 情况二、云端数据库中不存在唯一性码与变化后的唯一性码相同的冷数据。
[0053] 在变化后的唯一性码分别对应上述两种情况时,处理方式不同。具体地:
[0054] 变化后的唯一性码对应上述情况一时,则确定对所述存储数据进行操作的更新用户,将所述更新用户Openstack前端针对所述存储数据的数据指针指向云端数据库中与变化后的唯一性码相同的冷数据。
[0055] 变化后的唯一性码对应上述情况二时,则确定对所述存储数据进行操作的更新用户,将所述更新用户Openstack前端针对所述存储数据的数据指针指向冷却后的存储数据。
[0056] 无论变化后的唯一性码对应上述哪种情况,只要存储数据冷却后其唯一性码发生了变化,则还需要:确定数据指针指向冷却前的存储数据的用户是否除所述更新用户外还对应其他用户;若是,则将其他用户Openstack前端针对冷却前的存储数据的数据指针指向所述目标数据。
[0057] 由于存储数据冷却后其唯一性码发生了变化,因此,不能够删除目标数据,需要将目标数据存储到云端数据库,并且对于数据指针指向冷却前的存储数据的其他用户未对存储数据进行操作,则需要将数据指针重定向至目标数据,从而保证各用户Openstack前端对上传数据的正常显示。
[0058] 基于上述步骤100中,若拆分后的子目标数据的数据指针的指向发生了变化,则需要重新确定多个子目标数据一一对应的多个数据指针分别指向所述云端数据库中的数据在所述目标数据中的顺序关系,以基于所述顺序关系将多个数据指针分别指向的所述云端数据库中的数据在Openstack前端进行整合。
[0059] 如图2、图3所示,本发明实施例提供了一种基于Openstack清理冗余数据的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种基于Openstack清理冗余数据的装置所在电子设备的一种硬件架构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在电子设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种基于Openstack清理冗余数据的装置,包括:
[0060] 计算单元300,用于对目标用户在Openstack前端上传的数据进行监测,当监测到目标数据上传完成,则计算所述目标数据的唯一性码;
[0061] 数据处理单元302,用于确定云端数据库中是否存在与所述目标数据的唯一性码相同的存储数据;若存在,则基于所述存储数据的冷热状态,确定是否可将所述目标数据删除;若确定可将所述目标数据删除,则删除所述目标数据,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述存储数据;若确定不可将所述目标数据删除,则将所述目标数据存储到所述云端数据库中,并将所述目标用户的Openstack前端针对所述目标数据的数据指针指向所述云端数据库中存储的所述目标数据。
[0062] 在本发明一个实施例中,所述目标数据的类型为文件、块数据或压缩包文件。
[0063] 在本发明一个实施例中,请参考图4,该装置还可以包括:
[0064] 拆分单元304,用于基于所述目标数据的类型确定所述目标数据是否可进行拆分,若是,则将所述目标数据拆分为多个子目标数据;
[0065] 所述计算单元在计算所述目标数据的唯一性码时,具体包括:将每一个子目标数据分别作为目标数据,以计算每一个目标数据的唯一性码;
[0066] 所述数据处理单元,还用于:确定多个子目标数据一一对应的多个数据指针分别指向所述云端数据库中的数据在所述目标数据中的顺序关系,以基于所述顺序关系将多个数据指针分别指向的所述云端数据库中的数据在Openstack前端进行整合。
[0067] 在本发明一个实施例中,所述拆分单元在基于所述目标数据的类型确定所述目标数据是否可进行拆分,具体包括:当所述目标数据的类型为块数据时,则确定所述目标数据可进行拆分;以及当所述目标数据的类型为压缩包文件且该压缩包文件是针对至少两个文件压缩而成的时,则确定所述目标数据可进行拆分;否则,确定所述目标数据不可进行拆分。
[0068] 在本发明一个实施例中,所述拆分单元在将所述目标数据拆分为多个子目标数据时,具体包括:
[0069] 当所述目标数据的类型为块数据时,则将该块数据中按顺序连续排列在一起的若干组数据块进行拆分,将得到的每一组数据块作为拆分后的子目标数据;
[0070] 当所述目标数据的类型为压缩包文件时,则将该压缩包文件解压缩后得到的至少两个文件分别作为拆分后的子目标数据。
[0071] 在本发明一个实施例中,所述数据处理单元在基于所述存储数据的冷热状态确定是否可将所述目标数据删除时,具体包括:
[0072] 当所述存储数据的冷热状态为冷数据时,则确定可将所述目标数据删除;
[0073] 当所述存储数据的冷热状态为热数据时,则等待所述存储数据冷却,并确定冷却前后的存储数据的唯一性码是否发生变化,若未发生变化,则确定可将所述目标数据删除;若发生变化,则确定不可将所述目标数据删除。
[0074] 在本发明一个实施例中,所述数据处理单元还用于在确定冷却前后的存储数据的唯一性码发生变化后,确定对所述存储数据进行操作的更新用户;针对冷却后存储数据变化后的唯一性码,确定所述云端数据库中是否存在唯一性码与该变化后的唯一性码相同的冷数据;若存在,则将所述更新用户Openstack前端针对所述存储数据的数据指针指向云端数据库中与该变化后的唯一性码相同的冷数据;若不存在,则将所述更新用户Openstack前端针对所述存储数据的数据指针指向冷却后的存储数据;
[0075] 所述数据处理单元还用于确定数据指针指向冷却前的存储数据的用户是否除所述更新用户外还对应其他用户;若是,则将其他用户Openstack前端针对冷却前的存储数据的数据指针指向所述目标数据。
[0076] 可以理解的是,本发明实施例示意的结构并不构成对一种基于Openstack清理冗余数据的装置的具体限定。在本发明的另一些实施例中,一种基于Openstack清理冗余数据的装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
[0077] 上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0078] 本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种基于Openstack清理冗余数据的方法。
[0079] 本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种基于Openstack清理冗余数据的方法。
[0080] 具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
[0081] 在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0082] 用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD‑ROM、CD‑R、CD‑RW、DVD‑ROM、DVD‑RAM、DVD‑RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0083] 此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0084] 此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0085] 需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0086] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
[0087] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。