999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于行為樹的組網服務管控架構及調度方法

2024-11-22 00:00:00宋睿濤高先明黃姣蕊楊春剛黃韜李芫芫
系統工程與電子技術 2024年10期

摘 要:傳統互聯網為實現端到端安全、可靠、實時的網絡業務保障,需要在網元節點部署多類組網服務。然而,現有大多數網絡設備只提供網絡接入和路由等服務功能,缺乏安全、可靠、實時的服務設計。基于開源網絡操作系統(software for open networking in the cloud, SONiC)、容器技術和行為樹設計一種組網服務管控架構及調度方法,實現面向網絡業務保障的組網服務部署,將組網服務部署可編程網絡設備進行統一管理和調度,并進行仿真測試。所述組網服務管控架構及調度方法進一步增強了網絡設備能力,利用行為樹高效協調管控調度過程中的狀態轉化,保障組網服務的交付質量。

關鍵詞: 行為樹; 容器技術; SONiC; 組網服務調度

中圖分類號: TP 273 文獻標志碼: A""" DOI:10.12305/j.issn.1001-506X.2024.10.31

Behavior tree based management and control architecture and

scheduling method for networking service

SONG Ruitao GAO Xianming HUANG Jiaorui YANG Chungang1,3, HUANG Tao3, LI Yuanyuan1

(1. School of Telcommunication Engineering, Xidian University, Xi’an 71007 China;

2. Institute of Systems Engineering, Academy of Military Sciences, Beijing 100039, China;

3. Hangzhou Institute of Technology, Xidian University, Hangzhou 311200, China)

Abstract: In order to achieve end-to-end security, reliability, and real-time network business support, traditional internet requires the deployment of multiple types of networking service at network element nodes. However, most existing network devices only provide network access, routing and other service functions, lacking safe, reliable, real-time and other service design. Based on the open source network operating system software for open networking in the cloud (SONiC), a management and control architecture and scheduling method for networking service based on container technology and behavior tree is designed. It realizes the deployment of networking service for network service support, which is then deploy to programmable network devices for unified management and scheduling, and simulation testing is carried out. The networking service management and control architecture and scheduling method further enhance the capability of network equipment, and use the behavior tree to efficiently coordinate and schedule the status transformation in the management, control and scheduling process to ensure the delivery quality of networking service.

Keywords: behavior tree; container technology; software for open networking in the cloud (SONiC); networking service scheduling

0 引 言

傳統互聯網在安全可靠方面面臨越來越多的不足,通過在網元節點上部署多類組網服務,例如路由服務、認證服務、密鑰管理服務等1,可有效應對上述安全、可靠服務的不足。然而,傳統網絡設備軟件與硬件緊密捆綁,只能提供特定的網絡服務與功能,無法滿足上述需求2。在此背景下,可編程網絡技術可實現網絡設備的軟、硬件分離,通過服務功能的虛擬化,使網絡設備能夠承載多類組網服務34。微軟向開放計算項目(open compute project,OCP)貢獻一組交換機專用集成電路(application specific integrated circuit,ASIC)芯片的交換機抽象接口(switch abstraction interface,SAI),適配各硬件廠商提供的軟件工具開發包(software development kit,SDK),實現以統一的方式控制不同廠商、不同芯片的交換機5。開放網絡操作系統(open network linux,ONL)是網絡操作系統開源化的第一個里程碑,為白盒交換機提供了必要的軟件集合,開源網絡操作系統(software for open networking in the cloud, SONiC)是以其為基礎的第一個重大突破6。SONiC采用SAI芯片標準化接口,實現底層芯片和上層應用的解耦,充分利用虛擬化技術及數據庫技術,支持模塊化、應用容器化以及交換機狀態數據庫化7

進一步,虛擬化技術可將物理資源,如服務器、存儲設備、網絡等,進行抽象和隔離,可通過軟件或硬件等方式,在一臺物理設備上創建多個虛擬環境,使每個虛擬環境都具有獨立的操作系統、應用程序和資源811。再有,容器技術可實現輕量級虛擬化,使網絡設備能夠便捷地承載不同的網元功能1214。綜上,容器技術和虛擬機技術通過將硬件配置與應用程序隔離來實現虛擬化,以創建應用程序對底層硬件無感的虛擬環境,從而實現“一處構建,隨處運行”的特性。然而,虛擬機技術更依賴于Hypervisor層和物理機之間的關聯關系1516。相比之下,容器技術在外部環境上的運行較為孤立,鑒于容器技術的靈活性、快速性和高效性,如何有效地管控和調度各類容器化的組網服務,以充分利用網絡設備的各類資源成為一個重要問題1720

針對組網服務的容器調度問題,各類容器編排工具應運而生,如:Mesos、Kubernets、Docker Swarm等,其提供了容器自動部署、容器遷移、服務發現、資源調度與分配、滾動升級、彈性伸縮等功能21。然而,上述容器編排工具或多或少存在不足,如由于調度策略是基于資源提供而實現的兩層調度,在資源的高利用率、數據共享等方面的表現不足;Kubernetes調度算法基于Brog優化的兩階段最大評分節點選取方法,是一種靜態的調度算法,故而無法應對容器云環境下復雜且動態的資源分配與調整;Swarm對用戶的計算機水平要求不高且便于二次開發,相較而言其調度策略過于簡單,更加無法滿足容器調度需求21。文獻[22]提出一種面向算力網絡的邊緣資源調度解決方案,該方案使用Kubernetes作為各個服務容器的管理調度中心,但還是存在一些問題。目前,Kubernetes不支持進階精簡指令集設備(advanced reduced instruction set computing machine,ARM),且對資源的消耗、尤其是內存和中央處理器(central processing unit,CPU)的消耗,是網絡設備無法承受的,難以適應對網絡設備中容器的管理。

其次,上述容器編排工具在調度中采用類似有限狀態機的構建方法,在服務節點出現異常事件后,產生相應的動作,從而引起狀態的轉移,轉移到新狀態或維持當前狀態。例如,在對正在運行的服務進行調度時,通常會造成服務的中斷,需要對系統進行功能擴展,對系統原有代碼進行修改,工程量較大。

針對上述問題,本文基于開源操作系統SONiC和行為樹設計一種組網服務管控架構和調度方法,支持對運行在網元節點上的各類組網服務進行靈活調度。本文的主要貢獻如下:

首先,針對現有容器編排工具體量大且難以適應網絡場景的問題,基于SONiC網絡操作系統對其原生容器進行功能擴展,設計基于行為樹的組網服務管控架構,只設計必要功能,減少對網絡設備中各類資源的消耗,便于對網絡中的各個組網服務進行靈活調度。

其次,針對基于有限狀態機進行功能擴展需要重構代碼、工程量較大的問題,基于行為樹設計一種組網服務調度策略生成方法,通過行為樹將各個功能進行組織,并將其以容器化的形式嵌入SONiC系統,作為網絡中的組網服務管控平臺,便于組網服務遷移等功能的擴展。

最后,在典型場景下,對系統框架進行了用例分析,利用服務器搭建3個運行SONiC系統的節點,將其作為仿真環境,并通過調用接口,向網絡中部署密鑰管理服務,模擬節點資源不足的情況,測試該架構對于組網服務的遷移調度能力,并對后續工作進行簡要介紹。

1 相關技術

1.1 SONiC網絡操作系統

SONiC基于Linux系統進行開發,其利用鍵值數據庫和容器技術實現各個模塊的封裝和解耦,并與硬件層建立SAI,該接口使得網元設備可以加入自定義的網絡功能,極大程度地提高了網元功能的擴展性2223

SONiC系統的基礎結構如圖1所示22,其核心思想是利用容器技術實現各個功能的隔離,數據庫主要用于實現數據的存儲和模塊之間的通信,以實現較高的擴展性。系統自下而上由3個層次組成:硬件層由集成電路和芯片組成;操作系統則負責利用驅動程序與硬件進行溝通;用戶層則運行各個功能容器,主要包含以下幾個部分。

簡單網絡管理協議(simple network management protocol,SNMP)容器:托管SNMP功能。

鏈路層發現協議(link layer discovery protocol,LLDP)容器:負責承載LLDP功能,實現鏈路發現協議,在與其他交換機建立連接的基礎上,將信息同步到Redis容器中供其他功能使用。

邊界網關協議(border gateway protocol,BGP)容器:負責運行支持的路由堆棧之一,主要由zebra路由套件實現,在構建網絡拓撲的基礎上,計算出路由信息并同步到內核。

Database容器:應用程序可以通過訪問數據庫進行通信和數據存儲。

交換機狀態服務(switch state service,SWS)容器:用于協調所有SONiC模塊之間、模塊與redis引擎之間的通信。

同步進程(synchronization daemon,SYNCD)容器:負責收集當前交換機的網絡狀態并同步給ASIC芯片。

1.2 行為樹

行為樹是一種樹形的層次化決策工具,與有限狀態機相比,行為樹擁有模塊化、可擴展的特點,常用于對有限狀態機進行替換。行為樹由執行結點和控制結點組成樹形結構,其中執行結點多用于執行特定的動作或判斷,位于樹的末端;控制結點則跟據不同節點的判斷邏輯向上返回執行狀態,控制遍歷流程,位于樹的內部。在行為樹運行過程中,從根結點出發使用深度優先搜索方式執行每一個結點,并將每個結點的結果向上進行反饋24

與行為樹類似,有限狀態機、分層狀態機和決策樹都是用于人工智能、機器人、游戲開發和計算機科學等其他領域的模型,雖然都代表決策過程,但在結構、復雜性和應用方面卻各不相同。本節將在表1中對有限狀態機、分層狀態機、決策樹和行為樹進行對比。

有限狀態機是決策模型中最簡單的形式,由有限數量的狀態和狀態之間的轉換組成,用于模擬簡單的行為,通常用有向圖來表示。有限狀態機廣泛應用于游戲開發、機器人和控制系統。分層狀態機是有限狀態機的擴展,可通過將行為組織成層次結構來創建更復雜的行為,由一系列嵌套的有限狀態機組成,其中每個嵌套的有限狀態機代表一個較低級別的行為。分層狀態機通常用于模擬復雜系統的行為,如自動駕駛汽車或機器人。決策樹也是一種決策模型,使用樹狀結構來表示決策序列。樹中的每個決策節點代表一個測試,分支代表測試的可能結果。決策樹通常用于機器學習和決策分析25。行為樹作為一種決策模型,融合了分層狀態機的層次化處理結構和決策樹的決策能力。

行為樹常用于游戲開發、機器人和控制系統,為復雜行為提供了靈活的模塊化表示方法26。在大多數情況下,行為樹可用作有限狀態機的替代品27。雖然有限狀態機是4種模型中最簡單的一種,但也是表現力最差的一種,因為其只能表示有限的一組行為。另一方面,分層狀態機和行為樹的表現力更強,可以表示更復雜的行為。分層狀態機通常用于為具有層次結構的系統行為建模,而行為樹通常用于為具有模塊結構的系統行為建模2829。決策樹則通常用于機器學習,以緊湊、可解釋的方式表示決策規則。決策樹還可用于決策分析,分析決策過程并確定最優的傳輸路徑。在實現方面,有限狀態機和分層狀態機通常使用狀態機來實現,效率高,可以處理實時系統。決策樹使用二叉樹或基于規則的系統實現。行為樹通常使用帶有邏輯節點的樹形結構來實現,這種結構提供了一種模塊化和靈活的方式,以表示復雜的行為3033

本文基于行為樹對組網服務的調度流程進行表征,利用行為樹在模塊化、層次化、可重用性、可讀性、魯棒性等方面的優勢,高效協調調度過程中的狀態轉化,實現了網絡中各類組網服務在網元設備上的統一管控和調度,且便于后續功能的擴展。

2 基于行為樹的組網服務管控架構

2.1 整體技術架構

SONiC系統借助容器技術和數據庫技術為網元功能的擴展提供了更多的可能性,同時使得網元資源可以得到充分利用,也為組網服務功能的靈活管控提供了便利。本文在SONiC架構的基礎上,對其原有功能容器進行擴展,以實現在網元設備上對各類組網服務的動態調度,SONiC容器管控架構的整體架構如圖2所示。圖2中,(1)~(6)為SONiC內部所發生的工作流程,將在后文中詳細說明。在SONiC中引入3個新的容器,并對其原有容器進行功能擴展。

Database容器:在redis中將7號數據庫作為存放全網資源的數據庫resour_DB,用于存放網絡中各個網元節點的計算、存儲、轉發、安全等資源信息,為組網服務調度提供依據。

SYNCD容器:通過SAI接口獲取由硬件驅動向上提供的硬件資源情況,通過syncd將收集到的資源信息注入resour_DB中。

Resource容器:Resour_sync負責將底層獲取到的資源信息進行全網同步,使網絡中每個節點均掌握全網資源分布情況;Monitor進程通過對本節點的資源進行監控,決定是否將本節點的資源進行全網推送并動態調整推送頻率。

BT_manager容器:該容器在一個自治系統(Autonomous system,AS)或自治域中只部署一個,通常部署在核心網與接入網的交界處,對一個AS中的容器進行統一管控。通過遍歷預先設計的行為樹,結合數據庫中的全網資源,完成組網服務部署和遷移等調度任務。

Mig_agent容器:該容器部署在網絡中的所有節點中,與BT_manager形成C/S結構,作為BT_manager的服務端,負責與主機Docker引擎溝通以便完成組網服務的部署和遷移。該容器通過接收BT_manager發出的指令,調用主機Docker引擎的RESTful接口,并結合CRIU工具實現容器部署、容器凍結、容器恢復、數據同步等工作。

Service容器:該類容器承載具體的組網服務,如路由服務、密鑰管理等,通過前述的一系列容器對這類容器進行調度,保障各類組網服務可以正常運行。

下面介紹系統工作過程中SONiC內部所發生的工作流程:

(1) 由硬件驅動程序定時通過SAI接口將本節點的計算、存儲、轉發等資源傳遞給SYNCD容器。

(2) 由Syncd進程將收集到的底層資源信息存入redis的Resour_DB數據庫中。

(3) Monitor對存入數據庫中的本節點資源進行監控并將其推送至全網,由Resour_sync將同步后的全網資源信息存入資源數據庫中。

(4) BT_manager遍歷行為樹生成組網服務調度策略,主要分兩個方面,首先對組網服務上線申請進行實例化部署,同時根據數據庫中的全網資源信息為已經部署的運行態服務制定遷移策略,然后將生成的調度策略發送給目標節點的Mig_agent容器。

(5) Mig_agent執行由BT_manager發送的指令,對本節點承載組網服務的容器執行相應操作,若需要對容器進行凍結,需要從操作系統中獲取容器相關配置信息和容器運行狀態。

(6) 組網服務部署或遷移完成后,容器進入運行狀態,在數據庫中進行服務注冊,由Resource容器進行監控。

2.2 基于行為樹的組網服務調度策略生成

如前文中的SONiC容器管控架構所述,BT_manager容器負責對一個AS中的組網服務進行統一管控和調度,此處調度包括兩個方面,一是對網絡中不存在的新服務進行部署,二是對正在運行的組網服務進行保障,在節點異常情況下對組網服務進行遷移來保障服務質量。該容器內部通過遍歷預先設計的行為樹,結合數據庫中的全網資源,完成組網服務部署、組網服務遷移判決、最優節點計算、組網服務遷移等任務,確保組網服務能夠正常運行。基于行為樹的組網服務調度建模如圖3所示,該行為樹分為兩顆子樹,左側子樹實現由服務的注冊到組網服務的部署,右側子樹實現由底層網絡資源狀態變化驅動的組網服務的遷移。

行為樹從根結點出發,為同時實現上述兩個過程,在根結點設置并行結點執行其下的兩棵子樹。圖3中左側子樹中最左側條件結點首先判斷是否有服務上線申請,通常服務上線申請是由用戶發起,若有服務上線申請,則執行其后的動作結點,將上線的服務名稱填入該行為樹的Blackboard中,如圖4所示。

Blackboard是行為樹結點之間傳輸數據的方式,其本質是一個哈希表,數據以鍵值對的形式存在這個表中,每棵行為樹都有自己的Blackboard,被所有的節點共享。在本行為樹中,Blackboard用于存放各個組網服務的相關信息,Service對應的Value為該組網服務名稱及所需資源;Policy所對應的Value為該服務的部署位置,Policy與Service根據其后的編號一一對應。之后,通過條件結點檢測是否所有服務均被部署,若存在服務未被部署,則執行其后的順序結點,獲取服務所需資源。該動作通過訪問redis數據庫中的資源數據庫獲取全網資源信息,選擇最優的服務部署結點,并將策略下發給目標節點的Mig_agent容器執行。

在左側子樹執行完畢后,各個組網服務容器進入運行狀態,在行為樹遍歷過程中,通過執行右側子樹第一個結點獲取網絡中各個節點的資源狀態,之后通過右側分支的選擇結點判斷計算、存儲、轉發資源是否過載,根據預先設定的閾值決定是否進入后續服務遷移流程。當承載服務的節點資源未超過閾值時,該選擇結點返回1,結束此次對于行為樹的遍歷;若該節點資源超過設定閾值,則進行遷移節點預選,計算遷移代價和收益,確定最優遷移節點,最終由遷移判決對多個采樣點的資源狀態進行分析,確定是否執行此次服務遷移。

2.3 組網服務遷移判決

組網服務遷移作為調度過程的一個重要環節,保證組網服務在節點異常狀態下仍然能夠正常提供服務,主要分為以下幾個步驟,即組網服務遷移判決、遷移最優節點計算以及遷移動作執行,均以動作結點的形式存在于行為樹中。其中,服務遷移判決功能對資源感知模塊構建的資源狀態表進行分析,分析節點各類資源占用情況,若超過事先設置的閾值,則觸發服務遷移判決算法。由于一種組網服務通常占用多種資源,且不同的服務功能對資源的需求不同。例如,當節點上計算資源的使用率很高,而存儲資源的使用率很低時,此節點資源利用均衡度就很低。在此種情況下,該節點中計算資源與存儲資源的使用率差別很大,若服務繼續運行,可能會影響其處理能力,所以在判決過程中只要有一種資源超過閾值,即會觸發服務遷移動作。

另外,組網服務遷移判決條件并不是依照單個時間點的瞬時資源狀態進行判決,以計算和存儲資源為例的具體判決流程如圖5所示。當某個節點的某類資源占用超過預先設定的閾值時,則會進入遷移判決算法,通過對多個采樣點的節點狀態進行分析做出最終的判決,不會直接執行服務遷移動作。其主要目的是為了防止節點在任務處理過程中出現瞬時資源利用率超過閾值而觸發的無意義遷移,這種情況下資源占用率往往會在較短時間內回歸正常狀態,如果此時立即執行遷移動作會帶來無意義的資源損耗和時延。此處遷移判決算法在某類資源利用率超過閾值后觸發后續流程,持續監測接下來的n個采樣點的該資源的利用率,若平均值超過了預先設定的閾值,則判斷當前節點資源不足,繼續執行可能影響服務質量,開始執行后續服務遷移動作,避免無意義的遷移動作而導致的損耗和時延。

2.4 遷移最優節點計算

為確保組網服務在遷移后能夠更好地提供服務,對目標節點的各類資源有一定的要求,同時還需要考慮網絡中所有節點資源利用的均衡度,避免出現某些節點負載較高的情況。因此,對于遷移節點的選擇,需要結合全網資源信息并權衡遷移的代價和帶來的收益綜合決定。計算流程如下:首先根據全網資源狀態進行遷移節點預選,對剩余資源不足或節點度低于全網平均水平的節點進行刪除,計算從源節點遷移到候選節點的預期收益。此處收益為對資源均衡度的改善情況。同時根據路徑計算得到到達各個節點的路徑,計算從源節點到各個節點最短路徑的代價之和。最終將代價和收益進行加權,選擇數值最低的節點作為遷移的目的節點。

由于節點通常存在計算、存儲等多種資源,此處定義資源利用率的標準差描述節點各類資源利用的均衡狀況,該值越小,節點的資源利用更加均衡,優先選擇該值較大的節點。各個節點的資源利用率標準差為

SUi=∑Nn=1(ani-aavi)N(1)

式中:N表示資源種類數,ani表示節點的第i種資源的利用率(當前資源占用值除以資源總量);aavi=∑Nn=1ani/N代表節點i資源利用率的平均值。

用節點處各類資源利用率的最大值與最小值的差值來衡量該節點處資源利用均衡度:

SUBi=max ani n∈[1,2,,N-min ani n∈[1,2,,N

(2)

式中:max ani n∈[1,2,,N表示各類資源利用率最大值;min ani n∈[1,2,,N表示各類資源利用率最小值,該值同樣用于反映各類資源利用的均衡狀況。

基于節點資源利用均衡度定義服務遷移收益:在選擇最優遷移節點時,需要在遷移前評估遷移的預期收益,并根據服務遷移的成本判斷該節點是否可以作為遷移的目的節點。此處,服務遷移收益定義為服務遷移前后資源利用率均衡度的變化量與服務遷移前資源利用率均衡度的比值,以此來體現服務遷移前后對于資源利用均衡度的改善情況:

benefit(i)=SUBi-SUB′iSUBi

(3)

以式(3)計算所有候選節點的收益情況,若該值大于零,則表示將服務遷移到該節點上,會改善該節點的資源利用均衡度。反之,則會惡化該節點的資源利用狀況,影響其正常服務的運行。因此,在所有滿足要求的候選節點中優先選擇變化幅度更大的節點作為服務遷移的目標節點。

進一步定義服務遷移代價:服務遷移過程中的代價來源于遷移過程中傳輸的服務數據、節點狀態數據等,假設到目標節點每一跳的代價均相同,均為所傳輸數據大小與鏈路帶寬的比值,若源節點到目標節點的路徑跳數為n,服務遷移代價為每段路徑的代價之和,則服務遷移代價計算公式為

cos t(i)=cos t(li)·n

(4)

式中:cos t(li)為路徑中每一跳的權重。

最終,通過對遷移收益和遷移代價加權求和,得到服務遷移的增益,將該值最大的節點作為遷移的最佳目標節點。服務遷移增益函數如下:

G(i)=benefit(i)·λ-cos t(i)·(1-λ)

(5)

式中:λ是收益和代價的修正系數,可以根據不同的需求進行調整。

基于上述描述,最優節點的計算如算法1所示。

算法 1 最優節點計算算法

輸入 全網資源狀態信息

輸出 遷移最佳節點

1:while(true){

2: for n 1 to N do{

3:" if ani+replt;value {

4:""" 將該節點設為候選節點

5:""" }∥end_if

6: }∥end_for 篩選出候選節點

7: for i 1 to H do{

8:"" benefit(i)gt;0=SUBi-SUB′iSUBi

9:"" if benefit(i)gt;0{

10:"""""" 從候選節點中刪除該節點

11:""" }∥end_if

12: }∥end for

13: for i 1 to I do{

14:"" cos t(i)=cos t(li)·n

15:"" G(i)=benefit(i)·(λ)-cos t(i)·(1-λ)

16:"" if G(i)lt;0{

17:"""" 從候選節點中刪除該節點

18:"""" continue

19:"" }∥end_if

20: }∥end for

21: v=arg max(G(i))

22:}output v∥最佳遷移節點

2.5 組網服務遷移實施流程

在確定遷移目標節點后,源節點會詢問目標節點是否接收遷移,若目標節點本身已存在該服務,則不會接受服務遷移,并反饋給源節點,由BT_manager容器重新進行最優節點計算;若目標節點接受遷移,則將源節點組網服務容器的數據復制到目標節點,便于目標節點服務的快速部署和恢復,如圖6為兩節點之間交互的流程圖。

為了便于對組網服務容器的管理,為各個服務設計了以下幾種狀態。

運行態:服務正在正常運行。

卸載態:服務停止運行。

遷移態:服務正處于計劃遷移狀態,在源節點上對該服務觸發服務遷移后,由運行態轉換為遷移態,此時該服務正常運行;在目標節點上,若該服務將要被遷移到該節點,由卸載態轉換為遷移態,此時服務還未運行,處于準備狀態,防止其他節點重復操作。

就緒態:服務已經完成遷移準備,可以運行,開始運行后轉換為運行態。

當源節點計算出遷移目標節點后,首先會詢問目標節點是否接受遷移,若該目標節點當前服務狀態為遷移態、就緒態或運行態,則會向源節點返回拒絕接受遷移,此后重新尋找最優節點;當該目標節點服務狀態為卸載態,則會返回接受遷移,且更改當前狀態為遷移態。源節點接收到確認遷移的消息后,會向目標節點發送遷移相關數據,數據發送完畢后,目標節點狀態變為就緒態,等待服務運行。服務正式運行后,狀態變為運行態,向源節點發送遷移完成消息,源節點接收到遷移完成消息后,將服務卸載,遷移結束。

遷移數據主要分為兩類,容器內部數據:即容器內部運行的應用程序產生的數據,例如日志數據等;容器外部數據卷:即與容器關聯的存儲卷中存儲的數據,例如數據庫數據、配置文件等。對于容器內部數據,可以通過將數據打包成鏡像文件或者網絡傳輸等方式進行遷移。一般來說,在數據量較小的情況下,可以將數據打包成鏡像文件,并通過Docker工具進行解壓。在數據量較大的情況下,可以通過網絡傳輸等方式進行遷移,例如使用Scp命令或者Rsync命令將數據傳輸到目標節點上。對于數據卷,需要先將數據卷從源節點卸載,然后將數據卷數據復制到目標節點上。在目標節點上重新掛載數據卷后,容器可以繼續訪問數據卷中的數據。

在完成容器數據的遷移后,啟動容器預熱機制,讀取由源節點同步的數據和配置文件,并讓其運行一段時間以同步遷移過程中產生的數據更新以達到預熱效果,確保在遷移完成后可以快速響應服務,減少延遲。預熱結束后,則由源節點卸載源節點上的服務容器,之后由新節點繼續提供服務。

3 實驗分析

本文基于開源操作系統SONiC和行為樹設計了一種組網服務管控架構和調度方法,支持對運行在網元設備上的各類組網服務進行靈活調度。為了驗證本文提出的架構和方法,利用服務器搭建3個運行SONiC系統的節點,作為仿真環境。如圖7所示,通過調用BT_manager容器向外暴露的容器部署接口,可以實現對組網服務容器的自動部署,對本文所提管控架構和調度方法進行功能驗證。以密鑰管理服務為例,調用該接口返回服務部署的IP地址、容器名稱、運行狀態等信息,根據返回信息可知,該服務被成功部署到IP地址為“192.168.98.130”的節點。

為驗證BT_manager容器中行為樹的服務遷移能力,與傳統的冷遷移方式進行對比,分別使用本文所提出的方法和使用容器編排工具Kubernetes進行多次實驗,驗證基于行為樹的服務遷移對于服務中斷的影響效果。傳統的容器冷遷移方式,在遷移前需要將容器停止,導致出現服務中斷;而本文基于行為樹的服務遷移方式,通過不斷遍歷行為樹、對各個網元節點狀態進行分析,在保證服務不中斷的情況下進行服務遷移,最大限度地保證服務質量。

仿真結果如圖8所示,通過程序模擬終端向密鑰分發服務請求密鑰,圖中黑色、紅色曲線分別代表在行為樹管理下和容器編排工具Kubernetes管理下請求密鑰平均時延隨時間的變化。曲線時延表示終端向密鑰管理服務發起請求到接收響應的時間差,反應了密鑰管理服務的服務質量。隨著請求的增加,密鑰管理服務負載持續增加,時延明顯增加,服務質量較差。當服務中斷時,由于終端無法請求到密鑰,所以無法得出時延。圖8中,將這種情況以時延為0來體現,便于觀察。在程序啟動前一段時間每秒創建100個線程請求密鑰,并記錄請求平均時延;在30 s后每秒創建500個線程請求密鑰,導致運行密鑰管理服務的節點負載增加。從圖8中可見,請求時延明顯增加,若負載持續增加,可能會導致服務中斷,此時在遍歷行為樹的過程中檢測到節點的異常狀態,啟動服務遷移,在完成服務遷移后請求時延逐漸恢復到正常狀態。與普通的服務遷移相比,本文提出的方法在遷移過程中不會造成服務中斷,可確保服務的持續可用。

4 結束語

本文基于開源操作系統SONiC和行為樹設計一種組網服務管控架構和調度方法,支持對運行在網元節點上的各類組網服務進行靈活調度。基于SONiC網絡操作系統對其原生容器進行功能擴展,將組網服務調度機制集成到SONiC系統中,支持全網資源監控和組網服務的敏捷調度。基于行為樹設計一種組網服務調度策略生成方法,并將其以容器化的形式嵌入SONiC系統中,作為網絡中的組網服務管控平臺,利用行為樹模塊化、層次化、代碼可重用、反應快速、可讀性強的特點,高效協調調度過程中的狀態轉化,保證組網服務交付質量。目前,在實驗環境下已完成對本文所提方法的測試。為適應生產環境,后續會進一步對行為樹進行擴展,例如增加對于路由協議的控制,增強行為樹的調度能力。

參考文獻

[1] POP M D, PANDEY J, RAMASAMY V. Future networks 2030: challenges in intelligent transportation systems[C]∥Proc.of the 8th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions), 2020: 898902.

[2] BONATI L, POLESE M, D’ORO S, et al. Open, programmable, and virtualized 5G networks: state-of-the-art and the road ahead[J]. Computer Networks, 2020, 182: 107516.

[3] 張成林, 宋玲玲. 面向未來網絡的白盒交換機體系綜述[J]. 信息技術與網絡安全, 202 41(3): 28.

ZHANG C L, SONG L L. A review on architecture of white box switches for future networks[J]. Information Technology amp; Network Security, 202 41(3): 28.

[4] BOSSHART P, DALY D, GIBB G, et al. P4: programming protocol-independent packet processors[J]. ACM SIGCOMM Computer Communication Review, 2014, 44(3): 8795.

[5] Open Compute Project. Switch abstraction interface(SAI):a reference switch abstraction interface for OCP[EB/OL]. [20230704]. https:∥www.opencompute.org/.

[6] Open Compute Project. SONiC:software for open net-working in the cloud website[EB/OL]. [20230704]. https:∥github.com/sonic-net/SONiC.

[7] Open Compute Project. Open network linux: a reference network operating system for OCP[EB/OL]. [20230704]. http:∥opennetlinux.org/.

[8] ALAM I, SHARIF K, LI F, et al. A survey of network virtuali-zation techniques for Internet of things using SDN and NFV[J]. ACM Computing Surveys, 2020, 53(2): 140.

[9] SHEN X M, GAO J, WU W, et al. Holistic network virtualization and pervasive network intelligence for 6G[J]. IEEE Communications Surveys amp; Tutorials, 202 24(1): 130.

[10] ZHANG L L, YANG C G, OUYANG Y, et al. ISFC: intent-driven service function chaining for satellite networks[C]∥Proc.of the 27th Asia Pacific Conference on Communications, 2022: 544549.

[11] 張露露, 楊春剛, 王棟, 等. 意圖驅動的云網融合按需編排[J]. 電信科學, 202 38(10): 107119.

ZHANG L L, YANG C G, WANG D, et al. Intent-driven cloud-network convergence on-demand orchestration[J]. Telecommunications Science, 202 38(10): 107119.

[12] LONG X M, LIU B H, JIANG F, et al. FPGA virtualization deployment based on docker container technology[C]∥Proc.of the 5th International Conference on Mechanical, Control and Computer Engineering, 2020: 473476.

[13] SIDDIQUI T, SIDDIQUI S A, KHAN N A. Comprehensive analysis of container technology[C]∥Proc.of the 4th International Conference on Information Systems and Computer Networks, 2019: 218223.

[14] MUNERMAN V, MUNERMAN D. Realization of distributed data processing on the basis of container technology[C]∥Proc.of the IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering, 2019: 17401744.

[15] MI X R, YANG C G, SONG Y B, et al. A distributed matching game for exploring resource allocation in satellite networks[J]. Peer-to-Peer Networking and Applications, 202 14(5): 33603371.

[16] POTDAR A M, NARAYAN D G, KENGOND S, et al. Perfor-mance evaluation of docker container and virtual machine[J]. Procedia Computer Science, 2020, 171: 14191428.

[17] AHMAD I, AIFAILAKAWI M G, AIMUTAWA A, et al. Container scheduling techniques: a survey and assessment[J]. Journal of King Saud University-Computer and Information Sciences, 202 34(7): 39343947.

[18] OUYANG Y, LINZ J Q, FENGZ T, et al. Intent-driven CoX resource management for space-terrestrial networks[J]. IEEE Wireless Communications, 2023. DOI:10.1109/MWC.018.2200600.

[19] Mi X R, YANG C G, SONG Y B, et al. Matching game for intelligent resource management in integrated satellite-terrestrial networks[J]. IEEE Wireless Communications, 202 29(6): 8894.

[20] KAEWKASI C, CHUENMUNEEWONG K. Improvement of container scheduling for docker using ant colony optimization[C]∥Proc.of the 9th International Conference on Knowledge and Smart Technology, 2017: 254259.

[21] MENOUER T. KCSS: Kubernetes container scheduling strategy[J]. The Journal of Supercomputing, 202 77(5): 42674293.

[22] 李銘軒, 曹暢, 唐雄燕, 等. 基于可編程網絡的 UPF 邊緣調度機制研究[J]. 數據與計算發展前沿, 202 4(2): 7486.

LI M X, CAO C, TANG X Y, et al. Research on edge scheduling mechanism of UPF based on programmable network[J]. Frontiers of Data amp; Computing, 202 4(2): 7486.

[23] 劉曦. 數據中心網絡SONiC白盒技術的發展趨勢[J]. 通信世界, 2019(33): 4243.

LIU X. The development trends of SONiC white box technology in data center networks[J]. Communication World, 2019(33): 4243.

[24] IOVIINO M, SCUKINS E, STYRUD J, et al. A survey of behavior trees in robotics and AI[J]. Robotics and Autonomous Systems, 202 154: 104096.

[25] COLLEDANCHISE M. Behavior trees in robotics[D]. Stockholm: KTH Royal Institute of Technology, 2017.

[26] PERGER A, GAMPER P, WITZMANN R. Behavior trees for smart grid control[J]. IFAC-PapersOnLine, 202 55(9): 122127.

[27] MARZINOTTO A, COLLEDANCHISE M, SMITH C, et al. Towards a unified behavior trees framework for robot control[C]∥Proc.of the IEEE International Conference on Robotics and Automation, 2014: 54205427.

[28] ROVIDA F, GROSSMANN B, KRUGER V. Extended beha-vior trees for quick definition of flexible robotic tasks[C]∥Proc.of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2017: 67936800.

[29] BIGGAR O, ZAMANI M, SHAMES I. An expressiveness hie-rarchy of behavior trees and related architectures[J]. IEEE Robotics and Automation Letters, 202 6(3): 53975404.

[30] COLLEDANCHISE M, MARZINOTTO A, DIMAROGONAS D V, et al. The advantages of using behavior trees in mult-robot systems[C]∥Proc.of the 47th International Symposium on Robotics, 2016.

[31] STYRUD J, IOVINO M, NORRLOF M, et al. Combining planning and learning of behavior trees for robotic assembly[C]∥Proc.of the International Conference on Robotics and Automation, 2022: 1151111517.

[32] WU R C, KORTIK S, SANTOS C H. Automated behavior tree error recovery framework for robotic systems[C]∥Proc.of the IEEE International Conference on Robotics and Automation, 2021: 68986904.

[33] CAI Z X, LI M L, HUANG W R, et al. BT expansion: a sound and complete algorithm for behavior planning of intelligent robots with behavior trees[C]∥Proc.of the AAAI Conference on Artificial Intelligence, 2021.

作者簡介

宋睿濤(2000—),男,碩士研究生,主要研究方向為意圖驅動網絡、服務遷移。

高先明(1988—),男,高級工程師,博士,主要研究方向為未來網絡體系結構、智能路由協議、網絡安全。

黃姣蕊(1995—),女,博士研究生,主要研究方向為意圖驅動網絡、人工智能、行為樹。

楊春剛(1982—),男,教授,博士,主要研究方向為意圖驅動智簡網絡、智能網絡信息體系、軟件定義網絡自治、認知天地網絡融合、網絡通信博弈論。

黃 韜(1999—),男,碩士研究生,主要研究方向為意圖驅動網絡、應用感知網絡。

李芫芫(2000—),女,碩士研究生,主要研究方向為意圖驅動網絡、資源感知。

主站蜘蛛池模板: 噜噜噜久久| 一级一毛片a级毛片| 欧美亚洲国产精品第一页| 谁有在线观看日韩亚洲最新视频 | 免费一级成人毛片| 米奇精品一区二区三区| 国产啪在线| 亚洲熟妇AV日韩熟妇在线| 久久久黄色片| 精品综合久久久久久97| 好紧好深好大乳无码中文字幕| 一本大道视频精品人妻| 91 九色视频丝袜| 亚洲精品无码专区在线观看 | 在线免费观看AV| 一级毛片无毒不卡直接观看| 中国一级特黄视频| 中文无码精品a∨在线观看| 成人在线观看一区| 波多野结衣无码AV在线| 欧美一级99在线观看国产| 国产第一页第二页| 福利片91| 亚洲最猛黑人xxxx黑人猛交| 好久久免费视频高清| 最新国产成人剧情在线播放| 欧美日韩一区二区在线播放 | 真实国产乱子伦高清| 99久久国产综合精品2020| 免费无码AV片在线观看中文| 亚洲国产理论片在线播放| 日韩福利在线观看| 国内老司机精品视频在线播出| 免费看av在线网站网址| 最新亚洲av女人的天堂| 99草精品视频| 久久久久人妻一区精品色奶水| 欧美a在线视频| 国产三级视频网站| 中文字幕在线看视频一区二区三区| 手机在线免费不卡一区二| 2020国产免费久久精品99| 国产精品亚洲va在线观看| 亚洲国内精品自在自线官| 国产幂在线无码精品| 国产午夜不卡| 国产乱子伦精品视频| 97久久免费视频| 91精品视频播放| 72种姿势欧美久久久大黄蕉| 欧美a级在线| 亚洲区第一页| 国产美女无遮挡免费视频| 天天躁日日躁狠狠躁中文字幕| 欧美精品啪啪| 成人福利免费在线观看| 狼友视频国产精品首页| 18禁黄无遮挡网站| 欧美精品综合视频一区二区| 青青青伊人色综合久久| 国产美女在线观看| 国产精品 欧美激情 在线播放| 88av在线看| 青青草原国产一区二区| 精品人妻系列无码专区久久| 国产亚洲视频播放9000| 99热这里只有免费国产精品 | 十八禁美女裸体网站| 五月综合色婷婷| 青青青视频免费一区二区| 久操中文在线| 亚洲中文字幕23页在线| 国产黑丝一区| 日韩国产精品无码一区二区三区| 国产视频自拍一区| 国产三区二区| 亚洲美女一区| 在线另类稀缺国产呦| 麻豆精品在线视频| 天天操天天噜| 国产欧美视频综合二区| 色天天综合久久久久综合片|