當前位置:學問君>學習教育>畢業論文>

CORBA對象生命週期的論文

學問君 人氣:2.65W

根據伺服對象的狀態把它們進行分類後,現在基於內存管理來定義Corba對象的分類。顯然,這個討論和伺服對象的生命週期密切相關。這裏側重於分類,所以只是簡單地討論一下內存管理問題,並在下面引入一通用管理模式

CORBA對象生命週期的論文

 1. 靜態Corba對象

靜態對象是在系統整個生命時期中存在的Corba對象。通常,這些對象是組件入口點例如, Corba命名服務必須提供一根命名上下文,用來創建新的命名層次。這個根命名上下文可歸類爲靜態的,因爲它始終存在。從內存管理的角度來看,靜態對象的實現是很簡單的。通常,靜態對象可透過在服務器主線中實例化伺服對象來實現,並把它直接綁定到相關的Corba對象(即早期綁定)。

2. 瞬態Corba對象

瞬態Corba對象並不和任何持久的狀態相關聯-它確實是瞬態的。通常,瞬態Corba對象綁定到有狀態伺服對象,即對象的狀態僅由伺服對象包含。不幸的是,這意味着瞬態Corba對象的生命週期緊密綁定到伺服對象的生命週期:瞬態Corba對象的創建必然導致伺服對象的立即激活,以實現對象。另一方面,伺服對象的銷燬會立即導致相關Corba對象的刪除,因爲所有的狀態都隨着伺服對象而消失。

瞬態對象的一個恰當例子是迭代器,它使用戶能反覆檢視查詢的結果集合。迭代器對象並不和任何持久的狀態綁定,因爲查詢結果通常是瞬態的。爲瞬態Corba對象找出好的內存管理策略會是很困難的。

 3. 持久Corba對象

最後,持久Corba對象和其他持久狀態相關聯,並由數據管理系統來維護。這使用戶可以爲這些對象的實現應用十分靈活的內存管理策略,因爲我們可以使用後期綁定來動態激活和凍結伺服對象。

4. 伺服對象池模式

對Corba對象實現的分類,說明了從內存管理的`角度來看,不同的對象有不同的需求。伺服對象池模式爲伺服對象管理定義了一個通用的框架。它的基本思想是包含一個池管理器,來管理激活伺服對象所在的池。每個伺服對象和一驅逐策略相關聯。該策略描述了伺服對象何時被逐出。池管理器有兩個角色:保持器和驅逐器。保持器保證對象在需要時存在。例如,瞬態對象不能重新創建,所以它必須保持到客戶機對它的請求完成。驅逐器必須保證伺服對象是經常被逐出的,以避免不必要的資源消耗。