CN112347060B - 桌面云系统的数据存储方法、装置、设备和可读存储介质 - Google Patents

桌面云系统的数据存储方法、装置、设备和可读存储介质 Download PDF

Info

Publication number
CN112347060B
CN112347060B CN202011116530.4A CN202011116530A CN112347060B CN 112347060 B CN112347060 B CN 112347060B CN 202011116530 A CN202011116530 A CN 202011116530A CN 112347060 B CN112347060 B CN 112347060B
Authority
CN
China
Prior art keywords
cache block
cache
data area
block
metadata
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
CN202011116530.4A
Other languages
English (en)
Other versions
CN112347060A (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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202011116530.4A priority Critical patent/CN112347060B/zh
Publication of CN112347060A publication Critical patent/CN112347060A/zh
Application granted granted Critical
Publication of CN112347060B publication Critical patent/CN112347060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • G06F16/1752De-duplication implemented within the file system, e.g. based on file segments based on file chunks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供一种桌面云系统的数据存储方法、装置、设备和可读存储介质。缓存单元包括元数据区、第一数据区和第二数据区,该方法包括:将桌面的系统文件存储在第一数据区中,得到多个第一缓存块,将桌面的系统文件的元数据存储在元数据区中,针对每个第一缓存块,比较第一缓存块与第二缓存块是否相同,若第一缓存块与第二缓存块相同,且第二缓存块位于第一数据区,则将第一缓存块存储于第二数据区的第三缓存块中,将第一缓存块和第二缓存块对应的系统文件的元数据中的地址修改为第三缓存块的地址,若第一缓存块与第二缓存块相同,且第二缓存块位于第二数据区,则将第一缓存块对应的系统文件的元数据中的地址修改为第二缓存块的地址。

Description

桌面云系统的数据存储方法、装置、设备和可读存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种桌面云系统的数据存储方法、装置、设备和可读存储介质。
背景技术
桌面云是指通过桌面虚拟化技术,将计算机终端系统(也称为桌面)进行虚拟化,使得桌面使用安全和灵活,通过计算机、瘦终端、移动终端在任何可以连接的网络上访问属于个人的桌面,并通过云的方式为桌面提供服务。
随着桌面云的发展,桌面云系统对存储系统的容量和性能也有越来越高的要求。桌面云系统包括存储单元,存储单元存储完整的用户系统数据。实际工作中,为提高桌面云的运行速度,需要将多个用户的系统加载到缓存单元中。
然而,一般采用固态硬盘作为缓存单元,将多个用户的系统加载到缓存单元中,加载的桌面越多,需要的缓存单元的缓存空间越多,而固态硬盘相对比较昂贵,大大增加了桌面云的缓存成本。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种桌面云系统的数据存储方法、装置、设备和可读存储介质。
第一方面,本公开提供了一种桌面云系统的数据存储方法,所述桌面云系统包括缓存单元,所述缓存单元包括元数据区、第一数据区和第二数据区,所述方法包括:
将桌面的系统文件存储在所述第一数据区中,得到多个第一缓存块,将所述桌面的系统文件的元数据存储在所述元数据区中,其中,所述系统文件的元数据包括所述系统文件存储在的缓存块的地址;
针对每个第一缓存块,比较所述第一缓存块与第二缓存块是否相同,其中,所述第二缓存块为所述缓存单元中除所述第一缓存块以外的缓存块;
若所述第一缓存块与所述第二缓存块相同,且所述第二缓存块位于所述第一数据区,则将所述第一缓存块存储于所述第二数据区的第三缓存块中,将所述第一缓存块和所述第二缓存块对应的系统文件的元数据中的地址修改为所述第三缓存块的地址,删除所述第一缓存块和所述第二缓存块;
若所述第一缓存块与所述第二缓存块相同,且所述第二缓存块位于所述第二数据区,则将所述第一缓存块对应的系统文件的元数据中的地址修改为所述第二缓存块的地址,删除所述第一缓存块。
可选的,所述方法还包括:
若所述第二数据区中存在待修改的缓存块,将所述第二数据区中的待修改的缓存块存储在所述第一数据区中;
修改所述第一数据区中的待修改的缓存块;
修改所述待修改的缓存块对应的系统文件的元数据中的地址为所述第一数据区中的待修改的缓存块的地址。
可选的,所述方法还包括:
若第四缓存块的引用数量等于0,则删除所述第四缓存块,其中,所述第四缓存块位于所述第二数据区中,所述第四缓存块的引用数量为元数据区存储所述第四缓存块的地址的次数。
可选的,所述第二数据区包括第三数据区和第四数据区,所述将所述第一缓存块存储于所述第二数据区的第三缓存块中,包括:
将所述第一缓存块存储于所述第三数据区的第三缓存块中;
所述若第四缓存块的引用数量等于0,删除所述第四缓存块,包括:
若第四缓存块的引用数量等于0,将所述第三数据区中的第四缓存块存储在所述第四数据区中,在所述第三数据区中删除所述第四缓存块;每隔第一预设时间段,删除所述第四数据区中的第四缓存块。
可选的,所述方法还包括:
每隔第二预设时间段,针对每个第五缓存块,比较所述第五缓存块与第六缓存块是否相同,其中,所述第五缓存块为在所述第二预设时间段内增加的第一数据区的缓存块,所述第六缓存块为所述缓存单元中除所述第五缓存块以外的缓存块;
若所述第五缓存块与所述第六缓存块相同,且所述第六缓存块位于所述第一数据区,则将所述第五缓存块存储于所述第二数据区的第七缓存块中,将所述第五缓存块和所述第六缓存块对应的系统文件的元数据中的地址修改为所述第七缓存块的地址,删除所述第五缓存块和所述第六缓存块;
若所述第五缓存块与所述第六缓存块相同,且所述第六缓存块位于所述第二数据区,则将所述第五缓存块对应的系统文件的元数据中的地址修改为所述第六缓存块的地址,删除所述第五缓存块。
可选的,所述针对每个第一缓存块,比较所述第一缓存块与第二缓存块是否相同,包括:
针对每个第一缓存块,比较所述第一缓存块的指纹与所述第二缓存块的指纹是否相同;
相应的,所述第一缓存块与所述第二缓存块相同,包括:
所述第一缓存块的指纹与所述第二缓存块的指纹相同。
第二方面,本公开提供一种桌面云系统的数据存储装置,所述桌面云系统包括缓存单元,所述缓存单元包括元数据区、第一数据区和第二数据区,所述装置包括:
得到模块,用于将桌面的系统文件存储在所述第一数据区中,得到多个第一缓存块,将所述桌面的系统文件的元数据存储在所述元数据区中,其中,所述系统文件的元数据包括所述系统文件存储在的缓存块的地址;
比较模块,用于针对每个第一缓存块,比较所述第一缓存块与第二缓存块是否相同,其中,所述第二缓存块为所述缓存单元中除所述第一缓存块以外的缓存块;
第一存储模块,用于若所述第一缓存块与所述第二缓存块相同,且所述第二缓存块位于所述第一数据区,则将所述第一缓存块存储于所述第二数据区的第三缓存块中;
第一修改模块,用于将所述第一缓存块和所述第二缓存块对应的系统文件的元数据中的地址修改为所述第三缓存块的地址;
第一删除模块,用于删除所述第一缓存块和所述第二缓存块;
第二修改模块,用于若所述第一缓存块与所述第二缓存块相同,且所述第二缓存块位于所述第二数据区,则将所述第一缓存块对应的系统文件的元数据中的地址修改为所述第二缓存块的地址;
第二删除模块,用于删除所述第一缓存块。
可选的,所述装置还包括:
第二存储模块,用于若所述第二数据区中存在待修改的缓存块,将所述第二数据区中的待修改的缓存块存储在所述第一数据区中;
第三修改模块,用于修改所述第一数据区中的待修改的缓存块;修改所述待修改的缓存块对应的系统文件的元数据中的地址为所述第一数据区中的待修改的缓存块的地址。
可选的,所述装置还包括:
第三删除模块,用于若第四缓存块的引用数量等于0,则删除所述第四缓存块,其中,所述第四缓存块位于所述第二数据区中,所述第四缓存块的引用数量为元数据区存储所述第四缓存块的地址的次数。
可选的,所述第二数据区包括第三数据区和第四数据区,所述存储模块具体用于:
将所述第一缓存块存储于所述第三数据区的第三缓存块中;
所述删除模块具体用于:
若第四缓存块的引用数量等于0,将所述第三数据区中的第四缓存块存储在所述第四数据区中,在所述第三数据区中删除所述第四缓存块;每隔第一预设时间段,删除所述第四数据区中的第四缓存块。
可选的,所述装置还包括:
比较模块还用于每隔第二预设时间段,针对每个第五缓存块,比较所述第五缓存块与第六缓存块是否相同,其中,所述第五缓存块为在所述第二预设时间段内增加的第一数据区的缓存块,所述第六缓存块为所述缓存单元中除所述第五缓存块以外的缓存块;
第一存储模块,还用于若所述第五缓存块与所述第六缓存块相同,且所述第六缓存块位于所述第一数据区,则将所述第五缓存块存储于所述第二数据区的第七缓存块中;
第一修改模块,还用于将所述第五缓存块和所述第六缓存块对应的系统文件的元数据中的地址修改为所述第七缓存块的地址;
第一删除模块,还用于删除所述第五缓存块和所述第六缓存块;
第二修改模块,还用于若所述第五缓存块与所述第六缓存块相同,且所述第六缓存块位于所述第二数据区,则将所述第五缓存块对应的系统文件的元数据中的地址修改为所述第六缓存块的地址;
第二删除模块,还用于删除所述第五缓存块。
可选的,所述比较模块具体用于:
针对每个第一缓存块,比较所述第一缓存块的指纹与所述第二缓存块的指纹是否相同;
相应的,所述第一缓存块与所述第二缓存块相同,包括:
所述第一缓存块的指纹与所述第二缓存块的指纹相同。
第三方面,本公开提供一种桌面云系统的数据存储设备,包括:
存储器,用于存储处理器可执行指令的存储器;
处理器,用于在计算机程序被执行时,实现如上述第一方面所述的方法。
第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面所述的桌面云系统的数据存储方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:通过将桌面云系统中的缓存单元分为元数据区、第一数据区和第二数据区,将桌面的系统文件存储在第一数据区中,得到多个缓存块,第一数据区包括多个第一缓存块,将桌面的系统文件的元数据存储在元数据区中,系统文件的元数据包括数据单元的地址,针对每个第一缓存块,将第一缓存块与第二缓存块进行比较,其中,第二缓存块为缓存单元中除第一缓存块以外的缓存块,若第一缓存块与第二缓存块相同,说明有重复数据,则将重复数据删除,从而节约缓存空间,且使用相同操作系统的桌面越多,越节省缓存空间。并且将重复数据放入第二数据区,将新数据和临时的系统文件的数据放入第一数据区,可以只针对第一数据区的第一缓存块进行与第二缓存块的比较操作,无需再对第二数据区的缓存块进行与第二缓存块的比较操作,不仅降低了对昂贵的固态硬盘的投入成本,也提升了桌面云系统的存储性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种桌面云系统的架构示意图;
图2为一种缓存单元的结构示意图;
图3为一种顺序编制地址的示意图;
图4为一种逻辑地址与物理地址映射表的结构示意图;
图5为本公开实施例提供的一种桌面云系统的数据存储方法的流程示意图;
图6为本公开实施例提供的另一种桌面云系统的数据存储方法的流程示意图;
图7为本公开实施例提供的再一种桌面云系统的数据存储方法的流程示意图;
图8为本公开实施例提供的又一种桌面云系统的数据存储方法的流程示意图;
图9为本公开实施例提供的又一种桌面云系统的数据存储方法的流程示意图;
图10为本公开实施例提供一种桌面云系统的数据存储装置的结构示意图;
图11为本公开实施例提供一种桌面云系统的数据存储设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
首先对本发明所涉及的名词进行解释:
桌面云,是指通过桌面虚拟化技术,将计算机终端系统(也称为桌面)进行虚拟化,使得桌面使用安全和灵活,通过计算机、瘦终端、移动终端在任何可以连接的网络上访问属于个人的桌面,并通过云的方式为桌面提供服务。
固态驱动器(Solid State Disk或Solid State Drive,简称SSD),也叫固态硬盘,是指用固态电子存储芯片阵列制成的硬盘。SSD与硬盘驱动器(Hard Disk Drive,简称HDD)相比,性能更好,价格较昂贵。SSD可以包括串口硬盘(Serial Advanced TechnologyAttachment,简称SATA)的SSD,串行连接SCSI接口(Serial Attached SCSI,SAS)的SSD或者NVME接口的SSD等。
图1为一种桌面云系统的架构示意图,如图1所示,桌面云系统包括瘦终端和服务器,其中,瘦终端包括瘦终端1、瘦终端2、瘦终端3、瘦终端4、瘦终端5和瘦终端6,图1中瘦终端的数量只是一种示意,瘦终端可以为一个或多个,对此本发明不做限定。瘦终端通过网络与服务器连接,可选的,瘦终端与服务器可以通过无线网络或者有线网络进行连接。服务器包括存储系统,存储系统包括缓存单元和存储单元,缓存单元包括一个或多个SSD,缓存单元用于存储桌面云系统的缓存数据。存储单元包括一个或多个HDD,存储单元用于存储桌面云系统中不同用户的数据。
在桌面云系统中,当需要在瘦终端1上运行某一个用户的桌面时,服务器将该桌面的系统文件(虚拟机)从存储单元读取到缓存单元,从缓存单元读取该桌面的系统文件以运行该桌面,通过与瘦终端1连接的网络将该用户的桌面发送给瘦终端1进行显示。
下面结合图1说明本发明具体的应用场景。在同时运行多个桌面的场景下,服务器需要将多个桌面的系统文件从存储单元加载到缓存单元。然而,在多个桌面使用的系统相同的情况下,该多个桌面的系统文件大部分内容是相同的,且在桌面运行过程中对系统文件的改动也较少,这样将占用大量的缓存空间,也导致其他存储无法使用缓存单元,从而使得系统存储性能降低。以桌面云系统中运行多个Windows操作系统为例,Windows操作系统的系统文件(系统盘)为与操作系统相关的数据,各个Windows操作系统的系统文件中的大部分数据是相同的,且在Windows操作系统运行过程中对操作系统的系统文件进行修改的情况较少,如果将6个Windows操作系统的系统文件都加载到缓存单元,将导致缓存单元存储了6个相同的系统内容,将浪费缓存空间。
针对现有技术的上述技术问题,本公开提出一种桌面云系统的数据存储方法,将多个桌面的系统文件加载到缓存单元中,对缓存单元中重复数据进行删除,对于重复数据只保留一份数据,大大节省了缓存单元,同时提高了系统性能。
本公开提供的方法适用于下述缓存单元,图2为一种缓存单元的结构示意图,如图2所示,本公开提供的缓存单元包括元数据区、第一数据区和第二数据区。
第一数据区用于存储桌面的系统文件(虚拟机)的缓存数据。
第二数据区用于存储不同桌面的系统文件中相同的数据。
元数据区用于存储缓存单元的元数据以及桌面的系统文件的元数据,缓存单元的元数据为缓存单元的一些寻址规则等,桌面的系统文件的元数据存储不同的系统文件的数据存储在的缓存块的地址等,通过元数据中的地址在第一数据区和第二数据区中进行寻址,找到桌面的系统文件的数据,从而运行桌面,可选的,可以设置每个桌面的系统文件(虚拟机)占用固定大小的缓存空间。
可选的,缓存区还可以包括预留数据区,预留数据区为特殊操作预留的缓存空间,避免缓存空间分配失败,导致特殊操作失败,而引起的数据异常。
在缓存单元初始化时,可以根据设置的缓存块的大小,对缓存单元进行编制,按照顺序编制地址,图3为一种顺序编制地址的示意图,如图3所示,图3中的方块为缓存单元中的缓存块,按照顺序对缓存块进行编制地址,缓存块的逻辑地址为0、1、2等,依次类推可以得到各个缓存块的逻辑地址。在将桌面的系统文件加载到缓存单元中时,系统文件分别存储在多个缓存块中。可选的,可以根据图2中对缓存单元的分区情况,使得每一个区域占用一段连续的缓存地址,从而可以实现以缓存块为最小单位对缓存单元进行操作,从而实现对缓存单元的管理。
可选的,可以在系统文件的元数据中存储缓存块的逻辑地址,通过逻辑地址与物理地址映射表实现对缓存块的寻址,从而运行桌面。由于一个桌面的系统文件与其他桌面的系统文件中相同的数据存储在第二数据区,该桌面的系统文件中与其他桌面的系统文件不同的数据存储在第一数据区,该桌面的系统文件的缓存块在缓存单元中并不是连续分布的,而是离散分布的,为了使桌面使用方便,桌面的系统文件可以使用连续的逻辑地址。例如,图4为一种逻辑地址与物理地址映射表的结构示意图,如图4所示,逻辑地址可以包括:数据区域编码、页面编码和缓存块编码,图中的箭头表示与前一个编码对应的后一个编码的区域,数据区域编码用于表示缓存单元中的不同的区域,例如,可以设置数据区域编码占用二进制的3位数,可以理解,其最多支持8种数据区域,可以将上述第一数据区定义为0,第二数据区定义为1,预留数据区定义为2,由数据区域编码可以确定逻辑地址所指示的缓存块所在的区域,每个数据区域编码对应一部分页面编码,且每个数据区域编码对应的页面编码的部分,单独进行编码,缓存块编码为每个缓存块地址,针对每个页面对应的缓存块编码,单独进行编码。元数据中存储的缓存块的地址为缓存块的逻辑地址,通过逻辑地址与物理地址映射表,转换为缓存块的物理地址,按照物理地址进行寻址,可以读取到数据。
可选的,逻辑地址还可以包括目录编码。在缓存空间很大的情况下,逻辑地址还可以增加目录编码,是否需要编制目录编码可以根据缓存空间大小进行设置,例如,桌面虚拟机最大可使用缓存空间为2的48次方字节,目录编码占用10位,页面编码为25位,缓存块编码为10位,则根据页面编码和缓存块编码表明当桌面虚拟机使用的缓存小于2的35次方字节(32GB)时,不需要设置目录编码。
下面结合上述缓存单元的结构,以具体的实施例来说明本公开的技术方案如何解决如上技术问题。
图5为本公开实施例提供的一种桌面云系统的数据存储方法的流程示意图,如图5所示,本实施例的方法由服务器执行,本实施例提供的方法应用于桌面云系统中,桌面云系统包括缓存单元,缓存单元包括元数据区、第一数据区和第二数据区,该桌面云系统可以为图1所示的桌面云系统,本实施例的方法如下:
S501、将桌面的系统文件存储在第一数据区中,得到多个第一缓存块,将桌面的系统文件的元数据存储在元数据区中。
其中,系统文件的元数据包括系统文件存储在的缓存块的地址。
可以将缓存单元按照预设的缓存块大小进行划分,将数据存储在缓存单元中时,均按照该划分的缓存块的大小进行存储。系统初始化打开桌面或者当瘦终端请求打开桌面时,服务器将需要打开的桌面的系统文件加载在第一数据区中,并将该桌面的系统文件的元数据存储在元数据区,其中打开的桌面可以为一个或多个,对此本发明不做限定。其中,桌面的系统文件的元数据为系统文件所存储的缓存块的地址。
S502、针对每个第一缓存块,比较第一缓存块与第二缓存块是否相同。
其中,第二缓存块为缓存单元中除第一缓存块以外的缓存块。
针对每个第一缓存块,通过遍历的方式,在缓存单元的第一数据区和第二数据区中的其他缓存块,查找与第一缓存块中存储的数据相同的第二缓存块,也就是按照一定的顺序比较第一缓存块与每个第二缓存块是否相同,例如,第一缓存块的地址为0,按照缓存块的顺序后面的第二缓存块的地址为1,2等,第一缓存块与地址为1的第二缓存块比较,若二者不相同,继续将第一缓存块与地址为2的第二缓存块进行比较,依次类推。若第一缓存块与第二缓存块相同,继续执行S503a,若没有与第一缓存块相同的第二缓存块,则不对第一缓存块进行处理,执行S503b。
S503b、比较第一缓存块与下一个第二缓存块是否相同。
按照一定的顺序进行遍历的过程中,第一缓存块可以与一个第二缓存块比较以后,继续与下一个第二缓存块进行比较。
S503a、判断第二缓存块是否位于第一数据区。
若找到与第一缓存块相同的第二缓存块,说明有重复数据,可以将重复数据删除,只保留一份数据在缓存单元中,然后可以根据第二缓存块的位置对重复数据执行不同的操作,若第二缓存块位于第一数据区,继续执行S504,若第二缓存块不是位于第一数据区,则第二缓存块位于第二数据区,继续执行S505。
S504、若第一缓存块与第二缓存块相同,且第二缓存块位于第一数据区,则将第一缓存块存储于第二数据区的第三缓存块中,将第一缓存块和第二缓存块对应的系统文件的元数据中的地址修改为第三缓存块的地址,删除第一缓存块和第二缓存块。
由于第二数据区用来存放重复数据,可以将重复的缓存块(第一缓存块或第二缓存块)存储于第二数据区的为存储数据的第三缓存块中,删除该第一缓存块和第二缓存块,将原来第一缓存块和第二缓存块对应的系统文件的元数据中的地址修改为第三缓存块的地址,也就是说运行桌面需要读取系统文件时,按照元数据中的地址,直接寻址到第三缓存块,读取第三缓存块的地址。可以理解,修改地址的操作与删除第一缓存块,删除第二缓存块的操作在执行的过程中没有先后顺序,对此本发明不做限定。
S505、若第一缓存块与第二缓存块相同,且第二缓存块位于第二数据区,则将第一缓存块对应的系统文件的元数据中的地址修改为第二缓存块的地址,删除第一缓存块。
若第二缓存块位于第二数据区,则说明第二缓存块本身已经为重复数据,则无需执行S504中的将第一缓存块存储在第二数据区的操作,可以直接将第一缓存块对应的系统文件的元数据中的地址修改为第二缓存块的地址,并删除第一缓存块即可。可以理解,修改地址的操作与删除第一缓存块的操作在执行的过程中没有先后顺序,对此本发明不做限定。
可选的,可以通过如下方式比较第一缓存块与第二缓存块:可以按照第二缓存块的地址由低到高的顺序,比较第一缓存块与第二缓存块,也可以按照第二缓存块所在的缓存单元中所在的数据区进行比较,例如先比较位于第二数据区的第二缓存块,若在第二数据区存在与第一缓存块相同的第二缓存块,则执行S505,若没有找到与第一缓存块相同的第二缓存块,则继续比较位于第一数据区的第二缓存块。对于第一缓存块与第二缓存块进行比较的方式,也可以为其他任何方式,对此本发明不做限定。
可选的,在将第一缓存块与第二缓存块进行比较的过程中,若确定出第一缓存块与第二缓存块相同,则可以停止继续比较第一缓存块与还未比较的第二缓存块是否相同,也可以继续比较第一缓存块与还未比较的第二缓存块是否相同,直到遍历完所有的第二缓存块。
经过一段时间的处理,第二数据区的数据是各个桌面的系统文件中重复的数据,桌面的系统文件中重复数据较多,当有新运行的桌面时,该新运行的桌面的系统文件先与第二数据区的缓存块进行比较,能够较快的确定出与第一缓存块相同的第二缓存块,节约系统处理资源。
本实施例,通过将桌面云系统中的缓存单元分为元数据区、第一数据区和第二数据区,将桌面的系统文件存储在第一数据区中,得到多个缓存块,第一数据区包括多个第一缓存块,将桌面的系统文件的元数据存储在元数据区中,系统文件的元数据包括数据单元的地址,针对每个第一缓存块,将第一缓存块与第二缓存块进行比较,其中,第二缓存块为缓存单元中除第一缓存块以外的缓存块,若第一缓存块与第二缓存块相同,说明有重复数据,则将重复数据删除,从而节约缓存空间,且使用相同操作系统的桌面越多,节省缓存空间越多。并且将重复数据放入第二数据区,将新数据和临时的系统文件的数据放入第一数据区,可以只针对第一数据区的第一缓存块进行与第二缓存块的比较操作,无需再对第二数据区的缓存块进行与第二缓存块的比较操作,不仅降低了对昂贵的固态硬盘的投入成本,也提升了桌面云系统的存储性能。
在上述实施例的基础上,进一步地,在桌面云系统运行过程中,系统文件不是一成不变的,存在需要修改系统文件的数据的情况,此时需要修改相应的缓存块,也就是存在待修改的缓存块,待修改的缓存块可能位于第一数据区,也可能位于第二数据区。下面对待修改的缓存块位于不同的数据区的情况进行分析。
图6为本公开实施例提供的另一种桌面云系统的数据存储方法的流程示意图,图6是在图5所示实施例的基础上,如图6所示,本实施例的方法还包括S506、S507、S508和S509:
S506、判断待修改的缓存块是否位于第一数据区。
若第一数据区中存在待修改的缓存块,则直接修改第一数据区中的待修改的缓存块。若待修改的缓存块不位于第一数据区,即第二数据区中存在待修改的缓存块,需要将待修改的缓存块转移到第一数据区中,再进行修改,继续执行S507、S508和S509:
S507、将第二数据区中的待修改的缓存块存储在第一数据区中。
S508、修改第一数据区中的待修改的缓存块。
S509、更改待修改的缓存块对应的系统文件的元数据中的地址为第一数据区中的待修改的缓存块的地址。
由于第二数据区中的缓存块为重复数据,针对第二数据区中的待修改的缓存块进行修改,可能需要同时修改多个系统文件,因此,需要根据修改的系统文件的数量,将待修改缓存块存储到第一数据区中,然后在第一数据区中对待修改的缓存块进行修改。在将待修改缓存块存储到第一数据区时,可以根据待修改的缓存块的待修改的数量,在第一数据区存储相应待修改的数量的待修改的缓存块,然后再分别进行修改,相应的,更改待修改的缓存块对应的系统文件的元数据中的地址,可以是分别更改待修改的缓存块对应的系统文件的元数据中的地址。
需要说明的是,若第二数据区中存在待修改的缓存块,则S507、S508和S509的执行没有先后顺序。
可选的,可以定义缓存块的引用数量为缓存块在元数据区被引用其地址的次数,也就是该缓存块在缓存单元中重复的次数。可选的,可以存储第二数据区的缓存块的引用数量,也可以检测缓存块的引用数量。
示例性的,待修改的缓存块的引用数量为5,假设该待修改的缓存块对应的5个系统文件的元数据中有1个需要修改,则将待修改的缓存块存储在第一数据区,将该需要修改的系统文件的元数据中的地址修改为第一数据区中的待修改的缓存块的地址,对第一数据区中的该待修改的缓存块进行修改,相应的,待修改的缓存块的引用数量更改为4。
本实施例,通过若第二数据区中存在待修改的缓存块,将第二数据区中的待修改的缓存块存储在第一数据区中,修改第一数据区中的待修改的缓存块,更改待修改的缓存块对应的系统文件的元数据中的地址为第一数据区中的待修改的缓存块的地址。使得修改缓存块的操作都在第一数据区执行,避免在第二数据区直接修改缓存块的数据造成缓存单元的混乱。
在上述实施例的基础上,在对缓存块进行修改的过程中,待修改的缓存块的引用数量相应在变化,若缓存块的引用数量为0,说明已经没有系统文件需要使用该缓存块的数据,则需要删除该缓存块,从而节约缓存空间。
图7为本公开实施例提供的再一种桌面云系统的数据存储方法的流程示意图,图7是在图5或图6所示实施例的基础上,进一步地,如图7所示,本实施例提供的方法还包括S510和S511:
S510、判断待删除的缓存块是否位于第一数据区。
若第一数据区中存在待删除的缓存块,删除该待删除的缓存块。若第一数据区中缓存块对应的元数据中存储的地址删除,则需要将第一数据区中的缓存块删除,在第一数据区中直接将该待删除的缓存块删除。若待删除的缓存块位于第二数据区,继续执行S511。
S511、若第四缓存块的引用数量等于0,则删除第四缓存块。
其中,第四缓存块位于第二数据区中,第四缓存块的引用数量为元数据区存储第四缓存块的地址的次数。
一种可能的实现方式中,每次对待修改的缓存块进行修改后,判断修改后的缓存块的引用数量是否为0,若为0则直接删除该缓存块。另一种可能的实现方式中,每隔预设的检测时间段,对第二数据区中的缓存块的引用数量进行检测,若第二数据区中的第四缓存块的引用数量等于0,则删除第四缓存块。
在一些场景中,例如多个桌面关闭又重新运行的场景,多个桌面关闭时,需要将缓存单元中多个桌面涉及到的系统文件的缓存块删除,多个桌面重新运行以后,需要重新将多个桌面的系统文件加载到缓存单元中,并进行重复数据删除的步骤,这样将增加系统负荷,占用系统资源。
进一步地,第二数据区可以包括:第三数据区和第四数据区。第三数据区用于存放重复数据,第四数据区为一个存储临时数据的区域。S509可以包括S5101和S5102:
S5101、若第四缓存块的引用数量等于0,将第三数据区中的第四缓存块存储在第四数据区中,在第三数据区中删除第四缓存块。
针对第三数据区,可以在存在第四缓存块时就直接将第四缓存块存储在第四数据区中,在第三数据区中删除第四缓存块。也可以每隔第一预设时间段,检测第三数据区的缓存块的引用数量是否为0,若第四缓存块的引用数量为0,则将第四缓存块存储在第四数据区,删除第三数据区中的第四缓存块。
S5102、每隔第一预设时间段,删除第四数据区中的第四缓存块。
针对第四数据区,每隔第二预设时间段,检测第四数据区的缓存块的引用数量是否为0,若第四缓存块的引用数量为0,删除第四数据区中的第四缓存块。其中,第一预设时间段为预先设置的时间长度。
可选的,采用聚散链表管理第三数据区和第四数据区,避免两个区域之间的数据移动占用内存,可以节约系统的内存资源。
本实施例,在多个桌面同时关闭然后开启的场景中,通过在第二数据区中分配了第四数据区,用于临时存放引用数量为0的第四缓存块,使得在第三数据区中如果有引用数量为0的第四缓存块,不立即清理,而是先存放在第四数据区中,定期清理第四数据区中的第四缓存块,可以在多个被关闭的桌面重新开启时,使用第四数据区中的第四缓存块,增加桌面开启速度,无需再对给第四缓存块中的数据进行重复数据删除的操作,节约了系统资源。
可选的,在S504中,将第一缓存块存储于第二数据区的第三缓存块中,包括:
将第一缓存块存储于第四数据区的第三缓存块中。
可选的,在S505中,第二缓存块位于第二数据区,包括:
第二缓存块位于第四数据区。
相应的,将第一缓存块对应的系统文件的元数据中的地址修改为第二缓存块的地址,包括:
将第二缓存块存储于第三数据区,删除第四数据区的第二缓存块,将第一缓存块对应的系统文件的元数据中的地址修改为第三缓存区中的第二缓存块的地址。
在上述实施例的基础上,进一步地,桌面云系统运行过程中是实时变化的,可能会有新开启的桌面,也可能有修改的或者关闭的桌面,因此,桌面云系统运行的过程中,对第一数据区的数据进行重复数据删除处理。
一种可能的实现方式中,每隔第三预设时间段,对第一数据区的所有数据进行重复数据删除的操作,如S502-S505步骤的处理,此处不再赘述。其中,第三预设时间段第三预设时间段可以根据设置进行更改,例如,在桌面云系统初始化运行一段时间后,缓存单元存储的数据趋于稳定了,一段时间内也没有新开启的桌面,则可以将第三预设时间段修改为更长的时间段。
通过每隔第三预设时间段对第一数据区的数据进行重复数据删除操作,使得随着桌面的系统文件的变化进行缓存单元的重复数据删除操作,从而节约缓存空间,提高系统性能。
另一种可能的实现方式中,周期性对第一数据区中新增加的缓存块进行重复数据删除的处理。下面以图8所示实施例进行详细说明。
图8为本公开实施例提供的又一种桌面云系统的数据存储方法的流程示意图,图8是在图5-图7所示实施例的基础上,进一步地,如图8所示,本实施例提供的方法还包括S512、S513a、S513b、S514、S515:
S512、每隔第二预设时间段,针对每个第五缓存块,比较第五缓存块与第六缓存块是否相同。
其中,第五缓存块为在第三预设时间段内增加的第一数据区的缓存块,第六缓存块为缓存单元中除第五缓存块以外的缓存块。
在第一数据区增加缓存块的情况下,需要记录增加的缓存块,从而每隔第二预设时间段,只对第二预设时间段内增加的第五缓存块与第六缓存块进行比较,其中,增加的第一数据区的缓存块可以包括缓存单元中没有的,新增加的缓存块,以及,缓存单元中存储的但是经过了修改的缓存块。若第五缓存块与第六缓存块相同,则继续执行S513a,若没有与第五缓存块相同的第六缓存块,则不对第五缓存块进行处理,执行S513b。
S513b、比较下一个第五缓存块与第六缓存块是否相同。
S513a、判断第六缓存块是否位于第一数据区。
若第六缓存块位于第一数据区则继续执行S514,若第六缓存块不是位于第一数据区,则第六缓存块位于第二数据区,继续执行S515。
S514、将第五缓存块存储于第二数据区的第七缓存块中,将第五缓存块和第六缓存块对应的系统文件的元数据中的地址修改为第七缓存块的地址,删除第五缓存块和第六缓存块。
S515、将第五缓存块对应的系统文件的元数据中的地址修改为第六缓存块的地址,删除第五缓存块。
上述S513a与S503a为类似步骤,S513b与S503b为类似步骤,S514与S504为类似步骤,对S515和S505的原理,此处不再赘述。
本实施例,通过每隔第二预设时间段,针对每个第二预设时间段内增加的第一数据区的第五缓存块,比较第五缓存块与第一数据区中的其他缓存块是否相同,若第五缓存块与第六缓存块相同,且第六缓存块位于第一数据区,则将第五缓存块存储于第二数据区的第七缓存块中,将第五缓存块和第六缓存块对应的系统文件的元数据中的地址修改为第七缓存块的地址,删除第五缓存块和第六缓存块,若第五缓存块与第六缓存块相同,且第六缓存块位于第二数据区,则将第五缓存块对应的系统文件的元数据中的地址修改为第六缓存块的地址,删除第五缓存块。从而实现随着桌面云系统的使用,周期性的对新增的第五缓存块进行处理,节约了系统的处理资源。
图9为本公开实施例提供的又一种桌面云系统的数据存储方法的流程示意图,图9是在图5-图8所示实施例的基础上,进一步地,如图9所示,S502可以包括S5021:
S5021、针对每个第一缓存块,比较第一缓存块的指纹与第二缓存块的指纹是否相同。
计算第一数据区和第二数据区中所有缓存块的指纹,从而组成指纹列表,缓存块的指纹为对缓存块进行相同的处理得到的缓存块中存储的数据的唯一的标识,例如,可以对缓存块进行哈希得到缓存块的指纹,可以理解,各个缓存块的指纹的长度相同。针对每个第一缓存块,计算第一缓存块的指纹,比较第一缓存块的指纹与第二缓存块的指纹是否相同。
可选的,比较第一缓存块的指纹与第二缓存块的指纹是否相同,可以包括:将指纹列表以红黑树的形式存储于内存中,在内存中存储的指纹列表中查找与第一缓存块的指纹相同的指纹。相应的,内存中的红黑树改变,需要同时改变元数据区中对应的元数据。
使用红黑树的形式进行查找与第一缓存块的指纹相同的指纹,使得查找效率更高,从而使得重复数据删除的处理操作效率更高。
相应的,第一缓存块与第二缓存块相同,包括:第一缓存块的指纹与第二缓存块的指纹相同。
本实施例,通过比较第一缓存块的指纹与第二缓存块的指纹是否相同,能够更加快速的进行重复数据删除,提高了重复数据删除的效率。
图10为本公开实施例提供一种桌面云系统的数据存储装置的结构示意图,桌面云系统包括缓存单元,缓存单元包括元数据区、第一数据区和第二数据区,如图10所示,本实施例提供的装置包括:
得到模块101,用于将桌面的系统文件存储在第一数据区中,得到多个第一缓存块,将桌面的系统文件的元数据存储在元数据区中,其中,系统文件的元数据包括系统文件存储在的缓存块的地址;
比较模块102,用于针对每个第一缓存块,比较第一缓存块与第二缓存块是否相同,其中,第二缓存块为缓存单元中除第一缓存块以外的缓存块;
第一存储模块103,用于若第一缓存块与第二缓存块相同,且第二缓存块位于第一数据区,则将第一缓存块存储于第二数据区的第三缓存块中;
第一修改模块104,用于将第一缓存块和第二缓存块对应的系统文件的元数据中的地址修改为第三缓存块的地址;
第一删除模块105,用于删除第一缓存块和第二缓存块;
第二修改模块106,用于若第一缓存块与第二缓存块相同,且第二缓存块位于第二数据区,则将第一缓存块对应的系统文件的元数据中的地址修改为第二缓存块的地址;
第二删除模块107,用于删除第一缓存块。
可选的,装置还包括:
第二存储模块,用于若第二数据区中存在待修改的缓存块,将第二数据区中的待修改的缓存块存储在第一数据区中;
第三修改模块,用于修改第一数据区中的待修改的缓存块;修改待修改的缓存块对应的系统文件的元数据中的地址为第一数据区中的待修改的缓存块的地址。
可选的,装置还包括:
第三删除模块,用于若第四缓存块的引用数量等于0,则删除第四缓存块,其中,第四缓存块位于第二数据区中,第四缓存块的引用数量为元数据区存储第四缓存块的地址的次数。
可选的,第二数据区包括第三数据区和第四数据区,存储模块具体用于:
将第一缓存块存储于第三数据区的第三缓存块中;
删除模块具体用于:
若第四缓存块的引用数量等于0,将第三数据区中的第四缓存块存储在第四数据区中,在第三数据区中删除第四缓存块;每隔第一预设时间段,删除第四数据区中的第四缓存块。
可选的,装置还包括:
比较模块还用于每隔第二预设时间段,针对每个第五缓存块,比较第五缓存块与第六缓存块是否相同,其中,第五缓存块为在第二预设时间段内增加的第一数据区的缓存块,第六缓存块为缓存单元中除第五缓存块以外的缓存块;
第一存储模块103,还用于若第五缓存块与第六缓存块相同,且第六缓存块位于第一数据区,则将第五缓存块存储于第二数据区的第七缓存块中;
第一修改模块104,还用于将第五缓存块和第六缓存块对应的系统文件的元数据中的地址修改为第七缓存块的地址;
第一删除模块105,还用于删除第五缓存块和第六缓存块;
第二修改模块106,还用于若第五缓存块与第六缓存块相同,且第六缓存块位于第二数据区,则将第五缓存块对应的系统文件的元数据中的地址修改为第六缓存块的地址;
第二删除模块107,还用于删除第五缓存块。
可选的,比较模块102具体用于:
针对每个第一缓存块,比较第一缓存块的指纹与第二缓存块的指纹是否相同;
相应的,第一缓存块与第二缓存块相同,包括:
第一缓存块的指纹与第二缓存块的指纹相同。
上述实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图11为本公开实施例提供一种桌面云系统的数据存储设备的结构示意图,如图11所示,本实施例提供的设备包括:
存储器111,用于存储处理器可执行指令的存储器;
处理器112,用于在计算机程序被执行时,实现如上述图5-图9所示的方法。
上述实施例的设备,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本公开提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述图5-图9所示的桌面云系统的数据存储方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种桌面云系统的数据存储方法,其特征在于,所述桌面云系统包括缓存单元,所述缓存单元包括元数据区、第一数据区和第二数据区,所述方法包括:
将桌面的系统文件存储在所述第一数据区中,得到多个第一缓存块,将所述桌面的系统文件的元数据存储在所述元数据区中,其中,所述系统文件的元数据包括所述系统文件存储在的所述第一缓存块的地址;
针对每个第一缓存块,比较所述第一缓存块与第二缓存块是否相同,其中,所述第二缓存块为所述缓存单元中除所述第一缓存块以外的缓存块;
若所述第一缓存块与所述第二缓存块相同,且所述第二缓存块位于所述第一数据区,则将所述第一缓存块存储于所述第二数据区的第三缓存块中,将所述第一缓存块和所述第二缓存块对应的系统文件的元数据中的地址修改为所述第三缓存块的地址,删除所述第一缓存块和所述第二缓存块;
若所述第一缓存块与所述第二缓存块相同,且所述第二缓存块位于所述第二数据区,则将所述第一缓存块对应的系统文件的元数据中的地址修改为所述第二缓存块的地址,删除所述第一缓存块。
2.根据权利要求1所述的桌面云系统的数据存储方法,其特征在于,还包括:
若所述第二数据区中存在待修改的第三缓存块,将所述第二数据区中的待修改的所述第三缓存块存储在所述第一数据区中;
修改所述第一数据区中的待修改的所述第三缓存块;
修改所述待修改的所述第三缓存块对应的系统文件的元数据中的地址为所述第一数据区中的待修改的所述第三缓存块的地址。
3.根据权利要求2所述的桌面云系统的数据存储方法,其特征在于,还包括:
若第四缓存块的引用数量等于0,则删除所述第四缓存块,其中,所述第四缓存块位于所述第二数据区中,所述第四缓存块的引用数量为元数据区存储所述第四缓存块的地址的次数。
4.根据权利要求3所述的桌面云系统的数据存储方法,其特征在于,所述第二数据区包括第三数据区和第四数据区,所述将所述第一缓存块存储于所述第二数据区的第三缓存块中,包括:
将所述第一缓存块存储于所述第三数据区的第三缓存块中;
所述若第四缓存块的引用数量等于0,则删除所述第四缓存块,包括:
若第四缓存块的引用数量等于0,将所述第三数据区中的第四缓存块存储在所述第四数据区中,在所述第三数据区中删除所述第四缓存块;每隔第一预设时间段,删除所述第四数据区中的第四缓存块。
5.根据权利要求1所述的桌面云系统的数据存储方法,其特征在于,还包括:
每隔第二预设时间段,针对每个第五缓存块,比较所述第五缓存块与第六缓存块是否相同,其中,所述第五缓存块为在所述第二预设时间段内增加的第一数据区的缓存块,所述第六缓存块为所述缓存单元中除所述第五缓存块以外的缓存块;
若所述第五缓存块与所述第六缓存块相同,且所述第六缓存块位于所述第一数据区,则将所述第五缓存块存储于所述第二数据区的第七缓存块中,将所述第五缓存块和所述第六缓存块对应的系统文件的元数据中的地址修改为所述第七缓存块的地址,删除所述第五缓存块和所述第六缓存块;
若所述第五缓存块与所述第六缓存块相同,且所述第六缓存块位于所述第二数据区,则将所述第五缓存块对应的系统文件的元数据中的地址修改为所述第六缓存块的地址,删除所述第五缓存块。
6.根据权利要求1-5任一项所述的桌面云系统的数据存储方法,其特征在于,所述针对每个第一缓存块,比较所述第一缓存块与第二缓存块是否相同,包括:
针对每个第一缓存块,比较所述第一缓存块的指纹与所述第二缓存块的指纹是否相同;
相应的,所述第一缓存块与所述第二缓存块相同,包括:
所述第一缓存块的指纹与所述第二缓存块的指纹相同。
7.一种桌面云系统的数据存储装置,其特征在于,所述桌面云系统包括缓存单元,所述缓存单元包括元数据区、第一数据区和第二数据区,所述装置包括:
得到模块,用于将桌面的系统文件存储在所述第一数据区中,得到多个第一缓存块,将所述桌面的系统文件的元数据存储在所述元数据区中,其中,所述系统文件的元数据包括所述系统文件存储在的所述第一缓存块的地址;
比较模块,用于针对每个第一缓存块,比较所述第一缓存块与第二缓存块是否相同,其中,所述第二缓存块为所述缓存单元中除所述第一缓存块以外的缓存块;
第一存储模块,用于若所述第一缓存块与所述第二缓存块相同,且所述第二缓存块位于所述第一数据区,则将所述第一缓存块存储于所述第二数据区的第三缓存块中;
第一修改模块,用于将所述第一缓存块和所述第二缓存块对应的系统文件的元数据中的地址修改为所述第三缓存块的地址;
第一删除模块,用于删除所述第一缓存块和所述第二缓存块;
第二修改模块,用于若所述第一缓存块与所述第二缓存块相同,且所述第二缓存块位于所述第二数据区,则将所述第一缓存块对应的系统文件的元数据中的地址修改为所述第二缓存块的地址;
第二删除模块,用于删除所述第一缓存块。
8.根据权利要求7所述的桌面云系统的数据存储装置,其特征在于,还包括:
第二存储模块,用于若所述第二数据区中存在待修改的第三缓存块,将所述第二数据区中的待修改的所述第三缓存块存储在所述第一数据区中;
第三修改模块,用于修改所述第一数据区中的待修改的所述第三缓存块;修改所述待修改的所述第三缓存块对应的系统文件的元数据中的地址为所述第一数据区中的待修改的所述第三缓存块的地址。
9.一种桌面云系统的数据存储设备,其特征在于,包括:
存储器,用于存储处理器可执行指令的存储器;
处理器,用于在计算机程序被执行时,实现如上述权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的桌面云系统的数据存储方法。
CN202011116530.4A 2020-10-19 2020-10-19 桌面云系统的数据存储方法、装置、设备和可读存储介质 Active CN112347060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011116530.4A CN112347060B (zh) 2020-10-19 2020-10-19 桌面云系统的数据存储方法、装置、设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011116530.4A CN112347060B (zh) 2020-10-19 2020-10-19 桌面云系统的数据存储方法、装置、设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN112347060A CN112347060A (zh) 2021-02-09
CN112347060B true CN112347060B (zh) 2023-09-26

Family

ID=74362124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011116530.4A Active CN112347060B (zh) 2020-10-19 2020-10-19 桌面云系统的数据存储方法、装置、设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN112347060B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225375B (zh) * 2021-03-29 2022-01-21 北京城建智控科技股份有限公司 一种基于分布式的中心车站一体城轨云架构系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035881A (zh) * 2010-11-19 2011-04-27 清华大学 一种云端存储系统的数据缓存方法
CN104408111A (zh) * 2014-11-24 2015-03-11 浙江宇视科技有限公司 一种删除重复数据的方法及装置
CN106155934A (zh) * 2016-06-27 2016-11-23 华中科技大学 一种云环境下基于重复数据的缓存方法
CN107995318A (zh) * 2018-01-04 2018-05-04 西安雷风电子科技有限公司 一种网络云盘的高可用系统
CN109213738A (zh) * 2018-11-20 2019-01-15 武汉理工光科股份有限公司 一种云存储文件级重复数据删除检索系统及方法
CN109522283A (zh) * 2018-10-30 2019-03-26 深圳先进技术研究院 一种重复数据删除方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9633022B2 (en) * 2012-12-28 2017-04-25 Commvault Systems, Inc. Backup and restoration for a deduplicated file system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035881A (zh) * 2010-11-19 2011-04-27 清华大学 一种云端存储系统的数据缓存方法
CN104408111A (zh) * 2014-11-24 2015-03-11 浙江宇视科技有限公司 一种删除重复数据的方法及装置
CN106155934A (zh) * 2016-06-27 2016-11-23 华中科技大学 一种云环境下基于重复数据的缓存方法
CN107995318A (zh) * 2018-01-04 2018-05-04 西安雷风电子科技有限公司 一种网络云盘的高可用系统
CN109522283A (zh) * 2018-10-30 2019-03-26 深圳先进技术研究院 一种重复数据删除方法及系统
CN109213738A (zh) * 2018-11-20 2019-01-15 武汉理工光科股份有限公司 一种云存储文件级重复数据删除检索系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种云存储系统中重复数据删除机制;毕朝国等;《计算机应用研究》;第31卷(第10期);第[3052]-[3060]页 *

Also Published As

Publication number Publication date
CN112347060A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
US10489059B2 (en) Tier-optimized write scheme
US11347443B2 (en) Multi-tier storage using multiple file sets
JP5955870B2 (ja) 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム
US8966188B1 (en) RAM utilization in a virtual environment
US9880743B1 (en) Tracking compressed fragments for efficient free space management
TWI476676B (zh) 用於使用不同叢集尺寸的儲存裝置之檔案系統
US20180165014A1 (en) Array controller, solid state disk, and method for controlling solid state disk to write data
CN109558084B (zh) 一种数据处理方法以及相关设备
EP2791796A1 (en) Dynamic storage tiering in a virtual environment
WO2011084854A1 (en) Systems and methods for removing unreferenced data segments from deduplicated data systems
US10585594B1 (en) Content-based caching using digests
CN111381779B (zh) 数据处理方法、装置、设备及存储介质
CN108052643B (zh) 基于LSM Tree结构的数据存储方法、装置及存储引擎
TW202040406A (zh) 使用電路實現的軟體和用於金鑰—值儲存的方法
US9430492B1 (en) Efficient scavenging of data and metadata file system blocks
US11119912B2 (en) Ordering data updates for improving garbage collection being performed while performing the set of data updates
US9183127B2 (en) Sequential block allocation in a memory
WO2020192710A1 (zh) 基于lsm数据库的垃圾处理的方法、固态硬盘以及存储装置
CN110352410B (zh) 跟踪索引节点的访问模式以及预提取索引节点
US8478755B2 (en) Sorting large data sets
CN112347060B (zh) 桌面云系统的数据存储方法、装置、设备和可读存储介质
CN105493080A (zh) 基于上下文感知的重复数据删除的方法和装置
US10185660B2 (en) System and method for automated data organization in a storage system
WO2017054636A1 (zh) 虚拟快照处理方法及装置
US20220269431A1 (en) Data processing method and storage device

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