一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

缓存数据方法、装置、电子设备及存储介质与流程

2023-02-04 17:26:11 来源:中国专利 TAG:


1.本发明涉及数据处理领域,尤其涉及一种缓存数据方法、装置、电子设备及存储介质。


背景技术:

2.现有的缓存系统包括:数据库(服务器端)、缓存中间件(例如,redis,ehcache等数据库)和多个客户端;通常,数据库预先将数据提供方的最新版本的数据缓存在单一的缓存中间件中,当客户端需要查询数据的最新版本时,直接向缓存中间件查询即可。
3.但上述查询方法只能满足较少量请求同时访问缓存中间件,而随着人们获知信息的速度也越来越快,在网络上会产生许多热点新闻或热点数据,当面对大量的热点数据和非热点数据同时访问缓存中间件时,缓存中间件容易因访问负载过高出现故障,而导致整个系统不稳定的问题。


技术实现要素:

4.鉴于以上内容,有必要提供一种缓存数据方法,其目的在于解决现有技术中缓存中间件容易因访问负载过高出现故障,而导致整个系统不稳定的问题。
5.本发明提供的缓存数据方法,包括:
6.接收客户端发送待查询数据的请求,获取所述请求中包含所述待查询数据的缓存键;
7.根据所述缓存键的数据标识判断所述待查询数据是否为热点数据或非热点数据;
8.若判断所述待查询数据为热点数据,则根据所述缓存键的第一时间戳向随机的缓存服务器查询所述待查询数据是否过期,以完成对所述请求的响应;
9.若判断所述待查询数据为非热点数据,则根据所述第一时间戳向各个缓存服务器轮询所述待查询数据是否过期,以完成对所述请求的响应。
10.可选的,在所述根据所述缓存键的数据标识判断所述待查询数据是否为热点数据或非热点数据之前,该方法还包括:
11.根据预设的缓存策略对预设的数据库所有数据进行分类,得到分类结果,所述分类结果包括:热点数据、非热点数据。
12.可选的,在所述对预设的数据库所有的数据进行分类,得到分类结果之后,该方法还包括:
13.建立所述数据库中每个数据的数据标识与所述分类结果之间的第一映射关系表;
14.根据所述第一映射关系表和所述待查询数据的数据标识,判断所述待查询数据是否为热点数据或非热点数据。
15.可选的,所述的缓存数据方法还包括:
16.预先将各个热点数据分别同步存储至各个缓存服务器中;
17.及预先根据各个非热点数据的缓存键划分各个缓存服务器的存储类型,将各个非
热点数据分别存储至对应存储类型的缓存服务器中。
18.可选的,在所述根据所述第一时间戳向预设的数据库查询所述第一时间戳对应的待查询数据是否过期之后,该方法还包括:
19.a10、若从所述数据库查询到所述待查询数据过期,则获取所述待查询数据在所述数据库对应的目标数据的缓存键;
20.a20、根据所述目标数据的缓存键,查询所述缓存服务器是否存储有所述目标数据;
21.a30、若所述缓存服务器存储有所述目标数据,则将所述目标数据返回至所述客户端。
22.可选的,在所述根据所述第一时间戳向预设的数据库查询所述第一时间戳对应的待查询数据是否过期之后,该方法还包括:
23.b10、若从所述数据库查询到所述待查询数据过期,则获取所述待查询数据在所述数据库对应的目标数据的缓存键;
24.b20、根据所述目标数据的缓存键,查询所述缓存服务器是否存储有所述目标数据;
25.b30、若所述缓存服务器未存储有所述目标数据,则利用所述缓存服务器的分布式缓存组件,向所述数据库请求在所述缓存服务器中构建所述目标数据;
26.b40、将构建后的所述目标数据返回至所述客户端。
27.可选的,所述根据所述第一时间戳向各个缓存服务器轮询所述待查询数据是否过期,以完成对所述请求的响应替换为以下步骤,包括:
28.根据所述待查询数据的第一时间戳与预先确定的缓存服务器建立的第二映射关系表确定出所述待查询数据对应的缓存服务器;
29.从所述缓存服务器中查询所述待查询数据是否过期,以完成对所述请求的响应。
30.为了解决上述问题,本发明还提供一种缓存数据装置,所述装置包括:
31.接收模块,用于接收客户端发送待查询数据的请求,获取所述请求中包含所述待查询数据的缓存键;
32.判断模块,用于根据所述缓存键的数据标识判断所述待查询数据是否为热点数据或非热点数据;
33.热点处理模块,用于若判断所述待查询数据为热点数据,则根据所述缓存键的第一时间戳向随机的缓存服务器查询所述待查询数据是否过期,以完成对所述请求的响应;
34.非热点处理模块,用于若判断所述待查询数据为非热点数据,则根据所述第一时间戳向各个缓存服务器轮询所述待查询数据是否过期,以完成对所述请求的响应。
35.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
36.至少一个处理器;以及,
37.与所述至少一个处理器通信连接的存储器;其中,
38.所述存储器存储有可被所述至少一个处理器执行的缓存数据程序,所述缓存数据程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述缓存数据方法。
39.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有缓存数据程序,所述缓存数据程序可被一个或者多个处理器执行,以实现
上述缓存数据方法。
40.相较现有技术,本发明通过待查询数据的缓存键判断待查询数据是否为热点数据或非热点数据,该步骤根据待查询数据的数据标识,为待查询数据准确、快速分配缓存服务器,当判断所述待查询数据为热点数据时,根据所述待查询数据的第一时间戳向随机的缓存服务器查询待查询数据是否过期,该步骤避免了所有缓存消息都依赖单一的缓存服务器进行传递,可以实现点对点的缓存,提升了整个系统的稳定性;当判断所述待查询数据为非热点数据时,根据所述待查询数据的第一时间戳向各个缓存服务器轮询所述待查询数据是否过期,实现对非热点数据的分类管理,提高后期维护的效率。
附图说明
41.图1为本发明实现缓存数据方法的分布式缓存系统架构的示意图;
42.图2为本发明一实施例提供的缓存数据方法的流程示意图;
43.图3为本发明一实施例提供的缓存数据装置的模块示意图;
44.图4为本发明一实施例提供的实现缓存数据方法的电子设备的结构示意图;
45.本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
46.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
48.如图1所示,为本发明实现缓存数据方法的分布式缓存系统架构的示意图。
49.该分布式缓存系统由至少一个预设的数据库(例如,预设的数据库为关系型数据库管理系统),及多个缓存服务器组成分布式缓存架构,数据库与各个缓存服务器连接通信,客户端与缓存服务器连接通信。
50.关系型数据库管理系统可以是指mysql数据库;缓存服务器是指由承载任何业务逻辑的无状态服务器,每个缓存服务器包含至少一个分布式缓存组件(groupcache)。
51.group cache是一个分布式缓存库,在很多场景下可以替代mem cached节点池,与redis等其他常用cache实现不同,group cache并不运行在单独的server上,而是作为library和app运行在同一进程中。所以groupcache既是server也是client。
52.缓存服务器相比常用的缓存中间件(例如,varnish,ngnix,squid,memcache,redis,ehcache等数据库),在缓存服务器上的分布式缓存组件能提供更低的开销,近乎内存访问;无状态的服务器也远比有状态的缓存中间件更容易扩容,能避免服务器单点故障
和热点数据压垮服务器的问题。
53.本发明提供一种缓存数据方法。参照图2所示,为本发明一实施例提供的缓存数据方法的流程示意图。该方法由电子设备执行。
54.本实施例中,缓存数据方法包括:
55.s1、接收客户端发送待查询数据的请求,获取所述请求中包含所述待查询数据的缓存键。
56.本实施例,客户端上可以安装有各种应用软件,例如,购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件、管理类型软件等。
57.通常,用户在客户端通过网络与代理服务器的数据库进行数据交互,或者客户端通过与代理服务器的数据库的缓存中间件进行数据交互,这两种数据交互方式,都存在数据访问量较大时,容易导致整个系统不稳定的问题(例如,延迟高,增加数据库负载、缓存雪崩、热点等)。
58.为解决这些问题,在本发明的分布式缓存架构场景中,将以用户在客户端上使用管理类型软件的例子说明(并不对本发明的应用领域作限定),用户在客户端打开管理类型软件一个新页面(例如,新建工作项)时,该管理类型软件的配置查询程序,会自动发送查询该新页面的待查询数据的请求给缓存服务器。该新页面的待查询数据是指管理类型软件当前存储在客户端的现有版本。
59.通常,应用软件只有在初始化时才会向缓存服务器请求一次数据,初始化是应用软件一次生命周期开始时进行的,一个生命周期只会进行一次初始化。应用软件通过初始化可以获得所需要的一些全局变量。其中,一个生命周期是指从打开某应用程序开始到该应用程序结束运行为止。
60.在一个实施例中,所述缓存键包含业务配置键、第一时间戳和数据标识,在所述接收客户端查询待查询数据的请求之前,该方法还包括:
61.获取所述业务配置键的数字序列、第一时间戳的数字序列和数据标识的数字序列进行打包并写入所述待查询数据的请求。
62.业务配置键是指根据不同业务的操作属性信息,预先定义该操作属性信息与业务指令的键值信息;时间戳是指从1970年1月1日(utc/gmt的午夜)开始所经过的时间,时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的标签,通常是一个字符序列,唯一地标识某一刻的时间;数据标识是指预设的数据库对每个待查询数据设定的身份id(例如,数据标识为1425789)。
63.应用软件每次初始化后,将现有版本数据的业务配置键、第一时间戳和数据标识进行打包并写入待查询数据的请求,发送至分布式缓存系统。
64.通过在请求中附带待查询数据的缓存键,缓存键包含时间戳即标识了某个时间点的数据,保证应用软件不会获取到过期数据。
65.s2、根据所述缓存键的数据标识判断所述待查询数据是否为热点数据或非热点数据。
66.本实施例,数据库预先对所有的数据(包括客户端、缓存服务器、数据库的数据)进行数据标识,在数据标识后对所有的数据分类成热点数据和非热点数据。
67.数据库的数据更新有很多种因素,例如,数据源(应用软件的提供方)的数据更新
变化或人工的数据处理都可能导致客户端的数据(现有版本)发生变化,即客户端的数据出现新版本。分布式缓存系统接收到请求后,获取待查询数据的数据标识,及该数据标识对应的第一映射关系表,通过对待查询数据的数据标识,及该数据标识对应的第一映射关系表可以快速查询到待查询数据是热点数据或非热点数据。
68.通过将所有的数据分类后,根据数据的热点类型或非热点类型为待查询数据准确、快速分配缓存服务器。
69.在一个实施例中,在所述根据所述缓存键的数据标识判断所述待查询数据是否为热点数据或非热点数据之前,该方法还包括:
70.根据预设的缓存策略对预设的数据库所有数据进行分类,得到分类结果,所述分类结果包括:热点数据、非热点数据。
71.预设的缓存策略是指lru策略算法,lru的全称是least recently used,也就是说我们认为最近使用过的数据应该是热点数据,很久都没用过的数据应该是非热点数据,内存满了就优先删那些很久没用过的数据。
72.通过lru策略算法将数据库中访问次数大于或等于预设值(例如,预设值是指在48小时内访问1000次)数据及数据提供方或管理员自定义的数据筛选出来为热点数据,通过lru策略算法将数据库中访问次数小于预设值数据筛选出来为非热点数据。另外,在其它实施例中,通过lru策略算法将非热点数据中超过预设时间周期(例如,4800小时)都没用过的数据删除,以节省数据库和各个缓存服务器的内存空间。
73.在一个实施例中,在所述对预设的数据库所有的数据进行分类,得到分类结果之后,该方法还包括:
74.建立所述数据库中每个数据的数据标识与所述分类结果之间的第一映射关系表;
75.根据所述第一映射关系表和所述待查询数据的数据标识,判断所述待查询数据是否为热点数据或非热点数据。
76.预先将各个数据的数据标识与对应的热点数据或非热点数据进行关联并建立第一映射关系表,通过第一映射关系表能够快速判断待查询数据属于哪个数据类型,减少系统查询哪个待查询数据会存储至哪个缓存服务器的查询时间,和提高待查询数据的缓存命中率。
77.在其它实施例中,可以通过第一映射关系表的修改,将某些热点数据重新定义为非热点数据,或将某些非热点数据重新定义为热点数据,实现对数据的类型快速切换。
78.s3、若判断所述待查询数据为热点数据,则根据所述缓存键的第一时间戳向随机的缓存服务器查询所述待查询数据是否过期,以完成对所述请求的响应。
79.本实施例,数据提供方或管理员预先在每个缓存服务器都同步存储有相同的热点数据,而非热点数据只存储至某个缓存服务器中;当数据标识判断待查询数据为热点数据时,将查询待查询数据的请求随机发送给任一缓存服务器,该缓存服务器读取请求中待查询数据的第一时间戳和业务配置键,根据第一时间戳和业务配置键向预设的数据库查询待查询数据的目标数据(最新版本)。
80.在本发明中,该缓存服务器向预设的数据库查询待查询数据的目标数据,会出现如下三种查询结果:
81.第一种查询结果:
82.在一个实施例中,在所述根据所述第一时间戳向预设的数据库查询所述第一时间戳对应的待查询数据是否过期之后,该方法还包括:
83.a10、若从所述数据库查询到所述待查询数据过期,则获取所述待查询数据在所述数据库对应的目标数据的缓存键;
84.a20、根据所述目标数据的缓存键,查询所述缓存服务器是否存储有所述目标数据;
85.a30、若所述缓存服务器存储有所述目标数据,则将所述目标数据返回至所述客户端。
86.即第一种查询结果的过程:当数据库中待查询数据的目标数据(最新版本)的第二时间戳比待查询数据(客户端的现有版本)的第一时间戳大,说明待查询数据在客户端的现有版本过期了,根据目标数据的缓存键查询当前缓存服务器(即分配到请求的缓存服务器)是否存储有目标数据,若当前缓存服务器的任一数据的缓存键与目标数据的缓存键一致(即,时间戳、业务配置键、数据标识,三者一致),则说明当前缓存服务器中存储有目标数据,将当前缓存服务器的目标数据返回至客户端进行更新。
87.第二种查询结果:
88.在一个实施例中,在所述根据所述第一时间戳向预设的数据库查询所述第一时间戳对应的待查询数据是否过期之后,该方法还包括:
89.b10、若从所述数据库查询到所述待查询数据过期,则获取所述待查询数据在所述数据库对应的目标数据的缓存键;
90.b20、根据所述目标数据的缓存键,查询所述缓存服务器是否存储有所述目标数据;
91.b30、若所述缓存服务器未存储有所述目标数据,则利用所述缓存服务器的分布式缓存组件,向所述数据库请求在所述缓存服务器中构建所述目标数据;
92.b40、将构建后的所述目标数据返回至所述客户端。
93.即第二种查询结果的过程:通过数据库查询到待查询数据已经有目标数据(最新版本),当查询到当前缓存服务器(即分配到请求的缓存服务器)未存储有目标数据时,需要当前缓存服务器向数据库请求在当前缓存服务器的分布式缓存组件构建目标数据,将缓存层构建好的目标数据返回至客户端进行更新。
94.第三种查询结果:
95.在一个实施例中,在所述根据所述第一时间戳向预设的数据库查询所述第一时间戳对应的待查询数据是否过期之后,该方法还包括:
96.当查询到所述数据库存储的目标数据的第二时间戳与所述待查询数据的第一时间戳相同,则证明所述待查询数据没有过期,返回空消息至客户端。
97.即第三种查询结果的过程:当数据库查询到的目标数据的第二时间戳与待查询数据的第一时间戳相同时,说明待查询数据在客户端的现有版本没有过期,或者说数据库中没有待查询数据的最新版本,数据库返回空消息至客户端并结束查询请求。通过时间戳得出待查询数据在客户端的现有版本没有过期,在数据没有更新的情况下,让服务器不需要返回冗余数据。
98.通过上述三种查询结果的方式,当数据库的数据发生更新出现最新版本时,会生
成一个新的时间戳(第二时间戳),最新版本数据的时间戳比现有版本的时间戳大,通过时间戳的标识了某个时间点后的数据,这样保证不会获取到过期的数据,保证数据库内可以使用任意唯一递增的序号,还可以在排查问题时提供时间信息。
99.在一个实施例中,所述的缓存数据方法还包括:
100.c10、预先将各个热点数据分别同步存储至各个缓存服务器中;
101.通过多个缓存服务器组成的分布式缓存架构,将热点数据分别存储至各个缓存服务器中,可以实现点对点的缓存;只要判断待查询数据为热点数据,即将请求发送至随机的缓存服务器进行查询,能快速响应热点数据的请求,防止现有技术中由中间件对某个key访问非常频繁,当key失效的时候有大量线程来构建缓存,导致负载增加和系统崩溃的问题。
102.c20、及预先根据各个非热点数据的缓存键划分各个缓存服务器的存储类型,将各个非热点数据分别存储至对应存储类型的缓存服务器中。
103.根据各个非热点数据的业务配置键对不同业务的操作属性信息的定义,将各个缓存服务器分成不同的存储类型(例如,新建工作项、编辑工作项、查看工作项、新建测试用例、查看测试用例等),然后将不同的非热点数据分类存储至对应缓存服务器中,实现对非热点数据的分类管理,提高后期维护的效率。
104.通过s3步骤将各个热点数据分别同步存储至各个缓存服务器,而由多个缓存服务器组成的分布式缓存架构舍弃了现有技术的中间件,即由多个缓存服务器与数据库进行通信,且热点数据同步存储至各个缓存服务器中,从而避免了所有缓存消息都依赖消息中间件进行传递,一旦消息中间件故障则整个系统将瘫痪的问题,提升了系统可靠性。
105.s4、若判断所述待查询数据为非热点数据,则根据所述第一时间戳向各个缓存服务器轮询所述待查询数据是否过期,以完成对所述请求的响应。
106.本实施例,当根据数据标识和第一映射关系表,判断待查询数据为非热点数据时,将请求向各个缓存服务器进行轮询,得到出由哪一个缓存服务器存储有待查询数据,由这个存储有待查询数据的缓存服务器读取待查询数据的第一时间戳和业务配置键,根据第一时间戳和业务配置键向预设的数据库查询待查询数据的目标数据(最新版本),在待查询数据的目标数据(最新版本)的步骤和过程,与上述三种查询结果相同的,因此不再赘述。
107.在一个实施例中,所述的缓存数据方法的s4步骤替换为以下步骤,包括:
108.若判断所述待查询数据为非热点数据,则根据所述第一时间戳与预先确定的缓存服务器建立的第二映射关系表确定出所述待查询数据对应的缓存服务器;
109.从所述缓存服务器中查询所述待查询数据是否过期,以完成对所述请求的响应。
110.由数据提供方或管理员预先建立将每个非热点数据与与预先确定的缓存服务器之间的第二映射关系表,及预先将非热点数据存储至指定的缓存服务器中。当根据数据标识判断待查询数据为非热点数据时,根据第二映射关系表确定出对应的缓存服务器,该缓存服务器读取请求中待查询数据的第一时间戳和业务配置键,根据第一时间戳和业务配置键向预设的数据库查询待查询数据的最新版本,在待查询数据的目标数据(最新版本)的步骤和过程,与上述三种查询结果相同的,因此不再赘述。
111.通过第二映射关系表能够快速确定出待查询数据对应的缓存服务器,大幅降低查询耗时,减轻缓存服务器的负载。
112.在一个实施例中,所述的缓存数据方法,还包括:
113.接收客户端对现有版本数据进行更新生成的请求,所述请求中包含所述现有版本数据的缓存键;
114.根据缓存服务器的时间戳服务组件,将所述缓存键的第三时间戳更新成第四时间戳;
115.根据所述第四时间戳和所述缓存键的业务配置键,更新存储在预设的数据库中所述现有版本数据对应的最新版本。
116.用户可以根据需求对待更新数据(安装后的目标数据)的版本进行编辑(例如,对管理类型软件的某个工作项的修改或删除)后,生成待更新数据的第三时间戳,将待更新数据的第三时间戳、业务配置键生成待更新数据的请求并发送至存储有目标数据的缓存服务器,根据缓存服务器的时间戳服务组件将请求中第三时间戳生成第四时间戳,根据待更新数据的第四时间戳和业务配置键去更新预设的数据库的待更新数据的版本。
117.在同一个缓存服务器的事务里更新数据,是为了保证后续根据时间戳构建缓存时,不会获取到过期数据,同时保证数据和时间戳是一致的,保障缓存数据的正确性。
118.如图3所示,为本发明一实施例提供的缓存数据装置的模块示意图。
119.本发明所述缓存数据装置100可以安装于电子设备中。根据实现的功能,所述缓存数据装置100可以包括接收模块110、判断模块120、热点处理模块130及非热点处理模块140。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
120.在本实施例中,关于各模块/单元的功能如下:
121.接收模块,用于接收客户端发送待查询数据的请求,获取所述请求中包含所述待查询数据的缓存键。
122.判断模块,用于根据所述缓存键的数据标识判断所述待查询数据是否为热点数据或非热点数据。
123.热点处理模块,用于若判断所述待查询数据为热点数据,则根据所述缓存键的第一时间戳向随机的缓存服务器查询所述待查询数据是否过期,以完成对所述请求的响应。
124.非热点处理模块,用于若判断所述待查询数据为非热点数据,则根据所述第一时间戳向各个缓存服务器轮询所述待查询数据是否过期,以完成对所述请求的响应。
125.在一个实施例中,在所述根据所述缓存键的数据标识判断所述待查询数据是否为热点数据或非热点数据之前,该方法还包括:
126.根据预设的缓存策略对预设的数据库所有数据进行分类,得到分类结果,所述分类结果包括:热点数据、非热点数据。
127.在一个实施例中,在所述对预设的数据库所有的数据进行分类,得到分类结果之后,该方法还包括:
128.建立所述数据库中每个数据的数据标识与所述分类结果之间的第一映射关系表;
129.根据所述第一映射关系表和所述待查询数据的数据标识,判断所述待查询数据是否为热点数据或非热点数据。
130.在一个实施例中,所述的缓存数据方法还包括:
131.预先将各个热点数据分别同步存储至各个缓存服务器中;
132.及预先根据各个非热点数据的缓存键划分各个缓存服务器的存储类型,将各个非
热点数据分别存储至对应存储类型的缓存服务器中。
133.在一个实施例中,在所述根据所述第一时间戳向预设的数据库查询所述第一时间戳对应的待查询数据是否过期之后,该方法还包括:
134.a10、若从所述数据库查询到所述待查询数据过期,则获取所述待查询数据在所述数据库对应的目标数据的缓存键;
135.a20、根据所述目标数据的缓存键,查询所述缓存服务器是否存储有所述目标数据;
136.a30、若所述缓存服务器存储有所述目标数据,则将所述目标数据返回至所述客户端。
137.在一个实施例中,在所述根据所述第一时间戳向预设的数据库查询所述第一时间戳对应的待查询数据是否过期之后,该方法还包括:
138.b10、若从所述数据库查询到所述待查询数据过期,则获取所述待查询数据在所述数据库对应的目标数据的缓存键;
139.b20、根据所述目标数据的缓存键,查询所述缓存服务器是否存储有所述目标数据;
140.b30、若所述缓存服务器未存储有所述目标数据,则利用所述缓存服务器的分布式缓存组件,向所述数据库请求在所述缓存服务器中构建所述目标数据;
141.b40、将构建后的所述目标数据返回至所述客户端。
142.在一个实施例中,所述根据所述第一时间戳向各个缓存服务器轮询所述待查询数据是否过期,以完成对所述请求的响应替换为以下步骤,包括:
143.根据所述待查询数据的第一时间戳与预先确定的缓存服务器建立的第二映射关系表确定出所述待查询数据对应的缓存服务器;
144.从所述缓存服务器中查询所述待查询数据是否过期,以完成对所述请求的响应。
145.如图4所示,为本发明一实施例提供的实现缓存数据方法的电子设备的结构示意图。
146.在本实施例中,电子设备1包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,该存储器11中存储有缓存数据程序10,所述缓存数据程序10可被所述处理器12执行。图3仅示出了具有组件11-13以及缓存数据程序10的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
147.其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子设备1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子设备1的内部存储单元;在另一些实施例中,该非易失性存储介质也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于电子设备1的操作系统和各类应用软件,例如存储本发明一实施例中的缓存数据程序10的代码
等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
148.处理器12在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行缓存数据程序10等。
149.网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述电子设备1与终端(图中未画出)之间建立通信连接。
150.可选的,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
151.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
152.所述电子设备1中的所述存储器11存储的缓存数据程序10是多个指令的组合,在所述处理器12中运行时,可以实现:
153.接收客户端发送待查询数据的请求,获取所述请求中包含所述待查询数据的缓存键;
154.根据所述缓存键的数据标识判断所述待查询数据是否为热点数据或非热点数据;
155.若判断所述待查询数据为热点数据,则根据所述缓存键的第一时间戳向随机的缓存服务器查询所述待查询数据是否过期,以完成对所述请求的响应;
156.若判断所述待查询数据为非热点数据,则根据所述第一时间戳向各个缓存服务器轮询所述待查询数据是否过期,以完成对所述请求的响应。
157.具体地,所述处理器12对上述缓存数据程序10的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
158.进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是非易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
159.所述计算机可读存储介质上存储有缓存数据程序10,所述缓存数据程序10可被一个或者多个处理器执行,本发明计算机可读存储介质具体实施方式与上述缓存数据方法各实施例基本相同,在此不作赘述。
160.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
161.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
162.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
163.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
164.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
165.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
166.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献