一種用于網(wǎng)絡設備會話的時間隊列處理方法以及裝置的制造方法
【專利摘要】本發(fā)明公開一種用于網(wǎng)絡設備會話的時間隊列處理方法以及裝置。其中,所述方法包括:若網(wǎng)絡設備在預設時間內(nèi)創(chuàng)建至少一個會話,將至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中;若至少一個會話中的一個會話在預設的會話超時時間內(nèi)沒有接收到該會話的報文,在存儲該會話的會話信息的元素鏈表中刪除該會話;若至少一個會話中的一個會話在預設的會話超時時間內(nèi)接收到該會話的報文,每接收一次該會話的報文在元素鏈表中更新該會話的會話開始時間為當前時間,并根據(jù)當前時間與會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中。通過本發(fā)明,不僅可以大大節(jié)約網(wǎng)絡設備資源,而且還不會對網(wǎng)絡設備性能造成影響。
【專利說明】
一種用于網(wǎng)絡設備會話的時間隊列處理方法以及裝置
技術領域
[0001]本發(fā)明涉及網(wǎng)絡設備會話領域,具體地,涉及一種用于網(wǎng)絡設備會話的時間隊列處理方法以及裝置。
【背景技術】
[0002]網(wǎng)絡設備的系統(tǒng)中通常要創(chuàng)建定時器,以便在定時器達到預設時間時對某些操作做一些處理。以網(wǎng)絡設備中的會話為例,通常在建立會話后,會話會被保留一段時間(比如40秒),如果后續(xù)沒有該會話的報文,那么會話就在一段時間(比如40秒)后被刪除(以免占用資源),如果后續(xù)一直還有報文,那么會話要繼續(xù)被保留一段時間(比如40秒),且每收到一個報文,會話都需要重新在收到該報文的時間基礎上保留一段時間(比如40秒)?,F(xiàn)有的實現(xiàn)方式是,為會話創(chuàng)建定時器,設置會話超時時間,如果后續(xù)沒有報文了,那么當定時器達到會話超時時間時,會將會話刪除,如果后續(xù)還有報文,那么在定時器執(zhí)行時會設置讓定時器繼續(xù)等待會話超時時間后再執(zhí)行刪除操作。
[0003]然而,通過定時器的方式,在網(wǎng)絡設備內(nèi)的會話數(shù)量比較大時(比如,普通的網(wǎng)絡設備可能也會有幾百萬到上千萬的會話),可能會耗盡網(wǎng)絡設備系統(tǒng)內(nèi)的資源,而且當定時器比較多時,網(wǎng)絡設備系統(tǒng)的運行壓力也比較大,整體性能可能也會下降
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種用于網(wǎng)絡設備會話的時間隊列處理方法以及裝置。其中,所述方法不僅可以大大節(jié)約網(wǎng)絡設備資源,而且還不會對網(wǎng)絡設備性能造成影響。
[0005]為了實現(xiàn)上述目的,本發(fā)明提供一種用于網(wǎng)絡設備會話的時間隊列處理方法。所述方法包括:
[0006]若所述網(wǎng)絡設備在預設時間內(nèi)創(chuàng)建至少一個會話,將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中;
[0007]若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)沒有接收到該會話的報文,在存儲該會話的會話信息的元素鏈表中刪除該會話;
[0008]若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)接收到該會話的報文,每接收一次該會話的報文在所述元素鏈表中更新該會話的會話開始時間為當前時間,并根據(jù)所述當前時間與所述會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中。
[0009]可選地,所述將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中之前,所述方法還包括:
[0010]初始化所述網(wǎng)絡設備的時間桶數(shù)組,得到相鄰數(shù)組元素之間的時間間隔為一秒的預設數(shù)組,
[0011 ]其中,所述預設數(shù)組的每個元素包括第一指針和第二指針。
[0012]可選地,所述將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中,包括:
[0013]根據(jù)所述預設數(shù)組的當前索引指示當前處理的數(shù)組元素;
[0014]將該數(shù)組元素的下標加上預設的會話超時時間,得到第一數(shù)組元素;
[0015]將所述至少一個會話的會話信息分別存儲至所述第一數(shù)組元素中。
[0016]可選地,所述在存儲該會話的會話信息的元素鏈表中刪除該會話,包括:
[0017]遍歷所述元素鏈表,找到該會話的會話信息;
[0018]判斷所述會話信息中會話開始時間與當前時間的第二差值是否大于或等于預設的會話超時時間;
[0019]在判斷所述會話開始時間與當前時間的第二差值大于或等于預設的會話超時時間的情況下,在所述元素鏈表中刪除該會話。
[0020]可選地,所述根據(jù)所述當前時間與所述會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中,包括:
[0021]將當前存儲該會話的會話信息的數(shù)組元素的下標加上所述第一差值,得到第二數(shù)組元素;
[0022]將該會話的會話信息轉存到所述第二數(shù)組元素中。
[0023]可選地,所述會話信息包括會話開始時間。
[0024]相應地,本發(fā)明還提供一種用于網(wǎng)絡設備會話的時間隊列處理裝置。所述裝置包括:
[0025]存儲單元,用于若所述網(wǎng)絡設備在預設時間內(nèi)創(chuàng)建至少一個會話,將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中;
[0026]刪除單元,用于若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)沒有接收到該會話的報文,在存儲該會話的會話信息的元素鏈表中刪除該會話;
[0027]更新單元,用于若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)接收到該會話的報文,每接收一次該會話的報文在所述元素鏈表中更新該會話的會話開始時間為當前時間,并根據(jù)所述當前時間與所述會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中。
[0028]可選地,所述裝置還包括:
[0029]初始化單元,用于初始化所述網(wǎng)絡設備的時間桶數(shù)組,得到相鄰數(shù)組元素之間的時間間隔為一秒的預設數(shù)組,
[0030]其中,所述預設數(shù)組的每個元素包括第一指針和第二指針。
[0031]可選地,所述存儲單元,具體用于:
[0032]根據(jù)所述預設數(shù)組的當前索引指示當前處理的數(shù)組元素;
[0033]將該數(shù)組元素的下標加上預設的會話超時時間,得到第一數(shù)組元素;
[0034]將所述至少一個會話的會話信息分別存儲至所述第一數(shù)組元素中。
[0035]可選地,所述刪除單元,具體用于:
[0036]遍歷所述元素鏈表,找到該會話的會話信息;
[0037]判斷所述會話信息中會話開始時間與當前時間的第二差值是否大于或等于預設的會話超時時間;
[0038]在判斷所述會話開始時間與當前時間的第二差值大于或等于預設的會話超時時間的情況下,在所述元素鏈表中刪除該會話。
[0039]通過上述技術方案,在網(wǎng)絡設備在預設時間內(nèi)創(chuàng)建至少一個會話的情況下,將至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中;若至少一個會話中的一個會話在預設的會話超時時間內(nèi)沒有接收到該會話的報文,在存儲該會話的會話信息的元素鏈表中刪除該會話;若至少一個會話中的一個會話在預設的會話超時時間內(nèi)接收到該會話的報文,每接收一次該會話的報文在元素鏈表中更新該會話的會話開始時間為當前時間,并根據(jù)當前時間與會話開始時間的第一差值將該會話的會話信息轉存到預設數(shù)組的另一個元素中,不僅可以大大節(jié)約網(wǎng)絡設備資源,而且還不會對網(wǎng)絡設備性能造成影響。
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些圖獲得其他的附圖。
[0041]圖1是本發(fā)明一實施例提供的用于網(wǎng)絡設備會話的時間隊列處理方法的流程圖;
[0042]圖2是本發(fā)明一實施例提供的用于網(wǎng)絡設備會話的時間隊列處理裝置的結構示意圖。
【具體實施方式】
[0043]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0044]圖1是本發(fā)明一實施例提供的用于網(wǎng)絡設備會話的時間隊列處理方法的流程圖。如圖1所示,本發(fā)明一實施例提供的用于網(wǎng)絡設備會話的時間隊列處理方法包括:
[0045]在步驟SlOl中,若所述網(wǎng)絡設備在預設時間內(nèi)創(chuàng)建至少一個會話,將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中。
[0046]具體地,所述將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中,包括:根據(jù)所述預設數(shù)組的當前索引指示當前處理的數(shù)組元素;將該數(shù)組元素的下標加上預設的會話超時時間,得到第一數(shù)組元素;將所述至少一個會話的會話信息分別存儲至所述第一數(shù)組元素中。
[0047]更為具體地,所述將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中之前,所述方法還包括:初始化所述網(wǎng)絡設備的時間桶數(shù)組,得到相鄰數(shù)組元素之間的時間間隔為一秒的預設數(shù)組,其中,所述預設數(shù)組的每個元素包括第一指針和第二指針。
[0048]在具體的實施方式中,會話或者其他表項的操作通常都是秒級的,對于現(xiàn)有技術來說,定時器是以秒為單位的,而不是以毫秒或微秒為單位的。在單位換算中,I秒等于1000毫秒,而在計算機系統(tǒng)中,通常采用2的N次方來進行計算,這樣會容易很多,系統(tǒng)的性能也比較高??紤]到這里的定時器都是秒級的,如果存在一些毫秒的誤差,也是可以接受的。因此,有如下公式:1024毫秒?I秒,其中,1024 = 2的1次方。
[0049 ]初始化時設置支持的最大的時間間隔為2 ~ 20 (2的20次方)秒,這對于網(wǎng)絡設備的系統(tǒng)來說已經(jīng)足夠了。然后,初始化時間桶數(shù)組,數(shù)組大小為2~20,S卩bUcket[2~20]。這樣,相鄰的數(shù)組元素之間的時間間隔為I秒,也就是1024毫秒。數(shù)組中每個元素都包括了 prev指針和next指針。
[0050 ]其中,數(shù)組中每個元素的內(nèi)容是:
[0051]struct bucket
[0052]{
[0053]void*prev;
[0054]void*next;
[0055]}
[0056]以會話為例,如果I秒內(nèi)有多個會話時,這些會話對應的都是某個bucket的下標,比如bucket[N],通過bucket[N]中的prev和next指針就可以找到一秒內(nèi)的所有會話了。
[0057]其次,初始化當前索引currentjndex,表明當前正在處理數(shù)組中的哪個元素,即對應bucket的數(shù)組下表,bucket [N]。再創(chuàng)建一個線程,每隔一秒執(zhí)行一次,每次從current_index中讀取鏈表中存在的內(nèi)容,并執(zhí)行對應的更新或刪除操作。
[0058]當網(wǎng)絡設備創(chuàng)建會話后,記錄會話超時時間(單位是毫秒,因為網(wǎng)絡設備的系統(tǒng)可以方便的獲取毫秒),將會話超時時間由毫秒換算為秒,得到時間T,也就是從當前時刻起,T秒后,需要處理會話超時。
[0059]根據(jù)上述bucket時間桶數(shù)組的設置,該數(shù)組每個元素之間的時間間隔為I秒。因此,T秒后處理,也就是說在當前處理的current_index的基礎上加上T即可,也就是該會話信息放入到數(shù)組元素bucket[current_index+T]內(nèi)就可以了。
[0000]如果在I秒內(nèi),還創(chuàng)建了其它會話,那么就都可以放入到bucket[current_index+T]中,由于數(shù)組中每個元素都包括了prev指針和next指針。因此,這些會話實際上就通過鏈表互相連接到一起。
[0061]接著,在步驟S102中,若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)沒有接收到該會話的報文,在存儲該會話的會話信息的元素鏈表中刪除該會話。
[0062]具體地,所述在存儲該會話的會話信息的元素鏈表中刪除該會話,包括:遍歷所述元素鏈表,找到該會話的會話信息;判斷所述會話信息中會話開始時間與當前時間的第二差值是否大于或等于預設的會話超時時間;在判斷所述會話開始時間與當前時間的第二差值大于或等于預設的會話超時時間的情況下,在所述元素鏈表中刪除該會話。
[0063]在具體的實施方式中,假設會話超時時間是60秒,那么如果60秒內(nèi),沒有接收到該會話的報文的后,線程會最終遍歷到該會話的鏈表,那么通過判斷當前時間和會話開始時間的差值,發(fā)現(xiàn)差值確實大于或等于60秒,那么會話就會在元素鏈表中被刪除。
[0064]最后,在步驟S103中,若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)接收到該會話的報文,每接收一次該會話的報文在所述元素鏈表中更新該會話的會話開始時間為當前時間,并根據(jù)所述當前時間與所述會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中。
[0065]具體地,所述根據(jù)所述當前時間與所述會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中,包括:將當前存儲該會話的會話信息的數(shù)組元素的下標加上所述第一差值,得到第二數(shù)組元素;將該會話的會話信息轉存到所述第二數(shù)組元素中。其中,所述會話信息包括會話開始時間。
[0066]在具體的實施方式中,假設在會話超時時間60秒內(nèi),能夠接收到該會話的報文,那么每來一次報文,就可以更新一下會話信息中的會話開始時間為當前時間。這樣,線程計算當前時間和會話開始時間的差值,必然會得到小于60秒的結果,這樣會話就不會被刪除。此夕卜,將當前存儲該會話信息的數(shù)組元素的下標加上該差值,便可得到用于轉存該會話信息的數(shù)組元素,然后,將該會話信息轉存至該數(shù)組元素中。
[0067]本實施例在網(wǎng)絡設備在預設時間內(nèi)創(chuàng)建至少一個會話的情況下,將至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中;若至少一個會話中的一個會話在預設的會話超時時間內(nèi)沒有接收到該會話的報文,在存儲該會話的會話信息的元素鏈表中刪除該會話;若至少一個會話中的一個會話在預設的會話超時時間內(nèi)接收到該會話的報文,每接收一次該會話的報文在元素鏈表中更新該會話的會話開始時間為當前時間,并根據(jù)當前時間與會話開始時間的第一差值將該會話的會話信息轉存到預設數(shù)組的另一個元素中。對于每個會話來說,不再需要創(chuàng)建各自的定時器了,節(jié)約了網(wǎng)絡設備的資源,大大提高了資源的利用率,且不會對網(wǎng)絡設備系統(tǒng)的性能造成影響。
[0068]對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
[0069]圖2是本發(fā)明一實施例提供的用于網(wǎng)絡設備會話的時間隊列處理裝置的結構示意圖。如圖2所示,本發(fā)明一實施例提供的用于網(wǎng)絡設備會話的時間隊列處理裝置包括:
[0070]存儲單元202,用于若所述網(wǎng)絡設備在預設時間內(nèi)創(chuàng)建至少一個會話,將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中;
[0071]刪除單元203,用于若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)沒有接收到該會話的報文,在存儲該會話的會話信息的元素鏈表中刪除該會話;
[0072]更新單元204,用于若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)接收到該會話的報文,每接收一次該會話的報文在所述元素鏈表中更新該會話的會話開始時間為當前時間,并根據(jù)所述當前時間與所述會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中。
[0073]在本發(fā)明一可選實施例中,所述裝置還包括:
[0074]初始化單元201,用于初始化所述網(wǎng)絡設備的時間桶數(shù)組,得到相鄰數(shù)組元素之間的時間間隔為一秒的預設數(shù)組,
[0075]其中,所述預設數(shù)組的每個元素包括第一指針和第二指針。
[0076]在本發(fā)明一可選實施例中,所述存儲單元202,具體用于:
[0077]根據(jù)所述預設數(shù)組的當前索引指示當前處理的數(shù)組元素;
[0078]將該數(shù)組元素的下標加上預設的會話超時時間,得到第一數(shù)組元素;
[0079]將所述至少一個會話的會話信息分別存儲至所述第一數(shù)組元素中。
[0080]在本發(fā)明一可選實施例中,所述刪除單元203,具體用于:[0081 ]遍歷所述元素鏈表,找到該會話的會話信息;
[0082]判斷所述會話信息中會話開始時間與當前時間的第二差值是否大于或等于預設的會話超時時間;
[0083]在判斷所述會話開始時間與當前時間的第二差值大于或等于預設的會話超時時間的情況下,在所述元素鏈表中刪除該會話。
[0084]對于本發(fā)明一實施例提供的用于網(wǎng)絡設備會話的時間隊列處理裝置中還涉及的具體細節(jié)已在本發(fā)明一實施例提供的用于網(wǎng)絡設備會話的時間隊列處理方法中作了詳細的描述,在此不再贅述。
[0085]應當注意的是,在本發(fā)明的系統(tǒng)的各個部件中,根據(jù)其要實現(xiàn)的功能而對其中的部件進行了邏輯劃分,但是,本發(fā)明不受限于此,可以根據(jù)需要對各個部件進行重新劃分或者組合,例如,可以將一些部件組合為單個部件,或者可以將一些部件進一步分解為更多的子部件。
[0086]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0087]應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0088]以上實施方式僅適于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
【主權項】
1.一種用于網(wǎng)絡設備會話的時間隊列處理方法,其特征在于,所述方法包括: 若所述網(wǎng)絡設備在預設時間內(nèi)創(chuàng)建至少一個會話,將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中; 若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)沒有接收到該會話的報文,在存儲該會話的會話信息的元素鏈表中刪除該會話; 若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)接收到該會話的報文,每接收一次該會話的報文在所述元素鏈表中更新該會話的會話開始時間為當前時間,并根據(jù)所述當前時間與所述會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中。2.根據(jù)權利要求1所述的用于網(wǎng)絡設備會話的時間隊列處理方法,其特征在于,所述將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中之前,所述方法還包括: 初始化所述網(wǎng)絡設備的時間桶數(shù)組,得到相鄰數(shù)組元素之間的時間間隔為一秒的預設數(shù)組, 其中,所述預設數(shù)組的每個元素包括第一指針和第二指針。3.根據(jù)權利要求1所述的用于網(wǎng)絡設備會話的時間隊列處理方法,其特征在于,所述將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中,包括: 根據(jù)所述預設數(shù)組的當前索引指示當前處理的數(shù)組元素; 將該數(shù)組元素的下標加上預設的會話超時時間,得到第一數(shù)組元素; 將所述至少一個會話的會話信息分別存儲至所述第一數(shù)組元素中。4.根據(jù)權利要求1所述的用于網(wǎng)絡設備會話的時間隊列處理方法,其特征在于,所述在存儲該會話的會話信息的元素鏈表中刪除該會話,包括: 遍歷所述元素鏈表,找到該會話的會話信息; 判斷所述會話信息中會話開始時間與當前時間的第二差值是否大于或等于預設的會話超時時間; 在判斷所述會話開始時間與當前時間的第二差值大于或等于預設的會話超時時間的情況下,在所述元素鏈表中刪除該會話。5.根據(jù)權利要求1所述的用于網(wǎng)絡設備會話的時間隊列處理方法,其特征在于,所述根據(jù)所述當前時間與所述會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中,包括: 將當前存儲該會話的會話信息的數(shù)組元素的下標加上所述第一差值,得到第二數(shù)組元素; 將該會話的會話信息轉存到所述第二數(shù)組元素中。6.根據(jù)權利要求1-5中任意一項權利要求所述的用于網(wǎng)絡設備會話的時間隊列處理方法,其特征在于,所述會話信息包括會話開始時間。7.—種用于網(wǎng)絡設備會話的時間隊列處理裝置,其特征在于,所述裝置包括: 存儲單元,用于若所述網(wǎng)絡設備在預設時間內(nèi)創(chuàng)建至少一個會話,將所述至少一個會話的會話信息分別存儲至預設數(shù)組對應的一個元素中; 刪除單元,用于若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)沒有接收到該會話的報文,在存儲該會話的會話信息的元素鏈表中刪除該會話; 更新單元,用于若所述至少一個會話中的一個會話在預設的會話超時時間內(nèi)接收到該會話的報文,每接收一次該會話的報文在所述元素鏈表中更新該會話的會話開始時間為當前時間,并根據(jù)所述當前時間與所述會話開始時間的第一差值將該會話的會話信息轉存到所述預設數(shù)組的另一個元素中。8.根據(jù)權利要求7所述的用于網(wǎng)絡設備會話的時間隊列處理裝置,其特征在于,所述裝置還包括: 初始化單元,用于初始化所述網(wǎng)絡設備的時間桶數(shù)組,得到相鄰數(shù)組元素之間的時間間隔為一秒的預設數(shù)組, 其中,所述預設數(shù)組的每個元素包括第一指針和第二指針。9.根據(jù)權利要求7所述的用于網(wǎng)絡設備會話的時間隊列處理裝置,其特征在于,所述存儲單元,具體用于: 根據(jù)所述預設數(shù)組的當前索引指示當前處理的數(shù)組元素; 將該數(shù)組元素的下標加上預設的會話超時時間,得到第一數(shù)組元素; 將所述至少一個會話的會話信息分別存儲至所述第一數(shù)組元素中。10.根據(jù)權利要求7所述的用于網(wǎng)絡設備會話的時間隊列處理裝置,其特征在于,所述刪除單元,具體用于: 遍歷所述元素鏈表,找到該會話的會話信息; 判斷所述會話信息中會話開始時間與當前時間的第二差值是否大于或等于預設的會話超時時間; 在判斷所述會話開始時間與當前時間的第二差值大于或等于預設的會話超時時間的情況下,在所述元素鏈表中刪除該會話。
【文檔編號】H04L29/08GK106059956SQ201610485955
【公開日】2016年10月26日
【申請日】2016年6月24日
【發(fā)明人】李鵬
【申請人】漢柏科技有限公司