1.一種基于paxos算法的分布式服務(wù)器系統(tǒng)的一致性更新方法,其特征在于,包括:
主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送主節(jié)點(diǎn)狀態(tài)信息;
從節(jié)點(diǎn)根據(jù)所述主節(jié)點(diǎn)狀態(tài)信息判斷所述主節(jié)點(diǎn)的狀態(tài)是否為最新狀態(tài);若否,則向所述主節(jié)點(diǎn)發(fā)送從節(jié)點(diǎn)自身的從節(jié)點(diǎn)狀態(tài)信息;若是,則將所述主節(jié)點(diǎn)狀態(tài)信息設(shè)置為從節(jié)點(diǎn)自身結(jié)點(diǎn)的狀態(tài)信息;其中,所述主節(jié)點(diǎn)狀態(tài)信息和從節(jié)點(diǎn)狀態(tài)信息均為攜帶時間標(biāo)號的狀態(tài)信息;
所述主節(jié)點(diǎn)從所有從節(jié)點(diǎn)狀態(tài)信息中確定最新狀態(tài)信息,并將所述最新狀態(tài)信息設(shè)定為所述主節(jié)點(diǎn)的當(dāng)前狀態(tài)信息,并向從節(jié)點(diǎn)發(fā)送所述當(dāng)前狀態(tài)信息;
從節(jié)點(diǎn)根據(jù)所述當(dāng)前狀態(tài)信息更新自身節(jié)點(diǎn)的狀態(tài)信息。
2.根據(jù)權(quán)利要求1所述的一致性更新方法,其特征在于,所述從節(jié)點(diǎn)根據(jù)所述主節(jié)點(diǎn)狀態(tài)信息判斷所述主節(jié)點(diǎn)的狀態(tài)是否為最新狀態(tài),包括:
從節(jié)點(diǎn)根據(jù)主節(jié)點(diǎn)狀態(tài)信息中的時間標(biāo)號與自身存儲的狀態(tài)信息的時間標(biāo)號進(jìn)行比較;
若主節(jié)點(diǎn)狀態(tài)信息中的時間標(biāo)號為最新的,則判定所述主節(jié)點(diǎn)的狀態(tài)為最新狀態(tài);若主節(jié)點(diǎn)狀態(tài)信息中的時間標(biāo)號不是最新的,則判定所述主節(jié)點(diǎn)的狀態(tài)不是最新狀態(tài)。
3.根據(jù)權(quán)利要求1所述的一致性更新方法,其特征在于,所述主節(jié)點(diǎn)從所有從節(jié)點(diǎn)狀態(tài)信息中確定最新狀態(tài)信息,包括:
所述主節(jié)點(diǎn)從所有的從節(jié)點(diǎn)狀態(tài)信息中獲取對應(yīng)的時間標(biāo)號;
將最新的時間標(biāo)號所對應(yīng)的從節(jié)點(diǎn)狀態(tài)信息作為最新狀態(tài)信息。
4.根據(jù)權(quán)利要求1-3中任意一項所述的一致性更新方法,其特征在于,主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送主節(jié)點(diǎn)狀態(tài)信息之后,還包括:
啟動定時器開始計時;
當(dāng)計時器的計時時間達(dá)到預(yù)定時長后,檢測是否接收到從節(jié)點(diǎn)發(fā)送的從節(jié)點(diǎn)狀態(tài)信息;
若接收到,則執(zhí)行所述主節(jié)點(diǎn)從所有的從節(jié)點(diǎn)狀態(tài)信息中確定最新狀態(tài)信息的步驟;若沒有接收到,則判定所述主節(jié)點(diǎn)狀態(tài)信息為最新的狀態(tài)信息。
5.根據(jù)權(quán)利要求4所述的一致性更新方法,其特征在于,所述向從節(jié)點(diǎn)發(fā)送所述當(dāng)前狀態(tài)信息,包括:
所述主節(jié)點(diǎn)將所述最新狀態(tài)信息設(shè)定為所述主節(jié)點(diǎn)的當(dāng)前狀態(tài)信息后,將所述主節(jié)點(diǎn)的當(dāng)前狀態(tài)信息作為主節(jié)點(diǎn)狀態(tài)信息,并在下一個周期向從節(jié)點(diǎn)發(fā)送。
6.一種基于paxos算法的分布式服務(wù)器系統(tǒng)的一致性更新系統(tǒng),其特征在于,包括主節(jié)點(diǎn)和從節(jié)點(diǎn);
所述主節(jié)點(diǎn)包括:
第一發(fā)送模塊,用于向從節(jié)點(diǎn)發(fā)送主節(jié)點(diǎn)狀態(tài)信息;
當(dāng)前狀態(tài)信息確定模塊,用于從所有從節(jié)點(diǎn)狀態(tài)信息中確定最新狀態(tài)信息,并將所述最新狀態(tài)信息設(shè)定為所述主節(jié)點(diǎn)的當(dāng)前狀態(tài)信息,并觸發(fā)所述發(fā)送模塊向從節(jié)點(diǎn)發(fā)送所述當(dāng)前狀態(tài)信息;
所述從節(jié)點(diǎn)包括:
判斷模塊,用于根據(jù)所述主節(jié)點(diǎn)狀態(tài)信息判斷所述主節(jié)點(diǎn)的狀態(tài)是否為最新狀態(tài);若否,則觸發(fā)第二發(fā)送模塊;若是,則觸發(fā)設(shè)置模塊;
所述第二發(fā)送模塊,用于向所述主節(jié)點(diǎn)發(fā)送從節(jié)點(diǎn)自身的從節(jié)點(diǎn)狀態(tài)信息;
所述設(shè)置模塊,用于將所述主節(jié)點(diǎn)狀態(tài)信息設(shè)置為從節(jié)點(diǎn)自身結(jié)點(diǎn)的狀態(tài)信息,并根據(jù)所述當(dāng)前狀態(tài)信息更新自身節(jié)點(diǎn)的狀態(tài)信息;其中,所述主節(jié)點(diǎn)狀態(tài)信息和從節(jié)點(diǎn)狀態(tài)信息均為攜帶時間標(biāo)號的狀態(tài)信息。
7.根據(jù)權(quán)利要求6所述的一致性更新系統(tǒng),其特征在于,
所述判斷模塊根據(jù)主節(jié)點(diǎn)狀態(tài)信息中的時間標(biāo)號與從節(jié)點(diǎn)自身存儲的狀態(tài)信息的時間標(biāo)號進(jìn)行比較;若主節(jié)點(diǎn)狀態(tài)信息中的時間標(biāo)號為最新的,則判定所述主節(jié)點(diǎn)的狀態(tài)為最新狀態(tài);若主節(jié)點(diǎn)狀態(tài)信息中的時間標(biāo)號不是最新的,則判定所述主節(jié)點(diǎn)的狀態(tài)不是最新狀態(tài)。
8.根據(jù)權(quán)利要求6所述的一致性更新系統(tǒng),其特征在于,
所述當(dāng)前狀態(tài)信息確定模塊從所有從節(jié)點(diǎn)狀態(tài)信息中獲取對應(yīng)的時間標(biāo)號,并將最新的時間標(biāo)號所對應(yīng)的從節(jié)點(diǎn)狀態(tài)信息作為最新狀態(tài)信息。
9.根據(jù)權(quán)利要求6-8中任意一項所述的一致性更新系統(tǒng),其特征在于,所述主節(jié)點(diǎn)還包括:
計時模塊,用于啟動定時器開始計時;
檢測模塊,用于當(dāng)計時器的計時時間達(dá)到預(yù)定時長后,檢測是否接收到從節(jié)點(diǎn)發(fā)送的從節(jié)點(diǎn)狀態(tài)信息;若接收到,則執(zhí)行所述主節(jié)點(diǎn)從所有的從節(jié)點(diǎn)狀態(tài)信息中確定最新狀態(tài)信息的步驟;若沒有接收到,則判定所述主節(jié)點(diǎn)狀態(tài)信息為最新的狀態(tài)信息。
10.根據(jù)權(quán)利要求9所述的一致性更新系統(tǒng),其特征在于,所述當(dāng)前狀態(tài)信息確定模塊將所述最新狀態(tài)信息設(shè)定為所述主節(jié)點(diǎn)的當(dāng)前狀態(tài)信息之后,將所述主節(jié)點(diǎn)的當(dāng)前狀態(tài)信息作為主節(jié)點(diǎn)狀態(tài)信息,并通過所述發(fā)送模塊在下一個周期向從節(jié)點(diǎn)發(fā)送。