CN109241011A - 一种虚拟机文件处理方法及装置 - Google Patents
一种虚拟机文件处理方法及装置 Download PDFInfo
- Publication number
- CN109241011A CN109241011A CN201811109911.2A CN201811109911A CN109241011A CN 109241011 A CN109241011 A CN 109241011A CN 201811109911 A CN201811109911 A CN 201811109911A CN 109241011 A CN109241011 A CN 109241011A
- Authority
- CN
- China
- Prior art keywords
- file
- storage
- virtual machine
- data
- storage mode
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种虚拟机文件处理方法及装置,所述方法在获得用于指示存储第一文件的文件存储请求时,确定所述第一文件的存储方式,并在所述第一文件的存储方式为第一存储方式的情况下,以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。从而,应用本申请方案,针对以对象形式存储的虚拟机文件,可实现以文件为单位对虚拟机文件进行数据查重及重复数据删除处理,即文件级重删,相比于现有技术的数据块级虚拟机文件数据重删技术,可有效避免因数据文件的不规则切割而导致的重删率低的问题,大大提升了虚拟机文件数据的重删率。
Description
技术领域
本发明属于虚拟机文件管理技术领域,尤其涉及一种虚拟机文件处理方法及装置。
背景技术
随着云计算技术逐步成熟,云计算环境中虚拟机的性能越来越高,其一方面能够快速满足用户对物理设备的需求,另一方面采用云计算可以减少企业IT(InformationTechnology,信息技术)部门的维护成本,从而,越来越多的用户开始使用虚拟机取代传统的台式机。
现代通信技术的发展导致大量相同的信息在用户之间流转,如网络图片、音视频数据(歌曲文件、影视剧文件)等,为节约存储资源,对于重复数据,底层存储系统一般会采用重复数据删除技术将相同的数据删掉。如果用户使用虚拟机,如云计算环境中的虚拟机等,虚拟机会将系统中的文件与操作系统一起做成一个大文件存储,这样就不能使用基于文件(这里的文件指传统意义上的文件,如用户的word文档、邮件、图片、音视频文件等,区别于上述的大文件)的重复数据删除策略。
对于用户使用虚拟机的该情况,目前云计算环境中的重复数据删除技术,都是将整个虚拟机中的数据按照一个大文件进行切块,不同虚拟机的大文件之间以块为单位进行数据的比对查重以及重复数据块的删除(即数据块级别的数据查重及重删),这种重删技术可能会将同一数据文件切分到不同的块中,进而会使得不同虚拟机中原本相同的数据文件可能会因切分情况不同而导致所得的数据块不同,最终导致漏删该情况的重复文件,从而降低了重复数据的重删率。
发明内容
有鉴于此,本发明的目的在于提供一种虚拟机文件处理方法及装置,以避免现有的虚拟机文件数据重删技术因数据文件的不规则切割而导致的重删率低的问题。
为此,本发明公开如下技术方案:
一种虚拟机文件处理方法,包括:
获得文件存储请求,所述文件存储请求用于指示存储第一文件;
确定所述第一文件的存储方式;
若所述第一文件的存储方式为第一存储方式,则以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。
优选的,所述确定所述第一文件的存储方式,包括:
识别所述文件存储请求中是否包括预定标志;其中,若所述第一文件对应一指示以对象形式保存文件的预定属性,则所述文件存储请求中包括所述预定标志,若所述第一文件未对应所述预定属性,则所述文件存储请求中不包括所述预定标志;虚拟机基于预定的重删策略确定所述第一文件是否对应所述预定属性;
若包括,则所述第一文件的存储方式为第一存储方式;
若不包括,则所述第一文件的存储方式为第二存储方式。
优选的,所述以对象形式存储所述第一文件,包括:
为所述第一文件创建一个相对应的第一对象,创建的所述第一对象至少能够指示所述第一文件在预定的第一存储系统中的待存储位置;所述第一存储系统与虚拟机中用于存储大文件的第二存储系统相互独立;
将所述第一文件写入所述第一存储系统中所述第一对象所指示的待存储位置;
在所述第一存储系统中记录所述第一文件与所述第一对象的对应关系。
优选的,所述方法还包括:
若所述第一文件的存储方式为第二存储方式,则将所述第一文件与所述虚拟机中已存储的大文件处理成新的大文件,并在虚拟机中存储所述新的大文件,以使得以大文件形式在虚拟机中存储所述第一文件。
优选的,所述方法还包括以下处理过程中的至少一种:
以文件为单位对所述第一存储系统中存储的各个文件进行查重处理,并对查重处理后所确定出的重复文件进行文件删除处理;
在获得针对第二文件的读文件请求时,确定所述第二文件的存储方式,若所述第二文件的存储方式为所述第一存储方式,则从所述第一存储系统中读取所述第二文件,若所述第二文件的存储方式为所述第二存储方式,则从所述第二存储系统中读取所述第二文件。
优选的,所述从所述第一存储系统中读取所述第二文件,包括:
从所述第一存储系统中所存储的文件与对象的对应关系信息中,读取所述第二文件所对应的第二对象的信息;
基于所述第二对象的信息确定所述第二文件在所述第一存储系统中的存储位置;
从所述存储位置中读取所述第二文件。
一种虚拟机文件处理装置,包括:
获取单元,用于获得文件存储请求,所述文件存储请求用于指示存储第一文件;
确定单元,用于确定所述第一文件的存储方式;
存储单元,用于在所述第一文件的存储方式为第一存储方式的情况下,以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。
优选的,所述确定单元,具体用于:
识别所述文件存储请求中是否包括预定标志;其中,若所述第一文件对应一指示以对象形式保存文件的预定属性,则所述文件存储请求中包括所述预定标志,若所述第一文件未对应所述预定属性,则所述文件存储请求中不包括所述预定标志;虚拟机基于预定的重删策略确定所述第一文件是否对应所述预定属性;
若包括,则所述第一文件的存储方式为第一存储方式;
若不包括,则所述第一文件的存储方式为第二存储方式。
优选的,所述存储单元以对象形式存储所述第一文件,具体包括:
为所述第一文件创建一个相对应的第一对象,创建的所述第一对象至少能够指示所述第一文件在预定的第一存储系统中的待存储位置;所述第一存储系统与虚拟机中用于存储大文件的第二存储系统相互独立;
将所述第一文件写入所述第一存储系统中所述第一对象所指示的待存储位置;
在所述第一存储系统中记录所述第一文件与所述第一对象的对应关系。
优选的,所述装置还包括以下处理单元中的至少一种:
查重及重删处理单元,用于以文件为单位对所述第一存储系统中存储的各个文件进行查重处理,并对查重处理后所确定出的重复文件进行文件删除处理;
读文件处理单元,用于在获得针对第二文件的读文件请求时,确定所述第二文件的存储方式,若所述第二文件的存储方式为所述第一存储方式,则从所述第一存储系统中读取所述第二文件,若所述第二文件的存储方式为所述第二存储方式,则从所述第二存储系统中读取所述第二文件。
由以上方案可知,本申请公开的虚拟机文件处理方法及装置,在获得用于指示存储第一文件的文件存储请求时,确定所述第一文件的存储方式,并在所述第一文件的存储方式为第一存储方式的情况下,以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。从而,应用本申请方案,针对以对象形式存储的虚拟机文件,可实现以文件为单位对虚拟机文件进行数据查重及重复数据删除处理,即文件级重删,相比于现有技术的数据块级虚拟机文件数据重删技术,可有效避免因数据文件的不规则切割而导致的重删率低的问题,大大提升了虚拟机文件数据的重删率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请提供的一种虚拟机文件处理方法实施例一的流程图;
图2是本申请提供的一种虚拟机文件处理方法实施例二的流程图;
图3是本申请提供的一种虚拟机文件处理方法实施例三的流程图;
图4是本申请提供的一种虚拟机文件处理方法实施例四的流程图;
图5是本申请实施例四提供的对云计算环境各虚拟机中的数据以对象形式进行存储及重删处理的示意图;
图6是本申请实施例四提供的在云计算环境中应用本申请方案的一应用示例示意图;
图7是本申请提供的一种虚拟机文件处理装置实施例五的结构示意图;
图8是本申请提供的一种虚拟机文件处理装置实施例八的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:
数据重删:是一种将数据内容相同的多份数据中的至少一份删除,以节省数据存储空间的技术。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为避免现有的虚拟机文件数据重删技术因数据文件的不规则切割而导致的重删率低的问题,提升虚拟机文件数据的重删率,本申请提供了一种虚拟机文件处理方法及装置,该方法及装置可以应用于云计算环境中的虚拟机文件管理中,或者还可以应用于个人客户端场景的虚拟机文件管理中,本申请并不对此进行限定。以下将通过多个实施例对本申请的虚拟机文件处理方法及装置进行说明。
参考图1,是本申请提供的一种虚拟机文件处理方法实施例一的流程图,本实施例中,所述虚拟机文件处理方法包括如下步骤:
步骤101、获得文件存储请求,所述文件存储请求用于指示存储第一文件。
所述第一文件可以是云计算环境或个人客户端等场景中的虚拟机文件,且所述第一文件可以是上述场景中的虚拟机操作系统文件,或者还可以是基于用户操作所形成/产生的各类型用户文件,如用户在虚拟机中创建的word/excel/ppt文档、eml/msg邮件、以及从网络下载的图片、音视频文件等等,本实施例对此不予限定。接下来,将主要以云计算环境中虚拟机文件的存储及重删等处理过程为例,对本申请方案进行说明。
所述用于指示存储第一文件的文件存储请求,可以是用户基于其需求,通过在虚拟机中执行相应的文件数据保存/存储操作所触发的请求,如操作所编辑的word文档的保存按键以触发word文档保存请求、在从网站下载音视频文件至所选择的目录时操作待下载的音视频文件所对应的保存按键以触发音视频文件保存请求等等,或者,还可以是虚拟机自动触发的请求,如对于操作系统升级过程中所更新的操作系统文件自动触发针对该更新的操作系统文件的存储请求等。
步骤102、确定所述第一文件的存储方式。
现有技术中,虚拟机会将系统中的文件如用户文件与操作系统一起做成一个大文件存储,为了避免这种存储方式所对应的数据块级数据重删技术因数据文件的不规则切割而导致的重删率低的问题,本申请提出了一种额外的将虚拟机文件以单独的对象形式进行保存的技术,即该技术具体会将文件保存成对象的形式,其中,以对象形式存储的文件能够使得文件数据支持文件级别的数据查重及重复数据删除处理,也即,以对象形式存储的文件能够使得文件数据支持以文件为单位进行数据查重及数据重删。
实际应用中,可将本申请提出的以对象形式存储虚拟机文件的技术以及现有的大文件存储技术结合使用,其中,对于重复概率较高从而重删概率也相应较高的数据可以优先采用以对象形式进行存储,而对于重复概率较低从而重删概率也相应较低的数据则可以优先采用以大文件形式进行存储。
具体实施时,可通过一定的重删策略或判断机制确定待存储的虚拟机文件是否属于重复/重删概率较高的文件,进而确定其对应所需的存储方式。其中,对于通用性高、修改概率较低的文件,如用户从网站下载的图片、音视频文件(如歌曲/影视剧文件)等等,其重复概率一般较高,相对应地重删概率也较高,从而针对这些类型的文件可确定出其存储方式为用于指示将文件存储为对象形式的第一存储方式,该方式也可直观地理解为对象存储方式;而对于通用性低、修改概率较高的文件,如用户创建的word/excel/ppt文件、eml/msg邮件等,其重复概率一般较低,相对应地重删概率也较低,从而针对这些类型的文件可确定出其存储方式为用于指示以大文件形式存储数据的第二存储方式,该第二存储方式也即大文件存储方式。
步骤103、若所述第一文件的存储方式为第一存储方式,则以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。
所述文件级别的数据查重及重复数据删除处理,即指将数据以文件为单位进行数据查重及重复数据删除,例如,通过预定的文件数据查验技术确定虚拟机文件1与虚拟机文件2的文件数据是否相同,并在两者的数据内容相同的情况下,删除其中之一,仅保留存储一份文件等。
若所述第一文件的存储方式为第一存储方式,即对象存储方式,根据前文所述可以表明该待存储的第一文件为重复/重删概率较高的虚拟机文件,如用户从网站下载的图片、音视频文件等,从而,可将该第一文件存储为单独的对象形式,以方便后续在触发虚拟机的数据重删处理时,支持以文件为单位将该第一文件的文件数据与其他文件的文件数据进行查重,以及数据重复情况下的文件删除处理。
这里,需要说明的是,本申请中的文件查重以及重复数据删除处理,在云计算环境中,可以是指不同虚拟机的虚拟机文件间的数据查重及数据重删,和/或同一虚拟机的虚拟机文件间的数据查重及数据重删,本实施例对此不予限定。
由以上方案可知,本实施例提供的虚拟机文件处理方法,在获得用于指示存储第一文件的文件存储请求时,确定所述第一文件的存储方式,并在所述第一文件的存储方式为第一存储方式的情况下,以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。从而,应用本申请方案,针对以对象形式存储的虚拟机文件,可实现以文件为单位对虚拟机文件进行数据查重及重复数据删除处理,即文件级重删,相比于现有技术的数据块级虚拟机文件数据重删技术,可有效避免因数据文件的不规则切割而导致的重删率低的问题,大大提升了虚拟机文件数据的重删率。
参考图2,是本申请提供的一种虚拟机文件处理方法实施例二的流程图,本实施例对该虚拟机文件处理方法进行进一步详述,参考图2,该方法包括如下处理步骤:
步骤201、获得文件存储请求,所述文件存储请求用于指示存储第一文件。
所述第一文件可以是云计算环境或个人客户端等场景中的虚拟机文件,且所述第一文件可以是上述场景中的虚拟机操作系统文件,或者还可以是基于用户操作所形成/产生的各类型用户文件,如用户在虚拟机中创建的word/excel/ppt文档、eml/msg邮件、以及从网络下载的图片、音视频文件等等,本实施例对此不予限定。接下来,将主要以云计算环境中虚拟机文件的存储及重删等处理过程为例,对本申请方案进行说明。
所述用于指示存储第一文件的文件存储请求,可以是用户基于其需求,通过在虚拟机中执行相应的文件数据保存/存储操作所触发的请求,如操作所编辑的word文档的保存按键以触发word文档保存请求、在从网站下载音视频文件至所选择的目录时操作待下载的音视频文件所对应的保存按键以触发音视频文件保存请求等等,或者,还可以是虚拟机自动触发的请求,如对于操作系统升级过程中所更新的操作系统文件自动触发的针对该更新的操作系统文件的存储请求等。
步骤202、识别所述文件存储请求中是否包括预定标志。
其中,若所述第一文件对应一指示以对象形式保存文件的预定属性,则所述文件存储请求中包括所述预定标志,若所述第一文件未对应所述预定属性,则所述文件存储请求中不包括所述预定标志;虚拟机基于预定的重删策略确定所述第一文件是否对应所述预定属性。
具体实施中,可在云计算环境中基于不同类型虚拟机文件所对应的重复/重删概率高低,预先确定哪些类型的虚拟机文件需要以对象形式保存,哪些类型的虚拟机文件需要以大文件形式保存,例如,对于用户的邮件图片文件(虚拟机环境中的邮件图片文件在多个用户的虚拟机中随邮件被保存,在整个云计算环境中会被存储多次)、用户从网站下载的图片、音视频文件等重复/重删概率较高的虚拟机文件,可确定其采用对象形式保存,而对于用户创建的word/excel/ppt、eml/msg邮件等重复/重删概率较低的虚拟机文件,可确定其采用大文件形式保存。
对于需采用对象形式保存的文件类型(如图片类型、音视频文件类型)可为其设置一预定属性,该预定属性用于控制文件在存储时所采用的方式具体为对象存储方式;而对于需采用大文件形式保存的文件类型(如word/excel/ppt文件类型、eml/msg邮件等)可为其设置一其他属性或者不进行属性设置(当被设置为其他属性时,所述其他属性及所述预定属性可通过不同的属性名称或同一属性名称的不同属性值加以区分),以实现与需以对象形式存储的文件类型加以区分标识。
在此基础上,虚拟机会根据文件类型的属性设置情况,识别待存储的虚拟机文件所对应的属性,若待存储的虚拟机文件对应所述预定属性,则表示需以对象形式存储该文件,此种情况下,会向该文件的文件存储请求中设置一预定标志,文件存储请求通过携带的该预定标志指示待存储文件需要以对象形式保存;反之,若待存储的虚拟机文件不对应所述预定属性,则表示需以大文件形式存储该文件,此种情况下,不需向该文件的文件存储请求中设置所述预定标志,后续以普通的大文件形式保存该文件即可。
步骤203、若包括,则所述第一文件的存储方式为第一存储方式。
基于前文所述,可知,如果所述第一文件的文件存储请求中包括所述预定标志,则表示该第一文件需以对象形式保存,从而可确定出该第一文件的存储方式为第一存储方式,即对象存储方式,在此基础上,相对应地会以对象形式保存该第一文件。
后续,该第一文件支持系统对其进行文件级别的数据查重及数据重删处理,例如,将该第一文件与同一虚拟机和/或其他虚拟机提供的以对象形式保存的虚拟机文件进行比对查重以及数据重复情况下的文件删除处理等。
其中,实际应用中,对于待比对的多个虚拟机文件,可以采用但不限于基于预定算法计算各虚拟机文件的校验值,并对比校验值是否相同的方式来确定虚拟机文件的数据是否重复,其中,若两个虚拟机文件的校验值相同,则表示两个虚拟机文件的数据内容相同,反之,若两个虚拟机文件的校验值不同,则相应地表示两个虚拟机文件的数据内容不同。
步骤204、若不包括,则所述第一文件的存储方式为第二存储方式。
如果所述第一文件的文件存储请求中不包括所述预定标志,则表示该第一文件需以大文件形式保存,从而可确定出该第一文件的存储方式为第二存储方式,即大文件存储方式,在此基础上,相对应地会以大文件形式保存该第一文件。
步骤205、若所述第一文件的存储方式为第一存储方式,则为所述第一文件创建一个相对应的第一对象,创建的所述第一对象至少能够指示所述第一文件在预定的第一存储系统中的待存储位置;所述第一存储系统与虚拟机中用于存储大文件的第二存储系统相互独立。
对于云计算环境来说,所述第一存储系统可以是云计算环境中位于各虚拟机底层的底层存储系统,从而,对于云计算环境中的各个虚拟机而言,会在独立于各个虚拟机的底层存储系统中,对各虚拟机中重复/重删概率较高的虚拟机文件以对象形式进行统一存储。所述第二存储系统则是指虚拟机中用于存储大文件的存储系统,对于虚拟机中重复/重删概率较低的虚拟机文件则会以大文件形式存储在虚拟机自身的存储系统中。
其中,如果所述第一文件的存储方式为第一存储方式,则需要以对象形式将所述第一文件存储至云计算环境中的底层存储系统中,具体实施中,可首先为所述第一文件创建一相应的第一对象,该第一对象应至少能够指示所述第一文件在所述底层存储系统中的待存储位置,如所述第一对象具体可以包括对象名称以及为所述第一文件所分配的底层存储系统中相应存储位置的位置信息等。
步骤206、将所述第一文件写入所述第一存储系统中所述第一对象所指示的待存储位置。
在为所述第一文件创建所述第一对象的基础上,可将所述第一文件以对象形式存储至所述第一对象在所述底层存储系统中所指示的存储位置处。从宏观角度来说,对于各个虚拟机而言,会在云计算环境中的底层存储系统中对各虚拟机中重复/重删概率较高的虚拟机文件以对象形式进行统一存储。
步骤207、在所述第一存储系统中记录所述第一文件与所述第一对象的对应关系。
在将所述第一文件以对象形式存储至所述第一对象在云计算环境中的底层存储系统中所指示的存储位置后,可在所述底层存储系统中记录所述第一文件与所述第一对象的对应关系。如记录第一文件的文件名称与第一对象的对象名称以及第一对象所指示的具体存储位置信息间的对应关系等。
后续,在需要对底层存储系统中存储的对象文件(即以对象形式存储的文件)进行访问时,记录的该对应关系信息可为待访问的文件指示正确的访问路径。
应用本实施例方案,针对以对象形式存储的虚拟机文件,如以对象形式存储于云计算环境的底层存储系统中的各虚拟机文件,可实现以文件为单位对虚拟机文件进行数据查重及重复数据删除处理,即文件级重删,相比于现有技术的数据块级虚拟机文件数据重删技术,可有效避免因数据文件的不规则切割而导致的重删率低的问题,大大提升了虚拟机文件数据的重删率。
参考图3,是本申请提供的一种虚拟机文件处理方法实施例三的流程图,本实施例中,如图3所示,所述方法还可以包括以下步骤:
步骤104、若所述第一文件的存储方式为第二存储方式,则将所述第一文件与所述虚拟机中已存储的大文件处理成新的大文件,并在虚拟机中存储所述新的大文件,以使得以大文件形式在虚拟机中存储所述第一文件。
其中,如果所述第一文件的存储方式为第二存储方式,则表明该待存储的第一文件为重复/重删概率较低的虚拟机文件,如用户创建的word/excel/ppt文档,或eml/msg邮件等,从而,可将该第一文件以大文件形式存储至虚拟机自身的存储系统中。
具体地,可将所述第一文件与所述虚拟机中已存储的大文件(该大文件包括整合为一体的虚拟机操作系统文件以及虚拟机中已有的各用户文件,且整合为一体的大文件以块为单位被切分为多个数据块)处理成新的大文件,并在虚拟机中存储所述新的大文件。
需要说明的是,以大文件形式存储在虚拟机自身存储系统中的文件,与现有技术的虚拟机文件存储方式无异,同样仅能支持数据块级别的数据查重及重删处理(即以数据块为单位进行数据查重及重删)。
但与现有技术以大文件形式存储所有虚拟机文件相区别的是,本申请仅将基于预定重删策略确定出的低重复/重删概率的虚拟机文件以大文件形式存储至虚拟机自身的存储系统中,而对于高重复/重删概率的虚拟机文件则以对象形式额外存储,例如存储至云计算环境中的底层存储系统中等,由于以大文件形式存储的虚拟机文件的重复/重删概率较低,从而从整体上而言,这部分数据(即以大文件形式存储的虚拟机文件)不会对虚拟机数据的重删率带来影响,从而本申请相比于现有技术的数据块级的重删技术,具有较高的重删率;且由于低重复/重删率数据与高重复/重删率数据分别独立存储,从而这两种不同存储方式的数据不会掺杂在一起无区别地参与虚拟机文件的查重及重删处理,例如,仅对以对象形式存储的数据进行查重及重删处理(大文件形式存储的文件不再查重),或者基于不同的控制策略对两种存储方式的数据进行不同的查重及重删处理等(如底层存储系统每天触发一次查重及重删,而虚拟机自身存储系统则每周触发一次查重及重删等),进而会提升虚拟机文件的重删效率,节约重删处理的时间耗费。
参考图4,是本申请提供的一种虚拟机文件处理方法实施例四的流程图,本实施例中,如图4所示,所述方法还可以包括以下步骤中的至少之一:
步骤105、以文件为单位对用于以对象形式存储虚拟机文件的第一存储系统中存储的各个文件进行查重处理,并对查重处理后所确定出的重复文件进行文件删除处理。
具体地,可在达到预定的重删处理条件时,以文件为单位对第一存储系统中存储的各个虚拟机文件进行查重及重删处理。
仍以云计算环境中的数据重删为例,具体可在达到预先设定的重删时间节点,或者在以对象形式存储的虚拟机文件的总存储量达到预定的数据量阀值时,由云计算环境中的底层存储系统触发针对该系统中所存储的各对象文件的文件级数据查重及重删处理等,以避免重复数据对底层存储系统的空间占用,节约云计算环境中的存储空间。
这里,需要说明的是,在对数据内容重复的虚拟机文件进行删除处理时,可将所有重复文件删除,即,针对重复的多份虚拟机文件仅在云计算环境中的底层存储系统中保留存储一份,其他的则删除,后续,当各个虚拟机存在数据访问需求时,利用该保留存储的一份虚拟机文件为各个存在需求的虚拟机提供数据访问服务。
或者,在本申请其他实施例中,还可以结合考虑文件的访问热度/访问压力/响应效率等问题,对多份重复的虚拟机文件按比例删除掉其中的一部分,例如,共有10份内容相同的虚拟机文件,则可以删除其中的7份,保留3份,从而既节约了存储资源,又可相对保证虚拟机文件的访问压力不会太大,进而保证了虚拟机文件的访问效率。
还需要说明的是,对于以对象形式保存的数据量较大的虚拟机文件,同样可对其进行切块处理,例如按64M或128M的数据单位对大数据量的虚拟机文件进行切块等,且在切块后可以以数据块为单位将该虚拟机文件与以对象形式存储的其他虚拟机文件进行比对查重及重删处理。
与现有技术中以数据块为单位对虚拟机文件进行查重及重删处理的方式相比,其区别在于,本申请中,在以数据块为单位对以对象形式存储的虚拟机文件进行查重及重删处理时,是以单个的虚拟机文件为切分对象进行切块处理的,例如,假设一视频文件共1G,则可以直接将该1G的视频文件作为切分对象进行切块处理,切分所得的各个块中不会包含其他文件数据等干扰数据,从而不会导致虚拟机文件的不规则切割,这对于数据内容相同的两份视频文件来说,两份视频文件在分别被切割之后,各对应数据块的内容仍是相同的,从而仍能进行有效查重及重删。
而现有技术则是将操作系统以及用户文件整合后所得的大文件整体作为被切分对象进行切分,对于某一虚拟机文件(如一视频文件)来说,切分情况是不确定的,所得的数据块中可能既包含视频文件的部分数据又包含其他文件(如用户word文件或操作系统文件等)的部分数据,从而会导致虚拟机文件的不规则切割。对于数据内容相同的两份视频文件来说,第一份数据文件与第二份数据文件的切割情况可能不同,如第一份视频文件切割后,所得的第一个数据块中包括word数据及部分视频数据,而第二份视频文件切割后,所得的第一个数据块中包括操作系统数据及部分视频数据,从而这两个数据块在通过计算并对比数据块的校验值进行查重时,无法实现有效查重,进而导致漏删。
因此,相比于现有技术,本申请在针对以对象形式存储的数据量较大的虚拟机文件以切块方式进行重删处理时,仍能保证较高的重删率。
还需要说明的是,在云计算环境中,存储至其底层存储系统中的虚拟机文件既可以是用户文件,也可以是操作系统文件,具体需视虚拟机文件的重复/重删率而定,本实施例对此不予限定。
步骤106、在获得针对第二文件的读文件请求时,确定所述第二文件的存储方式,若所述第二文件的存储方式为所述第一存储方式,则从所述第一存储系统中读取所述第二文件,若所述第二文件的存储方式为所述第二存储方式,则从用于以大文件形式存储虚拟机文件的第二存储系统中读取所述第二文件。
所述第二文件,可以是虚拟机的操作系统文件或者用户文件,相对应地,所述针对第二文件的读文件请求,具体可以是操作系统运行过程中基于运行需求自动触发的针对某一操作系统文件的读文件请求,或者还可以是用户基于其实际的文件读取需求所触发的针对某一用户文件(如邮件、图片、word/excel/ppt文档、音视频文件)的读文件请求。
在获得针对第二文件的读文件请求时,需要调出该第二文件以供用户或虚拟机使用,由于不同类型的文件可能存储在不同的存储系统中,如重复/重删率低的文件存储在虚拟机自身的存储系统中,重复/重删率高的文件存储在云计算环境的底层存储系统中,从而,需首先确定所述第二文件的存储方式,进而根据其存储方式准确定位其存储位置。
其中,可根据文件类型的属性设置情况,识别待读取的第二文件所对应的属性,如果该第二文件对应一前文所述的预定属性(该预定属性用于指示文件以对象形式存储,具体可参考前文中对该预定属性的描述),则表示该第二文件以对象形式存储在云计算环境中的底层存储系统中,相对应地,会在触发的读文件请求中设置一前文所述的预定标志,以用于指示该请求所对应的文件为以对象形式存储的文件。
在此基础上,可通过读取预先记录的虚拟机文件与对象的对应关系信息,获取待读取的第二文件对应的第二对象信息,进而根据该第二对象信息确定第二文件在云计算环境底层存储系统中的具体存储位置,以实现第二文件的准确定位与读取。
反之,如果所述第二文件未对应一前文所述的预定属性,则表示该第二文件以大文件形式存储在虚拟机自身的存储系统中,从而可按现有技术的方式读取虚拟机文件。
以下给出一基于本申请方案的具体应用示例。
参考图5所示,其中的vhost1、vhost2、vhost3为云计算环境中的3个虚拟机,vhostfile是用户在各虚拟机中创建的虚拟机文件,每个虚拟机中的vhost file包括多个obj文件,其中,同颜色(在图5中以相同的灰度表示相同的颜色)的obj文件为数据内容相同的文件。
为了解决现有技术中虚拟机文件被不规则切割而导致的重删率低的问题,本示例基于本申请方案的技术构思在云计算环境中专门设置了一个处理装置来使得云计算环境提升其虚拟机文件的重删率。如图6所示,该处理装置分为四个模块:对象属性设置模块601、虚拟机读写交互控制模块602、对象文件信息记录模块603以及对象属性处理模块604,其中,前3个模块设置在云计算环境的底层存储系统中,最后一个模块设置在虚拟机中(云计算环境中的每个虚拟机中均设置有一对象属性处理模块604)。
对象属性设置模块601提供文件属性设置功能,云计算的管理员可基于该模块提供的功能对虚拟机文件的文件类型进行属性设置,以通过一预定属性(或称为对象属性)来标识哪些类型的文件在存储系统中需要以对象的形式保存,设置完成后,该虚拟机中后续新创建的此类型文件都会以对象的形式保存至底层存储系统中。
对象属性处理模块604是虚拟机中的一个模块,可采用单独的软件形态安装在云计算环境的虚拟机中,该模块专门处理云计算环境为该虚拟机设置的对象属性,即该虚拟机中哪些类型文件需要在底层存储系统中以对象的形式保存,对于设置了对象属性的文件类型,在读写时需要对这些文件类型的文件读写请求设置专门的标志,以便底层存储系统识别。
虚拟机读写交互控制模块602负责处理虚拟机下发的文件读写请求,其通过文件读写请求中是否携带所述专门的标志,来确定该请求读写的数据的存储方式(包含所述标志的读写请求所请求的数据文件存储在底层存储系统中,未包含该标志的则存储在虚拟机中。
对象文件信息记录模块603主要记录虚拟机文件和对象的对应关系,在虚拟机待读取的文件是以对象形式保存的情况下,可以基于该模块记录的对应关系信息,将待读取的文件定位到具体的对象进而定位到底层存储系统中的具体存储位置。
当虚拟机读写交互控制模块602确定出文件写请求所对应的虚拟机文件需以对象形式存储时,会为待存储的虚拟机文件创建对象,并将待存储的虚拟机文件以对象形式存储至所创建对象在底层存储系统中指示的存储位置中,同时将该文件与其对象的对应关系信息添加至对象文件信息记录模块603中进行记录;当虚拟机读写交互控制模块602确定出文件读请求所请求的数据具体以对象形式存储时,会从对象文件信息记录模块603中读取相对应的对象信息,进而根据该对象信息定位至底层操作系统中的相应存储位置对所需的数据文件进行读取。
当虚拟机读写交互控制模块602确定出读写请求所对应的数据以大文件形式存储时,则可将该请求交回至虚拟机由虚拟机按常规的大文件读写方式对所请求的数据进行读写处理。
从而,应用该示例中提供的各处理模块,可将图5中所示出的各虚拟机中相同颜色的obj文件(图5中以相同灰度表示相同颜色,相同颜色的obj文件的数据内容相同,相对应地也表示该文件的重复/重删概率高需以对象形式保存),以对象形式保存在云计算环境中的底层存储系统中,并记录各文件与其对象的对应关系信息,后续,可在达到预定的数据重删条件时,删除重复的obj文件(如删除每3个数据内容相同的obj文件中的两个obj文件等),并可在接收到针对某一obj文件的读请求时,基于记录的文件与对象的对应关系信息,从底层存储系统中准确定位并读取所需的obj文件。
综上,应用本申请方案,针对以对象形式存储的虚拟机文件,如以对象形式存储于云计算环境的底层存储系统中的各虚拟机文件,可实现以文件为单位对虚拟机文件进行数据查重及重复数据删除处理,即文件级重删,相比于现有技术的数据块级虚拟机文件数据重删技术,可有效避免因数据文件的不规则切割而导致的重删率低的问题,大大提升了虚拟机文件数据的重删率。
参考图7,是本申请提供的一种虚拟机文件处理装置实施例五的结构示意图,本实施例中,所述虚拟机文件处理装置包括:
获取单元701,用于获得文件存储请求,所述文件存储请求用于指示存储第一文件。
所述第一文件可以是云计算环境或个人客户端等场景中的虚拟机文件,且所述第一文件可以是上述场景中的虚拟机操作系统文件,或者还可以是基于用户操作所形成/产生的各类型用户文件,如用户在虚拟机中创建的word/excel/ppt文档、eml/msg邮件、以及从网络下载的图片、音视频文件等等,本实施例对此不予限定。接下来,将主要以云计算环境中虚拟机文件的存储及重删等处理过程为例,对本申请方案进行说明。
所述用于指示存储第一文件的文件存储请求,可以是用户基于其需求,通过在虚拟机中执行相应的文件数据保存/存储操作所触发的请求,如操作所编辑的word文档的保存按键以触发word文档保存请求、在从网站下载音视频文件至所选择的目录时操作待下载的音视频文件所对应的保存按键以触发音视频文件保存请求等等,或者,还可以是虚拟机自动触发的请求,如对于操作系统升级过程中所更新的操作系统文件自动触发针对该更新的操作系统文件的存储请求等。
确定单元702,用于确定所述第一文件的存储方式。
现有技术中,虚拟机会将系统中的文件如用户文件与操作系统一起做成一个大文件存储,为了避免这种存储方式所对应的数据块级数据重删技术因数据文件的不规则切割而导致的重删率低的问题,本申请提出了一种额外的将虚拟机文件以单独的对象形式进行保存的技术,即该技术具体会将文件保存成对象的形式,其中,以对象形式存储的文件能够使得文件数据支持文件级别的数据查重及重复数据删除处理,也即,以对象形式存储的文件能够使得文件数据支持以文件为单位进行数据查重及数据重删。
实际应用中,可将本申请提出的以对象形式存储虚拟机文件的技术以及现有的大文件存储技术结合使用,其中,对于重复概率较高从而重删概率也相应较高的数据可以优先采用以对象形式进行存储,而对于重复概率较低从而重删概率也相应较低的数据则可以优先采用以大文件形式进行存储。
具体实施时,可通过一定的重删策略或判断机制确定待存储的虚拟机文件是否属于重复/重删概率较高的文件,进而确定其对应所需的存储方式。其中,对于通用性高、修改概率较低的文件,如用户从网站下载的图片、音视频文件(如歌曲/影视剧文件)等等,其重复概率一般较高,相对应地重删概率也较高,从而针对这些类型的文件可确定出其存储方式为用于指示将文件存储为对象形式的第一存储方式,该方式也可直观地理解为对象存储方式;而对于通用性低、修改概率较高的文件,如用户创建的word/excel/ppt文件、eml/msg邮件等,其重复概率一般较低,相对应地重删概率也较低,从而针对这些类型的文件可确定出其存储方式为用于指示以大文件形式存储数据的第二存储方式,该第二存储方式也即大文件存储方式。
存储单元703,用于在所述第一文件的存储方式为第一存储方式的情况下,以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。
所述文件级别的数据查重及重复数据删除处理,即指将数据以文件为单位进行数据查重及重复数据删除,例如,通过预定的文件数据查验技术确定虚拟机文件1与虚拟机文件2的文件数据是否相同,并在两者的数据内容相同的情况下,删除其中之一,仅保留存储一份文件等。
若所述第一文件的存储方式为第一存储方式,即对象存储方式,根据前文所述可以表明该待存储的第一文件为重复/重删概率较高的虚拟机文件,如用户从网站下载的图片、音视频文件等,从而,可将该第一文件存储为单独的对象形式,以方便后续在触发虚拟机的数据重删处理时,支持以文件为单位将该第一文件的文件数据与其他文件的文件数据进行查重,以及数据重复情况下的文件删除处理。
这里,需要说明的是,本申请中的文件查重以及重复数据删除处理,在云计算环境中,可以是指不同虚拟机的虚拟机文件间的数据查重及数据重删,和/或同一虚拟机的虚拟机文件间的数据查重及数据重删,本实施例对此不予限定。
由以上方案可知,本实施例提供的虚拟机文件处理装置,在获得用于指示存储第一文件的文件存储请求时,确定所述第一文件的存储方式,并在所述第一文件的存储方式为第一存储方式的情况下,以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。从而,应用本申请方案,针对以对象形式存储的虚拟机文件,可实现以文件为单位对虚拟机文件进行数据查重及重复数据删除处理,即文件级重删,相比于现有技术的数据块级虚拟机文件数据重删技术,可有效避免因数据文件的不规则切割而导致的重删率低的问题,大大提升了虚拟机文件数据的重删率。
在接下来的实施例六中,继续对本申请的虚拟机文件处理装置进行进一步详述。
本实施例中,所述确定单元702,具体用于:
识别所述文件存储请求中是否包括预定标志;若包括,则所述第一文件的存储方式为第一存储方式;若不包括,则所述第一文件的存储方式为第二存储方式。
其中,若所述第一文件对应一指示以对象形式保存文件的预定属性,则所述文件存储请求中包括所述预定标志,若所述第一文件未对应所述预定属性,则所述文件存储请求中不包括所述预定标志;虚拟机基于预定的重删策略确定所述第一文件是否对应所述预定属性。
具体实施中,可在云计算环境中基于不同类型虚拟机文件所对应的重复/重删概率高低,预先确定哪些类型的虚拟机文件需要以对象形式保存,哪些类型的虚拟机文件需要以大文件形式保存,例如,对于用户的邮件图片文件(虚拟机环境中的邮件图片文件在多个用户的虚拟机中随邮件被保存,在整个云计算环境中会被存储多次)、用户从网站下载的图片、音视频文件等重复/重删概率较高的虚拟机文件,可确定其采用对象形式保存,而对于用户创建的word/excel/ppt、eml/msg邮件等重复/重删概率较低的虚拟机文件,可确定其采用大文件形式保存。
对于需采用对象形式保存的文件类型(如图片类型、音视频文件类型)可为其设置一预定属性,该预定属性用于控制文件在存储时所采用的方式具体为对象存储方式;而对于需采用大文件形式保存的文件类型(如word/excel/ppt文件类型、eml/msg邮件等)可为其设置一其他属性或者不进行属性设置(当被设置为其他属性时,所述其他属性及所述预定属性可通过不同的属性名称或同一属性名称的不同属性值加以区分),以实现与需以对象形式存储的文件类型加以区分标识。
在此基础上,虚拟机会根据文件类型的属性设置情况,识别待存储的虚拟机文件所对应的属性,若待存储的虚拟机文件对应所述预定属性,则表示需以对象形式存储该文件,此种情况下,会向该文件的文件存储请求中设置一预定标志,文件存储请求通过携带的该预定标志指示待存储文件需要以对象形式保存;反之,若待存储的虚拟机文件不对应所述预定属性,则表示需以大文件形式存储该文件,此种情况下,不需向该文件的文件存储请求中设置所述预定标志,后续以普通的大文件形式保存该文件即可。
基于前文所述,可知,如果所述第一文件的文件存储请求中包括所述预定标志,则表示该第一文件需以对象形式保存,从而可确定出该第一文件的存储方式为第一存储方式,即对象存储方式,在此基础上,相对应地会以对象形式保存该第一文件。
后续,该第一文件支持系统对其进行文件级别的数据查重及数据重删处理,例如,将该第一文件与同一虚拟机和/或其他虚拟机提供的以对象形式保存的虚拟机文件进行比对查重以及数据重复情况下的文件删除处理等。
其中,实际应用中,对于待比对的多个虚拟机文件,可以采用但不限于基于预定算法计算各虚拟机文件的校验值,并对比校验值是否相同的方式来确定虚拟机文件的数据是否重复,其中,若两个虚拟机文件的校验值相同,则表示两个虚拟机文件的数据内容相同,反之,若两个虚拟机文件的校验值不同,则相应地表示两个虚拟机文件的数据内容不同。
如果所述第一文件的文件存储请求中不包括所述预定标志,则表示该第一文件需以大文件形式保存,从而可确定出该第一文件的存储方式为第二存储方式,即大文件存储方式,在此基础上,相对应地会以大文件形式保存该第一文件。
所述存储单元703以对象形式存储所述第一文件,具体包括:
为所述第一文件创建一个相对应的第一对象,创建的所述第一对象至少能够指示所述第一文件在预定的第一存储系统中的待存储位置,所述第一存储系统与虚拟机中用于存储大文件的第二存储系统相互独立;将所述第一文件写入所述第一存储系统中所述第一对象所指示的待存储位置;在所述第一存储系统中记录所述第一文件与所述第一对象的对应关系。
对于云计算环境来说,所述第一存储系统可以是云计算环境中位于各虚拟机底层的底层存储系统,从而,对于云计算环境中的各个虚拟机而言,会在独立于各个虚拟机的底层存储系统中,对各虚拟机中重复/重删概率较高的虚拟机文件以对象形式进行统一存储。所述第二存储系统则是指虚拟机中用于存储大文件的存储系统,对于虚拟机中重复/重删概率较低的虚拟机文件则会以大文件形式存储在虚拟机自身的存储系统中。
其中,如果所述第一文件的存储方式为第一存储方式,则需要以对象形式将所述第一文件存储至云计算环境中的底层存储系统中,具体实施中,可首先为所述第一文件创建一相应的第一对象,该第一对象应至少能够指示所述第一文件在所述底层存储系统中的待存储位置,如所述第一对象具体可以包括对象名称以及为所述第一文件所分配的底层存储系统中相应存储位置的位置信息等。
在为所述第一文件创建所述第一对象的基础上,可将所述第一文件以对象形式存储至所述第一对象在所述底层存储系统中所指示的存储位置处。从宏观角度来说,对于各个虚拟机而言,会在云计算环境中的底层存储系统中对各虚拟机中重复/重删概率较高的虚拟机文件以对象形式进行统一存储。
在将所述第一文件以对象形式存储至所述第一对象在云计算环境中的底层存储系统中所指示的存储位置后,可在所述底层存储系统中记录所述第一文件与所述第一对象的对应关系。如记录第一文件的文件名称与第一对象的对象名称以及第一对象所指示的具体存储位置信息间的对应关系等。
后续,在需要对底层存储系统中存储的对象文件(即以对象形式存储的文件)进行访问时,记录的该对应关系信息可为待访问的文件指示正确的访问路径。
应用本实施例方案,针对以对象形式存储的虚拟机文件,如以对象形式存储于云计算环境的底层存储系统中的各虚拟机文件,可实现以文件为单位对虚拟机文件进行数据查重及重复数据删除处理,即文件级重删,相比于现有技术的数据块级虚拟机文件数据重删技术,可有效避免因数据文件的不规则切割而导致的重删率低的问题,大大提升了虚拟机文件数据的重删率。
在接下来的实施例七中,对所述存储单元703进行进一步说明,本实施例中,所述存储单元703还可以用于:
若所述第一文件的存储方式为第二存储方式,则将所述第一文件与所述虚拟机中已存储的大文件处理成新的大文件,并在虚拟机中存储所述新的大文件,以使得以大文件形式在虚拟机中存储所述第一文件。
其中,如果所述第一文件的存储方式为第二存储方式,则表明该待存储的第一文件为重复/重删概率较低的虚拟机文件,如用户创建的word/excel/ppt文档,或eml/msg邮件等,从而,可将该第一文件以大文件形式存储至虚拟机自身的存储系统中。
具体地,可将所述第一文件与所述虚拟机中已存储的大文件(该大文件包括整合为一体的虚拟机操作系统文件以及虚拟机中已有的各用户文件,且整合为一体的大文件以块为单位被切分为多个数据块)处理成新的大文件,并在虚拟机中存储所述新的大文件。
需要说明的是,以大文件形式存储在虚拟机自身存储系统中的文件,与现有技术的虚拟机文件存储方式无异,同样仅能支持数据块级别的数据查重及重删处理(即以数据块为单位进行数据查重及重删)。
但与现有技术以大文件形式存储所有虚拟机文件相区别的是,本申请仅将基于预定重删策略确定出的低重复/重删概率的虚拟机文件以大文件形式存储至虚拟机自身的存储系统中,而对于高重复/重删概率的虚拟机文件则以对象形式额外存储,例如存储至云计算环境中的底层存储系统中等,由于以大文件形式存储的虚拟机文件的重复/重删概率较低,从而从整体上而言,这部分数据(即以大文件形式存储的虚拟机文件)不会对虚拟机数据的重删率带来影响,从而本申请相比于现有技术的数据块级的重删技术,具有较高的重删率;且由于低重复/重删率数据与高重复/重删率数据分别独立存储,从而这两种不同存储方式的数据不会掺杂在一起无区别地参与虚拟机文件的查重及重删处理,例如,仅对以对象形式存储的数据进行查重及重删处理(大文件形式存储的文件不再查重),或者基于不同的控制策略对两种存储方式的数据进行不同的查重及重删处理等(如底层存储系统每天触发一次查重及重删,而虚拟机自身存储系统则每周触发一次查重及重删等),进而会提升虚拟机文件的重删效率,节约重删处理的时间耗费。
参考图8,是本申请提供的一种虚拟机文件处理装置实施例八的结构示意图,本实施例中,如图8所示,所述虚拟机文件处理装置还可以包括以下处理单元中的至少一种:
查重及重删处理单元704,用于以文件为单位对所述第一存储系统中存储的各个文件进行查重处理,并对查重处理后所确定出的重复文件进行文件删除处理。
具体地,可在达到预定的重删处理条件时,以文件为单位对第一存储系统中存储的各个虚拟机文件进行查重及重删处理。
仍以云计算环境中的数据重删为例,具体可在达到预先设定的重删时间节点,或者在以对象形式存储的虚拟机文件的总存储量达到预定的数据量阀值时,由云计算环境中的底层存储系统触发针对该系统中所存储的各对象文件的文件级数据查重及重删处理等,以避免重复数据对底层存储系统的空间占用,节约云计算环境中的存储空间。
这里,需要说明的是,在对数据内容重复的虚拟机文件进行删除处理时,可将所有重复文件删除,即,针对重复的多份虚拟机文件仅在云计算环境中的底层存储系统中保留存储一份,其他的则删除,后续,当各个虚拟机存在数据访问需求时,利用该保留存储的一份虚拟机文件为各个存在需求的虚拟机提供数据访问服务。
或者,在本申请其他实施例中,还可以结合考虑文件的访问热度/访问压力/响应效率等问题,对多份重复的虚拟机文件按比例删除掉其中的一部分,例如,共有10份内容相同的虚拟机文件,则可以删除其中的7份,保留3份,从而既节约了存储资源,又可相对保证虚拟机文件的访问压力不会太大,进而保证了虚拟机文件的访问效率。
还需要说明的是,对于以对象形式保存的数据量较大的虚拟机文件,同样可对其进行切块处理,例如按64M或128M的数据单位对大数据量的虚拟机文件进行切块等,且在切块后可以以数据块为单位将该虚拟机文件与以对象形式存储的其他虚拟机文件进行比对查重及重删处理。
与现有技术中以数据块为单位对虚拟机文件进行查重及重删处理的方式相比,其区别在于,本申请中,在以数据块为单位对以对象形式存储的虚拟机文件进行查重及重删处理时,是以单个的虚拟机文件为切分对象进行切块处理的,例如,假设一视频文件共1G,则可以直接将该1G的视频文件作为切分对象进行切块处理,切分所得的各个块中不会包含其他文件数据等干扰数据,从而不会导致虚拟机文件的不规则切割,这对于数据内容相同的两份视频文件来说,两份视频文件在分别被切割之后,各对应数据块的内容仍是相同的,从而仍能进行有效查重及重删。
而现有技术则是将操作系统以及用户文件整合后所得的大文件整体作为被切分对象进行切分,对于某一虚拟机文件(如一视频文件)来说,切分情况是不确定的,所得的数据块中可能既包含视频文件的部分数据又包含其他文件(如用户word文件或操作系统文件等)的部分数据,从而会导致虚拟机文件的不规则切割。对于数据内容相同的两份视频文件来说,第一份数据文件与第二份数据文件的切割情况可能不同,如第一份视频文件切割后,所得的第一个数据块中包括word数据及部分视频数据,而第二份视频文件切割后,所得的第一个数据块中包括操作系统数据及部分视频数据,从而这两个数据块在通过计算并对比数据块的校验值进行查重时,无法实现有效查重,进而导致漏删。
因此,相比于现有技术,本申请在针对以对象形式存储的数据量较大的虚拟机文件以切块方式进行重删处理时,仍能保证较高的重删率。
还需要说明的是,在云计算环境中,存储至其底层存储系统中的虚拟机文件既可以是用户文件,也可以是操作系统文件,具体需视虚拟机文件的重复/重删率而定,本实施例对此不予限定。
读文件处理单元705,用于在获得针对第二文件的读文件请求时,确定所述第二文件的存储方式,若所述第二文件的存储方式为所述第一存储方式,则从所述第一存储系统中读取所述第二文件,若所述第二文件的存储方式为所述第二存储方式,则从所述第二存储系统中读取所述第二文件。
所述第二文件,可以是虚拟机的操作系统文件或者用户文件,相对应地,所述针对第二文件的读文件请求,具体可以是操作系统运行过程中基于运行需求自动触发的针对某一操作系统文件的读文件请求,或者还可以是用户基于其实际的文件读取需求所触发的针对某一用户文件(如邮件、图片、word/excel/ppt文档、音视频文件)的读文件请求。
在获得针对第二文件的读文件请求时,需要调出该第二文件以供用户或虚拟机使用,由于不同类型的文件可能存储在不同的存储系统中,如重复/重删率低的文件存储在虚拟机自身的存储系统中,重复/重删率高的文件存储在云计算环境的底层存储系统中,从而,需首先确定所述第二文件的存储方式,进而根据其存储方式准确定位其存储位置。
其中,可根据文件类型的属性设置情况,识别待读取的第二文件所对应的属性,如果该第二文件对应一前文所述的预定属性(该预定属性用于指示文件以对象形式存储,具体可参考前文中对该预定属性的描述),则表示该第二文件以对象形式存储在云计算环境中的底层存储系统中,相对应地,会在触发的读文件请求中设置一前文所述的预定标志,以用于指示该请求所对应的文件为以对象形式存储的文件。
在此基础上,可通过读取预先记录的虚拟机文件与对象的对应关系信息,获取待读取的第二文件对应的第二对象信息,进而根据该第二对象信息确定第二文件在云计算环境底层存储系统中的具体存储位置,以实现第二文件的准确定位与读取。
反之,如果所述第二文件未对应一前文所述的预定属性,则表示该第二文件以大文件形式存储在虚拟机自身的存储系统中,从而可按现有技术的方式读取虚拟机文件。
综上,应用本申请方案,针对以对象形式存储的虚拟机文件,如以对象形式存储于云计算环境的底层存储系统中的各虚拟机文件,可实现以文件为单位对虚拟机文件进行数据查重及重复数据删除处理,即文件级重删,相比于现有技术的数据块级虚拟机文件数据重删技术,可有效避免因数据文件的不规则切割而导致的重删率低的问题,大大提升了虚拟机文件数据的重删率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种虚拟机文件处理方法,其特征在于,包括:
获得文件存储请求,所述文件存储请求用于指示存储第一文件;
确定所述第一文件的存储方式;
若所述第一文件的存储方式为第一存储方式,则以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一文件的存储方式,包括:
识别所述文件存储请求中是否包括预定标志;其中,若所述第一文件对应一指示以对象形式保存文件的预定属性,则所述文件存储请求中包括所述预定标志,若所述第一文件未对应所述预定属性,则所述文件存储请求中不包括所述预定标志;虚拟机基于预定的重删策略确定所述第一文件是否对应所述预定属性;
若包括,则所述第一文件的存储方式为第一存储方式;
若不包括,则所述第一文件的存储方式为第二存储方式。
3.根据权利要求1所述的方法,其特征在于,所述以对象形式存储所述第一文件,包括:
为所述第一文件创建一个相对应的第一对象,创建的所述第一对象至少能够指示所述第一文件在预定的第一存储系统中的待存储位置;所述第一存储系统与虚拟机中用于存储大文件的第二存储系统相互独立;
将所述第一文件写入所述第一存储系统中所述第一对象所指示的待存储位置;
在所述第一存储系统中记录所述第一文件与所述第一对象的对应关系。
4.根据权利要求2所述的方法,其特征在于,还包括:
若所述第一文件的存储方式为第二存储方式,则将所述第一文件与所述虚拟机中已存储的大文件处理成新的大文件,并在虚拟机中存储所述新的大文件,以使得以大文件形式在虚拟机中存储所述第一文件。
5.根据权利要求3所述的方法,其特征在于,还包括以下处理过程中的至少一种:
以文件为单位对所述第一存储系统中存储的各个文件进行查重处理,并对查重处理后所确定出的重复文件进行文件删除处理;
在获得针对第二文件的读文件请求时,确定所述第二文件的存储方式,若所述第二文件的存储方式为所述第一存储方式,则从所述第一存储系统中读取所述第二文件,若所述第二文件的存储方式为所述第二存储方式,则从所述第二存储系统中读取所述第二文件。
6.根据权利要求5所述的方法,其特征在于,所述从所述第一存储系统中读取所述第二文件,包括:
从所述第一存储系统中所存储的文件与对象的对应关系信息中,读取所述第二文件所对应的第二对象的信息;
基于所述第二对象的信息确定所述第二文件在所述第一存储系统中的存储位置;
从所述存储位置中读取所述第二文件。
7.一种虚拟机文件处理装置,其特征在于,包括:
获取单元,用于获得文件存储请求,所述文件存储请求用于指示存储第一文件;
确定单元,用于确定所述第一文件的存储方式;
存储单元,用于在所述第一文件的存储方式为第一存储方式的情况下,以对象形式存储所述第一文件;其中,以对象形式存储的文件能够使得文件支持文件级别的数据查重及重复数据删除处理。
8.根据权利要求7所述的装置,其特征在于,所述确定单元,具体用于:
识别所述文件存储请求中是否包括预定标志;其中,若所述第一文件对应一指示以对象形式保存文件的预定属性,则所述文件存储请求中包括所述预定标志,若所述第一文件未对应所述预定属性,则所述文件存储请求中不包括所述预定标志;虚拟机基于预定的重删策略确定所述第一文件是否对应所述预定属性;
若包括,则所述第一文件的存储方式为第一存储方式;
若不包括,则所述第一文件的存储方式为第二存储方式。
9.根据权利要求7所述的装置,其特征在于,所述存储单元以对象形式存储所述第一文件,具体包括:
为所述第一文件创建一个相对应的第一对象,创建的所述第一对象至少能够指示所述第一文件在预定的第一存储系统中的待存储位置;所述第一存储系统与虚拟机中用于存储大文件的第二存储系统相互独立;
将所述第一文件写入所述第一存储系统中所述第一对象所指示的待存储位置;
在所述第一存储系统中记录所述第一文件与所述第一对象的对应关系。
10.根据权利要求9所述的装置,其特征在于,还包括以下处理单元中的至少一种:
查重及重删处理单元,用于以文件为单位对所述第一存储系统中存储的各个文件进行查重处理,并对查重处理后所确定出的重复文件进行文件删除处理;
读文件处理单元,用于在获得针对第二文件的读文件请求时,确定所述第二文件的存储方式,若所述第二文件的存储方式为所述第一存储方式,则从所述第一存储系统中读取所述第二文件,若所述第二文件的存储方式为所述第二存储方式,则从所述第二存储系统中读取所述第二文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811109911.2A CN109241011B (zh) | 2018-09-21 | 2018-09-21 | 一种虚拟机文件处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811109911.2A CN109241011B (zh) | 2018-09-21 | 2018-09-21 | 一种虚拟机文件处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109241011A true CN109241011A (zh) | 2019-01-18 |
CN109241011B CN109241011B (zh) | 2023-01-06 |
Family
ID=65056541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811109911.2A Active CN109241011B (zh) | 2018-09-21 | 2018-09-21 | 一种虚拟机文件处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109241011B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090620A (zh) * | 2019-12-06 | 2020-05-01 | 浪潮电子信息产业股份有限公司 | 一种文件存储方法、装置、设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1524219A (zh) * | 2001-03-07 | 2004-08-25 | 摩托罗拉公司 | 创建和使用预内在化程序文件的方法和设备 |
US20080120322A1 (en) * | 2006-11-17 | 2008-05-22 | Oracle International Corporation | Techniques of efficient query over text, image, audio, video and other domain specific data in XML using XML table index with integration of text index and other domain specific indexes |
CN103136243A (zh) * | 2011-11-29 | 2013-06-05 | 中国电信股份有限公司 | 基于云存储的文件系统去重方法及装置 |
CN105094695A (zh) * | 2015-06-29 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种存储方法和系统 |
CN105608193A (zh) * | 2015-12-23 | 2016-05-25 | 深圳市深信服电子科技有限公司 | 分布式文件系统的数据管理方法和装置 |
CN105787129A (zh) * | 2016-03-29 | 2016-07-20 | 联想(北京)有限公司 | 一种数据存储方法和电子设备 |
-
2018
- 2018-09-21 CN CN201811109911.2A patent/CN109241011B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1524219A (zh) * | 2001-03-07 | 2004-08-25 | 摩托罗拉公司 | 创建和使用预内在化程序文件的方法和设备 |
US20080120322A1 (en) * | 2006-11-17 | 2008-05-22 | Oracle International Corporation | Techniques of efficient query over text, image, audio, video and other domain specific data in XML using XML table index with integration of text index and other domain specific indexes |
CN103136243A (zh) * | 2011-11-29 | 2013-06-05 | 中国电信股份有限公司 | 基于云存储的文件系统去重方法及装置 |
CN105094695A (zh) * | 2015-06-29 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种存储方法和系统 |
CN105608193A (zh) * | 2015-12-23 | 2016-05-25 | 深圳市深信服电子科技有限公司 | 分布式文件系统的数据管理方法和装置 |
CN105787129A (zh) * | 2016-03-29 | 2016-07-20 | 联想(北京)有限公司 | 一种数据存储方法和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090620A (zh) * | 2019-12-06 | 2020-05-01 | 浪潮电子信息产业股份有限公司 | 一种文件存储方法、装置、设备及可读存储介质 |
CN111090620B (zh) * | 2019-12-06 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 一种文件存储方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109241011B (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104408091B (zh) | 分布式文件系统的数据存储方法及系统 | |
US8555018B1 (en) | Techniques for storing data | |
CN104657459B (zh) | 一种基于文件粒度的海量数据存储方法 | |
CN103902632B (zh) | 键值存储系统中构建文件系统的方法、装置及电子设备 | |
CN101520805B (zh) | 一种分布式文件系统及其文件处理方法 | |
CN103136243B (zh) | 基于云存储的文件系统去重方法及装置 | |
CN106201771B (zh) | 数据存储系统和数据读写方法 | |
CN106294352B (zh) | 一种文件处理方法、装置和文件系统 | |
CN102184211B (zh) | 文件系统和检索、写入、修改或删除文件的方法与装置 | |
CN102708165B (zh) | 分布式文件系统中的文件处理方法及装置 | |
US9189493B2 (en) | Object file system | |
CN102136003A (zh) | 大规模分布式存储系统 | |
CN106095807B (zh) | 一种分布式文件系统纠删码缓存装置及其缓存方法 | |
US8271456B2 (en) | Efficient backup data retrieval | |
CN103812939A (zh) | 一种大数据存储系统 | |
CN108021717B (zh) | 一种轻量级嵌入式文件系统的实现方法 | |
CN109522283A (zh) | 一种重复数据删除方法及系统 | |
CN106484820A (zh) | 一种重命名方法、访问方法及装置 | |
CN104410604A (zh) | 实现大规模用户同时登录的SaaS服务系统及其方法 | |
CN110008197A (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
CN115454994A (zh) | 一种基于分布式键值数据库的元数据存储方法及装置 | |
CN109241011A (zh) | 一种虚拟机文件处理方法及装置 | |
CN113095778A (zh) | 通过多个邮箱在通信应用中进行海量数据管理的架构 | |
CN109062935A (zh) | 一种文件操作的方法和装置 | |
JP3795166B2 (ja) | コンテンツ管理方式 |
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 |