提高存储容量的方法和装置的制造方法_3

文档序号:8257835阅读:来源:国知局
数据B时,与该数据B对应的元数据B’也存储在扩展存储空间中。
[0090]另一种实施方式下,该预留的存储空间位于该内存,该当存储元数据时,在该预留的存储空间内存储该元数据,可以包括:
[0091]当存储元数据时,将该元数据存储在该内存预留的存储空间内。
[0092]例如,参见图4B,桌面云的存储空间包括内存和扩展存储空间。并且,仅在内存中预留指定的存储空间给元数据存储。当内存中存储有数据A时,与该数据A对应的元数据A’也存储在内存中。当扩展存储空间中存储有数据B时,与该数据B对应的元数据B’也存储在内存中。
[0093]本实施例中,当扩展存储空间采用非易失性存储器时,优选地,采用将元数据均存储在内存中的方式。由于元数据通常只有几十个字节大小,内存可以进行随机取址并直接读写。而非易失性存储器如磁盘的最小操作单位是一个扇区(512B)或一个块(4KB或其它值)大小,存储元数据会严重影响读写速度。因此,将元数据均写入内存能够更好地保证数据存储的性能,而且元数据所占用的存储空间通常都是提前预留的,无需申请存储空间,存储速度更快。
[0094]本实施例提供的上述方法,在桌面云的存储空间内设置扩展存储空间,接收存储数据的请求,判断内存已用的存储空间是否达到指定的上限;如果未达到指定的上限,则将所述数据存储在所述内存中;如果已达到指定的上限,则将所述数据存储在所述扩展存储空间内,实现了根据内存使用容量来管理数据写入数据存储中的功能,通过使用扩展存储空间作为内存存储的应急设备,在使用内存作为主存的桌面云中实现了容量扩展,保证了业务1的连续性,即使内存使用已达到上限也能够保证业务不中断。
[0095]参见图5,本发明另一实施例提供了一种提高存储容量的方法,应用于桌面云,该桌面云的存储空间包括内存和扩展存储空间,该方法包括:
[0096]301:接收存储数据的请求。
[0097]302:判断该内存已用的存储空间是否达到指定的上限,如果该内存已用的存储空间未达到指定的上限,则执行303 ;如果该内存已用的存储空间已达到指定的上限,则执行304。
[0098]303:将该数据存储在该内存中,然后执行305。
[0099]其中,本步骤可以包括:
[0100]对该数据进行压缩,将压缩后的数据存储在该内存中。
[0101]304:将该数据存储在该扩展存储空间内,然后执行305。
[0102]305:当该扩展存储空间已存储有数据且该内存未用的存储空间符合指定条件时,将该扩展存储空间内存储的数据搬移到该内存中。
[0103]所述数据搬移后该扩展存储空间内不再保留已搬移的数据,从而可以节省出更多的存储空间进行数据存储。
[0104]其中,所述指定条件可以根据需要设置,包括但不限于:内存未用的存储空间达到指定的值,或者内存未用的存储空间比扩展存储空间已用的存储空间多且差值超出指定的值等等,本实施例对此不做具体限定。
[0105]例如,内存容量为128G,当未用的存储空间达到指定值5G时,则进行所述数据搬移。再如,内存和扩展存储空间的容量均为128G,且内存未用的存储空间为10G,扩展存储空间已用的存储空间为4G,则内存未用的存储空间比扩展存储空间已用的存储空间多出6G,超过指定值5G,则进行所述数据搬移。
[0106]本实施例中,可选的,当内存使用空间达到一定阈值(如内存容量的80% )时,可以发出告警,提示管理员进行存储空间清理操作;当扩展存储空间中使用空间达到一定阈值(如扩展存储空间容量的85% )时,也可以发出告警,提示管理员进行存储空间清理操作。所述阈值可以根据需要设置,具体数值不限定。其中,存储空间清理操作是指清理可回收空间,通过删除存储空间内的无用数据来回收存储空间,包括但不限于:删除虚拟机或者通知用户删除数据等等,本实施例对此不做具体限定。
[0107]本实施例中,内存未用的存储空间符合指定条件是指内存可用的存储空间增加到指定程度,从而可以触发数据搬移。其中,内存可用存储空间增加包括但不限于以下场景:一种场景是,通过清理操作回收内存的存储空间;另一种场景是,采用增加内存的方式来增加内存的可用存储空间,本实施例对此不做具体限定。
[0108]例如,参见图6,为本发明另一实施例提供的数据搬移的示意图。其中,图6A采用回收内存存储空间的方式,使得内存可用存储空间符合指定的条件,则可以将扩展存储空间内的数据搬移至内存中,如图中箭头所示。图6B采用增加内存的方式来使得内存可用存储空间符合指定的条件,内存I为原有的内存,内存2为新增的内存,在增加内存后内存可用存储空间符合指定的条件,因此可以将扩展存储空间内的数据搬移至该新增的内存2中,如图中箭头所示。
[0109]经过上述数据搬移,数据存储的性能在逐步恢复。此时,业务1读写操作大部分都在内存中进行,扩展存储空间主要提供1读操作。当扩展存储空间中的数据被全部搬移到内存时,数据存储的性能完全恢复。
[0110]本实施例中,可选的,上述方法还可以包括:
[0111]预先为元数据预留指定的存储空间,当存储元数据时,在该预留的存储空间内存储该元数据。
[0112]本实施例提供的上述方法,在桌面云的存储空间内设置扩展存储空间,接收存储数据的请求,判断内存已用的存储空间是否达到指定的上限;如果未达到指定的上限,则将所述数据存储在所述内存中;如果已达到指定的上限,则将所述数据存储在所述扩展存储空间内,实现了根据内存使用容量来管理数据写入数据存储中的功能,通过使用扩展存储空间作为内存存储的应急设备,在使用内存作为主存的桌面云中实现了容量扩展,保证了业务1的连续性,即使内存使用已达到上限也能够保证业务不中断。另外,无需采用高速数据存储,节省了存储硬件成本。保证了内存空间和性能的有效利用,减轻这种情况发生时带来的不良影响,能够达到桌面云场景中业务不中断的需求。
[0113]参见图7,本发明另一实施例提供了一种提高存储容量的装置,应用于桌面云,该桌面云的存储空间包括内存和扩展存储空间,该装置包括:
[0114]接收模块701,用于接收存储数据的请求;
[0115]判断模块702,用于判断该内存已用的存储空间是否达到指定的上限;
[0116]数据存储模块703,用于如果该内存已用的存储空间未达到指定的上限,则将该数据存储在该内存中;如果该内存已用的存储空间已达到指定的上限,则将该数据存储在该扩展存储空间内。
[0117]本实施例中,可选的,上述装置还可以包括:
[0118]元数据存储模块,用于预先为元数据预留指定的存储空间,当存储元数据时,在该预留的存储空间内存储该元数据。
[0119]本实施例中,可选的,所述预留的存储空间分别位于该内存和该扩展存储空间,该元数据存储模块包括:
[0120]第一存储单元,用于当存储元数据时,判断该元数据是用于管理该内存还是用于管理该扩展存储空间,如果该元数据用于管理该内存,则将该元数据存储在该内存预留的存储空间内,如果该元数据用于管理该扩展存储空间,则将该元数据存储在该扩展存储空间预留的存储空间内。
[0121]本实施例中,可选的,所述预留的存储空间位于该内存,该元数据存储模块包括:
[0122]第二存储单元,用于当存储元数据时,将该元数据存储在该内存预留的存储空间内。
[0123]本实施例中,可选的,上述装置还可以包括:
[0124]搬移模块,用于当该扩展存储空间已存储有数据且该内存未用的存储空间符合指定条件时,将该扩展存储空间内存储的数据搬移到该内存中。
[0125]本实施例中,可选的,上述数据存储模块可以包括:
[0126]压缩存储单元,用于如果该内存已用的存储空间未达到指定的上限,则对该数据进行压缩,将压缩后的数据存储在该内存中。
[0127]本实施例提供的上述装置可以执行上述任一方法实施例中提供的方法,详细过程见方法实施例中的描述,此处不赘述。
[0128]参见图8,为本实施例提供的桌面云场景示意图。其中,桌面云在虚拟化平台上生成多个虚拟机,每个虚拟机上安装有操作系统(Operating System,简称:0S),且OS上安装有多个应用(Applicat1n,简称:APP)。用户在终端侧可以连接某个
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1