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

一種定時器管理模塊的制作方法

文檔序號:7852509閱讀:237來源:國知局
專利名稱:一種定時器管理模塊的制作方法
技術領域
本發(fā)明涉及通信技術領域,具體地,涉及一種定時器管理模塊。
背景技術
服務質(zhì)量(Quality of Service,簡稱QoS),是網(wǎng)絡的一種安全機制,是用來解決網(wǎng)絡延遲和阻塞等問題的一種技術。在正常情況下,如果網(wǎng)絡只用于特定的無時間限制的應用系統(tǒng),并不需要QoS,比如Web應用、或E-mail設置等。但是,對關鍵應用和多媒體應用就十分必要,例如,當網(wǎng)絡過載或擁塞時,QoS能確保重要業(yè)務量不受延遲或丟棄,同時保證網(wǎng)絡的高效運行。可見,QoS是現(xiàn)代網(wǎng)絡之間互連的協(xié)議(Internet Protocol,簡稱IP,中文簡稱為“網(wǎng)協(xié)”,也就是為計算機網(wǎng)絡相互連接進行通信而設計的協(xié)議)網(wǎng)絡設備的重要的功能,典型的QoS功能包括數(shù)據(jù)報文的調(diào)度和數(shù)據(jù)流的整形(shaping)。在QoS的數(shù)據(jù)流整形功能中,定時器是實現(xiàn)平滑和限制QoS數(shù)據(jù)流整形功能的必要資源。QoS的數(shù)據(jù)流整形功能涉及大量的運算,相比于軟件QoS實現(xiàn)數(shù)據(jù)流整形功能而言,硬件QoS —般可以提供更快的報文處理速度。隨著網(wǎng)絡處理器能力的發(fā)展和并行多核CPU技術的提高,軟件QoS不僅可以和硬件QoS媲美,同時具有成本低和使用靈活等優(yōu)點。不同于一般網(wǎng)絡協(xié)議的定時溢出要求,軟件QoS所需定時器的要求包括⑴精度高,定時分辨率可以到50-100us ;(2)數(shù)量大,可能同時需要幾萬個定時器;(3)操作速度快,定時器操作要盡量小地影響網(wǎng)絡設備端口的吞吐量。這些要求,使得定時器在軟件QoS環(huán)境下的實現(xiàn)極具挑戰(zhàn)性。在上述定時器管理技術中,一般包括四種操作,即創(chuàng)建定時器、刪除定時器、定時器溢出檢查和定時器溢出處理。其中,在定時器溢出處理操作中,當定時器溢出后,通常的處理方式是調(diào)用提前設置好的回調(diào)函數(shù),基本不涉及管理開銷;另外三種操作(即創(chuàng)建定時器、刪除定時器與定時器溢出檢查),都希望速度越快越好。由于軟件QoS所需定時器的數(shù)量較大,難免占用較多的內(nèi)存空間。另外,軟件QoS所需定時器一般采用單時間輪的管理方式,在單時間輪的定時器管理操作中,定時器溢出檢查花費的時間較長;并且,采用單時間輪的管理方式,除了可以實現(xiàn)線性查找外,沒有辦法區(qū)分當前槽內(nèi)事件應該現(xiàn)在處理或是在將來的輪回中處理。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在占用內(nèi)存空間大、溢出檢查時間長與難以確定當前活躍事件的處理時機等缺陷。

發(fā)明內(nèi)容
本發(fā)明的目的在于,針對上述問題,提出一種定時器管理模塊,至少可以應用于軟件QoS與網(wǎng)絡數(shù)據(jù)流定時溢出管理等方面,以實現(xiàn)占用內(nèi)存空間小、溢出檢查時間短、擴展性強、以及易確定當前活躍事件的處理時機的優(yōu)點。為實現(xiàn)上述目的,本發(fā)明采用的技術方案是一種定時器管理模塊,包括處理事件、的緊急程序自前至后依次降低、且包含的時間單位自前至后依次增大的多級時間輪;在所述多級時間輪中,后級時間輪的始端,掛接在與該后級時間輪相鄰的前級時間輪的末端。進一步地,所述多級時間輪,至少包括依次掛接的第一級時間輪、第二級時間輪與第三級時間輪,其中
所述第一級時間輪,用于采用單時間輪結(jié)構(gòu),對當前活躍的短定時事件,根據(jù)預先設定的緊急程序進行處理;
所述第二級時間輪,用于采用復合時間輪結(jié)構(gòu),對當前等待的短定時事件處理時機的緊急程序進行排布;并在相應短定時事件的處理時機到來時,將該相應短定時事件前移至第一級時間輪,根據(jù)第一級時間輪中預先設定的緊急程序進行處理;
所述第三級時間輪,用于采用單時間輪結(jié)構(gòu),對當前等待的長定時事件,根據(jù)預先設定的緊急程序依次遷移至第二級時間輪及第一級時間輪,根據(jù)第一級時間輪中預先設定的緊 急程序進行處理。進一步地,所述第一級時間輪,包括構(gòu)成單時間輪結(jié)構(gòu)、且分別對應定時器的分辨率時間單位的第I至第256時間槽,所述第I至第256時間槽的索引依次為0-255。進一步地,在所述第I至第256時間槽中每個時間槽的下方,均掛接有與相應時間槽對應、且通過鏈表連接的定時事件。進一步地,所述第二級時間輪,包括構(gòu)成復合時間輪結(jié)構(gòu)的主時間輪,以及分別與所述主時間輪中每個時間槽對應、且依次掛接在所述主時間輪中多個時間槽下方的多個子時間輪。
進一步地,所述主時間輪,包括索引依次為0-63的第I至第64時間槽;所述主時間輪中的第I時間槽,與第一級時間輪的第256時間槽掛接;
所述多個子時間輪,包括依次掛接在第I至第64時間槽下方的第I至第64子時間輪。進一步地,在所述第I至第64子時間輪中,每個子時間輪的結(jié)構(gòu)與第一級時間輪的結(jié)構(gòu)相同,即每個子時間輪包括索引依次為0-255的第I至第256時間槽。進一步地,在所述第I至第256時間槽中每個時間槽的下方,均掛接有與相應時間槽對應、且通過鏈表連接的定時事件。進一步地,所述第三級時間輪,包括構(gòu)成單時間輪結(jié)構(gòu)的第I至第64時間槽,所述第I至第64時間槽的索引依次為0-63 ;所述第三級時間輪的第I時間槽,與第二級時間輪中主時間輪的第64時間槽掛接。進一步地,在所述第I至第64時間槽中每個時間槽的下方,均掛接有與相應時間 槽對應的定時事件鏈;
與所述第I至第64時間槽對應的第I至第64定時事件鏈,用于在相應的處理時機到來時,根據(jù)預設的緊急程序前移至第二級時間輪中對應的子時間輪中,再根據(jù)第一級時間輪中預設的緊急程序進行處理。本發(fā)明各實施例的定時器管理模塊,由于包括處理事件的緊急程序自前至后依次降低、且包含的時間單位自前至后依次增大的多級時間輪;在多級時間輪中,后級時間輪的始端,掛接在與該后級時間輪相鄰的前級時間輪的末端;與單時間輪實現(xiàn)的定時器管理相t匕,可以節(jié)省定時器溢出檢查花費的時間,并可以克服單時間輪實現(xiàn)時除了線性查找外沒有辦法區(qū)分當前槽內(nèi)事件應該現(xiàn)在處理或是在將來的輪回中處理的問題;與純復合時間輪實現(xiàn)的定時器管理相比,可以節(jié)省內(nèi)存空間,因為三級以上不是復合結(jié)構(gòu);并且與軟件QoS用定時器的特點相配合,設置的長定時時間較少;從而可以克服現(xiàn)有技術中占用內(nèi)存空間大、溢出檢查時間長與難以確定當前活躍事件的處理時機的缺陷,以實現(xiàn)占用內(nèi)存空間小、溢出檢查時間短、擴展性強、以及易確定當前活躍事件的處理時機的優(yōu)點。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。


附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中 圖I為根據(jù)本發(fā)明定時器管理模塊的工作原理示意圖。結(jié)合附圖,本發(fā)明實施例中附圖標記如下
I-第一級時間輪;101_第I時間槽;2_第二級時間輪;200_主時間輪;202_第2子時間輪;264_第64子時間輪;3_第三級時間輪。
具體實施例方式以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。根據(jù)本發(fā)明實施例,提供了一種定時器管理模塊。本實施例處理事件的緊急程序自前至后依次降低、且包含的時間單位自前至后依次增大的多級時間輪;在多級時間輪中,后級時間輪的始端,掛接在與該后級時間輪相鄰的前級時間輪的末端。這里,該定時器管理模塊,由于考慮到軟件QoS用定時器的數(shù)量較大的特點、以及大部分定時時間比較短(比如小于Is)的特殊性,設置多級時間輪,可以在內(nèi)存占用量上根據(jù)實際需要,靈活調(diào)整(相應地增加或減少)多級時間輪的數(shù)量,使得該定時器管理模塊在結(jié)構(gòu)上不占用過多的內(nèi)存空間、且具有合理的規(guī)模擴展性,達到處理速度快與適度利用內(nèi)存空間的有益效果。上述實施例的定時器管理模塊,可以由三級時間輪或更多級時間輪組成。如圖I所示,上述多級時間輪,至少可以包括依次掛接的第一級時間輪(如第一級時間輪I)、第二級時間輪(如第二級時間輪2)與第三級時間輪(如第三級時間輪3),即,第三級時間輪的始端掛接在第二級時間輪的末端,第二級時間輪的始端掛接在第一級時間輪的末端;其中
第一級時間輪,用于采用單時間輪結(jié)構(gòu),對當前活躍的短定時事件,根據(jù)預先設定的緊急程序進行處理;
第二級時間輪,用于采用復合時間輪結(jié)構(gòu),對當前等待的短定時事件處理時機的緊急程序進行排布;并在相應短定時事件的處理時機到來時,將該相應短定時事件前移至第一級時間輪,根據(jù)第一級時間輪中預先設定的緊急程序進行處理;
第三級時間輪,用于采用單時間輪結(jié)構(gòu),對當前等待的長定時事件,根據(jù)預先設定的緊急程序依次遷移至第二級時間輪及第一級時間輪,根據(jù)第一級時間輪中預先設定的緊急程序進行處理。
具體地,上述第一級時間輪,包括構(gòu)成單時間輪結(jié)構(gòu)、且分別對應定時器的分辨率時間單位的第I至第256時間槽(如第I時間槽101),第I至第256時間槽的索引依次為0-255(為與計算機科學中二進制計數(shù)一致,每個時間輪中時間槽索引從0開始,如0-255代表256個時間槽)。在該第I至第256時間槽中每個時間槽的下方,均掛接有與相應時間槽對應、且通過鏈表連接的定時事件。這里,第一級時間輪時當前活躍的時間輪,由0-255共256個時間槽組成,每個時間槽對應定時器的分辨率時間單位,每個時間槽下掛有通過鏈表連接的定時事件,第0時間槽對應的定時事件是當前要處理的時間溢出事件。該第一級時間輪作為當前活躍的時間輪,在該當前活躍的時間輪中包含了與當前時間最接近的時間(即最近的時間),當前時間也包含在該當前活躍的時間輪中某個時間槽(即當前時間槽)中;如果該當前時間槽中包含等待的定時事件,那么該等待的定時事件應對立即被處理。
上述第二級時間輪,包括構(gòu)成復合時間輪結(jié)構(gòu)的主時間輪(如主時間輪200),以及分別與主時間輪中每個時間槽對應、且依次掛接在主時間輪中多個時間槽下方的多個子時間輪。這里,第二級時間輪采用復合結(jié)構(gòu),是復合時間輪,包括一個主時間輪和多個子時間輪,主時間輪的每個時間槽可能存在一個子時間輪。例如,上述第二級時間輪中的主時間輪,可以包括索引依次為0-63的第I至第64時間槽;主時間輪中的第I時間槽,與第一級時間輪的第256時間槽掛接;對應地,上述第二級時間輪中的多個子時間輪,包括依次掛接在第I至第64時間槽下方的第I至第64子時間輪(如第2子時間輪202,第64子時間輪264)。在該第I至第64子時間輪中,每個子時間輪的結(jié)構(gòu)與第一級時間輪的結(jié)構(gòu)相同,即每個子時間輪包括索引依次為0-255的第I至第256時間槽。在該第I至第256時間槽中每個時間槽的下方,均掛接有與相應時間槽對應、且通過鏈表連接的定時事件。這里,第二級時間輪是復合時間輪,其中主時間輪由0-63共64個時間槽組成,每個時間槽對應一個像第一級一樣的子時間輪,也可以把第一級時間輪看作是第二級時間輪的一個子輪;第二級時間輪共代表256X64個時間單位;主時間輪上第i時間槽對應的從輪的第j時間槽上的定時事件要在從現(xiàn)在開始第256i+j個時間單位得到處理;i = O、I、…、63、j = 0,1、2、…、255。上述第三級時間輪,可以包括構(gòu)成單時間輪結(jié)構(gòu)的第I至第64時間槽,第I至第64時間槽的索引依次為0-63 ;第三級時間輪的第I時間槽,與第二級時間輪中主時間輪的第64時間槽掛接。在該第I至第64時間槽中每個時間槽的下方,均掛接有與相應時間槽對應的定時事件鏈;與第I至第64時間槽對應的第I至第64定時事件鏈,用于在相應的處理時機到來時,根據(jù)預設的緊急程序前移至第二級時間輪中對應的子時間輪中,再根據(jù)第一級時間輪中預設的緊急程序進行處理。這里,第三級時間輪沒有子時間輪,也有0-63共64個時間槽,代表256X64X64個時間單位,每個時間槽代表256X64個時間單位;每個時間槽掛有對應該時間槽的定時事件鏈,這些定時事件鏈中的定時事件,將來(即相應定時事件的處理時機到來時)在被處理前要移到第二級時間輪的相應子時間輪中。上述實施例的定時器管理模塊,與現(xiàn)有技術中的單時間輪實現(xiàn)方式相比,可以節(jié)省定時溢出檢測時間,且不存在單時間輪實現(xiàn)除了線性查找外沒有辦法區(qū)分當前槽內(nèi)事件應該現(xiàn)在處理或是在將來的輪回中處理的問題;與現(xiàn)有技術中純復合時間輪實現(xiàn)方式相t匕,可以節(jié)省內(nèi)存空間,因為三級時間輪以上的結(jié)構(gòu)不是復合時間結(jié)構(gòu)。另外,上述實施例的定時器管理模塊,充分考慮了軟件用QoS定時器的特點,使長定時時間較少;該定時器管理模塊,也適合于與位圖技術結(jié)合(用位圖數(shù)據(jù)結(jié)構(gòu)中一位標記是否某個時間槽內(nèi)有等待事件,如果時間槽為空,即沒有等待事件,利用位圖算法很快地跳過這些空槽),從而很快地跳過沒有定時事件的時間槽。綜上所述,本發(fā)明各實施例的定時器管理模塊,至少具有以下特點
⑴創(chuàng)建定時器時間復雜度為0(1):時間復雜度較低,不需要依賴于已創(chuàng)建的定時器的個數(shù);
⑵刪除定時器可以簡單地實現(xiàn)即清除其定時溢出回調(diào)函數(shù),而不用操作該定時器結(jié) 構(gòu),時間復雜度也為0(1);
⑶定時器溢出檢查大部分時間復雜度為0(1):軟件QoS用定時器的定時時間較短,絕大部部分在第一、二級時間輪內(nèi)解決;這個時間為常數(shù),因為根據(jù)該定時器管理模塊的結(jié)構(gòu),前兩級犧牲些內(nèi)存,使用復合結(jié)構(gòu)贏得了時間;只有不常見的長時間定時才會觸及三級以上,雖然三級以上的長定時事件在執(zhí)行前需要移到前兩級,但是這不經(jīng)常發(fā)生;
⑷良好的規(guī)模擴展性和限定的內(nèi)存使用因為三級以上為單時間輪,占據(jù)內(nèi)存空間有
限;
(5)周期定時器支持可以簡單地實現(xiàn)為當一次性定時器溢出后,創(chuàng)建新的一次性定時器。最后應說明的是以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進行了詳細的說明,對于本領域的技術人員來說,其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種定時器管理模塊,其特征在于,包括處理事件的緊急程度自前至后依次降低、且包含的時間單位自前至后依次增大的多級時間輪;在所述多級時間輪中,后級時間輪的始端,掛接在與該后級時間輪相鄰的前級時間輪的末端。
2.根據(jù)權(quán)利要求I所述的定時器管理模塊,其特征在于,所述多級時間輪,至少包括依次掛接的第一級時間輪、第二級時間輪與第三級時間輪,其中 所述第一級時間輪,用于采用單時間輪結(jié)構(gòu),對當前活躍的短定時事件,根據(jù)預先設定的緊急程序進行處理; 所述第二級時間輪,用于采用復合時間輪結(jié)構(gòu),對當前等待的短定時事件處理時機的緊急程序進行排布;并在相應短定時事件的處理時機到來時,將該相應短定時事件前移至第一級時間輪,根據(jù)第一級時間輪中預先設定的緊急程序進行處理; 所述第三級時間輪,用于采用單時間輪結(jié)構(gòu),對當前等待的長定時事件,根據(jù)預先設定的緊急程序依次遷移至第二級時間輪及第一級時間輪,根據(jù)第一級時間輪中預先設定的緊急程序進行處理。
3.根據(jù)權(quán)利要求2所述的定時器管理模塊,其特征在于,所述第一級時間輪,包括構(gòu)成單時間輪結(jié)構(gòu)、且分別對應定時器的分辨率時間單位的第I至第256時間槽,所述第I至第256時間槽的索引依次為0-255。
4.根據(jù)權(quán)利要求3所述的定時器管理模塊,其特征在于,在所述第I至第256時間槽中每個時間槽的下方,均掛接有與相應時間槽對應、且通過鏈表連接的定時事件。
5.根據(jù)權(quán)利要求2或3所述的定時器管理模塊,其特征在于,所述第二級時間輪,包括構(gòu)成復合時間輪結(jié)構(gòu)的主時間輪,以及分別與所述主時間輪中每個時間槽對應、且依次掛接在所述主時間輪中多個時間槽下方的多個子時間輪。
6.根據(jù)權(quán)利要求5所述的定時器管理模塊,其特征在于,所述主時間輪,包括索引依次為0-63的第I至第64時間槽;所述主時間輪中的第I時間槽,與第一級時間輪的第256時間槽掛接; 所述多個子時間輪,包括依次掛接在第I至第64時間槽下方的第I至第64子時間輪。
7.根據(jù)權(quán)利要求6所述的定時器管理模塊,其特征在于,在所述第I至第64子時間輪中,每個子時間輪的結(jié)構(gòu)與第一級時間輪的結(jié)構(gòu)相同,即每個子時間輪包括索引依次為0-255的第I至第256時間槽。
8.根據(jù)權(quán)利要求7所述的定時器管理模塊,其特征在于,在所述第I至第256時間槽中每個時間槽的下方,均掛接有與相應時間槽對應、且通過鏈表連接的定時事件。
9.根據(jù)權(quán)利要求2或3或6所述的定時器管理模塊,其特征在于,所述第三級時間輪,包括構(gòu)成單時間輪結(jié)構(gòu)的第I至第64時間槽,所述第I至第64時間槽的索引依次為0-63 ;所述第三級時間輪的第I時間槽,與第二級時間輪中主時間輪的第64時間槽掛接。
10.根據(jù)權(quán)利要求9所述的定時器管理模塊,其特征在于,在所述第I至第64時間槽中每個時間槽的下方,均掛接有與相應時間槽對應的定時事件鏈; 與所述第I至第64時間槽對應的第I至第64定時事件鏈,用于在相應的處理時機到來時,根據(jù)預設的緊急程序前移至第二級時間輪中對應的子時間輪中,再根據(jù)第一級時間輪中預設的緊急程序進行處理。
全文摘要
本發(fā)明公開了一種定時器管理模塊,典型的應用包括軟件QoS、網(wǎng)絡數(shù)據(jù)流定時溢出管理等,包括處理事件的緊急程度自前至后依次降低、且包含的時間單位自前至后依次增大的多級時間輪;在所述多級時間輪中,后級時間輪的始端,掛接在與該后級時間輪相鄰的前級時間輪的末端。本發(fā)明所述定時器管理模塊,可以克服現(xiàn)有技術中占用內(nèi)存空間大、溢出檢查時間長與難以確定當前活躍事件的處理時機等缺陷,以實現(xiàn)占用內(nèi)存空間小、溢出檢查時間短、擴展性強、以及易確定當前活躍事件的處理時機的優(yōu)點。
文檔編號H04L29/06GK102752282SQ201210174020
公開日2012年10月24日 申請日期2012年5月30日 優(yōu)先權(quán)日2012年5月30日
發(fā)明者劉德明, 馬駿 申請人:蘇州云初網(wǎng)絡技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
北安市| 博罗县| 保康县| 赫章县| 英吉沙县| 滨海县| 衡阳县| 苏尼特左旗| 达州市| 嘉峪关市| 内江市| 抚松县| 会泽县| 沽源县| 江阴市| 德化县| 桓台县| 思茅市| 当雄县| 威信县| 德昌县| 阳高县| 海安县| 柳河县| 东兰县| 肇源县| 灵丘县| 建始县| 红安县| 青岛市| 鄂伦春自治旗| 涿州市| 乐昌市| 红桥区| 溆浦县| 习水县| 北宁市| 建水县| 敖汉旗| 巴林右旗| 毕节市|