一種內(nèi)存資源的管理方法、裝置及單板的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種內(nèi)存資源的管理方法、裝置及單板,該方法包括:判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá);當(dāng)所述狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址資源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,其中,所述地址資源包含內(nèi)存資源的內(nèi)存地址,所述第一狀態(tài)地址資源池用于釋放和分配地址資源,所述第二狀態(tài)地址資源池用于釋放地址資源。本發(fā)明實(shí)施例由于對地址資源按照劃分的地址資源池進(jìn)行分塊管理,以及對地址資源池進(jìn)行整體回收,因此每個(gè)周期需要維護(hù)的數(shù)據(jù)量變少,提高了內(nèi)存泄露的恢復(fù)速度,減少了通信設(shè)備的系統(tǒng)功耗,相應(yīng)提升了內(nèi)存管理性能。
【專利說明】一種內(nèi)存資源的管理方法、裝置及單板【技術(shù)領(lǐng)域】[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種內(nèi)存資源的管理方法、裝置及單板。【背景技術(shù)】[0002]內(nèi)存(M e m O r y )是通信設(shè)備中重要的部件之一,通信設(shè)備中所有程序均在內(nèi) 存中運(yùn)行。內(nèi)存也被稱為內(nèi)存儲(chǔ)器,用于暫時(shí)存放中央處理器(C e n t r a I Pro cessing Unit,CPU)中的運(yùn)算數(shù)據(jù),以及與硬盤等外部存儲(chǔ)器交換的數(shù) 據(jù)。內(nèi)存管理是指對通信設(shè)備內(nèi)存資源進(jìn)行分配和使用的技術(shù),其最主要的目的是在適當(dāng) 的時(shí)候?qū)?nèi)存資源進(jìn)行分配和釋放,內(nèi)存資源的分配和釋放與通信設(shè)備內(nèi)數(shù)據(jù)的寫入和讀 出的速率成正比。在管理內(nèi)存的過程中,如果為所運(yùn)行的某個(gè)程序分配的內(nèi)存資源在使用 完畢后未釋放,導(dǎo)致該內(nèi)存資源一直被占據(jù),直到該程序結(jié)束之前都無法分配給其它程序 使用,則稱為發(fā)生了內(nèi)存泄露,內(nèi)存泄露由于消耗了通信設(shè)備大量的系統(tǒng)內(nèi)存資源,因此可 能導(dǎo)致系統(tǒng)性能下降甚至癱瘓。[0003]為了防止內(nèi)存泄露,現(xiàn)有技術(shù)中采用設(shè)置時(shí)間戳的方式對內(nèi)存資源進(jìn)行強(qiáng)制回 收。具體來說,由通信設(shè)備內(nèi)的內(nèi)存管理單元(M e m ο r y Manage Uni t ,MMU)維護(hù)一張內(nèi)存管理表,該內(nèi)存管理表中的每個(gè)表項(xiàng)包括一個(gè)已分配的地址資源 和對應(yīng)的時(shí)間戳,當(dāng)某個(gè)地址資源被分配給某個(gè)報(bào)文時(shí),設(shè)置該地址資源對應(yīng)的時(shí)間戳為 當(dāng)前時(shí)間,并標(biāo)記該地址資源為已分配;MM U定時(shí)遍歷該內(nèi)存管理表,對于標(biāo)注為已分配 的地址資源,MM U可以獲取對應(yīng)的時(shí)間戳與當(dāng)前時(shí)間進(jìn)行比較,如果二者的時(shí)間差超過 預(yù)設(shè)的生存周期,則MMU強(qiáng)制回收該地址資源。[0004]發(fā)明人在對現(xiàn)有技術(shù)的研究過程中發(fā)現(xiàn),現(xiàn)有技術(shù)雖然可以防止內(nèi)存泄露,但是 隨著網(wǎng)絡(luò)帶寬呈爆炸式增長,通信設(shè)備內(nèi)部數(shù)據(jù)的寫入和讀出操作也呈海量增長,MMU 所維護(hù)的內(nèi)存管理表就會(huì)變大,而為了強(qiáng)制回收地址資源所要遍歷的數(shù)據(jù)也相應(yīng)增加,由 此導(dǎo)致通信設(shè)備的內(nèi)存泄露恢復(fù)速度變慢,且會(huì)增加通信設(shè)備的功耗,導(dǎo)致通信設(shè)備的內(nèi) 存管理性能下降。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例中提供了一種內(nèi)存資源的管理方法、裝置及單板,以解決現(xiàn)有防內(nèi) 存泄露方式會(huì)導(dǎo)致通信設(shè)備內(nèi)存管理性能下降的問題。[0006]為了解決上述技術(shù)問題,本發(fā)明實(shí)施例公開了如下技術(shù)方案:[0007]第一方面,提供一種內(nèi)存資源的管理方法,所述方法包括:[0008]判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá);[0009]當(dāng)所述狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址資源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換 為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池, 其中,所述地址資源包含內(nèi)存資源的內(nèi)存地址,所述第一狀態(tài)地址資源池用于釋放和分配 地址資源,所述第二狀態(tài)地址資源池用于釋放地址資源。[0010]結(jié)合第一方面,在第一方面的第一種實(shí)現(xiàn)方式中,所述方法還包括:[0011]在所述判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá)之前,將所述地址資源劃分為多個(gè)地址資源 池;[0012]為所述多個(gè)地址資源池中的地址資源池分別設(shè)置狀態(tài)屬性,所述多個(gè)地址資源池 中的地址資源池根據(jù)設(shè)置的狀態(tài)屬性分為第一狀態(tài)地址資源池和第二狀態(tài)地址資源池。[0013]結(jié)合第一方面,或第一方面的第一種實(shí)現(xiàn)方式,在第一方面的第二種實(shí)現(xiàn)方式中, 所述將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池具體包括:[0014]回收至少一個(gè)第二狀態(tài)地址資源池的地址資源,并將地址資源被回收的所述至少 一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。[0015]結(jié)合第一方面,或第一方面的第一種實(shí)現(xiàn)方式,或第一方面的第二種實(shí)現(xiàn)方式,在 第一方面的第三種實(shí)現(xiàn)方式中,所述第二狀態(tài)地址資源池包括:至少一個(gè)第三狀態(tài)地址資 源池,和除所述第三狀態(tài)地址資源池的第四狀態(tài)地址資源池;[0016]所述將地址資源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池, 并將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,具體包括:將一個(gè)第一狀 態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài)地址資源池,并將一個(gè)第三狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài) 地址資源池;[0017]所述方法還包括:將一個(gè)第四狀態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資源池。[0018]結(jié)合第一方面,或第一方面的第一種實(shí)現(xiàn)方式,或第一方面的第二種實(shí)現(xiàn)方式,或 第一方面的第三種實(shí)現(xiàn)方式,在第一方面的第四種實(shí)現(xiàn)方式中,所述方法還包括:[0019]當(dāng)接收到報(bào)文時(shí),獲取第一狀態(tài)地址資源池;[0020]從所述第一狀態(tài)地址資源池的空閑內(nèi)存地址中為所述報(bào)文分配內(nèi)存地址;[0021]將所述報(bào)文寫入與所分配的內(nèi)存地址對應(yīng)的內(nèi)存空間中。[0022]結(jié)合第一方面,或第一方面的第一種實(shí)現(xiàn)方式,或第一方面的第二種實(shí)現(xiàn)方式,或 第一方面的第三種實(shí)現(xiàn)方式,或第一方面的第四種實(shí)現(xiàn)方式,在第一方面的第五種實(shí)現(xiàn)方 式中,所述狀態(tài)轉(zhuǎn)換周期為使用一個(gè)地址資源池對應(yīng)的內(nèi)存資源需要的平均時(shí)間。[0023]第二方面,提供一種內(nèi)存資源的管理裝置,其特征在于,所述裝置包括:[0024]判斷單元,用于判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá);[0025]轉(zhuǎn)換單元,用于當(dāng)所述判斷單元的判斷結(jié)果為狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址資源 中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài)地 址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,其中,所述地址資源包含所述內(nèi)存資源的內(nèi)存地址, 所述第一狀態(tài)地址資源池用于釋放和分配地址資源,所述第二狀態(tài)地址資源池用于釋放地 址資源。[0026]結(jié)合第二方面,在第二方面的第一種實(shí)現(xiàn)方式中,所述裝置還包括:[0027]劃分單元,用于將所述地址資源劃分為多個(gè)地址資源池;[0028]設(shè)置單元,用于為所述劃分單元?jiǎng)澐值亩鄠€(gè)地址資源池中的地址資源池分別設(shè)置 狀態(tài)屬性,所述多個(gè)地址資源池中的地址資源池根據(jù)設(shè)置的狀態(tài)屬性分為所述第一狀態(tài)地 址資源池和所述第二狀態(tài)地址資源池。[0029]結(jié)合第二方面,或第二方面的第一種實(shí)現(xiàn)方式,在第二方面的第二種實(shí)現(xiàn)方式中, 所述轉(zhuǎn)換單元包括:[0030]資源回收子單元,用于回收至少一個(gè)第二狀態(tài)地址資源池的地址資源;[0031]狀態(tài)轉(zhuǎn)換子單元,用于將地址資源被所述資源回收子單元回收的所述至少一個(gè)第 二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。[0032]結(jié)合第二方面,或第二方面的第一種實(shí)現(xiàn)方式,或第二方面的第二種實(shí)現(xiàn)方式,在 第二方面的第三種實(shí)現(xiàn)方式中,所述第二狀態(tài)地址資源池包括:至少一個(gè)第三狀態(tài)地址資 源池,和除所述第三狀態(tài)地址資源池的第四狀態(tài)地址資源池;[0033]所述轉(zhuǎn)換單元,具體用于將一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài)地址資源 池,并將一個(gè)第三狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池;[0034]所述轉(zhuǎn)換單元,還用于將一個(gè)第四狀態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資源池。[0035]結(jié)合第二方面,或第二方面的第一種實(shí)現(xiàn)方式,或第二方面的第二種實(shí)現(xiàn)方式,或 第二方面的第三種實(shí)現(xiàn)方式,在第二方面的第四種實(shí)現(xiàn)方式中,所述裝置還包括:[0036]獲取單元,用于當(dāng)接收到報(bào)文時(shí),獲取第一狀態(tài)地址資源池;[0037]分配單元,用于從所述獲取單元獲取的第一狀態(tài)地址資源池的空閑內(nèi)存地址中為 所述報(bào)文分配內(nèi)存地址;[0038]寫入單元,用于將所述報(bào)文寫入與所述分配單元分配的內(nèi)存地址對應(yīng)的內(nèi)存空間 中。[0039]第三方面,提供一種單板,所述單板包括:存儲(chǔ)器和與所述存儲(chǔ)器連接的可編程電 路器件,其中,[0040]所述存儲(chǔ)器,用于提供內(nèi)存資源,所述內(nèi)存資源的內(nèi)存地址組成地址資源;[0041]所述可編程電路器件,用于判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá),當(dāng)所述狀態(tài)轉(zhuǎn)換周期到 達(dá)時(shí),將地址資源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至 少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,其中,所述地址資源包含內(nèi)存資 源的內(nèi)存地址,所述第一狀態(tài)地址資源池用于釋放和分配地址資源,所述第二狀態(tài)地址資 源池用于釋放地址資源。[0042]結(jié)合第三方面,在第三方面的第一種實(shí)現(xiàn)方式中,所述可編程電路器件,還用于將 所述地址資源劃分為多個(gè)地址資源池,為所述多個(gè)地址資源池中的地址資源池分別設(shè)置狀 態(tài)屬性,所述多個(gè)地址資源池中的地址資源池根據(jù)設(shè)置的狀態(tài)屬性分為第一狀態(tài)地址資源 池和第二狀態(tài)地址資源池。[0043]結(jié)合第三方面,或第三方面的第一種實(shí)現(xiàn)方式,在第三方面的第二種實(shí)現(xiàn)方式中, 所述可編程電路器件,具體用于回收至少一個(gè)第二狀態(tài)地址資源池的地址資源,并將地址 資源被回收的所述至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。[0044]結(jié)合第三方面,或第三方面的第一種實(shí)現(xiàn)方式,或第三方面的第二種實(shí)現(xiàn)方式,在 第三方面的第三種實(shí)現(xiàn)方式中,所述第二狀態(tài)地址資源池包括:至少一個(gè)第三狀態(tài)地址資 源池,和除所述第三狀態(tài)地址資源池的第四狀態(tài)地址資源池;[0045]所述可編程電路器件,具體用于將一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài)地址 資源池,并將一個(gè)第三狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池;[0046]所述可編程電路器件,還用于將一個(gè)第四狀態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資 源池。[0047]結(jié)合第三方面,或第三方面的第一種實(shí)現(xiàn)方式,或第三方面的第二種實(shí)現(xiàn)方式,或第三方面的第三種實(shí)現(xiàn)方式,在第三方面的第四種實(shí)現(xiàn)方式中,所述單板還包括:分別與所 述存儲(chǔ)器和可編程電路器件連接的處理器,[0048]所述可編程電路器件,還用于當(dāng)接收到報(bào)文時(shí),獲取第一狀態(tài)地址資源池,從所述 第一狀態(tài)地址資源池的空閑內(nèi)存地址中為所述報(bào)文分配內(nèi)存地址,并將所述報(bào)文寫入所述 存儲(chǔ)器上與所分配的內(nèi)存地址對應(yīng)的內(nèi)存空間中;[0049]所述處理器,用于從所述內(nèi)存空間中讀取所述報(bào)文。[0050]本發(fā)明實(shí)施例中,判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá),當(dāng)狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址資 源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài) 地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,第一狀態(tài)地址資源池用于釋放和分配地址資源, 第二狀態(tài)地址資源池用于釋放地址資源。應(yīng)用本發(fā)明實(shí)施例,與現(xiàn)有按照周期對每個(gè)地址 資源進(jìn)行遍歷來決定是否強(qiáng)制回收相比,由于對地址資源按照劃分的地址資源池進(jìn)行分塊 管理,將地址資源分為至少一個(gè)第一狀態(tài)地址資源池和至少一個(gè)第二狀態(tài)地址資源池,并 在狀態(tài)轉(zhuǎn)換周期達(dá)到時(shí),以地址資源池為單位,僅需對至少一個(gè)第二狀態(tài)地質(zhì)資源池進(jìn)行 整體回收,以將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為可用于分配地址資源的第一狀態(tài)地址 資源池,因此每個(gè)周期需要維護(hù)的地址資源數(shù)量變少,由此提高了內(nèi)存泄露的恢復(fù)速度,減 少了通信設(shè)備的系統(tǒng)功耗,相應(yīng)提升了內(nèi)存管理性能?!緦@綀D】
【附圖說明】[0051]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而 言,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0052]圖1為本發(fā)明內(nèi)存資源的管理方法的一個(gè)實(shí)施例流程圖;[0053]圖2為本發(fā)明內(nèi)存資源的管理方法的另一個(gè)實(shí)施例流程圖;[0054]圖3為本發(fā)明內(nèi)存資源的管理裝置的一個(gè)實(shí)施例框圖;[0055]圖4為本發(fā)明內(nèi)存資源的管理裝置的另一個(gè)實(shí)施例框圖;[0056]圖5為本發(fā)明內(nèi)存資源的管理裝置的另一個(gè)實(shí)施例框圖;[0057]圖6為本發(fā)明單板的實(shí)施例框圖;[0058]圖7 A為應(yīng)用本發(fā)明實(shí)施例的一個(gè)單板架構(gòu)示意圖;[0059]圖7 B為圖7 A所示單板進(jìn)行內(nèi)存資源管理時(shí)地址資源池的狀態(tài)轉(zhuǎn)換示意圖。 【具體實(shí)施方式】[0060]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí) 施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實(shí)施例中技術(shù)方 案作進(jìn)一步詳細(xì)的說明。[0061]參見圖1,為本發(fā)明內(nèi)存資源的管理方法的一個(gè)實(shí)施例流程圖:[0062]步驟101:判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá)。[0063]內(nèi)存資源管理是指對內(nèi)存資源進(jìn)行分配和使用的技術(shù),其最主要的目的是在適當(dāng) 的時(shí)候?qū)?nèi)存資源進(jìn)行分配和釋放。內(nèi)存資源通常由若干內(nèi)存空間組成,每個(gè)內(nèi)存空間對 應(yīng)一個(gè)內(nèi)存地址,所有內(nèi)存地址組成地址資源,對內(nèi)存資源的管理可以等同于對地址資源的管理,通過內(nèi)存地址可以找到對應(yīng)的內(nèi)存空間,從而通過內(nèi)存空間進(jìn)行報(bào)文讀寫操作。[0064]本實(shí)施例中,可以將地址資源劃分為多個(gè)地址資源池,并為地址資源池設(shè)置狀態(tài), 包括第一狀態(tài)地址資源池和第二狀態(tài)地址資源池。其中,第一狀態(tài)地址資源池用于釋放和 分配地址資源,第二狀態(tài)地址資源池用于釋放地址資源,即第一狀態(tài)地址資源池中的內(nèi)存 地址可以分配和釋放,而第二狀態(tài)地址資源池中的內(nèi)存地址僅能夠釋放,但不能分配。[0065]為了對地址資源實(shí)現(xiàn)分塊管理,本實(shí)施例中設(shè)置了狀態(tài)轉(zhuǎn)換周期,狀態(tài)轉(zhuǎn)換周期 為使用一個(gè)地址資源池對應(yīng)的內(nèi)存資源需要的平均時(shí)間,以此保證每個(gè)狀態(tài)轉(zhuǎn)換周期內(nèi), 至少一個(gè)地址資源池對應(yīng)的內(nèi)存資源可以提供給整個(gè)操作系統(tǒng)使用,從而可以在每個(gè)狀態(tài) 轉(zhuǎn)換周期內(nèi),通過將該至少一個(gè)地址資源池作為第一狀態(tài)地址資源池,用于釋放和分配地 址資源即可。[0066]步驟102:當(dāng)狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址資源中的至少一個(gè)第一狀態(tài)地址資源 池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資 源池。[0067]本實(shí)施例中,根據(jù)狀態(tài)轉(zhuǎn)換周期的判斷結(jié)果,在每個(gè)狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),可以按 照地址資源池的劃分順序,將第一狀態(tài)地址資源池中排在最前的至少一個(gè)第一狀態(tài)地址資 源池,即將處于第一狀態(tài)時(shí)間最長的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資 源池,以及將第二狀態(tài)地址資源池中排在最前的至少一個(gè)第二狀態(tài)地址資源池,即將處于 第二狀態(tài)時(shí)間最長的至少一個(gè)第二狀態(tài)地址資源池的地址資源進(jìn)行回收,并將該至少一個(gè) 第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。其中,在每個(gè)狀態(tài)轉(zhuǎn)換周期內(nèi),第一狀態(tài) 地址資源池的數(shù)量和第二狀態(tài)地址資源池的數(shù)量可以保持不變,以此經(jīng)過若干狀態(tài)轉(zhuǎn)換周 期,每個(gè)地址資源池都可以轉(zhuǎn)換為第一狀態(tài)地址資源池,從而使其地址資源被強(qiáng)制回收。進(jìn) 一步,第二狀態(tài)地址資源池的數(shù)量與狀態(tài)轉(zhuǎn)換周期相乘獲得的時(shí)間不小于系統(tǒng)預(yù)設(shè)的內(nèi)存 地址的強(qiáng)制回收時(shí)間。[0068]由上述實(shí)施例可見,該實(shí)施例由于對地址資源按照劃分的地址資源池進(jìn)行分塊管 理,將地址資源分為至少一個(gè)第一狀態(tài)地址資源池和至少一個(gè)第二狀態(tài)地址資源池,并在 狀態(tài)轉(zhuǎn)換周期達(dá)到時(shí),以地址資源池為單位,僅需對至少一個(gè)第二狀態(tài)地質(zhì)資源池進(jìn)行整 體回收,以將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為可用于分配地址資源的第一狀態(tài)地址資 源池,因此每個(gè)周期需要維護(hù)的地址資源數(shù)量變少,由此提高了內(nèi)存泄露的恢復(fù)速度,減少 了通信設(shè)備的系統(tǒng)功耗,相應(yīng)提升了內(nèi)存管理性能。[0069]參見圖2,為本發(fā)明內(nèi)存資源的管理方法的另一個(gè)實(shí)施例流程圖:[0070]步驟201:將地址資源劃分為多個(gè)地址資源池。[0071]內(nèi)存資源管理是指對內(nèi)存資源進(jìn)行分配和使用的技術(shù),其最主要的目的是在適當(dāng) 的時(shí)候?qū)?nèi)存資源進(jìn)行分配和釋放。內(nèi)存資源通常由若干內(nèi)存空間組成,每個(gè)內(nèi)存空間對 應(yīng)一個(gè)內(nèi)存地址,所有內(nèi)存地址組成地址資源,對內(nèi)存資源的管理可以等同于對地址資源 的管理,通過內(nèi)存地址可以找到對應(yīng)的內(nèi)存空間,從而通過內(nèi)存空間進(jìn)行報(bào)文讀寫操作。[0072]通常地址資源包含的內(nèi)存地址是連續(xù)的,本實(shí)施例中在將地址資源劃分為多個(gè)地 址資源池時(shí),可以按照內(nèi)存地址的順序劃分地址資源池。例如,假設(shè)共有O至N * S — I個(gè) 內(nèi)存地址,N和S均為自然數(shù),則可以將每S個(gè)內(nèi)存地址劃分為一個(gè)地址資源池,相應(yīng)可以 劃分出N個(gè)地址資源池,即第一個(gè)地址資源池中包含的內(nèi)存地址為內(nèi)存地址O至內(nèi)存地址S-1,第二個(gè)地址資源池中包含的內(nèi)存地址為內(nèi)存地址S至內(nèi)存地址2 S — 1,以此類推, 第N個(gè)地址資源池中包含的內(nèi)存地址為內(nèi)存地址(N — I) * S至內(nèi)存地址N* S-10[0073]步驟202:為多個(gè)地址資源池中的地址資源池分別設(shè)置狀態(tài)屬性,然后分別執(zhí)行 步驟203和步驟206。[0074]本步驟中,可以將劃分的多個(gè)地址資源池中的地址資源池設(shè)置為第一狀態(tài)地址資 源池和第二狀態(tài)地址資源池,其中,第一狀態(tài)地址資源池用于釋放和分配地址資源,第二狀 態(tài)地址資源池用于釋放地址資源,即第一狀態(tài)地址資源池中的內(nèi)存地址可以分配和釋放, 而第二狀態(tài)地址資源池中的內(nèi)存地址僅能夠釋放,但不能分配。優(yōu)選的,第二狀態(tài)地址資源 池可以進(jìn)一步包括至少一個(gè)第三狀態(tài)地址資源池,和除第三狀態(tài)地址資源池的第四狀態(tài)地 址資源池。[0075]步驟203:判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá),若是,則執(zhí)行步驟204;否則,返回步驟 203。[0076]為了對地址資源實(shí)現(xiàn)分塊管理,本實(shí)施例中設(shè)置了狀態(tài)轉(zhuǎn)換周期,狀態(tài)轉(zhuǎn)換周期 為使用一個(gè)地址資源池對應(yīng)的內(nèi)存資源需要的平均時(shí)間,以此保證每個(gè)狀態(tài)轉(zhuǎn)換周期內(nèi), 至少一個(gè)地址資源池對應(yīng)的內(nèi)存資源可以提供給整個(gè)系統(tǒng)使用,從而可以在每個(gè)狀態(tài)轉(zhuǎn)換 周期內(nèi),通過將該至少一個(gè)地址資源池作為第一狀態(tài)地址資源池,用于釋放和分配地址資 源即可。[0077]結(jié)合步驟202中地址資源池的狀態(tài)設(shè)置,可以將第三狀態(tài)地址資源池作為每個(gè)狀 態(tài)轉(zhuǎn)換周期系統(tǒng)強(qiáng)制回收的地址資源池,該第三狀態(tài)地址資源池的個(gè)數(shù)優(yōu)選為一個(gè)。本實(shí) 施例中,假設(shè)初始時(shí),將N個(gè)地址資源池中的地址資源池O至地址資源池η — I設(shè)置為第四 狀態(tài)地址資源池,將地址資源池η至地址資源池N — 2設(shè)置為第一狀態(tài)地址資源池,將地 址資源池N—I設(shè)置為第三狀態(tài)地址資源池。[0078]步驟204:將一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài)地址資源池,將一個(gè)第四 狀態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資源池。[0079]步驟205:回收一個(gè)第三狀態(tài)地址資源池,并將該一個(gè)第三狀態(tài)地址資源池轉(zhuǎn)換 為第一狀態(tài)地址資源池,返回步驟203。[0080]當(dāng)每個(gè)狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),可以按照地址資源池的劃分順序,將排在最前的一 個(gè)第一狀態(tài)地址資源池,即處于第一狀態(tài)時(shí)間最長的第一狀態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài) 地址資源池,將排在最前的一個(gè)第四狀態(tài)地址資源池,即處于第四狀態(tài)時(shí)間最長的第四狀 態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資源池,以及排在最前的一個(gè)第三狀態(tài)地址資源池,即 處于第三狀態(tài)時(shí)間最長的第三狀態(tài)地址資源池的地址資源進(jìn)行回收,并將該第三狀態(tài)地址 資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。本實(shí)施例中,在每個(gè)狀態(tài)轉(zhuǎn)換周期內(nèi),第一狀態(tài)地址資 源池的數(shù)量、第三狀態(tài)地址資源池的數(shù)量以及第四狀態(tài)地址資源池的數(shù)量可以保持不變, 以此經(jīng)過若干狀態(tài)轉(zhuǎn)換周期,每個(gè)地址資源池都可以轉(zhuǎn)換為第一狀態(tài)地址資源池,從而使 其地址資源被強(qiáng)制回收。[0081]按照步驟203中的地址資源池的初始狀態(tài)設(shè)置,當(dāng)?shù)谝粋€(gè)狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí), 可以將地址資源池O從第四狀態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資源池,將地址資源池η 從第一狀態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài)地址資源池,以及將地址資源池N — I從第三狀態(tài) 地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,并強(qiáng)制回收地址資源池N — I的所有地址資源,以便在下一個(gè)狀態(tài)轉(zhuǎn)換周期,該地址資源池N — I的地址資源可以進(jìn)行分配。[0082]步驟206:判斷是否接收到報(bào)文,若是,則執(zhí)行步驟207 ;否則,返回步驟206。[0083]步驟207:獲取第一狀態(tài)地址資源池,并從第一狀態(tài)地址資源池的空閑內(nèi)存地址 中為該報(bào)文分配內(nèi)存地址。[0084]由于地址資源池中僅有第一狀態(tài)地址資源池可以分配地址資源,因此當(dāng)接收到報(bào) 文時(shí),可以獲取第一狀態(tài)地址資源池。本實(shí)施例中,可以為第一狀態(tài)地址資源池的起始地址 資源池設(shè)置標(biāo)記,在每個(gè)狀態(tài)轉(zhuǎn)換周期,根據(jù)第一狀態(tài)地址資源池的起始位置的變化,將標(biāo) 記順序移動(dòng)即可,當(dāng)接收到報(bào)文時(shí),可以根據(jù)該標(biāo)記定位到第一狀態(tài)地址資源池的起始位 置,從而獲得第一狀態(tài)地址資源池,并從中獲得一個(gè)空閑的內(nèi)存地址分配給報(bào)文即可。[0085]步驟208:將報(bào)文寫入與所分配的內(nèi)存地址對應(yīng)的內(nèi)存空間中,返回步驟206。[0086]由于每個(gè)內(nèi)存地址對應(yīng)內(nèi)存資源中的一個(gè)內(nèi)存空間,因此當(dāng)分配了一個(gè)空閑的內(nèi) 存地址后,可以按照該內(nèi)存地址將報(bào)文寫入對應(yīng)的內(nèi)存空間。[0087]由上述實(shí)施例可見,該實(shí)施例由于對地址資源按照劃分的地址資源池進(jìn)行分塊管 理,將地址資源分為至少一個(gè)第一狀態(tài)地址資源池和至少一個(gè)第二狀態(tài)地址資源池,并在 狀態(tài)轉(zhuǎn)換周期達(dá)到時(shí),以地址資源池為單位,僅需對至少一個(gè)第二狀態(tài)地質(zhì)資源池進(jìn)行整 體回收,以將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為可用于分配地址資源的第一狀態(tài)地址資 源池,因此每個(gè)周期需要維護(hù)的地址資源數(shù)量變少,由此提高了內(nèi)存泄露的恢復(fù)速度,減少 了通信設(shè)備的系統(tǒng)功耗,相應(yīng)提升了內(nèi)存管理性能。[0088]與本發(fā)明內(nèi)存資源的管理方法的實(shí)施例相對應(yīng),本發(fā)明還提供了內(nèi)存資源的管理 裝置及單板的實(shí)施例。[0089]參見圖3,為本發(fā)明內(nèi)存資源的管理裝置的一個(gè)實(shí)施例框圖:[0090]該裝置包括:判斷單元310和轉(zhuǎn)換單元320。[0091]其中,判斷單元310,用于判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá);[0092]轉(zhuǎn)換單元320,用于當(dāng)判斷單元310的判斷結(jié)果為狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址資 源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài) 地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,其中,地址資源包含內(nèi)存資源的內(nèi)存地址,第一狀 態(tài)地址資源池用于釋放和分配地址資源,第二狀態(tài)地址資源池用于釋放地址資源。[0093]其中,轉(zhuǎn)換單元320可以包括(圖3中未示出):[0094]資源回收子單元,用于回收至少一個(gè)第二狀態(tài)地址資源池的地址資源;[0095]狀態(tài)轉(zhuǎn)換子單元,用于將地址資源被資源回收子單元回收的至少一個(gè)第二狀態(tài)地 址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。[0096]參見圖4,為本發(fā)明內(nèi)存資源的管理裝置的另一個(gè)實(shí)施例框圖:[0097]該裝置包括:劃分單元410、設(shè)置單元420、判斷單元430和轉(zhuǎn)換單元440。[0098]其中,劃分單元410,用于將地址資源劃分為多個(gè)地址資源池;[0099]設(shè)置單元420,用于為劃分單元410劃分的多個(gè)地址資源池中的地址資源池分別 設(shè)置狀態(tài)屬性,該多個(gè)地址資源池中的地址資源池根據(jù)設(shè)置的狀態(tài)屬性分為第一狀態(tài)地址 資源池和第二狀態(tài)地址資源池,其中,地址資源包含內(nèi)存資源的內(nèi)存地址,第二狀態(tài)地址 資源池包括至少一個(gè)第三狀態(tài)地址資源池,和除第三狀態(tài)地址資源池的第四狀態(tài)地址資源 池,第一狀態(tài)地址資源池用于釋放和分配地址資源,第二狀態(tài)地址資源池用于釋放地址資源;[0100]判斷單元430,用于判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá);[0101]轉(zhuǎn)換單元440,用于當(dāng)判斷單元430的判斷結(jié)果為狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將一個(gè)第 一狀態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài)地址資源池,將一個(gè)第三狀態(tài)地址資源池轉(zhuǎn)換為第一狀 態(tài)地址資源池,并將一個(gè)第四狀態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資源池。[0102]其中,轉(zhuǎn)換單元440可以包括(圖4中未示出):[0103]資源回收子單元,用于回收一個(gè)第三狀態(tài)地址資源池的地址資源;[0104]狀態(tài)轉(zhuǎn)換子單元,用于將地址資源被資源回收子單元回收的一個(gè)第三狀態(tài)地址資 源池轉(zhuǎn)換為第一狀態(tài)地址資源池。[0105]參見圖5,為本發(fā)明內(nèi)存資源的管理裝置的另一個(gè)實(shí)施例框圖:[0106]該裝置包括:判斷單元510、轉(zhuǎn)換單元520、獲取單元530、分配單元540和寫入單 元 550。[0107]其中,判斷單元510,用于判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá);[0108]轉(zhuǎn)換單元520,用于當(dāng)判斷單元510的判斷結(jié)果為狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址資 源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài) 地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,其中,地址資源包含內(nèi)存資源的內(nèi)存地址,第一狀 態(tài)地址資源池用于釋放和分配地址資源,第二狀態(tài)地址資源池用于釋放地址資源;[0109]獲取單元530,用于當(dāng)接收到報(bào)文時(shí),獲取第一狀態(tài)地址資源池;[0110]分配單元540,用于從獲取單元530獲取的第一狀態(tài)地址資源池的空閑內(nèi)存地址 中為報(bào)文分配內(nèi)存地址;[0111]寫入單元550,用于將報(bào)文寫入與分配單元540分配的內(nèi)存地址對應(yīng)的內(nèi)存空間中。[0112]其中,轉(zhuǎn)換單元520可以包括(圖5中未示出):[0113]資源回收子單元,用于回收至少一個(gè)第二狀態(tài)地址資源池的地址資源;[0114]狀態(tài)轉(zhuǎn)換子單元,用于將地址資源被資源回收子單元回收的至少一個(gè)第二狀態(tài)地 址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。[0115]參見圖6,為本發(fā)明單板的實(shí)施例框圖:[0116]該單板包括:存儲(chǔ)器610和與存儲(chǔ)器610連接的可編程電路器件620。[0117]其中,存儲(chǔ)器610,用于提供內(nèi)存資源,內(nèi)存資源的內(nèi)存地址組成地址資源;[0118]可編程電路器件620,用于判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá),當(dāng)狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí), 將地址資源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè) 第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,其中,地址資源包含內(nèi)存資源的內(nèi)存地 址,第一狀態(tài)地址資源池用于釋放和分配地址資源,第二狀態(tài)地址資源池用于釋放地址資 源。[0119]在一個(gè)可選的實(shí)現(xiàn)方式中:[0120]可編程電路器件620,還可以用于將地址資源劃分為多個(gè)地址資源池,為多個(gè)地址 資源池中的地址資源池分別設(shè)置狀態(tài)屬性,該多個(gè)地址資源池中的地址資源池根據(jù)設(shè)置的 狀態(tài)屬性分為第一狀態(tài)地址資源池和第二狀態(tài)地址資源池。[0121]在另一個(gè)可選的實(shí)現(xiàn)方式中:[0122]可編程電路器件620,可以具體用于回收至少一個(gè)第二狀態(tài)地址資源池的地址資 源,并將地址資源被回收的該至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。[0123]在另一個(gè)可選的實(shí)現(xiàn)方式中:[0124]第二狀態(tài)地址資源池可以進(jìn)一步包括:至少一個(gè)第三狀態(tài)地址資源池,和除第三 狀態(tài)地址資源池的第四狀態(tài)地址資源池;[0125]可編程電路器件620,可以具體用于將一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài) 地址資源池,并將一個(gè)第三狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池;可編程電路器件 620,還可以用于將一個(gè)第四狀態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資源池。[0126]在另一個(gè)可選的實(shí)現(xiàn)方式中:[0127]該單板還可以包括(圖6中未示出):分別與存儲(chǔ)器610和可編程電路器件620連 接的處理器;[0128]可編程電路器件620,還可以用于當(dāng)接收到報(bào)文時(shí),獲取第一狀態(tài)地址資源池,從 第一狀態(tài)地址資源池的空閑內(nèi)存地址中為該報(bào)文分配內(nèi)存地址,并將該報(bào)文寫入存儲(chǔ)器 610上與所分配的內(nèi)存地址對應(yīng)的內(nèi)存空間中;[0129]處理器,用于從內(nèi)存空間中讀取該報(bào)文。[0130]上述實(shí)施例中,可編程電路器件620可以具體為現(xiàn)場可編程門陣列(F i e I d P r ο g r a mm able Gate Array,FPG A)芯片;存儲(chǔ)器610可以具體為雙 倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(D ouble Data Rate, DDR)等,對此本發(fā)明實(shí) 施例不進(jìn)行限制。[0131]參見圖7 A,為應(yīng)用本發(fā)明實(shí)施例的一個(gè)單板架構(gòu)示意圖;[0132]圖7 A示出的單板包括:相互連接的C P U、D D R和F P G A芯片。[0133]其中,D D R中內(nèi)存資源的內(nèi)存地址被劃分為N個(gè)地址資源池,記為地址資源池 O至地址資源池N — 1,N為大于2的自然數(shù),可以根據(jù)系統(tǒng)所需要的平均內(nèi)存資源確定一 個(gè)地址資源池對應(yīng)的內(nèi)存資源的大小,然后根據(jù)系統(tǒng)總的內(nèi)存資源和每個(gè)地址資源池對應(yīng) 的內(nèi)存資源確定地址資源池的個(gè)數(shù)N ;每個(gè)地址資源池由S個(gè)內(nèi)存地址組成,S為自然數(shù), N個(gè)地址資源池共有N * S個(gè)內(nèi)存地址,每個(gè)內(nèi)存地址可以對應(yīng)D D R中的一個(gè)內(nèi)存空間 (固定大小的內(nèi)存塊),如圖7 A中內(nèi)存空間分別記為內(nèi)存空間O至內(nèi)存空間N * S — I。[0134]參見圖7 B,為圖7 A所示單板進(jìn)行內(nèi)存資源管理時(shí)地址資源池的狀態(tài)轉(zhuǎn)換示意 圖,初始狀態(tài),將N個(gè)地址資源池中的地址資源池O至第地址資源池η — I設(shè)置為黃狀態(tài), 將第地址資源池η至地址資源池N — 2設(shè)置為綠狀態(tài),將地址資源池N — I設(shè)置為紅狀態(tài)。 其中,紅狀態(tài)地址資源池中的地址資源可以釋放,但不用于分配;黃狀態(tài)地址資源池中的地 址資源可以釋放,但不用于分配;綠狀態(tài)地址資源池中的地址資源可以釋放,也可以分配。[0135]其中,F(xiàn) P G A芯片包括MMU模塊、上送模塊和安全模塊。MMU模塊可以按 照預(yù)設(shè)的狀態(tài)轉(zhuǎn)換周期T O對D DR中各個(gè)地址資源池的狀態(tài)進(jìn)行管理,其中,T O可以根 據(jù)系統(tǒng)所需要的最大內(nèi)存資源R e q_ma x進(jìn)行設(shè)置,即將系統(tǒng)使用每個(gè)地址資源池對 應(yīng)的內(nèi)存資源需要的平均時(shí)間設(shè)置為T O ;在每個(gè)T O到達(dá)時(shí),可以將第一個(gè)黃狀態(tài)地址資 源池切換為紅狀態(tài)地址資源池;將第一個(gè)綠狀態(tài)地址資源池切換為黃狀態(tài)地址資源池;強(qiáng) 制回收紅狀態(tài)地址資源池的所有地址資源,并將紅狀態(tài)地址資源池切換為綠狀態(tài)地址資源 池。結(jié)合圖7 B,當(dāng)?shù)谝粋€(gè)T O周期到達(dá)時(shí),基于初始狀態(tài)的設(shè)置,將地址資源池O從黃狀態(tài)切換為紅狀態(tài),將地址資源池η從綠狀態(tài)切換為黃狀態(tài),將地址資源池N — I從紅狀態(tài) 切換為綠狀態(tài)。[0136]當(dāng)F P G A芯片接收到報(bào)文后,由安全模塊對報(bào)文進(jìn)行安全檢測和過濾,將合法 的報(bào)文發(fā)送到上送模塊,上送模塊向M M U模塊申請空閑的內(nèi)存地址,M M U模塊根據(jù)地 址資源池的狀態(tài),從綠狀態(tài)地址資源池中分配一個(gè)空閑的內(nèi)存地址,將該內(nèi)存地址從綠狀 態(tài)地址資源池中刪除,并將該內(nèi)存地址發(fā)送給上送模塊,上送模塊將報(bào)文寫入到D D R上 該內(nèi)存地址對應(yīng)的內(nèi)存空間中;C P U可以從該內(nèi)存空間中讀取報(bào)文,并且在讀取完畢后, 由M M U模塊對該內(nèi)存空間的內(nèi)存地址進(jìn)行回收。[0137]本發(fā)明實(shí)施例中,無論地址資源池為何種狀態(tài),每個(gè)地址資源池中已經(jīng)分配的內(nèi) 存地址都可以按照現(xiàn)有內(nèi)存管理方式進(jìn)行釋放,在釋放某個(gè)內(nèi)存地址時(shí),將該內(nèi)存地址重 新寫入其所屬的地址資源池。[0138]以上述具有N個(gè)地址資源池,且狀態(tài)轉(zhuǎn)換周期為T O的系統(tǒng)來說,對于每一個(gè)地 址資源池,每隔(N — I)個(gè)T O周期就能夠轉(zhuǎn)變?yōu)榧t狀態(tài)地址資源池,從而被強(qiáng)制回收一 次,因此當(dāng)系統(tǒng)存在內(nèi)存泄露時(shí),可以周期性實(shí)現(xiàn)系統(tǒng)自愈。[0139]由上述實(shí)施例可見,判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá),當(dāng)狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址 資源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀 態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,第一狀態(tài)地址資源池用于釋放和分配地址資 源,第二狀態(tài)地址資源池用于釋放地址資源。應(yīng)用本發(fā)明實(shí)施例,與現(xiàn)有按照周期對每個(gè)地 址資源進(jìn)行遍歷來決定是否強(qiáng)制回收相比,由于對地址資源按照劃分的地址資源池進(jìn)行分 塊管理,將地址資源分為至少一個(gè)第一狀態(tài)地址資源池和至少一個(gè)第二狀態(tài)地址資源池, 并在狀態(tài)轉(zhuǎn)換周期達(dá)到時(shí),以地址資源池為單位,僅需對至少一個(gè)第二狀態(tài)地質(zhì)資源池進(jìn) 行整體回收,以將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為可用于分配地址資源的第一狀態(tài)地 址資源池,因此每個(gè)周期需要維護(hù)的地址資源數(shù)量變少,由此提高了內(nèi)存泄露的恢復(fù)速度, 減少了通信設(shè)備的系統(tǒng)功耗,相應(yīng)提升了內(nèi)存管理性能。[0140]本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實(shí)施例中的技術(shù)可借助軟件加必需 的通用硬件平臺的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明實(shí)施例中的技術(shù)方案本質(zhì)上或者 說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存 儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM / R AM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè) 備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某 些部分的方法。[0141]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部 分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于系統(tǒng)實(shí) 施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例 的部分說明即可。[0142]以上的本發(fā)明實(shí)施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精 神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種內(nèi)存資源的管理方法,其特征在于,所述方法包括: 判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá); 當(dāng)所述狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址資源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,其中, 所述地址資源包含內(nèi)存資源的內(nèi)存地址,所述第一狀態(tài)地址資源池用于釋放和分配地址資源,所述第二狀態(tài)地址資源池用于釋放地址資源。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:在所述判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá)之前,將所述地址資源劃分為多個(gè)地址資源池;為所述多個(gè)地址資源池中的地址資源池分別設(shè)置狀態(tài)屬性,所述多個(gè)地址資源池中的地址資源池根據(jù)設(shè)置的狀態(tài)屬性分為第一狀態(tài)地址資源池和第二狀態(tài)地址資源池。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池具體包括:回收至少一個(gè)第二狀態(tài)地址資源池的地址資源,并將地址資源被回收的所述至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。
4.根據(jù)權(quán)利要求1至3任意一項(xiàng)所述的方法,其特征在于,所述第二狀態(tài)地址資源池包括:至少一個(gè)第三狀態(tài)地址資源池,和除所述第三狀態(tài)地址資源池的第四狀態(tài)地址資源池; 所述將地址資源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,具體包括:將一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài)地址資源池,并將一個(gè)第三狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池;所述方法還包括:將一個(gè)第四狀態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資源池。
5.根據(jù)權(quán)利要求1至4任意一項(xiàng)所述的方法,其特征在于,所述方法還包括:當(dāng)接收到報(bào)文時(shí),獲取第一狀態(tài)地址資源池;從所述第一狀態(tài)地址資源池的空閑內(nèi)存地址中為所述報(bào)文分配內(nèi)存地址;將所述報(bào)文寫入與所分配的內(nèi)存地址對應(yīng)的內(nèi)存空間中。
6.根據(jù)權(quán)利要求1至5任意一項(xiàng)所述的方法,其特征在于,所述狀態(tài)轉(zhuǎn)換周期為使用一個(gè)地址資源池對應(yīng)的內(nèi)存資源需要的平均時(shí)間。
7.—種內(nèi)存資源的管理裝置,其特征在于,所述裝置包括:判斷單元,用于判斷狀態(tài)轉(zhuǎn)換周期是否到達(dá);轉(zhuǎn)換單元,用于當(dāng)所述判斷單元的判斷結(jié)果為狀態(tài)轉(zhuǎn)換周期到達(dá)時(shí),將地址資源中的至少一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第二狀態(tài)地址資源池,并將至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池,其中,所述地址資源包含所述內(nèi)存資源的內(nèi)存地址,所述第一狀態(tài)地址資源池用于釋放和分配地址資源,所述第二狀態(tài)地址資源池用于釋放地址資源。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括:劃分單元,用于將所述地址資源劃分為多個(gè)地址資源池;設(shè)置單元,用于為所述劃分單元?jiǎng)澐值亩鄠€(gè)地址資源池中的地址資源池分別設(shè)置狀態(tài)屬性,所述多個(gè)地址資源池中的地址資源池根據(jù)設(shè)置的狀態(tài)屬性分為所述第一狀態(tài)地址資源池和所述第二狀態(tài)地址資源池。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述轉(zhuǎn)換單元包括:資源回收子單元,用于回收至少一個(gè)第二狀態(tài)地址資源池的地址資源;狀態(tài)轉(zhuǎn)換子單元,用于將地址資源被所述資源回收子單元回收的所述至少一個(gè)第二狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池。
10.根據(jù)權(quán)利要求7至9任意一項(xiàng)所述的裝置,其特征在于,所述第二狀態(tài)地址資源池包括:至少一個(gè)第三狀態(tài)地址資源池,和除所述第三狀態(tài)地址資源池的第四狀態(tài)地址資源池;所述轉(zhuǎn)換單元,具體用于將一個(gè)第一狀態(tài)地址資源池轉(zhuǎn)換為第四狀態(tài)地址資源池,并將一個(gè)第三狀態(tài)地址資源池轉(zhuǎn)換為第一狀態(tài)地址資源池; 所述轉(zhuǎn)換單元,還用于將一個(gè)第四狀態(tài)地址資源池轉(zhuǎn)換為第三狀態(tài)地址資源池。
11.根據(jù)權(quán)利要求7至10任意一項(xiàng)所述的裝置,其特征在于,所述裝置還包括:獲取單元,用于當(dāng)接收到報(bào)文時(shí),獲取第一狀態(tài)地址資源池;分配單元,用于從所述獲取單元獲取的第一狀態(tài)地址資源池的空閑內(nèi)存地址中為所述報(bào)文分配內(nèi)存地址;寫入單元,用于將所述報(bào)文寫入與所述分配單元分配的內(nèi)存地址對應(yīng)的內(nèi)存空間中。
【文檔編號】H04L29/12GK103607480SQ201310567404
【公開日】2014年2月26日 申請日期:2013年11月14日 優(yōu)先權(quán)日:2013年11月14日
【發(fā)明者】陳清付, 劉濤, 林弦 申請人:華為技術(shù)有限公司