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

緩存管理方法和緩存管理系統(tǒng)的制作方法

文檔序號:7686697閱讀:143來源:國知局

專利名稱::緩存管理方法和緩存管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及緩存技術(shù),具體涉及緩存管理方法和緩存管理系統(tǒng)。
背景技術(shù)
:圖1為現(xiàn)有緩存系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,該系統(tǒng)包括地址請求單元110、緩存管理單元120、緩存單元130和地址釋放單元140。其中,地址請求單元UO接收到待緩存報文后,向緩存管理單元120提出地址申請請求,申請到緩存地址后,將待緩存報文保存到緩存單元130中的緩存地址上,向地址釋放單元140發(fā)送包含緩存地址的被緩存報文相關(guān)信息;地址釋放單元140根據(jù)被緩存報文相關(guān)信息中的緩存地址,從緩存單元130中讀取對應(yīng)的報文并輸出,并向緩存管理單元120發(fā)送地址釋放請求,請求將輸出報文在緩存時所占用的緩存地址釋放。在具體申請和釋放緩存地址時,是通過對地址指針的讀取和存入實現(xiàn)的。參見圖2示出現(xiàn)有技術(shù)中緩存管理單元的結(jié)構(gòu),該緩存管理單元主要負責(zé)地址申請和地址釋放,包括地址請求處理模塊121、地址指針存儲模塊122和地址釋放處理模塊123。其中,地址請求處理模塊121在接收到地址申請請求后,從中讀取所要申請地址的數(shù)量,然后從地址指針存儲模塊122中讀取數(shù)量相同的指針,并返回給地址請求單元110,從而實現(xiàn)了緩存地址的申請;在接收到地址釋放請求時,從該請求中讀取所要釋放的地址,然后保存到地址指針存儲模塊122中,從而實現(xiàn)了地址的釋放。在實際應(yīng)用中,地址釋放單元140可能由于某種原因而沒有成功接收到地址請求單元IIO發(fā)送的被緩存報文相關(guān)信息,該被緩存報文將一直被保存在緩存單元130中,報文所占用的緩存地址不能被正常釋放。那么報文所占用的緩存地址將永久性的不能被回收,從而導(dǎo)致緩存地址數(shù)量的減少,這種情況稱為緩存泄漏。當(dāng)緩存泄漏較多時,系統(tǒng)中緩存容量將不能滿足實際緩存需要,導(dǎo)致緩存系統(tǒng)性能下降。
發(fā)明內(nèi)容有鑒于此,本發(fā)明提供了一種緩存管理方法,能夠減少緩存泄漏。該方法包括在緩存地址纟皮申請時,將被申請的緩存地址標(biāo)記為一皮申請狀態(tài);每次計時到達根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址。其中,所述緩存地址的最長申請時間為緩存系統(tǒng)當(dāng)前處理的最長業(yè)務(wù)報文從系統(tǒng)入口到系統(tǒng)出口的最長延時。其中,所述最長延時的確定方式為根據(jù)緩存系統(tǒng)的入口速率計算接收最長業(yè)務(wù)報文所需的入口時間,根據(jù)業(yè)務(wù)報文承載的業(yè)務(wù)確定緩存系統(tǒng)硬件處理該業(yè)務(wù)報文的處理時間,根據(jù)緩存系統(tǒng)的出口速率計算輸出所述最長業(yè)務(wù)4艮文所需的出口時間,將所確定的入口時間、處理時間和出口時間相加,得到所述最長延時。較佳地,所述緩存地址的最長申請時間確定方式為統(tǒng)計當(dāng)前地址釋放速率;以所述當(dāng)前地址釋放速率為索引,在預(yù)先設(shè)置的地址釋放速率和最長申請時間的對應(yīng)關(guān)系中,查找與所述當(dāng)前地址釋放速率對應(yīng)的最長申請時間,將查找到的最長申請時間作為所述最長申請時間。該方法進一步包括為每個緩存地址設(shè)置地址有效標(biāo)志,并初始化為無效;所述在緩存地址被申請時,將被申請的緩存地址標(biāo)記為被申請狀態(tài)為在緩存地址被申請時,將被申請的緩存地址對應(yīng)的地址有效標(biāo)志設(shè)置為有效。其中,所述根據(jù)緩存地址的最長申請時間確定循環(huán)定時時間為采用所述最長申請時間作為定時器的循環(huán)定時時間,令定時器計時;每次計時到達根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址包括當(dāng)所述定時器的計時值超過所述循環(huán)定時時間,釋放地址有效標(biāo)志為有效的緩存地址,并將纟皮釋放的緩存地址的地址有效標(biāo)志設(shè)置為無效,所述定時器繼續(xù)從0計時。較佳地,該方法進一步包括為緩存地址設(shè)置時標(biāo)計算值,并初始化為0;所述根據(jù)緩存地址的最長申請時間確定循環(huán)定時時間為根據(jù)所述最長申請時間確定緩存地址的刷新門限和定時器的循環(huán)定時時間,令所述定時器計時;所述刷新門限與循環(huán)定時時間之積為最長申請時間;所述每次計時到達根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址包括當(dāng)所述定時器的計時值超過所述循環(huán)定時時間,分別將地址有效標(biāo)志為有效的各緩存地址對應(yīng)的時標(biāo)計算值加1;釋放地址有效標(biāo)志為有效且時標(biāo)計算值等于所述刷新門限的緩存地址,并將被釋放的緩存地址的地址有效標(biāo)志設(shè)置為無效;所述定時器繼續(xù)從0計時。較佳地,該方法進一步包括在緩存地址因使用完畢請求被釋放時,查看該緩存地址的地址有效標(biāo)志是否為有效,如果是,則釋放該請求被釋放的緩存地址,并將其地址有效標(biāo)志設(shè)置為無效;否則,不進行釋力文:燥作。較佳地,該方法進一步包括預(yù)先設(shè)置緩存占用率閾值,判斷處于被申請狀態(tài)的緩存地址數(shù)量占緩存系統(tǒng)中所有緩存地址數(shù)量的百分比,是否大于或等于所述占用率閾值,如果是,則執(zhí)行所述每次計時到達根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址的操作。本發(fā)明還提供了一種緩存管理系統(tǒng),能夠減少緩存泄漏。該系統(tǒng)包括地址請求處理單元、地址釋放處理單元和地址隊列存儲單元;還包括管理單元;其中,所述地址請求處理單元,用于在向地址隊列存儲單元申請緩存地址時,將被申請的緩存地址發(fā)送給所述管理單元;所述管理單元,用于將接收自地址請求處理單元的被申請的緩存地址標(biāo)記為被申請狀態(tài);每次計時到達根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,將處于被申請狀態(tài)的緩存地址確定為待釋^L緩存地址,生成攜帶所述待釋放緩存地址的釋放通知,并發(fā)送給所述地址釋放處理單元;所述地址釋放處理單元,用于根據(jù)所接收的釋放通知,釋放所述待釋放緩存地址;地址隊列存儲單元,用于以隊列形式存儲緩存地址。根據(jù)以上技術(shù)方案可見,應(yīng)用本發(fā)明能夠定時進行主動的地址釋放操作,保證被申請出去的地址都能被回收,從而減少了緩存泄漏,避免因緩存泄漏帶來的緩存容量降低,緩存系統(tǒng)性能下降的問題。圖1為現(xiàn)有技術(shù)中緩存系統(tǒng)的結(jié)構(gòu)示意圖。圖2為現(xiàn)有技術(shù)中緩存管理單元的結(jié)構(gòu)示意圖。圖3為本發(fā)明中緩存管理方法的示例性流程圖。圖4為本發(fā)明實施例一中緩存管理方法的流程圖。圖5為本發(fā)明實施例二中緩存管理方法的流程圖。圖6為本發(fā)明實施例中緩存管理系統(tǒng)的結(jié)構(gòu)示意圖。具體實施例方式下面結(jié)合附圖并舉實施例,對本發(fā)明進行詳細描述。本發(fā)明為一種緩存管理方案,其基本思想為每次計時到達循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址,保證被申請出去的緩存地址都能被回收,從而減少緩存泄漏。圖3示出了基于以上基本思想的緩存管理方法的示例性流程圖,如圖3所示,該方法包括以下步驟步驟301:根據(jù)預(yù)設(shè)的緩存地址的最長申請時間,確定循環(huán)定時時間。步驟302:在緩存地址被申請時,將被申請的緩存地址標(biāo)記為被申請狀態(tài)。步驟303:每次計時到達循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址。這里,最長申請時間是根據(jù)系統(tǒng)接收報文速率、處理報文速率和輸出報文速率確定的。所有緩存地址都采用同一個最長申請時間。根據(jù)上述流程,采用圖3的處理方法,能夠定時進行主動的地址釋放操作,保證被申請出去的緩存地址都能被回收,從而減少了緩存泄漏。另外,地址釋放的操作是定時執(zhí)行的,那么只需要利用系統(tǒng)CPU中的一個定時器來完成定時工作,定時時間到,才轉(zhuǎn)入統(tǒng)一的釋放操作,這種方式實現(xiàn)非常簡單。以下舉具體實施例對本發(fā)明緩存管理方法的實現(xiàn)進行詳細描述。圖4為本發(fā)明實施例一中緩存管理方法的流程圖。如圖4所示,該方法包括以下步驟步驟400:預(yù)先設(shè)置緩存地址的最長申請時間.。本步驟中,根據(jù)緩存系統(tǒng)對業(yè)務(wù)報文的處理速率、緩存系統(tǒng)入口和出口速率、以及所處理報文長度估計緩存地址的最長申請時間,該時間為報文從系統(tǒng)入口到系統(tǒng)出口的最長延時。在緩存操作中,所有緩存地址采用同一個最長申請時間。一種估計方式可以為根據(jù)數(shù)據(jù)緩存系統(tǒng)的入口速率計算接收最長報文所需的入口時間,根據(jù)報文承載的業(yè)務(wù)確定系統(tǒng)硬件處理該報文的處理時間,根據(jù)出口速率計算輸出最長報文所需的出口時間,將所確定的入口時間、處理時間和出口時間相加,得到估計的該系統(tǒng)中緩存地址的最長申請時間。例如,系統(tǒng)入口速率和出口速率為1G,經(jīng)測算系統(tǒng)處理某種業(yè)務(wù)報文的時間為70ms,該業(yè)務(wù)的最長報文長度為9216字節(jié)(Bytes),則計算入口時間約為9216Bytes/(1Gbit/s)-74ms,出口時間約為74ms,那么該系統(tǒng)中地址的最長申請時間為74ms+74ms+70ms=218ms。步驟401:采用最長申請時間作為定時器的定時時間T,令定時器開始計時。該定時時間T即為循環(huán)定時時間。步驟402:在緩存地址#皮申請時,將該被申請的i爰存地址對應(yīng)的地址有效標(biāo)志設(shè)置為1。在實際中,設(shè)置刷新(Reflash)表,用于記錄所管理的地址及其地址有效標(biāo)志。表1為本實施例一中刷新表的結(jié)構(gòu)示意。地址指針地址有效標(biāo)志承求承承H1/0表1如表1所示,該刷新表的表項包括地址指針值及其對應(yīng)的地址有效標(biāo)志,表項的深度為緩存單元中所有緩存地址的數(shù)目。實際實現(xiàn)時,可以用1比特的布爾值作為地址有效標(biāo)志,當(dāng)?shù)刂穅皮申請出去時,將該地址的地址有效標(biāo)志設(shè)置為1,即有效,表示被申請出去了;當(dāng)該地址被釋放時,將該地址的地址有效標(biāo)志設(shè)置為0,即無效,表示該地址還在緩存管理模塊中未被申請。需要說明的是,當(dāng)初始化系統(tǒng)時,需要將所有緩存地址對應(yīng)的地址有效標(biāo)志設(shè)置為0。步驟403:判斷定時器的計時值是否超過定時時間T,如果是,則執(zhí)行步驟404;否則,繼續(xù)執(zhí)行步驟403的判斷操作。步驟404:查看刷新表中各緩存地址的地址有效標(biāo)志,將地址有效標(biāo)志為1的緩存地址強制釋放,并將被強制釋放的緩存地址的地址有效標(biāo)志設(shè)置為0;令定時器從O開始計時,返回執(zhí)行步驟403。本步驟中,通過將地址有效標(biāo)志為1的緩存地址指針寫入指針隊列,以實現(xiàn)緩存地址的釋放操作,然后返回步驟403,并在下一次定時時間T到達時,進行下一輪的釋放操作。由本實施例描述可以看出,每次定時時間T到達時,在本次定時周期內(nèi)被申請出去的緩存地址都被釋放,保證緩存管理模塊中的緩存地址被申請出去后都能被回收,從而避免了緩存泄漏。在以上步驟執(zhí)行過程中,計時還未到達定時時間T,如果有緩存地址被使用完畢請求被正常釋放,那么在正常釋放該緩存地址的同時,還需要將該緩存地址對應(yīng)的地址有效標(biāo)志設(shè)置為0,使得該緩存地址不會在定時時間T到達時被重復(fù)釋放。如果出現(xiàn)重復(fù)釋放,那么地址隊列中將存在相同的緩存地址指針,當(dāng)該相同的緩存地址指針被先后申請后,同一地址空間被先后緩存進兩個不同的數(shù)據(jù),那么先緩存進的數(shù)據(jù)將被后緩存進的數(shù)據(jù)覆蓋,從而導(dǎo)致數(shù)據(jù)丟失、錯亂??梢?,本實施例的緩存管理方法能夠避免因重復(fù)釋放造成的數(shù)據(jù)丟失錯亂問題,增強了緩存管理的健壯性。需要說明的是,在刷新表中記錄所有緩存地址及其地址有效標(biāo)志是為了實現(xiàn)方便,在實際中,可以在刷新表中只記錄被申請出去的緩存地址,那么記錄在刷新表中的每個緩存地址都為被申請狀態(tài)。在緩存地址被申請時,將被申請地址添加在刷新表中,當(dāng)緩存地址被釋放時,將被釋放地址從刷新表中刪除。圖5為本發(fā)明實施例二中緩存管理方法的流程圖。如圖5所示,該方法包括以下步驟步驟500:預(yù)先設(shè)置緩存地址的最長申請時間。本步驟的設(shè)置方式與實施例一中的步驟400相同。步驟501:根據(jù)最長申請時間確定緩存地址的刷新門限,以及定時器的定時時間T。其中,最長申請時間、緩存地址的刷新門限和定時器的定時時間T三者之間的關(guān)系為最長申請時間等于刷新門限乘以定時器定時時間T。具體地,可以先設(shè)置一大于0的整數(shù)作為刷新門限,例如設(shè)置為4,那么定時器的定時時間T為最長申請時間除以刷新門限,再四舍五入取整,得到定時時間T。還可以先設(shè)置定時時間T,那么刷新門限為最長申請時間除以定時時間T,再四舍五入取整。采用后者確定方式時,為了保證地址具有足夠長的被申請時間,可以在進行四舍運算時,將獲得的商加l,作為刷新門限。例如,當(dāng)步驟500得到最長申請時間為100ms時,設(shè)置刷新門限為4,那么定時時間T為100ms/4=25ms。步驟502:采用所確定的定時時間T為定時器賦值,令定時器開始從O計時。步驟503:在緩存地址被申請時,將該緩存地址對應(yīng)的地址有效標(biāo)志設(shè)置為1,將對應(yīng)的體現(xiàn)刷新門限的時標(biāo)計算值設(shè)置為0。本實施例中,采用刷新表記錄緩存地址及其地址有效標(biāo)志和時標(biāo)計算值。表2為本實施例二中刷新表的結(jié)構(gòu)示意。<table>complextableseeoriginaldocumentpage13</column></row><table>表2如表2所示,該刷新表的表項包括地址指針值、地址有效標(biāo)志和時標(biāo)計算值,表項的深度為所有緩存地址的數(shù)目。其中,地址有效標(biāo)志采用1比特的布爾值表示。與表l不同的是,本實施例刷新表還包括時標(biāo)計算值,該時標(biāo)計算值表示對應(yīng)的緩存地址本次被申請出去的時間累積值。當(dāng)?shù)刂繁簧暾垥r,將對應(yīng)的時標(biāo)計算值設(shè)置為0,當(dāng)時標(biāo)計算值到達刷新門限值時,表示該地址被占用的時間已經(jīng)到達最長申請時間,應(yīng)該被強制釋放。需要說明的是,當(dāng)初始化系統(tǒng)時,需要將所有緩存地址對應(yīng)的地址有效標(biāo)志設(shè)置為0,將所有地址的時標(biāo)計算值設(shè)置為0。步驟504:判斷定時器的計時值是否超過定時時間T,如果是,則執(zhí)行步驟505;否則,繼續(xù)執(zhí)行步驟504的判斷操作。步驟505:將刷新表中地址有效標(biāo)志為1的緩存地址的時標(biāo)計算值加1。步驟506:查看刷新表中各緩存地址的地址有效標(biāo)志,將地址有效標(biāo)志為1且時標(biāo)計算值等于刷新門限的地址強制釋放,并將被強制釋放的緩存地址的地址有效標(biāo)志設(shè)置為0;令定時器從0開始計時,返回執(zhí)行步驟504。在以上步驟執(zhí)行過程中,如果有緩存地址被使用完畢且請求被正常釋放時,在正常釋放該緩存地址的同時,還需要將其地址有效標(biāo)志設(shè)置為0,使得該地址不會在定時時間T到達時被重復(fù)釋放。由本實施例描述可以看出,每次定時時間T到達時,將每個地址有效標(biāo)志為1的緩存地址的時標(biāo)計算值加1,以記錄各地址被申請出去的累積時間,當(dāng)該累積時間超過最長申請時間,即時標(biāo)計算值達到刷新門限時,強制釋放該緩存地址,不僅保證所有被申請出去的緩存地址都能被回收,而且減少了地址被提前釋放的幾率,使得緩存管理更為合理。本實施例二中,如果刷新門限被設(shè)置為1,則與實施例一的方案相同。在實際中,該緩存方法會處理承載不同業(yè)務(wù)的業(yè)務(wù)報文,承載業(yè)務(wù)不同,業(yè)務(wù)報文的最長長度也不同,因此,如果一直采用固定不變的最大申請時間顯然不夠合理。那么,可以采用如下方式調(diào)整最大申請時間,具體實現(xiàn)為統(tǒng)計單位時間內(nèi)緩存的地址釋放速率,其中地址釋放包括正常釋放和強制釋放,以統(tǒng)計的地址釋放速率為索引,在預(yù)先設(shè)置的地址釋放速率和最長申請時間的對應(yīng)關(guān)系中,查找與統(tǒng)計的地址釋放速率對應(yīng)的最長申請時間,作為所確定的最長申請時間。'一種較佳的地址釋放速率和最長申請時間的對應(yīng)關(guān)系確定方式為確定幾個典型長度報文;令緩存系統(tǒng)依次處理各個典型長度報文對某一個長度報文進行處理時,在單位時間內(nèi)連續(xù)處理該長度報文,統(tǒng)計單位時間內(nèi)地址釋放次數(shù),得到地址釋放速率,同時記錄該長度報文從入口到出口的最長時延;當(dāng)然,該最長時延也可以采用實施例一步驟400的估計方式進行估算;對應(yīng)記錄各個典型長度報文的地址釋放速率和從入口到出口的最長時延,將該最長時延作為最長申請時間,得到上述對應(yīng)關(guān)系。在實際中,還可以在確定各種地址釋放速率對應(yīng)的最長申請時間后,將最長申請時間換算為定時時間T,在定時時間選擇表中記錄地址釋放速率及其對應(yīng)的定時時間T。換算公式為地址釋放速率除以預(yù)先確定的刷新門限值得到定時時間T。那么,可以通過直接采用所選擇的定時時間T刷新定時器,從而實現(xiàn)最長申請時間的調(diào)整。表3示出了定時時間選擇表,如表3所示,表項包括地址釋放速率和定時時間T。定時時間選擇表中的值可以在緩存管理過程中由人工修改。<table>complextableseeoriginaldocumentpage5</column></row><table>表3以上最大申請時間的確定步驟在進行管理之前執(zhí)行一次,在管理過程中,可以定時執(zhí)行最大申請時間的確定步驟,并采用確定的最大申請時間進行后續(xù)管理操作。在實際應(yīng)用中,緩存地址是不會被占用光的,也就是說,在正常情況下只會用到部分緩存地址,即使出現(xiàn)了部分緩存泄漏,也不會影響到緩存效果,還不必啟動定時器。只有在緩存地址較少的情況下,才需要啟動定時器,定時執(zhí)行地址的強制釋放,以回收泄漏的地址。那么,可以預(yù)先設(shè)置一個緩存占用率閾值,實時判斷被占用緩存占所有緩存的百分比,即實際緩存占用率,是否大于或等于緩存占用率閾值,如果是,則開始進行定時強制地址回收的操作,否則,按現(xiàn)有技術(shù)執(zhí)行緩存管理搡作,即
背景技術(shù)
中緩存管理單元所執(zhí)行的管理操作。這樣可以減少緩存管理系統(tǒng)中定時器資源的占用。為了實現(xiàn)上述緩存管理方法,本發(fā)明還提供了一種緩存管理系統(tǒng)。該緩存管理系統(tǒng)應(yīng)用于
背景技術(shù)
中的緩存系統(tǒng)中。圖6為本發(fā)明實施例中緩存管理系統(tǒng)的結(jié)構(gòu)示意圖,如圖6所述,該緩存管理系統(tǒng)600包括地址請求處理單元610、管理單元620、地址釋放處理單元630和地址隊列存儲單元640,其中,地址請求處理單元610,負責(zé)緩存地址申請,用于接收來自外部的地址申請請求,從地址隊列存儲單元640中讀取緩存地址,并向管理單元620發(fā)送申請通知。該申請通知中包括從地址隊列存儲單元640中讀取的緩存地址,即被申請的緩存地址。管理單元620,用于根據(jù)預(yù)設(shè)的緩存地址的最長申請時間確定循環(huán)定時時間,在接收到地址請求處理單元610的申請通知時,將申請通知攜帶的祐L申請的緩存地址標(biāo)記為被申請狀態(tài),每次計時到達循環(huán)定時時間時,將處于被申請狀態(tài)的緩存地址確定為待釋放緩存地址,生成攜帶待釋放緩存地址的釋放通知,并發(fā)送給地址釋放處理單元630。地址釋放處理單元630,用于接收到地址釋放請求,該地址釋》文請求中包括因被使用完畢請求被正常釋放的緩存地址,此時,地址釋放處理單元630不直接執(zhí)行釋放操作,而是請示管理單元620是否能夠執(zhí)行釋放操作。因此,地址釋放處理單元630將地址釋方文請求發(fā)送給管理單元620。在這種情況下,管理單元620在接收到地址釋放請求時,查看該請求中的緩存地址狀態(tài)是否為被申請,如果是,則將請求中的緩存地址攜帶在釋放通知中,發(fā)送給地址釋放處理單元630,由地址釋放處理單元630最終執(zhí)行釋》丈操作。地址釋放處理單元630接收釋放通知,將釋放通知中的待釋放地址釋放,即將待釋放地址指針存入地址指針隊列單元640中的隊列。地址隊列存儲單元640,用于以隊列形式存儲緩存地址。其中,管理單元620包括最長申請時間確定才莫塊621、循環(huán)定時時間確定模塊624、刷新模塊622和地址狀態(tài)記錄模塊623。這里,地址狀態(tài)記錄模塊623記錄緩存地址及其被申請狀態(tài)。本實施例中,采用地址有效標(biāo)志表示被申請狀態(tài)。那么,可以在地址狀態(tài)記錄模塊623中,將緩存地址和地址有效標(biāo)志記錄在表1示出的刷新表中。當(dāng)?shù)刂酚行?biāo)志為1時,表示被申請,地址有效標(biāo)志為O時,表示未^皮申請。循環(huán)定時時間確定模塊624,用于根據(jù)緩存地址的最長申請時間確定循環(huán)定時時間,然后發(fā)送給所述刷新模塊622。具體而言,簡單地,可以采用最長申請時間作為循環(huán)定時時間;為了減少緩存地址的提前釋放幾率,還可以根據(jù)所接收的最長申請時間確定循環(huán)定時時間以及緩存地址的刷新門限,其中最長申請時間等于循環(huán)定時時間乘以緩存地址的刷新門限。其中,最長申請時間可以采用所在緩存系統(tǒng)當(dāng)前處理的最長業(yè)務(wù)報文從緩存系統(tǒng)入口到出口的最長延時。較佳地,最長申請時間可以通過設(shè)置于管理單元620的最長申請時間確定模塊621根據(jù)當(dāng)前地址釋放速率確定,具體而言,最長申請時間確定模塊621記錄預(yù)設(shè)的地址釋放速率和最長申請時間的對應(yīng)關(guān)系,統(tǒng)計當(dāng)前地址釋放速率,以當(dāng)前地址釋放速率為索引,從對應(yīng)關(guān)系中查找與當(dāng)前地址釋放速率對應(yīng)的最長申請時間,并作為所確定的最長申請時間。刷新纟莫塊622,接收來自地址請求處理單元610的申請通知,在地址狀態(tài)記錄模塊623中將申請通知攜帶的緩存地址標(biāo)記為被申請狀態(tài);接收來自循環(huán)定時時間確定模塊624的循環(huán)定時時間,每次計時到達所接收的循環(huán)定時時間時,查看地址狀態(tài)記錄模塊623中的緩存地址,從處于被申請狀態(tài)的緩存地址中確定出待釋放地址,生成攜帶該待釋放地址的釋放通知,發(fā)送給地址釋放處理單元630。具體而言,當(dāng)采用最長申請時間作為循環(huán)定時時間時,每隔最長申請時間,釋放地址狀態(tài)記錄模塊623中地址有效標(biāo)志為1的緩存地址;在釋放地址狀態(tài)記錄模塊623中還可進一步保存緩存地址的時標(biāo)計算值,所述時標(biāo)計算值的最大值即為刷新門限,所述刷新門限、循環(huán)定時時間與最長申請時間三者的關(guān)系為,最長申請時間等于刷新門限與循環(huán)定時時間之積,每隔循環(huán)定時時間,將地址有效標(biāo)志為1的緩存地址對應(yīng)的時標(biāo)計算值加1,并釋放地址有效標(biāo)志為1且時標(biāo)計算值等于刷新門限的緩存地址。刷新模塊622進一步在接收到來自地址釋放處理單元630的地址釋放請求時,查看該請求中的緩存地址的地址狀態(tài)標(biāo)志是否為有效,如果是,確定該緩存地址可以被釋放,向地址釋放處理單元630發(fā)送釋》欠通知;否則不進行任何操作。在實際中,該緩存管理系統(tǒng)600可以進一步包括判斷模塊(圖6中未示出)。該判斷模塊確定被申請狀態(tài)下的緩存地址數(shù)量占緩存系統(tǒng)中所有緩存地址數(shù)量的百分比,如果該百分比大于或等于預(yù)先設(shè)置的占用率閾值,則通知管理單元620中的刷新模塊622執(zhí)行其自身操作。由以上所述可以看出,本發(fā)明所提供的緩存管理方案,能夠減少緩存泄漏。綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。權(quán)利要求1、一種緩存管理方法,其特征在于,該方法包括在緩存地址被申請時,將被申請的緩存地址標(biāo)記為被申請狀態(tài);每次計時到達根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址。2、如權(quán)利要求l所述的方法,其特征在于,所述緩存地址的最長申請時間為緩存系統(tǒng)當(dāng)前處理的最長業(yè)務(wù)報文從系統(tǒng)入口到系統(tǒng)出口的最長延時。3、如權(quán)利要求2所述的方法,其特征在于,所述最長延時的確定方式為根據(jù)緩存系統(tǒng)的入口速率計算接收最長業(yè)務(wù)報文所需的入口時間,根據(jù)業(yè)務(wù)報文承載的業(yè)務(wù)確定緩存系統(tǒng)硬件處理該業(yè)務(wù)報文的處理時間,根據(jù)緩存系統(tǒng)的出口速率計算輸出所述最長業(yè)務(wù)報文所需的出口時間,將所確定的入口時間、處理時間和出口時間相加,得到所述最長延時。4、如權(quán)利要求l所述的方法,其特征在于,所述緩存地址的最長申請時間確定方式為統(tǒng)計當(dāng)前地址釋放速率;以所述當(dāng)前地址釋放速率為索引,在預(yù)先設(shè)置的地址釋放速率和最長申請時間的對應(yīng)關(guān)系中,查找與所述當(dāng)前地址釋放速率對應(yīng)的最長申請時間,將查找到的最長申請時間作為所述最長申請時間。5、如權(quán)利要求l所述的方法,其特征在于,該方法進一步包括為每個緩存地址:沒置地址有效標(biāo)志,并初始化為無效;所述在緩存地址被申請時,將被申請的緩存地址標(biāo)記為被申請狀態(tài)為在緩存地址被申請時,將被申請的緩存地址對應(yīng)的地址有效標(biāo)志設(shè)置為有效。6、如權(quán)利要求5所述的方法,其特征在于,根據(jù)緩存地址的最長申請時間確定所述循環(huán)定時時間為采用所述最長申請時間作為定時器的循環(huán)定時時間,令定時器計時;所述每次計時到達根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址包括當(dāng)所述定時器的計時值超過所述循環(huán)定時時間,釋放地址有效標(biāo)志為有效的緩存地址,并將被釋放的緩存地址的地址有效標(biāo)志設(shè)置為無效,所述定時器繼續(xù)從0計時。7、如權(quán)利要求5所述的方法,其特征在于,該方法進一步包括為緩存地址設(shè)置時標(biāo)計算值,并初始化為0;根據(jù)緩存地址的最長申請時間確定所述循環(huán)定時時間為根據(jù)所述最長申請時間確定緩存地址的刷新門限和定時器的循環(huán)定時時間,令所述定時器計時;所述刷新門限與循環(huán)定時時間之積為最長申請時間;所述每次計時到達所述根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址包括當(dāng)所述定時器的計時值超過所述循環(huán)定時時間,分別將地址有效標(biāo)志為有效的各緩存地址對應(yīng)的時標(biāo)計算值加1;釋放地址有效標(biāo)志為有效且時標(biāo)計算值等于所述刷新門限的緩存地址,并將被釋^:的緩存地址的地址有效標(biāo)志設(shè)置為無效;所述定時器繼續(xù)從0計時。8、如權(quán)利要求6或7所述的方法,其特征在于,定時器計時到達循環(huán)定時時間之前,該方法進一步包括在緩存地址因使用完畢請求被釋放時,查看該緩存地址的地址有效標(biāo)志是否為有效,如果是,則釋放該請求被釋放的緩存地址,并將其地址有效標(biāo)志設(shè)置為無效;否則,不進行釋放操作。9、如權(quán)利要求l所述的方法,其特征在于,該方法進一步包括預(yù)先設(shè)置緩存占用率閾值,判斷處于被申請狀態(tài)的緩存地址數(shù)量占緩存系統(tǒng)中所有緩存地址數(shù)量的百分比,是否大于或等于所述占用率閾值,如果是,則執(zhí)行所述每次計時到達所述根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址的操作。10、一種緩存管理系統(tǒng),該系統(tǒng)包括地址請求處理單元、地址釋放處理單元和地址隊列存儲單元;其特征在于,還包括管理單元;其中,所述地址請求處理單元,用于在向地址隊列存儲單元申請緩存地址時,將被申請的緩存地址發(fā)送給所述管理單元;所述管理單元,用于將接收自地址請求處理單元的被申請的緩存地址標(biāo)記為被申請狀態(tài);每次計時到達根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,將處于被申請狀態(tài)的緩存地址確定為待釋放緩存地址,生成攜帶所述待釋放緩存地址的釋放通知,并發(fā)送給所述地址釋放處理單元;所述地址釋放處理單元,用于根據(jù)所接收的釋放通知,釋放所述待釋放緩存地址;地址隊列存儲單元,用于以隊列形式存儲緩存地址。11、如權(quán)利要求IO所述的系統(tǒng),其特征在于,所述管理單元包括循環(huán)定時時間確定模塊、刷新模塊和地址狀態(tài)記錄模塊;所述循環(huán)定時時間確定模塊,用于根據(jù)緩存地址的最長申請時間確定循環(huán)定時時間,然后發(fā)送給所述刷新模塊;所述刷新模塊,用于接收來自所述地址請求處理單元的被申請的緩存地址,在所述地址狀態(tài)記錄模塊中將所述被申請的緩存地址對應(yīng)的地址有效標(biāo)志設(shè)置為有效;每次計時到達所接收的循環(huán)定時時間時,從地址有效標(biāo)志為有效的緩存地址中確定出待釋放地址,生成攜帶所述待釋放緩存地址的釋放通知并發(fā)送給所述地址釋放處理單元;所述地址狀態(tài)記錄模塊,用于記錄緩存地址及其地址有效標(biāo)志。12、如權(quán)利要求11所述的系統(tǒng),其特征在于,所述地址狀態(tài)記錄模塊進一步記錄緩存地址的時標(biāo)計算值;所述刷新模塊,進一步用于在執(zhí)行確定待釋放地址操作時,將地址有效標(biāo)志為有效的各緩存地址對應(yīng)的時標(biāo)計算值加1;并且從地址有效標(biāo)志為有效的緩存地址中,將時標(biāo)計算值等于預(yù)設(shè)刷新門限的緩存地址確定為待釋放緩存地址。13、如權(quán)利要求11所述的系統(tǒng),其特征在于,所述管理單元進一步包括最長申請時間確定模塊,用于記錄預(yù)設(shè)的地址釋放速率和最長申請時間之間的對應(yīng)關(guān)系,統(tǒng)計當(dāng)前地址釋放速率,以所述當(dāng)前地址釋放速率為索引,從所述對應(yīng)關(guān)系中查找與所述當(dāng)前地址釋放速率對應(yīng)的最長申請時間,將查找到的最長申請時間發(fā)送給所述循環(huán)定時時間確定模塊。14、如權(quán)利要求11所述的系統(tǒng),其特征在于,所述地址釋放處理單元在接收到來自外部的地址釋放請求時,進一步將所述地址釋放請求發(fā)送給所述刷新模塊;所述刷新模塊進一步用于,接收所述地址釋放請求,在判定所述地址釋放請求中的地址處于被申請狀態(tài)時,將其確定為待釋放緩存地址。15、如權(quán)利要求11所述的系統(tǒng),其特征在于,所述管理單元進一步包括判斷模塊,用于在判定處于被申請狀態(tài)的緩存地址數(shù)量占所在緩存系統(tǒng)中所有緩存地址的數(shù)量的百分比大于或等于預(yù)設(shè)占用率閾值時,通知所述刷新模塊執(zhí)行其自身操作。全文摘要本發(fā)明公開了一種緩存管理方法,包括在緩存地址被申請時,將被申請的緩存地址標(biāo)記為被申請狀態(tài);每次計時到達根據(jù)緩存地址的最長申請時間確定的循環(huán)定時時間時,釋放處于被申請狀態(tài)的緩存地址。本發(fā)明還提供了一種緩存管理系統(tǒng)。使用本發(fā)明能夠定時主動釋放所有申請出去的緩存地址,保證被申請出去的地址都能被回收,從而減少了緩存泄漏。文檔編號H04L12/56GK101197786SQ20081005593公開日2008年6月11日申請日期2008年1月2日優(yōu)先權(quán)日2008年1月2日發(fā)明者彬王申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
金平| 徐州市| 保亭| 郓城县| 顺昌县| 盱眙县| 香河县| 宜川县| 卢湾区| 枣庄市| 湾仔区| 驻马店市| 遵义市| 南江县| 登封市| 宁津县| 临沭县| 闵行区| 邯郸市| 甘洛县| 惠东县| 广饶县| 都江堰市| 柳林县| 田阳县| 新巴尔虎左旗| 扬州市| 太仓市| 南安市| 维西| 壶关县| 达尔| 临泽县| 海伦市| 元氏县| 新化县| 武川县| 辛集市| 公主岭市| 邵阳市| 孟州市|