本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,尤其涉及一種垃圾回收方法及裝置。
背景技術(shù):
現(xiàn)有的甲骨文互聯(lián)網(wǎng)目錄垃圾回收系統(tǒng)(oracleinternetdirectorygarbagecollectionframework)中支持對(duì)輕型目錄訪問(wèn)協(xié)議(lightweightdirectoryaccessprotocol,簡(jiǎn)稱ldap)類型的垃圾進(jìn)行回收。而阿豆比adobeaem的垃圾回收系統(tǒng)針對(duì)數(shù)據(jù)包、臨時(shí)文件和工作流負(fù)責(zé)這些類型的垃圾進(jìn)行回收。再有worldserver的垃圾回收系統(tǒng)主要對(duì)數(shù)據(jù)庫(kù)中產(chǎn)生的垃圾進(jìn)行回收。
由上可知,現(xiàn)有的垃圾回收系統(tǒng)基本上都是針對(duì)具有相同領(lǐng)域特征的垃圾類型進(jìn)行回收,對(duì)于多樣性的異構(gòu)垃圾回收?qǐng)鼍安荒芡ㄓ谩?/p>
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種垃圾回收方法及裝置,用于解決現(xiàn)有的垃圾回收系統(tǒng)均是針對(duì)具有相同領(lǐng)域特征的垃圾類型進(jìn)行回收,并不能用于對(duì)多樣性的異構(gòu)垃圾的回收,通用性較差。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種垃圾回收方法,包括:
獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型;其中,不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件;
確定與各目標(biāo)業(yè)務(wù)類型所對(duì)應(yīng)的目標(biāo)回收組件;
利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種垃圾回收裝置,包括:
獲取模塊,用于獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型;其中,不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件;
確定模塊,用于確定與各目標(biāo)業(yè)務(wù)類型所對(duì)應(yīng)的目標(biāo)回收組件;
回收模塊,用于利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種垃圾回收裝置,包括:
掃描儀,用于獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型;其中,不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件;
調(diào)度器,用于確定與各目標(biāo)業(yè)務(wù)類型所對(duì)應(yīng)的目標(biāo)回收組件;
執(zhí)行器,用于利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
本發(fā)明提供的垃圾回收方法及裝置,通過(guò)獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型,確定與每個(gè)目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件,利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。本發(fā)明中以業(yè)務(wù)類型為粒度構(gòu)建的回收組件,為不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件,基于這些組件進(jìn)行垃圾回收,可以靈活地對(duì)業(yè)務(wù)類型進(jìn)行擴(kuò)展,可以實(shí)現(xiàn)對(duì)異構(gòu)的業(yè)務(wù)類型的回收,通用性較高。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例一的垃圾回收方法的流程示意圖;
圖2為本發(fā)明實(shí)施例二的垃圾回收方法的流程示意圖;
圖3為本發(fā)明實(shí)施例二的垃圾回收方法的應(yīng)用示意圖;
圖4為本發(fā)明實(shí)施例三的垃圾回收裝置的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例四的垃圾回收裝置的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例五的垃圾回收裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例提供的垃圾回收方法及裝置進(jìn)行詳細(xì)描述。
實(shí)施例一
如圖1所示,其為本發(fā)明實(shí)施例一的垃圾回收方法的流程示意圖。 該垃圾回收方法包括以下步驟:
s101、獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型。
其中,不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件。
在獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型之前,為不同的業(yè)務(wù)類型構(gòu)建與其對(duì)應(yīng)的回收組件。具體地,為每一個(gè)業(yè)務(wù)類型構(gòu)建一個(gè)對(duì)應(yīng)的回收組件,但是實(shí)際應(yīng)用中,有些業(yè)務(wù)類型的垃圾回收邏輯是相同,為了節(jié)省資源,具有相同垃圾回收邏輯的業(yè)務(wù)類型可以復(fù)用一個(gè)回收組件,在這種情況下,為不同業(yè)務(wù)類型構(gòu)建對(duì)應(yīng)的回收組件的過(guò)程如下:
具體地,為具有相同的垃圾回收邏輯的所有業(yè)務(wù)類型構(gòu)建一個(gè)與其對(duì)應(yīng)的回收組件;其中具有相同的垃圾回收邏輯所有業(yè)務(wù)類型復(fù)用所述與其對(duì)應(yīng)的回收組件。例如,業(yè)務(wù)類型a和業(yè)務(wù)類型b具有相同的垃圾回收邏輯,為業(yè)務(wù)類型a和業(yè)務(wù)類型b構(gòu)建一個(gè)與其對(duì)應(yīng)的回收組件1。業(yè)務(wù)類型a和業(yè)務(wù)類型b則復(fù)用該回收組件1。而業(yè)務(wù)類型d和業(yè)務(wù)類型g具有相同的垃圾回收邏輯,則為業(yè)務(wù)類型d和業(yè)務(wù)類型g構(gòu)建一個(gè)回收組件5,業(yè)務(wù)類型d和業(yè)務(wù)類型g復(fù)用該回收組件5。
進(jìn)一步地,由于除了具有相同的垃圾回收邏輯的所有業(yè)務(wù)類型之外的其他業(yè)務(wù)類型之間的垃圾回收邏輯均是不同的,則為每個(gè)其他業(yè)務(wù)類型分別構(gòu)建與其對(duì)應(yīng)的回收組件。例如,業(yè)務(wù)類型c、業(yè)務(wù)類型e、業(yè)務(wù)類型f稱為其他業(yè)務(wù)類型,業(yè)務(wù)類型c、業(yè)務(wù)類型e以及業(yè)務(wù)類型f三者的垃圾回收邏輯均不同,則分別構(gòu)建于業(yè)務(wù)類型c、業(yè)務(wù)類型e以及業(yè)務(wù)類型f對(duì)應(yīng)的回收組件2、回收組件3以及回收組件4。
為了滿足能夠動(dòng)態(tài)地對(duì)垃圾類型可擴(kuò)展的需求,本實(shí)施例中,通過(guò)回收組件對(duì)垃圾回收邏輯進(jìn)行封裝,回收組件具有可熱插拔的功能,基于回收組件就可以實(shí)現(xiàn)對(duì)垃圾類型進(jìn)行靈活地?cái)U(kuò)展的目的。
進(jìn)一步地,為了實(shí)現(xiàn)對(duì)大量異構(gòu)的垃圾類型進(jìn)行回收,本實(shí)施例中,針對(duì)不同的業(yè)務(wù)類型構(gòu)建不同的回收組件,一般情況下,一個(gè)業(yè)務(wù)類型對(duì)應(yīng)至少一個(gè)回收組件。本實(shí)施例中提供的垃圾回收方法中以業(yè)務(wù)類型為粒度構(gòu)建的回收組件,提高了該方法的通用性,能夠適用于大數(shù)據(jù)處理環(huán)境。
本實(shí)施例中,對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描,將掃描結(jié)果生成業(yè)務(wù)項(xiàng)目列表。其中,業(yè)務(wù)項(xiàng)目列表中包括所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型。在掃描獲取到業(yè)務(wù)項(xiàng)目列表后,可以將業(yè)務(wù)項(xiàng)目列表進(jìn)行存儲(chǔ)。本實(shí)施例中,可以定時(shí)對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描,從而能自動(dòng)地觸發(fā)垃圾回收流程,而且用戶可以根據(jù)業(yè)務(wù)場(chǎng)景設(shè)定回收周期。例如,用戶可以通過(guò)前端界面配置定時(shí)的時(shí)間間隔,可以以每小時(shí)/每天/每周/每月等作為時(shí)間間隔進(jìn)行定時(shí),在啟動(dòng)掃描后,則相應(yīng)地啟動(dòng)垃圾回收流程??蛇x地,可以通過(guò)用戶手動(dòng)操作,在前端界面上進(jìn)行操作,啟動(dòng)掃描以完成垃圾回收流程。
s102、確定與各目標(biāo)業(yè)務(wù)類型所對(duì)應(yīng)的目標(biāo)回收組件。
在獲取到所有業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型后,由于每個(gè)業(yè)務(wù)類型對(duì)應(yīng)至少一個(gè)回收組件,則根據(jù)所包括的目標(biāo)業(yè)務(wù)類型,確定與目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件。
s103、利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
在獲取到所有的目標(biāo)回收組件后,利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型產(chǎn)生的垃圾進(jìn)行回收。具體地,將每個(gè)業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型作為一個(gè)任務(wù)分配到對(duì)應(yīng)的目標(biāo)回收組件中,加載所有的目標(biāo)回收組件,并為各目標(biāo)回收組件分配所需的線程池,啟動(dòng)所有的目標(biāo)回收組件使用所分配的線程池執(zhí)行垃圾回收邏輯,各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。其中,可以為目標(biāo)回收組件分配多個(gè)線程池,當(dāng)線程池為多個(gè)時(shí),目標(biāo)回收組件可以并行地執(zhí)行垃圾回收邏輯對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
本實(shí)施例提供的垃圾回收方法,通過(guò)獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型,確定與目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件,利用目標(biāo)回收組件對(duì)目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。本實(shí)施例中以業(yè)務(wù)類型為粒度構(gòu)建的回收組件,為不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件,基于這些組件進(jìn)行垃圾回收,可以靈活地對(duì)業(yè)務(wù)類型進(jìn)行擴(kuò)展,可以實(shí)現(xiàn)對(duì)異構(gòu)的業(yè)務(wù)類型的回收,通用性較高。
實(shí)施例二
如圖2所示,其為本發(fā)明實(shí)施例二的垃圾回收方法的流程示意圖。該垃圾回收方法包括以下步驟:
s201、對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描。
本實(shí)施例中,對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描,將掃描結(jié)果生成業(yè)務(wù)項(xiàng)目列表。其中,業(yè)務(wù)項(xiàng)目列表中包括所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型。在掃描獲取到業(yè)務(wù)項(xiàng)目列表后,可以將業(yè)務(wù)項(xiàng)目列表進(jìn)行存儲(chǔ)。本實(shí)施例中,可以定時(shí)對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描,例如,用戶可以通過(guò)前端界面配置定時(shí)的時(shí)間間隔,可以以每小時(shí)/每天/每周/每月等作為時(shí)間間隔進(jìn)行定時(shí),在啟動(dòng)掃描后,則相應(yīng)地啟動(dòng)垃圾回收流程。可選地,可以通過(guò)用戶手動(dòng)操作,在前端界面上進(jìn)行操作,啟動(dòng)掃描以完成垃圾回收流程。
s202、將掃描結(jié)果生成業(yè)務(wù)項(xiàng)目列表。
其中,業(yè)務(wù)項(xiàng)目列表中包括所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型。
將對(duì)所有業(yè)務(wù)項(xiàng)目進(jìn)行掃描后,經(jīng)過(guò)掃描后,能獲取到掃描結(jié)果,其中掃描結(jié)果為每個(gè)業(yè)務(wù)項(xiàng)目所包括的業(yè)務(wù)類型,然后將掃描結(jié)果生成業(yè)務(wù)項(xiàng)目列表,也就是說(shuō),生成的業(yè)務(wù)項(xiàng)目列表中包括所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型。其中,生成的業(yè)務(wù)項(xiàng)目列表中包括業(yè)務(wù)項(xiàng)目的標(biāo)識(shí)、目標(biāo)業(yè)務(wù)類型的標(biāo)識(shí),以及業(yè)務(wù)項(xiàng)目與所包括的目標(biāo)業(yè)務(wù)類型之間的對(duì)應(yīng)關(guān)系。
s203、判斷業(yè)務(wù)項(xiàng)目列表中是否存在新的目標(biāo)業(yè)務(wù)類型。
具體地,將當(dāng)前掃描后生成的項(xiàng)目業(yè)務(wù)列表與上一次掃描后生成的業(yè)務(wù)項(xiàng)目列表進(jìn)行比較,以判斷當(dāng)前項(xiàng)目業(yè)務(wù)類別中是否存在新的目標(biāo)業(yè)務(wù)類型,如果判斷結(jié)果為是,執(zhí)行步驟204;否則執(zhí)行步驟205。
s204、獲取與所述新的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的新的目標(biāo)回收組件。
在獲取到新的目標(biāo)業(yè)務(wù)類型后,將與該新的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的新的目標(biāo)回收組件添加到用于管理回收組件的設(shè)備上。其中,新的目標(biāo)回收組件在添加之前,需要管理人員根據(jù)該目標(biāo)業(yè)務(wù)類型的垃圾回收邏輯進(jìn)行構(gòu)建。
s205、根據(jù)業(yè)務(wù)項(xiàng)目列表中獲取每個(gè)業(yè)務(wù)項(xiàng)目已刪除的目標(biāo)業(yè)務(wù)類 型。
具體地,將當(dāng)前掃描生成的業(yè)務(wù)項(xiàng)目列表與上次掃描生成的業(yè)務(wù)項(xiàng)目列表進(jìn)行比較,從而能夠確定出業(yè)務(wù)項(xiàng)目列中每個(gè)業(yè)務(wù)項(xiàng)目已刪除的目標(biāo)業(yè)務(wù)類型。
s206、針對(duì)每個(gè)業(yè)務(wù)項(xiàng)目,判斷已刪除的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件是否被所述業(yè)務(wù)項(xiàng)目列表中其他的目標(biāo)業(yè)務(wù)類型所復(fù)用。
針對(duì)每一個(gè)業(yè)務(wù)項(xiàng)目,當(dāng)確定出已刪除的目標(biāo)業(yè)務(wù)類型后,需要判斷該已刪除的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件是否被業(yè)務(wù)項(xiàng)目列表中至少一個(gè)其他的目標(biāo)目標(biāo)業(yè)務(wù)類型所復(fù)用,此處將已刪除的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件稱為待刪除的目標(biāo)回收組件。如果待刪除的目標(biāo)回收組件未被其他的業(yè)務(wù)類型所復(fù)用,則表明可以將待刪除的目標(biāo)回收組件進(jìn)行刪除,執(zhí)行步驟207。
如果待刪除的目標(biāo)回收組件被其他的目標(biāo)業(yè)務(wù)類型所復(fù)用,則表明當(dāng)前不能刪除該待刪除的目標(biāo)回收組件,繼續(xù)維持該待刪除的目標(biāo)回收組件,執(zhí)行步驟208。
s207、將已刪除的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件進(jìn)行刪除。
將已刪除的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件后,繼續(xù)執(zhí)行步驟208。
s208、為業(yè)務(wù)項(xiàng)目列表中其他的目標(biāo)業(yè)務(wù)類型確定與其對(duì)應(yīng)的目標(biāo)回收組件。
進(jìn)一步地,還需要為業(yè)務(wù)項(xiàng)目列表中除該新的目標(biāo)業(yè)務(wù)類型和已刪除的目標(biāo)業(yè)務(wù)類型之外的其他的每個(gè)目標(biāo)業(yè)務(wù)類型確定與其對(duì)應(yīng)的目標(biāo)回收組件。關(guān)于為目標(biāo)業(yè)務(wù)類型確定與其對(duì)應(yīng)的目標(biāo)回收組件的相關(guān)內(nèi)容,可參見(jiàn)上述實(shí)施例中相關(guān)內(nèi)容的記載,此次不再贅述。
s209、利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
在為所有的目標(biāo)業(yè)務(wù)類型確定了對(duì)應(yīng)的目標(biāo)回收組件后,利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收,具體過(guò)程,可參見(jiàn)上述實(shí)施例中相關(guān)內(nèi)容的記載,此次不再贅述。
本實(shí)施例中,基于回收組件對(duì)垃圾進(jìn)行回收,能適應(yīng)現(xiàn)有大數(shù)據(jù)開(kāi)放處理平臺(tái)中對(duì)大量異構(gòu)類型垃圾回收的要求,基于回收組件具有的熱插拔功能,具有很強(qiáng)的動(dòng)態(tài)擴(kuò)展性,能夠?qū)Ξa(chǎn)生的新業(yè)務(wù)類型的垃圾有效支持,從而適用于大數(shù)據(jù)處理環(huán)境。
s210、在利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收的同時(shí)監(jiān)控垃圾回收進(jìn)度,并將監(jiān)控到的垃圾回收進(jìn)度作為一個(gè)檢查點(diǎn)。
s211、在垃圾回收的過(guò)程中出現(xiàn)斷點(diǎn)后,利用與斷點(diǎn)時(shí)間最近的所述檢查點(diǎn)進(jìn)行斷點(diǎn)恢復(fù)。
本實(shí)施例中,為垃圾回收方法設(shè)置有快照功能,該快照功能定時(shí)觸發(fā)。在利用回收組件回收各業(yè)務(wù)類型的垃圾的過(guò)程中,需要對(duì)垃圾回收進(jìn)度進(jìn)行監(jiān)控,在觸發(fā)了快照功能后,就可以記錄當(dāng)時(shí)時(shí)刻的垃圾回收進(jìn)度,并將監(jiān)控到的垃圾回收進(jìn)度記為一個(gè)檢查點(diǎn),并將該檢查點(diǎn)存儲(chǔ)在磁盤(pán)中。當(dāng)在垃圾回收的過(guò)程中,如果出現(xiàn)異常情況,導(dǎo)致垃圾回收的過(guò)程被中斷,可以根據(jù)最近的檢查點(diǎn)進(jìn)行斷點(diǎn)恢復(fù)。
本實(shí)施例提供的垃圾回收方法可以由圖3所示的垃圾回收系統(tǒng)來(lái)完成。如圖3所示,該垃圾回收系統(tǒng)包括:前端、管理器(manager)和處理器(processor)。其中,該垃圾回收系統(tǒng)的前端可以為人機(jī)交互模塊,用于提供人機(jī)交互界面,用戶可以基于該界面對(duì)該垃圾回收系統(tǒng)進(jìn)行設(shè)置。例如,開(kāi)始、關(guān)閉或者定時(shí)等。manager中包括掃描模塊(scanner)、調(diào)度模塊(scheduler)和故障轉(zhuǎn)移模塊(failover)。processor中包括多個(gè)節(jié)點(diǎn)(worker),每個(gè)worker上設(shè)置回收組件。其中,scanner對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描,能夠得到業(yè)務(wù)項(xiàng)目列表。scheduler負(fù)責(zé)任務(wù)調(diào)度,可以獲取scanner掃描的結(jié)果即業(yè)務(wù)項(xiàng)目列表,并將各業(yè)務(wù)項(xiàng)目中包括的業(yè)務(wù)類型作為任務(wù)分發(fā)給處理器中的對(duì)應(yīng)的worker,scheduler還可以監(jiān)控垃圾回收系統(tǒng)的運(yùn)行狀態(tài),并能夠獲取垃圾回收的結(jié)果。
processor中的worker在被分配到與回收組件相應(yīng)的業(yè)務(wù)類型后,worker可以執(zhí)行設(shè)置的回收組件的具體回收邏輯。worker可以為回收組件分配多個(gè)線程池,當(dāng)線程池為多個(gè)時(shí),可以并行地執(zhí)行回收組件的回 收邏輯,提高垃圾回收效率。
在對(duì)業(yè)務(wù)項(xiàng)目的垃圾回收的過(guò)程中,manager中故障轉(zhuǎn)移模塊會(huì)對(duì)垃圾回收進(jìn)度進(jìn)行監(jiān)控,每隔一段時(shí)間將監(jiān)控到的垃圾回收進(jìn)度記為一個(gè)檢查點(diǎn)(checkpoint),通過(guò)該檢查點(diǎn)進(jìn)行斷點(diǎn)恢復(fù)。
為了更好地理解本實(shí)施例提供的垃圾回收方法,舉例進(jìn)行說(shuō)明:
業(yè)務(wù)項(xiàng)目包括:淘寶、阿里巴巴、高德和支付寶等。
業(yè)務(wù)類型包括:實(shí)時(shí)查詢、機(jī)器學(xué)習(xí)、流式計(jì)算、在線監(jiān)控、離線計(jì)算等。
一個(gè)業(yè)務(wù)類型對(duì)應(yīng)一個(gè)回收組件或者多個(gè)回收組件,各回收組件放置在垃圾回收系統(tǒng)中處理器的worker上。例如,實(shí)時(shí)查詢對(duì)應(yīng)一個(gè)回收組件,記為回收組件1,將該回收組件1設(shè)置在worker1上。機(jī)器學(xué)習(xí)對(duì)應(yīng)2個(gè)回收組件,分別記為回收組件2和回收組件3,將回收組件2和回收組件3分別設(shè)置在worker2和worker3上。流式計(jì)算對(duì)應(yīng)一個(gè)回收組件,記為回收組件4,將回收組件4設(shè)置在worker4上。在線監(jiān)控對(duì)應(yīng)一個(gè)回收組件,記為回收組件5,將回收組件4設(shè)置在worker5上以及離線計(jì)算對(duì)應(yīng)三個(gè)回收組件,記為回收組件6、回收組件7和回收組件8,將回收組件6、回收組件7和回收組件8分別設(shè)置在worker6、worker7和worker8上。一個(gè)業(yè)務(wù)項(xiàng)目中包括多個(gè)目標(biāo)業(yè)務(wù)類型,例如,高德業(yè)務(wù)項(xiàng)目包括實(shí)時(shí)查詢和流式計(jì)算等目標(biāo)業(yè)務(wù)類型。淘寶業(yè)務(wù)項(xiàng)目包括實(shí)時(shí)查詢、流式計(jì)算和在線監(jiān)控等目標(biāo)業(yè)務(wù)類型。阿里巴巴業(yè)務(wù)項(xiàng)目包括業(yè)務(wù)類型實(shí)時(shí)查詢、機(jī)器學(xué)習(xí)以及流失計(jì)算等目標(biāo)業(yè)務(wù)類型。支付寶業(yè)務(wù)項(xiàng)目包括:實(shí)時(shí)查詢、機(jī)器學(xué)習(xí)以及在線監(jiān)控等目標(biāo)業(yè)務(wù)類型。
當(dāng)垃圾回收系統(tǒng)中的scanner對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描,得到每個(gè)業(yè)務(wù)項(xiàng)目包括的目標(biāo)業(yè)務(wù)類型,將所有的業(yè)務(wù)項(xiàng)目掃描結(jié)果生成一個(gè)業(yè)務(wù)項(xiàng)目列表,scheduler根據(jù)業(yè)務(wù)項(xiàng)目列表獲取與各業(yè)務(wù)項(xiàng)目相關(guān)的目標(biāo)回收組件,然后將各業(yè)務(wù)項(xiàng)目中的目標(biāo)業(yè)務(wù)類型作為任務(wù)分配到對(duì)應(yīng)的worker上,worker基于目標(biāo)回收組件的垃圾回收路基對(duì)對(duì)應(yīng)的業(yè)務(wù)類型進(jìn)行垃圾回收。
例如,高德業(yè)務(wù)項(xiàng)目包括實(shí)時(shí)查詢和流式計(jì)算等目標(biāo)業(yè)務(wù)類型,為 了對(duì)該業(yè)務(wù)項(xiàng)目的垃圾進(jìn)行回收,需要調(diào)用與其對(duì)應(yīng)的目標(biāo)回收組件,其中目標(biāo)回收組件包括:回收組件1和回收組件4?;诨厥战M件1和回收組件4對(duì)該業(yè)務(wù)項(xiàng)目的垃圾進(jìn)行回收。其中,回收組件1用于回收實(shí)時(shí)查詢的垃圾,而回收組件4回收流式計(jì)算的垃圾。該示例中,worker可以為目標(biāo)回收組件分配多個(gè)線程池,通過(guò)多個(gè)線程池并行地執(zhí)行目標(biāo)回收組件,用于提高垃圾回收效率。
淘寶業(yè)務(wù)項(xiàng)目包括實(shí)時(shí)查詢、流式計(jì)算和在線監(jiān)控等目標(biāo)業(yè)務(wù)類型,為了對(duì)該業(yè)務(wù)項(xiàng)目的垃圾進(jìn)行回收,需要的目標(biāo)回收組件包括:回收組件1、回收組件4和回收組件5。然后基于回收組件1、回收組件4和回收組件5對(duì)淘寶業(yè)務(wù)項(xiàng)目的垃圾進(jìn)行回收。具體過(guò)程參見(jiàn)高德業(yè)務(wù)項(xiàng)目的處理過(guò)程,此處不再贅述。
當(dāng)所有的業(yè)務(wù)項(xiàng)目中不再包括實(shí)時(shí)查詢目標(biāo)業(yè)務(wù)類型時(shí),scheduler可以指示worker1將對(duì)應(yīng)的回收組件1進(jìn)行刪除。當(dāng)僅有一些業(yè)務(wù)項(xiàng)目不再包括實(shí)時(shí)查詢目標(biāo)業(yè)務(wù)類型時(shí),該實(shí)時(shí)查詢目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的回收組件1不能被刪除。例如,當(dāng)阿里巴巴業(yè)務(wù)項(xiàng)目不再包括實(shí)時(shí)查詢目標(biāo)業(yè)務(wù)類型,而淘寶仍然包括該實(shí)時(shí)查詢目標(biāo)業(yè)務(wù)類型,則該目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的回收組件1不能被刪除。
當(dāng)增加了新的目標(biāo)業(yè)務(wù)類型時(shí),需要添加該新的目標(biāo)業(yè)務(wù)類型相應(yīng)的目標(biāo)回收組件。例如增加新的目標(biāo)業(yè)務(wù)類型為離線計(jì)算時(shí),相應(yīng)地增加該離線計(jì)算目標(biāo)業(yè)務(wù)的回收組件6,將該回收組件6放置到對(duì)應(yīng)點(diǎn)worker上。
新增加的目標(biāo)業(yè)務(wù)類型被用于淘寶業(yè)務(wù)項(xiàng)目上時(shí),當(dāng)掃描該淘寶業(yè)務(wù)項(xiàng)目時(shí),就可以得到該淘寶業(yè)務(wù)項(xiàng)目包括實(shí)時(shí)查詢、流式計(jì)算、在線監(jiān)控和離線計(jì)算,相應(yīng)地目標(biāo)回收組件:回收組件1、回收組件4、回收組件5和回收組件6。
在對(duì)業(yè)務(wù)項(xiàng)目的垃圾回收的過(guò)程中,failover會(huì)對(duì)垃圾回收進(jìn)度進(jìn)行監(jiān)控,每隔一段時(shí)間將監(jiān)控到的垃圾回收進(jìn)度記為一個(gè)檢查點(diǎn),通過(guò)該檢查點(diǎn)進(jìn)行斷點(diǎn)恢復(fù)。例如,當(dāng)在垃圾回收的過(guò)程中出現(xiàn)異常情況,導(dǎo)致垃圾回收過(guò)程被中斷,重新運(yùn)行后,可以從檢查點(diǎn)中獲取到被中斷時(shí) 刻的垃圾回收進(jìn)度,從該進(jìn)度下開(kāi)始繼續(xù)回收垃圾,避免重復(fù)之前的操作。
實(shí)施例三
如圖4所示,其為本發(fā)明實(shí)施例三的垃圾回收裝置的結(jié)構(gòu)示意圖。該垃圾回收裝置包括:構(gòu)建模塊10、獲取模塊11、確定模塊12和回收模塊13。
其中,構(gòu)建模10,用于在所述獲取模塊獲取所有的業(yè)務(wù)項(xiàng)目所包括的業(yè)務(wù)類型之前,為不同的業(yè)務(wù)類型構(gòu)建對(duì)應(yīng)的回收組件,其中,一個(gè)業(yè)務(wù)類型至少對(duì)應(yīng)一個(gè)回收組件。
在獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型之前,為不同的業(yè)務(wù)類型構(gòu)建與其對(duì)應(yīng)的回收組件。具體地,為每一個(gè)業(yè)務(wù)類型構(gòu)建一個(gè)對(duì)應(yīng)的回收組件,但是實(shí)際應(yīng)用中,有些業(yè)務(wù)類型的垃圾回收邏輯是相同,為了節(jié)省資源,具有相同垃圾回收邏輯的業(yè)務(wù)類型可以復(fù)用一個(gè)回收組件,構(gòu)建模10為不同業(yè)務(wù)類型構(gòu)建對(duì)應(yīng)的回收組件的過(guò)程,可參見(jiàn)上述實(shí)施例中相關(guān)內(nèi)容的記載,此處不再贅述。
獲取模塊11,用于獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型;其中,不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件。
為了滿足能夠動(dòng)態(tài)地對(duì)垃圾類型可擴(kuò)展的需求,本實(shí)施例中,通過(guò)回收組件對(duì)垃圾回收邏輯進(jìn)行封裝,回收組件具有可熱插拔的功能,基于回收組件就可以實(shí)現(xiàn)對(duì)垃圾類型進(jìn)行靈活地?cái)U(kuò)展的目的。
進(jìn)一步地,為了實(shí)現(xiàn)對(duì)大量異構(gòu)的垃圾類型進(jìn)行回收,本實(shí)施例中,針對(duì)不同的業(yè)務(wù)類型構(gòu)建不同的回收組件,一般情況下,一個(gè)業(yè)務(wù)類型對(duì)應(yīng)至少一個(gè)回收組件。本實(shí)施例中以業(yè)務(wù)類型為粒度構(gòu)建的回收組件,提高通用性,能夠適用于大數(shù)據(jù)處理環(huán)境。
本實(shí)施例中,獲取模塊11對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描,獲取所有業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型。
確定模塊12,用于確定與各目標(biāo)業(yè)務(wù)類型所對(duì)應(yīng)的目標(biāo)回收組件。
在獲取模塊11獲取到所有業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型后,由于每個(gè)業(yè)務(wù)類型對(duì)應(yīng)至少一個(gè)回收組件,則確定模塊12根據(jù)所包括的目標(biāo) 業(yè)務(wù)類型,確定與目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件。
回收模塊13,用于利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
在獲取到目標(biāo)回收組件后,回收模塊13利用各目標(biāo)回收組件對(duì)目標(biāo)業(yè)務(wù)類型產(chǎn)生的垃圾進(jìn)行回收。具體地,將每個(gè)業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型作為一個(gè)任務(wù)分配到對(duì)應(yīng)的目標(biāo)回收組件中,加載所有的目標(biāo)回收組件,并為各目標(biāo)回收組件分配所需的線程池,啟動(dòng)所有的目標(biāo)回收組件使用所分配的線程池執(zhí)行垃圾回收邏輯,各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
本實(shí)施例提供的垃圾回收裝置,通過(guò)獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型,確定與目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件,利用目標(biāo)回收組件對(duì)目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。本實(shí)施例中以業(yè)務(wù)類型為粒度構(gòu)建的回收組件,為不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件,基于這些組件進(jìn)行垃圾回收,可以靈活地對(duì)業(yè)務(wù)類型進(jìn)行擴(kuò)展,可以實(shí)現(xiàn)對(duì)異構(gòu)的業(yè)務(wù)類型的回收,通用性較高。
實(shí)施例四
如圖5所示,其為本發(fā)明實(shí)施例四的垃圾回收裝置的結(jié)構(gòu)示意圖。該垃圾回收裝置除了包括上述實(shí)施例三中的構(gòu)建模塊10、獲取模塊11、確定模塊12和回收模塊13之外,還包括:監(jiān)控模塊14和斷點(diǎn)恢復(fù)模塊15。
構(gòu)建模塊10,具體用于為具有相同的垃圾回收邏輯的所有的業(yè)務(wù)類型,構(gòu)建一個(gè)與其對(duì)應(yīng)的回收組件,為其他的每個(gè)業(yè)務(wù)類型分別構(gòu)建與其對(duì)應(yīng)的回收組件;其中,所述具有相同的垃圾回收垃圾的所有的業(yè)務(wù)類型復(fù)用與其對(duì)應(yīng)的回收組件。
本實(shí)施例中獲取模塊11一種可選地結(jié)構(gòu)包括:掃描單元111和生成單元112。
其中,掃描單元111,用于對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描。
生成單元112,用于將掃描結(jié)果生成業(yè)務(wù)項(xiàng)目列表。
其中,所述業(yè)務(wù)項(xiàng)目列表中包括所有的業(yè)務(wù)項(xiàng)目所包括的所述目標(biāo) 業(yè)務(wù)類型。
本實(shí)施例中確定模塊12一種可選地結(jié)構(gòu)包括:判斷單元121、獲取單元122、刪除單元123和確定單元124。
其中,判斷單元121,用于判斷所述業(yè)務(wù)項(xiàng)目列表中是否存在新的目標(biāo)業(yè)務(wù)類型。
獲取單元122,用于在所述判斷單元判斷出存在所述新的目標(biāo)業(yè)務(wù)類型時(shí),獲取與所述新的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)新的目標(biāo)回收組件。
進(jìn)一步地,獲取單元121,還用于在所述判斷單元判斷出未存在所述新的目標(biāo)業(yè)務(wù)類型時(shí),根據(jù)所述業(yè)務(wù)項(xiàng)目列表中獲取每個(gè)業(yè)務(wù)項(xiàng)目已刪除的目標(biāo)業(yè)務(wù)類型。
進(jìn)一步地,判斷單元122,還用于判斷所述已刪除的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的的目標(biāo)回收組件是否被所述業(yè)務(wù)項(xiàng)目列表中其他的目標(biāo)業(yè)務(wù)類型所復(fù)用。
刪除單元123,用于在所述判斷單元判斷所述已刪除的業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件未被復(fù)用時(shí),將所述已刪除的業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件進(jìn)行刪除。
確定單元124,用于為所述業(yè)務(wù)項(xiàng)目列表中其他的目標(biāo)業(yè)務(wù)類型確定與其對(duì)應(yīng)的目標(biāo)回收組件,其中所述其他的目標(biāo)業(yè)務(wù)類型為所述業(yè)務(wù)項(xiàng)目列表中除所述新的目標(biāo)業(yè)務(wù)類型和已刪除的目標(biāo)業(yè)務(wù)類型之外的目標(biāo)業(yè)務(wù)類型。
本實(shí)施例中回收模塊13一種可選地結(jié)構(gòu)包括:分配單元131、加載單元132、線程分配單元133和執(zhí)行單元134。
分配單元131,用于將每個(gè)業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型作為一個(gè)任務(wù)分配到對(duì)應(yīng)的所有目標(biāo)回收組件中。
加載單元132,用于加載所有的目標(biāo)回收組件。
線程分配單元133,用于為各目標(biāo)回收組件分配所需的線程池。
執(zhí)行單元134,用于啟動(dòng)各目標(biāo)回收組件使用所分配的所述線程池執(zhí)行所述垃圾回收邏輯對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
監(jiān)控模塊14,用于在利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型 的垃圾進(jìn)行回收的過(guò)程中,監(jiān)控垃圾回收進(jìn)度并將監(jiān)控到的所述垃圾回收進(jìn)度作為為一個(gè)檢查點(diǎn)。
斷點(diǎn)恢復(fù)模塊15,用于在垃圾回收的過(guò)程中出現(xiàn)斷點(diǎn)后,利用與所述斷點(diǎn)時(shí)間最近的所述檢查點(diǎn)進(jìn)行斷點(diǎn)恢復(fù)。
上述實(shí)施例一和實(shí)施例二提供的垃圾回收方法可以運(yùn)行在如圖5所示的垃圾回收裝置中。
本實(shí)施例中以業(yè)務(wù)類型為粒度構(gòu)建的回收組件,為不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件,基于這些組件進(jìn)行垃圾回收,可以靈活地對(duì)業(yè)務(wù)類型進(jìn)行擴(kuò)展,可以實(shí)現(xiàn)對(duì)異構(gòu)的業(yè)務(wù)類型的回收,通用性較高。
本實(shí)施例中,基于回收組件對(duì)垃圾進(jìn)行回收,能適應(yīng)現(xiàn)有大數(shù)據(jù)開(kāi)放處理平臺(tái)中對(duì)大量異構(gòu)類型垃圾回收的要求,基于回收組件具有的熱插拔功能,具有很強(qiáng)的動(dòng)態(tài)擴(kuò)展性,能夠?qū)Ξa(chǎn)生的新業(yè)務(wù)類型的垃圾有效支持,從而適用于大數(shù)據(jù)處理環(huán)境。當(dāng)在垃圾回收的過(guò)程中,如果出現(xiàn)異常情況,導(dǎo)致垃圾回收的過(guò)程被中斷,可以根據(jù)最近的檢查點(diǎn)進(jìn)行斷點(diǎn)恢復(fù)。
實(shí)施例五
如圖6所示,其為本發(fā)明實(shí)施例五的垃圾回收裝置的結(jié)構(gòu)示意圖。該垃圾回收裝置包括:掃描儀21、調(diào)度器22和執(zhí)行器23。
其中,掃描儀21,用于獲取所有的業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型;其中,不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件。
調(diào)度器22,用于確定與各目標(biāo)業(yè)務(wù)類型所對(duì)應(yīng)的目標(biāo)回收組件。
執(zhí)行器23,用于利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
進(jìn)一步地,執(zhí)行器22,用于在所述掃描儀獲取所有的業(yè)務(wù)項(xiàng)目所包括的業(yè)務(wù)類型之前,為不同的業(yè)務(wù)類型構(gòu)建對(duì)應(yīng)的回收組件,其中,一個(gè)業(yè)務(wù)類型至少對(duì)應(yīng)一個(gè)回收組件。
執(zhí)行器22,具體用于為具有相同的垃圾回收邏輯的所有的業(yè)務(wù)類型,構(gòu)建一個(gè)與其對(duì)應(yīng)的回收組件,為其他的每個(gè)業(yè)務(wù)類型分別構(gòu)建與其對(duì)應(yīng)的回收組件。
其中,所述具有相同的垃圾回收垃圾的所有的業(yè)務(wù)類型復(fù)用與其對(duì)應(yīng)的回收組件。
掃描儀21,具體用于對(duì)所有的業(yè)務(wù)項(xiàng)目進(jìn)行掃描,將掃描結(jié)果生成業(yè)務(wù)項(xiàng)目列表;其中,所述業(yè)務(wù)項(xiàng)目列表中包括所有的業(yè)務(wù)項(xiàng)目所包括的所述目標(biāo)業(yè)務(wù)類型。
調(diào)度器22,具體用于在所述掃描儀生成所述業(yè)務(wù)項(xiàng)目列表后,用于判斷所述業(yè)務(wù)項(xiàng)目列表中是否存在新的目標(biāo)業(yè)務(wù)類型,以及在判斷出存在所述新的目標(biāo)業(yè)務(wù)類型時(shí),獲取與所述新的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)新的目標(biāo)回收組件。
調(diào)度器23,還具體用于在判斷出未存在所述新的目標(biāo)業(yè)務(wù)類型時(shí),根據(jù)所述業(yè)務(wù)項(xiàng)目列表中獲取每個(gè)業(yè)務(wù)項(xiàng)目已刪除的目標(biāo)業(yè)務(wù)類型,以及判斷所述已刪除的目標(biāo)業(yè)務(wù)類型對(duì)應(yīng)的的目標(biāo)回收組件是否被所述業(yè)務(wù)項(xiàng)目列表中其他的目標(biāo)業(yè)務(wù)類型所復(fù)用,在判斷所述已刪除的業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件未被復(fù)用時(shí),將所述已刪除的業(yè)務(wù)類型對(duì)應(yīng)的目標(biāo)回收組件進(jìn)行刪除,以及為所述業(yè)務(wù)項(xiàng)目列表中其他的目標(biāo)業(yè)務(wù)類型確定與其對(duì)應(yīng)的目標(biāo)回收組件,其中所述其他的目標(biāo)業(yè)務(wù)類型為所述業(yè)務(wù)項(xiàng)目列表中除所述新的目標(biāo)業(yè)務(wù)類型和已刪除的目標(biāo)業(yè)務(wù)類型之外的目標(biāo)業(yè)務(wù)類型,并將每個(gè)業(yè)務(wù)項(xiàng)目所包括的目標(biāo)業(yè)務(wù)類型作為一個(gè)任務(wù)分配給所述執(zhí)行器。
執(zhí)行器23,具體用于接收所述調(diào)度器分配的任務(wù),將任務(wù)分配到對(duì)應(yīng)的所有目標(biāo)回收組件中,加載所有的目標(biāo)回收組件,為各目標(biāo)回收組件分配所需的線程池,以及啟動(dòng)各目標(biāo)回收組件使用所分配的所述線程池執(zhí)行所述垃圾回收邏輯對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收。
該垃圾回收裝置還包括:故障處理器24。
故障處理器24,用于在利用各目標(biāo)回收組件對(duì)所對(duì)應(yīng)的目標(biāo)業(yè)務(wù)類型的垃圾進(jìn)行回收的過(guò)程中,監(jiān)控垃圾回收進(jìn)度并將監(jiān)控到的所述垃圾回收進(jìn)度作為為一個(gè)檢查點(diǎn)。
故障處理器24,還用于在垃圾回收的過(guò)程中出現(xiàn)斷點(diǎn)后,利用與所述斷點(diǎn)時(shí)間最近的所述檢查點(diǎn)進(jìn)行斷點(diǎn)恢復(fù)。
上述實(shí)施例一和實(shí)施例二提供的垃圾回收方法可以運(yùn)行在如圖5所示的垃圾回收裝置中。
本實(shí)施例中以業(yè)務(wù)類型為粒度構(gòu)建的回收組件,為不同的業(yè)務(wù)類型對(duì)應(yīng)不同的回收組件,基于這些組件進(jìn)行垃圾回收,可以靈活地對(duì)業(yè)務(wù)類型進(jìn)行擴(kuò)展,可以實(shí)現(xiàn)對(duì)異構(gòu)的業(yè)務(wù)類型的回收,通用性較高。
本實(shí)施例中,基于回收組件對(duì)垃圾進(jìn)行回收,能適應(yīng)現(xiàn)有大數(shù)據(jù)開(kāi)放處理平臺(tái)中對(duì)大量異構(gòu)類型垃圾回收的要求,基于回收組件具有的熱插拔功能,具有很強(qiáng)的動(dòng)態(tài)擴(kuò)展性,能夠?qū)Ξa(chǎn)生的新業(yè)務(wù)類型的垃圾有效支持,從而適用于大數(shù)據(jù)處理環(huán)境。當(dāng)在垃圾回收的過(guò)程中,如果出現(xiàn)異常情況,導(dǎo)致垃圾回收的過(guò)程被中斷,可以根據(jù)最近的檢查點(diǎn)進(jìn)行斷點(diǎn)恢復(fù)。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。