本发明涉及定时任务,具体的说是一种数据定时加载更新的实现方法及装置。
背景技术:
1、在视频云平台功能的日常开发中会经常碰到这样一种场景:需要推送前端监控设备上报的告警数据给向本视频云平台订阅了此前端监控设备告警数据的上级视频云平台。在正常工作的情况下,这些前端监控设备会往本视屏云平台上报告警数据,本视频云平台在接收到前端监控设备的上报的告警数据后,从数据库查询订阅相关的数据,根据订阅信息校验判断需不需要通知此设备的告警数据给相关上级视频云平台,整个数据流转过程看似没有什么大的问题,但是随着本视频云平台接入的前端监控设备数量与日俱增,最终量级也会愈发的庞大。这些数量庞大的前端监控设备会很频繁地向本视频云平台上报告警数据,最终达到每秒钟向本视频云平台上报的告警数据的并发请求数量至少也数以百计,在这样的场景下,如果还是按照上述在每接收到一个前端监控设备上报告警数据过来的请求时都去查询一次数据库订阅相关的数据,势必会对数据库造成比较大的读压力,并最终有可能会压垮数据库,影响本视频云平台服务的稳定性。
技术实现思路
1、本发明针对目前技术发展的需求和不足之处,提供一种数据定时加载更新的实现方法及装置、介质、设备,适用于需要减轻频繁读取数据库对数据库造成较大读压力的业务场景,减轻了对数据库的读取压力,保障了视频云平台服务的稳定。
2、第一方面,本发明提供一种数据定时加载更新的实现方法,解决上述技术问题采用的技术方案如下:
3、一种数据定时加载更新的实现方法,该方法通过定时器触发定时任务,通过数据加载更新任务执行器执行数据加载和缓存更新的定时任务,其中,定时器的定时功能由jdk基础组件timer实现,数据加载更新任务执行器的执行和缓存功能由jdk基础组件executorservice和concurrenthashmap实现。
4、可选的,所涉及定时器的实现原理为:
5、在服务启动时,对jdk基础组件timer进行定时参数设置,设置的定时参数包括初始触发间隔时间和后续定时触发间隔时间。
6、进一步可选的,所涉及定时器被触发时,将数据加载封装成一个定时任务交给数据加载更新任务执行器。
7、可选的,所涉及数据加载更新任务执行器的实现原理为:
8、在接收到定时器的任务通知时,executorservice会启动一个工作线程来执行数据加载更新的任务,从数据源读取最新数据,替换更新缓存concurrenthashmap中的旧数据。
9、第二方面,本发明提供一种数据定时加载更新的实现装置,解决上述技术问题采用的技术方案如下:
10、一种数据定时加载更新的实现装置,其包括定时器和数据加载更新任务执行器,其中:
11、定时器由jdk基础组件timer实现定时功能,用户通过定时器设置定时周期,进而触发定时任务;
12、数据加载更新任务执行器由jdk基础组件executorservice和concurrenthashmap实现执行和缓存功能,通过数据加载更新任务执行器执行数据加载和缓存更新的定时任务。
13、可选的,所涉及定时器的实现原理为:
14、在服务启动时,对jdk基础组件timer进行定时参数设置,设置的定时参数包括初始触发间隔时间和后续定时触发间隔时间。
15、进一步可选的,所涉及定时器被触发时,将数据加载封装成一个定时任务交给数据加载更新任务执行器。
16、可选的,所涉及数据加载更新任务执行器的实现原理为:
17、在接收到定时器的任务通知时,executorservice会启动一个工作线程来执行数据加载更新的任务,从数据源读取最新数据,替换更新缓存concurrenthashmap中的旧数据。
18、第三方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现第一方面所述的方法。
19、第四方面,本发明提供一种计算设备,其包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。
20、本发明的一种数据定时加载更新的实现方法及装置,与现有技术相比具有的有益效果是:
21、1、本发明将需要使用的数据定时从数据库加载更新到缓存中等候使用,将从数据库读取数据优化成从缓存中读取数据,减轻了对数据库的读取压力,保障本视频云平台服务的稳定。
22、2、本发明通过jdk基础组件timer、executorservice和concurrenthashmap实现了数据的定时加载更新,有效地减轻了在需要频繁从数据库读取记录时这种业务场景中对数据库的读压力,为后面更大量级的数据库读取场景压力减少提供了强有效的解决方法。
1.一种数据定时加载更新的实现方法,其特征在于,该方法通过定时器触发定时任务,通过数据加载更新任务执行器执行数据加载和缓存更新的定时任务,其中,定时器的定时功能由jdk基础组件timer实现,数据加载更新任务执行器的执行和缓存功能由jdk基础组件executorservice和concurrenthashmap实现。
2.根据权利要求1所述的一种数据定时加载更新的实现方法,其特征在于,所述定时器的实现原理为:
3.根据权利要求2所述的一种数据定时加载更新的实现方法,其特征在于,定时器被触发时,将数据加载封装成一个定时任务交给数据加载更新任务执行器。
4.根据权利要求1所述的一种数据定时加载更新的实现方法,其特征在于,所述数据加载更新任务执行器的实现原理为:
5.一种数据定时加载更新的实现装置,其特征在于,其包括定时器和数据加载更新任务执行器,其中:
6.根据权利要求5所述的一种数据定时加载更新的实现装置,其特征在于,所述定时器的实现原理为:
7.根据权利要求6所述的一种数据定时加载更新的实现装置,其特征在于,定时器被触发时,将数据加载封装成一个定时任务交给数据加载更新任务执行器。
8.根据权利要求5所述的一种数据定时加载更新的实现装置,其特征在于,所述数据加载更新任务执行器的实现原理为:
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现权利要求1~4中任一项所述的方法。
10.一种计算设备,其特征在于,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1~4中任一项所述的方法。
