亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

緩存共享方法和裝置與流程

文檔序號(hào):12693160閱讀:303來源:國(guó)知局
緩存共享方法和裝置與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是一種緩存共享方法和裝置。



背景技術(shù):

NFV(Network Function Virtualization,網(wǎng)絡(luò)功能虛擬化)的主要思想是通過通用硬件平臺(tái)和軟件化的虛擬功能模塊來取代現(xiàn)有的專用硬件平臺(tái)。此外,通過計(jì)算、網(wǎng)絡(luò)與存儲(chǔ)資源的共享,來降低CAPEX(Capital Expenditure,資本性指出)和OPEX(Operating Expense,運(yùn)營(yíng)成本)。目前,NFV的研究主要集中在核心網(wǎng)側(cè)。

在接入網(wǎng)側(cè),無(wú)線接入網(wǎng)共享RAN(Radio Access Network,無(wú)線接入網(wǎng))Sharing是目前3GPP一個(gè)主要研究方向,研究多個(gè)運(yùn)營(yíng)商共享無(wú)線基站資源的各種場(chǎng)景,滿足運(yùn)營(yíng)商間更加動(dòng)態(tài)的合作方式。

上述兩種技術(shù)方案都涉及資源的共享與隔離,但是若要實(shí)現(xiàn)真正的共享與隔離,僅僅在核心網(wǎng)側(cè)或接入網(wǎng)側(cè)做共享都是不夠的,需要從端到端都實(shí)現(xiàn)共享和隔離。

為了實(shí)現(xiàn)基站資源共享或RAN Sharing,特別需要針對(duì)特定運(yùn)營(yíng)商或特定業(yè)務(wù)的無(wú)線資源切片與劃分。例如運(yùn)營(yíng)商A和B的資源按4:6劃分,或視頻業(yè)務(wù)占總資源的30%。當(dāng)某個(gè)運(yùn)營(yíng)商X(或業(yè)務(wù)X)的來包速率(需求)大于其空口速率(能力)時(shí),僅修改MAC層調(diào)度算法無(wú)法實(shí)現(xiàn)不同運(yùn)營(yíng)商(或業(yè)務(wù))之間的隔離。

在開發(fā)和驗(yàn)證虛擬化樣機(jī)的測(cè)試中發(fā)現(xiàn),由于核心網(wǎng)和基站之間的S1接口現(xiàn)有的管理方法并不區(qū)分來自哪個(gè)運(yùn)營(yíng)商或哪個(gè)業(yè)務(wù)的數(shù)據(jù)。當(dāng)某個(gè)運(yùn)營(yíng)商(或業(yè)務(wù))滿負(fù)荷時(shí),S1接口緩存隊(duì)列會(huì)被該運(yùn)營(yíng)商(或業(yè)務(wù))占滿。此時(shí),其他運(yùn)營(yíng)商(或業(yè)務(wù))的數(shù)據(jù)就無(wú)法進(jìn)入到緩存隊(duì)列,影響到其用戶體驗(yàn)。

這里以S1接口的緩存隊(duì)列舉例說明了問題所在。但這個(gè)現(xiàn)象并不僅限于S1接口,對(duì)于通信系統(tǒng)端到端的各個(gè)網(wǎng)元的隊(duì)列,都會(huì)有相同的問題存在,比如業(yè)務(wù)服務(wù)器到核心網(wǎng)之間的隊(duì)列等。只不過由于隊(duì)列緩存大小的不同和業(yè)務(wù)量的不同,問題的瓶頸通常只體現(xiàn)在其中1、2個(gè)隊(duì)列上。

現(xiàn)網(wǎng)中,緩存隊(duì)列在設(shè)計(jì)上,不區(qū)分?jǐn)?shù)據(jù)來自哪個(gè)運(yùn)營(yíng)商或者哪個(gè)業(yè)務(wù),只要能接收就會(huì)全部接收。除非緩存全部占滿。從而,現(xiàn)網(wǎng)的緩存隊(duì)列設(shè)計(jì)方案實(shí)現(xiàn)了資源的共享,但不能保證運(yùn)營(yíng)商(或業(yè)務(wù))之間的隔離,如圖1所示。

現(xiàn)有技術(shù)中的固定隊(duì)列劃分的方式,人為創(chuàng)造出N個(gè)“獨(dú)立”的隊(duì)列分別用于緩存來自各個(gè)運(yùn)營(yíng)商(或業(yè)務(wù))的數(shù)據(jù),如圖2所示。這樣的做法,邏輯上最清晰、并且簡(jiǎn)單易行,可以有效地實(shí)現(xiàn)資源的隔離。但是,由于沒有資源的共享,當(dāng)N越大,資源利用率越低。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的一個(gè)目的在于提出一種同時(shí)實(shí)現(xiàn)緩存隊(duì)列共享和隔離的方案。

根據(jù)本發(fā)明的一個(gè)方面,提出一種緩存共享方法,包括:確定臨時(shí)緩存隊(duì)列中數(shù)據(jù)包的數(shù)據(jù)包類型,其中,臨時(shí)緩存隊(duì)列中存儲(chǔ)的數(shù)據(jù)包為預(yù)定檢測(cè)周期內(nèi)到來的數(shù)據(jù)包,數(shù)據(jù)包類型包括數(shù)據(jù)包所屬的運(yùn)營(yíng)商或數(shù)據(jù)包的業(yè)務(wù)類型;根據(jù)策略確定將數(shù)據(jù)包丟棄或存入緩存隊(duì)列,策略包括數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量、臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的大小,以及緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量。

進(jìn)一步地,根據(jù)策略確定將數(shù)據(jù)包丟棄或存入緩存隊(duì)列包括:比較對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量與在緩存隊(duì)列中的協(xié)議緩存容量;若對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量不小于在緩存隊(duì)列中的協(xié)議緩存容量,則丟棄臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的所有數(shù)據(jù)包;否則,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù) 據(jù)包類型的數(shù)據(jù)包存入緩存隊(duì)列。

進(jìn)一步地,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包存入緩存隊(duì)列包括:獲取對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量;獲取臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的所有數(shù)據(jù)包總大小;判斷二者之和是否超過對(duì)應(yīng)數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量;若未超過,則將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的所有數(shù)據(jù)包存入緩存;否則,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的部分?jǐn)?shù)據(jù)包存入緩存隊(duì)列,使得緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包總量不超過在緩存隊(duì)列中的協(xié)議緩存容量。

進(jìn)一步地,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包存入緩存隊(duì)列包括:獲取對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量,獲取臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包總大小,判斷二者之和是否超過對(duì)應(yīng)數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量,以及判斷二者之和是否超過緩存隊(duì)列的總?cè)萘?;若均未超過,則將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的所有數(shù)據(jù)包存入緩存隊(duì)列;否則,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的部分?jǐn)?shù)據(jù)包存入緩存隊(duì)列,使得緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包總量不超過數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量,且緩存隊(duì)列中的數(shù)據(jù)包不超過緩存隊(duì)列的總?cè)萘俊?/p>

進(jìn)一步地,還包括:判斷緩存隊(duì)列的已用緩存量與臨時(shí)緩存隊(duì)列同一數(shù)據(jù)包類型的所有數(shù)據(jù)包大小之和是否超過預(yù)定緩存閾值,若未超過閾值,則將臨時(shí)緩存隊(duì)列對(duì)應(yīng)數(shù)據(jù)包類型的所有數(shù)據(jù)包存入緩存隊(duì)列;若超過閾值,則根據(jù)策略確定將數(shù)據(jù)包丟棄或存入緩存隊(duì)列。

進(jìn)一步地,根據(jù)策略確定將數(shù)據(jù)包丟棄或存入緩存隊(duì)列包括:

根據(jù)公式

L=Min{x,Max{A*p[n]-Q,0},A+B-M}

確定將數(shù)據(jù)包丟棄或存入緩存隊(duì)列,其中,L為將臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的數(shù)據(jù)包存儲(chǔ)入緩存隊(duì)列中的數(shù)據(jù)量,x為臨時(shí)緩存隊(duì)列中類型為n的數(shù)據(jù)包的總大小,A為緩存隊(duì)列的預(yù)定緩存閾值,B為緩存隊(duì)列的隔離段容量,A+B為緩存隊(duì)列的總?cè)萘?,M為緩存隊(duì) 列的已用緩存量,Q為緩存隊(duì)列中類型為n的數(shù)據(jù)包的已緩存數(shù)據(jù)量,p[n]為數(shù)據(jù)包類型n的協(xié)議緩存比例,A*p[n]為數(shù)據(jù)包類型n的協(xié)議緩存容量。

進(jìn)一步地,還包括:在預(yù)定檢測(cè)時(shí)刻掃描全部緩存空間,獲取緩存隊(duì)列的已用緩存量和對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量。

進(jìn)一步地,還包括:統(tǒng)計(jì)每個(gè)存入緩存隊(duì)列的數(shù)據(jù)包的大小和類型、每個(gè)從緩存隊(duì)列發(fā)送出的數(shù)據(jù)包的大小和類型,實(shí)時(shí)更新緩存隊(duì)列的已用緩存量和對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量。

進(jìn)一步地,緩存隊(duì)列包括S1接口的隊(duì)列、業(yè)務(wù)服務(wù)器的隊(duì)列或終端隊(duì)列。

進(jìn)一步地,預(yù)定檢測(cè)周期為100~200ms,相鄰預(yù)定檢測(cè)時(shí)刻之間相差一個(gè)預(yù)定檢測(cè)周期。

此方法能夠判斷在預(yù)定檢測(cè)周期內(nèi)接收到的數(shù)據(jù)包所屬的運(yùn)營(yíng)商或業(yè)務(wù)類型,基于數(shù)據(jù)包所屬的運(yùn)營(yíng)商或數(shù)據(jù)類型判斷是否將數(shù)據(jù)包存儲(chǔ)進(jìn)緩存隊(duì)列中,從而實(shí)現(xiàn)分類型的對(duì)數(shù)據(jù)包進(jìn)行批量緩存處理,實(shí)現(xiàn)了緩存隊(duì)列的共享和隔離。

根據(jù)本發(fā)明的另一個(gè)方面,提出一種緩存共享裝置,包括:類型判斷模塊,用于判斷臨時(shí)緩存隊(duì)列中數(shù)據(jù)包的數(shù)據(jù)包類型,其中,臨時(shí)緩存隊(duì)列中存儲(chǔ)的數(shù)據(jù)包為預(yù)定檢測(cè)周期內(nèi)到來的數(shù)據(jù)包,數(shù)據(jù)包類型包括數(shù)據(jù)包所屬的運(yùn)營(yíng)商或數(shù)據(jù)包的業(yè)務(wù)類型;協(xié)議緩存判斷模塊,用于根據(jù)策略確定將數(shù)據(jù)包丟棄或存入緩存隊(duì)列,策略包括數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量、臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的大小,以及緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量。

進(jìn)一步地,協(xié)議緩存判斷模塊用于比較對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量與數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量;若對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量不小于在緩存隊(duì)列中的協(xié)議緩存容量,則丟棄臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的所有數(shù)據(jù)包;否則,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù) 包存入緩存隊(duì)列。

進(jìn)一步地,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包存入緩存隊(duì)列包括:獲取對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量;獲取臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的所有數(shù)據(jù)包總大小;判斷二者之和是否超過對(duì)應(yīng)數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量;若未超過,則將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的所有數(shù)據(jù)包存入緩存;否則,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的部分?jǐn)?shù)據(jù)包存入緩存,使得緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包總量不超過在緩存隊(duì)列中的協(xié)議緩存容量。

進(jìn)一步地,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包存入緩存隊(duì)列包括:獲取對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量,獲取臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包總大小,判斷二者之和是否超過對(duì)應(yīng)數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量,以及判斷二者之和是否超過緩存隊(duì)列的總?cè)萘?;若均未超過,則將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的所有數(shù)據(jù)包存入緩存隊(duì)列;否則,將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的部分?jǐn)?shù)據(jù)包存入緩存隊(duì)列,使得緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包總量不超過在緩存隊(duì)列中的協(xié)議緩存容量,且緩存隊(duì)列中的數(shù)據(jù)包不超過緩存隊(duì)列的總?cè)萘俊?/p>

進(jìn)一步地,還包括:閾值判斷模塊,用于判斷緩存隊(duì)列的已用緩存量與臨時(shí)緩存隊(duì)列所有數(shù)據(jù)包大小之和是否超過預(yù)定緩存閾值,若未超過閾值,則將臨時(shí)緩存隊(duì)列所有數(shù)據(jù)包存入緩存隊(duì)列;若超過閾值,則激活協(xié)議緩存判斷模塊。

進(jìn)一步地,協(xié)議緩存判斷模塊還用于:根據(jù)公式

L=Min{x,Max{A*p[n]-Q,0},A+B-M}

確定將數(shù)據(jù)包丟棄或存入緩存隊(duì)列,其中,L為將臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的數(shù)據(jù)包存儲(chǔ)入緩存隊(duì)列中的數(shù)據(jù)量,x為臨時(shí)緩存隊(duì)列中類型為n的數(shù)據(jù)包的總大小,A為緩存隊(duì)列的預(yù)定緩存閾值,B為緩存隊(duì)列的隔離段容量,A+B為緩存隊(duì)列的總?cè)萘?,M為緩存隊(duì)列的已用緩存量,Q為緩存隊(duì)列中類型為n的數(shù)據(jù)包的已緩存數(shù)據(jù)量, p[n]為數(shù)據(jù)包類型n的協(xié)議緩存比例。

進(jìn)一步地,還包括:掃描模塊,用于在預(yù)定檢測(cè)時(shí)刻掃描全部緩存空間,獲取緩存隊(duì)列的已用緩存量和對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量。

進(jìn)一步地,還包括:統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)每個(gè)存入緩存隊(duì)列的數(shù)據(jù)包的大小和類型、每個(gè)從緩存隊(duì)列發(fā)送出的數(shù)據(jù)包的大小和類型,實(shí)時(shí)更新緩存隊(duì)列的已用緩存量和對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量。

進(jìn)一步地,緩存隊(duì)列包括S1接口的隊(duì)列、業(yè)務(wù)服務(wù)器的隊(duì)列或終端隊(duì)列。

進(jìn)一步地,預(yù)定檢測(cè)周期為100~200ms,相鄰預(yù)定檢測(cè)時(shí)刻之間相差一個(gè)預(yù)定檢測(cè)周期。

此裝置能夠判斷在預(yù)定檢測(cè)周期內(nèi)接收到的數(shù)據(jù)包所屬的運(yùn)營(yíng)商或業(yè)務(wù)類型,基于數(shù)據(jù)包所屬的運(yùn)營(yíng)商或數(shù)據(jù)類型判斷是否將數(shù)據(jù)包存儲(chǔ)進(jìn)緩存隊(duì)列中,從而實(shí)現(xiàn)分類型的對(duì)數(shù)據(jù)包進(jìn)行批量緩存處理,實(shí)現(xiàn)了緩存隊(duì)列的共享和隔離。

附圖說明

此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:

圖1為現(xiàn)網(wǎng)緩存隊(duì)列設(shè)計(jì)的示意圖。

圖2為固定隊(duì)列劃分的示意圖。

圖3為本發(fā)明的緩存共享方法的一個(gè)實(shí)施例的流程圖。

圖4為本發(fā)明的緩存共享方法的另一個(gè)實(shí)施例的流程圖。

圖5為本發(fā)明的緩存共享方法的又一個(gè)實(shí)施例的流程圖。

圖6為本發(fā)明的緩存隊(duì)列的一個(gè)實(shí)施例的示意圖。

圖7為本發(fā)明的緩存共享方法的再一個(gè)實(shí)施例的流程圖。

圖8為本發(fā)明的緩存共享裝置的一個(gè)實(shí)施例的示意圖。

圖9為本發(fā)明的緩存共享裝置的另一個(gè)實(shí)施例的示意圖。

圖10為本發(fā)明的緩存共享裝置的又一個(gè)實(shí)施例的示意圖

具體實(shí)施方式

下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。

本發(fā)明的緩存共享方法的一個(gè)實(shí)施例的流程圖如圖3所示。

在步驟301中,當(dāng)預(yù)定檢測(cè)時(shí)刻到來時(shí),觸發(fā)隊(duì)列管理的流程,判斷臨時(shí)緩存隊(duì)列中存儲(chǔ)的當(dāng)前時(shí)刻與上一個(gè)預(yù)定檢測(cè)時(shí)刻之間到來的數(shù)據(jù)包的類型。在一個(gè)實(shí)施例中,預(yù)定檢測(cè)周期可以為100~200ms,相鄰預(yù)定檢測(cè)時(shí)刻之間相差一個(gè)預(yù)定檢測(cè)周期。可以生成數(shù)據(jù)包類型列表,不重復(fù)的列出臨時(shí)緩存隊(duì)列中數(shù)據(jù)包的所有的數(shù)據(jù)包類型。數(shù)據(jù)包類型可以指數(shù)據(jù)包所屬的運(yùn)營(yíng)商類型,也可以指數(shù)據(jù)包的業(yè)務(wù)類型。

在步驟302中,根據(jù)數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量、臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的大小,以及緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量確定將數(shù)據(jù)包丟棄或存入緩存隊(duì)列。每個(gè)數(shù)據(jù)包類型在緩存隊(duì)列中可以有一定的協(xié)議緩存容量,或者協(xié)議緩存比例??梢跃C合考慮數(shù)據(jù)包類型的協(xié)議緩存容量/比例、數(shù)據(jù)包的大小以及該類型在緩存隊(duì)列中的已緩存容量綜合判斷是否將數(shù)據(jù)包存入緩存。

此方法能夠判斷在預(yù)定檢測(cè)周期內(nèi)接收到的數(shù)據(jù)包所屬的運(yùn)營(yíng)商或業(yè)務(wù)類型,基于數(shù)據(jù)包所屬的運(yùn)營(yíng)商或數(shù)據(jù)類型判斷是否將數(shù)據(jù)包存儲(chǔ)進(jìn)緩存隊(duì)列中,從而實(shí)現(xiàn)分類型的對(duì)數(shù)據(jù)包進(jìn)行批量緩存處理,實(shí)現(xiàn)了緩存隊(duì)列的共享和隔離。

緩存隊(duì)列對(duì)應(yīng)的物理實(shí)體是一段內(nèi)存(存儲(chǔ)資源),內(nèi)存的資源是有限的,尤其是對(duì)于微站和移動(dòng)終端。因此,需要設(shè)計(jì)高效的緩存隊(duì)列,保證其存儲(chǔ)資源利用率的同時(shí),實(shí)現(xiàn)不同運(yùn)營(yíng)商(或業(yè)務(wù))的資源隔離。在一個(gè)實(shí)施例中,緩存隊(duì)列可以是S1接口的隊(duì)列、業(yè)務(wù)服 務(wù)器的隊(duì)列或終端隊(duì)列。

本發(fā)明的緩存共享方法的另一個(gè)實(shí)施例的流程圖如圖4所示。

在步驟401中,當(dāng)預(yù)定檢測(cè)時(shí)刻到來時(shí),觸發(fā)隊(duì)列管理的流程,判斷臨時(shí)緩存隊(duì)列中存儲(chǔ)的當(dāng)前時(shí)刻與上一個(gè)預(yù)定檢測(cè)時(shí)刻之間(即一個(gè)預(yù)定檢測(cè)周期內(nèi))到來的數(shù)據(jù)包的類型。

在步驟402中,判斷臨時(shí)緩存隊(duì)列中一個(gè)數(shù)據(jù)包類型n的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量Q是否大于在緩存隊(duì)列中的協(xié)議緩存容量A*p[n],其中,n為數(shù)據(jù)包類型,p[n]為數(shù)據(jù)包類型n在緩存隊(duì)列中的協(xié)議緩存比例。如果Q≥A*p[n],則意味著數(shù)據(jù)包類型n會(huì)占用其他數(shù)據(jù)包類型的協(xié)議緩存空間,需要將緩存隊(duì)列資源退讓出來,執(zhí)行步驟403;否則,執(zhí)行步驟404。

在步驟403中,丟棄臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的所有數(shù)據(jù)包。

在步驟404中,將臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的數(shù)據(jù)包存入緩存隊(duì)列。

此方法考慮到數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量,能夠保障每個(gè)類型的數(shù)據(jù)包在自身的協(xié)議緩存容量范圍內(nèi)得到有效的緩存,實(shí)現(xiàn)了分類型的數(shù)據(jù)包控制,提高了數(shù)據(jù)安全保障的公平性。

在一個(gè)實(shí)施例中,如圖5所示。

在步驟501中,當(dāng)預(yù)定檢測(cè)時(shí)刻到來時(shí),觸發(fā)隊(duì)列管理的流程,判斷臨時(shí)緩存隊(duì)列中存儲(chǔ)的當(dāng)前時(shí)刻與上一個(gè)預(yù)定檢測(cè)時(shí)刻之間到來的數(shù)據(jù)包的類型。

在步驟502中,判斷臨時(shí)緩存隊(duì)列中一個(gè)數(shù)據(jù)包類型n的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量Q是否大于在緩存隊(duì)列中的協(xié)議緩存容量A*p[n],其中,n為數(shù)據(jù)包類型,p[n]為數(shù)據(jù)包類型n在緩存隊(duì)列中的協(xié)議緩存比例。如果Q≥A*p[n],則意味著數(shù)據(jù)包類型n會(huì)占用其他數(shù)據(jù)包類型的協(xié)議緩存空間,需要將緩存隊(duì)列資源退讓出來,執(zhí)行步驟503;否則,執(zhí)行步驟504。

在步驟503中,丟棄臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的全部數(shù)據(jù) 包。

在步驟504中,判斷Q+x>A*p[n]是否成立。x為臨時(shí)緩存隊(duì)列中類型為n的所有數(shù)據(jù)包的大小之和。如果不成立,則說明即使將臨時(shí)緩存隊(duì)列中類型為n的所有數(shù)據(jù)包存入緩存空間,也不會(huì)超過類型n的協(xié)議緩存容量,執(zhí)行步驟505。如果成立,則說明若將臨時(shí)緩存隊(duì)列中類型為n的所有數(shù)據(jù)包存入緩存空間,將會(huì)超過類型n的協(xié)議緩存容量,執(zhí)行步驟506。

在步驟505中,將臨時(shí)緩存隊(duì)列中類型為n的所有數(shù)據(jù)包存入緩存空間。

在步驟506中,將臨時(shí)緩存隊(duì)列中類型為n的部分?jǐn)?shù)據(jù)包存入緩存隊(duì)列。可以按照到達(dá)的先后順序,即在臨時(shí)緩存隊(duì)列中存儲(chǔ)的前后順序篩選。臨時(shí)緩存隊(duì)列中類型為n的數(shù)據(jù)包存入緩存隊(duì)列的數(shù)據(jù)量不能超過A*p[n]-Q。

此方法能夠更好的保障每個(gè)類型的數(shù)據(jù)包在自身的協(xié)議緩存容量范圍內(nèi)得到有效的緩存,不會(huì)影響其他類型的數(shù)據(jù)包緩存,實(shí)現(xiàn)了分類型的數(shù)據(jù)包控制,提高了數(shù)據(jù)安全保障的公平性。

在一個(gè)實(shí)施例中,還需要判斷將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)類型的數(shù)據(jù)包存入緩存隊(duì)列后是否會(huì)超過緩存隊(duì)列的總?cè)萘繌亩鴮?dǎo)致溢出。在確定臨時(shí)緩存隊(duì)列中類型為n的數(shù)據(jù)包存入緩存隊(duì)列的數(shù)據(jù)量時(shí),需要保障該數(shù)據(jù)量不大于緩存隊(duì)列的剩余容量。此方法能夠防止溢出導(dǎo)致的數(shù)據(jù)丟失,提高了系統(tǒng)穩(wěn)定性和數(shù)據(jù)安全性。

在一個(gè)實(shí)施例中,業(yè)務(wù)類型n的協(xié)議緩存容量可以為(A+B)*p[n],在圖5的實(shí)施例中,以(A+B)*p[n]作為業(yè)務(wù)類型n的協(xié)議緩存容量執(zhí)行判斷,能夠在實(shí)現(xiàn)保障每個(gè)類型的數(shù)據(jù)包在自身的協(xié)議緩存容量范圍內(nèi)得到有效的緩存,不會(huì)影響其他類型的數(shù)據(jù)包緩存的同時(shí),不會(huì)發(fā)生超出緩存隊(duì)列總?cè)萘繉?dǎo)致的溢出問題,進(jìn)一步提高了系統(tǒng)穩(wěn)定性和數(shù)據(jù)安全性。

在一個(gè)實(shí)施例中,緩存隊(duì)列可以如圖6中所示,分為共享段A和隔離段B。A段用于緩存各個(gè)運(yùn)營(yíng)商的數(shù)據(jù)。另外預(yù)留出B段用于接 收那些未達(dá)到其約定比例的運(yùn)營(yíng)商的突發(fā)數(shù)據(jù)。A、B段可以為邏輯劃分,不是實(shí)際的物理劃分??偟脑瓌t是看總緩存的占用率是否達(dá)到A段的門限,例如80%。A、B段的比例可以根據(jù)實(shí)際情況進(jìn)行配置,是可變的。例如,總緩存的80%為A段,20%為B段。以A的容量為限設(shè)定預(yù)定緩存閾值。當(dāng)緩存隊(duì)列的已用緩存量與臨時(shí)緩存隊(duì)列中對(duì)應(yīng)類型的數(shù)據(jù)量之和未超過閾值時(shí),緩存隊(duì)列較空,可以不考慮該類型的數(shù)據(jù)包存儲(chǔ)量是否已超出了其協(xié)議緩存容量;若已超過預(yù)定緩存閾值,則說明緩存隊(duì)列較滿,需要對(duì)根據(jù)數(shù)據(jù)包類型進(jìn)行篩選。

此方法可以先判斷緩存隊(duì)列是否擁擠,在擁擠的情況下再根據(jù)數(shù)據(jù)包的數(shù)據(jù)包類型進(jìn)行判斷,從而能夠更加有效的利用緩存隊(duì)列的緩存空間,避免在緩存隊(duì)列較為空閑但某一類型數(shù)據(jù)包較多的情況下丟失數(shù)據(jù)包。

在一個(gè)實(shí)施例中,本發(fā)明的緩存共享方法如圖7所示。

在步驟701中,當(dāng)預(yù)定檢測(cè)時(shí)刻到來時(shí),觸發(fā)隊(duì)列管理的流程,獲取臨時(shí)緩存隊(duì)列中存儲(chǔ)的當(dāng)前時(shí)刻與上一個(gè)預(yù)定檢測(cè)時(shí)刻之間(即一個(gè)預(yù)定檢測(cè)周期內(nèi))到來的數(shù)據(jù)包,判斷每個(gè)數(shù)據(jù)包的類型并生成數(shù)據(jù)包類型列表,不重復(fù)的列出臨時(shí)緩存隊(duì)列中數(shù)據(jù)包的所有的數(shù)據(jù)包類型。

在步驟702中,判斷數(shù)據(jù)包類型列表是否為空,如果為空,則執(zhí)行步驟703,否則執(zhí)行步驟704。

在步驟703中,臨時(shí)緩存隊(duì)列中所有數(shù)據(jù)包已處理完畢,或該周期內(nèi)未有數(shù)據(jù)包到來,流程結(jié)束,等待下一個(gè)預(yù)定檢測(cè)時(shí)刻重新開始檢測(cè)。

在步驟704中,獲取緩存隊(duì)列中已用緩存量M(Mbits),以及數(shù)據(jù)包類型列表中第一個(gè)數(shù)據(jù)包類型在臨時(shí)緩存隊(duì)列中所有數(shù)據(jù)包大小之和x(Mbits)。

在步驟705中,判斷M+x≤A是否成立,其中,A為緩存隊(duì)列的共享段容量。如果成立,則說明緩存隊(duì)列較空,將緩存隊(duì)列中該類型的全部數(shù)據(jù)包存入緩存后不會(huì)超過緩存隊(duì)列的共享段容量,執(zhí)行步驟 706;否則,執(zhí)行步驟707。

在步驟706中,將緩存隊(duì)列中該類型的全部數(shù)據(jù)包存入緩存。

在步驟707中,獲取對(duì)應(yīng)數(shù)據(jù)包類型在緩存隊(duì)列中的已緩存數(shù)據(jù)量Q。

在步驟708中,計(jì)算公式

L=Min{x,Max{A*p[n]-Q,0},A+B-M}

其中,L為將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)類型存入緩存隊(duì)列的數(shù)據(jù)量,p[n]為對(duì)應(yīng)數(shù)據(jù)包類型n的協(xié)議緩存比例,B為緩存隊(duì)列的隔離段容量,A+B為緩存隊(duì)列的總?cè)萘?。將臨時(shí)緩存隊(duì)列中該類型的總大小為L(zhǎng)的數(shù)據(jù)包存入緩存隊(duì)列,丟棄臨時(shí)緩存隊(duì)列中對(duì)應(yīng)類型的其他數(shù)據(jù)包。

在步驟709中,將該數(shù)據(jù)包類型從數(shù)據(jù)包類型列表中剔除,繼而返回執(zhí)行步驟702。

此方法邏輯清晰,能夠提高對(duì)緩存隊(duì)列的利用率,同時(shí)保障每個(gè)類型的數(shù)據(jù)包在自身的協(xié)議緩存容量范圍內(nèi)得到有效的緩存,不會(huì)影響其他類型的數(shù)據(jù)包緩存;將部分判斷篩選邏輯總結(jié)為邏輯判斷語(yǔ)句,便于本領(lǐng)域技術(shù)人員推廣應(yīng)用。

在一個(gè)實(shí)施例中,可以在預(yù)定檢測(cè)時(shí)刻掃描整個(gè)緩存隊(duì)列,獲取緩存隊(duì)列的已用緩存量M以及對(duì)應(yīng)類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量Q。本方法能夠即時(shí)獲取M、Q值,得到的數(shù)據(jù)更加可靠,提高了方法的準(zhǔn)確度。

在一個(gè)實(shí)施例中,可以統(tǒng)計(jì)存儲(chǔ)進(jìn)緩存隊(duì)列的數(shù)據(jù)包的類型、大小,以及成功從緩存隊(duì)列發(fā)送出的數(shù)據(jù)包的類型、大小,進(jìn)而得到緩存隊(duì)列的已用緩存量M以及對(duì)應(yīng)類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量Q。使用本方法無(wú)需在預(yù)定檢測(cè)時(shí)刻掃描全部緩存隊(duì)列,提高了效率。

本發(fā)明的緩存共享裝置的一個(gè)實(shí)施例的示意圖如圖8所示。其中,801為類型判斷模塊,用于在預(yù)定檢測(cè)時(shí)刻到來時(shí),觸發(fā)隊(duì)列管理的流程,判斷臨時(shí)緩存隊(duì)列中存儲(chǔ)的當(dāng)前時(shí)刻與上一個(gè)預(yù)定檢測(cè)時(shí)刻之間到來的數(shù)據(jù)包的類型,數(shù)據(jù)包類型可以指數(shù)據(jù)包所屬的運(yùn)營(yíng)商類型, 也可以指數(shù)據(jù)包的業(yè)務(wù)類型。在一個(gè)實(shí)施例中,預(yù)定檢測(cè)周期為100~200ms,相鄰預(yù)定檢測(cè)時(shí)刻之間相差一個(gè)預(yù)定檢測(cè)周期。802為協(xié)議緩存判斷模塊,用于根據(jù)數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量、臨時(shí)緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的大小,以及緩存隊(duì)列中對(duì)應(yīng)數(shù)據(jù)包類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量確定將數(shù)據(jù)包丟棄或存入緩存隊(duì)列。

此裝置能夠判斷在預(yù)定檢測(cè)周期內(nèi)接收到的數(shù)據(jù)包所屬的運(yùn)營(yíng)商或業(yè)務(wù)類型,基于數(shù)據(jù)包所屬的運(yùn)營(yíng)商或數(shù)據(jù)類型判斷是否將數(shù)據(jù)包存儲(chǔ)進(jìn)緩存隊(duì)列中,從而實(shí)現(xiàn)分類型的對(duì)數(shù)據(jù)包進(jìn)行批量緩存處理,實(shí)現(xiàn)了緩存隊(duì)列的共享和隔離。

在一個(gè)實(shí)施例中,協(xié)議緩存判斷模塊802能夠判斷臨時(shí)緩存隊(duì)列中一個(gè)數(shù)據(jù)包類型n的數(shù)據(jù)包在緩存隊(duì)列中的已緩存數(shù)據(jù)量Q是否大于在緩存隊(duì)列中的協(xié)議緩存容量A*p[n],其中,n為數(shù)據(jù)包類型,p[n]為數(shù)據(jù)包類型n在緩存隊(duì)列中的協(xié)議緩存比例。如果Q≥A*p[n],則意味著數(shù)據(jù)包類型n會(huì)占用其他數(shù)據(jù)包類型的協(xié)議緩存空間,需要將緩存隊(duì)列資源退讓出來,丟棄臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的所有數(shù)據(jù)包;否則,將臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的數(shù)據(jù)包存入緩存隊(duì)列。

該裝置考慮到數(shù)據(jù)包類型在緩存隊(duì)列中的協(xié)議緩存容量,能夠保障每個(gè)類型的數(shù)據(jù)包在自身的協(xié)議緩存容量范圍內(nèi)得到有效的緩存,實(shí)現(xiàn)了分類型的數(shù)據(jù)包控制,提高了數(shù)據(jù)安全保障的公平性。

在一個(gè)實(shí)施例中,協(xié)議緩存判斷模塊802在判斷將臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的數(shù)據(jù)包存入緩存隊(duì)列后,需要確定將臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的數(shù)據(jù)包存入緩存隊(duì)列的數(shù)據(jù)量。類型n的協(xié)議緩存容量可以為(A+B)*p[n]。協(xié)議緩存判斷模塊802判斷Q+x>(A+B)*p[n]是否成立,其中x為臨時(shí)緩存隊(duì)列中類型為n的所有數(shù)據(jù)包的大小之和。如果不成立,則說明將臨時(shí)緩存隊(duì)列中類型為n的所有數(shù)據(jù)包存入緩存空間后不會(huì)超過類型n的協(xié)議緩存容量,因此將臨時(shí)緩存隊(duì)列中類型為n的所有數(shù)據(jù)包存入緩存空間;如果成立,則說明若將 臨時(shí)緩存隊(duì)列中類型為n的所有數(shù)據(jù)包存入緩存空間,將會(huì)超過類型n的協(xié)議緩存容量,將臨時(shí)緩存隊(duì)列中類型為n的部分?jǐn)?shù)據(jù)包存入緩存隊(duì)列。可以按照到達(dá)的先后順序,即在臨時(shí)緩存隊(duì)列中存儲(chǔ)的前后順序進(jìn)行篩選。臨時(shí)緩存隊(duì)列中類型為n的數(shù)據(jù)包存入緩存隊(duì)列的數(shù)據(jù)量不能超過(A+B)*p[n]-Q。

此裝置能夠更好的保障每個(gè)類型的數(shù)據(jù)包在自身的協(xié)議緩存容量范圍內(nèi)得到有效的緩存,不會(huì)影響其他類型的數(shù)據(jù)包緩存,實(shí)現(xiàn)了分類型的數(shù)據(jù)包控制,提高了數(shù)據(jù)安全保障的公平性。

在一個(gè)實(shí)施例中,協(xié)議緩存判斷模塊802還用于判斷將臨時(shí)緩存隊(duì)列中對(duì)應(yīng)類型的數(shù)據(jù)包存入緩存隊(duì)列后是否會(huì)超過緩存隊(duì)列的總?cè)萘繌亩鴮?dǎo)致溢出。在確定臨時(shí)緩存隊(duì)列中類型為n的數(shù)據(jù)包存入緩存隊(duì)列的數(shù)據(jù)量時(shí),需要保障該數(shù)據(jù)量不大于緩存隊(duì)列的剩余容量。此裝置能夠防止溢出導(dǎo)致的數(shù)據(jù)丟失,提高了系統(tǒng)穩(wěn)定性和數(shù)據(jù)安全性。

在一個(gè)實(shí)施例中,如圖9所示,本發(fā)明的緩存共享裝置還包括閾值判斷模塊902。901和903分別為類型判斷模塊和協(xié)議緩存判斷模塊,與圖8的實(shí)施例中相似。在預(yù)定檢測(cè)時(shí)刻,閾值判斷模塊902判斷緩存隊(duì)列的已用緩存量與臨時(shí)緩存隊(duì)列同一數(shù)據(jù)包類型的所有數(shù)據(jù)包大小之和是否超過預(yù)定緩存閾值,如果未超過,則說明緩存隊(duì)列較空,可以不考慮該類型的數(shù)據(jù)包存儲(chǔ)量是否已超出了其協(xié)議緩存容量;若已超過預(yù)定緩存閾值,則說明緩存隊(duì)列較滿,需要對(duì)根據(jù)數(shù)據(jù)包類型進(jìn)行篩選,激活協(xié)議緩存判斷模塊903。

這樣的裝置可以先判斷緩存隊(duì)列是否擁擠,在擁擠的情況下再根據(jù)數(shù)據(jù)包的數(shù)據(jù)包類型進(jìn)行判斷,從而能夠更加有效的利用緩存隊(duì)列的緩存空間,避免在緩存隊(duì)列較為空閑但某一類型數(shù)據(jù)包較多的情況下丟失數(shù)據(jù)包。

在一個(gè)實(shí)施例中,協(xié)議緩存判斷模塊可以根據(jù)公式:

L=Min{x,Max{A*p[n]-Q,0},A+B-M}

確定將所述數(shù)據(jù)包丟棄或存入緩存隊(duì)列,其中,L為將臨時(shí)緩存隊(duì)列中數(shù)據(jù)包類型為n的數(shù)據(jù)包存儲(chǔ)入緩存隊(duì)列中的數(shù)據(jù)量,x為臨 時(shí)緩存隊(duì)列中類型為n的數(shù)據(jù)包的總大小,A為緩存隊(duì)列的預(yù)定緩存閾值,B為緩存隊(duì)列的隔離段容量,A+B為緩存隊(duì)列的總?cè)萘浚琈為緩存隊(duì)列的已用緩存量,Q為緩存隊(duì)列中類型為n的數(shù)據(jù)包的已緩存數(shù)據(jù)量,p[n]為數(shù)據(jù)包類型n的協(xié)議緩存比例。

這樣的裝置,協(xié)議緩存判斷模塊的處理邏輯清晰,能夠提高對(duì)緩存隊(duì)列的利用率,同時(shí)保障每個(gè)類型的數(shù)據(jù)包在自身的協(xié)議緩存容量范圍內(nèi)得到有效的緩存,不會(huì)影響其他類型的數(shù)據(jù)包緩存;將部分判斷篩選邏輯總結(jié)為邏輯判斷語(yǔ)句,提高運(yùn)算效率,便于本領(lǐng)域技術(shù)人員推廣應(yīng)用。

在一個(gè)實(shí)施例中,如圖10所示,1001和1003分別為類型判斷模塊和協(xié)議緩存判斷模塊,與圖8的實(shí)施例中相似。1002可以為掃描模塊,用于在預(yù)定檢測(cè)時(shí)刻掃描整個(gè)緩存隊(duì)列,獲取緩存隊(duì)列的已用緩存量M以及對(duì)應(yīng)類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量Q。本裝置能夠即時(shí)獲取M、Q值,得到的數(shù)據(jù)更加可靠,提高了方法的準(zhǔn)確度。

1002也可以為統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)存儲(chǔ)進(jìn)緩存隊(duì)列的數(shù)據(jù)包的類型、大小,以及成功從緩存隊(duì)列發(fā)送出的數(shù)據(jù)包的類型、大小,進(jìn)而得到緩存隊(duì)列的已用緩存量M以及對(duì)應(yīng)類型的數(shù)據(jù)包的已緩存數(shù)據(jù)量Q。本裝置無(wú)需在預(yù)定檢測(cè)時(shí)刻掃描全部緩存隊(duì)列,提高了效率。

在一個(gè)實(shí)施例中,緩存隊(duì)列可以是S1接口的隊(duì)列、業(yè)務(wù)服務(wù)器的隊(duì)列或終端隊(duì)列。此裝置能夠應(yīng)用于通信過程的各個(gè)環(huán)節(jié)中,有利于實(shí)現(xiàn)端到端的緩存共享和隔離。

最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其限制;盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行修改或者對(duì)部分技術(shù)特征進(jìn)行等同替換;而不脫離本發(fā)明技術(shù)方案的精神,其均應(yīng)涵蓋在本發(fā)明請(qǐng)求保護(hù)的技術(shù)方案范圍當(dāng)中。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1