專利名稱:適用于流媒體的計(jì)費(fèi)實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用技術(shù)領(lǐng)域,涉及遠(yuǎn)程用戶撥號(hào)計(jì)費(fèi)服務(wù)器適用于運(yùn)營(yíng)商用于媒體直播點(diǎn)播的計(jì)費(fèi)服務(wù)器設(shè)計(jì)。
背景技術(shù):
流媒體支持多媒體數(shù)據(jù)流實(shí)時(shí)傳輸和實(shí)時(shí)播放。流媒體技術(shù)被廣泛的應(yīng)用于互聯(lián)網(wǎng)多媒體的新聞發(fā)布,在線直播,網(wǎng)絡(luò)廣告,電子商務(wù),視頻點(diǎn)播,遠(yuǎn)程教育,實(shí)時(shí)視頻會(huì)議等互聯(lián)網(wǎng)的信息服務(wù)的方方面面。流媒體業(yè)務(wù)要走向商業(yè)化,必須有相應(yīng)的運(yùn)營(yíng)支撐,最重要的當(dāng)數(shù)AAA系統(tǒng),其完成和開發(fā)有極其重大的社會(huì)經(jīng)濟(jì)意義。對(duì)于流媒體的增值業(yè)務(wù)提供商來說,AAA系統(tǒng)是持續(xù)運(yùn)營(yíng)的重要環(huán)節(jié),也是其利益的保證。
對(duì)于流媒體用戶,完善地AAA功能和靈活的計(jì)費(fèi)策略是吸引用戶的重要因素。
用戶遠(yuǎn)程撥號(hào)協(xié)議(RADIUS)定義了在網(wǎng)絡(luò)接入服務(wù)器(NAS)和認(rèn)證計(jì)費(fèi)服務(wù)器之間進(jìn)行認(rèn)證授權(quán)和配置信息的協(xié)議,具有安全性好,擴(kuò)展靈活,易于管理,記賬功能強(qiáng)等特點(diǎn)。很多成型的計(jì)費(fèi)運(yùn)營(yíng)系統(tǒng)都采用RADIUS標(biāo)準(zhǔn)協(xié)議用于開發(fā)和設(shè)計(jì)。而作為流媒體業(yè)務(wù)支撐平臺(tái)的計(jì)費(fèi)系統(tǒng),比起其他業(yè)務(wù)的計(jì)費(fèi)系統(tǒng),應(yīng)該具有其自身的特點(diǎn),例如要求支持時(shí)間,流量,等多種計(jì)費(fèi)規(guī)則,要求滿足嚴(yán)格的實(shí)時(shí)性要求,同時(shí)在選擇性,高效性,實(shí)時(shí)性和安全性方面會(huì)提出比電信的計(jì)費(fèi)系統(tǒng)更高的要求。
另一方面,由于IPv4地址的短缺,必將被IPv6網(wǎng)絡(luò)所取代。IPv6除了解決地址短缺的問題之外,還帶來很多新的技術(shù)。中國(guó)正在加速IPv6的進(jìn)程,由國(guó)家發(fā)展改革委員會(huì)監(jiān)管的中國(guó)下一代互聯(lián)網(wǎng)項(xiàng)目,開展了對(duì)IPv6協(xié)議的應(yīng)用研究,許多運(yùn)營(yíng)商,設(shè)備商和研究機(jī)構(gòu)都參與了IPv6應(yīng)用和部署的研究。IPv6替代IPv4成為必然的趨勢(shì)。但是由于IPv4協(xié)議已經(jīng)在全球范圍內(nèi)大規(guī)模的應(yīng)用,成為一個(gè)成熟的協(xié)議,所以由IPv4到IPv6的轉(zhuǎn)變還會(huì)經(jīng)過一個(gè)并存的過渡期。
運(yùn)用RADIUS協(xié)議設(shè)計(jì)流媒體計(jì)費(fèi)系統(tǒng),需要有很多改進(jìn)的地方。RADIUS協(xié)議未對(duì)計(jì)費(fèi)實(shí)時(shí)性提出規(guī)定和要求,流媒體業(yè)務(wù)本身就具有時(shí)限嚴(yán)格,時(shí)間精確的特點(diǎn),因此對(duì)運(yùn)營(yíng)支撐的計(jì)費(fèi)系統(tǒng)也要求能在大量用戶接入的壓力下,滿足時(shí)延的限制,能快速對(duì)用戶的各種計(jì)費(fèi)行為進(jìn)行快速反應(yīng),并保證計(jì)費(fèi)的精確度;RADIUS協(xié)議對(duì)描述整個(gè)計(jì)費(fèi)系統(tǒng)的行為不夠完善,在安全性方面仍然有改進(jìn)的余地;對(duì)于流媒體運(yùn)營(yíng)支撐的計(jì)費(fèi)系統(tǒng),目前還沒有支持IPv4和IPv6網(wǎng)絡(luò)的成型的計(jì)費(fèi)系統(tǒng),需要對(duì)RADIUS協(xié)議進(jìn)行擴(kuò)展。
發(fā)明內(nèi)容
本發(fā)明的目的是為解決上述問題,提出了一種適用于流媒體的計(jì)費(fèi)實(shí)現(xiàn)方法,在支持標(biāo)準(zhǔn)RADIUS協(xié)議的基礎(chǔ)上,可實(shí)現(xiàn)流媒體運(yùn)營(yíng)需求所要求的實(shí)時(shí)計(jì)費(fèi),具有靈活的費(fèi)率,提高了安全性能,且同時(shí)能夠在IPv4和IPv6兩種網(wǎng)絡(luò)環(huán)境下正常運(yùn)行。
本發(fā)明提出的適用于流媒體的計(jì)費(fèi)實(shí)現(xiàn)方法,其特征在于,該方法包括以下步驟1)計(jì)費(fèi)服務(wù)器初始化;2)等待接收RADIUS計(jì)費(fèi)數(shù)據(jù)包,若有數(shù)據(jù)包到達(dá),則轉(zhuǎn)步驟3),否則繼續(xù)等待;3)將接收到的RADIUS計(jì)費(fèi)數(shù)據(jù)包寫入數(shù)據(jù)包隊(duì)列;4)根據(jù)該數(shù)據(jù)包使用的IP地址類型,解析得到RADIUS計(jì)費(fèi)數(shù)據(jù)包的內(nèi)容(即數(shù)據(jù)包的種類,用戶名,NAS服務(wù)器地址,端口和服務(wù)內(nèi)容描述等計(jì)費(fèi)信息);5)根據(jù)RADIUS計(jì)費(fèi)數(shù)據(jù)包的不同類型作相應(yīng)的計(jì)費(fèi)處理,同時(shí)判斷該用戶是否滿足監(jiān)控條件,若滿足則轉(zhuǎn)步驟6),否則轉(zhuǎn)步驟7);6)根據(jù)監(jiān)控流程啟動(dòng)消息進(jìn)行相應(yīng)的監(jiān)控處理;7)發(fā)送計(jì)費(fèi)響應(yīng)包,重復(fù)步驟2)~7)。
本發(fā)明的技術(shù)特點(diǎn)及效果本發(fā)明滿足了作為流媒體RADIUS計(jì)費(fèi)服務(wù)器的性能需求,將數(shù)據(jù)包的接收和處理分開,大大降低了數(shù)據(jù)接受緩存溢出的可能性,同時(shí)提高了緩存讀取數(shù)據(jù)的速度。本發(fā)明的具體的監(jiān)控方法,計(jì)費(fèi)處理方法以及定時(shí)掃描方法保證了計(jì)費(fèi)服務(wù)器實(shí)時(shí)了解用戶的當(dāng)前狀態(tài),對(duì)接入用戶的計(jì)費(fèi)情況有全面的及時(shí)地了解,保證了系統(tǒng)的安全性和完整性。本發(fā)明可達(dá)到以下效果第一、夠?qū)崟r(shí)進(jìn)行計(jì)費(fèi)操作,計(jì)算當(dāng)前用戶的會(huì)話費(fèi)用,并響應(yīng)用戶的開始,中斷和更新計(jì)費(fèi)的指令,計(jì)算的最小粒度至少精確到秒;第二、支持IPv4/IPv6的接入,該方法能在兩種網(wǎng)絡(luò)協(xié)議下正常運(yùn)行;第三、在標(biāo)準(zhǔn)RADIUS協(xié)議的基礎(chǔ)上,增加主動(dòng)通報(bào)要求中斷的功能,能對(duì)用戶透支主動(dòng)做出要求中斷的處理;第四、在支持按時(shí)間和按流量?jī)煞N基本模式的計(jì)費(fèi)的同時(shí),引入折扣策略,提高計(jì)費(fèi)的靈活性,給運(yùn)營(yíng)商提供靈活的費(fèi)率制定機(jī)制。
圖1為本發(fā)明的計(jì)費(fèi)方法主體流程框圖。
圖2為本發(fā)明的處理方法的流程框圖。
圖3為本發(fā)明的監(jiān)控方法流程框圖。
具體實(shí)施例方式
本發(fā)明提出的流媒體系統(tǒng)的計(jì)費(fèi)實(shí)現(xiàn)方法結(jié)合附圖及實(shí)施例詳細(xì)說明如下本發(fā)明的方法總體流程如圖1所示,包括以下步驟1)計(jì)費(fèi)服務(wù)器初始化;2)等待接收RADIUS計(jì)費(fèi)數(shù)據(jù)包,若有數(shù)據(jù)包到達(dá),則轉(zhuǎn)步驟3),否則繼續(xù)等待;3)將接收到的RADIUS計(jì)費(fèi)數(shù)據(jù)包寫入數(shù)據(jù)包隊(duì)列;4)根據(jù)該數(shù)據(jù)包使用的IP地址類型,解析得到RADIUS計(jì)費(fèi)數(shù)據(jù)包的內(nèi)容(即數(shù)據(jù)包的種類,用戶名,NAS服務(wù)器地址,端口和服務(wù)內(nèi)容描述等計(jì)費(fèi)信息);5)根據(jù)RADIUS計(jì)費(fèi)數(shù)據(jù)包的不同類型作相應(yīng)的計(jì)費(fèi)處理,同時(shí)判斷該用戶是否滿足監(jiān)控條件,若滿足則轉(zhuǎn)步驟6),否則轉(zhuǎn)步驟7);6)根據(jù)監(jiān)控流程啟動(dòng)消息進(jìn)行相應(yīng)的監(jiān)控處理;7)發(fā)送計(jì)費(fèi)響應(yīng)包,重復(fù)步驟2)~7)。
上述步驟4)中根據(jù)該數(shù)據(jù)包使用的IP地址類型,解析得到RADIUS計(jì)費(fèi)數(shù)據(jù)包的內(nèi)容的具體實(shí)現(xiàn)方法為本發(fā)明在RADIUS標(biāo)準(zhǔn)協(xié)議中定義的報(bào)文格式的基礎(chǔ)上(該協(xié)議中定義的報(bào)文格式已經(jīng)包含了支持IPv4地址類型的各項(xiàng)屬性)增加了與IPv6地址類型有關(guān)的屬性,使得同時(shí)支持IPv4地址類型和IPv6地址類型的數(shù)據(jù)包;本發(fā)明的RADIUS計(jì)費(fèi)數(shù)據(jù)包的有關(guān)報(bào)文屬性如表1,其中IPv4類型的屬性為協(xié)議原有的,IPv6類型的屬性字段為增加的(表中只列出與地址類型有關(guān)的各項(xiàng)屬性,其他屬性可參見RADIUS標(biāo)準(zhǔn)協(xié)議文檔)表1
因此,在計(jì)費(fèi)服務(wù)器收到數(shù)據(jù)包之后,根據(jù)該數(shù)據(jù)包的IP地址類型是IPv4類型還是IPv6類型,讀取RADIUS計(jì)費(fèi)數(shù)據(jù)包,即可解析得到相應(yīng)類型每項(xiàng)屬性的具體內(nèi)容,例如數(shù)據(jù)包為何種類型,用戶名稱,NAS服務(wù)器的IP地址的值等信息,為下面的計(jì)費(fèi)處理流程所用。
上述步驟5)中計(jì)費(fèi)處理流程,其具體方法如圖2所示,包括以下步驟51)根據(jù)讀取的RADIUS計(jì)費(fèi)數(shù)據(jù)包的類型,如果是計(jì)費(fèi)開始數(shù)據(jù)包,則轉(zhuǎn)步驟52);如果是計(jì)費(fèi)更新數(shù)據(jù)包,則轉(zhuǎn)步驟55),如果是計(jì)費(fèi)結(jié)束數(shù)據(jù)包,則轉(zhuǎn)步驟58)52)查詢?cè)撚?jì)費(fèi)開始數(shù)據(jù)包的用戶是否有余額,若余額不足,則轉(zhuǎn)513),否則轉(zhuǎn)步驟53);53)將該RADIUS計(jì)費(fèi)數(shù)據(jù)包的計(jì)費(fèi)信息作為一項(xiàng)新的計(jì)費(fèi)任務(wù)插入計(jì)費(fèi)任務(wù)列表,該列表為記錄有當(dāng)前所有正在計(jì)費(fèi)的任務(wù),每項(xiàng)計(jì)費(fèi)任務(wù)的信息包括用戶名,計(jì)費(fèi)策略,計(jì)費(fèi)開始時(shí)間,用戶享有的服務(wù)信息,NAS服務(wù)器的IP地址;54)判斷該用戶是否滿足監(jiān)控條件,若是則發(fā)送監(jiān)控流程啟動(dòng)消息并轉(zhuǎn)步驟513),否則直接轉(zhuǎn)步驟513);55)根據(jù)用戶的計(jì)費(fèi)任務(wù)的信息計(jì)算前段時(shí)間產(chǎn)生的費(fèi)用消耗值,并更新用戶余額;56)更新計(jì)費(fèi)任務(wù)列表中該項(xiàng)計(jì)費(fèi)任務(wù)的信息;57)判斷用戶是否滿足監(jiān)控條件,若是則發(fā)送監(jiān)控流程啟動(dòng)消息并轉(zhuǎn)步驟513),否則直接轉(zhuǎn)步驟513);58)將該RADIUS計(jì)費(fèi)結(jié)束數(shù)據(jù)包移出數(shù)據(jù)包隊(duì)列;59)根據(jù)該RADIUS計(jì)費(fèi)結(jié)束數(shù)據(jù)包中用戶的計(jì)費(fèi)信息,計(jì)算計(jì)費(fèi)時(shí)段產(chǎn)生的費(fèi)用消耗值,并更新用戶余額;510)刪除計(jì)費(fèi)任務(wù)列表里的此項(xiàng)計(jì)費(fèi)任務(wù);511)查詢?cè)撚脩粼谟?jì)費(fèi)任務(wù)列表中是否存在其他計(jì)費(fèi)任務(wù),若有則繼續(xù)執(zhí)行步驟513),否則轉(zhuǎn)步驟513);512)判斷用戶是否滿足監(jiān)控條件,若是則發(fā)送監(jiān)控流程啟動(dòng)消息并轉(zhuǎn)步驟513),否則直接轉(zhuǎn)步驟513);513)計(jì)費(fèi)處理結(jié)束。
其中,在步驟54),57)和512)中判斷用戶是否滿足監(jiān)控條件的依據(jù)為當(dāng)用戶的余額小于等于設(shè)定的下限時(shí),則滿足監(jiān)控條件,該用戶需要被監(jiān)控,具體的下限值可以根據(jù)需要自行設(shè)定。
上述步驟53)中所述的計(jì)費(fèi)策略是適用于流媒體服務(wù)這種特定業(yè)務(wù)的計(jì)費(fèi)方法中設(shè)定的費(fèi)用計(jì)算方法。本發(fā)明的費(fèi)用計(jì)算方法包含按時(shí)間和按流量?jī)煞N基本方法,在此基礎(chǔ)上加入片源折扣,用戶碼率折扣和觀看時(shí)段折扣,計(jì)算得到用戶的費(fèi)用消耗值。
若按流量計(jì)費(fèi)時(shí),計(jì)算用戶某段時(shí)間的費(fèi)用消耗公式如下費(fèi)用消耗(流量)=觀看碼率×觀看時(shí)長(zhǎng)×片源折扣×碼率折扣×?xí)r段折扣×基準(zhǔn)費(fèi)率(流量),按時(shí)間計(jì)費(fèi)時(shí),計(jì)算用戶某段時(shí)間的費(fèi)用消耗公式如下費(fèi)用消耗(時(shí)間)=觀看時(shí)長(zhǎng)×片源折扣×?xí)r段折扣×基準(zhǔn)費(fèi)率(時(shí)間)。
其中,觀看碼率已經(jīng)由片源的發(fā)布端規(guī)定了不同片源的碼率值,觀看時(shí)長(zhǎng)可以由用戶的計(jì)費(fèi)信息得到。以上公式中的各個(gè)折扣和每種方法的基準(zhǔn)費(fèi)率的數(shù)值是常量。片源折扣是根據(jù)不同流媒體服務(wù)的內(nèi)容設(shè)定不同的折扣;碼率折扣是根據(jù)流媒體用戶觀看流媒體節(jié)目的碼率設(shè)定不同的折扣;時(shí)段折扣是根據(jù)一天中流媒體用戶觀看流媒體節(jié)目的不同時(shí)段設(shè)定不同的折扣;流量計(jì)費(fèi)方法的基準(zhǔn)費(fèi)率表示1比特每秒需要收取的費(fèi)用;時(shí)間計(jì)費(fèi)方法的基準(zhǔn)費(fèi)率表示1秒需要收取的費(fèi)用。對(duì)于以上幾個(gè)折扣合基準(zhǔn)費(fèi)率的具體數(shù)值,可以根據(jù)實(shí)際運(yùn)營(yíng)需要設(shè)定。
上述步驟6)中的監(jiān)控處理流程是針對(duì)流媒體計(jì)費(fèi)的實(shí)時(shí)性,安全性的需求,對(duì)余額不足的用戶進(jìn)行監(jiān)控。該步驟的實(shí)現(xiàn)流程如圖3所示,包括以下具體步驟61)查看監(jiān)控任務(wù)列表是否溢出,若是則設(shè)定該用戶為等待監(jiān)控狀態(tài)且轉(zhuǎn)步驟65),否則設(shè)定該用戶為監(jiān)控狀態(tài)且轉(zhuǎn)步驟62);62)將需要監(jiān)控的計(jì)費(fèi)用戶加入監(jiān)控任務(wù)列表,定時(shí)更新該用戶余額;63)若用戶出現(xiàn)費(fèi)用透支,刪除計(jì)費(fèi)任務(wù)列表和監(jiān)控任務(wù)列表中該用戶的記錄;64)發(fā)送中斷消息數(shù)據(jù)包給NAS服務(wù)器,結(jié)束該用戶的計(jì)費(fèi)過程,并要求NAS服務(wù)器停止服務(wù);65)監(jiān)控處理結(jié)束。
上述步驟中所述的監(jiān)控任務(wù)列表記錄的信息包括當(dāng)前所有正在監(jiān)控的任務(wù),每項(xiàng)任務(wù)信息包括用戶名,計(jì)費(fèi)策略,計(jì)費(fèi)開始時(shí)間,用戶享有的服務(wù)名稱,NAS服務(wù)器的IP地址和用戶余額。
本發(fā)明對(duì)所有接入流媒體系統(tǒng)的用戶設(shè)有三種監(jiān)控狀態(tài),當(dāng)用戶不滿足監(jiān)控條件(見上述監(jiān)控條件說明)時(shí)該用戶處于未被監(jiān)控狀態(tài);當(dāng)用戶滿足監(jiān)控條件但是監(jiān)控任務(wù)列表滿時(shí)用戶處于等待監(jiān)控狀態(tài);當(dāng)用戶滿足監(jiān)控條件且監(jiān)控任務(wù)列表未滿時(shí)用戶出于監(jiān)控狀態(tài);當(dāng)用戶余額小于等于設(shè)定的下限且監(jiān)控任務(wù)列表滿時(shí),用戶處于等待監(jiān)控狀態(tài)。
采用本方法一旦用戶出現(xiàn)透支,則由計(jì)費(fèi)服務(wù)器向NAS服務(wù)器發(fā)送中斷請(qǐng)求數(shù)據(jù)包,這種處理方式是在保持原有RADIUS框架不變的基礎(chǔ)上的一種改進(jìn)。中斷請(qǐng)求數(shù)據(jù)包仍然使用RADIUS計(jì)費(fèi)數(shù)據(jù)包的格式,只是在數(shù)據(jù)包種類的屬性ACCT-Status-Type中規(guī)定,當(dāng)該屬性值為“Interupt”時(shí),指示該RADIUS計(jì)費(fèi)數(shù)據(jù)包為中斷處理數(shù)據(jù)包。本發(fā)明提出一種適用于流媒體的計(jì)費(fèi)實(shí)現(xiàn)方法實(shí)施例,該實(shí)施例支持IPv4和IPv6協(xié)議接入的,基于RADIUS協(xié)議的流媒體計(jì)費(fèi)服務(wù)器,該實(shí)施例詳細(xì)說明如下本實(shí)施例通過接入流媒體用戶,點(diǎn)擊點(diǎn)播或者直播流媒體片源,開始計(jì)費(fèi)流程,所有操作都是由計(jì)費(fèi)服務(wù)器完成。
本實(shí)施例的計(jì)費(fèi)服務(wù)器配置CPUIntel P4 1.6G內(nèi)存512M操作系統(tǒng)Fedora 4.0計(jì)費(fèi)服務(wù)器IPv4地址166.111.72.22計(jì)費(fèi)服務(wù)器IPv6地址fe80::20b:abff:fe05:41b3監(jiān)控條件用戶余額下限值20播放節(jié)目Allforyou.mp4(一部電影)計(jì)費(fèi)策略如表2所示表2
本實(shí)施例的計(jì)費(fèi)流程的包括以下步驟1)啟動(dòng)計(jì)費(fèi)服務(wù)器;2)在22:30分收到第一個(gè)RADIUS計(jì)費(fèi)數(shù)據(jù)包,本實(shí)施例把該數(shù)據(jù)包標(biāo)識(shí)編號(hào)1(僅為方便說明),并放入數(shù)據(jù)包隊(duì)列;3)解析得到該數(shù)據(jù)包的內(nèi)容如下RADIUS計(jì)費(fèi)數(shù)據(jù)包1ACCT-Status-Type=″Start″//計(jì)費(fèi)開始數(shù)據(jù)包User-Name=″No01″//用戶名NAS-IP-Address=″166.111.74.23″//NAS服務(wù)器IP地址NAS-Port=″378″//NAS服務(wù)器端口
ACCT-Session-ID=″96776″//該計(jì)費(fèi)用戶該項(xiàng)計(jì)費(fèi)內(nèi)容的唯一標(biāo)識(shí)片源=Allforyou.mp4″碼率=2004)查詢數(shù)據(jù)包1對(duì)應(yīng)的用戶“No01”的余額為3000;5)將數(shù)據(jù)包1的計(jì)費(fèi)信息添加入計(jì)費(fèi)任務(wù)列表,如表3所示,因?yàn)榉?wù)器啟動(dòng)之后該數(shù)據(jù)包為第一個(gè)計(jì)費(fèi)數(shù)據(jù)包,所以此時(shí)計(jì)費(fèi)任務(wù)列表中僅有此一項(xiàng)的信息表3
6)判斷該用戶不滿足監(jiān)控條件,則發(fā)回RADIUS計(jì)費(fèi)數(shù)據(jù)包1的響應(yīng)包;7)在22:35分收到第二個(gè)RADIUS計(jì)費(fèi)數(shù)據(jù)包,編號(hào)為2,并放入數(shù)據(jù)包隊(duì)列;8)解析得到該數(shù)據(jù)包的內(nèi)容如下RADIUS計(jì)費(fèi)數(shù)據(jù)包2ACCT-Status-Type=”Start”//計(jì)費(fèi)開始數(shù)據(jù)包User-Name=”No02”//用戶名NAS-IP-Address=”fe80::20b:ab03::41b3”//NAS服務(wù)器IP地址NAS-Port=″379″//NAS服務(wù)器端口ACCT-Session-ID=″98357″//該計(jì)費(fèi)用戶該項(xiàng)計(jì)費(fèi)內(nèi)容的唯一標(biāo)識(shí)片源=Allforyou.mp4″碼率=3009)查詢數(shù)據(jù)包2對(duì)應(yīng)的用戶“No02”的余額為10;10)將數(shù)據(jù)包2的計(jì)費(fèi)信息添加入計(jì)費(fèi)任務(wù)列表,此時(shí)服務(wù)器的計(jì)費(fèi)任務(wù)列表如表4所示表4
11)判斷用戶No02滿足監(jiān)控條件,通知給監(jiān)控線程要求監(jiān)控;12)添加用戶No02的信息到監(jiān)控任務(wù)列表中,此時(shí)監(jiān)控任務(wù)列表如如表5所示表5
13)發(fā)回RADIUS計(jì)費(fèi)數(shù)據(jù)包2的回應(yīng)包;14)在22:40分收到第三個(gè)RADIUS計(jì)費(fèi)數(shù)據(jù)包,編號(hào)為3,放入數(shù)據(jù)包隊(duì)列;15)解析得到該數(shù)據(jù)包的內(nèi)容如下RADIUS計(jì)費(fèi)數(shù)據(jù)包3ACCT-Status-Type=”Interim-Update”//計(jì)費(fèi)更新數(shù)據(jù)包
User-Name=”No01”//用戶名NAS-IP-Address=”166.111.74.23”//NAS服務(wù)器IP地址NAS-Port=″378″//NAS服務(wù)器端口ACCT-Session-ID=″96776″//該計(jì)費(fèi)用戶該項(xiàng)計(jì)費(fèi)內(nèi)容的唯一標(biāo)識(shí),與No01用戶的開始包對(duì)應(yīng),表示為該用戶的該項(xiàng)計(jì)費(fèi)任務(wù)片源=Allforyou.mp4″碼率=30016)計(jì)算用戶No01在前段時(shí)間產(chǎn)生的費(fèi)用,并更新用戶余額費(fèi)用消耗=10*60*0.9*0.9*1.0*0.02=9.72更新用戶No01的余額為3000-9.72=2990.2817)更新計(jì)費(fèi)任務(wù)列表中用戶No01的信息,此時(shí)的計(jì)費(fèi)任務(wù)列表內(nèi)容如表7所示表7
18)判斷該用戶不滿足監(jiān)控條件,直接發(fā)回計(jì)費(fèi)響應(yīng)包;19)在22:45分收到第四個(gè)RADIUS計(jì)費(fèi)數(shù)據(jù)包,編號(hào)為3,放入數(shù)據(jù)包隊(duì)列;20)解析得到該數(shù)據(jù)包的內(nèi)容如下RADIUS計(jì)費(fèi)數(shù)據(jù)包4ACCT-Status-Type=”Stop”//計(jì)費(fèi)結(jié)束數(shù)據(jù)包User-Name=”No01”//用產(chǎn)名NAS-IP-Address=”166.111.74.23”//NAS服務(wù)器IP地址NAS-Port=″378″//NAS服務(wù)器端口ACCT-Session-ID=″96776″//該計(jì)費(fèi)用戶該項(xiàng)計(jì)費(fèi)內(nèi)容的唯一標(biāo)識(shí),與No01用戶的開始包對(duì)應(yīng),表示為該用戶的該項(xiàng)計(jì)費(fèi)任務(wù)21)將數(shù)據(jù)包4移出數(shù)據(jù)包隊(duì)列,并計(jì)算用戶No01的余額如下費(fèi)用消耗=5*60*0.9*0.9*0.9*0.02=4.37更新用戶No01的余額為2990.28-4.37=2985.9122)刪除用戶在計(jì)費(fèi)任務(wù)列表中的信息,發(fā)回計(jì)費(fèi)響應(yīng)數(shù)據(jù)包。
權(quán)利要求
1.一種適用于流媒體的計(jì)費(fèi)實(shí)現(xiàn)方法,其特征在于,該方法包括以下步驟1)計(jì)費(fèi)服務(wù)器初始化;2)等待接收RADIUS計(jì)費(fèi)數(shù)據(jù)包,若有數(shù)據(jù)包到達(dá),則轉(zhuǎn)步驟3),否則繼續(xù)等待;3)將接收到的RADIUS計(jì)費(fèi)數(shù)據(jù)包寫入數(shù)據(jù)包隊(duì)列;4)根據(jù)該數(shù)據(jù)包使用的IP地址類型,解析得到RADIUS計(jì)費(fèi)數(shù)據(jù)包的內(nèi)容;5)根據(jù)RADIUS計(jì)費(fèi)數(shù)據(jù)包的不同類型作相應(yīng)的計(jì)費(fèi)處理,同時(shí)判斷該用戶是否滿足監(jiān)控條件,若滿足則轉(zhuǎn)步驟6),否則轉(zhuǎn)步驟7);6)根據(jù)監(jiān)控流程啟動(dòng)消息進(jìn)行相應(yīng)的監(jiān)控處理;7)發(fā)送計(jì)費(fèi)響應(yīng)包,重復(fù)步驟2)~7)。
2.如權(quán)利要求1所述的方法,其特征在于,所步驟4)中根據(jù)該數(shù)據(jù)包使用的IP地址類型,解析得到RADIUS計(jì)費(fèi)數(shù)據(jù)包的內(nèi)容的具體實(shí)現(xiàn)方法為在RADIUS標(biāo)準(zhǔn)協(xié)議中定義的報(bào)文格式的基礎(chǔ)上增加與IPv6地址類型有關(guān)的屬性;在計(jì)費(fèi)服務(wù)器收到數(shù)據(jù)包之后,根據(jù)該數(shù)據(jù)包的IP地址類型是IPv4類型還是IPv6類型,讀取RADIUS計(jì)費(fèi)數(shù)據(jù)包,即可解析得到相應(yīng)類型每項(xiàng)屬性的具體內(nèi)容。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟5)中計(jì)費(fèi)處理流程的具體方法,包括以下步驟51)根據(jù)讀取的RADIUS計(jì)費(fèi)數(shù)據(jù)包的類型,如果是計(jì)費(fèi)開始數(shù)據(jù)包,則轉(zhuǎn)步驟52);如果是計(jì)費(fèi)更新數(shù)據(jù)包,則轉(zhuǎn)步驟55),如果是計(jì)費(fèi)結(jié)束數(shù)據(jù)包,則轉(zhuǎn)步驟58)52)查詢?cè)撚?jì)費(fèi)開始數(shù)據(jù)包的用戶是否有余額,若余額不足,則轉(zhuǎn)513),否則轉(zhuǎn)步驟53);53)將該RADIUS計(jì)費(fèi)數(shù)據(jù)包的計(jì)費(fèi)信息作為一項(xiàng)新的計(jì)費(fèi)任務(wù)插入計(jì)費(fèi)任務(wù)列表,該列表為記錄有當(dāng)前所有正在計(jì)費(fèi)的任務(wù),每項(xiàng)計(jì)費(fèi)任務(wù)的信息包括用戶名,計(jì)費(fèi)策略,計(jì)費(fèi)開始時(shí)間,用戶享有的服務(wù)信息和NAS服務(wù)器的IP地址;54)判斷該用戶是否滿足監(jiān)控條件,若是則發(fā)送監(jiān)控流程啟動(dòng)消息并轉(zhuǎn)步驟513),否則直接轉(zhuǎn)步驟513);55)根據(jù)用戶的計(jì)費(fèi)任務(wù)的信息計(jì)算前段時(shí)間產(chǎn)生的費(fèi)用消耗值,并更新用戶余額;56)更新計(jì)費(fèi)任務(wù)列表中該項(xiàng)計(jì)費(fèi)任務(wù)的信息;57)判斷用戶是否滿足監(jiān)控條件,若是則發(fā)送監(jiān)控流程啟動(dòng)消息并轉(zhuǎn)步驟513),否則直接轉(zhuǎn)步驟513);58)將該RADIUS計(jì)費(fèi)結(jié)束數(shù)據(jù)包移出數(shù)據(jù)包隊(duì)列;59)根據(jù)該RADIUS計(jì)費(fèi)結(jié)束數(shù)據(jù)包中用戶的計(jì)費(fèi)信息,計(jì)算計(jì)費(fèi)時(shí)段產(chǎn)生的費(fèi)用消耗值,并更新用戶余額;510)刪除計(jì)費(fèi)任務(wù)列表里的此項(xiàng)計(jì)費(fèi)任務(wù);511)查詢?cè)撚脩粼谟?jì)費(fèi)任務(wù)列表中是否存在其他計(jì)費(fèi)任務(wù),若有則繼續(xù)執(zhí)行步驟512),否則轉(zhuǎn)步驟513);512)判斷用戶是否滿足監(jiān)控條件,若是則發(fā)送監(jiān)控流程啟動(dòng)消息并轉(zhuǎn)步驟513),否則直接轉(zhuǎn)步驟513);513)計(jì)費(fèi)處理結(jié)束。
4.如權(quán)利要求3所述方法,其特征在于,上述步驟54)中所述的計(jì)費(fèi)策略是適用于流媒體服務(wù)這種特定業(yè)務(wù)的計(jì)費(fèi)方法中設(shè)定的費(fèi)用計(jì)算方法。本發(fā)明的費(fèi)用計(jì)算方法包含按時(shí)間和按流量?jī)煞N基本方法,在此基礎(chǔ)上加入片源折扣,用戶碼率折扣和觀看時(shí)段折扣,計(jì)算得到用戶的費(fèi)用消耗值;若按流量計(jì)費(fèi)時(shí),計(jì)算用戶某段時(shí)間的費(fèi)用消耗公式如下費(fèi)用消耗(流量)=觀看碼率×觀看時(shí)長(zhǎng)×片源折扣×碼率折扣×?xí)r段折扣×基準(zhǔn)費(fèi)率(流量),按時(shí)間計(jì)費(fèi)時(shí),計(jì)算用戶某段時(shí)間的費(fèi)用消耗公式如下費(fèi)用消耗(時(shí)間)=觀看時(shí)長(zhǎng)×片源折扣×?xí)r段折扣×基準(zhǔn)費(fèi)率(時(shí)間)。
5.如權(quán)利要求1所述方法,其特征在于,所述步驟6)中的監(jiān)控處理方法,具體包括以下步驟61)查看監(jiān)控任務(wù)列表是否溢出,若是則設(shè)定該用戶為等待監(jiān)控狀態(tài)且轉(zhuǎn)步驟65),否則設(shè)定該用戶為監(jiān)控狀態(tài)且轉(zhuǎn)步驟62);62)將需要監(jiān)控的計(jì)費(fèi)用戶加入監(jiān)控任務(wù)列表,定時(shí)更新該用戶余額;63)若用戶出現(xiàn)費(fèi)用透支,刪除計(jì)費(fèi)任務(wù)列表和監(jiān)控任務(wù)列表中該用戶的記錄;64)發(fā)送中斷消息數(shù)據(jù)包給NAS服務(wù)器,結(jié)束該用戶的計(jì)費(fèi)過程,并要求NAS服務(wù)器停止服務(wù);65)監(jiān)控處理結(jié)束。
全文摘要
本發(fā)明涉及適用于流媒體的計(jì)費(fèi)實(shí)現(xiàn)方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用技術(shù)領(lǐng)域,該方法包括計(jì)費(fèi)服務(wù)器初始化;等待接收RADIUS計(jì)費(fèi)數(shù)據(jù)包,若有數(shù)據(jù)包到達(dá),將接收到的RADIUS計(jì)費(fèi)數(shù)據(jù)包寫入數(shù)據(jù)包隊(duì)列;根據(jù)該數(shù)據(jù)包使用的IP地址類型,解析得到RADIUS計(jì)費(fèi)數(shù)據(jù)包的內(nèi)容;不同類型作相應(yīng)的計(jì)費(fèi)處理,并根據(jù)該用戶的監(jiān)控狀態(tài)進(jìn)行相應(yīng)的監(jiān)控處理。本發(fā)明在支持標(biāo)準(zhǔn)RADIUS協(xié)議的基礎(chǔ)上,可實(shí)現(xiàn)流媒體運(yùn)營(yíng)需求所要求的實(shí)時(shí)計(jì)費(fèi),具有靈活的費(fèi)率,提高了安全性能,且同時(shí)能夠在IPv4和IPv6兩種網(wǎng)絡(luò)環(huán)境下正常運(yùn)行。
文檔編號(hào)H04L12/14GK101022532SQ20071006444
公開日2007年8月22日 申請(qǐng)日期2007年3月16日 優(yōu)先權(quán)日2007年3月16日
發(fā)明者戴瓊海, 陳燕軍 申請(qǐng)人:清華大學(xué)