System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据处理方法、装置、设备及存储介质制造方法及图纸_技高网

数据处理方法、装置、设备及存储介质制造方法及图纸

技术编号:40876353 阅读:3 留言:0更新日期:2024-04-08 16:45
本申请涉及计算机技术领域,提供一种数据处理方法、装置、设备及存储介质,通过利用确定用于请求目标数据的数据请求访问的目标接口是否标识有注解,响应于目标接口标识有注解,且目标数据对应的缓存开关处于开启状态,启用JVM缓存,并进一步确定JVM缓存中是否已缓存目标数据,响应于JVM缓存中已缓存目标数据,从JVM缓存中获取目标数据,响应于JVM缓存未缓存目标数据,调用被代理对象访问目标接口,以获取目标数据。通过JVM缓存与Redis缓存构成二级缓存,缓解了数据库的访问压力,增强了程序的健壮性和提升了程序性能。此外,通过对JVM缓存进行管理,实现了对JVM缓存的可扩展性、可插拔性和可监控性。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种数据处理方法、装置、设备及存储介质


技术介绍

1、随着供应商业务的增长,并发的数据请求个数越来越多,软件架构越来越复杂,导致数据库的访问压力也越来越大,因此,亟需一种缓解数据库访问压力的数据缓存方法。

2、相关技术中,通常通过将数据库中的部分数据缓存到远程字典服务(remotedictionary server,简称redis)中,这样可以使一些数据请求访问redis,以缓解数据库的访问压力,但不能满足无限增加的数据请求个数导致数据库访问压力大的问题。


技术实现思路

1、本申请提供一种数据处理方法、装置、设备及存储介质,用以解决无限增加的数据请求个数导致数据库访问压力大的问题。

2、第一方面,本申请提供一种数据处理方法,包括:

3、接收数据请求,该数据请求用于请求目标数据;

4、确定数据请求访问的目标接口是否标识有注解,该注解用于指示目标接口需要启用jvm缓存的信息;

5、响应于目标接口标识有注解,且目标数据对应的缓存开关处于开启状态,确定jvm缓存中是否已缓存目标数据;

6、响应于jvm缓存中已缓存目标数据,从jvm缓存中获取目标数据;响应于jvm缓存未缓存目标数据,调用被代理对象访问目标接口,以获取目标数据;

7、其中,jvm缓存中的缓存数据包括不同类型的数据,每个类型的数据配置有对应的缓存开关和缓存大小,缓存开关的开关状态用于表征是否可从jvm缓存中获取数据。</p>

8、一种可能的实现方式中,从jvm缓存中获取目标数据,包括:

9、从缓存代理工厂组件确定目标数据的数据类型;

10、根据数据类型,通过资源库实现类从caffeine实例中获取目标数据,该caffeine实例是通过jvm缓存实现类生成的。

11、一种可能的实现方式中,调用被代理对象访问目标接口,以获取目标数据,包括:

12、通过被代理对象访问redis缓存,以确定redis缓存中是否已缓存目标数据;

13、若redis缓存中已缓存目标数据,则从redis缓存中获取目标数据;

14、若redis缓存中未缓存目标数据,则通过被代理对象访问第一数据库,以从第一数据库中获取目标数据,并将目标数据存储在redis缓存中。

15、一种可能的实现方式中,该数据处理方法还包括:

16、当第一数据库对应的数据发生改变时,通过消息队列mq发送集群消息清理jvm缓存的数据。

17、一种可能的实现方式中,该数据处理方法还包括:

18、在调用被代理对象访问目标接口获取目标数据之后,将目标数据存储至jvm缓存。

19、一种可能的实现方式中,该数据处理方法还包括:

20、在服务器启动时,启动jvm缓存服务,jvm缓存服务用于加载jvm缓存的文件包和缓存配置文件,并根据缓存配置文件确定每种类型数据对应的缓存开关和缓存大小,以及,基于缓存开关和缓存大小,通过caffeine实例初始化jvm缓存;在加载文件包时,通过注解或者可扩展标记语言将本地缓存配置类配置为bean容器。

21、一种可能的实现方式中,该数据处理方法还包括:

22、采用缓存定时信息统计处理器,对不同类型的jvm缓存数据的调用信息进行统计处理,得到统计信息;

23、将统计信息同步或异步写入第二数据库进行存储。

24、第二方面,本申请提供一种数据处理装置,包括:

25、接收模块,用于接收数据请求,该数据请求用于请求目标数据;

26、第一确定模块,用于确定数据请求访问的目标接口是否标识有注解,该注解用于指示目标接口需要启用jvm缓存的信息;

27、第二确定模块,用于响应于目标接口标识有注解,且目标数据对应的缓存开关处于开启状态,确定jvm缓存中是否已缓存目标数据;

28、获取模块,用于响应于jvm缓存中已缓存目标数据,从jvm缓存中获取目标数据;响应于jvm缓存未缓存目标数据,调用被代理对象访问目标接口,以获取目标数据;

29、其中,jvm缓存中的缓存数据包括不同类型的数据,每个类型的数据配置有对应的缓存开关和缓存大小,缓存开关的开关状态用于表征是否可从jvm缓存中获取数据。

30、一种可能的实现方式中,获取模块具体用于:

31、从缓存代理工厂组件确定目标数据的数据类型;

32、根据数据类型,通过资源库实现类从caffeine实例中获取目标数据,该caffeine实例是通过jvm缓存实现类生成的。

33、一种可能的实现方式中,获取模块还可以用于:

34、通过被代理对象访问redis缓存,以确定redis缓存中是否已缓存目标数据;

35、若redis缓存中已缓存目标数据,则从redis缓存中获取目标数据;

36、若redis缓存中未缓存目标数据,则通过被代理对象访问第一数据库,以从第一数据库中获取目标数据,并将目标数据存储在redis缓存中。

37、一种可能的实现方式中,该数据处理装置还包括清理模块,该清理模块用于:

38、当第一数据库对应的数据发生改变时,通过消息队列mq发送集群消息清理jvm缓存的数据。

39、一种可能的实现方式中,该数据处理装置还包括存储模块,该存储模块用于:

40、在调用被代理对象访问目标接口获取目标数据之后,将目标数据存储至jvm缓存。

41、一种可能的实现方式中,该数据处理装置还包括加载模块,该加载模块用于:

42、在服务器启动时,启动jvm缓存服务,jvm缓存服务用于加载jvm缓存的文件包和缓存配置文件,并根据缓存配置文件确定每种类型数据对应的缓存开关和缓存大小,以及,基于缓存开关和缓存大小,通过caffeine实例初始化jvm缓存;在加载文件包时,通过注解或者可扩展标记语言将本地缓存配置类配置为bean容器。

43、一种可能的实现方式中,该数据处理装置还包括统计处理模块,该统计处理模块用于:

44、采用缓存定时信息统计处理器,对不同类型的jvm缓存数据的调用信息进行统计处理,得到统计信息;

45、将统计信息同步或异步写入第二数据库进行存储。

46、第三方面,本申请提供一种电子设备,包括:

47、至少一个处理器;

48、以及与至少一个处理器连接的存储器;

49、其中,存储器用于存储至少一个处理器可执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面提供的数据处理方法。

50、第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行,以实现第一方面提供的数据处理方法。

51、第五方面,本申请本文档来自技高网...

【技术保护点】

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的数据处理方法,其特征在于,所述从所述JVM缓存中获取所述目标数据,包括:

3.根据权利要求1所述的数据处理方法,其特征在于,所述调用被代理对象访问所述目标接口,以获取所述目标数据,包括:

4.根据权利要求3所述的数据处理方法,其特征在于,还包括:

5.根据权利要求1至4中任一项所述的数据处理方法,其特征在于,还包括:

6.根据权利要求1至4中任一项所述的数据处理方法,其特征在于,还包括:

7.根据权利要求1至4中任一项所述的数据处理方法,其特征在于,还包括:

8.一种数据处理装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被执行时用于实现如权利要求1至7中任一项所述的数据处理方法。

【技术特征摘要】

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的数据处理方法,其特征在于,所述从所述jvm缓存中获取所述目标数据,包括:

3.根据权利要求1所述的数据处理方法,其特征在于,所述调用被代理对象访问所述目标接口,以获取所述目标数据,包括:

4.根据权利要求3所述的数据处理方法,其特征在于,还包括:

5.根据权利要求1至4中任一项所述的数据处理方法,其特征在于,还包括:

<...

【专利技术属性】
技术研发人员:李俊贤
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:

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

1