一种基于Redis的保险行业数据智能缓存优化方法及系统与流程
本发明专利涉及科技数据领域,具体为一种基于redis的保险行业数据智能缓存优化方法及系统。
背景技术:
1、在保险业务系统中,保单查询、理赔统计、客户画像加载、费率试算等操作涉及大量数据库联表查询和聚合计算,随着业务量增长,现有技术存在以下突出问题:
2、1.在高频业务场景下,现有的直连关系型数据库(如oracle、mysql)的sql执行时间随数据量膨胀呈指数增长,核心查询接口平均响应时间迟缓,部分复杂统计甚至造成卡顿,严重影响柜面及移动端展业效率。
3、2.在业务高峰期并发用户量激增,数据库连接池被迅速占满,导致连接等待超时甚至服务雪崩。
4、3.现有缓存方案多采用固定过期时间ttl或最久没有被访问的数据lru淘汰策略,无法感知保险业务的实时热度变化,造成缓存命中率波动大,且频繁发生缓存击穿和雪崩。
5、4.为应对峰值压力,现有系统过度配置数据库和缓存硬件,日常负载下资源利用率不足,而峰值时仍捉襟见肘,硬件成本逐年攀升。
技术实现思路
1、本发明专利的目的在于提供一种基于redis的保险行业数据智能缓存优化方法及系统,以解决上述背景技术中提出的问题。
2、为了解决上述技术问题,本发明专利提供如下技术方案:一种基于redis的保险行业数据智能缓存优化方法,包括以下步骤:
3、s1:采用非侵入式多源采集架构实时采集监控原始数据;
4、系统通过获取访问行为元数据,并将元数据连同测试流量和重复上报的噪声共同构成采集原始数据,原始数据经过去重和过滤测试流量的轻度清洗,得到有效元数据,并通过管道批量写入时序数据库与redis哈希结构;
5、s2:热点预测与权重计算;
6、系统基于时序数据库识别实时热度原始值,并基于历史时段模板库中的历史特征向量识别时段修正系数,同时加权识别业务影响因子,综合实时热度原始值、时段修正系数和业务影响因子识别各键的最终热度值,基于各键的最终热度值映射对应权重执行对应系统动作,将各键对应数据序列化写入redis中的heat_score_{key}字段;
7、s21:采用实时热度计算引擎计算实时热度原始值;
8、具体的,从时序数据库中读取预设时间段内的所有被访问过的数据键的指标,按键聚合得到每秒查询率的均值和峰值,并对预设时间段内无访问的历史高频键,以衰减因子继承上一周期热度值;
9、所述实时热度原始值的计算公式如下:;
10、所述:实时热度原始值;
11、所述:实时窗口下的当前每秒查询率;
12、所述:当前周期内所有键的平均每秒查询率;
13、所述穿透惩罚:若单一键在redis中不存在,且频繁穿透至业务数据库,则增加实时热度原始值;
14、s22:采用时段模板匹配器读取历史时段模板库中的历史特征向量,计算历史特征向量与当前特征向量的余弦相似度,筛选出余弦相似度>余弦相似度筛选阈值的历史时段,取筛选后历史时段的访问量中位数,将该中位数除以近一周单一键的平均访问量,得出时段修正系数;
15、若当前时段为预设的业务日,则时段修正系数×1.5,所述1.5为加速因子;
16、s23:用权重融合决策器从数据字典中读取单一键关联的业务场景优先级基数,并计算单一键的业务影响因子;
17、所述s23中的所述业务影响因子的计算公式如下:;
18、所述:业务影响因子;
19、所述:业务场景优先级基数;
20、s24:所述权重融合决策器基于实时热度原始值、时段修正系数及业务影响因子计算最终热度值,并依据最终热度值映射对应权重执行对应系统动作;
21、所述最终热度值的计算公式如下:;
22、所述:最终热度值;
23、所述:时段修正系数;
24、s25:结果写入与分发;
25、将各键对应数据序列化写入redis中的heat_score_{key}字段,所述键heat_score_{key}由固定前缀heat_score拼接业务键生成,供预加载执行器和淘汰器消费;
26、所述各键对应数据包括:最终热度值、权重等级、建议缓存键的生存时间、预加载优先级;
27、s3:多级缓存预加载执行;
28、系统周期性遍历redis中的热度数据,基于各键对应的最终热度值启动执行加载,并基于预设数据量阈值执行全量加载/增量预热,基于各键对应的最终热度权重确定redis集群写入方式分步写入目标分片;
29、s31:采用预加载执行器周期性遍历redis中的热度数据,基于该单一键对应的最终热度值启动执行预加载;
30、所述执行预加载的启动条件如下:
31、若最终热度值≥70,且redis中不存在或单一键剩余建议缓存键的生存时间<预设时间,则执行预加载;
32、若最终热度值≥90,且当前时间距离单一键业务场景的预测高峰时间≤预设时间,则执行预加载;
33、s32:基于单一键数据量执行全量加载/增量预热以回源获取业务数据;
34、所述全量加载/增量预热的执行条件如下:
35、若数据量<1mb,则执行全量加载;
36、所述全量加载为预加载执行器向数据库发起单次查询,一次性从数据库读出单一键对应的全部业务数据集合,对全部业务数据集合进行序列化处理后,生成带过期时间的字符串缓存键,并通过redis原子写入命令将数据一次性写入redis集群;
37、若数据量≥1mb,则执行增量预热;
38、所述增量预热为预加载执行器向数据库发起游标分页查询,分次从数据库读出单一键对应的业务数据集合,分批对业务数据进行序列化处理后,生成带过期时间的字符串缓存键,并通过redis原子写入命令将分批数据依次写入redis集群;
39、s33:基于单一键对应的最终热度权重确定redis集群写入方式,通过crc16哈希槽路由至对应分片执行同步写入/异步写入至redis集群目标分片;
40、若所述最终热度值≥90,则执行同步写入,并等待redis的aof持久化刷盘确认后,预加载写入流程才算执行完成;
41、若所述最终热度值落入45~89内,则采用异步写入方式,无需等待redis的aof持久化刷盘确认;
42、s4:双层缓存淘汰;
43、系统采用淘汰器区分高频和低频缓存数据,并执行两级递进淘汰;
44、所述两级递进淘汰包含一级淘汰和二级淘汰;
45、所述一级淘汰基于预加载执行器的周期性唤醒特性,调用redis渐进式键遍历命令遍历全部键,依次依据业务生效截止时间、业务状态变更时间和缓存写入时间戳筛选待删除候选键,并批量调用redis的同步删除键命令删除失效缓存,删除后发送失效事件至分布式消息队列,上报监控;
46、所述二级淘汰在redis内存使用率达到启动阈值时触发,并在redis内存使用率降至关闭阈值时自动停止,所述启动阈值>关闭阈值;
47、所述二级淘汰基于lru-w加权淘汰算法计算各键对应的基础淘汰值,结合业务优先级得到综合淘汰权重,将全部待淘汰缓存键按照综合淘汰权重升序排序,依次执行缓存删除操作;
48、所述基础淘汰值的计算公式如下:;
49、所述:基础淘汰值,所述的取值范围:[1~10];
50、所述:当前系统时间;
51、所述:键的最后一次读取时间;
52、所述:业务场景优先级基数;
53、所述:权重等级系数;
54、所述:业务场景加速因子;
55、s5:反馈自适应调优,系统采集用户行为信号形成闭环反馈,采用在线参数微调和离线重学习双轨优化,并通过回滚对比前后缓存命中率;
56、所述采集用户行为信号包括用户立即重试、主动放弃、完成业务转化、长时间停留和用户主动反馈,基于不同行为对单一键的热度计算施加差异化惩罚/增益,所述惩罚/增益用于修正单键对应的真实热度;
57、所述在线参数微调基于预设时间执行,采用小批量梯度下降法调整预测模型权重,计算预测模型预测热度与经惩罚/增益修正后的真实热度之间的整体偏差值,所述偏差值越小则代表预测模型的预测越准确,其中,整体偏差值作为小批量梯度下降法的损失依据;
58、所述偏差值的计算公式如下:;
59、所述:偏差值;
60、所述:样本总数,所述样本总数为参与训练的缓存键的样本数量;
61、所述
i:样本的序号;
62、所述:第
i个样本的预测模型预测热度;
63、所述:第
i个样本的真实热度,所述真实热度为基于历史真实访问统计得到的实际热度真值;
64、所述离线重学习基于预设时间节点执行,且拉取预设天数内的历史全量日志,并更新历史时段模板库,校准热度分级阈值,生成预加载白名单,在灰度验证后发布;
65、所述回滚为对比预测模型权重调整前后的缓存命中率,若命中率下降至警告阈值,则执行自动回滚,并告警。
66、一种基于redis的保险行业数据智能缓存优化方法运行的系统,包括多源数据采集层、热点预测与权重决策层、多级缓存执行层及反馈自适应调优层;
67、所述多源数据采集层采用非侵入式多源采集架构,通过jdbc代理拦截器、@cachemonitor自定义注解埋点及redis慢查询日志三类采集入口,全方位采集缓存访问行为元数据与业务语义数据,其中,jdbc代理拦截器部署于应用层与数据库连接池之间,用于采集sql语句、执行耗时、返回行数及数据表信息,@cachemonitor自定义注解依托aop切面采集调用来源、用户角色及业务场景编码的业务语义信息,redis慢查询日志定时拉取并解析慢日志内容,识别缓存未命中键及对应访问频次,补齐缓存穿透至数据库的数据采集盲区;
68、所述热点预测与权重决策层包括实时热度计算引擎、时段模板匹配器、权重融合决策器及结果分发单元,所述实时热度计算引擎读取时序数据库的访问指标,按键聚合得到qps均值与峰值,结合无访问历史高频键的热度衰减机制,计算得到各键的实时热度原始值,时段模板匹配器调取历史时段模板库的特征向量,通过余弦相似度匹配筛选相似历史时段,计算生成时段修正系数,并针对预设业务日配置加速因子,实现时段热度动态修正,权重融合决策器读取业务场景优先级基数,计算得到业务影响因子,融合实时热度原始值、时段修正系数及业务影响因子得到最终热度值,并依据最终热度值完成多级热度分级,对应生成立即预加载、定时预加载、常规按需刷新、被动加载和不缓存五种缓存管控策略,并匹配动态ttl过期时间与预加载优先级,最终将各键的热度参数序列化写入redis的heat_score_{key}字段;
69、所述多级缓存执行层由预加载执行器与淘汰器两大核心守护进程构成,分别实现智能分级预加载与双层递进式缓存淘汰,同时内置预加载流量控制机制,保障数据库与缓存集群运行稳定,所述预加载执行器周期性遍历redis热度数据,依据最终热度值判定预加载触发条件,针对不同数据体量差异化执行全量加载或增量预热,其中,小体量数据采用单次数据库查询的全量加载方式,大体量数据采用游标分页的增量预热方式,同时基于热度等级区分redis集群写入策略,高热度键执行同步写入并等待aof持久化刷盘确认,中热度键采用异步写入机制,预加载流程内置流量控制策略,通过限制并发线程上限、sql查询行数及动态调整线程休眠时长,实现数据库负载自适应降速保护,所述淘汰器用于区分高频和低频缓存数据,执行一级定时失效淘汰与二级内存压力淘汰的双层递进淘汰机制,一级淘汰依托周期遍历能力,依据业务时效与缓存写入时间筛选失效缓存并批量删除,同步推送失效事件至消息队列完成监控上报,二级淘汰在redis内存使用率超阈值时触发,基于lru-w加权淘汰算法计算各键基础淘汰值,融合业务优先级生成综合淘汰权重,按权重升序排序依次完成低频无效缓存清理;
70、所述反馈自适应调优层依托用户真实行为信号实现模型参数动态修正与持续优化,采用在线参数微调和离线重学习双轨优化机制,并配置命中率回滚保障机制,通过采集用户立即重试、主动放弃、业务转化、长时间停留及主动反馈多类行为信号,基于差异化行为对单键真实热度施加惩罚或增益修正,优化模型训练真值,在线参数微调基于预设周期执行,通过小批量梯度下降法以均方误差损失值为依据迭代调整模型权重,且限制权重调整幅度,保证模型平稳迭代,离线重学习定时拉取全量历史日志,更新历史时段模板库、校准热度分级阈值及生成预加载白名单,经灰度验证后完成版本迭代,同时系统实时监控缓存命中率,若模型迭代后命中率低于告警阈值,则自动执行参数回滚。
71、本发明专利所达到的有益效果为:
72、通过非侵入式数据多源采集架构获取保险业务访问元数据,依托多维时段模板匹配的预测模型计算缓存键最终热度,搭配权重分级预加载机制,在业务请求到来前将热点保单、理赔统计等业务数据预先加载至redis,区分数据体量执行全量加载或增量预热,对大体量业务数据采用游标分页分批回源,减少业务请求时现场查询数据库的频次,改善高频和复杂查询场景的接口响应表现。
73、通过预加载执行器内置的流量控制机制,限制预加载并发线程上限和sql查询行数,根据数据库负载动态调整线程休眠时长,避免预热过程对数据库造成额外冲击,高热度键按策略提前完成缓存预热,业务高峰期大量请求直接读取redis缓存,减少高峰期并发请求直接打向数据库的数量,降低数据库连接池被瞬间耗尽的可能性,缓解业务高峰下的数据库并发压力,减少服务雪崩发生条件。
74、通过预测模型融合实时qps、历史时段特征及业务优先级计算最终热度,动态生成各键ttl和预加载策略,摒弃全局固定过期时间,同时双层递进淘汰机制淘汰依据业务时效清理业务失效缓存,并使用加权淘汰算法,将业务优先级、权重等级和业务加速因子纳入淘汰判断,区别于原生lru仅依靠访问时间进行淘汰,尽量保留高优先级业务缓存,搭配用户行为构建反馈闭环,使得缓存策略能够适配保险业务热度动态变化,改善缓存命中率波动情况,降低缓存击穿和雪崩的发生概率。
75、通过热点智能预判、分级预加载、业务感知的加权淘汰,提升缓存对保险业务访问流量的承接能力,依靠算法策略削平部分业务访问峰值,不必单纯依靠叠加硬件资源来对抗业务高峰,一定程度改善日常工况下软硬件资源利用率,减少过度硬件配置带来的成本浪费。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com