欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于內(nèi)存復(fù)制系統(tǒng)進(jìn)行垃圾回收的方法和系統(tǒng)的制作方法

文檔序號(hào):6603636閱讀:187來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于內(nèi)存復(fù)制系統(tǒng)進(jìn)行垃圾回收的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及垃圾回收,特別涉及用于內(nèi)存復(fù)制系統(tǒng)進(jìn)行垃圾回收的方法和系統(tǒng)。
背景技術(shù)
為了提供內(nèi)存的高可用性(high availability)和故障時(shí)接管(failover),應(yīng)用服務(wù)器通常提供內(nèi)存復(fù)制(in-memory replication)機(jī)制,例如Oracle Coherence, Sun GlassFish Enterprise krver等產(chǎn)品。內(nèi)存復(fù)制的基本原理是,把一個(gè)節(jié)點(diǎn)服務(wù)器內(nèi)存中的數(shù)據(jù)備份k(k>= 1)份到其它節(jié)點(diǎn)服務(wù)器中,當(dāng)前工作的數(shù)據(jù)成為主數(shù)據(jù)(primary data),備份的k份數(shù)據(jù)成為復(fù)制數(shù)據(jù)(r印lica data)。當(dāng)主數(shù)據(jù)因?yàn)槟撤N原因,例如,在當(dāng)前工作的服務(wù)器死機(jī)導(dǎo)致網(wǎng)絡(luò)臨時(shí)受損的情況,復(fù)制數(shù)據(jù)就會(huì)被利用充當(dāng)主數(shù)據(jù),且能夠?qū)崟r(shí)地接管主服務(wù)器的任務(wù)?;趈ava,C#以及大多數(shù)腳本語(yǔ)言等程序語(yǔ)言實(shí)現(xiàn)的內(nèi)存復(fù)制系統(tǒng)通常利用垃圾回收(Gartage Collection)機(jī)制進(jìn)行內(nèi)存管理,垃圾回收器進(jìn)行垃圾回收時(shí),檢查出不再被應(yīng)用程序使用的數(shù)據(jù)對(duì)象并執(zhí)行必要的操作來(lái)回收它們占用的內(nèi)存。垃圾回收機(jī)制通常包括標(biāo)記拷貝方法(Mark-Copy)和標(biāo)記清除方法(Mark-Swe印),在這兩種方法中都需要先進(jìn)行標(biāo)記操作,標(biāo)記操作的任務(wù)是從根節(jié)點(diǎn)開(kāi)始遍歷堆上所有的數(shù)據(jù)對(duì)象,在每個(gè)它所發(fā)現(xiàn)的存活的數(shù)據(jù)對(duì)象都加上標(biāo)記,直至遍歷完畢,沒(méi)有被標(biāo)記的數(shù)據(jù)對(duì)象就是垃圾。在標(biāo)記拷貝方法中,將所有存活的數(shù)據(jù)對(duì)象拷貝至另一個(gè)新堆(動(dòng)態(tài)內(nèi)存空間),未被拷貝的都是垃圾,原有存儲(chǔ)空間被整體回收釋放。在標(biāo)記清除方法中,直接清除回收沒(méi)有被標(biāo)記的數(shù)據(jù)對(duì)象。然而由于標(biāo)記操作必須遍歷整個(gè)堆,因此需要花費(fèi)大量的時(shí)間和計(jì)算資源,而在內(nèi)存復(fù)制系統(tǒng)中進(jìn)行垃圾回收的標(biāo)記操作時(shí),由于各個(gè)節(jié)點(diǎn)服務(wù)器執(zhí)行環(huán)境(例如JVM)彼此獨(dú)立地進(jìn)行垃圾回收,因此需要對(duì)(k+Ι)個(gè)數(shù)據(jù)片各自獨(dú)立地進(jìn)行標(biāo)記操作,極大地浪費(fèi)了各個(gè)節(jié)點(diǎn)服務(wù)器上的CPU計(jì)算資源,尤其在節(jié)點(diǎn)服務(wù)器重負(fù)載的情況下,甚至直接導(dǎo)致節(jié)點(diǎn)服務(wù)器過(guò)載。因此,內(nèi)存復(fù)制系統(tǒng)需要一種高效的垃圾回收方法,從而節(jié)省節(jié)點(diǎn)服務(wù)器的計(jì)算資源和時(shí)間開(kāi)銷(xiāo)。

發(fā)明內(nèi)容
基于上述問(wèn)題,本發(fā)明提供一種用于內(nèi)存復(fù)制系統(tǒng)進(jìn)行垃圾回收的方法和系統(tǒng)。根據(jù)本發(fā)明的第一方面,提供一種用于內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器進(jìn)行垃圾回收的方法,該方法包括響應(yīng)于垃圾回收被觸發(fā),判斷是否存在從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息;以及響應(yīng)于判斷結(jié)果為是,利用從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收。根據(jù)本發(fā)明的第二方面,提供一種用于內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器進(jìn)行垃圾回收的系統(tǒng),該系統(tǒng)包括判斷裝置,被配置為響應(yīng)于垃圾回收被觸發(fā),判斷是否存在從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息;以及垃圾回收輔助裝置,被配置為響應(yīng)于判斷結(jié)果為是利用從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收。在根據(jù)本發(fā)明實(shí)施例的內(nèi)存復(fù)制系統(tǒng)中,其他節(jié)點(diǎn)服務(wù)器利用進(jìn)行垃圾回收的節(jié)點(diǎn)服務(wù)器發(fā)送的可回收數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)可回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收,節(jié)省了進(jìn)行標(biāo)記操作的計(jì)算資源和時(shí)間開(kāi)銷(xiāo),從而提高了內(nèi)存復(fù)制系統(tǒng)進(jìn)行垃圾回收的效率。


結(jié)合附圖,通過(guò)參考下列詳細(xì)的示例性實(shí)施例的描述,將會(huì)更好地理解本發(fā)明本身、優(yōu)選的實(shí)施方式以及本發(fā)明的目的和優(yōu)點(diǎn),其中圖1示出根據(jù)本發(fā)明實(shí)施例的內(nèi)存復(fù)制系統(tǒng)的示意圖;圖2示出根據(jù)本發(fā)明實(shí)施例內(nèi)存復(fù)制系統(tǒng)節(jié)點(diǎn)服務(wù)器進(jìn)行垃圾回收的方法;圖3示出根據(jù)本發(fā)明實(shí)施例內(nèi)存復(fù)制系統(tǒng)節(jié)點(diǎn)服務(wù)器進(jìn)行垃圾回收的流程圖;圖4示出根據(jù)本發(fā)明的實(shí)施例內(nèi)存復(fù)制系統(tǒng)進(jìn)行垃圾回收的實(shí)例;以及圖5示出根據(jù)本發(fā)明實(shí)施例內(nèi)存復(fù)制系統(tǒng)節(jié)點(diǎn)服務(wù)器進(jìn)行垃圾回收的框圖。
具體實(shí)施例方式以下結(jié)合附圖描述根據(jù)本發(fā)明實(shí)施例的用于內(nèi)存復(fù)制系統(tǒng)中的垃圾回收的方法和系統(tǒng),將會(huì)更好地理解本發(fā)明的目的和優(yōu)點(diǎn)。圖1示出根據(jù)本發(fā)明實(shí)施例的內(nèi)存復(fù)制系統(tǒng)示意圖,如圖所示,內(nèi)存復(fù)制系統(tǒng)包括多個(gè)節(jié)點(diǎn)服務(wù)器,通過(guò)內(nèi)存復(fù)制機(jī)制將當(dāng)前節(jié)點(diǎn)服務(wù)器中待存儲(chǔ)的數(shù)據(jù)切分為多個(gè)數(shù)據(jù)片,每個(gè)數(shù)據(jù)片包括多個(gè)數(shù)據(jù)對(duì)象,每個(gè)數(shù)據(jù)對(duì)象被復(fù)制成k個(gè)對(duì)應(yīng)的復(fù)制數(shù)據(jù)對(duì)象分發(fā)到一個(gè)或多個(gè)其它節(jié)點(diǎn)服務(wù)器中,如果當(dāng)前節(jié)點(diǎn)服務(wù)器中的數(shù)據(jù)對(duì)象不可用的時(shí)候,其它服務(wù)器節(jié)點(diǎn)中的復(fù)制數(shù)據(jù)對(duì)象會(huì)實(shí)時(shí)地接管其任務(wù)。圖2示出根據(jù)本發(fā)明實(shí)施例的用于內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器進(jìn)行垃圾回收的方法,該方法包括在步驟S201,響應(yīng)于垃圾回收被觸發(fā),判斷是否存在從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息;以及在步驟S202,響應(yīng)于判斷結(jié)果為是,利用從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收。具體地,圖3示出了根據(jù)本發(fā)明實(shí)施例的用于內(nèi)存復(fù)制系統(tǒng)節(jié)點(diǎn)服務(wù)器進(jìn)行垃圾回收的流程圖。在步驟S301,內(nèi)存復(fù)制系統(tǒng)節(jié)點(diǎn)服務(wù)器中的垃圾回收被觸發(fā),以JVMCJava虛擬機(jī))為例,在JVM所管理的空閑內(nèi)存空間過(guò)少或者連續(xù)空閑內(nèi)存空間過(guò)小,JVM不能從堆 (Heap)上為對(duì)象分配內(nèi)存空間時(shí),JVM會(huì)發(fā)出內(nèi)存分配錯(cuò)誤,由此激活垃圾回收器進(jìn)行垃圾回收。在步驟S302,判斷是否存在從其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息。如果判斷結(jié)果為否,則在步驟S305,利用現(xiàn)有的垃圾回收機(jī)制對(duì)所述內(nèi)存復(fù)制系統(tǒng)節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收。具體地,由于各個(gè)節(jié)點(diǎn)服務(wù)器彼此獨(dú)立的進(jìn)行垃圾回收,在利用現(xiàn)有的垃圾回收機(jī)制例如標(biāo)記拷貝方法(Mark-Copy)和標(biāo)記清除方法 (Mark-Sweep)對(duì)節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收的過(guò)程中,各個(gè)節(jié)點(diǎn)服務(wù)器各自監(jiān)視其上數(shù)據(jù)對(duì)象的標(biāo)記(Mark)操作,標(biāo)記操作的任務(wù)是從應(yīng)用程序的根節(jié)點(diǎn)出發(fā),利用相互引用關(guān)系,遍歷其在堆(heap)上動(dòng)態(tài)分配的所有數(shù)據(jù)對(duì)象,在每個(gè)它所發(fā)現(xiàn)的存活的數(shù)據(jù)對(duì)象都加上標(biāo)記,例如用“ 1,,來(lái)標(biāo)記存活的對(duì)象,直至遍歷完畢,沒(méi)有被標(biāo)記的數(shù)據(jù)對(duì)象就是可回收的數(shù)據(jù)對(duì)象。接著在步驟S306,獲取垃圾回收過(guò)程中可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在內(nèi)存復(fù)制系統(tǒng)中的每個(gè)節(jié)點(diǎn)服務(wù)器建立數(shù)據(jù)對(duì)象標(biāo)識(shí)表,其中記錄了內(nèi)存復(fù)制系統(tǒng)中所有數(shù)據(jù)對(duì)象在各個(gè)節(jié)點(diǎn)服務(wù)器的標(biāo)識(shí)信息,各個(gè)節(jié)點(diǎn)服務(wù)器通過(guò)現(xiàn)有技術(shù)中的同步機(jī)制進(jìn)行更新,從而保持?jǐn)?shù)據(jù)一致性,標(biāo)識(shí)信息可以是數(shù)據(jù)對(duì)象在主節(jié)點(diǎn)服務(wù)器和備份節(jié)點(diǎn)服務(wù)器的地址信息,也可以是數(shù)據(jù)對(duì)象在內(nèi)存復(fù)制系統(tǒng)中的全局唯一標(biāo)識(shí),在全局唯一標(biāo)識(shí)的情況下,還需要在各個(gè)節(jié)點(diǎn)服務(wù)器上建立一個(gè)內(nèi)存地址映射表,其中記錄了全局唯一標(biāo)識(shí)與對(duì)應(yīng)的數(shù)據(jù)對(duì)象的內(nèi)存地址之間的映射關(guān)系。根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以由進(jìn)行垃圾回收的節(jié)點(diǎn)服務(wù)器在數(shù)據(jù)對(duì)象標(biāo)識(shí)表中查找可被垃圾回收的數(shù)據(jù)對(duì)象在其它節(jié)點(diǎn)服務(wù)器的標(biāo)識(shí)信息。根據(jù)本發(fā)明的另一實(shí)施例,可以選取其中一個(gè)節(jié)點(diǎn)服務(wù)器作為主管節(jié)點(diǎn)服務(wù)器來(lái)維護(hù)數(shù)據(jù)對(duì)象標(biāo)識(shí)表,其它節(jié)點(diǎn)服務(wù)器上的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息發(fā)生變化會(huì)及時(shí)通知該主管節(jié)點(diǎn)服務(wù)器,由該主管節(jié)點(diǎn)服務(wù)器對(duì)數(shù)據(jù)對(duì)象標(biāo)識(shí)表進(jìn)行相應(yīng)的更新,進(jìn)行垃圾回收的節(jié)點(diǎn)服務(wù)器將可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息發(fā)送給主管節(jié)點(diǎn)服務(wù)器,由主管節(jié)點(diǎn)服務(wù)器在數(shù)據(jù)對(duì)象標(biāo)識(shí)表中查找可被垃圾回收的數(shù)據(jù)對(duì)象在其它節(jié)點(diǎn)服務(wù)器的標(biāo)識(shí)信息。在步驟S307,將所述可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息發(fā)送至包含有所述可被垃圾回收的數(shù)據(jù)對(duì)象的其它節(jié)點(diǎn)服務(wù)器,即,其它節(jié)點(diǎn)服務(wù)器包含有與所述可被垃圾回收的數(shù)據(jù)對(duì)象有復(fù)制關(guān)系的數(shù)據(jù)對(duì)象;前進(jìn)到步驟S308,流程結(jié)束。如果判斷結(jié)果為是,則在步驟S303,利用從其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)與所述可被垃圾回收的數(shù)據(jù)對(duì)象有復(fù)制關(guān)系的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收;前進(jìn)到步驟S304,將從其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息刪除,流程結(jié)束。如果空間釋放之后,空閑的內(nèi)存空間仍然過(guò)少或者連續(xù)空閑內(nèi)存空間仍然不夠用,則垃圾回收還會(huì)繼續(xù)被觸發(fā),又回到流程的起始步驟,在判斷不存在從其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息的情況,流程前進(jìn)到判斷結(jié)果為否的分支,開(kāi)始步驟S305-S309。根據(jù)本發(fā)明的一個(gè)實(shí)施例,描述利用標(biāo)記清除方法(Mark-Swe印)對(duì)節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收的過(guò)程,標(biāo)記清除方法在運(yùn)行的過(guò)程中分為三個(gè)階段標(biāo)記階段、 清除階段和壓縮階段。響應(yīng)于垃圾回收被觸發(fā),根據(jù)本發(fā)明實(shí)施例的方法可以節(jié)省標(biāo)記階段的操作,而直接利用從其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息進(jìn)行清除操作,根據(jù)本發(fā)明的一個(gè)實(shí)施例,可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息可以是可回收數(shù)據(jù)對(duì)象的內(nèi)存地址信息,垃圾回收器直接將可回收數(shù)據(jù)對(duì)象的內(nèi)存地址的內(nèi)存空間釋放掉。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息可以是可回收數(shù)據(jù)對(duì)象在主節(jié)點(diǎn)服務(wù)器和備份節(jié)點(diǎn)服務(wù)器的全局唯一標(biāo)識(shí),則在其它節(jié)點(diǎn)服務(wù)器上建立內(nèi)存地址映射表,其中記錄了所述節(jié)點(diǎn)服務(wù)器包含的數(shù)據(jù)對(duì)象的全局唯一標(biāo)識(shí)與所述數(shù)據(jù)對(duì)象的內(nèi)存地址之間的映射關(guān)系,在內(nèi)存地址映射表查找到該全局唯一標(biāo)識(shí)所對(duì)應(yīng)的數(shù)據(jù)對(duì)象的內(nèi)存地址,進(jìn)一步,垃圾回收器將所有可回收數(shù)據(jù)對(duì)象的內(nèi)存地址的內(nèi)存空間釋放掉,最后在壓縮階段將離散凌亂分布的對(duì)象放到內(nèi)存中的連續(xù)地址。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,描述利用標(biāo)記拷貝方法(Mark-Copy)對(duì)節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收的過(guò)程,JVM將所管理的內(nèi)存空間一分為二,當(dāng)內(nèi)存空間使用到一半時(shí),垃圾回收器被激活進(jìn)行垃圾回收,根據(jù)本發(fā)明實(shí)施例的方法,不必對(duì)數(shù)據(jù)對(duì)象進(jìn)行標(biāo)記操作,而是直接利用從其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息進(jìn)行拷貝操作,根據(jù)本發(fā)明的一個(gè)實(shí)施例,可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息可以是可回收數(shù)據(jù)對(duì)象的內(nèi)存地址信息,垃圾回收器將可回收數(shù)據(jù)對(duì)象的內(nèi)存地址以外的內(nèi)存地址上的所有存活的對(duì)象拷貝至另一半未使用的內(nèi)存空間,并在另一半空間上繼續(xù)分配內(nèi)存,而前一半空間轉(zhuǎn)為空閑空間作為下一次垃圾回收的目標(biāo)空間。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息可以是可回收數(shù)據(jù)對(duì)象在主節(jié)點(diǎn)服務(wù)器和備份節(jié)點(diǎn)服務(wù)器的全局唯一標(biāo)識(shí),則在其它節(jié)點(diǎn)服務(wù)器上維護(hù)的內(nèi)存地址映射表查找到該全局唯一標(biāo)識(shí)所對(duì)應(yīng)的數(shù)據(jù)對(duì)象的內(nèi)存地址,垃圾回收器將可回收數(shù)據(jù)對(duì)象的內(nèi)存地址以外的內(nèi)存地址上的所有存活的對(duì)象拷貝至另一半未使用的內(nèi)存空間。圖4示出根據(jù)本發(fā)明的實(shí)施例內(nèi)存復(fù)制系統(tǒng)進(jìn)行垃圾回收的實(shí)例,其中內(nèi)存復(fù)制系統(tǒng)包括四個(gè)節(jié)點(diǎn)服務(wù)器,節(jié)點(diǎn)服務(wù)器1上有四個(gè)數(shù)據(jù)對(duì)象a、b、c和d,在節(jié)點(diǎn)服務(wù)器2上備份有數(shù)據(jù)對(duì)象a和c,在節(jié)點(diǎn)服務(wù)器3上備份有數(shù)據(jù)對(duì)象a、b和c,備份節(jié)點(diǎn)服務(wù)器4上備份有數(shù)據(jù)對(duì)象b、c和d,內(nèi)存復(fù)制系統(tǒng)在各個(gè)節(jié)點(diǎn)服務(wù)器上創(chuàng)建有數(shù)據(jù)對(duì)象標(biāo)識(shí)表,如表 1所示,數(shù)據(jù)對(duì)象標(biāo)識(shí)表記錄了內(nèi)存復(fù)制系統(tǒng)中所有數(shù)據(jù)對(duì)象在各個(gè)節(jié)點(diǎn)服務(wù)器的地址。響應(yīng)于節(jié)點(diǎn)服務(wù)器1的垃圾回收被觸發(fā),判斷其上是否存在從其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息,響應(yīng)于判斷結(jié)果為否,利用現(xiàn)有的垃圾回收機(jī)制將數(shù)據(jù)對(duì)象b和c回收掉,接著從數(shù)據(jù)對(duì)象標(biāo)識(shí)表中查找到數(shù)據(jù)對(duì)象b和c在各個(gè)節(jié)點(diǎn)服務(wù)器的地址信息,如表2所示,根據(jù)表2節(jié)點(diǎn)服務(wù)器1分別將數(shù)據(jù)對(duì)象c的地址發(fā)送給節(jié)點(diǎn)服務(wù)器2, 將數(shù)據(jù)對(duì)象b的地址發(fā)送給節(jié)點(diǎn)服務(wù)器3,將數(shù)據(jù)對(duì)象b和c的地址發(fā)送給節(jié)點(diǎn)服務(wù)器4, 節(jié)點(diǎn)服務(wù)器2、3和4將節(jié)點(diǎn)服務(wù)器1接收的可回收數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息保存起來(lái),在節(jié)點(diǎn)服務(wù)器2、3和4的垃圾回收被觸發(fā)時(shí),判斷其上是否存在從其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息,響應(yīng)于判斷結(jié)果為是,不必進(jìn)行垃圾回收的標(biāo)記操作,可以直接將可回收數(shù)據(jù)對(duì)象的內(nèi)存地址的內(nèi)存空間釋放掉,完成垃圾回收,從而節(jié)省了進(jìn)行標(biāo)記操作的計(jì)算資源和時(shí)間開(kāi)銷(xiāo),提高了內(nèi)存復(fù)制系統(tǒng)進(jìn)行垃圾回收的效率。
對(duì)象節(jié)點(diǎn)服務(wù)器1節(jié)點(diǎn)服務(wù)器2節(jié)點(diǎn)服務(wù)器3節(jié)點(diǎn)服務(wù)器4a<l,x00al45c3><2,0x0f890123><3,0x04381029)b<l,x052el59f><3,0x0a4bf916><4,0x0428c4d2>C<l,x05122b38><2,0x016b0c93><4,0x0284f231>d<l,x093257fe><3,0x0395da89><4,0x09846d32>
權(quán)利要求
1.一種用于內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器進(jìn)行垃圾回收的方法,該方法包括響應(yīng)于垃圾回收被觸發(fā),判斷是否存在從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息;響應(yīng)于判斷結(jié)果為是,利用從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括在將所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收之后將從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息刪除。
3.根據(jù)權(quán)利要求1或2所述的方法,進(jìn)一步包括響應(yīng)于判斷結(jié)果為否,對(duì)所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收;獲取垃圾回收過(guò)程中可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息;以及將所述可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息發(fā)送至包含有所述可被垃圾回收的數(shù)據(jù)對(duì)象的內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器。
4.根據(jù)權(quán)利要求3所述的方法,其中獲取垃圾回收過(guò)程中可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息進(jìn)一步包括建立包含有內(nèi)存復(fù)制系統(tǒng)中的數(shù)據(jù)對(duì)象在內(nèi)存復(fù)制系統(tǒng)的各個(gè)節(jié)點(diǎn)服務(wù)器的標(biāo)識(shí)信息的數(shù)據(jù)對(duì)象標(biāo)識(shí)表;以及在所述數(shù)據(jù)對(duì)象標(biāo)識(shí)表中查找所述可被垃圾回收的數(shù)據(jù)對(duì)象在內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器的標(biāo)識(shí)信息。
5.根據(jù)權(quán)利要求1所述的方法,其中所述可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息包括所述可被垃圾回收的數(shù)據(jù)對(duì)象在所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器的內(nèi)存地址。
6.根據(jù)權(quán)利要求5所述的方法,其中利用從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收進(jìn)一步包括釋放所述可被垃圾回收的數(shù)據(jù)對(duì)象在所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器的內(nèi)存地址對(duì)應(yīng)的內(nèi)存空間。
7.根據(jù)權(quán)利要求1所述的方法,其中所述可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息包括可被垃圾回收的數(shù)據(jù)對(duì)象的全局唯一標(biāo)識(shí)。
8.根據(jù)權(quán)利要求7所述的方法,其中利用從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收進(jìn)一步包括建立內(nèi)存地址映射表,其中記錄有所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器包含的數(shù)據(jù)對(duì)象的全局唯一標(biāo)識(shí)與所述數(shù)據(jù)對(duì)象的內(nèi)存地址之間的映射關(guān)系;在內(nèi)存地址映射表中查找所述全局唯一標(biāo)識(shí)所對(duì)應(yīng)的可被垃圾回收的數(shù)據(jù)對(duì)象的內(nèi)存地址;以及釋放所述可被垃圾回收的數(shù)據(jù)對(duì)象在所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器的內(nèi)存地址對(duì)應(yīng)的內(nèi)存空間。
9.一種用于內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器進(jìn)行垃圾回收的系統(tǒng),該系統(tǒng)包括判斷裝置,被配置為響應(yīng)于垃圾回收被觸發(fā),判斷是否存在從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息;以及垃圾回收輔助裝置,被配置為響應(yīng)于判斷結(jié)果為是利用從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),進(jìn)一步包括刪除裝置,被配置為在將所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收后將從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息刪除。
11.根據(jù)權(quán)利要求9或10所述的系統(tǒng),其中響應(yīng)于所述判斷裝置的判斷結(jié)果為否,所述系統(tǒng)進(jìn)一步包括垃圾回收裝置,被配置為對(duì)所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收;獲取裝置,被配置為獲取垃圾回收過(guò)程中可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息;以及發(fā)送裝置,被配置為將所述可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息發(fā)送至包含有所述可被垃圾回收的數(shù)據(jù)對(duì)象的內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中獲取裝置進(jìn)一步被配置為建立包含有內(nèi)存復(fù)制系統(tǒng)中的數(shù)據(jù)對(duì)象在內(nèi)存復(fù)制系統(tǒng)的各個(gè)節(jié)點(diǎn)服務(wù)器的標(biāo)識(shí)信息的數(shù)據(jù)對(duì)象標(biāo)識(shí)表;以及在所述數(shù)據(jù)對(duì)象標(biāo)識(shí)表中查找所述可被垃圾回收的數(shù)據(jù)對(duì)象在內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器的標(biāo)識(shí)信息。
13.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息包括所述可被垃圾回收的數(shù)據(jù)對(duì)象在所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器的內(nèi)存地址。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中垃圾回收輔助裝置進(jìn)一步被配置為釋放所述可被垃圾回收的數(shù)據(jù)對(duì)象在所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器的內(nèi)存地址對(duì)應(yīng)的內(nèi)存空間。
15.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息包括可被垃圾回收的數(shù)據(jù)對(duì)象的全局唯一標(biāo)識(shí)。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中垃圾回收輔助裝置進(jìn)一步被配置為建立內(nèi)存地址映射表,其中記錄有所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器包含的數(shù)據(jù)對(duì)象的全局唯一標(biāo)識(shí)與所述數(shù)據(jù)對(duì)象的內(nèi)存地址之間的映射關(guān)系;在所述內(nèi)存地址映射表中查找所述全局唯一標(biāo)識(shí)所對(duì)應(yīng)的可被垃圾回收的數(shù)據(jù)對(duì)象的內(nèi)存地址;以及釋放所述可被垃圾回收的數(shù)據(jù)對(duì)象在所述內(nèi)存復(fù)制系統(tǒng)的節(jié)點(diǎn)服務(wù)器的內(nèi)存地址對(duì)應(yīng)的內(nèi)存空間。
全文摘要
本發(fā)明提供一種用于內(nèi)存復(fù)制系統(tǒng)進(jìn)行垃圾回收的方法和系統(tǒng),其中所述內(nèi)存復(fù)制系統(tǒng)包括多個(gè)節(jié)點(diǎn)服務(wù)器,并且將一個(gè)節(jié)點(diǎn)服務(wù)器中的數(shù)據(jù)對(duì)象復(fù)制并分發(fā)到一個(gè)或多個(gè)其它節(jié)點(diǎn)服務(wù)器,該方法包括響應(yīng)于垃圾回收被觸發(fā),判斷是否存在從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息;響應(yīng)于判斷結(jié)果為是,利用從內(nèi)存復(fù)制系統(tǒng)的其它節(jié)點(diǎn)服務(wù)器接收的可被垃圾回收的數(shù)據(jù)對(duì)象的標(biāo)識(shí)信息對(duì)所述可被垃圾回收的數(shù)據(jù)對(duì)象進(jìn)行垃圾回收。
文檔編號(hào)G06F12/02GK102262591SQ201010192518
公開(kāi)日2011年11月30日 申請(qǐng)日期2010年5月31日 優(yōu)先權(quán)日2010年5月31日
發(fā)明者史巨偉, 李立, 田瑞雄, 趙邑新 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
东方市| 阜宁县| 许昌县| 黄龙县| 广东省| 鹤山市| 南昌县| 绥中县| 连州市| 永福县| 枞阳县| 新干县| 武威市| 察隅县| 防城港市| 赫章县| 惠来县| 翁牛特旗| 孟州市| 汶川县| 留坝县| 贺兰县| 新闻| 孝义市| 荣成市| 融水| 澄城县| 盐池县| 章丘市| 永丰县| 池州市| 白河县| 石家庄市| 呼图壁县| 蒙山县| 延庆县| 本溪市| 依安县| 汾西县| 呈贡县| 凤庆县|