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

技术编号:36919893 阅读:17 留言:0更新日期:2023-03-22 18:43
本申请提供一种数据访问方法及装置,涉及数据存储领域,用于降低访问错误的可能性、降低访问时延。该方法包括:获取第一读请求。该第一读请求用于读取第一用户数据。确定第一用户数据对应的第一访问参数。第一访问参数用于指示第一访问参数对应的一个或多个用户数据在缓存中的元数据是否可用。根据第一访问参数,从缓存中或者从缓存外的其他存储位置中,获取第一用户数据对应的元数据。利用第一用户数据对应的元数据,读取第一用户数据。读取第一用户数据。读取第一用户数据。

【技术实现步骤摘要】
数据访问方法及装置


[0001]本申请涉及数据存储领域,尤其涉及一种数据访问方法及装置。

技术介绍

[0002]目前,在计算侧主机利用存储系统来存储数据的场景下,为了降低访问数据的时延,可以在计算侧主机的缓存中记录下存储系统中数据的元数据(例如数据在存储系统中的地址等)。这样一来,当计算侧主机访问数据时,计算侧主机可以不用先从存储系统的元数据节点中获取数据的元数据,而是可以直接从缓存中获取到待访问数据的元数据,并利用该元数据完成数据访问,从而降低访问时延。
[0003]但当存储系统中数据的元数据发生改变,而计算侧主机的缓存中的元数据未同步改变的情况下,就可能出现访问错误的问题。

技术实现思路

[0004]本申请提供一种数据访问方法及装置,解决了由于缓存中记录的元数据与存储系统中数据实际的元数据不一致导致的访问错误的问题。
[0005]为达到上述目的,本申请采用如下技术方案:
[0006]第一方面,提供一种数据访问方法,该方法包括:获取第一读请求。该第一读请求用于读取第一用户数据。确定第一用户数据对应的第一访问参数。第一访问参数用于指示第一访问参数对应的一个或多个用户数据在缓存中的元数据是否可用。根据第一访问参数,从缓存中或者从缓存外的其他存储位置中,获取第一用户数据对应的元数据。利用第一用户数据对应的元数据,读取第一用户数据。本申请上述方法中通过设置一种访问参数(即第一访问参数),该访问参数能够指示缓存中的元数据是否可用。例如,当用户数据发生改变并且未针对缓存中该用户数据的元数据执行失效缓存(此时缓存中元数据与实际元数据不一致)时,则该访问参数标记为不可用;反之,当缓存中元数据与实际元数据一致时,则该访问参数标识为可用。然后在访问过程中,可以先获取本次访问对应的访问参数,以确定缓存中的元数据是否可用。若可用,则优先从缓存中查找元数据,若不可用则直接跳过缓存从元数据节点获取元数据。这样一来,便可以避免由于缓存中元数据与实际元数据不一致而导致访问失败的问题。
[0007]在一种实现方式中,该方法还包括:在第一用户数据发生改变的情况下,对第一访问参数进行预设处理,以使第一访问参数指示一个或多个用户数据在缓存中的元数据不可用。上述实现方式中,在第一用户数据发生改变时,可以避免因缓存中元数据与实际元数据不一致而导致访问失败的问题。
[0008]在一种实现方式中,该方法还包括:对缓存中第一用户数据对应的元数据完成缓存失效后,对第一访问参数进行预设处理的逆处理。上述实现方式中,在对缓存中第一用户数据对应的元数据完成缓存失效后,通过对第一访问参数进行预设处理的逆处理,从而使第一访问参数可以恢复到预设处理之前的状态,其中当第一访问参数恢复到指示缓存中元
数据可用的状态后,在后续访问过程中便可以从缓存中获取第一用户数据的元数据。
[0009]在一种实现方式中,对第一访问参数进行预设处理,包括:对第一访问参数进行第一运算,其中第一运算包括增加或减小第一预设值。对第一访问参数进行预设处理的逆处理,包括:对第一访问参数进行第一运算的逆运算。通过上述实现方式,可以在第一用户数据发生改变时,通过对第一访问参数进行第一运算,从而改变第一访问参数的值,以便使第一访问参数的值指示缓存中的元数据不可用。并在对缓存中第一用户数据对应的元数据完成缓存失效后通过对第一访问参数进行逆运算,以使第一访问参数可以恢复到预设处理之前的状态,其中当第一访问参数恢复到指示缓存中元数据可用的状态后,在后续访问过程中便可以从缓存中获取第一用户数据的元数据。
[0010]在一种实现方式中,该方法还包括:确定第一用户数据对应的第二访问参数。第二访问参数用于指示第一访问参数对应的用户数据中,在缓存中记录有元数据的用户数据的个数。根据第一访问参数,从缓存中或者从缓存外的其他存储位置中,获取第一用户数据对应的元数据,包括:根据第一访问参数和第二访问参数,从缓存中或者从缓存外的其他存储位置中,获取第一用户数据对应的元数据。通过上述实现方式,在读取第一用户数据的过程中,可以先根据第二访问参数确定缓存中是否可能记录有第一用户数据的元数据(具体的,当第二访问参数所指示的“个数”为零时,即说明缓存中没有第一用户数据的元数据;当第二访问参数所指示的“个数”不为零时,即说明缓存中可能记录有第一用户数据的元数据)。在根据第二访问参数确定缓存中可能记录有第一用户数据的元数据后,再根据第一访问参数确定从缓存或从缓存外的存储空间获取元数据。从而可以提高访问速度。
[0011]在一种实现方式中,第一读请求中携带有第一用户数据的标识。确定第一用户数据对应的第一访问参数,包括:根据预设哈希函数,计算第一用户数据的标识的哈希值。根据哈希值中的第一部分数值,从多个访问参数集合中,确定第一访问参数集合;其中,多个访问参数集合中分别包括一个或多个用户数据对应的第一访问参数;根据哈希值中除第一部分数值外的第二部分数值,从第一访问参数集合中,获取第二部分数值所对应的第一访问参数。上述实现方式中,通过达到利用第一用户数据的标识的一种哈希值,完成两次查找步骤(即利用哈希值的第一部分数值从多个访问参数集合中确定第一访问参数集合,以及根据哈希值的第二部分数值从第一访问参数集合中获取第二部分数值所对应的第一访问参数),从而提高访问速度。
[0012]第二方面,提供一种数据访问装置,包括:访问单元,用于获取第一读请求。第一读请求用于读取第一用户数据。过滤单元,用于确定第一用户数据对应的第一访问参数。第一访问参数用于指示第一访问参数对应的一个或多个用户数据在缓存中的元数据是否可用。访问单元,还用于根据第一访问参数,从缓存中或者从缓存外的其他存储位置中,获取第一用户数据对应的元数据。访问单元,用于利用第一用户数据对应的元数据,读取第一用户数据。
[0013]在一种实现方式中,过滤单元,还用于在第一用户数据发生改变的情况下,对第一访问参数进行预设处理,以使第一访问参数指示一个或多个用户数据在缓存中的元数据不可用。
[0014]在一种实现方式中,过滤单元,还用于对缓存中第一用户数据对应的元数据完成缓存失效后,对第一访问参数进行预设处理的逆处理。
[0015]在一种实现方式中,对第一访问参数进行预设处理,包括:对第一访问参数进行第一运算;第一运算包括增加或减小第一预设值。对第一访问参数进行预设处理的逆处理,包括:对第一访问参数进行第一运算的逆运算。
[0016]在一种实现方式中,过滤单元,还用于确定第一用户数据对应的第二访问参数;第二访问参数用于指示第一访问参数对应的用户数据中,在缓存中记录有元数据的用户数据的个数。访问单元,还用于根据第一访问参数,从缓存中或者从缓存外的其他存储位置中,获取第一用户数据对应的元数据,包括:访问单元,还用于根据第一访问参数和第二访问参数,从缓存中或者从缓存外的其他存储位置中,获取第一用户数据对应的元数据。
[0017]在一种实现方式中,第一读请求中携带有第一用户数据的标识。过滤单元,用于确定第一用户数据对应的第一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据访问方法,其特征在于,包括:获取第一读请求;所述第一读请求用于读取第一用户数据;确定所述第一用户数据对应的第一访问参数;所述第一访问参数用于指示所述第一访问参数对应的一个或多个用户数据在缓存中的元数据是否可用;根据所述第一访问参数,从所述缓存中或者从所述缓存外的其他存储位置中,获取所述第一用户数据对应的元数据;利用所述第一用户数据对应的元数据,读取所述第一用户数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述第一用户数据发生改变的情况下,对所述第一访问参数进行预设处理,以使所述第一访问参数指示所述一个或多个用户数据在缓存中的元数据不可用。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:对所述缓存中所述第一用户数据对应的元数据完成缓存失效后,对所述第一访问参数进行所述预设处理的逆处理。4.根据权利要求3所述的方法,其特征在于,所述对所述第一访问参数进行预设处理,包括:对所述第一访问参数进行第一运算;所述第一运算包括增加或减小第一预设值;所述对所述第一访问参数进行所述预设处理的逆处理,包括:对所述第一访问参数进行第一运算的逆运算。5.根据权利要求1

4任一项所述的方法,其特征在于,所述方法还包括:确定所述第一用户数据对应的第二访问参数;所述第二访问参数用于指示所述第一访问参数对应的用户数据中,在所述缓存中记录有元数据的用户数据的个数;所述根据所述第一访问参数,从所述缓存中或者从所述缓存外的其他存储位置中,获取所述第一用户数据对应的元数据,包括:根据所述第一访问参数和所述第二访问参数,从所述缓存中或者从所述缓存外的其他存储位置中,获取所述第一用户数据对应的元数据。6.根据权利要求1

5任一项所述的方法,其特征在于,所述第一读请求中携带有所述第一用户数据的标识;所述确定所述第一用户数据对应的第一访问参数,包括:根据预设哈希函数,计算所述第一用户数据的标识的哈希值;根据所述哈希值中的第一部分数值,从多个访问参数集合中,确定第一访问参数集合;其中,多个访问参数集合中分别包括一个或多个用户数据对应的第一访问参数;根据所述哈希值中除所述第一部分数值外的第二部分数值,从所述第一访问参数集合中,获取所述第二部分数值所对应的第一访问参数。7.一种数据访问装置,其特征在于,包括:访问单元,用于获取第一读请求;所述第一读请求用于读取第一用户数据;过滤单元,用于确定所述第一用户数据对应的第一访问参数;所述第一访问参数用于指示所述第一访问参数对应的一个或多个用户数据在缓存中的元数据是否可用;所述访问单元,还用于根据所述第一访问参数,从所述缓存中或者从所述缓存外的其他存储位置中,获取所述第一用户数据对应的元数据;所述访问单元,用于利用所述第一用户数据对应的元数据,读取所述第一用户数据。
8....

【专利技术属性】
技术研发人员:万明祥任仁叶利杰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1