李婉桃 張帆 陳鑫 朱進 黃瀟



摘 要:針對現有擬態存儲架構中數據同步方法時延增速過快,導致系統安全調度時的性能下降問題,提出了一種預同步模型,讓備用執行體在異構池中利用檢查點進行數據預同步工作,從而減少執行體上線時間。進一步地,根據預同步模型的同步特點和切換調度情況,提出一種執行周期最大有效率的檢查點放置(execution cycle maximum efficiency checkpointing,CMEC)方法。通過最大化每個執行周期的有效工作率求得最佳的檢查點間隔,較好地平衡了檢查點開銷和回滾開銷。實驗證明,與現有的全量同步策略相比,該方法縮短了執行體上線過程中的同步時間開銷,提高了同步效率,保障了系統在業務量不斷增加場景下的服務穩定性和連續性。
關鍵詞:擬態存儲系統;預同步模型;檢查點;服務穩定性和連續性
中圖分類號:TP309.3?? 文獻標志碼:A
文章編號:1001-3695(2023)09-036-2792-06
doi:10.19734/j.issn.1001-3695.2023.02.0055
Research on efficient synchronization method for mimic storage system
Li Wantao1,2,Zhang Fan3,Chen Xin2,Zhu Jin2,Huang Xiao2
(1.School of Cyber Science & Engineering,Southeast University,Nanjing 210000,China;2.Endogenous Security Research Center,Purple Mountain Laboratory,Nanjing 210000,China;3.National Digital Switching System Engineering & Technological R&D Center,Zhengzhou 450000,China)
Abstract:Aiming at solving the problem that rapid increase of time delay in data synchronization within existing mimic storage architecture,which leads to the performance degradation during system security scheduling,this paper proposed a pre-synchronization model that enabled standby executors to utilize checkpoints in heterogeneous pools for data pre- synchronization,thereby reducing the time required for the executor to go online.Furthermore,according to the synchronization characteristics of the pre-synchronization model and the switching scheduling situation,this paper designed CMEC method.This method could determine the optimal checkpoint interval by maximizing the effective work rate of each execution cycle,balancing checkpoint overhead and rollback overhead.The experiments show that,compared with the existing full-volume synchronization strategy,this method shortens the synchronization time required for the executor to go online,improves the synchronization efficiency and ensures the stability and continuity of the system under increasingly heavy business loads.
Key words:mimic storage system;pre-synchronization model;checkpoint;service stability and continuity
0 引言
隨著云計算和大數據技術的高速發展與應用,計算、存儲數據等資源愈發呈現共享化、集中化趨勢,在促進服務能力更靈活高效的同時,也加劇了系統的功能安全與信息安全問題。特別是近年來眾多隱私數據泄露與違法交易事件被頻繁曝出,使得人們對于重要業務和數據遷移上云抱有極大遲疑,數據安全已經成為了制約新一代信息技術發展的核心問題。
在整個數據安全的研究中,數據存儲系統的安全性與可靠性是一個重要方向。擬態存儲系統,正是從應對數據存儲系統中的漏洞和后門問題出發,基于內生安全擬態防御理論與方法對分布式存儲架構進行重新設計和實現,期望為大數據和云計算場景提供更為安全可靠的數據存儲服務支撐。
其核心設計思想是劃定系統中核心元數據服務作為擬態防護邊界,引入動態(dynamicity)、異構(heterogeneity)、冗余(redundancy)和裁決反饋的機制[1,2],改善原有分布式存儲系統架構靜態、相似、單一的基因缺陷,使擬態化分布式存儲系統從結構上具備對漏洞和后門內生的抵御能力[3],以此保證分布式存儲系統的數據安全。目前,擬態存儲系統的安全性在理論和原型測試上均得到較好印證,但在異構執行體構建、擬態裁決調度的合理性、性能開銷、魯棒性等方面仍存在諸多需要研究的問題。
在擬態存儲系統中,擬態調度是提供系統動態性的重要機制。當某個執行體受到攻擊輸出異常時,系統會調度其下線清洗恢復,同時從異構池中選取“純凈”的執行體上線繼續執行元數據服務功能,以此往復保證系統功能和數據的安全魯棒。這個環節中至關重要的一點,就是要保證新上線執行體的運行狀態和數據能夠與已在線執行體同步至相同狀態,否則便無法保證系統一致性的基礎前提。進一步地,隨著擬態存儲系統規模與業務量的增大,所需同步的系統元數據體量和時間開銷均會增加,導致系統服務連續性急劇下降。因此,為支撐系統快速且正確地調度切換,就需要研究和設計高效的同步方法,從而保證擬態存儲系統的可用性、穩定性。
針對上述問題,本文期望引入檢查點機制,從而利用數據的預同步來達成數據高效同步的目標。盡管檢查點機制在鏡像管理、系統還原恢復等研究中均有涉及,但在擬態存儲系統中,該應用仍然面臨著一定的難點:a)如何針對擬態存儲的多執行體場景,設計簡單合理的預同步模型與交互流程;b)如何根據擬態存儲的調度與數據同步特點,設置合理的檢查點間隔。對此,本文將著重研究和解決上述難點問題,并通過實驗測試來評估所提方法的正確性和有效性。
1 相關工作
文獻[4]給出了網絡空間擬態防御的動態異構冗余基本模型,在此基礎上文獻[5]面向Hadoop文件存儲系統設計了一種擬態化架構,如圖1所示。
系統的元數據服務節點基于DHR模型重新進行了設計實現。在保留原有功能接口和對外交互方式不變的基礎上,分發表決模塊將輸入的交互信息分發給多路在線的異構執行體,并且收集其返回的響應結果進行裁決輸出。當裁決過程發現了不一致信息,就會將異常信息上報給反饋控制模塊進行動態調度處理。經過對執行體的下線、清洗、同步、上線等一系列操作,在線執行體集合能夠對當前攻擊迭代收斂至相對安全的狀態,以此保證整個系統的安全性和穩定性。
文獻[5]提出了一種擬態存儲架構并驗證了其有效性,擬態防御技術也在Web、防火墻、SDN、數據庫等[6~9]領域得到了廣泛應用,但它們都未給出數據同步的具體方法。目前擬態應用中涉及到同步問題的研究主要有如下兩種思路。一種思路是將各個執行體維護的主要數據存放在后端數據庫中,凡是新上線的執行體都和其他在線執行體一樣,與數據庫交互從而保證數據狀態一致。例如文獻[10]提出利用異地的備份服務器資源池對數據庫服務器執行體進行備份同步;文獻[11]通過配置分布式數據庫在每個控制器節點上實現多節點間的數據同步;文獻[12]利用核心數據庫分析來自不同執行體的數據并利用強一致性將數據整合成一個檢查點,解決擬態網絡操作系統在運行過程中的數據同步問題。但是,這種思路受限于原有應用場景的數據存儲模型,針對擬態存儲系統執行體處理邏輯和數據強綁定的情況則難以真正實施。另外一種思路是選擇相對可靠的執行體作為同步數據源進行數據和狀態同步。例如文獻[13]提出基于執行體的歷史信息和異構性的置信目標選擇可靠執行體,從中獲取元數據信息達到狀態同步。這些方法通常在確定同步源后,將同步所需的數據文件和配置文件全量拷貝至待上線執行體,加載完畢后轉入正常工作。那么整個過程中,待同步數據量大小就變得十分關鍵。對于一個擬態存儲系統來說,數據量會隨著環境擴容和業務積累而不斷提升。當數據量較小時,同步過程耗時較短,系統的服務連續性尚可保持;隨著數據量不斷增加,同步耗時將會逐漸增大,系統的可用性也會大打折扣。受系統還原恢復和虛擬機鏡像管理等應用技術機制的啟發,本文期望借助檢查點機制,并設置合理的檢查點間隔來解決數據量持續增加下的數據同步效率問題。由于該思路尚未應用于擬態系統的研究,所以本文針對其他領域已有的檢查點設置方法進行了梳理歸納。
檢查點間隔設置方法主要分為兩類。一類是檢查點間隔隨時間動態的變化,以減少頻繁檢查點帶來的系統開銷。文獻[14]提出了一種迭代檢查點算法來計算具有中等失敗風險的作業的有效間隔,以最小化檢查點的預期成本。Akber等人[15]建議在故障率較低的系統中連續增加檢查點間隔來減少檢查點的數量,從而減少檢查點的開銷。然而,上述為減少檢查點開銷而動態增大檢查點間隔的方法更適用于一般運行穩定的系統,對于常需進行突發調度切換的擬態系統來說并不適合。另一類設置則根據具體應用場景,計算出一段時間內的最佳檢查點間隔。文獻[16]針對長期運行的軟件,從能耗和執行時間的角度確定檢查點的最佳數量,進一步導出最佳檢查點間隔,以最小化總平均能耗或總平均執行時間。文獻[17]針對運行在易故障平臺上的軟件應用程序,建立了一個數學模型,通過最小化應用程序的平均執行時間來估計最佳檢查點間隔。文獻[18]針對分布式流處理系統,計算在不同工作負載下的最優檢查點間隔。這些研究聚焦于系統容錯性能與檢查點開銷間的平衡,而針對擬態架構,檢查點設置更需要關注如何根據調度切換和同步特性實現檢查點開銷和同步開銷的折中考慮。
綜上所述,現有的動態變化和特定應用場景下的檢查點間隔都無法直接引入到擬態架構中應用,需要進一步根據擬態存儲元數據執行體進行模型設計,進而依據同步的模型和特點確定合適的檢查點間隔方法。
2 擬態預同步模型
在擬態存儲系統中,為確保新上線執行體的運行狀態和數據與已在線執行體一致,需進行元數據的同步。傳統方法是新上線的執行體依據相應算法選擇一路在線執行體,逐一獲取元數據進行全量同步,但是這種方法效率較低。本章旨在原有擬態架構的基礎上引入檢查點機制,建立預同步模型以解決在擬態切換調度時執行體元數據同步的效率問題。架構設計如圖2所示。
2.1 模型設計
與初始的擬態架構一致,模型中有客戶端、分發表決器、反饋控制模塊、NameNode(元數據執行體)及DataNode(數據節點)。在保證原有架構基本不變的前提下,為充分利用架構中各節點的功能和特性,針對待上線節點同步數據的需求,將其設計為合并節點的角色。該節點具有雙重身份:一是作為檢查點機制中的合并節點,主要用于提前進行元數據的同步;其次,從擬態系統的角度來看,它亦為異構池中可供調度切換上線的備用執行體。同步中最關鍵的問題即為數據的正確性和可靠性,數據源的安全性直接關系到合并節點所同步數據的可信度,因而讓反饋控制模塊在承擔執行體切換工作的同時,負責在線執行體集合中可信同步源的選取工作。
預同步模型在工作時,客戶端的請求經分發表決模塊分發至三個在線執行體,若請求為創建、修改、刪除等寫操作則記錄至元數據執行體的操作日志文件中。反饋控制模塊選擇一路可信執行體作為同步源,即圖2中的主節點。異構池中的合并節點定期從主節點中獲取元數據鏡像文件和操作日志,將它們合并為新的鏡像文件后傳回主節點。這種周期性地獲取鏡像文件和日志文件來合并的操作稱之為檢查點。
當預同步模型進行執行體調度切換時,需要將合并節點上線。由于該節點的磁盤中已保存了一份與主節點相同的鏡像文件,只需將鏡像文件加載至內存中,再使用從反饋控制模塊處獲得的主節點操作日志來恢復已在線執行體的最新狀態。這種方法極大地縮短了擬態切換中元數據同步和狀態恢復所需的時間,從而實現了備用執行體的快速上線。
完成執行體的上線工作后,需選取合適的節點作為新的同步源。預同步模型可支持主節點的動態切換,任何在線執行體均可成為新的主節點。如圖3所示,反饋控制模塊根據相應算法選擇在線執行體集合(圖為nn2,nn3和nn4)中的一路作為新的主節點或同步源,合并節點即為異構池中的新備用執行體。在提升同步效率的同時,保證了系統的靈活性和可靠性。
2.2 流程設計
為了實現流暢的執行體切換,幫助預同步模型更好地融合進原有擬態架構中,針對多執行體場景,設計了以下的交互流程。
圖4主要描述了預同步模型中,從系統發出切換調度命令開始到切換工作完成的整個過程。當擬態存儲系統需要下線執行體時,需從異構池中選取一個新的執行體上線,并使之與其他在線執行體達到一致的狀態,以保證擬態架構的正常運轉。在此過程中,步驟a)反饋控制模塊向待下線執行體發送下線指令,并向異構池中待上線的執行體發送上線指令,以準備進行節點切換。在發送切換命令后,步驟b)中反饋控制模塊依據相應的算法選擇一路執行體作為新的同步源。
在選擇同步源之后,通過步驟c)在選定的新主節點上執行切換腳本。該腳本將修改即將成為主備執行體和普通執行體的配置文件,為后續切換做好配置準備工作。為確保所有在線執行體的元數據狀態保持一致,步驟d)中反饋控制模塊將向在線執行體發送進入安全模式的命令,給予待上線的執行體獲取余下操作日志的時機。隨后,步驟e)f)發送剩余操作日志,確保待上線執行體已完全同步操作日志。
待上線執行體完成對原主節點日志的同步后,將其元數據目錄更改為在線工作目錄,完成其余準備工作后啟動上線。同時,下線的執行體需將元數據目錄更改為合并節點的工作目錄,并重新啟動為新主節點對應的合并節點。
該流程實際將預同步模型納入擬態架構中,能夠高效自動化地完成任意節點的切換,同時滿足隨機選取主節點的要求,提升了預同步模型下系統的安全性和穩定性。
2.3 檢查點設置
在確定了預同步模型后,另一個關鍵問題則是檢查點該如何設置。檢查點間隔即合并節點獲取鏡像文件和操作日志進行合并的時間間隔。若間隔過短,頻繁地檢查點操作會增加系統開銷,而間隔過長則會增加回滾恢復的開銷。為在擬態預同步模型中權衡加載日志的開銷和檢查點開銷,根據系統的切換和同步特點建立執行周期模型,采用了一種執行周期最大有效率的檢查點放置(execution cycle maximum efficiency checkpointing,CMEC)方法來確定適當的檢查點序列,使得每個執行周期中真正有效的執行時間占比率達到最大,從而動態地確定各個周期的最佳檢查點間隔。
系統在正常運行、檢查點操作以及啟動前日志的回滾恢復三個階段交替執行。日志的回滾恢復常發生于擬態系統的調度切換中,為方便統計和計算相關開銷數據,將兩個連續切換事件之間的時間段稱為執行周期。如圖5所示,在時間t內,執行周期從時間t0的切換事件Sm開始,經過重放日志恢復過程R,正常運行和檢查點操作,到下一個切換事件Sm+1結束。在執行周期中,設每個檢查點操作均產生時間開銷C,檢查點序列{C1,C2,C3,…,Cn-1}已經成功地放置在時間{t1,t2,t3,…,tn-1}(n=1,2,3,…)。執行周期t被內部檢查點序列劃分為多個間隔{I1,I2,…,In}[19]。
為尋找最佳的檢查點間隔,進行如下假設:
a)擬態存儲系統執行體切換時間遵循泊松分布,故障發生率為λ,故障即為擬態存儲系統中的切換事件;
b)采用順序的檢查點時,檢查點延遲對最佳的等距檢查點間隔的影響可以忽略不計,因此在該模型中不考慮檢查點延遲;
c)在一次執行周期間,執行體始終處于運行狀態,無法改變其檢查點間隔。因此,假設在一次執行周期中檢查點開銷恒定,力求得到一次執行周期中最佳的等距檢查點間隔。
將執行周期中用于處理用戶請求的真正有效工作時間段稱之為工作段,檢查點開銷C和恢復R稱之為附加段。在圖5中,tn-1后的X段也為附加段,因為在Sm+1處發生了切換,切換后系統需回滾至In-1段的檢查點。設工作段在一個執行周期內的持續時間總和為W,附加段的持續時間總和為A,則該執行周期的總持續時間為W+A。據更新獎賞過程定理[20],該執行周期的有效工作率為
H=Σ(W)Σ(A+W)=E(W)E(A+W)(1)
設系統在長為t的時間間隔內發生切換的次數N(t)服從參數為λt的泊松分布λt(N(t)~λt),λ為切換發生率。兩次連續切換間的時間間隔T的概率分布函數為F(t)=1-e-λt,平均切換時間為1/λ,等于A+W的期望值,故H=Σ(W)/Σ(A+W)=λE(W)。下面將以圖6為框架計算一個執行周期的有效率,設每個間隔Ii中真正工作時間為T,則檢查點間隔為T+C,從t0~tn-1的有效工作時間為tn-1-t0-R-(n-1)C。
設P(Ii)是切換事件Si在Ii段發生的概率,故
E(W)=P(I1)×0+∑∞i=2P(Ii)×(ti-1-t0-(i-1)C-R)(2)
P(Ii)=F(ti)-F(ti-1)(3)
由式(2)和(3)得有效利用率H(T)為
H(T)=λE(W)=λ∑∞i=2P(Ii)×(ti-1-t0-(i-1)C-R)=
λ∑∞i=1P(Ii+1)×(ti-t0-iC-R)=
λ∑∞i=1[(1-e-λ(i+1)(T+C))-(1-e-λi(T+C))](iT-R)=
λ∑∞i=1(e-λi(T+C)-e-λ(i+1)(T+C))(iT-R)=
λ(1-e-λ(T+C))∑∞i=1(e-λi(T+C))(iT-R)=
λ(1-e-λ(T+C))(T∑∞i=1ie-λi(T+C)-R∑∞i=1e-λi(T+C))=
λ(1-e-λ(T+C))[Te-λ(T+C)(1-e-λ(T+C))2-Re-λ(T+C)1-e-λ(T+C)]=
λ[Te-λ(T+C)1-e-λ(T+C)-Re-λ(T+C)]
由此可知,只需對有效利用率H(T)求極值,找到H(T)T=0時的Topt,Topt+C即為最佳的檢查點間隔。與Te-λ(T+C)1-e-λ(T+C)相比,Re-λ(T+C)的值微乎其微,因此H(T)≈ λTe-λ(T+C)1-e-λ(T+C)。在實驗中,假設平均切換時間為2 h,則λ=1.389 9×10-4,實驗時檢查點開銷C平均為2 s。代入λ和C的值繪制Η(T)≈ λTe-λ(T+C)1-e-λ(T+C)的函數圖像,得到H(T)取最大值時的Topt值。
圖7為當C=2 s且λ=1.389×10-4時的部分函數圖像,其橫坐標為T,縱坐標為有效利用率H。
由圖7可知,當0
3 實驗與測試
本實驗依托于現有HDFS,在四臺Vmware虛擬機環境中搭建了Haoop3.7.1集群,其中包含主機名為master、slave1、slave2、slave3,對應實驗中的nn1、nn2、nn3、nn4四個節點。通過修改對應的配置文件和編寫切換腳本,簡要模擬了擬態存儲系統的同步和切換過程。針對預同步模型的效率提升、同步的準確性和性能損失方面,設計了三個部分實驗:首先比較引入預同步機制前后的同步數據量大小和同步時間差異;其次對新上線執行體的元數據與其余執行體進行了一致性對比;最后測量了引入預同步機制前后的讀寫吞吐速率。
3.1 時間開銷
為評估預同步機制在元數據同步方面的效率,將執行體上線前所需同步的數據量大小和同步時間作為關鍵的評價指標。實驗將預同步機制下的同步上線開銷與現有同步方案進行了比較?,F有的擬態存儲系統采用全量同步策略,即執行體上線前,將同步源的所有元數據文件逐一發送至待上線節點。
在全量同步和預同步兩種策略下,同步時間通常包括元數據文件傳輸和重放日志以恢復狀態的時間。在此實驗中,僅計算元數據文件的傳輸時間,不考慮重放日志的時間,且預同步機制能夠定期合并日志,其需重放的日志數量也顯然少于全量同步。因此,實驗使用TestDFSIO工具分別測試在HDFS中寫入30、50、100、200、400個10 M文件時所需傳輸的元數據文件(鏡像文件和操作日志)的大小。在原有的擬態架構中,當節點新上線時,其內部數據為空,需完全同步鏡像和日志文件。相比之下,引入預同步機制后,因備用執行體在異構池時已由檢查點提前同步了主節點的鏡像文件,只需再同步日志文件即可。由圖8可知,隨著系統處理的數據量和業務量不斷增加,執行體鏡像文件所存儲的數據規模也逐漸擴大。由此導致全量同步的數據量逐漸增加,而預同步卻能保持相對穩定。
當網絡帶寬為2 Mbps時,繪出其傳輸所需時間曲線,如圖9所示。在2 Mbps的網絡帶寬下,當寫入文件數為30時,預同步的開銷減小并不明顯,同步時間僅縮短了2 ms;而當寫入文件數增加到400時,預同步比全量同步方案的時間開銷減小了18 ms。隨著網絡帶寬的增加,數據同步的開銷相應減少,預同步和全量同步方案間的差距亦隨之變小。當網絡帶寬增加到20 Mbps,寫入文件數為400時,兩種方案的同步時間差縮短為1.8 ms。這表明擬態預同步機制在網絡質量較差且處理文件數較多的情況下表現出更加明顯的優勢,而在網絡質量好或處理文件較少也始終優于原擬態的全量同步方案。無論系統的規模和業務量如何增長,擬態預同步機制始終能夠保持穩定和較高的同步效率,保證系統流暢的調度切換以支撐服務的連續性。
3.2 元數據一致性
實驗前各執行體的元數據為空,無任何文件,故可通過對比新上線執行體與已在線執行體的文件一致性,以檢驗預同步的正確性。為此,選取圖3的切換情況進行驗證,在實際的擬態調度環境中,切換工作不會在所有日志均由檢查點操作合并后再進行,故本實驗分兩種情況來驗證預同步的準確性:a)驗證合并節點nn4上線前已完全同步主節點的操作日志并生成鏡像文件的情況;b)驗證nn4上線前并未完全同步主節點所有操作日志的情況。
首先驗證情況a),將a.txt文件上傳至擬態HDFS的根目錄下,待nn4經檢查點合并完操作日志生成新的鏡像文件后,進行調度切換工作。模擬反饋控制模塊對nn1和nn4進行下線和上線指令后,在其選定的主節點nn3上啟用切換腳本sync.sh。圖10為切換過程中的配置同步信息,切換完成后驗證新上線的nn4節點,發現其狀態已由備用執行體轉為Active執行體,在根目錄文件中顯示已將a.txt文件同步過來。
隨后驗證情況b),上傳a.txt文件至擬態HDFS的根目錄下,待上傳a.txt文件的操作日志被同步完成后上傳b.txt文件,不等合并節點nn4從主節點nn3獲取上傳b.txt的日志,反饋控制模塊發出切換命令,如圖11所示。
此時nn3的鏡像文件fsimage13中包含了a.txt的元數據信息并經檢查點同步給了備用執行體nn4,而文件b.txt上傳后還未進行檢查點操作就發生了切換動作,因此該文件的上傳日志并未寫入檢查點fsimage13中,而位于edits_inprogress14文件中。nn3的元數據目錄如圖12所示。
在進行切換工作后觀察新上線的nn4中是否存在b.txt文件。發現在nn4上線后,可以訪問a.txt和b.txt,觀察其元數據目錄發現它已成功同步了未在檢查點fsimage13文件的上傳b.txt文件的操作日志。nn4的根目錄文件和nn4的元數據目錄如圖13、14所示。之所以能將檢查點后的操作記錄同步至待上線執行體,是因為nn4節點在切換腳本中同步了編輯日志文件edits_inprogress14,所以可以恢復上傳b.txt文件至擬態HDFS的元數據信息,從而保證了在未完全同步日志下執行體切換前后元數據的一致性。實驗表明,在兩種同步日志的情況下,預同步模型均能保證擬態調度切換工作的可靠性。
3.3 性能損失
由于擬態預同步模型的檢查點機制有一定的性能損耗,為評估擬態預同步模型的性能,并分析前文所述CMEC方法所得間隔的優劣,使用基準測試程序TestDFSIO對比了擬態存儲系統在不同同步策略和同步間隔下讀寫操作的吞吐速率。具體比較了擬態系統現有的全量同步策略、預同步策略下的CMEC方法間隔170 s、小于CMEC間隔的固定間隔1(120 s)以及大于CMEC間隔的固定間隔2(220 s)這四種設置的性能差異。使用TestDFSIO工具分別測試上述四種方案在HDFS中讀寫30、50、100、200、400個10 M文件時的吞吐速率。
根據圖15和16的讀寫吞吐速率對比可知,隨著讀寫數據量的增加,各方案的吞吐速率均呈現出先快后慢的增長趨勢,全量同步策略在讀寫操作下的性能始終優于預同步策略。在預同步策略中,CMEC間隔在元數據讀寫操作下的性能表現最佳,僅次于全量同步方案。盡管在寫操作時與全量同步相比吞吐速率略有下降,特別在寫入文件數為100時,下降約5%。而在讀操作時,隨讀取數據量的增加,CMEC間隔的性能表現逐漸與全量同步相當。固定間隔為120 s的方案表現最差,因其小于CMEC間隔,頻繁的合并操作引入了更多的系統開銷,當寫入文件數為200時,CMEC間隔相對其提升了約6%的吞吐速率。固定間隔為220 s的方案表現略差于CMEC間隔,即便其檢查點數量更少。由于間隔過長,每個檢查點操作所需合并的日志數據開銷也隨之增加,這導致該間隔下系統的讀寫性能略低于最佳間隔。
在擬態架構中引入預同步機制雖對性能有一定影響,但若按本文所提的CMEC方法設置預同步模型中的檢查點間隔,可以將損失降至最低。這表明預同步機制引入的性能損失是可承受的,且隨處理數據量的增加,損失率逐漸降低,這與本文預同步模型的初衷和適用場景不謀而合。
3.4 應用與局限性分析
由于分布式存儲大多基于云計算和大數據的環境搭建,其數據體量本身較為龐大,同時需不斷地擴容以應對增長的業務需求。在實際應用中如何保證調度切換時系統始終能高效地同步數據,而不因數據量的增加降低同步效率至關重要。本文方法可適用于擬態存儲系統,解決隨著集群規模不斷增擴大而導致的業務量和數據量快速增長的問題。另外,本文方法還可在其他類似的擬態架構中使用。同時,本文方法亦能作為數據同步的一種參考方案,如云計算平臺、大規模數據中心等場景。希望研究結果能為擬態場景下的高效數據同步方法提供有益的參考和借鑒。
然而,本文方法在預同步機制的數據一致性驗證上仍存在著一定的局限性,其中網絡中的數據延遲和數據質量問題可能會導致數據的不完整和同步的失敗。為了提高預同步模型的同步準確率,需要結合實際擬態環境的數據一致性驗證進一步地研究和改進。
4 結束語
為了應對擬態系統在數據量和業務量持續增加的情況下,調度切換時元數據同步效率低下的問題,本文提出了一種新穎的解決思路。通過在原有擬態架構中引入檢查點機制來建立預同步模型,利用合并節點實現對元數據文件的預先同步進而提升同步效率。在新上線的執行體加載已同步的鏡像文件后,只需花費少量時間重放日志即可投入運行,保證了系統的穩定性和服務的連續性。此外,根據模型的同步特性和調度切換情況,在建立執行周期模型的基礎上提出了CMEC方法,通過最大化每個周期中的有效工作率推導出最優檢查點間隔,較好地平衡了檢查點開銷和回滾開銷。實驗結果表明,本文方法可提高擬態系統中的元數據同步效率,同時利用CMEC方法最小化對預同步機制對系統性能的影響,具有良好的可靠性和實用性。后續將進一步優化CMEC方法間隔的設置,記錄每個執行周期的檢查點開銷,以實現動態調整檢查點間隔。
參考文獻:
[1]Yu Haiyang,Li Hui,Yang Xin,et al.On distributed object storage architecture based on mimic defense[J].China Communications,2021,18(8):109-120.
[2]Lin Zhili,Li Kedan,Hou Hanxu,et al.MDFS:a mimic defense theory based architecture for distributed file system[C]//Proc of IEEE International Conference on Big Data.Piscataway,NJ:IEEE Press,2017:2670-2675.
[3]Song Ke,Wei Shuai,Zhang Wenjian,et al.An equivalent scheduling strategy for cyberspace mimicry defense based on security priority[C]//Proc of International Conference on Advanced Mechatronic Systems.Piscataway,NJ:IEEE Press,2018:52-57.
[4]鄔江興.網絡空間擬態防御研究[J].信息安全學報,2016,1(4):1-10.(Wu Jiangxing.Research on mimic defense in cyberspace[J].Journal of Information Security,2016,1(4):1-10.)
[5]郭威,謝光偉,張帆,等.一種分布式存儲系統擬態化架構設計與實現[J].計算機工程,2020,46(6):12-19.(Guo Wei,Xie Guangwei,Zhang Fan,et al.Design and implementation of a mimic architecture for distributed storage system[J].Computer Engineering,2020,46(6):12-19.)
[6]劉昕林,黃建華,羅偉峰,等.動態異構冗余架構下Web實踐及安全性分析[J].計算機應用,2021,41(S1):125-130.(Liu Xinlin,Huang Jianhua,Luo Weifeng,et al.Web practice and security analysis under dynamic heterogeneous redundant architecture[J].Journal of Computer Applications,2021,41(S1):125-130.)
[7]劉文賀,賈洪勇,潘云飛.基于執行體防御能力的擬態防火墻執行體調度算法[J].計算機科學,2022,49(S2):690-695.(Liu Wenhe,Jia Hongyong,Pan Yunfei.Mimic firewall executor scheduling algorithm based on executor defense ability[J].Computer Science,2022,49(S2):690-695.)
[8]顧澤宇,張興明,林森杰.基于擬態防御理論的SDN控制層安全機制研究[J].計算機應用研究,2018,35(7):2148-2152.(Gu Zeyu,Zhang Xingming,Lin Senjie.Research on security mechanism for SDN control layer based on mimic defense theory[J].Application Research of Computers,2018,35(7):2148-2152.)
[9]萬仕賢,趙瑜,吳承榮.擬態數據庫的網絡攻擊抵御能力評估和實證[J].計算機應用與軟件,2022,39(1):319-327.(Wan Shi-xian,Zhao Yu,Wu Chengrong.Evaluation and demonstration of network attack resistance of mimetic database[J].Computer Applications and Software,2022,39(1):319-327.)
[10]樊永文,朱維軍,班紹桓,等.動態異構冗余數據保護安全架構[J].小型微型計算機系統,2019,40(9):1956-1961.(Fan Yongwen,Zhu Weijun,Ban Shaohuan,et al.Dynamic heterogeneous and redundancy data protection architecture[J].Journal of Chinese Computer Systems,2019,40(9):1956-1961.)
[11]李軍飛,蘭巨龍,胡宇翔,等.SDN多控制器一致性的量化研究[J].通信學報,2016,37(6):86-93.(Li Junfei,Lan Julong,Hu Yuxiang,et al.Quantitative approach of multi-controllers consensus in SDN[J].Journal on Communications,2016,37(6):86-93.)
[12]Qi Chao,Wu Jiangxing,Hu Hongchao,et al.Dynamic-scheduling mechanism of controllers based on security policy in software-defined network[J].Electronics Letters,2016,52(23):1918-1920.
[13]楊珂,張帆,郭威.一種基于執行體的歷史信息和異構性的置信目標快速構建算法[J].信息工程大學學報,2021,22(6):694-698.(Yang Ke,Zhang Fan,Guo Wei.Fast construction algorithm for confidence targets based on historic information and heterogeneity of executive bodies[J].Journal of Information Engineering University,2021,22(6):694-698.)
[14]Frank A,Baumgartner M,Salkhordeh R,et al.Improving checkpoin-ting intervals by considering individual job failure probabilities[C]//Proc of IEEE International Parallel and Distributed Processing Symposium.Piscataway,NJ:IEEE Press,2021:299-309.
[15]Akber S M A,Chen Hanhua,Wang Yonghui,et al.Minimizing overheads of checkpoints in distributed stream processing systems[C]//Proc of the 7th International Conference on Cloud Networking.Pisca-taway,NJ:IEEE Press,2018:1-4.
[16]Gelenbe E,Siavvas M.Minimizing energy and computation in long-running software[J].Applied Sciences,2021,11(3):1169.
[17]Siavvas M,Gelenbe E.Optimum interval for application-level checkpoints[C]//Proc of the 6th IEEE International Conference on Cyber Security and Cloud Computing.Piscataway,NJ:IEEE Press,2019:145-150.
[18]Zhang Zhan,Li Wenhao,Qing Xiao,et al.Research on optimal checkpointing-interval for flink stream processing applications[J].Mobile Network and Applications,2021,26(5):1950-1959.
[19]Zhai Yongning,Li Weiwei.The optimal checkpoint interval for the long-running application[J].International Journal of Advanced Pervasive and Ubiquitous Computing,2017,9(2):45-54.
[20]Yao Kai,Zhou Jian.Renewal reward process with uncertain interar-rival times and random rewards[J].IEEE Trans on Fuzzy Systems,2018,26(3):1757-1762.
收稿日期:2023-02-22;修回日期:2023-04-11? 基金項目:國家重點研發計劃專項資助項目(2022YFB3104300)
作者簡介:李婉桃(1999-),女,湖南郴州人,碩士,主要研究方向為擬態安全;張帆(1981-),男(通信作者),河南鄭州人,副研究員,博士,主要研究方向為主動防御、人工智能等(zhangfan@pmlabs.com.cn);陳鑫(1989-),男,江蘇泗陽人,碩士,主要研究方向為主動防御、擬態分布式文件存儲系統;朱進(1989-),男,江蘇泰州人,碩士,主要研究方向為主動防御、擬態分布式文件存儲系統;黃瀟(1991-),男,江蘇徐州人,碩士,主要研究方向為主動防御、擬態分布式文件存儲系統.