堆内数据缓存同步方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:29400760 阅读:16 留言:0更新日期:2021-07-23 22:38
本发明专利技术涉及数据同步技术领域,揭露了一种堆内数据缓存同步方法、装置、计算机设备及存储介质。本发明专利技术提供的方法包括:在集群环境中的第一服务器初次接收到预设请求后,对预设请求进行处理之后获取请求内容,并将请求内容写入至第一服务器的本地缓存,同时控制第一服务器向集群环境中的第二服务器发送异步缓存请求;控制接收到异步缓存请求的第二服务器向第一服务器提供接口,并令第一服务器异步调用接口之后,通过接口将请求内容写入至第二服务器中的本地缓存;在第一服务器或所第二服务器再次接收到预设请求后,直接从与第一服务器或第二服务器的本地缓存中获取与预设请求对应的请求内容。通过本发明专利技术可解决堆内数据同步的问题。

【技术实现步骤摘要】
堆内数据缓存同步方法、装置、计算机设备及存储介质
本专利技术涉及数据同步
,尤其揭露了一种堆内数据缓存同步方法、装置、计算机设备及存储介质。
技术介绍
在大并发量的情况下,服务器应用为了减轻数据库压力,一般会在服务器中集成第三方缓存框架,诸如redis、memchache等框架做全局缓存,虽然使用上述框架的做法固然能够很好实现多个服务器之间缓存数据的同步,但是上述做法的缺点为增加成本以及服务端的复杂度。在缓存的热点数据体量并不大的情况下,一般的解决方案就是做堆内缓存的方式,这种方式虽然可减少对第三方缓存框架的依赖,但是堆内缓存有一个很大的弊端,如何解决堆内缓存数据同步的问题。针对于上述现象,本领域技术亟需寻找一种新得技术方案来解决。
技术实现思路
基于此,有必要针对上述技术问题,提供一种堆内数据缓存同步方法、装置、计算机设备及存储介质,用于减少成本和解决集群环境堆内缓存数据同步的问题。一种堆内数据缓存同步方法,包括:在集群环境中的第一服务器初次接收到预设请求后,对所述预设请求进行处理之后获取请求内容,并将所述请求内容写入至所述第一服务器的本地缓存,同时控制所述第一服务器向所述集群环境中的第二服务器发送异步缓存请求;所述集群环境中以多个服务器为对象搭建;所述第二服务器是指所述集群环境中除所述第一服务器之外的其他服务器;控制接收到异步缓存请求的所述第二服务器向所述第一服务器提供接口,并令所述第一服务器异步调用所述接口之后,通过所述接口将所述请求内容写入至所述第二服务器中的本地缓存;在所述第一服务器或/和所述第二服务器再次接收到所述预设请求后,直接从与所述第一服务器或/和所述第二服务器的本地缓存中获取与所述预设请求对应的所述请求内容。一种堆内数据缓存同步装置,包括:控制模块,用于在集群环境中的第一服务器初次接收到预设请求后,对所述预设请求进行处理之后获取请求内容,并将所述请求内容写入至所述第一服务器的本地缓存,同时控制所述第一服务器向所述集群环境中的第二服务器发送异步缓存请求;所述集群环境中以多个服务器为对象搭建;所述第二服务器是指所述集群环境中除所述第一服务器之外的其他服务器;写入模块,用于控制接收到异步缓存请求的所述第二服务器向所述第一服务器提供接口,并令所述第一服务器异步调用所述接口之后,通过所述接口将所述请求内容写入至所述第二服务器中的本地缓存;获取模块,用于在所述第一服务器或/和所述第二服务器再次接收到所述预设请求后,直接从与所述第一服务器或/和所述第二服务器的本地缓存中获取与所述预设请求对应的所述请求内容。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述堆内数据缓存同步方法。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述堆内数据缓存同步方法。上述堆内数据缓存同步方法、装置、计算机设备及存储介质,其一,只使用了一种框架来实现堆内缓存数据(请求内容)同步的情况,减少了对第三方缓存框架的应用,减少了以服务器作为对象而搭建的集群环境的复杂度和代码的体量,因此,也明显可减少数据同步所需花费的成本;其二,相比目前的堆内数据缓存的方式,本专利技术可解决堆内缓存数据同步的问题,减少了集群服务器的工作量,以及减少对底层的预设数据库的访问压力。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例中堆内数据缓存同步方法的一应用环境示意图;图2是本专利技术一实施例中堆内数据缓存同步方法的一流程图;图3是本专利技术一实施例中堆内数据缓存同步方法的步骤S40的流程示意图;图4是本专利技术一实施例中堆内数据缓存同步方法的步骤S70的流程示意图;图5是本专利技术一实施例中堆内数据缓存同步方法的步骤S110的流程示意图;图6是本专利技术一实施例中堆内数据缓存同步装置的结构示意图;图7是本专利技术一实施例中计算机设备的一示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供的堆内数据缓存同步方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端可以包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以是多个服务器(如第一服务器和第二服务器)组成的服务器集群来实现。在一实施例中,如图2所示,提供一种堆内数据缓存同步方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:S10,在集群环境中的第一服务器初次接收到预设请求后,对所述预设请求进行处理之后获取请求内容,并将所述请求内容写入至所述第一服务器的本地缓存,同时控制所述第一服务器向所述集群环境中的第二服务器发送异步缓存请求;所述集群环境中以多个服务器为对象搭建;所述第二服务器是指所述集群环境中除所述第一服务器之外的其他服务器;可理解地,本专利技术的执行主体为第一服务器和第二服务器组成的集群服务器,以spring框架搭建集群服务器中第一服务器和第二服务器的堆内数据缓存机制;集群环境中的第一服务器和第二服务器可不限制数量,也即第一服务器和第二服务器在集群环境中的数量可至少为一个,其中,集群环境中的第一服务器和第二服务器是属于相同的应用,因此第一服务器和第二服务器组成的集群也可称为应用集群;预设请求是用户是通过负载向第一服务器和第二服务器请求服务器所对应的请求消息,如可向第一服务器请求第一请求信息,向第二服务器请求第二请求信息,其中,请求信息存在对应的请求内容,请求内容可为与请求信息对应且缓存在服务器本地缓存中的内容,也可为未查询到与请求信息对应的内容,其中,请求内容的数据类型可为任意简单类型的数据和可序列化的复杂类型数据;集群环境中的第二服务器提供一个暴露状态的接口,通过该接口,令第一服务器向第二服务器发送异步缓存请求,以通过第一服务器向第一服务器异步同步请求内容;本实施例通过集群环境中的第一服务器和第二服务器实现堆内数据同步,主要是解决当前存在的服务器工作和数据库连接开销大的问题(具体地,用户的请求信息经过负载路由到达第一服务器后,第一服务器查库后将获取的请求内容存储至第一服务器中的本地缓存,在下次相同的请求信息重新通过负载路由进入到第一服务器后,可直接从第一服务器中的本地缓存获取请求内容,但在下次箱体的请求信息通过另外的负载路由到达第二服务器后,第二服务器中的本地缓本文档来自技高网...

【技术保护点】
1.一种堆内数据缓存同步方法,其特征在于,包括:/n在集群环境中的第一服务器初次接收到预设请求后,对所述预设请求进行处理之后获取请求内容,并将所述请求内容写入至所述第一服务器的本地缓存,同时控制所述第一服务器向所述集群环境中的第二服务器发送异步缓存请求;所述集群环境中以多个服务器为对象搭建;所述第二服务器是指所述集群环境中除所述第一服务器之外的其他服务器;/n控制接收到异步缓存请求的所述第二服务器向所述第一服务器提供接口,并令所述第一服务器异步调用所述接口之后,通过所述接口将所述请求内容写入至所述第二服务器中的本地缓存;/n在所述第一服务器或/和所述第二服务器再次接收到所述预设请求后,直接从与所述第一服务器或/和所述第二服务器的本地缓存中获取与所述预设请求对应的所述请求内容。/n

【技术特征摘要】
1.一种堆内数据缓存同步方法,其特征在于,包括:
在集群环境中的第一服务器初次接收到预设请求后,对所述预设请求进行处理之后获取请求内容,并将所述请求内容写入至所述第一服务器的本地缓存,同时控制所述第一服务器向所述集群环境中的第二服务器发送异步缓存请求;所述集群环境中以多个服务器为对象搭建;所述第二服务器是指所述集群环境中除所述第一服务器之外的其他服务器;
控制接收到异步缓存请求的所述第二服务器向所述第一服务器提供接口,并令所述第一服务器异步调用所述接口之后,通过所述接口将所述请求内容写入至所述第二服务器中的本地缓存;
在所述第一服务器或/和所述第二服务器再次接收到所述预设请求后,直接从与所述第一服务器或/和所述第二服务器的本地缓存中获取与所述预设请求对应的所述请求内容。


2.根据权利要求1所述的堆内数据缓存同步方法,其特征在于,所述令所述第一服务器异步调用所述接口之前,还包括:
对所述第二服务器提供的所述接口进行地址标记,得到接口地址;
将所述接口地址写入至配置项中,以通过所述配置项令所述集群环境中的所述第一服务器异步调用所述接口;所述配置项是所有所述接口地址的地址集合。


3.根据权利要求2所述的堆内数据缓存同步方法,其特征在于,所述令所述集群环境中的所述第一服务器异步调用所述接口,包括:
在识别到与所述集群环境对应的作用域方法中存在预设注解时,将该作用域方法返回的关于所述接口的返回值同步至所述第一服务器后,通过预设客户端工具令所述集群环境中的所述第一服务器异步调用所述接口;
所述将该作用域方法返回的关于接口的返回值同步至所述第一服务器之前,还包括:
通过搭建所述集群环境的spring框架中的aop功能获取该作用域方法返回的关于所述接口的返回值。


4.根据权利要求1所述的堆内数据缓存同步方法,其特征在于,所述通过所述接口将所述请求内容写入至所述第二服务器中的本地缓存之前,还包括:
查询所述第二服务器中的本地缓存中是否存在所述请求内容;
在存在所述请求内容时,直接返回所述第二服务器中的本地缓存存在所述请求内容的结果,同时禁止通过所述接口将所述请求内容写入至所述第二服务器中的本地缓存的过程。


5.根据权利要求1所述的堆内数据缓存同步方法,其特征在于,所述令所述第一服务器异步调...

【专利技术属性】
技术研发人员:郑钦锋
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1