CN114048206A - 一种大规模集群的配置一致性校验方法、系统及装置 - Google Patents
一种大规模集群的配置一致性校验方法、系统及装置 Download PDFInfo
- Publication number
- CN114048206A CN114048206A CN202111268556.5A CN202111268556A CN114048206A CN 114048206 A CN114048206 A CN 114048206A CN 202111268556 A CN202111268556 A CN 202111268556A CN 114048206 A CN114048206 A CN 114048206A
- Authority
- CN
- China
- Prior art keywords
- configuration
- configuration file
- cluster
- node
- configuration files
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000008859 change Effects 0.000 claims abstract description 13
- 230000002688 persistence Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 230000002035 prolonged effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出的一种大规模集群的配置一致性校验方法、系统及装置,所述方法包括:在管理软件初始化安装时根据不同的配置文件按变更频率和重要性设置优先级,并根据配置文件的优先级生成所有配置文件的树;将配置文件的树的节点信息和配置文件的优先级信息存入预设数据库中;集群主节点在发送消息之前在消息中加入配置文件的摘要;当集群从节点收到消息后,校验配置文件的摘要的一致性,如果不一致,定位消息对应的配置文件;根据配置文件的定位信息,对从集群节点中配置文件对应的二叉树进行更新。本发明有效解决了系统数量繁多的配置文件在同步时出现不一致错误导致节点出错的问题,提高了系统的稳定性和可用性。
Description
技术领域
本发明涉及计算机技术领域,更具体的说是涉及一种大规模集群的配置一致性校验方法、系统及装置。
背景技术
在大规模集群中,节点分为主节点和从节点,主节点上安装有管理软件来管理整个集群。而主节点的管理软件的运行需要很多配置文件,并且系统需要保证这些配置文件在主节点和从节点之间的一致性。当主节点对管理软件的配置文件进行更改后,需要将配置文件同步到其他节点。
但是,如果在同步过程中出现网络问题或者某个节点出现异常,出现配置文件不一致的情况,在这之后如果某个操作请求对配置文件不一致的节点进行操作,就很可能因为配置文件的差异导致错误。因为系统的配置文件数量和种类繁多,如果每次操作都对节点的配置文件进行逐个对比,就会耗费大量的资源,各个节点之间的请求响应时间就会很大程度上延长,影响系统性能和稳定性。
另外,在大规模集群中,不同的场景和业务的优先级并不相同,它们配置文件对应的使用频率并不相同,对于集群类的配置文件,如果不一致就会导致集群异常,而且使用频率很高,但是例如单个磁盘对应的配置文件,不仅频率相对更低,而且数量很大,在校验时浪费的时间更多。
发明内容
针对以上问题,本发明的目的在于提供一种大规模集群的配置一致性校验方法、系统及装置,保证了大规模集群节点配置文件的一致性,解决了系统数量繁多的配置文件在同步时出现不一致错误导致节点出错的问题,提高了系统的稳定性和可用性。
本发明为实现上述目的,通过以下技术方案实现:一种大规模集群的配置一致性校验方法,包括:
在管理软件初始化安装时根据不同的配置文件按变更频率和重要性设置优先级,并根据配置文件的优先级生成所有配置文件的树;
将配置文件的树的节点信息和配置文件的优先级信息存入预设数据库中;
集群主节点在每次发送消息之前在消息中加入配置文件的摘要;
当集群从节点收到消息后,先校验配置文件的摘要的一致性,如果一致则接受消息,如果不一致,则定位消息对应的配置文件;
根据配置文件的定位信息,对从集群节点中配置文件对应的二叉树进行更新。
进一步,所述根据配置文件的优先级生成所有配置文件的树,包括:
用SHA-256算法计算配置文件的哈希值;
将同优先级的配置文件的哈希值设置在同一棵二叉树中,二叉树中的每个父结点的值都是两个子结点的哈希值;
将低优先级的二叉树作为高优先级的树的叶子结点,生成所有配置文件的树。
进一步,所述预设数据库采用sqlite3数据库,预设数据库包括:配置文件优先级表和存储二叉树的结点信息;
所述配置文件优先级表的标识符为配置文件的文件名,配置文件优先级表的字段为配置文件的优先级信息;
所述存储二叉树的结点信息采用哈希值作为标识符,存储二叉树的结点信息的字段包括左子节点的哈希值和右子节点的哈希值。
进一步,所述在每次发送消息之前在消息中加入配置文件的摘要,具体为:在每次发送消息之前在消息中加入256位的头部信息,用于存储配置文件的摘要。
进一步,所述校验配置文件的摘要的一致性,包括:
获取从节点当前配置文件的摘要,并与消息中的配置文件的摘要进行比对,若相同,则配置文件一致;否则,配置文件不一致。
进一步,所述定位消息对应的配置文件,包括:
在所有配置文件的树中进行遍历查询,直至查询到与消息对应的配置文件的哈希值相同的结点。
进一步,所述对从集群节点中配置文件对应的二叉树进行更新,包括:若需要将集群从节点的配置文件更为集群主节点的配置文件的内容,根据集群主节点的配置文件,重新计算集群从节点的配置文件对应的叶结点的哈希值和向上到根结点路径上的所有结点的哈希值;
若需要在集群从节点的配置文件中增加集群主节点的配置文件的内容,在配置文件的树中根据配置文件的优先级找到集群主节点的配置文件对应的位置,新增一个结点,并重新计算配置文件的树的根。
进一步,所述对从集群节点中配置文件对应的二叉树进行更新,还包括:若需要删除集群从节点的配置文件,则在配置文件的树中删除对应的叶结点并重新计算所在路径上的哈希值。
相应的,本发明还公开了一种大规模集群的配置一致性校验系统,包括:系统初始化模块,用于在管理软件初始化安装时根据不同的配置文件按变更频率和重要性设置优先级,并根据配置文件的优先级生成所有配置文件的树;持久化模块,用于将配置文件的树的节点信息和配置文件的优先级信息存入预设数据库中;
消息预处理模块,用于集群主节点在每次发送消息之前在消息中加入配置文件的摘要;
配置校验模块,用于当集群从节点收到消息后,先校验配置文件的摘要的一致性,如果一致则接受消息,如果不一致,则定位消息对应的配置文件;
配置文件变更模块,用于根据配置文件的定位信息,对从集群节点中配置文件对应的二叉树进行更新。
相应的,本发明公开了一种大规模集群的配置一致性校验装置,包括:
存储器,用于存储大规模集群的配置一致性校验程序;
处理器,用于执行所述大规模集群的配置一致性校验程序时实现如上文任一项所述大规模集群的配置一致性校验方法的步骤。
相应的,本发明公开了一种可读存储介质,所述可读存储介质上存储有大规模集群的配置一致性校验程序,所述大规模集群的配置一致性校验程序被处理器执行时实现如上文任一项所述大规模集群的配置一致性校验方法的步骤。
对比现有技术,本发明有益效果在于:本发明提供了一种大规模集群的配置一致性校验方法、系统及装置,其目的在于保证通信时节点配置文件的一致性。具体通过在每个节点维护一棵配置文件的哈希值组成的二叉树,树中的每个父结点的值都是两个子结点的哈希值,将二叉树的根作为全部配置文件的摘要。通过在每次通信时通过对比配置文件的摘要来确保每次通信的节点的配置文件都相同;在发现配置文件不同时,高优先级的配置文件更先被发现,从而保证系统的稳定性和可用性,提高系统响应时间。
本发明将低优先级的树的根作为高优先级的二叉树的叶子结点,在进行查找时先对高优先级的配置文件进行查找,在集群配置文件数量庞大时有效的降低了定位和更改需要的哈希运算次数。
综上所述,本发明有效的保证了大规模集群节点配置文件的一致性。解决了系统数量繁多的配置文件在同步时出现不一致错误导致节点出错的问题,提高了系统的稳定性和可用性。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明实施例一的方法流程图。
附图2是本发明实施例二的方法流程图。
附图3是本发明实施例三的系统结构图。
图中,1为系统初始化模块;2为持久化模块;3为消息预处理模块;4为配置校验模块;5为配置文件变更模块。
具体实施方式
本发明的核心是提供一种大规模集群的配置一致性校验方法,现有技术中,因为系统的配置文件数量和种类繁多,如果为了避免节点同步过程中出现节点异常,每次操作都对节点的配置文件进行逐个对比,就会耗费大量的资源,各个节点之间的请求响应时间就会很大程度上延长,影响系统性能和稳定性。另外,在大规模集群中,不同的场景和业务的优先级并不相同,它们配置文件对应的使用频率并不相同,对于集群类的配置文件,如果不一致就会导致集群异常,而且使用频率很高,但是例如单个磁盘对应的配置文件,不仅频率相对更低,而且数量很大,在校验时浪费的时间更多。
而本发明提供的大规模集群的配置一致性校验方法,在管理软件安装时先对系统进行初始化,根据配置文件的改动频率和重要性的区别设置优先级,并对每个配置文件进行哈希运算,以哈希值为叶子结点生成一棵二叉树;并将配置文件的哈希值存入数据库。然后,在每次发送消息时在信息头部加上配置文件的摘要,接收消息时配置校验模块进行校验,并在发现不一致后定位不一致的配置文件;变更配置文件时,配置变更模块需要对配置文件的哈希值也进行更改。由此可见,本发明利用哈希运算构成的二叉树的方式,并加入了在通信时校验配置文件摘要的步骤,有效解决了大规模集群中各个节点的配置文件一致性问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
如图1所示,本实施例提供了一种大规模集群的配置一致性校验方法,包括如下步骤:
S1:在管理软件初始化安装时根据不同的配置文件按变更频率和重要性设置优先级,并根据配置文件的优先级生成所有配置文件的树。
其中,生成配置文件的树的过程具体如下:
首先,用SHA-256算法计算配置文件的哈希值。然后,将同优先级的配置文件的哈希值设置在同一棵二叉树中,二叉树中的每个父结点的值都是两个子结点的哈希值。最后,将低优先级的二叉树作为高优先级的树的叶子结点,生成配置文件的树。
S2:将配置文件的树的节点信息和配置文件的优先级信息存入预设数据库中。
在本步骤中,预设数据库采用sqlite3数据库。预设数据库包括:配置文件优先级表和存储二叉树的结点信息。其中,配置文件优先级表的标识符为配置文件的文件名,配置文件优先级表的字段为配置文件的优先级信息;存储二叉树的结点信息采用哈希值作为标识符,存储二叉树的结点信息的字段包括左子节点的哈希值和右子节点的哈希值。
S3:集群主节点在每次发送消息之前在消息中加入配置文件的摘要。
本步骤具体为:在每次发送消息之前在消息中加入256位的头部信息,用于存储配置文件的摘要。
S4:当集群从节点收到消息后,先校验配置文件的摘要的一致性,如果一致则接受消息,如果不一致,则定位消息对应的配置文件。
其中,配置文件的摘要的一致性校验过程包括:获取从节点当前配置文件的摘要,并与消息中的配置文件的摘要进行比对,若相同,则配置文件一致;否则,配置文件不一致。
定位消息对应的配置文件时,采用在所有配置文件的树中进行遍历查询的方法,直至查询到与消息对应的配置文件的哈希值相同的结点。
S5:根据配置文件的定位信息,对从集群节点中配置文件对应的二叉树进行更新。
若需要将集群从节点的配置文件更为集群主节点的配置文件的内容,根据集群主节点的配置文件,重新计算集群从节点的配置文件对应的叶结点的哈希值和向上到根结点路径上的所有结点的哈希值。
若需要在集群从节点的配置文件中增加集群主节点的配置文件的内容,在配置文件的树中根据配置文件的优先级找到集群主节点的配置文件对应的位置,新增一个结点,并重新计算配置文件的树的根。
若需要删除集群从节点的配置文件,则在配置文件的树中删除对应的叶结点并重新计算所在路径上的哈希值。
本实施例提供了一种大规模集群的配置一致性校验方法,通过在每个节点维护一棵配置文件的哈希值组成的二叉树,树中的每个父结点的值都是两个子结点的哈希值,将二叉树的根作为全部配置文件的摘要。通过在每次通信时通过对比配置文件的摘要来确保每次通信的节点的配置文件都相同;在发现配置文件不同时,高优先级的配置文件更先被发现,从而保证系统的稳定性和可用性,提高系统响应时间。本方法将低优先级的树的根作为高优先级的二叉树的叶子结点,在进行查找时先对高优先级的配置文件进行查找,在集群配置文件数量庞大时有效的降低了定位和更改需要的哈希运算次数。
实施例二:
基于实施例一,如图2所示,本实施例还公开了一种大规模集群的配置一致性校验方法,具体包括如下步骤:
步骤1:主管理节点发送消息。
步骤2:对消息进行预处理。
步骤3:主管理节点在消息末尾加上主节点配置文件摘要后再发送消息。
上述步骤的目的在于,在每次发送消息之前主管理节点对消息的格式进行处理,在消息内容里加上大小为256位的头部,用来存放配置文件的摘要。
步骤4:从节点接受消息时,先接受主节点配置文件摘要,并启动与从节点配置文件摘要的一致性校验。
步骤5:判断两个配置文件的摘要是否一致;若是,转到步骤6;若否,转到步骤7。
步骤6;接受消息。
步骤7:通过查询数据库定位不一致的配置文件。
步骤4-7的目的在于,节点对发送来文件先要校验配置文件的摘要的一致性,如果一致就接收消息,如果不一致就要查询持久化模块对数据库进行查询,定位不一致的配置文件。定位配置文件需要从根结点比对子结点的值,对不一致的结点再向下查询,直到查询到叶子结点。
步骤8:同步不一致的配置文件,并转到步骤4。
当配置文件发生改变时,需要对配置文件对应的二叉树进行更新,包括三种操作:
更改配置文件内容:配置文件内容改变时需要重新计算从自己对应的叶结点的Hash和向上到根结点路径上的所有结点的Hash。
删除配置文件:需要删除对应的叶结点并重新计算所在路径上的Hash值,使用的概率很小。
增加配置文件:在二叉树上根据配置文件的优先级找到新增配置文件对应的位置,新增一个结点,并重新计算二叉树的根。
本实施例提供了一种大规模集群的配置一致性校验方法,有效的保证了大规模集群节点配置文件的一致性。解决了系统数量繁多的配置文件在同步时出现不一致错误导致节点出错的问题,提高了系统的稳定性和可用性。
实施例三:
基于实施例一,如图3所示,本发明还公开了一种大规模集群的配置一致性校验系统,包括:系统初始化模块1、持久化模块2、消息预处理模块3、配置校验模块4和配置文件变更模块5。
系统初始化模块1,用于在管理软件初始化安装时根据不同的配置文件按变更频率和重要性设置优先级,并根据配置文件的优先级生成所有配置文件的树。
持久化模块2,用于将配置文件的树的节点信息和配置文件的优先级信息存入预设数据库中。
消息预处理模块3,用于集群主节点在每次发送消息之前在消息中加入配置文件的摘要。
配置校验模块4,用于当集群从节点收到消息后,先校验配置文件的摘要的一致性,如果一致则接受消息,如果不一致,则定位消息对应的配置文件。
配置文件变更模块5,用于根据配置文件的定位信息,对从集群节点中配置文件对应的二叉树进行更新。
本实施例提供了一种大规模集群的配置一致性校验系统,首先在管理软件安装时通过系统初始化模块对其它几个模块进行初始化,构造配置文件对应的二叉树,将二叉树的根的值作为配置文件的摘要。持久化模块将二叉树的结点信息存入数据库;信息预处理模块在每次发送消息时在信息头部加上配置文件的摘要,接收消息时配置校验模块进行校验,并在发现不一致后定位不一致的配置文件。配置变更模块在配置文件发生改变时更新二叉树和数据库。本系统利用哈希运算构成的二叉树的方式,并加入了在通信时校验配置文件摘要的步骤,有效解决了大规模集群中各个节点的配置文件一致性问题。
实施例四:
本实施例公开了一种大规模集群的配置一致性校验装置,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的大规模集群的配置一致性校验程序时实现以下步骤:
1、在管理软件初始化安装时根据不同的配置文件按变更频率和重要性设置优先级,并根据配置文件的优先级生成所有配置文件的树。
2、将配置文件的树的节点信息和配置文件的优先级信息存入预设数据库中。
3、集群主节点在每次发送消息之前在消息中加入配置文件的摘要。
4、当集群从节点收到消息后,先校验配置文件的摘要的一致性,如果一致则接受消息,如果不一致,则定位消息对应的配置文件。
5、根据配置文件的定位信息,对从集群节点中配置文件对应的二叉树进行更新。
进一步的,本实施例中的大规模集群的配置一致性校验装置,还可以包括:
输入接口,用于获取外界导入的大规模集群的配置一致性校验程序,并将获取到的大规模集群的配置一致性校验程序保存至所述存储器中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器中,以便处理器利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口,用于将处理器产生的各种数据输出至与其相连的终端设备,以便于与输出接口相连的其他终端设备能够获取到处理器产生的各种数据。本实施例中,所述输出接口具体可以包括但不限于USB接口、串行接口等。
通讯单元,用于在大规模集群的配置一致性校验装置和外部服务器之间建立远程通讯连接,以便于大规模集群的配置一致性校验装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
键盘,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器,用于运行服务器供电线路短路定位过程的相关信息进行实时显示。
鼠标,可以用于协助用户输入数据并简化用户的操作。
本实施例提供了一种大规模集群的配置一致性校验装置,有效的保证了大规模集群节点配置文件的一致性。解决了系统数量繁多的配置文件在同步时出现不一致错误导致节点出错的问题,提高了系统的稳定性和可用性。
实施例五:
本实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动硬盘、CD-ROM或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有大规模集群的配置一致性校验程序,所述大规模集群的配置一致性校验程序被处理器执行时实现以下步骤:
1、在管理软件初始化安装时根据不同的配置文件按变更频率和重要性设置优先级,并根据配置文件的优先级生成所有配置文件的树。
2、将配置文件的树的节点信息和配置文件的优先级信息存入预设数据库中。
3、集群主节点在每次发送消息之前在消息中加入配置文件的摘要。
4、当集群从节点收到消息后,先校验配置文件的摘要的一致性,如果一致则接受消息,如果不一致,则定位消息对应的配置文件。
5、根据配置文件的定位信息,对从集群节点中配置文件对应的二叉树进行更新。
综上所述,本发明利用哈希运算构成的二叉树的方式,并加入了在通信时校验配置文件摘要的步骤,有效解决了大规模集群中各个节点的配置文件一致性问题。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的大规模集群的配置一致性校验方法、系统、装置及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种大规模集群的配置一致性校验方法,其特征在于,包括:
在管理软件初始化安装时根据不同的配置文件按变更频率和重要性设置优先级,并根据配置文件的优先级生成所有配置文件的树;
将配置文件的树的节点信息和配置文件的优先级信息存入预设数据库中;
集群主节点在每次发送消息之前在消息中加入配置文件的摘要;
当集群从节点收到消息后,先校验配置文件的摘要的一致性,如果一致则接受消息,如果不一致,则定位消息对应的配置文件;
根据配置文件的定位信息,对从集群节点中配置文件对应的二叉树进行更新。
2.根据权利要求1所述的大规模集群的配置一致性校验方法,其特征在于,所述根据配置文件的优先级生成所有配置文件的树,包括:
用SHA-256算法计算配置文件的哈希值;
将同优先级的配置文件的哈希值设置在同一棵二叉树中,二叉树中的每个父结点的值都是两个子结点的哈希值;
将低优先级的二叉树作为高优先级的树的叶子结点,生成所有配置文件的树。
3.根据权利要求2所述的大规模集群的配置一致性校验方法,其特征在于,所述预设数据库采用sqlite3数据库,预设数据库包括:配置文件优先级表和存储二叉树的结点信息;
所述配置文件优先级表的标识符为配置文件的文件名,配置文件优先级表的字段为配置文件的优先级信息;
所述存储二叉树的结点信息采用哈希值作为标识符,存储二叉树的结点信息的字段包括左子节点的哈希值和右子节点的哈希值。
4.根据权利要求3所述的大规模集群的配置一致性校验方法,其特征在于,所述在每次发送消息之前在消息中加入配置文件的摘要,具体为:在每次发送消息之前在消息中加入256位的头部信息,用于存储配置文件的摘要。
5.根据权利要求4所述的大规模集群的配置一致性校验方法,其特征在于,所述校验配置文件的摘要的一致性,包括:
获取从节点当前配置文件的摘要,并与消息中的配置文件的摘要进行比对,若相同,则配置文件一致;否则,配置文件不一致。
6.根据权利要求4所述的大规模集群的配置一致性校验方法,其特征在于,所述定位消息对应的配置文件,包括:
在所有配置文件的树中进行遍历查询,直至查询到与消息对应的配置文件的哈希值相同的结点。
7.根据权利要求3所述的大规模集群的配置一致性校验方法,其特征在于,所述对从集群节点中配置文件对应的二叉树进行更新,包括:
若需要将集群从节点的配置文件更为集群主节点的配置文件的内容,根据集群主节点的配置文件,重新计算集群从节点的配置文件对应的叶结点的哈希值和向上到根结点路径上的所有结点的哈希值;
若需要在集群从节点的配置文件中增加集群主节点的配置文件的内容,在配置文件的树中根据配置文件的优先级找到集群主节点的配置文件对应的位置,新增一个结点,并重新计算配置文件的树的根。
8.根据权利要求7所述的大规模集群的配置一致性校验方法,其特征在于,所述对从集群节点中配置文件对应的二叉树进行更新,还包括:
若需要删除集群从节点的配置文件,则在配置文件的树中删除对应的叶结点并重新计算所在路径上的哈希值。
9.一种大规模集群的配置一致性校验系统,其特征在于,包括:系统初始化模块,用于在管理软件初始化安装时根据不同的配置文件按变更频率和重要性设置优先级,并根据配置文件的优先级生成所有配置文件的树;
持久化模块,用于将配置文件的树的节点信息和配置文件的优先级信息存入预设数据库中;
消息预处理模块,用于集群主节点在每次发送消息之前在消息中加入配置文件的摘要;
配置校验模块,用于当集群从节点收到消息后,先校验配置文件的摘要的一致性,如果一致则接受消息,如果不一致,则定位消息对应的配置文件;
配置文件变更模块,用于根据配置文件的定位信息,对从集群节点中配置文件对应的二叉树进行更新。
10.一种大规模集群的配置一致性校验装置,其特征在于,包括:
存储器,用于存储大规模集群的配置一致性校验程序;
处理器,用于执行所述大规模集群的配置一致性校验程序时实现如权利要求1至8任一项权利要求所述的大规模集群的配置一致性校验方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111268556.5A CN114048206B (zh) | 2021-10-29 | 2021-10-29 | 一种大规模集群的配置一致性校验方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111268556.5A CN114048206B (zh) | 2021-10-29 | 2021-10-29 | 一种大规模集群的配置一致性校验方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114048206A true CN114048206A (zh) | 2022-02-15 |
CN114048206B CN114048206B (zh) | 2024-07-09 |
Family
ID=80207056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111268556.5A Active CN114048206B (zh) | 2021-10-29 | 2021-10-29 | 一种大规模集群的配置一致性校验方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048206B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114611155A (zh) * | 2022-03-15 | 2022-06-10 | 云粒智慧科技有限公司 | 一种数据治理节点的校验方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189843A1 (en) * | 2012-12-31 | 2014-07-03 | Aastra Technologies Limited | Automatic configuration of an endpoint |
EP3429243A1 (en) * | 2016-04-12 | 2019-01-16 | Huawei Technologies Co., Ltd. | Remote management method and device |
CN109542865A (zh) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | 分布式集群系统配置文件同步方法、装置、系统及介质 |
CN110825420A (zh) * | 2019-11-26 | 2020-02-21 | 中国银行股份有限公司 | 分布式集群的配置参数更新方法、装置、设备及存储介质 |
CN112667281A (zh) * | 2020-12-30 | 2021-04-16 | 联想(北京)有限公司 | 一种配置信息处理方法及装置 |
-
2021
- 2021-10-29 CN CN202111268556.5A patent/CN114048206B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189843A1 (en) * | 2012-12-31 | 2014-07-03 | Aastra Technologies Limited | Automatic configuration of an endpoint |
EP3429243A1 (en) * | 2016-04-12 | 2019-01-16 | Huawei Technologies Co., Ltd. | Remote management method and device |
CN109542865A (zh) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | 分布式集群系统配置文件同步方法、装置、系统及介质 |
CN110825420A (zh) * | 2019-11-26 | 2020-02-21 | 中国银行股份有限公司 | 分布式集群的配置参数更新方法、装置、设备及存储介质 |
CN112667281A (zh) * | 2020-12-30 | 2021-04-16 | 联想(北京)有限公司 | 一种配置信息处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
张晓燕;范冰冰;: "基于Merkle树的移动平台文件完整性校验", 计算机系统应用, no. 09, 15 September 2010 (2010-09-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114611155A (zh) * | 2022-03-15 | 2022-06-10 | 云粒智慧科技有限公司 | 一种数据治理节点的校验方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114048206B (zh) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874803A (zh) | 数据存储方法、装置及存储介质 | |
US10474185B2 (en) | Timestamp alignment across a plurality of computing devices | |
WO2008052453A1 (fr) | Procédé de rafraîchissement synchrone de données de topologie de gestion de réseau côté client et côté serveur | |
CN113076729B (zh) | 用于报表导入的方法及系统、可读存储介质及电子设备 | |
CN113094370B (zh) | 数据索引构建方法、装置、存储介质及电子设备 | |
CN111683066A (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN113760948A (zh) | 一种数据查询的方法及装置 | |
CN111367761B (zh) | 一种通用服务器的信息管理方法、系统及相关组件 | |
CN114048206A (zh) | 一种大规模集群的配置一致性校验方法、系统及装置 | |
CN115587097A (zh) | 一种目录节点信息的查询方法、装置、设备及存储介质 | |
CN111666344A (zh) | 异构数据同步方法及装置 | |
CN114827967A (zh) | 软件更新方法、蓝牙设备及存储介质 | |
WO2022077916A1 (zh) | 一种数据处理系统、基于区块链的数据处理方法及设备 | |
CN112688870B (zh) | 一种路由方法、路由装置及节点设备 | |
CN115836511A (zh) | 物联网中的设备管理方法、装置、计算机设备及存储介质 | |
CN110838924A (zh) | 区块传输方法及装置 | |
US20240045867A1 (en) | Blockchain data management method and apparatus | |
CN113608703B (zh) | 数据处理方法及装置 | |
CN116389411B (zh) | 域名数据处理方法、装置及设备 | |
CN117573762B (zh) | 数据连接平台的数据处理方法及装置、存储介质、服务器 | |
CN118400443B (zh) | 电能表数据转换方法、装置、计算机设备及存储介质 | |
CN110362706B (zh) | 数据的查找方法、装置、存储介质及电子装置 | |
EP4246909A1 (en) | Method and apparatus for configuring node | |
WO2023143061A1 (zh) | 一种数据访问方法及其数据访问系统 | |
CN113849507A (zh) | 一种数据管理方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |