本技術(shù)涉及電力系統(tǒng)運(yùn)維領(lǐng)域,特別涉及一種主節(jié)點(diǎn)選舉方法和變電站自動(dòng)化系統(tǒng)。
背景技術(shù):
1、變電站自動(dòng)化系統(tǒng)因其可遠(yuǎn)程控制、自動(dòng)化監(jiān)控和自動(dòng)保護(hù)等特點(diǎn),已被廣泛應(yīng)用于變電站中,以實(shí)現(xiàn)對(duì)變電站高效和可靠的運(yùn)行管理。
2、目前,變電站自動(dòng)化系統(tǒng)采用主備雙機(jī)的方式運(yùn)行。具體來講,將變電站自動(dòng)化系統(tǒng)搭建在兩臺(tái)設(shè)備上,將一臺(tái)設(shè)備作為主設(shè)備,將另一臺(tái)設(shè)備作為備用設(shè)備。正常情況下由主設(shè)備實(shí)現(xiàn)系統(tǒng)功能,當(dāng)主設(shè)備發(fā)生故障時(shí),由技術(shù)人員啟動(dòng)備用設(shè)備繼續(xù)實(shí)現(xiàn)系統(tǒng)功能。然而,這種方式的系統(tǒng)資源利用率低。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種主節(jié)點(diǎn)選舉方法和變電站自動(dòng)化系統(tǒng),可以提高系統(tǒng)資源利用率。所述技術(shù)方案如下:
2、第一方面,提供了一種主節(jié)點(diǎn)選舉方法,應(yīng)用于變電站自動(dòng)化系統(tǒng),所述變電站自動(dòng)化系統(tǒng)包括n個(gè)節(jié)點(diǎn),所述n為大于或等于3的整數(shù),所述方法包括:
3、第一節(jié)點(diǎn)向其他n-1個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)發(fā)送選舉消息,所述選舉消息攜帶所述第一節(jié)點(diǎn)的第二任期和所述第一節(jié)點(diǎn)的標(biāo)識(shí),所述第一節(jié)點(diǎn)為所述n個(gè)節(jié)點(diǎn)中發(fā)起選舉的從節(jié)點(diǎn);其中,在本輪主節(jié)點(diǎn)選舉中未發(fā)起選舉的節(jié)點(diǎn)的第二任期與第一任期相同,在本輪主節(jié)點(diǎn)選舉中發(fā)起選舉的節(jié)點(diǎn)的第二任期為第一任期加1得到,所述節(jié)點(diǎn)的第一任期為所述節(jié)點(diǎn)參與的主節(jié)點(diǎn)選舉輪數(shù);
4、第二節(jié)點(diǎn)接收所述第一節(jié)點(diǎn)發(fā)送的所述選舉消息,所述第二節(jié)點(diǎn)為所述n個(gè)節(jié)點(diǎn)中除所述第一節(jié)點(diǎn)之外的任意一個(gè)節(jié)點(diǎn);所述第二節(jié)點(diǎn)根據(jù)所述第一節(jié)點(diǎn)的第二任期、所述第二節(jié)點(diǎn)的第二任期、所述第一節(jié)點(diǎn)的標(biāo)識(shí)和所述第二節(jié)點(diǎn)的標(biāo)識(shí)確定主節(jié)點(diǎn);其中,所述n個(gè)節(jié)點(diǎn)包括一個(gè)主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn),所述主節(jié)點(diǎn)用于與外部系統(tǒng)通信,且所述主節(jié)點(diǎn)用于指示所述多個(gè)從節(jié)點(diǎn)執(zhí)行操作。
5、在本技術(shù)中,變電站自動(dòng)化系統(tǒng)包括的n個(gè)節(jié)點(diǎn)中的第一節(jié)點(diǎn)向其他n-1個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)發(fā)送選舉消息,該選舉消息攜帶該第一節(jié)點(diǎn)的第二任期和該第一節(jié)點(diǎn)的標(biāo)識(shí)。該n個(gè)節(jié)點(diǎn)中的第二節(jié)點(diǎn)接收到該第一節(jié)點(diǎn)發(fā)送的選舉消息后,根據(jù)該第一節(jié)點(diǎn)的第二任期、該第二節(jié)點(diǎn)的第二任期、該第一節(jié)點(diǎn)的標(biāo)識(shí)和該第二節(jié)點(diǎn)的標(biāo)識(shí)確定主節(jié)點(diǎn)。本技術(shù)中該n個(gè)節(jié)點(diǎn)包括一個(gè)主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn),主節(jié)點(diǎn)用于與外部系統(tǒng)通信,且主節(jié)點(diǎn)用于指示多個(gè)從節(jié)點(diǎn)執(zhí)行操作,如此,該n個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)均可以參與變電站自動(dòng)化系統(tǒng)的運(yùn)行,從而可以避免資源閑置,提高了系統(tǒng)資源利用率。并且,當(dāng)主節(jié)點(diǎn)發(fā)生故障時(shí),多個(gè)從節(jié)點(diǎn)可以選舉出新的主節(jié)點(diǎn)繼續(xù)運(yùn)行,從而可以提高變電站自動(dòng)化系統(tǒng)的運(yùn)行穩(wěn)定性。
6、可選地,所述第二節(jié)點(diǎn)根據(jù)所述第一節(jié)點(diǎn)的第二任期、所述第二節(jié)點(diǎn)的第二任期、所述第一節(jié)點(diǎn)的標(biāo)識(shí)和所述第二節(jié)點(diǎn)的標(biāo)識(shí)確定主節(jié)點(diǎn),包括:
7、若所述第一節(jié)點(diǎn)的第二任期大于所述第二節(jié)點(diǎn)的第二任期,則所述第二節(jié)點(diǎn)向其他n-1個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)發(fā)送攜帶有所述第一節(jié)點(diǎn)的標(biāo)識(shí)的投票消息;或者,若所述第一節(jié)點(diǎn)的第二任期與所述第二節(jié)點(diǎn)的第二任期相同,且所述第一節(jié)點(diǎn)的標(biāo)識(shí)大于所述第二節(jié)點(diǎn)的標(biāo)識(shí),則所述第二節(jié)點(diǎn)向其他n-1個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)發(fā)送攜帶有所述第一節(jié)點(diǎn)的標(biāo)識(shí)的投票消息;
8、所述第二節(jié)點(diǎn)接收其他節(jié)點(diǎn)發(fā)送的投票消息;
9、若所述第二節(jié)點(diǎn)根據(jù)自身發(fā)送的投票消息和其他節(jié)點(diǎn)發(fā)送的投票消息確定所述第一節(jié)點(diǎn)的票數(shù)大于或等于預(yù)設(shè)票數(shù),則確定所述第一節(jié)點(diǎn)為所述主節(jié)點(diǎn)。
10、可選地,所述方法還包括:
11、若所述第一節(jié)點(diǎn)的第二任期小于所述第二節(jié)點(diǎn)的第二任期,則所述第二節(jié)點(diǎn)丟棄所述選舉消息。
12、可選地,所述方法還包括:
13、若所述第一節(jié)點(diǎn)的第二任期與所述第二節(jié)點(diǎn)的第二任期相同,且所述第一節(jié)點(diǎn)的標(biāo)識(shí)小于所述第二節(jié)點(diǎn)的標(biāo)識(shí),則所述第二節(jié)點(diǎn)丟棄所述選舉消息。
14、可選地,所述方法還包括:
15、所述第一節(jié)點(diǎn)若確定需要發(fā)起選舉,則將所述第一節(jié)點(diǎn)的第二任期加1;
16、所述第一節(jié)點(diǎn)在發(fā)起選舉后,若所述第一節(jié)點(diǎn)在本輪主節(jié)點(diǎn)選舉中確定出所述主節(jié)點(diǎn),則將所述第一節(jié)點(diǎn)的第一任期加1。
17、可選地,所述變電站自動(dòng)化系統(tǒng)還包括主從信息庫,所述主從信息庫中存儲(chǔ)有所述n個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)的主從類型,所述節(jié)點(diǎn)的主從類型用于指示所述節(jié)點(diǎn)是所述主節(jié)點(diǎn)還是所述從節(jié)點(diǎn);
18、所述第二節(jié)點(diǎn)根據(jù)所述第一節(jié)點(diǎn)的第二任期、所述第二節(jié)點(diǎn)的第二任期、所述第一節(jié)點(diǎn)的標(biāo)識(shí)和所述第二節(jié)點(diǎn)的標(biāo)識(shí)確定主節(jié)點(diǎn)之后,還包括:
19、若所述第二節(jié)點(diǎn)確定其他節(jié)點(diǎn)為所述主節(jié)點(diǎn),則確定自身為所述從節(jié)點(diǎn);
20、所述第二節(jié)點(diǎn)更新所述主從信息庫中所述第二節(jié)點(diǎn)的主從類型為從節(jié)點(diǎn)類型。
21、可選地,所述第一節(jié)點(diǎn)向其他n-1個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)發(fā)送選舉消息,包括:
22、所述第一節(jié)點(diǎn)啟動(dòng)后確定所述第一節(jié)點(diǎn)為所述從節(jié)點(diǎn);
23、所述第一節(jié)點(diǎn)在所述主從信息庫中存儲(chǔ)所述第一節(jié)點(diǎn)的主從類型為從節(jié)點(diǎn)類型;
24、所述第一節(jié)點(diǎn)若根據(jù)所述主從信息庫中所述n個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)的主從類型確定所述n個(gè)節(jié)點(diǎn)中不存在所述主節(jié)點(diǎn),則向其他n-1個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)發(fā)送所述選舉消息。
25、可選地,所述方法還包括:
26、所述主節(jié)點(diǎn)周期性向所述多個(gè)從節(jié)點(diǎn)中的每個(gè)從節(jié)點(diǎn)發(fā)送心跳消息;
27、所述第一節(jié)點(diǎn)向其他n-1個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)發(fā)送選舉消息,包括:
28、所述第一節(jié)點(diǎn)若在預(yù)設(shè)時(shí)長內(nèi)未接收到所述主節(jié)點(diǎn)發(fā)送的心跳消息,則向其他n-1個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)發(fā)送所述選舉消息。
29、可選地,所述方法還包括:
30、所述主節(jié)點(diǎn)接收所述外部系統(tǒng)發(fā)送的目標(biāo)請(qǐng)求;
31、所述主節(jié)點(diǎn)根據(jù)所述目標(biāo)請(qǐng)求生成一個(gè)或多個(gè)目標(biāo)任務(wù);
32、所述主節(jié)點(diǎn)將所述一個(gè)或多個(gè)目標(biāo)任務(wù)分配給所述多個(gè)從節(jié)點(diǎn)執(zhí)行。
33、可選地,所述n個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)均包括一個(gè)或多個(gè)應(yīng)用程序,各個(gè)應(yīng)用程序部署于不同的容器中。
34、第二方面,提供了一種變電站自動(dòng)化系統(tǒng),所述變電站自動(dòng)化系統(tǒng)包括n個(gè)節(jié)點(diǎn),所述n為大于或等于3的整數(shù);所述n個(gè)節(jié)點(diǎn)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn),所述第一節(jié)點(diǎn)為所述n個(gè)節(jié)點(diǎn)中發(fā)起選舉的從節(jié)點(diǎn),所述第二節(jié)點(diǎn)為所述n個(gè)節(jié)點(diǎn)中除所述第一節(jié)點(diǎn)之外的任意一個(gè)節(jié)點(diǎn);
35、所述第一節(jié)點(diǎn)用于:向其他n-1個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)發(fā)送選舉消息,所述選舉消息攜帶所述第一節(jié)點(diǎn)的第二任期和所述第一節(jié)點(diǎn)的標(biāo)識(shí);其中,在本輪主節(jié)點(diǎn)選舉中未發(fā)起選舉的節(jié)點(diǎn)的第二任期與第一任期相同,在本輪主節(jié)點(diǎn)選舉中發(fā)起選舉的節(jié)點(diǎn)的第二任期為第一任期加1得到,所述節(jié)點(diǎn)的第一任期為所述節(jié)點(diǎn)參與的主節(jié)點(diǎn)選舉輪數(shù);
36、所述第二節(jié)點(diǎn)用于:接收所述第一節(jié)點(diǎn)發(fā)送的所述選舉消息,根據(jù)所述第一節(jié)點(diǎn)的第二任期、所述第二節(jié)點(diǎn)的第二任期、所述第一節(jié)點(diǎn)的標(biāo)識(shí)和所述第二節(jié)點(diǎn)的標(biāo)識(shí)確定主節(jié)點(diǎn);
37、其中,所述n個(gè)節(jié)點(diǎn)包括一個(gè)主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn),所述主節(jié)點(diǎn)用于與外部系統(tǒng)通信,且所述主節(jié)點(diǎn)用于指示所述多個(gè)從節(jié)點(diǎn)執(zhí)行操作。
38、第三方面,提供了一種計(jì)算機(jī)設(shè)備,所述計(jì)算機(jī)設(shè)備包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的主節(jié)點(diǎn)選舉方法中由第一節(jié)點(diǎn)或第二節(jié)點(diǎn)執(zhí)行的操作。
39、第四方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的主節(jié)點(diǎn)選舉方法中由第一節(jié)點(diǎn)或第二節(jié)點(diǎn)執(zhí)行的操作。
40、第五方面,提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行上述第一方面所述的主節(jié)點(diǎn)選舉方法中由第一節(jié)點(diǎn)或第二節(jié)點(diǎn)執(zhí)行的操作。
41、可以理解的是,上述第二方面、第三方面、第四方面、第五方面的有益效果可以參見上述第一方面中的相關(guān)描述,在此不再贅述。