1.一种分布式系统仲裁主节点的方法,其特征在于,所述方法包括:
在预先划分的每个组的节点中进行仲裁,得到多个组的组内主节点;
在多个组的组内主节点中进行仲裁,得到所述分布式系统的系统主节点。
2.如权利要求1所述的方法,其特征在于,所述在预先划分的每个组的节点中进行仲裁,得到多个组的组内主节点之前,包括:
将所述分布式系统划分成多个组。
3.如权利要求2所述的方法,其特征在于,根据如下一种或多种信息,将所述分布式系统划分成多个组:
节点位置信息、网络资源信息和计算能力信息。
4.如权利要求2所述的方法,其特征在于,所述将所述分布式系统划分成多个组之后,包括:
将各个组的分组信息发送给所述分布式系统中各个节点,以使各个节点根据所述分组信息加入相应的组中。
5.如权利要求4所述的方法,其特征在于,所述在预先划分的每个组的节点中进行仲裁,得到多个组的组内主节点,包括:
对于任一节点:当该节点加入到相应组后,查询该组中是否有组内主节点;
若无,发起组内的仲裁主节点请求,以在组内进行仲裁,得到该组的组内主节点;
若有,查询该组的组内主节点是否在任期内,当不在时,发起组内仲裁主节点请求,以在组内进行仲裁,得到该组的组内主节点。
6.如权利要求5所述的方法,其特征在于,所述在多个组的组内主节点中进行仲裁,得到所述分布式系统的系统主节点,包括:
对于任一组内主节点:当该组内主节点加入到所述分布式系统后,查询所述分布式系统中是否有系统主节点;
若无,发起系统的仲裁主节点请求,以在各个组内主节点中进行仲裁,得到系统主节点;
若有,查询系统主节点是否在任期内,当不在时,发起系统的仲裁主节点请求,以在各个组内主节点中进行仲裁,得到系统主节点。
7.如权利要求1-6中任意一项所述的方法,其特征在于,所述在多个组的组内主节点中进行仲裁,得到所述分布式系统的系统主节点之后,包括:
所述系统主节点将仲裁信息发送给各个组内主节点,开始所述分布式系统的系统主节点任期。
8.如权利要求1-6中任意一项所述的方法,其特征在于,所述在预先划分的每个组的节点中进行仲裁,得到多个组的组内主节点之后,包括:
对于每个组:通过该组的组内主节点向该组的非组内主节点发送第一心跳信息;
当所述非组内主节点接收不到所述第一心跳信息时,在该组的节点中重新进行仲裁。
9.如权利要求1-6中任意一项所述的方法,其特征在于,所述在多个组的组内主节点中进行仲裁,得到所述分布式系统的系统主节点之后,包括:
通过所述系统主节点向各个组内主节点发送第二心跳信息;
当各个组内主节点接收不到所述第二心跳信息时,在各个组内主节点中重新进行仲裁。
10.一种分布式系统仲裁主节点的设备,其特征在于,所述设备包括存储器和处理器;所述存储器存储有分布式系统仲裁主节点的计算机程序,所述处理器执行所述计算机程序,以实现如权利要求1-9中任意一项所述方法的步骤。