CN105975352B - 一种缓存数据处理方法及服务器 - Google Patents
一种缓存数据处理方法及服务器 Download PDFInfo
- Publication number
- CN105975352B CN105975352B CN201610278413.5A CN201610278413A CN105975352B CN 105975352 B CN105975352 B CN 105975352B CN 201610278413 A CN201610278413 A CN 201610278413A CN 105975352 B CN105975352 B CN 105975352B
- Authority
- CN
- China
- Prior art keywords
- target
- data
- server
- keywords
- target cache
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种缓存数据处理方法,包括:服务器通过目标接口接收目标应用请求;所述目标应用请求用于请求获取目标应用对应的目标缓存数据;解析所述目标应用请求对应的目标关键字;所述目标关键字是根据所述目标接口的接口标识以及所述目标应用的应用标识而生成的;基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据;其中,所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表。本发明实施例同时还公开了一种服务器。
Description
技术领域
本发明涉及电子技术,尤其涉及一种缓存数据处理方法及服务器。
背景技术
在服务器系统中,为了提高系统的性能,通常会采用缓存技术对数据进行缓存,而缓存技术的数据一致性问题则常常给用户体验带来困扰。例如,在某些情况下,用户会发觉进入某一页面中第一页和第二页存在重复数据;或者,同一应用,在某一页面中获取到的数据不同于在另一页面中获取到的数据,这样,由于数据一致性问题,降低了用户体验。
发明内容
有鉴于此,本发明实施例提供了一种缓存数据处理方法及服务器,能够至少解决现有技术中所存在的问题。
本发明实施例的技术方案是这样实现的:
本发明实施例第一方面提供了一种服务器,包括:
接收单元,用于通过目标接口接收目标应用请求;所述目标应用请求用于请求获取目标应用对应的目标缓存数据;
处理单元,用于解析所述目标应用请求对应的目标关键字,基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据;
其中,所述目标关键字是根据所述目标接口的接口标识以及所述目标应用的应用标识而生成的;所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表。
上述方案中,所述缓存相关数据包括:缓存数据,或者缓存数据标识。
上述方案中,所述缓存相关数据表征缓存数据标识;对应地,
所述处理单元,还用于从所述目标缓存列表中获取与所述目标关键字所对应的目标缓存数据标识,基于所述目标缓存数据标识获取目标缓存数据。
上述方案中,所述处理单元,还用于检测所述目标关键字是否存在于所述目标缓存列表中;
还用于当检测结果表征所述目标关键字存在于所述目标缓存列表中时,基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据。
上述方案中,所述处理单元,还用于当检测结果表征所述目标关键字未存在于所述目标缓存列表中时,从自身对应的数据库中去获取与所述目标关键字所对应的目标缓存数据;
还用于将所述目标缓存数据与所述目标关键字的映射关系存储于所述目标缓存列表中;或者,读取所述目标缓存数据对应的目标缓存数据标识,将所述目标缓存数据标识与所述目标关键字的映射关系存储于所述目标缓存列表中,并记录所述目标缓存数据标识与所述目标缓存数据的映射关系。
上述方案中,所述处理单元,还用于检测到自身对应的数据库所存储的数据的数据特征发生变化时,获取数据特征发生变化的目标数据或者目标数据的目标数据标识;基于所述目标数据或者所述目标数据的目标数据标识,调用缓存更新组件,以通过所述缓存更新组件更新所述目标缓存列表中所存在的与所述目标数据或者所述目标数据标识相关联的缓存数据。
本发明实施例第二方面提供了一种缓存数据处理方法,包括:
服务器通过目标接口接收目标应用请求;所述目标应用请求用于请求获取目标应用对应的目标缓存数据;
解析所述目标应用请求对应的目标关键字;所述目标关键字是根据所述目标接口的接口标识以及所述目标应用的应用标识而生成的;
基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据;
其中,所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表。
上述方案中,所述缓存相关数据包括:缓存数据,或者缓存数据标识。
上述方案中,所述缓存相关数据表征缓存数据标识;对应地,所述利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据,包括:
从所述目标缓存列表中获取与所述目标关键字所对应的目标缓存数据标识;
基于所述目标缓存数据标识获取目标缓存数据。
上述方案中,所述方法还包括:
所述服务器检测所述目标关键字是否存在于所述目标缓存列表中;
对应地,所述基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据,包括:
当检测结果表征所述目标关键字存在于所述目标缓存列表中时,所述服务器基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据。
上述方案中,所述方法还包括:
当检测结果表征所述目标关键字未存在于所述目标缓存列表中时,所述服务器从自身对应的数据库中去获取与所述目标关键字所对应的目标缓存数据;
所述服务器将所述目标缓存数据与所述目标关键字的映射关系存储于所述目标缓存列表中;或者,所述服务器读取所述目标缓存数据对应的目标缓存数据标识,将所述目标缓存数据标识与所述目标关键字的映射关系存储于所述目标缓存列表中,并记录所述目标缓存数据标识与所述目标缓存数据的映射关系。
上述方案中,所述方法还包括:
所述服务器检测到自身对应的数据库所存储的数据的数据特征发生变化时,获取数据特征发生变化的目标数据或者目标数据的目标数据标识;
基于所述目标数据或者所述目标数据的目标数据标识,调用缓存更新组件,以通过所述缓存更新组件更新所述目标缓存列表中所存在的与所述目标数据或者所述目标数据标识相关联的缓存数据。
本发明实施例所述的缓存数据处理方法及服务器,服务器通过目标接口接收目标应用请求,解析所述目标应用请求对应的目标关键字,进而基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据;这里,由于所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表,所以当服务器对目标缓存列表设置过期时间后,所述服务器对应的所有缓存数据必然对应同一过期时间,如此,保证了缓存数据的一致性,提升了用户体验。
附图说明
图1为本发明实施例一缓存数据处理方法的实现流程示意图;
图2为本发明实施例哈希表的示意图;
图3为本发明实施例应用场景示意图一;
图4为本发明实施例应用场景示意图二;
图5为本发明实施例二缓存数据处理方法的实现流程示意图;
图6为本发明实施例缓存数据处理方法的具体应用的实现流程示意图;
图7为本发明实施例缓存数据更新的具体应用的实现流程示意图;
图8为本发明实施例服务器的具体结构示意图。
具体实施方式
目前,常用的缓存方式为:在每条缓存数据生成的时候,指定该缓存数据的有效期,在有效期满后重新生成该缓存数据;这里,由于缓存数据的有效期不同,导致无法保证缓存数据的一致性,降低了用户体验。进一步地,以上所述的缓存数据可以按照如下方式生成,例如,将接口调用的、与目标应用对应的结果数据作为缓存数据直接进行缓存;或者,将接口调用的、与目标应用对应的各个缓存内容表中的数据作为缓存数据,进而当接口调用时,直接读取各个缓存内容表中的数据以组合成结果数据。但是,由于存在多个缓存内容表,当目标应用对应的结果数据需要从多个缓存内容表中去获取时,则会降低缓存数据生成的速度,进而降低了服务器的整体性能。
因此,为解决上述问题,本发明实施例提供了一种缓存数据处理方法及服务器;进一步地,为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述;应当理解,此处所描述的具体实施例仅仅用以解释本发明的技术方案,并不用于限定本发明的保护范围。
实施例一
本发明实施例提供了一种缓存数据处理方法;所述方法应用于服务器。这里,在服务器系统中,每一次针对于目标应用的接口调用都会生成一个结果数据。其中,基于接口名称(也即接口标识)以及目标应用对应的参数(目标应用的应用标识)能够唯一确定出一个结果数据。在现有的缓存方案中,每个结果数据对应一个缓存数据,每个缓存数据均存在自己的过期时间,这样,由于每条缓存数据的过期时间不同,导致无法保证缓存数据的一致性;例如,某一页面中,第一页对应的缓存数据的过期时间是10分钟,而第二页的缓存数据的过期时间是2分钟,这样,当第二页的缓存数据过期后,由于第一页的缓存数据的过期时间未达到,所以,其他系统获取到的第一页的数据仍为缓存数据,而获取的第二页的数据则为重新从服务器中获取的数据,由于获取的数据的来源不同,导致无法保证数据的一致性,进而降低了用户体验。因此,针对数据一致性的问题,本发明实施例所述的方法将所有的缓存数据均存入一张哈希表中,且该哈希表中的所有缓存数据对应统一的过期时间,进而使得数据在周期时间内保持一致。具体地,如图1所示,所述方法包括:
步骤101:服务器通过目标接口接收目标应用请求;所述目标应用请求用于请求获取目标应用对应的目标缓存数据;
步骤102:解析所述目标应用请求对应的目标关键字;所述目标关键字是根据所述目标接口的接口标识以及所述目标应用的应用标识而生成的;
步骤103:基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据;其中,所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表。
在一实施例中,所述目标缓存列表可以具体为哈希表,且所述哈希表为所述服务器中所有缓存数据所对应的唯一一个列表;这里,由于所述服务器中仅存在一个目标缓存列表,所以,当服务器对目标缓存列表设置过期时间后,显然,所述服务器对应的所有缓存数据对应同一过期时间;例如,所述服务器设置一个定时任务,比如每1个小时删除一次哈希表;那么,在该机制下,这一个小时内用户从服务器所读取到的数据全部都来自缓存,而不是有的来自缓存,有的来自数据库,由此,保证了在周期内的接口数据一致性。
在另一实施例中,所述服务器能够通过所述目标应用请求获取到目标应用所对应的数据类型,进而向与数据类型相符的缓存数据去获取与目标应用所对应的目标缓存数据。因此,在实际应用中,所述服务器设置的所述目标缓存列表可以是与特定数据类型所对应的列表,且每一数据类型所对应的目标缓存列表仅有一个;也就是说,每一数据类型唯一对应一个目标缓存列表,此时,所述目标缓存列表为所述服务器设置的用于表征与目标数据类型对应的关键字与缓存相关数据的映射关系的唯一列表。如此,以保证在周期时间内特定数据类型的缓存数据的一致性。
图2为本发明实施例哈希表的示意图;如图2所示,所述哈希表表征键与值的对应关系;这里,所述目标关键字对应键;所述缓存相关数据对应值;进一步地,在一具体应用中,所述缓存相关数据具体为缓存数据,或者缓存数据标识。也就是说,所述哈希表可以具体表征关键字与缓存数据之间的映射关系,或者具体表征关键字与缓存数据标识之间的对应的关系。
在另一实施例中,当所述缓存相关数据具体表征缓存数据标识时,步骤103所述的利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据,具体为:从所述目标缓存列表中获取与所述目标关键字所对应的目标缓存数据标识,进而基于所述目标缓存数据标识获取目标缓存数据。
以下通过具体应用场景说明当缓存相关数据具体为缓存数据标识时,能够更好地保证缓存数据的一致性;也就是说,当本实施例所述的缓存相关数据具体为缓存数据时,仅能在特定条件下保证缓存数据的一致性,而在如下所述的条件下,则无法保证缓存数据的一致性,因此,为进一步优化本实施例,可以将缓存数据标识作为缓存相关数据,也就是说,哈希表中的值具体为缓存数据标识时,能够更好地保证缓存数据的一致性。
具体地,如图2所示的哈希表的名称为API_HASH_TBL,其键为接口名称_参数值(这里,所述参数值具体指某一应用对应的参数值;也就是说,键为能够表征接口的接口标识和某一应用的应用标识),其值为调用的缓存结果,也即缓存数据。
这里,由于哈希表中的值直接为缓存数据,所以能提高缓存数据的获取速度。但是,将缓存数据直接进行缓存时,存在如下问题;例如,如图3所示,以应用中心为例,第一接口所对应的结果是:应用A的缓存数据、应用B的缓存数据、应用C的缓存数据;而第二接口生成的结果:应用B的缓存数据、应用F的缓存数据、应用G的缓存数据。这样,同一个应用B的内容就分别存在不同的缓存结果中;当两个接口执行的时间不同时,应用B的内容可能是不一样的,这样,导致同一个应用B在不同的接口中所对应的内容不一样,由此也带来了数据的不一致性。例如,第一接口在10分钟之前调用时,应用B的版本是V1.0.1,然后应用B在服务器的版本发生了变化,更新为V1.0.2,此后,第二接口进行了调用,它所生成的结果中应用B的版本就变成了V1.0.2。这样,导致用户在不同的页面中看到的同一个应用内容不同,降低了用户体验。
因此,为解决上述问题,哈希表中不直接将缓存数据作为值,而是将缓存数据对应的缓存数据标识作为值,这样,再通过缓存数据标识去获取缓存数据,进而解决上述情况所存在的缓存数据不一致的问题。
具体地,一条应用的内容可能会来自不同的数据表,而现有大部分的缓存方案中,都是针对每一个数据表做一套缓存,这样效率比较低。而本实施例以内容为单位,将来自不同表的数据汇集在一起作为缓存,这样就能缩短生成缓存结果的时间,减少读取缓存的次数,进而提高服务器的效率。如图4所示,应用B的内容(也即缓存数据)来自不同的表,比如数据表1应用概要表,数据表2应用版本表,数据表3应用截图表以及和数据表4;此时,若采用原有缓存方案,需要读取4次才能获取到应用B的全部内容,但是,本发明实施例能够将应用B对应的所有内容统一在一起,所以仅需要读取一次就能获取到应用B的全部内容;具体地,服务器获取与应用B相对应的所有缓存数据,并基于应用B相对应的所有缓存数据生成一与应用B对应的缓存数据标识(简称应用B的ID),将缓存数据标识作为哈希表中的值,同时,建立应用B的缓存数据标识与应用B的全部缓存数据的映射关系,进而当服务器通过目标缓存列表确定出应用B的缓存数据标识后,基于该应用B的缓存数据标识即可获取到应用B对应的全部缓存数据,这样,保证了同一应用在缓存结构中的数据一致性。
本发明实施例所述的方法,服务器通过目标接口接收目标应用请求,解析所述目标应用请求对应的目标关键字,进而基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据;这里,由于所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表,所以当服务器对目标缓存列表设置过期时间后,所述服务器对应的所有缓存数据必然对应同一过期时间,如此,保证了缓存数据的一致性,提升了用户体验。
实施例二
图5为本发明实施例二缓存数据处理方法的实现流程示意图;如图5所示,所述方法包括:
步骤501:服务器通过目标接口接收目标应用请求;所述目标应用请求用于请求获取目标应用对应的目标缓存数据;
步骤502:解析所述目标应用请求对应的目标关键字;所述目标关键字是根据所述目标接口的接口标识以及所述目标应用的应用标识而生成的;
步骤503:所述服务器检测所述目标关键字是否存在于所述目标缓存列表中;若是,执行步骤504;否则,执行步骤505;
步骤504:基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据;其中,所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表。
步骤505:所述服务器从自身对应的数据库中去获取与所述目标关键字所对应的目标缓存数据;
步骤506:所述服务器将所述目标缓存数据与所述目标关键字的映射关系存储于所述目标缓存列表中;或者,所述服务器读取所述目标缓存数据对应的目标缓存数据标识,将所述目标缓存数据标识与所述目标关键字的映射关系存储于所述目标缓存列表中,并记录所述目标缓存数据标识与所述目标缓存数据的映射关系。
在实际应用中,当所述服务器解析出所述目标关键字后,还需要确定是否能够从缓存数据中获取到与目标应用对应的目标缓存数据,也就是说,所述服务器需要确定目标缓存列表中是否存在对应于所述目标关键字的目标缓存数据,或者目标缓存数据标识。进一步地,当所述服务器确定所述目标缓存列表存在所述目标关键字时,所述服务器基于所述目标关键字,利用所述目标缓存列表去获取与所述目标关键字所对应的目标缓存数据;这里,当所述目标缓存列表直接设置有关键字与缓存数据的映射关系时,所述服务器能够利用所述目标缓存列表直接获取到与所述目标关键字所对应的目标缓存数据;而当所述目标缓存列表未直接设置有关键字与缓存数据的映射关系,而是设置有关键字与缓存数据标识的映射关系时,所述服务器先利用所述目标缓存列表获取与所述目标关键字所对应的目标缓存数据标识,进而利用所述目标缓存数据标识去获取目标缓存数据。
进一步地,当所述服务器确定所述目标缓存列表未存在有所述目标关键字时,所述服务器直接从自身对应的数据库中去获取与所述目标应用对应的目标缓存数据,进而将从数据库获取到的目标缓存数据与所述目标关键字作为一对映射关系,填充于所述目标缓存列表中,以便于其他用户能够通过缓存数据直接获取到目标应用的目标缓存数据,无需从数据库去获取目标缓存数据。这里,所述服务器可以直接将目标关键字与目标缓存数据的映射关系设置于所述目标缓存列表中,或者,所述服务器先去获取所述目标缓存数据的目标缓存数据标识,然后,将所述目标缓存数据标识与所述目标关键字的映射关系设置于所述目标缓存列表中,同时,记录所述目标缓存数据标识与所述目标缓存数据的映射关系,当然,在实际应用中,所述服务器还可以设置缓存数据标识与缓存数据的映射关系表,以便于服务器基于缓存数据标识去获取缓存数据。
这里,值得注意的是,本发明实施例所述的方法为与实施例一相对应的另一具体实施例,因此,本领域的技术人员可以参阅实施例一而理解本实施例,也就是说,实施例一所述的相关内容也适用于本实施例,这里为节约篇幅,不再赘述。
以下通过具体实施例做进行详细说明;图6为本发明实施例缓存数据处理方法的具体应用的实现流程示意图;如图6所示,所述方法包括:
步骤601:服务器通过至少一个接口接收至少一个目标应用请求;目标应用请求用于请求获取目标应用对应的目标缓存数据;
步骤602:服务器获取所述至少一个目标应用请求对应的至少一个目标关键字;
步骤603:所述服务器判断所述至少一个目标关键字是否存在于自身设置的目标缓存列表中;当存在时,执行步骤604;否则执行步骤609;
步骤604:基于所述至少一个目标关键字,利用所述目标缓存列表去获取与所述至少一个目标关键字所对应的至少一个目标缓存数据标识;
步骤605:遍历所述至少一个目标缓存数据标识;
步骤606:遍历是否结束,也即是否全部遍历到所述至少一个目标缓存数据标识;若是,执行步骤608;否则,执行步骤607;
步骤607:根据目标缓存数据标识,以及目标应用请求所对应的数据类型去获取目标应用的目标缓存数据,并将目标缓存数据写入输出结果列表,返回至步骤605;
步骤608:返回输出结果列表,结束流程。
步骤609:从所述服务器对应的数据库中去获取至少一个目标应用对应的目标缓存数据;
步骤610:提取从所述数据库中获取到的所述至少一个目标应用对应的目标缓存数据的目标缓存数据标识;
步骤611:所述服务器将至少一对目标缓存数据标识以及目标关键字的映射关系存储于所述目标缓存列表中,并获取到的至少一个目标应用对应的目标缓存数据写入输出结果列表中;随后,执行步骤608。
例如,所述服务器将所述目标缓存数据标识以及所述目标关键字的映射关系写入与目标应用的数据类型所对应的目标缓存列表中。
这里,所述目标缓存列表即为与数据类型唯一对应的缓存列表。
实施例三
基于实施例一或实施例二所述的方法,本实施例中,为确保缓存数据能够及时更新,所述服务器还需要检测到自身对应的数据库所存储的数据的数据特征是否发生变化,具体地,当发生变化时,获取数据特征发生变化的目标数据或者目标数据的目标数据标识;基于所述目标数据或者所述目标数据的目标数据标识,调用缓存更新组件,以通过所述缓存更新组件更新所述目标缓存列表中所存在的与所述目标数据或者所述目标数据标识相关联的缓存数据。
这里,由于不同的系统会对同一个数据库进行操作,所以,需要为不同的系统提供通用的缓存更新组件,以保证当服务器对应的数据库中的数据发生变化时,能通过该缓存更新组件将缓存数据进行刷新,进而保证用户获取到的缓存数据是最新的。
例如,应用中心中存在应用抓取系统,应用同步系统等,而且这些系统均可能会去修改服务器中某一应用对应的数据,如修改了应用B对应的缓存数据,此时,若缓存数据未到达过期时间,则对应接口不能获知该应用B的缓存数据发生了变化,这样,导致了用户无法获取到最新的数据。因此,为解决上述问题,本发明实施例增加缓存更新组件,而且,不同的系统均能够调用同一缓存更新组件,以对缓存数据进行更新,这样,当应用B的缓存数据发生变化时,所述服务器能够调用该缓存更新组件去更新应用B对应缓存数据;例如,所述服务器通过调用缓存更新组件去获取应用B的缓存数据标识,进而通过应用B的缓存数据标识去更新应用B的缓存数据,如此,确保用户获取到的应用B的缓存数据为最新的数据,进而提高了用户体验。
以下通过具体流程对缓存数据更新过程做进一步详细说明;如图7所示,步骤包括:
步骤701:所述服务器检测到自身对应的数据库中的数据表被修改;
步骤702:获取与被修改的数据表相对应的目标缓存列表;
步骤703:获取与被修改的数据相对应的目标数据标识;
步骤704:所述服务器基于所述目标数据标识,以及被修改的数据的数据类型调用缓存更新组件;
步骤705:所述缓存更新组件依据被修改的数据的目标数据标识以及数据类型对应更新与被修改的数据相对应的目标缓存数据,完成缓存数据更新过程。
这样,保证了缓存数据能够及时更新,确保了用户获取到的缓存数据为最新的数据,进而提高了用户体验。
这里,值得注意的是,该以上所述的缓存数据处理方法所实现的功能可以通过服务器中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该服务器至少包括处理器和存储介质。
实施例四
图8为本发明实施例服务器的具体结构示意图;如图8所示,所述服务器包括:
接收单元81,用于通过目标接口接收目标应用请求;所述目标应用请求用于请求获取目标应用对应的目标缓存数据;
处理单元82,用于解析所述目标应用请求对应的目标关键字,基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据;
其中,所述目标关键字是根据所述目标接口的接口标识以及所述目标应用的应用标识而生成的;所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表。
在一实施例中,所述缓存相关数据包括:缓存数据,或者缓存数据标识。
在另一实施例中,所述缓存相关数据表征缓存数据标识;对应地,
所述处理单元82,还用于从所述目标缓存列表中获取与所述目标关键字所对应的目标缓存数据标识,基于所述目标缓存数据标识获取目标缓存数据。
在一实施例中,所述处理单元82,还用于检测所述目标关键字是否存在于所述目标缓存列表中;
还用于当检测结果表征所述目标关键字存在于所述目标缓存列表中时,基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据。
在一实施例中,所述处理单元82,还用于当检测结果表征所述目标关键字未存在于所述目标缓存列表中时,从自身对应的数据库中去获取与所述目标关键字所对应的目标缓存数据;
还用于将所述目标缓存数据与所述目标关键字的映射关系存储于所述目标缓存列表中;或者,读取所述目标缓存数据对应的目标缓存数据标识,将所述目标缓存数据标识与所述目标关键字的映射关系存储于所述目标缓存列表中,并记录所述目标缓存数据标识与所述目标缓存数据的映射关系。
在另一实施例中,所述处理单元82,还用于检测到自身对应的数据库所存储的数据的数据特征发生变化时,获取数据特征发生变化的目标数据或者目标数据的目标数据标识;基于所述目标数据或者所述目标数据的目标数据标识,调用缓存更新组件,以通过所述缓存更新组件更新所述目标缓存列表中所存在的与所述目标数据或者所述目标数据标识相关联的缓存数据。
这里需要指出的是:以上服务器实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明服务器实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解,为节约篇幅,这里不再赘述。
应理解,说明书通篇中提到的“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一实施例中”或“在另一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种服务器,其特征在于,所述服务器包括:
接收单元,用于通过目标接口接收目标应用请求;所述目标应用请求用于请求获取目标应用对应的目标缓存数据;
处理单元,用于解析所述目标应用请求对应的目标关键字,基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标数据类型,向与所述目标类型相符的缓存数据中获取所述目标应用对应的目标缓存数据;
其中,所述目标关键字是根据所述目标接口的接口标识以及所述目标应用的应用标识而生成的且目标关键字与目标数据类型对应,所述目标数据类型为目标应用所对应的数据类型;所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表。
2.根据权利要求1所述的服务器,其特征在于,所述缓存相关数据包括:缓存数据,或者缓存数据标识。
3.根据权利要求2所述的服务器,其特征在于,所述缓存相关数据表征缓存数据标识;对应地,
所述处理单元,还用于从所述目标缓存列表中获取与所述目标关键字所对应的目标缓存数据标识,基于所述目标缓存数据标识获取目标缓存数据。
4.根据权利要求1所述的服务器,其特征在于,所述处理单元,还用于检测所述目标关键字是否存在于所述目标缓存列表中;
还用于当检测结果表征所述目标关键字存在于所述目标缓存列表中时,基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据。
5.根据权利要求4所述的服务器,其特征在于,所述处理单元,还用于当检测结果表征所述目标关键字未存在于所述目标缓存列表中时,从所述服务器自身对应的数据库中去获取与所述目标关键字所对应的目标缓存数据;
还用于将所述目标缓存数据与所述目标关键字的映射关系存储于所述目标缓存列表中;或者,读取所述目标缓存数据对应的目标缓存数据标识,将所述目标缓存数据标识与所述目标关键字的映射关系存储于所述目标缓存列表中,并记录所述目标缓存数据标识与所述目标缓存数据的映射关系。
6.根据权利要求1或2所述的服务器,其特征在于,所述处理单元,还用于检测到自身对应的数据库所存储的数据的数据特征发生变化时,获取数据特征发生变化的目标数据或者目标数据的目标数据标识;基于所述目标数据或者所述目标数据的目标数据标识,调用缓存更新组件,以通过所述缓存更新组件更新所述目标缓存列表中所存在的与所述目标数据或者所述目标数据标识相关联的缓存数据。
7.一种缓存数据处理方法,其特征在于,所述方法包括:
服务器通过目标接口接收目标应用请求;所述目标应用请求用于请求获取目标应用对应的目标缓存数据;
解析所述目标应用请求对应的目标关键字;所述目标关键字是根据所述目标接口的接口标识以及所述目标应用的应用标识而生成的且目标关键字与目标数据类型对应,所述目标数据类型为目标应用所对应的数据类型;
基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标数据类型,向与所述目标类型相符的缓存数据中获取所述目标应用对应的目标缓存数据;
其中,所述目标缓存列表为所述服务器设置的用于表征关键字与缓存相关数据的映射关系的唯一列表。
8.根据权利要求7所述的方法,其特征在于,所述缓存相关数据包括:缓存数据,或者缓存数据标识。
9.根据权利要求8所述的方法,其特征在于,所述缓存相关数据表征缓存数据标识;对应地,所述利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据,包括:
从所述目标缓存列表中获取与所述目标关键字所对应的目标缓存数据标识;
基于所述目标缓存数据标识获取目标缓存数据。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述服务器检测所述目标关键字是否存在于所述目标缓存列表中;
对应地,所述基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据,包括:
当检测结果表征所述目标关键字存在于所述目标缓存列表中时,所述服务器基于所述目标关键字,利用所述服务器设置的目标缓存列表去获取与所述目标关键字所对应的目标缓存数据。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
当检测结果表征所述目标关键字未存在于所述目标缓存列表中时,所述服务器从自身对应的数据库中去获取与所述目标关键字所对应的目标缓存数据;
所述服务器将所述目标缓存数据与所述目标关键字的映射关系存储于所述目标缓存列表中;或者,所述服务器读取所述目标缓存数据对应的目标缓存数据标识,将所述目标缓存数据标识与所述目标关键字的映射关系存储于所述目标缓存列表中,并记录所述目标缓存数据标识与所述目标缓存数据的映射关系。
12.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
所述服务器检测到自身对应的数据库所存储的数据的数据特征发生变化时,获取数据特征发生变化的目标数据或者目标数据的目标数据标识;
基于所述目标数据或者所述目标数据的目标数据标识,调用缓存更新组件,以通过所述缓存更新组件更新所述目标缓存列表中所存在的与所述目标数据或者所述目标数据标识相关联的缓存数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610278413.5A CN105975352B (zh) | 2016-04-28 | 2016-04-28 | 一种缓存数据处理方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610278413.5A CN105975352B (zh) | 2016-04-28 | 2016-04-28 | 一种缓存数据处理方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105975352A CN105975352A (zh) | 2016-09-28 |
CN105975352B true CN105975352B (zh) | 2019-08-30 |
Family
ID=56993952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610278413.5A Active CN105975352B (zh) | 2016-04-28 | 2016-04-28 | 一种缓存数据处理方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975352B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367990B (zh) * | 2018-12-25 | 2023-08-08 | 飞狐信息技术(天津)有限公司 | 一种列表展示方法及装置 |
CN110347545A (zh) * | 2019-05-21 | 2019-10-18 | 深圳壹账通智能科技有限公司 | 一种业务平台缓存策略的测试方法及装置 |
CN110543492A (zh) * | 2019-08-13 | 2019-12-06 | 中国银行股份有限公司 | 一种防止缓存失效的方法及装置 |
CN112491943B (zh) * | 2019-09-12 | 2024-08-27 | 北京国双科技有限公司 | 数据请求方法、装置、存储介质和电子设备 |
CN110807040B (zh) * | 2019-10-30 | 2023-03-24 | 北京达佳互联信息技术有限公司 | 管理数据的方法、装置、设备及存储介质 |
CN111240869B (zh) * | 2020-01-19 | 2022-04-01 | 支付宝(杭州)信息技术有限公司 | 缓存处理方法以及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279880A (zh) * | 2011-07-28 | 2011-12-14 | 深圳市五巨科技有限公司 | 一种实时更新缓存的方法和系统 |
CN103246696A (zh) * | 2013-03-21 | 2013-08-14 | 宁波公众信息产业有限公司 | 高并发数据库的访问方法及应用于多服务器系统的方法 |
CN103546532A (zh) * | 2013-07-02 | 2014-01-29 | Tcl集团股份有限公司 | 一种应用共享数据的方法及系统 |
CN103607312A (zh) * | 2013-11-29 | 2014-02-26 | 广州华多网络科技有限公司 | 用于服务器系统的数据请求处理方法及系统 |
CN103870393A (zh) * | 2013-07-09 | 2014-06-18 | 携程计算机技术(上海)有限公司 | 缓存管理方法及系统 |
CN105306457A (zh) * | 2015-09-30 | 2016-02-03 | 努比亚技术有限公司 | 数据缓存装置及方法 |
CN105357293A (zh) * | 2015-10-29 | 2016-02-24 | 努比亚技术有限公司 | 一种数据缓存的更新方法及服务器 |
-
2016
- 2016-04-28 CN CN201610278413.5A patent/CN105975352B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279880A (zh) * | 2011-07-28 | 2011-12-14 | 深圳市五巨科技有限公司 | 一种实时更新缓存的方法和系统 |
CN103246696A (zh) * | 2013-03-21 | 2013-08-14 | 宁波公众信息产业有限公司 | 高并发数据库的访问方法及应用于多服务器系统的方法 |
CN103546532A (zh) * | 2013-07-02 | 2014-01-29 | Tcl集团股份有限公司 | 一种应用共享数据的方法及系统 |
CN103870393A (zh) * | 2013-07-09 | 2014-06-18 | 携程计算机技术(上海)有限公司 | 缓存管理方法及系统 |
CN103607312A (zh) * | 2013-11-29 | 2014-02-26 | 广州华多网络科技有限公司 | 用于服务器系统的数据请求处理方法及系统 |
CN105306457A (zh) * | 2015-09-30 | 2016-02-03 | 努比亚技术有限公司 | 数据缓存装置及方法 |
CN105357293A (zh) * | 2015-10-29 | 2016-02-24 | 努比亚技术有限公司 | 一种数据缓存的更新方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN105975352A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975352B (zh) | 一种缓存数据处理方法及服务器 | |
US8447827B2 (en) | Providing local access to managed content | |
TWI262406B (en) | System, method and program storage device for dynamic caching of data based on queries performed by a local application | |
US8738572B2 (en) | System and method for storing data streams in a distributed environment | |
US9509748B2 (en) | Efficient storage and retrieval of resources for rendering structured documents | |
CN110597859B (zh) | 一种分页查询数据的方法和装置 | |
US20140101102A1 (en) | Batch processing and data synchronization in cloud-based systems | |
CN109710185A (zh) | 数据处理方法及装置 | |
CN110737682A (zh) | 一种缓存操作方法、装置、存储介质和电子设备 | |
CN104133783B (zh) | 处理分散式缓存数据的方法和装置 | |
JP6383110B2 (ja) | データの検索方法、装置及び端末 | |
US20190018878A1 (en) | Dual overlay query processing | |
TWI686705B (zh) | 分頁查詢方法及裝置和電子設備 | |
CN104657401A (zh) | 一种web缓存的更新方法 | |
CN106776823A (zh) | 一种时序数据管理方法、设备和装置 | |
AU2015316450A1 (en) | Method for updating data table of KeyValue database and apparatus for updating table data | |
CN105138275B (zh) | 一种Lustre存储系统数据共享方法 | |
CN107368608A (zh) | 基于arc替换算法的hdfs小文件缓存管理方法 | |
WO2016101758A1 (zh) | 一种跨集群的数据同步方法和装置 | |
CN103902660A (zh) | 机群文件系统中通过readdir++预取文件布局的系统及其方法 | |
CN104021137B (zh) | 一种基于目录授权的客户端本地开闭文件的方法及系统 | |
CN110008197A (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
CN103365987B (zh) | 一种基于共享磁盘架构的集群数据库系统及数据处理方法 | |
CN109086462A (zh) | 一种分布式文件系统中元数据的管理方法 | |
CN103246729A (zh) | 一种处理安卓移动端的多媒体文件的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |