缓存数据读取方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:21140940 阅读:22 留言:0更新日期:2019-05-18 05:07
本申请涉及一种基于数据同步的缓存数据读取方法、装置、计算机设备和存储介质。所述方法包括:定时触发运行缓存数据同步任务;根据缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;从数据库中同步缓存数据至第二并发容器,缓存数据存储至所述第二内存;当验证缓存数据为有效数据时,控制第一并发容器从第一内存指向所述第二内存,第二并发容器从第二内存指向空;接收终端发送的数据读取指令,根据数据读取指令从所述第一并发容器中读取缓存数据。采用本方法能够提高数据读取效率。

Cached Data Reading Method, Device, Computer Equipment and Storage Media

【技术实现步骤摘要】
缓存数据读取方法、装置、计算机设备和存储介质
本申请涉及计算机
,特别是涉及一种缓存数据读取方法、装置、计算机设备和存储介质。
技术介绍
目前的各种应用软件和系统在运行时需要加载各种缓存数据,部分缓存数据不会经常改变,但是却使用频繁。当用户访问量增大时,应用软件和系统请求读取缓存数据的并发量也会增大。并发量增大但是服务器响应时间缓慢,直接导致软件系统进入假死机状态。然而,传统通常将使用频繁的缓存数据写入代码中使用,一旦缓存数据有所改变则需要将代码重新编写后才能使用,导致效率低下。
技术实现思路
基于此,有必要针对上述技术问题,提供一种提高效率的缓存数据读取方法、装置、计算机设备和存储介质。一种缓存数据读取方法,所述方法包括:定时触发运行缓存数据同步任务;根据所述缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;从数据库中同步缓存数据至所述第二并发容器,所述缓存数据存储至所述第二内存;当验证所述缓存数据为有效数据时,控制所述第一并发容器从所述第一内存指向所述第二内存,所述第二并发容器从所述第二内存指向空;接收终端发送的数据读取指令,根据所述数据读取指令从所述第一并发容器中读取缓存数据。在其中一个实施例中,所述定时触发运行缓存数据同步任务包括:接收终端的系统启动指令,根据所述启动指令获取配置文件和启动数据;加载所述配置文件和启动数据完成系统启动,解耦所述配置文件获取同步触发时间;根据所述同步触发时间运行缓存数据同步任务。在其中一个实施例中,所述方法还包括:接收终端发送的动态刷新指令,所述动态刷新指令携带第一版本号;根据所述第一版本号扫描分布式配置中心获取待刷新配置文件;将所述待刷新配置文件注册至热部署框架中,加载所述待刷新配置文件刷新同步触发时间。在其中一个实施例中,所述接收终端发送的动态刷新指令之前还包括:接收终端发送的修改指令,所述修改指令携带第二版本号;根据所述和第二版本号获取待修改配置文件并发送给终端;接收终端反馈的待刷新配置文件,所述待刷新配置文件由终端根据所述的待修改配置文件生成;将所述待刷新配置文件覆盖存储至分布式配置中心。在其中一个实施例中,所述方法还包括:若所述修改指令携带有修改区域和修改参数,则根据所述修改区域从所述待修改配置文件中获取原始参数,将所述修改参数替换原始参数。在其中一个实施例中,所述验证所述缓存数据为有效数据包括:获取所述缓存数据的缓存时间以及所述缓存数据预先配置的有效期;若所述缓存时间小于所述预先配置的有效期,则所述缓存数据验证有效。一种缓存数据读取装置,所述装置包括:触发模块,用于定时触发运行缓存数据同步任务;控制模块,用于根据所述缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;同步模块,用于从数据库中同步缓存数据至所述第二并发容器,所述缓存数据存储至所述第二内存;验证模块,用于当验证所述缓存数据为有效数据时,控制所述第一并发容器从所述第一内存指向所述第二内存,所述第二并发容器从所述第二内存指向空;读取模块,接收终端发送的数据读取指令,根据所述数据读取指令从所述第一并发容器中读取缓存数据。在其中一个实施例中,所述触发模块还用于接收终端的系统启动指令,根据所述启动指令获取配置文件和启动数据;加载所述配置文件和启动数据完成系统启动,解耦所述配置文件获取同步触发时间;根据所述同步触发时间运行缓存数据同步任务。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意一项所述的缓存数据读取方法。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的缓存数据读取方法。上述缓存数据读取方法、装置、计算机设备和存储介质,通过定时触发缓存数据同步任务时控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存,从而防止与终端交互的第一并发容器和与数据库交互的第二并发容器同时指向同一内存。当从数据库中将缓存数据同步至第二并发容器并验证数据有效后,又控制第一并发容器从第一内存指向第二内存,第二并发容器从第二内存指向空,从而接收到终端的数据读取指令时,终端可以直接通过第一并发容器从第二内存中读取缓存数据。上述方法利用二个并发容器和二个内存块将终端从内存中读取数据和数据库将数据写入内存分离开来,实现了数据读写分离,提高了工作效率。附图说明图1为一个实施例中缓存数据读取方法的应用场景图;图2为一个实施例中缓存数据读取方法的流程示意图;图3为一个实施例中缓存数据同步任务的功能示意图;图4为一个实施例中定时触发运行缓存数据同步任务步骤的流程示意图;图5为一个实施例中系统启动的功能示意图;图6为一个实施例中定时触发同步任务的功能示意图;图7为一个实施例中配置文件刷新的功能示意图;图8为一个实施例中缓存数据读取装置的结构框图;图9为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的缓存数据同步方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104定时触发运行缓存数据同步任务。服务器104根据缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存。服务器104从数据库中同步缓存数据至第二并发容器,缓存数据存储至第二内存。服务器104当验证缓存数据为有效数据时,控制第一并发容器从第一内存指向第二内存,第二并发容器从第二内存指向空。服务器104接收终端102发送的数据读取指令,根据数据读取指令从第一并发容器中读取缓存数据。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一个实施例中,如图2所示,提供了一种缓存数据读取方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:步骤S202,定时触发运行缓存数据同步任务。具体地,当系统启动时,同步加载系统启动所需要的配置文件和数据完成系统启动。并且,从配置文件中获取同步触发时间,根据同步触发时间运行缓存数据同步任务。其中,同步触发时间根据实际业务需求预先设置在配置文件中。步骤S204,根据缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存。其中,并发容器(ConcurrentHashMap)是指通过改变机制从而提升并发性的容器。第一并发容器是用于直接与终端日常数据交互使用的缓存并发容器(CacheConcurrentHashMap),第二并发容器是当运行缓存数据同步任务时从数据库中获取数据的临时并发容器(TempConcurrentHashMap)。第一内存和第二内存是指从内存中单独划分出来用于存储数据的内存块,第一内存用于日常使用存储数据。具体地,当服务器与终端进行数据读取时第一并发容器的指针指向于第二内存块,第二并发容器的指针指向null。当服务器通过预设时间定时运行本文档来自技高网...

【技术保护点】
1.一种缓存数据读取方法,所述方法包括:定时触发运行缓存数据同步任务;根据所述缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;从数据库中同步缓存数据至所述第二并发容器,所述缓存数据存储至所述第二内存;当验证所述缓存数据为有效数据时,控制所述第一并发容器从所述第一内存指向所述第二内存,所述第二并发容器从所述第二内存指向空;接收终端发送的数据读取指令,根据所述数据读取指令从所述第一并发容器中读取缓存数据。

【技术特征摘要】
1.一种缓存数据读取方法,所述方法包括:定时触发运行缓存数据同步任务;根据所述缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;从数据库中同步缓存数据至所述第二并发容器,所述缓存数据存储至所述第二内存;当验证所述缓存数据为有效数据时,控制所述第一并发容器从所述第一内存指向所述第二内存,所述第二并发容器从所述第二内存指向空;接收终端发送的数据读取指令,根据所述数据读取指令从所述第一并发容器中读取缓存数据。2.根据权利要求1所述的方法,其特征在于,所述定时触发运行缓存数据同步任务包括:接收终端的系统启动指令,根据所述启动指令获取配置文件和启动数据;加载所述配置文件和启动数据完成系统启动,解耦所述配置文件获取同步触发时间;根据所述同步触发时间运行缓存数据同步任务。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收终端发送的动态刷新指令,所述动态刷新指令携带第一版本号;根据所述第一版本号扫描分布式配置中心获取待刷新配置文件;将所述待刷新配置文件注册至热部署框架中,加载所述待刷新配置文件刷新同步触发时间。4.根据权利要求3所述的方法,其特征在于,所述接收终端发送的动态刷新指令之前还包括:接收终端发送的修改指令,所述修改指令携带第二版本号;根据所述第二版本号获取待修改配置文件并发送给终端;接收终端反馈的待刷新配置文件,所述待刷新配置文件由终端根据所述的待修改配置文件生成;将所述待刷新配置文件覆盖存储至分布式配置中心。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述修改指令携带有...

【专利技术属性】
技术研发人员:秦绍文
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东,44

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

1