【技术实现步骤摘要】
分布式应用缓存刷新系统、方法、电子设备及存储介质
本专利技术涉及计算机软件
,尤其涉及分布式应用缓存刷新系统、方法、电子设备及存储介质。
技术介绍
随着电商平台的业务增长,业务数据的体量在逐步增大,平台业务的数据在深度和广度上都出现了大幅的增长。在这种场景下,当最基础数据出现变更时,会导致依赖基础数据的上层业务数据过期、失效,此时需要对部分业务数据进行清理和重建。在中小型系统中,常用的集中方法包括:1、将依赖的缓存直接删除,当请求发生时自动触发缓存的构建。当查询发现缓存不存在时,此方法会自动触发到数据库查询关联数据并重新生成新的缓存。但此方法存在缓存击穿的问题。2、启用专用缓存刷新系统,将涉及缓存更新的项目逐条生成并且替换过期和失效的数据。此方案避免了缓存穿透带来的风险,但是牺牲了一致性,当更新的缓存数量大时导致刷新任务积压,最终导致产生大量的脏数据,业务系统也必须针对此类情况做大量的容错处理。无论何种方案,当缓存组合过于复杂时,梳理缓存所依赖的基础数据以及层级都很难处理。当基础数据变更时,如何将关联缓存精准定位,这也是一件相当困难的事情。
技术实现思路
为了克服现有技术的不足,本专利技术的目的在于提供分布式应用缓存刷新系统,解决当缓存组合过于复杂时,难以梳理缓存所依赖的基础数据以及层级,以及当基础数据变更时,如何将关联缓存精准定位的问题。本专利技术提供分布式应用缓存刷新系统,包括缓存刷新系统、缓存存储单元、消息订阅发布模块;其中,所述缓存刷新系统由缓存管理模 ...
【技术保护点】
1.分布式应用缓存刷新系统,其特征在于:包括缓存刷新系统、缓存存储单元、消息订阅发布模块;其中,/n所述缓存刷新系统由缓存管理模块、缓存刷新模块、缓存路由模块组成;/n所述缓存管理模块,用于接收缓存重构任务,将全量刷新任务进行拆分、细化、分配、检测,当刷新任务缓存后,发布缓存切换通知,通知缓存路由进行切换;/n所述缓存刷新模块,用于通过所述消息订阅发布模块注册到所述缓存管理模块,获取刷新任务项,进行缓存刷新操作;/n所述缓存路由模块,用于通过所述消息订阅发布模块获取当前缓存分区设置,提前连接于缓存的连接池,根据所述缓存管理模块的通知实时切换缓存引用组;/n所述缓存存储单元,用于将缓存划分为第一分区和第二分区,所述第一分区为应用提供缓存查询服务,所述第二分区用于缓存的全量构建,当缓存刷新完成后,将所述第一分区和所述第二分区的用途进行切换;/n所述消息订阅发布模块,用于服务注册服务与发现,通知信息的订阅与推送。/n
【技术特征摘要】
1.分布式应用缓存刷新系统,其特征在于:包括缓存刷新系统、缓存存储单元、消息订阅发布模块;其中,
所述缓存刷新系统由缓存管理模块、缓存刷新模块、缓存路由模块组成;
所述缓存管理模块,用于接收缓存重构任务,将全量刷新任务进行拆分、细化、分配、检测,当刷新任务缓存后,发布缓存切换通知,通知缓存路由进行切换;
所述缓存刷新模块,用于通过所述消息订阅发布模块注册到所述缓存管理模块,获取刷新任务项,进行缓存刷新操作;
所述缓存路由模块,用于通过所述消息订阅发布模块获取当前缓存分区设置,提前连接于缓存的连接池,根据所述缓存管理模块的通知实时切换缓存引用组;
所述缓存存储单元,用于将缓存划分为第一分区和第二分区,所述第一分区为应用提供缓存查询服务,所述第二分区用于缓存的全量构建,当缓存刷新完成后,将所述第一分区和所述第二分区的用途进行切换;
所述消息订阅发布模块,用于服务注册服务与发现,通知信息的订阅与推送。
2.如权利要求1所述的分布式应用缓存刷新系统,其特征在于:所述缓存刷新模块使用Java多线程技术和RedisPipline操作进行缓存刷新操作。
3.如权利要求2所述的分布式应用缓存刷新系统,其特征在于:所述缓存存储单元采用开源的Redis集群,将Redis缓存划分为第一分区和第二分区。
4.分布式应用缓存刷新方法,其特征在于,包括以下步骤:
初始化模块,初始化缓存管理模块、缓存刷新模块、设置缓存存储单元的第一分区和第二分区,所述第一分区为应用提供缓存查询服务,所述第二分区用于缓存的全量构建;
建立连接,建立所述缓存管理模块与所述缓存刷新模块的连接,准备接收全量刷新请求;
确认刷新条件,当外围管理系统通过接口调用所述缓存管理模块触发全量缓存刷新时,锁定所述缓存管理模块,拒绝新的全量刷新请求,重置所述第一分区的第一缓存和第二缓存;
推送刷新任务,所述缓存管理模块将所述第一分区的第一缓存基础数据缓存的任务信息推送至所述缓存刷新模块;
处理任务,所述缓存刷新模块接收到所述第一分区的第一缓存基础数据缓存的任务,根据任务的需要从数据库读取数据,经过处理后序列化至第一分区的...
【专利技术属性】
技术研发人员:蔡钧,
申请(专利权)人:东风日产数据服务有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。