基于链表逆序读取的数据缓存方法、装置、设备及介质制造方法及图纸

技术编号:23084994 阅读:14 留言:0更新日期:2020-01-11 01:07
本申请公开了一种基于链表逆序访问的数据缓存方法,包括:预先根据链表中的链表节点的大小和缓存空间的大小计算出预读节点个数;根据预读节点个数将链表划分为对应的表段;当接收到数据访问请求时,判断与数据访问请求对应的目标链表节点的数据信息是否缓存在缓存空间中;若否,则根据目标链表节点确定出对应的目标表段,并将目标表段中的各链表节点的数据信息缓存至缓存空间中。本方法实现在链表逆序访问的过程中,预先将下次可能被访问的数据信息提前从内存缓存至缓存中,通过提高缓存命中率的方式提高数据访问的效率。本申请还公开了一种基于链表逆序访问的数据缓存装置、设备及存储介质,均具有上述有益效果。

Data caching method, device, device and medium based on reverse reading of linked list

【技术实现步骤摘要】
基于链表逆序读取的数据缓存方法、装置、设备及介质
本专利技术涉及数据缓存领域,特别涉及一种基于链表逆序读取的数据缓存方法、装置、设备及计算机可读存储介质。
技术介绍
在存储设备中,CPU承担着解包、读盘、写盘的操作。由于单位时间内CPU需要处理的IO数量巨大,因此CPU面临着巨大的处理量。而为了保障存储设备的性能稳定性,目前一般是通过设置链表的方式进行数据访问。在数据访问的过程中,一般是利用预读机制将内存中的数据信息缓存至缓存空间中,在后续的数据访问过程中,便能够从缓存空间中获取对应的数据信息,从而提升链表顺序访问的数据访问效率。但是这种缓存机制只适用于链表顺序访问的数据缓存中,而在链表逆序访问的过程中,针对每次数据访问请求,均需要从内存中获取数据信息,而每次从内存中读取数据信息的效率远小于从缓存空间中读取数据信息的效率,从而使得数据访问的效率较低。因此,如何提高在链表逆序访问的过程中的数据访问效率,是本领域技术人员目前需要解决的技术问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于链表逆序读取的数据缓存方法,能够提高在链表逆序访问的过程中的数据访问效率;本专利技术的另一目的是提供一种基于链表逆序读取的数据缓存装置、设备及计算机可读存储介质,均具有上述有益效果。为解决上述技术问题,本专利技术提供一种基于链表逆序读取的数据缓存方法,包括:预先根据链表中的链表节点的大小和缓存空间的大小计算出预读节点个数;根据所述预读节点个数将所述链表划分为对应的表段;当接收到数据访问请求时,判断与所述数据访问请求对应的目标链表节点的数据信息是否缓存在所述缓存空间中;若否,则根据所述目标链表节点确定出对应的目标表段,并将所述目标表段中的各链表节点的数据信息缓存至所述缓存空间中。优选地,所述当接收到数据访问请求时,判断与所述数据访问请求对应的目标链表节点的数据信息是否缓存在所述缓存空间中的过程,具体为:预先设置与所述链表对应且包括所述链表中的各所述链表节点的标识信息的节点标识表;其中,各所述标识信息表示各对应的链表节点的数据信息已缓存或未缓存;当接收到所述数据访问请求时,根据所述节点标识表中与所述数据访问请求对应的所述目标链表节点的标识信息判断所述目标链表节点的数据信息是否缓存在所述缓存空间中。优选地,所述当接收到数据访问请求时,判断与所述数据访问请求对应的目标链表节点的数据信息是否缓存在所述缓存空间中的过程,具体为:当接收到所述数据访问请求时,获取所述访问请求中的所述目标链表节点的节点号;判断所述节点号是否能被所述预读节点个数整除;若是,则表示与所述数据访问请求对应的目标链表节点的数据信息没有缓存在所述缓存空间中;若否,则表示与所述数据访问请求对应的目标链表节点的数据信息已经缓存在所述缓存空间中。优选地,所述缓存空间具体为三级缓存空间,对应的,所述根据所述链表节点确定出对应的目标表段,并将所述目标表段中的各链表节点的数据信息缓存至所述缓存空间中具体为:根据所述链表节点确定出对应的目标表段;将所述目标表段中的各链表节点的数据信息缓存至第三级缓存空间中;更新第一级缓存空间和第二级缓存空间。为解决上述技术问题,本专利技术还提供一种基于链表逆序读取的数据缓存装置,包括:计算模块,用于预先根据链表中的链表节点的大小和缓存空间的大小计算出预读节点个数;划分模块,用于根据所述预读节点个数将所述链表划分为对应的表段;判断模块,用于当接收到数据访问请求时,判断与所述数据访问请求对应的目标链表节点的数据信息是否缓存在所述缓存空间中;若否,则执行缓存模块;所述缓存模块,用于根据所述目标链表节点确定出对应的目标表段,并将所述目标表段中的各链表节点的数据信息缓存至所述缓存空间中。优选地,所述判断模块具体包括:获取子模块,用于当接收到所述数据访问请求时,获取所述访问请求中的所述目标链表节点的节点号;判断子模块,用于判断所述节点号是否能被所述预读节点个数整除;若是,则表示与所述数据访问请求对应的目标链表节点的数据信息没有缓存在所述缓存空间中;若否,则表示与所述数据访问请求对应的目标链表节点的数据信息已经缓存在所述缓存空间中。为解决上述技术问题,本专利技术还提供一种基于链表逆序读取的数据缓存设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述任一种基于链表逆序读取的数据缓存方法的步骤。为解决上述技术问题,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种基于链表逆序读取的数据缓存方法的步骤。本专利技术提供的一种基于链表逆序访问的数据缓存方法,通过预先根据链表中的链表节点的大小和缓存空间的大小计算出预读节点个数;并根据预读节点个数将链表划分为对应的表段;当接收到数据访问请求时,判断与数据访问请求对应的目标链表节点的数据信息是否缓存在缓存空间中;若否,则根据目标链表节点确定出对应的目标表段,并将目标表段中的各链表节点的数据信息缓存至缓存空间中。本方法实现在链表逆序访问的过程中,预先将下次可能被访问的数据信息提前从内存缓存至缓存中,因此,当再次接收到数据访问请求时,可以直接从缓存空间获取与访问请求对应的数据信息,通过提高缓存命中率的方式提高数据访问的效率。为解决上述技术问题,本专利技术还提供了一种基于链表逆序读取的数据缓存装置、设备及计算机可读存储介质,均具有上述有益效果。附图说明为了更清楚地说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种基于链表逆序访问的数据缓存方法的流程图;图2为本专利技术实施例提供的一种基于链表逆序访问的数据缓存方法的示意图;图3为本专利技术实施例提供的一种基于链表逆序访问的数据缓存装置的结构图;图4为本专利技术实施例提供的一种基于链表逆序访问的数据缓存设备的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例的核心是提供一种基于链表逆序读取的数据缓存方法,能够提高在链表逆序访问的过程中的数据访问效率;本专利技术的另一核心是提供一种基于链表逆序读取的数据缓存装置、设备及计算机可读存储介质,均具有上述有益效果。为了使本领域技术人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作本文档来自技高网...

【技术保护点】
1.一种基于链表逆序访问的数据缓存方法,其特征在于,包括:/n预先根据链表中的链表节点的大小和缓存空间的大小计算出预读节点个数;/n根据所述预读节点个数将所述链表划分为对应的表段;/n当接收到数据访问请求时,判断与所述数据访问请求对应的目标链表节点的数据信息是否缓存在所述缓存空间中;/n若否,则根据所述目标链表节点确定出对应的目标表段,并将所述目标表段中的各链表节点的数据信息缓存至所述缓存空间中。/n

【技术特征摘要】
1.一种基于链表逆序访问的数据缓存方法,其特征在于,包括:
预先根据链表中的链表节点的大小和缓存空间的大小计算出预读节点个数;
根据所述预读节点个数将所述链表划分为对应的表段;
当接收到数据访问请求时,判断与所述数据访问请求对应的目标链表节点的数据信息是否缓存在所述缓存空间中;
若否,则根据所述目标链表节点确定出对应的目标表段,并将所述目标表段中的各链表节点的数据信息缓存至所述缓存空间中。


2.根据权利要求1所述的方法,其特征在于,所述当接收到数据访问请求时,判断与所述数据访问请求对应的目标链表节点的数据信息是否缓存在所述缓存空间中的过程,具体为:
预先设置与所述链表对应且包括所述链表中的各所述链表节点的标识信息的节点标识表;
其中,各所述标识信息表示各对应的链表节点的数据信息已缓存或未缓存;
当接收到所述数据访问请求时,根据所述节点标识表中与所述数据访问请求对应的所述目标链表节点的标识信息判断所述目标链表节点的数据信息是否缓存在所述缓存空间中。


3.根据权利要求1所述的方法,其特征在于,所述当接收到数据访问请求时,判断与所述数据访问请求对应的目标链表节点的数据信息是否缓存在所述缓存空间中的过程,具体为:
当接收到所述数据访问请求时,获取所述访问请求中的所述目标链表节点的节点号;
判断所述节点号是否能被所述预读节点个数整除;
若是,则表示与所述数据访问请求对应的目标链表节点的数据信息没有缓存在所述缓存空间中;
若否,则表示与所述数据访问请求对应的目标链表节点的数据信息已经缓存在所述缓存空间中。


4.根据权利要求1至3任一项所述的方法,其特征在于,所述缓存空间具体为三级缓存空间,对应的,所述根据所述链表节点确定出对应的目标表段,并将所...

【专利技术属性】
技术研发人员:孙昊
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1