The invention provides a virtual disk cache hierarchical design method of distributed block storage based on the new method, the composition structure by hierarchical cache memory and SATA/SAS SSD, hot spot through the fast detection algorithm of data access, data stored in the memory of the highest degree of hot, hot high read data stored in SATA/SAS SSD. Because of memory loss, memory only saves read data. The updated data needs to be written to the SSD in case the power loss is lost. Cache memory and SATA/SAS SSD stratified by two physical components. The software realizes hot spot judgment and data floating up and down in the cache at different levels. The caching algorithm of the invention is designed for the read-write characteristics of the disk, and is not a general cache, and is mainly used in the front-end virtual disk of the distributed block storage system to accelerate the virtual disk. Using hierarchical caching scheme of the invention, to avoid memory power down volatile, compared to the SATA/SAS SSD can greatly enhance the performance, for customers to reduce total cost of storage.
【技术实现步骤摘要】
一种基于分布式块存储的虚拟磁盘分层缓存设计方法
本专利技术涉及数据存储
,具体的说是涉及一种基于分布式块存储的虚拟磁盘分层缓存设计方法。
技术介绍
分布式存储系统中,数据往往需要通过网络,数据路径过长,导致性能降低,延迟增大,对于性能要求较高的使用场景,往往是望而却步。目前主流的分布式存储系统,无论是开源或是商用,几乎都是在虚拟磁盘端增加缓存系统来提升性能以满足一些高端使用场景。主要有两种方向:一种是基于内存的缓存,一种是基于SSD的缓存。基于内存缓存由于内存的掉电易失性,无法满足数据安全的需求。基于SSD的缓存如果选用NVMESSD是比较理想的选择,但是价格非常昂贵。如果是选用SATA/SASSSD则性能略显不足。目前软件定义存储的概念逐渐深入人心,这种基于通用X86服务的,分布式的,纯软件的存储系统逐渐被广大用户所接受。相对于传统阵列存储系统,分布式存储系统的性能是巨大的弱点,通过缓存技术能显著改善,使其使用场景更加广泛。
技术实现思路
针对现有技术中的不足,本专利技术要解决的技术问题在于提供了一种基于分布式块存储的虚拟磁盘分层缓存设计方法。为解决上述技术问题,本专利技术通过以下方案来实现:一种基于分布式块存储的虚拟磁盘分层缓存设计方法,该方法通过内存与SATA/SASSSD组成分层缓存系统结构,通过快速算法检测数据访问热点,热点度最高的数据存放在内存,热点读较高的数据存放在SATA/SASSSD中;缓存分层包括内存和SATA/SASSSD两个物理组件,由软件实现热点判断和数据在各级缓存中的上浮与下层,缓存算法针对磁盘的读写特性设计,并非通用的缓存, ...
【技术保护点】
一种基于分布式块存储的虚拟磁盘分层缓存设计方法,其特征在于,该方法通过内存与SATA/SAS SSD组成分层缓存系统结构,通过快速算法检测数据访问热点,热点度最高的数据存放在内存,热点读较高的数据存放在SATA/SAS SSD中;缓存分层包括内存和SATA/SAS SSD两个物理组件,由软件实现热点判断和数据在各级缓存中的上浮与下层,缓存算法针对磁盘的读写特性设计,并非通用的缓存,主要应用于分布式块存储系统的前端虚拟磁盘中,为虚拟磁盘加速;所述分布式块存储系统包括:控制主机:所述控制主机生成虚拟磁盘,为虚拟磁盘准备高速缓冲存储器,作为存储数据路径的前端主机,完成数据接收、缓存、转发功能;策略主机:所述策略主机为分布式块存储系统的大脑,控制主机需要创建虚拟磁盘时,将从存储主机中调度处满足条件的主机,生成存储组件供控制主机连接使用;存储主机:分布式设于系统中,数据最终的存放地点,将存储资源抽象成多个存储组件;所述方法包括块设备的写入和读取方法,该块设备的写入和读取方法如下:块设备的读取或写入都是一次读取或写入一块连续的数据,其应用程序写入的数据的参数为:offset, length, da ...
【技术特征摘要】
1.一种基于分布式块存储的虚拟磁盘分层缓存设计方法,其特征在于,该方法通过内存与SATA/SASSSD组成分层缓存系统结构,通过快速算法检测数据访问热点,热点度最高的数据存放在内存,热点读较高的数据存放在SATA/SASSSD中;缓存分层包括内存和SATA/SASSSD两个物理组件,由软件实现热点判断和数据在各级缓存中的上浮与下层,缓存算法针对磁盘的读写特性设计,并非通用的缓存,主要应用于分布式块存储系统的前端虚拟磁盘中,为虚拟磁盘加速;所述分布式块存储系统包括:控制主机:所述控制主机生成虚拟磁盘,为虚拟磁盘准备高速缓冲存储器,作为存储数据路径的前端主机,完成数据接收、缓存、转发功能;策略主机:所述策略主机为分布式块存储系统的大脑,控制主机需要创建虚拟磁盘时,将从存储主机中调度处满足条件的主机,生成存储组件供控制主机连接使用;存储主机:分布式设于系统中,数据最终的存放地点,将存储资源抽象成多个存储组件;所述方法包括块设备的写入和读取方法,该块设备的写入和读取方法如下:块设备的读取或写入都是一次读取或写入一块连续的数据,其应用程序写入的数据的参数为:offset,length,data;读取的参数为:offset,length,buffer;offset:读写磁盘的位置,起始位置为0,offset为距离起始位置的偏移量;length:读写磁盘数据的长度;data:需要写入磁盘的数据;buffer:将磁盘中的对应数据填入buffer中。2.根据权利要求1所述的一种基于分布式块存储的虚拟磁盘分层缓存设计方法,其特征在于:所述分层缓存系统结构将存储空间划分为cache对象,每个cache对象固定大小,所述分层缓存系统结构的第一层是内存索引,内存索引由一组item组成,每个item占用4个字节代表一个cache对象;内存索引主要维护cache对象的引用计数,标志对应的item是否在cache树中,如果在,该cache对象在cache树的id;内存索引所需要的内存空间,假设SSD缓存空间为1TB,一个item占用4个字节空间代表4MB的cache对象:内存索引占用空间=1TB÷4MB*4=1MB;内存索引占用空间较小几乎可以忽略不计;提到具体的cache对象时缓存在cache树中的,cache树是一颗完全二叉树,并组织成最小堆;完全二叉树表示其每个节点可以用整数编号,并且随着插入,删除节点,依然能满足完全二叉树条件;最小堆表示树根节点一定是二叉树中key值最小的;通过不同的计算引用计数的方式可以实现不同的缓存淘汰算法;Cache树的Value用于存储SSDCac...
【专利技术属性】
技术研发人员:张朝潞,
申请(专利权)人:深圳市云舒网络技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。