CN107632792A - 云数据系统中管理虚拟磁盘的方法和装置 - Google Patents

云数据系统中管理虚拟磁盘的方法和装置 Download PDF

Info

Publication number
CN107632792A
CN107632792A CN201710951064.3A CN201710951064A CN107632792A CN 107632792 A CN107632792 A CN 107632792A CN 201710951064 A CN201710951064 A CN 201710951064A CN 107632792 A CN107632792 A CN 107632792A
Authority
CN
China
Prior art keywords
data
mark
tuple
virtual disk
target
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
Application number
CN201710951064.3A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710951064.3A priority Critical patent/CN107632792A/zh
Publication of CN107632792A publication Critical patent/CN107632792A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种云数据系统中管理虚拟磁盘的方法和装置。所述方法包括:在虚拟磁盘初始化后,获取所述虚拟磁盘的哈希表,其中所述哈希表以虚拟磁盘的块block地址为键值,每个键值对应一组数据链表,该链表中包括一个或多个元组数据,其中每个元组数据包括数据和数据的写入时间;接收对虚拟磁盘中数据的访问请求,其中所述数据访问请求包括访问的目标块的地址;以所述目标块的地址为关键字,在所述哈希表中查找所述目标块的数据链表,得到目标数据链表;利用所述目标数据链表中的元组数据响应所述访问请求。

Description

云数据系统中管理虚拟磁盘的方法和装置
技术领域
本发明涉及信息处理领域,尤指一种云数据系统中管理虚拟磁盘的方法和装置。
背景技术
基础设施即服务(Infrastructure-as-a-Service,IaaS)作为云计算的一种重要服务模式,是当今公有云/私有云的主要形态,实现了计算、存储、网络等基础资源的服务封装,通过提供虚拟机(Virtual Machine,VM)完成资源的供给与交付。
VM作为客户服务的主要资源载体,其数据的备份与恢复越发重要。由于虚拟化软件和数据备份软件一般由不同的厂商提供,未能紧密集成,导致现有的数据备份主要基于VM磁盘快照进行,考虑到频繁快照会严重影响VM性能,所以快照频率较低,从而导致恢复点目标(Recovery Point Objective,RPO)较长,从数小时到十几个小时不等。
因此,如何对虚拟磁盘的数据进行管理以保证数据的高效管理是亟待解决的问题。
发明内容
为了解决上述技术问题,本发明提供了一种云数据系统中管理虚拟磁盘的方法和装置,能够提高对虚拟磁盘中数据的高效管理。
为了达到本发明目的,本发明提供了一种云数据系统中管理虚拟磁盘的方法,包括:
在虚拟磁盘初始化后,获取所述虚拟磁盘的哈希表,其中所述哈希表以虚拟磁盘的块block地址为键值,每个键值对应一组数据链表,该链表中包括一个或多个元组数据,其中每个元组数据包括数据和数据的写入时间;
接收对虚拟磁盘中数据的访问请求,其中所述数据访问请求包括访问的目标块的地址;
以所述目标块的地址为关键字,在所述哈希表中查找所述目标块的数据链表,得到目标数据链表;
利用所述目标数据链表中的元组数据响应所述访问请求。
其中,所述方法还具有如下特点:所述利用所述目标数据链表中的元组数据响应所述访问请求,包括:
当接收到的访问请求为写请求时,将所述待写入目标块的数据和写入时间作为一组元数据存储到该待写入地址对应的目标数据链表的链尾,完成待写入数据的写入操作;
当接收到访问请求为读请求时,在所述目标数据链表中查找是否存储有待读取的数据,如果查找到,读取该数据,完成对待读取数据的读操作。
其中,所述方法还具有如下特点:所述方法还包括:
在虚拟磁盘初始化后,设置磁盘空间的占用状况的标记图,其中所述标记图以块地址和写入时间共同标记;
在完成待写入数据的写入操作后,在所述标记图中根据数据写入的块地址和写入的时间,确定标记图中的标记位置;。
其中,所述方法还具有如下特点:在所述标记图中标记已写入的空间已被占用之后,所述方法还包括:
根据所述标记图中标记的已被占用的空间,获取虚拟磁盘中已存储数据的存储空间;
获取已存储数据的存储空间中的数据;
对所述数据执行备份操作。
其中,所述方法还具有如下特点:所述对所述数据执行备份操作,包括:
将所述数据先缓存在固态硬盘上,并清空所述标记图中已被占用的空间的标记;
从SSD上将所述数据存储到虚拟磁盘。
其中,所述方法还具有如下特点:在所述标记图中标记已写入的空间已被占用之后,所述方法还包括:
当接收到对虚拟磁盘的数据恢复请求后,获取数据恢复的起始时间;
按照所述虚拟磁盘中元组数据中的时间信息,获取元组数据中时间在所述起始时间后的目标元组数据以及对应的块地址信息;
利用所述目标元组数据以及对应的块地址信息,响应数据恢复请求操作。
其中,所述方法还具有如下特点:所述按照所述虚拟磁盘中元组数据中的时间信息,获取元组数据中时间在所述起始时间后的目标元组数据以及对应的块地址信息,包括:
在完成设置磁盘空间的占用状况的标记图中,在写入时间中以所述起始时间信息查询,得到所述取元组数据中时间在所述起始时间后的目标元组数据的标识;
在所述标记图中确定所述目标元组数据的标识对应的目标块地址;
从所述目标块地址中获取所述目标元组数据的标识对应的数据。
一种云数据系统中管理虚拟磁盘的装置,包括:
第一获取模块,用于在虚拟磁盘初始化后,获取所述虚拟磁盘的哈希表,其中所述哈希表以虚拟磁盘的块block地址为键值,每个键值对应一组数据链表,该链表中包括一个或多个元组数据,其中每个元组数据包括数据和数据的写入时间;
接收模块,用于接收对虚拟磁盘中数据的访问请求,其中所述数据访问请求包括访问的目标块的地址;
查找模块,用于以所述目标块的地址为关键字,在所述哈希表中查找所述目标块的数据链表,得到目标数据链表;
响应模块,用于利用所述目标数据链表中的元组数据响应所述访问请求。
其中,所述装置还具有如下特点:所述响应模块,具体用于:
当接收到的访问请求为写请求时,将所述待写入目标块的数据和写入时间作为一组元数据存储到该待写入地址对应的目标数据链表的链尾,完成待写入数据的写入操作;
当接收到访问请求为读请求时,在所述目标数据链表中查找是否存储有待读取的数据,如果查找到,读取该数据,完成对待读取数据的读操作。
其中,所述装置还具有如下特点:所述装置还包括:
设置模块,用于在虚拟磁盘初始化后,设置磁盘空间的占用状况的标记图,其中所述标记图以块地址和写入时间共同标记;
标记模块,用于在完成待写入数据的写入操作后,在所述标记图中根据数据写入的块地址和写入的时间,确定标记图中的标记位置;。
其中,所述装置还具有如下特点:所述装置还包括:
第二获取模块,用于在所述标记图中标记已写入的空间已被占用之后,根据所述标记图中标记的已被占用的空间,获取虚拟磁盘中已存储数据的存储空间;
第三获取模块,用于获取已存储数据的存储空间中的数据;
备份模块,用于对所述数据执行备份操作。
其中,所述装置还具有如下特点:所述备份模块包括:
缓存单元,用于将所述数据先缓存在固态硬盘上,并清空所述标记图中已被占用的空间的标记;
存储单元,用于从SSD上将所述数据存储到虚拟磁盘。
其中,所述装置还具有如下特点:所述装置还包括:
第四获取模块,用于在所述标记图中标记已写入的空间已被占用之后,当接收到对虚拟磁盘的数据恢复请求后,获取数据恢复的起始时间;
第五获取模块,用于按照所述虚拟磁盘中元组数据中的时间信息,获取元组数据中时间在所述起始时间后的目标元组数据以及对应的块地址信息;
恢复模块,用于利用所述目标元组数据以及对应的块地址信息,响应数据恢复请求操作。
其中,所述装置还具有如下特点:所述第五获取模块包括:
查询单元,用于在完成设置磁盘空间的占用状况的标记图中,在写入时间中以所述起始时间信息查询,得到所述取元组数据中时间在所述起始时间后的目标元组数据的标识;
确定单元,用于在所述标记图中确定所述目标元组数据的标识对应的目标块地址;
获取单元,用于从所述目标块地址中获取所述目标元组数据的标识对应的数据。
本发明提供的实施例,使用的hash表以块地址为索引,其中每个索引对应的数据链表记录数据块和数据块的写入时间,利用该hash表中的信息来完响应外部的数据的访问请求,利用了该hash表中记录的信息完成访问操作,从而提高数据的访问效率,提高对虚拟磁盘数据的管理效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明提供的云数据系统中管理虚拟磁盘的方法的流程图;
图2为本发明提供一种用于记录数据块信息的数据结构示意图;
图3为本发明提供的虚拟磁盘管理系统的交互示意图。
图4为本发明提供的备份存储池中磁盘块数据的记录的示意图;
图5为本发明提供的云数据系统中管理虚拟磁盘的装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明提供的云数据系统中管理虚拟磁盘的方法的流程图。图1所示方法包括:
步骤101、在虚拟磁盘初始化后,获取所述虚拟磁盘的哈希表,其中所述哈希表以虚拟磁盘的块block地址为键值,每个键值对应一组数据链表,该链表中包括一个或多个元组数据,其中每个元组数据包括数据和数据的写入时间;
具体的,该hash表可以参见图2,图2为本发明提供一种用于记录数据块信息的数据结构示意图。图2所示的数据结构中以地址作为键值,存储若干<数据块,时间戳>元组链表,元组按照时间戳先后顺序进行排列,也就是ts1<ts2<ts3<…。每个数据块存储一个虚拟磁盘block的数据,一般选取大小512Byte。
步骤102、接收对虚拟磁盘中数据的访问请求,其中所述数据访问请求包括访问的目标块的地址;
步骤103、以所述目标块的地址为关键字,在所述哈希表中查找所述目标块的数据链表,得到目标数据链表;
步骤104、利用所述目标数据链表中的元组数据响应所述访问请求。
本发明提供的方法实施例,使用的hash表以块地址为索引,其中每个索引对应的数据链表记录数据块和数据块的写入时间,利用该hash表中的信息来完响应外部的数据的访问请求,利用了该hash表中记录的信息完成访问操作,从而提高数据的访问效率,提高对虚拟磁盘数据的管理效率。
下面以使用该hash表实现面向虚拟机的磁盘持续数据保护方法的流程进行说明:
图3为本发明提供的虚拟磁盘管理系统的交互示意图。下面对图3的交互流程作进一步说明:
初始化流程
1)创建虚拟磁盘后,同时生成相应磁盘块标志位图,并将所有位图标志信息复位(置0);
通过该磁盘位图可以有效直观的管理虚拟磁盘的占用情况,为后续对虚拟磁盘占用的管理提供管理基础。
2)对于待备份的虚拟磁盘,创建一个备份线程。
磁盘写请求流程
本发明提供的方式如下:当接收到的访问请求为写请求时,将所述待写入目标块的数据和写入时间作为一组元数据存储到该待写入地址对应的目标数据链表的链尾,完成待写入数据的写入操作。
需要说明的是,在虚拟磁盘初始化后,设置磁盘空间的占用状况的标记图,其中所述标记图以块地址和写入时间共同标记;在完成待写入数据的写入操作后,在所述标记图中根据数据写入的块地址和写入的时间,确定标记图中的标记位置;。
写请求流程的具体方式如下:
1)拦截虚拟磁盘写请求,获取写请求的目标数据块block地址address和数据data;
2)形成元组<data,ts>,根据键值address索引数据链,并在链尾插入新的元组,保证数据链的时间先后排列正确,这些信息保存在SSD中;
3)将相应地址的磁盘块位图置位(置1);
4)返回写请求成功,跳转到第1步。
磁盘读请求流程
本发明提供的方式如下:当接收到访问请求为读请求时,在所述目标数据链表中查找是否存储有待读取的数据,如果查找到,读取该数据,完成对待读取数据的读操作。
读请求流程的具体方式如下:
1)拦截虚拟磁盘读请求,获取写请求的目标block地址address;
2)检查磁盘块地址address是否在SSD缓存中存有数据,如果是跳转到第3步,否则跳转到第4步;
3)通过address在SSD缓存上索引数据链,将时间戳最新的数据作为读请求的结果进行响应,跳转到第1步;
4)将读请求存入I/O队列(正常流程),跳转到第1步。
备份线程流程
本发明提供的方式如下:根据所述标记图中标记的已被占用的空间,获取虚拟磁盘中已存储数据的存储空间;获取已存储数据的存储空间中的数据;对所述数据执行备份操作。
具体来说,将所述数据先缓存在固态硬盘上,并清空所述标记图中已被占用的空间的标记;
从SSD上将所述数据存储到虚拟磁盘。
本发明在现有I/O虚拟化处理过程中通过拦截I/O请求,将写入数据暂时缓存到固态硬盘(Solid State Drives,SSD)中,通过后台备份线程负责备份虚拟磁盘脏块,并将新数据写入虚拟磁盘。本发明可以大大降低数据恢复的恢复点目标(Recovery PointObjective,RPO)时间(秒级),引入SSD也使数据备份的性能损耗大大降低。
备份流程的具体方式如下:
1)顺序扫描磁盘块位图信息,寻找置位的磁盘块地址;
2)读取置位的块地址address对应的虚拟磁盘数据odata(即old data),形成元组<odata,ts>,ts取加入数据链写入SSD的时间(可简单记录,本发明不赘述),并将元组追加进入备份存储池中键值为address的数据链中;
3)从SSD缓存上通过address索引数据链,将数据链中的时间戳最新的数据存入I/O队列,后续由系统I/O调度器写入虚拟磁盘,数据链中其它剩余数据追加进入备份存储池中键值为address的数据链中(同第2步);
4)将磁盘块地址相应位图标志复位(置0)。
5)将SSD缓存中与address对应的数据链空间回收
6)跳转到第1步,进入下一次循环
数据恢复流程
本发明提供的方式如下:当接收到对虚拟磁盘的数据恢复请求后,获取数据恢复的起始时间;按照所述虚拟磁盘中元组数据中的时间信息,获取元组数据中时间在所述起始时间后的目标元组数据以及对应的块地址信息;利用所述目标元组数据以及对应的块地址信息,响应数据恢复请求操作。
其中,所述按照所述虚拟磁盘中元组数据中的时间信息,获取元组数据中时间在所述起始时间后的目标元组数据以及对应的块地址信息,包括:
在完成设置磁盘空间的占用状况的标记图中,在写入时间中以所述起始时间信息查询,得到所述取元组数据中时间在所述起始时间后的目标元组数据的标识;
在所述标记图中确定所述目标元组数据的标识对应的目标块地址;
从所述目标块地址中获取所述目标元组数据的标识对应的数据。
图4为本发明提供的备份存储池中磁盘块数据的记录的示意图。图4所示示意图中,ts1<ts2<ts3<ts4<…,将分别将地址1、2、3、4的数据块填充为d1、d3、d4和d6。当虚拟磁盘要恢复数据至某一时刻t时,查找t所在的时间区间,以ts2<t<ts3为例,则以ts3为时间线前推,选取距离ts3最近的数据按照地址填充。
图5为本发明提供的云数据系统中管理虚拟磁盘的装置的结构图。图5所示装置包括:
第一获取模块501,用于在虚拟磁盘初始化后,获取所述虚拟磁盘的哈希表,其中所述哈希表以虚拟磁盘的块block地址为键值,每个键值对应一组数据链表,该链表中包括一个或多个元组数据,其中每个元组数据包括数据和数据的写入时间;
接收模块502,用于接收对虚拟磁盘中数据的访问请求,其中所述数据访问请求包括访问的目标块的地址;
查找模块503,用于以所述目标块的地址为关键字,在所述哈希表中查找所述目标块的数据链表,得到目标数据链表;
响应模块504,用于利用所述目标数据链表中的元组数据响应所述访问请求。
在本发明提供的一个装置实施例中,所述响应模块504,具体用于:
当接收到的访问请求为写请求时,将所述待写入目标块的数据和写入时间作为一组元数据存储到该待写入地址对应的目标数据链表的链尾,完成待写入数据的写入操作;
当接收到访问请求为读请求时,在所述目标数据链表中查找是否存储有待读取的数据,如果查找到,读取该数据,完成对待读取数据的读操作。
在本发明提供的一个装置实施例中,所述装置还包括:
设置模块,用于在虚拟磁盘初始化后,设置磁盘空间的占用状况的标记图,其中所述标记图以块地址和写入时间共同标记;
标记模块,用于在完成待写入数据的写入操作后,在所述标记图中根据数据写入的块地址和写入的时间,确定标记图中的标记位置;。
在本发明提供的一个装置实施例中,所述装置还包括:
第二获取模块,用于在所述标记图中标记已写入的空间已被占用之后,根据所述标记图中标记的已被占用的空间,获取虚拟磁盘中已存储数据的存储空间;
第三获取模块,用于获取已存储数据的存储空间中的数据;
备份模块,用于对所述数据执行备份操作。
在本发明提供的一个装置实施例中,所述备份模块包括:
缓存单元,用于将所述数据先缓存在固态硬盘上,并清空所述标记图中已被占用的空间的标记;
存储单元,用于从SSD上将所述数据存储到虚拟磁盘。
在本发明提供的一个装置实施例中,所述装置还包括:
第四获取模块,用于在所述标记图中标记已写入的空间已被占用之后,当接收到对虚拟磁盘的数据恢复请求后,获取数据恢复的起始时间;
第五获取模块,用于按照所述虚拟磁盘中元组数据中的时间信息,获取元组数据中时间在所述起始时间后的目标元组数据以及对应的块地址信息;
恢复模块,用于利用所述目标元组数据以及对应的块地址信息,响应数据恢复请求操作。
在本发明提供的一个装置实施例中,所述第五获取模块包括:
查询单元,用于在完成设置磁盘空间的占用状况的标记图中,在写入时间中以所述起始时间信息查询,得到所述取元组数据中时间在所述起始时间后的目标元组数据的标识;
确定单元,用于在所述标记图中确定所述目标元组数据的标识对应的目标块地址;
获取单元,用于从所述目标块地址中获取所述目标元组数据的标识对应的数据。
本发明提供的装置实施例,使用的hash表以块地址为索引,其中每个索引对应的数据链表记录数据块和数据块的写入时间,利用该hash表中的信息来完响应外部的数据的访问请求,利用了该hash表中记录的信息完成访问操作,从而提高数据的访问效率,提高对虚拟磁盘数据的管理效率。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。

Claims (14)

1.一种云数据系统中管理虚拟磁盘的方法,其特征在于,包括:
在虚拟磁盘初始化后,获取所述虚拟磁盘的哈希表,其中所述哈希表以虚拟磁盘的块block地址为键值,每个键值对应一组数据链表,该链表中包括一个或多个元组数据,其中每个元组数据包括数据和数据的写入时间;
接收对虚拟磁盘中数据的访问请求,其中所述数据访问请求包括访问的目标块的地址;
以所述目标块的地址为关键字,在所述哈希表中查找所述目标块的数据链表,得到目标数据链表;
利用所述目标数据链表中的元组数据响应所述访问请求。
2.根据权利要求1所述的方法,其特征在于,所述利用所述目标数据链表中的元组数据响应所述访问请求,包括:
当接收到的访问请求为写请求时,将所述待写入目标块的数据和写入时间作为一组元数据存储到该待写入地址对应的目标数据链表的链尾,完成待写入数据的写入操作;
当接收到访问请求为读请求时,在所述目标数据链表中查找是否存储有待读取的数据,如果查找到,读取该数据,完成对待读取数据的读操作。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在虚拟磁盘初始化后,设置磁盘空间的占用状况的标记图,其中所述标记图以块地址和写入时间共同标记;
在完成待写入数据的写入操作后,在所述标记图中根据数据写入的块地址和写入的时间,确定标记图中的标记位置;
在确定的标记位置上写入该数据的数据标识,完成所述写入操作的存储空间已被占用。
4.根据权利要求3所述的方法,其特征在于,在所述标记图中标记已写入的空间已被占用之后,所述方法还包括:
根据所述标记图中标记的已被占用的空间,获取虚拟磁盘中已存储数据的存储空间;
获取已存储数据的存储空间中的数据;
对所述数据执行备份操作。
5.根据权利要求4所述的方法,其特征在于,所述对所述数据执行备份操作,包括:
将所述数据先缓存在固态硬盘SSD上,并清空所述标记图中已被占用的空间的标记;
从SSD上将所述数据存储到虚拟磁盘。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当接收到对虚拟磁盘的数据恢复请求后,获取数据恢复的起始时间;
按照所述虚拟磁盘中元组数据中的时间信息,获取元组数据中时间在所述起始时间后的目标元组数据以及对应的块地址信息;
利用所述目标元组数据以及对应的块地址信息,响应数据恢复请求操作。
7.根据权利要求6所述的方法,其特征在于,所述按照所述虚拟磁盘中元组数据中的时间信息,获取元组数据中时间在所述起始时间后的目标元组数据以及对应的块地址信息,包括:
在完成设置磁盘空间的占用状况的标记图中,在写入时间中以所述起始时间信息查询,得到所述取元组数据中时间在所述起始时间后的目标元组数据的标识;
在所述标记图中确定所述目标元组数据的标识对应的目标块地址;
从所述目标块地址中获取所述目标元组数据的标识对应的数据。
8.一种云数据系统中管理虚拟磁盘的装置,其特征在于,包括:
第一获取模块,用于在虚拟磁盘初始化后,获取所述虚拟磁盘的哈希表,其中所述哈希表以虚拟磁盘的块block地址为键值,每个键值对应一组数据链表,该链表中包括一个或多个元组数据,其中每个元组数据包括数据和数据的写入时间;
接收模块,用于接收对虚拟磁盘中数据的访问请求,其中所述数据访问请求包括访问的目标块的地址;
查找模块,用于以所述目标块的地址为关键字,在所述哈希表中查找所述目标块的数据链表,得到目标数据链表;
响应模块,用于利用所述目标数据链表中的元组数据响应所述访问请求。
9.根据权利要求8所述的装置,其特征在于,所述响应模块,具体用于:
当接收到的访问请求为写请求时,将所述待写入目标块的数据和写入时间作为一组元数据存储到该待写入地址对应的目标数据链表的链尾,完成待写入数据的写入操作;
当接收到访问请求为读请求时,在所述目标数据链表中查找是否存储有待读取的数据,如果查找到,读取该数据,完成对待读取数据的读操作。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
设置模块,用于在虚拟磁盘初始化后,设置磁盘空间的占用状况的标记图,其中所述标记图以块地址和写入时间共同标记;
标记模块,用于在完成待写入数据的写入操作后,在所述标记图中根据数据写入的块地址和写入的时间,确定标记图中的标记位置。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于在所述标记图中标记已写入的空间已被占用之后,根据所述标记图中标记的已被占用的空间,获取虚拟磁盘中已存储数据的存储空间;
第三获取模块,用于获取已存储数据的存储空间中的数据;
备份模块,用于对所述数据执行备份操作。
12.根据权利要求11所述的装置,其特征在于,所述备份模块包括:
缓存单元,用于将所述数据先缓存在固态硬盘上,并清空所述标记图中已被占用的空间的标记;
存储单元,用于从SSD上将所述数据存储到虚拟磁盘。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第四获取模块,用于在所述标记图中标记已写入的空间已被占用之后,当接收到对虚拟磁盘的数据恢复请求后,获取数据恢复的起始时间;
第五获取模块,用于按照所述虚拟磁盘中元组数据中的时间信息,获取元组数据中时间在所述起始时间后的目标元组数据以及对应的块地址信息;
恢复模块,用于利用所述目标元组数据以及对应的块地址信息,响应数据恢复请求操作。
14.根据权利要求13所述的装置,其特征在于,所述第五获取模块包括:
查询单元,用于在完成设置磁盘空间的占用状况的标记图中,在写入时间中以所述起始时间信息查询,得到所述取元组数据中时间在所述起始时间后的目标元组数据的标识;
确定单元,用于在所述标记图中确定所述目标元组数据的标识对应的目标块地址;
获取单元,用于从所述目标块地址中获取所述目标元组数据的标识对应的数据。
CN201710951064.3A 2017-10-13 2017-10-13 云数据系统中管理虚拟磁盘的方法和装置 Pending CN107632792A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710951064.3A CN107632792A (zh) 2017-10-13 2017-10-13 云数据系统中管理虚拟磁盘的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710951064.3A CN107632792A (zh) 2017-10-13 2017-10-13 云数据系统中管理虚拟磁盘的方法和装置

Publications (1)

Publication Number Publication Date
CN107632792A true CN107632792A (zh) 2018-01-26

Family

ID=61103230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710951064.3A Pending CN107632792A (zh) 2017-10-13 2017-10-13 云数据系统中管理虚拟磁盘的方法和装置

Country Status (1)

Country Link
CN (1) CN107632792A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656480A (zh) * 2018-12-12 2019-04-19 广东浪潮大数据研究有限公司 一种ssd缓存池的管理方法、系统以及装置
CN114884663A (zh) * 2021-02-05 2022-08-09 腾讯科技(深圳)有限公司 多媒体对象处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102331955A (zh) * 2011-09-14 2012-01-25 天津火星科技有限公司 一种多时间粒度的数据备份方法
CN104615504A (zh) * 2015-02-06 2015-05-13 浪潮(北京)电子信息产业有限公司 一种实现数据保护的方法及装置
CN105335300A (zh) * 2014-12-10 2016-02-17 成都科来软件有限公司 一种数据存储方法及装置
US9436558B1 (en) * 2010-12-21 2016-09-06 Acronis International Gmbh System and method for fast backup and restoring using sorted hashes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436558B1 (en) * 2010-12-21 2016-09-06 Acronis International Gmbh System and method for fast backup and restoring using sorted hashes
CN102331955A (zh) * 2011-09-14 2012-01-25 天津火星科技有限公司 一种多时间粒度的数据备份方法
CN105335300A (zh) * 2014-12-10 2016-02-17 成都科来软件有限公司 一种数据存储方法及装置
CN104615504A (zh) * 2015-02-06 2015-05-13 浪潮(北京)电子信息产业有限公司 一种实现数据保护的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
卜海兵等: "《数据存储、恢复与安全应用实践》", 31 December 2012 *
李红艳: "《固态盘I/O优化技术研究》", 31 March 2017, 华中科技大学出版社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656480A (zh) * 2018-12-12 2019-04-19 广东浪潮大数据研究有限公司 一种ssd缓存池的管理方法、系统以及装置
CN114884663A (zh) * 2021-02-05 2022-08-09 腾讯科技(深圳)有限公司 多媒体对象处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US9298377B2 (en) Techniques for reducing read I/O latency in virtual machines
US8832029B2 (en) Incremental virtual machine backup supporting migration
CN106548789B (zh) 用于操作叠瓦式磁记录设备的方法和装置
US9547605B2 (en) Method for data backup, device and system
CN103761190B (zh) 数据处理方法及装置
WO2016086819A1 (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
CN110399310B (zh) 一种存储空间的回收方法及装置
EP3617867A1 (en) Fragment management method and fragment management apparatus
CN102750317B (zh) 数据持久化处理方法、装置及数据库系统
JP6192660B2 (ja) ステージング・エリアを管理するためのコンピュータ実施プロセス、コンピュータ・プログラム製品、装置
CN113296696A (zh) 一种数据的访问方法、计算设备及存储介质
US20160179420A1 (en) Apparatus and method for managing storage
JP2016143221A (ja) ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法
CN110597663A (zh) 一种事务处理方法及装置
US9983826B2 (en) Data storage device deferred secure delete
CN111666044A (zh) 一种访问叠瓦式磁记录smr硬盘的方法及服务器
KR20170023734A (ko) 플래시 메모리 플러싱을 개선하는 방법 및 시스템
CN107037988B (zh) 一种基于文件级粒度的闪存安全删除方法及系统
CN107632792A (zh) 云数据系统中管理虚拟磁盘的方法和装置
CN103176920A (zh) Nor flash掉电保护方法及装置
CN107544834B (zh) 一种镜像文件收缩方法、装置和机器可读存储介质
EP4372540A1 (en) Techniques for zoned namespace (zns) storage using multiple zones
CN114153394A (zh) 一种数据存储管理方法、装置及设备
US9535796B2 (en) Method, apparatus and computer for data operation
CN114840148B (zh) 在Kubernetes中基于linux内核bcache技术实现磁盘加速的方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180126

RJ01 Rejection of invention patent application after publication