CN105446895B - 一种存储系统非同源数据运行时io去重的方法及系统 - Google Patents
一种存储系统非同源数据运行时io去重的方法及系统 Download PDFInfo
- Publication number
- CN105446895B CN105446895B CN201410422156.9A CN201410422156A CN105446895B CN 105446895 B CN105446895 B CN 105446895B CN 201410422156 A CN201410422156 A CN 201410422156A CN 105446895 B CN105446895 B CN 105446895B
- Authority
- CN
- China
- Prior art keywords
- data
- condition code
- image file
- virtual machine
- module
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明是一种存储系统非同源数据运行时IO去重的方法及系统,涉及数据处理领域。该方法:S1、虚拟机读取数据并获取所述数据的特征码;S2、判断所述数据的特征码在专用缓存中是否存在,如果存在,进入S3;如果不存在,进入S4;S3、调取专用缓存中存储的与所述数据的特征码相对应的数据,进入S5;S4、调取镜像文件中与所述数据的特征码相对应的数据,进入S5;S5、虚拟机利用获得的数据进行工作。该系统包括:物理机系统模块、物理机缓存模块、虚拟机的镜像文件模块和虚拟机系统模块。本发明解决了在多个虚拟机同时读取各自的镜像文件时,服务器系统缓存容易达到瓶颈的问题。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种存储系统非同源数据运行时IO去重的方法及系统。
背景技术
虚拟机使用镜像文件来模拟磁盘,镜像文件中存放虚拟机系统。不同的虚拟机,存放同一类系统的镜像文件中大部分数据是相同的。服务器系统虽然有缓存机制,但只能基于文件来缓存,而无法基于数据块来缓存。在多个虚拟机同时读取各自的镜像文件时,服务器系统缓存很容易达到瓶颈,无法对不同文件中的相同数据进行去重,同时也给存储带来了巨大压力。
发明内容
本发明的目的在于提供一种存储系统非同源数据运行时IO去重的方法及系统,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明一种存储系统非同源数据运行时IO去重的方法,采用的技术方案如下:
S1、虚拟机读取数据并获取所述数据的特征码;
S2、判断所述数据的特征码在专用缓存中是否存在,如果存在,进入S3;如果不存在,进入S4;
S3、调取专用缓存中存储的与所述数据的特征码相对应的数据,进入S5;
S4、调取镜像文件中与所述数据的特征码相对应的数据,进入S5;
S5、虚拟机利用获得到的数据进行工作。
优选地,在步骤S1前,有如下操作:
将镜像文件划分为专用区域和数据存储区域,所述数据存储区域划分为多个相同存储容量的数据块;
所述数据存储区域用于存储镜像文件中的数据;
所述专用区域用于存储所述镜像文件中的数据的特征码。
优选地,在步骤S1中,所述数据为镜像文件中已存在的数据或虚拟机写入数据。
更优选地,所述虚拟机写入数据,存在以下处理步骤:虚拟机在写入数据时,将虚拟机写入的数据存储在镜像文件的数据存储区域,同时计算所述写入数据的特征码并将得到的特征码存储到镜像文件的专用区域。
优选地,步骤S4,具体包括以下步骤:
S4-1、调取镜像文件中与所述数据的特征码相对应的数据时,将调取的数据及其特征码以内存的方式存储到专用缓存;
S4-2、专用缓存对接收到的数据及其特征码进行处理。
更优选地,所述专用缓存中存储的数据和数据的特征码是唯一的,且是一一对应的。
更优选地,所述专用缓存中存储的数据及其特征码能够供多个虚拟机共同使用。
更优选地,所述专用缓存中存储的数据及其特征码以内存方式存储。
更优选地,步骤S4-2中,所述处理包括:
①、专用缓存将接收到的数据及其特征码建立索引机制;
②、按照专用缓存存储的数据被访问的次数和被访问的时间对专用缓存中存储的数据排序;
③、专用缓存清理非热点数据。
本发明的一种存储系统非同源数据运行时IO去重的系统,该系统包括:物理机系统模块、物理机缓存模块、虚拟机的镜像文件模块和虚拟机系统模块;
物理机系统模块:负责将物理机缓存模块中存储的数据及其特征码建立索引机制;
物理机缓存模块:负责在内存中缓存数据及其特征码;
虚拟机的镜像文件模块:负责存储镜像文件中的数据及其特征码;
虚拟机系统模块:负责写入数据和/或读取数据,计算写入数据的特征码和/或读取数据的特征码;
所述虚拟机的镜像文件模块包括专用区域模块和数据存储模块;
所述数据存储模块,负责存储镜像文件中的数据;
所述专用区域模块,负责存储所述镜像文件中的数据的特征码。
本发明的有益效果是:
本发明的一种存储系统非同源数据运行时IO去重的方法中,所述IO去重指对镜像文件读操作的去重。虚拟机在进行读取数据操作时,采用本发明,避免了对所述读取数据的缓存,可利用专用缓存中存储的特征码及数据,直接调取所述数据,这种方法避免了对相同数据的缓存,解决了在多个虚拟机同时读取各自的镜像文件时,服务器系统缓存容易达到瓶颈的问题。
本发明实现了一种在磁盘运行时对数据去重的方法,降低了服务器内存的使用率和存储的压力,提升了服务器和存储的性能。
附图说明
图1是具体实施方式1一种存储系统非同源数据运行时IO去重的方法的流程图;
图2是专用缓存与数据和所述数据的特征码的关系图;
图3是虚拟机、专用缓存和存储的关系图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
本发明的核心是将镜像文件以数据块管理的方式,针对每块数据提取特征码,采用缓存机制利用特征码实现在虚拟机运行时对相同数据去重,达到降低存储压力的目的。
参照图1,具体实施方式1,一种存储系统非同源数据运行时IO去重的方法,包括以下步骤:
S1、虚拟机读取数据并获取所述数据的特征码;
S2、判断所述数据的特征码在专用缓存中是否存在,如果存在,进入S3;如果不存在,进入S4;
S3、调取专用缓存中存储的与所述数据的特征码相对应的数据,进入S5;
S4、调取镜像文件中与所述数据的特征码相对应的数据,进入S5;
步骤S4,更具体的为:
S4-1、调取镜像文件中与所述数据的特征码相对应的数据时,将调取的数据及其特征码以内存的方式存储到专用缓存;
S4-2、专用缓存对接收到的数据和数据的特征码进行处理;
S5、虚拟机利用获得到的数据进行工作。
其中,步骤S1中,所述数据为虚拟机写入数据,所述虚拟机写入数据,具体存在以下处理步骤:虚拟机在写入数据时,将虚拟机写入的数据存储在镜像文件的数据存储区域,同时计算所述写入数据的特征码并将得到的特征码存储到镜像文件的专用区域。
所述专用缓存中存储的数据和数据的特征码是唯一的,且是一一对应的。
所述专用缓存中存储的数据及其特征码以内存方式存储。
其中,步骤S4-2中,所述处理包括:
①、专用缓存将接收到的数据及其特征码建立索引机制;
②、按照专用缓存存储的数据被访问的次数和被访问的时间对专用缓存中存储的数据排序;
③、专用缓存清理非热点数据。
在步骤S1前,虚拟机系统有如下操作:将镜像文件划分为专用区域和数据存储区域,所述数据存储区域划分为多个相同存储容量的数据块;所述数据存储区域用于存储镜像文件中的数据;所述专用区域用于存储所述镜像文件中的数据的特征码。其中,所述的划分不是将镜像文件进行分割,而是在管理层面上进行数据块的划分管理。
所述专用缓存中存储的数据及其特征码能够供多个虚拟机共同使用。所述专用缓存指镜像文件中的数据及其特征码在内存中的存储方式。
所述非热点数据指,在专用缓存存储的数据中,被虚拟机访问的次数和访问的时间,显著少于平均访问次数和平均访问时间的数据。
所述镜像文件指存储在磁盘上,虚拟机用来做虚拟磁盘的文件,具体储存:虚拟机的操作系统文件、虚拟机的安装程序文件和虚拟机的运行文件。
本发明一种存储系统非同源数据运行时IO去重,所述去重指:在虚拟机进行读数据操作时,通过特征码和数据的配对关系在专用缓存中进行搜索,如果专用缓存中存储了所述数据,则直接利用专用缓存中的数据,不用再从镜像文件中读取,这种方法减少了对存储在磁盘上的相同数据的访问,达到降低了服务器内存的使用率和存储的压力。
参照图2,专用缓存与数据和所述数据的特征码的关系图,得到:
1)特征码和缓存数据在专用缓存中是唯一的,且是一一对应的配对存储;
本发明中,专用缓存中存储的特征码和数据以内存方式存储;在镜像文件中的特征码和数据分别专用区域和数据存储区域,因为镜像文件存储在物理机的磁盘,所以镜像文件中的特征码和数据也存储在物理机的磁盘。
2)当虚拟机写入数据时,将虚拟机写入的数据存储在镜像文件的数据存储区域,同时计算所述写入数据的特征码并将得到的特征码放入到镜像文件的专用区域。
3)当虚拟机读取数据时,若此数据的特征码在专用缓存中不存在时,虚拟机将此数据及其特征码放入专用缓存中。
4)当虚拟机读取数据时,若此数据的特征码在专用缓存中存在时,虚拟机通过所述数据的特征码从专用缓存中调取相应数据。
5)镜像文件中的特征码和数据时始终存在的,不会因为将特征码和数据以内存的方式存储到专用缓存中而删除。
参照图3,虚拟机、专用缓存和存储的关系图,本发明中的专用缓存区别于系统自身的缓存,它是专门用于在内存中以一一配对的方式存储镜像文件中的数据及其特征码。
专用缓存中存储的数据和特征码在内存中的存储方式。
专用缓存介于系统存储和虚拟机之间,虚拟机从存储或镜像文件中读数据前需要先在专用缓存中进行判断和确认,如果确认专用缓存中存在所述数据的特征码,则直接从专用缓存中调取所述数据;如果确认专用缓存中不存在所述数据的特征码,则从存储或镜像文件中调取相应的数据,同时将调取的数据及其特征码放入专用缓存。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明的一种存储系统非同源数据运行时IO去重的方法中,所述IO去重指对镜像文件读操作的去重。虚拟机在进行读取数据操作时,采用本发明,避免了对所述读取数据的缓存,可利用专用缓存中存储的特征码及数据,直接调取所述数据,这种方法避免了对相同数据的缓存,解决了在多个虚拟机同时读取各自的镜像文件时,服务器系统缓存容易达到瓶颈的问题。
本发明实现了一种在磁盘运行时对数据去重的方法,降低了服务器内存的使用率和存储的压力,提升了服务器和存储的性能。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (2)
1.一种存储系统非同源数据运行时IO去重的方法,其特征在于,该方法包括:
S1、虚拟机读取数据并获取所述数据的特征码;
S2、判断所述数据的特征码在专用缓存中是否存在,如果存在,进入S3;如果不存在,进入S4;
S3、调取专用缓存中存储的与所述数据的特征码相对应的数据,进入S5;
S4、调取镜像文件中与所述数据的特征码相对应的数据,进入S5;
S5、虚拟机利用获得到的数据进行工作;
在步骤S1前,有如下操作:
将镜像文件划分为专用区域和数据存储区域,所述数据存储区域划分为多个相同存储容量的数据块;
所述数据存储区域用于存储镜像文件中的数据;
所述专用区域用于存储所述镜像文件中的数据的特征码;
在步骤S1中,所述数据为镜像文件中已存在的数据或虚拟机写入数据;
所述虚拟机写入数据,存在以下处理步骤:虚拟机在写入数据时,将虚拟机写入的数据存储在镜像文件的数据存储区域,同时计算所述写入数据的特征码并将得到的特征码存储到镜像文件的专用区域;
步骤S4,具体包括以下步骤:
S4-1、调取镜像文件中与所述数据的特征码相对应的数据时,将调取的数据及其特征码以内存的方式存储到专用缓存;
S4-2、专用缓存对接收到的数据及其特征码进行处理;
所述专用缓存中存储的数据和数据的特征码是唯一的,且是一一对应的;
所述专用缓存中存储的数据及其特征码能够供多个虚拟机共同使用;
所述专用缓存中存储的数据及其特征码以内存方式存储;
步骤S4-2中,所述处理包括:
①、专用缓存将接收到的数据及其特征码建立索引机制;
②、按照专用缓存存储的数据被访问的次数和被访问的时间对专用缓存中存储的数据排序;
③、专用缓存清理非热点数据。
2.一种实现如权利要求1所述存储系统非同源数据运行时IO去重的方法的存储系统非同源数据运行时IO去重的系统,其特征在于,该系统包括:物理机系统模块、物理机缓存模块、虚拟机的镜像文件模块和虚拟机系统模块;
物理机系统模块:负责将物理机缓存模块中存储的数据及其特征码建立索引机制;
物理机缓存模块:负责在内存中缓存数据及其特征码;
虚拟机的镜像文件模块:负责存储镜像文件中的数据及其特征码;
虚拟机系统模块:负责写入数据和/或读取数据,计算写入数据的特征码和/或读取数据的特征码;
所述虚拟机的镜像文件模块包括专用区域模块和数据存储模块;
所述数据存储模块,负责存储镜像文件中的数据;
所述专用区域模块,负责存储所述镜像文件中的数据的特征码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410422156.9A CN105446895B (zh) | 2014-08-25 | 2014-08-25 | 一种存储系统非同源数据运行时io去重的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410422156.9A CN105446895B (zh) | 2014-08-25 | 2014-08-25 | 一种存储系统非同源数据运行时io去重的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446895A CN105446895A (zh) | 2016-03-30 |
CN105446895B true CN105446895B (zh) | 2018-05-18 |
Family
ID=55557121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410422156.9A Expired - Fee Related CN105446895B (zh) | 2014-08-25 | 2014-08-25 | 一种存储系统非同源数据运行时io去重的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446895B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10585611B2 (en) * | 2016-04-26 | 2020-03-10 | Netapp Inc. | Inline deduplication |
CN106951181A (zh) * | 2017-02-21 | 2017-07-14 | 深圳大普微电子科技有限公司 | 一种数据存储系统的控制装置 |
CN108628540A (zh) * | 2017-03-22 | 2018-10-09 | 深圳市优朋普乐传媒发展有限公司 | 数据存储装置及方法 |
CN113535670B (zh) * | 2021-07-13 | 2022-11-11 | 山东省计算中心(国家超级计算济南中心) | 一种虚拟化资源镜像存储系统及其实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521330A (zh) * | 2011-12-07 | 2012-06-27 | 华中科技大学 | 一种桌面虚拟化环境下的镜像分布式存储方法 |
CN103036759A (zh) * | 2012-12-08 | 2013-04-10 | 中国科学院软件研究所 | 一种x86虚拟化条件下降低网络i/o操作cpu开销的系统 |
-
2014
- 2014-08-25 CN CN201410422156.9A patent/CN105446895B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521330A (zh) * | 2011-12-07 | 2012-06-27 | 华中科技大学 | 一种桌面虚拟化环境下的镜像分布式存储方法 |
CN103036759A (zh) * | 2012-12-08 | 2013-04-10 | 中国科学院软件研究所 | 一种x86虚拟化条件下降低网络i/o操作cpu开销的系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105446895A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708427B (zh) | 一种适用于键值对数据的存储方法 | |
US9798472B1 (en) | Extent level cache destaging | |
US10810123B1 (en) | Flush strategy for using DRAM as cache media system and method | |
US9921955B1 (en) | Flash write amplification reduction | |
CN104572727B (zh) | 一种数据查询方法及装置 | |
CN105446895B (zh) | 一种存储系统非同源数据运行时io去重的方法及系统 | |
CN109085997A (zh) | 用于非易失性存储器的存储器高效持续键值储存 | |
CN103856567A (zh) | 基于Hadoop分布式文件系统的小文件存储方法 | |
WO2016086819A1 (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN106537358A (zh) | 在存储网络中的存储的管理 | |
CN107003814A (zh) | 存储系统中的有效元数据 | |
CN101566927B (zh) | 存储系统和存储控制器以及数据缓存方法 | |
CN103218176B (zh) | 数据处理方法及装置 | |
CN103985393B (zh) | 一种多光盘数据并行管理方法及装置 | |
CN102541983A (zh) | 一种分布式文件系统中多客户端缓存同步的方法 | |
CN104616680B (zh) | 基于光盘存储的重复数据删除系统及数据操作方法、装置 | |
FR3023030A1 (zh) | ||
CN102841854A (zh) | 根据动态分级存储器缓存认知执行数据读取的方法和系统 | |
EP1770498A3 (en) | Logical volume transfer method and storage network system | |
CN107179878A (zh) | 基于应用优化的数据存储的方法和装置 | |
CN107729268A (zh) | 一种基于capi接口的内存扩展装置与方法 | |
CN107797759A (zh) | 访问缓存信息的方法、装置与驱动器 | |
CN102763091A (zh) | 将闪存高速缓存集成到大型存储系统 | |
CN106547477B (zh) | 用于在线地减少缓存设备的方法和装置 | |
CN103473258A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180518 Termination date: 20180825 |