分布式存储系统的缓存方法及系统与流程

本发明涉及存储缓存,具体为分布式存储系统的缓存方法及系统。
背景技术:
1、分布式存储系统的缓存是提升系统性能和用户体验的关键组成部分。在大型电商平台中,分布式存储系统承担着海量数据的存储与访问任务,而缓存系统则负责在内存中暂存频繁访问的数据,以减少访问延迟,提高系统响应速度和处理效率,有效利用缓存资源,不仅能够显著提升系统的整体性能,还能降低存储设备的负载。
2、在申请公开号为202010644027.x的中国发明申请中,公开了缓存的管理方法、缓存节点及分布式存储系统,提供了缓存的管理方法、缓存节点及分布式存储系统,该方法包括:预先保存至少一个缓存节点的rdma连接信息,确定待缓存数据的存储信息;确定用于缓存所述待缓存数据的缓存节点;确定用于向缓存节点缓存所述待缓存数据的存储节点;将所述待缓存数据的存储信息和确定出的缓存节点的rdma连接信息发送给确定出的存储节点,以使所述确定出的存储节点根据所述待缓存数据的存储信息读取所述待缓存数据,根据所述确定出的缓存节点的rdma连接信息将读取的所述待缓存数据通过rdma连接缓存到所述确定出的缓存节点的内存中。本发明提供了缓存的管理方法、缓存节点及分布式存储系统,能够提高对分布式存储系统中缓存的处理速度。
3、结合现有技术,以上申请还存在以下不足:
4、该缓存系统由于缺乏综合评估和预警机制,往往在缓存性能出现异常时,不易于及时响应和处理。例如,缓存利用率过高时,如果未能及时增加缓存容量或调整缓存策略,可能导致系统访问延迟显著增加,影响用户体验;缓存命中率下降时,如果未能及时优化缓存策略,则可能导致更多的数据需要从后端存储读取,增加存储设备的负载。这些异常现象不仅影响系统的稳定性和性能,还可能导致用户流失和业务损失。
技术实现思路
1、针对现有技术的不足,本发明提供了分布式存储系统的缓存方法及系统,解决了背景技术中提到的问题。
2、为实现以上目的,本发明通过以下技术方案予以实现:包括参数采集模块、数据分析和预测模块、计算分析模块、智能评估模块和缓存优化模块;
3、所述参数采集模块通过在电商平台分布式存储系统的各个节点部署监控工具,实时采集每个分布式存储节点的缓存数据,并将采集到的缓存数据集成到数据库中,并对所采集到的缓存数据进行预处理;
4、所述数据分析和预测模块利用历史数据分析缓存数据的使用模式和性能变化趋势,再通过构建机器学习模型进行预测分布式存储系统未来的缓存情况;
5、所述计算分析模块用于构建缓存利用率预测公式、访问延迟预测公式和缓存命中率预测公式,并将所获取的缓存数据进行代入相关公式,进行计算获取t时刻的缓存利用率cu(t)、t时刻的访问延迟al(t)和t时刻的缓存命中率chr(t),并进行相关联计算获取综合预警评分zhyj;
6、所述智能评估模块用于预设缓存阈值h与所获取的综合预警评分zhyj,进行第一次对比评估识别分布式存储系统缓存情况;
7、所述缓存优化模块用于在识别到当前系统缓存异常的情况所触发,通过引入缓存写入速率cwr和缓存读取速率crr与所获取的综合预警评分zhyj,进行相关联计算获取深度分析指标sdfx,并预设预警阈值y进行二次评估,深度分析每个分布式存储系统缓存情况,并生成调控措施。
8、优选的,所述参数采集模块包括数据采集单元、数据存储单元和数据预处理单元;
9、所述数据采集单元用于在每个分布式存储系统的各个节点上部署prometheus、telegraf和grafana监控工具,实时采集每个分布式存储系统节点的缓存数据,所述缓存数据包括缓存写入速率cwr、缓存读取速率crr、缓存利用率cu、访问延迟al、缓存命中率chr;
10、prometheus是一个开源的系统监控和报警工具,支持多种指标的收集和存储;
11、telegraf用于收集各种系统性能指标的插件化工具;
12、grafana是一个开源的分析和监控平台,用于可视化监控数据;
13、在每个分布式存储系统中下载并安装prometheus服务器、telegraf代理和下载并安装grafana,编辑prometheus.yml配置文件,指定要监控的目标节点和端点,同时编辑telegraf.conf配置文件,设置监控的插件和参数,如cpu、mem和disk等,通过grafana连接prometheus作为数据源,创建仪表板来展示监控数据;
14、所述数据存储单元用于构建influxdb时间序列数据库,将所采集到的缓存数据通过telegraf发送至influxdb时间序列数据库,进行存储缓存数据,并通过graphite进行监控所存储的缓存数据;
15、具体实施步骤:通过prometheus自动抓取缓存数据,再通过telegraf将采集到的缓存数据发送到influxdb时间序列数据库中,利用grafana从prometheus和influxdb中读取缓存数据进行可视化;
16、所述数据预处理单元用于对所存储到数据库中的缓存数据使用统计方法来检测和去除异常数据,在取出异常数据后再将缓存数据进行转换,将数据从原始格式转换为分析所需的格式。
17、优选的,所述数据分析和预测模块包括数据分析单元和预测单元;
18、所述数据分析单元用于依据历史缓存数据,采用pandas对缓存数据进行处理、清晰和统计分析,利用matplotlib和seaborn将缓存数据进行创建时间序列图、趋势图、散点图、统计图表、热力图和回归图,识别缓存性能的周期性变化;
19、所述预测单元通过基于arima模型和lstm模型,进行集成构建机器学习模型对分布式存储系统的缓存性能进行预测;
20、所述arima模型通过观察自相关函数acf和偏自相关函数pacf确定模型的p、d和q参数,使用历史数据拟合arima模型;
21、所lstm模型通过将时间序列数据转换为多时间步的输入序列的lstm输入的格式,进行定义lstm网络结构和层数,再使用历史缓存数据进行训练;
22、通过训练好的机器学习模型使用均方根误差、平均绝对误差和决定系数评估机器学习模型预测性能,再将训练好的模型部署到生产环境,定期更新模型以反映最新的数据趋势,使用监控工具实时监控模型的预测结果和实际数据的差异,及时调整模型或采取其他措施。
23、优选的,所述计算分析模块包括缓存计算单元和综合计算单元;
24、所述缓存计算单元包括利用率计算单元、延迟计算单元和命中率计算单元;
25、所述利用率计算单元通过构建缓存利用率预测公式,基于历史的缓存利用率cu与当前的缓存写入速率cwr和缓存读取速率crr,进行计算预测获取t时刻的缓存利用率cu(t);
26、所述t时刻的缓存利用率cu(t)通过以下预测公式计算获取;
27、;
28、式中,表示第一调整系数,用于反映缓存写入和读取对利用率的影响,cwrt表示时间t的缓存写入速率cwr,crrt表示时间t的缓存读取速率crr。
29、优选的,所述延迟计算单元用于构建访问延迟预测公式,基于当前预测t时刻的缓存利用率cu(t)和t时刻的缓存命中率chr(t)来计算t时刻的访问延迟al(t);
30、所述t时刻的访问延迟al(t)通过以下预测公式获取;
31、;
32、式中,表示第二调整系数,反映t时刻的缓存利用率cu(t)和t时刻的缓存命中率chr(t)对t时刻的访问延迟al(t)的影响。
33、优选的,所述命中率计算单元用于构建缓存命中率预测公式,通过结合访问t时刻的访问延迟al(t),进行计算预测获取在t时刻的缓存命中率chr(t);
34、所述t时刻的缓存命中率chr(t)通过以下预测公式获取;
35、;
36、式中,表示第三调整系数,反映访问延迟al对t时刻的缓存命中率chr(t)的影响。
37、优选的,所述综合计算单元通过基于历史缓存数据和性能测试进行计算t时刻的缓存利用率cu(t)、t时刻的访问延迟al(t)和t时刻的缓存命中率chr(t)的平均值和标准差,获取缓存利用率预警阈值cuh、访问延迟预警阈值alh和缓存命中率预警阈值chrh,并将所获取到t时刻的缓存利用率cu(t)、t时刻的访问延迟al(t)和t时刻的缓存命中率chr(t),进行相关联计算获取综合预警评分zhyj;
38、所述综合预警评分zhyj通过以下算法公式计算获取;
39、;
40、式中,a1、a2和a3分别表示t时刻的缓存利用率cu(t)、t时刻的访问延迟al(t)和t时刻的缓存命中率chr(t)的预设权重值,其具体数值由用户进行设定,且a1+a2+a3=1。
41、优选的,所述智能评估模块用于依据每个分布式存储系统的历史缓存数据,确定每个分布式存储系统正常状态下缓存数据的平均值和标准差,预设缓存阈值h与所获取的综合预警评分zhyj进行第一次对比评估,分析每个分布式存储系统中缓存情况,具体评估结果如下;
42、当综合预警评分zhyj≥缓存阈值h时,表示当前分布式存储系统的缓存性能存在异常状态,此时则生成第一预警信息,并执行二次评估进行深度分析;
43、当综合预警评分zhyj<缓存阈值h时,表示当前分布式存储系统性能正常,此时无需生成预警。
44、优选的,所述缓存优化模块包括深度分析单元和深度评估单元;
45、所述深度分析单元用于引入缓存写入速率预警阈值cwrh与缓存读取速率预警阈值crrh,并结合综合预警评分zhyj,进行相关联计算获取深度分析指标sdfx,进行细化对分布式存储系统性能的分析;
46、所述深度分析指标sdfx通过以下算法公式进行计算获取;
47、;
48、式中,cwrt表示t时刻的缓存写入速率,crrt表示t时刻的缓存读取速率,速率预警阈值cwrh与缓存读取速率预警阈值crrh,通过基于缓存写入速率与缓存读取速率历史数据平均计算获取;
49、所述深度评估单元用于基于历史缓存数据的安全限度,进行预设预警阈值y与所获取的深度分析指标sdfx,进行二次对比评估深度分析分布式存储系统潜在的性能情况,具体评估方案如下;
50、当深度分析指标sdfx>预警阈值y时,表示当前分布式存储系统的缓存运行状况存在异常,此时使用prometheus和grafana设置自动化监控和预警规则,识别到异常时则自动向管理员发送第二预警信息,同时使用ansible自动化工具编写脚本,根据预警情况自动执行调整措施,例如当缓存利用率过高时,自动增加缓存容量或调整缓存策略;
51、当深度分析指标sdfx≤预警阈值y时,表示当前分布式存储系统的缓存运行状况处于正常状态。
52、分布式存储系统的缓存方法,包括以下步骤:
53、s1、首先在电商平台分布式存储系统的各个节点部署监控工具,实时采集每个分布式存储节点的缓存数据,并将采集到的缓存数据集成到数据库中,并对所采集到的缓存数据进行预处理;
54、s2、利用历史数据分析缓存数据的使用模式和性能变化趋势,再通过构建机器学习模型进行预测分布式存储系统未来的缓存情况;
55、s3、再通过构建缓存利用率预测公式、访问延迟预测公式和缓存命中率预测公式,并将所获取的缓存数据进行代入相关公式,进行计算获取t时刻的缓存利用率cu(t)、t时刻的访问延迟al(t)和t时刻的缓存命中率chr(t),并进行相关联计算获取综合预警评分zhyj;
56、s4、预设缓存阈值h与所获取的综合预警评分zhyj,进行第一次对比评估识别分布式存储系统缓存情况;
57、s5、最后通过引入缓存写入速率cwr和缓存读取速率crr与所获取的综合预警评分zhyj,进行相关联计算获取深度分析指标sdfx,并预设预警阈值y进行二次评估,深度分析每个分布式存储系统缓存情况,并生成调控措施。
58、本发明提供了分布式存储系统的缓存方法及系统。具备以下有益效果:
59、(1)该系统通过在分布式存储系统中部署参数采集模块,可以实现实时监控并采集每个节点的缓存数据,通过监控工具prometheus、telegraf和grafana,能够自动抓取并可视化缓存数据,极大地提高了系统对缓存性能变化的敏感度。实时采集和集成缓存数据有助于及时检测并响应异常情况,确保系统的稳定运行。此外,数据预处理模块通过统计方法去除异常数据,保证了后续分析的准确性和可靠性。这不仅提升了系统的整体性能,还为后续的分析和优化提供了可靠的数据基础。
60、(2)该系统通过利用历史数据进行分析和预测,有效地识别缓存数据的使用模式和性能变化趋势。使用pandas进行数据处理和统计分析,结合matplotlib和seaborn创建时间序列图、趋势图、散点图、统计图表、热力图和回归图,能够清晰地展示缓存性能的周期性变化。通过集成arima模型和lstm模型构建的机器学习模型,能够准确预测未来的缓存情况。这种预测能力不仅减少了缓存利用率不均衡和访问延迟增加的风险,还提升了缓存命中率,从而提高了系统的响应速度和用户体验。预测模型经过均方根误差、平均绝对误差和决定系数等评估指标的验证,确保了其预测性能的可靠性。整体上,预测和分析能力增强了系统的前瞻性和适应性,使系统能够提前采取措施进行优化和调整。
61、(3)该系统通过构建缓存利用率、访问延迟和缓存命中率的预测公式,进行综合评估,并生成综合预警评分zhyj,实现了对缓存性能的全面监控和评估。通过对历史缓存数据和性能测试的分析,计算出缓存利用率、访问延迟和缓存命中率的平均值和标准差,获取相应的预警阈值,并结合当前时刻的预测数据进行综合预警。当综合预警评分zhyj超过缓存阈值h时,表示当前分布式存储系统的缓存性能存在异常状态,此时则执行二次评估进行深度分析。缓存优化模块通过引入缓存写入速率预警阈值cwrh和缓存读取速率预警阈值crrh,结合综合预警评分zhyj,进行深度分析指标sdfx的计算和评估,并生成相应的调控措施。这种多层次的评估和优化机制确保了系统在面对不同负载和访问模式时,能够灵活调整缓存策略,保证系统的稳定性和高效性。自动化监控和预警机制的引入,使系统在检测到异常时能够及时报警并自动采取措施,减少了人工干预的时间和成本,提高了系统的可靠性和维护效率。通过prometheus和grafana设置自动化监控和预警规则,结合ansible自动化工具编写的调整脚本,能够实现自动化的缓存调整,进一步提升系统的自适应能力和维护效率。
技术研发人员:孙骥,冯辉,张海斌
技术所有人:上海飞斯信息科技有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
