CN109766361A - 缓存数据读取方法、装置、计算机设备和存储介质 - Google Patents
缓存数据读取方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109766361A CN109766361A CN201811558291.0A CN201811558291A CN109766361A CN 109766361 A CN109766361 A CN 109766361A CN 201811558291 A CN201811558291 A CN 201811558291A CN 109766361 A CN109766361 A CN 109766361A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- configuration file
- data cached
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于数据同步的缓存数据读取方法、装置、计算机设备和存储介质。所述方法包括:定时触发运行缓存数据同步任务;根据缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;从数据库中同步缓存数据至第二并发容器,缓存数据存储至所述第二内存;当验证缓存数据为有效数据时,控制第一并发容器从第一内存指向所述第二内存,第二并发容器从第二内存指向空;接收终端发送的数据读取指令,根据数据读取指令从所述第一并发容器中读取缓存数据。采用本方法能够提高数据读取效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种缓存数据读取方法、装置、计算机设备和存储介质。
背景技术
目前的各种应用软件和系统在运行时需要加载各种缓存数据,部分缓存数据不会经常改变,但是却使用频繁。当用户访问量增大时,应用软件和系统请求读取缓存数据的并发量也会增大。并发量增大但是服务器响应时间缓慢,直接导致软件系统进入假死机状态。然而,传统通常将使用频繁的缓存数据写入代码中使用,一旦缓存数据有所改变则需要将代码重新编写后才能使用,导致效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种提高效率的缓存数据读取方法、装置、计算机设备和存储介质。
一种缓存数据读取方法,所述方法包括:
定时触发运行缓存数据同步任务;
根据所述缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;
从数据库中同步缓存数据至所述第二并发容器,所述缓存数据存储至所述第二内存;
当验证所述缓存数据为有效数据时,控制所述第一并发容器从所述第一内存指向所述第二内存,所述第二并发容器从所述第二内存指向空;
接收终端发送的数据读取指令,根据所述数据读取指令从所述第一并发容器中读取缓存数据。
在其中一个实施例中,所述定时触发运行缓存数据同步任务包括:
接收终端的系统启动指令,根据所述启动指令获取配置文件和启动数据;
加载所述配置文件和启动数据完成系统启动,解耦所述配置文件获取同步触发时间;
根据所述同步触发时间运行缓存数据同步任务。
在其中一个实施例中,所述方法还包括:
接收终端发送的动态刷新指令,所述动态刷新指令携带第一版本号;
根据所述第一版本号扫描分布式配置中心获取待刷新配置文件;
将所述待刷新配置文件注册至热部署框架中,加载所述待刷新配置文件刷新同步触发时间。
在其中一个实施例中,所述接收终端发送的动态刷新指令之前还包括:
接收终端发送的修改指令,所述修改指令携带第二版本号;
根据所述和第二版本号获取待修改配置文件并发送给终端;
接收终端反馈的待刷新配置文件,所述待刷新配置文件由终端根据所述的待修改配置文件生成;
将所述待刷新配置文件覆盖存储至分布式配置中心。
在其中一个实施例中,所述方法还包括:
若所述修改指令携带有修改区域和修改参数,则根据所述修改区域从所述待修改配置文件中获取原始参数,将所述修改参数替换原始参数。
在其中一个实施例中,所述验证所述缓存数据为有效数据包括:
获取所述缓存数据的缓存时间以及所述缓存数据预先配置的有效期;
若所述缓存时间小于所述预先配置的有效期,则所述缓存数据验证有效。
一种缓存数据读取装置,所述装置包括:
触发模块,用于定时触发运行缓存数据同步任务;
控制模块,用于根据所述缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;
同步模块,用于从数据库中同步缓存数据至所述第二并发容器,所述缓存数据存储至所述第二内存;
验证模块,用于当验证所述缓存数据为有效数据时,控制所述第一并发容器从所述第一内存指向所述第二内存,所述第二并发容器从所述第二内存指向空;
读取模块,接收终端发送的数据读取指令,根据所述数据读取指令从所述第一并发容器中读取缓存数据。
在其中一个实施例中,所述触发模块还用于接收终端的系统启动指令,根据所述启动指令获取配置文件和启动数据;加载所述配置文件和启动数据完成系统启动,解耦所述配置文件获取同步触发时间;根据所述同步触发时间运行缓存数据同步任务。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意一项所述的缓存数据读取方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的缓存数据读取方法。
上述缓存数据读取方法、装置、计算机设备和存储介质,通过定时触发缓存数据同步任务时控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存,从而防止与终端交互的第一并发容器和与数据库交互的第二并发容器同时指向同一内存。当从数据库中将缓存数据同步至第二并发容器并验证数据有效后,又控制第一并发容器从第一内存指向第二内存,第二并发容器从第二内存指向空,从而接收到终端的数据读取指令时,终端可以直接通过第一并发容器从第二内存中读取缓存数据。上述方法利用二个并发容器和二个内存块将终端从内存中读取数据和数据库将数据写入内存分离开来,实现了数据读写分离,提高了工作效率。
附图说明
图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),第二并发容器是当运行缓存数据同步任务时从数据库中获取数据的临时并发容器(Temp ConcurrentHashMap)。第一内存和第二内存是指从内存中单独划分出来用于存储数据的内存块,第一内存用于日常使用存储数据。
具体地,当服务器与终端进行数据读取时第一并发容器的指针指向于第二内存块,第二并发容器的指针指向null。当服务器通过预设时间定时运行缓存数据同步任务时,将第一并发容器的指针指向于第一内存,第二并发容器的指针指向于第二内存。
步骤S206,从数据库中同步缓存数据至第二并发容器,缓存数据存储至第二内存。
其中,当并发容器的指针指向第一内存时,该并发容器所需数据则存储于第一内存。并发容器的指针指向第二内存时,该并发容器所需数据则存储于第二内存中。具体地,当第一并发容器指针指向第一内存,第二并发容器指针指向第二内存时,第二并发容器即可从数据库中同步所需缓存数据并存储至指针指向的第二内存中。
步骤S208,当验证缓存数据为有效数据时,控制第一并发容器从第一内存指向所述第二内存,第二并发容器从第二内存指向空。
具体地,第二并发容器从数据库中同步缓存数据之后,服务器通过数据的缓存时间验证其是否为有效数据。若缓存数据为有效数据,则表示可以使用该缓存数据。服务器控制第二并发容器的指针从第二内存指向于null释放空间,并且控制第一并发容器的指针从第一内存指向第二内存。终端即可通过访问第一并发容器直接获取从数据库中获取的存储至第二内存的数据。
步骤S210,接收终端发送的数据读取指令,根据数据读取指令从第一并发容器中读取缓存数据。
具体地,服务器通过预设时间定时运行缓存数据同步任务将数据库中的数据同步至内存中。当服务器接收到终端的数据读取指令后,即可响应数据读取之从第一并发容器中读取缓存数据。由于第一并发容器此时的指针指向于第二内存,因此从第一并发容器中读取数据即使从第二内存中读取数据。
在一个实施例中,如图3所示,通过在缓存管理模块(CacheManager)中设定第一并发容器(Cache ConcurrentHashMap)、第二并发容器(temp ConcurrentHashMap)、第一内存以及第二内存,并且缓存管理模块(CacheManager)中的temp ConcurrentHashMap与数据库连接。当缓存数据同步任务运行时,通过预设时间定时启动同步器,同步器控制缓存管理模块(CacheManager)运行。首先控制第一并发容器(Cache ConcurrentHashMap)的指针从第二内存指向第一内存,第二并发容器(temp ConcurrentHashMap)的指针从空(null)指向第二内存,第二并发容器(temp ConcurrentHashMap)从数据库中获取数据存储至第二内存中。当验证数据有效后再将第一并发容器(Cache ConcurrentHashMap)的指针从第一内存指向第二内存,而第二并发容器(temp ConcurrentHashMap)重新指向空(null)。
上述缓存数据读取方法,通过定时触发缓存数据同步任务时控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存,为了防止与终端交互的第一并发容器和与数据库交互的第二并发容器同时指向同一内存。当从数据库中将缓存数据同步至第二并发容器并验证数据有效后,又控制第一并发容器从第一内存指向第二内存,第二并发容器从第二内存指向空。为了接收到终端的数据读取指令时,终端可以直接通过第一并发容器从第二内存中读取缓存数据。上述方法利用二个并发容器和二个内存块将终端从内存中读取数据和数据库将数据写入内存分离开来,实现了数据读写分离,提高了工作效率。
在一个实施例中,如图4所示,定时触发运行缓存数据同步任务包括以下步骤:
步骤S402,接收终端的系统启动指令,根据启动指令获取配置文件和启动数据。
其中,配置文件是指在用户登陆电脑或者用户使用软件时,软件系统为用户所要加载所需环境的设置和文件的集合,包括所有用户专用的配置设置。配置文件存储在分布式配置中心。启动数据是指系统启动时从数据库中加载的缓存数据。
具体地,当服务器接收到终端的系统启动指令后,根据启动指令从分布式配置中心获取配置文件,从数据库中读取缓存数据加载到内存中。例如,如图5所示,当用户通过鼠标或者触屏操作方式操作终端点击软件图标时,终端同步生成该软件的系统启动指令发送给服务器。服务器根据该系统启动指令访问分布式配置中心获取该软件的配置文件,以及从数据库中加载数据至内存中,将启动数据和配置文件返回给终端完成软件启动。
步骤S404,加载配置文件和启动数据完成系统启动,解耦配置文件获取同步触发时间。
其中,同步触发时间是通过预先设定写入配置文件中控制定时启动同步任务的时间。具体地,当服务器响应终端的系统启动指令从分布式配置中获取配置文件,并且从数据库中加载启动数据至内存中后。通过加载配置文件获取到配置参数等完成系统的启动。并且,由于同步触发时间预先存储在配置文件中,服务器同时通过将配置文件进行解耦获取到预设的时间,该预设时间即为同步触发时间。例如,如图6所示,通过预设的同步触发时间触发同步器的缓存同步行程(LcouldCacheSyncScheduler)模块运行同步任务,加载缓存计划任务(CacheCron)模块从配置文件模块中获取预设时间。其中,预设时间是由配置文件模块从分布式配置中心获取配置文件并将配置文件进行解耦获取到的。当缓存同步行程(LcouldCacheSyncScheduler)模块获取到预设时间将预设时间发送给缓存管理(CacheManager)模块进行缓存数据的同步加载。
步骤S406,根据同步触发时间运行缓存数据同步任务。
具体地,当服务器通过将配置文件解耦后获取到同步触发时间后,服务器即可根据同步触发时间定时运行缓存数据同步任务。例如,若同步触发时间为以软件系统启动时间为标准每隔10分钟同步一次,则每过10分钟则同步一次缓存数据。若同步触发时间根据服务器系统为标准设定在8点、10点同步缓存数据,则在系统时间为8点、10点的时候同步缓存数据。同步触发时间的设定根据实际业务需求在配置文件中进行设定修改。
当服务器根据系统启动指令获取配置文件和启动数据完成软件系统的启动,并通过解耦从配置文件中获取到预设的同步触发时间,根据触发时间触发运行同步任务。将第一并发容器的指针从第二内存指向第一内存第二并发容器从null指向第二内存。第二并发容器从数据库中获取缓存数据并存储至第二内存。当服务器验证数据有效后,重新将第一并发容器指向第二内存,第二并发容器指向null释放空间。
在本实施例中,通过将同步触发时间设于配置文件中,一旦软件系统启动即从配置文件中获取同步触发时间。根据同步触发时间定时触发同步任务同步缓存数据,保证了缓存数据的有效性。
在一个实施例中,提供一种配置文件热刷新方法。包括步骤:接收终端发送的动态刷新指令,动态刷新指令携带第一版本号;根据第一版本号扫描分布式配置中心获取待刷新配置文件;将待刷新配置文件注册至热部署框架中,加载待刷新配置文件刷新同步触发时间。
其中,第一版本号是指已经被修改过的配置文件的版本号,待刷新配置文件是指已经被修改但是还没加载使用的配置文件。分布式配置中心用于存储配置文件。热部署是指一种可以在软件应用时升级更新却不用重新启动的机制。热部署框架即为提供热部署机制的框架。
具体地,当配置文件被修改后,终端向服务器发送携带该被修改配置文件版本号的动态刷新指令。服务器根据该版本号从分布式配置中心获取对应的配置文件即为待刷新配置文件。将待刷新配置文件注册至热部署框架中,在该热部署框架中加载运行待刷新配置文件将原同步触发时间替换成新的同步触发时间,服务器后续根据新的同步触发时间定时触发同步任务。
由于传统当根据业务需求需要从配置文件中修改同步触发时间时,往往需要重新加载修改后的配置文件,重新加载配置文件即意味着要重新启动软件系统。在本实施例中,将配置文件注册到热部署框架运行,直接实现配置文件的热部署,不需要重新启动软件加载配置文件即可更新触发时间,提高配置文件的更新效率。
在一个实施例中,当服务器接收终端发送的热刷新动态之前还包括步骤:接收终端发送的修改指令,修改指令携带第二版本号;根据第二版本号获取待修改配置文件并发送给终端;接收终端反馈的待刷新配置文件,待刷新配置文件由终端根据的待修改配置文件生成;将待刷新配置文件覆盖存储至分布式配置中心。
其中,第二版本号是指未被修改的原始配置文件的版本号,待修改配置文件即为第二版号对应原始配置文件。
具体地,服务器接收到终端的修改指令后,根据携带的第二版本号从分布式配置中心获取待修改的配置文件,将该待修改配置文件返回给终端,终端用户通过操作修改配置文件内容。并将修改后的配置文件反馈给服务器,服务器接收到的修改后的配置文件即为待刷新配置文件,将该待刷新文件在分布式配置中心覆盖存储到原配置文件的文件路径上。当服务器将待刷新配置文件存储完成后即向终端反馈更新完成的信息。终端接收到该信息后即生成动态刷新指令,服务器根据指令将待刷新配置文件注册至热部署框架中,在热部署框架中加载运行待刷新配置文件刷新同步触发时间。
例如图7所示,步骤S1为当终端发送修改指令后,服务器根据指令从分布式配置中心将待修改配置文件返回给终端。步骤S2为终端根据待修改配置文件修改后得到的待刷新配置文件返回覆盖存储分布式配置中心。步骤S3为当待刷新配置文件存储至分布式配置中心后终端向服务器的同步器模块发送的动态刷新指令。步骤S4为服务器接收到给同步器模块发送的动态刷新指令后从分布式配置中心获取待刷新配置文件,通过将待刷新配置文件加载到热部署框架中刷新同步触发时间,后续同步器即可根据刷新后的同步触发时间触发运行同步任务。
在一个实施例中,若终端发送的修改指令中携带有修改区域和修改参数,则根据修改区域从待修改配置文件中获取原始参数,将修改参数替换原始参数。
其中,修改区域是指待修改配置文件中需要修改的地方,即原始参数在配置文件中的位置。修改参数是指要替换原始参数的新参数。
具体地,终端发送的修改指令中携带有修改区域和修改参数则表示终端指示服务器自主修改配置文件。服务器根据第二版本号获取到待修改配置文件后,服务器根据修改区域从待修改配置文件获取到原始参数所处区域后,将修改参数替换原始参数称为新的配置参数。例如,配置文件原始的同步触发时间为10s,修改参数为20s。则表示终端指示服务器将同步触发时间从10s修改为20s。
在一个实施例中,验证缓存数据为有效数据具体包括步骤:获取缓存数据的缓存时间以及缓存数据预先配置的有效期;若缓存时间小于预先配置的有效期,则缓存数据验证有效。
其中,缓存时间为该缓存数据存储至数据库时的时间,有效期为预先为该缓存数据配置的使用期限,超过有效期的缓存数据即为无效数据。具体地,当第二并发容器从数据库中同步缓存数据至第二内存后,服务器获取存储在第二内存中数据的缓存时间,以及该缓存数据预先配置的有效期。通过比较缓存时间和有效期,若缓存时间小于有效期,则表示该缓存数据为有效数据。服务器即可控制第一并发容器的指针指向第二内存,供软件系统读取数据使用。在本实施例中,将数据经有效验证后在返回给终端,保证了数据的有效性。
应该理解的是,虽然图2、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种缓存数据读取装置,包括触发模块802、控制模块804、同步模块806、验证模块808和读取模块810,其中:
触发模块802,用于定时触发运行缓存数据同步任务。
控制模块804,用于根据缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存。
同步模块806,用于从数据库中同步缓存数据至第二并发容器,缓存数据存储至第二内存。
验证模块808,用于当验证缓存数据为有效数据时,控制第一并发容器从第一内存指向第二内存,第二并发容器从第二内存指向空;
读取模块810,接收终端发送的数据读取指令,根据数据读取指令从第一并发容器中读取缓存数据。
在一个实施例中,触发模块802还用于接收终端的系统启动指令,根据启动指令获取配置文件和启动数据。加载配置文件和启动数据完成系统启动,解耦配置文件获取同步触发时间。根据同步触发时间运行缓存数据同步任务。
在一个实施例中,缓存数据读取装置还包括刷新模块,用于接收终端发送的动态刷新指令,动态刷新指令携带第一版本号。根据第一版本号扫描分布式配置中心获取待刷新配置文件。将待刷新配置文件注册至热部署框架中,加载待刷新配置文件刷新同步触发时间。
在一个实施例中,缓存数据读取装置还包括修改模块,用于接收终端发送的修改指令,修改指令携带第二版本号。根据第二版本号获取待修改配置文件并发送给终端。接收终端反馈的待刷新配置文件,待刷新配置文件由终端根据的待修改配置文件生成。将待刷新配置文件覆盖存储至分布式配置中心。
在一个实施例中,修改模块还用于若修改指令携带有修改区域和修改参数,则根据修改区域从待修改配置文件中获取原始参数,将修改参数替换原始参数。
在一个实施例中,验证模块808还用于获取缓存数据的缓存时间以及缓存数据预先配置的有效期;若缓存时间小于预先配置的有效期,则缓存数据验证有效。
关于缓存数据读取装置的具体限定可以参见上文中对于缓存数据读取方法的限定,在此不再赘述。上述缓存数据读取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储缓存数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种缓存数据读取方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
定时触发运行缓存数据同步任务;
根据缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;
从数据库中同步缓存数据至第二并发容器,缓存数据存储至第二内存;
当验证缓存数据为有效数据时,控制第一并发容器从第一内存指向第二内存,第二并发容器从第二内存指向空;
接收终端发送的数据读取指令,根据数据读取指令从第一并发容器中读取缓存数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收终端的系统启动指令,根据启动指令获取配置文件和启动数据;
加载配置文件和启动数据完成系统启动,解耦配置文件获取同步触发时间;
根据同步触发时间运行缓存数据同步任务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收终端发送的动态刷新指令,动态刷新指令携带第一版本号;
根据第一版本号扫描分布式配置中心获取待刷新配置文件;
将待刷新配置文件注册至热部署框架中,加载待刷新配置文件刷新同步触发时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收终端发送的修改指令,修改指令携带第二版本号;
根据第二版本号获取待修改配置文件并发送给终端;
接收终端反馈的待刷新配置文件,待刷新配置文件由终端根据的待修改配置文件生成;
将待刷新配置文件覆盖存储至分布式配置中心。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若修改指令携带有修改区域和修改参数,则根据修改区域从待修改配置文件中获取原始参数,将修改参数替换原始参数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取缓存数据的缓存时间以及缓存数据预先配置的有效期;
若缓存时间小于预先配置的有效期,则缓存数据验证有效。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
定时触发运行缓存数据同步任务;
根据缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;
从数据库中同步缓存数据至第二并发容器,缓存数据存储至第二内存;
当验证缓存数据为有效数据时,控制第一并发容器从第一内存指向第二内存,第二并发容器从第二内存指向空;
接收终端发送的数据读取指令,根据数据读取指令从第一并发容器中读取缓存数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收终端的系统启动指令,根据启动指令获取配置文件和启动数据;
加载配置文件和启动数据完成系统启动,解耦配置文件获取同步触发时间;
根据同步触发时间运行缓存数据同步任务。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收终端发送的动态刷新指令,动态刷新指令携带第一版本号;
根据第一版本号扫描分布式配置中心获取待刷新配置文件;
将待刷新配置文件注册至热部署框架中,加载待刷新配置文件刷新同步触发时间。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收终端发送的修改指令,修改指令携带第二版本号;
根据第二版本号获取待修改配置文件并发送给终端;
接收终端反馈的待刷新配置文件,待刷新配置文件由终端根据的待修改配置文件生成;
将待刷新配置文件覆盖存储至分布式配置中心。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若修改指令携带有修改区域和修改参数,则根据修改区域从待修改配置文件中获取原始参数,将修改参数替换原始参数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取缓存数据的缓存时间以及缓存数据预先配置的有效期;
若缓存时间小于预先配置的有效期,则缓存数据验证有效。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种缓存数据读取方法,所述方法包括:
定时触发运行缓存数据同步任务;
根据所述缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;
从数据库中同步缓存数据至所述第二并发容器,所述缓存数据存储至所述第二内存;
当验证所述缓存数据为有效数据时,控制所述第一并发容器从所述第一内存指向所述第二内存,所述第二并发容器从所述第二内存指向空;
接收终端发送的数据读取指令,根据所述数据读取指令从所述第一并发容器中读取缓存数据。
2.根据权利要求1所述的方法,其特征在于,所述定时触发运行缓存数据同步任务包括:
接收终端的系统启动指令,根据所述启动指令获取配置文件和启动数据;
加载所述配置文件和启动数据完成系统启动,解耦所述配置文件获取同步触发时间;
根据所述同步触发时间运行缓存数据同步任务。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收终端发送的动态刷新指令,所述动态刷新指令携带第一版本号;
根据所述第一版本号扫描分布式配置中心获取待刷新配置文件;
将所述待刷新配置文件注册至热部署框架中,加载所述待刷新配置文件刷新同步触发时间。
4.根据权利要求3所述的方法,其特征在于,所述接收终端发送的动态刷新指令之前还包括:
接收终端发送的修改指令,所述修改指令携带第二版本号;
根据所述第二版本号获取待修改配置文件并发送给终端;
接收终端反馈的待刷新配置文件,所述待刷新配置文件由终端根据所述的待修改配置文件生成;
将所述待刷新配置文件覆盖存储至分布式配置中心。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述修改指令携带有修改区域和修改参数,则根据所述修改区域从所述待修改配置文件中获取原始参数,将所述修改参数替换原始参数。
6.根据权利要求1所述的方法,其特征在于,所述验证所述缓存数据为有效数据包括:
获取所述缓存数据的缓存时间以及所述缓存数据预先配置的有效期;
若所述缓存时间小于所述预先配置的有效期,则所述缓存数据验证有效。
7.一种缓存数据读取装置,其特征在于,所述装置包括:
触发模块,用于定时触发运行缓存数据同步任务;
控制模块,用于根据所述缓存数据同步任务控制第一并发容器从第二内存指向第一内存,第二并发容器从空指向第二内存;
同步模块,用于从数据库中同步缓存数据至所述第二并发容器,所述缓存数据存储至所述第二内存;
验证模块,用于当验证所述缓存数据为有效数据时,控制所述第一并发容器从所述第一内存指向所述第二内存,所述第二并发容器从所述第二内存指向空;
读取模块,接收终端发送的数据读取指令,根据所述数据读取指令从所述第一并发容器中读取缓存数据。
8.根据权利要求7所述的装置,其特征在于,所述触发模块还用于接收终端的系统启动指令,根据所述启动指令获取配置文件和启动数据;加载所述配置文件和启动数据完成系统启动,解耦所述配置文件获取同步触发时间;根据所述同步触发时间运行缓存数据同步任务。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811558291.0A CN109766361B (zh) | 2018-12-19 | 2018-12-19 | 缓存数据读取方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811558291.0A CN109766361B (zh) | 2018-12-19 | 2018-12-19 | 缓存数据读取方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766361A true CN109766361A (zh) | 2019-05-17 |
CN109766361B CN109766361B (zh) | 2023-08-04 |
Family
ID=66451341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811558291.0A Active CN109766361B (zh) | 2018-12-19 | 2018-12-19 | 缓存数据读取方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766361B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112169340A (zh) * | 2020-08-21 | 2021-01-05 | 成都完美天智游科技有限公司 | 一种数据的同步验证方法、系统、计算设备及存储介质 |
CN117331649A (zh) * | 2023-10-31 | 2024-01-02 | 慧之安信息技术股份有限公司 | 基于内部缓存的Docker容器数据库嵌入方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654819A (en) * | 1982-12-09 | 1987-03-31 | Sequoia Systems, Inc. | Memory back-up system |
JP2011008674A (ja) * | 2009-06-29 | 2011-01-13 | Nec Commun Syst Ltd | 二重化情報処理システム及び同期化方法 |
CN107577775A (zh) * | 2017-09-08 | 2018-01-12 | 北京奇艺世纪科技有限公司 | 一种读取数据方法、装置、电子设备及可读存储介质 |
CN108153486A (zh) * | 2017-11-27 | 2018-06-12 | 深圳市有方科技股份有限公司 | 嵌入式系统的工作参数保护方法以及相关设备 |
US10049046B1 (en) * | 2014-05-28 | 2018-08-14 | EMC IP Holding Company LLC | Methods and apparatus for memory tier page cache with zero file |
US20180246808A1 (en) * | 2017-02-27 | 2018-08-30 | Nec Corporation | Information processing apparatus |
-
2018
- 2018-12-19 CN CN201811558291.0A patent/CN109766361B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654819A (en) * | 1982-12-09 | 1987-03-31 | Sequoia Systems, Inc. | Memory back-up system |
JP2011008674A (ja) * | 2009-06-29 | 2011-01-13 | Nec Commun Syst Ltd | 二重化情報処理システム及び同期化方法 |
US10049046B1 (en) * | 2014-05-28 | 2018-08-14 | EMC IP Holding Company LLC | Methods and apparatus for memory tier page cache with zero file |
US20180246808A1 (en) * | 2017-02-27 | 2018-08-30 | Nec Corporation | Information processing apparatus |
CN107577775A (zh) * | 2017-09-08 | 2018-01-12 | 北京奇艺世纪科技有限公司 | 一种读取数据方法、装置、电子设备及可读存储介质 |
CN108153486A (zh) * | 2017-11-27 | 2018-06-12 | 深圳市有方科技股份有限公司 | 嵌入式系统的工作参数保护方法以及相关设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112169340A (zh) * | 2020-08-21 | 2021-01-05 | 成都完美天智游科技有限公司 | 一种数据的同步验证方法、系统、计算设备及存储介质 |
CN117331649A (zh) * | 2023-10-31 | 2024-01-02 | 慧之安信息技术股份有限公司 | 基于内部缓存的Docker容器数据库嵌入方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109766361B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108573371B (zh) | 数据审批方法、装置、计算机设备和存储介质 | |
CN108322533B (zh) | 基于操作日志的分布式集群节点间配置同步方法 | |
CN108829459B (zh) | 基于Nginx服务器的配置方法、装置、计算机设备和存储介质 | |
CN109586948A (zh) | 更新系统配置数据的方法、装置、计算机设备和存储介质 | |
CN108520059A (zh) | 客户端h5页面的加载方法、系统、计算机设备和存储介质 | |
CN110764700B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN109542961A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN106598667A (zh) | 用于修复内核漏洞的方法和装置 | |
CN111245548A (zh) | 基于时间戳的数据同步方法、装置和计算机设备 | |
CN108829781A (zh) | 客户信息查询方法、装置、计算机设备和存储介质 | |
CN109814854A (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN110209681A (zh) | 区块链数据入链方法、装置、计算机设备和存储介质 | |
CN110555041A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN109542635A (zh) | 配置信息更新方法、装置、计算机设备和存储介质 | |
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN109144487B (zh) | 进件业务开发方法、装置、计算机设备和存储介质 | |
CN110955448A (zh) | 智能合约分离方法、合约处理方法、装置、设备及介质 | |
CN109039751A (zh) | 配置路由的方法、装置、计算机设备和存储介质 | |
WO2021143845A1 (zh) | 扩展系统分区的方法、装置、存储介质和计算机设备 | |
CN109766361A (zh) | 缓存数据读取方法、装置、计算机设备和存储介质 | |
CN109358874B (zh) | 业务规则更新方法、装置、计算机设备和存储介质 | |
CN112685091A (zh) | 基于大数据的业务请求处理方法、装置、设备和介质 | |
CN109460438A (zh) | 消息数据存储方法、装置、计算机设备和存储介质 | |
CN111400246A (zh) | 异步导入文件方法、装置、计算机设备和存储介质 | |
CN109816364A (zh) | 交易数据处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |