新四季網

一種內存過載控制的方法及裝置的製作方法

2023-04-30 05:40:16

專利名稱:一種內存過載控制的方法及裝置的製作方法
技術領域:
本發明涉及內存管理方法及其裝置。具體地,本發明涉及一種內存過載的控制方法與裝置。
背景技術:
在應用服務環境中,持續增加的內存應用一旦達到最大內存限制(maximum heapsize),就會導致應用伺服器的崩潰,內存過載(memory overload)正在成為內存管理性能的關鍵挑戰。現有技術中,當判斷會發生內存過載時,採用內存垃圾回收(GarbageCollection,GC)提供一部分內存,但是,內存回收本身也需要佔用大量的系統資源,在高內存佔用率(heap utilization)時,頻繁的內存垃圾回收(GC)往往會導致嚴重的後果,此夕卜,當內存佔用率達到一定門限,即便頻繁進行垃圾回收也不能避免內存過載。現有技術中,另外一種通常的內存過載管理方法是,當判斷會發生內存過載,則丟棄掉進來的請求(incoming request)不作處理,以降低應用程式所導致的內存消耗,這種方法的缺點是丟棄了本應該處理的請求,犧牲了服務質量。綜上,基於簡單的是否會發生內存過載所進行的內存過載管理技術仍然存在改善的空間。

發明內容
本發明的目的提供一種是根據內存過載的預測參數進行內存管理的方法及裝置。為實現上述目的,本發明提供一種內存過載管理的方法,用於包含至少一個節點的計算機系統中,所述方法包括採集所述節點的內存應用信息;基於所述內存應用信息,預測會發生內存過載的第一節點的內存過載期間和過載內存大小;根據所述內存過載期間和所述過載內存大小進行內存空間調度。本發明還提供一種可處理內存過載管理的系統,包括至少一個節點,其特徵在於,還包括內存信息收集控制裝置,用於收集所述節點的內存應用信息並發送至給內存管理控制器;所述內存管理控制器,用於,基於所述內存應用信息,預測會發生內存過載的第一節點,並計算所述第一節點的內存過載期間和過載內存大小;根據所述內存過載期間和所述過載內存大小進行內存空間調度。本發明還提供一種內存信息收集控制裝置,應用於包括至少一個節點的計算機系統中,其特徵在於所述內存信息收集控制裝置與至少一個所述節點耦接,用於採集內存應用信息,發送至內存管理控制裝置,所述內存過載管理控制裝置用於預測會發生內存過載的第一節點,計算所述第一節點的內存過載期間和過載內存大小,並根據所述內存過載期間和所述過載內存大小,進行內存空間調度。本發明還提供一種內存過載控制裝置,應用於包括多數個節點的計算機系統中,其特徵在於所述內存過載控制裝置用於根據所述節點的內存應用信息,預測會發生內存過載的第一節點,計算所述第一節點的內存過載期間和過載內存大小,根據所述內存過載期間和所述過載內存大小命令進行內存空間調度。


本發明的這些和其他特徵將從伴隨的詳細描述和附圖更顯見,其中圖I示出本發明一實施方式進行內存過載管理的方法的流程圖;圖2示出本發明一改進的內存空間調度方法流程圖;圖3示出預測過載期間T和過載內存大小R的方法流程圖;圖4示出應用最小二乘法的進行線性擬合的例子;圖5不出根據擬合關係映射出內存負載時間分布;圖6示出過載波峰的合併以及確定內存過載大小R的示意圖;圖7示出確定遷移目標之示意圖;圖8示出內存過載管理系統結構示意圖;圖9示出應用Websphere XD的節點。
具體實施例方式所屬技術領域的技術人員知道,本發明可以體現為系統、方法或電腦程式產品。因此,本發明可以具體實現為以下形式,即,可以是完全的硬體、完全的軟體(包括固件、駐留軟體、微代碼等)、或者本文一般稱為「電路」、「模塊」或「系統」的軟體部分與硬體部分的組合。此外,本發明還可以採取體現在任何有形的表達介質(medium of expression)中的電腦程式產品的形式,該介質中包含計算機可用的程序碼。可以使用一個或多個計算機可讀介質的任何組合。計算機可讀介質可以是計算機可讀信號介質或計算機可讀存儲介質,計算機可讀存儲介質例如可以是一但不限於一電的、磁的、光的、電磁的、紅外線的、或半導體的系統、裝置、器件或傳播介質、或前述各項的任何適當的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括以下有一個或多個導線的電連接、可攜式計算機磁碟、硬碟、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或快閃記憶體)、光纖、可攜式緊湊磁碟只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或前述各項的任何適當的組合。在本文語境中,計算機可讀存儲介質可以是任何含有或存儲供指令執行系統、裝置或器件使用的或與指令執行系統、裝置或器件相聯繫的程序的有形介質。計算機可讀信號介質可以包括例如在基帶中或作為載波的一部分傳播的帶有計算機可讀程序代碼的數據信號。這樣一種傳播信號可以採取任何適當的形式,包括-但不限於-電磁的、光的或其任何適當的組合。計算機可讀信號介質可以是不同於計算機可讀存儲介質的、可以傳達、傳播或傳輸供指令執行系統、裝置或器件使用的或與指令執行系統、裝置或器件相聯繫的程序的任何一種計算機可讀介質。包含在計算機可讀介質中的程序代碼可以採用任何適當的介質傳輸,包括-但不限於-無線、有線、光纜、射頻等等、或上述各項的任何適當的組合。用於執行本發明的操作的電腦程式碼,可以以一種或多種程序設計語言的任何組合來編寫,所述程序設計語言包括面向對象的程序設計語言-諸如Java、Smalltalk、C++之類,還包括常規的過程式程序設計語言-諸如」 C」程序設計語言或類似的程序設計語言。程序碼可以完全地在用戶的計算上執行、部分地在用戶的計算機上執行、作為一個獨立的軟體包執行、部分在用戶的計算機上部分在遠程計算機上執行、或者完全在遠程計算機或伺服器上執行。在後一種情形中,遠程計算機可以通過任何種類的網絡一包括區域網(LAN)或廣域網(WAN)-連接到用戶的計算機,或者,可以(例如利用網際網路服務提供商來通過網際網路)連接到外部計算機。以下參照按照本發明實施例的方法、裝置(系統)和電腦程式產品的流程圖和/或框圖描述本發明。要明白的是,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程 序指令實現。這些電腦程式指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得通過計算機或其它可編程數據處理裝置執行的這些指令,產生實現流程圖和/或框圖中的方框中規定的功能/操作的裝置。也可以把這些電腦程式指令存儲在能指令計算機或其它可編程數據處理裝置以特定方式工作的計算機可讀介質中,這樣,存儲在計算機可讀介質中的指令產生一個包括實現流程圖和/或框圖中的方框中規定的功能/操作的指令裝置(instruction means)的製造品。也可以把電腦程式指令加載到計算機或其它可編程數據處理裝置上,使得在計算機或其它可編程數據處理裝置上執行一系列操作步驟,以產生計算機實現的過程,從而在計算機或其它可編程裝置上執行的指令就提供實現流程圖和/或框圖中的方框中規定的功能/操作的過程。下面結合附圖詳細描述本發明的具體實施方式
。圖I是按照本發明一實施方式進行內存過載管理的方法的流程圖。本實施方式所涉及的方法流程可以應用於包含至少一個節點的計算機系統中,特別是在一個例子中,應用於包含至少一個節點的集群中。採集所述節點的內存應用信息;基於所述內存應用信息,預測會發生內存過載的第一節點的內存過載期間和過載內存大小;根據所述內存過載期間和所述過載內存大小進行內存空間調度。在步驟101,採集節點的內存應用信息。內存應用信息是可以用來預測內存過載期間(T)和過載內存大小(R)的信息,可以包括節點服務請求率(request arrival rate),以及對應時刻的內存實際需求(required memory),該節點服務請求率(request arrivalrate)是指單位時間對節點服務請求的數量,當節點作為應用伺服器時,就是發送給應用伺服器的請求數量。該內存實際需求(required memory)是節點的內存使用狀態。在該步驟中,既可以周期性的收集內存應用信息,也可以非周期性的收集。在步驟102,基於採集到的內存應用信息,預測會發生內存過載的第一節點的內存過載期間⑴和過載內存大小(R)。在該步驟中,內存過載期間(T)是會發生內存過載的時間段,至少包含一個發生過載的時間段。其中,過載內存大小(R)是發生內存過載的時間段內存溢出的大小。可選的,在該步驟中還可以增加一判斷步驟,當預測到會發生內存過載時才進一步預測內存過載期間(T)和過載內存大小(R),如果不會發生內存過載,則返回步驟101。
在步驟103,根據所述內存過載期間和所述過載內存大小進行內存空間調度。作為優選的方式,通過該步驟的處理可調度出足夠的內存空間。當然,即內存空間調度的結果也不一定會提供足夠的內存空間,但也會在一定程度上減少丟棄的內存服務請求數量,或者在一定程度上降低內存過載的負面影響。用以處理會導致所述第一節點發生內存過載的節點服務請求。傳統內存過載管理方法僅能夠根據一預設的門限值確定過載是否要發生。由於節點實際提供的內存不會超出其自身內存的最大值,通過實測記錄進行內存負載時間分布分析(memory load profile)是不可行的,不能確定內存過載的具體參數,特別是過載的持續期間、過載內存的大小,因此,現有技術中不具有根據內存過載的具體參數進行內存過載管理的可能性。本實施方式中重要改進之一就是提出了根據內存過載的具體參數進行更具針對性的進行內存空間調度,從而能夠處理會導致所述第一節點發生內存過載的節點服務請求,處理該些節點服務請求會佔用節點的內存。步驟103中內存空間調度的具體實現上,可以採用現有技術中的方式,例如,可以提前進行GC,以準備好足夠的內存空間處理高峰時刻的節點服務請求。或者,可以提前用後備存儲設備中準備足夠的內存空間。雖然將步驟102與現有的內存空間調度技術結合作為完整的方案可以對內存過載的管理有了一定程度的改進,但是GC的處理仍然會影響節點的運行,或者還需要額外的內存設備,仍然存在進一步改進的空間。因此,步驟103中的內存空間調度也可採用相對於現有方式有所改進的內存空間調度方法,接下來敘述的圖2涉及的內存空間調度方法就是一種可選的替代方式,能夠起到進一步的改進的效果,提供更為有效的過載內存管理。圖2示出圖I中步驟103的一種改進的內存空間調度的方法流程,包括步驟201到步驟203。在步驟201,確定遷移目標,所述遷移目標包括至少一個第二節點,並且,所述遷移目標至少可以在所述內存過載期間(T)提供至少具有過載內存大小(R)的可用內存。在該步驟中,既可以單獨由一個第二節點提供第一節點所需的可用內存,也可以由多個第二節點共同提供,即每個第二節點根據具體的情況貢獻大小不同的可用內存,但需保證各個第二節點所提供的可用內存之和至少等於第一節點所需要的內存。在步驟202,將所述第一節點中所述過載內存大小(R)的遷移數據在所述內存過載期間(T)之前遷移到所述遷移目標。具體實現上,根據T、R以及遷移目標信息,發出遷移指令,所述遷移指令用於將所述第一節點中所述過載內存大小(R)的遷移數據在所述內存過載期間(T)之前遷移到所述遷移目標。
在一個例子中,可以將不迫切需要的內存數據轉移到空閒的伺服器上,例如是做備份數據(replica data),當然,不迫切需要的數據是所屬領域技術人員根據實際情況自行確定的。通過預測過載內存大小(R)和內存過載期間(T),以及相應閒散資源的空間和時間間隔,把不迫切需要的數據遷移到被選定的空閒節點上,可以利用系統裡的閒置資源來增大一個過載伺服器的服務容量,「閒散」是由於每個業務負載隨著時間的profile不一樣,所認定的不迫切需要的數據。主數據(primary data)與備份數據(replica data)均會導致內存過載,因此,在另一個實施例中,還可以遷移主數據,特別是有些情形下,沒有備份數據O^plica data)只有主數據(primary data)時,仍然可以執行遷移,將請求重定向到遷移後的節點進行處理,還需要遷移內存中的數據,並且把應用伺服器的運行時邏輯也遷移過去,同時通知前臺的請求分配系統這樣的變化,才能夠處理重定向後的請求。在步驟203,所述內存過載期間(T)結束後,所述目標節點將所述遷移數據恢復至所述第一節點。該步驟為一可選步驟。圖3示出圖I中預測所述過載期間T(即步驟102)的例子。圖I中的步驟102可以包括步驟301到步驟302。在步驟301,根據內存實際需求(Required Memory)、節點服務請求率(requestarrival rate)的歷史數據,生成完整的內存負載時間分布圖。歷史數據僅能記載部分實際發生的內存負載時間分布,不能提供包含內存溢出(Out of memory)時的完整的負載曲線(load profile)。在本申請的一個實施例中,巧妙的通過節點服務請求率(request arrival rate)與內存實際需求(Required Memory)之 間的關聯關係生成完整的內存負載時間分布,即計算內存負載L與需求到來率Ar之間的關聯關係Ar,L = f (Ar),從而得到包含了內存過載時的完整的內存負載時間分布。在圖4所示的實施例中,可應用線性回歸確定擬合關係的方式計算關聯關係,即L與Ar為線性關係L = a*Ar+b,確定待定係數a和b。具體而言,在該實施例中,橫坐標表示節點服務請求率(Request Arrival Rate),是指單位時間內節點服務請求的數量,該圖中縱坐標表示需求內存數量(Required Memory),因此,每個採樣數據點表示的是節點服務請求率與真實的需求內存數量之間的對應關係。進一步的,可採用最小二乘法完成線性擬合,確定出待定係數a和b,在該圖所示的例子中,a = 0. 2, b = O。在關聯關係的計算中,採用線性回歸可以擬合處理所有情況,對於一些特殊的情況,應用線性回歸可以實現基本的效果,而應用非線性回歸則可以達到更好的效果,例如,在一個例子中,對於同一個session中的若干請求,可能是第一個請求出發了寫操作,佔用了內存,但是後面幾個請求促發的是讀操作,讀取第一個請求寫入內存的數據,這樣後面幾個請求不會佔用和第一個請求一樣比例的內存,因此是非線性關係的,這種情況非線性擬合效果會好於線性擬合。此外,在一個例子中,還可以同時執行線性擬合和非線性擬合,用方差作為評價兩種方案的尺度,選擇方差小的擬合方案執行映射。參看圖5,採用上述方法流程,根據節點服務請求率(Request Arrival Rate)與內存實際需求(Required Memory)兩者歷史數據所擬合出的映射關係,可以得到完整的內存負載時間分布(memory load profile),內存負載時間分布可以數據文件的方式存在,所屬領域技術人員可以靈活設定其存儲位置。該內存負載時間分布可用來在後續步驟中計算內存過載期間(T)和過載內存大小(R),還可在後續步驟中用來確定遷移目標。內存負載時間分布既可以周期性或非周期性的生成,也可以按需生成。通常是統計一段時間內的內存應用信息,離線生成。在一個例子中,應用步驟101收集的信息,以離線的方式做每個節點服務的profile曲線,例如最近10個星期的統計,周一,周二,周三,周四,周五,分別給出一條profile的曲線。或者不區分周幾統一給出profile的曲線。在步驟302,根據內存負載時間分布的過載峰值確定所述內存過載期間(T).
如果該內存負載時間分布是事先離線生成的,在發生過載的時候被調用來預測T和R。當然,也可以根據保存的內存應用信息按需以在線的方式生成。首先,確定會發生內存溢出(out of memory)的峰值期間,可設定一內存門限值Mthreshht5ld,內存負載時間分布中超過該門限值的部分就是會發生內存過載的部分。參看圖6,在一個實施例中,如果兩個峰值期間的間距小於預設的門限值Tinteval,則進行合併,從而形成最 右側所示的曲線形狀,可以避免進行頻繁的負載遷移,所屬領域技術人員可以基於具體情況確定Tinteval的數值。然後,根據超出內存過載門限M—的峰值的持續時間預測過載的持續期間。接下來,進一步描述圖I中步驟102預測過載內存大小R的實施例。圖I中的步驟102可以進一步包括步驟303到步驟304。步驟303 :通過比較確定,取得內存過載期間⑴內最大的需求內存值Mmax ;步驟304 :參看圖6所示的確定內存過載大小R示意圖,設定R = Mmax-Mttoeshhtjld,在另一個實施例中還可以考慮預測的誤差Me,即R
Mmax Mthreshhold+Me。圖7所示以兩個特定節點為例,示意了如何確定遷移目標,用以輔助說明圖2中的步驟202。第一節點,在一個實施例中,主要用於處理呼叫控制服務(call controlservice),具有如圖7上部分所示的內存負載時間分布,通信的高峰通常出現在上班時間,因此在上午和下午所在的時間段會出現高峰。第二節點,在一個實施例中,主要用於處理C2C (Click to call)服務,具有如圖7下部分所示的內存負載時間分布,其原因可能是該服務的高峰通常在下班後,因此,內存負載分布的高峰出現在晚上的時段。兩者的內存負載時間分布具有不同時間分布特性,其背後所體現的日常生活規律僅是為了進行說明,而不是為了對本申請進行限制,由於各種原因所導致的處理不同應用的節點會具有的不同的內存負載profile,都可帶來優化內存控制的空間。在圖7所示的實施例中,步驟202的具體體現如下,負責呼叫控制服務(callcontrol service)的第一節點,在tl時刻發生內存過載,內存過載期間T是9個小時,內存過載大小R是2. 5GB。根據該分析結果,負責C2C服務的第二節點是適格的遷移目標,也就是說,第二節點在第一節點發生過載的9小時會有2. 5GB的空閒內存。進一步的,第二節點可在時刻tl之前進行遷移,將2. 5GB的複製數據發送至Node B。遷移時間可適當提前於實際發生過載的時刻,本領域技術人員可根據實際情況選擇遷移的時間,以使得有足夠的時間進行遷移。圖8是按照本發明一實施方式用於內存過載管理的系統結構圖。該系統中包含多數個節點801 805,多數個內存信息收集控制裝置811 812,內存管理控制裝置830。該系統可以用於解決節點內存在節點服務請求峰值階段過載的問題。內存信息收集控制裝置801 805分別與各節點801 805耦接,用於收集與其耦接的節點的內存應用信息並發送至內存管理控制裝置830。各內存信息收集控制裝置是獨立的功能單元,具體的實施上,既可以用與節點相獨立的裝置來實現,也可以通過在節點增加內存信息收集控制功能來實現。內存管理控制器830用於進行內存管理,用於響應於內存應用信息,預測會發生內存過載的第一節點,計算所述第一節點的內存過載期間(T)和過載內存大小(R),還可用於根據所述內存過載期間和所述過載內存大小進行內存空間調度,用以處理會導致所述第一節點發生內存過載的節點服務請求。在一個實施例中,內存管理控制器830的功能可以拆分成多個子功能單元,例如包括過載分析器和內存管理控制器,其中,該過載分析器,響應於內存應用信息,預測會發生內存過載的第一節點,計算所述第一節點的內存過載期間(T)和過載內存大小(R),過載分析器可以實現圖I、圖2中中計算內存過載期間和過載內存大小的方法流程。其中,內存空間調度控制器,根據所述內存過載期間和所述過載內存大小進行內存空間調度,用以處理過載的節點服務請求。 如前所述,可以採用現有技術調度出足夠的內存以處理過載的節點服務請求,從而形成完整的內存過載管理系統,但是,仍然存在進一步改進的空間。在圖8所示的實施方式中,還對內存管理控制器830做了進一步的改進,可用於實現圖I中步驟S103以應用新的內存空間調度方案,確定出遷移目標,遷移目標包括至少一個過載節點以外的第二節點,並且,所述遷移目標至少可以在所述內存過載期間(T)提供至少具有過載內存大小(R)的可用內存。上述改進的內存調度可在通過主數據(primary data)和備份數據(replicadata)的情形下應用,在該情形中,為了保證節點中主數據(primary data)的可靠性,主數據會被複製到內存複製系統(memory replication system)之中,這樣的話如果有節點出問題,主數據可以完全恢復出來使得系統繼續工作,這種分散是一種用來實現高可用性的部署。圖8中節點801中主數據A在節點802、節點803中具有備份數據A』和A」,其它節點也具有類似的存儲方式。此處需要強調的是,圖8中所示節點的存儲方式僅是為了說明改進的內存空間調度控制器,如果內存空間調度控制器採用傳統的方式,則不必採用主數據與備份數據分散的存儲方式。內存空間調度控制器確定出適格的遷移目標,該遷移目標僅包括804節點,然後在所述內存過載期間(T)之前發出進行數據遷移的命令,數據發送、接收模塊根據該命令進行數據的遷移。由於數據發送接收裝置是所屬領域公知的技術,其具體實現細節在此不作贅述。需要說明的是,數據發送接收裝置的位置是可選的,既可以獨立設置,在一個例子中,當用於數據發送、接收的模塊位於內存信息收集控制裝置中時,則將數據遷移的命令發送給內存信息收集控制裝置。信息收集控制裝置將發生過載的第一節點中至少所述過載內存大小(R)的遷移數據在所述內存過載期間(T)之前遷移到所述遷移目標。對於圖8所示的實施方式而言,參看虛線所示的方向,過載節點801中的備份數據C」被遷移到遷移目標804中。可選的,內存信息收集控制裝置在所述內存過載期間(T)之後,將遷移數據恢復至所述第一節點。採用基於分析(profile-based)的解決方案,被選擇的目標節點在將複製數據返回原節點時,也能夠進一步避免內存過載。在一個改進的實施例中,內存應用信息包括節點服務請求率和實際內存負載需求,內存管理控制器830還用於根據所述需求到達速率和所述實際內存負載需求的歷史記錄計算出兩者的關聯關係,進而根據所述關聯關係,計算出內存負載時間分布(profile),具體方案可應用圖2、圖3、圖4所公開的方法,所屬領域技術人員在此基礎上,也可在其它裝置中,例如,還可在內存信息收集控制裝置上離線或在線計算內存負載時間分布。內存負載時間分布用於確定內存內存過載期間(T)以及所述過載內存大小(R),或者用於確定遷移目標。對於本領域技術人員而言,在圖I至圖7以及說明書中記載的各種方法流程的基礎上,可以不費創造性的勞動在圖8所示的系統中實現,因此,將不再一一贅述如何在圖8中具體實現上述各個方法步驟。圖9所示的是節點的一個具體實施方式
,表示在節點中應用IBM公司的WebSphereExtended Deployment (Websphere XD)時的系統不意圖。WebSphere Extended Deployment, Websphere XD 包括 VE (Virtual Enterprise)和XS(eXtreme Scale)兩個重要的組成部分,VE用於提供大規模應用託管(hosting)的能力,並且改善服務質量,XS是大規模的內存複製系統,可以提高VE的可用性(availability)。具體到圖9所示的實施方式中,作為應用伺服器的節點裡面裝載的VE是應用的運行時處理邏輯,負責處理應用請求APP#1,APP#2等。為了保證VE的應用數據(即主數據,primary data)的可靠性,應用數據會被複製到內存資料庫之中,這樣的話如果有VE節點出問題,應用數據可以完全恢復出來使得系統繼續工作。XS通過primary和replica的分散來實現高可用性(High Availability,HA)。每個主數據(primary data)具有k個對應的備份碎片,在其它服務容器中(other servercontainer),當主數據fail的時候,它的備份(replica)立即會接管它的工作。VE和XS既可以被部署在虛擬機上,也可以被部署在實體計算機中,通常一個VE只服務於一個應用。由於XS的內存空間構成比例是預先配置的,即使發生內存過載,XS的內存空間構成也沒有任何變化,這樣的話,當預測到會有過載發生時,節點服務請求必須被丟棄,因此,該圖所實例的節點可以作為實現以上技術方案的一個具體應用場景。需要強調的是,圖9所示的實施例並不是對本申請的限制,其中,VE僅是應用程式虛擬基礎設施的一種,應用程式虛擬基礎設施是一種提供應用程式虛擬化的平臺,它並不是應用伺服器,而是在應用伺服器之上運行,用來將應用伺服器聚合成一個網格或虛擬化環境。本領域技術人員在本發明公開信息的基礎上,還可以想到其它的替換方式,例如JBoss, Tomcat, BEA Weblogic 等。其中,XS 也是內存複製系統(In-Memory ReplicationSystem)的一種,內存複製系統能跨多個伺服器動態緩存、分區、複製和管理應用數據與業務邏輯,本領域技術人員在本發明公開信息的基礎上,還可以想到其它的替換方式,例如,Oracle Coherence、HStore、DynaCahe 等。在圖9所示的實施例中,對於使用內存複製技術的應用伺服器集群中,由於突發大量節點服務請求會造成內存過載,採用圖I到圖8所涉及的技術方案可以發現應用伺服器集群中互補的內存資源,實現對資源進行合理的遷移,使得現有技術中會被丟棄掉的內存需求能夠被處理。附圖I到9中的流程圖和框圖,圖示了按照本發明各種實施例的系統、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標註的功能也可以以不同於附圖中所標註的順序發生。例如,兩個接連地表示的方框實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基於硬體的系統來實現,或者可以用專用硬體與計算機指令的組合來實現。
就以上教導而言,可以有許多本發明的修改和變體,且許多修改和變體對於本領域的技術人員而言是明顯的。本發明的範圍由所附的權利要求所界定。
權利要求
1.一種內存過載管理的方法,用於包含至少一個節點的計算機系統中,所述方法包括: 採集所述節點的內存應用信息; 基於所述內存應用信息,預測會發生內存過載的第一節點的內存過載期間和過載內存大小; 根據所述內存過載期間和所述過載內存大小進行內存空間調度。
2.如權利要求I所述的方法,其特徵在於,所述根據所述內存過載期間和所述過載內存大小進行內存空間調度包括 確定遷移目標,所述遷移目標包括至少一個第二節點,至少可以在所述內存過載期間提供至少具有過載內存大小的可用內存; 發出遷移指令,所述遷移指令用於將所述第一節點中至少所述過載內存大小的遷移數據在所述內存過載期間之前遷移到所述遷移目標。
3.如權利要求2所述的方法,其特徵在於,在所述內存過載期間之後,將所述遷移數據恢復至所述第一節點。
4.如權利要求2所述的方法,其特徵在於,所述遷移數據為備份數據。
5.如權利要求2所述的方法,其特徵在於,所述遷移數據為所述第一節點的主數據,並且將指向所述第一節點的節點服務請求重定向到所述遷移目標中。
6.如權利要求I或2所述的任一項方法,其特徵在於, 所述內存應用信息包括節點服務請求率和實際內存負載需求; 根據所述節點服務請求率以及所述實際內存負載需求的歷史記錄確定兩者的關聯關係; 根據所述關聯關係,確定內存負載時間分布。
7.如權利要求6所述的方法,其特徵在於, 根據所述內存負載時間分布的過載峰值確定所述內存過載期間以及過載內存大小。
8.如權利要求6所述的方法,其特徵在於,根據所述內存負載時間分布的過載峰值確定所述遷移目標.
9.如權利要求7所述的方法,其特徵在於,如果兩個所述過載峰值的間隙小於一預設的時間閾值,則合併該兩個所述過載峰值所對應的波峰。
10.如權利要求6所述的方法,其特徵在於, 取得所述內存過載期間的最大需求內存值,所述過載內存大小為所述最大需求內存值與內存過載門限值之差。
11.一種內存過載管理系統,包括至少一個節點,其特徵在於,還包括 內存信息收集控制裝置,用於收集所述節點的內存應用信息並發送至給內存管理控制器; 所述內存管理控制器,用於,基於所述內存應用信息,預測會發生內存過載的第一節點,並計算所述第一節點的內存過載期間和過載內存大小;根據所述內存過載期間和所述過載內存大小進行內存空間調度。
12.如權利要求11所述的系統,其特徵在於, 所述內存管理控制器還用於確定遷移目標,所述遷移目標包括至少一個第二節點,並且,所述遷移目標至少可以在所述內存過載期間提供至少具有過載內存大小的可用內存;進而,發出遷移指令,所述遷移指令用於將所述第一節點中至少所述過載內存大小的遷移數據在所述內存過載期間之前遷移到所述遷移目標。
13.如權利要求12所述的系統,其特徵在於,所述內存管理控制器在所述內存過載期間之後,發出恢復指令,所述恢復指令用於將所述遷移數據恢復至所述第一節點。
14.如權利要求12所述的系統,其特徵在於,所述遷移數據為備份數據。
15.如權利要求11或12所述的任何一個系統,其特徵在於, 所述內存應用信息包括節點服務請求率和實際內存負載需求; 所述內存管理控制器還用於根據所述節點服務請求率和所述實際內存負載需求的歷史記錄確定兩者的關聯關係,進而根據所述關聯關係,計算出內存負載時間分布;
16.如權利要求15所述的系統,其特徵在於,所述內存管理控制器用於根據所述內存負載時間分布的過載峰值確定所述內存過載期間以及所述過載內存大小。
17.如權利要求15所述的系統,其特徵在於,根據所述內存負載時間分布確定所述遷移目標。
18.如權利要求16所述的系統,其特徵在於,所述過載內存大小為最大需求內存值與內存過載門限值之差,其中,所述最大需求內存值是內存過載期間的最大需求內存值。
19.一種內存信息收集控制裝置,應用於包括至少一個節點的計算機系統中,其特徵在於 所述內存信息收集控制裝置與至少一個所述節點耦接,用於採集內存應用信息,發送至內存管理控制裝置,所述內存過載管理控制裝置用於預測會發生內存過載的第一節點,計算所述第一節點的內存過載期間和過載內存大小,並根據所述內存過載期間和所述過載內存大小,進行內存空間調度。
20.一種內存過載控制裝置,應用於包括至少一個節點的計算機系統中,其特徵在於 所述內存過載控制裝置用於根據所述節點的內存應用信息,預測會發生內存過載的第一節點,計算所述第一節點的內存過載期間和過載內存大小,根據所述內存過載期間和所述過載內存大小發出內存空間調度指令,所述指令用於進行內存空間調度。
全文摘要
公開了一種用於內存過載管理的方法及裝置,用於包含至少一個節點的計算機系統中,主要技術要點包括採集所述多數個節點的內存應用信息;基於所述內存應用信息,預測會發生內存過載的第一節點,計算所述第一節點的內存過載期間和過載內存大小;根據所述內存過載期間和所述過載內存大小進行內存空間調度。還進一步對內存空間調度進行改進,可以發現多數個節點中互補的內存資源,實現對資源進行合理的遷移,使得現有技術中會被丟棄掉的節點服務請求能夠被處理。
文檔編號G06F12/02GK102622303SQ201110035178
公開日2012年8月1日 申請日期2011年1月30日 優先權日2011年1月30日
發明者史巨偉, 李立, 楊博, 王文杰 申請人:國際商業機器公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀