一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用资源映射转换的方法、系统、介质和电子设备与流程

2022-07-02 11:19:11 来源:中国专利 TAG:


1.本技术涉及云原生技术领域,特别涉及一种应用资源映射转换的方法、系统、计算机可读存储介质和电子设备。


背景技术:

2.在集群系统中,通常需要多个应用协作来实现某项功能,由于每个应用都对应着一组资源,在协调多个应用之间的关系时,需要根据需求维护不同应用对应的资源。目前,主要是通过为应用添加更多代码的方式,建立其与其它应用的耦合依赖关系,当与其存在耦合依赖关系的其它应用对应的资源中的相关字段发生变化时,该应用对应的资源中的指定字段也会同步变化。
3.具体来说,采用向应用的代码中添加相关代码的方式在多个应用之间建立耦合依赖关系,来实现多个应用对应的资源进行同步维护,但在生产实践中往往存在多款能实现相同或近似功能的应用,为了让某个应用能够同时对多款功能相同或近似的应用实现兼容,需要成倍地为该应用添加代码,随着要兼容的应用的种类、数量的不断增加,该应用的代码将变得极为臃肿,给代码维护带来极大的困难。
4.因而,亟需提供一种针对上述现有技术不足的技术方案。


技术实现要素:

5.本技术的目的在于提供一种应用资源映射转换的方法、系统、计算机可读存储介质和电子设备,以解决或缓解上述现有技术中存在的问题。
6.为了实现上述目的,本技术提供如下技术方案:
7.本技术提供一种应用资源映射转换的方法,包括:按照预定义的资源触发机制,对设定的至少一个触发资源进行监听;响应于任一所述触发资源发生变化,根据预定义的资源映射转换机制,执行相对应的资源映射转换,以对所述触发资源对应的目标资源进行相应操作。
8.优选的,在所述按照预定义的资源触发机制,对设定的至少一个触发资源进行监听之前,还包括:对预先写入的资源映射转换策略文件进行解析,以获取所述资源触发机制;所述资源触发机制用于指定至少一个所述触发资源,以及要操作的所述目标资源。
9.优选的,所述资源映射转换策略文件的内容还包括所述资源映射转换机制,所述资源映射转换机制用于指定至少一个源资源,对应的,所述对所述触发资源对应的目标资源进行相应操作,包括:从至少一个所述源资源获取至少一份源数据信息;根据所述资源映射转换机制对至少一份所述源数据信息进行处理,以生成所述目标资源所需的目标数据信息;使用所述目标数据信息对所述目标资源进行相应操作。
10.优选的,所述资源映射转换机制还用于指定至少一个所述源数据信息对应的处理顺序和处理方式,对应的,所述根据所述资源映射转换机制对至少一份所述源数据信息进行处理,以生成所述目标资源所需的目标数据信息,包括:检测所述源数据信息是否存在缺
失;响应于所述源数据信息齐备,则按照所述处理顺序对所述源数据信息进行排序,并使用所述处理方式对所述源数据信息进行处理;响应于所述源数据信息存在缺失,则从缺失的源数据信息对应的所述源资源重新获取所述缺失的源数据信息。
11.优选的,在所述使用所述目标数据信息对所述目标资源进行相应操作之前,还包括:检测所述目标资源是否存在;响应于所述目标资源不存在,则使用所述目标数据信息创建所述目标资源。
12.优选的,所述按照预定义的资源触发机制,对设定的至少一个触发资源进行监听,包括:通过api-server组件监听是否产生所述触发资源的资源事件,或者,对所述触发资源的预设字段的内容进行监听;相应地,所述响应于任一所述触发资源发生变化,具体为:响应于产生所述触发资源的资源事件,或者,所述触发资源的预设字段达到预设状态。
13.优选的,还包括:所述资源触发机制和所述资源映射转换机制预先分别定义且相互独立。
14.本技术实施例还提供一种应用资源映射转换的系统,包括:资源监听单元,配置为按照预定义的资源触发机制,对设定的至少一个触发资源进行监听;资源转换单元,配置为响应于任一所述触发资源发生变化,根据预定义的资源映射转换机制,执行相对应的资源映射转换,以对所述触发资源对应的目标资源进行相应操作。
15.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序为如上任一所述的应用资源映射转换的方法。
16.本技术实施例还提供一种电子设备,包括:存储器、处理器、以及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任一所述的应用资源映射转换的方法。
17.有益效果:
18.本技术提供的应用资源映射转换的技术方案中,按照预定义的资源触发机制,对设定的至少一个触发资源进行监听,当触发资源发生变化时,根据预定义的资源映射转换机制,执行相对应的资源映射转换,对与触发资源相对应目标资源执行相对应的操作。籍此,在触发资源发生变化时,根据资源映射转换机制自动对相关联的目标资源进行相应操作,无需手动操作,有效降低了维护成本。通过资源触发机制和资源映射转换机制,建立资源之间的关联关系,减少了应用本身的代码量,并且让不同应用在代码上实现解耦,以及通过修改资源触发机制和资源映射转换机制的内容,即可变更资源之间的关联关系,避免对应用的代码进行修改,降低了维护成本。
附图说明
19.构成本技术的一部分的说明书附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。其中:
20.图1为根据本技术的一些实施例提供的一种应用资源映射转换的方法的流程示意图;
21.图2为根据本技术的一些实施例提供的一种应用资源映射转换的场景示意图;
22.图3为根据本技术的一些实施例提供的一种应用资源映射转换的系统的结构示意图;
23.图4为根据本技术的一些实施例提供的电子设备的结构示意图;
24.图5为根据本技术的一些实施例提供的电子设备的硬件结构。
具体实施方式
25.下面将参考附图并结合实施例来详细说明本技术。各个示例通过本技术的解释的方式提供而非限制本技术。实际上,本领域的技术人员将清楚,在不脱离本技术的范围或精神的情况下,可在本技术中进行修改和变型。例如,示为或描述为一个实施例的一部分的特征可用于另一个实施例,以产生又一个实施例。因此,所期望的是,本技术包含归入所附权利要求及其等同物的范围内的此类修改和变型。
26.在集群系统中,通常需要多个应用协作来实现某项功能,在协调多个应用之间的关系时,需要根据需求维护不同应用对应的资源。
27.比如,应用a是用于多集群应用管理的karmada,需要使用cluster资源(定义为资源a)来管理多个集群;应用b是用于多集群资源检索的clusterpedia,需要使用pediacluster资源(定义为资源b)来表示接入的集群。如果需要将某个集群接入karmada管理的多集群,又需要使用clusterpedia检索该集群中的资源,则需要应用管理员分别手动创建资源a和资源b,并且需要在资源a和资源b的相关字段中分别写入该集群的集群入口和集群验证相关信息;此外,在将该集群进行移出操作时,也需要应用管理员分别手动删除资源a和资源b,才能够将该集群彻底从多集群中移出。
28.为了提升对不同应用对应的资源的维护效率,目前采用为应用添加代码的方式在多个应用之间建立耦合依赖关系,来实现多个不同应用对应的资源的同步维护,使得应用管理员为应用a创建资源a后,应用b能够自动创建资源b,以及在应用管理员删除资源a后,应用b能够自动删除资源b。
29.可见,现有技术依赖于应用与其它应用之间的耦合依赖关系,而随着需要兼容的应用的种类、数量的不断增加,需要为应用大量增加代码,使得该应用的代码变得极为臃肿,代码维护十分困难。为此,申请人提出了一种应用资源映射转换的方案,在触发资源发生变化时,根据资源映射转换机制自动对相关联的目标资源进行相应操作,无需手动操作,有效降低了维护成本。通过资源触发机制和资源映射转换机制,建立资源之间的关联关系,减少了应用本身的代码量,并且让不同应用在代码上实现解耦,以及通过修改资源触发机制和资源映射转换机制的内容,即可变更资源之间的关联关系,避免对应用的代码进行修改,降低了维护成本。
30.为便于说明,在本技术实施例中,将要操作的资源定义为目标资源,触发对目标资源进行操作的资源定义为触发资源,将对目标资源进行操作时提供数据信息的资源定义为源资源。
31.示例性方法
32.图1为根据本技术的一些实施例提供的一种应用资源映射转换的方法的流程示意图;如图1所示,该应用资源映射转换的方法包括:
33.步骤s101、按照预定义的资源触发机制,对设定的至少一个触发资源进行监听。
34.在本技术实施例中,需要说明的是,集群中的所有内容均被抽象为资源,比如,容器组(pod)、服务(service)、节点(node)等,集群中所部署的应用对应的资源既可以作为触
发资源,也可以作为目标资源,也就是说,触发资源和目标资源是相对而言的。即某一个应用对应的资源既可以作为其它目标资源的触发资源,也可以作为其它触发资源的目标资源。在具体的应用场景中,应用对应的资源是单独作为触发资源或者目标资源存在,还是同时作为触发资源和目标资源存在是由应用管理员进行标注或设定的。
35.具体来说,触发资源的设定是通过预定义的资源触发机制来实现的,资源触发机制的运行原理是设定至少一个触发资源,以及对应的目标资源,并将该触发资源的变化作为资源触发机制启动的条件,而资源触发机制启动的结果是触发资源映射转换机制启动,再通过执行资源映射转换来具体实现对目标资源的相应操作。
36.可以理解,应用管理员可以根据触发资源的类型,以及实际需求在资源触发机制中定义触发资源发生变化的类型,具体可以为资源的创建、修改、删除、更新等。也就是说,应用管理员在定义资源触发机制的具体内容时,可以仅将触发资源的创建定义为触发资源发生变化,也可以将触发资源的创建、修改、更新都定义为触发资源发生变化,还可以仅将触发资源的删除定义为触发资源发生变化,本技术实施例对此不做限定。
37.基于上述描述可知,资源触发机制定义了触发资源与目标资源之间的连接、映射或操作关系,根据对资源触发机制的预先设置,对触发资源的创建、修改、删除、更新等操作进行监听,可实时地发现触发资源是否发生预先定义的变化。
38.在本技术实施例中,应用管理员通过提前写入的资源映射转换策略文件定义不同资源之间的资源触发机制,以及对触发资源、目标资源等不同资源进行定义;然后,通过对资源映射转换策略文件的内容进行解析,获取资源映射转换策略文件中定义的资源触发机制、触发资源、目标资源等信息。具体的,在按照预定义的资源触发机制,对设定的至少一个触发资源进行监听之前,对预先写入的资源映射转换策略文件进行解析,以获取资源触发机制;其中,资源触发机制用于指定至少一个触发资源,以及要操作的目标资源。
39.在一些可选实施例中,按照预定义的资源触发机制,对设定的至少一个触发资源进行监听,具体为通过api-server组件监听是否产生触发资源的资源事件,或者,对触发资源的预设字段的内容进行监听。即通过api-server组件对触发资源的创建、更新、删除等类型的资源事件进行监听,或者,对触发资源中的预设字段的内容进行监听。比如,触发资源的预设字段的内容为“true”、“false”或者“0”、“1”,通过api-server组件可以对触发资源的预设字段的内容变化(比如,由“ture”变为“false”,或者由“0”变为“1”,或者由其他任何内容变为预设的字符串)进行监听。
40.在此,需要说明的是,在kubernetes操作系统中,出现资源发生变化的情况,则会产生相应类型的资源事件,因此可通过api-server组件对资源事件进行监听来间接判断是否有资源发生相应类型的变化。此外,触发资源的预设字段的内容的类型可以是状态值,也可以是数值,还可以是字符串,在此,并不进行限定。
41.步骤s102、响应于任一触发资源发生变化,根据预定义的资源映射转换机制,执行相对应的资源映射转换,以对触发资源对应的目标资源进行相应操作。
42.基于前述描述可知,应用管理员通过提前写入的资源映射转换策略文件定义不同资源之间的资源触发机制,以及对触发资源、目标资源等不同资源进行定义,对资源映射转换策略文件进行解析即可获取资源触发机制,并且在资源触发机制中指定了触发资源和要操作的目标资源。相应地,为了能够预先定义资源映射转换机制,资源映射转换策略文件的
内容还包括资源映射转换机制,对资源映射转换策略文件进行解析也可获取资源映射转换机制。
43.在确定了资源触发机制和资源映射转换机制后,当设定的任意一个触发资源发生预先定义的变化时,即触发资源触发机制,确定发生变化的触发资源对应的目标资源,并且触发资源映射转换机制,按照资源映射转换机制,执行资源映射转换来具体实现对目标资源的相应操作,比如,监听到触发资源被创建,基于预定义的资源映射转换机制,创建对应的目标资源;或者,监听到触发资源被创建,基于预定义的资源映射转换机制,删除对应的目标资源;或者,监听到触发资源被删除,基于预定义的资源转换机制,更新对应的目标资源。籍此,通过资源触发机制和资源映射转换机制,建立资源之间的关联关系,实现不同资源的同步维护,有效降低了维护成本。
44.应当理解,本技术实施例中的对触发资源对应的目标资源进行相应操作包括但不限于对目标资源进行创建、更新、删除。其中,对于删除目标资源的情况,无需在资源映射转换机制中指定源资源,即在预先写入资源映射转换策略文件的内容时,如果定义的资源映射转换机制中对目标资源进行相应操作的类型为删除,那么无需指定源资源,即便指定了源资源,该指定也不会对目标资源的删除产生影响。
45.具体来说,在确定了资源触发机制和资源映射转换机制后,当设定的任意一个触发资源发生预先定义的变化时,即触发资源触发机制,确定发生变化的触发资源对应的目标资源,并且触发资源映射转换机制,按照资源映射转换机制,对目标资源进行删除。
46.而对于创建、更新目标资源等其他情况,资源映射转换机制用于指定至少一个源资源,对触发资源对应的目标资源进行相应操作,包括:从至少一个源资源获取至少一份源数据信息;根据资源映射转换机制对至少一份源数据信息进行处理,以生成目标资源所需的目标数据信息,使用目标数据信息对目标资源进行相应操作。
47.具体来说,在确定了资源触发机制和资源映射转换机制后,当设定的任意一个触发资源发生预先定义的变化时,即触发资源触发机制,确定发生变化的触发资源对应的目标资源,并且触发资源映射转换机制,在按照资源映射转换机制,执行资源映射转换来具体实现对目标资源的相应操作时,比如对目标资源进行创建和更新,则需要向目标资源的生成模板或者已存在的目标资源中写入相应的数据信息(称作目标数据信息),目标数据信息是由资源映射转换机制指定的源资源提供的源数据信息经过处理后生成的。
48.在本技术实施例中,目标资源对应的源资源可以有一个或者多个,当目标资源对应的触发资源发生变化,则从目标资源对应的一个或者多个源资源中的获取至少一份源数据信息,并对源数据信息进行处理,比如,重组、整合、计算、加密等操作,生成目标资源所需的目标数据信息,对目标资源进行相对应的操作。也就是说,在目标资源对应的每一个源资源中包含至少一份源数据信息,通过对这些源数据信息进行相应处理后,即可生成目标数据信息。
49.在一具体的例子中,资源映射转换机制还用于指定至少一个源数据信息对应的处理顺序和处理方式,对应的,在根据资源映射转换机制对至少一份源数据信息进行处理,以生成目标资源所需的目标数据信息时,检测源数据信息是否存在缺失,响应于源数据信息齐备,则按照处理顺序对源数据信息进行排序,并使用处理方式对源数据信息进行处理;响应于源数据信息存在缺失,则从缺失的源数据信息对应的源资源重新获取缺失的源数据信
息。
50.可以理解,目标资源对应的源资源可以有一个或者多个,每一个源资源中包含至少一份源数据信息,也就是说,目标数据信息可以由一个或者多个源数据信息经过处理后生成。对于目标数据信息由一个源数据信息经过处理后生成的情况,资源映射转换机制只需要预先设置对源数据信息进行处理的处理方式;对于目标数据信息需要由多个源数据信息经过处理后生成的情况,资源映射转换机制需要预先设置对多个源数据信息进行处理的处理顺序和处理方式,比如说,预先设置的处理顺序和处理方式为预先定义的算法模型,将多个源数据信息按顺序作为算法模型的多个输入参数,算法模型的输出即为目标数据信息。
51.可以理解,目标数据信息是由源数据信息经过处理后生成的,因此必须确保源数据信息真实存在。对于目标数据信息由一个源数据信息经过处理后生成的情况,只要源数据信息缺失,就完全无法对源数据信息进行处理;对于目标数据信息需要由多个源数据信息经过处理后生成的情况,则又具体包括源数据信息全部缺失或者部分缺失两种情况,如果是源数据信息全部缺失,则完全无法对源数据信息进行处理,如果是源数据信息部分缺失,对未缺失的源数据信息进行处理也无法得到目标资源所需的目标数据信息。
52.基于此,本技术实施例在对至少一份源数据信息进行处理时,需要先检测源数据信息是否存在缺失,如果源数据信息齐备,且仅有一个源数据信息,则使用资源映射转换机制指定的处理方式对源数据信息进行处理,如果有多个源数据信息,则按照资源映射转换机制指定的处理顺序对源数据信息进行排序,并使用资源映射转换机制指定的处理方式对源数据信息进行处理。
53.如果源数据信息存在缺失,则从缺失的源数据信息对应的源资源重新获取缺失的源数据信息。具体的,在从目标资源相对应的源资源中获取操作目标资源所需的源数据信息后,检测源数据信息是否缺失,如果源数据信息存在缺失,确定缺失的源数据信息对应的源资源以及源资源中存储该源数据信息的具体字段,再次请求访问该源数据,直至从源资源的具体字段获取该源数据信息。如果超过预设访问次数仍未获取该源数据信息,则终止对目标资源进行相应操作,并告知应用管理员。
54.在另一具体的例子中,在使用目标数据信息对目标资源进行相应的操作之前,先检测目标资源是否存在;响应于目标资源不存在,则使用目标数据信息创建目标资源;响应于目标资源存在,则直接对目标资源执行相应的操作。
55.应当理解,本技术实施例中对目标资源进行相应操作的类型按照目标资源是否已经存在可以分为创建新的目标资源和对已存在的目标资源进行更新、删除等其他操作。
56.在生产实践中,通常的需求是,当触发资源首次发生变化时,创建新的目标资源,而当触发资源再次发生变化时,对已存在的目标资源进行更新即可,无需再创建新的目标资源。因此,如果将目标资源的创建和更新分开设置,则创建目标资源的操作仅需执行一次,为其单独设置略显浪费。
57.此外,还可能会遇到应用管理员误操作的情况,比如,按照预先的规划,应当由应用管理员对触发资源进行操作,使得触发资源发生变化,再通过资源触发机制和资源映射转换机制删除目标资源,但因应用管理员的操作失误,先删除了目标资源,再对触发资源进行操作,此时通过资源触发机制和资源映射转换机制已无法对目标资源进行删除,而导致
本技术实施例中的应用资源映射转换的方法的运行机制出现逻辑矛盾。
58.再比如,资源触发机制和资源映射转换机制的设置是当触发资源发生变化时,对目标资源进行更新,但因应用管理员的操作失误,先删除了目标资源,再对触发资源进行操作,此时通过资源触发机制和资源映射转换机制已无法对目标资源进行更新,而导致本技术实施例中的应用资源映射转换的方法的运行机制出现逻辑矛盾。
59.为了让应用资源映射转换的方法能够满足上述需求和应对上述情况,在使用目标数据信息对目标资源进行相应的操作之前,先检测目标资源是否存在,如果目标资源不存在,则使用目标数据信息创建目标资源。如果目标资源存在,则直接对目标资源执行相应的操作。
60.也就是说,只要检测到目标资源不存在,本技术实施例都会执行一次目标资源的创建,因此在资源映射转换机制中可以仅设置更新和删除两种类型的操作。
61.如果应用管理员希望在触发资源首次发生变化时,对目标资源进行创建,在触发资源再次发生变化时,对目标资源进行更新,则可以在资源映射转换机制中仅设置对目标资源进行更新,当触发资源首次发生变化,检测到目标资源不存在,则使用目标数据信息创建目标资源,当触发资源再次发生变化时,检测到目标资源存在,则使用目标数据信息更新目标资源。
62.如果应用管理员希望在触发资源发生变化时,对目标资源进行删除,则可以在资源映射转换机制中仅设置对目标资源进行删除,当触发资源发生变化,检测到目标资源不存在,则无法对目标资源进行删除,则使用目标数据信息创建目标资源,再删除目标资源,检测到目标资源存在,则直接删除目标资源。
63.如果应用管理员希望在触发资源发生变化时,对目标资源进行更新,则可以在资源映射转换机制中仅设置对目标资源进行更新,当触发资源发生变化,检测到目标资源不存在,则无法对目标资源进行更新,则使用目标数据信息创建目标资源,再使用目标数据信息更新目标资源,检测到目标资源存在,则直接使用目标数据信息更新目标资源。
64.由上述描述可知,目标资源是应用管理员在资源映射转换策略文件中定义的,通过对目标资源是否存在进行检测,可以规避因应用管理员误操作而导致的逻辑矛盾,并且简化了资源映射转换机制的设置,让资源映射转换策略文件的内容更加精简。
65.在一些可选实施例中,在通过api-server组件监听是否产生触发资源的资源事件,或者,对触发资源的预设字段的内容进行监听时,响应于产生触发资源的资源事件,或者,触发资源的预设字段达到预设状态,则认为触发资源发生变化。比如,通过api-server组件监听到触发资源被创建、更新或删除等类型的资源事件,或者,监听到触发资源的预设字段的内容在“ture”、“false”或者“0”、“1”或者不同字符串之间变化,则认为触发资源发生变化,从目标资源对应的源资源中获取源数据信息进行处理,生成目标数据信息,对目标资源进行相应操作。
66.由前述说明可知,资源触发机制和资源映射机制由应用管理员通过提前写入的资源映射转换策略文件分别单独定义,即资源触发机制和资源映射转换机制预先分别定义且相互独立。也就是说,将资源触发机制和资源映射转换机制分开单独进行设置,分别在资源触发机制和资源映射转换机制中定义目标资源对应的触发资源和源资源,并分别建立触发资源与目标资源、源资源与目标资源之间的映射关系,实现资源之间的关联,使得资源映射
转换策略的设置逻辑清晰,将两种机制组合使用后能够应对各种复杂的同步维护需求。籍此,应用管理员只需要在资源映射转换策略文件中创建资源触发机制、资源映射转换机制或者修改已有的资源触发机制、资源映射转换机制,即可实现资源之间关联关系的制定或者修改,使得应用管理员只需要对资源映射转换策略文件进行创建和维护,而无需对应用本身的代码进行添加和修改,有效降低了维护成本。
67.示例性场景
68.图2为根据本技术的一些实施例提供的一种应用资源映射转换的场景示意图;如图2所示,以kubernetes集群为例,对本技术的应用资源映射转换的方法进行说明。在kubernetes集群中,容器组(pod)、服务(service)、节点(node)等各种资源主要集中在api-server组件中,在该应用场景中,通过在api-server组件中设置资源映射转换策略文件(policy crd),对触发资源、源资源、目标资源进行设定,并借助于触发资源、源资源、目标资源设置资源触发机制和资源映射转换机制。需要说明的是,目标资源对应的触发资源可以有一个或者多个,目标资源对应的源资源也可以有一个或者多个,它们之间的关联关系通过资源触发机制、资源映射转换机制表现。
69.在该应用场景中,还通过部署与资源映射转换策略文件相对应的控制器来对资源映射转换策略文件进行解析,以及具体执行资源映射转换策略。控制器要操作的资源定义为目标资源,触发控制器对目标资源进行操作的资源为触发资源,控制器操作目标资源时引用的资源定义为源资源。
70.具体的,控制器通过api-server组件对触发资源的资源事件进行监听,或者,对触发资源的预设字段的内容进行监听。当控制器通过api-server组件监听到资源触发机制中指定类型的触发资源的资源事件(比如,创建、更新、删除等)或者,监听到资源触发机制中指定的触发资源的预设字段达到预设状态(比如:预设字段的内容变为预设数值或者预设字符串等),则触发控制器在api-server组件中对目标资源执行相应的操作(比如,创建、更新、删除等)。需要说明的是,触发资源的变化与目标资源的操作之间的对应关系,是由应用管理员设置的,触发资源的变化可以对应目标资源的创建、更新、删除等任一操作,也就是说,触发资源的创建、更新、删除等任一变化可以对应目标资源的创建、更新、删除等中的任一操作。
71.需要说明的是,当触发资源的操作具体为删除操作时,控制器在api-server组件中直接删除对应的目标资源。当触发资源的操作具体为创建或更新操作时,则控制器通过访问api-server组件从目标资源对应的至少一个源资源中获取至少一份源数据信息进行处理,生产目标资源所需的目标数据信息,并使用目标数据信息在api-server组件中创建或更新目标资源。
72.比如,在该应用场景中,将应用d对应的资源d1定义为目标资源,在资源映射转换策略文件中分别设置目标资源对应的触发资源为资源a1、资源b2,目标资源对应的源资源为资源a1、资源b2、资源c2。
73.当触发资源和目标资源之间的关系是触发资源发生更新(在资源触发机制中设定),则目标资源也进行更新(在资源映射转换机制中设定)。当控制器通过api-server组件监听到资源a1或者资源b2发生更新时,则触发控制器对资源d1进行更新。具体的,控制器根据资源映射转换机制中定义的内容,通过访问api-server组件从资源a1、资源b2、资源c2中
的至少一个的预设字段获取至少一份源数据信息并在经过处理后,生成目标资源所需的目标数据信息写入资源d1的指定字段,实现对资源d1的更新。
74.当触发资源和目标资源之间的关系是触发资源被创建(在资源触发机制中设定),则触发控制器创建目标资源(在资源映射转换机制中设定)。当控制器通过api-server组件监听到资源a1或者资源b2被创建,则触发控制器创建新的目标资源d1。具体的,控制器根据资源映射转换机制中定义的内容,通过访问api-server组件从资源a1、资源b2、资源c2中的至少一个预设字段获取至少一份源数据信息并在经过处理后,生成目标资源所需的目标数据信息写入目标资源的预设模板中,即可在api-server组件中创建新的目标资源d1。
75.在此,以应用application-a对应的资源cluster1和应用application-b对应的资源cluster2之间写入的资源映射转换策略文件的一个yaml文件为例,对集群中应用的资源更新进行说明。资源映射转换策略文件的yaml文件如下:
76.77.[0078][0079]
如上述yaml文件所示,应用application-a对应的资源cluster1中的“.cluster.cluster1.spec.ca”字段存储了根证书,“.cluster.cluster1.spec.cert”字段存储了证书,“.cluster.cluster1.spec.apiserver”字段存储了集群访问地址,secret类型的资源cluster-auth-key存储了私钥。即,根证书、证书、集群访问地址、私钥均为生成目标资源所需的源数据信息,其中,根证书为资源cluster1的certificate-authority-data字段的内容,证书为资源cluster1的client-certificate-data字段的内容,集群访问地址为资源cluster1的server字段的内容,私钥为资源cluster-auth-key中的内容。需要说明的是,私钥是kubernetes系统中极为重要的私密数据,为了确保私钥的安全性,将应用的私钥单独存储在secret类型的资源中,应用在使用私钥时需要访问对应的secret类型的资源(资源cluster-auth-key)才能获取对应的私钥。
[0080]
应用application-b对应的资源cluster2中的“.spec.kubeconfig”字段的内容需要根证书、证书、集群访问地址、私钥处理后生成。即,目标资源更新所需的目标数据信息由根证书、证书、集群访问地址、私钥处理后生成,并写入“.spec.kubeconfig”字段中。
[0081]
在上述yaml文件中,application-b对应的资源cluster2定义为目标资源,将应用application-a对应的资源cluster1和secret类型的资源cluster-auth-key设置为资源cluster2对应的触发资源,同时又将应用application-a对应的资源cluster1和secret类型的资源cluster-auth-key设置为资源cluster2对应的源资源。当资源cluster1或者资源cluster-auth-key发生变化(比如,更新)时,触发对资源cluster2进行相应的操作(比如,更新)。在此过程中,分别从资源cluster1的“spec.ca”字段、“spec.cert”字段、“spec.apiserver”字段获取根证书、证书和集群访问地址,并从资源cluster-auth-key获取私钥,在进行处理后,生成资源cluster2的“.spec.kubeconfig”字段所需的目标数据信息,写入资源cluster2中的“.spec.kubeconfig”字段,实现对资源cluster2进行相应的操作(比如,更新)。
[0082]
在该应用场景中,通过设置了资源映射转换策略文件和对应的控制器的方式,实现对不同资源的同步维护。在触发资源发生变化时,根据资源映射转换机制自动对相关联的目标资源进行相应操作,无需手动操作,有效降低了维护成本。通过资源触发机制和资源映射转换机制,建立资源之间的关联关系,减少了应用本身的代码量,并且对应用本身的代码无侵入,让不同应用在代码上实现解耦,以及通过修改资源触发机制和资源映射转换机制的内容,即可变更资源之间的关联关系,避免对应用的代码进行修改,降低了维护成本。
[0083]
示例性系统
[0084]
图3为根据本技术的一些实施例提供的一种应用资源映射转换的系统的结构示意图;如图3所示,该应用资源映射转换的系统包括:资源监听单元301和资源转换单元302。资源监听单元301配置为按照预定义的资源触发机制,对设定的至少一个触发资源进行监听;资源转换单元302配置为响应于任一触发资源发生变化,根据预定义的资源映射转换机制,执行相对应的资源映射转换,以对触发资源对应的目标资源进行相应的操作。
[0085]
本技术实施例提供的应用资源映射转换的系统能够实现上述任一的应用资源映射转换的方法的步骤、流程,并达到相通的技术效果,在此不再一一赘述。
[0086]
示例性设备
[0087]
图4为根据本技术的一些实施例提供的电子设备的结构示意图;如图4所示,该电子设备包括:
[0088]
一个或多个处理器401;
[0089]
计算机可读存储介质,可以配置为存储一个或多个程序402,一个或多个处理器401执行一个或多个程序402时,实现如下步骤:按照预定义的资源触发机制,对设定的至少一个触发资源进行监听;响应于任一触发资源发生变化,根据预定义的资源映射转换机制,执行相对应的资源映射转换,以对触发资源对应的目标资源进行相应操作。
[0090]
图5为根据本技术的一些实施例提供的电子设备的硬件结构;如图5所示,该电子设备的硬件结构可以包括:处理器501、通信接口502、计算机可读存储介质503和通信总线504。
[0091]
其中,处理器501、通信接口502、计算机可读存储介质503通过通信总线504完成相互间的通信。
[0092]
可选地,通信接口502可以为通信模块的接口,如gsm模块的接口。
[0093]
其中,处理器501具体可以配置为:按照预定义的资源触发机制,对设定的至少一个触发资源进行监听;响应于任一触发资源发生变化,根据预定义的资源映射转换机制,执行相对应的资源映射转换,以对触发资源对应的目标资源进行相应操作。
[0094]
处理器501可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等,还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0095]
本技术实施例的电子设备以多种形式存在,包括但不限于:
[0096]
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如:iphone)、多媒体手机、功能性手机,以及
低端手机等。
[0097]
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。
[0098]
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如:ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
[0099]
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
[0100]
(5)其它具有数据交互功能的电子装置。
[0101]
需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可以将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
[0102]
上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器存储介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的应用资源映射转换的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
[0103]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和涉及约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
[0104]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0105]
以上所描述得设备及系统实施例仅仅是示意性的,其中作为分离不见说明的单元可以使或者也可以不是物理上分开的,作为单元提示的不见可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0106]
以上所述仅为本技术的优选实施例,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献