CN104571955A - 提高存储容量的方法和装置 - Google Patents
提高存储容量的方法和装置 Download PDFInfo
- Publication number
- CN104571955A CN104571955A CN201410834017.7A CN201410834017A CN104571955A CN 104571955 A CN104571955 A CN 104571955A CN 201410834017 A CN201410834017 A CN 201410834017A CN 104571955 A CN104571955 A CN 104571955A
- Authority
- CN
- China
- Prior art keywords
- memory
- internal memory
- space
- metadata
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
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)
- Memory System (AREA)
Abstract
本发明公开了一种提高存储容量的方法和装置,应用于桌面云,所述桌面云的存储空间包括内存和扩展存储空间,属于通信领域。所述方法包括:接收存储数据的请求;判断所述内存已用的存储空间是否达到指定的上限;如果所述内存已用的存储空间未达到指定的上限,则将所述数据存储在所述内存中;如果所述内存已用的存储空间已达到指定的上限,则将所述数据存储在所述扩展存储空间内。所述装置包括:接收模块、判断模块和数据存储模块。本发明在使用内存作为主存的桌面云中实现了容量扩展,保证了业务IO的连续性,即使内存使用已达到上限也能够保证业务不中断。
Description
技术领域
本发明涉及通信领域,特别涉及一种提高存储容量的方法和装置。
背景技术
桌面云是将个人计算机桌面环境通过云计算模式从物理机分离出来的一种技术,它可以对外提供桌面的服务。在桌面云虚拟桌面架构(Virtual DesktopInfrastructure,简称:VDI)中,服务器上的一个域可以虚拟出中央处理器(CentralProcessing Unit,简称:CPU)、输入输出(Input Output,简称:IO)总线、存储等资源供服务器上的另一个域使用。在桌面云所使用的数据存储中,大多数是由磁盘阵列组成,少数由固态硬盘(Solid State Drives,简称:SSD)阵列组成,还有极少数是由内存充当主存(即主存储器)。
在将内存用做主存的桌面云解决方案中,内存作为主存相比于磁盘类数据存储具有高每秒输入输出数量(Input and Output Per Second,简称:IOPS)、高每秒输入输出兆字节数(Mega Byte Per Second,简称:MBPS)、低时延的优点,虚拟机用户可以获得更好的存储体验效果。
但是,上述解决方案具有如下问题:节点所拥有的内存容量有限,相比于磁盘类存储显得尤为不足,当数据量较大时会出现内存空间全部用完的情况,导致业务中断。
发明内容
本发明提供了一种提高存储容量的方法和装置,以解决上述问题。所述技术方案如下:
第一方面,本发明提供了一种提高存储容量的方法,应用于桌面云,所述桌面云的存储空间包括内存和扩展存储空间,所述方法包括:
接收存储数据的请求;
判断所述内存已用的存储空间是否达到指定的上限;
如果所述内存已用的存储空间未达到指定的上限,则将所述数据存储在所述内存中;
如果所述内存已用的存储空间已达到指定的上限,则将所述数据存储在所述扩展存储空间内。
结合上述第一方面,在第一种实施方式下,所述方法还包括:
预先为元数据预留指定的存储空间,当存储元数据时,在所述预留的存储空间内存储所述元数据。
结合上述第一种实施方式,在第二种实施方式下,所述预留的存储空间分别位于所述内存和所述扩展存储空间,所述当存储元数据时,在所述预留的存储空间内存储所述元数据,包括:
当存储元数据时,判断所述元数据是用于管理所述内存还是用于管理所述扩展存储空间,如果所述元数据用于管理所述内存,则将所述元数据存储在所述内存预留的存储空间内,如果所述元数据用于管理所述扩展存储空间,则将所述元数据存储在所述扩展存储空间预留的存储空间内。
结合上述第一种实施方式,在第三种实施方式下,所述预留的存储空间位于所述内存,所述当存储元数据时,在所述预留的存储空间内存储所述元数据,包括:
当存储元数据时,将所述元数据存储在所述内存预留的存储空间内。
结合上述第一方面,在第四种实施方式下,所述方法还包括:
当所述扩展存储空间已存储有数据且所述内存未用的存储空间符合指定条件时,将所述扩展存储空间内存储的数据搬移到所述内存中。
结合上述第一方面,在第五种实施方式下,所述将所述数据存储在所述内存中,包括:
对所述数据进行压缩,将压缩后的数据存储在所述内存中。
第二方面,本发明提供了一种提高存储容量的装置,应用于桌面云,所述桌面云的存储空间包括内存和扩展存储空间,所述装置包括:
接收模块,用于接收存储数据的请求;
判断模块,用于判断所述内存已用的存储空间是否达到指定的上限;
数据存储模块,用于如果所述内存已用的存储空间未达到指定的上限,则将所述数据存储在所述内存中;如果所述内存已用的存储空间已达到指定的上限,则将所述数据存储在所述扩展存储空间内。
结合上述第二方面,在第一种实施方式下,所述装置还包括:
元数据存储模块,用于预先为元数据预留指定的存储空间,当存储元数据时,在所述预留的存储空间内存储所述元数据。
结合上述第二方面的第一种实施方式,在第二种实施方式下,所述预留的存储空间分别位于所述内存和所述扩展存储空间,所述元数据存储模块包括:
第一存储单元,用于当存储元数据时,判断所述元数据是用于管理所述内存还是用于管理所述扩展存储空间,如果所述元数据用于管理所述内存,则将所述元数据存储在所述内存预留的存储空间内,如果所述元数据用于管理所述扩展存储空间,则将所述元数据存储在所述扩展存储空间预留的存储空间内。
结合上述第二方面的第一种实施方式,在第三种实施方式下,所述预留的存储空间位于所述内存,所述元数据存储模块包括:
第二存储单元,用于当存储元数据时,将所述元数据存储在所述内存预留的存储空间内。
结合上述第二方面,在第四种实施方式下,所述装置还包括:
搬移模块,用于当所述扩展存储空间已存储有数据且所述内存未用的存储空间符合指定条件时,将所述扩展存储空间内存储的数据搬移到所述内存中。
结合上述第二方面,在第五种实施方式下,所述数据存储模块包括:
压缩存储单元,用于如果所述内存已用的存储空间未达到指定的上限,则对所述数据进行压缩,将压缩后的数据存储在所述内存中。
本发明提供的技术方案带来的有益效果是:在桌面云的存储空间内设置扩展存储空间,接收存储数据的请求,判断内存已用的存储空间是否达到指定的上限;如果未达到指定的上限,则将所述数据存储在所述内存中;如果已达到指定的上限,则将所述数据存储在所述扩展存储空间内,实现了根据内存使用容量来管理数据写入数据存储中的功能,通过使用扩展存储空间作为内存存储的应急设备,在使用内存作为主存的桌面云中实现了容量扩展,保证了业务IO的连续性,即使内存使用已达到上限也能够保证业务不中断。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的提高存储容量的方法流程图;
图2A和2B是本发明另一实施例提供的存储示意图;
图3是本发明另一实施例提供的提高存储容量的方法流程图;
图4A和4B是本发明另一实施例提供的元数据存储的示意图;
图5是本发明另一实施例提供的提高存储容量的方法流程图;
图6A和6B是本发明另一实施例提供的数据搬移的示意图;
图7是本发明另一实施例提供的提高存储容量的装置结构图;
图8是本发明另一实施例提供的桌面云场景示意图;
图9是本发明另一实施例提供的提高存储容量的装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例涉及提高存储容量的方法和装置,应用于桌面云,且该桌面云使用内存作为主存(即主存储器),通过设置扩展存储空间作为内存的应急设备,实现容量扩展,业务不中断。其中,所述扩展存储空间可以为任意类型的存储设备,包括易失性存储设备或非易失性存储设备,如:磁盘、SSD、内存等等。优选地,可以选用磁盘,以避免重启、关机或断电等情况下的数据丢失,且降低硬件成本。当然也可以选用内存并对内存中的数据进行持久化处理,从而保证较高的存储性能,如IOPS能力和MBPS能力。或者还可以采用固态硬盘等等,本实施例对此不做具体限定。上述内存和扩展存储空间共同组成了桌面云的存储空间,进行数据存储。
本发明实施例中涉及的内存可以是易失性内存,也可以是非易失性内存,可以根据不同场景的需要进行相应的设置。可选的,在桌面云无状态场景下,可以采用易失性内存和扩展存储空间组成桌面云的存储空间作为主存。在桌面云有状态场景下,可以采用非易失性内存和扩展存储空间组成桌面云的存储空间作为主存。其中,无状态场景是指用户在通过终端使用桌面云的过程中产生的数据只需临时保存即可,当终端关机或者断电后该数据无需再保存,因此,可以采用易失性内存。有状态场景是指用户在通过终端使用桌面云的过程中产生的数据需要长久保存,即使终端关机、断电或重启等仍需保存,因此,可以采用非易失性内存。另外,在有状态场景下,还可以采用另外一种方式,使用易失性内存,再对该内存中的数据进行持久化处理,从而保证数据在终端关机、断电或重启等情况下不丢失。其中,所述持久化处理是指对内存中的数据进行备份,如备份在扩展存储空间内,当内存中的数据由于关机、断电或重启等情况丢失时,可以通过所述备份来进行数据恢复,从而保证了数据的安全性。
本发明实施例除了IO请求存储的数据之外,还涉及元数据。所述元数据属于管理信息,用于对数据存储进行管理。例如,用于管理内存的元数据,通过该元数据可以对内存中存储的数据进行管理。还有用于管理扩展存储空间的元数据,通过该元数据可以对扩展存储空间中存储的数据进行管理。
参见图1,本发明一实施例提供了一种提高存储容量的方法,应用于桌面云,该桌面云的存储空间包括内存和扩展存储空间,该方法包括:
101:接收存储数据的请求。
其中,所述数据是指IO请求存储的数据,如用户的业务数据等等。
102:判断该内存已用的存储空间是否达到指定的上限,如果该内存已用的存储空间未达到指定的上限,则执行103;如果该内存已用的存储空间已达到指定的上限,则执行104。
其中,所述指定的上限可以根据需要设置,本实施例对此不做具体限定。如设置为内存容量的100%,则达到该上限就是指内存已满,无可用存储空间的情况。如预留内存容量的10%用于存储元数据,则该上限可以设置为内存容量的90%,当内存已用的存储空间达到90%时,则表明内存当前已无可用存储空间。
103:将该数据存储在该内存中,流程结束。
在内存容量允许的情况下,优先使用内存来存储数据,从而可以提供更高的存储性能,存储速度更快。
104:将该数据存储在该扩展存储空间内,流程结束。
本实施例中,判断该内存已用的存储空间是否达到指定的上限,可以采用如下方式实现:向内存申请存储空间,如果申请成功,则表明内存已用的存储空间还未达到指定的上限,此时可以向内存写IO;如果申请失败,则表明内存已无可用空间,此时可以向扩展存储空间申请存储空间,如果申请成功,则可以向扩展存储空间写IO;如果申请失败,则说明全部数据存储空间都满了,返回IO错误。
在内存容量不允许的情况下,使用扩展存储空间来存储数据,保证业务不中断,提高服务安全性。
本实施例中,为了减少存储空间消耗,在IO处理过程中,还可以对重复存储的数据执行删除操作,从而可以节省宝贵的存储资源,减少大量数据对数据存储容量的压力。
其中,删除操作处理的数据块大小通常为4KB,当然也可以设置为其它大小,本实施例对此不做具体限定。
参见图2,为本发明另一实施例提供的数据存储的示意图。其中,图2A为内存存储空间足够的情况下,IO读写操作都在内存中进行。图2B为内存已满的情况下,内存只能执行IO读操作,不能执行IO写操作,而扩展存储空间则可以执行IO读写操作。图中阴影的部分表示存储有数据,即存储空间已经被占用,没有引用的部分表示存储空间空闲可以使用。
本实施例中,可选的,上述方法还可以包括:
预先为元数据预留指定的存储空间,当存储元数据时,在该预留的存储空间内存储该元数据。
进一步地,一种场景下,所述预留的存储空间分别位于该内存和该扩展存储空间,该当存储元数据时,在该预留的存储空间内存储该元数据,可以包括:
当存储元数据时,判断该元数据是用于管理该内存还是用于管理该扩展存储空间,如果该元数据用于管理该内存,则将该元数据存储在该内存预留的存储空间内,如果该元数据用于管理该扩展存储空间,则将该元数据存储在该扩展存储空间预留的存储空间内。
进一步地,另一种场景下,所述预留的存储空间位于该内存,该当存储元数据时,在该预留的存储空间内存储该元数据,可以包括:
当存储元数据时,将该元数据存储在该内存预留的存储空间内。
本实施例中,可选的,上述方法还可以包括:
当该扩展存储空间已存储有数据且该内存未用的存储空间符合指定条件时,将该扩展存储空间内存储的数据搬移到该内存中。
本实施例中,可选的,上述将该数据存储在该内存中,可以包括:
对该数据进行压缩,将压缩后的数据存储在该内存中。
本实施例提供的上述方法,在桌面云的存储空间内设置扩展存储空间,接收存储数据的请求,判断内存已用的存储空间是否达到指定的上限;如果未达到指定的上限,则将所述数据存储在所述内存中;如果已达到指定的上限,则将所述数据存储在所述扩展存储空间内,实现了根据内存使用容量来管理数据写入数据存储中的功能,通过使用扩展存储空间作为内存存储的应急设备,在使用内存作为主存的桌面云中实现了容量扩展,保证了业务IO的连续性,即使内存使用已达到上限也能够保证业务不中断。
参见图3,本发明另一实施例提供了一种提高存储容量的方法,应用于桌面云,该桌面云的存储空间包括内存和扩展存储空间,该方法包括:
201:预先为元数据预留指定的存储空间。
其中,所述指定的存储空间可以为内存,或者为内存和扩展存储空间,本实施例对此不做具体限定。
通常,每4KB的数据需要32B的元数据,可见元数据占用的空间较小。例如,128GB的磁盘作为扩展存储空间,需要128GB*32B/4KB=1GB的存储空间来存储元数据,因此,可以预留1GB的存储空间来用于存储元数据,即预先申请了这部分存储空间给元数据使用。
202:接收存储数据的请求。
203:判断该内存已用的存储空间是否达到指定的上限,如果该内存已用的存储空间未达到指定的上限,则执行204;如果该内存已用的存储空间已达到指定的上限,则执行205。
204:将该数据存储在该内存中,然后执行206。
其中,本步骤可以包括:
对该数据进行压缩,将压缩后的数据存储在该内存中。
对数据进行压缩后再存储到内存中,可以有效地节省存储空间,提高内存的利用率。
205:将该数据存储在该扩展存储空间内,然后执行206。
通常,磁盘存储的最小操作单位是一个扇区(512B)或一个块(4KB或其它值)大小,而不同的数据块压缩率不同,导致压缩后的数据很难是一个扇区或一个块的整数倍,因此,优选地,在扩展存储空间内存储数据时,采用不压缩的方式,可以提高磁盘存储的IO效率。
206:当存储元数据时,在该预留的存储空间内存储该元数据。
一种实施方式下,该预留的存储空间分别位于该内存和该扩展存储空间,该当存储元数据时,在该预留的存储空间内存储该元数据,可以包括:
当存储元数据时,判断该元数据是用于管理该内存还是用于管理该扩展存储空间,如果该元数据用于管理该内存,则将该元数据存储在该内存预留的存储空间内,如果该元数据用于管理该扩展存储空间,则将该元数据存储在该扩展存储空间预留的存储空间内。
例如,参见图4A,桌面云的存储空间包括内存和扩展存储空间。并且,内存和扩展存储空间均预留指定的存储空间给元数据存储。当内存中存储有数据A时,与该数据A对应的元数据A’也存储在内存中。当扩展存储空间中存储有数据B时,与该数据B对应的元数据B’也存储在扩展存储空间中。
另一种实施方式下,该预留的存储空间位于该内存,该当存储元数据时,在该预留的存储空间内存储该元数据,可以包括:
当存储元数据时,将该元数据存储在该内存预留的存储空间内。
例如,参见图4B,桌面云的存储空间包括内存和扩展存储空间。并且,仅在内存中预留指定的存储空间给元数据存储。当内存中存储有数据A时,与该数据A对应的元数据A’也存储在内存中。当扩展存储空间中存储有数据B时,与该数据B对应的元数据B’也存储在内存中。
本实施例中,当扩展存储空间采用非易失性存储器时,优选地,采用将元数据均存储在内存中的方式。由于元数据通常只有几十个字节大小,内存可以进行随机取址并直接读写。而非易失性存储器如磁盘的最小操作单位是一个扇区(512B)或一个块(4KB或其它值)大小,存储元数据会严重影响读写速度。因此,将元数据均写入内存能够更好地保证数据存储的性能,而且元数据所占用的存储空间通常都是提前预留的,无需申请存储空间,存储速度更快。
本实施例提供的上述方法,在桌面云的存储空间内设置扩展存储空间,接收存储数据的请求,判断内存已用的存储空间是否达到指定的上限;如果未达到指定的上限,则将所述数据存储在所述内存中;如果已达到指定的上限,则将所述数据存储在所述扩展存储空间内,实现了根据内存使用容量来管理数据写入数据存储中的功能,通过使用扩展存储空间作为内存存储的应急设备,在使用内存作为主存的桌面云中实现了容量扩展,保证了业务IO的连续性,即使内存使用已达到上限也能够保证业务不中断。
参见图5,本发明另一实施例提供了一种提高存储容量的方法,应用于桌面云,该桌面云的存储空间包括内存和扩展存储空间,该方法包括:
301:接收存储数据的请求。
302:判断该内存已用的存储空间是否达到指定的上限,如果该内存已用的存储空间未达到指定的上限,则执行303;如果该内存已用的存储空间已达到指定的上限,则执行304。
303:将该数据存储在该内存中,然后执行305。
其中,本步骤可以包括:
对该数据进行压缩,将压缩后的数据存储在该内存中。
304:将该数据存储在该扩展存储空间内,然后执行305。
305:当该扩展存储空间已存储有数据且该内存未用的存储空间符合指定条件时,将该扩展存储空间内存储的数据搬移到该内存中。
所述数据搬移后该扩展存储空间内不再保留已搬移的数据,从而可以节省出更多的存储空间进行数据存储。
其中,所述指定条件可以根据需要设置,包括但不限于:内存未用的存储空间达到指定的值,或者内存未用的存储空间比扩展存储空间已用的存储空间多且差值超出指定的值等等,本实施例对此不做具体限定。
例如,内存容量为128G,当未用的存储空间达到指定值5G时,则进行所述数据搬移。再如,内存和扩展存储空间的容量均为128G,且内存未用的存储空间为10G,扩展存储空间已用的存储空间为4G,则内存未用的存储空间比扩展存储空间已用的存储空间多出6G,超过指定值5G,则进行所述数据搬移。
本实施例中,可选的,当内存使用空间达到一定阈值(如内存容量的80%)时,可以发出告警,提示管理员进行存储空间清理操作;当扩展存储空间中使用空间达到一定阈值(如扩展存储空间容量的85%)时,也可以发出告警,提示管理员进行存储空间清理操作。所述阈值可以根据需要设置,具体数值不限定。其中,存储空间清理操作是指清理可回收空间,通过删除存储空间内的无用数据来回收存储空间,包括但不限于:删除虚拟机或者通知用户删除数据等等,本实施例对此不做具体限定。
本实施例中,内存未用的存储空间符合指定条件是指内存可用的存储空间增加到指定程度,从而可以触发数据搬移。其中,内存可用存储空间增加包括但不限于以下场景:一种场景是,通过清理操作回收内存的存储空间;另一种场景是,采用增加内存的方式来增加内存的可用存储空间,本实施例对此不做具体限定。
例如,参见图6,为本发明另一实施例提供的数据搬移的示意图。其中,图6A采用回收内存存储空间的方式,使得内存可用存储空间符合指定的条件,则可以将扩展存储空间内的数据搬移至内存中,如图中箭头所示。图6B采用增加内存的方式来使得内存可用存储空间符合指定的条件,内存1为原有的内存,内存2为新增的内存,在增加内存后内存可用存储空间符合指定的条件,因此可以将扩展存储空间内的数据搬移至该新增的内存2中,如图中箭头所示。
经过上述数据搬移,数据存储的性能在逐步恢复。此时,业务IO读写操作大部分都在内存中进行,扩展存储空间主要提供IO读操作。当扩展存储空间中的数据被全部搬移到内存时,数据存储的性能完全恢复。
本实施例中,可选的,上述方法还可以包括:
预先为元数据预留指定的存储空间,当存储元数据时,在该预留的存储空间内存储该元数据。
本实施例提供的上述方法,在桌面云的存储空间内设置扩展存储空间,接收存储数据的请求,判断内存已用的存储空间是否达到指定的上限;如果未达到指定的上限,则将所述数据存储在所述内存中;如果已达到指定的上限,则将所述数据存储在所述扩展存储空间内,实现了根据内存使用容量来管理数据写入数据存储中的功能,通过使用扩展存储空间作为内存存储的应急设备,在使用内存作为主存的桌面云中实现了容量扩展,保证了业务IO的连续性,即使内存使用已达到上限也能够保证业务不中断。另外,无需采用高速数据存储,节省了存储硬件成本。保证了内存空间和性能的有效利用,减轻这种情况发生时带来的不良影响,能够达到桌面云场景中业务不中断的需求。
参见图7,本发明另一实施例提供了一种提高存储容量的装置,应用于桌面云,该桌面云的存储空间包括内存和扩展存储空间,该装置包括:
接收模块701,用于接收存储数据的请求;
判断模块702,用于判断该内存已用的存储空间是否达到指定的上限;
数据存储模块703,用于如果该内存已用的存储空间未达到指定的上限,则将该数据存储在该内存中;如果该内存已用的存储空间已达到指定的上限,则将该数据存储在该扩展存储空间内。
本实施例中,可选的,上述装置还可以包括:
元数据存储模块,用于预先为元数据预留指定的存储空间,当存储元数据时,在该预留的存储空间内存储该元数据。
本实施例中,可选的,所述预留的存储空间分别位于该内存和该扩展存储空间,该元数据存储模块包括:
第一存储单元,用于当存储元数据时,判断该元数据是用于管理该内存还是用于管理该扩展存储空间,如果该元数据用于管理该内存,则将该元数据存储在该内存预留的存储空间内,如果该元数据用于管理该扩展存储空间,则将该元数据存储在该扩展存储空间预留的存储空间内。
本实施例中,可选的,所述预留的存储空间位于该内存,该元数据存储模块包括:
第二存储单元,用于当存储元数据时,将该元数据存储在该内存预留的存储空间内。
本实施例中,可选的,上述装置还可以包括:
搬移模块,用于当该扩展存储空间已存储有数据且该内存未用的存储空间符合指定条件时,将该扩展存储空间内存储的数据搬移到该内存中。
本实施例中,可选的,上述数据存储模块可以包括:
压缩存储单元,用于如果该内存已用的存储空间未达到指定的上限,则对该数据进行压缩,将压缩后的数据存储在该内存中。
本实施例提供的上述装置可以执行上述任一方法实施例中提供的方法,详细过程见方法实施例中的描述,此处不赘述。
参见图8,为本实施例提供的桌面云场景示意图。其中,桌面云在虚拟化平台上生成多个虚拟机,每个虚拟机上安装有操作***(Operating System,简称:OS),且OS上安装有多个应用(Application,简称:APP)。用户在终端侧可以连接某个虚拟机并显示相应的应用,图中未示出。当用户进行IO操作时,通过IO处理将数据存储在内存或扩展存储空间中,从而保证了业务IO不中断,有效降低了硬件成本。保证了内存空间和性能的有效利用。
本实施例提供的上述装置,在桌面云的存储空间内设置扩展存储空间,接收存储数据的请求,判断内存已用的存储空间是否达到指定的上限;如果未达到指定的上限,则将所述数据存储在所述内存中;如果已达到指定的上限,则将所述数据存储在所述扩展存储空间内,实现了根据内存使用容量来管理数据写入数据存储中的功能,通过使用扩展存储空间作为内存存储的应急设备,在使用内存作为主存的桌面云中实现了容量扩展,保证了业务IO的连续性,即使内存使用已达到上限也能够保证业务不中断。
参见图9,本发明另一实施例提供了一种提高存储容量的装置,应用于桌面云,该桌面云的存储空间包括内存901和扩展存储空间902,用于存储数据,该装置包括:
接收机903,用于接收存储数据的请求;
处理器904,用于判断该内存已用的存储空间是否达到指定的上限,如果该内存已用的存储空间未达到指定的上限,则将该数据存储在该内存中;如果该内存已用的存储空间已达到指定的上限,则将该数据存储在该扩展存储空间内。
本实施例中,可选的,上述处理器904还可以用于:
预先为元数据预留指定的存储空间,当存储元数据时,在该预留的存储空间内存储该元数据。
本实施例中,可选的,所述预留的存储空间分别位于该内存和该扩展存储空间,该处理器904用于:当存储元数据时,判断该元数据是用于管理该内存还是用于管理该扩展存储空间,如果该元数据用于管理该内存,则将该元数据存储在该内存预留的存储空间内,如果该元数据用于管理该扩展存储空间,则将该元数据存储在该扩展存储空间预留的存储空间内。
本实施例中,可选的,所述预留的存储空间位于该内存,该处理器904用于:当存储元数据时,将该元数据存储在该内存预留的存储空间内。
本实施例中,可选的,上述处理器904还可以用于:
当该扩展存储空间已存储有数据且该内存未用的存储空间符合指定条件时,将该扩展存储空间内存储的数据搬移到该内存中。
本实施例中,可选的,上述处理器904可以用于:
如果该内存已用的存储空间未达到指定的上限,则对该数据进行压缩,将压缩后的数据存储在该内存中。
本实施例提供的上述装置可以执行上述任一方法实施例中提供的方法,详细过程见方法实施例中的描述,此处不赘述。
本实施例提供的上述装置,在桌面云的存储空间内设置扩展存储空间,接收存储数据的请求,判断内存已用的存储空间是否达到指定的上限;如果未达到指定的上限,则将所述数据存储在所述内存中;如果已达到指定的上限,则将所述数据存储在所述扩展存储空间内,实现了根据内存使用容量来管理数据写入数据存储中的功能,通过使用扩展存储空间作为内存存储的应急设备,在使用内存作为主存的桌面云中实现了容量扩展,保证了业务IO的连续性,即使内存使用已达到上限也能够保证业务不中断。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种提高存储容量的方法,其特征在于,应用于桌面云,所述桌面云的存储空间包括内存和扩展存储空间,所述方法包括:
接收存储数据的请求;
判断所述内存已用的存储空间是否达到指定的上限;
如果所述内存已用的存储空间未达到指定的上限,则将所述数据存储在所述内存中;
如果所述内存已用的存储空间已达到指定的上限,则将所述数据存储在所述扩展存储空间内。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预先为元数据预留指定的存储空间,当存储元数据时,在所述预留的存储空间内存储所述元数据。
3.根据权利要求2所述的方法,其特征在于,所述预留的存储空间分别位于所述内存和所述扩展存储空间,所述当存储元数据时,在所述预留的存储空间内存储所述元数据,包括:
当存储元数据时,判断所述元数据是用于管理所述内存还是用于管理所述扩展存储空间,如果所述元数据用于管理所述内存,则将所述元数据存储在所述内存预留的存储空间内,如果所述元数据用于管理所述扩展存储空间,则将所述元数据存储在所述扩展存储空间预留的存储空间内。
4.根据权利要求2所述的方法,其特征在于,所述预留的存储空间位于所述内存,所述当存储元数据时,在所述预留的存储空间内存储所述元数据,包括:
当存储元数据时,将所述元数据存储在所述内存预留的存储空间内。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述扩展存储空间已存储有数据且所述内存未用的存储空间符合指定条件时,将所述扩展存储空间内存储的数据搬移到所述内存中。
6.根据权利要求1所述的方法,其特征在于,所述将所述数据存储在所述内存中,包括:
对所述数据进行压缩,将压缩后的数据存储在所述内存中。
7.一种提高存储容量的装置,其特征在于,应用于桌面云,所述桌面云的存储空间包括内存和扩展存储空间,所述装置包括:
接收模块,用于接收存储数据的请求;
判断模块,用于判断所述内存已用的存储空间是否达到指定的上限;
数据存储模块,用于如果所述内存已用的存储空间未达到指定的上限,则将所述数据存储在所述内存中;如果所述内存已用的存储空间已达到指定的上限,则将所述数据存储在所述扩展存储空间内。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
元数据存储模块,用于预先为元数据预留指定的存储空间,当存储元数据时,在所述预留的存储空间内存储所述元数据。
9.根据权利要求8所述的装置,其特征在于,所述预留的存储空间分别位于所述内存和所述扩展存储空间,所述元数据存储模块包括:
第一存储单元,用于当存储元数据时,判断所述元数据是用于管理所述内存还是用于管理所述扩展存储空间,如果所述元数据用于管理所述内存,则将所述元数据存储在所述内存预留的存储空间内,如果所述元数据用于管理所述扩展存储空间,则将所述元数据存储在所述扩展存储空间预留的存储空间内。
10.根据权利要求8所述的装置,其特征在于,所述预留的存储空间位于所述内存,所述元数据存储模块包括:
第二存储单元,用于当存储元数据时,将所述元数据存储在所述内存预留的存储空间内。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
搬移模块,用于当所述扩展存储空间已存储有数据且所述内存未用的存储空间符合指定条件时,将所述扩展存储空间内存储的数据搬移到所述内存中。
12.根据权利要求7所述的装置,其特征在于,所述数据存储模块包括:
压缩存储单元,用于如果所述内存已用的存储空间未达到指定的上限,则对所述数据进行压缩,将压缩后的数据存储在所述内存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410834017.7A CN104571955A (zh) | 2014-12-27 | 2014-12-27 | 提高存储容量的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410834017.7A CN104571955A (zh) | 2014-12-27 | 2014-12-27 | 提高存储容量的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104571955A true CN104571955A (zh) | 2015-04-29 |
Family
ID=53088140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410834017.7A Pending CN104571955A (zh) | 2014-12-27 | 2014-12-27 | 提高存储容量的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104571955A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681714A (zh) * | 2016-02-26 | 2016-06-15 | 北京金山安全软件有限公司 | 一种视频拍摄方法、装置及电子设备 |
CN106648442A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种元数据节点的内存镜像方法、装置 |
CN107220008A (zh) * | 2017-06-27 | 2017-09-29 | 北京小米移动软件有限公司 | 存储空间预留方法及装置 |
CN108563404A (zh) * | 2018-04-17 | 2018-09-21 | 四川神琥科技有限公司 | 一种数据抓包存储方法及设备 |
CN108664219A (zh) * | 2018-05-07 | 2018-10-16 | 苏州恒成芯兴电子技术有限公司 | 数据存储装置与方法 |
CN108829354A (zh) * | 2018-06-21 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种固态硬盘ssd管理方法以及ssd |
CN109144723A (zh) * | 2018-07-23 | 2019-01-04 | 北京轻元科技有限公司 | 一种分配存储空间的方法和终端 |
CN109660604A (zh) * | 2018-11-29 | 2019-04-19 | 上海碳蓝网络科技有限公司 | 数据存取方法及设备 |
CN110365780A (zh) * | 2019-07-19 | 2019-10-22 | 南京世竹软件科技有限公司 | 一种用于物联网存储的云计算基础架构*** |
CN110955488A (zh) * | 2019-09-10 | 2020-04-03 | 中兴通讯股份有限公司 | 一种持久性内存的虚拟化方法及*** |
WO2020220535A1 (zh) * | 2019-04-28 | 2020-11-05 | 平安科技(深圳)有限公司 | 一种数据存储方法及相关装置 |
WO2021057489A1 (zh) * | 2019-09-29 | 2021-04-01 | 华为技术有限公司 | 虚拟机内存管理的方法及设备 |
CN113377781A (zh) * | 2021-07-12 | 2021-09-10 | 中国工商银行股份有限公司 | 一种数据存储方法、装置、计算机设备和存储介质 |
CN117874843A (zh) * | 2024-03-08 | 2024-04-12 | 荣耀终端有限公司 | 扩展受保护存储空间的方法、设备和计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1672135A (zh) * | 2002-08-06 | 2005-09-21 | 国际商业机器公司 | 基于可压缩性程度使用压缩主存储器的***和方法 |
CN101241492A (zh) * | 2007-02-06 | 2008-08-13 | 中兴通讯股份有限公司 | 具有容量动态控制功能的内存数据存储装置及其实现方法 |
CN102222107A (zh) * | 2011-06-28 | 2011-10-19 | 中国联合网络通信集团有限公司 | 数据存取***及其数据存取方法 |
CN102637150A (zh) * | 2011-02-14 | 2012-08-15 | 张胜窗 | 具压缩与解压缩功能的半导体内存装置 |
CN103888492A (zh) * | 2012-12-20 | 2014-06-25 | 鸿富锦精密工业(深圳)有限公司 | 内存管理***及方法 |
CN104111897A (zh) * | 2013-04-16 | 2014-10-22 | 华为技术有限公司 | 一种数据处理方法、装置及计算机*** |
CN104216837A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种内存***、内存访问请求的处理方法和计算机*** |
-
2014
- 2014-12-27 CN CN201410834017.7A patent/CN104571955A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1672135A (zh) * | 2002-08-06 | 2005-09-21 | 国际商业机器公司 | 基于可压缩性程度使用压缩主存储器的***和方法 |
CN101241492A (zh) * | 2007-02-06 | 2008-08-13 | 中兴通讯股份有限公司 | 具有容量动态控制功能的内存数据存储装置及其实现方法 |
CN102637150A (zh) * | 2011-02-14 | 2012-08-15 | 张胜窗 | 具压缩与解压缩功能的半导体内存装置 |
CN102222107A (zh) * | 2011-06-28 | 2011-10-19 | 中国联合网络通信集团有限公司 | 数据存取***及其数据存取方法 |
CN103888492A (zh) * | 2012-12-20 | 2014-06-25 | 鸿富锦精密工业(深圳)有限公司 | 内存管理***及方法 |
CN104111897A (zh) * | 2013-04-16 | 2014-10-22 | 华为技术有限公司 | 一种数据处理方法、装置及计算机*** |
CN104216837A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种内存***、内存访问请求的处理方法和计算机*** |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648442A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种元数据节点的内存镜像方法、装置 |
CN105681714A (zh) * | 2016-02-26 | 2016-06-15 | 北京金山安全软件有限公司 | 一种视频拍摄方法、装置及电子设备 |
CN107220008A (zh) * | 2017-06-27 | 2017-09-29 | 北京小米移动软件有限公司 | 存储空间预留方法及装置 |
CN107220008B (zh) * | 2017-06-27 | 2020-08-07 | 北京小米移动软件有限公司 | 存储空间预留方法及装置 |
CN108563404B (zh) * | 2018-04-17 | 2021-07-27 | 四川神琥科技有限公司 | 一种数据抓包存储方法及设备 |
CN108563404A (zh) * | 2018-04-17 | 2018-09-21 | 四川神琥科技有限公司 | 一种数据抓包存储方法及设备 |
CN108664219A (zh) * | 2018-05-07 | 2018-10-16 | 苏州恒成芯兴电子技术有限公司 | 数据存储装置与方法 |
CN108829354A (zh) * | 2018-06-21 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种固态硬盘ssd管理方法以及ssd |
CN109144723A (zh) * | 2018-07-23 | 2019-01-04 | 北京轻元科技有限公司 | 一种分配存储空间的方法和终端 |
CN109144723B (zh) * | 2018-07-23 | 2022-11-11 | 北京轻元科技有限公司 | 一种分配存储空间的方法和终端 |
CN109660604A (zh) * | 2018-11-29 | 2019-04-19 | 上海碳蓝网络科技有限公司 | 数据存取方法及设备 |
WO2020220535A1 (zh) * | 2019-04-28 | 2020-11-05 | 平安科技(深圳)有限公司 | 一种数据存储方法及相关装置 |
CN110365780A (zh) * | 2019-07-19 | 2019-10-22 | 南京世竹软件科技有限公司 | 一种用于物联网存储的云计算基础架构*** |
CN110955488A (zh) * | 2019-09-10 | 2020-04-03 | 中兴通讯股份有限公司 | 一种持久性内存的虚拟化方法及*** |
WO2021057489A1 (zh) * | 2019-09-29 | 2021-04-01 | 华为技术有限公司 | 虚拟机内存管理的方法及设备 |
CN113377781A (zh) * | 2021-07-12 | 2021-09-10 | 中国工商银行股份有限公司 | 一种数据存储方法、装置、计算机设备和存储介质 |
CN117874843A (zh) * | 2024-03-08 | 2024-04-12 | 荣耀终端有限公司 | 扩展受保护存储空间的方法、设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104571955A (zh) | 提高存储容量的方法和装置 | |
US9823877B2 (en) | Virtual machine backup from storage snapshot | |
CN109725840B (zh) | 利用异步冲刷对写入进行节流 | |
US11397648B2 (en) | Virtual machine recovery method and virtual machine management device | |
CA2896809C (en) | Data processing device and data processing method | |
US10725662B2 (en) | Data updating technology | |
WO2019001521A1 (zh) | 数据存储方法、存储设备、客户端及*** | |
US9158695B2 (en) | System for dynamically adaptive caching | |
US9684665B2 (en) | Storage apparatus and data compression method | |
CN108089825B (zh) | 一种基于分布式集群的存储*** | |
CN103049508B (zh) | 一种数据处理方法及装置 | |
CN111881476A (zh) | 对象存储控制方法、装置、计算机设备及存储介质 | |
US20220253252A1 (en) | Data processing method and apparatus | |
US8549223B1 (en) | Systems and methods for reclaiming storage space on striped volumes | |
EP2642397A1 (en) | System for dynamically adaptive caching | |
WO2020134143A1 (zh) | 存储***中分条重组的方法及分条服务器 | |
CN104408126B (zh) | 一种数据库的持久化写入方法、装置和*** | |
CN110750221B (zh) | 卷克隆方法、装置、电子设备及机器可读存储介质 | |
US11513739B2 (en) | File layer to block layer communication for block organization in storage | |
CN103064926B (zh) | 数据处理方法和装置 | |
US11144454B2 (en) | Enhanced vault save with compression | |
CN108848136B (zh) | 一种云服务集群的共享存储方法 | |
US11409604B1 (en) | Storage optimization of pre-allocated units of storage | |
CN104461382A (zh) | 运行多个文件***的文件服务器的内部写方法和服务器 | |
CN110968258A (zh) | 存储盘的控制方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |