一种集群兼容性处理方法、设备及存储介质转让专利

申请号 : CN202110744249.3

文献号 : CN113645272B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘潇木

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本申请公开了一种集群兼容性处理方法、设备及存储介质,该方法包括:构建兼容性配置模块;兼容性配置模块具有用于建立不同设备中节点数据之间的映射关系的结构体;将各节点的差异化数据保存在结构体中的对应位置上;通过结构体的回调函数和定义的注册回调函数,将结构体中保存的差异化数据进行转换,以实现集群数据和节点数据之间的交互。这样有效的化解了节点硬件配置信息的差异性,实现硬件数据的统一处理,使得不同的设备不再因硬件信息的不同而不能组建同一集群,加大了集群的兼容性,减少了对设备型号的依赖性,增强了集群的可扩展性,大大提高了产品的竞争力。

权利要求 :

1.一种集群兼容性处理方法,其特征在于,包括:

构建兼容性配置模块;所述兼容性配置模块具有用于建立不同设备中节点数据之间的映射关系的结构体;

将各节点的差异化数据保存在所述结构体中的对应位置上;

通过所述结构体的回调函数和定义的注册回调函数,将所述结构体中保存的差异化数据进行转换,以实现集群数据和节点数据之间的交互。

2.根据权利要求1所述的集群兼容性处理方法,其特征在于,所述结构体包括节点实例数和一个可变的数组;

所述数组中的每个元素作为指针,分别指向对应的用于保存节点的差异化数据的缓存区域。

3.根据权利要求2所述的集群兼容性处理方法,其特征在于,还包括:创建集群时,通过集群为每个节点分配一个唯一的ID,所述ID与所述结构体中的缓存区域一一对应。

4.根据权利要求3所述的集群兼容性处理方法,其特征在于,所述节点实例数、所述数组中的元素个数与集群中的节点数相同。

5.根据权利要求4所述的集群兼容性处理方法,其特征在于,所述将各节点的差异化数据保存在所述结构体中的对应位置上,包括:根据各节点的所述ID位置,将各节点各自的差异化数据保存在所述结构体中对应的所述缓存区域,得到各节点的兼容性配置;

通过集群的数据同步,将各节点的兼容性配置同步到集群中的其他节点中,以使各节点的兼容性配置中保存着所有节点的差异化数据。

6.根据权利要求5所述的集群兼容性处理方法,其特征在于,不同的节点类型定义不同的所述注册回调函数。

7.根据权利要求6所述的集群兼容性处理方法,其特征在于,通过所述结构体的回调函数和定义的注册回调函数,将所述结构体中保存的差异化数据进行转换,包括:根据节点类型的不同,调用所述结构体的回调函数时,利用各节点定义的注册回调函数分别将所述结构体中保存的差异化数据进行转换。

8.根据权利要求7所述的集群兼容性处理方法,其特征在于,所述各节点的差异化数据包括节点型号、节点序列号和节点类型。

9.一种集群兼容性处理设备,其特征在于,包括处理器和存储器,其中,所述处理器执行所述存储器中存储的计算机程序时实现如权利要求1至8任一项所述的集群兼容性处理方法。

10.一种计算机可读存储介质,其特征在于,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的集群兼容性处理方法。

说明书 :

一种集群兼容性处理方法、设备及存储介质

技术领域

[0001] 本发明涉及数据处理技术领域,特别是涉及一种集群兼容性处理方法、设备及存储介质。

背景技术

[0002] 目前,现有的设计方法中,组建同一集群一般都需要相同型号的设备或同品牌的设备,但由于不同型号或不同品牌间硬件环境的不同,如图1所示,设备上保存了不同的硬件数据,而这些硬件数据在组建集群的过程中将会因为数据不一致,导致集群创建失败。
[0003] 因此,如何解决因设备硬件环境不同导致的无法组建集群的问题,是本领域技术人员亟待解决的技术问题。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种集群兼容性处理方法、设备及存储介质,可以实现在不同的设备之间组建同一集群的目的,加大集群的兼容性,减少对设备型号的依赖性。其具体方案如下:
[0005] 一种集群兼容性处理方法,包括:
[0006] 构建兼容性配置模块;所述兼容性配置模块具有用于建立不同设备中节点数据之间的映射关系的结构体;
[0007] 将各节点的差异化数据保存在所述结构体中的对应位置上;
[0008] 通过所述结构体的回调函数和定义的注册回调函数,将所述结构体中保存的差异化数据进行转换,以实现集群数据和节点数据之间的交互。
[0009] 优选地,在本发明实施例提供的上述集群兼容性处理方法中,所述结构体包括节点实例数和一个可变的数组;
[0010] 所述数组中的每个元素作为指针,分别指向对应的用于保存节点的差异化数据的缓存区域。
[0011] 优选地,在本发明实施例提供的上述集群兼容性处理方法中,还包括:
[0012] 创建集群时,通过集群为每个节点分配一个唯一的ID,所述ID与所述结构体中的缓存区域一一对应。
[0013] 优选地,在本发明实施例提供的上述集群兼容性处理方法中,所述节点实例数、所述数组中的元素个数与集群中的节点数相同。
[0014] 优选地,在本发明实施例提供的上述集群兼容性处理方法中,所述将各节点的差异化数据保存在所述结构体中的对应位置上,包括:
[0015] 根据各节点的所述ID位置,将各节点各自的差异化数据保存在所述结构体中对应的所述缓存区域,得到各节点的兼容性配置;
[0016] 通过集群的数据同步,将各节点的兼容性配置同步到集群中的其他节点中,以使各节点的兼容性配置中保存着所有节点的差异化数据。
[0017] 优选地,在本发明实施例提供的上述集群兼容性处理方法中,不同的节点类型定义不同的所述注册回调函数。
[0018] 优选地,在本发明实施例提供的上述集群兼容性处理方法中,通过所述结构体的回调函数和定义的注册回调函数,将所述结构体中保存的差异化数据进行转换,包括:
[0019] 根据节点类型的不同,调用所述结构体的回调函数时,利用各节点定义的注册回调函数分别将所述结构体中保存的差异化数据进行转换。
[0020] 优选地,在本发明实施例提供的上述集群兼容性处理方法中,所述各节点的差异化数据包括节点型号、节点序列号和节点类型。
[0021] 本发明实施例还提供了一种集群兼容性处理设备,包括处理器和存储器,其中,所述处理器执行所述存储器中存储的计算机程序时实现如本发明实施例提供的上述集群兼容性处理方法。
[0022] 本发明实施例还提供了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如本发明实施例提供的上述集群兼容性处理方法。
[0023] 从上述技术方案可以看出,本发明所提供的一种集群兼容性处理方法,包括:构建兼容性配置模块;兼容性配置模块具有用于建立不同设备中节点数据之间的映射关系的结构体;将各节点的差异化数据保存在结构体中的对应位置上;通过结构体的回调函数和定义的注册回调函数,将结构体中保存的差异化数据进行转换,以实现集群数据和节点数据之间的交互。
[0024] 本发明在原有集群设计的基础上增加了兼容性配置模块,将各节点的差异化数据映射到兼容性配置的结构体中,再通过回调函数和注册回调函数,完成集群数据与节点数据的转换与交互,这样有效的化解了节点硬件配置信息的差异性,将不同的硬件信息转换为虚拟信息,实现硬件数据的统一处理,使得不同的设备不再因硬件信息的不同而不能组建同一集群,加大了集群的兼容性,减少了对设备型号的依赖性,增强了集群的可扩展性,大大提高了产品的竞争力。此外,本发明还针对集群兼容性处理方法提供了相应的设备及计算机可读存储介质,进一步使得上述方法更具有实用性,该设备及计算机可读存储介质具有相应的优点。

附图说明

[0025] 为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0026] 图1为现有的设计方法中不同型号的设备创建集群失败的示意图;
[0027] 图2为本发明实施例提供的集群兼容性处理方法的流程图;
[0028] 图3为本发明实施例提供的集群兼容性处理方法对应的架构示意图;
[0029] 图4为本发明实施例提供的兼容性配置模块的结构示意图;
[0030] 图5为本发明实施例提供的节点数据转换的示意图。

具体实施方式

[0031] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032] 本发明提供一种集群兼容性处理方法,如图2所示,包括以下步骤:
[0033] S201、构建兼容性配置模块;兼容性配置模块具有用于建立不同设备中节点数据之间的映射关系的结构体;
[0034] 在实际应用中,如图3所示,在集群数据和节点数据之间增加了兼容性配置,将节点的差异化数据映射到兼容性配置中的结构体中,可以有效化解了节点硬件配置信息的差异性。上述兼容性配置模块中定义了不同设备中节点数据的映射,在映射关系中,定义了一个结构体。
[0035] S202、将各节点的差异化数据保存在结构体中的对应位置上;
[0036] 可以理解的是,各节点的差异化数据可以为不同设备之间的不同硬件信息。在具体实施时,各节点的差异化数据可以包括节点型号、节点序列号和节点类型等。
[0037] S203、通过结构体的回调函数和定义的注册回调函数,将结构体中保存的差异化数据进行转换,以实现集群数据和节点数据之间的交互。
[0038] 需要说明的是,回调函数为一个被作为参数传递的函数;注册回调函数为把回调函数传入库函数的动作,也是回调函数真正的处理逻辑。将差异化数据进行转换可以理解为将不同的硬件信息转换为虚拟信息,进而能够实现硬件数据的统一处理。
[0039] 在本发明实施例提供的上述集群兼容性处理方法中,在原有集群设计的基础上增加了兼容性配置模块,将各节点的差异化数据映射到兼容性配置的结构体中,再通过回调函数和注册回调函数,完成集群数据与节点数据的转换与交互,这样有效的化解了节点硬件配置信息的差异性,将不同的硬件信息转换为虚拟信息,实现硬件数据的统一处理,使得不同的设备不再因硬件信息的不同而不能组建同一集群,加大了集群的兼容性,减少了对设备型号的依赖性,增强了集群的可扩展性,大大提高了产品的竞争力。
[0040] 进一步地,在具体实施时,在本发明实施例提供的上述集群兼容性处理方法中,上述结构体主要包括节点实例数(即节点的实例数量)和一个可变的数组;数组中的每个元素作为指针,分别指向对应的用于保存节点的差异化数据的缓存区域。如图4所示,每个缓存区域保存着对应节点的差异化数据,元素1指向节点1缓存区域,元素2指向节点2缓存区域,元素3指向节点3缓存区域,元素4指向节点4缓存区域,等等,以此类推。
[0041] 在具体实施时,在本发明实施例提供的上述集群兼容性处理方法中,还可以包括:创建集群时,通过集群为每个节点分配一个唯一的ID,ID与结构体中的缓存区域一一对应。
也就是说,在集群的建立过程中,集群会为每个节点分配一个ID,该ID与兼容性配置中的实例一一对应,根据ID就可以查询到对应的节点数据。
[0042] 在具体实施时,在本发明实施例提供的上述集群兼容性处理方法中,在上述结构体中,节点的实例数量和数组的大小由集群中的节点数的多少来确定,即节点实例数、数组中的元素个数与集群中的节点数相同。
[0043] 进一步地,在具体实施时,在本发明实施例提供的上述集群兼容性处理方法中,步骤S202将各节点的差异化数据保存在结构体中的对应位置上,可以包括:首先,根据各节点的ID位置,将各节点各自的差异化数据保存在结构体中对应的缓存区域,得到各节点的兼容性配置;然后,通过集群的数据同步,将各节点的兼容性配置同步到集群中的其他节点中,以使各节点的兼容性配置中保存着所有节点的差异化数据。至此所有节点的差异数据均被兼容性配置数据所包含,从集群整体来看,各个节点的兼容性配置信息是一致的,这就解决了节点硬件配置数据不一致的问题。
[0044] 在数据的处理中,虽然兼容性配置解决了节点硬件配置数据不一致的问题,但集群在运行的过程中依然要保证集群数据与节点数据的交互能够正常运行,这就需要解决集群数据与节点数据转换的问题,而这部分的处理可以依然放到兼容性配置当中。因此,在具体实施时,在本发明实施例提供的上述集群兼容性处理方法中,根据节点类型的不同,分别定义不同的注册回调函数。
[0045] 进一步地,在具体实施时,在本发明实施例提供的上述集群兼容性处理方法中,步骤S203通过结构体的回调函数和定义的注册回调函数,将结构体中保存的差异化数据进行转换,可以包括:根据节点类型的不同,调用结构体的回调函数时,利用各节点定义的注册回调函数分别将结构体中保存的差异化数据进行转换。如图5所示,由于节点数据相比于集群数据可以存在差异性,那么在兼容性配置中,仅通过增加回调函数的处理,再分别定义不同的注册回调函数,就能够完成兼容性配置数据到各个节点数据的转换,这样集群数据与节点数据的交互问题也得到了解决。
[0046] 本发明实施例提供的上述集群兼容性处理方法主要包含数据映射与数据转换两方面的内容。下面以一个具体实例对上述集群兼容性处理方法进行详细说明,具体实施步骤如下:
[0047] 步骤一、创建集群前,增加兼容性配置模块,该模块通过定义结构体的方式,将节点的差异化数据保存在结构体A中;结构体A主要包含节点实例数、指针数组以及回调函数三部分,其中节点实例数、指针数组的大小与集群中的节点数一致,回调函数则定义为函数指针;
[0048] 步骤二、针对不同的节点类型,定义不同的注册回调函数,用于转换结构体A中存储的差异化数据,该部分内容则需要根据实际的设备参数进行自定义处理;
[0049] 步骤三、创建集群时,通过集群为每个节点分配一个唯一的ID,该ID与兼容性配置中的实例一一对应;
[0050] 步骤四、将每个节点各自的差异化数据保存在兼容性配置的对应位置上,然后通过集群的同步处理,将本节点的兼容性配置同步到集群中的其他各个节点;
[0051] 步骤五、完成兼容性配置同步后,每个节点上的兼容性配置将保存着每个节点的差异化数据;
[0052] 步骤六、在集群数据向节点数据同步时,根据节点类型的不同,调用回调函数时,将根据每个节点不同的注册回调函数进行分别的处理;
[0053] 步骤七、至此,集群与节点的数据兼容性处理已完成。
[0054] 通过执行步骤一至步骤七,进行集群数据与节点数据之间用于信息交互的兼容性配置以及兼容性配置中的差异化处理,可以达到将型号不同的硬件设备组建成同一集群的目的。
[0055] 相应地,本发明实施例还公开了一种集群兼容性处理设备,包括处理器和存储器;其中,处理器执行存储器中存储的计算机程序时实现前述实施例公开的集群兼容性处理方法。
[0056] 关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0057] 进一步地,本发明还公开了一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现前述公开的集群兼容性处理方法。
[0058] 关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0059] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的设备、存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0060] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0061] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0062] 综上,本发明实施例提供的一种集群兼容性处理方法,包括:构建兼容性配置模块;兼容性配置模块具有用于建立不同设备中节点数据之间的映射关系的结构体;将各节点的差异化数据保存在结构体中的对应位置上;通过结构体的回调函数和定义的注册回调函数,将结构体中保存的差异化数据进行转换,以实现集群数据和节点数据之间的交互。本发明在原有集群设计的基础上增加了兼容性配置模块,将各节点的差异化数据映射到兼容性配置的结构体中,再通过回调函数和注册回调函数,完成集群数据与节点数据的转换与交互,这样有效的化解了节点硬件配置信息的差异性,将不同的硬件信息转换为虚拟信息,实现硬件数据的统一处理,使得不同的设备不再因硬件信息的不同而不能组建同一集群,加大了集群的兼容性,减少了对设备型号的依赖性,增强了集群的可扩展性,大大提高了产品的竞争力。此外,本发明还针对集群兼容性处理方法提供了相应的设备及计算机可读存储介质,进一步使得上述方法更具有实用性,该设备及计算机可读存储介质具有相应的优点。
[0063] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0064] 以上对本发明所提供的集群兼容性处理方法、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。