一种分布式服务器集群中主从节点选举方法及装置的制造方法_3

文档序号:9581787阅读:来源:国知局
录中是否是最早注册的分片,如果是 进入下一步,否则转入步骤S207。
[0081] 对于分片2,由于其不是主节点,需进一步判断自身在所在分片管理目录中是否是 最早注册的分片,如果不是最早注册的分片则肯定是从节点,直接转入步骤S207。
[0082] 具体地,根据分片管理目录对应的化ard2目录,如果分片2 6hard2_se;rve;rl)在 化ard2目录下的分片中是最早注册的,则进入下一步,否则转入步骤S207。
[0083] 步骤S205、判断当前分片所在的分片管理目录中,是否没有主节点,如果有则转入 步骤207,否则进入下一步。
[0084] 对于分片2,当是最早注册的分片时,需要进一步判断当前分片所在分片管理目录 中,当前已经注册的分片中是否没有主节点,如果有则分片2也是从节点,转入步骤S207 ; 否则进入下一步,即当服务器2的分片2还未注册时,选举服务器1的分片2为临时主节点, 进入下一步。
[0085] 步骤S206、删除协调管理系统之前在主节点管理目录下对应的分片信息,向协调 管理系统对应的主节点管理目录写入自身信息。
[0086] 如果服务器1的分片1被确定为主节点,则删除协调管理系统主节点管理目录下 之前的shardl_leader对应的分片信息,如果之前没有对应的信息,则直接写入自身的信 息,记录为:shardl_leader。
[0087] 而如果服务器1的分片2被选举为临时主节点,则删除协调管理系统主节点管理 目录下之前的shard2_leader对应的分片信息,如果之前没有对应的信息,则直接写入自 身的信息,记录为;shard2_leade;r。
[0088] 值得注意的是,在删除之前在主节点管理目录下对应的分片信息后,与该分片信 息绑定的所有分片需要重新选举。
[0089] 步骤S207、在主节点完成向主节点管理目录写入后,绑定对应主节点管理目录下 的节点信息。
[0090]当前分片无论选举为主节点、临时主节点还是从节点,都需要与主节点管理目录 下该主节点信息绑定,在实际使用中,万一该主节点若机,则会触发与其绑定的所有分片重 新选举。
[0091] 步骤S208、将自身的最终状态写入到协调管理系统的服务器管理目录和分片管理 目录下。
[0092] 在确定分片的主从节点身份后,将自身的最终状态写入到协调管理系统的服务器 管理目录和分片管理目录下。
[0093] 考虑一种特殊情况;即M=N,此时所有服务器的分片情况都是分片1到分片N。分 片无法根据所在服务器所有分片的信息来确定自身是否为主节点,本发明指定选举策略: 根据每个分片的注册顺序W及该服务器中其他先注册的分片的主从情况来确定自身是否 为主节点。
[0094] 具体地,当M=N时,本发明一种分布式服务器集群中主从节点选举方法的实施例 二如图4所示,包括如下步骤:
[0095] 步骤S401、判断选举任务的类型,如果是分片注册则向协调管理系统的服务器管 理目录注册,接收协调管理系统返回的当前分片所在的服务器中所有分片的注册信息;女口 果是事件触发则向协调管理系统查询并接收当前分片所在服务器的所有分片注册信息。
[0096] 本实施例二W 2个服务器,做2备份来进行说明,则服务器1和服务器2都各自具 有分片I和分片2,互为备份。
[0097] 步骤S402、在当前分片所在的服务器中所有分片都已经注册完成,并当比自身小 的分片都已经完成节点选举后,向协调管理系统对应的分片管理目录注册或查询。
[0098] 与实施例一不同的是,本实施例中服务器中的各分片按名称大小顺序依次进行注 册选举,当前分片只有在比自身小的分片都已经完成节点选举后,才向协调管理系统对应 的分片管理目录注册或查询。
[0099] 例如服务器1中的分片2作为当前分片时,需要等分片1选举完毕后才能开始向 协调管理系统的分片管理目录中shard2写入自身信息,对应的信息为化ard2_serverl。而 当分片2是事件触发时,仅需要向分片管理目录查询即可。
[0100] 步骤S403、判断当前分片所在的分片管理目录中是否有主节点,如果是则转入步 骤S407,否则进入下一步。
[0101] 分片注册到协调管理系统对应的分片管理目录后,则首先判断当前分片管理目录 中是否有主节点,如果已经有主节点了,则当前分片做从节点,转入步骤S407。
[0102] 如果当前分片管理目录中还没有主节点,则当前分片有可能会被选举为临时主节 点,因此进入下一步判断。
[0103] 例如服务器1的分片1为当前分片,首先查看化ardl目录下的注册分片,如果已 经有主节点,则当前分片作为从节点;否则进入下一步判断。
[0104] 同理对于服务器1的分片2,首先查看化ard2目录下的注册分片,如果已经有主节 点,则当前分片作为从节点;否则进入下一步判断。
[0105] 步骤S404、判断当前分片所在服务器中比自身小的分片是否有主节点,如果有则 进入下一步,否则转入步骤S406。
[0106] 送里当前分片判断所在服务器中比自身小的分片是否有主节点,如果没有,则自 己选举为主节点;如果有,则进入下一步,看自己在自己对应的分片管理目录中是否会被选 为主节点。
[0107] 对于服务器1的分片1为当前分片时,由于其在当前服务器1中是最小的分片,因 此被选举为主节点,进入步骤S406。
[010引而对于服务器1的分片2为当前分片时,由于其在当前服务器1中有比自身小的 分片1已经当选为主节点,则进入下一步判断。
[0109] 步骤S405、判断自身是否是所在分片管理目录中最早注册的分片,如果是则进入 下一步,否则转入步骤S407。
[0110] 在所在分片管理目录中,如果是最早注册的分片,则被选举为临时主节点;如果不 是,则作为从节点。
[Oiu] 对于服务器1的分片2为当前分片时,如果在化rad2目录中是最早注册的,则被 选举为临时主节点,否则作为从节点。
[0112] 但是当服务器2的分片2为当前分片时,其在步骤S404中,由于在服务器2中比 自身小的分片不是主节点,因此选举服务器2的分片2为主节点,则替换了服务器1的分片 2成为新的主节点。送样的设置有利于服务器间的负载均衡,主节点位于不同的服务器上。
[0113] 步骤S406、删除协调管理系统之前在主节点管理目录下对应的分片信息,向协调 管理系统对应的主节点管理目录写入自身信息。
[0114] 在当前分片被选举为主节点或临时主节点后,则删除协调管理系统之前在主节点 管理目录下对应的分片信息,向协调管理系统对应的主节点管理目录写入自身信息。
[0115] 值得注意的是,在删除之前在主节点管理目录下对应的分片信息后,与该分片信 息绑定的所有分片需要重新选举。
[0116] 步骤S407、在主节点完成向主节点管理目录写入后,绑定对应主节点管理目录下 的节点信息。
[0117] 当前分片无论选举为主节点、临时主节点还是从节点,都需要与主节点管理目录 下该主节点信息绑定,在实际使用中,万一该主节点若机,则会触发与其绑定的所有分片重 新选举。
[0118] 步骤S408、将自身的最终状态写入到协调管理系统的服务器管理目录和分片管理 目录下。
[0119] 在确定分片的主从节点身份后,将自身的最终状态写入到协调管理系统的服务器 管理目录和分片管理目录下。
[0120] 图5示出了本发明提出的一种分布式服务器集群中主从节点选举装置,应用于服 务器的当前分片,与协调管理系统交互选举出主从节点,该主从节点选举装置包括:
[0121] 服务器管理目录注册模块,用于向协调管理系统的服务器管理目录注册,并接收 协调管理系统返回的当前分片所在的服务器中所有分片的注册信息;
[0122] 分片管理目录注册模块,用于在当前分片所在的服务器中所有分片都已经注册完 成后,向协调管理系统对应的分片管理目录注册;
[0123] 主从节点选举模块,用于根据当前分片所在的服务器的所有分片的注册信息、所 在分片管理目录中的分片注册信息,W及M、N的大小关系,确定当前分片为主节点或临时 主节点或从节点,如果当前分片是主节点或者临时主节点,则进入主节点处理模块进行处 理,否则进入从节点处理模块进行处理;
[0124] 主节点处理模块,用于向协调管理系统主节点管理目录写入当前分片信息,并且 在写入当前分片信息之前,如果所述协调管理系统主节点管理目录下有临时主节点,当前 分片删除所述临时主节点;并在主节点或临时主节点完成向主节点管理目录写入后,当前 分片绑定对应主节点管理目录下的节点信息,并将当前分片状态信息写入协调管理系统; [01巧]从节点处理模块,用于在主节点或临时主节点完成向主节点管理目录写入后,当 前分片绑定对应主节点管理目录下的节点信息,并将当前分片状态信息写入协调管理系 统。
[0126] 当M小
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1