專利名稱:一種基于緩存模型的ipqam頻點(diǎn)分配與回收方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字電視頻點(diǎn)管理領(lǐng)域,具體涉及一種基于緩存模型的邊緣調(diào)制器IPQAM頻點(diǎn)分配與回收方法。
背景技術(shù):
在數(shù)字電視互動(dòng)業(yè)務(wù)中,機(jī)頂盒終端發(fā)起的節(jié)目會(huì)話請求中包含服務(wù)組標(biāo)識信息,以及所請求的節(jié)目號,業(yè)務(wù)系統(tǒng)會(huì)根據(jù)節(jié)目號獲取與其對應(yīng)的節(jié)目所需帶寬等參數(shù)信息,并連同服務(wù)組標(biāo)識作為請求IPQAM頻點(diǎn)資源的請求參數(shù),因此,業(yè)務(wù)系統(tǒng)須要根據(jù)請求參數(shù)中的服務(wù)組標(biāo)識、所需帶寬等信息為其分配IPQAM頻點(diǎn)資源,并為該會(huì)話分配唯一的資源分配標(biāo)識,當(dāng)終端發(fā)起節(jié)目資源回收請求時(shí),業(yè)務(wù)系統(tǒng)根據(jù)資源分配標(biāo)識回收為其分配的頻點(diǎn)資源。
為了提供業(yè)務(wù)系統(tǒng)的并發(fā)速率、降低響應(yīng)時(shí)延,通常采用緩存機(jī)制加以實(shí)現(xiàn),傳統(tǒng)方法采用的緩存模型如圖1所示:將數(shù)據(jù)庫中的數(shù)據(jù)讀取至內(nèi)存中,并建立與數(shù)據(jù)庫中數(shù)據(jù)模型相一致的數(shù)據(jù)結(jié)構(gòu),形成一個(gè)內(nèi)存數(shù)據(jù)庫。其中,頻點(diǎn)緩存結(jié)構(gòu)體中包含服務(wù)組標(biāo)識外鍵信息,從而使服務(wù)組與頻點(diǎn)構(gòu)成一對多的對應(yīng)關(guān)系;其中,端口緩存結(jié)構(gòu)體中包含頻點(diǎn)標(biāo)識外鍵信息,從而使頻點(diǎn)與端口構(gòu)成一對多的對應(yīng)關(guān)系。在這種情況下,在分配頻點(diǎn)資源時(shí),首先根據(jù)請求中的服務(wù)組標(biāo)識參數(shù),遍歷整個(gè)頻點(diǎn)緩存列表從中獲取具有該服務(wù)組標(biāo)識的頻點(diǎn)集合,按照具體分配算法,從該頻點(diǎn)集合中選擇優(yōu)先分配的頻點(diǎn),并從端口緩存列表中獲取具有該頻點(diǎn)標(biāo)識的所有端口集合,并按照具體分配算法,從該端口集合中選擇優(yōu)先分配的端口,因此,頻點(diǎn)資源分配要做多次遍歷緩存列表工作。同樣,在回收資源時(shí),需要根據(jù)服務(wù)組標(biāo)識與頻點(diǎn)標(biāo)識在頻點(diǎn)緩存列表中遍歷查找目標(biāo)回收頻點(diǎn),需要根據(jù)頻點(diǎn)標(biāo)識與端口標(biāo)識在端口緩存列表中遍歷查找目標(biāo)回收端口,因此,頻點(diǎn)資源回收過程同樣要做多次遍歷緩存列表工作。由此可見,過多的遍歷查找將降低查找速率,影響系統(tǒng)并發(fā)響應(yīng)速率。除此之外,傳統(tǒng)的圖1緩存方法,通常將數(shù)據(jù)庫數(shù)據(jù)模型中的所有字段屬性,同時(shí)加載到內(nèi)存中,而當(dāng)中的眾多字段屬性并不會(huì)隨著資源的分配與回收過程而發(fā)生改變,因此,造成系統(tǒng)內(nèi)存的浪費(fèi)。發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中的上述問題,本發(fā)明實(shí)施例提供基于緩存模型的IPQAM頻點(diǎn)管理(分配/回收)方法。
本發(fā)明的目的在于,設(shè)計(jì)基于緩存的IPQAM頻點(diǎn)管理方法,降低對系統(tǒng)內(nèi)存的消耗,提供快速資源分配、回收能力。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于緩存的IPQAM頻點(diǎn)管理方法,所述方法提出了一種緩存模型,并基于所述緩存模型提出了一種頻點(diǎn)分配與回收方法。
參見圖2,緩存模型由服務(wù)組數(shù)組構(gòu)成,所述服務(wù)組數(shù)組下標(biāo)與服務(wù)組標(biāo)識為一一對應(yīng),所述服務(wù)組數(shù)組元素為服務(wù)組結(jié)構(gòu)體,所述服務(wù)組結(jié)構(gòu)體包括但不僅限于該服務(wù)組內(nèi)的頻點(diǎn)所構(gòu)成的頻點(diǎn)數(shù)組,以及頻點(diǎn)排序鏈表,所述頻點(diǎn)數(shù)組的元素為頻點(diǎn)結(jié)構(gòu)體,所述頻點(diǎn)結(jié)構(gòu)體包含但不僅限于端口狀態(tài)數(shù)組、可用端口鏈表,以及可用帶寬信息。
其中,所述頻點(diǎn)分配與回收方法,主要為根據(jù)服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻點(diǎn)排序鏈表從所述頻點(diǎn)數(shù)組中獲取優(yōu)先分配的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口狀態(tài)數(shù)組、可用帶寬信息完成頻點(diǎn)分配;根據(jù)服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻點(diǎn)所在數(shù)組下標(biāo)從所述頻點(diǎn)數(shù)組中獲取需要回收的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口數(shù)組、可用帶寬信息完成頻點(diǎn)回收。
其中,所述頻點(diǎn)排序鏈表中的節(jié)點(diǎn)數(shù)據(jù)與頻點(diǎn)數(shù)組的下標(biāo)--對應(yīng),所述頻點(diǎn)排序鏈表的順序可以為對對應(yīng)頻點(diǎn)結(jié)構(gòu)體按照最大剩余帶寬方法進(jìn)行的有序排列,亦可為其他有序排列。
其中,所述頻點(diǎn)結(jié)構(gòu)體包含端口狀態(tài)數(shù)組,所述端口狀態(tài)數(shù)組的數(shù)組元素為端口是否可用的標(biāo)識狀態(tài)信息,如O表示可用,I表示已被占用。
其中,所述可用端口鏈表中均為可用端口,在分配頻點(diǎn)端口時(shí),可直接從鏈表中獲取端口進(jìn)行分配,通常獲取所述可用端口鏈表的頭部節(jié)點(diǎn)的端口,亦可取其他位置的端口。
基于所述緩存模型提出一種頻點(diǎn)分配方法,其中,分配請求包含但不僅限于服務(wù)組標(biāo)識、請求帶寬信息,所述方法包括如下步驟:
步驟1、以所述服務(wù)組標(biāo)識獲取服務(wù)組數(shù)組下標(biāo),從服務(wù)組數(shù)組中獲取服務(wù)組結(jié)構(gòu)體,從所述服務(wù)組結(jié)構(gòu)體中的頻點(diǎn)排序鏈表固定位置節(jié)點(diǎn)中讀取優(yōu)先分配的頻點(diǎn)數(shù)組的下標(biāo),進(jìn)而從頻點(diǎn)數(shù)組中讀取該下標(biāo)對應(yīng)的頻點(diǎn)結(jié)構(gòu)體;
步驟2、比較請求帶寬與所述頻點(diǎn)結(jié)構(gòu)體中的可用帶寬大小,如果前者大于后者,則回復(fù)分配失敗響應(yīng);否則,從所述可用端口鏈表獲取一個(gè)端口,并將其節(jié)點(diǎn)從所述可用端口鏈表中移除,將端口狀態(tài)數(shù)組中下標(biāo)為上述端口的數(shù)組元素置為已占用狀態(tài),并且,將所述頻點(diǎn)結(jié)構(gòu)體中的可用帶寬修改為原可用帶寬減去請求帶寬,對所述頻點(diǎn)排序鏈表重新排序;
步驟3、回復(fù)分配成功響應(yīng),所述響應(yīng)包含但不僅限于優(yōu)先分配頻點(diǎn)頻率、分配的端口信息;
基于所述緩存模型提出一種頻點(diǎn)回收方法,所述方法包括如下步驟:
步驟1、根據(jù)頻點(diǎn)回收請求獲取服務(wù)組標(biāo)識、頻點(diǎn)所在頻點(diǎn)數(shù)組的下標(biāo)、回收帶寬,以及端口信息,以所述服務(wù)組標(biāo)識獲取對應(yīng)的數(shù)組下標(biāo)從服務(wù)組數(shù)組中獲取服務(wù)組結(jié)構(gòu)體,從所述服務(wù)組結(jié)構(gòu)體中的頻點(diǎn)數(shù)組中獲取所述頻點(diǎn)所在頻點(diǎn)數(shù)組的下標(biāo)對應(yīng)的頻點(diǎn)結(jié)構(gòu)體;
步驟2、在所述頻點(diǎn)結(jié)構(gòu)體的端口鏈表中加入新節(jié)點(diǎn),所述新節(jié)點(diǎn)數(shù)據(jù)為須回收的端口號;在所述頻點(diǎn)結(jié)構(gòu)體的端口狀態(tài)數(shù)組中,將以所述端口號為下標(biāo)的數(shù)組元素置為可用狀態(tài);將所述頻點(diǎn)結(jié)構(gòu)體的可用帶寬更新為原可用帶寬加上回收帶寬,對所述頻點(diǎn)排序鏈表重新排序;
步驟3、回復(fù)頻點(diǎn)回收響應(yīng)。
本發(fā)明實(shí)施例 根據(jù)數(shù)字電視互動(dòng)業(yè)務(wù)具備其特定的業(yè)務(wù)交互流程,以及請求中固有的服務(wù)組標(biāo)識、所需帶寬等參數(shù),設(shè)計(jì)一個(gè)適用于該業(yè)務(wù)環(huán)境下IPQAM頻點(diǎn)管理的緩存模型,據(jù)此盡量減低了對系統(tǒng)內(nèi)存的消耗,并基于該緩存模型提出一種快速分配、回收頻點(diǎn)資源的方法,使得頻點(diǎn)的分配與回收具有快速定位優(yōu)先分配以及回收的特點(diǎn)。
下面將參照附圖對本發(fā)明的具體實(shí)施方案進(jìn)行更詳細(xì)的說明,據(jù)此本發(fā)明的優(yōu)點(diǎn)將更加凸顯。在附圖中:
圖1是現(xiàn)有技術(shù)的緩存數(shù)據(jù)模型示意圖2是本發(fā)明實(shí)施例涉及的頻點(diǎn)資源緩存模型示意圖3是本發(fā)明實(shí)施例的基于緩存的IPQAM頻點(diǎn)管理和分配方法應(yīng)用場景不意圖4是本發(fā)明實(shí)施例的基于緩存的IPQAM頻點(diǎn)管理和分配方法的一種示意圖5是本發(fā)明實(shí)施例的頻點(diǎn)分配請求處理流程示意圖6是本發(fā)明實(shí)施例的頻點(diǎn)回收請求處理流程示意圖7是本發(fā)明實(shí)施例的基于緩存模型的IPQAM頻點(diǎn)分配方法流程示意圖8是本發(fā)明實(shí)施例的基于緩存模型的IPQAM頻點(diǎn)回收方法流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)、清楚、完整的說明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
下面對本發(fā)明實(shí)施例進(jìn)行更加詳細(xì)的說明,以便本領(lǐng)域人員更好地了解其原理以及實(shí)施細(xì)節(jié)。
圖3為本發(fā)明提出方法的適用實(shí)施系統(tǒng)環(huán)境,其系統(tǒng)交互流程可作如下描述:
頻點(diǎn)分配過程如下:終端機(jī)頂盒通過IP通道向會(huì)話管理系統(tǒng)申請節(jié)目流,會(huì)話管理系統(tǒng)根據(jù)終端請求向邊緣資源管理系統(tǒng)申請具體的頻點(diǎn)端口資源,邊緣資源管理系統(tǒng)會(huì)為該會(huì)話請求分配頻點(diǎn)端口資源,并為會(huì)話分配唯一的會(huì)話標(biāo)識,會(huì)話管理系統(tǒng)獲得頻點(diǎn)資源分配后,會(huì)與業(yè)務(wù)系統(tǒng)中其他子系統(tǒng)交互,如推流服務(wù)器,向目標(biāo)頻點(diǎn)端口推送節(jié)目流,終端機(jī)頂盒將從該頻點(diǎn)端口獲取節(jié)目流信息。
頻點(diǎn)回收過程如下:終端機(jī)頂盒通過IP通道向會(huì)話管理系統(tǒng)發(fā)出頻點(diǎn)回收請求,會(huì)話管理系統(tǒng)根據(jù)其會(huì)話標(biāo)識向邊緣資源管理系統(tǒng)發(fā)送頻點(diǎn)回收請求,邊緣資源管理服務(wù)器通過該會(huì)話標(biāo)識釋放頻點(diǎn)資源。
圖4為本發(fā)明提出的一種基于緩存的IPQAM頻點(diǎn)管理方法較佳實(shí)施例。
假定現(xiàn)有頻點(diǎn)資源數(shù)據(jù)為存在兩個(gè)服務(wù)組,服務(wù)組標(biāo)識分別為O和1,服務(wù)組O包含4個(gè)頻點(diǎn)資源,分別為Frel、Fre2、Fre3、Fre4,服務(wù)組I包含3個(gè)頻點(diǎn)資源,分別為Fre5、Fre6、Fre7,其中,頻點(diǎn)標(biāo)識依次為freO I fre07,每個(gè)頻點(diǎn)包含頻點(diǎn)標(biāo)識、狀態(tài)屬性、可用帶寬、頻率,以及Ip地址信息,狀態(tài)屬性均為可用狀態(tài),可用帶寬均為38Mbps,并且,均包含4個(gè)端口,端口號均為0、1、2、3,除此之外,還有頻點(diǎn)以頻點(diǎn)端口的其他屬性信息,如頻點(diǎn)符號率、模式等。
其中,頻點(diǎn)管理方法中緩存模型的建立具體描述如下:
首先,建立7個(gè)頻點(diǎn)結(jié)構(gòu)體。每個(gè)頻點(diǎn)結(jié)構(gòu)體中建立一個(gè)長度為4的端口狀態(tài)數(shù)組,數(shù)組下標(biāo)與端口號O、1、2、3 —一對應(yīng),并且將數(shù)組元素均初始化為O,表示4個(gè)端口均為可用狀態(tài),每個(gè)頻點(diǎn)結(jié)構(gòu)體中建立一個(gè)可用端口鏈表,由于所有端口均為可用,因此,建立長度為4的可用端口鏈表,鏈表節(jié)點(diǎn)(Node)數(shù)據(jù)設(shè)為端口號,頻點(diǎn)結(jié)構(gòu)體中頻點(diǎn)標(biāo)識一次設(shè)為freOf fre07,每個(gè)頻點(diǎn)結(jié)構(gòu)體中建立一個(gè)狀態(tài)屬性,并設(shè)為可用狀態(tài),每個(gè)頻點(diǎn)結(jié)果中建立一個(gè)可用帶寬屬性,并設(shè)為38Mbps,并設(shè)置對應(yīng)的頻率、Ip地址屬性值,其他頻點(diǎn)符號率、模式等屬性無需在頻點(diǎn)結(jié)構(gòu)體中建立。
其次,建立兩個(gè)頻點(diǎn)數(shù)組,頻點(diǎn)數(shù)組031包含頻點(diǎn)Frel、Fre2、Fre3、Fre4,頻點(diǎn)數(shù)組032包含F(xiàn)re5、Fre6、Fre7。建立兩個(gè)頻點(diǎn)排序鏈表,頻點(diǎn)排序鏈表021是對031按照最大剩余帶寬進(jìn)行降序排序而成的,頻點(diǎn)排序鏈表022是對032按照最大剩余帶寬進(jìn)行降序排序而成的,兩個(gè)頻點(diǎn)排序鏈表的節(jié)點(diǎn)數(shù)據(jù)為頻點(diǎn)數(shù)組的下標(biāo)。
最后,建立一個(gè)服務(wù)組數(shù)組01,01包含兩個(gè)服務(wù)組結(jié)構(gòu)體,每個(gè)服務(wù)組結(jié)構(gòu)體以上所建立的一個(gè)頻點(diǎn)數(shù)組,以及一個(gè)頻點(diǎn)排序鏈表。
由以上三個(gè)步驟,用于管理頻點(diǎn)資源的緩存模型建立完畢。
圖5是本發(fā)明實(shí)施例的頻點(diǎn)分配請求處理流程示意圖。具體地,假設(shè)請求參數(shù)中服務(wù)組標(biāo)識為0,請求帶寬為4Mbps,圖5中,所述頻點(diǎn)分配請求處理方法具體描述如下:
1、以所述請求服務(wù)組標(biāo)識O為下標(biāo),從服務(wù)組數(shù)組01中獲取服務(wù)組結(jié)構(gòu)體;
2、從所述服務(wù)組結(jié)構(gòu)體中的頻點(diǎn)排序鏈表021頭部節(jié)點(diǎn)中讀取一個(gè)頻點(diǎn)數(shù)組的下標(biāo),其數(shù)值為0,從所述服務(wù)組結(jié)構(gòu)體中的頻點(diǎn)數(shù)組031中讀取下標(biāo)為O的頻點(diǎn)結(jié)構(gòu)體04,因?yàn)?4不為空,因此,比較請求帶寬與優(yōu)先分配頻點(diǎn)的可用帶寬大小,因?yàn)榍罢邽?Mbps小于后者38Mbps,因此繼續(xù)執(zhí)行分配算法;
3、從04的可用端口鏈表05中獲取一個(gè)端口,并將其從05中移除;
4、將04的端口狀態(tài)數(shù)組06中下標(biāo)為上述分配端口的數(shù)組元素置為1,表示已占用;
5、將04中的可用帶寬修改為38_4=34Mbps,對021按照最大剩余帶寬重新排序,重排后的021的節(jié)點(diǎn)數(shù)據(jù)依次為1、2、3、0 ;
7、將04中的頻點(diǎn)Ip地址、頻率,以及端口 0,連同頻點(diǎn)分配過程中生成的唯一會(huì)話標(biāo)識sessionld作為響應(yīng)參數(shù),回復(fù)分配成功響應(yīng),同時(shí),將分配頻點(diǎn)的服務(wù)組標(biāo)識、頻點(diǎn)所在頻點(diǎn)數(shù)組的下標(biāo)、分配帶寬、分配端口信息與sessionld對應(yīng)記錄下來;
8、分配請求處理完畢;
圖6是本發(fā)明實(shí)施例的頻點(diǎn)回收請求處理流程示意圖。具體地,假設(shè)須回收的頻點(diǎn)為上述已申請的頻點(diǎn)資源,圖6中,頻點(diǎn)回收請求處理方法具體描述如下:
1、根據(jù)頻點(diǎn)回收請求中的會(huì)話標(biāo)識sessionld獲取在分配過程中記錄下來的目標(biāo)回收頻點(diǎn)的服務(wù)組標(biāo)識為O、頻點(diǎn)所在頻點(diǎn)數(shù)組的下標(biāo)為O、回收帶寬為4Mbps、回收端口為O ;
2、以服務(wù)組標(biāo)識O為數(shù)組下標(biāo),從服務(wù)組數(shù)組01中獲取服務(wù)組結(jié)構(gòu)體;
3、根據(jù)所述頻點(diǎn)所在頻點(diǎn)數(shù)組的下標(biāo),從所述服務(wù)組結(jié)構(gòu)體中的頻點(diǎn)數(shù)組031中獲取所述下標(biāo)為O的頻點(diǎn)結(jié)構(gòu)體04 ;
4、在04中的端口鏈表05中加入新節(jié)點(diǎn),所述新節(jié)點(diǎn)數(shù)據(jù)為O ;
5、在04中的端口狀態(tài)數(shù)組06中,將以O(shè)為下標(biāo)的數(shù)組元素置為0,表示該端口可用;
6、將04的可用帶寬更新為34+4=38Mbps,對021按照最大剩余帶寬重新排序,重排后的021的節(jié)點(diǎn)數(shù)據(jù)依次為1、2、3、0 ;
7、回復(fù)頻點(diǎn)回收響應(yīng);
8、回收請求處理完畢;
圖7是本發(fā)明實(shí)施例的基于緩存模型的IPQAM頻點(diǎn)分配方法流程示意圖。所述緩存模型由服務(wù)組數(shù)組構(gòu)成,所述服務(wù)組數(shù)組下標(biāo)與服務(wù)組標(biāo)識為一一對應(yīng),所述服務(wù)組數(shù)組元素為服務(wù)組結(jié)構(gòu)體,所述服務(wù)組結(jié)構(gòu)體包括由該服務(wù)組內(nèi)的頻點(diǎn)所構(gòu)成的頻點(diǎn)數(shù)組以及頻點(diǎn)排序鏈表,所述頻點(diǎn)數(shù)組的元素為頻點(diǎn)結(jié)構(gòu)體,所述頻點(diǎn)結(jié)構(gòu)體包含端口狀態(tài)數(shù)組、可用端口鏈表以及可用帶寬信息;所述頻點(diǎn)分配方法包括:根據(jù)分配請求中的服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻 點(diǎn)排序鏈表從所述頻點(diǎn)數(shù)組中獲取優(yōu)先分配的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口狀態(tài)數(shù)組、可用帶寬信息進(jìn)行頻點(diǎn)分配。
優(yōu)選地,所述根據(jù)分配請求中的服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻點(diǎn)排序鏈表從所述頻點(diǎn)數(shù)組中獲取優(yōu)先分配的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口狀態(tài)數(shù)組、可用帶寬信息進(jìn)行頻點(diǎn)分配,具體為:根據(jù)分配請求中的所述服務(wù)組標(biāo)識獲取服務(wù)組數(shù)組下標(biāo),從服務(wù)組數(shù)組中獲取服務(wù)組結(jié)構(gòu)體,從所述服務(wù)組結(jié)構(gòu)體中的頻點(diǎn)排序鏈表固定位置節(jié)點(diǎn)中讀取優(yōu)先分配的頻點(diǎn)數(shù)組的下標(biāo),進(jìn)而從頻點(diǎn)數(shù)組中讀取該下標(biāo)對應(yīng)的頻點(diǎn)結(jié)構(gòu)體;比較請求帶寬與所述頻點(diǎn)結(jié)構(gòu)體中的可用帶寬大小,如果前者大于后者,則結(jié)束頻點(diǎn)分配;否則,從所述可用端口鏈表獲取一個(gè)端口,并將其節(jié)點(diǎn)從所述可用端口鏈表中移除,將端口狀態(tài)數(shù)組中下標(biāo)為上述端口的數(shù)組元素置為已占用狀態(tài),并且,將所述頻點(diǎn)結(jié)構(gòu)體中的可用帶寬修改為原可用帶寬減去請求帶寬,對所述頻點(diǎn)排序鏈表重新排序;依據(jù)優(yōu)先分配頻點(diǎn)頻率、分配的端口信息完成頻點(diǎn)分配。
優(yōu)選地,所述頻點(diǎn)排序鏈表中的節(jié)點(diǎn)數(shù)據(jù)與頻點(diǎn)數(shù)組的下標(biāo)--對應(yīng),所述頻點(diǎn)排序鏈表的順序?yàn)閷?yīng)頻點(diǎn)結(jié)構(gòu)體按照最大剩余帶寬方法進(jìn)行的有序排列。
優(yōu)選地,所述頻點(diǎn)結(jié)構(gòu)體包含端口狀態(tài)數(shù)組,其中,所述端口狀態(tài)數(shù)組的數(shù)組元素為端口是否可用的標(biāo)識狀態(tài)信息。
優(yōu)選地,所述可用端口鏈表中的端口均為可用端口,在分配頻點(diǎn)端口時(shí),將從鏈表的頭部節(jié)點(diǎn)的端口或者其它節(jié)點(diǎn)的端口中選擇的端口用于分配。
圖8是本發(fā)明實(shí)施例的基于緩存模型的IPQAM頻點(diǎn)回收方法流程示意圖。所述緩存模型由服務(wù)組數(shù)組構(gòu)成,所述服務(wù)組數(shù)組下標(biāo)與服務(wù)組標(biāo)識為一一對應(yīng),所述服務(wù)組數(shù)組元素為服務(wù)組結(jié)構(gòu)體,所述服務(wù)組結(jié)構(gòu)體包括由該服務(wù)組內(nèi)的頻點(diǎn)所構(gòu)成的頻點(diǎn)數(shù)組以及頻點(diǎn)排序鏈表,所述頻點(diǎn)數(shù)組的元素為頻點(diǎn)結(jié)構(gòu)體,所述頻點(diǎn)結(jié)構(gòu)體包含端口狀態(tài)數(shù)組、可用端口鏈表以及可用帶寬信息;所述頻點(diǎn)回收方法包括:根據(jù)服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻點(diǎn)所在數(shù)組下標(biāo)從所述頻點(diǎn)數(shù)組中獲取需要回收的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口狀態(tài)數(shù)組、可用帶寬信息完成頻點(diǎn)回收。
優(yōu)選地,所述根據(jù)服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻點(diǎn)所在數(shù)組下標(biāo)從所述頻點(diǎn)數(shù)組中獲取需要回收的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口狀態(tài)數(shù)組、可用帶寬信息完成頻點(diǎn)回收,具體為:根據(jù)頻點(diǎn)回收請求獲取服務(wù)組標(biāo)識、頻點(diǎn)所在頻點(diǎn)數(shù)組的下標(biāo)、回收帶寬,以及端口信息,以所述服務(wù)組標(biāo)識獲取對應(yīng)的數(shù)組下標(biāo)從服務(wù)組數(shù)組中獲取服務(wù)組結(jié)構(gòu)體,從所述服務(wù)組結(jié)構(gòu)體中的頻點(diǎn)數(shù)組中獲取所述頻點(diǎn)所在頻點(diǎn)數(shù)組的下標(biāo)對應(yīng)的頻點(diǎn)結(jié)構(gòu)體;在所述頻點(diǎn)結(jié)構(gòu)體的端口鏈表中加入新節(jié)點(diǎn)數(shù)據(jù),所述新節(jié)點(diǎn)數(shù)據(jù)為須回收頻點(diǎn)的端口號;在所述頻點(diǎn)結(jié)構(gòu)體的端口狀態(tài)數(shù)組中,將以所述須回收頻點(diǎn)的端口號為下標(biāo)的數(shù)組元素置為可用狀態(tài);將所述頻點(diǎn)結(jié)構(gòu)體的可用帶寬更新為原可用帶寬加上回收帶寬,對所述頻點(diǎn)排序鏈表重新排序。
優(yōu)選地,所述頻點(diǎn)排序鏈表中的節(jié)點(diǎn)數(shù)據(jù)與頻點(diǎn)數(shù)組的下標(biāo)--對應(yīng),所述頻點(diǎn)排序鏈表的順序?yàn)閷?yīng)頻點(diǎn)結(jié)構(gòu)體按照最大剩余帶寬方法進(jìn)行的有序排列。
本發(fā)明實(shí)施例根據(jù)數(shù)字電視互動(dòng)業(yè)務(wù)具備其特定的業(yè)務(wù)交互流程,以及請求中固有的服務(wù)組標(biāo)識、所需帶寬等參數(shù),設(shè)計(jì)一個(gè)適用于該業(yè)務(wù)環(huán)境下IPQAM頻點(diǎn)管理的緩存模型,據(jù)此盡量減低了對系統(tǒng)內(nèi)存的消耗,并基于該緩存模型提出一種快速分配、回收頻點(diǎn)資源的方法,使得頻點(diǎn)的分配與回收具有快速定位優(yōu)先分配以及回收的特點(diǎn)。
本領(lǐng)域技術(shù)人員應(yīng)該理解到,在本申請所提供的幾個(gè)實(shí)施例中,所揭露的裝置,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)模塊或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能模塊、器件可以集成在一個(gè)處理單元中,也可以是各個(gè)模塊單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上模塊集成在一個(gè)集成模塊中。上述模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。
所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
顯而易見,在不偏離本發(fā)明的真實(shí)精神和范圍的前提下,在此描述的本發(fā)明可以有許多變化。因此,所有對于本領(lǐng)域技術(shù)人員來說顯而易見的改變,都應(yīng)包括在本發(fā)明權(quán)利要求書所涵蓋的范圍之內(nèi)。本發(fā)明所要求保護(hù)的范圍由所述的權(quán)利要求書進(jìn)行限定。
權(quán)利要求
1.一種基于緩存模型的邊緣調(diào)制器IPQAM頻點(diǎn)分配方法,其特征在于,所述緩存模型由服務(wù)組數(shù)組構(gòu)成,所述服務(wù)組數(shù)組下標(biāo)與服務(wù)組標(biāo)識為一一對應(yīng),所述服務(wù)組數(shù)組元素為服務(wù)組結(jié)構(gòu)體,所述服務(wù)組結(jié)構(gòu)體包括由該服務(wù)組內(nèi)的頻點(diǎn)所構(gòu)成的頻點(diǎn)數(shù)組以及頻點(diǎn)排序鏈表,所述頻點(diǎn)數(shù)組的元素為頻點(diǎn)結(jié)構(gòu)體,所述頻點(diǎn)結(jié)構(gòu)體包含端口狀態(tài)數(shù)組、可用端口鏈表以及可用帶寬信息;所述頻點(diǎn)分配方法包括: 根據(jù)分配請求中的服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻點(diǎn)排序鏈表從所述頻點(diǎn)數(shù)組中獲取優(yōu)先分配的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口狀態(tài)數(shù)組、可用帶寬信息進(jìn)行頻點(diǎn)分配。
2.根據(jù)權(quán)利要求1的IPQAM頻點(diǎn)分配方法,其特征在于,所述根據(jù)分配請求中的服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻點(diǎn)排序鏈表從所述頻點(diǎn)數(shù)組中獲取優(yōu)先分配的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口狀態(tài)數(shù)組、可用帶寬信息進(jìn)行頻點(diǎn)分配,具體為: 根據(jù)分配請求中的所述服務(wù)組標(biāo)識獲取服務(wù)組數(shù)組下標(biāo),從服務(wù)組數(shù)組中獲取服務(wù)組結(jié)構(gòu)體,從所述服務(wù)組結(jié)構(gòu)體中的頻點(diǎn)排序鏈表固定位置節(jié)點(diǎn)中讀取優(yōu)先分配的頻點(diǎn)數(shù)組的下標(biāo),進(jìn)而從頻點(diǎn)數(shù)組中讀取該下標(biāo)對應(yīng)的頻點(diǎn)結(jié)構(gòu)體; 比較請求帶寬與所述頻點(diǎn)結(jié)構(gòu)體中的可用帶寬大小,如果前者大于后者,則結(jié)束頻點(diǎn)分配;否則,從所述可用端口鏈表獲取一個(gè)端口,并將其節(jié)點(diǎn)從所述可用端口鏈表中移除,將端口狀態(tài)數(shù)組中下標(biāo)為上述端口的數(shù)組元素置為已占用狀態(tài),并且,將所述頻點(diǎn)結(jié)構(gòu)體中的可用帶寬修改為原可用帶寬減去請求帶寬,對所述頻點(diǎn)排序鏈表重新排序; 依據(jù)優(yōu)先分配頻點(diǎn)頻率、分配的端口信息完成頻點(diǎn)分配。
3.根據(jù)權(quán)利要求1-2之 一所述的IPQAM頻點(diǎn)分配方法,其特征在于,所述頻點(diǎn)排序鏈表中的節(jié)點(diǎn)數(shù)據(jù)與頻點(diǎn)數(shù)組的下標(biāo)--對應(yīng),所述頻點(diǎn)排序鏈表的順序?yàn)閷?yīng)頻點(diǎn)結(jié)構(gòu)體按照最大剩余帶寬方法進(jìn)行的有序排列。
4.根據(jù)權(quán)利要求1-2之一所述的IPQAM頻點(diǎn)分配方法,其特征在于,所述頻點(diǎn)結(jié)構(gòu)體包含端口狀態(tài)數(shù)組,其中,所述端口狀態(tài)數(shù)組的數(shù)組元素為端口是否可用的標(biāo)識狀態(tài)信息。
5.根據(jù)權(quán)利要求1-2之一所述的IPQAM頻點(diǎn)分配方法,其特征在于,所述可用端口鏈表中的端口均為可用端口,在分配頻點(diǎn)端口時(shí),將從鏈表的頭部節(jié)點(diǎn)的端口或者其它節(jié)點(diǎn)的端口中選擇的端口用于分配。
6.一種基于緩存模型的IPQAM頻點(diǎn)回收方法,其特征在于,所述緩存模型由服務(wù)組數(shù)組構(gòu)成,所述服務(wù)組數(shù)組下標(biāo)與服務(wù)組標(biāo)識為一一對應(yīng),所述服務(wù)組數(shù)組元素為服務(wù)組結(jié)構(gòu)體,所述服務(wù)組結(jié)構(gòu)體包括由該服務(wù)組內(nèi)的頻點(diǎn)所構(gòu)成的頻點(diǎn)數(shù)組以及頻點(diǎn)排序鏈表,所述頻點(diǎn)數(shù)組的元素為頻點(diǎn)結(jié)構(gòu)體,所述頻點(diǎn)結(jié)構(gòu)體包含端口狀態(tài)數(shù)組、可用端口鏈表以及可用帶寬信息;所述頻點(diǎn)回收方法包括: 根據(jù)服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻點(diǎn)所在數(shù)組下標(biāo)從所述頻點(diǎn)數(shù)組中獲取需要回收的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口狀態(tài)數(shù)組、可用帶寬信息完成頻點(diǎn)回收。
7.根據(jù)權(quán)利要求6的IPQAM頻點(diǎn)回收方法,其特征在于,所述根據(jù)服務(wù)組標(biāo)識快速獲取頻點(diǎn)數(shù)組,并根據(jù)頻點(diǎn)所在數(shù)組下標(biāo)從所述頻點(diǎn)數(shù)組中獲取需要回收的頻點(diǎn)結(jié)構(gòu)體,通過修改、更新頻點(diǎn)結(jié)構(gòu)體中的可用端口鏈表、端口狀態(tài)數(shù)組、可用帶寬信息完成頻點(diǎn)回收,具體為: 根據(jù)頻點(diǎn)回收請求獲取服務(wù)組標(biāo)識、頻點(diǎn)所在頻點(diǎn)數(shù)組的下標(biāo)、回收帶寬,以及端口信息,以所述服務(wù)組標(biāo)識獲取對應(yīng)的數(shù)組下標(biāo)從服務(wù)組數(shù)組中獲取服務(wù)組結(jié)構(gòu)體,從所述服務(wù)組結(jié)構(gòu)體中的頻點(diǎn)數(shù)組中獲取所述頻點(diǎn)所在頻點(diǎn)數(shù)組的下標(biāo)對應(yīng)的頻點(diǎn)結(jié)構(gòu)體; 在所述頻點(diǎn)結(jié)構(gòu)體的端口鏈表中加入新節(jié)點(diǎn)數(shù)據(jù),所述新節(jié)點(diǎn)數(shù)據(jù)為須回收頻點(diǎn)的端口號;在所述頻點(diǎn)結(jié)構(gòu)體的端口狀態(tài)數(shù)組中,將以所述須回收頻點(diǎn)的端口號為下標(biāo)的數(shù)組元素置為可用狀態(tài);將所述頻點(diǎn)結(jié)構(gòu)體的可用帶寬更新為原可用帶寬加上回收帶寬,對所述頻點(diǎn)排序鏈表重新排序。
8.根據(jù)權(quán)利要求6-7之一所述的IPQAM頻點(diǎn)回收方法,其特征在于,所述頻點(diǎn)排序鏈表中的節(jié)點(diǎn)數(shù)據(jù)與頻點(diǎn)數(shù)組的下標(biāo)--對應(yīng),所述頻點(diǎn)排序鏈表的順序?yàn)閷?yīng)頻點(diǎn)結(jié)構(gòu)體按照最大剩余帶寬方 法進(jìn)行的有序排列。
全文摘要
本發(fā)明涉及基于緩存模型的邊緣調(diào)制器IPQAM頻點(diǎn)分配與回收方法,該模型包含服務(wù)組數(shù)組,數(shù)組下標(biāo)與服務(wù)組標(biāo)識一一對應(yīng),數(shù)組元素為服務(wù)組結(jié)構(gòu)體,服務(wù)組結(jié)構(gòu)體包括該服務(wù)組內(nèi)的頻點(diǎn)所構(gòu)成的頻點(diǎn)數(shù)組以及頻點(diǎn)排序鏈表,頻點(diǎn)數(shù)組的元素為頻點(diǎn)結(jié)構(gòu)體,頻點(diǎn)結(jié)構(gòu)體包含端口狀態(tài)數(shù)組、可用端口鏈表,可用帶寬信息。頻點(diǎn)排序鏈表中的節(jié)點(diǎn)數(shù)據(jù)與頻點(diǎn)數(shù)組下標(biāo)一一對應(yīng),所述頻點(diǎn)排序鏈表根據(jù)對應(yīng)頻點(diǎn)進(jìn)行有序排序。本發(fā)明基于緩存模型進(jìn)行頻點(diǎn)分配與回收,所述緩存模型對系統(tǒng)內(nèi)存的消耗較低,并且使得頻點(diǎn)的分配與回收具有快速定位優(yōu)先分配以及回收的特點(diǎn)。
文檔編號H04N21/2385GK103139604SQ20131001264
公開日2013年6月5日 申請日期2013年1月14日 優(yōu)先權(quán)日2013年1月14日
發(fā)明者劉磊, 鞠照明, 鄭艷偉, 彭飛 申請人:中國科學(xué)院聲學(xué)研究所, 北京海力匯通數(shù)字系統(tǒng)技術(shù)有限公司