一种应用程序数据信息存储控制系统技术方案

技术编号:37489169 阅读:11 留言:0更新日期:2023-05-07 09:27
本发明专利技术公开了一种应用程序数据信息存储控制系统,属于云原生与微服务架构技术领域。该系统包括:可视化平台模块、接口模块、集群管理模块、数据面模块、控制面模块和动态感应服务模块;所述可视化平台模块与所述接口模块相连接;所述接口模块、集群管理模块与控制面模块相连接;所述集群管理模块与所述数据面模块相连接;所述数据面模块与所述控制面模块相连接;所述控制面模块与所述动态感应服务模块相连接。本发明专利技术解决因服务下线或者消亡带来的控制信息冗余问题,控制系统新增agent异步进程清理冗余控制信息,防止因服务异常下线造成的redis内存膨胀。新增熔断下的智能控制过程,提高系统数字化处理水平。高系统数字化处理水平。高系统数字化处理水平。

【技术实现步骤摘要】
一种应用程序数据信息存储控制系统


[0001]本专利技术涉及云原生与微服务架构
,具体为一种应用程序数据信息存储控制系统。

技术介绍

[0002]在云原生ServiceMesh技术的微服务系统下,当前技术上采用了几乎同一种基于xDS协议的控制面方案,该方案与k8s环境完全耦合,且下发的配置信息数据量过大,极大挤占了业务流量空间。同时,数据面感应配置时间较长,仅能达到秒级,且随着集群规模和微服务规模变大,配置信息和感应时长成指数级增长。
[0003]另外,xDS协议可读性较差,不利于运维开发和业务人员排查问题,且完全基于k8s的yaml格式的配置不便于管理和下发。以pod和service为对象的设计理念和以微服务最小粒度的理念相悖,在实际应用生产中存在较大缺陷。
[0004]对于已经不存在的微服务无法及时清除控制信息,冗余数据越来越多,导致底层存储变得越发臃肿,进而影响整个集群,引发灾难。

技术实现思路

[0005]内容本专利技术的目的在于提供一种应用程序数据信息存储控制系统,以解决上述
技术介绍
中提出的问题。
[0006]为了解决上述技术问题,本专利技术提供如下技术方案:一种应用程序数据信息存储控制系统,该系统包括:可视化平台模块、接口模块、集群管理模块、数据面模块、控制面模块和动态感应服务模块;所述可视化平台模块提供可视化程序,用于管理员实时查看应用程序数据;所述接口模块提供API接口供管理员和管理程序对信息内容和信息权限进行管理;所述集群管理模块用于将对微服务的控制信息存储到redis集群中,以服务识别号为基础键,控制内容为值,组成hash结构,并赋予对应的时间戳和过期时间;防止造成redis内存膨胀。所述数据面模块用于应用微服务系统下的不同的治理规则,调用redis的xadd命令发送stream通知到数据面;所述控制面模块用于下发微服务系统下的不同的治理规则;所述动态感应服务模块用于获取配置变更信号,利用sidecar发起请求获取配置中心中的配置最后更新时间,如果此时间大于本地内存中的配置更新时间,那么就发起请求获取全部配置;所述可视化平台模块与所述接口模块相连接;所述接口模块、集群管理模块与控制面模块相连接;所述集群管理模块与所述数据面模块相连接;所述数据面模块与所述控制面模块相连接;所述控制面模块与所述动态感应服务模块相连接。
[0007]根据上述技术方案,所述服务识别号指每个微服务唯一的身份标识,为32位字符串,不同服务具有不同的服务识别号。
[0008]根据上述技术方案,所述可视化平台模块包括微服务治理单元和熔断管理单元;
所述微服务治理单元用于选择关键微服务,传输至熔断管理单元;所述熔断管理单元用于添加熔断规则。
[0009]根据上述技术方案,系统管理员通过接口模块,获取配置参数发送至控制面模块,所述配置参数包括:服务识别号、模块识别号和控制信息数据;所述控制面模块接收到配置参数请求后,校验配置参数请求合法性,如果配置合法,那么根据唯一的服务识别号查看服务是否已经创建过熔断规则,如果存在,对熔断规则进行判断并下发,如果不存在,就新增一条配置信息,并将配置存入控制面模块的存储数据库中持久化存储。
[0010]根据上述技术方案,熔断规则的判断并下发包括:当时间超过熔断持续时间时放开请求,判断是否正常,如果正常则释放熔断策略,将当前配置修改为新传入配置;如果依旧异常,再次执行快速失败流程。
[0011]根据上述技术方案,所述熔断持续时间由系统智能化配置,具体包括:将熔断持续时间定义为目标层,根据系统数据定义熔断持续时间的一级指标:服务所占的内存大小、服务所占CPU大小、请求响应延迟时间、网络连接数量、单位时间内的错误日志数量以及http返回状态码;构建层次结构模型,以http返回状态码作为准则层,以服务所占的内存大小、服务所占CPU大小、请求响应延迟时间、网络连接数量、单位时间内的错误日志数量作为因子层;获取系统下各用户的手动操作数据,构建判断矩阵;任选两个同层因素进行对比,对前者比后者的重要等级进行划分,其中准则层使用同一用户下的两种不同的http返回状态码进行对比;所述重要等级包括同等重要、稍微重要、明显重要、非常重要四个等级,以每一项在对比中存在的选择次数或差值占比进行划分;生成判断矩阵:,其中,A为判断矩阵;表示第i个一级指标相对于第j个一级指标的比较结果;n代表矩阵行列数量;对判断矩阵的各行向量进行几何平均,然后进行归一化,得到各一级指标权重和特征向量W:,,其中,代表几何平均后的各行向量;对矩阵A进行一致性检验:
,其中,分别代表行、列下的一级指标权重;表示最大特征根;构建一致性指标:,其中,CI代表一致性指标;设置一致性指标阈值,在一致性指标满足一致性指标阈值时,计算该用户的一级指标下的一级指标最佳优先级方案;那么在该组手动数据下差值最大的一级指标记为该用户的优选指标;根据该用户手动设置的熔断持续时间进行区域划分,在采集到系统给出的一级指标反馈值时,判断反馈值与设定的标准值差值最大的一级指标记为当前最差指标;若最差指标等于优选指标,输出对应的熔断持续时间;若最差指标不是优选指标,采用系统设置的其他熔断持续时间下发。
[0012]根据上述技术方案,所述存储数据库连接有集群管理模块,配置存储成功后,控制面模块将配置信息发送到集群管理模块,所述集群管理模块包括高性能的redis 集群;所述数据面模块调用redis集群的xadd命令发送stream通知到数据面,同时将唯一的服务识别号发送到redis stream中,构建redis stream key,任何发往redis stream的信息都表明对应的服务有配置更新。
[0013]根据上述技术方案,所述集群管理模块记录服务配置,并且将配置更新信号推送到信号队列中,所述动态感应服务模块利用sidecar在信号队列中获取配置详情;所述动态感应服务模块包括sidecar管理单元和配置代理单元;所述sidecar管理单元用于在初始化过程中,指令sidecar检查自身所依赖的外部基础设置是否完善以及当前服务提供的检查检查接口是否正常,同时,根据当前唯一的服务识别号通过配置代理单元拉取对应的全部配置信息,之后sidecar会一直和该配置代理建立监听机制,当配置代理接收到控制面发来的配置变更信号时,通知对应的sidecar配置信息已发生变更;sidecar获取到变更信号之后就会再次根据自身唯一的服务识别号拉取最新的配置信息,同时会比对最新配置信息的更新时间戳和当前配置的时间戳,如果最新的时间戳比当前的时间戳大,代表获取的配置比当前的要新,进行配置替换。
[0014]与现有技术相比,本专利技术所达到的有益效果是:本控制系统一改市面上控制系统固定思维,将控制信息下发与k8s完全解耦,可以在不依赖于k8s环境的场景下完成控制信息的下发。脱离和k8s共用的etcd存储,采用基于内存的redis集群作为控制信息存储站,一方面保障了高可用,另外不会和k8s集群相互影响。轻量化控制信息数据,点对点数据下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序数据信息存储控制系统,其特征在于:该系统包括:可视化平台模块、接口模块、集群管理模块、数据面模块、控制面模块和动态感应服务模块;所述可视化平台模块提供可视化程序,用于管理员实时查看应用程序数据;所述接口模块提供API接口供管理员和管理程序对信息内容和信息权限进行管理;所述集群管理模块用于将对微服务的控制信息存储到redis集群中,以服务识别号为基础键,控制内容为值,组成hash结构,并赋予对应的时间戳和过期时间;所述数据面模块用于应用微服务系统下的不同的治理规则,调用redis的xadd命令发送stream通知到数据面;所述控制面模块用于下发微服务系统下的不同的治理规则;所述动态感应服务模块用于获取配置变更信号,利用sidecar发起请求获取配置中心中的配置最后更新时间,如果此时间大于本地内存中的配置更新时间,那么就发起请求获取全部配置;所述可视化平台模块与所述接口模块相连接;所述接口模块、集群管理模块与控制面模块相连接;所述集群管理模块与所述数据面模块相连接;所述数据面模块与所述控制面模块相连接;所述控制面模块与所述动态感应服务模块相连接。2.根据权利要求1所述的一种应用程序数据信息存储控制系统,其特征在于:所述服务识别号指每个微服务唯一的身份标识,为32位字符串,不同服务具有不同的服务识别号。3.根据权利要求2所述的一种应用程序数据信息存储控制系统,其特征在于:所述可视化平台模块包括微服务治理单元和熔断管理单元;所述微服务治理单元用于选择关键微服务,传输至熔断管理单元;所述熔断管理单元用于添加熔断规则。4.根据权利要求3所述的一种应用程序数据信息存储控制系统,其特征在于:系统管理员通过接口模块,获取配置参数发送至控制面模块,所述配置参数包括:服务识别号、模块识别号和控制信息数据;所述控制面模块接收到配置参数请求后,校验配置参数请求合法性,如果配置合法,那么根据唯一的服务识别号查看服务是否已经创建过熔断规则,如果存在,对熔断规则进行判断并下发,如果不存在,就新增一条配置信息,并将配置存入控制面模块的存储数据库中持久化存储。5.根据权利要求4所述的一种应用程序数据信息存储控制系统,其特征在于:熔断规则的判断并下发包括:当时间超过熔断持续时间时放开请求,判断是否正常,如果正常则释放熔断策略,将当前配置修改为新传入配置;如果依旧异常,再次执行快速失败流程。6.根据权利要求5所述的一种应用程序数据信息存储控制系统,其特征在于:所述熔断持续时间由系统智能化配置,具体包括:将熔断持续时间定义为目标层,根据系统数据定义熔断持续时间的一级指标:服务所占的内存大小、服务所占CPU大小、请求响应延迟时间、网络连接数量、单位时间内的错误日志数量以及http返回状态码;构建层次结构模型,以http返回状态码作为准则层,以服务所占的内存大小、服务所占CPU大小、请求响应延迟时间、网络连...

【专利技术属性】
技术研发人员:李彪陶圣罗浩徐元昌
申请(专利权)人:南京飓风引擎信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1