【技术实现步骤摘要】
数据存储方法、装置、电子设备及计算机可读存储介质
本专利技术涉及数据存储
,特别是涉及一种数据存储方法、装置、电子设备及计算机可读存储介质。
技术介绍
虚拟机是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机像物理机一样存在磁盘存储数据,将数据存储到虚拟机的磁盘。将数据存储到虚拟机的磁盘的方法为:虚拟机获得写请求,并将写请求转发给存储驱动,写请求中包含待存储数据和待存储数据的逻辑地址;存储驱动将待存储数据存储至与该逻辑地址相同的物理地址对应的存储空间中。示例性的,写请求携带的逻辑地址为逻辑地址1,则将待存储数据存储至物理地址1对应的存储空间,可以理解为存储驱动向磁盘发送写请求,以使得磁盘根据该写请求中的逻辑地址,确定与该逻辑地址相同的物理地址,将待存储数据存储至所确定的物理地址对应的存储空间。在数据存储技术中,逻辑地址是按照数据的逻辑块号确定的磁盘地址。在磁盘中是以字节为单位进行存储数据,为了正确地存储和读取数据,需要为每一字节单元分配一个唯一的地址,物理地址是每一字节单元的地址。每一物理地对应的一个存储空间,该存储空间所能存储的数据大小是字节单元的大小,示例性,一个字节单元的大小为64K,则该存储空所能存储的数据大小为64K。在一个物理地址对应的存储空间存储了数据之后,即使存储的数据的大小小于该存储空间所能存储的数据大小,也不会继续在该存储空间中存储数据,再次在该存储空间存储数据时,会将该存储空间之前存储的数据覆盖。针对上述数据存储方法存在顺序写和随机写两种存储方式。具体的,存储方式是由获得的写请求决定的。如果 ...
【技术保护点】
1.一种数据存储方法,其特征在于,应用于存储驱动,所述方法包括:获得待存储数据;判断所述待存储数据的大小是否大于预设第一阈值;如果否,判断磁盘中第一物理地址对应的存储空间是否存储有数据;其中,所述第一物理地址为所述磁盘中与目标物理地址相连的物理地址,所述目标物理地址为存储有第一数据的存储空间对应的物理地址,所述第一数据为当前最新存储的数据;如果未存储数据,将所述待存储数据存储至所述第一物理地址对应的存储空间。
【技术特征摘要】
1.一种数据存储方法,其特征在于,应用于存储驱动,所述方法包括:获得待存储数据;判断所述待存储数据的大小是否大于预设第一阈值;如果否,判断磁盘中第一物理地址对应的存储空间是否存储有数据;其中,所述第一物理地址为所述磁盘中与目标物理地址相连的物理地址,所述目标物理地址为存储有第一数据的存储空间对应的物理地址,所述第一数据为当前最新存储的数据;如果未存储数据,将所述待存储数据存储至所述第一物理地址对应的存储空间。2.根据权利要求1所述的方法,其特征在于,所述判断磁盘中第一物理地址对应的存储空间是否存储有数据,包括:判断磁盘中存储所述第一数据的区域中的第一物理地址对应的存储空间是否存储有数据;其中,所述磁盘由预设数量个区域组成。3.根据权利要求1或2所述的方法,其特征在于,在判断所述待存储数据大于预设第一阈值的情况下,所述方法还包括:将所述待存储数据分割成数据块,其中,分割得到的每一数据块的大小均不大于每一物理地址对应的存储空间所能存储的数据的大小;存储分割得到的每一数据块。4.根据权利要求3所述的方法,其特征在于,所述获得待存储数据,包括:获得待存储数据和所述待存储数据的逻辑地址;在所述将所述目标数据分割成数据块之后,所述方法还包括:从分割得到的数据块中选择一个数据块,将所选择的数据块的逻辑地址设置为所述待存储数据的逻辑地址;按照预先设置的逻辑地址分配规则,为分割得到的数据块中除所选择数据块外的每一数据块分配逻辑地址;记录分割得到的每一数据块的逻辑地址与存储空间对应的物理地址之间的对应关系。5.根据权利要求4所述的方法,其特征在于,在判断出所述待存储数据的大小不大于预设第一阈值、且所述磁盘中存储第一数据的区域中的第一物理地址对应的存储空间存储有数据的情况下,所述方法还包括:从所述磁盘中除存储所述第一数据的区域之外的区域中选择一个存在第二物理地址的区域,确定为目标区域,其中,所述第二物理地址为所述磁盘中存储空间未存储数据的物理地址;从所述目标区域中选择一个存储空间未存储数据的物理地址,确定为第一物理地址,并执行所述将所述待存储数据存储至所述第一物理地址对应的存储空间的步骤;在所述将所述待存储数据存储至所述第一物理地址对应的存储空间之后,所述方法还包括:记录所述待存储数据的逻辑地址与物理地址之间的对应关系。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:接收用于获得第二数据的获取请求,其中,所述获取请求包括第一逻辑地址;根据预先记录的逻辑地址与物理地址之间的对应关系,确定与所述第一逻辑地址具有对应关系的第三物理地址;从所确定的第三物理地址对应的存储空间中,获取所述第二数据。7.根据权利要求6所述的方法,其特征在于,所述获取请求还包括所述第二数据的大小;所述根据预先记录的逻辑地址与物理地址之间的对应关系,确定与所述第一逻辑地址具有对应关系的第三物理地址,包括:判断所述第二数据的大小是否大于所述第一阈值;如果否,根据预先记录的逻辑地址与物理地址之间的对应关系,确定与所述第一逻辑地址具有对应关系的第三物理地址;如果是,根据所述逻辑地址分配规则,确定所述第二数据除所述第一逻辑地址之外的其他的逻辑地址;针对每一所确定的逻辑地址,根据预先记录逻辑地址与物理地址之间的关联关系,确定该逻辑地址具有对应关系的第三物理地址;在所述第二数据的大小大于所述预设第一阈值的情况下,所述从所确定的第三物理地址对应的存储空间中,获取所述第二数据,包括:从所确定的第三物理地址,获取所述第二数据的数据块;在获取所述第二数据的全部数据块后,基于所获取的数据块,生成所述第二数据。8.根据权利要求6所述的方法,其特征在于,所述根据预先记录的逻辑地址与物理地址之间的对应关系,确定与所述第一逻辑地址具有对应关系的第三物理地址,包括:根据预先记录的逻辑地址与物理地址之间的对应关系,确定与所述第一逻辑地址具有对应关系的物理地址;从所确定的物理地址中,确定存储数据时间最晚的存储空间对应的物理地址,作为第三物理地址。9.根据权利要求5所述的方法,其特征在于,所述方法还包括:根据预先记录的逻辑地址与物理地址之间的对应关系,获得所述磁盘中每一区域中有效数据的数量,其中,所述有效数据为第四物理地址对应的存储空间中存储的数据,所述第四物理地址为与同一个逻辑地址具有对应关系的物理地址中,存储数据时间最晚的存储空间对应的物理地址;将有效数据的数量小于预设第二阈值的区域确定为待清理区域,将有效数据的数量大于预设第三阈值的区域确定为待存储区域;其中,所述待存储区域为存在所述第二物理地址的区域;从各个待清理区域中确定目标待清理区域;从各个待存储区域中选择所述目标待清理区域的目标待存储区域;将所述目标待清理区域中的有效数据存储至所述目标待存储区域,并删除所述目标待清理区域中的数据;将针对目标有效数据记录的逻辑地址与物理地址之间的对应关系修改为:逻辑地址与第五物理地址之间的对应关系,其中,所述目标有效数据为:所述目标待存储区域中来自所述目标待清理区域的有效数据,每一目标有效数据对应的第五物理地址为:该目标有效数据在所述目标待存储区域中的物理地址;在各个待清理区域中存在未被确定为所述目标待清理区域的区域时,从未被确定为所述目标待清理区域的区域中重新确定所述目标待清理区域,并返回执行所述从各个待存储区域中选择所述目标待清理区域的目标待存储区域的步骤。10.根据权利要求9所述的方法,其特征在于,所述从各个待清理区域中确定目标待清理区域,包括:从所述待清理区域中选择一个有效数量最少的待清理区域,确定为目标待清理区域;所述从各个待存储区域中选择所述目标待清理区域的目标待存储区域,包括:从所述待存储区域中,确定所述目标待清理区域的目标待存储区域,其中,所述目标待存储区域为当前有效数据的数量最多、且有效数据的数量小于该存储区域的存储空间数量的待存储区域;所述在各个待清理区域中存在未被确定为所述目标待清理区域的区域时,从未被确定为所述目标待清理区域的区域中重新确定所述目标待清理区域,包括:从未确定为所述目标待清理区域的待清理区域中,选择一个有效数据的数量最少的待清理区域,将所述目标待清理区域更新为当前所选择的待清理区域。11.根据权利要求10所述的方法,其特征在于,所述将所述目标待清理区域中的有效数据存储至所述目标待存储区域,并删除所述目标待清理区域中的数据,包括:将所述目标待清理区域中的有效数据存储至所述目标待存储区域;判断所述目标待清理区域中是否存在未被存储至所述目标待存储区域中的有效数据;如果否,删除所述目标待清理区域中的数据;如果是,从所述待存储区域中除所述目标待存储区域之外的待存储区域选择一个待存储区域,将所述目标待存储区域更新为所选择的待存储区域;将所述目标待清理区域中除所述目标有效数据之外的有效数据存储至更新后的目标待存储区域,并返回执行所述判断所述目标待清理区域中是否存在未被存储至所述目标待存储区域中的有效数据的步骤。12.根据权利要求9所述的方法,其特征在于,所述根据从各个待存储区域中选择所述目标待清理区域的目标待存储区域,包括:从各个待存储区域中选择目标数量不小于所述目标待清理区域中有效数据的数量的区域,作为目标待存储区域,其中,目标数量为该待存储区域的存储空间的数量与有效数据的数量之差。13.根据权利要求9-12任一项所述的方法,其特征在于,在所有待清理区域中的数存储的数据删除之后,所述方法还包括:将当前所有存在有效数据的区域中的垃圾数据删除,其中,所述垃圾数据为第六物理地址对应的存储空间中存储的数据,所述第六物理地址为与同一个逻辑地址具有对应关系的物理地址中,除所述第四物理地址之外的物理地址。14.一种数据存储装置,其特征在于,应用于存储驱动,所述装置包括:第一获得模块,用于获得待存储数据;第一判断模块,用于判断所述待存储数据的大小是否大于预设第一阈值;第二判断模块,用于在所述第一判断模块的判断结果为...
【专利技术属性】
技术研发人员:徐广治,
申请(专利权)人:北京金山云网络技术有限公司,北京金山云科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。