一种实现数据预读的方法及装置制造方法及图纸

技术编号:11381742 阅读:56 留言:0更新日期:2015-05-01 04:35
本发明专利技术公开了一种实现数据预读的方法及装置,包括:对单隐层神经网络进行训练获得预设层数的多隐层神经网络;基于训练完成的预设层数的多隐层神经网络对存储系统的数据预读到缓存。本发明专利技术方法通过多隐层神经网络对存储系统的数据进行预读到缓存,实现了随机IO数据预读,保证了缓存中预读数据的准确性,提高了存储系统的性能。

【技术实现步骤摘要】
一种实现数据预读的方法及装置
本专利技术涉及计算机技术,尤指一种实现数据预读的方法及装置。
技术介绍
随着计算机技术的发展,存储系统逐渐从计算系统中迁移出来,并逐渐形成一种独立的设备。如今整个计算系统可以认为由计算节点、交换节点和存储节点三部分组成。随着计算节点计算容量的增加对存储节点的性能提出了越来越高的要求,存储系统时存储节点的主要形态。存储介质中,普通的机械硬盘由于受机械结构影响,整体性能普遍偏低,一般每秒进行读写操作的次数(IOPS)在100左右,即使企业级高速机械硬盘的IOPS也不会超过200。因此由机械硬盘组成的存储系统,整体性能受到极大的限制。鉴于上述原因,为了提高存储系统的性能,在存储系统之上增加了缓存系统,缓存系统在系统内存中实现。由于CPU访问内存的速度是访问硬盘速度的百倍甚至千倍以上。加入缓存系统的存储系统在性能上得到了极大的提升。缓存系统极大的提高了访问硬盘的速度,从而提升了存储系统的工作性能,但,缓存系统存在缓存命中的问题,以读为例,只有尽量多的从缓存中读取到需要读取的数据,才能提高存储系统的性能,即,需要将存储系统预先将硬盘的数据读到缓存系统的缓存中。目前,将硬盘数据预读到缓存主要基于输入输出(IO)随机特性,当IO随机特性判定为连续IO时,将连续IO数据后期可能被读的数据预读到缓存中。鉴于连续IO的可预知性,保证了将数据预读到缓存的正确性,即保证了缓存的预读数据的命中率。而对IO随机特性判定为随机IO时,由于随机IO具有非线性特性,采用现有的方法,无法预知后期可能被读取数据的IO具体位置,因此无法实现随机IO的数据预读。专利技术内容为了解决上述技术问题,本专利技术提供了一种实现数据预读的方法,能够对随机IO的具体位置进行预知,从而读取预知的随机IO位置的数据,提高缓存系统预读数据的命中率。为了达到本专利技术目的,本专利技术提供了一种实现数据预读的方法,包括:对单隐层神经网络进行训练获得预设层数的多隐层神经网络;基于训练完成的预设层数的多隐层神经网络对存储系统的数据预读到缓存。进一步地,在对单隐层神经网络进行训练之前,该方法还包括:获取缓存读取的历史数据作为数据样本集,通过数据样本集训练生成单隐层神经网络;所述单隐层神经网络包括输入层、输出层及一个隐层。进一步地,训练获得预设层数的多隐层神经网络具体包括:对所述单隐层神经网络,逐次训练以添加新的隐层,直至隐层数达到预设层数。进一步地,添加新的隐层具体包括:预先赋值所述单隐层神经网络中第一隐层的第一初始化权重;将数据样本集的第一样本输入数据作为单隐层神经网络的输入,通过赋值为初始化权重第一隐层的处理后,完成第一输出层的输出;根据第一输出层的输出与第一样本输入数据对应的第一样本输出,经由误差反向传播BP过程处理确定第一隐层的实际权重;舍弃第i输出层,并在第i隐层和第i+1输出层之间添加第i+1隐层生层包含有i+1层隐层的神经网络;预先赋值所述第i+1隐层的第i+1初始化权重;将数据样本集的第i+1样本输入数据作为i+1层隐层的神经网络的输入,通过赋值为第i+1初始化权重第i+1隐层的处理后,完成第i+1输出层的输出;根据第i+1输出层的输出与第i+1样本输入数据对应的第i+1样本输出,经由BP过程处理确定第i+1隐层的实际权重;所述i∈[1,2…N],其中N为所述预设层数的数值减1的正整数。进一步地,基于训练完成的预设层数的多隐层神经网络对存储系统的数据预读到缓存具体包括:将向存储系统缓存发送的请求读IO信息发送到所述训练完成的多隐层神经网络;所述训练完成的多隐层神经网络计算获得将读取存储系统IO的位置信息;根据IO的位置信息将相应的数据输出到缓存中,实现预读数据到缓存。进一步地,该方法还包括:根据对存储系统的实际读取的数据与预读到缓存的数据进行比对,根据比对差值进行BP过程处理,调整多隐层神经网络中第预设层数层的隐层的权重。另一方面,本申请还提供一种实现数据预读的装置,包括:第一训练单元及数据预读单元;其中,第一训练单元,用于对单隐层神经网络进行训练获得预设层数的多隐层神经网络;数据预读单元,用于基于训练完成的预设层数的多隐层神经网络对存储系统的数据预读到缓存。进一步地,该装置还包括第二训练单元,用于在对单隐层神经网络进行训练之前,获取缓存读取的历史数据作为数据样本集,通过数据样本集训练生成单隐层神经网络;所述单隐层神经网络包括输入层、输出层及一个隐层。进一步地,第一训练单元具体用于,对所述单隐层神经网络,逐次训练以添加新的隐层,直至隐层数达到预设层数。进一步地,第一训练单元具体用于,对所述单隐层神经网络,预先赋值所述单隐层神经网络中第一隐层的第一初始化权重;将数据样本集的第一样本输入数据作为单隐层神经网络的输入,通过赋值为初始化权重第一隐层的处理后,完成第一输出层的输出;根据第一输出层的输出与第一样本输入数据对应的第一样本输出,经由误差反向传播BP过程处理确定第一隐层的实际权重;舍弃第i输出层,并在第i隐层和第i+1输出层之间添加第i+1隐层生层包含有i+1层隐层的神经网络;预先赋值所述第i+1隐层的第i+1初始化权重;将数据样本集的第i+1样本输入数据作为i+1层隐层的神经网络的输入,通过赋值为第i+1初始化权重第i+1隐层的处理后,完成第i+1输出层的输出;根据第i+1输出层的输出与第i+1样本输入数据对应的第i+1样本输出,经由BP过程处理确定第i+1隐层的实际权重;逐次训练以添加新的隐层,直至隐层数达到预设层数;所述i∈[1,2…N],其中N为所述预设层数的数值减1的正整数。进一步地,数据预读单元具体用于,将向存储系统缓存发送的请求读IO信息发送到所述训练完成的多隐层神经网络;所述训练完成的多隐层神经网络计算获得将读取存储系统IO的位置信息;根据IO的位置信息将相应的数据输出到缓存中,实现预读数据到缓存。进一步地,该装置还包括权重调整单元,用于根据对存储系统的实际读取的数据与预读到缓存的数据进行比对,根据比对差值进行BP过程处理,调整多隐层神经网络中第预设层数层的隐层的权重。与现有技术相比,本专利技术方案包括:对单隐层神经网络进行训练获得预设层数的多隐层神经网络;基于训练完成的预设层数的多隐层神经网络对存储系统的数据预读到缓存。本专利技术方法通过多隐层神经网络对存储系统的数据进行预读到缓存,实现了随机IO数据预读,保证了缓存中预读数据的准确性,提高了存储系统的性能。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实现数据预读的方法的流程图;图2为本专利技术多隐层神经网络的结构示意图;图3为本专利技术实现数据预读的装置的结构框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。图1为本专利技术实现数据预读的方法的流程图,如图1所示,包括:步骤100、对单隐层神经网络进行训练获得预设层数的多隐层神经网络;本步骤之前还包括:获取缓存读取的历史数据作为数据样本集,通过数据样本集训练生成单隐层神经网本文档来自技高网...
一种实现数据预读的方法及装置

【技术保护点】
一种实现数据预读的方法,其特征在于,包括:对单隐层神经网络进行训练获得预设层数的多隐层神经网络;基于训练完成的预设层数的多隐层神经网络对存储系统的数据预读到缓存。

【技术特征摘要】
1.一种实现数据预读的方法,其特征在于,包括:对单隐层神经网络进行训练获得预设层数的多隐层神经网络;基于训练完成的预设层数的多隐层神经网络对存储系统的数据预读到缓存;所述基于训练完成的预设层数的多隐层神经网络对存储系统的数据预读到缓存具体包括:将向存储系统缓存发送的请求读IO信息发送到所述训练完成的多隐层神经网络;所述训练完成的多隐层神经网络计算获得将读取存储系统IO的位置信息;根据IO的位置信息将相应的数据输出到缓存中,实现预读数据到缓存。2.如权利要求1所述的方法,其特征在于,在对单隐层神经网络进行训练之前,该方法还包括:获取缓存读取的历史数据作为数据样本集,通过数据样本集训练生成单隐层神经网络;所述单隐层神经网络包括输入层、输出层及一个隐层。3.如权利要求1或2所述的方法,其特征在于,所述训练获得预设层数的多隐层神经网络具体包括:对所述单隐层神经网络,逐次训练以添加新的隐层,直至隐层数达到预设层数。4.根据权利要求3所述的方法,其特征在于,所述添加新的隐层具体包括:预先赋值所述单隐层神经网络中第一隐层的第一初始化权重;将数据样本集的第一样本输入数据作为单隐层神经网络的输入,通过赋值为初始化权重第一隐层的处理后,完成第一输出层的输出;根据第一输出层的输出与第一样本输入数据对应的第一样本输出,经由误差反向传播BP过程处理确定第一隐层的实际权重;舍弃第i输出层,并在第i隐层和第i+1输出层之间添加第i+1隐层生层包含有i+1层隐层的神经网络;预先赋值所述第i+1隐层的第i+1初始化权重;将数据样本集的第i+1样本输入数据作为i+1层隐层的神经网络的输入,通过赋值为第i+1初始化权重第i+1隐层的处理后,完成第i+1输出层的输出;根据第i+1输出层的输出与第i+1样本输入数据对应的第i+1样本输出,经由BP过程处理确定第i+1隐层的实际权重;所述i∈[1,2…N],其中N为所述预设层数的数值减1的正整数。5.如权利要求1所述的方法,其特征在于,该方法还包括:根据对存储系统的实际读取的数据与预读到缓存的数据进行比对,根据比对差值进行BP过程处理,调整多隐层神经网络中第预设层数层的隐层的权重。6.一种实现数据预读的装置,其特征在于,包括:第一...

【专利技术属性】
技术研发人员:文中领张书宁徐旸刘友生吴庆民
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1