掌桥专利:专业的专利平台
掌桥专利
首页

面向联邦Kubernetes集群的元数据管理方法

文献发布时间:2024-04-18 19:58:21


面向联邦Kubernetes集群的元数据管理方法

技术领域

本说明书实施例涉及云计算技术领域,尤其是一种面向联邦Kubernetes集群的元数据管理方法。

背景技术

Kubernetes是一种开源的容器编排和管理平台,它旨在提供一种简单、可靠和可扩展的方式来部署、管理和扩展容器化应用程序。

随着云原生技术的发展和应用场景的不断扩大,企业和组织逐渐将应用程序部署到多个Kubernetes集群中,以实现高可用性、负载均衡和地理位置优化等需求。然而,随着集群数量的增加,集群管理的复杂性也随之增加。因此,联邦Kubernetes集群作为一种多集群管理解决方案出现。联邦Kubernetes集群资源元数据分析管理是指在联邦Kubernetes集群中对资源元数据进行分析和管理的过程。资源元数据是指与Kubernetes集群中的资源相关的数据,例如Pod、Service、Deployment等,在元数据中会描述该资源的属性、状态和行为等信息。通过对资源元数据进行收集、分析和可视化管理,可以更好地了解集群中资源的分布及使用情况,从而优化集群的性能和资源利用率。

在实际生产实践中,企业的数据中心往往都会有自己的资源管控平台,对底层资源进行拓扑展示及管理,然而原生的Kubernetes元数据信息是保存在各个业务集群的ETCD(一种分布式键值对存储)组件中。若管控平台主动对分布在各集群的元数据进行收集,则由于集群设置有多个、集群中元数据数量庞大且更新频繁,导致管控中心需要极大的存储空间且工作量巨大。

有鉴于此,本说明书实施例旨在提供一种面向联邦Kubernetes集群的元数据管理方法、系统和装置。

发明内容

针对现有技术存在的上述问题,本说明书实施例的目的在于,提供一种面向联邦Kubernetes集群的元数据管理方法、系统和装置,以解决现有技术中难以对分布在各集群中的元数据进行管控的问题。

为了解决上述技术问题,本说明书实施例的具体技术方案如下:

第一方面,本说明书实施例提供一种面向联邦Kubernetes集群的元数据管理方法,所述方法应用于数据同步管理模块,所述方法包括:

监听集群的元数据变更事件,所述集群设置有多个,所述变更事件包括创建事件、更新事件和删除事件;

提取发生变更事件的元数据的字段信息,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段;

将所述变更事件的类型和所述字段信息反馈至管控平台,以使所述管控平台依据所述字段信息对存储于其上的与元数据对应的结构体数据进行同步操作,所述结构体数据为所述管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

具体地,当所述变更事件为创建事件时,提取发生变更事件的元数据的字段信息,进一步包括:

提取发生创建事件的元数据的所有必要字段的信息。

具体地,当所述变更事件为更新事件时,提取发生变更事件的元数据的字段信息,进一步包括:

判断发生更新事件的元数据的更新字段是否为所述必要字段;

若是,则提取发生更新事件的元数据的更新字段的信息,以及发生更新事件的元数据的名称字段、唯一标识码字段和集群名称字段的信息;

若否,则忽略此次更新事件。

具体地,当所述变更事件为删除事件时,提取发生变更事件的元数据的字段信息进一步包括:

提取发生删除事件的元数据的名称字段、唯一标识码字段和集群名称字段的信息。

进一步地,所述方法还包括:

判断所述集群与所述管控平台之间的通信是否出现故障;

若是,则发送清除告警至所述管控平台以使所述管控平台清除其上存储的所有结构体数据,获取所有集群中的所有元数据的字段信息并反馈至管控平台。

第二方面,本说明书实施例还提供一种面向联邦Kubernetes集群的元数据管理方法,所述方法应用于管控平台,所述方法包括:

接收数据同步管理模块发送的与集群中元数据变更事件相对应的字段信息以及所述变更事件的类型,所述集群设置有多个,所述变更事件包括创建事件、更新事件和删除事件,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段;

根据所述字段信息以及所述变更事件的类型,对本地存储的与元数据相对应的结构体数据进行同步操作,所述结构体数据为所述管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

具体地,当所述变更事件为更新事件时,根据所述字段信息以及所述变更事件的类型,对本地存储的与元数据相对应的结构体数据进行同步操作,进一步包括:

根据所述字段信息,判断本地是否存在有与所述字段信息中的名称字段、唯一标识码字段和集群名称字段的信息相对应的目标结构体数据;

若存在,则利用所述字段信息中的更新字段的信息,对所述目标结构体数据中的目标字段进行更新;

若不存在,则发送告警信息。

具体地,当所述变更事件为删除事件时,根据所述字段信息以及所述变更事件的类型,对本地存储的与元数据相对应的结构体数据进行同步操作,进一步包括:

根据所述字段信息,判断本地是否存在有与所述字段信息中的名称字段、唯一标识码字段和集群名称字段的信息相对应的目标结构体数据;

若存在,则将所述目标结构体数据删除;

若不存在,则发送告警信息。

进一步地,所述方法还包括:

接收所述数据同步管理模块发送的清除告警;

清除本地存储的所有结构体数据;

接收所述数据同步管理模块发送的所有元数据的字段信息;

根据各元数据的字段信息和自定义调用字段信息打包得到与各元数据相对应的结构体数据并存储。

第三方面,本说明书实施例还提供一种面向联邦Kubernetes集群的元数据管理系统,包括:

集群,所述集群设置有多个,所述集群上存储有运行于其上的应用所生成的元数据;

数据同步管理模块,用于监听所述集群的元数据变更事件,提取所监听到的发生变更事件的元数据的字段信息,将所述变更事件的类型和所述字段信息反馈至管控平台,所述变更事件包括创建事件、更新事件和删除事件,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段;

管控平台,用于根据所述字段信息以及所述变更事件的类型对存储于其上的与元数据对应的结构体数据进行同步操作,所述结构体数据为所述管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

优选地,所述数据同步管理模块还用于:

判断所述集群与所述管控平台之间的通信是否出现故障;当出现故障时发送清除告警至所述管控平台,以及获取所有集群中的所有元数据的字段信息并反馈至管控平台;

所述管控平台还用于当接收到所述数据同步管理模块发送的清除告警后,清除其本地存储的所有结构体数据,以及根据所述数据同步管理模块发送的各元数据的字段信息和自定义调用字段信息打包得到与各元数据相对应的结构体数据并存储。

第四方面,本说明书实施例还提供一种面向联邦Kubernetes集群的元数据管理装置,包括:

监听单元,用于监听集群的元数据变更事件,所述集群设置有多个,所述变更事件包括创建事件、更新事件和删除事件;

提取单元,用于提取发生变更事件的元数据的字段信息,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段;

反馈单元,用于将所述变更事件的类型和所述字段信息反馈至管控平台,以使所述管控平台依据所述字段信息对存储于其上的与元数据对应的结构体数据进行同步操作,所述结构体数据为所述管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

第五方面,本说明书实施例还提供一种面向联邦Kubernetes集群的元数据管理装置,包括:

接收单元,用于接收数据同步管理模块发送的与集群中元数据变更事件相对应的字段信息以及所述变更事件的类型,所述集群设置有多个,所述变更事件包括创建事件、更新事件和删除事件,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段;

同步单元,用于根据所述字段信息以及所述变更事件的类型,对本地存储的与元数据相对应的结构体数据进行同步操作,所述结构体数据为管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

第六方面,本说明书实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述技术方案提供的方法。

第七方面,本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述技术方案提供的方法。

第八方面,本说明书实施例还提供一种计算机程序产品,包括至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述技术方案提供的方法。

采用上述技术方案,本说明书实施例提供的一种面向联邦Kubernetes集群的元数据管理方法、系统和装置,通过数据同步管理模块自动地对各集群中的元数据进行监听,并将监听到的发生变更事件的元数据的字段信息同步至管控平台以对集群元数据的调用进行统一配置,实现了对元数据的字段信息的便捷可靠管理,便利了应用间数据的调用消费;并通过存储元数据的字段信息节约了管控平台的存储空间。

为让本说明书实施例的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本说明书实施例提供的面向联邦Kubernetes集群的元数据管理方法的步骤示意图;

图2示出了本说明书实施例中对发生更新事件的元数据的字段信息进行提取的步骤示意图;

图3示出了本说明书实施例提供的面向联邦Kubernetes集群的元数据管理方法的又一步骤示意图;

图4示出了本说明书实施例中对发生更新事件的元数据相对应的结构体数据进行同步操作的步骤示意图;

图5示出了本说明书实施例中对发生删除事件的元数据相对应的结构体数据进行同步操作的步骤示意图;

图6示出了本说明书实施例提供的一种面向联邦Kubernetes集群的元数据管理系统的结构示意图;

图7示出了本说明书实施例提供的面向联邦Kubernetes集群的元数据管理装置的结构示意图;

图8示出了本说明书实施例提供的面向联邦Kubernetes集群的元数据管理装置的又一结构示意图;

图9示出了本说明书实施例提供的一种计算机设备的结构示意图。

附图符号说明:

100、集群;

200、管控平台;

300、数据同步管理模块;

71、监听单元;

72、提取单元;

73、反馈单元;

81、接收单元;

82、同步单元;

902、计算机设备;

904、处理器;

906、存储器;

908、驱动机构;

910、输入/输出模块;

912、输入设备;

914、输出设备;

916、呈现设备;

918、图形用户接口;

920、网络接口;

922、通信链路;

924、通信总线。

具体实施方式

下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

需要说明的是,本说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本说明书的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了解决上述问题,本说明书实施例提供了一种面向联邦Kubernetes集群的元数据管理方法、系统和装置,能够实现管控平台对集群中元数据的便捷和可靠管控。图1是本说明书实施例提供的一种面向联邦Kubernetes集群的元数据管理方法的步骤示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图1所示,所述方法应用于数据同步管理模块,所述方法可以包括:

S110:监听集群的元数据变更事件,所述集群设置有多个,所述变更事件包括创建事件、更新事件和删除事件。

本说明书实施例中的元数据又称中介数据、中继数据,为描述数据的数据,主要用于描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。

数据同步管理模块的监听可通过Kubernetes的监听(Watchs)机制实现,当监听到Alcorgroup、Deployment、StatefulSet、Pod、PV、PVC、Job等底层资源的元数据发生变更事件时,将变更类型(即创建事件create、更新事件update和删除事件delete)以事件(event)的形式推送给数据同步管理模块。

S120:提取发生变更事件的元数据的字段信息,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段。

所述必要字段即为管控平台构建与所述元数据相对应的结构体数据所需的字段。所述配置字段还可进一步包括亲和性配置字段、重启策略字段、内存配置字段、CPU配置字段、存储配置字段等字段。即本说明书实施例中,所述必要字段为应用之间常用的消费所需的字段。

S130:将所述变更事件的类型和所述字段信息反馈至管控平台,以使所述管控平台依据所述字段信息对存储于其上的与元数据对应的结构体数据进行同步操作,所述结构体数据为所述管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

本说明书实施例中,所述管控中心作用为元数据的中转站或数据仓库,其不仅可存储有Kubernetes平台的数据,还可以存储有其他多个平台推送来的数据。管控平台将接收到的元数据的字段信息与其自定义的调用字段信息进行封装打包成结构体数据,实现了对元数据的字段信息的统一管理并实现了对调用接口的统一配置。当某一运行在集群1上的应用A需要消费应用B、C、D的元数据(应用B、C、D可以是运行于集群1上,也可以运行于其他集群上)时,以往是需要应用A分别调用应用B、C、D提供的相应的查询接口来获取相应的信息;而通过本说明书实施例提供的上述方法,在管控平台上存储有应用B、C、D的数据且管控平台提供通用的调用接口,因此,应用A只需要调用管控平台的接口即可获取应用B、C、D的相应数据,便于各应用对元数据的访问消费。

同时,由于管控中心中存储的为元数据的部分字段信息,并不是各元数据本身,因此,既使得管控中心能够满足各应用对元数据的消费需求,实现了对各Kubernetes集群元数据的便捷、可靠管理;又节约了管控平台的存储空间。

综上,本说明书实施例提供的面向联邦Kubernetes集群的元数据管理方法,通过数据同步管理模块,自动地对各集群中的元数据进行监听,并将监听到的发生变更事件的元数据同步至管控平台,实现对集群元数据便捷可靠的同步和管理操作。

当所述变更事件为创建事件时,步骤S120:提取发生变更事件的元数据的字段信息,可以包括:

提取发生创建事件的元数据的所有必要字段的信息。

从而管控平台根据数据同步管理组件反馈的该发生创建事件的元数据的所有必要字段以及管控平台自定义的调用字段信息,打包得到与该元数据对应的结构体数据并存储于本地,以用于供各应用消费。

需要说明的是,管控平台在打包得到结构体数据时,除自定义的调用字段信息外,还可以将一些其他的管控平台的概念打包在结构体体内,例如,应用系统字段、部署单元信息字段。

进一步地,如图2所示,本说明书实施例中,当所述变更事件为更新事件时,步骤S120:提取发生变更事件的元数据的字段信息,可以包括:

S210:判断发生更新事件的元数据的更新字段是否为所述必要字段。

需要说明的是,当元数据发生变更时,通常其名称字段、唯一标识码字段和集群名称字段不会发生变更。因此,需判断该发生更新事件的元数据的更新字段是否为除名称字段、唯一标识码字段和集群名称字段的信息以外的必要字段。

S220:若是,则提取发生更新事件的元数据的更新字段的信息,以及发生更新事件的元数据的名称字段、唯一标识码字段和集群名称字段的信息。

本说明书实施例中,名称字段、唯一标识码字段和集群名称字段的信息可以用于唯一确定一元数据。从而管控平台可依据名称字段、唯一标识码字段和集群名称字段用于查询到与该发生更新事件相对应的目标结构体数据;并利用更新字段对该目标结构体数据中的相应字段进行更新。

本说明书实施例中,发生更新事件的元数据其更新字段可以有一个,也可以有多个。且其更新方式可以是将该字段的原信息进行更新,例如,将亲和性配置字段的信息由a变更为b。其更新方式还可以是删除一个或多个字段,即将某一个或多个字段的信息由原信息更新为空。需要说明的是,当某个元数据的所有必要字段均被删除,则该事件应归类为删除事件。

S230:若否,则忽略此次更新事件。

对于一发生更新事件的元数据而言,其事件时间节点字段不仅包括有创建事件时间节点字段和更新事件时间节点字段。其中,创建事件时间节点字段即为该元数据创建时的时间节点,而更新事件时间节点即为该元数据发生更新事件时的时间节点。

即当发生更新事件的元数据的变更字段为非必要字段时,数据同步管理模块不会将该更新事件反馈至管控平台。本说明书实施例提供的面向联邦Kubernetes集群的元数据管理方法,通过对发生更新事件的元数据的更新字段进行选择性同步至管控平台,实现了对多个集群下频繁发生变更的元数据的管理,同时极大地降低了数据同步管理模块的工作量。

进一步地,本说明书实施例中,当所述变更事件为删除事件时,步骤S120:提取发生变更事件的元数据的字段信息,可以包括:

提取发生删除事件的元数据的名称字段、唯一标识码字段和集群名称字段的信息。

如前所述,当一元数据的所有必要字段的信息被删除,或该元数据的所有必要字段和至少部分非必要字段的信息被删除时,即为该元数据发生删除事件。此时,仅需提取该元数据的名称字段、唯一标识码字段和集群名称字段的信息至管控平台,以使管控平台根据名称字段、唯一标识码字段和集群名称字段的信息查询与该元数据对应的目标结构体数据,并将该目标结构体数据从管控平台上删除。

本说明书实施例提供的面向联邦Kubernetes集群的元数据管理方法,数据同步管理组件对于不同类型的变更事件提取的元数据的字段信息不同:对于发生创建事件的元数据,数据同步管理组件提取元数据的所有必要字段的信息;对于发生更新事件的元数据,数据同步管理组件仅需提取变更字段和唯一确定该元数据的字段信息;以及对于发生删除事件的元数据,数据同步管理组件仅需提取唯一确定该元数据的字段信息,有利于提高数据同步管理组件对变更事件的响应速率,以及有利于提高数据同步管理组件对发生变更事件的元数据相关字段的提取效率。同时,也便于管控平台根据接收到的字段信息的不同,对不同变更类型元数据对应的结构体数据进行同步。

进一步地,本说明书实施例中,所述方法还包括:

判断所述集群与所述管控平台之间的通信是否出现故障。

具体地,可根据通信接口的状态来判断;还可以通过消费者的消费结果以及其他一些反馈机制来判断。例如,应用A从管控平台中调用了应用B的元数据对应的结构体数据并基于该结构体数据与应用B进行交互;在交互时,应用A与应用B因该结构体数据的信息有误导致消费失败,可判断管控平台中存储的并非是应用B元数据所对应的最新的结构体数据,即应用B的元数据发生了更新事件而管控平台未及时接收并更新,从而可判定集群与管控平台之间通信发生故障。

若是,则发送清除告警至所述管控平台以使所述管控平台清除其上存储的所有结构体数据,获取所有集群中的所有元数据的字段信息并反馈至管控平台。

当集群与管控平台之间的通信出现故障时,集群中的元数据与管控平台上存储的结构体数据可能存在以下不对应情形:

1.集群中存在某一元数据,而管控平台上不存在该元数据对应的结构体数据;

2.集群中已删除某一元数据,但管控平台上还存在该元数据对应的结构体数据;

3.集群中某一元数据的必要字段的信息与管控平台上该元数据对应的结构体数据中的相应字段的信息不一致;

由于发生创建事件的元数据在同步至管控平台时,其必要字段中包括由集群名称字段,该集群名称字段用于表征该元数据来源于哪个集群。本说明书实施例中,当某个集群与管控平台之间的通信出现故障时,为避免应用调用到错误的结构体数据,可将利用集群名称字段将该集群的元数据所对应的结构体数据全部删除。

如图3所示,本说明书实施例还提供一种面向联邦Kubernetes集群的元数据管理方法,所述方法应用于管控平台,所述方法包括:

S310:接收数据同步管理模块发送的与集群中元数据变更事件相对应的字段信息以及所述变更事件的类型,所述集群设置有多个,所述变更事件包括创建事件、更新事件和删除事件,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段。

S320:根据所述字段信息以及所述变更事件的类型,对本地存储的与元数据相对应的结构体数据进行同步操作,所述结构体数据为所述管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

管控平台将接收到的元数据的字段信息与其自定义的调用字段信息进行封装打包成结构体数据,实现了对结构体数据的调用的统一配置,从而便于各应用对存储于管控平台的结构体数据的访问调用;实现了对来自于各集群的元数据的字段信息的统一管理。

如图4所示,本说明书实施例中,当所述变更事件为更新事件时,步骤S320中的,根据所述字段信息以及所述变更事件的类型,对本地存储的与元数据相对应的结构体数据进行同步操作,可以包括:

S410:根据所述字段信息,判断本地是否存在有与所述字段信息中的名称字段、唯一标识码字段和集群名称字段的信息相对应的目标结构体数据。

由于名称字段、唯一标识码字段和集群名称字段的信息可以用于唯一确定元数据,因此,管控平台可利用名称字段、唯一标识码字段和集群名称字段的信息查找与该元数据相对应的结构体数据。

S420:若存在,则利用所述字段信息中的更新字段的信息,对所述目标结构体数据中的目标字段进行更新。

S430:若不存在,则发送告警信息。

则可以表明该结构体数据未同步更新至管控平台,管控平台与集群之间的通信可能发生故障,因此发送告警信息。

与之相类似的,如图5所示,当所述变更事件为删除事件时,步骤S320中的,根据所述字段信息以及所述变更事件的类型,对本地存储的与元数据相对应的结构体数据进行同步操作,可进一步包括:

S510:根据所述字段信息,判断本地是否存在有与所述字段信息中的名称字段、唯一标识码字段和集群名称字段的信息相对应的目标结构体数据。

S520:若存在,则将所述目标结构体数据删除。

S530:若不存在,则发送告警信息。

当元数据发生删除事件时,其所有必要字段的信息均被删除,但本说明书实施例中,数据同步管理组件仅需提取用于唯一确定该元数据的名称字段、唯一标识码字段和集群名称字段的信息,而无需将所有必要字段的信息全部提取出来,有利于提高数据同步管理组件对删除事件的响应速率以及对发生删除事件的元数据的上述字段的信息提取效率。并且,当管控平台上未查询到与名称字段、唯一标识码字段和集群名称字段的信息唯一确定的元数据相对应的结构体数据时,可以表明该结构体数据已经被删除,或该结构体数据未同步更新至管控平台,即管控平台与集群之间的通信出现故障,因此发送告警信息。

需要说明的是,在一些优选的实施例中,当元数据发生有更新事件或删除事件时,若管控平台根据数据同步管理模块发送的字段信息,查询到本地存储的与名称字段、唯一标识码字段和集群名称字段的信息相对应的结构体数据不止一个时,将同样判定所述管控平台与集群之间存在故障,并发送告警信息。

在一些优选的实施例中,管控平台在接收数据同步管理模块发送的字段信息以及变更类型的类型时,可以根据字段的数量对变更事件的类型进行校验。记所有必要字段的数量之和为N,N>3,示例性的,具体校验方法可以如下:

当数据同步管理模块发送的字段的数量等于3(即名称字段、唯一标识码字段和集群名称字段这些字段的数量之和)时,校验所述变更类型是否为删除事件;

当发送的字段的数量等于N时,校验所述变更事件是否为创建事件;以及当发送的字段的数量大于3且小于N时,校验所述变更事件是否为更新事件。

数据同步管理模块还可以将变更事件的类型反馈至管控平台,以便管控平台根据所述字段信息和所述变更事件的类型对相应结构体数据进行同步操作。

进一步地,所述方法还包括:

接收所述数据同步管理模块发送的清除告警;

清除本地存储的所有结构体数据;

接收所述数据同步管理模块发送的所有元数据的字段信息;

根据各元数据的字段信息和自定义调用字段信息打包得到与各元数据相对应的结构体数据并存储。

当数据同步管理模块确定管控平台与集群之间的通信出现故障后,将向管控平台发送清除告警,管控平台将存储于其上的结构体数据全部清除;并根据结构体数据发送的各元数据的字段信息,以创建事件的方式为各元数据创建与之对应的结构体数据,以保证各应用调用到正确的结构体数据。

如图6所示,本说明书实施例还提供一种面向联邦Kubernetes集群的元数据管理系统,包括:

集群100,所述集群100设置有多个,所述集群100上存储有运行于其上的应用所生成的元数据。

数据同步管理模块300,用于监听所述集群100的元数据变更事件,提取所监听到的发生变更事件的元数据的字段信息,将所述变更事件的类型和所述字段信息反馈至管控平台200,所述变更事件包括创建事件、更新事件和删除事件,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段。

管控平台200,用于根据所述字段信息以及所述变更事件的类型对存储于其上的与元数据对应的结构体数据进行同步操作,所述结构体数据为所述管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

进一步地,所述数据同步管理模块300还用于:

判断所述集群100与所述管控平台200之间的通信是否出现故障;当出现故障时发送清除告警至所述管控平台200,以及获取所有集群100中的所有元数据的字段信息并反馈至管控平台200;

所述管控平台200还用于当接收到所述数据同步管理模块300发送的清除告警后,清除其本地存储的所有结构体数据,以及根据所述数据同步管理模块300发送的各元数据的字段信息和自定义调用字段信息打包得到与各元数据相对应的结构体数据并存储。

如图7所示,本说明书实施例还提供一种面向联邦Kubernetes集群的元数据管理装置,包括:

监听单元71,用于监听集群的元数据变更事件,所述集群设置有多个,所述变更事件包括创建事件、更新事件和删除事件;

提取单元72,用于提取发生变更事件的元数据的字段信息,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段;

反馈单元73,用于将所述变更事件的类型和所述字段信息反馈至管控平台,以使所述管控平台依据所述字段信息对存储于其上的与元数据对应的结构体数据进行同步操作,所述结构体数据为所述管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

如图8所示,本说明书实施例还提供一种面向联邦Kubernetes集群的元数据管理装置,包括:

接收单元81,用于接收数据同步管理模块发送的与集群中元数据变更事件相对应的字段信息以及所述变更事件的类型,所述集群设置有多个,所述变更事件包括创建事件、更新事件和删除事件,所述元数据的字段包括必要字段和非必要字段,所述必要字段至少包括元数据名称字段、唯一标识码字段、集群名称字段、事件时间节点字段和配置字段;

同步单元82,用于根据所述字段信息以及所述变更事件的类型,对本地存储的与元数据相对应的结构体数据进行同步操作,所述结构体数据为管控平台根据发生创建事件的元数据的字段信息和自定义调用字段信息打包得到。

通过本说明书实施例提供的装置所取得的有益效果和上述方法所取得的有益效果相一致,此处不再赘述。

如图9所示,为本说明书实施例提供的一种计算机设备,本说明书中的面向联邦Kubernetes集群的元数据管理装置可以为本实施例中的计算机设备,执行本说明书的上述方法。所述计算机设备902可以包括一个或多个处理器904,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备902还可以包括任何存储器906,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器906可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备902的固定或可移除部件。在一种情况下,当处理器904执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备902可以执行相关联指令的任一操作。计算机设备902还包括用于与任何存储器交互的一个或多个驱动机构908,诸如硬盘驱动机构、光盘驱动机构等。

计算机设备902还可以包括输入/输出模块910(I/O),其用于接收各种输入(经由输入设备912)和用于提供各种输出(经由输出设备914)。一个具体输出机构可以包括呈现设备916和相关联的图形用户接口(GUI)918。在其他实施例中,还可以不包括输入/输出模块910(I/O)、输入设备912以及输出设备914,仅作为网络中的一台计算机设备。计算机设备902还可以包括一个或多个网络接口920,其用于经由一个或多个通信链路922与其他设备交换数据。一个或多个通信总线924将上文所描述的部件耦合在一起。

通信链路922可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路922可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。

对应于如图1至图5所示的方法,本说明书实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。

本说明书实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1至图5所示的方法。

本说明书实施例还提供一种计算机程序产品,包括至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如图1至图5所示的方法。

应理解,在本说明书的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施例的实施过程构成任何限定。

还应理解,在本说明书实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本说明书中字符“/”,一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以意识到,结合本说明书中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本说明书实施例方案的目的。

另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中应用了具体实施例对本说明书的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本说明书的方法及其核心思想;同时,对于本领域的一般技术人员,依据本说明书的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本说明书的限制。

相关技术
  • 一种面向广域网环境下多存储集群的元数据共享管理方法
  • 一种面向广域网环境下多存储集群的元数据共享管理方法
技术分类

06120116485544