新四季網

一種終端的狀態機狀態轉換的方法及裝置製造方法

2023-10-19 19:15:22

一種終端的狀態機狀態轉換的方法及裝置製造方法
【專利摘要】本發明實施例公開了一種終端的狀態機狀態轉換的方法,包括:控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息;所述控制終端接收所述各執行終端反饋的狀態信息,所述狀態信息為所述執行終端根據所述控制消息進行狀態機狀態轉換後反饋的執行狀態信息;所述控制終端根據所述各執行終端反饋的狀態信息更新所述各執行終端的執行狀態,以根據更新後的所述各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的下一個控制消息。本發明實施例還公開了一種狀態機狀態轉換的裝置。採用本發明,具體可提高終端狀態機狀態轉換的效率,增強系統的可靠性和用戶體驗效果的優點。
【專利說明】一種終端的狀態機狀態轉換的方法及裝置
【技術領域】
[0001]本發明涉及通信【技術領域】,尤其涉及一種終端的狀態機狀態轉換的方法及裝置。【背景技術】
[0002]在大規模集群分布式系統中,系統執行任務時系統中的各個節點之間存在著依賴性,系統執行任務時必須保證所有的執行節點都完成當前任務才能下發下一個任務,即系統必須保證所有的執行節點都完成了狀態機的狀態轉換才能進入下一個狀態。例如,在集群系統執行系統升級功能時,一般需要幾個步驟:舊版本的升級前檢查、舊版本的卸載、新版本的下載、新版本安裝、新版本啟動等,若把上述每一個步驟設定為一個狀態,則在集群系統中,系統中的執行節點在系統執行升級功能的過程中,需要進行不同狀態的狀態轉換,例如,執行節點在系統執行升級功能的過程中,狀態機需要由舊版本的升級前檢查的狀態轉換為舊版本的卸載、由舊版本的卸載轉換為新版本的下載等,直到最後一個狀態才能完成系統的升級。在系統執行升級功能的過程中,集群中的所有執行節點都執行完了第一個狀態後才能執行第二個狀態,只有所有的執行節點都完成狀態的轉換才能使整個集群系統成功完成狀態的轉換。
[0003]現有技術中主要是通過客戶端連接集群的控制節點,通過控制節點來下發狀態機狀態轉換的控制命令,控制各個執行節點進行狀態機狀態轉換。控制節點起一個任務(由第一狀態轉換至第二狀態)時先將狀態轉換的控制命令下發給集群系統中的第一個節點,此節點完成狀態轉換之後通知控制節點執行完畢,控制節點再將轉換命令下發給第二個節點,該節點執行完畢之後控制節點再向第三個節點下發命令,如此循環直至所有節點都執行完狀態轉換之後,控制節點再從第一個節點開始下發下一個任務的狀態轉換的轉換命令。現有技術中,控制節點發出的每一個狀態轉換的命令在系統的各個執行節點中的串行執行的,系統執行任務時的總時長會隨著集群規模的擴大而增長,執行效率低。此外,在現有技術中,為了保證控制節點故障的可靠性,控制節點還要通過另外一條消息將各個執行節點的執行結果同步到各個執行節點上,即控制節點向執行節點發送的控制命令和執行節點的狀態同步消息是分離的,控制節點的可靠性低,狀態同步消息的發送會隨著集群規模的擴大而加大難度,造成控制節點消息擁塞,使得終端狀態的狀態轉換效率低,用戶體驗效果差。

【發明內容】

[0004]本發明實施例所要解決的技術問題在於,提供一種終端的狀態機狀態轉換的方法,可提高狀態機的狀態轉換效率,提高系統的可靠性和用戶體驗。
[0005]本發明實施例第一方面提供了一種終端的狀態機狀態轉換的方法,其可包括:
[0006]控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字;
[0007]所述控制終端接收所述各執行終端反饋的狀態信息,所述狀態信息為所述執行終端根據所述控制消息進行狀態機狀態轉換後反饋的執行狀態信息;
[0008]所述控制終端根據所述各執行終端反饋的狀態信息更新所述各執行終端的執行狀態,以根據更新後的所述各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的下一個控制消息。
[0009]結合第一方面,在第一種可能的實現方式中,所述狀態機轉換的控制消息中還包括:根據所述控制消息中的狀態字進行狀態轉換的執行對象;
[0010]其中,所述執行對象為所述所有所述執行終端中至少一個所述執行終端。
[0011]結合第一方面或第一方面第一種可能的實現方式,在第二種可能的實現方式中,所述各執行終端的執行狀態包括:所述各執行終端當前狀態機所處的狀態和所述各執行終端進行狀態機狀態轉換的執行進度。
[0012]結合第一方面第二種可能的實現方式,在第三種可能的實現方式中,所述控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,包括:
[0013]所述控制終端根據所述各執行終端當前狀態機所處的狀態判斷所有所述執行終端當前狀態機是否處於同一個狀態;
[0014]若所述所有所述執行終端當前狀態機都處於同一個狀態,則根據所述各所述執行終端進行狀態機狀態轉換的執行進度判斷所述所有所述執行終端是否已完成狀態機狀態轉換;
[0015]若所述所有所述執行終端都已完成狀態機狀態轉換,則向所述所有所述執行終端下發狀態機狀態轉換的第一狀態字,若所述所有所述執行終端中有未完成狀態機狀態轉換的所述執行終端,則向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字;
[0016]若所述所有所述執行終端當前狀態機未處同一個狀態,則向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字。
[0017]結合第一方面至第一方面第三種可能的實現方式中任一種,在第四種可能的實現方式中,所述狀態機狀態轉換的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息;
[0018]所述控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,包括:
[0019]所述控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的狀態字和節點分級信息,以指示所述各執行終端進行狀態機狀態轉換,並通過所述各執行終端將所述控制消息下發給所述各執行終端所管理的下一級執行終端。
[0020]本發明實施例第二方面提供了一種終端的狀態機狀態轉換的方法,其可包括:
[0021]執行終端接收控制終端發送的狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字;
[0022]所述執行終端根據所述狀態字和所述執行終端當前狀態機的狀態判斷是否執行狀態機狀態轉換;
[0023]若判斷結果為是,則根據所述狀態字進行狀態機狀態轉換,並向所述控制終端反饋執行狀態信息;[0024]若判斷結果為否,則向所述控制終端反饋執行狀態信息。
[0025]結合第二方面,在第一種可能的實現方式中,所述執行終端向所述控制終端反饋的所述執行狀態信息中包括:所述執行終端當前狀態機所處的狀態,和所述執行終端進行狀態機狀態轉換的執行進度。
[0026]結合第一方面或第一方面第一種可能的實現方式,在第二種可能的實現方式中,所述執行終端根據所述狀態字和所述執行終端當前狀態機的狀態判斷是否執行狀態機狀態轉換,包括:
[0027]所述執行終端將從所述控制終端處接收到的所述狀態字與所述執行終端當前狀態機所處的狀態對應的狀態字進行比較,判斷所述接收到的狀態字是否大於所述狀態機所處的狀態對應的狀態字;
[0028]若判斷結果為是,則執行狀態機狀態轉換;
[0029]若判斷結果為否,則不執行狀態機狀態轉換。
[0030]結合第二方面至第二方面第二種可能的實現方式中任一種,在第三種可能的實現方式中,所述執行終端從所述控制終端處接收到的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息;
[0031]所述執行終端接收控制終端發送的狀態機狀態轉換的控制消息之後,所述方法還包括:
[0032]所述執行終端根據所述節點分級信息中指示的所述執行終端所管理的下一級執行終端的信息,將所述從所述控制終端處接收的控制信息傳送給所述執行終端所管理的執行終端。
[0033]本發明實施例第三方面提供了一種狀態機狀態轉換的控制終端,其可包括:發送模塊,用於根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字;
[0034]接收模塊,用於接收所述各執行終端反饋的狀態信息,所述狀態信息為所述執行終端根據所述控制消息進行狀態機狀態轉換後反饋的執行狀態信息;
[0035]更新模塊,用於根據所述各執行終端反饋的狀態信息更新所述各執行終端的執行狀態,以通過所述發送模塊根據更新後的所述各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的下一個控制消息。
[0036]結合第三方面,在第一種可能的實現方式中,所述發送模塊發送的所述狀態機轉換的控制消息中還包括:根據所述控制消息中的狀態字進行狀態轉換的執行對象;
[0037]其中,所述執行對象為所述所有所述執行終端中至少一個所述執行終端。
[0038]結合第三方面或第三方面第一種可能的實現方式,在第二種可能的實現方式中,所述各執行終端的執行狀態包括:所述各執行終端當前狀態機所處的狀態和所述各執行終端進行狀態機狀態轉換的執行進度。
[0039]結合第三方面第二種可能的實現方式,在第三種可能的實現方式中,所述發送模塊,包括:
[0040]第一判斷單元,用於根據所述各執行終端當前狀態機所處的狀態判斷所有所述執行終端當前狀態機是否處於同一個狀態;[0041]第二判斷單元,用於在所述第一判斷單元判斷結果為是時,根據所述各所述執行終端進行狀態機狀態轉換的執行進度判斷所述所有所述執行終端是否已完成狀態機狀態轉換;
[0042]發送單元,用於在所述第二判斷單元判斷結果為是時,向所述所有所述執行終端下發狀態機狀態轉換的第一狀態字;
[0043]所述發送單元,用於在所述第二判斷單元判斷結果為否時,向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字;
[0044]所述發送單元,還用於在所述第一判斷單元判斷結果為否時,向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字。
[0045]結合第三方面至第三方面第三種可能的實現方式中任一種,在第四種可能的實現方式中,所述發送模塊發送的所述狀態機狀態轉換的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息;
[0046]所述發送模塊,具體用於:
[0047]所述控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的狀態字和節點分級信息,以指示所述各執行終端進行狀態機狀態轉換,並通過所述各執行終端將所述控制消息下發給所述各執行終端所管理的下一級執行終端。
[0048]本發明實施例第四方面提供了一種狀態機狀態轉換的執行終端,其可包括:
[0049]接收模塊,用於接收控制終端發送的狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字;
[0050]判斷模塊,用於根據所述接收模塊接收到的所述狀態字和所述執行終端當前狀態機的狀態判斷是否執行狀態機狀態轉換;
[0051]處理模塊,用於在所述判斷模塊判斷結果為是時,根據所述接收模塊接收到的所述狀態字進行狀態機狀態轉換;
[0052]反饋模塊,用於在所述處理模塊進行狀態機狀態轉換之後,向所述控制終端反饋執行狀態信息;
[0053]所述反饋模塊,用於在所述判斷模塊判斷結果為否時,向所述控制終端反饋執行狀態信息。
[0054]結合第四方面,在第一種可能的實現方式中,所述反饋模塊向所述控制終端反饋的所述執行狀態信息中包括:所述執行終端當前狀態機所處的狀態,和所述執行終端進行狀態機狀態轉換的執行進度。
[0055]結合第四方面或第四方面第一種可能的實現方式,在第二種可能的實現方式中,所述判斷模塊具體用於:
[0056]將從所述控制終端處接收到的所述狀態字與所述執行終端當前狀態機所處的狀態對應的狀態字進行比較,判斷所述接收到的狀態字是否大於所述狀態機所處的狀態對應的狀態字;
[0057]若判斷結果為是,則判定執行狀態機狀態轉換;
[0058]若判斷結果為否,則判定不執行狀態機狀態轉換。
[0059]結合第四方面至第四方面第二種可能的實現方式,在第三種可能的實現方式中,所述接收模塊接收到的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息;
[0060]所述執行終端,還包括:
[0061]發送模塊,用於根據所述節點分級信息中指示的所述執行終端所管理的下一級執行終端的信息,將所述從所述控制終端處接收的控制信息傳送給所述執行終端所管理的執行終端。
[0062]在本發明實施例中,控制終端可根據各個執行終端的執行狀態向所有執行終端發送控制消息,通過該控制消息來指示執行終端進行狀態機狀態轉換,還可接收執行終端根據上述控制消息進行狀態機狀態轉換後反饋的執行狀態信息,並根據各個執行終端反饋的執行狀態信息更新各個執行終端的執行狀態,進而根據更新後的執行終端的執行狀態下發下一個狀態機狀態轉換的控制消息。在本發明實施例中,狀態機狀態轉換的控制消息在各個執行終端中是並行發送的,各個執行終端可並行執行狀態機狀態轉換並反饋執行狀態,可提高狀態機狀態轉換的效率,提高控制終端的可靠性,增強終端的狀態機狀態轉換的用戶體驗。
【專利附圖】

【附圖說明】
[0063]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0064]圖1是本發明實施例提供的終端的狀態機狀態轉換的方法的第一實施例流程示意圖;
[0065]圖2是本發明實施例提供的終端的狀態機狀態轉換的方法的第二實施例流程示意圖;
[0066]圖3是本發明實施例提供的終端的狀態機狀態轉換的方法的第二實施例中的一節點結構示意圖;
[0067]圖4是本發明實施例提供的終端的狀態機狀態轉換的方法的第二實施例中的另一節點結構示意圖;
[0068]圖5是本發明實施例提供的狀態機狀態轉換的控制終端的第一實施例結構示意圖;
[0069]圖6是本發明實施例提供的狀態機狀態轉換的控制終端的第二實施例結構示意圖;
[0070]圖7是本發明實施例提供的終端的狀態機狀態轉換的方法的第三實施例流程示意圖;
[0071]圖8是本發明實施例提供的終端的狀態機狀態轉換的方法的第四實施例流程示意圖;
[0072]圖9是本發明實施例提供的狀態機狀態轉換的執行終端的第一實施例結構示意圖;
[0073]圖10是本發明實施例提供的狀態機狀態轉換的執行終端的第二實施例結構示意圖。
【具體實施方式】
[0074]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0075]具體實現中,本發明實施例中所描述的終端可包括狀態機狀態轉換的控制終端和執打終端,其中,上述控制終端(也稱控制節點)和執打終端(也稱執打節點)構成分布式集群系統的所有節點,即分布式集群系統中每一個節點對應一個終端,該終端可為控制終端,也可為執行終端。具體實現中,用戶可根據預先設定的選舉規則,從集群系統的所有節點對應的終端中選取一個終端作為集群系統的終端狀態機狀態轉換的控制終端,用以向集群系統的執行終端發送狀態機狀態轉換的控制消息。具體的,從集群系統的所有終端中選舉一個終端作為控制終端之後,其他的終端則為執行終端;此外,當集群系統在執行任務的過程中,上述用戶選取的控制終端發送故障時,系統還可根據預先設定的選取規則從上述執行終端中選取一個執行終端作為新的控制終端,用以執行控制終端的任務,其中,任意一個執行終端都有可能被選取為控制終端,具體可根據預先設定的規則確定。具體實現中,本發明實施例中所描述分布式集群系統的控制終端和執行終端具體可為計算機。
[0076]參見圖1,是本發明實施例提供的終端的狀態機狀態轉換的方法的第一實施例流程示意圖。本實施例中所描述的終端的狀態機狀態轉換的方法,包括步驟:
[0077]S101,控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息。
[0078]S102,所述控制終端接收所述各執行終端反饋的狀態信息。
[0079]S103,所述控制終端根據所述各執行終端反饋的狀態信息更新所述各執行終端的執行狀態,以根據更新後的所述各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的下一個控制消息。
[0080]在一些可行的實施方式中,本發明實施例中所描述的控制終端向執行終端發送的狀態機狀態轉換的控制消息中包括用於指示執行終端進行狀態機狀態轉換的狀態字。例如,集群系統在執行軟體升級的功能時,需要完成以下幾個步驟:舊版本軟體的升級前檢測、舊版本軟體的卸載、新版本軟體的下載、新版本軟體的安裝、新版本軟體的啟動和驗證等,把上述每一個步驟定義為一個狀態,即軟體升級的整個過程中,系統的終端狀態機需要進行上述舊版本軟體的升級前檢測(簡稱為第一狀態)、舊版本軟體的卸載(簡稱為第二狀態)、新版本軟體的下載(簡稱為第三狀態)、新版本軟體的安裝(簡稱為第四狀態)、新版本軟體的啟動(簡稱為第五狀態)和驗證(簡稱為第六狀態)等狀態的轉換。具體實現中,可預先設定上述各個狀態對應的狀態字,例如,第一狀態對應的狀態字為A,第二狀態對應的狀態字為B,第三狀態對應的狀態字為C,第四狀態對應的狀態字為D,第五狀態對應的狀態字為E,第六狀態對應的狀態字為F等,控制終端需要執行終端進行狀態機狀態轉換時,則可向所有執行終端發送狀態機狀態轉換的狀態字,例如,當執行終端處於第一狀態時,若控制終端需要執行終端從第一狀態轉換至第二狀態時,則可向執行終端發送狀態字B,執行終端接收到狀態字B之後則可進行狀態機的狀態轉換。
[0081]在一些可行的實施方式中,當控制終端開始向執行終端發送狀態機狀態轉換的控制消息時,由於所有的執行終端都還未開始進行狀態機的狀態轉換,因此所有的執行終端當前狀態機所處的狀態應該均為第一狀態,控制終端可根據系統中各個執行終端的初始狀態直接向所有執行終端發送控制消息,即控制終端可直接向所有的執行終端發送狀態字B,用於指示所有執行終端將狀態機的狀態從第一狀態轉換至第二狀態。具體實現中,執行終端接收到控制終端發送的控制消息之後,則可根據控制消息中的狀態字進行狀態機狀態轉換,並將狀態機狀態轉換的執行狀態反饋給控制終端,其中,上述狀態機狀態轉換的執行狀態包括當前狀態機所處的狀態和狀態機進行狀態轉換的執行進度。例如,當執行終端1接收到控制終端發送的狀態字B之後,執行終端1則可將其狀態機的狀態從第一狀態轉換為第二狀態,並可將狀態機狀態轉換的執行狀態反饋給控制終端。具體的,可預先設定控制終端向執行終端發送狀態機狀態轉換的控制消息的時間間隔,即控制終端可定時向執行終端發送控制消息,並且控制終端每次向執行終端發送控制消息時均可根據各個執行終端根據上次發送的控制消息執行狀態轉換的執行狀態決定本次發送的控制消息中的狀態字。由於控制終端向執行終端發送控制消息時本次發送控制消息和上次發送控制小時存在時間間隔,因此可預先設定執行終端接收到控制終端發送的控制消息並進行狀態機狀態轉換之後,向控制終端反饋執行狀態信息的時間間隔,以使控制終端更加準確地掌握各個執行終端的執行狀態。例如,當執行終端1接收到狀態字B並進行狀態機狀態轉換之後,則可在預設的反饋時間間隔上向控制終端反饋執行終端進行狀態機狀態轉換的執行狀態,包括執行終端1當前狀態機所處的狀態(例如第二狀態)和執行終端1進行狀態機狀態轉換的執行進度(例如50%)。
[0082]在一些可行的實施方式中,控制終端接收到各個執行終端反饋的狀態信息之後,則可根據各個執行終端反饋的狀態信息更新各個執行終端的執行狀態,以根據更新後的各個執行終端的執行狀態向所有執行終端發送狀態機狀態轉換的下一個控制消息。具體實現中,當控制終端在預先設定的時間內未接收到任意一個執行終端(例如執行終端1)反饋的狀態信息時,控制終端則可預先設定執行終端1處於短時間故障狀態,此時控制終端更新各個執行終端的執行狀態時則可保持執行終端1的執行狀態不變,進而根據各個執行終端的執行狀態向所有執行終端再次下發上次發送的控制消息。若控制終端多次(包括至少2次)下發上次發送的控制消息之後,在預設的時間間隔內還未接收到執行終端1反饋的狀態信息,則可判斷執行終端1處於故障狀態或者已經斷開連接,即本發明實施例中所描述的控制終端向執行終端下發的控制消息還可具有心跳檢測的功能,可根據執行終端反饋狀態信息的情況判斷執行終端是否處於正常連接狀態。具體實現中,控制終端向執行終端發送下一個控制消息之後可接收到執行終端根據該控制消息執行狀態轉換後反饋的狀態信息,進而根據接收到的狀態信息再次更新各個執行終端的執行狀態,再根據更新後的各個執行終端的執行狀態向各個執行終端下發下一個控制消息,如此循環直至所有的執行終端執行完所有的狀態機狀態轉換。當所有的執行終端執行完所有的狀態轉換時,集群系統則可完成軟體的升級。
[0083]在本發明實施例中,控制終端可同時向所有的執行終端發送狀態機狀態轉換的控制消息,指示執行終端進行狀態機狀態轉換,並根據所有執行終端反饋的狀態信息更新各個執行終端的執行狀態,即本實施例中所描述的狀態機狀態轉換的控制命令和狀態同步信息合一,提高了控制終端消除時序和故障等異常場景的可靠性,提高了狀態機狀態轉換的執行效率;本實施例中所描述的控制終端還可根據執行終端是否正常反饋狀態機狀態轉換的執行狀態信息來判斷執行終端是否處於正常連接狀態,進一步保證了狀態機狀態轉換的執行效率,提高了系統的終端狀態機狀態轉換的效率,增強了系統可用性和用戶體驗。
[0084]參見圖2,是本發明實施例提供的終端的狀態機狀態轉換的方法的第二實施例流程示意圖。本實施例中所描述的終端的狀態機狀態轉換的方法,包括步驟:
[0085]S201,控制終端向所有執行終端發送狀態機狀態轉換的初始狀態字。
[0086]在一些可行的實施方式中,本發明實施例中所描述的控制終端向執行終端發送的狀態機狀態轉換的控制消息中包括用於指示執行終端進行狀態機狀態轉換的狀態字。例如,集群系統在執行軟體升級的功能時,需要完成以下幾個步驟:舊版本軟體的升級前檢測、舊版本軟體的卸載、新版本軟體的下載、新版本軟體的安裝、新版本軟體的啟動和驗證等,把上述每一個步驟定義為一個狀態,即軟體升級的整個過程中,系統的終端狀態機需要進行上述舊版本軟體的升級前檢測(簡稱為第一狀態)、舊版本軟體的卸載(簡稱為第二狀態)、新版本軟體的下載(簡稱為第三狀態)、新版本軟體的安裝(簡稱為第四狀態)、新版本軟體的啟動(簡稱為第五狀態)和驗證(簡稱為第六狀態)等狀態的轉換。具體實現中,可預先設定上述各個狀態對應的狀態字,例如,第一狀態對應的狀態字為A,第二狀態對應的狀態字為B,第三狀態對應的狀態字為C,第四狀態對應的狀態字為D,第五狀態對應的狀態字為E,第六狀態對應的狀態字為F等,控制終端需要執行終端進行狀態機狀態轉換時,則可向所有執行終端發送狀態機狀態轉換的狀態字,例如,當執行終端處於第一狀態時,若控制終端需要執行終端從第一狀態轉換至第二狀態時,則可向執行終端發送狀態字B,執行終端接收到狀態字B之後則可進行狀態機的狀態轉換。
[0087]在一些可行的實施方式中,當控制終端開始向執行終端發送狀態機狀態轉換的控制消息時,由於所有的執行終端都還未開始進行狀態機的狀態轉換,因此所有的執行終端當前狀態機所處的狀態應該均為第一狀態,控制終端可根據系統中各個執行終端的初始狀態直接向所有執行終端發送控制消息(即控制終端可直接向所有執行終端發送狀態機狀態轉換的初始狀態字),即控制終端可直接向所有的執行終端發送狀態字B,用於指示所有執行終端將狀態機的狀態從第一狀態轉換至第二狀態。
[0088]S202,所述控制終端接收所述各執行終端反饋的狀態信息。
[0089]S203,所述控制終端根據所述各執行終端反饋的狀態信息更新所述各執行終端的執行狀態。
[0090]在一些可行的實施方式中,控制終端向所有執行終端發送的控制消息中還可包括:根據上述控制消息中的狀態字進行狀態轉換的執行對象,其實,上述執行對象具體可為系統中所有的執行終端中的任意一個或者多個。即控制終端可根據系統所要實現的功能(即執行的任務)的實際應用需求確定是否需要系統中所有的執行終端都需要進行狀態機狀態轉換,或者需要具體由哪些執行終端來執行該功能(即具體哪些執行終端需要進行狀態機狀態轉換)。具體實現中,系統中執行終端(例如執行終端1)接收到控制終端發送的控制消息之後,則可首先根據控制消息中的執行對象判斷是否需要進行狀態機狀態轉換,即當執行終端1根據接收到的控制消息判斷得知控制消息中的執行對象中包括執行終端1,執行終端1則可根據控制消息中的狀態字進行狀態機狀態轉換,若判斷得知控制消息中的執行對象不包括執行終端1,執行終端1則不進行狀態機狀態轉換。具體的,當執行終端1判斷得知需要進行狀態機狀態轉換時,執行終端1則可根據控制消息中的狀態字進行狀態機狀態之後,並將狀態機狀態轉換的執行狀態反饋給控制終端;當執行終端1判斷得知不需要進行狀態機狀態轉換時,則可直接向控制終端反饋執行終端1當前狀態機的狀態。其中,上述狀態機狀態轉換的執行狀態包括當前狀態機所處的狀態和狀態機進行狀態轉換的執行進度。例如,當執行終端1接收到控制終端發送的狀態字B之後,執行終端1則可將其狀態機的狀態從第一狀態轉換為第二狀態,並可將狀態機狀態轉換的執行狀態反饋給控制終端。具體的,可預先設定控制終端向執行終端發送狀態機狀態轉換的控制消息的時間間隔,即控制終端可定時向執行終端發送控制消息,並且控制終端每次向執行終端發送控制消息時均可根據各個執行終端根據上次發送的控制消息執行狀態轉換的執行狀態決定本次發送的控制消息中的狀態字。由於控制終端向執行終端發送控制消息時本次發送控制消息和上次發送控制小時存在時間間隔,因此可預先設定執行終端接收到控制終端發送的控制消息並進行狀態機狀態轉換之後,向控制終端反饋執行狀態信息的時間間隔,以使控制終端更加準確地掌握各個執行終端的執行狀態。例如,當執行終端1接收到狀態字B並進行狀態機狀態轉換之後,則可在預設的反饋時間間隔上向控制終端反饋執行終端進行狀態機狀態轉換的執行狀態,包括執行終端1當前狀態機所處的狀態(例如第二狀態)和執行終端1進行狀態機狀態轉換的執行進度(例如50%)。
[0091]在一些可行的實施方式中,控制終端接收到各個執行終端反饋的狀態信息之後,則可根據各個執行終端反饋的狀態信息更新各個執行終端的執行狀態。
[0092]S204,判斷所有所述執行終端當前狀態機是否處於同一個狀態,若判斷結果為是,則執行步驟S205,若判斷結果為否,則執行步驟S207。
[0093]S205,根據各執行終端進行狀態機狀態轉換的執行進度判斷所有執行終端是否已完成狀態機狀態轉換,若判斷結果為是,則執行步驟S206,若判斷結果為否,則執行步驟S207。
[0094]S206,向所述所有執行終端下發狀態機狀態轉換的第一狀態字,並返回步驟S202,繼續執行上述步驟。
[0095]S207,向所述所有執行終端下發狀態機狀態轉換的第二狀態字,並返回步驟S202,繼續執行上行步驟。
[0096]在一些可行的實施方式中,控制終端接收到各個執行終端反饋的狀態信息之後,則可根據各個執行終端反饋的狀態信息更新各個執行終端的執行狀態,以根據更新後的各個執行終端的執行狀態向所有執行終端發送狀態機狀態轉換的下一個控制消息。具體實現中,控制終端更新各個執行終端的執行狀態之後,當控制終端要向所有執行終端發送下一個控制消息時,則可根據更新後的各個執行終端的狀態決定下發的狀態機狀態轉換的狀態字。具體的,控制終端可根據各個執行終端反饋的各個執行終端當前狀態機所處的狀態判斷所有執行終端當前狀態機是否處於同一個狀態(即是否所有的執行終端都執行了狀態轉換),若判斷得知所有的執行終端當前狀態機都處於同一個狀態,則可判斷得知所有的執行終端都成功進行了狀態轉換,進而可根據各個執行終端進行狀態機狀態轉換的執行進度判斷是否所有的執行終端是否都已經完成了狀態機狀態轉換。例如,當所有執行終端反饋的狀態信息中顯示所有的執行終端進行狀態機狀態轉換的執行進度均為100%,則可判斷得知所有的執行終端都已經完成了狀態機的狀態轉換,此時,控制終端則可向所有的執行終端發送狀態機狀態轉換的第一狀態字(本發明實施例中所描述的第一狀態字具體可為狀態機需要執行的下一個狀態對應的狀態字);當所有執行終端中反饋的狀態信息中顯示有未完成狀態機狀態轉換的執行終端,即所有的執行終端中有一個或者多個執行終端的執行進度未達到100%,則可判斷得知還有執行終端未完成狀態機狀態轉換,此時,控制終端則可向所有執行終端發送狀態機狀態轉換的第二狀態字(本發明實施例中所描述的第二狀態字具體可為狀態機當前執行的狀態對應的狀態字)。當控制終端判斷根據所有的執行終端反饋的狀態信息判斷得知不是所有的執行終端均處於同一個狀態,即存在個別執行終端還處於上一個狀態,而並非成功轉入控制終端發送的控制消息中的狀態字對應的狀態,此時,控制終端則可向所有執行終端發送狀態機狀態轉換的第二狀態字。具體實現中,控制終端向執行終端發送下一個控制消息之後可接收到執行終端根據該控制消息執行狀態轉換後反饋的狀態信息,進而根據接收到的狀態信息再次更新各個執行終端的執行狀態,再根據更新後的各個執行終端的執行狀態向各個執行終端下發下一個控制消息,如此循環直至所有的執行終端執行完所有的狀態機狀態轉換。當所有的執行終端執行完所有的狀態轉換時,集群系統則可完成軟體的升級。本實施例中所描述的狀態機狀態轉換的控制命令和狀態同步信息合一,提高了控制終端消除時序和故障等異常場景的可靠性,提高了狀態機狀態轉換的執行效率。
[0097]在一些可行的實施方式中,控制終端設定了各個執行終端向控制終端反饋狀態信息的時間間隔後,控制終端還可根據執行終端是否在預設的時間間隔內成功反饋信息來判斷該執行終端是否處於正常連接狀態。例如,當控制終端在預先設定的時間內未接收到任意一個執行終端(例如執行終端1)反饋的狀態信息時,控制終端則可預先設定執行終端1處於短時間故障狀態,此時控制終端更新各個執行終端的執行狀態時則可保持執行終端1的執行狀態不變,進而根據各個執行終端的執行狀態向所有執行終端再次下發上次發送的控制消息。若控制終端多次(包括至少2次)下發上次發送的控制消息之後,在預設的時間間隔內還未接收到執行終端1反饋的狀態信息,則可判斷執行終端1處於故障狀態或者已經斷開連接,即本發明實施例中所描述的控制終端向執行終端下發的控制消息時還可具有心跳檢測的功能,可根據執行終端反饋狀態信息的情況判斷執行終端是否處於正常連接狀態,進一步保證了狀態機狀態轉換的執行效率,增強了系統可用性和用戶體驗。
[0098]在一些可行的實施方式中,本發明實施中所描述的控制終端向執行終端發送的控制消息中還可包括:節點分級信息,上述節點分級信息中包括各個執行終端所處的節點等級,或者各個執行終端所管理的下一級執行終端的信息,其中,上述下一級執行終端的信息包括:下一級執行終端的個數和各個執行終端的標識等。具體實現中,當集群系統的規模較大時,為了保證系統具有更高的可靠性和可用性,可將系統中所有節點進行分級,例如一級節點、二級節點、三級節點等(如圖3),並設定執行終端進行狀態機狀態轉換的控制消息的傳送規則為高一級的節點向其下一級的節點(即其管理的下一級節點)傳送控制節點發送的控制消息,其中一級節點等級高於二級節點,二級節點的等級高於三級節點等。設定好系統中各個執行終端所屬的節點等級,或者各個執行終端所管理的下一級執行終端的信息之後,控制終端向所有執行終端發送控制消息時則可根據各個執行終端的執行狀態向所有執行終端發送狀態機狀態轉換的狀態字和節點分級信息,通過上述狀態字來指示各個執行終端進行狀態機狀態轉換,並通過上述節點分級信息指示相應的執行終端將控制信息下發給該執行終端所管理的下一級執行終端。如圖3,若系統中包括7個節點,則可預先定義控制終端為一級節點,並定義2個二級節點,每個二級節點管理兩個三級節點,控制終端可向二級節點發送控制消息(例如消息1),消息1中包括二級節點需要進行狀態機狀態轉換的狀態字和二級節點所處的節點等級(即二級)、以及二級節點所管理的下一級執行終端(三級節點)的信息。二級節點接收到消息1之後則可向三級節點下發控制終端發送的控制消息(例如消息2),消息2中包括三級節點需要進行狀態機狀態轉換的狀態字和三級節點所處的節點等級(即三級)、以及三級節點所管理的下一級執行終端(0個)的信息。具體實現中,各個執行終端接收到控制消息之後則可根據控制消息中的狀態字執行狀態機狀態轉換並向控制終端反饋相應的狀態信息。具體的,如圖3,三級節點可將狀態信息反饋給二級節點(如消息4),二級節點接收到三級節點發送的消息之後,則可結合其自身需要向控制終端反饋的信息向控制終端反饋相應的狀態信息(如消息3),將其自身的執行狀態及其管理的下一級執行終端的執行狀態反饋給控制終端,控制終端可根據二級節點反饋的信息獲知系統中所有執行終端的執行狀態。
[0099]在一些可行的實施方式中,本發明實施例通過系統節點分級的方法,使得系統可支持任意節點故障,保障系統的可靠性。如圖4,當系統中任一節點(例如一級節點)發生故障時,系統還可根據預先設定的選取規則,從所有的二級節點中選取新的一級節點,接管原一級節點的任務。例如,當某一個二級節點在預設的時間間隔內接收不到一級節點的消息時,貝1J可將該二級節點選取為新的一級節點,通過該新的一級節點向其他節點發送控制消息,保證系統的正常運行。本發明實施例採用系統節點分級的方法,通過上一級節點向下一級節點下發信息或者通過上一級節點獲取下一級節點的狀態信息,可減少節點消息的擁塞,解決大規模集群系統的節點消息瓶頸問題,提高了系統的終端狀態機狀態轉換的效率和系統的可靠性,增強了系統的可用性和用戶體驗。
[0100]在本發明實施例中,控制終端可同時向所有的執行終端發送狀態機狀態轉換的控制消息,指示執行終端進行狀態機狀態轉換,並根據所有執行終端反饋的狀態信息更新各個執行終端的執行狀態,即本實施例中所描述的狀態機狀態轉換的控制命令和狀態同步信息合一,提高了控制終端消除時序和故障等異常場景的可靠性,提高了狀態機狀態轉換的執行效率;本實施例中所描述的控制終端還可根據執行終端是否正常反饋狀態機狀態轉換的執行狀態信息來判斷執行終端是否處於正常連接狀態,還可支持系統的節點分級,進一步保證了狀態機狀態轉換的執行效率,提高了系統的終端狀態機狀態轉換的效率和大規模集群系統的可靠性,增強了系統可用性和用戶體驗。
[0101]參見圖5,是本發明實施例提供的狀態機狀態轉換的控制終端的第一實施例結構示意圖。本實施例中所描述的控制終端,包括:
[0102]發送模塊10,用於根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字。
[0103]接收模塊20,用於接收所述各執行終端反饋的狀態信息,所述狀態信息為所述執行終端根據所述控制消息進行狀態機狀態轉換後反饋的執行狀態信息。[0104]更新模塊30,用於根據所述各執行終端反饋的狀態信息更新所述各執行終端的執行狀態,以通過所述發送模塊根據更新後的所述各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的下一個控制消息。
[0105]在一些可行的實施方式中,本發明實施例中所描述的控制終端的發送模塊10向執行終端發送的狀態機狀態轉換的控制消息中包括用於指示執行終端進行狀態機狀態轉換的狀態字。例如,集群系統在執行軟體升級的功能時,需要完成以下幾個步驟:舊版本軟體的升級前檢測、舊版本軟體的卸載、新版本軟體的下載、新版本軟體的安裝、新版本軟體的啟動和驗證等,把上述每一個步驟定義為一個狀態,即軟體升級的整個過程中,系統的終端狀態機需要進行上述舊版本軟體的升級前檢測(簡稱為第一狀態)、舊版本軟體的卸載(簡稱為第二狀態)、新版本軟體的下載(簡稱為第三狀態)、新版本軟體的安裝(簡稱為第四狀態)、新版本軟體的啟動(簡稱為第五狀態)和驗證(簡稱為第六狀態)等狀態的轉換。具體實現中,可預先設定上述各個狀態對應的狀態字並存儲於控制終端中,例如,可預先設定第一狀態對應的狀態字為A,第二狀態對應的狀態字為B,第三狀態對應的狀態字為C,第四狀態對應的狀態字為D,第五狀態對應的狀態字為E,第六狀態對應的狀態字為F等,控制終端需要執行終端進行狀態機狀態轉換時,則可通過發送模塊10向所有執行終端發送狀態機狀態轉換的狀態字,例如,當執行終端處於第一狀態時,若控制終端需要執行終端從第一狀態轉換至第二狀態時,則可通過發送模塊10向執行終端發送狀態字B,執行終端接收到狀態字B之後則可進行狀態機的狀態轉換。
[0106]在一些可行的實施方式中,當控制終端需要執行終端進行狀態機狀態轉換,並通過發送模塊10開始向執行終端發送狀態機狀態轉換的控制消息時,由於此時所有的執行終端都還未開始進行狀態機的狀態轉換,因此所有的執行終端當前狀態機所處的狀態應該均為第一狀態,控制終端可根據系統中各個執行終端的初始狀態直接向所有執行終端發送控制消息,即發送模塊10可直接向所有的執行終端發送狀態字B,用於指示所有執行終端將狀態機的狀態從第一狀態轉換至第二狀態。具體實現中,執行終端接收到控制終端發送的控制消息之後,則可根據控制消息中的狀態字進行狀態機狀態轉換,並將狀態機狀態轉換的執行狀態反饋給控制終端,其中,上述狀態機狀態轉換的執行狀態包括當前狀態機所處的狀態和狀態機進行狀態轉換的執行進度。例如,當執行終端1接收到控制終端發送的狀態字B之後,執行終端1則可將其狀態機的狀態從第一狀態轉換為第二狀態,並可將狀態機狀態轉換的執行狀態反饋給控制終端。具體的,可預先設定發送模塊10向執行終端發送狀態機狀態轉換的控制消息的時間間隔,即控制終端可通過發送模塊10定時向執行終端發送控制消息,並且發送模塊10每次向執行終端發送控制消息時均可根據各個執行終端根據上次發送的控制消息執行狀態轉換的執行狀態決定本次發送的控制消息中的狀態字。由於發送模塊10向執行終端發送控制消息時本次發送控制消息和上次發送控制小時存在時間間隔,因此可預先設定執行終端接收到控制終端發送的控制消息並進行狀態機狀態轉換之後,向控制終端反饋執行狀態信息的時間間隔,以使控制終端更加準確地掌握各個執行終端的執行狀態。例如,當執行終端1接收到狀態字B並進行狀態機狀態轉換之後,則可在預設的反饋時間間隔上向控制終端反饋執行終端進行狀態機狀態轉換的執行狀態,包括執行終端1當前狀態機所處的狀態(例如第二狀態)和執行終端1進行狀態機狀態轉換的執行進度(例如50%)。[0107]在一些可行的實施方式中,控制終端通過接收模塊20接收到各個執行終端反饋的狀態信息之後,更新模塊30則可根據各個執行終端反饋的狀態信息更新各個執行終端的執行狀態,發送模塊10可根據更新模塊30更新後的各個執行終端的執行狀態向所有執行終端發送狀態機狀態轉換的下一個控制消息。具體實現中,當控制終端的接收模塊20在預先設定的時間內未接收到任意一個執行終端(例如執行終端1)反饋的狀態信息時,控制終端則可預先設定執行終端1處於短時間故障狀態,此時控制終端的更新模塊20更新各個執行終端的執行狀態時則可保持執行終端1的執行狀態不變,進而通過發送模塊30根據各個執行終端的執行狀態向所有執行終端再次下發上次發送的控制消息。若發送模塊10多次(包括至少2次)下發上次發送的控制消息之後,接收模塊20在預設的時間間隔內還未接收到執行終端1反饋的狀態信息,控制終端則可判斷執行終端1處於故障狀態或者已經斷開連接,由此可知本發明實施例中所描述的控制終端向執行終端下發的控制消息時還可具有心跳檢測的功能,可根據執行終端反饋狀態信息的情況判斷執行終端是否處於正常連接狀態。具體實現中,控制終端通過發送模塊10向執行終端發送下一個控制消息之後,接收模塊20可接收到執行終端根據該控制消息執行狀態轉換後反饋的狀態信息,進而通過更新模塊30根據接收模塊20接收到的狀態信息再次更新各個執行終端的執行狀態,發送模塊10再根據更新後的各個執行終端的執行狀態向各個執行終端下發下一個控制消息,如此循環直至所有的執行終端執行完所有的狀態機狀態轉換。當所有的執行終端執行完所有的狀態轉換時,集群系統則可完成軟體的升級。
[0108]在本發明實施例中,控制終端可同時向所有的執行終端發送狀態機狀態轉換的控制消息,指示執行終端進行狀態機狀態轉換,並根據所有執行終端反饋的狀態信息更新各個執行終端的執行狀態,即本實施例中所描述的狀態機狀態轉換的控制命令和狀態同步信息合一,提高了控制終端消除時序和故障等異常場景的可靠性,提高了狀態機狀態轉換的執行效率;本實施例中所描述的控制終端還可根據執行終端是否正常反饋狀態機狀態轉換的執行狀態信息來判斷執行終端是否處於正常連接狀態,進一步保證了狀態機狀態轉換的執行效率,提高了系統的終端狀態機狀態轉換的效率,增強了系統可用性和用戶體驗。
[0109]參見圖6,是本發明實施例提供的狀態機狀態轉換的控制終端的第二實施例結構示意圖。本實施例中所描述的控制終端,包括:
[0110]發送模塊40,用於根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字。
[0111]接收模塊20,用於接收所述各執行終端反饋的狀態信息,所述狀態信息為所述執行終端根據所述控制消息進行狀態機狀態轉換後反饋的執行狀態信息。
[0112]更新模塊30,用於根據所述各執行終端反饋的狀態信息更新所述各執行終端的執行狀態,以通過所述發送模塊根據更新後的所述各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的下一個控制消息。
[0113]在一些可行的實施方式中,上述發送模塊40,包括:
[0114]第一判斷單元41,用於根據所述各執行終端當前狀態機所處的狀態判斷所有所述執行終端當前狀態機是否處於同一個狀態;
[0115]第二判斷單元42,用於在所述第一判斷單元判斷結果為是時,根據所述各所述執行終端進行狀態機狀態轉換的執行進度判斷所述所有所述執行終端是否已完成狀態機狀態轉換;
[0116]發送單元43,用於在所述第二判斷單元判斷結果為是時,向所述所有所述執行終端下發狀態機狀態轉換的第一狀態字;
[0117]所述發送單元43,用於在所述第二判斷單元判斷結果為否時,向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字;
[0118]所述發送單元43,還用於在所述第一判斷單元判斷結果為否時,向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字。
[0119]在一些可行的實施方式中,本發明實施例中所描述的控制終端的發送模塊40向執行終端發送的狀態機狀態轉換的控制消息中包括用於指示執行終端進行狀態機狀態轉換的狀態字。例如,集群系統在執行軟體升級的功能時,需要完成以下幾個步驟:舊版本軟體的升級前檢測、舊版本軟體的卸載、新版本軟體的下載、新版本軟體的安裝、新版本軟體的啟動和驗證等,把上述每一個步驟定義為一個狀態,即軟體升級的整個過程中,系統的終端狀態機需要進行上述舊版本軟體的升級前檢測(簡稱為第一狀態)、舊版本軟體的卸載(簡稱為第二狀態)、新版本軟體的下載(簡稱為第三狀態)、新版本軟體的安裝(簡稱為第四狀態)、新版本軟體的啟動(簡稱為第五狀態)和驗證(簡稱為第六狀態)等狀態的轉換。具體實現中,可預先設定上述各個狀態對應的狀態字並存儲於控制終端中,例如,可預先設定第一狀態對應的狀態字為A,第二狀態對應的狀態字為B,第三狀態對應的狀態字為C,第四狀態對應的狀態字為D,第五狀態對應的狀態字為E,第六狀態對應的狀態字為F等,控制終端需要執行終端進行狀態機狀態轉換時,則可通過發送模塊40向所有執行終端發送狀態機狀態轉換的狀態字,例如,當執行終端處於第一狀態時,若控制終端需要執行終端從第一狀態轉換至第二狀態時,則可通過發送模塊40向執行終端發送狀態字B,執行終端接收到狀態字B之後則可進行狀態機的狀態轉換。
[0120]在一些可行的實施方式中,當控制終端想要執行終端進行狀態機狀態轉換,並開始通過發送模塊40向執行終端發送狀態機狀態轉換的控制消息時,由於此時所有的執行終端都還未開始進行狀態機的狀態轉換,因此所有的執行終端當前狀態機所處的狀態應該均為第一狀態,控制終端可根據系統中各個執行終端的初始狀態直接向所有執行終端發送控制消息(即發送模塊40可直接向所有執行終端發送狀態機狀態轉換的初始狀態字),即發送模塊40可直接向所有的執行終端發送狀態字B,用於指示所有執行終端將狀態機的狀態從第一狀態轉換至第二狀態。
[0121]在一些可行的實施方式中,控制終端的發送模塊40向所有執行終端發送的控制消息中還可包括:根據上述控制消息中的狀態字進行狀態轉換的執行對象,其實,上述執行對象具體可為系統中所有的執行終端中的任意一個或者多個。即控制終端可根據系統所要實現的功能(即執行的任務)的實際應用需求確定是否需要系統中所有的執行終端都需要進行狀態機狀態轉換,或者需要具體由哪些執行終端來執行該功能(即具體哪些執行終端需要進行狀態機狀態轉換)。具體實現中,系統中執行終端(例如執行終端1)接收到控制終端發送的控制消息之後,則可首先根據控制消息中的執行對象判斷是否需要進行狀態機狀態轉換,即當執行終端1根據接收到的控制消息判斷得知控制消息中的執行對象中包括執行終端1,執行終端1則可根據控制消息中的狀態字進行狀態機狀態轉換,若判斷得知控制消息中的執行對象不包括執行終端1,執行終端1則不進行狀態機狀態轉換。具體的,當執行終端1判斷得知需要進行狀態機狀態轉換時,執行終端1則可根據控制消息中的狀態字進行狀態機狀態之後,並將狀態機狀態轉換的執行狀態反饋給控制終端;當執行終端1判斷得知不需要進行狀態機狀態轉換時,則可直接向控制終端反饋執行終端1當前狀態機的狀態。其中,上述狀態機狀態轉換的執行狀態包括當前狀態機所處的狀態和狀態機進行狀態轉換的執行進度。例如,當執行終端1接收到控制終端發送的狀態字B之後,執行終端1則可將其狀態機的狀態從第一狀態轉換為第二狀態,並可將狀態機狀態轉換的執行狀態反饋給控制終端。具體的,可預先設定控制終端的發送模塊40向執行終端發送狀態機狀態轉換的控制消息的時間間隔,即發送模塊40可定時向執行終端發送控制消息,並且發送模塊40每次向執行終端發送控制消息時均可根據各個執行終端根據上次發送的控制消息執行狀態轉換的執行狀態決定本次發送的控制消息中的狀態字。由於發送模塊40向執行終端發送控制消息時本次發送控制消息和上次發送控制小時存在時間間隔,因此可預先設定執行終端接收到控制終端發送的控制消息並進行狀態機狀態轉換之後,向控制終端反饋執行狀態信息的時間間隔,以使控制終端更加準確地掌握各個執行終端的執行狀態。例如,當執行終端1接收到狀態字B並進行狀態機狀態轉換之後,則可在預設的反饋時間間隔上向控制終端反饋執行終端進行狀態機狀態轉換的執行狀態,包括執行終端1當前狀態機所處的狀態(例如第二狀態)和執行終端1進行狀態機狀態轉換的執行進度(例如50%)。
[0122]在一些可行的實施方式中,控制終端通過接收模塊20接收到各個執行終端反饋的狀態信息之後,更新模塊30則可根據各個執行終端反饋的狀態信息更新各個執行終端的執行狀態。控制終端的接收模塊20接收到各個執行終端反饋的狀態信息之後,更新模塊30則可根據各個執行終端反饋的狀態信息更新各個執行終端的執行狀態,發送模塊40可根據更新後的各個執行終端的執行狀態向所有執行終端發送狀態機狀態轉換的下一個控制消息。具體實現中,控制終端通過更新模塊30更新各個執行終端的執行狀態之後,當控制終端要向所有執行終端發送下一個控制消息時,發送模塊40則可根據更新模塊30更新後的各個執行終端的狀態決定下發的狀態機狀態轉換的狀態字。具體的,發送模塊40的第一判斷單元41可根據接收模塊20接收到的各個執行終端反饋的各個執行終端當前狀態機所處的狀態判斷所有執行終端當前狀態機是否處於同一個狀態(即是否所有的執行終端都執行了狀態轉換),若第一判斷單元41判斷得知所有的執行終端當前狀態機都處於同一個狀態,則可判斷得知所有的執行終端都成功進行了狀態轉換,第二判斷單元42則可根據各個執行終端進行狀態機狀態轉換的執行進度判斷是否所有的執行終端是否都已經完成了狀態機狀態轉換。例如,當第二判斷單元41判斷得知所有執行終端反饋的狀態信息中顯示所有的執行終端進行狀態機狀態轉換的執行進度均為100%,則可判斷得知所有的執行終端都已經完成了狀態機的狀態轉換,此時,控制終端則可通過發送模塊40的發送單元43向所有的執行終端發送狀態機狀態轉換的第一狀態字(本發明實施例中所描述的第一狀態字具體可為狀態機需要執行的下一個狀態對應的狀態字);當第二判斷單元41判斷得知所有執行終端中反饋的狀態信息中顯示有未完成狀態機狀態轉換的執行終端,即所有的執行終端中有一個或者多個執行終端的執行進度未達到100%,則可判斷得知還有執行終端未完成狀態機狀態轉換,此時,控制終端則可通過發送單元43向所有執行終端發送狀態機狀態轉換的第二狀態字(本發明實施例中所描述的第二狀態字具體可為狀態機當前執行的狀態對應的狀態字)。當第一判斷單元41判斷根據所有的執行終端反饋的狀態信息判斷得知不是所有的執行終端均處於同一個狀態,即存在個別執行終端還處於上一個狀態,而並非成功轉入控制終端發送的控制消息中的狀態字對應的狀態,此時,通過發送單元43則可向所有執行終端發送狀態機狀態轉換的第二狀態字。具體實現中,發送模塊40向執行終端發送下一個控制消息之後,接收模塊20可接收執行終端根據發送模塊40發送的控制消息執行狀態轉換後反饋的狀態信息,更新模塊30可根據接收模塊20接收到的狀態信息再次更新各個執行終端的執行狀態,發送模塊40可根據更新模塊30更新後的各個執行終端的執行狀態向各個執行終端下發下一個控制消息,如此循環直至所有的執行終端執行完所有的狀態機狀態轉換。當所有的執行終端執行完所有的狀態轉換時,集群系統則可完成軟體的升級。本實施例中所描述的控制終端發送的狀態機狀態轉換的控制命令和狀態同步信息合一,可提高控制終端消除時序和故障等異常場景的可靠性,提高了狀態機狀態轉換的執行效率。
[0123]在一些可行的實施方式中,控制終端設定了各個執行終端向控制終端反饋狀態信息的時間間隔後,還可根據執行終端是否在預設的時間間隔內成功反饋信息來判斷該執行終端是否處於正常連接狀態。例如,當接收模塊20在預先設定的時間內未接收到任意一個執行終端(例如執行終端1)反饋的狀態信息時,控制終端則可預先設定執行終端1處於短時間故障狀態,此時控制終端的更新模塊30更新各個執行終端的執行狀態時則可保持執行終端1的執行狀態不變,進而通過發送模塊40結合各個執行終端的執行狀態向所有執行終端再次下發上次發送的控制消息。若控制終端通過發送模塊40多次(包括至少2次)下發上次發送的控制消息之後,接收模塊20在預設的時間間隔內還未接收到執行終端1反饋的狀態信息,則可判斷執行終端1處於故障狀態或者已經斷開連接,即本發明實施例中所描述的控制終端向執行終端下發的控制消息還可具有心跳檢測的功能,可根據執行終端反饋狀態信息的情況判斷執行終端是否處於正常連接狀態,進一步保證了狀態機狀態轉換的執行效率,增強了系統可用性和用戶體驗。
[0124]在一些可行的實施方式中,上述發送模塊40發送的所述狀態機狀態轉換的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息;
[0125]所述發送模塊,還具體用於:
[0126]所述控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的狀態字和節點分級信息,以指示所述各執行終端進行狀態機狀態轉換,並通過所述各執行終端將所述控制消息下發給所述各執行終端所管理的下一級執行終端。
[0127]在一些可行的實施方式中,本發明實施中所描述的控制終端通過發送模塊40向執行終端發送的控制消息中還可包括:節點分級信息,上述節點分級信息中包括各個執行終端所處的節點等級,或者各個執行終端所管理的下一級執行終端的信息,其中,上述下一級執行終端的信息包括:下一級執行終端的個數和各個執行終端的標識等。具體實現中,當集群系統的規模較大時,為了保證系統具有更高的可靠性和可用性,可將系統中所有節點進行分級,例如一級節點、二級節點、三級節點等(如圖3),並設定執行終端進行狀態機狀態轉換的控制消息的傳送規則為高一級的節點向其下一級的節點(即其管理的下一級節點)傳送控制節點發送的控制消息,其中一級節點等級高於二級節點,二級節點的等級高於三級節點等。設定好系統中各個執行終端所屬的節點等級,或者各個執行終端所管理的下一級執行終端的信息之後,發送模塊40向所有執行終端發送控制消息時則可根據各個執行終端的執行狀態向所有執行終端發送狀態機狀態轉換的狀態字和節點分級信息,通過上述狀態字來指示各個執行終端進行狀態機狀態轉換,並通過上述節點分級信息指示相應的執行終端將控制信息下發給該執行終端所管理的下一級執行終端。如圖3,若系統中包括7個節點,則可預先定義控制終端為一級節點,並定義2個二級節點,每個二級節點管理兩個三級節點,控制終端可通過發送模塊40向二級節點發送控制消息(例如消息1),消息1中包括二級節點需要進行狀態機狀態轉換的狀態字和二級節點所處的節點等級(即二級)、以及二級節點所管理的下一級執行終端(三級節點)的信息。二級節點接收到消息1之後則可向三級節點下發控制終端發送的控制消息(例如消息2),消息2中包括三級節點需要進行狀態機狀態轉換的狀態字和三級節點所處的節點等級(即三級)、以及三級節點所管理的下一級執行終端(0個)的信息。具體實現中,各個執行終端接收到控制消息之後則可根據控制消息中的狀態字執行狀態機狀態轉換並向控制終端反饋相應的狀態信息。具體的,如圖3,三級節點可將狀態信息反饋給二級節點(如消息4),二級節點接收到三級節點發送的消息之後,則可結合其自身需要向控制終端反饋的信息向控制終端反饋相應的狀態信息(如消息3),將其自身的執行狀態及其管理的下一級執行終端的執行狀態反饋給控制終端,控制終端可根據二級節點反饋的信息獲知系統中所有執行終端的執行狀態 。
[0128]在一些可行的實施方式中,本發明實施例通過系統節點分級的方法,使得系統可支持任意節點故障,保障系統的可靠性。如圖4,當系統中任一節點(例如一級節點,即本發明實施例中所描述的控制終端)發生故障時,系統還可根據預先設定的選取規則,從所有的二級節點中選取新的一級節點,接管原一級節點的任務,擔任本發明實施例中所描述的控制終端的職責。例如,當某一個二級節點在預設的時間間隔內接收不到一級節點(控制終端)的消息時,則可將該二級節點選取為新的一級節點,通過該新的一級節點向其他節點發送控制消息,保證系統的正常運行。本發明實施例所描述的控制終端所處的集群系統採用系統節點分級的方法,通過上一級節點向下一級節點下發信息或者通過上一級節點獲取下一級節點的狀態信息,可減少節點消息的擁塞,解決大規模集群系統的節點消息瓶頸問題,提高了系統的終端狀態機狀態轉換的效率和系統的可靠性,增強了系統的可用性和用戶體驗。
[0129]本發明實施例中所描述的控制終端可同時向所有的執行終端發送狀態機狀態轉換的控制消息,指示執行終端進行狀態機狀態轉換,並根據所有執行終端反饋的狀態信息更新各個執行終端的執行狀態,即本實施例中所描述的狀態機狀態轉換的控制命令和狀態同步?目息合一,提聞了控制終端消除時序和故障等異常場景的可罪性,提聞了狀態機狀態轉換的執行效率;本實施例中所描述的控制終端還可根據執行終端是否正常反饋狀態機狀態轉換的執行狀態信息來判斷執行終端是否處於正常連接狀態,還可支持系統的節點分級,進一步保證了狀態機狀態轉換的執行效率,提高了系統的終端狀態機狀態轉換的效率和大規模集群系統的可靠性,增強了系統可用性和用戶體驗。
[0130]參見圖7,是本發明實施例提供的終端的狀態機狀態轉換的方法的第三實施例流程示意圖。本實施例中所描述的終端的狀態機狀態轉換的方法,包括步驟:
[0131]S301,執行終端接收控制終端發送的狀態機狀態轉換的控制消息。
[0132]S302,所述執行終端根據所述狀態字和所述執行終端當前狀態機的狀態判斷是否執行狀態機狀態轉換,若判斷結果為是,則執行步驟S303,若判斷結果為否,則執行步驟S304。
[0133]S303,根據所述狀態字進行狀態機狀態轉換,並向所述控制終端反饋執行狀態信
肩、Ο
[0134]S304,向所述控制終端反饋執行狀態信息。
[0135]在一些可行的實施方式中,本發明實施例中所描述的執行終端為集群系統中所有節點對應的所有終端中除了控制終端以外的終端,執彳丁終端可從控制終端中猶取控制消息,根據控制消息的指示執行狀態機狀態轉換,實現系統的相應功能。具體實現中,當執行終端處於正常運作狀態時可實時接收終端發送的狀態機狀態轉換的控制消息,其中,上述執行終端從控制終端處接收到的狀態機狀態轉換的控制消息中包括用於指示執行終端進行狀態機狀態轉換的狀態字。例如,集群系統在執行軟體升級的功能時,需要完成以下幾個步驟:舊版本軟體的升級前檢測、舊版本軟體的卸載、新版本軟體的下載、新版本軟體的安裝、新版本軟體的啟動和驗證等,把上述每一個步驟定義為一個狀態,即軟體升級的整個過程中,系統的終端狀態機需要進行上述舊版本軟體的升級前檢測(簡稱為第一狀態)、舊版本軟體的卸載(簡稱為第二狀態)、新版本軟體的下載(簡稱為第三狀態)、新版本軟體的安裝(簡稱為第四狀態)、新版本軟體的啟動(簡稱為第五狀態)和驗證(簡稱為第六狀態)等狀態的轉換。具體實現中,可預先設定上述各個狀態對應的狀態字,例如,第一狀態對應的狀態字為Α,第二狀態對應的狀態字為Β,第三狀態對應的狀態字為C,第四狀態對應的狀態字為D,第五狀態對應的狀態字為Ε,第六狀態對應的狀態字為F等,控制終端需要執行終端進行狀態機狀態轉換時,則可向所有執行終端發送狀態機狀態轉換的狀態字,執行終端接收到控制終端發送的狀態字之後則可進行狀態機狀態轉換,將狀態機的狀態轉換至上述狀態字對應的狀態。
[0136]在一些可行的實施方式中,執行終端接收到控制終端發送的控制消息之後,則可根據上述控制消息中包括的狀態字和執行終端當前狀態機所處的狀態判斷是否執行狀態機狀態轉換。例如,當執行終端處於第一狀態時,若執行終端接收到控制終端發送的控制消息中包括的狀態字是狀態字Β時,則可判斷得知控制終端需要執行終端從第一狀態轉換至第二狀態時,執行終端接收到狀態字Β之後則可進行狀態機的狀態轉換,將狀態機的狀態從第一狀態轉換至第二狀態,並向控制終端反饋狀態機狀態轉換的執行狀態信息。當執行終端處於第二狀態時,若執行終端接收到控制終端發送的控制消息中包括的狀態字是狀態字Β時(由於控制終端是根據執行終端的執行狀態下發控制消息的,控制終端接收到執行終端反饋的狀態信息時,執行終端還處於正在進行狀態轉換的階段,執行進度還未達到100%,因此控制終端向當前的執行終端下發狀態字Β),則可判斷得知控制終端需要執行終端繼續進行狀態轉換,將狀態機的狀態轉換至第二狀態,執行終端接收到狀態字Β之後則可繼續進行狀態機的狀態轉換,將狀態機的狀態轉換至第二狀態,並向控制終端反饋狀態機狀態轉換的執行狀態信息。具體實現中,根據上述本發明實施例提供的終端的狀態機狀態轉換的方法的第一實施例中所描述的技術內容可知,控制終端可定時向執行終端發送控制消息,控制終端向執行終端發送控制消息時本次發送控制消息和上次發送控制小時存在時間間隔,因此可預先設定執行終端向控制終端反饋執行狀態信息的時間間隔,並通過控制消息將反饋的時間間隔發送給執行終端。執行終端根據控制終端發送的控制消息執行狀態機的狀態轉換之後,則可在預先設定的時間間隔內向控制終端反饋狀態機狀態轉換的執行狀態信息,控制終端可根據執行終端反饋的執行狀態信息更新執行終端的執行狀態,以更加準確的掌握執行終端的狀態。例如,當執行終端接收到狀態字B並進行狀態機狀態轉換之後,則可在預設的反饋時間間隔上向控制終端反饋執行終端進行狀態機狀態轉換的執行狀態,包括執行終端當前狀態機所處的狀態(例如第二狀態)和執行終端進行狀態機狀態轉換的執行進度(例如50%)。
[0137]在本發明實施例中,執行終端可實時接收控制終端發送的控制消息,根據控制消息中包括的狀態機狀態轉換的狀態字,結合執行終端當前狀態機的狀態進行狀態機的狀態轉換,並向控制終端反饋執行狀態信息。在本發明實施例中執行終端可根據控制終端發送的控制消息進行狀態機狀態轉換並反饋執行狀態信息,可提高執行終端進行狀態機狀態轉換的效率,增強狀態機狀態轉換的用戶體驗。
[0138]參見圖8,是本發明實施例提供的終端的狀態機狀態轉換的方法的第四實施例流程示意圖。本實施例中所描述的終端的狀態機狀態轉換的方法,包括步驟:
[0139]S401,執行終端接收控制終端發送的狀態機狀態轉換的控制消息。
[0140]在一些可彳丁的實施方式中,本發明實施例中所描述的執彳丁終端為集群系統中所有節點對應的所有終端中除了控制終端以外的終端,執彳丁終端可從控制終端中猶取控制消息,根據控制消息的指示執行狀態機狀態轉換,實現系統的相應功能。具體實現中,當執行終端處於正常運作狀態時可實時接收終端發送的狀態機狀態轉換的控制消息,其中,上述執行終端從控制終端處接收到的狀態機狀態轉換的控制消息中包括用於指示執行終端進行狀態機狀態轉換的狀態字。例如,集群系統在執行軟體升級的功能時,需要完成以下幾個步驟:舊版本軟體的升級前檢測、舊版本軟體的卸載、新版本軟體的下載、新版本軟體的安裝、新版本軟體的啟動和驗證等,把上述每一個步驟定義為一個狀態,即軟體升級的整個過程中,系統的終端狀態機需要進行上述舊版本軟體的升級前檢測(簡稱為第一狀態)、舊版本軟體的卸載(簡稱為第二狀態)、新版本軟體的下載(簡稱為第三狀態)、新版本軟體的安裝(簡稱為第四狀態)、新版本軟體的啟動(簡稱為第五狀態)和驗證(簡稱為第六狀態)等狀態的轉換。具體實現中,可預先設定上述各個狀態對應的狀態字,例如,第一狀態對應的狀態字為A,第二狀態對應的狀態字為B,第三狀態對應的狀態字為C,第四狀態對應的狀態字為D,第五狀態對應的狀態字為E,第六狀態對應的狀態字為F等,還可預先設定各個狀態字的大小,以供執行終端進行狀態字大小判斷並根據判斷結果決定是否執行狀態機狀態轉換,例如,由於A為第一狀態的狀態字,B為第二狀態的狀態字,執行終端需要完成第一狀態才能轉換至第二狀態,完成第二狀態才能轉換至第三狀態等,故此可設定第一狀態的狀態字A小於第二狀態的狀態字B,第二狀態的狀態字B小於第三狀態的狀態字C,並按照上述規則設定D、E、F的大小關係,即可設定上述6個狀態字A、B、C、D、E、F中,A最小,F最大等。控制終端需要執行終端進行狀態機狀態轉換時,則可向所有執行終端發送狀態機狀態轉換的狀態字,執行終端接收到控制終端發送的狀態字之後則可根據狀態機當前的狀態對應的狀態字與接收到的狀態字的大小關係判斷是否進行狀態機狀態轉換,判斷得知需要進行狀態機狀態轉換時則將狀態機的狀態轉換至接收到的狀態字對應的狀態,不需要進行狀態機狀態轉換則保持當前狀態。
[0141]S402,所述執行終端將從所述控制終端處接收到的所述狀態字與所述執行終端當前狀態機所處的狀態對應的狀態字進行比較。
[0142]S403,判斷所述接收到的狀態字是否大於所述狀態機所處的狀態對應的狀態字,若判斷結果為是,則執行步驟S404,若判斷結果為否,則執行步驟S405。
[0143]S404,根據所述狀態字進行狀態機狀態轉換,並向所述控制終端反饋執行狀態信
肩、Ο
[0144]S405,向所述控制終端反饋執行狀態信息。
[0145]在一些可行的實施方式中,執行終端接收到控制終端發送的控制消息之後,則可根據上述控制消息中包括的狀態字和執行終端當前狀態機所處的狀態判斷是否執行狀態機狀態轉換。具體的,執行終端可將接收到的狀態字與執行終端當前狀態機所處的狀態對應的狀態字進行比較,判斷接收到的狀態字是否大於狀態機所處的狀態對應的狀態字,若接收到的狀態字大於執行終端當前狀態機所處的狀態對應的狀態字,則可判斷得知控制終端需要執行終端將執行終端當前的狀態機狀態切換至下一個狀態,執行終端執行狀態機狀態轉換;若接收到的狀態字等於執行終端當前狀態機所處的狀態對應的狀態字,則可判斷得知控制終端需要執行終端繼續當前狀態的轉換(可能執行終端上次狀態轉換還未執行至100%),直至執行進度為100%,此時執行終端則不執行狀態機狀態轉換,而是繼續執行當前任務。例如,當執行終端處於第一狀態時,若執行終端接收到控制終端發送的控制消息中包括的狀態字是狀態字Β時,則可判斷得知控制終端需要執行終端從第一狀態轉換至第二狀態時,執行終端接收到狀態字Β之後則可進行狀態機的狀態轉換,將狀態機的狀態從第一狀態轉換至第二狀態,並向控制終端反饋狀態機狀態轉換的執行狀態信息。當執行終端處於第二狀態時,若執行終端接收到控制終端發送的控制消息中包括的狀態字是狀態字Β時(由於控制終端是根據執行終端的執行狀態下發控制消息的,控制終端接收到執行終端反饋的狀態信息時,執行終端還處於正在進行狀態轉換的階段,執行進度還未達到100%,因此控制終端向當前的執行終端下發狀態字Β),則可判斷得知控制終端需要執行終端繼續上一輪的狀態轉換,將狀態機的狀態轉換至第二狀態,執行終端接收到狀態字Β之後則可繼續上一輪的狀態機的狀態轉換,將狀態機的狀態完全轉換至第二狀態,並向控制終端反饋狀態機狀態轉換的執行狀態信息。具體實現中,根據上述本發明實施例提供的終端的狀態機狀態轉換的方法的第一實施例中所描述的技術內容可知,控制終端可定時向執行終端發送控制消息,控制終端向執行終端發送控制消息時本次發送控制消息和上次發送控制小時存在時間間隔,因此可預先設定執行終端向控制終端反饋執行狀態信息的時間間隔,並通過控制消息將反饋的時間間隔發送給執行終端。執行終端根據控制終端發送的控制消息執行狀態機的狀態轉換之後,則可在預先設定的時間間隔內向控制終端反饋狀態機狀態轉換的執行狀態信息,控制終端可根據執行終端反饋的執行狀態信息更新執行終端的執行狀態,以更加準確的掌握執行終端的狀態。具體實現中,上述執行終端向所述控制終端反饋的所述執行狀態信息中包括:執行終端當前狀態機所處的狀態,和執行終端進行狀態機狀態轉換的執行進度。例如,當執行終端接收到狀態字Β並進行狀態機狀態轉換之後,則可在預設的反饋時間間隔上向控制終端反饋執行終端進行狀態機狀態轉換的執行狀態,包括執行終端當前狀態機所處的狀態(例如第二狀態)和執行終端進行狀態機狀態轉換的執行進度(例如 50%)。
[0146]在一些可行的實施方式中,本發明實施中所描述的執行終端從控制終端處接收到的控制消息中還可包括:節點分級信息,上述節點分級信息中包括各個執行終端所處的節點等級,或者各個執行終端所管理的下一級執行終端的信息,其中,上述下一級執行終端的信息包括:下一級執行終端的個數和各個執行終端的標識等。具體實現中,當集群系統的規模較大時,為了保證系統具有更高的可靠性和可用性,可本發明實施例中所描述的執行終端所在的集群將系統中所有節點進行分級,例如一級節點、二級節點、三級節點等(如圖3),並設定執行終端進行狀態機狀態轉換的控制消息的傳送規則為高一級的節點向其下一級的節點(即其管理的下一級節點)傳送控制節點發送的控制消息,其中一級節點等級高於二級節點,二級節點的等級高於三級節點等。設定好系統中各個執行終端所屬的節點等級,或者各個執行終端所管理的下一級執行終端的信息之後,控制終端向所有執行終端發送控制消息時則可根據各個執行終端的執行狀態向所有執行終端發送狀態機狀態轉換的狀態字和節點分級信息,通過上述狀態字來指示各個執行終端進行狀態機狀態轉換,並通過上述節點分級信息指示相應的執行終端將控制信息下發給該執行終端所管理的下一級執行終端。如圖3,若系統中包括7個節點,則可預先定義控制終端為一級節點,並定義2個二級節點,每個二級節點管理兩個三級節點,控制終端可向二級節點發送控制消息(例如消息1),消息1中包括二級節點需要進行狀態機狀態轉換的狀態字和二級節點所處的節點等級(即二級)、以及二級節點所管理的下一級執行終端(三級節點)的信息。處於二級節點的執行終端接收到消息1之後則可向處於三級節點的執行終端下發控制終端發送的控制消息(例如消息2),消息2中包括處於三級節點的執行終端需要進行狀態機狀態轉換的狀態字和該執行終端所處的節點等級(即三級)、以及該執行終端所管理的下一級執行終端(0個)的信息。
[0147]具體實現中,執行終端接收到控制終端發送的上述控制消息之後則可根據控制消息中的狀態字執行狀態機狀態轉換並向控制終端反饋相應的狀態信息。具體的,如圖3,若上述執行終端處於三級節點,則可將狀態信息反饋給二級節點(如消息4)的執行終端,二級節點的執行終端接收到上述執行終端發送的消息之後,則可結合其自身需要向控制終端反饋的信息向控制終端反饋相應的狀態信息(如消息3),將其自身的執行狀態及其管理的下一級執行終端(如本實施例中所描述的執行終端)的執行狀態反饋給控制終端,控制終端可根據二級節點反饋的信息獲知系統中所有執行終端的執行狀態。
[0148]在一些可行的實施方式中,本發明實施例通過系統節點分級的方法,使得系統可支持任意節點故障,保障系統的可靠性。如圖4,當系統中任一節點(例如一級節點)發生故障時,系統還可根據預先設定的選取規則,從所有的二級節點中選取新的一級節點,接管原一級節點的任務。例如,當本實施例中所描述的執行終端(例如圖4中左起第一個二級節點)在預設的時間間隔內接收不到一級節點的消息時,上述執行終端則可擔任新的一級節點向其他節點發送控制消息,保證系統的正常運行。本發明實施例採用系統節點分級的方法,當前擔任執行終端的終端在控制終端出現異常時,也可擔任控制終端,行使控制終端的權利,執行控制終端的任務,提高了系統的終端狀態機狀態轉換的效率和系統的可靠性,增強了系統的可用性和用戶體驗。
[0149]在本發明實施例中,執行終端可實時接收控制終端發送的控制消息,根據控制消息中包括的狀態機狀態轉換的狀態字,結合執行終端當前狀態機的狀態進行狀態機的狀態轉換,並向控制終端反饋執行狀態信息;執行終端還可將控制終端發送的控制消息傳送給其管理的下一級的執行終端,並可在控制終端發送故障時擔任控制終端,執行控制終端的任務等。即在本發明實施例中執行終端可根據控制終端發送的控制消息進行狀態機狀態轉換並反饋執行狀態信息,還可傳送控制終端發送的控制消息或者擔任控制終端,可提高執行終端進行狀態機狀態轉換的效率,增強狀態機狀態轉換的用戶體驗,保障系統的可靠性和穩定性,提高系統的可用性和用戶體驗。
[0150]參見圖9,是本發明實施例提供的狀態機狀態轉換的執行終端的第一實施例結構示意圖。本實施例中所描述的執行終端,包括:
[0151]接收模塊50,用於接收控制終端發送的狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字。
[0152]判斷模塊60,用於根據所述接收模塊接收到的所述狀態字和所述執行終端當前狀態機的狀態判斷是否執行狀態機狀態轉換。
[0153]處理模塊70,用於在所述判斷模塊判斷結果為是時,根據所述接收模塊接收到的所述狀態字進行狀態機狀態轉換。
[0154]反饋模塊80,用於在所述處理模塊進行狀態機狀態轉換之後,向所述控制終端反饋執行狀態信息。
[0155]所述反饋模塊80,用於在所述判斷模塊判斷結果為否時,向所述控制終端反饋執行狀態信息。
[0156]在一些可行的實施方式中,本發明實施例中所描述的執行終端為集群系統中所有節點對應的所有終端中除了控制終端以外的終端,執彳丁終端可從控制終端中猶取控制消息,根據控制消息的指示執行狀態機狀態轉換,實現系統的相應功能。具體實現中,當執行終端處於正常運作狀態時,接收模塊50可實時接收控制終端發送的狀態機狀態轉換的控制消息,其中,上述執行終端的接收模塊50從控制終端處接收到的狀態機狀態轉換的控制消息中包括用於指示執行終端進行狀態機狀態轉換的狀態字。例如,集群系統在執行軟體升級的功能時,需要完成以下幾個步驟:舊版本軟體的升級前檢測、舊版本軟體的卸載、新版本軟體的下載、新版本軟體的安裝、新版本軟體的啟動和驗證等,把上述每一個步驟定義為一個狀態,即軟體升級的整個過程中,系統的終端狀態機需要進行上述舊版本軟體的升級前檢測(簡稱為第一狀態)、舊版本軟體的卸載(簡稱為第二狀態)、新版本軟體的下載(簡稱為第三狀態)、新版本軟體的安裝(簡稱為第四狀態)、新版本軟體的啟動(簡稱為第五狀態)和驗證(簡稱為第六狀態)等狀態的轉換。具體實現中,可預先設定上述各個狀態對應的狀態字,例如,第一狀態對應的狀態字為A,第二狀態對應的狀態字為B,第三狀態對應的狀態字為C,第四狀態對應的狀態字為D,第五狀態對應的狀態字為E,第六狀態對應的狀態字為F等,控制終端需要執行終端進行狀態機狀態轉換時,則可向所有執行終端發送狀態機狀態轉換的狀態字,執行終端通過接收模塊50接收到控制終端發送的狀態字之後則可進行狀態機狀態轉換,將狀態機的狀態轉換至上述狀態字對應的狀態。
[0157]在一些可行的實施方式中,執行終端的接收模塊50接收到控制終端發送的控制消息之後,判斷模塊60則可根據上述控制消息中包括的狀態字和執行終端當前狀態機所處的狀態判斷是否執行狀態機狀態轉換。例如,當執行終端處於第一狀態時,若判斷模塊60判斷得知接收模塊50接收到控制終端發送的控制消息中包括的狀態字是狀態字B時,則可判斷得知控制終端需要執行終端從第一狀態轉換至第二狀態時,執行終端接收到狀態字B之後則可通過處理模塊70進行狀態機的狀態轉換,將狀態機的狀態從第一狀態轉換至第二狀態,並通過反饋模塊80向控制終端反饋狀態機狀態轉換的執行狀態信息。當執行終端處於第二狀態時,若判斷模塊60判斷得知執行終端接收到控制終端發送的控制消息中包括的狀態字是狀態字B時(由於控制終端是根據執行終端的執行狀態下發控制消息的,控制終端接收到執行終端反饋的狀態信息時,執行終端還處於正在進行狀態轉換的階段,執行進度還未達到100%,因此控制終端向當前的執行終端下發狀態字B),則可判斷得知控制終端需要執行終端繼續進行狀態轉換,將狀態機的狀態轉換至第二狀態,執行終端接收到狀態字B之後則可通過處理模塊70繼續進行狀態機的狀態轉換,將狀態機的狀態轉換至第二狀態,並通過反饋模塊80向控制終端反饋狀態機狀態轉換的執行狀態信息。具體實現中,控制終端可定時向執行終端發送控制消息,控制終端向執行終端發送控制消息時本次發送控制消息和上次發送控制小時存在時間間隔,因此可預先設定執行終端向控制終端反饋執行狀態信息的時間間隔,控制終端可通過控制消息將反饋的時間間隔發送給執行終端。執行終端的處理模塊70根據接收模塊50接收到的控制終端發送的控制消息執行狀態機的狀態轉換之後,則可在預先設定的時間間隔內通過反饋模塊80向控制終端反饋狀態機狀態轉換的執行狀態信息,控制終端可根據執行終端反饋的執行狀態信息更新執行終端的執行狀態,以更加準確的掌握執行終端的狀態。例如,當執行終端接收到狀態字B並進行狀態機狀態轉換之後,反饋模塊80則可在預設的反饋時間間隔上向控制終端反饋執行終端進行狀態機狀態轉換的執行狀態,包括執行終端當前狀態機所處的狀態(例如第二狀態)和執行終端進行狀態機狀態轉換的執行進度(例如50%)。
[0158]本發明實施例中所描述的執行終端可實時接收控制終端發送的控制消息,根據控制消息中包括的狀態機狀態轉換的狀態字,結合執行終端當前狀態機的狀態進行狀態機的狀態轉換,並向控制終端反饋執行狀態信息。本發明實施例中所描述的執行終端可根據控制終端發送的控制消息進行狀態機狀態轉換並反饋執行狀態信息,可提高狀態機狀態轉換的效率,增強狀態機狀態轉換的用戶體驗。
[0159]參見圖10,是本發明實施例提供的狀態機狀態轉換的執行終端的第二實施例結構示意圖。本實施例中所描述的執行終端,包括:
[0160]接收模塊50,用於接收控制終端發送的狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字。
[0161]判斷模塊61,用於根據所述接收模塊接收到的所述狀態字和所述執行終端當前狀態機的狀態判斷是否執行狀態機狀態轉換。
[0162]處理模塊70,用於在所述判斷模塊判斷結果為是時,根據所述接收模塊接收到的所述狀態字進行狀態機狀態轉換。
[0163]反饋模塊80,用於在所述處理模塊進行狀態機狀態轉換之後,向所述控制終端反饋執行狀態信息。
[0164]所述反饋模塊80,用於在所述判斷模塊判斷結果為否時,向所述控制終端反饋執行狀態信息。
[0165]在一些可行的實施方式中,上述判斷模塊61,具體用於:
[0166]將從所述控制終端處接收到的所述狀態字與所述執行終端當前狀態機所處的狀態對應的狀態字進行比較,判斷所述接收到的狀態字是否大於所述狀態機所處的狀態對應的狀態字;[0167]若判斷結果為是,則判定執行狀態機狀態轉換;
[0168]若判斷結果為否,則判定不執行狀態機狀態轉換。
[0169]在一些可行的實施方式中,本發明實施例中所描述的執行終端為集群系統中所有節點對應的所有終端中除了控制終端以外的終端,執彳丁終端可從控制終端中猶取控制消息,根據控制消息的指示執行狀態機狀態轉換,實現系統的相應功能。具體實現中,當執行終端處於正常運作狀態時可,接收模塊50可實時接收控制終端發送的狀態機狀態轉換的控制消息,其中,上述執行終端的接收模塊50從控制終端處接收到的狀態機狀態轉換的控制消息中包括用於指示執行終端進行狀態機狀態轉換的狀態字。例如,集群系統在執行軟體升級的功能時,需要完成以下幾個步驟:舊版本軟體的升級前檢測、舊版本軟體的卸載、新版本軟體的下載、新版本軟體的安裝、新版本軟體的啟動和驗證等,把上述每一個步驟定義為一個狀態,即軟體升級的整個過程中,系統的終端狀態機需要進行上述舊版本軟體的升級前檢測(簡稱為第一狀態)、舊版本軟體的卸載(簡稱為第二狀態)、新版本軟體的下載(簡稱為第三狀態)、新版本軟體的安裝(簡稱為第四狀態)、新版本軟體的啟動(簡稱為第五狀態)和驗證(簡稱為第六狀態)等狀態的轉換。具體實現中,可預先設定上述各個狀態對應的狀態字,例如,第一狀態對應的狀態字為A,第二狀態對應的狀態字為B,第三狀態對應的狀態字為C,第四狀態對應的狀態字為D,第五狀態對應的狀態字為E,第六狀態對應的狀態字為F等,還可預先設定各個狀態字的大小,以供執行終端進行狀態字大小判斷並根據判斷結果決定是否執行狀態機狀態轉換,例如,由於A為第一狀態的狀態字,B為第二狀態的狀態字,執行終端需要完成第一狀態才能轉換至第二狀態,完成第二狀態才能轉換至第三狀態等,故此可設定第一狀態的狀態字A小於第二狀態的狀態字B,第二狀態的狀態字B小於第三狀態的狀態字C,並按照上述規則設定D、E、F的大小關係,即可設定上述6個狀態字A、B、C、D、E、F中,A最小,F最大等。控制終端需要執行終端進行狀態機狀態轉換時,則可向所有執行終端發送狀態機狀態轉換的狀態字,執行終端通過接收模塊50接收到控制終端發送的狀態字之後則可根據狀態機當前的狀態對應的狀態字與接收到的狀態字的大小關係判斷是否進行狀態機狀態轉換,判斷得知需要進行狀態機狀態轉換時則將狀態機的狀態轉換至接收到的狀態字對應的狀態,不需要進行狀態機狀態轉換則保持當前狀態。
[0170]在一些可行的實施方式中,執行終端的接收模塊50接收到控制終端發送的控制消息之後,判斷模塊61則可根據上述控制消息中包括的狀態字和執行終端當前狀態機所處的狀態判斷是否執行狀態機狀態轉換。具體的,判斷模塊61可將接收到的狀態字與執行終端當前狀態機所處的狀態對應的狀態字進行比較,判斷接收到的狀態字是否大於狀態機所處的狀態對應的狀態字,若接收到的狀態字大於執行終端當前狀態機所處的狀態對應的狀態字,則可判斷得知控制終端需要執行終端將執行終端當前的狀態機狀態切換至下一個狀態,執行終端則可通過處理模塊70執行狀態機狀態轉換;若判斷模塊61判斷得知接收模塊50接收到的狀態字等於執行終端當前狀態機所處的狀態對應的狀態字,則可判斷得知控制終端需要執行終端繼續當前狀態的轉換(可能執行終端上次狀態轉換還未執行至100%),直至執行進度為100%,此時處理模塊70則不執行狀態機狀態轉換,而是繼續執行當前任務。例如,當執行終端處於第一狀態時,若判斷模塊61判斷得知接收模塊50接收到控制終端發送的控制消息中包括的狀態字是狀態字B時,則可判斷得知控制終端需要執行終端從第一狀態轉換至第二狀態時,執行終端的接收模塊50接收到狀態字B之後,處理模塊70則可進行狀態機的狀態轉換,將狀態機的狀態從第一狀態轉換至第二狀態,並通過反饋模塊80向控制終端反饋狀態機狀態轉換的執行狀態信息。當執行終端處於第二狀態時,若判斷模塊61判斷得知接收模塊50接收到控制終端發送的控制消息中包括的狀態字是狀態字B時(由於控制終端是根據執行終端的執行狀態下發控制消息的,控制終端接收到執行終端反饋的狀態信息時,執行終端還處於正在進行狀態轉換的階段,執行進度還未達到100%,因此控制終端向當前的執行終端下發狀態字B),則可判斷得知控制終端需要執行終端繼續上一輪的狀態轉換,將狀態機的狀態轉換至第二狀態,執行終端的接收模塊50接收到狀態字B之後,處理模塊70則可繼續上一輪的狀態機的狀態轉換,將狀態機的狀態完全轉換至第二狀態,並通過反饋模塊80向控制終端反饋狀態機狀態轉換的執行狀態信息。具體實現中,控制終端可定時向執彳丁終端發送控制消息,控制終端向執彳丁終端發送控制消息時本次發送控制消息和上次發送控制小時存在時間間隔,因此可預先設定執行終端向控制終端反饋執行狀態信息的時間間隔,控制終端可通過控制消息將反饋的時間間隔發送給執行終端。執行終端根據控制終端發送的控制消息執行狀態機的狀態轉換之後,反饋模塊80則可在預先設定的時間間隔內向控制終端反饋狀態機狀態轉換的執行狀態信息,控制終端可根據執行終端反饋的執行狀態信息更新執行終端的執行狀態,以更加準確的掌握執行終端的狀態。具體實現中,上述反饋模塊80向所述控制終端反饋的所述執行狀態信息中包括:執行終端當前狀態機所處的狀態,和執行終端進行狀態機狀態轉換的執行進度。例如,當執行終端的接收模塊50接收到狀態字B並進行狀態機狀態轉換之後,反饋模塊80則可在預設的反饋時間間隔上向控制終端反饋執行終端進行狀態機狀態轉換的執行狀態,包括執行終端當前狀態機所處的狀態(例如第二狀態)和執行終端進行狀態機狀態轉換的執行進度(例如50%)。
[0171]在一些可行的實施方式中,上述接收模塊50接收到的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息;
[0172]本實施例中所描述的執行終端,還包括:
[0173]發送模塊90,用於根據所述節點分級信息中指示的所述執行終端所管理的下一級執行終端的信息,將所述從所述控制終端處接收的控制信息傳送給所述執行終端所管理的執行終端。
[0174]在一些可行的實施方式中,本發明實施中所描述的執行終端從控制終端處接收到的控制消息中還可包括:節點分級信息,上述節點分級信息中包括各個執行終端所處的節點等級,或者各個執行終端所管理的下一級執行終端的信息,其中,上述下一級執行終端的信息包括:下一級執行終端的個數和各個執行終端的標識等。具體實現中,當集群系統的規模較大時,為了保證系統具有更高的可靠性和可用性,可將本發明實施例中所描述的執行終端所在的集群系統中所有節點進行分級,例如一級節點、二級節點、三級節點等(如圖3),並設定執行終端進行狀態機狀態轉換的控制消息的傳送規則為高一級的節點向其下一級的節點(即其管理的下一級節點)傳送控制節點發送的控制消息,其中一級節點等級高於二級節點,二級節點的等級高於三級節點等。設定好系統中各個執行終端所屬的節點等級,或者各個執行終端所管理的下一級執行終端的信息之後,控制終端向所有執行終端發送控制消息時則可根據各個執行終端的執行狀態向所有執行終端發送狀態機狀態轉換的狀態字和節點分級信息,通過上述狀態字來指示各個執行終端進行狀態機狀態轉換,並通過上述節點分級信息指示相應的執行終端將控制信息下發給該執行終端所管理的下一級執行終端。如圖3,若系統中包括7個節點,則可預先定義控制終端為一級節點,並定義2個二級節點,每個二級節點管理兩個三級節點,控制終端可向二級節點發送控制消息(例如消息1),消息1中包括二級節點需要進行狀態機狀態轉換的狀態字和二級節點所處的節點等級(即二級)、以及二級節點所管理的下一級執行終端(三級節點)的信息。處於二級節點的執行終端(具體可為本發明實施例中所描述的執行終端)接收到消息1之後則可向處於三級節點的執行終端下發控制終端發送的控制消息(例如消息2),消息2中包括處於三級節點的執行終端需要進行狀態機狀態轉換的狀態字和該執行終端所處的節點等級(即三級)、以及該執行終端所管理的下一級執行終端(0個)的信息。
[0175]具體實現中,執行終端接收到控制終端發送的上述控制消息之後則可根據控制消息中的狀態字執行狀態機狀態轉換並向控制終端反饋相應的狀態信息。具體的,如圖3,若上述執行終端處於三級節點,則可將狀態信息反饋給二級節點(如消息4)的執行終端,二級節點的執行終端接收到上述執行終端發送的消息之後,則可結合其自身需要向控制終端反饋的信息向控制終端反饋相應的狀態信息(如消息3),將其自身的執行狀態及其管理的下一級執行終端(如本實施例中所描述的執行終端)的執行狀態反饋給控制終端,控制終端可根據二級節點反饋的信息獲知系統中所有執行終端的執行狀態。當執行終端的接收模塊50接收到的控制消息中包括該執行終端所管理的下一級執行終端的信息時,執行終端則可通過發送模塊90將接收模塊50接收到的狀態機狀態轉換的狀態字等信息發送給下一級執行終端。具體的,發送模塊90可根據接收模塊50接收到的控制消息中的節點分級信息,獲取該執行終端所管理的下一級執行終端的信息,根據獲取到的信息將從接收模塊50從控制終端處接收的控制信息傳送給下一級執行終端,並通過接收模塊接收下一級執行終端反饋的執行狀態信息,通過反饋模塊將其自身的執行狀態信息和其管理的下一級執行終端的執行狀態信息反饋給控制終端。
[0176]在一些可行的實施方式中,本發明實施例中所描述的執行終端所在的集群系統可通過系統節點分級的方法,使得系統可支持任意節點故障,保障系統的可靠性。如圖4,當系統中任一節點(例如一級節點)發生故障時,系統還可根據預先設定的選取規則,從所有的二級節點中選取新的一級節點,接管原一級節點的任務。例如,當本實施例中所描述的執行終端(例如圖4中左起第一個二級節點)在預設的時間間隔內接收不到一級節點的消息時,上述執行終端則可擔任新的一級節點向其他節點發送控制消息,保證系統的正常運行。本發明實施例所描述的執行終端在控制終端出現異常時,也可擔任控制終端,行使控制終端的權利,執行控制終端的任務,可提高系統的終端狀態機狀態轉換的效率和系統的可靠性,增強了系統的可用性和用戶體驗。
[0177]本發明實施例中所描述的執行終端可實時接收控制終端發送的控制消息,根據控制消息中包括的狀態機狀態轉換的狀態字,結合執行終端當前狀態機的狀態進行狀態機的狀態轉換,並向控制終端反饋執行狀態信息;本發明實施例中所描述的執行終端還可將控制終端發送的控制消息傳送給其管理的下一級的執行終端,並可在控制終端發送故障時擔任控制終端,執行控制終端的任務等。即本發明實施例中所描述的執行終端可根據控制終端發送的控制消息進行狀態機狀態轉換並反饋執行狀態信息,還可傳送控制終端發送的控制消息或者擔任控制終端,可提高執行終端進行狀態機狀態轉換的效率,增強狀態機狀態轉換的用戶體驗,保障系統的可靠性和穩定性,提高系統的可用性和用戶體驗。
[0178]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0179]以上所揭露的僅為本發明較佳實施例而已,當然不能以此來限定本發明之權利範圍,因此依本發明權利要求所作的等同變化,仍屬本發明所涵蓋的範圍。
【權利要求】
1.一種終端的狀態機狀態轉換的方法,其特徵在於,包括:控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字;所述控制終端接收所述各執行終端反饋的狀態信息,所述狀態信息為所述執行終端根據所述控制消息進行狀態機狀態轉換後反饋的執行狀態信息;所述控制終端根據所述各執行終端反饋的狀態信息更新所述各執行終端的執行狀態,以根據更新後的所述各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的下一個控制消息。
2.如權利要求1所述的方法,其特徵在於,所述狀態機轉換的控制消息中還包括:根據所述控制消息中的狀態字進行狀態轉換的執行對象;其中,所述執行對象為所述所有所述執行終端中至少一個所述執行終端。
3.如權利要求1或2所述的方法,其特徵在於,所述各執行終端的執行狀態包括:所述各執行終端當前狀態機所處的狀態和所述各執行終端進行狀態機狀態轉換的執行進度。
4.如權利要求3所述的方法,其特徵在於,所述控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,包括:所述控制終端根據所述各執行終端當前狀態機所處的狀態判斷所有所述執行終端當前狀態機是否處於同一個狀態;若所述所有所述執行終端當前狀態機都處於同一個狀態,則根據所述各所述執行終端進行狀態機狀態轉換的 執行進度判斷所述所有所述執行終端是否已完成狀態機狀態轉換;若所述所有所述執行終端都已完成狀態機狀態轉換,則向所述所有所述執行終端下發狀態機狀態轉換的第一狀態字,若所述所有所述執行終端中有未完成狀態機狀態轉換的所述執行終端,則向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字;若所述所有所述執行終端當前狀態機未處同一個狀態,則向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字。
5.如權利要求1-4任意一項所述的方法,其特徵在於,所述狀態機狀態轉換的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息;所述控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,包括:所述控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的狀態字和節點分級信息,以指示所述各執行終端進行狀態機狀態轉換,並通過所述各執行終端將所述控制消息下發給所述各執行終端所管理的下一級執行終端。
6.一種終端的狀態機狀態轉換的方法,其特徵在於,包括:執行終端接收控制終端發送的狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字;所述執行終端根據所述狀態字和所述執行終端當前狀態機的狀態判斷是否執行狀態機狀態轉換;若判斷結果為是,則根據所述狀態字進行狀態機狀態轉換,並向所述控制終端反饋執行狀態信息;若判斷結果為否,則向所述控制終端反饋執行狀態信息。
7.如權利要求6所述的方法,其特徵在於,所述執行終端向所述控制終端反饋的所述執行狀態信息中包括:所述執行終端當前狀態機所處的狀態,和所述執行終端進行狀態機狀態轉換的執行進度。
8.如權利要求6或7所述的方法,其特徵在於,所述執行終端根據所述狀態字和所述執行終端當前狀態機的狀態判斷是否執行狀態機狀態轉換,包括:所述執行終端將從所述控制終端處接收到的所述狀態字與所述執行終端當前狀態機所處的狀態對應的狀態 字進行比較,判斷所述接收到的狀態字是否大於所述狀態機所處的狀態對應的狀態字;若判斷結果為是,則執行狀態機狀態轉換;若判斷結果為否,則不執行狀態機狀態轉換。
9.如權利要求6-8所述的方法,其特徵在於,所述執行終端從所述控制終端處接收到的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息;所述執行終端接收控制終端發送的狀態機狀態轉換的控制消息之後,所述方法還包括:所述執行終端根據所述節點分級信息中指示的所述執行終端所管理的下一級執行終端的信息,將所述從所述控制終端處接收的控制信息傳送給所述執行終端所管理的執行終端。
10.一種狀態機狀態轉換的控制終端,其特徵在於,包括:發送模塊,用於根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字;接收模塊,用於接收所述各執行終端反饋的狀態信息,所述狀態信息為所述執行終端根據所述控制消息進行狀態機狀態轉換後反饋的執行狀態信息;更新模塊,用於根據所述各執行終端反饋的狀態信息更新所述各執行終端的執行狀態,以通過所述發送模塊根據更新後的所述各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的下一個控制消息。
11.如權利要求10所述的控制終端,其特徵在於,所述發送模塊發送的所述狀態機轉換的控制消息中還包括:根據所述控制消息中的狀態字進行狀態轉換的執行對象;其中,所述執行對象為所述所有所述執行終端中至少一個所述執行終端。
12.如權利要求10或11所述的控制終端,其特徵在於,所述各執行終端的執行狀態包括:所述各執行終端當前狀態機所處的狀態和所述各執行終端進行狀態機狀態轉換的執行進度。
13.如權利要求12所述的控制終端,其特徵在於,所述發送模塊,包括:第一判斷單元,用於根據所述各執行終端當前狀態機所處的狀態判斷所有所述執行終端當前狀態機是否處於同一個狀態;第二判斷單元,用於在所述第一判斷單元判斷結果為是時,根據所述各所述執行終端進行狀態機狀態轉換的執行進度判斷所述所有所述執行終端是否已完成狀態機狀態轉換;發送單元,用於在所述第二判斷單元判斷結果為是時,向所述所有所述執行終端下發狀態機狀態轉換的第一狀態字;所述發送單元,用於在所述第二判斷單元判斷結果為否時,向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字;所述發送單元,還用於在所述第一判斷單元判斷結果為否時,向所述所有所述執行終端下發狀態機狀態轉換的第二狀態字。
14.如權利要求10-13任意一項所述的控制終端,其特徵在於,所述發送模塊發送的所述狀態機狀態轉換的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息; 所述發送模塊,還具體用於:所述控制終端根據各執行終端的執行狀態向所有所述執行終端發送狀態機狀態轉換的狀態字和節點分級信息,以指示所述各執行終端進行狀態機狀態轉換,並通過所述各執行終端將所述控制消息下發給所述各執行終端所管理的下一級執行終端。
15.一種狀態機狀態轉換的執行終端,其特徵在於,包括:接收模塊,用於接收控制終端發送的狀態機狀態轉換的控制消息,所述控制消息中包括用於指示所述執行終端進行狀態機狀態轉換的狀態字;判斷模塊,用於根據所述接收模塊接收到的所述狀態字和所述執行終端當前狀態機的狀態判斷是否執行狀態機狀態轉換;處理模塊,用於在所述判斷模塊判斷結果為是時,根據所述接收模塊接收到的所述狀態字進行狀態機狀態轉換;反饋模塊,用於在所述處理模塊進行狀態機狀態轉換之後,向所述控制終端反饋執行狀態信息;所述反饋模塊,用於在所述判斷模塊判斷結果為否時,向所述控制終端反饋執行狀態信息。
16.如權利要求15所述的執行終端,其特徵在於,所述反饋模塊向所述控制終端反饋的所述執行狀態信息中包括:所述執行終端當前狀態機所處的狀態,和所述執行終端進行狀態機狀態轉換的執行進度。
17.如權利要求15或16所述的執行終端,其特徵在於,所述判斷模塊具體用於:將從所述控制終端處接收到的所述狀態字與所述執行終端當前狀態機所處的狀態對應的狀態字進行比較,判斷所述接收到的狀態字是否大於所述狀態機所處的狀態對應的狀態字;若判斷結果為是,則判定執行狀態機狀態轉換;若判斷結果為否,則判定不執行狀態機狀態轉換。
18.如權利要求15-17所述的執行終端,其特徵在於,所述接收模塊接收到的控制消息中還包括:節點分級信息,所述節點分級信息中包括所述各執行終端所處的節點等級,或者所述各執行終端所管理的下一級執行終端的信息;所述執行終端,還包括:發送模塊,用於根據所述節點分級信息中指示的所述執行終端所管理的下一級執行終端的信息,將所述從所述控制終端處接收的控制信息傳送給所述執行終端所管理的執行終端。`
【文檔編號】H04L12/24GK103747034SQ201310712480
【公開日】2014年4月23日 申請日期:2013年12月20日 優先權日:2013年12月20日
【發明者】段志遠 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀