本文作者:kaifamei

数据缓存方法及其装置、计算机可读存储介质、处理器与流程

更新时间:2025-03-23 13:21:34 0条评论

数据缓存方法及其装置、计算机可读存储介质、处理器与流程

1.本发明涉及计算机领域,具体而言,涉及一种数据缓存方法及其装置、计算机可读存储介质、处理器。

背景技术


::2.现有主流分布式缓存技术memcache和redis,均采用客户端-服务端的两层结构,在对关系型数据库中数据进行缓存时,如果采用本地化(127.0.0.1)部署,因缺少必要的多服务端实例之间的数据同步机制,存在数据同步难度高的问题。如果采用集化部署,并通过网络进行访问时,其客户端到服务端的访问速度,很大程度上受限于网络带宽与网络延迟,存在存取效率低、反应速度慢的问题。3.memcache与redis均采用key-value的结构存储数据,而关系型数据库存储的是结构化数据,因此,memcache与redis在进行关系型数据库数据存取时,均需要进行结构化数据与key-value数据的转换,存在存取结构复杂的问题。4.在

背景技术


:部分中公开的以上信息只是用来加强对本文所描述技术的

背景技术


:的理解,因此,

背景技术


:中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。技术实现要素:5.本发明实施例提供了一种数据缓存方法及其装置、计算机可读存储介质、处理器,以至少解决针对相关技术中部分分布式缓存技术存取结构较复杂导致数据传输效率不高的技术问题。6.根据本发明实施例的一个方面,提供了一种数据缓存方法,包括:响应于目标客户端的数据查询请求,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,所述客户端缓存注册接口以及所述第一数据加载接口为预先生成的缓存操作信息;利用所述第一数据加载接口从缓存服务端请求与所述第一待缓存信息对应的第一数据资源;将所述第一数据资源缓存至所述目标客户端。7.可选地,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,包括:基于所述数据查询请求从所述缓存操作信息中调用所述客户端缓存接口以及所述第一数据加载接口;利用所述客户端缓存接口将所述第一待缓存信息以及所述第一数据加载接口注册到所述目标服务中。8.可选地,利用所述第一数据加载接口从缓存服务端请求与所述第一待缓存信息对应的第一数据资源,包括:依次调用所述第一数据加载接口从所述缓存服务端请求所述第一数据资源,得到数据请求结果;确定所述数据请求结果中的第二数据资源以及数据请求失败信息;从本地数据库中重新加载所述数据请求失败信息对应的第三数据资源;基于所述第二数据资源以及所述第三数据资源获取所述第一数据资源。9.可选地,在从本地数据库中重新加载所述数据请求失败信息对应的第三数据资源之后,所述方法还包括:启动第一数据缓存监控线程,其中,所述第一数据缓存监控线程每间隔第一预定时长向所述目标服务端请求所述第一数据资源的第一数据版本信息,并将所述第一数据版本信息与自身存储的第二数据版本信息进行比对,在比对结果表示所述第一数据版本信息与所述第二数据版本信息不一致时,向所述目标服务端发起第一缓存查询请求,所述第一缓存查询请求将所述目标服务端中的变动数据更新到本地缓存中。10.可选地,所述方法还包括:对所述缓存服务端与关系型数据库进行数据同步;其中,对所述缓存服务器与所述关系型数据库进行数据同步,包括:通过服务端缓存注册接口将第二待缓存信息以及第二数据加载接口注册到所述缓存服务端中,其中,所述服务端缓存注册接口以及所述第二数据加载接口为同样为预先生成的缓存操作信息;利用所述第二数据加载接口将所述第二待缓存信息加载到所述关系型数据库中,以对所述缓存服务器与所述关系型数据库进行数据同步。11.可选地,在对所述缓存服务端与关系型数据库进行数据同步之后,所述方法还包括:启动第二数据缓存监控线程,其中,所述第二数据缓存监控线程每间隔第二预定时长向所述关系型数据库请求所述第二数据资源的第三数据版本信息,并将所述第三数据版本信息与自身存储的第四数据版本信息进行比对,在比对结果表示所述第三数据版本信息与所述第四数据版本信息不一致时,向所述关系型数据库发起第二缓存查询请求,所述第二缓存查询请求将所述关系型数据库中的变动数据更新到所述缓存服务端中。12.可选地,在对所述缓存服务端与关系型数据库进行数据同步之后,所述方法还包括:生成所述缓存操作信息;其中,生成所述缓存操作信息,包括:获取所述关系型数据库的数据缓存配置表;所述数据缓存配置表,以基于解析结果生成所述缓存操作信息,其中,所述缓存操作信息至少包括:所述客户端缓存注册接口、所述第一数据加载接口、所述服务端缓存注册接口以及所述第二数据加载接口。13.可选地,所述缓存操作信息还包括以下至少之一:缓存操作接口头文件、缓存数据列表、缓存数据更新接口代码信息、数据压缩/解压缩接口、缓存查询接口。14.根据本发明实施例的一个方面,还提供了一种数据缓存装置,包括:加载模块,用于响应于目标客户端的数据查询请求,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,所述客户端缓存注册接口以及所述第一数据加载接口为预先生成的缓存操作信息;请求模块,用于利用所述第一数据加载接口从缓存服务端请求与所述第一待缓存信息对应的第一数据资源;缓存模块,用于将所述第一数据资源缓存至所述目标客户端。15.可选地,所述加载模块,包括:调用单元,用于基于所述数据查询请求从所述缓存操作信息中调用所述客户端缓存接口以及所述第一数据加载接口;第一加载单元,用于利用所述客户端缓存接口将所述第一待缓存信息以及所述第一数据加载接口注册到所述目标服务中。16.可选地,所述请求模块,包括:第一获取单元,用于依次调用所述第一数据加载接口从所述缓存服务端请求所述第一数据资源,得到数据请求结果;确定单元,用于确定所述数据请求结果中的第二数据资源以及数据请求失败信息;重新加载单元,用于从本地数据库中重新加载所述数据请求失败信息对应的第三数据资源;第二获取单元,用于基于所述第二数据资源以及所述第三数据资源获取所述第一数据资源。17.可选地,所述装置还包括:第一启动单元,用于在从本地数据库中重新加载所述数据请求失败信息对应的第三数据资源之后,启动第一数据缓存监控线程,其中,所述第一数据缓存监控线程每间隔第一预定时长向所述目标服务端请求所述第一数据资源的第一数据版本信息,并将所述第一数据版本信息与自身存储的第二数据版本信息进行比对,在比对结果表示所述第一数据版本信息与所述第二数据版本信息不一致时,向所述目标服务端发起第一缓存查询请求,所述第一缓存查询请求将所述目标服务端中的变动数据更新到本地缓存中。18.可选地,所述装置还包括:同步模块,用于对所述缓存服务端与关系型数据库进行数据同步;其中,所述同步模块,包括:第二加载单元,用于通过服务端缓存注册接口将第二待缓存信息以及第二数据加载接口注册到所述缓存服务端中,其中,所述服务端缓存注册接口以及所述第二数据加载接口为同样为预先生成的缓存操作信息;第三加载单元,用于利用所述第二数据加载接口将所述第二待缓存信息加载到所述关系型数据库中,以对所述缓存服务器与所述关系型数据库进行数据同步。19.可选地,所述装置还包括:第二启动单元,用于在对所述缓存服务端与关系型数据库进行数据同步之后,启动第二数据缓存监控线程,其中,所述第二数据缓存监控线程每间隔第二预定时长向所述关系型数据库请求所述第二数据资源的第三数据版本信息,并将所述第三数据版本信息与自身存储的第四数据版本信息进行比对,在比对结果表示所述第三数据版本信息与所述第四数据版本信息不一致时,向所述关系型数据库发起第二缓存查询请求,所述第二缓存查询请求将所述关系型数据库中的变动数据更新到所述缓存服务端中。20.可选地,所述装置还包括:生成单元,用于在对所述缓存服务端与关系型数据库进行数据同步之后,生成所述缓存操作信息;其中,所述生成单元,包括:获取子单元,用于获取所述关系型数据库的数据缓存配置表;解析子单元,用于解析所述数据缓存配置表,以基于解析结果生成所述缓存操作信息,其中,所述缓存操作信息至少包括:所述客户端缓存注册接口、所述第一数据加载接口、所述服务端缓存注册接口以及所述第二数据加载接口。21.可选地,所述缓存操作信息还包括以下至少之一:缓存操作接口头文件、缓存数据列表、缓存数据更新接口代码信息、数据压缩/解压缩接口、缓存查询接口。22.根据本发明实施例的一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行中任意一项所述的数据缓存方法。23.根据本发明实施例的一个方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行中任意一项所述的数据缓存方法。24.在本发明实施例中,响应于目标客户端的数据查询请求,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,客户端缓存注册接口以及第一数据加载接口为预先生成的缓存操作信息;利用第一数据加载接口从缓存服务端请求与第一待缓存信息对应的第一数据资源;将第一数据资源缓存至目标客户端。通过本发明实施例提供的数据缓存方法,达到了在服务启动时,将待缓存信息等数据加载接口注册到目标服务中,接着获取与待缓存信息对应的数据资源并将其加载至客户端,达到了在接收到数据查询请求后,直接查询本地客户端缓存的结构化数据的目的,从而实现了提升数据传输效率的技术效果,进而解决了针对相关技术中部分分布式缓存技术存取结构较复杂导致数据传输效率不高的技术问题。附图说明25.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:26.图1是根据本发明实施例的数据缓存方法的流程图;27.图2是根据本发明实施例的表结构与生成的结构化头文件中结构体定义的对应关系的示意图;28.图3是根据本发明实施例的服务端缓存加载及动态维护机制的示意图;29.图4是根据本发明实施例的客户端缓存加载及动态维护机制的示意图;30.图5是根据本发明实施例的缓存操作代码自动生成机制的示意图;31.图6是根据本发明实施例的数据缓存装置的示意图。具体实施方式32.为了使本

技术领域


:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。33.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。34.实施例135.根据本发明实施例,提供了一种数据缓存方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。36.图1是根据本发明实施例的数据缓存方法的流程图,如图1所示,该方法包括如下步骤:37.步骤s102,响应于目标客户端的数据查询请求,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,客户端缓存注册接口以及第一数据加载接口为预先生成的缓存操作信息;38.可选的,在上述步骤中,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口在目标服务中注册。39.需要说明的是,第一数据加载接口为将需要缓存的表名及其数据加载接口注册到目标服务中。40.步骤s104,利用第一数据加载接口从缓存服务端请求与第一待缓存信息对应的第一数据资源;41.可选的,在上述步骤中,基于第一数据加载接口从缓存服务端来请求与第一待缓存信息相对应的数据资源(即第一数据资源)。42.步骤s106,将第一数据资源缓存至目标客户端。43.由上可知,在本发明实施例中,首先通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,客户端缓存注册接口以及第一数据加载接口为预先生成的缓存操作信息;接着可以利用第一数据加载接口从缓存服务端请求与第一待缓存信息对应的第一数据资源;最后可以将第一数据资源缓存至目标客户端。通过本发明实施例提供的数据缓存方法,达到了在目标服务启动时将待缓存信息等数据加载接口注册到目标服务中,接着获取与待缓存信息对应的数据资源并将其加载至客户端,在接收到数据查询请求后,直接返回本地客户端缓存的结构化数据的目的,从而实现了提升数据传输效率的技术效果,进而解决了针对相关技术中部分分布式缓存技术存取结构较复杂导致数据传输效率不高的技术问题。44.作为一种可选的实施例,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,包括:基于数据查询请求从缓存操作信息中调用客户端缓存接口以及第一数据加载接口;利用客户端缓存接口将第一待缓存信息以及第一数据加载接口注册到目标服务中。45.需要说明的是,唤醒从缓存操作信息中调用客户端缓存接口以及第一数据加载接口的方式包括但不限于:基于数据查询请求唤醒、在服务启动时自动唤醒。46.需要说明的是,客户端缓存接口主要包括客户端缓存加载接口。47.在上述可选的实施例中,首先可以自动生成结构化表结构头文件。例如,图2是根据本发明实施例的表结构与生成的结构化头文件中结构体定义的对应关系的示意图,如图2所示,tb_aps表的表结构与生成的结构化头文件中结构体定义的对应关系可以从图中获取:接着可以自动生成缓存操作接口头文件;接着自动生成缓存数据列表,缓存注册接口,缓存数据加载接口,缓存数据更新接口代码文件;最后自动生成每张需缓存表缓存操作代码文件,其中包括每张表的缓存加载接口、缓存查询接口、数据压缩解压缩接口等。48.作为一种可选的实施例,利用第一数据加载接口从缓存服务端请求与第一待缓存信息对应的第一数据资源,包括:依次调用第一数据加载接口从缓存服务端请求第一数据资源,得到数据请求结果;确定数据请求结果中的第二数据资源以及数据请求失败信息;从本地数据库中重新加载数据请求失败信息对应的第三数据资源;基于第二数据资源以及第三数据资源获取第一数据资源。49.在上述可选的实施例中,服务端缓存加载及动态维护机制,保证了服务端缓存数据与关系型数据库中数据的准实时同步。缓存服务端(platmanager)在启动时具体的步骤如下所示:50.1)、调用自动生成的缓存注册接口,将需要缓存的数据库表名及其数据加载接口注册到缓存服务端platmanager服务中。51.2)、调用数据加载接口将数据库中表数据加载到数据缓存区。52.3)、缓存数据加载完成后,platmanager服务拉起缓存监控线程,用以监控数据库中数据的更新及进行缓存数据刷新操作。53.作为一种可选的实施例,在从本地数据库中重新加载数据请求失败信息对应的第三数据资源之后,方法还包括:启动第一数据缓存监控线程,其中,第一数据缓存监控线程每间隔第一预定时长向目标服务端请求第一数据资源的第一数据版本信息,并将第一数据版本信息与自身存储的第二数据版本信息进行比对,在比对结果表示第一数据版本信息与第二数据版本信息不一致时,向目标服务端发起第一缓存查询请求,第一缓存查询请求将目标服务端中的变动数据更新到本地数据库中。54.需要说明的是,本地数据库为本地客户端缓存。55.图3是根据本发明实施例的服务端缓存加载及动态维护机制的示意图,如图3所示,缓存服务端可以是单实例部署,也可以是多实例的部署,其不同实例之间的数据同步,以及与数据库之间的数据同步,是通过服务端缓存数据的动态维护实现的。服务端缓存数据的动态维护,通过数据版本信息及缓存监控线程实现。缓存监控线程会间隔一段时间对保存在数据库中的数据版本信息进行查询,如果发现数据版本信息发生变动,则会调用platmanager中注册的发生数据变动的表的缓存加载接口,完成缓存数据与数据库的同步。56.用户可以通过直接修改数据库中的数据版本信息,完成数据版本信息的维护,但这种方式并不优雅。platmanager提供了缓存刷新命令,缓存监控线程接收到命令之后,会完成数据版本信息的维护和缓存的刷新。而其他platmanager实例会监测到数据版本信息的变动,并及时完成缓存数据的同步。57.作为一种可选的实施例,方法还包括:对缓存服务端与关系型数据库进行数据同步;其中,对缓存服务器与关系型数据库进行数据同步,包括:通过服务端缓存注册接口将第二待缓存信息以及第二数据加载接口注册到缓存服务端中,其中,服务端缓存注册接口以及第二数据加载接口为同样为预先生成的缓存操作信息;利用第二数据加载接口将第二待缓存信息加载到关系型数据库中,以对缓存服务器与关系型数据库进行数据同步。58.需要说明的是,第二待缓存信息包括但不限于:第二待缓存内容的版本信息。59.在上述可选的实施例中,客户端缓存加载及动态维护机制,保证了客户端缓存数据与服务端缓存数据的准实时同步。缓存客户端是以一组自动生成的缓存接口的形式提供给缓存需求方的。需求方服务在启动时的详细步骤如下所示:60.1)、调用客户端缓存注册接口,将需要缓存的表名及其数据加载接口注册到目标服务中。61.2)、依次调用注册到目标服务的数据加载接口,从缓存服务端(platmanager)服务请求数据,加载到本地,并将失败的加载请求,登记到本地的失败列表。62.3)、遍历失败列表,将本地数据库作为数据源,对缓存数据进行重新加载。63.4)、本地缓存加载完成后,启动缓存监控线程。64.作为一种可选的实施例,在对缓存服务端与关系型数据库进行数据同步之后,方法还包括:启动第二数据缓存监控线程,其中,第二数据缓存监控线程每间隔第二预定时长向关系型数据库请求第二数据资源的第三数据版本信息,并将第三数据版本信息与自身存储的第四数据版本信息进行比对,在比对结果表示第三数据版本信息与第四数据版本信息不一致时,向关系型数据库发起第二缓存查询请求,第二缓存查询请求将关系型数据库中的变动数据更新到缓存服务端中。65.图4是根据本发明实施例的客户端缓存加载及动态维护机制的示意图,如图4所示,客户端缓存数据的动态维护,也是通过缓存监控线程实现的。缓存监控线程会间隔一定时间向platmanager请求数据版本信息,并与自身存储的数据版本信息进行核对。如果发现数据版本变动,则向服务端发起缓存查询,并将变动数据拉取并更新到本地数据缓存区中,从而完成客户端缓存与服务端的同步。66.作为一种可选的实施例,在对缓存服务端与关系型数据库进行数据同步之后,方法还包括:生成缓存操作信息;其中,生成缓存操作信息,包括:获取关系型数据库的数据缓存配置表;数据缓存配置表,以基于解析结果生成缓存操作信息,其中,缓存操作信息至少包括:客户端缓存注册接口、第一数据加载接口、服务端缓存注册接口以及第二数据加载接口。67.在上述可选的实施例中,缓存操作自动代码生成通过数据缓存配置表tb_pmctl_cache_info进行控制,下面通过表1对表格的结构进行详细说明。68.表1[0069][0070]进一步的,主键为table_name与seq_no。[0071]作为一种可选的实施例,缓存操作信息还包括以下至少之一:缓存操作接口头文件、缓存数据列表、缓存数据更新接口代码信息、数据压缩/解压缩接口、缓存查询接口。[0072]图5是根据本发明实施例的缓存操作代码自动生成机制的示意图,如图5所示,缓存操作代码自动生成机制,是本发明的核心机制。其中,缓存结构化查询机制是基于缓存操作代码自动生成机制实现的。缓存结构化查询,可以根据配置生成多个结构化查询接口,支持按主键、非主键查询,可同时返回多条数据,并支持数据排序。[0073]进一步地,缓存结构化查询接口,可以将查询到的缓存数据,返回到通过表结构头文件定义的结构体变量(一条)或结构体变量数组(多条)中,将关系型数据库的表中的结构化数据,存储到同名结构体成员变量中,从而实现了分布式缓存数据的结构化查询。[0074]需要解释的是,memcache是一套分布式的高速缓存系统,memcached是以守护程序(监听)方式运行于一个或多个服务器中。redis(remotedictionaryserver),即远程字典服务,是一个开源的使用ansic语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,memcache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用lru(leastrecentlyused,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据;redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步。[0075]由上可知,本发明实施例中的所有缓存查询,操作的均为客户端本地缓存,同时依靠客户端动态维护机制保证了客户端与服务端缓存数据的一致性,依靠服务端动态维护机制保证了服务端与数据库数据的一致性,从而有效解决了memcache和redis分布式缓存技术数据同步与反应速度不能兼顾的问题。并且本发明实施例提供的方法还区别于主流分布式缓存技术客户端-服务端缓存双层结构的,结构化查询api-客户端缓存-服务端缓存的三层数据同步模式;并且对应三层数据同步模式的分布式缓存客户端与服务端,服务端与服务端,服务端与数据库,基于表数据版本的数据一致性保证机制;基于配置与数据库表结构解析的数据库操作、缓存操作代码自动生成机制,以及基于自动代码生成机制实现的缓存数据结构化查询功能。[0076]实施例2[0077]根据本发明实施例的一个方面,还提供了一种数据缓存装置,图6是根据本发明实施例的数据缓存装置的示意图,如图6所示,包括:加载模块61、请求模块63以及缓存模块65。下面对该数据缓存装置进行详细介绍。[0078]加载模块61,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,客户端缓存注册接口以及第一数据加载接口为预先生成的缓存操作信息;[0079]请求模块63,用于利用第一数据加载接口从缓存服务端请求与第一待缓存信息对应的第一数据资源;[0080]缓存模块65,用于将第一数据资源缓存至目标客户端。[0081]由上可知,在本发明实施例中,首先可以利用加载模块61响应于目标客户端的数据查询请求,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,客户端缓存注册接口以及第一数据加载接口为预先生成的缓存操作信息;接着可以利用请求模块63利用第一数据加载接口从缓存服务端请求与第一待缓存信息对应的第一数据资源;最后可以利用缓存模块65将第一数据资源缓存至目标客户端。通过本发明实施例提供的数据缓存装置,达到了在目标服务启动时将待缓存信息等数据加载接口注册到目标服务中,接着获取与待缓存信息对应的数据资源并将其加载至客户端,在接收到数据查询请求后,直接返回本地客户端缓存的结构化数据的目的,从而实现了提升数据传输效率的技术效果,进而解决了针对相关技术中部分分布式缓存技术存取结构较复杂导致数据传输效率不高的技术问题。[0082]可选地,加载模块,包括:调用单元,用于基于数据查询请求从缓存操作信息中调用客户端缓存接口以及第一数据加载接口;第一加载单元,用于利用客户端缓存接口将第一待缓存信息以及第一数据加载接口注册到目标服务中。[0083]可选地,请求模块,包括:第一获取单元,用于依次调用第一数据加载接口从缓存服务端请求第一数据资源,得到数据请求结果;确定单元,用于确定数据请求结果中的第二数据资源以及数据请求失败信息;重新加载单元,用于从本地数据库中重新加载数据请求失败信息对应的第三数据资源;第二获取单元,用于基于第二数据资源以及第三数据资源获取第一数据资源。[0084]可选地,装置还包括:第一启动单元,用于在从本地数据库中重新加载数据请求失败信息对应的第三数据资源之后,启动第一数据缓存监控线程,其中,第一数据缓存监控线程每间隔第一预定时长向目标服务端请求第一数据资源的第一数据版本信息,并将第一数据版本信息与自身存储的第二数据版本信息进行比对,在比对结果表示第一数据版本信息与第二数据版本信息不一致时,向目标服务端发起第一缓存查询请求,第一缓存查询请求将目标服务端中的变动数据更新到本地数据库中。[0085]可选地,装置还包括:同步模块,用于对缓存服务端与关系型数据库进行数据同步;其中,同步模块,包括:第二加载单元,用于通过服务端缓存注册接口将第二待缓存信息以及第二数据加载接口注册到缓存服务端中,其中,服务端缓存注册接口以及第二数据加载接口为同样为预先生成的缓存操作信息;第三加载单元,用于利用第二数据加载接口将第二待缓存信息加载到关系型数据库中,以对缓存服务器与关系型数据库进行数据同步。[0086]可选地,装置还包括:第二启动单元,用于在对缓存服务端与关系型数据库进行数据同步之后,启动第二数据缓存监控线程,其中,第二数据缓存监控线程每间隔第二预定时长向关系型数据库请求第二数据资源的第三数据版本信息,并将第三数据版本信息与自身存储的第四数据版本信息进行比对,在比对结果表示第三数据版本信息与第四数据版本信息不一致时,向关系型数据库发起第二缓存查询请求,第二缓存查询请求将关系型数据库中的变动数据更新到缓存服务端中。[0087]可选地,装置还包括:生成单元,用于在对缓存服务端与关系型数据库进行数据同步之后,生成缓存操作信息;其中,生成单元,包括:获取子单元,用于获取关系型数据库的数据缓存配置表;解析子单元,用于解析数据缓存配置表,以基于解析结果生成缓存操作信息,其中,缓存操作信息至少包括:客户端缓存注册接口、第一数据加载接口、服务端缓存注册接口以及第二数据加载接口。[0088]可选地,缓存操作信息还包括以下至少之一:缓存操作接口头文件、缓存数据列表、缓存数据更新接口代码信息、数据压缩/解压缩接口、缓存查询接口。[0089]实施例3[0090]根据本发明实施例的一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行中任意一项的数据缓存方法。[0091]实施例4[0092]根据本发明实施例的一个方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行中任意一项的数据缓存方法。[0093]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。[0094]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。[0095]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。[0096]在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。[0097]在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。[0098]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0099]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。[0100]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。[0101]以上所述仅是本发明的优选实施方式,应当指出,对于本

技术领域


:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12

技术特征:


1.一种数据缓存方法,其特征在于,包括:通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,所述客户端缓存注册接口以及所述第一数据加载接口为预先生成的缓存操作信息;利用所述第一数据加载接口从缓存服务端请求与所述第一待缓存信息对应的第一数据资源;将所述第一数据资源缓存至所述目标客户端。2.根据权利要求1所述的数据缓存方法,其特征在于,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,包括:基于所述数据查询请求从所述缓存操作信息中调用所述客户端缓存接口以及所述第一数据加载接口;利用所述客户端缓存接口将所述第一待缓存信息以及所述第一数据加载接口注册到所述目标服务中。3.根据权利要求1所述的数据缓存方法,其特征在于,利用所述第一数据加载接口从缓存服务端请求与所述第一待缓存信息对应的第一数据资源,包括:依次调用所述第一数据加载接口从所述缓存服务端请求所述第一数据资源,得到数据请求结果;确定所述数据请求结果中的第二数据资源以及数据请求失败信息;从本地数据库中重新加载所述数据请求失败信息对应的第三数据资源;基于所述第二数据资源以及所述第三数据资源获取所述第一数据资源。4.根据权利要求3所述的数据缓存方法,其特征在于,在从本地数据库中重新加载所述数据请求失败信息对应的第三数据资源之后,所述方法还包括:启动第一数据缓存监控线程,其中,所述第一数据缓存监控线程每间隔第一预定时长向所述目标服务端请求所述第一数据资源的第一数据版本信息,并将所述第一数据版本信息与自身存储的第二数据版本信息进行比对,在比对结果表示所述第一数据版本信息与所述第二数据版本信息不一致时,向所述目标服务端发起第一缓存查询请求,所述第一缓存查询请求将所述目标服务端中的变动数据更新到本地缓存中。5.根据权利要求1至4中任一项所述的数据缓存方法,其特征在于,所述方法还包括:对所述缓存服务端与关系型数据库进行数据同步,其中,对所述缓存服务器与所述关系型数据库进行数据同步,包括:通过服务端缓存注册接口将第二待缓存信息以及第二数据加载接口注册到所述缓存服务端中,其中,所述服务端缓存注册接口以及所述第二数据加载接口为同样为预先生成的缓存操作信息;利用所述第二数据加载接口将所述第二待缓存信息加载到所述关系型数据库中,以对所述缓存服务器与所述关系型数据库进行数据同步。6.根据权利要求5所述的数据缓存方法,其特征在于,在对所述缓存服务端与关系型数据库进行数据同步之后,所述方法还包括:启动第二数据缓存监控线程,其中,所述第二数据缓存监控线程每间隔第二预定时长向所述关系型数据库请求所述第二数据资源的第三数据版本信息,并将所述第三数据版本
信息与自身存储的第四数据版本信息进行比对,在比对结果表示所述第三数据版本信息与所述第四数据版本信息不一致时,向所述关系型数据库发起第二缓存查询请求,所述第二缓存查询请求将所述关系型数据库中的变动数据更新到所述缓存服务端中。7.根据权利要求6所述的数据缓存方法,其特征在于,在对所述缓存服务端与关系型数据库进行数据同步之后,所述方法还包括:生成所述缓存操作信息;其中,生成所述缓存操作信息,包括:获取所述关系型数据库的数据缓存配置表;解析所述数据缓存配置表,以基于解析结果生成所述缓存操作信息,其中,所述缓存操作信息至少包括:所述客户端缓存注册接口、所述第一数据加载接口、所述服务端缓存注册接口以及所述第二数据加载接口。8.根据权利要求7所述的数据缓存方法,其特征在于,所述缓存操作信息还包括以下至少之一:缓存操作接口头文件、缓存数据列表、缓存数据更新接口代码信息、数据压缩/解压缩接口、缓存查询接口。9.一种数据缓存装置,其特征在于,包括:加载模块,用于响应于目标客户端的数据查询请求,通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,所述客户端缓存注册接口以及所述第一数据加载接口为预先生成的缓存操作信息;请求模块,用于利用所述第一数据加载接口从缓存服务端请求与所述第一待缓存信息对应的第一数据资源;缓存模块,用于将所述第一数据资源缓存至所述目标客户端。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的数据缓存方法。11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的数据缓存方法。

技术总结


本发明公开了一种数据缓存方法及其装置、计算机可读存储介质、处理器。其中,该方法包括:通过客户端缓存注册接口将第一待缓存信息以及第一数据加载接口注册到目标服务中,其中,客户端缓存注册接口以及第一数据加载接口为预先生成的缓存操作信息;利用第一数据加载接口从缓存服务端请求与第一待缓存信息对应的第一数据资源;将第一数据资源缓存至目标客户端。本发明解决了针对相关技术中部分分布式缓存技术存取结构较复杂导致数据传输效率不高的技术问题。高的技术问题。高的技术问题。


技术研发人员:

朱礼华 冯志强 闫宝旺 刘国峰 宋瑞雪

受保护的技术使用者:

中国邮政储蓄银行股份有限公司

技术研发日:

2022.09.30

技术公布日:

2023/1/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-76782-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-25 08:38:45

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论