数据访问预测方法和装置制造方法及图纸

技术编号:21477032 阅读:66 留言:0更新日期:2019-06-29 04:42
本申请实施例提供一种数据访问预测方法和装置,可以根据存储设备的每个存储单元所存储的数据的数据特征,为存储设备的每个存储单元建立一个数据子集树,使得存储设备可以以数据子集树中的叶子子集为粒度进行预取操作,可以提高存储设备执行预取操作的概率,从而可以提高存储设备的数据访问效率。另外,存储设备可以以叶子子集中数据的访问顺序,预取主机下一次要在叶子子集中读取的数据,可以提高存储设备预取主机下一次要在叶子子集中读取的数据的准确率,进一步提高了存储设备的数据访问效率。

【技术实现步骤摘要】
数据访问预测方法和装置
本申请实施例涉及通信技术,尤其涉及一种数据访问预测方法和装置。
技术介绍
主流的存储系统基本都独立于主机之外,以便实现统一灵活的存储管理。目前,常见的存储系统例如有云计算数据中心、存储区域网络等。这些存储系统通常包括至少一个存储设备,每个存储设备包括至少一个存储单元。其中,这里所说的存储单元例如可以为逻辑单元(logicalunit,LU)或文件系统(filesystem,FS)等。该FS可以为通过网络为主机提供访问服务的FS,例如共享文件夹等。现有技术中,存储系统的存储设备通常采用不感知数据内容的方式,对主机下一次要读取的数据进行预取。具体地,当主机在预设时长内向存储设备发送的针对同一个存储单元的多个读请求,读取的是该存储单元中逻辑地址相邻的数据时,存储设备可以触发针对该存储单元的预取操作。即,存储设备在根据主机当前发送的针对该存储单元的读请求,向用户提供待读取数据的同时,可以将当前所发送的读请求中的待读取数据逻辑地址之后的预设个数的逻辑地址对应的数据,作为主机下一次在该存储单元上要读取的数据,预取至缓存中。通过预取主机下一次在该存储单元上待读取的数据,可以提高存储设备的数据访问效率。即,将逻辑地址与待读取数据的逻辑地址相邻的数据作为主机下一次在该存储单元上要读取的数据。以存储单元为LU为例,假定LU上存在2个分区,分别为分区0和分区1。在预设时长内,主机的应用1通过读请求对分区0中的数据进行读取,主机的应用2通过读请求对分区1中的数据进行读取。也就是说,主机在预设时长内向存储设备发送的针对同一个存储单元的多个读请求,读取的是该存储单元中逻辑地址不相邻的数据。则在该场景下,存储设备不会触发针对该存储单元的预取操作,使得存储设备后续在接收到针对该存储单元的读请求后,需要根据读请求所携带的待读取数据的逻辑地址,在存储单元上读取待读取数据后发送给主机,而不能在缓存中直接获取到待读取数据。这样,存储设备需要花费较多的时间为主机提供数据访问服务,导致存储设备的数据访问效率较低。
技术实现思路
本申请实施例提供一种数据访问预测方法和装置,用于解决存储设备的数据访问效率较低的技术问题。第一方面,本申请实施例提供一种数据访问预测方法,应用于存储设备,所述存储设备包括至少一个存储单元及缓存,每个所述存储单元对应一个数据子集树,所述数据子集树中的每个节点为一个数据子集,每个数据子集设定有数据特征,每个所述节点中的数据具有所述数据特征,且每个所述节点记录有各数据的逻辑地址和访问顺序,所述数据子集树中无子节点的数据子集为叶子子集,所述方法包括:接收主机发送的读请求,所述读请求包括待读取数据所属的存储单元的标识及所述待读取数据的逻辑地址;在所述待读取数据所属的存储单元对应的数据子集树中确定包括所述逻辑地址的叶子子集;按照包括所述逻辑地址的叶子子集中记录的访问顺序,将所述逻辑地址之后的预设个数的逻辑地址对应的数据读取至所述缓存中。通过该可能的设计提供的数据访问预测方法,存储设备的每个存储单元对应一个数据子集树,使得存储设备可以以数据子集树中的叶子子集为粒度进行预取操作,可以提高存储设备执行预取操作的概率,从而可以提高存储设备的数据访问效率。另外,存储设备可以以叶子子集中数据的访问顺序,预取主机下一次要在叶子子集中读取的数据,可以提高存储设备预取主机下一次要在叶子子集中读取的数据的准确率,进一步提高了存储设备的数据访问效率。在一种可能的设计中,所述方法还包括:获取待建立数据子集树的存储单元中的数据;从所获取的数据中获取描述数据特征的特征数据,设定划分数据子集的特征数据;根据所设定划分数据子集的特征数据,将所述待建立数据子集树的存储单元中的数据分为至少一个数据子集;分析所述至少一个数据子集对应的数据的特征数据,确定每个所述数据子集是否可以继续划分数据子集,若否,则将所述数据子集作为叶子子集,若是,则对所述数据子集继续划分,直到划分为叶子子集。通过该可能的设计提供的数据访问预测方法,存储设备可以根据存储设备的每个存储单元存储的数据的数据特征,为存储设备的每个存储单元建立数据子集树,使得存储设备可以以数据子集树中的叶子子集为粒度进行预取操作,可以提高存储设备执行预取操作的概率,从而可以提高存储设备的数据访问效率。在一种可能的设计中,所述存储单元对应的数据子集树中的叶子子集中各数据的逻辑地址,在所述存储单元对应的逻辑地址空间中连续。在一种可能的设计中,所述存储单元为在所述存储设备上划分的逻辑单元LU,所述待读取数据所属的存储单元的标识为所述逻辑单元的标识,所述特征数据为所述逻辑单元的分区数据。通过该可能的设计提供的数据访问预测方法,在存储单元为LU时,存储设备可以基于LU的分区数据,对LU中的数据进行数据子集的划分,以将数据特征相同的数据划分至一个数据子集中,从而使得存储设备可以以该LU对应的数据子集树中的叶子子集为粒度进行预取操作,可以提高存储设备对该LU执行预取操作的概率,从而可以提高存储设备的数据访问效率。在一种可能的设计中,所述存储单元为在所述存储设备上划分的文件系统FS,所述FS通过网络为主机提供访问服务,所述待读取数据所属的存储单元的标识为访问所述文件系统的IP地址,所述特征数据为所述FS中的文件头魔数magic数据。通过该可能的设计提供的数据访问预测方法,在存储单元为FS时,存储设备可以基于FS的文件头魔数magic数据,对FS中的数据进行数据子集的划分,以将数据特征相同的数据划分至一个数据子集中,从而使得存储设备可以以该FS对应的数据子集树中的叶子子集为粒度进行预取操作,可以提高存储设备对该FS执行预取操作的概率,从而可以提高存储设备的数据访问效率。第二方面,本申请实施例提供一种数据访问预测装置,应用于存储设备,所述存储设备包括至少一个存储单元及缓存,每个所述存储单元对应一个数据子集树,所述数据子集树中的每个节点为一个数据子集,每个数据子集设定有数据特征,每个所述节点中的数据具有所述数据特征,且每个所述节点记录有各数据的逻辑地址和访问顺序,所述数据子集树中无子节点的数据子集为叶子子集,所述装置包括:接收模块,用于接收主机发送的读请求,所述读请求包括待读取数据所属的存储单元的标识及所述待读取数据的逻辑地址;处理模块,用于在所述待读取数据所属的存储单元对应的数据子集树中确定包括所述逻辑地址的叶子子集,并按照包括所述逻辑地址的叶子子集中记录的访问顺序,将所述逻辑地址之后的预设个数的逻辑地址对应的数据读取至所述缓存中。在一种可能的设计中,所述处理模块,还用于获取待建立数据子集树的存储单元中的数据;从所获取的数据中获取描述数据特征的特征数据,设定划分数据子集的特征数据;根据所设定划分数据子集的特征数据,将所述待建立数据子集树的存储单元中的数据分为至少一个数据子集;分析所述至少一个数据子集对应的数据的特征数据,确定每个所述数据子集是否可以继续划分数据子集,若否,则将所述数据子集作为叶子子集,若是,则对所述数据子集继续划分,直到划分为叶子子集。在一种可能的设计中,所述存储单元对应的数据子集树中的叶子子集中各数据的逻辑地址,在所述存储单元对应的逻辑地址空间中连续。在一种可能的设计中,所述存储单元为在所述本文档来自技高网
...

【技术保护点】
1.一种数据访问预测方法,应用于存储设备,其特征在于,所述存储设备包括至少一个存储单元及缓存,每个所述存储单元对应一个数据子集树,所述数据子集树中的每个节点为一个数据子集,每个数据子集设定有数据特征,每个所述节点中的数据具有所述数据特征,且每个所述节点记录有各数据的逻辑地址和访问顺序,所述数据子集树中无子节点的数据子集为叶子子集,所述方法包括:接收主机发送的读请求,所述读请求包括待读取数据所属的存储单元的标识及所述待读取数据的逻辑地址;在所述待读取数据所属的存储单元对应的数据子集树中确定包括所述逻辑地址的叶子子集;按照包括所述逻辑地址的叶子子集中记录的访问顺序,将所述逻辑地址之后的预设个数的逻辑地址对应的数据读取至所述缓存中。

【技术特征摘要】
1.一种数据访问预测方法,应用于存储设备,其特征在于,所述存储设备包括至少一个存储单元及缓存,每个所述存储单元对应一个数据子集树,所述数据子集树中的每个节点为一个数据子集,每个数据子集设定有数据特征,每个所述节点中的数据具有所述数据特征,且每个所述节点记录有各数据的逻辑地址和访问顺序,所述数据子集树中无子节点的数据子集为叶子子集,所述方法包括:接收主机发送的读请求,所述读请求包括待读取数据所属的存储单元的标识及所述待读取数据的逻辑地址;在所述待读取数据所属的存储单元对应的数据子集树中确定包括所述逻辑地址的叶子子集;按照包括所述逻辑地址的叶子子集中记录的访问顺序,将所述逻辑地址之后的预设个数的逻辑地址对应的数据读取至所述缓存中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取待建立数据子集树的存储单元中的数据;从所获取的数据中获取描述数据特征的特征数据,设定划分数据子集的特征数据;根据所设定划分数据子集的特征数据,将所述待建立数据子集树的存储单元中的数据分为至少一个数据子集;分析所述至少一个数据子集对应的数据的特征数据,确定每个所述数据子集是否可以继续划分数据子集,若否,则将所述数据子集作为叶子子集,若是,则对所述数据子集继续划分,直到划分为叶子子集。3.根据权利要求2所述的方法,其特征在于,所述存储单元对应的数据子集树中的叶子子集中各数据的逻辑地址,在所述存储单元对应的逻辑地址空间中连续。4.根据权利要求2所述的方法,其特征在于,所述存储单元为在所述存储设备上划分的逻辑单元LU,所述待读取数据所属的存储单元的标识为所述逻辑单元的标识,所述特征数据为所述逻辑单元的分区数据。5.根据权利要求2所述的方法,其特征在于,所述存储单元为在所述存储设备上划分的文件系统FS,所述FS通过网络为主机提供访问服务,所述待读取数据所属的存储单元的标识为访问所述文件系统的IP地址,所述特征数据为所述FS中的文件头魔数magic数据。6.一种数据访问预...

【专利技术属性】
技术研发人员:李兴亮
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1