一种基于通用模型的数据库运维管控方法技术

技术编号:38773192 阅读:11 留言:0更新日期:2023-09-10 10:46
本申请公开了一种基于通用模型的数据库运维管控方法,涉及计算机技术领域,包括以下步骤:将所有数据库均抽象为集群与组件的组合,其中,每个集群由若干组件构成,并提取所有组件的共有特征;基于共有特征构建通用模型,并将所有数据库的共有特征值及其对应的运维动作存储在通用模型中;响应于数据库厂商自定义的数据库组件共有特征值,从通用模型存储的运维动作中选取相应的运维结果生成完整的运维任务流。本申请构建了一种数据库组件的通用模型,利用该通用模型可以为任一数据库统一动态生成一套完整的运维任务流,不仅提高了代码复用度和用户体验度,还降低了数据库厂商的接入成本。入成本。入成本。

【技术实现步骤摘要】
一种基于通用模型的数据库运维管控方法


[0001]本申请涉及计算机
,尤其涉及一种基于通用模型的数据库运维管控方法。

技术介绍

[0002]现有的数据库管控系统普遍存在如下问题:一种数据库一套代码,复用程度低,数据库厂商接入成本高;以指令式的任务流形式接入,非数据库研发视角,需要有一定的管控研发经验,学习成本高;开发调试成本高,无法在本地环境验证数据库产品完整生命周期;面向用户的接口不统一,每种数据库用户体验不一致,如kubedb中每一种数据库的CR都不相同,接口不同意味着对应不同的控制器。

技术实现思路

[0003]本申请提供的一种基于通用模型的数据库运维管控方法,旨在解决现有技术中多数据库运维管控代码复用程度低且用户体验度不高的问题。
[0004]为实现上述目的,本申请采用以下技术方案:
[0005]本申请的一种基于通用模型的数据库运维管控方法,包括以下步骤:
[0006]将所有数据库均抽象为集群与组件的组合,其中,每个集群由若干组件构成,并提取所有组件的共有特征;
[0007]基于所述共有特征构建通用模型,并将所述所有数据库的共有特征值及其对应的运维动作存储在所述通用模型中;
[0008]响应于数据库厂商自定义的数据库组件共有特征值,从所述通用模型存储的运维动作中选取相应的运维结果生成完整的运维任务流。
[0009]作为优选,所述共有特征分属于不同的维度,所述维度包括生命周期的增删改查、复制关系类型、可用性、配置、调度、网络和监控。
[0010]作为优选,所述生命周期的增删改查具体包括配置容器策略、停止策略、水平扩容策略以及最大不可用数策略。
[0011]作为优选,所述容器策略对应的运维动作为创建数据库集群,其具体包括配置执行命令、环境变量、资源以及卷挂载。
[0012]作为优选,所述停止策略对应的运维动作为根据所述停止策略删除数据库集群并有选择的删除所述数据库集群相关的数据。
[0013]作为优选,所述水平扩容策略对应的运维动作为根据所述水平扩容策略确定数据库扩容的前置工作并依次完成所述前置工作和扩容节点工作。
[0014]作为优选,所述最大不可用数策略对应的运维动作为根据所述最大不可用数策略和所述复制关系类型控制其更新并发方式。
[0015]作为优选,所述复制关系类型包括类paxos型、主备类型、无复制关系有状态类型和无复制关系无状态类型。
[0016]作为优选,所述方法还包括提供一种声明式API,用于令数据库厂商输入自定义的数据库组件共有特征值。
[0017]作为优选,所述响应于数据库厂商自定义的数据库组件共有特征值,从所述通用模型存储的运维动作中选取相应的运维结果生成完整的运维任务流,包括:
[0018]接收所述声明式API提供的数据库厂商自定义数据库组件共有特征值,并从所述通用模型存储的运维动作中选取所述自定义数据库组件共有特征值对应的所有运维动作。
[0019]本申请具有如下有益效果:
[0020]本申请给数据库运营商提供可描述其开发的数据库特性的声明式API,并通过该API提供的信息使得通用模型可以为其数据库动态生成一套完整的运维任务流,不仅提高了代码复用度,还可降低数据库厂商接入成本;同时给用户提供统一的运维API,使任何一种数据库的运维体验都保持一致,提高用户体验度。
附图说明
[0021]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是本申请提供的一种基于通用模型的数据库运维管控方法的流程图。
具体实施方式
[0023]下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0024]本申请的权利要求书和说明书的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式,此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他单元。
[0025]现有的数据库运维管控系统都是为每种类型的数据库单独配置一套管控逻辑,用户体验差,实际上不同类型的数据库之间通常也具备一定的相似性,可以以此抽象出统一的特征,构建多数据库引擎的统一抽象模型,并基于这种模型实现多数据库引擎运维的统一管控,基于此,如图1所示,本实施例提供一种基于通用模型的数据库运维管控方法,具体包括以下步骤:
[0026]S110、将所有数据库均抽象为集群与组件的组合,其中,每个集群由若干组件构成,并提取所有组件的共有特征;
[0027]S120、基于所述共有特征构建通用模型,并将所述所有数据库的共有特征值及其对应的运维动作存储在所述通用模型中;
[0028]S130、响应于数据库厂商自定义的数据库组件共有特征值,从所述通用模型存储的运维动作中选取相应的运维结果生成完整的运维任务流。
[0029]在本实施例中,首先将所有的数据库划分为两层结构,第一层为集群cluster,表示一个完整的数据库系统,cluster由一个或多个组件component组成,每个component可以作为一个独立的系统完成相对独立的工作,多个component之间的协作构成一个完整cluster的工作,一个component中通常又包含一个或多个数据库节点,它们使用相同的二进制程序,且其存储的数据互为副本,主流数据库如mysql、postgreql、redis、mongodb、etcd、clickhouse、kafka等都可以抽象为此两层结构。
[0030]接着,为了对component的生命周期和运维进行管控,需要提取出所有component的共有特征,具体包括以下维度的特征:
[0031]1、生命周期
[0032]即整个component的增删改查,具体到数据库集群的运维动作,通常包括:创建、删除、扩容、滚动更新等,为了区别生命周期的情况,该维度抽象出以下几种属性:
[0033](1)容器策略Containers:数据库运行所必须的一个或多个容器,其具体还包括用于控制数据库可执行程序的版本,通常以docker表示的镜像Image;程序运行时所执行的脚本,对于每种数据库可以定制化启动行为的执行命令Command;容器中需要用到的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于通用模型的数据库运维管控方法,其特征在于,包括以下步骤:将所有数据库均抽象为集群与组件的组合,其中,每个集群由若干组件构成,并提取所有组件的共有特征;基于所述共有特征构建通用模型,并将所述所有数据库的共有特征值及其对应的运维动作存储在所述通用模型中;响应于数据库厂商自定义的数据库组件共有特征值,从所述通用模型存储的运维动作中选取相应的运维结果生成完整的运维任务流。2.根据权利要求1所述的一种基于通用模型的数据库运维管控方法,其特征在于,所述共有特征分属于不同的维度,所述维度包括生命周期的增删改查、复制关系类型、可用性、配置、调度、网络和监控。3.根据权利要求2所述的一种基于通用模型的数据库运维管控方法,其特征在于,所述生命周期的增删改查具体包括配置容器策略、停止策略、水平扩容策略以及最大不可用数策略。4.根据权利要求3所述的一种基于通用模型的数据库运维管控方法,其特征在于,所述容器策略对应的运维动作为创建数据库集群,其具体包括配置执行命令、环境变量、资源以及卷挂载。5.根据权利要求3所述的一种基于通用模型的数据库运维管控方法,其特征在于,所述停止策略对应的运维动作为根据所述停止策略删除数据库集群并有选择的删除所述数据库集群相关的...

【专利技术属性】
技术研发人员:李慧玲蔡永晟蔡松露
申请(专利权)人:杭州云猿生数据有限公司
类型:发明
国别省市:

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

1