本发明涉及云原生平台,更具体地涉及一种基于k8s的千万个微服务百万个节点的云原生平台。
背景技术:
1、目前业界主流部署微服务的方式,是通过人工手动上传jar包到服务器,如果jar的包大小和数量超过一定限制,就需要大量的运维和开发工作人员反复配合,浪费人力物力,增加不必要的沟通成本,而且会耗费大量的时间,才能够完成服务的正常部署。
2、为解决以上的困境,本发明结合gitlab、jenkins、sonar以及harbor等一系列开源工具,基于k8s的机制,可一键化将数千万个微服务部署在百万个服务器上面,省去了大量的人力物力时间成本,大大提高了部署效能,而且在部署过程中,对代码的安全质量进行了审计,避免代码出现漏洞,保障了线上的平稳运行。
技术实现思路
1、为了克服现有技术的上述缺陷,本发明提供了一种基于k8s的千万个微服务百万个节点的云原生平台,以解决上述背景技术中存在的问题。
2、本发明提供如权利要求1-7所述的技术方案:一种基于k8s的千万个微服务百万个节点的云原生平台,包括数据采集模块、数据预处理模块、mc模块、方案部署性能评估模块、性能预测模块以及人机交互模块;
3、所述数据采集模块用于采集目标数据后传输至数据预处理模块;
4、所述数据预处理模块用于通过对数据进行清洗降噪,得到可以直接使用的目标数据;
5、所述mc模块将第i个任务的到达时间为ti,任务类型为ki,子任务集合为ski,可被分配的节点集合为vi,并设置节点约束条件;
6、所述方案部署性能评估模块将微服务在网络中的节点上的部署方案写成矩阵的形式,并对服务部署方案性能进行评估;
7、所述性能预测模块用于通过构建lstm神经网络模型对服务部署方案性能进行预测;
8、所述人机交互模块用于对数据进行人机交互显示。
9、优选的,所述节点约束条件包括数据约束公式与计算资源约束公式;
10、所述数据约束公式为:其中,di是节点x上第i个数据的大小,cmax为节点x的存储资源总量;
11、所述计算资源约束公式为:其中,ei是节点x上第i个服务所需要的计算资源,emax为节点x的计算资源总量。
12、优选的,所述方案部署性能评估模块将微服务在网络中的节点上的部署方案写成矩阵的形式,用矩阵x表示微服务在网络中的节点上的部署方案,其中,xab表示在节点a部署了第b种微服务,a为当前的网络系统中所有的节点数,b为全部k种任务中会调用到的微服务种类总数;
13、所述对服务部署方案性能进行评估的公式为:其中,tave是当前已完成的k个任务的执行时间的平均数,这可以用于代表部署方案的性能,其中,单个任务ti的执行时间的计算公式为:ti=ttrans,i+texec,i,其中,ttrans,i表示第i个任务执行过程中全程的传输时延,texec,i表示第i个任务执行过程中全程的执行时间。
14、优选的,所述lstm神经网络模型的构建方式包括:
15、初始化lstm神经网络模型的基本架构,基本架构包括输入层、2个lstm单元、dropout层、全连接层、可学习参数激活函数、综合损失函数、优化器、正则化器和输出层;输出层包括n个节点;
16、每个lstm单元包括一个记忆单元和3个控制门;3个控制门分别为输入门、遗忘门和输出门;在lstm单元之间加入全连接层;
17、dropout层随机将一定比例的节点暂时从lstm神经网络模型中丢弃;可以有效防止过拟合。
18、优选的,所述可学习参数激活函数为:其中,f为输入数据,p1为可学习的斜率参数,控制f的线性变换的斜率;p2是可学习的偏移参数,控制sigmoid函数的偏移。
19、优选的,所述综合损失函数loss的公式为:其中,q是分位数,表示在损失计算中的分位数水平,q取值在(0,1)之间,决定了损失是针对下分位数还是上分位数进行计算,ytrue为真实的目标值,ypredlow为预测分布的下分位数,ypredhigh为预测分布的上分位数;||+为正部函数,用于确保只有当预测和真实值之间的差异为正时才会贡献到损失中。
20、优选的,所述自适应优化器的优化公式为:其中,δλ+1,l为训练迭代轮数为λ+1时lstm神经网络模型第l层的参数,δλ,l为训练迭代轮数为λ时lstm神经网络模型第l层的参数;ηl是lstm神经网络模型第l层的学习率,vλ为训练迭代轮数为λ的梯度平方的指数移动平均,ρ是防止分母为零的小常数,mλ,l为训练迭代轮数为λ的参数梯度。
21、本发明的技术效果和优点:
22、本发明通过设有方案部署性能评估模块与性能预测模块,有利于将微服务在网络中的节点上的部署方案写成矩阵的形式,并对服务部署方案性能进行评估,并通过构建lstm神经网络模型对服务部署方案性能进行预测,并结合gitlab、jenkins、sonar以及harbor等一系列开源工具,基于k8s的机制,具备高效性、安全性、跨平台性、稳定性以及弹性可伸缩性,提高了工作效率,为企业节省了大量的人力和时间成本,确保了项目的稳定落地和稳定运行,同时提高了代码安全的质量检测与漏洞扫描,实现了又快又稳,轻量化迅速迁移到任何环境中进行高效构建和部署,大大减少了运维人员因手动误操作导致的生产问题。
1.一种基于k8s的千万个微服务百万个节点的云原生平台,其特征在于:包括数据采集模块、数据预处理模块、mc模块、方案部署性能评估模块、性能预测模块以及人机交互模块;
2.根据权利要求1所述的一种基于k8s的千万个微服务百万个节点的云原生平台,其特征在于:所述节点约束条件包括数据约束公式与计算资源约束公式;
3.根据权利要求1所述的一种基于k8s的千万个微服务百万个节点的云原生平台,其特征在于:所述方案部署性能评估模块将微服务在网络中的节点上的部署方案写成矩阵的形式,用矩阵x表示微服务在网络中的节点上的部署方案,其中,xab表示在节点a部署了第b种微服务,a为当前的网络系统中所有的节点数,b为全部k种任务中会调用到的微服务种类总数;
4.根据权利要求3所述的一种基于k8s的千万个微服务百万个节点的云原生平台,其特征在于:所述lstm神经网络模型的构建方式包括:
5.根据权利要求4所述的一种基于k8s的千万个微服务百万个节点的云原生平台,其特征在于:所述可学习参数激活函数为:其中,f为输入数据,p1为可学习的斜率参数,控制f的线性变换的斜率;p2是可学习的偏移参数,控制sigmoid函数的偏移。
6.根据权利要求4所述的一种基于k8s的千万个微服务百万个节点的云原生平台,其特征在于:所述综合损失函数loss的公式为:其中,q是分位数,表示在损失计算中的分位数水平,q取值在(0,1)之间,决定了损失是针对下分位数还是上分位数进行计算,ytrue为真实的目标值,ypredlow为预测分布的下分位数,ypredhigh为预测分布的上分位数;||+为正部函数,用于确保只有当预测和真实值之间的差异为正时才会贡献到损失中。
7.根据权利要求4所述的一种基于k8s的千万个微服务百万个节点的云原生平台,其特征在于:所述自适应优化器的优化公式为:其中,δλ+1,l为训练迭代轮数为λ+1时lstm神经网络模型第l层的参数,δλ,l为训练迭代轮数为λ时lstm神经网络模型第l层的参数;ηl是lstm神经网络模型第l层的学习率,vλ为训练迭代轮数为λ的梯度平方的指数移动平均,ρ是防止分母为零的小常数,mλ,l为训练迭代轮数为λ的参数梯度。