本技術涉及云計算,具體而言,本技術涉及一種指令發送方法、指令執行方法及相關裝置。
背景技術:
1、隨著云計算的發展,云服務提供商后臺的網絡架構也變得更加復雜,為了能支撐各種形式的業務調度,通常采用在云端部署網絡控制設備,來對各地各機房不同種類的網絡設備下發控制指令。
2、而隨著云服務商上各種網絡業務越來越多,業務控制設備的種類也越來越多,每種業務控制設備都需要對接各種設備,并實現配置下發、版本管理、一致性管理等能力,系統架構變得非常龐大且冗余,導致多業務下發時,網絡設備執行業務控制指令的效率較低。
技術實現思路
1、本技術實施例提供了一種指令發送方法、指令執行方法及相關裝置,用于解決多業務下發時,設備執行業務控制指令的效率較低的技術問題。
2、一方面,本技術實施例提供了一種指令發送方法,包括:
3、接收來自業務控制設備的至少一個業務控制請求,并對接收到的各業務控制請求進行指令發送處理,各業務控制請求包括至少一類待執行指令;
4、其中,對于每一業務控制請求,指令發送處理,包括:
5、對于業務控制請求中的每一類待執行指令,向待執行指令配置目標執行標識,其中,同類待執行指令對應的目標執行標識用于指示同類待執行指令被執行的順序,同類待執行指令在不同業務控制請求中所對應的目標執行標識不同;
6、基于待執行指令對應的目標執行標識,向被控設備發送待執行指令中的第一目標指令,以使得被控設備執行第一目標指令。
7、另一方面,本技術實施例還提供了一種指令執行方法,包括:
8、接收來自指令管控平臺的第一目標指令,第一目標指令是指令管控平臺基于本技術任一實施例方法得到的;
9、執行接收到的第一目標指令。
10、另一方面,本技術實施例還提供了一種指令發送裝置,包括:
11、指令發送模塊,用于接收來自業務控制設備的至少一個業務控制請求,并對接收到的各業務控制請求進行指令發送處理,各業務控制請求包括至少一類待執行指令;
12、其中,對于每一業務控制請求,指令發送模塊在進行指令發送處理時,用于:
13、對于業務控制請求中的每一類待執行指令,向待執行指令配置目標執行標識,其中,同類待執行指令對應的目標執行標識用于指示同類待執行指令被執行的順序,同類待執行指令在不同業務控制請求中所對應的目標執行標識不同;
14、基于待執行指令對應的目標執行標識,向被控設備發送待執行指令中的第一目標指令,以使得被控設備執行第一目標指令。
15、可選的,指令發送模塊在向待執行指令配置目標執行標識時,可以用于以下的至少一項:
16、獲取待執行指令關聯的當前版本號,并基于當前版本號和預設的版本號更新步長,確定待執行指令的目標版本號,以及將待執行指令的目標版本號確定為待執行指令的目標執行標識;
17、獲取待執行指令的累計計數值,并基于累計計數值和待執行指令對應的初始版本號確定待執行指令的目標版本號,以及將待執行指令的目標版本號確定為待執行指令的目標執行標識。
18、可選的,指令發送模塊在基于待執行指令對應的目標執行標識,向被控設備發送待執行指令中的第一目標指令時,可以用于:
19、基于待執行指令對應的目標版本號,向被控設備發送滿足第一預設條件的第一目標指令,第一預設條件包括以下的至少一項:
20、待執行指令的目標版本號與待執行指令對應的基準版本號之差為版本號更新步長;
21、待執行指令的目標版本號與待執行指令對應的基準版本號之間的版本號差值最小且目標版本號與基準版本號不同。
22、可選的,若存在與第一目標指令屬于同一類的其他待執行指令,則在向被控設備發送滿足第一預設條件的第一目標指令之后,指令發送模塊還用于:
23、將第一目標指令的目標版本號配置為第一目標指令對應的新的基準版本號,以基于新的基準版本號從其他待執行指令中確定出新的第一目標指令。
24、可選的,指令發送模塊在基于待執行指令對應的目標執行標識,向被控設備發送待執行指令中的第一目標指令時,可以用于以下的至少一項:
25、對于不同業務控制請求中的同類待執行指令,基于不同業務控制請求中的同類待執行指令對應的目標執行標識,依次向被控設備發送同類待執行指令中的第一目標指令;
26、對于同一業務控制請求中的多個待執行指令,基于同一業務控制請求中配置的各待執行指令的執行順序,依次向被控設備發送多個待執行指令中的第一目標指令。
27、可選的,多個待執行指令的其中一個第一待執行指令與多個待執行指令中的至少一個第二待執行指令具有層級關聯關系,第二待執行指令為多個待執行指令中除第一待執行指令外的指令,指令發送模塊基于同一業務控制請求中配置的各待執行指令的執行順序,依次向被控設備發送多個待執行指令中的第一目標指令時,可以用于:
28、在第一待執行指令與各第二待執行指令均滿足第一預設條件的情況下,基于同一業務控制請求中配置的第一待執行指令和第二待執行指令的執行順序,依次向被控設備發送第一待執行指令和第二待執行指令中的第一目標指令;
29、其中,目標執行標識包括目標版本號,第一預設條件包括以下的至少一項:
30、待執行指令的目標版本號與待執行指令對應的基準版本號之差為版本號更新步長;
31、待執行指令的目標版本號與待執行指令對應的基準版本號之間的版本號差值最小且目標版本號與基準版本號不同。
32、可選的,指令發送模塊在向待執行指令配置目標執行標識時,可以用于:
33、獲取具有層級關聯關系的各待執行指令關聯的標識配置屬性;
34、若具有層級關聯關系的其中一個待執行指令關聯的標識配置屬性被占用,則等待至具有層級關聯關系的各待執行指令關聯的標識配置屬性未被占用的情況下,向具有層級關聯關系的各待執行指令配置目標執行標識;
35、若具有層級關聯關系的任一待執行指令關聯的標識配置屬性未被占用,則占用具有層級關聯關系的任一待執行指令關聯的標識配置屬性,并配置具有層級關聯關系的各待執行指令的目標執行標識,以及在具有層級關聯關系的各待執行指令的目標執行標識配置完成的情況下,釋放占用的具有層級關聯關系的各待執行指令關聯的標識配置屬性;
36、其中,標識配置屬性被占用表示正在配置執行標識。
37、另一方面,本技術實施例還提供了一種指令執行裝置,包括:
38、接收模塊,用于接收來自指令管控平臺的第一目標指令,第一目標指令是指令管控平臺基于本技術任一實施例方法得到的;
39、指令執行模塊,用于執行接收到的第一目標指令。
40、可選的,指令執行模塊在執行接收到的第一目標指令時,可以用于以下的任一項:
41、基于第一目標指令的接收順序,依次執行第一目標指令;
42、基于各第一目標指令對應的目標執行標識,依次從第一目標指令中確定出第二目標指令,并執行第二目標指令。
43、可選的,指令執行模塊在基于各第一目標指令對應的目標執行標識,依次從第一目標指令中確定出第二目標指令時,可以用于:
44、基于各第一目標指令對應的目標版本號,依次從第一目標指令中確定出滿足第二預設條件的第二目標指令,第二預設條件包括以下的至少一項:
45、第一目標指令的目標版本號與第一目標指令對應的基準版本號之差為預設的版本號更新步長;
46、第一目標指令的目標版本號與第一目標指令對應的基準版本號之間的版本號差值最小且目標版本號與基準版本號不同。
47、另一方面,本技術實施例還提供了一種電子設備,包括存儲器、處理器及存儲在存儲器上的計算機程序,處理器執行計算機程序以實現本技術任一實施例方法。
48、另一方面,本技術實施例還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,計算機程序被處理器執行時實現本技術任一實施例方法。
49、另一方面,本技術實施例還提供了一種計算機程序產品,包括計算機程序,計算機程序被處理器執行時實現本技術任一實施例方法。
50、本實施例的技術方案,通過接收來自業務控制設備的至少一個業務控制請求,并對接收到的各業務控制請求進行指令發送處理,而對于業務控制請求中的每一類待執行指令,向待執行指令配置目標執行標識,且基于待執行指令對應的目標執行標識,向被控設備發送待執行指令中的第一目標指令,以使得被控設備執行第一目標指令,則即使在一個業務的配置可能涉及到幾十條連續指令的下發,也能夠使得多個業務控制請求并發下發,通過單條指令的目標執行標識來控制被控設備執行指令的順序,會比每條請求都加分布式鎖的效率高很多,由此能夠提高被控設備執行業務控制指令的效率。