技术新讯 > 计算推算,计数设备的制造及其应用技术 > 数据请求处理方法、装置及计算设备与流程  >  正文

数据请求处理方法、装置及计算设备与流程

  • 国知局
  • 2024-11-06 14:46:58

本技术涉及计算机,具体涉及一种数据请求处理方法、装置、计算设备、计算机存储介质及计算机程序产品。

背景技术:

1、目前,数据访问服务在提供相关服务时,会通过缓存加数据库的两层存储架构来提供稳定而高效的服务,数据存储在不同的存储层时,数据请求的响应时长也是不一样的。

2、在现有的基于两层存储架构的数据访问服务中,从数据库查询到的数据都会更新到缓存中,由于缓存集群规模存在限制,这种方式只适用于小数据规模的场景,如果业务场景的数据库规模非常大,则无法将数据全部存储在缓存层以加速服务响应,这就导致了一部分数据存储在缓存中,另一部分数据存储在数据库中。而缓存的容量远小于数据库的容量,因此需要一套数据替换策略来管理存储在缓存中的数据。

3、目前,常用的缓存数据管理策略有lru(last recently used,替换掉最长时间未访问的数据)策略和lfu(last frequently used,替换掉访问次数最少的数据)策略,但这两种策略中,都不能保证从缓存中删除的数据是请求数据库的耗时较短的数据,会存在将请求数据库的耗时较长的数据从缓存中清除的问题,从而会导致平均响应时间增加,无法达到最大化利用缓存能够加速数据访问的优势的效果。

技术实现思路

1、鉴于上述问题,提出了本技术以便提供一种克服上述问题或者至少部分地解决上述问题的数据请求处理方法、装置、计算设备、计算机存储介质及计算机程序产品。

2、根据本技术的一个方面,提供了数据请求处理方法,包括:

3、接收用于获取目标数据的数据请求后,查询缓存内是否存储目标数据;

4、若缓存内未存储目标数据,向数据库请求目标数据;

5、若缓存的剩余容量小于目标数据的数据大小,根据目标数据对应的请求数据库耗时,确定是否将目标数据写入缓存;

6、若确定将目标数据写入缓存,将缓存内的待删除数据进行删除;

7、将目标数据写入缓存,以便从缓存中获取目标数据并返回给数据请求的发起者。

8、可选地,将缓存内的待删除数据进行删除之前,方法包括:

9、根据缓存的剩余容量以及目标数据的数据大小,确定需求缓存容量;

10、根据需求缓存容量以及缓存内存储的数据的占用容量,从缓存内存储的数据中筛选待删除数据。

11、可选地,根据目标数据对应的请求数据库耗时,确定是否将目标数据写入缓存进一步包括:

12、获取最小请求数据库耗时,最小请求数据库耗时为缓存中当前存储的数据对应的请求数据库耗时中最小的请求数据库耗时;

13、将最小请求数据库耗时与目标数据对应的请求数据库耗时进行比对;根据比对结果确定是否将目标数据写入缓存;

14、其中,若目标数据对应的请求数据库耗时未超过最小请求数据库耗时,确定不将目标数据写入缓存;若目标数据对应的请求数据库耗时超过最小请求数据库耗时,确定将目标数据写入缓存。

15、可选地,根据需求缓存容量以及缓存内存储的数据的占用容量,从缓存内存储的数据中筛选待删除数据进一步包括:

16、步骤s1:将缓存中当前存储的各个数据对应的各个请求数据库耗时按照从小到大的顺序进行排序;

17、步骤s2:若第1位的请求数据库耗时对应的数据的占用容量未达到需求缓存容量,令i=2,跳转执行步骤s3;

18、步骤s3:计算第1位到第i位的请求数据库耗时对应的各个数据的占用容量累加和;

19、步骤s4:判断占用容量累加和是否达到需求缓存容量;若是,执行步骤s5;若否,执行步骤s6;

20、步骤s5:将第1位到第i位的请求数据库耗时对应的数据确定为待删除数据,停止筛选;

21、步骤s6:将i赋值为i+1,跳转执行步骤s3。

22、可选地,缓存中当前存储的数据所对应的关键信息记录在全局链表中;关键信息包括请求数据库耗时;

23、获取最小请求数据库耗时进一步包括:从全局链表中读取最小请求数据库耗时;

24、将缓存内的待删除数据进行删除之后,方法进一步包括:将待删除数据对应的关键信息从全局链表中进行删除;

25、将目标数据写入缓存之后,方法进一步包括:将目标数据对应的关键信息记录到全局链表中。

26、可选地,关键信息还包括:存储行位置信息;将缓存内的待删除数据进行删除之前,方法进一步包括:

27、从全局链表中读取待删除数据的目标存储行位置信息,根据目标存储行位置信息定位待删除数据。

28、可选地,根据目标数据对应的请求数据库耗时,确定是否将目标数据写入缓存进一步包括:

29、将目标数据对应的请求数据库耗时与预设响应时间阈值进行比对,根据比对结果确定是否将目标数据写入缓存;

30、其中,若目标数据对应的请求数据库耗时达到预设响应时间阈值,确定将目标数据写入缓存;若目标数据对应的请求数据库耗时未达到预设响应时间阈值,确定不将目标数据写入缓存。

31、可选地,方法进一步包括:

32、若缓存的剩余容量大于或等于目标数据的数据大小,将目标数据对应的请求数据库耗时与预设响应时间阈值进行比对;

33、若目标数据对应的请求数据库耗时达到预设响应时间阈值,将目标数据写入缓存,以便从缓存中获取目标数据并返回给数据请求的发起者;

34、若目标数据对应的请求数据库耗时未达到预设响应时间阈值,将目标数据返回给数据请求的发起者。

35、可选地,将缓存内的待删除数据进行删除之前,方法进一步包括:

36、从缓存内所存储的数据中,通过随机筛选的方式筛选待删除数据。

37、可选地,将目标数据对应的请求数据库耗时与预设响应时间阈值进行比对之前,方法进一步包括:

38、根据各个历史数据请求及其对应的请求数据库耗时,确定请求数量比例到请求数据库耗时的映射关系;

39、计算缓存的总容量与数据库的总容量的比值,根据比值与映射关系进行计算,根据计算结果确定预设响应时间阈值。

40、根据本技术的另一方面,提供了数据请求处理装置,包括:

41、查询模块,适于在接收用于获取目标数据的数据请求后查询缓存内是否存储目标数据;若缓存内未存储目标数据,向数据库请求目标数据;

42、决策模块,适于若缓存的剩余容量小于目标数据的数据大小,根据目标数据对应的请求数据库耗时,确定是否将目标数据写入缓存;

43、处理模块,适于若确定将目标数据写入缓存,将缓存内的待删除数据进行删除;将目标数据写入缓存,以便从缓存中获取目标数据并返回给数据请求的发起者。

44、可选地,装置还包括:

45、筛选模块,适于根据缓存的剩余容量以及目标数据的数据大小,确定需求缓存容量;根据需求缓存容量以及缓存内存储的数据的占用容量,从缓存内存储的数据中筛选待删除数据。

46、可选地,决策模块进一步适于:

47、获取最小请求数据库耗时,最小请求数据库耗时为缓存中当前存储的数据对应的请求数据库耗时中最小的请求数据库耗时;

48、将最小请求数据库耗时与目标数据对应的请求数据库耗时进行比对;根据比对结果确定是否将目标数据写入缓存;

49、其中,若目标数据对应的请求数据库耗时未超过最小请求数据库耗时,确定不将目标数据写入缓存;若目标数据对应的请求数据库耗时超过最小请求数据库耗时,确定将目标数据写入所述缓存。

50、可选地,筛选模块进一步适于执行以下步骤:

51、步骤s1:将缓存中当前存储的各个数据对应的各个请求数据库耗时按照从小到大的顺序进行排序;

52、步骤s2:若第1位的请求数据库耗时对应的数据的占用容量未达到需求缓存容量,令i=2,跳转执行步骤s3;

53、步骤s3:计算第1位到第i位的请求数据库耗时对应的各个数据的占用容量累加和;

54、步骤s4:判断占用容量累加和是否达到需求缓存容量;若是,执行步骤s5;若否,执行步骤s6;

55、步骤s5:将第1位到第i位的请求数据库耗时对应的数据确定为待删除数据,停止筛选;

56、步骤s6:将i赋值为i+1,跳转执行步骤s3。

57、可选地,缓存中当前存储的数据所对应的关键信息记录在全局链表中;关键信息包括请求数据库耗时;

58、决策模块进一步适于:从全局链表中读取最小请求数据库耗时;

59、处理模块进一步适于:在将缓存内的待删除数据进行删除之后,将待删除数据对应的关键信息从全局链表中进行删除;

60、以及,在将目标数据写入缓存之后,将目标数据对应的关键信息记录到全局链表中。

61、可选地,关键信息还包括:存储行位置信息;

62、处理模块进一步适于:从全局链表中读取待删除数据的目标存储行位置信息,根据目标存储行位置信息定位待删除数据。

63、可选地,决策模块进一步适于:

64、将目标数据对应的请求数据库耗时与预设响应时间阈值进行比对,根据比对结果确定是否将目标数据写入所述缓存;

65、其中,若目标数据对应的请求数据库耗时达到预设响应时间阈值,确定将目标数据写入缓存;若目标数据对应的请求数据库耗时未达到预设响应时间阈值,确定不将目标数据写入缓存。

66、可选地,决策模块进一步适于:若缓存的剩余容量大于或等于目标数据的数据大小,将目标数据对应的请求数据库耗时与预设响应时间阈值进行比对;

67、处理模块进一步适于:若目标数据对应的请求数据库耗时达到预设响应时间阈值,将目标数据写入缓存,以便从缓存中获取目标数据并返回给数据请求的发起者;若目标数据对应的请求数据库耗时未达到预设响应时间阈值,将目标数据返回给数据请求的发起者。

68、可选地,筛选模块进一步适于:从缓存内所存储的数据中,通过随机筛选的方式筛选待删除数据。

69、可选地,装置进一步包括:配置模块,适于根据各个历史数据请求及其对应的请求数据库耗时,确定请求数量比例到请求数据库耗时的映射关系;计算缓存的总容量与数据库的总容量的比值,根据比值与映射关系进行计算,根据计算结果确定预设响应时间阈值。

70、根据本技术的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

71、所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述数据请求处理方法对应的操作。

72、根据本技术的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述数据请求处理方法对应的操作。

73、根据本技术的还一方面,提供了一种计算机程序产品,包括至少一可执行指令,所述可执行指令使处理器执行如上述数据请求处理方法对应的操作。

74、根据本技术实施例提供的数据请求处理方法、装置、计算设备、计算机存储介质及计算机程序产品,方法包括:接收用于获取目标数据的数据请求后,查询缓存内是否存储目标数据;若缓存内未存储目标数据,向数据库请求目标数据;若缓存的剩余容量小于目标数据的数据大小,根据目标数据对应的请求数据库耗时,确定是否将目标数据写入缓存;若确定将目标数据写入缓存,将缓存内的待删除数据进行删除;将目标数据写入缓存,以便从缓存中获取目标数据并返回给数据请求的发起者。通过上述方式,将请求数据库耗时作为判断从数据库中查询到的数据是否有必要写入到缓存的依据,在缓存管理中充分考虑数据的请求数据库耗时,能够简化缓存管理策略,能够最大化利用缓存的能够加速数据访问的优势,进而能够缩短数据访问的平均响应时间。

75、进一步地,如果目标数据对应的请求数据库耗时比最小请求数据库耗时都小,说明向数据库请求目标数据的耗时较短,无需写入到缓存中,反之,如果目标数据对应的请求数据库耗时比最小请求数据库耗时大,说明向数据库请求目标数据的耗时较长,需要写入到缓存中以便加快后续请求的响应速度,通过这种方式,能够保证请求数据库耗时较长的数据都存在缓存中,请求数据库耗时较短的数据存储在数据库中,从而能够缩短数据访问的平均响应时间,能够充分利用缓存的能够提高响应速度的优势。

76、进一步地,根据缓存的剩余容量和目标数据的数据大小,计算需求缓存容量,以该需求缓存容量为依据筛选待删除数据,保证清理后的缓存足以存储目标数据即可,避免删除缓存中过多的数据而导致的后续过程中的查询数据库的次数增加以及平均响应时间增加的问题。

77、进一步地,在保证清理后的缓存足以存储目标数据的前提下,优先选取缓存中请求数据库时耗时较短的数据进行删除,避免将缓存中请求数据库时耗时较长的数据进行删除,保证请求数据库时耗时较长的数据都存储在缓存中,从而能够有效缩短数据访问的平均响应时间,提升整体响应速度。

78、进一步地,通过在全局链表中记录缓存中存储的数据所对应的关键信息,通过读取全局链表所记录的信息,能够快速完成目标数据写入缓存的必要性判断、待删除数据的筛选以及待删除数据的定位等等,有效提升了处理效率。

79、进一步地,若请求数据库耗时达到预设响应时间阈值则确定将目标数据写入缓存,若请求数据库耗时未达到预设响应时间阈值则确定不将目标数据写入缓存,通过这种方式,将请求数据库时的响应时间较长的数据都写入缓存中,从而能够缩短数据访问的平均响应时间,最大化利用缓存的能够加速数据访问的优势。

80、进一步地,由于缓存中存储的数据其对应的请求数据库耗时都较长,通过随机方式筛选缓存中的待删除数据,能够提升处理速度。

81、上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。

本文地址:https://www.jishuxx.com/zhuanli/20241106/324120.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。