diff --git "a/USTB\346\231\272\350\203\275\345\256\211\345\205\250\350\277\220\347\273\264/\351\234\200\346\261\202\345\210\206\346\236\220" "b/USTB\346\231\272\350\203\275\345\256\211\345\205\250\350\277\220\347\273\264/\351\234\200\346\261\202\345\210\206\346\236\220" new file mode 100644 index 0000000000000000000000000000000000000000..25b024380861ea169ee9c263f78d331e1596ca5e --- /dev/null +++ "b/USTB\346\231\272\350\203\275\345\256\211\345\205\250\350\277\220\347\273\264/\351\234\200\346\261\202\345\210\206\346\236\220" @@ -0,0 +1,36 @@ +基于X-Tuner的OpenGauss智能安全运维技术及工具 +需求分析 +随着我国社会经济的快速发展及现代信息通信技术的提高,商业数据中心的规模在不断扩大。数字化在带来便利的同时也给运维带来巨大的挑战,数据中心负载逐年加大,运维人力资源不足与剧增的运维量之间的矛盾日益明显。数据中心是现代企业、政府的重要组成部分,一旦出现异常或者停止将给社会带来巨大损失,因此研究其智能化运维与管理系统有着重大的意义。 +早期的IT运维工作大部分是由运维人员手工完成,这种运维模式不仅低效,也消耗了大量的人力资源。利用工具来实现大规模和批量化的自动化IT运维,能极大地减少了人力成本,降低了操作风险,提高了运维效率。但是自动化运维的本质依然是人与自动化工具相结合的运维模式,受限于人类自身的生理极限以及认识的局限,无法持续地面向大规模、高复杂性的系统提供高质量的运维服务。智能运维就是基于已有的运维数据(日志、监控信息、应用信息等)并通过机器学习的方式来进一步解决自动化运维没办法解决的问题。 +智能运维并不是一个跳跃发展的过程,它是一个需要长期发展的系统,在发展的过程中会不断的进行更新和升级,其主要还是实施运维自动化、监控、数据收集、分析和处理等。所以非常容易忽略智能运维所需要的成本,智能运维不仅具备工程能力,同时还具备算法能力。智能运维包括监控、管理和故障定位三个部分,智能运维在运行的时候需要将三者有机结合。应对未来将面临的智能、互联时代的运维挑战,通过机器智能手段处理机器数据、解决机器系统的复杂度膨胀问题,是目前唯一可行的解决方案。搭建智能运维平台,构建高效、智能的应用性能风险主动防御体系,可以让企业变被动为主动,防患于未然。 +1、数据库监测 +为了提高数据库的安全性和运维效率,我们设计了一个基于X-Tuner的OpenGauss数据库调优,X-Tuner是一款数据库集成的参数调优工具,通过结合深度强化学习和全局搜索算法等AI技术,实现在无需人工干预的情况下,获取最佳数据库参数配置。该系统能够自动识别潜在的性能问题,并提供针对性的优化建议。同时,该系统应该能够与时序预测相结合,通过分析TPC-C等Benchmark工作负载下的历史性能数据,以预测数据库未来的性能指标,并根据预测结果结合X-Tuner自动调整数据库配置,以确保高性能和稳定性。 +功能需求 + 数据库性能监控:监控数据库的关键性能指标,例如 CPU 使用率、内存使用率、磁盘 I/O 速度等。 + 自动识别性能问题:基于数据库性能监控数据,自动识别潜在的性能问题,并提供针对性的优化建议。 + 时序预测:通过分析TPC-C等Benchmark的历史性能数据,预测数据库未来的负载,以支持自动化调整数据库配置。 + 自动化调整数据库配置:根据时序预测结果,自动调整数据库配置,以确保高性能和稳定性。 + 性能报告:生成详细的性能报告,包括数据库的关键性能指标、性能问题和优化建议等。 +非功能需求 +• 可扩展性:系统应该支持水平和垂直扩展,以应对不断增长的数据量和负载。 +• 可靠性:系统应该具有高可靠性,能够在不同的硬件和网络环境下运行,并能够处理异常情况。 +• 易用性:系统应该易于安装、配置和使用,并提供友好的用户界面和操作指南。 +• 安全性:系统应该具有高安全性,保护数据库和用户数据的机密性和完整性。 +2、数据库参数调优算法 +1、基于强化学习(Reinforcement Learning, RL)的DDPG算法 +DDPG算法是深度学习和强化学习的一次成功结合,是深度强化学习发展过程中很重要的一个研究成果。其可以应对高维的输入实现端对端的控制,且可以输出连续动作,使得深度强化学习方法可以应用于较为复杂的有大的动作空间和连续动作空间的情境。 +将强化学习的思想用以解决数据库运维策略的优化问题,可以摆脱传统运维方式中的人为经验的约束,降低运维成本,提高运维效率。 +(1)在传统运维模式中,每次新业务上线都需要重新调优,人力成本巨大,需要通过使用DDPG算法进行调优,减少DBA运维代价 +(2)DBA仅能调节小部分容易理解的和直观影响性能的参数,部分与性能存在隐式关联的参数无法有效调节,以及不同数据库系统直接的调优经验无法迁移,需要通过DDPG算法进行调优,让数据库系统性能和响应能力提升 +2、基于全局搜索算法的粒子群算法 +粒子群优化算法是一种进化计算技术,是一种模拟自然界的生物活动的随机搜索算法,该算法能以较大概率收敛于全局最优解。实践证明,它适合在动态、多目标优化环境中寻优,与传统优化算法相比,具有较快的计算速度和更好的全局搜索能力。另外粒子群算法具有并行性,而且由于每个粒子具有记忆性,因此在算法迭代结束时,不仅可以得到最优值,还可以得到次优值。因此对于调度和决策问题可以给出多种有意义的方案。因此该算法的适用范围为:关于大数据、复杂度高、目标函数复杂的要求解出最优值、多目标动态优化调度和决策场景。 +在机器学习问题中,调优模型往往有多个维度的参数,如何选择一组或几组配合起来比较好的参数成了训练模型的一个重头戏,比较常见的一种算法就是利用粒子群算法。在粒子群算法中,实体被抽象为粒子,而粒子的位置就是所求问题的解。现在想求得最优解就是要找到更新粒子位置的模式,即如何更新粒子的位置,才能让算法更快更好的收敛到最优解。PSO算法中粒子是根据粒子本身历史的最优位置和整个群体的全优位置,在一定随机扰动的情况下决定下一步的移动方向。Optunity是一个包含用于超参数优化的各种优化器的库,optunity库是用python实现的,它允许其他机器学习环境的集成,包括R和Matlab,默认采用ParticleSwarm算法,同时提供GridSearch、RandomSearch、NelderMead等搜索算法。超参数整定是许多机器学习任务中经常遇到的问题,既有监督又无监督。 +3、贝叶斯优化算法 +贝叶斯优化利用概率模型代理复杂黑箱函数,概率模型中引入了待优化目标的先验知识, 使模型能够更准确地满足黑箱函数的行为, 有效地减少不必要的采样。贝叶斯优化在使用高斯过程代理黑箱函数时, 能够仅通过一致连续或利普希茨连续(Lipschitz continuity)等局部平滑性弱假设, 即可得到满意结果。局部平滑性等弱假设更符合实际问题, 并且能够使贝叶斯优化有效地利用局部邻近信息进行更准确的推断, 从而更准确地选择“潜力”点。 +贝叶斯优化将调参看作是一个黑盒优化问题,通过代理函数模拟参数和目标间的函数,并设计采集函数来最小化采样步数。这类方法没有考虑以优化资源为目标的调参,只考虑了优化峰值性能。贝叶斯优化为参数引入不确定性, 通过样本修正参数先验, 并且在参数优化时利用贝叶斯方法, 考虑参数的先验分布, 通过平均得到参数,不易发生“过拟合”。贝叶斯优化通过主动选择策略来确定下一个最有“潜力”的评估点。, 主动选择策略利用历史信息和不确定性, 通过最大化根据模型后验分布构造的采集函数, 能够有效地平衡宽度搜索(探索不确定性区域获取更多未知信息)与深度搜索(利用已有信息寻找当前最优)之间的关系, 从而减少不必要的目标函数评估。 +3、数据库参数调优的安全性 +在进行数据库参数调优时,可能需要使用敏感数据来测试不同的设置。在这种情况下,需要确保数据被妥善保护,并且只有经过授权的人员才能访问这些数据。可以使用数据脱敏技术、加密技术等方法来保护敏感数据。 +在对数据库进行参数调优时,可能需要从生产环境的数据库中获取数据。在这种情况下,需要确保数据在传输过程中不会被篡改或泄露。 +在对数据库进行参数调优时,可能需要将一些配置文件、备份文件等数据存储在本地或者远程的服务器上。在这种情况下,需要确保数据被妥善保护,并且只有经过授权的人员才能访问这些数据。 +本课题将同态加密算法与X-tuner相结合,实现对加密数据的安全调优,确保数据库敏感数据的安全性和隐私性。通过CKKS同态加密算法,可以将数据库参数信息中的浮点数进行加密;通过BFV同态加密算法对数据库参数信息中的整数进行加密,确保敏感数据在传输和存储以及调优过程中的安全性和隐私性。对于加密后的数据,只有经过授权的用户才能进行解密,并使用X-tuner进行参数调优。通过调优,可以进一步提高数据库的效率和可靠性,确保数据库系统的整体性能。 +随着云存储技术的迅猛发展,越来越多的企业和个人将数据存放在云端,信息安全也成为必需的一环,而密码技术则是信息安全保障体系的重要支撑。为推动商用密码在金融和重要领域的全面应用,并做到自主可控,自2010年起,国家密码管理局制定并陆续发布了国密算法,包括SM1、SM2、SM3、SM4、SM9等,国密算法是国家密码管理局制定的一系列密码标准,即已经被国家密码管理局认定的国产密码算法,又称商用密码。当企业或政府运维人员在对系统进行监控时,不可避免会调用并检查大量用户的签名和证书,传统的国密算法同时检查大量签名需要较大的运算量。为减小因签名验证导致的高负载,通过压缩证书和同时验证多个签名以减少点乘运算,期望新算法的百万级的签名验证效率较传统SM2算法提升50%。