CN110221988A - 一种第三方数据的缓存优化方法及系统 - Google Patents
一种第三方数据的缓存优化方法及系统 Download PDFInfo
- Publication number
- CN110221988A CN110221988A CN201910367597.6A CN201910367597A CN110221988A CN 110221988 A CN110221988 A CN 110221988A CN 201910367597 A CN201910367597 A CN 201910367597A CN 110221988 A CN110221988 A CN 110221988A
- Authority
- CN
- China
- Prior art keywords
- data
- party
- time
- newest
- cache server
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Abstract
本发明公开了一种第三方数据的缓存优化方法及系统,缓存服务器每隔第一预设时间获取实时第三方数据,并按照key格式对每一份实时第三方数据进行存储,key格式包括获取实时第三方数据的时间标记;客户端从缓存服务器获取最新第三方数据,判断最新第三方数据是否为异常数据,若是,则按照时间标记依次获取历史第三方数据,直到获取到正常第三方数据;本发明通过使得客户端上业务能够始终按照正常的第三方数据进行运行,从而降低了第三方数据异常时对业务系统的影响,保证业务系统的正常运行。
Description
技术领域
本发明涉及互联网领域,特别涉及一种第三方数据的缓存优化方法及系统。
背景技术
缓存技术是用来提升程序运行性能的常见手段,现有的互联网龙头企业都是用缓存技术来提升自己家网站的性能。然而,任何事物都有两面性,缓存技术使用得当带来的好处自然不言而喻,但是如果使用不当,也会产生一定的副作用。
在一般系统中,现在都使用redis或者memcache等专门的缓存服务器来作为缓存层,以集群或者单节点的方式来提供缓存服务。而业务系统中也需要添加相应的代码来支持缓存服务。
现有的业务系统中,有很多数据功能是需要从第三方来获取数据并进行展示的,如果第三方服务挂了,则业务系统的服务也会随之瘫痪。针对上述问题,将第三方相关的数据缓存至缓存层中,每次定时去第三方拉取数据,并更新缓存层中的数据,则能避免上述问题。但也存在以下问题:本地缓存层中的缓存只有一份,此时,若第三方业务数据有问题,本地缓存数据获取并刷新过之后,业务系统使用的便是有问题的数据,从而影响业务系统的正常运行。
发明内容
本发明所要解决的技术问题是:提供一种第三方数据的缓存优化方法及系统,以降低第三方数据异常时对业务系统的影响。
为了解决上述技术问题,本发明采用的技术方案为:
一种第三方数据的缓存优化方法,包括步骤:
S1、缓存服务器每隔第一预设时间获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式包括获取所述实时第三方数据的时间标记;
S2、客户端从所述缓存服务器获取最新第三方数据,判断所述最新第三方数据是否为异常数据,若是,则按照所述时间标记依次获取历史第三方数据,直到获取到正常第三方数据。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种第三方数据的缓存优化系统,包括缓存服务器以及客户端,所述缓存服务器包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述客户端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、每隔第一预设时间获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式包括获取所述实时第三方数据的时间标记;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、从所述缓存服务器获取最新第三方数据,判断所述最新第三方数据是否为异常数据,若是,则按照所述时间标记依次获取历史第三方数据,直到获取到正常第三方数据。
本发明的有益效果在于:一种第三方数据的缓存优化方法及系统,缓存服务器每隔第一预设时间便获取实时第三方数据,从而使得缓存服务器设置有多份缓存数据,并按照key格式对每一份实时第三方数据进行存储,其中key格式包括有时间标记,当客户端前来获取第三方数据时,返回最新第三方数据,此时,若第三方数据出现异常,则缓存服务器可以遍历历史第三方数据,在获得正常第三方数据之后返回给客户端,使得客户端上业务能够始终按照正常的第三方数据进行运行,从而降低了第三方数据异常时对业务系统的影响,保证业务系统的正常运行。
附图说明
图1为本发明实施例的一种第三方数据的缓存优化方法的流程示意图;
图2为本发明实施例的一种第三方数据的缓存优化系统与第三方服务器的连接示意图。
标号说明:
1、一种第三方数据的缓存优化系统;2、缓存服务器;3、第一处理器;
4、第一存储器;5、客户端;6、第二处理器;7、第二存储器;8、API接口;9、第三处理器;10、第三存储器;11、后台端;12、第四处理器;13、第四存储器;14、第三方服务器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
在此之前,为了便于理解本发明的技术方案,对于本发明中涉及的英文缩写、设备等进行说明如下:
(1)、API:在本发明中为Application Programming Interface的缩写,其中文解释为应用程序编程接口,它是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
请参照图1,一种第三方数据的缓存优化方法,包括步骤:
S1、缓存服务器每隔第一预设时间获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式包括获取所述实时第三方数据的时间标记;
S2、客户端从所述缓存服务器获取最新第三方数据,判断所述最新第三方数据是否为异常数据,若是,则按照所述时间标记依次获取历史第三方数据,直到获取到正常第三方数据。
从上述描述可知,本发明的有益效果在于:缓存服务器每隔第一预设时间便获取实时第三方数据,从而使得缓存服务器设置有多份缓存数据,并按照key格式对每一份实时第三方数据进行存储,其中key格式包括有时间标记,当客户端前来获取第三方数据时,返回最新第三方数据,此时,若第三方数据出现异常,则缓存服务器可以遍历历史第三方数据,在获得正常第三方数据之后返回给客户端,使得客户端上业务能够始终按照正常的第三方数据进行运行,从而降低了第三方数据异常时对业务系统的影响,保证业务系统的正常运行。
进一步地,所述步骤S1具体为:
缓存服务器每隔N小时获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式具体为日期_序号,所述N小于等于6;
所述步骤S1还包括:
缓存服务器对每一份所述实时第三方数据均存储有一份缓存全量数据以及一份缓存差异数据,所述缓存全量数据包括所述实时第三方数据的全部信息,所述缓存差异数据为当前的缓存全量数据与前一时间的缓存全量数据之间的差异信息;
所述步骤S2中客户端从所述缓存服务器获取最新第三方数据具体为:
客户端发送携带有业务标识的数据请求指令至缓存服务器;
缓存服务器接收所述数据请求指令,获取所述业务标识,判断所述业务标识所对应的业务是否为首次获取,若是,则返回最新缓存全量数据,否则返回最新缓存差异数据;
客户端接收最新第三方数据,所述最新第三方数据为所述最新缓存全量数据或所述最新缓存差异数据。
从上述描述可知,对每一份实时第三方数据均存储有一份缓存全量数据以及一份缓存差异数据,在客户端上的业务进行数据请求时,根据是否为首次来返回不同的缓存数据,对于业务非首次的访问请求来说,由于返回的数据减少了,从而使得客户端能够更加快速的获取到最新数据。
进一步地,所述步骤S1还包括:
缓存服务器判断所述实时第三方数据是否为异常数据,若是,则标记所述实时第三方数据为正常,否则标记所述实时第三方数据为异常;
所述步骤S2中客户端从所述缓存服务器获取最新第三方数据具体为:
客户端发送数据请求指令至缓存服务器;
缓存服务器接收所述数据请求指令,判断最新第三方数据的标记是否为正常,若是,则返回所述最新第三方数据,否则按照所述时间标记搜索离当前时间最近且标记为正常的最近第三方数据,返回所述最近第三方数据;
客户端接收所述最新第三方数据或所述最近第三方数据。
从上述描述可知,缓存服务器先行判断,滤除了部分比较异常的数据,使得客户端获取异常数据的概率极低;通过设置标记,使得缓存服务器能够快速区分正常和不正常的数据,从而在客户端获取数据时能快速且准确的找到第三方数据。
进一步地,所述步骤S2中客户端从所述缓存服务器获取最新第三方数据具体为:
客户端发送数据请求指令至API接口;
API接口获取所述数据请求指令,判断是否存在手动缓存标记,若存在,则获取所述手动缓存标记的手动时间标记,发送包括所述手动时间标记的指定数据请求指令;
缓存服务器接收所述指定数据请求指令,返回时间标记为手动时间标记的第三方数据;
客户端接收所述第三方数据。
从上述描述可知,通过手动缓存标记,从而得到此次请求是按照工作人员在后台设置的手动时间标记去获取第三方数据还是直接获取最新第三方数据。
进一步地,所述步骤S2之后还包括:
后台端获取所述正常第三方数据的时间标记,将API接口的本地内存标志设置为所述正常第三方数据的时间标记;
后台端接收恢复正常指令,清除所述API接口的本地内存标志。
从上述描述可知,在出现数据异常时,将API接口的本地内存标志设置为正常第三方数据的时间标记,使得后续接口都能获取到正常第三方数据,而无需再进行判断。
请参照图2,一种第三方数据的缓存优化系统,包括缓存服务器以及客户端,所述缓存服务器包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述客户端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、每隔第一预设时间获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式包括获取所述实时第三方数据的时间标记;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、从所述缓存服务器获取最新第三方数据,判断所述最新第三方数据是否为异常数据,若是,则按照所述时间标记依次获取历史第三方数据,直到获取到正常第三方数据。
从上述描述可知,本发明的有益效果在于:缓存服务器每隔第一预设时间便获取实时第三方数据,从而使得缓存服务器设置有多份缓存数据,并按照key格式对每一份实时第三方数据进行存储,其中key格式包括有时间标记,当客户端前来获取第三方数据时,返回最新第三方数据,此时,若第三方数据出现异常,则缓存服务器可以遍历历史第三方数据,在获得正常第三方数据之后返回给客户端,使得客户端上业务能够始终按照正常的第三方数据进行运行,从而降低了第三方数据异常时对业务系统的影响,保证业务系统的正常运行。
进一步地,所述步骤S1具体为:
缓存服务器每隔N小时获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式具体为日期_序号,所述N小于等于6;
在所述步骤S1中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
缓存服务器对每一份所述实时第三方数据均存储有一份缓存全量数据以及一份缓存差异数据,所述缓存全量数据包括所述实时第三方数据的全部信息,所述缓存差异数据为当前的缓存全量数据与前一时间的缓存全量数据之间的差异信息;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
接收数据请求指令,获取业务标识,判断所述业务标识所对应的业务是否为首次获取,若是,则返回最新缓存全量数据,否则返回最新缓存差异数据;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第二处理器执行所述第二计算机程序时还实现以下步骤:
发送携带有业务标识的数据请求指令至缓存服务器;
接收最新第三方数据,所述最新第三方数据为所述最新缓存全量数据或所述最新缓存差异数据。
从上述描述可知,对每一份实时第三方数据均存储有一份缓存全量数据以及一份缓存差异数据,在客户端上的业务进行数据请求时,根据是否为首次来返回不同的缓存数据,对于业务非首次的访问请求来说,由于返回的数据减少了,从而使得客户端能够更加快速的获取到最新数据。
进一步地,在所述步骤S1中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
判断所述实时第三方数据是否为异常数据,若是,则标记所述实时第三方数据为正常,否则标记所述实时第三方数据为异常;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
接收数据请求指令,判断最新第三方数据的标记是否为正常,若是,则返回所述最新第三方数据,否则按照所述时间标记搜索离当前时间最近且标记为正常的最近第三方数据,返回所述最近第三方数据;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第二处理器执行所述第二计算机程序时还实现以下步骤:
发送数据请求指令至缓存服务器;
接收所述最新第三方数据或所述最近第三方数据。
从上述描述可知,缓存服务器先行判断,滤除了部分比较异常的数据,使得客户端获取异常数据的概率极低;通过设置标记,使得缓存服务器能够快速区分正常和不正常的数据,从而在客户端获取数据时能快速且准确的找到第三方数据。
进一步地,还包括API接口,所述API接口包括第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的第三计算机程序;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
接收指定数据请求指令,返回时间标记为手动时间标记的第三方数据;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第二处理器执行所述第二计算机程序时还实现以下步骤:
发送数据请求指令至API接口;
接收所述第三方数据;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第三处理器执行所述第三计算机程序时还实现以下步骤:
获取所述数据请求指令,判断是否存在手动缓存标记,若存在,则获取所述手动缓存标记的手动时间标记,发送包括所述手动时间标记的指定数据请求指令。
从上述描述可知,通过手动缓存标记,从而得到此次请求是按照工作人员在后台设置的手动时间标记去获取第三方数据还是直接获取最新第三方数据。
进一步地,还包括后台端,所述后台端包括第四存储器、第四处理器及存储在第四存储器上并可在第四处理器上运行的第四计算机程序;
所述步骤S2之后,所述第四处理器执行所述第四计算机程序时实现以下步骤:
获取所述正常第三方数据的时间标记,将API接口的本地内存标志设置为所述正常第三方数据的时间标记;
接收恢复正常指令,清除所述API接口的本地内存标志。
从上述描述可知,在出现数据异常时,将API接口的本地内存标志设置为正常第三方数据的时间标记,使得后续接口都能获取到正常第三方数据,而无需再进行判断。
请参照图1,本发明的实施例一为:
一种第三方数据的缓存优化方法,包括步骤:
S1、缓存服务器每隔第一预设时间获取实时第三方数据,并按照key格式对每一份实时第三方数据进行存储,key格式包括获取实时第三方数据的时间标记;
S2、客户端从缓存服务器获取最新第三方数据,判断最新第三方数据是否为异常数据,若是,则按照时间标记依次获取历史第三方数据,直到获取到正常第三方数据。
在本实施例中,key格式为20190101_11的最新第三方数据为异常数据时,缓存服务器发现key格式为20190101_10的历史第三方数据是正常的,则返回key格式为20190101_10的历史第三方数据给客户端。
请参照图1,本发明的实施例二为:
一种第三方数据的缓存优化方法,在上述实施例一的基础上,步骤S1具体为:缓存服务器每隔N小时获取实时第三方数据,并按照key格式对每一份实时第三方数据进行存储,key格式具体为日期_序号,N小于等于6,在本实施例中N为1,假设是在2019年1月1日12点时获取的实时第三方数据,则key格式具体为20190101_12;
步骤S1还包括:缓存服务器对每一份实时第三方数据均存储有一份缓存全量数据以及一份缓存差异数据,缓存全量数据包括实时第三方数据的全部信息,缓存差异数据为当前的缓存全量数据与前一时间的缓存全量数据之间的差异信息;
步骤S2中客户端从缓存服务器获取最新第三方数据具体为:
客户端发送携带有业务标识的数据请求指令至缓存服务器;
缓存服务器接收数据请求指令,获取业务标识,判断业务标识所对应的业务是否为首次获取,若是,则返回最新缓存全量数据,否则返回最新缓存差异数据;
客户端接收最新第三方数据,最新第三方数据为最新缓存全量数据或最新缓存差异数据。
其中,步骤S1还包括:
缓存服务器判断实时第三方数据是否为异常数据,若是,则标记实时第三方数据为正常,否则标记实时第三方数据为异常;
步骤S2中客户端从缓存服务器获取最新第三方数据具体为:
客户端发送数据请求指令至缓存服务器;
缓存服务器接收数据请求指令,判断最新第三方数据的标记是否为正常,若是,则返回最新第三方数据,否则按照时间标记搜索离当前时间最近且标记为正常的最近第三方数据,返回最近第三方数据;
客户端接收最新第三方数据或最近第三方数据。
其中,步骤S2中客户端从缓存服务器获取最新第三方数据具体为:
客户端发送数据请求指令至API接口;
API接口获取数据请求指令,判断是否存在手动缓存标记,若存在,则获取手动缓存标记的手动时间标记,发送包括手动时间标记的指定数据请求指令;
缓存服务器接收指定数据请求指令,返回时间标记为手动时间标记的第三方数据;
客户端接收第三方数据。
在本实施例中,比如,客户端在13:15向API接口发送数据请求指令,API接口查询本次内存中无手动缓存标记,则根据现在时间,查询缓存服务器的最新第三方数据的key格式为20190101_13,则获取key格式为20190101_13的最新第三方数据。
其中,步骤S2之后还包括:
后台端获取正常第三方数据的时间标记,将API接口的本地内存标志设置为正常第三方数据的时间标记;
后台端接收恢复正常指令,清除API接口的本地内存标志。
在本实施例中,key格式为20190101_10的历史第三方数据是正常的,则将API接口的本地内存标志设置为20190101_10,则后续接口都调用key格式为20190101_10的第三方数据。
在本实施例中,第三方数据的缓存过期时间为一天,24小时之前的缓存信息都将被删除,从而避免缓存超载的现象。
其中,在出现异常情况时,也可以进入人工选择,即在后台端的页面上展示缓存key列表,由工作人员进行选择。
请参照图2,本发明的实施例三为:
一种第三方数据的缓存优化系统1,包括缓存服务器2以及客户端5,缓存服务器5包括第一存储器4、第一处理器3及存储在第一存储器4上并可在第一处理器3上运行的第一计算机程序,客户端5包括第二存储器7、第二处理器6及存储在第二存储器7上并可在第二处理器上6运行的第二计算机程序,第一处理器3执行第一计算机程序时实现上述实施例一的对应步骤,第二处理器6执行第二计算机程序时实现上述实施例一的对应步骤。
其中,缓存服务器5与第三方服务器14连接。
请参照图2,本发明的实施例四为:
一种第三方数据的缓存优化系统1,在上述实施例三的基础上,还包括API接口8以及后台端11,API接口8包括第三存储器10、第三处理器9及存储在第三存储器10上并可在第三处理器9上运行的第三计算机程序,后台端11包括第四存储器13、第四处理器12及存储在第四存储器13上并可在第四处理器12上运行的第四计算机程序,第一处理器3执行第一计算机程序时实现上述实施例二的对应步骤,第二处理器6执行第二计算机程序时实现上述实施例二的对应步骤,第三处理器9执行第三计算机程序时实现上述实施例二的对应步骤,第四处理器12执行第四计算机程序时实现上述实施例二的对应步骤。
综上所述,本发明提供的一种第三方数据的缓存优化方法及系统,使得客户端上业务能够始终按照正常的第三方数据进行运行,从而降低了第三方数据异常时对业务系统的影响,保证业务系统的正常运行;对每一份实时第三方数据均存储有一份缓存全量数据以及一份缓存差异数据,在客户端上的业务进行数据请求时,根据是否为首次来返回不同的缓存数据,对于业务非首次的访问请求来说,由于返回的数据减少了,从而使得客户端能够更加快速的获取到最新数据;缓存服务器先行判断,滤除了部分比较异常的数据,使得客户端获取异常数据的概率极低;通过设置标记,使得缓存服务器能够快速区分正常和不正常的数据,从而在客户端获取数据时能快速且准确的找到第三方数据;通过手动缓存标记,从而得到此次请求是按照工作人员在后台设置的手动时间标记去获取第三方数据还是直接获取最新第三方数据;在出现数据异常时,将API接口的本地内存标志设置为正常第三方数据的时间标记,使得后续接口都能获取到正常第三方数据,而无需再进行判断。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种第三方数据的缓存优化方法,其特征在于,包括步骤:
S1、缓存服务器每隔第一预设时间获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式包括获取所述实时第三方数据的时间标记;
S2、客户端从所述缓存服务器获取最新第三方数据,判断所述最新第三方数据是否为异常数据,若是,则按照所述时间标记依次获取历史第三方数据,直到获取到正常第三方数据。
2.根据权利要求1所述的一种第三方数据的缓存优化方法,其特征在于,所述步骤S1具体为:
缓存服务器每隔N小时获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式具体为日期_序号,所述N小于等于6;
所述步骤S1还包括:
缓存服务器对每一份所述实时第三方数据均存储有一份缓存全量数据以及一份缓存差异数据,所述缓存全量数据包括所述实时第三方数据的全部信息,所述缓存差异数据为当前的缓存全量数据与前一时间的缓存全量数据之间的差异信息;
所述步骤S2中客户端从所述缓存服务器获取最新第三方数据具体为:
客户端发送携带有业务标识的数据请求指令至缓存服务器;
缓存服务器接收所述数据请求指令,获取所述业务标识,判断所述业务标识所对应的业务是否为首次获取,若是,则返回最新缓存全量数据,否则返回最新缓存差异数据;
客户端接收最新第三方数据,所述最新第三方数据为所述最新缓存全量数据或所述最新缓存差异数据。
3.根据权利要求1所述的一种第三方数据的缓存优化方法,其特征在于,所述步骤S1还包括:
缓存服务器判断所述实时第三方数据是否为异常数据,若是,则标记所述实时第三方数据为正常,否则标记所述实时第三方数据为异常;
所述步骤S2中客户端从所述缓存服务器获取最新第三方数据具体为:
客户端发送数据请求指令至缓存服务器;
缓存服务器接收所述数据请求指令,判断最新第三方数据的标记是否为正常,若是,则返回所述最新第三方数据,否则按照所述时间标记搜索离当前时间最近且标记为正常的最近第三方数据,返回所述最近第三方数据;
客户端接收所述最新第三方数据或所述最近第三方数据。
4.根据权利要求1所述的一种第三方数据的缓存优化方法,其特征在于,所述步骤S2中客户端从所述缓存服务器获取最新第三方数据具体为:
客户端发送数据请求指令至API接口;
API接口获取所述数据请求指令,判断是否存在手动缓存标记,若存在,则获取所述手动缓存标记的手动时间标记,发送包括所述手动时间标记的指定数据请求指令;
缓存服务器接收所述指定数据请求指令,返回时间标记为手动时间标记的第三方数据;
客户端接收所述第三方数据。
5.根据权利要求1所述的一种第三方数据的缓存优化方法,其特征在于,所述步骤S2之后还包括:
后台端获取所述正常第三方数据的时间标记,将API接口的本地内存标志设置为所述正常第三方数据的时间标记;
后台端接收恢复正常指令,清除所述API接口的本地内存标志。
6.一种第三方数据的缓存优化系统,包括缓存服务器以及客户端,所述缓存服务器包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述客户端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,其特征在于,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、每隔第一预设时间获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式包括获取所述实时第三方数据的时间标记;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、从所述缓存服务器获取最新第三方数据,判断所述最新第三方数据是否为异常数据,若是,则按照所述时间标记依次获取历史第三方数据,直到获取到正常第三方数据。
7.根据权利要求6所述的一种第三方数据的缓存优化系统,其特征在于,所述步骤S1具体为:
缓存服务器每隔N小时获取实时第三方数据,并按照key格式对每一份所述实时第三方数据进行存储,所述key格式具体为日期_序号,所述N小于等于6;
在所述步骤S1中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
缓存服务器对每一份所述实时第三方数据均存储有一份缓存全量数据以及一份缓存差异数据,所述缓存全量数据包括所述实时第三方数据的全部信息,所述缓存差异数据为当前的缓存全量数据与前一时间的缓存全量数据之间的差异信息;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
接收数据请求指令,获取业务标识,判断所述业务标识所对应的业务是否为首次获取,若是,则返回最新缓存全量数据,否则返回最新缓存差异数据;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第二处理器执行所述第二计算机程序时还实现以下步骤:
发送携带有业务标识的数据请求指令至缓存服务器;
接收最新第三方数据,所述最新第三方数据为所述最新缓存全量数据或所述最新缓存差异数据。
8.根据权利要求6所述的一种第三方数据的缓存优化系统,其特征在于,在所述步骤S1中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
判断所述实时第三方数据是否为异常数据,若是,则标记所述实时第三方数据为正常,否则标记所述实时第三方数据为异常;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
接收数据请求指令,判断最新第三方数据的标记是否为正常,若是,则返回所述最新第三方数据,否则按照所述时间标记搜索离当前时间最近且标记为正常的最近第三方数据,返回所述最近第三方数据;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第二处理器执行所述第二计算机程序时还实现以下步骤:
发送数据请求指令至缓存服务器;
接收所述最新第三方数据或所述最近第三方数据。
9.根据权利要求6所述的一种第三方数据的缓存优化系统,其特征在于,还包括API接口,所述API接口包括第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的第三计算机程序;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第一处理器执行所述第一计算机程序时还实现以下步骤:
接收指定数据请求指令,返回时间标记为手动时间标记的第三方数据;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第二处理器执行所述第二计算机程序时还实现以下步骤:
发送数据请求指令至API接口;
接收所述第三方数据;
在所述步骤S2中客户端从所述缓存服务器获取最新第三方数据中,所述第三处理器执行所述第三计算机程序时还实现以下步骤:
获取所述数据请求指令,判断是否存在手动缓存标记,若存在,则获取所述手动缓存标记的手动时间标记,发送包括所述手动时间标记的指定数据请求指令。
10.根据权利要求6所述的一种第三方数据的缓存优化系统,其特征在于,还包括后台端,所述后台端包括第四存储器、第四处理器及存储在第四存储器上并可在第四处理器上运行的第四计算机程序;
所述步骤S2之后,所述第四处理器执行所述第四计算机程序时实现以下步骤:
获取所述正常第三方数据的时间标记,将API接口的本地内存标志设置为所述正常第三方数据的时间标记;
接收恢复正常指令,清除所述API接口的本地内存标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910367597.6A CN110221988B (zh) | 2019-05-05 | 2019-05-05 | 一种第三方数据的缓存优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910367597.6A CN110221988B (zh) | 2019-05-05 | 2019-05-05 | 一种第三方数据的缓存优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110221988A true CN110221988A (zh) | 2019-09-10 |
CN110221988B CN110221988B (zh) | 2021-04-30 |
Family
ID=67820363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910367597.6A Active CN110221988B (zh) | 2019-05-05 | 2019-05-05 | 一种第三方数据的缓存优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110221988B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637777A (zh) * | 2022-02-17 | 2022-06-17 | 深圳市双合电气股份有限公司 | 一种前后台系统数据实时交换处理方法和系统 |
CN116248762A (zh) * | 2022-12-02 | 2023-06-09 | 中山市可讯科技有限公司 | 一种基于不稳定请求的缓存系统及方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136941A (zh) * | 2010-12-31 | 2011-07-27 | 华为软件技术有限公司 | 一种综合接入设备备份数据方法、设备以及系统 |
CN103886038A (zh) * | 2014-03-10 | 2014-06-25 | 中标软件有限公司 | 数据缓存方法及装置 |
CN104040539A (zh) * | 2012-12-31 | 2014-09-10 | 华为技术有限公司 | 数据存储方法和装置、数据操作方法、系统及接入服务器 |
CN104102669A (zh) * | 2013-04-12 | 2014-10-15 | 同程网络科技股份有限公司 | 机票查询方法 |
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
CN104866531A (zh) * | 2015-04-27 | 2015-08-26 | 交通银行股份有限公司 | 快速访问银行客户信息数据的方法及系统 |
CN105260402A (zh) * | 2015-09-18 | 2016-01-20 | 久盈世纪(北京)科技有限公司 | 用于数据管理的方法与设备 |
CN105511808A (zh) * | 2015-12-01 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种数据操作方法、系统及相关装置 |
CN105988721A (zh) * | 2015-02-10 | 2016-10-05 | 中兴通讯股份有限公司 | 一种网盘客户端的数据缓存方法及装置 |
CN106844784A (zh) * | 2017-03-14 | 2017-06-13 | 上海网易小额贷款有限公司 | 数据缓存方法、装置及计算机可读存储介质 |
US20180069888A1 (en) * | 2015-08-31 | 2018-03-08 | Splunk Inc. | Identity resolution in data intake of a distributed data processing system |
US9954971B1 (en) * | 2015-04-22 | 2018-04-24 | Hazelcast, Inc. | Cache eviction in a distributed computing system |
CN108153783A (zh) * | 2016-12-06 | 2018-06-12 | 腾讯科技(北京)有限公司 | 一种数据缓存的方法和装置 |
CN109450969A (zh) * | 2018-09-27 | 2019-03-08 | 北京奇艺世纪科技有限公司 | 从第三方数据源服务器中获取数据的方法、装置和服务器 |
-
2019
- 2019-05-05 CN CN201910367597.6A patent/CN110221988B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136941A (zh) * | 2010-12-31 | 2011-07-27 | 华为软件技术有限公司 | 一种综合接入设备备份数据方法、设备以及系统 |
CN104040539A (zh) * | 2012-12-31 | 2014-09-10 | 华为技术有限公司 | 数据存储方法和装置、数据操作方法、系统及接入服务器 |
CN104102669A (zh) * | 2013-04-12 | 2014-10-15 | 同程网络科技股份有限公司 | 机票查询方法 |
CN103886038A (zh) * | 2014-03-10 | 2014-06-25 | 中标软件有限公司 | 数据缓存方法及装置 |
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
CN105988721A (zh) * | 2015-02-10 | 2016-10-05 | 中兴通讯股份有限公司 | 一种网盘客户端的数据缓存方法及装置 |
US9954971B1 (en) * | 2015-04-22 | 2018-04-24 | Hazelcast, Inc. | Cache eviction in a distributed computing system |
CN104866531A (zh) * | 2015-04-27 | 2015-08-26 | 交通银行股份有限公司 | 快速访问银行客户信息数据的方法及系统 |
US20180069888A1 (en) * | 2015-08-31 | 2018-03-08 | Splunk Inc. | Identity resolution in data intake of a distributed data processing system |
CN105260402A (zh) * | 2015-09-18 | 2016-01-20 | 久盈世纪(北京)科技有限公司 | 用于数据管理的方法与设备 |
CN105511808A (zh) * | 2015-12-01 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种数据操作方法、系统及相关装置 |
CN108153783A (zh) * | 2016-12-06 | 2018-06-12 | 腾讯科技(北京)有限公司 | 一种数据缓存的方法和装置 |
CN106844784A (zh) * | 2017-03-14 | 2017-06-13 | 上海网易小额贷款有限公司 | 数据缓存方法、装置及计算机可读存储介质 |
CN109450969A (zh) * | 2018-09-27 | 2019-03-08 | 北京奇艺世纪科技有限公司 | 从第三方数据源服务器中获取数据的方法、装置和服务器 |
Non-Patent Citations (2)
Title |
---|
江勇等: "基于变化数据捕获机制的分布式缓存一致性策略", 《计算机系统应用》 * |
许艳美: "Web缓存服务器技术研究与应用", 《计算机工程与设计》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637777A (zh) * | 2022-02-17 | 2022-06-17 | 深圳市双合电气股份有限公司 | 一种前后台系统数据实时交换处理方法和系统 |
CN116248762A (zh) * | 2022-12-02 | 2023-06-09 | 中山市可讯科技有限公司 | 一种基于不稳定请求的缓存系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110221988B (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10506043B2 (en) | Rapid client-side component processing based on component relationships | |
US7203682B2 (en) | High speed non-concurrency controlled database | |
AU2002303900B2 (en) | Consistent read in a distributed database environment | |
US6535869B1 (en) | Increasing efficiency of indexing random-access files composed of fixed-length data blocks by embedding a file index therein | |
US8131698B2 (en) | Method for coordinating updates to database and in-memory cache | |
US9690562B2 (en) | Detecting computing processes requiring reinitialization after a software package update | |
US20070288718A1 (en) | Relocating page tables | |
US20080098173A1 (en) | Consistent client-side cache | |
US20040111422A1 (en) | Concurrency classes for shared file systems | |
US20020194287A1 (en) | System and method for transmitting data content in a computer network | |
CN104572845B (zh) | 文件分发方法、装置、设备及系统 | |
US20120005158A1 (en) | Reducing Contention of Transaction Logging in a Database Management System | |
US20070288720A1 (en) | Physical address mapping framework | |
US9348659B2 (en) | Lock resolution for distributed durable instances | |
US9262415B2 (en) | Cache efficiency in a shared disk database cluster | |
US20150142845A1 (en) | Smart database caching | |
CN110221988A (zh) | 一种第三方数据的缓存优化方法及系统 | |
US10929216B2 (en) | Application crash analysis techniques when memory dump and debug symbols are not co-located | |
CN112307119A (zh) | 数据同步方法、装置、设备及存储介质 | |
US20090165011A1 (en) | Resource management method, information processing system, information processing apparatus, and program | |
US10642750B2 (en) | System and method of a shared memory hash table with notifications and reduced memory utilization | |
US20190268437A1 (en) | Information acquisition | |
US9317432B2 (en) | Methods and systems for consistently replicating data | |
US20230124036A1 (en) | In-place garbage collection for state machine replication | |
CN109101310B (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 |