一种本地缓存数据的更新方法、装置、服务器及存储介质制造方法及图纸

技术编号:20797003 阅读:19 留言:0更新日期:2019-04-06 10:36
本发明专利技术公开了一种本地缓存数据的更新方法、装置、服务器及存储介质,该方法包括:获取待更新客户端的本地缓存数据更新请求,所述更新请求中包括数据标识和数据版本;若相同数据标识的服务数据版本比所述更新请求中的数据版本高,则判断相同数据标识的服务数据是否可用;如果相同数据标识的服务数据不可用,则向其他客户端发送本地缓存数据共享请求,所述共享请求中包括数据标识和数据版本;获取到来自其他客户端的不低于所述共享请求中的数据版本的本地缓存数据,则将获取的本地缓存数据发送给待更新客户端。通过上述技术方案实现了与集群中其他客户端进行本地缓存数据的交互,对本地缓存数据进行更新,降低本地缓存数据更新过程的负载压力。

An Update Method, Device, Server and Storage Medium for Local Cached Data

The invention discloses a method, device, server and storage medium for updating local cached data. The method includes: obtaining a local cached data update request of the client to be updated, which includes data identification and data version; judging the same data identification if the service data version of the same data identification is higher than that of the data version in the update request. Whether the service data is available; if the service data with the same data identification is not available, a local cache data sharing request is sent to other clients, which includes data identification and data version; if the local cache data coming from other clients is not less than the data version in the shared request, the acquired local cache data is sent to be updated. Client. Through the above technical scheme, the local cached data can be exchanged with other clients in the cluster, and the local cached data can be updated to reduce the load of the local cached data update process.

【技术实现步骤摘要】
一种本地缓存数据的更新方法、装置、服务器及存储介质
本专利技术实施例涉及计算机
,尤其涉及一种本地缓存数据的更新方法、装置、服务器及存储介质。
技术介绍
随着计算机技术和数据库技术的飞速发展,业务需求逐渐多样化,互联网产品的很多新增功能或组件都是只对部分用户开放,以达到测试和改善的目的,那么开发者需要利用缓存技术,在数据库与各客户端节点之间进行大量灰度发布相关服务数据的更新和交互。缓存是数据交互的缓冲区,客户端节点通过缓存可与服务器进行快速地数据更新和交互。目前,海量的用户数据与服务请求使得本地缓存数据的更新具有较强的局限性。一方面,其更新过程依赖于网络性能,当网络拥堵、网络抖动时,易导致数据源的服务数据不可用或获取数据严重超时等问题,使得本地缓存数据无法与最新的服务数据保持一致;另一方面,当负载压力过大、负载服务请求频率过高时,会对服务系统中所有依赖于Redis的服务和应用都造成过载的影响,并且扩容成本很高,在扩容期间无法提供服务,对数据库造成极大的访问压力。
技术实现思路
本专利技术提供了一种本地缓存数据的更新方法、装置、服务器及存储介质,以实现通过与集群中的其他客户端进行本地缓存数据的交互,对本地缓存数据进行更新,降低本地缓存数据更新过程中的负载压力。第一方面,本专利技术实施例提供了一种本地缓存数据的更新方法,包括:获取待更新客户端的本地缓存数据更新请求,所述更新请求中包括数据标识和数据版本;若相同数据标识的服务数据版本比所述更新请求中的数据版本高,则判断相同数据标识的服务数据是否可用;如果相同数据标识的服务数据不可用,则向其他客户端发送本地缓存数据共享请求,所述共享请求中包括数据标识和数据版本;获取到来自其他客户端的不低于所述共享请求中的数据版本的本地缓存数据,则将获取的本地缓存数据发送给待更新客户端。进一步的,在所述获取待更新客户端的本地缓存数据更新请求之后,还包括:对所述待更新客户端的本地磁盘数据进行检测;所述待更新客户端的本地磁盘中存储有相同数据标识的服务数据,则将本地磁盘中相同数据标识的服务数据加载至所述待更新客户端,作为所述待更新客户端的本地缓存数据。进一步的,所述方法还包括:将所述待更新客户端的本地缓存数据设置为待校验状态;定时校验所述待更新客户端的本地缓存数据的数据版本与所述相同数据标识的服务数据的数据版本是否一致;如果一致,将待更新客户端的本地缓存数据修改为校验通过状态。进一步的,所述方法还包括:通过Zookeeper的预设节点对所述相同数据标识的服务数据进行修改;通过Zookeeper向所述待更新客户端发送服务数据的修改通知;所述待更新客户端从数据库或其他客户端的分布式本地缓存数据中拉取修改后的服务数据。进一步的,所述方法还包括:向其他客户端发送本地缓存数据共享请求的次数超过预设次数后仍未完成更新,则将所述待更新客户端的本地缓存数据的数据版本标记为异常版本。进一步的,所述对所述相同数据标识的服务数据进行修改,包括:对所述相同数据标识的服务数据的服务策略进行修改;对所述相同数据标识的服务数据的版本号进行修改。第二方面,本专利技术实施例提供了一种本地缓存数据的更新装置,包括:更新请求获取模块,用于获取待更新客户端的本地缓存数据更新请求,所述更新请求中包括数据标识和数据版本;判断模块,用于若相同数据标识的服务数据版本比所述更新请求中的数据版本高,则判断相同数据标识的服务数据是否可用;共享请求模块,用于如果相同数据标识的服务数据不可用,则向其他客户端发送本地缓存数据共享请求,所述共享请求中包括数据标识和数据版本;共享模块,用于获取到来自其他客户端的不低于所述共享请求中的数据版本的本地缓存数据,则将获取的本地缓存数据发送给待更新客户端。进一步的,所述装置还包括:检测模块,用于对所述待更新客户端的本地磁盘数据进行检测;本地缓存数据加载模块,用于所述待更新客户端的本地磁盘中存储有相同数据标识的服务数据,则将本地磁盘中相同数据标识的服务数据加载至所述待更新客户端,作为所述待更新客户端的本地缓存数据。第三方面,本专利技术实施例提供了一种服务器,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的本地缓存数据的更新方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的本地缓存数据的更新方法。本专利技术实施例提供了一种本地缓存数据的更新方法、装置、服务器及存储介质,该方法包括:获取待更新客户端的本地缓存数据更新请求,所述更新请求中包括数据标识和数据版本;若相同数据标识的服务数据版本比所述更新请求中的数据版本高,则判断相同数据标识的服务数据是否可用;如果相同数据标识的服务数据不可用,则向其他客户端发送本地缓存数据共享请求,所述共享请求中包括数据标识和数据版本;获取到来自其他客户端的不低于所述共享请求中的数据版本的本地缓存数据,则将获取的本地缓存数据发送给待更新客户端。通过上述技术方案,可以实现通过与集群中的其他客户端进行本地缓存数据的交互,对本地缓存数据进行更新,降低本地缓存数据更新过程中的负载压力。附图说明图1为本专利技术实施例一提供的一种本地缓存数据的更新方法的流程图;图2为本专利技术实施例一提供的本地缓存数据的更新方法应用场景的示意图;图3为本专利技术实施例二提供的一种本地缓存数据的更新方法的流程图;图4为本专利技术实施例二提供的一种本地缓存数据的更新方法的示意图;图5为本专利技术实施例三提供的一种本地缓存数据的更新装置的结构示意图;图6为本专利技术实施例四提供的一种服务器的硬件结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种本地缓存数据的更新方法的流程图。本实施例可适用于分布式缓存场景下对客户端的本地缓存数据进行更新的情况。具体的,该本地缓存数据的更新方法可以由本地缓存数据的更新装置执行,该本地缓存数据的更新装置可以通过软件和/或硬件的方式实现,并集成在服务器中。进一步的,服务器包括但不限定于:工业集成服务器、系统后台服务器以及云端服务器。图2为本专利技术实施例一提供的本地缓存数据的更新方法应用场景的示意图。需要说明的是,客户端的本地缓存数据中存储了各项业务服务的相关数据,包括服务规则、服务数据的版本号等,可从数据库下载、从其他客户端共享或者由本地磁盘的数据加载得到;数据库的服务数据是指对各项业务服务所开发的数据,包括各种代码和配置文件等。数据库中的服务数据在不断地更新、数据版本不断升级,因此,待更新客户端的本地缓存数据也需要及时更新到最新的版本,保持与服务数据版本的一致性,从而使得各种业务服务能够正常应用。当用户登录某个应用程序时会初始化待更新客户端,初始化的过程中待更新客户端会自动检测本地缓存数据是否需要更新,例如设置定期对本地缓存数据进行更新,也可由用户手动开启更新,则待更新客户端会向服务器发送本地缓存数据更新请求。如图2所示,服务器接收待更新客本文档来自技高网...

【技术保护点】
1.一种本地缓存数据的更新方法,其特征在于,包括:获取待更新客户端的本地缓存数据更新请求,所述更新请求中包括数据标识和数据版本;若相同数据标识的服务数据版本比所述更新请求中的数据版本高,则判断相同数据标识的服务数据是否可用;如果相同数据标识的服务数据不可用,则向其他客户端发送本地缓存数据共享请求,所述共享请求中包括数据标识和数据版本;获取到来自其他客户端的不低于所述共享请求中的数据版本的本地缓存数据,则将获取的本地缓存数据发送给待更新客户端。

【技术特征摘要】
1.一种本地缓存数据的更新方法,其特征在于,包括:获取待更新客户端的本地缓存数据更新请求,所述更新请求中包括数据标识和数据版本;若相同数据标识的服务数据版本比所述更新请求中的数据版本高,则判断相同数据标识的服务数据是否可用;如果相同数据标识的服务数据不可用,则向其他客户端发送本地缓存数据共享请求,所述共享请求中包括数据标识和数据版本;获取到来自其他客户端的不低于所述共享请求中的数据版本的本地缓存数据,则将获取的本地缓存数据发送给待更新客户端。2.根据权利要求1所述的方法,其特征在于,还包括:对所述待更新客户端的本地磁盘数据进行检测;所述待更新客户端的本地磁盘中存储有相同数据标识的服务数据,则将本地磁盘中相同数据标识的服务数据加载至所述待更新客户端,作为所述待更新客户端的本地缓存数据。3.根据权利要求1所述的方法,其特征在于,在所述将获取的本地缓存数据发送给待更新客户端之后,还包括:将所述待更新客户端的本地缓存数据设置为待校验状态;定时校验所述待更新客户端的本地缓存数据的数据版本与所述相同数据标识的服务数据的数据版本是否一致;如果一致,将待更新客户端的本地缓存数据修改为校验通过状态。4.根据权利要求1所述的方法,其特征在于,还包括:通过Zookeeper的预设节点对所述相同数据标识的服务数据进行修改;通过Zookeeper向所述待更新客户端发送服务数据的修改通知;所述待更新客户端从数据库或其他客户端的分布式本地缓存数据中拉取修改后的服务数据。5.根据权利要求1所述的方法,其特征在于,还包括:向其他客户端发送本地缓存数据共享请求的次数超过预设次数仍未完成更新,则将所述...

【专利技术属性】
技术研发人员:黄芳健
申请(专利权)人:深圳市盟天科技有限公司
类型:发明
国别省市:广东,44

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

1